From 5f9457b4af341a699706165c6b1b57f558df19cc Mon Sep 17 00:00:00 2001 From: Beastified <32767771+Beastifi3d@users.noreply.github.com> Date: Tue, 23 Mar 2021 17:34:26 +0700 Subject: [PATCH] Initial commit --- Procfile | 1 + README.md | 27 + config.json | 5 + index.js | 57 + node_modules/.bin/json5 | 15 + node_modules/.bin/json5.cmd | 17 + node_modules/.bin/json5.ps1 | 18 + node_modules/.bin/nearley-railroad | 15 + node_modules/.bin/nearley-railroad.cmd | 17 + node_modules/.bin/nearley-railroad.ps1 | 18 + node_modules/.bin/nearley-test | 15 + node_modules/.bin/nearley-test.cmd | 17 + node_modules/.bin/nearley-test.ps1 | 18 + node_modules/.bin/nearley-unparse | 15 + node_modules/.bin/nearley-unparse.cmd | 17 + node_modules/.bin/nearley-unparse.ps1 | 18 + node_modules/.bin/nearleyc | 15 + node_modules/.bin/nearleyc.cmd | 17 + node_modules/.bin/nearleyc.ps1 | 18 + node_modules/.bin/protodef-validator | 15 + node_modules/.bin/protodef-validator.cmd | 17 + node_modules/.bin/protodef-validator.ps1 | 18 + node_modules/.bin/uuid | 15 + node_modules/.bin/uuid.cmd | 17 + node_modules/.bin/uuid.ps1 | 18 + node_modules/@xboxreplay/errors/README.md | 3 + node_modules/@xboxreplay/errors/dist/index.js | 46 + node_modules/@xboxreplay/errors/index.d.ts | 45 + node_modules/@xboxreplay/errors/package.json | 59 + .../@xboxreplay/xboxlive-auth/LICENCE | 21 + .../@xboxreplay/xboxlive-auth/README.md | 77 + .../xboxlive-auth/dist/config.d.ts | 17 + .../@xboxreplay/xboxlive-auth/dist/config.js | 22 + .../xboxlive-auth/dist/core/live/config.d.ts | 16 + .../xboxlive-auth/dist/core/live/config.js | 21 + .../xboxlive-auth/dist/core/live/index.d.ts | 3 + .../xboxlive-auth/dist/core/live/index.js | 88 + .../dist/core/xboxlive/config.d.ts | 9 + .../dist/core/xboxlive/config.js | 10 + .../dist/core/xboxlive/index.d.ts | 5 + .../xboxlive-auth/dist/core/xboxlive/index.js | 113 + .../dist/core/xboxlive/signing.d.ts | 9 + .../dist/core/xboxlive/signing.js | 14 + .../@xboxreplay/xboxlive-auth/dist/index.d.ts | 63 + .../@xboxreplay/xboxlive-auth/dist/index.js | 24 + .../@xboxreplay/xboxlive-auth/package.json | 66 + node_modules/aes-js/LICENSE.txt | 22 + node_modules/aes-js/README.md | 406 + node_modules/aes-js/bower.json | 32 + node_modules/aes-js/index.js | 803 + node_modules/aes-js/package.json | 63 + node_modules/ajv/.tonic_example.js | 20 + node_modules/ajv/LICENSE | 22 + node_modules/ajv/README.md | 1497 + node_modules/ajv/dist/ajv.bundle.js | 7189 ++++ node_modules/ajv/dist/ajv.min.js | 3 + node_modules/ajv/dist/ajv.min.js.map | 1 + node_modules/ajv/lib/ajv.d.ts | 397 + node_modules/ajv/lib/ajv.js | 506 + node_modules/ajv/lib/cache.js | 26 + node_modules/ajv/lib/compile/async.js | 90 + node_modules/ajv/lib/compile/equal.js | 5 + node_modules/ajv/lib/compile/error_classes.js | 34 + node_modules/ajv/lib/compile/formats.js | 142 + node_modules/ajv/lib/compile/index.js | 387 + node_modules/ajv/lib/compile/resolve.js | 270 + node_modules/ajv/lib/compile/rules.js | 66 + node_modules/ajv/lib/compile/schema_obj.js | 9 + node_modules/ajv/lib/compile/ucs2length.js | 20 + node_modules/ajv/lib/compile/util.js | 239 + node_modules/ajv/lib/data.js | 49 + node_modules/ajv/lib/definition_schema.js | 37 + node_modules/ajv/lib/dot/_limit.jst | 113 + node_modules/ajv/lib/dot/_limitItems.jst | 12 + node_modules/ajv/lib/dot/_limitLength.jst | 12 + node_modules/ajv/lib/dot/_limitProperties.jst | 12 + node_modules/ajv/lib/dot/allOf.jst | 32 + node_modules/ajv/lib/dot/anyOf.jst | 46 + node_modules/ajv/lib/dot/coerce.def | 51 + node_modules/ajv/lib/dot/comment.jst | 9 + node_modules/ajv/lib/dot/const.jst | 11 + node_modules/ajv/lib/dot/contains.jst | 55 + node_modules/ajv/lib/dot/custom.jst | 191 + node_modules/ajv/lib/dot/defaults.def | 47 + node_modules/ajv/lib/dot/definitions.def | 203 + node_modules/ajv/lib/dot/dependencies.jst | 79 + node_modules/ajv/lib/dot/enum.jst | 30 + node_modules/ajv/lib/dot/errors.def | 194 + node_modules/ajv/lib/dot/format.jst | 106 + node_modules/ajv/lib/dot/if.jst | 73 + node_modules/ajv/lib/dot/items.jst | 98 + node_modules/ajv/lib/dot/missing.def | 39 + node_modules/ajv/lib/dot/multipleOf.jst | 22 + node_modules/ajv/lib/dot/not.jst | 43 + node_modules/ajv/lib/dot/oneOf.jst | 54 + node_modules/ajv/lib/dot/pattern.jst | 14 + node_modules/ajv/lib/dot/properties.jst | 245 + node_modules/ajv/lib/dot/propertyNames.jst | 52 + node_modules/ajv/lib/dot/ref.jst | 85 + node_modules/ajv/lib/dot/required.jst | 108 + node_modules/ajv/lib/dot/uniqueItems.jst | 62 + node_modules/ajv/lib/dot/validate.jst | 276 + node_modules/ajv/lib/dotjs/README.md | 3 + node_modules/ajv/lib/dotjs/_limit.js | 163 + node_modules/ajv/lib/dotjs/_limitItems.js | 80 + node_modules/ajv/lib/dotjs/_limitLength.js | 85 + .../ajv/lib/dotjs/_limitProperties.js | 80 + node_modules/ajv/lib/dotjs/allOf.js | 42 + node_modules/ajv/lib/dotjs/anyOf.js | 73 + node_modules/ajv/lib/dotjs/comment.js | 14 + node_modules/ajv/lib/dotjs/const.js | 56 + node_modules/ajv/lib/dotjs/contains.js | 81 + node_modules/ajv/lib/dotjs/custom.js | 228 + node_modules/ajv/lib/dotjs/dependencies.js | 168 + node_modules/ajv/lib/dotjs/enum.js | 66 + node_modules/ajv/lib/dotjs/format.js | 150 + node_modules/ajv/lib/dotjs/if.js | 103 + node_modules/ajv/lib/dotjs/index.js | 33 + node_modules/ajv/lib/dotjs/items.js | 140 + node_modules/ajv/lib/dotjs/multipleOf.js | 80 + node_modules/ajv/lib/dotjs/not.js | 84 + node_modules/ajv/lib/dotjs/oneOf.js | 73 + node_modules/ajv/lib/dotjs/pattern.js | 75 + node_modules/ajv/lib/dotjs/properties.js | 335 + node_modules/ajv/lib/dotjs/propertyNames.js | 81 + node_modules/ajv/lib/dotjs/ref.js | 124 + node_modules/ajv/lib/dotjs/required.js | 270 + node_modules/ajv/lib/dotjs/uniqueItems.js | 86 + node_modules/ajv/lib/dotjs/validate.js | 482 + node_modules/ajv/lib/keyword.js | 146 + node_modules/ajv/lib/refs/data.json | 17 + .../ajv/lib/refs/json-schema-draft-04.json | 149 + .../ajv/lib/refs/json-schema-draft-06.json | 154 + .../ajv/lib/refs/json-schema-draft-07.json | 168 + .../ajv/lib/refs/json-schema-secure.json | 94 + node_modules/ajv/package.json | 133 + node_modules/ajv/scripts/.eslintrc.yml | 3 + node_modules/ajv/scripts/bundle.js | 61 + node_modules/ajv/scripts/compile-dots.js | 73 + node_modules/ajv/scripts/info | 10 + node_modules/ajv/scripts/prepare-tests | 12 + .../ajv/scripts/publish-built-version | 32 + node_modules/ajv/scripts/travis-gh-pages | 23 + node_modules/asap/LICENSE.md | 20 + node_modules/asap/README.md | 81 + node_modules/asap/asap.js | 113 + node_modules/asap/package.json | 42 + node_modules/asn1/.npmignore | 2 + node_modules/asn1/.travis.yml | 4 + node_modules/asn1/LICENSE | 19 + node_modules/asn1/README.md | 50 + node_modules/asn1/lib/ber/errors.js | 13 + node_modules/asn1/lib/ber/index.js | 27 + node_modules/asn1/lib/ber/reader.js | 261 + node_modules/asn1/lib/ber/types.js | 36 + node_modules/asn1/lib/ber/writer.js | 316 + node_modules/asn1/lib/index.js | 20 + node_modules/asn1/package.json | 65 + node_modules/asn1/tst/ber/reader.test.js | 208 + node_modules/asn1/tst/ber/writer.test.js | 370 + node_modules/axios/CHANGELOG.md | 413 + node_modules/axios/LICENSE | 19 + node_modules/axios/README.md | 709 + node_modules/axios/UPGRADE_GUIDE.md | 162 + node_modules/axios/dist/axios.js | 1715 + node_modules/axios/dist/axios.map | 1 + node_modules/axios/dist/axios.min.js | 3 + node_modules/axios/dist/axios.min.map | 1 + node_modules/axios/index.d.ts | 157 + node_modules/axios/index.js | 1 + node_modules/axios/lib/adapters/README.md | 37 + node_modules/axios/lib/adapters/http.js | 279 + node_modules/axios/lib/adapters/xhr.js | 180 + node_modules/axios/lib/axios.js | 53 + node_modules/axios/lib/cancel/Cancel.js | 19 + node_modules/axios/lib/cancel/CancelToken.js | 57 + node_modules/axios/lib/cancel/isCancel.js | 5 + node_modules/axios/lib/core/Axios.js | 94 + .../axios/lib/core/InterceptorManager.js | 52 + node_modules/axios/lib/core/README.md | 7 + node_modules/axios/lib/core/buildFullPath.js | 20 + node_modules/axios/lib/core/createError.js | 18 + .../axios/lib/core/dispatchRequest.js | 79 + node_modules/axios/lib/core/enhanceError.js | 42 + node_modules/axios/lib/core/mergeConfig.js | 73 + node_modules/axios/lib/core/settle.js | 25 + node_modules/axios/lib/core/transformData.js | 20 + node_modules/axios/lib/defaults.js | 97 + node_modules/axios/lib/helpers/README.md | 7 + node_modules/axios/lib/helpers/bind.js | 11 + node_modules/axios/lib/helpers/buildURL.js | 71 + node_modules/axios/lib/helpers/combineURLs.js | 14 + node_modules/axios/lib/helpers/cookies.js | 53 + .../axios/lib/helpers/deprecatedMethod.js | 24 + .../axios/lib/helpers/isAbsoluteURL.js | 14 + .../axios/lib/helpers/isURLSameOrigin.js | 68 + .../axios/lib/helpers/normalizeHeaderName.js | 12 + .../axios/lib/helpers/parseHeaders.js | 53 + node_modules/axios/lib/helpers/spread.js | 27 + node_modules/axios/lib/utils.js | 344 + node_modules/axios/package.json | 111 + node_modules/buffer-equal/.travis.yml | 4 + node_modules/buffer-equal/LICENSE | 18 + node_modules/buffer-equal/README.markdown | 62 + node_modules/buffer-equal/example/eq.js | 14 + node_modules/buffer-equal/index.js | 14 + node_modules/buffer-equal/package.json | 62 + node_modules/buffer-equal/test/eq.js | 35 + .../centra/.github/workflows/nodejs.yml | 26 + node_modules/centra/LICENSE | 21 + node_modules/centra/README.md | 138 + node_modules/centra/createRequest.js | 5 + node_modules/centra/model/CentraRequest.js | 187 + node_modules/centra/model/CentraResponse.js | 23 + node_modules/centra/package.json | 60 + node_modules/commander/CHANGELOG.md | 419 + node_modules/commander/LICENSE | 22 + node_modules/commander/Readme.md | 428 + node_modules/commander/index.js | 1224 + node_modules/commander/package.json | 70 + node_modules/commander/typings/index.d.ts | 310 + node_modules/config/History.md | 683 + node_modules/config/LICENSE | 19 + node_modules/config/README.md | 176 + node_modules/config/async.js | 70 + node_modules/config/defer.js | 23 + node_modules/config/lib/config.js | 1470 + node_modules/config/package.json | 81 + node_modules/config/parser.js | 358 + node_modules/config/raw.js | 15 + node_modules/debug/LICENSE | 19 + node_modules/debug/README.md | 455 + node_modules/debug/node_modules/ms/index.js | 162 + node_modules/debug/node_modules/ms/license.md | 21 + .../debug/node_modules/ms/package.json | 69 + node_modules/debug/node_modules/ms/readme.md | 60 + node_modules/debug/package.json | 101 + node_modules/debug/src/browser.js | 269 + node_modules/debug/src/common.js | 261 + node_modules/debug/src/index.js | 10 + node_modules/debug/src/node.js | 263 + node_modules/discontinuous-range/.npmignore | 28 + node_modules/discontinuous-range/.travis.yml | 4 + node_modules/discontinuous-range/LICENSE | 21 + node_modules/discontinuous-range/README.md | 23 + node_modules/discontinuous-range/index.js | 144 + node_modules/discontinuous-range/package.json | 55 + .../discontinuous-range/test/main-test.js | 96 + node_modules/endian-toggle/.travis.yml | 4 + node_modules/endian-toggle/LICENSE | 18 + node_modules/endian-toggle/example/bits.js | 5 + node_modules/endian-toggle/index.js | 20 + node_modules/endian-toggle/package.json | 62 + node_modules/endian-toggle/readme.markdown | 44 + node_modules/endian-toggle/test/bits.js | 19 + node_modules/event-promise/.npmignore | 1 + node_modules/event-promise/LICENSE | 21 + node_modules/event-promise/README.md | 47 + node_modules/event-promise/index.js | 19 + node_modules/event-promise/package.json | 50 + node_modules/fast-deep-equal/LICENSE | 21 + node_modules/fast-deep-equal/README.md | 96 + node_modules/fast-deep-equal/es6/index.d.ts | 2 + node_modules/fast-deep-equal/es6/index.js | 72 + node_modules/fast-deep-equal/es6/react.d.ts | 2 + node_modules/fast-deep-equal/es6/react.js | 79 + node_modules/fast-deep-equal/index.d.ts | 4 + node_modules/fast-deep-equal/index.js | 46 + node_modules/fast-deep-equal/package.json | 88 + node_modules/fast-deep-equal/react.d.ts | 2 + node_modules/fast-deep-equal/react.js | 53 + .../fast-json-stable-stringify/.eslintrc.yml | 26 + .../.github/FUNDING.yml | 1 + .../fast-json-stable-stringify/.travis.yml | 8 + .../fast-json-stable-stringify/LICENSE | 21 + .../fast-json-stable-stringify/README.md | 131 + .../benchmark/index.js | 31 + .../benchmark/test.json | 137 + .../example/key_cmp.js | 7 + .../example/nested.js | 3 + .../fast-json-stable-stringify/example/str.js | 3 + .../example/value_cmp.js | 7 + .../fast-json-stable-stringify/index.d.ts | 4 + .../fast-json-stable-stringify/index.js | 59 + .../fast-json-stable-stringify/package.json | 80 + .../fast-json-stable-stringify/test/cmp.js | 13 + .../fast-json-stable-stringify/test/nested.js | 44 + .../fast-json-stable-stringify/test/str.js | 46 + .../test/to-json.js | 22 + node_modules/follow-redirects/LICENSE | 18 + node_modules/follow-redirects/README.md | 155 + node_modules/follow-redirects/http.js | 1 + node_modules/follow-redirects/https.js | 1 + node_modules/follow-redirects/index.js | 322 + .../node_modules/debug/.coveralls.yml | 1 + .../node_modules/debug/.eslintrc | 14 + .../node_modules/debug/.npmignore | 9 + .../node_modules/debug/.travis.yml | 20 + .../node_modules/debug/CHANGELOG.md | 395 + .../node_modules/debug/LICENSE | 19 + .../node_modules/debug/Makefile | 58 + .../node_modules/debug/README.md | 368 + .../node_modules/debug/karma.conf.js | 70 + .../node_modules/debug/node.js | 1 + .../node_modules/debug/package.json | 82 + .../node_modules/debug/src/browser.js | 195 + .../node_modules/debug/src/debug.js | 225 + .../node_modules/debug/src/index.js | 10 + .../node_modules/debug/src/node.js | 186 + node_modules/follow-redirects/package.json | 98 + node_modules/fs/README.md | 9 + node_modules/fs/package.json | 46 + node_modules/inherits/LICENSE | 16 + node_modules/inherits/README.md | 42 + node_modules/inherits/inherits.js | 9 + node_modules/inherits/inherits_browser.js | 27 + node_modules/inherits/package.json | 61 + .../json-schema-traverse/.eslintrc.yml | 27 + node_modules/json-schema-traverse/.travis.yml | 8 + node_modules/json-schema-traverse/LICENSE | 21 + node_modules/json-schema-traverse/README.md | 83 + node_modules/json-schema-traverse/index.js | 89 + .../json-schema-traverse/package.json | 70 + .../json-schema-traverse/spec/.eslintrc.yml | 6 + .../spec/fixtures/schema.js | 125 + .../json-schema-traverse/spec/index.spec.js | 171 + node_modules/json5/CHANGELOG.md | 344 + node_modules/json5/LICENSE.md | 23 + node_modules/json5/README.md | 234 + node_modules/json5/dist/index.js | 1710 + node_modules/json5/dist/index.min.js | 1 + node_modules/json5/dist/index.min.mjs | 1 + node_modules/json5/dist/index.mjs | 1399 + node_modules/json5/lib/cli.js | 112 + node_modules/json5/lib/index.js | 9 + node_modules/json5/lib/parse.js | 1087 + node_modules/json5/lib/register.js | 13 + node_modules/json5/lib/require.js | 4 + node_modules/json5/lib/stringify.js | 261 + node_modules/json5/lib/unicode.js | 4 + node_modules/json5/lib/util.js | 35 + node_modules/json5/package.json | 110 + node_modules/lodash.get/LICENSE | 47 + node_modules/lodash.get/README.md | 18 + node_modules/lodash.get/index.js | 931 + node_modules/lodash.get/package.json | 70 + node_modules/lodash.merge/LICENSE | 47 + node_modules/lodash.merge/README.md | 18 + node_modules/lodash.merge/index.js | 1977 ++ node_modules/lodash.merge/package.json | 61 + node_modules/lodash.reduce/LICENSE | 47 + node_modules/lodash.reduce/README.md | 18 + node_modules/lodash.reduce/index.js | 2372 ++ node_modules/lodash.reduce/package.json | 69 + node_modules/macaddress/.editorconfig | 8 + .../.github/workflows/npmpublish.yml | 33 + node_modules/macaddress/.travis.yml | 29 + node_modules/macaddress/LICENSE | 21 + node_modules/macaddress/README.md | 149 + node_modules/macaddress/index.d.ts | 14 + node_modules/macaddress/index.js | 136 + .../macaddress/lib/getallinterfaces.js | 28 + node_modules/macaddress/lib/getmacaddress.js | 48 + .../macaddress/lib/networkinterfaces.js | 40 + .../lib/platform/getallinterfaces_linux.js | 20 + .../lib/platform/getallinterfaces_unix.js | 22 + .../lib/platform/getallinterfaces_windows.js | 22 + .../lib/platform/getmacaddress_linux.js | 12 + .../lib/platform/getmacaddress_unix.js | 17 + .../lib/platform/getmacaddress_windows.js | 29 + node_modules/macaddress/lib/util.js | 84 + node_modules/macaddress/package.json | 54 + node_modules/macaddress/test.js | 31 + .../minecraft-data/.github/workflows/ci.yml | 27 + .../.github/workflows/npm-publish.yml | 28 + node_modules/minecraft-data/.gitmodules | 3 + node_modules/minecraft-data/.gitpod.yml | 2 + node_modules/minecraft-data/README.md | 34 + .../minecraft-data/bin/generate_data.js | 24 + node_modules/minecraft-data/data.js | 838 + node_modules/minecraft-data/doc/api.md | 298 + node_modules/minecraft-data/doc/history.md | 416 + node_modules/minecraft-data/example.js | 45 + node_modules/minecraft-data/index.d.ts | 722 + node_modules/minecraft-data/index.js | 76 + node_modules/minecraft-data/lib/indexer.js | 37 + node_modules/minecraft-data/lib/indexes.js | 44 + node_modules/minecraft-data/lib/loader.js | 82 + .../minecraft-data/.github/workflows/ci.yml | 27 + .../minecraft-data/minecraft-data/README.md | 133 + .../minecraft-data/data/dataPaths.json | 837 + .../minecraft-data/data/pc/0.30c/blocks.json | 652 + .../data/pc/0.30c/protocol.json | 446 + .../minecraft-data/data/pc/0.30c/version.json | 5 + .../data/pc/1.10-pre1/protocol.json | 3571 ++ .../data/pc/1.10-pre1/version.json | 5 + .../data/pc/1.10.1/version.json | 5 + .../data/pc/1.10.2/version.json | 5 + .../minecraft-data/data/pc/1.10/biomes.json | 282 + .../data/pc/1.10/blockCollisionShapes.json | 294 + .../minecraft-data/data/pc/1.10/blocks.json | 5672 ++++ .../minecraft-data/data/pc/1.10/effects.json | 164 + .../data/pc/1.10/enchantments.json | 137 + .../minecraft-data/data/pc/1.10/entities.json | 638 + .../minecraft-data/data/pc/1.10/foods.json | 340 + .../data/pc/1.10/instruments.json | 22 + .../minecraft-data/data/pc/1.10/items.json | 2604 ++ .../minecraft-data/data/pc/1.10/language.json | 2899 ++ .../data/pc/1.10/materials.json | 61 + .../data/pc/1.10/particles.json | 190 + .../minecraft-data/data/pc/1.10/protocol.json | 3571 ++ .../minecraft-data/data/pc/1.10/recipes.json | 27415 ++++++++++++++++ .../minecraft-data/data/pc/1.10/version.json | 5 + .../minecraft-data/data/pc/1.10/windows.json | 229 + .../data/pc/1.11.2/protocolComments.json | 1877 ++ .../data/pc/1.11.2/version.json | 5 + .../minecraft-data/data/pc/1.11/biomes.json | 282 + .../data/pc/1.11/blockCollisionShapes.json | 316 + .../minecraft-data/data/pc/1.11/blocks.json | 5956 ++++ .../minecraft-data/data/pc/1.11/effects.json | 164 + .../data/pc/1.11/enchantments.json | 152 + .../minecraft-data/data/pc/1.11/entities.json | 1080 + .../minecraft-data/data/pc/1.11/foods.json | 358 + .../data/pc/1.11/instruments.json | 22 + .../minecraft-data/data/pc/1.11/items.json | 2714 ++ .../minecraft-data/data/pc/1.11/language.json | 3041 ++ .../data/pc/1.11/materials.json | 61 + .../data/pc/1.11/particles.json | 198 + .../minecraft-data/data/pc/1.11/protocol.json | 3576 ++ .../minecraft-data/data/pc/1.11/protocol.pds | 1126 + .../minecraft-data/data/pc/1.11/recipes.json | 7656 +++++ .../minecraft-data/data/pc/1.11/version.json | 5 + .../minecraft-data/data/pc/1.11/windows.json | 229 + .../data/pc/1.12-pre4/protocol.json | 3946 +++ .../data/pc/1.12-pre4/version.json | 5 + .../data/pc/1.12.1/protocol.json | 3936 +++ .../data/pc/1.12.1/version.json | 5 + .../data/pc/1.12.2/protocol.json | 3936 +++ .../data/pc/1.12.2/version.json | 5 + .../minecraft-data/data/pc/1.12/biomes.json | 282 + .../data/pc/1.12/blockCollisionShapes.json | 334 + .../minecraft-data/data/pc/1.12/blocks.json | 6532 ++++ .../minecraft-data/data/pc/1.12/effects.json | 164 + .../data/pc/1.12/enchantments.json | 152 + .../minecraft-data/data/pc/1.12/entities.json | 1100 + .../minecraft-data/data/pc/1.12/foods.json | 374 + .../data/pc/1.12/instruments.json | 42 + .../minecraft-data/data/pc/1.12/items.json | 2838 ++ .../minecraft-data/data/pc/1.12/language.json | 3303 ++ .../data/pc/1.12/materials.json | 61 + .../data/pc/1.12/particles.json | 198 + .../minecraft-data/data/pc/1.12/protocol.json | 3969 +++ .../minecraft-data/data/pc/1.12/recipes.json | 7456 +++++ .../minecraft-data/data/pc/1.12/version.json | 5 + .../minecraft-data/data/pc/1.12/windows.json | 229 + .../data/pc/1.13.1/commands.json | 13611 ++++++++ .../data/pc/1.13.1/protocol.json | 4745 +++ .../data/pc/1.13.1/version.json | 5 + .../data/pc/1.13.2-pre1/protocol.json | 4750 +++ .../data/pc/1.13.2-pre1/version.json | 5 + .../data/pc/1.13.2-pre2/protocol.json | 4750 +++ .../data/pc/1.13.2-pre2/version.json | 5 + .../minecraft-data/data/pc/1.13.2/biomes.json | 513 + .../data/pc/1.13.2/blockCollisionShapes.json | 843 + .../minecraft-data/data/pc/1.13.2/blocks.json | 18896 +++++++++++ .../data/pc/1.13.2/commands.json | 13611 ++++++++ .../data/pc/1.13.2/effects.json | 182 + .../data/pc/1.13.2/enchantments.json | 172 + .../data/pc/1.13.2/entities.json | 1194 + .../minecraft-data/data/pc/1.13.2/foods.json | 342 + .../data/pc/1.13.2/instruments.json | 42 + .../minecraft-data/data/pc/1.13.2/items.json | 4742 +++ .../data/pc/1.13.2/language.json | 3909 +++ .../data/pc/1.13.2/materials.json | 61 + .../data/pc/1.13.2/protocol.json | 4750 +++ .../data/pc/1.13.2/recipes.json | 12780 +++++++ .../data/pc/1.13.2/version.json | 5 + .../data/pc/1.13.2/windows.json | 229 + .../minecraft-data/data/pc/1.13/biomes.json | 513 + .../data/pc/1.13/blockCollisionShapes.json | 838 + .../minecraft-data/data/pc/1.13/blocks.json | 18729 +++++++++++ .../minecraft-data/data/pc/1.13/commands.json | 13611 ++++++++ .../minecraft-data/data/pc/1.13/effects.json | 182 + .../data/pc/1.13/enchantments.json | 172 + .../minecraft-data/data/pc/1.13/entities.json | 1194 + .../data/pc/1.13/instruments.json | 42 + .../minecraft-data/data/pc/1.13/items.json | 4712 +++ .../minecraft-data/data/pc/1.13/language.json | 3909 +++ .../data/pc/1.13/materials.json | 61 + .../data/pc/1.13/particles.json | 202 + .../minecraft-data/data/pc/1.13/protocol.json | 4741 +++ .../minecraft-data/data/pc/1.13/recipes.json | 12744 +++++++ .../minecraft-data/data/pc/1.13/version.json | 5 + .../minecraft-data/data/pc/1.13/windows.json | 229 + .../data/pc/1.14.1/commands.json | 13611 ++++++++ .../data/pc/1.14.1/protocol.json | 5021 +++ .../data/pc/1.14.1/version.json | 5 + .../data/pc/1.14.3/commands.json | 13611 ++++++++ .../data/pc/1.14.3/protocol.json | 5025 +++ .../data/pc/1.14.3/version.json | 5 + .../minecraft-data/data/pc/1.14.4/biomes.json | 527 + .../data/pc/1.14.4/blockCollisionShapes.json | 946 + .../data/pc/1.14.4/blockLoot.json | 8839 +++++ .../minecraft-data/data/pc/1.14.4/blocks.json | 22160 +++++++++++++ .../data/pc/1.14.4/commands.json | 13611 ++++++++ .../data/pc/1.14.4/effects.json | 200 + .../data/pc/1.14.4/entities.json | 1012 + .../data/pc/1.14.4/entityLoot.json | 1089 + .../minecraft-data/data/pc/1.14.4/foods.json | 392 + .../data/pc/1.14.4/instruments.json | 42 + .../minecraft-data/data/pc/1.14.4/items.json | 5264 +++ .../data/pc/1.14.4/language.json | 4328 +++ .../data/pc/1.14.4/materials.json | 61 + .../data/pc/1.14.4/protocol.json | 5052 +++ .../data/pc/1.14.4/recipes.json | 18483 +++++++++++ .../data/pc/1.14.4/version.json | 5 + .../data/pc/1.14.4/windows.json | 229 + .../minecraft-data/data/pc/1.14/biomes.json | 527 + .../data/pc/1.14/blockCollisionShapes.json | 946 + .../minecraft-data/data/pc/1.14/commands.json | 13611 ++++++++ .../minecraft-data/data/pc/1.14/entities.json | 1022 + .../minecraft-data/data/pc/1.14/items.json | 6141 ++++ .../minecraft-data/data/pc/1.14/language.json | 4320 +++ .../data/pc/1.14/particles.json | 234 + .../minecraft-data/data/pc/1.14/protocol.json | 5021 +++ .../minecraft-data/data/pc/1.14/recipes.json | 18483 +++++++++++ .../minecraft-data/data/pc/1.14/version.json | 5 + .../data/pc/1.15.1/commands.json | 13611 ++++++++ .../data/pc/1.15.1/protocol.json | 5072 +++ .../data/pc/1.15.1/version.json | 5 + .../minecraft-data/data/pc/1.15.2/biomes.json | 527 + .../data/pc/1.15.2/blockCollisionShapes.json | 950 + .../data/pc/1.15.2/blockLoot.json | 8928 +++++ .../minecraft-data/data/pc/1.15.2/blocks.json | 22283 +++++++++++++ .../data/pc/1.15.2/commands.json | 13611 ++++++++ .../data/pc/1.15.2/effects.json | 200 + .../data/pc/1.15.2/entities.json | 1032 + .../data/pc/1.15.2/entityLoot.json | 1093 + .../minecraft-data/data/pc/1.15.2/foods.json | 402 + .../data/pc/1.15.2/instruments.json | 66 + .../minecraft-data/data/pc/1.15.2/items.json | 5306 +++ .../data/pc/1.15.2/language.json | 4389 +++ .../data/pc/1.15.2/materials.json | 61 + .../data/pc/1.15.2/protocol.json | 5072 +++ .../data/pc/1.15.2/recipes.json | 18101 ++++++++++ .../data/pc/1.15.2/version.json | 5 + .../data/pc/1.15.2/windows.json | 229 + .../data/pc/1.15/blockCollisionShapes.json | 950 + .../minecraft-data/data/pc/1.15/commands.json | 13611 ++++++++ .../data/pc/1.15/particles.json | 250 + .../minecraft-data/data/pc/1.15/protocol.json | 5072 +++ .../minecraft-data/data/pc/1.15/version.json | 5 + .../data/pc/1.16-rc1/protocol.json | 5141 +++ .../data/pc/1.16-rc1/version.json | 5 + .../minecraft-data/data/pc/1.16.1/biomes.json | 555 + .../data/pc/1.16.1/blockCollisionShapes.json | 1941 ++ .../data/pc/1.16.1/blockLoot.json | 10058 ++++++ .../minecraft-data/data/pc/1.16.1/blocks.json | 25403 ++++++++++++++ .../data/pc/1.16.1/commands.json | 13611 ++++++++ .../data/pc/1.16.1/effects.json | 200 + .../data/pc/1.16.1/entities.json | 1072 + .../data/pc/1.16.1/entityLoot.json | 1144 + .../minecraft-data/data/pc/1.16.1/foods.json | 402 + .../data/pc/1.16.1/instruments.json | 66 + .../minecraft-data/data/pc/1.16.1/items.json | 5852 ++++ .../data/pc/1.16.1/language.json | 4756 +++ .../data/pc/1.16.1/materials.json | 61 + .../data/pc/1.16.1/protocol.json | 5141 +++ .../data/pc/1.16.1/recipes.json | 23499 +++++++++++++ .../data/pc/1.16.1/version.json | 5 + .../data/pc/1.16.1/windows.json | 229 + .../minecraft-data/data/pc/1.16.2/biomes.json | 555 + .../data/pc/1.16.2/blockLoot.json | 10058 ++++++ .../minecraft-data/data/pc/1.16.2/blocks.json | 25442 ++++++++++++++ .../data/pc/1.16.2/commands.json | 13611 ++++++++ .../data/pc/1.16.2/entities.json | 1082 + .../data/pc/1.16.2/entityLoot.json | 1148 + .../minecraft-data/data/pc/1.16.2/items.json | 5858 ++++ .../data/pc/1.16.2/loginPacket.json | 7143 ++++ .../data/pc/1.16.2/materials.json | 61 + .../data/pc/1.16.2/protocol.json | 5121 +++ .../data/pc/1.16.2/recipes.json | 23517 +++++++++++++ .../data/pc/1.16.2/version.json | 5 + .../data/pc/1.16.3/version.json | 5 + .../data/pc/1.16.4/version.json | 5 + .../minecraft-data/data/pc/1.16/commands.json | 13611 ++++++++ .../data/pc/1.16/loginPacket.json | 266 + .../data/pc/1.16/particles.json | 290 + .../minecraft-data/data/pc/1.16/protocol.json | 5141 +++ .../minecraft-data/data/pc/1.16/version.json | 5 + .../minecraft-data/data/pc/1.7/biomes.json | 282 + .../data/pc/1.7/blockCollisionShapes.json | 253 + .../minecraft-data/data/pc/1.7/blocks.json | 3785 +++ .../minecraft-data/data/pc/1.7/effects.json | 140 + .../data/pc/1.7/enchantments.json | 127 + .../minecraft-data/data/pc/1.7/entities.json | 500 + .../minecraft-data/data/pc/1.7/foods.json | 282 + .../data/pc/1.7/instruments.json | 22 + .../minecraft-data/data/pc/1.7/items.json | 2186 ++ .../minecraft-data/data/pc/1.7/language.json | 1579 + .../minecraft-data/data/pc/1.7/materials.json | 61 + .../minecraft-data/data/pc/1.7/particles.json | 170 + .../minecraft-data/data/pc/1.7/protocol.json | 2917 ++ .../minecraft-data/data/pc/1.7/version.json | 5 + .../minecraft-data/data/pc/1.7/windows.json | 229 + .../minecraft-data/data/pc/1.8/biomes.json | 282 + .../data/pc/1.8/blockCollisionShapes.json | 274 + .../minecraft-data/data/pc/1.8/blocks.json | 5165 +++ .../minecraft-data/data/pc/1.8/effects.json | 140 + .../data/pc/1.8/enchantments.json | 127 + .../minecraft-data/data/pc/1.8/entities.json | 580 + .../minecraft-data/data/pc/1.8/foods.json | 310 + .../data/pc/1.8/instruments.json | 22 + .../minecraft-data/data/pc/1.8/items.json | 2400 ++ .../minecraft-data/data/pc/1.8/language.json | 2552 ++ .../minecraft-data/data/pc/1.8/materials.json | 61 + .../minecraft-data/data/pc/1.8/particles.json | 170 + .../minecraft-data/data/pc/1.8/protocol.json | 3383 ++ .../minecraft-data/data/pc/1.8/recipes.json | 26871 +++++++++++++++ .../minecraft-data/data/pc/1.8/version.json | 5 + .../minecraft-data/data/pc/1.8/windows.json | 229 + .../data/pc/1.9.1-pre2/protocol.json | 3593 ++ .../data/pc/1.9.1-pre2/version.json | 5 + .../data/pc/1.9.2/protocol.json | 3593 ++ .../data/pc/1.9.2/protocolComments.json | 2531 ++ .../minecraft-data/data/pc/1.9.2/version.json | 5 + .../data/pc/1.9.4/protocol.json | 3575 ++ .../minecraft-data/data/pc/1.9.4/version.json | 5 + .../minecraft-data/data/pc/1.9/biomes.json | 282 + .../data/pc/1.9/blockCollisionShapes.json | 294 + .../minecraft-data/data/pc/1.9/blocks.json | 5672 ++++ .../minecraft-data/data/pc/1.9/effects.json | 164 + .../data/pc/1.9/enchantments.json | 137 + .../minecraft-data/data/pc/1.9/entities.json | 638 + .../minecraft-data/data/pc/1.9/foods.json | 340 + .../data/pc/1.9/instruments.json | 22 + .../minecraft-data/data/pc/1.9/items.json | 2604 ++ .../minecraft-data/data/pc/1.9/language.json | 2860 ++ .../minecraft-data/data/pc/1.9/materials.json | 61 + .../minecraft-data/data/pc/1.9/particles.json | 186 + .../minecraft-data/data/pc/1.9/protocol.json | 3593 ++ .../minecraft-data/data/pc/1.9/recipes.json | 27415 ++++++++++++++++ .../minecraft-data/data/pc/1.9/version.json | 5 + .../minecraft-data/data/pc/1.9/windows.json | 229 + .../data/pc/15w40b/particles.json | 186 + .../data/pc/15w40b/protocol.json | 3456 ++ .../data/pc/15w40b/version.json | 5 + .../data/pc/16w20a/protocol.json | 3575 ++ .../data/pc/16w20a/version.json | 5 + .../data/pc/16w35a/protocol.json | 3575 ++ .../data/pc/16w35a/version.json | 5 + .../data/pc/17w15a/protocol.json | 3914 +++ .../data/pc/17w15a/version.json | 5 + .../data/pc/17w18b/protocol.json | 3908 +++ .../data/pc/17w18b/version.json | 5 + .../data/pc/17w50a/particles.json | 178 + .../data/pc/17w50a/protocol.json | 4295 +++ .../data/pc/17w50a/version.json | 5 + .../data/pc/20w13b/particles.json | 286 + .../data/pc/20w13b/protocol.json | 5080 +++ .../data/pc/20w13b/version.json | 5 + .../data/pc/20w14a/version.json | 5 + .../data/pc/common/protocolVersions.json | 3373 ++ .../data/pc/common/versions.json | 45 + .../minecraft-data/data/pe/0.14/blocks.json | 4512 +++ .../minecraft-data/data/pe/0.14/items.json | 1908 ++ .../minecraft-data/data/pe/0.14/protocol.json | 1977 ++ .../minecraft-data/data/pe/0.14/version.json | 5 + .../minecraft-data/data/pe/0.15/blocks.json | 5005 +++ .../minecraft-data/data/pe/0.15/items.json | 2152 ++ .../minecraft-data/data/pe/0.15/protocol.json | 1966 ++ .../minecraft-data/data/pe/0.15/version.json | 5 + .../minecraft-data/data/pe/1.0/blocks.json | 5464 +++ .../minecraft-data/data/pe/1.0/items.json | 2344 ++ .../minecraft-data/data/pe/1.0/version.json | 5 + .../data/pe/common/protocolVersions.json | 17 + .../data/pe/common/versions.json | 5 + .../doc/add-data-new-version.md | 24 + .../doc/blockCollisionShapes.md | 73 + .../minecraft-data/doc/history.md | 338 + .../minecraft-data/doc/make-a-new-wrapper.md | 20 + .../minecraft-data/doc/recipes.md | 151 + .../minecraft-data/schemas/biomes_schema.json | 49 + .../schemas/blockCollisionShapes_schema.json | 52 + .../schemas/blockLoot_schema.json | 62 + .../minecraft-data/schemas/blocks_schema.json | 211 + .../schemas/commands_schema.json | 134 + .../schemas/effects_schema.json | 31 + .../schemas/enchantments_schema.json | 31 + .../schemas/entities_schema.json | 61 + .../schemas/entityLoot_schema.json | 54 + .../minecraft-data/schemas/foods_schema.json | 71 + .../schemas/instruments_schema.json | 26 + .../minecraft-data/schemas/items_schema.json | 54 + .../schemas/language_schema.json | 11 + .../schemas/materials_schema.json | 16 + .../schemas/particles_schema.json | 21 + .../schemas/protocolVersions_schema.json | 35 + .../protocol_types/entity_metadata_item.json | 15 + .../protocol_types/entity_metadata_loop.json | 16 + .../schemas/recipes_schema.json | 100 + .../schemas/version_schema.json | 20 + .../schemas/windows_schema.json | 78 + .../minecraft-data/tools/js/package.json | 17 + .../tools/js/test/audit_blockitems.js | 48 + .../tools/js/test/audit_blocks.js | 58 + .../tools/js/test/audit_items.js | 54 + .../tools/js/test/audit_recipes.js | 43 + .../tools/js/test/audit_shapes.js | 94 + .../minecraft-data/tools/js/test/test.js | 59 + .../tools/js/test/version_iterator.js | 14 + node_modules/minecraft-data/package.json | 76 + node_modules/minecraft-data/test/load.js | 11 + node_modules/minecraft-data/tsconfig.json | 18 + .../typings/generate-typings.js | 40 + .../typings/index-template.d.ts | 96 + .../minecraft-data/typings/test-typings.ts | 45 + node_modules/minecraft-folder-path/.jshintrc | 3 + node_modules/minecraft-folder-path/.npmignore | 42 + node_modules/minecraft-folder-path/LICENSE | 7 + node_modules/minecraft-folder-path/README.md | 31 + node_modules/minecraft-folder-path/index.js | 21 + .../minecraft-folder-path/package.json | 58 + .../.github/ISSUE_TEMPLATE/bug_report.md | 29 + .../.github/ISSUE_TEMPLATE/feature_request.md | 20 + .../.github/workflows/ci.yml | 34 + .../.github/workflows/npm-publish.yml | 25 + node_modules/minecraft-protocol/.gitpod.yml | 2 + node_modules/minecraft-protocol/LICENSE | 29 + node_modules/minecraft-protocol/README.md | 179 + .../minecraft-protocol/docs/.nojekyll | 0 node_modules/minecraft-protocol/docs/API.md | 260 + node_modules/minecraft-protocol/docs/CNAME | 1 + node_modules/minecraft-protocol/docs/FAQ.md | 20 + .../minecraft-protocol/docs/HISTORY.md | 543 + .../minecraft-protocol/docs/README.md | 179 + .../minecraft-protocol/docs/_sidebar.md | 6 + .../minecraft-protocol/docs/index.html | 24 + .../examples/client_auto/client_auto.js | 32 + .../examples/client_auto/package.json | 8 + .../examples/client_channel/client_channel.js | 22 + .../examples/client_channel/package.json | 8 + .../examples/client_chat/client_chat.js | 106 + .../examples/client_chat/package.json | 9 + .../client_custom_channel.js | 24 + .../client_custom_channel/package.json | 8 + .../client_custom_packets.js | 85 + .../client_custom_packets/package.json | 8 + .../examples/client_echo/client_echo.js | 35 + .../examples/client_echo/package.json | 8 + .../examples/client_electron/README.md | 4 + .../examples/client_electron/Window.js | 33 + .../examples/client_electron/main.js | 43 + .../examples/client_electron/package.json | 14 + .../client_electron/renderer/index.html | 24 + .../client_electron/renderer/index.js | 38 + .../client_http_proxy/client_http_proxy.js | 50 + .../examples/client_http_proxy/package.json | 9 + .../client_microsoft_auth.js | 32 + .../client_microsoft_auth/package.json | 8 + .../client_socks_proxy/client_socks_proxy.js | 58 + .../examples/client_socks_proxy/package.json | 10 + .../examples/proxy/README.md | 30 + .../examples/proxy/package.json | 9 + .../examples/proxy/proxy.js | 179 + .../examples/server/package.json | 8 + .../examples/server/server.js | 89 + .../examples/server_channel/package.json | 8 + .../examples/server_channel/server_channel.js | 43 + .../server_custom_channel/package.json | 8 + .../server_custom_channel.js | 43 + .../examples/server_helloworld/package.json | 8 + .../server_helloworld/server_helloworld.js | 68 + .../examples/server_world/mc.js | 67 + .../examples/server_world/package.json | 11 + node_modules/minecraft-protocol/package.json | 94 + .../minecraft-protocol/src/browser.js | 14 + node_modules/minecraft-protocol/src/client.js | 237 + .../minecraft-protocol/src/client/auth.js | 175 + .../src/client/autoVersion.js | 57 + .../minecraft-protocol/src/client/compress.js | 9 + .../minecraft-protocol/src/client/encrypt.js | 68 + .../src/client/keepalive.js | 22 + .../src/client/microsoftAuth.js | 72 + .../minecraft-protocol/src/client/play.js | 11 + .../src/client/pluginChannels.js | 88 + .../src/client/setProtocol.js | 31 + .../minecraft-protocol/src/client/tcp_dns.js | 45 + .../src/client/versionChecking.js | 19 + .../minecraft-protocol/src/createClient.js | 49 + .../minecraft-protocol/src/createServer.js | 51 + .../src/datatypes/compiler-minecraft.js | 104 + .../src/datatypes/minecraft.js | 197 + .../minecraft-protocol/src/index.d.ts | 154 + node_modules/minecraft-protocol/src/index.js | 19 + node_modules/minecraft-protocol/src/ping.js | 69 + node_modules/minecraft-protocol/src/server.js | 64 + .../src/server/handshake.js | 27 + .../src/server/keepalive.js | 47 + .../minecraft-protocol/src/server/login.js | 129 + .../minecraft-protocol/src/server/ping.js | 70 + node_modules/minecraft-protocol/src/states.js | 10 + .../src/transforms/compression.js | 74 + .../src/transforms/encryption.js | 54 + .../src/transforms/framing.js | 74 + .../src/transforms/serializer.js | 47 + .../minecraft-protocol/src/version.js | 6 + .../minecraft-protocol/test/benchmark.js | 52 + .../minecraft-protocol/test/clientTest.js | 260 + .../test/common/parallel.js | 20 + .../minecraft-protocol/test/packetTest.js | 287 + .../minecraft-protocol/test/serverTest.js | 374 + .../.github/ISSUE_TEMPLATE/bug_report.md | 40 + .../.github/ISSUE_TEMPLATE/feature_request.md | 20 + .../.github/ISSUE_TEMPLATE/question.md | 43 + .../mineflayer/.github/workflows/ci.yml | 34 + .../.github/workflows/npm-publish.yml | 25 + node_modules/mineflayer/.gitpod.yml | 2 + node_modules/mineflayer/LICENSE | 21 + node_modules/mineflayer/README.md | 249 + node_modules/mineflayer/docs/.nojekyll | 0 node_modules/mineflayer/docs/CNAME | 1 + node_modules/mineflayer/docs/CONTRIBUTING.md | 75 + node_modules/mineflayer/docs/FAQ.md | 52 + node_modules/mineflayer/docs/README.md | 249 + node_modules/mineflayer/docs/README_ES.md | 231 + node_modules/mineflayer/docs/README_RU.md | 235 + node_modules/mineflayer/docs/_sidebar.md | 9 + node_modules/mineflayer/docs/api.md | 1857 ++ node_modules/mineflayer/docs/api_ru.md | 1614 + node_modules/mineflayer/docs/demos.md | 19 + node_modules/mineflayer/docs/history.md | 720 + node_modules/mineflayer/docs/index.html | 38 + node_modules/mineflayer/docs/tutorial.md | 717 + node_modules/mineflayer/docs/unstable_api.md | 18 + .../mineflayer/docs/unstable_api_ru.md | 23 + node_modules/mineflayer/examples/ansi.js | 22 + .../examples/anvil_saver/package.json | 9 + .../mineflayer/examples/anvil_saver/saver.js | 31 + .../mineflayer/examples/armor_stand.js | 61 + node_modules/mineflayer/examples/auto-eat.js | 35 + .../mineflayer/examples/auto_totem.js | 30 + node_modules/mineflayer/examples/bee.js | 38 + .../mineflayer/examples/block_entity.js | 49 + .../mineflayer/examples/blockfinder.js | 45 + node_modules/mineflayer/examples/book.js | 60 + .../mineflayer/examples/chatAddPattern.js | 72 + .../mineflayer/examples/chatterbox.js | 234 + node_modules/mineflayer/examples/chest.js | 488 + .../mineflayer/examples/collectblock.js | 64 + .../mineflayer/examples/command_block.js | 36 + node_modules/mineflayer/examples/digger.js | 134 + node_modules/mineflayer/examples/discord.js | 57 + node_modules/mineflayer/examples/echo.js | 26 + node_modules/mineflayer/examples/farmer.js | 72 + node_modules/mineflayer/examples/fisherman.js | 91 + node_modules/mineflayer/examples/graffiti.js | 73 + node_modules/mineflayer/examples/guard.js | 92 + node_modules/mineflayer/examples/inventory.js | 161 + node_modules/mineflayer/examples/jumper.js | 116 + node_modules/mineflayer/examples/looker.js | 30 + node_modules/mineflayer/examples/multiple.js | 26 + .../mineflayer/examples/perfectShotBow.js | 48 + node_modules/mineflayer/examples/quitter.js | 26 + node_modules/mineflayer/examples/raycast.js | 29 + .../mineflayer/examples/reconnector.js | 23 + node_modules/mineflayer/examples/repl.js | 23 + .../mineflayer/examples/scoreboard.js | 29 + node_modules/mineflayer/examples/session.js | 31 + .../mineflayer/examples/skin_blinker.js | 39 + node_modules/mineflayer/examples/sleeper.js | 64 + .../mineflayer/examples/tab_complete.js | 31 + node_modules/mineflayer/examples/trader.js | 179 + .../mineflayer/examples/viewer/README.md | 1 + .../mineflayer/examples/viewer/package.json | 9 + .../mineflayer/examples/viewer/viewer.js | 25 + node_modules/mineflayer/index.d.ts | 788 + node_modules/mineflayer/index.js | 134 + node_modules/mineflayer/lib/bossbar.js | 101 + node_modules/mineflayer/lib/chest.js | 39 + node_modules/mineflayer/lib/conversions.js | 40 + node_modules/mineflayer/lib/dispenser.js | 39 + .../mineflayer/lib/enchantment_table.js | 41 + node_modules/mineflayer/lib/features.json | 242 + node_modules/mineflayer/lib/furnace.js | 62 + node_modules/mineflayer/lib/iterators.js | 163 + node_modules/mineflayer/lib/location.js | 14 + node_modules/mineflayer/lib/math.js | 8 + node_modules/mineflayer/lib/painting.js | 7 + node_modules/mineflayer/lib/plugin_loader.js | 52 + node_modules/mineflayer/lib/plugins/bed.js | 179 + .../mineflayer/lib/plugins/block_actions.js | 97 + node_modules/mineflayer/lib/plugins/blocks.js | 507 + node_modules/mineflayer/lib/plugins/book.js | 103 + .../mineflayer/lib/plugins/boss_bar.js | 52 + node_modules/mineflayer/lib/plugins/chat.js | 140 + node_modules/mineflayer/lib/plugins/chest.js | 59 + .../mineflayer/lib/plugins/command_block.js | 128 + node_modules/mineflayer/lib/plugins/craft.js | 240 + .../mineflayer/lib/plugins/creative.js | 87 + .../mineflayer/lib/plugins/digging.js | 125 + .../mineflayer/lib/plugins/dispenser.js | 44 + .../lib/plugins/enchantment_table.js | 80 + .../mineflayer/lib/plugins/entities.js | 594 + .../mineflayer/lib/plugins/experience.js | 15 + .../mineflayer/lib/plugins/furnace.js | 102 + node_modules/mineflayer/lib/plugins/game.js | 80 + node_modules/mineflayer/lib/plugins/health.js | 31 + .../mineflayer/lib/plugins/inventory.js | 682 + node_modules/mineflayer/lib/plugins/kick.js | 14 + .../mineflayer/lib/plugins/physics.js | 270 + node_modules/mineflayer/lib/plugins/rain.js | 14 + .../mineflayer/lib/plugins/ray_trace.js | 37 + .../mineflayer/lib/plugins/scoreboard.js | 62 + .../mineflayer/lib/plugins/settings.js | 86 + .../lib/plugins/simple_inventory.js | 145 + node_modules/mineflayer/lib/plugins/sound.js | 24 + .../mineflayer/lib/plugins/spawn_point.js | 11 + .../mineflayer/lib/plugins/tablist.js | 26 + node_modules/mineflayer/lib/plugins/time.js | 21 + node_modules/mineflayer/lib/plugins/title.js | 9 + .../mineflayer/lib/plugins/villager.js | 197 + node_modules/mineflayer/lib/promise_utils.js | 44 + node_modules/mineflayer/lib/scoreboard.js | 52 + node_modules/mineflayer/lib/supportFeature.js | 27 + node_modules/mineflayer/lib/version.js | 4 + node_modules/mineflayer/lib/villager.js | 21 + node_modules/mineflayer/package.json | 78 + node_modules/minimist/.travis.yml | 8 + node_modules/minimist/LICENSE | 18 + node_modules/minimist/example/parse.js | 2 + node_modules/minimist/index.js | 245 + node_modules/minimist/package.json | 73 + node_modules/minimist/readme.markdown | 95 + node_modules/minimist/test/all_bool.js | 32 + node_modules/minimist/test/bool.js | 178 + node_modules/minimist/test/dash.js | 31 + node_modules/minimist/test/default_bool.js | 35 + node_modules/minimist/test/dotted.js | 22 + node_modules/minimist/test/kv_short.js | 16 + node_modules/minimist/test/long.js | 31 + node_modules/minimist/test/num.js | 36 + node_modules/minimist/test/parse.js | 197 + node_modules/minimist/test/parse_modified.js | 9 + node_modules/minimist/test/proto.js | 44 + node_modules/minimist/test/short.js | 67 + node_modules/minimist/test/stop_early.js | 15 + node_modules/minimist/test/unknown.js | 102 + node_modules/minimist/test/whitespace.js | 8 + node_modules/mojangson/.circleci/config.yml | 17 + node_modules/mojangson/README.md | 74 + node_modules/mojangson/example.js | 2 + node_modules/mojangson/grammar.js | 114 + node_modules/mojangson/grammar.ne | 75 + node_modules/mojangson/index.js | 15 + node_modules/mojangson/package.json | 61 + .../mojangson/test/additional.test.js | 21 + node_modules/mojangson/test/test.js | 41 + node_modules/mojangson/test/test001.json | 89 + node_modules/mojangson/test/test001.txt | 1 + node_modules/moo/LICENSE | 29 + node_modules/moo/README.md | 385 + node_modules/moo/moo.js | 600 + node_modules/moo/package.json | 66 + node_modules/ms/index.js | 152 + node_modules/ms/license.md | 21 + node_modules/ms/package.json | 69 + node_modules/ms/readme.md | 51 + node_modules/nearley/LICENSE.txt | 21 + node_modules/nearley/README.md | 80 + node_modules/nearley/bin/nearley-railroad.js | 121 + node_modules/nearley/bin/nearley-test.js | 64 + node_modules/nearley/bin/nearley-unparse.js | 29 + node_modules/nearley/bin/nearleyc.js | 38 + node_modules/nearley/builtin/cow.ne | 2 + node_modules/nearley/builtin/number.ne | 51 + .../nearley/builtin/postprocessors.ne | 36 + node_modules/nearley/builtin/string.ne | 26 + node_modules/nearley/builtin/whitespace.ne | 5 + node_modules/nearley/lib/compile.js | 307 + node_modules/nearley/lib/generate.js | 244 + node_modules/nearley/lib/lint.js | 28 + .../lib/nearley-language-bootstrapped.js | 132 + .../lib/nearley-language-bootstrapped.ne | 126 + node_modules/nearley/lib/nearley.js | 564 + node_modules/nearley/lib/stream.js | 18 + node_modules/nearley/lib/unparse.js | 139 + node_modules/nearley/package.json | 94 + node_modules/node-fetch/CHANGELOG.md | 272 + node_modules/node-fetch/LICENSE.md | 22 + node_modules/node-fetch/README.md | 590 + node_modules/node-fetch/browser.js | 25 + node_modules/node-fetch/lib/index.es.js | 1640 + node_modules/node-fetch/lib/index.js | 1649 + node_modules/node-fetch/lib/index.mjs | 1638 + node_modules/node-fetch/package.json | 93 + node_modules/node-rsa/.idea/.name | 1 + node_modules/node-rsa/.idea/compiler.xml | 22 + .../.idea/copyright/profiles_settings.xml | 3 + node_modules/node-rsa/.idea/encodings.xml | 6 + .../node-rsa/.idea/jsLibraryMappings.xml | 7 + .../.idea/libraries/node_rsa_node_modules.xml | 15 + node_modules/node-rsa/.idea/misc.xml | 40 + node_modules/node-rsa/.idea/modules.xml | 8 + node_modules/node-rsa/.idea/node-rsa.iml | 10 + node_modules/node-rsa/.idea/vcs.xml | 6 + node_modules/node-rsa/.idea/workspace.xml | 1439 + node_modules/node-rsa/.npmignore | 2 + node_modules/node-rsa/README.md | 353 + node_modules/node-rsa/_test.js | 82 + node_modules/node-rsa/gruntfile.js | 33 + node_modules/node-rsa/package.json | 70 + node_modules/node-rsa/src/NodeRSA.js | 398 + .../src/encryptEngines/encryptEngines.js | 17 + .../node-rsa/src/encryptEngines/io.js | 70 + .../node-rsa/src/encryptEngines/js.js | 34 + .../node-rsa/src/encryptEngines/node12.js | 56 + .../node-rsa/src/formats/components.js | 71 + node_modules/node-rsa/src/formats/formats.js | 96 + node_modules/node-rsa/src/formats/pkcs1.js | 143 + node_modules/node-rsa/src/formats/pkcs8.js | 182 + node_modules/node-rsa/src/libs/jsbn.js | 1540 + node_modules/node-rsa/src/libs/rsa.js | 316 + node_modules/node-rsa/src/schemes/oaep.js | 180 + node_modules/node-rsa/src/schemes/pkcs1.js | 232 + node_modules/node-rsa/src/schemes/pss.js | 183 + node_modules/node-rsa/src/schemes/schemes.js | 23 + node_modules/node-rsa/src/utils.js | 87 + node_modules/phin/LICENSE | 21 + node_modules/phin/README.md | 126 + node_modules/phin/lib/phin.js | 109 + node_modules/phin/package.json | 72 + node_modules/phin/types.d.ts | 103 + .../prismarine-biome/.github/workflows/ci.yml | 25 + .../.github/workflows/publish.yml | 25 + node_modules/prismarine-biome/README.md | 54 + node_modules/prismarine-biome/example.js | 5 + node_modules/prismarine-biome/index.d.ts | 10 + node_modules/prismarine-biome/index.js | 20 + node_modules/prismarine-biome/package.json | 64 + .../prismarine-block/.github/workflows/ci.yml | 25 + .../.github/workflows/npm-publish.yml | 25 + node_modules/prismarine-block/README.md | 189 + node_modules/prismarine-block/example.js | 20 + node_modules/prismarine-block/index.d.ts | 43 + node_modules/prismarine-block/index.js | 191 + node_modules/prismarine-block/package.json | 68 + .../prismarine-block/test/basic.test.js | 13 + .../prismarine-block/test/shape.test.js | 20 + .../prismarine-chat/.github/workflows/ci.yml | 25 + .../.github/workflows/publish.yml | 25 + node_modules/prismarine-chat/.gitpod | 2 + node_modules/prismarine-chat/HISTORY.md | 18 + node_modules/prismarine-chat/LICENSE | 21 + node_modules/prismarine-chat/README.md | 51 + node_modules/prismarine-chat/example.js | 4 + node_modules/prismarine-chat/index.js | 322 + node_modules/prismarine-chat/package.json | 64 + .../prismarine-chat/test/basic.test.js | 6 + .../prismarine-chunk/.github/workflows/ci.yml | 25 + .../.github/workflows/npm-publish.yml | 25 + node_modules/prismarine-chunk/.gitpod.yml | 2 + node_modules/prismarine-chunk/HISTORY.md | 158 + node_modules/prismarine-chunk/README.md | 162 + node_modules/prismarine-chunk/example.js | 14 + node_modules/prismarine-chunk/index.js | 1 + node_modules/prismarine-chunk/package.json | 90 + node_modules/prismarine-chunk/src/index.js | 33 + .../src/pc/1.13/ChunkColumn.js | 278 + .../src/pc/1.13/ChunkColumn.test.js | 68 + .../src/pc/1.13/ChunkSection.js | 196 + .../src/pc/1.13/ChunkSection.test.js | 38 + .../prismarine-chunk/src/pc/1.13/chunk.js | 13 + .../src/pc/1.14/ChunkColumn.js | 354 + .../src/pc/1.14/ChunkSection.js | 156 + .../prismarine-chunk/src/pc/1.14/chunk.js | 13 + .../src/pc/1.15/ChunkColumn.js | 338 + .../src/pc/1.15/ChunkSection.js | 156 + .../prismarine-chunk/src/pc/1.15/chunk.js | 13 + .../src/pc/1.16/ChunkColumn.js | 337 + .../src/pc/1.16/ChunkSection.js | 156 + .../prismarine-chunk/src/pc/1.16/chunk.js | 13 + .../prismarine-chunk/src/pc/1.8/chunk.js | 242 + .../prismarine-chunk/src/pc/1.8/section.js | 143 + .../src/pc/1.9/ChunkColumn.js | 268 + .../src/pc/1.9/ChunkSection.js | 200 + .../prismarine-chunk/src/pc/1.9/chunk.js | 13 + .../src/pc/common/BitArray.js | 128 + .../src/pc/common/BitArray.test.js | 143 + .../src/pc/common/BitArrayNoSpan.js | 145 + .../src/pc/common/constants.js | 36 + .../src/pc/common/neededBits.js | 10 + .../src/pc/common/neededBits.test.js | 16 + .../prismarine-chunk/src/pc/common/varInt.js | 45 + .../src/pc/common/varInt.test.js | 32 + .../prismarine-chunk/src/pe/0.14/chunk.js | 209 + .../prismarine-chunk/src/pe/1.0/chunk.js | 223 + .../prismarine-chunk/src/pe/1.0/subchunk.js | 76 + .../.github/workflows/ci.yml | 25 + .../.github/workflows/publish.yml | 25 + node_modules/prismarine-entity/README.md | 124 + node_modules/prismarine-entity/example.js | 5 + node_modules/prismarine-entity/index.d.ts | 39 + node_modules/prismarine-entity/index.js | 30 + node_modules/prismarine-entity/package.json | 62 + .../prismarine-item/.github/workflows/ci.yml | 25 + .../.github/workflows/npm-publish.yml | 25 + node_modules/prismarine-item/README.md | 101 + node_modules/prismarine-item/example.js | 21 + node_modules/prismarine-item/index.d.ts | 27 + node_modules/prismarine-item/index.js | 87 + node_modules/prismarine-item/package.json | 64 + .../prismarine-nbt/.circleci/config.yml | 17 + node_modules/prismarine-nbt/HISTORY.md | 45 + node_modules/prismarine-nbt/README.md | 52 + .../prismarine-nbt/bench/compiled_nbt.js | 66 + .../prismarine-nbt/compiler-compound.js | 55 + node_modules/prismarine-nbt/compound.js | 53 + node_modules/prismarine-nbt/nbt.js | 76 + node_modules/prismarine-nbt/nbt.json | 114 + node_modules/prismarine-nbt/package.json | 81 + node_modules/prismarine-nbt/sample/bigtest.js | 1135 + .../prismarine-nbt/sample/bigtest.nbt | Bin 0 -> 1544 bytes .../prismarine-nbt/sample/bigtest.nbt.gz | Bin 0 -> 507 bytes node_modules/prismarine-nbt/sample/level.dat | Bin 0 -> 483 bytes node_modules/prismarine-nbt/sample/sample.js | 15 + .../prismarine-nbt/sample/sampleLE.js | 13 + node_modules/prismarine-nbt/test/datatypes.js | 219 + node_modules/prismarine-nbt/test/nbt-spec.js | 79 + .../.github/workflows/ci.yml | 25 + .../.github/workflows/publish.yml | 25 + node_modules/prismarine-physics/.gitpod | 2 + node_modules/prismarine-physics/HISTORY.md | 37 + node_modules/prismarine-physics/LICENSE | 21 + node_modules/prismarine-physics/README.md | 91 + .../prismarine-physics/examples/basic.js | 51 + node_modules/prismarine-physics/index.js | 624 + node_modules/prismarine-physics/lib/aabb.js | 107 + .../prismarine-physics/lib/features.json | 22 + node_modules/prismarine-physics/lib/math.js | 3 + node_modules/prismarine-physics/package.json | 69 + .../prismarine-physics/test/basic.test.js | 62 + .../prismarine-recipe/.circleci/config.yml | 17 + .../.github/workflows/npm-publish.yml | 25 + node_modules/prismarine-recipe/README.md | 98 + node_modules/prismarine-recipe/example.js | 3 + node_modules/prismarine-recipe/index.d.ts | 29 + node_modules/prismarine-recipe/index.js | 8 + node_modules/prismarine-recipe/lib/recipe.js | 116 + .../prismarine-recipe/lib/recipe_item.js | 24 + node_modules/prismarine-recipe/package.json | 60 + .../.github/workflows/ci.yml | 25 + .../.github/workflows/npm-publish.yml | 25 + node_modules/prismarine-windows/README.md | 130 + node_modules/prismarine-windows/example.js | 8 + node_modules/prismarine-windows/index.d.ts | 55 + node_modules/prismarine-windows/index.js | 87 + node_modules/prismarine-windows/lib/Window.js | 235 + node_modules/prismarine-windows/package.json | 61 + node_modules/prismarine-world/.eslintrc | 7 + .../prismarine-world/.github/workflows/ci.yml | 28 + .../.github/workflows/publish.yml | 25 + node_modules/prismarine-world/README.md | 328 + .../prismarine-world/examples/anvil.js | 46 + node_modules/prismarine-world/examples/raw.js | 46 + node_modules/prismarine-world/index.js | 1 + node_modules/prismarine-world/package.json | 79 + node_modules/prismarine-world/src/world.js | 232 + .../prismarine-world/src/worldsync.js | 153 + node_modules/prismarine-world/test/test.js | 131 + node_modules/promise/.jshintrc | 5 + node_modules/promise/.npmignore | 6 + node_modules/promise/LICENSE | 19 + node_modules/promise/Readme.md | 211 + node_modules/promise/core.js | 105 + node_modules/promise/index.js | 180 + node_modules/promise/package.json | 56 + .../protodef-validator/.circleci/config.yml | 19 + node_modules/protodef-validator/.gitmodules | 3 + node_modules/protodef-validator/.gitpod.yml | 2 + .../protodef-validator/ProtoDef/README.md | 28 + .../ProtoDef/doc/datatypes.md | 292 + .../ProtoDef/doc/protocol.md | 10 + .../ProtoDef/schemas/conditional.json | 43 + .../ProtoDef/schemas/datatype.json | 42 + .../ProtoDef/schemas/definitions.json | 24 + .../ProtoDef/schemas/numeric.json | 22 + .../ProtoDef/schemas/protocol_schema.json | 27 + .../ProtoDef/schemas/structures.json | 95 + .../ProtoDef/schemas/utils.json | 114 + .../ProtoDef/test/conditional.json | 64 + .../ProtoDef/test/datatype_tests_schema.json | 96 + .../ProtoDef/test/numeric.json | 534 + .../ProtoDef/test/structures.json | 139 + .../ProtoDef/test/utils.json | 371 + node_modules/protodef-validator/README.md | 112 + node_modules/protodef-validator/cli.js | 19 + node_modules/protodef-validator/example.js | 8 + .../protodef-validator/example_protocol.json | 179 + node_modules/protodef-validator/index.js | 136 + node_modules/protodef-validator/package.json | 61 + node_modules/protodef/.circleci/config.yml | 19 + node_modules/protodef/.gitmodules | 3 + node_modules/protodef/.gitpod.yml | 2 + node_modules/protodef/LICENSE | 21 + node_modules/protodef/ProtoDef/README.md | 28 + .../protodef/ProtoDef/doc/datatypes.md | 292 + .../protodef/ProtoDef/doc/protocol.md | 10 + .../ProtoDef/schemas/conditional.json | 43 + .../protodef/ProtoDef/schemas/datatype.json | 42 + .../ProtoDef/schemas/definitions.json | 24 + .../protodef/ProtoDef/schemas/numeric.json | 22 + .../ProtoDef/schemas/protocol_schema.json | 27 + .../protodef/ProtoDef/schemas/structures.json | 95 + .../protodef/ProtoDef/schemas/utils.json | 114 + .../protodef/ProtoDef/test/conditional.json | 68 + .../ProtoDef/test/datatype_tests_schema.json | 96 + .../protodef/ProtoDef/test/numeric.json | 534 + .../protodef/ProtoDef/test/structures.json | 139 + .../protodef/ProtoDef/test/utils.json | 371 + node_modules/protodef/README.md | 47 + .../protodef/benchmark/benchmark_all_types.js | 84 + .../protodef/benchmark/benchmark_by_kind.js | 78 + .../benchmark/benchmark_by_subtype.js | 76 + .../protodef/benchmark/benchmark_by_test.js | 76 + .../protodef/benchmark/benchmark_by_type.js | 74 + .../protodef/benchmark/benchmark_unified.js | 46 + node_modules/protodef/doc/api.md | 115 + node_modules/protodef/doc/compiler.md | 207 + node_modules/protodef/doc/history.md | 191 + node_modules/protodef/doc/newDatatypes.md | 124 + node_modules/protodef/example.js | 82 + node_modules/protodef/examples/compiled.js | 58 + .../protodef/examples/error_handling.js | 33 + .../protodef/examples/example_protocol.json | 66 + .../protodef/examples/full_protocol.js | 29 + .../examples/full_protocol_example.json | 179 + node_modules/protodef/index.js | 1 + node_modules/protodef/package.json | 72 + node_modules/protodef/src/compiler.js | 422 + .../src/datatypes/compiler-conditional.js | 87 + .../src/datatypes/compiler-structures.js | 233 + .../protodef/src/datatypes/compiler-utils.js | 183 + .../protodef/src/datatypes/conditional.js | 56 + .../protodef/src/datatypes/numeric.js | 103 + .../protodef/src/datatypes/structures.js | 90 + node_modules/protodef/src/datatypes/utils.js | 260 + node_modules/protodef/src/index.js | 12 + node_modules/protodef/src/protodef.js | 164 + node_modules/protodef/src/serializer.js | 98 + node_modules/protodef/src/utils.js | 85 + .../protodef/test/dataTypes/datatypes.js | 86 + .../protodef/test/dataTypes/prepareTests.js | 66 + node_modules/punycode/LICENSE-MIT.txt | 20 + node_modules/punycode/README.md | 122 + node_modules/punycode/package.json | 85 + node_modules/punycode/punycode.es6.js | 441 + node_modules/punycode/punycode.js | 440 + node_modules/railroad-diagrams/.gitattributes | 22 + node_modules/railroad-diagrams/.npmignore | 163 + node_modules/railroad-diagrams/README.md | 86 + .../railroad-diagrams/css-example.py-js | 183 + node_modules/railroad-diagrams/example.html | 141 + node_modules/railroad-diagrams/generator.html | 59 + node_modules/railroad-diagrams/package.json | 50 + .../railroad-diagrams/railroad-diagrams.css | 23 + .../railroad-diagrams/railroad-diagrams.js | 524 + .../railroad-diagrams/railroad_diagrams.py | 427 + node_modules/randexp/LICENSE | 19 + node_modules/randexp/README.md | 134 + node_modules/randexp/lib/randexp.js | 245 + node_modules/randexp/package.json | 79 + node_modules/readable-stream/CONTRIBUTING.md | 38 + node_modules/readable-stream/GOVERNANCE.md | 136 + node_modules/readable-stream/LICENSE | 47 + node_modules/readable-stream/README.md | 106 + .../readable-stream/errors-browser.js | 127 + node_modules/readable-stream/errors.js | 116 + .../readable-stream/experimentalWarning.js | 17 + .../readable-stream/lib/_stream_duplex.js | 139 + .../lib/_stream_passthrough.js | 39 + .../readable-stream/lib/_stream_readable.js | 1124 + .../readable-stream/lib/_stream_transform.js | 201 + .../readable-stream/lib/_stream_writable.js | 697 + .../lib/internal/streams/async_iterator.js | 207 + .../lib/internal/streams/buffer_list.js | 210 + .../lib/internal/streams/destroy.js | 105 + .../lib/internal/streams/end-of-stream.js | 104 + .../lib/internal/streams/from-browser.js | 3 + .../lib/internal/streams/from.js | 64 + .../lib/internal/streams/pipeline.js | 97 + .../lib/internal/streams/state.js | 27 + .../lib/internal/streams/stream-browser.js | 1 + .../lib/internal/streams/stream.js | 1 + node_modules/readable-stream/package.json | 98 + .../readable-stream/readable-browser.js | 9 + node_modules/readable-stream/readable.js | 16 + node_modules/ret/LICENSE | 19 + node_modules/ret/README.md | 183 + node_modules/ret/lib/index.js | 282 + node_modules/ret/lib/positions.js | 17 + node_modules/ret/lib/sets.js | 82 + node_modules/ret/lib/types.js | 10 + node_modules/ret/lib/util.js | 111 + node_modules/ret/package.json | 67 + node_modules/safe-buffer/LICENSE | 21 + node_modules/safe-buffer/README.md | 584 + node_modules/safe-buffer/index.d.ts | 187 + node_modules/safe-buffer/index.js | 65 + node_modules/safe-buffer/package.json | 76 + node_modules/smart-buffer/.prettierrc.yaml | 5 + node_modules/smart-buffer/.travis.yml | 13 + node_modules/smart-buffer/LICENSE | 20 + node_modules/smart-buffer/README.md | 632 + .../smart-buffer/build/smartbuffer.js | 1233 + .../smart-buffer/build/smartbuffer.js.map | 1 + node_modules/smart-buffer/build/utils.js | 108 + node_modules/smart-buffer/build/utils.js.map | 1 + node_modules/smart-buffer/docs/CHANGELOG.md | 70 + node_modules/smart-buffer/docs/README_v3.md | 367 + node_modules/smart-buffer/docs/ROADMAP.md | 0 node_modules/smart-buffer/package.json | 104 + .../smart-buffer/typings/smartbuffer.d.ts | 755 + node_modules/smart-buffer/typings/utils.d.ts | 66 + node_modules/sprintf-js/CHANGELOG.md | 17 + node_modules/sprintf-js/CONTRIBUTORS.md | 25 + node_modules/sprintf-js/LICENSE | 24 + node_modules/sprintf-js/README.md | 143 + node_modules/sprintf-js/dist/.gitattributes | 4 + .../sprintf-js/dist/angular-sprintf.min.js | 3 + .../dist/angular-sprintf.min.js.map | 1 + node_modules/sprintf-js/dist/sprintf.min.js | 3 + .../sprintf-js/dist/sprintf.min.js.map | 1 + node_modules/sprintf-js/package.json | 63 + .../sprintf-js/src/angular-sprintf.js | 24 + node_modules/sprintf-js/src/sprintf.js | 231 + node_modules/string_decoder/LICENSE | 48 + node_modules/string_decoder/README.md | 47 + .../string_decoder/lib/string_decoder.js | 296 + node_modules/string_decoder/package.json | 62 + node_modules/typed-emitter/LICENSE | 21 + node_modules/typed-emitter/README.md | 78 + node_modules/typed-emitter/index.d.ts | 44 + node_modules/typed-emitter/package.json | 50 + node_modules/uint4/.npmignore | 1 + node_modules/uint4/README.md | 67 + node_modules/uint4/index.js | 44 + node_modules/uint4/package.json | 60 + node_modules/uint4/test/test.js | 109 + node_modules/uri-js/LICENSE | 11 + node_modules/uri-js/README.md | 201 + node_modules/uri-js/dist/es5/uri.all.d.ts | 59 + node_modules/uri-js/dist/es5/uri.all.js | 1443 + node_modules/uri-js/dist/es5/uri.all.js.map | 1 + node_modules/uri-js/dist/es5/uri.all.min.d.ts | 59 + node_modules/uri-js/dist/es5/uri.all.min.js | 3 + .../uri-js/dist/es5/uri.all.min.js.map | 1 + node_modules/uri-js/dist/esnext/index.d.ts | 1 + node_modules/uri-js/dist/esnext/index.js | 17 + node_modules/uri-js/dist/esnext/index.js.map | 1 + .../uri-js/dist/esnext/regexps-iri.d.ts | 3 + .../uri-js/dist/esnext/regexps-iri.js | 3 + .../uri-js/dist/esnext/regexps-iri.js.map | 1 + .../uri-js/dist/esnext/regexps-uri.d.ts | 4 + .../uri-js/dist/esnext/regexps-uri.js | 42 + .../uri-js/dist/esnext/regexps-uri.js.map | 1 + .../uri-js/dist/esnext/schemes/http.d.ts | 3 + .../uri-js/dist/esnext/schemes/http.js | 28 + .../uri-js/dist/esnext/schemes/http.js.map | 1 + .../uri-js/dist/esnext/schemes/https.d.ts | 3 + .../uri-js/dist/esnext/schemes/https.js | 9 + .../uri-js/dist/esnext/schemes/https.js.map | 1 + .../uri-js/dist/esnext/schemes/mailto.d.ts | 12 + .../uri-js/dist/esnext/schemes/mailto.js | 148 + .../uri-js/dist/esnext/schemes/mailto.js.map | 1 + .../uri-js/dist/esnext/schemes/urn-uuid.d.ts | 7 + .../uri-js/dist/esnext/schemes/urn-uuid.js | 23 + .../dist/esnext/schemes/urn-uuid.js.map | 1 + .../uri-js/dist/esnext/schemes/urn.d.ts | 10 + .../uri-js/dist/esnext/schemes/urn.js | 49 + .../uri-js/dist/esnext/schemes/urn.js.map | 1 + .../uri-js/dist/esnext/schemes/ws.d.ts | 7 + node_modules/uri-js/dist/esnext/schemes/ws.js | 41 + .../uri-js/dist/esnext/schemes/ws.js.map | 1 + .../uri-js/dist/esnext/schemes/wss.d.ts | 3 + .../uri-js/dist/esnext/schemes/wss.js | 9 + .../uri-js/dist/esnext/schemes/wss.js.map | 1 + node_modules/uri-js/dist/esnext/uri.d.ts | 59 + node_modules/uri-js/dist/esnext/uri.js | 480 + node_modules/uri-js/dist/esnext/uri.js.map | 1 + node_modules/uri-js/dist/esnext/util.d.ts | 6 + node_modules/uri-js/dist/esnext/util.js | 36 + node_modules/uri-js/dist/esnext/util.js.map | 1 + node_modules/uri-js/package.json | 105 + node_modules/uri-js/yarn.lock | 1923 ++ node_modules/user-settings-dir/.npmignore | 27 + node_modules/user-settings-dir/LICENSE | 20 + node_modules/user-settings-dir/README.md | 16 + node_modules/user-settings-dir/index.js | 40 + node_modules/user-settings-dir/package.json | 43 + node_modules/util-deprecate/History.md | 16 + node_modules/util-deprecate/LICENSE | 24 + node_modules/util-deprecate/README.md | 53 + node_modules/util-deprecate/browser.js | 67 + node_modules/util-deprecate/node.js | 6 + node_modules/util-deprecate/package.json | 56 + .../.github/workflows/npm-publish.yml | 47 + node_modules/uuid-1345/.travis.yml | 18 + node_modules/uuid-1345/LICENSE | 21 + node_modules/uuid-1345/README.md | 195 + .../uuid-1345/example-project/index.js | 17 + .../uuid-1345/example-project/package.json | 14 + node_modules/uuid-1345/examples/example1.js | 26 + node_modules/uuid-1345/examples/example2.js | 65 + node_modules/uuid-1345/examples/example3.js | 8 + node_modules/uuid-1345/gulpfile.js | 22 + node_modules/uuid-1345/index.js | 489 + node_modules/uuid-1345/package.json | 65 + node_modules/uuid-1345/test/UUID.js | 70 + node_modules/uuid-1345/test/util.js | 60 + node_modules/uuid-1345/test/v1.js | 66 + node_modules/uuid-1345/test/v3.js | 31 + node_modules/uuid-1345/test/v4.js | 56 + node_modules/uuid-1345/test/v5.js | 69 + node_modules/uuid/CHANGELOG.md | 229 + node_modules/uuid/CONTRIBUTING.md | 18 + node_modules/uuid/LICENSE.md | 9 + node_modules/uuid/README.md | 505 + node_modules/uuid/dist/bin/uuid | 2 + node_modules/uuid/dist/esm-browser/index.js | 9 + node_modules/uuid/dist/esm-browser/md5.js | 215 + node_modules/uuid/dist/esm-browser/nil.js | 1 + node_modules/uuid/dist/esm-browser/parse.js | 35 + node_modules/uuid/dist/esm-browser/regex.js | 1 + node_modules/uuid/dist/esm-browser/rng.js | 19 + node_modules/uuid/dist/esm-browser/sha1.js | 96 + .../uuid/dist/esm-browser/stringify.js | 30 + node_modules/uuid/dist/esm-browser/v1.js | 95 + node_modules/uuid/dist/esm-browser/v3.js | 4 + node_modules/uuid/dist/esm-browser/v35.js | 64 + node_modules/uuid/dist/esm-browser/v4.js | 24 + node_modules/uuid/dist/esm-browser/v5.js | 4 + .../uuid/dist/esm-browser/validate.js | 7 + node_modules/uuid/dist/esm-browser/version.js | 11 + node_modules/uuid/dist/esm-node/index.js | 9 + node_modules/uuid/dist/esm-node/md5.js | 13 + node_modules/uuid/dist/esm-node/nil.js | 1 + node_modules/uuid/dist/esm-node/parse.js | 35 + node_modules/uuid/dist/esm-node/regex.js | 1 + node_modules/uuid/dist/esm-node/rng.js | 12 + node_modules/uuid/dist/esm-node/sha1.js | 13 + node_modules/uuid/dist/esm-node/stringify.js | 29 + node_modules/uuid/dist/esm-node/v1.js | 95 + node_modules/uuid/dist/esm-node/v3.js | 4 + node_modules/uuid/dist/esm-node/v35.js | 64 + node_modules/uuid/dist/esm-node/v4.js | 24 + node_modules/uuid/dist/esm-node/v5.js | 4 + node_modules/uuid/dist/esm-node/validate.js | 7 + node_modules/uuid/dist/esm-node/version.js | 11 + node_modules/uuid/dist/index.js | 79 + node_modules/uuid/dist/md5-browser.js | 223 + node_modules/uuid/dist/md5.js | 23 + node_modules/uuid/dist/nil.js | 8 + node_modules/uuid/dist/parse.js | 45 + node_modules/uuid/dist/regex.js | 8 + node_modules/uuid/dist/rng-browser.js | 26 + node_modules/uuid/dist/rng.js | 24 + node_modules/uuid/dist/sha1-browser.js | 104 + node_modules/uuid/dist/sha1.js | 23 + node_modules/uuid/dist/stringify.js | 39 + node_modules/uuid/dist/umd/uuid.min.js | 1 + node_modules/uuid/dist/umd/uuidNIL.min.js | 1 + node_modules/uuid/dist/umd/uuidParse.min.js | 1 + .../uuid/dist/umd/uuidStringify.min.js | 1 + .../uuid/dist/umd/uuidValidate.min.js | 1 + node_modules/uuid/dist/umd/uuidVersion.min.js | 1 + node_modules/uuid/dist/umd/uuidv1.min.js | 1 + node_modules/uuid/dist/umd/uuidv3.min.js | 1 + node_modules/uuid/dist/umd/uuidv4.min.js | 1 + node_modules/uuid/dist/umd/uuidv5.min.js | 1 + node_modules/uuid/dist/uuid-bin.js | 85 + node_modules/uuid/dist/v1.js | 107 + node_modules/uuid/dist/v3.js | 16 + node_modules/uuid/dist/v35.js | 78 + node_modules/uuid/dist/v4.js | 37 + node_modules/uuid/dist/v5.js | 16 + node_modules/uuid/dist/validate.js | 17 + node_modules/uuid/dist/version.js | 21 + node_modules/uuid/package.json | 164 + node_modules/uuid/wrapper.mjs | 10 + node_modules/vec3/.github/workflows/ci.yml | 25 + .../vec3/.github/workflows/publish.yml | 25 + node_modules/vec3/.jshintrc | 73 + node_modules/vec3/HISTORY.md | 19 + node_modules/vec3/README.md | 83 + node_modules/vec3/index.d.ts | 79 + node_modules/vec3/index.js | 218 + node_modules/vec3/package.json | 54 + node_modules/vec3/test/test.js | 339 + node_modules/yggdrasil/.editorconfig | 12 + .../yggdrasil/.github/workflows/ci.yml | 25 + .../yggdrasil/.github/workflows/publish.yml | 25 + node_modules/yggdrasil/.gitpod.yml | 2 + node_modules/yggdrasil/HISTORY.md | 12 + node_modules/yggdrasil/LICENSE | 24 + node_modules/yggdrasil/README.md | 84 + node_modules/yggdrasil/es6.js | 6 + node_modules/yggdrasil/lib/Client.js | 95 + node_modules/yggdrasil/lib/Server.js | 64 + node_modules/yggdrasil/lib/index.js | 18 + node_modules/yggdrasil/lib/utils.js | 101 + node_modules/yggdrasil/package.json | 64 + node_modules/yggdrasil/test/index.js | 272 + package-lock.json | 522 + package.json | 16 + wakemydyno.txt | 1 + 1516 files changed, 1083403 insertions(+) create mode 100644 Procfile create mode 100644 README.md create mode 100644 config.json create mode 100644 index.js create mode 100644 node_modules/.bin/json5 create mode 100644 node_modules/.bin/json5.cmd create mode 100644 node_modules/.bin/json5.ps1 create mode 100644 node_modules/.bin/nearley-railroad create mode 100644 node_modules/.bin/nearley-railroad.cmd create mode 100644 node_modules/.bin/nearley-railroad.ps1 create mode 100644 node_modules/.bin/nearley-test create mode 100644 node_modules/.bin/nearley-test.cmd create mode 100644 node_modules/.bin/nearley-test.ps1 create mode 100644 node_modules/.bin/nearley-unparse create mode 100644 node_modules/.bin/nearley-unparse.cmd create mode 100644 node_modules/.bin/nearley-unparse.ps1 create mode 100644 node_modules/.bin/nearleyc create mode 100644 node_modules/.bin/nearleyc.cmd create mode 100644 node_modules/.bin/nearleyc.ps1 create mode 100644 node_modules/.bin/protodef-validator create mode 100644 node_modules/.bin/protodef-validator.cmd create mode 100644 node_modules/.bin/protodef-validator.ps1 create mode 100644 node_modules/.bin/uuid create mode 100644 node_modules/.bin/uuid.cmd create mode 100644 node_modules/.bin/uuid.ps1 create mode 100644 node_modules/@xboxreplay/errors/README.md create mode 100644 node_modules/@xboxreplay/errors/dist/index.js create mode 100644 node_modules/@xboxreplay/errors/index.d.ts create mode 100644 node_modules/@xboxreplay/errors/package.json create mode 100644 node_modules/@xboxreplay/xboxlive-auth/LICENCE create mode 100644 node_modules/@xboxreplay/xboxlive-auth/README.md create mode 100644 node_modules/@xboxreplay/xboxlive-auth/dist/config.d.ts create mode 100644 node_modules/@xboxreplay/xboxlive-auth/dist/config.js create mode 100644 node_modules/@xboxreplay/xboxlive-auth/dist/core/live/config.d.ts create mode 100644 node_modules/@xboxreplay/xboxlive-auth/dist/core/live/config.js create mode 100644 node_modules/@xboxreplay/xboxlive-auth/dist/core/live/index.d.ts create mode 100644 node_modules/@xboxreplay/xboxlive-auth/dist/core/live/index.js create mode 100644 node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/config.d.ts create mode 100644 node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/config.js create mode 100644 node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/index.d.ts create mode 100644 node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/index.js create mode 100644 node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/signing.d.ts create mode 100644 node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/signing.js create mode 100644 node_modules/@xboxreplay/xboxlive-auth/dist/index.d.ts create mode 100644 node_modules/@xboxreplay/xboxlive-auth/dist/index.js create mode 100644 node_modules/@xboxreplay/xboxlive-auth/package.json create mode 100644 node_modules/aes-js/LICENSE.txt create mode 100644 node_modules/aes-js/README.md create mode 100644 node_modules/aes-js/bower.json create mode 100644 node_modules/aes-js/index.js create mode 100644 node_modules/aes-js/package.json create mode 100644 node_modules/ajv/.tonic_example.js create mode 100644 node_modules/ajv/LICENSE create mode 100644 node_modules/ajv/README.md create mode 100644 node_modules/ajv/dist/ajv.bundle.js create mode 100644 node_modules/ajv/dist/ajv.min.js create mode 100644 node_modules/ajv/dist/ajv.min.js.map create mode 100644 node_modules/ajv/lib/ajv.d.ts create mode 100644 node_modules/ajv/lib/ajv.js create mode 100644 node_modules/ajv/lib/cache.js create mode 100644 node_modules/ajv/lib/compile/async.js create mode 100644 node_modules/ajv/lib/compile/equal.js create mode 100644 node_modules/ajv/lib/compile/error_classes.js create mode 100644 node_modules/ajv/lib/compile/formats.js create mode 100644 node_modules/ajv/lib/compile/index.js create mode 100644 node_modules/ajv/lib/compile/resolve.js create mode 100644 node_modules/ajv/lib/compile/rules.js create mode 100644 node_modules/ajv/lib/compile/schema_obj.js create mode 100644 node_modules/ajv/lib/compile/ucs2length.js create mode 100644 node_modules/ajv/lib/compile/util.js create mode 100644 node_modules/ajv/lib/data.js create mode 100644 node_modules/ajv/lib/definition_schema.js create mode 100644 node_modules/ajv/lib/dot/_limit.jst create mode 100644 node_modules/ajv/lib/dot/_limitItems.jst create mode 100644 node_modules/ajv/lib/dot/_limitLength.jst create mode 100644 node_modules/ajv/lib/dot/_limitProperties.jst create mode 100644 node_modules/ajv/lib/dot/allOf.jst create mode 100644 node_modules/ajv/lib/dot/anyOf.jst create mode 100644 node_modules/ajv/lib/dot/coerce.def create mode 100644 node_modules/ajv/lib/dot/comment.jst create mode 100644 node_modules/ajv/lib/dot/const.jst create mode 100644 node_modules/ajv/lib/dot/contains.jst create mode 100644 node_modules/ajv/lib/dot/custom.jst create mode 100644 node_modules/ajv/lib/dot/defaults.def create mode 100644 node_modules/ajv/lib/dot/definitions.def create mode 100644 node_modules/ajv/lib/dot/dependencies.jst create mode 100644 node_modules/ajv/lib/dot/enum.jst create mode 100644 node_modules/ajv/lib/dot/errors.def create mode 100644 node_modules/ajv/lib/dot/format.jst create mode 100644 node_modules/ajv/lib/dot/if.jst create mode 100644 node_modules/ajv/lib/dot/items.jst create mode 100644 node_modules/ajv/lib/dot/missing.def create mode 100644 node_modules/ajv/lib/dot/multipleOf.jst create mode 100644 node_modules/ajv/lib/dot/not.jst create mode 100644 node_modules/ajv/lib/dot/oneOf.jst create mode 100644 node_modules/ajv/lib/dot/pattern.jst create mode 100644 node_modules/ajv/lib/dot/properties.jst create mode 100644 node_modules/ajv/lib/dot/propertyNames.jst create mode 100644 node_modules/ajv/lib/dot/ref.jst create mode 100644 node_modules/ajv/lib/dot/required.jst create mode 100644 node_modules/ajv/lib/dot/uniqueItems.jst create mode 100644 node_modules/ajv/lib/dot/validate.jst create mode 100644 node_modules/ajv/lib/dotjs/README.md create mode 100644 node_modules/ajv/lib/dotjs/_limit.js create mode 100644 node_modules/ajv/lib/dotjs/_limitItems.js create mode 100644 node_modules/ajv/lib/dotjs/_limitLength.js create mode 100644 node_modules/ajv/lib/dotjs/_limitProperties.js create mode 100644 node_modules/ajv/lib/dotjs/allOf.js create mode 100644 node_modules/ajv/lib/dotjs/anyOf.js create mode 100644 node_modules/ajv/lib/dotjs/comment.js create mode 100644 node_modules/ajv/lib/dotjs/const.js create mode 100644 node_modules/ajv/lib/dotjs/contains.js create mode 100644 node_modules/ajv/lib/dotjs/custom.js create mode 100644 node_modules/ajv/lib/dotjs/dependencies.js create mode 100644 node_modules/ajv/lib/dotjs/enum.js create mode 100644 node_modules/ajv/lib/dotjs/format.js create mode 100644 node_modules/ajv/lib/dotjs/if.js create mode 100644 node_modules/ajv/lib/dotjs/index.js create mode 100644 node_modules/ajv/lib/dotjs/items.js create mode 100644 node_modules/ajv/lib/dotjs/multipleOf.js create mode 100644 node_modules/ajv/lib/dotjs/not.js create mode 100644 node_modules/ajv/lib/dotjs/oneOf.js create mode 100644 node_modules/ajv/lib/dotjs/pattern.js create mode 100644 node_modules/ajv/lib/dotjs/properties.js create mode 100644 node_modules/ajv/lib/dotjs/propertyNames.js create mode 100644 node_modules/ajv/lib/dotjs/ref.js create mode 100644 node_modules/ajv/lib/dotjs/required.js create mode 100644 node_modules/ajv/lib/dotjs/uniqueItems.js create mode 100644 node_modules/ajv/lib/dotjs/validate.js create mode 100644 node_modules/ajv/lib/keyword.js create mode 100644 node_modules/ajv/lib/refs/data.json create mode 100644 node_modules/ajv/lib/refs/json-schema-draft-04.json create mode 100644 node_modules/ajv/lib/refs/json-schema-draft-06.json create mode 100644 node_modules/ajv/lib/refs/json-schema-draft-07.json create mode 100644 node_modules/ajv/lib/refs/json-schema-secure.json create mode 100644 node_modules/ajv/package.json create mode 100644 node_modules/ajv/scripts/.eslintrc.yml create mode 100644 node_modules/ajv/scripts/bundle.js create mode 100644 node_modules/ajv/scripts/compile-dots.js create mode 100644 node_modules/ajv/scripts/info create mode 100644 node_modules/ajv/scripts/prepare-tests create mode 100644 node_modules/ajv/scripts/publish-built-version create mode 100644 node_modules/ajv/scripts/travis-gh-pages create mode 100644 node_modules/asap/LICENSE.md create mode 100644 node_modules/asap/README.md create mode 100644 node_modules/asap/asap.js create mode 100644 node_modules/asap/package.json create mode 100644 node_modules/asn1/.npmignore create mode 100644 node_modules/asn1/.travis.yml create mode 100644 node_modules/asn1/LICENSE create mode 100644 node_modules/asn1/README.md create mode 100644 node_modules/asn1/lib/ber/errors.js create mode 100644 node_modules/asn1/lib/ber/index.js create mode 100644 node_modules/asn1/lib/ber/reader.js create mode 100644 node_modules/asn1/lib/ber/types.js create mode 100644 node_modules/asn1/lib/ber/writer.js create mode 100644 node_modules/asn1/lib/index.js create mode 100644 node_modules/asn1/package.json create mode 100644 node_modules/asn1/tst/ber/reader.test.js create mode 100644 node_modules/asn1/tst/ber/writer.test.js create mode 100644 node_modules/axios/CHANGELOG.md create mode 100644 node_modules/axios/LICENSE create mode 100644 node_modules/axios/README.md create mode 100644 node_modules/axios/UPGRADE_GUIDE.md create mode 100644 node_modules/axios/dist/axios.js create mode 100644 node_modules/axios/dist/axios.map create mode 100644 node_modules/axios/dist/axios.min.js create mode 100644 node_modules/axios/dist/axios.min.map create mode 100644 node_modules/axios/index.d.ts create mode 100644 node_modules/axios/index.js create mode 100644 node_modules/axios/lib/adapters/README.md create mode 100644 node_modules/axios/lib/adapters/http.js create mode 100644 node_modules/axios/lib/adapters/xhr.js create mode 100644 node_modules/axios/lib/axios.js create mode 100644 node_modules/axios/lib/cancel/Cancel.js create mode 100644 node_modules/axios/lib/cancel/CancelToken.js create mode 100644 node_modules/axios/lib/cancel/isCancel.js create mode 100644 node_modules/axios/lib/core/Axios.js create mode 100644 node_modules/axios/lib/core/InterceptorManager.js create mode 100644 node_modules/axios/lib/core/README.md create mode 100644 node_modules/axios/lib/core/buildFullPath.js create mode 100644 node_modules/axios/lib/core/createError.js create mode 100644 node_modules/axios/lib/core/dispatchRequest.js create mode 100644 node_modules/axios/lib/core/enhanceError.js create mode 100644 node_modules/axios/lib/core/mergeConfig.js create mode 100644 node_modules/axios/lib/core/settle.js create mode 100644 node_modules/axios/lib/core/transformData.js create mode 100644 node_modules/axios/lib/defaults.js create mode 100644 node_modules/axios/lib/helpers/README.md create mode 100644 node_modules/axios/lib/helpers/bind.js create mode 100644 node_modules/axios/lib/helpers/buildURL.js create mode 100644 node_modules/axios/lib/helpers/combineURLs.js create mode 100644 node_modules/axios/lib/helpers/cookies.js create mode 100644 node_modules/axios/lib/helpers/deprecatedMethod.js create mode 100644 node_modules/axios/lib/helpers/isAbsoluteURL.js create mode 100644 node_modules/axios/lib/helpers/isURLSameOrigin.js create mode 100644 node_modules/axios/lib/helpers/normalizeHeaderName.js create mode 100644 node_modules/axios/lib/helpers/parseHeaders.js create mode 100644 node_modules/axios/lib/helpers/spread.js create mode 100644 node_modules/axios/lib/utils.js create mode 100644 node_modules/axios/package.json create mode 100644 node_modules/buffer-equal/.travis.yml create mode 100644 node_modules/buffer-equal/LICENSE create mode 100644 node_modules/buffer-equal/README.markdown create mode 100644 node_modules/buffer-equal/example/eq.js create mode 100644 node_modules/buffer-equal/index.js create mode 100644 node_modules/buffer-equal/package.json create mode 100644 node_modules/buffer-equal/test/eq.js create mode 100644 node_modules/centra/.github/workflows/nodejs.yml create mode 100644 node_modules/centra/LICENSE create mode 100644 node_modules/centra/README.md create mode 100644 node_modules/centra/createRequest.js create mode 100644 node_modules/centra/model/CentraRequest.js create mode 100644 node_modules/centra/model/CentraResponse.js create mode 100644 node_modules/centra/package.json create mode 100644 node_modules/commander/CHANGELOG.md create mode 100644 node_modules/commander/LICENSE create mode 100644 node_modules/commander/Readme.md create mode 100644 node_modules/commander/index.js create mode 100644 node_modules/commander/package.json create mode 100644 node_modules/commander/typings/index.d.ts create mode 100644 node_modules/config/History.md create mode 100644 node_modules/config/LICENSE create mode 100644 node_modules/config/README.md create mode 100644 node_modules/config/async.js create mode 100644 node_modules/config/defer.js create mode 100644 node_modules/config/lib/config.js create mode 100644 node_modules/config/package.json create mode 100644 node_modules/config/parser.js create mode 100644 node_modules/config/raw.js create mode 100644 node_modules/debug/LICENSE create mode 100644 node_modules/debug/README.md create mode 100644 node_modules/debug/node_modules/ms/index.js create mode 100644 node_modules/debug/node_modules/ms/license.md create mode 100644 node_modules/debug/node_modules/ms/package.json create mode 100644 node_modules/debug/node_modules/ms/readme.md create mode 100644 node_modules/debug/package.json create mode 100644 node_modules/debug/src/browser.js create mode 100644 node_modules/debug/src/common.js create mode 100644 node_modules/debug/src/index.js create mode 100644 node_modules/debug/src/node.js create mode 100644 node_modules/discontinuous-range/.npmignore create mode 100644 node_modules/discontinuous-range/.travis.yml create mode 100644 node_modules/discontinuous-range/LICENSE create mode 100644 node_modules/discontinuous-range/README.md create mode 100644 node_modules/discontinuous-range/index.js create mode 100644 node_modules/discontinuous-range/package.json create mode 100644 node_modules/discontinuous-range/test/main-test.js create mode 100644 node_modules/endian-toggle/.travis.yml create mode 100644 node_modules/endian-toggle/LICENSE create mode 100644 node_modules/endian-toggle/example/bits.js create mode 100644 node_modules/endian-toggle/index.js create mode 100644 node_modules/endian-toggle/package.json create mode 100644 node_modules/endian-toggle/readme.markdown create mode 100644 node_modules/endian-toggle/test/bits.js create mode 100644 node_modules/event-promise/.npmignore create mode 100644 node_modules/event-promise/LICENSE create mode 100644 node_modules/event-promise/README.md create mode 100644 node_modules/event-promise/index.js create mode 100644 node_modules/event-promise/package.json create mode 100644 node_modules/fast-deep-equal/LICENSE create mode 100644 node_modules/fast-deep-equal/README.md create mode 100644 node_modules/fast-deep-equal/es6/index.d.ts create mode 100644 node_modules/fast-deep-equal/es6/index.js create mode 100644 node_modules/fast-deep-equal/es6/react.d.ts create mode 100644 node_modules/fast-deep-equal/es6/react.js create mode 100644 node_modules/fast-deep-equal/index.d.ts create mode 100644 node_modules/fast-deep-equal/index.js create mode 100644 node_modules/fast-deep-equal/package.json create mode 100644 node_modules/fast-deep-equal/react.d.ts create mode 100644 node_modules/fast-deep-equal/react.js create mode 100644 node_modules/fast-json-stable-stringify/.eslintrc.yml create mode 100644 node_modules/fast-json-stable-stringify/.github/FUNDING.yml create mode 100644 node_modules/fast-json-stable-stringify/.travis.yml create mode 100644 node_modules/fast-json-stable-stringify/LICENSE create mode 100644 node_modules/fast-json-stable-stringify/README.md create mode 100644 node_modules/fast-json-stable-stringify/benchmark/index.js create mode 100644 node_modules/fast-json-stable-stringify/benchmark/test.json create mode 100644 node_modules/fast-json-stable-stringify/example/key_cmp.js create mode 100644 node_modules/fast-json-stable-stringify/example/nested.js create mode 100644 node_modules/fast-json-stable-stringify/example/str.js create mode 100644 node_modules/fast-json-stable-stringify/example/value_cmp.js create mode 100644 node_modules/fast-json-stable-stringify/index.d.ts create mode 100644 node_modules/fast-json-stable-stringify/index.js create mode 100644 node_modules/fast-json-stable-stringify/package.json create mode 100644 node_modules/fast-json-stable-stringify/test/cmp.js create mode 100644 node_modules/fast-json-stable-stringify/test/nested.js create mode 100644 node_modules/fast-json-stable-stringify/test/str.js create mode 100644 node_modules/fast-json-stable-stringify/test/to-json.js create mode 100644 node_modules/follow-redirects/LICENSE create mode 100644 node_modules/follow-redirects/README.md create mode 100644 node_modules/follow-redirects/http.js create mode 100644 node_modules/follow-redirects/https.js create mode 100644 node_modules/follow-redirects/index.js create mode 100644 node_modules/follow-redirects/node_modules/debug/.coveralls.yml create mode 100644 node_modules/follow-redirects/node_modules/debug/.eslintrc create mode 100644 node_modules/follow-redirects/node_modules/debug/.npmignore create mode 100644 node_modules/follow-redirects/node_modules/debug/.travis.yml create mode 100644 node_modules/follow-redirects/node_modules/debug/CHANGELOG.md create mode 100644 node_modules/follow-redirects/node_modules/debug/LICENSE create mode 100644 node_modules/follow-redirects/node_modules/debug/Makefile create mode 100644 node_modules/follow-redirects/node_modules/debug/README.md create mode 100644 node_modules/follow-redirects/node_modules/debug/karma.conf.js create mode 100644 node_modules/follow-redirects/node_modules/debug/node.js create mode 100644 node_modules/follow-redirects/node_modules/debug/package.json create mode 100644 node_modules/follow-redirects/node_modules/debug/src/browser.js create mode 100644 node_modules/follow-redirects/node_modules/debug/src/debug.js create mode 100644 node_modules/follow-redirects/node_modules/debug/src/index.js create mode 100644 node_modules/follow-redirects/node_modules/debug/src/node.js create mode 100644 node_modules/follow-redirects/package.json create mode 100644 node_modules/fs/README.md create mode 100644 node_modules/fs/package.json create mode 100644 node_modules/inherits/LICENSE create mode 100644 node_modules/inherits/README.md create mode 100644 node_modules/inherits/inherits.js create mode 100644 node_modules/inherits/inherits_browser.js create mode 100644 node_modules/inherits/package.json create mode 100644 node_modules/json-schema-traverse/.eslintrc.yml create mode 100644 node_modules/json-schema-traverse/.travis.yml create mode 100644 node_modules/json-schema-traverse/LICENSE create mode 100644 node_modules/json-schema-traverse/README.md create mode 100644 node_modules/json-schema-traverse/index.js create mode 100644 node_modules/json-schema-traverse/package.json create mode 100644 node_modules/json-schema-traverse/spec/.eslintrc.yml create mode 100644 node_modules/json-schema-traverse/spec/fixtures/schema.js create mode 100644 node_modules/json-schema-traverse/spec/index.spec.js create mode 100644 node_modules/json5/CHANGELOG.md create mode 100644 node_modules/json5/LICENSE.md create mode 100644 node_modules/json5/README.md create mode 100644 node_modules/json5/dist/index.js create mode 100644 node_modules/json5/dist/index.min.js create mode 100644 node_modules/json5/dist/index.min.mjs create mode 100644 node_modules/json5/dist/index.mjs create mode 100644 node_modules/json5/lib/cli.js create mode 100644 node_modules/json5/lib/index.js create mode 100644 node_modules/json5/lib/parse.js create mode 100644 node_modules/json5/lib/register.js create mode 100644 node_modules/json5/lib/require.js create mode 100644 node_modules/json5/lib/stringify.js create mode 100644 node_modules/json5/lib/unicode.js create mode 100644 node_modules/json5/lib/util.js create mode 100644 node_modules/json5/package.json create mode 100644 node_modules/lodash.get/LICENSE create mode 100644 node_modules/lodash.get/README.md create mode 100644 node_modules/lodash.get/index.js create mode 100644 node_modules/lodash.get/package.json create mode 100644 node_modules/lodash.merge/LICENSE create mode 100644 node_modules/lodash.merge/README.md create mode 100644 node_modules/lodash.merge/index.js create mode 100644 node_modules/lodash.merge/package.json create mode 100644 node_modules/lodash.reduce/LICENSE create mode 100644 node_modules/lodash.reduce/README.md create mode 100644 node_modules/lodash.reduce/index.js create mode 100644 node_modules/lodash.reduce/package.json create mode 100644 node_modules/macaddress/.editorconfig create mode 100644 node_modules/macaddress/.github/workflows/npmpublish.yml create mode 100644 node_modules/macaddress/.travis.yml create mode 100644 node_modules/macaddress/LICENSE create mode 100644 node_modules/macaddress/README.md create mode 100644 node_modules/macaddress/index.d.ts create mode 100644 node_modules/macaddress/index.js create mode 100644 node_modules/macaddress/lib/getallinterfaces.js create mode 100644 node_modules/macaddress/lib/getmacaddress.js create mode 100644 node_modules/macaddress/lib/networkinterfaces.js create mode 100644 node_modules/macaddress/lib/platform/getallinterfaces_linux.js create mode 100644 node_modules/macaddress/lib/platform/getallinterfaces_unix.js create mode 100644 node_modules/macaddress/lib/platform/getallinterfaces_windows.js create mode 100644 node_modules/macaddress/lib/platform/getmacaddress_linux.js create mode 100644 node_modules/macaddress/lib/platform/getmacaddress_unix.js create mode 100644 node_modules/macaddress/lib/platform/getmacaddress_windows.js create mode 100644 node_modules/macaddress/lib/util.js create mode 100644 node_modules/macaddress/package.json create mode 100644 node_modules/macaddress/test.js create mode 100644 node_modules/minecraft-data/.github/workflows/ci.yml create mode 100644 node_modules/minecraft-data/.github/workflows/npm-publish.yml create mode 100644 node_modules/minecraft-data/.gitmodules create mode 100644 node_modules/minecraft-data/.gitpod.yml create mode 100644 node_modules/minecraft-data/README.md create mode 100644 node_modules/minecraft-data/bin/generate_data.js create mode 100644 node_modules/minecraft-data/data.js create mode 100644 node_modules/minecraft-data/doc/api.md create mode 100644 node_modules/minecraft-data/doc/history.md create mode 100644 node_modules/minecraft-data/example.js create mode 100644 node_modules/minecraft-data/index.d.ts create mode 100644 node_modules/minecraft-data/index.js create mode 100644 node_modules/minecraft-data/lib/indexer.js create mode 100644 node_modules/minecraft-data/lib/indexes.js create mode 100644 node_modules/minecraft-data/lib/loader.js create mode 100644 node_modules/minecraft-data/minecraft-data/.github/workflows/ci.yml create mode 100644 node_modules/minecraft-data/minecraft-data/README.md create mode 100644 node_modules/minecraft-data/minecraft-data/data/dataPaths.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/0.30c/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/0.30c/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/0.30c/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10-pre1/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10-pre1/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10.1/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10.2/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/biomes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/blockCollisionShapes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/effects.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/enchantments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/entities.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/foods.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/instruments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/language.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/materials.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/particles.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/recipes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.10/windows.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11.2/protocolComments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11.2/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/biomes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/blockCollisionShapes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/effects.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/enchantments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/entities.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/foods.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/instruments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/language.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/materials.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/particles.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/protocol.pds create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/recipes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.11/windows.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12-pre4/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12-pre4/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12.1/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12.1/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12.2/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12.2/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/biomes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/blockCollisionShapes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/effects.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/enchantments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/entities.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/foods.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/instruments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/language.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/materials.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/particles.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/recipes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.12/windows.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.1/commands.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.1/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.1/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre1/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre1/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre2/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre2/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/biomes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/blockCollisionShapes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/commands.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/effects.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/enchantments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/entities.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/foods.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/instruments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/language.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/materials.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/recipes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/windows.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/biomes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/blockCollisionShapes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/commands.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/effects.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/enchantments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/entities.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/instruments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/language.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/materials.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/particles.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/recipes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.13/windows.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.1/commands.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.1/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.1/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.3/commands.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.3/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.3/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/biomes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/blockCollisionShapes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/blockLoot.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/commands.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/effects.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/entities.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/entityLoot.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/foods.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/instruments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/language.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/materials.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/recipes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/windows.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14/biomes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14/blockCollisionShapes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14/commands.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14/entities.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14/language.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14/particles.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14/recipes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.14/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.1/commands.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.1/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.1/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/biomes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/blockCollisionShapes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/blockLoot.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/commands.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/effects.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/entities.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/entityLoot.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/foods.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/instruments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/language.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/materials.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/recipes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/windows.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15/blockCollisionShapes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15/commands.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15/particles.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.15/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16-rc1/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16-rc1/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/biomes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/blockCollisionShapes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/blockLoot.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/commands.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/effects.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/entities.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/entityLoot.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/foods.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/instruments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/language.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/materials.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/recipes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/windows.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/biomes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/blockLoot.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/commands.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/entities.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/entityLoot.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/loginPacket.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/materials.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/recipes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.3/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16.4/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16/commands.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16/loginPacket.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16/particles.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.16/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/biomes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/blockCollisionShapes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/effects.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/enchantments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/entities.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/foods.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/instruments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/language.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/materials.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/particles.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.7/windows.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/biomes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/blockCollisionShapes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/effects.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/enchantments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/entities.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/foods.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/instruments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/language.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/materials.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/particles.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/recipes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.8/windows.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9.1-pre2/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9.1-pre2/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9.2/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9.2/protocolComments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9.2/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9.4/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9.4/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/biomes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/blockCollisionShapes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/effects.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/enchantments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/entities.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/foods.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/instruments.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/language.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/materials.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/particles.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/recipes.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/1.9/windows.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/15w40b/particles.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/15w40b/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/15w40b/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/16w20a/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/16w20a/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/16w35a/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/16w35a/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/17w15a/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/17w15a/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/17w18b/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/17w18b/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/17w50a/particles.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/17w50a/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/17w50a/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/20w13b/particles.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/20w13b/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/20w13b/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/20w14a/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/common/protocolVersions.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pc/common/versions.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pe/0.14/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pe/0.14/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pe/0.14/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pe/0.14/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pe/0.15/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pe/0.15/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pe/0.15/protocol.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pe/0.15/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pe/1.0/blocks.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pe/1.0/items.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pe/1.0/version.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pe/common/protocolVersions.json create mode 100644 node_modules/minecraft-data/minecraft-data/data/pe/common/versions.json create mode 100644 node_modules/minecraft-data/minecraft-data/doc/add-data-new-version.md create mode 100644 node_modules/minecraft-data/minecraft-data/doc/blockCollisionShapes.md create mode 100644 node_modules/minecraft-data/minecraft-data/doc/history.md create mode 100644 node_modules/minecraft-data/minecraft-data/doc/make-a-new-wrapper.md create mode 100644 node_modules/minecraft-data/minecraft-data/doc/recipes.md create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/biomes_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/blockCollisionShapes_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/blockLoot_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/blocks_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/commands_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/effects_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/enchantments_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/entities_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/entityLoot_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/foods_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/instruments_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/items_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/language_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/materials_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/particles_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/protocolVersions_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/protocol_types/entity_metadata_item.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/protocol_types/entity_metadata_loop.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/recipes_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/version_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/schemas/windows_schema.json create mode 100644 node_modules/minecraft-data/minecraft-data/tools/js/package.json create mode 100644 node_modules/minecraft-data/minecraft-data/tools/js/test/audit_blockitems.js create mode 100644 node_modules/minecraft-data/minecraft-data/tools/js/test/audit_blocks.js create mode 100644 node_modules/minecraft-data/minecraft-data/tools/js/test/audit_items.js create mode 100644 node_modules/minecraft-data/minecraft-data/tools/js/test/audit_recipes.js create mode 100644 node_modules/minecraft-data/minecraft-data/tools/js/test/audit_shapes.js create mode 100644 node_modules/minecraft-data/minecraft-data/tools/js/test/test.js create mode 100644 node_modules/minecraft-data/minecraft-data/tools/js/test/version_iterator.js create mode 100644 node_modules/minecraft-data/package.json create mode 100644 node_modules/minecraft-data/test/load.js create mode 100644 node_modules/minecraft-data/tsconfig.json create mode 100644 node_modules/minecraft-data/typings/generate-typings.js create mode 100644 node_modules/minecraft-data/typings/index-template.d.ts create mode 100644 node_modules/minecraft-data/typings/test-typings.ts create mode 100644 node_modules/minecraft-folder-path/.jshintrc create mode 100644 node_modules/minecraft-folder-path/.npmignore create mode 100644 node_modules/minecraft-folder-path/LICENSE create mode 100644 node_modules/minecraft-folder-path/README.md create mode 100644 node_modules/minecraft-folder-path/index.js create mode 100644 node_modules/minecraft-folder-path/package.json create mode 100644 node_modules/minecraft-protocol/.github/ISSUE_TEMPLATE/bug_report.md create mode 100644 node_modules/minecraft-protocol/.github/ISSUE_TEMPLATE/feature_request.md create mode 100644 node_modules/minecraft-protocol/.github/workflows/ci.yml create mode 100644 node_modules/minecraft-protocol/.github/workflows/npm-publish.yml create mode 100644 node_modules/minecraft-protocol/.gitpod.yml create mode 100644 node_modules/minecraft-protocol/LICENSE create mode 100644 node_modules/minecraft-protocol/README.md create mode 100644 node_modules/minecraft-protocol/docs/.nojekyll create mode 100644 node_modules/minecraft-protocol/docs/API.md create mode 100644 node_modules/minecraft-protocol/docs/CNAME create mode 100644 node_modules/minecraft-protocol/docs/FAQ.md create mode 100644 node_modules/minecraft-protocol/docs/HISTORY.md create mode 100644 node_modules/minecraft-protocol/docs/README.md create mode 100644 node_modules/minecraft-protocol/docs/_sidebar.md create mode 100644 node_modules/minecraft-protocol/docs/index.html create mode 100644 node_modules/minecraft-protocol/examples/client_auto/client_auto.js create mode 100644 node_modules/minecraft-protocol/examples/client_auto/package.json create mode 100644 node_modules/minecraft-protocol/examples/client_channel/client_channel.js create mode 100644 node_modules/minecraft-protocol/examples/client_channel/package.json create mode 100644 node_modules/minecraft-protocol/examples/client_chat/client_chat.js create mode 100644 node_modules/minecraft-protocol/examples/client_chat/package.json create mode 100644 node_modules/minecraft-protocol/examples/client_custom_channel/client_custom_channel.js create mode 100644 node_modules/minecraft-protocol/examples/client_custom_channel/package.json create mode 100644 node_modules/minecraft-protocol/examples/client_custom_packets/client_custom_packets.js create mode 100644 node_modules/minecraft-protocol/examples/client_custom_packets/package.json create mode 100644 node_modules/minecraft-protocol/examples/client_echo/client_echo.js create mode 100644 node_modules/minecraft-protocol/examples/client_echo/package.json create mode 100644 node_modules/minecraft-protocol/examples/client_electron/README.md create mode 100644 node_modules/minecraft-protocol/examples/client_electron/Window.js create mode 100644 node_modules/minecraft-protocol/examples/client_electron/main.js create mode 100644 node_modules/minecraft-protocol/examples/client_electron/package.json create mode 100644 node_modules/minecraft-protocol/examples/client_electron/renderer/index.html create mode 100644 node_modules/minecraft-protocol/examples/client_electron/renderer/index.js create mode 100644 node_modules/minecraft-protocol/examples/client_http_proxy/client_http_proxy.js create mode 100644 node_modules/minecraft-protocol/examples/client_http_proxy/package.json create mode 100644 node_modules/minecraft-protocol/examples/client_microsoft_auth/client_microsoft_auth.js create mode 100644 node_modules/minecraft-protocol/examples/client_microsoft_auth/package.json create mode 100644 node_modules/minecraft-protocol/examples/client_socks_proxy/client_socks_proxy.js create mode 100644 node_modules/minecraft-protocol/examples/client_socks_proxy/package.json create mode 100644 node_modules/minecraft-protocol/examples/proxy/README.md create mode 100644 node_modules/minecraft-protocol/examples/proxy/package.json create mode 100644 node_modules/minecraft-protocol/examples/proxy/proxy.js create mode 100644 node_modules/minecraft-protocol/examples/server/package.json create mode 100644 node_modules/minecraft-protocol/examples/server/server.js create mode 100644 node_modules/minecraft-protocol/examples/server_channel/package.json create mode 100644 node_modules/minecraft-protocol/examples/server_channel/server_channel.js create mode 100644 node_modules/minecraft-protocol/examples/server_custom_channel/package.json create mode 100644 node_modules/minecraft-protocol/examples/server_custom_channel/server_custom_channel.js create mode 100644 node_modules/minecraft-protocol/examples/server_helloworld/package.json create mode 100644 node_modules/minecraft-protocol/examples/server_helloworld/server_helloworld.js create mode 100644 node_modules/minecraft-protocol/examples/server_world/mc.js create mode 100644 node_modules/minecraft-protocol/examples/server_world/package.json create mode 100644 node_modules/minecraft-protocol/package.json create mode 100644 node_modules/minecraft-protocol/src/browser.js create mode 100644 node_modules/minecraft-protocol/src/client.js create mode 100644 node_modules/minecraft-protocol/src/client/auth.js create mode 100644 node_modules/minecraft-protocol/src/client/autoVersion.js create mode 100644 node_modules/minecraft-protocol/src/client/compress.js create mode 100644 node_modules/minecraft-protocol/src/client/encrypt.js create mode 100644 node_modules/minecraft-protocol/src/client/keepalive.js create mode 100644 node_modules/minecraft-protocol/src/client/microsoftAuth.js create mode 100644 node_modules/minecraft-protocol/src/client/play.js create mode 100644 node_modules/minecraft-protocol/src/client/pluginChannels.js create mode 100644 node_modules/minecraft-protocol/src/client/setProtocol.js create mode 100644 node_modules/minecraft-protocol/src/client/tcp_dns.js create mode 100644 node_modules/minecraft-protocol/src/client/versionChecking.js create mode 100644 node_modules/minecraft-protocol/src/createClient.js create mode 100644 node_modules/minecraft-protocol/src/createServer.js create mode 100644 node_modules/minecraft-protocol/src/datatypes/compiler-minecraft.js create mode 100644 node_modules/minecraft-protocol/src/datatypes/minecraft.js create mode 100644 node_modules/minecraft-protocol/src/index.d.ts create mode 100644 node_modules/minecraft-protocol/src/index.js create mode 100644 node_modules/minecraft-protocol/src/ping.js create mode 100644 node_modules/minecraft-protocol/src/server.js create mode 100644 node_modules/minecraft-protocol/src/server/handshake.js create mode 100644 node_modules/minecraft-protocol/src/server/keepalive.js create mode 100644 node_modules/minecraft-protocol/src/server/login.js create mode 100644 node_modules/minecraft-protocol/src/server/ping.js create mode 100644 node_modules/minecraft-protocol/src/states.js create mode 100644 node_modules/minecraft-protocol/src/transforms/compression.js create mode 100644 node_modules/minecraft-protocol/src/transforms/encryption.js create mode 100644 node_modules/minecraft-protocol/src/transforms/framing.js create mode 100644 node_modules/minecraft-protocol/src/transforms/serializer.js create mode 100644 node_modules/minecraft-protocol/src/version.js create mode 100644 node_modules/minecraft-protocol/test/benchmark.js create mode 100644 node_modules/minecraft-protocol/test/clientTest.js create mode 100644 node_modules/minecraft-protocol/test/common/parallel.js create mode 100644 node_modules/minecraft-protocol/test/packetTest.js create mode 100644 node_modules/minecraft-protocol/test/serverTest.js create mode 100644 node_modules/mineflayer/.github/ISSUE_TEMPLATE/bug_report.md create mode 100644 node_modules/mineflayer/.github/ISSUE_TEMPLATE/feature_request.md create mode 100644 node_modules/mineflayer/.github/ISSUE_TEMPLATE/question.md create mode 100644 node_modules/mineflayer/.github/workflows/ci.yml create mode 100644 node_modules/mineflayer/.github/workflows/npm-publish.yml create mode 100644 node_modules/mineflayer/.gitpod.yml create mode 100644 node_modules/mineflayer/LICENSE create mode 100644 node_modules/mineflayer/README.md create mode 100644 node_modules/mineflayer/docs/.nojekyll create mode 100644 node_modules/mineflayer/docs/CNAME create mode 100644 node_modules/mineflayer/docs/CONTRIBUTING.md create mode 100644 node_modules/mineflayer/docs/FAQ.md create mode 100644 node_modules/mineflayer/docs/README.md create mode 100644 node_modules/mineflayer/docs/README_ES.md create mode 100644 node_modules/mineflayer/docs/README_RU.md create mode 100644 node_modules/mineflayer/docs/_sidebar.md create mode 100644 node_modules/mineflayer/docs/api.md create mode 100644 node_modules/mineflayer/docs/api_ru.md create mode 100644 node_modules/mineflayer/docs/demos.md create mode 100644 node_modules/mineflayer/docs/history.md create mode 100644 node_modules/mineflayer/docs/index.html create mode 100644 node_modules/mineflayer/docs/tutorial.md create mode 100644 node_modules/mineflayer/docs/unstable_api.md create mode 100644 node_modules/mineflayer/docs/unstable_api_ru.md create mode 100644 node_modules/mineflayer/examples/ansi.js create mode 100644 node_modules/mineflayer/examples/anvil_saver/package.json create mode 100644 node_modules/mineflayer/examples/anvil_saver/saver.js create mode 100644 node_modules/mineflayer/examples/armor_stand.js create mode 100644 node_modules/mineflayer/examples/auto-eat.js create mode 100644 node_modules/mineflayer/examples/auto_totem.js create mode 100644 node_modules/mineflayer/examples/bee.js create mode 100644 node_modules/mineflayer/examples/block_entity.js create mode 100644 node_modules/mineflayer/examples/blockfinder.js create mode 100644 node_modules/mineflayer/examples/book.js create mode 100644 node_modules/mineflayer/examples/chatAddPattern.js create mode 100644 node_modules/mineflayer/examples/chatterbox.js create mode 100644 node_modules/mineflayer/examples/chest.js create mode 100644 node_modules/mineflayer/examples/collectblock.js create mode 100644 node_modules/mineflayer/examples/command_block.js create mode 100644 node_modules/mineflayer/examples/digger.js create mode 100644 node_modules/mineflayer/examples/discord.js create mode 100644 node_modules/mineflayer/examples/echo.js create mode 100644 node_modules/mineflayer/examples/farmer.js create mode 100644 node_modules/mineflayer/examples/fisherman.js create mode 100644 node_modules/mineflayer/examples/graffiti.js create mode 100644 node_modules/mineflayer/examples/guard.js create mode 100644 node_modules/mineflayer/examples/inventory.js create mode 100644 node_modules/mineflayer/examples/jumper.js create mode 100644 node_modules/mineflayer/examples/looker.js create mode 100644 node_modules/mineflayer/examples/multiple.js create mode 100644 node_modules/mineflayer/examples/perfectShotBow.js create mode 100644 node_modules/mineflayer/examples/quitter.js create mode 100644 node_modules/mineflayer/examples/raycast.js create mode 100644 node_modules/mineflayer/examples/reconnector.js create mode 100644 node_modules/mineflayer/examples/repl.js create mode 100644 node_modules/mineflayer/examples/scoreboard.js create mode 100644 node_modules/mineflayer/examples/session.js create mode 100644 node_modules/mineflayer/examples/skin_blinker.js create mode 100644 node_modules/mineflayer/examples/sleeper.js create mode 100644 node_modules/mineflayer/examples/tab_complete.js create mode 100644 node_modules/mineflayer/examples/trader.js create mode 100644 node_modules/mineflayer/examples/viewer/README.md create mode 100644 node_modules/mineflayer/examples/viewer/package.json create mode 100644 node_modules/mineflayer/examples/viewer/viewer.js create mode 100644 node_modules/mineflayer/index.d.ts create mode 100644 node_modules/mineflayer/index.js create mode 100644 node_modules/mineflayer/lib/bossbar.js create mode 100644 node_modules/mineflayer/lib/chest.js create mode 100644 node_modules/mineflayer/lib/conversions.js create mode 100644 node_modules/mineflayer/lib/dispenser.js create mode 100644 node_modules/mineflayer/lib/enchantment_table.js create mode 100644 node_modules/mineflayer/lib/features.json create mode 100644 node_modules/mineflayer/lib/furnace.js create mode 100644 node_modules/mineflayer/lib/iterators.js create mode 100644 node_modules/mineflayer/lib/location.js create mode 100644 node_modules/mineflayer/lib/math.js create mode 100644 node_modules/mineflayer/lib/painting.js create mode 100644 node_modules/mineflayer/lib/plugin_loader.js create mode 100644 node_modules/mineflayer/lib/plugins/bed.js create mode 100644 node_modules/mineflayer/lib/plugins/block_actions.js create mode 100644 node_modules/mineflayer/lib/plugins/blocks.js create mode 100644 node_modules/mineflayer/lib/plugins/book.js create mode 100644 node_modules/mineflayer/lib/plugins/boss_bar.js create mode 100644 node_modules/mineflayer/lib/plugins/chat.js create mode 100644 node_modules/mineflayer/lib/plugins/chest.js create mode 100644 node_modules/mineflayer/lib/plugins/command_block.js create mode 100644 node_modules/mineflayer/lib/plugins/craft.js create mode 100644 node_modules/mineflayer/lib/plugins/creative.js create mode 100644 node_modules/mineflayer/lib/plugins/digging.js create mode 100644 node_modules/mineflayer/lib/plugins/dispenser.js create mode 100644 node_modules/mineflayer/lib/plugins/enchantment_table.js create mode 100644 node_modules/mineflayer/lib/plugins/entities.js create mode 100644 node_modules/mineflayer/lib/plugins/experience.js create mode 100644 node_modules/mineflayer/lib/plugins/furnace.js create mode 100644 node_modules/mineflayer/lib/plugins/game.js create mode 100644 node_modules/mineflayer/lib/plugins/health.js create mode 100644 node_modules/mineflayer/lib/plugins/inventory.js create mode 100644 node_modules/mineflayer/lib/plugins/kick.js create mode 100644 node_modules/mineflayer/lib/plugins/physics.js create mode 100644 node_modules/mineflayer/lib/plugins/rain.js create mode 100644 node_modules/mineflayer/lib/plugins/ray_trace.js create mode 100644 node_modules/mineflayer/lib/plugins/scoreboard.js create mode 100644 node_modules/mineflayer/lib/plugins/settings.js create mode 100644 node_modules/mineflayer/lib/plugins/simple_inventory.js create mode 100644 node_modules/mineflayer/lib/plugins/sound.js create mode 100644 node_modules/mineflayer/lib/plugins/spawn_point.js create mode 100644 node_modules/mineflayer/lib/plugins/tablist.js create mode 100644 node_modules/mineflayer/lib/plugins/time.js create mode 100644 node_modules/mineflayer/lib/plugins/title.js create mode 100644 node_modules/mineflayer/lib/plugins/villager.js create mode 100644 node_modules/mineflayer/lib/promise_utils.js create mode 100644 node_modules/mineflayer/lib/scoreboard.js create mode 100644 node_modules/mineflayer/lib/supportFeature.js create mode 100644 node_modules/mineflayer/lib/version.js create mode 100644 node_modules/mineflayer/lib/villager.js create mode 100644 node_modules/mineflayer/package.json create mode 100644 node_modules/minimist/.travis.yml create mode 100644 node_modules/minimist/LICENSE create mode 100644 node_modules/minimist/example/parse.js create mode 100644 node_modules/minimist/index.js create mode 100644 node_modules/minimist/package.json create mode 100644 node_modules/minimist/readme.markdown create mode 100644 node_modules/minimist/test/all_bool.js create mode 100644 node_modules/minimist/test/bool.js create mode 100644 node_modules/minimist/test/dash.js create mode 100644 node_modules/minimist/test/default_bool.js create mode 100644 node_modules/minimist/test/dotted.js create mode 100644 node_modules/minimist/test/kv_short.js create mode 100644 node_modules/minimist/test/long.js create mode 100644 node_modules/minimist/test/num.js create mode 100644 node_modules/minimist/test/parse.js create mode 100644 node_modules/minimist/test/parse_modified.js create mode 100644 node_modules/minimist/test/proto.js create mode 100644 node_modules/minimist/test/short.js create mode 100644 node_modules/minimist/test/stop_early.js create mode 100644 node_modules/minimist/test/unknown.js create mode 100644 node_modules/minimist/test/whitespace.js create mode 100644 node_modules/mojangson/.circleci/config.yml create mode 100644 node_modules/mojangson/README.md create mode 100644 node_modules/mojangson/example.js create mode 100644 node_modules/mojangson/grammar.js create mode 100644 node_modules/mojangson/grammar.ne create mode 100644 node_modules/mojangson/index.js create mode 100644 node_modules/mojangson/package.json create mode 100644 node_modules/mojangson/test/additional.test.js create mode 100644 node_modules/mojangson/test/test.js create mode 100644 node_modules/mojangson/test/test001.json create mode 100644 node_modules/mojangson/test/test001.txt create mode 100644 node_modules/moo/LICENSE create mode 100644 node_modules/moo/README.md create mode 100644 node_modules/moo/moo.js create mode 100644 node_modules/moo/package.json create mode 100644 node_modules/ms/index.js create mode 100644 node_modules/ms/license.md create mode 100644 node_modules/ms/package.json create mode 100644 node_modules/ms/readme.md create mode 100644 node_modules/nearley/LICENSE.txt create mode 100644 node_modules/nearley/README.md create mode 100644 node_modules/nearley/bin/nearley-railroad.js create mode 100644 node_modules/nearley/bin/nearley-test.js create mode 100644 node_modules/nearley/bin/nearley-unparse.js create mode 100644 node_modules/nearley/bin/nearleyc.js create mode 100644 node_modules/nearley/builtin/cow.ne create mode 100644 node_modules/nearley/builtin/number.ne create mode 100644 node_modules/nearley/builtin/postprocessors.ne create mode 100644 node_modules/nearley/builtin/string.ne create mode 100644 node_modules/nearley/builtin/whitespace.ne create mode 100644 node_modules/nearley/lib/compile.js create mode 100644 node_modules/nearley/lib/generate.js create mode 100644 node_modules/nearley/lib/lint.js create mode 100644 node_modules/nearley/lib/nearley-language-bootstrapped.js create mode 100644 node_modules/nearley/lib/nearley-language-bootstrapped.ne create mode 100644 node_modules/nearley/lib/nearley.js create mode 100644 node_modules/nearley/lib/stream.js create mode 100644 node_modules/nearley/lib/unparse.js create mode 100644 node_modules/nearley/package.json create mode 100644 node_modules/node-fetch/CHANGELOG.md create mode 100644 node_modules/node-fetch/LICENSE.md create mode 100644 node_modules/node-fetch/README.md create mode 100644 node_modules/node-fetch/browser.js create mode 100644 node_modules/node-fetch/lib/index.es.js create mode 100644 node_modules/node-fetch/lib/index.js create mode 100644 node_modules/node-fetch/lib/index.mjs create mode 100644 node_modules/node-fetch/package.json create mode 100644 node_modules/node-rsa/.idea/.name create mode 100644 node_modules/node-rsa/.idea/compiler.xml create mode 100644 node_modules/node-rsa/.idea/copyright/profiles_settings.xml create mode 100644 node_modules/node-rsa/.idea/encodings.xml create mode 100644 node_modules/node-rsa/.idea/jsLibraryMappings.xml create mode 100644 node_modules/node-rsa/.idea/libraries/node_rsa_node_modules.xml create mode 100644 node_modules/node-rsa/.idea/misc.xml create mode 100644 node_modules/node-rsa/.idea/modules.xml create mode 100644 node_modules/node-rsa/.idea/node-rsa.iml create mode 100644 node_modules/node-rsa/.idea/vcs.xml create mode 100644 node_modules/node-rsa/.idea/workspace.xml create mode 100644 node_modules/node-rsa/.npmignore create mode 100644 node_modules/node-rsa/README.md create mode 100644 node_modules/node-rsa/_test.js create mode 100644 node_modules/node-rsa/gruntfile.js create mode 100644 node_modules/node-rsa/package.json create mode 100644 node_modules/node-rsa/src/NodeRSA.js create mode 100644 node_modules/node-rsa/src/encryptEngines/encryptEngines.js create mode 100644 node_modules/node-rsa/src/encryptEngines/io.js create mode 100644 node_modules/node-rsa/src/encryptEngines/js.js create mode 100644 node_modules/node-rsa/src/encryptEngines/node12.js create mode 100644 node_modules/node-rsa/src/formats/components.js create mode 100644 node_modules/node-rsa/src/formats/formats.js create mode 100644 node_modules/node-rsa/src/formats/pkcs1.js create mode 100644 node_modules/node-rsa/src/formats/pkcs8.js create mode 100644 node_modules/node-rsa/src/libs/jsbn.js create mode 100644 node_modules/node-rsa/src/libs/rsa.js create mode 100644 node_modules/node-rsa/src/schemes/oaep.js create mode 100644 node_modules/node-rsa/src/schemes/pkcs1.js create mode 100644 node_modules/node-rsa/src/schemes/pss.js create mode 100644 node_modules/node-rsa/src/schemes/schemes.js create mode 100644 node_modules/node-rsa/src/utils.js create mode 100644 node_modules/phin/LICENSE create mode 100644 node_modules/phin/README.md create mode 100644 node_modules/phin/lib/phin.js create mode 100644 node_modules/phin/package.json create mode 100644 node_modules/phin/types.d.ts create mode 100644 node_modules/prismarine-biome/.github/workflows/ci.yml create mode 100644 node_modules/prismarine-biome/.github/workflows/publish.yml create mode 100644 node_modules/prismarine-biome/README.md create mode 100644 node_modules/prismarine-biome/example.js create mode 100644 node_modules/prismarine-biome/index.d.ts create mode 100644 node_modules/prismarine-biome/index.js create mode 100644 node_modules/prismarine-biome/package.json create mode 100644 node_modules/prismarine-block/.github/workflows/ci.yml create mode 100644 node_modules/prismarine-block/.github/workflows/npm-publish.yml create mode 100644 node_modules/prismarine-block/README.md create mode 100644 node_modules/prismarine-block/example.js create mode 100644 node_modules/prismarine-block/index.d.ts create mode 100644 node_modules/prismarine-block/index.js create mode 100644 node_modules/prismarine-block/package.json create mode 100644 node_modules/prismarine-block/test/basic.test.js create mode 100644 node_modules/prismarine-block/test/shape.test.js create mode 100644 node_modules/prismarine-chat/.github/workflows/ci.yml create mode 100644 node_modules/prismarine-chat/.github/workflows/publish.yml create mode 100644 node_modules/prismarine-chat/.gitpod create mode 100644 node_modules/prismarine-chat/HISTORY.md create mode 100644 node_modules/prismarine-chat/LICENSE create mode 100644 node_modules/prismarine-chat/README.md create mode 100644 node_modules/prismarine-chat/example.js create mode 100644 node_modules/prismarine-chat/index.js create mode 100644 node_modules/prismarine-chat/package.json create mode 100644 node_modules/prismarine-chat/test/basic.test.js create mode 100644 node_modules/prismarine-chunk/.github/workflows/ci.yml create mode 100644 node_modules/prismarine-chunk/.github/workflows/npm-publish.yml create mode 100644 node_modules/prismarine-chunk/.gitpod.yml create mode 100644 node_modules/prismarine-chunk/HISTORY.md create mode 100644 node_modules/prismarine-chunk/README.md create mode 100644 node_modules/prismarine-chunk/example.js create mode 100644 node_modules/prismarine-chunk/index.js create mode 100644 node_modules/prismarine-chunk/package.json create mode 100644 node_modules/prismarine-chunk/src/index.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.13/ChunkColumn.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.13/ChunkColumn.test.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.13/ChunkSection.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.13/ChunkSection.test.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.13/chunk.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.14/ChunkColumn.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.14/ChunkSection.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.14/chunk.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.15/ChunkColumn.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.15/ChunkSection.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.15/chunk.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.16/ChunkColumn.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.16/ChunkSection.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.16/chunk.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.8/chunk.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.8/section.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.9/ChunkColumn.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.9/ChunkSection.js create mode 100644 node_modules/prismarine-chunk/src/pc/1.9/chunk.js create mode 100644 node_modules/prismarine-chunk/src/pc/common/BitArray.js create mode 100644 node_modules/prismarine-chunk/src/pc/common/BitArray.test.js create mode 100644 node_modules/prismarine-chunk/src/pc/common/BitArrayNoSpan.js create mode 100644 node_modules/prismarine-chunk/src/pc/common/constants.js create mode 100644 node_modules/prismarine-chunk/src/pc/common/neededBits.js create mode 100644 node_modules/prismarine-chunk/src/pc/common/neededBits.test.js create mode 100644 node_modules/prismarine-chunk/src/pc/common/varInt.js create mode 100644 node_modules/prismarine-chunk/src/pc/common/varInt.test.js create mode 100644 node_modules/prismarine-chunk/src/pe/0.14/chunk.js create mode 100644 node_modules/prismarine-chunk/src/pe/1.0/chunk.js create mode 100644 node_modules/prismarine-chunk/src/pe/1.0/subchunk.js create mode 100644 node_modules/prismarine-entity/.github/workflows/ci.yml create mode 100644 node_modules/prismarine-entity/.github/workflows/publish.yml create mode 100644 node_modules/prismarine-entity/README.md create mode 100644 node_modules/prismarine-entity/example.js create mode 100644 node_modules/prismarine-entity/index.d.ts create mode 100644 node_modules/prismarine-entity/index.js create mode 100644 node_modules/prismarine-entity/package.json create mode 100644 node_modules/prismarine-item/.github/workflows/ci.yml create mode 100644 node_modules/prismarine-item/.github/workflows/npm-publish.yml create mode 100644 node_modules/prismarine-item/README.md create mode 100644 node_modules/prismarine-item/example.js create mode 100644 node_modules/prismarine-item/index.d.ts create mode 100644 node_modules/prismarine-item/index.js create mode 100644 node_modules/prismarine-item/package.json create mode 100644 node_modules/prismarine-nbt/.circleci/config.yml create mode 100644 node_modules/prismarine-nbt/HISTORY.md create mode 100644 node_modules/prismarine-nbt/README.md create mode 100644 node_modules/prismarine-nbt/bench/compiled_nbt.js create mode 100644 node_modules/prismarine-nbt/compiler-compound.js create mode 100644 node_modules/prismarine-nbt/compound.js create mode 100644 node_modules/prismarine-nbt/nbt.js create mode 100644 node_modules/prismarine-nbt/nbt.json create mode 100644 node_modules/prismarine-nbt/package.json create mode 100644 node_modules/prismarine-nbt/sample/bigtest.js create mode 100644 node_modules/prismarine-nbt/sample/bigtest.nbt create mode 100644 node_modules/prismarine-nbt/sample/bigtest.nbt.gz create mode 100644 node_modules/prismarine-nbt/sample/level.dat create mode 100644 node_modules/prismarine-nbt/sample/sample.js create mode 100644 node_modules/prismarine-nbt/sample/sampleLE.js create mode 100644 node_modules/prismarine-nbt/test/datatypes.js create mode 100644 node_modules/prismarine-nbt/test/nbt-spec.js create mode 100644 node_modules/prismarine-physics/.github/workflows/ci.yml create mode 100644 node_modules/prismarine-physics/.github/workflows/publish.yml create mode 100644 node_modules/prismarine-physics/.gitpod create mode 100644 node_modules/prismarine-physics/HISTORY.md create mode 100644 node_modules/prismarine-physics/LICENSE create mode 100644 node_modules/prismarine-physics/README.md create mode 100644 node_modules/prismarine-physics/examples/basic.js create mode 100644 node_modules/prismarine-physics/index.js create mode 100644 node_modules/prismarine-physics/lib/aabb.js create mode 100644 node_modules/prismarine-physics/lib/features.json create mode 100644 node_modules/prismarine-physics/lib/math.js create mode 100644 node_modules/prismarine-physics/package.json create mode 100644 node_modules/prismarine-physics/test/basic.test.js create mode 100644 node_modules/prismarine-recipe/.circleci/config.yml create mode 100644 node_modules/prismarine-recipe/.github/workflows/npm-publish.yml create mode 100644 node_modules/prismarine-recipe/README.md create mode 100644 node_modules/prismarine-recipe/example.js create mode 100644 node_modules/prismarine-recipe/index.d.ts create mode 100644 node_modules/prismarine-recipe/index.js create mode 100644 node_modules/prismarine-recipe/lib/recipe.js create mode 100644 node_modules/prismarine-recipe/lib/recipe_item.js create mode 100644 node_modules/prismarine-recipe/package.json create mode 100644 node_modules/prismarine-windows/.github/workflows/ci.yml create mode 100644 node_modules/prismarine-windows/.github/workflows/npm-publish.yml create mode 100644 node_modules/prismarine-windows/README.md create mode 100644 node_modules/prismarine-windows/example.js create mode 100644 node_modules/prismarine-windows/index.d.ts create mode 100644 node_modules/prismarine-windows/index.js create mode 100644 node_modules/prismarine-windows/lib/Window.js create mode 100644 node_modules/prismarine-windows/package.json create mode 100644 node_modules/prismarine-world/.eslintrc create mode 100644 node_modules/prismarine-world/.github/workflows/ci.yml create mode 100644 node_modules/prismarine-world/.github/workflows/publish.yml create mode 100644 node_modules/prismarine-world/README.md create mode 100644 node_modules/prismarine-world/examples/anvil.js create mode 100644 node_modules/prismarine-world/examples/raw.js create mode 100644 node_modules/prismarine-world/index.js create mode 100644 node_modules/prismarine-world/package.json create mode 100644 node_modules/prismarine-world/src/world.js create mode 100644 node_modules/prismarine-world/src/worldsync.js create mode 100644 node_modules/prismarine-world/test/test.js create mode 100644 node_modules/promise/.jshintrc create mode 100644 node_modules/promise/.npmignore create mode 100644 node_modules/promise/LICENSE create mode 100644 node_modules/promise/Readme.md create mode 100644 node_modules/promise/core.js create mode 100644 node_modules/promise/index.js create mode 100644 node_modules/promise/package.json create mode 100644 node_modules/protodef-validator/.circleci/config.yml create mode 100644 node_modules/protodef-validator/.gitmodules create mode 100644 node_modules/protodef-validator/.gitpod.yml create mode 100644 node_modules/protodef-validator/ProtoDef/README.md create mode 100644 node_modules/protodef-validator/ProtoDef/doc/datatypes.md create mode 100644 node_modules/protodef-validator/ProtoDef/doc/protocol.md create mode 100644 node_modules/protodef-validator/ProtoDef/schemas/conditional.json create mode 100644 node_modules/protodef-validator/ProtoDef/schemas/datatype.json create mode 100644 node_modules/protodef-validator/ProtoDef/schemas/definitions.json create mode 100644 node_modules/protodef-validator/ProtoDef/schemas/numeric.json create mode 100644 node_modules/protodef-validator/ProtoDef/schemas/protocol_schema.json create mode 100644 node_modules/protodef-validator/ProtoDef/schemas/structures.json create mode 100644 node_modules/protodef-validator/ProtoDef/schemas/utils.json create mode 100644 node_modules/protodef-validator/ProtoDef/test/conditional.json create mode 100644 node_modules/protodef-validator/ProtoDef/test/datatype_tests_schema.json create mode 100644 node_modules/protodef-validator/ProtoDef/test/numeric.json create mode 100644 node_modules/protodef-validator/ProtoDef/test/structures.json create mode 100644 node_modules/protodef-validator/ProtoDef/test/utils.json create mode 100644 node_modules/protodef-validator/README.md create mode 100644 node_modules/protodef-validator/cli.js create mode 100644 node_modules/protodef-validator/example.js create mode 100644 node_modules/protodef-validator/example_protocol.json create mode 100644 node_modules/protodef-validator/index.js create mode 100644 node_modules/protodef-validator/package.json create mode 100644 node_modules/protodef/.circleci/config.yml create mode 100644 node_modules/protodef/.gitmodules create mode 100644 node_modules/protodef/.gitpod.yml create mode 100644 node_modules/protodef/LICENSE create mode 100644 node_modules/protodef/ProtoDef/README.md create mode 100644 node_modules/protodef/ProtoDef/doc/datatypes.md create mode 100644 node_modules/protodef/ProtoDef/doc/protocol.md create mode 100644 node_modules/protodef/ProtoDef/schemas/conditional.json create mode 100644 node_modules/protodef/ProtoDef/schemas/datatype.json create mode 100644 node_modules/protodef/ProtoDef/schemas/definitions.json create mode 100644 node_modules/protodef/ProtoDef/schemas/numeric.json create mode 100644 node_modules/protodef/ProtoDef/schemas/protocol_schema.json create mode 100644 node_modules/protodef/ProtoDef/schemas/structures.json create mode 100644 node_modules/protodef/ProtoDef/schemas/utils.json create mode 100644 node_modules/protodef/ProtoDef/test/conditional.json create mode 100644 node_modules/protodef/ProtoDef/test/datatype_tests_schema.json create mode 100644 node_modules/protodef/ProtoDef/test/numeric.json create mode 100644 node_modules/protodef/ProtoDef/test/structures.json create mode 100644 node_modules/protodef/ProtoDef/test/utils.json create mode 100644 node_modules/protodef/README.md create mode 100644 node_modules/protodef/benchmark/benchmark_all_types.js create mode 100644 node_modules/protodef/benchmark/benchmark_by_kind.js create mode 100644 node_modules/protodef/benchmark/benchmark_by_subtype.js create mode 100644 node_modules/protodef/benchmark/benchmark_by_test.js create mode 100644 node_modules/protodef/benchmark/benchmark_by_type.js create mode 100644 node_modules/protodef/benchmark/benchmark_unified.js create mode 100644 node_modules/protodef/doc/api.md create mode 100644 node_modules/protodef/doc/compiler.md create mode 100644 node_modules/protodef/doc/history.md create mode 100644 node_modules/protodef/doc/newDatatypes.md create mode 100644 node_modules/protodef/example.js create mode 100644 node_modules/protodef/examples/compiled.js create mode 100644 node_modules/protodef/examples/error_handling.js create mode 100644 node_modules/protodef/examples/example_protocol.json create mode 100644 node_modules/protodef/examples/full_protocol.js create mode 100644 node_modules/protodef/examples/full_protocol_example.json create mode 100644 node_modules/protodef/index.js create mode 100644 node_modules/protodef/package.json create mode 100644 node_modules/protodef/src/compiler.js create mode 100644 node_modules/protodef/src/datatypes/compiler-conditional.js create mode 100644 node_modules/protodef/src/datatypes/compiler-structures.js create mode 100644 node_modules/protodef/src/datatypes/compiler-utils.js create mode 100644 node_modules/protodef/src/datatypes/conditional.js create mode 100644 node_modules/protodef/src/datatypes/numeric.js create mode 100644 node_modules/protodef/src/datatypes/structures.js create mode 100644 node_modules/protodef/src/datatypes/utils.js create mode 100644 node_modules/protodef/src/index.js create mode 100644 node_modules/protodef/src/protodef.js create mode 100644 node_modules/protodef/src/serializer.js create mode 100644 node_modules/protodef/src/utils.js create mode 100644 node_modules/protodef/test/dataTypes/datatypes.js create mode 100644 node_modules/protodef/test/dataTypes/prepareTests.js create mode 100644 node_modules/punycode/LICENSE-MIT.txt create mode 100644 node_modules/punycode/README.md create mode 100644 node_modules/punycode/package.json create mode 100644 node_modules/punycode/punycode.es6.js create mode 100644 node_modules/punycode/punycode.js create mode 100644 node_modules/railroad-diagrams/.gitattributes create mode 100644 node_modules/railroad-diagrams/.npmignore create mode 100644 node_modules/railroad-diagrams/README.md create mode 100644 node_modules/railroad-diagrams/css-example.py-js create mode 100644 node_modules/railroad-diagrams/example.html create mode 100644 node_modules/railroad-diagrams/generator.html create mode 100644 node_modules/railroad-diagrams/package.json create mode 100644 node_modules/railroad-diagrams/railroad-diagrams.css create mode 100644 node_modules/railroad-diagrams/railroad-diagrams.js create mode 100644 node_modules/railroad-diagrams/railroad_diagrams.py create mode 100644 node_modules/randexp/LICENSE create mode 100644 node_modules/randexp/README.md create mode 100644 node_modules/randexp/lib/randexp.js create mode 100644 node_modules/randexp/package.json create mode 100644 node_modules/readable-stream/CONTRIBUTING.md create mode 100644 node_modules/readable-stream/GOVERNANCE.md create mode 100644 node_modules/readable-stream/LICENSE create mode 100644 node_modules/readable-stream/README.md create mode 100644 node_modules/readable-stream/errors-browser.js create mode 100644 node_modules/readable-stream/errors.js create mode 100644 node_modules/readable-stream/experimentalWarning.js create mode 100644 node_modules/readable-stream/lib/_stream_duplex.js create mode 100644 node_modules/readable-stream/lib/_stream_passthrough.js create mode 100644 node_modules/readable-stream/lib/_stream_readable.js create mode 100644 node_modules/readable-stream/lib/_stream_transform.js create mode 100644 node_modules/readable-stream/lib/_stream_writable.js create mode 100644 node_modules/readable-stream/lib/internal/streams/async_iterator.js create mode 100644 node_modules/readable-stream/lib/internal/streams/buffer_list.js create mode 100644 node_modules/readable-stream/lib/internal/streams/destroy.js create mode 100644 node_modules/readable-stream/lib/internal/streams/end-of-stream.js create mode 100644 node_modules/readable-stream/lib/internal/streams/from-browser.js create mode 100644 node_modules/readable-stream/lib/internal/streams/from.js create mode 100644 node_modules/readable-stream/lib/internal/streams/pipeline.js create mode 100644 node_modules/readable-stream/lib/internal/streams/state.js create mode 100644 node_modules/readable-stream/lib/internal/streams/stream-browser.js create mode 100644 node_modules/readable-stream/lib/internal/streams/stream.js create mode 100644 node_modules/readable-stream/package.json create mode 100644 node_modules/readable-stream/readable-browser.js create mode 100644 node_modules/readable-stream/readable.js create mode 100644 node_modules/ret/LICENSE create mode 100644 node_modules/ret/README.md create mode 100644 node_modules/ret/lib/index.js create mode 100644 node_modules/ret/lib/positions.js create mode 100644 node_modules/ret/lib/sets.js create mode 100644 node_modules/ret/lib/types.js create mode 100644 node_modules/ret/lib/util.js create mode 100644 node_modules/ret/package.json create mode 100644 node_modules/safe-buffer/LICENSE create mode 100644 node_modules/safe-buffer/README.md create mode 100644 node_modules/safe-buffer/index.d.ts create mode 100644 node_modules/safe-buffer/index.js create mode 100644 node_modules/safe-buffer/package.json create mode 100644 node_modules/smart-buffer/.prettierrc.yaml create mode 100644 node_modules/smart-buffer/.travis.yml create mode 100644 node_modules/smart-buffer/LICENSE create mode 100644 node_modules/smart-buffer/README.md create mode 100644 node_modules/smart-buffer/build/smartbuffer.js create mode 100644 node_modules/smart-buffer/build/smartbuffer.js.map create mode 100644 node_modules/smart-buffer/build/utils.js create mode 100644 node_modules/smart-buffer/build/utils.js.map create mode 100644 node_modules/smart-buffer/docs/CHANGELOG.md create mode 100644 node_modules/smart-buffer/docs/README_v3.md create mode 100644 node_modules/smart-buffer/docs/ROADMAP.md create mode 100644 node_modules/smart-buffer/package.json create mode 100644 node_modules/smart-buffer/typings/smartbuffer.d.ts create mode 100644 node_modules/smart-buffer/typings/utils.d.ts create mode 100644 node_modules/sprintf-js/CHANGELOG.md create mode 100644 node_modules/sprintf-js/CONTRIBUTORS.md create mode 100644 node_modules/sprintf-js/LICENSE create mode 100644 node_modules/sprintf-js/README.md create mode 100644 node_modules/sprintf-js/dist/.gitattributes create mode 100644 node_modules/sprintf-js/dist/angular-sprintf.min.js create mode 100644 node_modules/sprintf-js/dist/angular-sprintf.min.js.map create mode 100644 node_modules/sprintf-js/dist/sprintf.min.js create mode 100644 node_modules/sprintf-js/dist/sprintf.min.js.map create mode 100644 node_modules/sprintf-js/package.json create mode 100644 node_modules/sprintf-js/src/angular-sprintf.js create mode 100644 node_modules/sprintf-js/src/sprintf.js create mode 100644 node_modules/string_decoder/LICENSE create mode 100644 node_modules/string_decoder/README.md create mode 100644 node_modules/string_decoder/lib/string_decoder.js create mode 100644 node_modules/string_decoder/package.json create mode 100644 node_modules/typed-emitter/LICENSE create mode 100644 node_modules/typed-emitter/README.md create mode 100644 node_modules/typed-emitter/index.d.ts create mode 100644 node_modules/typed-emitter/package.json create mode 100644 node_modules/uint4/.npmignore create mode 100644 node_modules/uint4/README.md create mode 100644 node_modules/uint4/index.js create mode 100644 node_modules/uint4/package.json create mode 100644 node_modules/uint4/test/test.js create mode 100644 node_modules/uri-js/LICENSE create mode 100644 node_modules/uri-js/README.md create mode 100644 node_modules/uri-js/dist/es5/uri.all.d.ts create mode 100644 node_modules/uri-js/dist/es5/uri.all.js create mode 100644 node_modules/uri-js/dist/es5/uri.all.js.map create mode 100644 node_modules/uri-js/dist/es5/uri.all.min.d.ts create mode 100644 node_modules/uri-js/dist/es5/uri.all.min.js create mode 100644 node_modules/uri-js/dist/es5/uri.all.min.js.map create mode 100644 node_modules/uri-js/dist/esnext/index.d.ts create mode 100644 node_modules/uri-js/dist/esnext/index.js create mode 100644 node_modules/uri-js/dist/esnext/index.js.map create mode 100644 node_modules/uri-js/dist/esnext/regexps-iri.d.ts create mode 100644 node_modules/uri-js/dist/esnext/regexps-iri.js create mode 100644 node_modules/uri-js/dist/esnext/regexps-iri.js.map create mode 100644 node_modules/uri-js/dist/esnext/regexps-uri.d.ts create mode 100644 node_modules/uri-js/dist/esnext/regexps-uri.js create mode 100644 node_modules/uri-js/dist/esnext/regexps-uri.js.map create mode 100644 node_modules/uri-js/dist/esnext/schemes/http.d.ts create mode 100644 node_modules/uri-js/dist/esnext/schemes/http.js create mode 100644 node_modules/uri-js/dist/esnext/schemes/http.js.map create mode 100644 node_modules/uri-js/dist/esnext/schemes/https.d.ts create mode 100644 node_modules/uri-js/dist/esnext/schemes/https.js create mode 100644 node_modules/uri-js/dist/esnext/schemes/https.js.map create mode 100644 node_modules/uri-js/dist/esnext/schemes/mailto.d.ts create mode 100644 node_modules/uri-js/dist/esnext/schemes/mailto.js create mode 100644 node_modules/uri-js/dist/esnext/schemes/mailto.js.map create mode 100644 node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts create mode 100644 node_modules/uri-js/dist/esnext/schemes/urn-uuid.js create mode 100644 node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map create mode 100644 node_modules/uri-js/dist/esnext/schemes/urn.d.ts create mode 100644 node_modules/uri-js/dist/esnext/schemes/urn.js create mode 100644 node_modules/uri-js/dist/esnext/schemes/urn.js.map create mode 100644 node_modules/uri-js/dist/esnext/schemes/ws.d.ts create mode 100644 node_modules/uri-js/dist/esnext/schemes/ws.js create mode 100644 node_modules/uri-js/dist/esnext/schemes/ws.js.map create mode 100644 node_modules/uri-js/dist/esnext/schemes/wss.d.ts create mode 100644 node_modules/uri-js/dist/esnext/schemes/wss.js create mode 100644 node_modules/uri-js/dist/esnext/schemes/wss.js.map create mode 100644 node_modules/uri-js/dist/esnext/uri.d.ts create mode 100644 node_modules/uri-js/dist/esnext/uri.js create mode 100644 node_modules/uri-js/dist/esnext/uri.js.map create mode 100644 node_modules/uri-js/dist/esnext/util.d.ts create mode 100644 node_modules/uri-js/dist/esnext/util.js create mode 100644 node_modules/uri-js/dist/esnext/util.js.map create mode 100644 node_modules/uri-js/package.json create mode 100644 node_modules/uri-js/yarn.lock create mode 100644 node_modules/user-settings-dir/.npmignore create mode 100644 node_modules/user-settings-dir/LICENSE create mode 100644 node_modules/user-settings-dir/README.md create mode 100644 node_modules/user-settings-dir/index.js create mode 100644 node_modules/user-settings-dir/package.json create mode 100644 node_modules/util-deprecate/History.md create mode 100644 node_modules/util-deprecate/LICENSE create mode 100644 node_modules/util-deprecate/README.md create mode 100644 node_modules/util-deprecate/browser.js create mode 100644 node_modules/util-deprecate/node.js create mode 100644 node_modules/util-deprecate/package.json create mode 100644 node_modules/uuid-1345/.github/workflows/npm-publish.yml create mode 100644 node_modules/uuid-1345/.travis.yml create mode 100644 node_modules/uuid-1345/LICENSE create mode 100644 node_modules/uuid-1345/README.md create mode 100644 node_modules/uuid-1345/example-project/index.js create mode 100644 node_modules/uuid-1345/example-project/package.json create mode 100644 node_modules/uuid-1345/examples/example1.js create mode 100644 node_modules/uuid-1345/examples/example2.js create mode 100644 node_modules/uuid-1345/examples/example3.js create mode 100644 node_modules/uuid-1345/gulpfile.js create mode 100644 node_modules/uuid-1345/index.js create mode 100644 node_modules/uuid-1345/package.json create mode 100644 node_modules/uuid-1345/test/UUID.js create mode 100644 node_modules/uuid-1345/test/util.js create mode 100644 node_modules/uuid-1345/test/v1.js create mode 100644 node_modules/uuid-1345/test/v3.js create mode 100644 node_modules/uuid-1345/test/v4.js create mode 100644 node_modules/uuid-1345/test/v5.js create mode 100644 node_modules/uuid/CHANGELOG.md create mode 100644 node_modules/uuid/CONTRIBUTING.md create mode 100644 node_modules/uuid/LICENSE.md create mode 100644 node_modules/uuid/README.md create mode 100644 node_modules/uuid/dist/bin/uuid create mode 100644 node_modules/uuid/dist/esm-browser/index.js create mode 100644 node_modules/uuid/dist/esm-browser/md5.js create mode 100644 node_modules/uuid/dist/esm-browser/nil.js create mode 100644 node_modules/uuid/dist/esm-browser/parse.js create mode 100644 node_modules/uuid/dist/esm-browser/regex.js create mode 100644 node_modules/uuid/dist/esm-browser/rng.js create mode 100644 node_modules/uuid/dist/esm-browser/sha1.js create mode 100644 node_modules/uuid/dist/esm-browser/stringify.js create mode 100644 node_modules/uuid/dist/esm-browser/v1.js create mode 100644 node_modules/uuid/dist/esm-browser/v3.js create mode 100644 node_modules/uuid/dist/esm-browser/v35.js create mode 100644 node_modules/uuid/dist/esm-browser/v4.js create mode 100644 node_modules/uuid/dist/esm-browser/v5.js create mode 100644 node_modules/uuid/dist/esm-browser/validate.js create mode 100644 node_modules/uuid/dist/esm-browser/version.js create mode 100644 node_modules/uuid/dist/esm-node/index.js create mode 100644 node_modules/uuid/dist/esm-node/md5.js create mode 100644 node_modules/uuid/dist/esm-node/nil.js create mode 100644 node_modules/uuid/dist/esm-node/parse.js create mode 100644 node_modules/uuid/dist/esm-node/regex.js create mode 100644 node_modules/uuid/dist/esm-node/rng.js create mode 100644 node_modules/uuid/dist/esm-node/sha1.js create mode 100644 node_modules/uuid/dist/esm-node/stringify.js create mode 100644 node_modules/uuid/dist/esm-node/v1.js create mode 100644 node_modules/uuid/dist/esm-node/v3.js create mode 100644 node_modules/uuid/dist/esm-node/v35.js create mode 100644 node_modules/uuid/dist/esm-node/v4.js create mode 100644 node_modules/uuid/dist/esm-node/v5.js create mode 100644 node_modules/uuid/dist/esm-node/validate.js create mode 100644 node_modules/uuid/dist/esm-node/version.js create mode 100644 node_modules/uuid/dist/index.js create mode 100644 node_modules/uuid/dist/md5-browser.js create mode 100644 node_modules/uuid/dist/md5.js create mode 100644 node_modules/uuid/dist/nil.js create mode 100644 node_modules/uuid/dist/parse.js create mode 100644 node_modules/uuid/dist/regex.js create mode 100644 node_modules/uuid/dist/rng-browser.js create mode 100644 node_modules/uuid/dist/rng.js create mode 100644 node_modules/uuid/dist/sha1-browser.js create mode 100644 node_modules/uuid/dist/sha1.js create mode 100644 node_modules/uuid/dist/stringify.js create mode 100644 node_modules/uuid/dist/umd/uuid.min.js create mode 100644 node_modules/uuid/dist/umd/uuidNIL.min.js create mode 100644 node_modules/uuid/dist/umd/uuidParse.min.js create mode 100644 node_modules/uuid/dist/umd/uuidStringify.min.js create mode 100644 node_modules/uuid/dist/umd/uuidValidate.min.js create mode 100644 node_modules/uuid/dist/umd/uuidVersion.min.js create mode 100644 node_modules/uuid/dist/umd/uuidv1.min.js create mode 100644 node_modules/uuid/dist/umd/uuidv3.min.js create mode 100644 node_modules/uuid/dist/umd/uuidv4.min.js create mode 100644 node_modules/uuid/dist/umd/uuidv5.min.js create mode 100644 node_modules/uuid/dist/uuid-bin.js create mode 100644 node_modules/uuid/dist/v1.js create mode 100644 node_modules/uuid/dist/v3.js create mode 100644 node_modules/uuid/dist/v35.js create mode 100644 node_modules/uuid/dist/v4.js create mode 100644 node_modules/uuid/dist/v5.js create mode 100644 node_modules/uuid/dist/validate.js create mode 100644 node_modules/uuid/dist/version.js create mode 100644 node_modules/uuid/package.json create mode 100644 node_modules/uuid/wrapper.mjs create mode 100644 node_modules/vec3/.github/workflows/ci.yml create mode 100644 node_modules/vec3/.github/workflows/publish.yml create mode 100644 node_modules/vec3/.jshintrc create mode 100644 node_modules/vec3/HISTORY.md create mode 100644 node_modules/vec3/README.md create mode 100644 node_modules/vec3/index.d.ts create mode 100644 node_modules/vec3/index.js create mode 100644 node_modules/vec3/package.json create mode 100644 node_modules/vec3/test/test.js create mode 100644 node_modules/yggdrasil/.editorconfig create mode 100644 node_modules/yggdrasil/.github/workflows/ci.yml create mode 100644 node_modules/yggdrasil/.github/workflows/publish.yml create mode 100644 node_modules/yggdrasil/.gitpod.yml create mode 100644 node_modules/yggdrasil/HISTORY.md create mode 100644 node_modules/yggdrasil/LICENSE create mode 100644 node_modules/yggdrasil/README.md create mode 100644 node_modules/yggdrasil/es6.js create mode 100644 node_modules/yggdrasil/lib/Client.js create mode 100644 node_modules/yggdrasil/lib/Server.js create mode 100644 node_modules/yggdrasil/lib/index.js create mode 100644 node_modules/yggdrasil/lib/utils.js create mode 100644 node_modules/yggdrasil/package.json create mode 100644 node_modules/yggdrasil/test/index.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 wakemydyno.txt diff --git a/Procfile b/Procfile new file mode 100644 index 00000000..973094b6 --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +worker: node index.js \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00000000..a07468ed --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# Aternos AFKBot +This afk bot will keep your aternos server alive 24/7 + +You can deploy this AFKBot to your heroku application + +# Setup +1. Fork this repository, or clone the repository and make it your own +2. Change the config file to your own aternos server +3. Go to https://dashboard.heroku.com/ and create a new application +4. Once you've created your application, simply go to the "Deploy" section and select the repository that you forked +5. Select master and click on "Deploy Branch" +6. Click on the "More" button at the top and click "Restart all Dynos" +7. Done! Enjoy your free 24/7 aternos server + +# Keeping your application alive +We all know how awesome Heroku is. Simplicity in creating environments for your rails, java, python or php application is just unbelievable. +Create, deploy, BOOM! Your new app is ready, up and running! But if your site is powered by only 1 dyno, you will quickly notice that after a few hours of app's inactivity, it's first launch takes ages and ages... It is because your dyno was sleeping and now it has to be awakened. + +To keep your application alive Please read the following steps +1. Go to https://wakemydyno.com +2. Submit your application (eg. APPLICATION_NAME.herokuapp.com) +3. All done! + +# !! CAUTION !! +Aternos might detect your behavior and they might delete your account! + +You are responsible for your own actions. I do not recommend doing this on your main aternos server! diff --git a/config.json b/config.json new file mode 100644 index 00000000..bd474a8b --- /dev/null +++ b/config.json @@ -0,0 +1,5 @@ +{ + "ip":"YOUR_ATERNOS_SERVER_IP", + "port": "YOUR_ATERNOS_SERVER_PORT", + "name": "BOT_NAME" +} diff --git a/index.js b/index.js new file mode 100644 index 00000000..4310a136 --- /dev/null +++ b/index.js @@ -0,0 +1,57 @@ +const mineflayer = require('mineflayer') +const fs = require('fs'); +let rawdata = fs.readFileSync('config.json'); +let data = JSON.parse(rawdata); +var lasttime = -1; +var moving = 0; +var connected = 0; +var actions = [ 'forward', 'back', 'left', 'right'] +var lastaction; +var pi = 3.14159; +var moveinterval = 2; // 2 second movement interval +var maxrandom = 5; // 0-5 seconds added to movement interval (randomly) +var host = data["ip"]; +var username = data["name"] +var bot = mineflayer.createBot({ + host: host, + username: username +}); +function getRandomArbitrary(min, max) { + return Math.random() * (max - min) + min; + +} +bot.on('login',function(){ + console.log("Logged In") +}); +bot.on('time', function() { + if (connected <1) { + return; + } + if (lasttime<0) { + lasttime = bot.time.age; + } else { + var randomadd = Math.random() * maxrandom * 20; + var interval = moveinterval*20 + randomadd; + if (bot.time.age - lasttime > interval) { + if (moving == 1) { + bot.setControlState(lastaction,false); + moving = 0; + lasttime = bot.time.age; + } else { + var yaw = Math.random()*pi - (0.5*pi); + var pitch = Math.random()*pi - (0.5*pi); + bot.look(yaw,pitch,false); + lastaction = actions[Math.floor(Math.random() * actions.length)]; + bot.setControlState(lastaction,true); + moving = 1; + lasttime = bot.time.age; + bot.activateItem(); + } + } + } +}); + +bot.on('spawn',function() { + connected=1; +}); + diff --git a/node_modules/.bin/json5 b/node_modules/.bin/json5 new file mode 100644 index 00000000..882cecdd --- /dev/null +++ b/node_modules/.bin/json5 @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../json5/lib/cli.js" "$@" + ret=$? +else + node "$basedir/../json5/lib/cli.js" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/json5.cmd b/node_modules/.bin/json5.cmd new file mode 100644 index 00000000..b030d83e --- /dev/null +++ b/node_modules/.bin/json5.cmd @@ -0,0 +1,17 @@ +@ECHO off +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +"%_prog%" "%dp0%\..\json5\lib\cli.js" %* +ENDLOCAL +EXIT /b %errorlevel% +:find_dp0 +SET dp0=%~dp0 +EXIT /b diff --git a/node_modules/.bin/json5.ps1 b/node_modules/.bin/json5.ps1 new file mode 100644 index 00000000..585f9ad1 --- /dev/null +++ b/node_modules/.bin/json5.ps1 @@ -0,0 +1,18 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + & "$basedir/node$exe" "$basedir/../json5/lib/cli.js" $args + $ret=$LASTEXITCODE +} else { + & "node$exe" "$basedir/../json5/lib/cli.js" $args + $ret=$LASTEXITCODE +} +exit $ret diff --git a/node_modules/.bin/nearley-railroad b/node_modules/.bin/nearley-railroad new file mode 100644 index 00000000..90275f1c --- /dev/null +++ b/node_modules/.bin/nearley-railroad @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../nearley/bin/nearley-railroad.js" "$@" + ret=$? +else + node "$basedir/../nearley/bin/nearley-railroad.js" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/nearley-railroad.cmd b/node_modules/.bin/nearley-railroad.cmd new file mode 100644 index 00000000..eb5caddd --- /dev/null +++ b/node_modules/.bin/nearley-railroad.cmd @@ -0,0 +1,17 @@ +@ECHO off +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +"%_prog%" "%dp0%\..\nearley\bin\nearley-railroad.js" %* +ENDLOCAL +EXIT /b %errorlevel% +:find_dp0 +SET dp0=%~dp0 +EXIT /b diff --git a/node_modules/.bin/nearley-railroad.ps1 b/node_modules/.bin/nearley-railroad.ps1 new file mode 100644 index 00000000..556fd71d --- /dev/null +++ b/node_modules/.bin/nearley-railroad.ps1 @@ -0,0 +1,18 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + & "$basedir/node$exe" "$basedir/../nearley/bin/nearley-railroad.js" $args + $ret=$LASTEXITCODE +} else { + & "node$exe" "$basedir/../nearley/bin/nearley-railroad.js" $args + $ret=$LASTEXITCODE +} +exit $ret diff --git a/node_modules/.bin/nearley-test b/node_modules/.bin/nearley-test new file mode 100644 index 00000000..7864ee19 --- /dev/null +++ b/node_modules/.bin/nearley-test @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../nearley/bin/nearley-test.js" "$@" + ret=$? +else + node "$basedir/../nearley/bin/nearley-test.js" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/nearley-test.cmd b/node_modules/.bin/nearley-test.cmd new file mode 100644 index 00000000..9c8051bc --- /dev/null +++ b/node_modules/.bin/nearley-test.cmd @@ -0,0 +1,17 @@ +@ECHO off +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +"%_prog%" "%dp0%\..\nearley\bin\nearley-test.js" %* +ENDLOCAL +EXIT /b %errorlevel% +:find_dp0 +SET dp0=%~dp0 +EXIT /b diff --git a/node_modules/.bin/nearley-test.ps1 b/node_modules/.bin/nearley-test.ps1 new file mode 100644 index 00000000..edffcca1 --- /dev/null +++ b/node_modules/.bin/nearley-test.ps1 @@ -0,0 +1,18 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + & "$basedir/node$exe" "$basedir/../nearley/bin/nearley-test.js" $args + $ret=$LASTEXITCODE +} else { + & "node$exe" "$basedir/../nearley/bin/nearley-test.js" $args + $ret=$LASTEXITCODE +} +exit $ret diff --git a/node_modules/.bin/nearley-unparse b/node_modules/.bin/nearley-unparse new file mode 100644 index 00000000..a3361bcd --- /dev/null +++ b/node_modules/.bin/nearley-unparse @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../nearley/bin/nearley-unparse.js" "$@" + ret=$? +else + node "$basedir/../nearley/bin/nearley-unparse.js" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/nearley-unparse.cmd b/node_modules/.bin/nearley-unparse.cmd new file mode 100644 index 00000000..d7be72dc --- /dev/null +++ b/node_modules/.bin/nearley-unparse.cmd @@ -0,0 +1,17 @@ +@ECHO off +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +"%_prog%" "%dp0%\..\nearley\bin\nearley-unparse.js" %* +ENDLOCAL +EXIT /b %errorlevel% +:find_dp0 +SET dp0=%~dp0 +EXIT /b diff --git a/node_modules/.bin/nearley-unparse.ps1 b/node_modules/.bin/nearley-unparse.ps1 new file mode 100644 index 00000000..a3dbf94b --- /dev/null +++ b/node_modules/.bin/nearley-unparse.ps1 @@ -0,0 +1,18 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + & "$basedir/node$exe" "$basedir/../nearley/bin/nearley-unparse.js" $args + $ret=$LASTEXITCODE +} else { + & "node$exe" "$basedir/../nearley/bin/nearley-unparse.js" $args + $ret=$LASTEXITCODE +} +exit $ret diff --git a/node_modules/.bin/nearleyc b/node_modules/.bin/nearleyc new file mode 100644 index 00000000..c397802b --- /dev/null +++ b/node_modules/.bin/nearleyc @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../nearley/bin/nearleyc.js" "$@" + ret=$? +else + node "$basedir/../nearley/bin/nearleyc.js" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/nearleyc.cmd b/node_modules/.bin/nearleyc.cmd new file mode 100644 index 00000000..cae2b09c --- /dev/null +++ b/node_modules/.bin/nearleyc.cmd @@ -0,0 +1,17 @@ +@ECHO off +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +"%_prog%" "%dp0%\..\nearley\bin\nearleyc.js" %* +ENDLOCAL +EXIT /b %errorlevel% +:find_dp0 +SET dp0=%~dp0 +EXIT /b diff --git a/node_modules/.bin/nearleyc.ps1 b/node_modules/.bin/nearleyc.ps1 new file mode 100644 index 00000000..ad70df66 --- /dev/null +++ b/node_modules/.bin/nearleyc.ps1 @@ -0,0 +1,18 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + & "$basedir/node$exe" "$basedir/../nearley/bin/nearleyc.js" $args + $ret=$LASTEXITCODE +} else { + & "node$exe" "$basedir/../nearley/bin/nearleyc.js" $args + $ret=$LASTEXITCODE +} +exit $ret diff --git a/node_modules/.bin/protodef-validator b/node_modules/.bin/protodef-validator new file mode 100644 index 00000000..56425fed --- /dev/null +++ b/node_modules/.bin/protodef-validator @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../protodef-validator/cli.js" "$@" + ret=$? +else + node "$basedir/../protodef-validator/cli.js" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/protodef-validator.cmd b/node_modules/.bin/protodef-validator.cmd new file mode 100644 index 00000000..c9e4ac18 --- /dev/null +++ b/node_modules/.bin/protodef-validator.cmd @@ -0,0 +1,17 @@ +@ECHO off +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +"%_prog%" "%dp0%\..\protodef-validator\cli.js" %* +ENDLOCAL +EXIT /b %errorlevel% +:find_dp0 +SET dp0=%~dp0 +EXIT /b diff --git a/node_modules/.bin/protodef-validator.ps1 b/node_modules/.bin/protodef-validator.ps1 new file mode 100644 index 00000000..b39f07d6 --- /dev/null +++ b/node_modules/.bin/protodef-validator.ps1 @@ -0,0 +1,18 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + & "$basedir/node$exe" "$basedir/../protodef-validator/cli.js" $args + $ret=$LASTEXITCODE +} else { + & "node$exe" "$basedir/../protodef-validator/cli.js" $args + $ret=$LASTEXITCODE +} +exit $ret diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid new file mode 100644 index 00000000..316d9ab4 --- /dev/null +++ b/node_modules/.bin/uuid @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../uuid/dist/bin/uuid" "$@" + ret=$? +else + node "$basedir/../uuid/dist/bin/uuid" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/uuid.cmd b/node_modules/.bin/uuid.cmd new file mode 100644 index 00000000..37dae17f --- /dev/null +++ b/node_modules/.bin/uuid.cmd @@ -0,0 +1,17 @@ +@ECHO off +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +"%_prog%" "%dp0%\..\uuid\dist\bin\uuid" %* +ENDLOCAL +EXIT /b %errorlevel% +:find_dp0 +SET dp0=%~dp0 +EXIT /b diff --git a/node_modules/.bin/uuid.ps1 b/node_modules/.bin/uuid.ps1 new file mode 100644 index 00000000..58e864b4 --- /dev/null +++ b/node_modules/.bin/uuid.ps1 @@ -0,0 +1,18 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + & "$basedir/node$exe" "$basedir/../uuid/dist/bin/uuid" $args + $ret=$LASTEXITCODE +} else { + & "node$exe" "$basedir/../uuid/dist/bin/uuid" $args + $ret=$LASTEXITCODE +} +exit $ret diff --git a/node_modules/@xboxreplay/errors/README.md b/node_modules/@xboxreplay/errors/README.md new file mode 100644 index 00000000..af6f042e --- /dev/null +++ b/node_modules/@xboxreplay/errors/README.md @@ -0,0 +1,3 @@ +# Errors + +Common package used by `@xboxreplay` modules. diff --git a/node_modules/@xboxreplay/errors/dist/index.js b/node_modules/@xboxreplay/errors/dist/index.js new file mode 100644 index 00000000..d9b9d2ce --- /dev/null +++ b/node_modules/@xboxreplay/errors/dist/index.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const defaultMessage = 'Something went wrong...'; +const defaultDetails = { + statusCode: 500, + reason: 'INTERNAL_SERVER_ERROR' +}; +class XboxReplayError extends Error { + constructor(message = defaultMessage, details = {}) { + super(message); + this.__XboxReplay__ = true; + this.details = Object.assign({}, defaultDetails); + Error.captureStackTrace(this, XboxReplayError); + this.name = 'XboxReplayError'; + this.details = Object.assign({}, this.details, details); + } +} +XboxReplayError.details = Object.assign({}, defaultDetails); +exports.XboxReplayError = XboxReplayError; +exports.default = { + badRequest: (message = 'Bad request', reason = 'BAD_REQUEST') => new XboxReplayError(message, { + statusCode: 400, + reason + }), + unauthorized: (message = 'Unauthorized', reason = 'UNAUTHORIZED') => new XboxReplayError(message, { + statusCode: 401, + reason + }), + forbidden: (message = 'Forbidden', reason = 'FORBIDDEN') => new XboxReplayError(message, { + statusCode: 403, + reason + }), + internal: (message = defaultMessage, reason = defaultDetails.reason) => new XboxReplayError(message, { + statusCode: 500, + reason + }), + build: (message = '', details = Object.assign({}, XboxReplayError.details)) => { + if (typeof details === 'string') { + details = { + reason: details, + statusCode: defaultDetails.statusCode + }; + } + return new XboxReplayError(message, details); + } +}; diff --git a/node_modules/@xboxreplay/errors/index.d.ts b/node_modules/@xboxreplay/errors/index.d.ts new file mode 100644 index 00000000..1d1cbb07 --- /dev/null +++ b/node_modules/@xboxreplay/errors/index.d.ts @@ -0,0 +1,45 @@ +declare namespace XboxReplayError { + interface IXboxReplayError { + __XboxReplay__: boolean; + details: ErrorDetails; + } + + export type ErrorDetails = { + statusCode?: number; + reason?: string; + }; + + export class XboxReplayError extends Error implements IXboxReplayError { + static readonly details: Required; + constructor(message: string, details?: ErrorDetails); + __XboxReplay__: true; + details: ErrorDetails; + } + + export function internal( + message?: string, + reason?: string + ): XboxReplayError; + + export function unauthorized( + message?: string, + reason?: string + ): XboxReplayError; + + export function forbidden( + message?: string, + reason?: string + ): XboxReplayError; + + export function badRequest( + message?: string, + reason?: string + ): XboxReplayError; + + export function build( + message?: string, + details?: ErrorDetails | string + ): XboxReplayError; +} + +export = XboxReplayError; diff --git a/node_modules/@xboxreplay/errors/package.json b/node_modules/@xboxreplay/errors/package.json new file mode 100644 index 00000000..045d5ac9 --- /dev/null +++ b/node_modules/@xboxreplay/errors/package.json @@ -0,0 +1,59 @@ +{ + "_from": "@xboxreplay/errors@^0.1.0", + "_id": "@xboxreplay/errors@0.1.0", + "_inBundle": false, + "_integrity": "sha512-Tgz1d/OIPDWPeyOvuL5+aai5VCcqObhPnlI3skQuf80GVF3k1I0lPCnGC+8Cm5PV9aLBT5m8qPcJoIUQ2U4y9g==", + "_location": "/@xboxreplay/errors", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "@xboxreplay/errors@^0.1.0", + "name": "@xboxreplay/errors", + "escapedName": "@xboxreplay%2ferrors", + "scope": "@xboxreplay", + "rawSpec": "^0.1.0", + "saveSpec": null, + "fetchSpec": "^0.1.0" + }, + "_requiredBy": [ + "/@xboxreplay/xboxlive-auth" + ], + "_resolved": "https://registry.npmjs.org/@xboxreplay/errors/-/errors-0.1.0.tgz", + "_shasum": "e8daceb3c88c104872301d4193f54dc141a8d35a", + "_spec": "@xboxreplay/errors@^0.1.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\@xboxreplay\\xboxlive-auth", + "author": { + "name": "Alexis Bize", + "email": "alexis.bize@gmail.com" + }, + "bugs": { + "url": "https://github.com/XboxReplay/errors/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Common package used by `@xboxreplay` modules.", + "devDependencies": { + "@types/node": "^12.0.10", + "typescript": "^3.5.2" + }, + "homepage": "https://github.com/XboxReplay/errors#readme", + "keywords": [ + "xboxreplay" + ], + "license": "MIT", + "main": "./dist/index.js", + "name": "@xboxreplay/errors", + "repository": { + "type": "git", + "url": "git+https://github.com/XboxReplay/errors.git" + }, + "scripts": { + "build": "npm run clean && ./node_modules/.bin/tsc", + "clean": "rm -rf ./dist", + "prepublishOnly": "npm run test && npm run build", + "test": "echo \"No tests specified\"" + }, + "types": "./index.d.ts", + "version": "0.1.0" +} diff --git a/node_modules/@xboxreplay/xboxlive-auth/LICENCE b/node_modules/@xboxreplay/xboxlive-auth/LICENCE new file mode 100644 index 00000000..d1f892d2 --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/LICENCE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2019-Present Alexis Bize + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/@xboxreplay/xboxlive-auth/README.md b/node_modules/@xboxreplay/xboxlive-auth/README.md new file mode 100644 index 00000000..89fc29b2 --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/README.md @@ -0,0 +1,77 @@ +# Xbox Live - Auth + +Simple Xbox Live authentication module. + +### Installation +```shell +$ npm install @xboxreplay/xboxlive-auth +``` + +### Usage example + +```javascript +import XboxLiveAuth from '@xboxreplay/xboxlive-auth'; + +XboxLiveAuth.authenticate('xbl-account@your-domain.com', '*********') + .then(console.info) + .catch(console.error); +``` +**Sample response:** +``` +{ + "userXUID": "2584878536129841", // May be null + "userHash": "3218841136841218711", + "XSTSToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiWGJveFJlcGxheS5uZXQifQ.c2UraxPmZ4STYozrjFEW8SBqU0WjnIV0h-jjnfsKtrA", + "expiresOn": "2020-04-13T05:43:32.6275675Z" +} +``` + +### Parameters + +- email {string} +- password {string} +- options {Object?} + - XSTSRelyingParty {string?} - Default: http://xboxlive.com + +### How to interact with the Xbox Live API? + +The best way to interact with the API is to use our [XboxLive-API](https://github.com/XboxReplay/xboxlive-api) module. That said, a cURL example is available below. + +**Sample call:** +```shell +$ curl 'https://profile.xboxlive.com/users/gt(Major%20Nelson)/profile/settings?settings=Gamerscore' \ + -H 'Authorization: XBL3.0 x={userHash};{XSTSToken}' \ + -H 'x-xbl-contract-version: 2' +``` + +**Sample response:** + +```javascript +{ + "profileUsers": [ + { + "id": "2584878536129841", + "hostId": "2584878536129841", + "settings": [ + { + "id": "Gamerscore", + "value": "911540" + } + ], + "isSponsoredUser": false + } + ] +} +``` + +### What's a "XSTSRelyingParty"? + +The "XSTSRelyingParty" is a domain configured by Microsoft and / or its partners to create a XSTS token which is intended to be used for a targeted service. For instance, if you use `http://beam.pro/` you will be able to interact with the private **Mixer.com** API. A partial list can be found here: https://title.mgt.xboxlive.com/titles/default/endpoints?type=1. + +### What about 2FA (Two-factor authentication)? + +2FA is not supported by this module which may cause authentication issues. Please disable it for the used account or create a dummy one with Xbox LIVE capabalities. Of course, a Gold account is not required. + +### I'm unable to connect even with valid credentials and no 2FA + +Take a look at https://account.live.com/activity. Recent activities (from unknown location, as a production server) may be blocked. diff --git a/node_modules/@xboxreplay/xboxlive-auth/dist/config.d.ts b/node_modules/@xboxreplay/xboxlive-auth/dist/config.d.ts new file mode 100644 index 00000000..53750c27 --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/dist/config.d.ts @@ -0,0 +1,17 @@ +export declare const USER_AGENT: string; +declare const _default: { + request: { + baseHeaders: { + 'Accept-encoding': string; + 'Accept-Language': string; + 'User-Agent': string; + }; + }; + gitHubLinks: { + createIssue: string; + seeUserTokenIssue: string; + twoFactorAuthenticationError: string; + unauthorizedActivityError: string; + }; +}; +export default _default; diff --git a/node_modules/@xboxreplay/xboxlive-auth/dist/config.js b/node_modules/@xboxreplay/xboxlive-auth/dist/config.js new file mode 100644 index 00000000..72cc6fff --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/dist/config.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.USER_AGENT = [ + 'Mozilla/5.0 (XboxReplay; XboxLiveAuth/3.0)', + 'AppleWebKit/537.36 (KHTML, like Gecko)', + 'Chrome/71.0.3578.98 Safari/537.36' +].join(' '); +exports.default = { + request: { + baseHeaders: { + 'Accept-encoding': 'gzip', + 'Accept-Language': 'en-US', + 'User-Agent': exports.USER_AGENT + } + }, + gitHubLinks: { + createIssue: 'https://bit.ly/xr-xbl-auth-create-issue', + seeUserTokenIssue: 'https://bit.ly/xr-xbl-auth-user-token-issue', + twoFactorAuthenticationError: 'https://bit.ly/xr-xbl-auth-err-2fa', + unauthorizedActivityError: 'https://bit.ly/xr-xbl-auth-err-activity' + } +}; diff --git a/node_modules/@xboxreplay/xboxlive-auth/dist/core/live/config.d.ts b/node_modules/@xboxreplay/xboxlive-auth/dist/core/live/config.d.ts new file mode 100644 index 00000000..d8ed6825 --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/dist/core/live/config.d.ts @@ -0,0 +1,16 @@ +declare const _default: { + uris: { + authorize: string; + }; + queries: { + authorize: { + client_id: string; + redirect_uri: string; + scope: string; + display: string; + response_type: string; + locale: string; + }; + }; +}; +export default _default; diff --git a/node_modules/@xboxreplay/xboxlive-auth/dist/core/live/config.js b/node_modules/@xboxreplay/xboxlive-auth/dist/core/live/config.js new file mode 100644 index 00000000..01d1b7d6 --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/dist/core/live/config.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const CLIENT_IDS = { + MY_XBOX_LIVE: '0000000048093EE3', + XBOX_APP: '000000004C12AE6F' +}; +exports.default = { + uris: { + authorize: 'https://login.live.com/oauth20_authorize.srf' + }, + queries: { + authorize: { + client_id: CLIENT_IDS.XBOX_APP, + redirect_uri: 'https://login.live.com/oauth20_desktop.srf', + scope: 'service::user.auth.xboxlive.com::MBI_SSL', + display: 'touch', + response_type: 'token', + locale: 'en' + } + } +}; diff --git a/node_modules/@xboxreplay/xboxlive-auth/dist/core/live/index.d.ts b/node_modules/@xboxreplay/xboxlive-auth/dist/core/live/index.d.ts new file mode 100644 index 00000000..c30a8b1b --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/dist/core/live/index.d.ts @@ -0,0 +1,3 @@ +import { PreAuthResponse, Credentials, LogUserResponse } from '../..'; +export declare const preAuth: () => Promise; +export declare const logUser: (preAuthResponse: PreAuthResponse, credentials: Credentials) => Promise; diff --git a/node_modules/@xboxreplay/xboxlive-auth/dist/core/live/index.js b/node_modules/@xboxreplay/xboxlive-auth/dist/core/live/index.js new file mode 100644 index 00000000..d3ac70b6 --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/dist/core/live/index.js @@ -0,0 +1,88 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const errors_1 = __importDefault(require("@xboxreplay/errors")); +const axios_1 = __importDefault(require("axios")); +const config_1 = __importDefault(require("./config")); +const config_2 = __importDefault(require("../../config")); +const querystring_1 = require("querystring"); +const _getMatchForIndex = (entry, regex, index = 0) => { + const match = entry.match(regex); + return (match === null || match === void 0 ? void 0 : match[index]) || void 0; +}; +const _requiresIdentityConfirmation = (body) => { + const m1 = _getMatchForIndex(body, /id=\"fmHF\" action=\"(.*?)\"/, 1); + const m2 = _getMatchForIndex(m1 || '', /identity\/confirm/, 0); + return m2 !== null; +}; +exports.preAuth = () => axios_1.default + .get(`${config_1.default.uris.authorize}?${querystring_1.stringify(Object.assign({}, config_1.default.queries.authorize))}`, { headers: config_2.default.request.baseHeaders }) + .then(response => { + if (response.status !== 200) { + throw errors_1.default.internal('Pre-authentication failed.'); + } + const body = (response.data || ''); + const cookie = (response.headers['set-cookie'] || []) + .map((c) => c.split(';')[0]) + .join('; '); + const matches = { + PPFT: _getMatchForIndex(body, /sFTTag:'.*value=\"(.*)\"\/>'/, 1), + urlPost: _getMatchForIndex(body, /urlPost:'(.+?(?=\'))/, 1) + }; + if (matches.PPFT === void 0) + throw errors_1.default.internal(`Could not match "PPFT" parameter, please fill an issue on ${config_2.default.gitHubLinks.createIssue}`); + else if (matches.urlPost === void 0) + throw errors_1.default.internal(`Could not match "urlPost" parameter, please fill an issue on ${config_2.default.gitHubLinks.createIssue}`); + return { + cookie, + matches: { + PPFT: matches.PPFT, + urlPost: matches.urlPost + } + }; +}) + .catch(err => { + if (!!err.__XboxReplay__) + throw err; + else + throw errors_1.default.internal(err.message); +}); +exports.logUser = (preAuthResponse, credentials) => axios_1.default + .post(preAuthResponse.matches.urlPost, querystring_1.stringify({ + login: credentials.email, + loginfmt: credentials.email, + passwd: credentials.password, + PPFT: preAuthResponse.matches.PPFT +}), { + maxRedirects: 1, + headers: Object.assign(Object.assign({}, config_2.default.request.baseHeaders), { 'Content-Type': 'application/x-www-form-urlencoded', Cookie: preAuthResponse.cookie }) +}) + .then(response => { + var _a; + if (response.status !== 200) { + throw errors_1.default.internal(`Authentication failed.`); + } + const body = (response.data || ''); + const { responseUrl = '' } = ((_a = response.request) === null || _a === void 0 ? void 0 : _a.res) || {}; + const hash = responseUrl.split('#')[1]; + if (responseUrl === preAuthResponse.matches.urlPost) { + throw errors_1.default.unauthorized('Invalid credentials.'); + } + if (hash === void 0) { + const errorMessage = _requiresIdentityConfirmation(body) === true + ? `Activity confirmation required, please refer to ${config_2.default.gitHubLinks.unauthorizedActivityError}` + : `Invalid credentials or 2FA enabled, please refer to ${config_2.default.gitHubLinks.twoFactorAuthenticationError}`; + throw errors_1.default.unauthorized(errorMessage); + } + const parseHash = querystring_1.parse(hash); + parseHash.expires_in = Number(parseHash.expires_in); + return parseHash; +}) + .catch(err => { + if (!!err.__XboxReplay__) + throw err; + else + throw errors_1.default.internal(err.message); +}); diff --git a/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/config.d.ts b/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/config.d.ts new file mode 100644 index 00000000..3b0d08cb --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/config.d.ts @@ -0,0 +1,9 @@ +declare const _default: { + uris: { + userAuthenticate: string; + deviceAuthenticate: string; + XSTSAuthorize: string; + }; + defaultRelyingParty: string; +}; +export default _default; diff --git a/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/config.js b/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/config.js new file mode 100644 index 00000000..531a68bc --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/config.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + uris: { + userAuthenticate: 'https://user.auth.xboxlive.com/user/authenticate', + deviceAuthenticate: 'https://device.auth.xboxlive.com/device/authenticate', + XSTSAuthorize: 'https://xsts.auth.xboxlive.com/xsts/authorize' + }, + defaultRelyingParty: 'http://xboxlive.com' +}; diff --git a/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/index.d.ts b/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/index.d.ts new file mode 100644 index 00000000..235cfdb6 --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/index.d.ts @@ -0,0 +1,5 @@ +import { ExchangeRpsTicketResponse, AuthenticateResponse, ExchangeResponse, TokensExchangeProperties, TokensExchangeOptions, AuthenticateDeviceResponse } from '../..'; +export declare const exchangeRpsTicketForUserToken: (RpsTicket: string) => Promise; +export declare const exchangeTokensForXSTSIdentity: ({ userToken, deviceToken, titleToken }: TokensExchangeProperties, { XSTSRelyingParty, optionalDisplayClaims, raw }?: TokensExchangeOptions) => Promise; +export declare const exchangeUserTokenForXSTSIdentity: (userToken: string, options: TokensExchangeOptions) => Promise; +export declare const authenticateDevice: () => Promise; diff --git a/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/index.js b/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/index.js new file mode 100644 index 00000000..d901ae1f --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/index.js @@ -0,0 +1,113 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const errors_1 = __importDefault(require("@xboxreplay/errors")); +const axios_1 = __importDefault(require("axios")); +const config_1 = __importDefault(require("./config")); +const config_2 = __importDefault(require("../../config")); +const signing_1 = require("./signing"); +exports.exchangeRpsTicketForUserToken = (RpsTicket) => axios_1.default + .post(config_1.default.uris.userAuthenticate, { + RelyingParty: 'http://auth.xboxlive.com', + TokenType: 'JWT', + Properties: { + AuthMethod: 'RPS', + SiteName: 'user.auth.xboxlive.com', + RpsTicket + } +}, { + headers: Object.assign(Object.assign({}, config_2.default.request.baseHeaders), { Accept: 'application/json', 'x-xbl-contract-version': 0 }) +}) + .then(response => { + if (response.status !== 200) + throw errors_1.default.internal('Could not exchange specified "RpsTicket"'); + else + return response.data; +}) + .catch(err => { + if (!!err.__XboxReplay__) + throw err; + else + throw errors_1.default.internal(err.message); +}); +exports.exchangeTokensForXSTSIdentity = ({ userToken, deviceToken, titleToken }, { XSTSRelyingParty, optionalDisplayClaims, raw } = {}) => axios_1.default + .post(config_1.default.uris.XSTSAuthorize, { + RelyingParty: XSTSRelyingParty || config_1.default.defaultRelyingParty, + TokenType: 'JWT', + Properties: { + UserTokens: [userToken], + DeviceToken: deviceToken, + TitleToken: titleToken, + OptionalDisplayClaims: optionalDisplayClaims, + SandboxId: 'RETAIL' + } +}, { + headers: Object.assign(Object.assign({}, config_2.default.request.baseHeaders), { Accept: 'application/json', 'x-xbl-contract-version': 1 }) +}) + .then(response => { + if (response.status !== 200) { + throw errors_1.default.internal('Could not exchange specified "userToken"'); + } + if (raw !== true) { + const body = response.data; + return { + userXUID: body.DisplayClaims.xui[0].xid || null, + userHash: body.DisplayClaims.xui[0].uhs, + XSTSToken: body.Token, + expiresOn: body.NotAfter + }; + } + else + return response.data; +}) + .catch(err => { + var _a; + if (!!err.__XboxReplay__) + throw err; + else if (((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) === 400) { + const isDefaultRelyingParty = XSTSRelyingParty === config_1.default.defaultRelyingParty; + const computedErrorMessage = [ + 'Could not exchange "userToken", please', + `refer to ${config_2.default.gitHubLinks.seeUserTokenIssue}` + ]; + if (isDefaultRelyingParty === false) + computedErrorMessage.splice(1, 0, 'double check the specified "XSTSRelyingParty" or'); + throw errors_1.default.internal(computedErrorMessage.join(' ')); + } + else + throw errors_1.default.internal(err.message); +}); +exports.exchangeUserTokenForXSTSIdentity = (userToken, options) => exports.exchangeTokensForXSTSIdentity({ userToken }, options); +exports.authenticateDevice = () => { + const requestBody = { + RelyingParty: 'http://auth.xboxlive.com', + TokenType: 'JWT', + Properties: { + AuthMethod: 'ProofOfPossession', + Id: '362194C6-D6F5-469C-9E80-9F687D489D32', + DeviceType: 'iOS', + Version: '13.3.1', + ProofKey: signing_1.createProofKey('', '') + } + }; + const signature = signing_1.createRequestSignature(config_1.default.uris.deviceAuthenticate, 'POST', requestBody, null); + return axios_1.default + .post(config_1.default.uris.deviceAuthenticate, requestBody, { + headers: Object.assign(Object.assign({}, config_2.default.request.baseHeaders), { Accept: 'application/json', Signature: signature, 'x-xbl-contract-version': 1 }) + }) + .then(response => { + if (response.status !== 200) + throw errors_1.default.internal('Device authentication failed.'); + else + return response.data; + }) + .catch(err => { + console.error(err); + if (!!err.__XboxReplay__) + throw err; + else + throw errors_1.default.internal(err.message); + }); +}; diff --git a/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/signing.d.ts b/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/signing.d.ts new file mode 100644 index 00000000..2dff67eb --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/signing.d.ts @@ -0,0 +1,9 @@ +export declare const createRequestSignature: (_httpUrl: string, _httpMethod?: string, _httpBody?: object | null, _additionalHttpHeaders?: object | null, _policy?: number) => string; +export declare const createProofKey: (_key?: string, _algorithm?: string) => { + crv: string; + alg: string; + use: string; + kty: string; + x: string; + y: string; +}; diff --git a/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/signing.js b/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/signing.js new file mode 100644 index 00000000..4d142a5b --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/dist/core/xboxlive/signing.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createRequestSignature = (_httpUrl, _httpMethod = 'GET', _httpBody = null, _additionalHttpHeaders = null, _policy = 1) => [ + 'AAAAAQHWE', + 'Co4YHRo7AHZkg9D6g77rucMoM2jMEjHvY6uxSSlxYu0+cvtsoxO/mQqSRaUyfVCEEK8xXiGEAPyatnbSA4QBc6Zj6QpyQ==' +].join(''); +exports.createProofKey = (_key = '', _algorithm = 'ES256') => ({ + crv: 'P-256', + alg: 'ES256', + use: 'sig', + kty: 'EC', + x: 'VndKQ5-gNBOiiaTwwCiTcQVxcxEARCYW-naPY0gwMHA', + y: 'PiWV3igPgU-FRBPkdLisyglo5OYxCXE1hwK7OxKNKEg' +}); diff --git a/node_modules/@xboxreplay/xboxlive-auth/dist/index.d.ts b/node_modules/@xboxreplay/xboxlive-auth/dist/index.d.ts new file mode 100644 index 00000000..31da5cb8 --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/dist/index.d.ts @@ -0,0 +1,63 @@ +import { preAuth, logUser } from './core/live'; +import { exchangeRpsTicketForUserToken, exchangeUserTokenForXSTSIdentity, exchangeTokensForXSTSIdentity } from './core/xboxlive'; +export declare type Credentials = { + email: string; + password: string; +}; +export declare type TokensExchangeProperties = { + userToken: string; + deviceToken?: string; + titleToken?: string; +}; +export declare type TokensExchangeOptions = { + XSTSRelyingParty?: string; + optionalDisplayClaims?: string[]; + raw?: boolean; +}; +export declare type AuthenticateOptions = { + XSTSRelyingParty?: string; +}; +export declare type PreAuthResponse = { + cookie: string; + matches: { + PPFT: string; + urlPost: string; + }; +}; +export declare type LogUserResponse = { + access_token: string; + token_type: string; + expires_in: number; + scope: string; + refresh_token: string; + user_id: string; +}; +export declare type ExchangeResponse = { + IssueInstant: string; + NotAfter: string; + Token: string; + DisplayClaims: object; +}; +export declare type ExchangeRpsTicketResponse = ExchangeResponse & { + DisplayClaims: { + xui: [{ + uhs: string; + }]; + }; +}; +export declare type AuthenticateDeviceResponse = ExchangeResponse & { + DisplayClaims: { + xdi: { + did: string; + dcs: string; + }; + }; +}; +export declare type AuthenticateResponse = { + userXUID: string | null; + userHash: string; + XSTSToken: string; + expiresOn: string; +}; +export declare const authenticate: (email: string, password: string, options?: AuthenticateOptions) => Promise; +export { preAuth, logUser, exchangeRpsTicketForUserToken, exchangeUserTokenForXSTSIdentity, exchangeTokensForXSTSIdentity }; diff --git a/node_modules/@xboxreplay/xboxlive-auth/dist/index.js b/node_modules/@xboxreplay/xboxlive-auth/dist/index.js new file mode 100644 index 00000000..529f1f4f --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/dist/index.js @@ -0,0 +1,24 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const live_1 = require("./core/live"); +exports.preAuth = live_1.preAuth; +exports.logUser = live_1.logUser; +const xboxlive_1 = require("./core/xboxlive"); +exports.exchangeRpsTicketForUserToken = xboxlive_1.exchangeRpsTicketForUserToken; +exports.exchangeUserTokenForXSTSIdentity = xboxlive_1.exchangeUserTokenForXSTSIdentity; +exports.exchangeTokensForXSTSIdentity = xboxlive_1.exchangeTokensForXSTSIdentity; +exports.authenticate = (email, password, options = {}) => __awaiter(void 0, void 0, void 0, function* () { + const preAuthResponse = yield live_1.preAuth(); + const logUserResponse = yield live_1.logUser(preAuthResponse, { email, password }); + const exchangeRpsTicketForUserTokenResponse = yield xboxlive_1.exchangeRpsTicketForUserToken(logUserResponse.access_token); + return xboxlive_1.exchangeUserTokenForXSTSIdentity(exchangeRpsTicketForUserTokenResponse.Token, { XSTSRelyingParty: options.XSTSRelyingParty, raw: false }); +}); diff --git a/node_modules/@xboxreplay/xboxlive-auth/package.json b/node_modules/@xboxreplay/xboxlive-auth/package.json new file mode 100644 index 00000000..94358e51 --- /dev/null +++ b/node_modules/@xboxreplay/xboxlive-auth/package.json @@ -0,0 +1,66 @@ +{ + "_from": "@xboxreplay/xboxlive-auth@^3.3.0", + "_id": "@xboxreplay/xboxlive-auth@3.3.0", + "_inBundle": false, + "_integrity": "sha512-4bKgw35kq8NGxt2lGmBVXTdieTs1E+JGWrf/shMWpdLIhZ0okRTJ/bpBo/Foa9YZXka+8wWb0pQu92MWKacCFA==", + "_location": "/@xboxreplay/xboxlive-auth", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "@xboxreplay/xboxlive-auth@^3.3.0", + "name": "@xboxreplay/xboxlive-auth", + "escapedName": "@xboxreplay%2fxboxlive-auth", + "scope": "@xboxreplay", + "rawSpec": "^3.3.0", + "saveSpec": null, + "fetchSpec": "^3.3.0" + }, + "_requiredBy": [ + "/minecraft-protocol" + ], + "_resolved": "https://registry.npmjs.org/@xboxreplay/xboxlive-auth/-/xboxlive-auth-3.3.0.tgz", + "_shasum": "d69118210a21cfd1645bf62d005532b18620e760", + "_spec": "@xboxreplay/xboxlive-auth@^3.3.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\minecraft-protocol", + "author": { + "name": "Alexis Bize", + "email": "alexis.bize@gmail.com" + }, + "bugs": { + "url": "https://github.com/XboxReplay/xboxlive-auth/issues" + }, + "bundleDependencies": false, + "dependencies": { + "@xboxreplay/errors": "^0.1.0", + "axios": "^0.19.2" + }, + "deprecated": false, + "description": "Simple Xbox Live authentication module.", + "devDependencies": { + "@types/node": "^13.11.1", + "ts-node": "^8.8.2", + "typescript": "^3.8.3" + }, + "homepage": "https://github.com/XboxReplay/xboxlive-auth#readme", + "keywords": [ + "xboxreplay", + "xboxlive", + "auth" + ], + "license": "MIT", + "main": "./dist/index.js", + "name": "@xboxreplay/xboxlive-auth", + "repository": { + "type": "git", + "url": "git+https://github.com/XboxReplay/xboxlive-auth.git" + }, + "scripts": { + "build": "npm run clean && ./node_modules/.bin/tsc && rm -rf ./dist/__tests__", + "clean": "rm -rf ./dist", + "prepublishOnly": "npm run test && npm run build", + "test": "ts-node ./__tests__/e2e.test.js" + }, + "types": "./dist/index.d.ts", + "version": "3.3.0" +} diff --git a/node_modules/aes-js/LICENSE.txt b/node_modules/aes-js/LICENSE.txt new file mode 100644 index 00000000..8a40a384 --- /dev/null +++ b/node_modules/aes-js/LICENSE.txt @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Richard Moore + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/node_modules/aes-js/README.md b/node_modules/aes-js/README.md new file mode 100644 index 00000000..97f7c3c3 --- /dev/null +++ b/node_modules/aes-js/README.md @@ -0,0 +1,406 @@ +AES-JS +====== + +[![npm version](https://badge.fury.io/js/aes-js.svg)](https://badge.fury.io/js/aes-js) + +A pure JavaScript implementation of the AES block cipher algorithm and all common modes of operation (CBC, CFB, CTR, ECB and OFB). + +Features +-------- + +- Pure JavaScript (with no dependencies) +- Supports all key sizes (128-bit, 192-bit and 256-bit) +- Supports all common modes of operation (CBC, CFB, CTR, ECB and OFB) +- Works in either node.js or web browsers + +Migrating from 2.x to 3.x +------------------------- + +The utility functions have been renamed in the 3.x branch, since they were causing a great deal of confusion converting between bytes and string. + +The examples have also been updated to encode binary data as printable hex strings. + +**Strings and Bytes** + +Strings should **NOT** be used as keys. UTF-8 allows variable length, multi-byte characters, so a string that is 16 *characters* long may not be 16 *bytes* long. + +Also, UTF8 should **NOT** be used to store arbitrary binary data as it is a *string* encoding format, not a *binary* encoding format. + +```javascript +// aesjs.util.convertStringToBytes(aString) +// Becomes: +aesjs.utils.utf8.toBytes(aString) + + +// aesjs.util.convertBytesToString(aString) +// Becomes: +aesjs.utils.utf8.fromBytes(aString) +``` + +**Bytes and Hex strings** + +Binary data, such as encrypted bytes, can safely be stored and printed as hexidecimal strings. + +```javascript +// aesjs.util.convertStringToBytes(aString, 'hex') +// Becomes: +aesjs.utils.hex.toBytes(aString) + + +// aesjs.util.convertBytesToString(aString, 'hex') +// Becomes: +aesjs.utils.hex.fromBytes(aString) +``` + +**Typed Arrays** + +The 3.x and above versions of aes-js use [Uint8Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) instead of Array, which reduces code size when used with Browserify (it no longer pulls in Buffer) and is also about **twice** the speed. + +However, if you need to support browsers older than IE 10, you should continue using version 2.x. + + +API +=== + +#### Node.js + +To install `aes-js` in your node.js project: + +``` +npm install aes-js +``` + +And to access it from within node, simply add: + +```javascript +var aesjs = require('aes-js'); +``` + +#### Web Browser + +To use `aes-js` in a web page, add the following: + +```html + +``` + +Keys +---- + +All keys must be 128 bits (16 bytes), 192 bits (24 bytes) or 256 bits (32 bytes) long. + +The library work with `Array`, `Uint8Array` and `Buffer` objects as well as any *array-like* object (i.e. must have a `length` property, and have a valid byte value for each entry). + +```javascript +// 128-bit, 192-bit and 256-bit keys +var key_128 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]; +var key_192 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23]; +var key_256 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31]; + +// or, you may use Uint8Array: +var key_128_array = new Uint8Array(key_128); +var key_192_array = new Uint8Array(key_192); +var key_256_array = new Uint8Array(key_256); + +// or, you may use Buffer in node.js: +var key_128_buffer = Buffer.from(key_128); +var key_192_buffer = Buffer.from(key_192); +var key_256_buffer = Buffer.from(key_256); +``` + + +To generate keys from simple-to-remember passwords, consider using a password-based key-derivation function such as [scrypt](https://www.npmjs.com/package/scrypt-js) or [bcrypt](https://www.npmjs.com/search?q=bcrypt). + + +Common Modes of Operation +------------------------- + +There are several modes of operations, each with various pros and cons. In general though, the **CBC** and **CTR** modes are recommended. The **ECB is NOT recommended.**, and is included primarily for completeness. + +### CTR - Counter (recommended) + +```javascript +// An example 128-bit key (16 bytes * 8 bits/byte = 128 bits) +var key = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ]; + +// Convert text to bytes +var text = 'Text may be any length you wish, no padding is required.'; +var textBytes = aesjs.utils.utf8.toBytes(text); + +// The counter is optional, and if omitted will begin at 1 +var aesCtr = new aesjs.ModeOfOperation.ctr(key, new aesjs.Counter(5)); +var encryptedBytes = aesCtr.encrypt(textBytes); + +// To print or store the binary data, you may convert it to hex +var encryptedHex = aesjs.utils.hex.fromBytes(encryptedBytes); +console.log(encryptedHex); +// "a338eda3874ed884b6199150d36f49988c90f5c47fe7792b0cf8c7f77eeffd87 +// ea145b73e82aefcf2076f881c88879e4e25b1d7b24ba2788" + +// When ready to decrypt the hex string, convert it back to bytes +var encryptedBytes = aesjs.utils.hex.toBytes(encryptedHex); + +// The counter mode of operation maintains internal state, so to +// decrypt a new instance must be instantiated. +var aesCtr = new aesjs.ModeOfOperation.ctr(key, new aesjs.Counter(5)); +var decryptedBytes = aesCtr.decrypt(encryptedBytes); + +// Convert our bytes back into text +var decryptedText = aesjs.utils.utf8.fromBytes(decryptedBytes); +console.log(decryptedText); +// "Text may be any length you wish, no padding is required." +``` + + +### CBC - Cipher-Block Chaining (recommended) + +```javascript +// An example 128-bit key +var key = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ]; + +// The initialization vector (must be 16 bytes) +var iv = [ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,35, 36 ]; + +// Convert text to bytes (text must be a multiple of 16 bytes) +var text = 'TextMustBe16Byte'; +var textBytes = aesjs.utils.utf8.toBytes(text); + +var aesCbc = new aesjs.ModeOfOperation.cbc(key, iv); +var encryptedBytes = aesCbc.encrypt(textBytes); + +// To print or store the binary data, you may convert it to hex +var encryptedHex = aesjs.utils.hex.fromBytes(encryptedBytes); +console.log(encryptedHex); +// "104fb073f9a131f2cab49184bb864ca2" + +// When ready to decrypt the hex string, convert it back to bytes +var encryptedBytes = aesjs.utils.hex.toBytes(encryptedHex); + +// The cipher-block chaining mode of operation maintains internal +// state, so to decrypt a new instance must be instantiated. +var aesCbc = new aesjs.ModeOfOperation.cbc(key, iv); +var decryptedBytes = aesCbc.decrypt(encryptedBytes); + +// Convert our bytes back into text +var decryptedText = aesjs.utils.utf8.fromBytes(decryptedBytes); +console.log(decryptedText); +// "TextMustBe16Byte" +``` + + +### CFB - Cipher Feedback + +```javascript +// An example 128-bit key +var key = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ]; + +// The initialization vector (must be 16 bytes) +var iv = [ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,35, 36 ]; + +// Convert text to bytes (must be a multiple of the segment size you choose below) +var text = 'TextMustBeAMultipleOfSegmentSize'; +var textBytes = aesjs.utils.utf8.toBytes(text); + +// The segment size is optional, and defaults to 1 +var segmentSize = 8; +var aesCfb = new aesjs.ModeOfOperation.cfb(key, iv, segmentSize); +var encryptedBytes = aesCfb.encrypt(textBytes); + +// To print or store the binary data, you may convert it to hex +var encryptedHex = aesjs.utils.hex.fromBytes(encryptedBytes); +console.log(encryptedHex); +// "55e3af2638c560b4fdb9d26a630733ea60197ec23deb85b1f60f71f10409ce27" + +// When ready to decrypt the hex string, convert it back to bytes +var encryptedBytes = aesjs.utils.hex.toBytes(encryptedHex); + +// The cipher feedback mode of operation maintains internal state, +// so to decrypt a new instance must be instantiated. +var aesCfb = new aesjs.ModeOfOperation.cfb(key, iv, 8); +var decryptedBytes = aesCfb.decrypt(encryptedBytes); + +// Convert our bytes back into text +var decryptedText = aesjs.utils.utf8.fromBytes(decryptedBytes); +console.log(decryptedText); +// "TextMustBeAMultipleOfSegmentSize" +``` + + +### OFB - Output Feedback + +```javascript +// An example 128-bit key +var key = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ]; + +// The initialization vector (must be 16 bytes) +var iv = [ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,35, 36 ]; + +// Convert text to bytes +var text = 'Text may be any length you wish, no padding is required.'; +var textBytes = aesjs.utils.utf8.toBytes(text); + +var aesOfb = new aesjs.ModeOfOperation.ofb(key, iv); +var encryptedBytes = aesOfb.encrypt(textBytes); + +// To print or store the binary data, you may convert it to hex +var encryptedHex = aesjs.utils.hex.fromBytes(encryptedBytes); +console.log(encryptedHex); +// "55e3af2655dd72b9f32456042f39bae9accff6259159e608be55a1aa313c598d +// b4b18406d89c83841c9d1af13b56de8eda8fcfe9ec8e75e8" + +// When ready to decrypt the hex string, convert it back to bytes +var encryptedBytes = aesjs.utils.hex.toBytes(encryptedHex); + +// The output feedback mode of operation maintains internal state, +// so to decrypt a new instance must be instantiated. +var aesOfb = new aesjs.ModeOfOperation.ofb(key, iv); +var decryptedBytes = aesOfb.decrypt(encryptedBytes); + +// Convert our bytes back into text +var decryptedText = aesjs.utils.utf8.fromBytes(decryptedBytes); +console.log(decryptedText); +// "Text may be any length you wish, no padding is required." +``` + + +### ECB - Electronic Codebook (NOT recommended) + +This mode is **not** recommended. Since, for a given key, the same plaintext block in produces the same ciphertext block out, this mode of operation can leak data, such as patterns. For more details and examples, see the Wikipedia article, [Electronic Codebook](http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Electronic_Codebook_.28ECB.29). + +```javascript +// An example 128-bit key +var key = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ]; + +// Convert text to bytes +var text = 'TextMustBe16Byte'; +var textBytes = aesjs.utils.utf8.toBytes(text); + +var aesEcb = new aesjs.ModeOfOperation.ecb(key); +var encryptedBytes = aesEcb.encrypt(textBytes); + +// To print or store the binary data, you may convert it to hex +var encryptedHex = aesjs.utils.hex.fromBytes(encryptedBytes); +console.log(encryptedHex); +// "a7d93b35368519fac347498dec18b458" + +// When ready to decrypt the hex string, convert it back to bytes +var encryptedBytes = aesjs.utils.hex.toBytes(encryptedHex); + +// Since electronic codebook does not store state, we can +// reuse the same instance. +//var aesEcb = new aesjs.ModeOfOperation.ecb(key); +var decryptedBytes = aesEcb.decrypt(encryptedBytes); + +// Convert our bytes back into text +var decryptedText = aesjs.utils.utf8.fromBytes(decryptedBytes); +console.log(decryptedText); +// "TextMustBe16Byte" +``` + + + +Block Cipher +------------ + +You should usually use one of the above common modes of operation. Using the block cipher algorithm directly is also possible using **ECB** as that mode of operation is merely a thin wrapper. + +But this might be useful to experiment with custom modes of operation or play with block cipher algorithms. + +```javascript + +// the AES block cipher algorithm works on 16 byte bloca ks, no more, no less +var text = "ABlockIs16Bytes!"; +var textAsBytes = aesjs.utils.utf8.toBytes(text) +console.log(textAsBytes); +// [65, 66, 108, 111, 99, 107, 73, 115, 49, 54, 66, 121, 116, 101, 115, 33] + +// create an instance of the block cipher algorithm +var key = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3]; +var aes = new aesjs.AES(key); + +// encrypt... +var encryptedBytes = aes.encrypt(textAsBytes); +console.log(encryptedBytes); +// [136, 15, 199, 174, 118, 133, 233, 177, 143, 47, 42, 211, 96, 55, 107, 109] + +// To print or store the binary data, you may convert it to hex +var encryptedHex = aesjs.utils.hex.fromBytes(encryptedBytes); +console.log(encryptedHex); +// "880fc7ae7685e9b18f2f2ad360376b6d" + +// When ready to decrypt the hex string, convert it back to bytes +var encryptedBytes = aesjs.utils.hex.toBytes(encryptedHex); + +// decrypt... +var decryptedBytes = aes.decrypt(encryptedBytes); +console.log(decryptedBytes); +// [65, 66, 108, 111, 99, 107, 73, 115, 49, 54, 66, 121, 116, 101, 115, 33] + + +// decode the bytes back into our original text +var decryptedText = aesjs.utils.utf8.fromBytes(decryptedBytes); +console.log(decryptedText); +// "ABlockIs16Bytes!" +``` + + +Notes +===== + +What is a Key +------------- + +This seems to be a point of confusion for many people new to using encryption. You can think of the key as the *"password"*. However, these algorithms require the *"password"* to be a specific length. + +With AES, there are three possible key lengths, 128-bit (16 bytes), 192-bit (24 bytes) or 256-bit (32 bytes). When you create an AES object, the key size is automatically detected, so it is important to pass in a key of the correct length. + +Often, you wish to provide a password of arbitrary length, for example, something easy to remember or write down. In these cases, you must come up with a way to transform the password into a key of a specific length. A **Password-Based Key Derivation Function** (PBKDF) is an algorithm designed for this exact purpose. + +Here is an example, using the popular (possibly obsolete?) pbkdf2: + +```javascript +var pbkdf2 = require('pbkdf2'); + +var key_128 = pbkdf2.pbkdf2Sync('password', 'salt', 1, 128 / 8, 'sha512'); +var key_192 = pbkdf2.pbkdf2Sync('password', 'salt', 1, 192 / 8, 'sha512'); +var key_256 = pbkdf2.pbkdf2Sync('password', 'salt', 1, 256 / 8, 'sha512'); +``` + +Another possibility, is to use a hashing function, such as SHA256 to hash the password, but this method is vulnerable to [Rainbow Attacks](http://en.wikipedia.org/wiki/Rainbow_table), unless you use a [salt](http://en.wikipedia.org/wiki/Salt_(cryptography)). + +Performance +----------- + +Todo... + +Tests +----- + +A test suite has been generated (`test/test-vectors.json`) from a known correct implementation, [pycrypto](https://www.dlitz.net/software/pycrypto/). To generate new test vectors, run `python generate-tests.py`. + +To run the node.js test suite: + +``` +npm test +``` + +To run the web browser tests, open the `test/test.html` file in your browser. + +FAQ +--- + +#### How do I get a question I have added? + +E-mail me at aes-js@ricmoo.com with any questions, suggestions, comments, et cetera. + + +Donations +--------- + +Obviously, it's all licensed under the MIT license, so use it as you wish; but if you'd like to buy me a coffee, I won't complain. =) + +- Bitcoin - `1K1Ax9t6uJmjE4X5xcoVuyVTsiLrYRqe2P` +- Ethereum - `0x70bDC274028F3f391E398dF8e3977De64FEcBf04` diff --git a/node_modules/aes-js/bower.json b/node_modules/aes-js/bower.json new file mode 100644 index 00000000..63b313d3 --- /dev/null +++ b/node_modules/aes-js/bower.json @@ -0,0 +1,32 @@ +{ + "name": "aes-js", + "description": "A pure JavaScript implementation of the AES block cipher and all common modes of operation.", + "main": "index.js", + "authors": [ + "Richard Moore " + ], + "license": "MIT", + "keywords": [ + "aes", + "aes-ctr", + "aes-ofb", + "aes-ecb", + "aes-cbc", + "aes-cfb", + "encrypt", + "decrypt", + "block", + "cipher" + ], + "homepage": "https://github.com/ricmoo/aes-js", + "moduleType": [ + "globals" + ], + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ] +} diff --git a/node_modules/aes-js/index.js b/node_modules/aes-js/index.js new file mode 100644 index 00000000..61fcc000 --- /dev/null +++ b/node_modules/aes-js/index.js @@ -0,0 +1,803 @@ +/*! MIT License. Copyright 2015-2018 Richard Moore . See LICENSE.txt. */ +(function(root) { + "use strict"; + + function checkInt(value) { + return (parseInt(value) === value); + } + + function checkInts(arrayish) { + if (!checkInt(arrayish.length)) { return false; } + + for (var i = 0; i < arrayish.length; i++) { + if (!checkInt(arrayish[i]) || arrayish[i] < 0 || arrayish[i] > 255) { + return false; + } + } + + return true; + } + + function coerceArray(arg, copy) { + + // ArrayBuffer view + if (arg.buffer && arg.name === 'Uint8Array') { + + if (copy) { + if (arg.slice) { + arg = arg.slice(); + } else { + arg = Array.prototype.slice.call(arg); + } + } + + return arg; + } + + // It's an array; check it is a valid representation of a byte + if (Array.isArray(arg)) { + if (!checkInts(arg)) { + throw new Error('Array contains invalid value: ' + arg); + } + + return new Uint8Array(arg); + } + + // Something else, but behaves like an array (maybe a Buffer? Arguments?) + if (checkInt(arg.length) && checkInts(arg)) { + return new Uint8Array(arg); + } + + throw new Error('unsupported array-like object'); + } + + function createArray(length) { + return new Uint8Array(length); + } + + function copyArray(sourceArray, targetArray, targetStart, sourceStart, sourceEnd) { + if (sourceStart != null || sourceEnd != null) { + if (sourceArray.slice) { + sourceArray = sourceArray.slice(sourceStart, sourceEnd); + } else { + sourceArray = Array.prototype.slice.call(sourceArray, sourceStart, sourceEnd); + } + } + targetArray.set(sourceArray, targetStart); + } + + + + var convertUtf8 = (function() { + function toBytes(text) { + var result = [], i = 0; + text = encodeURI(text); + while (i < text.length) { + var c = text.charCodeAt(i++); + + // if it is a % sign, encode the following 2 bytes as a hex value + if (c === 37) { + result.push(parseInt(text.substr(i, 2), 16)) + i += 2; + + // otherwise, just the actual byte + } else { + result.push(c) + } + } + + return coerceArray(result); + } + + function fromBytes(bytes) { + var result = [], i = 0; + + while (i < bytes.length) { + var c = bytes[i]; + + if (c < 128) { + result.push(String.fromCharCode(c)); + i++; + } else if (c > 191 && c < 224) { + result.push(String.fromCharCode(((c & 0x1f) << 6) | (bytes[i + 1] & 0x3f))); + i += 2; + } else { + result.push(String.fromCharCode(((c & 0x0f) << 12) | ((bytes[i + 1] & 0x3f) << 6) | (bytes[i + 2] & 0x3f))); + i += 3; + } + } + + return result.join(''); + } + + return { + toBytes: toBytes, + fromBytes: fromBytes, + } + })(); + + var convertHex = (function() { + function toBytes(text) { + var result = []; + for (var i = 0; i < text.length; i += 2) { + result.push(parseInt(text.substr(i, 2), 16)); + } + + return result; + } + + // http://ixti.net/development/javascript/2011/11/11/base64-encodedecode-of-utf8-in-browser-with-js.html + var Hex = '0123456789abcdef'; + + function fromBytes(bytes) { + var result = []; + for (var i = 0; i < bytes.length; i++) { + var v = bytes[i]; + result.push(Hex[(v & 0xf0) >> 4] + Hex[v & 0x0f]); + } + return result.join(''); + } + + return { + toBytes: toBytes, + fromBytes: fromBytes, + } + })(); + + + // Number of rounds by keysize + var numberOfRounds = {16: 10, 24: 12, 32: 14} + + // Round constant words + var rcon = [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91]; + + // S-box and Inverse S-box (S is for Substitution) + var S = [0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]; + var Si =[0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]; + + // Transformations for encryption + var T1 = [0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d, 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554, 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d, 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a, 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87, 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b, 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea, 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b, 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a, 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f, 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108, 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f, 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e, 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5, 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d, 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f, 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e, 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb, 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce, 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497, 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c, 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed, 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b, 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a, 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16, 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594, 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81, 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3, 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a, 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504, 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163, 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d, 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f, 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739, 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47, 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395, 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f, 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883, 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c, 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76, 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e, 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4, 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6, 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b, 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7, 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0, 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25, 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818, 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72, 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651, 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21, 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85, 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa, 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12, 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0, 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9, 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133, 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7, 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920, 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a, 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17, 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8, 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11, 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a]; + var T2 = [0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b, 0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5, 0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b, 0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676, 0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d, 0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0, 0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf, 0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0, 0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626, 0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc, 0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1, 0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515, 0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3, 0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a, 0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2, 0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575, 0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a, 0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0, 0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3, 0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484, 0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded, 0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b, 0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939, 0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf, 0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb, 0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585, 0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f, 0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8, 0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f, 0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5, 0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121, 0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2, 0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec, 0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717, 0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d, 0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373, 0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc, 0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888, 0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414, 0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb, 0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a, 0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c, 0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262, 0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979, 0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d, 0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9, 0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea, 0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808, 0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e, 0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6, 0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f, 0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a, 0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666, 0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e, 0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9, 0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e, 0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111, 0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494, 0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9, 0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf, 0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d, 0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868, 0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f, 0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616]; + var T3 = [0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b, 0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5, 0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b, 0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76, 0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d, 0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0, 0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af, 0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0, 0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26, 0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc, 0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1, 0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15, 0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3, 0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a, 0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2, 0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75, 0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a, 0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0, 0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3, 0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384, 0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed, 0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b, 0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239, 0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf, 0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb, 0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185, 0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f, 0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8, 0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f, 0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5, 0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221, 0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2, 0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec, 0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17, 0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d, 0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673, 0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc, 0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88, 0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814, 0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb, 0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a, 0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c, 0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462, 0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279, 0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d, 0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9, 0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea, 0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008, 0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e, 0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6, 0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f, 0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a, 0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66, 0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e, 0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9, 0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e, 0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211, 0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394, 0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9, 0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df, 0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d, 0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068, 0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f, 0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16]; + var T4 = [0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6, 0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491, 0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56, 0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec, 0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa, 0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb, 0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45, 0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b, 0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c, 0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83, 0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9, 0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a, 0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d, 0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f, 0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf, 0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea, 0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34, 0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b, 0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d, 0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713, 0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1, 0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6, 0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72, 0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85, 0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed, 0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411, 0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe, 0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b, 0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05, 0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1, 0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342, 0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf, 0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3, 0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e, 0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a, 0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6, 0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3, 0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b, 0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28, 0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad, 0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14, 0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8, 0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4, 0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2, 0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da, 0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049, 0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf, 0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810, 0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c, 0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197, 0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e, 0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f, 0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc, 0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c, 0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069, 0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927, 0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322, 0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733, 0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9, 0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5, 0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a, 0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0, 0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e, 0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c]; + + // Transformations for decryption + var T5 = [0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96, 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393, 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25, 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f, 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1, 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6, 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da, 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844, 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd, 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4, 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45, 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94, 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7, 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a, 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5, 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c, 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1, 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a, 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75, 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051, 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46, 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff, 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77, 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb, 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000, 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e, 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927, 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a, 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e, 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16, 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d, 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8, 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd, 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34, 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163, 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120, 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d, 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0, 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422, 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef, 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36, 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4, 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662, 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5, 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3, 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b, 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8, 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6, 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6, 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0, 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815, 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f, 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df, 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f, 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e, 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713, 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89, 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c, 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf, 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86, 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f, 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541, 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190, 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742]; + var T6 = [0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e, 0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303, 0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c, 0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3, 0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0, 0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9, 0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259, 0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8, 0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971, 0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a, 0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f, 0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b, 0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8, 0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab, 0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708, 0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682, 0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2, 0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe, 0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb, 0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10, 0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd, 0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015, 0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e, 0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee, 0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000, 0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72, 0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39, 0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e, 0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91, 0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a, 0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17, 0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9, 0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60, 0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e, 0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1, 0xcad731dc, 0x10426385, 0x40139722, 0x2084c611, 0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1, 0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3, 0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964, 0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390, 0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b, 0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf, 0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46, 0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af, 0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512, 0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb, 0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a, 0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8, 0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c, 0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266, 0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8, 0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6, 0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604, 0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551, 0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41, 0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647, 0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c, 0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1, 0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737, 0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db, 0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340, 0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95, 0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1, 0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857]; + var T7 = [0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27, 0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3, 0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502, 0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562, 0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe, 0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3, 0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552, 0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9, 0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9, 0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce, 0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253, 0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908, 0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b, 0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655, 0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337, 0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16, 0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69, 0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6, 0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6, 0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e, 0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6, 0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050, 0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9, 0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8, 0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000, 0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a, 0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d, 0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436, 0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b, 0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12, 0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b, 0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e, 0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f, 0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb, 0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4, 0xdccad731, 0x85104263, 0x22401397, 0x112084c6, 0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729, 0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1, 0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9, 0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233, 0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4, 0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad, 0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e, 0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3, 0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25, 0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b, 0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f, 0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15, 0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0, 0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2, 0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7, 0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791, 0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496, 0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665, 0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b, 0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6, 0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13, 0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47, 0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7, 0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844, 0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3, 0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d, 0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456, 0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8]; + var T8 = [0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a, 0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b, 0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5, 0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5, 0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d, 0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b, 0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95, 0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e, 0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27, 0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d, 0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562, 0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9, 0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752, 0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66, 0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3, 0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced, 0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e, 0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4, 0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4, 0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd, 0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d, 0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60, 0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767, 0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79, 0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000, 0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c, 0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736, 0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24, 0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b, 0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c, 0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12, 0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814, 0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3, 0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b, 0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8, 0x31dccad7, 0x63851042, 0x97224013, 0xc6112084, 0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7, 0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077, 0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247, 0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22, 0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698, 0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f, 0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254, 0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582, 0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf, 0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb, 0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883, 0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef, 0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629, 0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035, 0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533, 0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17, 0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4, 0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46, 0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb, 0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d, 0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb, 0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a, 0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73, 0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678, 0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2, 0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff, 0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064, 0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0]; + + // Transformations for decryption key expansion + var U1 = [0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]; + var U2 = [0x00000000, 0x0b0e090d, 0x161c121a, 0x1d121b17, 0x2c382434, 0x27362d39, 0x3a24362e, 0x312a3f23, 0x58704868, 0x537e4165, 0x4e6c5a72, 0x4562537f, 0x74486c5c, 0x7f466551, 0x62547e46, 0x695a774b, 0xb0e090d0, 0xbbee99dd, 0xa6fc82ca, 0xadf28bc7, 0x9cd8b4e4, 0x97d6bde9, 0x8ac4a6fe, 0x81caaff3, 0xe890d8b8, 0xe39ed1b5, 0xfe8ccaa2, 0xf582c3af, 0xc4a8fc8c, 0xcfa6f581, 0xd2b4ee96, 0xd9bae79b, 0x7bdb3bbb, 0x70d532b6, 0x6dc729a1, 0x66c920ac, 0x57e31f8f, 0x5ced1682, 0x41ff0d95, 0x4af10498, 0x23ab73d3, 0x28a57ade, 0x35b761c9, 0x3eb968c4, 0x0f9357e7, 0x049d5eea, 0x198f45fd, 0x12814cf0, 0xcb3bab6b, 0xc035a266, 0xdd27b971, 0xd629b07c, 0xe7038f5f, 0xec0d8652, 0xf11f9d45, 0xfa119448, 0x934be303, 0x9845ea0e, 0x8557f119, 0x8e59f814, 0xbf73c737, 0xb47dce3a, 0xa96fd52d, 0xa261dc20, 0xf6ad766d, 0xfda37f60, 0xe0b16477, 0xebbf6d7a, 0xda955259, 0xd19b5b54, 0xcc894043, 0xc787494e, 0xaedd3e05, 0xa5d33708, 0xb8c12c1f, 0xb3cf2512, 0x82e51a31, 0x89eb133c, 0x94f9082b, 0x9ff70126, 0x464de6bd, 0x4d43efb0, 0x5051f4a7, 0x5b5ffdaa, 0x6a75c289, 0x617bcb84, 0x7c69d093, 0x7767d99e, 0x1e3daed5, 0x1533a7d8, 0x0821bccf, 0x032fb5c2, 0x32058ae1, 0x390b83ec, 0x241998fb, 0x2f1791f6, 0x8d764dd6, 0x867844db, 0x9b6a5fcc, 0x906456c1, 0xa14e69e2, 0xaa4060ef, 0xb7527bf8, 0xbc5c72f5, 0xd50605be, 0xde080cb3, 0xc31a17a4, 0xc8141ea9, 0xf93e218a, 0xf2302887, 0xef223390, 0xe42c3a9d, 0x3d96dd06, 0x3698d40b, 0x2b8acf1c, 0x2084c611, 0x11aef932, 0x1aa0f03f, 0x07b2eb28, 0x0cbce225, 0x65e6956e, 0x6ee89c63, 0x73fa8774, 0x78f48e79, 0x49deb15a, 0x42d0b857, 0x5fc2a340, 0x54ccaa4d, 0xf741ecda, 0xfc4fe5d7, 0xe15dfec0, 0xea53f7cd, 0xdb79c8ee, 0xd077c1e3, 0xcd65daf4, 0xc66bd3f9, 0xaf31a4b2, 0xa43fadbf, 0xb92db6a8, 0xb223bfa5, 0x83098086, 0x8807898b, 0x9515929c, 0x9e1b9b91, 0x47a17c0a, 0x4caf7507, 0x51bd6e10, 0x5ab3671d, 0x6b99583e, 0x60975133, 0x7d854a24, 0x768b4329, 0x1fd13462, 0x14df3d6f, 0x09cd2678, 0x02c32f75, 0x33e91056, 0x38e7195b, 0x25f5024c, 0x2efb0b41, 0x8c9ad761, 0x8794de6c, 0x9a86c57b, 0x9188cc76, 0xa0a2f355, 0xabacfa58, 0xb6bee14f, 0xbdb0e842, 0xd4ea9f09, 0xdfe49604, 0xc2f68d13, 0xc9f8841e, 0xf8d2bb3d, 0xf3dcb230, 0xeecea927, 0xe5c0a02a, 0x3c7a47b1, 0x37744ebc, 0x2a6655ab, 0x21685ca6, 0x10426385, 0x1b4c6a88, 0x065e719f, 0x0d507892, 0x640a0fd9, 0x6f0406d4, 0x72161dc3, 0x791814ce, 0x48322bed, 0x433c22e0, 0x5e2e39f7, 0x552030fa, 0x01ec9ab7, 0x0ae293ba, 0x17f088ad, 0x1cfe81a0, 0x2dd4be83, 0x26dab78e, 0x3bc8ac99, 0x30c6a594, 0x599cd2df, 0x5292dbd2, 0x4f80c0c5, 0x448ec9c8, 0x75a4f6eb, 0x7eaaffe6, 0x63b8e4f1, 0x68b6edfc, 0xb10c0a67, 0xba02036a, 0xa710187d, 0xac1e1170, 0x9d342e53, 0x963a275e, 0x8b283c49, 0x80263544, 0xe97c420f, 0xe2724b02, 0xff605015, 0xf46e5918, 0xc544663b, 0xce4a6f36, 0xd3587421, 0xd8567d2c, 0x7a37a10c, 0x7139a801, 0x6c2bb316, 0x6725ba1b, 0x560f8538, 0x5d018c35, 0x40139722, 0x4b1d9e2f, 0x2247e964, 0x2949e069, 0x345bfb7e, 0x3f55f273, 0x0e7fcd50, 0x0571c45d, 0x1863df4a, 0x136dd647, 0xcad731dc, 0xc1d938d1, 0xdccb23c6, 0xd7c52acb, 0xe6ef15e8, 0xede11ce5, 0xf0f307f2, 0xfbfd0eff, 0x92a779b4, 0x99a970b9, 0x84bb6bae, 0x8fb562a3, 0xbe9f5d80, 0xb591548d, 0xa8834f9a, 0xa38d4697]; + var U3 = [0x00000000, 0x0d0b0e09, 0x1a161c12, 0x171d121b, 0x342c3824, 0x3927362d, 0x2e3a2436, 0x23312a3f, 0x68587048, 0x65537e41, 0x724e6c5a, 0x7f456253, 0x5c74486c, 0x517f4665, 0x4662547e, 0x4b695a77, 0xd0b0e090, 0xddbbee99, 0xcaa6fc82, 0xc7adf28b, 0xe49cd8b4, 0xe997d6bd, 0xfe8ac4a6, 0xf381caaf, 0xb8e890d8, 0xb5e39ed1, 0xa2fe8cca, 0xaff582c3, 0x8cc4a8fc, 0x81cfa6f5, 0x96d2b4ee, 0x9bd9bae7, 0xbb7bdb3b, 0xb670d532, 0xa16dc729, 0xac66c920, 0x8f57e31f, 0x825ced16, 0x9541ff0d, 0x984af104, 0xd323ab73, 0xde28a57a, 0xc935b761, 0xc43eb968, 0xe70f9357, 0xea049d5e, 0xfd198f45, 0xf012814c, 0x6bcb3bab, 0x66c035a2, 0x71dd27b9, 0x7cd629b0, 0x5fe7038f, 0x52ec0d86, 0x45f11f9d, 0x48fa1194, 0x03934be3, 0x0e9845ea, 0x198557f1, 0x148e59f8, 0x37bf73c7, 0x3ab47dce, 0x2da96fd5, 0x20a261dc, 0x6df6ad76, 0x60fda37f, 0x77e0b164, 0x7aebbf6d, 0x59da9552, 0x54d19b5b, 0x43cc8940, 0x4ec78749, 0x05aedd3e, 0x08a5d337, 0x1fb8c12c, 0x12b3cf25, 0x3182e51a, 0x3c89eb13, 0x2b94f908, 0x269ff701, 0xbd464de6, 0xb04d43ef, 0xa75051f4, 0xaa5b5ffd, 0x896a75c2, 0x84617bcb, 0x937c69d0, 0x9e7767d9, 0xd51e3dae, 0xd81533a7, 0xcf0821bc, 0xc2032fb5, 0xe132058a, 0xec390b83, 0xfb241998, 0xf62f1791, 0xd68d764d, 0xdb867844, 0xcc9b6a5f, 0xc1906456, 0xe2a14e69, 0xefaa4060, 0xf8b7527b, 0xf5bc5c72, 0xbed50605, 0xb3de080c, 0xa4c31a17, 0xa9c8141e, 0x8af93e21, 0x87f23028, 0x90ef2233, 0x9de42c3a, 0x063d96dd, 0x0b3698d4, 0x1c2b8acf, 0x112084c6, 0x3211aef9, 0x3f1aa0f0, 0x2807b2eb, 0x250cbce2, 0x6e65e695, 0x636ee89c, 0x7473fa87, 0x7978f48e, 0x5a49deb1, 0x5742d0b8, 0x405fc2a3, 0x4d54ccaa, 0xdaf741ec, 0xd7fc4fe5, 0xc0e15dfe, 0xcdea53f7, 0xeedb79c8, 0xe3d077c1, 0xf4cd65da, 0xf9c66bd3, 0xb2af31a4, 0xbfa43fad, 0xa8b92db6, 0xa5b223bf, 0x86830980, 0x8b880789, 0x9c951592, 0x919e1b9b, 0x0a47a17c, 0x074caf75, 0x1051bd6e, 0x1d5ab367, 0x3e6b9958, 0x33609751, 0x247d854a, 0x29768b43, 0x621fd134, 0x6f14df3d, 0x7809cd26, 0x7502c32f, 0x5633e910, 0x5b38e719, 0x4c25f502, 0x412efb0b, 0x618c9ad7, 0x6c8794de, 0x7b9a86c5, 0x769188cc, 0x55a0a2f3, 0x58abacfa, 0x4fb6bee1, 0x42bdb0e8, 0x09d4ea9f, 0x04dfe496, 0x13c2f68d, 0x1ec9f884, 0x3df8d2bb, 0x30f3dcb2, 0x27eecea9, 0x2ae5c0a0, 0xb13c7a47, 0xbc37744e, 0xab2a6655, 0xa621685c, 0x85104263, 0x881b4c6a, 0x9f065e71, 0x920d5078, 0xd9640a0f, 0xd46f0406, 0xc372161d, 0xce791814, 0xed48322b, 0xe0433c22, 0xf75e2e39, 0xfa552030, 0xb701ec9a, 0xba0ae293, 0xad17f088, 0xa01cfe81, 0x832dd4be, 0x8e26dab7, 0x993bc8ac, 0x9430c6a5, 0xdf599cd2, 0xd25292db, 0xc54f80c0, 0xc8448ec9, 0xeb75a4f6, 0xe67eaaff, 0xf163b8e4, 0xfc68b6ed, 0x67b10c0a, 0x6aba0203, 0x7da71018, 0x70ac1e11, 0x539d342e, 0x5e963a27, 0x498b283c, 0x44802635, 0x0fe97c42, 0x02e2724b, 0x15ff6050, 0x18f46e59, 0x3bc54466, 0x36ce4a6f, 0x21d35874, 0x2cd8567d, 0x0c7a37a1, 0x017139a8, 0x166c2bb3, 0x1b6725ba, 0x38560f85, 0x355d018c, 0x22401397, 0x2f4b1d9e, 0x642247e9, 0x692949e0, 0x7e345bfb, 0x733f55f2, 0x500e7fcd, 0x5d0571c4, 0x4a1863df, 0x47136dd6, 0xdccad731, 0xd1c1d938, 0xc6dccb23, 0xcbd7c52a, 0xe8e6ef15, 0xe5ede11c, 0xf2f0f307, 0xfffbfd0e, 0xb492a779, 0xb999a970, 0xae84bb6b, 0xa38fb562, 0x80be9f5d, 0x8db59154, 0x9aa8834f, 0x97a38d46]; + var U4 = [0x00000000, 0x090d0b0e, 0x121a161c, 0x1b171d12, 0x24342c38, 0x2d392736, 0x362e3a24, 0x3f23312a, 0x48685870, 0x4165537e, 0x5a724e6c, 0x537f4562, 0x6c5c7448, 0x65517f46, 0x7e466254, 0x774b695a, 0x90d0b0e0, 0x99ddbbee, 0x82caa6fc, 0x8bc7adf2, 0xb4e49cd8, 0xbde997d6, 0xa6fe8ac4, 0xaff381ca, 0xd8b8e890, 0xd1b5e39e, 0xcaa2fe8c, 0xc3aff582, 0xfc8cc4a8, 0xf581cfa6, 0xee96d2b4, 0xe79bd9ba, 0x3bbb7bdb, 0x32b670d5, 0x29a16dc7, 0x20ac66c9, 0x1f8f57e3, 0x16825ced, 0x0d9541ff, 0x04984af1, 0x73d323ab, 0x7ade28a5, 0x61c935b7, 0x68c43eb9, 0x57e70f93, 0x5eea049d, 0x45fd198f, 0x4cf01281, 0xab6bcb3b, 0xa266c035, 0xb971dd27, 0xb07cd629, 0x8f5fe703, 0x8652ec0d, 0x9d45f11f, 0x9448fa11, 0xe303934b, 0xea0e9845, 0xf1198557, 0xf8148e59, 0xc737bf73, 0xce3ab47d, 0xd52da96f, 0xdc20a261, 0x766df6ad, 0x7f60fda3, 0x6477e0b1, 0x6d7aebbf, 0x5259da95, 0x5b54d19b, 0x4043cc89, 0x494ec787, 0x3e05aedd, 0x3708a5d3, 0x2c1fb8c1, 0x2512b3cf, 0x1a3182e5, 0x133c89eb, 0x082b94f9, 0x01269ff7, 0xe6bd464d, 0xefb04d43, 0xf4a75051, 0xfdaa5b5f, 0xc2896a75, 0xcb84617b, 0xd0937c69, 0xd99e7767, 0xaed51e3d, 0xa7d81533, 0xbccf0821, 0xb5c2032f, 0x8ae13205, 0x83ec390b, 0x98fb2419, 0x91f62f17, 0x4dd68d76, 0x44db8678, 0x5fcc9b6a, 0x56c19064, 0x69e2a14e, 0x60efaa40, 0x7bf8b752, 0x72f5bc5c, 0x05bed506, 0x0cb3de08, 0x17a4c31a, 0x1ea9c814, 0x218af93e, 0x2887f230, 0x3390ef22, 0x3a9de42c, 0xdd063d96, 0xd40b3698, 0xcf1c2b8a, 0xc6112084, 0xf93211ae, 0xf03f1aa0, 0xeb2807b2, 0xe2250cbc, 0x956e65e6, 0x9c636ee8, 0x877473fa, 0x8e7978f4, 0xb15a49de, 0xb85742d0, 0xa3405fc2, 0xaa4d54cc, 0xecdaf741, 0xe5d7fc4f, 0xfec0e15d, 0xf7cdea53, 0xc8eedb79, 0xc1e3d077, 0xdaf4cd65, 0xd3f9c66b, 0xa4b2af31, 0xadbfa43f, 0xb6a8b92d, 0xbfa5b223, 0x80868309, 0x898b8807, 0x929c9515, 0x9b919e1b, 0x7c0a47a1, 0x75074caf, 0x6e1051bd, 0x671d5ab3, 0x583e6b99, 0x51336097, 0x4a247d85, 0x4329768b, 0x34621fd1, 0x3d6f14df, 0x267809cd, 0x2f7502c3, 0x105633e9, 0x195b38e7, 0x024c25f5, 0x0b412efb, 0xd7618c9a, 0xde6c8794, 0xc57b9a86, 0xcc769188, 0xf355a0a2, 0xfa58abac, 0xe14fb6be, 0xe842bdb0, 0x9f09d4ea, 0x9604dfe4, 0x8d13c2f6, 0x841ec9f8, 0xbb3df8d2, 0xb230f3dc, 0xa927eece, 0xa02ae5c0, 0x47b13c7a, 0x4ebc3774, 0x55ab2a66, 0x5ca62168, 0x63851042, 0x6a881b4c, 0x719f065e, 0x78920d50, 0x0fd9640a, 0x06d46f04, 0x1dc37216, 0x14ce7918, 0x2bed4832, 0x22e0433c, 0x39f75e2e, 0x30fa5520, 0x9ab701ec, 0x93ba0ae2, 0x88ad17f0, 0x81a01cfe, 0xbe832dd4, 0xb78e26da, 0xac993bc8, 0xa59430c6, 0xd2df599c, 0xdbd25292, 0xc0c54f80, 0xc9c8448e, 0xf6eb75a4, 0xffe67eaa, 0xe4f163b8, 0xedfc68b6, 0x0a67b10c, 0x036aba02, 0x187da710, 0x1170ac1e, 0x2e539d34, 0x275e963a, 0x3c498b28, 0x35448026, 0x420fe97c, 0x4b02e272, 0x5015ff60, 0x5918f46e, 0x663bc544, 0x6f36ce4a, 0x7421d358, 0x7d2cd856, 0xa10c7a37, 0xa8017139, 0xb3166c2b, 0xba1b6725, 0x8538560f, 0x8c355d01, 0x97224013, 0x9e2f4b1d, 0xe9642247, 0xe0692949, 0xfb7e345b, 0xf2733f55, 0xcd500e7f, 0xc45d0571, 0xdf4a1863, 0xd647136d, 0x31dccad7, 0x38d1c1d9, 0x23c6dccb, 0x2acbd7c5, 0x15e8e6ef, 0x1ce5ede1, 0x07f2f0f3, 0x0efffbfd, 0x79b492a7, 0x70b999a9, 0x6bae84bb, 0x62a38fb5, 0x5d80be9f, 0x548db591, 0x4f9aa883, 0x4697a38d]; + + function convertToInt32(bytes) { + var result = []; + for (var i = 0; i < bytes.length; i += 4) { + result.push( + (bytes[i ] << 24) | + (bytes[i + 1] << 16) | + (bytes[i + 2] << 8) | + bytes[i + 3] + ); + } + return result; + } + + var AES = function(key) { + if (!(this instanceof AES)) { + throw Error('AES must be instanitated with `new`'); + } + + Object.defineProperty(this, 'key', { + value: coerceArray(key, true) + }); + + this._prepare(); + } + + + AES.prototype._prepare = function() { + + var rounds = numberOfRounds[this.key.length]; + if (rounds == null) { + throw new Error('invalid key size (must be 16, 24 or 32 bytes)'); + } + + // encryption round keys + this._Ke = []; + + // decryption round keys + this._Kd = []; + + for (var i = 0; i <= rounds; i++) { + this._Ke.push([0, 0, 0, 0]); + this._Kd.push([0, 0, 0, 0]); + } + + var roundKeyCount = (rounds + 1) * 4; + var KC = this.key.length / 4; + + // convert the key into ints + var tk = convertToInt32(this.key); + + // copy values into round key arrays + var index; + for (var i = 0; i < KC; i++) { + index = i >> 2; + this._Ke[index][i % 4] = tk[i]; + this._Kd[rounds - index][i % 4] = tk[i]; + } + + // key expansion (fips-197 section 5.2) + var rconpointer = 0; + var t = KC, tt; + while (t < roundKeyCount) { + tt = tk[KC - 1]; + tk[0] ^= ((S[(tt >> 16) & 0xFF] << 24) ^ + (S[(tt >> 8) & 0xFF] << 16) ^ + (S[ tt & 0xFF] << 8) ^ + S[(tt >> 24) & 0xFF] ^ + (rcon[rconpointer] << 24)); + rconpointer += 1; + + // key expansion (for non-256 bit) + if (KC != 8) { + for (var i = 1; i < KC; i++) { + tk[i] ^= tk[i - 1]; + } + + // key expansion for 256-bit keys is "slightly different" (fips-197) + } else { + for (var i = 1; i < (KC / 2); i++) { + tk[i] ^= tk[i - 1]; + } + tt = tk[(KC / 2) - 1]; + + tk[KC / 2] ^= (S[ tt & 0xFF] ^ + (S[(tt >> 8) & 0xFF] << 8) ^ + (S[(tt >> 16) & 0xFF] << 16) ^ + (S[(tt >> 24) & 0xFF] << 24)); + + for (var i = (KC / 2) + 1; i < KC; i++) { + tk[i] ^= tk[i - 1]; + } + } + + // copy values into round key arrays + var i = 0, r, c; + while (i < KC && t < roundKeyCount) { + r = t >> 2; + c = t % 4; + this._Ke[r][c] = tk[i]; + this._Kd[rounds - r][c] = tk[i++]; + t++; + } + } + + // inverse-cipher-ify the decryption round key (fips-197 section 5.3) + for (var r = 1; r < rounds; r++) { + for (var c = 0; c < 4; c++) { + tt = this._Kd[r][c]; + this._Kd[r][c] = (U1[(tt >> 24) & 0xFF] ^ + U2[(tt >> 16) & 0xFF] ^ + U3[(tt >> 8) & 0xFF] ^ + U4[ tt & 0xFF]); + } + } + } + + AES.prototype.encrypt = function(plaintext) { + if (plaintext.length != 16) { + throw new Error('invalid plaintext size (must be 16 bytes)'); + } + + var rounds = this._Ke.length - 1; + var a = [0, 0, 0, 0]; + + // convert plaintext to (ints ^ key) + var t = convertToInt32(plaintext); + for (var i = 0; i < 4; i++) { + t[i] ^= this._Ke[0][i]; + } + + // apply round transforms + for (var r = 1; r < rounds; r++) { + for (var i = 0; i < 4; i++) { + a[i] = (T1[(t[ i ] >> 24) & 0xff] ^ + T2[(t[(i + 1) % 4] >> 16) & 0xff] ^ + T3[(t[(i + 2) % 4] >> 8) & 0xff] ^ + T4[ t[(i + 3) % 4] & 0xff] ^ + this._Ke[r][i]); + } + t = a.slice(); + } + + // the last round is special + var result = createArray(16), tt; + for (var i = 0; i < 4; i++) { + tt = this._Ke[rounds][i]; + result[4 * i ] = (S[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff; + result[4 * i + 1] = (S[(t[(i + 1) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff; + result[4 * i + 2] = (S[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff; + result[4 * i + 3] = (S[ t[(i + 3) % 4] & 0xff] ^ tt ) & 0xff; + } + + return result; + } + + AES.prototype.decrypt = function(ciphertext) { + if (ciphertext.length != 16) { + throw new Error('invalid ciphertext size (must be 16 bytes)'); + } + + var rounds = this._Kd.length - 1; + var a = [0, 0, 0, 0]; + + // convert plaintext to (ints ^ key) + var t = convertToInt32(ciphertext); + for (var i = 0; i < 4; i++) { + t[i] ^= this._Kd[0][i]; + } + + // apply round transforms + for (var r = 1; r < rounds; r++) { + for (var i = 0; i < 4; i++) { + a[i] = (T5[(t[ i ] >> 24) & 0xff] ^ + T6[(t[(i + 3) % 4] >> 16) & 0xff] ^ + T7[(t[(i + 2) % 4] >> 8) & 0xff] ^ + T8[ t[(i + 1) % 4] & 0xff] ^ + this._Kd[r][i]); + } + t = a.slice(); + } + + // the last round is special + var result = createArray(16), tt; + for (var i = 0; i < 4; i++) { + tt = this._Kd[rounds][i]; + result[4 * i ] = (Si[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff; + result[4 * i + 1] = (Si[(t[(i + 3) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff; + result[4 * i + 2] = (Si[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff; + result[4 * i + 3] = (Si[ t[(i + 1) % 4] & 0xff] ^ tt ) & 0xff; + } + + return result; + } + + + /** + * Mode Of Operation - Electonic Codebook (ECB) + */ + var ModeOfOperationECB = function(key) { + if (!(this instanceof ModeOfOperationECB)) { + throw Error('AES must be instanitated with `new`'); + } + + this.description = "Electronic Code Block"; + this.name = "ecb"; + + this._aes = new AES(key); + } + + ModeOfOperationECB.prototype.encrypt = function(plaintext) { + plaintext = coerceArray(plaintext); + + if ((plaintext.length % 16) !== 0) { + throw new Error('invalid plaintext size (must be multiple of 16 bytes)'); + } + + var ciphertext = createArray(plaintext.length); + var block = createArray(16); + + for (var i = 0; i < plaintext.length; i += 16) { + copyArray(plaintext, block, 0, i, i + 16); + block = this._aes.encrypt(block); + copyArray(block, ciphertext, i); + } + + return ciphertext; + } + + ModeOfOperationECB.prototype.decrypt = function(ciphertext) { + ciphertext = coerceArray(ciphertext); + + if ((ciphertext.length % 16) !== 0) { + throw new Error('invalid ciphertext size (must be multiple of 16 bytes)'); + } + + var plaintext = createArray(ciphertext.length); + var block = createArray(16); + + for (var i = 0; i < ciphertext.length; i += 16) { + copyArray(ciphertext, block, 0, i, i + 16); + block = this._aes.decrypt(block); + copyArray(block, plaintext, i); + } + + return plaintext; + } + + + /** + * Mode Of Operation - Cipher Block Chaining (CBC) + */ + var ModeOfOperationCBC = function(key, iv) { + if (!(this instanceof ModeOfOperationCBC)) { + throw Error('AES must be instanitated with `new`'); + } + + this.description = "Cipher Block Chaining"; + this.name = "cbc"; + + if (!iv) { + iv = createArray(16); + + } else if (iv.length != 16) { + throw new Error('invalid initialation vector size (must be 16 bytes)'); + } + + this._lastCipherblock = coerceArray(iv, true); + + this._aes = new AES(key); + } + + ModeOfOperationCBC.prototype.encrypt = function(plaintext) { + plaintext = coerceArray(plaintext); + + if ((plaintext.length % 16) !== 0) { + throw new Error('invalid plaintext size (must be multiple of 16 bytes)'); + } + + var ciphertext = createArray(plaintext.length); + var block = createArray(16); + + for (var i = 0; i < plaintext.length; i += 16) { + copyArray(plaintext, block, 0, i, i + 16); + + for (var j = 0; j < 16; j++) { + block[j] ^= this._lastCipherblock[j]; + } + + this._lastCipherblock = this._aes.encrypt(block); + copyArray(this._lastCipherblock, ciphertext, i); + } + + return ciphertext; + } + + ModeOfOperationCBC.prototype.decrypt = function(ciphertext) { + ciphertext = coerceArray(ciphertext); + + if ((ciphertext.length % 16) !== 0) { + throw new Error('invalid ciphertext size (must be multiple of 16 bytes)'); + } + + var plaintext = createArray(ciphertext.length); + var block = createArray(16); + + for (var i = 0; i < ciphertext.length; i += 16) { + copyArray(ciphertext, block, 0, i, i + 16); + block = this._aes.decrypt(block); + + for (var j = 0; j < 16; j++) { + plaintext[i + j] = block[j] ^ this._lastCipherblock[j]; + } + + copyArray(ciphertext, this._lastCipherblock, 0, i, i + 16); + } + + return plaintext; + } + + + /** + * Mode Of Operation - Cipher Feedback (CFB) + */ + var ModeOfOperationCFB = function(key, iv, segmentSize) { + if (!(this instanceof ModeOfOperationCFB)) { + throw Error('AES must be instanitated with `new`'); + } + + this.description = "Cipher Feedback"; + this.name = "cfb"; + + if (!iv) { + iv = createArray(16); + + } else if (iv.length != 16) { + throw new Error('invalid initialation vector size (must be 16 size)'); + } + + if (!segmentSize) { segmentSize = 1; } + + this.segmentSize = segmentSize; + + this._shiftRegister = coerceArray(iv, true); + + this._aes = new AES(key); + } + + ModeOfOperationCFB.prototype.encrypt = function(plaintext) { + if ((plaintext.length % this.segmentSize) != 0) { + throw new Error('invalid plaintext size (must be segmentSize bytes)'); + } + + var encrypted = coerceArray(plaintext, true); + + var xorSegment; + for (var i = 0; i < encrypted.length; i += this.segmentSize) { + xorSegment = this._aes.encrypt(this._shiftRegister); + for (var j = 0; j < this.segmentSize; j++) { + encrypted[i + j] ^= xorSegment[j]; + } + + // Shift the register + copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize); + copyArray(encrypted, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize); + } + + return encrypted; + } + + ModeOfOperationCFB.prototype.decrypt = function(ciphertext) { + if ((ciphertext.length % this.segmentSize) != 0) { + throw new Error('invalid ciphertext size (must be segmentSize bytes)'); + } + + var plaintext = coerceArray(ciphertext, true); + + var xorSegment; + for (var i = 0; i < plaintext.length; i += this.segmentSize) { + xorSegment = this._aes.encrypt(this._shiftRegister); + + for (var j = 0; j < this.segmentSize; j++) { + plaintext[i + j] ^= xorSegment[j]; + } + + // Shift the register + copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize); + copyArray(ciphertext, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize); + } + + return plaintext; + } + + /** + * Mode Of Operation - Output Feedback (OFB) + */ + var ModeOfOperationOFB = function(key, iv) { + if (!(this instanceof ModeOfOperationOFB)) { + throw Error('AES must be instanitated with `new`'); + } + + this.description = "Output Feedback"; + this.name = "ofb"; + + if (!iv) { + iv = createArray(16); + + } else if (iv.length != 16) { + throw new Error('invalid initialation vector size (must be 16 bytes)'); + } + + this._lastPrecipher = coerceArray(iv, true); + this._lastPrecipherIndex = 16; + + this._aes = new AES(key); + } + + ModeOfOperationOFB.prototype.encrypt = function(plaintext) { + var encrypted = coerceArray(plaintext, true); + + for (var i = 0; i < encrypted.length; i++) { + if (this._lastPrecipherIndex === 16) { + this._lastPrecipher = this._aes.encrypt(this._lastPrecipher); + this._lastPrecipherIndex = 0; + } + encrypted[i] ^= this._lastPrecipher[this._lastPrecipherIndex++]; + } + + return encrypted; + } + + // Decryption is symetric + ModeOfOperationOFB.prototype.decrypt = ModeOfOperationOFB.prototype.encrypt; + + + /** + * Counter object for CTR common mode of operation + */ + var Counter = function(initialValue) { + if (!(this instanceof Counter)) { + throw Error('Counter must be instanitated with `new`'); + } + + // We allow 0, but anything false-ish uses the default 1 + if (initialValue !== 0 && !initialValue) { initialValue = 1; } + + if (typeof(initialValue) === 'number') { + this._counter = createArray(16); + this.setValue(initialValue); + + } else { + this.setBytes(initialValue); + } + } + + Counter.prototype.setValue = function(value) { + if (typeof(value) !== 'number' || parseInt(value) != value) { + throw new Error('invalid counter value (must be an integer)'); + } + + // We cannot safely handle numbers beyond the safe range for integers + if (value > Number.MAX_SAFE_INTEGER) { + throw new Error('integer value out of safe range'); + } + + for (var index = 15; index >= 0; --index) { + this._counter[index] = value % 256; + value = parseInt(value / 256); + } + } + + Counter.prototype.setBytes = function(bytes) { + bytes = coerceArray(bytes, true); + + if (bytes.length != 16) { + throw new Error('invalid counter bytes size (must be 16 bytes)'); + } + + this._counter = bytes; + }; + + Counter.prototype.increment = function() { + for (var i = 15; i >= 0; i--) { + if (this._counter[i] === 255) { + this._counter[i] = 0; + } else { + this._counter[i]++; + break; + } + } + } + + + /** + * Mode Of Operation - Counter (CTR) + */ + var ModeOfOperationCTR = function(key, counter) { + if (!(this instanceof ModeOfOperationCTR)) { + throw Error('AES must be instanitated with `new`'); + } + + this.description = "Counter"; + this.name = "ctr"; + + if (!(counter instanceof Counter)) { + counter = new Counter(counter) + } + + this._counter = counter; + + this._remainingCounter = null; + this._remainingCounterIndex = 16; + + this._aes = new AES(key); + } + + ModeOfOperationCTR.prototype.encrypt = function(plaintext) { + var encrypted = coerceArray(plaintext, true); + + for (var i = 0; i < encrypted.length; i++) { + if (this._remainingCounterIndex === 16) { + this._remainingCounter = this._aes.encrypt(this._counter._counter); + this._remainingCounterIndex = 0; + this._counter.increment(); + } + encrypted[i] ^= this._remainingCounter[this._remainingCounterIndex++]; + } + + return encrypted; + } + + // Decryption is symetric + ModeOfOperationCTR.prototype.decrypt = ModeOfOperationCTR.prototype.encrypt; + + + /////////////////////// + // Padding + + // See:https://tools.ietf.org/html/rfc2315 + function pkcs7pad(data) { + data = coerceArray(data, true); + var padder = 16 - (data.length % 16); + var result = createArray(data.length + padder); + copyArray(data, result); + for (var i = data.length; i < result.length; i++) { + result[i] = padder; + } + return result; + } + + function pkcs7strip(data) { + data = coerceArray(data, true); + if (data.length < 16) { throw new Error('PKCS#7 invalid length'); } + + var padder = data[data.length - 1]; + if (padder > 16) { throw new Error('PKCS#7 padding byte out of range'); } + + var length = data.length - padder; + for (var i = 0; i < padder; i++) { + if (data[length + i] !== padder) { + throw new Error('PKCS#7 invalid padding byte'); + } + } + + var result = createArray(length); + copyArray(data, result, 0, 0, length); + return result; + } + + /////////////////////// + // Exporting + + + // The block cipher + var aesjs = { + AES: AES, + Counter: Counter, + + ModeOfOperation: { + ecb: ModeOfOperationECB, + cbc: ModeOfOperationCBC, + cfb: ModeOfOperationCFB, + ofb: ModeOfOperationOFB, + ctr: ModeOfOperationCTR + }, + + utils: { + hex: convertHex, + utf8: convertUtf8 + }, + + padding: { + pkcs7: { + pad: pkcs7pad, + strip: pkcs7strip + } + }, + + _arrayTest: { + coerceArray: coerceArray, + createArray: createArray, + copyArray: copyArray, + } + }; + + + // node.js + if (typeof exports !== 'undefined') { + module.exports = aesjs + + // RequireJS/AMD + // http://www.requirejs.org/docs/api.html + // https://github.com/amdjs/amdjs-api/wiki/AMD + } else if (typeof(define) === 'function' && define.amd) { + define([], function() { return aesjs; }); + + // Web Browsers + } else { + + // If there was an existing library at "aesjs" make sure it's still available + if (root.aesjs) { + aesjs._aesjs = root.aesjs; + } + + root.aesjs = aesjs; + } + + +})(this); diff --git a/node_modules/aes-js/package.json b/node_modules/aes-js/package.json new file mode 100644 index 00000000..19fa09c3 --- /dev/null +++ b/node_modules/aes-js/package.json @@ -0,0 +1,63 @@ +{ + "_from": "aes-js@^3.1.2", + "_id": "aes-js@3.1.2", + "_inBundle": false, + "_integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==", + "_location": "/aes-js", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "aes-js@^3.1.2", + "name": "aes-js", + "escapedName": "aes-js", + "rawSpec": "^3.1.2", + "saveSpec": null, + "fetchSpec": "^3.1.2" + }, + "_requiredBy": [ + "/minecraft-protocol" + ], + "_resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", + "_shasum": "db9aabde85d5caabbfc0d4f2a4446960f627146a", + "_spec": "aes-js@^3.1.2", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\minecraft-protocol", + "author": { + "name": "Richard Moore", + "email": "me@ricmoo.com" + }, + "bugs": { + "url": "http://github.com/ricmoo/aes-js/issues", + "email": "github@ricmoo.com" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "A pure JavaScript implementation of the AES block cipher and all common modes of operation.", + "devDependencies": { + "nodeunit": "^0.9.1" + }, + "homepage": "https://github.com/ricmoo/aes-js#readme", + "keywords": [ + "aes", + "aes-ctr", + "aes-ofb", + "aes-ecb", + "aes-cbc", + "aes-cfb", + "encrypt", + "decrypt", + "block", + "cipher" + ], + "license": "MIT", + "main": "index.js", + "name": "aes-js", + "repository": { + "type": "git", + "url": "git://github.com/ricmoo/aes-js.git" + }, + "scripts": { + "test": "nodeunit test/index.js" + }, + "version": "3.1.2" +} diff --git a/node_modules/ajv/.tonic_example.js b/node_modules/ajv/.tonic_example.js new file mode 100644 index 00000000..aa11812d --- /dev/null +++ b/node_modules/ajv/.tonic_example.js @@ -0,0 +1,20 @@ +var Ajv = require('ajv'); +var ajv = new Ajv({allErrors: true}); + +var schema = { + "properties": { + "foo": { "type": "string" }, + "bar": { "type": "number", "maximum": 3 } + } +}; + +var validate = ajv.compile(schema); + +test({"foo": "abc", "bar": 2}); +test({"foo": 2, "bar": 4}); + +function test(data) { + var valid = validate(data); + if (valid) console.log('Valid!'); + else console.log('Invalid: ' + ajv.errorsText(validate.errors)); +} \ No newline at end of file diff --git a/node_modules/ajv/LICENSE b/node_modules/ajv/LICENSE new file mode 100644 index 00000000..96ee7199 --- /dev/null +++ b/node_modules/ajv/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015-2017 Evgeny Poberezkin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/node_modules/ajv/README.md b/node_modules/ajv/README.md new file mode 100644 index 00000000..5aa2078d --- /dev/null +++ b/node_modules/ajv/README.md @@ -0,0 +1,1497 @@ +Ajv logo + +# Ajv: Another JSON Schema Validator + +The fastest JSON Schema validator for Node.js and browser. Supports draft-04/06/07. + +[![Build Status](https://travis-ci.org/ajv-validator/ajv.svg?branch=master)](https://travis-ci.org/ajv-validator/ajv) +[![npm](https://img.shields.io/npm/v/ajv.svg)](https://www.npmjs.com/package/ajv) +[![npm (beta)](https://img.shields.io/npm/v/ajv/beta)](https://www.npmjs.com/package/ajv/v/7.0.0-beta.0) +[![npm downloads](https://img.shields.io/npm/dm/ajv.svg)](https://www.npmjs.com/package/ajv) +[![Coverage Status](https://coveralls.io/repos/github/ajv-validator/ajv/badge.svg?branch=master)](https://coveralls.io/github/ajv-validator/ajv?branch=master) +[![Gitter](https://img.shields.io/gitter/room/ajv-validator/ajv.svg)](https://gitter.im/ajv-validator/ajv) +[![GitHub Sponsors](https://img.shields.io/badge/$-sponsors-brightgreen)](https://github.com/sponsors/epoberezkin) + + +## Ajv v7 beta is released + +[Ajv version 7.0.0-beta.0](https://github.com/ajv-validator/ajv/tree/v7-beta) is released with these changes: + +- to reduce the mistakes in JSON schemas and unexpected validation results, [strict mode](./docs/strict-mode.md) is added - it prohibits ignored or ambiguous JSON Schema elements. +- to make code injection from untrusted schemas impossible, [code generation](./docs/codegen.md) is fully re-written to be safe. +- to simplify Ajv extensions, the new keyword API that is used by pre-defined keywords is available to user-defined keywords - it is much easier to define any keywords now, especially with subschemas. +- schemas are compiled to ES6 code (ES5 code generation is supported with an option). +- to improve reliability and maintainability the code is migrated to TypeScript. + +**Please note**: + +- the support for JSON-Schema draft-04 is removed - if you have schemas using "id" attributes you have to replace them with "\$id" (or continue using version 6 that will be supported until 02/28/2021). +- all formats are separated to ajv-formats package - they have to be explicitely added if you use them. + +See [release notes](https://github.com/ajv-validator/ajv/releases/tag/v7.0.0-beta.0) for the details. + +To install the new version: + +```bash +npm install ajv@beta +``` + +See [Getting started with v7](https://github.com/ajv-validator/ajv/tree/v7-beta#usage) for code example. + + +## Mozilla MOSS grant and OpenJS Foundation + +[](https://www.mozilla.org/en-US/moss/)     [](https://openjsf.org/blog/2020/08/14/ajv-joins-openjs-foundation-as-an-incubation-project/) + +Ajv has been awarded a grant from Mozilla’s [Open Source Support (MOSS) program](https://www.mozilla.org/en-US/moss/) in the “Foundational Technology” track! It will sponsor the development of Ajv support of [JSON Schema version 2019-09](https://tools.ietf.org/html/draft-handrews-json-schema-02) and of [JSON Type Definition](https://tools.ietf.org/html/draft-ucarion-json-type-definition-04). + +Ajv also joined [OpenJS Foundation](https://openjsf.org/) – having this support will help ensure the longevity and stability of Ajv for all its users. + +This [blog post](https://www.poberezkin.com/posts/2020-08-14-ajv-json-validator-mozilla-open-source-grant-openjs-foundation.html) has more details. + +I am looking for the long term maintainers of Ajv – working with [ReadySet](https://www.thereadyset.co/), also sponsored by Mozilla, to establish clear guidelines for the role of a "maintainer" and the contribution standards, and to encourage a wider, more inclusive, contribution from the community. + + +## Please [sponsor Ajv development](https://github.com/sponsors/epoberezkin) + +Since I asked to support Ajv development 40 people and 6 organizations contributed via GitHub and OpenCollective - this support helped receiving the MOSS grant! + +Your continuing support is very important - the funds will be used to develop and maintain Ajv once the next major version is released. + +Please sponsor Ajv via: +- [GitHub sponsors page](https://github.com/sponsors/epoberezkin) (GitHub will match it) +- [Ajv Open Collective️](https://opencollective.com/ajv) + +Thank you. + + +#### Open Collective sponsors + + + + + + + + + + + + + + + +## Using version 6 + +[JSON Schema draft-07](http://json-schema.org/latest/json-schema-validation.html) is published. + +[Ajv version 6.0.0](https://github.com/ajv-validator/ajv/releases/tag/v6.0.0) that supports draft-07 is released. It may require either migrating your schemas or updating your code (to continue using draft-04 and v5 schemas, draft-06 schemas will be supported without changes). + +__Please note__: To use Ajv with draft-06 schemas you need to explicitly add the meta-schema to the validator instance: + +```javascript +ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json')); +``` + +To use Ajv with draft-04 schemas in addition to explicitly adding meta-schema you also need to use option schemaId: + +```javascript +var ajv = new Ajv({schemaId: 'id'}); +// If you want to use both draft-04 and draft-06/07 schemas: +// var ajv = new Ajv({schemaId: 'auto'}); +ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json')); +``` + + +## Contents + +- [Performance](#performance) +- [Features](#features) +- [Getting started](#getting-started) +- [Frequently Asked Questions](https://github.com/ajv-validator/ajv/blob/master/FAQ.md) +- [Using in browser](#using-in-browser) + - [Ajv and Content Security Policies (CSP)](#ajv-and-content-security-policies-csp) +- [Command line interface](#command-line-interface) +- Validation + - [Keywords](#validation-keywords) + - [Annotation keywords](#annotation-keywords) + - [Formats](#formats) + - [Combining schemas with $ref](#ref) + - [$data reference](#data-reference) + - NEW: [$merge and $patch keywords](#merge-and-patch-keywords) + - [Defining custom keywords](#defining-custom-keywords) + - [Asynchronous schema compilation](#asynchronous-schema-compilation) + - [Asynchronous validation](#asynchronous-validation) +- [Security considerations](#security-considerations) + - [Security contact](#security-contact) + - [Untrusted schemas](#untrusted-schemas) + - [Circular references in objects](#circular-references-in-javascript-objects) + - [Trusted schemas](#security-risks-of-trusted-schemas) + - [ReDoS attack](#redos-attack) +- Modifying data during validation + - [Filtering data](#filtering-data) + - [Assigning defaults](#assigning-defaults) + - [Coercing data types](#coercing-data-types) +- API + - [Methods](#api) + - [Options](#options) + - [Validation errors](#validation-errors) +- [Plugins](#plugins) +- [Related packages](#related-packages) +- [Some packages using Ajv](#some-packages-using-ajv) +- [Tests, Contributing, Changes history](#tests) +- [Support, Code of conduct, License](#open-source-software-support) + + +## Performance + +Ajv generates code using [doT templates](https://github.com/olado/doT) to turn JSON Schemas into super-fast validation functions that are efficient for v8 optimization. + +Currently Ajv is the fastest and the most standard compliant validator according to these benchmarks: + +- [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark) - 50% faster than the second place +- [jsck benchmark](https://github.com/pandastrike/jsck#benchmarks) - 20-190% faster +- [z-schema benchmark](https://rawgit.com/zaggino/z-schema/master/benchmark/results.html) +- [themis benchmark](https://cdn.rawgit.com/playlyfe/themis/master/benchmark/results.html) + + +Performance of different validators by [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark): + +[![performance](https://chart.googleapis.com/chart?chxt=x,y&cht=bhs&chco=76A4FB&chls=2.0&chbh=32,4,1&chs=600x416&chxl=-1:|djv|ajv|json-schema-validator-generator|jsen|is-my-json-valid|themis|z-schema|jsck|skeemas|json-schema-library|tv4&chd=t:100,98,72.1,66.8,50.1,15.1,6.1,3.8,1.2,0.7,0.2)](https://github.com/ebdrup/json-schema-benchmark/blob/master/README.md#performance) + + +## Features + +- Ajv implements full JSON Schema [draft-06/07](http://json-schema.org/) and draft-04 standards: + - all validation keywords (see [JSON Schema validation keywords](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md)) + - full support of remote refs (remote schemas have to be added with `addSchema` or compiled to be available) + - support of circular references between schemas + - correct string lengths for strings with unicode pairs (can be turned off) + - [formats](#formats) defined by JSON Schema draft-07 standard and custom formats (can be turned off) + - [validates schemas against meta-schema](#api-validateschema) +- supports [browsers](#using-in-browser) and Node.js 0.10-14.x +- [asynchronous loading](#asynchronous-schema-compilation) of referenced schemas during compilation +- "All errors" validation mode with [option allErrors](#options) +- [error messages with parameters](#validation-errors) describing error reasons to allow creating custom error messages +- i18n error messages support with [ajv-i18n](https://github.com/ajv-validator/ajv-i18n) package +- [filtering data](#filtering-data) from additional properties +- [assigning defaults](#assigning-defaults) to missing properties and items +- [coercing data](#coercing-data-types) to the types specified in `type` keywords +- [custom keywords](#defining-custom-keywords) +- draft-06/07 keywords `const`, `contains`, `propertyNames` and `if/then/else` +- draft-06 boolean schemas (`true`/`false` as a schema to always pass/fail). +- keywords `switch`, `patternRequired`, `formatMaximum` / `formatMinimum` and `formatExclusiveMaximum` / `formatExclusiveMinimum` from [JSON Schema extension proposals](https://github.com/json-schema/json-schema/wiki/v5-Proposals) with [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package +- [$data reference](#data-reference) to use values from the validated data as values for the schema keywords +- [asynchronous validation](#asynchronous-validation) of custom formats and keywords + + +## Install + +``` +npm install ajv +``` + + +## Getting started + +Try it in the Node.js REPL: https://tonicdev.com/npm/ajv + + +The fastest validation call: + +```javascript +// Node.js require: +var Ajv = require('ajv'); +// or ESM/TypeScript import +import Ajv from 'ajv'; + +var ajv = new Ajv(); // options can be passed, e.g. {allErrors: true} +var validate = ajv.compile(schema); +var valid = validate(data); +if (!valid) console.log(validate.errors); +``` + +or with less code + +```javascript +// ... +var valid = ajv.validate(schema, data); +if (!valid) console.log(ajv.errors); +// ... +``` + +or + +```javascript +// ... +var valid = ajv.addSchema(schema, 'mySchema') + .validate('mySchema', data); +if (!valid) console.log(ajv.errorsText()); +// ... +``` + +See [API](#api) and [Options](#options) for more details. + +Ajv compiles schemas to functions and caches them in all cases (using schema serialized with [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) or a custom function as a key), so that the next time the same schema is used (not necessarily the same object instance) it won't be compiled again. + +The best performance is achieved when using compiled functions returned by `compile` or `getSchema` methods (there is no additional function call). + +__Please note__: every time a validation function or `ajv.validate` are called `errors` property is overwritten. You need to copy `errors` array reference to another variable if you want to use it later (e.g., in the callback). See [Validation errors](#validation-errors) + +__Note for TypeScript users__: `ajv` provides its own TypeScript declarations +out of the box, so you don't need to install the deprecated `@types/ajv` +module. + + +## Using in browser + +You can require Ajv directly from the code you browserify - in this case Ajv will be a part of your bundle. + +If you need to use Ajv in several bundles you can create a separate UMD bundle using `npm run bundle` script (thanks to [siddo420](https://github.com/siddo420)). + +Then you need to load Ajv in the browser: +```html + +``` + +This bundle can be used with different module systems; it creates global `Ajv` if no module system is found. + +The browser bundle is available on [cdnjs](https://cdnjs.com/libraries/ajv). + +Ajv is tested with these browsers: + +[![Sauce Test Status](https://saucelabs.com/browser-matrix/epoberezkin.svg)](https://saucelabs.com/u/epoberezkin) + +__Please note__: some frameworks, e.g. Dojo, may redefine global require in such way that is not compatible with CommonJS module format. In such case Ajv bundle has to be loaded before the framework and then you can use global Ajv (see issue [#234](https://github.com/ajv-validator/ajv/issues/234)). + + +### Ajv and Content Security Policies (CSP) + +If you're using Ajv to compile a schema (the typical use) in a browser document that is loaded with a Content Security Policy (CSP), that policy will require a `script-src` directive that includes the value `'unsafe-eval'`. +:warning: NOTE, however, that `unsafe-eval` is NOT recommended in a secure CSP[[1]](https://developer.chrome.com/extensions/contentSecurityPolicy#relaxing-eval), as it has the potential to open the document to cross-site scripting (XSS) attacks. + +In order to make use of Ajv without easing your CSP, you can [pre-compile a schema using the CLI](https://github.com/ajv-validator/ajv-cli#compile-schemas). This will transpile the schema JSON into a JavaScript file that exports a `validate` function that works simlarly to a schema compiled at runtime. + +Note that pre-compilation of schemas is performed using [ajv-pack](https://github.com/ajv-validator/ajv-pack) and there are [some limitations to the schema features it can compile](https://github.com/ajv-validator/ajv-pack#limitations). A successfully pre-compiled schema is equivalent to the same schema compiled at runtime. + + +## Command line interface + +CLI is available as a separate npm package [ajv-cli](https://github.com/ajv-validator/ajv-cli). It supports: + +- compiling JSON Schemas to test their validity +- BETA: generating standalone module exporting a validation function to be used without Ajv (using [ajv-pack](https://github.com/ajv-validator/ajv-pack)) +- migrate schemas to draft-07 (using [json-schema-migrate](https://github.com/epoberezkin/json-schema-migrate)) +- validating data file(s) against JSON Schema +- testing expected validity of data against JSON Schema +- referenced schemas +- custom meta-schemas +- files in JSON, JSON5, YAML, and JavaScript format +- all Ajv options +- reporting changes in data after validation in [JSON-patch](https://tools.ietf.org/html/rfc6902) format + + +## Validation keywords + +Ajv supports all validation keywords from draft-07 of JSON Schema standard: + +- [type](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#type) +- [for numbers](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-numbers) - maximum, minimum, exclusiveMaximum, exclusiveMinimum, multipleOf +- [for strings](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-strings) - maxLength, minLength, pattern, format +- [for arrays](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-arrays) - maxItems, minItems, uniqueItems, items, additionalItems, [contains](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#contains) +- [for objects](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-objects) - maxProperties, minProperties, required, properties, patternProperties, additionalProperties, dependencies, [propertyNames](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#propertynames) +- [for all types](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-all-types) - enum, [const](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#const) +- [compound keywords](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#compound-keywords) - not, oneOf, anyOf, allOf, [if/then/else](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#ifthenelse) + +With [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package Ajv also supports validation keywords from [JSON Schema extension proposals](https://github.com/json-schema/json-schema/wiki/v5-Proposals) for JSON Schema standard: + +- [patternRequired](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#patternrequired-proposed) - like `required` but with patterns that some property should match. +- [formatMaximum, formatMinimum, formatExclusiveMaximum, formatExclusiveMinimum](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#formatmaximum--formatminimum-and-exclusiveformatmaximum--exclusiveformatminimum-proposed) - setting limits for date, time, etc. + +See [JSON Schema validation keywords](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md) for more details. + + +## Annotation keywords + +JSON Schema specification defines several annotation keywords that describe schema itself but do not perform any validation. + +- `title` and `description`: information about the data represented by that schema +- `$comment` (NEW in draft-07): information for developers. With option `$comment` Ajv logs or passes the comment string to the user-supplied function. See [Options](#options). +- `default`: a default value of the data instance, see [Assigning defaults](#assigning-defaults). +- `examples` (NEW in draft-06): an array of data instances. Ajv does not check the validity of these instances against the schema. +- `readOnly` and `writeOnly` (NEW in draft-07): marks data-instance as read-only or write-only in relation to the source of the data (database, api, etc.). +- `contentEncoding`: [RFC 2045](https://tools.ietf.org/html/rfc2045#section-6.1 ), e.g., "base64". +- `contentMediaType`: [RFC 2046](https://tools.ietf.org/html/rfc2046), e.g., "image/png". + +__Please note__: Ajv does not implement validation of the keywords `examples`, `contentEncoding` and `contentMediaType` but it reserves them. If you want to create a plugin that implements some of them, it should remove these keywords from the instance. + + +## Formats + +Ajv implements formats defined by JSON Schema specification and several other formats. It is recommended NOT to use "format" keyword implementations with untrusted data, as they use potentially unsafe regular expressions - see [ReDoS attack](#redos-attack). + +__Please note__: if you need to use "format" keyword to validate untrusted data, you MUST assess their suitability and safety for your validation scenarios. + +The following formats are implemented for string validation with "format" keyword: + +- _date_: full-date according to [RFC3339](http://tools.ietf.org/html/rfc3339#section-5.6). +- _time_: time with optional time-zone. +- _date-time_: date-time from the same source (time-zone is mandatory). `date`, `time` and `date-time` validate ranges in `full` mode and only regexp in `fast` mode (see [options](#options)). +- _uri_: full URI. +- _uri-reference_: URI reference, including full and relative URIs. +- _uri-template_: URI template according to [RFC6570](https://tools.ietf.org/html/rfc6570) +- _url_ (deprecated): [URL record](https://url.spec.whatwg.org/#concept-url). +- _email_: email address. +- _hostname_: host name according to [RFC1034](http://tools.ietf.org/html/rfc1034#section-3.5). +- _ipv4_: IP address v4. +- _ipv6_: IP address v6. +- _regex_: tests whether a string is a valid regular expression by passing it to RegExp constructor. +- _uuid_: Universally Unique IDentifier according to [RFC4122](http://tools.ietf.org/html/rfc4122). +- _json-pointer_: JSON-pointer according to [RFC6901](https://tools.ietf.org/html/rfc6901). +- _relative-json-pointer_: relative JSON-pointer according to [this draft](http://tools.ietf.org/html/draft-luff-relative-json-pointer-00). + +__Please note__: JSON Schema draft-07 also defines formats `iri`, `iri-reference`, `idn-hostname` and `idn-email` for URLs, hostnames and emails with international characters. Ajv does not implement these formats. If you create Ajv plugin that implements them please make a PR to mention this plugin here. + +There are two modes of format validation: `fast` and `full`. This mode affects formats `date`, `time`, `date-time`, `uri`, `uri-reference`, and `email`. See [Options](#options) for details. + +You can add additional formats and replace any of the formats above using [addFormat](#api-addformat) method. + +The option `unknownFormats` allows changing the default behaviour when an unknown format is encountered. In this case Ajv can either fail schema compilation (default) or ignore it (default in versions before 5.0.0). You also can allow specific format(s) that will be ignored. See [Options](#options) for details. + +You can find regular expressions used for format validation and the sources that were used in [formats.js](https://github.com/ajv-validator/ajv/blob/master/lib/compile/formats.js). + + +## Combining schemas with $ref + +You can structure your validation logic across multiple schema files and have schemas reference each other using `$ref` keyword. + +Example: + +```javascript +var schema = { + "$id": "http://example.com/schemas/schema.json", + "type": "object", + "properties": { + "foo": { "$ref": "defs.json#/definitions/int" }, + "bar": { "$ref": "defs.json#/definitions/str" } + } +}; + +var defsSchema = { + "$id": "http://example.com/schemas/defs.json", + "definitions": { + "int": { "type": "integer" }, + "str": { "type": "string" } + } +}; +``` + +Now to compile your schema you can either pass all schemas to Ajv instance: + +```javascript +var ajv = new Ajv({schemas: [schema, defsSchema]}); +var validate = ajv.getSchema('http://example.com/schemas/schema.json'); +``` + +or use `addSchema` method: + +```javascript +var ajv = new Ajv; +var validate = ajv.addSchema(defsSchema) + .compile(schema); +``` + +See [Options](#options) and [addSchema](#api) method. + +__Please note__: +- `$ref` is resolved as the uri-reference using schema $id as the base URI (see the example). +- References can be recursive (and mutually recursive) to implement the schemas for different data structures (such as linked lists, trees, graphs, etc.). +- You don't have to host your schema files at the URIs that you use as schema $id. These URIs are only used to identify the schemas, and according to JSON Schema specification validators should not expect to be able to download the schemas from these URIs. +- The actual location of the schema file in the file system is not used. +- You can pass the identifier of the schema as the second parameter of `addSchema` method or as a property name in `schemas` option. This identifier can be used instead of (or in addition to) schema $id. +- You cannot have the same $id (or the schema identifier) used for more than one schema - the exception will be thrown. +- You can implement dynamic resolution of the referenced schemas using `compileAsync` method. In this way you can store schemas in any system (files, web, database, etc.) and reference them without explicitly adding to Ajv instance. See [Asynchronous schema compilation](#asynchronous-schema-compilation). + + +## $data reference + +With `$data` option you can use values from the validated data as the values for the schema keywords. See [proposal](https://github.com/json-schema-org/json-schema-spec/issues/51) for more information about how it works. + +`$data` reference is supported in the keywords: const, enum, format, maximum/minimum, exclusiveMaximum / exclusiveMinimum, maxLength / minLength, maxItems / minItems, maxProperties / minProperties, formatMaximum / formatMinimum, formatExclusiveMaximum / formatExclusiveMinimum, multipleOf, pattern, required, uniqueItems. + +The value of "$data" should be a [JSON-pointer](https://tools.ietf.org/html/rfc6901) to the data (the root is always the top level data object, even if the $data reference is inside a referenced subschema) or a [relative JSON-pointer](http://tools.ietf.org/html/draft-luff-relative-json-pointer-00) (it is relative to the current point in data; if the $data reference is inside a referenced subschema it cannot point to the data outside of the root level for this subschema). + +Examples. + +This schema requires that the value in property `smaller` is less or equal than the value in the property larger: + +```javascript +var ajv = new Ajv({$data: true}); + +var schema = { + "properties": { + "smaller": { + "type": "number", + "maximum": { "$data": "1/larger" } + }, + "larger": { "type": "number" } + } +}; + +var validData = { + smaller: 5, + larger: 7 +}; + +ajv.validate(schema, validData); // true +``` + +This schema requires that the properties have the same format as their field names: + +```javascript +var schema = { + "additionalProperties": { + "type": "string", + "format": { "$data": "0#" } + } +}; + +var validData = { + 'date-time': '1963-06-19T08:30:06.283185Z', + email: 'joe.bloggs@example.com' +} +``` + +`$data` reference is resolved safely - it won't throw even if some property is undefined. If `$data` resolves to `undefined` the validation succeeds (with the exclusion of `const` keyword). If `$data` resolves to incorrect type (e.g. not "number" for maximum keyword) the validation fails. + + +## $merge and $patch keywords + +With the package [ajv-merge-patch](https://github.com/ajv-validator/ajv-merge-patch) you can use the keywords `$merge` and `$patch` that allow extending JSON Schemas with patches using formats [JSON Merge Patch (RFC 7396)](https://tools.ietf.org/html/rfc7396) and [JSON Patch (RFC 6902)](https://tools.ietf.org/html/rfc6902). + +To add keywords `$merge` and `$patch` to Ajv instance use this code: + +```javascript +require('ajv-merge-patch')(ajv); +``` + +Examples. + +Using `$merge`: + +```json +{ + "$merge": { + "source": { + "type": "object", + "properties": { "p": { "type": "string" } }, + "additionalProperties": false + }, + "with": { + "properties": { "q": { "type": "number" } } + } + } +} +``` + +Using `$patch`: + +```json +{ + "$patch": { + "source": { + "type": "object", + "properties": { "p": { "type": "string" } }, + "additionalProperties": false + }, + "with": [ + { "op": "add", "path": "/properties/q", "value": { "type": "number" } } + ] + } +} +``` + +The schemas above are equivalent to this schema: + +```json +{ + "type": "object", + "properties": { + "p": { "type": "string" }, + "q": { "type": "number" } + }, + "additionalProperties": false +} +``` + +The properties `source` and `with` in the keywords `$merge` and `$patch` can use absolute or relative `$ref` to point to other schemas previously added to the Ajv instance or to the fragments of the current schema. + +See the package [ajv-merge-patch](https://github.com/ajv-validator/ajv-merge-patch) for more information. + + +## Defining custom keywords + +The advantages of using custom keywords are: + +- allow creating validation scenarios that cannot be expressed using JSON Schema +- simplify your schemas +- help bringing a bigger part of the validation logic to your schemas +- make your schemas more expressive, less verbose and closer to your application domain +- implement custom data processors that modify your data (`modifying` option MUST be used in keyword definition) and/or create side effects while the data is being validated + +If a keyword is used only for side-effects and its validation result is pre-defined, use option `valid: true/false` in keyword definition to simplify both generated code (no error handling in case of `valid: true`) and your keyword functions (no need to return any validation result). + +The concerns you have to be aware of when extending JSON Schema standard with custom keywords are the portability and understanding of your schemas. You will have to support these custom keywords on other platforms and to properly document these keywords so that everybody can understand them in your schemas. + +You can define custom keywords with [addKeyword](#api-addkeyword) method. Keywords are defined on the `ajv` instance level - new instances will not have previously defined keywords. + +Ajv allows defining keywords with: +- validation function +- compilation function +- macro function +- inline compilation function that should return code (as string) that will be inlined in the currently compiled schema. + +Example. `range` and `exclusiveRange` keywords using compiled schema: + +```javascript +ajv.addKeyword('range', { + type: 'number', + compile: function (sch, parentSchema) { + var min = sch[0]; + var max = sch[1]; + + return parentSchema.exclusiveRange === true + ? function (data) { return data > min && data < max; } + : function (data) { return data >= min && data <= max; } + } +}); + +var schema = { "range": [2, 4], "exclusiveRange": true }; +var validate = ajv.compile(schema); +console.log(validate(2.01)); // true +console.log(validate(3.99)); // true +console.log(validate(2)); // false +console.log(validate(4)); // false +``` + +Several custom keywords (typeof, instanceof, range and propertyNames) are defined in [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package - they can be used for your schemas and as a starting point for your own custom keywords. + +See [Defining custom keywords](https://github.com/ajv-validator/ajv/blob/master/CUSTOM.md) for more details. + + +## Asynchronous schema compilation + +During asynchronous compilation remote references are loaded using supplied function. See `compileAsync` [method](#api-compileAsync) and `loadSchema` [option](#options). + +Example: + +```javascript +var ajv = new Ajv({ loadSchema: loadSchema }); + +ajv.compileAsync(schema).then(function (validate) { + var valid = validate(data); + // ... +}); + +function loadSchema(uri) { + return request.json(uri).then(function (res) { + if (res.statusCode >= 400) + throw new Error('Loading error: ' + res.statusCode); + return res.body; + }); +} +``` + +__Please note__: [Option](#options) `missingRefs` should NOT be set to `"ignore"` or `"fail"` for asynchronous compilation to work. + + +## Asynchronous validation + +Example in Node.js REPL: https://tonicdev.com/esp/ajv-asynchronous-validation + +You can define custom formats and keywords that perform validation asynchronously by accessing database or some other service. You should add `async: true` in the keyword or format definition (see [addFormat](#api-addformat), [addKeyword](#api-addkeyword) and [Defining custom keywords](#defining-custom-keywords)). + +If your schema uses asynchronous formats/keywords or refers to some schema that contains them it should have `"$async": true` keyword so that Ajv can compile it correctly. If asynchronous format/keyword or reference to asynchronous schema is used in the schema without `$async` keyword Ajv will throw an exception during schema compilation. + +__Please note__: all asynchronous subschemas that are referenced from the current or other schemas should have `"$async": true` keyword as well, otherwise the schema compilation will fail. + +Validation function for an asynchronous custom format/keyword should return a promise that resolves with `true` or `false` (or rejects with `new Ajv.ValidationError(errors)` if you want to return custom errors from the keyword function). + +Ajv compiles asynchronous schemas to [es7 async functions](http://tc39.github.io/ecmascript-asyncawait/) that can optionally be transpiled with [nodent](https://github.com/MatAtBread/nodent). Async functions are supported in Node.js 7+ and all modern browsers. You can also supply any other transpiler as a function via `processCode` option. See [Options](#options). + +The compiled validation function has `$async: true` property (if the schema is asynchronous), so you can differentiate these functions if you are using both synchronous and asynchronous schemas. + +Validation result will be a promise that resolves with validated data or rejects with an exception `Ajv.ValidationError` that contains the array of validation errors in `errors` property. + + +Example: + +```javascript +var ajv = new Ajv; +// require('ajv-async')(ajv); + +ajv.addKeyword('idExists', { + async: true, + type: 'number', + validate: checkIdExists +}); + + +function checkIdExists(schema, data) { + return knex(schema.table) + .select('id') + .where('id', data) + .then(function (rows) { + return !!rows.length; // true if record is found + }); +} + +var schema = { + "$async": true, + "properties": { + "userId": { + "type": "integer", + "idExists": { "table": "users" } + }, + "postId": { + "type": "integer", + "idExists": { "table": "posts" } + } + } +}; + +var validate = ajv.compile(schema); + +validate({ userId: 1, postId: 19 }) +.then(function (data) { + console.log('Data is valid', data); // { userId: 1, postId: 19 } +}) +.catch(function (err) { + if (!(err instanceof Ajv.ValidationError)) throw err; + // data is invalid + console.log('Validation errors:', err.errors); +}); +``` + +### Using transpilers with asynchronous validation functions. + +[ajv-async](https://github.com/ajv-validator/ajv-async) uses [nodent](https://github.com/MatAtBread/nodent) to transpile async functions. To use another transpiler you should separately install it (or load its bundle in the browser). + + +#### Using nodent + +```javascript +var ajv = new Ajv; +require('ajv-async')(ajv); +// in the browser if you want to load ajv-async bundle separately you can: +// window.ajvAsync(ajv); +var validate = ajv.compile(schema); // transpiled es7 async function +validate(data).then(successFunc).catch(errorFunc); +``` + + +#### Using other transpilers + +```javascript +var ajv = new Ajv({ processCode: transpileFunc }); +var validate = ajv.compile(schema); // transpiled es7 async function +validate(data).then(successFunc).catch(errorFunc); +``` + +See [Options](#options). + + +## Security considerations + +JSON Schema, if properly used, can replace data sanitisation. It doesn't replace other API security considerations. It also introduces additional security aspects to consider. + + +##### Security contact + +To report a security vulnerability, please use the +[Tidelift security contact](https://tidelift.com/security). +Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerabilities via GitHub issues. + + +##### Untrusted schemas + +Ajv treats JSON schemas as trusted as your application code. This security model is based on the most common use case, when the schemas are static and bundled together with the application. + +If your schemas are received from untrusted sources (or generated from untrusted data) there are several scenarios you need to prevent: +- compiling schemas can cause stack overflow (if they are too deep) +- compiling schemas can be slow (e.g. [#557](https://github.com/ajv-validator/ajv/issues/557)) +- validating certain data can be slow + +It is difficult to predict all the scenarios, but at the very least it may help to limit the size of untrusted schemas (e.g. limit JSON string length) and also the maximum schema object depth (that can be high for relatively small JSON strings). You also may want to mitigate slow regular expressions in `pattern` and `patternProperties` keywords. + +Regardless the measures you take, using untrusted schemas increases security risks. + + +##### Circular references in JavaScript objects + +Ajv does not support schemas and validated data that have circular references in objects. See [issue #802](https://github.com/ajv-validator/ajv/issues/802). + +An attempt to compile such schemas or validate such data would cause stack overflow (or will not complete in case of asynchronous validation). Depending on the parser you use, untrusted data can lead to circular references. + + +##### Security risks of trusted schemas + +Some keywords in JSON Schemas can lead to very slow validation for certain data. These keywords include (but may be not limited to): + +- `pattern` and `format` for large strings - in some cases using `maxLength` can help mitigate it, but certain regular expressions can lead to exponential validation time even with relatively short strings (see [ReDoS attack](#redos-attack)). +- `patternProperties` for large property names - use `propertyNames` to mitigate, but some regular expressions can have exponential evaluation time as well. +- `uniqueItems` for large non-scalar arrays - use `maxItems` to mitigate + +__Please note__: The suggestions above to prevent slow validation would only work if you do NOT use `allErrors: true` in production code (using it would continue validation after validation errors). + +You can validate your JSON schemas against [this meta-schema](https://github.com/ajv-validator/ajv/blob/master/lib/refs/json-schema-secure.json) to check that these recommendations are followed: + +```javascript +const isSchemaSecure = ajv.compile(require('ajv/lib/refs/json-schema-secure.json')); + +const schema1 = {format: 'email'}; +isSchemaSecure(schema1); // false + +const schema2 = {format: 'email', maxLength: MAX_LENGTH}; +isSchemaSecure(schema2); // true +``` + +__Please note__: following all these recommendation is not a guarantee that validation of untrusted data is safe - it can still lead to some undesirable results. + + +##### Content Security Policies (CSP) +See [Ajv and Content Security Policies (CSP)](#ajv-and-content-security-policies-csp) + + +## ReDoS attack + +Certain regular expressions can lead to the exponential evaluation time even with relatively short strings. + +Please assess the regular expressions you use in the schemas on their vulnerability to this attack - see [safe-regex](https://github.com/substack/safe-regex), for example. + +__Please note__: some formats that Ajv implements use [regular expressions](https://github.com/ajv-validator/ajv/blob/master/lib/compile/formats.js) that can be vulnerable to ReDoS attack, so if you use Ajv to validate data from untrusted sources __it is strongly recommended__ to consider the following: + +- making assessment of "format" implementations in Ajv. +- using `format: 'fast'` option that simplifies some of the regular expressions (although it does not guarantee that they are safe). +- replacing format implementations provided by Ajv with your own implementations of "format" keyword that either uses different regular expressions or another approach to format validation. Please see [addFormat](#api-addformat) method. +- disabling format validation by ignoring "format" keyword with option `format: false` + +Whatever mitigation you choose, please assume all formats provided by Ajv as potentially unsafe and make your own assessment of their suitability for your validation scenarios. + + +## Filtering data + +With [option `removeAdditional`](#options) (added by [andyscott](https://github.com/andyscott)) you can filter data during the validation. + +This option modifies original data. + +Example: + +```javascript +var ajv = new Ajv({ removeAdditional: true }); +var schema = { + "additionalProperties": false, + "properties": { + "foo": { "type": "number" }, + "bar": { + "additionalProperties": { "type": "number" }, + "properties": { + "baz": { "type": "string" } + } + } + } +} + +var data = { + "foo": 0, + "additional1": 1, // will be removed; `additionalProperties` == false + "bar": { + "baz": "abc", + "additional2": 2 // will NOT be removed; `additionalProperties` != false + }, +} + +var validate = ajv.compile(schema); + +console.log(validate(data)); // true +console.log(data); // { "foo": 0, "bar": { "baz": "abc", "additional2": 2 } +``` + +If `removeAdditional` option in the example above were `"all"` then both `additional1` and `additional2` properties would have been removed. + +If the option were `"failing"` then property `additional1` would have been removed regardless of its value and property `additional2` would have been removed only if its value were failing the schema in the inner `additionalProperties` (so in the example above it would have stayed because it passes the schema, but any non-number would have been removed). + +__Please note__: If you use `removeAdditional` option with `additionalProperties` keyword inside `anyOf`/`oneOf` keywords your validation can fail with this schema, for example: + +```json +{ + "type": "object", + "oneOf": [ + { + "properties": { + "foo": { "type": "string" } + }, + "required": [ "foo" ], + "additionalProperties": false + }, + { + "properties": { + "bar": { "type": "integer" } + }, + "required": [ "bar" ], + "additionalProperties": false + } + ] +} +``` + +The intention of the schema above is to allow objects with either the string property "foo" or the integer property "bar", but not with both and not with any other properties. + +With the option `removeAdditional: true` the validation will pass for the object `{ "foo": "abc"}` but will fail for the object `{"bar": 1}`. It happens because while the first subschema in `oneOf` is validated, the property `bar` is removed because it is an additional property according to the standard (because it is not included in `properties` keyword in the same schema). + +While this behaviour is unexpected (issues [#129](https://github.com/ajv-validator/ajv/issues/129), [#134](https://github.com/ajv-validator/ajv/issues/134)), it is correct. To have the expected behaviour (both objects are allowed and additional properties are removed) the schema has to be refactored in this way: + +```json +{ + "type": "object", + "properties": { + "foo": { "type": "string" }, + "bar": { "type": "integer" } + }, + "additionalProperties": false, + "oneOf": [ + { "required": [ "foo" ] }, + { "required": [ "bar" ] } + ] +} +``` + +The schema above is also more efficient - it will compile into a faster function. + + +## Assigning defaults + +With [option `useDefaults`](#options) Ajv will assign values from `default` keyword in the schemas of `properties` and `items` (when it is the array of schemas) to the missing properties and items. + +With the option value `"empty"` properties and items equal to `null` or `""` (empty string) will be considered missing and assigned defaults. + +This option modifies original data. + +__Please note__: the default value is inserted in the generated validation code as a literal, so the value inserted in the data will be the deep clone of the default in the schema. + + +Example 1 (`default` in `properties`): + +```javascript +var ajv = new Ajv({ useDefaults: true }); +var schema = { + "type": "object", + "properties": { + "foo": { "type": "number" }, + "bar": { "type": "string", "default": "baz" } + }, + "required": [ "foo", "bar" ] +}; + +var data = { "foo": 1 }; + +var validate = ajv.compile(schema); + +console.log(validate(data)); // true +console.log(data); // { "foo": 1, "bar": "baz" } +``` + +Example 2 (`default` in `items`): + +```javascript +var schema = { + "type": "array", + "items": [ + { "type": "number" }, + { "type": "string", "default": "foo" } + ] +} + +var data = [ 1 ]; + +var validate = ajv.compile(schema); + +console.log(validate(data)); // true +console.log(data); // [ 1, "foo" ] +``` + +`default` keywords in other cases are ignored: + +- not in `properties` or `items` subschemas +- in schemas inside `anyOf`, `oneOf` and `not` (see [#42](https://github.com/ajv-validator/ajv/issues/42)) +- in `if` subschema of `switch` keyword +- in schemas generated by custom macro keywords + +The [`strictDefaults` option](#options) customizes Ajv's behavior for the defaults that Ajv ignores (`true` raises an error, and `"log"` outputs a warning). + + +## Coercing data types + +When you are validating user inputs all your data properties are usually strings. The option `coerceTypes` allows you to have your data types coerced to the types specified in your schema `type` keywords, both to pass the validation and to use the correctly typed data afterwards. + +This option modifies original data. + +__Please note__: if you pass a scalar value to the validating function its type will be coerced and it will pass the validation, but the value of the variable you pass won't be updated because scalars are passed by value. + + +Example 1: + +```javascript +var ajv = new Ajv({ coerceTypes: true }); +var schema = { + "type": "object", + "properties": { + "foo": { "type": "number" }, + "bar": { "type": "boolean" } + }, + "required": [ "foo", "bar" ] +}; + +var data = { "foo": "1", "bar": "false" }; + +var validate = ajv.compile(schema); + +console.log(validate(data)); // true +console.log(data); // { "foo": 1, "bar": false } +``` + +Example 2 (array coercions): + +```javascript +var ajv = new Ajv({ coerceTypes: 'array' }); +var schema = { + "properties": { + "foo": { "type": "array", "items": { "type": "number" } }, + "bar": { "type": "boolean" } + } +}; + +var data = { "foo": "1", "bar": ["false"] }; + +var validate = ajv.compile(schema); + +console.log(validate(data)); // true +console.log(data); // { "foo": [1], "bar": false } +``` + +The coercion rules, as you can see from the example, are different from JavaScript both to validate user input as expected and to have the coercion reversible (to correctly validate cases where different types are defined in subschemas of "anyOf" and other compound keywords). + +See [Coercion rules](https://github.com/ajv-validator/ajv/blob/master/COERCION.md) for details. + + +## API + +##### new Ajv(Object options) -> Object + +Create Ajv instance. + + +##### .compile(Object schema) -> Function<Object data> + +Generate validating function and cache the compiled schema for future use. + +Validating function returns a boolean value. This function has properties `errors` and `schema`. Errors encountered during the last validation are assigned to `errors` property (it is assigned `null` if there was no errors). `schema` property contains the reference to the original schema. + +The schema passed to this method will be validated against meta-schema unless `validateSchema` option is false. If schema is invalid, an error will be thrown. See [options](#options). + + +##### .compileAsync(Object schema [, Boolean meta] [, Function callback]) -> Promise + +Asynchronous version of `compile` method that loads missing remote schemas using asynchronous function in `options.loadSchema`. This function returns a Promise that resolves to a validation function. An optional callback passed to `compileAsync` will be called with 2 parameters: error (or null) and validating function. The returned promise will reject (and the callback will be called with an error) when: + +- missing schema can't be loaded (`loadSchema` returns a Promise that rejects). +- a schema containing a missing reference is loaded, but the reference cannot be resolved. +- schema (or some loaded/referenced schema) is invalid. + +The function compiles schema and loads the first missing schema (or meta-schema) until all missing schemas are loaded. + +You can asynchronously compile meta-schema by passing `true` as the second parameter. + +See example in [Asynchronous compilation](#asynchronous-schema-compilation). + + +##### .validate(Object schema|String key|String ref, data) -> Boolean + +Validate data using passed schema (it will be compiled and cached). + +Instead of the schema you can use the key that was previously passed to `addSchema`, the schema id if it was present in the schema or any previously resolved reference. + +Validation errors will be available in the `errors` property of Ajv instance (`null` if there were no errors). + +__Please note__: every time this method is called the errors are overwritten so you need to copy them to another variable if you want to use them later. + +If the schema is asynchronous (has `$async` keyword on the top level) this method returns a Promise. See [Asynchronous validation](#asynchronous-validation). + + +##### .addSchema(Array<Object>|Object schema [, String key]) -> Ajv + +Add schema(s) to validator instance. This method does not compile schemas (but it still validates them). Because of that dependencies can be added in any order and circular dependencies are supported. It also prevents unnecessary compilation of schemas that are containers for other schemas but not used as a whole. + +Array of schemas can be passed (schemas should have ids), the second parameter will be ignored. + +Key can be passed that can be used to reference the schema and will be used as the schema id if there is no id inside the schema. If the key is not passed, the schema id will be used as the key. + + +Once the schema is added, it (and all the references inside it) can be referenced in other schemas and used to validate data. + +Although `addSchema` does not compile schemas, explicit compilation is not required - the schema will be compiled when it is used first time. + +By default the schema is validated against meta-schema before it is added, and if the schema does not pass validation the exception is thrown. This behaviour is controlled by `validateSchema` option. + +__Please note__: Ajv uses the [method chaining syntax](https://en.wikipedia.org/wiki/Method_chaining) for all methods with the prefix `add*` and `remove*`. +This allows you to do nice things like the following. + +```javascript +var validate = new Ajv().addSchema(schema).addFormat(name, regex).getSchema(uri); +``` + +##### .addMetaSchema(Array<Object>|Object schema [, String key]) -> Ajv + +Adds meta schema(s) that can be used to validate other schemas. That function should be used instead of `addSchema` because there may be instance options that would compile a meta schema incorrectly (at the moment it is `removeAdditional` option). + +There is no need to explicitly add draft-07 meta schema (http://json-schema.org/draft-07/schema) - it is added by default, unless option `meta` is set to `false`. You only need to use it if you have a changed meta-schema that you want to use to validate your schemas. See `validateSchema`. + + +##### .validateSchema(Object schema) -> Boolean + +Validates schema. This method should be used to validate schemas rather than `validate` due to the inconsistency of `uri` format in JSON Schema standard. + +By default this method is called automatically when the schema is added, so you rarely need to use it directly. + +If schema doesn't have `$schema` property, it is validated against draft 6 meta-schema (option `meta` should not be false). + +If schema has `$schema` property, then the schema with this id (that should be previously added) is used to validate passed schema. + +Errors will be available at `ajv.errors`. + + +##### .getSchema(String key) -> Function<Object data> + +Retrieve compiled schema previously added with `addSchema` by the key passed to `addSchema` or by its full reference (id). The returned validating function has `schema` property with the reference to the original schema. + + +##### .removeSchema([Object schema|String key|String ref|RegExp pattern]) -> Ajv + +Remove added/cached schema. Even if schema is referenced by other schemas it can be safely removed as dependent schemas have local references. + +Schema can be removed using: +- key passed to `addSchema` +- it's full reference (id) +- RegExp that should match schema id or key (meta-schemas won't be removed) +- actual schema object that will be stable-stringified to remove schema from cache + +If no parameter is passed all schemas but meta-schemas will be removed and the cache will be cleared. + + +##### .addFormat(String name, String|RegExp|Function|Object format) -> Ajv + +Add custom format to validate strings or numbers. It can also be used to replace pre-defined formats for Ajv instance. + +Strings are converted to RegExp. + +Function should return validation result as `true` or `false`. + +If object is passed it should have properties `validate`, `compare` and `async`: + +- _validate_: a string, RegExp or a function as described above. +- _compare_: an optional comparison function that accepts two strings and compares them according to the format meaning. This function is used with keywords `formatMaximum`/`formatMinimum` (defined in [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package). It should return `1` if the first value is bigger than the second value, `-1` if it is smaller and `0` if it is equal. +- _async_: an optional `true` value if `validate` is an asynchronous function; in this case it should return a promise that resolves with a value `true` or `false`. +- _type_: an optional type of data that the format applies to. It can be `"string"` (default) or `"number"` (see https://github.com/ajv-validator/ajv/issues/291#issuecomment-259923858). If the type of data is different, the validation will pass. + +Custom formats can be also added via `formats` option. + + +##### .addKeyword(String keyword, Object definition) -> Ajv + +Add custom validation keyword to Ajv instance. + +Keyword should be different from all standard JSON Schema keywords and different from previously defined keywords. There is no way to redefine keywords or to remove keyword definition from the instance. + +Keyword must start with a letter, `_` or `$`, and may continue with letters, numbers, `_`, `$`, or `-`. +It is recommended to use an application-specific prefix for keywords to avoid current and future name collisions. + +Example Keywords: +- `"xyz-example"`: valid, and uses prefix for the xyz project to avoid name collisions. +- `"example"`: valid, but not recommended as it could collide with future versions of JSON Schema etc. +- `"3-example"`: invalid as numbers are not allowed to be the first character in a keyword + +Keyword definition is an object with the following properties: + +- _type_: optional string or array of strings with data type(s) that the keyword applies to. If not present, the keyword will apply to all types. +- _validate_: validating function +- _compile_: compiling function +- _macro_: macro function +- _inline_: compiling function that returns code (as string) +- _schema_: an optional `false` value used with "validate" keyword to not pass schema +- _metaSchema_: an optional meta-schema for keyword schema +- _dependencies_: an optional list of properties that must be present in the parent schema - it will be checked during schema compilation +- _modifying_: `true` MUST be passed if keyword modifies data +- _statements_: `true` can be passed in case inline keyword generates statements (as opposed to expression) +- _valid_: pass `true`/`false` to pre-define validation result, the result returned from validation function will be ignored. This option cannot be used with macro keywords. +- _$data_: an optional `true` value to support [$data reference](#data-reference) as the value of custom keyword. The reference will be resolved at validation time. If the keyword has meta-schema it would be extended to allow $data and it will be used to validate the resolved value. Supporting $data reference requires that keyword has validating function (as the only option or in addition to compile, macro or inline function). +- _async_: an optional `true` value if the validation function is asynchronous (whether it is compiled or passed in _validate_ property); in this case it should return a promise that resolves with a value `true` or `false`. This option is ignored in case of "macro" and "inline" keywords. +- _errors_: an optional boolean or string `"full"` indicating whether keyword returns errors. If this property is not set Ajv will determine if the errors were set in case of failed validation. + +_compile_, _macro_ and _inline_ are mutually exclusive, only one should be used at a time. _validate_ can be used separately or in addition to them to support $data reference. + +__Please note__: If the keyword is validating data type that is different from the type(s) in its definition, the validation function will not be called (and expanded macro will not be used), so there is no need to check for data type inside validation function or inside schema returned by macro function (unless you want to enforce a specific type and for some reason do not want to use a separate `type` keyword for that). In the same way as standard keywords work, if the keyword does not apply to the data type being validated, the validation of this keyword will succeed. + +See [Defining custom keywords](#defining-custom-keywords) for more details. + + +##### .getKeyword(String keyword) -> Object|Boolean + +Returns custom keyword definition, `true` for pre-defined keywords and `false` if the keyword is unknown. + + +##### .removeKeyword(String keyword) -> Ajv + +Removes custom or pre-defined keyword so you can redefine them. + +While this method can be used to extend pre-defined keywords, it can also be used to completely change their meaning - it may lead to unexpected results. + +__Please note__: schemas compiled before the keyword is removed will continue to work without changes. To recompile schemas use `removeSchema` method and compile them again. + + +##### .errorsText([Array<Object> errors [, Object options]]) -> String + +Returns the text with all errors in a String. + +Options can have properties `separator` (string used to separate errors, ", " by default) and `dataVar` (the variable name that dataPaths are prefixed with, "data" by default). + + +## Options + +Defaults: + +```javascript +{ + // validation and reporting options: + $data: false, + allErrors: false, + verbose: false, + $comment: false, // NEW in Ajv version 6.0 + jsonPointers: false, + uniqueItems: true, + unicode: true, + nullable: false, + format: 'fast', + formats: {}, + unknownFormats: true, + schemas: {}, + logger: undefined, + // referenced schema options: + schemaId: '$id', + missingRefs: true, + extendRefs: 'ignore', // recommended 'fail' + loadSchema: undefined, // function(uri: string): Promise {} + // options to modify validated data: + removeAdditional: false, + useDefaults: false, + coerceTypes: false, + // strict mode options + strictDefaults: false, + strictKeywords: false, + strictNumbers: false, + // asynchronous validation options: + transpile: undefined, // requires ajv-async package + // advanced options: + meta: true, + validateSchema: true, + addUsedSchema: true, + inlineRefs: true, + passContext: false, + loopRequired: Infinity, + ownProperties: false, + multipleOfPrecision: false, + errorDataPath: 'object', // deprecated + messages: true, + sourceCode: false, + processCode: undefined, // function (str: string, schema: object): string {} + cache: new Cache, + serialize: undefined +} +``` + +##### Validation and reporting options + +- _$data_: support [$data references](#data-reference). Draft 6 meta-schema that is added by default will be extended to allow them. If you want to use another meta-schema you need to use $dataMetaSchema method to add support for $data reference. See [API](#api). +- _allErrors_: check all rules collecting all errors. Default is to return after the first error. +- _verbose_: include the reference to the part of the schema (`schema` and `parentSchema`) and validated data in errors (false by default). +- _$comment_ (NEW in Ajv version 6.0): log or pass the value of `$comment` keyword to a function. Option values: + - `false` (default): ignore $comment keyword. + - `true`: log the keyword value to console. + - function: pass the keyword value, its schema path and root schema to the specified function +- _jsonPointers_: set `dataPath` property of errors using [JSON Pointers](https://tools.ietf.org/html/rfc6901) instead of JavaScript property access notation. +- _uniqueItems_: validate `uniqueItems` keyword (true by default). +- _unicode_: calculate correct length of strings with unicode pairs (true by default). Pass `false` to use `.length` of strings that is faster, but gives "incorrect" lengths of strings with unicode pairs - each unicode pair is counted as two characters. +- _nullable_: support keyword "nullable" from [Open API 3 specification](https://swagger.io/docs/specification/data-models/data-types/). +- _format_: formats validation mode. Option values: + - `"fast"` (default) - simplified and fast validation (see [Formats](#formats) for details of which formats are available and affected by this option). + - `"full"` - more restrictive and slow validation. E.g., 25:00:00 and 2015/14/33 will be invalid time and date in 'full' mode but it will be valid in 'fast' mode. + - `false` - ignore all format keywords. +- _formats_: an object with custom formats. Keys and values will be passed to `addFormat` method. +- _keywords_: an object with custom keywords. Keys and values will be passed to `addKeyword` method. +- _unknownFormats_: handling of unknown formats. Option values: + - `true` (default) - if an unknown format is encountered the exception is thrown during schema compilation. If `format` keyword value is [$data reference](#data-reference) and it is unknown the validation will fail. + - `[String]` - an array of unknown format names that will be ignored. This option can be used to allow usage of third party schemas with format(s) for which you don't have definitions, but still fail if another unknown format is used. If `format` keyword value is [$data reference](#data-reference) and it is not in this array the validation will fail. + - `"ignore"` - to log warning during schema compilation and always pass validation (the default behaviour in versions before 5.0.0). This option is not recommended, as it allows to mistype format name and it won't be validated without any error message. This behaviour is required by JSON Schema specification. +- _schemas_: an array or object of schemas that will be added to the instance. In case you pass the array the schemas must have IDs in them. When the object is passed the method `addSchema(value, key)` will be called for each schema in this object. +- _logger_: sets the logging method. Default is the global `console` object that should have methods `log`, `warn` and `error`. See [Error logging](#error-logging). Option values: + - custom logger - it should have methods `log`, `warn` and `error`. If any of these methods is missing an exception will be thrown. + - `false` - logging is disabled. + + +##### Referenced schema options + +- _schemaId_: this option defines which keywords are used as schema URI. Option value: + - `"$id"` (default) - only use `$id` keyword as schema URI (as specified in JSON Schema draft-06/07), ignore `id` keyword (if it is present a warning will be logged). + - `"id"` - only use `id` keyword as schema URI (as specified in JSON Schema draft-04), ignore `$id` keyword (if it is present a warning will be logged). + - `"auto"` - use both `$id` and `id` keywords as schema URI. If both are present (in the same schema object) and different the exception will be thrown during schema compilation. +- _missingRefs_: handling of missing referenced schemas. Option values: + - `true` (default) - if the reference cannot be resolved during compilation the exception is thrown. The thrown error has properties `missingRef` (with hash fragment) and `missingSchema` (without it). Both properties are resolved relative to the current base id (usually schema id, unless it was substituted). + - `"ignore"` - to log error during compilation and always pass validation. + - `"fail"` - to log error and successfully compile schema but fail validation if this rule is checked. +- _extendRefs_: validation of other keywords when `$ref` is present in the schema. Option values: + - `"ignore"` (default) - when `$ref` is used other keywords are ignored (as per [JSON Reference](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03#section-3) standard). A warning will be logged during the schema compilation. + - `"fail"` (recommended) - if other validation keywords are used together with `$ref` the exception will be thrown when the schema is compiled. This option is recommended to make sure schema has no keywords that are ignored, which can be confusing. + - `true` - validate all keywords in the schemas with `$ref` (the default behaviour in versions before 5.0.0). +- _loadSchema_: asynchronous function that will be used to load remote schemas when `compileAsync` [method](#api-compileAsync) is used and some reference is missing (option `missingRefs` should NOT be 'fail' or 'ignore'). This function should accept remote schema uri as a parameter and return a Promise that resolves to a schema. See example in [Asynchronous compilation](#asynchronous-schema-compilation). + + +##### Options to modify validated data + +- _removeAdditional_: remove additional properties - see example in [Filtering data](#filtering-data). This option is not used if schema is added with `addMetaSchema` method. Option values: + - `false` (default) - not to remove additional properties + - `"all"` - all additional properties are removed, regardless of `additionalProperties` keyword in schema (and no validation is made for them). + - `true` - only additional properties with `additionalProperties` keyword equal to `false` are removed. + - `"failing"` - additional properties that fail schema validation will be removed (where `additionalProperties` keyword is `false` or schema). +- _useDefaults_: replace missing or undefined properties and items with the values from corresponding `default` keywords. Default behaviour is to ignore `default` keywords. This option is not used if schema is added with `addMetaSchema` method. See examples in [Assigning defaults](#assigning-defaults). Option values: + - `false` (default) - do not use defaults + - `true` - insert defaults by value (object literal is used). + - `"empty"` - in addition to missing or undefined, use defaults for properties and items that are equal to `null` or `""` (an empty string). + - `"shared"` (deprecated) - insert defaults by reference. If the default is an object, it will be shared by all instances of validated data. If you modify the inserted default in the validated data, it will be modified in the schema as well. +- _coerceTypes_: change data type of data to match `type` keyword. See the example in [Coercing data types](#coercing-data-types) and [coercion rules](https://github.com/ajv-validator/ajv/blob/master/COERCION.md). Option values: + - `false` (default) - no type coercion. + - `true` - coerce scalar data types. + - `"array"` - in addition to coercions between scalar types, coerce scalar data to an array with one element and vice versa (as required by the schema). + + +##### Strict mode options + +- _strictDefaults_: report ignored `default` keywords in schemas. Option values: + - `false` (default) - ignored defaults are not reported + - `true` - if an ignored default is present, throw an error + - `"log"` - if an ignored default is present, log warning +- _strictKeywords_: report unknown keywords in schemas. Option values: + - `false` (default) - unknown keywords are not reported + - `true` - if an unknown keyword is present, throw an error + - `"log"` - if an unknown keyword is present, log warning +- _strictNumbers_: validate numbers strictly, failing validation for NaN and Infinity. Option values: + - `false` (default) - NaN or Infinity will pass validation for numeric types + - `true` - NaN or Infinity will not pass validation for numeric types + +##### Asynchronous validation options + +- _transpile_: Requires [ajv-async](https://github.com/ajv-validator/ajv-async) package. It determines whether Ajv transpiles compiled asynchronous validation function. Option values: + - `undefined` (default) - transpile with [nodent](https://github.com/MatAtBread/nodent) if async functions are not supported. + - `true` - always transpile with nodent. + - `false` - do not transpile; if async functions are not supported an exception will be thrown. + + +##### Advanced options + +- _meta_: add [meta-schema](http://json-schema.org/documentation.html) so it can be used by other schemas (true by default). If an object is passed, it will be used as the default meta-schema for schemas that have no `$schema` keyword. This default meta-schema MUST have `$schema` keyword. +- _validateSchema_: validate added/compiled schemas against meta-schema (true by default). `$schema` property in the schema can be http://json-schema.org/draft-07/schema or absent (draft-07 meta-schema will be used) or can be a reference to the schema previously added with `addMetaSchema` method. Option values: + - `true` (default) - if the validation fails, throw the exception. + - `"log"` - if the validation fails, log error. + - `false` - skip schema validation. +- _addUsedSchema_: by default methods `compile` and `validate` add schemas to the instance if they have `$id` (or `id`) property that doesn't start with "#". If `$id` is present and it is not unique the exception will be thrown. Set this option to `false` to skip adding schemas to the instance and the `$id` uniqueness check when these methods are used. This option does not affect `addSchema` method. +- _inlineRefs_: Affects compilation of referenced schemas. Option values: + - `true` (default) - the referenced schemas that don't have refs in them are inlined, regardless of their size - that substantially improves performance at the cost of the bigger size of compiled schema functions. + - `false` - to not inline referenced schemas (they will be compiled as separate functions). + - integer number - to limit the maximum number of keywords of the schema that will be inlined. +- _passContext_: pass validation context to custom keyword functions. If this option is `true` and you pass some context to the compiled validation function with `validate.call(context, data)`, the `context` will be available as `this` in your custom keywords. By default `this` is Ajv instance. +- _loopRequired_: by default `required` keyword is compiled into a single expression (or a sequence of statements in `allErrors` mode). In case of a very large number of properties in this keyword it may result in a very big validation function. Pass integer to set the number of properties above which `required` keyword will be validated in a loop - smaller validation function size but also worse performance. +- _ownProperties_: by default Ajv iterates over all enumerable object properties; when this option is `true` only own enumerable object properties (i.e. found directly on the object rather than on its prototype) are iterated. Contributed by @mbroadst. +- _multipleOfPrecision_: by default `multipleOf` keyword is validated by comparing the result of division with parseInt() of that result. It works for dividers that are bigger than 1. For small dividers such as 0.01 the result of the division is usually not integer (even when it should be integer, see issue [#84](https://github.com/ajv-validator/ajv/issues/84)). If you need to use fractional dividers set this option to some positive integer N to have `multipleOf` validated using this formula: `Math.abs(Math.round(division) - division) < 1e-N` (it is slower but allows for float arithmetics deviations). +- _errorDataPath_ (deprecated): set `dataPath` to point to 'object' (default) or to 'property' when validating keywords `required`, `additionalProperties` and `dependencies`. +- _messages_: Include human-readable messages in errors. `true` by default. `false` can be passed when custom messages are used (e.g. with [ajv-i18n](https://github.com/ajv-validator/ajv-i18n)). +- _sourceCode_: add `sourceCode` property to validating function (for debugging; this code can be different from the result of toString call). +- _processCode_: an optional function to process generated code before it is passed to Function constructor. It can be used to either beautify (the validating function is generated without line-breaks) or to transpile code. Starting from version 5.0.0 this option replaced options: + - `beautify` that formatted the generated function using [js-beautify](https://github.com/beautify-web/js-beautify). If you want to beautify the generated code pass a function calling `require('js-beautify').js_beautify` as `processCode: code => js_beautify(code)`. + - `transpile` that transpiled asynchronous validation function. You can still use `transpile` option with [ajv-async](https://github.com/ajv-validator/ajv-async) package. See [Asynchronous validation](#asynchronous-validation) for more information. +- _cache_: an optional instance of cache to store compiled schemas using stable-stringified schema as a key. For example, set-associative cache [sacjs](https://github.com/epoberezkin/sacjs) can be used. If not passed then a simple hash is used which is good enough for the common use case (a limited number of statically defined schemas). Cache should have methods `put(key, value)`, `get(key)`, `del(key)` and `clear()`. +- _serialize_: an optional function to serialize schema to cache key. Pass `false` to use schema itself as a key (e.g., if WeakMap used as a cache). By default [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used. + + +## Validation errors + +In case of validation failure, Ajv assigns the array of errors to `errors` property of validation function (or to `errors` property of Ajv instance when `validate` or `validateSchema` methods were called). In case of [asynchronous validation](#asynchronous-validation), the returned promise is rejected with exception `Ajv.ValidationError` that has `errors` property. + + +### Error objects + +Each error is an object with the following properties: + +- _keyword_: validation keyword. +- _dataPath_: the path to the part of the data that was validated. By default `dataPath` uses JavaScript property access notation (e.g., `".prop[1].subProp"`). When the option `jsonPointers` is true (see [Options](#options)) `dataPath` will be set using JSON pointer standard (e.g., `"/prop/1/subProp"`). +- _schemaPath_: the path (JSON-pointer as a URI fragment) to the schema of the keyword that failed validation. +- _params_: the object with the additional information about error that can be used to create custom error messages (e.g., using [ajv-i18n](https://github.com/ajv-validator/ajv-i18n) package). See below for parameters set by all keywords. +- _message_: the standard error message (can be excluded with option `messages` set to false). +- _schema_: the schema of the keyword (added with `verbose` option). +- _parentSchema_: the schema containing the keyword (added with `verbose` option) +- _data_: the data validated by the keyword (added with `verbose` option). + +__Please note__: `propertyNames` keyword schema validation errors have an additional property `propertyName`, `dataPath` points to the object. After schema validation for each property name, if it is invalid an additional error is added with the property `keyword` equal to `"propertyNames"`. + + +### Error parameters + +Properties of `params` object in errors depend on the keyword that failed validation. + +- `maxItems`, `minItems`, `maxLength`, `minLength`, `maxProperties`, `minProperties` - property `limit` (number, the schema of the keyword). +- `additionalItems` - property `limit` (the maximum number of allowed items in case when `items` keyword is an array of schemas and `additionalItems` is false). +- `additionalProperties` - property `additionalProperty` (the property not used in `properties` and `patternProperties` keywords). +- `dependencies` - properties: + - `property` (dependent property), + - `missingProperty` (required missing dependency - only the first one is reported currently) + - `deps` (required dependencies, comma separated list as a string), + - `depsCount` (the number of required dependencies). +- `format` - property `format` (the schema of the keyword). +- `maximum`, `minimum` - properties: + - `limit` (number, the schema of the keyword), + - `exclusive` (boolean, the schema of `exclusiveMaximum` or `exclusiveMinimum`), + - `comparison` (string, comparison operation to compare the data to the limit, with the data on the left and the limit on the right; can be "<", "<=", ">", ">=") +- `multipleOf` - property `multipleOf` (the schema of the keyword) +- `pattern` - property `pattern` (the schema of the keyword) +- `required` - property `missingProperty` (required property that is missing). +- `propertyNames` - property `propertyName` (an invalid property name). +- `patternRequired` (in ajv-keywords) - property `missingPattern` (required pattern that did not match any property). +- `type` - property `type` (required type(s), a string, can be a comma-separated list) +- `uniqueItems` - properties `i` and `j` (indices of duplicate items). +- `const` - property `allowedValue` pointing to the value (the schema of the keyword). +- `enum` - property `allowedValues` pointing to the array of values (the schema of the keyword). +- `$ref` - property `ref` with the referenced schema URI. +- `oneOf` - property `passingSchemas` (array of indices of passing schemas, null if no schema passes). +- custom keywords (in case keyword definition doesn't create errors) - property `keyword` (the keyword name). + + +### Error logging + +Using the `logger` option when initiallizing Ajv will allow you to define custom logging. Here you can build upon the exisiting logging. The use of other logging packages is supported as long as the package or its associated wrapper exposes the required methods. If any of the required methods are missing an exception will be thrown. +- **Required Methods**: `log`, `warn`, `error` + +```javascript +var otherLogger = new OtherLogger(); +var ajv = new Ajv({ + logger: { + log: console.log.bind(console), + warn: function warn() { + otherLogger.logWarn.apply(otherLogger, arguments); + }, + error: function error() { + otherLogger.logError.apply(otherLogger, arguments); + console.error.apply(console, arguments); + } + } +}); +``` + + +## Plugins + +Ajv can be extended with plugins that add custom keywords, formats or functions to process generated code. When such plugin is published as npm package it is recommended that it follows these conventions: + +- it exports a function +- this function accepts ajv instance as the first parameter and returns the same instance to allow chaining +- this function can accept an optional configuration as the second parameter + +If you have published a useful plugin please submit a PR to add it to the next section. + + +## Related packages + +- [ajv-async](https://github.com/ajv-validator/ajv-async) - plugin to configure async validation mode +- [ajv-bsontype](https://github.com/BoLaMN/ajv-bsontype) - plugin to validate mongodb's bsonType formats +- [ajv-cli](https://github.com/jessedc/ajv-cli) - command line interface +- [ajv-errors](https://github.com/ajv-validator/ajv-errors) - plugin for custom error messages +- [ajv-i18n](https://github.com/ajv-validator/ajv-i18n) - internationalised error messages +- [ajv-istanbul](https://github.com/ajv-validator/ajv-istanbul) - plugin to instrument generated validation code to measure test coverage of your schemas +- [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) - plugin with custom validation keywords (select, typeof, etc.) +- [ajv-merge-patch](https://github.com/ajv-validator/ajv-merge-patch) - plugin with keywords $merge and $patch +- [ajv-pack](https://github.com/ajv-validator/ajv-pack) - produces a compact module exporting validation functions +- [ajv-formats-draft2019](https://github.com/luzlab/ajv-formats-draft2019) - format validators for draft2019 that aren't already included in ajv (ie. `idn-hostname`, `idn-email`, `iri`, `iri-reference` and `duration`). + +## Some packages using Ajv + +- [webpack](https://github.com/webpack/webpack) - a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser +- [jsonscript-js](https://github.com/JSONScript/jsonscript-js) - the interpreter for [JSONScript](http://www.jsonscript.org) - scripted processing of existing endpoints and services +- [osprey-method-handler](https://github.com/mulesoft-labs/osprey-method-handler) - Express middleware for validating requests and responses based on a RAML method object, used in [osprey](https://github.com/mulesoft/osprey) - validating API proxy generated from a RAML definition +- [har-validator](https://github.com/ahmadnassri/har-validator) - HTTP Archive (HAR) validator +- [jsoneditor](https://github.com/josdejong/jsoneditor) - a web-based tool to view, edit, format, and validate JSON http://jsoneditoronline.org +- [JSON Schema Lint](https://github.com/nickcmaynard/jsonschemalint) - a web tool to validate JSON/YAML document against a single JSON Schema http://jsonschemalint.com +- [objection](https://github.com/vincit/objection.js) - SQL-friendly ORM for Node.js +- [table](https://github.com/gajus/table) - formats data into a string table +- [ripple-lib](https://github.com/ripple/ripple-lib) - a JavaScript API for interacting with [Ripple](https://ripple.com) in Node.js and the browser +- [restbase](https://github.com/wikimedia/restbase) - distributed storage with REST API & dispatcher for backend services built to provide a low-latency & high-throughput API for Wikipedia / Wikimedia content +- [hippie-swagger](https://github.com/CacheControl/hippie-swagger) - [Hippie](https://github.com/vesln/hippie) wrapper that provides end to end API testing with swagger validation +- [react-form-controlled](https://github.com/seeden/react-form-controlled) - React controlled form components with validation +- [rabbitmq-schema](https://github.com/tjmehta/rabbitmq-schema) - a schema definition module for RabbitMQ graphs and messages +- [@query/schema](https://www.npmjs.com/package/@query/schema) - stream filtering with a URI-safe query syntax parsing to JSON Schema +- [chai-ajv-json-schema](https://github.com/peon374/chai-ajv-json-schema) - chai plugin to us JSON Schema with expect in mocha tests +- [grunt-jsonschema-ajv](https://github.com/SignpostMarv/grunt-jsonschema-ajv) - Grunt plugin for validating files against JSON Schema +- [extract-text-webpack-plugin](https://github.com/webpack-contrib/extract-text-webpack-plugin) - extract text from bundle into a file +- [electron-builder](https://github.com/electron-userland/electron-builder) - a solution to package and build a ready for distribution Electron app +- [addons-linter](https://github.com/mozilla/addons-linter) - Mozilla Add-ons Linter +- [gh-pages-generator](https://github.com/epoberezkin/gh-pages-generator) - multi-page site generator converting markdown files to GitHub pages +- [ESLint](https://github.com/eslint/eslint) - the pluggable linting utility for JavaScript and JSX + + +## Tests + +``` +npm install +git submodule update --init +npm test +``` + +## Contributing + +All validation functions are generated using doT templates in [dot](https://github.com/ajv-validator/ajv/tree/master/lib/dot) folder. Templates are precompiled so doT is not a run-time dependency. + +`npm run build` - compiles templates to [dotjs](https://github.com/ajv-validator/ajv/tree/master/lib/dotjs) folder. + +`npm run watch` - automatically compiles templates when files in dot folder change + +Please see [Contributing guidelines](https://github.com/ajv-validator/ajv/blob/master/CONTRIBUTING.md) + + +## Changes history + +See https://github.com/ajv-validator/ajv/releases + +__Please note__: [Changes in version 7.0.0-beta](https://github.com/ajv-validator/ajv/releases/tag/v7.0.0-beta.0) + +[Version 6.0.0](https://github.com/ajv-validator/ajv/releases/tag/v6.0.0). + +## Code of conduct + +Please review and follow the [Code of conduct](https://github.com/ajv-validator/ajv/blob/master/CODE_OF_CONDUCT.md). + +Please report any unacceptable behaviour to ajv.validator@gmail.com - it will be reviewed by the project team. + + +## Open-source software support + +Ajv is a part of [Tidelift subscription](https://tidelift.com/subscription/pkg/npm-ajv?utm_source=npm-ajv&utm_medium=referral&utm_campaign=readme) - it provides a centralised support to open-source software users, in addition to the support provided by software maintainers. + + +## License + +[MIT](https://github.com/ajv-validator/ajv/blob/master/LICENSE) diff --git a/node_modules/ajv/dist/ajv.bundle.js b/node_modules/ajv/dist/ajv.bundle.js new file mode 100644 index 00000000..e4d9d156 --- /dev/null +++ b/node_modules/ajv/dist/ajv.bundle.js @@ -0,0 +1,7189 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Ajv = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i; +// For the source: https://gist.github.com/dperini/729294 +// For test cases: https://mathiasbynens.be/demo/url-regex +// @todo Delete current URL in favour of the commented out URL rule when this issue is fixed https://github.com/eslint/eslint/issues/7983. +// var URL = /^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu; +var URL = /^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i; +var UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i; +var JSON_POINTER = /^(?:\/(?:[^~/]|~0|~1)*)*$/; +var JSON_POINTER_URI_FRAGMENT = /^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i; +var RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/; + + +module.exports = formats; + +function formats(mode) { + mode = mode == 'full' ? 'full' : 'fast'; + return util.copy(formats[mode]); +} + + +formats.fast = { + // date: http://tools.ietf.org/html/rfc3339#section-5.6 + date: /^\d\d\d\d-[0-1]\d-[0-3]\d$/, + // date-time: http://tools.ietf.org/html/rfc3339#section-5.6 + time: /^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i, + 'date-time': /^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i, + // uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js + uri: /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i, + 'uri-reference': /^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i, + 'uri-template': URITEMPLATE, + url: URL, + // email (sources from jsen validator): + // http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363 + // http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation') + email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i, + hostname: HOSTNAME, + // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html + ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, + // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses + ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, + regex: regex, + // uuid: http://tools.ietf.org/html/rfc4122 + uuid: UUID, + // JSON-pointer: https://tools.ietf.org/html/rfc6901 + // uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A + 'json-pointer': JSON_POINTER, + 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT, + // relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00 + 'relative-json-pointer': RELATIVE_JSON_POINTER +}; + + +formats.full = { + date: date, + time: time, + 'date-time': date_time, + uri: uri, + 'uri-reference': URIREF, + 'uri-template': URITEMPLATE, + url: URL, + email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i, + hostname: HOSTNAME, + ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, + ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, + regex: regex, + uuid: UUID, + 'json-pointer': JSON_POINTER, + 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT, + 'relative-json-pointer': RELATIVE_JSON_POINTER +}; + + +function isLeapYear(year) { + // https://tools.ietf.org/html/rfc3339#appendix-C + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); +} + + +function date(str) { + // full-date from http://tools.ietf.org/html/rfc3339#section-5.6 + var matches = str.match(DATE); + if (!matches) return false; + + var year = +matches[1]; + var month = +matches[2]; + var day = +matches[3]; + + return month >= 1 && month <= 12 && day >= 1 && + day <= (month == 2 && isLeapYear(year) ? 29 : DAYS[month]); +} + + +function time(str, full) { + var matches = str.match(TIME); + if (!matches) return false; + + var hour = matches[1]; + var minute = matches[2]; + var second = matches[3]; + var timeZone = matches[5]; + return ((hour <= 23 && minute <= 59 && second <= 59) || + (hour == 23 && minute == 59 && second == 60)) && + (!full || timeZone); +} + + +var DATE_TIME_SEPARATOR = /t|\s/i; +function date_time(str) { + // http://tools.ietf.org/html/rfc3339#section-5.6 + var dateTime = str.split(DATE_TIME_SEPARATOR); + return dateTime.length == 2 && date(dateTime[0]) && time(dateTime[1], true); +} + + +var NOT_URI_FRAGMENT = /\/|:/; +function uri(str) { + // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required "." + return NOT_URI_FRAGMENT.test(str) && URI.test(str); +} + + +var Z_ANCHOR = /[^\\]\\Z/; +function regex(str) { + if (Z_ANCHOR.test(str)) return false; + try { + new RegExp(str); + return true; + } catch(e) { + return false; + } +} + +},{"./util":10}],5:[function(require,module,exports){ +'use strict'; + +var resolve = require('./resolve') + , util = require('./util') + , errorClasses = require('./error_classes') + , stableStringify = require('fast-json-stable-stringify'); + +var validateGenerator = require('../dotjs/validate'); + +/** + * Functions below are used inside compiled validations function + */ + +var ucs2length = util.ucs2length; +var equal = require('fast-deep-equal'); + +// this error is thrown by async schemas to return validation errors via exception +var ValidationError = errorClasses.Validation; + +module.exports = compile; + + +/** + * Compiles schema to validation function + * @this Ajv + * @param {Object} schema schema object + * @param {Object} root object with information about the root schema for this schema + * @param {Object} localRefs the hash of local references inside the schema (created by resolve.id), used for inline resolution + * @param {String} baseId base ID for IDs in the schema + * @return {Function} validation function + */ +function compile(schema, root, localRefs, baseId) { + /* jshint validthis: true, evil: true */ + /* eslint no-shadow: 0 */ + var self = this + , opts = this._opts + , refVal = [ undefined ] + , refs = {} + , patterns = [] + , patternsHash = {} + , defaults = [] + , defaultsHash = {} + , customRules = []; + + root = root || { schema: schema, refVal: refVal, refs: refs }; + + var c = checkCompiling.call(this, schema, root, baseId); + var compilation = this._compilations[c.index]; + if (c.compiling) return (compilation.callValidate = callValidate); + + var formats = this._formats; + var RULES = this.RULES; + + try { + var v = localCompile(schema, root, localRefs, baseId); + compilation.validate = v; + var cv = compilation.callValidate; + if (cv) { + cv.schema = v.schema; + cv.errors = null; + cv.refs = v.refs; + cv.refVal = v.refVal; + cv.root = v.root; + cv.$async = v.$async; + if (opts.sourceCode) cv.source = v.source; + } + return v; + } finally { + endCompiling.call(this, schema, root, baseId); + } + + /* @this {*} - custom context, see passContext option */ + function callValidate() { + /* jshint validthis: true */ + var validate = compilation.validate; + var result = validate.apply(this, arguments); + callValidate.errors = validate.errors; + return result; + } + + function localCompile(_schema, _root, localRefs, baseId) { + var isRoot = !_root || (_root && _root.schema == _schema); + if (_root.schema != root.schema) + return compile.call(self, _schema, _root, localRefs, baseId); + + var $async = _schema.$async === true; + + var sourceCode = validateGenerator({ + isTop: true, + schema: _schema, + isRoot: isRoot, + baseId: baseId, + root: _root, + schemaPath: '', + errSchemaPath: '#', + errorPath: '""', + MissingRefError: errorClasses.MissingRef, + RULES: RULES, + validate: validateGenerator, + util: util, + resolve: resolve, + resolveRef: resolveRef, + usePattern: usePattern, + useDefault: useDefault, + useCustomRule: useCustomRule, + opts: opts, + formats: formats, + logger: self.logger, + self: self + }); + + sourceCode = vars(refVal, refValCode) + vars(patterns, patternCode) + + vars(defaults, defaultCode) + vars(customRules, customRuleCode) + + sourceCode; + + if (opts.processCode) sourceCode = opts.processCode(sourceCode, _schema); + // console.log('\n\n\n *** \n', JSON.stringify(sourceCode)); + var validate; + try { + var makeValidate = new Function( + 'self', + 'RULES', + 'formats', + 'root', + 'refVal', + 'defaults', + 'customRules', + 'equal', + 'ucs2length', + 'ValidationError', + sourceCode + ); + + validate = makeValidate( + self, + RULES, + formats, + root, + refVal, + defaults, + customRules, + equal, + ucs2length, + ValidationError + ); + + refVal[0] = validate; + } catch(e) { + self.logger.error('Error compiling schema, function code:', sourceCode); + throw e; + } + + validate.schema = _schema; + validate.errors = null; + validate.refs = refs; + validate.refVal = refVal; + validate.root = isRoot ? validate : _root; + if ($async) validate.$async = true; + if (opts.sourceCode === true) { + validate.source = { + code: sourceCode, + patterns: patterns, + defaults: defaults + }; + } + + return validate; + } + + function resolveRef(baseId, ref, isRoot) { + ref = resolve.url(baseId, ref); + var refIndex = refs[ref]; + var _refVal, refCode; + if (refIndex !== undefined) { + _refVal = refVal[refIndex]; + refCode = 'refVal[' + refIndex + ']'; + return resolvedRef(_refVal, refCode); + } + if (!isRoot && root.refs) { + var rootRefId = root.refs[ref]; + if (rootRefId !== undefined) { + _refVal = root.refVal[rootRefId]; + refCode = addLocalRef(ref, _refVal); + return resolvedRef(_refVal, refCode); + } + } + + refCode = addLocalRef(ref); + var v = resolve.call(self, localCompile, root, ref); + if (v === undefined) { + var localSchema = localRefs && localRefs[ref]; + if (localSchema) { + v = resolve.inlineRef(localSchema, opts.inlineRefs) + ? localSchema + : compile.call(self, localSchema, root, localRefs, baseId); + } + } + + if (v === undefined) { + removeLocalRef(ref); + } else { + replaceLocalRef(ref, v); + return resolvedRef(v, refCode); + } + } + + function addLocalRef(ref, v) { + var refId = refVal.length; + refVal[refId] = v; + refs[ref] = refId; + return 'refVal' + refId; + } + + function removeLocalRef(ref) { + delete refs[ref]; + } + + function replaceLocalRef(ref, v) { + var refId = refs[ref]; + refVal[refId] = v; + } + + function resolvedRef(refVal, code) { + return typeof refVal == 'object' || typeof refVal == 'boolean' + ? { code: code, schema: refVal, inline: true } + : { code: code, $async: refVal && !!refVal.$async }; + } + + function usePattern(regexStr) { + var index = patternsHash[regexStr]; + if (index === undefined) { + index = patternsHash[regexStr] = patterns.length; + patterns[index] = regexStr; + } + return 'pattern' + index; + } + + function useDefault(value) { + switch (typeof value) { + case 'boolean': + case 'number': + return '' + value; + case 'string': + return util.toQuotedString(value); + case 'object': + if (value === null) return 'null'; + var valueStr = stableStringify(value); + var index = defaultsHash[valueStr]; + if (index === undefined) { + index = defaultsHash[valueStr] = defaults.length; + defaults[index] = value; + } + return 'default' + index; + } + } + + function useCustomRule(rule, schema, parentSchema, it) { + if (self._opts.validateSchema !== false) { + var deps = rule.definition.dependencies; + if (deps && !deps.every(function(keyword) { + return Object.prototype.hasOwnProperty.call(parentSchema, keyword); + })) + throw new Error('parent schema must have all required keywords: ' + deps.join(',')); + + var validateSchema = rule.definition.validateSchema; + if (validateSchema) { + var valid = validateSchema(schema); + if (!valid) { + var message = 'keyword schema is invalid: ' + self.errorsText(validateSchema.errors); + if (self._opts.validateSchema == 'log') self.logger.error(message); + else throw new Error(message); + } + } + } + + var compile = rule.definition.compile + , inline = rule.definition.inline + , macro = rule.definition.macro; + + var validate; + if (compile) { + validate = compile.call(self, schema, parentSchema, it); + } else if (macro) { + validate = macro.call(self, schema, parentSchema, it); + if (opts.validateSchema !== false) self.validateSchema(validate, true); + } else if (inline) { + validate = inline.call(self, it, rule.keyword, schema, parentSchema); + } else { + validate = rule.definition.validate; + if (!validate) return; + } + + if (validate === undefined) + throw new Error('custom keyword "' + rule.keyword + '"failed to compile'); + + var index = customRules.length; + customRules[index] = validate; + + return { + code: 'customRule' + index, + validate: validate + }; + } +} + + +/** + * Checks if the schema is currently compiled + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + * @return {Object} object with properties "index" (compilation index) and "compiling" (boolean) + */ +function checkCompiling(schema, root, baseId) { + /* jshint validthis: true */ + var index = compIndex.call(this, schema, root, baseId); + if (index >= 0) return { index: index, compiling: true }; + index = this._compilations.length; + this._compilations[index] = { + schema: schema, + root: root, + baseId: baseId + }; + return { index: index, compiling: false }; +} + + +/** + * Removes the schema from the currently compiled list + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + */ +function endCompiling(schema, root, baseId) { + /* jshint validthis: true */ + var i = compIndex.call(this, schema, root, baseId); + if (i >= 0) this._compilations.splice(i, 1); +} + + +/** + * Index of schema compilation in the currently compiled list + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + * @return {Integer} compilation index + */ +function compIndex(schema, root, baseId) { + /* jshint validthis: true */ + for (var i=0; i= 0xD800 && value <= 0xDBFF && pos < len) { + // high surrogate, and there is a next character + value = str.charCodeAt(pos); + if ((value & 0xFC00) == 0xDC00) pos++; // low surrogate + } + } + return length; +}; + +},{}],10:[function(require,module,exports){ +'use strict'; + + +module.exports = { + copy: copy, + checkDataType: checkDataType, + checkDataTypes: checkDataTypes, + coerceToTypes: coerceToTypes, + toHash: toHash, + getProperty: getProperty, + escapeQuotes: escapeQuotes, + equal: require('fast-deep-equal'), + ucs2length: require('./ucs2length'), + varOccurences: varOccurences, + varReplace: varReplace, + schemaHasRules: schemaHasRules, + schemaHasRulesExcept: schemaHasRulesExcept, + schemaUnknownRules: schemaUnknownRules, + toQuotedString: toQuotedString, + getPathExpr: getPathExpr, + getPath: getPath, + getData: getData, + unescapeFragment: unescapeFragment, + unescapeJsonPointer: unescapeJsonPointer, + escapeFragment: escapeFragment, + escapeJsonPointer: escapeJsonPointer +}; + + +function copy(o, to) { + to = to || {}; + for (var key in o) to[key] = o[key]; + return to; +} + + +function checkDataType(dataType, data, strictNumbers, negate) { + var EQUAL = negate ? ' !== ' : ' === ' + , AND = negate ? ' || ' : ' && ' + , OK = negate ? '!' : '' + , NOT = negate ? '' : '!'; + switch (dataType) { + case 'null': return data + EQUAL + 'null'; + case 'array': return OK + 'Array.isArray(' + data + ')'; + case 'object': return '(' + OK + data + AND + + 'typeof ' + data + EQUAL + '"object"' + AND + + NOT + 'Array.isArray(' + data + '))'; + case 'integer': return '(typeof ' + data + EQUAL + '"number"' + AND + + NOT + '(' + data + ' % 1)' + + AND + data + EQUAL + data + + (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')'; + case 'number': return '(typeof ' + data + EQUAL + '"' + dataType + '"' + + (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')'; + default: return 'typeof ' + data + EQUAL + '"' + dataType + '"'; + } +} + + +function checkDataTypes(dataTypes, data, strictNumbers) { + switch (dataTypes.length) { + case 1: return checkDataType(dataTypes[0], data, strictNumbers, true); + default: + var code = ''; + var types = toHash(dataTypes); + if (types.array && types.object) { + code = types.null ? '(': '(!' + data + ' || '; + code += 'typeof ' + data + ' !== "object")'; + delete types.null; + delete types.array; + delete types.object; + } + if (types.number) delete types.integer; + for (var t in types) + code += (code ? ' && ' : '' ) + checkDataType(t, data, strictNumbers, true); + + return code; + } +} + + +var COERCE_TO_TYPES = toHash([ 'string', 'number', 'integer', 'boolean', 'null' ]); +function coerceToTypes(optionCoerceTypes, dataTypes) { + if (Array.isArray(dataTypes)) { + var types = []; + for (var i=0; i= lvl) throw new Error('Cannot access property/index ' + up + ' levels up, current level is ' + lvl); + return paths[lvl - up]; + } + + if (up > lvl) throw new Error('Cannot access data ' + up + ' levels up, current level is ' + lvl); + data = 'data' + ((lvl - up) || ''); + if (!jsonPointer) return data; + } + + var expr = data; + var segments = jsonPointer.split('/'); + for (var i=0; i', + $notOp = $isMax ? '>' : '<', + $errorKeyword = undefined; + if (!($isData || typeof $schema == 'number' || $schema === undefined)) { + throw new Error($keyword + ' must be number'); + } + if (!($isDataExcl || $schemaExcl === undefined || typeof $schemaExcl == 'number' || typeof $schemaExcl == 'boolean')) { + throw new Error($exclusiveKeyword + ' must be number or boolean'); + } + if ($isDataExcl) { + var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr), + $exclusive = 'exclusive' + $lvl, + $exclType = 'exclType' + $lvl, + $exclIsNumber = 'exclIsNumber' + $lvl, + $opExpr = 'op' + $lvl, + $opStr = '\' + ' + $opExpr + ' + \''; + out += ' var schemaExcl' + ($lvl) + ' = ' + ($schemaValueExcl) + '; '; + $schemaValueExcl = 'schemaExcl' + $lvl; + out += ' var ' + ($exclusive) + '; var ' + ($exclType) + ' = typeof ' + ($schemaValueExcl) + '; if (' + ($exclType) + ' != \'boolean\' && ' + ($exclType) + ' != \'undefined\' && ' + ($exclType) + ' != \'number\') { '; + var $errorKeyword = $exclusiveKeyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_exclusiveLimit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'' + ($exclusiveKeyword) + ' should be boolean\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($exclType) + ' == \'number\' ? ( (' + ($exclusive) + ' = ' + ($schemaValue) + ' === undefined || ' + ($schemaValueExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ') ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValueExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) : ( (' + ($exclusive) + ' = ' + ($schemaValueExcl) + ' === true) ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValue) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { var op' + ($lvl) + ' = ' + ($exclusive) + ' ? \'' + ($op) + '\' : \'' + ($op) + '=\'; '; + if ($schema === undefined) { + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $schemaValue = $schemaValueExcl; + $isData = $isDataExcl; + } + } else { + var $exclIsNumber = typeof $schemaExcl == 'number', + $opStr = $op; + if ($exclIsNumber && $isData) { + var $opExpr = '\'' + $opStr + '\''; + out += ' if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ( ' + ($schemaValue) + ' === undefined || ' + ($schemaExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ' ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { '; + } else { + if ($exclIsNumber && $schema === undefined) { + $exclusive = true; + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $schemaValue = $schemaExcl; + $notOp += '='; + } else { + if ($exclIsNumber) $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema); + if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) { + $exclusive = true; + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $notOp += '='; + } else { + $exclusive = false; + $opStr += '='; + } + } + var $opExpr = '\'' + $opStr + '\''; + out += ' if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' || ' + ($data) + ' !== ' + ($data) + ') { '; + } + } + $errorKeyword = $errorKeyword || $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { comparison: ' + ($opExpr) + ', limit: ' + ($schemaValue) + ', exclusive: ' + ($exclusive) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be ' + ($opStr) + ' '; + if ($isData) { + out += '\' + ' + ($schemaValue); + } else { + out += '' + ($schemaValue) + '\''; + } + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],14:[function(require,module,exports){ +'use strict'; +module.exports = function generate__limitItems(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxItems' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($data) + '.length ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have '; + if ($keyword == 'maxItems') { + out += 'more'; + } else { + out += 'fewer'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' items\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],15:[function(require,module,exports){ +'use strict'; +module.exports = function generate__limitLength(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxLength' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + if (it.opts.unicode === false) { + out += ' ' + ($data) + '.length '; + } else { + out += ' ucs2length(' + ($data) + ') '; + } + out += ' ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitLength') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be '; + if ($keyword == 'maxLength') { + out += 'longer'; + } else { + out += 'shorter'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' characters\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],16:[function(require,module,exports){ +'use strict'; +module.exports = function generate__limitProperties(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxProperties' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' Object.keys(' + ($data) + ').length ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitProperties') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have '; + if ($keyword == 'maxProperties') { + out += 'more'; + } else { + out += 'fewer'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' properties\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],17:[function(require,module,exports){ +'use strict'; +module.exports = function generate_allOf(it, $keyword, $ruleType) { + var out = ' '; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $currentBaseId = $it.baseId, + $allSchemasEmpty = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $allSchemasEmpty = false; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if ($breakOnError) { + if ($allSchemasEmpty) { + out += ' if (true) { '; + } else { + out += ' ' + ($closingBraces.slice(0, -1)) + ' '; + } + } + return out; +} + +},{}],18:[function(require,module,exports){ +'use strict'; +module.exports = function generate_anyOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $noEmptySchema = $schema.every(function($sch) { + return (it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all)); + }); + if ($noEmptySchema) { + var $currentBaseId = $it.baseId; + out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = false; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($valid) + ' || ' + ($nextValid) + '; if (!' + ($valid) + ') { '; + $closingBraces += '}'; + } + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($closingBraces) + ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('anyOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should match some schema in anyOf\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + if (it.opts.allErrors) { + out += ' } '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} + +},{}],19:[function(require,module,exports){ +'use strict'; +module.exports = function generate_comment(it, $keyword, $ruleType) { + var out = ' '; + var $schema = it.schema[$keyword]; + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $comment = it.util.toQuotedString($schema); + if (it.opts.$comment === true) { + out += ' console.log(' + ($comment) + ');'; + } else if (typeof it.opts.$comment == 'function') { + out += ' self._opts.$comment(' + ($comment) + ', ' + (it.util.toQuotedString($errSchemaPath)) + ', validate.root.schema);'; + } + return out; +} + +},{}],20:[function(require,module,exports){ +'use strict'; +module.exports = function generate_const(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!$isData) { + out += ' var schema' + ($lvl) + ' = validate.schema' + ($schemaPath) + ';'; + } + out += 'var ' + ($valid) + ' = equal(' + ($data) + ', schema' + ($lvl) + '); if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('const') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValue: schema' + ($lvl) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be equal to constant\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' }'; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],21:[function(require,module,exports){ +'use strict'; +module.exports = function generate_contains(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $idx = 'i' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $currentBaseId = it.baseId, + $nonEmptySchema = (it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all)); + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if ($nonEmptySchema) { + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($nextValid) + ' = false; for (var ' + ($idx) + ' = 0; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' if (' + ($nextValid) + ') break; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($closingBraces) + ' if (!' + ($nextValid) + ') {'; + } else { + out += ' if (' + ($data) + '.length == 0) {'; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('contains') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should contain a valid item\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + if ($nonEmptySchema) { + out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + } + if (it.opts.allErrors) { + out += ' } '; + } + return out; +} + +},{}],22:[function(require,module,exports){ +'use strict'; +module.exports = function generate_custom(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $rule = this, + $definition = 'definition' + $lvl, + $rDef = $rule.definition, + $closingBraces = ''; + var $compile, $inline, $macro, $ruleValidate, $validateCode; + if ($isData && $rDef.$data) { + $validateCode = 'keywordValidate' + $lvl; + var $validateSchema = $rDef.validateSchema; + out += ' var ' + ($definition) + ' = RULES.custom[\'' + ($keyword) + '\'].definition; var ' + ($validateCode) + ' = ' + ($definition) + '.validate;'; + } else { + $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it); + if (!$ruleValidate) return; + $schemaValue = 'validate.schema' + $schemaPath; + $validateCode = $ruleValidate.code; + $compile = $rDef.compile; + $inline = $rDef.inline; + $macro = $rDef.macro; + } + var $ruleErrs = $validateCode + '.errors', + $i = 'i' + $lvl, + $ruleErr = 'ruleErr' + $lvl, + $asyncKeyword = $rDef.async; + if ($asyncKeyword && !it.async) throw new Error('async keyword in sync schema'); + if (!($inline || $macro)) { + out += '' + ($ruleErrs) + ' = null;'; + } + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if ($isData && $rDef.$data) { + $closingBraces += '}'; + out += ' if (' + ($schemaValue) + ' === undefined) { ' + ($valid) + ' = true; } else { '; + if ($validateSchema) { + $closingBraces += '}'; + out += ' ' + ($valid) + ' = ' + ($definition) + '.validateSchema(' + ($schemaValue) + '); if (' + ($valid) + ') { '; + } + } + if ($inline) { + if ($rDef.statements) { + out += ' ' + ($ruleValidate.validate) + ' '; + } else { + out += ' ' + ($valid) + ' = ' + ($ruleValidate.validate) + '; '; + } + } else if ($macro) { + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + $it.schema = $ruleValidate.validate; + $it.schemaPath = ''; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var $code = it.validate($it).replace(/validate\.schema/g, $validateCode); + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($code); + } else { + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; + out += ' ' + ($validateCode) + '.call( '; + if (it.opts.passContext) { + out += 'this'; + } else { + out += 'self'; + } + if ($compile || $rDef.schema === false) { + out += ' , ' + ($data) + ' '; + } else { + out += ' , ' + ($schemaValue) + ' , ' + ($data) + ' , validate.schema' + (it.schemaPath) + ' '; + } + out += ' , (dataPath || \'\')'; + if (it.errorPath != '""') { + out += ' + ' + (it.errorPath); + } + var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', + $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; + out += ' , ' + ($parentData) + ' , ' + ($parentDataProperty) + ' , rootData ) '; + var def_callRuleValidate = out; + out = $$outStack.pop(); + if ($rDef.errors === false) { + out += ' ' + ($valid) + ' = '; + if ($asyncKeyword) { + out += 'await '; + } + out += '' + (def_callRuleValidate) + '; '; + } else { + if ($asyncKeyword) { + $ruleErrs = 'customErrors' + $lvl; + out += ' var ' + ($ruleErrs) + ' = null; try { ' + ($valid) + ' = await ' + (def_callRuleValidate) + '; } catch (e) { ' + ($valid) + ' = false; if (e instanceof ValidationError) ' + ($ruleErrs) + ' = e.errors; else throw e; } '; + } else { + out += ' ' + ($ruleErrs) + ' = null; ' + ($valid) + ' = ' + (def_callRuleValidate) + '; '; + } + } + } + if ($rDef.modifying) { + out += ' if (' + ($parentData) + ') ' + ($data) + ' = ' + ($parentData) + '[' + ($parentDataProperty) + '];'; + } + out += '' + ($closingBraces); + if ($rDef.valid) { + if ($breakOnError) { + out += ' if (true) { '; + } + } else { + out += ' if ( '; + if ($rDef.valid === undefined) { + out += ' !'; + if ($macro) { + out += '' + ($nextValid); + } else { + out += '' + ($valid); + } + } else { + out += ' ' + (!$rDef.valid) + ' '; + } + out += ') { '; + $errorKeyword = $rule.keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'custom') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { keyword: \'' + ($rule.keyword) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should pass "' + ($rule.keyword) + '" keyword validation\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + var def_customError = out; + out = $$outStack.pop(); + if ($inline) { + if ($rDef.errors) { + if ($rDef.errors != 'full') { + out += ' for (var ' + ($i) + '=' + ($errs) + '; ' + ($i) + ' 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + out += ' ' + ($nextValid) + ' = true; if ( ' + ($data) + (it.util.getProperty($property)) + ' !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($property)) + '\') '; + } + out += ') { '; + $it.schema = $sch; + $it.schemaPath = $schemaPath + it.util.getProperty($property); + $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property); + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} + +},{}],24:[function(require,module,exports){ +'use strict'; +module.exports = function generate_enum(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $i = 'i' + $lvl, + $vSchema = 'schema' + $lvl; + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + ';'; + } + out += 'var ' + ($valid) + ';'; + if ($isData) { + out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {'; + } + out += '' + ($valid) + ' = false;for (var ' + ($i) + '=0; ' + ($i) + '<' + ($vSchema) + '.length; ' + ($i) + '++) if (equal(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + '])) { ' + ($valid) + ' = true; break; }'; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('enum') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValues: schema' + ($lvl) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be equal to one of the allowed values\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' }'; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],25:[function(require,module,exports){ +'use strict'; +module.exports = function generate_format(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + if (it.opts.format === false) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $unknownFormats = it.opts.unknownFormats, + $allowUnknown = Array.isArray($unknownFormats); + if ($isData) { + var $format = 'format' + $lvl, + $isObject = 'isObject' + $lvl, + $formatType = 'formatType' + $lvl; + out += ' var ' + ($format) + ' = formats[' + ($schemaValue) + ']; var ' + ($isObject) + ' = typeof ' + ($format) + ' == \'object\' && !(' + ($format) + ' instanceof RegExp) && ' + ($format) + '.validate; var ' + ($formatType) + ' = ' + ($isObject) + ' && ' + ($format) + '.type || \'string\'; if (' + ($isObject) + ') { '; + if (it.async) { + out += ' var async' + ($lvl) + ' = ' + ($format) + '.async; '; + } + out += ' ' + ($format) + ' = ' + ($format) + '.validate; } if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'string\') || '; + } + out += ' ('; + if ($unknownFormats != 'ignore') { + out += ' (' + ($schemaValue) + ' && !' + ($format) + ' '; + if ($allowUnknown) { + out += ' && self._opts.unknownFormats.indexOf(' + ($schemaValue) + ') == -1 '; + } + out += ') || '; + } + out += ' (' + ($format) + ' && ' + ($formatType) + ' == \'' + ($ruleType) + '\' && !(typeof ' + ($format) + ' == \'function\' ? '; + if (it.async) { + out += ' (async' + ($lvl) + ' ? await ' + ($format) + '(' + ($data) + ') : ' + ($format) + '(' + ($data) + ')) '; + } else { + out += ' ' + ($format) + '(' + ($data) + ') '; + } + out += ' : ' + ($format) + '.test(' + ($data) + '))))) {'; + } else { + var $format = it.formats[$schema]; + if (!$format) { + if ($unknownFormats == 'ignore') { + it.logger.warn('unknown format "' + $schema + '" ignored in schema at path "' + it.errSchemaPath + '"'); + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } else if ($allowUnknown && $unknownFormats.indexOf($schema) >= 0) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } else { + throw new Error('unknown format "' + $schema + '" is used in schema at path "' + it.errSchemaPath + '"'); + } + } + var $isObject = typeof $format == 'object' && !($format instanceof RegExp) && $format.validate; + var $formatType = $isObject && $format.type || 'string'; + if ($isObject) { + var $async = $format.async === true; + $format = $format.validate; + } + if ($formatType != $ruleType) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } + if ($async) { + if (!it.async) throw new Error('async format in sync schema'); + var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate'; + out += ' if (!(await ' + ($formatRef) + '(' + ($data) + '))) { '; + } else { + out += ' if (! '; + var $formatRef = 'formats' + it.util.getProperty($schema); + if ($isObject) $formatRef += '.validate'; + if (typeof $format == 'function') { + out += ' ' + ($formatRef) + '(' + ($data) + ') '; + } else { + out += ' ' + ($formatRef) + '.test(' + ($data) + ') '; + } + out += ') { '; + } + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('format') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { format: '; + if ($isData) { + out += '' + ($schemaValue); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match format "'; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + (it.util.escapeQuotes($schema)); + } + out += '"\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],26:[function(require,module,exports){ +'use strict'; +module.exports = function generate_if(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + $it.level++; + var $nextValid = 'valid' + $it.level; + var $thenSch = it.schema['then'], + $elseSch = it.schema['else'], + $thenPresent = $thenSch !== undefined && (it.opts.strictKeywords ? (typeof $thenSch == 'object' && Object.keys($thenSch).length > 0) || $thenSch === false : it.util.schemaHasRules($thenSch, it.RULES.all)), + $elsePresent = $elseSch !== undefined && (it.opts.strictKeywords ? (typeof $elseSch == 'object' && Object.keys($elseSch).length > 0) || $elseSch === false : it.util.schemaHasRules($elseSch, it.RULES.all)), + $currentBaseId = $it.baseId; + if ($thenPresent || $elsePresent) { + var $ifClause; + $it.createErrors = false; + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = true; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + $it.createErrors = true; + out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + if ($thenPresent) { + out += ' if (' + ($nextValid) + ') { '; + $it.schema = it.schema['then']; + $it.schemaPath = it.schemaPath + '.then'; + $it.errSchemaPath = it.errSchemaPath + '/then'; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($nextValid) + '; '; + if ($thenPresent && $elsePresent) { + $ifClause = 'ifClause' + $lvl; + out += ' var ' + ($ifClause) + ' = \'then\'; '; + } else { + $ifClause = '\'then\''; + } + out += ' } '; + if ($elsePresent) { + out += ' else { '; + } + } else { + out += ' if (!' + ($nextValid) + ') { '; + } + if ($elsePresent) { + $it.schema = it.schema['else']; + $it.schemaPath = it.schemaPath + '.else'; + $it.errSchemaPath = it.errSchemaPath + '/else'; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($nextValid) + '; '; + if ($thenPresent && $elsePresent) { + $ifClause = 'ifClause' + $lvl; + out += ' var ' + ($ifClause) + ' = \'else\'; '; + } else { + $ifClause = '\'else\''; + } + out += ' } '; + } + out += ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('if') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { failingKeyword: ' + ($ifClause) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match "\' + ' + ($ifClause) + ' + \'" schema\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} + +},{}],27:[function(require,module,exports){ +'use strict'; + +//all requires must be explicit because browserify won't work with dynamic requires +module.exports = { + '$ref': require('./ref'), + allOf: require('./allOf'), + anyOf: require('./anyOf'), + '$comment': require('./comment'), + const: require('./const'), + contains: require('./contains'), + dependencies: require('./dependencies'), + 'enum': require('./enum'), + format: require('./format'), + 'if': require('./if'), + items: require('./items'), + maximum: require('./_limit'), + minimum: require('./_limit'), + maxItems: require('./_limitItems'), + minItems: require('./_limitItems'), + maxLength: require('./_limitLength'), + minLength: require('./_limitLength'), + maxProperties: require('./_limitProperties'), + minProperties: require('./_limitProperties'), + multipleOf: require('./multipleOf'), + not: require('./not'), + oneOf: require('./oneOf'), + pattern: require('./pattern'), + properties: require('./properties'), + propertyNames: require('./propertyNames'), + required: require('./required'), + uniqueItems: require('./uniqueItems'), + validate: require('./validate') +}; + +},{"./_limit":13,"./_limitItems":14,"./_limitLength":15,"./_limitProperties":16,"./allOf":17,"./anyOf":18,"./comment":19,"./const":20,"./contains":21,"./dependencies":23,"./enum":24,"./format":25,"./if":26,"./items":28,"./multipleOf":29,"./not":30,"./oneOf":31,"./pattern":32,"./properties":33,"./propertyNames":34,"./ref":35,"./required":36,"./uniqueItems":37,"./validate":38}],28:[function(require,module,exports){ +'use strict'; +module.exports = function generate_items(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $idx = 'i' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $currentBaseId = it.baseId; + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if (Array.isArray($schema)) { + var $additionalItems = it.schema.additionalItems; + if ($additionalItems === false) { + out += ' ' + ($valid) + ' = ' + ($data) + '.length <= ' + ($schema.length) + '; '; + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + '/additionalItems'; + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('additionalItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schema.length) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have more than ' + ($schema.length) + ' items\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + $errSchemaPath = $currErrSchemaPath; + if ($breakOnError) { + $closingBraces += '}'; + out += ' else { '; + } + } + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($i) + ') { '; + var $passData = $data + '[' + $i + ']'; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true); + $it.dataPathArr[$dataNxt] = $i; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if (typeof $additionalItems == 'object' && (it.opts.strictKeywords ? (typeof $additionalItems == 'object' && Object.keys($additionalItems).length > 0) || $additionalItems === false : it.util.schemaHasRules($additionalItems, it.RULES.all))) { + $it.schema = $additionalItems; + $it.schemaPath = it.schemaPath + '.additionalItems'; + $it.errSchemaPath = it.errSchemaPath + '/additionalItems'; + out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($schema.length) + ') { for (var ' + ($idx) + ' = ' + ($schema.length) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' } } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } else if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' for (var ' + ($idx) + ' = ' + (0) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' }'; + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} + +},{}],29:[function(require,module,exports){ +'use strict'; +module.exports = function generate_multipleOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + out += 'var division' + ($lvl) + ';if ('; + if ($isData) { + out += ' ' + ($schemaValue) + ' !== undefined && ( typeof ' + ($schemaValue) + ' != \'number\' || '; + } + out += ' (division' + ($lvl) + ' = ' + ($data) + ' / ' + ($schemaValue) + ', '; + if (it.opts.multipleOfPrecision) { + out += ' Math.abs(Math.round(division' + ($lvl) + ') - division' + ($lvl) + ') > 1e-' + (it.opts.multipleOfPrecision) + ' '; + } else { + out += ' division' + ($lvl) + ' !== parseInt(division' + ($lvl) + ') '; + } + out += ' ) '; + if ($isData) { + out += ' ) '; + } + out += ' ) { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('multipleOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { multipleOf: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be multiple of '; + if ($isData) { + out += '\' + ' + ($schemaValue); + } else { + out += '' + ($schemaValue) + '\''; + } + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],30:[function(require,module,exports){ +'use strict'; +module.exports = function generate_not(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + $it.level++; + var $nextValid = 'valid' + $it.level; + if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($errs) + ' = errors; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.createErrors = false; + var $allErrorsOption; + if ($it.opts.allErrors) { + $allErrorsOption = $it.opts.allErrors; + $it.opts.allErrors = false; + } + out += ' ' + (it.validate($it)) + ' '; + $it.createErrors = true; + if ($allErrorsOption) $it.opts.allErrors = $allErrorsOption; + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' if (' + ($nextValid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('not') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be valid\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + if (it.opts.allErrors) { + out += ' } '; + } + } else { + out += ' var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('not') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be valid\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if ($breakOnError) { + out += ' if (false) { '; + } + } + return out; +} + +},{}],31:[function(require,module,exports){ +'use strict'; +module.exports = function generate_oneOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $currentBaseId = $it.baseId, + $prevValid = 'prevValid' + $lvl, + $passingSchemas = 'passingSchemas' + $lvl; + out += 'var ' + ($errs) + ' = errors , ' + ($prevValid) + ' = false , ' + ($valid) + ' = false , ' + ($passingSchemas) + ' = null; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + } else { + out += ' var ' + ($nextValid) + ' = true; '; + } + if ($i) { + out += ' if (' + ($nextValid) + ' && ' + ($prevValid) + ') { ' + ($valid) + ' = false; ' + ($passingSchemas) + ' = [' + ($passingSchemas) + ', ' + ($i) + ']; } else { '; + $closingBraces += '}'; + } + out += ' if (' + ($nextValid) + ') { ' + ($valid) + ' = ' + ($prevValid) + ' = true; ' + ($passingSchemas) + ' = ' + ($i) + '; }'; + } + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += '' + ($closingBraces) + 'if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('oneOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { passingSchemas: ' + ($passingSchemas) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match exactly one schema in oneOf\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += '} else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; }'; + if (it.opts.allErrors) { + out += ' } '; + } + return out; +} + +},{}],32:[function(require,module,exports){ +'use strict'; +module.exports = function generate_pattern(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $regexp = $isData ? '(new RegExp(' + $schemaValue + '))' : it.usePattern($schema); + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'string\') || '; + } + out += ' !' + ($regexp) + '.test(' + ($data) + ') ) { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('pattern') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { pattern: '; + if ($isData) { + out += '' + ($schemaValue); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match pattern "'; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + (it.util.escapeQuotes($schema)); + } + out += '"\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],33:[function(require,module,exports){ +'use strict'; +module.exports = function generate_properties(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $key = 'key' + $lvl, + $idx = 'idx' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $dataProperties = 'dataProperties' + $lvl; + var $schemaKeys = Object.keys($schema || {}).filter(notProto), + $pProperties = it.schema.patternProperties || {}, + $pPropertyKeys = Object.keys($pProperties).filter(notProto), + $aProperties = it.schema.additionalProperties, + $someProperties = $schemaKeys.length || $pPropertyKeys.length, + $noAdditional = $aProperties === false, + $additionalIsSchema = typeof $aProperties == 'object' && Object.keys($aProperties).length, + $removeAdditional = it.opts.removeAdditional, + $checkAdditional = $noAdditional || $additionalIsSchema || $removeAdditional, + $ownProperties = it.opts.ownProperties, + $currentBaseId = it.baseId; + var $required = it.schema.required; + if ($required && !(it.opts.$data && $required.$data) && $required.length < it.opts.loopRequired) { + var $requiredHash = it.util.toHash($required); + } + + function notProto(p) { + return p !== '__proto__'; + } + out += 'var ' + ($errs) + ' = errors;var ' + ($nextValid) + ' = true;'; + if ($ownProperties) { + out += ' var ' + ($dataProperties) + ' = undefined;'; + } + if ($checkAdditional) { + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + if ($someProperties) { + out += ' var isAdditional' + ($lvl) + ' = !(false '; + if ($schemaKeys.length) { + if ($schemaKeys.length > 8) { + out += ' || validate.schema' + ($schemaPath) + '.hasOwnProperty(' + ($key) + ') '; + } else { + var arr1 = $schemaKeys; + if (arr1) { + var $propertyKey, i1 = -1, + l1 = arr1.length - 1; + while (i1 < l1) { + $propertyKey = arr1[i1 += 1]; + out += ' || ' + ($key) + ' == ' + (it.util.toQuotedString($propertyKey)) + ' '; + } + } + } + } + if ($pPropertyKeys.length) { + var arr2 = $pPropertyKeys; + if (arr2) { + var $pProperty, $i = -1, + l2 = arr2.length - 1; + while ($i < l2) { + $pProperty = arr2[$i += 1]; + out += ' || ' + (it.usePattern($pProperty)) + '.test(' + ($key) + ') '; + } + } + } + out += ' ); if (isAdditional' + ($lvl) + ') { '; + } + if ($removeAdditional == 'all') { + out += ' delete ' + ($data) + '[' + ($key) + ']; '; + } else { + var $currentErrorPath = it.errorPath; + var $additionalProperty = '\' + ' + $key + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + } + if ($noAdditional) { + if ($removeAdditional) { + out += ' delete ' + ($data) + '[' + ($key) + ']; '; + } else { + out += ' ' + ($nextValid) + ' = false; '; + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + '/additionalProperties'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('additionalProperties') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { additionalProperty: \'' + ($additionalProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is an invalid additional property'; + } else { + out += 'should NOT have additional properties'; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + $errSchemaPath = $currErrSchemaPath; + if ($breakOnError) { + out += ' break; '; + } + } + } else if ($additionalIsSchema) { + if ($removeAdditional == 'failing') { + out += ' var ' + ($errs) + ' = errors; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.schema = $aProperties; + $it.schemaPath = it.schemaPath + '.additionalProperties'; + $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; + $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' if (!' + ($nextValid) + ') { errors = ' + ($errs) + '; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete ' + ($data) + '[' + ($key) + ']; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + } else { + $it.schema = $aProperties; + $it.schemaPath = it.schemaPath + '.additionalProperties'; + $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; + $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + } + } + it.errorPath = $currentErrorPath; + } + if ($someProperties) { + out += ' } '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + var $useDefaults = it.opts.useDefaults && !it.compositeRule; + if ($schemaKeys.length) { + var arr3 = $schemaKeys; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $sch = $schema[$propertyKey]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + var $prop = it.util.getProperty($propertyKey), + $passData = $data + $prop, + $hasDefault = $useDefaults && $sch.default !== undefined; + $it.schema = $sch; + $it.schemaPath = $schemaPath + $prop; + $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($propertyKey); + $it.errorPath = it.util.getPath(it.errorPath, $propertyKey, it.opts.jsonPointers); + $it.dataPathArr[$dataNxt] = it.util.toQuotedString($propertyKey); + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + $code = it.util.varReplace($code, $nextData, $passData); + var $useData = $passData; + } else { + var $useData = $nextData; + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; '; + } + if ($hasDefault) { + out += ' ' + ($code) + ' '; + } else { + if ($requiredHash && $requiredHash[$propertyKey]) { + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { ' + ($nextValid) + ' = false; '; + var $currentErrorPath = it.errorPath, + $currErrSchemaPath = $errSchemaPath, + $missingProperty = it.util.escapeQuotes($propertyKey); + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + $errSchemaPath = it.errSchemaPath + '/required'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + $errSchemaPath = $currErrSchemaPath; + it.errorPath = $currentErrorPath; + out += ' } else { '; + } else { + if ($breakOnError) { + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { ' + ($nextValid) + ' = true; } else { '; + } else { + out += ' if (' + ($useData) + ' !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ' ) { '; + } + } + out += ' ' + ($code) + ' } '; + } + } + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if ($pPropertyKeys.length) { + var arr4 = $pPropertyKeys; + if (arr4) { + var $pProperty, i4 = -1, + l4 = arr4.length - 1; + while (i4 < l4) { + $pProperty = arr4[i4 += 1]; + var $sch = $pProperties[$pProperty]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $it.schema = $sch; + $it.schemaPath = it.schemaPath + '.patternProperties' + it.util.getProperty($pProperty); + $it.errSchemaPath = it.errSchemaPath + '/patternProperties/' + it.util.escapeFragment($pProperty); + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + out += ' if (' + (it.usePattern($pProperty)) + '.test(' + ($key) + ')) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else ' + ($nextValid) + ' = true; '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} + +},{}],34:[function(require,module,exports){ +'use strict'; +module.exports = function generate_propertyNames(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + out += 'var ' + ($errs) + ' = errors;'; + if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + var $key = 'key' + $lvl, + $idx = 'idx' + $lvl, + $i = 'i' + $lvl, + $invalidName = '\' + ' + $key + ' + \'', + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $dataProperties = 'dataProperties' + $lvl, + $ownProperties = it.opts.ownProperties, + $currentBaseId = it.baseId; + if ($ownProperties) { + out += ' var ' + ($dataProperties) + ' = undefined; '; + } + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + out += ' var startErrs' + ($lvl) + ' = errors; '; + var $passData = $key; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' if (!' + ($nextValid) + ') { for (var ' + ($i) + '=startErrs' + ($lvl) + '; ' + ($i) + ' 0) || $propertySch === false : it.util.schemaHasRules($propertySch, it.RULES.all)))) { + $required[$required.length] = $property; + } + } + } + } else { + var $required = $schema; + } + } + if ($isData || $required.length) { + var $currentErrorPath = it.errorPath, + $loopRequired = $isData || $required.length >= it.opts.loopRequired, + $ownProperties = it.opts.ownProperties; + if ($breakOnError) { + out += ' var missing' + ($lvl) + '; '; + if ($loopRequired) { + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; '; + } + var $i = 'i' + $lvl, + $propertyPath = 'schema' + $lvl + '[' + $i + ']', + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); + } + out += ' var ' + ($valid) + ' = true; '; + if ($isData) { + out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {'; + } + out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { ' + ($valid) + ' = ' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) '; + } + out += '; if (!' + ($valid) + ') break; } '; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + } else { + out += ' if ( '; + var arr2 = $required; + if (arr2) { + var $propertyKey, $i = -1, + l2 = arr2.length - 1; + while ($i < l2) { + $propertyKey = arr2[$i += 1]; + if ($i) { + out += ' || '; + } + var $prop = it.util.getProperty($propertyKey), + $useData = $data + $prop; + out += ' ( ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') && (missing' + ($lvl) + ' = ' + (it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop)) + ') ) '; + } + } + out += ') { '; + var $propertyPath = 'missing' + $lvl, + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + ' + ' + $propertyPath; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + } + } else { + if ($loopRequired) { + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; '; + } + var $i = 'i' + $lvl, + $propertyPath = 'schema' + $lvl + '[' + $i + ']', + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); + } + if ($isData) { + out += ' if (' + ($vSchema) + ' && !Array.isArray(' + ($vSchema) + ')) { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (' + ($vSchema) + ' !== undefined) { '; + } + out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { if (' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) '; + } + out += ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } '; + if ($isData) { + out += ' } '; + } + } else { + var arr3 = $required; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $prop = it.util.getProperty($propertyKey), + $missingProperty = it.util.escapeQuotes($propertyKey), + $useData = $data + $prop; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } '; + } + } + } + } + it.errorPath = $currentErrorPath; + } else if ($breakOnError) { + out += ' if (true) {'; + } + return out; +} + +},{}],37:[function(require,module,exports){ +'use strict'; +module.exports = function generate_uniqueItems(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (($schema || $isData) && it.opts.uniqueItems !== false) { + if ($isData) { + out += ' var ' + ($valid) + '; if (' + ($schemaValue) + ' === false || ' + ($schemaValue) + ' === undefined) ' + ($valid) + ' = true; else if (typeof ' + ($schemaValue) + ' != \'boolean\') ' + ($valid) + ' = false; else { '; + } + out += ' var i = ' + ($data) + '.length , ' + ($valid) + ' = true , j; if (i > 1) { '; + var $itemType = it.schema.items && it.schema.items.type, + $typeIsArray = Array.isArray($itemType); + if (!$itemType || $itemType == 'object' || $itemType == 'array' || ($typeIsArray && ($itemType.indexOf('object') >= 0 || $itemType.indexOf('array') >= 0))) { + out += ' outer: for (;i--;) { for (j = i; j--;) { if (equal(' + ($data) + '[i], ' + ($data) + '[j])) { ' + ($valid) + ' = false; break outer; } } } '; + } else { + out += ' var itemIndices = {}, item; for (;i--;) { var item = ' + ($data) + '[i]; '; + var $method = 'checkDataType' + ($typeIsArray ? 's' : ''); + out += ' if (' + (it.util[$method]($itemType, 'item', it.opts.strictNumbers, true)) + ') continue; '; + if ($typeIsArray) { + out += ' if (typeof item == \'string\') item = \'"\' + item; '; + } + out += ' if (typeof itemIndices[item] == \'number\') { ' + ($valid) + ' = false; j = itemIndices[item]; break; } itemIndices[item] = i; } '; + } + out += ' } '; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('uniqueItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { i: i, j: j } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have duplicate items (items ## \' + j + \' and \' + i + \' are identical)\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} + +},{}],38:[function(require,module,exports){ +'use strict'; +module.exports = function generate_validate(it, $keyword, $ruleType) { + var out = ''; + var $async = it.schema.$async === true, + $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref'), + $id = it.self._getId(it.schema); + if (it.opts.strictKeywords) { + var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords); + if ($unknownKwd) { + var $keywordsMsg = 'unknown keyword: ' + $unknownKwd; + if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg); + else throw new Error($keywordsMsg); + } + } + if (it.isTop) { + out += ' var validate = '; + if ($async) { + it.async = true; + out += 'async '; + } + out += 'function(data, dataPath, parentData, parentDataProperty, rootData) { \'use strict\'; '; + if ($id && (it.opts.sourceCode || it.opts.processCode)) { + out += ' ' + ('/\*# sourceURL=' + $id + ' */') + ' '; + } + } + if (typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref)) { + var $keyword = 'false schema'; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + if (it.schema === false) { + if (it.isTop) { + $breakOnError = true; + } else { + out += ' var ' + ($valid) + ' = false; '; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'false schema') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'boolean schema is false\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + } else { + if (it.isTop) { + if ($async) { + out += ' return data; '; + } else { + out += ' validate.errors = null; return true; '; + } + } else { + out += ' var ' + ($valid) + ' = true; '; + } + } + if (it.isTop) { + out += ' }; return validate; '; + } + return out; + } + if (it.isTop) { + var $top = it.isTop, + $lvl = it.level = 0, + $dataLvl = it.dataLevel = 0, + $data = 'data'; + it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema)); + it.baseId = it.baseId || it.rootId; + delete it.isTop; + it.dataPathArr = [""]; + if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored in the schema root'; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + out += ' var vErrors = null; '; + out += ' var errors = 0; '; + out += ' if (rootData === undefined) rootData = data; '; + } else { + var $lvl = it.level, + $dataLvl = it.dataLevel, + $data = 'data' + ($dataLvl || ''); + if ($id) it.baseId = it.resolve.url(it.baseId, $id); + if ($async && !it.async) throw new Error('async schema in sync schema'); + out += ' var errs_' + ($lvl) + ' = errors;'; + } + var $valid = 'valid' + $lvl, + $breakOnError = !it.opts.allErrors, + $closingBraces1 = '', + $closingBraces2 = ''; + var $errorKeyword; + var $typeSchema = it.schema.type, + $typeIsArray = Array.isArray($typeSchema); + if ($typeSchema && it.opts.nullable && it.schema.nullable === true) { + if ($typeIsArray) { + if ($typeSchema.indexOf('null') == -1) $typeSchema = $typeSchema.concat('null'); + } else if ($typeSchema != 'null') { + $typeSchema = [$typeSchema, 'null']; + $typeIsArray = true; + } + } + if ($typeIsArray && $typeSchema.length == 1) { + $typeSchema = $typeSchema[0]; + $typeIsArray = false; + } + if (it.schema.$ref && $refKeywords) { + if (it.opts.extendRefs == 'fail') { + throw new Error('$ref: validation keywords used in schema at path "' + it.errSchemaPath + '" (see option extendRefs)'); + } else if (it.opts.extendRefs !== true) { + $refKeywords = false; + it.logger.warn('$ref: keywords ignored in schema at path "' + it.errSchemaPath + '"'); + } + } + if (it.schema.$comment && it.opts.$comment) { + out += ' ' + (it.RULES.all.$comment.code(it, '$comment')); + } + if ($typeSchema) { + if (it.opts.coerceTypes) { + var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema); + } + var $rulesGroup = it.RULES.types[$typeSchema]; + if ($coerceToTypes || $typeIsArray || $rulesGroup === true || ($rulesGroup && !$shouldUseGroup($rulesGroup))) { + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type'; + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type', + $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType'; + out += ' if (' + (it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true)) + ') { '; + if ($coerceToTypes) { + var $dataType = 'dataType' + $lvl, + $coerced = 'coerced' + $lvl; + out += ' var ' + ($dataType) + ' = typeof ' + ($data) + '; var ' + ($coerced) + ' = undefined; '; + if (it.opts.coerceTypes == 'array') { + out += ' if (' + ($dataType) + ' == \'object\' && Array.isArray(' + ($data) + ') && ' + ($data) + '.length == 1) { ' + ($data) + ' = ' + ($data) + '[0]; ' + ($dataType) + ' = typeof ' + ($data) + '; if (' + (it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers)) + ') ' + ($coerced) + ' = ' + ($data) + '; } '; + } + out += ' if (' + ($coerced) + ' !== undefined) ; '; + var arr1 = $coerceToTypes; + if (arr1) { + var $type, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $type = arr1[$i += 1]; + if ($type == 'string') { + out += ' else if (' + ($dataType) + ' == \'number\' || ' + ($dataType) + ' == \'boolean\') ' + ($coerced) + ' = \'\' + ' + ($data) + '; else if (' + ($data) + ' === null) ' + ($coerced) + ' = \'\'; '; + } else if ($type == 'number' || $type == 'integer') { + out += ' else if (' + ($dataType) + ' == \'boolean\' || ' + ($data) + ' === null || (' + ($dataType) + ' == \'string\' && ' + ($data) + ' && ' + ($data) + ' == +' + ($data) + ' '; + if ($type == 'integer') { + out += ' && !(' + ($data) + ' % 1)'; + } + out += ')) ' + ($coerced) + ' = +' + ($data) + '; '; + } else if ($type == 'boolean') { + out += ' else if (' + ($data) + ' === \'false\' || ' + ($data) + ' === 0 || ' + ($data) + ' === null) ' + ($coerced) + ' = false; else if (' + ($data) + ' === \'true\' || ' + ($data) + ' === 1) ' + ($coerced) + ' = true; '; + } else if ($type == 'null') { + out += ' else if (' + ($data) + ' === \'\' || ' + ($data) + ' === 0 || ' + ($data) + ' === false) ' + ($coerced) + ' = null; '; + } else if (it.opts.coerceTypes == 'array' && $type == 'array') { + out += ' else if (' + ($dataType) + ' == \'string\' || ' + ($dataType) + ' == \'number\' || ' + ($dataType) + ' == \'boolean\' || ' + ($data) + ' == null) ' + ($coerced) + ' = [' + ($data) + ']; '; + } + } + } + out += ' else { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } if (' + ($coerced) + ' !== undefined) { '; + var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', + $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; + out += ' ' + ($data) + ' = ' + ($coerced) + '; '; + if (!$dataLvl) { + out += 'if (' + ($parentData) + ' !== undefined)'; + } + out += ' ' + ($parentData) + '[' + ($parentDataProperty) + '] = ' + ($coerced) + '; } '; + } else { + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + } + out += ' } '; + } + } + if (it.schema.$ref && !$refKeywords) { + out += ' ' + (it.RULES.all.$ref.code(it, '$ref')) + ' '; + if ($breakOnError) { + out += ' } if (errors === '; + if ($top) { + out += '0'; + } else { + out += 'errs_' + ($lvl); + } + out += ') { '; + $closingBraces2 += '}'; + } + } else { + var arr2 = it.RULES; + if (arr2) { + var $rulesGroup, i2 = -1, + l2 = arr2.length - 1; + while (i2 < l2) { + $rulesGroup = arr2[i2 += 1]; + if ($shouldUseGroup($rulesGroup)) { + if ($rulesGroup.type) { + out += ' if (' + (it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers)) + ') { '; + } + if (it.opts.useDefaults) { + if ($rulesGroup.type == 'object' && it.schema.properties) { + var $schema = it.schema.properties, + $schemaKeys = Object.keys($schema); + var arr3 = $schemaKeys; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $sch = $schema[$propertyKey]; + if ($sch.default !== undefined) { + var $passData = $data + it.util.getProperty($propertyKey); + if (it.compositeRule) { + if (it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored for: ' + $passData; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + } else { + out += ' if (' + ($passData) + ' === undefined '; + if (it.opts.useDefaults == 'empty') { + out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' '; + } + out += ' ) ' + ($passData) + ' = '; + if (it.opts.useDefaults == 'shared') { + out += ' ' + (it.useDefault($sch.default)) + ' '; + } else { + out += ' ' + (JSON.stringify($sch.default)) + ' '; + } + out += '; '; + } + } + } + } + } else if ($rulesGroup.type == 'array' && Array.isArray(it.schema.items)) { + var arr4 = it.schema.items; + if (arr4) { + var $sch, $i = -1, + l4 = arr4.length - 1; + while ($i < l4) { + $sch = arr4[$i += 1]; + if ($sch.default !== undefined) { + var $passData = $data + '[' + $i + ']'; + if (it.compositeRule) { + if (it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored for: ' + $passData; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + } else { + out += ' if (' + ($passData) + ' === undefined '; + if (it.opts.useDefaults == 'empty') { + out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' '; + } + out += ' ) ' + ($passData) + ' = '; + if (it.opts.useDefaults == 'shared') { + out += ' ' + (it.useDefault($sch.default)) + ' '; + } else { + out += ' ' + (JSON.stringify($sch.default)) + ' '; + } + out += '; '; + } + } + } + } + } + } + var arr5 = $rulesGroup.rules; + if (arr5) { + var $rule, i5 = -1, + l5 = arr5.length - 1; + while (i5 < l5) { + $rule = arr5[i5 += 1]; + if ($shouldUseRule($rule)) { + var $code = $rule.code(it, $rule.keyword, $rulesGroup.type); + if ($code) { + out += ' ' + ($code) + ' '; + if ($breakOnError) { + $closingBraces1 += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces1) + ' '; + $closingBraces1 = ''; + } + if ($rulesGroup.type) { + out += ' } '; + if ($typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes) { + out += ' else { '; + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + } + } + if ($breakOnError) { + out += ' if (errors === '; + if ($top) { + out += '0'; + } else { + out += 'errs_' + ($lvl); + } + out += ') { '; + $closingBraces2 += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces2) + ' '; + } + if ($top) { + if ($async) { + out += ' if (errors === 0) return data; '; + out += ' else throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; '; + out += ' return errors === 0; '; + } + out += ' }; return validate;'; + } else { + out += ' var ' + ($valid) + ' = errors === errs_' + ($lvl) + ';'; + } + + function $shouldUseGroup($rulesGroup) { + var rules = $rulesGroup.rules; + for (var i = 0; i < rules.length; i++) + if ($shouldUseRule(rules[i])) return true; + } + + function $shouldUseRule($rule) { + return it.schema[$rule.keyword] !== undefined || ($rule.implements && $ruleImplementsSomeKeyword($rule)); + } + + function $ruleImplementsSomeKeyword($rule) { + var impl = $rule.implements; + for (var i = 0; i < impl.length; i++) + if (it.schema[impl[i]] !== undefined) return true; + } + return out; +} + +},{}],39:[function(require,module,exports){ +'use strict'; + +var IDENTIFIER = /^[a-z_$][a-z0-9_$-]*$/i; +var customRuleCode = require('./dotjs/custom'); +var definitionSchema = require('./definition_schema'); + +module.exports = { + add: addKeyword, + get: getKeyword, + remove: removeKeyword, + validate: validateKeyword +}; + + +/** + * Define custom keyword + * @this Ajv + * @param {String} keyword custom keyword, should be unique (including different from all standard, custom and macro keywords). + * @param {Object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`. + * @return {Ajv} this for method chaining + */ +function addKeyword(keyword, definition) { + /* jshint validthis: true */ + /* eslint no-shadow: 0 */ + var RULES = this.RULES; + if (RULES.keywords[keyword]) + throw new Error('Keyword ' + keyword + ' is already defined'); + + if (!IDENTIFIER.test(keyword)) + throw new Error('Keyword ' + keyword + ' is not a valid identifier'); + + if (definition) { + this.validateKeyword(definition, true); + + var dataType = definition.type; + if (Array.isArray(dataType)) { + for (var i=0; i 1) { + sets[0] = sets[0].slice(0, -1); + var xl = sets.length - 1; + for (var x = 1; x < xl; ++x) { + sets[x] = sets[x].slice(1, -1); + } + sets[xl] = sets[xl].slice(1); + return sets.join(''); + } else { + return sets[0]; + } +} +function subexp(str) { + return "(?:" + str + ")"; +} +function typeOf(o) { + return o === undefined ? "undefined" : o === null ? "null" : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase(); +} +function toUpperCase(str) { + return str.toUpperCase(); +} +function toArray(obj) { + return obj !== undefined && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : []; +} +function assign(target, source) { + var obj = target; + if (source) { + for (var key in source) { + obj[key] = source[key]; + } + } + return obj; +} + +function buildExps(isIRI) { + var ALPHA$$ = "[A-Za-z]", + CR$ = "[\\x0D]", + DIGIT$$ = "[0-9]", + DQUOTE$$ = "[\\x22]", + HEXDIG$$ = merge(DIGIT$$, "[A-Fa-f]"), + //case-insensitive + LF$$ = "[\\x0A]", + SP$$ = "[\\x20]", + PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)), + //expanded + GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", + SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", + RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), + UCSCHAR$$ = isIRI ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", + //subset, excludes bidi control characters + IPRIVATE$$ = isIRI ? "[\\uE000-\\uF8FF]" : "[]", + //subset + UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), + SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), + USERINFO$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]")) + "*"), + DEC_OCTET$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("[1-9]" + DIGIT$$) + "|" + DIGIT$$), + DEC_OCTET_RELAXED$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("0?[1-9]" + DIGIT$$) + "|0?0?" + DIGIT$$), + //relaxed parsing rules + IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$), + H16$ = subexp(HEXDIG$$ + "{1,4}"), + LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), + IPV6ADDRESS1$ = subexp(subexp(H16$ + "\\:") + "{6}" + LS32$), + // 6( h16 ":" ) ls32 + IPV6ADDRESS2$ = subexp("\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), + // "::" 5( h16 ":" ) ls32 + IPV6ADDRESS3$ = subexp(subexp(H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), + //[ h16 ] "::" 4( h16 ":" ) ls32 + IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$), + //[ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 + IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$), + //[ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 + IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), + //[ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 + IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), + //[ *4( h16 ":" ) h16 ] "::" ls32 + IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$), + //[ *5( h16 ":" ) h16 ] "::" h16 + IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:"), + //[ *6( h16 ":" ) h16 ] "::" + IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join("|")), + ZONEID$ = subexp(subexp(UNRESERVED$$ + "|" + PCT_ENCODED$) + "+"), + //RFC 6874 + IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), + //RFC 6874 + IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + ZONEID$), + //RFC 6874, with relaxed parsing rules + IPVFUTURE$ = subexp("[vV]" + HEXDIG$$ + "+\\." + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]") + "+"), + IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), + //RFC 6874 + REG_NAME$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$)) + "*"), + HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")" + "|" + REG_NAME$), + PORT$ = subexp(DIGIT$$ + "*"), + AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), + PCHAR$ = subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@]")), + SEGMENT$ = subexp(PCHAR$ + "*"), + SEGMENT_NZ$ = subexp(PCHAR$ + "+"), + SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\@]")) + "+"), + PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), + PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), + //simplified + PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), + //simplified + PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), + //simplified + PATH_EMPTY$ = "(?!" + PCHAR$ + ")", + PATH$ = subexp(PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), + QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), + FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), + HIER_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), + URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), + RELATIVE_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$), + RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), + URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), + ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), + GENERIC_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + RELATIVE_REF$ = "^(){0}" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + ABSOLUTE_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?$", + SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + AUTHORITY_REF$ = "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$"; + return { + NOT_SCHEME: new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"), + NOT_USERINFO: new RegExp(merge("[^\\%\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_HOST: new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH: new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH_NOSCHEME: new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_QUERY: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"), + NOT_FRAGMENT: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"), + ESCAPE: new RegExp(merge("[^]", UNRESERVED$$, SUB_DELIMS$$), "g"), + UNRESERVED: new RegExp(UNRESERVED$$, "g"), + OTHER_CHARS: new RegExp(merge("[^\\%]", UNRESERVED$$, RESERVED$$), "g"), + PCT_ENCODED: new RegExp(PCT_ENCODED$, "g"), + IPV4ADDRESS: new RegExp("^(" + IPV4ADDRESS$ + ")$"), + IPV6ADDRESS: new RegExp("^\\[?(" + IPV6ADDRESS$ + ")" + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + "(" + ZONEID$ + ")") + "?\\]?$") //RFC 6874, with relaxed parsing rules + }; +} +var URI_PROTOCOL = buildExps(false); + +var IRI_PROTOCOL = buildExps(true); + +var slicedToArray = function () { + function sliceIterator(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"]) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; + } + + return function (arr, i) { + if (Array.isArray(arr)) { + return arr; + } else if (Symbol.iterator in Object(arr)) { + return sliceIterator(arr, i); + } else { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); + } + }; +}(); + + + + + + + + + + + + + +var toConsumableArray = function (arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; + + return arr2; + } else { + return Array.from(arr); + } +}; + +/** Highest positive signed 32-bit float value */ + +var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 + +/** Bootstring parameters */ +var base = 36; +var tMin = 1; +var tMax = 26; +var skew = 38; +var damp = 700; +var initialBias = 72; +var initialN = 128; // 0x80 +var delimiter = '-'; // '\x2D' + +/** Regular expressions */ +var regexPunycode = /^xn--/; +var regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars +var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators + +/** Error messages */ +var errors = { + 'overflow': 'Overflow: input needs wider integers to process', + 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', + 'invalid-input': 'Invalid input' +}; + +/** Convenience shortcuts */ +var baseMinusTMin = base - tMin; +var floor = Math.floor; +var stringFromCharCode = String.fromCharCode; + +/*--------------------------------------------------------------------------*/ + +/** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ +function error$1(type) { + throw new RangeError(errors[type]); +} + +/** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ +function map(array, fn) { + var result = []; + var length = array.length; + while (length--) { + result[length] = fn(array[length]); + } + return result; +} + +/** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ +function mapDomain(string, fn) { + var parts = string.split('@'); + var result = ''; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + '@'; + string = parts[1]; + } + // Avoid `split(regex)` for IE8 compatibility. See #17. + string = string.replace(regexSeparators, '\x2E'); + var labels = string.split('.'); + var encoded = map(labels, fn).join('.'); + return result + encoded; +} + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ +function ucs2decode(string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { + // Low surrogate. + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; +} + +/** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ +var ucs2encode = function ucs2encode(array) { + return String.fromCodePoint.apply(String, toConsumableArray(array)); +}; + +/** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ +var basicToDigit = function basicToDigit(codePoint) { + if (codePoint - 0x30 < 0x0A) { + return codePoint - 0x16; + } + if (codePoint - 0x41 < 0x1A) { + return codePoint - 0x41; + } + if (codePoint - 0x61 < 0x1A) { + return codePoint - 0x61; + } + return base; +}; + +/** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ +var digitToBasic = function digitToBasic(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ +var adapt = function adapt(delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ +var decode = function decode(input) { + // Don't use UCS-2. + var output = []; + var inputLength = input.length; + var i = 0; + var n = initialN; + var bias = initialBias; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + var basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + + for (var j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error$1('not-basic'); + } + output.push(input.charCodeAt(j)); + } + + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (var index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{ + + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + var oldi = i; + for (var w = 1, k = base;; /* no condition */k += base) { + + if (index >= inputLength) { + error$1('invalid-input'); + } + + var digit = basicToDigit(input.charCodeAt(index++)); + + if (digit >= base || digit > floor((maxInt - i) / w)) { + error$1('overflow'); + } + + i += digit * w; + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + + if (digit < t) { + break; + } + + var baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error$1('overflow'); + } + + w *= baseMinusT; + } + + var out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); + + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error$1('overflow'); + } + + n += floor(i / out); + i %= out; + + // Insert `n` at position `i` of the output. + output.splice(i++, 0, n); + } + + return String.fromCodePoint.apply(String, output); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ +var encode = function encode(input) { + var output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + var inputLength = input.length; + + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; + + // Handle the basic code points. + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _currentValue2 = _step.value; + + if (_currentValue2 < 0x80) { + output.push(stringFromCharCode(_currentValue2)); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + var basicLength = output.length; + var handledCPCount = basicLength; + + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + + // All non-basic code points < n have been handled already. Find the next + // larger one: + var m = maxInt; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var currentValue = _step2.value; + + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow. + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error$1('overflow'); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var _currentValue = _step3.value; + + if (_currentValue < n && ++delta > maxInt) { + error$1('overflow'); + } + if (_currentValue == n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + for (var k = base;; /* no condition */k += base) { + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) { + break; + } + var qMinusT = q - t; + var baseMinusT = base - t; + output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + ++delta; + ++n; + } + return output.join(''); +}; + +/** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ +var toUnicode = function toUnicode(input) { + return mapDomain(input, function (string) { + return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; + }); +}; + +/** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ +var toASCII = function toASCII(input) { + return mapDomain(input, function (string) { + return regexNonASCII.test(string) ? 'xn--' + encode(string) : string; + }); +}; + +/*--------------------------------------------------------------------------*/ + +/** Define the public API */ +var punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + 'version': '2.1.0', + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + 'ucs2': { + 'decode': ucs2decode, + 'encode': ucs2encode + }, + 'decode': decode, + 'encode': encode, + 'toASCII': toASCII, + 'toUnicode': toUnicode +}; + +/** + * URI.js + * + * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript. + * @author Gary Court + * @see http://github.com/garycourt/uri-js + */ +/** + * Copyright 2011 Gary Court. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of Gary Court. + */ +var SCHEMES = {}; +function pctEncChar(chr) { + var c = chr.charCodeAt(0); + var e = void 0; + if (c < 16) e = "%0" + c.toString(16).toUpperCase();else if (c < 128) e = "%" + c.toString(16).toUpperCase();else if (c < 2048) e = "%" + (c >> 6 | 192).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase();else e = "%" + (c >> 12 | 224).toString(16).toUpperCase() + "%" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase(); + return e; +} +function pctDecChars(str) { + var newStr = ""; + var i = 0; + var il = str.length; + while (i < il) { + var c = parseInt(str.substr(i + 1, 2), 16); + if (c < 128) { + newStr += String.fromCharCode(c); + i += 3; + } else if (c >= 194 && c < 224) { + if (il - i >= 6) { + var c2 = parseInt(str.substr(i + 4, 2), 16); + newStr += String.fromCharCode((c & 31) << 6 | c2 & 63); + } else { + newStr += str.substr(i, 6); + } + i += 6; + } else if (c >= 224) { + if (il - i >= 9) { + var _c = parseInt(str.substr(i + 4, 2), 16); + var c3 = parseInt(str.substr(i + 7, 2), 16); + newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63); + } else { + newStr += str.substr(i, 9); + } + i += 9; + } else { + newStr += str.substr(i, 3); + i += 3; + } + } + return newStr; +} +function _normalizeComponentEncoding(components, protocol) { + function decodeUnreserved(str) { + var decStr = pctDecChars(str); + return !decStr.match(protocol.UNRESERVED) ? str : decStr; + } + if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, ""); + if (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + return components; +} + +function _stripLeadingZeros(str) { + return str.replace(/^0*(.*)/, "$1") || "0"; +} +function _normalizeIPv4(host, protocol) { + var matches = host.match(protocol.IPV4ADDRESS) || []; + + var _matches = slicedToArray(matches, 2), + address = _matches[1]; + + if (address) { + return address.split(".").map(_stripLeadingZeros).join("."); + } else { + return host; + } +} +function _normalizeIPv6(host, protocol) { + var matches = host.match(protocol.IPV6ADDRESS) || []; + + var _matches2 = slicedToArray(matches, 3), + address = _matches2[1], + zone = _matches2[2]; + + if (address) { + var _address$toLowerCase$ = address.toLowerCase().split('::').reverse(), + _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2), + last = _address$toLowerCase$2[0], + first = _address$toLowerCase$2[1]; + + var firstFields = first ? first.split(":").map(_stripLeadingZeros) : []; + var lastFields = last.split(":").map(_stripLeadingZeros); + var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]); + var fieldCount = isLastFieldIPv4Address ? 7 : 8; + var lastFieldsStart = lastFields.length - fieldCount; + var fields = Array(fieldCount); + for (var x = 0; x < fieldCount; ++x) { + fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || ''; + } + if (isLastFieldIPv4Address) { + fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol); + } + var allZeroFields = fields.reduce(function (acc, field, index) { + if (!field || field === "0") { + var lastLongest = acc[acc.length - 1]; + if (lastLongest && lastLongest.index + lastLongest.length === index) { + lastLongest.length++; + } else { + acc.push({ index: index, length: 1 }); + } + } + return acc; + }, []); + var longestZeroFields = allZeroFields.sort(function (a, b) { + return b.length - a.length; + })[0]; + var newHost = void 0; + if (longestZeroFields && longestZeroFields.length > 1) { + var newFirst = fields.slice(0, longestZeroFields.index); + var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length); + newHost = newFirst.join(":") + "::" + newLast.join(":"); + } else { + newHost = fields.join(":"); + } + if (zone) { + newHost += "%" + zone; + } + return newHost; + } else { + return host; + } +} +var URI_PARSE = /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i; +var NO_MATCH_IS_UNDEFINED = "".match(/(){0}/)[1] === undefined; +function parse(uriString) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var components = {}; + var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; + if (options.reference === "suffix") uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString; + var matches = uriString.match(URI_PARSE); + if (matches) { + if (NO_MATCH_IS_UNDEFINED) { + //store each component + components.scheme = matches[1]; + components.userinfo = matches[3]; + components.host = matches[4]; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = matches[7]; + components.fragment = matches[8]; + //fix port number + if (isNaN(components.port)) { + components.port = matches[5]; + } + } else { + //IE FIX for improper RegExp matching + //store each component + components.scheme = matches[1] || undefined; + components.userinfo = uriString.indexOf("@") !== -1 ? matches[3] : undefined; + components.host = uriString.indexOf("//") !== -1 ? matches[4] : undefined; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = uriString.indexOf("?") !== -1 ? matches[7] : undefined; + components.fragment = uriString.indexOf("#") !== -1 ? matches[8] : undefined; + //fix port number + if (isNaN(components.port)) { + components.port = uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : undefined; + } + } + if (components.host) { + //normalize IP hosts + components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol); + } + //determine reference type + if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) { + components.reference = "same-document"; + } else if (components.scheme === undefined) { + components.reference = "relative"; + } else if (components.fragment === undefined) { + components.reference = "absolute"; + } else { + components.reference = "uri"; + } + //check for reference errors + if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) { + components.error = components.error || "URI is not a " + options.reference + " reference."; + } + //find scheme handler + var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //check if scheme can't handle IRIs + if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) { + //if host component is a domain name + if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) { + //convert Unicode IDN -> ASCII IDN + try { + components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()); + } catch (e) { + components.error = components.error || "Host's domain name can not be converted to ASCII via punycode: " + e; + } + } + //convert IRI -> URI + _normalizeComponentEncoding(components, URI_PROTOCOL); + } else { + //normalize encodings + _normalizeComponentEncoding(components, protocol); + } + //perform scheme specific parsing + if (schemeHandler && schemeHandler.parse) { + schemeHandler.parse(components, options); + } + } else { + components.error = components.error || "URI can not be parsed."; + } + return components; +} + +function _recomposeAuthority(components, options) { + var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; + var uriTokens = []; + if (components.userinfo !== undefined) { + uriTokens.push(components.userinfo); + uriTokens.push("@"); + } + if (components.host !== undefined) { + //normalize IP hosts, add brackets and escape zone separator for IPv6 + uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function (_, $1, $2) { + return "[" + $1 + ($2 ? "%25" + $2 : "") + "]"; + })); + } + if (typeof components.port === "number" || typeof components.port === "string") { + uriTokens.push(":"); + uriTokens.push(String(components.port)); + } + return uriTokens.length ? uriTokens.join("") : undefined; +} + +var RDS1 = /^\.\.?\//; +var RDS2 = /^\/\.(\/|$)/; +var RDS3 = /^\/\.\.(\/|$)/; +var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/; +function removeDotSegments(input) { + var output = []; + while (input.length) { + if (input.match(RDS1)) { + input = input.replace(RDS1, ""); + } else if (input.match(RDS2)) { + input = input.replace(RDS2, "/"); + } else if (input.match(RDS3)) { + input = input.replace(RDS3, "/"); + output.pop(); + } else if (input === "." || input === "..") { + input = ""; + } else { + var im = input.match(RDS5); + if (im) { + var s = im[0]; + input = input.slice(s.length); + output.push(s); + } else { + throw new Error("Unexpected dot segment condition"); + } + } + } + return output.join(""); +} + +function serialize(components) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL; + var uriTokens = []; + //find scheme handler + var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //perform scheme specific serialization + if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options); + if (components.host) { + //if host component is an IPv6 address + if (protocol.IPV6ADDRESS.test(components.host)) {} + //TODO: normalize IPv6 address as per RFC 5952 + + //if host component is a domain name + else if (options.domainHost || schemeHandler && schemeHandler.domainHost) { + //convert IDN via punycode + try { + components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host); + } catch (e) { + components.error = components.error || "Host's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + } + } + //normalize encoding + _normalizeComponentEncoding(components, protocol); + if (options.reference !== "suffix" && components.scheme) { + uriTokens.push(components.scheme); + uriTokens.push(":"); + } + var authority = _recomposeAuthority(components, options); + if (authority !== undefined) { + if (options.reference !== "suffix") { + uriTokens.push("//"); + } + uriTokens.push(authority); + if (components.path && components.path.charAt(0) !== "/") { + uriTokens.push("/"); + } + } + if (components.path !== undefined) { + var s = components.path; + if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) { + s = removeDotSegments(s); + } + if (authority === undefined) { + s = s.replace(/^\/\//, "/%2F"); //don't allow the path to start with "//" + } + uriTokens.push(s); + } + if (components.query !== undefined) { + uriTokens.push("?"); + uriTokens.push(components.query); + } + if (components.fragment !== undefined) { + uriTokens.push("#"); + uriTokens.push(components.fragment); + } + return uriTokens.join(""); //merge tokens into a string +} + +function resolveComponents(base, relative) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var skipNormalization = arguments[3]; + + var target = {}; + if (!skipNormalization) { + base = parse(serialize(base, options), options); //normalize base components + relative = parse(serialize(relative, options), options); //normalize relative components + } + options = options || {}; + if (!options.tolerant && relative.scheme) { + target.scheme = relative.scheme; + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) { + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (!relative.path) { + target.path = base.path; + if (relative.query !== undefined) { + target.query = relative.query; + } else { + target.query = base.query; + } + } else { + if (relative.path.charAt(0) === "/") { + target.path = removeDotSegments(relative.path); + } else { + if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) { + target.path = "/" + relative.path; + } else if (!base.path) { + target.path = relative.path; + } else { + target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path; + } + target.path = removeDotSegments(target.path); + } + target.query = relative.query; + } + //target.authority = base.authority; + target.userinfo = base.userinfo; + target.host = base.host; + target.port = base.port; + } + target.scheme = base.scheme; + } + target.fragment = relative.fragment; + return target; +} + +function resolve(baseURI, relativeURI, options) { + var schemelessOptions = assign({ scheme: 'null' }, options); + return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions); +} + +function normalize(uri, options) { + if (typeof uri === "string") { + uri = serialize(parse(uri, options), options); + } else if (typeOf(uri) === "object") { + uri = parse(serialize(uri, options), options); + } + return uri; +} + +function equal(uriA, uriB, options) { + if (typeof uriA === "string") { + uriA = serialize(parse(uriA, options), options); + } else if (typeOf(uriA) === "object") { + uriA = serialize(uriA, options); + } + if (typeof uriB === "string") { + uriB = serialize(parse(uriB, options), options); + } else if (typeOf(uriB) === "object") { + uriB = serialize(uriB, options); + } + return uriA === uriB; +} + +function escapeComponent(str, options) { + return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar); +} + +function unescapeComponent(str, options) { + return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars); +} + +var handler = { + scheme: "http", + domainHost: true, + parse: function parse(components, options) { + //report missing host + if (!components.host) { + components.error = components.error || "HTTP URIs must have a host."; + } + return components; + }, + serialize: function serialize(components, options) { + var secure = String(components.scheme).toLowerCase() === "https"; + //normalize the default port + if (components.port === (secure ? 443 : 80) || components.port === "") { + components.port = undefined; + } + //normalize the empty path + if (!components.path) { + components.path = "/"; + } + //NOTE: We do not parse query strings for HTTP URIs + //as WWW Form Url Encoded query strings are part of the HTML4+ spec, + //and not the HTTP spec. + return components; + } +}; + +var handler$1 = { + scheme: "https", + domainHost: handler.domainHost, + parse: handler.parse, + serialize: handler.serialize +}; + +function isSecure(wsComponents) { + return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss"; +} +//RFC 6455 +var handler$2 = { + scheme: "ws", + domainHost: true, + parse: function parse(components, options) { + var wsComponents = components; + //indicate if the secure flag is set + wsComponents.secure = isSecure(wsComponents); + //construct resouce name + wsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : ''); + wsComponents.path = undefined; + wsComponents.query = undefined; + return wsComponents; + }, + serialize: function serialize(wsComponents, options) { + //normalize the default port + if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") { + wsComponents.port = undefined; + } + //ensure scheme matches secure flag + if (typeof wsComponents.secure === 'boolean') { + wsComponents.scheme = wsComponents.secure ? 'wss' : 'ws'; + wsComponents.secure = undefined; + } + //reconstruct path from resource name + if (wsComponents.resourceName) { + var _wsComponents$resourc = wsComponents.resourceName.split('?'), + _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2), + path = _wsComponents$resourc2[0], + query = _wsComponents$resourc2[1]; + + wsComponents.path = path && path !== '/' ? path : undefined; + wsComponents.query = query; + wsComponents.resourceName = undefined; + } + //forbid fragment component + wsComponents.fragment = undefined; + return wsComponents; + } +}; + +var handler$3 = { + scheme: "wss", + domainHost: handler$2.domainHost, + parse: handler$2.parse, + serialize: handler$2.serialize +}; + +var O = {}; +var isIRI = true; +//RFC 3986 +var UNRESERVED$$ = "[A-Za-z0-9\\-\\.\\_\\~" + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + "]"; +var HEXDIG$$ = "[0-9A-Fa-f]"; //case-insensitive +var PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)); //expanded +//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; = +//const ATEXT$$ = "[A-Za-z0-9\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QTEXT$$ = "[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]"; //(%d1-8 / %d11-12 / %d14-31 / %d127) +//const QTEXT$$ = merge("[\\x21\\x23-\\x5B\\x5D-\\x7E]", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext +//const VCHAR$$ = "[\\x21-\\x7E]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QP$ = subexp("\\\\" + merge("[\\x00\\x0D\\x0A]", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext +//const FWS$ = subexp(subexp(WSP$$ + "*" + "\\x0D\\x0A") + "?" + WSP$$ + "+"); +//const QUOTED_PAIR$ = subexp(subexp("\\\\" + subexp(VCHAR$$ + "|" + WSP$$)) + "|" + OBS_QP$); +//const QUOTED_STRING$ = subexp('\\"' + subexp(FWS$ + "?" + QCONTENT$) + "*" + FWS$ + "?" + '\\"'); +var ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]"; +var QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]"; +var VCHAR$$ = merge(QTEXT$$, "[\\\"\\\\]"); +var SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"; +var UNRESERVED = new RegExp(UNRESERVED$$, "g"); +var PCT_ENCODED = new RegExp(PCT_ENCODED$, "g"); +var NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g"); +var NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g"); +var NOT_HFVALUE = NOT_HFNAME; +function decodeUnreserved(str) { + var decStr = pctDecChars(str); + return !decStr.match(UNRESERVED) ? str : decStr; +} +var handler$4 = { + scheme: "mailto", + parse: function parse$$1(components, options) { + var mailtoComponents = components; + var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(",") : []; + mailtoComponents.path = undefined; + if (mailtoComponents.query) { + var unknownHeaders = false; + var headers = {}; + var hfields = mailtoComponents.query.split("&"); + for (var x = 0, xl = hfields.length; x < xl; ++x) { + var hfield = hfields[x].split("="); + switch (hfield[0]) { + case "to": + var toAddrs = hfield[1].split(","); + for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) { + to.push(toAddrs[_x]); + } + break; + case "subject": + mailtoComponents.subject = unescapeComponent(hfield[1], options); + break; + case "body": + mailtoComponents.body = unescapeComponent(hfield[1], options); + break; + default: + unknownHeaders = true; + headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options); + break; + } + } + if (unknownHeaders) mailtoComponents.headers = headers; + } + mailtoComponents.query = undefined; + for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) { + var addr = to[_x2].split("@"); + addr[0] = unescapeComponent(addr[0]); + if (!options.unicodeSupport) { + //convert Unicode IDN -> ASCII IDN + try { + addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase()); + } catch (e) { + mailtoComponents.error = mailtoComponents.error || "Email address's domain name can not be converted to ASCII via punycode: " + e; + } + } else { + addr[1] = unescapeComponent(addr[1], options).toLowerCase(); + } + to[_x2] = addr.join("@"); + } + return mailtoComponents; + }, + serialize: function serialize$$1(mailtoComponents, options) { + var components = mailtoComponents; + var to = toArray(mailtoComponents.to); + if (to) { + for (var x = 0, xl = to.length; x < xl; ++x) { + var toAddr = String(to[x]); + var atIdx = toAddr.lastIndexOf("@"); + var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar); + var domain = toAddr.slice(atIdx + 1); + //convert IDN via punycode + try { + domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain); + } catch (e) { + components.error = components.error || "Email address's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + to[x] = localPart + "@" + domain; + } + components.path = to.join(","); + } + var headers = mailtoComponents.headers = mailtoComponents.headers || {}; + if (mailtoComponents.subject) headers["subject"] = mailtoComponents.subject; + if (mailtoComponents.body) headers["body"] = mailtoComponents.body; + var fields = []; + for (var name in headers) { + if (headers[name] !== O[name]) { + fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + "=" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)); + } + } + if (fields.length) { + components.query = fields.join("&"); + } + return components; + } +}; + +var URN_PARSE = /^([^\:]+)\:(.*)/; +//RFC 2141 +var handler$5 = { + scheme: "urn", + parse: function parse$$1(components, options) { + var matches = components.path && components.path.match(URN_PARSE); + var urnComponents = components; + if (matches) { + var scheme = options.scheme || urnComponents.scheme || "urn"; + var nid = matches[1].toLowerCase(); + var nss = matches[2]; + var urnScheme = scheme + ":" + (options.nid || nid); + var schemeHandler = SCHEMES[urnScheme]; + urnComponents.nid = nid; + urnComponents.nss = nss; + urnComponents.path = undefined; + if (schemeHandler) { + urnComponents = schemeHandler.parse(urnComponents, options); + } + } else { + urnComponents.error = urnComponents.error || "URN can not be parsed."; + } + return urnComponents; + }, + serialize: function serialize$$1(urnComponents, options) { + var scheme = options.scheme || urnComponents.scheme || "urn"; + var nid = urnComponents.nid; + var urnScheme = scheme + ":" + (options.nid || nid); + var schemeHandler = SCHEMES[urnScheme]; + if (schemeHandler) { + urnComponents = schemeHandler.serialize(urnComponents, options); + } + var uriComponents = urnComponents; + var nss = urnComponents.nss; + uriComponents.path = (nid || options.nid) + ":" + nss; + return uriComponents; + } +}; + +var UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/; +//RFC 4122 +var handler$6 = { + scheme: "urn:uuid", + parse: function parse(urnComponents, options) { + var uuidComponents = urnComponents; + uuidComponents.uuid = uuidComponents.nss; + uuidComponents.nss = undefined; + if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) { + uuidComponents.error = uuidComponents.error || "UUID is not valid."; + } + return uuidComponents; + }, + serialize: function serialize(uuidComponents, options) { + var urnComponents = uuidComponents; + //normalize UUID + urnComponents.nss = (uuidComponents.uuid || "").toLowerCase(); + return urnComponents; + } +}; + +SCHEMES[handler.scheme] = handler; +SCHEMES[handler$1.scheme] = handler$1; +SCHEMES[handler$2.scheme] = handler$2; +SCHEMES[handler$3.scheme] = handler$3; +SCHEMES[handler$4.scheme] = handler$4; +SCHEMES[handler$5.scheme] = handler$5; +SCHEMES[handler$6.scheme] = handler$6; + +exports.SCHEMES = SCHEMES; +exports.pctEncChar = pctEncChar; +exports.pctDecChars = pctDecChars; +exports.parse = parse; +exports.removeDotSegments = removeDotSegments; +exports.serialize = serialize; +exports.resolveComponents = resolveComponents; +exports.resolve = resolve; +exports.normalize = normalize; +exports.equal = equal; +exports.escapeComponent = escapeComponent; +exports.unescapeComponent = unescapeComponent; + +Object.defineProperty(exports, '__esModule', { value: true }); + +}))); + + +},{}],"ajv":[function(require,module,exports){ +'use strict'; + +var compileSchema = require('./compile') + , resolve = require('./compile/resolve') + , Cache = require('./cache') + , SchemaObject = require('./compile/schema_obj') + , stableStringify = require('fast-json-stable-stringify') + , formats = require('./compile/formats') + , rules = require('./compile/rules') + , $dataMetaSchema = require('./data') + , util = require('./compile/util'); + +module.exports = Ajv; + +Ajv.prototype.validate = validate; +Ajv.prototype.compile = compile; +Ajv.prototype.addSchema = addSchema; +Ajv.prototype.addMetaSchema = addMetaSchema; +Ajv.prototype.validateSchema = validateSchema; +Ajv.prototype.getSchema = getSchema; +Ajv.prototype.removeSchema = removeSchema; +Ajv.prototype.addFormat = addFormat; +Ajv.prototype.errorsText = errorsText; + +Ajv.prototype._addSchema = _addSchema; +Ajv.prototype._compile = _compile; + +Ajv.prototype.compileAsync = require('./compile/async'); +var customKeyword = require('./keyword'); +Ajv.prototype.addKeyword = customKeyword.add; +Ajv.prototype.getKeyword = customKeyword.get; +Ajv.prototype.removeKeyword = customKeyword.remove; +Ajv.prototype.validateKeyword = customKeyword.validate; + +var errorClasses = require('./compile/error_classes'); +Ajv.ValidationError = errorClasses.Validation; +Ajv.MissingRefError = errorClasses.MissingRef; +Ajv.$dataMetaSchema = $dataMetaSchema; + +var META_SCHEMA_ID = 'http://json-schema.org/draft-07/schema'; + +var META_IGNORE_OPTIONS = [ 'removeAdditional', 'useDefaults', 'coerceTypes', 'strictDefaults' ]; +var META_SUPPORT_DATA = ['/properties']; + +/** + * Creates validator instance. + * Usage: `Ajv(opts)` + * @param {Object} opts optional options + * @return {Object} ajv instance + */ +function Ajv(opts) { + if (!(this instanceof Ajv)) return new Ajv(opts); + opts = this._opts = util.copy(opts) || {}; + setLogger(this); + this._schemas = {}; + this._refs = {}; + this._fragments = {}; + this._formats = formats(opts.format); + + this._cache = opts.cache || new Cache; + this._loadingSchemas = {}; + this._compilations = []; + this.RULES = rules(); + this._getId = chooseGetId(opts); + + opts.loopRequired = opts.loopRequired || Infinity; + if (opts.errorDataPath == 'property') opts._errorDataPathProperty = true; + if (opts.serialize === undefined) opts.serialize = stableStringify; + this._metaOpts = getMetaSchemaOptions(this); + + if (opts.formats) addInitialFormats(this); + if (opts.keywords) addInitialKeywords(this); + addDefaultMetaSchema(this); + if (typeof opts.meta == 'object') this.addMetaSchema(opts.meta); + if (opts.nullable) this.addKeyword('nullable', {metaSchema: {type: 'boolean'}}); + addInitialSchemas(this); +} + + + +/** + * Validate data using schema + * Schema will be compiled and cached (using serialized JSON as key. [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize. + * @this Ajv + * @param {String|Object} schemaKeyRef key, ref or schema object + * @param {Any} data to be validated + * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`). + */ +function validate(schemaKeyRef, data) { + var v; + if (typeof schemaKeyRef == 'string') { + v = this.getSchema(schemaKeyRef); + if (!v) throw new Error('no schema with key or ref "' + schemaKeyRef + '"'); + } else { + var schemaObj = this._addSchema(schemaKeyRef); + v = schemaObj.validate || this._compile(schemaObj); + } + + var valid = v(data); + if (v.$async !== true) this.errors = v.errors; + return valid; +} + + +/** + * Create validating function for passed schema. + * @this Ajv + * @param {Object} schema schema object + * @param {Boolean} _meta true if schema is a meta-schema. Used internally to compile meta schemas of custom keywords. + * @return {Function} validating function + */ +function compile(schema, _meta) { + var schemaObj = this._addSchema(schema, undefined, _meta); + return schemaObj.validate || this._compile(schemaObj); +} + + +/** + * Adds schema to the instance. + * @this Ajv + * @param {Object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored. + * @param {String} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`. + * @param {Boolean} _skipValidation true to skip schema validation. Used internally, option validateSchema should be used instead. + * @param {Boolean} _meta true if schema is a meta-schema. Used internally, addMetaSchema should be used instead. + * @return {Ajv} this for method chaining + */ +function addSchema(schema, key, _skipValidation, _meta) { + if (Array.isArray(schema)){ + for (var i=0; i} errors optional array of validation errors, if not passed errors from the instance are used. + * @param {Object} options optional options with properties `separator` and `dataVar`. + * @return {String} human readable string with all errors descriptions + */ +function errorsText(errors, options) { + errors = errors || this.errors; + if (!errors) return 'No errors'; + options = options || {}; + var separator = options.separator === undefined ? ', ' : options.separator; + var dataVar = options.dataVar === undefined ? 'data' : options.dataVar; + + var text = ''; + for (var i=0; i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,u=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,h=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,d=/^(?:\/(?:[^~/]|~0|~1)*)*$/,p=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,f=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function m(e){return a.copy(m[e="full"==e?"full":"fast"])}function v(e){var r=e.match(o);if(!r)return!1;var t,a=+r[2],s=+r[3];return 1<=a&&a<=12&&1<=s&&s<=(2!=a||((t=+r[1])%4!=0||t%100==0&&t%400!=0)?i[a]:29)}function y(e,r){var t=e.match(n);if(!t)return!1;var a=t[1],s=t[2],o=t[3];return(a<=23&&s<=59&&o<=59||23==a&&59==s&&60==o)&&(!r||t[5])}(r.exports=m).fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":c,url:u,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:s,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":p,"relative-json-pointer":f},m.full={date:v,time:y,"date-time":function(e){var r=e.split(g);return 2==r.length&&v(r[0])&&y(r[1],!0)},uri:function(e){return P.test(e)&&l.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":c,url:u,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:s,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":p,"relative-json-pointer":f};var g=/t|\s/i;var P=/\/|:/;var E=/[^\\]\\Z/;function w(e){if(E.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},{"./util":10}],5:[function(e,r,t){"use strict";var R=e("./resolve"),$=e("./util"),j=e("./error_classes"),D=e("fast-json-stable-stringify"),O=e("../dotjs/validate"),I=$.ucs2length,A=e("fast-deep-equal"),k=j.Validation;function C(e,c,u,r){var d=this,p=this._opts,h=[void 0],f={},l=[],t={},m=[],a={},v=[],s=function(e,r,t){var a=L.call(this,e,r,t);return 0<=a?{index:a,compiling:!0}:{index:a=this._compilations.length,compiling:!(this._compilations[a]={schema:e,root:r,baseId:t})}}.call(this,e,c=c||{schema:e,refVal:h,refs:f},r),o=this._compilations[s.index];if(s.compiling)return o.callValidate=P;var y=this._formats,g=this.RULES;try{var i=E(e,c,u,r);o.validate=i;var n=o.callValidate;return n&&(n.schema=i.schema,n.errors=null,n.refs=i.refs,n.refVal=i.refVal,n.root=i.root,n.$async=i.$async,p.sourceCode&&(n.source=i.source)),i}finally{(function(e,r,t){var a=L.call(this,e,r,t);0<=a&&this._compilations.splice(a,1)}).call(this,e,c,r)}function P(){var e=o.validate,r=e.apply(this,arguments);return P.errors=e.errors,r}function E(e,r,t,a){var s=!r||r&&r.schema==e;if(r.schema!=c.schema)return C.call(d,e,r,t,a);var o=!0===e.$async,i=O({isTop:!0,schema:e,isRoot:s,baseId:a,root:r,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:j.MissingRef,RULES:g,validate:O,util:$,resolve:R,resolveRef:w,usePattern:_,useDefault:F,useCustomRule:x,opts:p,formats:y,logger:d.logger,self:d}),i=Q(h,z)+Q(l,N)+Q(m,q)+Q(v,T)+i;p.processCode&&(i=p.processCode(i,e));try{var n=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",i)(d,g,y,c,h,m,v,A,I,k);h[0]=n}catch(e){throw d.logger.error("Error compiling schema, function code:",i),e}return n.schema=e,n.errors=null,n.refs=f,n.refVal=h,n.root=s?n:r,o&&(n.$async=!0),!0===p.sourceCode&&(n.source={code:i,patterns:l,defaults:m}),n}function w(e,r,t){r=R.url(e,r);var a,s,o=f[r];if(void 0!==o)return S(a=h[o],s="refVal["+o+"]");if(!t&&c.refs){var i=c.refs[r];if(void 0!==i)return S(a=c.refVal[i],s=b(r,a))}s=b(r);var n,l=R.call(d,E,c,r);if(void 0!==l||(n=u&&u[r])&&(l=R.inlineRef(n,p.inlineRefs)?n:C.call(d,n,c,u,e)),void 0!==l)return S(h[f[r]]=l,s);delete f[r]}function b(e,r){var t=h.length;return h[t]=r,"refVal"+(f[e]=t)}function S(e,r){return"object"==typeof e||"boolean"==typeof e?{code:r,schema:e,inline:!0}:{code:r,$async:e&&!!e.$async}}function _(e){var r=t[e];return void 0===r&&(r=t[e]=l.length,l[r]=e),"pattern"+r}function F(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return $.toQuotedString(e);case"object":if(null===e)return"null";var r=D(e),t=a[r];return void 0===t&&(t=a[r]=m.length,m[t]=e),"default"+t}}function x(e,r,t,a){if(!1!==d._opts.validateSchema){var s=e.definition.dependencies;if(s&&!s.every(function(e){return Object.prototype.hasOwnProperty.call(t,e)}))throw new Error("parent schema must have all required keywords: "+s.join(","));var o=e.definition.validateSchema;if(o)if(!o(r)){var i="keyword schema is invalid: "+d.errorsText(o.errors);if("log"!=d._opts.validateSchema)throw new Error(i);d.logger.error(i)}}var n,l=e.definition.compile,c=e.definition.inline,u=e.definition.macro;if(l)n=l.call(d,r,t,a);else if(u)n=u.call(d,r,t,a),!1!==p.validateSchema&&d.validateSchema(n,!0);else if(c)n=c.call(d,a,e.keyword,r,t);else if(!(n=e.definition.validate))return;if(void 0===n)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var h=v.length;return{code:"customRule"+h,validate:v[h]=n}}}function L(e,r,t){for(var a=0;a",_=P?">":"<",F=void 0;if(!y&&"number"!=typeof d&&void 0!==d)throw new Error(r+" must be number");if(!b&&void 0!==w&&"number"!=typeof w&&"boolean"!=typeof w)throw new Error(E+" must be number or boolean");b?(o="exclIsNumber"+u,i="' + "+(n="op"+u)+" + '",c+=" var schemaExcl"+u+" = "+(t=e.util.getData(w.$data,h,e.dataPathArr))+"; ",F=E,(l=l||[]).push(c+=" var "+(a="exclusive"+u)+"; var "+(s="exclType"+u)+" = typeof "+(t="schemaExcl"+u)+"; if ("+s+" != 'boolean' && "+s+" != 'undefined' && "+s+" != 'number') { "),c="",!1!==e.createErrors?(c+=" { keyword: '"+(F||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: {} ",!1!==e.opts.messages&&(c+=" , message: '"+E+" should be boolean' "),e.opts.verbose&&(c+=" , schema: validate.schema"+p+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+v+" "),c+=" } "):c+=" {} ",x=c,c=l.pop(),c+=!e.compositeRule&&m?e.async?" throw new ValidationError(["+x+"]); ":" validate.errors = ["+x+"]; return false; ":" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c+=" } else if ( ",y&&(c+=" ("+g+" !== undefined && typeof "+g+" != 'number') || "),c+=" "+s+" == 'number' ? ( ("+a+" = "+g+" === undefined || "+t+" "+S+"= "+g+") ? "+v+" "+_+"= "+t+" : "+v+" "+_+" "+g+" ) : ( ("+a+" = "+t+" === true) ? "+v+" "+_+"= "+g+" : "+v+" "+_+" "+g+" ) || "+v+" !== "+v+") { var op"+u+" = "+a+" ? '"+S+"' : '"+S+"='; ",void 0===d&&(f=e.errSchemaPath+"/"+(F=E),g=t,y=b)):(i=S,(o="number"==typeof w)&&y?(n="'"+i+"'",c+=" if ( ",y&&(c+=" ("+g+" !== undefined && typeof "+g+" != 'number') || "),c+=" ( "+g+" === undefined || "+w+" "+S+"= "+g+" ? "+v+" "+_+"= "+w+" : "+v+" "+_+" "+g+" ) || "+v+" !== "+v+") { "):(o&&void 0===d?(a=!0,f=e.errSchemaPath+"/"+(F=E),g=w,_+="="):(o&&(g=Math[P?"min":"max"](w,d)),w===(!o||g)?(a=!0,f=e.errSchemaPath+"/"+(F=E),_+="="):(a=!1,i+="=")),n="'"+i+"'",c+=" if ( ",y&&(c+=" ("+g+" !== undefined && typeof "+g+" != 'number') || "),c+=" "+v+" "+_+" "+g+" || "+v+" !== "+v+") { ")),F=F||r,(l=l||[]).push(c),c="",!1!==e.createErrors?(c+=" { keyword: '"+(F||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: { comparison: "+n+", limit: "+g+", exclusive: "+a+" } ",!1!==e.opts.messages&&(c+=" , message: 'should be "+i+" ",c+=y?"' + "+g:g+"'"),e.opts.verbose&&(c+=" , schema: ",c+=y?"validate.schema"+p:""+d,c+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+v+" "),c+=" } "):c+=" {} ";var x=c;return c=l.pop(),c+=!e.compositeRule&&m?e.async?" throw new ValidationError(["+x+"]); ":" validate.errors = ["+x+"]; return false; ":" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c+=" } ",m&&(c+=" else { "),c}},{}],14:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.level,s=e.dataLevel,o=e.schema[r],i=e.schemaPath+e.util.getProperty(r),n=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,c="data"+(s||""),u=e.opts.$data&&o&&o.$data,h=u?(t+=" var schema"+a+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ","schema"+a):o;if(!u&&"number"!=typeof o)throw new Error(r+" must be number");t+="if ( ",u&&(t+=" ("+h+" !== undefined && typeof "+h+" != 'number') || ");var d=r,p=p||[];p.push(t+=" "+c+".length "+("maxItems"==r?">":"<")+" "+h+") { "),t="",!1!==e.createErrors?(t+=" { keyword: '"+(d||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(n)+" , params: { limit: "+h+" } ",!1!==e.opts.messages&&(t+=" , message: 'should NOT have ",t+="maxItems"==r?"more":"fewer",t+=" than ",t+=u?"' + "+h+" + '":""+o,t+=" items' "),e.opts.verbose&&(t+=" , schema: ",t+=u?"validate.schema"+i:""+o,t+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),t+=" } "):t+=" {} ";var f=t,t=p.pop();return t+=!e.compositeRule&&l?e.async?" throw new ValidationError(["+f+"]); ":" validate.errors = ["+f+"]; return false; ":" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+="} ",l&&(t+=" else { "),t}},{}],15:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.level,s=e.dataLevel,o=e.schema[r],i=e.schemaPath+e.util.getProperty(r),n=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,c="data"+(s||""),u=e.opts.$data&&o&&o.$data,h=u?(t+=" var schema"+a+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ","schema"+a):o;if(!u&&"number"!=typeof o)throw new Error(r+" must be number");t+="if ( ",u&&(t+=" ("+h+" !== undefined && typeof "+h+" != 'number') || "),t+=!1===e.opts.unicode?" "+c+".length ":" ucs2length("+c+") ";var d=r,p=p||[];p.push(t+=" "+("maxLength"==r?">":"<")+" "+h+") { "),t="",!1!==e.createErrors?(t+=" { keyword: '"+(d||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(n)+" , params: { limit: "+h+" } ",!1!==e.opts.messages&&(t+=" , message: 'should NOT be ",t+="maxLength"==r?"longer":"shorter",t+=" than ",t+=u?"' + "+h+" + '":""+o,t+=" characters' "),e.opts.verbose&&(t+=" , schema: ",t+=u?"validate.schema"+i:""+o,t+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),t+=" } "):t+=" {} ";var f=t,t=p.pop();return t+=!e.compositeRule&&l?e.async?" throw new ValidationError(["+f+"]); ":" validate.errors = ["+f+"]; return false; ":" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+="} ",l&&(t+=" else { "),t}},{}],16:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.level,s=e.dataLevel,o=e.schema[r],i=e.schemaPath+e.util.getProperty(r),n=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,c="data"+(s||""),u=e.opts.$data&&o&&o.$data,h=u?(t+=" var schema"+a+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ","schema"+a):o;if(!u&&"number"!=typeof o)throw new Error(r+" must be number");t+="if ( ",u&&(t+=" ("+h+" !== undefined && typeof "+h+" != 'number') || ");var d=r,p=p||[];p.push(t+=" Object.keys("+c+").length "+("maxProperties"==r?">":"<")+" "+h+") { "),t="",!1!==e.createErrors?(t+=" { keyword: '"+(d||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(n)+" , params: { limit: "+h+" } ",!1!==e.opts.messages&&(t+=" , message: 'should NOT have ",t+="maxProperties"==r?"more":"fewer",t+=" than ",t+=u?"' + "+h+" + '":""+o,t+=" properties' "),e.opts.verbose&&(t+=" , schema: ",t+=u?"validate.schema"+i:""+o,t+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),t+=" } "):t+=" {} ";var f=t,t=p.pop();return t+=!e.compositeRule&&l?e.async?" throw new ValidationError(["+f+"]); ":" validate.errors = ["+f+"]; return false; ":" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+="} ",l&&(t+=" else { "),t}},{}],17:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.schema[r],s=e.schemaPath+e.util.getProperty(r),o=e.errSchemaPath+"/"+r,i=!e.opts.allErrors,n=e.util.copy(e),l="";n.level++;var c="valid"+n.level,u=n.baseId,h=!0,d=a;if(d)for(var p,f=-1,m=d.length-1;f "+_+") { ",x=c+"["+_+"]",d.schema=$,d.schemaPath=i+"["+_+"]",d.errSchemaPath=n+"/"+_,d.errorPath=e.util.getPathExpr(e.errorPath,_,e.opts.jsonPointers,!0),d.dataPathArr[v]=_,R=e.validate(d),d.baseId=g,e.util.varOccurences(R,y)<2?t+=" "+e.util.varReplace(R,y,x)+" ":t+=" var "+y+" = "+x+"; "+R+" ",t+=" } ",l&&(t+=" if ("+f+") { ",p+="}"))}"object"==typeof b&&(e.opts.strictKeywords?"object"==typeof b&&0 "+o.length+") { for (var "+m+" = "+o.length+"; "+m+" < "+c+".length; "+m+"++) { ",d.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0),x=c+"["+m+"]",d.dataPathArr[v]=m,R=e.validate(d),d.baseId=g,e.util.varOccurences(R,y)<2?t+=" "+e.util.varReplace(R,y,x)+" ":t+=" var "+y+" = "+x+"; "+R+" ",l&&(t+=" if (!"+f+") break; "),t+=" } } ",l&&(t+=" if ("+f+") { ",p+="}"))}else{(e.opts.strictKeywords?"object"==typeof o&&0 1e-"+e.opts.multipleOfPrecision+" ":" division"+a+" !== parseInt(division"+a+") ",t+=" ) ",u&&(t+=" ) ");var d=d||[];d.push(t+=" ) { "),t="",!1!==e.createErrors?(t+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(n)+" , params: { multipleOf: "+h+" } ",!1!==e.opts.messages&&(t+=" , message: 'should be multiple of ",t+=u?"' + "+h:h+"'"),e.opts.verbose&&(t+=" , schema: ",t+=u?"validate.schema"+i:""+o,t+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),t+=" } "):t+=" {} ";var p=t,t=d.pop();return t+=!e.compositeRule&&l?e.async?" throw new ValidationError(["+p+"]); ":" validate.errors = ["+p+"]; return false; ":" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+="} ",l&&(t+=" else { "),t}},{}],30:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.level,s=e.dataLevel,o=e.schema[r],i=e.schemaPath+e.util.getProperty(r),n=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,c="data"+(s||""),u="errs__"+a,h=e.util.copy(e);h.level++;var d,p,f,m,v="valid"+h.level;return(e.opts.strictKeywords?"object"==typeof o&&0 1) { ",t=e.schema.items&&e.schema.items.type,a=Array.isArray(t),!t||"object"==t||"array"==t||a&&(0<=t.indexOf("object")||0<=t.indexOf("array"))?i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+p+"[i], "+p+"[j])) { "+f+" = false; break outer; } } } ":(i+=" var itemIndices = {}, item; for (;i--;) { var item = "+p+"[i]; ",i+=" if ("+e.util["checkDataType"+(a?"s":"")](t,"item",e.opts.strictNumbers,!0)+") continue; ",a&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+f+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "),i+=" } ",m&&(i+=" } "),(s=s||[]).push(i+=" if (!"+f+") { "),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+u:""+c,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ",o=i,i=s.pop(),i+=!e.compositeRule&&d?e.async?" throw new ValidationError(["+o+"]); ":" validate.errors = ["+o+"]; return false; ":" var err = "+o+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",d&&(i+=" else { ")):d&&(i+=" if (true) { "),i}},{}],38:[function(e,r,t){"use strict";r.exports=function(a,e){var r="",t=!0===a.schema.$async,s=a.util.schemaHasRulesExcept(a.schema,a.RULES.all,"$ref"),o=a.self._getId(a.schema);if(a.opts.strictKeywords){var i=a.util.schemaUnknownRules(a.schema,a.RULES.keywords);if(i){var n="unknown keyword: "+i;if("log"!==a.opts.strictKeywords)throw new Error(n);a.logger.warn(n)}}if(a.isTop&&(r+=" var validate = ",t&&(a.async=!0,r+="async "),r+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",o&&(a.opts.sourceCode||a.opts.processCode)&&(r+=" /*# sourceURL="+o+" */ ")),"boolean"==typeof a.schema||!s&&!a.schema.$ref){var l=a.level,c=a.dataLevel,u=a.schema[e="false schema"],h=a.schemaPath+a.util.getProperty(e),d=a.errSchemaPath+"/"+e,p=!a.opts.allErrors,f="data"+(c||""),m="valid"+l;return!1===a.schema?(a.isTop?p=!0:r+=" var "+m+" = false; ",(U=U||[]).push(r),r="",!1!==a.createErrors?(r+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(d)+" , params: {} ",!1!==a.opts.messages&&(r+=" , message: 'boolean schema is false' "),a.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),r+=" } "):r+=" {} ",D=r,r=U.pop(),r+=!a.compositeRule&&p?a.async?" throw new ValidationError(["+D+"]); ":" validate.errors = ["+D+"]; return false; ":" var err = "+D+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "):r+=a.isTop?t?" return data; ":" validate.errors = null; return true; ":" var "+m+" = true; ",a.isTop&&(r+=" }; return validate; "),r}if(a.isTop){var v=a.isTop,l=a.level=0,c=a.dataLevel=0,f="data";if(a.rootId=a.resolve.fullPath(a.self._getId(a.root.schema)),a.baseId=a.baseId||a.rootId,delete a.isTop,a.dataPathArr=[""],void 0!==a.schema.default&&a.opts.useDefaults&&a.opts.strictDefaults){var y="default is ignored in the schema root";if("log"!==a.opts.strictDefaults)throw new Error(y);a.logger.warn(y)}r+=" var vErrors = null; ",r+=" var errors = 0; ",r+=" if (rootData === undefined) rootData = data; "}else{l=a.level,f="data"+((c=a.dataLevel)||"");if(o&&(a.baseId=a.resolve.url(a.baseId,o)),t&&!a.async)throw new Error("async schema in sync schema");r+=" var errs_"+l+" = errors;"}var g,m="valid"+l,p=!a.opts.allErrors,P="",E="",w=a.schema.type,b=Array.isArray(w);if(w&&a.opts.nullable&&!0===a.schema.nullable&&(b?-1==w.indexOf("null")&&(w=w.concat("null")):"null"!=w&&(w=[w,"null"],b=!0)),b&&1==w.length&&(w=w[0],b=!1),a.schema.$ref&&s){if("fail"==a.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+a.errSchemaPath+'" (see option extendRefs)');!0!==a.opts.extendRefs&&(s=!1,a.logger.warn('$ref: keywords ignored in schema at path "'+a.errSchemaPath+'"'))}if(a.schema.$comment&&a.opts.$comment&&(r+=" "+a.RULES.all.$comment.code(a,"$comment")),w){a.opts.coerceTypes&&(g=a.util.coerceToTypes(a.opts.coerceTypes,w));var S=a.RULES.types[w];if(g||b||!0===S||S&&!Z(S)){h=a.schemaPath+".type",d=a.errSchemaPath+"/type",h=a.schemaPath+".type",d=a.errSchemaPath+"/type";if(r+=" if ("+a.util[b?"checkDataTypes":"checkDataType"](w,f,a.opts.strictNumbers,!0)+") { ",g){var _="dataType"+l,F="coerced"+l;r+=" var "+_+" = typeof "+f+"; var "+F+" = undefined; ","array"==a.opts.coerceTypes&&(r+=" if ("+_+" == 'object' && Array.isArray("+f+") && "+f+".length == 1) { "+f+" = "+f+"[0]; "+_+" = typeof "+f+"; if ("+a.util.checkDataType(a.schema.type,f,a.opts.strictNumbers)+") "+F+" = "+f+"; } "),r+=" if ("+F+" !== undefined) ; ";var x=g;if(x)for(var R,$=-1,j=x.length-1;$= 0x80 (not a basic code point)","invalid-input":"Invalid input"},k=Math.floor,C=String.fromCharCode;function L(e){throw new RangeError(i[e])}function n(e,r){var t=e.split("@"),a="";return 1>1,e+=k(e/r);455k((A-a)/h))&&L("overflow"),a+=p*h;var f=d<=o?1:o+26<=d?26:d-o;if(pk(A/m)&&L("overflow"),h*=m}var v=r.length+1,o=z(a-u,v,0==u);k(a/v)>A-s&&L("overflow"),s+=k(a/v),a%=v,r.splice(a++,0,s)}return String.fromCodePoint.apply(String,r)}function c(e){var r=[],t=(e=N(e)).length,a=128,s=0,o=72,i=!0,n=!1,l=void 0;try{for(var c,u=e[Symbol.iterator]();!(i=(c=u.next()).done);i=!0){var h=c.value;h<128&&r.push(C(h))}}catch(e){n=!0,l=e}finally{try{!i&&u.return&&u.return()}finally{if(n)throw l}}var d=r.length,p=d;for(d&&r.push("-");pk((A-s)/w)&&L("overflow"),s+=(f-a)*w,a=f;var b=!0,S=!1,_=void 0;try{for(var F,x=e[Symbol.iterator]();!(b=(F=x.next()).done);b=!0){var R=F.value;if(RA&&L("overflow"),R==a){for(var $=s,j=36;;j+=36){var D=j<=o?1:o+26<=j?26:j-o;if($>6|192).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase():"%"+(r>>12|224).toString(16).toUpperCase()+"%"+(r>>6&63|128).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase()}function p(e){for(var r="",t=0,a=e.length;tA-Z\\x5E-\\x7E]",'[\\"\\\\]')),Y=new RegExp(K,"g"),W=new RegExp("(?:(?:%[EFef][0-9A-Fa-f]%[0-9A-Fa-f][0-9A-Fa-f]%[0-9A-Fa-f][0-9A-Fa-f])|(?:%[89A-Fa-f][0-9A-Fa-f]%[0-9A-Fa-f][0-9A-Fa-f])|(?:%[0-9A-Fa-f][0-9A-Fa-f]))","g"),X=new RegExp(J("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',G),"g"),ee=new RegExp(J("[^]",K,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),re=ee;function te(e){var r=p(e);return r.match(Y)?r:e}var ae={scheme:"mailto",parse:function(e,r){var t=e,a=t.to=t.path?t.path.split(","):[];if(t.path=void 0,t.query){for(var s=!1,o={},i=t.query.split("&"),n=0,l=i.length;n); + + message: string; + errors: Array; + ajv: true; + validation: true; + } + + class MissingRefError extends Error { + constructor(baseId: string, ref: string, message?: string); + static message: (baseId: string, ref: string) => string; + + message: string; + missingRef: string; + missingSchema: string; + } +} + +declare namespace ajv { + type ValidationError = AjvErrors.ValidationError; + + type MissingRefError = AjvErrors.MissingRefError; + + interface Ajv { + /** + * Validate data using schema + * Schema will be compiled and cached (using serialized JSON as key, [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize by default). + * @param {string|object|Boolean} schemaKeyRef key, ref or schema object + * @param {Any} data to be validated + * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`). + */ + validate(schemaKeyRef: object | string | boolean, data: any): boolean | PromiseLike; + /** + * Create validating function for passed schema. + * @param {object|Boolean} schema schema object + * @return {Function} validating function + */ + compile(schema: object | boolean): ValidateFunction; + /** + * Creates validating function for passed schema with asynchronous loading of missing schemas. + * `loadSchema` option should be a function that accepts schema uri and node-style callback. + * @this Ajv + * @param {object|Boolean} schema schema object + * @param {Boolean} meta optional true to compile meta-schema; this parameter can be skipped + * @param {Function} callback optional node-style callback, it is always called with 2 parameters: error (or null) and validating function. + * @return {PromiseLike} validating function + */ + compileAsync(schema: object | boolean, meta?: Boolean, callback?: (err: Error, validate: ValidateFunction) => any): PromiseLike; + /** + * Adds schema to the instance. + * @param {object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored. + * @param {string} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`. + * @return {Ajv} this for method chaining + */ + addSchema(schema: Array | object, key?: string): Ajv; + /** + * Add schema that will be used to validate other schemas + * options in META_IGNORE_OPTIONS are alway set to false + * @param {object} schema schema object + * @param {string} key optional schema key + * @return {Ajv} this for method chaining + */ + addMetaSchema(schema: object, key?: string): Ajv; + /** + * Validate schema + * @param {object|Boolean} schema schema to validate + * @return {Boolean} true if schema is valid + */ + validateSchema(schema: object | boolean): boolean; + /** + * Get compiled schema from the instance by `key` or `ref`. + * @param {string} keyRef `key` that was passed to `addSchema` or full schema reference (`schema.id` or resolved id). + * @return {Function} schema validating function (with property `schema`). Returns undefined if keyRef can't be resolved to an existing schema. + */ + getSchema(keyRef: string): ValidateFunction | undefined; + /** + * Remove cached schema(s). + * If no parameter is passed all schemas but meta-schemas are removed. + * If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed. + * Even if schema is referenced by other schemas it still can be removed as other schemas have local references. + * @param {string|object|RegExp|Boolean} schemaKeyRef key, ref, pattern to match key/ref or schema object + * @return {Ajv} this for method chaining + */ + removeSchema(schemaKeyRef?: object | string | RegExp | boolean): Ajv; + /** + * Add custom format + * @param {string} name format name + * @param {string|RegExp|Function} format string is converted to RegExp; function should return boolean (true when valid) + * @return {Ajv} this for method chaining + */ + addFormat(name: string, format: FormatValidator | FormatDefinition): Ajv; + /** + * Define custom keyword + * @this Ajv + * @param {string} keyword custom keyword, should be a valid identifier, should be different from all standard, custom and macro keywords. + * @param {object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`. + * @return {Ajv} this for method chaining + */ + addKeyword(keyword: string, definition: KeywordDefinition): Ajv; + /** + * Get keyword definition + * @this Ajv + * @param {string} keyword pre-defined or custom keyword. + * @return {object|Boolean} custom keyword definition, `true` if it is a predefined keyword, `false` otherwise. + */ + getKeyword(keyword: string): object | boolean; + /** + * Remove keyword + * @this Ajv + * @param {string} keyword pre-defined or custom keyword. + * @return {Ajv} this for method chaining + */ + removeKeyword(keyword: string): Ajv; + /** + * Validate keyword + * @this Ajv + * @param {object} definition keyword definition object + * @param {boolean} throwError true to throw exception if definition is invalid + * @return {boolean} validation result + */ + validateKeyword(definition: KeywordDefinition, throwError: boolean): boolean; + /** + * Convert array of error message objects to string + * @param {Array} errors optional array of validation errors, if not passed errors from the instance are used. + * @param {object} options optional options with properties `separator` and `dataVar`. + * @return {string} human readable string with all errors descriptions + */ + errorsText(errors?: Array | null, options?: ErrorsTextOptions): string; + errors?: Array | null; + _opts: Options; + } + + interface CustomLogger { + log(...args: any[]): any; + warn(...args: any[]): any; + error(...args: any[]): any; + } + + interface ValidateFunction { + ( + data: any, + dataPath?: string, + parentData?: object | Array, + parentDataProperty?: string | number, + rootData?: object | Array + ): boolean | PromiseLike; + schema?: object | boolean; + errors?: null | Array; + refs?: object; + refVal?: Array; + root?: ValidateFunction | object; + $async?: true; + source?: object; + } + + interface Options { + $data?: boolean; + allErrors?: boolean; + verbose?: boolean; + jsonPointers?: boolean; + uniqueItems?: boolean; + unicode?: boolean; + format?: false | string; + formats?: object; + keywords?: object; + unknownFormats?: true | string[] | 'ignore'; + schemas?: Array | object; + schemaId?: '$id' | 'id' | 'auto'; + missingRefs?: true | 'ignore' | 'fail'; + extendRefs?: true | 'ignore' | 'fail'; + loadSchema?: (uri: string, cb?: (err: Error, schema: object) => void) => PromiseLike; + removeAdditional?: boolean | 'all' | 'failing'; + useDefaults?: boolean | 'empty' | 'shared'; + coerceTypes?: boolean | 'array'; + strictDefaults?: boolean | 'log'; + strictKeywords?: boolean | 'log'; + strictNumbers?: boolean; + async?: boolean | string; + transpile?: string | ((code: string) => string); + meta?: boolean | object; + validateSchema?: boolean | 'log'; + addUsedSchema?: boolean; + inlineRefs?: boolean | number; + passContext?: boolean; + loopRequired?: number; + ownProperties?: boolean; + multipleOfPrecision?: boolean | number; + errorDataPath?: string, + messages?: boolean; + sourceCode?: boolean; + processCode?: (code: string, schema: object) => string; + cache?: object; + logger?: CustomLogger | false; + nullable?: boolean; + serialize?: ((schema: object | boolean) => any) | false; + } + + type FormatValidator = string | RegExp | ((data: string) => boolean | PromiseLike); + type NumberFormatValidator = ((data: number) => boolean | PromiseLike); + + interface NumberFormatDefinition { + type: "number", + validate: NumberFormatValidator; + compare?: (data1: number, data2: number) => number; + async?: boolean; + } + + interface StringFormatDefinition { + type?: "string", + validate: FormatValidator; + compare?: (data1: string, data2: string) => number; + async?: boolean; + } + + type FormatDefinition = NumberFormatDefinition | StringFormatDefinition; + + interface KeywordDefinition { + type?: string | Array; + async?: boolean; + $data?: boolean; + errors?: boolean | string; + metaSchema?: object; + // schema: false makes validate not to expect schema (ValidateFunction) + schema?: boolean; + statements?: boolean; + dependencies?: Array; + modifying?: boolean; + valid?: boolean; + // one and only one of the following properties should be present + validate?: SchemaValidateFunction | ValidateFunction; + compile?: (schema: any, parentSchema: object, it: CompilationContext) => ValidateFunction; + macro?: (schema: any, parentSchema: object, it: CompilationContext) => object | boolean; + inline?: (it: CompilationContext, keyword: string, schema: any, parentSchema: object) => string; + } + + interface CompilationContext { + level: number; + dataLevel: number; + dataPathArr: string[]; + schema: any; + schemaPath: string; + baseId: string; + async: boolean; + opts: Options; + formats: { + [index: string]: FormatDefinition | undefined; + }; + keywords: { + [index: string]: KeywordDefinition | undefined; + }; + compositeRule: boolean; + validate: (schema: object) => boolean; + util: { + copy(obj: any, target?: any): any; + toHash(source: string[]): { [index: string]: true | undefined }; + equal(obj: any, target: any): boolean; + getProperty(str: string): string; + schemaHasRules(schema: object, rules: any): string; + escapeQuotes(str: string): string; + toQuotedString(str: string): string; + getData(jsonPointer: string, dataLevel: number, paths: string[]): string; + escapeJsonPointer(str: string): string; + unescapeJsonPointer(str: string): string; + escapeFragment(str: string): string; + unescapeFragment(str: string): string; + }; + self: Ajv; + } + + interface SchemaValidateFunction { + ( + schema: any, + data: any, + parentSchema?: object, + dataPath?: string, + parentData?: object | Array, + parentDataProperty?: string | number, + rootData?: object | Array + ): boolean | PromiseLike; + errors?: Array; + } + + interface ErrorsTextOptions { + separator?: string; + dataVar?: string; + } + + interface ErrorObject { + keyword: string; + dataPath: string; + schemaPath: string; + params: ErrorParameters; + // Added to validation errors of propertyNames keyword schema + propertyName?: string; + // Excluded if messages set to false. + message?: string; + // These are added with the `verbose` option. + schema?: any; + parentSchema?: object; + data?: any; + } + + type ErrorParameters = RefParams | LimitParams | AdditionalPropertiesParams | + DependenciesParams | FormatParams | ComparisonParams | + MultipleOfParams | PatternParams | RequiredParams | + TypeParams | UniqueItemsParams | CustomParams | + PatternRequiredParams | PropertyNamesParams | + IfParams | SwitchParams | NoParams | EnumParams; + + interface RefParams { + ref: string; + } + + interface LimitParams { + limit: number; + } + + interface AdditionalPropertiesParams { + additionalProperty: string; + } + + interface DependenciesParams { + property: string; + missingProperty: string; + depsCount: number; + deps: string; + } + + interface FormatParams { + format: string + } + + interface ComparisonParams { + comparison: string; + limit: number | string; + exclusive: boolean; + } + + interface MultipleOfParams { + multipleOf: number; + } + + interface PatternParams { + pattern: string; + } + + interface RequiredParams { + missingProperty: string; + } + + interface TypeParams { + type: string; + } + + interface UniqueItemsParams { + i: number; + j: number; + } + + interface CustomParams { + keyword: string; + } + + interface PatternRequiredParams { + missingPattern: string; + } + + interface PropertyNamesParams { + propertyName: string; + } + + interface IfParams { + failingKeyword: string; + } + + interface SwitchParams { + caseIndex: number; + } + + interface NoParams { } + + interface EnumParams { + allowedValues: Array; + } +} + +export = ajv; diff --git a/node_modules/ajv/lib/ajv.js b/node_modules/ajv/lib/ajv.js new file mode 100644 index 00000000..06a45b65 --- /dev/null +++ b/node_modules/ajv/lib/ajv.js @@ -0,0 +1,506 @@ +'use strict'; + +var compileSchema = require('./compile') + , resolve = require('./compile/resolve') + , Cache = require('./cache') + , SchemaObject = require('./compile/schema_obj') + , stableStringify = require('fast-json-stable-stringify') + , formats = require('./compile/formats') + , rules = require('./compile/rules') + , $dataMetaSchema = require('./data') + , util = require('./compile/util'); + +module.exports = Ajv; + +Ajv.prototype.validate = validate; +Ajv.prototype.compile = compile; +Ajv.prototype.addSchema = addSchema; +Ajv.prototype.addMetaSchema = addMetaSchema; +Ajv.prototype.validateSchema = validateSchema; +Ajv.prototype.getSchema = getSchema; +Ajv.prototype.removeSchema = removeSchema; +Ajv.prototype.addFormat = addFormat; +Ajv.prototype.errorsText = errorsText; + +Ajv.prototype._addSchema = _addSchema; +Ajv.prototype._compile = _compile; + +Ajv.prototype.compileAsync = require('./compile/async'); +var customKeyword = require('./keyword'); +Ajv.prototype.addKeyword = customKeyword.add; +Ajv.prototype.getKeyword = customKeyword.get; +Ajv.prototype.removeKeyword = customKeyword.remove; +Ajv.prototype.validateKeyword = customKeyword.validate; + +var errorClasses = require('./compile/error_classes'); +Ajv.ValidationError = errorClasses.Validation; +Ajv.MissingRefError = errorClasses.MissingRef; +Ajv.$dataMetaSchema = $dataMetaSchema; + +var META_SCHEMA_ID = 'http://json-schema.org/draft-07/schema'; + +var META_IGNORE_OPTIONS = [ 'removeAdditional', 'useDefaults', 'coerceTypes', 'strictDefaults' ]; +var META_SUPPORT_DATA = ['/properties']; + +/** + * Creates validator instance. + * Usage: `Ajv(opts)` + * @param {Object} opts optional options + * @return {Object} ajv instance + */ +function Ajv(opts) { + if (!(this instanceof Ajv)) return new Ajv(opts); + opts = this._opts = util.copy(opts) || {}; + setLogger(this); + this._schemas = {}; + this._refs = {}; + this._fragments = {}; + this._formats = formats(opts.format); + + this._cache = opts.cache || new Cache; + this._loadingSchemas = {}; + this._compilations = []; + this.RULES = rules(); + this._getId = chooseGetId(opts); + + opts.loopRequired = opts.loopRequired || Infinity; + if (opts.errorDataPath == 'property') opts._errorDataPathProperty = true; + if (opts.serialize === undefined) opts.serialize = stableStringify; + this._metaOpts = getMetaSchemaOptions(this); + + if (opts.formats) addInitialFormats(this); + if (opts.keywords) addInitialKeywords(this); + addDefaultMetaSchema(this); + if (typeof opts.meta == 'object') this.addMetaSchema(opts.meta); + if (opts.nullable) this.addKeyword('nullable', {metaSchema: {type: 'boolean'}}); + addInitialSchemas(this); +} + + + +/** + * Validate data using schema + * Schema will be compiled and cached (using serialized JSON as key. [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize. + * @this Ajv + * @param {String|Object} schemaKeyRef key, ref or schema object + * @param {Any} data to be validated + * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`). + */ +function validate(schemaKeyRef, data) { + var v; + if (typeof schemaKeyRef == 'string') { + v = this.getSchema(schemaKeyRef); + if (!v) throw new Error('no schema with key or ref "' + schemaKeyRef + '"'); + } else { + var schemaObj = this._addSchema(schemaKeyRef); + v = schemaObj.validate || this._compile(schemaObj); + } + + var valid = v(data); + if (v.$async !== true) this.errors = v.errors; + return valid; +} + + +/** + * Create validating function for passed schema. + * @this Ajv + * @param {Object} schema schema object + * @param {Boolean} _meta true if schema is a meta-schema. Used internally to compile meta schemas of custom keywords. + * @return {Function} validating function + */ +function compile(schema, _meta) { + var schemaObj = this._addSchema(schema, undefined, _meta); + return schemaObj.validate || this._compile(schemaObj); +} + + +/** + * Adds schema to the instance. + * @this Ajv + * @param {Object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored. + * @param {String} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`. + * @param {Boolean} _skipValidation true to skip schema validation. Used internally, option validateSchema should be used instead. + * @param {Boolean} _meta true if schema is a meta-schema. Used internally, addMetaSchema should be used instead. + * @return {Ajv} this for method chaining + */ +function addSchema(schema, key, _skipValidation, _meta) { + if (Array.isArray(schema)){ + for (var i=0; i} errors optional array of validation errors, if not passed errors from the instance are used. + * @param {Object} options optional options with properties `separator` and `dataVar`. + * @return {String} human readable string with all errors descriptions + */ +function errorsText(errors, options) { + errors = errors || this.errors; + if (!errors) return 'No errors'; + options = options || {}; + var separator = options.separator === undefined ? ', ' : options.separator; + var dataVar = options.dataVar === undefined ? 'data' : options.dataVar; + + var text = ''; + for (var i=0; i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i; +// For the source: https://gist.github.com/dperini/729294 +// For test cases: https://mathiasbynens.be/demo/url-regex +// @todo Delete current URL in favour of the commented out URL rule when this issue is fixed https://github.com/eslint/eslint/issues/7983. +// var URL = /^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu; +var URL = /^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i; +var UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i; +var JSON_POINTER = /^(?:\/(?:[^~/]|~0|~1)*)*$/; +var JSON_POINTER_URI_FRAGMENT = /^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i; +var RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/; + + +module.exports = formats; + +function formats(mode) { + mode = mode == 'full' ? 'full' : 'fast'; + return util.copy(formats[mode]); +} + + +formats.fast = { + // date: http://tools.ietf.org/html/rfc3339#section-5.6 + date: /^\d\d\d\d-[0-1]\d-[0-3]\d$/, + // date-time: http://tools.ietf.org/html/rfc3339#section-5.6 + time: /^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i, + 'date-time': /^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i, + // uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js + uri: /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i, + 'uri-reference': /^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i, + 'uri-template': URITEMPLATE, + url: URL, + // email (sources from jsen validator): + // http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363 + // http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation') + email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i, + hostname: HOSTNAME, + // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html + ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, + // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses + ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, + regex: regex, + // uuid: http://tools.ietf.org/html/rfc4122 + uuid: UUID, + // JSON-pointer: https://tools.ietf.org/html/rfc6901 + // uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A + 'json-pointer': JSON_POINTER, + 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT, + // relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00 + 'relative-json-pointer': RELATIVE_JSON_POINTER +}; + + +formats.full = { + date: date, + time: time, + 'date-time': date_time, + uri: uri, + 'uri-reference': URIREF, + 'uri-template': URITEMPLATE, + url: URL, + email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i, + hostname: HOSTNAME, + ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, + ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, + regex: regex, + uuid: UUID, + 'json-pointer': JSON_POINTER, + 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT, + 'relative-json-pointer': RELATIVE_JSON_POINTER +}; + + +function isLeapYear(year) { + // https://tools.ietf.org/html/rfc3339#appendix-C + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); +} + + +function date(str) { + // full-date from http://tools.ietf.org/html/rfc3339#section-5.6 + var matches = str.match(DATE); + if (!matches) return false; + + var year = +matches[1]; + var month = +matches[2]; + var day = +matches[3]; + + return month >= 1 && month <= 12 && day >= 1 && + day <= (month == 2 && isLeapYear(year) ? 29 : DAYS[month]); +} + + +function time(str, full) { + var matches = str.match(TIME); + if (!matches) return false; + + var hour = matches[1]; + var minute = matches[2]; + var second = matches[3]; + var timeZone = matches[5]; + return ((hour <= 23 && minute <= 59 && second <= 59) || + (hour == 23 && minute == 59 && second == 60)) && + (!full || timeZone); +} + + +var DATE_TIME_SEPARATOR = /t|\s/i; +function date_time(str) { + // http://tools.ietf.org/html/rfc3339#section-5.6 + var dateTime = str.split(DATE_TIME_SEPARATOR); + return dateTime.length == 2 && date(dateTime[0]) && time(dateTime[1], true); +} + + +var NOT_URI_FRAGMENT = /\/|:/; +function uri(str) { + // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required "." + return NOT_URI_FRAGMENT.test(str) && URI.test(str); +} + + +var Z_ANCHOR = /[^\\]\\Z/; +function regex(str) { + if (Z_ANCHOR.test(str)) return false; + try { + new RegExp(str); + return true; + } catch(e) { + return false; + } +} diff --git a/node_modules/ajv/lib/compile/index.js b/node_modules/ajv/lib/compile/index.js new file mode 100644 index 00000000..97518c42 --- /dev/null +++ b/node_modules/ajv/lib/compile/index.js @@ -0,0 +1,387 @@ +'use strict'; + +var resolve = require('./resolve') + , util = require('./util') + , errorClasses = require('./error_classes') + , stableStringify = require('fast-json-stable-stringify'); + +var validateGenerator = require('../dotjs/validate'); + +/** + * Functions below are used inside compiled validations function + */ + +var ucs2length = util.ucs2length; +var equal = require('fast-deep-equal'); + +// this error is thrown by async schemas to return validation errors via exception +var ValidationError = errorClasses.Validation; + +module.exports = compile; + + +/** + * Compiles schema to validation function + * @this Ajv + * @param {Object} schema schema object + * @param {Object} root object with information about the root schema for this schema + * @param {Object} localRefs the hash of local references inside the schema (created by resolve.id), used for inline resolution + * @param {String} baseId base ID for IDs in the schema + * @return {Function} validation function + */ +function compile(schema, root, localRefs, baseId) { + /* jshint validthis: true, evil: true */ + /* eslint no-shadow: 0 */ + var self = this + , opts = this._opts + , refVal = [ undefined ] + , refs = {} + , patterns = [] + , patternsHash = {} + , defaults = [] + , defaultsHash = {} + , customRules = []; + + root = root || { schema: schema, refVal: refVal, refs: refs }; + + var c = checkCompiling.call(this, schema, root, baseId); + var compilation = this._compilations[c.index]; + if (c.compiling) return (compilation.callValidate = callValidate); + + var formats = this._formats; + var RULES = this.RULES; + + try { + var v = localCompile(schema, root, localRefs, baseId); + compilation.validate = v; + var cv = compilation.callValidate; + if (cv) { + cv.schema = v.schema; + cv.errors = null; + cv.refs = v.refs; + cv.refVal = v.refVal; + cv.root = v.root; + cv.$async = v.$async; + if (opts.sourceCode) cv.source = v.source; + } + return v; + } finally { + endCompiling.call(this, schema, root, baseId); + } + + /* @this {*} - custom context, see passContext option */ + function callValidate() { + /* jshint validthis: true */ + var validate = compilation.validate; + var result = validate.apply(this, arguments); + callValidate.errors = validate.errors; + return result; + } + + function localCompile(_schema, _root, localRefs, baseId) { + var isRoot = !_root || (_root && _root.schema == _schema); + if (_root.schema != root.schema) + return compile.call(self, _schema, _root, localRefs, baseId); + + var $async = _schema.$async === true; + + var sourceCode = validateGenerator({ + isTop: true, + schema: _schema, + isRoot: isRoot, + baseId: baseId, + root: _root, + schemaPath: '', + errSchemaPath: '#', + errorPath: '""', + MissingRefError: errorClasses.MissingRef, + RULES: RULES, + validate: validateGenerator, + util: util, + resolve: resolve, + resolveRef: resolveRef, + usePattern: usePattern, + useDefault: useDefault, + useCustomRule: useCustomRule, + opts: opts, + formats: formats, + logger: self.logger, + self: self + }); + + sourceCode = vars(refVal, refValCode) + vars(patterns, patternCode) + + vars(defaults, defaultCode) + vars(customRules, customRuleCode) + + sourceCode; + + if (opts.processCode) sourceCode = opts.processCode(sourceCode, _schema); + // console.log('\n\n\n *** \n', JSON.stringify(sourceCode)); + var validate; + try { + var makeValidate = new Function( + 'self', + 'RULES', + 'formats', + 'root', + 'refVal', + 'defaults', + 'customRules', + 'equal', + 'ucs2length', + 'ValidationError', + sourceCode + ); + + validate = makeValidate( + self, + RULES, + formats, + root, + refVal, + defaults, + customRules, + equal, + ucs2length, + ValidationError + ); + + refVal[0] = validate; + } catch(e) { + self.logger.error('Error compiling schema, function code:', sourceCode); + throw e; + } + + validate.schema = _schema; + validate.errors = null; + validate.refs = refs; + validate.refVal = refVal; + validate.root = isRoot ? validate : _root; + if ($async) validate.$async = true; + if (opts.sourceCode === true) { + validate.source = { + code: sourceCode, + patterns: patterns, + defaults: defaults + }; + } + + return validate; + } + + function resolveRef(baseId, ref, isRoot) { + ref = resolve.url(baseId, ref); + var refIndex = refs[ref]; + var _refVal, refCode; + if (refIndex !== undefined) { + _refVal = refVal[refIndex]; + refCode = 'refVal[' + refIndex + ']'; + return resolvedRef(_refVal, refCode); + } + if (!isRoot && root.refs) { + var rootRefId = root.refs[ref]; + if (rootRefId !== undefined) { + _refVal = root.refVal[rootRefId]; + refCode = addLocalRef(ref, _refVal); + return resolvedRef(_refVal, refCode); + } + } + + refCode = addLocalRef(ref); + var v = resolve.call(self, localCompile, root, ref); + if (v === undefined) { + var localSchema = localRefs && localRefs[ref]; + if (localSchema) { + v = resolve.inlineRef(localSchema, opts.inlineRefs) + ? localSchema + : compile.call(self, localSchema, root, localRefs, baseId); + } + } + + if (v === undefined) { + removeLocalRef(ref); + } else { + replaceLocalRef(ref, v); + return resolvedRef(v, refCode); + } + } + + function addLocalRef(ref, v) { + var refId = refVal.length; + refVal[refId] = v; + refs[ref] = refId; + return 'refVal' + refId; + } + + function removeLocalRef(ref) { + delete refs[ref]; + } + + function replaceLocalRef(ref, v) { + var refId = refs[ref]; + refVal[refId] = v; + } + + function resolvedRef(refVal, code) { + return typeof refVal == 'object' || typeof refVal == 'boolean' + ? { code: code, schema: refVal, inline: true } + : { code: code, $async: refVal && !!refVal.$async }; + } + + function usePattern(regexStr) { + var index = patternsHash[regexStr]; + if (index === undefined) { + index = patternsHash[regexStr] = patterns.length; + patterns[index] = regexStr; + } + return 'pattern' + index; + } + + function useDefault(value) { + switch (typeof value) { + case 'boolean': + case 'number': + return '' + value; + case 'string': + return util.toQuotedString(value); + case 'object': + if (value === null) return 'null'; + var valueStr = stableStringify(value); + var index = defaultsHash[valueStr]; + if (index === undefined) { + index = defaultsHash[valueStr] = defaults.length; + defaults[index] = value; + } + return 'default' + index; + } + } + + function useCustomRule(rule, schema, parentSchema, it) { + if (self._opts.validateSchema !== false) { + var deps = rule.definition.dependencies; + if (deps && !deps.every(function(keyword) { + return Object.prototype.hasOwnProperty.call(parentSchema, keyword); + })) + throw new Error('parent schema must have all required keywords: ' + deps.join(',')); + + var validateSchema = rule.definition.validateSchema; + if (validateSchema) { + var valid = validateSchema(schema); + if (!valid) { + var message = 'keyword schema is invalid: ' + self.errorsText(validateSchema.errors); + if (self._opts.validateSchema == 'log') self.logger.error(message); + else throw new Error(message); + } + } + } + + var compile = rule.definition.compile + , inline = rule.definition.inline + , macro = rule.definition.macro; + + var validate; + if (compile) { + validate = compile.call(self, schema, parentSchema, it); + } else if (macro) { + validate = macro.call(self, schema, parentSchema, it); + if (opts.validateSchema !== false) self.validateSchema(validate, true); + } else if (inline) { + validate = inline.call(self, it, rule.keyword, schema, parentSchema); + } else { + validate = rule.definition.validate; + if (!validate) return; + } + + if (validate === undefined) + throw new Error('custom keyword "' + rule.keyword + '"failed to compile'); + + var index = customRules.length; + customRules[index] = validate; + + return { + code: 'customRule' + index, + validate: validate + }; + } +} + + +/** + * Checks if the schema is currently compiled + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + * @return {Object} object with properties "index" (compilation index) and "compiling" (boolean) + */ +function checkCompiling(schema, root, baseId) { + /* jshint validthis: true */ + var index = compIndex.call(this, schema, root, baseId); + if (index >= 0) return { index: index, compiling: true }; + index = this._compilations.length; + this._compilations[index] = { + schema: schema, + root: root, + baseId: baseId + }; + return { index: index, compiling: false }; +} + + +/** + * Removes the schema from the currently compiled list + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + */ +function endCompiling(schema, root, baseId) { + /* jshint validthis: true */ + var i = compIndex.call(this, schema, root, baseId); + if (i >= 0) this._compilations.splice(i, 1); +} + + +/** + * Index of schema compilation in the currently compiled list + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + * @return {Integer} compilation index + */ +function compIndex(schema, root, baseId) { + /* jshint validthis: true */ + for (var i=0; i= 0xD800 && value <= 0xDBFF && pos < len) { + // high surrogate, and there is a next character + value = str.charCodeAt(pos); + if ((value & 0xFC00) == 0xDC00) pos++; // low surrogate + } + } + return length; +}; diff --git a/node_modules/ajv/lib/compile/util.js b/node_modules/ajv/lib/compile/util.js new file mode 100644 index 00000000..ef07b8c7 --- /dev/null +++ b/node_modules/ajv/lib/compile/util.js @@ -0,0 +1,239 @@ +'use strict'; + + +module.exports = { + copy: copy, + checkDataType: checkDataType, + checkDataTypes: checkDataTypes, + coerceToTypes: coerceToTypes, + toHash: toHash, + getProperty: getProperty, + escapeQuotes: escapeQuotes, + equal: require('fast-deep-equal'), + ucs2length: require('./ucs2length'), + varOccurences: varOccurences, + varReplace: varReplace, + schemaHasRules: schemaHasRules, + schemaHasRulesExcept: schemaHasRulesExcept, + schemaUnknownRules: schemaUnknownRules, + toQuotedString: toQuotedString, + getPathExpr: getPathExpr, + getPath: getPath, + getData: getData, + unescapeFragment: unescapeFragment, + unescapeJsonPointer: unescapeJsonPointer, + escapeFragment: escapeFragment, + escapeJsonPointer: escapeJsonPointer +}; + + +function copy(o, to) { + to = to || {}; + for (var key in o) to[key] = o[key]; + return to; +} + + +function checkDataType(dataType, data, strictNumbers, negate) { + var EQUAL = negate ? ' !== ' : ' === ' + , AND = negate ? ' || ' : ' && ' + , OK = negate ? '!' : '' + , NOT = negate ? '' : '!'; + switch (dataType) { + case 'null': return data + EQUAL + 'null'; + case 'array': return OK + 'Array.isArray(' + data + ')'; + case 'object': return '(' + OK + data + AND + + 'typeof ' + data + EQUAL + '"object"' + AND + + NOT + 'Array.isArray(' + data + '))'; + case 'integer': return '(typeof ' + data + EQUAL + '"number"' + AND + + NOT + '(' + data + ' % 1)' + + AND + data + EQUAL + data + + (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')'; + case 'number': return '(typeof ' + data + EQUAL + '"' + dataType + '"' + + (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')'; + default: return 'typeof ' + data + EQUAL + '"' + dataType + '"'; + } +} + + +function checkDataTypes(dataTypes, data, strictNumbers) { + switch (dataTypes.length) { + case 1: return checkDataType(dataTypes[0], data, strictNumbers, true); + default: + var code = ''; + var types = toHash(dataTypes); + if (types.array && types.object) { + code = types.null ? '(': '(!' + data + ' || '; + code += 'typeof ' + data + ' !== "object")'; + delete types.null; + delete types.array; + delete types.object; + } + if (types.number) delete types.integer; + for (var t in types) + code += (code ? ' && ' : '' ) + checkDataType(t, data, strictNumbers, true); + + return code; + } +} + + +var COERCE_TO_TYPES = toHash([ 'string', 'number', 'integer', 'boolean', 'null' ]); +function coerceToTypes(optionCoerceTypes, dataTypes) { + if (Array.isArray(dataTypes)) { + var types = []; + for (var i=0; i= lvl) throw new Error('Cannot access property/index ' + up + ' levels up, current level is ' + lvl); + return paths[lvl - up]; + } + + if (up > lvl) throw new Error('Cannot access data ' + up + ' levels up, current level is ' + lvl); + data = 'data' + ((lvl - up) || ''); + if (!jsonPointer) return data; + } + + var expr = data; + var segments = jsonPointer.split('/'); + for (var i=0; i' + , $notOp = $isMax ? '>' : '<' + , $errorKeyword = undefined; + + if (!($isData || typeof $schema == 'number' || $schema === undefined)) { + throw new Error($keyword + ' must be number'); + } + if (!($isDataExcl || $schemaExcl === undefined + || typeof $schemaExcl == 'number' + || typeof $schemaExcl == 'boolean')) { + throw new Error($exclusiveKeyword + ' must be number or boolean'); + } +}} + +{{? $isDataExcl }} + {{ + var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr) + , $exclusive = 'exclusive' + $lvl + , $exclType = 'exclType' + $lvl + , $exclIsNumber = 'exclIsNumber' + $lvl + , $opExpr = 'op' + $lvl + , $opStr = '\' + ' + $opExpr + ' + \''; + }} + var schemaExcl{{=$lvl}} = {{=$schemaValueExcl}}; + {{ $schemaValueExcl = 'schemaExcl' + $lvl; }} + + var {{=$exclusive}}; + var {{=$exclType}} = typeof {{=$schemaValueExcl}}; + if ({{=$exclType}} != 'boolean' && {{=$exclType}} != 'undefined' && {{=$exclType}} != 'number') { + {{ var $errorKeyword = $exclusiveKeyword; }} + {{# def.error:'_exclusiveLimit' }} + } else if ({{# def.$dataNotType:'number' }} + {{=$exclType}} == 'number' + ? ( + ({{=$exclusive}} = {{=$schemaValue}} === undefined || {{=$schemaValueExcl}} {{=$op}}= {{=$schemaValue}}) + ? {{=$data}} {{=$notOp}}= {{=$schemaValueExcl}} + : {{=$data}} {{=$notOp}} {{=$schemaValue}} + ) + : ( + ({{=$exclusive}} = {{=$schemaValueExcl}} === true) + ? {{=$data}} {{=$notOp}}= {{=$schemaValue}} + : {{=$data}} {{=$notOp}} {{=$schemaValue}} + ) + || {{=$data}} !== {{=$data}}) { + var op{{=$lvl}} = {{=$exclusive}} ? '{{=$op}}' : '{{=$op}}='; + {{ + if ($schema === undefined) { + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $schemaValue = $schemaValueExcl; + $isData = $isDataExcl; + } + }} +{{??}} + {{ + var $exclIsNumber = typeof $schemaExcl == 'number' + , $opStr = $op; /*used in error*/ + }} + + {{? $exclIsNumber && $isData }} + {{ var $opExpr = '\'' + $opStr + '\''; /*used in error*/ }} + if ({{# def.$dataNotType:'number' }} + ( {{=$schemaValue}} === undefined + || {{=$schemaExcl}} {{=$op}}= {{=$schemaValue}} + ? {{=$data}} {{=$notOp}}= {{=$schemaExcl}} + : {{=$data}} {{=$notOp}} {{=$schemaValue}} ) + || {{=$data}} !== {{=$data}}) { + {{??}} + {{ + if ($exclIsNumber && $schema === undefined) { + {{# def.setExclusiveLimit }} + $schemaValue = $schemaExcl; + $notOp += '='; + } else { + if ($exclIsNumber) + $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema); + + if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) { + {{# def.setExclusiveLimit }} + $notOp += '='; + } else { + $exclusive = false; + $opStr += '='; + } + } + + var $opExpr = '\'' + $opStr + '\''; /*used in error*/ + }} + + if ({{# def.$dataNotType:'number' }} + {{=$data}} {{=$notOp}} {{=$schemaValue}} + || {{=$data}} !== {{=$data}}) { + {{?}} +{{?}} + {{ $errorKeyword = $errorKeyword || $keyword; }} + {{# def.error:'_limit' }} + } {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/_limitItems.jst b/node_modules/ajv/lib/dot/_limitItems.jst new file mode 100644 index 00000000..741329e7 --- /dev/null +++ b/node_modules/ajv/lib/dot/_limitItems.jst @@ -0,0 +1,12 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{# def.numberKeyword }} + +{{ var $op = $keyword == 'maxItems' ? '>' : '<'; }} +if ({{# def.$dataNotType:'number' }} {{=$data}}.length {{=$op}} {{=$schemaValue}}) { + {{ var $errorKeyword = $keyword; }} + {{# def.error:'_limitItems' }} +} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/_limitLength.jst b/node_modules/ajv/lib/dot/_limitLength.jst new file mode 100644 index 00000000..285c66bd --- /dev/null +++ b/node_modules/ajv/lib/dot/_limitLength.jst @@ -0,0 +1,12 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{# def.numberKeyword }} + +{{ var $op = $keyword == 'maxLength' ? '>' : '<'; }} +if ({{# def.$dataNotType:'number' }} {{# def.strLength }} {{=$op}} {{=$schemaValue}}) { + {{ var $errorKeyword = $keyword; }} + {{# def.error:'_limitLength' }} +} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/_limitProperties.jst b/node_modules/ajv/lib/dot/_limitProperties.jst new file mode 100644 index 00000000..c4c21551 --- /dev/null +++ b/node_modules/ajv/lib/dot/_limitProperties.jst @@ -0,0 +1,12 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{# def.numberKeyword }} + +{{ var $op = $keyword == 'maxProperties' ? '>' : '<'; }} +if ({{# def.$dataNotType:'number' }} Object.keys({{=$data}}).length {{=$op}} {{=$schemaValue}}) { + {{ var $errorKeyword = $keyword; }} + {{# def.error:'_limitProperties' }} +} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/allOf.jst b/node_modules/ajv/lib/dot/allOf.jst new file mode 100644 index 00000000..0e782fe9 --- /dev/null +++ b/node_modules/ajv/lib/dot/allOf.jst @@ -0,0 +1,32 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + +{{ + var $currentBaseId = $it.baseId + , $allSchemasEmpty = true; +}} + +{{~ $schema:$sch:$i }} + {{? {{# def.nonEmptySchema:$sch }} }} + {{ + $allSchemasEmpty = false; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + }} + + {{# def.insertSubschemaCode }} + + {{# def.ifResultValid }} + {{?}} +{{~}} + +{{? $breakOnError }} + {{? $allSchemasEmpty }} + if (true) { + {{??}} + {{= $closingBraces.slice(0,-1) }} + {{?}} +{{?}} diff --git a/node_modules/ajv/lib/dot/anyOf.jst b/node_modules/ajv/lib/dot/anyOf.jst new file mode 100644 index 00000000..ea909ee6 --- /dev/null +++ b/node_modules/ajv/lib/dot/anyOf.jst @@ -0,0 +1,46 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + +{{ + var $noEmptySchema = $schema.every(function($sch) { + return {{# def.nonEmptySchema:$sch }}; + }); +}} +{{? $noEmptySchema }} + {{ var $currentBaseId = $it.baseId; }} + var {{=$errs}} = errors; + var {{=$valid}} = false; + + {{# def.setCompositeRule }} + + {{~ $schema:$sch:$i }} + {{ + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + }} + + {{# def.insertSubschemaCode }} + + {{=$valid}} = {{=$valid}} || {{=$nextValid}}; + + if (!{{=$valid}}) { + {{ $closingBraces += '}'; }} + {{~}} + + {{# def.resetCompositeRule }} + + {{= $closingBraces }} + + if (!{{=$valid}}) { + {{# def.extraError:'anyOf' }} + } else { + {{# def.resetErrors }} + {{? it.opts.allErrors }} } {{?}} +{{??}} + {{? $breakOnError }} + if (true) { + {{?}} +{{?}} diff --git a/node_modules/ajv/lib/dot/coerce.def b/node_modules/ajv/lib/dot/coerce.def new file mode 100644 index 00000000..c947ed6a --- /dev/null +++ b/node_modules/ajv/lib/dot/coerce.def @@ -0,0 +1,51 @@ +{{## def.coerceType: + {{ + var $dataType = 'dataType' + $lvl + , $coerced = 'coerced' + $lvl; + }} + var {{=$dataType}} = typeof {{=$data}}; + var {{=$coerced}} = undefined; + + {{? it.opts.coerceTypes == 'array' }} + if ({{=$dataType}} == 'object' && Array.isArray({{=$data}}) && {{=$data}}.length == 1) { + {{=$data}} = {{=$data}}[0]; + {{=$dataType}} = typeof {{=$data}}; + if ({{=it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers)}}) {{=$coerced}} = {{=$data}}; + } + {{?}} + + if ({{=$coerced}} !== undefined) ; + {{~ $coerceToTypes:$type:$i }} + {{? $type == 'string' }} + else if ({{=$dataType}} == 'number' || {{=$dataType}} == 'boolean') + {{=$coerced}} = '' + {{=$data}}; + else if ({{=$data}} === null) {{=$coerced}} = ''; + {{?? $type == 'number' || $type == 'integer' }} + else if ({{=$dataType}} == 'boolean' || {{=$data}} === null + || ({{=$dataType}} == 'string' && {{=$data}} && {{=$data}} == +{{=$data}} + {{? $type == 'integer' }} && !({{=$data}} % 1){{?}})) + {{=$coerced}} = +{{=$data}}; + {{?? $type == 'boolean' }} + else if ({{=$data}} === 'false' || {{=$data}} === 0 || {{=$data}} === null) + {{=$coerced}} = false; + else if ({{=$data}} === 'true' || {{=$data}} === 1) + {{=$coerced}} = true; + {{?? $type == 'null' }} + else if ({{=$data}} === '' || {{=$data}} === 0 || {{=$data}} === false) + {{=$coerced}} = null; + {{?? it.opts.coerceTypes == 'array' && $type == 'array' }} + else if ({{=$dataType}} == 'string' || {{=$dataType}} == 'number' || {{=$dataType}} == 'boolean' || {{=$data}} == null) + {{=$coerced}} = [{{=$data}}]; + {{?}} + {{~}} + else { + {{# def.error:'type' }} + } + + if ({{=$coerced}} !== undefined) { + {{# def.setParentData }} + {{=$data}} = {{=$coerced}}; + {{? !$dataLvl }}if ({{=$parentData}} !== undefined){{?}} + {{=$parentData}}[{{=$parentDataProperty}}] = {{=$coerced}}; + } +#}} diff --git a/node_modules/ajv/lib/dot/comment.jst b/node_modules/ajv/lib/dot/comment.jst new file mode 100644 index 00000000..f9591503 --- /dev/null +++ b/node_modules/ajv/lib/dot/comment.jst @@ -0,0 +1,9 @@ +{{# def.definitions }} +{{# def.setupKeyword }} + +{{ var $comment = it.util.toQuotedString($schema); }} +{{? it.opts.$comment === true }} + console.log({{=$comment}}); +{{?? typeof it.opts.$comment == 'function' }} + self._opts.$comment({{=$comment}}, {{=it.util.toQuotedString($errSchemaPath)}}, validate.root.schema); +{{?}} diff --git a/node_modules/ajv/lib/dot/const.jst b/node_modules/ajv/lib/dot/const.jst new file mode 100644 index 00000000..2aa22980 --- /dev/null +++ b/node_modules/ajv/lib/dot/const.jst @@ -0,0 +1,11 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{? !$isData }} + var schema{{=$lvl}} = validate.schema{{=$schemaPath}}; +{{?}} +var {{=$valid}} = equal({{=$data}}, schema{{=$lvl}}); +{{# def.checkError:'const' }} +{{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/contains.jst b/node_modules/ajv/lib/dot/contains.jst new file mode 100644 index 00000000..4dc99674 --- /dev/null +++ b/node_modules/ajv/lib/dot/contains.jst @@ -0,0 +1,55 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + + +{{ + var $idx = 'i' + $lvl + , $dataNxt = $it.dataLevel = it.dataLevel + 1 + , $nextData = 'data' + $dataNxt + , $currentBaseId = it.baseId + , $nonEmptySchema = {{# def.nonEmptySchema:$schema }}; +}} + +var {{=$errs}} = errors; +var {{=$valid}}; + +{{? $nonEmptySchema }} + {{# def.setCompositeRule }} + + {{ + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + }} + + var {{=$nextValid}} = false; + + for (var {{=$idx}} = 0; {{=$idx}} < {{=$data}}.length; {{=$idx}}++) { + {{ + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + }} + + {{# def.generateSubschemaCode }} + {{# def.optimizeValidate }} + + if ({{=$nextValid}}) break; + } + + {{# def.resetCompositeRule }} + {{= $closingBraces }} + + if (!{{=$nextValid}}) { +{{??}} + if ({{=$data}}.length == 0) { +{{?}} + + {{# def.error:'contains' }} + } else { + {{? $nonEmptySchema }} + {{# def.resetErrors }} + {{?}} + {{? it.opts.allErrors }} } {{?}} diff --git a/node_modules/ajv/lib/dot/custom.jst b/node_modules/ajv/lib/dot/custom.jst new file mode 100644 index 00000000..d30588fb --- /dev/null +++ b/node_modules/ajv/lib/dot/custom.jst @@ -0,0 +1,191 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{ + var $rule = this + , $definition = 'definition' + $lvl + , $rDef = $rule.definition + , $closingBraces = ''; + var $validate = $rDef.validate; + var $compile, $inline, $macro, $ruleValidate, $validateCode; +}} + +{{? $isData && $rDef.$data }} + {{ + $validateCode = 'keywordValidate' + $lvl; + var $validateSchema = $rDef.validateSchema; + }} + var {{=$definition}} = RULES.custom['{{=$keyword}}'].definition; + var {{=$validateCode}} = {{=$definition}}.validate; +{{??}} + {{ + $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it); + if (!$ruleValidate) return; + $schemaValue = 'validate.schema' + $schemaPath; + $validateCode = $ruleValidate.code; + $compile = $rDef.compile; + $inline = $rDef.inline; + $macro = $rDef.macro; + }} +{{?}} + +{{ + var $ruleErrs = $validateCode + '.errors' + , $i = 'i' + $lvl + , $ruleErr = 'ruleErr' + $lvl + , $asyncKeyword = $rDef.async; + + if ($asyncKeyword && !it.async) + throw new Error('async keyword in sync schema'); +}} + + +{{? !($inline || $macro) }}{{=$ruleErrs}} = null;{{?}} +var {{=$errs}} = errors; +var {{=$valid}}; + +{{## def.callRuleValidate: + {{=$validateCode}}.call( + {{? it.opts.passContext }}this{{??}}self{{?}} + {{? $compile || $rDef.schema === false }} + , {{=$data}} + {{??}} + , {{=$schemaValue}} + , {{=$data}} + , validate.schema{{=it.schemaPath}} + {{?}} + , {{# def.dataPath }} + {{# def.passParentData }} + , rootData + ) +#}} + +{{## def.extendErrors:_inline: + for (var {{=$i}}={{=$errs}}; {{=$i}} 0) + || _schema === false + : it.util.schemaHasRules(_schema, it.RULES.all)) +#}} + + +{{## def.strLength: + {{? it.opts.unicode === false }} + {{=$data}}.length + {{??}} + ucs2length({{=$data}}) + {{?}} +#}} + + +{{## def.willOptimize: + it.util.varOccurences($code, $nextData) < 2 +#}} + + +{{## def.generateSubschemaCode: + {{ + var $code = it.validate($it); + $it.baseId = $currentBaseId; + }} +#}} + + +{{## def.insertSubschemaCode: + {{= it.validate($it) }} + {{ $it.baseId = $currentBaseId; }} +#}} + + +{{## def._optimizeValidate: + it.util.varReplace($code, $nextData, $passData) +#}} + + +{{## def.optimizeValidate: + {{? {{# def.willOptimize}} }} + {{= {{# def._optimizeValidate }} }} + {{??}} + var {{=$nextData}} = {{=$passData}}; + {{= $code }} + {{?}} +#}} + + +{{## def.$data: + {{ + var $isData = it.opts.$data && $schema && $schema.$data + , $schemaValue; + }} + {{? $isData }} + var schema{{=$lvl}} = {{= it.util.getData($schema.$data, $dataLvl, it.dataPathArr) }}; + {{ $schemaValue = 'schema' + $lvl; }} + {{??}} + {{ $schemaValue = $schema; }} + {{?}} +#}} + + +{{## def.$dataNotType:_type: + {{?$isData}} ({{=$schemaValue}} !== undefined && typeof {{=$schemaValue}} != _type) || {{?}} +#}} + + +{{## def.check$dataIsArray: + if (schema{{=$lvl}} === undefined) {{=$valid}} = true; + else if (!Array.isArray(schema{{=$lvl}})) {{=$valid}} = false; + else { +#}} + + +{{## def.numberKeyword: + {{? !($isData || typeof $schema == 'number') }} + {{ throw new Error($keyword + ' must be number'); }} + {{?}} +#}} + + +{{## def.beginDefOut: + {{ + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; + }} +#}} + + +{{## def.storeDefOut:_variable: + {{ + var _variable = out; + out = $$outStack.pop(); + }} +#}} + + +{{## def.dataPath:(dataPath || ''){{? it.errorPath != '""'}} + {{= it.errorPath }}{{?}}#}} + +{{## def.setParentData: + {{ + var $parentData = $dataLvl ? 'data' + (($dataLvl-1)||'') : 'parentData' + , $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; + }} +#}} + +{{## def.passParentData: + {{# def.setParentData }} + , {{= $parentData }} + , {{= $parentDataProperty }} +#}} + + +{{## def.iterateProperties: + {{? $ownProperties }} + {{=$dataProperties}} = {{=$dataProperties}} || Object.keys({{=$data}}); + for (var {{=$idx}}=0; {{=$idx}}<{{=$dataProperties}}.length; {{=$idx}}++) { + var {{=$key}} = {{=$dataProperties}}[{{=$idx}}]; + {{??}} + for (var {{=$key}} in {{=$data}}) { + {{?}} +#}} + + +{{## def.noPropertyInData: + {{=$useData}} === undefined + {{? $ownProperties }} + || !{{# def.isOwnProperty }} + {{?}} +#}} + + +{{## def.isOwnProperty: + Object.prototype.hasOwnProperty.call({{=$data}}, '{{=it.util.escapeQuotes($propertyKey)}}') +#}} diff --git a/node_modules/ajv/lib/dot/dependencies.jst b/node_modules/ajv/lib/dot/dependencies.jst new file mode 100644 index 00000000..e4bdddec --- /dev/null +++ b/node_modules/ajv/lib/dot/dependencies.jst @@ -0,0 +1,79 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.missing }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + + +{{## def.propertyInData: + {{=$data}}{{= it.util.getProperty($property) }} !== undefined + {{? $ownProperties }} + && Object.prototype.hasOwnProperty.call({{=$data}}, '{{=it.util.escapeQuotes($property)}}') + {{?}} +#}} + + +{{ + var $schemaDeps = {} + , $propertyDeps = {} + , $ownProperties = it.opts.ownProperties; + + for ($property in $schema) { + if ($property == '__proto__') continue; + var $sch = $schema[$property]; + var $deps = Array.isArray($sch) ? $propertyDeps : $schemaDeps; + $deps[$property] = $sch; + } +}} + +var {{=$errs}} = errors; + +{{ var $currentErrorPath = it.errorPath; }} + +var missing{{=$lvl}}; +{{ for (var $property in $propertyDeps) { }} + {{ $deps = $propertyDeps[$property]; }} + {{? $deps.length }} + if ({{# def.propertyInData }} + {{? $breakOnError }} + && ({{# def.checkMissingProperty:$deps }})) { + {{# def.errorMissingProperty:'dependencies' }} + {{??}} + ) { + {{~ $deps:$propertyKey }} + {{# def.allErrorsMissingProperty:'dependencies' }} + {{~}} + {{?}} + } {{# def.elseIfValid }} + {{?}} +{{ } }} + +{{ + it.errorPath = $currentErrorPath; + var $currentBaseId = $it.baseId; +}} + + +{{ for (var $property in $schemaDeps) { }} + {{ var $sch = $schemaDeps[$property]; }} + {{? {{# def.nonEmptySchema:$sch }} }} + {{=$nextValid}} = true; + + if ({{# def.propertyInData }}) { + {{ + $it.schema = $sch; + $it.schemaPath = $schemaPath + it.util.getProperty($property); + $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property); + }} + + {{# def.insertSubschemaCode }} + } + + {{# def.ifResultValid }} + {{?}} +{{ } }} + +{{? $breakOnError }} + {{= $closingBraces }} + if ({{=$errs}} == errors) { +{{?}} diff --git a/node_modules/ajv/lib/dot/enum.jst b/node_modules/ajv/lib/dot/enum.jst new file mode 100644 index 00000000..357c2e8c --- /dev/null +++ b/node_modules/ajv/lib/dot/enum.jst @@ -0,0 +1,30 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{ + var $i = 'i' + $lvl + , $vSchema = 'schema' + $lvl; +}} + +{{? !$isData }} + var {{=$vSchema}} = validate.schema{{=$schemaPath}}; +{{?}} +var {{=$valid}}; + +{{?$isData}}{{# def.check$dataIsArray }}{{?}} + +{{=$valid}} = false; + +for (var {{=$i}}=0; {{=$i}}<{{=$vSchema}}.length; {{=$i}}++) + if (equal({{=$data}}, {{=$vSchema}}[{{=$i}}])) { + {{=$valid}} = true; + break; + } + +{{? $isData }} } {{?}} + +{{# def.checkError:'enum' }} + +{{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/errors.def b/node_modules/ajv/lib/dot/errors.def new file mode 100644 index 00000000..5c5752cb --- /dev/null +++ b/node_modules/ajv/lib/dot/errors.def @@ -0,0 +1,194 @@ +{{# def.definitions }} + +{{## def._error:_rule: + {{ 'istanbul ignore else'; }} + {{? it.createErrors !== false }} + { + keyword: '{{= $errorKeyword || _rule }}' + , dataPath: (dataPath || '') + {{= it.errorPath }} + , schemaPath: {{=it.util.toQuotedString($errSchemaPath)}} + , params: {{# def._errorParams[_rule] }} + {{? it.opts.messages !== false }} + , message: {{# def._errorMessages[_rule] }} + {{?}} + {{? it.opts.verbose }} + , schema: {{# def._errorSchemas[_rule] }} + , parentSchema: validate.schema{{=it.schemaPath}} + , data: {{=$data}} + {{?}} + } + {{??}} + {} + {{?}} +#}} + + +{{## def._addError:_rule: + if (vErrors === null) vErrors = [err]; + else vErrors.push(err); + errors++; +#}} + + +{{## def.addError:_rule: + var err = {{# def._error:_rule }}; + {{# def._addError:_rule }} +#}} + + +{{## def.error:_rule: + {{# def.beginDefOut}} + {{# def._error:_rule }} + {{# def.storeDefOut:__err }} + + {{? !it.compositeRule && $breakOnError }} + {{ 'istanbul ignore if'; }} + {{? it.async }} + throw new ValidationError([{{=__err}}]); + {{??}} + validate.errors = [{{=__err}}]; + return false; + {{?}} + {{??}} + var err = {{=__err}}; + {{# def._addError:_rule }} + {{?}} +#}} + + +{{## def.extraError:_rule: + {{# def.addError:_rule}} + {{? !it.compositeRule && $breakOnError }} + {{ 'istanbul ignore if'; }} + {{? it.async }} + throw new ValidationError(vErrors); + {{??}} + validate.errors = vErrors; + return false; + {{?}} + {{?}} +#}} + + +{{## def.checkError:_rule: + if (!{{=$valid}}) { + {{# def.error:_rule }} + } +#}} + + +{{## def.resetErrors: + errors = {{=$errs}}; + if (vErrors !== null) { + if ({{=$errs}}) vErrors.length = {{=$errs}}; + else vErrors = null; + } +#}} + + +{{## def.concatSchema:{{?$isData}}' + {{=$schemaValue}} + '{{??}}{{=$schema}}{{?}}#}} +{{## def.appendSchema:{{?$isData}}' + {{=$schemaValue}}{{??}}{{=$schemaValue}}'{{?}}#}} +{{## def.concatSchemaEQ:{{?$isData}}' + {{=$schemaValue}} + '{{??}}{{=it.util.escapeQuotes($schema)}}{{?}}#}} + +{{## def._errorMessages = { + 'false schema': "'boolean schema is false'", + $ref: "'can\\\'t resolve reference {{=it.util.escapeQuotes($schema)}}'", + additionalItems: "'should NOT have more than {{=$schema.length}} items'", + additionalProperties: "'{{? it.opts._errorDataPathProperty }}is an invalid additional property{{??}}should NOT have additional properties{{?}}'", + anyOf: "'should match some schema in anyOf'", + const: "'should be equal to constant'", + contains: "'should contain a valid item'", + dependencies: "'should have {{? $deps.length == 1 }}property {{= it.util.escapeQuotes($deps[0]) }}{{??}}properties {{= it.util.escapeQuotes($deps.join(\", \")) }}{{?}} when property {{= it.util.escapeQuotes($property) }} is present'", + 'enum': "'should be equal to one of the allowed values'", + format: "'should match format \"{{#def.concatSchemaEQ}}\"'", + 'if': "'should match \"' + {{=$ifClause}} + '\" schema'", + _limit: "'should be {{=$opStr}} {{#def.appendSchema}}", + _exclusiveLimit: "'{{=$exclusiveKeyword}} should be boolean'", + _limitItems: "'should NOT have {{?$keyword=='maxItems'}}more{{??}}fewer{{?}} than {{#def.concatSchema}} items'", + _limitLength: "'should NOT be {{?$keyword=='maxLength'}}longer{{??}}shorter{{?}} than {{#def.concatSchema}} characters'", + _limitProperties:"'should NOT have {{?$keyword=='maxProperties'}}more{{??}}fewer{{?}} than {{#def.concatSchema}} properties'", + multipleOf: "'should be multiple of {{#def.appendSchema}}", + not: "'should NOT be valid'", + oneOf: "'should match exactly one schema in oneOf'", + pattern: "'should match pattern \"{{#def.concatSchemaEQ}}\"'", + propertyNames: "'property name \\'{{=$invalidName}}\\' is invalid'", + required: "'{{? it.opts._errorDataPathProperty }}is a required property{{??}}should have required property \\'{{=$missingProperty}}\\'{{?}}'", + type: "'should be {{? $typeIsArray }}{{= $typeSchema.join(\",\") }}{{??}}{{=$typeSchema}}{{?}}'", + uniqueItems: "'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)'", + custom: "'should pass \"{{=$rule.keyword}}\" keyword validation'", + patternRequired: "'should have property matching pattern \\'{{=$missingPattern}}\\''", + switch: "'should pass \"switch\" keyword validation'", + _formatLimit: "'should be {{=$opStr}} \"{{#def.concatSchemaEQ}}\"'", + _formatExclusiveLimit: "'{{=$exclusiveKeyword}} should be boolean'" +} #}} + + +{{## def.schemaRefOrVal: {{?$isData}}validate.schema{{=$schemaPath}}{{??}}{{=$schema}}{{?}} #}} +{{## def.schemaRefOrQS: {{?$isData}}validate.schema{{=$schemaPath}}{{??}}{{=it.util.toQuotedString($schema)}}{{?}} #}} + +{{## def._errorSchemas = { + 'false schema': "false", + $ref: "{{=it.util.toQuotedString($schema)}}", + additionalItems: "false", + additionalProperties: "false", + anyOf: "validate.schema{{=$schemaPath}}", + const: "validate.schema{{=$schemaPath}}", + contains: "validate.schema{{=$schemaPath}}", + dependencies: "validate.schema{{=$schemaPath}}", + 'enum': "validate.schema{{=$schemaPath}}", + format: "{{#def.schemaRefOrQS}}", + 'if': "validate.schema{{=$schemaPath}}", + _limit: "{{#def.schemaRefOrVal}}", + _exclusiveLimit: "validate.schema{{=$schemaPath}}", + _limitItems: "{{#def.schemaRefOrVal}}", + _limitLength: "{{#def.schemaRefOrVal}}", + _limitProperties:"{{#def.schemaRefOrVal}}", + multipleOf: "{{#def.schemaRefOrVal}}", + not: "validate.schema{{=$schemaPath}}", + oneOf: "validate.schema{{=$schemaPath}}", + pattern: "{{#def.schemaRefOrQS}}", + propertyNames: "validate.schema{{=$schemaPath}}", + required: "validate.schema{{=$schemaPath}}", + type: "validate.schema{{=$schemaPath}}", + uniqueItems: "{{#def.schemaRefOrVal}}", + custom: "validate.schema{{=$schemaPath}}", + patternRequired: "validate.schema{{=$schemaPath}}", + switch: "validate.schema{{=$schemaPath}}", + _formatLimit: "{{#def.schemaRefOrQS}}", + _formatExclusiveLimit: "validate.schema{{=$schemaPath}}" +} #}} + + +{{## def.schemaValueQS: {{?$isData}}{{=$schemaValue}}{{??}}{{=it.util.toQuotedString($schema)}}{{?}} #}} + +{{## def._errorParams = { + 'false schema': "{}", + $ref: "{ ref: '{{=it.util.escapeQuotes($schema)}}' }", + additionalItems: "{ limit: {{=$schema.length}} }", + additionalProperties: "{ additionalProperty: '{{=$additionalProperty}}' }", + anyOf: "{}", + const: "{ allowedValue: schema{{=$lvl}} }", + contains: "{}", + dependencies: "{ property: '{{= it.util.escapeQuotes($property) }}', missingProperty: '{{=$missingProperty}}', depsCount: {{=$deps.length}}, deps: '{{= it.util.escapeQuotes($deps.length==1 ? $deps[0] : $deps.join(\", \")) }}' }", + 'enum': "{ allowedValues: schema{{=$lvl}} }", + format: "{ format: {{#def.schemaValueQS}} }", + 'if': "{ failingKeyword: {{=$ifClause}} }", + _limit: "{ comparison: {{=$opExpr}}, limit: {{=$schemaValue}}, exclusive: {{=$exclusive}} }", + _exclusiveLimit: "{}", + _limitItems: "{ limit: {{=$schemaValue}} }", + _limitLength: "{ limit: {{=$schemaValue}} }", + _limitProperties:"{ limit: {{=$schemaValue}} }", + multipleOf: "{ multipleOf: {{=$schemaValue}} }", + not: "{}", + oneOf: "{ passingSchemas: {{=$passingSchemas}} }", + pattern: "{ pattern: {{#def.schemaValueQS}} }", + propertyNames: "{ propertyName: '{{=$invalidName}}' }", + required: "{ missingProperty: '{{=$missingProperty}}' }", + type: "{ type: '{{? $typeIsArray }}{{= $typeSchema.join(\",\") }}{{??}}{{=$typeSchema}}{{?}}' }", + uniqueItems: "{ i: i, j: j }", + custom: "{ keyword: '{{=$rule.keyword}}' }", + patternRequired: "{ missingPattern: '{{=$missingPattern}}' }", + switch: "{ caseIndex: {{=$caseIndex}} }", + _formatLimit: "{ comparison: {{=$opExpr}}, limit: {{#def.schemaValueQS}}, exclusive: {{=$exclusive}} }", + _formatExclusiveLimit: "{}" +} #}} diff --git a/node_modules/ajv/lib/dot/format.jst b/node_modules/ajv/lib/dot/format.jst new file mode 100644 index 00000000..37f14da8 --- /dev/null +++ b/node_modules/ajv/lib/dot/format.jst @@ -0,0 +1,106 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} + +{{## def.skipFormat: + {{? $breakOnError }} if (true) { {{?}} + {{ return out; }} +#}} + +{{? it.opts.format === false }}{{# def.skipFormat }}{{?}} + + +{{# def.$data }} + + +{{## def.$dataCheckFormat: + {{# def.$dataNotType:'string' }} + ({{? $unknownFormats != 'ignore' }} + ({{=$schemaValue}} && !{{=$format}} + {{? $allowUnknown }} + && self._opts.unknownFormats.indexOf({{=$schemaValue}}) == -1 + {{?}}) || + {{?}} + ({{=$format}} && {{=$formatType}} == '{{=$ruleType}}' + && !(typeof {{=$format}} == 'function' + ? {{? it.async}} + (async{{=$lvl}} ? await {{=$format}}({{=$data}}) : {{=$format}}({{=$data}})) + {{??}} + {{=$format}}({{=$data}}) + {{?}} + : {{=$format}}.test({{=$data}})))) +#}} + +{{## def.checkFormat: + {{ + var $formatRef = 'formats' + it.util.getProperty($schema); + if ($isObject) $formatRef += '.validate'; + }} + {{? typeof $format == 'function' }} + {{=$formatRef}}({{=$data}}) + {{??}} + {{=$formatRef}}.test({{=$data}}) + {{?}} +#}} + + +{{ + var $unknownFormats = it.opts.unknownFormats + , $allowUnknown = Array.isArray($unknownFormats); +}} + +{{? $isData }} + {{ + var $format = 'format' + $lvl + , $isObject = 'isObject' + $lvl + , $formatType = 'formatType' + $lvl; + }} + var {{=$format}} = formats[{{=$schemaValue}}]; + var {{=$isObject}} = typeof {{=$format}} == 'object' + && !({{=$format}} instanceof RegExp) + && {{=$format}}.validate; + var {{=$formatType}} = {{=$isObject}} && {{=$format}}.type || 'string'; + if ({{=$isObject}}) { + {{? it.async}} + var async{{=$lvl}} = {{=$format}}.async; + {{?}} + {{=$format}} = {{=$format}}.validate; + } + if ({{# def.$dataCheckFormat }}) { +{{??}} + {{ var $format = it.formats[$schema]; }} + {{? !$format }} + {{? $unknownFormats == 'ignore' }} + {{ it.logger.warn('unknown format "' + $schema + '" ignored in schema at path "' + it.errSchemaPath + '"'); }} + {{# def.skipFormat }} + {{?? $allowUnknown && $unknownFormats.indexOf($schema) >= 0 }} + {{# def.skipFormat }} + {{??}} + {{ throw new Error('unknown format "' + $schema + '" is used in schema at path "' + it.errSchemaPath + '"'); }} + {{?}} + {{?}} + {{ + var $isObject = typeof $format == 'object' + && !($format instanceof RegExp) + && $format.validate; + var $formatType = $isObject && $format.type || 'string'; + if ($isObject) { + var $async = $format.async === true; + $format = $format.validate; + } + }} + {{? $formatType != $ruleType }} + {{# def.skipFormat }} + {{?}} + {{? $async }} + {{ + if (!it.async) throw new Error('async format in sync schema'); + var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate'; + }} + if (!(await {{=$formatRef}}({{=$data}}))) { + {{??}} + if (!{{# def.checkFormat }}) { + {{?}} +{{?}} + {{# def.error:'format' }} + } {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/if.jst b/node_modules/ajv/lib/dot/if.jst new file mode 100644 index 00000000..adb50361 --- /dev/null +++ b/node_modules/ajv/lib/dot/if.jst @@ -0,0 +1,73 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + + +{{## def.validateIfClause:_clause: + {{ + $it.schema = it.schema['_clause']; + $it.schemaPath = it.schemaPath + '._clause'; + $it.errSchemaPath = it.errSchemaPath + '/_clause'; + }} + {{# def.insertSubschemaCode }} + {{=$valid}} = {{=$nextValid}}; + {{? $thenPresent && $elsePresent }} + {{ $ifClause = 'ifClause' + $lvl; }} + var {{=$ifClause}} = '_clause'; + {{??}} + {{ $ifClause = '\'_clause\''; }} + {{?}} +#}} + +{{ + var $thenSch = it.schema['then'] + , $elseSch = it.schema['else'] + , $thenPresent = $thenSch !== undefined && {{# def.nonEmptySchema:$thenSch }} + , $elsePresent = $elseSch !== undefined && {{# def.nonEmptySchema:$elseSch }} + , $currentBaseId = $it.baseId; +}} + +{{? $thenPresent || $elsePresent }} + {{ + var $ifClause; + $it.createErrors = false; + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + }} + var {{=$errs}} = errors; + var {{=$valid}} = true; + + {{# def.setCompositeRule }} + {{# def.insertSubschemaCode }} + {{ $it.createErrors = true; }} + {{# def.resetErrors }} + {{# def.resetCompositeRule }} + + {{? $thenPresent }} + if ({{=$nextValid}}) { + {{# def.validateIfClause:then }} + } + {{? $elsePresent }} + else { + {{?}} + {{??}} + if (!{{=$nextValid}}) { + {{?}} + + {{? $elsePresent }} + {{# def.validateIfClause:else }} + } + {{?}} + + if (!{{=$valid}}) { + {{# def.extraError:'if' }} + } + {{? $breakOnError }} else { {{?}} +{{??}} + {{? $breakOnError }} + if (true) { + {{?}} +{{?}} + diff --git a/node_modules/ajv/lib/dot/items.jst b/node_modules/ajv/lib/dot/items.jst new file mode 100644 index 00000000..acc932a2 --- /dev/null +++ b/node_modules/ajv/lib/dot/items.jst @@ -0,0 +1,98 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + + +{{## def.validateItems:startFrom: + for (var {{=$idx}} = {{=startFrom}}; {{=$idx}} < {{=$data}}.length; {{=$idx}}++) { + {{ + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + }} + + {{# def.generateSubschemaCode }} + {{# def.optimizeValidate }} + + {{? $breakOnError }} + if (!{{=$nextValid}}) break; + {{?}} + } +#}} + +{{ + var $idx = 'i' + $lvl + , $dataNxt = $it.dataLevel = it.dataLevel + 1 + , $nextData = 'data' + $dataNxt + , $currentBaseId = it.baseId; +}} + +var {{=$errs}} = errors; +var {{=$valid}}; + +{{? Array.isArray($schema) }} + {{ /* 'items' is an array of schemas */}} + {{ var $additionalItems = it.schema.additionalItems; }} + {{? $additionalItems === false }} + {{=$valid}} = {{=$data}}.length <= {{= $schema.length }}; + {{ + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + '/additionalItems'; + }} + {{# def.checkError:'additionalItems' }} + {{ $errSchemaPath = $currErrSchemaPath; }} + {{# def.elseIfValid}} + {{?}} + + {{~ $schema:$sch:$i }} + {{? {{# def.nonEmptySchema:$sch }} }} + {{=$nextValid}} = true; + + if ({{=$data}}.length > {{=$i}}) { + {{ + var $passData = $data + '[' + $i + ']'; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true); + $it.dataPathArr[$dataNxt] = $i; + }} + + {{# def.generateSubschemaCode }} + {{# def.optimizeValidate }} + } + + {{# def.ifResultValid }} + {{?}} + {{~}} + + {{? typeof $additionalItems == 'object' && {{# def.nonEmptySchema:$additionalItems }} }} + {{ + $it.schema = $additionalItems; + $it.schemaPath = it.schemaPath + '.additionalItems'; + $it.errSchemaPath = it.errSchemaPath + '/additionalItems'; + }} + {{=$nextValid}} = true; + + if ({{=$data}}.length > {{= $schema.length }}) { + {{# def.validateItems: $schema.length }} + } + + {{# def.ifResultValid }} + {{?}} + +{{?? {{# def.nonEmptySchema:$schema }} }} + {{ /* 'items' is a single schema */}} + {{ + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + }} + {{# def.validateItems: 0 }} +{{?}} + +{{? $breakOnError }} + {{= $closingBraces }} + if ({{=$errs}} == errors) { +{{?}} diff --git a/node_modules/ajv/lib/dot/missing.def b/node_modules/ajv/lib/dot/missing.def new file mode 100644 index 00000000..a73b9f96 --- /dev/null +++ b/node_modules/ajv/lib/dot/missing.def @@ -0,0 +1,39 @@ +{{## def.checkMissingProperty:_properties: + {{~ _properties:$propertyKey:$i }} + {{?$i}} || {{?}} + {{ + var $prop = it.util.getProperty($propertyKey) + , $useData = $data + $prop; + }} + ( ({{# def.noPropertyInData }}) && (missing{{=$lvl}} = {{= it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop) }}) ) + {{~}} +#}} + + +{{## def.errorMissingProperty:_error: + {{ + var $propertyPath = 'missing' + $lvl + , $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.opts.jsonPointers + ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) + : $currentErrorPath + ' + ' + $propertyPath; + } + }} + {{# def.error:_error }} +#}} + + +{{## def.allErrorsMissingProperty:_error: + {{ + var $prop = it.util.getProperty($propertyKey) + , $missingProperty = it.util.escapeQuotes($propertyKey) + , $useData = $data + $prop; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + }} + if ({{# def.noPropertyInData }}) { + {{# def.addError:_error }} + } +#}} diff --git a/node_modules/ajv/lib/dot/multipleOf.jst b/node_modules/ajv/lib/dot/multipleOf.jst new file mode 100644 index 00000000..6d88a456 --- /dev/null +++ b/node_modules/ajv/lib/dot/multipleOf.jst @@ -0,0 +1,22 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{# def.numberKeyword }} + +var division{{=$lvl}}; +if ({{?$isData}} + {{=$schemaValue}} !== undefined && ( + typeof {{=$schemaValue}} != 'number' || + {{?}} + (division{{=$lvl}} = {{=$data}} / {{=$schemaValue}}, + {{? it.opts.multipleOfPrecision }} + Math.abs(Math.round(division{{=$lvl}}) - division{{=$lvl}}) > 1e-{{=it.opts.multipleOfPrecision}} + {{??}} + division{{=$lvl}} !== parseInt(division{{=$lvl}}) + {{?}} + ) + {{?$isData}} ) {{?}} ) { + {{# def.error:'multipleOf' }} +} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/not.jst b/node_modules/ajv/lib/dot/not.jst new file mode 100644 index 00000000..e03185ae --- /dev/null +++ b/node_modules/ajv/lib/dot/not.jst @@ -0,0 +1,43 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + +{{? {{# def.nonEmptySchema:$schema }} }} + {{ + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + }} + + var {{=$errs}} = errors; + + {{# def.setCompositeRule }} + + {{ + $it.createErrors = false; + var $allErrorsOption; + if ($it.opts.allErrors) { + $allErrorsOption = $it.opts.allErrors; + $it.opts.allErrors = false; + } + }} + {{= it.validate($it) }} + {{ + $it.createErrors = true; + if ($allErrorsOption) $it.opts.allErrors = $allErrorsOption; + }} + + {{# def.resetCompositeRule }} + + if ({{=$nextValid}}) { + {{# def.error:'not' }} + } else { + {{# def.resetErrors }} + {{? it.opts.allErrors }} } {{?}} +{{??}} + {{# def.addError:'not' }} + {{? $breakOnError}} + if (false) { + {{?}} +{{?}} diff --git a/node_modules/ajv/lib/dot/oneOf.jst b/node_modules/ajv/lib/dot/oneOf.jst new file mode 100644 index 00000000..bcce2c6e --- /dev/null +++ b/node_modules/ajv/lib/dot/oneOf.jst @@ -0,0 +1,54 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + +{{ + var $currentBaseId = $it.baseId + , $prevValid = 'prevValid' + $lvl + , $passingSchemas = 'passingSchemas' + $lvl; +}} + +var {{=$errs}} = errors + , {{=$prevValid}} = false + , {{=$valid}} = false + , {{=$passingSchemas}} = null; + +{{# def.setCompositeRule }} + +{{~ $schema:$sch:$i }} + {{? {{# def.nonEmptySchema:$sch }} }} + {{ + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + }} + + {{# def.insertSubschemaCode }} + {{??}} + var {{=$nextValid}} = true; + {{?}} + + {{? $i }} + if ({{=$nextValid}} && {{=$prevValid}}) { + {{=$valid}} = false; + {{=$passingSchemas}} = [{{=$passingSchemas}}, {{=$i}}]; + } else { + {{ $closingBraces += '}'; }} + {{?}} + + if ({{=$nextValid}}) { + {{=$valid}} = {{=$prevValid}} = true; + {{=$passingSchemas}} = {{=$i}}; + } +{{~}} + +{{# def.resetCompositeRule }} + +{{= $closingBraces }} + +if (!{{=$valid}}) { + {{# def.extraError:'oneOf' }} +} else { + {{# def.resetErrors }} +{{? it.opts.allErrors }} } {{?}} diff --git a/node_modules/ajv/lib/dot/pattern.jst b/node_modules/ajv/lib/dot/pattern.jst new file mode 100644 index 00000000..3a37ef6c --- /dev/null +++ b/node_modules/ajv/lib/dot/pattern.jst @@ -0,0 +1,14 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{ + var $regexp = $isData + ? '(new RegExp(' + $schemaValue + '))' + : it.usePattern($schema); +}} + +if ({{# def.$dataNotType:'string' }} !{{=$regexp}}.test({{=$data}}) ) { + {{# def.error:'pattern' }} +} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/properties.jst b/node_modules/ajv/lib/dot/properties.jst new file mode 100644 index 00000000..5cebb9b1 --- /dev/null +++ b/node_modules/ajv/lib/dot/properties.jst @@ -0,0 +1,245 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + + +{{## def.validateAdditional: + {{ /* additionalProperties is schema */ + $it.schema = $aProperties; + $it.schemaPath = it.schemaPath + '.additionalProperties'; + $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; + $it.errorPath = it.opts._errorDataPathProperty + ? it.errorPath + : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + }} + + {{# def.generateSubschemaCode }} + {{# def.optimizeValidate }} +#}} + + +{{ + var $key = 'key' + $lvl + , $idx = 'idx' + $lvl + , $dataNxt = $it.dataLevel = it.dataLevel + 1 + , $nextData = 'data' + $dataNxt + , $dataProperties = 'dataProperties' + $lvl; + + var $schemaKeys = Object.keys($schema || {}).filter(notProto) + , $pProperties = it.schema.patternProperties || {} + , $pPropertyKeys = Object.keys($pProperties).filter(notProto) + , $aProperties = it.schema.additionalProperties + , $someProperties = $schemaKeys.length || $pPropertyKeys.length + , $noAdditional = $aProperties === false + , $additionalIsSchema = typeof $aProperties == 'object' + && Object.keys($aProperties).length + , $removeAdditional = it.opts.removeAdditional + , $checkAdditional = $noAdditional || $additionalIsSchema || $removeAdditional + , $ownProperties = it.opts.ownProperties + , $currentBaseId = it.baseId; + + var $required = it.schema.required; + if ($required && !(it.opts.$data && $required.$data) && $required.length < it.opts.loopRequired) { + var $requiredHash = it.util.toHash($required); + } + + function notProto(p) { return p !== '__proto__'; } +}} + + +var {{=$errs}} = errors; +var {{=$nextValid}} = true; +{{? $ownProperties }} + var {{=$dataProperties}} = undefined; +{{?}} + +{{? $checkAdditional }} + {{# def.iterateProperties }} + {{? $someProperties }} + var isAdditional{{=$lvl}} = !(false + {{? $schemaKeys.length }} + {{? $schemaKeys.length > 8 }} + || validate.schema{{=$schemaPath}}.hasOwnProperty({{=$key}}) + {{??}} + {{~ $schemaKeys:$propertyKey }} + || {{=$key}} == {{= it.util.toQuotedString($propertyKey) }} + {{~}} + {{?}} + {{?}} + {{? $pPropertyKeys.length }} + {{~ $pPropertyKeys:$pProperty:$i }} + || {{= it.usePattern($pProperty) }}.test({{=$key}}) + {{~}} + {{?}} + ); + + if (isAdditional{{=$lvl}}) { + {{?}} + {{? $removeAdditional == 'all' }} + delete {{=$data}}[{{=$key}}]; + {{??}} + {{ + var $currentErrorPath = it.errorPath; + var $additionalProperty = '\' + ' + $key + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + } + }} + {{? $noAdditional }} + {{? $removeAdditional }} + delete {{=$data}}[{{=$key}}]; + {{??}} + {{=$nextValid}} = false; + {{ + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + '/additionalProperties'; + }} + {{# def.error:'additionalProperties' }} + {{ $errSchemaPath = $currErrSchemaPath; }} + {{? $breakOnError }} break; {{?}} + {{?}} + {{?? $additionalIsSchema }} + {{? $removeAdditional == 'failing' }} + var {{=$errs}} = errors; + {{# def.setCompositeRule }} + + {{# def.validateAdditional }} + + if (!{{=$nextValid}}) { + errors = {{=$errs}}; + if (validate.errors !== null) { + if (errors) validate.errors.length = errors; + else validate.errors = null; + } + delete {{=$data}}[{{=$key}}]; + } + + {{# def.resetCompositeRule }} + {{??}} + {{# def.validateAdditional }} + {{? $breakOnError }} if (!{{=$nextValid}}) break; {{?}} + {{?}} + {{?}} + {{ it.errorPath = $currentErrorPath; }} + {{?}} + {{? $someProperties }} + } + {{?}} + } + + {{# def.ifResultValid }} +{{?}} + +{{ var $useDefaults = it.opts.useDefaults && !it.compositeRule; }} + +{{? $schemaKeys.length }} + {{~ $schemaKeys:$propertyKey }} + {{ var $sch = $schema[$propertyKey]; }} + + {{? {{# def.nonEmptySchema:$sch}} }} + {{ + var $prop = it.util.getProperty($propertyKey) + , $passData = $data + $prop + , $hasDefault = $useDefaults && $sch.default !== undefined; + $it.schema = $sch; + $it.schemaPath = $schemaPath + $prop; + $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($propertyKey); + $it.errorPath = it.util.getPath(it.errorPath, $propertyKey, it.opts.jsonPointers); + $it.dataPathArr[$dataNxt] = it.util.toQuotedString($propertyKey); + }} + + {{# def.generateSubschemaCode }} + + {{? {{# def.willOptimize }} }} + {{ + $code = {{# def._optimizeValidate }}; + var $useData = $passData; + }} + {{??}} + {{ var $useData = $nextData; }} + var {{=$nextData}} = {{=$passData}}; + {{?}} + + {{? $hasDefault }} + {{= $code }} + {{??}} + {{? $requiredHash && $requiredHash[$propertyKey] }} + if ({{# def.noPropertyInData }}) { + {{=$nextValid}} = false; + {{ + var $currentErrorPath = it.errorPath + , $currErrSchemaPath = $errSchemaPath + , $missingProperty = it.util.escapeQuotes($propertyKey); + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + $errSchemaPath = it.errSchemaPath + '/required'; + }} + {{# def.error:'required' }} + {{ $errSchemaPath = $currErrSchemaPath; }} + {{ it.errorPath = $currentErrorPath; }} + } else { + {{??}} + {{? $breakOnError }} + if ({{# def.noPropertyInData }}) { + {{=$nextValid}} = true; + } else { + {{??}} + if ({{=$useData}} !== undefined + {{? $ownProperties }} + && {{# def.isOwnProperty }} + {{?}} + ) { + {{?}} + {{?}} + + {{= $code }} + } + {{?}} {{ /* $hasDefault */ }} + {{?}} {{ /* def.nonEmptySchema */ }} + + {{# def.ifResultValid }} + {{~}} +{{?}} + +{{? $pPropertyKeys.length }} + {{~ $pPropertyKeys:$pProperty }} + {{ var $sch = $pProperties[$pProperty]; }} + + {{? {{# def.nonEmptySchema:$sch}} }} + {{ + $it.schema = $sch; + $it.schemaPath = it.schemaPath + '.patternProperties' + it.util.getProperty($pProperty); + $it.errSchemaPath = it.errSchemaPath + '/patternProperties/' + + it.util.escapeFragment($pProperty); + }} + + {{# def.iterateProperties }} + if ({{= it.usePattern($pProperty) }}.test({{=$key}})) { + {{ + $it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + }} + + {{# def.generateSubschemaCode }} + {{# def.optimizeValidate }} + + {{? $breakOnError }} if (!{{=$nextValid}}) break; {{?}} + } + {{? $breakOnError }} else {{=$nextValid}} = true; {{?}} + } + + {{# def.ifResultValid }} + {{?}} {{ /* def.nonEmptySchema */ }} + {{~}} +{{?}} + + +{{? $breakOnError }} + {{= $closingBraces }} + if ({{=$errs}} == errors) { +{{?}} diff --git a/node_modules/ajv/lib/dot/propertyNames.jst b/node_modules/ajv/lib/dot/propertyNames.jst new file mode 100644 index 00000000..d456ccaf --- /dev/null +++ b/node_modules/ajv/lib/dot/propertyNames.jst @@ -0,0 +1,52 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + +var {{=$errs}} = errors; + +{{? {{# def.nonEmptySchema:$schema }} }} + {{ + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + }} + + {{ + var $key = 'key' + $lvl + , $idx = 'idx' + $lvl + , $i = 'i' + $lvl + , $invalidName = '\' + ' + $key + ' + \'' + , $dataNxt = $it.dataLevel = it.dataLevel + 1 + , $nextData = 'data' + $dataNxt + , $dataProperties = 'dataProperties' + $lvl + , $ownProperties = it.opts.ownProperties + , $currentBaseId = it.baseId; + }} + + {{? $ownProperties }} + var {{=$dataProperties}} = undefined; + {{?}} + {{# def.iterateProperties }} + var startErrs{{=$lvl}} = errors; + + {{ var $passData = $key; }} + {{# def.setCompositeRule }} + {{# def.generateSubschemaCode }} + {{# def.optimizeValidate }} + {{# def.resetCompositeRule }} + + if (!{{=$nextValid}}) { + for (var {{=$i}}=startErrs{{=$lvl}}; {{=$i}}= it.opts.loopRequired + , $ownProperties = it.opts.ownProperties; + }} + + {{? $breakOnError }} + var missing{{=$lvl}}; + {{? $loopRequired }} + {{# def.setupLoop }} + var {{=$valid}} = true; + + {{?$isData}}{{# def.check$dataIsArray }}{{?}} + + for (var {{=$i}} = 0; {{=$i}} < {{=$vSchema}}.length; {{=$i}}++) { + {{=$valid}} = {{=$data}}[{{=$vSchema}}[{{=$i}}]] !== undefined + {{? $ownProperties }} + && {{# def.isRequiredOwnProperty }} + {{?}}; + if (!{{=$valid}}) break; + } + + {{? $isData }} } {{?}} + + {{# def.checkError:'required' }} + else { + {{??}} + if ({{# def.checkMissingProperty:$required }}) { + {{# def.errorMissingProperty:'required' }} + } else { + {{?}} + {{??}} + {{? $loopRequired }} + {{# def.setupLoop }} + {{? $isData }} + if ({{=$vSchema}} && !Array.isArray({{=$vSchema}})) { + {{# def.addError:'required' }} + } else if ({{=$vSchema}} !== undefined) { + {{?}} + + for (var {{=$i}} = 0; {{=$i}} < {{=$vSchema}}.length; {{=$i}}++) { + if ({{=$data}}[{{=$vSchema}}[{{=$i}}]] === undefined + {{? $ownProperties }} + || !{{# def.isRequiredOwnProperty }} + {{?}}) { + {{# def.addError:'required' }} + } + } + + {{? $isData }} } {{?}} + {{??}} + {{~ $required:$propertyKey }} + {{# def.allErrorsMissingProperty:'required' }} + {{~}} + {{?}} + {{?}} + + {{ it.errorPath = $currentErrorPath; }} + +{{?? $breakOnError }} + if (true) { +{{?}} diff --git a/node_modules/ajv/lib/dot/uniqueItems.jst b/node_modules/ajv/lib/dot/uniqueItems.jst new file mode 100644 index 00000000..e69b8308 --- /dev/null +++ b/node_modules/ajv/lib/dot/uniqueItems.jst @@ -0,0 +1,62 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + + +{{? ($schema || $isData) && it.opts.uniqueItems !== false }} + {{? $isData }} + var {{=$valid}}; + if ({{=$schemaValue}} === false || {{=$schemaValue}} === undefined) + {{=$valid}} = true; + else if (typeof {{=$schemaValue}} != 'boolean') + {{=$valid}} = false; + else { + {{?}} + + var i = {{=$data}}.length + , {{=$valid}} = true + , j; + if (i > 1) { + {{ + var $itemType = it.schema.items && it.schema.items.type + , $typeIsArray = Array.isArray($itemType); + }} + {{? !$itemType || $itemType == 'object' || $itemType == 'array' || + ($typeIsArray && ($itemType.indexOf('object') >= 0 || $itemType.indexOf('array') >= 0)) }} + outer: + for (;i--;) { + for (j = i; j--;) { + if (equal({{=$data}}[i], {{=$data}}[j])) { + {{=$valid}} = false; + break outer; + } + } + } + {{??}} + var itemIndices = {}, item; + for (;i--;) { + var item = {{=$data}}[i]; + {{ var $method = 'checkDataType' + ($typeIsArray ? 's' : ''); }} + if ({{= it.util[$method]($itemType, 'item', it.opts.strictNumbers, true) }}) continue; + {{? $typeIsArray}} + if (typeof item == 'string') item = '"' + item; + {{?}} + if (typeof itemIndices[item] == 'number') { + {{=$valid}} = false; + j = itemIndices[item]; + break; + } + itemIndices[item] = i; + } + {{?}} + } + + {{? $isData }} } {{?}} + + if (!{{=$valid}}) { + {{# def.error:'uniqueItems' }} + } {{? $breakOnError }} else { {{?}} +{{??}} + {{? $breakOnError }} if (true) { {{?}} +{{?}} diff --git a/node_modules/ajv/lib/dot/validate.jst b/node_modules/ajv/lib/dot/validate.jst new file mode 100644 index 00000000..32087e71 --- /dev/null +++ b/node_modules/ajv/lib/dot/validate.jst @@ -0,0 +1,276 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.defaults }} +{{# def.coerce }} + +{{ /** + * schema compilation (render) time: + * it = { schema, RULES, _validate, opts } + * it.validate - this template function, + * it is used recursively to generate code for subschemas + * + * runtime: + * "validate" is a variable name to which this function will be assigned + * validateRef etc. are defined in the parent scope in index.js + */ }} + +{{ + var $async = it.schema.$async === true + , $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref') + , $id = it.self._getId(it.schema); +}} + +{{ + if (it.opts.strictKeywords) { + var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords); + if ($unknownKwd) { + var $keywordsMsg = 'unknown keyword: ' + $unknownKwd; + if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg); + else throw new Error($keywordsMsg); + } + } +}} + +{{? it.isTop }} + var validate = {{?$async}}{{it.async = true;}}async {{?}}function(data, dataPath, parentData, parentDataProperty, rootData) { + 'use strict'; + {{? $id && (it.opts.sourceCode || it.opts.processCode) }} + {{= '/\*# sourceURL=' + $id + ' */' }} + {{?}} +{{?}} + +{{? typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref) }} + {{ var $keyword = 'false schema'; }} + {{# def.setupKeyword }} + {{? it.schema === false}} + {{? it.isTop}} + {{ $breakOnError = true; }} + {{??}} + var {{=$valid}} = false; + {{?}} + {{# def.error:'false schema' }} + {{??}} + {{? it.isTop}} + {{? $async }} + return data; + {{??}} + validate.errors = null; + return true; + {{?}} + {{??}} + var {{=$valid}} = true; + {{?}} + {{?}} + + {{? it.isTop}} + }; + return validate; + {{?}} + + {{ return out; }} +{{?}} + + +{{? it.isTop }} + {{ + var $top = it.isTop + , $lvl = it.level = 0 + , $dataLvl = it.dataLevel = 0 + , $data = 'data'; + it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema)); + it.baseId = it.baseId || it.rootId; + delete it.isTop; + + it.dataPathArr = [""]; + + if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored in the schema root'; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + }} + + var vErrors = null; {{ /* don't edit, used in replace */ }} + var errors = 0; {{ /* don't edit, used in replace */ }} + if (rootData === undefined) rootData = data; {{ /* don't edit, used in replace */ }} +{{??}} + {{ + var $lvl = it.level + , $dataLvl = it.dataLevel + , $data = 'data' + ($dataLvl || ''); + + if ($id) it.baseId = it.resolve.url(it.baseId, $id); + + if ($async && !it.async) throw new Error('async schema in sync schema'); + }} + + var errs_{{=$lvl}} = errors; +{{?}} + +{{ + var $valid = 'valid' + $lvl + , $breakOnError = !it.opts.allErrors + , $closingBraces1 = '' + , $closingBraces2 = ''; + + var $errorKeyword; + var $typeSchema = it.schema.type + , $typeIsArray = Array.isArray($typeSchema); + + if ($typeSchema && it.opts.nullable && it.schema.nullable === true) { + if ($typeIsArray) { + if ($typeSchema.indexOf('null') == -1) + $typeSchema = $typeSchema.concat('null'); + } else if ($typeSchema != 'null') { + $typeSchema = [$typeSchema, 'null']; + $typeIsArray = true; + } + } + + if ($typeIsArray && $typeSchema.length == 1) { + $typeSchema = $typeSchema[0]; + $typeIsArray = false; + } +}} + +{{## def.checkType: + {{ + var $schemaPath = it.schemaPath + '.type' + , $errSchemaPath = it.errSchemaPath + '/type' + , $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType'; + }} + + if ({{= it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true) }}) { +#}} + +{{? it.schema.$ref && $refKeywords }} + {{? it.opts.extendRefs == 'fail' }} + {{ throw new Error('$ref: validation keywords used in schema at path "' + it.errSchemaPath + '" (see option extendRefs)'); }} + {{?? it.opts.extendRefs !== true }} + {{ + $refKeywords = false; + it.logger.warn('$ref: keywords ignored in schema at path "' + it.errSchemaPath + '"'); + }} + {{?}} +{{?}} + +{{? it.schema.$comment && it.opts.$comment }} + {{= it.RULES.all.$comment.code(it, '$comment') }} +{{?}} + +{{? $typeSchema }} + {{? it.opts.coerceTypes }} + {{ var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema); }} + {{?}} + + {{ var $rulesGroup = it.RULES.types[$typeSchema]; }} + {{? $coerceToTypes || $typeIsArray || $rulesGroup === true || + ($rulesGroup && !$shouldUseGroup($rulesGroup)) }} + {{ + var $schemaPath = it.schemaPath + '.type' + , $errSchemaPath = it.errSchemaPath + '/type'; + }} + {{# def.checkType }} + {{? $coerceToTypes }} + {{# def.coerceType }} + {{??}} + {{# def.error:'type' }} + {{?}} + } + {{?}} +{{?}} + + +{{? it.schema.$ref && !$refKeywords }} + {{= it.RULES.all.$ref.code(it, '$ref') }} + {{? $breakOnError }} + } + if (errors === {{?$top}}0{{??}}errs_{{=$lvl}}{{?}}) { + {{ $closingBraces2 += '}'; }} + {{?}} +{{??}} + {{~ it.RULES:$rulesGroup }} + {{? $shouldUseGroup($rulesGroup) }} + {{? $rulesGroup.type }} + if ({{= it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers) }}) { + {{?}} + {{? it.opts.useDefaults }} + {{? $rulesGroup.type == 'object' && it.schema.properties }} + {{# def.defaultProperties }} + {{?? $rulesGroup.type == 'array' && Array.isArray(it.schema.items) }} + {{# def.defaultItems }} + {{?}} + {{?}} + {{~ $rulesGroup.rules:$rule }} + {{? $shouldUseRule($rule) }} + {{ var $code = $rule.code(it, $rule.keyword, $rulesGroup.type); }} + {{? $code }} + {{= $code }} + {{? $breakOnError }} + {{ $closingBraces1 += '}'; }} + {{?}} + {{?}} + {{?}} + {{~}} + {{? $breakOnError }} + {{= $closingBraces1 }} + {{ $closingBraces1 = ''; }} + {{?}} + {{? $rulesGroup.type }} + } + {{? $typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes }} + else { + {{ + var $schemaPath = it.schemaPath + '.type' + , $errSchemaPath = it.errSchemaPath + '/type'; + }} + {{# def.error:'type' }} + } + {{?}} + {{?}} + + {{? $breakOnError }} + if (errors === {{?$top}}0{{??}}errs_{{=$lvl}}{{?}}) { + {{ $closingBraces2 += '}'; }} + {{?}} + {{?}} + {{~}} +{{?}} + +{{? $breakOnError }} {{= $closingBraces2 }} {{?}} + +{{? $top }} + {{? $async }} + if (errors === 0) return data; {{ /* don't edit, used in replace */ }} + else throw new ValidationError(vErrors); {{ /* don't edit, used in replace */ }} + {{??}} + validate.errors = vErrors; {{ /* don't edit, used in replace */ }} + return errors === 0; {{ /* don't edit, used in replace */ }} + {{?}} + }; + + return validate; +{{??}} + var {{=$valid}} = errors === errs_{{=$lvl}}; +{{?}} + +{{ + function $shouldUseGroup($rulesGroup) { + var rules = $rulesGroup.rules; + for (var i=0; i < rules.length; i++) + if ($shouldUseRule(rules[i])) + return true; + } + + function $shouldUseRule($rule) { + return it.schema[$rule.keyword] !== undefined || + ($rule.implements && $ruleImplementsSomeKeyword($rule)); + } + + function $ruleImplementsSomeKeyword($rule) { + var impl = $rule.implements; + for (var i=0; i < impl.length; i++) + if (it.schema[impl[i]] !== undefined) + return true; + } +}} diff --git a/node_modules/ajv/lib/dotjs/README.md b/node_modules/ajv/lib/dotjs/README.md new file mode 100644 index 00000000..4d994846 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/README.md @@ -0,0 +1,3 @@ +These files are compiled dot templates from dot folder. + +Do NOT edit them directly, edit the templates and run `npm run build` from main ajv folder. diff --git a/node_modules/ajv/lib/dotjs/_limit.js b/node_modules/ajv/lib/dotjs/_limit.js new file mode 100644 index 00000000..05a1979d --- /dev/null +++ b/node_modules/ajv/lib/dotjs/_limit.js @@ -0,0 +1,163 @@ +'use strict'; +module.exports = function generate__limit(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $isMax = $keyword == 'maximum', + $exclusiveKeyword = $isMax ? 'exclusiveMaximum' : 'exclusiveMinimum', + $schemaExcl = it.schema[$exclusiveKeyword], + $isDataExcl = it.opts.$data && $schemaExcl && $schemaExcl.$data, + $op = $isMax ? '<' : '>', + $notOp = $isMax ? '>' : '<', + $errorKeyword = undefined; + if (!($isData || typeof $schema == 'number' || $schema === undefined)) { + throw new Error($keyword + ' must be number'); + } + if (!($isDataExcl || $schemaExcl === undefined || typeof $schemaExcl == 'number' || typeof $schemaExcl == 'boolean')) { + throw new Error($exclusiveKeyword + ' must be number or boolean'); + } + if ($isDataExcl) { + var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr), + $exclusive = 'exclusive' + $lvl, + $exclType = 'exclType' + $lvl, + $exclIsNumber = 'exclIsNumber' + $lvl, + $opExpr = 'op' + $lvl, + $opStr = '\' + ' + $opExpr + ' + \''; + out += ' var schemaExcl' + ($lvl) + ' = ' + ($schemaValueExcl) + '; '; + $schemaValueExcl = 'schemaExcl' + $lvl; + out += ' var ' + ($exclusive) + '; var ' + ($exclType) + ' = typeof ' + ($schemaValueExcl) + '; if (' + ($exclType) + ' != \'boolean\' && ' + ($exclType) + ' != \'undefined\' && ' + ($exclType) + ' != \'number\') { '; + var $errorKeyword = $exclusiveKeyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_exclusiveLimit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'' + ($exclusiveKeyword) + ' should be boolean\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($exclType) + ' == \'number\' ? ( (' + ($exclusive) + ' = ' + ($schemaValue) + ' === undefined || ' + ($schemaValueExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ') ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValueExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) : ( (' + ($exclusive) + ' = ' + ($schemaValueExcl) + ' === true) ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValue) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { var op' + ($lvl) + ' = ' + ($exclusive) + ' ? \'' + ($op) + '\' : \'' + ($op) + '=\'; '; + if ($schema === undefined) { + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $schemaValue = $schemaValueExcl; + $isData = $isDataExcl; + } + } else { + var $exclIsNumber = typeof $schemaExcl == 'number', + $opStr = $op; + if ($exclIsNumber && $isData) { + var $opExpr = '\'' + $opStr + '\''; + out += ' if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ( ' + ($schemaValue) + ' === undefined || ' + ($schemaExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ' ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { '; + } else { + if ($exclIsNumber && $schema === undefined) { + $exclusive = true; + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $schemaValue = $schemaExcl; + $notOp += '='; + } else { + if ($exclIsNumber) $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema); + if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) { + $exclusive = true; + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $notOp += '='; + } else { + $exclusive = false; + $opStr += '='; + } + } + var $opExpr = '\'' + $opStr + '\''; + out += ' if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' || ' + ($data) + ' !== ' + ($data) + ') { '; + } + } + $errorKeyword = $errorKeyword || $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { comparison: ' + ($opExpr) + ', limit: ' + ($schemaValue) + ', exclusive: ' + ($exclusive) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be ' + ($opStr) + ' '; + if ($isData) { + out += '\' + ' + ($schemaValue); + } else { + out += '' + ($schemaValue) + '\''; + } + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/_limitItems.js b/node_modules/ajv/lib/dotjs/_limitItems.js new file mode 100644 index 00000000..e092a559 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/_limitItems.js @@ -0,0 +1,80 @@ +'use strict'; +module.exports = function generate__limitItems(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxItems' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($data) + '.length ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have '; + if ($keyword == 'maxItems') { + out += 'more'; + } else { + out += 'fewer'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' items\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/_limitLength.js b/node_modules/ajv/lib/dotjs/_limitLength.js new file mode 100644 index 00000000..ecbd3fe1 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/_limitLength.js @@ -0,0 +1,85 @@ +'use strict'; +module.exports = function generate__limitLength(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxLength' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + if (it.opts.unicode === false) { + out += ' ' + ($data) + '.length '; + } else { + out += ' ucs2length(' + ($data) + ') '; + } + out += ' ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitLength') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be '; + if ($keyword == 'maxLength') { + out += 'longer'; + } else { + out += 'shorter'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' characters\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/_limitProperties.js b/node_modules/ajv/lib/dotjs/_limitProperties.js new file mode 100644 index 00000000..d232755a --- /dev/null +++ b/node_modules/ajv/lib/dotjs/_limitProperties.js @@ -0,0 +1,80 @@ +'use strict'; +module.exports = function generate__limitProperties(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxProperties' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' Object.keys(' + ($data) + ').length ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitProperties') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have '; + if ($keyword == 'maxProperties') { + out += 'more'; + } else { + out += 'fewer'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' properties\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/allOf.js b/node_modules/ajv/lib/dotjs/allOf.js new file mode 100644 index 00000000..fb8c2e4b --- /dev/null +++ b/node_modules/ajv/lib/dotjs/allOf.js @@ -0,0 +1,42 @@ +'use strict'; +module.exports = function generate_allOf(it, $keyword, $ruleType) { + var out = ' '; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $currentBaseId = $it.baseId, + $allSchemasEmpty = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $allSchemasEmpty = false; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if ($breakOnError) { + if ($allSchemasEmpty) { + out += ' if (true) { '; + } else { + out += ' ' + ($closingBraces.slice(0, -1)) + ' '; + } + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/anyOf.js b/node_modules/ajv/lib/dotjs/anyOf.js new file mode 100644 index 00000000..0600a9d4 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/anyOf.js @@ -0,0 +1,73 @@ +'use strict'; +module.exports = function generate_anyOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $noEmptySchema = $schema.every(function($sch) { + return (it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all)); + }); + if ($noEmptySchema) { + var $currentBaseId = $it.baseId; + out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = false; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($valid) + ' || ' + ($nextValid) + '; if (!' + ($valid) + ') { '; + $closingBraces += '}'; + } + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($closingBraces) + ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('anyOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should match some schema in anyOf\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + if (it.opts.allErrors) { + out += ' } '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/comment.js b/node_modules/ajv/lib/dotjs/comment.js new file mode 100644 index 00000000..dd66bb8f --- /dev/null +++ b/node_modules/ajv/lib/dotjs/comment.js @@ -0,0 +1,14 @@ +'use strict'; +module.exports = function generate_comment(it, $keyword, $ruleType) { + var out = ' '; + var $schema = it.schema[$keyword]; + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $comment = it.util.toQuotedString($schema); + if (it.opts.$comment === true) { + out += ' console.log(' + ($comment) + ');'; + } else if (typeof it.opts.$comment == 'function') { + out += ' self._opts.$comment(' + ($comment) + ', ' + (it.util.toQuotedString($errSchemaPath)) + ', validate.root.schema);'; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/const.js b/node_modules/ajv/lib/dotjs/const.js new file mode 100644 index 00000000..15b7c619 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/const.js @@ -0,0 +1,56 @@ +'use strict'; +module.exports = function generate_const(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!$isData) { + out += ' var schema' + ($lvl) + ' = validate.schema' + ($schemaPath) + ';'; + } + out += 'var ' + ($valid) + ' = equal(' + ($data) + ', schema' + ($lvl) + '); if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('const') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValue: schema' + ($lvl) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be equal to constant\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' }'; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/contains.js b/node_modules/ajv/lib/dotjs/contains.js new file mode 100644 index 00000000..7d763009 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/contains.js @@ -0,0 +1,81 @@ +'use strict'; +module.exports = function generate_contains(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $idx = 'i' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $currentBaseId = it.baseId, + $nonEmptySchema = (it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all)); + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if ($nonEmptySchema) { + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($nextValid) + ' = false; for (var ' + ($idx) + ' = 0; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' if (' + ($nextValid) + ') break; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($closingBraces) + ' if (!' + ($nextValid) + ') {'; + } else { + out += ' if (' + ($data) + '.length == 0) {'; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('contains') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should contain a valid item\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + if ($nonEmptySchema) { + out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + } + if (it.opts.allErrors) { + out += ' } '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/custom.js b/node_modules/ajv/lib/dotjs/custom.js new file mode 100644 index 00000000..f3e641e7 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/custom.js @@ -0,0 +1,228 @@ +'use strict'; +module.exports = function generate_custom(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $rule = this, + $definition = 'definition' + $lvl, + $rDef = $rule.definition, + $closingBraces = ''; + var $compile, $inline, $macro, $ruleValidate, $validateCode; + if ($isData && $rDef.$data) { + $validateCode = 'keywordValidate' + $lvl; + var $validateSchema = $rDef.validateSchema; + out += ' var ' + ($definition) + ' = RULES.custom[\'' + ($keyword) + '\'].definition; var ' + ($validateCode) + ' = ' + ($definition) + '.validate;'; + } else { + $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it); + if (!$ruleValidate) return; + $schemaValue = 'validate.schema' + $schemaPath; + $validateCode = $ruleValidate.code; + $compile = $rDef.compile; + $inline = $rDef.inline; + $macro = $rDef.macro; + } + var $ruleErrs = $validateCode + '.errors', + $i = 'i' + $lvl, + $ruleErr = 'ruleErr' + $lvl, + $asyncKeyword = $rDef.async; + if ($asyncKeyword && !it.async) throw new Error('async keyword in sync schema'); + if (!($inline || $macro)) { + out += '' + ($ruleErrs) + ' = null;'; + } + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if ($isData && $rDef.$data) { + $closingBraces += '}'; + out += ' if (' + ($schemaValue) + ' === undefined) { ' + ($valid) + ' = true; } else { '; + if ($validateSchema) { + $closingBraces += '}'; + out += ' ' + ($valid) + ' = ' + ($definition) + '.validateSchema(' + ($schemaValue) + '); if (' + ($valid) + ') { '; + } + } + if ($inline) { + if ($rDef.statements) { + out += ' ' + ($ruleValidate.validate) + ' '; + } else { + out += ' ' + ($valid) + ' = ' + ($ruleValidate.validate) + '; '; + } + } else if ($macro) { + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + $it.schema = $ruleValidate.validate; + $it.schemaPath = ''; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var $code = it.validate($it).replace(/validate\.schema/g, $validateCode); + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($code); + } else { + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; + out += ' ' + ($validateCode) + '.call( '; + if (it.opts.passContext) { + out += 'this'; + } else { + out += 'self'; + } + if ($compile || $rDef.schema === false) { + out += ' , ' + ($data) + ' '; + } else { + out += ' , ' + ($schemaValue) + ' , ' + ($data) + ' , validate.schema' + (it.schemaPath) + ' '; + } + out += ' , (dataPath || \'\')'; + if (it.errorPath != '""') { + out += ' + ' + (it.errorPath); + } + var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', + $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; + out += ' , ' + ($parentData) + ' , ' + ($parentDataProperty) + ' , rootData ) '; + var def_callRuleValidate = out; + out = $$outStack.pop(); + if ($rDef.errors === false) { + out += ' ' + ($valid) + ' = '; + if ($asyncKeyword) { + out += 'await '; + } + out += '' + (def_callRuleValidate) + '; '; + } else { + if ($asyncKeyword) { + $ruleErrs = 'customErrors' + $lvl; + out += ' var ' + ($ruleErrs) + ' = null; try { ' + ($valid) + ' = await ' + (def_callRuleValidate) + '; } catch (e) { ' + ($valid) + ' = false; if (e instanceof ValidationError) ' + ($ruleErrs) + ' = e.errors; else throw e; } '; + } else { + out += ' ' + ($ruleErrs) + ' = null; ' + ($valid) + ' = ' + (def_callRuleValidate) + '; '; + } + } + } + if ($rDef.modifying) { + out += ' if (' + ($parentData) + ') ' + ($data) + ' = ' + ($parentData) + '[' + ($parentDataProperty) + '];'; + } + out += '' + ($closingBraces); + if ($rDef.valid) { + if ($breakOnError) { + out += ' if (true) { '; + } + } else { + out += ' if ( '; + if ($rDef.valid === undefined) { + out += ' !'; + if ($macro) { + out += '' + ($nextValid); + } else { + out += '' + ($valid); + } + } else { + out += ' ' + (!$rDef.valid) + ' '; + } + out += ') { '; + $errorKeyword = $rule.keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'custom') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { keyword: \'' + ($rule.keyword) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should pass "' + ($rule.keyword) + '" keyword validation\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + var def_customError = out; + out = $$outStack.pop(); + if ($inline) { + if ($rDef.errors) { + if ($rDef.errors != 'full') { + out += ' for (var ' + ($i) + '=' + ($errs) + '; ' + ($i) + ' 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + out += ' ' + ($nextValid) + ' = true; if ( ' + ($data) + (it.util.getProperty($property)) + ' !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($property)) + '\') '; + } + out += ') { '; + $it.schema = $sch; + $it.schemaPath = $schemaPath + it.util.getProperty($property); + $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property); + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/enum.js b/node_modules/ajv/lib/dotjs/enum.js new file mode 100644 index 00000000..90580b9f --- /dev/null +++ b/node_modules/ajv/lib/dotjs/enum.js @@ -0,0 +1,66 @@ +'use strict'; +module.exports = function generate_enum(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $i = 'i' + $lvl, + $vSchema = 'schema' + $lvl; + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + ';'; + } + out += 'var ' + ($valid) + ';'; + if ($isData) { + out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {'; + } + out += '' + ($valid) + ' = false;for (var ' + ($i) + '=0; ' + ($i) + '<' + ($vSchema) + '.length; ' + ($i) + '++) if (equal(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + '])) { ' + ($valid) + ' = true; break; }'; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('enum') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValues: schema' + ($lvl) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be equal to one of the allowed values\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' }'; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/format.js b/node_modules/ajv/lib/dotjs/format.js new file mode 100644 index 00000000..cd9a5693 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/format.js @@ -0,0 +1,150 @@ +'use strict'; +module.exports = function generate_format(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + if (it.opts.format === false) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $unknownFormats = it.opts.unknownFormats, + $allowUnknown = Array.isArray($unknownFormats); + if ($isData) { + var $format = 'format' + $lvl, + $isObject = 'isObject' + $lvl, + $formatType = 'formatType' + $lvl; + out += ' var ' + ($format) + ' = formats[' + ($schemaValue) + ']; var ' + ($isObject) + ' = typeof ' + ($format) + ' == \'object\' && !(' + ($format) + ' instanceof RegExp) && ' + ($format) + '.validate; var ' + ($formatType) + ' = ' + ($isObject) + ' && ' + ($format) + '.type || \'string\'; if (' + ($isObject) + ') { '; + if (it.async) { + out += ' var async' + ($lvl) + ' = ' + ($format) + '.async; '; + } + out += ' ' + ($format) + ' = ' + ($format) + '.validate; } if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'string\') || '; + } + out += ' ('; + if ($unknownFormats != 'ignore') { + out += ' (' + ($schemaValue) + ' && !' + ($format) + ' '; + if ($allowUnknown) { + out += ' && self._opts.unknownFormats.indexOf(' + ($schemaValue) + ') == -1 '; + } + out += ') || '; + } + out += ' (' + ($format) + ' && ' + ($formatType) + ' == \'' + ($ruleType) + '\' && !(typeof ' + ($format) + ' == \'function\' ? '; + if (it.async) { + out += ' (async' + ($lvl) + ' ? await ' + ($format) + '(' + ($data) + ') : ' + ($format) + '(' + ($data) + ')) '; + } else { + out += ' ' + ($format) + '(' + ($data) + ') '; + } + out += ' : ' + ($format) + '.test(' + ($data) + '))))) {'; + } else { + var $format = it.formats[$schema]; + if (!$format) { + if ($unknownFormats == 'ignore') { + it.logger.warn('unknown format "' + $schema + '" ignored in schema at path "' + it.errSchemaPath + '"'); + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } else if ($allowUnknown && $unknownFormats.indexOf($schema) >= 0) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } else { + throw new Error('unknown format "' + $schema + '" is used in schema at path "' + it.errSchemaPath + '"'); + } + } + var $isObject = typeof $format == 'object' && !($format instanceof RegExp) && $format.validate; + var $formatType = $isObject && $format.type || 'string'; + if ($isObject) { + var $async = $format.async === true; + $format = $format.validate; + } + if ($formatType != $ruleType) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } + if ($async) { + if (!it.async) throw new Error('async format in sync schema'); + var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate'; + out += ' if (!(await ' + ($formatRef) + '(' + ($data) + '))) { '; + } else { + out += ' if (! '; + var $formatRef = 'formats' + it.util.getProperty($schema); + if ($isObject) $formatRef += '.validate'; + if (typeof $format == 'function') { + out += ' ' + ($formatRef) + '(' + ($data) + ') '; + } else { + out += ' ' + ($formatRef) + '.test(' + ($data) + ') '; + } + out += ') { '; + } + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('format') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { format: '; + if ($isData) { + out += '' + ($schemaValue); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match format "'; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + (it.util.escapeQuotes($schema)); + } + out += '"\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/if.js b/node_modules/ajv/lib/dotjs/if.js new file mode 100644 index 00000000..94d27ad8 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/if.js @@ -0,0 +1,103 @@ +'use strict'; +module.exports = function generate_if(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + $it.level++; + var $nextValid = 'valid' + $it.level; + var $thenSch = it.schema['then'], + $elseSch = it.schema['else'], + $thenPresent = $thenSch !== undefined && (it.opts.strictKeywords ? (typeof $thenSch == 'object' && Object.keys($thenSch).length > 0) || $thenSch === false : it.util.schemaHasRules($thenSch, it.RULES.all)), + $elsePresent = $elseSch !== undefined && (it.opts.strictKeywords ? (typeof $elseSch == 'object' && Object.keys($elseSch).length > 0) || $elseSch === false : it.util.schemaHasRules($elseSch, it.RULES.all)), + $currentBaseId = $it.baseId; + if ($thenPresent || $elsePresent) { + var $ifClause; + $it.createErrors = false; + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = true; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + $it.createErrors = true; + out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + if ($thenPresent) { + out += ' if (' + ($nextValid) + ') { '; + $it.schema = it.schema['then']; + $it.schemaPath = it.schemaPath + '.then'; + $it.errSchemaPath = it.errSchemaPath + '/then'; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($nextValid) + '; '; + if ($thenPresent && $elsePresent) { + $ifClause = 'ifClause' + $lvl; + out += ' var ' + ($ifClause) + ' = \'then\'; '; + } else { + $ifClause = '\'then\''; + } + out += ' } '; + if ($elsePresent) { + out += ' else { '; + } + } else { + out += ' if (!' + ($nextValid) + ') { '; + } + if ($elsePresent) { + $it.schema = it.schema['else']; + $it.schemaPath = it.schemaPath + '.else'; + $it.errSchemaPath = it.errSchemaPath + '/else'; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($nextValid) + '; '; + if ($thenPresent && $elsePresent) { + $ifClause = 'ifClause' + $lvl; + out += ' var ' + ($ifClause) + ' = \'else\'; '; + } else { + $ifClause = '\'else\''; + } + out += ' } '; + } + out += ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('if') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { failingKeyword: ' + ($ifClause) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match "\' + ' + ($ifClause) + ' + \'" schema\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/index.js b/node_modules/ajv/lib/dotjs/index.js new file mode 100644 index 00000000..2fb1b00e --- /dev/null +++ b/node_modules/ajv/lib/dotjs/index.js @@ -0,0 +1,33 @@ +'use strict'; + +//all requires must be explicit because browserify won't work with dynamic requires +module.exports = { + '$ref': require('./ref'), + allOf: require('./allOf'), + anyOf: require('./anyOf'), + '$comment': require('./comment'), + const: require('./const'), + contains: require('./contains'), + dependencies: require('./dependencies'), + 'enum': require('./enum'), + format: require('./format'), + 'if': require('./if'), + items: require('./items'), + maximum: require('./_limit'), + minimum: require('./_limit'), + maxItems: require('./_limitItems'), + minItems: require('./_limitItems'), + maxLength: require('./_limitLength'), + minLength: require('./_limitLength'), + maxProperties: require('./_limitProperties'), + minProperties: require('./_limitProperties'), + multipleOf: require('./multipleOf'), + not: require('./not'), + oneOf: require('./oneOf'), + pattern: require('./pattern'), + properties: require('./properties'), + propertyNames: require('./propertyNames'), + required: require('./required'), + uniqueItems: require('./uniqueItems'), + validate: require('./validate') +}; diff --git a/node_modules/ajv/lib/dotjs/items.js b/node_modules/ajv/lib/dotjs/items.js new file mode 100644 index 00000000..bee5d67d --- /dev/null +++ b/node_modules/ajv/lib/dotjs/items.js @@ -0,0 +1,140 @@ +'use strict'; +module.exports = function generate_items(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $idx = 'i' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $currentBaseId = it.baseId; + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if (Array.isArray($schema)) { + var $additionalItems = it.schema.additionalItems; + if ($additionalItems === false) { + out += ' ' + ($valid) + ' = ' + ($data) + '.length <= ' + ($schema.length) + '; '; + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + '/additionalItems'; + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('additionalItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schema.length) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have more than ' + ($schema.length) + ' items\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + $errSchemaPath = $currErrSchemaPath; + if ($breakOnError) { + $closingBraces += '}'; + out += ' else { '; + } + } + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($i) + ') { '; + var $passData = $data + '[' + $i + ']'; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true); + $it.dataPathArr[$dataNxt] = $i; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if (typeof $additionalItems == 'object' && (it.opts.strictKeywords ? (typeof $additionalItems == 'object' && Object.keys($additionalItems).length > 0) || $additionalItems === false : it.util.schemaHasRules($additionalItems, it.RULES.all))) { + $it.schema = $additionalItems; + $it.schemaPath = it.schemaPath + '.additionalItems'; + $it.errSchemaPath = it.errSchemaPath + '/additionalItems'; + out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($schema.length) + ') { for (var ' + ($idx) + ' = ' + ($schema.length) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' } } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } else if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' for (var ' + ($idx) + ' = ' + (0) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' }'; + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/multipleOf.js b/node_modules/ajv/lib/dotjs/multipleOf.js new file mode 100644 index 00000000..9d6401b8 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/multipleOf.js @@ -0,0 +1,80 @@ +'use strict'; +module.exports = function generate_multipleOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + out += 'var division' + ($lvl) + ';if ('; + if ($isData) { + out += ' ' + ($schemaValue) + ' !== undefined && ( typeof ' + ($schemaValue) + ' != \'number\' || '; + } + out += ' (division' + ($lvl) + ' = ' + ($data) + ' / ' + ($schemaValue) + ', '; + if (it.opts.multipleOfPrecision) { + out += ' Math.abs(Math.round(division' + ($lvl) + ') - division' + ($lvl) + ') > 1e-' + (it.opts.multipleOfPrecision) + ' '; + } else { + out += ' division' + ($lvl) + ' !== parseInt(division' + ($lvl) + ') '; + } + out += ' ) '; + if ($isData) { + out += ' ) '; + } + out += ' ) { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('multipleOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { multipleOf: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be multiple of '; + if ($isData) { + out += '\' + ' + ($schemaValue); + } else { + out += '' + ($schemaValue) + '\''; + } + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/not.js b/node_modules/ajv/lib/dotjs/not.js new file mode 100644 index 00000000..f50c9378 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/not.js @@ -0,0 +1,84 @@ +'use strict'; +module.exports = function generate_not(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + $it.level++; + var $nextValid = 'valid' + $it.level; + if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($errs) + ' = errors; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.createErrors = false; + var $allErrorsOption; + if ($it.opts.allErrors) { + $allErrorsOption = $it.opts.allErrors; + $it.opts.allErrors = false; + } + out += ' ' + (it.validate($it)) + ' '; + $it.createErrors = true; + if ($allErrorsOption) $it.opts.allErrors = $allErrorsOption; + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' if (' + ($nextValid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('not') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be valid\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + if (it.opts.allErrors) { + out += ' } '; + } + } else { + out += ' var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('not') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be valid\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if ($breakOnError) { + out += ' if (false) { '; + } + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/oneOf.js b/node_modules/ajv/lib/dotjs/oneOf.js new file mode 100644 index 00000000..dfe2fd55 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/oneOf.js @@ -0,0 +1,73 @@ +'use strict'; +module.exports = function generate_oneOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $currentBaseId = $it.baseId, + $prevValid = 'prevValid' + $lvl, + $passingSchemas = 'passingSchemas' + $lvl; + out += 'var ' + ($errs) + ' = errors , ' + ($prevValid) + ' = false , ' + ($valid) + ' = false , ' + ($passingSchemas) + ' = null; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + } else { + out += ' var ' + ($nextValid) + ' = true; '; + } + if ($i) { + out += ' if (' + ($nextValid) + ' && ' + ($prevValid) + ') { ' + ($valid) + ' = false; ' + ($passingSchemas) + ' = [' + ($passingSchemas) + ', ' + ($i) + ']; } else { '; + $closingBraces += '}'; + } + out += ' if (' + ($nextValid) + ') { ' + ($valid) + ' = ' + ($prevValid) + ' = true; ' + ($passingSchemas) + ' = ' + ($i) + '; }'; + } + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += '' + ($closingBraces) + 'if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('oneOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { passingSchemas: ' + ($passingSchemas) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match exactly one schema in oneOf\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += '} else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; }'; + if (it.opts.allErrors) { + out += ' } '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/pattern.js b/node_modules/ajv/lib/dotjs/pattern.js new file mode 100644 index 00000000..1d74d6b0 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/pattern.js @@ -0,0 +1,75 @@ +'use strict'; +module.exports = function generate_pattern(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $regexp = $isData ? '(new RegExp(' + $schemaValue + '))' : it.usePattern($schema); + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'string\') || '; + } + out += ' !' + ($regexp) + '.test(' + ($data) + ') ) { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('pattern') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { pattern: '; + if ($isData) { + out += '' + ($schemaValue); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match pattern "'; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + (it.util.escapeQuotes($schema)); + } + out += '"\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/properties.js b/node_modules/ajv/lib/dotjs/properties.js new file mode 100644 index 00000000..bc5ee554 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/properties.js @@ -0,0 +1,335 @@ +'use strict'; +module.exports = function generate_properties(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $key = 'key' + $lvl, + $idx = 'idx' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $dataProperties = 'dataProperties' + $lvl; + var $schemaKeys = Object.keys($schema || {}).filter(notProto), + $pProperties = it.schema.patternProperties || {}, + $pPropertyKeys = Object.keys($pProperties).filter(notProto), + $aProperties = it.schema.additionalProperties, + $someProperties = $schemaKeys.length || $pPropertyKeys.length, + $noAdditional = $aProperties === false, + $additionalIsSchema = typeof $aProperties == 'object' && Object.keys($aProperties).length, + $removeAdditional = it.opts.removeAdditional, + $checkAdditional = $noAdditional || $additionalIsSchema || $removeAdditional, + $ownProperties = it.opts.ownProperties, + $currentBaseId = it.baseId; + var $required = it.schema.required; + if ($required && !(it.opts.$data && $required.$data) && $required.length < it.opts.loopRequired) { + var $requiredHash = it.util.toHash($required); + } + + function notProto(p) { + return p !== '__proto__'; + } + out += 'var ' + ($errs) + ' = errors;var ' + ($nextValid) + ' = true;'; + if ($ownProperties) { + out += ' var ' + ($dataProperties) + ' = undefined;'; + } + if ($checkAdditional) { + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + if ($someProperties) { + out += ' var isAdditional' + ($lvl) + ' = !(false '; + if ($schemaKeys.length) { + if ($schemaKeys.length > 8) { + out += ' || validate.schema' + ($schemaPath) + '.hasOwnProperty(' + ($key) + ') '; + } else { + var arr1 = $schemaKeys; + if (arr1) { + var $propertyKey, i1 = -1, + l1 = arr1.length - 1; + while (i1 < l1) { + $propertyKey = arr1[i1 += 1]; + out += ' || ' + ($key) + ' == ' + (it.util.toQuotedString($propertyKey)) + ' '; + } + } + } + } + if ($pPropertyKeys.length) { + var arr2 = $pPropertyKeys; + if (arr2) { + var $pProperty, $i = -1, + l2 = arr2.length - 1; + while ($i < l2) { + $pProperty = arr2[$i += 1]; + out += ' || ' + (it.usePattern($pProperty)) + '.test(' + ($key) + ') '; + } + } + } + out += ' ); if (isAdditional' + ($lvl) + ') { '; + } + if ($removeAdditional == 'all') { + out += ' delete ' + ($data) + '[' + ($key) + ']; '; + } else { + var $currentErrorPath = it.errorPath; + var $additionalProperty = '\' + ' + $key + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + } + if ($noAdditional) { + if ($removeAdditional) { + out += ' delete ' + ($data) + '[' + ($key) + ']; '; + } else { + out += ' ' + ($nextValid) + ' = false; '; + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + '/additionalProperties'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('additionalProperties') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { additionalProperty: \'' + ($additionalProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is an invalid additional property'; + } else { + out += 'should NOT have additional properties'; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + $errSchemaPath = $currErrSchemaPath; + if ($breakOnError) { + out += ' break; '; + } + } + } else if ($additionalIsSchema) { + if ($removeAdditional == 'failing') { + out += ' var ' + ($errs) + ' = errors; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.schema = $aProperties; + $it.schemaPath = it.schemaPath + '.additionalProperties'; + $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; + $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' if (!' + ($nextValid) + ') { errors = ' + ($errs) + '; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete ' + ($data) + '[' + ($key) + ']; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + } else { + $it.schema = $aProperties; + $it.schemaPath = it.schemaPath + '.additionalProperties'; + $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; + $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + } + } + it.errorPath = $currentErrorPath; + } + if ($someProperties) { + out += ' } '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + var $useDefaults = it.opts.useDefaults && !it.compositeRule; + if ($schemaKeys.length) { + var arr3 = $schemaKeys; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $sch = $schema[$propertyKey]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + var $prop = it.util.getProperty($propertyKey), + $passData = $data + $prop, + $hasDefault = $useDefaults && $sch.default !== undefined; + $it.schema = $sch; + $it.schemaPath = $schemaPath + $prop; + $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($propertyKey); + $it.errorPath = it.util.getPath(it.errorPath, $propertyKey, it.opts.jsonPointers); + $it.dataPathArr[$dataNxt] = it.util.toQuotedString($propertyKey); + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + $code = it.util.varReplace($code, $nextData, $passData); + var $useData = $passData; + } else { + var $useData = $nextData; + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; '; + } + if ($hasDefault) { + out += ' ' + ($code) + ' '; + } else { + if ($requiredHash && $requiredHash[$propertyKey]) { + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { ' + ($nextValid) + ' = false; '; + var $currentErrorPath = it.errorPath, + $currErrSchemaPath = $errSchemaPath, + $missingProperty = it.util.escapeQuotes($propertyKey); + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + $errSchemaPath = it.errSchemaPath + '/required'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + $errSchemaPath = $currErrSchemaPath; + it.errorPath = $currentErrorPath; + out += ' } else { '; + } else { + if ($breakOnError) { + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { ' + ($nextValid) + ' = true; } else { '; + } else { + out += ' if (' + ($useData) + ' !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ' ) { '; + } + } + out += ' ' + ($code) + ' } '; + } + } + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if ($pPropertyKeys.length) { + var arr4 = $pPropertyKeys; + if (arr4) { + var $pProperty, i4 = -1, + l4 = arr4.length - 1; + while (i4 < l4) { + $pProperty = arr4[i4 += 1]; + var $sch = $pProperties[$pProperty]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $it.schema = $sch; + $it.schemaPath = it.schemaPath + '.patternProperties' + it.util.getProperty($pProperty); + $it.errSchemaPath = it.errSchemaPath + '/patternProperties/' + it.util.escapeFragment($pProperty); + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + out += ' if (' + (it.usePattern($pProperty)) + '.test(' + ($key) + ')) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else ' + ($nextValid) + ' = true; '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/propertyNames.js b/node_modules/ajv/lib/dotjs/propertyNames.js new file mode 100644 index 00000000..2a54a08f --- /dev/null +++ b/node_modules/ajv/lib/dotjs/propertyNames.js @@ -0,0 +1,81 @@ +'use strict'; +module.exports = function generate_propertyNames(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + out += 'var ' + ($errs) + ' = errors;'; + if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + var $key = 'key' + $lvl, + $idx = 'idx' + $lvl, + $i = 'i' + $lvl, + $invalidName = '\' + ' + $key + ' + \'', + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $dataProperties = 'dataProperties' + $lvl, + $ownProperties = it.opts.ownProperties, + $currentBaseId = it.baseId; + if ($ownProperties) { + out += ' var ' + ($dataProperties) + ' = undefined; '; + } + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + out += ' var startErrs' + ($lvl) + ' = errors; '; + var $passData = $key; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' if (!' + ($nextValid) + ') { for (var ' + ($i) + '=startErrs' + ($lvl) + '; ' + ($i) + ' 0) || $propertySch === false : it.util.schemaHasRules($propertySch, it.RULES.all)))) { + $required[$required.length] = $property; + } + } + } + } else { + var $required = $schema; + } + } + if ($isData || $required.length) { + var $currentErrorPath = it.errorPath, + $loopRequired = $isData || $required.length >= it.opts.loopRequired, + $ownProperties = it.opts.ownProperties; + if ($breakOnError) { + out += ' var missing' + ($lvl) + '; '; + if ($loopRequired) { + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; '; + } + var $i = 'i' + $lvl, + $propertyPath = 'schema' + $lvl + '[' + $i + ']', + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); + } + out += ' var ' + ($valid) + ' = true; '; + if ($isData) { + out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {'; + } + out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { ' + ($valid) + ' = ' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) '; + } + out += '; if (!' + ($valid) + ') break; } '; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + } else { + out += ' if ( '; + var arr2 = $required; + if (arr2) { + var $propertyKey, $i = -1, + l2 = arr2.length - 1; + while ($i < l2) { + $propertyKey = arr2[$i += 1]; + if ($i) { + out += ' || '; + } + var $prop = it.util.getProperty($propertyKey), + $useData = $data + $prop; + out += ' ( ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') && (missing' + ($lvl) + ' = ' + (it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop)) + ') ) '; + } + } + out += ') { '; + var $propertyPath = 'missing' + $lvl, + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + ' + ' + $propertyPath; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + } + } else { + if ($loopRequired) { + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; '; + } + var $i = 'i' + $lvl, + $propertyPath = 'schema' + $lvl + '[' + $i + ']', + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); + } + if ($isData) { + out += ' if (' + ($vSchema) + ' && !Array.isArray(' + ($vSchema) + ')) { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (' + ($vSchema) + ' !== undefined) { '; + } + out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { if (' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) '; + } + out += ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } '; + if ($isData) { + out += ' } '; + } + } else { + var arr3 = $required; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $prop = it.util.getProperty($propertyKey), + $missingProperty = it.util.escapeQuotes($propertyKey), + $useData = $data + $prop; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } '; + } + } + } + } + it.errorPath = $currentErrorPath; + } else if ($breakOnError) { + out += ' if (true) {'; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/uniqueItems.js b/node_modules/ajv/lib/dotjs/uniqueItems.js new file mode 100644 index 00000000..0736a0ed --- /dev/null +++ b/node_modules/ajv/lib/dotjs/uniqueItems.js @@ -0,0 +1,86 @@ +'use strict'; +module.exports = function generate_uniqueItems(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (($schema || $isData) && it.opts.uniqueItems !== false) { + if ($isData) { + out += ' var ' + ($valid) + '; if (' + ($schemaValue) + ' === false || ' + ($schemaValue) + ' === undefined) ' + ($valid) + ' = true; else if (typeof ' + ($schemaValue) + ' != \'boolean\') ' + ($valid) + ' = false; else { '; + } + out += ' var i = ' + ($data) + '.length , ' + ($valid) + ' = true , j; if (i > 1) { '; + var $itemType = it.schema.items && it.schema.items.type, + $typeIsArray = Array.isArray($itemType); + if (!$itemType || $itemType == 'object' || $itemType == 'array' || ($typeIsArray && ($itemType.indexOf('object') >= 0 || $itemType.indexOf('array') >= 0))) { + out += ' outer: for (;i--;) { for (j = i; j--;) { if (equal(' + ($data) + '[i], ' + ($data) + '[j])) { ' + ($valid) + ' = false; break outer; } } } '; + } else { + out += ' var itemIndices = {}, item; for (;i--;) { var item = ' + ($data) + '[i]; '; + var $method = 'checkDataType' + ($typeIsArray ? 's' : ''); + out += ' if (' + (it.util[$method]($itemType, 'item', it.opts.strictNumbers, true)) + ') continue; '; + if ($typeIsArray) { + out += ' if (typeof item == \'string\') item = \'"\' + item; '; + } + out += ' if (typeof itemIndices[item] == \'number\') { ' + ($valid) + ' = false; j = itemIndices[item]; break; } itemIndices[item] = i; } '; + } + out += ' } '; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('uniqueItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { i: i, j: j } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have duplicate items (items ## \' + j + \' and \' + i + \' are identical)\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/validate.js b/node_modules/ajv/lib/dotjs/validate.js new file mode 100644 index 00000000..f295824b --- /dev/null +++ b/node_modules/ajv/lib/dotjs/validate.js @@ -0,0 +1,482 @@ +'use strict'; +module.exports = function generate_validate(it, $keyword, $ruleType) { + var out = ''; + var $async = it.schema.$async === true, + $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref'), + $id = it.self._getId(it.schema); + if (it.opts.strictKeywords) { + var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords); + if ($unknownKwd) { + var $keywordsMsg = 'unknown keyword: ' + $unknownKwd; + if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg); + else throw new Error($keywordsMsg); + } + } + if (it.isTop) { + out += ' var validate = '; + if ($async) { + it.async = true; + out += 'async '; + } + out += 'function(data, dataPath, parentData, parentDataProperty, rootData) { \'use strict\'; '; + if ($id && (it.opts.sourceCode || it.opts.processCode)) { + out += ' ' + ('/\*# sourceURL=' + $id + ' */') + ' '; + } + } + if (typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref)) { + var $keyword = 'false schema'; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + if (it.schema === false) { + if (it.isTop) { + $breakOnError = true; + } else { + out += ' var ' + ($valid) + ' = false; '; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'false schema') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'boolean schema is false\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + } else { + if (it.isTop) { + if ($async) { + out += ' return data; '; + } else { + out += ' validate.errors = null; return true; '; + } + } else { + out += ' var ' + ($valid) + ' = true; '; + } + } + if (it.isTop) { + out += ' }; return validate; '; + } + return out; + } + if (it.isTop) { + var $top = it.isTop, + $lvl = it.level = 0, + $dataLvl = it.dataLevel = 0, + $data = 'data'; + it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema)); + it.baseId = it.baseId || it.rootId; + delete it.isTop; + it.dataPathArr = [""]; + if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored in the schema root'; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + out += ' var vErrors = null; '; + out += ' var errors = 0; '; + out += ' if (rootData === undefined) rootData = data; '; + } else { + var $lvl = it.level, + $dataLvl = it.dataLevel, + $data = 'data' + ($dataLvl || ''); + if ($id) it.baseId = it.resolve.url(it.baseId, $id); + if ($async && !it.async) throw new Error('async schema in sync schema'); + out += ' var errs_' + ($lvl) + ' = errors;'; + } + var $valid = 'valid' + $lvl, + $breakOnError = !it.opts.allErrors, + $closingBraces1 = '', + $closingBraces2 = ''; + var $errorKeyword; + var $typeSchema = it.schema.type, + $typeIsArray = Array.isArray($typeSchema); + if ($typeSchema && it.opts.nullable && it.schema.nullable === true) { + if ($typeIsArray) { + if ($typeSchema.indexOf('null') == -1) $typeSchema = $typeSchema.concat('null'); + } else if ($typeSchema != 'null') { + $typeSchema = [$typeSchema, 'null']; + $typeIsArray = true; + } + } + if ($typeIsArray && $typeSchema.length == 1) { + $typeSchema = $typeSchema[0]; + $typeIsArray = false; + } + if (it.schema.$ref && $refKeywords) { + if (it.opts.extendRefs == 'fail') { + throw new Error('$ref: validation keywords used in schema at path "' + it.errSchemaPath + '" (see option extendRefs)'); + } else if (it.opts.extendRefs !== true) { + $refKeywords = false; + it.logger.warn('$ref: keywords ignored in schema at path "' + it.errSchemaPath + '"'); + } + } + if (it.schema.$comment && it.opts.$comment) { + out += ' ' + (it.RULES.all.$comment.code(it, '$comment')); + } + if ($typeSchema) { + if (it.opts.coerceTypes) { + var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema); + } + var $rulesGroup = it.RULES.types[$typeSchema]; + if ($coerceToTypes || $typeIsArray || $rulesGroup === true || ($rulesGroup && !$shouldUseGroup($rulesGroup))) { + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type'; + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type', + $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType'; + out += ' if (' + (it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true)) + ') { '; + if ($coerceToTypes) { + var $dataType = 'dataType' + $lvl, + $coerced = 'coerced' + $lvl; + out += ' var ' + ($dataType) + ' = typeof ' + ($data) + '; var ' + ($coerced) + ' = undefined; '; + if (it.opts.coerceTypes == 'array') { + out += ' if (' + ($dataType) + ' == \'object\' && Array.isArray(' + ($data) + ') && ' + ($data) + '.length == 1) { ' + ($data) + ' = ' + ($data) + '[0]; ' + ($dataType) + ' = typeof ' + ($data) + '; if (' + (it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers)) + ') ' + ($coerced) + ' = ' + ($data) + '; } '; + } + out += ' if (' + ($coerced) + ' !== undefined) ; '; + var arr1 = $coerceToTypes; + if (arr1) { + var $type, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $type = arr1[$i += 1]; + if ($type == 'string') { + out += ' else if (' + ($dataType) + ' == \'number\' || ' + ($dataType) + ' == \'boolean\') ' + ($coerced) + ' = \'\' + ' + ($data) + '; else if (' + ($data) + ' === null) ' + ($coerced) + ' = \'\'; '; + } else if ($type == 'number' || $type == 'integer') { + out += ' else if (' + ($dataType) + ' == \'boolean\' || ' + ($data) + ' === null || (' + ($dataType) + ' == \'string\' && ' + ($data) + ' && ' + ($data) + ' == +' + ($data) + ' '; + if ($type == 'integer') { + out += ' && !(' + ($data) + ' % 1)'; + } + out += ')) ' + ($coerced) + ' = +' + ($data) + '; '; + } else if ($type == 'boolean') { + out += ' else if (' + ($data) + ' === \'false\' || ' + ($data) + ' === 0 || ' + ($data) + ' === null) ' + ($coerced) + ' = false; else if (' + ($data) + ' === \'true\' || ' + ($data) + ' === 1) ' + ($coerced) + ' = true; '; + } else if ($type == 'null') { + out += ' else if (' + ($data) + ' === \'\' || ' + ($data) + ' === 0 || ' + ($data) + ' === false) ' + ($coerced) + ' = null; '; + } else if (it.opts.coerceTypes == 'array' && $type == 'array') { + out += ' else if (' + ($dataType) + ' == \'string\' || ' + ($dataType) + ' == \'number\' || ' + ($dataType) + ' == \'boolean\' || ' + ($data) + ' == null) ' + ($coerced) + ' = [' + ($data) + ']; '; + } + } + } + out += ' else { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } if (' + ($coerced) + ' !== undefined) { '; + var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', + $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; + out += ' ' + ($data) + ' = ' + ($coerced) + '; '; + if (!$dataLvl) { + out += 'if (' + ($parentData) + ' !== undefined)'; + } + out += ' ' + ($parentData) + '[' + ($parentDataProperty) + '] = ' + ($coerced) + '; } '; + } else { + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + } + out += ' } '; + } + } + if (it.schema.$ref && !$refKeywords) { + out += ' ' + (it.RULES.all.$ref.code(it, '$ref')) + ' '; + if ($breakOnError) { + out += ' } if (errors === '; + if ($top) { + out += '0'; + } else { + out += 'errs_' + ($lvl); + } + out += ') { '; + $closingBraces2 += '}'; + } + } else { + var arr2 = it.RULES; + if (arr2) { + var $rulesGroup, i2 = -1, + l2 = arr2.length - 1; + while (i2 < l2) { + $rulesGroup = arr2[i2 += 1]; + if ($shouldUseGroup($rulesGroup)) { + if ($rulesGroup.type) { + out += ' if (' + (it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers)) + ') { '; + } + if (it.opts.useDefaults) { + if ($rulesGroup.type == 'object' && it.schema.properties) { + var $schema = it.schema.properties, + $schemaKeys = Object.keys($schema); + var arr3 = $schemaKeys; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $sch = $schema[$propertyKey]; + if ($sch.default !== undefined) { + var $passData = $data + it.util.getProperty($propertyKey); + if (it.compositeRule) { + if (it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored for: ' + $passData; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + } else { + out += ' if (' + ($passData) + ' === undefined '; + if (it.opts.useDefaults == 'empty') { + out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' '; + } + out += ' ) ' + ($passData) + ' = '; + if (it.opts.useDefaults == 'shared') { + out += ' ' + (it.useDefault($sch.default)) + ' '; + } else { + out += ' ' + (JSON.stringify($sch.default)) + ' '; + } + out += '; '; + } + } + } + } + } else if ($rulesGroup.type == 'array' && Array.isArray(it.schema.items)) { + var arr4 = it.schema.items; + if (arr4) { + var $sch, $i = -1, + l4 = arr4.length - 1; + while ($i < l4) { + $sch = arr4[$i += 1]; + if ($sch.default !== undefined) { + var $passData = $data + '[' + $i + ']'; + if (it.compositeRule) { + if (it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored for: ' + $passData; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + } else { + out += ' if (' + ($passData) + ' === undefined '; + if (it.opts.useDefaults == 'empty') { + out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' '; + } + out += ' ) ' + ($passData) + ' = '; + if (it.opts.useDefaults == 'shared') { + out += ' ' + (it.useDefault($sch.default)) + ' '; + } else { + out += ' ' + (JSON.stringify($sch.default)) + ' '; + } + out += '; '; + } + } + } + } + } + } + var arr5 = $rulesGroup.rules; + if (arr5) { + var $rule, i5 = -1, + l5 = arr5.length - 1; + while (i5 < l5) { + $rule = arr5[i5 += 1]; + if ($shouldUseRule($rule)) { + var $code = $rule.code(it, $rule.keyword, $rulesGroup.type); + if ($code) { + out += ' ' + ($code) + ' '; + if ($breakOnError) { + $closingBraces1 += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces1) + ' '; + $closingBraces1 = ''; + } + if ($rulesGroup.type) { + out += ' } '; + if ($typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes) { + out += ' else { '; + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + } + } + if ($breakOnError) { + out += ' if (errors === '; + if ($top) { + out += '0'; + } else { + out += 'errs_' + ($lvl); + } + out += ') { '; + $closingBraces2 += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces2) + ' '; + } + if ($top) { + if ($async) { + out += ' if (errors === 0) return data; '; + out += ' else throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; '; + out += ' return errors === 0; '; + } + out += ' }; return validate;'; + } else { + out += ' var ' + ($valid) + ' = errors === errs_' + ($lvl) + ';'; + } + + function $shouldUseGroup($rulesGroup) { + var rules = $rulesGroup.rules; + for (var i = 0; i < rules.length; i++) + if ($shouldUseRule(rules[i])) return true; + } + + function $shouldUseRule($rule) { + return it.schema[$rule.keyword] !== undefined || ($rule.implements && $ruleImplementsSomeKeyword($rule)); + } + + function $ruleImplementsSomeKeyword($rule) { + var impl = $rule.implements; + for (var i = 0; i < impl.length; i++) + if (it.schema[impl[i]] !== undefined) return true; + } + return out; +} diff --git a/node_modules/ajv/lib/keyword.js b/node_modules/ajv/lib/keyword.js new file mode 100644 index 00000000..06da9a2d --- /dev/null +++ b/node_modules/ajv/lib/keyword.js @@ -0,0 +1,146 @@ +'use strict'; + +var IDENTIFIER = /^[a-z_$][a-z0-9_$-]*$/i; +var customRuleCode = require('./dotjs/custom'); +var definitionSchema = require('./definition_schema'); + +module.exports = { + add: addKeyword, + get: getKeyword, + remove: removeKeyword, + validate: validateKeyword +}; + + +/** + * Define custom keyword + * @this Ajv + * @param {String} keyword custom keyword, should be unique (including different from all standard, custom and macro keywords). + * @param {Object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`. + * @return {Ajv} this for method chaining + */ +function addKeyword(keyword, definition) { + /* jshint validthis: true */ + /* eslint no-shadow: 0 */ + var RULES = this.RULES; + if (RULES.keywords[keyword]) + throw new Error('Keyword ' + keyword + ' is already defined'); + + if (!IDENTIFIER.test(keyword)) + throw new Error('Keyword ' + keyword + ' is not a valid identifier'); + + if (definition) { + this.validateKeyword(definition, true); + + var dataType = definition.type; + if (Array.isArray(dataType)) { + for (var i=0; i ../ajv-dist/bower.json + cd ../ajv-dist + + if [[ `git status --porcelain` ]]; then + echo "Changes detected. Updating master branch..." + git add -A + git commit -m "updated by travis build #$TRAVIS_BUILD_NUMBER" + git push --quiet origin master > /dev/null 2>&1 + fi + + echo "Publishing tag..." + + git tag $TRAVIS_TAG + git push --tags > /dev/null 2>&1 + + echo "Done" +fi diff --git a/node_modules/ajv/scripts/travis-gh-pages b/node_modules/ajv/scripts/travis-gh-pages new file mode 100644 index 00000000..b3d4f3d0 --- /dev/null +++ b/node_modules/ajv/scripts/travis-gh-pages @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -e + +if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" && $TRAVIS_JOB_NUMBER =~ ".3" ]]; then + git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qE '\.md$|^LICENSE$|travis-gh-pages$' && { + rm -rf ../gh-pages + git clone -b gh-pages --single-branch https://${GITHUB_TOKEN}@github.com/ajv-validator/ajv.git ../gh-pages + mkdir -p ../gh-pages/_source + cp *.md ../gh-pages/_source + cp LICENSE ../gh-pages/_source + currentDir=$(pwd) + cd ../gh-pages + $currentDir/node_modules/.bin/gh-pages-generator + # remove logo from README + sed -i -E "s/]+ajv_logo[^>]+>//" index.md + git config user.email "$GIT_USER_EMAIL" + git config user.name "$GIT_USER_NAME" + git add . + git commit -am "updated by travis build #$TRAVIS_BUILD_NUMBER" + git push --quiet origin gh-pages > /dev/null 2>&1 + } +fi diff --git a/node_modules/asap/LICENSE.md b/node_modules/asap/LICENSE.md new file mode 100644 index 00000000..5d98ad8f --- /dev/null +++ b/node_modules/asap/LICENSE.md @@ -0,0 +1,20 @@ + +Copyright 2009–2013 Contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + diff --git a/node_modules/asap/README.md b/node_modules/asap/README.md new file mode 100644 index 00000000..9a427597 --- /dev/null +++ b/node_modules/asap/README.md @@ -0,0 +1,81 @@ + +# ASAP + +This `asap` CommonJS package contains a single `asap` module that +exports a single `asap` function that executes a function **as soon as +possible**. + +```javascript +asap(function () { + // ... +}); +``` + +More formally, ASAP provides a fast event queue that will execute tasks +until it is empty before yielding to the JavaScript engine's underlying +event-loop. When the event queue becomes non-empty, ASAP schedules a +flush event, preferring for that event to occur before the JavaScript +engine has an opportunity to perform IO tasks or rendering, thus making +the first task and subsequent tasks semantically indistinguishable. +ASAP uses a variety of techniques to preserve this invariant on +different versions of browsers and NodeJS. + +By design, ASAP can starve the event loop on the theory that, if there +is enough work to be done synchronously, albeit in separate events, long +enough to starve input or output, it is a strong indicator that the +program needs to push back on scheduling more work. + +Take care. ASAP can sustain infinite recursive calls indefinitely +without warning. This is behaviorally equivalent to an infinite loop. +It will not halt from a stack overflow, but it *will* chew through +memory (which is an oddity I cannot explain at this time). Just as with +infinite loops, you can monitor a Node process for this behavior with a +heart-beat signal. As with infinite loops, a very small amount of +caution goes a long way to avoiding problems. + +```javascript +function loop() { + asap(loop); +} +loop(); +``` + +ASAP is distinct from `setImmediate` in that it does not suffer the +overhead of returning a handle and being possible to cancel. For a +`setImmediate` shim, consider [setImmediate][]. + +[setImmediate]: https://github.com/noblejs/setimmediate + +If a task throws an exception, it will not interrupt the flushing of +high-priority tasks. The exception will be postponed to a later, +low-priority event to avoid slow-downs, when the underlying JavaScript +engine will treat it as it does any unhandled exception. + +## Heritage + +ASAP has been factored out of the [Q][] asynchronous promise library. +It originally had a naïve implementation in terms of `setTimeout`, but +[Malte Ubl][NonBlocking] provided an insight that `postMessage` might be +useful for creating a high-priority, no-delay event dispatch hack. +Since then, Internet Explorer proposed and implemented `setImmediate`. +Robert Kratić began contributing to Q by measuring the performance of +the internal implementation of `asap`, paying particular attention to +error recovery. Domenic, Robert, and I collectively settled on the +current strategy of unrolling the high-priority event queue internally +regardless of what strategy we used to dispatch the potentially +lower-priority flush event. Domenic went on to make ASAP cooperate with +NodeJS domains. + +[Q]: https://github.com/kriskowal/q +[NonBlocking]: http://www.nonblocking.io/2011/06/windownexttick.html + +For further reading, Nicholas Zakas provided a thorough article on [The +Case for setImmediate][NCZ]. + +[NCZ]: http://www.nczonline.net/blog/2013/07/09/the-case-for-setimmediate/ + +## License + +Copyright 2009-2013 by Contributors +MIT License (enclosed) + diff --git a/node_modules/asap/asap.js b/node_modules/asap/asap.js new file mode 100644 index 00000000..2f85516c --- /dev/null +++ b/node_modules/asap/asap.js @@ -0,0 +1,113 @@ + +// Use the fastest possible means to execute a task in a future turn +// of the event loop. + +// linked list of tasks (single, with head node) +var head = {task: void 0, next: null}; +var tail = head; +var flushing = false; +var requestFlush = void 0; +var isNodeJS = false; + +function flush() { + /* jshint loopfunc: true */ + + while (head.next) { + head = head.next; + var task = head.task; + head.task = void 0; + var domain = head.domain; + + if (domain) { + head.domain = void 0; + domain.enter(); + } + + try { + task(); + + } catch (e) { + if (isNodeJS) { + // In node, uncaught exceptions are considered fatal errors. + // Re-throw them synchronously to interrupt flushing! + + // Ensure continuation if the uncaught exception is suppressed + // listening "uncaughtException" events (as domains does). + // Continue in next event to avoid tick recursion. + if (domain) { + domain.exit(); + } + setTimeout(flush, 0); + if (domain) { + domain.enter(); + } + + throw e; + + } else { + // In browsers, uncaught exceptions are not fatal. + // Re-throw them asynchronously to avoid slow-downs. + setTimeout(function() { + throw e; + }, 0); + } + } + + if (domain) { + domain.exit(); + } + } + + flushing = false; +} + +if (typeof process !== "undefined" && process.nextTick) { + // Node.js before 0.9. Note that some fake-Node environments, like the + // Mocha test runner, introduce a `process` global without a `nextTick`. + isNodeJS = true; + + requestFlush = function () { + process.nextTick(flush); + }; + +} else if (typeof setImmediate === "function") { + // In IE10, Node.js 0.9+, or https://github.com/NobleJS/setImmediate + if (typeof window !== "undefined") { + requestFlush = setImmediate.bind(window, flush); + } else { + requestFlush = function () { + setImmediate(flush); + }; + } + +} else if (typeof MessageChannel !== "undefined") { + // modern browsers + // http://www.nonblocking.io/2011/06/windownexttick.html + var channel = new MessageChannel(); + channel.port1.onmessage = flush; + requestFlush = function () { + channel.port2.postMessage(0); + }; + +} else { + // old browsers + requestFlush = function () { + setTimeout(flush, 0); + }; +} + +function asap(task) { + tail = tail.next = { + task: task, + domain: isNodeJS && process.domain, + next: null + }; + + if (!flushing) { + flushing = true; + requestFlush(); + } +}; + +module.exports = asap; + diff --git a/node_modules/asap/package.json b/node_modules/asap/package.json new file mode 100644 index 00000000..7dc6244a --- /dev/null +++ b/node_modules/asap/package.json @@ -0,0 +1,42 @@ +{ + "_from": "asap@~1.0.0", + "_id": "asap@1.0.0", + "_inBundle": false, + "_integrity": "sha1-sqRdpf36ILBJb8N2jMJ8EvqRan0=", + "_location": "/asap", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "asap@~1.0.0", + "name": "asap", + "escapedName": "asap", + "rawSpec": "~1.0.0", + "saveSpec": null, + "fetchSpec": "~1.0.0" + }, + "_requiredBy": [ + "/promise" + ], + "_resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz", + "_shasum": "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d", + "_spec": "asap@~1.0.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\promise", + "bundleDependencies": false, + "deprecated": false, + "description": "High-priority task queue for Node.js and browsers", + "keywords": [ + "event", + "task", + "queue" + ], + "licenses": [ + { + "type": "MIT", + "url": "https://github.com/kriskowal/asap/raw/master/LICENSE.md" + } + ], + "main": "asap", + "name": "asap", + "version": "1.0.0" +} diff --git a/node_modules/asn1/.npmignore b/node_modules/asn1/.npmignore new file mode 100644 index 00000000..eb03e3e1 --- /dev/null +++ b/node_modules/asn1/.npmignore @@ -0,0 +1,2 @@ +node_modules +*.log diff --git a/node_modules/asn1/.travis.yml b/node_modules/asn1/.travis.yml new file mode 100644 index 00000000..09d3ef37 --- /dev/null +++ b/node_modules/asn1/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - 0.8 + - 0.10 diff --git a/node_modules/asn1/LICENSE b/node_modules/asn1/LICENSE new file mode 100644 index 00000000..9b5dcdb7 --- /dev/null +++ b/node_modules/asn1/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2011 Mark Cavage, All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE diff --git a/node_modules/asn1/README.md b/node_modules/asn1/README.md new file mode 100644 index 00000000..7cebf7a2 --- /dev/null +++ b/node_modules/asn1/README.md @@ -0,0 +1,50 @@ +node-asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS. +Currently BER encoding is supported; at some point I'll likely have to do DER. + +## Usage + +Mostly, if you're *actually* needing to read and write ASN.1, you probably don't +need this readme to explain what and why. If you have no idea what ASN.1 is, +see this: ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc + +The source is pretty much self-explanatory, and has read/write methods for the +common types out there. + +### Decoding + +The following reads an ASN.1 sequence with a boolean. + + var Ber = require('asn1').Ber; + + var reader = new Ber.Reader(new Buffer([0x30, 0x03, 0x01, 0x01, 0xff])); + + reader.readSequence(); + console.log('Sequence len: ' + reader.length); + if (reader.peek() === Ber.Boolean) + console.log(reader.readBoolean()); + +### Encoding + +The following generates the same payload as above. + + var Ber = require('asn1').Ber; + + var writer = new Ber.Writer(); + + writer.startSequence(); + writer.writeBoolean(true); + writer.endSequence(); + + console.log(writer.buffer); + +## Installation + + npm install asn1 + +## License + +MIT. + +## Bugs + +See . diff --git a/node_modules/asn1/lib/ber/errors.js b/node_modules/asn1/lib/ber/errors.js new file mode 100644 index 00000000..ff21d4fa --- /dev/null +++ b/node_modules/asn1/lib/ber/errors.js @@ -0,0 +1,13 @@ +// Copyright 2011 Mark Cavage All rights reserved. + + +module.exports = { + + newInvalidAsn1Error: function(msg) { + var e = new Error(); + e.name = 'InvalidAsn1Error'; + e.message = msg || ''; + return e; + } + +}; diff --git a/node_modules/asn1/lib/ber/index.js b/node_modules/asn1/lib/ber/index.js new file mode 100644 index 00000000..4fb90aea --- /dev/null +++ b/node_modules/asn1/lib/ber/index.js @@ -0,0 +1,27 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +var errors = require('./errors'); +var types = require('./types'); + +var Reader = require('./reader'); +var Writer = require('./writer'); + + +///--- Exports + +module.exports = { + + Reader: Reader, + + Writer: Writer + +}; + +for (var t in types) { + if (types.hasOwnProperty(t)) + module.exports[t] = types[t]; +} +for (var e in errors) { + if (errors.hasOwnProperty(e)) + module.exports[e] = errors[e]; +} diff --git a/node_modules/asn1/lib/ber/reader.js b/node_modules/asn1/lib/ber/reader.js new file mode 100644 index 00000000..0a00e98e --- /dev/null +++ b/node_modules/asn1/lib/ber/reader.js @@ -0,0 +1,261 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +var assert = require('assert'); + +var ASN1 = require('./types'); +var errors = require('./errors'); + + +///--- Globals + +var newInvalidAsn1Error = errors.newInvalidAsn1Error; + + + +///--- API + +function Reader(data) { + if (!data || !Buffer.isBuffer(data)) + throw new TypeError('data must be a node Buffer'); + + this._buf = data; + this._size = data.length; + + // These hold the "current" state + this._len = 0; + this._offset = 0; +} + +Object.defineProperty(Reader.prototype, 'length', { + enumerable: true, + get: function () { return (this._len); } +}); + +Object.defineProperty(Reader.prototype, 'offset', { + enumerable: true, + get: function () { return (this._offset); } +}); + +Object.defineProperty(Reader.prototype, 'remain', { + get: function () { return (this._size - this._offset); } +}); + +Object.defineProperty(Reader.prototype, 'buffer', { + get: function () { return (this._buf.slice(this._offset)); } +}); + + +/** + * Reads a single byte and advances offset; you can pass in `true` to make this + * a "peek" operation (i.e., get the byte, but don't advance the offset). + * + * @param {Boolean} peek true means don't move offset. + * @return {Number} the next byte, null if not enough data. + */ +Reader.prototype.readByte = function(peek) { + if (this._size - this._offset < 1) + return null; + + var b = this._buf[this._offset] & 0xff; + + if (!peek) + this._offset += 1; + + return b; +}; + + +Reader.prototype.peek = function() { + return this.readByte(true); +}; + + +/** + * Reads a (potentially) variable length off the BER buffer. This call is + * not really meant to be called directly, as callers have to manipulate + * the internal buffer afterwards. + * + * As a result of this call, you can call `Reader.length`, until the + * next thing called that does a readLength. + * + * @return {Number} the amount of offset to advance the buffer. + * @throws {InvalidAsn1Error} on bad ASN.1 + */ +Reader.prototype.readLength = function(offset) { + if (offset === undefined) + offset = this._offset; + + if (offset >= this._size) + return null; + + var lenB = this._buf[offset++] & 0xff; + if (lenB === null) + return null; + + if ((lenB & 0x80) == 0x80) { + lenB &= 0x7f; + + if (lenB == 0) + throw newInvalidAsn1Error('Indefinite length not supported'); + + if (lenB > 4) + throw newInvalidAsn1Error('encoding too long'); + + if (this._size - offset < lenB) + return null; + + this._len = 0; + for (var i = 0; i < lenB; i++) + this._len = (this._len << 8) + (this._buf[offset++] & 0xff); + + } else { + // Wasn't a variable length + this._len = lenB; + } + + return offset; +}; + + +/** + * Parses the next sequence in this BER buffer. + * + * To get the length of the sequence, call `Reader.length`. + * + * @return {Number} the sequence's tag. + */ +Reader.prototype.readSequence = function(tag) { + var seq = this.peek(); + if (seq === null) + return null; + if (tag !== undefined && tag !== seq) + throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + + ': got 0x' + seq.toString(16)); + + var o = this.readLength(this._offset + 1); // stored in `length` + if (o === null) + return null; + + this._offset = o; + return seq; +}; + + +Reader.prototype.readInt = function() { + return this._readTag(ASN1.Integer); +}; + + +Reader.prototype.readBoolean = function() { + return (this._readTag(ASN1.Boolean) === 0 ? false : true); +}; + + +Reader.prototype.readEnumeration = function() { + return this._readTag(ASN1.Enumeration); +}; + + +Reader.prototype.readString = function(tag, retbuf) { + if (!tag) + tag = ASN1.OctetString; + + var b = this.peek(); + if (b === null) + return null; + + if (b !== tag) + throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + + ': got 0x' + b.toString(16)); + + var o = this.readLength(this._offset + 1); // stored in `length` + + if (o === null) + return null; + + if (this.length > this._size - o) + return null; + + this._offset = o; + + if (this.length === 0) + return retbuf ? new Buffer(0) : ''; + + var str = this._buf.slice(this._offset, this._offset + this.length); + this._offset += this.length; + + return retbuf ? str : str.toString('utf8'); +}; + +Reader.prototype.readOID = function(tag) { + if (!tag) + tag = ASN1.OID; + + var b = this.readString(tag, true); + if (b === null) + return null; + + var values = []; + var value = 0; + + for (var i = 0; i < b.length; i++) { + var byte = b[i] & 0xff; + + value <<= 7; + value += byte & 0x7f; + if ((byte & 0x80) == 0) { + values.push(value); + value = 0; + } + } + + value = values.shift(); + values.unshift(value % 40); + values.unshift((value / 40) >> 0); + + return values.join('.'); +}; + + +Reader.prototype._readTag = function(tag) { + assert.ok(tag !== undefined); + + var b = this.peek(); + + if (b === null) + return null; + + if (b !== tag) + throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + + ': got 0x' + b.toString(16)); + + var o = this.readLength(this._offset + 1); // stored in `length` + if (o === null) + return null; + + if (this.length > 4) + throw newInvalidAsn1Error('Integer too long: ' + this.length); + + if (this.length > this._size - o) + return null; + this._offset = o; + + var fb = this._buf[this._offset]; + var value = 0; + + for (var i = 0; i < this.length; i++) { + value <<= 8; + value |= (this._buf[this._offset++] & 0xff); + } + + if ((fb & 0x80) == 0x80 && i !== 4) + value -= (1 << (i * 8)); + + return value >> 0; +}; + + + +///--- Exported API + +module.exports = Reader; diff --git a/node_modules/asn1/lib/ber/types.js b/node_modules/asn1/lib/ber/types.js new file mode 100644 index 00000000..8aea0001 --- /dev/null +++ b/node_modules/asn1/lib/ber/types.js @@ -0,0 +1,36 @@ +// Copyright 2011 Mark Cavage All rights reserved. + + +module.exports = { + EOC: 0, + Boolean: 1, + Integer: 2, + BitString: 3, + OctetString: 4, + Null: 5, + OID: 6, + ObjectDescriptor: 7, + External: 8, + Real: 9, // float + Enumeration: 10, + PDV: 11, + Utf8String: 12, + RelativeOID: 13, + Sequence: 16, + Set: 17, + NumericString: 18, + PrintableString: 19, + T61String: 20, + VideotexString: 21, + IA5String: 22, + UTCTime: 23, + GeneralizedTime: 24, + GraphicString: 25, + VisibleString: 26, + GeneralString: 28, + UniversalString: 29, + CharacterString: 30, + BMPString: 31, + Constructor: 32, + Context: 128 +}; diff --git a/node_modules/asn1/lib/ber/writer.js b/node_modules/asn1/lib/ber/writer.js new file mode 100644 index 00000000..d9d99af6 --- /dev/null +++ b/node_modules/asn1/lib/ber/writer.js @@ -0,0 +1,316 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +var assert = require('assert'); +var ASN1 = require('./types'); +var errors = require('./errors'); + + +///--- Globals + +var newInvalidAsn1Error = errors.newInvalidAsn1Error; + +var DEFAULT_OPTS = { + size: 1024, + growthFactor: 8 +}; + + +///--- Helpers + +function merge(from, to) { + assert.ok(from); + assert.equal(typeof(from), 'object'); + assert.ok(to); + assert.equal(typeof(to), 'object'); + + var keys = Object.getOwnPropertyNames(from); + keys.forEach(function(key) { + if (to[key]) + return; + + var value = Object.getOwnPropertyDescriptor(from, key); + Object.defineProperty(to, key, value); + }); + + return to; +} + + + +///--- API + +function Writer(options) { + options = merge(DEFAULT_OPTS, options || {}); + + this._buf = new Buffer(options.size || 1024); + this._size = this._buf.length; + this._offset = 0; + this._options = options; + + // A list of offsets in the buffer where we need to insert + // sequence tag/len pairs. + this._seq = []; +} + +Object.defineProperty(Writer.prototype, 'buffer', { + get: function () { + if (this._seq.length) + throw new InvalidAsn1Error(this._seq.length + ' unended sequence(s)'); + + return (this._buf.slice(0, this._offset)); + } +}); + +Writer.prototype.writeByte = function(b) { + if (typeof(b) !== 'number') + throw new TypeError('argument must be a Number'); + + this._ensure(1); + this._buf[this._offset++] = b; +}; + + +Writer.prototype.writeInt = function(i, tag) { + if (typeof(i) !== 'number') + throw new TypeError('argument must be a Number'); + if (typeof(tag) !== 'number') + tag = ASN1.Integer; + + var sz = 4; + + while ((((i & 0xff800000) === 0) || ((i & 0xff800000) === 0xff800000 >> 0)) && + (sz > 1)) { + sz--; + i <<= 8; + } + + if (sz > 4) + throw new InvalidAsn1Error('BER ints cannot be > 0xffffffff'); + + this._ensure(2 + sz); + this._buf[this._offset++] = tag; + this._buf[this._offset++] = sz; + + while (sz-- > 0) { + this._buf[this._offset++] = ((i & 0xff000000) >>> 24); + i <<= 8; + } + +}; + + +Writer.prototype.writeNull = function() { + this.writeByte(ASN1.Null); + this.writeByte(0x00); +}; + + +Writer.prototype.writeEnumeration = function(i, tag) { + if (typeof(i) !== 'number') + throw new TypeError('argument must be a Number'); + if (typeof(tag) !== 'number') + tag = ASN1.Enumeration; + + return this.writeInt(i, tag); +}; + + +Writer.prototype.writeBoolean = function(b, tag) { + if (typeof(b) !== 'boolean') + throw new TypeError('argument must be a Boolean'); + if (typeof(tag) !== 'number') + tag = ASN1.Boolean; + + this._ensure(3); + this._buf[this._offset++] = tag; + this._buf[this._offset++] = 0x01; + this._buf[this._offset++] = b ? 0xff : 0x00; +}; + + +Writer.prototype.writeString = function(s, tag) { + if (typeof(s) !== 'string') + throw new TypeError('argument must be a string (was: ' + typeof(s) + ')'); + if (typeof(tag) !== 'number') + tag = ASN1.OctetString; + + var len = Buffer.byteLength(s); + this.writeByte(tag); + this.writeLength(len); + if (len) { + this._ensure(len); + this._buf.write(s, this._offset); + this._offset += len; + } +}; + + +Writer.prototype.writeBuffer = function(buf, tag) { + if (typeof(tag) !== 'number') + throw new TypeError('tag must be a number'); + if (!Buffer.isBuffer(buf)) + throw new TypeError('argument must be a buffer'); + + this.writeByte(tag); + this.writeLength(buf.length); + this._ensure(buf.length); + buf.copy(this._buf, this._offset, 0, buf.length); + this._offset += buf.length; +}; + + +Writer.prototype.writeStringArray = function(strings) { + if ((!strings instanceof Array)) + throw new TypeError('argument must be an Array[String]'); + + var self = this; + strings.forEach(function(s) { + self.writeString(s); + }); +}; + +// This is really to solve DER cases, but whatever for now +Writer.prototype.writeOID = function(s, tag) { + if (typeof(s) !== 'string') + throw new TypeError('argument must be a string'); + if (typeof(tag) !== 'number') + tag = ASN1.OID; + + if (!/^([0-9]+\.){3,}[0-9]+$/.test(s)) + throw new Error('argument is not a valid OID string'); + + function encodeOctet(bytes, octet) { + if (octet < 128) { + bytes.push(octet); + } else if (octet < 16384) { + bytes.push((octet >>> 7) | 0x80); + bytes.push(octet & 0x7F); + } else if (octet < 2097152) { + bytes.push((octet >>> 14) | 0x80); + bytes.push(((octet >>> 7) | 0x80) & 0xFF); + bytes.push(octet & 0x7F); + } else if (octet < 268435456) { + bytes.push((octet >>> 21) | 0x80); + bytes.push(((octet >>> 14) | 0x80) & 0xFF); + bytes.push(((octet >>> 7) | 0x80) & 0xFF); + bytes.push(octet & 0x7F); + } else { + bytes.push(((octet >>> 28) | 0x80) & 0xFF); + bytes.push(((octet >>> 21) | 0x80) & 0xFF); + bytes.push(((octet >>> 14) | 0x80) & 0xFF); + bytes.push(((octet >>> 7) | 0x80) & 0xFF); + bytes.push(octet & 0x7F); + } + } + + var tmp = s.split('.'); + var bytes = []; + bytes.push(parseInt(tmp[0], 10) * 40 + parseInt(tmp[1], 10)); + tmp.slice(2).forEach(function(b) { + encodeOctet(bytes, parseInt(b, 10)); + }); + + var self = this; + this._ensure(2 + bytes.length); + this.writeByte(tag); + this.writeLength(bytes.length); + bytes.forEach(function(b) { + self.writeByte(b); + }); +}; + + +Writer.prototype.writeLength = function(len) { + if (typeof(len) !== 'number') + throw new TypeError('argument must be a Number'); + + this._ensure(4); + + if (len <= 0x7f) { + this._buf[this._offset++] = len; + } else if (len <= 0xff) { + this._buf[this._offset++] = 0x81; + this._buf[this._offset++] = len; + } else if (len <= 0xffff) { + this._buf[this._offset++] = 0x82; + this._buf[this._offset++] = len >> 8; + this._buf[this._offset++] = len; + } else if (len <= 0xffffff) { + this._buf[this._offset++] = 0x83; + this._buf[this._offset++] = len >> 16; + this._buf[this._offset++] = len >> 8; + this._buf[this._offset++] = len; + } else { + throw new InvalidAsn1ERror('Length too long (> 4 bytes)'); + } +}; + +Writer.prototype.startSequence = function(tag) { + if (typeof(tag) !== 'number') + tag = ASN1.Sequence | ASN1.Constructor; + + this.writeByte(tag); + this._seq.push(this._offset); + this._ensure(3); + this._offset += 3; +}; + + +Writer.prototype.endSequence = function() { + var seq = this._seq.pop(); + var start = seq + 3; + var len = this._offset - start; + + if (len <= 0x7f) { + this._shift(start, len, -2); + this._buf[seq] = len; + } else if (len <= 0xff) { + this._shift(start, len, -1); + this._buf[seq] = 0x81; + this._buf[seq + 1] = len; + } else if (len <= 0xffff) { + this._buf[seq] = 0x82; + this._buf[seq + 1] = len >> 8; + this._buf[seq + 2] = len; + } else if (len <= 0xffffff) { + this._shift(start, len, 1); + this._buf[seq] = 0x83; + this._buf[seq + 1] = len >> 16; + this._buf[seq + 2] = len >> 8; + this._buf[seq + 3] = len; + } else { + throw new InvalidAsn1Error('Sequence too long'); + } +}; + + +Writer.prototype._shift = function(start, len, shift) { + assert.ok(start !== undefined); + assert.ok(len !== undefined); + assert.ok(shift); + + this._buf.copy(this._buf, start + shift, start, start + len); + this._offset += shift; +}; + +Writer.prototype._ensure = function(len) { + assert.ok(len); + + if (this._size - this._offset < len) { + var sz = this._size * this._options.growthFactor; + if (sz - this._offset < len) + sz += len; + + var buf = new Buffer(sz); + + this._buf.copy(buf, 0, 0, this._offset); + this._buf = buf; + this._size = sz; + } +}; + + + +///--- Exported API + +module.exports = Writer; diff --git a/node_modules/asn1/lib/index.js b/node_modules/asn1/lib/index.js new file mode 100644 index 00000000..d1766e7a --- /dev/null +++ b/node_modules/asn1/lib/index.js @@ -0,0 +1,20 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +// If you have no idea what ASN.1 or BER is, see this: +// ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc + +var Ber = require('./ber/index'); + + + +///--- Exported API + +module.exports = { + + Ber: Ber, + + BerReader: Ber.Reader, + + BerWriter: Ber.Writer + +}; diff --git a/node_modules/asn1/package.json b/node_modules/asn1/package.json new file mode 100644 index 00000000..a659ff35 --- /dev/null +++ b/node_modules/asn1/package.json @@ -0,0 +1,65 @@ +{ + "_from": "asn1@0.2.3", + "_id": "asn1@0.2.3", + "_inBundle": false, + "_integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "_location": "/asn1", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "asn1@0.2.3", + "name": "asn1", + "escapedName": "asn1", + "rawSpec": "0.2.3", + "saveSpec": null, + "fetchSpec": "0.2.3" + }, + "_requiredBy": [ + "/node-rsa" + ], + "_resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "_shasum": "dac8787713c9966849fc8180777ebe9c1ddf3b86", + "_spec": "asn1@0.2.3", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\node-rsa", + "author": { + "name": "Mark Cavage", + "email": "mcavage@gmail.com" + }, + "bugs": { + "url": "https://github.com/mcavage/node-asn1/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "David Gwynne", + "email": "loki@animata.net" + }, + { + "name": "Yunong Xiao", + "email": "yunong@joyent.com" + }, + { + "name": "Alex Wilson", + "email": "alex.wilson@joyent.com" + } + ], + "dependencies": {}, + "deprecated": false, + "description": "Contains parsers and serializers for ASN.1 (currently BER only)", + "devDependencies": { + "tap": "0.4.8" + }, + "homepage": "https://github.com/mcavage/node-asn1#readme", + "license": "MIT", + "main": "lib/index.js", + "name": "asn1", + "repository": { + "type": "git", + "url": "git://github.com/mcavage/node-asn1.git" + }, + "scripts": { + "test": "tap ./tst" + }, + "version": "0.2.3" +} diff --git a/node_modules/asn1/tst/ber/reader.test.js b/node_modules/asn1/tst/ber/reader.test.js new file mode 100644 index 00000000..062fd7ee --- /dev/null +++ b/node_modules/asn1/tst/ber/reader.test.js @@ -0,0 +1,208 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +var test = require('tap').test; + + + +///--- Globals + +var BerReader; + + + +///--- Tests + +test('load library', function(t) { + BerReader = require('../../lib/index').BerReader; + t.ok(BerReader); + try { + new BerReader(); + t.fail('Should have thrown'); + } catch (e) { + t.ok(e instanceof TypeError, 'Should have been a type error'); + } + t.end(); +}); + + +test('read byte', function(t) { + var reader = new BerReader(new Buffer([0xde])); + t.ok(reader); + t.equal(reader.readByte(), 0xde, 'wrong value'); + t.end(); +}); + + +test('read 1 byte int', function(t) { + var reader = new BerReader(new Buffer([0x02, 0x01, 0x03])); + t.ok(reader); + t.equal(reader.readInt(), 0x03, 'wrong value'); + t.equal(reader.length, 0x01, 'wrong length'); + t.end(); +}); + + +test('read 2 byte int', function(t) { + var reader = new BerReader(new Buffer([0x02, 0x02, 0x7e, 0xde])); + t.ok(reader); + t.equal(reader.readInt(), 0x7ede, 'wrong value'); + t.equal(reader.length, 0x02, 'wrong length'); + t.end(); +}); + + +test('read 3 byte int', function(t) { + var reader = new BerReader(new Buffer([0x02, 0x03, 0x7e, 0xde, 0x03])); + t.ok(reader); + t.equal(reader.readInt(), 0x7ede03, 'wrong value'); + t.equal(reader.length, 0x03, 'wrong length'); + t.end(); +}); + + +test('read 4 byte int', function(t) { + var reader = new BerReader(new Buffer([0x02, 0x04, 0x7e, 0xde, 0x03, 0x01])); + t.ok(reader); + t.equal(reader.readInt(), 0x7ede0301, 'wrong value'); + t.equal(reader.length, 0x04, 'wrong length'); + t.end(); +}); + + +test('read 1 byte negative int', function(t) { + var reader = new BerReader(new Buffer([0x02, 0x01, 0xdc])); + t.ok(reader); + t.equal(reader.readInt(), -36, 'wrong value'); + t.equal(reader.length, 0x01, 'wrong length'); + t.end(); +}); + + +test('read 2 byte negative int', function(t) { + var reader = new BerReader(new Buffer([0x02, 0x02, 0xc0, 0x4e])); + t.ok(reader); + t.equal(reader.readInt(), -16306, 'wrong value'); + t.equal(reader.length, 0x02, 'wrong length'); + t.end(); +}); + + +test('read 3 byte negative int', function(t) { + var reader = new BerReader(new Buffer([0x02, 0x03, 0xff, 0x00, 0x19])); + t.ok(reader); + t.equal(reader.readInt(), -65511, 'wrong value'); + t.equal(reader.length, 0x03, 'wrong length'); + t.end(); +}); + + +test('read 4 byte negative int', function(t) { + var reader = new BerReader(new Buffer([0x02, 0x04, 0x91, 0x7c, 0x22, 0x1f])); + t.ok(reader); + t.equal(reader.readInt(), -1854135777, 'wrong value'); + t.equal(reader.length, 0x04, 'wrong length'); + t.end(); +}); + + +test('read boolean true', function(t) { + var reader = new BerReader(new Buffer([0x01, 0x01, 0xff])); + t.ok(reader); + t.equal(reader.readBoolean(), true, 'wrong value'); + t.equal(reader.length, 0x01, 'wrong length'); + t.end(); +}); + + +test('read boolean false', function(t) { + var reader = new BerReader(new Buffer([0x01, 0x01, 0x00])); + t.ok(reader); + t.equal(reader.readBoolean(), false, 'wrong value'); + t.equal(reader.length, 0x01, 'wrong length'); + t.end(); +}); + + +test('read enumeration', function(t) { + var reader = new BerReader(new Buffer([0x0a, 0x01, 0x20])); + t.ok(reader); + t.equal(reader.readEnumeration(), 0x20, 'wrong value'); + t.equal(reader.length, 0x01, 'wrong length'); + t.end(); +}); + + +test('read string', function(t) { + var dn = 'cn=foo,ou=unit,o=test'; + var buf = new Buffer(dn.length + 2); + buf[0] = 0x04; + buf[1] = Buffer.byteLength(dn); + buf.write(dn, 2); + var reader = new BerReader(buf); + t.ok(reader); + t.equal(reader.readString(), dn, 'wrong value'); + t.equal(reader.length, dn.length, 'wrong length'); + t.end(); +}); + + +test('read sequence', function(t) { + var reader = new BerReader(new Buffer([0x30, 0x03, 0x01, 0x01, 0xff])); + t.ok(reader); + t.equal(reader.readSequence(), 0x30, 'wrong value'); + t.equal(reader.length, 0x03, 'wrong length'); + t.equal(reader.readBoolean(), true, 'wrong value'); + t.equal(reader.length, 0x01, 'wrong length'); + t.end(); +}); + + +test('anonymous LDAPv3 bind', function(t) { + var BIND = new Buffer(14); + BIND[0] = 0x30; // Sequence + BIND[1] = 12; // len + BIND[2] = 0x02; // ASN.1 Integer + BIND[3] = 1; // len + BIND[4] = 0x04; // msgid (make up 4) + BIND[5] = 0x60; // Bind Request + BIND[6] = 7; // len + BIND[7] = 0x02; // ASN.1 Integer + BIND[8] = 1; // len + BIND[9] = 0x03; // v3 + BIND[10] = 0x04; // String (bind dn) + BIND[11] = 0; // len + BIND[12] = 0x80; // ContextSpecific (choice) + BIND[13] = 0; // simple bind + + // Start testing ^^ + var ber = new BerReader(BIND); + t.equal(ber.readSequence(), 48, 'Not an ASN.1 Sequence'); + t.equal(ber.length, 12, 'Message length should be 12'); + t.equal(ber.readInt(), 4, 'Message id should have been 4'); + t.equal(ber.readSequence(), 96, 'Bind Request should have been 96'); + t.equal(ber.length, 7, 'Bind length should have been 7'); + t.equal(ber.readInt(), 3, 'LDAP version should have been 3'); + t.equal(ber.readString(), '', 'Bind DN should have been empty'); + t.equal(ber.length, 0, 'string length should have been 0'); + t.equal(ber.readByte(), 0x80, 'Should have been ContextSpecific (choice)'); + t.equal(ber.readByte(), 0, 'Should have been simple bind'); + t.equal(null, ber.readByte(), 'Should be out of data'); + t.end(); +}); + + +test('long string', function(t) { + var buf = new Buffer(256); + var o; + var s = + '2;649;CN=Red Hat CS 71GA Demo,O=Red Hat CS 71GA Demo,C=US;' + + 'CN=RHCS Agent - admin01,UID=admin01,O=redhat,C=US [1] This is ' + + 'Teena Vradmin\'s description.'; + buf[0] = 0x04; + buf[1] = 0x81; + buf[2] = 0x94; + buf.write(s, 3); + var ber = new BerReader(buf.slice(0, 3 + s.length)); + t.equal(ber.readString(), s); + t.end(); +}); diff --git a/node_modules/asn1/tst/ber/writer.test.js b/node_modules/asn1/tst/ber/writer.test.js new file mode 100644 index 00000000..d87cb7bc --- /dev/null +++ b/node_modules/asn1/tst/ber/writer.test.js @@ -0,0 +1,370 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +var test = require('tap').test; +var sys = require('sys'); + +///--- Globals + +var BerWriter; + +var BerReader; + + +///--- Tests + +test('load library', function(t) { + BerWriter = require('../../lib/index').BerWriter; + t.ok(BerWriter); + t.ok(new BerWriter()); + t.end(); +}); + + +test('write byte', function(t) { + var writer = new BerWriter(); + + writer.writeByte(0xC2); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 1, 'Wrong length'); + t.equal(ber[0], 0xC2, 'value wrong'); + + t.end(); +}); + + +test('write 1 byte int', function(t) { + var writer = new BerWriter(); + + writer.writeInt(0x7f); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 3, 'Wrong length for an int: ' + ber.length); + t.equal(ber[0], 0x02, 'ASN.1 tag wrong (2) -> ' + ber[0]); + t.equal(ber[1], 0x01, 'length wrong(1) -> ' + ber[1]); + t.equal(ber[2], 0x7f, 'value wrong(3) -> ' + ber[2]); + + t.end(); +}); + + +test('write 2 byte int', function(t) { + var writer = new BerWriter(); + + writer.writeInt(0x7ffe); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 4, 'Wrong length for an int'); + t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); + t.equal(ber[1], 0x02, 'length wrong'); + t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); + t.equal(ber[3], 0xfe, 'value wrong (byte 2)'); + + t.end(); +}); + + +test('write 3 byte int', function(t) { + var writer = new BerWriter(); + + writer.writeInt(0x7ffffe); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 5, 'Wrong length for an int'); + t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); + t.equal(ber[1], 0x03, 'length wrong'); + t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); + t.equal(ber[3], 0xff, 'value wrong (byte 2)'); + t.equal(ber[4], 0xfe, 'value wrong (byte 3)'); + + t.end(); +}); + + +test('write 4 byte int', function(t) { + var writer = new BerWriter(); + + writer.writeInt(0x7ffffffe); + var ber = writer.buffer; + + t.ok(ber); + + t.equal(ber.length, 6, 'Wrong length for an int'); + t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); + t.equal(ber[1], 0x04, 'length wrong'); + t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); + t.equal(ber[3], 0xff, 'value wrong (byte 2)'); + t.equal(ber[4], 0xff, 'value wrong (byte 3)'); + t.equal(ber[5], 0xfe, 'value wrong (byte 4)'); + + t.end(); +}); + + +test('write 1 byte negative int', function(t) { + var writer = new BerWriter(); + + writer.writeInt(-128); + var ber = writer.buffer; + + t.ok(ber); + + t.equal(ber.length, 3, 'Wrong length for an int'); + t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); + t.equal(ber[1], 0x01, 'length wrong'); + t.equal(ber[2], 0x80, 'value wrong (byte 1)'); + + t.end(); +}); + + +test('write 2 byte negative int', function(t) { + var writer = new BerWriter(); + + writer.writeInt(-22400); + var ber = writer.buffer; + + t.ok(ber); + + t.equal(ber.length, 4, 'Wrong length for an int'); + t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); + t.equal(ber[1], 0x02, 'length wrong'); + t.equal(ber[2], 0xa8, 'value wrong (byte 1)'); + t.equal(ber[3], 0x80, 'value wrong (byte 2)'); + + t.end(); +}); + + +test('write 3 byte negative int', function(t) { + var writer = new BerWriter(); + + writer.writeInt(-481653); + var ber = writer.buffer; + + t.ok(ber); + + t.equal(ber.length, 5, 'Wrong length for an int'); + t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); + t.equal(ber[1], 0x03, 'length wrong'); + t.equal(ber[2], 0xf8, 'value wrong (byte 1)'); + t.equal(ber[3], 0xa6, 'value wrong (byte 2)'); + t.equal(ber[4], 0x8b, 'value wrong (byte 3)'); + + t.end(); +}); + + +test('write 4 byte negative int', function(t) { + var writer = new BerWriter(); + + writer.writeInt(-1522904131); + var ber = writer.buffer; + + t.ok(ber); + + t.equal(ber.length, 6, 'Wrong length for an int'); + t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); + t.equal(ber[1], 0x04, 'length wrong'); + t.equal(ber[2], 0xa5, 'value wrong (byte 1)'); + t.equal(ber[3], 0x3a, 'value wrong (byte 2)'); + t.equal(ber[4], 0x53, 'value wrong (byte 3)'); + t.equal(ber[5], 0xbd, 'value wrong (byte 4)'); + + t.end(); +}); + + +test('write boolean', function(t) { + var writer = new BerWriter(); + + writer.writeBoolean(true); + writer.writeBoolean(false); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 6, 'Wrong length'); + t.equal(ber[0], 0x01, 'tag wrong'); + t.equal(ber[1], 0x01, 'length wrong'); + t.equal(ber[2], 0xff, 'value wrong'); + t.equal(ber[3], 0x01, 'tag wrong'); + t.equal(ber[4], 0x01, 'length wrong'); + t.equal(ber[5], 0x00, 'value wrong'); + + t.end(); +}); + + +test('write string', function(t) { + var writer = new BerWriter(); + writer.writeString('hello world'); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 13, 'wrong length'); + t.equal(ber[0], 0x04, 'wrong tag'); + t.equal(ber[1], 11, 'wrong length'); + t.equal(ber.slice(2).toString('utf8'), 'hello world', 'wrong value'); + + t.end(); +}); + +test('write buffer', function(t) { + var writer = new BerWriter(); + // write some stuff to start with + writer.writeString('hello world'); + var ber = writer.buffer; + var buf = new Buffer([0x04, 0x0b, 0x30, 0x09, 0x02, 0x01, 0x0f, 0x01, 0x01, + 0xff, 0x01, 0x01, 0xff]); + writer.writeBuffer(buf.slice(2, buf.length), 0x04); + ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 26, 'wrong length'); + t.equal(ber[0], 0x04, 'wrong tag'); + t.equal(ber[1], 11, 'wrong length'); + t.equal(ber.slice(2, 13).toString('utf8'), 'hello world', 'wrong value'); + t.equal(ber[13], buf[0], 'wrong tag'); + t.equal(ber[14], buf[1], 'wrong length'); + for (var i = 13, j = 0; i < ber.length && j < buf.length; i++, j++) { + t.equal(ber[i], buf[j], 'buffer contents not identical'); + } + t.end(); +}); + +test('write string array', function(t) { + var writer = new BerWriter(); + writer.writeStringArray(['hello world', 'fubar!']); + var ber = writer.buffer; + + t.ok(ber); + + t.equal(ber.length, 21, 'wrong length'); + t.equal(ber[0], 0x04, 'wrong tag'); + t.equal(ber[1], 11, 'wrong length'); + t.equal(ber.slice(2, 13).toString('utf8'), 'hello world', 'wrong value'); + + t.equal(ber[13], 0x04, 'wrong tag'); + t.equal(ber[14], 6, 'wrong length'); + t.equal(ber.slice(15).toString('utf8'), 'fubar!', 'wrong value'); + + t.end(); +}); + + +test('resize internal buffer', function(t) { + var writer = new BerWriter({size: 2}); + writer.writeString('hello world'); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 13, 'wrong length'); + t.equal(ber[0], 0x04, 'wrong tag'); + t.equal(ber[1], 11, 'wrong length'); + t.equal(ber.slice(2).toString('utf8'), 'hello world', 'wrong value'); + + t.end(); +}); + + +test('sequence', function(t) { + var writer = new BerWriter({size: 25}); + writer.startSequence(); + writer.writeString('hello world'); + writer.endSequence(); + var ber = writer.buffer; + + t.ok(ber); + console.log(ber); + t.equal(ber.length, 15, 'wrong length'); + t.equal(ber[0], 0x30, 'wrong tag'); + t.equal(ber[1], 13, 'wrong length'); + t.equal(ber[2], 0x04, 'wrong tag'); + t.equal(ber[3], 11, 'wrong length'); + t.equal(ber.slice(4).toString('utf8'), 'hello world', 'wrong value'); + + t.end(); +}); + + +test('nested sequence', function(t) { + var writer = new BerWriter({size: 25}); + writer.startSequence(); + writer.writeString('hello world'); + writer.startSequence(); + writer.writeString('hello world'); + writer.endSequence(); + writer.endSequence(); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 30, 'wrong length'); + t.equal(ber[0], 0x30, 'wrong tag'); + t.equal(ber[1], 28, 'wrong length'); + t.equal(ber[2], 0x04, 'wrong tag'); + t.equal(ber[3], 11, 'wrong length'); + t.equal(ber.slice(4, 15).toString('utf8'), 'hello world', 'wrong value'); + t.equal(ber[15], 0x30, 'wrong tag'); + t.equal(ber[16], 13, 'wrong length'); + t.equal(ber[17], 0x04, 'wrong tag'); + t.equal(ber[18], 11, 'wrong length'); + t.equal(ber.slice(19, 30).toString('utf8'), 'hello world', 'wrong value'); + + t.end(); +}); + + +test('LDAP bind message', function(t) { + var dn = 'cn=foo,ou=unit,o=test'; + var writer = new BerWriter(); + writer.startSequence(); + writer.writeInt(3); // msgid = 3 + writer.startSequence(0x60); // ldap bind + writer.writeInt(3); // ldap v3 + writer.writeString(dn); + writer.writeByte(0x80); + writer.writeByte(0x00); + writer.endSequence(); + writer.endSequence(); + var ber = writer.buffer; + + t.ok(ber); + t.equal(ber.length, 35, 'wrong length (buffer)'); + t.equal(ber[0], 0x30, 'wrong tag'); + t.equal(ber[1], 33, 'wrong length'); + t.equal(ber[2], 0x02, 'wrong tag'); + t.equal(ber[3], 1, 'wrong length'); + t.equal(ber[4], 0x03, 'wrong value'); + t.equal(ber[5], 0x60, 'wrong tag'); + t.equal(ber[6], 28, 'wrong length'); + t.equal(ber[7], 0x02, 'wrong tag'); + t.equal(ber[8], 1, 'wrong length'); + t.equal(ber[9], 0x03, 'wrong value'); + t.equal(ber[10], 0x04, 'wrong tag'); + t.equal(ber[11], dn.length, 'wrong length'); + t.equal(ber.slice(12, 33).toString('utf8'), dn, 'wrong value'); + t.equal(ber[33], 0x80, 'wrong tag'); + t.equal(ber[34], 0x00, 'wrong len'); + + t.end(); +}); + + +test('Write OID', function(t) { + var oid = '1.2.840.113549.1.1.1'; + var writer = new BerWriter(); + writer.writeOID(oid); + + var ber = writer.buffer; + t.ok(ber); + console.log(require('util').inspect(ber)); + console.log(require('util').inspect(new Buffer([0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x01]))); + + t.end(); +}); diff --git a/node_modules/axios/CHANGELOG.md b/node_modules/axios/CHANGELOG.md new file mode 100644 index 00000000..4affca5d --- /dev/null +++ b/node_modules/axios/CHANGELOG.md @@ -0,0 +1,413 @@ +# Changelog + +### 0.19.2 (Jan 20, 2020) + +- Remove unnecessary XSS check ([#2679](https://github.com/axios/axios/pull/2679)) (see ([#2646](https://github.com/axios/axios/issues/2646)) for discussion) + +### 0.19.1 (Jan 7, 2020) + +Fixes and Functionality: + +- Fixing invalid agent issue ([#1904](https://github.com/axios/axios/pull/1904)) +- Fix ignore set withCredentials false ([#2582](https://github.com/axios/axios/pull/2582)) +- Delete useless default to hash ([#2458](https://github.com/axios/axios/pull/2458)) +- Fix HTTP/HTTPs agents passing to follow-redirect ([#1904](https://github.com/axios/axios/pull/1904)) +- Fix ignore set withCredentials false ([#2582](https://github.com/axios/axios/pull/2582)) +- Fix CI build failure ([#2570](https://github.com/axios/axios/pull/2570)) +- Remove dependency on is-buffer from package.json ([#1816](https://github.com/axios/axios/pull/1816)) +- Adding options typings ([#2341](https://github.com/axios/axios/pull/2341)) +- Adding Typescript HTTP method definition for LINK and UNLINK. ([#2444](https://github.com/axios/axios/pull/2444)) +- Update dist with newest changes, fixes Custom Attributes issue +- Change syntax to see if build passes ([#2488](https://github.com/axios/axios/pull/2488)) +- Update Webpack + deps, remove now unnecessary polyfills ([#2410](https://github.com/axios/axios/pull/2410)) +- Fix to prevent XSS, throw an error when the URL contains a JS script ([#2464](https://github.com/axios/axios/pull/2464)) +- Add custom timeout error copy in config ([#2275](https://github.com/axios/axios/pull/2275)) +- Add error toJSON example ([#2466](https://github.com/axios/axios/pull/2466)) +- Fixing Vulnerability A Fortify Scan finds a critical Cross-Site Scrip… ([#2451](https://github.com/axios/axios/pull/2451)) +- Fixing subdomain handling on no_proxy ([#2442](https://github.com/axios/axios/pull/2442)) +- Make redirection from HTTP to HTTPS work ([#2426](https://github.com/axios/axios/pull/2426] and ([#2547](https://github.com/axios/axios/pull/2547)) +- Add toJSON property to AxiosError type ([#2427](https://github.com/axios/axios/pull/2427)) +- Fixing socket hang up error on node side for slow response. ([#1752](https://github.com/axios/axios/pull/1752)) +- Alternative syntax to send data into the body ([#2317](https://github.com/axios/axios/pull/2317)) +- Fixing custom config options ([#2207](https://github.com/axios/axios/pull/2207)) +- Fixing set `config.method` after mergeConfig for Axios.prototype.request ([#2383](https://github.com/axios/axios/pull/2383)) +- Axios create url bug ([#2290](https://github.com/axios/axios/pull/2290)) +- Do not modify config.url when using a relative baseURL (resolves [#1628](https://github.com/axios/axios/issues/1098)) ([#2391](https://github.com/axios/axios/pull/2391)) +- Add typescript HTTP method definition for LINK and UNLINK ([#2444](https://github.com/axios/axios/pull/2444)) + +Internal: + +- Revert "Update Webpack + deps, remove now unnecessary polyfills" ([#2479](https://github.com/axios/axios/pull/2479)) +- Order of if/else blocks is causing unit tests mocking XHR. ([#2201](https://github.com/axios/axios/pull/2201)) +- Add license badge ([#2446](https://github.com/axios/axios/pull/2446)) +- Fix travis CI build [#2386](https://github.com/axios/axios/pull/2386) +- Fix cancellation error on build master. #2290 #2207 ([#2407](https://github.com/axios/axios/pull/2407)) + +Documentation: + +- Fixing typo in CHANGELOG.md: s/Functionallity/Functionality ([#2639](https://github.com/axios/axios/pull/2639)) +- Fix badge, use master branch ([#2538](https://github.com/axios/axios/pull/2538)) +- Fix typo in changelog [#2193](https://github.com/axios/axios/pull/2193) +- Document fix ([#2514](https://github.com/axios/axios/pull/2514)) +- Update docs with no_proxy change, issue #2484 ([#2513](https://github.com/axios/axios/pull/2513)) +- Fixing missing words in docs template ([#2259](https://github.com/axios/axios/pull/2259)) +- 🐛Fix request finally documentation in README ([#2189](https://github.com/axios/axios/pull/2189)) +- updating spelling and adding link to docs ([#2212](https://github.com/axios/axios/pull/2212)) +- docs: minor tweak ([#2404](https://github.com/axios/axios/pull/2404)) +- Update response interceptor docs ([#2399](https://github.com/axios/axios/pull/2399)) +- Update README.md ([#2504](https://github.com/axios/axios/pull/2504)) +- Fix word 'sintaxe' to 'syntax' in README.md ([#2432](https://github.com/axios/axios/pull/2432)) +- upadating README: notes on CommonJS autocomplete ([#2256](https://github.com/axios/axios/pull/2256)) +- Fix grammar in README.md ([#2271](https://github.com/axios/axios/pull/2271)) +- Doc fixes, minor examples cleanup ([#2198](https://github.com/axios/axios/pull/2198)) + +### 0.19.0 (May 30, 2019) + +Fixes and Functionality: + +- Added support for no_proxy env variable ([#1693](https://github.com/axios/axios/pull/1693/files)) - Chance Dickson +- Unzip response body only for statuses != 204 ([#1129](https://github.com/axios/axios/pull/1129)) - drawski +- Destroy stream on exceeding maxContentLength (fixes [#1098](https://github.com/axios/axios/issues/1098)) ([#1485](https://github.com/axios/axios/pull/1485)) - Gadzhi Gadzhiev +- Makes Axios error generic to use AxiosResponse ([#1738](https://github.com/axios/axios/pull/1738)) - Suman Lama +- Fixing Mocha tests by locking follow-redirects version to 1.5.10 ([#1993](https://github.com/axios/axios/pull/1993)) - grumblerchester +- Allow uppercase methods in typings. ([#1781](https://github.com/axios/axios/pull/1781)) - Ken Powers +- Fixing building url with hash mark ([#1771](https://github.com/axios/axios/pull/1771)) - Anatoly Ryabov +- This commit fix building url with hash map (fragment identifier) when parameters are present: they must not be added after `#`, because client cut everything after `#` +- Preserve HTTP method when following redirect ([#1758](https://github.com/axios/axios/pull/1758)) - Rikki Gibson +- Add `getUri` signature to TypeScript definition. ([#1736](https://github.com/axios/axios/pull/1736)) - Alexander Trauzzi +- Adding isAxiosError flag to errors thrown by axios ([#1419](https://github.com/axios/axios/pull/1419)) - Ayush Gupta + +Internal: + +- Fixing .eslintrc without extension ([#1789](https://github.com/axios/axios/pull/1789)) - Manoel +- Fix failing SauceLabs tests by updating configuration - Emily Morehouse +- Add issue templates - Emily Morehouse + +Documentation: + +- Consistent coding style in README ([#1787](https://github.com/axios/axios/pull/1787)) - Ali Servet Donmez +- Add information about auth parameter to README ([#2166](https://github.com/axios/axios/pull/2166)) - xlaguna +- Add DELETE to list of methods that allow data as a config option ([#2169](https://github.com/axios/axios/pull/2169)) - Daniela Borges Matos de Carvalho +- Update ECOSYSTEM.md - Add Axios Endpoints ([#2176](https://github.com/axios/axios/pull/2176)) - Renan +- Add r2curl in ECOSYSTEM ([#2141](https://github.com/axios/axios/pull/2141)) - 유용우 / CX +- Update README.md - Add instructions for installing with yarn ([#2036](https://github.com/axios/axios/pull/2036)) - Victor Hermes +- Fixing spacing for README.md ([#2066](https://github.com/axios/axios/pull/2066)) - Josh McCarty +- Update README.md. - Change `.then` to `.finally` in example code ([#2090](https://github.com/axios/axios/pull/2090)) - Omar Cai +- Clarify what values responseType can have in Node ([#2121](https://github.com/axios/axios/pull/2121)) - Tyler Breisacher +- docs(ECOSYSTEM): add axios-api-versioning ([#2020](https://github.com/axios/axios/pull/2020)) - Weffe +- It seems that `responseType: 'blob'` doesn't actually work in Node (when I tried using it, response.data was a string, not a Blob, since Node doesn't have Blobs), so this clarifies that this option should only be used in the browser +- Update README.md. - Add Querystring library note ([#1896](https://github.com/axios/axios/pull/1896)) - Dmitriy Eroshenko +- Add react-hooks-axios to Libraries section of ECOSYSTEM.md ([#1925](https://github.com/axios/axios/pull/1925)) - Cody Chan +- Clarify in README that default timeout is 0 (no timeout) ([#1750](https://github.com/axios/axios/pull/1750)) - Ben Standefer + +### 0.19.0-beta.1 (Aug 9, 2018) + +**NOTE:** This is a beta version of this release. There may be functionality that is broken in +certain browsers, though we suspect that builds are hanging and not erroring. See +https://saucelabs.com/u/axios for the most up-to-date information. + +New Functionality: + +- Add getUri method ([#1712](https://github.com/axios/axios/issues/1712)) +- Add support for no_proxy env variable ([#1693](https://github.com/axios/axios/issues/1693)) +- Add toJSON to decorated Axios errors to faciliate serialization ([#1625](https://github.com/axios/axios/issues/1625)) +- Add second then on axios call ([#1623](https://github.com/axios/axios/issues/1623)) +- Typings: allow custom return types +- Add option to specify character set in responses (with http adapter) + +Fixes: + +- Fix Keep defaults local to instance ([#385](https://github.com/axios/axios/issues/385)) +- Correctly catch exception in http test ([#1475](https://github.com/axios/axios/issues/1475)) +- Fix accept header normalization ([#1698](https://github.com/axios/axios/issues/1698)) +- Fix http adapter to allow HTTPS connections via HTTP ([#959](https://github.com/axios/axios/issues/959)) +- Fix Removes usage of deprecated Buffer constructor. ([#1555](https://github.com/axios/axios/issues/1555), [#1622](https://github.com/axios/axios/issues/1622)) +- Fix defaults to use httpAdapter if available ([#1285](https://github.com/axios/axios/issues/1285)) + - Fixing defaults to use httpAdapter if available + - Use a safer, cross-platform method to detect the Node environment +- Fix Reject promise if request is cancelled by the browser ([#537](https://github.com/axios/axios/issues/537)) +- [Typescript] Fix missing type parameters on delete/head methods +- [NS]: Send `false` flag isStandardBrowserEnv for Nativescript +- Fix missing type parameters on delete/head +- Fix Default method for an instance always overwritten by get +- Fix type error when socketPath option in AxiosRequestConfig +- Capture errors on request data streams +- Decorate resolve and reject to clear timeout in all cases + +Huge thanks to everyone who contributed to this release via code (authors listed +below) or via reviews and triaging on GitHub: + +- Andrew Scott +- Anthony Gauthier +- arpit +- ascott18 +- Benedikt Rötsch +- Chance Dickson +- Dave Stewart +- Deric Cain +- Guillaume Briday +- Jacob Wejendorp +- Jim Lynch +- johntron +- Justin Beckwith +- Justin Beckwith +- Khaled Garbaya +- Lim Jing Rong +- Mark van den Broek +- Martti Laine +- mattridley +- mattridley +- Nicolas Del Valle +- Nilegfx +- pbarbiero +- Rikki Gibson +- Sako Hartounian +- Shane Fitzpatrick +- Stephan Schneider +- Steven +- Tim Garthwaite +- Tim Johns +- Yutaro Miyazaki + +### 0.18.0 (Feb 19, 2018) + +- Adding support for UNIX Sockets when running with Node.js ([#1070](https://github.com/axios/axios/pull/1070)) +- Fixing typings ([#1177](https://github.com/axios/axios/pull/1177)): + - AxiosRequestConfig.proxy: allows type false + - AxiosProxyConfig: added auth field +- Adding function signature in AxiosInstance interface so AxiosInstance can be invoked ([#1192](https://github.com/axios/axios/pull/1192), [#1254](https://github.com/axios/axios/pull/1254)) +- Allowing maxContentLength to pass through to redirected calls as maxBodyLength in follow-redirects config ([#1287](https://github.com/axios/axios/pull/1287)) +- Fixing configuration when using an instance - method can now be set ([#1342](https://github.com/axios/axios/pull/1342)) + +### 0.17.1 (Nov 11, 2017) + +- Fixing issue with web workers ([#1160](https://github.com/axios/axios/pull/1160)) +- Allowing overriding transport ([#1080](https://github.com/axios/axios/pull/1080)) +- Updating TypeScript typings ([#1165](https://github.com/axios/axios/pull/1165), [#1125](https://github.com/axios/axios/pull/1125), [#1131](https://github.com/axios/axios/pull/1131)) + +### 0.17.0 (Oct 21, 2017) + +- **BREAKING** Fixing issue with `baseURL` and interceptors ([#950](https://github.com/axios/axios/pull/950)) +- **BREAKING** Improving handing of duplicate headers ([#874](https://github.com/axios/axios/pull/874)) +- Adding support for disabling proxies ([#691](https://github.com/axios/axios/pull/691)) +- Updating TypeScript typings with generic type parameters ([#1061](https://github.com/axios/axios/pull/1061)) + +### 0.16.2 (Jun 3, 2017) + +- Fixing issue with including `buffer` in bundle ([#887](https://github.com/axios/axios/pull/887)) +- Including underlying request in errors ([#830](https://github.com/axios/axios/pull/830)) +- Convert `method` to lowercase ([#930](https://github.com/axios/axios/pull/930)) + +### 0.16.1 (Apr 8, 2017) + +- Improving HTTP adapter to return last request in case of redirects ([#828](https://github.com/axios/axios/pull/828)) +- Updating `follow-redirects` dependency ([#829](https://github.com/axios/axios/pull/829)) +- Adding support for passing `Buffer` in node ([#773](https://github.com/axios/axios/pull/773)) + +### 0.16.0 (Mar 31, 2017) + +- **BREAKING** Removing `Promise` from axios typings in favor of built-in type declarations ([#480](https://github.com/axios/axios/issues/480)) +- Adding `options` shortcut method ([#461](https://github.com/axios/axios/pull/461)) +- Fixing issue with using `responseType: 'json'` in browsers incompatible with XHR Level 2 ([#654](https://github.com/axios/axios/pull/654)) +- Improving React Native detection ([#731](https://github.com/axios/axios/pull/731)) +- Fixing `combineURLs` to support empty `relativeURL` ([#581](https://github.com/axios/axios/pull/581)) +- Removing `PROTECTION_PREFIX` support ([#561](https://github.com/axios/axios/pull/561)) + +### 0.15.3 (Nov 27, 2016) + +- Fixing issue with custom instances and global defaults ([#443](https://github.com/axios/axios/issues/443)) +- Renaming `axios.d.ts` to `index.d.ts` ([#519](https://github.com/axios/axios/issues/519)) +- Adding `get`, `head`, and `delete` to `defaults.headers` ([#509](https://github.com/axios/axios/issues/509)) +- Fixing issue with `btoa` and IE ([#507](https://github.com/axios/axios/issues/507)) +- Adding support for proxy authentication ([#483](https://github.com/axios/axios/pull/483)) +- Improving HTTP adapter to use `http` protocol by default ([#493](https://github.com/axios/axios/pull/493)) +- Fixing proxy issues ([#491](https://github.com/axios/axios/pull/491)) + +### 0.15.2 (Oct 17, 2016) + +- Fixing issue with calling `cancel` after response has been received ([#482](https://github.com/axios/axios/issues/482)) + +### 0.15.1 (Oct 14, 2016) + +- Fixing issue with UMD ([#485](https://github.com/axios/axios/issues/485)) + +### 0.15.0 (Oct 10, 2016) + +- Adding cancellation support ([#452](https://github.com/axios/axios/pull/452)) +- Moving default adapter to global defaults ([#437](https://github.com/axios/axios/pull/437)) +- Fixing issue with `file` URI scheme ([#440](https://github.com/axios/axios/pull/440)) +- Fixing issue with `params` objects that have no prototype ([#445](https://github.com/axios/axios/pull/445)) + +### 0.14.0 (Aug 27, 2016) + +- **BREAKING** Updating TypeScript definitions ([#419](https://github.com/axios/axios/pull/419)) +- **BREAKING** Replacing `agent` option with `httpAgent` and `httpsAgent` ([#387](https://github.com/axios/axios/pull/387)) +- **BREAKING** Splitting `progress` event handlers into `onUploadProgress` and `onDownloadProgress` ([#423](https://github.com/axios/axios/pull/423)) +- Adding support for `http_proxy` and `https_proxy` environment variables ([#366](https://github.com/axios/axios/pull/366)) +- Fixing issue with `auth` config option and `Authorization` header ([#397](https://github.com/axios/axios/pull/397)) +- Don't set XSRF header if `xsrfCookieName` is `null` ([#406](https://github.com/axios/axios/pull/406)) + +### 0.13.1 (Jul 16, 2016) + +- Fixing issue with response data not being transformed on error ([#378](https://github.com/axios/axios/issues/378)) + +### 0.13.0 (Jul 13, 2016) + +- **BREAKING** Improved error handling ([#345](https://github.com/axios/axios/pull/345)) +- **BREAKING** Response transformer now invoked in dispatcher not adapter ([10eb238](https://github.com/axios/axios/commit/10eb23865101f9347570552c04e9d6211376e25e)) +- **BREAKING** Request adapters now return a `Promise` ([157efd5](https://github.com/axios/axios/commit/157efd5615890301824e3121cc6c9d2f9b21f94a)) +- Fixing issue with `withCredentials` not being overwritten ([#343](https://github.com/axios/axios/issues/343)) +- Fixing regression with request transformer being called before request interceptor ([#352](https://github.com/axios/axios/issues/352)) +- Fixing custom instance defaults ([#341](https://github.com/axios/axios/issues/341)) +- Fixing instances created from `axios.create` to have same API as default axios ([#217](https://github.com/axios/axios/issues/217)) + +### 0.12.0 (May 31, 2016) + +- Adding support for `URLSearchParams` ([#317](https://github.com/axios/axios/pull/317)) +- Adding `maxRedirects` option ([#307](https://github.com/axios/axios/pull/307)) + +### 0.11.1 (May 17, 2016) + +- Fixing IE CORS support ([#313](https://github.com/axios/axios/pull/313)) +- Fixing detection of `FormData` ([#325](https://github.com/axios/axios/pull/325)) +- Adding `Axios` class to exports ([#321](https://github.com/axios/axios/pull/321)) + +### 0.11.0 (Apr 26, 2016) + +- Adding support for Stream with HTTP adapter ([#296](https://github.com/axios/axios/pull/296)) +- Adding support for custom HTTP status code error ranges ([#308](https://github.com/axios/axios/pull/308)) +- Fixing issue with ArrayBuffer ([#299](https://github.com/axios/axios/pull/299)) + +### 0.10.0 (Apr 20, 2016) + +- Fixing issue with some requests sending `undefined` instead of `null` ([#250](https://github.com/axios/axios/pull/250)) +- Fixing basic auth for HTTP adapter ([#252](https://github.com/axios/axios/pull/252)) +- Fixing request timeout for XHR adapter ([#227](https://github.com/axios/axios/pull/227)) +- Fixing IE8 support by using `onreadystatechange` instead of `onload` ([#249](https://github.com/axios/axios/pull/249)) +- Fixing IE9 cross domain requests ([#251](https://github.com/axios/axios/pull/251)) +- Adding `maxContentLength` option ([#275](https://github.com/axios/axios/pull/275)) +- Fixing XHR support for WebWorker environment ([#279](https://github.com/axios/axios/pull/279)) +- Adding request instance to response ([#200](https://github.com/axios/axios/pull/200)) + +### 0.9.1 (Jan 24, 2016) + +- Improving handling of request timeout in node ([#124](https://github.com/axios/axios/issues/124)) +- Fixing network errors not rejecting ([#205](https://github.com/axios/axios/pull/205)) +- Fixing issue with IE rejecting on HTTP 204 ([#201](https://github.com/axios/axios/issues/201)) +- Fixing host/port when following redirects ([#198](https://github.com/axios/axios/pull/198)) + +### 0.9.0 (Jan 18, 2016) + +- Adding support for custom adapters +- Fixing Content-Type header being removed when data is false ([#195](https://github.com/axios/axios/pull/195)) +- Improving XDomainRequest implementation ([#185](https://github.com/axios/axios/pull/185)) +- Improving config merging and order of precedence ([#183](https://github.com/axios/axios/pull/183)) +- Fixing XDomainRequest support for only <= IE9 ([#182](https://github.com/axios/axios/pull/182)) + +### 0.8.1 (Dec 14, 2015) + +- Adding support for passing XSRF token for cross domain requests when using `withCredentials` ([#168](https://github.com/axios/axios/pull/168)) +- Fixing error with format of basic auth header ([#178](https://github.com/axios/axios/pull/173)) +- Fixing error with JSON payloads throwing `InvalidStateError` in some cases ([#174](https://github.com/axios/axios/pull/174)) + +### 0.8.0 (Dec 11, 2015) + +- Adding support for creating instances of axios ([#123](https://github.com/axios/axios/pull/123)) +- Fixing http adapter to use `Buffer` instead of `String` in case of `responseType === 'arraybuffer'` ([#128](https://github.com/axios/axios/pull/128)) +- Adding support for using custom parameter serializer with `paramsSerializer` option ([#121](https://github.com/axios/axios/pull/121)) +- Fixing issue in IE8 caused by `forEach` on `arguments` ([#127](https://github.com/axios/axios/pull/127)) +- Adding support for following redirects in node ([#146](https://github.com/axios/axios/pull/146)) +- Adding support for transparent decompression if `content-encoding` is set ([#149](https://github.com/axios/axios/pull/149)) +- Adding support for transparent XDomainRequest to handle cross domain requests in IE9 ([#140](https://github.com/axios/axios/pull/140)) +- Adding support for HTTP basic auth via Authorization header ([#167](https://github.com/axios/axios/pull/167)) +- Adding support for baseURL option ([#160](https://github.com/axios/axios/pull/160)) + +### 0.7.0 (Sep 29, 2015) + +- Fixing issue with minified bundle in IE8 ([#87](https://github.com/axios/axios/pull/87)) +- Adding support for passing agent in node ([#102](https://github.com/axios/axios/pull/102)) +- Adding support for returning result from `axios.spread` for chaining ([#106](https://github.com/axios/axios/pull/106)) +- Fixing typescript definition ([#105](https://github.com/axios/axios/pull/105)) +- Fixing default timeout config for node ([#112](https://github.com/axios/axios/pull/112)) +- Adding support for use in web workers, and react-native ([#70](https://github.com/axios/axios/issue/70)), ([#98](https://github.com/axios/axios/pull/98)) +- Adding support for fetch like API `axios(url[, config])` ([#116](https://github.com/axios/axios/issues/116)) + +### 0.6.0 (Sep 21, 2015) + +- Removing deprecated success/error aliases +- Fixing issue with array params not being properly encoded ([#49](https://github.com/axios/axios/pull/49)) +- Fixing issue with User-Agent getting overridden ([#69](https://github.com/axios/axios/issues/69)) +- Adding support for timeout config ([#56](https://github.com/axios/axios/issues/56)) +- Removing es6-promise dependency +- Fixing issue preventing `length` to be used as a parameter ([#91](https://github.com/axios/axios/pull/91)) +- Fixing issue with IE8 ([#85](https://github.com/axios/axios/pull/85)) +- Converting build to UMD + +### 0.5.4 (Apr 08, 2015) + +- Fixing issue with FormData not being sent ([#53](https://github.com/axios/axios/issues/53)) + +### 0.5.3 (Apr 07, 2015) + +- Using JSON.parse unconditionally when transforming response string ([#55](https://github.com/axios/axios/issues/55)) + +### 0.5.2 (Mar 13, 2015) + +- Adding support for `statusText` in response ([#46](https://github.com/axios/axios/issues/46)) + +### 0.5.1 (Mar 10, 2015) + +- Fixing issue using strict mode ([#45](https://github.com/axios/axios/issues/45)) +- Fixing issue with standalone build ([#47](https://github.com/axios/axios/issues/47)) + +### 0.5.0 (Jan 23, 2015) + +- Adding support for intercepetors ([#14](https://github.com/axios/axios/issues/14)) +- Updating es6-promise dependency + +### 0.4.2 (Dec 10, 2014) + +- Fixing issue with `Content-Type` when using `FormData` ([#22](https://github.com/axios/axios/issues/22)) +- Adding support for TypeScript ([#25](https://github.com/axios/axios/issues/25)) +- Fixing issue with standalone build ([#29](https://github.com/axios/axios/issues/29)) +- Fixing issue with verbs needing to be capitalized in some browsers ([#30](https://github.com/axios/axios/issues/30)) + +### 0.4.1 (Oct 15, 2014) + +- Adding error handling to request for node.js ([#18](https://github.com/axios/axios/issues/18)) + +### 0.4.0 (Oct 03, 2014) + +- Adding support for `ArrayBuffer` and `ArrayBufferView` ([#10](https://github.com/axios/axios/issues/10)) +- Adding support for utf-8 for node.js ([#13](https://github.com/axios/axios/issues/13)) +- Adding support for SSL for node.js ([#12](https://github.com/axios/axios/issues/12)) +- Fixing incorrect `Content-Type` header ([#9](https://github.com/axios/axios/issues/9)) +- Adding standalone build without bundled es6-promise ([#11](https://github.com/axios/axios/issues/11)) +- Deprecating `success`/`error` in favor of `then`/`catch` + +### 0.3.1 (Sep 16, 2014) + +- Fixing missing post body when using node.js ([#3](https://github.com/axios/axios/issues/3)) + +### 0.3.0 (Sep 16, 2014) + +- Fixing `success` and `error` to properly receive response data as individual arguments ([#8](https://github.com/axios/axios/issues/8)) +- Updating `then` and `catch` to receive response data as a single object ([#6](https://github.com/axios/axios/issues/6)) +- Fixing issue with `all` not working ([#7](https://github.com/axios/axios/issues/7)) + +### 0.2.2 (Sep 14, 2014) + +- Fixing bundling with browserify ([#4](https://github.com/axios/axios/issues/4)) + +### 0.2.1 (Sep 12, 2014) + +- Fixing build problem causing ridiculous file sizes + +### 0.2.0 (Sep 12, 2014) + +- Adding support for `all` and `spread` +- Adding support for node.js ([#1](https://github.com/axios/axios/issues/1)) + +### 0.1.0 (Aug 29, 2014) + +- Initial release diff --git a/node_modules/axios/LICENSE b/node_modules/axios/LICENSE new file mode 100644 index 00000000..d36c80ef --- /dev/null +++ b/node_modules/axios/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2014-present Matt Zabriskie + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/axios/README.md b/node_modules/axios/README.md new file mode 100644 index 00000000..0b09254d --- /dev/null +++ b/node_modules/axios/README.md @@ -0,0 +1,709 @@ +# axios + +[![npm version](https://img.shields.io/npm/v/axios.svg?style=flat-square)](https://www.npmjs.org/package/axios) +[![build status](https://img.shields.io/travis/axios/axios/master.svg?style=flat-square)](https://travis-ci.org/axios/axios) +[![code coverage](https://img.shields.io/coveralls/mzabriskie/axios.svg?style=flat-square)](https://coveralls.io/r/mzabriskie/axios) +[![install size](https://packagephobia.now.sh/badge?p=axios)](https://packagephobia.now.sh/result?p=axios) +[![npm downloads](https://img.shields.io/npm/dm/axios.svg?style=flat-square)](http://npm-stat.com/charts.html?package=axios) +[![gitter chat](https://img.shields.io/gitter/room/mzabriskie/axios.svg?style=flat-square)](https://gitter.im/mzabriskie/axios) +[![code helpers](https://www.codetriage.com/axios/axios/badges/users.svg)](https://www.codetriage.com/axios/axios) + +Promise based HTTP client for the browser and node.js + +## Features + +- Make [XMLHttpRequests](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) from the browser +- Make [http](http://nodejs.org/api/http.html) requests from node.js +- Supports the [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) API +- Intercept request and response +- Transform request and response data +- Cancel requests +- Automatic transforms for JSON data +- Client side support for protecting against [XSRF](http://en.wikipedia.org/wiki/Cross-site_request_forgery) + +## Browser Support + +![Chrome](https://raw.github.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png) | ![Firefox](https://raw.github.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png) | ![Safari](https://raw.github.com/alrra/browser-logos/master/src/safari/safari_48x48.png) | ![Opera](https://raw.github.com/alrra/browser-logos/master/src/opera/opera_48x48.png) | ![Edge](https://raw.github.com/alrra/browser-logos/master/src/edge/edge_48x48.png) | ![IE](https://raw.github.com/alrra/browser-logos/master/src/archive/internet-explorer_9-11/internet-explorer_9-11_48x48.png) | +--- | --- | --- | --- | --- | --- | +Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 11 ✔ | + +[![Browser Matrix](https://saucelabs.com/open_sauce/build_matrix/axios.svg)](https://saucelabs.com/u/axios) + +## Installing + +Using npm: + +```bash +$ npm install axios +``` + +Using bower: + +```bash +$ bower install axios +``` + +Using yarn: + +```bash +$ yarn add axios +``` + +Using cdn: + +```html + +``` + +## Example + +### note: CommonJS usage +In order to gain the TypeScript typings (for intellisense / autocomplete) while using CommonJS imports with `require()` use the following approach: + +```js +const axios = require('axios').default; + +// axios. will now provide autocomplete and parameter typings +``` + +Performing a `GET` request + +```js +const axios = require('axios'); + +// Make a request for a user with a given ID +axios.get('/user?ID=12345') + .then(function (response) { + // handle success + console.log(response); + }) + .catch(function (error) { + // handle error + console.log(error); + }) + .finally(function () { + // always executed + }); + +// Optionally the request above could also be done as +axios.get('/user', { + params: { + ID: 12345 + } + }) + .then(function (response) { + console.log(response); + }) + .catch(function (error) { + console.log(error); + }) + .finally(function () { + // always executed + }); + +// Want to use async/await? Add the `async` keyword to your outer function/method. +async function getUser() { + try { + const response = await axios.get('/user?ID=12345'); + console.log(response); + } catch (error) { + console.error(error); + } +} +``` + +> **NOTE:** `async/await` is part of ECMAScript 2017 and is not supported in Internet +> Explorer and older browsers, so use with caution. + +Performing a `POST` request + +```js +axios.post('/user', { + firstName: 'Fred', + lastName: 'Flintstone' + }) + .then(function (response) { + console.log(response); + }) + .catch(function (error) { + console.log(error); + }); +``` + +Performing multiple concurrent requests + +```js +function getUserAccount() { + return axios.get('/user/12345'); +} + +function getUserPermissions() { + return axios.get('/user/12345/permissions'); +} + +axios.all([getUserAccount(), getUserPermissions()]) + .then(axios.spread(function (acct, perms) { + // Both requests are now complete + })); +``` + +## axios API + +Requests can be made by passing the relevant config to `axios`. + +##### axios(config) + +```js +// Send a POST request +axios({ + method: 'post', + url: '/user/12345', + data: { + firstName: 'Fred', + lastName: 'Flintstone' + } +}); +``` + +```js +// GET request for remote image +axios({ + method: 'get', + url: 'http://bit.ly/2mTM3nY', + responseType: 'stream' +}) + .then(function (response) { + response.data.pipe(fs.createWriteStream('ada_lovelace.jpg')) + }); +``` + +##### axios(url[, config]) + +```js +// Send a GET request (default method) +axios('/user/12345'); +``` + +### Request method aliases + +For convenience aliases have been provided for all supported request methods. + +##### axios.request(config) +##### axios.get(url[, config]) +##### axios.delete(url[, config]) +##### axios.head(url[, config]) +##### axios.options(url[, config]) +##### axios.post(url[, data[, config]]) +##### axios.put(url[, data[, config]]) +##### axios.patch(url[, data[, config]]) + +###### NOTE +When using the alias methods `url`, `method`, and `data` properties don't need to be specified in config. + +### Concurrency + +Helper functions for dealing with concurrent requests. + +##### axios.all(iterable) +##### axios.spread(callback) + +### Creating an instance + +You can create a new instance of axios with a custom config. + +##### axios.create([config]) + +```js +const instance = axios.create({ + baseURL: 'https://some-domain.com/api/', + timeout: 1000, + headers: {'X-Custom-Header': 'foobar'} +}); +``` + +### Instance methods + +The available instance methods are listed below. The specified config will be merged with the instance config. + +##### axios#request(config) +##### axios#get(url[, config]) +##### axios#delete(url[, config]) +##### axios#head(url[, config]) +##### axios#options(url[, config]) +##### axios#post(url[, data[, config]]) +##### axios#put(url[, data[, config]]) +##### axios#patch(url[, data[, config]]) +##### axios#getUri([config]) + +## Request Config + +These are the available config options for making requests. Only the `url` is required. Requests will default to `GET` if `method` is not specified. + +```js +{ + // `url` is the server URL that will be used for the request + url: '/user', + + // `method` is the request method to be used when making the request + method: 'get', // default + + // `baseURL` will be prepended to `url` unless `url` is absolute. + // It can be convenient to set `baseURL` for an instance of axios to pass relative URLs + // to methods of that instance. + baseURL: 'https://some-domain.com/api/', + + // `transformRequest` allows changes to the request data before it is sent to the server + // This is only applicable for request methods 'PUT', 'POST', 'PATCH' and 'DELETE' + // The last function in the array must return a string or an instance of Buffer, ArrayBuffer, + // FormData or Stream + // You may modify the headers object. + transformRequest: [function (data, headers) { + // Do whatever you want to transform the data + + return data; + }], + + // `transformResponse` allows changes to the response data to be made before + // it is passed to then/catch + transformResponse: [function (data) { + // Do whatever you want to transform the data + + return data; + }], + + // `headers` are custom headers to be sent + headers: {'X-Requested-With': 'XMLHttpRequest'}, + + // `params` are the URL parameters to be sent with the request + // Must be a plain object or a URLSearchParams object + params: { + ID: 12345 + }, + + // `paramsSerializer` is an optional function in charge of serializing `params` + // (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/) + paramsSerializer: function (params) { + return Qs.stringify(params, {arrayFormat: 'brackets'}) + }, + + // `data` is the data to be sent as the request body + // Only applicable for request methods 'PUT', 'POST', and 'PATCH' + // When no `transformRequest` is set, must be of one of the following types: + // - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams + // - Browser only: FormData, File, Blob + // - Node only: Stream, Buffer + data: { + firstName: 'Fred' + }, + + // syntax alternative to send data into the body + // method post + // only the value is sent, not the key + data: 'Country=Brasil&City=Belo Horizonte', + + // `timeout` specifies the number of milliseconds before the request times out. + // If the request takes longer than `timeout`, the request will be aborted. + timeout: 1000, // default is `0` (no timeout) + + // `withCredentials` indicates whether or not cross-site Access-Control requests + // should be made using credentials + withCredentials: false, // default + + // `adapter` allows custom handling of requests which makes testing easier. + // Return a promise and supply a valid response (see lib/adapters/README.md). + adapter: function (config) { + /* ... */ + }, + + // `auth` indicates that HTTP Basic auth should be used, and supplies credentials. + // This will set an `Authorization` header, overwriting any existing + // `Authorization` custom headers you have set using `headers`. + // Please note that only HTTP Basic auth is configurable through this parameter. + // For Bearer tokens and such, use `Authorization` custom headers instead. + auth: { + username: 'janedoe', + password: 's00pers3cret' + }, + + // `responseType` indicates the type of data that the server will respond with + // options are: 'arraybuffer', 'document', 'json', 'text', 'stream' + // browser only: 'blob' + responseType: 'json', // default + + // `responseEncoding` indicates encoding to use for decoding responses + // Note: Ignored for `responseType` of 'stream' or client-side requests + responseEncoding: 'utf8', // default + + // `xsrfCookieName` is the name of the cookie to use as a value for xsrf token + xsrfCookieName: 'XSRF-TOKEN', // default + + // `xsrfHeaderName` is the name of the http header that carries the xsrf token value + xsrfHeaderName: 'X-XSRF-TOKEN', // default + + // `onUploadProgress` allows handling of progress events for uploads + onUploadProgress: function (progressEvent) { + // Do whatever you want with the native progress event + }, + + // `onDownloadProgress` allows handling of progress events for downloads + onDownloadProgress: function (progressEvent) { + // Do whatever you want with the native progress event + }, + + // `maxContentLength` defines the max size of the http response content in bytes allowed + maxContentLength: 2000, + + // `validateStatus` defines whether to resolve or reject the promise for a given + // HTTP response status code. If `validateStatus` returns `true` (or is set to `null` + // or `undefined`), the promise will be resolved; otherwise, the promise will be + // rejected. + validateStatus: function (status) { + return status >= 200 && status < 300; // default + }, + + // `maxRedirects` defines the maximum number of redirects to follow in node.js. + // If set to 0, no redirects will be followed. + maxRedirects: 5, // default + + // `socketPath` defines a UNIX Socket to be used in node.js. + // e.g. '/var/run/docker.sock' to send requests to the docker daemon. + // Only either `socketPath` or `proxy` can be specified. + // If both are specified, `socketPath` is used. + socketPath: null, // default + + // `httpAgent` and `httpsAgent` define a custom agent to be used when performing http + // and https requests, respectively, in node.js. This allows options to be added like + // `keepAlive` that are not enabled by default. + httpAgent: new http.Agent({ keepAlive: true }), + httpsAgent: new https.Agent({ keepAlive: true }), + + // 'proxy' defines the hostname and port of the proxy server. + // You can also define your proxy using the conventional `http_proxy` and + // `https_proxy` environment variables. If you are using environment variables + // for your proxy configuration, you can also define a `no_proxy` environment + // variable as a comma-separated list of domains that should not be proxied. + // Use `false` to disable proxies, ignoring environment variables. + // `auth` indicates that HTTP Basic auth should be used to connect to the proxy, and + // supplies credentials. + // This will set an `Proxy-Authorization` header, overwriting any existing + // `Proxy-Authorization` custom headers you have set using `headers`. + proxy: { + host: '127.0.0.1', + port: 9000, + auth: { + username: 'mikeymike', + password: 'rapunz3l' + } + }, + + // `cancelToken` specifies a cancel token that can be used to cancel the request + // (see Cancellation section below for details) + cancelToken: new CancelToken(function (cancel) { + }) +} +``` + +## Response Schema + +The response for a request contains the following information. + +```js +{ + // `data` is the response that was provided by the server + data: {}, + + // `status` is the HTTP status code from the server response + status: 200, + + // `statusText` is the HTTP status message from the server response + statusText: 'OK', + + // `headers` the headers that the server responded with + // All header names are lower cased + headers: {}, + + // `config` is the config that was provided to `axios` for the request + config: {}, + + // `request` is the request that generated this response + // It is the last ClientRequest instance in node.js (in redirects) + // and an XMLHttpRequest instance in the browser + request: {} +} +``` + +When using `then`, you will receive the response as follows: + +```js +axios.get('/user/12345') + .then(function (response) { + console.log(response.data); + console.log(response.status); + console.log(response.statusText); + console.log(response.headers); + console.log(response.config); + }); +``` + +When using `catch`, or passing a [rejection callback](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then) as second parameter of `then`, the response will be available through the `error` object as explained in the [Handling Errors](#handling-errors) section. + +## Config Defaults + +You can specify config defaults that will be applied to every request. + +### Global axios defaults + +```js +axios.defaults.baseURL = 'https://api.example.com'; +axios.defaults.headers.common['Authorization'] = AUTH_TOKEN; +axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; +``` + +### Custom instance defaults + +```js +// Set config defaults when creating the instance +const instance = axios.create({ + baseURL: 'https://api.example.com' +}); + +// Alter defaults after instance has been created +instance.defaults.headers.common['Authorization'] = AUTH_TOKEN; +``` + +### Config order of precedence + +Config will be merged with an order of precedence. The order is library defaults found in [lib/defaults.js](https://github.com/axios/axios/blob/master/lib/defaults.js#L28), then `defaults` property of the instance, and finally `config` argument for the request. The latter will take precedence over the former. Here's an example. + +```js +// Create an instance using the config defaults provided by the library +// At this point the timeout config value is `0` as is the default for the library +const instance = axios.create(); + +// Override timeout default for the library +// Now all requests using this instance will wait 2.5 seconds before timing out +instance.defaults.timeout = 2500; + +// Override timeout for this request as it's known to take a long time +instance.get('/longRequest', { + timeout: 5000 +}); +``` + +## Interceptors + +You can intercept requests or responses before they are handled by `then` or `catch`. + +```js +// Add a request interceptor +axios.interceptors.request.use(function (config) { + // Do something before request is sent + return config; + }, function (error) { + // Do something with request error + return Promise.reject(error); + }); + +// Add a response interceptor +axios.interceptors.response.use(function (response) { + // Any status code that lie within the range of 2xx cause this function to trigger + // Do something with response data + return response; + }, function (error) { + // Any status codes that falls outside the range of 2xx cause this function to trigger + // Do something with response error + return Promise.reject(error); + }); +``` + +If you need to remove an interceptor later you can. + +```js +const myInterceptor = axios.interceptors.request.use(function () {/*...*/}); +axios.interceptors.request.eject(myInterceptor); +``` + +You can add interceptors to a custom instance of axios. + +```js +const instance = axios.create(); +instance.interceptors.request.use(function () {/*...*/}); +``` + +## Handling Errors + +```js +axios.get('/user/12345') + .catch(function (error) { + if (error.response) { + // The request was made and the server responded with a status code + // that falls out of the range of 2xx + console.log(error.response.data); + console.log(error.response.status); + console.log(error.response.headers); + } else if (error.request) { + // The request was made but no response was received + // `error.request` is an instance of XMLHttpRequest in the browser and an instance of + // http.ClientRequest in node.js + console.log(error.request); + } else { + // Something happened in setting up the request that triggered an Error + console.log('Error', error.message); + } + console.log(error.config); + }); +``` + +Using the `validateStatus` config option, you can define HTTP code(s) that should throw an error. + +```js +axios.get('/user/12345', { + validateStatus: function (status) { + return status < 500; // Reject only if the status code is greater than or equal to 500 + } +}) +``` + +Using `toJSON` you get an object with more information about the HTTP error. + +```js +axios.get('/user/12345') + .catch(function (error) { + console.log(error.toJSON()); + }); +``` + +## Cancellation + +You can cancel a request using a *cancel token*. + +> The axios cancel token API is based on the withdrawn [cancelable promises proposal](https://github.com/tc39/proposal-cancelable-promises). + +You can create a cancel token using the `CancelToken.source` factory as shown below: + +```js +const CancelToken = axios.CancelToken; +const source = CancelToken.source(); + +axios.get('/user/12345', { + cancelToken: source.token +}).catch(function (thrown) { + if (axios.isCancel(thrown)) { + console.log('Request canceled', thrown.message); + } else { + // handle error + } +}); + +axios.post('/user/12345', { + name: 'new name' +}, { + cancelToken: source.token +}) + +// cancel the request (the message parameter is optional) +source.cancel('Operation canceled by the user.'); +``` + +You can also create a cancel token by passing an executor function to the `CancelToken` constructor: + +```js +const CancelToken = axios.CancelToken; +let cancel; + +axios.get('/user/12345', { + cancelToken: new CancelToken(function executor(c) { + // An executor function receives a cancel function as a parameter + cancel = c; + }) +}); + +// cancel the request +cancel(); +``` + +> Note: you can cancel several requests with the same cancel token. + +## Using application/x-www-form-urlencoded format + +By default, axios serializes JavaScript objects to `JSON`. To send data in the `application/x-www-form-urlencoded` format instead, you can use one of the following options. + +### Browser + +In a browser, you can use the [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) API as follows: + +```js +const params = new URLSearchParams(); +params.append('param1', 'value1'); +params.append('param2', 'value2'); +axios.post('/foo', params); +``` + +> Note that `URLSearchParams` is not supported by all browsers (see [caniuse.com](http://www.caniuse.com/#feat=urlsearchparams)), but there is a [polyfill](https://github.com/WebReflection/url-search-params) available (make sure to polyfill the global environment). + +Alternatively, you can encode data using the [`qs`](https://github.com/ljharb/qs) library: + +```js +const qs = require('qs'); +axios.post('/foo', qs.stringify({ 'bar': 123 })); +``` + +Or in another way (ES6), + +```js +import qs from 'qs'; +const data = { 'bar': 123 }; +const options = { + method: 'POST', + headers: { 'content-type': 'application/x-www-form-urlencoded' }, + data: qs.stringify(data), + url, +}; +axios(options); +``` + +### Node.js + +In node.js, you can use the [`querystring`](https://nodejs.org/api/querystring.html) module as follows: + +```js +const querystring = require('querystring'); +axios.post('http://something.com/', querystring.stringify({ foo: 'bar' })); +``` + +You can also use the [`qs`](https://github.com/ljharb/qs) library. + +###### NOTE +The `qs` library is preferable if you need to stringify nested objects, as the `querystring` method has known issues with that use case (https://github.com/nodejs/node-v0.x-archive/issues/1665). + +## Semver + +Until axios reaches a `1.0` release, breaking changes will be released with a new minor version. For example `0.5.1`, and `0.5.4` will have the same API, but `0.6.0` will have breaking changes. + +## Promises + +axios depends on a native ES6 Promise implementation to be [supported](http://caniuse.com/promises). +If your environment doesn't support ES6 Promises, you can [polyfill](https://github.com/jakearchibald/es6-promise). + +## TypeScript +axios includes [TypeScript](http://typescriptlang.org) definitions. +```typescript +import axios from 'axios'; +axios.get('/user?ID=12345'); +``` + +## Resources + +* [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md) +* [Upgrade Guide](https://github.com/axios/axios/blob/master/UPGRADE_GUIDE.md) +* [Ecosystem](https://github.com/axios/axios/blob/master/ECOSYSTEM.md) +* [Contributing Guide](https://github.com/axios/axios/blob/master/CONTRIBUTING.md) +* [Code of Conduct](https://github.com/axios/axios/blob/master/CODE_OF_CONDUCT.md) + +## Credits + +axios is heavily inspired by the [$http service](https://docs.angularjs.org/api/ng/service/$http) provided in [Angular](https://angularjs.org/). Ultimately axios is an effort to provide a standalone `$http`-like service for use outside of Angular. + +## License + +[MIT](LICENSE) diff --git a/node_modules/axios/UPGRADE_GUIDE.md b/node_modules/axios/UPGRADE_GUIDE.md new file mode 100644 index 00000000..eedb0492 --- /dev/null +++ b/node_modules/axios/UPGRADE_GUIDE.md @@ -0,0 +1,162 @@ +# Upgrade Guide + +### 0.15.x -> 0.16.0 + +#### `Promise` Type Declarations + +The `Promise` type declarations have been removed from the axios typings in favor of the built-in type declarations. If you use axios in a TypeScript project that targets `ES5`, please make sure to include the `es2015.promise` lib. Please see [this post](https://blog.mariusschulz.com/2016/11/25/typescript-2-0-built-in-type-declarations) for details. + +### 0.13.x -> 0.14.0 + +#### TypeScript Definitions + +The axios TypeScript definitions have been updated to match the axios API and use the ES2015 module syntax. + +Please use the following `import` statement to import axios in TypeScript: + +```typescript +import axios from 'axios'; + +axios.get('/foo') + .then(response => console.log(response)) + .catch(error => console.log(error)); +``` + +#### `agent` Config Option + +The `agent` config option has been replaced with two new options: `httpAgent` and `httpsAgent`. Please use them instead. + +```js +{ + // Define a custom agent for HTTP + httpAgent: new http.Agent({ keepAlive: true }), + // Define a custom agent for HTTPS + httpsAgent: new https.Agent({ keepAlive: true }) +} +``` + +#### `progress` Config Option + +The `progress` config option has been replaced with the `onUploadProgress` and `onDownloadProgress` options. + +```js +{ + // Define a handler for upload progress events + onUploadProgress: function (progressEvent) { + // ... + }, + + // Define a handler for download progress events + onDownloadProgress: function (progressEvent) { + // ... + } +} +``` + +### 0.12.x -> 0.13.0 + +The `0.13.0` release contains several changes to custom adapters and error handling. + +#### Error Handling + +Previous to this release an error could either be a server response with bad status code or an actual `Error`. With this release Promise will always reject with an `Error`. In the case that a response was received, the `Error` will also include the response. + +```js +axios.get('/user/12345') + .catch((error) => { + console.log(error.message); + console.log(error.code); // Not always specified + console.log(error.config); // The config that was used to make the request + console.log(error.response); // Only available if response was received from the server + }); +``` + +#### Request Adapters + +This release changes a few things about how request adapters work. Please take note if you are using your own custom adapter. + +1. Response transformer is now called outside of adapter. +2. Request adapter returns a `Promise`. + +This means that you no longer need to invoke `transformData` on response data. You will also no longer receive `resolve` and `reject` as arguments in your adapter. + +Previous code: + +```js +function myAdapter(resolve, reject, config) { + var response = { + data: transformData( + responseData, + responseHeaders, + config.transformResponse + ), + status: request.status, + statusText: request.statusText, + headers: responseHeaders + }; + settle(resolve, reject, response); +} +``` + +New code: + +```js +function myAdapter(config) { + return new Promise(function (resolve, reject) { + var response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders + }; + settle(resolve, reject, response); + }); +} +``` + +See the related commits for more details: +- [Response transformers](https://github.com/axios/axios/commit/10eb23865101f9347570552c04e9d6211376e25e) +- [Request adapter Promise](https://github.com/axios/axios/commit/157efd5615890301824e3121cc6c9d2f9b21f94a) + +### 0.5.x -> 0.6.0 + +The `0.6.0` release contains mostly bug fixes, but there are a couple things to be aware of when upgrading. + +#### ES6 Promise Polyfill + +Up until the `0.6.0` release ES6 `Promise` was being polyfilled using [es6-promise](https://github.com/jakearchibald/es6-promise). With this release, the polyfill has been removed, and you will need to supply it yourself if your environment needs it. + +```js +require('es6-promise').polyfill(); +var axios = require('axios'); +``` + +This will polyfill the global environment, and only needs to be done once. + +#### `axios.success`/`axios.error` + +The `success`, and `error` aliases were deprectated in [0.4.0](https://github.com/axios/axios/blob/master/CHANGELOG.md#040-oct-03-2014). As of this release they have been removed entirely. Instead please use `axios.then`, and `axios.catch` respectively. + +```js +axios.get('some/url') + .then(function (res) { + /* ... */ + }) + .catch(function (err) { + /* ... */ + }); +``` + +#### UMD + +Previous versions of axios shipped with an AMD, CommonJS, and Global build. This has all been rolled into a single UMD build. + +```js +// AMD +require(['bower_components/axios/dist/axios'], function (axios) { + /* ... */ +}); + +// CommonJS +var axios = require('axios/dist/axios'); +``` diff --git a/node_modules/axios/dist/axios.js b/node_modules/axios/dist/axios.js new file mode 100644 index 00000000..d9c0c71d --- /dev/null +++ b/node_modules/axios/dist/axios.js @@ -0,0 +1,1715 @@ +/* axios v0.19.2 | (c) 2020 by Matt Zabriskie */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["axios"] = factory(); + else + root["axios"] = factory(); +})(this, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; +/******/ +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + + module.exports = __webpack_require__(1); + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + var bind = __webpack_require__(3); + var Axios = __webpack_require__(4); + var mergeConfig = __webpack_require__(22); + var defaults = __webpack_require__(10); + + /** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * @return {Axios} A new instance of Axios + */ + function createInstance(defaultConfig) { + var context = new Axios(defaultConfig); + var instance = bind(Axios.prototype.request, context); + + // Copy axios.prototype to instance + utils.extend(instance, Axios.prototype, context); + + // Copy context to instance + utils.extend(instance, context); + + return instance; + } + + // Create the default instance to be exported + var axios = createInstance(defaults); + + // Expose Axios class to allow class inheritance + axios.Axios = Axios; + + // Factory for creating new instances + axios.create = function create(instanceConfig) { + return createInstance(mergeConfig(axios.defaults, instanceConfig)); + }; + + // Expose Cancel & CancelToken + axios.Cancel = __webpack_require__(23); + axios.CancelToken = __webpack_require__(24); + axios.isCancel = __webpack_require__(9); + + // Expose all/spread + axios.all = function all(promises) { + return Promise.all(promises); + }; + axios.spread = __webpack_require__(25); + + module.exports = axios; + + // Allow use of default import syntax in TypeScript + module.exports.default = axios; + + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var bind = __webpack_require__(3); + + /*global toString:true*/ + + // utils is a library of generic helper functions non-specific to axios + + var toString = Object.prototype.toString; + + /** + * Determine if a value is an Array + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Array, otherwise false + */ + function isArray(val) { + return toString.call(val) === '[object Array]'; + } + + /** + * Determine if a value is undefined + * + * @param {Object} val The value to test + * @returns {boolean} True if the value is undefined, otherwise false + */ + function isUndefined(val) { + return typeof val === 'undefined'; + } + + /** + * Determine if a value is a Buffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Buffer, otherwise false + */ + function isBuffer(val) { + return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) + && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val); + } + + /** + * Determine if a value is an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ + function isArrayBuffer(val) { + return toString.call(val) === '[object ArrayBuffer]'; + } + + /** + * Determine if a value is a FormData + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an FormData, otherwise false + */ + function isFormData(val) { + return (typeof FormData !== 'undefined') && (val instanceof FormData); + } + + /** + * Determine if a value is a view on an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ + function isArrayBufferView(val) { + var result; + if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + result = ArrayBuffer.isView(val); + } else { + result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer); + } + return result; + } + + /** + * Determine if a value is a String + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a String, otherwise false + */ + function isString(val) { + return typeof val === 'string'; + } + + /** + * Determine if a value is a Number + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Number, otherwise false + */ + function isNumber(val) { + return typeof val === 'number'; + } + + /** + * Determine if a value is an Object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Object, otherwise false + */ + function isObject(val) { + return val !== null && typeof val === 'object'; + } + + /** + * Determine if a value is a Date + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Date, otherwise false + */ + function isDate(val) { + return toString.call(val) === '[object Date]'; + } + + /** + * Determine if a value is a File + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a File, otherwise false + */ + function isFile(val) { + return toString.call(val) === '[object File]'; + } + + /** + * Determine if a value is a Blob + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Blob, otherwise false + */ + function isBlob(val) { + return toString.call(val) === '[object Blob]'; + } + + /** + * Determine if a value is a Function + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ + function isFunction(val) { + return toString.call(val) === '[object Function]'; + } + + /** + * Determine if a value is a Stream + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Stream, otherwise false + */ + function isStream(val) { + return isObject(val) && isFunction(val.pipe); + } + + /** + * Determine if a value is a URLSearchParams object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ + function isURLSearchParams(val) { + return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; + } + + /** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * @returns {String} The String freed of excess whitespace + */ + function trim(str) { + return str.replace(/^\s*/, '').replace(/\s*$/, ''); + } + + /** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + */ + function isStandardBrowserEnv() { + if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || + navigator.product === 'NativeScript' || + navigator.product === 'NS')) { + return false; + } + return ( + typeof window !== 'undefined' && + typeof document !== 'undefined' + ); + } + + /** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + */ + function forEach(obj, fn) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (var i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Iterate over object keys + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + fn.call(null, obj[key], key, obj); + } + } + } + } + + /** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * var result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * @returns {Object} Result of all merge properties + */ + function merge(/* obj1, obj2, obj3, ... */) { + var result = {}; + function assignValue(val, key) { + if (typeof result[key] === 'object' && typeof val === 'object') { + result[key] = merge(result[key], val); + } else { + result[key] = val; + } + } + + for (var i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue); + } + return result; + } + + /** + * Function equal to merge with the difference being that no reference + * to original objects is kept. + * + * @see merge + * @param {Object} obj1 Object to merge + * @returns {Object} Result of all merge properties + */ + function deepMerge(/* obj1, obj2, obj3, ... */) { + var result = {}; + function assignValue(val, key) { + if (typeof result[key] === 'object' && typeof val === 'object') { + result[key] = deepMerge(result[key], val); + } else if (typeof val === 'object') { + result[key] = deepMerge({}, val); + } else { + result[key] = val; + } + } + + for (var i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue); + } + return result; + } + + /** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * @return {Object} The resulting value of object a + */ + function extend(a, b, thisArg) { + forEach(b, function assignValue(val, key) { + if (thisArg && typeof val === 'function') { + a[key] = bind(val, thisArg); + } else { + a[key] = val; + } + }); + return a; + } + + module.exports = { + isArray: isArray, + isArrayBuffer: isArrayBuffer, + isBuffer: isBuffer, + isFormData: isFormData, + isArrayBufferView: isArrayBufferView, + isString: isString, + isNumber: isNumber, + isObject: isObject, + isUndefined: isUndefined, + isDate: isDate, + isFile: isFile, + isBlob: isBlob, + isFunction: isFunction, + isStream: isStream, + isURLSearchParams: isURLSearchParams, + isStandardBrowserEnv: isStandardBrowserEnv, + forEach: forEach, + merge: merge, + deepMerge: deepMerge, + extend: extend, + trim: trim + }; + + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + + 'use strict'; + + module.exports = function bind(fn, thisArg) { + return function wrap() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + return fn.apply(thisArg, args); + }; + }; + + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + var buildURL = __webpack_require__(5); + var InterceptorManager = __webpack_require__(6); + var dispatchRequest = __webpack_require__(7); + var mergeConfig = __webpack_require__(22); + + /** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + */ + function Axios(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; + } + + /** + * Dispatch a request + * + * @param {Object} config The config specific for this request (merged with this.defaults) + */ + Axios.prototype.request = function request(config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof config === 'string') { + config = arguments[1] || {}; + config.url = arguments[0]; + } else { + config = config || {}; + } + + config = mergeConfig(this.defaults, config); + + // Set config.method + if (config.method) { + config.method = config.method.toLowerCase(); + } else if (this.defaults.method) { + config.method = this.defaults.method.toLowerCase(); + } else { + config.method = 'get'; + } + + // Hook up interceptors middleware + var chain = [dispatchRequest, undefined]; + var promise = Promise.resolve(config); + + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + chain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + chain.push(interceptor.fulfilled, interceptor.rejected); + }); + + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + + return promise; + }; + + Axios.prototype.getUri = function getUri(config) { + config = mergeConfig(this.defaults, config); + return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, ''); + }; + + // Provide aliases for supported request methods + utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request(utils.merge(config || {}, { + method: method, + url: url + })); + }; + }); + + utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, data, config) { + return this.request(utils.merge(config || {}, { + method: method, + url: url, + data: data + })); + }; + }); + + module.exports = Axios; + + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + function encode(val) { + return encodeURIComponent(val). + replace(/%40/gi, '@'). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); + } + + /** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @returns {string} The formatted url + */ + module.exports = function buildURL(url, params, paramsSerializer) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + var serializedParams; + if (paramsSerializer) { + serializedParams = paramsSerializer(params); + } else if (utils.isURLSearchParams(params)) { + serializedParams = params.toString(); + } else { + var parts = []; + + utils.forEach(params, function serialize(val, key) { + if (val === null || typeof val === 'undefined') { + return; + } + + if (utils.isArray(val)) { + key = key + '[]'; + } else { + val = [val]; + } + + utils.forEach(val, function parseValue(v) { + if (utils.isDate(v)) { + v = v.toISOString(); + } else if (utils.isObject(v)) { + v = JSON.stringify(v); + } + parts.push(encode(key) + '=' + encode(v)); + }); + }); + + serializedParams = parts.join('&'); + } + + if (serializedParams) { + var hashmarkIndex = url.indexOf('#'); + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; + }; + + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + function InterceptorManager() { + this.handlers = []; + } + + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ + InterceptorManager.prototype.use = function use(fulfilled, rejected) { + this.handlers.push({ + fulfilled: fulfilled, + rejected: rejected + }); + return this.handlers.length - 1; + }; + + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + */ + InterceptorManager.prototype.eject = function eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } + }; + + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + */ + InterceptorManager.prototype.forEach = function forEach(fn) { + utils.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + }; + + module.exports = InterceptorManager; + + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + var transformData = __webpack_require__(8); + var isCancel = __webpack_require__(9); + var defaults = __webpack_require__(10); + + /** + * Throws a `Cancel` if cancellation has been requested. + */ + function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + } + + /** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * @returns {Promise} The Promise to be fulfilled + */ + module.exports = function dispatchRequest(config) { + throwIfCancellationRequested(config); + + // Ensure headers exist + config.headers = config.headers || {}; + + // Transform request data + config.data = transformData( + config.data, + config.headers, + config.transformRequest + ); + + // Flatten headers + config.headers = utils.merge( + config.headers.common || {}, + config.headers[config.method] || {}, + config.headers + ); + + utils.forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + function cleanHeaderConfig(method) { + delete config.headers[method]; + } + ); + + var adapter = config.adapter || defaults.adapter; + + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData( + response.data, + response.headers, + config.transformResponse + ); + + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData( + reason.response.data, + reason.response.headers, + config.transformResponse + ); + } + } + + return Promise.reject(reason); + }); + }; + + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + /** + * Transform the data for a request or a response + * + * @param {Object|String} data The data to be transformed + * @param {Array} headers The headers for the request or response + * @param {Array|Function} fns A single function or Array of functions + * @returns {*} The resulting transformed data + */ + module.exports = function transformData(data, headers, fns) { + /*eslint no-param-reassign:0*/ + utils.forEach(fns, function transform(fn) { + data = fn(data, headers); + }); + + return data; + }; + + +/***/ }), +/* 9 */ +/***/ (function(module, exports) { + + 'use strict'; + + module.exports = function isCancel(value) { + return !!(value && value.__CANCEL__); + }; + + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + var normalizeHeaderName = __webpack_require__(11); + + var DEFAULT_CONTENT_TYPE = { + 'Content-Type': 'application/x-www-form-urlencoded' + }; + + function setContentTypeIfUnset(headers, value) { + if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { + headers['Content-Type'] = value; + } + } + + function getDefaultAdapter() { + var adapter; + if (typeof XMLHttpRequest !== 'undefined') { + // For browsers use XHR adapter + adapter = __webpack_require__(12); + } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { + // For node use HTTP adapter + adapter = __webpack_require__(12); + } + return adapter; + } + + var defaults = { + adapter: getDefaultAdapter(), + + transformRequest: [function transformRequest(data, headers) { + normalizeHeaderName(headers, 'Accept'); + normalizeHeaderName(headers, 'Content-Type'); + if (utils.isFormData(data) || + utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); + return data.toString(); + } + if (utils.isObject(data)) { + setContentTypeIfUnset(headers, 'application/json;charset=utf-8'); + return JSON.stringify(data); + } + return data; + }], + + transformResponse: [function transformResponse(data) { + /*eslint no-param-reassign:0*/ + if (typeof data === 'string') { + try { + data = JSON.parse(data); + } catch (e) { /* Ignore */ } + } + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + } + }; + + defaults.headers = { + common: { + 'Accept': 'application/json, text/plain, */*' + } + }; + + utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { + defaults.headers[method] = {}; + }); + + utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); + }); + + module.exports = defaults; + + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + module.exports = function normalizeHeaderName(headers, normalizedName) { + utils.forEach(headers, function processHeader(value, name) { + if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { + headers[normalizedName] = value; + delete headers[name]; + } + }); + }; + + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + var settle = __webpack_require__(13); + var buildURL = __webpack_require__(5); + var buildFullPath = __webpack_require__(16); + var parseHeaders = __webpack_require__(19); + var isURLSameOrigin = __webpack_require__(20); + var createError = __webpack_require__(14); + + module.exports = function xhrAdapter(config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + var requestData = config.data; + var requestHeaders = config.headers; + + if (utils.isFormData(requestData)) { + delete requestHeaders['Content-Type']; // Let the browser set it + } + + var request = new XMLHttpRequest(); + + // HTTP basic authentication + if (config.auth) { + var username = config.auth.username || ''; + var password = config.auth.password || ''; + requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); + } + + var fullPath = buildFullPath(config.baseURL, config.url); + request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); + + // Set the request timeout in MS + request.timeout = config.timeout; + + // Listen for ready state + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + + // Prepare the response + var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; + var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response; + var response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config: config, + request: request + }; + + settle(resolve, reject, response); + + // Clean up request + request = null; + }; + + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { + return; + } + + reject(createError('Request aborted', config, 'ECONNABORTED', request)); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError() { + // Real errors are hidden from us by the browser + // onerror should only fire if it's a network error + reject(createError('Network Error', config, null, request)); + + // Clean up request + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded'; + if (config.timeoutErrorMessage) { + timeoutErrorMessage = config.timeoutErrorMessage; + } + reject(createError(timeoutErrorMessage, config, 'ECONNABORTED', + request)); + + // Clean up request + request = null; + }; + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + if (utils.isStandardBrowserEnv()) { + var cookies = __webpack_require__(21); + + // Add xsrf header + var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? + cookies.read(config.xsrfCookieName) : + undefined; + + if (xsrfValue) { + requestHeaders[config.xsrfHeaderName] = xsrfValue; + } + } + + // Add headers to the request + if ('setRequestHeader' in request) { + utils.forEach(requestHeaders, function setRequestHeader(val, key) { + if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { + // Remove Content-Type if data is undefined + delete requestHeaders[key]; + } else { + // Otherwise add header to the request + request.setRequestHeader(key, val); + } + }); + } + + // Add withCredentials to request if needed + if (!utils.isUndefined(config.withCredentials)) { + request.withCredentials = !!config.withCredentials; + } + + // Add responseType to request if needed + if (config.responseType) { + try { + request.responseType = config.responseType; + } catch (e) { + // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2. + // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function. + if (config.responseType !== 'json') { + throw e; + } + } + } + + // Handle progress if needed + if (typeof config.onDownloadProgress === 'function') { + request.addEventListener('progress', config.onDownloadProgress); + } + + // Not all browsers support upload events + if (typeof config.onUploadProgress === 'function' && request.upload) { + request.upload.addEventListener('progress', config.onUploadProgress); + } + + if (config.cancelToken) { + // Handle cancellation + config.cancelToken.promise.then(function onCanceled(cancel) { + if (!request) { + return; + } + + request.abort(); + reject(cancel); + // Clean up request + request = null; + }); + } + + if (requestData === undefined) { + requestData = null; + } + + // Send the request + request.send(requestData); + }); + }; + + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var createError = __webpack_require__(14); + + /** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + */ + module.exports = function settle(resolve, reject, response) { + var validateStatus = response.config.validateStatus; + if (!validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(createError( + 'Request failed with status code ' + response.status, + response.config, + null, + response.request, + response + )); + } + }; + + +/***/ }), +/* 14 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var enhanceError = __webpack_require__(15); + + /** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The created error. + */ + module.exports = function createError(message, config, code, request, response) { + var error = new Error(message); + return enhanceError(error, config, code, request, response); + }; + + +/***/ }), +/* 15 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * Update an Error with the specified config, error code, and response. + * + * @param {Error} error The error to update. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The error. + */ + module.exports = function enhanceError(error, config, code, request, response) { + error.config = config; + if (code) { + error.code = code; + } + + error.request = request; + error.response = response; + error.isAxiosError = true; + + error.toJSON = function() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: this.config, + code: this.code + }; + }; + return error; + }; + + +/***/ }), +/* 16 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var isAbsoluteURL = __webpack_require__(17); + var combineURLs = __webpack_require__(18); + + /** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * @returns {string} The combined full path + */ + module.exports = function buildFullPath(baseURL, requestedURL) { + if (baseURL && !isAbsoluteURL(requestedURL)) { + return combineURLs(baseURL, requestedURL); + } + return requestedURL; + }; + + +/***/ }), +/* 17 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ + module.exports = function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url); + }; + + +/***/ }), +/* 18 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * @returns {string} The combined URL + */ + module.exports = function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; + }; + + +/***/ }), +/* 19 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + // Headers whose duplicates are ignored by node + // c.f. https://nodejs.org/api/http.html#http_message_headers + var ignoreDuplicateOf = [ + 'age', 'authorization', 'content-length', 'content-type', 'etag', + 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', + 'last-modified', 'location', 'max-forwards', 'proxy-authorization', + 'referer', 'retry-after', 'user-agent' + ]; + + /** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} headers Headers needing to be parsed + * @returns {Object} Headers parsed into an object + */ + module.exports = function parseHeaders(headers) { + var parsed = {}; + var key; + var val; + var i; + + if (!headers) { return parsed; } + + utils.forEach(headers.split('\n'), function parser(line) { + i = line.indexOf(':'); + key = utils.trim(line.substr(0, i)).toLowerCase(); + val = utils.trim(line.substr(i + 1)); + + if (key) { + if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { + return; + } + if (key === 'set-cookie') { + parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + } + }); + + return parsed; + }; + + +/***/ }), +/* 20 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs have full support of the APIs needed to test + // whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + var msie = /(msie|trident)/i.test(navigator.userAgent); + var urlParsingNode = document.createElement('a'); + var originURL; + + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + var href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })() + ); + + +/***/ }), +/* 21 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs support document.cookie + (function standardBrowserEnv() { + return { + write: function write(name, value, expires, path, domain, secure) { + var cookie = []; + cookie.push(name + '=' + encodeURIComponent(value)); + + if (utils.isNumber(expires)) { + cookie.push('expires=' + new Date(expires).toGMTString()); + } + + if (utils.isString(path)) { + cookie.push('path=' + path); + } + + if (utils.isString(domain)) { + cookie.push('domain=' + domain); + } + + if (secure === true) { + cookie.push('secure'); + } + + document.cookie = cookie.join('; '); + }, + + read: function read(name) { + var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); + return (match ? decodeURIComponent(match[3]) : null); + }, + + remove: function remove(name) { + this.write(name, '', Date.now() - 86400000); + } + }; + })() : + + // Non standard browser env (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return { + write: function write() {}, + read: function read() { return null; }, + remove: function remove() {} + }; + })() + ); + + +/***/ }), +/* 22 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + /** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * @returns {Object} New object resulting from merging config2 to config1 + */ + module.exports = function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + var config = {}; + + var valueFromConfig2Keys = ['url', 'method', 'params', 'data']; + var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy']; + var defaultToConfig2Keys = [ + 'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer', + 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', + 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', + 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent', + 'httpsAgent', 'cancelToken', 'socketPath' + ]; + + utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) { + if (typeof config2[prop] !== 'undefined') { + config[prop] = config2[prop]; + } + }); + + utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) { + if (utils.isObject(config2[prop])) { + config[prop] = utils.deepMerge(config1[prop], config2[prop]); + } else if (typeof config2[prop] !== 'undefined') { + config[prop] = config2[prop]; + } else if (utils.isObject(config1[prop])) { + config[prop] = utils.deepMerge(config1[prop]); + } else if (typeof config1[prop] !== 'undefined') { + config[prop] = config1[prop]; + } + }); + + utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) { + if (typeof config2[prop] !== 'undefined') { + config[prop] = config2[prop]; + } else if (typeof config1[prop] !== 'undefined') { + config[prop] = config1[prop]; + } + }); + + var axiosKeys = valueFromConfig2Keys + .concat(mergeDeepPropertiesKeys) + .concat(defaultToConfig2Keys); + + var otherKeys = Object + .keys(config2) + .filter(function filterAxiosKeys(key) { + return axiosKeys.indexOf(key) === -1; + }); + + utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) { + if (typeof config2[prop] !== 'undefined') { + config[prop] = config2[prop]; + } else if (typeof config1[prop] !== 'undefined') { + config[prop] = config1[prop]; + } + }); + + return config; + }; + + +/***/ }), +/* 23 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * A `Cancel` is an object that is thrown when an operation is canceled. + * + * @class + * @param {string=} message The message. + */ + function Cancel(message) { + this.message = message; + } + + Cancel.prototype.toString = function toString() { + return 'Cancel' + (this.message ? ': ' + this.message : ''); + }; + + Cancel.prototype.__CANCEL__ = true; + + module.exports = Cancel; + + +/***/ }), +/* 24 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var Cancel = __webpack_require__(23); + + /** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @class + * @param {Function} executor The executor function. + */ + function CancelToken(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + var resolvePromise; + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + var token = this; + executor(function cancel(message) { + if (token.reason) { + // Cancellation has already been requested + return; + } + + token.reason = new Cancel(message); + resolvePromise(token.reason); + }); + } + + /** + * Throws a `Cancel` if cancellation has been requested. + */ + CancelToken.prototype.throwIfRequested = function throwIfRequested() { + if (this.reason) { + throw this.reason; + } + }; + + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ + CancelToken.source = function source() { + var cancel; + var token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token: token, + cancel: cancel + }; + }; + + module.exports = CancelToken; + + +/***/ }), +/* 25 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * @returns {Function} + */ + module.exports = function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; + }; + + +/***/ }) +/******/ ]) +}); +; +//# sourceMappingURL=axios.map \ No newline at end of file diff --git a/node_modules/axios/dist/axios.map b/node_modules/axios/dist/axios.map new file mode 100644 index 00000000..43701290 --- /dev/null +++ b/node_modules/axios/dist/axios.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 18e5718d1c92e108675b","webpack:///./index.js","webpack:///./lib/axios.js","webpack:///./lib/utils.js","webpack:///./lib/helpers/bind.js","webpack:///./lib/core/Axios.js","webpack:///./lib/helpers/buildURL.js","webpack:///./lib/core/InterceptorManager.js","webpack:///./lib/core/dispatchRequest.js","webpack:///./lib/core/transformData.js","webpack:///./lib/cancel/isCancel.js","webpack:///./lib/defaults.js","webpack:///./lib/helpers/normalizeHeaderName.js","webpack:///./lib/adapters/xhr.js","webpack:///./lib/core/settle.js","webpack:///./lib/core/createError.js","webpack:///./lib/core/enhanceError.js","webpack:///./lib/core/buildFullPath.js","webpack:///./lib/helpers/isAbsoluteURL.js","webpack:///./lib/helpers/combineURLs.js","webpack:///./lib/helpers/parseHeaders.js","webpack:///./lib/helpers/isURLSameOrigin.js","webpack:///./lib/helpers/cookies.js","webpack:///./lib/core/mergeConfig.js","webpack:///./lib/cancel/Cancel.js","webpack:///./lib/cancel/CancelToken.js","webpack:///./lib/helpers/spread.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;ACtCA,yC;;;;;;ACAA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY,MAAM;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;;;;;ACpDA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,aAAa;AACxB,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAmC,OAAO;AAC1C;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA2B;AAC3B;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA,wCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,iCAAgC;AAChC,MAAK;AACL;AACA;AACA;;AAEA,wCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvVA;;AAEA;AACA;AACA;AACA,oBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;;;;;;;ACVA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iDAAgD;AAChD;AACA;AACA,MAAK;AACL;AACA,EAAC;;AAED;AACA;AACA;AACA,iDAAgD;AAChD;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC;;AAED;;;;;;;AC7FA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,QAAO;AACP,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;ACtEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB;AACA,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;;;;;;ACnDA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAA+B;AAC/B,wCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;;;;;;;AC9EA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,cAAc;AACzB,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;;;;;;ACnBA;;AAEA;AACA;AACA;;;;;;;ACJA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAwE;AACxE;AACA;AACA;AACA,wDAAuD;AACvD;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,QAAO,YAAY;AACnB;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA,EAAC;;AAED;;;;;;;AChGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;;;;;;ACXA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,6CAA4C;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;;;;;;;ACnLA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzCA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACbA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;;;;;;ACbA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,eAAe;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,IAAG;;AAEH;AACA;;;;;;;ACpDA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAc,OAAO;AACrB,iBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,eAAc,OAAO;AACrB,iBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;;;;;;ACnEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2CAA0C;AAC1C,UAAS;;AAET;AACA,6DAA4D,wBAAwB;AACpF;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,mCAAkC;AAClC,gCAA+B,aAAa,EAAE;AAC9C;AACA;AACA,MAAK;AACL;;;;;;;ACpDA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;;;;;;;ACxEA;;AAEA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;;;;;;AClBA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxDA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA,YAAW,SAAS;AACpB,cAAa;AACb;AACA;AACA;AACA;AACA;AACA","file":"axios.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"axios\"] = factory();\n\telse\n\t\troot[\"axios\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 18e5718d1c92e108675b","module.exports = require('./lib/axios');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./index.js\n// module id = 0\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/axios.js\n// module id = 1\n// module chunks = 0","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/utils.js\n// module id = 2\n// module chunks = 0","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/bind.js\n// module id = 3\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/Axios.js\n// module id = 4\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/buildURL.js\n// module id = 5\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/InterceptorManager.js\n// module id = 6\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/dispatchRequest.js\n// module id = 7\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/transformData.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/isCancel.js\n// module id = 9\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/defaults.js\n// module id = 10\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/normalizeHeaderName.js\n// module id = 11\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/adapters/xhr.js\n// module id = 12\n// module chunks = 0","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/settle.js\n// module id = 13\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/createError.js\n// module id = 14\n// module chunks = 0","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/enhanceError.js\n// module id = 15\n// module chunks = 0","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/buildFullPath.js\n// module id = 16\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/isAbsoluteURL.js\n// module id = 17\n// module chunks = 0","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/combineURLs.js\n// module id = 18\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/parseHeaders.js\n// module id = 19\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/isURLSameOrigin.js\n// module id = 20\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/cookies.js\n// module id = 21\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n var defaultToConfig2Keys = [\n 'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',\n 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath'\n ];\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys);\n\n var otherKeys = Object\n .keys(config2)\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n return config;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/mergeConfig.js\n// module id = 22\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/Cancel.js\n// module id = 23\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/CancelToken.js\n// module id = 24\n// module chunks = 0","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/spread.js\n// module id = 25\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/node_modules/axios/dist/axios.min.js b/node_modules/axios/dist/axios.min.js new file mode 100644 index 00000000..b87c0e38 --- /dev/null +++ b/node_modules/axios/dist/axios.min.js @@ -0,0 +1,3 @@ +/* axios v0.19.2 | (c) 2020 by Matt Zabriskie */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new s(e),n=i(s.prototype.request,t);return o.extend(n,s.prototype,t),o.extend(n,t),n}var o=n(2),i=n(3),s=n(4),a=n(22),u=n(10),c=r(u);c.Axios=s,c.create=function(e){return r(a(c.defaults,e))},c.Cancel=n(23),c.CancelToken=n(24),c.isCancel=n(9),c.all=function(e){return Promise.all(e)},c.spread=n(25),e.exports=c,e.exports.default=c},function(e,t,n){"use strict";function r(e){return"[object Array]"===j.call(e)}function o(e){return"undefined"==typeof e}function i(e){return null!==e&&!o(e)&&null!==e.constructor&&!o(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function s(e){return"[object ArrayBuffer]"===j.call(e)}function a(e){return"undefined"!=typeof FormData&&e instanceof FormData}function u(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function c(e){return"string"==typeof e}function f(e){return"number"==typeof e}function p(e){return null!==e&&"object"==typeof e}function d(e){return"[object Date]"===j.call(e)}function l(e){return"[object File]"===j.call(e)}function h(e){return"[object Blob]"===j.call(e)}function m(e){return"[object Function]"===j.call(e)}function y(e){return p(e)&&m(e.pipe)}function g(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function v(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function x(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function w(e,t){if(null!==e&&"undefined"!=typeof e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,o=e.length;n=200&&e<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){u.headers[e]={}}),i.forEach(["post","put","patch"],function(e){u.headers[e]=i.merge(a)}),e.exports=u},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),o=n(13),i=n(5),s=n(16),a=n(19),u=n(20),c=n(14);e.exports=function(e){return new Promise(function(t,f){var p=e.data,d=e.headers;r.isFormData(p)&&delete d["Content-Type"];var l=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",m=e.auth.password||"";d.Authorization="Basic "+btoa(h+":"+m)}var y=s(e.baseURL,e.url);if(l.open(e.method.toUpperCase(),i(y,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,l.onreadystatechange=function(){if(l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in l?a(l.getAllResponseHeaders()):null,r=e.responseType&&"text"!==e.responseType?l.response:l.responseText,i={data:r,status:l.status,statusText:l.statusText,headers:n,config:e,request:l};o(t,f,i),l=null}},l.onabort=function(){l&&(f(c("Request aborted",e,"ECONNABORTED",l)),l=null)},l.onerror=function(){f(c("Network Error",e,null,l)),l=null},l.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),f(c(t,e,"ECONNABORTED",l)),l=null},r.isStandardBrowserEnv()){var g=n(21),v=(e.withCredentials||u(y))&&e.xsrfCookieName?g.read(e.xsrfCookieName):void 0;v&&(d[e.xsrfHeaderName]=v)}if("setRequestHeader"in l&&r.forEach(d,function(e,t){"undefined"==typeof p&&"content-type"===t.toLowerCase()?delete d[t]:l.setRequestHeader(t,e)}),r.isUndefined(e.withCredentials)||(l.withCredentials=!!e.withCredentials),e.responseType)try{l.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&l.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){l&&(l.abort(),f(e),l=null)}),void 0===p&&(p=null),l.send(p)})}},function(e,t,n){"use strict";var r=n(14);e.exports=function(e,t,n){var o=n.config.validateStatus;!o||o(n.status)?e(n):t(r("Request failed with status code "+n.status,n.config,null,n.request,n))}},function(e,t,n){"use strict";var r=n(15);e.exports=function(e,t,n,o,i){var s=new Error(e);return r(s,t,n,o,i)}},function(e,t){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,n){"use strict";var r=n(17),o=n(18);e.exports=function(e,t){return e&&!r(t)?o(e,t):t}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,n){"use strict";var r=n(2),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,i,s={};return e?(r.forEach(e.split("\n"),function(e){if(i=e.indexOf(":"),t=r.trim(e.substr(0,i)).toLowerCase(),n=r.trim(e.substr(i+1)),t){if(s[t]&&o.indexOf(t)>=0)return;"set-cookie"===t?s[t]=(s[t]?s[t]:[]).concat([n]):s[t]=s[t]?s[t]+", "+n:n}}),s):s}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(o.setAttribute("href",t),t=o.href),o.setAttribute("href",t),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return t=e(window.location.href),function(n){var o=r.isString(n)?e(n):n;return o.protocol===t.protocol&&o.host===t.host}}():function(){return function(){return!0}}()},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,o,i,s){var a=[];a.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),r.isString(o)&&a.push("path="+o),r.isString(i)&&a.push("domain="+i),s===!0&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){t=t||{};var n={},o=["url","method","params","data"],i=["headers","auth","proxy"],s=["baseURL","url","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"];r.forEach(o,function(e){"undefined"!=typeof t[e]&&(n[e]=t[e])}),r.forEach(i,function(o){r.isObject(t[o])?n[o]=r.deepMerge(e[o],t[o]):"undefined"!=typeof t[o]?n[o]=t[o]:r.isObject(e[o])?n[o]=r.deepMerge(e[o]):"undefined"!=typeof e[o]&&(n[o]=e[o])}),r.forEach(s,function(r){"undefined"!=typeof t[r]?n[r]=t[r]:"undefined"!=typeof e[r]&&(n[r]=e[r])});var a=o.concat(i).concat(s),u=Object.keys(t).filter(function(e){return a.indexOf(e)===-1});return r.forEach(u,function(r){"undefined"!=typeof t[r]?n[r]=t[r]:"undefined"!=typeof e[r]&&(n[r]=e[r])}),n}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new o(e),t(n.reason))})}var o=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e,t=new r(function(t){e=t});return{token:t,cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])}); +//# sourceMappingURL=axios.min.map \ No newline at end of file diff --git a/node_modules/axios/dist/axios.min.map b/node_modules/axios/dist/axios.min.map new file mode 100644 index 00000000..82849ccf --- /dev/null +++ b/node_modules/axios/dist/axios.min.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///axios.min.js","webpack:///webpack/bootstrap be8c45a40d7c235b46c5","webpack:///./index.js","webpack:///./lib/axios.js","webpack:///./lib/utils.js","webpack:///./lib/helpers/bind.js","webpack:///./lib/core/Axios.js","webpack:///./lib/helpers/buildURL.js","webpack:///./lib/core/InterceptorManager.js","webpack:///./lib/core/dispatchRequest.js","webpack:///./lib/core/transformData.js","webpack:///./lib/cancel/isCancel.js","webpack:///./lib/defaults.js","webpack:///./lib/helpers/normalizeHeaderName.js","webpack:///./lib/adapters/xhr.js","webpack:///./lib/core/settle.js","webpack:///./lib/core/createError.js","webpack:///./lib/core/enhanceError.js","webpack:///./lib/core/buildFullPath.js","webpack:///./lib/helpers/isAbsoluteURL.js","webpack:///./lib/helpers/combineURLs.js","webpack:///./lib/helpers/parseHeaders.js","webpack:///./lib/helpers/isURLSameOrigin.js","webpack:///./lib/helpers/cookies.js","webpack:///./lib/core/mergeConfig.js","webpack:///./lib/cancel/Cancel.js","webpack:///./lib/cancel/CancelToken.js","webpack:///./lib/helpers/spread.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","createInstance","defaultConfig","context","Axios","instance","bind","prototype","request","utils","extend","mergeConfig","defaults","axios","create","instanceConfig","Cancel","CancelToken","isCancel","all","promises","Promise","spread","default","isArray","val","toString","isUndefined","isBuffer","constructor","isArrayBuffer","isFormData","FormData","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isObject","isDate","isFile","isBlob","isFunction","isStream","pipe","isURLSearchParams","URLSearchParams","trim","str","replace","isStandardBrowserEnv","navigator","product","window","document","forEach","obj","fn","i","l","length","key","Object","hasOwnProperty","merge","assignValue","arguments","deepMerge","a","b","thisArg","args","Array","apply","interceptors","InterceptorManager","response","buildURL","dispatchRequest","config","url","method","toLowerCase","chain","undefined","promise","resolve","interceptor","unshift","fulfilled","rejected","push","then","shift","getUri","params","paramsSerializer","data","encode","encodeURIComponent","serializedParams","parts","v","toISOString","JSON","stringify","join","hashmarkIndex","indexOf","slice","handlers","use","eject","h","throwIfCancellationRequested","cancelToken","throwIfRequested","transformData","headers","transformRequest","common","adapter","transformResponse","reason","reject","fns","value","__CANCEL__","setContentTypeIfUnset","getDefaultAdapter","XMLHttpRequest","process","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","Accept","normalizedName","name","toUpperCase","settle","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","auth","username","password","Authorization","btoa","fullPath","baseURL","open","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","cookies","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","send","enhanceError","message","code","error","Error","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","stack","isAbsoluteURL","combineURLs","requestedURL","test","relativeURL","ignoreDuplicateOf","parsed","split","line","substr","concat","resolveURL","href","msie","urlParsingNode","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","originURL","userAgent","createElement","location","requestURL","write","expires","path","domain","secure","cookie","Date","toGMTString","match","RegExp","decodeURIComponent","remove","now","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","prop","axiosKeys","otherKeys","keys","filter","executor","TypeError","resolvePromise","token","source","callback","arr"],"mappings":"CAAA,SAAAA,EAAAC,GACA,gBAAAC,UAAA,gBAAAC,QACAA,OAAAD,QAAAD,IACA,kBAAAG,gBAAAC,IACAD,UAAAH,GACA,gBAAAC,SACAA,QAAA,MAAAD,IAEAD,EAAA,MAAAC,KACCK,KAAA,WACD,MCAgB,UAAUC,GCN1B,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAP,OAGA,IAAAC,GAAAO,EAAAD,IACAP,WACAS,GAAAF,EACAG,QAAA,EAUA,OANAL,GAAAE,GAAAI,KAAAV,EAAAD,QAAAC,IAAAD,QAAAM,GAGAL,EAAAS,QAAA,EAGAT,EAAAD,QAvBA,GAAAQ,KAqCA,OATAF,GAAAM,EAAAP,EAGAC,EAAAO,EAAAL,EAGAF,EAAAQ,EAAA,GAGAR,EAAA,KDgBM,SAAUL,EAAQD,EAASM,GEtDjCL,EAAAD,QAAAM,EAAA,IF4DM,SAAUL,EAAQD,EAASM,GG5DjC,YAcA,SAAAS,GAAAC,GACA,GAAAC,GAAA,GAAAC,GAAAF,GACAG,EAAAC,EAAAF,EAAAG,UAAAC,QAAAL,EAQA,OALAM,GAAAC,OAAAL,EAAAD,EAAAG,UAAAJ,GAGAM,EAAAC,OAAAL,EAAAF,GAEAE,EAtBA,GAAAI,GAAAjB,EAAA,GACAc,EAAAd,EAAA,GACAY,EAAAZ,EAAA,GACAmB,EAAAnB,EAAA,IACAoB,EAAApB,EAAA,IAsBAqB,EAAAZ,EAAAW,EAGAC,GAAAT,QAGAS,EAAAC,OAAA,SAAAC,GACA,MAAAd,GAAAU,EAAAE,EAAAD,SAAAG,KAIAF,EAAAG,OAAAxB,EAAA,IACAqB,EAAAI,YAAAzB,EAAA,IACAqB,EAAAK,SAAA1B,EAAA,GAGAqB,EAAAM,IAAA,SAAAC,GACA,MAAAC,SAAAF,IAAAC,IAEAP,EAAAS,OAAA9B,EAAA,IAEAL,EAAAD,QAAA2B,EAGA1B,EAAAD,QAAAqC,QAAAV,GHmEM,SAAU1B,EAAQD,EAASM,GIvHjC,YAgBA,SAAAgC,GAAAC,GACA,yBAAAC,EAAA7B,KAAA4B,GASA,QAAAE,GAAAF,GACA,yBAAAA,GASA,QAAAG,GAAAH,GACA,cAAAA,IAAAE,EAAAF,IAAA,OAAAA,EAAAI,cAAAF,EAAAF,EAAAI,cACA,kBAAAJ,GAAAI,YAAAD,UAAAH,EAAAI,YAAAD,SAAAH,GASA,QAAAK,GAAAL,GACA,+BAAAC,EAAA7B,KAAA4B,GASA,QAAAM,GAAAN,GACA,yBAAAO,WAAAP,YAAAO,UASA,QAAAC,GAAAR,GACA,GAAAS,EAMA,OAJAA,GADA,mBAAAC,0BAAA,OACAA,YAAAC,OAAAX,GAEA,GAAAA,EAAA,QAAAA,EAAAY,iBAAAF,aAWA,QAAAG,GAAAb,GACA,sBAAAA,GASA,QAAAc,GAAAd,GACA,sBAAAA,GASA,QAAAe,GAAAf,GACA,cAAAA,GAAA,gBAAAA,GASA,QAAAgB,GAAAhB,GACA,wBAAAC,EAAA7B,KAAA4B,GASA,QAAAiB,GAAAjB,GACA,wBAAAC,EAAA7B,KAAA4B,GASA,QAAAkB,GAAAlB,GACA,wBAAAC,EAAA7B,KAAA4B,GASA,QAAAmB,GAAAnB,GACA,4BAAAC,EAAA7B,KAAA4B,GASA,QAAAoB,GAAApB,GACA,MAAAe,GAAAf,IAAAmB,EAAAnB,EAAAqB,MASA,QAAAC,GAAAtB,GACA,yBAAAuB,kBAAAvB,YAAAuB,iBASA,QAAAC,GAAAC,GACA,MAAAA,GAAAC,QAAA,WAAAA,QAAA,WAkBA,QAAAC,KACA,0BAAAC,YAAA,gBAAAA,UAAAC,SACA,iBAAAD,UAAAC,SACA,OAAAD,UAAAC,WAIA,mBAAAC,SACA,mBAAAC,WAgBA,QAAAC,GAAAC,EAAAC,GAEA,UAAAD,GAAA,mBAAAA,GAUA,GALA,gBAAAA,KAEAA,OAGAlC,EAAAkC,GAEA,OAAAE,GAAA,EAAAC,EAAAH,EAAAI,OAAmCF,EAAAC,EAAOD,IAC1CD,EAAA9D,KAAA,KAAA6D,EAAAE,KAAAF,OAIA,QAAAK,KAAAL,GACAM,OAAAzD,UAAA0D,eAAApE,KAAA6D,EAAAK,IACAJ,EAAA9D,KAAA,KAAA6D,EAAAK,KAAAL,GAuBA,QAAAQ,KAEA,QAAAC,GAAA1C,EAAAsC,GACA,gBAAA7B,GAAA6B,IAAA,gBAAAtC,GACAS,EAAA6B,GAAAG,EAAAhC,EAAA6B,GAAAtC,GAEAS,EAAA6B,GAAAtC,EAIA,OATAS,MASA0B,EAAA,EAAAC,EAAAO,UAAAN,OAAuCF,EAAAC,EAAOD,IAC9CH,EAAAW,UAAAR,GAAAO,EAEA,OAAAjC,GAWA,QAAAmC,KAEA,QAAAF,GAAA1C,EAAAsC,GACA,gBAAA7B,GAAA6B,IAAA,gBAAAtC,GACAS,EAAA6B,GAAAM,EAAAnC,EAAA6B,GAAAtC,GACK,gBAAAA,GACLS,EAAA6B,GAAAM,KAAgC5C,GAEhCS,EAAA6B,GAAAtC,EAIA,OAXAS,MAWA0B,EAAA,EAAAC,EAAAO,UAAAN,OAAuCF,EAAAC,EAAOD,IAC9CH,EAAAW,UAAAR,GAAAO,EAEA,OAAAjC,GAWA,QAAAxB,GAAA4D,EAAAC,EAAAC,GAQA,MAPAf,GAAAc,EAAA,SAAA9C,EAAAsC,GACAS,GAAA,kBAAA/C,GACA6C,EAAAP,GAAAzD,EAAAmB,EAAA+C,GAEAF,EAAAP,GAAAtC,IAGA6C,EA5TA,GAAAhE,GAAAd,EAAA,GAMAkC,EAAAsC,OAAAzD,UAAAmB,QAyTAvC,GAAAD,SACAsC,UACAM,gBACAF,WACAG,aACAE,oBACAK,WACAC,WACAC,WACAb,cACAc,SACAC,SACAC,SACAC,aACAC,WACAE,oBACAK,uBACAK,UACAS,QACAG,YACA3D,SACAuC,SJ+HM,SAAU9D,EAAQD,GKrdxB,YAEAC,GAAAD,QAAA,SAAAyE,EAAAa,GACA,kBAEA,OADAC,GAAA,GAAAC,OAAAN,UAAAN,QACAF,EAAA,EAAmBA,EAAAa,EAAAX,OAAiBF,IACpCa,EAAAb,GAAAQ,UAAAR,EAEA,OAAAD,GAAAgB,MAAAH,EAAAC,ML8dM,SAAUtF,EAAQD,EAASM,GMtejC,YAaA,SAAAY,GAAAW,GACAzB,KAAAsB,SAAAG,EACAzB,KAAAsF,cACApE,QAAA,GAAAqE,GACAC,SAAA,GAAAD,IAfA,GAAApE,GAAAjB,EAAA,GACAuF,EAAAvF,EAAA,GACAqF,EAAArF,EAAA,GACAwF,EAAAxF,EAAA,GACAmB,EAAAnB,EAAA,GAoBAY,GAAAG,UAAAC,QAAA,SAAAyE,GAGA,gBAAAA,IACAA,EAAAb,UAAA,OACAa,EAAAC,IAAAd,UAAA,IAEAa,QAGAA,EAAAtE,EAAArB,KAAAsB,SAAAqE,GAGAA,EAAAE,OACAF,EAAAE,OAAAF,EAAAE,OAAAC,cACG9F,KAAAsB,SAAAuE,OACHF,EAAAE,OAAA7F,KAAAsB,SAAAuE,OAAAC,cAEAH,EAAAE,OAAA,KAIA,IAAAE,IAAAL,EAAAM,QACAC,EAAAlE,QAAAmE,QAAAP,EAUA,KARA3F,KAAAsF,aAAApE,QAAAiD,QAAA,SAAAgC,GACAJ,EAAAK,QAAAD,EAAAE,UAAAF,EAAAG,YAGAtG,KAAAsF,aAAAE,SAAArB,QAAA,SAAAgC,GACAJ,EAAAQ,KAAAJ,EAAAE,UAAAF,EAAAG,YAGAP,EAAAvB,QACAyB,IAAAO,KAAAT,EAAAU,QAAAV,EAAAU,QAGA,OAAAR,IAGAnF,EAAAG,UAAAyF,OAAA,SAAAf,GAEA,MADAA,GAAAtE,EAAArB,KAAAsB,SAAAqE,GACAF,EAAAE,EAAAC,IAAAD,EAAAgB,OAAAhB,EAAAiB,kBAAA/C,QAAA,WAIA1C,EAAAgD,SAAA,0CAAA0B,GAEA/E,EAAAG,UAAA4E,GAAA,SAAAD,EAAAD,GACA,MAAA3F,MAAAkB,QAAAC,EAAAyD,MAAAe,OACAE,SACAD,YAKAzE,EAAAgD,SAAA,+BAAA0B,GAEA/E,EAAAG,UAAA4E,GAAA,SAAAD,EAAAiB,EAAAlB,GACA,MAAA3F,MAAAkB,QAAAC,EAAAyD,MAAAe,OACAE,SACAD,MACAiB,aAKAhH,EAAAD,QAAAkB,GN6eM,SAAUjB,EAAQD,EAASM,GO1kBjC,YAIA,SAAA4G,GAAA3E,GACA,MAAA4E,oBAAA5E,GACA0B,QAAA,aACAA,QAAA,aACAA,QAAA,YACAA,QAAA,aACAA,QAAA,YACAA,QAAA,aACAA,QAAA,aAVA,GAAA1C,GAAAjB,EAAA,EAoBAL,GAAAD,QAAA,SAAAgG,EAAAe,EAAAC,GAEA,IAAAD,EACA,MAAAf,EAGA,IAAAoB,EACA,IAAAJ,EACAI,EAAAJ,EAAAD,OACG,IAAAxF,EAAAsC,kBAAAkD,GACHK,EAAAL,EAAAvE,eACG,CACH,GAAA6E,KAEA9F,GAAAgD,QAAAwC,EAAA,SAAAxE,EAAAsC,GACA,OAAAtC,GAAA,mBAAAA,KAIAhB,EAAAe,QAAAC,GACAsC,GAAA,KAEAtC,MAGAhB,EAAAgD,QAAAhC,EAAA,SAAA+E,GACA/F,EAAAgC,OAAA+D,GACAA,IAAAC,cACShG,EAAA+B,SAAAgE,KACTA,EAAAE,KAAAC,UAAAH,IAEAD,EAAAV,KAAAO,EAAArC,GAAA,IAAAqC,EAAAI,SAIAF,EAAAC,EAAAK,KAAA,KAGA,GAAAN,EAAA,CACA,GAAAO,GAAA3B,EAAA4B,QAAA,IACAD,MAAA,IACA3B,IAAA6B,MAAA,EAAAF,IAGA3B,MAAA4B,QAAA,mBAAAR,EAGA,MAAApB,KPklBM,SAAU/F,EAAQD,EAASM,GQvpBjC,YAIA,SAAAqF,KACAvF,KAAA0H,YAHA,GAAAvG,GAAAjB,EAAA,EAcAqF,GAAAtE,UAAA0G,IAAA,SAAAtB,EAAAC,GAKA,MAJAtG,MAAA0H,SAAAnB,MACAF,YACAC,aAEAtG,KAAA0H,SAAAlD,OAAA,GAQAe,EAAAtE,UAAA2G,MAAA,SAAAvH,GACAL,KAAA0H,SAAArH,KACAL,KAAA0H,SAAArH,GAAA,OAYAkF,EAAAtE,UAAAkD,QAAA,SAAAE,GACAlD,EAAAgD,QAAAnE,KAAA0H,SAAA,SAAAG,GACA,OAAAA,GACAxD,EAAAwD,MAKAhI,EAAAD,QAAA2F,GR8pBM,SAAU1F,EAAQD,EAASM,GSjtBjC,YAUA,SAAA4H,GAAAnC,GACAA,EAAAoC,aACApC,EAAAoC,YAAAC,mBAVA,GAAA7G,GAAAjB,EAAA,GACA+H,EAAA/H,EAAA,GACA0B,EAAA1B,EAAA,GACAoB,EAAApB,EAAA,GAiBAL,GAAAD,QAAA,SAAA+F,GACAmC,EAAAnC,GAGAA,EAAAuC,QAAAvC,EAAAuC,YAGAvC,EAAAkB,KAAAoB,EACAtC,EAAAkB,KACAlB,EAAAuC,QACAvC,EAAAwC,kBAIAxC,EAAAuC,QAAA/G,EAAAyD,MACAe,EAAAuC,QAAAE,WACAzC,EAAAuC,QAAAvC,EAAAE,YACAF,EAAAuC,SAGA/G,EAAAgD,SACA,qDACA,SAAA0B,SACAF,GAAAuC,QAAArC,IAIA,IAAAwC,GAAA1C,EAAA0C,SAAA/G,EAAA+G,OAEA,OAAAA,GAAA1C,GAAAa,KAAA,SAAAhB,GAUA,MATAsC,GAAAnC,GAGAH,EAAAqB,KAAAoB,EACAzC,EAAAqB,KACArB,EAAA0C,QACAvC,EAAA2C,mBAGA9C,GACG,SAAA+C,GAcH,MAbA3G,GAAA2G,KACAT,EAAAnC,GAGA4C,KAAA/C,WACA+C,EAAA/C,SAAAqB,KAAAoB,EACAM,EAAA/C,SAAAqB,KACA0B,EAAA/C,SAAA0C,QACAvC,EAAA2C,qBAKAvG,QAAAyG,OAAAD,OT0tBM,SAAU1I,EAAQD,EAASM,GUtyBjC,YAEA,IAAAiB,GAAAjB,EAAA,EAUAL,GAAAD,QAAA,SAAAiH,EAAAqB,EAAAO,GAMA,MAJAtH,GAAAgD,QAAAsE,EAAA,SAAApE,GACAwC,EAAAxC,EAAAwC,EAAAqB,KAGArB,IV8yBM,SAAUhH,EAAQD,GWh0BxB,YAEAC,GAAAD,QAAA,SAAA8I,GACA,SAAAA,MAAAC,cXw0BM,SAAU9I,EAAQD,EAASM,GY30BjC,YASA,SAAA0I,GAAAV,EAAAQ,IACAvH,EAAAkB,YAAA6F,IAAA/G,EAAAkB,YAAA6F,EAAA,mBACAA,EAAA,gBAAAQ,GAIA,QAAAG,KACA,GAAAR,EAQA,OAPA,mBAAAS,gBAEAT,EAAAnI,EAAA,IACG,mBAAA6I,UAAA,qBAAArE,OAAAzD,UAAAmB,SAAA7B,KAAAwI,WAEHV,EAAAnI,EAAA,KAEAmI,EAtBA,GAAAlH,GAAAjB,EAAA,GACA8I,EAAA9I,EAAA,IAEA+I,GACAC,eAAA,qCAqBA5H,GACA+G,QAAAQ,IAEAV,kBAAA,SAAAtB,EAAAqB,GAGA,MAFAc,GAAAd,EAAA,UACAc,EAAAd,EAAA,gBACA/G,EAAAsB,WAAAoE,IACA1F,EAAAqB,cAAAqE,IACA1F,EAAAmB,SAAAuE,IACA1F,EAAAoC,SAAAsD,IACA1F,EAAAiC,OAAAyD,IACA1F,EAAAkC,OAAAwD,GAEAA,EAEA1F,EAAAwB,kBAAAkE,GACAA,EAAA9D,OAEA5B,EAAAsC,kBAAAoD,IACA+B,EAAAV,EAAA,mDACArB,EAAAzE,YAEAjB,EAAA+B,SAAA2D,IACA+B,EAAAV,EAAA,kCACAd,KAAAC,UAAAR,IAEAA,IAGAyB,mBAAA,SAAAzB,GAEA,mBAAAA,GACA,IACAA,EAAAO,KAAA+B,MAAAtC,GACO,MAAAuC,IAEP,MAAAvC,KAOAwC,QAAA,EAEAC,eAAA,aACAC,eAAA,eAEAC,kBAAA,EAEAC,eAAA,SAAAC,GACA,MAAAA,IAAA,KAAAA,EAAA,KAIApI,GAAA4G,SACAE,QACAuB,OAAA,sCAIAxI,EAAAgD,SAAA,gCAAA0B,GACAvE,EAAA4G,QAAArC,QAGA1E,EAAAgD,SAAA,+BAAA0B,GACAvE,EAAA4G,QAAArC,GAAA1E,EAAAyD,MAAAqE,KAGApJ,EAAAD,QAAA0B,GZk1BM,SAAUzB,EAAQD,EAASM,Gal7BjC,YAEA,IAAAiB,GAAAjB,EAAA,EAEAL,GAAAD,QAAA,SAAAsI,EAAA0B,GACAzI,EAAAgD,QAAA+D,EAAA,SAAAQ,EAAAmB,GACAA,IAAAD,GAAAC,EAAAC,gBAAAF,EAAAE,gBACA5B,EAAA0B,GAAAlB,QACAR,GAAA2B,Qb47BM,SAAUhK,EAAQD,EAASM,Gcp8BjC,YAEA,IAAAiB,GAAAjB,EAAA,GACA6J,EAAA7J,EAAA,IACAuF,EAAAvF,EAAA,GACA8J,EAAA9J,EAAA,IACA+J,EAAA/J,EAAA,IACAgK,EAAAhK,EAAA,IACAiK,EAAAjK,EAAA,GAEAL,GAAAD,QAAA,SAAA+F,GACA,UAAA5D,SAAA,SAAAmE,EAAAsC,GACA,GAAA4B,GAAAzE,EAAAkB,KACAwD,EAAA1E,EAAAuC,OAEA/G,GAAAsB,WAAA2H,UACAC,GAAA,eAGA,IAAAnJ,GAAA,GAAA4H,eAGA,IAAAnD,EAAA2E,KAAA,CACA,GAAAC,GAAA5E,EAAA2E,KAAAC,UAAA,GACAC,EAAA7E,EAAA2E,KAAAE,UAAA,EACAH,GAAAI,cAAA,SAAAC,KAAAH,EAAA,IAAAC,GAGA,GAAAG,GAAAX,EAAArE,EAAAiF,QAAAjF,EAAAC,IA4EA,IA3EA1E,EAAA2J,KAAAlF,EAAAE,OAAAiE,cAAArE,EAAAkF,EAAAhF,EAAAgB,OAAAhB,EAAAiB,mBAAA,GAGA1F,EAAAmI,QAAA1D,EAAA0D,QAGAnI,EAAA4J,mBAAA,WACA,GAAA5J,GAAA,IAAAA,EAAA6J,aAQA,IAAA7J,EAAAwI,QAAAxI,EAAA8J,aAAA,IAAA9J,EAAA8J,YAAAxD,QAAA,WAKA,GAAAyD,GAAA,yBAAA/J,GAAA+I,EAAA/I,EAAAgK,yBAAA,KACAC,EAAAxF,EAAAyF,cAAA,SAAAzF,EAAAyF,aAAAlK,EAAAsE,SAAAtE,EAAAmK,aACA7F,GACAqB,KAAAsE,EACAzB,OAAAxI,EAAAwI,OACA4B,WAAApK,EAAAoK,WACApD,QAAA+C,EACAtF,SACAzE,UAGA6I,GAAA7D,EAAAsC,EAAAhD,GAGAtE,EAAA,OAIAA,EAAAqK,QAAA,WACArK,IAIAsH,EAAA2B,EAAA,kBAAAxE,EAAA,eAAAzE,IAGAA,EAAA,OAIAA,EAAAsK,QAAA,WAGAhD,EAAA2B,EAAA,gBAAAxE,EAAA,KAAAzE,IAGAA,EAAA,MAIAA,EAAAuK,UAAA,WACA,GAAAC,GAAA,cAAA/F,EAAA0D,QAAA,aACA1D,GAAA+F,sBACAA,EAAA/F,EAAA+F,qBAEAlD,EAAA2B,EAAAuB,EAAA/F,EAAA,eACAzE,IAGAA,EAAA,MAMAC,EAAA2C,uBAAA,CACA,GAAA6H,GAAAzL,EAAA,IAGA0L,GAAAjG,EAAAkG,iBAAA3B,EAAAS,KAAAhF,EAAA2D,eACAqC,EAAAG,KAAAnG,EAAA2D,gBACAtD,MAEA4F,KACAvB,EAAA1E,EAAA4D,gBAAAqC,GAuBA,GAlBA,oBAAA1K,IACAC,EAAAgD,QAAAkG,EAAA,SAAAlI,EAAAsC,GACA,mBAAA2F,IAAA,iBAAA3F,EAAAqB,oBAEAuE,GAAA5F,GAGAvD,EAAA6K,iBAAAtH,EAAAtC,KAMAhB,EAAAkB,YAAAsD,EAAAkG,mBACA3K,EAAA2K,kBAAAlG,EAAAkG,iBAIAlG,EAAAyF,aACA,IACAlK,EAAAkK,aAAAzF,EAAAyF,aACO,MAAAhC,GAGP,YAAAzD,EAAAyF,aACA,KAAAhC,GAMA,kBAAAzD,GAAAqG,oBACA9K,EAAA+K,iBAAA,WAAAtG,EAAAqG,oBAIA,kBAAArG,GAAAuG,kBAAAhL,EAAAiL,QACAjL,EAAAiL,OAAAF,iBAAA,WAAAtG,EAAAuG,kBAGAvG,EAAAoC,aAEApC,EAAAoC,YAAA9B,QAAAO,KAAA,SAAA4F,GACAlL,IAIAA,EAAAmL,QACA7D,EAAA4D,GAEAlL,EAAA,QAIA8E,SAAAoE,IACAA,EAAA,MAIAlJ,EAAAoL,KAAAlC,Od68BM,SAAUvK,EAAQD,EAASM,Ge9nCjC,YAEA,IAAAiK,GAAAjK,EAAA,GASAL,GAAAD,QAAA,SAAAsG,EAAAsC,EAAAhD,GACA,GAAAiE,GAAAjE,EAAAG,OAAA8D,gBACAA,KAAAjE,EAAAkE,QACAxD,EAAAV,GAEAgD,EAAA2B,EACA,mCAAA3E,EAAAkE,OACAlE,EAAAG,OACA,KACAH,EAAAtE,QACAsE,MfwoCM,SAAU3F,EAAQD,EAASM,GgB7pCjC,YAEA,IAAAqM,GAAArM,EAAA,GAYAL,GAAAD,QAAA,SAAA4M,EAAA7G,EAAA8G,EAAAvL,EAAAsE,GACA,GAAAkH,GAAA,GAAAC,OAAAH,EACA,OAAAD,GAAAG,EAAA/G,EAAA8G,EAAAvL,EAAAsE,KhBqqCM,SAAU3F,EAAQD,GiBrrCxB,YAYAC,GAAAD,QAAA,SAAA8M,EAAA/G,EAAA8G,EAAAvL,EAAAsE,GA4BA,MA3BAkH,GAAA/G,SACA8G,IACAC,EAAAD,QAGAC,EAAAxL,UACAwL,EAAAlH,WACAkH,EAAAE,cAAA,EAEAF,EAAAG,OAAA,WACA,OAEAL,QAAAxM,KAAAwM,QACA3C,KAAA7J,KAAA6J,KAEAiD,YAAA9M,KAAA8M,YACAC,OAAA/M,KAAA+M,OAEAC,SAAAhN,KAAAgN,SACAC,WAAAjN,KAAAiN,WACAC,aAAAlN,KAAAkN,aACAC,MAAAnN,KAAAmN,MAEAxH,OAAA3F,KAAA2F,OACA8G,KAAAzM,KAAAyM,OAGAC,IjB6rCM,SAAU7M,EAAQD,EAASM,GkBruCjC,YAEA,IAAAkN,GAAAlN,EAAA,IACAmN,EAAAnN,EAAA,GAWAL,GAAAD,QAAA,SAAAgL,EAAA0C,GACA,MAAA1C,KAAAwC,EAAAE,GACAD,EAAAzC,EAAA0C,GAEAA,IlB6uCM,SAAUzN,EAAQD,GmB/vCxB,YAQAC,GAAAD,QAAA,SAAAgG,GAIA,sCAAA2H,KAAA3H,KnBuwCM,SAAU/F,EAAQD,GoBnxCxB,YASAC,GAAAD,QAAA,SAAAgL,EAAA4C,GACA,MAAAA,GACA5C,EAAA/G,QAAA,eAAA2J,EAAA3J,QAAA,WACA+G,IpB2xCM,SAAU/K,EAAQD,EAASM,GqBvyCjC,YAEA,IAAAiB,GAAAjB,EAAA,GAIAuN,GACA,6DACA,kEACA,gEACA,qCAgBA5N,GAAAD,QAAA,SAAAsI,GACA,GACAzD,GACAtC,EACAmC,EAHAoJ,IAKA,OAAAxF,IAEA/G,EAAAgD,QAAA+D,EAAAyF,MAAA,eAAAC,GAKA,GAJAtJ,EAAAsJ,EAAApG,QAAA,KACA/C,EAAAtD,EAAAwC,KAAAiK,EAAAC,OAAA,EAAAvJ,IAAAwB,cACA3D,EAAAhB,EAAAwC,KAAAiK,EAAAC,OAAAvJ,EAAA,IAEAG,EAAA,CACA,GAAAiJ,EAAAjJ,IAAAgJ,EAAAjG,QAAA/C,IAAA,EACA,MAEA,gBAAAA,EACAiJ,EAAAjJ,IAAAiJ,EAAAjJ,GAAAiJ,EAAAjJ,OAAAqJ,QAAA3L,IAEAuL,EAAAjJ,GAAAiJ,EAAAjJ,GAAAiJ,EAAAjJ,GAAA,KAAAtC,OAKAuL,GAnBiBA,IrBk0CX,SAAU7N,EAAQD,EAASM,GsBl2CjC,YAEA,IAAAiB,GAAAjB,EAAA,EAEAL,GAAAD,QACAuB,EAAA2C,uBAIA,WAWA,QAAAiK,GAAAnI,GACA,GAAAoI,GAAApI,CAWA,OATAqI,KAEAC,EAAAC,aAAA,OAAAH,GACAA,EAAAE,EAAAF,MAGAE,EAAAC,aAAA,OAAAH,IAIAA,KAAAE,EAAAF,KACAI,SAAAF,EAAAE,SAAAF,EAAAE,SAAAvK,QAAA,YACAwK,KAAAH,EAAAG,KACAC,OAAAJ,EAAAI,OAAAJ,EAAAI,OAAAzK,QAAA,aACA0K,KAAAL,EAAAK,KAAAL,EAAAK,KAAA1K,QAAA,YACA2K,SAAAN,EAAAM,SACAC,KAAAP,EAAAO,KACAC,SAAA,MAAAR,EAAAQ,SAAAC,OAAA,GACAT,EAAAQ,SACA,IAAAR,EAAAQ,UAhCA,GAEAE,GAFAX,EAAA,kBAAAV,KAAAxJ,UAAA8K,WACAX,EAAAhK,SAAA4K,cAAA,IA2CA,OARAF,GAAAb,EAAA9J,OAAA8K,SAAAf,MAQA,SAAAgB,GACA,GAAAtB,GAAAvM,EAAA6B,SAAAgM,GAAAjB,EAAAiB,IACA,OAAAtB,GAAAU,WAAAQ,EAAAR,UACAV,EAAAW,OAAAO,EAAAP,SAKA,WACA,kBACA,ctB42CM,SAAUxO,EAAQD,EAASM,GuB56CjC,YAEA,IAAAiB,GAAAjB,EAAA,EAEAL,GAAAD,QACAuB,EAAA2C,uBAGA,WACA,OACAmL,MAAA,SAAApF,EAAAnB,EAAAwG,EAAAC,EAAAC,EAAAC,GACA,GAAAC,KACAA,GAAA/I,KAAAsD,EAAA,IAAA9C,mBAAA2B,IAEAvH,EAAA8B,SAAAiM,IACAI,EAAA/I,KAAA,cAAAgJ,MAAAL,GAAAM,eAGArO,EAAA6B,SAAAmM,IACAG,EAAA/I,KAAA,QAAA4I,GAGAhO,EAAA6B,SAAAoM,IACAE,EAAA/I,KAAA,UAAA6I,GAGAC,KAAA,GACAC,EAAA/I,KAAA,UAGArC,SAAAoL,SAAAhI,KAAA,OAGAwE,KAAA,SAAAjC,GACA,GAAA4F,GAAAvL,SAAAoL,OAAAG,MAAA,GAAAC,QAAA,aAA4D7F,EAAA,aAC5D,OAAA4F,GAAAE,mBAAAF,EAAA,UAGAG,OAAA,SAAA/F,GACA7J,KAAAiP,MAAApF,EAAA,GAAA0F,KAAAM,MAAA,YAMA,WACA,OACAZ,MAAA,aACAnD,KAAA,WAA+B,aAC/B8D,OAAA,kBvBs7CM,SAAU/P,EAAQD,EAASM,GwBv+CjC,YAEA,IAAAiB,GAAAjB,EAAA,EAUAL,GAAAD,QAAA,SAAAkQ,EAAAC,GAEAA,OACA,IAAApK,MAEAqK,GAAA,gCACAC,GAAA,0BACAC,GACA,0EACA,sEACA,yDACA,+DACA,wCAGA/O,GAAAgD,QAAA6L,EAAA,SAAAG,GACA,mBAAAJ,GAAAI,KACAxK,EAAAwK,GAAAJ,EAAAI,MAIAhP,EAAAgD,QAAA8L,EAAA,SAAAE,GACAhP,EAAA+B,SAAA6M,EAAAI,IACAxK,EAAAwK,GAAAhP,EAAA4D,UAAA+K,EAAAK,GAAAJ,EAAAI,IACK,mBAAAJ,GAAAI,GACLxK,EAAAwK,GAAAJ,EAAAI,GACKhP,EAAA+B,SAAA4M,EAAAK,IACLxK,EAAAwK,GAAAhP,EAAA4D,UAAA+K,EAAAK,IACK,mBAAAL,GAAAK,KACLxK,EAAAwK,GAAAL,EAAAK,MAIAhP,EAAAgD,QAAA+L,EAAA,SAAAC,GACA,mBAAAJ,GAAAI,GACAxK,EAAAwK,GAAAJ,EAAAI,GACK,mBAAAL,GAAAK,KACLxK,EAAAwK,GAAAL,EAAAK,KAIA,IAAAC,GAAAJ,EACAlC,OAAAmC,GACAnC,OAAAoC,GAEAG,EAAA3L,OACA4L,KAAAP,GACAQ,OAAA,SAAA9L,GACA,MAAA2L,GAAA5I,QAAA/C,MAAA,GAWA,OARAtD,GAAAgD,QAAAkM,EAAA,SAAAF,GACA,mBAAAJ,GAAAI,GACAxK,EAAAwK,GAAAJ,EAAAI,GACK,mBAAAL,GAAAK,KACLxK,EAAAwK,GAAAL,EAAAK,MAIAxK,IxB++CM,SAAU9F,EAAQD,GyBtjDxB,YAQA,SAAA8B,GAAA8K,GACAxM,KAAAwM,UAGA9K,EAAAT,UAAAmB,SAAA,WACA,gBAAApC,KAAAwM,QAAA,KAAAxM,KAAAwM,QAAA,KAGA9K,EAAAT,UAAA0H,YAAA,EAEA9I,EAAAD,QAAA8B,GzB6jDM,SAAU7B,EAAQD,EAASM,G0B/kDjC,YAUA,SAAAyB,GAAA6O,GACA,qBAAAA,GACA,SAAAC,WAAA,+BAGA,IAAAC,EACA1Q,MAAAiG,QAAA,GAAAlE,SAAA,SAAAmE,GACAwK,EAAAxK,GAGA,IAAAyK,GAAA3Q,IACAwQ,GAAA,SAAAhE,GACAmE,EAAApI,SAKAoI,EAAApI,OAAA,GAAA7G,GAAA8K,GACAkE,EAAAC,EAAApI,WA1BA,GAAA7G,GAAAxB,EAAA,GAiCAyB,GAAAV,UAAA+G,iBAAA,WACA,GAAAhI,KAAAuI,OACA,KAAAvI,MAAAuI,QAQA5G,EAAAiP,OAAA,WACA,GAAAxE,GACAuE,EAAA,GAAAhP,GAAA,SAAAlB,GACA2L,EAAA3L,GAEA,QACAkQ,QACAvE,WAIAvM,EAAAD,QAAA+B,G1BslDM,SAAU9B,EAAQD,G2B9oDxB,YAsBAC,GAAAD,QAAA,SAAAiR,GACA,gBAAAC,GACA,MAAAD,GAAAxL,MAAA,KAAAyL","file":"axios.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"axios\"] = factory();\n\telse\n\t\troot[\"axios\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"axios\"] = factory();\n\telse\n\t\troot[\"axios\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1);\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\tvar bind = __webpack_require__(3);\n\tvar Axios = __webpack_require__(4);\n\tvar mergeConfig = __webpack_require__(22);\n\tvar defaults = __webpack_require__(10);\n\t\n\t/**\n\t * Create an instance of Axios\n\t *\n\t * @param {Object} defaultConfig The default config for the instance\n\t * @return {Axios} A new instance of Axios\n\t */\n\tfunction createInstance(defaultConfig) {\n\t var context = new Axios(defaultConfig);\n\t var instance = bind(Axios.prototype.request, context);\n\t\n\t // Copy axios.prototype to instance\n\t utils.extend(instance, Axios.prototype, context);\n\t\n\t // Copy context to instance\n\t utils.extend(instance, context);\n\t\n\t return instance;\n\t}\n\t\n\t// Create the default instance to be exported\n\tvar axios = createInstance(defaults);\n\t\n\t// Expose Axios class to allow class inheritance\n\taxios.Axios = Axios;\n\t\n\t// Factory for creating new instances\n\taxios.create = function create(instanceConfig) {\n\t return createInstance(mergeConfig(axios.defaults, instanceConfig));\n\t};\n\t\n\t// Expose Cancel & CancelToken\n\taxios.Cancel = __webpack_require__(23);\n\taxios.CancelToken = __webpack_require__(24);\n\taxios.isCancel = __webpack_require__(9);\n\t\n\t// Expose all/spread\n\taxios.all = function all(promises) {\n\t return Promise.all(promises);\n\t};\n\taxios.spread = __webpack_require__(25);\n\t\n\tmodule.exports = axios;\n\t\n\t// Allow use of default import syntax in TypeScript\n\tmodule.exports.default = axios;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar bind = __webpack_require__(3);\n\t\n\t/*global toString:true*/\n\t\n\t// utils is a library of generic helper functions non-specific to axios\n\t\n\tvar toString = Object.prototype.toString;\n\t\n\t/**\n\t * Determine if a value is an Array\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is an Array, otherwise false\n\t */\n\tfunction isArray(val) {\n\t return toString.call(val) === '[object Array]';\n\t}\n\t\n\t/**\n\t * Determine if a value is undefined\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if the value is undefined, otherwise false\n\t */\n\tfunction isUndefined(val) {\n\t return typeof val === 'undefined';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Buffer\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Buffer, otherwise false\n\t */\n\tfunction isBuffer(val) {\n\t return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n\t && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n\t}\n\t\n\t/**\n\t * Determine if a value is an ArrayBuffer\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n\t */\n\tfunction isArrayBuffer(val) {\n\t return toString.call(val) === '[object ArrayBuffer]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a FormData\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is an FormData, otherwise false\n\t */\n\tfunction isFormData(val) {\n\t return (typeof FormData !== 'undefined') && (val instanceof FormData);\n\t}\n\t\n\t/**\n\t * Determine if a value is a view on an ArrayBuffer\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n\t */\n\tfunction isArrayBufferView(val) {\n\t var result;\n\t if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n\t result = ArrayBuffer.isView(val);\n\t } else {\n\t result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n\t }\n\t return result;\n\t}\n\t\n\t/**\n\t * Determine if a value is a String\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a String, otherwise false\n\t */\n\tfunction isString(val) {\n\t return typeof val === 'string';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Number\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Number, otherwise false\n\t */\n\tfunction isNumber(val) {\n\t return typeof val === 'number';\n\t}\n\t\n\t/**\n\t * Determine if a value is an Object\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is an Object, otherwise false\n\t */\n\tfunction isObject(val) {\n\t return val !== null && typeof val === 'object';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Date\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Date, otherwise false\n\t */\n\tfunction isDate(val) {\n\t return toString.call(val) === '[object Date]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a File\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a File, otherwise false\n\t */\n\tfunction isFile(val) {\n\t return toString.call(val) === '[object File]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Blob\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Blob, otherwise false\n\t */\n\tfunction isBlob(val) {\n\t return toString.call(val) === '[object Blob]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Function\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Function, otherwise false\n\t */\n\tfunction isFunction(val) {\n\t return toString.call(val) === '[object Function]';\n\t}\n\t\n\t/**\n\t * Determine if a value is a Stream\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a Stream, otherwise false\n\t */\n\tfunction isStream(val) {\n\t return isObject(val) && isFunction(val.pipe);\n\t}\n\t\n\t/**\n\t * Determine if a value is a URLSearchParams object\n\t *\n\t * @param {Object} val The value to test\n\t * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n\t */\n\tfunction isURLSearchParams(val) {\n\t return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n\t}\n\t\n\t/**\n\t * Trim excess whitespace off the beginning and end of a string\n\t *\n\t * @param {String} str The String to trim\n\t * @returns {String} The String freed of excess whitespace\n\t */\n\tfunction trim(str) {\n\t return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n\t}\n\t\n\t/**\n\t * Determine if we're running in a standard browser environment\n\t *\n\t * This allows axios to run in a web worker, and react-native.\n\t * Both environments support XMLHttpRequest, but not fully standard globals.\n\t *\n\t * web workers:\n\t * typeof window -> undefined\n\t * typeof document -> undefined\n\t *\n\t * react-native:\n\t * navigator.product -> 'ReactNative'\n\t * nativescript\n\t * navigator.product -> 'NativeScript' or 'NS'\n\t */\n\tfunction isStandardBrowserEnv() {\n\t if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n\t navigator.product === 'NativeScript' ||\n\t navigator.product === 'NS')) {\n\t return false;\n\t }\n\t return (\n\t typeof window !== 'undefined' &&\n\t typeof document !== 'undefined'\n\t );\n\t}\n\t\n\t/**\n\t * Iterate over an Array or an Object invoking a function for each item.\n\t *\n\t * If `obj` is an Array callback will be called passing\n\t * the value, index, and complete array for each item.\n\t *\n\t * If 'obj' is an Object callback will be called passing\n\t * the value, key, and complete object for each property.\n\t *\n\t * @param {Object|Array} obj The object to iterate\n\t * @param {Function} fn The callback to invoke for each item\n\t */\n\tfunction forEach(obj, fn) {\n\t // Don't bother if no value provided\n\t if (obj === null || typeof obj === 'undefined') {\n\t return;\n\t }\n\t\n\t // Force an array if not already something iterable\n\t if (typeof obj !== 'object') {\n\t /*eslint no-param-reassign:0*/\n\t obj = [obj];\n\t }\n\t\n\t if (isArray(obj)) {\n\t // Iterate over array values\n\t for (var i = 0, l = obj.length; i < l; i++) {\n\t fn.call(null, obj[i], i, obj);\n\t }\n\t } else {\n\t // Iterate over object keys\n\t for (var key in obj) {\n\t if (Object.prototype.hasOwnProperty.call(obj, key)) {\n\t fn.call(null, obj[key], key, obj);\n\t }\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * Accepts varargs expecting each argument to be an object, then\n\t * immutably merges the properties of each object and returns result.\n\t *\n\t * When multiple objects contain the same key the later object in\n\t * the arguments list will take precedence.\n\t *\n\t * Example:\n\t *\n\t * ```js\n\t * var result = merge({foo: 123}, {foo: 456});\n\t * console.log(result.foo); // outputs 456\n\t * ```\n\t *\n\t * @param {Object} obj1 Object to merge\n\t * @returns {Object} Result of all merge properties\n\t */\n\tfunction merge(/* obj1, obj2, obj3, ... */) {\n\t var result = {};\n\t function assignValue(val, key) {\n\t if (typeof result[key] === 'object' && typeof val === 'object') {\n\t result[key] = merge(result[key], val);\n\t } else {\n\t result[key] = val;\n\t }\n\t }\n\t\n\t for (var i = 0, l = arguments.length; i < l; i++) {\n\t forEach(arguments[i], assignValue);\n\t }\n\t return result;\n\t}\n\t\n\t/**\n\t * Function equal to merge with the difference being that no reference\n\t * to original objects is kept.\n\t *\n\t * @see merge\n\t * @param {Object} obj1 Object to merge\n\t * @returns {Object} Result of all merge properties\n\t */\n\tfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n\t var result = {};\n\t function assignValue(val, key) {\n\t if (typeof result[key] === 'object' && typeof val === 'object') {\n\t result[key] = deepMerge(result[key], val);\n\t } else if (typeof val === 'object') {\n\t result[key] = deepMerge({}, val);\n\t } else {\n\t result[key] = val;\n\t }\n\t }\n\t\n\t for (var i = 0, l = arguments.length; i < l; i++) {\n\t forEach(arguments[i], assignValue);\n\t }\n\t return result;\n\t}\n\t\n\t/**\n\t * Extends object a by mutably adding to it the properties of object b.\n\t *\n\t * @param {Object} a The object to be extended\n\t * @param {Object} b The object to copy properties from\n\t * @param {Object} thisArg The object to bind function to\n\t * @return {Object} The resulting value of object a\n\t */\n\tfunction extend(a, b, thisArg) {\n\t forEach(b, function assignValue(val, key) {\n\t if (thisArg && typeof val === 'function') {\n\t a[key] = bind(val, thisArg);\n\t } else {\n\t a[key] = val;\n\t }\n\t });\n\t return a;\n\t}\n\t\n\tmodule.exports = {\n\t isArray: isArray,\n\t isArrayBuffer: isArrayBuffer,\n\t isBuffer: isBuffer,\n\t isFormData: isFormData,\n\t isArrayBufferView: isArrayBufferView,\n\t isString: isString,\n\t isNumber: isNumber,\n\t isObject: isObject,\n\t isUndefined: isUndefined,\n\t isDate: isDate,\n\t isFile: isFile,\n\t isBlob: isBlob,\n\t isFunction: isFunction,\n\t isStream: isStream,\n\t isURLSearchParams: isURLSearchParams,\n\t isStandardBrowserEnv: isStandardBrowserEnv,\n\t forEach: forEach,\n\t merge: merge,\n\t deepMerge: deepMerge,\n\t extend: extend,\n\t trim: trim\n\t};\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tmodule.exports = function bind(fn, thisArg) {\n\t return function wrap() {\n\t var args = new Array(arguments.length);\n\t for (var i = 0; i < args.length; i++) {\n\t args[i] = arguments[i];\n\t }\n\t return fn.apply(thisArg, args);\n\t };\n\t};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\tvar buildURL = __webpack_require__(5);\n\tvar InterceptorManager = __webpack_require__(6);\n\tvar dispatchRequest = __webpack_require__(7);\n\tvar mergeConfig = __webpack_require__(22);\n\t\n\t/**\n\t * Create a new instance of Axios\n\t *\n\t * @param {Object} instanceConfig The default config for the instance\n\t */\n\tfunction Axios(instanceConfig) {\n\t this.defaults = instanceConfig;\n\t this.interceptors = {\n\t request: new InterceptorManager(),\n\t response: new InterceptorManager()\n\t };\n\t}\n\t\n\t/**\n\t * Dispatch a request\n\t *\n\t * @param {Object} config The config specific for this request (merged with this.defaults)\n\t */\n\tAxios.prototype.request = function request(config) {\n\t /*eslint no-param-reassign:0*/\n\t // Allow for axios('example/url'[, config]) a la fetch API\n\t if (typeof config === 'string') {\n\t config = arguments[1] || {};\n\t config.url = arguments[0];\n\t } else {\n\t config = config || {};\n\t }\n\t\n\t config = mergeConfig(this.defaults, config);\n\t\n\t // Set config.method\n\t if (config.method) {\n\t config.method = config.method.toLowerCase();\n\t } else if (this.defaults.method) {\n\t config.method = this.defaults.method.toLowerCase();\n\t } else {\n\t config.method = 'get';\n\t }\n\t\n\t // Hook up interceptors middleware\n\t var chain = [dispatchRequest, undefined];\n\t var promise = Promise.resolve(config);\n\t\n\t this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n\t chain.unshift(interceptor.fulfilled, interceptor.rejected);\n\t });\n\t\n\t this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n\t chain.push(interceptor.fulfilled, interceptor.rejected);\n\t });\n\t\n\t while (chain.length) {\n\t promise = promise.then(chain.shift(), chain.shift());\n\t }\n\t\n\t return promise;\n\t};\n\t\n\tAxios.prototype.getUri = function getUri(config) {\n\t config = mergeConfig(this.defaults, config);\n\t return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n\t};\n\t\n\t// Provide aliases for supported request methods\n\tutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n\t /*eslint func-names:0*/\n\t Axios.prototype[method] = function(url, config) {\n\t return this.request(utils.merge(config || {}, {\n\t method: method,\n\t url: url\n\t }));\n\t };\n\t});\n\t\n\tutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n\t /*eslint func-names:0*/\n\t Axios.prototype[method] = function(url, data, config) {\n\t return this.request(utils.merge(config || {}, {\n\t method: method,\n\t url: url,\n\t data: data\n\t }));\n\t };\n\t});\n\t\n\tmodule.exports = Axios;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tfunction encode(val) {\n\t return encodeURIComponent(val).\n\t replace(/%40/gi, '@').\n\t replace(/%3A/gi, ':').\n\t replace(/%24/g, '$').\n\t replace(/%2C/gi, ',').\n\t replace(/%20/g, '+').\n\t replace(/%5B/gi, '[').\n\t replace(/%5D/gi, ']');\n\t}\n\t\n\t/**\n\t * Build a URL by appending params to the end\n\t *\n\t * @param {string} url The base of the url (e.g., http://www.google.com)\n\t * @param {object} [params] The params to be appended\n\t * @returns {string} The formatted url\n\t */\n\tmodule.exports = function buildURL(url, params, paramsSerializer) {\n\t /*eslint no-param-reassign:0*/\n\t if (!params) {\n\t return url;\n\t }\n\t\n\t var serializedParams;\n\t if (paramsSerializer) {\n\t serializedParams = paramsSerializer(params);\n\t } else if (utils.isURLSearchParams(params)) {\n\t serializedParams = params.toString();\n\t } else {\n\t var parts = [];\n\t\n\t utils.forEach(params, function serialize(val, key) {\n\t if (val === null || typeof val === 'undefined') {\n\t return;\n\t }\n\t\n\t if (utils.isArray(val)) {\n\t key = key + '[]';\n\t } else {\n\t val = [val];\n\t }\n\t\n\t utils.forEach(val, function parseValue(v) {\n\t if (utils.isDate(v)) {\n\t v = v.toISOString();\n\t } else if (utils.isObject(v)) {\n\t v = JSON.stringify(v);\n\t }\n\t parts.push(encode(key) + '=' + encode(v));\n\t });\n\t });\n\t\n\t serializedParams = parts.join('&');\n\t }\n\t\n\t if (serializedParams) {\n\t var hashmarkIndex = url.indexOf('#');\n\t if (hashmarkIndex !== -1) {\n\t url = url.slice(0, hashmarkIndex);\n\t }\n\t\n\t url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n\t }\n\t\n\t return url;\n\t};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tfunction InterceptorManager() {\n\t this.handlers = [];\n\t}\n\t\n\t/**\n\t * Add a new interceptor to the stack\n\t *\n\t * @param {Function} fulfilled The function to handle `then` for a `Promise`\n\t * @param {Function} rejected The function to handle `reject` for a `Promise`\n\t *\n\t * @return {Number} An ID used to remove interceptor later\n\t */\n\tInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n\t this.handlers.push({\n\t fulfilled: fulfilled,\n\t rejected: rejected\n\t });\n\t return this.handlers.length - 1;\n\t};\n\t\n\t/**\n\t * Remove an interceptor from the stack\n\t *\n\t * @param {Number} id The ID that was returned by `use`\n\t */\n\tInterceptorManager.prototype.eject = function eject(id) {\n\t if (this.handlers[id]) {\n\t this.handlers[id] = null;\n\t }\n\t};\n\t\n\t/**\n\t * Iterate over all the registered interceptors\n\t *\n\t * This method is particularly useful for skipping over any\n\t * interceptors that may have become `null` calling `eject`.\n\t *\n\t * @param {Function} fn The function to call for each interceptor\n\t */\n\tInterceptorManager.prototype.forEach = function forEach(fn) {\n\t utils.forEach(this.handlers, function forEachHandler(h) {\n\t if (h !== null) {\n\t fn(h);\n\t }\n\t });\n\t};\n\t\n\tmodule.exports = InterceptorManager;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\tvar transformData = __webpack_require__(8);\n\tvar isCancel = __webpack_require__(9);\n\tvar defaults = __webpack_require__(10);\n\t\n\t/**\n\t * Throws a `Cancel` if cancellation has been requested.\n\t */\n\tfunction throwIfCancellationRequested(config) {\n\t if (config.cancelToken) {\n\t config.cancelToken.throwIfRequested();\n\t }\n\t}\n\t\n\t/**\n\t * Dispatch a request to the server using the configured adapter.\n\t *\n\t * @param {object} config The config that is to be used for the request\n\t * @returns {Promise} The Promise to be fulfilled\n\t */\n\tmodule.exports = function dispatchRequest(config) {\n\t throwIfCancellationRequested(config);\n\t\n\t // Ensure headers exist\n\t config.headers = config.headers || {};\n\t\n\t // Transform request data\n\t config.data = transformData(\n\t config.data,\n\t config.headers,\n\t config.transformRequest\n\t );\n\t\n\t // Flatten headers\n\t config.headers = utils.merge(\n\t config.headers.common || {},\n\t config.headers[config.method] || {},\n\t config.headers\n\t );\n\t\n\t utils.forEach(\n\t ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n\t function cleanHeaderConfig(method) {\n\t delete config.headers[method];\n\t }\n\t );\n\t\n\t var adapter = config.adapter || defaults.adapter;\n\t\n\t return adapter(config).then(function onAdapterResolution(response) {\n\t throwIfCancellationRequested(config);\n\t\n\t // Transform response data\n\t response.data = transformData(\n\t response.data,\n\t response.headers,\n\t config.transformResponse\n\t );\n\t\n\t return response;\n\t }, function onAdapterRejection(reason) {\n\t if (!isCancel(reason)) {\n\t throwIfCancellationRequested(config);\n\t\n\t // Transform response data\n\t if (reason && reason.response) {\n\t reason.response.data = transformData(\n\t reason.response.data,\n\t reason.response.headers,\n\t config.transformResponse\n\t );\n\t }\n\t }\n\t\n\t return Promise.reject(reason);\n\t });\n\t};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\t/**\n\t * Transform the data for a request or a response\n\t *\n\t * @param {Object|String} data The data to be transformed\n\t * @param {Array} headers The headers for the request or response\n\t * @param {Array|Function} fns A single function or Array of functions\n\t * @returns {*} The resulting transformed data\n\t */\n\tmodule.exports = function transformData(data, headers, fns) {\n\t /*eslint no-param-reassign:0*/\n\t utils.forEach(fns, function transform(fn) {\n\t data = fn(data, headers);\n\t });\n\t\n\t return data;\n\t};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tmodule.exports = function isCancel(value) {\n\t return !!(value && value.__CANCEL__);\n\t};\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\tvar normalizeHeaderName = __webpack_require__(11);\n\t\n\tvar DEFAULT_CONTENT_TYPE = {\n\t 'Content-Type': 'application/x-www-form-urlencoded'\n\t};\n\t\n\tfunction setContentTypeIfUnset(headers, value) {\n\t if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n\t headers['Content-Type'] = value;\n\t }\n\t}\n\t\n\tfunction getDefaultAdapter() {\n\t var adapter;\n\t if (typeof XMLHttpRequest !== 'undefined') {\n\t // For browsers use XHR adapter\n\t adapter = __webpack_require__(12);\n\t } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n\t // For node use HTTP adapter\n\t adapter = __webpack_require__(12);\n\t }\n\t return adapter;\n\t}\n\t\n\tvar defaults = {\n\t adapter: getDefaultAdapter(),\n\t\n\t transformRequest: [function transformRequest(data, headers) {\n\t normalizeHeaderName(headers, 'Accept');\n\t normalizeHeaderName(headers, 'Content-Type');\n\t if (utils.isFormData(data) ||\n\t utils.isArrayBuffer(data) ||\n\t utils.isBuffer(data) ||\n\t utils.isStream(data) ||\n\t utils.isFile(data) ||\n\t utils.isBlob(data)\n\t ) {\n\t return data;\n\t }\n\t if (utils.isArrayBufferView(data)) {\n\t return data.buffer;\n\t }\n\t if (utils.isURLSearchParams(data)) {\n\t setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n\t return data.toString();\n\t }\n\t if (utils.isObject(data)) {\n\t setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n\t return JSON.stringify(data);\n\t }\n\t return data;\n\t }],\n\t\n\t transformResponse: [function transformResponse(data) {\n\t /*eslint no-param-reassign:0*/\n\t if (typeof data === 'string') {\n\t try {\n\t data = JSON.parse(data);\n\t } catch (e) { /* Ignore */ }\n\t }\n\t return data;\n\t }],\n\t\n\t /**\n\t * A timeout in milliseconds to abort a request. If set to 0 (default) a\n\t * timeout is not created.\n\t */\n\t timeout: 0,\n\t\n\t xsrfCookieName: 'XSRF-TOKEN',\n\t xsrfHeaderName: 'X-XSRF-TOKEN',\n\t\n\t maxContentLength: -1,\n\t\n\t validateStatus: function validateStatus(status) {\n\t return status >= 200 && status < 300;\n\t }\n\t};\n\t\n\tdefaults.headers = {\n\t common: {\n\t 'Accept': 'application/json, text/plain, */*'\n\t }\n\t};\n\t\n\tutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n\t defaults.headers[method] = {};\n\t});\n\t\n\tutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n\t defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n\t});\n\t\n\tmodule.exports = defaults;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n\t utils.forEach(headers, function processHeader(value, name) {\n\t if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n\t headers[normalizedName] = value;\n\t delete headers[name];\n\t }\n\t });\n\t};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\tvar settle = __webpack_require__(13);\n\tvar buildURL = __webpack_require__(5);\n\tvar buildFullPath = __webpack_require__(16);\n\tvar parseHeaders = __webpack_require__(19);\n\tvar isURLSameOrigin = __webpack_require__(20);\n\tvar createError = __webpack_require__(14);\n\t\n\tmodule.exports = function xhrAdapter(config) {\n\t return new Promise(function dispatchXhrRequest(resolve, reject) {\n\t var requestData = config.data;\n\t var requestHeaders = config.headers;\n\t\n\t if (utils.isFormData(requestData)) {\n\t delete requestHeaders['Content-Type']; // Let the browser set it\n\t }\n\t\n\t var request = new XMLHttpRequest();\n\t\n\t // HTTP basic authentication\n\t if (config.auth) {\n\t var username = config.auth.username || '';\n\t var password = config.auth.password || '';\n\t requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n\t }\n\t\n\t var fullPath = buildFullPath(config.baseURL, config.url);\n\t request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\t\n\t // Set the request timeout in MS\n\t request.timeout = config.timeout;\n\t\n\t // Listen for ready state\n\t request.onreadystatechange = function handleLoad() {\n\t if (!request || request.readyState !== 4) {\n\t return;\n\t }\n\t\n\t // The request errored out and we didn't get a response, this will be\n\t // handled by onerror instead\n\t // With one exception: request that using file: protocol, most browsers\n\t // will return status as 0 even though it's a successful request\n\t if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n\t return;\n\t }\n\t\n\t // Prepare the response\n\t var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n\t var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n\t var response = {\n\t data: responseData,\n\t status: request.status,\n\t statusText: request.statusText,\n\t headers: responseHeaders,\n\t config: config,\n\t request: request\n\t };\n\t\n\t settle(resolve, reject, response);\n\t\n\t // Clean up request\n\t request = null;\n\t };\n\t\n\t // Handle browser request cancellation (as opposed to a manual cancellation)\n\t request.onabort = function handleAbort() {\n\t if (!request) {\n\t return;\n\t }\n\t\n\t reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\t\n\t // Clean up request\n\t request = null;\n\t };\n\t\n\t // Handle low level network errors\n\t request.onerror = function handleError() {\n\t // Real errors are hidden from us by the browser\n\t // onerror should only fire if it's a network error\n\t reject(createError('Network Error', config, null, request));\n\t\n\t // Clean up request\n\t request = null;\n\t };\n\t\n\t // Handle timeout\n\t request.ontimeout = function handleTimeout() {\n\t var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n\t if (config.timeoutErrorMessage) {\n\t timeoutErrorMessage = config.timeoutErrorMessage;\n\t }\n\t reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n\t request));\n\t\n\t // Clean up request\n\t request = null;\n\t };\n\t\n\t // Add xsrf header\n\t // This is only done if running in a standard browser environment.\n\t // Specifically not if we're in a web worker, or react-native.\n\t if (utils.isStandardBrowserEnv()) {\n\t var cookies = __webpack_require__(21);\n\t\n\t // Add xsrf header\n\t var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n\t cookies.read(config.xsrfCookieName) :\n\t undefined;\n\t\n\t if (xsrfValue) {\n\t requestHeaders[config.xsrfHeaderName] = xsrfValue;\n\t }\n\t }\n\t\n\t // Add headers to the request\n\t if ('setRequestHeader' in request) {\n\t utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n\t if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n\t // Remove Content-Type if data is undefined\n\t delete requestHeaders[key];\n\t } else {\n\t // Otherwise add header to the request\n\t request.setRequestHeader(key, val);\n\t }\n\t });\n\t }\n\t\n\t // Add withCredentials to request if needed\n\t if (!utils.isUndefined(config.withCredentials)) {\n\t request.withCredentials = !!config.withCredentials;\n\t }\n\t\n\t // Add responseType to request if needed\n\t if (config.responseType) {\n\t try {\n\t request.responseType = config.responseType;\n\t } catch (e) {\n\t // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n\t // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n\t if (config.responseType !== 'json') {\n\t throw e;\n\t }\n\t }\n\t }\n\t\n\t // Handle progress if needed\n\t if (typeof config.onDownloadProgress === 'function') {\n\t request.addEventListener('progress', config.onDownloadProgress);\n\t }\n\t\n\t // Not all browsers support upload events\n\t if (typeof config.onUploadProgress === 'function' && request.upload) {\n\t request.upload.addEventListener('progress', config.onUploadProgress);\n\t }\n\t\n\t if (config.cancelToken) {\n\t // Handle cancellation\n\t config.cancelToken.promise.then(function onCanceled(cancel) {\n\t if (!request) {\n\t return;\n\t }\n\t\n\t request.abort();\n\t reject(cancel);\n\t // Clean up request\n\t request = null;\n\t });\n\t }\n\t\n\t if (requestData === undefined) {\n\t requestData = null;\n\t }\n\t\n\t // Send the request\n\t request.send(requestData);\n\t });\n\t};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar createError = __webpack_require__(14);\n\t\n\t/**\n\t * Resolve or reject a Promise based on response status.\n\t *\n\t * @param {Function} resolve A function that resolves the promise.\n\t * @param {Function} reject A function that rejects the promise.\n\t * @param {object} response The response.\n\t */\n\tmodule.exports = function settle(resolve, reject, response) {\n\t var validateStatus = response.config.validateStatus;\n\t if (!validateStatus || validateStatus(response.status)) {\n\t resolve(response);\n\t } else {\n\t reject(createError(\n\t 'Request failed with status code ' + response.status,\n\t response.config,\n\t null,\n\t response.request,\n\t response\n\t ));\n\t }\n\t};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar enhanceError = __webpack_require__(15);\n\t\n\t/**\n\t * Create an Error with the specified message, config, error code, request and response.\n\t *\n\t * @param {string} message The error message.\n\t * @param {Object} config The config.\n\t * @param {string} [code] The error code (for example, 'ECONNABORTED').\n\t * @param {Object} [request] The request.\n\t * @param {Object} [response] The response.\n\t * @returns {Error} The created error.\n\t */\n\tmodule.exports = function createError(message, config, code, request, response) {\n\t var error = new Error(message);\n\t return enhanceError(error, config, code, request, response);\n\t};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Update an Error with the specified config, error code, and response.\n\t *\n\t * @param {Error} error The error to update.\n\t * @param {Object} config The config.\n\t * @param {string} [code] The error code (for example, 'ECONNABORTED').\n\t * @param {Object} [request] The request.\n\t * @param {Object} [response] The response.\n\t * @returns {Error} The error.\n\t */\n\tmodule.exports = function enhanceError(error, config, code, request, response) {\n\t error.config = config;\n\t if (code) {\n\t error.code = code;\n\t }\n\t\n\t error.request = request;\n\t error.response = response;\n\t error.isAxiosError = true;\n\t\n\t error.toJSON = function() {\n\t return {\n\t // Standard\n\t message: this.message,\n\t name: this.name,\n\t // Microsoft\n\t description: this.description,\n\t number: this.number,\n\t // Mozilla\n\t fileName: this.fileName,\n\t lineNumber: this.lineNumber,\n\t columnNumber: this.columnNumber,\n\t stack: this.stack,\n\t // Axios\n\t config: this.config,\n\t code: this.code\n\t };\n\t };\n\t return error;\n\t};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar isAbsoluteURL = __webpack_require__(17);\n\tvar combineURLs = __webpack_require__(18);\n\t\n\t/**\n\t * Creates a new URL by combining the baseURL with the requestedURL,\n\t * only when the requestedURL is not already an absolute URL.\n\t * If the requestURL is absolute, this function returns the requestedURL untouched.\n\t *\n\t * @param {string} baseURL The base URL\n\t * @param {string} requestedURL Absolute or relative URL to combine\n\t * @returns {string} The combined full path\n\t */\n\tmodule.exports = function buildFullPath(baseURL, requestedURL) {\n\t if (baseURL && !isAbsoluteURL(requestedURL)) {\n\t return combineURLs(baseURL, requestedURL);\n\t }\n\t return requestedURL;\n\t};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Determines whether the specified URL is absolute\n\t *\n\t * @param {string} url The URL to test\n\t * @returns {boolean} True if the specified URL is absolute, otherwise false\n\t */\n\tmodule.exports = function isAbsoluteURL(url) {\n\t // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n\t // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n\t // by any combination of letters, digits, plus, period, or hyphen.\n\t return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n\t};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Creates a new URL by combining the specified URLs\n\t *\n\t * @param {string} baseURL The base URL\n\t * @param {string} relativeURL The relative URL\n\t * @returns {string} The combined URL\n\t */\n\tmodule.exports = function combineURLs(baseURL, relativeURL) {\n\t return relativeURL\n\t ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n\t : baseURL;\n\t};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\t// Headers whose duplicates are ignored by node\n\t// c.f. https://nodejs.org/api/http.html#http_message_headers\n\tvar ignoreDuplicateOf = [\n\t 'age', 'authorization', 'content-length', 'content-type', 'etag',\n\t 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n\t 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n\t 'referer', 'retry-after', 'user-agent'\n\t];\n\t\n\t/**\n\t * Parse headers into an object\n\t *\n\t * ```\n\t * Date: Wed, 27 Aug 2014 08:58:49 GMT\n\t * Content-Type: application/json\n\t * Connection: keep-alive\n\t * Transfer-Encoding: chunked\n\t * ```\n\t *\n\t * @param {String} headers Headers needing to be parsed\n\t * @returns {Object} Headers parsed into an object\n\t */\n\tmodule.exports = function parseHeaders(headers) {\n\t var parsed = {};\n\t var key;\n\t var val;\n\t var i;\n\t\n\t if (!headers) { return parsed; }\n\t\n\t utils.forEach(headers.split('\\n'), function parser(line) {\n\t i = line.indexOf(':');\n\t key = utils.trim(line.substr(0, i)).toLowerCase();\n\t val = utils.trim(line.substr(i + 1));\n\t\n\t if (key) {\n\t if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n\t return;\n\t }\n\t if (key === 'set-cookie') {\n\t parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n\t } else {\n\t parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n\t }\n\t }\n\t });\n\t\n\t return parsed;\n\t};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tmodule.exports = (\n\t utils.isStandardBrowserEnv() ?\n\t\n\t // Standard browser envs have full support of the APIs needed to test\n\t // whether the request URL is of the same origin as current location.\n\t (function standardBrowserEnv() {\n\t var msie = /(msie|trident)/i.test(navigator.userAgent);\n\t var urlParsingNode = document.createElement('a');\n\t var originURL;\n\t\n\t /**\n\t * Parse a URL to discover it's components\n\t *\n\t * @param {String} url The URL to be parsed\n\t * @returns {Object}\n\t */\n\t function resolveURL(url) {\n\t var href = url;\n\t\n\t if (msie) {\n\t // IE needs attribute set twice to normalize properties\n\t urlParsingNode.setAttribute('href', href);\n\t href = urlParsingNode.href;\n\t }\n\t\n\t urlParsingNode.setAttribute('href', href);\n\t\n\t // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\t return {\n\t href: urlParsingNode.href,\n\t protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n\t host: urlParsingNode.host,\n\t search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n\t hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n\t hostname: urlParsingNode.hostname,\n\t port: urlParsingNode.port,\n\t pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n\t urlParsingNode.pathname :\n\t '/' + urlParsingNode.pathname\n\t };\n\t }\n\t\n\t originURL = resolveURL(window.location.href);\n\t\n\t /**\n\t * Determine if a URL shares the same origin as the current location\n\t *\n\t * @param {String} requestURL The URL to test\n\t * @returns {boolean} True if URL shares the same origin, otherwise false\n\t */\n\t return function isURLSameOrigin(requestURL) {\n\t var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n\t return (parsed.protocol === originURL.protocol &&\n\t parsed.host === originURL.host);\n\t };\n\t })() :\n\t\n\t // Non standard browser envs (web workers, react-native) lack needed support.\n\t (function nonStandardBrowserEnv() {\n\t return function isURLSameOrigin() {\n\t return true;\n\t };\n\t })()\n\t);\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\tmodule.exports = (\n\t utils.isStandardBrowserEnv() ?\n\t\n\t // Standard browser envs support document.cookie\n\t (function standardBrowserEnv() {\n\t return {\n\t write: function write(name, value, expires, path, domain, secure) {\n\t var cookie = [];\n\t cookie.push(name + '=' + encodeURIComponent(value));\n\t\n\t if (utils.isNumber(expires)) {\n\t cookie.push('expires=' + new Date(expires).toGMTString());\n\t }\n\t\n\t if (utils.isString(path)) {\n\t cookie.push('path=' + path);\n\t }\n\t\n\t if (utils.isString(domain)) {\n\t cookie.push('domain=' + domain);\n\t }\n\t\n\t if (secure === true) {\n\t cookie.push('secure');\n\t }\n\t\n\t document.cookie = cookie.join('; ');\n\t },\n\t\n\t read: function read(name) {\n\t var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n\t return (match ? decodeURIComponent(match[3]) : null);\n\t },\n\t\n\t remove: function remove(name) {\n\t this.write(name, '', Date.now() - 86400000);\n\t }\n\t };\n\t })() :\n\t\n\t // Non standard browser env (web workers, react-native) lack needed support.\n\t (function nonStandardBrowserEnv() {\n\t return {\n\t write: function write() {},\n\t read: function read() { return null; },\n\t remove: function remove() {}\n\t };\n\t })()\n\t);\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(2);\n\t\n\t/**\n\t * Config-specific merge-function which creates a new config-object\n\t * by merging two configuration objects together.\n\t *\n\t * @param {Object} config1\n\t * @param {Object} config2\n\t * @returns {Object} New object resulting from merging config2 to config1\n\t */\n\tmodule.exports = function mergeConfig(config1, config2) {\n\t // eslint-disable-next-line no-param-reassign\n\t config2 = config2 || {};\n\t var config = {};\n\t\n\t var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\n\t var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n\t var defaultToConfig2Keys = [\n\t 'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',\n\t 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n\t 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',\n\t 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',\n\t 'httpsAgent', 'cancelToken', 'socketPath'\n\t ];\n\t\n\t utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n\t if (typeof config2[prop] !== 'undefined') {\n\t config[prop] = config2[prop];\n\t }\n\t });\n\t\n\t utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n\t if (utils.isObject(config2[prop])) {\n\t config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n\t } else if (typeof config2[prop] !== 'undefined') {\n\t config[prop] = config2[prop];\n\t } else if (utils.isObject(config1[prop])) {\n\t config[prop] = utils.deepMerge(config1[prop]);\n\t } else if (typeof config1[prop] !== 'undefined') {\n\t config[prop] = config1[prop];\n\t }\n\t });\n\t\n\t utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n\t if (typeof config2[prop] !== 'undefined') {\n\t config[prop] = config2[prop];\n\t } else if (typeof config1[prop] !== 'undefined') {\n\t config[prop] = config1[prop];\n\t }\n\t });\n\t\n\t var axiosKeys = valueFromConfig2Keys\n\t .concat(mergeDeepPropertiesKeys)\n\t .concat(defaultToConfig2Keys);\n\t\n\t var otherKeys = Object\n\t .keys(config2)\n\t .filter(function filterAxiosKeys(key) {\n\t return axiosKeys.indexOf(key) === -1;\n\t });\n\t\n\t utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n\t if (typeof config2[prop] !== 'undefined') {\n\t config[prop] = config2[prop];\n\t } else if (typeof config1[prop] !== 'undefined') {\n\t config[prop] = config1[prop];\n\t }\n\t });\n\t\n\t return config;\n\t};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * A `Cancel` is an object that is thrown when an operation is canceled.\n\t *\n\t * @class\n\t * @param {string=} message The message.\n\t */\n\tfunction Cancel(message) {\n\t this.message = message;\n\t}\n\t\n\tCancel.prototype.toString = function toString() {\n\t return 'Cancel' + (this.message ? ': ' + this.message : '');\n\t};\n\t\n\tCancel.prototype.__CANCEL__ = true;\n\t\n\tmodule.exports = Cancel;\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Cancel = __webpack_require__(23);\n\t\n\t/**\n\t * A `CancelToken` is an object that can be used to request cancellation of an operation.\n\t *\n\t * @class\n\t * @param {Function} executor The executor function.\n\t */\n\tfunction CancelToken(executor) {\n\t if (typeof executor !== 'function') {\n\t throw new TypeError('executor must be a function.');\n\t }\n\t\n\t var resolvePromise;\n\t this.promise = new Promise(function promiseExecutor(resolve) {\n\t resolvePromise = resolve;\n\t });\n\t\n\t var token = this;\n\t executor(function cancel(message) {\n\t if (token.reason) {\n\t // Cancellation has already been requested\n\t return;\n\t }\n\t\n\t token.reason = new Cancel(message);\n\t resolvePromise(token.reason);\n\t });\n\t}\n\t\n\t/**\n\t * Throws a `Cancel` if cancellation has been requested.\n\t */\n\tCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n\t if (this.reason) {\n\t throw this.reason;\n\t }\n\t};\n\t\n\t/**\n\t * Returns an object that contains a new `CancelToken` and a function that, when called,\n\t * cancels the `CancelToken`.\n\t */\n\tCancelToken.source = function source() {\n\t var cancel;\n\t var token = new CancelToken(function executor(c) {\n\t cancel = c;\n\t });\n\t return {\n\t token: token,\n\t cancel: cancel\n\t };\n\t};\n\t\n\tmodule.exports = CancelToken;\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Syntactic sugar for invoking a function and expanding an array for arguments.\n\t *\n\t * Common use case would be to use `Function.prototype.apply`.\n\t *\n\t * ```js\n\t * function f(x, y, z) {}\n\t * var args = [1, 2, 3];\n\t * f.apply(null, args);\n\t * ```\n\t *\n\t * With `spread` this example can be re-written.\n\t *\n\t * ```js\n\t * spread(function(x, y, z) {})([1, 2, 3]);\n\t * ```\n\t *\n\t * @param {Function} callback\n\t * @returns {Function}\n\t */\n\tmodule.exports = function spread(callback) {\n\t return function wrap(arr) {\n\t return callback.apply(null, arr);\n\t };\n\t};\n\n\n/***/ })\n/******/ ])\n});\n;\n\n\n// WEBPACK FOOTER //\n// axios.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap be8c45a40d7c235b46c5","module.exports = require('./lib/axios');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./index.js\n// module id = 0\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/axios.js\n// module id = 1\n// module chunks = 0","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/utils.js\n// module id = 2\n// module chunks = 0","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/bind.js\n// module id = 3\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/Axios.js\n// module id = 4\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/buildURL.js\n// module id = 5\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/InterceptorManager.js\n// module id = 6\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/dispatchRequest.js\n// module id = 7\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/transformData.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/isCancel.js\n// module id = 9\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/defaults.js\n// module id = 10\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/normalizeHeaderName.js\n// module id = 11\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/adapters/xhr.js\n// module id = 12\n// module chunks = 0","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/settle.js\n// module id = 13\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/createError.js\n// module id = 14\n// module chunks = 0","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/enhanceError.js\n// module id = 15\n// module chunks = 0","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/buildFullPath.js\n// module id = 16\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/isAbsoluteURL.js\n// module id = 17\n// module chunks = 0","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/combineURLs.js\n// module id = 18\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/parseHeaders.js\n// module id = 19\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/isURLSameOrigin.js\n// module id = 20\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/cookies.js\n// module id = 21\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n var defaultToConfig2Keys = [\n 'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',\n 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath'\n ];\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys);\n\n var otherKeys = Object\n .keys(config2)\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n return config;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/core/mergeConfig.js\n// module id = 22\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/Cancel.js\n// module id = 23\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/cancel/CancelToken.js\n// module id = 24\n// module chunks = 0","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/helpers/spread.js\n// module id = 25\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/node_modules/axios/index.d.ts b/node_modules/axios/index.d.ts new file mode 100644 index 00000000..fc1fd186 --- /dev/null +++ b/node_modules/axios/index.d.ts @@ -0,0 +1,157 @@ +export interface AxiosTransformer { + (data: any, headers?: any): any; +} + +export interface AxiosAdapter { + (config: AxiosRequestConfig): AxiosPromise; +} + +export interface AxiosBasicCredentials { + username: string; + password: string; +} + +export interface AxiosProxyConfig { + host: string; + port: number; + auth?: { + username: string; + password:string; + }; + protocol?: string; +} + +export type Method = + | 'get' | 'GET' + | 'delete' | 'DELETE' + | 'head' | 'HEAD' + | 'options' | 'OPTIONS' + | 'post' | 'POST' + | 'put' | 'PUT' + | 'patch' | 'PATCH' + | 'link' | 'LINK' + | 'unlink' | 'UNLINK' + +export type ResponseType = + | 'arraybuffer' + | 'blob' + | 'document' + | 'json' + | 'text' + | 'stream' + +export interface AxiosRequestConfig { + url?: string; + method?: Method; + baseURL?: string; + transformRequest?: AxiosTransformer | AxiosTransformer[]; + transformResponse?: AxiosTransformer | AxiosTransformer[]; + headers?: any; + params?: any; + paramsSerializer?: (params: any) => string; + data?: any; + timeout?: number; + timeoutErrorMessage?: string; + withCredentials?: boolean; + adapter?: AxiosAdapter; + auth?: AxiosBasicCredentials; + responseType?: ResponseType; + xsrfCookieName?: string; + xsrfHeaderName?: string; + onUploadProgress?: (progressEvent: any) => void; + onDownloadProgress?: (progressEvent: any) => void; + maxContentLength?: number; + validateStatus?: (status: number) => boolean; + maxRedirects?: number; + socketPath?: string | null; + httpAgent?: any; + httpsAgent?: any; + proxy?: AxiosProxyConfig | false; + cancelToken?: CancelToken; +} + +export interface AxiosResponse { + data: T; + status: number; + statusText: string; + headers: any; + config: AxiosRequestConfig; + request?: any; +} + +export interface AxiosError extends Error { + config: AxiosRequestConfig; + code?: string; + request?: any; + response?: AxiosResponse; + isAxiosError: boolean; + toJSON: () => object; +} + +export interface AxiosPromise extends Promise> { +} + +export interface CancelStatic { + new (message?: string): Cancel; +} + +export interface Cancel { + message: string; +} + +export interface Canceler { + (message?: string): void; +} + +export interface CancelTokenStatic { + new (executor: (cancel: Canceler) => void): CancelToken; + source(): CancelTokenSource; +} + +export interface CancelToken { + promise: Promise; + reason?: Cancel; + throwIfRequested(): void; +} + +export interface CancelTokenSource { + token: CancelToken; + cancel: Canceler; +} + +export interface AxiosInterceptorManager { + use(onFulfilled?: (value: V) => V | Promise, onRejected?: (error: any) => any): number; + eject(id: number): void; +} + +export interface AxiosInstance { + (config: AxiosRequestConfig): AxiosPromise; + (url: string, config?: AxiosRequestConfig): AxiosPromise; + defaults: AxiosRequestConfig; + interceptors: { + request: AxiosInterceptorManager; + response: AxiosInterceptorManager; + }; + getUri(config?: AxiosRequestConfig): string; + request> (config: AxiosRequestConfig): Promise; + get>(url: string, config?: AxiosRequestConfig): Promise; + delete>(url: string, config?: AxiosRequestConfig): Promise; + head>(url: string, config?: AxiosRequestConfig): Promise; + options>(url: string, config?: AxiosRequestConfig): Promise; + post>(url: string, data?: any, config?: AxiosRequestConfig): Promise; + put>(url: string, data?: any, config?: AxiosRequestConfig): Promise; + patch>(url: string, data?: any, config?: AxiosRequestConfig): Promise; +} + +export interface AxiosStatic extends AxiosInstance { + create(config?: AxiosRequestConfig): AxiosInstance; + Cancel: CancelStatic; + CancelToken: CancelTokenStatic; + isCancel(value: any): boolean; + all(values: (T | Promise)[]): Promise; + spread(callback: (...args: T[]) => R): (array: T[]) => R; +} + +declare const Axios: AxiosStatic; + +export default Axios; diff --git a/node_modules/axios/index.js b/node_modules/axios/index.js new file mode 100644 index 00000000..79dfd09d --- /dev/null +++ b/node_modules/axios/index.js @@ -0,0 +1 @@ +module.exports = require('./lib/axios'); \ No newline at end of file diff --git a/node_modules/axios/lib/adapters/README.md b/node_modules/axios/lib/adapters/README.md new file mode 100644 index 00000000..68f11189 --- /dev/null +++ b/node_modules/axios/lib/adapters/README.md @@ -0,0 +1,37 @@ +# axios // adapters + +The modules under `adapters/` are modules that handle dispatching a request and settling a returned `Promise` once a response is received. + +## Example + +```js +var settle = require('./../core/settle'); + +module.exports = function myAdapter(config) { + // At this point: + // - config has been merged with defaults + // - request transformers have already run + // - request interceptors have already run + + // Make the request using config provided + // Upon response settle the Promise + + return new Promise(function(resolve, reject) { + + var response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config: config, + request: request + }; + + settle(resolve, reject, response); + + // From here: + // - response transformers will run + // - response interceptors will run + }); +} +``` diff --git a/node_modules/axios/lib/adapters/http.js b/node_modules/axios/lib/adapters/http.js new file mode 100644 index 00000000..16dad129 --- /dev/null +++ b/node_modules/axios/lib/adapters/http.js @@ -0,0 +1,279 @@ +'use strict'; + +var utils = require('./../utils'); +var settle = require('./../core/settle'); +var buildFullPath = require('../core/buildFullPath'); +var buildURL = require('./../helpers/buildURL'); +var http = require('http'); +var https = require('https'); +var httpFollow = require('follow-redirects').http; +var httpsFollow = require('follow-redirects').https; +var url = require('url'); +var zlib = require('zlib'); +var pkg = require('./../../package.json'); +var createError = require('../core/createError'); +var enhanceError = require('../core/enhanceError'); + +var isHttps = /https:?/; + +/*eslint consistent-return:0*/ +module.exports = function httpAdapter(config) { + return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) { + var resolve = function resolve(value) { + resolvePromise(value); + }; + var reject = function reject(value) { + rejectPromise(value); + }; + var data = config.data; + var headers = config.headers; + + // Set User-Agent (required by some servers) + // Only set header if it hasn't been set in config + // See https://github.com/axios/axios/issues/69 + if (!headers['User-Agent'] && !headers['user-agent']) { + headers['User-Agent'] = 'axios/' + pkg.version; + } + + if (data && !utils.isStream(data)) { + if (Buffer.isBuffer(data)) { + // Nothing to do... + } else if (utils.isArrayBuffer(data)) { + data = Buffer.from(new Uint8Array(data)); + } else if (utils.isString(data)) { + data = Buffer.from(data, 'utf-8'); + } else { + return reject(createError( + 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream', + config + )); + } + + // Add Content-Length header if data exists + headers['Content-Length'] = data.length; + } + + // HTTP basic authentication + var auth = undefined; + if (config.auth) { + var username = config.auth.username || ''; + var password = config.auth.password || ''; + auth = username + ':' + password; + } + + // Parse url + var fullPath = buildFullPath(config.baseURL, config.url); + var parsed = url.parse(fullPath); + var protocol = parsed.protocol || 'http:'; + + if (!auth && parsed.auth) { + var urlAuth = parsed.auth.split(':'); + var urlUsername = urlAuth[0] || ''; + var urlPassword = urlAuth[1] || ''; + auth = urlUsername + ':' + urlPassword; + } + + if (auth) { + delete headers.Authorization; + } + + var isHttpsRequest = isHttps.test(protocol); + var agent = isHttpsRequest ? config.httpsAgent : config.httpAgent; + + var options = { + path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\?/, ''), + method: config.method.toUpperCase(), + headers: headers, + agent: agent, + agents: { http: config.httpAgent, https: config.httpsAgent }, + auth: auth + }; + + if (config.socketPath) { + options.socketPath = config.socketPath; + } else { + options.hostname = parsed.hostname; + options.port = parsed.port; + } + + var proxy = config.proxy; + if (!proxy && proxy !== false) { + var proxyEnv = protocol.slice(0, -1) + '_proxy'; + var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()]; + if (proxyUrl) { + var parsedProxyUrl = url.parse(proxyUrl); + var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY; + var shouldProxy = true; + + if (noProxyEnv) { + var noProxy = noProxyEnv.split(',').map(function trim(s) { + return s.trim(); + }); + + shouldProxy = !noProxy.some(function proxyMatch(proxyElement) { + if (!proxyElement) { + return false; + } + if (proxyElement === '*') { + return true; + } + if (proxyElement[0] === '.' && + parsed.hostname.substr(parsed.hostname.length - proxyElement.length) === proxyElement) { + return true; + } + + return parsed.hostname === proxyElement; + }); + } + + + if (shouldProxy) { + proxy = { + host: parsedProxyUrl.hostname, + port: parsedProxyUrl.port + }; + + if (parsedProxyUrl.auth) { + var proxyUrlAuth = parsedProxyUrl.auth.split(':'); + proxy.auth = { + username: proxyUrlAuth[0], + password: proxyUrlAuth[1] + }; + } + } + } + } + + if (proxy) { + options.hostname = proxy.host; + options.host = proxy.host; + options.headers.host = parsed.hostname + (parsed.port ? ':' + parsed.port : ''); + options.port = proxy.port; + options.path = protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path; + + // Basic proxy authorization + if (proxy.auth) { + var base64 = Buffer.from(proxy.auth.username + ':' + proxy.auth.password, 'utf8').toString('base64'); + options.headers['Proxy-Authorization'] = 'Basic ' + base64; + } + } + + var transport; + var isHttpsProxy = isHttpsRequest && (proxy ? isHttps.test(proxy.protocol) : true); + if (config.transport) { + transport = config.transport; + } else if (config.maxRedirects === 0) { + transport = isHttpsProxy ? https : http; + } else { + if (config.maxRedirects) { + options.maxRedirects = config.maxRedirects; + } + transport = isHttpsProxy ? httpsFollow : httpFollow; + } + + if (config.maxContentLength && config.maxContentLength > -1) { + options.maxBodyLength = config.maxContentLength; + } + + // Create the request + var req = transport.request(options, function handleResponse(res) { + if (req.aborted) return; + + // uncompress the response body transparently if required + var stream = res; + switch (res.headers['content-encoding']) { + /*eslint default-case:0*/ + case 'gzip': + case 'compress': + case 'deflate': + // add the unzipper to the body stream processing pipeline + stream = (res.statusCode === 204) ? stream : stream.pipe(zlib.createUnzip()); + + // remove the content-encoding in order to not confuse downstream operations + delete res.headers['content-encoding']; + break; + } + + // return the last request in case of redirects + var lastRequest = res.req || req; + + var response = { + status: res.statusCode, + statusText: res.statusMessage, + headers: res.headers, + config: config, + request: lastRequest + }; + + if (config.responseType === 'stream') { + response.data = stream; + settle(resolve, reject, response); + } else { + var responseBuffer = []; + stream.on('data', function handleStreamData(chunk) { + responseBuffer.push(chunk); + + // make sure the content length is not over the maxContentLength if specified + if (config.maxContentLength > -1 && Buffer.concat(responseBuffer).length > config.maxContentLength) { + stream.destroy(); + reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded', + config, null, lastRequest)); + } + }); + + stream.on('error', function handleStreamError(err) { + if (req.aborted) return; + reject(enhanceError(err, config, null, lastRequest)); + }); + + stream.on('end', function handleStreamEnd() { + var responseData = Buffer.concat(responseBuffer); + if (config.responseType !== 'arraybuffer') { + responseData = responseData.toString(config.responseEncoding); + } + + response.data = responseData; + settle(resolve, reject, response); + }); + } + }); + + // Handle errors + req.on('error', function handleRequestError(err) { + if (req.aborted) return; + reject(enhanceError(err, config, null, req)); + }); + + // Handle request timeout + if (config.timeout) { + // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system. + // And timer callback will be fired, and abort() will be invoked before connection, then get "socket hang up" and code ECONNRESET. + // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up. + // And then these socket which be hang up will devoring CPU little by little. + // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect. + req.setTimeout(config.timeout, function handleRequestTimeout() { + req.abort(); + reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', req)); + }); + } + + if (config.cancelToken) { + // Handle cancellation + config.cancelToken.promise.then(function onCanceled(cancel) { + if (req.aborted) return; + + req.abort(); + reject(cancel); + }); + } + + // Send the request + if (utils.isStream(data)) { + data.on('error', function handleStreamError(err) { + reject(enhanceError(err, config, null, req)); + }).pipe(req); + } else { + req.end(data); + } + }); +}; diff --git a/node_modules/axios/lib/adapters/xhr.js b/node_modules/axios/lib/adapters/xhr.js new file mode 100644 index 00000000..377e3e96 --- /dev/null +++ b/node_modules/axios/lib/adapters/xhr.js @@ -0,0 +1,180 @@ +'use strict'; + +var utils = require('./../utils'); +var settle = require('./../core/settle'); +var buildURL = require('./../helpers/buildURL'); +var buildFullPath = require('../core/buildFullPath'); +var parseHeaders = require('./../helpers/parseHeaders'); +var isURLSameOrigin = require('./../helpers/isURLSameOrigin'); +var createError = require('../core/createError'); + +module.exports = function xhrAdapter(config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + var requestData = config.data; + var requestHeaders = config.headers; + + if (utils.isFormData(requestData)) { + delete requestHeaders['Content-Type']; // Let the browser set it + } + + var request = new XMLHttpRequest(); + + // HTTP basic authentication + if (config.auth) { + var username = config.auth.username || ''; + var password = config.auth.password || ''; + requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); + } + + var fullPath = buildFullPath(config.baseURL, config.url); + request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); + + // Set the request timeout in MS + request.timeout = config.timeout; + + // Listen for ready state + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + + // Prepare the response + var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; + var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response; + var response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config: config, + request: request + }; + + settle(resolve, reject, response); + + // Clean up request + request = null; + }; + + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { + return; + } + + reject(createError('Request aborted', config, 'ECONNABORTED', request)); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError() { + // Real errors are hidden from us by the browser + // onerror should only fire if it's a network error + reject(createError('Network Error', config, null, request)); + + // Clean up request + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded'; + if (config.timeoutErrorMessage) { + timeoutErrorMessage = config.timeoutErrorMessage; + } + reject(createError(timeoutErrorMessage, config, 'ECONNABORTED', + request)); + + // Clean up request + request = null; + }; + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + if (utils.isStandardBrowserEnv()) { + var cookies = require('./../helpers/cookies'); + + // Add xsrf header + var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? + cookies.read(config.xsrfCookieName) : + undefined; + + if (xsrfValue) { + requestHeaders[config.xsrfHeaderName] = xsrfValue; + } + } + + // Add headers to the request + if ('setRequestHeader' in request) { + utils.forEach(requestHeaders, function setRequestHeader(val, key) { + if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { + // Remove Content-Type if data is undefined + delete requestHeaders[key]; + } else { + // Otherwise add header to the request + request.setRequestHeader(key, val); + } + }); + } + + // Add withCredentials to request if needed + if (!utils.isUndefined(config.withCredentials)) { + request.withCredentials = !!config.withCredentials; + } + + // Add responseType to request if needed + if (config.responseType) { + try { + request.responseType = config.responseType; + } catch (e) { + // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2. + // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function. + if (config.responseType !== 'json') { + throw e; + } + } + } + + // Handle progress if needed + if (typeof config.onDownloadProgress === 'function') { + request.addEventListener('progress', config.onDownloadProgress); + } + + // Not all browsers support upload events + if (typeof config.onUploadProgress === 'function' && request.upload) { + request.upload.addEventListener('progress', config.onUploadProgress); + } + + if (config.cancelToken) { + // Handle cancellation + config.cancelToken.promise.then(function onCanceled(cancel) { + if (!request) { + return; + } + + request.abort(); + reject(cancel); + // Clean up request + request = null; + }); + } + + if (requestData === undefined) { + requestData = null; + } + + // Send the request + request.send(requestData); + }); +}; diff --git a/node_modules/axios/lib/axios.js b/node_modules/axios/lib/axios.js new file mode 100644 index 00000000..81424379 --- /dev/null +++ b/node_modules/axios/lib/axios.js @@ -0,0 +1,53 @@ +'use strict'; + +var utils = require('./utils'); +var bind = require('./helpers/bind'); +var Axios = require('./core/Axios'); +var mergeConfig = require('./core/mergeConfig'); +var defaults = require('./defaults'); + +/** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * @return {Axios} A new instance of Axios + */ +function createInstance(defaultConfig) { + var context = new Axios(defaultConfig); + var instance = bind(Axios.prototype.request, context); + + // Copy axios.prototype to instance + utils.extend(instance, Axios.prototype, context); + + // Copy context to instance + utils.extend(instance, context); + + return instance; +} + +// Create the default instance to be exported +var axios = createInstance(defaults); + +// Expose Axios class to allow class inheritance +axios.Axios = Axios; + +// Factory for creating new instances +axios.create = function create(instanceConfig) { + return createInstance(mergeConfig(axios.defaults, instanceConfig)); +}; + +// Expose Cancel & CancelToken +axios.Cancel = require('./cancel/Cancel'); +axios.CancelToken = require('./cancel/CancelToken'); +axios.isCancel = require('./cancel/isCancel'); + +// Expose all/spread +axios.all = function all(promises) { + return Promise.all(promises); +}; +axios.spread = require('./helpers/spread'); + +module.exports = axios; + +// Allow use of default import syntax in TypeScript +module.exports.default = axios; diff --git a/node_modules/axios/lib/cancel/Cancel.js b/node_modules/axios/lib/cancel/Cancel.js new file mode 100644 index 00000000..e0de4003 --- /dev/null +++ b/node_modules/axios/lib/cancel/Cancel.js @@ -0,0 +1,19 @@ +'use strict'; + +/** + * A `Cancel` is an object that is thrown when an operation is canceled. + * + * @class + * @param {string=} message The message. + */ +function Cancel(message) { + this.message = message; +} + +Cancel.prototype.toString = function toString() { + return 'Cancel' + (this.message ? ': ' + this.message : ''); +}; + +Cancel.prototype.__CANCEL__ = true; + +module.exports = Cancel; diff --git a/node_modules/axios/lib/cancel/CancelToken.js b/node_modules/axios/lib/cancel/CancelToken.js new file mode 100644 index 00000000..6b46e666 --- /dev/null +++ b/node_modules/axios/lib/cancel/CancelToken.js @@ -0,0 +1,57 @@ +'use strict'; + +var Cancel = require('./Cancel'); + +/** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @class + * @param {Function} executor The executor function. + */ +function CancelToken(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + var resolvePromise; + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + var token = this; + executor(function cancel(message) { + if (token.reason) { + // Cancellation has already been requested + return; + } + + token.reason = new Cancel(message); + resolvePromise(token.reason); + }); +} + +/** + * Throws a `Cancel` if cancellation has been requested. + */ +CancelToken.prototype.throwIfRequested = function throwIfRequested() { + if (this.reason) { + throw this.reason; + } +}; + +/** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ +CancelToken.source = function source() { + var cancel; + var token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token: token, + cancel: cancel + }; +}; + +module.exports = CancelToken; diff --git a/node_modules/axios/lib/cancel/isCancel.js b/node_modules/axios/lib/cancel/isCancel.js new file mode 100644 index 00000000..051f3ae4 --- /dev/null +++ b/node_modules/axios/lib/cancel/isCancel.js @@ -0,0 +1,5 @@ +'use strict'; + +module.exports = function isCancel(value) { + return !!(value && value.__CANCEL__); +}; diff --git a/node_modules/axios/lib/core/Axios.js b/node_modules/axios/lib/core/Axios.js new file mode 100644 index 00000000..fb34aced --- /dev/null +++ b/node_modules/axios/lib/core/Axios.js @@ -0,0 +1,94 @@ +'use strict'; + +var utils = require('./../utils'); +var buildURL = require('../helpers/buildURL'); +var InterceptorManager = require('./InterceptorManager'); +var dispatchRequest = require('./dispatchRequest'); +var mergeConfig = require('./mergeConfig'); + +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + */ +function Axios(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; +} + +/** + * Dispatch a request + * + * @param {Object} config The config specific for this request (merged with this.defaults) + */ +Axios.prototype.request = function request(config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof config === 'string') { + config = arguments[1] || {}; + config.url = arguments[0]; + } else { + config = config || {}; + } + + config = mergeConfig(this.defaults, config); + + // Set config.method + if (config.method) { + config.method = config.method.toLowerCase(); + } else if (this.defaults.method) { + config.method = this.defaults.method.toLowerCase(); + } else { + config.method = 'get'; + } + + // Hook up interceptors middleware + var chain = [dispatchRequest, undefined]; + var promise = Promise.resolve(config); + + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + chain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + chain.push(interceptor.fulfilled, interceptor.rejected); + }); + + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + + return promise; +}; + +Axios.prototype.getUri = function getUri(config) { + config = mergeConfig(this.defaults, config); + return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, ''); +}; + +// Provide aliases for supported request methods +utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request(utils.merge(config || {}, { + method: method, + url: url + })); + }; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, data, config) { + return this.request(utils.merge(config || {}, { + method: method, + url: url, + data: data + })); + }; +}); + +module.exports = Axios; diff --git a/node_modules/axios/lib/core/InterceptorManager.js b/node_modules/axios/lib/core/InterceptorManager.js new file mode 100644 index 00000000..50d667bb --- /dev/null +++ b/node_modules/axios/lib/core/InterceptorManager.js @@ -0,0 +1,52 @@ +'use strict'; + +var utils = require('./../utils'); + +function InterceptorManager() { + this.handlers = []; +} + +/** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ +InterceptorManager.prototype.use = function use(fulfilled, rejected) { + this.handlers.push({ + fulfilled: fulfilled, + rejected: rejected + }); + return this.handlers.length - 1; +}; + +/** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + */ +InterceptorManager.prototype.eject = function eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } +}; + +/** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + */ +InterceptorManager.prototype.forEach = function forEach(fn) { + utils.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); +}; + +module.exports = InterceptorManager; diff --git a/node_modules/axios/lib/core/README.md b/node_modules/axios/lib/core/README.md new file mode 100644 index 00000000..253bc486 --- /dev/null +++ b/node_modules/axios/lib/core/README.md @@ -0,0 +1,7 @@ +# axios // core + +The modules found in `core/` should be modules that are specific to the domain logic of axios. These modules would most likely not make sense to be consumed outside of the axios module, as their logic is too specific. Some examples of core modules are: + +- Dispatching requests +- Managing interceptors +- Handling config diff --git a/node_modules/axios/lib/core/buildFullPath.js b/node_modules/axios/lib/core/buildFullPath.js new file mode 100644 index 00000000..00b2b050 --- /dev/null +++ b/node_modules/axios/lib/core/buildFullPath.js @@ -0,0 +1,20 @@ +'use strict'; + +var isAbsoluteURL = require('../helpers/isAbsoluteURL'); +var combineURLs = require('../helpers/combineURLs'); + +/** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * @returns {string} The combined full path + */ +module.exports = function buildFullPath(baseURL, requestedURL) { + if (baseURL && !isAbsoluteURL(requestedURL)) { + return combineURLs(baseURL, requestedURL); + } + return requestedURL; +}; diff --git a/node_modules/axios/lib/core/createError.js b/node_modules/axios/lib/core/createError.js new file mode 100644 index 00000000..933680f6 --- /dev/null +++ b/node_modules/axios/lib/core/createError.js @@ -0,0 +1,18 @@ +'use strict'; + +var enhanceError = require('./enhanceError'); + +/** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The created error. + */ +module.exports = function createError(message, config, code, request, response) { + var error = new Error(message); + return enhanceError(error, config, code, request, response); +}; diff --git a/node_modules/axios/lib/core/dispatchRequest.js b/node_modules/axios/lib/core/dispatchRequest.js new file mode 100644 index 00000000..c8267adb --- /dev/null +++ b/node_modules/axios/lib/core/dispatchRequest.js @@ -0,0 +1,79 @@ +'use strict'; + +var utils = require('./../utils'); +var transformData = require('./transformData'); +var isCancel = require('../cancel/isCancel'); +var defaults = require('../defaults'); + +/** + * Throws a `Cancel` if cancellation has been requested. + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * @returns {Promise} The Promise to be fulfilled + */ +module.exports = function dispatchRequest(config) { + throwIfCancellationRequested(config); + + // Ensure headers exist + config.headers = config.headers || {}; + + // Transform request data + config.data = transformData( + config.data, + config.headers, + config.transformRequest + ); + + // Flatten headers + config.headers = utils.merge( + config.headers.common || {}, + config.headers[config.method] || {}, + config.headers + ); + + utils.forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + function cleanHeaderConfig(method) { + delete config.headers[method]; + } + ); + + var adapter = config.adapter || defaults.adapter; + + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData( + response.data, + response.headers, + config.transformResponse + ); + + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData( + reason.response.data, + reason.response.headers, + config.transformResponse + ); + } + } + + return Promise.reject(reason); + }); +}; diff --git a/node_modules/axios/lib/core/enhanceError.js b/node_modules/axios/lib/core/enhanceError.js new file mode 100644 index 00000000..02fbbd6a --- /dev/null +++ b/node_modules/axios/lib/core/enhanceError.js @@ -0,0 +1,42 @@ +'use strict'; + +/** + * Update an Error with the specified config, error code, and response. + * + * @param {Error} error The error to update. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The error. + */ +module.exports = function enhanceError(error, config, code, request, response) { + error.config = config; + if (code) { + error.code = code; + } + + error.request = request; + error.response = response; + error.isAxiosError = true; + + error.toJSON = function() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: this.config, + code: this.code + }; + }; + return error; +}; diff --git a/node_modules/axios/lib/core/mergeConfig.js b/node_modules/axios/lib/core/mergeConfig.js new file mode 100644 index 00000000..8e1ce619 --- /dev/null +++ b/node_modules/axios/lib/core/mergeConfig.js @@ -0,0 +1,73 @@ +'use strict'; + +var utils = require('../utils'); + +/** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * @returns {Object} New object resulting from merging config2 to config1 + */ +module.exports = function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + var config = {}; + + var valueFromConfig2Keys = ['url', 'method', 'params', 'data']; + var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy']; + var defaultToConfig2Keys = [ + 'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer', + 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', + 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', + 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent', + 'httpsAgent', 'cancelToken', 'socketPath' + ]; + + utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) { + if (typeof config2[prop] !== 'undefined') { + config[prop] = config2[prop]; + } + }); + + utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) { + if (utils.isObject(config2[prop])) { + config[prop] = utils.deepMerge(config1[prop], config2[prop]); + } else if (typeof config2[prop] !== 'undefined') { + config[prop] = config2[prop]; + } else if (utils.isObject(config1[prop])) { + config[prop] = utils.deepMerge(config1[prop]); + } else if (typeof config1[prop] !== 'undefined') { + config[prop] = config1[prop]; + } + }); + + utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) { + if (typeof config2[prop] !== 'undefined') { + config[prop] = config2[prop]; + } else if (typeof config1[prop] !== 'undefined') { + config[prop] = config1[prop]; + } + }); + + var axiosKeys = valueFromConfig2Keys + .concat(mergeDeepPropertiesKeys) + .concat(defaultToConfig2Keys); + + var otherKeys = Object + .keys(config2) + .filter(function filterAxiosKeys(key) { + return axiosKeys.indexOf(key) === -1; + }); + + utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) { + if (typeof config2[prop] !== 'undefined') { + config[prop] = config2[prop]; + } else if (typeof config1[prop] !== 'undefined') { + config[prop] = config1[prop]; + } + }); + + return config; +}; diff --git a/node_modules/axios/lib/core/settle.js b/node_modules/axios/lib/core/settle.js new file mode 100644 index 00000000..071d9e3e --- /dev/null +++ b/node_modules/axios/lib/core/settle.js @@ -0,0 +1,25 @@ +'use strict'; + +var createError = require('./createError'); + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + */ +module.exports = function settle(resolve, reject, response) { + var validateStatus = response.config.validateStatus; + if (!validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(createError( + 'Request failed with status code ' + response.status, + response.config, + null, + response.request, + response + )); + } +}; diff --git a/node_modules/axios/lib/core/transformData.js b/node_modules/axios/lib/core/transformData.js new file mode 100644 index 00000000..e0653620 --- /dev/null +++ b/node_modules/axios/lib/core/transformData.js @@ -0,0 +1,20 @@ +'use strict'; + +var utils = require('./../utils'); + +/** + * Transform the data for a request or a response + * + * @param {Object|String} data The data to be transformed + * @param {Array} headers The headers for the request or response + * @param {Array|Function} fns A single function or Array of functions + * @returns {*} The resulting transformed data + */ +module.exports = function transformData(data, headers, fns) { + /*eslint no-param-reassign:0*/ + utils.forEach(fns, function transform(fn) { + data = fn(data, headers); + }); + + return data; +}; diff --git a/node_modules/axios/lib/defaults.js b/node_modules/axios/lib/defaults.js new file mode 100644 index 00000000..23e1cbd2 --- /dev/null +++ b/node_modules/axios/lib/defaults.js @@ -0,0 +1,97 @@ +'use strict'; + +var utils = require('./utils'); +var normalizeHeaderName = require('./helpers/normalizeHeaderName'); + +var DEFAULT_CONTENT_TYPE = { + 'Content-Type': 'application/x-www-form-urlencoded' +}; + +function setContentTypeIfUnset(headers, value) { + if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { + headers['Content-Type'] = value; + } +} + +function getDefaultAdapter() { + var adapter; + if (typeof XMLHttpRequest !== 'undefined') { + // For browsers use XHR adapter + adapter = require('./adapters/xhr'); + } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { + // For node use HTTP adapter + adapter = require('./adapters/http'); + } + return adapter; +} + +var defaults = { + adapter: getDefaultAdapter(), + + transformRequest: [function transformRequest(data, headers) { + normalizeHeaderName(headers, 'Accept'); + normalizeHeaderName(headers, 'Content-Type'); + if (utils.isFormData(data) || + utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); + return data.toString(); + } + if (utils.isObject(data)) { + setContentTypeIfUnset(headers, 'application/json;charset=utf-8'); + return JSON.stringify(data); + } + return data; + }], + + transformResponse: [function transformResponse(data) { + /*eslint no-param-reassign:0*/ + if (typeof data === 'string') { + try { + data = JSON.parse(data); + } catch (e) { /* Ignore */ } + } + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + } +}; + +defaults.headers = { + common: { + 'Accept': 'application/json, text/plain, */*' + } +}; + +utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { + defaults.headers[method] = {}; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); +}); + +module.exports = defaults; diff --git a/node_modules/axios/lib/helpers/README.md b/node_modules/axios/lib/helpers/README.md new file mode 100644 index 00000000..4ae34193 --- /dev/null +++ b/node_modules/axios/lib/helpers/README.md @@ -0,0 +1,7 @@ +# axios // helpers + +The modules found in `helpers/` should be generic modules that are _not_ specific to the domain logic of axios. These modules could theoretically be published to npm on their own and consumed by other modules or apps. Some examples of generic modules are things like: + +- Browser polyfills +- Managing cookies +- Parsing HTTP headers diff --git a/node_modules/axios/lib/helpers/bind.js b/node_modules/axios/lib/helpers/bind.js new file mode 100644 index 00000000..6147c608 --- /dev/null +++ b/node_modules/axios/lib/helpers/bind.js @@ -0,0 +1,11 @@ +'use strict'; + +module.exports = function bind(fn, thisArg) { + return function wrap() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + return fn.apply(thisArg, args); + }; +}; diff --git a/node_modules/axios/lib/helpers/buildURL.js b/node_modules/axios/lib/helpers/buildURL.js new file mode 100644 index 00000000..8c40e409 --- /dev/null +++ b/node_modules/axios/lib/helpers/buildURL.js @@ -0,0 +1,71 @@ +'use strict'; + +var utils = require('./../utils'); + +function encode(val) { + return encodeURIComponent(val). + replace(/%40/gi, '@'). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @returns {string} The formatted url + */ +module.exports = function buildURL(url, params, paramsSerializer) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + var serializedParams; + if (paramsSerializer) { + serializedParams = paramsSerializer(params); + } else if (utils.isURLSearchParams(params)) { + serializedParams = params.toString(); + } else { + var parts = []; + + utils.forEach(params, function serialize(val, key) { + if (val === null || typeof val === 'undefined') { + return; + } + + if (utils.isArray(val)) { + key = key + '[]'; + } else { + val = [val]; + } + + utils.forEach(val, function parseValue(v) { + if (utils.isDate(v)) { + v = v.toISOString(); + } else if (utils.isObject(v)) { + v = JSON.stringify(v); + } + parts.push(encode(key) + '=' + encode(v)); + }); + }); + + serializedParams = parts.join('&'); + } + + if (serializedParams) { + var hashmarkIndex = url.indexOf('#'); + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; +}; diff --git a/node_modules/axios/lib/helpers/combineURLs.js b/node_modules/axios/lib/helpers/combineURLs.js new file mode 100644 index 00000000..f1b58a58 --- /dev/null +++ b/node_modules/axios/lib/helpers/combineURLs.js @@ -0,0 +1,14 @@ +'use strict'; + +/** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * @returns {string} The combined URL + */ +module.exports = function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; +}; diff --git a/node_modules/axios/lib/helpers/cookies.js b/node_modules/axios/lib/helpers/cookies.js new file mode 100644 index 00000000..5a8a6666 --- /dev/null +++ b/node_modules/axios/lib/helpers/cookies.js @@ -0,0 +1,53 @@ +'use strict'; + +var utils = require('./../utils'); + +module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs support document.cookie + (function standardBrowserEnv() { + return { + write: function write(name, value, expires, path, domain, secure) { + var cookie = []; + cookie.push(name + '=' + encodeURIComponent(value)); + + if (utils.isNumber(expires)) { + cookie.push('expires=' + new Date(expires).toGMTString()); + } + + if (utils.isString(path)) { + cookie.push('path=' + path); + } + + if (utils.isString(domain)) { + cookie.push('domain=' + domain); + } + + if (secure === true) { + cookie.push('secure'); + } + + document.cookie = cookie.join('; '); + }, + + read: function read(name) { + var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); + return (match ? decodeURIComponent(match[3]) : null); + }, + + remove: function remove(name) { + this.write(name, '', Date.now() - 86400000); + } + }; + })() : + + // Non standard browser env (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return { + write: function write() {}, + read: function read() { return null; }, + remove: function remove() {} + }; + })() +); diff --git a/node_modules/axios/lib/helpers/deprecatedMethod.js b/node_modules/axios/lib/helpers/deprecatedMethod.js new file mode 100644 index 00000000..ed40965b --- /dev/null +++ b/node_modules/axios/lib/helpers/deprecatedMethod.js @@ -0,0 +1,24 @@ +'use strict'; + +/*eslint no-console:0*/ + +/** + * Supply a warning to the developer that a method they are using + * has been deprecated. + * + * @param {string} method The name of the deprecated method + * @param {string} [instead] The alternate method to use if applicable + * @param {string} [docs] The documentation URL to get further details + */ +module.exports = function deprecatedMethod(method, instead, docs) { + try { + console.warn( + 'DEPRECATED method `' + method + '`.' + + (instead ? ' Use `' + instead + '` instead.' : '') + + ' This method will be removed in a future release.'); + + if (docs) { + console.warn('For more information about usage see ' + docs); + } + } catch (e) { /* Ignore */ } +}; diff --git a/node_modules/axios/lib/helpers/isAbsoluteURL.js b/node_modules/axios/lib/helpers/isAbsoluteURL.js new file mode 100644 index 00000000..d33e9927 --- /dev/null +++ b/node_modules/axios/lib/helpers/isAbsoluteURL.js @@ -0,0 +1,14 @@ +'use strict'; + +/** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ +module.exports = function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url); +}; diff --git a/node_modules/axios/lib/helpers/isURLSameOrigin.js b/node_modules/axios/lib/helpers/isURLSameOrigin.js new file mode 100644 index 00000000..f1d89ad1 --- /dev/null +++ b/node_modules/axios/lib/helpers/isURLSameOrigin.js @@ -0,0 +1,68 @@ +'use strict'; + +var utils = require('./../utils'); + +module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs have full support of the APIs needed to test + // whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + var msie = /(msie|trident)/i.test(navigator.userAgent); + var urlParsingNode = document.createElement('a'); + var originURL; + + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + var href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })() +); diff --git a/node_modules/axios/lib/helpers/normalizeHeaderName.js b/node_modules/axios/lib/helpers/normalizeHeaderName.js new file mode 100644 index 00000000..738c9fe4 --- /dev/null +++ b/node_modules/axios/lib/helpers/normalizeHeaderName.js @@ -0,0 +1,12 @@ +'use strict'; + +var utils = require('../utils'); + +module.exports = function normalizeHeaderName(headers, normalizedName) { + utils.forEach(headers, function processHeader(value, name) { + if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { + headers[normalizedName] = value; + delete headers[name]; + } + }); +}; diff --git a/node_modules/axios/lib/helpers/parseHeaders.js b/node_modules/axios/lib/helpers/parseHeaders.js new file mode 100644 index 00000000..8af2cc7f --- /dev/null +++ b/node_modules/axios/lib/helpers/parseHeaders.js @@ -0,0 +1,53 @@ +'use strict'; + +var utils = require('./../utils'); + +// Headers whose duplicates are ignored by node +// c.f. https://nodejs.org/api/http.html#http_message_headers +var ignoreDuplicateOf = [ + 'age', 'authorization', 'content-length', 'content-type', 'etag', + 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', + 'last-modified', 'location', 'max-forwards', 'proxy-authorization', + 'referer', 'retry-after', 'user-agent' +]; + +/** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} headers Headers needing to be parsed + * @returns {Object} Headers parsed into an object + */ +module.exports = function parseHeaders(headers) { + var parsed = {}; + var key; + var val; + var i; + + if (!headers) { return parsed; } + + utils.forEach(headers.split('\n'), function parser(line) { + i = line.indexOf(':'); + key = utils.trim(line.substr(0, i)).toLowerCase(); + val = utils.trim(line.substr(i + 1)); + + if (key) { + if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { + return; + } + if (key === 'set-cookie') { + parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + } + }); + + return parsed; +}; diff --git a/node_modules/axios/lib/helpers/spread.js b/node_modules/axios/lib/helpers/spread.js new file mode 100644 index 00000000..25e3cdd3 --- /dev/null +++ b/node_modules/axios/lib/helpers/spread.js @@ -0,0 +1,27 @@ +'use strict'; + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * @returns {Function} + */ +module.exports = function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +}; diff --git a/node_modules/axios/lib/utils.js b/node_modules/axios/lib/utils.js new file mode 100644 index 00000000..e028c676 --- /dev/null +++ b/node_modules/axios/lib/utils.js @@ -0,0 +1,344 @@ +'use strict'; + +var bind = require('./helpers/bind'); + +/*global toString:true*/ + +// utils is a library of generic helper functions non-specific to axios + +var toString = Object.prototype.toString; + +/** + * Determine if a value is an Array + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Array, otherwise false + */ +function isArray(val) { + return toString.call(val) === '[object Array]'; +} + +/** + * Determine if a value is undefined + * + * @param {Object} val The value to test + * @returns {boolean} True if the value is undefined, otherwise false + */ +function isUndefined(val) { + return typeof val === 'undefined'; +} + +/** + * Determine if a value is a Buffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Buffer, otherwise false + */ +function isBuffer(val) { + return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) + && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val); +} + +/** + * Determine if a value is an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ +function isArrayBuffer(val) { + return toString.call(val) === '[object ArrayBuffer]'; +} + +/** + * Determine if a value is a FormData + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an FormData, otherwise false + */ +function isFormData(val) { + return (typeof FormData !== 'undefined') && (val instanceof FormData); +} + +/** + * Determine if a value is a view on an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ +function isArrayBufferView(val) { + var result; + if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + result = ArrayBuffer.isView(val); + } else { + result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer); + } + return result; +} + +/** + * Determine if a value is a String + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a String, otherwise false + */ +function isString(val) { + return typeof val === 'string'; +} + +/** + * Determine if a value is a Number + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Number, otherwise false + */ +function isNumber(val) { + return typeof val === 'number'; +} + +/** + * Determine if a value is an Object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Object, otherwise false + */ +function isObject(val) { + return val !== null && typeof val === 'object'; +} + +/** + * Determine if a value is a Date + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Date, otherwise false + */ +function isDate(val) { + return toString.call(val) === '[object Date]'; +} + +/** + * Determine if a value is a File + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a File, otherwise false + */ +function isFile(val) { + return toString.call(val) === '[object File]'; +} + +/** + * Determine if a value is a Blob + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Blob, otherwise false + */ +function isBlob(val) { + return toString.call(val) === '[object Blob]'; +} + +/** + * Determine if a value is a Function + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ +function isFunction(val) { + return toString.call(val) === '[object Function]'; +} + +/** + * Determine if a value is a Stream + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Stream, otherwise false + */ +function isStream(val) { + return isObject(val) && isFunction(val.pipe); +} + +/** + * Determine if a value is a URLSearchParams object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ +function isURLSearchParams(val) { + return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; +} + +/** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * @returns {String} The String freed of excess whitespace + */ +function trim(str) { + return str.replace(/^\s*/, '').replace(/\s*$/, ''); +} + +/** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + */ +function isStandardBrowserEnv() { + if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || + navigator.product === 'NativeScript' || + navigator.product === 'NS')) { + return false; + } + return ( + typeof window !== 'undefined' && + typeof document !== 'undefined' + ); +} + +/** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + */ +function forEach(obj, fn) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (var i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Iterate over object keys + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + fn.call(null, obj[key], key, obj); + } + } + } +} + +/** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * var result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * @returns {Object} Result of all merge properties + */ +function merge(/* obj1, obj2, obj3, ... */) { + var result = {}; + function assignValue(val, key) { + if (typeof result[key] === 'object' && typeof val === 'object') { + result[key] = merge(result[key], val); + } else { + result[key] = val; + } + } + + for (var i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue); + } + return result; +} + +/** + * Function equal to merge with the difference being that no reference + * to original objects is kept. + * + * @see merge + * @param {Object} obj1 Object to merge + * @returns {Object} Result of all merge properties + */ +function deepMerge(/* obj1, obj2, obj3, ... */) { + var result = {}; + function assignValue(val, key) { + if (typeof result[key] === 'object' && typeof val === 'object') { + result[key] = deepMerge(result[key], val); + } else if (typeof val === 'object') { + result[key] = deepMerge({}, val); + } else { + result[key] = val; + } + } + + for (var i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue); + } + return result; +} + +/** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * @return {Object} The resulting value of object a + */ +function extend(a, b, thisArg) { + forEach(b, function assignValue(val, key) { + if (thisArg && typeof val === 'function') { + a[key] = bind(val, thisArg); + } else { + a[key] = val; + } + }); + return a; +} + +module.exports = { + isArray: isArray, + isArrayBuffer: isArrayBuffer, + isBuffer: isBuffer, + isFormData: isFormData, + isArrayBufferView: isArrayBufferView, + isString: isString, + isNumber: isNumber, + isObject: isObject, + isUndefined: isUndefined, + isDate: isDate, + isFile: isFile, + isBlob: isBlob, + isFunction: isFunction, + isStream: isStream, + isURLSearchParams: isURLSearchParams, + isStandardBrowserEnv: isStandardBrowserEnv, + forEach: forEach, + merge: merge, + deepMerge: deepMerge, + extend: extend, + trim: trim +}; diff --git a/node_modules/axios/package.json b/node_modules/axios/package.json new file mode 100644 index 00000000..a96bcbfe --- /dev/null +++ b/node_modules/axios/package.json @@ -0,0 +1,111 @@ +{ + "_from": "axios@^0.19.2", + "_id": "axios@0.19.2", + "_inBundle": false, + "_integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "_location": "/axios", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "axios@^0.19.2", + "name": "axios", + "escapedName": "axios", + "rawSpec": "^0.19.2", + "saveSpec": null, + "fetchSpec": "^0.19.2" + }, + "_requiredBy": [ + "/@xboxreplay/xboxlive-auth" + ], + "_resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "_shasum": "3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27", + "_spec": "axios@^0.19.2", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\@xboxreplay\\xboxlive-auth", + "author": { + "name": "Matt Zabriskie" + }, + "browser": { + "./lib/adapters/http.js": "./lib/adapters/xhr.js" + }, + "bugs": { + "url": "https://github.com/axios/axios/issues" + }, + "bundleDependencies": false, + "bundlesize": [ + { + "path": "./dist/axios.min.js", + "threshold": "5kB" + } + ], + "dependencies": { + "follow-redirects": "1.5.10" + }, + "deprecated": false, + "description": "Promise based HTTP client for the browser and node.js", + "devDependencies": { + "bundlesize": "^0.17.0", + "coveralls": "^3.0.0", + "es6-promise": "^4.2.4", + "grunt": "^1.0.2", + "grunt-banner": "^0.6.0", + "grunt-cli": "^1.2.0", + "grunt-contrib-clean": "^1.1.0", + "grunt-contrib-watch": "^1.0.0", + "grunt-eslint": "^20.1.0", + "grunt-karma": "^2.0.0", + "grunt-mocha-test": "^0.13.3", + "grunt-ts": "^6.0.0-beta.19", + "grunt-webpack": "^1.0.18", + "istanbul-instrumenter-loader": "^1.0.0", + "jasmine-core": "^2.4.1", + "karma": "^1.3.0", + "karma-chrome-launcher": "^2.2.0", + "karma-coverage": "^1.1.1", + "karma-firefox-launcher": "^1.1.0", + "karma-jasmine": "^1.1.1", + "karma-jasmine-ajax": "^0.1.13", + "karma-opera-launcher": "^1.0.0", + "karma-safari-launcher": "^1.0.0", + "karma-sauce-launcher": "^1.2.0", + "karma-sinon": "^1.0.5", + "karma-sourcemap-loader": "^0.3.7", + "karma-webpack": "^1.7.0", + "load-grunt-tasks": "^3.5.2", + "minimist": "^1.2.0", + "mocha": "^5.2.0", + "sinon": "^4.5.0", + "typescript": "^2.8.1", + "url-search-params": "^0.10.0", + "webpack": "^1.13.1", + "webpack-dev-server": "^1.14.1" + }, + "homepage": "https://github.com/axios/axios", + "keywords": [ + "xhr", + "http", + "ajax", + "promise", + "node" + ], + "license": "MIT", + "main": "index.js", + "name": "axios", + "repository": { + "type": "git", + "url": "git+https://github.com/axios/axios.git" + }, + "scripts": { + "build": "NODE_ENV=production grunt build", + "coveralls": "cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js", + "examples": "node ./examples/server.js", + "fix": "eslint --fix lib/**/*.js", + "postversion": "git push && git push --tags", + "preversion": "npm test", + "start": "node ./sandbox/server.js", + "test": "grunt test && bundlesize", + "version": "npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json" + }, + "typings": "./index.d.ts", + "version": "0.19.2" +} diff --git a/node_modules/buffer-equal/.travis.yml b/node_modules/buffer-equal/.travis.yml new file mode 100644 index 00000000..dad2273c --- /dev/null +++ b/node_modules/buffer-equal/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - 0.8 + - "0.10" diff --git a/node_modules/buffer-equal/LICENSE b/node_modules/buffer-equal/LICENSE new file mode 100644 index 00000000..ee27ba4b --- /dev/null +++ b/node_modules/buffer-equal/LICENSE @@ -0,0 +1,18 @@ +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/buffer-equal/README.markdown b/node_modules/buffer-equal/README.markdown new file mode 100644 index 00000000..8c062fd0 --- /dev/null +++ b/node_modules/buffer-equal/README.markdown @@ -0,0 +1,62 @@ +buffer-equal +============ + +Return whether two buffers are equal. + +[![build status](https://secure.travis-ci.org/substack/node-buffer-equal.png)](http://travis-ci.org/substack/node-buffer-equal) + +example +======= + +``` js +var bufferEqual = require('buffer-equal'); + +console.dir(bufferEqual( + new Buffer([253,254,255]), + new Buffer([253,254,255]) +)); +console.dir(bufferEqual( + new Buffer('abc'), + new Buffer('abcd') +)); +console.dir(bufferEqual( + new Buffer('abc'), + 'abc' +)); +``` + +output: + +``` +true +false +undefined +``` + +methods +======= + +``` js +var bufferEqual = require('buffer-equal') +``` + +bufferEqual(a, b) +----------------- + +Return whether the two buffers `a` and `b` are equal. + +If `a` or `b` is not a buffer, return `undefined`. + +install +======= + +With [npm](http://npmjs.org) do: + +``` +npm install buffer-equal +``` + +license +======= + +MIT diff --git a/node_modules/buffer-equal/example/eq.js b/node_modules/buffer-equal/example/eq.js new file mode 100644 index 00000000..1eb05095 --- /dev/null +++ b/node_modules/buffer-equal/example/eq.js @@ -0,0 +1,14 @@ +var bufferEqual = require('../'); + +console.dir(bufferEqual( + new Buffer([253,254,255]), + new Buffer([253,254,255]) +)); +console.dir(bufferEqual( + new Buffer('abc'), + new Buffer('abcd') +)); +console.dir(bufferEqual( + new Buffer('abc'), + 'abc' +)); diff --git a/node_modules/buffer-equal/index.js b/node_modules/buffer-equal/index.js new file mode 100644 index 00000000..e640d4e2 --- /dev/null +++ b/node_modules/buffer-equal/index.js @@ -0,0 +1,14 @@ +var Buffer = require('buffer').Buffer; // for use with browserify + +module.exports = function (a, b) { + if (!Buffer.isBuffer(a)) return undefined; + if (!Buffer.isBuffer(b)) return undefined; + if (typeof a.equals === 'function') return a.equals(b); + if (a.length !== b.length) return false; + + for (var i = 0; i < a.length; i++) { + if (a[i] !== b[i]) return false; + } + + return true; +}; diff --git a/node_modules/buffer-equal/package.json b/node_modules/buffer-equal/package.json new file mode 100644 index 00000000..7bc9aa45 --- /dev/null +++ b/node_modules/buffer-equal/package.json @@ -0,0 +1,62 @@ +{ + "_from": "buffer-equal@^1.0.0", + "_id": "buffer-equal@1.0.0", + "_inBundle": false, + "_integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "_location": "/buffer-equal", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "buffer-equal@^1.0.0", + "name": "buffer-equal", + "escapedName": "buffer-equal", + "rawSpec": "^1.0.0", + "saveSpec": null, + "fetchSpec": "^1.0.0" + }, + "_requiredBy": [ + "/minecraft-protocol" + ], + "_resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "_shasum": "59616b498304d556abd466966b22eeda3eca5fbe", + "_spec": "buffer-equal@^1.0.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\minecraft-protocol", + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "bugs": { + "url": "https://github.com/substack/node-buffer-equal/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "return whether two buffers are equal", + "devDependencies": { + "tap": "0.2.4" + }, + "directories": { + "example": "example", + "test": "test" + }, + "engines": { + "node": ">=0.4.0" + }, + "homepage": "https://github.com/substack/node-buffer-equal#readme", + "keywords": [ + "buffer", + "equal" + ], + "license": "MIT", + "main": "index.js", + "name": "buffer-equal", + "repository": { + "type": "git", + "url": "git://github.com/substack/node-buffer-equal.git" + }, + "scripts": { + "test": "tap test/*.js" + }, + "version": "1.0.0" +} diff --git a/node_modules/buffer-equal/test/eq.js b/node_modules/buffer-equal/test/eq.js new file mode 100644 index 00000000..3d340062 --- /dev/null +++ b/node_modules/buffer-equal/test/eq.js @@ -0,0 +1,35 @@ +var bufferEqual = require('../'); +var test = require('tap').test; + +test('equal', function (t) { + var eq = bufferEqual( + new Buffer([253,254,255]), + new Buffer([253,254,255]) + ); + t.strictEqual(eq, true); + t.end(); +}); + +test('not equal', function (t) { + var eq = bufferEqual( + new Buffer('abc'), + new Buffer('abcd') + ); + t.strictEqual(eq, false); + t.end(); +}); + +test('not equal not buffer', function (t) { + var eq = bufferEqual( + new Buffer('abc'), + 'abc' + ); + t.strictEqual(eq, undefined); + t.end(); +}); + +test('equal not buffer', function (t) { + var eq = bufferEqual('abc', 'abc'); + t.strictEqual(eq, undefined); + t.end(); +}); diff --git a/node_modules/centra/.github/workflows/nodejs.yml b/node_modules/centra/.github/workflows/nodejs.yml new file mode 100644 index 00000000..521ece8d --- /dev/null +++ b/node_modules/centra/.github/workflows/nodejs.yml @@ -0,0 +1,26 @@ +name: Node CI + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [10.x, 12.x] + + steps: + - uses: actions/checkout@v1 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: npm install, build, and test + run: | + npm install + npm run build --if-present + npm test + env: + CI: true diff --git a/node_modules/centra/LICENSE b/node_modules/centra/LICENSE new file mode 100644 index 00000000..ee01e012 --- /dev/null +++ b/node_modules/centra/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Ethan Davis + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/centra/README.md b/node_modules/centra/README.md new file mode 100644 index 00000000..14db17f7 --- /dev/null +++ b/node_modules/centra/README.md @@ -0,0 +1,138 @@ +

+ +> The core lightweight HTTP client for Node + +[GitHub](https://github.com/ethanent/centra) | [NPM](https://npmjs.com/package/centra) + +## Install + +```shell +npm i centra +``` + +## Why centra? + +centra is the best request library for developers; it provides a number of extremely useful features while still being one of the most lightweight Node.js HTTP client libraries available. + +## Use centra! + +First, require the library. + +```js +const c = require('centra') +``` + +Then let's make a request in an async function! + +```js +;(async () => { + const res = await c('https://ethanent.me').send() + + console.log(await res.text()) +})() +``` + +## More advanced usage + +### Send data in a JSON body + +```js +c('https://example.com/nonexistentJSONAPI', 'POST').body({ + 'name': 'Ethan' +}, 'json').send().then((res) => { + /*...*/ +}) +``` + +### Send data in a form body + +```js +c('https://example.com/nonexistentJSONAPI', 'POST').body({ + 'name': 'Ethan' +}, 'form').send().then((res) => { + /*...*/ +}) +``` + +### Set query string parameters + +One at a time: + +```js +c('https://example.com/user').query('id', 'u1817760').send().then((res) => { + /*...*/ +}) +``` + +Many at a time: + +```js +c('https://example.com/user').query({ + 'id', 'u1817760', + 'name': 'Ethan' +}).send().then((res) => { + /*...*/ +}) +``` + +### Set a request timeout + +```js +c('https://ethanent.me').timeout(2000).send().then((res) => { + // Success! +}).catch((err) => { + // Has the request timed out? +}) +``` + +### Stream a request's response + +In this example, the [stream](https://nodejs.org/api/stream.html) is piped to a file: + +```js +// require the fs module beforehand + +c('https://ethanent.me/images/mainLogo.png').stream().send().then((stream) => stream.pipe(fs.createWriteStream(path.join(__dirname, 'logo.png')))) +``` + +### Switch paths on the fly + +```js +c('https://ethanent.me/test').path('/hello').send() + +// This will make a request to https://ethanent.me/test/hello +``` + +### Specify request headers + +One at a time: + +```js +c('https://ethanent.me').header('Content-Type', 'application/json').send() +``` + +Many at a time: + +```js +c('https://ethanent.me').header({ + 'Content-Type': 'application/json', + 'X-Connecting-With': 'centra' +}).send() +``` + +### Modify core HTTP request options + +See [http.request](https://nodejs.org/dist/latest-v10.x/docs/api/http.html#http_http_request_url_options_callback)'s options for more information about core HTTP request options. +Let's change our localAddress as an example. + +```js +c('https://ethanent.me').option('localAddress', '127.0.0.2').send() +``` + +### Accept compressed responses + +```js +c('https://ethanent.me').compress().send() + +// This will cause centra to accept compressed content from the server. (gzip and deflate are currently supported) +``` \ No newline at end of file diff --git a/node_modules/centra/createRequest.js b/node_modules/centra/createRequest.js new file mode 100644 index 00000000..0233f48f --- /dev/null +++ b/node_modules/centra/createRequest.js @@ -0,0 +1,5 @@ +const CentraRequest = require('./model/CentraRequest.js') + +module.exports = (url, method) => { + return new CentraRequest(url, method) +} \ No newline at end of file diff --git a/node_modules/centra/model/CentraRequest.js b/node_modules/centra/model/CentraRequest.js new file mode 100644 index 00000000..98a8f4a3 --- /dev/null +++ b/node_modules/centra/model/CentraRequest.js @@ -0,0 +1,187 @@ +const path = require('path') +const http = require('http') +const https = require('https') +const qs = require('querystring') +const zlib = require('zlib') +const {URL} = require('url') + +const CentraResponse = require('./CentraResponse.js') + +const supportedCompressions = ['gzip', 'deflate'] + +module.exports = class CentraRequest { + constructor (url, method = 'GET') { + this.url = typeof url === 'string' ? new URL(url) : url + this.method = method + this.data = null + this.sendDataAs = null + this.reqHeaders = {} + this.streamEnabled = false + this.compressionEnabled = false + this.timeoutTime = null + this.coreOptions = {} + + this.resOptions = { + 'maxBuffer': 50 * 1000000 // 50 MB + } + + return this + } + + query (a1, a2) { + if (typeof a1 === 'object') { + Object.keys(a1).forEach((queryKey) => { + this.url.searchParams.append(queryKey, a1[queryKey]) + }) + } + else this.url.searchParams.append(a1, a2) + + return this + } + + path (relativePath) { + this.url.pathname = path.join(this.url.pathname, relativePath) + + return this + } + + body (data, sendAs) { + this.sendDataAs = typeof data === 'object' && !sendAs && !Buffer.isBuffer(data) ? 'json' : (sendAs ? sendAs.toLowerCase() : 'buffer') + this.data = this.sendDataAs === 'form' ? qs.stringify(data) : (this.sendDataAs === 'json' ? JSON.stringify(data) : data) + + return this + } + + header (a1, a2) { + if (typeof a1 === 'object') { + Object.keys(a1).forEach((headerName) => { + this.reqHeaders[headerName.toLowerCase()] = a1[headerName] + }) + } + else this.reqHeaders[a1.toLowerCase()] = a2 + + return this + } + + timeout (timeout) { + this.timeoutTime = timeout + + return this + } + + option (name, value) { + this.coreOptions[name] = value + + return this + } + + stream () { + this.streamEnabled = true + + return this + } + + compress () { + this.compressionEnabled = true + + if (!this.reqHeaders['accept-encoding']) this.reqHeaders['accept-encoding'] = supportedCompressions.join(', ') + + return this + } + + send () { + return new Promise((resolve, reject) => { + if (this.data) { + if (!this.reqHeaders.hasOwnProperty('content-type')) { + if (this.sendDataAs === 'json') { + this.reqHeaders['content-type'] = 'application/json' + } + else if (this.sendDataAs === 'form') { + this.reqHeaders['content-type'] = 'application/x-www-form-urlencoded' + } + } + + if (!this.reqHeaders.hasOwnProperty('content-length')) { + this.reqHeaders['content-length'] = Buffer.byteLength(this.data) + } + } + + const options = Object.assign({ + 'protocol': this.url.protocol, + 'host': this.url.hostname, + 'port': this.url.port, + 'path': this.url.pathname + (this.url.search === null ? '' : this.url.search), + 'method': this.method, + 'headers': this.reqHeaders + }, this.coreOptions) + + let req + + const resHandler = (res) => { + let stream = res + + if (this.compressionEnabled) { + if (res.headers['content-encoding'] === 'gzip') { + stream = res.pipe(zlib.createGunzip()) + } + else if (res.headers['content-encoding'] === 'deflate') { + stream = res.pipe(zlib.createInflate()) + } + } + + let centraRes + + if (this.streamEnabled) { + resolve(stream) + } + else { + centraRes = new CentraResponse(res, this.resOptions) + + stream.on('error', (err) => { + reject(err) + }) + + stream.on('data', (chunk) => { + centraRes._addChunk(chunk) + + if (this.resOptions.maxBuffer !== null && centraRes.body.length > this.resOptions.maxBuffer) { + stream.destroy() + + reject('Received a response which was longer than acceptable when buffering. (' + this.body.length + ' bytes)') + } + }) + + stream.on('end', () => { + resolve(centraRes) + }) + } + } + + if (this.url.protocol === 'http:') { + req = http.request(options, resHandler) + } + else if (this.url.protocol === 'https:') { + req = https.request(options, resHandler) + } + else throw new Error('Bad URL protocol: ' + this.url.protocol) + + if (this.timeoutTime) { + req.setTimeout(this.timeoutTime, () => { + req.abort() + + if (!this.streamEnabled) { + reject(new Error('Timeout reached')) + } + }) + } + + req.on('error', (err) => { + reject(err) + }) + + if (this.data) req.write(this.data) + + req.end() + }) + } +} diff --git a/node_modules/centra/model/CentraResponse.js b/node_modules/centra/model/CentraResponse.js new file mode 100644 index 00000000..eb68916c --- /dev/null +++ b/node_modules/centra/model/CentraResponse.js @@ -0,0 +1,23 @@ +module.exports = class CentraResponse { + constructor (res, resOptions) { + this.coreRes = res + this.resOptions = resOptions + + this.body = Buffer.alloc(0) + + this.headers = res.headers + this.statusCode = res.statusCode + } + + _addChunk (chunk) { + this.body = Buffer.concat([this.body, chunk]) + } + + async json () { + return this.statusCode === 204 ? null : JSON.parse(this.body) + } + + async text () { + return this.body.toString() + } +} \ No newline at end of file diff --git a/node_modules/centra/package.json b/node_modules/centra/package.json new file mode 100644 index 00000000..25a0395c --- /dev/null +++ b/node_modules/centra/package.json @@ -0,0 +1,60 @@ +{ + "_from": "centra@^2.4.2", + "_id": "centra@2.4.2", + "_inBundle": false, + "_integrity": "sha512-f1RaP0V1HqVNEXfLfjNBthB2yy3KnSGnPCnOPCFLUk9e/Z4rNJ8nBaJNnghflnp88mi1IT8mfmW+HlMS1/H+bg==", + "_location": "/centra", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "centra@^2.4.2", + "name": "centra", + "escapedName": "centra", + "rawSpec": "^2.4.2", + "saveSpec": null, + "fetchSpec": "^2.4.2" + }, + "_requiredBy": [ + "/phin" + ], + "_resolved": "https://registry.npmjs.org/centra/-/centra-2.4.2.tgz", + "_shasum": "3bad51dbca2250dbecad84598dc7184973f4c4a9", + "_spec": "centra@^2.4.2", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\phin", + "author": { + "name": "Ethan Davis", + "url": "https://ethanent.me" + }, + "bugs": { + "url": "https://github.com/ethanent/centra/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "The core lightweight HTTP client for Node", + "devDependencies": { + "retra": "^1.0.2", + "whew": "^1.1.3" + }, + "homepage": "https://github.com/ethanent/centra", + "keywords": [ + "http", + "https", + "request", + "fetch", + "url", + "lightweight" + ], + "license": "MIT", + "main": "createRequest.js", + "name": "centra", + "repository": { + "type": "git", + "url": "git+https://github.com/ethanent/centra.git" + }, + "scripts": { + "prepublishOnly": "npm test", + "test": "node test.js" + }, + "version": "2.4.2" +} diff --git a/node_modules/commander/CHANGELOG.md b/node_modules/commander/CHANGELOG.md new file mode 100644 index 00000000..7dce779d --- /dev/null +++ b/node_modules/commander/CHANGELOG.md @@ -0,0 +1,419 @@ +2.20.3 / 2019-10-11 +================== + + * Support Node.js 0.10 (Revert #1059) + * Ran "npm unpublish commander@2.20.2". There is no 2.20.2. + +2.20.1 / 2019-09-29 +================== + + * Improve executable subcommand tracking + * Update dev dependencies + +2.20.0 / 2019-04-02 +================== + + * fix: resolve symbolic links completely when hunting for subcommands (#935) + * Update index.d.ts (#930) + * Update Readme.md (#924) + * Remove --save option as it isn't required anymore (#918) + * Add link to the license file (#900) + * Added example of receiving args from options (#858) + * Added missing semicolon (#882) + * Add extension to .eslintrc (#876) + +2.19.0 / 2018-10-02 +================== + + * Removed newline after Options and Commands headers (#864) + * Bugfix - Error output (#862) + * Fix to change default value to string (#856) + +2.18.0 / 2018-09-07 +================== + + * Standardize help output (#853) + * chmod 644 travis.yml (#851) + * add support for execute typescript subcommand via ts-node (#849) + +2.17.1 / 2018-08-07 +================== + + * Fix bug in command emit (#844) + +2.17.0 / 2018-08-03 +================== + + * fixed newline output after help information (#833) + * Fix to emit the action even without command (#778) + * npm update (#823) + +2.16.0 / 2018-06-29 +================== + + * Remove Makefile and `test/run` (#821) + * Make 'npm test' run on Windows (#820) + * Add badge to display install size (#807) + * chore: cache node_modules (#814) + * chore: remove Node.js 4 (EOL), add Node.js 10 (#813) + * fixed typo in readme (#812) + * Fix types (#804) + * Update eslint to resolve vulnerabilities in lodash (#799) + * updated readme with custom event listeners. (#791) + * fix tests (#794) + +2.15.0 / 2018-03-07 +================== + + * Update downloads badge to point to graph of downloads over time instead of duplicating link to npm + * Arguments description + +2.14.1 / 2018-02-07 +================== + + * Fix typing of help function + +2.14.0 / 2018-02-05 +================== + + * only register the option:version event once + * Fixes issue #727: Passing empty string for option on command is set to undefined + * enable eqeqeq rule + * resolves #754 add linter configuration to project + * resolves #560 respect custom name for version option + * document how to override the version flag + * document using options per command + +2.13.0 / 2018-01-09 +================== + + * Do not print default for --no- + * remove trailing spaces in command help + * Update CI's Node.js to LTS and latest version + * typedefs: Command and Option types added to commander namespace + +2.12.2 / 2017-11-28 +================== + + * fix: typings are not shipped + +2.12.1 / 2017-11-23 +================== + + * Move @types/node to dev dependency + +2.12.0 / 2017-11-22 +================== + + * add attributeName() method to Option objects + * Documentation updated for options with --no prefix + * typings: `outputHelp` takes a string as the first parameter + * typings: use overloads + * feat(typings): update to match js api + * Print default value in option help + * Fix translation error + * Fail when using same command and alias (#491) + * feat(typings): add help callback + * fix bug when description is add after command with options (#662) + * Format js code + * Rename History.md to CHANGELOG.md (#668) + * feat(typings): add typings to support TypeScript (#646) + * use current node + +2.11.0 / 2017-07-03 +================== + + * Fix help section order and padding (#652) + * feature: support for signals to subcommands (#632) + * Fixed #37, --help should not display first (#447) + * Fix translation errors. (#570) + * Add package-lock.json + * Remove engines + * Upgrade package version + * Prefix events to prevent conflicts between commands and options (#494) + * Removing dependency on graceful-readlink + * Support setting name in #name function and make it chainable + * Add .vscode directory to .gitignore (Visual Studio Code metadata) + * Updated link to ruby commander in readme files + +2.10.0 / 2017-06-19 +================== + + * Update .travis.yml. drop support for older node.js versions. + * Fix require arguments in README.md + * On SemVer you do not start from 0.0.1 + * Add missing semi colon in readme + * Add save param to npm install + * node v6 travis test + * Update Readme_zh-CN.md + * Allow literal '--' to be passed-through as an argument + * Test subcommand alias help + * link build badge to master branch + * Support the alias of Git style sub-command + * added keyword commander for better search result on npm + * Fix Sub-Subcommands + * test node.js stable + * Fixes TypeError when a command has an option called `--description` + * Update README.md to make it beginner friendly and elaborate on the difference between angled and square brackets. + * Add chinese Readme file + +2.9.0 / 2015-10-13 +================== + + * Add option `isDefault` to set default subcommand #415 @Qix- + * Add callback to allow filtering or post-processing of help text #434 @djulien + * Fix `undefined` text in help information close #414 #416 @zhiyelee + +2.8.1 / 2015-04-22 +================== + + * Back out `support multiline description` Close #396 #397 + +2.8.0 / 2015-04-07 +================== + + * Add `process.execArg` support, execution args like `--harmony` will be passed to sub-commands #387 @DigitalIO @zhiyelee + * Fix bug in Git-style sub-commands #372 @zhiyelee + * Allow commands to be hidden from help #383 @tonylukasavage + * When git-style sub-commands are in use, yet none are called, display help #382 @claylo + * Add ability to specify arguments syntax for top-level command #258 @rrthomas + * Support multiline descriptions #208 @zxqfox + +2.7.1 / 2015-03-11 +================== + + * Revert #347 (fix collisions when option and first arg have same name) which causes a bug in #367. + +2.7.0 / 2015-03-09 +================== + + * Fix git-style bug when installed globally. Close #335 #349 @zhiyelee + * Fix collisions when option and first arg have same name. Close #346 #347 @tonylukasavage + * Add support for camelCase on `opts()`. Close #353 @nkzawa + * Add node.js 0.12 and io.js to travis.yml + * Allow RegEx options. #337 @palanik + * Fixes exit code when sub-command failing. Close #260 #332 @pirelenito + * git-style `bin` files in $PATH make sense. Close #196 #327 @zhiyelee + +2.6.0 / 2014-12-30 +================== + + * added `Command#allowUnknownOption` method. Close #138 #318 @doozr @zhiyelee + * Add application description to the help msg. Close #112 @dalssoft + +2.5.1 / 2014-12-15 +================== + + * fixed two bugs incurred by variadic arguments. Close #291 @Quentin01 #302 @zhiyelee + +2.5.0 / 2014-10-24 +================== + + * add support for variadic arguments. Closes #277 @whitlockjc + +2.4.0 / 2014-10-17 +================== + + * fixed a bug on executing the coercion function of subcommands option. Closes #270 + * added `Command.prototype.name` to retrieve command name. Closes #264 #266 @tonylukasavage + * added `Command.prototype.opts` to retrieve all the options as a simple object of key-value pairs. Closes #262 @tonylukasavage + * fixed a bug on subcommand name. Closes #248 @jonathandelgado + * fixed function normalize doesn’t honor option terminator. Closes #216 @abbr + +2.3.0 / 2014-07-16 +================== + + * add command alias'. Closes PR #210 + * fix: Typos. Closes #99 + * fix: Unused fs module. Closes #217 + +2.2.0 / 2014-03-29 +================== + + * add passing of previous option value + * fix: support subcommands on windows. Closes #142 + * Now the defaultValue passed as the second argument of the coercion function. + +2.1.0 / 2013-11-21 +================== + + * add: allow cflag style option params, unit test, fixes #174 + +2.0.0 / 2013-07-18 +================== + + * remove input methods (.prompt, .confirm, etc) + +1.3.2 / 2013-07-18 +================== + + * add support for sub-commands to co-exist with the original command + +1.3.1 / 2013-07-18 +================== + + * add quick .runningCommand hack so you can opt-out of other logic when running a sub command + +1.3.0 / 2013-07-09 +================== + + * add EACCES error handling + * fix sub-command --help + +1.2.0 / 2013-06-13 +================== + + * allow "-" hyphen as an option argument + * support for RegExp coercion + +1.1.1 / 2012-11-20 +================== + + * add more sub-command padding + * fix .usage() when args are present. Closes #106 + +1.1.0 / 2012-11-16 +================== + + * add git-style executable subcommand support. Closes #94 + +1.0.5 / 2012-10-09 +================== + + * fix `--name` clobbering. Closes #92 + * fix examples/help. Closes #89 + +1.0.4 / 2012-09-03 +================== + + * add `outputHelp()` method. + +1.0.3 / 2012-08-30 +================== + + * remove invalid .version() defaulting + +1.0.2 / 2012-08-24 +================== + + * add `--foo=bar` support [arv] + * fix password on node 0.8.8. Make backward compatible with 0.6 [focusaurus] + +1.0.1 / 2012-08-03 +================== + + * fix issue #56 + * fix tty.setRawMode(mode) was moved to tty.ReadStream#setRawMode() (i.e. process.stdin.setRawMode()) + +1.0.0 / 2012-07-05 +================== + + * add support for optional option descriptions + * add defaulting of `.version()` to package.json's version + +0.6.1 / 2012-06-01 +================== + + * Added: append (yes or no) on confirmation + * Added: allow node.js v0.7.x + +0.6.0 / 2012-04-10 +================== + + * Added `.prompt(obj, callback)` support. Closes #49 + * Added default support to .choose(). Closes #41 + * Fixed the choice example + +0.5.1 / 2011-12-20 +================== + + * Fixed `password()` for recent nodes. Closes #36 + +0.5.0 / 2011-12-04 +================== + + * Added sub-command option support [itay] + +0.4.3 / 2011-12-04 +================== + + * Fixed custom help ordering. Closes #32 + +0.4.2 / 2011-11-24 +================== + + * Added travis support + * Fixed: line-buffered input automatically trimmed. Closes #31 + +0.4.1 / 2011-11-18 +================== + + * Removed listening for "close" on --help + +0.4.0 / 2011-11-15 +================== + + * Added support for `--`. Closes #24 + +0.3.3 / 2011-11-14 +================== + + * Fixed: wait for close event when writing help info [Jerry Hamlet] + +0.3.2 / 2011-11-01 +================== + + * Fixed long flag definitions with values [felixge] + +0.3.1 / 2011-10-31 +================== + + * Changed `--version` short flag to `-V` from `-v` + * Changed `.version()` so it's configurable [felixge] + +0.3.0 / 2011-10-31 +================== + + * Added support for long flags only. Closes #18 + +0.2.1 / 2011-10-24 +================== + + * "node": ">= 0.4.x < 0.7.0". Closes #20 + +0.2.0 / 2011-09-26 +================== + + * Allow for defaults that are not just boolean. Default peassignment only occurs for --no-*, optional, and required arguments. [Jim Isaacs] + +0.1.0 / 2011-08-24 +================== + + * Added support for custom `--help` output + +0.0.5 / 2011-08-18 +================== + + * Changed: when the user enters nothing prompt for password again + * Fixed issue with passwords beginning with numbers [NuckChorris] + +0.0.4 / 2011-08-15 +================== + + * Fixed `Commander#args` + +0.0.3 / 2011-08-15 +================== + + * Added default option value support + +0.0.2 / 2011-08-15 +================== + + * Added mask support to `Command#password(str[, mask], fn)` + * Added `Command#password(str, fn)` + +0.0.1 / 2010-01-03 +================== + + * Initial release diff --git a/node_modules/commander/LICENSE b/node_modules/commander/LICENSE new file mode 100644 index 00000000..10f997ab --- /dev/null +++ b/node_modules/commander/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2011 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/commander/Readme.md b/node_modules/commander/Readme.md new file mode 100644 index 00000000..c846e7a2 --- /dev/null +++ b/node_modules/commander/Readme.md @@ -0,0 +1,428 @@ +# Commander.js + + +[![Build Status](https://api.travis-ci.org/tj/commander.js.svg?branch=master)](http://travis-ci.org/tj/commander.js) +[![NPM Version](http://img.shields.io/npm/v/commander.svg?style=flat)](https://www.npmjs.org/package/commander) +[![NPM Downloads](https://img.shields.io/npm/dm/commander.svg?style=flat)](https://npmcharts.com/compare/commander?minimal=true) +[![Install Size](https://packagephobia.now.sh/badge?p=commander)](https://packagephobia.now.sh/result?p=commander) +[![Join the chat at https://gitter.im/tj/commander.js](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/tj/commander.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + + The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby's [commander](https://github.com/commander-rb/commander). + [API documentation](http://tj.github.com/commander.js/) + + +## Installation + + $ npm install commander + +## Option parsing + +Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options. + +```js +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var program = require('commander'); + +program + .version('0.1.0') + .option('-p, --peppers', 'Add peppers') + .option('-P, --pineapple', 'Add pineapple') + .option('-b, --bbq-sauce', 'Add bbq sauce') + .option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble') + .parse(process.argv); + +console.log('you ordered a pizza with:'); +if (program.peppers) console.log(' - peppers'); +if (program.pineapple) console.log(' - pineapple'); +if (program.bbqSauce) console.log(' - bbq'); +console.log(' - %s cheese', program.cheese); +``` + +Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as "--template-engine" are camel-cased, becoming `program.templateEngine` etc. + +Note that multi-word options starting with `--no` prefix negate the boolean value of the following word. For example, `--no-sauce` sets the value of `program.sauce` to false. + +```js +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var program = require('commander'); + +program + .option('--no-sauce', 'Remove sauce') + .parse(process.argv); + +console.log('you ordered a pizza'); +if (program.sauce) console.log(' with sauce'); +else console.log(' without sauce'); +``` + +To get string arguments from options you will need to use angle brackets <> for required inputs or square brackets [] for optional inputs. + +e.g. ```.option('-m --myarg [myVar]', 'my super cool description')``` + +Then to access the input if it was passed in. + +e.g. ```var myInput = program.myarg``` + +**NOTE**: If you pass a argument without using brackets the example above will return true and not the value passed in. + + +## Version option + +Calling the `version` implicitly adds the `-V` and `--version` options to the command. +When either of these options is present, the command prints the version number and exits. + + $ ./examples/pizza -V + 0.0.1 + +If you want your program to respond to the `-v` option instead of the `-V` option, simply pass custom flags to the `version` method using the same syntax as the `option` method. + +```js +program + .version('0.0.1', '-v, --version') +``` + +The version flags can be named anything, but the long option is required. + +## Command-specific options + +You can attach options to a command. + +```js +#!/usr/bin/env node + +var program = require('commander'); + +program + .command('rm ') + .option('-r, --recursive', 'Remove recursively') + .action(function (dir, cmd) { + console.log('remove ' + dir + (cmd.recursive ? ' recursively' : '')) + }) + +program.parse(process.argv) +``` + +A command's options are validated when the command is used. Any unknown options will be reported as an error. However, if an action-based command does not define an action, then the options are not validated. + +## Coercion + +```js +function range(val) { + return val.split('..').map(Number); +} + +function list(val) { + return val.split(','); +} + +function collect(val, memo) { + memo.push(val); + return memo; +} + +function increaseVerbosity(v, total) { + return total + 1; +} + +program + .version('0.1.0') + .usage('[options] ') + .option('-i, --integer ', 'An integer argument', parseInt) + .option('-f, --float ', 'A float argument', parseFloat) + .option('-r, --range ..', 'A range', range) + .option('-l, --list ', 'A list', list) + .option('-o, --optional [value]', 'An optional value') + .option('-c, --collect [value]', 'A repeatable value', collect, []) + .option('-v, --verbose', 'A value that can be increased', increaseVerbosity, 0) + .parse(process.argv); + +console.log(' int: %j', program.integer); +console.log(' float: %j', program.float); +console.log(' optional: %j', program.optional); +program.range = program.range || []; +console.log(' range: %j..%j', program.range[0], program.range[1]); +console.log(' list: %j', program.list); +console.log(' collect: %j', program.collect); +console.log(' verbosity: %j', program.verbose); +console.log(' args: %j', program.args); +``` + +## Regular Expression +```js +program + .version('0.1.0') + .option('-s --size ', 'Pizza size', /^(large|medium|small)$/i, 'medium') + .option('-d --drink [drink]', 'Drink', /^(coke|pepsi|izze)$/i) + .parse(process.argv); + +console.log(' size: %j', program.size); +console.log(' drink: %j', program.drink); +``` + +## Variadic arguments + + The last argument of a command can be variadic, and only the last argument. To make an argument variadic you have to + append `...` to the argument name. Here is an example: + +```js +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var program = require('commander'); + +program + .version('0.1.0') + .command('rmdir [otherDirs...]') + .action(function (dir, otherDirs) { + console.log('rmdir %s', dir); + if (otherDirs) { + otherDirs.forEach(function (oDir) { + console.log('rmdir %s', oDir); + }); + } + }); + +program.parse(process.argv); +``` + + An `Array` is used for the value of a variadic argument. This applies to `program.args` as well as the argument passed + to your action as demonstrated above. + +## Specify the argument syntax + +```js +#!/usr/bin/env node + +var program = require('commander'); + +program + .version('0.1.0') + .arguments(' [env]') + .action(function (cmd, env) { + cmdValue = cmd; + envValue = env; + }); + +program.parse(process.argv); + +if (typeof cmdValue === 'undefined') { + console.error('no command given!'); + process.exit(1); +} +console.log('command:', cmdValue); +console.log('environment:', envValue || "no environment given"); +``` +Angled brackets (e.g. ``) indicate required input. Square brackets (e.g. `[env]`) indicate optional input. + +## Git-style sub-commands + +```js +// file: ./examples/pm +var program = require('commander'); + +program + .version('0.1.0') + .command('install [name]', 'install one or more packages') + .command('search [query]', 'search with optional query') + .command('list', 'list packages installed', {isDefault: true}) + .parse(process.argv); +``` + +When `.command()` is invoked with a description argument, no `.action(callback)` should be called to handle sub-commands, otherwise there will be an error. This tells commander that you're going to use separate executables for sub-commands, much like `git(1)` and other popular tools. +The commander will try to search the executables in the directory of the entry script (like `./examples/pm`) with the name `program-command`, like `pm-install`, `pm-search`. + +Options can be passed with the call to `.command()`. Specifying `true` for `opts.noHelp` will remove the subcommand from the generated help output. Specifying `true` for `opts.isDefault` will run the subcommand if no other subcommand is specified. + +If the program is designed to be installed globally, make sure the executables have proper modes, like `755`. + +### `--harmony` + +You can enable `--harmony` option in two ways: +* Use `#! /usr/bin/env node --harmony` in the sub-commands scripts. Note some os version don’t support this pattern. +* Use the `--harmony` option when call the command, like `node --harmony examples/pm publish`. The `--harmony` option will be preserved when spawning sub-command process. + +## Automated --help + + The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free: + +``` +$ ./examples/pizza --help +Usage: pizza [options] + +An application for pizzas ordering + +Options: + -h, --help output usage information + -V, --version output the version number + -p, --peppers Add peppers + -P, --pineapple Add pineapple + -b, --bbq Add bbq sauce + -c, --cheese Add the specified type of cheese [marble] + -C, --no-cheese You do not want any cheese +``` + +## Custom help + + You can display arbitrary `-h, --help` information + by listening for "--help". Commander will automatically + exit once you are done so that the remainder of your program + does not execute causing undesired behaviors, for example + in the following executable "stuff" will not output when + `--help` is used. + +```js +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var program = require('commander'); + +program + .version('0.1.0') + .option('-f, --foo', 'enable some foo') + .option('-b, --bar', 'enable some bar') + .option('-B, --baz', 'enable some baz'); + +// must be before .parse() since +// node's emit() is immediate + +program.on('--help', function(){ + console.log('') + console.log('Examples:'); + console.log(' $ custom-help --help'); + console.log(' $ custom-help -h'); +}); + +program.parse(process.argv); + +console.log('stuff'); +``` + +Yields the following help output when `node script-name.js -h` or `node script-name.js --help` are run: + +``` +Usage: custom-help [options] + +Options: + -h, --help output usage information + -V, --version output the version number + -f, --foo enable some foo + -b, --bar enable some bar + -B, --baz enable some baz + +Examples: + $ custom-help --help + $ custom-help -h +``` + +## .outputHelp(cb) + +Output help information without exiting. +Optional callback cb allows post-processing of help text before it is displayed. + +If you want to display help by default (e.g. if no command was provided), you can use something like: + +```js +var program = require('commander'); +var colors = require('colors'); + +program + .version('0.1.0') + .command('getstream [url]', 'get stream URL') + .parse(process.argv); + +if (!process.argv.slice(2).length) { + program.outputHelp(make_red); +} + +function make_red(txt) { + return colors.red(txt); //display the help text in red on the console +} +``` + +## .help(cb) + + Output help information and exit immediately. + Optional callback cb allows post-processing of help text before it is displayed. + + +## Custom event listeners + You can execute custom actions by listening to command and option events. + +```js +program.on('option:verbose', function () { + process.env.VERBOSE = this.verbose; +}); + +// error on unknown commands +program.on('command:*', function () { + console.error('Invalid command: %s\nSee --help for a list of available commands.', program.args.join(' ')); + process.exit(1); +}); +``` + +## Examples + +```js +var program = require('commander'); + +program + .version('0.1.0') + .option('-C, --chdir ', 'change the working directory') + .option('-c, --config ', 'set config path. defaults to ./deploy.conf') + .option('-T, --no-tests', 'ignore test hook'); + +program + .command('setup [env]') + .description('run setup commands for all envs') + .option("-s, --setup_mode [mode]", "Which setup mode to use") + .action(function(env, options){ + var mode = options.setup_mode || "normal"; + env = env || 'all'; + console.log('setup for %s env(s) with %s mode', env, mode); + }); + +program + .command('exec ') + .alias('ex') + .description('execute the given remote cmd') + .option("-e, --exec_mode ", "Which exec mode to use") + .action(function(cmd, options){ + console.log('exec "%s" using %s mode', cmd, options.exec_mode); + }).on('--help', function() { + console.log(''); + console.log('Examples:'); + console.log(''); + console.log(' $ deploy exec sequential'); + console.log(' $ deploy exec async'); + }); + +program + .command('*') + .action(function(env){ + console.log('deploying "%s"', env); + }); + +program.parse(process.argv); +``` + +More Demos can be found in the [examples](https://github.com/tj/commander.js/tree/master/examples) directory. + +## License + +[MIT](https://github.com/tj/commander.js/blob/master/LICENSE) diff --git a/node_modules/commander/index.js b/node_modules/commander/index.js new file mode 100644 index 00000000..ec1d61d5 --- /dev/null +++ b/node_modules/commander/index.js @@ -0,0 +1,1224 @@ +/** + * Module dependencies. + */ + +var EventEmitter = require('events').EventEmitter; +var spawn = require('child_process').spawn; +var path = require('path'); +var dirname = path.dirname; +var basename = path.basename; +var fs = require('fs'); + +/** + * Inherit `Command` from `EventEmitter.prototype`. + */ + +require('util').inherits(Command, EventEmitter); + +/** + * Expose the root command. + */ + +exports = module.exports = new Command(); + +/** + * Expose `Command`. + */ + +exports.Command = Command; + +/** + * Expose `Option`. + */ + +exports.Option = Option; + +/** + * Initialize a new `Option` with the given `flags` and `description`. + * + * @param {String} flags + * @param {String} description + * @api public + */ + +function Option(flags, description) { + this.flags = flags; + this.required = flags.indexOf('<') >= 0; + this.optional = flags.indexOf('[') >= 0; + this.bool = flags.indexOf('-no-') === -1; + flags = flags.split(/[ ,|]+/); + if (flags.length > 1 && !/^[[<]/.test(flags[1])) this.short = flags.shift(); + this.long = flags.shift(); + this.description = description || ''; +} + +/** + * Return option name. + * + * @return {String} + * @api private + */ + +Option.prototype.name = function() { + return this.long + .replace('--', '') + .replace('no-', ''); +}; + +/** + * Return option name, in a camelcase format that can be used + * as a object attribute key. + * + * @return {String} + * @api private + */ + +Option.prototype.attributeName = function() { + return camelcase(this.name()); +}; + +/** + * Check if `arg` matches the short or long flag. + * + * @param {String} arg + * @return {Boolean} + * @api private + */ + +Option.prototype.is = function(arg) { + return this.short === arg || this.long === arg; +}; + +/** + * Initialize a new `Command`. + * + * @param {String} name + * @api public + */ + +function Command(name) { + this.commands = []; + this.options = []; + this._execs = {}; + this._allowUnknownOption = false; + this._args = []; + this._name = name || ''; +} + +/** + * Add command `name`. + * + * The `.action()` callback is invoked when the + * command `name` is specified via __ARGV__, + * and the remaining arguments are applied to the + * function for access. + * + * When the `name` is "*" an un-matched command + * will be passed as the first arg, followed by + * the rest of __ARGV__ remaining. + * + * Examples: + * + * program + * .version('0.0.1') + * .option('-C, --chdir ', 'change the working directory') + * .option('-c, --config ', 'set config path. defaults to ./deploy.conf') + * .option('-T, --no-tests', 'ignore test hook') + * + * program + * .command('setup') + * .description('run remote setup commands') + * .action(function() { + * console.log('setup'); + * }); + * + * program + * .command('exec ') + * .description('run the given remote command') + * .action(function(cmd) { + * console.log('exec "%s"', cmd); + * }); + * + * program + * .command('teardown [otherDirs...]') + * .description('run teardown commands') + * .action(function(dir, otherDirs) { + * console.log('dir "%s"', dir); + * if (otherDirs) { + * otherDirs.forEach(function (oDir) { + * console.log('dir "%s"', oDir); + * }); + * } + * }); + * + * program + * .command('*') + * .description('deploy the given env') + * .action(function(env) { + * console.log('deploying "%s"', env); + * }); + * + * program.parse(process.argv); + * + * @param {String} name + * @param {String} [desc] for git-style sub-commands + * @return {Command} the new command + * @api public + */ + +Command.prototype.command = function(name, desc, opts) { + if (typeof desc === 'object' && desc !== null) { + opts = desc; + desc = null; + } + opts = opts || {}; + var args = name.split(/ +/); + var cmd = new Command(args.shift()); + + if (desc) { + cmd.description(desc); + this.executables = true; + this._execs[cmd._name] = true; + if (opts.isDefault) this.defaultExecutable = cmd._name; + } + cmd._noHelp = !!opts.noHelp; + this.commands.push(cmd); + cmd.parseExpectedArgs(args); + cmd.parent = this; + + if (desc) return this; + return cmd; +}; + +/** + * Define argument syntax for the top-level command. + * + * @api public + */ + +Command.prototype.arguments = function(desc) { + return this.parseExpectedArgs(desc.split(/ +/)); +}; + +/** + * Add an implicit `help [cmd]` subcommand + * which invokes `--help` for the given command. + * + * @api private + */ + +Command.prototype.addImplicitHelpCommand = function() { + this.command('help [cmd]', 'display help for [cmd]'); +}; + +/** + * Parse expected `args`. + * + * For example `["[type]"]` becomes `[{ required: false, name: 'type' }]`. + * + * @param {Array} args + * @return {Command} for chaining + * @api public + */ + +Command.prototype.parseExpectedArgs = function(args) { + if (!args.length) return; + var self = this; + args.forEach(function(arg) { + var argDetails = { + required: false, + name: '', + variadic: false + }; + + switch (arg[0]) { + case '<': + argDetails.required = true; + argDetails.name = arg.slice(1, -1); + break; + case '[': + argDetails.name = arg.slice(1, -1); + break; + } + + if (argDetails.name.length > 3 && argDetails.name.slice(-3) === '...') { + argDetails.variadic = true; + argDetails.name = argDetails.name.slice(0, -3); + } + if (argDetails.name) { + self._args.push(argDetails); + } + }); + return this; +}; + +/** + * Register callback `fn` for the command. + * + * Examples: + * + * program + * .command('help') + * .description('display verbose help') + * .action(function() { + * // output help here + * }); + * + * @param {Function} fn + * @return {Command} for chaining + * @api public + */ + +Command.prototype.action = function(fn) { + var self = this; + var listener = function(args, unknown) { + // Parse any so-far unknown options + args = args || []; + unknown = unknown || []; + + var parsed = self.parseOptions(unknown); + + // Output help if necessary + outputHelpIfNecessary(self, parsed.unknown); + + // If there are still any unknown options, then we simply + // die, unless someone asked for help, in which case we give it + // to them, and then we die. + if (parsed.unknown.length > 0) { + self.unknownOption(parsed.unknown[0]); + } + + // Leftover arguments need to be pushed back. Fixes issue #56 + if (parsed.args.length) args = parsed.args.concat(args); + + self._args.forEach(function(arg, i) { + if (arg.required && args[i] == null) { + self.missingArgument(arg.name); + } else if (arg.variadic) { + if (i !== self._args.length - 1) { + self.variadicArgNotLast(arg.name); + } + + args[i] = args.splice(i); + } + }); + + // Always append ourselves to the end of the arguments, + // to make sure we match the number of arguments the user + // expects + if (self._args.length) { + args[self._args.length] = self; + } else { + args.push(self); + } + + fn.apply(self, args); + }; + var parent = this.parent || this; + var name = parent === this ? '*' : this._name; + parent.on('command:' + name, listener); + if (this._alias) parent.on('command:' + this._alias, listener); + return this; +}; + +/** + * Define option with `flags`, `description` and optional + * coercion `fn`. + * + * The `flags` string should contain both the short and long flags, + * separated by comma, a pipe or space. The following are all valid + * all will output this way when `--help` is used. + * + * "-p, --pepper" + * "-p|--pepper" + * "-p --pepper" + * + * Examples: + * + * // simple boolean defaulting to false + * program.option('-p, --pepper', 'add pepper'); + * + * --pepper + * program.pepper + * // => Boolean + * + * // simple boolean defaulting to true + * program.option('-C, --no-cheese', 'remove cheese'); + * + * program.cheese + * // => true + * + * --no-cheese + * program.cheese + * // => false + * + * // required argument + * program.option('-C, --chdir ', 'change the working directory'); + * + * --chdir /tmp + * program.chdir + * // => "/tmp" + * + * // optional argument + * program.option('-c, --cheese [type]', 'add cheese [marble]'); + * + * @param {String} flags + * @param {String} description + * @param {Function|*} [fn] or default + * @param {*} [defaultValue] + * @return {Command} for chaining + * @api public + */ + +Command.prototype.option = function(flags, description, fn, defaultValue) { + var self = this, + option = new Option(flags, description), + oname = option.name(), + name = option.attributeName(); + + // default as 3rd arg + if (typeof fn !== 'function') { + if (fn instanceof RegExp) { + var regex = fn; + fn = function(val, def) { + var m = regex.exec(val); + return m ? m[0] : def; + }; + } else { + defaultValue = fn; + fn = null; + } + } + + // preassign default value only for --no-*, [optional], or + if (!option.bool || option.optional || option.required) { + // when --no-* we make sure default is true + if (!option.bool) defaultValue = true; + // preassign only if we have a default + if (defaultValue !== undefined) { + self[name] = defaultValue; + option.defaultValue = defaultValue; + } + } + + // register the option + this.options.push(option); + + // when it's passed assign the value + // and conditionally invoke the callback + this.on('option:' + oname, function(val) { + // coercion + if (val !== null && fn) { + val = fn(val, self[name] === undefined ? defaultValue : self[name]); + } + + // unassigned or bool + if (typeof self[name] === 'boolean' || typeof self[name] === 'undefined') { + // if no value, bool true, and we have a default, then use it! + if (val == null) { + self[name] = option.bool + ? defaultValue || true + : false; + } else { + self[name] = val; + } + } else if (val !== null) { + // reassign + self[name] = val; + } + }); + + return this; +}; + +/** + * Allow unknown options on the command line. + * + * @param {Boolean} arg if `true` or omitted, no error will be thrown + * for unknown options. + * @api public + */ +Command.prototype.allowUnknownOption = function(arg) { + this._allowUnknownOption = arguments.length === 0 || arg; + return this; +}; + +/** + * Parse `argv`, settings options and invoking commands when defined. + * + * @param {Array} argv + * @return {Command} for chaining + * @api public + */ + +Command.prototype.parse = function(argv) { + // implicit help + if (this.executables) this.addImplicitHelpCommand(); + + // store raw args + this.rawArgs = argv; + + // guess name + this._name = this._name || basename(argv[1], '.js'); + + // github-style sub-commands with no sub-command + if (this.executables && argv.length < 3 && !this.defaultExecutable) { + // this user needs help + argv.push('--help'); + } + + // process argv + var parsed = this.parseOptions(this.normalize(argv.slice(2))); + var args = this.args = parsed.args; + + var result = this.parseArgs(this.args, parsed.unknown); + + // executable sub-commands + var name = result.args[0]; + + var aliasCommand = null; + // check alias of sub commands + if (name) { + aliasCommand = this.commands.filter(function(command) { + return command.alias() === name; + })[0]; + } + + if (this._execs[name] === true) { + return this.executeSubCommand(argv, args, parsed.unknown); + } else if (aliasCommand) { + // is alias of a subCommand + args[0] = aliasCommand._name; + return this.executeSubCommand(argv, args, parsed.unknown); + } else if (this.defaultExecutable) { + // use the default subcommand + args.unshift(this.defaultExecutable); + return this.executeSubCommand(argv, args, parsed.unknown); + } + + return result; +}; + +/** + * Execute a sub-command executable. + * + * @param {Array} argv + * @param {Array} args + * @param {Array} unknown + * @api private + */ + +Command.prototype.executeSubCommand = function(argv, args, unknown) { + args = args.concat(unknown); + + if (!args.length) this.help(); + if (args[0] === 'help' && args.length === 1) this.help(); + + // --help + if (args[0] === 'help') { + args[0] = args[1]; + args[1] = '--help'; + } + + // executable + var f = argv[1]; + // name of the subcommand, link `pm-install` + var bin = basename(f, path.extname(f)) + '-' + args[0]; + + // In case of globally installed, get the base dir where executable + // subcommand file should be located at + var baseDir; + + var resolvedLink = fs.realpathSync(f); + + baseDir = dirname(resolvedLink); + + // prefer local `./` to bin in the $PATH + var localBin = path.join(baseDir, bin); + + // whether bin file is a js script with explicit `.js` or `.ts` extension + var isExplicitJS = false; + if (exists(localBin + '.js')) { + bin = localBin + '.js'; + isExplicitJS = true; + } else if (exists(localBin + '.ts')) { + bin = localBin + '.ts'; + isExplicitJS = true; + } else if (exists(localBin)) { + bin = localBin; + } + + args = args.slice(1); + + var proc; + if (process.platform !== 'win32') { + if (isExplicitJS) { + args.unshift(bin); + // add executable arguments to spawn + args = (process.execArgv || []).concat(args); + + proc = spawn(process.argv[0], args, { stdio: 'inherit', customFds: [0, 1, 2] }); + } else { + proc = spawn(bin, args, { stdio: 'inherit', customFds: [0, 1, 2] }); + } + } else { + args.unshift(bin); + proc = spawn(process.execPath, args, { stdio: 'inherit' }); + } + + var signals = ['SIGUSR1', 'SIGUSR2', 'SIGTERM', 'SIGINT', 'SIGHUP']; + signals.forEach(function(signal) { + process.on(signal, function() { + if (proc.killed === false && proc.exitCode === null) { + proc.kill(signal); + } + }); + }); + proc.on('close', process.exit.bind(process)); + proc.on('error', function(err) { + if (err.code === 'ENOENT') { + console.error('error: %s(1) does not exist, try --help', bin); + } else if (err.code === 'EACCES') { + console.error('error: %s(1) not executable. try chmod or run with root', bin); + } + process.exit(1); + }); + + // Store the reference to the child process + this.runningCommand = proc; +}; + +/** + * Normalize `args`, splitting joined short flags. For example + * the arg "-abc" is equivalent to "-a -b -c". + * This also normalizes equal sign and splits "--abc=def" into "--abc def". + * + * @param {Array} args + * @return {Array} + * @api private + */ + +Command.prototype.normalize = function(args) { + var ret = [], + arg, + lastOpt, + index; + + for (var i = 0, len = args.length; i < len; ++i) { + arg = args[i]; + if (i > 0) { + lastOpt = this.optionFor(args[i - 1]); + } + + if (arg === '--') { + // Honor option terminator + ret = ret.concat(args.slice(i)); + break; + } else if (lastOpt && lastOpt.required) { + ret.push(arg); + } else if (arg.length > 1 && arg[0] === '-' && arg[1] !== '-') { + arg.slice(1).split('').forEach(function(c) { + ret.push('-' + c); + }); + } else if (/^--/.test(arg) && ~(index = arg.indexOf('='))) { + ret.push(arg.slice(0, index), arg.slice(index + 1)); + } else { + ret.push(arg); + } + } + + return ret; +}; + +/** + * Parse command `args`. + * + * When listener(s) are available those + * callbacks are invoked, otherwise the "*" + * event is emitted and those actions are invoked. + * + * @param {Array} args + * @return {Command} for chaining + * @api private + */ + +Command.prototype.parseArgs = function(args, unknown) { + var name; + + if (args.length) { + name = args[0]; + if (this.listeners('command:' + name).length) { + this.emit('command:' + args.shift(), args, unknown); + } else { + this.emit('command:*', args); + } + } else { + outputHelpIfNecessary(this, unknown); + + // If there were no args and we have unknown options, + // then they are extraneous and we need to error. + if (unknown.length > 0) { + this.unknownOption(unknown[0]); + } + if (this.commands.length === 0 && + this._args.filter(function(a) { return a.required; }).length === 0) { + this.emit('command:*'); + } + } + + return this; +}; + +/** + * Return an option matching `arg` if any. + * + * @param {String} arg + * @return {Option} + * @api private + */ + +Command.prototype.optionFor = function(arg) { + for (var i = 0, len = this.options.length; i < len; ++i) { + if (this.options[i].is(arg)) { + return this.options[i]; + } + } +}; + +/** + * Parse options from `argv` returning `argv` + * void of these options. + * + * @param {Array} argv + * @return {Array} + * @api public + */ + +Command.prototype.parseOptions = function(argv) { + var args = [], + len = argv.length, + literal, + option, + arg; + + var unknownOptions = []; + + // parse options + for (var i = 0; i < len; ++i) { + arg = argv[i]; + + // literal args after -- + if (literal) { + args.push(arg); + continue; + } + + if (arg === '--') { + literal = true; + continue; + } + + // find matching Option + option = this.optionFor(arg); + + // option is defined + if (option) { + // requires arg + if (option.required) { + arg = argv[++i]; + if (arg == null) return this.optionMissingArgument(option); + this.emit('option:' + option.name(), arg); + // optional arg + } else if (option.optional) { + arg = argv[i + 1]; + if (arg == null || (arg[0] === '-' && arg !== '-')) { + arg = null; + } else { + ++i; + } + this.emit('option:' + option.name(), arg); + // bool + } else { + this.emit('option:' + option.name()); + } + continue; + } + + // looks like an option + if (arg.length > 1 && arg[0] === '-') { + unknownOptions.push(arg); + + // If the next argument looks like it might be + // an argument for this option, we pass it on. + // If it isn't, then it'll simply be ignored + if ((i + 1) < argv.length && argv[i + 1][0] !== '-') { + unknownOptions.push(argv[++i]); + } + continue; + } + + // arg + args.push(arg); + } + + return { args: args, unknown: unknownOptions }; +}; + +/** + * Return an object containing options as key-value pairs + * + * @return {Object} + * @api public + */ +Command.prototype.opts = function() { + var result = {}, + len = this.options.length; + + for (var i = 0; i < len; i++) { + var key = this.options[i].attributeName(); + result[key] = key === this._versionOptionName ? this._version : this[key]; + } + return result; +}; + +/** + * Argument `name` is missing. + * + * @param {String} name + * @api private + */ + +Command.prototype.missingArgument = function(name) { + console.error("error: missing required argument `%s'", name); + process.exit(1); +}; + +/** + * `Option` is missing an argument, but received `flag` or nothing. + * + * @param {String} option + * @param {String} flag + * @api private + */ + +Command.prototype.optionMissingArgument = function(option, flag) { + if (flag) { + console.error("error: option `%s' argument missing, got `%s'", option.flags, flag); + } else { + console.error("error: option `%s' argument missing", option.flags); + } + process.exit(1); +}; + +/** + * Unknown option `flag`. + * + * @param {String} flag + * @api private + */ + +Command.prototype.unknownOption = function(flag) { + if (this._allowUnknownOption) return; + console.error("error: unknown option `%s'", flag); + process.exit(1); +}; + +/** + * Variadic argument with `name` is not the last argument as required. + * + * @param {String} name + * @api private + */ + +Command.prototype.variadicArgNotLast = function(name) { + console.error("error: variadic arguments must be last `%s'", name); + process.exit(1); +}; + +/** + * Set the program version to `str`. + * + * This method auto-registers the "-V, --version" flag + * which will print the version number when passed. + * + * @param {String} str + * @param {String} [flags] + * @return {Command} for chaining + * @api public + */ + +Command.prototype.version = function(str, flags) { + if (arguments.length === 0) return this._version; + this._version = str; + flags = flags || '-V, --version'; + var versionOption = new Option(flags, 'output the version number'); + this._versionOptionName = versionOption.long.substr(2) || 'version'; + this.options.push(versionOption); + this.on('option:' + this._versionOptionName, function() { + process.stdout.write(str + '\n'); + process.exit(0); + }); + return this; +}; + +/** + * Set the description to `str`. + * + * @param {String} str + * @param {Object} argsDescription + * @return {String|Command} + * @api public + */ + +Command.prototype.description = function(str, argsDescription) { + if (arguments.length === 0) return this._description; + this._description = str; + this._argsDescription = argsDescription; + return this; +}; + +/** + * Set an alias for the command + * + * @param {String} alias + * @return {String|Command} + * @api public + */ + +Command.prototype.alias = function(alias) { + var command = this; + if (this.commands.length !== 0) { + command = this.commands[this.commands.length - 1]; + } + + if (arguments.length === 0) return command._alias; + + if (alias === command._name) throw new Error('Command alias can\'t be the same as its name'); + + command._alias = alias; + return this; +}; + +/** + * Set / get the command usage `str`. + * + * @param {String} str + * @return {String|Command} + * @api public + */ + +Command.prototype.usage = function(str) { + var args = this._args.map(function(arg) { + return humanReadableArgName(arg); + }); + + var usage = '[options]' + + (this.commands.length ? ' [command]' : '') + + (this._args.length ? ' ' + args.join(' ') : ''); + + if (arguments.length === 0) return this._usage || usage; + this._usage = str; + + return this; +}; + +/** + * Get or set the name of the command + * + * @param {String} str + * @return {String|Command} + * @api public + */ + +Command.prototype.name = function(str) { + if (arguments.length === 0) return this._name; + this._name = str; + return this; +}; + +/** + * Return prepared commands. + * + * @return {Array} + * @api private + */ + +Command.prototype.prepareCommands = function() { + return this.commands.filter(function(cmd) { + return !cmd._noHelp; + }).map(function(cmd) { + var args = cmd._args.map(function(arg) { + return humanReadableArgName(arg); + }).join(' '); + + return [ + cmd._name + + (cmd._alias ? '|' + cmd._alias : '') + + (cmd.options.length ? ' [options]' : '') + + (args ? ' ' + args : ''), + cmd._description + ]; + }); +}; + +/** + * Return the largest command length. + * + * @return {Number} + * @api private + */ + +Command.prototype.largestCommandLength = function() { + var commands = this.prepareCommands(); + return commands.reduce(function(max, command) { + return Math.max(max, command[0].length); + }, 0); +}; + +/** + * Return the largest option length. + * + * @return {Number} + * @api private + */ + +Command.prototype.largestOptionLength = function() { + var options = [].slice.call(this.options); + options.push({ + flags: '-h, --help' + }); + return options.reduce(function(max, option) { + return Math.max(max, option.flags.length); + }, 0); +}; + +/** + * Return the largest arg length. + * + * @return {Number} + * @api private + */ + +Command.prototype.largestArgLength = function() { + return this._args.reduce(function(max, arg) { + return Math.max(max, arg.name.length); + }, 0); +}; + +/** + * Return the pad width. + * + * @return {Number} + * @api private + */ + +Command.prototype.padWidth = function() { + var width = this.largestOptionLength(); + if (this._argsDescription && this._args.length) { + if (this.largestArgLength() > width) { + width = this.largestArgLength(); + } + } + + if (this.commands && this.commands.length) { + if (this.largestCommandLength() > width) { + width = this.largestCommandLength(); + } + } + + return width; +}; + +/** + * Return help for options. + * + * @return {String} + * @api private + */ + +Command.prototype.optionHelp = function() { + var width = this.padWidth(); + + // Append the help information + return this.options.map(function(option) { + return pad(option.flags, width) + ' ' + option.description + + ((option.bool && option.defaultValue !== undefined) ? ' (default: ' + JSON.stringify(option.defaultValue) + ')' : ''); + }).concat([pad('-h, --help', width) + ' ' + 'output usage information']) + .join('\n'); +}; + +/** + * Return command help documentation. + * + * @return {String} + * @api private + */ + +Command.prototype.commandHelp = function() { + if (!this.commands.length) return ''; + + var commands = this.prepareCommands(); + var width = this.padWidth(); + + return [ + 'Commands:', + commands.map(function(cmd) { + var desc = cmd[1] ? ' ' + cmd[1] : ''; + return (desc ? pad(cmd[0], width) : cmd[0]) + desc; + }).join('\n').replace(/^/gm, ' '), + '' + ].join('\n'); +}; + +/** + * Return program help documentation. + * + * @return {String} + * @api private + */ + +Command.prototype.helpInformation = function() { + var desc = []; + if (this._description) { + desc = [ + this._description, + '' + ]; + + var argsDescription = this._argsDescription; + if (argsDescription && this._args.length) { + var width = this.padWidth(); + desc.push('Arguments:'); + desc.push(''); + this._args.forEach(function(arg) { + desc.push(' ' + pad(arg.name, width) + ' ' + argsDescription[arg.name]); + }); + desc.push(''); + } + } + + var cmdName = this._name; + if (this._alias) { + cmdName = cmdName + '|' + this._alias; + } + var usage = [ + 'Usage: ' + cmdName + ' ' + this.usage(), + '' + ]; + + var cmds = []; + var commandHelp = this.commandHelp(); + if (commandHelp) cmds = [commandHelp]; + + var options = [ + 'Options:', + '' + this.optionHelp().replace(/^/gm, ' '), + '' + ]; + + return usage + .concat(desc) + .concat(options) + .concat(cmds) + .join('\n'); +}; + +/** + * Output help information for this command + * + * @api public + */ + +Command.prototype.outputHelp = function(cb) { + if (!cb) { + cb = function(passthru) { + return passthru; + }; + } + process.stdout.write(cb(this.helpInformation())); + this.emit('--help'); +}; + +/** + * Output help information and exit. + * + * @api public + */ + +Command.prototype.help = function(cb) { + this.outputHelp(cb); + process.exit(); +}; + +/** + * Camel-case the given `flag` + * + * @param {String} flag + * @return {String} + * @api private + */ + +function camelcase(flag) { + return flag.split('-').reduce(function(str, word) { + return str + word[0].toUpperCase() + word.slice(1); + }); +} + +/** + * Pad `str` to `width`. + * + * @param {String} str + * @param {Number} width + * @return {String} + * @api private + */ + +function pad(str, width) { + var len = Math.max(0, width - str.length); + return str + Array(len + 1).join(' '); +} + +/** + * Output help information if necessary + * + * @param {Command} command to output help for + * @param {Array} array of options to search for -h or --help + * @api private + */ + +function outputHelpIfNecessary(cmd, options) { + options = options || []; + for (var i = 0; i < options.length; i++) { + if (options[i] === '--help' || options[i] === '-h') { + cmd.outputHelp(); + process.exit(0); + } + } +} + +/** + * Takes an argument an returns its human readable equivalent for help usage. + * + * @param {Object} arg + * @return {String} + * @api private + */ + +function humanReadableArgName(arg) { + var nameOutput = arg.name + (arg.variadic === true ? '...' : ''); + + return arg.required + ? '<' + nameOutput + '>' + : '[' + nameOutput + ']'; +} + +// for versions before node v0.8 when there weren't `fs.existsSync` +function exists(file) { + try { + if (fs.statSync(file).isFile()) { + return true; + } + } catch (e) { + return false; + } +} diff --git a/node_modules/commander/package.json b/node_modules/commander/package.json new file mode 100644 index 00000000..ed999fe4 --- /dev/null +++ b/node_modules/commander/package.json @@ -0,0 +1,70 @@ +{ + "_from": "commander@^2.19.0", + "_id": "commander@2.20.3", + "_inBundle": false, + "_integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "_location": "/commander", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "commander@^2.19.0", + "name": "commander", + "escapedName": "commander", + "rawSpec": "^2.19.0", + "saveSpec": null, + "fetchSpec": "^2.19.0" + }, + "_requiredBy": [ + "/nearley" + ], + "_resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "_shasum": "fd485e84c03eb4881c20722ba48035e8531aeb33", + "_spec": "commander@^2.19.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\nearley", + "author": { + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca" + }, + "bugs": { + "url": "https://github.com/tj/commander.js/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "the complete solution for node.js command-line programs", + "devDependencies": { + "@types/node": "^12.7.8", + "eslint": "^6.4.0", + "should": "^13.2.3", + "sinon": "^7.5.0", + "standard": "^14.3.1", + "ts-node": "^8.4.1", + "typescript": "^3.6.3" + }, + "files": [ + "index.js", + "typings/index.d.ts" + ], + "homepage": "https://github.com/tj/commander.js#readme", + "keywords": [ + "commander", + "command", + "option", + "parser" + ], + "license": "MIT", + "main": "index", + "name": "commander", + "repository": { + "type": "git", + "url": "git+https://github.com/tj/commander.js.git" + }, + "scripts": { + "lint": "eslint index.js", + "test": "node test/run.js && npm run test-typings", + "test-typings": "tsc -p tsconfig.json" + }, + "typings": "typings/index.d.ts", + "version": "2.20.3" +} diff --git a/node_modules/commander/typings/index.d.ts b/node_modules/commander/typings/index.d.ts new file mode 100644 index 00000000..bcda2771 --- /dev/null +++ b/node_modules/commander/typings/index.d.ts @@ -0,0 +1,310 @@ +// Type definitions for commander 2.11 +// Project: https://github.com/visionmedia/commander.js +// Definitions by: Alan Agius , Marcelo Dezem , vvakame , Jules Randolph +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare namespace local { + + class Option { + flags: string; + required: boolean; + optional: boolean; + bool: boolean; + short?: string; + long: string; + description: string; + + /** + * Initialize a new `Option` with the given `flags` and `description`. + * + * @param {string} flags + * @param {string} [description] + */ + constructor(flags: string, description?: string); + } + + class Command extends NodeJS.EventEmitter { + [key: string]: any; + + args: string[]; + + /** + * Initialize a new `Command`. + * + * @param {string} [name] + */ + constructor(name?: string); + + /** + * Set the program version to `str`. + * + * This method auto-registers the "-V, --version" flag + * which will print the version number when passed. + * + * @param {string} str + * @param {string} [flags] + * @returns {Command} for chaining + */ + version(str: string, flags?: string): Command; + + /** + * Add command `name`. + * + * The `.action()` callback is invoked when the + * command `name` is specified via __ARGV__, + * and the remaining arguments are applied to the + * function for access. + * + * When the `name` is "*" an un-matched command + * will be passed as the first arg, followed by + * the rest of __ARGV__ remaining. + * + * @example + * program + * .version('0.0.1') + * .option('-C, --chdir ', 'change the working directory') + * .option('-c, --config ', 'set config path. defaults to ./deploy.conf') + * .option('-T, --no-tests', 'ignore test hook') + * + * program + * .command('setup') + * .description('run remote setup commands') + * .action(function() { + * console.log('setup'); + * }); + * + * program + * .command('exec ') + * .description('run the given remote command') + * .action(function(cmd) { + * console.log('exec "%s"', cmd); + * }); + * + * program + * .command('teardown [otherDirs...]') + * .description('run teardown commands') + * .action(function(dir, otherDirs) { + * console.log('dir "%s"', dir); + * if (otherDirs) { + * otherDirs.forEach(function (oDir) { + * console.log('dir "%s"', oDir); + * }); + * } + * }); + * + * program + * .command('*') + * .description('deploy the given env') + * .action(function(env) { + * console.log('deploying "%s"', env); + * }); + * + * program.parse(process.argv); + * + * @param {string} name + * @param {string} [desc] for git-style sub-commands + * @param {CommandOptions} [opts] command options + * @returns {Command} the new command + */ + command(name: string, desc?: string, opts?: commander.CommandOptions): Command; + + /** + * Define argument syntax for the top-level command. + * + * @param {string} desc + * @returns {Command} for chaining + */ + arguments(desc: string): Command; + + /** + * Parse expected `args`. + * + * For example `["[type]"]` becomes `[{ required: false, name: 'type' }]`. + * + * @param {string[]} args + * @returns {Command} for chaining + */ + parseExpectedArgs(args: string[]): Command; + + /** + * Register callback `fn` for the command. + * + * @example + * program + * .command('help') + * .description('display verbose help') + * .action(function() { + * // output help here + * }); + * + * @param {(...args: any[]) => void} fn + * @returns {Command} for chaining + */ + action(fn: (...args: any[]) => void): Command; + + /** + * Define option with `flags`, `description` and optional + * coercion `fn`. + * + * The `flags` string should contain both the short and long flags, + * separated by comma, a pipe or space. The following are all valid + * all will output this way when `--help` is used. + * + * "-p, --pepper" + * "-p|--pepper" + * "-p --pepper" + * + * @example + * // simple boolean defaulting to false + * program.option('-p, --pepper', 'add pepper'); + * + * --pepper + * program.pepper + * // => Boolean + * + * // simple boolean defaulting to true + * program.option('-C, --no-cheese', 'remove cheese'); + * + * program.cheese + * // => true + * + * --no-cheese + * program.cheese + * // => false + * + * // required argument + * program.option('-C, --chdir ', 'change the working directory'); + * + * --chdir /tmp + * program.chdir + * // => "/tmp" + * + * // optional argument + * program.option('-c, --cheese [type]', 'add cheese [marble]'); + * + * @param {string} flags + * @param {string} [description] + * @param {((arg1: any, arg2: any) => void) | RegExp} [fn] function or default + * @param {*} [defaultValue] + * @returns {Command} for chaining + */ + option(flags: string, description?: string, fn?: ((arg1: any, arg2: any) => void) | RegExp, defaultValue?: any): Command; + option(flags: string, description?: string, defaultValue?: any): Command; + + /** + * Allow unknown options on the command line. + * + * @param {boolean} [arg] if `true` or omitted, no error will be thrown for unknown options. + * @returns {Command} for chaining + */ + allowUnknownOption(arg?: boolean): Command; + + /** + * Parse `argv`, settings options and invoking commands when defined. + * + * @param {string[]} argv + * @returns {Command} for chaining + */ + parse(argv: string[]): Command; + + /** + * Parse options from `argv` returning `argv` void of these options. + * + * @param {string[]} argv + * @returns {ParseOptionsResult} + */ + parseOptions(argv: string[]): commander.ParseOptionsResult; + + /** + * Return an object containing options as key-value pairs + * + * @returns {{[key: string]: any}} + */ + opts(): { [key: string]: any }; + + /** + * Set the description to `str`. + * + * @param {string} str + * @param {{[argName: string]: string}} argsDescription + * @return {(Command | string)} + */ + description(str: string, argsDescription?: {[argName: string]: string}): Command; + description(): string; + + /** + * Set an alias for the command. + * + * @param {string} alias + * @return {(Command | string)} + */ + alias(alias: string): Command; + alias(): string; + + /** + * Set or get the command usage. + * + * @param {string} str + * @return {(Command | string)} + */ + usage(str: string): Command; + usage(): string; + + /** + * Set the name of the command. + * + * @param {string} str + * @return {Command} + */ + name(str: string): Command; + + /** + * Get the name of the command. + * + * @return {string} + */ + name(): string; + + /** + * Output help information for this command. + * + * @param {(str: string) => string} [cb] + */ + outputHelp(cb?: (str: string) => string): void; + + /** Output help information and exit. + * + * @param {(str: string) => string} [cb] + */ + help(cb?: (str: string) => string): never; + } + +} + +declare namespace commander { + + type Command = local.Command + + type Option = local.Option + + interface CommandOptions { + noHelp?: boolean; + isDefault?: boolean; + } + + interface ParseOptionsResult { + args: string[]; + unknown: string[]; + } + + interface CommanderStatic extends Command { + Command: typeof local.Command; + Option: typeof local.Option; + CommandOptions: CommandOptions; + ParseOptionsResult: ParseOptionsResult; + } + +} + +declare const commander: commander.CommanderStatic; +export = commander; diff --git a/node_modules/config/History.md b/node_modules/config/History.md new file mode 100644 index 00000000..6743d5bd --- /dev/null +++ b/node_modules/config/History.md @@ -0,0 +1,683 @@ +3.3.3 / 2020-11-26 +================== + +* FIX #460 - Strict mode warning refer to appropriate env variable @iCodeOkay +* Use Buffer.alloc and Buffer.from instead of contrsuctor @Fcmam5 +* Add support for experimental .cjs modules @lenkan + + +3.3.2 / 2020-09-24 +================== + +* Fixed issue with Buffers in config throwing error in util.makeImmutable (#608) - Michal Wadas +* Added boolean and numeric types to custom environment variables - Ankur Narkhede @ankurnarkhede + +3.3.1 / 2020-03-25 +================== + + * Fix security vulnerability in json5 dependency - @twkel + +3.3.0 / 2020-02-26 +================== + + * Allow all defined values in `substituteDeep` - @fostyfost + +3.2.6 / 2020-02-21 +================== + + * Updated copyright date ranges + +3.2.5 / 2020-01-16 +================== + + * Fixed issue with getCustomEnvVars and multiple config dirs #585 - @dekelev + +3.2.4 / 2019-10-25 +================== + + * Improved error handling of env variables value parse - @leonardovillela + +3.2.3 / 2019-10-03 +================== + + * Fixed strict mode warning #460 - @fedulovivan + +3.2.2 / 2019-07-20 +================== + + * Fixed delimiter bug in configDirs to match O/S delimiter - @iMoses + +3.2.1 / 2019-07-18 +================== + + * Fixed TypeError: obj.toString is not a function - @leosuncin + +3.2.0 / 2019-07-11 +================== + + * Asynchronous configs - @iMoses + * Multiple config directories - @iMoses + * Improved parser support - @iMoses + +3.1.0 / 2019-04-07 +================== + + * Support of module.exports syntax for TS config files @keenondrums + +3.0.1 / 2018-12-16 +================== + + * Fixed bug where dot notation extended own key @exogen + +3.0.0 / 2018-11-20 +================== + + * Ensure config array items and objects are sealed @fgheorghe + - This required a major version bump in case someone + - relied on the ability to mutate non-sealed data. + + +2.0.2 / 2018-08-28 +================== + + * Added dot notation to setModuleDefaults - bertho-zero + * Updated copyright year - JemiloII + +2.0.1 / 2018-07-26 +================== + + * Removed deprecated code - jpwilliams + +2.0.0 / 2018-07-26 +================== + +Potential for backward incompatibility requiring a major version bump. + +Safe to upgrade to major version 2 if you're using a recent NodeJS version +and you're not trying to mutate config arrays. + + * Added array immutability - jacobemerick + * Removed Node V.4 support + +1.31.0 / 2018-05-22 +=================== + + * Load new coffeescript module instead of coffee-script - bastbijl + +1.30.0 / 2018-02-26 +=================== + + * Support for nested raw() in javascript configurations - patrickpilch + +1.29.4 / 2018-02-03 +=================== + + * Re-publish - last changes didn't make it to npm + +1.29.3 / 2018-02-03 +=================== + + * Added soft dependencies so transpilers don't include everything - gewentao + +1.29.2 / 2018-01-12 +=================== + + * Patch, and added a test to ts-node - electroma + +1.29.1 / 2018-01-07 +=================== + + * Prevent re-registration of ts-node - electroma + * Fixed bug in contributor table tool - lorenwest + +1.29.0 / 2017-12-26 +=================== + + * Update docs for JavaScript-formatted config files and link them from the README - markstos + * Fixed 'hostname' value selection when there is no environment variable for that - wmangelardo + + +1.28.1 / 2017-11-09 +=================== + + * add nodejs9 to travisci - jfelege + +1.28.0 / 2017-11-07 +=================== + + * allow overrides of `NODE_ENV` with `NODE_CONFIG_ENV` - jfelege + +1.27.0 / 2017-10-17 +=================== + + * Add method to output plain JS object - willsoto + * Updated Node versions in Travis CI - lorenwest + +1.26.2 / 2017-08-11 +=================== + + * Update supported nodejs platforms - jfelege + +1.26.1 / 2017-05-03 +=================== + + * Fix: failed while merging from RegExp @XadillaX + * Chore: reduce package size. @evilebottnawi + +1.26.0 / 2017-03-30 +=================== + + * Added tests for extendDeep @IvanVergiliev + * Added TypeScript support @cypherq + * Update config.js with correctly cased type def @ScionOfBytes + +1.25.1 / 2017-02-01 +=================== + + * Fixed undefined CONFIG_SKIP_GITCRYPT variable @lorenwest + +1.25.0 / 2017-01-31 +=================== + + * Add support for configuration files stored with git-crypt @cunneen + +1.24.0 / 2016-11-02 +=================== + + * Prevent accidental publish to private repository + +1.23.0 / 2016-11-02 +=================== + + * Re-publishing because npmjs didn't see 1.22 + +1.22.0 / 2016-10-25 +=================== + + * original/previous value for deferredConfig @simon-scherzinger + * util.loadFileConfigs: support optional source dir @wmertens + * Adding raw wrapper to prevent object modification in config @patrickpilch + +1.21.0 / 2016-06-01 +=================== + + * Added XML configuration @tusharmath + +1.20.4 / 2016-05-23 +=================== + + * Fixed a regression with extending prototype methods @tahoemph + +1.20.3 / 2016-05-18 +=================== + + * Fixed a regression with 1.20.2 @kgoerlitz + * Added test to prevent this in the future @kgoerlitz + +1.20.2 / 2016-05-17 +=================== + + * node v6 compatiblity: remove deprecated __lookupGetter__ use - @thetalecrafter + * node v6 compatiblity: handle different SyntaxError format - @pwwolf + +1.20.1 / 2016-04-08 +=================== + + * Simplify truthiness check - @markstos + * Remove errant console.log - @markstos + +1.20.0 / 2016-04-06 +=================== + + * Typo fix @jchip + * Handle null sub-object @wmertens + * Bug fix for NODE_CONFIG_STRICT_MODE check @markstos + * Ran node security check on 4/6/2016 with the following output + + $ nsp check + (+) No known vulnerabilities found + +1.19.0 / 2016-01-08 +=================== + + * Resolve defered values in predictable order for consistent results. + Fixes #265 @elliotttf @markstos + +1.18.0 / 2015-11-17 +=================== + + * More robust handling of JSON @elliotttf + +1.17.1 / 2015-11-17 +=================== + + * Patch release for regex bugfix + +1.17.0 / 2015-11-17 +=================== + + * Update warning about missing configuration files to mention how to disable the warning #245 @markstos + * Upgrade to run CI with travis containers @lorenwest + * Fixed bug with comments and inline json @elliotttf + +1.16.0 / 2015-09-03 +=================== + + * Change == to === to tighten equality tests #242 @wgpsutherland + * Fix attachProtoDeep for setModuleDefaults #243 @benkroeger + +1.15.0 / 2015-07-30 +=================== + + * Added full hostname in addition to first segment @vicary + +1.14.0 / 2015-06-02 +=================== + + * Added JSON parsing to custom environment variables @leachiM2k + * Handle unicode BOM characters @johndkane + +1.13.0 / 2015-05-05 +=================== + + * Updated CSON library @dsimidzija + +1.12.0 / 2015-02-19 +=================== + + * Better date merging @axelhzf + +1.11.0 / 2015-01-14 +=================== + + * Added Hjson support @laktak + +1.10.0 / 2015-01-06 +=================== + + * Added TOML support (@jasonhansel) + * Another year - changed copyright messages for 2015 + * Updated contributors list + * New Strict Mode added in 1.9.0 is now documented. (@markstos) + * has() now returns false when given an undefined or null key to look up. Previously it threw an exception. (@markstos) + * When get() is given an undefined or null key to look up, it now throws a more helpful diagnostic (@robludwig, @markstos) + +1.9.0 / 2014-12-08 +================== + + * New strictness checks have been added to ensure the expected configuration has been loaded. Warnings are now thrown in these cases. If NODE_CONFIG_STRICT_MODE is set, exceptions are thrown instead. (@markstos) + * There must be an explicit config file matching `NODE_ENV` if `NODE_ENV` is set. + * There must be an explicit config file matching `NODE_APP_INSTANCE` if `NODE_APP_INSTANCE` is set + * `NODE_ENV` must not match 'default' or 'local' to avoid ambiguity. + + * Added .iced extension support (@arthanzel) + + * Highlight `config.has()` in the README. Use it to check to if a value exists, since `config.get()` + throws exceptions on undefined values. (@markstos) + + * API Change: getConfigSources() now starts to return data on config files that are valid-but-empty. (@markstos) + +1.8.1 / 2014-11-14 +================== + + * Simplify syntax for defer() functions. The 'this' value in the functions is now bound + to the main configuration object, so it doesn't have to be passed into the function. (@markstos) + * new defer sub-module introduced in 1.8.0 can now be accessed by require('config/defer') + For usage, see: https://github.com/lorenwest/node-config/wiki/Configuration-Files#javascript-module---js + * Add test coverage for array merging cases. (@markstos) + * Bump dependency on cson package to 1.6.1 (@markstos) + +1.8.0 / 2014-11-13 +================== + + * Added deferred function for evaluating configs after load (@markstos) + For details, see: https://github.com/lorenwest/node-config/wiki/Configuration-Files#javascript-module---js + * Bumped js-yaml dependency (@markstos) + +1.7.0 / 2014-10-30 +================== + + * Added variable substitution in .properties files (@ncuillery) + +1.6.0 / 2014-10-22 +================== + + * Added support for property accessors in configs (@jaylynch) + +1.5.0 / 2014-10-20 +================== + + * Added support for .json5 config files (@bertrandom) + +1.4.0 / 2014-10-16 +================== + + * Added support for .properties config files (@superoven) + +1.3.0 / 2014-10-15 +================== + + * Added support for CSON configuration files (@superoven) + +1.2.4 / 2014-10-10 +================== + + * Repaired the 1.2.3 fix to work both before and after the first get() + +1.2.3 / 2014-10-03 +================== + + * Changed test suite to verify a bug in util.setModuleDefaults() + * Fixed util.setModuleDefaults() to work after a get() (and pass the new test) + +1.2.2 / 2014-10-03 +================== + + * Added support for regexp and date configurations (@diversario) + +1.2.1 / 2014-09-23 +================== + + * Wrote test to prove setModuleDefaults() was broken in 1.2.0 + * Fixed setModuleDefaults() to not rely on immutable configs + +1.2.0 / 2014-09-15 +================== + + * Feature release + * Delaying immutability until after first get() - for external configs + * Allowing immutability override with $ALLOW_CONFIG_MUTATIONS=Y + + +1.1.1 / 2014-09-03 +================== + + * @th507 - Update support for Coffee-script >=1.7.0 + +1.1.0 / 2014-09-03 +================== + + * Feature release + * @bradboro - Custom environment variables + * @supersheep - Catch error when requiring visionmedia yaml module + +1.0.2 / 2014-07-30 +=================== + + * @bradobro - Fixed a variable from leaking into global + * @tilfin - Removed un-necessary YAML comment filtering for js-yaml + +1.0.1 / 2014-07-25 +=================== + + * Removed test directory from npm install + +1.0.0 / 2014-07-23 +=================== + + * Major revision. Upgrade notes: + https://github.com/lorenwest/node-config/wiki/Upgrading-From-Config-0.x + * Update to semver versioning + * Change load ordering + from hostname.EXT --> deployment.EXT + to deployment.EXT --> hostname.EXT + * Allow makeImmutable to accept an array of attributes + * Allow makeImmutable to accept no attrs, making all attributes immutable + * Allow recursion in makeImmutable, if an attribute is an object + * Change node-config behavior to make all configurations immutable + * Removed getOriginalConfig as no longer necessary post-immutable + * Removed runtime.json file writing and monitoring + * Removed previously deprecated $CONFIG_* environment configurations + * Deprecated the attribute watch functionality + * Added error output if no configurations found + * Exposed config loading for alternate configurations + * Added config.get() and config.has() methods & tests + * Removed reliance on global.NODE_CONFIG so older versions can work with 1.x + * Fix empty YAML file causing crash with latest js-yaml + * Added SUPPRESS_NO_CONFIG_WARNING for better sub-module support + * Moved all documentation [to the wiki](https://github.com/lorenwest/node-config/wiki). + +0.4.37 / 2014-07-22 +=================== + + * Fix empty YAML file causing crash with latest js-yaml + +0.4.36 / 2014-05-27 +=================== + + * Not writing runtime.json if not used + +0.4.35 / 2014-01-16 +=================== + + * NODE_CONFIG_DIR can now contain a relative path for .js and .coffee configurations + +0.4.34 / 2014-01-06 +=================== + + * Updated copyright year + +0.4.33 / 2013-10-25 +=================== + + * Assure writes to runtime.json are atomic + +0.4.32 / 2013-10-24 +=================== + + * Don't freak out if running without a config directory + * Don't be so chatty if runtime.json doesn't exist + +0.4.31 / 2013-10-18 +=================== + + * Changed getConfigSources to copy array vs. object + +0.4.30 / 2013-09-12 +=================== + + * More consistent array extension + * No longer requiring a config directory + * Not erroneously writing runtime.json + * Exposing the original configuration sources + * Added --NODE_CONFIG={json} command line overrides + * Added $NODE_CONFIG={json} environment variable overrides + * Consistent handling of environment variables and command line parameters + * Reached 100 regression tests + +0.4.29 / 2013-08-07 +=================== + + * Added flag for disabling the write of runtime.json + +0.4.28 / 2013-07-31 +=================== + + * Eliminated a totally annoying install warning in newer versions of NPM + +0.4.27 / 2013-06-18 +=================== + + * Fixed a bug preventing double underscores in config environment variables + +0.4.26 / 2013-06-10 +=================== + + * Re-watch file on rename (allows editing runtime.json with vi) + * Allow runtime.json file watch disable via NODE_CONFIG_DISABLE_FILE_WATCH=Y + * Change no yaml parser error message to suggest using js-yaml + * Changed default clone depth from 6 to 20 to allow for deeper configurations + +0.4.25 / 2013-05-24 +=================== + + * Dont fail if config directory doesnt exist + +0.4.24 / 2013-04-13 +=================== + + * Added resetRuntime() to reset the runtime.json file + * Updated docs to reflect the new public method + +0.4.23 / 2013-04-13 +=================== + + * Multiple application instance support via $NODE_APP_INSTANCE + * Multi-app testing & documentation + +0.4.22 / 2013-03-29 +=================== + + * Added configuration $CONFIG_* environment variables + * Added $CONFIG_* documentation and tests + * Added NodeJS 0.10 integration test + +0.4.21 / 2013-03-06 +=================== + + * Triggering file.watch when an editor saves a file - rename vs. change + * Installed Travis-CI continuous integration testing framework + +0.4.20 / 2013-02-21 +=================== + + * Merged _diffDeep fix + +0.4.19 / 2013-02-21 +=================== + + * Added discovery of .yml in addition to .yaml for YAML configs (w/doc) + * Added testing of .yml file discovery + * Removed licensing inconsistencies + +0.4.18 / 2012-10-30 +=================== + + * Moved coffee-script and js-yaml from optionalDependencies back to + devDependencies to trim the install size for those not needing + these packages. + * Promoted $HOSTNAME and $HOST above OS.hostname() + +0.4.17 / 2012-09-26 +=================== + + * Allow the location of runtime.json to be picked up from the environment + * Added documentation for the NODE_CONFIG_RUNTIME_JSON environment variable + * package.json cleanup - created optionalDependencies and devDependencies + +0.4.16 / 2012-08-09 +=================== + + * Allowing a zero interval in watchForConfigFileChanges() to disable file watching. + * Fixed a comparator bug in _equalsDeep() + * Added a test to confirm deep extending array functionality + +0.4.15 / 2012-06-04 +=================== + + * Placed YAML and Coffee-Script libraries back into the download. Still lazy loading into memory. + +0.4.14 / 2012-06-01 +=================== + + * Added the local.EXT and local-deployment.EXT configs. + * Removed unnecessary debug output + * Added retry logic on file parse to reduce read/write collisions + * Added support for a better YAML parser + * Fixed problems with null configuration values + +0.4.13 / 2012-04-25 +=================== + + * Assuring the runtime.json file exists. Undocumented fs.watch() requirement. + +0.4.12 / 2012-04-25 +=================== + + * Removed all external dependencies + * Lazy loading of yaml and coffee-script only if these file types are used + * Added new style file watching if available (retaining pre 6.0 compatibility) + * Windows compatibility - file watching changes were required + +0.4.11 / 2012-02-15 +=================== + + * Automatically watching runtime.json for changes + * Fixed a date comparison bug during file watching + * Changed require('sys') to require('util') + +0.4.10 / 2012-01-18 +=================== + + * Made sure the CONFIG object is a shared singleton + * Added NODE_CONFIG_DIR environment variable to point to a different directory + * Added tests and documentation for the above + +0.4.9 / 2012-01-06 +================== + + * Added coffee-script file type support with extension .coffee + * Added an example coffee-script configuration file + * Added coffee-script module dependency + * Added a test for coffee-script configuration files + * Documented coffee-script support, regenerated documentation + +0.4.8 / 2011-12-20 +================== + + * Fixed a bug where changes to module default configs weren't persisted + * Added a test to validate the bugfix + +0.4.7 / 2011-12-16 +================== + + * Created the makeHidden method to hide a property of an object + * Added a value argument to makeImmutable for creating new properties + * Fixed setModuleDefaults to hide injected prototype methods + * Added documentation and unit tests + +0.4.6 / 2011-11-29 +================== + + * Updated vows from 0.5.8 to 0.5.13 + +0.4.5 / 2011-11-16 +================== + + * Updated YAML dependency from "0.1.x" to ">=0.2.2" + * Added stripping of comment-only and whitespace-only lines in YAML files for backward compatibility + * Added more tests for YAML edge cases + * Added a homepage link in package.json to the online documentation + * Added History.md + +0.4.4 / 2011-11-08 +================== + + * Removed deprecated modules from package.json + +0.4.3 / 2011-08-02 +================== + + * Made watchForConfigFileChanges public + +0.4.2 / 2011-07-11 +================== + + * Added comment stripping from JSON configuration files + +0.4.1 / 2011-07-07 +================== + + * Added more tests + * Return the module config in setModuleDefaults + +0.4.0 / 2011-07-06 +================== + + * Update to version 0.4.0 + + * Online documentation + * Runtime configuration changes + * Configuration value watching + * Multi-instance node deployments + * Better module developer support diff --git a/node_modules/config/LICENSE b/node_modules/config/LICENSE new file mode 100644 index 00000000..511f4bfe --- /dev/null +++ b/node_modules/config/LICENSE @@ -0,0 +1,19 @@ +// Copyright 2010-2020, Loren West and other contributors + +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. diff --git a/node_modules/config/README.md b/node_modules/config/README.md new file mode 100644 index 00000000..b59735f1 --- /dev/null +++ b/node_modules/config/README.md @@ -0,0 +1,176 @@ +Configure your Node.js Applications +=================================== + +[![NPM](https://nodei.co/npm/config.svg?downloads=true&downloadRank=true)](https://nodei.co/npm/config/)   +[![Build Status](https://secure.travis-ci.org/lorenwest/node-config.svg?branch=master)](https://travis-ci.org/lorenwest/node-config)   +[release notes](https://github.com/lorenwest/node-config/blob/master/History.md) + +Introduction +------------ + +Node-config organizes hierarchical configurations for your app deployments. + +It lets you define a set of default parameters, +and extend them for different deployment environments (development, qa, +staging, production, etc.). + +Configurations are stored in [configuration files](https://github.com/lorenwest/node-config/wiki/Configuration-Files) within your application, and can be overridden and extended by [environment variables](https://github.com/lorenwest/node-config/wiki/Environment-Variables), + [command line parameters](https://github.com/lorenwest/node-config/wiki/Command-Line-Overrides), or [external sources](https://github.com/lorenwest/node-config/wiki/Configuring-from-an-External-Source). + +This gives your application a consistent configuration interface shared among a +[growing list of npm modules](https://www.npmjs.org/browse/depended/config) also using node-config. + +Project Guidelines +------------------ + +* *Simple* - Get started fast +* *Powerful* - For multi-node enterprise deployment +* *Flexible* - Supporting multiple config file formats +* *Lightweight* - Small file and memory footprint +* *Predictable* - Well tested foundation for module and app developers + +Quick Start +--------------- +The following examples are in JSON format, but configurations can be in other [file formats](https://github.com/lorenwest/node-config/wiki/Configuration-Files#file-formats). + +**Install in your app directory, and edit the default config file.** + +```shell +$ npm install config +$ mkdir config +$ vi config/default.json +``` +```js +{ + // Customer module configs + "Customer": { + "dbConfig": { + "host": "localhost", + "port": 5984, + "dbName": "customers" + }, + "credit": { + "initialLimit": 100, + // Set low for development + "initialDays": 1 + } + } +} +``` + +**Edit config overrides for production deployment:** + +```shell + $ vi config/production.json +``` + +```json +{ + "Customer": { + "dbConfig": { + "host": "prod-db-server" + }, + "credit": { + "initialDays": 30 + } + } +} +``` + +**Use configs in your code:** + +```js +const config = require('config'); +//... +const dbConfig = config.get('Customer.dbConfig'); +db.connect(dbConfig, ...); + +if (config.has('optionalFeature.detail')) { + const detail = config.get('optionalFeature.detail'); + //... +} +``` + +`config.get()` will throw an exception for undefined keys to help catch typos and missing values. +Use `config.has()` to test if a configuration value is defined. + +**Start your app server:** + +```shell +$ export NODE_ENV=production +$ node my-app.js +``` + +Running in this configuration, the `port` and `dbName` elements of `dbConfig` +will come from the `default.json` file, and the `host` element will +come from the `production.json` override file. + +Articles +-------- + +* [Configuration Files](https://github.com/lorenwest/node-config/wiki/Configuration-Files) + * [Special features for JavaScript configuration files](https://github.com/lorenwest/node-config/wiki/Special-features-for-JavaScript-configuration-files) +* [Common Usage](https://github.com/lorenwest/node-config/wiki/Common-Usage) +* [Environment Variables](https://github.com/lorenwest/node-config/wiki/Environment-Variables) +* [Reserved Words](https://github.com/lorenwest/node-config/wiki/Reserved-Words) +* [Command Line Overrides](https://github.com/lorenwest/node-config/wiki/Command-Line-Overrides) +* [Multiple Node Instances](https://github.com/lorenwest/node-config/wiki/Multiple-Node-Instances) +* [Sub-Module Configuration](https://github.com/lorenwest/node-config/wiki/Sub-Module-Configuration) +* [Configuring from a DB / External Source](https://github.com/lorenwest/node-config/wiki/Configuring-from-an-External-Source) +* [Securing Production Config Files](https://github.com/lorenwest/node-config/wiki/Securing-Production-Config-Files) +* [External Configuration Management Tools](https://github.com/lorenwest/node-config/wiki/External-Configuration-Management-Tools) +* [Examining Configuration Sources](https://github.com/lorenwest/node-config/wiki/Examining-Configuration-Sources) +* [Using Config Utilities](https://github.com/lorenwest/node-config/wiki/Using-Config-Utilities) +* [Upgrading from Config 0.x](https://github.com/lorenwest/node-config/wiki/Upgrading-From-Config-0.x) +* [Webpack usage](https://github.com/lorenwest/node-config/wiki/Webpack-Usage) + +Further Information +--------------------- +If you still don't see what you are looking for, here are some more resources to check: + + * The [wiki may have more pages](https://github.com/lorenwest/node-config/wiki) which are not directly linked from here. + * Review [questions tagged with node-config](https://stackexchange.com/filters/207096/node-config) on StackExchange. These are monitored by `node-config` contributors. + * [Search the issue tracker](https://github.com/lorenwest/node-config/issues). Hundreds of issues have already been discussed and resolved there. + +Contributors +------------ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
lorenwestmarkstosiMoseselliotttfjfelegeleachiM2k
josxenyoleosuncinarthanzeleheikesth507
OsterjourcunneennsabovicBadgerBadgerBadgerBadgersimon-scherzingerleonardovillela
axelhzfbenkroegerfgheorgheIvanVergilievjpwilliamsjaylynch
jberrischkgoerlitzbertho-zeronitzan-shakedrobertrossmannroncli
+ +License +------- + +May be freely distributed under the [MIT license](https://raw.githubusercontent.com/lorenwest/node-config/master/LICENSE). + +Copyright (c) 2010-2020 Loren West +[and other contributors](https://github.com/lorenwest/node-config/graphs/contributors) + diff --git a/node_modules/config/async.js b/node_modules/config/async.js new file mode 100644 index 00000000..583b7391 --- /dev/null +++ b/node_modules/config/async.js @@ -0,0 +1,70 @@ +var asyncSymbol = Symbol('asyncSymbol'); +var deferConfig = require('./defer').deferConfig; + +/** + * @param promiseOrFunc the promise will determine a property's value once resolved + * can also be a function to defer which resolves to a promise + * @returns {Promise} a marked promise to be resolve later using `resolveAsyncConfigs` + */ +function asyncConfig(promiseOrFunc) { + if (typeof promiseOrFunc === 'function') { // also acts as deferConfig + return deferConfig(function (config, original) { + var release; + function registerRelease(resolve) { release = resolve; } + function callFunc() { return promiseOrFunc.call(config, config, original); } + var promise = asyncConfig(new Promise(registerRelease).then(callFunc)); + promise.release = release; + return promise; + }); + } + var promise = promiseOrFunc; + promise.async = asyncSymbol; + promise.prepare = function(config, prop, property) { + if (promise.release) { + promise.release(); + } + return function() { + return promise.then(function(value) { + Object.defineProperty(prop, property, {value: value}); + }); + }; + }; + return promise; +} + +/** + * Do not use `config.get` before executing this method, it will freeze the config object + * @param config the main config object, returned from require('config') + * @returns {Promise} once all promises are resolved, return the original config object + */ +function resolveAsyncConfigs(config) { + var promises = []; + var resolvers = []; + (function iterate(prop) { + var propsToSort = []; + for (var property in prop) { + if (prop.hasOwnProperty(property) && prop[property] != null) { + propsToSort.push(property); + } + } + propsToSort.sort().forEach(function(property) { + if (prop[property].constructor === Object) { + iterate(prop[property]); + } + else if (prop[property].constructor === Array) { + prop[property].forEach(iterate); + } + else if (prop[property] && prop[property].async === asyncSymbol) { + resolvers.push(prop[property].prepare(config, prop, property)); + promises.push(prop[property]); + } + }); + })(config); + return Promise.all(promises).then(function() { + resolvers.forEach(function(resolve) { resolve(); }); + return config; + }); +} + +module.exports.asyncConfig = asyncConfig; +module.exports.resolveAsyncConfigs = resolveAsyncConfigs; diff --git a/node_modules/config/defer.js b/node_modules/config/defer.js new file mode 100644 index 00000000..35758d88 --- /dev/null +++ b/node_modules/config/defer.js @@ -0,0 +1,23 @@ +// Create a deferredConfig prototype so that we can check for it when reviewing the configs later. +function DeferredConfig() {} +DeferredConfig.prototype.prepare = function() {}; +DeferredConfig.prototype.resolve = function() {}; + +// Accept a function that we'll use to resolve this value later and return a 'deferred' configuration value to resolve it later. +function deferConfig(func) { + var obj = Object.create(DeferredConfig.prototype); + obj.prepare = function(config, prop, property) { + var original = prop[property]._original; + obj.resolve = function() { + var value = func.call(config, config, original); + Object.defineProperty(prop, property, {value: value}); + return value; + }; + Object.defineProperty(prop, property, {get: function() { return obj.resolve(); }}); + return obj; + }; + return obj; +} + +module.exports.deferConfig = deferConfig; +module.exports.DeferredConfig = DeferredConfig; diff --git a/node_modules/config/lib/config.js b/node_modules/config/lib/config.js new file mode 100644 index 00000000..0f25d4cd --- /dev/null +++ b/node_modules/config/lib/config.js @@ -0,0 +1,1470 @@ +// config.js (c) 2010-2020 Loren West and other contributors +// May be freely distributed under the MIT license. +// For further details and documentation: +// http://lorenwest.github.com/node-config + +// Dependencies +var deferConfig = require('../defer').deferConfig, + DeferredConfig = require('../defer').DeferredConfig, + RawConfig = require('../raw').RawConfig, + Parser = require('../parser'), + Utils = require('util'), + Path = require('path'), + FileSystem = require('fs'); + +// Static members +var DEFAULT_CLONE_DEPTH = 20, + NODE_CONFIG, CONFIG_DIR, RUNTIME_JSON_FILENAME, NODE_ENV, APP_INSTANCE, + HOST, HOSTNAME, ALLOW_CONFIG_MUTATIONS, CONFIG_SKIP_GITCRYPT, NODE_ENV_VAR_NAME, + NODE_CONFIG_PARSER, + env = {}, + privateUtil = {}, + deprecationWarnings = {}, + configSources = [], // Configuration sources - array of {name, original, parsed} + checkMutability = true, // Check for mutability/immutability on first get + gitCryptTestRegex = /^.GITCRYPT/; // regular expression to test for gitcrypt files. + +/** + *

Application Configurations

+ * + *

+ * The config module exports a singleton object representing all + * configurations for this application deployment. + *

+ * + *

+ * Application configurations are stored in files within the config directory + * of your application. The default configuration file is loaded, followed + * by files specific to the deployment type (development, testing, staging, + * production, etc.). + *

+ * + *

+ * For example, with the following config/default.yaml file: + *

+ * + *
+ *   ...
+ *   customer:
+ *       initialCredit: 500
+ *       db:
+ *           name: customer
+ *           port: 5984
+ *   ...
+ * 
+ * + *

+ * The following code loads the customer section into the CONFIG variable: + *

+ * + *

+ *   var CONFIG = require('config').customer;
+ *   ...
+ *   newCustomer.creditLimit = CONFIG.initialCredit;
+ *   database.open(CONFIG.db.name, CONFIG.db.port);
+ *   ...
+ * 
+ * + * @module config + * @class Config + */ + +/** + *

Get the configuration object.

+ * + *

+ * The configuration object is a shared singleton object within the application, + * attained by calling require('config'). + *

+ * + *

+ * Usually you'll specify a CONFIG variable at the top of your .js file + * for file/module scope. If you want the root of the object, you can do this: + *

+ *
+ * var CONFIG = require('config');
+ * 
+ * + *

+ * Sometimes you only care about a specific sub-object within the CONFIG + * object. In that case you could do this at the top of your file: + *

+ *
+ * var CONFIG = require('config').customer;
+ * or
+ * var CUSTOMER_CONFIG = require('config').customer;
+ * 
+ * + * + * + * @method constructor + * @return CONFIG {object} - The top level configuration object + */ +var Config = function() { + var t = this; + + // Bind all utility functions to this + for (var fnName in util) { + if (typeof util[fnName] === 'function') { + util[fnName] = util[fnName].bind(t); + } + } + + // Merge configurations into this + util.extendDeep(t, util.loadFileConfigs()); + util.attachProtoDeep(t); + + // Perform strictness checks and possibly throw an exception. + util.runStrictnessChecks(t); +}; + +/** + * Utilities are under the util namespace vs. at the top level + */ +var util = Config.prototype.util = {}; + +/** + * Underlying get mechanism + * + * @private + * @method getImpl + * @param object {object} - Object to get the property for + * @param property {string|string[]} - The property name to get (as an array or '.' delimited string) + * @return value {*} - Property value, including undefined if not defined. + */ +var getImpl= function(object, property) { + var t = this, + elems = Array.isArray(property) ? property : property.split('.'), + name = elems[0], + value = object[name]; + if (elems.length <= 1) { + return value; + } + // Note that typeof null === 'object' + if (value === null || typeof value !== 'object') { + return undefined; + } + return getImpl(value, elems.slice(1)); +}; + +/** + *

Get a configuration value

+ * + *

+ * This will return the specified property value, throwing an exception if the + * configuration isn't defined. It is used to assure configurations are defined + * before being used, and to prevent typos. + *

+ * + * @method get + * @param property {string} - The configuration property to get. Can include '.' sub-properties. + * @return value {*} - The property value + */ +Config.prototype.get = function(property) { + if(property === null || property === undefined){ + throw new Error("Calling config.get with null or undefined argument"); + } + + // Make configurations immutable after first get (unless disabled) + if (checkMutability) { + if (!util.initParam('ALLOW_CONFIG_MUTATIONS', false)) { + util.makeImmutable(config); + } + checkMutability = false; + } + var t = this, + value = getImpl(t, property); + + // Produce an exception if the property doesn't exist + if (value === undefined) { + throw new Error('Configuration property "' + property + '" is not defined'); + } + + // Return the value + return value; +}; + +/** + * Test that a configuration parameter exists + * + *
+ *    var config = require('config');
+ *    if (config.has('customer.dbName')) {
+ *      console.log('Customer database name: ' + config.customer.dbName);
+ *    }
+ * 
+ * + * @method has + * @param property {string} - The configuration property to test. Can include '.' sub-properties. + * @return isPresent {boolean} - True if the property is defined, false if not defined. + */ +Config.prototype.has = function(property) { + // While get() throws an exception for undefined input, has() is designed to test validity, so false is appropriate + if(property === null || property === undefined){ + return false; + } + var t = this; + return (getImpl(t, property) !== undefined); +}; + +/** + *

+ * Set default configurations for a node.js module. + *

+ * + *

+ * This allows module developers to attach their configurations onto the + * default configuration object so they can be configured by the consumers + * of the module. + *

+ * + *

Using the function within your module:

+ *
+ *   var CONFIG = require("config");
+ *   CONFIG.util.setModuleDefaults("MyModule", {
+ *     templateName: "t-50",
+ *     colorScheme: "green"
+ *   });
+ * 
+ * // Template name may be overridden by application config files + * console.log("Template: " + CONFIG.MyModule.templateName); + *
+ * + *

+ * The above example results in a "MyModule" element of the configuration + * object, containing an object with the specified default values. + *

+ * + * @method setModuleDefaults + * @param moduleName {string} - Name of your module. + * @param defaultProperties {object} - The default module configuration. + * @return moduleConfig {object} - The module level configuration object. + */ +util.setModuleDefaults = function (moduleName, defaultProperties) { + + // Copy the properties into a new object + var t = this, + moduleConfig = util.cloneDeep(defaultProperties); + + // Set module defaults into the first sources element + if (configSources.length === 0 || configSources[0].name !== 'Module Defaults') { + configSources.splice(0, 0, { + name: 'Module Defaults', + parsed: {} + }); + } + util.setPath(configSources[0].parsed, moduleName.split('.'), {}); + util.extendDeep(getImpl(configSources[0].parsed, moduleName), defaultProperties); + + // Create a top level config for this module if it doesn't exist + util.setPath(t, moduleName.split('.'), getImpl(t, moduleName) || {}); + + // Extend local configurations into the module config + util.extendDeep(moduleConfig, getImpl(t, moduleName)); + + // Merge the extended configs without replacing the original + util.extendDeep(getImpl(t, moduleName), moduleConfig); + + // reset the mutability check for "config.get" method. + // we are not making t[moduleName] immutable immediately, + // since there might be more modifications before the first config.get + if (!util.initParam('ALLOW_CONFIG_MUTATIONS', false)) { + checkMutability = true; + } + + // Attach handlers & watchers onto the module config object + return util.attachProtoDeep(getImpl(t, moduleName)); +}; + +/** + *

Make a configuration property hidden so it doesn't appear when enumerating + * elements of the object.

+ * + *

+ * The property still exists and can be read from and written to, but it won't + * show up in for ... in loops, Object.keys(), or JSON.stringify() type methods. + *

+ * + *

+ * If the property already exists, it will be made hidden. Otherwise it will + * be created as a hidden property with the specified value. + *

+ * + *

+ * This method was built for hiding configuration values, but it can be applied + * to any javascript object. + *

+ * + *

Example:

+ *
+ *   var CONFIG = require('config');
+ *   ...
+ *
+ *   // Hide the Amazon S3 credentials
+ *   CONFIG.util.makeHidden(CONFIG.amazonS3, 'access_id');
+ *   CONFIG.util.makeHidden(CONFIG.amazonS3, 'secret_key');
+ * 
+ * + * @method makeHidden + * @param object {object} - The object to make a hidden property into. + * @param property {string} - The name of the property to make hidden. + * @param value {*} - (optional) Set the property value to this (otherwise leave alone) + * @return object {object} - The original object is returned - for chaining. + */ +util.makeHidden = function(object, property, value) { + + // If the new value isn't specified, just mark the property as hidden + if (typeof value === 'undefined') { + Object.defineProperty(object, property, { + enumerable : false + }); + } + // Otherwise set the value and mark it as hidden + else { + Object.defineProperty(object, property, { + value : value, + enumerable : false + }); + } + + return object; +} + +/** + *

Make a javascript object property immutable (assuring it cannot be changed + * from the current value).

+ *

+ * If the specified property is an object, all attributes of that object are + * made immutable, including properties of contained objects, recursively. + * If a property name isn't supplied, all properties of the object are made + * immutable. + *

+ *

+ * + *

+ *

+ * New properties can be added to the object and those properties will not be + * immutable unless this method is called on those new properties. + *

+ *

+ * This operation cannot be undone. + *

+ * + *

Example:

+ *
+ *   var config = require('config');
+ *   var myObject = {hello:'world'};
+ *   config.util.makeImmutable(myObject);
+ * 
+ * + * @method makeImmutable + * @param object {object} - The object to specify immutable properties for + * @param [property] {string | [string]} - The name of the property (or array of names) to make immutable. + * If not provided, all owned properties of the object are made immutable. + * @param [value] {* | [*]} - Property value (or array of values) to set + * the property to before making immutable. Only used when setting a single + * property. Retained for backward compatibility. + * @return object {object} - The original object is returned - for chaining. + */ +util.makeImmutable = function(object, property, value) { + if (Buffer.isBuffer(object)) { + return object; + } + var properties = null; + + // Backwards compatibility mode where property/value can be specified + if (typeof property === 'string') { + return Object.defineProperty(object, property, { + value : (typeof value === 'undefined') ? object[property] : value, + writable : false, + configurable: false + }); + } + + // Get the list of properties to work with + if (Array.isArray(property)) { + properties = property; + } + else { + properties = Object.keys(object); + } + + // Process each property + for (var i = 0; i < properties.length; i++) { + var propertyName = properties[i], + value = object[propertyName]; + + if (value instanceof RawConfig) { + Object.defineProperty(object, propertyName, { + value: value.resolve(), + writable: false, + configurable: false + }); + } else if (Array.isArray(value)) { + // Ensure object items of this array are also immutable. + value.forEach((item, index) => { if (util.isObject(item) || Array.isArray(item)) util.makeImmutable(item) }) + + Object.defineProperty(object, propertyName, { + value: Object.freeze(value) + }); + } else { + Object.defineProperty(object, propertyName, { + value: value, + writable : false, + configurable: false + }); + + // Ensure new properties can not be added. + Object.preventExtensions(object) + + // Call recursively if an object. + if (util.isObject(value)) { + util.makeImmutable(value); + } + } + } + + return object; +}; + +/** + * Return the sources for the configurations + * + *

+ * All sources for configurations are stored in an array of objects containing + * the source name (usually the filename), the original source (as a string), + * and the parsed source as an object. + *

+ * + * @method getConfigSources + * @return configSources {Array[Object]} - An array of objects containing + * name, original, and parsed elements + */ +util.getConfigSources = function() { + var t = this; + return configSources.slice(0); +}; + +/** + * Load the individual file configurations. + * + *

+ * This method builds a map of filename to the configuration object defined + * by the file. The search order is: + *

+ * + *
+ *   default.EXT
+ *   (deployment).EXT
+ *   (hostname).EXT
+ *   (hostname)-(deployment).EXT
+ *   local.EXT
+ *   local-(deployment).EXT
+ *   runtime.json
+ * 
+ * + *

+ * EXT can be yml, yaml, coffee, iced, json, cson or js signifying the file type. + * yaml (and yml) is in YAML format, coffee is a coffee-script, iced is iced-coffee-script, + * json is in JSON format, cson is in CSON format, properties is in .properties format + * (http://en.wikipedia.org/wiki/.properties), and js is a javascript executable file that is + * require()'d with module.exports being the config object. + *

+ * + *

+ * hostname is the $HOST environment variable (or --HOST command line parameter) + * if set, otherwise the $HOSTNAME environment variable (or --HOSTNAME command + * line parameter) if set, otherwise the hostname found from + * require('os').hostname(). + *

+ * + *

+ * Once a hostname is found, everything from the first period ('.') onwards + * is removed. For example, abc.example.com becomes abc + *

+ * + *

+ * (deployment) is the deployment type, found in the $NODE_ENV environment + * variable (which can be overriden by using $NODE_CONFIG_ENV + * environment variable). Defaults to 'development'. + *

+ * + *

+ * The runtime.json file contains configuration changes made at runtime either + * manually, or by the application setting a configuration value. + *

+ * + *

+ * If the $NODE_APP_INSTANCE environment variable (or --NODE_APP_INSTANCE + * command line parameter) is set, then files with this appendage will be loaded. + * See the Multiple Application Instances section of the main documentaion page + * for more information. + *

+ * + * @protected + * @method loadFileConfigs + * @return config {Object} The configuration object + */ +util.loadFileConfigs = function(configDir) { + + // Initialize + var t = this, + config = {}; + + // Specify variables that can be used to define the environment + var node_env_var_names = ['NODE_CONFIG_ENV', 'NODE_ENV']; + + // Loop through the variables to try and set environment + for (node_env_var_name of node_env_var_names) { + NODE_ENV = util.initParam(node_env_var_name); + if (!!NODE_ENV) { + NODE_ENV_VAR_NAME = node_env_var_name; + break; + } + } + + // If we haven't successfully set the environment using the variables, we'll default it + if (!NODE_ENV) { + NODE_ENV = 'development'; + } + + node_env_var_names.forEach(node_env_var_name => { + env[node_env_var_name] = NODE_ENV; + }); + + // Split files name, for loading multiple files. + NODE_ENV = NODE_ENV.split(','); + + CONFIG_DIR = configDir || util.initParam('NODE_CONFIG_DIR', Path.join( process.cwd(), 'config') ); + if (CONFIG_DIR.indexOf('.') === 0) { + CONFIG_DIR = Path.join(process.cwd() , CONFIG_DIR); + } + + APP_INSTANCE = util.initParam('NODE_APP_INSTANCE'); + HOST = util.initParam('HOST'); + HOSTNAME = util.initParam('HOSTNAME'); + CONFIG_SKIP_GITCRYPT = util.initParam('CONFIG_SKIP_GITCRYPT'); + + // This is for backward compatibility + RUNTIME_JSON_FILENAME = util.initParam('NODE_CONFIG_RUNTIME_JSON', Path.join(CONFIG_DIR , 'runtime.json') ); + + NODE_CONFIG_PARSER = util.initParam('NODE_CONFIG_PARSER'); + if (NODE_CONFIG_PARSER) { + try { + var parserModule = Path.isAbsolute(NODE_CONFIG_PARSER) + ? NODE_CONFIG_PARSER + : Path.join(CONFIG_DIR, NODE_CONFIG_PARSER); + Parser = require(parserModule); + } + catch (e) { + console.warn('Failed to load config parser from ' + NODE_CONFIG_PARSER); + console.log(e); + } + } + + // Determine the host name from the OS module, $HOST, or $HOSTNAME + // Remove any . appendages, and default to null if not set + try { + var hostName = HOST || HOSTNAME; + + if (!hostName) { + var OS = require('os'); + hostName = OS.hostname(); + } + } catch (e) { + hostName = ''; + } + + // Store the hostname that won. + env.HOSTNAME = hostName; + + // Read each file in turn + var baseNames = ['default'].concat(NODE_ENV); + + // #236: Also add full hostname when they are different. + if (hostName) { + var firstDomain = hostName.split('.')[0]; + + NODE_ENV.forEach(function(env) { + // Backward compatibility + baseNames.push(firstDomain, firstDomain + '-' + env); + + // Add full hostname when it is not the same + if (hostName !== firstDomain) { + baseNames.push(hostName, hostName + '-' + env); + } + }); + } + + NODE_ENV.forEach(function(env) { + baseNames.push('local', 'local-' + env); + }); + + var allowedFiles = {}; + var resolutionIndex = 1; + var extNames = Parser.getFilesOrder(); + baseNames.forEach(function(baseName) { + extNames.forEach(function(extName) { + allowedFiles[baseName + '.' + extName] = resolutionIndex++; + if (APP_INSTANCE) { + allowedFiles[baseName + '-' + APP_INSTANCE + '.' + extName] = resolutionIndex++; + } + }); + }); + + var locatedFiles = util.locateMatchingFiles(CONFIG_DIR, allowedFiles); + locatedFiles.forEach(function(fullFilename) { + var configObj = util.parseFile(fullFilename); + if (configObj) { + util.extendDeep(config, configObj); + } + }); + + // Override configurations from the $NODE_CONFIG environment variable + // NODE_CONFIG only applies to the base config + if (!configDir) { + var envConfig = {}; + if (process.env.NODE_CONFIG) { + try { + envConfig = JSON.parse(process.env.NODE_CONFIG); + } catch(e) { + console.error('The $NODE_CONFIG environment variable is malformed JSON'); + } + util.extendDeep(config, envConfig); + configSources.push({ + name: "$NODE_CONFIG", + parsed: envConfig, + }); + } + + // Override configurations from the --NODE_CONFIG command line + var cmdLineConfig = util.getCmdLineArg('NODE_CONFIG'); + if (cmdLineConfig) { + try { + cmdLineConfig = JSON.parse(cmdLineConfig); + } catch(e) { + console.error('The --NODE_CONFIG={json} command line argument is malformed JSON'); + } + util.extendDeep(config, cmdLineConfig); + configSources.push({ + name: "--NODE_CONFIG argument", + parsed: cmdLineConfig, + }); + } + + // Place the mixed NODE_CONFIG into the environment + env['NODE_CONFIG'] = JSON.stringify(util.extendDeep(envConfig, cmdLineConfig, {})); + } + + // Override with environment variables if there is a custom-environment-variables.EXT mapping file + var customEnvVars = util.getCustomEnvVars(CONFIG_DIR, extNames); + util.extendDeep(config, customEnvVars); + + // Extend the original config with the contents of runtime.json (backwards compatibility) + var runtimeJson = util.parseFile(RUNTIME_JSON_FILENAME) || {}; + util.extendDeep(config, runtimeJson); + + util.resolveDeferredConfigs(config); + + // Return the configuration object + return config; +}; + +/** + * Return a list of fullFilenames who exists in allowedFiles + * Ordered according to allowedFiles argument specifications + * + * @protected + * @method locateMatchingFiles + * @param configDirs {string} the config dir, or multiple dirs separated by a column (:) + * @param allowedFiles {object} an object. keys and supported filenames + * and values are the position in the resolution order + * @returns {string[]} fullFilenames - path + filename + */ +util.locateMatchingFiles = function(configDirs, allowedFiles) { + return configDirs.split(Path.delimiter) + .reduce(function(files, configDir) { + if (configDir) { + try { + FileSystem.readdirSync(configDir).forEach(function(file) { + if (allowedFiles[file]) { + files.push([allowedFiles[file], Path.join(configDir, file)]); + } + }); + } + catch(e) {} + return files; + } + }, []) + .sort(function(a, b) { return a[0] - b[0]; }) + .map(function(file) { return file[1]; }); +}; + +// Using basic recursion pattern, find all the deferred values and resolve them. +util.resolveDeferredConfigs = function (config) { + var deferred = []; + + function _iterate (prop) { + + // We put the properties we are going to look it in an array to keep the order predictable + var propsToSort = []; + + // First step is to put the properties of interest in an array + for (var property in prop) { + if (prop.hasOwnProperty(property) && prop[property] != null) { + propsToSort.push(property); + } + } + + // Second step is to iterate of the elements in a predictable (sorted) order + propsToSort.sort().forEach(function (property) { + if (prop[property].constructor === Object) { + _iterate(prop[property]); + } else if (prop[property].constructor === Array) { + for (var i = 0; i < prop[property].length; i++) { + if (prop[property][i] instanceof DeferredConfig) { + deferred.push(prop[property][i].prepare(config, prop[property], i)); + } + else { + _iterate(prop[property][i]); + } + } + } else { + if (prop[property] instanceof DeferredConfig) { + deferred.push(prop[property].prepare(config, prop, property)); + } + // else: Nothing to do. Keep the property how it is. + } + }); + } + + _iterate(config); + + deferred.forEach(function (defer) { defer.resolve(); }); +}; + +/** + * Parse and return the specified configuration file. + * + * If the file exists in the application config directory, it will + * parse and return it as a JavaScript object. + * + * The file extension determines the parser to use. + * + * .js = File to run that has a module.exports containing the config object + * .coffee = File to run that has a module.exports with coffee-script containing the config object + * .iced = File to run that has a module.exports with iced-coffee-script containing the config object + * All other supported file types (yaml, toml, json, cson, hjson, json5, properties, xml) + * are parsed with util.parseString. + * + * If the file doesn't exist, a null will be returned. If the file can't be + * parsed, an exception will be thrown. + * + * This method performs synchronous file operations, and should not be called + * after synchronous module loading. + * + * @protected + * @method parseFile + * @param fullFilename {string} The full file path and name + * @return configObject {object|null} The configuration object parsed from the file + */ +util.parseFile = function(fullFilename) { + var t = this, // Initialize + configObject = null, + fileContent = null, + stat = null; + + // Note that all methods here are the Sync versions. This is appropriate during + // module loading (which is a synchronous operation), but not thereafter. + + try { + // Try loading the file. + fileContent = FileSystem.readFileSync(fullFilename, 'utf-8'); + fileContent = fileContent.replace(/^\uFEFF/, ''); + } + catch (e2) { + if (e2.code !== 'ENOENT') { + throw new Error('Config file ' + fullFilename + ' cannot be read. Error code is: '+e2.code + +'. Error message is: '+e2.message); + } + return null; // file doesn't exists + } + + // Parse the file based on extension + try { + + // skip if it's a gitcrypt file and CONFIG_SKIP_GITCRYPT is true + if (CONFIG_SKIP_GITCRYPT) { + if (gitCryptTestRegex.test(fileContent)) { + console.error('WARNING: ' + fullFilename + ' is a git-crypt file and CONFIG_SKIP_GITCRYPT is set. skipping.'); + return null; + } + } + + configObject = Parser.parse(fullFilename, fileContent); + } + catch (e3) { + if (gitCryptTestRegex.test(fileContent)) { + console.error('ERROR: ' + fullFilename + ' is a git-crypt file and CONFIG_SKIP_GITCRYPT is not set.'); + } + throw new Error("Cannot parse config file: '" + fullFilename + "': " + e3); + } + + // Keep track of this configuration sources, including empty ones + if (typeof configObject === 'object') { + configSources.push({ + name: fullFilename, + original: fileContent, + parsed: configObject, + }); + } + + return configObject; +}; + +/** + * Parse and return the specied string with the specified format. + * + * The format determines the parser to use. + * + * json = File is parsed using JSON.parse() + * yaml (or yml) = Parsed with a YAML parser + * toml = Parsed with a TOML parser + * cson = Parsed with a CSON parser + * hjson = Parsed with a HJSON parser + * json5 = Parsed with a JSON5 parser + * properties = Parsed with the 'properties' node package + * xml = Parsed with a XML parser + * + * If the file doesn't exist, a null will be returned. If the file can't be + * parsed, an exception will be thrown. + * + * This method performs synchronous file operations, and should not be called + * after synchronous module loading. + * + * @protected + * @method parseString + * @param content {string} The full content + * @param format {string} The format to be parsed + * @return {configObject} The configuration object parsed from the string + */ +util.parseString = function (content, format) { + var parser = Parser.getParser(format); + if (typeof parser === 'function') { + return parser(null, content); + } +}; + +/** + * Attach the Config class prototype to all config objects recursively. + * + *

+ * This allows you to do anything with CONFIG sub-objects as you can do with + * the top-level CONFIG object. It's so you can do this: + *

+ * + *
+ *   var CUST_CONFIG = require('config').Customer;
+ *   CUST_CONFIG.get(...)
+ * 
+ * + * @protected + * @method attachProtoDeep + * @param toObject + * @param depth + * @return toObject + */ +util.attachProtoDeep = function(toObject, depth) { + if (toObject instanceof RawConfig) { + return toObject; + } + + // Recursion detection + var t = this; + depth = (depth === null ? DEFAULT_CLONE_DEPTH : depth); + if (depth < 0) { + return toObject; + } + + // Adding Config.prototype methods directly to toObject as hidden properties + // because adding to toObject.__proto__ exposes the function in toObject + for (var fnName in Config.prototype) { + if (!toObject[fnName]) { + util.makeHidden(toObject, fnName, Config.prototype[fnName]); + } + } + + // Add prototypes to sub-objects + for (var prop in toObject) { + if (util.isObject(toObject[prop])) { + util.attachProtoDeep(toObject[prop], depth - 1); + } + } + + // Return the original object + return toObject; +}; + +/** + * Return a deep copy of the specified object. + * + * This returns a new object with all elements copied from the specified + * object. Deep copies are made of objects and arrays so you can do anything + * with the returned object without affecting the input object. + * + * @protected + * @method cloneDeep + * @param parent {object} The original object to copy from + * @param [depth=20] {Integer} Maximum depth (default 20) + * @return {object} A new object with the elements copied from the copyFrom object + * + * This method is copied from https://github.com/pvorb/node-clone/blob/17eea36140d61d97a9954c53417d0e04a00525d9/clone.js + * + * Copyright © 2011-2014 Paul Vorbach and contributors. + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the “Software”), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: The above copyright notice and this permission + * notice shall be included in all copies or substantial portions of the Software. + */ +util.cloneDeep = function cloneDeep(parent, depth, circular, prototype) { + // maintain two arrays for circular references, where corresponding parents + // and children have the same index + var allParents = []; + var allChildren = []; + + var useBuffer = typeof Buffer != 'undefined'; + + if (typeof circular === 'undefined') + circular = true; + + if (typeof depth === 'undefined') + depth = 20; + + // recurse this function so we don't reset allParents and allChildren + function _clone(parent, depth) { + // cloning null always returns null + if (parent === null) + return null; + + if (depth === 0) + return parent; + + var child; + if (typeof parent != 'object') { + return parent; + } + + if (Utils.isArray(parent)) { + child = []; + } else if (Utils.isRegExp(parent)) { + child = new RegExp(parent.source, util.getRegExpFlags(parent)); + if (parent.lastIndex) child.lastIndex = parent.lastIndex; + } else if (Utils.isDate(parent)) { + child = new Date(parent.getTime()); + } else if (useBuffer && Buffer.isBuffer(parent)) { + child = Buffer.alloc(parent.length); + parent.copy(child); + return child; + } else { + if (typeof prototype === 'undefined') child = Object.create(Object.getPrototypeOf(parent)); + else child = Object.create(prototype); + } + + if (circular) { + var index = allParents.indexOf(parent); + + if (index != -1) { + return allChildren[index]; + } + allParents.push(parent); + allChildren.push(child); + } + + for (var i in parent) { + var propDescriptor = Object.getOwnPropertyDescriptor(parent,i); + var hasGetter = ((propDescriptor !== undefined) && (propDescriptor.get !== undefined)); + + if (hasGetter){ + Object.defineProperty(child,i,propDescriptor); + } else if (util.isPromise(parent[i])) { + child[i] = parent[i]; + } else { + child[i] = _clone(parent[i], depth - 1); + } + } + + return child; + } + + return _clone(parent, depth); +}; + +/** + * Set objects given a path as a string list + * + * @protected + * @method setPath + * @param object {object} - Object to set the property on + * @param path {array[string]} - Array path to the property + * @param value {*} - value to set, ignoring null + */ +util.setPath = function (object, path, value) { + var nextKey = null; + if (value === null || path.length === 0) { + return; + } + else if (path.length === 1) { // no more keys to make, so set the value + object[path.shift()] = value; + } + else { + nextKey = path.shift(); + if (!object.hasOwnProperty(nextKey)) { + object[nextKey] = {}; + } + util.setPath(object[nextKey], path, value); + } +}; + +/** + * Create a new object patterned after substitutionMap, where: + * 1. Terminal string values in substitutionMap are used as keys + * 2. To look up values in a key-value store, variables + * 3. And parent keys are created as necessary to retain the structure of substitutionMap. + * + * @protected + * @method substituteDeep + * @param substitionMap {object} - an object whose terminal (non-subobject) values are strings + * @param variables {object[string:value]} - usually process.env, a flat object used to transform + * terminal values in a copy of substititionMap. + * @returns {object} - deep copy of substitutionMap with only those paths whose terminal values + * corresponded to a key in `variables` + */ +util.substituteDeep = function (substitutionMap, variables) { + var result = {}; + + function _substituteVars(map, vars, pathTo) { + for (var prop in map) { + var value = map[prop]; + if (typeof(value) === 'string') { // We found a leaf variable name + if (vars[value] !== undefined) { // if the vars provide a value set the value in the result map + util.setPath(result, pathTo.concat(prop), vars[value]); + } + } + else if (util.isObject(value)) { // work on the subtree, giving it a clone of the pathTo + if ('__name' in value && '__format' in value && vars[value.__name] !== undefined) { + try { + var parsedValue = util.parseString(vars[value.__name], value.__format); + } catch(err) { + err.message = '__format parser error in ' + value.__name + ': ' + err.message; + throw err; + } + util.setPath(result, pathTo.concat(prop), parsedValue); + } else { + _substituteVars(value, vars, pathTo.concat(prop)); + } + } + else { + msg = "Illegal key type for substitution map at " + pathTo.join('.') + ': ' + typeof(value); + throw Error(msg); + } + } + } + + _substituteVars(substitutionMap, variables, []); + return result; + +}; + +/* Map environment variables into the configuration if a mapping file, + * `custom-environment-variables.EXT` exists. + * + * @protected + * @method getCustomEnvVars + * @param CONFIG_DIR {string} - the passsed configuration directory + * @param extNames {Array[string]} - acceptable configuration file extension names. + * @returns {object} - mapped environment variables or {} if there are none + */ +util.getCustomEnvVars = function (CONFIG_DIR, extNames) { + var result = {}; + var resolutionIndex = 1; + var allowedFiles = {}; + extNames.forEach(function (extName) { + allowedFiles['custom-environment-variables' + '.' + extName] = resolutionIndex++; + }); + var locatedFiles = util.locateMatchingFiles(CONFIG_DIR, allowedFiles); + locatedFiles.forEach(function (fullFilename) { + var configObj = util.parseFile(fullFilename); + if (configObj) { + var environmentSubstitutions = util.substituteDeep(configObj, process.env); + util.extendDeep(result, environmentSubstitutions); + } + }); + return result; +}; + +/** + * Return true if two objects have equal contents. + * + * @protected + * @method equalsDeep + * @param object1 {object} The object to compare from + * @param object2 {object} The object to compare with + * @param depth {integer} An optional depth to prevent recursion. Default: 20. + * @return {boolean} True if both objects have equivalent contents + */ +util.equalsDeep = function(object1, object2, depth) { + + // Recursion detection + var t = this; + depth = (depth === null ? DEFAULT_CLONE_DEPTH : depth); + if (depth < 0) { + return {}; + } + + // Fast comparisons + if (!object1 || !object2) { + return false; + } + if (object1 === object2) { + return true; + } + if (typeof(object1) != 'object' || typeof(object2) != 'object') { + return false; + } + + // They must have the same keys. If their length isn't the same + // then they're not equal. If the keys aren't the same, the value + // comparisons will fail. + if (Object.keys(object1).length != Object.keys(object2).length) { + return false; + } + + // Compare the values + for (var prop in object1) { + + // Call recursively if an object or array + if (object1[prop] && typeof(object1[prop]) === 'object') { + if (!util.equalsDeep(object1[prop], object2[prop], depth - 1)) { + return false; + } + } + else { + if (object1[prop] !== object2[prop]) { + return false; + } + } + } + + // Test passed. + return true; +}; + +/** + * Returns an object containing all elements that differ between two objects. + *

+ * This method was designed to be used to create the runtime.json file + * contents, but can be used to get the diffs between any two Javascript objects. + *

+ *

+ * It works best when object2 originated by deep copying object1, then + * changes were made to object2, and you want an object that would give you + * the changes made to object1 which resulted in object2. + *

+ * + * @protected + * @method diffDeep + * @param object1 {object} The base object to compare to + * @param object2 {object} The object to compare with + * @param depth {integer} An optional depth to prevent recursion. Default: 20. + * @return {object} A differential object, which if extended onto object1 would + * result in object2. + */ +util.diffDeep = function(object1, object2, depth) { + + // Recursion detection + var t = this, diff = {}; + depth = (depth === null ? DEFAULT_CLONE_DEPTH : depth); + if (depth < 0) { + return {}; + } + + // Process each element from object2, adding any element that's different + // from object 1. + for (var parm in object2) { + var value1 = object1[parm]; + var value2 = object2[parm]; + if (value1 && value2 && util.isObject(value2)) { + if (!(util.equalsDeep(value1, value2))) { + diff[parm] = util.diffDeep(value1, value2, depth - 1); + } + } + else if (Array.isArray(value1) && Array.isArray(value2)) { + if(!util.equalsDeep(value1, value2)) { + diff[parm] = value2; + } + } + else if (value1 !== value2){ + diff[parm] = value2; + } + } + + // Return the diff object + return diff; + +}; + +/** + * Extend an object, and any object it contains. + * + * This does not replace deep objects, but dives into them + * replacing individual elements instead. + * + * @protected + * @method extendDeep + * @param mergeInto {object} The object to merge into + * @param mergeFrom... {object...} - Any number of objects to merge from + * @param depth {integer} An optional depth to prevent recursion. Default: 20. + * @return {object} The altered mergeInto object is returned + */ +util.extendDeep = function(mergeInto) { + + // Initialize + var t = this; + var vargs = Array.prototype.slice.call(arguments, 1); + var depth = vargs.pop(); + if (typeof(depth) != 'number') { + vargs.push(depth); + depth = DEFAULT_CLONE_DEPTH; + } + + // Recursion detection + if (depth < 0) { + return mergeInto; + } + + // Cycle through each object to extend + vargs.forEach(function(mergeFrom) { + + // Cycle through each element of the object to merge from + for (var prop in mergeFrom) { + + // save original value in deferred elements + var fromIsDeferredFunc = mergeFrom[prop] instanceof DeferredConfig; + var isDeferredFunc = mergeInto[prop] instanceof DeferredConfig; + + if (fromIsDeferredFunc && mergeInto.hasOwnProperty(prop)) { + mergeFrom[prop]._original = isDeferredFunc ? mergeInto[prop]._original : mergeInto[prop]; + } + // Extend recursively if both elements are objects and target is not really a deferred function + if (mergeFrom[prop] instanceof Date) { + mergeInto[prop] = mergeFrom[prop]; + } if (mergeFrom[prop] instanceof RegExp) { + mergeInto[prop] = mergeFrom[prop]; + } else if (util.isObject(mergeInto[prop]) && util.isObject(mergeFrom[prop]) && !isDeferredFunc) { + util.extendDeep(mergeInto[prop], mergeFrom[prop], depth - 1); + } + else if (util.isPromise(mergeFrom[prop])) { + mergeInto[prop] = mergeFrom[prop]; + } + // Copy recursively if the mergeFrom element is an object (or array or fn) + else if (mergeFrom[prop] && typeof mergeFrom[prop] === 'object') { + mergeInto[prop] = util.cloneDeep(mergeFrom[prop], depth -1); + } + + // Copy property descriptor otherwise, preserving accessors + else if (Object.getOwnPropertyDescriptor(Object(mergeFrom), prop)){ + Object.defineProperty(mergeInto, prop, Object.getOwnPropertyDescriptor(Object(mergeFrom), prop)); + } else { + mergeInto[prop] = mergeFrom[prop]; + } + } + }); + + // Chain + return mergeInto; + +}; + +/** + * Is the specified argument a regular javascript object? + * + * The argument is an object if it's a JS object, but not an array. + * + * @protected + * @method isObject + * @param obj {*} An argument of any type. + * @return {boolean} TRUE if the arg is an object, FALSE if not + */ +util.isObject = function(obj) { + return (obj !== null) && (typeof obj === 'object') && !(Array.isArray(obj)); +}; + +/** + * Is the specified argument a javascript promise? + * + * @protected + * @method isPromise + * @param obj {*} An argument of any type. + * @returns {boolean} + */ +util.isPromise = function(obj) { + return Object.prototype.toString.call(obj) === '[object Promise]'; +}; + +/** + *

Initialize a parameter from the command line or process environment

+ * + *

+ * This method looks for the parameter from the command line in the format + * --PARAMETER=VALUE, then from the process environment, then from the + * default specified as an argument. + *

+ * + * @method initParam + * @param paramName {String} Name of the parameter + * @param [defaultValue] {Any} Default value of the parameter + * @return {Any} The found value, or default value + */ +util.initParam = function (paramName, defaultValue) { + var t = this; + + // Record and return the value + var value = util.getCmdLineArg(paramName) || process.env[paramName] || defaultValue; + env[paramName] = value; + return value; +} + +/** + *

Get Command Line Arguments

+ * + *

+ * This method allows you to retrieve the value of the specified command line argument. + *

+ * + *

+ * The argument is case sensitive, and must be of the form '--ARG_NAME=value' + *

+ * + * @method getCmdLineArg + * @param searchFor {String} The argument name to search for + * @return {*} false if the argument was not found, the argument value if found + */ +util.getCmdLineArg = function (searchFor) { + var cmdLineArgs = process.argv.slice(2, process.argv.length), + argName = '--' + searchFor + '='; + + for (var argvIt = 0; argvIt < cmdLineArgs.length; argvIt++) { + if (cmdLineArgs[argvIt].indexOf(argName) === 0) { + return cmdLineArgs[argvIt].substr(argName.length); + } + } + + return false; +} + +/** + *

Get a Config Environment Variable Value

+ * + *

+ * This method returns the value of the specified config environment variable, + * including any defaults or overrides. + *

+ * + * @method getEnv + * @param varName {String} The environment variable name + * @return {String} The value of the environment variable + */ +util.getEnv = function (varName) { + return env[varName]; +} + + + +/** + * Returns a string of flags for regular expression `re`. + * + * @param {RegExp} re Regular expression + * @returns {string} Flags + */ +util.getRegExpFlags = function (re) { + var flags = ''; + re.global && (flags += 'g'); + re.ignoreCase && (flags += 'i'); + re.multiline && (flags += 'm'); + return flags; +}; + +/** + * Returns a new deep copy of the current config object, or any part of the config if provided. + * + * @param {Object} config The part of the config to copy and serialize. Omit this argument to return the entire config. + * @returns {Object} The cloned config or part of the config + */ +util.toObject = function(config) { + return JSON.parse(JSON.stringify(config || this)); +}; + +// Run strictness checks on NODE_ENV and NODE_APP_INSTANCE and throw an error if there's a problem. +util.runStrictnessChecks = function (config) { + var sources = config.util.getConfigSources(); + + var sourceFilenames = sources.map(function (src) { + return Path.basename(src.name); + }); + + NODE_ENV.forEach(function(env) { + // Throw an exception if there's no explicit config file for NODE_ENV + var anyFilesMatchEnv = sourceFilenames.some(function (filename) { + return filename.match(env); + }); + // development is special-cased because it's the default value + if (env && (env !== 'development') && !anyFilesMatchEnv) { + _warnOrThrow(NODE_ENV_VAR_NAME+" value of '"+env+"' did not match any deployment config file names."); + } + // Throw if NODE_ENV matches' default' or 'local' + if ((env === 'default') || (env === 'local')) { + _warnOrThrow(NODE_ENV_VAR_NAME+" value of '"+env+"' is ambiguous."); + } + }); + + // Throw an exception if there's no explict config file for NODE_APP_INSTANCE + var anyFilesMatchInstance = sourceFilenames.some(function (filename) { + return filename.match(APP_INSTANCE); + }); + if (APP_INSTANCE && !anyFilesMatchInstance) { + _warnOrThrow("NODE_APP_INSTANCE value of '"+APP_INSTANCE+"' did not match any instance config file names."); + } + + function _warnOrThrow (msg) { + var beStrict = process.env.NODE_CONFIG_STRICT_MODE; + var prefix = beStrict ? 'FATAL: ' : 'WARNING: '; + var seeURL = 'See https://github.com/lorenwest/node-config/wiki/Strict-Mode'; + + console.error(prefix+msg); + console.error(prefix+seeURL); + + // Accept 1 and true as truthy values. When set via process.env, Node.js casts them to strings. + if (["true", "1"].indexOf(beStrict) >= 0) { + throw new Error(prefix+msg+' '+seeURL); + } + } +}; + +// Instantiate and export the configuration +var config = module.exports = new Config(); + +// copy methods to util for backwards compatibility +util.stripComments = Parser.stripComments; +util.stripYamlComments = Parser.stripYamlComments; + +// Produce warnings if the configuration is empty +var showWarnings = !(util.initParam('SUPPRESS_NO_CONFIG_WARNING')); +if (showWarnings && Object.keys(config).length === 0) { + console.error('WARNING: No configurations found in configuration directory:' +CONFIG_DIR); + console.error('WARNING: To disable this warning set SUPPRESS_NO_CONFIG_WARNING in the environment.'); +} diff --git a/node_modules/config/package.json b/node_modules/config/package.json new file mode 100644 index 00000000..cde4b843 --- /dev/null +++ b/node_modules/config/package.json @@ -0,0 +1,81 @@ +{ + "_from": "config", + "_id": "config@3.3.3", + "_inBundle": false, + "_integrity": "sha512-T3RmZQEAji5KYqUQpziWtyGJFli6Khz7h0rpxDwYNjSkr5ynyTWwO7WpfjHzTXclNCDfSWQRcwMb+NwxJesCKw==", + "_location": "/config", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "config", + "name": "config", + "escapedName": "config", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/config/-/config-3.3.3.tgz", + "_shasum": "d3c110fce543022c2fde28712e4f1b8440dee101", + "_spec": "config", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot", + "author": { + "name": "Loren West", + "email": "open_source@lorenwest.com" + }, + "bugs": { + "url": "https://github.com/lorenwest/node-config/issues" + }, + "bundleDependencies": false, + "dependencies": { + "json5": "^2.1.1" + }, + "deprecated": false, + "description": "Configuration control for production node deployments", + "devDependencies": { + "@types/node": "^7.0.8", + "coffeescript": "2.2.4", + "cson": "^3.0.1", + "hjson": "^1.2.0", + "js-yaml": "^3.2.2", + "properties": "~1.2.1", + "semver": "5.3.0", + "toml": "^2.0.6", + "ts-node": "^3.3.0", + "typescript": "^2.4.2", + "underscore": "^1.8.3", + "vows": ">=0.8.1", + "x2js": "^2.0.1" + }, + "directories": { + "lib": "./lib" + }, + "engines": { + "node": ">= 6.0.0" + }, + "homepage": "http://lorenwest.github.com/node-config", + "keywords": [ + "conf", + "config", + "configuration", + "node-config", + "config-node", + "env", + "environment" + ], + "license": "MIT", + "main": "./lib/config.js", + "name": "config", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/lorenwest/node-config.git" + }, + "scripts": { + "test": "./node_modules/vows/bin/vows test/*.js --spec" + }, + "version": "3.3.3" +} diff --git a/node_modules/config/parser.js b/node_modules/config/parser.js new file mode 100644 index 00000000..33bb381f --- /dev/null +++ b/node_modules/config/parser.js @@ -0,0 +1,358 @@ +// External libraries are lazy-loaded only if these file types exist. +var Yaml = null, + VisionmediaYaml = null, + Coffee = null, + Iced = null, + CSON = null, + PPARSER = null, + JSON5 = null, + TOML = null, + HJSON = null, + XML = null; + +// Define soft dependencies so transpilers don't include everything +var COFFEE_2_DEP = 'coffeescript', + COFFEE_DEP = 'coffee-script', + ICED_DEP = 'iced-coffee-script', + JS_YAML_DEP = 'js-yaml', + YAML_DEP = 'yaml', + JSON5_DEP = 'json5', + HJSON_DEP = 'hjson', + TOML_DEP = 'toml', + CSON_DEP = 'cson', + PPARSER_DEP = 'properties', + XML_DEP = 'x2js', + TS_DEP = 'ts-node'; + +var Parser = module.exports; + +Parser.parse = function(filename, content) { + var parserName = filename.substr(filename.lastIndexOf('.') +1); // file extension + if (typeof definitions[parserName] === 'function') { + return definitions[parserName](filename, content); + } + // TODO: decide what to do in case of a missing parser +}; + +Parser.xmlParser = function(filename, content) { + if (!XML) { + XML = require(XML_DEP); + } + var x2js = new XML(); + var configObject = x2js.xml2js(content); + var rootKeys = Object.keys(configObject); + if(rootKeys.length === 1) { + return configObject[rootKeys[0]]; + } + return configObject; +}; + +Parser.jsParser = function(filename, content) { + return require(filename); +}; + +Parser.tsParser = function(filename, content) { + if (!require.extensions['.ts']) { + require(TS_DEP).register({ + lazy: true, + compilerOptions: { + allowJs: true, + } + }); + } + + // Imports config if it is exported via module.exports = ... + // See https://github.com/lorenwest/node-config/issues/524 + var configObject = require(filename); + + // Because of ES6 modules usage, `default` is treated as named export (like any other) + // Therefore config is a value of `default` key. + if (configObject.default) { + return configObject.default + } + return configObject; +}; + +Parser.coffeeParser = function(filename, content) { + // .coffee files can be loaded with either coffee-script or iced-coffee-script. + // Prefer iced-coffee-script, if it exists. + // Lazy load the appropriate extension + if (!Coffee) { + Coffee = {}; + + // The following enables iced-coffee-script on .coffee files, if iced-coffee-script is available. + // This is commented as per a decision on a pull request. + //try { + // Coffee = require('iced-coffee-script'); + //} + //catch (e) { + // Coffee = require('coffee-script'); + //} + try { + // Try to load coffeescript + Coffee = require(COFFEE_2_DEP); + } + catch (e) { + // If it doesn't exist, try to load it using the deprecated module name + Coffee = require(COFFEE_DEP); + } + // coffee-script >= 1.7.0 requires explicit registration for require() to work + if (Coffee.register) { + Coffee.register(); + } + } + // Use the built-in parser for .coffee files with coffee-script + return require(filename); +}; + +Parser.icedParser = function(filename, content) { + Iced = require(ICED_DEP); + + // coffee-script >= 1.7.0 requires explicit registration for require() to work + if (Iced.register) { + Iced.register(); + } +}; + +Parser.yamlParser = function(filename, content) { + if (!Yaml && !VisionmediaYaml) { + // Lazy loading + try { + // Try to load the better js-yaml module + Yaml = require(JS_YAML_DEP); + } + catch (e) { + try { + // If it doesn't exist, load the fallback visionmedia yaml module. + VisionmediaYaml = require(YAML_DEP); + } + catch (e) { } + } + } + if (Yaml) { + return Yaml.load(content); + } + else if (VisionmediaYaml) { + // The yaml library doesn't like strings that have newlines but don't + // end in a newline: https://github.com/visionmedia/js-yaml/issues/issue/13 + content += '\n'; + return VisionmediaYaml.eval(Parser.stripYamlComments(content)); + } + else { + console.error('No YAML parser loaded. Suggest adding js-yaml dependency to your package.json file.') + } +}; + +Parser.jsonParser = function(filename, content) { + try { + return JSON.parse(content); + } + catch (e) { + // All JS Style comments will begin with /, so all JSON parse errors that + // encountered a syntax error will complain about this character. + if (e.name !== 'SyntaxError' || e.message.indexOf('Unexpected token /') !== 0) { + throw e; + } + if (!JSON5) { + JSON5 = require(JSON5_DEP); + } + return JSON5.parse(content); + } +}; + +Parser.json5Parser = function(filename, content) { + if (!JSON5) { + JSON5 = require(JSON5_DEP); + } + return JSON5.parse(content); +}; + +Parser.hjsonParser = function(filename, content) { + if (!HJSON) { + HJSON = require(HJSON_DEP); + } + return HJSON.parse(content); +}; + +Parser.tomlParser = function(filename, content) { + if(!TOML) { + TOML = require(TOML_DEP); + } + return TOML.parse(content); +}; + +Parser.csonParser = function(filename, content) { + if (!CSON) { + CSON = require(CSON_DEP); + } + // Allow comments in CSON files + if (typeof CSON.parseSync === 'function') { + return CSON.parseSync(Parser.stripComments(content)); + } + return CSON.parse(Parser.stripComments(content)); +}; + +Parser.propertiesParser = function(filename, content) { + if (!PPARSER) { + PPARSER = require(PPARSER_DEP); + } + return PPARSER.parse(content, { namespaces: true, variables: true, sections: true }); +}; + +/** + * Strip all Javascript type comments from the string. + * + * The string is usually a file loaded from the O/S, containing + * newlines and javascript type comments. + * + * Thanks to James Padolsey, and all who contributed to this implementation. + * http://james.padolsey.com/javascript/javascript-comment-removal-revisted/ + * + * @protected + * @method stripComments + * @param fileStr {string} The string to strip comments from + * @param stringRegex {RegExp} Optional regular expression to match strings that + * make up the config file + * @return {string} The string with comments stripped. + */ +Parser.stripComments = function(fileStr, stringRegex) { + stringRegex = stringRegex || /(['"])(\\\1|.)+?\1/g; + + var uid = '_' + +new Date(), + primitives = [], + primIndex = 0; + + return ( + fileStr + + /* Remove strings */ + .replace(stringRegex, function(match){ + primitives[primIndex] = match; + return (uid + '') + primIndex++; + }) + + /* Remove Regexes */ + .replace(/([^\/])(\/(?!\*|\/)(\\\/|.)+?\/[gim]{0,3})/g, function(match, $1, $2){ + primitives[primIndex] = $2; + return $1 + (uid + '') + primIndex++; + }) + + /* + - Remove single-line comments that contain would-be multi-line delimiters + E.g. // Comment /* <-- + - Remove multi-line comments that contain would be single-line delimiters + E.g. /* // <-- + */ + .replace(/\/\/.*?\/?\*.+?(?=\n|\r|$)|\/\*[\s\S]*?\/\/[\s\S]*?\*\//g, '') + + /* + Remove single and multi-line comments, + no consideration of inner-contents + */ + .replace(/\/\/.+?(?=\n|\r|$)|\/\*[\s\S]+?\*\//g, '') + + /* + Remove multi-line comments that have a replaced ending (string/regex) + Greedy, so no inner strings/regexes will stop it. + */ + .replace(RegExp('\\/\\*[\\s\\S]+' + uid + '\\d+', 'g'), '') + + /* Bring back strings & regexes */ + .replace(RegExp(uid + '(\\d+)', 'g'), function(match, n){ + return primitives[n]; + }) + ); + +}; + +/** + * Strip YAML comments from the string + * + * The 2.0 yaml parser doesn't allow comment-only or blank lines. Strip them. + * + * @protected + * @method stripYamlComments + * @param fileStr {string} The string to strip comments from + * @return {string} The string with comments stripped. + */ +Parser.stripYamlComments = function(fileStr) { + // First replace removes comment-only lines + // Second replace removes blank lines + return fileStr.replace(/^\s*#.*/mg,'').replace(/^\s*[\n|\r]+/mg,''); +}; + +/** + * Parses the environment variable to the boolean equivalent. + * Defaults to false + * + * @param {String} content - Environment variable value + * @return {boolean} - Boolean value fo the passed variable value + */ +Parser.booleanParser = function(filename, content) { + return content === 'true'; +}; + +/** + * Parses the environment variable to the number equivalent. + * Defaults to undefined + * + * @param {String} content - Environment variable value + * @return {Number} - Number value fo the passed variable value + */ +Parser.numberParser = function(filename, content) { + const numberValue = Number(content); + return Number.isNaN(numberValue) ? undefined : numberValue; +}; + +var order = ['js', 'cjs', 'ts', 'json', 'json5', 'hjson', 'toml', 'coffee', 'iced', 'yaml', 'yml', 'cson', 'properties', 'xml', + 'boolean', 'number']; +var definitions = { + cjs: Parser.jsParser, + coffee: Parser.coffeeParser, + cson: Parser.csonParser, + hjson: Parser.hjsonParser, + iced: Parser.icedParser, + js: Parser.jsParser, + json: Parser.jsonParser, + json5: Parser.json5Parser, + properties: Parser.propertiesParser, + toml: Parser.tomlParser, + ts: Parser.tsParser, + xml: Parser.xmlParser, + yaml: Parser.yamlParser, + yml: Parser.yamlParser, + boolean: Parser.booleanParser, + number: Parser.numberParser +}; + +Parser.getParser = function(name) { + return definitions[name]; +}; + +Parser.setParser = function(name, parser) { + definitions[name] = parser; + if (order.indexOf(name) === -1) { + order.push(name); + } +}; + +Parser.getFilesOrder = function(name) { + if (name) { + return order.indexOf(name); + } + return order; +}; + +Parser.setFilesOrder = function(name, newIndex) { + if (Array.isArray(name)) { + return order = name; + } + if (typeof newIndex === 'number') { + var index = order.indexOf(name); + order.splice(newIndex, 0, name); + if (index > -1) { + order.splice(index >= newIndex ? index +1 : index, 1); + } + } + return order; +}; diff --git a/node_modules/config/raw.js b/node_modules/config/raw.js new file mode 100644 index 00000000..702e7ceb --- /dev/null +++ b/node_modules/config/raw.js @@ -0,0 +1,15 @@ +/** + * This is meant to wrap configuration objects that should be left as is, + * meaning that the object or its protoype will not be modified in any way + */ +function RawConfig () { +} + +function raw(rawObj) { + var obj = Object.create(RawConfig.prototype); + obj.resolve = function () { return rawObj; } + return obj; +} + +module.exports.RawConfig = RawConfig; +module.exports.raw = raw; diff --git a/node_modules/debug/LICENSE b/node_modules/debug/LICENSE new file mode 100644 index 00000000..658c933d --- /dev/null +++ b/node_modules/debug/LICENSE @@ -0,0 +1,19 @@ +(The MIT License) + +Copyright (c) 2014 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/node_modules/debug/README.md b/node_modules/debug/README.md new file mode 100644 index 00000000..88dae35d --- /dev/null +++ b/node_modules/debug/README.md @@ -0,0 +1,455 @@ +# debug +[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug) [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master) [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers) +[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors) + + + +A tiny JavaScript debugging utility modelled after Node.js core's debugging +technique. Works in Node.js and web browsers. + +## Installation + +```bash +$ npm install debug +``` + +## Usage + +`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole. + +Example [_app.js_](./examples/node/app.js): + +```js +var debug = require('debug')('http') + , http = require('http') + , name = 'My App'; + +// fake app + +debug('booting %o', name); + +http.createServer(function(req, res){ + debug(req.method + ' ' + req.url); + res.end('hello\n'); +}).listen(3000, function(){ + debug('listening'); +}); + +// fake worker of some kind + +require('./worker'); +``` + +Example [_worker.js_](./examples/node/worker.js): + +```js +var a = require('debug')('worker:a') + , b = require('debug')('worker:b'); + +function work() { + a('doing lots of uninteresting work'); + setTimeout(work, Math.random() * 1000); +} + +work(); + +function workb() { + b('doing some work'); + setTimeout(workb, Math.random() * 2000); +} + +workb(); +``` + +The `DEBUG` environment variable is then used to enable these based on space or +comma-delimited names. + +Here are some examples: + +screen shot 2017-08-08 at 12 53 04 pm +screen shot 2017-08-08 at 12 53 38 pm +screen shot 2017-08-08 at 12 53 25 pm + +#### Windows command prompt notes + +##### CMD + +On Windows the environment variable is set using the `set` command. + +```cmd +set DEBUG=*,-not_this +``` + +Example: + +```cmd +set DEBUG=* & node app.js +``` + +##### PowerShell (VS Code default) + +PowerShell uses different syntax to set environment variables. + +```cmd +$env:DEBUG = "*,-not_this" +``` + +Example: + +```cmd +$env:DEBUG='app';node app.js +``` + +Then, run the program to be debugged as usual. + +npm script example: +```js + "windowsDebug": "@powershell -Command $env:DEBUG='*';node app.js", +``` + +## Namespace Colors + +Every debug instance has a color generated for it based on its namespace name. +This helps when visually parsing the debug output to identify which debug instance +a debug line belongs to. + +#### Node.js + +In Node.js, colors are enabled when stderr is a TTY. You also _should_ install +the [`supports-color`](https://npmjs.org/supports-color) module alongside debug, +otherwise debug will only use a small handful of basic colors. + + + +#### Web Browser + +Colors are also enabled on "Web Inspectors" that understand the `%c` formatting +option. These are WebKit web inspectors, Firefox ([since version +31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/)) +and the Firebug plugin for Firefox (any version). + + + + +## Millisecond diff + +When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. + + + +When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below: + + + + +## Conventions + +If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable. You can then use it for normal output as well as debug output. + +## Wildcards + +The `*` character may be used as a wildcard. Suppose for example your library has +debuggers named "connect:bodyParser", "connect:compress", "connect:session", +instead of listing all three with +`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do +`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. + +You can also exclude specific debuggers by prefixing them with a "-" character. +For example, `DEBUG=*,-connect:*` would include all debuggers except those +starting with "connect:". + +## Environment Variables + +When running through Node.js, you can set a few environment variables that will +change the behavior of the debug logging: + +| Name | Purpose | +|-----------|-------------------------------------------------| +| `DEBUG` | Enables/disables specific debugging namespaces. | +| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY). | +| `DEBUG_COLORS`| Whether or not to use colors in the debug output. | +| `DEBUG_DEPTH` | Object inspection depth. | +| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. | + + +__Note:__ The environment variables beginning with `DEBUG_` end up being +converted into an Options object that gets used with `%o`/`%O` formatters. +See the Node.js documentation for +[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options) +for the complete list. + +## Formatters + +Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting. +Below are the officially supported formatters: + +| Formatter | Representation | +|-----------|----------------| +| `%O` | Pretty-print an Object on multiple lines. | +| `%o` | Pretty-print an Object all on a single line. | +| `%s` | String. | +| `%d` | Number (both integer and float). | +| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. | +| `%%` | Single percent sign ('%'). This does not consume an argument. | + + +### Custom formatters + +You can add custom formatters by extending the `debug.formatters` object. +For example, if you wanted to add support for rendering a Buffer as hex with +`%h`, you could do something like: + +```js +const createDebug = require('debug') +createDebug.formatters.h = (v) => { + return v.toString('hex') +} + +// …elsewhere +const debug = createDebug('foo') +debug('this is hex: %h', new Buffer('hello world')) +// foo this is hex: 68656c6c6f20776f726c6421 +0ms +``` + + +## Browser Support + +You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify), +or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest), +if you don't want to build it yourself. + +Debug's enable state is currently persisted by `localStorage`. +Consider the situation shown below where you have `worker:a` and `worker:b`, +and wish to debug both. You can enable this using `localStorage.debug`: + +```js +localStorage.debug = 'worker:*' +``` + +And then refresh the page. + +```js +a = debug('worker:a'); +b = debug('worker:b'); + +setInterval(function(){ + a('doing some work'); +}, 1000); + +setInterval(function(){ + b('doing some work'); +}, 1200); +``` + + +## Output streams + + By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method: + +Example [_stdout.js_](./examples/node/stdout.js): + +```js +var debug = require('debug'); +var error = debug('app:error'); + +// by default stderr is used +error('goes to stderr!'); + +var log = debug('app:log'); +// set this namespace to log via console.log +log.log = console.log.bind(console); // don't forget to bind to console! +log('goes to stdout'); +error('still goes to stderr!'); + +// set all output to go via console.info +// overrides all per-namespace log settings +debug.log = console.info.bind(console); +error('now goes to stdout via console.info'); +log('still goes to stdout, but via console.info now'); +``` + +## Extend +You can simply extend debugger +```js +const log = require('debug')('auth'); + +//creates new debug instance with extended namespace +const logSign = log.extend('sign'); +const logLogin = log.extend('login'); + +log('hello'); // auth hello +logSign('hello'); //auth:sign hello +logLogin('hello'); //auth:login hello +``` + +## Set dynamically + +You can also enable debug dynamically by calling the `enable()` method : + +```js +let debug = require('debug'); + +console.log(1, debug.enabled('test')); + +debug.enable('test'); +console.log(2, debug.enabled('test')); + +debug.disable(); +console.log(3, debug.enabled('test')); + +``` + +print : +``` +1 false +2 true +3 false +``` + +Usage : +`enable(namespaces)` +`namespaces` can include modes separated by a colon and wildcards. + +Note that calling `enable()` completely overrides previously set DEBUG variable : + +``` +$ DEBUG=foo node -e 'var dbg = require("debug"); dbg.enable("bar"); console.log(dbg.enabled("foo"))' +=> false +``` + +`disable()` + +Will disable all namespaces. The functions returns the namespaces currently +enabled (and skipped). This can be useful if you want to disable debugging +temporarily without knowing what was enabled to begin with. + +For example: + +```js +let debug = require('debug'); +debug.enable('foo:*,-foo:bar'); +let namespaces = debug.disable(); +debug.enable(namespaces); +``` + +Note: There is no guarantee that the string will be identical to the initial +enable string, but semantically they will be identical. + +## Checking whether a debug target is enabled + +After you've created a debug instance, you can determine whether or not it is +enabled by checking the `enabled` property: + +```javascript +const debug = require('debug')('http'); + +if (debug.enabled) { + // do stuff... +} +``` + +You can also manually toggle this property to force the debug instance to be +enabled or disabled. + + +## Authors + + - TJ Holowaychuk + - Nathan Rajlich + - Andrew Rhyne + +## Backers + +Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)] + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## Sponsors + +Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## License + +(The MIT License) + +Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/debug/node_modules/ms/index.js b/node_modules/debug/node_modules/ms/index.js new file mode 100644 index 00000000..c4498bcc --- /dev/null +++ b/node_modules/debug/node_modules/ms/index.js @@ -0,0 +1,162 @@ +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var w = d * 7; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +module.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'weeks': + case 'week': + case 'w': + return n * w; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} + +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + 'd'; + } + if (msAbs >= h) { + return Math.round(ms / h) + 'h'; + } + if (msAbs >= m) { + return Math.round(ms / m) + 'm'; + } + if (msAbs >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, 'day'); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, 'hour'); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, 'minute'); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, 'second'); + } + return ms + ' ms'; +} + +/** + * Pluralization helper. + */ + +function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); +} diff --git a/node_modules/debug/node_modules/ms/license.md b/node_modules/debug/node_modules/ms/license.md new file mode 100644 index 00000000..69b61253 --- /dev/null +++ b/node_modules/debug/node_modules/ms/license.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Zeit, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/debug/node_modules/ms/package.json b/node_modules/debug/node_modules/ms/package.json new file mode 100644 index 00000000..287a4aeb --- /dev/null +++ b/node_modules/debug/node_modules/ms/package.json @@ -0,0 +1,69 @@ +{ + "_from": "ms@2.1.2", + "_id": "ms@2.1.2", + "_inBundle": false, + "_integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "_location": "/debug/ms", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "ms@2.1.2", + "name": "ms", + "escapedName": "ms", + "rawSpec": "2.1.2", + "saveSpec": null, + "fetchSpec": "2.1.2" + }, + "_requiredBy": [ + "/debug" + ], + "_resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "_shasum": "d09d1f357b443f493382a8eb3ccd183872ae6009", + "_spec": "ms@2.1.2", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\debug", + "bugs": { + "url": "https://github.com/zeit/ms/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Tiny millisecond conversion utility", + "devDependencies": { + "eslint": "4.12.1", + "expect.js": "0.3.1", + "husky": "0.14.3", + "lint-staged": "5.0.0", + "mocha": "4.0.1" + }, + "eslintConfig": { + "extends": "eslint:recommended", + "env": { + "node": true, + "es6": true + } + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/zeit/ms#readme", + "license": "MIT", + "lint-staged": { + "*.js": [ + "npm run lint", + "prettier --single-quote --write", + "git add" + ] + }, + "main": "./index", + "name": "ms", + "repository": { + "type": "git", + "url": "git+https://github.com/zeit/ms.git" + }, + "scripts": { + "lint": "eslint lib/* bin/*", + "precommit": "lint-staged", + "test": "mocha tests.js" + }, + "version": "2.1.2" +} diff --git a/node_modules/debug/node_modules/ms/readme.md b/node_modules/debug/node_modules/ms/readme.md new file mode 100644 index 00000000..9a1996b1 --- /dev/null +++ b/node_modules/debug/node_modules/ms/readme.md @@ -0,0 +1,60 @@ +# ms + +[![Build Status](https://travis-ci.org/zeit/ms.svg?branch=master)](https://travis-ci.org/zeit/ms) +[![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/zeit) + +Use this package to easily convert various time formats to milliseconds. + +## Examples + +```js +ms('2 days') // 172800000 +ms('1d') // 86400000 +ms('10h') // 36000000 +ms('2.5 hrs') // 9000000 +ms('2h') // 7200000 +ms('1m') // 60000 +ms('5s') // 5000 +ms('1y') // 31557600000 +ms('100') // 100 +ms('-3 days') // -259200000 +ms('-1h') // -3600000 +ms('-200') // -200 +``` + +### Convert from Milliseconds + +```js +ms(60000) // "1m" +ms(2 * 60000) // "2m" +ms(-3 * 60000) // "-3m" +ms(ms('10 hours')) // "10h" +``` + +### Time Format Written-Out + +```js +ms(60000, { long: true }) // "1 minute" +ms(2 * 60000, { long: true }) // "2 minutes" +ms(-3 * 60000, { long: true }) // "-3 minutes" +ms(ms('10 hours'), { long: true }) // "10 hours" +``` + +## Features + +- Works both in [Node.js](https://nodejs.org) and in the browser +- If a number is supplied to `ms`, a string with a unit is returned +- If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`) +- If you pass a string with a number and a valid unit, the number of equivalent milliseconds is returned + +## Related Packages + +- [ms.macro](https://github.com/knpwrs/ms.macro) - Run `ms` as a macro at build-time. + +## Caught a Bug? + +1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device +2. Link the package to the global module directory: `npm link` +3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, Node.js will now use your clone of ms! + +As always, you can run the tests using: `npm test` diff --git a/node_modules/debug/package.json b/node_modules/debug/package.json new file mode 100644 index 00000000..7b7977f4 --- /dev/null +++ b/node_modules/debug/package.json @@ -0,0 +1,101 @@ +{ + "_from": "debug@^4.1.0", + "_id": "debug@4.3.1", + "_inBundle": false, + "_integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "_location": "/debug", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "debug@^4.1.0", + "name": "debug", + "escapedName": "debug", + "rawSpec": "^4.1.0", + "saveSpec": null, + "fetchSpec": "^4.1.0" + }, + "_requiredBy": [ + "/minecraft-protocol" + ], + "_resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "_shasum": "f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee", + "_spec": "debug@^4.1.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\minecraft-protocol", + "author": { + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca" + }, + "browser": "./src/browser.js", + "bugs": { + "url": "https://github.com/visionmedia/debug/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Nathan Rajlich", + "email": "nathan@tootallnate.net", + "url": "http://n8.io" + }, + { + "name": "Andrew Rhyne", + "email": "rhyneandrew@gmail.com" + }, + { + "name": "Josh Junon", + "email": "josh@junon.me" + } + ], + "dependencies": { + "ms": "2.1.2" + }, + "deprecated": false, + "description": "small debugging utility", + "devDependencies": { + "brfs": "^2.0.1", + "browserify": "^16.2.3", + "coveralls": "^3.0.2", + "istanbul": "^0.4.5", + "karma": "^3.1.4", + "karma-browserify": "^6.0.0", + "karma-chrome-launcher": "^2.2.0", + "karma-mocha": "^1.3.0", + "mocha": "^5.2.0", + "mocha-lcov-reporter": "^1.2.0", + "xo": "^0.23.0" + }, + "engines": { + "node": ">=6.0" + }, + "files": [ + "src", + "LICENSE", + "README.md" + ], + "homepage": "https://github.com/visionmedia/debug#readme", + "keywords": [ + "debug", + "log", + "debugger" + ], + "license": "MIT", + "main": "./src/index.js", + "name": "debug", + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + }, + "repository": { + "type": "git", + "url": "git://github.com/visionmedia/debug.git" + }, + "scripts": { + "lint": "xo", + "test": "npm run test:node && npm run test:browser && npm run lint", + "test:browser": "karma start --single-run", + "test:coverage": "cat ./coverage/lcov.info | coveralls", + "test:node": "istanbul cover _mocha -- test.js" + }, + "version": "4.3.1" +} diff --git a/node_modules/debug/src/browser.js b/node_modules/debug/src/browser.js new file mode 100644 index 00000000..cd0fc35d --- /dev/null +++ b/node_modules/debug/src/browser.js @@ -0,0 +1,269 @@ +/* eslint-env browser */ + +/** + * This is the web browser implementation of `debug()`. + */ + +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = localstorage(); +exports.destroy = (() => { + let warned = false; + + return () => { + if (!warned) { + warned = true; + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + }; +})(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', + '#0000FF', + '#0033CC', + '#0033FF', + '#0066CC', + '#0066FF', + '#0099CC', + '#0099FF', + '#00CC00', + '#00CC33', + '#00CC66', + '#00CC99', + '#00CCCC', + '#00CCFF', + '#3300CC', + '#3300FF', + '#3333CC', + '#3333FF', + '#3366CC', + '#3366FF', + '#3399CC', + '#3399FF', + '#33CC00', + '#33CC33', + '#33CC66', + '#33CC99', + '#33CCCC', + '#33CCFF', + '#6600CC', + '#6600FF', + '#6633CC', + '#6633FF', + '#66CC00', + '#66CC33', + '#9900CC', + '#9900FF', + '#9933CC', + '#9933FF', + '#99CC00', + '#99CC33', + '#CC0000', + '#CC0033', + '#CC0066', + '#CC0099', + '#CC00CC', + '#CC00FF', + '#CC3300', + '#CC3333', + '#CC3366', + '#CC3399', + '#CC33CC', + '#CC33FF', + '#CC6600', + '#CC6633', + '#CC9900', + '#CC9933', + '#CCCC00', + '#CCCC33', + '#FF0000', + '#FF0033', + '#FF0066', + '#FF0099', + '#FF00CC', + '#FF00FF', + '#FF3300', + '#FF3333', + '#FF3366', + '#FF3399', + '#FF33CC', + '#FF33FF', + '#FF6600', + '#FF6633', + '#FF9900', + '#FF9933', + '#FFCC00', + '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +// eslint-disable-next-line complexity +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + // Is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // Is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // Double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + args[0] = (this.useColors ? '%c' : '') + + this.namespace + + (this.useColors ? ' %c' : ' ') + + args[0] + + (this.useColors ? '%c ' : ' ') + + '+' + module.exports.humanize(this.diff); + + if (!this.useColors) { + return; + } + + const c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit'); + + // The final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, match => { + if (match === '%%') { + return; + } + index++; + if (match === '%c') { + // We only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.debug()` when available. + * No-op when `console.debug` is not a "function". + * If `console.debug` is not available, falls back + * to `console.log`. + * + * @api public + */ +exports.log = console.debug || console.log || (() => {}); + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem('debug', namespaces); + } else { + exports.storage.removeItem('debug'); + } + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ +function load() { + let r; + try { + r = exports.storage.getItem('debug'); + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context + // The Browser also has localStorage in the global context. + return localStorage; + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +module.exports = require('./common')(exports); + +const {formatters} = module.exports; + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +formatters.j = function (v) { + try { + return JSON.stringify(v); + } catch (error) { + return '[UnexpectedJSONParseError]: ' + error.message; + } +}; diff --git a/node_modules/debug/src/common.js b/node_modules/debug/src/common.js new file mode 100644 index 00000000..392a8e00 --- /dev/null +++ b/node_modules/debug/src/common.js @@ -0,0 +1,261 @@ + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + */ + +function setup(env) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require('ms'); + createDebug.destroy = destroy; + + Object.keys(env).forEach(key => { + createDebug[key] = env[key]; + }); + + /** + * The currently active debug mode names, and names to skip. + */ + + createDebug.names = []; + createDebug.skips = []; + + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + createDebug.formatters = {}; + + /** + * Selects a color for a debug namespace + * @param {String} namespace The namespace string for the for the debug instance to be colored + * @return {Number|String} An ANSI color code for the given namespace + * @api private + */ + function selectColor(namespace) { + let hash = 0; + + for (let i = 0; i < namespace.length; i++) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + createDebug.selectColor = selectColor; + + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + function createDebug(namespace) { + let prevTime; + let enableOverride = null; + + function debug(...args) { + // Disabled? + if (!debug.enabled) { + return; + } + + const self = debug; + + // Set `diff` timestamp + const curr = Number(new Date()); + const ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + args[0] = createDebug.coerce(args[0]); + + if (typeof args[0] !== 'string') { + // Anything else let's inspect with %O + args.unshift('%O'); + } + + // Apply any `formatters` transformations + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { + // If we encounter an escaped % then don't increase the array index + if (match === '%%') { + return '%'; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === 'function') { + const val = args[index]; + match = formatter.call(self, val); + + // Now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // Apply env-specific formatting (colors, etc.) + createDebug.formatArgs.call(self, args); + + const logFn = self.log || createDebug.log; + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.useColors = createDebug.useColors(); + debug.color = createDebug.selectColor(namespace); + debug.extend = extend; + debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release. + + Object.defineProperty(debug, 'enabled', { + enumerable: true, + configurable: false, + get: () => enableOverride === null ? createDebug.enabled(namespace) : enableOverride, + set: v => { + enableOverride = v; + } + }); + + // Env-specific initialization logic for debug instances + if (typeof createDebug.init === 'function') { + createDebug.init(debug); + } + + return debug; + } + + function extend(namespace, delimiter) { + const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + function enable(namespaces) { + createDebug.save(namespaces); + + createDebug.names = []; + createDebug.skips = []; + + let i; + const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + const len = split.length; + + for (i = 0; i < len; i++) { + if (!split[i]) { + // ignore empty strings + continue; + } + + namespaces = split[i].replace(/\*/g, '.*?'); + + if (namespaces[0] === '-') { + createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + createDebug.names.push(new RegExp('^' + namespaces + '$')); + } + } + } + + /** + * Disable debug output. + * + * @return {String} namespaces + * @api public + */ + function disable() { + const namespaces = [ + ...createDebug.names.map(toNamespace), + ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace) + ].join(','); + createDebug.enable(''); + return namespaces; + } + + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } + + let i; + let len; + + for (i = 0, len = createDebug.skips.length; i < len; i++) { + if (createDebug.skips[i].test(name)) { + return false; + } + } + + for (i = 0, len = createDebug.names.length; i < len; i++) { + if (createDebug.names[i].test(name)) { + return true; + } + } + + return false; + } + + /** + * Convert regexp to namespace + * + * @param {RegExp} regxep + * @return {String} namespace + * @api private + */ + function toNamespace(regexp) { + return regexp.toString() + .substring(2, regexp.toString().length - 2) + .replace(/\.\*\?$/, '*'); + } + + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + + /** + * XXX DO NOT USE. This is a temporary stub function. + * XXX It WILL be removed in the next major release. + */ + function destroy() { + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + + createDebug.enable(createDebug.load()); + + return createDebug; +} + +module.exports = setup; diff --git a/node_modules/debug/src/index.js b/node_modules/debug/src/index.js new file mode 100644 index 00000000..bf4c57f2 --- /dev/null +++ b/node_modules/debug/src/index.js @@ -0,0 +1,10 @@ +/** + * Detect Electron renderer / nwjs process, which is node, but we should + * treat as a browser. + */ + +if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { + module.exports = require('./browser.js'); +} else { + module.exports = require('./node.js'); +} diff --git a/node_modules/debug/src/node.js b/node_modules/debug/src/node.js new file mode 100644 index 00000000..79bc085c --- /dev/null +++ b/node_modules/debug/src/node.js @@ -0,0 +1,263 @@ +/** + * Module dependencies. + */ + +const tty = require('tty'); +const util = require('util'); + +/** + * This is the Node.js implementation of `debug()`. + */ + +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.destroy = util.deprecate( + () => {}, + 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.' +); + +/** + * Colors. + */ + +exports.colors = [6, 2, 3, 4, 5, 1]; + +try { + // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json) + // eslint-disable-next-line import/no-extraneous-dependencies + const supportsColor = require('supports-color'); + + if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { + exports.colors = [ + 20, + 21, + 26, + 27, + 32, + 33, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 56, + 57, + 62, + 63, + 68, + 69, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 92, + 93, + 98, + 99, + 112, + 113, + 128, + 129, + 134, + 135, + 148, + 149, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 178, + 179, + 184, + 185, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 214, + 215, + 220, + 221 + ]; + } +} catch (error) { + // Swallow - we only care if `supports-color` is available; it doesn't have to be. +} + +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ + +exports.inspectOpts = Object.keys(process.env).filter(key => { + return /^debug_/i.test(key); +}).reduce((obj, key) => { + // Camel-case + const prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, (_, k) => { + return k.toUpperCase(); + }); + + // Coerce string value into JS value + let val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) { + val = true; + } else if (/^(no|off|false|disabled)$/i.test(val)) { + val = false; + } else if (val === 'null') { + val = null; + } else { + val = Number(val); + } + + obj[prop] = val; + return obj; +}, {}); + +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ + +function useColors() { + return 'colors' in exports.inspectOpts ? + Boolean(exports.inspectOpts.colors) : + tty.isatty(process.stderr.fd); +} + +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ + +function formatArgs(args) { + const {namespace: name, useColors} = this; + + if (useColors) { + const c = this.color; + const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c); + const prefix = ` ${colorCode};1m${name} \u001B[0m`; + + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m'); + } else { + args[0] = getDate() + name + ' ' + args[0]; + } +} + +function getDate() { + if (exports.inspectOpts.hideDate) { + return ''; + } + return new Date().toISOString() + ' '; +} + +/** + * Invokes `util.format()` with the specified arguments and writes to stderr. + */ + +function log(...args) { + return process.stderr.write(util.format(...args) + '\n'); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + if (namespaces) { + process.env.DEBUG = namespaces; + } else { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + return process.env.DEBUG; +} + +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ + +function init(debug) { + debug.inspectOpts = {}; + + const keys = Object.keys(exports.inspectOpts); + for (let i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } +} + +module.exports = require('./common')(exports); + +const {formatters} = module.exports; + +/** + * Map %o to `util.inspect()`, all on a single line. + */ + +formatters.o = function (v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n') + .map(str => str.trim()) + .join(' '); +}; + +/** + * Map %O to `util.inspect()`, allowing multiple lines if needed. + */ + +formatters.O = function (v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); +}; diff --git a/node_modules/discontinuous-range/.npmignore b/node_modules/discontinuous-range/.npmignore new file mode 100644 index 00000000..59d842ba --- /dev/null +++ b/node_modules/discontinuous-range/.npmignore @@ -0,0 +1,28 @@ +# Logs +logs +*.log + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directory +# Commenting this out is preferred by some people, see +# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- +node_modules + +# Users Environment Variables +.lock-wscript diff --git a/node_modules/discontinuous-range/.travis.yml b/node_modules/discontinuous-range/.travis.yml new file mode 100644 index 00000000..18ae2d89 --- /dev/null +++ b/node_modules/discontinuous-range/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - "0.11" + - "0.10" diff --git a/node_modules/discontinuous-range/LICENSE b/node_modules/discontinuous-range/LICENSE new file mode 100644 index 00000000..afe05c7d --- /dev/null +++ b/node_modules/discontinuous-range/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 David Tudury + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/discontinuous-range/README.md b/node_modules/discontinuous-range/README.md new file mode 100644 index 00000000..543fb301 --- /dev/null +++ b/node_modules/discontinuous-range/README.md @@ -0,0 +1,23 @@ +discontinuous-range +=================== + +``` +DiscontinuousRange(1, 10).subtract(4, 6); // [ 1-3, 7-10 ] +``` + + [![Build Status](https://travis-ci.org/dtudury/discontinuous-range.png)](https://travis-ci.org/dtudury/discontinuous-range) + +this is a pretty simple module, but it exists to service another project +so this'll be pretty lacking documentation. +reading the test to see how this works may help. otherwise, here's an example +that I think pretty much sums it up + + +###Example +``` +var all_numbers = new DiscontinuousRange(1, 100); +var bad_numbers = DiscontinuousRange(13).add(8).add(60,80); +var good_numbers = all_numbers.clone().subtract(bad_numbers); +console.log(good_numbers.toString()); //[ 1-7, 9-12, 14-59, 81-100 ] +var random_good_number = good_numbers.index(Math.floor(Math.random() * good_numbers.length)); +``` diff --git a/node_modules/discontinuous-range/index.js b/node_modules/discontinuous-range/index.js new file mode 100644 index 00000000..7ac77499 --- /dev/null +++ b/node_modules/discontinuous-range/index.js @@ -0,0 +1,144 @@ +//protected helper class +function _SubRange(low, high) { + this.low = low; + this.high = high; + this.length = 1 + high - low; +} + +_SubRange.prototype.overlaps = function (range) { + return !(this.high < range.low || this.low > range.high); +}; + +_SubRange.prototype.touches = function (range) { + return !(this.high + 1 < range.low || this.low - 1 > range.high); +}; + +//returns inclusive combination of _SubRanges as a _SubRange +_SubRange.prototype.add = function (range) { + return this.touches(range) && new _SubRange(Math.min(this.low, range.low), Math.max(this.high, range.high)); +}; + +//returns subtraction of _SubRanges as an array of _SubRanges (there's a case where subtraction divides it in 2) +_SubRange.prototype.subtract = function (range) { + if (!this.overlaps(range)) return false; + if (range.low <= this.low && range.high >= this.high) return []; + if (range.low > this.low && range.high < this.high) return [new _SubRange(this.low, range.low - 1), new _SubRange(range.high + 1, this.high)]; + if (range.low <= this.low) return [new _SubRange(range.high + 1, this.high)]; + return [new _SubRange(this.low, range.low - 1)]; +}; + +_SubRange.prototype.toString = function () { + if (this.low == this.high) return this.low.toString(); + return this.low + '-' + this.high; +}; + +_SubRange.prototype.clone = function () { + return new _SubRange(this.low, this.high); +}; + + + + +function DiscontinuousRange(a, b) { + if (this instanceof DiscontinuousRange) { + this.ranges = []; + this.length = 0; + if (a !== undefined) this.add(a, b); + } else { + return new DiscontinuousRange(a, b); + } +} + +function _update_length(self) { + self.length = self.ranges.reduce(function (previous, range) {return previous + range.length}, 0); +} + +DiscontinuousRange.prototype.add = function (a, b) { + var self = this; + function _add(subrange) { + var new_ranges = []; + var i = 0; + while (i < self.ranges.length && !subrange.touches(self.ranges[i])) { + new_ranges.push(self.ranges[i].clone()); + i++; + } + while (i < self.ranges.length && subrange.touches(self.ranges[i])) { + subrange = subrange.add(self.ranges[i]); + i++; + } + new_ranges.push(subrange); + while (i < self.ranges.length) { + new_ranges.push(self.ranges[i].clone()); + i++; + } + self.ranges = new_ranges; + _update_length(self); + } + + if (a instanceof DiscontinuousRange) { + a.ranges.forEach(_add); + } else { + if (a instanceof _SubRange) { + _add(a); + } else { + if (b === undefined) b = a; + _add(new _SubRange(a, b)); + } + } + return this; +}; + +DiscontinuousRange.prototype.subtract = function (a, b) { + var self = this; + function _subtract(subrange) { + var new_ranges = []; + var i = 0; + while (i < self.ranges.length && !subrange.overlaps(self.ranges[i])) { + new_ranges.push(self.ranges[i].clone()); + i++; + } + while (i < self.ranges.length && subrange.overlaps(self.ranges[i])) { + new_ranges = new_ranges.concat(self.ranges[i].subtract(subrange)); + i++; + } + while (i < self.ranges.length) { + new_ranges.push(self.ranges[i].clone()); + i++; + } + self.ranges = new_ranges; + _update_length(self); + } + if (a instanceof DiscontinuousRange) { + a.ranges.forEach(_subtract); + } else { + if (a instanceof _SubRange) { + _subtract(a); + } else { + if (b === undefined) b = a; + _subtract(new _SubRange(a, b)); + } + } + return this; +}; + + +DiscontinuousRange.prototype.index = function (index) { + var i = 0; + while (i < this.ranges.length && this.ranges[i].length <= index) { + index -= this.ranges[i].length; + i++; + } + if (i >= this.ranges.length) return null; + return this.ranges[i].low + index; +}; + + +DiscontinuousRange.prototype.toString = function () { + return '[ ' + this.ranges.join(', ') + ' ]' +}; + +DiscontinuousRange.prototype.clone = function () { + return new DiscontinuousRange(this); +}; + +module.exports = DiscontinuousRange; diff --git a/node_modules/discontinuous-range/package.json b/node_modules/discontinuous-range/package.json new file mode 100644 index 00000000..f9955599 --- /dev/null +++ b/node_modules/discontinuous-range/package.json @@ -0,0 +1,55 @@ +{ + "_from": "discontinuous-range@1.0.0", + "_id": "discontinuous-range@1.0.0", + "_inBundle": false, + "_integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=", + "_location": "/discontinuous-range", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "discontinuous-range@1.0.0", + "name": "discontinuous-range", + "escapedName": "discontinuous-range", + "rawSpec": "1.0.0", + "saveSpec": null, + "fetchSpec": "1.0.0" + }, + "_requiredBy": [ + "/randexp" + ], + "_resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "_shasum": "e38331f0844bba49b9a9cb71c771585aab1bc65a", + "_spec": "discontinuous-range@1.0.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\randexp", + "author": { + "name": "David Tudury", + "email": "david.tudury@gmail.com" + }, + "bugs": { + "url": "https://github.com/dtudury/discontinuous-range/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "for adding, subtracting, and indexing discontinuous ranges of numbers", + "devDependencies": { + "mocha": "^1.21.4" + }, + "homepage": "https://github.com/dtudury/discontinuous-range", + "keywords": [ + "discontinuous", + "range", + "set" + ], + "license": "MIT", + "main": "index.js", + "name": "discontinuous-range", + "repository": { + "type": "git", + "url": "git+https://github.com/dtudury/discontinuous-range.git" + }, + "scripts": { + "test": "./node_modules/mocha/bin/mocha -R spec test/*-test.js" + }, + "version": "1.0.0" +} diff --git a/node_modules/discontinuous-range/test/main-test.js b/node_modules/discontinuous-range/test/main-test.js new file mode 100644 index 00000000..c4b394f1 --- /dev/null +++ b/node_modules/discontinuous-range/test/main-test.js @@ -0,0 +1,96 @@ +var assert = require('assert'); + +var DRange = require('../index.js'); + +describe('add sets', function() { + it('should allow adding numbers', function () { + var drange = DRange(5); + assert.equal('[ 5 ]', drange.toString()); + drange.add(6); + assert.equal('[ 5-6 ]', drange.toString()); + drange.add(8); + assert.equal('[ 5-6, 8 ]', drange.toString()); + drange.add(7); + assert.equal('[ 5-8 ]', drange.toString()); + assert.equal(drange.length, 4); + }); + it('should allow adding ranges of numbers', function () { + var drange = DRange(1,5); + assert.equal('[ 1-5 ]', drange.toString()); + drange.add(6,10); + assert.equal('[ 1-10 ]', drange.toString()); + drange.add(15,20); + assert.equal('[ 1-10, 15-20 ]', drange.toString()); + drange.add(0,14); + assert.equal('[ 0-20 ]', drange.toString()); + assert.equal(drange.length, 21); + }); + it('should allow adding another DiscontinuousRange', function () { + var drange = DRange(1,5); + drange.add(15,20); + var erange = DRange(6); + erange.add(17, 30); + drange.add(erange); + assert.equal('[ 1-6, 15-30 ]', drange.toString()); + assert.equal(drange.length, 22); + }); +}); + +describe('subtract sets', function() { + it('should allow subtracting numbers', function () { + var drange = DRange(1, 10); + drange.subtract(5); + assert.equal('[ 1-4, 6-10 ]', drange.toString()); + drange.subtract(7); + assert.equal('[ 1-4, 6, 8-10 ]', drange.toString()); + drange.subtract(6); + assert.equal('[ 1-4, 8-10 ]', drange.toString()); + assert.equal(drange.length, 7); + }); + it('should allow subtracting ranges of numbers', function () { + var drange = DRange(1, 100); + drange.subtract(5, 15); + assert.equal('[ 1-4, 16-100 ]', drange.toString()); + drange.subtract(90, 200); + assert.equal('[ 1-4, 16-89 ]', drange.toString()); + assert.equal(drange.length, 78); + }); + it('should allow subtracting another DiscontinuousRange', function () { + var drange = DRange(0,100); + var erange = DRange(6); + erange.add(17, 30); + drange.subtract(erange); + assert.equal('[ 0-5, 7-16, 31-100 ]', drange.toString()); + assert.equal(drange.length, 86); + }); +}); + + +describe('index sets', function() { + it('should appropriately retrieve numbers in range by index', function () { + var drange = DRange(0, 9); + drange.add(20, 29); + drange.add(40, 49); + assert.equal(drange.index(5), 5); + assert.equal(drange.index(15), 25); + assert.equal(drange.index(25), 45); + assert.equal(drange.length, 30); + }); +}); + +describe('clone sets', function() { + it('should be able to clone a DiscontinuousRange that doesn\'t affect the original', function () { + var drange = DRange(0, 9); + var erange = drange.clone(); + erange.subtract(5); + assert.equal('[ 0-9 ]', drange.toString()); + assert.equal('[ 0-4, 6-9 ]', erange.toString()); + }); +}); + +var all_numbers = new DRange(1, 100); +var bad_numbers = DRange(13).add(8).add(60,80); +var good_numbers = all_numbers.clone().subtract(bad_numbers); +console.log(good_numbers.toString()); +var random_good_number = good_numbers.index(Math.floor(Math.random() * good_numbers.length)); +console.log(random_good_number); diff --git a/node_modules/endian-toggle/.travis.yml b/node_modules/endian-toggle/.travis.yml new file mode 100644 index 00000000..895dbd36 --- /dev/null +++ b/node_modules/endian-toggle/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - 0.6 + - 0.8 diff --git a/node_modules/endian-toggle/LICENSE b/node_modules/endian-toggle/LICENSE new file mode 100644 index 00000000..ee27ba4b --- /dev/null +++ b/node_modules/endian-toggle/LICENSE @@ -0,0 +1,18 @@ +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/endian-toggle/example/bits.js b/node_modules/endian-toggle/example/bits.js new file mode 100644 index 00000000..f34d9f10 --- /dev/null +++ b/node_modules/endian-toggle/example/bits.js @@ -0,0 +1,5 @@ +var toggle = require('../'); +var buf = new Buffer('abcd'); + +console.dir(buf); +console.dir(toggle(buf, 16)); diff --git a/node_modules/endian-toggle/index.js b/node_modules/endian-toggle/index.js new file mode 100644 index 00000000..e1e119d3 --- /dev/null +++ b/node_modules/endian-toggle/index.js @@ -0,0 +1,20 @@ +module.exports = function (buf, bits) { + var output = new Buffer(buf.length); + + if (bits % 8 !== 0) { + throw new Error('bits must be a multiple of 8'); + } + + var bytes = bits / 8; + if (buf.length % bytes !== 0) { + throw new Error((buf.length % bytes) + ' non-aligned trailing bytes'); + } + + for (var i = 0; i < buf.length; i += bytes) { + for (var j = 0; j < bytes; j++) { + output[i + bytes - j - 1] = buf[i + j]; + } + } + + return output; +}; diff --git a/node_modules/endian-toggle/package.json b/node_modules/endian-toggle/package.json new file mode 100644 index 00000000..ad951f33 --- /dev/null +++ b/node_modules/endian-toggle/package.json @@ -0,0 +1,62 @@ +{ + "_from": "endian-toggle@^0.0.0", + "_id": "endian-toggle@0.0.0", + "_inBundle": false, + "_integrity": "sha1-5cx1eLEDLW7gHq/Nc3ZdsNtNwKY=", + "_location": "/endian-toggle", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "endian-toggle@^0.0.0", + "name": "endian-toggle", + "escapedName": "endian-toggle", + "rawSpec": "^0.0.0", + "saveSpec": null, + "fetchSpec": "^0.0.0" + }, + "_requiredBy": [ + "/minecraft-protocol" + ], + "_resolved": "https://registry.npmjs.org/endian-toggle/-/endian-toggle-0.0.0.tgz", + "_shasum": "e5cc7578b1032d6ee01eafcd73765db0db4dc0a6", + "_spec": "endian-toggle@^0.0.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\minecraft-protocol", + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "bugs": { + "url": "https://github.com/substack/endian-toggle/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "toggle the byte ordering of a buffer", + "devDependencies": { + "tap": "~0.3.0" + }, + "directories": { + "example": "example", + "test": "test" + }, + "homepage": "https://github.com/substack/endian-toggle", + "keywords": [ + "endian", + "binary", + "byte", + "order", + "encoding" + ], + "license": "MIT", + "main": "index.js", + "name": "endian-toggle", + "repository": { + "type": "git", + "url": "git://github.com/substack/endian-toggle.git" + }, + "scripts": { + "test": "tap test/*.js" + }, + "version": "0.0.0" +} diff --git a/node_modules/endian-toggle/readme.markdown b/node_modules/endian-toggle/readme.markdown new file mode 100644 index 00000000..9a45d0e6 --- /dev/null +++ b/node_modules/endian-toggle/readme.markdown @@ -0,0 +1,44 @@ +# endian-toggle + +Toggle the byte ordering of a buffer. + +[![build status](https://secure.travis-ci.org/substack/endian-toggle.png)](http://travis-ci.org/substack/endian-toggle) + +# example + +``` js +var toggle = require('endian-toggle'); +var buf = new Buffer('abcd'); + +console.dir(buf); +console.dir(toggle(buf, 16)); +``` + +*** + +``` + + +``` + +# methods + +``` js +var toggle = require('endian-toggle') +``` + +## toggle(buf, bits) + +Return a new buffer from `buf` with toggled endianness at `bits` many bits. + +# install + +With [npm](https://npmjs.org) do: + +``` +npm install endian-toggle +``` + +# license + +MIT diff --git a/node_modules/endian-toggle/test/bits.js b/node_modules/endian-toggle/test/bits.js new file mode 100644 index 00000000..8d10937e --- /dev/null +++ b/node_modules/endian-toggle/test/bits.js @@ -0,0 +1,19 @@ +var test = require('tap').test; +var toggle = require('../'); + +test('toggle some endians', function (t) { + var buf4 = new Buffer('abcd'); + var buf6 = new Buffer('abcdef'); + var buf12 = new Buffer('abcdefghijkl'); + + t.equal(toggle(buf4, 16).toString(), 'badc'); + t.equal(buf4.toString(), 'abcd'); + + t.throws(function () { + toggle(buf6, 32); + }, 'non-aligned offset'); + + t.equal(toggle(buf12, 24).toString(), 'cbafedihglkj'); + + t.end('ian'); +}); diff --git a/node_modules/event-promise/.npmignore b/node_modules/event-promise/.npmignore new file mode 100644 index 00000000..b925faf3 --- /dev/null +++ b/node_modules/event-promise/.npmignore @@ -0,0 +1 @@ +node_modules/promise diff --git a/node_modules/event-promise/LICENSE b/node_modules/event-promise/LICENSE new file mode 100644 index 00000000..423b7f72 --- /dev/null +++ b/node_modules/event-promise/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Anders Cornell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/event-promise/README.md b/node_modules/event-promise/README.md new file mode 100644 index 00000000..5b3643a1 --- /dev/null +++ b/node_modules/event-promise/README.md @@ -0,0 +1,47 @@ +event-promise +============= + +promises for events + +usage +----- + +```javascript +once(emitter, event, options) +``` + +* `emitter` EventEmitter +* `event` string +* `options` object +* Returns: promise + +example +------- + +```javascript +var once = require('node-event-promise'); +var http = require('http'); + +var request = http.get('http://duckduckgo.com/'); + +once(request, 'response').then(function(response) { + // ... +}, function(error) { + // ... +}).done(); +``` + +options +------- + +* `ignoreErrors` boolean + +by default, the promise will reject if `emitter` emits an error first. Set this +to `true` if you want to handle errors yourself. + +* `array` boolean + +if `array` is true, the promise will resolve to an array of all arguments passed +to the event instead of just the first argument. This is only useful if the +event is fired with more than one argument, e.g. +[FSWatcher::change](http://nodejs.org/api/fs.html#fs_event_change) diff --git a/node_modules/event-promise/index.js b/node_modules/event-promise/index.js new file mode 100644 index 00000000..02c084c8 --- /dev/null +++ b/node_modules/event-promise/index.js @@ -0,0 +1,19 @@ +var Promise = require('promise'), + slice = Function.prototype.call.bind(Array.prototype.slice); + +module.exports = function once(emitter, event, options) { + options = options || {}; + return new Promise(function(resolve, reject) { + if (options.array) { + emitter.once(event, function() { + resolve(slice(arguments)); + }); + } + else { + emitter.once(event, resolve); + } + if (!options.ignoreErrors) { + emitter.once('error', reject); + } + }); +}; diff --git a/node_modules/event-promise/package.json b/node_modules/event-promise/package.json new file mode 100644 index 00000000..d4c31f6e --- /dev/null +++ b/node_modules/event-promise/package.json @@ -0,0 +1,50 @@ +{ + "_from": "event-promise@0.0.1", + "_id": "event-promise@0.0.1", + "_inBundle": false, + "_integrity": "sha1-7lmd9hNyaxLPhXTncU20gjx9uHc=", + "_location": "/event-promise", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "event-promise@0.0.1", + "name": "event-promise", + "escapedName": "event-promise", + "rawSpec": "0.0.1", + "saveSpec": null, + "fetchSpec": "0.0.1" + }, + "_requiredBy": [ + "/prismarine-world" + ], + "_resolved": "https://registry.npmjs.org/event-promise/-/event-promise-0.0.1.tgz", + "_shasum": "ee599df613726b12cf8574e7714db4823c7db877", + "_spec": "event-promise@0.0.1", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\prismarine-world", + "author": { + "name": "Anders Cornell", + "email": "rschaosid@gmail.com" + }, + "bugs": { + "url": "https://github.com/rschaosid/node-event-promise/issues" + }, + "bundleDependencies": false, + "dependencies": { + "promise": "^5.0.0" + }, + "deprecated": false, + "description": "promises for events", + "homepage": "https://github.com/rschaosid/node-event-promise", + "keywords": [ + "once" + ], + "license": "MIT", + "main": "index.js", + "name": "event-promise", + "repository": { + "type": "git", + "url": "git+https://github.com/rschaosid/node-event-promise.git" + }, + "version": "0.0.1" +} diff --git a/node_modules/fast-deep-equal/LICENSE b/node_modules/fast-deep-equal/LICENSE new file mode 100644 index 00000000..7f154356 --- /dev/null +++ b/node_modules/fast-deep-equal/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Evgeny Poberezkin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/fast-deep-equal/README.md b/node_modules/fast-deep-equal/README.md new file mode 100644 index 00000000..d3f4ffcc --- /dev/null +++ b/node_modules/fast-deep-equal/README.md @@ -0,0 +1,96 @@ +# fast-deep-equal +The fastest deep equal with ES6 Map, Set and Typed arrays support. + +[![Build Status](https://travis-ci.org/epoberezkin/fast-deep-equal.svg?branch=master)](https://travis-ci.org/epoberezkin/fast-deep-equal) +[![npm](https://img.shields.io/npm/v/fast-deep-equal.svg)](https://www.npmjs.com/package/fast-deep-equal) +[![Coverage Status](https://coveralls.io/repos/github/epoberezkin/fast-deep-equal/badge.svg?branch=master)](https://coveralls.io/github/epoberezkin/fast-deep-equal?branch=master) + + +## Install + +```bash +npm install fast-deep-equal +``` + + +## Features + +- ES5 compatible +- works in node.js (8+) and browsers (IE9+) +- checks equality of Date and RegExp objects by value. + +ES6 equal (`require('fast-deep-equal/es6')`) also supports: +- Maps +- Sets +- Typed arrays + + +## Usage + +```javascript +var equal = require('fast-deep-equal'); +console.log(equal({foo: 'bar'}, {foo: 'bar'})); // true +``` + +To support ES6 Maps, Sets and Typed arrays equality use: + +```javascript +var equal = require('fast-deep-equal/es6'); +console.log(equal(Int16Array([1, 2]), Int16Array([1, 2]))); // true +``` + +To use with React (avoiding the traversal of React elements' _owner +property that contains circular references and is not needed when +comparing the elements - borrowed from [react-fast-compare](https://github.com/FormidableLabs/react-fast-compare)): + +```javascript +var equal = require('fast-deep-equal/react'); +var equal = require('fast-deep-equal/es6/react'); +``` + + +## Performance benchmark + +Node.js v12.6.0: + +``` +fast-deep-equal x 261,950 ops/sec ±0.52% (89 runs sampled) +fast-deep-equal/es6 x 212,991 ops/sec ±0.34% (92 runs sampled) +fast-equals x 230,957 ops/sec ±0.83% (85 runs sampled) +nano-equal x 187,995 ops/sec ±0.53% (88 runs sampled) +shallow-equal-fuzzy x 138,302 ops/sec ±0.49% (90 runs sampled) +underscore.isEqual x 74,423 ops/sec ±0.38% (89 runs sampled) +lodash.isEqual x 36,637 ops/sec ±0.72% (90 runs sampled) +deep-equal x 2,310 ops/sec ±0.37% (90 runs sampled) +deep-eql x 35,312 ops/sec ±0.67% (91 runs sampled) +ramda.equals x 12,054 ops/sec ±0.40% (91 runs sampled) +util.isDeepStrictEqual x 46,440 ops/sec ±0.43% (90 runs sampled) +assert.deepStrictEqual x 456 ops/sec ±0.71% (88 runs sampled) + +The fastest is fast-deep-equal +``` + +To run benchmark (requires node.js 6+): + +```bash +npm run benchmark +``` + +__Please note__: this benchmark runs against the available test cases. To choose the most performant library for your application, it is recommended to benchmark against your data and to NOT expect this benchmark to reflect the performance difference in your application. + + +## Enterprise support + +fast-deep-equal package is a part of [Tidelift enterprise subscription](https://tidelift.com/subscription/pkg/npm-fast-deep-equal?utm_source=npm-fast-deep-equal&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) - it provides a centralised commercial support to open-source software users, in addition to the support provided by software maintainers. + + +## Security contact + +To report a security vulnerability, please use the +[Tidelift security contact](https://tidelift.com/security). +Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerability via GitHub issues. + + +## License + +[MIT](https://github.com/epoberezkin/fast-deep-equal/blob/master/LICENSE) diff --git a/node_modules/fast-deep-equal/es6/index.d.ts b/node_modules/fast-deep-equal/es6/index.d.ts new file mode 100644 index 00000000..c7eb9c79 --- /dev/null +++ b/node_modules/fast-deep-equal/es6/index.d.ts @@ -0,0 +1,2 @@ +declare const equal: (a: any, b: any) => boolean; +export = equal; diff --git a/node_modules/fast-deep-equal/es6/index.js b/node_modules/fast-deep-equal/es6/index.js new file mode 100644 index 00000000..d980be25 --- /dev/null +++ b/node_modules/fast-deep-equal/es6/index.js @@ -0,0 +1,72 @@ +'use strict'; + +// do not edit .js files directly - edit src/index.jst + + + var envHasBigInt64Array = typeof BigInt64Array !== 'undefined'; + + +module.exports = function equal(a, b) { + if (a === b) return true; + + if (a && b && typeof a == 'object' && typeof b == 'object') { + if (a.constructor !== b.constructor) return false; + + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0;) + if (!equal(a[i], b[i])) return false; + return true; + } + + + if ((a instanceof Map) && (b instanceof Map)) { + if (a.size !== b.size) return false; + for (i of a.entries()) + if (!b.has(i[0])) return false; + for (i of a.entries()) + if (!equal(i[1], b.get(i[0]))) return false; + return true; + } + + if ((a instanceof Set) && (b instanceof Set)) { + if (a.size !== b.size) return false; + for (i of a.entries()) + if (!b.has(i[0])) return false; + return true; + } + + if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0;) + if (a[i] !== b[i]) return false; + return true; + } + + + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + + for (i = length; i-- !== 0;) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + + for (i = length; i-- !== 0;) { + var key = keys[i]; + + if (!equal(a[key], b[key])) return false; + } + + return true; + } + + // true if both NaN, false otherwise + return a!==a && b!==b; +}; diff --git a/node_modules/fast-deep-equal/es6/react.d.ts b/node_modules/fast-deep-equal/es6/react.d.ts new file mode 100644 index 00000000..c7eb9c79 --- /dev/null +++ b/node_modules/fast-deep-equal/es6/react.d.ts @@ -0,0 +1,2 @@ +declare const equal: (a: any, b: any) => boolean; +export = equal; diff --git a/node_modules/fast-deep-equal/es6/react.js b/node_modules/fast-deep-equal/es6/react.js new file mode 100644 index 00000000..98e2f9b7 --- /dev/null +++ b/node_modules/fast-deep-equal/es6/react.js @@ -0,0 +1,79 @@ +'use strict'; + +// do not edit .js files directly - edit src/index.jst + + + var envHasBigInt64Array = typeof BigInt64Array !== 'undefined'; + + +module.exports = function equal(a, b) { + if (a === b) return true; + + if (a && b && typeof a == 'object' && typeof b == 'object') { + if (a.constructor !== b.constructor) return false; + + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0;) + if (!equal(a[i], b[i])) return false; + return true; + } + + + if ((a instanceof Map) && (b instanceof Map)) { + if (a.size !== b.size) return false; + for (i of a.entries()) + if (!b.has(i[0])) return false; + for (i of a.entries()) + if (!equal(i[1], b.get(i[0]))) return false; + return true; + } + + if ((a instanceof Set) && (b instanceof Set)) { + if (a.size !== b.size) return false; + for (i of a.entries()) + if (!b.has(i[0])) return false; + return true; + } + + if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0;) + if (a[i] !== b[i]) return false; + return true; + } + + + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + + for (i = length; i-- !== 0;) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + + for (i = length; i-- !== 0;) { + var key = keys[i]; + + if (key === '_owner' && a.$$typeof) { + // React-specific: avoid traversing React elements' _owner. + // _owner contains circular references + // and is not needed when comparing the actual elements (and not their owners) + continue; + } + + if (!equal(a[key], b[key])) return false; + } + + return true; + } + + // true if both NaN, false otherwise + return a!==a && b!==b; +}; diff --git a/node_modules/fast-deep-equal/index.d.ts b/node_modules/fast-deep-equal/index.d.ts new file mode 100644 index 00000000..3c042caa --- /dev/null +++ b/node_modules/fast-deep-equal/index.d.ts @@ -0,0 +1,4 @@ +declare module 'fast-deep-equal' { + const equal: (a: any, b: any) => boolean; + export = equal; +} diff --git a/node_modules/fast-deep-equal/index.js b/node_modules/fast-deep-equal/index.js new file mode 100644 index 00000000..30dd1ba7 --- /dev/null +++ b/node_modules/fast-deep-equal/index.js @@ -0,0 +1,46 @@ +'use strict'; + +// do not edit .js files directly - edit src/index.jst + + + +module.exports = function equal(a, b) { + if (a === b) return true; + + if (a && b && typeof a == 'object' && typeof b == 'object') { + if (a.constructor !== b.constructor) return false; + + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0;) + if (!equal(a[i], b[i])) return false; + return true; + } + + + + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + + for (i = length; i-- !== 0;) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + + for (i = length; i-- !== 0;) { + var key = keys[i]; + + if (!equal(a[key], b[key])) return false; + } + + return true; + } + + // true if both NaN, false otherwise + return a!==a && b!==b; +}; diff --git a/node_modules/fast-deep-equal/package.json b/node_modules/fast-deep-equal/package.json new file mode 100644 index 00000000..14b9f4d1 --- /dev/null +++ b/node_modules/fast-deep-equal/package.json @@ -0,0 +1,88 @@ +{ + "_from": "fast-deep-equal@^3.1.1", + "_id": "fast-deep-equal@3.1.3", + "_inBundle": false, + "_integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "_location": "/fast-deep-equal", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "fast-deep-equal@^3.1.1", + "name": "fast-deep-equal", + "escapedName": "fast-deep-equal", + "rawSpec": "^3.1.1", + "saveSpec": null, + "fetchSpec": "^3.1.1" + }, + "_requiredBy": [ + "/ajv" + ], + "_resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "_shasum": "3a7d56b559d6cbc3eb512325244e619a65c6c525", + "_spec": "fast-deep-equal@^3.1.1", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\ajv", + "author": { + "name": "Evgeny Poberezkin" + }, + "bugs": { + "url": "https://github.com/epoberezkin/fast-deep-equal/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Fast deep equal", + "devDependencies": { + "coveralls": "^3.1.0", + "dot": "^1.1.2", + "eslint": "^7.2.0", + "mocha": "^7.2.0", + "nyc": "^15.1.0", + "pre-commit": "^1.2.2", + "react": "^16.12.0", + "react-test-renderer": "^16.12.0", + "sinon": "^9.0.2", + "typescript": "^3.9.5" + }, + "files": [ + "index.js", + "index.d.ts", + "react.js", + "react.d.ts", + "es6/" + ], + "homepage": "https://github.com/epoberezkin/fast-deep-equal#readme", + "keywords": [ + "fast", + "equal", + "deep-equal" + ], + "license": "MIT", + "main": "index.js", + "name": "fast-deep-equal", + "nyc": { + "exclude": [ + "**/spec/**", + "node_modules" + ], + "reporter": [ + "lcov", + "text-summary" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/epoberezkin/fast-deep-equal.git" + }, + "scripts": { + "benchmark": "npm i && npm run build && cd ./benchmark && npm i && node ./", + "build": "node build", + "eslint": "eslint *.js benchmark/*.js spec/*.js", + "prepublish": "npm run build", + "test": "npm run build && npm run eslint && npm run test-ts && npm run test-cov", + "test-cov": "nyc npm run test-spec", + "test-spec": "mocha spec/*.spec.js -R spec", + "test-ts": "tsc --target ES5 --noImplicitAny index.d.ts" + }, + "types": "index.d.ts", + "version": "3.1.3" +} diff --git a/node_modules/fast-deep-equal/react.d.ts b/node_modules/fast-deep-equal/react.d.ts new file mode 100644 index 00000000..c7eb9c79 --- /dev/null +++ b/node_modules/fast-deep-equal/react.d.ts @@ -0,0 +1,2 @@ +declare const equal: (a: any, b: any) => boolean; +export = equal; diff --git a/node_modules/fast-deep-equal/react.js b/node_modules/fast-deep-equal/react.js new file mode 100644 index 00000000..3489b983 --- /dev/null +++ b/node_modules/fast-deep-equal/react.js @@ -0,0 +1,53 @@ +'use strict'; + +// do not edit .js files directly - edit src/index.jst + + + +module.exports = function equal(a, b) { + if (a === b) return true; + + if (a && b && typeof a == 'object' && typeof b == 'object') { + if (a.constructor !== b.constructor) return false; + + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0;) + if (!equal(a[i], b[i])) return false; + return true; + } + + + + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + + for (i = length; i-- !== 0;) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + + for (i = length; i-- !== 0;) { + var key = keys[i]; + + if (key === '_owner' && a.$$typeof) { + // React-specific: avoid traversing React elements' _owner. + // _owner contains circular references + // and is not needed when comparing the actual elements (and not their owners) + continue; + } + + if (!equal(a[key], b[key])) return false; + } + + return true; + } + + // true if both NaN, false otherwise + return a!==a && b!==b; +}; diff --git a/node_modules/fast-json-stable-stringify/.eslintrc.yml b/node_modules/fast-json-stable-stringify/.eslintrc.yml new file mode 100644 index 00000000..1c77b0d4 --- /dev/null +++ b/node_modules/fast-json-stable-stringify/.eslintrc.yml @@ -0,0 +1,26 @@ +extends: eslint:recommended +env: + node: true + browser: true +rules: + block-scoped-var: 2 + callback-return: 2 + dot-notation: 2 + indent: 2 + linebreak-style: [2, unix] + new-cap: 2 + no-console: [2, allow: [warn, error]] + no-else-return: 2 + no-eq-null: 2 + no-fallthrough: 2 + no-invalid-this: 2 + no-return-assign: 2 + no-shadow: 1 + no-trailing-spaces: 2 + no-use-before-define: [2, nofunc] + quotes: [2, single, avoid-escape] + semi: [2, always] + strict: [2, global] + valid-jsdoc: [2, requireReturn: false] + no-control-regex: 0 + no-useless-escape: 2 diff --git a/node_modules/fast-json-stable-stringify/.github/FUNDING.yml b/node_modules/fast-json-stable-stringify/.github/FUNDING.yml new file mode 100644 index 00000000..61f9daa9 --- /dev/null +++ b/node_modules/fast-json-stable-stringify/.github/FUNDING.yml @@ -0,0 +1 @@ +tidelift: "npm/fast-json-stable-stringify" diff --git a/node_modules/fast-json-stable-stringify/.travis.yml b/node_modules/fast-json-stable-stringify/.travis.yml new file mode 100644 index 00000000..b61e8f0d --- /dev/null +++ b/node_modules/fast-json-stable-stringify/.travis.yml @@ -0,0 +1,8 @@ +language: node_js +node_js: + - "8" + - "10" + - "12" + - "13" +after_script: + - coveralls < coverage/lcov.info diff --git a/node_modules/fast-json-stable-stringify/LICENSE b/node_modules/fast-json-stable-stringify/LICENSE new file mode 100644 index 00000000..c932223b --- /dev/null +++ b/node_modules/fast-json-stable-stringify/LICENSE @@ -0,0 +1,21 @@ +This software is released under the MIT license: + +Copyright (c) 2017 Evgeny Poberezkin +Copyright (c) 2013 James Halliday + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/fast-json-stable-stringify/README.md b/node_modules/fast-json-stable-stringify/README.md new file mode 100644 index 00000000..02cf49ff --- /dev/null +++ b/node_modules/fast-json-stable-stringify/README.md @@ -0,0 +1,131 @@ +# fast-json-stable-stringify + +Deterministic `JSON.stringify()` - a faster version of [@substack](https://github.com/substack)'s json-stable-strigify without [jsonify](https://github.com/substack/jsonify). + +You can also pass in a custom comparison function. + +[![Build Status](https://travis-ci.org/epoberezkin/fast-json-stable-stringify.svg?branch=master)](https://travis-ci.org/epoberezkin/fast-json-stable-stringify) +[![Coverage Status](https://coveralls.io/repos/github/epoberezkin/fast-json-stable-stringify/badge.svg?branch=master)](https://coveralls.io/github/epoberezkin/fast-json-stable-stringify?branch=master) + +# example + +``` js +var stringify = require('fast-json-stable-stringify'); +var obj = { c: 8, b: [{z:6,y:5,x:4},7], a: 3 }; +console.log(stringify(obj)); +``` + +output: + +``` +{"a":3,"b":[{"x":4,"y":5,"z":6},7],"c":8} +``` + + +# methods + +``` js +var stringify = require('fast-json-stable-stringify') +``` + +## var str = stringify(obj, opts) + +Return a deterministic stringified string `str` from the object `obj`. + + +## options + +### cmp + +If `opts` is given, you can supply an `opts.cmp` to have a custom comparison +function for object keys. Your function `opts.cmp` is called with these +parameters: + +``` js +opts.cmp({ key: akey, value: avalue }, { key: bkey, value: bvalue }) +``` + +For example, to sort on the object key names in reverse order you could write: + +``` js +var stringify = require('fast-json-stable-stringify'); + +var obj = { c: 8, b: [{z:6,y:5,x:4},7], a: 3 }; +var s = stringify(obj, function (a, b) { + return a.key < b.key ? 1 : -1; +}); +console.log(s); +``` + +which results in the output string: + +``` +{"c":8,"b":[{"z":6,"y":5,"x":4},7],"a":3} +``` + +Or if you wanted to sort on the object values in reverse order, you could write: + +``` +var stringify = require('fast-json-stable-stringify'); + +var obj = { d: 6, c: 5, b: [{z:3,y:2,x:1},9], a: 10 }; +var s = stringify(obj, function (a, b) { + return a.value < b.value ? 1 : -1; +}); +console.log(s); +``` + +which outputs: + +``` +{"d":6,"c":5,"b":[{"z":3,"y":2,"x":1},9],"a":10} +``` + +### cycles + +Pass `true` in `opts.cycles` to stringify circular property as `__cycle__` - the result will not be a valid JSON string in this case. + +TypeError will be thrown in case of circular object without this option. + + +# install + +With [npm](https://npmjs.org) do: + +``` +npm install fast-json-stable-stringify +``` + + +# benchmark + +To run benchmark (requires Node.js 6+): +``` +node benchmark +``` + +Results: +``` +fast-json-stable-stringify x 17,189 ops/sec ±1.43% (83 runs sampled) +json-stable-stringify x 13,634 ops/sec ±1.39% (85 runs sampled) +fast-stable-stringify x 20,212 ops/sec ±1.20% (84 runs sampled) +faster-stable-stringify x 15,549 ops/sec ±1.12% (84 runs sampled) +The fastest is fast-stable-stringify +``` + + +## Enterprise support + +fast-json-stable-stringify package is a part of [Tidelift enterprise subscription](https://tidelift.com/subscription/pkg/npm-fast-json-stable-stringify?utm_source=npm-fast-json-stable-stringify&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) - it provides a centralised commercial support to open-source software users, in addition to the support provided by software maintainers. + + +## Security contact + +To report a security vulnerability, please use the +[Tidelift security contact](https://tidelift.com/security). +Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerability via GitHub issues. + + +# license + +[MIT](https://github.com/epoberezkin/fast-json-stable-stringify/blob/master/LICENSE) diff --git a/node_modules/fast-json-stable-stringify/benchmark/index.js b/node_modules/fast-json-stable-stringify/benchmark/index.js new file mode 100644 index 00000000..e725f9fc --- /dev/null +++ b/node_modules/fast-json-stable-stringify/benchmark/index.js @@ -0,0 +1,31 @@ +'use strict'; + +const Benchmark = require('benchmark'); +const suite = new Benchmark.Suite; +const testData = require('./test.json'); + + +const stringifyPackages = { + // 'JSON.stringify': JSON.stringify, + 'fast-json-stable-stringify': require('../index'), + 'json-stable-stringify': true, + 'fast-stable-stringify': true, + 'faster-stable-stringify': true +}; + + +for (const name in stringifyPackages) { + let func = stringifyPackages[name]; + if (func === true) func = require(name); + + suite.add(name, function() { + func(testData); + }); +} + +suite + .on('cycle', (event) => console.log(String(event.target))) + .on('complete', function () { + console.log('The fastest is ' + this.filter('fastest').map('name')); + }) + .run({async: true}); diff --git a/node_modules/fast-json-stable-stringify/benchmark/test.json b/node_modules/fast-json-stable-stringify/benchmark/test.json new file mode 100644 index 00000000..c9118c11 --- /dev/null +++ b/node_modules/fast-json-stable-stringify/benchmark/test.json @@ -0,0 +1,137 @@ +[ + { + "_id": "59ef4a83ee8364808d761beb", + "index": 0, + "guid": "e50ffae9-7128-4148-9ee5-40c3fc523c5d", + "isActive": false, + "balance": "$2,341.81", + "picture": "http://placehold.it/32x32", + "age": 28, + "eyeColor": "brown", + "name": "Carey Savage", + "gender": "female", + "company": "VERAQ", + "email": "careysavage@veraq.com", + "phone": "+1 (897) 574-3014", + "address": "458 Willow Street, Henrietta, California, 7234", + "about": "Nisi reprehenderit nulla ad officia pariatur non dolore laboris irure cupidatat laborum. Minim eu ex Lorem adipisicing exercitation irure minim sunt est enim mollit incididunt voluptate nulla. Ut mollit anim reprehenderit et aliqua ex esse aliquip. Aute sit duis deserunt do incididunt consequat minim qui dolor commodo deserunt et voluptate.\r\n", + "registered": "2014-05-21T01:56:51 -01:00", + "latitude": 63.89502, + "longitude": 62.369807, + "tags": [ + "nostrud", + "nisi", + "consectetur", + "ullamco", + "cupidatat", + "culpa", + "commodo" + ], + "friends": [ + { + "id": 0, + "name": "Henry Walls" + }, + { + "id": 1, + "name": "Janice Baker" + }, + { + "id": 2, + "name": "Russell Bush" + } + ], + "greeting": "Hello, Carey Savage! You have 4 unread messages.", + "favoriteFruit": "banana" + }, + { + "_id": "59ef4a83ff5774a691454e89", + "index": 1, + "guid": "2bee9efc-4095-4c2e-87ef-d08c8054c89d", + "isActive": true, + "balance": "$1,618.15", + "picture": "http://placehold.it/32x32", + "age": 35, + "eyeColor": "blue", + "name": "Elinor Pearson", + "gender": "female", + "company": "FLEXIGEN", + "email": "elinorpearson@flexigen.com", + "phone": "+1 (923) 548-3751", + "address": "600 Bayview Avenue, Draper, Montana, 3088", + "about": "Mollit commodo ea sit Lorem velit. Irure anim esse Lorem sint quis officia ut. Aliqua nisi dolore in aute deserunt mollit ex ea in mollit.\r\n", + "registered": "2017-04-22T07:58:41 -01:00", + "latitude": -87.824919, + "longitude": 69.538927, + "tags": [ + "fugiat", + "labore", + "proident", + "quis", + "eiusmod", + "qui", + "est" + ], + "friends": [ + { + "id": 0, + "name": "Massey Wagner" + }, + { + "id": 1, + "name": "Marcella Ferrell" + }, + { + "id": 2, + "name": "Evans Mckee" + } + ], + "greeting": "Hello, Elinor Pearson! You have 3 unread messages.", + "favoriteFruit": "strawberry" + }, + { + "_id": "59ef4a839ec8a4be4430b36b", + "index": 2, + "guid": "ddd6e8c0-95bd-416d-8b46-a768d6363809", + "isActive": false, + "balance": "$2,046.95", + "picture": "http://placehold.it/32x32", + "age": 40, + "eyeColor": "green", + "name": "Irwin Davidson", + "gender": "male", + "company": "DANJA", + "email": "irwindavidson@danja.com", + "phone": "+1 (883) 537-2041", + "address": "439 Cook Street, Chapin, Kentucky, 7398", + "about": "Irure velit non commodo aliqua exercitation ut nostrud minim magna. Dolor ad ad ut irure eu. Non pariatur dolor eiusmod ipsum do et exercitation cillum. Et amet laboris minim eiusmod ullamco magna ea reprehenderit proident sunt.\r\n", + "registered": "2016-09-01T07:49:08 -01:00", + "latitude": -49.803812, + "longitude": 104.93279, + "tags": [ + "consequat", + "enim", + "quis", + "magna", + "est", + "culpa", + "tempor" + ], + "friends": [ + { + "id": 0, + "name": "Ruth Hansen" + }, + { + "id": 1, + "name": "Kathrine Austin" + }, + { + "id": 2, + "name": "Rivera Munoz" + } + ], + "greeting": "Hello, Irwin Davidson! You have 2 unread messages.", + "favoriteFruit": "banana" + } +] diff --git a/node_modules/fast-json-stable-stringify/example/key_cmp.js b/node_modules/fast-json-stable-stringify/example/key_cmp.js new file mode 100644 index 00000000..d5f66752 --- /dev/null +++ b/node_modules/fast-json-stable-stringify/example/key_cmp.js @@ -0,0 +1,7 @@ +var stringify = require('../'); + +var obj = { c: 8, b: [{z:6,y:5,x:4},7], a: 3 }; +var s = stringify(obj, function (a, b) { + return a.key < b.key ? 1 : -1; +}); +console.log(s); diff --git a/node_modules/fast-json-stable-stringify/example/nested.js b/node_modules/fast-json-stable-stringify/example/nested.js new file mode 100644 index 00000000..9a672fc6 --- /dev/null +++ b/node_modules/fast-json-stable-stringify/example/nested.js @@ -0,0 +1,3 @@ +var stringify = require('../'); +var obj = { c: 8, b: [{z:6,y:5,x:4},7], a: 3 }; +console.log(stringify(obj)); diff --git a/node_modules/fast-json-stable-stringify/example/str.js b/node_modules/fast-json-stable-stringify/example/str.js new file mode 100644 index 00000000..9b4b3cd2 --- /dev/null +++ b/node_modules/fast-json-stable-stringify/example/str.js @@ -0,0 +1,3 @@ +var stringify = require('../'); +var obj = { c: 6, b: [4,5], a: 3 }; +console.log(stringify(obj)); diff --git a/node_modules/fast-json-stable-stringify/example/value_cmp.js b/node_modules/fast-json-stable-stringify/example/value_cmp.js new file mode 100644 index 00000000..09f1c5f7 --- /dev/null +++ b/node_modules/fast-json-stable-stringify/example/value_cmp.js @@ -0,0 +1,7 @@ +var stringify = require('../'); + +var obj = { d: 6, c: 5, b: [{z:3,y:2,x:1},9], a: 10 }; +var s = stringify(obj, function (a, b) { + return a.value < b.value ? 1 : -1; +}); +console.log(s); diff --git a/node_modules/fast-json-stable-stringify/index.d.ts b/node_modules/fast-json-stable-stringify/index.d.ts new file mode 100644 index 00000000..23e46caf --- /dev/null +++ b/node_modules/fast-json-stable-stringify/index.d.ts @@ -0,0 +1,4 @@ +declare module 'fast-json-stable-stringify' { + function stringify(obj: any): string; + export = stringify; +} diff --git a/node_modules/fast-json-stable-stringify/index.js b/node_modules/fast-json-stable-stringify/index.js new file mode 100644 index 00000000..c44e6a41 --- /dev/null +++ b/node_modules/fast-json-stable-stringify/index.js @@ -0,0 +1,59 @@ +'use strict'; + +module.exports = function (data, opts) { + if (!opts) opts = {}; + if (typeof opts === 'function') opts = { cmp: opts }; + var cycles = (typeof opts.cycles === 'boolean') ? opts.cycles : false; + + var cmp = opts.cmp && (function (f) { + return function (node) { + return function (a, b) { + var aobj = { key: a, value: node[a] }; + var bobj = { key: b, value: node[b] }; + return f(aobj, bobj); + }; + }; + })(opts.cmp); + + var seen = []; + return (function stringify (node) { + if (node && node.toJSON && typeof node.toJSON === 'function') { + node = node.toJSON(); + } + + if (node === undefined) return; + if (typeof node == 'number') return isFinite(node) ? '' + node : 'null'; + if (typeof node !== 'object') return JSON.stringify(node); + + var i, out; + if (Array.isArray(node)) { + out = '['; + for (i = 0; i < node.length; i++) { + if (i) out += ','; + out += stringify(node[i]) || 'null'; + } + return out + ']'; + } + + if (node === null) return 'null'; + + if (seen.indexOf(node) !== -1) { + if (cycles) return JSON.stringify('__cycle__'); + throw new TypeError('Converting circular structure to JSON'); + } + + var seenIndex = seen.push(node) - 1; + var keys = Object.keys(node).sort(cmp && cmp(node)); + out = ''; + for (i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = stringify(node[key]); + + if (!value) continue; + if (out) out += ','; + out += JSON.stringify(key) + ':' + value; + } + seen.splice(seenIndex, 1); + return '{' + out + '}'; + })(data); +}; diff --git a/node_modules/fast-json-stable-stringify/package.json b/node_modules/fast-json-stable-stringify/package.json new file mode 100644 index 00000000..bf9bcc92 --- /dev/null +++ b/node_modules/fast-json-stable-stringify/package.json @@ -0,0 +1,80 @@ +{ + "_from": "fast-json-stable-stringify@^2.0.0", + "_id": "fast-json-stable-stringify@2.1.0", + "_inBundle": false, + "_integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "_location": "/fast-json-stable-stringify", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "fast-json-stable-stringify@^2.0.0", + "name": "fast-json-stable-stringify", + "escapedName": "fast-json-stable-stringify", + "rawSpec": "^2.0.0", + "saveSpec": null, + "fetchSpec": "^2.0.0" + }, + "_requiredBy": [ + "/ajv" + ], + "_resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "_shasum": "874bf69c6f404c2b5d99c481341399fd55892633", + "_spec": "fast-json-stable-stringify@^2.0.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\ajv", + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "bugs": { + "url": "https://github.com/epoberezkin/fast-json-stable-stringify/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "deterministic `JSON.stringify()` - a faster version of substack's json-stable-strigify without jsonify", + "devDependencies": { + "benchmark": "^2.1.4", + "coveralls": "^3.0.0", + "eslint": "^6.7.0", + "fast-stable-stringify": "latest", + "faster-stable-stringify": "latest", + "json-stable-stringify": "latest", + "nyc": "^14.1.0", + "pre-commit": "^1.2.2", + "tape": "^4.11.0" + }, + "homepage": "https://github.com/epoberezkin/fast-json-stable-stringify", + "keywords": [ + "json", + "stringify", + "deterministic", + "hash", + "stable" + ], + "license": "MIT", + "main": "index.js", + "name": "fast-json-stable-stringify", + "nyc": { + "exclude": [ + "test", + "node_modules" + ], + "reporter": [ + "lcov", + "text-summary" + ] + }, + "repository": { + "type": "git", + "url": "git://github.com/epoberezkin/fast-json-stable-stringify.git" + }, + "scripts": { + "eslint": "eslint index.js test", + "test": "npm run eslint && nyc npm run test-spec", + "test-spec": "tape test/*.js" + }, + "types": "index.d.ts", + "version": "2.1.0" +} diff --git a/node_modules/fast-json-stable-stringify/test/cmp.js b/node_modules/fast-json-stable-stringify/test/cmp.js new file mode 100644 index 00000000..4efd6b59 --- /dev/null +++ b/node_modules/fast-json-stable-stringify/test/cmp.js @@ -0,0 +1,13 @@ +'use strict'; + +var test = require('tape'); +var stringify = require('../'); + +test('custom comparison function', function (t) { + t.plan(1); + var obj = { c: 8, b: [{z:6,y:5,x:4},7], a: 3 }; + var s = stringify(obj, function (a, b) { + return a.key < b.key ? 1 : -1; + }); + t.equal(s, '{"c":8,"b":[{"z":6,"y":5,"x":4},7],"a":3}'); +}); diff --git a/node_modules/fast-json-stable-stringify/test/nested.js b/node_modules/fast-json-stable-stringify/test/nested.js new file mode 100644 index 00000000..167a358e --- /dev/null +++ b/node_modules/fast-json-stable-stringify/test/nested.js @@ -0,0 +1,44 @@ +'use strict'; + +var test = require('tape'); +var stringify = require('../'); + +test('nested', function (t) { + t.plan(1); + var obj = { c: 8, b: [{z:6,y:5,x:4},7], a: 3 }; + t.equal(stringify(obj), '{"a":3,"b":[{"x":4,"y":5,"z":6},7],"c":8}'); +}); + +test('cyclic (default)', function (t) { + t.plan(1); + var one = { a: 1 }; + var two = { a: 2, one: one }; + one.two = two; + try { + stringify(one); + } catch (ex) { + t.equal(ex.toString(), 'TypeError: Converting circular structure to JSON'); + } +}); + +test('cyclic (specifically allowed)', function (t) { + t.plan(1); + var one = { a: 1 }; + var two = { a: 2, one: one }; + one.two = two; + t.equal(stringify(one, {cycles:true}), '{"a":1,"two":{"a":2,"one":"__cycle__"}}'); +}); + +test('repeated non-cyclic value', function(t) { + t.plan(1); + var one = { x: 1 }; + var two = { a: one, b: one }; + t.equal(stringify(two), '{"a":{"x":1},"b":{"x":1}}'); +}); + +test('acyclic but with reused obj-property pointers', function (t) { + t.plan(1); + var x = { a: 1 }; + var y = { b: x, c: x }; + t.equal(stringify(y), '{"b":{"a":1},"c":{"a":1}}'); +}); diff --git a/node_modules/fast-json-stable-stringify/test/str.js b/node_modules/fast-json-stable-stringify/test/str.js new file mode 100644 index 00000000..99a9ade1 --- /dev/null +++ b/node_modules/fast-json-stable-stringify/test/str.js @@ -0,0 +1,46 @@ +'use strict'; + +var test = require('tape'); +var stringify = require('../'); + +test('simple object', function (t) { + t.plan(1); + var obj = { c: 6, b: [4,5], a: 3, z: null }; + t.equal(stringify(obj), '{"a":3,"b":[4,5],"c":6,"z":null}'); +}); + +test('object with undefined', function (t) { + t.plan(1); + var obj = { a: 3, z: undefined }; + t.equal(stringify(obj), '{"a":3}'); +}); + +test('object with null', function (t) { + t.plan(1); + var obj = { a: 3, z: null }; + t.equal(stringify(obj), '{"a":3,"z":null}'); +}); + +test('object with NaN and Infinity', function (t) { + t.plan(1); + var obj = { a: 3, b: NaN, c: Infinity }; + t.equal(stringify(obj), '{"a":3,"b":null,"c":null}'); +}); + +test('array with undefined', function (t) { + t.plan(1); + var obj = [4, undefined, 6]; + t.equal(stringify(obj), '[4,null,6]'); +}); + +test('object with empty string', function (t) { + t.plan(1); + var obj = { a: 3, z: '' }; + t.equal(stringify(obj), '{"a":3,"z":""}'); +}); + +test('array with empty string', function (t) { + t.plan(1); + var obj = [4, '', 6]; + t.equal(stringify(obj), '[4,"",6]'); +}); diff --git a/node_modules/fast-json-stable-stringify/test/to-json.js b/node_modules/fast-json-stable-stringify/test/to-json.js new file mode 100644 index 00000000..2fb2cfa3 --- /dev/null +++ b/node_modules/fast-json-stable-stringify/test/to-json.js @@ -0,0 +1,22 @@ +'use strict'; + +var test = require('tape'); +var stringify = require('../'); + +test('toJSON function', function (t) { + t.plan(1); + var obj = { one: 1, two: 2, toJSON: function() { return { one: 1 }; } }; + t.equal(stringify(obj), '{"one":1}' ); +}); + +test('toJSON returns string', function (t) { + t.plan(1); + var obj = { one: 1, two: 2, toJSON: function() { return 'one'; } }; + t.equal(stringify(obj), '"one"'); +}); + +test('toJSON returns array', function (t) { + t.plan(1); + var obj = { one: 1, two: 2, toJSON: function() { return ['one']; } }; + t.equal(stringify(obj), '["one"]'); +}); diff --git a/node_modules/follow-redirects/LICENSE b/node_modules/follow-redirects/LICENSE new file mode 100644 index 00000000..742cbada --- /dev/null +++ b/node_modules/follow-redirects/LICENSE @@ -0,0 +1,18 @@ +Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/follow-redirects/README.md b/node_modules/follow-redirects/README.md new file mode 100644 index 00000000..6d413379 --- /dev/null +++ b/node_modules/follow-redirects/README.md @@ -0,0 +1,155 @@ +## Follow Redirects + +Drop-in replacement for Nodes `http` and `https` that automatically follows redirects. + +[![npm version](https://img.shields.io/npm/v/follow-redirects.svg)](https://www.npmjs.com/package/follow-redirects) +[![Build Status](https://travis-ci.org/follow-redirects/follow-redirects.svg?branch=master)](https://travis-ci.org/follow-redirects/follow-redirects) +[![Coverage Status](https://coveralls.io/repos/follow-redirects/follow-redirects/badge.svg?branch=master)](https://coveralls.io/r/follow-redirects/follow-redirects?branch=master) +[![Dependency Status](https://david-dm.org/follow-redirects/follow-redirects.svg)](https://david-dm.org/follow-redirects/follow-redirects) +[![npm downloads](https://img.shields.io/npm/dm/follow-redirects.svg)](https://www.npmjs.com/package/follow-redirects) + +`follow-redirects` provides [request](https://nodejs.org/api/http.html#http_http_request_options_callback) and [get](https://nodejs.org/api/http.html#http_http_get_options_callback) + methods that behave identically to those found on the native [http](https://nodejs.org/api/http.html#http_http_request_options_callback) and [https](https://nodejs.org/api/https.html#https_https_request_options_callback) + modules, with the exception that they will seamlessly follow redirects. + +```javascript +var http = require('follow-redirects').http; +var https = require('follow-redirects').https; + +http.get('http://bit.ly/900913', function (response) { + response.on('data', function (chunk) { + console.log(chunk); + }); +}).on('error', function (err) { + console.error(err); +}); +``` + +You can inspect the final redirected URL through the `responseUrl` property on the `response`. +If no redirection happened, `responseUrl` is the original request URL. + +```javascript +https.request({ + host: 'bitly.com', + path: '/UHfDGO', +}, function (response) { + console.log(response.responseUrl); + // 'http://duckduckgo.com/robots.txt' +}); +``` + +## Options +### Global options +Global options are set directly on the `follow-redirects` module: + +```javascript +var followRedirects = require('follow-redirects'); +followRedirects.maxRedirects = 10; +followRedirects.maxBodyLength = 20 * 1024 * 1024; // 20 MB +``` + +The following global options are supported: + +- `maxRedirects` (default: `21`) – sets the maximum number of allowed redirects; if exceeded, an error will be emitted. + +- `maxBodyLength` (default: 10MB) – sets the maximum size of the request body; if exceeded, an error will be emitted. + + +### Per-request options +Per-request options are set by passing an `options` object: + +```javascript +var url = require('url'); +var followRedirects = require('follow-redirects'); + +var options = url.parse('http://bit.ly/900913'); +options.maxRedirects = 10; +http.request(options); +``` + +In addition to the [standard HTTP](https://nodejs.org/api/http.html#http_http_request_options_callback) and [HTTPS options](https://nodejs.org/api/https.html#https_https_request_options_callback), +the following per-request options are supported: +- `followRedirects` (default: `true`) – whether redirects should be followed. + +- `maxRedirects` (default: `21`) – sets the maximum number of allowed redirects; if exceeded, an error will be emitted. + +- `maxBodyLength` (default: 10MB) – sets the maximum size of the request body; if exceeded, an error will be emitted. + +- `agents` (default: `undefined`) – sets the `agent` option per protocol, since HTTP and HTTPS use different agents. Example value: `{ http: new http.Agent(), https: new https.Agent() }` + +- `trackRedirects` (default: `false`) – whether to store the redirected response details into the `redirects` array on the response object. + + +### Advanced usage +By default, `follow-redirects` will use the Node.js default implementations +of [`http`](https://nodejs.org/api/http.html) +and [`https`](https://nodejs.org/api/https.html). +To enable features such as caching and/or intermediate request tracking, +you might instead want to wrap `follow-redirects` around custom protocol implementations: + +```javascript +var followRedirects = require('follow-redirects').wrap({ + http: require('your-custom-http'), + https: require('your-custom-https'), +}); +``` + +Such custom protocols only need an implementation of the `request` method. + +## Browserify Usage + +Due to the way `XMLHttpRequest` works, the `browserify` versions of `http` and `https` already follow redirects. + If you are *only* targeting the browser, then this library has little value for you. If you want to write cross + platform code for node and the browser, `follow-redirects` provides a great solution for making the native node + modules behave the same as they do in browserified builds in the browser. To avoid bundling unnecessary code + you should tell browserify to swap out `follow-redirects` with the standard modules when bundling. + To make this easier, you need to change how you require the modules: + +```javascript +var http = require('follow-redirects/http'); +var https = require('follow-redirects/https'); +``` + +You can then replace `follow-redirects` in your browserify configuration like so: + +```javascript +"browser": { + "follow-redirects/http" : "http", + "follow-redirects/https" : "https" +} +``` + +The `browserify-http` module has not kept pace with node development, and no long behaves identically to the native + module when running in the browser. If you are experiencing problems, you may want to check out + [browserify-http-2](https://www.npmjs.com/package/http-browserify-2). It is more actively maintained and + attempts to address a few of the shortcomings of `browserify-http`. In that case, your browserify config should + look something like this: + +```javascript +"browser": { + "follow-redirects/http" : "browserify-http-2/http", + "follow-redirects/https" : "browserify-http-2/https" +} +``` + +## Contributing + +Pull Requests are always welcome. Please [file an issue](https://github.com/follow-redirects/follow-redirects/issues) + detailing your proposal before you invest your valuable time. Additional features and bug fixes should be accompanied + by tests. You can run the test suite locally with a simple `npm test` command. + +## Debug Logging + +`follow-redirects` uses the excellent [debug](https://www.npmjs.com/package/debug) for logging. To turn on logging + set the environment variable `DEBUG=follow-redirects` for debug output from just this module. When running the test + suite it is sometimes advantageous to set `DEBUG=*` to see output from the express server as well. + +## Authors + +- Olivier Lalonde (olalonde@gmail.com) +- James Talmage (james@talmage.io) +- [Ruben Verborgh](https://ruben.verborgh.org/) + +## License + +[https://github.com/follow-redirects/follow-redirects/blob/master/LICENSE](MIT License) diff --git a/node_modules/follow-redirects/http.js b/node_modules/follow-redirects/http.js new file mode 100644 index 00000000..695e3561 --- /dev/null +++ b/node_modules/follow-redirects/http.js @@ -0,0 +1 @@ +module.exports = require("./").http; diff --git a/node_modules/follow-redirects/https.js b/node_modules/follow-redirects/https.js new file mode 100644 index 00000000..d21c921d --- /dev/null +++ b/node_modules/follow-redirects/https.js @@ -0,0 +1 @@ +module.exports = require("./").https; diff --git a/node_modules/follow-redirects/index.js b/node_modules/follow-redirects/index.js new file mode 100644 index 00000000..4d7297a3 --- /dev/null +++ b/node_modules/follow-redirects/index.js @@ -0,0 +1,322 @@ +var url = require("url"); +var http = require("http"); +var https = require("https"); +var assert = require("assert"); +var Writable = require("stream").Writable; +var debug = require("debug")("follow-redirects"); + +// RFC7231§4.2.1: Of the request methods defined by this specification, +// the GET, HEAD, OPTIONS, and TRACE methods are defined to be safe. +var SAFE_METHODS = { GET: true, HEAD: true, OPTIONS: true, TRACE: true }; + +// Create handlers that pass events from native requests +var eventHandlers = Object.create(null); +["abort", "aborted", "error", "socket", "timeout"].forEach(function (event) { + eventHandlers[event] = function (arg) { + this._redirectable.emit(event, arg); + }; +}); + +// An HTTP(S) request that can be redirected +function RedirectableRequest(options, responseCallback) { + // Initialize the request + Writable.call(this); + options.headers = options.headers || {}; + this._options = options; + this._redirectCount = 0; + this._redirects = []; + this._requestBodyLength = 0; + this._requestBodyBuffers = []; + + // Since http.request treats host as an alias of hostname, + // but the url module interprets host as hostname plus port, + // eliminate the host property to avoid confusion. + if (options.host) { + // Use hostname if set, because it has precedence + if (!options.hostname) { + options.hostname = options.host; + } + delete options.host; + } + + // Attach a callback if passed + if (responseCallback) { + this.on("response", responseCallback); + } + + // React to responses of native requests + var self = this; + this._onNativeResponse = function (response) { + self._processResponse(response); + }; + + // Complete the URL object when necessary + if (!options.pathname && options.path) { + var searchPos = options.path.indexOf("?"); + if (searchPos < 0) { + options.pathname = options.path; + } + else { + options.pathname = options.path.substring(0, searchPos); + options.search = options.path.substring(searchPos); + } + } + + // Perform the first request + this._performRequest(); +} +RedirectableRequest.prototype = Object.create(Writable.prototype); + +// Writes buffered data to the current native request +RedirectableRequest.prototype.write = function (data, encoding, callback) { + // Validate input and shift parameters if necessary + if (!(typeof data === "string" || typeof data === "object" && ("length" in data))) { + throw new Error("data should be a string, Buffer or Uint8Array"); + } + if (typeof encoding === "function") { + callback = encoding; + encoding = null; + } + + // Ignore empty buffers, since writing them doesn't invoke the callback + // https://github.com/nodejs/node/issues/22066 + if (data.length === 0) { + if (callback) { + callback(); + } + return; + } + // Only write when we don't exceed the maximum body length + if (this._requestBodyLength + data.length <= this._options.maxBodyLength) { + this._requestBodyLength += data.length; + this._requestBodyBuffers.push({ data: data, encoding: encoding }); + this._currentRequest.write(data, encoding, callback); + } + // Error when we exceed the maximum body length + else { + this.emit("error", new Error("Request body larger than maxBodyLength limit")); + this.abort(); + } +}; + +// Ends the current native request +RedirectableRequest.prototype.end = function (data, encoding, callback) { + // Shift parameters if necessary + if (typeof data === "function") { + callback = data; + data = encoding = null; + } + else if (typeof encoding === "function") { + callback = encoding; + encoding = null; + } + + // Write data and end + var currentRequest = this._currentRequest; + this.write(data || "", encoding, function () { + currentRequest.end(null, null, callback); + }); +}; + +// Sets a header value on the current native request +RedirectableRequest.prototype.setHeader = function (name, value) { + this._options.headers[name] = value; + this._currentRequest.setHeader(name, value); +}; + +// Clears a header value on the current native request +RedirectableRequest.prototype.removeHeader = function (name) { + delete this._options.headers[name]; + this._currentRequest.removeHeader(name); +}; + +// Proxy all other public ClientRequest methods +[ + "abort", "flushHeaders", "getHeader", + "setNoDelay", "setSocketKeepAlive", "setTimeout", +].forEach(function (method) { + RedirectableRequest.prototype[method] = function (a, b) { + return this._currentRequest[method](a, b); + }; +}); + +// Proxy all public ClientRequest properties +["aborted", "connection", "socket"].forEach(function (property) { + Object.defineProperty(RedirectableRequest.prototype, property, { + get: function () { return this._currentRequest[property]; }, + }); +}); + +// Executes the next native request (initial or redirect) +RedirectableRequest.prototype._performRequest = function () { + // Load the native protocol + var protocol = this._options.protocol; + var nativeProtocol = this._options.nativeProtocols[protocol]; + if (!nativeProtocol) { + this.emit("error", new Error("Unsupported protocol " + protocol)); + return; + } + + // If specified, use the agent corresponding to the protocol + // (HTTP and HTTPS use different types of agents) + if (this._options.agents) { + var scheme = protocol.substr(0, protocol.length - 1); + this._options.agent = this._options.agents[scheme]; + } + + // Create the native request + var request = this._currentRequest = + nativeProtocol.request(this._options, this._onNativeResponse); + this._currentUrl = url.format(this._options); + + // Set up event handlers + request._redirectable = this; + for (var event in eventHandlers) { + /* istanbul ignore else */ + if (event) { + request.on(event, eventHandlers[event]); + } + } + + // End a redirected request + // (The first request must be ended explicitly with RedirectableRequest#end) + if (this._isRedirect) { + // Write the request entity and end. + var i = 0; + var buffers = this._requestBodyBuffers; + (function writeNext() { + if (i < buffers.length) { + var buffer = buffers[i++]; + request.write(buffer.data, buffer.encoding, writeNext); + } + else { + request.end(); + } + }()); + } +}; + +// Processes a response from the current native request +RedirectableRequest.prototype._processResponse = function (response) { + // Store the redirected response + if (this._options.trackRedirects) { + this._redirects.push({ + url: this._currentUrl, + headers: response.headers, + statusCode: response.statusCode, + }); + } + + // RFC7231§6.4: The 3xx (Redirection) class of status code indicates + // that further action needs to be taken by the user agent in order to + // fulfill the request. If a Location header field is provided, + // the user agent MAY automatically redirect its request to the URI + // referenced by the Location field value, + // even if the specific status code is not understood. + var location = response.headers.location; + if (location && this._options.followRedirects !== false && + response.statusCode >= 300 && response.statusCode < 400) { + // RFC7231§6.4: A client SHOULD detect and intervene + // in cyclical redirections (i.e., "infinite" redirection loops). + if (++this._redirectCount > this._options.maxRedirects) { + this.emit("error", new Error("Max redirects exceeded.")); + return; + } + + // RFC7231§6.4: Automatic redirection needs to done with + // care for methods not known to be safe […], + // since the user might not wish to redirect an unsafe request. + // RFC7231§6.4.7: The 307 (Temporary Redirect) status code indicates + // that the target resource resides temporarily under a different URI + // and the user agent MUST NOT change the request method + // if it performs an automatic redirection to that URI. + var header; + var headers = this._options.headers; + if (response.statusCode !== 307 && !(this._options.method in SAFE_METHODS)) { + this._options.method = "GET"; + // Drop a possible entity and headers related to it + this._requestBodyBuffers = []; + for (header in headers) { + if (/^content-/i.test(header)) { + delete headers[header]; + } + } + } + + // Drop the Host header, as the redirect might lead to a different host + if (!this._isRedirect) { + for (header in headers) { + if (/^host$/i.test(header)) { + delete headers[header]; + } + } + } + + // Perform the redirected request + var redirectUrl = url.resolve(this._currentUrl, location); + debug("redirecting to", redirectUrl); + Object.assign(this._options, url.parse(redirectUrl)); + this._isRedirect = true; + this._performRequest(); + + // Discard the remainder of the response to avoid waiting for data + response.destroy(); + } + else { + // The response is not a redirect; return it as-is + response.responseUrl = this._currentUrl; + response.redirects = this._redirects; + this.emit("response", response); + + // Clean up + this._requestBodyBuffers = []; + } +}; + +// Wraps the key/value object of protocols with redirect functionality +function wrap(protocols) { + // Default settings + var exports = { + maxRedirects: 21, + maxBodyLength: 10 * 1024 * 1024, + }; + + // Wrap each protocol + var nativeProtocols = {}; + Object.keys(protocols).forEach(function (scheme) { + var protocol = scheme + ":"; + var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; + var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol); + + // Executes a request, following redirects + wrappedProtocol.request = function (options, callback) { + if (typeof options === "string") { + options = url.parse(options); + options.maxRedirects = exports.maxRedirects; + } + else { + options = Object.assign({ + protocol: protocol, + maxRedirects: exports.maxRedirects, + maxBodyLength: exports.maxBodyLength, + }, options); + } + options.nativeProtocols = nativeProtocols; + assert.equal(options.protocol, protocol, "protocol mismatch"); + debug("options", options); + return new RedirectableRequest(options, callback); + }; + + // Executes a GET request, following redirects + wrappedProtocol.get = function (options, callback) { + var request = wrappedProtocol.request(options, callback); + request.end(); + return request; + }; + }); + return exports; +} + +// Exports +module.exports = wrap({ http: http, https: https }); +module.exports.wrap = wrap; diff --git a/node_modules/follow-redirects/node_modules/debug/.coveralls.yml b/node_modules/follow-redirects/node_modules/debug/.coveralls.yml new file mode 100644 index 00000000..20a70685 --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/.coveralls.yml @@ -0,0 +1 @@ +repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve diff --git a/node_modules/follow-redirects/node_modules/debug/.eslintrc b/node_modules/follow-redirects/node_modules/debug/.eslintrc new file mode 100644 index 00000000..146371ed --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/.eslintrc @@ -0,0 +1,14 @@ +{ + "env": { + "browser": true, + "node": true + }, + "globals": { + "chrome": true + }, + "rules": { + "no-console": 0, + "no-empty": [1, { "allowEmptyCatch": true }] + }, + "extends": "eslint:recommended" +} diff --git a/node_modules/follow-redirects/node_modules/debug/.npmignore b/node_modules/follow-redirects/node_modules/debug/.npmignore new file mode 100644 index 00000000..5f60eecc --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/.npmignore @@ -0,0 +1,9 @@ +support +test +examples +example +*.sock +dist +yarn.lock +coverage +bower.json diff --git a/node_modules/follow-redirects/node_modules/debug/.travis.yml b/node_modules/follow-redirects/node_modules/debug/.travis.yml new file mode 100644 index 00000000..a7643003 --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/.travis.yml @@ -0,0 +1,20 @@ +sudo: false + +language: node_js + +node_js: + - "4" + - "6" + - "8" + +install: + - make install + +script: + - make lint + - make test + +matrix: + include: + - node_js: '8' + env: BROWSER=1 diff --git a/node_modules/follow-redirects/node_modules/debug/CHANGELOG.md b/node_modules/follow-redirects/node_modules/debug/CHANGELOG.md new file mode 100644 index 00000000..820d21e3 --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/CHANGELOG.md @@ -0,0 +1,395 @@ + +3.1.0 / 2017-09-26 +================== + + * Add `DEBUG_HIDE_DATE` env var (#486) + * Remove ReDoS regexp in %o formatter (#504) + * Remove "component" from package.json + * Remove `component.json` + * Ignore package-lock.json + * Examples: fix colors printout + * Fix: browser detection + * Fix: spelling mistake (#496, @EdwardBetts) + +3.0.1 / 2017-08-24 +================== + + * Fix: Disable colors in Edge and Internet Explorer (#489) + +3.0.0 / 2017-08-08 +================== + + * Breaking: Remove DEBUG_FD (#406) + * Breaking: Use `Date#toISOString()` instead to `Date#toUTCString()` when output is not a TTY (#418) + * Breaking: Make millisecond timer namespace specific and allow 'always enabled' output (#408) + * Addition: document `enabled` flag (#465) + * Addition: add 256 colors mode (#481) + * Addition: `enabled()` updates existing debug instances, add `destroy()` function (#440) + * Update: component: update "ms" to v2.0.0 + * Update: separate the Node and Browser tests in Travis-CI + * Update: refactor Readme, fixed documentation, added "Namespace Colors" section, redid screenshots + * Update: separate Node.js and web browser examples for organization + * Update: update "browserify" to v14.4.0 + * Fix: fix Readme typo (#473) + +2.6.9 / 2017-09-22 +================== + + * remove ReDoS regexp in %o formatter (#504) + +2.6.8 / 2017-05-18 +================== + + * Fix: Check for undefined on browser globals (#462, @marbemac) + +2.6.7 / 2017-05-16 +================== + + * Fix: Update ms to 2.0.0 to fix regular expression denial of service vulnerability (#458, @hubdotcom) + * Fix: Inline extend function in node implementation (#452, @dougwilson) + * Docs: Fix typo (#455, @msasad) + +2.6.5 / 2017-04-27 +================== + + * Fix: null reference check on window.documentElement.style.WebkitAppearance (#447, @thebigredgeek) + * Misc: clean up browser reference checks (#447, @thebigredgeek) + * Misc: add npm-debug.log to .gitignore (@thebigredgeek) + + +2.6.4 / 2017-04-20 +================== + + * Fix: bug that would occur if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo) + * Chore: ignore bower.json in npm installations. (#437, @joaovieira) + * Misc: update "ms" to v0.7.3 (@tootallnate) + +2.6.3 / 2017-03-13 +================== + + * Fix: Electron reference to `process.env.DEBUG` (#431, @paulcbetts) + * Docs: Changelog fix (@thebigredgeek) + +2.6.2 / 2017-03-10 +================== + + * Fix: DEBUG_MAX_ARRAY_LENGTH (#420, @slavaGanzin) + * Docs: Add backers and sponsors from Open Collective (#422, @piamancini) + * Docs: Add Slackin invite badge (@tootallnate) + +2.6.1 / 2017-02-10 +================== + + * Fix: Module's `export default` syntax fix for IE8 `Expected identifier` error + * Fix: Whitelist DEBUG_FD for values 1 and 2 only (#415, @pi0) + * Fix: IE8 "Expected identifier" error (#414, @vgoma) + * Fix: Namespaces would not disable once enabled (#409, @musikov) + +2.6.0 / 2016-12-28 +================== + + * Fix: added better null pointer checks for browser useColors (@thebigredgeek) + * Improvement: removed explicit `window.debug` export (#404, @tootallnate) + * Improvement: deprecated `DEBUG_FD` environment variable (#405, @tootallnate) + +2.5.2 / 2016-12-25 +================== + + * Fix: reference error on window within webworkers (#393, @KlausTrainer) + * Docs: fixed README typo (#391, @lurch) + * Docs: added notice about v3 api discussion (@thebigredgeek) + +2.5.1 / 2016-12-20 +================== + + * Fix: babel-core compatibility + +2.5.0 / 2016-12-20 +================== + + * Fix: wrong reference in bower file (@thebigredgeek) + * Fix: webworker compatibility (@thebigredgeek) + * Fix: output formatting issue (#388, @kribblo) + * Fix: babel-loader compatibility (#383, @escwald) + * Misc: removed built asset from repo and publications (@thebigredgeek) + * Misc: moved source files to /src (#378, @yamikuronue) + * Test: added karma integration and replaced babel with browserify for browser tests (#378, @yamikuronue) + * Test: coveralls integration (#378, @yamikuronue) + * Docs: simplified language in the opening paragraph (#373, @yamikuronue) + +2.4.5 / 2016-12-17 +================== + + * Fix: `navigator` undefined in Rhino (#376, @jochenberger) + * Fix: custom log function (#379, @hsiliev) + * Improvement: bit of cleanup + linting fixes (@thebigredgeek) + * Improvement: rm non-maintainted `dist/` dir (#375, @freewil) + * Docs: simplified language in the opening paragraph. (#373, @yamikuronue) + +2.4.4 / 2016-12-14 +================== + + * Fix: work around debug being loaded in preload scripts for electron (#368, @paulcbetts) + +2.4.3 / 2016-12-14 +================== + + * Fix: navigation.userAgent error for react native (#364, @escwald) + +2.4.2 / 2016-12-14 +================== + + * Fix: browser colors (#367, @tootallnate) + * Misc: travis ci integration (@thebigredgeek) + * Misc: added linting and testing boilerplate with sanity check (@thebigredgeek) + +2.4.1 / 2016-12-13 +================== + + * Fix: typo that broke the package (#356) + +2.4.0 / 2016-12-13 +================== + + * Fix: bower.json references unbuilt src entry point (#342, @justmatt) + * Fix: revert "handle regex special characters" (@tootallnate) + * Feature: configurable util.inspect()`options for NodeJS (#327, @tootallnate) + * Feature: %O`(big O) pretty-prints objects (#322, @tootallnate) + * Improvement: allow colors in workers (#335, @botverse) + * Improvement: use same color for same namespace. (#338, @lchenay) + +2.3.3 / 2016-11-09 +================== + + * Fix: Catch `JSON.stringify()` errors (#195, Jovan Alleyne) + * Fix: Returning `localStorage` saved values (#331, Levi Thomason) + * Improvement: Don't create an empty object when no `process` (Nathan Rajlich) + +2.3.2 / 2016-11-09 +================== + + * Fix: be super-safe in index.js as well (@TooTallNate) + * Fix: should check whether process exists (Tom Newby) + +2.3.1 / 2016-11-09 +================== + + * Fix: Added electron compatibility (#324, @paulcbetts) + * Improvement: Added performance optimizations (@tootallnate) + * Readme: Corrected PowerShell environment variable example (#252, @gimre) + * Misc: Removed yarn lock file from source control (#321, @fengmk2) + +2.3.0 / 2016-11-07 +================== + + * Fix: Consistent placement of ms diff at end of output (#215, @gorangajic) + * Fix: Escaping of regex special characters in namespace strings (#250, @zacronos) + * Fix: Fixed bug causing crash on react-native (#282, @vkarpov15) + * Feature: Enabled ES6+ compatible import via default export (#212 @bucaran) + * Feature: Added %O formatter to reflect Chrome's console.log capability (#279, @oncletom) + * Package: Update "ms" to 0.7.2 (#315, @DevSide) + * Package: removed superfluous version property from bower.json (#207 @kkirsche) + * Readme: fix USE_COLORS to DEBUG_COLORS + * Readme: Doc fixes for format string sugar (#269, @mlucool) + * Readme: Updated docs for DEBUG_FD and DEBUG_COLORS environment variables (#232, @mattlyons0) + * Readme: doc fixes for PowerShell (#271 #243, @exoticknight @unreadable) + * Readme: better docs for browser support (#224, @matthewmueller) + * Tooling: Added yarn integration for development (#317, @thebigredgeek) + * Misc: Renamed History.md to CHANGELOG.md (@thebigredgeek) + * Misc: Added license file (#226 #274, @CantemoInternal @sdaitzman) + * Misc: Updated contributors (@thebigredgeek) + +2.2.0 / 2015-05-09 +================== + + * package: update "ms" to v0.7.1 (#202, @dougwilson) + * README: add logging to file example (#193, @DanielOchoa) + * README: fixed a typo (#191, @amir-s) + * browser: expose `storage` (#190, @stephenmathieson) + * Makefile: add a `distclean` target (#189, @stephenmathieson) + +2.1.3 / 2015-03-13 +================== + + * Updated stdout/stderr example (#186) + * Updated example/stdout.js to match debug current behaviour + * Renamed example/stderr.js to stdout.js + * Update Readme.md (#184) + * replace high intensity foreground color for bold (#182, #183) + +2.1.2 / 2015-03-01 +================== + + * dist: recompile + * update "ms" to v0.7.0 + * package: update "browserify" to v9.0.3 + * component: fix "ms.js" repo location + * changed bower package name + * updated documentation about using debug in a browser + * fix: security error on safari (#167, #168, @yields) + +2.1.1 / 2014-12-29 +================== + + * browser: use `typeof` to check for `console` existence + * browser: check for `console.log` truthiness (fix IE 8/9) + * browser: add support for Chrome apps + * Readme: added Windows usage remarks + * Add `bower.json` to properly support bower install + +2.1.0 / 2014-10-15 +================== + + * node: implement `DEBUG_FD` env variable support + * package: update "browserify" to v6.1.0 + * package: add "license" field to package.json (#135, @panuhorsmalahti) + +2.0.0 / 2014-09-01 +================== + + * package: update "browserify" to v5.11.0 + * node: use stderr rather than stdout for logging (#29, @stephenmathieson) + +1.0.4 / 2014-07-15 +================== + + * dist: recompile + * example: remove `console.info()` log usage + * example: add "Content-Type" UTF-8 header to browser example + * browser: place %c marker after the space character + * browser: reset the "content" color via `color: inherit` + * browser: add colors support for Firefox >= v31 + * debug: prefer an instance `log()` function over the global one (#119) + * Readme: update documentation about styled console logs for FF v31 (#116, @wryk) + +1.0.3 / 2014-07-09 +================== + + * Add support for multiple wildcards in namespaces (#122, @seegno) + * browser: fix lint + +1.0.2 / 2014-06-10 +================== + + * browser: update color palette (#113, @gscottolson) + * common: make console logging function configurable (#108, @timoxley) + * node: fix %o colors on old node <= 0.8.x + * Makefile: find node path using shell/which (#109, @timoxley) + +1.0.1 / 2014-06-06 +================== + + * browser: use `removeItem()` to clear localStorage + * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777) + * package: add "contributors" section + * node: fix comment typo + * README: list authors + +1.0.0 / 2014-06-04 +================== + + * make ms diff be global, not be scope + * debug: ignore empty strings in enable() + * node: make DEBUG_COLORS able to disable coloring + * *: export the `colors` array + * npmignore: don't publish the `dist` dir + * Makefile: refactor to use browserify + * package: add "browserify" as a dev dependency + * Readme: add Web Inspector Colors section + * node: reset terminal color for the debug content + * node: map "%o" to `util.inspect()` + * browser: map "%j" to `JSON.stringify()` + * debug: add custom "formatters" + * debug: use "ms" module for humanizing the diff + * Readme: add "bash" syntax highlighting + * browser: add Firebug color support + * browser: add colors for WebKit browsers + * node: apply log to `console` + * rewrite: abstract common logic for Node & browsers + * add .jshintrc file + +0.8.1 / 2014-04-14 +================== + + * package: re-add the "component" section + +0.8.0 / 2014-03-30 +================== + + * add `enable()` method for nodejs. Closes #27 + * change from stderr to stdout + * remove unnecessary index.js file + +0.7.4 / 2013-11-13 +================== + + * remove "browserify" key from package.json (fixes something in browserify) + +0.7.3 / 2013-10-30 +================== + + * fix: catch localStorage security error when cookies are blocked (Chrome) + * add debug(err) support. Closes #46 + * add .browser prop to package.json. Closes #42 + +0.7.2 / 2013-02-06 +================== + + * fix package.json + * fix: Mobile Safari (private mode) is broken with debug + * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript + +0.7.1 / 2013-02-05 +================== + + * add repository URL to package.json + * add DEBUG_COLORED to force colored output + * add browserify support + * fix component. Closes #24 + +0.7.0 / 2012-05-04 +================== + + * Added .component to package.json + * Added debug.component.js build + +0.6.0 / 2012-03-16 +================== + + * Added support for "-" prefix in DEBUG [Vinay Pulim] + * Added `.enabled` flag to the node version [TooTallNate] + +0.5.0 / 2012-02-02 +================== + + * Added: humanize diffs. Closes #8 + * Added `debug.disable()` to the CS variant + * Removed padding. Closes #10 + * Fixed: persist client-side variant again. Closes #9 + +0.4.0 / 2012-02-01 +================== + + * Added browser variant support for older browsers [TooTallNate] + * Added `debug.enable('project:*')` to browser variant [TooTallNate] + * Added padding to diff (moved it to the right) + +0.3.0 / 2012-01-26 +================== + + * Added millisecond diff when isatty, otherwise UTC string + +0.2.0 / 2012-01-22 +================== + + * Added wildcard support + +0.1.0 / 2011-12-02 +================== + + * Added: remove colors unless stderr isatty [TooTallNate] + +0.0.1 / 2010-01-03 +================== + + * Initial release diff --git a/node_modules/follow-redirects/node_modules/debug/LICENSE b/node_modules/follow-redirects/node_modules/debug/LICENSE new file mode 100644 index 00000000..658c933d --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/LICENSE @@ -0,0 +1,19 @@ +(The MIT License) + +Copyright (c) 2014 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/node_modules/follow-redirects/node_modules/debug/Makefile b/node_modules/follow-redirects/node_modules/debug/Makefile new file mode 100644 index 00000000..3ddd1360 --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/Makefile @@ -0,0 +1,58 @@ +# get Makefile directory name: http://stackoverflow.com/a/5982798/376773 +THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) +THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) + +# BIN directory +BIN := $(THIS_DIR)/node_modules/.bin + +# Path +PATH := node_modules/.bin:$(PATH) +SHELL := /bin/bash + +# applications +NODE ?= $(shell which node) +YARN ?= $(shell which yarn) +PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) +BROWSERIFY ?= $(NODE) $(BIN)/browserify + +install: node_modules + +browser: dist/debug.js + +node_modules: package.json + @NODE_ENV= $(PKG) install + @touch node_modules + +dist/debug.js: src/*.js node_modules + @mkdir -p dist + @$(BROWSERIFY) \ + --standalone debug \ + . > dist/debug.js + +lint: + @eslint *.js src/*.js + +test-node: + @istanbul cover node_modules/mocha/bin/_mocha -- test/**.js + @cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js + +test-browser: + @$(MAKE) browser + @karma start --single-run + +test-all: + @concurrently \ + "make test-node" \ + "make test-browser" + +test: + @if [ "x$(BROWSER)" = "x" ]; then \ + $(MAKE) test-node; \ + else \ + $(MAKE) test-browser; \ + fi + +clean: + rimraf dist coverage + +.PHONY: browser install clean lint test test-all test-node test-browser diff --git a/node_modules/follow-redirects/node_modules/debug/README.md b/node_modules/follow-redirects/node_modules/debug/README.md new file mode 100644 index 00000000..8e754d17 --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/README.md @@ -0,0 +1,368 @@ +# debug +[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug) [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master) [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers) +[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors) + + + +A tiny JavaScript debugging utility modelled after Node.js core's debugging +technique. Works in Node.js and web browsers. + +## Installation + +```bash +$ npm install debug +``` + +## Usage + +`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole. + +Example [_app.js_](./examples/node/app.js): + +```js +var debug = require('debug')('http') + , http = require('http') + , name = 'My App'; + +// fake app + +debug('booting %o', name); + +http.createServer(function(req, res){ + debug(req.method + ' ' + req.url); + res.end('hello\n'); +}).listen(3000, function(){ + debug('listening'); +}); + +// fake worker of some kind + +require('./worker'); +``` + +Example [_worker.js_](./examples/node/worker.js): + +```js +var a = require('debug')('worker:a') + , b = require('debug')('worker:b'); + +function work() { + a('doing lots of uninteresting work'); + setTimeout(work, Math.random() * 1000); +} + +work(); + +function workb() { + b('doing some work'); + setTimeout(workb, Math.random() * 2000); +} + +workb(); +``` + +The `DEBUG` environment variable is then used to enable these based on space or +comma-delimited names. + +Here are some examples: + +screen shot 2017-08-08 at 12 53 04 pm +screen shot 2017-08-08 at 12 53 38 pm +screen shot 2017-08-08 at 12 53 25 pm + +#### Windows note + +On Windows the environment variable is set using the `set` command. + +```cmd +set DEBUG=*,-not_this +``` + +Note that PowerShell uses different syntax to set environment variables. + +```cmd +$env:DEBUG = "*,-not_this" +``` + +Then, run the program to be debugged as usual. + + +## Namespace Colors + +Every debug instance has a color generated for it based on its namespace name. +This helps when visually parsing the debug output to identify which debug instance +a debug line belongs to. + +#### Node.js + +In Node.js, colors are enabled when stderr is a TTY. You also _should_ install +the [`supports-color`](https://npmjs.org/supports-color) module alongside debug, +otherwise debug will only use a small handful of basic colors. + + + +#### Web Browser + +Colors are also enabled on "Web Inspectors" that understand the `%c` formatting +option. These are WebKit web inspectors, Firefox ([since version +31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/)) +and the Firebug plugin for Firefox (any version). + + + + +## Millisecond diff + +When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. + + + +When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below: + + + + +## Conventions + +If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable. You can then use it for normal output as well as debug output. + +## Wildcards + +The `*` character may be used as a wildcard. Suppose for example your library has +debuggers named "connect:bodyParser", "connect:compress", "connect:session", +instead of listing all three with +`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do +`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. + +You can also exclude specific debuggers by prefixing them with a "-" character. +For example, `DEBUG=*,-connect:*` would include all debuggers except those +starting with "connect:". + +## Environment Variables + +When running through Node.js, you can set a few environment variables that will +change the behavior of the debug logging: + +| Name | Purpose | +|-----------|-------------------------------------------------| +| `DEBUG` | Enables/disables specific debugging namespaces. | +| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY). | +| `DEBUG_COLORS`| Whether or not to use colors in the debug output. | +| `DEBUG_DEPTH` | Object inspection depth. | +| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. | + + +__Note:__ The environment variables beginning with `DEBUG_` end up being +converted into an Options object that gets used with `%o`/`%O` formatters. +See the Node.js documentation for +[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options) +for the complete list. + +## Formatters + +Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting. +Below are the officially supported formatters: + +| Formatter | Representation | +|-----------|----------------| +| `%O` | Pretty-print an Object on multiple lines. | +| `%o` | Pretty-print an Object all on a single line. | +| `%s` | String. | +| `%d` | Number (both integer and float). | +| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. | +| `%%` | Single percent sign ('%'). This does not consume an argument. | + + +### Custom formatters + +You can add custom formatters by extending the `debug.formatters` object. +For example, if you wanted to add support for rendering a Buffer as hex with +`%h`, you could do something like: + +```js +const createDebug = require('debug') +createDebug.formatters.h = (v) => { + return v.toString('hex') +} + +// …elsewhere +const debug = createDebug('foo') +debug('this is hex: %h', new Buffer('hello world')) +// foo this is hex: 68656c6c6f20776f726c6421 +0ms +``` + + +## Browser Support + +You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify), +or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest), +if you don't want to build it yourself. + +Debug's enable state is currently persisted by `localStorage`. +Consider the situation shown below where you have `worker:a` and `worker:b`, +and wish to debug both. You can enable this using `localStorage.debug`: + +```js +localStorage.debug = 'worker:*' +``` + +And then refresh the page. + +```js +a = debug('worker:a'); +b = debug('worker:b'); + +setInterval(function(){ + a('doing some work'); +}, 1000); + +setInterval(function(){ + b('doing some work'); +}, 1200); +``` + + +## Output streams + + By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method: + +Example [_stdout.js_](./examples/node/stdout.js): + +```js +var debug = require('debug'); +var error = debug('app:error'); + +// by default stderr is used +error('goes to stderr!'); + +var log = debug('app:log'); +// set this namespace to log via console.log +log.log = console.log.bind(console); // don't forget to bind to console! +log('goes to stdout'); +error('still goes to stderr!'); + +// set all output to go via console.info +// overrides all per-namespace log settings +debug.log = console.info.bind(console); +error('now goes to stdout via console.info'); +log('still goes to stdout, but via console.info now'); +``` + +## Checking whether a debug target is enabled + +After you've created a debug instance, you can determine whether or not it is +enabled by checking the `enabled` property: + +```javascript +const debug = require('debug')('http'); + +if (debug.enabled) { + // do stuff... +} +``` + +You can also manually toggle this property to force the debug instance to be +enabled or disabled. + + +## Authors + + - TJ Holowaychuk + - Nathan Rajlich + - Andrew Rhyne + +## Backers + +Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## Sponsors + +Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## License + +(The MIT License) + +Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/follow-redirects/node_modules/debug/karma.conf.js b/node_modules/follow-redirects/node_modules/debug/karma.conf.js new file mode 100644 index 00000000..103a82d1 --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/karma.conf.js @@ -0,0 +1,70 @@ +// Karma configuration +// Generated on Fri Dec 16 2016 13:09:51 GMT+0000 (UTC) + +module.exports = function(config) { + config.set({ + + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: '', + + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ['mocha', 'chai', 'sinon'], + + + // list of files / patterns to load in the browser + files: [ + 'dist/debug.js', + 'test/*spec.js' + ], + + + // list of files to exclude + exclude: [ + 'src/node.js' + ], + + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + }, + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ['progress'], + + + // web server port + port: 9876, + + + // enable / disable colors in the output (reporters and logs) + colors: true, + + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: true, + + + // start these browsers + // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher + browsers: ['PhantomJS'], + + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: false, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: Infinity + }) +} diff --git a/node_modules/follow-redirects/node_modules/debug/node.js b/node_modules/follow-redirects/node_modules/debug/node.js new file mode 100644 index 00000000..7fc36fe6 --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/node.js @@ -0,0 +1 @@ +module.exports = require('./src/node'); diff --git a/node_modules/follow-redirects/node_modules/debug/package.json b/node_modules/follow-redirects/node_modules/debug/package.json new file mode 100644 index 00000000..a3e7054d --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/package.json @@ -0,0 +1,82 @@ +{ + "_from": "debug@=3.1.0", + "_id": "debug@3.1.0", + "_inBundle": false, + "_integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "_location": "/follow-redirects/debug", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "debug@=3.1.0", + "name": "debug", + "escapedName": "debug", + "rawSpec": "=3.1.0", + "saveSpec": null, + "fetchSpec": "=3.1.0" + }, + "_requiredBy": [ + "/follow-redirects" + ], + "_resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "_shasum": "5bb5a0672628b64149566ba16819e61518c67261", + "_spec": "debug@=3.1.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\follow-redirects", + "author": { + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca" + }, + "browser": "./src/browser.js", + "bugs": { + "url": "https://github.com/visionmedia/debug/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Nathan Rajlich", + "email": "nathan@tootallnate.net", + "url": "http://n8.io" + }, + { + "name": "Andrew Rhyne", + "email": "rhyneandrew@gmail.com" + } + ], + "dependencies": { + "ms": "2.0.0" + }, + "deprecated": false, + "description": "small debugging utility", + "devDependencies": { + "browserify": "14.4.0", + "chai": "^3.5.0", + "concurrently": "^3.1.0", + "coveralls": "^2.11.15", + "eslint": "^3.12.1", + "istanbul": "^0.4.5", + "karma": "^1.3.0", + "karma-chai": "^0.1.0", + "karma-mocha": "^1.3.0", + "karma-phantomjs-launcher": "^1.0.2", + "karma-sinon": "^1.0.5", + "mocha": "^3.2.0", + "mocha-lcov-reporter": "^1.2.0", + "rimraf": "^2.5.4", + "sinon": "^1.17.6", + "sinon-chai": "^2.8.0" + }, + "homepage": "https://github.com/visionmedia/debug#readme", + "keywords": [ + "debug", + "log", + "debugger" + ], + "license": "MIT", + "main": "./src/index.js", + "name": "debug", + "repository": { + "type": "git", + "url": "git://github.com/visionmedia/debug.git" + }, + "version": "3.1.0" +} diff --git a/node_modules/follow-redirects/node_modules/debug/src/browser.js b/node_modules/follow-redirects/node_modules/debug/src/browser.js new file mode 100644 index 00000000..f5149ff5 --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/src/browser.js @@ -0,0 +1,195 @@ +/** + * This is the web browser implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = require('./debug'); +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = 'undefined' != typeof chrome + && 'undefined' != typeof chrome.storage + ? chrome.storage.local + : localstorage(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', + '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', + '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', + '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', + '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', + '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', + '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', + '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', + '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', + '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', + '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + // is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +exports.formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (err) { + return '[UnexpectedJSONParseError]: ' + err.message; + } +}; + + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + var useColors = this.useColors; + + args[0] = (useColors ? '%c' : '') + + this.namespace + + (useColors ? ' %c' : ' ') + + args[0] + + (useColors ? '%c ' : ' ') + + '+' + exports.humanize(this.diff); + + if (!useColors) return; + + var c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit') + + // the final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + var index = 0; + var lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, function(match) { + if ('%%' === match) return; + index++; + if ('%c' === match) { + // we only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ + +function log() { + // this hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return 'object' === typeof console + && console.log + && Function.prototype.apply.call(console.log, console, arguments); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + try { + if (null == namespaces) { + exports.storage.removeItem('debug'); + } else { + exports.storage.debug = namespaces; + } + } catch(e) {} +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + var r; + try { + r = exports.storage.debug; + } catch(e) {} + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Enable namespaces listed in `localStorage.debug` initially. + */ + +exports.enable(load()); + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + return window.localStorage; + } catch (e) {} +} diff --git a/node_modules/follow-redirects/node_modules/debug/src/debug.js b/node_modules/follow-redirects/node_modules/debug/src/debug.js new file mode 100644 index 00000000..77e6384a --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/src/debug.js @@ -0,0 +1,225 @@ + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; +exports.coerce = coerce; +exports.disable = disable; +exports.enable = enable; +exports.enabled = enabled; +exports.humanize = require('ms'); + +/** + * Active `debug` instances. + */ +exports.instances = []; + +/** + * The currently active debug mode names, and names to skip. + */ + +exports.names = []; +exports.skips = []; + +/** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + +exports.formatters = {}; + +/** + * Select a color. + * @param {String} namespace + * @return {Number} + * @api private + */ + +function selectColor(namespace) { + var hash = 0, i; + + for (i in namespace) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return exports.colors[Math.abs(hash) % exports.colors.length]; +} + +/** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + +function createDebug(namespace) { + + var prevTime; + + function debug() { + // disabled? + if (!debug.enabled) return; + + var self = debug; + + // set `diff` timestamp + var curr = +new Date(); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + // turn the `arguments` into a proper Array + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + + args[0] = exports.coerce(args[0]); + + if ('string' !== typeof args[0]) { + // anything else let's inspect with %O + args.unshift('%O'); + } + + // apply any `formatters` transformations + var index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { + // if we encounter an escaped % then don't increase the array index + if (match === '%%') return match; + index++; + var formatter = exports.formatters[format]; + if ('function' === typeof formatter) { + var val = args[index]; + match = formatter.call(self, val); + + // now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // apply env-specific formatting (colors, etc.) + exports.formatArgs.call(self, args); + + var logFn = debug.log || exports.log || console.log.bind(console); + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.enabled = exports.enabled(namespace); + debug.useColors = exports.useColors(); + debug.color = selectColor(namespace); + debug.destroy = destroy; + + // env-specific initialization logic for debug instances + if ('function' === typeof exports.init) { + exports.init(debug); + } + + exports.instances.push(debug); + + return debug; +} + +function destroy () { + var index = exports.instances.indexOf(this); + if (index !== -1) { + exports.instances.splice(index, 1); + return true; + } else { + return false; + } +} + +/** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + +function enable(namespaces) { + exports.save(namespaces); + + exports.names = []; + exports.skips = []; + + var i; + var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + var len = split.length; + + for (i = 0; i < len; i++) { + if (!split[i]) continue; // ignore empty strings + namespaces = split[i].replace(/\*/g, '.*?'); + if (namespaces[0] === '-') { + exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + exports.names.push(new RegExp('^' + namespaces + '$')); + } + } + + for (i = 0; i < exports.instances.length; i++) { + var instance = exports.instances[i]; + instance.enabled = exports.enabled(instance.namespace); + } +} + +/** + * Disable debug output. + * + * @api public + */ + +function disable() { + exports.enable(''); +} + +/** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + +function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } + var i, len; + for (i = 0, len = exports.skips.length; i < len; i++) { + if (exports.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = exports.names.length; i < len; i++) { + if (exports.names[i].test(name)) { + return true; + } + } + return false; +} + +/** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + +function coerce(val) { + if (val instanceof Error) return val.stack || val.message; + return val; +} diff --git a/node_modules/follow-redirects/node_modules/debug/src/index.js b/node_modules/follow-redirects/node_modules/debug/src/index.js new file mode 100644 index 00000000..cabcbcda --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/src/index.js @@ -0,0 +1,10 @@ +/** + * Detect Electron renderer process, which is node, but we should + * treat as a browser. + */ + +if (typeof process === 'undefined' || process.type === 'renderer') { + module.exports = require('./browser.js'); +} else { + module.exports = require('./node.js'); +} diff --git a/node_modules/follow-redirects/node_modules/debug/src/node.js b/node_modules/follow-redirects/node_modules/debug/src/node.js new file mode 100644 index 00000000..d666fb9c --- /dev/null +++ b/node_modules/follow-redirects/node_modules/debug/src/node.js @@ -0,0 +1,186 @@ +/** + * Module dependencies. + */ + +var tty = require('tty'); +var util = require('util'); + +/** + * This is the Node.js implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = require('./debug'); +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; + +/** + * Colors. + */ + +exports.colors = [ 6, 2, 3, 4, 5, 1 ]; + +try { + var supportsColor = require('supports-color'); + if (supportsColor && supportsColor.level >= 2) { + exports.colors = [ + 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, + 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, + 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 214, 215, 220, 221 + ]; + } +} catch (err) { + // swallow - we only care if `supports-color` is available; it doesn't have to be. +} + +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ + +exports.inspectOpts = Object.keys(process.env).filter(function (key) { + return /^debug_/i.test(key); +}).reduce(function (obj, key) { + // camel-case + var prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); + + // coerce string value into JS value + var val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) val = true; + else if (/^(no|off|false|disabled)$/i.test(val)) val = false; + else if (val === 'null') val = null; + else val = Number(val); + + obj[prop] = val; + return obj; +}, {}); + +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ + +function useColors() { + return 'colors' in exports.inspectOpts + ? Boolean(exports.inspectOpts.colors) + : tty.isatty(process.stderr.fd); +} + +/** + * Map %o to `util.inspect()`, all on a single line. + */ + +exports.formatters.o = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n').map(function(str) { + return str.trim() + }).join(' '); +}; + +/** + * Map %o to `util.inspect()`, allowing multiple lines if needed. + */ + +exports.formatters.O = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); +}; + +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ + +function formatArgs(args) { + var name = this.namespace; + var useColors = this.useColors; + + if (useColors) { + var c = this.color; + var colorCode = '\u001b[3' + (c < 8 ? c : '8;5;' + c); + var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\u001b[0m'; + + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); + } else { + args[0] = getDate() + name + ' ' + args[0]; + } +} + +function getDate() { + if (exports.inspectOpts.hideDate) { + return ''; + } else { + return new Date().toISOString() + ' '; + } +} + +/** + * Invokes `util.format()` with the specified arguments and writes to stderr. + */ + +function log() { + return process.stderr.write(util.format.apply(util, arguments) + '\n'); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + if (null == namespaces) { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } else { + process.env.DEBUG = namespaces; + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + return process.env.DEBUG; +} + +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ + +function init (debug) { + debug.inspectOpts = {}; + + var keys = Object.keys(exports.inspectOpts); + for (var i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } +} + +/** + * Enable namespaces listed in `process.env.DEBUG` initially. + */ + +exports.enable(load()); diff --git a/node_modules/follow-redirects/package.json b/node_modules/follow-redirects/package.json new file mode 100644 index 00000000..0d778cf8 --- /dev/null +++ b/node_modules/follow-redirects/package.json @@ -0,0 +1,98 @@ +{ + "_from": "follow-redirects@1.5.10", + "_id": "follow-redirects@1.5.10", + "_inBundle": false, + "_integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "_location": "/follow-redirects", + "_phantomChildren": { + "ms": "2.0.0" + }, + "_requested": { + "type": "version", + "registry": true, + "raw": "follow-redirects@1.5.10", + "name": "follow-redirects", + "escapedName": "follow-redirects", + "rawSpec": "1.5.10", + "saveSpec": null, + "fetchSpec": "1.5.10" + }, + "_requiredBy": [ + "/axios" + ], + "_resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "_shasum": "7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a", + "_spec": "follow-redirects@1.5.10", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\axios", + "author": { + "name": "Ruben Verborgh", + "email": "ruben@verborgh.org", + "url": "https://ruben.verborgh.org/" + }, + "bugs": { + "url": "https://github.com/follow-redirects/follow-redirects/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Olivier Lalonde", + "email": "olalonde@gmail.com", + "url": "http://www.syskall.com" + }, + { + "name": "James Talmage", + "email": "james@talmage.io" + } + ], + "dependencies": { + "debug": "=3.1.0" + }, + "deprecated": false, + "description": "HTTP and HTTPS modules that follow redirects.", + "devDependencies": { + "concat-stream": "^1.6.0", + "coveralls": "^3.0.2", + "eslint": "^4.19.1", + "express": "^4.16.2", + "mocha": "^5.0.0", + "nyc": "^11.8.0" + }, + "engines": { + "node": ">=4.0" + }, + "files": [ + "index.js", + "create.js", + "http.js", + "https.js" + ], + "homepage": "https://github.com/follow-redirects/follow-redirects", + "keywords": [ + "http", + "https", + "url", + "redirect", + "client", + "location", + "utility" + ], + "license": "MIT", + "main": "index.js", + "name": "follow-redirects", + "nyc": { + "reporter": [ + "lcov", + "text" + ] + }, + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/follow-redirects/follow-redirects.git" + }, + "scripts": { + "lint": "eslint *.js test", + "mocha": "nyc mocha", + "test": "npm run lint && npm run mocha" + }, + "version": "1.5.10" +} diff --git a/node_modules/fs/README.md b/node_modules/fs/README.md new file mode 100644 index 00000000..5e9a74ca --- /dev/null +++ b/node_modules/fs/README.md @@ -0,0 +1,9 @@ +# Security holding package + +This package name is not currently in use, but was formerly occupied +by another package. To avoid malicious use, npm is hanging on to the +package name, but loosely, and we'll probably give it to you if you +want it. + +You may adopt this package by contacting support@npmjs.com and +requesting the name. diff --git a/node_modules/fs/package.json b/node_modules/fs/package.json new file mode 100644 index 00000000..6753f2ae --- /dev/null +++ b/node_modules/fs/package.json @@ -0,0 +1,46 @@ +{ + "_from": "fs", + "_id": "fs@0.0.1-security", + "_inBundle": false, + "_integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=", + "_location": "/fs", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "fs", + "name": "fs", + "escapedName": "fs", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "_shasum": "8a7bd37186b6dddf3813f23858b57ecaaf5e41d4", + "_spec": "fs", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot", + "author": "", + "bugs": { + "url": "https://github.com/npm/security-holder/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "This package name is not currently in use, but was formerly occupied by another package. To avoid malicious use, npm is hanging on to the package name, but loosely, and we'll probably give it to you if you want it.", + "homepage": "https://github.com/npm/security-holder#readme", + "keywords": [], + "license": "ISC", + "main": "index.js", + "name": "fs", + "repository": { + "type": "git", + "url": "git+https://github.com/npm/security-holder.git" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "version": "0.0.1-security" +} diff --git a/node_modules/inherits/LICENSE b/node_modules/inherits/LICENSE new file mode 100644 index 00000000..dea3013d --- /dev/null +++ b/node_modules/inherits/LICENSE @@ -0,0 +1,16 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + diff --git a/node_modules/inherits/README.md b/node_modules/inherits/README.md new file mode 100644 index 00000000..b1c56658 --- /dev/null +++ b/node_modules/inherits/README.md @@ -0,0 +1,42 @@ +Browser-friendly inheritance fully compatible with standard node.js +[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). + +This package exports standard `inherits` from node.js `util` module in +node environment, but also provides alternative browser-friendly +implementation through [browser +field](https://gist.github.com/shtylman/4339901). Alternative +implementation is a literal copy of standard one located in standalone +module to avoid requiring of `util`. It also has a shim for old +browsers with no `Object.create` support. + +While keeping you sure you are using standard `inherits` +implementation in node.js environment, it allows bundlers such as +[browserify](https://github.com/substack/node-browserify) to not +include full `util` package to your client code if all you need is +just `inherits` function. It worth, because browser shim for `util` +package is large and `inherits` is often the single function you need +from it. + +It's recommended to use this package instead of +`require('util').inherits` for any code that has chances to be used +not only in node.js but in browser too. + +## usage + +```js +var inherits = require('inherits'); +// then use exactly as the standard one +``` + +## note on version ~1.0 + +Version ~1.0 had completely different motivation and is not compatible +neither with 2.0 nor with standard node.js `inherits`. + +If you are using version ~1.0 and planning to switch to ~2.0, be +careful: + +* new version uses `super_` instead of `super` for referencing + superclass +* new version overwrites current prototype while old one preserves any + existing fields on it diff --git a/node_modules/inherits/inherits.js b/node_modules/inherits/inherits.js new file mode 100644 index 00000000..f71f2d93 --- /dev/null +++ b/node_modules/inherits/inherits.js @@ -0,0 +1,9 @@ +try { + var util = require('util'); + /* istanbul ignore next */ + if (typeof util.inherits !== 'function') throw ''; + module.exports = util.inherits; +} catch (e) { + /* istanbul ignore next */ + module.exports = require('./inherits_browser.js'); +} diff --git a/node_modules/inherits/inherits_browser.js b/node_modules/inherits/inherits_browser.js new file mode 100644 index 00000000..86bbb3dc --- /dev/null +++ b/node_modules/inherits/inherits_browser.js @@ -0,0 +1,27 @@ +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }) + } + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } + } +} diff --git a/node_modules/inherits/package.json b/node_modules/inherits/package.json new file mode 100644 index 00000000..6ab27f07 --- /dev/null +++ b/node_modules/inherits/package.json @@ -0,0 +1,61 @@ +{ + "_from": "inherits@^2.0.3", + "_id": "inherits@2.0.4", + "_inBundle": false, + "_integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "_location": "/inherits", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "inherits@^2.0.3", + "name": "inherits", + "escapedName": "inherits", + "rawSpec": "^2.0.3", + "saveSpec": null, + "fetchSpec": "^2.0.3" + }, + "_requiredBy": [ + "/readable-stream" + ], + "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "_shasum": "0fa2c64f932917c3433a0ded55363aae37416b7c", + "_spec": "inherits@^2.0.3", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\readable-stream", + "browser": "./inherits_browser.js", + "bugs": { + "url": "https://github.com/isaacs/inherits/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", + "devDependencies": { + "tap": "^14.2.4" + }, + "files": [ + "inherits.js", + "inherits_browser.js" + ], + "homepage": "https://github.com/isaacs/inherits#readme", + "keywords": [ + "inheritance", + "class", + "klass", + "oop", + "object-oriented", + "inherits", + "browser", + "browserify" + ], + "license": "ISC", + "main": "./inherits.js", + "name": "inherits", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/inherits.git" + }, + "scripts": { + "test": "tap" + }, + "version": "2.0.4" +} diff --git a/node_modules/json-schema-traverse/.eslintrc.yml b/node_modules/json-schema-traverse/.eslintrc.yml new file mode 100644 index 00000000..ab1762da --- /dev/null +++ b/node_modules/json-schema-traverse/.eslintrc.yml @@ -0,0 +1,27 @@ +extends: eslint:recommended +env: + node: true + browser: true +rules: + block-scoped-var: 2 + complexity: [2, 13] + curly: [2, multi-or-nest, consistent] + dot-location: [2, property] + dot-notation: 2 + indent: [2, 2, SwitchCase: 1] + linebreak-style: [2, unix] + new-cap: 2 + no-console: [2, allow: [warn, error]] + no-else-return: 2 + no-eq-null: 2 + no-fallthrough: 2 + no-invalid-this: 2 + no-return-assign: 2 + no-shadow: 1 + no-trailing-spaces: 2 + no-use-before-define: [2, nofunc] + quotes: [2, single, avoid-escape] + semi: [2, always] + strict: [2, global] + valid-jsdoc: [2, requireReturn: false] + no-control-regex: 0 diff --git a/node_modules/json-schema-traverse/.travis.yml b/node_modules/json-schema-traverse/.travis.yml new file mode 100644 index 00000000..7ddce74b --- /dev/null +++ b/node_modules/json-schema-traverse/.travis.yml @@ -0,0 +1,8 @@ +language: node_js +node_js: + - "4" + - "6" + - "7" + - "8" +after_script: + - coveralls < coverage/lcov.info diff --git a/node_modules/json-schema-traverse/LICENSE b/node_modules/json-schema-traverse/LICENSE new file mode 100644 index 00000000..7f154356 --- /dev/null +++ b/node_modules/json-schema-traverse/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Evgeny Poberezkin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/json-schema-traverse/README.md b/node_modules/json-schema-traverse/README.md new file mode 100644 index 00000000..d5ccaf45 --- /dev/null +++ b/node_modules/json-schema-traverse/README.md @@ -0,0 +1,83 @@ +# json-schema-traverse +Traverse JSON Schema passing each schema object to callback + +[![Build Status](https://travis-ci.org/epoberezkin/json-schema-traverse.svg?branch=master)](https://travis-ci.org/epoberezkin/json-schema-traverse) +[![npm version](https://badge.fury.io/js/json-schema-traverse.svg)](https://www.npmjs.com/package/json-schema-traverse) +[![Coverage Status](https://coveralls.io/repos/github/epoberezkin/json-schema-traverse/badge.svg?branch=master)](https://coveralls.io/github/epoberezkin/json-schema-traverse?branch=master) + + +## Install + +``` +npm install json-schema-traverse +``` + + +## Usage + +```javascript +const traverse = require('json-schema-traverse'); +const schema = { + properties: { + foo: {type: 'string'}, + bar: {type: 'integer'} + } +}; + +traverse(schema, {cb}); +// cb is called 3 times with: +// 1. root schema +// 2. {type: 'string'} +// 3. {type: 'integer'} + +// Or: + +traverse(schema, {cb: {pre, post}}); +// pre is called 3 times with: +// 1. root schema +// 2. {type: 'string'} +// 3. {type: 'integer'} +// +// post is called 3 times with: +// 1. {type: 'string'} +// 2. {type: 'integer'} +// 3. root schema + +``` + +Callback function `cb` is called for each schema object (not including draft-06 boolean schemas), including the root schema, in pre-order traversal. Schema references ($ref) are not resolved, they are passed as is. Alternatively, you can pass a `{pre, post}` object as `cb`, and then `pre` will be called before traversing child elements, and `post` will be called after all child elements have been traversed. + +Callback is passed these parameters: + +- _schema_: the current schema object +- _JSON pointer_: from the root schema to the current schema object +- _root schema_: the schema passed to `traverse` object +- _parent JSON pointer_: from the root schema to the parent schema object (see below) +- _parent keyword_: the keyword inside which this schema appears (e.g. `properties`, `anyOf`, etc.) +- _parent schema_: not necessarily parent object/array; in the example above the parent schema for `{type: 'string'}` is the root schema +- _index/property_: index or property name in the array/object containing multiple schemas; in the example above for `{type: 'string'}` the property name is `'foo'` + + +## Traverse objects in all unknown keywords + +```javascript +const traverse = require('json-schema-traverse'); +const schema = { + mySchema: { + minimum: 1, + maximum: 2 + } +}; + +traverse(schema, {allKeys: true, cb}); +// cb is called 2 times with: +// 1. root schema +// 2. mySchema +``` + +Without option `allKeys: true` callback will be called only with root schema. + + +## License + +[MIT](https://github.com/epoberezkin/json-schema-traverse/blob/master/LICENSE) diff --git a/node_modules/json-schema-traverse/index.js b/node_modules/json-schema-traverse/index.js new file mode 100644 index 00000000..d4a18dfc --- /dev/null +++ b/node_modules/json-schema-traverse/index.js @@ -0,0 +1,89 @@ +'use strict'; + +var traverse = module.exports = function (schema, opts, cb) { + // Legacy support for v0.3.1 and earlier. + if (typeof opts == 'function') { + cb = opts; + opts = {}; + } + + cb = opts.cb || cb; + var pre = (typeof cb == 'function') ? cb : cb.pre || function() {}; + var post = cb.post || function() {}; + + _traverse(opts, pre, post, schema, '', schema); +}; + + +traverse.keywords = { + additionalItems: true, + items: true, + contains: true, + additionalProperties: true, + propertyNames: true, + not: true +}; + +traverse.arrayKeywords = { + items: true, + allOf: true, + anyOf: true, + oneOf: true +}; + +traverse.propsKeywords = { + definitions: true, + properties: true, + patternProperties: true, + dependencies: true +}; + +traverse.skipKeywords = { + default: true, + enum: true, + const: true, + required: true, + maximum: true, + minimum: true, + exclusiveMaximum: true, + exclusiveMinimum: true, + multipleOf: true, + maxLength: true, + minLength: true, + pattern: true, + format: true, + maxItems: true, + minItems: true, + uniqueItems: true, + maxProperties: true, + minProperties: true +}; + + +function _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) { + if (schema && typeof schema == 'object' && !Array.isArray(schema)) { + pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex); + for (var key in schema) { + var sch = schema[key]; + if (Array.isArray(sch)) { + if (key in traverse.arrayKeywords) { + for (var i=0; i +``` + +This will create a global `JSON5` variable. + +## API +The JSON5 API is compatible with the [JSON API]. + +[JSON API]: +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON + +### JSON5.parse() +Parses a JSON5 string, constructing the JavaScript value or object described by +the string. An optional reviver function can be provided to perform a +transformation on the resulting object before it is returned. + +#### Syntax + JSON5.parse(text[, reviver]) + +#### Parameters +- `text`: The string to parse as JSON5. +- `reviver`: If a function, this prescribes how the value originally produced by + parsing is transformed, before being returned. + +#### Return value +The object corresponding to the given JSON5 text. + +### JSON5.stringify() +Converts a JavaScript value to a JSON5 string, optionally replacing values if a +replacer function is specified, or optionally including only the specified +properties if a replacer array is specified. + +#### Syntax + JSON5.stringify(value[, replacer[, space]]) + JSON5.stringify(value[, options]) + +#### Parameters +- `value`: The value to convert to a JSON5 string. +- `replacer`: A function that alters the behavior of the stringification + process, or an array of String and Number objects that serve as a whitelist + for selecting/filtering the properties of the value object to be included in + the JSON5 string. If this value is null or not provided, all properties of the + object are included in the resulting JSON5 string. +- `space`: A String or Number object that's used to insert white space into the + output JSON5 string for readability purposes. If this is a Number, it + indicates the number of space characters to use as white space; this number is + capped at 10 (if it is greater, the value is just 10). Values less than 1 + indicate that no space should be used. If this is a String, the string (or the + first 10 characters of the string, if it's longer than that) is used as white + space. If this parameter is not provided (or is null), no white space is used. + If white space is used, trailing commas will be used in objects and arrays. +- `options`: An object with the following properties: + - `replacer`: Same as the `replacer` parameter. + - `space`: Same as the `space` parameter. + - `quote`: A String representing the quote character to use when serializing + strings. + +#### Return value +A JSON5 string representing the value. + +### Node.js `require()` JSON5 files +When using Node.js, you can `require()` JSON5 files by adding the following +statement. + +```js +require('json5/lib/register') +``` + +Then you can load a JSON5 file with a Node.js `require()` statement. For +example: + +```js +const config = require('./config.json5') +``` + +## CLI +Since JSON is more widely used than JSON5, this package includes a CLI for +converting JSON5 to JSON and for validating the syntax of JSON5 documents. + +### Installation +```sh +npm install --global json5 +``` + +### Usage +```sh +json5 [options] +``` + +If `` is not provided, then STDIN is used. + +#### Options: +- `-s`, `--space`: The number of spaces to indent or `t` for tabs +- `-o`, `--out-file [file]`: Output to the specified file, otherwise STDOUT +- `-v`, `--validate`: Validate JSON5 but do not output JSON +- `-V`, `--version`: Output the version number +- `-h`, `--help`: Output usage information + +## Contributing +### Development +```sh +git clone https://github.com/json5/json5 +cd json5 +npm install +``` + +When contributing code, please write relevant tests and run `npm test` and `npm +run lint` before submitting pull requests. Please use an editor that supports +[EditorConfig](http://editorconfig.org/). + +### Issues +To report bugs or request features regarding the JSON5 data format, please +submit an issue to the [official specification +repository](https://github.com/json5/json5-spec). + +To report bugs or request features regarding the JavaScript implementation of +JSON5, please submit an issue to this repository. + +## License +MIT. See [LICENSE.md](./LICENSE.md) for details. + +## Credits +[Assem Kishore](https://github.com/aseemk) founded this project. + +[Michael Bolin](http://bolinfest.com/) independently arrived at and published +some of these same ideas with awesome explanations and detail. Recommended +reading: [Suggested Improvements to JSON](http://bolinfest.com/essays/json.html) + +[Douglas Crockford](http://www.crockford.com/) of course designed and built +JSON, but his state machine diagrams on the [JSON website](http://json.org/), as +cheesy as it may sound, gave us motivation and confidence that building a new +parser to implement these ideas was within reach! The original +implementation of JSON5 was also modeled directly off of Doug’s open-source +[json_parse.js] parser. We’re grateful for that clean and well-documented +code. + +[json_parse.js]: +https://github.com/douglascrockford/JSON-js/blob/03157639c7a7cddd2e9f032537f346f1a87c0f6d/json_parse.js + +[Max Nanasy](https://github.com/MaxNanasy) has been an early and prolific +supporter, contributing multiple patches and ideas. + +[Andrew Eisenberg](https://github.com/aeisenberg) contributed the original +`stringify` method. + +[Jordan Tucker](https://github.com/jordanbtucker) has aligned JSON5 more closely +with ES5, wrote the official JSON5 specification, completely rewrote the +codebase from the ground up, and is actively maintaining this project. diff --git a/node_modules/json5/dist/index.js b/node_modules/json5/dist/index.js new file mode 100644 index 00000000..9f98eb39 --- /dev/null +++ b/node_modules/json5/dist/index.js @@ -0,0 +1,1710 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.JSON5 = factory()); +}(this, (function () { 'use strict'; + + function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; + } + + var _global = createCommonjsModule(function (module) { + // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 + var global = module.exports = typeof window != 'undefined' && window.Math == Math + ? window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : Function('return this')(); + if (typeof __g == 'number') { __g = global; } // eslint-disable-line no-undef + }); + + var _core = createCommonjsModule(function (module) { + var core = module.exports = { version: '2.6.5' }; + if (typeof __e == 'number') { __e = core; } // eslint-disable-line no-undef + }); + var _core_1 = _core.version; + + var _isObject = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; + }; + + var _anObject = function (it) { + if (!_isObject(it)) { throw TypeError(it + ' is not an object!'); } + return it; + }; + + var _fails = function (exec) { + try { + return !!exec(); + } catch (e) { + return true; + } + }; + + // Thank's IE8 for his funny defineProperty + var _descriptors = !_fails(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; + }); + + var document = _global.document; + // typeof document.createElement is 'object' in old IE + var is = _isObject(document) && _isObject(document.createElement); + var _domCreate = function (it) { + return is ? document.createElement(it) : {}; + }; + + var _ie8DomDefine = !_descriptors && !_fails(function () { + return Object.defineProperty(_domCreate('div'), 'a', { get: function () { return 7; } }).a != 7; + }); + + // 7.1.1 ToPrimitive(input [, PreferredType]) + + // instead of the ES6 spec version, we didn't implement @@toPrimitive case + // and the second argument - flag - preferred type is a string + var _toPrimitive = function (it, S) { + if (!_isObject(it)) { return it; } + var fn, val; + if (S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) { return val; } + if (typeof (fn = it.valueOf) == 'function' && !_isObject(val = fn.call(it))) { return val; } + if (!S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) { return val; } + throw TypeError("Can't convert object to primitive value"); + }; + + var dP = Object.defineProperty; + + var f = _descriptors ? Object.defineProperty : function defineProperty(O, P, Attributes) { + _anObject(O); + P = _toPrimitive(P, true); + _anObject(Attributes); + if (_ie8DomDefine) { try { + return dP(O, P, Attributes); + } catch (e) { /* empty */ } } + if ('get' in Attributes || 'set' in Attributes) { throw TypeError('Accessors not supported!'); } + if ('value' in Attributes) { O[P] = Attributes.value; } + return O; + }; + + var _objectDp = { + f: f + }; + + var _propertyDesc = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; + }; + + var _hide = _descriptors ? function (object, key, value) { + return _objectDp.f(object, key, _propertyDesc(1, value)); + } : function (object, key, value) { + object[key] = value; + return object; + }; + + var hasOwnProperty = {}.hasOwnProperty; + var _has = function (it, key) { + return hasOwnProperty.call(it, key); + }; + + var id = 0; + var px = Math.random(); + var _uid = function (key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); + }; + + var _library = false; + + var _shared = createCommonjsModule(function (module) { + var SHARED = '__core-js_shared__'; + var store = _global[SHARED] || (_global[SHARED] = {}); + + (module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); + })('versions', []).push({ + version: _core.version, + mode: _library ? 'pure' : 'global', + copyright: '© 2019 Denis Pushkarev (zloirock.ru)' + }); + }); + + var _functionToString = _shared('native-function-to-string', Function.toString); + + var _redefine = createCommonjsModule(function (module) { + var SRC = _uid('src'); + + var TO_STRING = 'toString'; + var TPL = ('' + _functionToString).split(TO_STRING); + + _core.inspectSource = function (it) { + return _functionToString.call(it); + }; + + (module.exports = function (O, key, val, safe) { + var isFunction = typeof val == 'function'; + if (isFunction) { _has(val, 'name') || _hide(val, 'name', key); } + if (O[key] === val) { return; } + if (isFunction) { _has(val, SRC) || _hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); } + if (O === _global) { + O[key] = val; + } else if (!safe) { + delete O[key]; + _hide(O, key, val); + } else if (O[key]) { + O[key] = val; + } else { + _hide(O, key, val); + } + // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative + })(Function.prototype, TO_STRING, function toString() { + return typeof this == 'function' && this[SRC] || _functionToString.call(this); + }); + }); + + var _aFunction = function (it) { + if (typeof it != 'function') { throw TypeError(it + ' is not a function!'); } + return it; + }; + + // optional / simple context binding + + var _ctx = function (fn, that, length) { + _aFunction(fn); + if (that === undefined) { return fn; } + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; + }; + + var PROTOTYPE = 'prototype'; + + var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var target = IS_GLOBAL ? _global : IS_STATIC ? _global[name] || (_global[name] = {}) : (_global[name] || {})[PROTOTYPE]; + var exports = IS_GLOBAL ? _core : _core[name] || (_core[name] = {}); + var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); + var key, own, out, exp; + if (IS_GLOBAL) { source = name; } + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + // export native or passed + out = (own ? target : source)[key]; + // bind timers to global for call from export context + exp = IS_BIND && own ? _ctx(out, _global) : IS_PROTO && typeof out == 'function' ? _ctx(Function.call, out) : out; + // extend global + if (target) { _redefine(target, key, out, type & $export.U); } + // export + if (exports[key] != out) { _hide(exports, key, exp); } + if (IS_PROTO && expProto[key] != out) { expProto[key] = out; } + } + }; + _global.core = _core; + // type bitmap + $export.F = 1; // forced + $export.G = 2; // global + $export.S = 4; // static + $export.P = 8; // proto + $export.B = 16; // bind + $export.W = 32; // wrap + $export.U = 64; // safe + $export.R = 128; // real proto method for `library` + var _export = $export; + + // 7.1.4 ToInteger + var ceil = Math.ceil; + var floor = Math.floor; + var _toInteger = function (it) { + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); + }; + + // 7.2.1 RequireObjectCoercible(argument) + var _defined = function (it) { + if (it == undefined) { throw TypeError("Can't call method on " + it); } + return it; + }; + + // true -> String#at + // false -> String#codePointAt + var _stringAt = function (TO_STRING) { + return function (that, pos) { + var s = String(_defined(that)); + var i = _toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) { return TO_STRING ? '' : undefined; } + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; + }; + + var $at = _stringAt(false); + _export(_export.P, 'String', { + // 21.1.3.3 String.prototype.codePointAt(pos) + codePointAt: function codePointAt(pos) { + return $at(this, pos); + } + }); + + var codePointAt = _core.String.codePointAt; + + var max = Math.max; + var min = Math.min; + var _toAbsoluteIndex = function (index, length) { + index = _toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); + }; + + var fromCharCode = String.fromCharCode; + var $fromCodePoint = String.fromCodePoint; + + // length should be 1, old FF problem + _export(_export.S + _export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { + // 21.1.2.2 String.fromCodePoint(...codePoints) + fromCodePoint: function fromCodePoint(x) { + var arguments$1 = arguments; + // eslint-disable-line no-unused-vars + var res = []; + var aLen = arguments.length; + var i = 0; + var code; + while (aLen > i) { + code = +arguments$1[i++]; + if (_toAbsoluteIndex(code, 0x10ffff) !== code) { throw RangeError(code + ' is not a valid code point'); } + res.push(code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) + ); + } return res.join(''); + } + }); + + var fromCodePoint = _core.String.fromCodePoint; + + // This is a generated file. Do not edit. + var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/; + var ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/; + var ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/; + + var unicode = { + Space_Separator: Space_Separator, + ID_Start: ID_Start, + ID_Continue: ID_Continue + }; + + var util = { + isSpaceSeparator: function isSpaceSeparator (c) { + return typeof c === 'string' && unicode.Space_Separator.test(c) + }, + + isIdStartChar: function isIdStartChar (c) { + return typeof c === 'string' && ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c === '$') || (c === '_') || + unicode.ID_Start.test(c) + ) + }, + + isIdContinueChar: function isIdContinueChar (c) { + return typeof c === 'string' && ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c >= '0' && c <= '9') || + (c === '$') || (c === '_') || + (c === '\u200C') || (c === '\u200D') || + unicode.ID_Continue.test(c) + ) + }, + + isDigit: function isDigit (c) { + return typeof c === 'string' && /[0-9]/.test(c) + }, + + isHexDigit: function isHexDigit (c) { + return typeof c === 'string' && /[0-9A-Fa-f]/.test(c) + }, + }; + + var source; + var parseState; + var stack; + var pos; + var line; + var column; + var token; + var key; + var root; + + var parse = function parse (text, reviver) { + source = String(text); + parseState = 'start'; + stack = []; + pos = 0; + line = 1; + column = 0; + token = undefined; + key = undefined; + root = undefined; + + do { + token = lex(); + + // This code is unreachable. + // if (!parseStates[parseState]) { + // throw invalidParseState() + // } + + parseStates[parseState](); + } while (token.type !== 'eof') + + if (typeof reviver === 'function') { + return internalize({'': root}, '', reviver) + } + + return root + }; + + function internalize (holder, name, reviver) { + var value = holder[name]; + if (value != null && typeof value === 'object') { + for (var key in value) { + var replacement = internalize(value, key, reviver); + if (replacement === undefined) { + delete value[key]; + } else { + value[key] = replacement; + } + } + } + + return reviver.call(holder, name, value) + } + + var lexState; + var buffer; + var doubleQuote; + var sign; + var c; + + function lex () { + lexState = 'default'; + buffer = ''; + doubleQuote = false; + sign = 1; + + for (;;) { + c = peek(); + + // This code is unreachable. + // if (!lexStates[lexState]) { + // throw invalidLexState(lexState) + // } + + var token = lexStates[lexState](); + if (token) { + return token + } + } + } + + function peek () { + if (source[pos]) { + return String.fromCodePoint(source.codePointAt(pos)) + } + } + + function read () { + var c = peek(); + + if (c === '\n') { + line++; + column = 0; + } else if (c) { + column += c.length; + } else { + column++; + } + + if (c) { + pos += c.length; + } + + return c + } + + var lexStates = { + default: function default$1 () { + switch (c) { + case '\t': + case '\v': + case '\f': + case ' ': + case '\u00A0': + case '\uFEFF': + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read(); + return + + case '/': + read(); + lexState = 'comment'; + return + + case undefined: + read(); + return newToken('eof') + } + + if (util.isSpaceSeparator(c)) { + read(); + return + } + + // This code is unreachable. + // if (!lexStates[parseState]) { + // throw invalidLexState(parseState) + // } + + return lexStates[parseState]() + }, + + comment: function comment () { + switch (c) { + case '*': + read(); + lexState = 'multiLineComment'; + return + + case '/': + read(); + lexState = 'singleLineComment'; + return + } + + throw invalidChar(read()) + }, + + multiLineComment: function multiLineComment () { + switch (c) { + case '*': + read(); + lexState = 'multiLineCommentAsterisk'; + return + + case undefined: + throw invalidChar(read()) + } + + read(); + }, + + multiLineCommentAsterisk: function multiLineCommentAsterisk () { + switch (c) { + case '*': + read(); + return + + case '/': + read(); + lexState = 'default'; + return + + case undefined: + throw invalidChar(read()) + } + + read(); + lexState = 'multiLineComment'; + }, + + singleLineComment: function singleLineComment () { + switch (c) { + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read(); + lexState = 'default'; + return + + case undefined: + read(); + return newToken('eof') + } + + read(); + }, + + value: function value () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + case 'n': + read(); + literal('ull'); + return newToken('null', null) + + case 't': + read(); + literal('rue'); + return newToken('boolean', true) + + case 'f': + read(); + literal('alse'); + return newToken('boolean', false) + + case '-': + case '+': + if (read() === '-') { + sign = -1; + } + + lexState = 'sign'; + return + + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return + + case '0': + buffer = read(); + lexState = 'zero'; + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return + + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', Infinity) + + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN) + + case '"': + case "'": + doubleQuote = (read() === '"'); + buffer = ''; + lexState = 'string'; + return + } + + throw invalidChar(read()) + }, + + identifierNameStartEscape: function identifierNameStartEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read(); + var u = unicodeEscape(); + switch (u) { + case '$': + case '_': + break + + default: + if (!util.isIdStartChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u; + lexState = 'identifierName'; + }, + + identifierName: function identifierName () { + switch (c) { + case '$': + case '_': + case '\u200C': + case '\u200D': + buffer += read(); + return + + case '\\': + read(); + lexState = 'identifierNameEscape'; + return + } + + if (util.isIdContinueChar(c)) { + buffer += read(); + return + } + + return newToken('identifier', buffer) + }, + + identifierNameEscape: function identifierNameEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read(); + var u = unicodeEscape(); + switch (u) { + case '$': + case '_': + case '\u200C': + case '\u200D': + break + + default: + if (!util.isIdContinueChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u; + lexState = 'identifierName'; + }, + + sign: function sign$1 () { + switch (c) { + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return + + case '0': + buffer = read(); + lexState = 'zero'; + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return + + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', sign * Infinity) + + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN) + } + + throw invalidChar(read()) + }, + + zero: function zero () { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return + + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + + case 'x': + case 'X': + buffer += read(); + lexState = 'hexadecimal'; + return + } + + return newToken('numeric', sign * 0) + }, + + decimalInteger: function decimalInteger () { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return + + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalPointLeading: function decimalPointLeading () { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return + } + + throw invalidChar(read()) + }, + + decimalPoint: function decimalPoint () { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalFraction: function decimalFraction () { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalExponent: function decimalExponent () { + switch (c) { + case '+': + case '-': + buffer += read(); + lexState = 'decimalExponentSign'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return + } + + throw invalidChar(read()) + }, + + decimalExponentSign: function decimalExponentSign () { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return + } + + throw invalidChar(read()) + }, + + decimalExponentInteger: function decimalExponentInteger () { + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + hexadecimal: function hexadecimal () { + if (util.isHexDigit(c)) { + buffer += read(); + lexState = 'hexadecimalInteger'; + return + } + + throw invalidChar(read()) + }, + + hexadecimalInteger: function hexadecimalInteger () { + if (util.isHexDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + string: function string () { + switch (c) { + case '\\': + read(); + buffer += escape(); + return + + case '"': + if (doubleQuote) { + read(); + return newToken('string', buffer) + } + + buffer += read(); + return + + case "'": + if (!doubleQuote) { + read(); + return newToken('string', buffer) + } + + buffer += read(); + return + + case '\n': + case '\r': + throw invalidChar(read()) + + case '\u2028': + case '\u2029': + separatorChar(c); + break + + case undefined: + throw invalidChar(read()) + } + + buffer += read(); + }, + + start: function start () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + // This code is unreachable since the default lexState handles eof. + // case undefined: + // return newToken('eof') + } + + lexState = 'value'; + }, + + beforePropertyName: function beforePropertyName () { + switch (c) { + case '$': + case '_': + buffer = read(); + lexState = 'identifierName'; + return + + case '\\': + read(); + lexState = 'identifierNameStartEscape'; + return + + case '}': + return newToken('punctuator', read()) + + case '"': + case "'": + doubleQuote = (read() === '"'); + lexState = 'string'; + return + } + + if (util.isIdStartChar(c)) { + buffer += read(); + lexState = 'identifierName'; + return + } + + throw invalidChar(read()) + }, + + afterPropertyName: function afterPropertyName () { + if (c === ':') { + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforePropertyValue: function beforePropertyValue () { + lexState = 'value'; + }, + + afterPropertyValue: function afterPropertyValue () { + switch (c) { + case ',': + case '}': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforeArrayValue: function beforeArrayValue () { + if (c === ']') { + return newToken('punctuator', read()) + } + + lexState = 'value'; + }, + + afterArrayValue: function afterArrayValue () { + switch (c) { + case ',': + case ']': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + end: function end () { + // This code is unreachable since it's handled by the default lexState. + // if (c === undefined) { + // read() + // return newToken('eof') + // } + + throw invalidChar(read()) + }, + }; + + function newToken (type, value) { + return { + type: type, + value: value, + line: line, + column: column, + } + } + + function literal (s) { + for (var i = 0, list = s; i < list.length; i += 1) { + var c = list[i]; + + var p = peek(); + + if (p !== c) { + throw invalidChar(read()) + } + + read(); + } + } + + function escape () { + var c = peek(); + switch (c) { + case 'b': + read(); + return '\b' + + case 'f': + read(); + return '\f' + + case 'n': + read(); + return '\n' + + case 'r': + read(); + return '\r' + + case 't': + read(); + return '\t' + + case 'v': + read(); + return '\v' + + case '0': + read(); + if (util.isDigit(peek())) { + throw invalidChar(read()) + } + + return '\0' + + case 'x': + read(); + return hexEscape() + + case 'u': + read(); + return unicodeEscape() + + case '\n': + case '\u2028': + case '\u2029': + read(); + return '' + + case '\r': + read(); + if (peek() === '\n') { + read(); + } + + return '' + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + throw invalidChar(read()) + + case undefined: + throw invalidChar(read()) + } + + return read() + } + + function hexEscape () { + var buffer = ''; + var c = peek(); + + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + + c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + + return String.fromCodePoint(parseInt(buffer, 16)) + } + + function unicodeEscape () { + var buffer = ''; + var count = 4; + + while (count-- > 0) { + var c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + } + + return String.fromCodePoint(parseInt(buffer, 16)) + } + + var parseStates = { + start: function start () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push(); + }, + + beforePropertyName: function beforePropertyName () { + switch (token.type) { + case 'identifier': + case 'string': + key = token.value; + parseState = 'afterPropertyName'; + return + + case 'punctuator': + // This code is unreachable since it's handled by the lexState. + // if (token.value !== '}') { + // throw invalidToken() + // } + + pop(); + return + + case 'eof': + throw invalidEOF() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterPropertyName: function afterPropertyName () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator' || token.value !== ':') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + parseState = 'beforePropertyValue'; + }, + + beforePropertyValue: function beforePropertyValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push(); + }, + + beforeArrayValue: function beforeArrayValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + if (token.type === 'punctuator' && token.value === ']') { + pop(); + return + } + + push(); + }, + + afterPropertyValue: function afterPropertyValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforePropertyName'; + return + + case '}': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterArrayValue: function afterArrayValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforeArrayValue'; + return + + case ']': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + end: function end () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'eof') { + // throw invalidToken() + // } + }, + }; + + function push () { + var value; + + switch (token.type) { + case 'punctuator': + switch (token.value) { + case '{': + value = {}; + break + + case '[': + value = []; + break + } + + break + + case 'null': + case 'boolean': + case 'numeric': + case 'string': + value = token.value; + break + + // This code is unreachable. + // default: + // throw invalidToken() + } + + if (root === undefined) { + root = value; + } else { + var parent = stack[stack.length - 1]; + if (Array.isArray(parent)) { + parent.push(value); + } else { + parent[key] = value; + } + } + + if (value !== null && typeof value === 'object') { + stack.push(value); + + if (Array.isArray(value)) { + parseState = 'beforeArrayValue'; + } else { + parseState = 'beforePropertyName'; + } + } else { + var current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } + } + } + + function pop () { + stack.pop(); + + var current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } + } + + // This code is unreachable. + // function invalidParseState () { + // return new Error(`JSON5: invalid parse state '${parseState}'`) + // } + + // This code is unreachable. + // function invalidLexState (state) { + // return new Error(`JSON5: invalid lex state '${state}'`) + // } + + function invalidChar (c) { + if (c === undefined) { + return syntaxError(("JSON5: invalid end of input at " + line + ":" + column)) + } + + return syntaxError(("JSON5: invalid character '" + (formatChar(c)) + "' at " + line + ":" + column)) + } + + function invalidEOF () { + return syntaxError(("JSON5: invalid end of input at " + line + ":" + column)) + } + + // This code is unreachable. + // function invalidToken () { + // if (token.type === 'eof') { + // return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) + // } + + // const c = String.fromCodePoint(token.value.codePointAt(0)) + // return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) + // } + + function invalidIdentifier () { + column -= 5; + return syntaxError(("JSON5: invalid identifier character at " + line + ":" + column)) + } + + function separatorChar (c) { + console.warn(("JSON5: '" + (formatChar(c)) + "' in strings is not valid ECMAScript; consider escaping")); + } + + function formatChar (c) { + var replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + }; + + if (replacements[c]) { + return replacements[c] + } + + if (c < ' ') { + var hexString = c.charCodeAt(0).toString(16); + return '\\x' + ('00' + hexString).substring(hexString.length) + } + + return c + } + + function syntaxError (message) { + var err = new SyntaxError(message); + err.lineNumber = line; + err.columnNumber = column; + return err + } + + var stringify = function stringify (value, replacer, space) { + var stack = []; + var indent = ''; + var propertyList; + var replacerFunc; + var gap = ''; + var quote; + + if ( + replacer != null && + typeof replacer === 'object' && + !Array.isArray(replacer) + ) { + space = replacer.space; + quote = replacer.quote; + replacer = replacer.replacer; + } + + if (typeof replacer === 'function') { + replacerFunc = replacer; + } else if (Array.isArray(replacer)) { + propertyList = []; + for (var i = 0, list = replacer; i < list.length; i += 1) { + var v = list[i]; + + var item = (void 0); + + if (typeof v === 'string') { + item = v; + } else if ( + typeof v === 'number' || + v instanceof String || + v instanceof Number + ) { + item = String(v); + } + + if (item !== undefined && propertyList.indexOf(item) < 0) { + propertyList.push(item); + } + } + } + + if (space instanceof Number) { + space = Number(space); + } else if (space instanceof String) { + space = String(space); + } + + if (typeof space === 'number') { + if (space > 0) { + space = Math.min(10, Math.floor(space)); + gap = ' '.substr(0, space); + } + } else if (typeof space === 'string') { + gap = space.substr(0, 10); + } + + return serializeProperty('', {'': value}) + + function serializeProperty (key, holder) { + var value = holder[key]; + if (value != null) { + if (typeof value.toJSON5 === 'function') { + value = value.toJSON5(key); + } else if (typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + } + + if (replacerFunc) { + value = replacerFunc.call(holder, key, value); + } + + if (value instanceof Number) { + value = Number(value); + } else if (value instanceof String) { + value = String(value); + } else if (value instanceof Boolean) { + value = value.valueOf(); + } + + switch (value) { + case null: return 'null' + case true: return 'true' + case false: return 'false' + } + + if (typeof value === 'string') { + return quoteString(value, false) + } + + if (typeof value === 'number') { + return String(value) + } + + if (typeof value === 'object') { + return Array.isArray(value) ? serializeArray(value) : serializeObject(value) + } + + return undefined + } + + function quoteString (value) { + var quotes = { + "'": 0.1, + '"': 0.2, + }; + + var replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + }; + + var product = ''; + + for (var i = 0; i < value.length; i++) { + var c = value[i]; + switch (c) { + case "'": + case '"': + quotes[c]++; + product += c; + continue + + case '\0': + if (util.isDigit(value[i + 1])) { + product += '\\x00'; + continue + } + } + + if (replacements[c]) { + product += replacements[c]; + continue + } + + if (c < ' ') { + var hexString = c.charCodeAt(0).toString(16); + product += '\\x' + ('00' + hexString).substring(hexString.length); + continue + } + + product += c; + } + + var quoteChar = quote || Object.keys(quotes).reduce(function (a, b) { return (quotes[a] < quotes[b]) ? a : b; }); + + product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]); + + return quoteChar + product + quoteChar + } + + function serializeObject (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value); + + var stepback = indent; + indent = indent + gap; + + var keys = propertyList || Object.keys(value); + var partial = []; + for (var i = 0, list = keys; i < list.length; i += 1) { + var key = list[i]; + + var propertyString = serializeProperty(key, value); + if (propertyString !== undefined) { + var member = serializeKey(key) + ':'; + if (gap !== '') { + member += ' '; + } + member += propertyString; + partial.push(member); + } + } + + var final; + if (partial.length === 0) { + final = '{}'; + } else { + var properties; + if (gap === '') { + properties = partial.join(','); + final = '{' + properties + '}'; + } else { + var separator = ',\n' + indent; + properties = partial.join(separator); + final = '{\n' + indent + properties + ',\n' + stepback + '}'; + } + } + + stack.pop(); + indent = stepback; + return final + } + + function serializeKey (key) { + if (key.length === 0) { + return quoteString(key, true) + } + + var firstChar = String.fromCodePoint(key.codePointAt(0)); + if (!util.isIdStartChar(firstChar)) { + return quoteString(key, true) + } + + for (var i = firstChar.length; i < key.length; i++) { + if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { + return quoteString(key, true) + } + } + + return key + } + + function serializeArray (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value); + + var stepback = indent; + indent = indent + gap; + + var partial = []; + for (var i = 0; i < value.length; i++) { + var propertyString = serializeProperty(String(i), value); + partial.push((propertyString !== undefined) ? propertyString : 'null'); + } + + var final; + if (partial.length === 0) { + final = '[]'; + } else { + if (gap === '') { + var properties = partial.join(','); + final = '[' + properties + ']'; + } else { + var separator = ',\n' + indent; + var properties$1 = partial.join(separator); + final = '[\n' + indent + properties$1 + ',\n' + stepback + ']'; + } + } + + stack.pop(); + indent = stepback; + return final + } + }; + + var JSON5 = { + parse: parse, + stringify: stringify, + }; + + var lib = JSON5; + + var es5 = lib; + + return es5; + +}))); diff --git a/node_modules/json5/dist/index.min.js b/node_modules/json5/dist/index.min.js new file mode 100644 index 00000000..da63a9da --- /dev/null +++ b/node_modules/json5/dist/index.min.js @@ -0,0 +1 @@ +!function(u,D){"object"==typeof exports&&"undefined"!=typeof module?module.exports=D():"function"==typeof define&&define.amd?define(D):u.JSON5=D()}(this,function(){"use strict";function u(u,D){return u(D={exports:{}},D.exports),D.exports}var D=u(function(u){var D=u.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=D)}),e=u(function(u){var D=u.exports={version:"2.6.5"};"number"==typeof __e&&(__e=D)}),t=(e.version,function(u){return"object"==typeof u?null!==u:"function"==typeof u}),r=function(u){if(!t(u))throw TypeError(u+" is not an object!");return u},F=function(u){try{return!!u()}catch(u){return!0}},n=!F(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),C=D.document,A=t(C)&&t(C.createElement),i=!n&&!F(function(){return 7!=Object.defineProperty((u="div",A?C.createElement(u):{}),"a",{get:function(){return 7}}).a;var u}),E=Object.defineProperty,o={f:n?Object.defineProperty:function(u,D,e){if(r(u),D=function(u,D){if(!t(u))return u;var e,r;if(D&&"function"==typeof(e=u.toString)&&!t(r=e.call(u)))return r;if("function"==typeof(e=u.valueOf)&&!t(r=e.call(u)))return r;if(!D&&"function"==typeof(e=u.toString)&&!t(r=e.call(u)))return r;throw TypeError("Can't convert object to primitive value")}(D,!0),r(e),i)try{return E(u,D,e)}catch(u){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(u[D]=e.value),u}},a=n?function(u,D,e){return o.f(u,D,function(u,D){return{enumerable:!(1&u),configurable:!(2&u),writable:!(4&u),value:D}}(1,e))}:function(u,D,e){return u[D]=e,u},c={}.hasOwnProperty,B=function(u,D){return c.call(u,D)},s=0,f=Math.random(),l=u(function(u){var t=D["__core-js_shared__"]||(D["__core-js_shared__"]={});(u.exports=function(u,D){return t[u]||(t[u]=void 0!==D?D:{})})("versions",[]).push({version:e.version,mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})("native-function-to-string",Function.toString),d=u(function(u){var t,r="Symbol(".concat(void 0===(t="src")?"":t,")_",(++s+f).toString(36)),F=(""+l).split("toString");e.inspectSource=function(u){return l.call(u)},(u.exports=function(u,e,t,n){var C="function"==typeof t;C&&(B(t,"name")||a(t,"name",e)),u[e]!==t&&(C&&(B(t,r)||a(t,r,u[e]?""+u[e]:F.join(String(e)))),u===D?u[e]=t:n?u[e]?u[e]=t:a(u,e,t):(delete u[e],a(u,e,t)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[r]||l.call(this)})}),v=function(u,D,e){if(function(u){if("function"!=typeof u)throw TypeError(u+" is not a function!")}(u),void 0===D)return u;switch(e){case 1:return function(e){return u.call(D,e)};case 2:return function(e,t){return u.call(D,e,t)};case 3:return function(e,t,r){return u.call(D,e,t,r)}}return function(){return u.apply(D,arguments)}},p=function(u,t,r){var F,n,C,A,i=u&p.F,E=u&p.G,o=u&p.S,c=u&p.P,B=u&p.B,s=E?D:o?D[t]||(D[t]={}):(D[t]||{}).prototype,f=E?e:e[t]||(e[t]={}),l=f.prototype||(f.prototype={});for(F in E&&(r=t),r)C=((n=!i&&s&&void 0!==s[F])?s:r)[F],A=B&&n?v(C,D):c&&"function"==typeof C?v(Function.call,C):C,s&&d(s,F,C,u&p.U),f[F]!=C&&a(f,F,A),c&&l[F]!=C&&(l[F]=C)};D.core=e,p.F=1,p.G=2,p.S=4,p.P=8,p.B=16,p.W=32,p.U=64,p.R=128;var h,m=p,g=Math.ceil,y=Math.floor,w=function(u){return isNaN(u=+u)?0:(u>0?y:g)(u)},S=(h=!1,function(u,D){var e,t,r=String(function(u){if(null==u)throw TypeError("Can't call method on "+u);return u}(u)),F=w(D),n=r.length;return F<0||F>=n?h?"":void 0:(e=r.charCodeAt(F))<55296||e>56319||F+1===n||(t=r.charCodeAt(F+1))<56320||t>57343?h?r.charAt(F):e:h?r.slice(F,F+2):t-56320+(e-55296<<10)+65536});m(m.P,"String",{codePointAt:function(u){return S(this,u)}});e.String.codePointAt;var b=Math.max,x=Math.min,N=String.fromCharCode,P=String.fromCodePoint;m(m.S+m.F*(!!P&&1!=P.length),"String",{fromCodePoint:function(u){for(var D,e,t,r=arguments,F=[],n=arguments.length,C=0;n>C;){if(D=+r[C++],t=1114111,((e=w(e=D))<0?b(e+t,0):x(e,t))!==D)throw RangeError(D+" is not a valid code point");F.push(D<65536?N(D):N(55296+((D-=65536)>>10),D%1024+56320))}return F.join("")}});e.String.fromCodePoint;var _,I,O,j,V,J,M,k,L,T,z,H,$,R,G={Space_Separator:/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,ID_Start:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,ID_Continue:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},U={isSpaceSeparator:function(u){return"string"==typeof u&&G.Space_Separator.test(u)},isIdStartChar:function(u){return"string"==typeof u&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||"$"===u||"_"===u||G.ID_Start.test(u))},isIdContinueChar:function(u){return"string"==typeof u&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||u>="0"&&u<="9"||"$"===u||"_"===u||"‌"===u||"‍"===u||G.ID_Continue.test(u))},isDigit:function(u){return"string"==typeof u&&/[0-9]/.test(u)},isHexDigit:function(u){return"string"==typeof u&&/[0-9A-Fa-f]/.test(u)}};function Z(){for(T="default",z="",H=!1,$=1;;){R=q();var u=X[T]();if(u)return u}}function q(){if(_[j])return String.fromCodePoint(_.codePointAt(j))}function W(){var u=q();return"\n"===u?(V++,J=0):u?J+=u.length:J++,u&&(j+=u.length),u}var X={default:function(){switch(R){case"\t":case"\v":case"\f":case" ":case" ":case"\ufeff":case"\n":case"\r":case"\u2028":case"\u2029":return void W();case"/":return W(),void(T="comment");case void 0:return W(),K("eof")}if(!U.isSpaceSeparator(R))return X[I]();W()},comment:function(){switch(R){case"*":return W(),void(T="multiLineComment");case"/":return W(),void(T="singleLineComment")}throw tu(W())},multiLineComment:function(){switch(R){case"*":return W(),void(T="multiLineCommentAsterisk");case void 0:throw tu(W())}W()},multiLineCommentAsterisk:function(){switch(R){case"*":return void W();case"/":return W(),void(T="default");case void 0:throw tu(W())}W(),T="multiLineComment"},singleLineComment:function(){switch(R){case"\n":case"\r":case"\u2028":case"\u2029":return W(),void(T="default");case void 0:return W(),K("eof")}W()},value:function(){switch(R){case"{":case"[":return K("punctuator",W());case"n":return W(),Q("ull"),K("null",null);case"t":return W(),Q("rue"),K("boolean",!0);case"f":return W(),Q("alse"),K("boolean",!1);case"-":case"+":return"-"===W()&&($=-1),void(T="sign");case".":return z=W(),void(T="decimalPointLeading");case"0":return z=W(),void(T="zero");case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return z=W(),void(T="decimalInteger");case"I":return W(),Q("nfinity"),K("numeric",1/0);case"N":return W(),Q("aN"),K("numeric",NaN);case'"':case"'":return H='"'===W(),z="",void(T="string")}throw tu(W())},identifierNameStartEscape:function(){if("u"!==R)throw tu(W());W();var u=Y();switch(u){case"$":case"_":break;default:if(!U.isIdStartChar(u))throw Fu()}z+=u,T="identifierName"},identifierName:function(){switch(R){case"$":case"_":case"‌":case"‍":return void(z+=W());case"\\":return W(),void(T="identifierNameEscape")}if(!U.isIdContinueChar(R))return K("identifier",z);z+=W()},identifierNameEscape:function(){if("u"!==R)throw tu(W());W();var u=Y();switch(u){case"$":case"_":case"‌":case"‍":break;default:if(!U.isIdContinueChar(u))throw Fu()}z+=u,T="identifierName"},sign:function(){switch(R){case".":return z=W(),void(T="decimalPointLeading");case"0":return z=W(),void(T="zero");case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return z=W(),void(T="decimalInteger");case"I":return W(),Q("nfinity"),K("numeric",$*(1/0));case"N":return W(),Q("aN"),K("numeric",NaN)}throw tu(W())},zero:function(){switch(R){case".":return z+=W(),void(T="decimalPoint");case"e":case"E":return z+=W(),void(T="decimalExponent");case"x":case"X":return z+=W(),void(T="hexadecimal")}return K("numeric",0*$)},decimalInteger:function(){switch(R){case".":return z+=W(),void(T="decimalPoint");case"e":case"E":return z+=W(),void(T="decimalExponent")}if(!U.isDigit(R))return K("numeric",$*Number(z));z+=W()},decimalPointLeading:function(){if(U.isDigit(R))return z+=W(),void(T="decimalFraction");throw tu(W())},decimalPoint:function(){switch(R){case"e":case"E":return z+=W(),void(T="decimalExponent")}return U.isDigit(R)?(z+=W(),void(T="decimalFraction")):K("numeric",$*Number(z))},decimalFraction:function(){switch(R){case"e":case"E":return z+=W(),void(T="decimalExponent")}if(!U.isDigit(R))return K("numeric",$*Number(z));z+=W()},decimalExponent:function(){switch(R){case"+":case"-":return z+=W(),void(T="decimalExponentSign")}if(U.isDigit(R))return z+=W(),void(T="decimalExponentInteger");throw tu(W())},decimalExponentSign:function(){if(U.isDigit(R))return z+=W(),void(T="decimalExponentInteger");throw tu(W())},decimalExponentInteger:function(){if(!U.isDigit(R))return K("numeric",$*Number(z));z+=W()},hexadecimal:function(){if(U.isHexDigit(R))return z+=W(),void(T="hexadecimalInteger");throw tu(W())},hexadecimalInteger:function(){if(!U.isHexDigit(R))return K("numeric",$*Number(z));z+=W()},string:function(){switch(R){case"\\":return W(),void(z+=function(){switch(q()){case"b":return W(),"\b";case"f":return W(),"\f";case"n":return W(),"\n";case"r":return W(),"\r";case"t":return W(),"\t";case"v":return W(),"\v";case"0":if(W(),U.isDigit(q()))throw tu(W());return"\0";case"x":return W(),function(){var u="",D=q();if(!U.isHexDigit(D))throw tu(W());if(u+=W(),D=q(),!U.isHexDigit(D))throw tu(W());return u+=W(),String.fromCodePoint(parseInt(u,16))}();case"u":return W(),Y();case"\n":case"\u2028":case"\u2029":return W(),"";case"\r":return W(),"\n"===q()&&W(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case void 0:throw tu(W())}return W()}());case'"':return H?(W(),K("string",z)):void(z+=W());case"'":return H?void(z+=W()):(W(),K("string",z));case"\n":case"\r":throw tu(W());case"\u2028":case"\u2029":!function(u){console.warn("JSON5: '"+nu(u)+"' in strings is not valid ECMAScript; consider escaping")}(R);break;case void 0:throw tu(W())}z+=W()},start:function(){switch(R){case"{":case"[":return K("punctuator",W())}T="value"},beforePropertyName:function(){switch(R){case"$":case"_":return z=W(),void(T="identifierName");case"\\":return W(),void(T="identifierNameStartEscape");case"}":return K("punctuator",W());case'"':case"'":return H='"'===W(),void(T="string")}if(U.isIdStartChar(R))return z+=W(),void(T="identifierName");throw tu(W())},afterPropertyName:function(){if(":"===R)return K("punctuator",W());throw tu(W())},beforePropertyValue:function(){T="value"},afterPropertyValue:function(){switch(R){case",":case"}":return K("punctuator",W())}throw tu(W())},beforeArrayValue:function(){if("]"===R)return K("punctuator",W());T="value"},afterArrayValue:function(){switch(R){case",":case"]":return K("punctuator",W())}throw tu(W())},end:function(){throw tu(W())}};function K(u,D){return{type:u,value:D,line:V,column:J}}function Q(u){for(var D=0,e=u;D0;){var e=q();if(!U.isHexDigit(e))throw tu(W());u+=W()}return String.fromCodePoint(parseInt(u,16))}var uu={start:function(){if("eof"===M.type)throw ru();Du()},beforePropertyName:function(){switch(M.type){case"identifier":case"string":return k=M.value,void(I="afterPropertyName");case"punctuator":return void eu();case"eof":throw ru()}},afterPropertyName:function(){if("eof"===M.type)throw ru();I="beforePropertyValue"},beforePropertyValue:function(){if("eof"===M.type)throw ru();Du()},beforeArrayValue:function(){if("eof"===M.type)throw ru();"punctuator"!==M.type||"]"!==M.value?Du():eu()},afterPropertyValue:function(){if("eof"===M.type)throw ru();switch(M.value){case",":return void(I="beforePropertyName");case"}":eu()}},afterArrayValue:function(){if("eof"===M.type)throw ru();switch(M.value){case",":return void(I="beforeArrayValue");case"]":eu()}},end:function(){}};function Du(){var u;switch(M.type){case"punctuator":switch(M.value){case"{":u={};break;case"[":u=[]}break;case"null":case"boolean":case"numeric":case"string":u=M.value}if(void 0===L)L=u;else{var D=O[O.length-1];Array.isArray(D)?D.push(u):D[k]=u}if(null!==u&&"object"==typeof u)O.push(u),I=Array.isArray(u)?"beforeArrayValue":"beforePropertyName";else{var e=O[O.length-1];I=null==e?"end":Array.isArray(e)?"afterArrayValue":"afterPropertyValue"}}function eu(){O.pop();var u=O[O.length-1];I=null==u?"end":Array.isArray(u)?"afterArrayValue":"afterPropertyValue"}function tu(u){return Cu(void 0===u?"JSON5: invalid end of input at "+V+":"+J:"JSON5: invalid character '"+nu(u)+"' at "+V+":"+J)}function ru(){return Cu("JSON5: invalid end of input at "+V+":"+J)}function Fu(){return Cu("JSON5: invalid identifier character at "+V+":"+(J-=5))}function nu(u){var D={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(D[u])return D[u];if(u<" "){var e=u.charCodeAt(0).toString(16);return"\\x"+("00"+e).substring(e.length)}return u}function Cu(u){var D=new SyntaxError(u);return D.lineNumber=V,D.columnNumber=J,D}return{parse:function(u,D){_=String(u),I="start",O=[],j=0,V=1,J=0,M=void 0,k=void 0,L=void 0;do{M=Z(),uu[I]()}while("eof"!==M.type);return"function"==typeof D?function u(D,e,t){var r=D[e];if(null!=r&&"object"==typeof r)for(var F in r){var n=u(r,F,t);void 0===n?delete r[F]:r[F]=n}return t.call(D,e,r)}({"":L},"",D):L},stringify:function(u,D,e){var t,r,F,n=[],C="",A="";if(null==D||"object"!=typeof D||Array.isArray(D)||(e=D.space,F=D.quote,D=D.replacer),"function"==typeof D)r=D;else if(Array.isArray(D)){t=[];for(var i=0,E=D;i0&&(e=Math.min(10,Math.floor(e)),A=" ".substr(0,e)):"string"==typeof e&&(A=e.substr(0,10)),c("",{"":u});function c(u,D){var e=D[u];switch(null!=e&&("function"==typeof e.toJSON5?e=e.toJSON5(u):"function"==typeof e.toJSON&&(e=e.toJSON(u))),r&&(e=r.call(D,u,e)),e instanceof Number?e=Number(e):e instanceof String?e=String(e):e instanceof Boolean&&(e=e.valueOf()),e){case null:return"null";case!0:return"true";case!1:return"false"}return"string"==typeof e?B(e):"number"==typeof e?String(e):"object"==typeof e?Array.isArray(e)?function(u){if(n.indexOf(u)>=0)throw TypeError("Converting circular structure to JSON5");n.push(u);var D=C;C+=A;for(var e,t=[],r=0;r=0)throw TypeError("Converting circular structure to JSON5");n.push(u);var D=C;C+=A;for(var e,r,F=t||Object.keys(u),i=[],E=0,o=F;E"string"==typeof u&&unicode.Space_Separator.test(u),isIdStartChar:u=>"string"==typeof u&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||"$"===u||"_"===u||unicode.ID_Start.test(u)),isIdContinueChar:u=>"string"==typeof u&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||u>="0"&&u<="9"||"$"===u||"_"===u||"‌"===u||"‍"===u||unicode.ID_Continue.test(u)),isDigit:u=>"string"==typeof u&&/[0-9]/.test(u),isHexDigit:u=>"string"==typeof u&&/[0-9A-Fa-f]/.test(u)};let source,parseState,stack,pos,line,column,token,key,root;var parse=function(u,D){source=String(u),parseState="start",stack=[],pos=0,line=1,column=0,token=void 0,key=void 0,root=void 0;do{token=lex(),parseStates[parseState]()}while("eof"!==token.type);return"function"==typeof D?internalize({"":root},"",D):root};function internalize(u,D,e){const r=u[D];if(null!=r&&"object"==typeof r)for(const u in r){const D=internalize(r,u,e);void 0===D?delete r[u]:r[u]=D}return e.call(u,D,r)}let lexState,buffer,doubleQuote,sign,c;function lex(){for(lexState="default",buffer="",doubleQuote=!1,sign=1;;){c=peek();const u=lexStates[lexState]();if(u)return u}}function peek(){if(source[pos])return String.fromCodePoint(source.codePointAt(pos))}function read(){const u=peek();return"\n"===u?(line++,column=0):u?column+=u.length:column++,u&&(pos+=u.length),u}const lexStates={default(){switch(c){case"\t":case"\v":case"\f":case" ":case" ":case"\ufeff":case"\n":case"\r":case"\u2028":case"\u2029":return void read();case"/":return read(),void(lexState="comment");case void 0:return read(),newToken("eof")}if(!util.isSpaceSeparator(c))return lexStates[parseState]();read()},comment(){switch(c){case"*":return read(),void(lexState="multiLineComment");case"/":return read(),void(lexState="singleLineComment")}throw invalidChar(read())},multiLineComment(){switch(c){case"*":return read(),void(lexState="multiLineCommentAsterisk");case void 0:throw invalidChar(read())}read()},multiLineCommentAsterisk(){switch(c){case"*":return void read();case"/":return read(),void(lexState="default");case void 0:throw invalidChar(read())}read(),lexState="multiLineComment"},singleLineComment(){switch(c){case"\n":case"\r":case"\u2028":case"\u2029":return read(),void(lexState="default");case void 0:return read(),newToken("eof")}read()},value(){switch(c){case"{":case"[":return newToken("punctuator",read());case"n":return read(),literal("ull"),newToken("null",null);case"t":return read(),literal("rue"),newToken("boolean",!0);case"f":return read(),literal("alse"),newToken("boolean",!1);case"-":case"+":return"-"===read()&&(sign=-1),void(lexState="sign");case".":return buffer=read(),void(lexState="decimalPointLeading");case"0":return buffer=read(),void(lexState="zero");case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return buffer=read(),void(lexState="decimalInteger");case"I":return read(),literal("nfinity"),newToken("numeric",1/0);case"N":return read(),literal("aN"),newToken("numeric",NaN);case'"':case"'":return doubleQuote='"'===read(),buffer="",void(lexState="string")}throw invalidChar(read())},identifierNameStartEscape(){if("u"!==c)throw invalidChar(read());read();const u=unicodeEscape();switch(u){case"$":case"_":break;default:if(!util.isIdStartChar(u))throw invalidIdentifier()}buffer+=u,lexState="identifierName"},identifierName(){switch(c){case"$":case"_":case"‌":case"‍":return void(buffer+=read());case"\\":return read(),void(lexState="identifierNameEscape")}if(!util.isIdContinueChar(c))return newToken("identifier",buffer);buffer+=read()},identifierNameEscape(){if("u"!==c)throw invalidChar(read());read();const u=unicodeEscape();switch(u){case"$":case"_":case"‌":case"‍":break;default:if(!util.isIdContinueChar(u))throw invalidIdentifier()}buffer+=u,lexState="identifierName"},sign(){switch(c){case".":return buffer=read(),void(lexState="decimalPointLeading");case"0":return buffer=read(),void(lexState="zero");case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return buffer=read(),void(lexState="decimalInteger");case"I":return read(),literal("nfinity"),newToken("numeric",sign*(1/0));case"N":return read(),literal("aN"),newToken("numeric",NaN)}throw invalidChar(read())},zero(){switch(c){case".":return buffer+=read(),void(lexState="decimalPoint");case"e":case"E":return buffer+=read(),void(lexState="decimalExponent");case"x":case"X":return buffer+=read(),void(lexState="hexadecimal")}return newToken("numeric",0*sign)},decimalInteger(){switch(c){case".":return buffer+=read(),void(lexState="decimalPoint");case"e":case"E":return buffer+=read(),void(lexState="decimalExponent")}if(!util.isDigit(c))return newToken("numeric",sign*Number(buffer));buffer+=read()},decimalPointLeading(){if(util.isDigit(c))return buffer+=read(),void(lexState="decimalFraction");throw invalidChar(read())},decimalPoint(){switch(c){case"e":case"E":return buffer+=read(),void(lexState="decimalExponent")}return util.isDigit(c)?(buffer+=read(),void(lexState="decimalFraction")):newToken("numeric",sign*Number(buffer))},decimalFraction(){switch(c){case"e":case"E":return buffer+=read(),void(lexState="decimalExponent")}if(!util.isDigit(c))return newToken("numeric",sign*Number(buffer));buffer+=read()},decimalExponent(){switch(c){case"+":case"-":return buffer+=read(),void(lexState="decimalExponentSign")}if(util.isDigit(c))return buffer+=read(),void(lexState="decimalExponentInteger");throw invalidChar(read())},decimalExponentSign(){if(util.isDigit(c))return buffer+=read(),void(lexState="decimalExponentInteger");throw invalidChar(read())},decimalExponentInteger(){if(!util.isDigit(c))return newToken("numeric",sign*Number(buffer));buffer+=read()},hexadecimal(){if(util.isHexDigit(c))return buffer+=read(),void(lexState="hexadecimalInteger");throw invalidChar(read())},hexadecimalInteger(){if(!util.isHexDigit(c))return newToken("numeric",sign*Number(buffer));buffer+=read()},string(){switch(c){case"\\":return read(),void(buffer+=escape());case'"':return doubleQuote?(read(),newToken("string",buffer)):void(buffer+=read());case"'":return doubleQuote?void(buffer+=read()):(read(),newToken("string",buffer));case"\n":case"\r":throw invalidChar(read());case"\u2028":case"\u2029":separatorChar(c);break;case void 0:throw invalidChar(read())}buffer+=read()},start(){switch(c){case"{":case"[":return newToken("punctuator",read())}lexState="value"},beforePropertyName(){switch(c){case"$":case"_":return buffer=read(),void(lexState="identifierName");case"\\":return read(),void(lexState="identifierNameStartEscape");case"}":return newToken("punctuator",read());case'"':case"'":return doubleQuote='"'===read(),void(lexState="string")}if(util.isIdStartChar(c))return buffer+=read(),void(lexState="identifierName");throw invalidChar(read())},afterPropertyName(){if(":"===c)return newToken("punctuator",read());throw invalidChar(read())},beforePropertyValue(){lexState="value"},afterPropertyValue(){switch(c){case",":case"}":return newToken("punctuator",read())}throw invalidChar(read())},beforeArrayValue(){if("]"===c)return newToken("punctuator",read());lexState="value"},afterArrayValue(){switch(c){case",":case"]":return newToken("punctuator",read())}throw invalidChar(read())},end(){throw invalidChar(read())}};function newToken(u,D){return{type:u,value:D,line:line,column:column}}function literal(u){for(const D of u){if(peek()!==D)throw invalidChar(read());read()}}function escape(){switch(peek()){case"b":return read(),"\b";case"f":return read(),"\f";case"n":return read(),"\n";case"r":return read(),"\r";case"t":return read(),"\t";case"v":return read(),"\v";case"0":if(read(),util.isDigit(peek()))throw invalidChar(read());return"\0";case"x":return read(),hexEscape();case"u":return read(),unicodeEscape();case"\n":case"\u2028":case"\u2029":return read(),"";case"\r":return read(),"\n"===peek()&&read(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case void 0:throw invalidChar(read())}return read()}function hexEscape(){let u="",D=peek();if(!util.isHexDigit(D))throw invalidChar(read());if(u+=read(),D=peek(),!util.isHexDigit(D))throw invalidChar(read());return u+=read(),String.fromCodePoint(parseInt(u,16))}function unicodeEscape(){let u="",D=4;for(;D-- >0;){const D=peek();if(!util.isHexDigit(D))throw invalidChar(read());u+=read()}return String.fromCodePoint(parseInt(u,16))}const parseStates={start(){if("eof"===token.type)throw invalidEOF();push()},beforePropertyName(){switch(token.type){case"identifier":case"string":return key=token.value,void(parseState="afterPropertyName");case"punctuator":return void pop();case"eof":throw invalidEOF()}},afterPropertyName(){if("eof"===token.type)throw invalidEOF();parseState="beforePropertyValue"},beforePropertyValue(){if("eof"===token.type)throw invalidEOF();push()},beforeArrayValue(){if("eof"===token.type)throw invalidEOF();"punctuator"!==token.type||"]"!==token.value?push():pop()},afterPropertyValue(){if("eof"===token.type)throw invalidEOF();switch(token.value){case",":return void(parseState="beforePropertyName");case"}":pop()}},afterArrayValue(){if("eof"===token.type)throw invalidEOF();switch(token.value){case",":return void(parseState="beforeArrayValue");case"]":pop()}},end(){}};function push(){let u;switch(token.type){case"punctuator":switch(token.value){case"{":u={};break;case"[":u=[]}break;case"null":case"boolean":case"numeric":case"string":u=token.value}if(void 0===root)root=u;else{const D=stack[stack.length-1];Array.isArray(D)?D.push(u):D[key]=u}if(null!==u&&"object"==typeof u)stack.push(u),parseState=Array.isArray(u)?"beforeArrayValue":"beforePropertyName";else{const u=stack[stack.length-1];parseState=null==u?"end":Array.isArray(u)?"afterArrayValue":"afterPropertyValue"}}function pop(){stack.pop();const u=stack[stack.length-1];parseState=null==u?"end":Array.isArray(u)?"afterArrayValue":"afterPropertyValue"}function invalidChar(u){return syntaxError(void 0===u?`JSON5: invalid end of input at ${line}:${column}`:`JSON5: invalid character '${formatChar(u)}' at ${line}:${column}`)}function invalidEOF(){return syntaxError(`JSON5: invalid end of input at ${line}:${column}`)}function invalidIdentifier(){return syntaxError(`JSON5: invalid identifier character at ${line}:${column-=5}`)}function separatorChar(u){console.warn(`JSON5: '${formatChar(u)}' in strings is not valid ECMAScript; consider escaping`)}function formatChar(u){const D={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(D[u])return D[u];if(u<" "){const D=u.charCodeAt(0).toString(16);return"\\x"+("00"+D).substring(D.length)}return u}function syntaxError(u){const D=new SyntaxError(u);return D.lineNumber=line,D.columnNumber=column,D}var stringify=function(u,D,e){const r=[];let t,F,C,a="",A="";if(null==D||"object"!=typeof D||Array.isArray(D)||(e=D.space,C=D.quote,D=D.replacer),"function"==typeof D)F=D;else if(Array.isArray(D)){t=[];for(const u of D){let D;"string"==typeof u?D=u:("number"==typeof u||u instanceof String||u instanceof Number)&&(D=String(u)),void 0!==D&&t.indexOf(D)<0&&t.push(D)}}return e instanceof Number?e=Number(e):e instanceof String&&(e=String(e)),"number"==typeof e?e>0&&(e=Math.min(10,Math.floor(e)),A=" ".substr(0,e)):"string"==typeof e&&(A=e.substr(0,10)),E("",{"":u});function E(u,D){let e=D[u];switch(null!=e&&("function"==typeof e.toJSON5?e=e.toJSON5(u):"function"==typeof e.toJSON&&(e=e.toJSON(u))),F&&(e=F.call(D,u,e)),e instanceof Number?e=Number(e):e instanceof String?e=String(e):e instanceof Boolean&&(e=e.valueOf()),e){case null:return"null";case!0:return"true";case!1:return"false"}return"string"==typeof e?n(e):"number"==typeof e?String(e):"object"==typeof e?Array.isArray(e)?function(u){if(r.indexOf(u)>=0)throw TypeError("Converting circular structure to JSON5");r.push(u);let D=a;a+=A;let e,t=[];for(let D=0;D=0)throw TypeError("Converting circular structure to JSON5");r.push(u);let D=a;a+=A;let e,F=t||Object.keys(u),C=[];for(const D of F){const e=E(D,u);if(void 0!==e){let u=i(D)+":";""!==A&&(u+=" "),u+=e,C.push(u)}}if(0===C.length)e="{}";else{let u;if(""===A)u=C.join(","),e="{"+u+"}";else{let r=",\n"+a;u=C.join(r),e="{\n"+a+u+",\n"+D+"}"}}return r.pop(),a=D,e}(e):void 0}function n(u){const D={"'":.1,'"':.2},e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let r="";for(let t=0;tD[u]= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c === '$') || (c === '_') || + unicode.ID_Start.test(c) + ) + }, + + isIdContinueChar (c) { + return typeof c === 'string' && ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c >= '0' && c <= '9') || + (c === '$') || (c === '_') || + (c === '\u200C') || (c === '\u200D') || + unicode.ID_Continue.test(c) + ) + }, + + isDigit (c) { + return typeof c === 'string' && /[0-9]/.test(c) + }, + + isHexDigit (c) { + return typeof c === 'string' && /[0-9A-Fa-f]/.test(c) + }, +}; + +let source; +let parseState; +let stack; +let pos; +let line; +let column; +let token; +let key; +let root; + +var parse = function parse (text, reviver) { + source = String(text); + parseState = 'start'; + stack = []; + pos = 0; + line = 1; + column = 0; + token = undefined; + key = undefined; + root = undefined; + + do { + token = lex(); + + // This code is unreachable. + // if (!parseStates[parseState]) { + // throw invalidParseState() + // } + + parseStates[parseState](); + } while (token.type !== 'eof') + + if (typeof reviver === 'function') { + return internalize({'': root}, '', reviver) + } + + return root +}; + +function internalize (holder, name, reviver) { + const value = holder[name]; + if (value != null && typeof value === 'object') { + for (const key in value) { + const replacement = internalize(value, key, reviver); + if (replacement === undefined) { + delete value[key]; + } else { + value[key] = replacement; + } + } + } + + return reviver.call(holder, name, value) +} + +let lexState; +let buffer; +let doubleQuote; +let sign; +let c; + +function lex () { + lexState = 'default'; + buffer = ''; + doubleQuote = false; + sign = 1; + + for (;;) { + c = peek(); + + // This code is unreachable. + // if (!lexStates[lexState]) { + // throw invalidLexState(lexState) + // } + + const token = lexStates[lexState](); + if (token) { + return token + } + } +} + +function peek () { + if (source[pos]) { + return String.fromCodePoint(source.codePointAt(pos)) + } +} + +function read () { + const c = peek(); + + if (c === '\n') { + line++; + column = 0; + } else if (c) { + column += c.length; + } else { + column++; + } + + if (c) { + pos += c.length; + } + + return c +} + +const lexStates = { + default () { + switch (c) { + case '\t': + case '\v': + case '\f': + case ' ': + case '\u00A0': + case '\uFEFF': + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read(); + return + + case '/': + read(); + lexState = 'comment'; + return + + case undefined: + read(); + return newToken('eof') + } + + if (util.isSpaceSeparator(c)) { + read(); + return + } + + // This code is unreachable. + // if (!lexStates[parseState]) { + // throw invalidLexState(parseState) + // } + + return lexStates[parseState]() + }, + + comment () { + switch (c) { + case '*': + read(); + lexState = 'multiLineComment'; + return + + case '/': + read(); + lexState = 'singleLineComment'; + return + } + + throw invalidChar(read()) + }, + + multiLineComment () { + switch (c) { + case '*': + read(); + lexState = 'multiLineCommentAsterisk'; + return + + case undefined: + throw invalidChar(read()) + } + + read(); + }, + + multiLineCommentAsterisk () { + switch (c) { + case '*': + read(); + return + + case '/': + read(); + lexState = 'default'; + return + + case undefined: + throw invalidChar(read()) + } + + read(); + lexState = 'multiLineComment'; + }, + + singleLineComment () { + switch (c) { + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read(); + lexState = 'default'; + return + + case undefined: + read(); + return newToken('eof') + } + + read(); + }, + + value () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + case 'n': + read(); + literal('ull'); + return newToken('null', null) + + case 't': + read(); + literal('rue'); + return newToken('boolean', true) + + case 'f': + read(); + literal('alse'); + return newToken('boolean', false) + + case '-': + case '+': + if (read() === '-') { + sign = -1; + } + + lexState = 'sign'; + return + + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return + + case '0': + buffer = read(); + lexState = 'zero'; + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return + + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', Infinity) + + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN) + + case '"': + case "'": + doubleQuote = (read() === '"'); + buffer = ''; + lexState = 'string'; + return + } + + throw invalidChar(read()) + }, + + identifierNameStartEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read(); + const u = unicodeEscape(); + switch (u) { + case '$': + case '_': + break + + default: + if (!util.isIdStartChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u; + lexState = 'identifierName'; + }, + + identifierName () { + switch (c) { + case '$': + case '_': + case '\u200C': + case '\u200D': + buffer += read(); + return + + case '\\': + read(); + lexState = 'identifierNameEscape'; + return + } + + if (util.isIdContinueChar(c)) { + buffer += read(); + return + } + + return newToken('identifier', buffer) + }, + + identifierNameEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read(); + const u = unicodeEscape(); + switch (u) { + case '$': + case '_': + case '\u200C': + case '\u200D': + break + + default: + if (!util.isIdContinueChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u; + lexState = 'identifierName'; + }, + + sign () { + switch (c) { + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return + + case '0': + buffer = read(); + lexState = 'zero'; + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return + + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', sign * Infinity) + + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN) + } + + throw invalidChar(read()) + }, + + zero () { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return + + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + + case 'x': + case 'X': + buffer += read(); + lexState = 'hexadecimal'; + return + } + + return newToken('numeric', sign * 0) + }, + + decimalInteger () { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return + + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalPointLeading () { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return + } + + throw invalidChar(read()) + }, + + decimalPoint () { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalFraction () { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalExponent () { + switch (c) { + case '+': + case '-': + buffer += read(); + lexState = 'decimalExponentSign'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return + } + + throw invalidChar(read()) + }, + + decimalExponentSign () { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return + } + + throw invalidChar(read()) + }, + + decimalExponentInteger () { + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + hexadecimal () { + if (util.isHexDigit(c)) { + buffer += read(); + lexState = 'hexadecimalInteger'; + return + } + + throw invalidChar(read()) + }, + + hexadecimalInteger () { + if (util.isHexDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + string () { + switch (c) { + case '\\': + read(); + buffer += escape(); + return + + case '"': + if (doubleQuote) { + read(); + return newToken('string', buffer) + } + + buffer += read(); + return + + case "'": + if (!doubleQuote) { + read(); + return newToken('string', buffer) + } + + buffer += read(); + return + + case '\n': + case '\r': + throw invalidChar(read()) + + case '\u2028': + case '\u2029': + separatorChar(c); + break + + case undefined: + throw invalidChar(read()) + } + + buffer += read(); + }, + + start () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + // This code is unreachable since the default lexState handles eof. + // case undefined: + // return newToken('eof') + } + + lexState = 'value'; + }, + + beforePropertyName () { + switch (c) { + case '$': + case '_': + buffer = read(); + lexState = 'identifierName'; + return + + case '\\': + read(); + lexState = 'identifierNameStartEscape'; + return + + case '}': + return newToken('punctuator', read()) + + case '"': + case "'": + doubleQuote = (read() === '"'); + lexState = 'string'; + return + } + + if (util.isIdStartChar(c)) { + buffer += read(); + lexState = 'identifierName'; + return + } + + throw invalidChar(read()) + }, + + afterPropertyName () { + if (c === ':') { + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforePropertyValue () { + lexState = 'value'; + }, + + afterPropertyValue () { + switch (c) { + case ',': + case '}': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforeArrayValue () { + if (c === ']') { + return newToken('punctuator', read()) + } + + lexState = 'value'; + }, + + afterArrayValue () { + switch (c) { + case ',': + case ']': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + end () { + // This code is unreachable since it's handled by the default lexState. + // if (c === undefined) { + // read() + // return newToken('eof') + // } + + throw invalidChar(read()) + }, +}; + +function newToken (type, value) { + return { + type, + value, + line, + column, + } +} + +function literal (s) { + for (const c of s) { + const p = peek(); + + if (p !== c) { + throw invalidChar(read()) + } + + read(); + } +} + +function escape () { + const c = peek(); + switch (c) { + case 'b': + read(); + return '\b' + + case 'f': + read(); + return '\f' + + case 'n': + read(); + return '\n' + + case 'r': + read(); + return '\r' + + case 't': + read(); + return '\t' + + case 'v': + read(); + return '\v' + + case '0': + read(); + if (util.isDigit(peek())) { + throw invalidChar(read()) + } + + return '\0' + + case 'x': + read(); + return hexEscape() + + case 'u': + read(); + return unicodeEscape() + + case '\n': + case '\u2028': + case '\u2029': + read(); + return '' + + case '\r': + read(); + if (peek() === '\n') { + read(); + } + + return '' + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + throw invalidChar(read()) + + case undefined: + throw invalidChar(read()) + } + + return read() +} + +function hexEscape () { + let buffer = ''; + let c = peek(); + + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + + c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + + return String.fromCodePoint(parseInt(buffer, 16)) +} + +function unicodeEscape () { + let buffer = ''; + let count = 4; + + while (count-- > 0) { + const c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + } + + return String.fromCodePoint(parseInt(buffer, 16)) +} + +const parseStates = { + start () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push(); + }, + + beforePropertyName () { + switch (token.type) { + case 'identifier': + case 'string': + key = token.value; + parseState = 'afterPropertyName'; + return + + case 'punctuator': + // This code is unreachable since it's handled by the lexState. + // if (token.value !== '}') { + // throw invalidToken() + // } + + pop(); + return + + case 'eof': + throw invalidEOF() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterPropertyName () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator' || token.value !== ':') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + parseState = 'beforePropertyValue'; + }, + + beforePropertyValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push(); + }, + + beforeArrayValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + if (token.type === 'punctuator' && token.value === ']') { + pop(); + return + } + + push(); + }, + + afterPropertyValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforePropertyName'; + return + + case '}': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterArrayValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforeArrayValue'; + return + + case ']': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + end () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'eof') { + // throw invalidToken() + // } + }, +}; + +function push () { + let value; + + switch (token.type) { + case 'punctuator': + switch (token.value) { + case '{': + value = {}; + break + + case '[': + value = []; + break + } + + break + + case 'null': + case 'boolean': + case 'numeric': + case 'string': + value = token.value; + break + + // This code is unreachable. + // default: + // throw invalidToken() + } + + if (root === undefined) { + root = value; + } else { + const parent = stack[stack.length - 1]; + if (Array.isArray(parent)) { + parent.push(value); + } else { + parent[key] = value; + } + } + + if (value !== null && typeof value === 'object') { + stack.push(value); + + if (Array.isArray(value)) { + parseState = 'beforeArrayValue'; + } else { + parseState = 'beforePropertyName'; + } + } else { + const current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } + } +} + +function pop () { + stack.pop(); + + const current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } +} + +// This code is unreachable. +// function invalidParseState () { +// return new Error(`JSON5: invalid parse state '${parseState}'`) +// } + +// This code is unreachable. +// function invalidLexState (state) { +// return new Error(`JSON5: invalid lex state '${state}'`) +// } + +function invalidChar (c) { + if (c === undefined) { + return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) + } + + return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) +} + +function invalidEOF () { + return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) +} + +// This code is unreachable. +// function invalidToken () { +// if (token.type === 'eof') { +// return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) +// } + +// const c = String.fromCodePoint(token.value.codePointAt(0)) +// return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) +// } + +function invalidIdentifier () { + column -= 5; + return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`) +} + +function separatorChar (c) { + console.warn(`JSON5: '${formatChar(c)}' in strings is not valid ECMAScript; consider escaping`); +} + +function formatChar (c) { + const replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + }; + + if (replacements[c]) { + return replacements[c] + } + + if (c < ' ') { + const hexString = c.charCodeAt(0).toString(16); + return '\\x' + ('00' + hexString).substring(hexString.length) + } + + return c +} + +function syntaxError (message) { + const err = new SyntaxError(message); + err.lineNumber = line; + err.columnNumber = column; + return err +} + +var stringify = function stringify (value, replacer, space) { + const stack = []; + let indent = ''; + let propertyList; + let replacerFunc; + let gap = ''; + let quote; + + if ( + replacer != null && + typeof replacer === 'object' && + !Array.isArray(replacer) + ) { + space = replacer.space; + quote = replacer.quote; + replacer = replacer.replacer; + } + + if (typeof replacer === 'function') { + replacerFunc = replacer; + } else if (Array.isArray(replacer)) { + propertyList = []; + for (const v of replacer) { + let item; + + if (typeof v === 'string') { + item = v; + } else if ( + typeof v === 'number' || + v instanceof String || + v instanceof Number + ) { + item = String(v); + } + + if (item !== undefined && propertyList.indexOf(item) < 0) { + propertyList.push(item); + } + } + } + + if (space instanceof Number) { + space = Number(space); + } else if (space instanceof String) { + space = String(space); + } + + if (typeof space === 'number') { + if (space > 0) { + space = Math.min(10, Math.floor(space)); + gap = ' '.substr(0, space); + } + } else if (typeof space === 'string') { + gap = space.substr(0, 10); + } + + return serializeProperty('', {'': value}) + + function serializeProperty (key, holder) { + let value = holder[key]; + if (value != null) { + if (typeof value.toJSON5 === 'function') { + value = value.toJSON5(key); + } else if (typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + } + + if (replacerFunc) { + value = replacerFunc.call(holder, key, value); + } + + if (value instanceof Number) { + value = Number(value); + } else if (value instanceof String) { + value = String(value); + } else if (value instanceof Boolean) { + value = value.valueOf(); + } + + switch (value) { + case null: return 'null' + case true: return 'true' + case false: return 'false' + } + + if (typeof value === 'string') { + return quoteString(value, false) + } + + if (typeof value === 'number') { + return String(value) + } + + if (typeof value === 'object') { + return Array.isArray(value) ? serializeArray(value) : serializeObject(value) + } + + return undefined + } + + function quoteString (value) { + const quotes = { + "'": 0.1, + '"': 0.2, + }; + + const replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + }; + + let product = ''; + + for (let i = 0; i < value.length; i++) { + const c = value[i]; + switch (c) { + case "'": + case '"': + quotes[c]++; + product += c; + continue + + case '\0': + if (util.isDigit(value[i + 1])) { + product += '\\x00'; + continue + } + } + + if (replacements[c]) { + product += replacements[c]; + continue + } + + if (c < ' ') { + let hexString = c.charCodeAt(0).toString(16); + product += '\\x' + ('00' + hexString).substring(hexString.length); + continue + } + + product += c; + } + + const quoteChar = quote || Object.keys(quotes).reduce((a, b) => (quotes[a] < quotes[b]) ? a : b); + + product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]); + + return quoteChar + product + quoteChar + } + + function serializeObject (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value); + + let stepback = indent; + indent = indent + gap; + + let keys = propertyList || Object.keys(value); + let partial = []; + for (const key of keys) { + const propertyString = serializeProperty(key, value); + if (propertyString !== undefined) { + let member = serializeKey(key) + ':'; + if (gap !== '') { + member += ' '; + } + member += propertyString; + partial.push(member); + } + } + + let final; + if (partial.length === 0) { + final = '{}'; + } else { + let properties; + if (gap === '') { + properties = partial.join(','); + final = '{' + properties + '}'; + } else { + let separator = ',\n' + indent; + properties = partial.join(separator); + final = '{\n' + indent + properties + ',\n' + stepback + '}'; + } + } + + stack.pop(); + indent = stepback; + return final + } + + function serializeKey (key) { + if (key.length === 0) { + return quoteString(key, true) + } + + const firstChar = String.fromCodePoint(key.codePointAt(0)); + if (!util.isIdStartChar(firstChar)) { + return quoteString(key, true) + } + + for (let i = firstChar.length; i < key.length; i++) { + if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { + return quoteString(key, true) + } + } + + return key + } + + function serializeArray (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value); + + let stepback = indent; + indent = indent + gap; + + let partial = []; + for (let i = 0; i < value.length; i++) { + const propertyString = serializeProperty(String(i), value); + partial.push((propertyString !== undefined) ? propertyString : 'null'); + } + + let final; + if (partial.length === 0) { + final = '[]'; + } else { + if (gap === '') { + let properties = partial.join(','); + final = '[' + properties + ']'; + } else { + let separator = ',\n' + indent; + let properties = partial.join(separator); + final = '[\n' + indent + properties + ',\n' + stepback + ']'; + } + } + + stack.pop(); + indent = stepback; + return final + } +}; + +const JSON5 = { + parse, + stringify, +}; + +var lib = JSON5; + +export default lib; diff --git a/node_modules/json5/lib/cli.js b/node_modules/json5/lib/cli.js new file mode 100644 index 00000000..de852f15 --- /dev/null +++ b/node_modules/json5/lib/cli.js @@ -0,0 +1,112 @@ +#!/usr/bin/env node + +const fs = require('fs') +const path = require('path') +const minimist = require('minimist') +const pkg = require('../package.json') +const JSON5 = require('./') + +const argv = minimist(process.argv.slice(2), { + alias: { + 'convert': 'c', + 'space': 's', + 'validate': 'v', + 'out-file': 'o', + 'version': 'V', + 'help': 'h', + }, + boolean: [ + 'convert', + 'validate', + 'version', + 'help', + ], + string: [ + 'space', + 'out-file', + ], +}) + +if (argv.version) { + version() +} else if (argv.help) { + usage() +} else { + const inFilename = argv._[0] + + let readStream + if (inFilename) { + readStream = fs.createReadStream(inFilename) + } else { + readStream = process.stdin + } + + let json5 = '' + readStream.on('data', data => { + json5 += data + }) + + readStream.on('end', () => { + let space + if (argv.space === 't' || argv.space === 'tab') { + space = '\t' + } else { + space = Number(argv.space) + } + + let value + try { + value = JSON5.parse(json5) + if (!argv.validate) { + const json = JSON.stringify(value, null, space) + + let writeStream + + // --convert is for backward compatibility with v0.5.1. If + // specified with and not --out-file, then a file with + // the same name but with a .json extension will be written. + if (argv.convert && inFilename && !argv.o) { + const parsedFilename = path.parse(inFilename) + const outFilename = path.format( + Object.assign( + parsedFilename, + {base: path.basename(parsedFilename.base, parsedFilename.ext) + '.json'} + ) + ) + + writeStream = fs.createWriteStream(outFilename) + } else if (argv.o) { + writeStream = fs.createWriteStream(argv.o) + } else { + writeStream = process.stdout + } + + writeStream.write(json) + } + } catch (err) { + console.error(err.message) + process.exit(1) + } + }) +} + +function version () { + console.log(pkg.version) +} + +function usage () { + console.log( + ` + Usage: json5 [options] + + If is not provided, then STDIN is used. + + Options: + + -s, --space The number of spaces to indent or 't' for tabs + -o, --out-file [file] Output to the specified file, otherwise STDOUT + -v, --validate Validate JSON5 but do not output JSON + -V, --version Output the version number + -h, --help Output usage information` + ) +} diff --git a/node_modules/json5/lib/index.js b/node_modules/json5/lib/index.js new file mode 100644 index 00000000..36796388 --- /dev/null +++ b/node_modules/json5/lib/index.js @@ -0,0 +1,9 @@ +const parse = require('./parse') +const stringify = require('./stringify') + +const JSON5 = { + parse, + stringify, +} + +module.exports = JSON5 diff --git a/node_modules/json5/lib/parse.js b/node_modules/json5/lib/parse.js new file mode 100644 index 00000000..c01646fc --- /dev/null +++ b/node_modules/json5/lib/parse.js @@ -0,0 +1,1087 @@ +const util = require('./util') + +let source +let parseState +let stack +let pos +let line +let column +let token +let key +let root + +module.exports = function parse (text, reviver) { + source = String(text) + parseState = 'start' + stack = [] + pos = 0 + line = 1 + column = 0 + token = undefined + key = undefined + root = undefined + + do { + token = lex() + + // This code is unreachable. + // if (!parseStates[parseState]) { + // throw invalidParseState() + // } + + parseStates[parseState]() + } while (token.type !== 'eof') + + if (typeof reviver === 'function') { + return internalize({'': root}, '', reviver) + } + + return root +} + +function internalize (holder, name, reviver) { + const value = holder[name] + if (value != null && typeof value === 'object') { + for (const key in value) { + const replacement = internalize(value, key, reviver) + if (replacement === undefined) { + delete value[key] + } else { + value[key] = replacement + } + } + } + + return reviver.call(holder, name, value) +} + +let lexState +let buffer +let doubleQuote +let sign +let c + +function lex () { + lexState = 'default' + buffer = '' + doubleQuote = false + sign = 1 + + for (;;) { + c = peek() + + // This code is unreachable. + // if (!lexStates[lexState]) { + // throw invalidLexState(lexState) + // } + + const token = lexStates[lexState]() + if (token) { + return token + } + } +} + +function peek () { + if (source[pos]) { + return String.fromCodePoint(source.codePointAt(pos)) + } +} + +function read () { + const c = peek() + + if (c === '\n') { + line++ + column = 0 + } else if (c) { + column += c.length + } else { + column++ + } + + if (c) { + pos += c.length + } + + return c +} + +const lexStates = { + default () { + switch (c) { + case '\t': + case '\v': + case '\f': + case ' ': + case '\u00A0': + case '\uFEFF': + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read() + return + + case '/': + read() + lexState = 'comment' + return + + case undefined: + read() + return newToken('eof') + } + + if (util.isSpaceSeparator(c)) { + read() + return + } + + // This code is unreachable. + // if (!lexStates[parseState]) { + // throw invalidLexState(parseState) + // } + + return lexStates[parseState]() + }, + + comment () { + switch (c) { + case '*': + read() + lexState = 'multiLineComment' + return + + case '/': + read() + lexState = 'singleLineComment' + return + } + + throw invalidChar(read()) + }, + + multiLineComment () { + switch (c) { + case '*': + read() + lexState = 'multiLineCommentAsterisk' + return + + case undefined: + throw invalidChar(read()) + } + + read() + }, + + multiLineCommentAsterisk () { + switch (c) { + case '*': + read() + return + + case '/': + read() + lexState = 'default' + return + + case undefined: + throw invalidChar(read()) + } + + read() + lexState = 'multiLineComment' + }, + + singleLineComment () { + switch (c) { + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read() + lexState = 'default' + return + + case undefined: + read() + return newToken('eof') + } + + read() + }, + + value () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + case 'n': + read() + literal('ull') + return newToken('null', null) + + case 't': + read() + literal('rue') + return newToken('boolean', true) + + case 'f': + read() + literal('alse') + return newToken('boolean', false) + + case '-': + case '+': + if (read() === '-') { + sign = -1 + } + + lexState = 'sign' + return + + case '.': + buffer = read() + lexState = 'decimalPointLeading' + return + + case '0': + buffer = read() + lexState = 'zero' + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read() + lexState = 'decimalInteger' + return + + case 'I': + read() + literal('nfinity') + return newToken('numeric', Infinity) + + case 'N': + read() + literal('aN') + return newToken('numeric', NaN) + + case '"': + case "'": + doubleQuote = (read() === '"') + buffer = '' + lexState = 'string' + return + } + + throw invalidChar(read()) + }, + + identifierNameStartEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read() + const u = unicodeEscape() + switch (u) { + case '$': + case '_': + break + + default: + if (!util.isIdStartChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u + lexState = 'identifierName' + }, + + identifierName () { + switch (c) { + case '$': + case '_': + case '\u200C': + case '\u200D': + buffer += read() + return + + case '\\': + read() + lexState = 'identifierNameEscape' + return + } + + if (util.isIdContinueChar(c)) { + buffer += read() + return + } + + return newToken('identifier', buffer) + }, + + identifierNameEscape () { + if (c !== 'u') { + throw invalidChar(read()) + } + + read() + const u = unicodeEscape() + switch (u) { + case '$': + case '_': + case '\u200C': + case '\u200D': + break + + default: + if (!util.isIdContinueChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u + lexState = 'identifierName' + }, + + sign () { + switch (c) { + case '.': + buffer = read() + lexState = 'decimalPointLeading' + return + + case '0': + buffer = read() + lexState = 'zero' + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read() + lexState = 'decimalInteger' + return + + case 'I': + read() + literal('nfinity') + return newToken('numeric', sign * Infinity) + + case 'N': + read() + literal('aN') + return newToken('numeric', NaN) + } + + throw invalidChar(read()) + }, + + zero () { + switch (c) { + case '.': + buffer += read() + lexState = 'decimalPoint' + return + + case 'e': + case 'E': + buffer += read() + lexState = 'decimalExponent' + return + + case 'x': + case 'X': + buffer += read() + lexState = 'hexadecimal' + return + } + + return newToken('numeric', sign * 0) + }, + + decimalInteger () { + switch (c) { + case '.': + buffer += read() + lexState = 'decimalPoint' + return + + case 'e': + case 'E': + buffer += read() + lexState = 'decimalExponent' + return + } + + if (util.isDigit(c)) { + buffer += read() + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalPointLeading () { + if (util.isDigit(c)) { + buffer += read() + lexState = 'decimalFraction' + return + } + + throw invalidChar(read()) + }, + + decimalPoint () { + switch (c) { + case 'e': + case 'E': + buffer += read() + lexState = 'decimalExponent' + return + } + + if (util.isDigit(c)) { + buffer += read() + lexState = 'decimalFraction' + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalFraction () { + switch (c) { + case 'e': + case 'E': + buffer += read() + lexState = 'decimalExponent' + return + } + + if (util.isDigit(c)) { + buffer += read() + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalExponent () { + switch (c) { + case '+': + case '-': + buffer += read() + lexState = 'decimalExponentSign' + return + } + + if (util.isDigit(c)) { + buffer += read() + lexState = 'decimalExponentInteger' + return + } + + throw invalidChar(read()) + }, + + decimalExponentSign () { + if (util.isDigit(c)) { + buffer += read() + lexState = 'decimalExponentInteger' + return + } + + throw invalidChar(read()) + }, + + decimalExponentInteger () { + if (util.isDigit(c)) { + buffer += read() + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + hexadecimal () { + if (util.isHexDigit(c)) { + buffer += read() + lexState = 'hexadecimalInteger' + return + } + + throw invalidChar(read()) + }, + + hexadecimalInteger () { + if (util.isHexDigit(c)) { + buffer += read() + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + string () { + switch (c) { + case '\\': + read() + buffer += escape() + return + + case '"': + if (doubleQuote) { + read() + return newToken('string', buffer) + } + + buffer += read() + return + + case "'": + if (!doubleQuote) { + read() + return newToken('string', buffer) + } + + buffer += read() + return + + case '\n': + case '\r': + throw invalidChar(read()) + + case '\u2028': + case '\u2029': + separatorChar(c) + break + + case undefined: + throw invalidChar(read()) + } + + buffer += read() + }, + + start () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + // This code is unreachable since the default lexState handles eof. + // case undefined: + // return newToken('eof') + } + + lexState = 'value' + }, + + beforePropertyName () { + switch (c) { + case '$': + case '_': + buffer = read() + lexState = 'identifierName' + return + + case '\\': + read() + lexState = 'identifierNameStartEscape' + return + + case '}': + return newToken('punctuator', read()) + + case '"': + case "'": + doubleQuote = (read() === '"') + lexState = 'string' + return + } + + if (util.isIdStartChar(c)) { + buffer += read() + lexState = 'identifierName' + return + } + + throw invalidChar(read()) + }, + + afterPropertyName () { + if (c === ':') { + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforePropertyValue () { + lexState = 'value' + }, + + afterPropertyValue () { + switch (c) { + case ',': + case '}': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforeArrayValue () { + if (c === ']') { + return newToken('punctuator', read()) + } + + lexState = 'value' + }, + + afterArrayValue () { + switch (c) { + case ',': + case ']': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + end () { + // This code is unreachable since it's handled by the default lexState. + // if (c === undefined) { + // read() + // return newToken('eof') + // } + + throw invalidChar(read()) + }, +} + +function newToken (type, value) { + return { + type, + value, + line, + column, + } +} + +function literal (s) { + for (const c of s) { + const p = peek() + + if (p !== c) { + throw invalidChar(read()) + } + + read() + } +} + +function escape () { + const c = peek() + switch (c) { + case 'b': + read() + return '\b' + + case 'f': + read() + return '\f' + + case 'n': + read() + return '\n' + + case 'r': + read() + return '\r' + + case 't': + read() + return '\t' + + case 'v': + read() + return '\v' + + case '0': + read() + if (util.isDigit(peek())) { + throw invalidChar(read()) + } + + return '\0' + + case 'x': + read() + return hexEscape() + + case 'u': + read() + return unicodeEscape() + + case '\n': + case '\u2028': + case '\u2029': + read() + return '' + + case '\r': + read() + if (peek() === '\n') { + read() + } + + return '' + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + throw invalidChar(read()) + + case undefined: + throw invalidChar(read()) + } + + return read() +} + +function hexEscape () { + let buffer = '' + let c = peek() + + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read() + + c = peek() + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read() + + return String.fromCodePoint(parseInt(buffer, 16)) +} + +function unicodeEscape () { + let buffer = '' + let count = 4 + + while (count-- > 0) { + const c = peek() + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read() + } + + return String.fromCodePoint(parseInt(buffer, 16)) +} + +const parseStates = { + start () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push() + }, + + beforePropertyName () { + switch (token.type) { + case 'identifier': + case 'string': + key = token.value + parseState = 'afterPropertyName' + return + + case 'punctuator': + // This code is unreachable since it's handled by the lexState. + // if (token.value !== '}') { + // throw invalidToken() + // } + + pop() + return + + case 'eof': + throw invalidEOF() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterPropertyName () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator' || token.value !== ':') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + parseState = 'beforePropertyValue' + }, + + beforePropertyValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push() + }, + + beforeArrayValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + if (token.type === 'punctuator' && token.value === ']') { + pop() + return + } + + push() + }, + + afterPropertyValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforePropertyName' + return + + case '}': + pop() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterArrayValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforeArrayValue' + return + + case ']': + pop() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + end () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'eof') { + // throw invalidToken() + // } + }, +} + +function push () { + let value + + switch (token.type) { + case 'punctuator': + switch (token.value) { + case '{': + value = {} + break + + case '[': + value = [] + break + } + + break + + case 'null': + case 'boolean': + case 'numeric': + case 'string': + value = token.value + break + + // This code is unreachable. + // default: + // throw invalidToken() + } + + if (root === undefined) { + root = value + } else { + const parent = stack[stack.length - 1] + if (Array.isArray(parent)) { + parent.push(value) + } else { + parent[key] = value + } + } + + if (value !== null && typeof value === 'object') { + stack.push(value) + + if (Array.isArray(value)) { + parseState = 'beforeArrayValue' + } else { + parseState = 'beforePropertyName' + } + } else { + const current = stack[stack.length - 1] + if (current == null) { + parseState = 'end' + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue' + } else { + parseState = 'afterPropertyValue' + } + } +} + +function pop () { + stack.pop() + + const current = stack[stack.length - 1] + if (current == null) { + parseState = 'end' + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue' + } else { + parseState = 'afterPropertyValue' + } +} + +// This code is unreachable. +// function invalidParseState () { +// return new Error(`JSON5: invalid parse state '${parseState}'`) +// } + +// This code is unreachable. +// function invalidLexState (state) { +// return new Error(`JSON5: invalid lex state '${state}'`) +// } + +function invalidChar (c) { + if (c === undefined) { + return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) + } + + return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) +} + +function invalidEOF () { + return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) +} + +// This code is unreachable. +// function invalidToken () { +// if (token.type === 'eof') { +// return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) +// } + +// const c = String.fromCodePoint(token.value.codePointAt(0)) +// return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) +// } + +function invalidIdentifier () { + column -= 5 + return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`) +} + +function separatorChar (c) { + console.warn(`JSON5: '${formatChar(c)}' in strings is not valid ECMAScript; consider escaping`) +} + +function formatChar (c) { + const replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + } + + if (replacements[c]) { + return replacements[c] + } + + if (c < ' ') { + const hexString = c.charCodeAt(0).toString(16) + return '\\x' + ('00' + hexString).substring(hexString.length) + } + + return c +} + +function syntaxError (message) { + const err = new SyntaxError(message) + err.lineNumber = line + err.columnNumber = column + return err +} diff --git a/node_modules/json5/lib/register.js b/node_modules/json5/lib/register.js new file mode 100644 index 00000000..935cdbaf --- /dev/null +++ b/node_modules/json5/lib/register.js @@ -0,0 +1,13 @@ +const fs = require('fs') +const JSON5 = require('./') + +// eslint-disable-next-line node/no-deprecated-api +require.extensions['.json5'] = function (module, filename) { + const content = fs.readFileSync(filename, 'utf8') + try { + module.exports = JSON5.parse(content) + } catch (err) { + err.message = filename + ': ' + err.message + throw err + } +} diff --git a/node_modules/json5/lib/require.js b/node_modules/json5/lib/require.js new file mode 100644 index 00000000..3aa29bee --- /dev/null +++ b/node_modules/json5/lib/require.js @@ -0,0 +1,4 @@ +// This file is for backward compatibility with v0.5.1. +require('./register') + +console.warn("'json5/require' is deprecated. Please use 'json5/register' instead.") diff --git a/node_modules/json5/lib/stringify.js b/node_modules/json5/lib/stringify.js new file mode 100644 index 00000000..7cb3b0e1 --- /dev/null +++ b/node_modules/json5/lib/stringify.js @@ -0,0 +1,261 @@ +const util = require('./util') + +module.exports = function stringify (value, replacer, space) { + const stack = [] + let indent = '' + let propertyList + let replacerFunc + let gap = '' + let quote + + if ( + replacer != null && + typeof replacer === 'object' && + !Array.isArray(replacer) + ) { + space = replacer.space + quote = replacer.quote + replacer = replacer.replacer + } + + if (typeof replacer === 'function') { + replacerFunc = replacer + } else if (Array.isArray(replacer)) { + propertyList = [] + for (const v of replacer) { + let item + + if (typeof v === 'string') { + item = v + } else if ( + typeof v === 'number' || + v instanceof String || + v instanceof Number + ) { + item = String(v) + } + + if (item !== undefined && propertyList.indexOf(item) < 0) { + propertyList.push(item) + } + } + } + + if (space instanceof Number) { + space = Number(space) + } else if (space instanceof String) { + space = String(space) + } + + if (typeof space === 'number') { + if (space > 0) { + space = Math.min(10, Math.floor(space)) + gap = ' '.substr(0, space) + } + } else if (typeof space === 'string') { + gap = space.substr(0, 10) + } + + return serializeProperty('', {'': value}) + + function serializeProperty (key, holder) { + let value = holder[key] + if (value != null) { + if (typeof value.toJSON5 === 'function') { + value = value.toJSON5(key) + } else if (typeof value.toJSON === 'function') { + value = value.toJSON(key) + } + } + + if (replacerFunc) { + value = replacerFunc.call(holder, key, value) + } + + if (value instanceof Number) { + value = Number(value) + } else if (value instanceof String) { + value = String(value) + } else if (value instanceof Boolean) { + value = value.valueOf() + } + + switch (value) { + case null: return 'null' + case true: return 'true' + case false: return 'false' + } + + if (typeof value === 'string') { + return quoteString(value, false) + } + + if (typeof value === 'number') { + return String(value) + } + + if (typeof value === 'object') { + return Array.isArray(value) ? serializeArray(value) : serializeObject(value) + } + + return undefined + } + + function quoteString (value) { + const quotes = { + "'": 0.1, + '"': 0.2, + } + + const replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + } + + let product = '' + + for (let i = 0; i < value.length; i++) { + const c = value[i] + switch (c) { + case "'": + case '"': + quotes[c]++ + product += c + continue + + case '\0': + if (util.isDigit(value[i + 1])) { + product += '\\x00' + continue + } + } + + if (replacements[c]) { + product += replacements[c] + continue + } + + if (c < ' ') { + let hexString = c.charCodeAt(0).toString(16) + product += '\\x' + ('00' + hexString).substring(hexString.length) + continue + } + + product += c + } + + const quoteChar = quote || Object.keys(quotes).reduce((a, b) => (quotes[a] < quotes[b]) ? a : b) + + product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]) + + return quoteChar + product + quoteChar + } + + function serializeObject (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value) + + let stepback = indent + indent = indent + gap + + let keys = propertyList || Object.keys(value) + let partial = [] + for (const key of keys) { + const propertyString = serializeProperty(key, value) + if (propertyString !== undefined) { + let member = serializeKey(key) + ':' + if (gap !== '') { + member += ' ' + } + member += propertyString + partial.push(member) + } + } + + let final + if (partial.length === 0) { + final = '{}' + } else { + let properties + if (gap === '') { + properties = partial.join(',') + final = '{' + properties + '}' + } else { + let separator = ',\n' + indent + properties = partial.join(separator) + final = '{\n' + indent + properties + ',\n' + stepback + '}' + } + } + + stack.pop() + indent = stepback + return final + } + + function serializeKey (key) { + if (key.length === 0) { + return quoteString(key, true) + } + + const firstChar = String.fromCodePoint(key.codePointAt(0)) + if (!util.isIdStartChar(firstChar)) { + return quoteString(key, true) + } + + for (let i = firstChar.length; i < key.length; i++) { + if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { + return quoteString(key, true) + } + } + + return key + } + + function serializeArray (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value) + + let stepback = indent + indent = indent + gap + + let partial = [] + for (let i = 0; i < value.length; i++) { + const propertyString = serializeProperty(String(i), value) + partial.push((propertyString !== undefined) ? propertyString : 'null') + } + + let final + if (partial.length === 0) { + final = '[]' + } else { + if (gap === '') { + let properties = partial.join(',') + final = '[' + properties + ']' + } else { + let separator = ',\n' + indent + let properties = partial.join(separator) + final = '[\n' + indent + properties + ',\n' + stepback + ']' + } + } + + stack.pop() + indent = stepback + return final + } +} diff --git a/node_modules/json5/lib/unicode.js b/node_modules/json5/lib/unicode.js new file mode 100644 index 00000000..215ccd84 --- /dev/null +++ b/node_modules/json5/lib/unicode.js @@ -0,0 +1,4 @@ +// This is a generated file. Do not edit. +module.exports.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/ +module.exports.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/ +module.exports.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/ diff --git a/node_modules/json5/lib/util.js b/node_modules/json5/lib/util.js new file mode 100644 index 00000000..40bfe2fa --- /dev/null +++ b/node_modules/json5/lib/util.js @@ -0,0 +1,35 @@ +const unicode = require('../lib/unicode') + +module.exports = { + isSpaceSeparator (c) { + return typeof c === 'string' && unicode.Space_Separator.test(c) + }, + + isIdStartChar (c) { + return typeof c === 'string' && ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c === '$') || (c === '_') || + unicode.ID_Start.test(c) + ) + }, + + isIdContinueChar (c) { + return typeof c === 'string' && ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c >= '0' && c <= '9') || + (c === '$') || (c === '_') || + (c === '\u200C') || (c === '\u200D') || + unicode.ID_Continue.test(c) + ) + }, + + isDigit (c) { + return typeof c === 'string' && /[0-9]/.test(c) + }, + + isHexDigit (c) { + return typeof c === 'string' && /[0-9A-Fa-f]/.test(c) + }, +} diff --git a/node_modules/json5/package.json b/node_modules/json5/package.json new file mode 100644 index 00000000..6dc51eb3 --- /dev/null +++ b/node_modules/json5/package.json @@ -0,0 +1,110 @@ +{ + "_from": "json5@^2.1.1", + "_id": "json5@2.1.3", + "_inBundle": false, + "_integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "_location": "/json5", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "json5@^2.1.1", + "name": "json5", + "escapedName": "json5", + "rawSpec": "^2.1.1", + "saveSpec": null, + "fetchSpec": "^2.1.1" + }, + "_requiredBy": [ + "/config" + ], + "_resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "_shasum": "c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43", + "_spec": "json5@^2.1.1", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\config", + "author": { + "name": "Aseem Kishore", + "email": "aseem.kishore@gmail.com" + }, + "bin": { + "json5": "lib/cli.js" + }, + "browser": "dist/index.js", + "bugs": { + "url": "https://github.com/json5/json5/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Max Nanasy", + "email": "max.nanasy@gmail.com" + }, + { + "name": "Andrew Eisenberg", + "email": "andrew@eisenberg.as" + }, + { + "name": "Jordan Tucker", + "email": "jordanbtucker@gmail.com" + } + ], + "dependencies": { + "minimist": "^1.2.5" + }, + "deprecated": false, + "description": "JSON for humans.", + "devDependencies": { + "core-js": "^2.6.5", + "eslint": "^5.15.3", + "eslint-config-standard": "^12.0.0", + "eslint-plugin-import": "^2.16.0", + "eslint-plugin-node": "^8.0.1", + "eslint-plugin-promise": "^4.0.1", + "eslint-plugin-standard": "^4.0.0", + "regenerate": "^1.4.0", + "rollup": "^0.64.1", + "rollup-plugin-buble": "^0.19.6", + "rollup-plugin-commonjs": "^9.2.1", + "rollup-plugin-node-resolve": "^3.4.0", + "rollup-plugin-terser": "^1.0.1", + "sinon": "^6.3.5", + "tap": "^12.6.0", + "unicode-10.0.0": "^0.7.5" + }, + "engines": { + "node": ">=6" + }, + "files": [ + "lib/", + "dist/" + ], + "homepage": "http://json5.org/", + "keywords": [ + "json", + "json5", + "es5", + "es2015", + "ecmascript" + ], + "license": "MIT", + "main": "lib/index.js", + "module": "dist/index.mjs", + "name": "json5", + "repository": { + "type": "git", + "url": "git+https://github.com/json5/json5.git" + }, + "scripts": { + "build": "rollup -c", + "build-package": "node build/package.js", + "build-unicode": "node build/unicode.js", + "coverage": "tap --coverage-report html test", + "lint": "eslint --fix .", + "prepublishOnly": "npm run production", + "preversion": "npm run production", + "production": "npm run lint && npm test && npm run build", + "test": "tap -Rspec --100 test", + "version": "npm run build-package && git add package.json5" + }, + "version": "2.1.3" +} diff --git a/node_modules/lodash.get/LICENSE b/node_modules/lodash.get/LICENSE new file mode 100644 index 00000000..e0c69d56 --- /dev/null +++ b/node_modules/lodash.get/LICENSE @@ -0,0 +1,47 @@ +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. diff --git a/node_modules/lodash.get/README.md b/node_modules/lodash.get/README.md new file mode 100644 index 00000000..90796144 --- /dev/null +++ b/node_modules/lodash.get/README.md @@ -0,0 +1,18 @@ +# lodash.get v4.4.2 + +The [lodash](https://lodash.com/) method `_.get` exported as a [Node.js](https://nodejs.org/) module. + +## Installation + +Using npm: +```bash +$ {sudo -H} npm i -g npm +$ npm i --save lodash.get +``` + +In Node.js: +```js +var get = require('lodash.get'); +``` + +See the [documentation](https://lodash.com/docs#get) or [package source](https://github.com/lodash/lodash/blob/4.4.2-npm-packages/lodash.get) for more details. diff --git a/node_modules/lodash.get/index.js b/node_modules/lodash.get/index.js new file mode 100644 index 00000000..0eaadec5 --- /dev/null +++ b/node_modules/lodash.get/index.js @@ -0,0 +1,931 @@ +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as the `TypeError` message for "Functions" methods. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** `Object#toString` result references. */ +var funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + symbolTag = '[object Symbol]'; + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + reLeadingDot = /^\./, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Checks if `value` is a host object in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. + */ +function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) {} + } + return result; +} + +/** Used for built-in method references. */ +var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** Built-in value references. */ +var Symbol = root.Symbol, + splice = arrayProto.splice; + +/* Built-in method references that are verified to be native. */ +var Map = getNative(root, 'Map'), + nativeCreate = getNative(Object, 'create'); + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; +} + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + return this.has(key) && delete this.__data__[key]; +} + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); +} + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; +} + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + return true; +} + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + return getMapData(this, key)['delete'](key); +} + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + getMapData(this, key).set(key, value); + return this; +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = isKey(path, object) ? [path] : castPath(path); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value) { + return isArray(value) ? value : stringToPath(value); +} + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoize(function(string) { + string = toString(string); + + var result = []; + if (reLeadingDot.test(string)) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, string) { + result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to process. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result); + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Assign cache to `_.memoize`. +memoize.Cache = MapCache; + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); +} + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {string} Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +module.exports = get; diff --git a/node_modules/lodash.get/package.json b/node_modules/lodash.get/package.json new file mode 100644 index 00000000..3af3263f --- /dev/null +++ b/node_modules/lodash.get/package.json @@ -0,0 +1,70 @@ +{ + "_from": "lodash.get@^4.1.2", + "_id": "lodash.get@4.4.2", + "_inBundle": false, + "_integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "_location": "/lodash.get", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "lodash.get@^4.1.2", + "name": "lodash.get", + "escapedName": "lodash.get", + "rawSpec": "^4.1.2", + "saveSpec": null, + "fetchSpec": "^4.1.2" + }, + "_requiredBy": [ + "/minecraft-protocol", + "/protodef" + ], + "_resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "_shasum": "2d177f652fa31e939b4438d5341499dfa3825e99", + "_spec": "lodash.get@^4.1.2", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\minecraft-protocol", + "author": { + "name": "John-David Dalton", + "email": "john.david.dalton@gmail.com", + "url": "http://allyoucanleet.com/" + }, + "bugs": { + "url": "https://github.com/lodash/lodash/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "John-David Dalton", + "email": "john.david.dalton@gmail.com", + "url": "http://allyoucanleet.com/" + }, + { + "name": "Blaine Bublitz", + "email": "blaine.bublitz@gmail.com", + "url": "https://github.com/phated" + }, + { + "name": "Mathias Bynens", + "email": "mathias@qiwi.be", + "url": "https://mathiasbynens.be/" + } + ], + "deprecated": false, + "description": "The lodash method `_.get` exported as a module.", + "homepage": "https://lodash.com/", + "icon": "https://lodash.com/icon.svg", + "keywords": [ + "lodash-modularized", + "get" + ], + "license": "MIT", + "name": "lodash.get", + "repository": { + "type": "git", + "url": "git+https://github.com/lodash/lodash.git" + }, + "scripts": { + "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" + }, + "version": "4.4.2" +} diff --git a/node_modules/lodash.merge/LICENSE b/node_modules/lodash.merge/LICENSE new file mode 100644 index 00000000..77c42f14 --- /dev/null +++ b/node_modules/lodash.merge/LICENSE @@ -0,0 +1,47 @@ +Copyright OpenJS Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. diff --git a/node_modules/lodash.merge/README.md b/node_modules/lodash.merge/README.md new file mode 100644 index 00000000..91b75386 --- /dev/null +++ b/node_modules/lodash.merge/README.md @@ -0,0 +1,18 @@ +# lodash.merge v4.6.2 + +The [Lodash](https://lodash.com/) method `_.merge` exported as a [Node.js](https://nodejs.org/) module. + +## Installation + +Using npm: +```bash +$ {sudo -H} npm i -g npm +$ npm i --save lodash.merge +``` + +In Node.js: +```js +var merge = require('lodash.merge'); +``` + +See the [documentation](https://lodash.com/docs#merge) or [package source](https://github.com/lodash/lodash/blob/4.6.2-npm-packages/lodash.merge) for more details. diff --git a/node_modules/lodash.merge/index.js b/node_modules/lodash.merge/index.js new file mode 100644 index 00000000..8e75d955 --- /dev/null +++ b/node_modules/lodash.merge/index.js @@ -0,0 +1,1977 @@ +/** + * Lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used to detect hot functions by number of calls within a span of milliseconds. */ +var HOT_COUNT = 800, + HOT_SPAN = 16; + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + asyncTag = '[object AsyncFunction]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + nullTag = '[object Null]', + objectTag = '[object Object]', + proxyTag = '[object Proxy]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + undefinedTag = '[object Undefined]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = +typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = +typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = +typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = +typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag] = typedArrayTags[arrayTag] = +typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = +typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = +typedArrayTags[errorTag] = typedArrayTags[funcTag] = +typedArrayTags[mapTag] = typedArrayTags[numberTag] = +typedArrayTags[objectTag] = typedArrayTags[regexpTag] = +typedArrayTags[setTag] = typedArrayTags[stringTag] = +typedArrayTags[weakMapTag] = false; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} +}()); + +/* Node.js helper references. */ +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + +/** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ +function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); +} + +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +/** Used for built-in method references. */ +var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** Used to infer the `Object` constructor. */ +var objectCtorString = funcToString.call(Object); + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined, + Symbol = root.Symbol, + Uint8Array = root.Uint8Array, + allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, + getPrototype = overArg(Object.getPrototypeOf, Object), + objectCreate = Object.create, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + splice = arrayProto.splice, + symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} +}()); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, + nativeMax = Math.max, + nativeNow = Date.now; + +/* Built-in method references that are verified to be native. */ +var Map = getNative(root, 'Map'), + nativeCreate = getNative(Object, 'create'); + +/** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ +var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; +}()); + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; +} + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; +} + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); +} + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; + this.size = 0; +} + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; +} + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; +} + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; +} + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ +function stackClear() { + this.__data__ = new ListCache; + this.size = 0; +} + +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; +} + +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ +function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; +} + +// Add methods to `Stack`. +Stack.prototype.clear = stackClear; +Stack.prototype['delete'] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; +} + +/** + * This function is like `assignValue` except that it doesn't assign + * `undefined` values. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignMergeValue(object, key, value) { + if ((value !== undefined && !eq(object[key], value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } +} + +/** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } +} + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +/** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } +} + +/** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ +var baseFor = createBaseFor(); + +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); +} + +/** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ +function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; +} + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; +} + +/** + * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), + result = []; + + for (var key in object) { + if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; +} + +/** + * The base implementation of `_.merge` without support for multiple sources. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {number} srcIndex The index of `source`. + * @param {Function} [customizer] The function to customize merged values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ +function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + baseFor(source, function(srcValue, key) { + stack || (stack = new Stack); + if (isObject(srcValue)) { + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); + } + else { + var newValue = customizer + ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) + : undefined; + + if (newValue === undefined) { + newValue = srcValue; + } + assignMergeValue(object, key, newValue); + } + }, keysIn); +} + +/** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {number} srcIndex The index of `source`. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize assigned values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ +function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = safeGet(object, key), + srcValue = safeGet(source, key), + stacked = stack.get(srcValue); + + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer + ? customizer(objValue, srcValue, (key + ''), object, source, stack) + : undefined; + + var isCommon = newValue === undefined; + + if (isCommon) { + var isArr = isArray(srcValue), + isBuff = !isArr && isBuffer(srcValue), + isTyped = !isArr && !isBuff && isTypedArray(srcValue); + + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray(objValue)) { + newValue = objValue; + } + else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } + else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } + else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray(srcValue, true); + } + else { + newValue = []; + } + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + newValue = objValue; + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } + else if (!isObject(objValue) || isFunction(objValue)) { + newValue = initCloneObject(srcValue); + } + } + else { + isCommon = false; + } + } + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack['delete'](srcValue); + } + assignMergeValue(object, key, newValue); +} + +/** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ +function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); +} + +/** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ +var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); +}; + +/** + * Creates a clone of `buffer`. + * + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. + */ +function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + + buffer.copy(result); + return result; +} + +/** + * Creates a clone of `arrayBuffer`. + * + * @private + * @param {ArrayBuffer} arrayBuffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ +function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array(result).set(new Uint8Array(arrayBuffer)); + return result; +} + +/** + * Creates a clone of `typedArray`. + * + * @private + * @param {Object} typedArray The typed array to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned typed array. + */ +function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); +} + +/** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ +function copyArray(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; +} + +/** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ +function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; +} + +/** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ +function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); +} + +/** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; +} + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +/** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ +function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; +} + +/** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneObject(object) { + return (typeof object.constructor == 'function' && !isPrototype(object)) + ? baseCreate(getPrototype(object)) + : {}; +} + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); +} + +/** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ +function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; +} + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +/** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; +} + +/** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ +function objectToString(value) { + return nativeObjectToString.call(value); +} + +/** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ +function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; +} + +/** + * Gets the value at `key`, unless `key` is "__proto__" or "constructor". + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function safeGet(object, key) { + if (key === 'constructor' && typeof object[key] === 'function') { + return; + } + + if (key == '__proto__') { + return; + } + + return object[key]; +} + +/** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ +var setToString = shortOut(baseSetToString); + +/** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ +function shortOut(func) { + var count = 0, + lastCalled = 0; + + return function() { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined, arguments); + }; +} + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); +}; + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +/** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ +var isBuffer = nativeIsBuffer || stubFalse; + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; +} + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return value != null && typeof value == 'object'; +} + +/** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ +function isPlainObject(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return typeof Ctor == 'function' && Ctor instanceof Ctor && + funcToString.call(Ctor) == objectCtorString; +} + +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + +/** + * Converts `value` to a plain object flattening inherited enumerable string + * keyed properties of `value` to own properties of the plain object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {Object} Returns the converted plain object. + * @example + * + * function Foo() { + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.assign({ 'a': 1 }, new Foo); + * // => { 'a': 1, 'b': 2 } + * + * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); + * // => { 'a': 1, 'b': 2, 'c': 3 } + */ +function toPlainObject(value) { + return copyObject(value, keysIn(value)); +} + +/** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ +function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); +} + +/** + * This method is like `_.assign` except that it recursively merges own and + * inherited enumerable string keyed properties of source objects into the + * destination object. Source properties that resolve to `undefined` are + * skipped if a destination value exists. Array and plain object properties + * are merged recursively. Other objects and value types are overridden by + * assignment. Source objects are applied from left to right. Subsequent + * sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @example + * + * var object = { + * 'a': [{ 'b': 2 }, { 'd': 4 }] + * }; + * + * var other = { + * 'a': [{ 'c': 3 }, { 'e': 5 }] + * }; + * + * _.merge(object, other); + * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } + */ +var merge = createAssigner(function(object, source, srcIndex) { + baseMerge(object, source, srcIndex); +}); + +/** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new constant function. + * @example + * + * var objects = _.times(2, _.constant({ 'a': 1 })); + * + * console.log(objects); + * // => [{ 'a': 1 }, { 'a': 1 }] + * + * console.log(objects[0] === objects[1]); + * // => true + */ +function constant(value) { + return function() { + return value; + }; +} + +/** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ +function identity(value) { + return value; +} + +/** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ +function stubFalse() { + return false; +} + +module.exports = merge; diff --git a/node_modules/lodash.merge/package.json b/node_modules/lodash.merge/package.json new file mode 100644 index 00000000..fe4ee3fc --- /dev/null +++ b/node_modules/lodash.merge/package.json @@ -0,0 +1,61 @@ +{ + "_from": "lodash.merge@^4.3.0", + "_id": "lodash.merge@4.6.2", + "_inBundle": false, + "_integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "_location": "/lodash.merge", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "lodash.merge@^4.3.0", + "name": "lodash.merge", + "escapedName": "lodash.merge", + "rawSpec": "^4.3.0", + "saveSpec": null, + "fetchSpec": "^4.3.0" + }, + "_requiredBy": [ + "/minecraft-protocol" + ], + "_resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "_shasum": "558aa53b43b661e1925a0afdfa36a9a1085fe57a", + "_spec": "lodash.merge@^4.3.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\minecraft-protocol", + "author": { + "name": "John-David Dalton", + "email": "john.david.dalton@gmail.com" + }, + "bugs": { + "url": "https://github.com/lodash/lodash/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "John-David Dalton", + "email": "john.david.dalton@gmail.com" + }, + { + "name": "Mathias Bynens", + "email": "mathias@qiwi.be" + } + ], + "deprecated": false, + "description": "The Lodash method `_.merge` exported as a module.", + "homepage": "https://lodash.com/", + "icon": "https://lodash.com/icon.svg", + "keywords": [ + "lodash-modularized", + "merge" + ], + "license": "MIT", + "name": "lodash.merge", + "repository": { + "type": "git", + "url": "git+https://github.com/lodash/lodash.git" + }, + "scripts": { + "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" + }, + "version": "4.6.2" +} diff --git a/node_modules/lodash.reduce/LICENSE b/node_modules/lodash.reduce/LICENSE new file mode 100644 index 00000000..e0c69d56 --- /dev/null +++ b/node_modules/lodash.reduce/LICENSE @@ -0,0 +1,47 @@ +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. diff --git a/node_modules/lodash.reduce/README.md b/node_modules/lodash.reduce/README.md new file mode 100644 index 00000000..1a969a28 --- /dev/null +++ b/node_modules/lodash.reduce/README.md @@ -0,0 +1,18 @@ +# lodash.reduce v4.6.0 + +The [lodash](https://lodash.com/) method `_.reduce` exported as a [Node.js](https://nodejs.org/) module. + +## Installation + +Using npm: +```bash +$ {sudo -H} npm i -g npm +$ npm i --save lodash.reduce +``` + +In Node.js: +```js +var reduce = require('lodash.reduce'); +``` + +See the [documentation](https://lodash.com/docs#reduce) or [package source](https://github.com/lodash/lodash/blob/4.6.0-npm-packages/lodash.reduce) for more details. diff --git a/node_modules/lodash.reduce/index.js b/node_modules/lodash.reduce/index.js new file mode 100644 index 00000000..52524e7f --- /dev/null +++ b/node_modules/lodash.reduce/index.js @@ -0,0 +1,2372 @@ +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** Used as the `TypeError` message for "Functions" methods. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used to compose bitmasks for comparison styles. */ +var UNORDERED_COMPARE_FLAG = 1, + PARTIAL_COMPARE_FLAG = 2; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + reLeadingDot = /^\./, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = +typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = +typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = +typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = +typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag] = typedArrayTags[arrayTag] = +typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = +typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = +typedArrayTags[errorTag] = typedArrayTags[funcTag] = +typedArrayTags[mapTag] = typedArrayTags[numberTag] = +typedArrayTags[objectTag] = typedArrayTags[regexpTag] = +typedArrayTags[setTag] = typedArrayTags[stringTag] = +typedArrayTags[weakMapTag] = false; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + return freeProcess && freeProcess.binding('util'); + } catch (e) {} +}()); + +/* Node.js helper references. */ +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + +/** + * A specialized version of `_.reduce` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the first element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ +function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, + length = array ? array.length : 0; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; +} + +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array ? array.length : 0; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} + +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; +} + +/** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ +function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; +} + +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Checks if `value` is a host object in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. + */ +function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) {} + } + return result; +} + +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} + +/** Used for built-in method references. */ +var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** Built-in value references. */ +var Symbol = root.Symbol, + Uint8Array = root.Uint8Array, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + splice = arrayProto.splice; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeKeys = overArg(Object.keys, Object); + +/* Built-in method references that are verified to be native. */ +var DataView = getNative(root, 'DataView'), + Map = getNative(root, 'Map'), + Promise = getNative(root, 'Promise'), + Set = getNative(root, 'Set'), + WeakMap = getNative(root, 'WeakMap'), + nativeCreate = getNative(Object, 'create'); + +/** Used to detect maps, sets, and weakmaps. */ +var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; +} + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + return this.has(key) && delete this.__data__[key]; +} + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); +} + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; +} + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + return true; +} + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + return getMapData(this, key)['delete'](key); +} + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + getMapData(this, key).set(key, value); + return this; +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var index = -1, + length = values ? values.length : 0; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } +} + +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; +} + +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +// Add methods to `SetCache`. +SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; +SetCache.prototype.has = setCacheHas; + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Stack(entries) { + this.__data__ = new ListCache(entries); +} + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ +function stackClear() { + this.__data__ = new ListCache; +} + +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + return this.__data__['delete'](key); +} + +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ +function stackSet(key, value) { + var cache = this.__data__; + if (cache instanceof ListCache) { + var pairs = cache.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + return this; + } + cache = this.__data__ = new MapCache(pairs); + } + cache.set(key, value); + return this; +} + +// Add methods to `Stack`. +Stack.prototype.clear = stackClear; +Stack.prototype['delete'] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + // Safari 9 makes `arguments.length` enumerable in strict mode. + var result = (isArray(value) || isArguments(value)) + ? baseTimes(value.length, String) + : []; + + var length = result.length, + skipIndexes = !!length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && (key == 'length' || isIndex(key, length)))) { + result.push(key); + } + } + return result; +} + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +/** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ +var baseEach = createBaseEach(baseForOwn); + +/** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ +var baseFor = createBaseFor(); + +/** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); +} + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = isKey(path, object) ? [path] : castPath(path); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +/** + * The base implementation of `getTag`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + return objectToString.call(value); +} + +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHasIn(object, key) { + return object != null && key in Object(object); +} + +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparisons. + * @param {boolean} [bitmask] The bitmask of comparison flags. + * The bitmask may be composed of the following flags: + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ +function baseIsEqual(value, other, customizer, bitmask, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack); +} + +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} [customizer] The function to customize comparisons. + * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = arrayTag, + othTag = arrayTag; + + if (!objIsArr) { + objTag = getTag(object); + objTag = objTag == argsTag ? objectTag : objTag; + } + if (!othIsArr) { + othTag = getTag(other); + othTag = othTag == argsTag ? objectTag : othTag; + } + var objIsObj = objTag == objectTag && !isHostObject(object), + othIsObj = othTag == objectTag && !isHostObject(other), + isSameTag = objTag == othTag; + + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, equalFunc, customizer, bitmask, stack) + : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack); + } + if (!(bitmask & PARTIAL_COMPARE_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, equalFunc, customizer, bitmask, stack); +} + +/** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack) + : result + )) { + return false; + } + } + } + return true; +} + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[objectToString.call(value)]; +} + +/** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ +function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); +} + +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; +} + +/** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; +} + +/** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG); + }; +} + +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; +} + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value) { + return isArray(value) ? value : stringToPath(value); +} + +/** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; +} + +/** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; +} + +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ +function equalArrays(array, other, equalFunc, customizer, bitmask, stack) { + var isPartial = bitmask & PARTIAL_COMPARE_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(array); + if (stacked && stack.get(other)) { + return stacked == other; + } + var index = -1, + result = true, + seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!seen.has(othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) { + return seen.add(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, customizer, bitmask, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; +} + +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & PARTIAL_COMPARE_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= UNORDERED_COMPARE_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; +} + +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalObjects(object, other, equalFunc, customizer, bitmask, stack) { + var isPartial = bitmask & PARTIAL_COMPARE_FLAG, + objProps = keys(object), + objLength = objProps.length, + othProps = keys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked && stack.get(other)) { + return stacked == other; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; +} + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +/** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ +function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +var getTag = baseGetTag; + +// Fallback for data views, maps, sets, and weak maps in IE 11, +// for data views in Edge < 14, and promises in Node.js. +if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = objectToString.call(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : undefined; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; +} + +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ +function hasPath(object, path, hasFunc) { + path = isKey(path, object) ? [path] : castPath(path); + + var result, + index = -1, + length = path.length; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result) { + return result; + } + var length = object ? object.length : 0; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); +} + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && + (typeof value == 'number' || reIsUint.test(value)) && + (value > -1 && value % 1 == 0 && value < length); +} + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ +function isStrictComparable(value) { + return value === value && !isObject(value); +} + +/** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; +} + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoize(function(string) { + string = toString(string); + + var result = []; + if (reLeadingDot.test(string)) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, string) { + result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to process. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +/** + * Reduces `collection` to a value which is the accumulated result of running + * each element in `collection` thru `iteratee`, where each successive + * invocation is supplied the return value of the previous. If `accumulator` + * is not given, the first element of `collection` is used as the initial + * value. The iteratee is invoked with four arguments: + * (accumulator, value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.reduce`, `_.reduceRight`, and `_.transform`. + * + * The guarded methods are: + * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, + * and `sortBy` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduceRight + * @example + * + * _.reduce([1, 2], function(sum, n) { + * return sum + n; + * }, 0); + * // => 3 + * + * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * return result; + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) + */ +function reduce(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduce : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach); +} + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result); + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Assign cache to `_.memoize`. +memoize.Cache = MapCache; + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +function isArguments(value) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && + (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); +} + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); +} + +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {string} Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ +function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); +} + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +/** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ +function identity(value) { + return value; +} + +/** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ +function property(path) { + return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); +} + +module.exports = reduce; diff --git a/node_modules/lodash.reduce/package.json b/node_modules/lodash.reduce/package.json new file mode 100644 index 00000000..099e1b5d --- /dev/null +++ b/node_modules/lodash.reduce/package.json @@ -0,0 +1,69 @@ +{ + "_from": "lodash.reduce@^4.6.0", + "_id": "lodash.reduce@4.6.0", + "_inBundle": false, + "_integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=", + "_location": "/lodash.reduce", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "lodash.reduce@^4.6.0", + "name": "lodash.reduce", + "escapedName": "lodash.reduce", + "rawSpec": "^4.6.0", + "saveSpec": null, + "fetchSpec": "^4.6.0" + }, + "_requiredBy": [ + "/protodef" + ], + "_resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "_shasum": "f1ab6b839299ad48f784abbf476596f03b914d3b", + "_spec": "lodash.reduce@^4.6.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\protodef", + "author": { + "name": "John-David Dalton", + "email": "john.david.dalton@gmail.com", + "url": "http://allyoucanleet.com/" + }, + "bugs": { + "url": "https://github.com/lodash/lodash/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "John-David Dalton", + "email": "john.david.dalton@gmail.com", + "url": "http://allyoucanleet.com/" + }, + { + "name": "Blaine Bublitz", + "email": "blaine.bublitz@gmail.com", + "url": "https://github.com/phated" + }, + { + "name": "Mathias Bynens", + "email": "mathias@qiwi.be", + "url": "https://mathiasbynens.be/" + } + ], + "deprecated": false, + "description": "The lodash method `_.reduce` exported as a module.", + "homepage": "https://lodash.com/", + "icon": "https://lodash.com/icon.svg", + "keywords": [ + "lodash-modularized", + "reduce" + ], + "license": "MIT", + "name": "lodash.reduce", + "repository": { + "type": "git", + "url": "git+https://github.com/lodash/lodash.git" + }, + "scripts": { + "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" + }, + "version": "4.6.0" +} diff --git a/node_modules/macaddress/.editorconfig b/node_modules/macaddress/.editorconfig new file mode 100644 index 00000000..31fdd331 --- /dev/null +++ b/node_modules/macaddress/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*] +charset = utf-8 + +[*.js] +indent_style = space +indent_size = 4 diff --git a/node_modules/macaddress/.github/workflows/npmpublish.yml b/node_modules/macaddress/.github/workflows/npmpublish.yml new file mode 100644 index 00000000..61c18387 --- /dev/null +++ b/node_modules/macaddress/.github/workflows/npmpublish.yml @@ -0,0 +1,33 @@ +# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created +# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages + +name: Node.js Package + +on: + release: + types: [created] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: 12 + - run: npm ci + - run: npm test + + publish-npm: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: 12 + registry-url: https://registry.npmjs.org/ + - run: npm ci + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} diff --git a/node_modules/macaddress/.travis.yml b/node_modules/macaddress/.travis.yml new file mode 100644 index 00000000..1709406a --- /dev/null +++ b/node_modules/macaddress/.travis.yml @@ -0,0 +1,29 @@ +language: node_js +os: + - linux + - osx + - windows +node_js: + - stable + - lts/* + - "10.5" + - "8.11" + - "6.14" + - "4.9" + - "0.12" + - "0.11" + - "0.10" + - "0.9" + - "0.8" + - iojs + - iojs-v1.0.4 +install: + - npm install +jobs: + exclude: + - os: windows + node_js: stable + - os: windows + node_js: iojs + - os: windows + node_js: iojs-v1.0.4 diff --git a/node_modules/macaddress/LICENSE b/node_modules/macaddress/LICENSE new file mode 100644 index 00000000..ffee7506 --- /dev/null +++ b/node_modules/macaddress/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Julian Fleischer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/macaddress/README.md b/node_modules/macaddress/README.md new file mode 100644 index 00000000..02e3c162 --- /dev/null +++ b/node_modules/macaddress/README.md @@ -0,0 +1,149 @@ +node-macaddress +=============== + +[![Build Status](https://travis-ci.org/scravy/node-macaddress.svg?branch=master)](https://travis-ci.org/scravy/node-macaddress) + +Retrieve MAC addresses in Linux, OS X, and Windows. + +A common misconception about MAC addresses is that every *host* had *one* MAC address, +while a host may have *multiple* MAC addresses – since *every network interface* may +have its own MAC address. + +This library allows to discover the MAC address per network interface and chooses +an appropriate interface if all you're interested in is *one* MAC address identifying +the host system (see `API + Examples` below). + +**Features:** + ++ works on `Linux`, `Mac OS X`, `Windows`, and on most `UNIX` systems. ++ `node ≥ 0.12` and `io.js` report MAC addresses in `os.networkInterfaces()` + this library utilizes this information when available. ++ also features a sane replacement for `os.networkInterfaces()` + (see `API + Examples` below). ++ works with stoneage node versions ≥ v0.8 (...) ++ Promise support + +Usage +----- + +``` +npm install --save macaddress +``` + +```JavaScript +var macaddress = require('macaddress'); +``` + +API + Examples +-------------- + + (async) .one(iface, callback) → string + (async) .one(iface) → Promise + (async) .one(callback) → string + (async) .all() → Promise<{ iface: { type: address } }> + (async) .all(callback) → { iface: { type: address } } + (sync) .networkInterfaces() → { iface: { type: address } } + +--- + +### `.one([iface], callback)` + +Retrieves the MAC address of the given `iface`. + +If `iface` is omitted, this function automatically chooses an +appropriate device (e.g. `eth0` in Linux, `en0` in OS X, etc.). + +**Without `iface` parameter:** + +```JavaScript +macaddress.one(function (err, mac) { + console.log("Mac address for this host: %s", mac); +}); +``` + +or using Promise + +```JavaScript +macaddress.one.then(function (mac) { + console.log("Mac address for this host: %s", mac); +}); +``` + +``` +→ Mac address for this host: ab:42:de:13:ef:37 +``` + +**With `iface` parameter:** + +```JavaScript +macaddress.one('awdl0', function (err, mac) { + console.log("Mac address for awdl0: %s", mac); +}); +``` +or using Promise + +```JavaScript +macaddress.one('awdl0').then(function (mac) { + console.log("Mac address for awdl0: %s", mac); +}); +``` + +``` +→ Mac address for awdl0: ab:cd:ef:34:12:56 +``` + +--- + +### `.all(callback)` + +Retrieves the MAC addresses for all non-internal interfaces. + +```JavaScript +macaddress.all(function (err, all) { + console.log(JSON.stringify(all, null, 2)); +}); +``` +or using Promise + +```JavaScript +macaddress.all().then(function (all) { + console.log(JSON.stringify(all, null, 2)); +}); +``` + +```JavaScript +{ + "en0": { + "ipv6": "fe80::cae0:ebff:fe14:1da9", + "ipv4": "192.168.178.20", + "mac": "ab:42:de:13:ef:37" + }, + "awdl0": { + "ipv6": "fe80::58b9:daff:fea9:23a9", + "mac": "ab:cd:ef:34:12:56" + } +} +``` + +--- + +### `.networkInterfaces()` + +A useful replacement of `os.networkInterfaces()`. Reports only non-internal interfaces. + +```JavaScript +console.log(JSON.stringify(macaddress.networkInterfaces(), null, 2)); +``` + +```JavaScript +{ + "en0": { + "ipv6": "fe80::cae0:ebff:fe14:1dab", + "ipv4": "192.168.178.22" + }, + "awdl0": { + "ipv6": "fe80::58b9:daff:fea9:23a9" + } +} +``` + diff --git a/node_modules/macaddress/index.d.ts b/node_modules/macaddress/index.d.ts new file mode 100644 index 00000000..9c96a7d0 --- /dev/null +++ b/node_modules/macaddress/index.d.ts @@ -0,0 +1,14 @@ +declare module 'macaddress' { + export type MacAddresCallback = (err: any, data: any) => void; + + export type MacAddressOneCallback = (err: any, mac: string) => void; + + export function one(callback: MacAddressOneCallback): void; + export function one(iface?: string): Promise; + export function one(iface: string, callback: MacAddressOneCallback): void; + + export function all(callback: MacAddresCallback): void; + export function all(): Promise; + + export function networkInterfaces(): any; +} diff --git a/node_modules/macaddress/index.js b/node_modules/macaddress/index.js new file mode 100644 index 00000000..12b1301b --- /dev/null +++ b/node_modules/macaddress/index.js @@ -0,0 +1,136 @@ +/* jshint node: true */ +"use strict"; + +var util = require("./lib/util.js"); +var lib = {}; + +lib.getMacAddress = require("./lib/getmacaddress.js"); +lib.getAllInterfaces = require("./lib/getallinterfaces.js"); +lib.networkInterfaces = require("./lib/networkinterfaces.js"); + +// devices like en0 (mac), eth3 (linux), Ethernet (windows), etc. are preferred +var goodIfaces = new RegExp("^((en|eth)[0-9]+|ethernet)$", "i"); + +// https://github.com/scravy/node-macaddress/issues/32 +var badIfaces = new RegExp("^(vboxnet[0-9]+)$", "i"); + +lib.one = function () { + // one() can be invoked in several ways: + // one() -> Promise + // one(iface: string) -> Promise + // one(iface: string, callback) -> async, yields a string + // one(callback) -> async, yields a string + var iface = null; + var callback = null; + if (arguments.length >= 1) { + if (typeof arguments[0] === "function") { + callback = arguments[0]; + } else if (typeof arguments[0] === "string") { + iface = arguments[0]; + } + if (arguments.length >= 2) { + if (typeof arguments[1] === "function") { + callback = arguments[1]; + } + } + } + if (!callback) { + return util.promisify(function (callback) { + lib.one(iface, callback); + }); + } + if (iface) { + lib.getMacAddress(iface, callback); + return; + } + var ifaces = lib.networkInterfaces(); + var addresses = {}; + var best = []; + var args = []; + Object.keys(ifaces).forEach(function (name) { + args.push(name); + var score = 0; + var iface = ifaces[name]; + if (typeof iface.mac === "string" && iface.mac !== "00:00:00:00:00:00") { + addresses[name] = iface.mac; + if (iface.ipv4 || iface.ipv6) { + score += 1; + if (iface.ipv4 && iface.ipv6) { + score += 1; + } + } + if (goodIfaces.test(name)) { + score += 2; + } + if (badIfaces.test(name)) { + score -= 3; + } + best.push({ + name: name, + score: score, + mac: iface.mac + }); + } + }); + if (best.length > 0) { + best.sort(function (left, right) { + // the following will sort items with a higher score to the beginning + var comparison = right.score - left.score; + if (comparison !== 0) { + return comparison; + } + if (left.name < right.name) { + return -1; + } + if (left.name > right.name) { + return 1; + } + return 0; + }); + util.nextTick(callback.bind(null, null, best[0].mac)); + return; + } + args.push(lib.getAllInterfaces); + var getMacAddress = function (d, cb) { + if (addresses[d]) { + cb(null, addresses[d]); + return; + } + lib.getMacAddress(d, cb); + }; + util.iterate(args, getMacAddress, callback); +}; + +lib.all = function (callback) { + if (typeof callback !== "function") { + return util.promisify(lib.all); + } + + var ifaces = lib.networkInterfaces(); + var resolve = {}; + + Object.keys(ifaces).forEach(function (iface) { + if (!ifaces[iface].mac) { + resolve[iface] = lib.getMacAddress.bind(null, iface); + } + }); + + if (Object.keys(resolve).length === 0) { + if (typeof callback === "function") { + util.nextTick(callback.bind(null, null, ifaces)); + } + return ifaces; + } + + util.parallel(resolve, function (err, result) { + Object.keys(result).forEach(function (iface) { + ifaces[iface].mac = result[iface]; + }); + if (typeof callback === "function") { + callback(null, ifaces); + } + }); + return null; +}; + +module.exports = lib; diff --git a/node_modules/macaddress/lib/getallinterfaces.js b/node_modules/macaddress/lib/getallinterfaces.js new file mode 100644 index 00000000..e4703d37 --- /dev/null +++ b/node_modules/macaddress/lib/getallinterfaces.js @@ -0,0 +1,28 @@ +var os = require('os'); + +var _getAllInterfaces; +switch (os.platform()) { + + case 'win32': + _getAllInterfaces = require('./platform/getallinterfaces_windows.js'); + break; + + case 'linux': + _getAllInterfaces = require('./platform/getallinterfaces_linux.js'); + break; + + case 'darwin': + case 'sunos': + case 'freebsd': + _getAllInterfaces = require('./platform/getallinterfaces_unix.js'); + break; + + default: + console.warn("node-macaddress: Unknown os.platform(), defaulting to 'unix'."); + _getAllInterfaces = require('./platform/getallinterfaces_unix.js'); + break; + +} + +module.exports = _getAllInterfaces; + diff --git a/node_modules/macaddress/lib/getmacaddress.js b/node_modules/macaddress/lib/getmacaddress.js new file mode 100644 index 00000000..6ad5bde8 --- /dev/null +++ b/node_modules/macaddress/lib/getmacaddress.js @@ -0,0 +1,48 @@ +var os = require('os'); + +var _getMacAddress; +var _validIfaceRegExp = '^[a-z0-9]+$'; +switch (os.platform()) { + + case 'win32': + // windows has long interface names which may contain spaces and dashes + _validIfaceRegExp = '^[a-z0-9 -]+$'; + _getMacAddress = require('./platform/getmacaddress_windows.js'); + break; + + case 'linux': + _getMacAddress = require('./platform/getmacaddress_linux.js'); + break; + + case 'darwin': + case 'sunos': + case 'freebsd': + _getMacAddress = require('./platform/getmacaddress_unix.js'); + break; + + default: + console.warn("node-macaddress: Unknown os.platform(), defaulting to 'unix'."); + _getMacAddress = require('./platform/getmacaddress_unix.js'); + break; + +} + +var validIfaceRegExp = new RegExp(_validIfaceRegExp, 'i'); + +module.exports = function (iface, callback) { + + // some platform specific ways of resolving the mac address pass the name + // of the interface down to some command processor, so check for a well + // formed string here. + if (!validIfaceRegExp.test(iface)) { + callback(new Error([ + 'invalid iface: \'', iface, + '\' (must conform to reg exp /', + validIfaceRegExp, '/)' + ].join('')), null); + return; + } + + _getMacAddress(iface, callback); +} + diff --git a/node_modules/macaddress/lib/networkinterfaces.js b/node_modules/macaddress/lib/networkinterfaces.js new file mode 100644 index 00000000..8234e0e3 --- /dev/null +++ b/node_modules/macaddress/lib/networkinterfaces.js @@ -0,0 +1,40 @@ +var os = require('os'); + +// Retrieves all interfaces that do feature some non-internal address. +// This function does NOT employ caching as to reflect the current state +// of the machine accurately. +module.exports = function () { + var allAddresses = {}; + + try { + var ifaces = os.networkInterfaces(); + } catch (e) { + // At October 2016 WSL does not support os.networkInterfaces() and throws + // Return empty object as if no interfaces were found + // https://github.com/Microsoft/BashOnWindows/issues/468 + if (e.syscall === 'uv_interface_addresses') { + return allAddresses; + } else { + throw e; + }; + }; + + Object.keys(ifaces).forEach(function (iface) { + var addresses = {}; + var hasAddresses = false; + ifaces[iface].forEach(function (address) { + if (!address.internal) { + addresses[(address.family || "").toLowerCase()] = address.address; + hasAddresses = true; + if (address.mac && address.mac !== '00:00:00:00:00:00') { + addresses.mac = address.mac; + } + } + }); + if (hasAddresses) { + allAddresses[iface] = addresses; + } + }); + return allAddresses; +}; + diff --git a/node_modules/macaddress/lib/platform/getallinterfaces_linux.js b/node_modules/macaddress/lib/platform/getallinterfaces_linux.js new file mode 100644 index 00000000..cad1512e --- /dev/null +++ b/node_modules/macaddress/lib/platform/getallinterfaces_linux.js @@ -0,0 +1,20 @@ +/* jshint node: true */ +var execFile = require('child_process').execFile; + +module.exports = function (callback) { + execFile("/bin/ls", ["/sys/class/net"], function (err, out) { + if (err) { + callback(err, null); + return; + } + var ifaces = out.split(/[ \t]+/); + var result = []; + for (var i = 0; i < ifaces.length; i += 1) { + var iface = ifaces[i].trim(); + if (iface !== "") { + result.push(iface); + } + } + callback(null, result); + }); +}; diff --git a/node_modules/macaddress/lib/platform/getallinterfaces_unix.js b/node_modules/macaddress/lib/platform/getallinterfaces_unix.js new file mode 100644 index 00000000..c17c7323 --- /dev/null +++ b/node_modules/macaddress/lib/platform/getallinterfaces_unix.js @@ -0,0 +1,22 @@ +/* jshint node: true */ +'use strict'; + +var execFile = require('child_process').execFile; + +module.exports = function (callback) { + execFile("/sbin/ifconfig", ["-l"], function (err, out) { + if (err) { + callback(err, null); + return; + } + var ifaces = out.split(/[ \t]+/); + var result = []; + for (var i = 0; i < ifaces.length; i += 1) { + var iface = ifaces[i].trim(); + if (iface !== "") { + result.push(iface); + } + } + callback(null, result); + }); +}; diff --git a/node_modules/macaddress/lib/platform/getallinterfaces_windows.js b/node_modules/macaddress/lib/platform/getallinterfaces_windows.js new file mode 100644 index 00000000..63adbfc3 --- /dev/null +++ b/node_modules/macaddress/lib/platform/getallinterfaces_windows.js @@ -0,0 +1,22 @@ +/* jshint node: true */ +'use strict'; + +var execFile = require('child_process').execFile; + +module.exports = function (callback) { + execFile("wmic", ["nic", "get", "NetConnectionID"], function (err, out) { + if (err) { + callback(err, null); + return; + } + var ifaces = out.trim().replace(/\s{2,}/g, "\n").split("\n").slice(1); + var result = []; + for (var i = 0; i < ifaces.length; i += 1) { + var iface = ifaces[i].trim(); + if (iface !== "") { + result.push(iface); + } + } + callback(null, result); + }); +}; diff --git a/node_modules/macaddress/lib/platform/getmacaddress_linux.js b/node_modules/macaddress/lib/platform/getmacaddress_linux.js new file mode 100644 index 00000000..6f0eb12f --- /dev/null +++ b/node_modules/macaddress/lib/platform/getmacaddress_linux.js @@ -0,0 +1,12 @@ +/* jshint node: true */ +var execFile = require('child_process').execFile; + +module.exports = function (iface, callback) { + execFile("/bin/cat", ["/sys/class/net/" + iface + "/address"], function (err, out) { + if (err) { + callback(err, null); + return; + } + callback(null, out.trim().toLowerCase()); + }); +}; diff --git a/node_modules/macaddress/lib/platform/getmacaddress_unix.js b/node_modules/macaddress/lib/platform/getmacaddress_unix.js new file mode 100644 index 00000000..66d2e04a --- /dev/null +++ b/node_modules/macaddress/lib/platform/getmacaddress_unix.js @@ -0,0 +1,17 @@ +/* jshint node: true */ +var execFile = require('child_process').execFile; + +module.exports = function (iface, callback) { + execFile("ifconfig", [iface], function (err, out) { + if (err) { + callback(err, null); + return; + } + var match = /[a-f0-9]{2}(:[a-f0-9]{2}){5}/.exec(out.toLowerCase()); + if (!match) { + callback("did not find a mac address", null); + return; + } + callback(null, match[0].toLowerCase()); + }); +}; diff --git a/node_modules/macaddress/lib/platform/getmacaddress_windows.js b/node_modules/macaddress/lib/platform/getmacaddress_windows.js new file mode 100644 index 00000000..3c7125e2 --- /dev/null +++ b/node_modules/macaddress/lib/platform/getmacaddress_windows.js @@ -0,0 +1,29 @@ +/* jshint node: true */ +var execFile = require('child_process').execFile; + +var regexRegex = /[-\/\\^$*+?.()|[\]{}]/g; + +function escape(string) { + return string.replace(regexRegex, '\\$&'); +} + +module.exports = function (iface, callback) { + execFile("ipconfig", ["/all"], function (err, out) { + if (err) { + callback(err, null); + return; + } + var match = new RegExp(escape(iface)).exec(out); + if (!match) { + callback("did not find interface in `ipconfig /all`", null); + return; + } + out = out.substring(match.index + iface.length); + match = /[A-Fa-f0-9]{2}(\-[A-Fa-f0-9]{2}){5}/.exec(out); + if (!match) { + callback("did not find a mac address", null); + return; + } + callback(null, match[0].toLowerCase().replace(/\-/g, ':')); + }); +}; diff --git a/node_modules/macaddress/lib/util.js b/node_modules/macaddress/lib/util.js new file mode 100644 index 00000000..09ecfb83 --- /dev/null +++ b/node_modules/macaddress/lib/util.js @@ -0,0 +1,84 @@ +/* jshint node: true */ +"use strict"; + +var lib = {}; + +var nextTick = process.nextTick || global.setImmediate || global.setTimeout; +lib.nextTick = function (func) { + nextTick(func); +}; + +lib.parallel = function (tasks, done) { + var results = []; + var errs = []; + var length = 0; + var doneLength = 0; + function doneIt(ix, err, result) { + if (err) { + errs[ix] = err; + } else { + results[ix] = result; + } + doneLength += 1; + if (doneLength >= length) { + done(errs.length > 0 ? errs : errs, results); + } + } + Object.keys(tasks).forEach(function (key) { + length += 1; + var task = tasks[key]; + lib.nextTick(function () { + task(doneIt.bind(null, key), 1); + }); + }); +}; + +lib.promisify = function (func) { + return new Promise(function (resolve, reject) { + func(function (err, data) { + if (err) { + if (!err instanceof Error) { + err = new Error(err); + } + reject(err); + return; + } + resolve(data); + }); + }); +}; + +lib.iterate = function (args, func, callback) { + var errors = []; + var f = function () { + if (args.length === 0) { + lib.nextTick(callback.bind(null, errors)); + return; + } + var arg = args.shift(); + if (typeof arg === "function") { + arg(function (err, res) { + if (err) { + errors.push(err); + } else { + while (res.length > 0) { + args.unshift(res.pop()); + } + } + f(); + }); + return; + } + func(arg, function (err, res) { + if (err) { + errors.push(err); + f(); + } else { + lib.nextTick(callback.bind(null, null, res)); + } + }); + }; + lib.nextTick(f); +}; + +module.exports = lib; diff --git a/node_modules/macaddress/package.json b/node_modules/macaddress/package.json new file mode 100644 index 00000000..f7a43c37 --- /dev/null +++ b/node_modules/macaddress/package.json @@ -0,0 +1,54 @@ +{ + "_from": "macaddress@^0.5.1", + "_id": "macaddress@0.5.1", + "_inBundle": false, + "_integrity": "sha512-et8b+V48uHaOB2fyNhPWwlm2PenfcfkGmHUwuVT3lxFEhfwaKwq5VmM4Cw4MYDwMrujvF0ktA2sSJidCjZBSzg==", + "_location": "/macaddress", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "macaddress@^0.5.1", + "name": "macaddress", + "escapedName": "macaddress", + "rawSpec": "^0.5.1", + "saveSpec": null, + "fetchSpec": "^0.5.1" + }, + "_requiredBy": [ + "/uuid-1345" + ], + "_resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.5.1.tgz", + "_shasum": "5d717ad50337f96085655d5db06ebc60df11fc59", + "_spec": "macaddress@^0.5.1", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\uuid-1345", + "author": { + "name": "Julian Fleischer" + }, + "bugs": { + "url": "https://github.com/scravy/node-macaddress/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Get the MAC addresses (hardware addresses) of the hosts network interfaces.", + "homepage": "https://github.com/scravy/node-macaddress", + "keywords": [ + "mac", + "mac-address", + "hardware-address", + "network", + "system" + ], + "license": "MIT", + "main": "index.js", + "name": "macaddress", + "repository": { + "type": "git", + "url": "git+https://github.com/scravy/node-macaddress.git" + }, + "scripts": { + "test": "node test.js" + }, + "typings": "index.d.ts", + "version": "0.5.1" +} diff --git a/node_modules/macaddress/test.js b/node_modules/macaddress/test.js new file mode 100644 index 00000000..c0b726b6 --- /dev/null +++ b/node_modules/macaddress/test.js @@ -0,0 +1,31 @@ +/* jshint node: true */ +'use strict'; + +var macaddress = require('./index.js'); + +macaddress.one(function (err, mac) { + if (err || !/[a-f0-9]{2}(:[a-f0-9]{2}){5}/.test(mac)) { + console.log(mac + " does not work"); + throw err || mac; + } + console.log("Mac address for this host: %s", mac); +}); + +macaddress.all(function (err, all) { + if (err) { + throw err; + } + console.log(JSON.stringify(all, null, 2)); +}); + +console.log(JSON.stringify(macaddress.networkInterfaces(), null, 2)); + +if (typeof Promise !== 'undefined') { + macaddress.one().then(function (result) { + console.log("Mac address for this host using Promises: %s", result); + }); + macaddress.all().then(function (result) { + console.log("all() using promises"); + console.log(JSON.stringify(result, null, 2)); + }); +} diff --git a/node_modules/minecraft-data/.github/workflows/ci.yml b/node_modules/minecraft-data/.github/workflows/ci.yml new file mode 100644 index 00000000..e6119dd6 --- /dev/null +++ b/node_modules/minecraft-data/.github/workflows/ci.yml @@ -0,0 +1,27 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: npm install + - run: npm test \ No newline at end of file diff --git a/node_modules/minecraft-data/.github/workflows/npm-publish.yml b/node_modules/minecraft-data/.github/workflows/npm-publish.yml new file mode 100644 index 00000000..93577fa6 --- /dev/null +++ b/node_modules/minecraft-data/.github/workflows/npm-publish.yml @@ -0,0 +1,28 @@ +name: npm-publish +on: + push: + branches: + - master # Change this to your default branch +jobs: + npm-publish: + name: npm-publish + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@master + with: + submodules: true + - name: Set up Node.js + uses: actions/setup-node@master + with: + node-version: 10.0.0 + - run: npm install + - name: Publish if version has been updated + uses: pascalgn/npm-publish-action@4f4bf159e299f65d21cd1cbd96fc5d53228036df + with: # All of theses inputs are optional + tag_name: "%s" + tag_message: "%s" + commit_pattern: "^Release (\\S+)" + env: # More info about the environment variables in the README + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this as is, it's automatically generated + NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} # You need to set this in your repo settings \ No newline at end of file diff --git a/node_modules/minecraft-data/.gitmodules b/node_modules/minecraft-data/.gitmodules new file mode 100644 index 00000000..46e71b0a --- /dev/null +++ b/node_modules/minecraft-data/.gitmodules @@ -0,0 +1,3 @@ +[submodule "minecraft-data"] + path = minecraft-data + url = https://github.com/PrismarineJS/minecraft-data.git diff --git a/node_modules/minecraft-data/.gitpod.yml b/node_modules/minecraft-data/.gitpod.yml new file mode 100644 index 00000000..38fc373b --- /dev/null +++ b/node_modules/minecraft-data/.gitpod.yml @@ -0,0 +1,2 @@ +tasks: +- command: npm install diff --git a/node_modules/minecraft-data/README.md b/node_modules/minecraft-data/README.md new file mode 100644 index 00000000..98b3629f --- /dev/null +++ b/node_modules/minecraft-data/README.md @@ -0,0 +1,34 @@ +# node-minecraft-data +[![NPM version](https://badge.fury.io/js/minecraft-data.svg)](http://badge.fury.io/js/minecraft-data) +[![Tonic](https://img.shields.io/badge/tonic-try%20it-blue.svg)](https://tonicdev.com/npm/minecraft-data) +[![Build Status](https://github.com/PrismarineJS/node-minecraft-data/workflows/CI/badge.svg)](https://github.com/PrismarineJS/node-minecraft-data/actions?query=workflow%3A%22CI%22) +[![Try it on gitpod](https://img.shields.io/badge/try-on%20gitpod-brightgreen.svg)](https://gitpod.io/#https://github.com/PrismarineJS/node-minecraft-data) + +node-minecraft-data provides easy access to [minecraft-data](https://github.com/PrismarineJS/minecraft-data) in node.js. + +The objective of this module is to make easier to look for information in minecraft-data in node. + +## Features + +For example it's often useful to : + +* find blocks by id +* find items by name +* find block or item by name +* find block or item by id + +## Example + +```js +const mcData=require("minecraft-data")("1.8.8") + +console.log(mcData.blocksByName["stone"]) +console.log(mcData.windows["minecraft:brewing_stand"]) +console.log(mcData.version) +console.log(mcData.effectsByName["Haste"]) +``` + +## Documentation + + * See [doc/api.md](doc/api.md) + * See [doc/history.md](doc/history.md) diff --git a/node_modules/minecraft-data/bin/generate_data.js b/node_modules/minecraft-data/bin/generate_data.js new file mode 100644 index 00000000..dd6b1419 --- /dev/null +++ b/node_modules/minecraft-data/bin/generate_data.js @@ -0,0 +1,24 @@ +#!/usr/bin/env node + +const dataSource = require('../minecraft-data/data/dataPaths') +const fs = require('fs') +const path = require('path') + +const data = 'module.exports =\n{\n' + Object + .keys(dataSource) + .map(k1 => + " '" + k1 + "': {\n" + Object + .keys(dataSource[k1]) + .map(k2 => + " '" + k2 + "': {" + '\n' + Object + .keys(dataSource[k1][k2]) + .map(k3 => " '" + k3 + "': require('./minecraft-data/data/" + dataSource[k1][k2][k3] + '/' + k3 + ".json')") + .join(',\n') + + '\n }' + ) + .join(',\n') + + '\n }' + ) + .join(',\n') + '\n}\n' + +fs.writeFileSync(path.join(__dirname, '/../data.js'), data) diff --git a/node_modules/minecraft-data/data.js b/node_modules/minecraft-data/data.js new file mode 100644 index 00000000..3f405588 --- /dev/null +++ b/node_modules/minecraft-data/data.js @@ -0,0 +1,838 @@ +module.exports = +{ + 'pc': { + '0.30c': { + 'blocks': require('./minecraft-data/data/pc/0.30c/blocks.json'), + 'protocol': require('./minecraft-data/data/pc/0.30c/protocol.json'), + 'version': require('./minecraft-data/data/pc/0.30c/version.json') + }, + '1.7': { + 'blocks': require('./minecraft-data/data/pc/1.7/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.7/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.7/biomes.json'), + 'enchantments': require('./minecraft-data/data/pc/1.7/enchantments.json'), + 'effects': require('./minecraft-data/data/pc/1.7/effects.json'), + 'items': require('./minecraft-data/data/pc/1.7/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.8/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.7/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.7/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.7/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.7/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.7/windows.json'), + 'version': require('./minecraft-data/data/pc/1.7/version.json'), + 'language': require('./minecraft-data/data/pc/1.7/language.json'), + 'foods': require('./minecraft-data/data/pc/1.7/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.7/particles.json') + }, + '1.8': { + 'blocks': require('./minecraft-data/data/pc/1.8/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.8/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.8/biomes.json'), + 'enchantments': require('./minecraft-data/data/pc/1.8/enchantments.json'), + 'effects': require('./minecraft-data/data/pc/1.8/effects.json'), + 'items': require('./minecraft-data/data/pc/1.8/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.8/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.8/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.8/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.8/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.8/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.8/windows.json'), + 'version': require('./minecraft-data/data/pc/1.8/version.json'), + 'language': require('./minecraft-data/data/pc/1.8/language.json'), + 'foods': require('./minecraft-data/data/pc/1.8/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.8/particles.json') + }, + '15w40b': { + 'blocks': require('./minecraft-data/data/pc/1.9/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.9/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.9/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.9/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.9/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.9/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.9/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.9/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.9/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.9/entities.json'), + 'protocol': require('./minecraft-data/data/pc/15w40b/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.9/windows.json'), + 'version': require('./minecraft-data/data/pc/15w40b/version.json'), + 'language': require('./minecraft-data/data/pc/1.9/language.json'), + 'particles': require('./minecraft-data/data/pc/15w40b/particles.json') + }, + '1.9': { + 'blocks': require('./minecraft-data/data/pc/1.9/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.9/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.9/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.9/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.9/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.9/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.9/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.9/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.9/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.9/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.9/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.9/windows.json'), + 'version': require('./minecraft-data/data/pc/1.9/version.json'), + 'language': require('./minecraft-data/data/pc/1.9/language.json'), + 'foods': require('./minecraft-data/data/pc/1.9/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.9/particles.json') + }, + '1.9.1-pre2': { + 'blocks': require('./minecraft-data/data/pc/1.9/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.9/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.9/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.9/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.9/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.9/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.9/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.9/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.9/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.9/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.9.1-pre2/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.9/windows.json'), + 'version': require('./minecraft-data/data/pc/1.9.1-pre2/version.json'), + 'language': require('./minecraft-data/data/pc/1.9/language.json'), + 'foods': require('./minecraft-data/data/pc/1.9/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.9/particles.json') + }, + '1.9.2': { + 'blocks': require('./minecraft-data/data/pc/1.9/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.9/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.9/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.9/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.9/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.9/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.9/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.9/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.9/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.9/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.9.2/protocol.json'), + 'protocolComments': require('./minecraft-data/data/pc/1.9.2/protocolComments.json'), + 'windows': require('./minecraft-data/data/pc/1.9/windows.json'), + 'version': require('./minecraft-data/data/pc/1.9.2/version.json'), + 'language': require('./minecraft-data/data/pc/1.9/language.json'), + 'foods': require('./minecraft-data/data/pc/1.9/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.9/particles.json') + }, + '1.9.4': { + 'blocks': require('./minecraft-data/data/pc/1.9/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.9/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.9/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.9/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.9/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.9/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.9/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.9/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.9/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.9/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.9.4/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.9/windows.json'), + 'version': require('./minecraft-data/data/pc/1.9.4/version.json'), + 'language': require('./minecraft-data/data/pc/1.9/language.json'), + 'foods': require('./minecraft-data/data/pc/1.9/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.9/particles.json') + }, + '16w20a': { + 'blocks': require('./minecraft-data/data/pc/1.9/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.9/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.9/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.9/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.9/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.9/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.9/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.9/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.9/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.9/entities.json'), + 'protocol': require('./minecraft-data/data/pc/16w20a/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.9/windows.json'), + 'version': require('./minecraft-data/data/pc/16w20a/version.json'), + 'language': require('./minecraft-data/data/pc/1.9/language.json'), + 'foods': require('./minecraft-data/data/pc/1.9/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.10/particles.json') + }, + '1.10-pre1': { + 'blocks': require('./minecraft-data/data/pc/1.9/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.9/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.9/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.9/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.9/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.9/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.9/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.9/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.9/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.9/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.10-pre1/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.9/windows.json'), + 'version': require('./minecraft-data/data/pc/1.10-pre1/version.json'), + 'language': require('./minecraft-data/data/pc/1.9/language.json'), + 'foods': require('./minecraft-data/data/pc/1.9/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.10/particles.json') + }, + '1.10': { + 'blocks': require('./minecraft-data/data/pc/1.10/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.10/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.10/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.10/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.10/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.10/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.10/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.10/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.10/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.10/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.10/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.10/windows.json'), + 'version': require('./minecraft-data/data/pc/1.10/version.json'), + 'language': require('./minecraft-data/data/pc/1.10/language.json'), + 'foods': require('./minecraft-data/data/pc/1.10/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.10/particles.json') + }, + '1.10.1': { + 'blocks': require('./minecraft-data/data/pc/1.10/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.10/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.10/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.10/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.10/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.10/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.10/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.10/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.10/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.10/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.10/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.10/windows.json'), + 'version': require('./minecraft-data/data/pc/1.10.1/version.json'), + 'language': require('./minecraft-data/data/pc/1.10/language.json'), + 'foods': require('./minecraft-data/data/pc/1.10/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.10/particles.json') + }, + '1.10.2': { + 'blocks': require('./minecraft-data/data/pc/1.10/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.10/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.10/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.10/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.10/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.10/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.10/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.10/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.10/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.10/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.10/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.10/windows.json'), + 'version': require('./minecraft-data/data/pc/1.10.2/version.json'), + 'language': require('./minecraft-data/data/pc/1.10/language.json'), + 'foods': require('./minecraft-data/data/pc/1.10/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.10/particles.json') + }, + '16w35a': { + 'blocks': require('./minecraft-data/data/pc/1.10/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.10/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.10/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.10/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.10/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.10/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.10/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.10/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.10/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.10/entities.json'), + 'protocol': require('./minecraft-data/data/pc/16w35a/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.10/windows.json'), + 'version': require('./minecraft-data/data/pc/16w35a/version.json'), + 'language': require('./minecraft-data/data/pc/1.10/language.json'), + 'foods': require('./minecraft-data/data/pc/1.10/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.10/particles.json') + }, + '1.11': { + 'blocks': require('./minecraft-data/data/pc/1.11/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.11/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.11/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.11/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.11/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.11/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.11/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.11/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.11/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.11/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.11/protocol.json'), + 'protocolComments': require('./minecraft-data/data/pc/1.11.2/protocolComments.json'), + 'windows': require('./minecraft-data/data/pc/1.11/windows.json'), + 'version': require('./minecraft-data/data/pc/1.11/version.json'), + 'language': require('./minecraft-data/data/pc/1.11/language.json'), + 'foods': require('./minecraft-data/data/pc/1.11/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.11/particles.json') + }, + '1.11.2': { + 'blocks': require('./minecraft-data/data/pc/1.11/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.11/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.11/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.11/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.11/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.11/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.11/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.11/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.11/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.11/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.11/protocol.json'), + 'protocolComments': require('./minecraft-data/data/pc/1.11.2/protocolComments.json'), + 'windows': require('./minecraft-data/data/pc/1.11/windows.json'), + 'version': require('./minecraft-data/data/pc/1.11.2/version.json'), + 'language': require('./minecraft-data/data/pc/1.11/language.json'), + 'foods': require('./minecraft-data/data/pc/1.11/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.11/particles.json') + }, + '17w15a': { + 'blocks': require('./minecraft-data/data/pc/1.11/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.11/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.11/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.11/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.11/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.11/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.11/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.11/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.11/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.11/entities.json'), + 'protocol': require('./minecraft-data/data/pc/17w15a/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.11/windows.json'), + 'version': require('./minecraft-data/data/pc/17w15a/version.json'), + 'language': require('./minecraft-data/data/pc/1.11/language.json'), + 'foods': require('./minecraft-data/data/pc/1.11/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.11/particles.json') + }, + '17w18b': { + 'blocks': require('./minecraft-data/data/pc/1.11/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.11/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.11/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.11/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.11/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.11/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.11/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.11/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.11/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.11/entities.json'), + 'protocol': require('./minecraft-data/data/pc/17w18b/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.11/windows.json'), + 'version': require('./minecraft-data/data/pc/17w18b/version.json'), + 'language': require('./minecraft-data/data/pc/1.11/language.json'), + 'foods': require('./minecraft-data/data/pc/1.11/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.11/particles.json') + }, + '1.12-pre4': { + 'blocks': require('./minecraft-data/data/pc/1.11/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.11/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.11/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.11/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.11/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.11/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.11/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.11/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.11/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.11/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.12-pre4/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.11/windows.json'), + 'version': require('./minecraft-data/data/pc/1.12-pre4/version.json'), + 'language': require('./minecraft-data/data/pc/1.11/language.json'), + 'foods': require('./minecraft-data/data/pc/1.11/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.11/particles.json') + }, + '1.12': { + 'blocks': require('./minecraft-data/data/pc/1.12/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.12/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.12/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.12/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.12/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.12/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.12/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.12/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.12/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.12/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.12/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.12/windows.json'), + 'version': require('./minecraft-data/data/pc/1.12/version.json'), + 'language': require('./minecraft-data/data/pc/1.12/language.json'), + 'foods': require('./minecraft-data/data/pc/1.12/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.12/particles.json') + }, + '1.12.1': { + 'blocks': require('./minecraft-data/data/pc/1.12/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.12/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.12/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.12/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.12/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.12/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.12/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.12/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.12/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.12/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.12.1/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.12/windows.json'), + 'version': require('./minecraft-data/data/pc/1.12.1/version.json'), + 'language': require('./minecraft-data/data/pc/1.12/language.json'), + 'foods': require('./minecraft-data/data/pc/1.12/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.12/particles.json') + }, + '1.12.2': { + 'blocks': require('./minecraft-data/data/pc/1.12/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.12/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.12/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.12/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.12/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.12/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.12/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.12/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.12/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.12/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.12.2/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.12/windows.json'), + 'version': require('./minecraft-data/data/pc/1.12.2/version.json'), + 'language': require('./minecraft-data/data/pc/1.12/language.json'), + 'foods': require('./minecraft-data/data/pc/1.12/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.12/particles.json') + }, + '17w50a': { + 'blocks': require('./minecraft-data/data/pc/1.12/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.12/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.12/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.12/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.12/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.12/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.12/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.12/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.12/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.12/entities.json'), + 'protocol': require('./minecraft-data/data/pc/17w50a/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.12/windows.json'), + 'version': require('./minecraft-data/data/pc/17w50a/version.json'), + 'language': require('./minecraft-data/data/pc/1.12/language.json'), + 'foods': require('./minecraft-data/data/pc/1.12/foods.json'), + 'particles': require('./minecraft-data/data/pc/17w50a/particles.json') + }, + '1.13': { + 'blocks': require('./minecraft-data/data/pc/1.13/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.13/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.13/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.13/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.13/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.13/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.13/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.13/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.13/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.13/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.13/windows.json'), + 'version': require('./minecraft-data/data/pc/1.13/version.json'), + 'language': require('./minecraft-data/data/pc/1.13/language.json'), + 'foods': require('./minecraft-data/data/pc/1.13.2/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.13/particles.json'), + 'commands': require('./minecraft-data/data/pc/1.13/commands.json') + }, + '1.13.1': { + 'blocks': require('./minecraft-data/data/pc/1.13/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.13/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.13/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.13/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.13/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.13/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.13/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.13/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.13/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.13.1/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.13/windows.json'), + 'version': require('./minecraft-data/data/pc/1.13.1/version.json'), + 'language': require('./minecraft-data/data/pc/1.13/language.json'), + 'foods': require('./minecraft-data/data/pc/1.13.2/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.13/particles.json'), + 'commands': require('./minecraft-data/data/pc/1.13.1/commands.json') + }, + '1.13.2-pre1': { + 'blocks': require('./minecraft-data/data/pc/1.13/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.13/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.13/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.13/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.13/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.13/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.13/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.13/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.13/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.13.2-pre1/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.13/windows.json'), + 'version': require('./minecraft-data/data/pc/1.13.2-pre1/version.json'), + 'language': require('./minecraft-data/data/pc/1.13/language.json'), + 'foods': require('./minecraft-data/data/pc/1.13.2/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.13/particles.json') + }, + '1.13.2-pre2': { + 'blocks': require('./minecraft-data/data/pc/1.13/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.13/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.13/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.13/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.13/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.13/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.13/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.13/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.13/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.13.2-pre2/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.13/windows.json'), + 'version': require('./minecraft-data/data/pc/1.13.2-pre2/version.json'), + 'language': require('./minecraft-data/data/pc/1.13/language.json'), + 'foods': require('./minecraft-data/data/pc/1.13.2/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.13/particles.json') + }, + '1.13.2': { + 'blocks': require('./minecraft-data/data/pc/1.13.2/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.13.2/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.13.2/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.13.2/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.13.2/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.13.2/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.13.2/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.13.2/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.13.2/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.13.2/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.13.2/windows.json'), + 'version': require('./minecraft-data/data/pc/1.13.2/version.json'), + 'language': require('./minecraft-data/data/pc/1.13.2/language.json'), + 'foods': require('./minecraft-data/data/pc/1.13.2/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.13/particles.json'), + 'commands': require('./minecraft-data/data/pc/1.13.2/commands.json') + }, + '1.14': { + 'blocks': require('./minecraft-data/data/pc/1.14.4/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.14/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.14/biomes.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'effects': require('./minecraft-data/data/pc/1.14.4/effects.json'), + 'items': require('./minecraft-data/data/pc/1.14/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.14/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.14.4/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.14.4/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.14/entities.json'), + 'language': require('./minecraft-data/data/pc/1.14/language.json'), + 'protocol': require('./minecraft-data/data/pc/1.14/protocol.json'), + 'version': require('./minecraft-data/data/pc/1.14/version.json'), + 'windows': require('./minecraft-data/data/pc/1.14.4/windows.json'), + 'foods': require('./minecraft-data/data/pc/1.14.4/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.14/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.14.4/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.14.4/entityLoot.json'), + 'commands': require('./minecraft-data/data/pc/1.14/commands.json') + }, + '1.14.1': { + 'blocks': require('./minecraft-data/data/pc/1.14.4/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.14.4/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.14/biomes.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'effects': require('./minecraft-data/data/pc/1.14.4/effects.json'), + 'items': require('./minecraft-data/data/pc/1.14/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.14/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.14.4/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.14.4/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.14/entities.json'), + 'language': require('./minecraft-data/data/pc/1.14/language.json'), + 'protocol': require('./minecraft-data/data/pc/1.14.1/protocol.json'), + 'version': require('./minecraft-data/data/pc/1.14.1/version.json'), + 'windows': require('./minecraft-data/data/pc/1.14.4/windows.json'), + 'foods': require('./minecraft-data/data/pc/1.14.4/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.14/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.14.4/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.14.4/entityLoot.json'), + 'commands': require('./minecraft-data/data/pc/1.14.1/commands.json') + }, + '1.14.3': { + 'blocks': require('./minecraft-data/data/pc/1.14.4/blocks.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.14.4/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.14/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.14.4/effects.json'), + 'items': require('./minecraft-data/data/pc/1.14/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.14/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.14.4/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.14.4/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.14/entities.json'), + 'language': require('./minecraft-data/data/pc/1.14/language.json'), + 'protocol': require('./minecraft-data/data/pc/1.14.3/protocol.json'), + 'version': require('./minecraft-data/data/pc/1.14.3/version.json'), + 'windows': require('./minecraft-data/data/pc/1.14.4/windows.json'), + 'foods': require('./minecraft-data/data/pc/1.14.4/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.14/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.14.4/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.14.4/entityLoot.json'), + 'commands': require('./minecraft-data/data/pc/1.14.3/commands.json') + }, + '1.14.4': { + 'blocks': require('./minecraft-data/data/pc/1.14.4/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.14.4/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.14.4/biomes.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'effects': require('./minecraft-data/data/pc/1.14.4/effects.json'), + 'items': require('./minecraft-data/data/pc/1.14.4/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.14.4/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.14.4/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.14.4/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.14.4/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.14.4/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.14.4/windows.json'), + 'version': require('./minecraft-data/data/pc/1.14.4/version.json'), + 'language': require('./minecraft-data/data/pc/1.14.4/language.json'), + 'foods': require('./minecraft-data/data/pc/1.14.4/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.14/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.14.4/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.14.4/entityLoot.json'), + 'commands': require('./minecraft-data/data/pc/1.14.4/commands.json') + }, + '1.15': { + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.15/blockCollisionShapes.json'), + 'protocol': require('./minecraft-data/data/pc/1.15/protocol.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'version': require('./minecraft-data/data/pc/1.15/version.json'), + 'blocks': require('./minecraft-data/data/pc/1.15.2/blocks.json'), + 'biomes': require('./minecraft-data/data/pc/1.15.2/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.15.2/effects.json'), + 'items': require('./minecraft-data/data/pc/1.15.2/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.15.2/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.15.2/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.15.2/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.15.2/entities.json'), + 'windows': require('./minecraft-data/data/pc/1.15.2/windows.json'), + 'language': require('./minecraft-data/data/pc/1.15.2/language.json'), + 'foods': require('./minecraft-data/data/pc/1.15.2/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.15/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.15.2/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.15.2/entityLoot.json'), + 'commands': require('./minecraft-data/data/pc/1.15/commands.json') + }, + '1.15.1': { + 'protocol': require('./minecraft-data/data/pc/1.15.1/protocol.json'), + 'version': require('./minecraft-data/data/pc/1.15.1/version.json'), + 'blocks': require('./minecraft-data/data/pc/1.15.2/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.15.2/blockCollisionShapes.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'biomes': require('./minecraft-data/data/pc/1.15.2/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.15.2/effects.json'), + 'items': require('./minecraft-data/data/pc/1.15.2/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.15.2/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.15.2/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.15.2/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.15.2/entities.json'), + 'windows': require('./minecraft-data/data/pc/1.15.2/windows.json'), + 'language': require('./minecraft-data/data/pc/1.15.2/language.json'), + 'foods': require('./minecraft-data/data/pc/1.15.2/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.15/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.15.2/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.15.2/entityLoot.json'), + 'commands': require('./minecraft-data/data/pc/1.15.1/commands.json') + }, + '1.15.2': { + 'blocks': require('./minecraft-data/data/pc/1.15.2/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.15.2/blockCollisionShapes.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'biomes': require('./minecraft-data/data/pc/1.15.2/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.15.2/effects.json'), + 'items': require('./minecraft-data/data/pc/1.15.2/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.15.2/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.15.2/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.15.2/materials.json'), + 'entities': require('./minecraft-data/data/pc/1.15.2/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.15.2/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.15.2/windows.json'), + 'version': require('./minecraft-data/data/pc/1.15.2/version.json'), + 'language': require('./minecraft-data/data/pc/1.15.2/language.json'), + 'foods': require('./minecraft-data/data/pc/1.15.2/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.15/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.15.2/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.15.2/entityLoot.json'), + 'commands': require('./minecraft-data/data/pc/1.15.2/commands.json') + }, + '20w13b': { + 'protocol': require('./minecraft-data/data/pc/20w13b/protocol.json'), + 'version': require('./minecraft-data/data/pc/20w13b/version.json'), + 'blocks': require('./minecraft-data/data/pc/1.16.1/blocks.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'biomes': require('./minecraft-data/data/pc/1.16.1/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.16.1/effects.json'), + 'items': require('./minecraft-data/data/pc/1.16.1/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.16.1/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.16.1/instruments.json'), + 'entities': require('./minecraft-data/data/pc/1.16.1/entities.json'), + 'windows': require('./minecraft-data/data/pc/1.16.1/windows.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.16.1/blockCollisionShapes.json'), + 'materials': require('./minecraft-data/data/pc/1.16.1/materials.json'), + 'language': require('./minecraft-data/data/pc/1.16.1/language.json'), + 'foods': require('./minecraft-data/data/pc/1.16.1/foods.json'), + 'particles': require('./minecraft-data/data/pc/20w13b/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.16.1/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.16.1/entityLoot.json') + }, + '20w14a': { + 'protocol': require('./minecraft-data/data/pc/20w13b/protocol.json'), + 'version': require('./minecraft-data/data/pc/20w14a/version.json'), + 'blocks': require('./minecraft-data/data/pc/1.16.1/blocks.json'), + 'biomes': require('./minecraft-data/data/pc/1.16.1/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.16.1/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.16.1/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.16.1/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.16.1/instruments.json'), + 'entities': require('./minecraft-data/data/pc/1.16.1/entities.json'), + 'windows': require('./minecraft-data/data/pc/1.16.1/windows.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.16.1/blockCollisionShapes.json'), + 'materials': require('./minecraft-data/data/pc/1.16.1/materials.json'), + 'language': require('./minecraft-data/data/pc/1.16.1/language.json'), + 'foods': require('./minecraft-data/data/pc/1.16.1/foods.json'), + 'particles': require('./minecraft-data/data/pc/20w13b/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.16.1/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.16.1/entityLoot.json') + }, + '1.16-rc1': { + 'protocol': require('./minecraft-data/data/pc/1.16-rc1/protocol.json'), + 'version': require('./minecraft-data/data/pc/1.16-rc1/version.json'), + 'blocks': require('./minecraft-data/data/pc/1.16.1/blocks.json'), + 'biomes': require('./minecraft-data/data/pc/1.16.1/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.16.1/effects.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'items': require('./minecraft-data/data/pc/1.16.1/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.16.1/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.16.1/instruments.json'), + 'entities': require('./minecraft-data/data/pc/1.16.1/entities.json'), + 'windows': require('./minecraft-data/data/pc/1.16.1/windows.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.16.1/blockCollisionShapes.json'), + 'materials': require('./minecraft-data/data/pc/1.16.1/materials.json'), + 'language': require('./minecraft-data/data/pc/1.16.1/language.json'), + 'foods': require('./minecraft-data/data/pc/1.16.1/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.16/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.16.1/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.16.1/entityLoot.json') + }, + '1.16': { + 'protocol': require('./minecraft-data/data/pc/1.16/protocol.json'), + 'version': require('./minecraft-data/data/pc/1.16/version.json'), + 'blocks': require('./minecraft-data/data/pc/1.16.1/blocks.json'), + 'biomes': require('./minecraft-data/data/pc/1.16.1/biomes.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'effects': require('./minecraft-data/data/pc/1.16.1/effects.json'), + 'items': require('./minecraft-data/data/pc/1.16.1/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.16.1/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.16.1/instruments.json'), + 'entities': require('./minecraft-data/data/pc/1.16.1/entities.json'), + 'windows': require('./minecraft-data/data/pc/1.16.1/windows.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.16.1/blockCollisionShapes.json'), + 'materials': require('./minecraft-data/data/pc/1.16.1/materials.json'), + 'language': require('./minecraft-data/data/pc/1.16.1/language.json'), + 'foods': require('./minecraft-data/data/pc/1.16.1/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.16/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.16.1/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.16.1/entityLoot.json'), + 'commands': require('./minecraft-data/data/pc/1.16/commands.json'), + 'loginPacket': require('./minecraft-data/data/pc/1.16/loginPacket.json') + }, + '1.16.1': { + 'blocks': require('./minecraft-data/data/pc/1.16.1/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.16.1/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.16.1/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.16.1/effects.json'), + 'items': require('./minecraft-data/data/pc/1.16.1/items.json'), + 'recipes': require('./minecraft-data/data/pc/1.16.1/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.16.1/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.16.1/materials.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'language': require('./minecraft-data/data/pc/1.16.1/language.json'), + 'entities': require('./minecraft-data/data/pc/1.16.1/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.16.1/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.16.1/windows.json'), + 'version': require('./minecraft-data/data/pc/1.16.1/version.json'), + 'foods': require('./minecraft-data/data/pc/1.16.1/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.16/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.16.1/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.16.1/entityLoot.json'), + 'commands': require('./minecraft-data/data/pc/1.16.1/commands.json'), + 'loginPacket': require('./minecraft-data/data/pc/1.16/loginPacket.json') + }, + '1.16.2': { + 'blocks': require('./minecraft-data/data/pc/1.16.2/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.16.1/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.16.2/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.16.1/effects.json'), + 'items': require('./minecraft-data/data/pc/1.16.2/items.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'recipes': require('./minecraft-data/data/pc/1.16.2/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.16.1/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.16.2/materials.json'), + 'language': require('./minecraft-data/data/pc/1.16.1/language.json'), + 'entities': require('./minecraft-data/data/pc/1.16.2/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.16.2/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.16.1/windows.json'), + 'version': require('./minecraft-data/data/pc/1.16.2/version.json'), + 'foods': require('./minecraft-data/data/pc/1.16.1/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.16/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.16.2/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.16.2/entityLoot.json'), + 'commands': require('./minecraft-data/data/pc/1.16.2/commands.json'), + 'loginPacket': require('./minecraft-data/data/pc/1.16.2/loginPacket.json') + }, + '1.16.3': { + 'blocks': require('./minecraft-data/data/pc/1.16.2/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.16.1/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.16.2/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.16.1/effects.json'), + 'items': require('./minecraft-data/data/pc/1.16.2/items.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'recipes': require('./minecraft-data/data/pc/1.16.2/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.16.1/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.16.2/materials.json'), + 'language': require('./minecraft-data/data/pc/1.16.1/language.json'), + 'entities': require('./minecraft-data/data/pc/1.16.2/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.16.2/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.16.1/windows.json'), + 'version': require('./minecraft-data/data/pc/1.16.3/version.json'), + 'foods': require('./minecraft-data/data/pc/1.16.1/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.16/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.16.2/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.16.2/entityLoot.json'), + 'loginPacket': require('./minecraft-data/data/pc/1.16.2/loginPacket.json') + }, + '1.16.4': { + 'blocks': require('./minecraft-data/data/pc/1.16.2/blocks.json'), + 'blockCollisionShapes': require('./minecraft-data/data/pc/1.16.1/blockCollisionShapes.json'), + 'biomes': require('./minecraft-data/data/pc/1.16.2/biomes.json'), + 'effects': require('./minecraft-data/data/pc/1.16.1/effects.json'), + 'items': require('./minecraft-data/data/pc/1.16.2/items.json'), + 'enchantments': require('./minecraft-data/data/pc/1.13.2/enchantments.json'), + 'recipes': require('./minecraft-data/data/pc/1.16.2/recipes.json'), + 'instruments': require('./minecraft-data/data/pc/1.16.1/instruments.json'), + 'materials': require('./minecraft-data/data/pc/1.16.2/materials.json'), + 'language': require('./minecraft-data/data/pc/1.16.1/language.json'), + 'entities': require('./minecraft-data/data/pc/1.16.2/entities.json'), + 'protocol': require('./minecraft-data/data/pc/1.16.2/protocol.json'), + 'windows': require('./minecraft-data/data/pc/1.16.1/windows.json'), + 'version': require('./minecraft-data/data/pc/1.16.4/version.json'), + 'foods': require('./minecraft-data/data/pc/1.16.1/foods.json'), + 'particles': require('./minecraft-data/data/pc/1.16/particles.json'), + 'blockLoot': require('./minecraft-data/data/pc/1.16.2/blockLoot.json'), + 'entityLoot': require('./minecraft-data/data/pc/1.16.2/entityLoot.json'), + 'loginPacket': require('./minecraft-data/data/pc/1.16.2/loginPacket.json') + } + }, + 'pe': { + '0.14': { + 'blocks': require('./minecraft-data/data/pe/0.14/blocks.json'), + 'biomes': require('./minecraft-data/data/pc/1.8/biomes.json'), + 'items': require('./minecraft-data/data/pe/0.14/items.json'), + 'protocol': require('./minecraft-data/data/pe/0.14/protocol.json'), + 'version': require('./minecraft-data/data/pe/0.14/version.json') + }, + '0.15': { + 'blocks': require('./minecraft-data/data/pe/0.15/blocks.json'), + 'biomes': require('./minecraft-data/data/pc/1.8/biomes.json'), + 'items': require('./minecraft-data/data/pe/0.15/items.json'), + 'protocol': require('./minecraft-data/data/pe/0.15/protocol.json'), + 'version': require('./minecraft-data/data/pe/0.15/version.json') + }, + '1.0': { + 'blocks': require('./minecraft-data/data/pe/1.0/blocks.json'), + 'biomes': require('./minecraft-data/data/pc/1.8/biomes.json'), + 'items': require('./minecraft-data/data/pe/1.0/items.json'), + 'version': require('./minecraft-data/data/pe/1.0/version.json') + } + } +} diff --git a/node_modules/minecraft-data/doc/api.md b/node_modules/minecraft-data/doc/api.md new file mode 100644 index 00000000..c11c5071 --- /dev/null +++ b/node_modules/minecraft-data/doc/api.md @@ -0,0 +1,298 @@ +# API + +## Blocks + +### minecraft-data.blocks + +blocks indexed by id + +### minecraft-data.blocksByName + +blocks indexed by name + +### minecraft-data.blocksArray + +unindexed blocks + +### minecraft-data.blocksByStateId + +blocks indexed by state id + +### minecraft-data.blockCollisionShapes + +block collision shapes + +## Items + +### minecraft-data.items + +items indexed by id + +### minecraft-data.itemsByName + +items indexed by name + +### minecraft-data.itemsArray + +unindexed items + +## Foods + +### minecraft-data.foods + +foods indexed by id + +### minecraft-data.foodsByName + +foods indexed by name + +### minecraft-data.foodsByFoodPoints + +foods indexed by food points + +### minecraft-data.foodsBySaturation + +foods indexed by saturation + +### minecraft-data.foodsArray + +unindexed foods + +## Biomes + +### minecraft-data.biomes + +biomes indexed by id + +### minecraft-data.biomesArray + +unindexed biomes + +## Recipes + +### minecraft-data.recipes + +recipes indexed by id + +## Instruments + +### minecraft-data.instruments + +instruments indexed by id + +### minecraft-data.instrumentsArray + +unindexed instruments + +## Materials + +### minecraft-data.materials + +materials indexed by name + +## Entities + +### minecraft-data.mobs + +mobs indexed by id + +### minecraft-data.objects + +objects indexed by id + +### minecraft-data.entitiesByName + +entities indexed by name + +### minecraft-data.entitiesArray + +unindexed entities + +## Enchantments + +### minecraft-data.enchantments + +enchantments indexed by id + +### minecraft-data.enchantmentsByName + +enchantments indexed by name + +### minecraft-data.enchantmentsArray + +unindexed enchantments + +## Protocol + +### minecraft-data.protocol + +the minecraft protocol + + +### minecraft-data.protocolComments + +the minecraft protocol comments + +## Functions + +### minecraft-data.findItemOrBlockById + +find a block or an item by its id + +### minecraft-data.findItemOrBlockByName + +find a block or an item by its name + +## Windows + +### minecraft-data.windows + +windows indexed by id + +### minecraft-data.windowsByName + +windows indexed by name + +### minecraft-data.windowsArray + +unindexed windows + + +## Version + +### minecraft-data.version.version + +the version number (example : 47) + +### minecraft-data.version.minecraftVersion + +the minecraft number (example : 1.8.3) + +### minecraft-data.version.majorVersion + +the major version (example : 1.8), also the name of the minecraft-data version + +## Effects + +### minecraft-data.effects + +effects indexed by id + +### minecraft-data.effectsByName + +effects indexed by name + +### minecraft-data.effectsArray + +unindexed effects + +## Particles + +### minecraft-data.particles + +particles indexed by id + +### minecraft-data.particlesByName + +particles indexed by name + +### minecraft-data.particlesArray + +unindexed particles + +## Commands + +### minecraft-data.commands + +Command tree + +## Loot + +### minecraft-data.entityLoot + +entity loot indexed by name + +### minecraft-data.entityLootArray + +unindexed entity loot + +### minecraft-data.blockLoot + +block loot indexed by name + +### minecraft-data.blockLootArray + +unindexed block loot + +## type + +pe or pc + +## minecraft-data.language + +object from language key to string + +## minecraft-data.loginPacket + +example of login packet + +## Protocol versions + +Those are common data and directly available in the `require('minecraft-data')` object. +No need to specify a version before accessing them. They are indexed by pc and pe. + +### minecraft-data.versions + +unindexed minecraft versions + +### minecraft-data.versionsByMinecraftVersion + +minecraft versions indexed by minecraft version (example : 1.8.8) + +### minecraft-data.preNettyVersionsByProtocolVersion + +pre netty minecraft versions indexed by protocol version (example : 47) + +### minecraft-data.postNettyVersionsByProtocolVersion + +post netty minecraft versions indexed by protocol version (example : 47) + +### minecraft-data.supportedVersions.pc + +Array of pc supported versions + +### minecraft-data.supportedVersions.pe + +Array of pe supported versions + +## Schemas + +### minecraft-data.schemas.biomes + +### minecraft-data.schemas.blocks + +### minecraft-data.schemas.blockLoot + +### minecraft-data.schemas.effects + +### minecraft-data.schemas.entities + +### minecraft-data.schemas.entityLoot + +### minecraft-data.schemas.instruments + +### minecraft-data.schemas.items + +### minecraft-data.schemas.materials + +### minecraft-data.schemas.particles + +### minecraft-data.schemas.protocol + +### minecraft-data.schemas.protocolVersions + +### minecraft-data.schemas.recipes + +### minecraft-data.schemas.version + +### minecraft-data.schemas.windows diff --git a/node_modules/minecraft-data/doc/history.md b/node_modules/minecraft-data/doc/history.md new file mode 100644 index 00000000..c7ffb1dd --- /dev/null +++ b/node_modules/minecraft-data/doc/history.md @@ -0,0 +1,416 @@ +## 2.70.2 +* fix release + +## 2.70.1 +* update mcdata, fix states in block.json + +## 2.70.0 +* mcdata to 2.70.0 1.16.4 support + +## 2.69.1 +* revert load only necessary data (for now) + +## 2.69.0 +* expose login packet + +## 2.68.1 +* load only necessary data (thanks @TheDudeFromCI) +* update mcdata: 1.16.3 +* add commands + +## 2.67.0 +* update to mcdata 2.67.0 : loottable + enchantments fix + +## 2.65.0 +* update to mcdata 2.65.0 : 1.16.2 protocol support +* add particle support + +## 2.63.0 +* update to mcdata 2.63.0 + +## 2.62.1 +* food data (thanks @AppDevMichael) + +## 2.61.0 +* correct block states + default state + +## 2.60.0 +* full 1.16 support + +## 2.59.0 +* 1.16.1 protocol support + +## 2.58.0 +* 1.16 support + +## 2.57.0 +* fix abilities and recipes packets for 1.16-rc1 + +## 2.56.0 +* 1.16-rc1 protocol support + +## 2.55.0 +* entity metadata type is a varint since 1.13 + +## 2.54.0 +* update mcdata to 2.54.0 : better items + +## 2.53.0 +* update mcdata to 2.53.0 : better support for 1.14 and 1.15 + +## 2.52.0 +* update mcdata to 2.52.0 : better block shapes +* expose block shapes + +## 2.51.0 +* update mcdata to 2.51.0 : more 1.15.2 data + +## 2.50.0 +* update mcdata to 2.50.0 : protocol fix + more 1.14.4 data + +## 2.49.0 +* update mcdata to 2.49.0 : 1.14.4 block fix + loading test in nmd + +## 2.48.0 +* update mcdata to 2.48.0 : fix for bounding boxes and entity categories + +## 2.47.0 +* mcdata 2.47.0 : add biomes, blocks, entities, items and recipes for 1.14.4 + +## 2.46.0 +* mcdata 2.46.0 : fix entities for 1.13 + +## 2.45.0 +* mcdata 2.45.0 : last 1.16 snapshot support + fix for glass for 1.13 + +## 2.44.0 +* mcdata 2.44.0 : small fix to success packet for 20w13b + +## 2.43.0 +* mcdata 2.43.0 : 20w13b snapshot support (1.16 major) + +## 2.42.0 +* mcdata 2.42.0 : 1.15.2 protocol support + +## 2.41.0 +* mcdata 2.41.0 : 1.15 protocol support + +## 2.40.0 +* mcdata 2.40.0 : 1.15.1 protocol support + +## 2.39.0 +* mcdata 2.39.0 : 1.14.4 support + +## 2.38.0 +* mcdata 2.38.0 : 1.14.3 support + +## 2.37.5 +* mcdata 2.37.5 : fix intfield -> objectData in spawn_entity in all versions > 1.8 + +## 2.37.4 +* mcdata 2.37.4 : 1.14 protocol + +## 2.37.3 +* mcdata 2.37.3 : fix stonecutting in declare_recipes 1.14.1 : only one ingredient + +## 2.37.2 +* mcdata 2.37.2 : u32 -> i32 in 1.14 + +## 2.37.1 +* mcdata 2.37.1 : add missing version file for 1.14.1 and 1.14 + +## 2.37.0 +* mc data 2.37.0 : minecraft 1.14 support + +## 2.36.0 +* fix teams in 1.13 + +## 2.35.1 +* make standard a devDependencies + +## 2.35.0 +* update mcdata to 2.35.0 and add blocksByStateId to API + +## 2.34.0 +* update mcdata to 2.34.0 : bring 1.13.2 support + +## 2.33.0 +* update to mcdata 2.33.0 : fix version definition for 1.13.2-pre1 + +## 2.32.0 +* update mcdata to 2.32.0 : bring 1.13.2-pre1 support + +## 2.31.0 +* update mcdata to 2.31.0 : fix 1.13.1 datapath + +## 2.30.0 +* Update to mcdata 2.30.0 + bring typescript support + +## 2.29.0 +* Update to mcdata 2.29.0 : bring full 1.13 support + +## 2.28.0 +* update mcdata to 2.28.0 : support mc protocol 1.13.1 + +## 2.27.0 +* update mcdata to 2.27.0 : bring minecraft 1.13 protocol support + +## 2.26.0 +* update mcdata to 2.25.0 : fix packet_title + +## 2.25.0 +* fix brigadier:string parser properties + +## 2.24.0 +* update mcdata to 2.23.0, some fixes for 17w50a protocol + +## 2.23.0 +* find the most recent minor version from major version when needed + +## 2.22.0 +* bump mcdata to 2.22.0, mcpc 17w50a support + +## 2.21.0 +* bump mcdata to 2.21.0, mcpc 1.12.2 support + +## 2.20.0 +* bump mcdata to 2.20.0, mcpc 1.12.1 support + +## 2.19.0 +* add language to api, update mcdata to 2.19.0 + +## 2.18.0 +* update to mcdata 2.18.0, better supports mcpc 1.12 + +## 2.17.0 +* update to mcdata 2.17.0, supports mcpc 1.12 + +## 2.16.0 +* update mcdata to 2.16.0 ,supports 1.12-pre4 + +## 2.15.0 +* update to mcdata 2.15.0, supports pc 17w18b + +## 2.14.0 +* update to mcdata 2.14.0 +* supports mc 17w15a + +## 2.13.4 +* update mcdata + +## 2.13.3 +* update mcdata + +## 2.13.2 +* add npmignore (for data.js) + +## 2.13.1 +* update mcdata + +## 2.13.0 +* add protocol comments +q +## 2.12.1 +* remove protocol schema (moved to protodef) + +## 2.12.0 +* use minecraft data 2.10.0, complete 1.11 data + +## 2.11.0 +* update to mcdate 2.9.0, bring mcpc 1.11.2 support + +## 2.10.0 +* update mcdata to 2.8.0, add mcpe 1.0 + +## 2.9.0 +* update mcdata to 2.7.0 : add 1.11 support (only the protocol) + +## 2.8.0 +* classic blocks +* update to mcdata 2.6.0 + +## 2.7.0 +* update mcdata to 2.5.0, add enchantments to api, add 16w35a (first 1.11 snapshot) + +## 2.6.0 +* update mcdata to 2.4.0, add mcpc 1.10.1 and 1.10.2 support, add mcpe 0.15 support + +## 2.5.1 +* update mcdata, fix 1.10 version + +## 2.5.0 +* update mcdata to 2.3.0, add 1.10 support + +## 2.4.0 +* update to mcdata 2.2.0, add pe protocol + +## 2.3.0 +* update minecraft-data to 2.1.0, add pc 1.10-pre1 support + +## 2.2.0 +* add type (pe or pc) to API + +## 2.1.0 +* use blocks of pc 1.8 for pe 0.14 + +## 2.0.0 +* update to minecraft-data to 2.0.0, adapt to handle both pc and pe +* the api of versionsByMinecraftVersion changed : now indexed by pc and pe : BREAKING CHANGE + +## 1.6.0 +* update minecraft-data to 1.1.0, add 16w20a support (1.1.0) + +## 1.5.0 +* update minecraft-data to 1.0.0, add 1.9.4 support + +## 1.4.1 +* actually add 1.9.2 support + +## 1.4.0 +* update mcdata : 1.9.2 support + +## 1.3.1 +* fix release (submodule) + +## 1.3.0 +* export schemas + +## 1.2.6 +* update mcdata : add 1.9.1-pre2 + +## 1.2.5 +* update mcdata : fix in 1.9 protocol + +## 1.2.4 +* i8 not byte + +## 1.2.3 +* a few fixes in 1.9 protocol + +## 1.2.2 +* update mcdata : 1.9 release + +## 1.2.1 +* update minecraft-data : update blocks, items and recipes in 1.9, and fix a small error in 1.9 protocol + +## 1.2.0 +* update 1.9 protocol to 1.9-pre4 + +## 1.1.0 +* update mcdata : protocol schema change, add classic + +## 1.0.3 +* update mcdata : 1.9 protocol fix + +## 1.0.2 +* forgot a short in 1.7 protocol + +## 1.0.1 +* update mcdata : fix short in 1.7 protocol + +## 1.0.0 +* update minecraft data, protocol.json has new numerical type names + +## 0.20.4 +* update minecraft-data : 1.7 plugin channel data buffers are length-prefixed + +## 0.20.3 +* update mcdata : fix in 1.7 protocol + +## 0.20.2 +* update minecraft-data : a fix in the key of 1.7 protocol + +## 0.20.1 +* fix release + +## 0.20.0 +* 1.9 updated to 16w05b +* 15w40b support kept +* 1.7 support added +* add transparency and light data in blocks + +## 0.19.1 +* fix release (missing submodule) + +## 0.19.0 +* move protocol data to top level +* expose preNettyVersionsByProtocolVersion and postNettyVersionsByProtocolVersion +* use it for a better resolution of the "major" version + +## 0.18.0 +* add protocol versions + +## 0.17.0 +* some windows fixing +* update entities : now mobs and objects + +## 0.16.3 +* use require-self to use require('minecraft-data') in example and make tonicdev actually work + +## 0.16.2 +* Usage -> Example, for tonicdev integration + +## 0.16.1 + * update mcData : improvement in the protocol for slot, optionalNbt and nbt + +## 0.16.0 + * add effects + +## 0.15.0 + * make node-minecraft-data browserify compatible + +## 0.14.0 + * move to new minecraft-data organization: master branch containing all the versions instead of one branch per version + +## 0.13.0 + * minecraft-data 1.9 to 15w40b + 76 + +## 0.12.0 + * update minecraft-data : update 1.8 version to 1.8.8, update 1.9 version to 15w39c + +## 0.11.0 + * update minecraft-data : in protocol.json the context is now implemented with ../ instead of this. + +## 0.10.0 + * add version to the API + +## 0.9.0 + * update minecraft-data : windows and protocol updates + +## 0.8.1 + * actually update protocol.json + +## 0.8.0 + * update protocol.json + * add windows + +## 0.7.0 + * update protocol.json : condition becomes switch + +## 0.6.0 + * update protocol.json in 1.8 and 1.9 : the schema is now better for types (see minecraft-data for more details) + +## 0.5.2 + * update README and example : the package is now called minecraft-data in npm + +## 0.5.1 + * fix bug with fs.existsSync + * fix npm badge in readme + +## 0.5.0 + * bumping a few versions because package now published as minecraft-data + * add multi-version support + * add protocol.json access + +## 0.2.0 + * add unindexed version of blocks, items, biomes, instruments and entities + +## 0.1.2 + * fix bug in indexes + +## 0.1.1 + * fix bug in find functions + +## 0.1.0 + + * provide : id-indexed data, name-indexed data and two functions to find items or blocks diff --git a/node_modules/minecraft-data/example.js b/node_modules/minecraft-data/example.js new file mode 100644 index 00000000..cc2bb0ac --- /dev/null +++ b/node_modules/minecraft-data/example.js @@ -0,0 +1,45 @@ +const mcData = require('minecraft-data')('1.8.8') + +console.log(mcData.blocksByName.stone) +console.log(mcData.windows['minecraft:brewing_stand']) +console.log(mcData.version) +console.log(mcData.effectsByName.Haste) + +console.log(mcData.mobs[62]) +console.log(mcData.objects[62]) + +console.log(require('minecraft-data').versionsByMinecraftVersion.pc['1.8.8']) + +console.log(require('minecraft-data').versionsByMinecraftVersion.pc['15w40b']) + +console.log(require('minecraft-data').preNettyVersionsByProtocolVersion.pc[47]) + +console.log(require('minecraft-data').postNettyVersionsByProtocolVersion.pc[47][0]) + +console.log(require('minecraft-data')(47).version) + +console.log(require('minecraft-data')('1.8').version) + +console.log(require('minecraft-data')('15w40b').version) + +console.log(require('minecraft-data')('0.30c').version) + +console.log(require('minecraft-data')('pe_0.14').version) + +console.log(require('minecraft-data')('pc_1.9').blocksByName.dirt) +console.log(require('minecraft-data')('pe_0.14').blocksByName.podzol) +console.log(require('minecraft-data')('pe_0.14').type) + +console.log(require('minecraft-data')('1.8').enchantments[5]) + +console.log(require('minecraft-data').supportedVersions.pc) + +console.log(require('minecraft-data')('1.12').language['options.sensitivity.max']) + +console.log(require('minecraft-data')('1.13.2').blocksByStateId[3381]) + +console.log(require('minecraft-data')('1.13.2').particles[2]) + +console.log(require('minecraft-data')('1.16.1').blockLoot.stone) + +console.log(require('minecraft-data')('1.16.1').loginPacket) diff --git a/node_modules/minecraft-data/index.d.ts b/node_modules/minecraft-data/index.d.ts new file mode 100644 index 00000000..fc70fe38 --- /dev/null +++ b/node_modules/minecraft-data/index.d.ts @@ -0,0 +1,722 @@ +declare namespace MinecraftData { + + type Biomes = Biome[]; + + interface Biome { + /** + * The unique identifier for a biome + */ + id: number; + /** + * The name of a biome + */ + name: string; + /** + * The color in a biome + */ + color?: number; + /** + * The display name of a biome + */ + displayName?: string; + /** + * How much rain there is in a biome + */ + rainfall: number; + /** + * An indicator for the temperature in a biome + */ + temperature: number; + } + + + interface BlockCollisionShapes { + /** + * Each block's collision shape id(s). + */ + blocks: { + [k: string]: number | [number, ...number[]]; + }; + /** + * Collision shapes by id, each shape being composed of a list of collision boxes. + */ + shapes: { + /** + * The boxes of this shape. + */ + [k: string]: [number, number, number, number, number, number][]; + }; + } + + + type BlockLoot = BlockLootEntry[]; + + interface BlockLootEntry { + /** + * The name of the block + */ + block: string; + /** + * The list of item drops + */ + drops: ItemDrop[]; + } + interface ItemDrop { + /** + * The name of the item being dropped + */ + item: string; + /** + * The percent chance of the item drop to occur + */ + dropChance: number; + /** + * The min/max of number of items in this item drop stack + */ + stackSizeRange: unknown[]; + /** + * The required age of the block for the item drop to occur + */ + blockAge?: number; + /** + * If silk touch is required + */ + silkTouch?: boolean; + /** + * If not having silk touch is required + */ + noSilkTouch?: boolean; + } + + + type Blocks = Block[]; + + interface Block { + /** + * The unique identifier for a block + */ + id: number; + /** + * The display name of a block + */ + displayName: string; + /** + * The name of a block + */ + name: string; + /** + * Hardness of a block + */ + hardness: number | null; + /** + * Stack size for a block + */ + stackSize: number; + /** + * true if a block is diggable + */ + diggable: boolean; + /** + * BoundingBox of a block + */ + boundingBox: "block" | "empty"; + /** + * Material of a block + */ + material?: string; + /** + * Using one of these tools is required to harvest a block, without that you get a 3.33x time penalty. + */ + harvestTools?: { + /** + * This interface was referenced by `undefined`'s JSON-Schema definition + * via the `patternProperty` "^[0-9]+$". + */ + [k: string]: boolean; + }; + variations?: { + metadata: number; + displayName: string; + }[]; + states?: { + /** + * The name of the property + */ + name: string; + /** + * The type of the property + */ + type: "enum" | "bool" | "int"; + /** + * The possible values of the property + */ + values?: unknown[]; + /** + * The number of possible values + */ + num_values: number; + }[]; + drops: ( + | number + | { + /** + * minimum number or chance, default : 1 + */ + minCount?: number; + /** + * maximum number or chance, default : minCount + */ + maxCount?: number; + drop: + | number + | { + id: number; + metadata: number; + }; + } + )[]; + /** + * true if a block is transparent + */ + transparent: boolean; + /** + * Light emitted by that block + */ + emitLight: number; + /** + * Light filtered by that block + */ + filterLight: number; + /** + * Minimum state id + */ + minStateId?: number; + /** + * Maximum state id + */ + maxStateId?: number; + /** + * Default state id + */ + defaultState?: number; + } + + + interface CommandsSchema { + graph?: RootNode; + parsers: ParserInfo[]; + [k: string]: unknown; + } + interface RootNode { + type: "root"; + name: string; + executable: boolean; + redirects: string[]; + children: (LiteralNode | ArgumentNode)[]; + [k: string]: unknown; + } + interface LiteralNode { + type: "literal"; + name: string; + executable: boolean; + redirects: string[]; + children: (LiteralNode | ArgumentNode)[]; + [k: string]: unknown; + } + interface ArgumentNode { + type: "argument"; + name: string; + executable: boolean; + redirects: string[]; + children: (LiteralNode | ArgumentNode)[]; + parser?: { + parser?: string; + modifier?: { + [k: string]: unknown; + } | null; + [k: string]: unknown; + }; + [k: string]: unknown; + } + interface ParserInfo { + parser: string; + modifier: { + [k: string]: unknown; + } | null; + examples: string[]; + [k: string]: unknown; + } + + + type Effects = Effect[]; + + interface Effect { + /** + * The unique identifier for an effect + */ + id: number; + /** + * The display name of an effect + */ + displayName: string; + /** + * The name of an effect + */ + name: string; + /** + * Whether an effect is positive or negative + */ + type: "good" | "bad"; + } + + + type Enchantments = Enchantment[]; + + interface Enchantment { + /** + * The unique identifier for an enchantment + */ + id: number; + /** + * The name of an enchantment + */ + name: string; + /** + * The display name of an enchantment + */ + displayName: string; + } + + + type Entities = Entity[]; + + interface Entity { + /** + * The unique identifier for an entity + */ + id: number; + /** + * The internal id of an entity : used in eggs metadata for example + */ + internalId?: number; + /** + * The display name of an entity + */ + displayName: string; + /** + * The name of an entity + */ + name: string; + /** + * The type of an entity + */ + type: string; + /** + * The width of the entity + */ + width: number | null; + /** + * The height of the entity + */ + height: number | null; + /** + * The category of an entity : a semantic category + */ + category?: string; + } + + + type EntityLoot = EntityLootEntry[]; + + interface EntityLootEntry { + /** + * The name of the entity + */ + entity: string; + /** + * The list of item drops + */ + drops: ItemDrop[]; + } + interface ItemDrop { + /** + * The name of the item being dropped + */ + item: string; + /** + * The percent chance of the item drop to occur + */ + dropChance: number; + /** + * The min/max of number of items in this item drop stack + */ + stackSizeRange: unknown[]; + /** + * If a player killer is required + */ + playerKill?: boolean; + } + + + type Foods = Food[]; + + interface Food { + /** + * The unique identifier for an item + */ + id: number; + /** + * The display name of an item + */ + displayName: string; + /** + * Stack size for an item + */ + stackSize: number; + /** + * The name of an item + */ + name: string; + /** + * The amount of food points the food item replenishes + */ + foodPoints: number; + /** + * The amount of saturation points the food restores + */ + saturation: number; + /** + * The effective quality of the food item + */ + effectiveQuality: number; + /** + * The saturation ratio of the food item + */ + saturationRatio: number; + variations?: { + metadata: number; + displayName: string; + }[]; + } + + + type Instruments = Instrument[]; + + interface Instrument { + /** + * The unique identifier for an instrument + */ + id: number; + /** + * The name of an instrument + */ + name: string; + } + + + type Items = Item[]; + + interface Item { + /** + * The unique identifier for an item + */ + id: number; + /** + * The display name of an item + */ + displayName: string; + /** + * Stack size for an item + */ + stackSize: number; + /** + * The name of an item + */ + name: string; + variations?: { + metadata: number; + displayName: string; + }[]; + /** + * The durability of an item + */ + durability?: number | null; + } + + + interface EnUs { + /** + * This interface was referenced by `EnUs`'s JSON-Schema definition + * via the `patternProperty` "^[a-zA-Z.0-9_-]+$". + */ + [k: string]: string; + } + + + interface Materials { + [k: string]: Material; + } + /** + * This interface was referenced by `Materials`'s JSON-Schema definition + * via the `patternProperty` "^[a-z]+$". + */ + interface Material { + /** + * This interface was referenced by `Material`'s JSON-Schema definition + * via the `patternProperty` "^[0-9]+$". + */ + [k: string]: number; + } + + + type Particles = Particle[]; + + interface Particle { + /** + * The unique identifier for a particle + */ + id?: number; + /** + * The name of a particle + */ + name?: string; + [k: string]: unknown; + } + + + type ProtocolVersions = { + /** + * The protocol version + */ + version: number; + dataVersion?: number; + minecraftVersion: string; + majorVersion: string; + usesNetty?: boolean; + }[]; + + + + + + + type Recipe = ShapedRecipe | ShapelessRecipe; + /** + * An item can be represented different ways. + */ + type RecipeItem = Id | IdMetadata | Id1Metadata1Count1; + /** + * A single numerical ID or null. + */ + type Id = number | null; + /** + * A list of id and metadata. This is preferred if there are many items at once, e.g. in a shape. + */ + type IdMetadata = [] | [Id] | [Id, Metadata]; + type Metadata = number; + type Count = number; + /** + * A shape is a list of rows, which are lists of items. There must be at least one row with at least one item in it. All rows must have the same length. Empty rows at the beginning or end of a shape may be omitted. Empty colums at the end may also be omitted. When an item can be crafted in a 2x2 grid, the shape may not be larger than 2x2. + */ + type Shape = [ShapeRow] | [ShapeRow, ShapeRow] | [ShapeRow, ShapeRow, ShapeRow]; + type ShapeRow = [RecipeItem] | [RecipeItem, RecipeItem] | [RecipeItem, RecipeItem, RecipeItem]; + type Ingredients = [RecipeItem, ...RecipeItem[]]; + + /** + * A dictionary of quoted numerical item IDs. Each ID maps to a list of recipes. There may be multiple different recipes per item (same ID and metadata). The recipes may not be sorted. + */ + interface Recipes { + /** + * This interface was referenced by `Recipes`'s JSON-Schema definition + * via the `patternProperty` "^[0-9]+$". + */ + [k: string]: Recipe[]; + } + /** + * A shaped recipe is a dictionary of result, inShape and optionally outShape + */ + interface ShapedRecipe { + result: RecipeItem; + inShape: Shape; + outShape?: Shape; + } + /** + * A dictionary of at least id, optionally metadata and count. This is preferred if there are not many items at once, e.g. result in a recipe. + */ + interface Id1Metadata1Count1 { + id: Id; + metadata?: Metadata; + count?: Count; + } + /** + * A shapeless recipe is a dictionary of result and ingredients + */ + interface ShapelessRecipe { + result: RecipeItem; + ingredients: Ingredients; + } + + + interface Version { + /** + * The protocol version + */ + version?: number; + minecraftVersion?: string; + majorVersion?: string; + } + + + type Windows = [Window, ...Window[]]; + + interface Window { + /** + * The unique identifier for the window + */ + id: string; + /** + * The default displayed name of the window + */ + name: string; + /** + * The slots displayed in the window + */ + slots?: [ + { + /** + * The name of the slot or slot range + */ + name: string; + /** + * The position of the slot or begin of the slot range + */ + index: number; + /** + * The size of the slot range + */ + size?: number; + }, + ...{ + /** + * The name of the slot or slot range + */ + name: string; + /** + * The position of the slot or begin of the slot range + */ + index: number; + /** + * The size of the slot range + */ + size?: number; + }[] + ]; + /** + * Names of the properties of the window + */ + properties?: [string, ...string[]]; + openedWith?: { + type: "item" | "entity" | "block"; + id: number; + }[]; + } + + export interface VersionSet { + pc: { [version: string]: Version }; + pe: { [version: string]: Version }; + } + + export interface SupportedVersions { + pc: string[]; + pe: string[]; + } + + export interface Schemas { + biomes: any; + blocks: any; + effects: any; + entities: any; + instruments: any; + items: any; + materials: any; + protocol: any; + protocolVersions: any; + recipes: any; + version: any; + windows: any; + foods: any; + blockLoot: any; + entityLoot: any; + } + + export interface IndexedData { + blocks: { [id: number]: Block; }; + blocksByName: { [name: string]: Block; }; + blocksArray: Block[]; + + items: { [id: number]: Item; }; + itemsByName: { [name: string]: Item; }; + itemsArray: Item[]; + + foods: { [id: number]: Food; }; + foodsByName: { [name: string]: Food; }; + foodsArray: Food[]; + foodsByFoodPoints: { [foodPoints: number]: Food; }; + foodsBySaturation: { [saturation: number]: Food; }; + + biomes: { [id: number]: Biome; }; + biomesArray: Biome[]; + + recipes: { [id: number]: Recipe; }; + + instruments: { [id: number]: Instrument; }; + instrumentsArray: Instrument[]; + + materials: { [name: string]: Material }; + + mobs: { [id: number]: Entity; }; + objects: { [id: number]: Entity; }; + entitiesByName: { [name: string]: Entity; }; + entitiesArray: Entity[]; + + enchantments: { [id: number]: Enchantment; }; + enchantmentsByName: { [name: string]: Enchantment; }; + enchantmentsArray: Enchantment[]; + + protocol: any; + protocolComments: any; + + findItemOrBlockById(id: number): Block | Item; + findItemOrBlockByName(name: string): Block | Item; + + windows: { [id: number]: Window; }; + windowsByName: { [name: string]: Window; }; + windowsArray: Window[]; + + effects: { [id: number]: Effect; }; + effectsByName: { [name: string]: Effect; }; + effectsArray: Effect[]; + + version: Version; + + type: string; + + language: { [key: string]: string }; + + blockLoot: { [id: number]: BlockLoot; }; + blockLootByName: { [name: string]: BlockLoot; }; + + entityLoot: { [id: number]: EntityLoot; }; + entityLootByName: { [name: string]: EntityLoot; }; + } + + const versions: Version[]; + const versionsByMinecraftVersion: VersionSet; + const preNettyVersionsByProtocolVersion: VersionSet; + const postNettyVersionsByProtocolVersion: VersionSet; + const supportedVersions: SupportedVersions; + const schemas: Schemas; +} + +declare function MinecraftData(version: string | number): MinecraftData.IndexedData; +export = MinecraftData \ No newline at end of file diff --git a/node_modules/minecraft-data/index.js b/node_modules/minecraft-data/index.js new file mode 100644 index 00000000..126f686f --- /dev/null +++ b/node_modules/minecraft-data/index.js @@ -0,0 +1,76 @@ +const mcDataToNode = require('./lib/loader') +const indexer = require('./lib/indexer.js') +const protocolVersions = { + pc: require('./minecraft-data/data/pc/common/protocolVersions.json'), + pe: require('./minecraft-data/data/pe/common/protocolVersions.json') +} +const versionsByMinecraftVersion = {} +const versionsByMajorVersion = {} +const preNettyVersionsByProtocolVersion = {} +const postNettyVersionsByProtocolVersion = {} + +const types = ['pc', 'pe'] +types.forEach(function (type) { + versionsByMinecraftVersion[type] = indexer.buildIndexFromArray(protocolVersions[type], 'minecraftVersion') + versionsByMajorVersion[type] = indexer.buildIndexFromArray(protocolVersions[type].slice().reverse(), 'majorVersion') + preNettyVersionsByProtocolVersion[type] = indexer.buildIndexFromArrayNonUnique(protocolVersions[type].filter(function (e) { return !e.usesNetty }), 'version') + postNettyVersionsByProtocolVersion[type] = indexer.buildIndexFromArrayNonUnique(protocolVersions[type].filter(function (e) { return e.usesNetty }), 'version') +}) + +const cache = {} // prevent reindexing when requiring multiple time the same version + +module.exports = function (mcVersion, preNetty) { + preNetty = preNetty || false + const majorVersion = toMajor(mcVersion, preNetty) + if (majorVersion == null) { return null } + if (cache[majorVersion.type + '_' + majorVersion.majorVersion]) { return cache[majorVersion.type + '_' + majorVersion.majorVersion] } + const mcData = data[majorVersion.type][majorVersion.majorVersion] + if (mcData == null) { return null } + const nmcData = mcDataToNode(mcData) + nmcData.type = majorVersion.type + cache[majorVersion.type + '_' + majorVersion.majorVersion] = nmcData + return nmcData +} + +// adapt the version, most often doesn't convert to major version, can even convert to minor version when possible +function toMajor (mcVersion, preNetty, typeArg) { + const parts = (mcVersion + '').split('_') + const type = typeArg || (parts.length === 2 ? parts[0] : 'pc') + const version = parts.length === 2 ? parts[1] : mcVersion + let majorVersion + if (data[type][version]) { majorVersion = version } else if (versionsByMinecraftVersion[type][version]) { majorVersion = versionsByMinecraftVersion[type][version].majorVersion } else if (preNetty && preNettyVersionsByProtocolVersion[type][version]) { return toMajor(preNettyVersionsByProtocolVersion[type][version][0].minecraftVersion, preNetty, type) } else if (!preNetty && postNettyVersionsByProtocolVersion[type][version]) { return toMajor(postNettyVersionsByProtocolVersion[type][version][0].minecraftVersion, preNetty, type) } else if (versionsByMajorVersion[type][version]) { majorVersion = versionsByMajorVersion[type][version].minecraftVersion } + return { + majorVersion: majorVersion, + type: type + } +} + +module.exports.supportedVersions = { + pc: require('./minecraft-data/data/pc/common/versions.json'), + pe: require('./minecraft-data/data/pe/common/versions.json') +} +module.exports.versions = protocolVersions +module.exports.versionsByMinecraftVersion = versionsByMinecraftVersion +module.exports.preNettyVersionsByProtocolVersion = preNettyVersionsByProtocolVersion +module.exports.postNettyVersionsByProtocolVersion = postNettyVersionsByProtocolVersion + +const schemas = { + biomes: require('./minecraft-data/schemas/biomes_schema.json'), + blocks: require('./minecraft-data/schemas/blocks_schema.json'), + effects: require('./minecraft-data/schemas/effects_schema.json'), + commands: require('./minecraft-data/schemas/commands_schema.json'), + entities: require('./minecraft-data/schemas/entities_schema.json'), + enchantments: require('./minecraft-data/schemas/enchantments_schema.json'), + instruments: require('./minecraft-data/schemas/instruments_schema.json'), + items: require('./minecraft-data/schemas/items_schema.json'), + materials: require('./minecraft-data/schemas/materials_schema.json'), + protocolVersions: require('./minecraft-data/schemas/protocolVersions_schema.json'), + recipes: require('./minecraft-data/schemas/recipes_schema.json'), + version: require('./minecraft-data/schemas/version_schema.json'), + windows: require('./minecraft-data/schemas/windows_schema.json'), + foods: require('./minecraft-data/schemas/foods_schema.json'), + particles: require('./minecraft-data/schemas/particles_schema.json') +} +module.exports.schemas = schemas + +const data = require('./data.js') diff --git a/node_modules/minecraft-data/lib/indexer.js b/node_modules/minecraft-data/lib/indexer.js new file mode 100644 index 00000000..13752aa0 --- /dev/null +++ b/node_modules/minecraft-data/lib/indexer.js @@ -0,0 +1,37 @@ +module.exports = { + buildIndexFromObject: + function (object, fieldToIndex) { + if (object === undefined) { return undefined } + return Object.keys(object).reduce(function (index, key) { + index[object[key][fieldToIndex]] = object[key] + return index + }, {}) + }, + buildIndexFromArray: + function (array, fieldToIndex) { + if (array === undefined) { return undefined } + return array.reduce(function (index, element) { + index[element[fieldToIndex]] = element + return index + }, {}) + }, + buildIndexFromArrayNonUnique: + function (array, fieldToIndex) { + if (array === undefined) { return undefined } + return array.reduce(function (index, element) { + if (!index[element[fieldToIndex]]) { index[element[fieldToIndex]] = [] } + index[element[fieldToIndex]].push(element) + return index + }, {}) + }, + buildIndexFromArrayWithRanges: + function (array, fieldToIndexMin, fieldToIndexMax) { + if (array === undefined) { return undefined } + return array.reduce(function (index, element) { + for (let i = element[fieldToIndexMin]; i <= element[fieldToIndexMax]; i++) { + index[i] = element + } + return index + }, {}) + } +} diff --git a/node_modules/minecraft-data/lib/indexes.js b/node_modules/minecraft-data/lib/indexes.js new file mode 100644 index 00000000..a24be2e9 --- /dev/null +++ b/node_modules/minecraft-data/lib/indexes.js @@ -0,0 +1,44 @@ +const indexer = require('./indexer.js') + +module.exports = function (mcData) { + return { + biomesById: indexer.buildIndexFromArray(mcData.biomes, 'id'), + + blocksById: indexer.buildIndexFromArray(mcData.blocks, 'id'), + blocksByName: indexer.buildIndexFromArray(mcData.blocks, 'name'), + blocksByStateId: indexer.buildIndexFromArrayWithRanges(mcData.blocks, 'minStateId', 'maxStateId'), + + enchantmentsById: indexer.buildIndexFromArray(mcData.enchantments, 'id'), + enchantmentsByName: indexer.buildIndexFromArray(mcData.enchantments, 'name'), + + entitiesByName: indexer.buildIndexFromArray(mcData.entities, 'name'), + mobsById: mcData.entities === undefined + ? undefined + : indexer.buildIndexFromArray(mcData.entities.filter(e => e.type === 'mob'), 'id'), + objectsById: mcData.entities === undefined + ? undefined + : indexer.buildIndexFromArray(mcData.entities.filter(e => e.type === 'object'), 'id'), + + instrumentsById: indexer.buildIndexFromArray(mcData.instruments, 'id'), + + itemsById: indexer.buildIndexFromArray(mcData.items, 'id'), + itemsByName: indexer.buildIndexFromArray(mcData.items, 'name'), + + foodsById: indexer.buildIndexFromArray(mcData.foods, 'id'), + foodsByName: indexer.buildIndexFromArray(mcData.foods, 'name'), + foodsByFoodPoints: indexer.buildIndexFromArray(mcData.foods, 'foodPoints'), + foodsBySaturation: indexer.buildIndexFromArray(mcData.foods, 'saturation'), + + windowsById: indexer.buildIndexFromArray(mcData.windows, 'id'), + windowsByName: indexer.buildIndexFromArray(mcData.windows, 'name'), + + effectsById: indexer.buildIndexFromArray(mcData.effects, 'id'), + effectsByName: indexer.buildIndexFromArray(mcData.effects, 'name'), + + particlesById: indexer.buildIndexFromArray(mcData.particles, 'id'), + particlesByName: indexer.buildIndexFromArray(mcData.particles, 'name'), + + blockLootByName: indexer.buildIndexFromArray(mcData.blockLoot, 'block'), + entityLootByName: indexer.buildIndexFromArray(mcData.entityLoot, 'entity') + } +} diff --git a/node_modules/minecraft-data/lib/loader.js b/node_modules/minecraft-data/lib/loader.js new file mode 100644 index 00000000..e5e00f5b --- /dev/null +++ b/node_modules/minecraft-data/lib/loader.js @@ -0,0 +1,82 @@ +module.exports = mcDataToNode + +function mcDataToNode (mcData) { + const indexes = require('./indexes.js')(mcData) + return { + blocks: indexes.blocksById, + blocksByName: indexes.blocksByName, + blocksArray: mcData.blocks, + blocksByStateId: indexes.blocksByStateId, + + blockCollisionShapes: mcData.blockCollisionShapes, + + biomes: indexes.biomesById, + biomesArray: mcData.biomes, + + items: indexes.itemsById, + itemsByName: indexes.itemsByName, + itemsArray: mcData.items, + + foods: indexes.foodsById, + foodsByName: indexes.foodsByName, + foodsByFoodPoints: indexes.foodsByFoodPoints, + foodsBySaturation: indexes.foodsBySaturation, + foodsArray: mcData.foods, + + recipes: mcData.recipes, + + instruments: indexes.instrumentsById, + instrumentsArray: mcData.instruments, + + materials: mcData.materials, + + enchantments: indexes.enchantmentsById, + enchantmentsByName: indexes.enchantmentsByName, + enchantmentsArray: mcData.enchantments, + + mobs: indexes.mobsById, + objects: indexes.objectsById, + entitiesByName: indexes.entitiesByName, + entitiesArray: mcData.entities, + + windows: indexes.windowsById, + windowsByName: indexes.windowsByName, + windowsArray: mcData.windows, + + protocol: mcData.protocol, + protocolComments: mcData.protocolComments, + + version: mcData.version, + + effects: indexes.effectsById, + effectsByName: indexes.effectsByName, + effectsArray: mcData.effects, + + particles: indexes.particlesById, + particlesByName: indexes.particlesByName, + particlesArray: mcData.particles, + + language: mcData.language, + + blockLoot: indexes.blockLootByName, + blockLootArray: mcData.blockLoot, + + entityLoot: indexes.entityLootByName, + entityLootArray: mcData.entityLoot, + + commands: mcData.commands, + + loginPacket: mcData.loginPacket, + + findItemOrBlockById: function (id) { + const item = indexes.itemsById[id] + if (item !== undefined) return item + return indexes.blocksById[id] + }, + findItemOrBlockByName: function (name) { + const item = indexes.itemsByName[name] + if (item !== undefined) return item + return indexes.blocksByName[name] + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/.github/workflows/ci.yml b/node_modules/minecraft-data/minecraft-data/.github/workflows/ci.yml new file mode 100644 index 00000000..c94b5839 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/.github/workflows/ci.yml @@ -0,0 +1,27 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: npm install + working-directory: tools/js + - run: npm test + working-directory: tools/js \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/README.md b/node_modules/minecraft-data/minecraft-data/README.md new file mode 100644 index 00000000..33d62c0b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/README.md @@ -0,0 +1,133 @@ +# minecraft-data + +[![Discord](https://img.shields.io/badge/chat-on%20discord-brightgreen.svg)](https://discord.gg/GsEFRM8) +[![Gitter](https://img.shields.io/badge/chat-on%20gitter-brightgreen.svg)](https://gitter.im/PrismarineJS/general) +[![Irc](https://img.shields.io/badge/chat-on%20irc-brightgreen.svg)](https://irc.gitter.im/) +[![Build Status](https://github.com/PrismarineJS/minecraft-data/workflows/CI/badge.svg)](https://github.com/PrismarineJS/minecraft-data/actions?query=workflow%3A%22CI%22) + +Language independent module providing minecraft data for minecraft clients, servers and libraries. + +Supports +* Minecraft PC version 0.30c (classic), 1.7.10, 1.8.8, 1.9 (15w40b, 1.9, 1.9.1-pre2, 1.9.2, 1.9.4), + 1.10 (16w20a, 1.10-pre1, 1.10, 1.10.1, 1.10.2), 1.11 (16w35a, 1.11, 1.11.2), 1.12 (17w15a, 17w18b, 1.12-pre4, 1.12, 1.12.1, 1.12.2), 1.13 (17w50a, 1.13, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2), 1.14 (1.14, 1.14.1, 1.14.3, 1.14.4), 1.15 (1.15, 1.15.1, 1.15.2) and 1.16 (20w13b, 20w14a, 1.16-rc1, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4) +* Minecraft PE version 0.14, 0.15 and 1.0 + +## Wrappers + +Minecraft-data is language independent, you can use it with these language specific modules : + +| Wrapper name | Language | Data provided | +| --- | --- | --- | +| [node-minecraft-data](https://github.com/PrismarineJS/node-minecraft-data) | Node.js | everything | +| [python-minecraft-data](https://github.com/SpockBotMC/python-minecraft-data) | python | everything | +| [McData](https://github.com/McEx/McData) | Elixir | protocol | +| [ProtocolGen](https://github.com/Johni0702/ProtocolGen) | java | generated java files from protocol.json to read and write minecraft packets | + +If you want to use minecraft-data in a new language, we advise you to [create a new wrapper](doc/make-a-new-wrapper.md) + +## Data + +Data provided: + +| Data | Description | +| --- | --- | +| Biomes | | +| Blocks | | +| Enchantment | | +| Effect | Status/Potion effects | +| Entities | | +| Language | language code and their english strings | +| Instruments | sounds emitted by blocks | +| Items | | +| Materials | to be used with blocks data. Provides tool speed multipliers against material types. | +| Particles | Id and names of minecraft particles | +| Protocol | a complete description of the protocol, can be used to automatically implement the protocol | +| Protocol Versions | the whole list of minecraft protocol versions | +| Recipes | to be used with blocks and items data | +| Windows | the different kind of windows and their characteristics | +| Version | | +| Versions | all the versions supported in minecraft-data | +| Block collison shapes | | +| Foods | list of foods each with there id, saturation, foodpoints and more | +| Commands | a tree structure for vanilla minecraft server commands, and some info needed to implement sub-parsers. + + +See more information about this data in the [documentation](http://prismarinejs.github.io/minecraft-data/) + +## Documentation + + * See [doc/history.md](doc/history.md) + * [Documentation generated using the json schemas and docson](http://prismarinejs.github.io/minecraft-data) + * [Textual documentation of the recipe format](doc/recipes.md) + +## Projects using minecraft-data + +These are the projects that use minecraft-data: + +| Project name | Language | Project type | Data used | +| --- | --- | --- | --- | +| [mineflayer](https://github.com/PrismarineJS/mineflayer) | Node.js | bot library | biomes, blocks, entities, instruments, items, materials, recipes | +| [node-minecraft-protocol](https://github.com/PrismarineJS/node-minecraft-protocol) | Node.js | protocol serialization | protocol | +| [flying-squid](https://github.com/PrismarineJS/flying-squid) | Node.js | server library | biomes, blocks, materials | +| [SpockBot](https://github.com/SpockBotMC/SpockBot) | Python | bot library | biomes, blocks, items, materials, windows, recipes | +| [PhaseBot](https://github.com/phase/PhaseBot) | Java | bot | blocks, items, materials | +| [McEx](https://github.com/hansihe/McEx) | Elixir | server | blocks | +| [VoxelGamesLib](https://github.com/MiniDigger/VoxelGamesLib) | Java | minigames server library | blocks, items | +| [Phpcraft](https://github.com/Phpcraft/core) | PHP | all-around library | blocks, items, entities, protocol | +| [Minecraft Item Browser](https://njt1982.github.io/minecraft-item-browser/) ([Repo](https://github.com/njt1982/minecraft-item-browser)) | Javascript | Web-based recipe search tool | blocks, items, recipes | + +## Extraction + +Projects that provide data: + +| Project name | Language | Source | Data provided | +| --- | --- | --- | --- | +| [minecraft-wiki-extractor](https://github.com/PrismarineJS/minecraft-wiki-extractor) | Node.js | [minecraft wiki](http://minecraft.gamepedia.com/Minecraft_Wiki) | blocks, items, entities, recipes | +| [mcdevs-wiki-extractor](https://github.com/PrismarineJS/mcdevs-wiki-extractor) | Node.js | [wiki.vg](http://wiki.vg/Protocol) | a partial protocol, entities | +| [node-minecraft-extractor](https://github.com/PrismarineJS/node-minecraft-extractor) | Node.js | merge between wiki.vg and mcwiki | a complete entities file | +| [minecraft-jar-extractor](https://github.com/PrismarineJS/minecraft-jar-extractor) | Node.js | minecraft server jar | a very partial but completely up to date protocol | +| [minecraft-jar-extractor in python](https://github.com/pangeacake/minecraft-jar-extractor) | Python | minecraft server jar | about the same protocol information as minecraft-jar-extractor in node.js | +| [burger](https://github.com/mcdevs/Burger) with [burger-extractor](https://github.com/PrismarineJS/burger-extractor) | Node.js | minecraft server jar | used to provide items, blocks, biomes and recipes | +| [burger 1.16](https://github.com/Pokechu22/Burger/tree/1.16-dev) | --//-- | --// -- | --//-- | +| [command-generator](https://github.com/Miro-Andrin/mc-data-command-generator) | Python | [Minecraft data generator](https://wiki.vg/Data_Generators) | Data used for parsing all vanilla server commands. | + + + +Pages interesting to manually update the data if necessary: + +| Page | Data | +| ---- | ---- | +| [wiki.vg Inventory page](http://wiki.vg/Inventory) | windows | +| [wiki.vg](http://wiki.vg/Block_Actions) | instruments | +| [a mineflayer PR](https://github.com/PrismarineJS/mineflayer/pull/197) | biomes | +| [mcwiki effects page](http://minecraft.gamepedia.com/Status_effect) | effects | +| [wiki.vg protocol version numbers](http://wiki.vg/Protocol_version_numbers) | protocolVersions | + +## Data quality + +Minecraft data provides scripts to audit the data, they can be useful to check the data is correct : + + * [audit_blocks](tools/js/test/audit_blocks.js) + * [audit_items](tools/js/test/audit_items.js) + * [audit_recipes](tools/js/test/audit_recipes.js) + * [audit_shapes](tools/js/test/audit_shapes.js) + +Minecraft data also provides json schemas in enums_schemas/ that are used in +test/test.js to check the json file are valid relative to these schemas. +These schemas can also be used to understand better how the json files are +formatted in order to use it. + +## Contribute + +Please read https://github.com/PrismarineJS/prismarine-contribute + +## License + +MIT + +Some of the data was extracted manually or automatically from wiki.vg and minecraft.gamepedia.com. +If required by one of the sources the license might change to something more appropriate. + +## Related project + +[minecraft-assets](https://github.com/rom1504/minecraft-assets) which provide minecraft assets along with json files that help to use them. diff --git a/node_modules/minecraft-data/minecraft-data/data/dataPaths.json b/node_modules/minecraft-data/minecraft-data/data/dataPaths.json new file mode 100644 index 00000000..aeb1b093 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/dataPaths.json @@ -0,0 +1,837 @@ +{ + "pc": { + "0.30c": { + "blocks": "pc/0.30c", + "protocol": "pc/0.30c", + "version": "pc/0.30c" + }, + "1.7": { + "blocks": "pc/1.7", + "blockCollisionShapes": "pc/1.7", + "biomes": "pc/1.7", + "enchantments": "pc/1.7", + "effects": "pc/1.7", + "items": "pc/1.7", + "recipes": "pc/1.8", + "instruments": "pc/1.7", + "materials": "pc/1.7", + "entities": "pc/1.7", + "protocol": "pc/1.7", + "windows": "pc/1.7", + "version": "pc/1.7", + "language":"pc/1.7", + "foods": "pc/1.7", + "particles": "pc/1.7" + }, + "1.8": { + "blocks": "pc/1.8", + "blockCollisionShapes": "pc/1.8", + "biomes": "pc/1.8", + "enchantments": "pc/1.8", + "effects": "pc/1.8", + "items": "pc/1.8", + "recipes": "pc/1.8", + "instruments": "pc/1.8", + "materials": "pc/1.8", + "entities": "pc/1.8", + "protocol": "pc/1.8", + "windows": "pc/1.8", + "version": "pc/1.8", + "language":"pc/1.8", + "foods": "pc/1.8", + "particles":"pc/1.8" + }, + "15w40b": { + "blocks": "pc/1.9", + "blockCollisionShapes": "pc/1.9", + "biomes": "pc/1.9", + "effects": "pc/1.9", + "enchantments": "pc/1.9", + "items": "pc/1.9", + "recipes": "pc/1.9", + "instruments": "pc/1.9", + "materials": "pc/1.9", + "entities": "pc/1.9", + "protocol": "pc/15w40b", + "windows": "pc/1.9", + "version": "pc/15w40b", + "language":"pc/1.9", + "particles": "pc/15w40b" + }, + "1.9": { + "blocks": "pc/1.9", + "blockCollisionShapes": "pc/1.9", + "biomes": "pc/1.9", + "effects": "pc/1.9", + "enchantments": "pc/1.9", + "items": "pc/1.9", + "recipes": "pc/1.9", + "instruments": "pc/1.9", + "materials": "pc/1.9", + "entities": "pc/1.9", + "protocol": "pc/1.9", + "windows": "pc/1.9", + "version": "pc/1.9", + "language":"pc/1.9", + "foods": "pc/1.9", + "particles":"pc/1.9" + }, + "1.9.1-pre2": { + "blocks": "pc/1.9", + "blockCollisionShapes": "pc/1.9", + "biomes": "pc/1.9", + "effects": "pc/1.9", + "enchantments": "pc/1.9", + "items": "pc/1.9", + "recipes": "pc/1.9", + "instruments": "pc/1.9", + "materials": "pc/1.9", + "entities": "pc/1.9", + "protocol": "pc/1.9.1-pre2", + "windows": "pc/1.9", + "version": "pc/1.9.1-pre2", + "language":"pc/1.9", + "foods": "pc/1.9", + "particles":"pc/1.9" + }, + "1.9.2": { + "blocks": "pc/1.9", + "blockCollisionShapes": "pc/1.9", + "biomes": "pc/1.9", + "effects": "pc/1.9", + "enchantments": "pc/1.9", + "items": "pc/1.9", + "recipes": "pc/1.9", + "instruments": "pc/1.9", + "materials": "pc/1.9", + "entities": "pc/1.9", + "protocol": "pc/1.9.2", + "protocolComments": "pc/1.9.2", + "windows": "pc/1.9", + "version": "pc/1.9.2", + "language":"pc/1.9", + "foods": "pc/1.9", + "particles":"pc/1.9" + }, + "1.9.4": { + "blocks": "pc/1.9", + "blockCollisionShapes": "pc/1.9", + "biomes": "pc/1.9", + "effects": "pc/1.9", + "enchantments": "pc/1.9", + "items": "pc/1.9", + "recipes": "pc/1.9", + "instruments": "pc/1.9", + "materials": "pc/1.9", + "entities": "pc/1.9", + "protocol": "pc/1.9.4", + "windows": "pc/1.9", + "version": "pc/1.9.4", + "language":"pc/1.9", + "foods": "pc/1.9", + "particles":"pc/1.9" + }, + "16w20a": { + "blocks": "pc/1.9", + "blockCollisionShapes": "pc/1.9", + "biomes": "pc/1.9", + "effects": "pc/1.9", + "enchantments": "pc/1.9", + "items": "pc/1.9", + "recipes": "pc/1.9", + "instruments": "pc/1.9", + "materials": "pc/1.9", + "entities": "pc/1.9", + "protocol": "pc/16w20a", + "windows": "pc/1.9", + "version": "pc/16w20a", + "language":"pc/1.9", + "foods": "pc/1.9", + "particles":"pc/1.10" + }, + "1.10-pre1": { + "blocks": "pc/1.9", + "blockCollisionShapes": "pc/1.9", + "biomes": "pc/1.9", + "effects": "pc/1.9", + "enchantments": "pc/1.9", + "items": "pc/1.9", + "recipes": "pc/1.9", + "instruments": "pc/1.9", + "materials": "pc/1.9", + "entities": "pc/1.9", + "protocol": "pc/1.10-pre1", + "windows": "pc/1.9", + "version": "pc/1.10-pre1", + "language":"pc/1.9", + "foods": "pc/1.9", + "particles":"pc/1.10" + }, + "1.10": { + "blocks": "pc/1.10", + "blockCollisionShapes": "pc/1.10", + "biomes": "pc/1.10", + "effects": "pc/1.10", + "enchantments": "pc/1.10", + "items": "pc/1.10", + "recipes": "pc/1.10", + "instruments": "pc/1.10", + "materials": "pc/1.10", + "entities": "pc/1.10", + "protocol": "pc/1.10", + "windows": "pc/1.10", + "version": "pc/1.10", + "language":"pc/1.10", + "foods": "pc/1.10", + "particles":"pc/1.10" + }, + "1.10.1": { + "blocks": "pc/1.10", + "blockCollisionShapes": "pc/1.10", + "biomes": "pc/1.10", + "effects": "pc/1.10", + "enchantments": "pc/1.10", + "items": "pc/1.10", + "recipes": "pc/1.10", + "instruments": "pc/1.10", + "materials": "pc/1.10", + "entities": "pc/1.10", + "protocol": "pc/1.10", + "windows": "pc/1.10", + "version": "pc/1.10.1", + "language":"pc/1.10", + "foods": "pc/1.10", + "particles":"pc/1.10" + }, + "1.10.2": { + "blocks": "pc/1.10", + "blockCollisionShapes": "pc/1.10", + "biomes": "pc/1.10", + "effects": "pc/1.10", + "enchantments": "pc/1.10", + "items": "pc/1.10", + "recipes": "pc/1.10", + "instruments": "pc/1.10", + "materials": "pc/1.10", + "entities": "pc/1.10", + "protocol": "pc/1.10", + "windows": "pc/1.10", + "version": "pc/1.10.2", + "language":"pc/1.10", + "foods": "pc/1.10", + "particles":"pc/1.10" + }, + "16w35a": { + "blocks": "pc/1.10", + "blockCollisionShapes": "pc/1.10", + "biomes": "pc/1.10", + "effects": "pc/1.10", + "enchantments": "pc/1.10", + "items": "pc/1.10", + "recipes": "pc/1.10", + "instruments": "pc/1.10", + "materials": "pc/1.10", + "entities": "pc/1.10", + "protocol": "pc/16w35a", + "windows": "pc/1.10", + "version": "pc/16w35a", + "language":"pc/1.10", + "foods": "pc/1.10", + "particles":"pc/1.10" + }, + "1.11": { + "blocks": "pc/1.11", + "blockCollisionShapes": "pc/1.11", + "biomes": "pc/1.11", + "effects": "pc/1.11", + "enchantments": "pc/1.11", + "items": "pc/1.11", + "recipes": "pc/1.11", + "instruments": "pc/1.11", + "materials": "pc/1.11", + "entities": "pc/1.11", + "protocol": "pc/1.11", + "protocolComments": "pc/1.11.2", + "windows": "pc/1.11", + "version": "pc/1.11", + "language":"pc/1.11", + "foods": "pc/1.11", + "particles": "pc/1.11" + }, + "1.11.2": { + "blocks": "pc/1.11", + "blockCollisionShapes": "pc/1.11", + "biomes": "pc/1.11", + "effects": "pc/1.11", + "enchantments": "pc/1.11", + "items": "pc/1.11", + "recipes": "pc/1.11", + "instruments": "pc/1.11", + "materials": "pc/1.11", + "entities": "pc/1.11", + "protocol": "pc/1.11", + "protocolComments": "pc/1.11.2", + "windows": "pc/1.11", + "version": "pc/1.11.2", + "language":"pc/1.11", + "foods": "pc/1.11", + "particles": "pc/1.11" + }, + "17w15a": { + "blocks": "pc/1.11", + "blockCollisionShapes": "pc/1.11", + "biomes": "pc/1.11", + "effects": "pc/1.11", + "enchantments": "pc/1.11", + "items": "pc/1.11", + "recipes": "pc/1.11", + "instruments": "pc/1.11", + "materials": "pc/1.11", + "entities": "pc/1.11", + "protocol": "pc/17w15a", + "windows": "pc/1.11", + "version": "pc/17w15a", + "language":"pc/1.11", + "foods": "pc/1.11", + "particles": "pc/1.11" + }, + "17w18b": { + "blocks": "pc/1.11", + "blockCollisionShapes": "pc/1.11", + "biomes": "pc/1.11", + "effects": "pc/1.11", + "enchantments": "pc/1.11", + "items": "pc/1.11", + "recipes": "pc/1.11", + "instruments": "pc/1.11", + "materials": "pc/1.11", + "entities": "pc/1.11", + "protocol": "pc/17w18b", + "windows": "pc/1.11", + "version": "pc/17w18b", + "language":"pc/1.11", + "foods": "pc/1.11", + "particles": "pc/1.11" + }, + "1.12-pre4": { + "blocks": "pc/1.11", + "blockCollisionShapes": "pc/1.11", + "biomes": "pc/1.11", + "effects": "pc/1.11", + "enchantments": "pc/1.11", + "items": "pc/1.11", + "recipes": "pc/1.11", + "instruments": "pc/1.11", + "materials": "pc/1.11", + "entities": "pc/1.11", + "protocol": "pc/1.12-pre4", + "windows": "pc/1.11", + "version": "pc/1.12-pre4", + "language":"pc/1.11", + "foods": "pc/1.11", + "particles": "pc/1.11" + }, + "1.12": { + "blocks": "pc/1.12", + "blockCollisionShapes": "pc/1.12", + "biomes": "pc/1.12", + "effects": "pc/1.12", + "enchantments": "pc/1.12", + "items": "pc/1.12", + "recipes": "pc/1.12", + "instruments": "pc/1.12", + "materials": "pc/1.12", + "entities": "pc/1.12", + "protocol": "pc/1.12", + "windows": "pc/1.12", + "version": "pc/1.12", + "language":"pc/1.12", + "foods": "pc/1.12", + "particles": "pc/1.12" + }, + "1.12.1": { + "blocks": "pc/1.12", + "blockCollisionShapes": "pc/1.12", + "biomes": "pc/1.12", + "effects": "pc/1.12", + "enchantments": "pc/1.12", + "items": "pc/1.12", + "recipes": "pc/1.12", + "instruments": "pc/1.12", + "materials": "pc/1.12", + "entities": "pc/1.12", + "protocol": "pc/1.12.1", + "windows": "pc/1.12", + "version": "pc/1.12.1", + "language":"pc/1.12", + "foods": "pc/1.12", + "particles": "pc/1.12" + }, + "1.12.2": { + "blocks": "pc/1.12", + "blockCollisionShapes": "pc/1.12", + "biomes": "pc/1.12", + "effects": "pc/1.12", + "enchantments": "pc/1.12", + "items": "pc/1.12", + "recipes": "pc/1.12", + "instruments": "pc/1.12", + "materials": "pc/1.12", + "entities": "pc/1.12", + "protocol": "pc/1.12.2", + "windows": "pc/1.12", + "version": "pc/1.12.2", + "language":"pc/1.12", + "foods": "pc/1.12", + "particles": "pc/1.12" + }, + "17w50a": { + "blocks": "pc/1.12", + "blockCollisionShapes": "pc/1.12", + "biomes": "pc/1.12", + "effects": "pc/1.12", + "enchantments": "pc/1.12", + "items": "pc/1.12", + "recipes": "pc/1.12", + "instruments": "pc/1.12", + "materials": "pc/1.12", + "entities": "pc/1.12", + "protocol": "pc/17w50a", + "windows": "pc/1.12", + "version": "pc/17w50a", + "language":"pc/1.12", + "foods": "pc/1.12", + "particles": "pc/17w50a" + }, + "1.13": { + "blocks": "pc/1.13", + "blockCollisionShapes": "pc/1.13", + "biomes": "pc/1.13", + "effects": "pc/1.13", + "enchantments": "pc/1.13", + "items": "pc/1.13", + "recipes": "pc/1.13", + "instruments": "pc/1.13", + "materials": "pc/1.13", + "entities": "pc/1.13", + "protocol": "pc/1.13", + "windows": "pc/1.13", + "version": "pc/1.13", + "language":"pc/1.13", + "foods": "pc/1.13.2", + "particles": "pc/1.13", + "commands": "pc/1.13" + }, + "1.13.1": { + "blocks": "pc/1.13", + "blockCollisionShapes": "pc/1.13", + "biomes": "pc/1.13", + "effects": "pc/1.13", + "enchantments": "pc/1.13", + "items": "pc/1.13", + "recipes": "pc/1.13", + "instruments": "pc/1.13", + "materials": "pc/1.13", + "entities": "pc/1.13", + "protocol": "pc/1.13.1", + "windows": "pc/1.13", + "version": "pc/1.13.1", + "language":"pc/1.13", + "foods": "pc/1.13.2", + "particles": "pc/1.13", + "commands": "pc/1.13.1" + }, + "1.13.2-pre1": { + "blocks": "pc/1.13", + "blockCollisionShapes": "pc/1.13", + "biomes": "pc/1.13", + "effects": "pc/1.13", + "enchantments": "pc/1.13", + "items": "pc/1.13", + "recipes": "pc/1.13", + "instruments": "pc/1.13", + "materials": "pc/1.13", + "entities": "pc/1.13", + "protocol": "pc/1.13.2-pre1", + "windows": "pc/1.13", + "version": "pc/1.13.2-pre1", + "language":"pc/1.13", + "foods": "pc/1.13.2", + "particles": "pc/1.13" + }, + "1.13.2-pre2": { + "blocks": "pc/1.13", + "blockCollisionShapes": "pc/1.13", + "biomes": "pc/1.13", + "effects": "pc/1.13", + "enchantments": "pc/1.13", + "items": "pc/1.13", + "recipes": "pc/1.13", + "instruments": "pc/1.13", + "materials": "pc/1.13", + "entities": "pc/1.13", + "protocol": "pc/1.13.2-pre2", + "windows": "pc/1.13", + "version": "pc/1.13.2-pre2", + "language":"pc/1.13", + "foods": "pc/1.13.2", + "particles": "pc/1.13" + }, + "1.13.2": { + "blocks": "pc/1.13.2", + "blockCollisionShapes": "pc/1.13.2", + "biomes": "pc/1.13.2", + "effects": "pc/1.13.2", + "enchantments": "pc/1.13.2", + "items": "pc/1.13.2", + "recipes": "pc/1.13.2", + "instruments": "pc/1.13.2", + "materials": "pc/1.13.2", + "entities": "pc/1.13.2", + "protocol": "pc/1.13.2", + "windows": "pc/1.13.2", + "version": "pc/1.13.2", + "language":"pc/1.13.2", + "foods": "pc/1.13.2", + "particles": "pc/1.13", + "commands": "pc/1.13.2" + }, + "1.14": { + "blocks": "pc/1.14.4", + "blockCollisionShapes": "pc/1.14", + "biomes": "pc/1.14", + "enchantments": "pc/1.13.2", + "effects": "pc/1.14.4", + "items": "pc/1.14", + "recipes": "pc/1.14", + "instruments": "pc/1.14.4", + "materials": "pc/1.14.4", + "entities": "pc/1.14", + "language": "pc/1.14", + "protocol": "pc/1.14", + "version": "pc/1.14", + "windows": "pc/1.14.4", + "foods": "pc/1.14.4", + "particles": "pc/1.14", + "blockLoot": "pc/1.14.4", + "entityLoot": "pc/1.14.4", + "commands": "pc/1.14" + }, + "1.14.1": { + "blocks": "pc/1.14.4", + "blockCollisionShapes": "pc/1.14.4", + "biomes": "pc/1.14", + "enchantments": "pc/1.13.2", + "effects": "pc/1.14.4", + "items": "pc/1.14", + "recipes": "pc/1.14", + "instruments": "pc/1.14.4", + "materials": "pc/1.14.4", + "entities": "pc/1.14", + "language": "pc/1.14", + "protocol": "pc/1.14.1", + "version": "pc/1.14.1", + "windows": "pc/1.14.4", + "foods": "pc/1.14.4", + "particles": "pc/1.14", + "blockLoot": "pc/1.14.4", + "entityLoot": "pc/1.14.4", + "commands": "pc/1.14.1" + }, + "1.14.3": { + "blocks": "pc/1.14.4", + "enchantments": "pc/1.13.2", + "blockCollisionShapes": "pc/1.14.4", + "biomes": "pc/1.14", + "effects": "pc/1.14.4", + "items": "pc/1.14", + "recipes": "pc/1.14", + "instruments": "pc/1.14.4", + "materials": "pc/1.14.4", + "entities": "pc/1.14", + "language": "pc/1.14", + "protocol": "pc/1.14.3", + "version": "pc/1.14.3", + "windows": "pc/1.14.4", + "foods": "pc/1.14.4", + "particles": "pc/1.14", + "blockLoot": "pc/1.14.4", + "entityLoot": "pc/1.14.4", + "commands": "pc/1.14.3" + }, + "1.14.4": { + "blocks": "pc/1.14.4", + "blockCollisionShapes": "pc/1.14.4", + "biomes": "pc/1.14.4", + "enchantments": "pc/1.13.2", + "effects": "pc/1.14.4", + "items": "pc/1.14.4", + "recipes": "pc/1.14.4", + "instruments": "pc/1.14.4", + "materials": "pc/1.14.4", + "entities": "pc/1.14.4", + "protocol": "pc/1.14.4", + "windows": "pc/1.14.4", + "version": "pc/1.14.4", + "language": "pc/1.14.4", + "foods": "pc/1.14.4", + "particles": "pc/1.14", + "blockLoot": "pc/1.14.4", + "entityLoot": "pc/1.14.4", + "commands": "pc/1.14.4" + }, + "1.15": { + "blockCollisionShapes": "pc/1.15", + "protocol": "pc/1.15", + "enchantments": "pc/1.13.2", + "version": "pc/1.15", + "blocks": "pc/1.15.2", + "biomes": "pc/1.15.2", + "effects": "pc/1.15.2", + "items": "pc/1.15.2", + "recipes": "pc/1.15.2", + "instruments": "pc/1.15.2", + "materials": "pc/1.15.2", + "entities": "pc/1.15.2", + "windows": "pc/1.15.2", + "language": "pc/1.15.2", + "foods" : "pc/1.15.2", + "particles": "pc/1.15", + "blockLoot": "pc/1.15.2", + "entityLoot": "pc/1.15.2", + "commands": "pc/1.15" + }, + "1.15.1": { + "protocol": "pc/1.15.1", + "version": "pc/1.15.1", + "blocks": "pc/1.15.2", + "blockCollisionShapes": "pc/1.15.2", + "enchantments": "pc/1.13.2", + "biomes": "pc/1.15.2", + "effects": "pc/1.15.2", + "items": "pc/1.15.2", + "recipes": "pc/1.15.2", + "instruments": "pc/1.15.2", + "materials": "pc/1.15.2", + "entities": "pc/1.15.2", + "windows": "pc/1.15.2", + "language": "pc/1.15.2", + "foods" : "pc/1.15.2", + "particles": "pc/1.15", + "blockLoot": "pc/1.15.2", + "entityLoot": "pc/1.15.2", + "commands": "pc/1.15.1" + }, + "1.15.2": { + "blocks": "pc/1.15.2", + "blockCollisionShapes": "pc/1.15.2", + "enchantments": "pc/1.13.2", + "biomes": "pc/1.15.2", + "effects": "pc/1.15.2", + "items": "pc/1.15.2", + "recipes": "pc/1.15.2", + "instruments": "pc/1.15.2", + "materials": "pc/1.15.2", + "entities": "pc/1.15.2", + "protocol": "pc/1.15.2", + "windows": "pc/1.15.2", + "version": "pc/1.15.2", + "language": "pc/1.15.2", + "foods" : "pc/1.15.2", + "particles": "pc/1.15", + "blockLoot": "pc/1.15.2", + "entityLoot": "pc/1.15.2", + "commands": "pc/1.15.2" + }, + "20w13b": { + "protocol": "pc/20w13b", + "version": "pc/20w13b", + "blocks": "pc/1.16.1", + "enchantments": "pc/1.13.2", + "biomes": "pc/1.16.1", + "effects": "pc/1.16.1", + "items": "pc/1.16.1", + "recipes": "pc/1.16.1", + "instruments": "pc/1.16.1", + "entities": "pc/1.16.1", + "windows": "pc/1.16.1", + "blockCollisionShapes": "pc/1.16.1", + "materials": "pc/1.16.1", + "language": "pc/1.16.1", + "foods" : "pc/1.16.1", + "particles": "pc/20w13b", + "blockLoot": "pc/1.16.1", + "entityLoot": "pc/1.16.1" + }, + "20w14a": { + "protocol": "pc/20w13b", + "version": "pc/20w14a", + "blocks": "pc/1.16.1", + "biomes": "pc/1.16.1", + "effects": "pc/1.16.1", + "enchantments": "pc/1.13.2", + "items": "pc/1.16.1", + "recipes": "pc/1.16.1", + "instruments": "pc/1.16.1", + "entities": "pc/1.16.1", + "windows": "pc/1.16.1", + "blockCollisionShapes": "pc/1.16.1", + "materials": "pc/1.16.1", + "language": "pc/1.16.1", + "foods" : "pc/1.16.1", + "particles": "pc/20w13b", + "blockLoot": "pc/1.16.1", + "entityLoot": "pc/1.16.1" + }, + "1.16-rc1": { + "protocol": "pc/1.16-rc1", + "version": "pc/1.16-rc1", + "blocks": "pc/1.16.1", + "biomes": "pc/1.16.1", + "effects": "pc/1.16.1", + "enchantments": "pc/1.13.2", + "items": "pc/1.16.1", + "recipes": "pc/1.16.1", + "instruments": "pc/1.16.1", + "entities": "pc/1.16.1", + "windows": "pc/1.16.1", + "blockCollisionShapes": "pc/1.16.1", + "materials": "pc/1.16.1", + "language": "pc/1.16.1", + "foods" : "pc/1.16.1", + "particles": "pc/1.16", + "blockLoot": "pc/1.16.1", + "entityLoot": "pc/1.16.1" + }, + "1.16": { + "protocol": "pc/1.16", + "version": "pc/1.16", + "blocks": "pc/1.16.1", + "biomes": "pc/1.16.1", + "enchantments": "pc/1.13.2", + "effects": "pc/1.16.1", + "items": "pc/1.16.1", + "recipes": "pc/1.16.1", + "instruments": "pc/1.16.1", + "entities": "pc/1.16.1", + "windows": "pc/1.16.1", + "blockCollisionShapes": "pc/1.16.1", + "materials": "pc/1.16.1", + "language": "pc/1.16.1", + "foods" : "pc/1.16.1", + "particles": "pc/1.16", + "blockLoot": "pc/1.16.1", + "entityLoot": "pc/1.16.1", + "commands": "pc/1.16", + "loginPacket": "pc/1.16" + }, + "1.16.1": { + "blocks": "pc/1.16.1", + "blockCollisionShapes": "pc/1.16.1", + "biomes": "pc/1.16.1", + "effects": "pc/1.16.1", + "items": "pc/1.16.1", + "recipes": "pc/1.16.1", + "instruments": "pc/1.16.1", + "materials": "pc/1.16.1", + "enchantments": "pc/1.13.2", + "language": "pc/1.16.1", + "entities": "pc/1.16.1", + "protocol": "pc/1.16.1", + "windows": "pc/1.16.1", + "version": "pc/1.16.1", + "foods" : "pc/1.16.1", + "particles": "pc/1.16", + "blockLoot": "pc/1.16.1", + "entityLoot": "pc/1.16.1", + "commands": "pc/1.16.1", + "loginPacket": "pc/1.16" + }, + "1.16.2": { + "blocks": "pc/1.16.2", + "blockCollisionShapes": "pc/1.16.1", + "biomes": "pc/1.16.2", + "effects": "pc/1.16.1", + "items": "pc/1.16.2", + "enchantments": "pc/1.13.2", + "recipes": "pc/1.16.2", + "instruments": "pc/1.16.1", + "materials": "pc/1.16.2", + "language": "pc/1.16.1", + "entities": "pc/1.16.2", + "protocol": "pc/1.16.2", + "windows": "pc/1.16.1", + "version": "pc/1.16.2", + "foods" : "pc/1.16.1", + "particles": "pc/1.16", + "blockLoot": "pc/1.16.2", + "entityLoot": "pc/1.16.2", + "commands": "pc/1.16.2", + "loginPacket": "pc/1.16.2" + }, + "1.16.3": { + "blocks": "pc/1.16.2", + "blockCollisionShapes": "pc/1.16.1", + "biomes": "pc/1.16.2", + "effects": "pc/1.16.1", + "items": "pc/1.16.2", + "enchantments": "pc/1.13.2", + "recipes": "pc/1.16.2", + "instruments": "pc/1.16.1", + "materials": "pc/1.16.2", + "language": "pc/1.16.1", + "entities": "pc/1.16.2", + "protocol": "pc/1.16.2", + "windows": "pc/1.16.1", + "version": "pc/1.16.3", + "foods" : "pc/1.16.1", + "particles": "pc/1.16", + "blockLoot": "pc/1.16.2", + "entityLoot": "pc/1.16.2", + "loginPacket": "pc/1.16.2" + }, + "1.16.4": { + "blocks": "pc/1.16.2", + "blockCollisionShapes": "pc/1.16.1", + "biomes": "pc/1.16.2", + "effects": "pc/1.16.1", + "items": "pc/1.16.2", + "enchantments": "pc/1.13.2", + "recipes": "pc/1.16.2", + "instruments": "pc/1.16.1", + "materials": "pc/1.16.2", + "language": "pc/1.16.1", + "entities": "pc/1.16.2", + "protocol": "pc/1.16.2", + "windows": "pc/1.16.1", + "version": "pc/1.16.4", + "foods" : "pc/1.16.1", + "particles": "pc/1.16", + "blockLoot": "pc/1.16.2", + "entityLoot": "pc/1.16.2", + "loginPacket": "pc/1.16.2" + } + }, + "pe":{ + "0.14":{ + "blocks": "pe/0.14", + "biomes": "pc/1.8", + "items": "pe/0.14", + "protocol": "pe/0.14", + "version": "pe/0.14" + }, + "0.15":{ + "blocks": "pe/0.15", + "biomes": "pc/1.8", + "items": "pe/0.15", + "protocol": "pe/0.15", + "version": "pe/0.15" + }, + "1.0":{ + "blocks": "pe/1.0", + "biomes": "pc/1.8", + "items": "pe/1.0", + "version": "pe/1.0" + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/0.30c/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pc/0.30c/blocks.json new file mode 100644 index 00000000..b53b2f9b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/0.30c/blocks.json @@ -0,0 +1,652 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass block", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "wood planks", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": 0, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 8, + "displayName": "Flowing Water", + "name": "flowing water", + "hardness": 0, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "stationary water", + "hardness": 0, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 10, + "displayName": "Flowing Lava", + "name": "flowing lava", + "hardness": 0, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "stationary lava", + "hardness": 0, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold ore", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron ore", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal ore", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 17, + "displayName": "Wood", + "name": "wood", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 21, + "displayName": "Red Cloth", + "name": "red cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 22, + "displayName": "Orange Cloth", + "name": "orange cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 23, + "displayName": "Yellow Cloth", + "name": "yellow cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 24, + "displayName": "Lime Cloth", + "name": "lime cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 25, + "displayName": "Green Cloth", + "name": "green cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 26, + "displayName": "Aqua Green Cloth", + "name": "aqua green cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 27, + "displayName": "Cyan Cloth", + "name": "cyan cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 28, + "displayName": "Blue Cloth", + "name": "blue cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 29, + "displayName": "Purple Cloth", + "name": "purple cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 30, + "displayName": "Indigo Cloth", + "name": "indigo cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 31, + "displayName": "Violet Cloth", + "name": "violet cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 32, + "displayName": "Magenta Cloth", + "name": "magenta cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 33, + "displayName": "Pink Cloth", + "name": "pink cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 34, + "displayName": "Black Cloth", + "name": "black cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 35, + "displayName": "Gray Cloth", + "name": "gray cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 36, + "displayName": "White Cloth", + "name": "white cloth", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "dandelion", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 38, + "displayName": "Rose", + "name": "rose", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown mushroom", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red mushroom", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "block of gold", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "block of iron", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 43, + "displayName": "Double Slab", + "name": "double slab", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 44, + "displayName": "Slab", + "name": "slab", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 45, + "displayName": "Brick", + "name": "brick", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "moss stone", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 0 + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/0.30c/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/0.30c/protocol.json new file mode 100644 index 00000000..229a6e8b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/0.30c/protocol.json @@ -0,0 +1,446 @@ +{ + "types":{ + "u8":"native", + "string":"native", + "i8":"native", + "i16":"native", + "byte_array":"native" + }, + "toServer": { + "types": { + "packet_player_identification": [ + "container", + [ + { + "name": "protocol_version", + "type": "u8" + }, + { + "name": "username", + "type": "string" + }, + { + "name": "verification_key", + "type": "string" + }, + { + "name": "unused", + "type": "i8" + } + ] + ], + "packet_set_block": [ + "container", + [ + { + "name": "x", + "type": "i16" + }, + { + "name": "y", + "type": "i16" + }, + { + "name": "z", + "type": "i16" + }, + { + "name": "mode", + "type": "u8" + }, + { + "name": "block_type", + "type": "u8" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "player_id", + "type": "u8" + }, + { + "name": "x", + "type": "i16" + }, + { + "name": "y", + "type": "i16" + }, + { + "name": "z", + "type": "i16" + }, + { + "name": "yaw", + "type": "u8" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_message": [ + "container", + [ + { + "name": "unused", + "type": "u8" + }, + { + "name": "message", + "type": "string" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "u8", + "mappings": { + "0x00": "player_identification", + "0x05": "set_block", + "0x08": "position", + "0x0d": "message" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "player_identification": "packet_player_identification", + "set_block": "packet_set_block", + "position": "packet_position", + "message": "packet_message" + } + } + ] + } + ] + ] + } + }, + "toClient": { + "types": { + "packet_server_identification": [ + "container", + [ + { + "name": "protocol_version", + "type": "u8" + }, + { + "name": "server_name", + "type": "string" + }, + { + "name": "server_motd", + "type": "string" + }, + { + "name": "user_type", + "type": "i8" + } + ] + ], + "packet_ping": [ + "container", + [] + ], + "packet_level_initialize": [ + "container", + [] + ], + "packet_level_data_chunk": [ + "container", + [ + { + "name": "chunk_data", + "type": "byte_array" + }, + { + "name": "percent_complete", + "type": "u8" + } + ] + ], + "packet_level_finalize": [ + "container", + [ + { + "name": "x_size", + "type": "i16" + }, + { + "name": "y_size", + "type": "i16" + }, + { + "name": "z_size", + "type": "i16" + } + ] + ], + "packet_set_block": [ + "container", + [ + { + "name": "x", + "type": "i16" + }, + { + "name": "y", + "type": "i16" + }, + { + "name": "z", + "type": "i16" + }, + { + "name": "block_type", + "type": "u8" + } + ] + ], + "packet_spawn_player": [ + "container", + [ + { + "name": "player_id", + "type": "i8" + }, + { + "name": "player_name", + "type": "string" + }, + { + "name": "x", + "type": "i16" + }, + { + "name": "y", + "type": "i16" + }, + { + "name": "z", + "type": "i16" + }, + { + "name": "yaw", + "type": "u8" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_player_teleport": [ + "container", + [ + { + "name": "player_id", + "type": "i8" + }, + { + "name": "x", + "type": "i16" + }, + { + "name": "y", + "type": "i16" + }, + { + "name": "z", + "type": "i16" + }, + { + "name": "yaw", + "type": "u8" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_position_and_orientation_update": [ + "container", + [ + { + "name": "player_id", + "type": "i8" + }, + { + "name": "change_in_x", + "type": "i8" + }, + { + "name": "change_in_y", + "type": "i8" + }, + { + "name": "change_in_z", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + } + ] + ], + "packet_position_update": [ + "container", + [ + { + "name": "player_id", + "type": "i8" + }, + { + "name": "change_in_x", + "type": "i8" + }, + { + "name": "change_in_y", + "type": "i8" + }, + { + "name": "change_in_z", + "type": "i8" + } + ] + ], + "packet_orientation_update": [ + "container", + [ + { + "name": "player_id", + "type": "i8" + }, + { + "name": "yaw", + "type": "u8" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_despawn_player": [ + "container", + [ + { + "name": "player_id", + "type": "i8" + } + ] + ], + "packet_message": [ + "container", + [ + { + "name": "player_id", + "type": "i8" + }, + { + "name": "message", + "type": "string" + } + ] + ], + "packet_disconnect_player": [ + "container", + [ + { + "name": "disconnect_reason", + "type": "string" + } + ] + ], + "packet_update_user_type": [ + "container", + [ + { + "name": "user_type", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "u8", + "mappings": { + "0x00": "server_identification", + "0x01": "ping", + "0x02": "level_initialize", + "0x03": "level_data_chunk", + "0x04": "level_finalize", + "0x06": "set_block", + "0x07": "spawn_player", + "0x08": "player_teleport", + "0x09": "position_and_orientation_update", + "0x0a": "position_update", + "0x0b": "orientation_update", + "0x0c": "despawn_player", + "0x0d": "message", + "0x0e": "disconnect_player", + "0x0f": "update_user_type" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_identification": "packet_server_identification", + "ping": "packet_ping", + "level_initialize": "packet_level_initialize", + "level_data_chunk": "packet_level_data_chunk", + "level_finalize": "packet_level_finalize", + "set_block": "packet_set_block", + "spawn_player": "packet_spawn_player", + "player_teleport": "packet_player_teleport", + "position_and_orientation_update": "packet_position_and_orientation_update", + "position_update": "packet_position_update", + "orientation_update": "packet_orientation_update", + "despawn_player": "packet_despawn_player", + "message": "packet_message", + "disconnect_player": "packet_disconnect_player", + "update_user_type": "packet_update_user_type" + } + } + ] + } + ] + ] + } + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/0.30c/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/0.30c/version.json new file mode 100644 index 00000000..54685927 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/0.30c/version.json @@ -0,0 +1,5 @@ +{ + "version":7, + "minecraftVersion":"0.30c", + "majorVersion":"0.30c" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10-pre1/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10-pre1/protocol.json new file mode 100644 index 00000000..684da433 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10-pre1/protocol.json @@ -0,0 +1,3571 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "u8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "tab_complete", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "transaction", + "0x12": "close_window", + "0x13": "open_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "keep_alive", + "0x20": "map_chunk", + "0x21": "world_event", + "0x22": "world_particles", + "0x23": "login", + "0x24": "map", + "0x25": "rel_entity_move", + "0x26": "entity_move_look", + "0x27": "entity_look", + "0x28": "entity", + "0x29": "vehicle_move", + "0x2a": "open_sign_entity", + "0x2b": "abilities", + "0x2c": "combat_event", + "0x2d": "player_info", + "0x2e": "position", + "0x2f": "bed", + "0x30": "entity_destroy", + "0x31": "remove_entity_effect", + "0x32": "resource_pack_send", + "0x33": "respawn", + "0x34": "entity_head_rotation", + "0x35": "world_border", + "0x36": "camera", + "0x37": "held_item_slot", + "0x38": "scoreboard_display_objective", + "0x39": "entity_metadata", + "0x3a": "attach_entity", + "0x3b": "entity_velocity", + "0x3c": "entity_equipment", + "0x3d": "experience", + "0x3e": "update_health", + "0x3f": "scoreboard_objective", + "0x40": "set_passengers", + "0x41": "teams", + "0x42": "scoreboard_score", + "0x43": "spawn_position", + "0x44": "update_time", + "0x45": "title", + "0x46": "sound_effect", + "0x47": "playerlist_header", + "0x48": "collect", + "0x49": "entity_teleport", + "0x4a": "entity_update_attributes", + "0x4b": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "i8" + }, + { + "name": "cursorY", + "type": "i8" + }, + { + "name": "cursorZ", + "type": "i8" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "tab_complete", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "transaction", + "0x06": "enchant_item", + "0x07": "window_click", + "0x08": "close_window", + "0x09": "custom_payload", + "0x0a": "use_entity", + "0x0b": "keep_alive", + "0x0c": "position", + "0x0d": "position_look", + "0x0e": "look", + "0x0f": "flying", + "0x10": "vehicle_move", + "0x11": "steer_boat", + "0x12": "abilities", + "0x13": "block_dig", + "0x14": "entity_action", + "0x15": "steer_vehicle", + "0x16": "resource_pack_receive", + "0x17": "held_item_slot", + "0x18": "set_creative_slot", + "0x19": "update_sign", + "0x1a": "arm_animation", + "0x1b": "spectate", + "0x1c": "block_place", + "0x1d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10-pre1/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10-pre1/version.json new file mode 100644 index 00000000..49b0bf8d --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10-pre1/version.json @@ -0,0 +1,5 @@ +{ + "version":201, + "minecraftVersion":"16w20a", + "majorVersion":"1.10" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10.1/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10.1/version.json new file mode 100644 index 00000000..5cf320e2 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10.1/version.json @@ -0,0 +1,5 @@ +{ + "version":210, + "minecraftVersion":"1.10.1", + "majorVersion":"1.10" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10.2/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10.2/version.json new file mode 100644 index 00000000..274a5011 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10.2/version.json @@ -0,0 +1,5 @@ +{ + "version":210, + "minecraftVersion":"1.10.2", + "majorVersion":"1.10" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/biomes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/biomes.json new file mode 100644 index 00000000..21388635 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/biomes.json @@ -0,0 +1,282 @@ +[ + { + "id": 0, + "color": 112, + "name": "Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 1, + "color": 9286496, + "name": "Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 2, + "color": 16421912, + "name": "Desert", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 3, + "color": 6316128, + "name": "Extreme Hills", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 4, + "color": 353825, + "name": "Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 5, + "color": 747097, + "name": "Taiga", + "rainfall": 0.8, + "temperature": 0.05 + }, + { + "id": 6, + "color": 522674, + "name": "Swampland", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 7, + "color": 255, + "name": "River", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 8, + "color": 16711680, + "name": "Hell", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 9, + "color": 8421631, + "name": "The End", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 10, + "color": 9474208, + "name": "FrozenOcean", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 11, + "color": 10526975, + "name": "FrozenRiver", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 12, + "color": 16777215, + "name": "Ice Plains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 13, + "color": 10526880, + "name": "Ice Mountains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 14, + "color": 16711935, + "name": "MushroomIsland", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 15, + "color": 10486015, + "name": "MushroomIslandShore", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 16, + "color": 16440917, + "name": "Beach", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 17, + "color": 13786898, + "name": "DesertHills", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 18, + "color": 2250012, + "name": "ForestHills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 19, + "color": 1456435, + "name": "TaigaHills", + "rainfall": 0.7, + "temperature": 0.2 + }, + { + "id": 20, + "color": 7501978, + "name": "Extreme Hills Edge", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 21, + "color": 5470985, + "name": "Jungle", + "rainfall": 0.9, + "temperature": 1.2 + }, + { + "id": 22, + "color": 2900485, + "name": "JungleHills", + "rainfall": 0.9, + "temperature": 1.2 + }, + { + "id": 23, + "color": 6458135, + "name": "JungleEdge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 24, + "color": 48, + "name": "Deep Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 25, + "color": 10658436, + "name": "Stone Beach", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 26, + "color": 16445632, + "name": "Cold Beach", + "rainfall": 0.3, + "temperature": 0.05 + }, + { + "id": 27, + "color": 3175492, + "name": "Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 28, + "color": 2055986, + "name": "Birch Forest Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 29, + "color": 4215066, + "name": "Roofed Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 30, + "color": 3233098, + "name": "Cold Taiga", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 31, + "color": 2375478, + "name": "Cold Taiga Hills", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 32, + "color": 5858897, + "name": "Mega Taiga", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 33, + "color": 4542270, + "name": "Mega Taiga Hills", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 34, + "color": 5271632, + "name": "Extreme Hills+", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 35, + "color": 12431967, + "name": "Savanna", + "rainfall": 0, + "temperature": 1.2 + }, + { + "id": 36, + "color": 10984804, + "name": "Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 37, + "color": 14238997, + "name": "Mesa", + "rainfall": 0.5, + "temperature": 2.0 + }, + { + "id": 38, + "color": 11573093, + "name": "Mesa Plateau F", + "rainfall": 0.5, + "temperature": 2.0 + }, + { + "id": 39, + "color": 13274213, + "name": "Redwood Taiga Hills M", + "rainfall": 0.5, + "temperature": 2.0 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/blockCollisionShapes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/blockCollisionShapes.json new file mode 100644 index 00000000..4028289a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/blockCollisionShapes.json @@ -0,0 +1,294 @@ +{"blocks":{"air":0, +"stone":1, +"grass":1, +"dirt":1, +"cobblestone":1, +"planks":1, +"sapling":0, +"bedrock":1, +"flowing_water":0, +"water":0, +"flowing_lava":0, +"lava":0, +"sand":1, +"gravel":1, +"gold_ore":1, +"iron_ore":1, +"coal_ore":1, +"log":1, +"leaves":1, +"sponge":1, +"glass":1, +"lapis_ore":1, +"lapis_block":1, +"dispenser":1, +"sandstone":1, +"noteblock":1, +"bed":2, +"golden_rail":0, +"detector_rail":0, +"sticky_piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0], +"web":0, +"tallgrass":0, +"deadbush":0, +"piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0], +"piston_head":[10,11,9,12,13,14,0,0,10,11,9,12,13,14,0,0], +"wool":1, +"piston_extension":0, +"yellow_flower":0, +"red_flower":0, +"brown_mushroom":0, +"red_mushroom":0, +"gold_block":1, +"iron_block":1, +"double_stone_slab":1, +"stone_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"brick_block":1, +"tnt":1, +"bookshelf":1, +"mossy_cobblestone":1, +"obsidian":1, +"torch":0, +"fire":0, +"mob_spawner":1, +"oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"chest":25, +"redstone_wire":0, +"diamond_ore":1, +"diamond_block":1, +"crafting_table":1, +"wheat":0, +"farmland":26, +"furnace":1, +"lit_furnace":1, +"standing_sign":0, +"wooden_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"ladder":[27,27,27,29,30,28,27,27,27,29,30,28,27,27,27,29], +"rail":0, +"stone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"wall_sign":0, +"lever":0, +"stone_pressure_plate":0, +"iron_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"wooden_pressure_plate":0, +"redstone_ore":1, +"lit_redstone_ore":1, +"unlit_redstone_torch":0, +"redstone_torch":0, +"stone_button":0, +"snow_layer":[0,31,32,33,15,34,4,35,0,31,32,33,15,34,4,35], +"ice":1, +"snow":1, +"cactus":36, +"clay":1, +"reeds":0, +"jukebox":1, +"fence":37, +"pumpkin":1, +"netherrack":1, +"soul_sand":35, +"glowstone":1, +"portal":0, +"lit_pumpkin":1, +"cake":[38,39,40,41,42,43,44,0,0,0,0,0,0,0,0,0], +"unpowered_repeater":31, +"powered_repeater":31, +"stained_glass":1, +"trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28], +"monster_egg":1, +"stonebrick":1, +"brown_mushroom_block":1, +"red_mushroom_block":1, +"iron_bars":47, +"glass_pane":47, +"melon_block":1, +"pumpkin_stem":0, +"melon_stem":0, +"vine":0, +"fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"stone_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"mycelium":1, +"waterlily":50, +"nether_brick":1, +"nether_brick_fence":37, +"nether_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"nether_wart":0, +"enchanting_table":4, +"brewing_stand":51, +"cauldron":52, +"end_portal":0, +"end_portal_frame":[81,81,81,81,82,82,82,82,81,81,81,81,82,82,82,82], +"end_stone":1, +"dragon_egg":53, +"redstone_lamp":1, +"lit_redstone_lamp":1, +"double_wooden_slab":1, +"wooden_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"cocoa":[55,56,54,57,58,59,60,61,62,63,64,65,0,0,0,0], +"sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"emerald_ore":1, +"ender_chest":25, +"tripwire_hook":0, +"tripwire":0, +"emerald_block":1, +"spruce_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"birch_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"jungle_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"command_block":1, +"beacon":1, +"cobblestone_wall":66, +"flower_pot":67, +"carrots":0, +"potatoes":0, +"wooden_button":0, +"skull":[69,69,68,70,71,72,69,69,69,69,68,70,71,72,69,69], +"anvil":[73,74,73,74,73,74,73,74,73,74,73,74,0,0,0,0], +"trapped_chest":25, +"light_weighted_pressure_plate":0, +"heavy_weighted_pressure_plate":0, +"unpowered_comparator":31, +"powered_comparator":31, +"daylight_detector":33, +"redstone_block":1, +"quartz_ore":1, +"hopper":75, +"quartz_block":1, +"quartz_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"activator_rail":0, +"dropper":1, +"stained_hardened_clay":1, +"stained_glass_pane":47, +"leaves2":1,"log2":1,"acacia_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"dark_oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"slime":1, +"barrier":1, +"iron_trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28], +"prismarine":1, +"sea_lantern":1, +"hay_block":1, +"carpet":76, +"hardened_clay":1, +"coal_block":1, +"packed_ice":1, +"double_plant":0, +"standing_banner":0, +"wall_banner":0, +"daylight_detector_inverted":33, +"red_sandstone":1, +"red_sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"double_stone_slab2":1,"stone_slab2":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"spruce_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"birch_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"jungle_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"dark_oak_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"acacia_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"spruce_fence":37, +"birch_fence":37, +"jungle_fence":37, +"dark_oak_fence":37, +"acacia_fence":37, +"spruce_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"birch_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"jungle_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"acacia_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"dark_oak_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"end_rod":[77,77,78,78,79,79,77,77,78,78,79,79,77,77,78,78], +"chorus_plant":80, +"chorus_flower":1, +"purpur_block":1, +"purpur_pillar":1, +"purpur_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"purpur_double_slab":1, +"purpur_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"end_bricks":1, +"beetroots":0, +"grass_path":26, +"end_gateway":0, +"repeating_command_block":1, +"chain_command_block":1, +"frosted_ice":1, +"structure_block":1}, +"shapes":{"0":[], +"1":[[0.0,0.0,0.0,1.0,1.0,1.0]], +"2":[[0.0,0.0,0.0,1.0,0.5625,1.0]], +"3":[[0.0,0.25,0.0,1.0,1.0,1.0]], +"4":[[0.0,0.0,0.0,1.0,0.75,1.0]], +"5":[[0.0,0.0,0.25,1.0,1.0,1.0]], +"6":[[0.0,0.0,0.0,1.0,1.0,0.75]], +"7":[[0.25,0.0,0.0,1.0,1.0,1.0]], +"8":[[0.0,0.0,0.0,0.75,1.0,1.0]], +"9":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]], +"10":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]], +"11":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]], +"12":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]], +"13":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]], +"14":[[0.75,0.0,0.0,1.0,1.0,1.0],[-0.25,0.375,0.375,0.75,0.625,0.625]], +"15":[[0.0,0.0,0.0,1.0,0.5,1.0]], +"16":[[0.0,0.5,0.0,1.0,1.0,1.0]], +"17":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"18":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"19":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]], +"20":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]], +"21":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]], +"22":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,0.5,0.5,1.0]], +"23":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.5,1.0,0.5,1.0]], +"24":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,0.5,0.5]], +"25":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]], +"26":[[0.0,0.0,0.0,1.0,0.9375,1.0]], +"27":[[0.0,0.0,0.8125,1.0,1.0,1.0]], +"28":[[0.0,0.0,0.0,0.1875,1.0,1.0]], +"29":[[0.0,0.0,0.0,1.0,1.0,0.1875]], +"30":[[0.8125,0.0,0.0,1.0,1.0,1.0]], +"31":[[0.0,0.0,0.0,1.0,0.125,1.0]], +"32":[[0.0,0.0,0.0,1.0,0.25,1.0]], +"33":[[0.0,0.0,0.0,1.0,0.375,1.0]], +"34":[[0.0,0.0,0.0,1.0,0.625,1.0]], +"35":[[0.0,0.0,0.0,1.0,0.875,1.0]], +"36":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]], +"37":[[0.375,0.0,0.375,0.625,1.5,0.625]], +"38":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]], +"39":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]], +"40":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]], +"41":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]], +"42":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]], +"43":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]], +"44":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]], +"45":[[0.0,0.0,0.0,1.0,0.1875,1.0]], +"46":[[0.0,0.8125,0.0,1.0,1.0,1.0]], +"47":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]], +"48":[[0.0,0.0,0.375,1.0,1.5,0.625]], +"49":[[0.375,0.0,0.0,0.625,1.5,1.0]], +"50":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]], +"51":[[0.4375,0.0,0.4375,0.5625,0.875,0.5625],[0.0,0.0,0.0,1.0,0.125,1.0]], +"52":[[0.0,0.0,0.0,1.0,0.3125,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.875,1.0,1.0,1.0]], +"53":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]], +"54":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]], +"55":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]], +"56":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]], +"57":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]], +"58":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]], +"59":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]], +"60":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]], +"61":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]], +"62":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]], +"63":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]], +"64":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]], +"65":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]], +"66":[[0.25,0.0,0.25,0.75,1.5,0.75]], +"67":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]], +"68":[[0.25,0.25,0.5,0.75,0.75,1.0]], +"69":[[0.25,0.0,0.25,0.75,0.5,0.75]], +"70":[[0.25,0.25,0.0,0.75,0.75,0.5]], +"71":[[0.5,0.25,0.25,1.0,0.75,0.75]], +"72":[[0.0,0.25,0.25,0.5,0.75,0.75]], +"73":[[0.125,0.0,0.0,0.875,1.0,1.0]], +"74":[[0.0,0.0,0.125,1.0,1.0,0.875]], +"75":[[0.0,0.0,0.0,1.0,0.625,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.0,0.0,0.875,1.0,1.0,1.0]], +"76":[[0.0,0.0,0.0,1.0,0.0625,1.0]], +"77":[[0.375,0.0,0.375,0.625,1.0,0.625]], +"78":[[0.375,0.375,0.0,0.625,0.625,1.0]], +"79":[[0.0,0.375,0.375,1.0,0.625,0.625]], +"80":[[0.1875,0.1875,0.1875,0.8125,0.8125,0.8125]], +"81":[[0.0,0.0,0.0,1.0,0.8125,1.0]], +"82":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.3125,0.8125,0.3125,0.6875,1.0,0.6875]]}} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/blocks.json new file mode 100644 index 00000000..cbd80f7e --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/blocks.json @@ -0,0 +1,5672 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone" + }, + { + "metadata": 1, + "displayName": "Granite" + }, + { + "metadata": 2, + "displayName": "Polished Granite" + }, + { + "metadata": 3, + "displayName": "Diorite" + }, + { + "metadata": 4, + "displayName": "Polished Diorite" + }, + { + "metadata": 5, + "displayName": "Andesite" + }, + { + "metadata": 6, + "displayName": "Polished Andesite" + } + ], + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Dirt" + }, + { + "metadata": 1, + "displayName": "Coarse Dirt" + }, + { + "metadata": 2, + "displayName": "Podzol" + } + ], + "drops": [ + { + "drop": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "planks", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Wood Planks" + }, + { + "metadata": 1, + "displayName": "Spruce Wood Planks" + }, + { + "metadata": 2, + "displayName": "Birch Wood Planks" + }, + { + "metadata": 3, + "displayName": "Jungle Wood Planks" + }, + { + "metadata": 4, + "displayName": "Acacia Wood Planks" + }, + { + "metadata": 5, + "displayName": "Dark Oak Wood Planks" + } + ], + "drops": [ + { + "drop": 5 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 6 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 8, + "displayName": "Water", + "name": "flowing_water", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 10, + "displayName": "Lava", + "name": "flowing_lava", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Sand" + }, + { + "metadata": 1, + "displayName": "Red sand" + } + ], + "drops": [ + { + "drop": 12 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 13, + "minCount": 0.9 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 14 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 15 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 263, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 17, + "displayName": "Wood", + "name": "log", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 17 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "leaves", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Leaves" + }, + { + "metadata": 1, + "displayName": "Spruce Leaves" + }, + { + "metadata": 2, + "displayName": "Birch Leaves" + }, + { + "metadata": 3, + "displayName": "Jungle Leaves" + }, + { + "metadata": 4, + "displayName": "Oak Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Spruce Leaves (no decay)" + }, + { + "metadata": 6, + "displayName": "Birch Leaves (no decay)" + }, + { + "metadata": 7, + "displayName": "Jungle Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Oak Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Spruce Leaves (check decay)" + }, + { + "metadata": 10, + "displayName": "Birch Leaves (check decay)" + }, + { + "metadata": 11, + "displayName": "Jungle Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Oak Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Spruce Leaves (no decay and check decay)" + }, + { + "metadata": 14, + "displayName": "Birch Leaves (no decay and check decay)" + }, + { + "metadata": 15, + "displayName": "Jungle Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Sponge" + }, + { + "metadata": 1, + "displayName": "Wet Sponge" + } + ], + "drops": [ + { + "drop": 19 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": { + "id": 351, + "metadata": 4 + }, + "minCount": 4, + "maxCount": 8 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 22 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 23 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth sandstone" + } + ], + "drops": [ + { + "drop": 24 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "noteblock", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 25 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 26, + "displayName": "Bed", + "name": "bed", + "hardness": 0.2, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 26 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "golden_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 27 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 28 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 29 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "web", + "hardness": 4, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "web", + "harvestTools": { + "267": true, + "268": true, + "272": true, + "276": true, + "283": true, + "359": true + }, + "drops": [ + { + "drop": 287 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 31, + "displayName": "Grass", + "name": "tallgrass", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Shrub" + }, + { + "metadata": 1, + "displayName": "Tall Grass" + }, + { + "metadata": 2, + "displayName": "Fern" + } + ], + "drops": [ + { + "drop": 295, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "deadbush", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 280, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 33 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 34, + "displayName": "Piston Head", + "name": "piston_head", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 34 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wool", + "variations": [ + { + "metadata": 0, + "displayName": "White Wool" + }, + { + "metadata": 1, + "displayName": "Orange Wool" + }, + { + "metadata": 2, + "displayName": "Magenta Wool" + }, + { + "metadata": 3, + "displayName": "Light blue Wool" + }, + { + "metadata": 4, + "displayName": "Yellow Wool" + }, + { + "metadata": 5, + "displayName": "Lime Wool" + }, + { + "metadata": 6, + "displayName": "Pink Wool" + }, + { + "metadata": 7, + "displayName": "Gray Wool" + }, + { + "metadata": 8, + "displayName": "Light gray Wool" + }, + { + "metadata": 9, + "displayName": "Cyan Wool" + }, + { + "metadata": 10, + "displayName": "Purple Wool" + }, + { + "metadata": 11, + "displayName": "Blue Wool" + }, + { + "metadata": 12, + "displayName": "Brown Wool" + }, + { + "metadata": 13, + "displayName": "Green Wool" + }, + { + "metadata": 14, + "displayName": "Red Wool" + }, + { + "metadata": 15, + "displayName": "Black Wool" + } + ], + "drops": [ + { + "drop": 35 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 36, + "displayName": "Block moved by Piston", + "name": "piston_extension", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 36 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "yellow_flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 37 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 38, + "displayName": "Poppy", + "name": "red_flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Poppy" + }, + { + "metadata": 1, + "displayName": "Blue Orchid" + }, + { + "metadata": 2, + "displayName": "Allium" + }, + { + "metadata": 3, + "displayName": "Azure Bluet" + }, + { + "metadata": 4, + "displayName": "Red Tulip" + }, + { + "metadata": 5, + "displayName": "Orange Tulip" + }, + { + "metadata": 6, + "displayName": "White Tulip" + }, + { + "metadata": 7, + "displayName": "Pink Tulip" + }, + { + "metadata": 8, + "displayName": "Oxeye Daisy" + } + ], + "drops": [ + { + "drop": 38 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 39 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 40 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "gold_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 41 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "iron_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 42 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Stone Slab" + }, + { + "metadata": 1, + "displayName": "Double Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "Double (Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Double Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Double Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Double Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Double Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Double Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Stone Slab" + }, + { + "metadata": 9, + "displayName": "Smooth Double Sandstone Slab" + }, + { + "metadata": 15, + "displayName": "Tile Double Quartz Slab (note the underside)" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone Slab" + }, + { + "metadata": 1, + "displayName": "Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "(Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Upper Stone Slab" + }, + { + "metadata": 9, + "displayName": "Upper Sandstone Slab" + }, + { + "metadata": 10, + "displayName": "Upper (Stone) Wooden Slab" + }, + { + "metadata": 11, + "displayName": "Upper Cobblestone Slab" + }, + { + "metadata": 12, + "displayName": "Upper Bricks Slab" + }, + { + "metadata": 13, + "displayName": "Upper Stone Brick Slab" + }, + { + "metadata": 14, + "displayName": "Upper Nether Brick Slab" + }, + { + "metadata": 15, + "displayName": "Upper Quartz Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "brick_block", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 45 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Drops a TNT item when broken" + }, + { + "metadata": 1, + "displayName": "Activates when broken" + } + ], + "drops": [ + { + "drop": 46 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 340, + "minCount": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "mossy_cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 48 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "278": true + }, + "drops": [ + { + "drop": 49 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Torch facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Torch facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Torch facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Torch facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Torch facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 50 + } + ], + "transparent": true, + "emitLight": 14, + "filterLight": 0 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "mob_spawner", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 53 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 54 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 55 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 264 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "diamond_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 57 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 58 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 59, + "displayName": "Wheat", + "name": "wheat", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 295 + }, + { + "drop": 295, + "minCount": 0, + "maxCount": 3 + }, + { + "drop": 296 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "lit_furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 63, + "displayName": "Standing Sign", + "name": "standing_sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 63 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 64, + "displayName": "Oak Door", + "name": "wooden_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 64 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 65 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 66 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "stone_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 67 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "wall_sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 68 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 69 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 70 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 71, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 71 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 72 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "lit_redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "unlit_redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Redstone Torch (inactive) facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Redstone Torch (inactive) facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Redstone Torch (inactive) facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Redstone Torch (inactive) facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Redstone Torch (inactive) facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 75 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 76, + "displayName": "Redstone Torch (active)", + "name": "redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Redstone Torch (active) facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Redstone Torch (active) facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Redstone Torch (active) facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Redstone Torch (active) facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Redstone Torch (active) facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 76 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 77 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 78, + "displayName": "Snow (layer)", + "name": "snow_layer", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "One layer, 2 pixels thick" + }, + { + "metadata": 1, + "displayName": "Two layers, 4 pixels thick" + }, + { + "metadata": 2, + "displayName": "Three layers, 6 pixels thick" + }, + { + "metadata": 3, + "displayName": "Four layers, 8 pixels thick" + }, + { + "metadata": 4, + "displayName": "Five layers, 10 pixels thick" + }, + { + "metadata": 5, + "displayName": "Six layers, 12 pixels thick" + }, + { + "metadata": 6, + "displayName": "Seven layers, 14 pixels thick" + }, + { + "metadata": 7, + "displayName": "Eight layers, 16 pixels thick" + } + ], + "drops": [ + { + "drop": 332, + "minCount": 2, + "maxCount": 9 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "drops": [ + { + "drop": 332, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 81 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 337, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 83, + "displayName": "Sugar Cane", + "name": "reeds", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 83 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 84, + "displayName": "Jukebox", + "name": "jukebox", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "No disc inserted" + }, + { + "metadata": 1, + "displayName": "Contains a disc" + } + ], + "drops": [ + { + "drop": 84 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 85 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 86 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 87 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 88 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 348, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 90, + "displayName": "Nether Portal", + "name": "portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 11, + "filterLight": 0 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "lit_pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 91 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 92, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 93, + "displayName": "Redstone Repeater (inactive)", + "name": "unpowered_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 93 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 94, + "displayName": "Redstone Repeater (active)", + "name": "powered_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 94 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 95, + "displayName": "Stained Glass", + "name": "stained_glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Stained Glass" + }, + { + "metadata": 1, + "displayName": "Orange Stained Glass" + }, + { + "metadata": 2, + "displayName": "Magenta Stained Glass" + }, + { + "metadata": 3, + "displayName": "Light Blue Stained Glass" + }, + { + "metadata": 4, + "displayName": "Yellow Stained Glass" + }, + { + "metadata": 5, + "displayName": "Lime Stained Glass" + }, + { + "metadata": 6, + "displayName": "Pink Stained Glass" + }, + { + "metadata": 7, + "displayName": "Gray Stained Glass" + }, + { + "metadata": 8, + "displayName": "Light Gray Stained Glass" + }, + { + "metadata": 9, + "displayName": "Cyan Stained Glass" + }, + { + "metadata": 10, + "displayName": "Purple Stained Glass" + }, + { + "metadata": 11, + "displayName": "Blue Stained Glass" + }, + { + "metadata": 12, + "displayName": "Brown Stained Glass" + }, + { + "metadata": 13, + "displayName": "Green Stained Glass" + }, + { + "metadata": 14, + "displayName": "Red Stained Glass" + }, + { + "metadata": 15, + "displayName": "Black Stained Glass" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 96 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "hardness": 0.75, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Stone Monster Egg" + }, + { + "metadata": 1, + "displayName": "Cobblestone Monster Egg" + }, + { + "metadata": 2, + "displayName": "Stone Brick Monster Egg" + }, + { + "metadata": 3, + "displayName": "Mossy Stone Brick Monster Egg" + }, + { + "metadata": 4, + "displayName": "Cracked Stone Brick Monster Egg" + }, + { + "metadata": 5, + "displayName": "Chiseled Stone Brick Monster Egg" + } + ], + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 98, + "displayName": "Stone Bricks", + "name": "stonebrick", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone brick" + }, + { + "metadata": 1, + "displayName": "Mossy stone brick" + }, + { + "metadata": 2, + "displayName": "Cracked stone brick" + }, + { + "metadata": 3, + "displayName": "Chiseled stone brick" + } + ], + "drops": [ + { + "drop": 98 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 99, + "displayName": "Brown Mushroom (block)", + "name": "brown_mushroom_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 40, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 100, + "displayName": "Red Mushroom (block)", + "name": "red_mushroom_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 40, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 101 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 360, + "minCount": 3, + "maxCount": 7 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 361, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 362, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vine", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 106 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 107 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 108 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 109 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "waterlily", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 111 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 112 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 113 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 114 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 115, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 372 + }, + { + "drop": 372, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchanting_table", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 116 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 117, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 117 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 118, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 118 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 119, + "displayName": "End Portal", + "name": "end_portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 120, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 120 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 121 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 122, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 122 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 123, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 123 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 124, + "displayName": "Redstone Lamp (active)", + "name": "lit_redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 124 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 125, + "displayName": "Double Wooden Slab", + "name": "double_wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Double Oak Wood Slab" + }, + { + "metadata": 1, + "displayName": "Double Spruce Wood Slab" + }, + { + "metadata": 2, + "displayName": "Double Birch Wood Slab" + }, + { + "metadata": 3, + "displayName": "Double Jungle Wood Slab" + }, + { + "metadata": 4, + "displayName": "Double Acacia Wood Slab" + }, + { + "metadata": 5, + "displayName": "Double Dark Oak Wood Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 126, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Wood Slab" + }, + { + "metadata": 1, + "displayName": "Spruce Wood Slab" + }, + { + "metadata": 2, + "displayName": "Birch Wood Slab" + }, + { + "metadata": 3, + "displayName": "Jungle Wood Slab" + }, + { + "metadata": 4, + "displayName": "Acacia Wood Slab" + }, + { + "metadata": 5, + "displayName": "Dark Oak Wood Slab" + }, + { + "metadata": 8, + "displayName": "Upper Oak Wood Slab" + }, + { + "metadata": 9, + "displayName": "Upper Spruce Wood Slab" + }, + { + "metadata": 10, + "displayName": "Upper Birch Wood Slab" + }, + { + "metadata": 11, + "displayName": "Upper Jungle Wood Slab" + }, + { + "metadata": 12, + "displayName": "Upper Acacia Wood Slab" + }, + { + "metadata": 13, + "displayName": "Upper Dark Oak Wood Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": { + "id": 351, + "metadata": 3 + } + }, + { + "drop": { + "id": 351, + "metadata": 3 + }, + "minCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 128 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 388 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 130, + "displayName": "Ender Chest", + "name": "ender_chest", + "hardness": 22.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 49, + "minCount": 8 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 131 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 132 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "emerald_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 133 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 134 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 135 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 136 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 137, + "displayName": "Command Block", + "name": "command_block", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 137 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 138, + "displayName": "Beacon", + "name": "beacon", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 138 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Cobblestone Wall" + }, + { + "metadata": 1, + "displayName": "Mossy Cobblestone Wall" + } + ], + "drops": [ + { + "drop": 139 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 140, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Empty Flower Pot" + }, + { + "metadata": 1, + "displayName": "Poppy Flower Pot" + }, + { + "metadata": 2, + "displayName": "Dandelion Flower Pot" + }, + { + "metadata": 3, + "displayName": "Oak sapling Flower Pot" + }, + { + "metadata": 4, + "displayName": "Spruce sapling Flower Pot" + }, + { + "metadata": 5, + "displayName": "Birch sapling Flower Pot" + }, + { + "metadata": 6, + "displayName": "Jungle sapling Flower Pot" + }, + { + "metadata": 7, + "displayName": "Red mushroom Flower Pot" + }, + { + "metadata": 8, + "displayName": "Brown mushroom Flower Pot" + }, + { + "metadata": 9, + "displayName": "Cactus Flower Pot" + }, + { + "metadata": 10, + "displayName": "Dead bush Flower Pot" + }, + { + "metadata": 11, + "displayName": "Fern Flower Pot" + }, + { + "metadata": 12, + "displayName": "Acacia sapling Flower Pot" + }, + { + "metadata": 13, + "displayName": "Dark oak sapling Flower Pot" + } + ], + "drops": [ + { + "drop": 140 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 141 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 142 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 143 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 144, + "displayName": "Mob head", + "name": "skull", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ], + "drops": [ + { + "drop": 144 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Anvil" + }, + { + "metadata": 1, + "displayName": "Slightly Damaged Anvil" + }, + { + "metadata": 2, + "displayName": "Very Damaged Anvil" + }, + { + "metadata": 3, + "displayName": "Anvil (North/South)" + }, + { + "metadata": 4, + "displayName": "Anvil (East/West)" + }, + { + "metadata": 5, + "displayName": "Anvil (South/North)" + }, + { + "metadata": 6, + "displayName": "Anvil (West/East)" + }, + { + "metadata": 7, + "displayName": "Slightly Damaged Anvil (North/South)" + }, + { + "metadata": 8, + "displayName": "Slightly Damaged Anvil (East/West)" + }, + { + "metadata": 9, + "displayName": "Slightly Damaged Anvil (West/East)" + }, + { + "metadata": 10, + "displayName": "Slightly Damaged Anvil (South/North)" + }, + { + "metadata": 11, + "displayName": "Very Damaged Anvil (North/South)" + }, + { + "metadata": 12, + "displayName": "Very Damaged Anvil (East/West)" + }, + { + "metadata": 13, + "displayName": "Very Damaged Anvil (West/East)" + }, + { + "metadata": 14, + "displayName": "Very Damaged Anvil (South/North)" + } + ], + "drops": [ + { + "drop": 145 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 146 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "light_weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 147 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 148, + "displayName": "Weighted Pressure Plate (Heavy)", + "name": "heavy_weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 148 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 149, + "displayName": "Redstone Comparator", + "name": "unpowered_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 149 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 150, + "displayName": "Redstone Comparator (deprecated)", + "name": "powered_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 150 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_detector", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 151 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "redstone_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 152 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "quartz_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 406 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 154, + "displayName": "Hopper", + "name": "hopper", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 154 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "quartz_block", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Block of Quartz" + }, + { + "metadata": 1, + "displayName": "Chiseled Quartz Block" + }, + { + "metadata": 2, + "displayName": "Pillar Quartz Block (vertical)" + }, + { + "metadata": 3, + "displayName": "Pillar Quartz Block (north-south)" + }, + { + "metadata": 4, + "displayName": "Pillar Quartz Block (east-west)" + } + ], + "drops": [ + { + "drop": 155 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 156 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 157, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 157 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 158, + "displayName": "Dropper", + "name": "dropper", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 158 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White stained clay" + }, + { + "metadata": 1, + "displayName": "Orange stained clay" + }, + { + "metadata": 2, + "displayName": "Magenta stained clay" + }, + { + "metadata": 3, + "displayName": "Light blue stained clay" + }, + { + "metadata": 4, + "displayName": "Yellow stained clay" + }, + { + "metadata": 5, + "displayName": "Lime stained clay" + }, + { + "metadata": 6, + "displayName": "Pink stained clay" + }, + { + "metadata": 7, + "displayName": "Gray stained clay" + }, + { + "metadata": 8, + "displayName": "Light gray stained clay" + }, + { + "metadata": 9, + "displayName": "Cyan stained clay" + }, + { + "metadata": 10, + "displayName": "Purple stained clay" + }, + { + "metadata": 11, + "displayName": "Blue stained clay" + }, + { + "metadata": 12, + "displayName": "Brown stained clay" + }, + { + "metadata": 13, + "displayName": "Green stained clay" + }, + { + "metadata": 14, + "displayName": "Red stained clay" + }, + { + "metadata": 15, + "displayName": "Black stained clay" + } + ], + "drops": [ + { + "drop": 159 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 160, + "displayName": "Stained Glass Pane", + "name": "stained_glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Stained Glass Pane" + }, + { + "metadata": 1, + "displayName": "Orange Stained Glass Pane" + }, + { + "metadata": 2, + "displayName": "Magenta Stained Glass Pane" + }, + { + "metadata": 3, + "displayName": "Light Blue Stained Glass Pane" + }, + { + "metadata": 4, + "displayName": "Yellow Stained Glass Pane" + }, + { + "metadata": 5, + "displayName": "Lime Stained Glass Pane" + }, + { + "metadata": 6, + "displayName": "Pink Stained Glass Pane" + }, + { + "metadata": 7, + "displayName": "Gray Stained Glass Pane" + }, + { + "metadata": 8, + "displayName": "Light Gray Stained Glass Pane" + }, + { + "metadata": 9, + "displayName": "Cyan Stained Glass Pane" + }, + { + "metadata": 10, + "displayName": "Purple Stained Glass Pane" + }, + { + "metadata": 11, + "displayName": "Blue Stained Glass Pane" + }, + { + "metadata": 12, + "displayName": "Brown Stained Glass Pane" + }, + { + "metadata": 13, + "displayName": "Green Stained Glass Pane" + }, + { + "metadata": 14, + "displayName": "Red Stained Glass Pane" + }, + { + "metadata": 15, + "displayName": "Black Stained Glass Pane" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 161, + "displayName": "Leaves (Acacia/Dark Oak)", + "name": "leaves2", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "leaves", + "variations": [ + { + "metadata": 0, + "displayName": "Acacia Leaves" + }, + { + "metadata": 1, + "displayName": "Dark Oak Leaves" + }, + { + "metadata": 4, + "displayName": "Acacia Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Dark Oak Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Acacia Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Dark Oak Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Acacia Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Dark Oak Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 162, + "displayName": "Wood (Acacia/Dark Oak)", + "name": "log2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 162 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 163 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 164 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 165 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 166, + "displayName": "Barrier", + "name": "barrier", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 167 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 168, + "displayName": "Prismarine", + "name": "prismarine", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Prismarine" + }, + { + "metadata": 1, + "displayName": "Prismarine Bricks" + }, + { + "metadata": 2, + "displayName": "Dark Prismarine" + } + ], + "drops": [ + { + "drop": 168 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 169, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 410, + "minCount": 2, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_block", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 170 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "hardness": 0.1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Carpet" + }, + { + "metadata": 1, + "displayName": "Orange Carpet" + }, + { + "metadata": 2, + "displayName": "Magenta Carpet" + }, + { + "metadata": 3, + "displayName": "Light Blue Carpet" + }, + { + "metadata": 4, + "displayName": "Yellow Carpet" + }, + { + "metadata": 5, + "displayName": "Lime Carpet" + }, + { + "metadata": 6, + "displayName": "Pink Carpet" + }, + { + "metadata": 7, + "displayName": "Gray Carpet" + }, + { + "metadata": 8, + "displayName": "Light Gray Carpet" + }, + { + "metadata": 9, + "displayName": "Cyan Carpet" + }, + { + "metadata": 10, + "displayName": "Purple Carpet" + }, + { + "metadata": 11, + "displayName": "Blue Carpet" + }, + { + "metadata": 12, + "displayName": "Brown Carpet" + }, + { + "metadata": 13, + "displayName": "Green Carpet" + }, + { + "metadata": 14, + "displayName": "Red Carpet" + }, + { + "metadata": 15, + "displayName": "Black Carpet" + } + ], + "drops": [ + { + "drop": 171 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White stained clay" + }, + { + "metadata": 1, + "displayName": "Orange stained clay" + }, + { + "metadata": 2, + "displayName": "Magenta stained clay" + }, + { + "metadata": 3, + "displayName": "Light blue stained clay" + }, + { + "metadata": 4, + "displayName": "Yellow stained clay" + }, + { + "metadata": 5, + "displayName": "Lime stained clay" + }, + { + "metadata": 6, + "displayName": "Pink stained clay" + }, + { + "metadata": 7, + "displayName": "Gray stained clay" + }, + { + "metadata": 8, + "displayName": "Light gray stained clay" + }, + { + "metadata": 9, + "displayName": "Cyan stained clay" + }, + { + "metadata": 10, + "displayName": "Purple stained clay" + }, + { + "metadata": 11, + "displayName": "Blue stained clay" + }, + { + "metadata": 12, + "displayName": "Brown stained clay" + }, + { + "metadata": 13, + "displayName": "Green stained clay" + }, + { + "metadata": 14, + "displayName": "Red stained clay" + }, + { + "metadata": 15, + "displayName": "Black stained clay" + } + ], + "drops": [ + { + "drop": 172 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "coal_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 173 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 175, + "displayName": "Large Flowers", + "name": "double_plant", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Sunflower" + }, + { + "metadata": 1, + "displayName": "Lilac" + }, + { + "metadata": 2, + "displayName": "Double Tallgrass" + }, + { + "metadata": 3, + "displayName": "Large Fern" + }, + { + "metadata": 4, + "displayName": "Rose Bush" + }, + { + "metadata": 5, + "displayName": "Peony" + }, + { + "metadata": 8, + "displayName": "Top Half of any Large Plant; low three bits 0x7 are derived from the block below." + } + ], + "drops": [ + { + "drop": 175 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 176, + "displayName": "Standing Banner", + "name": "standing_banner", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 176 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 177, + "displayName": "Wall Banner", + "name": "wall_banner", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 177 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "daylight_detector_inverted", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 178 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 179, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Red Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled Red Sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth Red Sandstone" + } + ], + "drops": [ + { + "drop": 179 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 180, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 180 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 181, + "displayName": "Double Red Sandstone Slab", + "name": "double_stone_slab2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Red Sandstone Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Red Sandstone Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 182, + "displayName": "Red Sandstone Slab", + "name": "stone_slab2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Red Sandstone Slab" + }, + { + "metadata": 8, + "displayName": "Upper Red Sandstone Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 183 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 184 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 185 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 186 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 187 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 188, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 188 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 189, + "displayName": "Birch Fence", + "name": "birch_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 189 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 190, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 190 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 191, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 191 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 192, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 192 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 193, + "displayName": "Spruce Door", + "name": "spruce_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 193 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 194, + "displayName": "Birch Door", + "name": "birch_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 194 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 195, + "displayName": "Jungle Door", + "name": "jungle_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 195 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 196, + "displayName": "Acacia Door", + "name": "acacia_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 196 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 197, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 197 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 198, + "displayName": "End Rod", + "name": "end_rod", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "End Rod facing down" + }, + { + "metadata": 1, + "displayName": "End Rod facing up" + }, + { + "metadata": 2, + "displayName": "End Rod facing north" + }, + { + "metadata": 3, + "displayName": "End Rod facing south" + }, + { + "metadata": 4, + "displayName": "End Rod facing west" + }, + { + "metadata": 5, + "displayName": "End Rod facing east" + } + ], + "drops": [ + { + "drop": 198 + } + ], + "transparent": false, + "emitLight": 14, + "filterLight": 15 + }, + { + "id": 199, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 432, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 200, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 200 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 201, + "displayName": "Purpur Block", + "name": "purpur_block", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 201 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 202, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 202 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 203, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 203 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 204, + "displayName": "Purpur Double Slab", + "name": "purpur_double_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 205, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 206, + "displayName": "End Stone Bricks", + "name": "end_bricks", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 206 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 207, + "displayName": "Beetroot Seeds", + "name": "beetroots", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 208, + "displayName": "Grass Path", + "name": "grass_path", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 209, + "displayName": "End Gateway", + "name": "end_gateway", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 209 + } + ], + "transparent": false, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 210, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 210 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 211, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 211 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 212, + "displayName": "Frosted Ice", + "name": "frosted_ice", + "hardness": 0.5, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 255, + "displayName": "Structure Block", + "name": "structure_block", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Save" + }, + { + "metadata": 1, + "displayName": "Load" + }, + { + "metadata": 2, + "displayName": "Corner" + }, + { + "metadata": 3, + "displayName": "Data" + } + ], + "drops": [], + "transparent": false, + "emitLight": 15, + "filterLight": 15 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/effects.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/effects.json new file mode 100644 index 00000000..4aaa8e57 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/effects.json @@ -0,0 +1,164 @@ +[ + { + "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" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/enchantments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/enchantments.json new file mode 100644 index 00000000..50492225 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/enchantments.json @@ -0,0 +1,137 @@ +[ + { + "id": 0, + "name": "protection", + "displayName": "Protection" + }, + { + "id": 1, + "name": "fire_protection", + "displayName": "Fire Protection" + }, + { + "id": 2, + "name": "feather_falling", + "displayName": "Feather Falling" + }, + { + "id": 3, + "name": "blast_protection", + "displayName": "Blast Protection" + }, + { + "id": 4, + "name": "projectile_protection", + "displayName": "Projectile Protection" + }, + { + "id": 5, + "name": "respiration", + "displayName": "Respiration" + }, + { + "id": 6, + "name": "aqua_affinity", + "displayName": "Aqua Affinity" + }, + { + "id": 7, + "name": "thorns", + "displayName": "Thorns" + }, + { + "id": 8, + "name": "depth_strider", + "displayName": "Depth Strider" + }, + { + "id": 9, + "name": "frost_walker", + "displayName": "Frost Walker" + }, + { + "id": 16, + "name": "sharpness", + "displayName": "Sharpness" + }, + { + "id": 17, + "name": "smite", + "displayName": "Smite" + }, + { + "id": 18, + "name": "bane_of_arthropods", + "displayName": "Bane of Arthropods" + }, + { + "id": 19, + "name": "knockback", + "displayName": "Knockback" + }, + { + "id": 20, + "name": "fire_aspect", + "displayName": "Fire Aspect" + }, + { + "id": 21, + "name": "looting", + "displayName": "Looting" + }, + { + "id": 32, + "name": "efficiency", + "displayName": "Efficiency" + }, + { + "id": 33, + "name": "silk_touch", + "displayName": "Silk Touch" + }, + { + "id": 34, + "name": "unbreaking", + "displayName": "Unbreaking" + }, + { + "id": 35, + "name": "fortune", + "displayName": "Fortune" + }, + { + "id": 48, + "name": "power", + "displayName": "Power" + }, + { + "id": 49, + "name": "punch", + "displayName": "Punch" + }, + { + "id": 50, + "name": "flame", + "displayName": "Flame" + }, + { + "id": 51, + "name": "infinity", + "displayName": "Infinity" + }, + { + "id": 61, + "name": "luck_of_the_sea", + "displayName": "Luck of the Sea" + }, + { + "id": 62, + "name": "lure", + "displayName": "Lure" + }, + { + "id": 70, + "name": "mending", + "displayName": "Mending" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/entities.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/entities.json new file mode 100644 index 00000000..63dcf404 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/entities.json @@ -0,0 +1,638 @@ +[ + { + "id": 48, + "internalId": 48, + "name": "Mob", + "displayName": "Mob", + "type": "mob", + "width": null, + "height": null, + "category": "Generic" + }, + { + "id": 49, + "internalId": 49, + "name": "Monster", + "displayName": "Monster", + "type": "mob", + "width": null, + "height": null, + "category": "Generic" + }, + { + "id": 50, + "internalId": 50, + "name": "Creeper", + "displayName": "Creeper", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 51, + "internalId": 51, + "name": "Skeleton", + "displayName": "Skeleton", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 52, + "internalId": 52, + "name": "Spider", + "displayName": "Spider", + "type": "mob", + "width": 1.4, + "height": 0.9, + "category": "Hostile mobs" + }, + { + "id": 53, + "internalId": 53, + "name": "Giant", + "displayName": "Giant", + "type": "mob", + "width": 3.5999999999999996, + "height": 10.8, + "category": "Hostile mobs" + }, + { + "id": 54, + "internalId": 54, + "name": "Zombie", + "displayName": "Zombie", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 55, + "internalId": 55, + "name": "Slime", + "displayName": "Slime", + "type": "mob", + "width": 0.51000005, + "height": 0.51000005, + "category": "Hostile mobs" + }, + { + "id": 56, + "internalId": 56, + "name": "Ghast", + "displayName": "Ghast", + "type": "mob", + "width": 4, + "height": 4, + "category": "Hostile mobs" + }, + { + "id": 57, + "internalId": 57, + "name": "PigZombie", + "displayName": "Zombie Pigman", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 58, + "internalId": 58, + "name": "Enderman", + "displayName": "Enderman", + "type": "mob", + "width": 0.6, + "height": 2.9, + "category": "Hostile mobs" + }, + { + "id": 59, + "internalId": 59, + "name": "CaveSpider", + "displayName": "Cave Spider", + "type": "mob", + "width": 0.7, + "height": 0.5, + "category": "Hostile mobs" + }, + { + "id": 60, + "internalId": 60, + "name": "Silverfish", + "displayName": "Silverfish", + "type": "mob", + "width": 0.4, + "height": 0.3, + "category": "Hostile mobs" + }, + { + "id": 61, + "internalId": 61, + "name": "Blaze", + "displayName": "Blaze", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 62, + "internalId": 62, + "name": "LavaSlime", + "displayName": "Magma Cube", + "type": "mob", + "width": 0.51000005, + "height": 0.51000005, + "category": "Hostile mobs" + }, + { + "id": 63, + "internalId": 63, + "name": "EnderDragon", + "displayName": "Ender Dragon", + "type": "mob", + "width": 16, + "height": 8, + "category": "Hostile mobs" + }, + { + "id": 64, + "internalId": 64, + "name": "WitherBoss", + "displayName": "Wither", + "type": "mob", + "width": 0.9, + "height": 3.5, + "category": "Hostile mobs" + }, + { + "id": 65, + "internalId": 65, + "name": "Bat", + "displayName": "Bat", + "type": "mob", + "width": 0.5, + "height": 0.9, + "category": "Passive mobs" + }, + { + "id": 66, + "internalId": 66, + "name": "Witch", + "displayName": "Witch", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 67, + "internalId": 67, + "name": "Endermite", + "displayName": "Endermite", + "type": "mob", + "width": 0.4, + "height": 0.3, + "category": "Hostile mobs" + }, + { + "id": 68, + "internalId": 68, + "name": "Guardian", + "displayName": "Guardian", + "type": "mob", + "width": 0.85, + "height": 0.85, + "category": "Hostile mobs" + }, + { + "id": 69, + "internalId": 69, + "name": "Shulker", + "displayName": "Shulker", + "type": "mob", + "width": 1, + "height": 1, + "category": "Hostile mobs" + }, + { + "id": 90, + "internalId": 90, + "name": "Pig", + "displayName": "Pig", + "type": "mob", + "width": 0.9, + "height": 0.9, + "category": "Passive mobs" + }, + { + "id": 91, + "internalId": 91, + "name": "Sheep", + "displayName": "Sheep", + "type": "mob", + "width": 0.9, + "height": 1.3, + "category": "Passive mobs" + }, + { + "id": 92, + "internalId": 92, + "name": "Cow", + "displayName": "Cow", + "type": "mob", + "width": 0.9, + "height": 1.3, + "category": "Passive mobs" + }, + { + "id": 93, + "internalId": 93, + "name": "Chicken", + "displayName": "Chicken", + "type": "mob", + "width": 0.4, + "height": 0.7, + "category": "Passive mobs" + }, + { + "id": 94, + "internalId": 94, + "name": "Squid", + "displayName": "Squid", + "type": "mob", + "width": 0.95, + "height": 0.95, + "category": "Passive mobs" + }, + { + "id": 95, + "internalId": 95, + "name": "Wolf", + "displayName": "Wolf", + "type": "mob", + "width": 0.6, + "height": 0.8, + "category": "Passive mobs" + }, + { + "id": 96, + "internalId": 96, + "name": "MushroomCow", + "displayName": "Mooshroom", + "type": "mob", + "width": 0.9, + "height": 1.3, + "category": "Passive mobs" + }, + { + "id": 97, + "internalId": 97, + "name": "SnowMan", + "displayName": "Snow Golem", + "type": "mob", + "width": 0.7, + "height": 1.9, + "category": "Passive mobs" + }, + { + "id": 98, + "internalId": 98, + "name": "Ozelot", + "displayName": "Ocelot", + "type": "mob", + "width": 0.6, + "height": 0.8, + "category": "Passive mobs" + }, + { + "id": 99, + "internalId": 99, + "name": "VillagerGolem", + "displayName": "Iron Golem", + "type": "mob", + "width": 1.4, + "height": 2.9, + "category": "Passive mobs" + }, + { + "id": 100, + "internalId": 100, + "name": "EntityHorse", + "displayName": "Horse", + "type": "mob", + "width": 1.4, + "height": 1.6, + "category": "Passive mobs" + }, + { + "id": 101, + "internalId": 101, + "name": "Rabbit", + "displayName": "Rabbit", + "type": "mob", + "width": 0.6, + "height": 0.7, + "category": "Passive mobs" + }, + { + "id": 120, + "internalId": 120, + "name": "Villager", + "displayName": "Villager", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "NPCs" + }, + { + "id": 1, + "internalId": 41, + "name": "Boat", + "displayName": "Boat", + "type": "object", + "width": 1.5, + "height": 0.6, + "category": "Vehicles" + }, + { + "id": 2, + "internalId": 1, + "name": "Item", + "displayName": "Dropped item", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Drops" + }, + { + "id": 3, + "internalId": 2, + "name": "XPOrb", + "displayName": "Experience Orb", + "type": "object", + "width": null, + "height": null, + "category": "Drops" + }, + { + "id": 10, + "internalId": 42, + "name": "MinecartRideable", + "displayName": "Minecart", + "type": "object", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 11, + "internalId": 42, + "name": "MinecartRideable", + "displayName": "Minecart", + "type": "object", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 12, + "internalId": 42, + "name": "MinecartRideable", + "displayName": "Minecart", + "type": "object", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 50, + "internalId": 20, + "name": "PrimedTnt", + "displayName": "Primed TNT", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 51, + "internalId": 200, + "name": "EnderCrystal", + "displayName": "Ender Crystal", + "type": "object", + "width": 2, + "height": 2, + "category": "Immobile" + }, + { + "id": 60, + "internalId": 10, + "name": "Arrow", + "displayName": "Shot arrow", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 61, + "internalId": 11, + "name": "Snowball", + "displayName": "Thrown snowball", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 62, + "internalId": 7, + "name": "ThrownEgg", + "displayName": "Thrown egg", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 63, + "internalId": 12, + "name": "Fireball", + "displayName": "Ghast fireball", + "type": "object", + "width": 1, + "height": 1, + "category": "Projectiles" + }, + { + "id": 64, + "internalId": 13, + "name": "SmallFireball", + "displayName": "Blaze fireball", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 65, + "internalId": 14, + "name": "ThrownEnderpearl", + "displayName": "Thrown Ender Pearl", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 66, + "internalId": 19, + "name": "WitherSkull", + "displayName": "Wither Skull", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 67, + "internalId": 69, + "name": "Shulker", + "displayName": "Shulker", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Hostile mobs" + }, + { + "id": 70, + "internalId": 21, + "name": "FallingSand", + "displayName": "Falling block", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 71, + "internalId": 18, + "name": "ItemFrame", + "displayName": "Item Frame", + "type": "object", + "width": null, + "height": null, + "category": "Immobile" + }, + { + "id": 72, + "internalId": 15, + "name": "EyeOfEnderSignal", + "displayName": "Thrown Eye of Ender", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 73, + "internalId": 16, + "name": "ThrownPotion", + "displayName": "Thrown splash potion", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 74, + "internalId": 21, + "name": "FallingSand", + "displayName": "Falling block", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 75, + "internalId": 17, + "name": "ThrownExpBottle", + "displayName": "Thrown Bottle o' Enchanting", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 76, + "internalId": 22, + "name": "FireworksRocketEntity", + "displayName": "Firework Rocket", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 77, + "internalId": 8, + "name": "LeashKnot", + "displayName": "Lead knot", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Immobile" + }, + { + "id": 78, + "internalId": 30, + "name": "ArmorStand", + "displayName": "Armor Stand", + "type": "object", + "width": 0.5, + "height": 2, + "category": "Immobile" + }, + { + "id": 90, + "name": "Fishing Float", + "displayName": "Fishing Float", + "type": "object", + "width": 0.25, + "height": 0.25 + }, + { + "id": 91, + "internalId": 10, + "name": "Arrow", + "displayName": "Shot arrow", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 92, + "internalId": 10, + "name": "Arrow", + "displayName": "Shot arrow", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 93, + "name": "Dragon Fireball", + "displayName": "Dragon Fireball", + "type": "object", + "width": 0.3125, + "height": 0.3125 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/foods.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/foods.json new file mode 100644 index 00000000..59eaad24 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/foods.json @@ -0,0 +1,340 @@ +[ + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "stackSize": 64, + "foodPoints": 3, + "saturation": 3.6, + "effectiveQuality": 6.6, + "saturationRatio": 1.2 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.6, + "effectiveQuality": 1.6, + "saturationRatio": 0.6 + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple", + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "porkchop", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop", + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ], + "foodPoints": 4, + "saturation": 9.6, + "effectiveQuality": 13.6, + "saturationRatio": 2.4 + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + } + ], + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake", + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie", + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "beef", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "cooked_beef", + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "chicken", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh", + "foodPoints": 4, + "saturation": 0.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.2 + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye", + "foodPoints": 2, + "saturation": 3.2, + "effectiveQuality": 5.2, + "saturationRatio": 1.6 + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot", + "foodPoints": 6, + "saturation": 14.4, + "effectiveQuality": 20.4, + "saturationRatio": 2.4 + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie", + "foodPoints": 8, + "saturation": 4.8, + "effectiveQuality": 12.8, + "saturationRatio": 0.6 + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "rabbit", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew", + "foodPoints": 10, + "saturation": 12, + "effectiveQuality": 22, + "saturationRatio": 1.2 + }, + { + "id": 423, + "displayName": "Raw Mutton", + "stackSize": 64, + "name": "mutton", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 424, + "displayName": "Cooked Mutton", + "stackSize": 64, + "name": "cooked_mutton", + "foodPoints": 6, + "saturation": 9.6, + "effectiveQuality": 15.6, + "saturationRatio": 1.5999999999999999 + }, + { + "id": 432, + "displayName": "Chorus Fruit", + "stackSize": 64, + "name": "chorus_fruit", + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 434, + "displayName": "Beetroot", + "stackSize": 64, + "name": "beetroot", + "foodPoints": 1, + "saturation": 1.2, + "effectiveQuality": 2.2, + "saturationRatio": 1.2 + }, + { + "id": 436, + "displayName": "Beetroot Soup", + "stackSize": 1, + "name": "beetroot_soup", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/instruments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/instruments.json new file mode 100644 index 00000000..d877f189 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/instruments.json @@ -0,0 +1,22 @@ +[ + { + "id": 0, + "name": "harp" + }, + { + "id": 1, + "name": "doubleBass" + }, + { + "id": 2, + "name": "snareDrum" + }, + { + "id": 3, + "name": "sticks" + }, + { + "id": 4, + "name": "bassDrum" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/items.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/items.json new file mode 100644 index 00000000..d3b22675 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/items.json @@ -0,0 +1,2604 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 64 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "planks", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Water", + "name": "flowing_water", + "stackSize": 64 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Lava", + "name": "flowing_lava", + "stackSize": 64 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Wood", + "name": "log", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "noteblock", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "golden_rail", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "web", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Grass", + "name": "tallgrass", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "deadbush", + "stackSize": 64 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "stackSize": 64 + }, + { + "id": 34, + "displayName": "Piston Head", + "name": "piston_head", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "stackSize": 64 + }, + { + "id": 36, + "displayName": "Block moved by Piston", + "name": "piston_extension", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "yellow_flower", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Poppy", + "name": "red_flower", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "gold_block", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "iron_block", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "brick_block", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "mossy_cobblestone", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "mob_spawner", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_stairs", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "diamond_block", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "lit_furnace", + "stackSize": 64 + }, + { + "id": 63, + "displayName": "Standing Sign", + "name": "standing_sign", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "stone_stairs", + "stackSize": 64 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "wall_sign", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "lit_redstone_ore", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "unlit_redstone_torch", + "stackSize": 64 + }, + { + "id": 76, + "displayName": "Redstone Torch (active)", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Snow (layer)", + "name": "snow_layer", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "stackSize": 64 + }, + { + "id": 84, + "displayName": "Jukebox", + "name": "jukebox", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Nether Portal", + "name": "portal", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "lit_pumpkin", + "stackSize": 64 + }, + { + "id": 93, + "displayName": "Redstone Repeater (inactive)", + "name": "unpowered_repeater", + "stackSize": 64 + }, + { + "id": 94, + "displayName": "Redstone Repeater (active)", + "name": "powered_repeater", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "Stained Glass", + "name": "stained_glass", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Stone Bricks", + "name": "stonebrick", + "stackSize": 64 + }, + { + "id": 99, + "displayName": "Brown Mushroom (block)", + "name": "brown_mushroom_block", + "stackSize": 64 + }, + { + "id": 100, + "displayName": "Red Mushroom (block)", + "name": "red_mushroom_block", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vine", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "waterlily", + "stackSize": 64 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchanting_table", + "stackSize": 64 + }, + { + "id": 119, + "displayName": "End Portal", + "name": "end_portal", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 122, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "stackSize": 64 + }, + { + "id": 123, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 124, + "displayName": "Redstone Lamp (active)", + "name": "lit_redstone_lamp", + "stackSize": 64 + }, + { + "id": 125, + "displayName": "Double Wooden Slab", + "name": "double_wooden_slab", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 130, + "displayName": "Ender Chest", + "name": "ender_chest", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "emerald_block", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_stairs", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_stairs", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_stairs", + "stackSize": 64 + }, + { + "id": 137, + "displayName": "Command Block", + "name": "command_block", + "stackSize": 64 + }, + { + "id": 138, + "displayName": "Beacon", + "name": "beacon", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "stackSize": 64 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "light_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 148, + "displayName": "Weighted Pressure Plate (Heavy)", + "name": "heavy_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 149, + "displayName": "Redstone Comparator", + "name": "unpowered_comparator", + "stackSize": 64 + }, + { + "id": 150, + "displayName": "Redstone Comparator (deprecated)", + "name": "powered_comparator", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_detector", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "redstone_block", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "quartz_ore", + "stackSize": 64 + }, + { + "id": 154, + "displayName": "Hopper", + "name": "hopper", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "quartz_block", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_hardened_clay", + "stackSize": 64 + }, + { + "id": 160, + "displayName": "Stained Glass Pane", + "name": "stained_glass_pane", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Leaves (Acacia/Dark Oak)", + "name": "leaves2", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Wood (Acacia/Dark Oak)", + "name": "log2", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_stairs", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_stairs", + "stackSize": 64 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime", + "stackSize": 64 + }, + { + "id": 166, + "displayName": "Barrier", + "name": "barrier", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 168, + "displayName": "Prismarine", + "name": "prismarine", + "stackSize": 64 + }, + { + "id": 169, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_block", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "coal_block", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Large Flowers", + "name": "double_plant", + "stackSize": 64 + }, + { + "id": 176, + "displayName": "Standing Banner", + "name": "standing_banner", + "stackSize": 64 + }, + { + "id": 177, + "displayName": "Wall Banner", + "name": "wall_banner", + "stackSize": 64 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "daylight_detector_inverted", + "stackSize": 64 + }, + { + "id": 179, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "stackSize": 64 + }, + { + "id": 180, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 181, + "displayName": "Double Red Sandstone Slab", + "name": "double_stone_slab2", + "stackSize": 64 + }, + { + "id": 182, + "displayName": "Red Sandstone Slab", + "name": "stone_slab2", + "stackSize": 64 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64 + }, + { + "id": 188, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "stackSize": 64 + }, + { + "id": 189, + "displayName": "Birch Fence", + "name": "birch_fence", + "stackSize": 64 + }, + { + "id": 190, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "stackSize": 64 + }, + { + "id": 191, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "stackSize": 64 + }, + { + "id": 192, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "stackSize": 64 + }, + { + "id": 198, + "displayName": "End Rod", + "name": "end_rod", + "stackSize": 64 + }, + { + "id": 199, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "stackSize": 64 + }, + { + "id": 200, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "stackSize": 64 + }, + { + "id": 201, + "displayName": "Purpur Block", + "name": "purpur_block", + "stackSize": 64 + }, + { + "id": 202, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "stackSize": 64 + }, + { + "id": 203, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "stackSize": 64 + }, + { + "id": 204, + "displayName": "Purpur Double Slab", + "name": "purpur_double_slab", + "stackSize": 64 + }, + { + "id": 205, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "stackSize": 64 + }, + { + "id": 206, + "displayName": "End Stone Bricks", + "name": "end_bricks", + "stackSize": 64 + }, + { + "id": 207, + "displayName": "Beetroot Seeds", + "name": "beetroots", + "stackSize": 64 + }, + { + "id": 208, + "displayName": "Grass Path", + "name": "grass_path", + "stackSize": 64 + }, + { + "id": 209, + "displayName": "End Gateway", + "name": "end_gateway", + "stackSize": 64 + }, + { + "id": 210, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "stackSize": 64 + }, + { + "id": 211, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "stackSize": 64 + }, + { + "id": 212, + "displayName": "Frosted Ice", + "name": "frosted_ice", + "stackSize": 64 + }, + { + "id": 255, + "displayName": "Structure Block", + "name": "structure_block", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Iron Shovel", + "stackSize": 1, + "name": "iron_shovel" + }, + { + "id": 257, + "displayName": "Iron Pickaxe", + "stackSize": 1, + "name": "iron_pickaxe" + }, + { + "id": 258, + "displayName": "Iron Axe", + "stackSize": 1, + "name": "iron_axe" + }, + { + "id": 259, + "displayName": "Flint and Steel", + "stackSize": 1, + "name": "flint_and_steel" + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple" + }, + { + "id": 261, + "displayName": "Bow", + "stackSize": 1, + "name": "bow" + }, + { + "id": 262, + "displayName": "Arrow", + "stackSize": 64, + "name": "arrow" + }, + { + "id": 263, + "displayName": "Coal", + "stackSize": 64, + "name": "coal", + "variations": [ + { + "metadata": 0, + "displayName": "Coal" + }, + { + "metadata": 1, + "displayName": "Charcoal" + } + ] + }, + { + "id": 264, + "displayName": "Diamond", + "stackSize": 64, + "name": "diamond" + }, + { + "id": 265, + "displayName": "Iron Ingot", + "stackSize": 64, + "name": "iron_ingot" + }, + { + "id": 266, + "displayName": "Gold Ingot", + "stackSize": 64, + "name": "gold_ingot" + }, + { + "id": 267, + "displayName": "Iron Sword", + "stackSize": 1, + "name": "iron_sword" + }, + { + "id": 268, + "displayName": "Wooden Sword", + "stackSize": 1, + "name": "wooden_sword" + }, + { + "id": 269, + "displayName": "Wooden Shovel", + "stackSize": 1, + "name": "wooden_shovel" + }, + { + "id": 270, + "displayName": "Wooden Pickaxe", + "stackSize": 1, + "name": "wooden_pickaxe" + }, + { + "id": 271, + "displayName": "Wooden Axe", + "stackSize": 1, + "name": "wooden_axe" + }, + { + "id": 272, + "displayName": "Stone Sword", + "stackSize": 1, + "name": "stone_sword" + }, + { + "id": 273, + "displayName": "Stone Shovel", + "stackSize": 1, + "name": "stone_shovel" + }, + { + "id": 274, + "displayName": "Stone Pickaxe", + "stackSize": 1, + "name": "stone_pickaxe" + }, + { + "id": 275, + "displayName": "Stone Axe", + "stackSize": 1, + "name": "stone_axe" + }, + { + "id": 276, + "displayName": "Diamond Sword", + "stackSize": 1, + "name": "diamond_sword" + }, + { + "id": 277, + "displayName": "Diamond Shovel", + "stackSize": 1, + "name": "diamond_shovel" + }, + { + "id": 278, + "displayName": "Diamond Pickaxe", + "stackSize": 1, + "name": "diamond_pickaxe" + }, + { + "id": 279, + "displayName": "Diamond Axe", + "stackSize": 1, + "name": "diamond_axe" + }, + { + "id": 280, + "displayName": "Stick", + "stackSize": 64, + "name": "stick" + }, + { + "id": 281, + "displayName": "Bowl", + "stackSize": 64, + "name": "bowl" + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew" + }, + { + "id": 283, + "displayName": "Golden Sword", + "stackSize": 1, + "name": "golden_sword" + }, + { + "id": 284, + "displayName": "Golden Shovel", + "stackSize": 1, + "name": "golden_shovel" + }, + { + "id": 285, + "displayName": "Golden Pickaxe", + "stackSize": 1, + "name": "golden_pickaxe" + }, + { + "id": 286, + "displayName": "Golden Axe", + "stackSize": 1, + "name": "golden_axe" + }, + { + "id": 287, + "displayName": "String", + "stackSize": 64, + "name": "string" + }, + { + "id": 288, + "displayName": "Feather", + "stackSize": 64, + "name": "feather" + }, + { + "id": 289, + "displayName": "Gunpowder", + "stackSize": 64, + "name": "gunpowder" + }, + { + "id": 290, + "displayName": "Wooden Hoe", + "stackSize": 1, + "name": "wooden_hoe" + }, + { + "id": 291, + "displayName": "Stone Hoe", + "stackSize": 1, + "name": "stone_hoe" + }, + { + "id": 292, + "displayName": "Iron Hoe", + "stackSize": 1, + "name": "iron_hoe" + }, + { + "id": 293, + "displayName": "Diamond Hoe", + "stackSize": 1, + "name": "diamond_hoe" + }, + { + "id": 294, + "displayName": "Golden Hoe", + "stackSize": 1, + "name": "golden_hoe" + }, + { + "id": 295, + "displayName": "Seeds", + "stackSize": 64, + "name": "wheat_seeds" + }, + { + "id": 296, + "displayName": "Wheat", + "stackSize": 64, + "name": "wheat" + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread" + }, + { + "id": 298, + "displayName": "Leather Cap", + "stackSize": 1, + "name": "leather_helmet" + }, + { + "id": 299, + "displayName": "Leather Tunic", + "stackSize": 1, + "name": "leather_chestplate" + }, + { + "id": 300, + "displayName": "Leather Pants", + "stackSize": 1, + "name": "leather_leggings" + }, + { + "id": 301, + "displayName": "Leather Boots", + "stackSize": 1, + "name": "leather_boots" + }, + { + "id": 302, + "displayName": "Chain Helmet", + "stackSize": 1, + "name": "chainmail_helmet" + }, + { + "id": 303, + "displayName": "Chain Chestplate", + "stackSize": 1, + "name": "chainmail_chestplate" + }, + { + "id": 304, + "displayName": "Chain Leggings", + "stackSize": 1, + "name": "chainmail_leggings" + }, + { + "id": 305, + "displayName": "Chain Boots", + "stackSize": 1, + "name": "chainmail_boots" + }, + { + "id": 306, + "displayName": "Iron Helmet", + "stackSize": 1, + "name": "iron_helmet" + }, + { + "id": 307, + "displayName": "Iron Chestplate", + "stackSize": 1, + "name": "iron_chestplate" + }, + { + "id": 308, + "displayName": "Iron Leggings", + "stackSize": 1, + "name": "iron_leggings" + }, + { + "id": 309, + "displayName": "Iron Boots", + "stackSize": 1, + "name": "iron_boots" + }, + { + "id": 310, + "displayName": "Diamond Helmet", + "stackSize": 1, + "name": "diamond_helmet" + }, + { + "id": 311, + "displayName": "Diamond Chestplate", + "stackSize": 1, + "name": "diamond_chestplate" + }, + { + "id": 312, + "displayName": "Diamond Leggings", + "stackSize": 1, + "name": "diamond_leggings" + }, + { + "id": 313, + "displayName": "Diamond Boots", + "stackSize": 1, + "name": "diamond_boots" + }, + { + "id": 314, + "displayName": "Golden Helmet", + "stackSize": 1, + "name": "golden_helmet" + }, + { + "id": 315, + "displayName": "Golden Chestplate", + "stackSize": 1, + "name": "golden_chestplate" + }, + { + "id": 316, + "displayName": "Golden Leggings", + "stackSize": 1, + "name": "golden_leggings" + }, + { + "id": 317, + "displayName": "Golden Boots", + "stackSize": 1, + "name": "golden_boots" + }, + { + "id": 318, + "displayName": "Flint", + "stackSize": 64, + "name": "flint" + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "porkchop" + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop" + }, + { + "id": 321, + "displayName": "Painting", + "stackSize": 64, + "name": "painting" + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ] + }, + { + "id": 323, + "displayName": "Sign", + "stackSize": 16, + "name": "sign" + }, + { + "id": 324, + "displayName": "Oak Door", + "stackSize": 64, + "name": "wooden_door" + }, + { + "id": 325, + "displayName": "Bucket", + "stackSize": 16, + "name": "bucket" + }, + { + "id": 326, + "displayName": "Water Bucket", + "stackSize": 1, + "name": "water_bucket" + }, + { + "id": 327, + "displayName": "Lava Bucket", + "stackSize": 1, + "name": "lava_bucket" + }, + { + "id": 328, + "displayName": "Minecart", + "stackSize": 1, + "name": "minecart" + }, + { + "id": 329, + "displayName": "Saddle", + "stackSize": 1, + "name": "saddle" + }, + { + "id": 330, + "displayName": "Iron Door", + "stackSize": 64, + "name": "iron_door" + }, + { + "id": 331, + "displayName": "Redstone", + "stackSize": 64, + "name": "redstone" + }, + { + "id": 332, + "displayName": "Snowball", + "stackSize": 16, + "name": "snowball" + }, + { + "id": 333, + "displayName": "Boat", + "stackSize": 1, + "name": "boat" + }, + { + "id": 334, + "displayName": "Leather", + "stackSize": 64, + "name": "leather" + }, + { + "id": 335, + "displayName": "Milk", + "stackSize": 1, + "name": "milk_bucket" + }, + { + "id": 336, + "displayName": "Brick", + "stackSize": 64, + "name": "brick" + }, + { + "id": 337, + "displayName": "Clay", + "stackSize": 64, + "name": "clay_ball" + }, + { + "id": 338, + "displayName": "Sugar Cane", + "stackSize": 64, + "name": "reeds" + }, + { + "id": 339, + "displayName": "Paper", + "stackSize": 64, + "name": "paper" + }, + { + "id": 340, + "displayName": "Book", + "stackSize": 64, + "name": "book" + }, + { + "id": 341, + "displayName": "Slimeball", + "stackSize": 64, + "name": "slime_ball" + }, + { + "id": 342, + "displayName": "Minecart with Chest", + "stackSize": 1, + "name": "chest_minecart" + }, + { + "id": 343, + "displayName": "Minecart with Furnace", + "stackSize": 1, + "name": "furnace_minecart" + }, + { + "id": 344, + "displayName": "Egg", + "stackSize": 16, + "name": "egg" + }, + { + "id": 345, + "displayName": "Compass", + "stackSize": 64, + "name": "compass" + }, + { + "id": 346, + "displayName": "Fishing Rod", + "stackSize": 1, + "name": "fishing_rod" + }, + { + "id": 347, + "displayName": "Clock", + "stackSize": 64, + "name": "clock" + }, + { + "id": 348, + "displayName": "Glowstone Dust", + "stackSize": 64, + "name": "glowstone_dust" + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + } + ] + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish" + }, + { + "id": 351, + "displayName": "Dye", + "stackSize": 64, + "name": "dye", + "variations": [ + { + "metadata": 0, + "displayName": "Ink Sac" + }, + { + "metadata": 1, + "displayName": "Rose Red" + }, + { + "metadata": 2, + "displayName": "Cactus Green" + }, + { + "metadata": 3, + "displayName": "Cocoa Beans" + }, + { + "metadata": 4, + "displayName": "Lapis Lazuli" + }, + { + "metadata": 5, + "displayName": "Purple Dye" + }, + { + "metadata": 6, + "displayName": "Cyan Dye" + }, + { + "metadata": 7, + "displayName": "Light Gray Dye" + }, + { + "metadata": 8, + "displayName": "Gray Dye" + }, + { + "metadata": 9, + "displayName": "Pink Dye" + }, + { + "metadata": 10, + "displayName": "Lime Dye" + }, + { + "metadata": 11, + "displayName": "Dandelion Yellow" + }, + { + "metadata": 12, + "displayName": "Light Blue Dye" + }, + { + "metadata": 13, + "displayName": "Magenta Dye" + }, + { + "metadata": 14, + "displayName": "Orange Dye" + }, + { + "metadata": 15, + "displayName": "Bone Meal" + } + ] + }, + { + "id": 352, + "displayName": "Bone", + "stackSize": 64, + "name": "bone" + }, + { + "id": 353, + "displayName": "Sugar", + "stackSize": 64, + "name": "sugar" + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake" + }, + { + "id": 355, + "displayName": "Bed", + "stackSize": 1, + "name": "bed" + }, + { + "id": 356, + "displayName": "Redstone Repeater", + "stackSize": 64, + "name": "repeater" + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie" + }, + { + "id": 358, + "displayName": "Map", + "stackSize": 64, + "name": "filled_map" + }, + { + "id": 359, + "displayName": "Shears", + "stackSize": 1, + "name": "shears" + }, + { + "id": 360, + "displayName": "Melon", + "stackSize": 64, + "name": "melon" + }, + { + "id": 361, + "displayName": "Pumpkin Seeds", + "stackSize": 64, + "name": "pumpkin_seeds" + }, + { + "id": 362, + "displayName": "Melon Seeds", + "stackSize": 64, + "name": "melon_seeds" + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "beef" + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "cooked_beef" + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "chicken" + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken" + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh" + }, + { + "id": 368, + "displayName": "Ender Pearl", + "stackSize": 16, + "name": "ender_pearl" + }, + { + "id": 369, + "displayName": "Blaze Rod", + "stackSize": 64, + "name": "blaze_rod" + }, + { + "id": 370, + "displayName": "Ghast Tear", + "stackSize": 64, + "name": "ghast_tear" + }, + { + "id": 371, + "displayName": "Gold Nugget", + "stackSize": 64, + "name": "gold_nugget" + }, + { + "id": 372, + "displayName": "Nether Wart", + "stackSize": 64, + "name": "nether_wart" + }, + { + "id": 373, + "displayName": "Potion", + "stackSize": 1, + "name": "potion" + }, + { + "id": 374, + "displayName": "Glass Bottle", + "stackSize": 64, + "name": "glass_bottle" + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye" + }, + { + "id": 376, + "displayName": "Fermented Spider Eye", + "stackSize": 64, + "name": "fermented_spider_eye" + }, + { + "id": 377, + "displayName": "Blaze Powder", + "stackSize": 64, + "name": "blaze_powder" + }, + { + "id": 378, + "displayName": "Magma Cream", + "stackSize": 64, + "name": "magma_cream" + }, + { + "id": 379, + "displayName": "Brewing Stand", + "stackSize": 64, + "name": "brewing_stand" + }, + { + "id": 380, + "displayName": "Cauldron", + "stackSize": 64, + "name": "cauldron" + }, + { + "id": 381, + "displayName": "Eye of Ender", + "stackSize": 64, + "name": "ender_eye" + }, + { + "id": 382, + "displayName": "Glistering Melon", + "stackSize": 64, + "name": "speckled_melon" + }, + { + "id": 383, + "displayName": "Spawn Egg", + "stackSize": 64, + "name": "spawn_egg" + }, + { + "id": 384, + "displayName": "Bottle o' Enchanting", + "stackSize": 64, + "name": "experience_bottle" + }, + { + "id": 385, + "displayName": "Fire Charge", + "stackSize": 64, + "name": "fire_charge" + }, + { + "id": 386, + "displayName": "Book and Quill", + "stackSize": 1, + "name": "writable_book" + }, + { + "id": 387, + "displayName": "Written Book", + "stackSize": 16, + "name": "written_book" + }, + { + "id": 388, + "displayName": "Emerald", + "stackSize": 64, + "name": "emerald" + }, + { + "id": 389, + "displayName": "Item Frame", + "stackSize": 64, + "name": "item_frame" + }, + { + "id": 390, + "displayName": "Flower Pot", + "stackSize": 64, + "name": "flower_pot", + "variations": [ + { + "metadata": 0, + "displayName": "Empty Flower Pot" + }, + { + "metadata": 1, + "displayName": "Poppy Flower Pot" + }, + { + "metadata": 2, + "displayName": "Dandelion Flower Pot" + }, + { + "metadata": 3, + "displayName": "Oak sapling Flower Pot" + }, + { + "metadata": 4, + "displayName": "Spruce sapling Flower Pot" + }, + { + "metadata": 5, + "displayName": "Birch sapling Flower Pot" + }, + { + "metadata": 6, + "displayName": "Jungle sapling Flower Pot" + }, + { + "metadata": 7, + "displayName": "Red mushroom Flower Pot" + }, + { + "metadata": 8, + "displayName": "Brown mushroom Flower Pot" + }, + { + "metadata": 9, + "displayName": "Cactus Flower Pot" + }, + { + "metadata": 10, + "displayName": "Dead bush Flower Pot" + }, + { + "metadata": 11, + "displayName": "Fern Flower Pot" + }, + { + "metadata": 12, + "displayName": "Acacia sapling Flower Pot" + }, + { + "metadata": 13, + "displayName": "Dark oak sapling Flower Pot" + } + ] + }, + { + "id": 391, + "displayName": "Carrot", + "stackSize": 64, + "name": "carrot" + }, + { + "id": 392, + "displayName": "Potato", + "stackSize": 64, + "name": "potato" + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato" + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato" + }, + { + "id": 395, + "displayName": "Empty Map", + "stackSize": 64, + "name": "map" + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot" + }, + { + "id": 397, + "displayName": "Mob head", + "stackSize": 64, + "name": "skull", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ] + }, + { + "id": 398, + "displayName": "Carrot on a Stick", + "stackSize": 1, + "name": "carrot_on_a_stick" + }, + { + "id": 399, + "displayName": "Nether Star", + "stackSize": 64, + "name": "nether_star" + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie" + }, + { + "id": 401, + "displayName": "Firework Rocket", + "stackSize": 64, + "name": "fireworks" + }, + { + "id": 402, + "displayName": "Firework Star", + "stackSize": 64, + "name": "firework_charge" + }, + { + "id": 403, + "displayName": "Enchanted Book", + "stackSize": 1, + "name": "enchanted_book" + }, + { + "id": 404, + "displayName": "Redstone Comparator", + "stackSize": 64, + "name": "comparator" + }, + { + "id": 405, + "displayName": "Nether Brick", + "stackSize": 64, + "name": "netherbrick" + }, + { + "id": 406, + "displayName": "Nether Quartz", + "stackSize": 64, + "name": "quartz" + }, + { + "id": 407, + "displayName": "Minecart with TNT", + "stackSize": 1, + "name": "tnt_minecart" + }, + { + "id": 408, + "displayName": "Minecart with Hopper", + "stackSize": 1, + "name": "hopper_minecart" + }, + { + "id": 409, + "displayName": "Prismarine Shard", + "stackSize": 64, + "name": "prismarine_shard" + }, + { + "id": 410, + "displayName": "Prismarine Crystals", + "stackSize": 64, + "name": "prismarine_crystals" + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "rabbit" + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit" + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew" + }, + { + "id": 414, + "displayName": "Rabbit's Foot", + "stackSize": 64, + "name": "rabbit_foot" + }, + { + "id": 415, + "displayName": "Rabbit Hide", + "stackSize": 64, + "name": "rabbit_hide" + }, + { + "id": 416, + "displayName": "Armor Stand", + "stackSize": 16, + "name": "armor_stand" + }, + { + "id": 417, + "displayName": "Iron Horse Armor", + "stackSize": 1, + "name": "iron_horse_armor" + }, + { + "id": 418, + "displayName": "Golden Horse Armor", + "stackSize": 1, + "name": "golden_horse_armor" + }, + { + "id": 419, + "displayName": "Diamond Horse Armor", + "stackSize": 1, + "name": "diamond_horse_armor" + }, + { + "id": 420, + "displayName": "Lead", + "stackSize": 64, + "name": "lead" + }, + { + "id": 421, + "displayName": "Name Tag", + "stackSize": 64, + "name": "name_tag" + }, + { + "id": 422, + "displayName": "Minecart with Command Block", + "stackSize": 1, + "name": "command_block_minecart" + }, + { + "id": 423, + "displayName": "Raw Mutton", + "stackSize": 64, + "name": "mutton" + }, + { + "id": 424, + "displayName": "Cooked Mutton", + "stackSize": 64, + "name": "cooked_mutton" + }, + { + "id": 425, + "displayName": "Banner", + "stackSize": 16, + "name": "banner" + }, + { + "id": 426, + "displayName": "End Crystal", + "stackSize": 64, + "name": "end_crystal" + }, + { + "id": 427, + "displayName": "Spruce Door", + "stackSize": 64, + "name": "spruce_door" + }, + { + "id": 428, + "displayName": "Birch Door", + "stackSize": 64, + "name": "birch_door" + }, + { + "id": 429, + "displayName": "Jungle Door", + "stackSize": 64, + "name": "jungle_door" + }, + { + "id": 430, + "displayName": "Acacia Door", + "stackSize": 64, + "name": "acacia_door" + }, + { + "id": 431, + "displayName": "Dark Oak Door", + "stackSize": 64, + "name": "dark_oak_door" + }, + { + "id": 432, + "displayName": "Chorus Fruit", + "stackSize": 64, + "name": "chorus_fruit" + }, + { + "id": 433, + "displayName": "Popped Chorus Fruit", + "stackSize": 64, + "name": "chorus_fruit_popped" + }, + { + "id": 434, + "displayName": "Beetroot", + "stackSize": 64, + "name": "beetroot" + }, + { + "id": 435, + "displayName": "Beetroot Seeds", + "stackSize": 64, + "name": "beetroot_seeds" + }, + { + "id": 436, + "displayName": "Beetroot Soup", + "stackSize": 1, + "name": "beetroot_soup" + }, + { + "id": 437, + "displayName": "Dragon's Breath", + "stackSize": 64, + "name": "dragon_breath" + }, + { + "id": 438, + "displayName": "Splash Potion", + "stackSize": 1, + "name": "splash_potion" + }, + { + "id": 439, + "displayName": "Spectral Arrow", + "stackSize": 64, + "name": "spectral_arrow" + }, + { + "id": 440, + "displayName": "Tipped Arrow", + "stackSize": 64, + "name": "tipped_arrow" + }, + { + "id": 441, + "displayName": "Lingering Potion", + "stackSize": 1, + "name": "lingering_potion" + }, + { + "id": 442, + "displayName": "Shield", + "stackSize": 1, + "name": "shield" + }, + { + "id": 443, + "displayName": "Elytra", + "stackSize": 1, + "name": "elytra" + }, + { + "id": 444, + "displayName": "Spruce Boat", + "stackSize": 1, + "name": "spruce_boat" + }, + { + "id": 445, + "displayName": "Birch Boat", + "stackSize": 1, + "name": "birch_boat" + }, + { + "id": 446, + "displayName": "Jungle Boat", + "stackSize": 1, + "name": "jungle_boat" + }, + { + "id": 447, + "displayName": "Acacia Boat", + "stackSize": 1, + "name": "acacia_boat" + }, + { + "id": 448, + "displayName": "Dark Oak Boat", + "stackSize": 1, + "name": "dark_oak_boat" + }, + { + "id": 2256, + "displayName": "13 Disc", + "stackSize": 1, + "name": "record_13" + }, + { + "id": 2257, + "displayName": "Cat Disc", + "stackSize": 1, + "name": "record_cat" + }, + { + "id": 2258, + "displayName": "Blocks Disc", + "stackSize": 1, + "name": "record_blocks" + }, + { + "id": 2259, + "displayName": "Chirp Disc", + "stackSize": 1, + "name": "record_chirp" + }, + { + "id": 2260, + "displayName": "Far Disc", + "stackSize": 1, + "name": "record_far" + }, + { + "id": 2261, + "displayName": "Mall Disc", + "stackSize": 1, + "name": "record_mall" + }, + { + "id": 2262, + "displayName": "Mellohi Disc", + "stackSize": 1, + "name": "record_mellohi" + }, + { + "id": 2263, + "displayName": "Stal Disc", + "stackSize": 1, + "name": "record_stal" + }, + { + "id": 2264, + "displayName": "Strad Disc", + "stackSize": 1, + "name": "record_strad" + }, + { + "id": 2265, + "displayName": "Ward Disc", + "stackSize": 1, + "name": "record_ward" + }, + { + "id": 2266, + "displayName": "11 Disc", + "stackSize": 1, + "name": "record_11" + }, + { + "id": 2267, + "displayName": "Wait Disc", + "stackSize": 1, + "name": "record_wait" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/language.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/language.json new file mode 100644 index 00000000..6d6807a4 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/language.json @@ -0,0 +1,2899 @@ +{ + "language.name": "English", + "language.region": "United States", + "language.code": "en_US", + "gui.done": "Done", + "gui.cancel": "Cancel", + "gui.back": "Back", + "gui.toTitle": "Back to title screen", + "gui.toMenu": "Back to server list", + "gui.up": "Up", + "gui.down": "Down", + "gui.yes": "Yes", + "gui.no": "No", + "gui.none": "None", + "gui.all": "All", + "translation.test.none": "Hello, world!", + "translation.test.complex": "Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!", + "translation.test.escape": "%%s %%%s %%%%s %%%%%s", + "translation.test.invalid": "hi %", + "translation.test.invalid2": "hi % s", + "translation.test.args": "%s %s", + "translation.test.world": "world", + "menu.game": "Game menu", + "menu.singleplayer": "Singleplayer", + "menu.multiplayer": "Multiplayer", + "menu.online": "Minecraft Realms", + "menu.options": "Options...", + "menu.quit": "Quit Game", + "menu.returnToMenu": "Save and Quit to Title", + "menu.disconnect": "Disconnect", + "menu.returnToGame": "Back to Game", + "menu.generatingLevel": "Generating world", + "menu.loadingLevel": "Loading world", + "menu.generatingTerrain": "Building terrain", + "menu.convertingLevel": "Converting world", + "menu.respawning": "Respawning", + "menu.shareToLan": "Open to LAN", + "selectWorld.title": "Select World", + "selectWorld.empty": "empty", + "selectWorld.world": "World", + "selectWorld.select": "Play Selected World", + "selectWorld.create": "Create New World", + "selectWorld.recreate": "Re-Create", + "selectWorld.createDemo": "Play New Demo World", + "selectWorld.delete": "Delete", + "selectWorld.edit": "Edit", + "selectWorld.edit.title": "Edit World", + "selectWorld.edit.resetIcon": "Reset Icon", + "selectWorld.edit.openFolder": "Open Folder", + "selectWorld.edit.save": "Save World", + "selectWorld.deleteQuestion": "Are you sure you want to delete this world?", + "selectWorld.deleteWarning": "will be lost forever! (A long time!)", + "selectWorld.deleteButton": "Delete", + "selectWorld.conversion": "Must be converted!", + "selectWorld.newWorld": "New World", + "selectWorld.newWorld.copyOf": "Copy of %s", + "selectWorld.enterName": "World Name", + "selectWorld.resultFolder": "Will be saved in:", + "selectWorld.enterSeed": "Seed for the World Generator", + "selectWorld.seedInfo": "Leave blank for a random seed", + "selectWorld.cheats": "Cheats", + "selectWorld.customizeType": "Customize", + "selectWorld.version": "Version:", + "selectWorld.versionUnknown": "unknown", + "selectWorld.versionQuestion": "Do you really want to load this world?", + "selectWorld.versionWarning": "This world was saved in version '%s' and loading it in this version could cause corruption!", + "selectWorld.versionJoinButton": "Use anyway", + "selectWorld.tooltip.fromNewerVersion1": "World was saved in a newer version,", + "selectWorld.tooltip.fromNewerVersion2": "loading this world could cause problems!", + "selectWorld.tooltip.snapshot1": "Don't forget to backup this world", + "selectWorld.tooltip.snapshot2": "before you load it in this snapshot.", + "createWorld.customize.presets": "Presets", + "createWorld.customize.presets.title": "Select a Preset", + "createWorld.customize.presets.select": "Use Preset", + "createWorld.customize.presets.share": "Want to share your preset with someone? Use the below box!", + "createWorld.customize.presets.list": "Alternatively, here's some we made earlier!", + "createWorld.customize.flat.title": "Superflat Customization", + "createWorld.customize.flat.tile": "Layer Material", + "createWorld.customize.flat.height": "Height", + "createWorld.customize.flat.addLayer": "Add Layer", + "createWorld.customize.flat.editLayer": "Edit Layer", + "createWorld.customize.flat.removeLayer": "Remove Layer", + "createWorld.customize.flat.layer.top": "Top - %d", + "createWorld.customize.flat.layer": "%d", + "createWorld.customize.flat.layer.bottom": "Bottom - %d", + "createWorld.customize.flat.air": "Air", + "createWorld.customize.custom.page0": "Basic Settings", + "createWorld.customize.custom.page1": "Ore Settings", + "createWorld.customize.custom.page2": "Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.page3": "Extra Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.randomize": "Randomize", + "createWorld.customize.custom.prev": "Previous Page", + "createWorld.customize.custom.next": "Next Page", + "createWorld.customize.custom.defaults": "Defaults", + "createWorld.customize.custom.confirm1": "This will overwrite your current", + "createWorld.customize.custom.confirm2": "settings and cannot be undone.", + "createWorld.customize.custom.confirmTitle": "Warning!", + "createWorld.customize.custom.mainNoiseScaleX": "Main Noise Scale X", + "createWorld.customize.custom.mainNoiseScaleY": "Main Noise Scale Y", + "createWorld.customize.custom.mainNoiseScaleZ": "Main Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleX": "Depth Noise Scale X", + "createWorld.customize.custom.depthNoiseScaleZ": "Depth Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleExponent": "Depth Noise Exponent", + "createWorld.customize.custom.baseSize": "Depth Base Size", + "createWorld.customize.custom.coordinateScale": "Coordinate Scale", + "createWorld.customize.custom.heightScale": "Height Scale", + "createWorld.customize.custom.stretchY": "Height Stretch", + "createWorld.customize.custom.upperLimitScale": "Upper Limit Scale", + "createWorld.customize.custom.lowerLimitScale": "Lower Limit Scale", + "createWorld.customize.custom.biomeDepthWeight": "Biome Depth Weight", + "createWorld.customize.custom.biomeDepthOffset": "Biome Depth Offset", + "createWorld.customize.custom.biomeScaleWeight": "Biome Scale Weight", + "createWorld.customize.custom.biomeScaleOffset": "Biome Scale Offset", + "createWorld.customize.custom.seaLevel": "Sea Level", + "createWorld.customize.custom.useCaves": "Caves", + "createWorld.customize.custom.useStrongholds": "Strongholds", + "createWorld.customize.custom.useVillages": "Villages", + "createWorld.customize.custom.useMineShafts": "Mineshafts", + "createWorld.customize.custom.useTemples": "Temples", + "createWorld.customize.custom.useMonuments": "Ocean Monuments", + "createWorld.customize.custom.useRavines": "Ravines", + "createWorld.customize.custom.useDungeons": "Dungeons", + "createWorld.customize.custom.dungeonChance": "Dungeon Count", + "createWorld.customize.custom.useWaterLakes": "Water Lakes", + "createWorld.customize.custom.waterLakeChance": "Water Lake Rarity", + "createWorld.customize.custom.useLavaLakes": "Lava Lakes", + "createWorld.customize.custom.lavaLakeChance": "Lava Lake Rarity", + "createWorld.customize.custom.useLavaOceans": "Lava Oceans", + "createWorld.customize.custom.fixedBiome": "Biome", + "createWorld.customize.custom.biomeSize": "Biome Size", + "createWorld.customize.custom.riverSize": "River Size", + "createWorld.customize.custom.size": " Spawn Size", + "createWorld.customize.custom.count": " Spawn Tries", + "createWorld.customize.custom.minHeight": " Min. Height", + "createWorld.customize.custom.maxHeight": " Max. Height", + "createWorld.customize.custom.center": " Center Height", + "createWorld.customize.custom.spread": " Spread Height", + "createWorld.customize.custom.presets.title": "Customize World Presets", + "createWorld.customize.custom.presets": "Presets", + "createWorld.customize.custom.preset.waterWorld": "Water World", + "createWorld.customize.custom.preset.isleLand": "Isle Land", + "createWorld.customize.custom.preset.caveDelight": "Caver's Delight", + "createWorld.customize.custom.preset.mountains": "Mountain Madness", + "createWorld.customize.custom.preset.drought": "Drought", + "createWorld.customize.custom.preset.caveChaos": "Caves of Chaos", + "createWorld.customize.custom.preset.goodLuck": "Good Luck", + "gameMode.survival": "Survival Mode", + "gameMode.creative": "Creative Mode", + "gameMode.adventure": "Adventure Mode", + "gameMode.spectator": "Spectator Mode", + "gameMode.hardcore": "Hardcore Mode!", + "gameMode.changed": "Your game mode has been updated to %s", + "selectWorld.gameMode": "Game Mode", + "selectWorld.gameMode.survival": "Survival", + "selectWorld.gameMode.survival.line1": "Search for resources, crafting, gain", + "selectWorld.gameMode.survival.line2": "levels, health and hunger", + "selectWorld.gameMode.creative": "Creative", + "selectWorld.gameMode.creative.line1": "Unlimited resources, free flying and", + "selectWorld.gameMode.creative.line2": "destroy blocks instantly", + "selectWorld.gameMode.spectator": "Spectator", + "selectWorld.gameMode.spectator.line1": "You can look but don't touch", + "selectWorld.gameMode.hardcore": "Hardcore", + "selectWorld.gameMode.hardcore.line1": "Same as survival mode, locked at hardest", + "selectWorld.gameMode.hardcore.line2": "difficulty, and one life only", + "selectWorld.gameMode.adventure": "Adventure", + "selectWorld.gameMode.adventure.line1": "Same as survival mode, but blocks can't", + "selectWorld.gameMode.adventure.line2": "be added or removed", + "selectWorld.moreWorldOptions": "More World Options...", + "selectWorld.mapFeatures": "Generate Structures:", + "selectWorld.mapFeatures.info": "Villages, dungeons etc", + "selectWorld.mapType": "World Type:", + "selectWorld.mapType.normal": "Normal", + "selectWorld.allowCommands": "Allow Cheats:", + "selectWorld.allowCommands.info": "Commands like /gamemode, /xp", + "selectWorld.hardcoreMode": "Hardcore:", + "selectWorld.hardcoreMode.info": "World is deleted upon death", + "selectWorld.bonusItems": "Bonus Chest:", + "generator.default": "Default", + "generator.flat": "Superflat", + "generator.largeBiomes": "Large Biomes", + "generator.amplified": "AMPLIFIED", + "generator.customized": "Customized", + "generator.debug_all_block_states": "Debug Mode", + "generator.amplified.info": "Notice: Just for fun, requires beefy computer", + "selectServer.title": "Select Server", + "selectServer.empty": "empty", + "selectServer.select": "Join Server", + "selectServer.direct": "Direct Connect", + "selectServer.edit": "Edit", + "selectServer.delete": "Delete", + "selectServer.add": "Add server", + "selectServer.defaultName": "Minecraft Server", + "selectServer.deleteQuestion": "Are you sure you want to remove this server?", + "selectServer.deleteWarning": "will be lost forever! (A long time!)", + "selectServer.deleteButton": "Delete", + "selectServer.refresh": "Refresh", + "selectServer.hiddenAddress": "(Hidden)", + "addServer.title": "Edit Server Info", + "addServer.enterName": "Server Name", + "addServer.enterIp": "Server Address", + "addServer.add": "Done", + "addServer.hideAddress": "Hide Address", + "addServer.resourcePack": "Server Resource Packs", + "addServer.resourcePack.enabled": "Enabled", + "addServer.resourcePack.disabled": "Disabled", + "addServer.resourcePack.prompt": "Prompt", + "lanServer.title": "LAN World", + "lanServer.scanning": "Scanning for games on your local network", + "lanServer.start": "Start LAN World", + "lanServer.otherPlayers": "Settings for Other Players", + "mcoServer.title": "Minecraft Online World", + "multiplayer.title": "Play Multiplayer", + "multiplayer.connect": "Connect", + "multiplayer.ipinfo": "Enter the IP of a server to connect to it:", + "multiplayer.texturePrompt.line1": "This server recommends the use of a custom resource pack.", + "multiplayer.texturePrompt.line2": "Would you like to download and install it automagically?", + "multiplayer.downloadingTerrain": "Loading terrain", + "multiplayer.downloadingStats": "Downloading statistics & achievements...", + "multiplayer.stopSleeping": "Leave Bed", + "multiplayer.player.joined": "%s joined the game", + "multiplayer.player.joined.renamed": "%s (formerly known as %s) joined the game", + "multiplayer.player.left": "%s left the game", + "chat.cannotSend": "Cannot send chat message", + "chat.type.text": "<%s> %s", + "chat.type.emote": "* %s %s", + "chat.type.announcement": "[%s] %s", + "chat.type.admin": "[%s: %s]", + "chat.type.achievement": "%s has just earned the achievement %s", + "chat.type.achievement.taken": "%s has lost the achievement %s", + "chat.link.confirm": "Are you sure you want to open the following website?", + "chat.link.warning": "Never open links from people that you don't trust!", + "chat.copy": "Copy to Clipboard", + "chat.link.confirmTrusted": "Do you want to open this link or copy it to your clipboard?", + "chat.link.open": "Open in browser", + "menu.playdemo": "Play Demo World", + "menu.resetdemo": "Reset Demo World", + "demo.day.1": "This demo will last five game days, do your best!", + "demo.day.2": "Day Two", + "demo.day.3": "Day Three", + "demo.day.4": "Day Four", + "demo.day.5": "This is your last day!", + "demo.day.warning": "Your time is almost up!", + "demo.day.6": "You have passed your fifth day, use F2 to save a screenshot of your creation", + "demo.reminder": "The demo time has expired, buy the game to continue or start a new world!", + "demo.remainingTime": "Remaining time: %s", + "demo.demoExpired": "Demo time's up!", + "demo.help.movement": "Use %1$s, %2$s, %3$s, %4$s and the mouse to move around", + "demo.help.movementShort": "Move by pressing %1$s, %2$s, %3$s, %4$s", + "demo.help.movementMouse": "Look around using the mouse", + "demo.help.jump": "Jump by pressing %1$s", + "demo.help.inventory": "Use %1$s to open your inventory", + "demo.help.title": "Minecraft Demo Mode", + "demo.help.fullWrapped": "This demo will last 5 ingame days (about 1 hour and 40 minutes of real time). Check the achievements for hints! Have fun!", + "demo.help.buy": "Purchase Now!", + "demo.help.later": "Continue Playing!", + "connect.connecting": "Connecting to the server...", + "connect.authorizing": "Logging in...", + "connect.failed": "Failed to connect to the server", + "disconnect.genericReason": "%s", + "disconnect.disconnected": "Disconnected by Server", + "disconnect.lost": "Connection Lost", + "disconnect.kicked": "Was kicked from the game", + "disconnect.timeout": "Timed out", + "disconnect.closed": "Connection closed", + "disconnect.loginFailed": "Failed to login", + "disconnect.loginFailedInfo": "Failed to login: %s", + "disconnect.loginFailedInfo.serversUnavailable": "The authentication servers are currently down for maintenance.", + "disconnect.loginFailedInfo.invalidSession": "Invalid session (Try restarting your game)", + "disconnect.quitting": "Quitting", + "disconnect.endOfStream": "End of stream", + "disconnect.overflow": "Buffer overflow", + "disconnect.spam": "Kicked for spamming", + "soundCategory.master": "Master Volume", + "soundCategory.music": "Music", + "soundCategory.record": "Jukebox/Noteblocks", + "soundCategory.weather": "Weather", + "soundCategory.hostile": "Hostile Creatures", + "soundCategory.neutral": "Friendly Creatures", + "soundCategory.player": "Players", + "soundCategory.block": "Blocks", + "soundCategory.ambient": "Ambient/Environment", + "soundCategory.voice": "Voice/Speech", + "record.nowPlaying": "Now playing: %s", + "options.off": "OFF", + "options.on": "ON", + "options.visible": "Shown", + "options.hidden": "Hidden", + "options.title": "Options", + "options.controls": "Controls...", + "options.video": "Video Settings...", + "options.language": "Language...", + "options.sounds": "Music & Sounds...", + "options.sounds.title": "Music & Sound Options", + "options.languageWarning": "Language translations may not be 100%% accurate", + "options.videoTitle": "Video Settings", + "options.customizeTitle": "Customize World Settings", + "options.music": "Music", + "options.sound": "Sound", + "options.invertMouse": "Invert Mouse", + "options.fov": "FOV", + "options.fov.min": "Normal", + "options.fov.max": "Quake Pro", + "options.saturation": "Saturation", + "options.gamma": "Brightness", + "options.gamma.min": "Moody", + "options.gamma.max": "Bright", + "options.sensitivity": "Sensitivity", + "options.sensitivity.min": "*yawn*", + "options.sensitivity.max": "HYPERSPEED!!!", + "options.renderDistance": "Render Distance", + "options.viewBobbing": "View Bobbing", + "options.ao": "Smooth Lighting", + "options.ao.off": "OFF", + "options.ao.min": "Minimum", + "options.ao.max": "Maximum", + "options.anaglyph": "3D Anaglyph", + "options.framerateLimit": "Max Framerate", + "options.framerateLimit.max": "Unlimited", + "options.difficulty": "Difficulty", + "options.difficulty.peaceful": "Peaceful", + "options.difficulty.easy": "Easy", + "options.difficulty.normal": "Normal", + "options.difficulty.hard": "Hard", + "options.difficulty.hardcore": "Hardcore", + "options.graphics": "Graphics", + "options.graphics.fancy": "Fancy", + "options.graphics.fast": "Fast", + "options.guiScale": "GUI Scale", + "options.guiScale.auto": "Auto", + "options.guiScale.small": "Small", + "options.guiScale.normal": "Normal", + "options.guiScale.large": "Large", + "options.postProcessEnable": "Enable Post-Processing", + "options.renderClouds": "Clouds", + "options.postButton": "Post-Processing Settings...", + "options.postVideoTitle": "Post-Processing Settings", + "options.farWarning1": "A 64 bit Java installation is recommended", + "options.farWarning2": "for 'Far' render distance (you have 32 bit)", + "options.particles": "Particles", + "options.particles.all": "All", + "options.particles.decreased": "Decreased", + "options.particles.minimal": "Minimal", + "options.multiplayer.title": "Multiplayer Settings...", + "options.chat.title": "Chat Settings...", + "options.chat.visibility": "Chat", + "options.chat.visibility.full": "Shown", + "options.chat.visibility.system": "Commands Only", + "options.chat.visibility.hidden": "Hidden", + "options.chat.color": "Colors", + "options.chat.opacity": "Opacity", + "options.chat.links": "Web Links", + "options.chat.links.prompt": "Prompt on Links", + "options.chat.scale": "Scale", + "options.chat.width": "Width", + "options.chat.height.focused": "Focused Height", + "options.chat.height.unfocused": "Unfocused Height", + "options.skinCustomisation": "Skin Customization...", + "options.skinCustomisation.title": "Skin Customization", + "options.modelPart.cape": "Cape", + "options.modelPart.hat": "Hat", + "options.modelPart.jacket": "Jacket", + "options.modelPart.left_sleeve": "Left Sleeve", + "options.modelPart.right_sleeve": "Right Sleeve", + "options.modelPart.left_pants_leg": "Left Pants Leg", + "options.modelPart.right_pants_leg": "Right Pants Leg", + "options.snooper": "Allow Snooper", + "options.snooper.view": "Snooper Settings...", + "options.snooper.title": "Machine Specs Collection", + "options.snooper.desc": "We want to collect information about your machine to help improve Minecraft by knowing what we can support and where the biggest problems are. All of this information is completely anonymous and viewable below. We promise we won't do anything bad with this data, but if you want to opt out then feel free to toggle it off!", + "options.resourcepack": "Resource Packs...", + "options.fullscreen": "Fullscreen", + "options.vsync": "Use VSync", + "options.vbo": "Use VBOs", + "options.touchscreen": "Touchscreen Mode", + "options.reducedDebugInfo": "Reduced Debug Info", + "options.entityShadows": "Entity Shadows", + "options.mainHand": "Main Hand", + "options.mainHand.left": "Left", + "options.mainHand.right": "Right", + "options.attackIndicator": "Attack Indicator", + "options.attack.crosshair": "Crosshair", + "options.attack.hotbar": "Hotbar", + "options.showSubtitles": "Show Subtitles", + "options.realmsNotifications": "Realms Notifications", + "options.autoJump": "Auto-jump", + "options.mipmapLevels": "Mipmap Levels", + "options.forceUnicodeFont": "Force Unicode Font", + "difficulty.lock.title": "Lock World Difficulty", + "difficulty.lock.question": "Are you sure you want to lock the difficulty of this world? This will set this world to always be %1$s, and you will never be able to change that again.", + "title.oldgl1": "Old graphics card detected; this may prevent you from", + "title.oldgl2": "playing in the future as OpenGL 2.0 will be required.", + "controls.title": "Controls", + "controls.reset": "Reset", + "controls.resetAll": "Reset Keys", + "key.sprint": "Sprint", + "key.forward": "Walk Forwards", + "key.left": "Strafe Left", + "key.back": "Walk Backwards", + "key.right": "Strafe Right", + "key.jump": "Jump", + "key.inventory": "Open/Close Inventory", + "key.drop": "Drop Selected Item", + "key.swapHands": "Swap Item In Hands", + "key.chat": "Open Chat", + "key.sneak": "Sneak", + "key.playerlist": "List Players", + "key.attack": "Attack/Destroy", + "key.use": "Use Item/Place Block", + "key.pickItem": "Pick Block", + "key.mouseButton": "Button %1$s", + "key.command": "Open Command", + "key.screenshot": "Take Screenshot", + "key.togglePerspective": "Toggle Perspective", + "key.smoothCamera": "Toggle Cinematic Camera", + "key.fullscreen": "Toggle Fullscreen", + "key.spectatorOutlines": "Highlight Players (Spectators)", + "key.hotbar.1": "Hotbar Slot 1", + "key.hotbar.2": "Hotbar Slot 2", + "key.hotbar.3": "Hotbar Slot 3", + "key.hotbar.4": "Hotbar Slot 4", + "key.hotbar.5": "Hotbar Slot 5", + "key.hotbar.6": "Hotbar Slot 6", + "key.hotbar.7": "Hotbar Slot 7", + "key.hotbar.8": "Hotbar Slot 8", + "key.hotbar.9": "Hotbar Slot 9", + "key.categories.movement": "Movement", + "key.categories.misc": "Miscellaneous", + "key.categories.multiplayer": "Multiplayer", + "key.categories.gameplay": "Gameplay", + "key.categories.ui": "Game Interface", + "key.categories.inventory": "Inventory", + "resourcePack.openFolder": "Open resource pack folder", + "resourcePack.title": "Select Resource Packs", + "resourcePack.available.title": "Available Resource Packs", + "resourcePack.selected.title": "Selected Resource Packs", + "resourcePack.folderInfo": "(Place resource pack files here)", + "resourcePack.incompatible": "Incompatible", + "resourcePack.incompatible.old": "(Made for an older version of Minecraft)", + "resourcePack.incompatible.new": "(Made for a newer version of Minecraft)", + "resourcePack.incompatible.confirm.title": "Are you sure you want to load this resource pack?", + "resourcePack.incompatible.confirm.old": "This resource pack was made for an older version of Minecraft and may no longer work correctly.", + "resourcePack.incompatible.confirm.new": "This resource pack was made for a newer version of Minecraft and may no longer work correctly.", + "sign.edit": "Edit sign message", + "book.pageIndicator": "Page %1$s of %2$s", + "book.byAuthor": "by %1$s", + "book.signButton": "Sign", + "book.editTitle": "Enter Book Title:", + "book.finalizeButton": "Sign and Close", + "book.finalizeWarning": "Note! When you sign the book, it will no longer be editable.", + "book.generation.0": "Original", + "book.generation.1": "Copy of original", + "book.generation.2": "Copy of a copy", + "book.generation.3": "Tattered", + "merchant.deprecated": "Trade something else to unlock!", + "tile.barrier.name": "Barrier", + "tile.stone.stone.name": "Stone", + "tile.stone.granite.name": "Granite", + "tile.stone.graniteSmooth.name": "Polished Granite", + "tile.stone.diorite.name": "Diorite", + "tile.stone.dioriteSmooth.name": "Polished Diorite", + "tile.stone.andesite.name": "Andesite", + "tile.stone.andesiteSmooth.name": "Polished Andesite", + "tile.hayBlock.name": "Hay Bale", + "tile.grass.name": "Grass Block", + "tile.dirt.name": "Dirt", + "tile.dirt.default.name": "Dirt", + "tile.dirt.coarse.name": "Coarse Dirt", + "tile.dirt.podzol.name": "Podzol", + "tile.stonebrick.name": "Cobblestone", + "tile.wood.name": "Wooden Planks", + "tile.wood.oak.name": "Oak Wood Planks", + "tile.wood.spruce.name": "Spruce Wood Planks", + "tile.wood.birch.name": "Birch Wood Planks", + "tile.wood.jungle.name": "Jungle Wood Planks", + "tile.wood.acacia.name": "Acacia Wood Planks", + "tile.wood.big_oak.name": "Dark Oak Wood Planks", + "tile.sapling.oak.name": "Oak Sapling", + "tile.sapling.spruce.name": "Spruce Sapling", + "tile.sapling.birch.name": "Birch Sapling", + "tile.sapling.jungle.name": "Jungle Sapling", + "tile.sapling.acacia.name": "Acacia Sapling", + "tile.sapling.big_oak.name": "Dark Oak Sapling", + "tile.deadbush.name": "Dead Bush", + "tile.bedrock.name": "Bedrock", + "tile.water.name": "Water", + "tile.lava.name": "Lava", + "tile.sand.name": "Sand", + "tile.sand.default.name": "Sand", + "tile.sand.red.name": "Red Sand", + "tile.sandStone.name": "Sandstone", + "tile.sandStone.default.name": "Sandstone", + "tile.sandStone.chiseled.name": "Chiseled Sandstone", + "tile.sandStone.smooth.name": "Smooth Sandstone", + "tile.redSandStone.name": "Red Sandstone", + "tile.redSandStone.default.name": "Red Sandstone", + "tile.redSandStone.chiseled.name": "Chiseled Red Sandstone", + "tile.redSandStone.smooth.name": "Smooth Red Sandstone", + "tile.gravel.name": "Gravel", + "tile.oreGold.name": "Gold Ore", + "tile.oreIron.name": "Iron Ore", + "tile.oreCoal.name": "Coal Ore", + "tile.log.name": "Wood", + "tile.log.oak.name": "Oak Wood", + "tile.log.spruce.name": "Spruce Wood", + "tile.log.birch.name": "Birch Wood", + "tile.log.jungle.name": "Jungle Wood", + "tile.log.acacia.name": "Acacia Wood", + "tile.log.big_oak.name": "Dark Oak Wood", + "tile.leaves.name": "Leaves", + "tile.leaves.oak.name": "Oak Leaves", + "tile.leaves.spruce.name": "Spruce Leaves", + "tile.leaves.birch.name": "Birch Leaves", + "tile.leaves.jungle.name": "Jungle Leaves", + "tile.leaves.acacia.name": "Acacia Leaves", + "tile.leaves.big_oak.name": "Dark Oak Leaves", + "tile.tallgrass.name": "Grass", + "tile.tallgrass.shrub.name": "Shrub", + "tile.tallgrass.grass.name": "Grass", + "tile.tallgrass.fern.name": "Fern", + "tile.sponge.dry.name": "Sponge", + "tile.sponge.wet.name": "Wet Sponge", + "tile.glass.name": "Glass", + "tile.stainedGlass.name": "Stained Glass", + "tile.stainedGlass.black.name": "Black Stained Glass", + "tile.stainedGlass.red.name": "Red Stained Glass", + "tile.stainedGlass.green.name": "Green Stained Glass", + "tile.stainedGlass.brown.name": "Brown Stained Glass", + "tile.stainedGlass.blue.name": "Blue Stained Glass", + "tile.stainedGlass.purple.name": "Purple Stained Glass", + "tile.stainedGlass.cyan.name": "Cyan Stained Glass", + "tile.stainedGlass.silver.name": "Light Gray Stained Glass", + "tile.stainedGlass.gray.name": "Gray Stained Glass", + "tile.stainedGlass.pink.name": "Pink Stained Glass", + "tile.stainedGlass.lime.name": "Lime Stained Glass", + "tile.stainedGlass.yellow.name": "Yellow Stained Glass", + "tile.stainedGlass.lightBlue.name": "Light Blue Stained Glass", + "tile.stainedGlass.magenta.name": "Magenta Stained Glass", + "tile.stainedGlass.orange.name": "Orange Stained Glass", + "tile.stainedGlass.white.name": "White Stained Glass", + "tile.thinStainedGlass.name": "Stained Glass Pane", + "tile.thinStainedGlass.black.name": "Black Stained Glass Pane", + "tile.thinStainedGlass.red.name": "Red Stained Glass Pane", + "tile.thinStainedGlass.green.name": "Green Stained Glass Pane", + "tile.thinStainedGlass.brown.name": "Brown Stained Glass Pane", + "tile.thinStainedGlass.blue.name": "Blue Stained Glass Pane", + "tile.thinStainedGlass.purple.name": "Purple Stained Glass Pane", + "tile.thinStainedGlass.cyan.name": "Cyan Stained Glass Pane", + "tile.thinStainedGlass.silver.name": "Light Gray Stained Glass Pane", + "tile.thinStainedGlass.gray.name": "Gray Stained Glass Pane", + "tile.thinStainedGlass.pink.name": "Pink Stained Glass Pane", + "tile.thinStainedGlass.lime.name": "Lime Stained Glass Pane", + "tile.thinStainedGlass.yellow.name": "Yellow Stained Glass Pane", + "tile.thinStainedGlass.lightBlue.name": "Light Blue Stained Glass Pane", + "tile.thinStainedGlass.magenta.name": "Magenta Stained Glass Pane", + "tile.thinStainedGlass.orange.name": "Orange Stained Glass Pane", + "tile.thinStainedGlass.white.name": "White Stained Glass Pane", + "tile.thinGlass.name": "Glass Pane", + "tile.cloth.name": "Wool", + "tile.flower1.name": "Flower", + "tile.flower1.dandelion.name": "Dandelion", + "tile.flower2.name": "Flower", + "tile.flower2.poppy.name": "Poppy", + "tile.flower2.blueOrchid.name": "Blue Orchid", + "tile.flower2.allium.name": "Allium", + "tile.flower2.houstonia.name": "Azure Bluet", + "tile.flower2.tulipRed.name": "Red Tulip", + "tile.flower2.tulipOrange.name": "Orange Tulip", + "tile.flower2.tulipWhite.name": "White Tulip", + "tile.flower2.tulipPink.name": "Pink Tulip", + "tile.flower2.oxeyeDaisy.name": "Oxeye Daisy", + "tile.doublePlant.name": "Plant", + "tile.doublePlant.sunflower.name": "Sunflower", + "tile.doublePlant.syringa.name": "Lilac", + "tile.doublePlant.grass.name": "Double Tallgrass", + "tile.doublePlant.fern.name": "Large Fern", + "tile.doublePlant.rose.name": "Rose Bush", + "tile.doublePlant.paeonia.name": "Peony", + "tile.mushroom.name": "Mushroom", + "tile.blockGold.name": "Block of Gold", + "tile.blockIron.name": "Block of Iron", + "tile.stoneSlab.name": "Stone Slab", + "tile.stoneSlab.stone.name": "Stone Slab", + "tile.stoneSlab.sand.name": "Sandstone Slab", + "tile.stoneSlab.wood.name": "Wooden Slab", + "tile.stoneSlab.cobble.name": "Cobblestone Slab", + "tile.stoneSlab.brick.name": "Bricks Slab", + "tile.stoneSlab.smoothStoneBrick.name": "Stone Bricks Slab", + "tile.stoneSlab.netherBrick.name": "Nether Brick Slab", + "tile.stoneSlab.quartz.name": "Quartz Slab", + "tile.stoneSlab2.red_sandstone.name": "Red Sandstone Slab", + "tile.woodSlab.name": "Wood Slab", + "tile.woodSlab.oak.name": "Oak Wood Slab", + "tile.woodSlab.spruce.name": "Spruce Wood Slab", + "tile.woodSlab.birch.name": "Birch Wood Slab", + "tile.woodSlab.jungle.name": "Jungle Wood Slab", + "tile.woodSlab.acacia.name": "Acacia Wood Slab", + "tile.woodSlab.big_oak.name": "Dark Oak Wood Slab", + "tile.brick.name": "Bricks", + "tile.tnt.name": "TNT", + "tile.bookshelf.name": "Bookshelf", + "tile.stoneMoss.name": "Moss Stone", + "tile.obsidian.name": "Obsidian", + "tile.torch.name": "Torch", + "tile.fire.name": "Fire", + "tile.mobSpawner.name": "Monster Spawner", + "tile.stairsWood.name": "Oak Wood Stairs", + "tile.stairsWoodSpruce.name": "Spruce Wood Stairs", + "tile.stairsWoodBirch.name": "Birch Wood Stairs", + "tile.stairsWoodJungle.name": "Jungle Wood Stairs", + "tile.stairsWoodAcacia.name": "Acacia Wood Stairs", + "tile.stairsWoodDarkOak.name": "Dark Oak Wood Stairs", + "tile.chest.name": "Chest", + "tile.chestTrap.name": "Trapped Chest", + "tile.redstoneDust.name": "Redstone Dust", + "tile.oreDiamond.name": "Diamond Ore", + "tile.blockCoal.name": "Block of Coal", + "tile.blockDiamond.name": "Block of Diamond", + "tile.workbench.name": "Crafting Table", + "tile.crops.name": "Crops", + "tile.farmland.name": "Farmland", + "tile.furnace.name": "Furnace", + "tile.sign.name": "Sign", + "tile.doorWood.name": "Wooden Door", + "tile.ladder.name": "Ladder", + "tile.rail.name": "Rail", + "tile.goldenRail.name": "Powered Rail", + "tile.activatorRail.name": "Activator Rail", + "tile.detectorRail.name": "Detector Rail", + "tile.stairsStone.name": "Cobblestone Stairs", + "tile.stairsSandStone.name": "Sandstone Stairs", + "tile.stairsRedSandStone.name": "Red Sandstone Stairs", + "tile.lever.name": "Lever", + "tile.pressurePlateStone.name": "Stone Pressure Plate", + "tile.pressurePlateWood.name": "Wooden Pressure Plate", + "tile.weightedPlate_light.name": "Weighted Pressure Plate (Light)", + "tile.weightedPlate_heavy.name": "Weighted Pressure Plate (Heavy)", + "tile.doorIron.name": "Iron Door", + "tile.oreRedstone.name": "Redstone Ore", + "tile.notGate.name": "Redstone Torch", + "tile.button.name": "Button", + "tile.snow.name": "Snow", + "tile.woolCarpet.name": "Carpet", + "tile.woolCarpet.black.name": "Black Carpet", + "tile.woolCarpet.red.name": "Red Carpet", + "tile.woolCarpet.green.name": "Green Carpet", + "tile.woolCarpet.brown.name": "Brown Carpet", + "tile.woolCarpet.blue.name": "Blue Carpet", + "tile.woolCarpet.purple.name": "Purple Carpet", + "tile.woolCarpet.cyan.name": "Cyan Carpet", + "tile.woolCarpet.silver.name": "Light Gray Carpet", + "tile.woolCarpet.gray.name": "Gray Carpet", + "tile.woolCarpet.pink.name": "Pink Carpet", + "tile.woolCarpet.lime.name": "Lime Carpet", + "tile.woolCarpet.yellow.name": "Yellow Carpet", + "tile.woolCarpet.lightBlue.name": "Light Blue Carpet", + "tile.woolCarpet.magenta.name": "Magenta Carpet", + "tile.woolCarpet.orange.name": "Orange Carpet", + "tile.woolCarpet.white.name": "Carpet", + "tile.ice.name": "Ice", + "tile.frostedIce.name": "Frosted Ice", + "tile.icePacked.name": "Packed Ice", + "tile.cactus.name": "Cactus", + "tile.clay.name": "Clay", + "tile.clayHardenedStained.name": "Stained Hardened Clay", + "tile.clayHardenedStained.black.name": "Black Hardened Clay", + "tile.clayHardenedStained.red.name": "Red Hardened Clay", + "tile.clayHardenedStained.green.name": "Green Hardened Clay", + "tile.clayHardenedStained.brown.name": "Brown Hardened Clay", + "tile.clayHardenedStained.blue.name": "Blue Hardened Clay", + "tile.clayHardenedStained.purple.name": "Purple Hardened Clay", + "tile.clayHardenedStained.cyan.name": "Cyan Hardened Clay", + "tile.clayHardenedStained.silver.name": "Light Gray Hardened Clay", + "tile.clayHardenedStained.gray.name": "Gray Hardened Clay", + "tile.clayHardenedStained.pink.name": "Pink Hardened Clay", + "tile.clayHardenedStained.lime.name": "Lime Hardened Clay", + "tile.clayHardenedStained.yellow.name": "Yellow Hardened Clay", + "tile.clayHardenedStained.lightBlue.name": "Light Blue Hardened Clay", + "tile.clayHardenedStained.magenta.name": "Magenta Hardened Clay", + "tile.clayHardenedStained.orange.name": "Orange Hardened Clay", + "tile.clayHardenedStained.white.name": "White Hardened Clay", + "tile.clayHardened.name": "Hardened Clay", + "tile.reeds.name": "Sugar cane", + "tile.jukebox.name": "Jukebox", + "tile.fence.name": "Oak Fence", + "tile.spruceFence.name": "Spruce Fence", + "tile.birchFence.name": "Birch Fence", + "tile.jungleFence.name": "Jungle Fence", + "tile.darkOakFence.name": "Dark Oak Fence", + "tile.acaciaFence.name": "Acacia Fence", + "tile.fenceGate.name": "Oak Fence Gate", + "tile.spruceFenceGate.name": "Spruce Fence Gate", + "tile.birchFenceGate.name": "Birch Fence Gate", + "tile.jungleFenceGate.name": "Jungle Fence Gate", + "tile.darkOakFenceGate.name": "Dark Oak Fence Gate", + "tile.acaciaFenceGate.name": "Acacia Fence Gate", + "tile.pumpkinStem.name": "Pumpkin Stem", + "tile.pumpkin.name": "Pumpkin", + "tile.litpumpkin.name": "Jack o'Lantern", + "tile.hellrock.name": "Netherrack", + "tile.hellsand.name": "Soul Sand", + "tile.lightgem.name": "Glowstone", + "tile.portal.name": "Portal", + "tile.cloth.black.name": "Black Wool", + "tile.cloth.red.name": "Red Wool", + "tile.cloth.green.name": "Green Wool", + "tile.cloth.brown.name": "Brown Wool", + "tile.cloth.blue.name": "Blue Wool", + "tile.cloth.purple.name": "Purple Wool", + "tile.cloth.cyan.name": "Cyan Wool", + "tile.cloth.silver.name": "Light Gray Wool", + "tile.cloth.gray.name": "Gray Wool", + "tile.cloth.pink.name": "Pink Wool", + "tile.cloth.lime.name": "Lime Wool", + "tile.cloth.yellow.name": "Yellow Wool", + "tile.cloth.lightBlue.name": "Light Blue Wool", + "tile.cloth.magenta.name": "Magenta Wool", + "tile.cloth.orange.name": "Orange Wool", + "tile.cloth.white.name": "Wool", + "tile.oreLapis.name": "Lapis Lazuli Ore", + "tile.blockLapis.name": "Lapis Lazuli Block", + "tile.dispenser.name": "Dispenser", + "tile.dropper.name": "Dropper", + "tile.musicBlock.name": "Note Block", + "tile.cake.name": "Cake", + "tile.bed.name": "Bed", + "tile.bed.occupied": "This bed is occupied", + "tile.bed.noSleep": "You can only sleep at night", + "tile.bed.notSafe": "You may not rest now, there are monsters nearby", + "tile.bed.notValid": "Your home bed was missing or obstructed", + "tile.lockedchest.name": "Locked chest", + "tile.trapdoor.name": "Wooden Trapdoor", + "tile.ironTrapdoor.name": "Iron Trapdoor", + "tile.web.name": "Cobweb", + "tile.stonebricksmooth.name": "Stone Bricks", + "tile.stonebricksmooth.default.name": "Stone Bricks", + "tile.stonebricksmooth.mossy.name": "Mossy Stone Bricks", + "tile.stonebricksmooth.cracked.name": "Cracked Stone Bricks", + "tile.stonebricksmooth.chiseled.name": "Chiseled Stone Bricks", + "tile.monsterStoneEgg.name": "Stone Monster Egg", + "tile.monsterStoneEgg.stone.name": "Stone Monster Egg", + "tile.monsterStoneEgg.cobble.name": "Cobblestone Monster Egg", + "tile.monsterStoneEgg.brick.name": "Stone Brick Monster Egg", + "tile.monsterStoneEgg.mossybrick.name": "Mossy Stone Brick Monster Egg", + "tile.monsterStoneEgg.crackedbrick.name": "Cracked Stone Brick Monster Egg", + "tile.monsterStoneEgg.chiseledbrick.name": "Chiseled Stone Brick Monster Egg", + "tile.pistonBase.name": "Piston", + "tile.pistonStickyBase.name": "Sticky Piston", + "tile.fenceIron.name": "Iron Bars", + "tile.melon.name": "Melon", + "tile.stairsBrick.name": "Brick Stairs", + "tile.stairsStoneBrickSmooth.name": "Stone Brick Stairs", + "tile.vine.name": "Vines", + "tile.netherBrick.name": "Nether Brick", + "tile.netherFence.name": "Nether Brick Fence", + "tile.stairsNetherBrick.name": "Nether Brick Stairs", + "tile.netherStalk.name": "Nether Wart", + "tile.cauldron.name": "Cauldron", + "tile.enchantmentTable.name": "Enchantment Table", + "tile.anvil.name": "Anvil", + "tile.anvil.intact.name": "Anvil", + "tile.anvil.slightlyDamaged.name": "Slightly Damaged Anvil", + "tile.anvil.veryDamaged.name": "Very Damaged Anvil", + "tile.whiteStone.name": "End Stone", + "tile.endPortalFrame.name": "End Portal", + "tile.mycel.name": "Mycelium", + "tile.waterlily.name": "Lily Pad", + "tile.dragonEgg.name": "Dragon Egg", + "tile.redstoneLight.name": "Redstone Lamp", + "tile.cocoa.name": "Cocoa", + "tile.enderChest.name": "Ender Chest", + "tile.oreEmerald.name": "Emerald Ore", + "tile.blockEmerald.name": "Block of Emerald", + "tile.blockRedstone.name": "Block of Redstone", + "tile.tripWire.name": "Tripwire", + "tile.tripWireSource.name": "Tripwire Hook", + "tile.commandBlock.name": "Command Block", + "tile.repeatingCommandBlock.name": "Repeating Command Block", + "tile.chainCommandBlock.name": "Chain Command Block", + "tile.beacon.name": "Beacon", + "tile.beacon.primary": "Primary Power", + "tile.beacon.secondary": "Secondary Power", + "tile.cobbleWall.normal.name": "Cobblestone Wall", + "tile.cobbleWall.mossy.name": "Mossy Cobblestone Wall", + "tile.carrots.name": "Carrots", + "tile.potatoes.name": "Potatoes", + "tile.daylightDetector.name": "Daylight Sensor", + "tile.netherquartz.name": "Nether Quartz Ore", + "tile.hopper.name": "Hopper", + "tile.quartzBlock.name": "Block of Quartz", + "tile.quartzBlock.default.name": "Block of Quartz", + "tile.quartzBlock.chiseled.name": "Chiseled Quartz Block", + "tile.quartzBlock.lines.name": "Pillar Quartz Block", + "tile.stairsQuartz.name": "Quartz Stairs", + "tile.slime.name": "Slime Block", + "tile.prismarine.rough.name": "Prismarine", + "tile.prismarine.bricks.name": "Prismarine Bricks", + "tile.prismarine.dark.name": "Dark Prismarine", + "tile.seaLantern.name": "Sea Lantern", + "tile.endRod.name": "End Rod", + "tile.chorusPlant.name": "Chorus Plant", + "tile.chorusFlower.name": "Chorus Flower", + "tile.purpurBlock.name": "Purpur Block", + "tile.purpurPillar.name": "Purpur Pillar", + "tile.stairsPurpur.name": "Purpur Stairs", + "tile.purpurSlab.name": "Purpur Slab", + "tile.endBricks.name": "End Stone Bricks", + "tile.beetroots.name": "Beetroots", + "tile.grassPath.name": "Grass Path", + "tile.magma.name": "Magma Block", + "tile.netherWartBlock.name": "Nether Wart Block", + "tile.redNetherBrick.name": "Red Nether Brick", + "tile.boneBlock.name": "Bone Block", + "tile.structureVoid.name": "Structure Void", + "tile.structureBlock.name": "Structure Block", + "item.nameTag.name": "Name Tag", + "item.leash.name": "Lead", + "item.shovelIron.name": "Iron Shovel", + "item.pickaxeIron.name": "Iron Pickaxe", + "item.hatchetIron.name": "Iron Axe", + "item.flintAndSteel.name": "Flint and Steel", + "item.apple.name": "Apple", + "item.cookie.name": "Cookie", + "item.bow.name": "Bow", + "item.arrow.name": "Arrow", + "item.spectral_arrow.name": "Spectral Arrow", + "item.tipped_arrow.name": "Tipped Arrow", + "item.coal.name": "Coal", + "item.charcoal.name": "Charcoal", + "item.diamond.name": "Diamond", + "item.emerald.name": "Emerald", + "item.ingotIron.name": "Iron Ingot", + "item.ingotGold.name": "Gold Ingot", + "item.swordIron.name": "Iron Sword", + "item.swordWood.name": "Wooden Sword", + "item.shovelWood.name": "Wooden Shovel", + "item.pickaxeWood.name": "Wooden Pickaxe", + "item.hatchetWood.name": "Wooden Axe", + "item.swordStone.name": "Stone Sword", + "item.shovelStone.name": "Stone Shovel", + "item.pickaxeStone.name": "Stone Pickaxe", + "item.hatchetStone.name": "Stone Axe", + "item.swordDiamond.name": "Diamond Sword", + "item.shovelDiamond.name": "Diamond Shovel", + "item.pickaxeDiamond.name": "Diamond Pickaxe", + "item.hatchetDiamond.name": "Diamond Axe", + "item.stick.name": "Stick", + "item.bowl.name": "Bowl", + "item.mushroomStew.name": "Mushroom Stew", + "item.swordGold.name": "Golden Sword", + "item.shovelGold.name": "Golden Shovel", + "item.pickaxeGold.name": "Golden Pickaxe", + "item.hatchetGold.name": "Golden Axe", + "item.string.name": "String", + "item.feather.name": "Feather", + "item.sulphur.name": "Gunpowder", + "item.hoeWood.name": "Wooden Hoe", + "item.hoeStone.name": "Stone Hoe", + "item.hoeIron.name": "Iron Hoe", + "item.hoeDiamond.name": "Diamond Hoe", + "item.hoeGold.name": "Golden Hoe", + "item.seeds.name": "Seeds", + "item.seeds_pumpkin.name": "Pumpkin Seeds", + "item.seeds_melon.name": "Melon Seeds", + "item.melon.name": "Melon", + "item.wheat.name": "Wheat", + "item.bread.name": "Bread", + "item.helmetCloth.name": "Leather Cap", + "item.chestplateCloth.name": "Leather Tunic", + "item.leggingsCloth.name": "Leather Pants", + "item.bootsCloth.name": "Leather Boots", + "item.helmetChain.name": "Chain Helmet", + "item.chestplateChain.name": "Chain Chestplate", + "item.leggingsChain.name": "Chain Leggings", + "item.bootsChain.name": "Chain Boots", + "item.helmetIron.name": "Iron Helmet", + "item.chestplateIron.name": "Iron Chestplate", + "item.leggingsIron.name": "Iron Leggings", + "item.bootsIron.name": "Iron Boots", + "item.helmetDiamond.name": "Diamond Helmet", + "item.chestplateDiamond.name": "Diamond Chestplate", + "item.leggingsDiamond.name": "Diamond Leggings", + "item.bootsDiamond.name": "Diamond Boots", + "item.helmetGold.name": "Golden Helmet", + "item.chestplateGold.name": "Golden Chestplate", + "item.leggingsGold.name": "Golden Leggings", + "item.bootsGold.name": "Golden Boots", + "item.flint.name": "Flint", + "item.porkchopRaw.name": "Raw Porkchop", + "item.porkchopCooked.name": "Cooked Porkchop", + "item.chickenRaw.name": "Raw Chicken", + "item.chickenCooked.name": "Cooked Chicken", + "item.muttonRaw.name": "Raw Mutton", + "item.muttonCooked.name": "Cooked Mutton", + "item.rabbitRaw.name": "Raw Rabbit", + "item.rabbitCooked.name": "Cooked Rabbit", + "item.rabbitStew.name": "Rabbit Stew", + "item.rabbitFoot.name": "Rabbit's Foot", + "item.rabbitHide.name": "Rabbit Hide", + "item.beefRaw.name": "Raw Beef", + "item.beefCooked.name": "Steak", + "item.painting.name": "Painting", + "item.frame.name": "Item Frame", + "item.appleGold.name": "Golden Apple", + "item.sign.name": "Sign", + "item.doorOak.name": "Oak Door", + "item.doorSpruce.name": "Spruce Door", + "item.doorBirch.name": "Birch Door", + "item.doorJungle.name": "Jungle Door", + "item.doorAcacia.name": "Acacia Door", + "item.doorDarkOak.name": "Dark Oak Door", + "item.bucket.name": "Bucket", + "item.bucketWater.name": "Water Bucket", + "item.bucketLava.name": "Lava Bucket", + "item.minecart.name": "Minecart", + "item.saddle.name": "Saddle", + "item.doorIron.name": "Iron Door", + "item.redstone.name": "Redstone", + "item.snowball.name": "Snowball", + "item.boat.oak.name": "Oak Boat", + "item.boat.spruce.name": "Spruce Boat", + "item.boat.birch.name": "Birch Boat", + "item.boat.jungle.name": "Jungle Boat", + "item.boat.acacia.name": "Acacia Boat", + "item.boat.dark_oak.name": "Dark Oak Boat", + "item.leather.name": "Leather", + "item.milk.name": "Milk", + "item.brick.name": "Brick", + "item.clay.name": "Clay", + "item.reeds.name": "Sugar Canes", + "item.paper.name": "Paper", + "item.book.name": "Book", + "item.slimeball.name": "Slimeball", + "item.minecartChest.name": "Minecart with Chest", + "item.minecartFurnace.name": "Minecart with Furnace", + "item.minecartTnt.name": "Minecart with TNT", + "item.minecartHopper.name": "Minecart with Hopper", + "item.minecartCommandBlock.name": "Minecart with Command Block", + "item.egg.name": "Egg", + "item.compass.name": "Compass", + "item.fishingRod.name": "Fishing Rod", + "item.clock.name": "Clock", + "item.yellowDust.name": "Glowstone Dust", + "item.fish.cod.raw.name": "Raw Fish", + "item.fish.salmon.raw.name": "Raw Salmon", + "item.fish.pufferfish.raw.name": "Pufferfish", + "item.fish.clownfish.raw.name": "Clownfish", + "item.fish.cod.cooked.name": "Cooked Fish", + "item.fish.salmon.cooked.name": "Cooked Salmon", + "item.record.name": "Music Disc", + "item.record.13.desc": "C418 - 13", + "item.record.cat.desc": "C418 - cat", + "item.record.blocks.desc": "C418 - blocks", + "item.record.chirp.desc": "C418 - chirp", + "item.record.far.desc": "C418 - far", + "item.record.mall.desc": "C418 - mall", + "item.record.mellohi.desc": "C418 - mellohi", + "item.record.stal.desc": "C418 - stal", + "item.record.strad.desc": "C418 - strad", + "item.record.ward.desc": "C418 - ward", + "item.record.11.desc": "C418 - 11", + "item.record.wait.desc": "C418 - wait", + "item.bone.name": "Bone", + "item.dyePowder.black.name": "Ink Sac", + "item.dyePowder.red.name": "Rose Red", + "item.dyePowder.green.name": "Cactus Green", + "item.dyePowder.brown.name": "Cocoa Beans", + "item.dyePowder.blue.name": "Lapis Lazuli", + "item.dyePowder.purple.name": "Purple Dye", + "item.dyePowder.cyan.name": "Cyan Dye", + "item.dyePowder.silver.name": "Light Gray Dye", + "item.dyePowder.gray.name": "Gray Dye", + "item.dyePowder.pink.name": "Pink Dye", + "item.dyePowder.lime.name": "Lime Dye", + "item.dyePowder.yellow.name": "Dandelion Yellow", + "item.dyePowder.lightBlue.name": "Light Blue Dye", + "item.dyePowder.magenta.name": "Magenta Dye", + "item.dyePowder.orange.name": "Orange Dye", + "item.dyePowder.white.name": "Bone Meal", + "item.sugar.name": "Sugar", + "item.cake.name": "Cake", + "item.bed.name": "Bed", + "item.diode.name": "Redstone Repeater", + "item.comparator.name": "Redstone Comparator", + "item.map.name": "Map", + "item.leaves.name": "Leaves", + "item.shears.name": "Shears", + "item.rottenFlesh.name": "Rotten Flesh", + "item.enderPearl.name": "Ender Pearl", + "item.blazeRod.name": "Blaze Rod", + "item.ghastTear.name": "Ghast Tear", + "item.netherStalkSeeds.name": "Nether Wart", + "item.potion.name": "Potion", + "item.end_crystal.name": "End Crystal", + "item.goldNugget.name": "Gold Nugget", + "item.glassBottle.name": "Glass Bottle", + "item.spiderEye.name": "Spider Eye", + "item.fermentedSpiderEye.name": "Fermented Spider Eye", + "item.blazePowder.name": "Blaze Powder", + "item.magmaCream.name": "Magma Cream", + "item.cauldron.name": "Cauldron", + "item.brewingStand.name": "Brewing Stand", + "item.eyeOfEnder.name": "Eye of Ender", + "item.speckledMelon.name": "Glistering Melon", + "item.monsterPlacer.name": "Spawn", + "item.expBottle.name": "Bottle o' Enchanting", + "item.fireball.name": "Fire Charge", + "item.writingBook.name": "Book and Quill", + "item.writtenBook.name": "Written Book", + "item.flowerPot.name": "Flower Pot", + "item.emptyMap.name": "Empty Map", + "item.carrots.name": "Carrot", + "item.carrotGolden.name": "Golden Carrot", + "item.potato.name": "Potato", + "item.potatoBaked.name": "Baked Potato", + "item.potatoPoisonous.name": "Poisonous Potato", + "item.skull.skeleton.name": "Skeleton Skull", + "item.skull.wither.name": "Wither Skeleton Skull", + "item.skull.zombie.name": "Zombie Head", + "item.skull.char.name": "Head", + "item.skull.player.name": "%s's Head", + "item.skull.creeper.name": "Creeper Head", + "item.skull.dragon.name": "Dragon Head", + "item.carrotOnAStick.name": "Carrot on a Stick", + "item.netherStar.name": "Nether Star", + "item.pumpkinPie.name": "Pumpkin Pie", + "item.enchantedBook.name": "Enchanted Book", + "item.fireworks.name": "Firework Rocket", + "item.fireworks.flight": "Flight Duration:", + "item.fireworksCharge.name": "Firework Star", + "item.fireworksCharge.black": "Black", + "item.fireworksCharge.red": "Red", + "item.fireworksCharge.green": "Green", + "item.fireworksCharge.brown": "Brown", + "item.fireworksCharge.blue": "Blue", + "item.fireworksCharge.purple": "Purple", + "item.fireworksCharge.cyan": "Cyan", + "item.fireworksCharge.silver": "Light Gray", + "item.fireworksCharge.gray": "Gray", + "item.fireworksCharge.pink": "Pink", + "item.fireworksCharge.lime": "Lime", + "item.fireworksCharge.yellow": "Yellow", + "item.fireworksCharge.lightBlue": "Light Blue", + "item.fireworksCharge.magenta": "Magenta", + "item.fireworksCharge.orange": "Orange", + "item.fireworksCharge.white": "White", + "item.fireworksCharge.customColor": "Custom", + "item.fireworksCharge.fadeTo": "Fade to", + "item.fireworksCharge.flicker": "Twinkle", + "item.fireworksCharge.trail": "Trail", + "item.fireworksCharge.type.0": "Small Ball", + "item.fireworksCharge.type.1": "Large Ball", + "item.fireworksCharge.type.2": "Star-shaped", + "item.fireworksCharge.type.3": "Creeper-shaped", + "item.fireworksCharge.type.4": "Burst", + "item.fireworksCharge.type": "Unknown Shape", + "item.netherbrick.name": "Nether Brick", + "item.netherquartz.name": "Nether Quartz", + "item.armorStand.name": "Armor Stand", + "item.horsearmormetal.name": "Iron Horse Armor", + "item.horsearmorgold.name": "Gold Horse Armor", + "item.horsearmordiamond.name": "Diamond Horse Armor", + "item.prismarineShard.name": "Prismarine Shard", + "item.prismarineCrystals.name": "Prismarine Crystals", + "item.chorusFruit.name": "Chorus Fruit", + "item.chorusFruitPopped.name": "Popped Chorus Fruit", + "item.beetroot.name": "Beetroot", + "item.beetroot_seeds.name": "Beetroot Seeds", + "item.beetroot_soup.name": "Beetroot Soup", + "item.dragon_breath.name": "Dragon's Breath", + "item.elytra.name": "Elytra", + "container.inventory": "Inventory", + "container.hopper": "Item Hopper", + "container.crafting": "Crafting", + "container.dispenser": "Dispenser", + "container.dropper": "Dropper", + "container.furnace": "Furnace", + "container.enchant": "Enchant", + "container.enchant.lapis.one": "1 Lapis Lazuli", + "container.enchant.lapis.many": "%d Lapis Lazuli", + "container.enchant.level.one": "1 Enchantment Level", + "container.enchant.level.many": "%d Enchantment Levels", + "container.enchant.clue": "%s . . . ?", + "container.repair": "Repair & Name", + "container.repair.cost": "Enchantment Cost: %1$d", + "container.repair.expensive": "Too Expensive!", + "container.creative": "Item Selection", + "container.brewing": "Brewing Stand", + "container.chest": "Chest", + "container.chestDouble": "Large Chest", + "container.enderchest": "Ender Chest", + "container.beacon": "Beacon", + "container.spectatorCantOpen": "Unable to open. Loot not generated yet.", + "container.isLocked": "%s is locked!", + "structure_block.save_success": "Structure saved as '%s'", + "structure_block.save_failure": "Unable to save structure '%s'", + "structure_block.load_success": "Structure loaded from '%s'", + "structure_block.load_prepare": "Structure '%s' position prepared", + "structure_block.load_not_found": "Structure '%s' is not available", + "structure_block.size_success": "Size successfully detected for '%s'", + "structure_block.size_failure": "Unable to detect structure size, add corners with matching structure names", + "structure_block.mode.save": "[S]", + "structure_block.mode.load": "[L]", + "structure_block.mode.data": "[D]", + "structure_block.mode.corner": "[C]", + "structure_block.hover.save": "Save: %s", + "structure_block.hover.load": "Load: %s", + "structure_block.hover.data": "Data: %s", + "structure_block.hover.corner": "Corner: %s", + "structure_block.mode_info.save": "Save mode - write to file", + "structure_block.mode_info.load": "Load mode - load from file", + "structure_block.mode_info.data": "Data mode - game logic marker", + "structure_block.mode_info.corner": "Corner mode - placement and size marker", + "structure_block.structure_name": "Structure Name", + "structure_block.custom_data": "Custom Data Tag Name", + "structure_block.position": "Relative Position", + "structure_block.size": "Structure Size", + "structure_block.integrity": "Structure Integrity and Seed", + "structure_block.include_entities": "Include entities:", + "structure_block.detect_size": "Detect structure size and position:", + "structure_block.button.detect_size": "DETECT", + "structure_block.button.save": "SAVE", + "structure_block.button.load": "LOAD", + "structure_block.show_air": "Show invisible blocks:", + "structure_block.show_boundingbox": "Show bounding box:", + "item.dyed": "Dyed", + "item.unbreakable": "Unbreakable", + "item.canBreak": "Can break:", + "item.canPlace": "Can be placed on:", + "entity.Item.name": "Item", + "entity.XPOrb.name": "Experience Orb", + "entity.SmallFireball.name": "Small Fireball", + "entity.Fireball.name": "Fireball", + "entity.DragonFireball.name": "Dragon Fireball", + "entity.ThrownPotion.name": "Potion", + "entity.Arrow.name": "Arrow", + "entity.Snowball.name": "Snowball", + "entity.Painting.name": "Painting", + "entity.ArmorStand.name": "Armor Stand", + "entity.Mob.name": "Mob", + "entity.Monster.name": "Monster", + "entity.Creeper.name": "Creeper", + "entity.Skeleton.name": "Skeleton", + "entity.WitherSkeleton.name": "Wither Skeleton", + "entity.Stray.name": "Stray", + "entity.Spider.name": "Spider", + "entity.Giant.name": "Giant", + "entity.Zombie.name": "Zombie", + "entity.Husk.name": "Husk", + "entity.Slime.name": "Slime", + "entity.Ghast.name": "Ghast", + "entity.PigZombie.name": "Zombie Pigman", + "entity.Enderman.name": "Enderman", + "entity.Endermite.name": "Endermite", + "entity.Silverfish.name": "Silverfish", + "entity.CaveSpider.name": "Cave Spider", + "entity.Blaze.name": "Blaze", + "entity.LavaSlime.name": "Magma Cube", + "entity.MushroomCow.name": "Mooshroom", + "entity.Villager.name": "Villager", + "entity.VillagerGolem.name": "Iron Golem", + "entity.SnowMan.name": "Snow Golem", + "entity.EnderDragon.name": "Ender Dragon", + "entity.WitherBoss.name": "Wither", + "entity.Witch.name": "Witch", + "entity.Guardian.name": "Guardian", + "entity.Shulker.name": "Shulker", + "entity.PolarBear.name": "Polar Bear", + "entity.Villager.farmer": "Farmer", + "entity.Villager.fisherman": "Fisherman", + "entity.Villager.shepherd": "Shepherd", + "entity.Villager.fletcher": "Fletcher", + "entity.Villager.librarian": "Librarian", + "entity.Villager.cleric": "Cleric", + "entity.Villager.armor": "Armorer", + "entity.Villager.weapon": "Weapon Smith", + "entity.Villager.tool": "Tool Smith", + "entity.Villager.butcher": "Butcher", + "entity.Villager.leather": "Leatherworker", + "entity.Pig.name": "Pig", + "entity.Sheep.name": "Sheep", + "entity.Cow.name": "Cow", + "entity.Chicken.name": "Chicken", + "entity.Squid.name": "Squid", + "entity.Wolf.name": "Wolf", + "entity.Ozelot.name": "Ocelot", + "entity.Cat.name": "Cat", + "entity.Bat.name": "Bat", + "entity.EntityHorse.name": "Horse", + "entity.Donkey.name": "Donkey", + "entity.Mule.name": "Mule", + "entity.SkeletonHorse.name": "Skeleton Horse", + "entity.ZombieHorse.name": "Zombie Horse", + "entity.Rabbit.name": "Rabbit", + "entity.KillerBunny.name": "The Killer Bunny", + "entity.PrimedTnt.name": "Block of TNT", + "entity.FallingSand.name": "Falling Block", + "entity.Minecart.name": "Minecart", + "entity.MinecartHopper.name": "Minecart with Hopper", + "entity.MinecartChest.name": "Minecart with Chest", + "entity.Boat.name": "Boat", + "entity.generic.name": "unknown", + "death.fell.accident.ladder": "%1$s fell off a ladder", + "death.fell.accident.vines": "%1$s fell off some vines", + "death.fell.accident.water": "%1$s fell out of the water", + "death.fell.accident.generic": "%1$s fell from a high place", + "death.fell.killer": "%1$s was doomed to fall", + "death.fell.assist": "%1$s was doomed to fall by %2$s", + "death.fell.assist.item": "%1$s was doomed to fall by %2$s using %3$s", + "death.fell.finish": "%1$s fell too far and was finished by %2$s", + "death.fell.finish.item": "%1$s fell too far and was finished by %2$s using %3$s", + "death.attack.lightningBolt": "%1$s was struck by lightning", + "death.attack.inFire": "%1$s went up in flames", + "death.attack.inFire.player": "%1$s walked into fire whilst fighting %2$s", + "death.attack.onFire": "%1$s burned to death", + "death.attack.onFire.player": "%1$s was burnt to a crisp whilst fighting %2$s", + "death.attack.lava": "%1$s tried to swim in lava", + "death.attack.lava.player": "%1$s tried to swim in lava to escape %2$s", + "death.attack.hotFloor": "%1$s discovered floor was lava", + "death.attack.hotFloor.player": "%1$s walked into danger zone due to %2$s", + "death.attack.inWall": "%1$s suffocated in a wall", + "death.attack.drown": "%1$s drowned", + "death.attack.drown.player": "%1$s drowned whilst trying to escape %2$s", + "death.attack.starve": "%1$s starved to death", + "death.attack.cactus": "%1$s was pricked to death", + "death.attack.cactus.player": "%1$s walked into a cactus whilst trying to escape %2$s", + "death.attack.generic": "%1$s died", + "death.attack.explosion": "%1$s blew up", + "death.attack.explosion.player": "%1$s was blown up by %2$s", + "death.attack.magic": "%1$s was killed by magic", + "death.attack.wither": "%1$s withered away", + "death.attack.anvil": "%1$s was squashed by a falling anvil", + "death.attack.fallingBlock": "%1$s was squashed by a falling block", + "death.attack.mob": "%1$s was slain by %2$s", + "death.attack.player": "%1$s was slain by %2$s", + "death.attack.player.item": "%1$s was slain by %2$s using %3$s", + "death.attack.arrow": "%1$s was shot by %2$s", + "death.attack.arrow.item": "%1$s was shot by %2$s using %3$s", + "death.attack.fireball": "%1$s was fireballed by %2$s", + "death.attack.fireball.item": "%1$s was fireballed by %2$s using %3$s", + "death.attack.thrown": "%1$s was pummeled by %2$s", + "death.attack.thrown.item": "%1$s was pummeled by %2$s using %3$s", + "death.attack.indirectMagic": "%1$s was killed by %2$s using magic", + "death.attack.indirectMagic.item": "%1$s was killed by %2$s using %3$s", + "death.attack.thorns": "%1$s was killed trying to hurt %2$s", + "death.attack.fall": "%1$s hit the ground too hard", + "death.attack.outOfWorld": "%1$s fell out of the world", + "death.attack.dragonBreath": "%1$s was roasted in dragon breath", + "death.attack.flyIntoWall": "%1$s experienced kinetic energy", + "deathScreen.respawn": "Respawn", + "deathScreen.spectate": "Spectate world", + "deathScreen.deleteWorld": "Delete world", + "deathScreen.titleScreen": "Title screen", + "deathScreen.score": "Score", + "deathScreen.title.hardcore": "Game over!", + "deathScreen.title": "You died!", + "deathScreen.leaveServer": "Leave server", + "deathScreen.quit.confirm": "Are you sure you want to quit?", + "effect.none": "No Effects", + "effect.moveSpeed": "Speed", + "effect.moveSlowdown": "Slowness", + "effect.digSpeed": "Haste", + "effect.digSlowDown": "Mining Fatigue", + "effect.damageBoost": "Strength", + "effect.heal": "Instant Health", + "effect.harm": "Instant Damage", + "effect.jump": "Jump Boost", + "effect.confusion": "Nausea", + "effect.regeneration": "Regeneration", + "effect.resistance": "Resistance", + "effect.fireResistance": "Fire Resistance", + "effect.waterBreathing": "Water Breathing", + "effect.invisibility": "Invisibility", + "effect.blindness": "Blindness", + "effect.nightVision": "Night Vision", + "effect.hunger": "Hunger", + "effect.weakness": "Weakness", + "effect.poison": "Poison", + "effect.wither": "Wither", + "effect.healthBoost": "Health Boost", + "effect.absorption": "Absorption", + "effect.saturation": "Saturation", + "effect.glowing": "Glowing", + "effect.luck": "Luck", + "effect.unluck": "Bad Luck", + "effect.levitation": "Levitation", + "tipped_arrow.effect.empty": "Tipped Arrow", + "tipped_arrow.effect.water": "Arrow of Splashing", + "tipped_arrow.effect.mundane": "Tipped Arrow", + "tipped_arrow.effect.thick": "Tipped Arrow", + "tipped_arrow.effect.awkward": "Tipped Arrow", + "tipped_arrow.effect.night_vision": "Arrow of Night Vision", + "tipped_arrow.effect.invisibility": "Arrow of Invisibility", + "tipped_arrow.effect.leaping": "Arrow of Leaping", + "tipped_arrow.effect.fire_resistance": "Arrow of Fire Resistance", + "tipped_arrow.effect.swiftness": "Arrow of Swiftness", + "tipped_arrow.effect.slowness": "Arrow of Slowness", + "tipped_arrow.effect.water_breathing": "Arrow of Water Breathing", + "tipped_arrow.effect.healing": "Arrow of Healing", + "tipped_arrow.effect.harming": "Arrow of Harming", + "tipped_arrow.effect.poison": "Arrow of Poison", + "tipped_arrow.effect.regeneration": "Arrow of Regeneration", + "tipped_arrow.effect.strength": "Arrow of Strength", + "tipped_arrow.effect.weakness": "Arrow of Weakness", + "tipped_arrow.effect.levitation": "Arrow of Levitation", + "tipped_arrow.effect.luck": "Arrow of Luck", + "potion.whenDrank": "When Applied:", + "potion.effect.empty": "Uncraftable Potion", + "potion.effect.water": "Water Bottle", + "potion.effect.mundane": "Mundane Potion", + "potion.effect.thick": "Thick Potion", + "potion.effect.awkward": "Awkward Potion", + "potion.effect.night_vision": "Potion of Night Vision", + "potion.effect.invisibility": "Potion of Invisibility", + "potion.effect.leaping": "Potion of Leaping", + "potion.effect.fire_resistance": "Potion of Fire Resistance", + "potion.effect.swiftness": "Potion of Swiftness", + "potion.effect.slowness": "Potion of Slowness", + "potion.effect.water_breathing": "Potion of Water Breathing", + "potion.effect.healing": "Potion of Healing", + "potion.effect.harming": "Potion of Harming", + "potion.effect.poison": "Potion of Poison", + "potion.effect.regeneration": "Potion of Regeneration", + "potion.effect.strength": "Potion of Strength", + "potion.effect.weakness": "Potion of Weakness", + "potion.effect.levitation": "Potion of Levitation", + "potion.effect.luck": "Potion of Luck", + "splash_potion.effect.empty": "Splash Uncraftable Potion", + "splash_potion.effect.water": "Splash Water Bottle", + "splash_potion.effect.mundane": "Mundane Splash Potion", + "splash_potion.effect.thick": "Thick Splash Potion", + "splash_potion.effect.awkward": "Awkward Splash Potion", + "splash_potion.effect.night_vision": "Splash Potion of Night Vision", + "splash_potion.effect.invisibility": "Splash Potion of Invisibility", + "splash_potion.effect.leaping": "Splash Potion of Leaping", + "splash_potion.effect.fire_resistance": "Splash Potion of Fire Resistance", + "splash_potion.effect.swiftness": "Splash Potion of Swiftness", + "splash_potion.effect.slowness": "Splash Potion of Slowness", + "splash_potion.effect.water_breathing": "Splash Potion of Water Breathing", + "splash_potion.effect.healing": "Splash Potion of Healing", + "splash_potion.effect.harming": "Splash Potion of Harming", + "splash_potion.effect.poison": "Splash Potion of Poison", + "splash_potion.effect.regeneration": "Splash Potion of Regeneration", + "splash_potion.effect.strength": "Splash Potion of Strength", + "splash_potion.effect.weakness": "Splash Potion of Weakness", + "splash_potion.effect.levitation": "Splash Potion of Levitation", + "splash_potion.effect.luck": "Splash Potion of Luck", + "lingering_potion.effect.empty": "Lingering Uncraftable Potion", + "lingering_potion.effect.water": "Lingering Water Bottle", + "lingering_potion.effect.mundane": "Mundane Lingering Potion", + "lingering_potion.effect.thick": "Thick Lingering Potion", + "lingering_potion.effect.awkward": "Awkward Lingering Potion", + "lingering_potion.effect.night_vision": "Lingering Potion of Night Vision", + "lingering_potion.effect.invisibility": "Lingering Potion of Invisibility", + "lingering_potion.effect.leaping": "Lingering Potion of Leaping", + "lingering_potion.effect.fire_resistance": "Lingering Potion of Fire Resistance", + "lingering_potion.effect.swiftness": "Lingering Potion of Swiftness", + "lingering_potion.effect.slowness": "Lingering Potion of Slowness", + "lingering_potion.effect.water_breathing": "Lingering Potion of Water Breathing", + "lingering_potion.effect.healing": "Lingering Potion of Healing", + "lingering_potion.effect.harming": "Lingering Potion of Harming", + "lingering_potion.effect.poison": "Lingering Potion of Poison", + "lingering_potion.effect.regeneration": "Lingering Potion of Regeneration", + "lingering_potion.effect.strength": "Lingering Potion of Strength", + "lingering_potion.effect.weakness": "Lingering Potion of Weakness", + "lingering_potion.effect.levitation": "Lingering Potion of Levitation", + "lingering_potion.effect.luck": "Lingering Potion of Luck", + "potion.potency.1": "II", + "potion.potency.2": "III", + "enchantment.damage.all": "Sharpness", + "enchantment.damage.undead": "Smite", + "enchantment.damage.arthropods": "Bane of Arthropods", + "enchantment.knockback": "Knockback", + "enchantment.fire": "Fire Aspect", + "enchantment.protect.all": "Protection", + "enchantment.protect.fire": "Fire Protection", + "enchantment.protect.fall": "Feather Falling", + "enchantment.protect.explosion": "Blast Protection", + "enchantment.protect.projectile": "Projectile Protection", + "enchantment.oxygen": "Respiration", + "enchantment.waterWorker": "Aqua Affinity", + "enchantment.waterWalker": "Depth Strider", + "enchantment.frostWalker": "Frost Walker", + "enchantment.digging": "Efficiency", + "enchantment.untouching": "Silk Touch", + "enchantment.durability": "Unbreaking", + "enchantment.lootBonus": "Looting", + "enchantment.lootBonusDigger": "Fortune", + "enchantment.lootBonusFishing": "Luck of the Sea", + "enchantment.fishingSpeed": "Lure", + "enchantment.arrowDamage": "Power", + "enchantment.arrowFire": "Flame", + "enchantment.arrowKnockback": "Punch", + "enchantment.arrowInfinite": "Infinity", + "enchantment.thorns": "Thorns", + "enchantment.mending": "Mending", + "enchantment.level.1": "I", + "enchantment.level.2": "II", + "enchantment.level.3": "III", + "enchantment.level.4": "IV", + "enchantment.level.5": "V", + "enchantment.level.6": "VI", + "enchantment.level.7": "VII", + "enchantment.level.8": "VIII", + "enchantment.level.9": "IX", + "enchantment.level.10": "X", + "gui.achievements": "Achievements", + "gui.stats": "Statistics", + "stats.tooltip.type.achievement": "Achievement", + "stats.tooltip.type.statistic": "Statistic", + "stat.generalButton": "General", + "stat.blocksButton": "Blocks", + "stat.itemsButton": "Items", + "stat.mobsButton": "Mobs", + "stat.used": "Times Used", + "stat.mined": "Times Mined", + "stat.depleted": "Times Depleted", + "stat.crafted": "Times Crafted", + "stat.entityKills": "You killed %d %s", + "stat.entityKilledBy": "%s killed you %d time(s)", + "stat.entityKills.none": "You have never killed %s", + "stat.entityKilledBy.none": "You have never been killed by %s", + "stat.startGame": "Times played", + "stat.createWorld": "Worlds created", + "stat.loadWorld": "Saves loaded", + "stat.joinMultiplayer": "Multiplayer joins", + "stat.leaveGame": "Games quit", + "stat.playOneMinute": "Minutes Played", + "stat.timeSinceDeath": "Since Last Death", + "stat.sneakTime": "Sneak Time", + "stat.walkOneCm": "Distance Walked", + "stat.crouchOneCm": "Distance Crouched", + "stat.sprintOneCm": "Distance Sprinted", + "stat.fallOneCm": "Distance Fallen", + "stat.swimOneCm": "Distance Swum", + "stat.flyOneCm": "Distance Flown", + "stat.climbOneCm": "Distance Climbed", + "stat.diveOneCm": "Distance Dove", + "stat.minecartOneCm": "Distance by Minecart", + "stat.boatOneCm": "Distance by Boat", + "stat.pigOneCm": "Distance by Pig", + "stat.horseOneCm": "Distance by Horse", + "stat.aviateOneCm": "Distance by Elytra", + "stat.jump": "Jumps", + "stat.drop": "Items Dropped", + "stat.dropped": "Dropped", + "stat.pickup": "Picked Up", + "stat.damageDealt": "Damage Dealt", + "stat.damageTaken": "Damage Taken", + "stat.deaths": "Number of Deaths", + "stat.mobKills": "Mob Kills", + "stat.animalsBred": "Animals Bred", + "stat.playerKills": "Player Kills", + "stat.fishCaught": "Fish Caught", + "stat.treasureFished": "Treasure Fished", + "stat.junkFished": "Junk Fished", + "stat.talkedToVillager": "Talked to Villagers", + "stat.tradedWithVillager": "Traded with Villagers", + "stat.cakeSlicesEaten": "Cake Slices Eaten", + "stat.cauldronFilled": "Cauldrons Filled", + "stat.cauldronUsed": "Water Taken from Cauldron", + "stat.armorCleaned": "Armor Pieces Cleaned", + "stat.bannerCleaned": "Banners Cleaned", + "stat.brewingstandInteraction": "Interactions with Brewing Stand", + "stat.beaconInteraction": "Interactions with Beacon", + "stat.dropperInspected": "Droppers Searched", + "stat.hopperInspected": "Hoppers Searched", + "stat.dispenserInspected": "Dispensers Searched", + "stat.noteblockPlayed": "Noteblocks played", + "stat.noteblockTuned": "Noteblocks tuned", + "stat.flowerPotted": "Plants potted", + "stat.trappedChestTriggered": "Trapped Chests Triggered", + "stat.enderchestOpened": "Ender Chests Opened", + "stat.itemEnchanted": "Items Enchanted", + "stat.recordPlayed": "Records Played", + "stat.furnaceInteraction": "Interactions with Furnace", + "stat.workbenchInteraction": "Interactions with Crafting Table", + "stat.chestOpened": "Chests Opened", + "stat.sleepInBed": "Times Slept in a Bed", + "stat.mineBlock": "%1$s Mined", + "stat.craftItem": "%1$s Crafted", + "stat.useItem": "%1$s Used", + "stat.breakItem": "%1$s Depleted", + "achievement.get": "Achievement get!", + "achievement.taken": "Taken!", + "achievement.unknown": "???", + "achievement.requires": "Requires '%1$s'", + "achievement.openInventory": "Taking Inventory", + "achievement.openInventory.desc": "Press '%1$s' to open your inventory", + "achievement.mineWood": "Getting Wood", + "achievement.mineWood.desc": "Attack a tree until a block of wood pops out", + "achievement.buildWorkBench": "Benchmarking", + "achievement.buildWorkBench.desc": "Craft a workbench with four blocks of planks", + "achievement.buildPickaxe": "Time to Mine!", + "achievement.buildPickaxe.desc": "Use planks and sticks to make a pickaxe", + "achievement.buildFurnace": "Hot Topic", + "achievement.buildFurnace.desc": "Construct a furnace out of eight cobblestone blocks", + "achievement.acquireIron": "Acquire Hardware", + "achievement.acquireIron.desc": "Smelt an iron ingot", + "achievement.buildHoe": "Time to Farm!", + "achievement.buildHoe.desc": "Use planks and sticks to make a hoe", + "achievement.makeBread": "Bake Bread", + "achievement.makeBread.desc": "Turn wheat into bread", + "achievement.bakeCake": "The Lie", + "achievement.bakeCake.desc": "Wheat, sugar, milk and eggs!", + "achievement.buildBetterPickaxe": "Getting an Upgrade", + "achievement.buildBetterPickaxe.desc": "Construct a better pickaxe", + "achievement.overpowered": "Overpowered", + "achievement.overpowered.desc": "Eat a Notch apple", + "achievement.cookFish": "Delicious Fish", + "achievement.cookFish.desc": "Catch and cook fish!", + "achievement.onARail": "On A Rail", + "achievement.onARail.desc": "Travel by minecart at least 1 km from where you started", + "achievement.buildSword": "Time to Strike!", + "achievement.buildSword.desc": "Use planks and sticks to make a sword", + "achievement.killEnemy": "Monster Hunter", + "achievement.killEnemy.desc": "Attack and destroy a monster", + "achievement.killCow": "Cow Tipper", + "achievement.killCow.desc": "Harvest some leather", + "achievement.breedCow": "Repopulation", + "achievement.breedCow.desc": "Breed two cows with wheat", + "achievement.flyPig": "When Pigs Fly", + "achievement.flyPig.desc": "Fly a pig off a cliff", + "achievement.snipeSkeleton": "Sniper Duel", + "achievement.snipeSkeleton.desc": "Kill a skeleton with an arrow from more than 50 meters", + "achievement.diamonds": "DIAMONDS!", + "achievement.diamonds.desc": "Acquire diamonds with your iron tools", + "achievement.diamondsToYou": "Diamonds to you!", + "achievement.diamondsToYou.desc": "Throw diamonds at another player", + "achievement.portal": "We Need to Go Deeper", + "achievement.portal.desc": "Build a portal to the Nether", + "achievement.ghast": "Return to Sender", + "achievement.ghast.desc": "Destroy a Ghast with a fireball", + "achievement.blazeRod": "Into Fire", + "achievement.blazeRod.desc": "Relieve a Blaze of its rod", + "achievement.potion": "Local Brewery", + "achievement.potion.desc": "Brew a potion", + "achievement.theEnd": "The End?", + "achievement.theEnd.desc": "Locate the End", + "achievement.theEnd2": "The End.", + "achievement.theEnd2.desc": "Defeat the Ender Dragon", + "achievement.spawnWither": "The Beginning?", + "achievement.spawnWither.desc": "Spawn the Wither", + "achievement.killWither": "The Beginning.", + "achievement.killWither.desc": "Kill the Wither", + "achievement.fullBeacon": "Beaconator", + "achievement.fullBeacon.desc": "Create a full beacon", + "achievement.exploreAllBiomes": "Adventuring Time", + "achievement.exploreAllBiomes.desc": "Discover all biomes", + "achievement.enchantments": "Enchanter", + "achievement.enchantments.desc": "Use a book, obsidian and diamonds to construct an enchantment table", + "achievement.overkill": "Overkill", + "achievement.overkill.desc": "Deal nine hearts of damage in a single hit", + "achievement.bookcase": "Librarian", + "achievement.bookcase.desc": "Build some bookshelves to improve your enchantment table", + "commands.generic.exception": "An unknown error occurred while attempting to perform this command", + "commands.generic.permission": "You do not have permission to use this command", + "commands.generic.syntax": "Invalid command syntax", + "commands.generic.player.notFound": "That player cannot be found", + "commands.generic.entity.notFound": "That entity cannot be found", + "commands.generic.entity.invalidUuid": "The entity UUID provided is in an invalid format", + "commands.generic.entity.invalidType": "Entity type '%s' is invalid", + "commands.generic.notFound": "Unknown command. Try /help for a list of commands", + "commands.generic.parameter.invalid": "'%s' is not a valid parameter", + "commands.generic.num.invalid": "'%s' is not a valid number", + "commands.generic.boolean.invalid": "'%s' is not true or false", + "commands.generic.num.tooSmall": "The number you have entered (%d) is too small, it must be at least %d", + "commands.generic.num.tooBig": "The number you have entered (%d) is too big, it must be at most %d", + "commands.generic.double.tooSmall": "The number you have entered (%.2f) is too small, it must be at least %.2f", + "commands.generic.double.tooBig": "The number you have entered (%.2f) is too big, it must be at most %.2f", + "commands.generic.usage": "Usage: %s", + "commands.setidletimeout.usage": "/setidletimeout ", + "commands.setidletimeout.success": "Successfully set the idle timeout to %d minutes.", + "commands.xp.failure.widthdrawXp": "Cannot give player negative experience points", + "commands.xp.success": "Given %d experience to %s", + "commands.xp.success.levels": "Given %d levels to %s", + "commands.xp.success.negative.levels": "Taken %d levels from %s", + "commands.xp.usage": "/xp [player] OR /xp L [player]", + "commands.playsound.usage": "/playsound [x] [y] [z] [volume] [pitch] [minimumVolume]", + "commands.playsound.success": "Played sound '%s' to %s", + "commands.playsound.playerTooFar": "Player %s is too far away to hear the sound", + "commands.playsound.unknownSoundSource": "Source %s is unknown", + "commands.give.usage": "/give [amount] [data] [dataTag]", + "commands.give.item.notFound": "There is no such item with name %d", + "commands.give.block.notFound": "There is no such block with name %d", + "commands.give.success": "Given %s * %d to %s", + "commands.give.tagError": "Data tag parsing failed: %s", + "commands.replaceitem.usage": "/replaceitem ...", + "commands.replaceitem.entity.usage": "/replaceitem entity [amount] [data] [dataTag]", + "commands.replaceitem.block.usage": "/replaceitem block [amount] [data] [dataTag]", + "commands.replaceitem.tagError": "Data tag parsing failed: %s", + "commands.replaceitem.noContainer": "Block at %d, %d, %d is not a container", + "commands.replaceitem.failed": "Could not replace slot %d with %d * %s", + "commands.replaceitem.success": "Replaced slot %d with %d * %s", + "commands.stats.usage": "/stats ...", + "commands.stats.entity.usage": "/stats entity ...", + "commands.stats.entity.set.usage": "/stats entity set ", + "commands.stats.entity.clear.usage": "/stats entity clear ", + "commands.stats.block.usage": "/stats block ...", + "commands.stats.block.set.usage": "/stats block set ", + "commands.stats.block.clear.usage": "/stats block clear ", + "commands.stats.noCompatibleBlock": "Block at %d, %d, %d can not track stats", + "commands.stats.failed": "Invalid parameters", + "commands.stats.cleared": "Cleared %s stats", + "commands.stats.success": "Storing %s stats in %s on %s", + "commands.summon.usage": "/summon [x] [y] [z] [dataTag]", + "commands.summon.success": "Object successfully summoned", + "commands.summon.failed": "Unable to summon object", + "commands.summon.tagError": "Data tag parsing failed: %s", + "commands.summon.outOfWorld": "Cannot summon the object out of the world", + "commands.testforblock.usage": "/testforblock [dataValue] [dataTag]", + "commands.testforblock.failed.tile": "The block at %d, %d, %d is %s (expected: %s)", + "commands.testforblock.failed.data": "The block at %d, %d, %d had the data value of %s (expected: %s)", + "commands.testforblock.failed.nbt": "The block at %d, %d, %d did not have the required NBT keys", + "commands.testforblock.failed.tileEntity": "The block at %d, %d, %d is not a block entity and cannot support tag matching", + "commands.testforblock.success": "Successfully found the block at %d, %d, %d", + "commands.testforblock.outOfWorld": "Cannot test for block outside of the world", + "commands.setblock.usage": "/setblock [dataValue] [oldBlockHandling] [dataTag]", + "commands.setblock.success": "Block placed", + "commands.setblock.failed": "Unable to place block", + "commands.setblock.tagError": "Data tag parsing failed: %s", + "commands.setblock.outOfWorld": "Cannot place block outside of the world", + "commands.setblock.notFound": "There is no such block with ID/name %s", + "commands.setblock.noChange": "The block couldn't be placed", + "commands.fill.usage": "/fill [dataValue] [oldBlockHandling] [dataTag]", + "commands.fill.outOfWorld": "Cannot place blocks outside of the world", + "commands.fill.tagError": "Data tag parsing failed: %s", + "commands.fill.success": "%d blocks filled", + "commands.fill.failed": "No blocks filled", + "commands.fill.tooManyBlocks": "Too many blocks in the specified area (%d > %d)", + "commands.clone.usage": "/clone [maskMode] [cloneMode]", + "commands.clone.outOfWorld": "Cannot access blocks outside of the world", + "commands.clone.noOverlap": "Source and destination can not overlap", + "commands.clone.success": "%d blocks cloned", + "commands.clone.failed": "No blocks cloned", + "commands.clone.tooManyBlocks": "Too many blocks in the specified area (%d > %d)", + "commands.compare.usage": "/testforblocks [mode]", + "commands.compare.outOfWorld": "Cannot access blocks outside of the world", + "commands.compare.failed": "Source and destination are not identical", + "commands.compare.success": "%d blocks compared", + "commands.compare.tooManyBlocks": "Too many blocks in the specified area (%d > %d)", + "commands.blockdata.usage": "/blockdata ", + "commands.blockdata.success": "Block data updated to: %s", + "commands.blockdata.tagError": "Data tag parsing failed: %s", + "commands.blockdata.outOfWorld": "Cannot change block outside of the world", + "commands.blockdata.notValid": "The target block is not a data holder block", + "commands.blockdata.failed": "The data tag did not change: %s", + "commands.entitydata.usage": "/entitydata ", + "commands.entitydata.success": "Entity data updated to: %s", + "commands.entitydata.tagError": "Data tag parsing failed: %s", + "commands.entitydata.noPlayers": "%s is a player and cannot be changed", + "commands.entitydata.failed": "The data tag did not change: %s", + "commands.effect.usage": "/effect [seconds] [amplifier] [hideParticles] OR /effect clear", + "commands.effect.notFound": "There is no such mob effect with ID %d", + "commands.effect.success": "Given %1$s (ID %2$d) * %3$d to %4$s for %5$d seconds", + "commands.effect.success.removed": "Took %1$s from %2$s", + "commands.effect.success.removed.all": "Took all effects from %s", + "commands.effect.failure.notActive": "Couldn't take %1$s from %2$s as they do not have the effect", + "commands.effect.failure.notActive.all": "Couldn't take any effects from %s as they do not have any", + "commands.enchant.usage": "/enchant [level]", + "commands.enchant.notFound": "There is no such enchantment with ID %d", + "commands.enchant.noItem": "The target doesn't hold an item", + "commands.enchant.cantEnchant": "The selected enchantment can't be added to the target item", + "commands.enchant.cantCombine": "%1$s can't be combined with %2$s", + "commands.enchant.success": "Enchanting succeeded", + "commands.particle.usage": "/particle [count] [mode] [player] [params]", + "commands.particle.success": "Playing effect %s for %d times", + "commands.particle.notFound": "Unknown effect name (%s)", + "commands.particle.invalidParam": "Invalid param given (%s)", + "commands.clear.usage": "/clear [player] [item] [data] [maxCount] [dataTag]", + "commands.clear.success": "Cleared the inventory of %s, removing %d items", + "commands.clear.testing": "%s has %d items that match the criteria", + "commands.clear.failure": "Could not clear the inventory of %s, no items to remove", + "commands.clear.tagError": "Data tag parsing failed: %s", + "commands.downfall.usage": "/toggledownfall", + "commands.downfall.success": "Toggled downfall", + "commands.time.usage": "/time ", + "commands.time.added": "Added %d to the time", + "commands.time.set": "Set the time to %d", + "commands.time.query": "Time is %d", + "commands.players.usage": "/list", + "commands.players.list": "There are %d/%d players online:", + "commands.banlist.ips": "There are %d total banned IP addresses:", + "commands.banlist.players": "There are %d total banned players:", + "commands.banlist.usage": "/banlist [ips|players]", + "commands.kill.usage": "/kill [player|entity]", + "commands.kill.successful": "Killed %s", + "commands.kick.success": "Kicked %s from the game", + "commands.kick.success.reason": "Kicked %s from the game: '%s'", + "commands.kick.usage": "/kick [reason ...]", + "commands.op.success": "Opped %s", + "commands.op.failed": "Could not op %s", + "commands.op.usage": "/op ", + "commands.deop.success": "De-opped %s", + "commands.deop.failed": "Could not de-op %s", + "commands.deop.usage": "/deop ", + "commands.say.usage": "/say ", + "commands.ban.success": "Banned player %s", + "commands.ban.failed": "Could not ban player %s", + "commands.ban.usage": "/ban [reason ...]", + "commands.unban.success": "Unbanned player %s", + "commands.unban.failed": "Could not unban player %s", + "commands.unban.usage": "/pardon ", + "commands.banip.invalid": "You have entered an invalid IP address or a player that is not online", + "commands.banip.success": "Banned IP address %s", + "commands.banip.success.players": "Banned IP address %s belonging to %s", + "commands.banip.usage": "/ban-ip [reason ...]", + "commands.unbanip.invalid": "You have entered an invalid IP address", + "commands.unbanip.success": "Unbanned IP address %s", + "commands.unbanip.usage": "/pardon-ip
", + "commands.save.usage": "/save-all", + "commands.save-on.alreadyOn": "Saving is already turned on", + "commands.save-on.usage": "/save-on", + "commands.save-off.alreadyOff": "Saving is already turned off", + "commands.save-off.usage": "/save-off", + "commands.save.enabled": "Turned on world auto-saving", + "commands.save.disabled": "Turned off world auto-saving", + "commands.save.start": "Saving...", + "commands.save.success": "Saved the world", + "commands.save.failed": "Saving failed: %s", + "commands.stop.usage": "/stop", + "commands.stop.start": "Stopping the server", + "commands.tp.usage": "/tp [target player] OR /tp [target player] [ ]", + "commands.tp.success": "Teleported %s to %s", + "commands.tp.success.coordinates": "Teleported %s to %s, %s, %s", + "commands.tp.notSameDimension": "Unable to teleport because players are not in the same dimension", + "commands.teleport.usage": "/teleport [ ]", + "commands.teleport.success.coordinates": "Teleported %s to %s, %s, %s", + "commands.whitelist.list": "There are %d (out of %d seen) whitelisted players:", + "commands.whitelist.enabled": "Turned on the whitelist", + "commands.whitelist.disabled": "Turned off the whitelist", + "commands.whitelist.reloaded": "Reloaded the whitelist", + "commands.whitelist.add.success": "Added %s to the whitelist", + "commands.whitelist.add.failed": "Could not add %s to the whitelist", + "commands.whitelist.add.usage": "/whitelist add ", + "commands.whitelist.remove.success": "Removed %s from the whitelist", + "commands.whitelist.remove.failed": "Could not remove %s from the whitelist", + "commands.whitelist.remove.usage": "/whitelist remove ", + "commands.whitelist.usage": "/whitelist ", + "commands.scoreboard.usage": "/scoreboard ...", + "commands.scoreboard.noMultiWildcard": "Only one user wildcard allowed", + "commands.scoreboard.allMatchesFailed": "All matches failed", + "commands.scoreboard.teamNotFound": "No team was found by the name '%s'", + "commands.scoreboard.objectiveNotFound": "No objective was found by the name '%s'", + "commands.scoreboard.objectiveReadOnly": "The objective '%s' is read-only and cannot be set", + "commands.scoreboard.objectives.usage": "/scoreboard objectives ...", + "commands.scoreboard.objectives.setdisplay.usage": "/scoreboard objectives setdisplay [objective]", + "commands.scoreboard.objectives.setdisplay.invalidSlot": "No such display slot '%s'", + "commands.scoreboard.objectives.setdisplay.successCleared": "Cleared objective display slot '%s'", + "commands.scoreboard.objectives.setdisplay.successSet": "Set the display objective in slot '%s' to '%s'", + "commands.scoreboard.objectives.add.usage": "/scoreboard objectives add [display name ...]", + "commands.scoreboard.objectives.add.wrongType": "Invalid objective criteria type '%s'", + "commands.scoreboard.objectives.add.alreadyExists": "An objective with the name '%s' already exists", + "commands.scoreboard.objectives.add.tooLong": "The name '%s' is too long for an objective, it can be at most %d characters long", + "commands.scoreboard.objectives.add.displayTooLong": "The display name '%s' is too long for an objective, it can be at most %d characters long", + "commands.scoreboard.objectives.add.success": "Added new objective '%s' successfully", + "commands.scoreboard.objectives.remove.usage": "/scoreboard objectives remove ", + "commands.scoreboard.objectives.remove.success": "Removed objective '%s' successfully", + "commands.scoreboard.objectives.list.count": "Showing %d objective(s) on scoreboard:", + "commands.scoreboard.objectives.list.entry": "- %s: displays as '%s' and is type '%s'", + "commands.scoreboard.objectives.list.empty": "There are no objectives on the scoreboard", + "commands.scoreboard.players.usage": "/scoreboard players ...", + "commands.scoreboard.players.name.tooLong": "The name '%s' is too long for a player, it can be at most %d characters long", + "commands.scoreboard.players.set.success": "Set score of %s for player %s to %d", + "commands.scoreboard.players.set.tagMismatch": "The dataTag does not match for %s", + "commands.scoreboard.players.set.tagError": "Could not parse dataTag, reason: %s", + "commands.scoreboard.players.set.usage": "/scoreboard players set [dataTag]", + "commands.scoreboard.players.add.usage": "/scoreboard players add [dataTag]", + "commands.scoreboard.players.remove.usage": "/scoreboard players remove [dataTag]", + "commands.scoreboard.players.reset.usage": "/scoreboard players reset [objective]", + "commands.scoreboard.players.reset.success": "Reset scores of player %s", + "commands.scoreboard.players.resetscore.success": "Reset score %s of player %s", + "commands.scoreboard.players.list.usage": "/scoreboard players list [name]", + "commands.scoreboard.players.list.count": "Showing %d tracked players on the scoreboard:", + "commands.scoreboard.players.list.empty": "There are no tracked players on the scoreboard", + "commands.scoreboard.players.list.player.count": "Showing %d tracked objective(s) for %s:", + "commands.scoreboard.players.list.player.entry": "- %2$s: %1$d (%3$s)", + "commands.scoreboard.players.list.player.empty": "Player %s has no scores recorded", + "commands.scoreboard.players.enable.usage": "/scoreboard players enable ", + "commands.scoreboard.players.enable.success": "Enabled trigger %s for %s", + "commands.scoreboard.players.enable.noTrigger": "Objective %s is not a trigger", + "commands.scoreboard.players.test.usage": "/scoreboard players test [max]", + "commands.scoreboard.players.test.notFound": "No %s score for %s found", + "commands.scoreboard.players.test.failed": "Score %d is NOT in range %d to %d", + "commands.scoreboard.players.test.success": "Score %d is in range %d to %d", + "commands.scoreboard.players.operation.usage": "/scoreboard players operation ", + "commands.scoreboard.players.operation.notFound": "No %s score for %s found", + "commands.scoreboard.players.operation.invalidOperation": "Invalid operation %s", + "commands.scoreboard.players.operation.success": "Operation applied successfully", + "commands.scoreboard.players.tag.usage": "/scoreboard players tag [dataTag]", + "commands.scoreboard.players.tag.tagMismatch": "The dataTag does not match for %s", + "commands.scoreboard.players.tag.tooMany": "Can't add more than %d tags to an entity", + "commands.scoreboard.players.tag.notFound": "Entity didn't have the %s tag", + "commands.scoreboard.players.tag.success.add": "Tag %s added", + "commands.scoreboard.players.tag.success.remove": "Tag %s removed", + "commands.scoreboard.players.tag.list": "Tags on entity %s are:", + "commands.scoreboard.teams.usage": "/scoreboard teams ...", + "commands.scoreboard.teams.add.usage": "/scoreboard teams add [display name ...]", + "commands.scoreboard.teams.add.alreadyExists": "A team with the name '%s' already exists", + "commands.scoreboard.teams.add.tooLong": "The name '%s' is too long for a team, it can be at most %d characters long", + "commands.scoreboard.teams.add.displayTooLong": "The display name '%s' is too long for a team, it can be at most %d characters long", + "commands.scoreboard.teams.add.success": "Added new team '%s' successfully", + "commands.scoreboard.teams.list.usage": "/scoreboard teams list [name]", + "commands.scoreboard.teams.list.count": "Showing %d teams on the scoreboard:", + "commands.scoreboard.teams.list.entry": "- %1$s: '%2$s' has %3$d players", + "commands.scoreboard.teams.list.empty": "There are no teams registered on the scoreboard", + "commands.scoreboard.teams.list.player.count": "Showing %d player(s) in team %s:", + "commands.scoreboard.teams.list.player.entry": "- %2$s: %1$d (%3$s)", + "commands.scoreboard.teams.list.player.empty": "Team %s has no players", + "commands.scoreboard.teams.empty.usage": "/scoreboard teams empty ", + "commands.scoreboard.teams.empty.alreadyEmpty": "Team %s is already empty, cannot remove nonexistant players", + "commands.scoreboard.teams.empty.success": "Removed all %d player(s) from team %s", + "commands.scoreboard.teams.remove.usage": "/scoreboard teams remove ", + "commands.scoreboard.teams.remove.success": "Removed team %s", + "commands.scoreboard.teams.join.usage": "/scoreboard teams join [player]", + "commands.scoreboard.teams.join.success": "Added %d player(s) to team %s: %s", + "commands.scoreboard.teams.join.failure": "Could not add %d player(s) to team %s: %s", + "commands.scoreboard.teams.leave.usage": "/scoreboard teams leave [player]", + "commands.scoreboard.teams.leave.success": "Removed %d player(s) from their teams: %s", + "commands.scoreboard.teams.leave.failure": "Could not remove %d player(s) from their teams: %s", + "commands.scoreboard.teams.leave.noTeam": "You are not in a team", + "commands.scoreboard.teams.option.usage": "/scoreboard teams option ", + "commands.scoreboard.teams.option.noValue": "Valid values for option %s are: %s", + "commands.scoreboard.teams.option.success": "Set option %s for team %s to %s", + "commands.execute.usage": "/execute OR /execute detect ", + "commands.execute.allInvocationsFailed": "All invocations failed: '%s'", + "commands.execute.failed": "Failed to execute '%s' as %s", + "commands.gamemode.success.self": "Set own game mode to %s", + "commands.gamemode.success.other": "Set %s's game mode to %s", + "commands.gamemode.usage": "/gamemode [player]", + "commands.defaultgamemode.usage": "/defaultgamemode ", + "commands.defaultgamemode.success": "The world's default game mode is now %s", + "commands.me.usage": "/me ", + "commands.help.header": "--- Showing help page %d of %d (/help ) ---", + "commands.help.footer": "Tip: Use the key while typing a command to auto-complete the command or its arguments", + "commands.help.usage": "/help [page|command name]", + "commands.trigger.usage": "/trigger ", + "commands.trigger.invalidObjective": "Invalid trigger name %s", + "commands.trigger.invalidMode": "Invalid trigger mode %s", + "commands.trigger.disabled": "Trigger %s is not enabled", + "commands.trigger.invalidPlayer": "Only players can use the /trigger command", + "commands.trigger.success": "Trigger %s changed with %s %s", + "commands.publish.usage": "/publish", + "commands.publish.started": "Local game hosted on port %s", + "commands.publish.failed": "Unable to host local game", + "commands.debug.start": "Started debug profiling", + "commands.debug.stop": "Stopped debug profiling after %.2f seconds (%d ticks)", + "commands.debug.notStarted": "Can't stop profiling when we haven't started yet!", + "commands.debug.usage": "/debug ", + "commands.chunkinfo.usage": "/chunkinfo [ ]", + "commands.chunkinfo.location": "Chunk location: (%d, %d, %d)", + "commands.chunkinfo.noChunk": "No chunk found at chunk position %d, %d, %d", + "commands.chunkinfo.notEmpty": "Chunk is not empty.", + "commands.chunkinfo.empty": "Chunk is empty.", + "commands.chunkinfo.notCompiled": "Chunk is not compiled.", + "commands.chunkinfo.compiled": "Chunk is compiled.", + "commands.chunkinfo.hasNoRenderableLayers": "Chunk has no renderable layers.", + "commands.chunkinfo.hasLayers": "Chunk has layers: %s", + "commands.chunkinfo.isEmpty": "Chunk has empty layers: %s", + "commands.chunkinfo.vertices": "%s layer's buffer contains %d vertices", + "commands.chunkinfo.data": "First 64 vertices are: %s", + "commands.tellraw.usage": "/tellraw ", + "commands.tellraw.jsonException": "Invalid json: %s", + "commands.message.usage": "/tell ", + "commands.message.sameTarget": "You can't send a private message to yourself!", + "commands.message.display.outgoing": "You whisper to %s: %s", + "commands.message.display.incoming": "%s whispers to you: %s", + "commands.difficulty.usage": "/difficulty ", + "commands.difficulty.success": "Set game difficulty to %s", + "commands.spawnpoint.usage": "/spawnpoint [player] [ ]", + "commands.spawnpoint.success": "Set %s's spawn point to (%d, %d, %d)", + "commands.setworldspawn.usage": "/setworldspawn [ ]", + "commands.setworldspawn.success": "Set the world spawn point to (%d, %d, %d)", + "commands.gamerule.usage": "/gamerule [value]", + "commands.gamerule.success": "Game rule %s has been updated to %s", + "commands.gamerule.norule": "No game rule called '%s' is available", + "commands.gamerule.nopermission": "Only server owners can change '%s'", + "commands.weather.usage": "/weather [duration in seconds]", + "commands.weather.clear": "Changing to clear weather", + "commands.weather.rain": "Changing to rainy weather", + "commands.weather.thunder": "Changing to rain and thunder", + "commands.testfor.usage": "/testfor [dataTag]", + "commands.testfor.failure": "%s did not match the required data structure", + "commands.testfor.success": "Found %s", + "commands.testfor.tagError": "Data tag parsing failed: %s", + "commands.seed.usage": "/seed", + "commands.seed.success": "Seed: %s", + "commands.spreadplayers.usage": "/spreadplayers ", + "commands.spreadplayers.spreading.teams": "Spreading %s teams %s blocks around %s,%s (min %s blocks apart)", + "commands.spreadplayers.spreading.players": "Spreading %s players %s blocks around %s,%s (min %s blocks apart)", + "commands.spreadplayers.success.teams": "Successfully spread %s teams around %s,%s", + "commands.spreadplayers.success.players": "Successfully spread %s players around %s,%s", + "commands.spreadplayers.info.teams": "(Average distance between teams is %s blocks apart after %s iterations)", + "commands.spreadplayers.info.players": "(Average distance between players is %s blocks apart after %s iterations)", + "commands.spreadplayers.failure.teams": "Could not spread %s teams around %s,%s (too many players for space - try using spread of at most %s)", + "commands.spreadplayers.failure.players": "Could not spread %s players around %s,%s (too many players for space - try using spread of at most %s)", + "commands.achievement.usage": "/achievement [player]", + "commands.achievement.unknownAchievement": "Unknown achievement '%s'", + "commands.achievement.alreadyHave": "Player %s already has achievement %s", + "commands.achievement.dontHave": "Player %s doesn't have achievement %s", + "commands.achievement.give.success.all": "Successfully given all achievements to %s", + "commands.achievement.give.success.one": "Successfully given %s the achievement %s", + "commands.achievement.take.success.all": "Successfully taken all achievements from %s", + "commands.achievement.take.success.one": "Successfully taken the achievement %s from %s", + "commands.worldborder.usage": "/worldborder ...", + "commands.worldborder.add.usage": "/worldborder add [timeInSeconds]", + "commands.worldborder.set.usage": "/worldborder set [timeInSeconds]", + "commands.worldborder.set.success": "Set world border to %s blocks wide (from %s blocks)", + "commands.worldborder.get.success": "World border is currently %s blocks wide", + "commands.worldborder.setSlowly.shrink.success": "Shrinking world border to %s blocks wide (down from %s blocks) over %s seconds", + "commands.worldborder.setSlowly.grow.success": "Growing world border to %s blocks wide (up from %s blocks) over %s seconds", + "commands.worldborder.center.usage": "/worldborder center ", + "commands.worldborder.center.success": "Set world border center to %s,%s", + "commands.worldborder.damage.usage": "/worldborder damage ...", + "commands.worldborder.damage.buffer.usage": "/worldborder damage buffer ", + "commands.worldborder.damage.buffer.success": "Set world border damage buffer to %s blocks (from %s blocks)", + "commands.worldborder.damage.amount.usage": "/worldborder damage amount ", + "commands.worldborder.damage.amount.success": "Set world border damage amount to %s per block (from %s per block)", + "commands.worldborder.warning.usage": "/worldborder warning ...", + "commands.worldborder.warning.time.usage": "/worldborder warning time ", + "commands.worldborder.warning.time.success": "Set world border warning to %s seconds away (from %s seconds)", + "commands.worldborder.warning.distance.usage": "/worldborder warning distance ", + "commands.worldborder.warning.distance.success": "Set world border warning to %s blocks away (from %s blocks)", + "commands.title.usage": "/title ...", + "commands.title.usage.title": "/title title|subtitle ", + "commands.title.usage.clear": "/title clear|reset", + "commands.title.usage.times": "/title times ", + "commands.title.success": "Title command successfully executed", + "commands.stopsound.usage": "/stopsound [source] [sound]", + "commands.stopsound.unknownSoundSource": "Source %s is unknown", + "commands.stopsound.success.individualSound": "Stopped sound '%s' with source '%s' for %s", + "commands.stopsound.success.soundSource": "Stopped source '%s' for %s", + "commands.stopsound.success.all": "Stopped all sounds for %s", + "itemGroup.buildingBlocks": "Building Blocks", + "itemGroup.decorations": "Decoration Blocks", + "itemGroup.redstone": "Redstone", + "itemGroup.transportation": "Transportation", + "itemGroup.misc": "Miscellaneous", + "itemGroup.search": "Search Items", + "itemGroup.food": "Foodstuffs", + "itemGroup.tools": "Tools", + "itemGroup.combat": "Combat", + "itemGroup.brewing": "Brewing", + "itemGroup.materials": "Materials", + "itemGroup.inventory": "Survival Inventory", + "inventory.binSlot": "Destroy Item", + "advMode.setCommand": "Set Console Command for Block", + "advMode.setCommand.success": "Command set: %s", + "advMode.command": "Console Command", + "advMode.nearestPlayer": "Use \"@p\" to target nearest player", + "advMode.randomPlayer": "Use \"@r\" to target random player", + "advMode.allPlayers": "Use \"@a\" to target all players", + "advMode.allEntities": "Use \"@e\" to target all entities", + "advMode.previousOutput": "Previous Output", + "advMode.mode.sequence": "Chain", + "advMode.mode.auto": "Repeat", + "advMode.mode.redstone": "Impulse", + "advMode.mode.conditional": "Conditional", + "advMode.mode.unconditional": "Unconditional", + "advMode.mode.redstoneTriggered": "Needs Redstone", + "advMode.mode.autoexec.bat": "Always Active", + "advMode.notEnabled": "Command blocks are not enabled on this server", + "advMode.notAllowed": "Must be an opped player in creative mode", + "mount.onboard": "Press %1$s to dismount", + "build.tooHigh": "Height limit for building is %s blocks", + "item.modifiers.mainhand": "When in main hand:", + "item.modifiers.offhand": "When in off hand:", + "item.modifiers.feet": "When on feet:", + "item.modifiers.legs": "When on legs:", + "item.modifiers.chest": "When on body:", + "item.modifiers.head": "When on head:", + "attribute.modifier.plus.0": "+%d %s", + "attribute.modifier.plus.1": "+%d%% %s", + "attribute.modifier.plus.2": "+%d%% %s", + "attribute.modifier.take.0": "-%d %s", + "attribute.modifier.take.1": "-%d%% %s", + "attribute.modifier.take.2": "-%d%% %s", + "attribute.modifier.equals.0": "%d %s", + "attribute.modifier.equals.1": "%d%% %s", + "attribute.modifier.equals.2": "%d%% %s", + "attribute.name.horse.jumpStrength": "Horse Jump Strength", + "attribute.name.zombie.spawnReinforcements": "Zombie Reinforcements", + "attribute.name.generic.maxHealth": "Max Health", + "attribute.name.generic.followRange": "Mob Follow Range", + "attribute.name.generic.knockbackResistance": "Knockback Resistance", + "attribute.name.generic.movementSpeed": "Speed", + "attribute.name.generic.attackDamage": "Attack Damage", + "attribute.name.generic.attackSpeed": "Attack Speed", + "attribute.name.generic.luck": "Luck", + "attribute.name.generic.armor": "Armor", + "attribute.name.generic.armorToughness": "Armor Toughness", + "screenshot.success": "Saved screenshot as %s", + "screenshot.failure": "Couldn't save screenshot: %s", + "item.banner.black.name": "Black Banner", + "item.banner.red.name": "Red Banner", + "item.banner.green.name": "Green Banner", + "item.banner.brown.name": "Brown Banner", + "item.banner.blue.name": "Blue Banner", + "item.banner.purple.name": "Purple Banner", + "item.banner.cyan.name": "Cyan Banner", + "item.banner.silver.name": "Light Gray Banner", + "item.banner.gray.name": "Gray Banner", + "item.banner.pink.name": "Pink Banner", + "item.banner.lime.name": "Lime Banner", + "item.banner.yellow.name": "Yellow Banner", + "item.banner.lightBlue.name": "Light Blue Banner", + "item.banner.magenta.name": "Magenta Banner", + "item.banner.orange.name": "Orange Banner", + "item.banner.white.name": "White Banner", + "item.shield.name": "Shield", + "item.shield.black.name": "Black Shield", + "item.shield.red.name": "Red Shield", + "item.shield.green.name": "Green Shield", + "item.shield.brown.name": "Brown Shield", + "item.shield.blue.name": "Blue Shield", + "item.shield.purple.name": "Purple Shield", + "item.shield.cyan.name": "Cyan Shield", + "item.shield.silver.name": "Light Gray Shield", + "item.shield.gray.name": "Gray Shield", + "item.shield.pink.name": "Pink Shield", + "item.shield.lime.name": "Lime Shield", + "item.shield.yellow.name": "Yellow Shield", + "item.shield.lightBlue.name": "Light Blue Shield", + "item.shield.magenta.name": "Magenta Shield", + "item.shield.orange.name": "Orange Shield", + "item.shield.white.name": "White Shield", + "item.banner.square_bottom_left.black": "Black Base Dexter Canton", + "item.banner.square_bottom_left.red": "Red Base Dexter Canton", + "item.banner.square_bottom_left.green": "Green Base Dexter Canton", + "item.banner.square_bottom_left.brown": "Brown Base Dexter Canton", + "item.banner.square_bottom_left.blue": "Blue Base Dexter Canton", + "item.banner.square_bottom_left.purple": "Purple Base Dexter Canton", + "item.banner.square_bottom_left.cyan": "Cyan Base Dexter Canton", + "item.banner.square_bottom_left.silver": "Light Gray Base Dexter Canton", + "item.banner.square_bottom_left.gray": "Gray Base Dexter Canton", + "item.banner.square_bottom_left.pink": "Pink Base Dexter Canton", + "item.banner.square_bottom_left.lime": "Lime Base Dexter Canton", + "item.banner.square_bottom_left.yellow": "Yellow Base Dexter Canton", + "item.banner.square_bottom_left.lightBlue": "Light Blue Base Dexter Canton", + "item.banner.square_bottom_left.magenta": "Magenta Base Dexter Canton", + "item.banner.square_bottom_left.orange": "Orange Base Dexter Canton", + "item.banner.square_bottom_left.white": "White Base Dexter Canton", + "item.banner.square_bottom_right.black": "Black Base Sinister Canton", + "item.banner.square_bottom_right.red": "Red Base Sinister Canton", + "item.banner.square_bottom_right.green": "Green Base Sinister Canton", + "item.banner.square_bottom_right.brown": "Brown Base Sinister Canton", + "item.banner.square_bottom_right.blue": "Blue Base Sinister Canton", + "item.banner.square_bottom_right.purple": "Purple Base Sinister Canton", + "item.banner.square_bottom_right.cyan": "Cyan Base Sinister Canton", + "item.banner.square_bottom_right.silver": "Light Gray Base Sinister Canton", + "item.banner.square_bottom_right.gray": "Gray Base Sinister Canton", + "item.banner.square_bottom_right.pink": "Pink Base Sinister Canton", + "item.banner.square_bottom_right.lime": "Lime Base Sinister Canton", + "item.banner.square_bottom_right.yellow": "Yellow Base Sinister Canton", + "item.banner.square_bottom_right.lightBlue": "Light Blue Base Sinister Canton", + "item.banner.square_bottom_right.magenta": "Magenta Base Sinister Canton", + "item.banner.square_bottom_right.orange": "Orange Base Sinister Canton", + "item.banner.square_bottom_right.white": "White Base Sinister Canton", + "item.banner.square_top_left.black": "Black Chief Dexter Canton", + "item.banner.square_top_left.red": "Red Chief Dexter Canton", + "item.banner.square_top_left.green": "Green Chief Dexter Canton", + "item.banner.square_top_left.brown": "Brown Chief Dexter Canton", + "item.banner.square_top_left.blue": "Blue Chief Dexter Canton", + "item.banner.square_top_left.purple": "Purple Chief Dexter Canton", + "item.banner.square_top_left.cyan": "Cyan Chief Dexter Canton", + "item.banner.square_top_left.silver": "Light Gray Chief Dexter Canton", + "item.banner.square_top_left.gray": "Gray Chief Dexter Canton", + "item.banner.square_top_left.pink": "Pink Chief Dexter Canton", + "item.banner.square_top_left.lime": "Lime Chief Dexter Canton", + "item.banner.square_top_left.yellow": "Yellow Chief Dexter Canton", + "item.banner.square_top_left.lightBlue": "Light Blue Chief Dexter Canton", + "item.banner.square_top_left.magenta": "Magenta Chief Dexter Canton", + "item.banner.square_top_left.orange": "Orange Chief Dexter Canton", + "item.banner.square_top_left.white": "White Chief Dexter Canton", + "item.banner.square_top_right.black": "Black Chief Sinister Canton", + "item.banner.square_top_right.red": "Red Chief Sinister Canton", + "item.banner.square_top_right.green": "Green Chief Sinister Canton", + "item.banner.square_top_right.brown": "Brown Chief Sinister Canton", + "item.banner.square_top_right.blue": "Blue Chief Sinister Canton", + "item.banner.square_top_right.purple": "Purple Chief Sinister Canton", + "item.banner.square_top_right.cyan": "Cyan Chief Sinister Canton", + "item.banner.square_top_right.silver": "Light Gray Chief Sinister Canton", + "item.banner.square_top_right.gray": "Gray Chief Sinister Canton", + "item.banner.square_top_right.pink": "Pink Chief Sinister Canton", + "item.banner.square_top_right.lime": "Lime Chief Sinister Canton", + "item.banner.square_top_right.yellow": "Yellow Chief Sinister Canton", + "item.banner.square_top_right.lightBlue": "Light Blue Chief Sinister Canton", + "item.banner.square_top_right.magenta": "Magenta Chief Sinister Canton", + "item.banner.square_top_right.orange": "Orange Chief Sinister Canton", + "item.banner.square_top_right.white": "White Chief Sinister Canton", + "item.banner.stripe_bottom.black": "Black Base Fess", + "item.banner.stripe_bottom.red": "Red Base Fess", + "item.banner.stripe_bottom.green": "Green Base Fess", + "item.banner.stripe_bottom.brown": "Brown Base Fess", + "item.banner.stripe_bottom.blue": "Blue Base Fess", + "item.banner.stripe_bottom.purple": "Purple Base Fess", + "item.banner.stripe_bottom.cyan": "Cyan Base Fess", + "item.banner.stripe_bottom.silver": "Light Gray Base Fess", + "item.banner.stripe_bottom.gray": "Gray Base Fess", + "item.banner.stripe_bottom.pink": "Pink Base Fess", + "item.banner.stripe_bottom.lime": "Lime Base Fess", + "item.banner.stripe_bottom.yellow": "Yellow Base Fess", + "item.banner.stripe_bottom.lightBlue": "Light Blue Base Fess", + "item.banner.stripe_bottom.magenta": "Magenta Base Fess", + "item.banner.stripe_bottom.orange": "Orange Base Fess", + "item.banner.stripe_bottom.white": "White Base Fess", + "item.banner.stripe_top.black": "Black Chief Fess", + "item.banner.stripe_top.red": "Red Chief Fess", + "item.banner.stripe_top.green": "Green Chief Fess", + "item.banner.stripe_top.brown": "Brown Chief Fess", + "item.banner.stripe_top.blue": "Blue Chief Fess", + "item.banner.stripe_top.purple": "Purple Chief Fess", + "item.banner.stripe_top.cyan": "Cyan Chief Fess", + "item.banner.stripe_top.silver": "Light Gray Chief Fess", + "item.banner.stripe_top.gray": "Gray Chief Fess", + "item.banner.stripe_top.pink": "Pink Chief Fess", + "item.banner.stripe_top.lime": "Lime Chief Fess", + "item.banner.stripe_top.yellow": "Yellow Chief Fess", + "item.banner.stripe_top.lightBlue": "Light Blue Chief Fess", + "item.banner.stripe_top.magenta": "Magenta Chief Fess", + "item.banner.stripe_top.orange": "Orange Chief Fess", + "item.banner.stripe_top.white": "White Chief Fess", + "item.banner.stripe_left.black": "Black Pale Dexter", + "item.banner.stripe_left.red": "Red Pale Dexter", + "item.banner.stripe_left.green": "Green Pale Dexter", + "item.banner.stripe_left.brown": "Brown Pale Dexter", + "item.banner.stripe_left.blue": "Blue Pale Dexter", + "item.banner.stripe_left.purple": "Purple Pale Dexter", + "item.banner.stripe_left.cyan": "Cyan Pale Dexter", + "item.banner.stripe_left.silver": "Light Gray Pale Dexter", + "item.banner.stripe_left.gray": "Gray Pale Dexter", + "item.banner.stripe_left.pink": "Pink Pale Dexter", + "item.banner.stripe_left.lime": "Lime Pale Dexter", + "item.banner.stripe_left.yellow": "Yellow Pale Dexter", + "item.banner.stripe_left.lightBlue": "Light Blue Pale Dexter", + "item.banner.stripe_left.magenta": "Magenta Pale Dexter", + "item.banner.stripe_left.orange": "Orange Pale Dexter", + "item.banner.stripe_left.white": "White Pale Dexter", + "item.banner.stripe_right.black": "Black Pale Sinister", + "item.banner.stripe_right.red": "Red Pale Sinister", + "item.banner.stripe_right.green": "Green Pale Sinister", + "item.banner.stripe_right.brown": "Brown Pale Sinister", + "item.banner.stripe_right.blue": "Blue Pale Sinister", + "item.banner.stripe_right.purple": "Purple Pale Sinister", + "item.banner.stripe_right.cyan": "Cyan Pale Sinister", + "item.banner.stripe_right.silver": "Light Gray Pale Sinister", + "item.banner.stripe_right.gray": "Gray Pale Sinister", + "item.banner.stripe_right.pink": "Pink Pale Sinister", + "item.banner.stripe_right.lime": "Lime Pale Sinister", + "item.banner.stripe_right.yellow": "Yellow Pale Sinister", + "item.banner.stripe_right.lightBlue": "Light Blue Pale Sinister", + "item.banner.stripe_right.magenta": "Magenta Pale Sinister", + "item.banner.stripe_right.orange": "Orange Pale Sinister", + "item.banner.stripe_right.white": "White Pale Sinister", + "item.banner.stripe_center.black": "Black Pale", + "item.banner.stripe_center.red": "Red Pale", + "item.banner.stripe_center.green": "Green Pale", + "item.banner.stripe_center.brown": "Brown Pale", + "item.banner.stripe_center.blue": "Blue Pale", + "item.banner.stripe_center.purple": "Purple Pale", + "item.banner.stripe_center.cyan": "Cyan Pale", + "item.banner.stripe_center.silver": "Light Gray Pale", + "item.banner.stripe_center.gray": "Gray Pale", + "item.banner.stripe_center.pink": "Pink Pale", + "item.banner.stripe_center.lime": "Lime Pale", + "item.banner.stripe_center.yellow": "Yellow Pale", + "item.banner.stripe_center.lightBlue": "Light Blue Pale", + "item.banner.stripe_center.magenta": "Magenta Pale", + "item.banner.stripe_center.orange": "Orange Pale", + "item.banner.stripe_center.white": "White Pale", + "item.banner.stripe_middle.black": "Black Fess", + "item.banner.stripe_middle.red": "Red Fess", + "item.banner.stripe_middle.green": "Green Fess", + "item.banner.stripe_middle.brown": "Brown Fess", + "item.banner.stripe_middle.blue": "Blue Fess", + "item.banner.stripe_middle.purple": "Purple Fess", + "item.banner.stripe_middle.cyan": "Cyan Fess", + "item.banner.stripe_middle.silver": "Light Gray Fess", + "item.banner.stripe_middle.gray": "Gray Fess", + "item.banner.stripe_middle.pink": "Pink Fess", + "item.banner.stripe_middle.lime": "Lime Fess", + "item.banner.stripe_middle.yellow": "Yellow Fess", + "item.banner.stripe_middle.lightBlue": "Light Blue Fess", + "item.banner.stripe_middle.magenta": "Magenta Fess", + "item.banner.stripe_middle.orange": "Orange Fess", + "item.banner.stripe_middle.white": "White Fess", + "item.banner.stripe_downright.black": "Black Bend", + "item.banner.stripe_downright.red": "Red Bend", + "item.banner.stripe_downright.green": "Green Bend", + "item.banner.stripe_downright.brown": "Brown Bend", + "item.banner.stripe_downright.blue": "Blue Bend", + "item.banner.stripe_downright.purple": "Purple Bend", + "item.banner.stripe_downright.cyan": "Cyan Bend", + "item.banner.stripe_downright.silver": "Light Gray Bend", + "item.banner.stripe_downright.gray": "Gray Bend", + "item.banner.stripe_downright.pink": "Pink Bend", + "item.banner.stripe_downright.lime": "Lime Bend", + "item.banner.stripe_downright.yellow": "Yellow Bend", + "item.banner.stripe_downright.lightBlue": "Light Blue Bend", + "item.banner.stripe_downright.magenta": "Magenta Bend", + "item.banner.stripe_downright.orange": "Orange Bend", + "item.banner.stripe_downright.white": "White Bend", + "item.banner.stripe_downleft.black": "Black Bend Sinister", + "item.banner.stripe_downleft.red": "Red Bend Sinister", + "item.banner.stripe_downleft.green": "Green Bend Sinister", + "item.banner.stripe_downleft.brown": "Brown Bend Sinister", + "item.banner.stripe_downleft.blue": "Blue Bend Sinister", + "item.banner.stripe_downleft.purple": "Purple Bend Sinister", + "item.banner.stripe_downleft.cyan": "Cyan Bend Sinister", + "item.banner.stripe_downleft.silver": "Light Gray Bend Sinister", + "item.banner.stripe_downleft.gray": "Gray Bend Sinister", + "item.banner.stripe_downleft.pink": "Pink Bend Sinister", + "item.banner.stripe_downleft.lime": "Lime Bend Sinister", + "item.banner.stripe_downleft.yellow": "Yellow Bend Sinister", + "item.banner.stripe_downleft.lightBlue": "Light Blue Bend Sinister", + "item.banner.stripe_downleft.magenta": "Magenta Bend Sinister", + "item.banner.stripe_downleft.orange": "Orange Bend Sinister", + "item.banner.stripe_downleft.white": "White Bend Sinister", + "item.banner.small_stripes.black": "Black Paly", + "item.banner.small_stripes.red": "Red Paly", + "item.banner.small_stripes.green": "Green Paly", + "item.banner.small_stripes.brown": "Brown Paly", + "item.banner.small_stripes.blue": "Blue Paly", + "item.banner.small_stripes.purple": "Purple Paly", + "item.banner.small_stripes.cyan": "Cyan Paly", + "item.banner.small_stripes.silver": "Light Gray Paly", + "item.banner.small_stripes.gray": "Gray Paly", + "item.banner.small_stripes.pink": "Pink Paly", + "item.banner.small_stripes.lime": "Lime Paly", + "item.banner.small_stripes.yellow": "Yellow Paly", + "item.banner.small_stripes.lightBlue": "Light Blue Paly", + "item.banner.small_stripes.magenta": "Magenta Paly", + "item.banner.small_stripes.orange": "Orange Paly", + "item.banner.small_stripes.white": "White Paly", + "item.banner.cross.black": "Black Saltire", + "item.banner.cross.red": "Red Saltire", + "item.banner.cross.green": "Green Saltire", + "item.banner.cross.brown": "Brown Saltire", + "item.banner.cross.blue": "Blue Saltire", + "item.banner.cross.purple": "Purple Saltire", + "item.banner.cross.cyan": "Cyan Saltire", + "item.banner.cross.silver": "Light Gray Saltire", + "item.banner.cross.gray": "Gray Saltire", + "item.banner.cross.pink": "Pink Saltire", + "item.banner.cross.lime": "Lime Saltire", + "item.banner.cross.yellow": "Yellow Saltire", + "item.banner.cross.lightBlue": "Light Blue Saltire", + "item.banner.cross.magenta": "Magenta Saltire", + "item.banner.cross.orange": "Orange Saltire", + "item.banner.cross.white": "White Saltire", + "item.banner.triangle_bottom.black": "Black Chevron", + "item.banner.triangle_bottom.red": "Red Chevron", + "item.banner.triangle_bottom.green": "Green Chevron", + "item.banner.triangle_bottom.brown": "Brown Chevron", + "item.banner.triangle_bottom.blue": "Blue Chevron", + "item.banner.triangle_bottom.purple": "Purple Chevron", + "item.banner.triangle_bottom.cyan": "Cyan Chevron", + "item.banner.triangle_bottom.silver": "Light Gray Chevron", + "item.banner.triangle_bottom.gray": "Gray Chevron", + "item.banner.triangle_bottom.pink": "Pink Chevron", + "item.banner.triangle_bottom.lime": "Lime Chevron", + "item.banner.triangle_bottom.yellow": "Yellow Chevron", + "item.banner.triangle_bottom.lightBlue": "Light Blue Chevron", + "item.banner.triangle_bottom.magenta": "Magenta Chevron", + "item.banner.triangle_bottom.orange": "Orange Chevron", + "item.banner.triangle_bottom.white": "White Chevron", + "item.banner.triangle_top.black": "Black Inverted Chevron", + "item.banner.triangle_top.red": "Red Inverted Chevron", + "item.banner.triangle_top.green": "Green Inverted Chevron", + "item.banner.triangle_top.brown": "Brown Inverted Chevron", + "item.banner.triangle_top.blue": "Blue Inverted Chevron", + "item.banner.triangle_top.purple": "Purple Inverted Chevron", + "item.banner.triangle_top.cyan": "Cyan Inverted Chevron", + "item.banner.triangle_top.silver": "Light Gray Inverted Chevron", + "item.banner.triangle_top.gray": "Gray Inverted Chevron", + "item.banner.triangle_top.pink": "Pink Inverted Chevron", + "item.banner.triangle_top.lime": "Lime Inverted Chevron", + "item.banner.triangle_top.yellow": "Yellow Inverted Chevron", + "item.banner.triangle_top.lightBlue": "Light Blue Inverted Chevron", + "item.banner.triangle_top.magenta": "Magenta Inverted Chevron", + "item.banner.triangle_top.orange": "Orange Inverted Chevron", + "item.banner.triangle_top.white": "White Inverted Chevron", + "item.banner.triangles_bottom.black": "Black Base Indented", + "item.banner.triangles_bottom.red": "Red Base Indented", + "item.banner.triangles_bottom.green": "Green Base Indented", + "item.banner.triangles_bottom.brown": "Brown Base Indented", + "item.banner.triangles_bottom.blue": "Blue Base Indented", + "item.banner.triangles_bottom.purple": "Purple Base Indented", + "item.banner.triangles_bottom.cyan": "Cyan Base Indented", + "item.banner.triangles_bottom.silver": "Light Gray Base Indented", + "item.banner.triangles_bottom.gray": "Gray Base Indented", + "item.banner.triangles_bottom.pink": "Pink Base Indented", + "item.banner.triangles_bottom.lime": "Lime Base Indented", + "item.banner.triangles_bottom.yellow": "Yellow Base Indented", + "item.banner.triangles_bottom.lightBlue": "Light Blue Base Indented", + "item.banner.triangles_bottom.magenta": "Magenta Base Indented", + "item.banner.triangles_bottom.orange": "Orange Base Indented", + "item.banner.triangles_bottom.white": "White Base Indented", + "item.banner.triangles_top.black": "Black Chief Indented", + "item.banner.triangles_top.red": "Red Chief Indented", + "item.banner.triangles_top.green": "Green Chief Indented", + "item.banner.triangles_top.brown": "Brown Chief Indented", + "item.banner.triangles_top.blue": "Blue Chief Indented", + "item.banner.triangles_top.purple": "Purple Chief Indented", + "item.banner.triangles_top.cyan": "Cyan Chief Indented", + "item.banner.triangles_top.silver": "Light Gray Chief Indented", + "item.banner.triangles_top.gray": "Gray Chief Indented", + "item.banner.triangles_top.pink": "Pink Chief Indented", + "item.banner.triangles_top.lime": "Lime Chief Indented", + "item.banner.triangles_top.yellow": "Yellow Chief Indented", + "item.banner.triangles_top.lightBlue": "Light Blue Chief Indented", + "item.banner.triangles_top.magenta": "Magenta Chief Indented", + "item.banner.triangles_top.orange": "Orange Chief Indented", + "item.banner.triangles_top.white": "White Chief Indented", + "item.banner.diagonal_left.black": "Black Per Bend Sinister", + "item.banner.diagonal_left.red": "Red Per Bend Sinister", + "item.banner.diagonal_left.green": "Green Per Bend Sinister", + "item.banner.diagonal_left.brown": "Brown Per Bend Sinister", + "item.banner.diagonal_left.blue": "Blue Per Bend Sinister", + "item.banner.diagonal_left.purple": "Purple Per Bend Sinister", + "item.banner.diagonal_left.cyan": "Cyan Per Bend Sinister", + "item.banner.diagonal_left.silver": "Light Gray Per Bend Sinister", + "item.banner.diagonal_left.gray": "Gray Per Bend Sinister", + "item.banner.diagonal_left.pink": "Pink Per Bend Sinister", + "item.banner.diagonal_left.lime": "Lime Per Bend Sinister", + "item.banner.diagonal_left.yellow": "Yellow Per Bend Sinister", + "item.banner.diagonal_left.lightBlue": "Light Blue Per Bend Sinister", + "item.banner.diagonal_left.magenta": "Magenta Per Bend Sinister", + "item.banner.diagonal_left.orange": "Orange Per Bend Sinister", + "item.banner.diagonal_left.white": "White Per Bend Sinister", + "item.banner.diagonal_right.black": "Black Per Bend", + "item.banner.diagonal_right.red": "Red Per Bend", + "item.banner.diagonal_right.green": "Green Per Bend", + "item.banner.diagonal_right.brown": "Brown Per Bend", + "item.banner.diagonal_right.blue": "Blue Per Bend", + "item.banner.diagonal_right.purple": "Purple Per Bend", + "item.banner.diagonal_right.cyan": "Cyan Per Bend", + "item.banner.diagonal_right.silver": "Light Gray Per Bend", + "item.banner.diagonal_right.gray": "Gray Per Bend", + "item.banner.diagonal_right.pink": "Pink Per Bend", + "item.banner.diagonal_right.lime": "Lime Per Bend", + "item.banner.diagonal_right.yellow": "Yellow Per Bend", + "item.banner.diagonal_right.lightBlue": "Light Blue Per Bend", + "item.banner.diagonal_right.magenta": "Magenta Per Bend", + "item.banner.diagonal_right.orange": "Orange Per Bend", + "item.banner.diagonal_right.white": "White Per Bend", + "item.banner.diagonal_up_left.black": "Black Per Bend Inverted", + "item.banner.diagonal_up_left.red": "Red Per Bend Inverted", + "item.banner.diagonal_up_left.green": "Green Per Bend Inverted", + "item.banner.diagonal_up_left.brown": "Brown Per Bend Inverted", + "item.banner.diagonal_up_left.blue": "Blue Per Bend Inverted", + "item.banner.diagonal_up_left.purple": "Purple Per Bend Inverted", + "item.banner.diagonal_up_left.cyan": "Cyan Per Bend Inverted", + "item.banner.diagonal_up_left.silver": "Light Gray Per Bend Inverted", + "item.banner.diagonal_up_left.gray": "Gray Per Bend Inverted", + "item.banner.diagonal_up_left.pink": "Pink Per Bend Inverted", + "item.banner.diagonal_up_left.lime": "Lime Per Bend Inverted", + "item.banner.diagonal_up_left.yellow": "Yellow Per Bend Inverted", + "item.banner.diagonal_up_left.lightBlue": "Light Blue Per Bend Inverted", + "item.banner.diagonal_up_left.magenta": "Magenta Per Bend Inverted", + "item.banner.diagonal_up_left.orange": "Orange Per Bend Inverted", + "item.banner.diagonal_up_left.white": "White Per Bend Inverted", + "item.banner.diagonal_up_right.black": "Black Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.red": "Red Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.green": "Green Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.brown": "Brown Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.blue": "Blue Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.purple": "Purple Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.cyan": "Cyan Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.silver": "Light Gray Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.gray": "Gray Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.pink": "Pink Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.lime": "Lime Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.yellow": "Yellow Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.lightBlue": "Light Blue Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.magenta": "Magenta Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.orange": "Orange Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.white": "White Per Bend Sinister Inverted", + "item.banner.circle.black": "Black Roundel", + "item.banner.circle.red": "Red Roundel", + "item.banner.circle.green": "Green Roundel", + "item.banner.circle.brown": "Brown Roundel", + "item.banner.circle.blue": "Blue Roundel", + "item.banner.circle.purple": "Purple Roundel", + "item.banner.circle.cyan": "Cyan Roundel", + "item.banner.circle.silver": "Light Gray Roundel", + "item.banner.circle.gray": "Gray Roundel", + "item.banner.circle.pink": "Pink Roundel", + "item.banner.circle.lime": "Lime Roundel", + "item.banner.circle.yellow": "Yellow Roundel", + "item.banner.circle.lightBlue": "Light Blue Roundel", + "item.banner.circle.magenta": "Magenta Roundel", + "item.banner.circle.orange": "Orange Roundel", + "item.banner.circle.white": "White Roundel", + "item.banner.rhombus.black": "Black Lozenge", + "item.banner.rhombus.red": "Red Lozenge", + "item.banner.rhombus.green": "Green Lozenge", + "item.banner.rhombus.brown": "Brown Lozenge", + "item.banner.rhombus.blue": "Blue Lozenge", + "item.banner.rhombus.purple": "Purple Lozenge", + "item.banner.rhombus.cyan": "Cyan Lozenge", + "item.banner.rhombus.silver": "Light Gray Lozenge", + "item.banner.rhombus.gray": "Gray Lozenge", + "item.banner.rhombus.pink": "Pink Lozenge", + "item.banner.rhombus.lime": "Lime Lozenge", + "item.banner.rhombus.yellow": "Yellow Lozenge", + "item.banner.rhombus.lightBlue": "Light Blue Lozenge", + "item.banner.rhombus.magenta": "Magenta Lozenge", + "item.banner.rhombus.orange": "Orange Lozenge", + "item.banner.rhombus.white": "White Lozenge", + "item.banner.half_vertical.black": "Black Per Pale", + "item.banner.half_vertical.red": "Red Per Pale", + "item.banner.half_vertical.green": "Green Per Pale", + "item.banner.half_vertical.brown": "Brown Per Pale", + "item.banner.half_vertical.blue": "Blue Per Pale", + "item.banner.half_vertical.purple": "Purple Per Pale", + "item.banner.half_vertical.cyan": "Cyan Per Pale", + "item.banner.half_vertical.silver": "Light Gray Per Pale", + "item.banner.half_vertical.gray": "Gray Per Pale", + "item.banner.half_vertical.pink": "Pink Per Pale", + "item.banner.half_vertical.lime": "Lime Per Pale", + "item.banner.half_vertical.yellow": "Yellow Per Pale", + "item.banner.half_vertical.lightBlue": "Light Blue Per Pale", + "item.banner.half_vertical.magenta": "Magenta Per Pale", + "item.banner.half_vertical.orange": "Orange Per Pale", + "item.banner.half_vertical.white": "White Per Pale", + "item.banner.half_horizontal.black": "Black Per Fess", + "item.banner.half_horizontal.red": "Red Per Fess", + "item.banner.half_horizontal.green": "Green Per Fess", + "item.banner.half_horizontal.brown": "Brown Per Fess", + "item.banner.half_horizontal.blue": "Blue Per Fess", + "item.banner.half_horizontal.purple": "Purple Per Fess", + "item.banner.half_horizontal.cyan": "Cyan Per Fess", + "item.banner.half_horizontal.silver": "Light Gray Per Fess", + "item.banner.half_horizontal.gray": "Gray Per Fess", + "item.banner.half_horizontal.pink": "Pink Per Fess", + "item.banner.half_horizontal.lime": "Lime Per Fess", + "item.banner.half_horizontal.yellow": "Yellow Per Fess", + "item.banner.half_horizontal.lightBlue": "Light Blue Per Fess", + "item.banner.half_horizontal.magenta": "Magenta Per Fess", + "item.banner.half_horizontal.orange": "Orange Per Fess", + "item.banner.half_horizontal.white": "White Per Fess", + "item.banner.half_vertical_right.black": "Black Per Pale Inverted", + "item.banner.half_vertical_right.red": "Red Per Pale Inverted", + "item.banner.half_vertical_right.green": "Green Per Pale Inverted", + "item.banner.half_vertical_right.brown": "Brown Per Pale Inverted", + "item.banner.half_vertical_right.blue": "Blue Per Pale Inverted", + "item.banner.half_vertical_right.purple": "Purple Per Pale Inverted", + "item.banner.half_vertical_right.cyan": "Cyan Per Pale Inverted", + "item.banner.half_vertical_right.silver": "Light Gray Per Pale Inverted", + "item.banner.half_vertical_right.gray": "Gray Per Pale Inverted", + "item.banner.half_vertical_right.pink": "Pink Per Pale Inverted", + "item.banner.half_vertical_right.lime": "Lime Per Pale Inverted", + "item.banner.half_vertical_right.yellow": "Yellow Per Pale Inverted", + "item.banner.half_vertical_right.lightBlue": "Light Blue Per Pale Inverted", + "item.banner.half_vertical_right.magenta": "Magenta Per Pale Inverted", + "item.banner.half_vertical_right.orange": "Orange Per Pale Inverted", + "item.banner.half_vertical_right.white": "White Per Pale Inverted", + "item.banner.half_horizontal_bottom.black": "Black Per Fess Inverted", + "item.banner.half_horizontal_bottom.red": "Red Per Fess Inverted", + "item.banner.half_horizontal_bottom.green": "Green Per Fess Inverted", + "item.banner.half_horizontal_bottom.brown": "Brown Per Fess Inverted", + "item.banner.half_horizontal_bottom.blue": "Blue Per Fess Inverted", + "item.banner.half_horizontal_bottom.purple": "Purple Per Fess Inverted", + "item.banner.half_horizontal_bottom.cyan": "Cyan Per Fess Inverted", + "item.banner.half_horizontal_bottom.silver": "Light Gray Per Fess Inverted", + "item.banner.half_horizontal_bottom.gray": "Gray Per Fess Inverted", + "item.banner.half_horizontal_bottom.pink": "Pink Per Fess Inverted", + "item.banner.half_horizontal_bottom.lime": "Lime Per Fess Inverted", + "item.banner.half_horizontal_bottom.yellow": "Yellow Per Fess Inverted", + "item.banner.half_horizontal_bottom.lightBlue": "Light Blue Per Fess Inverted", + "item.banner.half_horizontal_bottom.magenta": "Magenta Per Fess Inverted", + "item.banner.half_horizontal_bottom.orange": "Orange Per Fess Inverted", + "item.banner.half_horizontal_bottom.white": "White Per Fess Inverted", + "item.banner.creeper.black": "Black Creeper Charge", + "item.banner.creeper.red": "Red Creeper Charge", + "item.banner.creeper.green": "Green Creeper Charge", + "item.banner.creeper.brown": "Brown Creeper Charge", + "item.banner.creeper.blue": "Blue Creeper Charge", + "item.banner.creeper.purple": "Purple Creeper Charge", + "item.banner.creeper.cyan": "Cyan Creeper Charge", + "item.banner.creeper.silver": "Light Gray Creeper Charge", + "item.banner.creeper.gray": "Gray Creeper Charge", + "item.banner.creeper.pink": "Pink Creeper Charge", + "item.banner.creeper.lime": "Lime Creeper Charge", + "item.banner.creeper.yellow": "Yellow Creeper Charge", + "item.banner.creeper.lightBlue": "Light Blue Creeper Charge", + "item.banner.creeper.magenta": "Magenta Creeper Charge", + "item.banner.creeper.orange": "Orange Creeper Charge", + "item.banner.creeper.white": "White Creeper Charge", + "item.banner.bricks.black": "Black Field Masoned", + "item.banner.bricks.red": "Red Field Masoned", + "item.banner.bricks.green": "Green Field Masoned", + "item.banner.bricks.brown": "Brown Field Masoned", + "item.banner.bricks.blue": "Blue Field Masoned", + "item.banner.bricks.purple": "Purple Field Masoned", + "item.banner.bricks.cyan": "Cyan Field Masoned", + "item.banner.bricks.silver": "Light Gray Field Masoned", + "item.banner.bricks.gray": "Gray Field Masoned", + "item.banner.bricks.pink": "Pink Field Masoned", + "item.banner.bricks.lime": "Lime Field Masoned", + "item.banner.bricks.yellow": "Yellow Field Masoned", + "item.banner.bricks.lightBlue": "Light Blue Field Masoned", + "item.banner.bricks.magenta": "Magenta Field Masoned", + "item.banner.bricks.orange": "Orange Field Masoned", + "item.banner.bricks.white": "White Field Masoned", + "item.banner.gradient.black": "Black Gradient", + "item.banner.gradient.red": "Red Gradient", + "item.banner.gradient.green": "Green Gradient", + "item.banner.gradient.brown": "Brown Gradient", + "item.banner.gradient.blue": "Blue Gradient", + "item.banner.gradient.purple": "Purple Gradient", + "item.banner.gradient.cyan": "Cyan Gradient", + "item.banner.gradient.silver": "Light Gray Gradient", + "item.banner.gradient.gray": "Gray Gradient", + "item.banner.gradient.pink": "Pink Gradient", + "item.banner.gradient.lime": "Lime Gradient", + "item.banner.gradient.yellow": "Yellow Gradient", + "item.banner.gradient.lightBlue": "Light Blue Gradient", + "item.banner.gradient.magenta": "Magenta Gradient", + "item.banner.gradient.orange": "Orange Gradient", + "item.banner.gradient.white": "White Gradient", + "item.banner.gradient_up.black": "Black Base Gradient", + "item.banner.gradient_up.red": "Red Base Gradient", + "item.banner.gradient_up.green": "Green Base Gradient", + "item.banner.gradient_up.brown": "Brown Base Gradient", + "item.banner.gradient_up.blue": "Blue Base Gradient", + "item.banner.gradient_up.purple": "Purple Base Gradient", + "item.banner.gradient_up.cyan": "Cyan Base Gradient", + "item.banner.gradient_up.silver": "Light Gray Base Gradient", + "item.banner.gradient_up.gray": "Gray Base Gradient", + "item.banner.gradient_up.pink": "Pink Base Gradient", + "item.banner.gradient_up.lime": "Lime Base Gradient", + "item.banner.gradient_up.yellow": "Yellow Base Gradient", + "item.banner.gradient_up.lightBlue": "Light Blue Base Gradient", + "item.banner.gradient_up.magenta": "Magenta Base Gradient", + "item.banner.gradient_up.orange": "Orange Base Gradient", + "item.banner.gradient_up.white": "White Base Gradient", + "item.banner.skull.black": "Black Skull Charge", + "item.banner.skull.red": "Red Skull Charge", + "item.banner.skull.green": "Green Skull Charge", + "item.banner.skull.brown": "Brown Skull Charge", + "item.banner.skull.blue": "Blue Skull Charge", + "item.banner.skull.purple": "Purple Skull Charge", + "item.banner.skull.cyan": "Cyan Skull Charge", + "item.banner.skull.silver": "Light Gray Skull Charge", + "item.banner.skull.gray": "Gray Skull Charge", + "item.banner.skull.pink": "Pink Skull Charge", + "item.banner.skull.lime": "Lime Skull Charge", + "item.banner.skull.yellow": "Yellow Skull Charge", + "item.banner.skull.lightBlue": "Light Blue Skull Charge", + "item.banner.skull.magenta": "Magenta Skull Charge", + "item.banner.skull.orange": "Orange Skull Charge", + "item.banner.skull.white": "White Skull Charge", + "item.banner.flower.black": "Black Flower Charge", + "item.banner.flower.red": "Red Flower Charge", + "item.banner.flower.green": "Green Flower Charge", + "item.banner.flower.brown": "Brown Flower Charge", + "item.banner.flower.blue": "Blue Flower Charge", + "item.banner.flower.purple": "Purple Flower Charge", + "item.banner.flower.cyan": "Cyan Flower Charge", + "item.banner.flower.silver": "Light Gray Flower Charge", + "item.banner.flower.gray": "Gray Flower Charge", + "item.banner.flower.pink": "Pink Flower Charge", + "item.banner.flower.lime": "Lime Flower Charge", + "item.banner.flower.yellow": "Yellow Flower Charge", + "item.banner.flower.lightBlue": "Light Blue Flower Charge", + "item.banner.flower.magenta": "Magenta Flower Charge", + "item.banner.flower.orange": "Orange Flower Charge", + "item.banner.flower.white": "White Flower Charge", + "item.banner.border.black": "Black Bordure", + "item.banner.border.red": "Red Bordure", + "item.banner.border.green": "Green Bordure", + "item.banner.border.brown": "Brown Bordure", + "item.banner.border.blue": "Blue Bordure", + "item.banner.border.purple": "Purple Bordure", + "item.banner.border.cyan": "Cyan Bordure", + "item.banner.border.silver": "Light Gray Bordure", + "item.banner.border.gray": "Gray Bordure", + "item.banner.border.pink": "Pink Bordure", + "item.banner.border.lime": "Lime Bordure", + "item.banner.border.yellow": "Yellow Bordure", + "item.banner.border.lightBlue": "Light Blue Bordure", + "item.banner.border.magenta": "Magenta Bordure", + "item.banner.border.orange": "Orange Bordure", + "item.banner.border.white": "White Bordure", + "item.banner.curly_border.black": "Black Bordure Indented", + "item.banner.curly_border.red": "Red Bordure Indented", + "item.banner.curly_border.green": "Green Bordure Indented", + "item.banner.curly_border.brown": "Brown Bordure Indented", + "item.banner.curly_border.blue": "Blue Bordure Indented", + "item.banner.curly_border.purple": "Purple Bordure Indented", + "item.banner.curly_border.cyan": "Cyan Bordure Indented", + "item.banner.curly_border.silver": "Light Gray Bordure Indented", + "item.banner.curly_border.gray": "Gray Bordure Indented", + "item.banner.curly_border.pink": "Pink Bordure Indented", + "item.banner.curly_border.lime": "Lime Bordure Indented", + "item.banner.curly_border.yellow": "Yellow Bordure Indented", + "item.banner.curly_border.lightBlue": "Light Blue Bordure Indented", + "item.banner.curly_border.magenta": "Magenta Bordure Indented", + "item.banner.curly_border.orange": "Orange Bordure Indented", + "item.banner.curly_border.white": "White Bordure Indented", + "item.banner.mojang.black": "Black Thing", + "item.banner.mojang.red": "Red Thing", + "item.banner.mojang.green": "Green Thing", + "item.banner.mojang.brown": "Brown Thing", + "item.banner.mojang.blue": "Blue Thing", + "item.banner.mojang.purple": "Purple Thing", + "item.banner.mojang.cyan": "Cyan Thing", + "item.banner.mojang.silver": "Light Gray Thing", + "item.banner.mojang.gray": "Gray Thing", + "item.banner.mojang.pink": "Pink Thing", + "item.banner.mojang.lime": "Lime Thing", + "item.banner.mojang.yellow": "Yellow Thing", + "item.banner.mojang.lightBlue": "Light Blue Thing", + "item.banner.mojang.magenta": "Magenta Thing", + "item.banner.mojang.orange": "Orange Thing", + "item.banner.mojang.white": "White Thing", + "item.banner.straight_cross.black": "Black Cross", + "item.banner.straight_cross.red": "Red Cross", + "item.banner.straight_cross.green": "Green Cross", + "item.banner.straight_cross.brown": "Brown Cross", + "item.banner.straight_cross.blue": "Blue Cross", + "item.banner.straight_cross.purple": "Purple Cross", + "item.banner.straight_cross.cyan": "Cyan Cross", + "item.banner.straight_cross.silver": "Light Gray Cross", + "item.banner.straight_cross.gray": "Gray Cross", + "item.banner.straight_cross.pink": "Pink Cross", + "item.banner.straight_cross.lime": "Lime Cross", + "item.banner.straight_cross.yellow": "Yellow Cross", + "item.banner.straight_cross.lightBlue": "Light Blue Cross", + "item.banner.straight_cross.magenta": "Magenta Cross", + "item.banner.straight_cross.orange": "Orange Cross", + "item.banner.straight_cross.white": "White Cross", + "subtitles.ambient.cave": "Eerie noise", + "subtitles.block.anvil.destroy": "Anvil destroyed", + "subtitles.block.anvil.land": "Anvil landed", + "subtitles.block.anvil.use": "Anvil used", + "subtitles.block.brewing_stand.brew": "Brewing Stand bubbles", + "subtitles.block.button.click": "Button clicks", + "subtitles.block.chest.close": "Chest closes", + "subtitles.block.chest.locked": "Chest locked", + "subtitles.block.chest.open": "Chest opens", + "subtitles.block.chorus_flower.death": "Chorus Flower withers", + "subtitles.block.chorus_flower.grow": "Chorus Flower grows", + "subtitles.block.comparator.click": "Comparator clicks", + "subtitles.block.dispenser.dispense": "Dispensed item", + "subtitles.block.dispenser.fail": "Dispenser failed", + "subtitles.block.door.toggle": "Door creaks", + "subtitles.block.fence_gate.toggle": "Fence Gate creaks", + "subtitles.block.fire.ambient": "Fire crackles", + "subtitles.block.fire.extinguish": "Fire extinguished", + "subtitles.block.furnace.fire_crackle": "Furnace crackles", + "subtitles.block.generic.break": "Block broken", + "subtitles.block.generic.footsteps": "Footsteps", + "subtitles.block.generic.hit": "Block breaking", + "subtitles.block.generic.place": "Block placed", + "subtitles.block.iron_trapdoor.close": "Trapdoor opens", + "subtitles.block.iron_trapdoor.open": "Trapdoor closes", + "subtitles.block.lava.ambient": "Lava pops", + "subtitles.block.lava.extinguish": "Lava hisses", + "subtitles.block.lever.click": "Lever clicks", + "subtitles.block.note.note": "Noteblock plays", + "subtitles.block.piston.move": "Piston moves", + "subtitles.block.portal.ambient": "Portal whooshes", + "subtitles.block.pressure_plate.click": "Pressure Plate clicks", + "subtitles.block.redstone_torch.burnout": "Torch fizzes", + "subtitles.block.trapdoor.toggle": "Trapdoor creaks", + "subtitles.block.tripwire.attach": "Tripwire attaches", + "subtitles.block.tripwire.click": "Tripwire clicks", + "subtitles.block.tripwire.detach": "Tripwire detaches", + "subtitles.block.water.ambient": "Water flows", + "subtitles.enchant.thorns.hit": "Thorns prick", + "subtitles.entity.armorstand.fall": "Something fell", + "subtitles.entity.arrow.hit": "Arrow hits", + "subtitles.entity.arrow.hit_player": "Player hit", + "subtitles.entity.arrow.shoot": "Arrow fired", + "subtitles.entity.bat.ambient": "Bat screeches", + "subtitles.entity.bat.death": "Bat dies", + "subtitles.entity.bat.hurt": "Bat hurts", + "subtitles.entity.bat.takeoff": "Bat takes off", + "subtitles.entity.blaze.ambient": "Blaze breathes", + "subtitles.entity.blaze.burn": "Blaze crackles", + "subtitles.entity.blaze.death": "Blaze dies", + "subtitles.entity.blaze.hurt": "Blaze hurts", + "subtitles.entity.blaze.shoot": "Blaze shoots", + "subtitles.entity.bobber.splash": "Fishing hook splashes", + "subtitles.entity.bobber.throw": "Bobber thrown", + "subtitles.entity.cat.ambient": "Cat meows", + "subtitles.entity.cat.death": "Cat dies", + "subtitles.entity.cat.hurt": "Cat hurts", + "subtitles.entity.chicken.ambient": "Chicken clucks", + "subtitles.entity.chicken.death": "Chicken dies", + "subtitles.entity.chicken.egg": "Chicken plops", + "subtitles.entity.chicken.hurt": "Chicken hurts", + "subtitles.entity.cow.ambient": "Cow moos", + "subtitles.entity.cow.death": "Cow dies", + "subtitles.entity.cow.hurt": "Cow hurts", + "subtitles.entity.cow.milk": "Cow gets milked", + "subtitles.entity.creeper.death": "Creeper dies", + "subtitles.entity.creeper.hurt": "Creeper hurts", + "subtitles.entity.creeper.primed": "Creeper hisses", + "subtitles.entity.donkey.ambient": "Donkey hee-haws", + "subtitles.entity.donkey.angry": "Donkey neighs", + "subtitles.entity.donkey.chest": "Donkey Chest equips", + "subtitles.entity.donkey.death": "Donkey dies", + "subtitles.entity.donkey.hurt": "Donkey hurts", + "subtitles.entity.egg.throw": "Egg flies", + "subtitles.entity.enderdragon.ambient": "Dragon roars", + "subtitles.entity.enderdragon.death": "Dragon dies", + "subtitles.entity.enderdragon.flap": "Dragon flaps", + "subtitles.entity.enderdragon.growl": "Dragon growls", + "subtitles.entity.enderdragon.hurt": "Dragon hurts", + "subtitles.entity.enderdragon.shoot": "Dragon shoots", + "subtitles.entity.endereye.launch": "Eye of Ender shoots", + "subtitles.entity.enderman.ambient": "Enderman vwoops", + "subtitles.entity.enderman.death": "Enderman dies", + "subtitles.entity.enderman.hurt": "Enderman hurts", + "subtitles.entity.enderman.stare": "Enderman cries out", + "subtitles.entity.enderman.teleport": "Enderman teleports", + "subtitles.entity.endermite.ambient": "Endermite scuttles", + "subtitles.entity.endermite.death": "Endermite dies", + "subtitles.entity.endermite.hurt": "Endermite hurts", + "subtitles.entity.enderpearl.throw": "Ender Pearl flies", + "subtitles.entity.experience_orb.pickup": "Experience gained", + "subtitles.entity.firework.blast": "Firework blasts", + "subtitles.entity.firework.launch": "Firework launches", + "subtitles.entity.firework.twinkle": "Firework twinkles", + "subtitles.entity.generic.big_fall": "Something fell", + "subtitles.entity.generic.burn": "Burning", + "subtitles.entity.generic.death": "Dying", + "subtitles.entity.generic.drink": "Sipping", + "subtitles.entity.generic.eat": "Eating", + "subtitles.entity.generic.explode": "Explosion", + "subtitles.entity.generic.extinguish_fire": "Fire extinguishes", + "subtitles.entity.generic.hurt": "Something hurts", + "subtitles.entity.generic.small_fall": "Something tripped", + "subtitles.entity.generic.splash": "Splashing", + "subtitles.entity.generic.swim": "Swimming", + "subtitles.entity.ghast.ambient": "Ghast cries", + "subtitles.entity.ghast.death": "Ghast dies", + "subtitles.entity.ghast.hurt": "Ghast hurts", + "subtitles.entity.ghast.shoot": "Ghast shoots", + "subtitles.entity.guardian.ambient.land": "Guardian flaps", + "subtitles.entity.guardian.ambient": "Guardian moans", + "subtitles.entity.guardian.attack": "Guardian shoots", + "subtitles.entity.guardian.curse": "Guardian curses", + "subtitles.entity.guardian.death": "Guardian dies", + "subtitles.entity.guardian.flop": "Guardian flops", + "subtitles.entity.guardian.hurt": "Guardian hurts", + "subtitles.entity.horse.ambient": "Horse neighs", + "subtitles.entity.horse.angry": "Horse neighs", + "subtitles.entity.horse.armor": "Horse armor equips", + "subtitles.entity.horse.breathe": "Horse breathes", + "subtitles.entity.horse.death": "Horse dies", + "subtitles.entity.horse.eat": "Horse eats", + "subtitles.entity.horse.gallop": "Horse gallops", + "subtitles.entity.horse.hurt": "Horse hurts", + "subtitles.entity.horse.jump": "Horse jumps", + "subtitles.entity.horse.saddle": "Saddle equips", + "subtitles.entity.husk.ambient": "Husk groans", + "subtitles.entity.husk.death": "Husk dies", + "subtitles.entity.husk.hurt": "Husk hurts", + "subtitles.entity.iron_golem.attack": "Iron Golem attacks", + "subtitles.entity.iron_golem.death": "Iron Golem dies", + "subtitles.entity.iron_golem.hurt": "Iron Golem hurts", + "subtitles.entity.item.break": "Item breaks", + "subtitles.entity.item.pickup": "Item plops", + "subtitles.entity.itemframe.add_item": "Item Frame fills", + "subtitles.entity.itemframe.break": "Item Frame breaks", + "subtitles.entity.itemframe.place": "Item Frame placed", + "subtitles.entity.itemframe.remove_item": "Item Frame empties", + "subtitles.entity.itemframe.rotate_item": "Item Frame clicks", + "subtitles.entity.leashknot.break": "Leash knot breaks", + "subtitles.entity.leashknot.place": "Leash knot tied", + "subtitles.entity.lightning.impact": "Lighting strikes", + "subtitles.entity.lightning.thunder": "Thunder roars", + "subtitles.entity.magmacube.death": "Magma Cube dies", + "subtitles.entity.magmacube.hurt": "Magma Cube hurts", + "subtitles.entity.magmacube.squish": "Magma Cube squishes", + "subtitles.entity.minecart.riding": "Minecart rolls", + "subtitles.entity.mule.ambient": "Mule hee-haws", + "subtitles.entity.mule.death": "Mule dies", + "subtitles.entity.mule.hurt": "Mule hurts", + "subtitles.entity.painting.break": "Painting breaks", + "subtitles.entity.painting.place": "Painting placed", + "subtitles.entity.pig.ambient": "Pig oinks", + "subtitles.entity.pig.death": "Pig dies", + "subtitles.entity.pig.hurt": "Pig hurts", + "subtitles.entity.pig.saddle": "Saddle equips", + "subtitles.entity.player.burp": "Burp", + "subtitles.entity.player.death": "Player dies", + "subtitles.entity.player.hurt": "Player hurts", + "subtitles.entity.player.levelup": "Player dings", + "subtitles.entity.polar_bear.ambient": "Polar Bear groans", + "subtitles.entity.polar_bear.baby_ambient": "Polar Bear hums", + "subtitles.entity.polar_bear.death": "Polar Bear dies", + "subtitles.entity.polar_bear.hurt": "Polar Bear hurts", + "subtitles.entity.polar_bear.warning": "Polar Bear roars", + "subtitles.entity.potion.splash": "Bottle smashes", + "subtitles.entity.potion.throw": "Bottle thrown", + "subtitles.entity.rabbit.ambient": "Rabbit squeaks", + "subtitles.entity.rabbit.attack": "Rabbit attacks", + "subtitles.entity.rabbit.death": "Rabbit dies", + "subtitles.entity.rabbit.hurt": "Rabbit hurts", + "subtitles.entity.rabbit.jump": "Rabbit hops", + "subtitles.entity.sheep.ambient": "Sheep baahs", + "subtitles.entity.sheep.death": "Sheep dies", + "subtitles.entity.sheep.hurt": "Sheep hurts", + "subtitles.entity.shulker.ambient": "Shulker lurks", + "subtitles.entity.shulker.close": "Shulker closes", + "subtitles.entity.shulker.death": "Shulker dies", + "subtitles.entity.shulker.hurt": "Shulker hurts", + "subtitles.entity.shulker.open": "Shulker opens", + "subtitles.entity.shulker.shoot": "Shulker shoots", + "subtitles.entity.shulker.teleport": "Shulker teleports", + "subtitles.entity.shulker_bullet.hit": "Shulker bullet explodes", + "subtitles.entity.shulker_bullet.hurt": "Shulker bullet breaks", + "subtitles.entity.silverfish.ambient": "Silverfish hisses", + "subtitles.entity.silverfish.death": "Silverfish dies", + "subtitles.entity.silverfish.hurt": "Silverfish hurts", + "subtitles.entity.skeleton.ambient": "Skeleton rattles", + "subtitles.entity.skeleton.death": "Skeleton dies", + "subtitles.entity.skeleton.hurt": "Skeleton hurts", + "subtitles.entity.skeleton.shoot": "Skeleton shoots", + "subtitles.entity.skeleton_horse.ambient": "Skeleton Horse cries", + "subtitles.entity.skeleton_horse.death": "Skeleton Horse dies", + "subtitles.entity.skeleton_horse.hurt": "Skeleton Horse hurts", + "subtitles.entity.slime.attack": "Slime attacks", + "subtitles.entity.slime.death": "Slime dies", + "subtitles.entity.slime.hurt": "Slime hurts", + "subtitles.entity.slime.squish": "Slime squishes", + "subtitles.entity.snowball.throw": "Snowball flies", + "subtitles.entity.snowman.death": "Snow Golem dies", + "subtitles.entity.snowman.hurt": "Snow Golem hurts", + "subtitles.entity.spider.ambient": "Spider hisses", + "subtitles.entity.spider.death": "Spider dies", + "subtitles.entity.spider.hurt": "Spider hurts", + "subtitles.entity.squid.ambient": "Squid swims", + "subtitles.entity.squid.death": "Squid dies", + "subtitles.entity.squid.hurt": "Squid hurts", + "subtitles.entity.stray.ambient": "Stray rattles", + "subtitles.entity.stray.death": "Stray dies", + "subtitles.entity.stray.hurt": "Stray hurts", + "subtitles.entity.tnt.primed": "TNT fizzes", + "subtitles.entity.villager.ambient": "Villager mumbles", + "subtitles.entity.villager.death": "Villager dies", + "subtitles.entity.villager.hurt": "Villager hurts", + "subtitles.entity.villager.no": "Villager disagrees", + "subtitles.entity.villager.trading": "Villager trades", + "subtitles.entity.villager.yes": "Villager agrees", + "subtitles.entity.witch.ambient": "Witch giggles", + "subtitles.entity.witch.death": "Witch dies", + "subtitles.entity.witch.drink": "Witch drinks", + "subtitles.entity.witch.hurt": "Witch hurts", + "subtitles.entity.witch.throw": "Witch throws", + "subtitles.entity.wither.ambient": "Wither angers", + "subtitles.entity.wither.death": "Wither dies", + "subtitles.entity.wither.hurt": "Wither hurts", + "subtitles.entity.wither.shoot": "Wither attacks", + "subtitles.entity.wither.spawn": "Wither released", + "subtitles.entity.wither_skeleton.ambient": "Wither Skeleton rattles", + "subtitles.entity.wither_skeleton.death": "Wither Skeleton dies", + "subtitles.entity.wither_skeleton.hurt": "Wither Skeleton hurts", + "subtitles.entity.wolf.ambient": "Wolf pants", + "subtitles.entity.wolf.death": "Wolf dies", + "subtitles.entity.wolf.growl": "Wolf growls", + "subtitles.entity.wolf.hurt": "Wolf hurts", + "subtitles.entity.wolf.shake": "Wolf shakes", + "subtitles.entity.zombie.ambient": "Zombie groans", + "subtitles.entity.zombie.death": "Zombie dies", + "subtitles.entity.zombie.hurt": "Zombie hurts", + "subtitles.entity.zombie.infect": "Zombie infects", + "subtitles.entity.zombie_horse.ambient": "Zombie Horse cries", + "subtitles.entity.zombie_horse.death": "Zombie Horse dies", + "subtitles.entity.zombie_horse.hurt": "Zombie Horse hurts", + "subtitles.entity.zombie_pigman.ambient": "Zombie Pigman grunts", + "subtitles.entity.zombie_pigman.angry": "Zombie Pigman angers", + "subtitles.entity.zombie_pigman.death": "Zombie Pigman dies", + "subtitles.entity.zombie_pigman.hurt": "Zombie Pigman hurts", + "subtitles.entity.zombie_villager.converted": "Zombie vociferates", + "subtitles.entity.zombie_villager.cure": "Zombie snuffles", + "subtitles.item.armor.equip": "Gear equipped", + "subtitles.item.armor.equip_chain": "Chain armor jingles", + "subtitles.item.armor.equip_diamond": "Diamond armor clangs", + "subtitles.item.armor.equip_gold": "Gold armor clinks", + "subtitles.item.armor.equip_iron": "Iron armor clanks", + "subtitles.item.armor.equip_leather": "Leather armor rustles", + "subtitles.item.bottle.fill": "Bottle fills", + "subtitles.item.bucket.empty": "Bucket empties", + "subtitles.item.bucket.fill": "Bucket fills", + "subtitles.item.chorus_fruit.teleport": "Player teleports", + "subtitles.item.firecharge.use": "Fireball whooshes", + "subtitles.item.flintandsteel.use": "Flint and Steel click", + "subtitles.item.hoe.till": "Hoe tills", + "subtitles.item.shear": "Shears click", + "subtitles.item.shield.block": "Shield blocks", + "subtitles.item.shovel.flatten": "Shovel flattens", + "subtitles.weather.rain": "Rain falls" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/materials.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/materials.json new file mode 100644 index 00000000..69c797e0 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/materials.json @@ -0,0 +1,61 @@ +{ + "rock": { + "257": 6, + "270": 2, + "274": 4, + "278": 8, + "285": 12 + }, + "wood": { + "258": 6, + "271": 2, + "275": 4, + "279": 8, + "286": 12 + }, + "plant": { + "258": 6, + "267": 1.5, + "268": 1.5, + "271": 2, + "272": 1.5, + "275": 4, + "276": 1.5, + "279": 8, + "283": 1.5, + "286": 12 + }, + "melon": { + "267": 1.5, + "268": 1.5, + "272": 1.5, + "276": 1.5, + "283": 1.5 + }, + "leaves": { + "267": 1.5, + "268": 1.5, + "272": 1.5, + "276": 1.5, + "283": 1.5, + "359": 6 + }, + "dirt": { + "256": 6, + "269": 2, + "273": 4, + "277": 8, + "284": 12 + }, + "web": { + "267": 15, + "268": 15, + "272": 15, + "276": 15, + "283": 15, + "359": 15 + }, + "wool": { + "359": 4.8 + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/particles.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/particles.json new file mode 100644 index 00000000..2f8d4cbb --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/particles.json @@ -0,0 +1,190 @@ +[ + { + "id": 0, + "name": "explode" + }, + { + "id": 1, + "name": "largeexplode" + }, + { + "id": 2, + "name": "hugeexplosion" + }, + { + "id": 3, + "name": "fireworksSpark" + }, + { + "id": 4, + "name": "bubble" + }, + { + "id": 5, + "name": "splash" + }, + { + "id": 6, + "name": "wake" + }, + { + "id": 7, + "name": "suspended" + }, + { + "id": 8, + "name": "depthsuspend" + }, + { + "id": 9, + "name": "crit" + }, + { + "id": 10, + "name": "magicCrit" + }, + { + "id": 11, + "name": "smoke" + }, + { + "id": 12, + "name": "largesmoke" + }, + { + "id": 13, + "name": "spell" + }, + { + "id": 14, + "name": "instantSpell" + }, + { + "id": 15, + "name": "mobSpell" + }, + { + "id": 16, + "name": "mobSpellAmbient" + }, + { + "id": 17, + "name": "witchMagic" + }, + { + "id": 18, + "name": "dripWater" + }, + { + "id": 19, + "name": "dripLava" + }, + { + "id": 20, + "name": "angryVillager" + }, + { + "id": 21, + "name": "happyVillager" + }, + { + "id": 22, + "name": "townaura" + }, + { + "id": 23, + "name": "note" + }, + { + "id": 24, + "name": "portal" + }, + { + "id": 25, + "name": "enchantmenttable" + }, + { + "id": 26, + "name": "flame" + }, + { + "id": 27, + "name": "lava" + }, + { + "id": 28, + "name": "footstep" + }, + { + "id": 29, + "name": "cloud" + }, + { + "id": 30, + "name": "reddust" + }, + { + "id": 31, + "name": "snowballpoof" + }, + { + "id": 32, + "name": "snowshovel" + }, + { + "id": 33, + "name": "slime" + }, + { + "id": 34, + "name": "heart" + }, + { + "id": 35, + "name": "barrier" + }, + { + "id": 36, + "name": "iconcrack" + }, + { + "id": 37, + "name": "blockcrack" + }, + { + "id": 38, + "name": "blockdust" + }, + { + "id": 39, + "name": "droplet" + }, + { + "id": 40, + "name": "take" + }, + { + "id": 41, + "name": "mobappearance" + }, + { + "id": 42, + "name": "dragonbreath" + }, + { + "id": 43, + "name": "endRod" + }, + { + "id": 44, + "name": "damageIndicator" + }, + { + "id": 45, + "name": "sweepAttack" + }, + { + "id": 46, + "name": "fallingdust" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/protocol.json new file mode 100644 index 00000000..684da433 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/protocol.json @@ -0,0 +1,3571 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "u8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "tab_complete", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "transaction", + "0x12": "close_window", + "0x13": "open_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "keep_alive", + "0x20": "map_chunk", + "0x21": "world_event", + "0x22": "world_particles", + "0x23": "login", + "0x24": "map", + "0x25": "rel_entity_move", + "0x26": "entity_move_look", + "0x27": "entity_look", + "0x28": "entity", + "0x29": "vehicle_move", + "0x2a": "open_sign_entity", + "0x2b": "abilities", + "0x2c": "combat_event", + "0x2d": "player_info", + "0x2e": "position", + "0x2f": "bed", + "0x30": "entity_destroy", + "0x31": "remove_entity_effect", + "0x32": "resource_pack_send", + "0x33": "respawn", + "0x34": "entity_head_rotation", + "0x35": "world_border", + "0x36": "camera", + "0x37": "held_item_slot", + "0x38": "scoreboard_display_objective", + "0x39": "entity_metadata", + "0x3a": "attach_entity", + "0x3b": "entity_velocity", + "0x3c": "entity_equipment", + "0x3d": "experience", + "0x3e": "update_health", + "0x3f": "scoreboard_objective", + "0x40": "set_passengers", + "0x41": "teams", + "0x42": "scoreboard_score", + "0x43": "spawn_position", + "0x44": "update_time", + "0x45": "title", + "0x46": "sound_effect", + "0x47": "playerlist_header", + "0x48": "collect", + "0x49": "entity_teleport", + "0x4a": "entity_update_attributes", + "0x4b": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "i8" + }, + { + "name": "cursorY", + "type": "i8" + }, + { + "name": "cursorZ", + "type": "i8" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "tab_complete", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "transaction", + "0x06": "enchant_item", + "0x07": "window_click", + "0x08": "close_window", + "0x09": "custom_payload", + "0x0a": "use_entity", + "0x0b": "keep_alive", + "0x0c": "position", + "0x0d": "position_look", + "0x0e": "look", + "0x0f": "flying", + "0x10": "vehicle_move", + "0x11": "steer_boat", + "0x12": "abilities", + "0x13": "block_dig", + "0x14": "entity_action", + "0x15": "steer_vehicle", + "0x16": "resource_pack_receive", + "0x17": "held_item_slot", + "0x18": "set_creative_slot", + "0x19": "update_sign", + "0x1a": "arm_animation", + "0x1b": "spectate", + "0x1c": "block_place", + "0x1d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/recipes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/recipes.json new file mode 100644 index 00000000..c5da99f4 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/recipes.json @@ -0,0 +1,27415 @@ +{ + "1": [ + { + "ingredients": [ + { + "id": 1, + "metadata": 3 + }, + 406 + ], + "result": { + "count": 1, + "id": 1, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 1, + "metadata": 1 + }, + { + "id": 1, + "metadata": 1 + } + ], + [ + { + "id": 1, + "metadata": 1 + }, + { + "id": 1, + "metadata": 1 + } + ] + ], + "result": { + "count": 4, + "id": 1, + "metadata": 2 + } + }, + { + "ingredients": [ + { + "id": 1, + "metadata": 3 + }, + 4 + ], + "result": { + "count": 2, + "id": 1, + "metadata": 5 + } + }, + { + "inShape": [ + [ + { + "id": 1, + "metadata": 5 + }, + { + "id": 1, + "metadata": 5 + } + ], + [ + { + "id": 1, + "metadata": 5 + }, + { + "id": 1, + "metadata": 5 + } + ] + ], + "result": { + "count": 4, + "id": 1, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 4, + 406 + ], + [ + 406, + 4 + ] + ], + "result": { + "count": 2, + "id": 1, + "metadata": 3 + } + }, + { + "inShape": [ + [ + { + "id": 1, + "metadata": 3 + }, + { + "id": 1, + "metadata": 3 + } + ], + [ + { + "id": 1, + "metadata": 3 + }, + { + "id": 1, + "metadata": 3 + } + ] + ], + "result": { + "count": 4, + "id": 1, + "metadata": 4 + } + } + ], + "3": [ + { + "inShape": [ + [ + { + "id": 3, + "metadata": 0 + }, + 13 + ], + [ + 13, + { + "id": 3, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 3, + "metadata": 1 + } + } + ], + "5": [ + { + "inShape": [ + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 2 + } + }, + { + "inShape": [ + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 5 + } + } + ], + "22": [ + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 22, + "metadata": 0 + } + } + ], + "23": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 261, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 23, + "metadata": 0 + } + } + ], + "24": [ + { + "inShape": [ + [ + { + "id": 12, + "metadata": 0 + }, + { + "id": 12, + "metadata": 0 + } + ], + [ + { + "id": 12, + "metadata": 0 + }, + { + "id": 12, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 24, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 24, + "metadata": 0 + }, + { + "id": 24, + "metadata": 0 + } + ], + [ + { + "id": 24, + "metadata": 0 + }, + { + "id": 24, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 24, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 1 + } + ], + [ + { + "id": 44, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 24, + "metadata": 1 + } + } + ], + "25": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 331, + 5 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 25, + "metadata": 0 + } + } + ], + "27": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + 280, + 266 + ], + [ + 266, + 331, + 266 + ] + ], + "result": { + "count": 6, + "id": 27, + "metadata": 0 + } + } + ], + "28": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 70, + 265 + ], + [ + 265, + 331, + 265 + ] + ], + "result": { + "count": 6, + "id": 28, + "metadata": 0 + } + } + ], + "29": [ + { + "inShape": [ + [ + 341 + ], + [ + 33 + ] + ], + "result": { + "count": 1, + "id": 29, + "metadata": 0 + } + } + ], + "33": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 4, + 265, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 33, + "metadata": 0 + } + } + ], + "35": [ + { + "inShape": [ + [ + 287, + 287 + ], + [ + 287, + 287 + ] + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 14 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 13 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 12 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 11 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 10 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 9 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 8 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 7 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 6 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 5 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 4 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 3 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 2 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 0 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + } + ], + "41": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 41, + "metadata": 0 + } + } + ], + "42": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 42, + "metadata": 0 + } + } + ], + "44": [ + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 24, + 24, + 24 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 5 + } + }, + { + "inShape": [ + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 155, + 155, + 155 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 7 + } + } + ], + "45": [ + { + "inShape": [ + [ + 336, + 336 + ], + [ + 336, + 336 + ] + ], + "result": { + "count": 1, + "id": 45, + "metadata": 0 + } + } + ], + "46": [ + { + "inShape": [ + [ + 289, + 12, + 289 + ], + [ + 12, + 289, + 12 + ], + [ + 289, + 12, + 289 + ] + ], + "result": { + "count": 1, + "id": 46, + "metadata": 0 + } + } + ], + "47": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 340, + 340, + 340 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 47, + "metadata": 0 + } + } + ], + "48": [ + { + "ingredients": [ + 4, + 106 + ], + "result": { + "count": 1, + "id": 48, + "metadata": 0 + } + } + ], + "50": [ + { + "inShape": [ + [ + 263 + ], + [ + 280 + ] + ], + "result": { + "count": 4, + "id": 50, + "metadata": 0 + } + } + ], + "53": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 0 + } + ], + [ + null, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 53, + "metadata": 0 + } + } + ], + "54": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + null, + 5 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 54, + "metadata": 0 + } + } + ], + "57": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ] + ], + "result": { + "count": 1, + "id": 57, + "metadata": 0 + } + } + ], + "58": [ + { + "inShape": [ + [ + 5, + 5 + ], + [ + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 58, + "metadata": 0 + } + } + ], + "61": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + null, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 1, + "id": 61, + "metadata": 0 + } + } + ], + "65": [ + { + "inShape": [ + [ + 280, + null, + 280 + ], + [ + 280, + 280, + 280 + ], + [ + 280, + null, + 280 + ] + ], + "result": { + "count": 3, + "id": 65, + "metadata": 0 + } + } + ], + "66": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 280, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 16, + "id": 66, + "metadata": 0 + } + } + ], + "67": [ + { + "inShape": [ + [ + null, + null, + 4 + ], + [ + null, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 4, + "id": 67, + "metadata": 0 + } + } + ], + "69": [ + { + "inShape": [ + [ + 280 + ], + [ + 4 + ] + ], + "result": { + "count": 1, + "id": 69, + "metadata": 0 + } + } + ], + "70": [ + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 70, + "metadata": 0 + } + } + ], + "72": [ + { + "inShape": [ + [ + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 72, + "metadata": 0 + } + } + ], + "75": [ + { + "inShape": [ + [ + 331 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 75, + "metadata": 0 + } + } + ], + "77": [ + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 77, + "metadata": 0 + } + } + ], + "78": [ + { + "inShape": [ + [ + 80, + 80, + 80 + ] + ], + "result": { + "count": 6, + "id": 78, + "metadata": 0 + } + } + ], + "80": [ + { + "inShape": [ + [ + 332, + 332 + ], + [ + 332, + 332 + ] + ], + "result": { + "count": 1, + "id": 80, + "metadata": 0 + } + } + ], + "82": [ + { + "inShape": [ + [ + 337, + 337 + ], + [ + 337, + 337 + ] + ], + "result": { + "count": 1, + "id": 82, + "metadata": 0 + } + } + ], + "84": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 264, + 5 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 84, + "metadata": 0 + } + } + ], + "85": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + 280, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + 280, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 3, + "id": 85, + "metadata": 0 + } + } + ], + "89": [ + { + "inShape": [ + [ + 348, + 348 + ], + [ + 348, + 348 + ] + ], + "result": { + "count": 1, + "id": 89, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 348, + 348, + 348 + ], + [ + 348, + 348, + 348 + ], + [ + 348, + 348, + 348 + ] + ], + "result": { + "count": 1, + "id": 89, + "metadata": 0 + } + } + ], + "91": [ + { + "inShape": [ + [ + 86 + ], + [ + 50 + ] + ], + "result": { + "count": 1, + "id": 91, + "metadata": 0 + } + } + ], + "95": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 15 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 14 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 13 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 2 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 12 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 11 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 10 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 5 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 9 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 8 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 7 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 7 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 8 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 6 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 9 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 5 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 10 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 4 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 11 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 3 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 12 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 2 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 13 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 1 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 14 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 0 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 15 + } + } + ], + "96": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 2, + "id": 96, + "metadata": 0 + } + } + ], + "98": [ + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ], + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 98, + "metadata": 0 + } + }, + { + "ingredients": [ + 98, + 106 + ], + "result": { + "count": 1, + "id": 98, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 5 + } + ], + [ + { + "id": 44, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 98, + "metadata": 3 + } + } + ], + "101": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 16, + "id": 101, + "metadata": 0 + } + } + ], + "102": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 16, + "id": 102, + "metadata": 0 + } + } + ], + "103": [ + { + "inShape": [ + [ + 360, + 360, + 360 + ], + [ + 360, + 360, + 360 + ], + [ + 360, + 360, + 360 + ] + ], + "result": { + "count": 1, + "id": 103, + "metadata": 0 + } + } + ], + "107": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 0 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 0 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 107, + "metadata": 0 + } + } + ], + "108": [ + { + "inShape": [ + [ + null, + null, + 45 + ], + [ + null, + 45, + 45 + ], + [ + 45, + 45, + 45 + ] + ], + "result": { + "count": 4, + "id": 108, + "metadata": 0 + } + } + ], + "109": [ + { + "inShape": [ + [ + null, + null, + 98 + ], + [ + null, + 98, + 98 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 4, + "id": 109, + "metadata": 0 + } + } + ], + "113": [ + { + "inShape": [ + [ + 405, + 405, + 405 + ], + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 6, + "id": 113, + "metadata": 0 + } + } + ], + "114": [ + { + "inShape": [ + [ + null, + null, + 405 + ], + [ + null, + 405, + 405 + ], + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 4, + "id": 114, + "metadata": 0 + } + } + ], + "116": [ + { + "inShape": [ + [ + null, + 340, + null + ], + [ + 264, + 49, + 264 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 116, + "metadata": 0 + } + } + ], + "123": [ + { + "inShape": [ + [ + null, + 331, + null + ], + [ + 331, + 89, + 331 + ], + [ + null, + 331, + null + ] + ], + "result": { + "count": 1, + "id": 123, + "metadata": 0 + } + } + ], + "126": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 3 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 4 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 5 + } + } + ], + "128": [ + { + "inShape": [ + [ + null, + null, + 24 + ], + [ + null, + 24, + 24 + ], + [ + 24, + 24, + 24 + ] + ], + "result": { + "count": 4, + "id": 128, + "metadata": 0 + } + } + ], + "130": [ + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 49, + 381, + 49 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 130, + "metadata": 0 + } + } + ], + "131": [ + { + "inShape": [ + [ + 265 + ], + [ + 280 + ], + [ + 5 + ] + ], + "result": { + "count": 2, + "id": 131, + "metadata": 0 + } + } + ], + "133": [ + { + "inShape": [ + [ + 388, + 388, + 388 + ], + [ + 388, + 388, + 388 + ], + [ + 388, + 388, + 388 + ] + ], + "result": { + "count": 1, + "id": 133, + "metadata": 0 + } + } + ], + "134": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 1 + } + ], + [ + null, + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ], + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ] + ], + "result": { + "count": 4, + "id": 134, + "metadata": 0 + } + } + ], + "135": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 2 + } + ], + [ + null, + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ], + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ] + ], + "result": { + "count": 4, + "id": 135, + "metadata": 0 + } + } + ], + "136": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 3 + } + ], + [ + null, + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ], + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ] + ], + "result": { + "count": 4, + "id": 136, + "metadata": 0 + } + } + ], + "138": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 399, + 20 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 138, + "metadata": 0 + } + } + ], + "139": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 139, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 48, + 48, + 48 + ] + ], + "result": { + "count": 6, + "id": 139, + "metadata": 1 + } + } + ], + "143": [ + { + "inShape": [ + [ + 5 + ] + ], + "result": { + "count": 1, + "id": 143, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + } + ], + [ + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 143, + "metadata": 0 + } + } + ], + "145": [ + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + null, + 265, + null + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 145, + "metadata": 0 + } + } + ], + "146": [ + { + "ingredients": [ + 131, + 54 + ], + "result": { + "count": 1, + "id": 146, + "metadata": 0 + } + } + ], + "147": [ + { + "inShape": [ + [ + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 147, + "metadata": 0 + } + } + ], + "148": [ + { + "inShape": [ + [ + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 148, + "metadata": 0 + } + } + ], + "151": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 406, + 406, + 406 + ], + [ + 126, + 126, + 126 + ] + ], + "result": { + "count": 1, + "id": 151, + "metadata": 0 + } + } + ], + "152": [ + { + "inShape": [ + [ + 331, + 331, + 331 + ], + [ + 331, + 331, + 331 + ], + [ + 331, + 331, + 331 + ] + ], + "result": { + "count": 1, + "id": 152, + "metadata": 0 + } + } + ], + "154": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 54, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 154, + "metadata": 0 + } + } + ], + "155": [ + { + "inShape": [ + [ + 406, + 406 + ], + [ + 406, + 406 + ] + ], + "result": { + "count": 1, + "id": 155, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 7 + } + ], + [ + { + "id": 44, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 155, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 155, + "metadata": 0 + } + ], + [ + { + "id": 155, + "metadata": 0 + } + ] + ], + "result": { + "count": 2, + "id": 155, + "metadata": 0 + } + } + ], + "156": [ + { + "inShape": [ + [ + null, + null, + 155 + ], + [ + null, + 155, + 155 + ], + [ + 155, + 155, + 155 + ] + ], + "result": { + "count": 4, + "id": 156, + "metadata": 0 + } + } + ], + "157": [ + { + "inShape": [ + [ + 265, + 280, + 265 + ], + [ + 265, + 75, + 265 + ], + [ + 265, + 280, + 265 + ] + ], + "result": { + "count": 6, + "id": 157, + "metadata": 0 + } + } + ], + "158": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + null, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 158, + "metadata": 0 + } + } + ], + "160": [ + { + "inShape": [ + [ + { + "id": 95, + "metadata": 0 + }, + { + "id": 95, + "metadata": 0 + }, + { + "id": 95, + "metadata": 0 + } + ], + [ + { + "id": 95, + "metadata": 0 + }, + { + "id": 95, + "metadata": 0 + }, + { + "id": 95, + "metadata": 0 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 1 + }, + { + "id": 95, + "metadata": 1 + }, + { + "id": 95, + "metadata": 1 + } + ], + [ + { + "id": 95, + "metadata": 1 + }, + { + "id": 95, + "metadata": 1 + }, + { + "id": 95, + "metadata": 1 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 2 + }, + { + "id": 95, + "metadata": 2 + }, + { + "id": 95, + "metadata": 2 + } + ], + [ + { + "id": 95, + "metadata": 2 + }, + { + "id": 95, + "metadata": 2 + }, + { + "id": 95, + "metadata": 2 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 3 + }, + { + "id": 95, + "metadata": 3 + }, + { + "id": 95, + "metadata": 3 + } + ], + [ + { + "id": 95, + "metadata": 3 + }, + { + "id": 95, + "metadata": 3 + }, + { + "id": 95, + "metadata": 3 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 3 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 4 + }, + { + "id": 95, + "metadata": 4 + }, + { + "id": 95, + "metadata": 4 + } + ], + [ + { + "id": 95, + "metadata": 4 + }, + { + "id": 95, + "metadata": 4 + }, + { + "id": 95, + "metadata": 4 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 4 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 5 + }, + { + "id": 95, + "metadata": 5 + }, + { + "id": 95, + "metadata": 5 + } + ], + [ + { + "id": 95, + "metadata": 5 + }, + { + "id": 95, + "metadata": 5 + }, + { + "id": 95, + "metadata": 5 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 5 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 6 + }, + { + "id": 95, + "metadata": 6 + }, + { + "id": 95, + "metadata": 6 + } + ], + [ + { + "id": 95, + "metadata": 6 + }, + { + "id": 95, + "metadata": 6 + }, + { + "id": 95, + "metadata": 6 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 6 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 7 + }, + { + "id": 95, + "metadata": 7 + }, + { + "id": 95, + "metadata": 7 + } + ], + [ + { + "id": 95, + "metadata": 7 + }, + { + "id": 95, + "metadata": 7 + }, + { + "id": 95, + "metadata": 7 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 7 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 8 + }, + { + "id": 95, + "metadata": 8 + }, + { + "id": 95, + "metadata": 8 + } + ], + [ + { + "id": 95, + "metadata": 8 + }, + { + "id": 95, + "metadata": 8 + }, + { + "id": 95, + "metadata": 8 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 8 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 9 + }, + { + "id": 95, + "metadata": 9 + }, + { + "id": 95, + "metadata": 9 + } + ], + [ + { + "id": 95, + "metadata": 9 + }, + { + "id": 95, + "metadata": 9 + }, + { + "id": 95, + "metadata": 9 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 9 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 10 + }, + { + "id": 95, + "metadata": 10 + }, + { + "id": 95, + "metadata": 10 + } + ], + [ + { + "id": 95, + "metadata": 10 + }, + { + "id": 95, + "metadata": 10 + }, + { + "id": 95, + "metadata": 10 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 10 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 11 + }, + { + "id": 95, + "metadata": 11 + }, + { + "id": 95, + "metadata": 11 + } + ], + [ + { + "id": 95, + "metadata": 11 + }, + { + "id": 95, + "metadata": 11 + }, + { + "id": 95, + "metadata": 11 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 11 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 12 + }, + { + "id": 95, + "metadata": 12 + }, + { + "id": 95, + "metadata": 12 + } + ], + [ + { + "id": 95, + "metadata": 12 + }, + { + "id": 95, + "metadata": 12 + }, + { + "id": 95, + "metadata": 12 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 12 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 13 + }, + { + "id": 95, + "metadata": 13 + }, + { + "id": 95, + "metadata": 13 + } + ], + [ + { + "id": 95, + "metadata": 13 + }, + { + "id": 95, + "metadata": 13 + }, + { + "id": 95, + "metadata": 13 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 13 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 14 + }, + { + "id": 95, + "metadata": 14 + }, + { + "id": 95, + "metadata": 14 + } + ], + [ + { + "id": 95, + "metadata": 14 + }, + { + "id": 95, + "metadata": 14 + }, + { + "id": 95, + "metadata": 14 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 14 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + } + ], + [ + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 15 + } + } + ], + "163": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 4 + } + ], + [ + null, + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ], + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ] + ], + "result": { + "count": 4, + "id": 163, + "metadata": 0 + } + } + ], + "164": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 4, + "id": 164, + "metadata": 0 + } + } + ], + "165": [ + { + "inShape": [ + [ + 341, + 341, + 341 + ], + [ + 341, + 341, + 341 + ], + [ + 341, + 341, + 341 + ] + ], + "result": { + "count": 1, + "id": 165, + "metadata": 0 + } + } + ], + "167": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 167, + "metadata": 0 + } + } + ], + "168": [ + { + "inShape": [ + [ + 409, + 409 + ], + [ + 409, + 409 + ] + ], + "result": { + "count": 1, + "id": 168, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 409, + 409, + 409 + ], + [ + 409, + 409, + 409 + ], + [ + 409, + 409, + 409 + ] + ], + "result": { + "count": 1, + "id": 168, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 409, + 409, + 409 + ], + [ + 409, + { + "id": 351, + "metadata": 0 + }, + 409 + ], + [ + 409, + 409, + 409 + ] + ], + "result": { + "count": 1, + "id": 168, + "metadata": 2 + } + } + ], + "169": [ + { + "inShape": [ + [ + 409, + 410, + 409 + ], + [ + 410, + 410, + 410 + ], + [ + 409, + 410, + 409 + ] + ], + "result": { + "count": 1, + "id": 169, + "metadata": 0 + } + } + ], + "170": [ + { + "inShape": [ + [ + 296, + 296, + 296 + ], + [ + 296, + 296, + 296 + ], + [ + 296, + 296, + 296 + ] + ], + "result": { + "count": 1, + "id": 170, + "metadata": 0 + } + } + ], + "171": [ + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 2 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 5 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 7 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 8 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 9 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 10 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 11 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 12 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 13 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 14 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 15 + } + } + ], + "172": [ + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 15 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 14 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 13 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 2 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 12 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 11 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 10 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 5 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 9 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 8 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 7 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 7 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 8 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 6 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 9 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 5 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 10 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 4 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 11 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 3 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 12 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 2 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 13 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 1 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 14 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 0 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 15 + } + } + ], + "173": [ + { + "inShape": [ + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ], + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ], + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 173, + "metadata": 0 + } + } + ], + "179": [ + { + "inShape": [ + [ + { + "id": 12, + "metadata": 1 + }, + { + "id": 12, + "metadata": 1 + } + ], + [ + { + "id": 12, + "metadata": 1 + }, + { + "id": 12, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 179, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 179, + "metadata": 0 + }, + { + "id": 179, + "metadata": 0 + } + ], + [ + { + "id": 179, + "metadata": 0 + }, + { + "id": 179, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 179, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 182, + "metadata": 0 + } + ], + [ + { + "id": 182, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 179, + "metadata": 1 + } + } + ], + "180": [ + { + "inShape": [ + [ + null, + null, + 179 + ], + [ + null, + 179, + 179 + ], + [ + 179, + 179, + 179 + ] + ], + "result": { + "count": 4, + "id": 180, + "metadata": 0 + } + } + ], + "182": [ + { + "inShape": [ + [ + 179, + 179, + 179 + ] + ], + "result": { + "count": 6, + "id": 182, + "metadata": 0 + } + } + ], + "183": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 1 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 1 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 183, + "metadata": 0 + } + } + ], + "184": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 2 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 2 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 184, + "metadata": 0 + } + } + ], + "185": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 3 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 3 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 185, + "metadata": 0 + } + } + ], + "186": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 5 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 5 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 186, + "metadata": 0 + } + } + ], + "187": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 4 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 4 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 187, + "metadata": 0 + } + } + ], + "188": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 1 + }, + 280, + { + "id": 5, + "metadata": 1 + } + ], + [ + { + "id": 5, + "metadata": 1 + }, + 280, + { + "id": 5, + "metadata": 1 + } + ] + ], + "result": { + "count": 3, + "id": 188, + "metadata": 0 + } + } + ], + "189": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 2 + }, + 280, + { + "id": 5, + "metadata": 2 + } + ], + [ + { + "id": 5, + "metadata": 2 + }, + 280, + { + "id": 5, + "metadata": 2 + } + ] + ], + "result": { + "count": 3, + "id": 189, + "metadata": 0 + } + } + ], + "190": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 3 + }, + 280, + { + "id": 5, + "metadata": 3 + } + ], + [ + { + "id": 5, + "metadata": 3 + }, + 280, + { + "id": 5, + "metadata": 3 + } + ] + ], + "result": { + "count": 3, + "id": 190, + "metadata": 0 + } + } + ], + "191": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + 280, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + 280, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 3, + "id": 191, + "metadata": 0 + } + } + ], + "192": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 4 + }, + 280, + { + "id": 5, + "metadata": 4 + } + ], + [ + { + "id": 5, + "metadata": 4 + }, + 280, + { + "id": 5, + "metadata": 4 + } + ] + ], + "result": { + "count": 3, + "id": 192, + "metadata": 0 + } + } + ], + "198": [ + { + "inShape": [ + [ + 369 + ], + [ + 433 + ] + ], + "result": { + "count": 4, + "id": 198, + "metadata": 0 + } + } + ], + "201": [ + { + "inShape": [ + [ + 433, + 433 + ], + [ + 433, + 433 + ] + ], + "result": { + "count": 4, + "id": 201, + "metadata": 0 + } + } + ], + "202": [ + { + "inShape": [ + [ + 205 + ], + [ + 205 + ] + ], + "result": { + "count": 1, + "id": 202, + "metadata": 0 + } + } + ], + "203": [ + { + "inShape": [ + [ + null, + null, + 201 + ], + [ + null, + 201, + 201 + ], + [ + 201, + 201, + 201 + ] + ], + "result": { + "count": 4, + "id": 203, + "metadata": 0 + } + } + ], + "205": [ + { + "inShape": [ + [ + 201, + 201, + 201 + ] + ], + "result": { + "count": 6, + "id": 205, + "metadata": 0 + } + } + ], + "256": [ + { + "ingredients": [ + 256, + 256 + ], + "result": { + "count": 1, + "id": 256, + "metadata": 0 + } + } + ], + "257": [ + { + "ingredients": [ + 257, + 257 + ], + "result": { + "count": 1, + "id": 257, + "metadata": 0 + } + } + ], + "258": [ + { + "ingredients": [ + 258, + 258 + ], + "result": { + "count": 1, + "id": 258, + "metadata": 0 + } + } + ], + "259": [ + { + "ingredients": [ + 265, + 318 + ], + "result": { + "count": 1, + "id": 259, + "metadata": 0 + } + }, + { + "ingredients": [ + 259, + 259 + ], + "result": { + "count": 1, + "id": 259, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 265, + null + ], + [ + null, + 318 + ] + ], + "result": { + "count": 1, + "id": 259, + "metadata": 0 + } + } + ], + "261": [ + { + "inShape": [ + [ + null, + 280, + 287 + ], + [ + 280, + null, + 287 + ], + [ + null, + 280, + 287 + ] + ], + "result": { + "count": 1, + "id": 261, + "metadata": 0 + } + }, + { + "ingredients": [ + 261, + 261 + ], + "result": { + "count": 1, + "id": 261, + "metadata": 0 + } + } + ], + "262": [ + { + "inShape": [ + [ + 318 + ], + [ + 280 + ], + [ + 288 + ] + ], + "result": { + "count": 4, + "id": 262, + "metadata": 0 + } + } + ], + "263": [ + { + "inShape": [ + [ + 173 + ] + ], + "result": { + "count": 9, + "id": 263, + "metadata": 0 + } + } + ], + "264": [ + { + "inShape": [ + [ + 57 + ] + ], + "result": { + "count": 9, + "id": 264, + "metadata": 0 + } + } + ], + "265": [ + { + "inShape": [ + [ + 42 + ] + ], + "result": { + "count": 9, + "id": 265, + "metadata": 0 + } + } + ], + "266": [ + { + "inShape": [ + [ + 41 + ] + ], + "result": { + "count": 9, + "id": 266, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 371, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 266, + "metadata": 0 + } + } + ], + "267": [ + { + "ingredients": [ + 267, + 267 + ], + "result": { + "count": 1, + "id": 267, + "metadata": 0 + } + } + ], + "268": [ + { + "ingredients": [ + 268, + 268 + ], + "result": { + "count": 1, + "id": 268, + "metadata": 0 + } + } + ], + "269": [ + { + "ingredients": [ + 269, + 269 + ], + "result": { + "count": 1, + "id": 269, + "metadata": 0 + } + } + ], + "270": [ + { + "ingredients": [ + 270, + 270 + ], + "result": { + "count": 1, + "id": 270, + "metadata": 0 + } + } + ], + "271": [ + { + "ingredients": [ + 271, + 271 + ], + "result": { + "count": 1, + "id": 271, + "metadata": 0 + } + } + ], + "272": [ + { + "ingredients": [ + 272, + 272 + ], + "result": { + "count": 1, + "id": 272, + "metadata": 0 + } + } + ], + "273": [ + { + "ingredients": [ + 273, + 273 + ], + "result": { + "count": 1, + "id": 273, + "metadata": 0 + } + } + ], + "274": [ + { + "ingredients": [ + 274, + 274 + ], + "result": { + "count": 1, + "id": 274, + "metadata": 0 + } + } + ], + "275": [ + { + "ingredients": [ + 275, + 275 + ], + "result": { + "count": 1, + "id": 275, + "metadata": 0 + } + } + ], + "276": [ + { + "ingredients": [ + 276, + 276 + ], + "result": { + "count": 1, + "id": 276, + "metadata": 0 + } + } + ], + "277": [ + { + "ingredients": [ + 277, + 277 + ], + "result": { + "count": 1, + "id": 277, + "metadata": 0 + } + } + ], + "278": [ + { + "ingredients": [ + 278, + 278 + ], + "result": { + "count": 1, + "id": 278, + "metadata": 0 + } + } + ], + "279": [ + { + "ingredients": [ + 279, + 279 + ], + "result": { + "count": 1, + "id": 279, + "metadata": 0 + } + } + ], + "280": [ + { + "inShape": [ + [ + 5 + ], + [ + 5 + ] + ], + "result": { + "count": 4, + "id": 280, + "metadata": 0 + } + } + ], + "281": [ + { + "inShape": [ + [ + 5, + null, + 5 + ], + [ + null, + 5, + null + ] + ], + "result": { + "count": 4, + "id": 281, + "metadata": 0 + } + } + ], + "282": [ + { + "ingredients": [ + 40, + 39, + 281 + ], + "result": { + "count": 1, + "id": 282, + "metadata": 0 + } + } + ], + "283": [ + { + "ingredients": [ + 283, + 283 + ], + "result": { + "count": 1, + "id": 283, + "metadata": 0 + } + } + ], + "284": [ + { + "ingredients": [ + 284, + 284 + ], + "result": { + "count": 1, + "id": 284, + "metadata": 0 + } + } + ], + "285": [ + { + "ingredients": [ + 285, + 285 + ], + "result": { + "count": 1, + "id": 285, + "metadata": 0 + } + } + ], + "286": [ + { + "ingredients": [ + 286, + 286 + ], + "result": { + "count": 1, + "id": 286, + "metadata": 0 + } + } + ], + "290": [ + { + "ingredients": [ + 290, + 290 + ], + "result": { + "count": 1, + "id": 290, + "metadata": 0 + } + } + ], + "291": [ + { + "ingredients": [ + 291, + 291 + ], + "result": { + "count": 1, + "id": 291, + "metadata": 0 + } + } + ], + "292": [ + { + "ingredients": [ + 292, + 292 + ], + "result": { + "count": 1, + "id": 292, + "metadata": 0 + } + } + ], + "293": [ + { + "ingredients": [ + 293, + 293 + ], + "result": { + "count": 1, + "id": 293, + "metadata": 0 + } + } + ], + "294": [ + { + "ingredients": [ + 294, + 294 + ], + "result": { + "count": 1, + "id": 294, + "metadata": 0 + } + } + ], + "296": [ + { + "inShape": [ + [ + 170 + ] + ], + "result": { + "count": 9, + "id": 296, + "metadata": 0 + } + } + ], + "297": [ + { + "inShape": [ + [ + 296, + 296, + 296 + ] + ], + "result": { + "count": 1, + "id": 297, + "metadata": 0 + } + } + ], + "298": [ + { + "inShape": [ + [ + 334, + 334, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 298, + "metadata": 0 + } + }, + { + "ingredients": [ + 298, + 298 + ], + "result": { + "count": 1, + "id": 298, + "metadata": 0 + } + } + ], + "299": [ + { + "inShape": [ + [ + 334, + null, + 334 + ], + [ + 334, + 334, + 334 + ], + [ + 334, + 334, + 334 + ] + ], + "result": { + "count": 1, + "id": 299, + "metadata": 0 + } + }, + { + "ingredients": [ + 299, + 299 + ], + "result": { + "count": 1, + "id": 299, + "metadata": 0 + } + } + ], + "300": [ + { + "inShape": [ + [ + 334, + 334, + 334 + ], + [ + 334, + null, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 300, + "metadata": 0 + } + }, + { + "ingredients": [ + 300, + 300 + ], + "result": { + "count": 1, + "id": 300, + "metadata": 0 + } + } + ], + "301": [ + { + "inShape": [ + [ + 334, + null, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 301, + "metadata": 0 + } + }, + { + "ingredients": [ + 301, + 301 + ], + "result": { + "count": 1, + "id": 301, + "metadata": 0 + } + } + ], + "302": [ + { + "ingredients": [ + 302, + 302 + ], + "result": { + "count": 1, + "id": 302, + "metadata": 0 + } + } + ], + "303": [ + { + "ingredients": [ + 303, + 303 + ], + "result": { + "count": 1, + "id": 303, + "metadata": 0 + } + } + ], + "304": [ + { + "ingredients": [ + 304, + 304 + ], + "result": { + "count": 1, + "id": 304, + "metadata": 0 + } + } + ], + "305": [ + { + "ingredients": [ + 305, + 305 + ], + "result": { + "count": 1, + "id": 305, + "metadata": 0 + } + } + ], + "306": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 306, + "metadata": 0 + } + }, + { + "ingredients": [ + 306, + 306 + ], + "result": { + "count": 1, + "id": 306, + "metadata": 0 + } + } + ], + "307": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 307, + "metadata": 0 + } + }, + { + "ingredients": [ + 307, + 307 + ], + "result": { + "count": 1, + "id": 307, + "metadata": 0 + } + } + ], + "308": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 308, + "metadata": 0 + } + }, + { + "ingredients": [ + 308, + 308 + ], + "result": { + "count": 1, + "id": 308, + "metadata": 0 + } + } + ], + "309": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 309, + "metadata": 0 + } + }, + { + "ingredients": [ + 309, + 309 + ], + "result": { + "count": 1, + "id": 309, + "metadata": 0 + } + } + ], + "310": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 310, + "metadata": 0 + } + }, + { + "ingredients": [ + 310, + 310 + ], + "result": { + "count": 1, + "id": 310, + "metadata": 0 + } + } + ], + "311": [ + { + "inShape": [ + [ + 264, + null, + 264 + ], + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ] + ], + "result": { + "count": 1, + "id": 311, + "metadata": 0 + } + }, + { + "ingredients": [ + 311, + 311 + ], + "result": { + "count": 1, + "id": 311, + "metadata": 0 + } + } + ], + "312": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + null, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 312, + "metadata": 0 + } + }, + { + "ingredients": [ + 312, + 312 + ], + "result": { + "count": 1, + "id": 312, + "metadata": 0 + } + } + ], + "313": [ + { + "inShape": [ + [ + 264, + null, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 313, + "metadata": 0 + } + }, + { + "ingredients": [ + 313, + 313 + ], + "result": { + "count": 1, + "id": 313, + "metadata": 0 + } + } + ], + "314": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 314, + "metadata": 0 + } + }, + { + "ingredients": [ + 314, + 314 + ], + "result": { + "count": 1, + "id": 314, + "metadata": 0 + } + } + ], + "315": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 315, + "metadata": 0 + } + }, + { + "ingredients": [ + 315, + 315 + ], + "result": { + "count": 1, + "id": 315, + "metadata": 0 + } + } + ], + "316": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + null, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 316, + "metadata": 0 + } + }, + { + "ingredients": [ + 316, + 316 + ], + "result": { + "count": 1, + "id": 316, + "metadata": 0 + } + } + ], + "317": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 317, + "metadata": 0 + } + }, + { + "ingredients": [ + 317, + 317 + ], + "result": { + "count": 1, + "id": 317, + "metadata": 0 + } + } + ], + "321": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + 280, + 35, + 280 + ], + [ + 280, + 280, + 280 + ] + ], + "result": { + "count": 1, + "id": 321, + "metadata": 0 + } + } + ], + "322": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + 260, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 322, + "metadata": 0 + } + } + ], + "323": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 5, + 5 + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 3, + "id": 323, + "metadata": 0 + } + } + ], + "324": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 3, + "id": 324, + "metadata": 0 + } + } + ], + "325": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 325, + "metadata": 0 + } + } + ], + "328": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 328, + "metadata": 0 + } + } + ], + "330": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + 265, + 265 + ], + [ + 265, + 265 + ] + ], + "result": { + "count": 3, + "id": 330, + "metadata": 0 + } + } + ], + "331": [ + { + "inShape": [ + [ + 152 + ] + ], + "result": { + "count": 9, + "id": 331, + "metadata": 0 + } + } + ], + "333": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + null, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 333, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + 269, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 333, + "metadata": 0 + } + } + ], + "334": [ + { + "inShape": [ + [ + 415, + 415 + ], + [ + 415, + 415 + ] + ], + "result": { + "count": 1, + "id": 334, + "metadata": 0 + } + } + ], + "339": [ + { + "inShape": [ + [ + 338, + 338, + 338 + ] + ], + "result": { + "count": 3, + "id": 339, + "metadata": 0 + } + } + ], + "340": [ + { + "ingredients": [ + 339, + 339, + 339, + 334 + ], + "result": { + "count": 1, + "id": 340, + "metadata": 0 + } + } + ], + "341": [ + { + "inShape": [ + [ + 165 + ] + ], + "result": { + "count": 9, + "id": 341, + "metadata": 0 + } + } + ], + "342": [ + { + "inShape": [ + [ + 54 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 342, + "metadata": 0 + } + } + ], + "343": [ + { + "inShape": [ + [ + 61 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 343, + "metadata": 0 + } + } + ], + "345": [ + { + "inShape": [ + [ + null, + 265, + null + ], + [ + 265, + 331, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 345, + "metadata": 0 + } + } + ], + "346": [ + { + "inShape": [ + [ + null, + null, + 280 + ], + [ + null, + 280, + 287 + ], + [ + 280, + null, + 287 + ] + ], + "result": { + "count": 1, + "id": 346, + "metadata": 0 + } + }, + { + "ingredients": [ + 346, + 346 + ], + "result": { + "count": 1, + "id": 346, + "metadata": 0 + } + } + ], + "347": [ + { + "inShape": [ + [ + null, + 266, + null + ], + [ + 266, + 331, + 266 + ], + [ + null, + 266, + null + ] + ], + "result": { + "count": 1, + "id": 347, + "metadata": 0 + } + } + ], + "351": [ + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 2 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 37 + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 11 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 0 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 11 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 8 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 10 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 12 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 12 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 5 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 9 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 5 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 9 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 9 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 13 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 1 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 9 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 4, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 4 + } + ], + "result": { + "count": 3, + "id": 351, + "metadata": 13 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 14 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 11 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 14 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 4 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 434 + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 38 + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 7 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 3, + "id": 351, + "metadata": 7 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 7 + } + }, + { + "inShape": [ + [ + 22 + ] + ], + "result": { + "count": 9, + "id": 351, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 352 + ] + ], + "result": { + "count": 3, + "id": 351, + "metadata": 15 + } + } + ], + "353": [ + { + "inShape": [ + [ + 338 + ] + ], + "result": { + "count": 1, + "id": 353, + "metadata": 0 + } + } + ], + "354": [ + { + "inShape": [ + [ + 335, + 335, + 335 + ], + [ + 353, + 344, + 353 + ], + [ + 296, + 296, + 296 + ] + ], + "outShape": [ + [ + 325, + 325, + 325 + ], + [ + null, + null, + null + ], + [ + null, + null, + null + ] + ], + "result": { + "count": 1, + "id": 354, + "metadata": 0 + } + } + ], + "355": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 355, + "metadata": 0 + } + } + ], + "356": [ + { + "inShape": [ + [ + 75, + 331, + 75 + ], + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 356, + "metadata": 0 + } + } + ], + "357": [ + { + "inShape": [ + [ + 296, + { + "id": 351, + "metadata": 3 + }, + 296 + ] + ], + "result": { + "count": 8, + "id": 357, + "metadata": 0 + } + } + ], + "358": [ + { + "inShape": [ + [ + 339, + 339, + 339 + ], + [ + 339, + 358, + 339 + ], + [ + 339, + 339, + 339 + ] + ], + "result": { + "count": 1, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 358, + 395 + ], + "result": { + "count": 2, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 358, + 395, + 395 + ], + "result": { + "count": 3, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 358, + 395, + 395, + 395 + ], + "result": { + "count": 4, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 358, + 395, + 395, + 395 + ], + "result": { + "count": 5, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 395, + 358, + 395, + 395, + 395 + ], + "result": { + "count": 6, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 395, + 395, + 358, + 395, + 395, + 395 + ], + "result": { + "count": 7, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 395, + 395, + 358, + 395, + 395, + 395, + 395 + ], + "result": { + "count": 8, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 395, + 395, + 358, + 395, + 395, + 395, + 395, + 395 + ], + "result": { + "count": 9, + "id": 358, + "metadata": 0 + } + } + ], + "359": [ + { + "inShape": [ + [ + null, + 265 + ], + [ + 265, + null + ] + ], + "result": { + "count": 1, + "id": 359, + "metadata": 0 + } + }, + { + "ingredients": [ + 359, + 359 + ], + "result": { + "count": 1, + "id": 359, + "metadata": 0 + } + } + ], + "361": [ + { + "inShape": [ + [ + 86 + ] + ], + "result": { + "count": 4, + "id": 361, + "metadata": 0 + } + } + ], + "362": [ + { + "inShape": [ + [ + 360 + ] + ], + "result": { + "count": 1, + "id": 362, + "metadata": 0 + } + } + ], + "371": [ + { + "inShape": [ + [ + 266 + ] + ], + "result": { + "count": 9, + "id": 371, + "metadata": 0 + } + } + ], + "374": [ + { + "inShape": [ + [ + 20, + null, + 20 + ], + [ + null, + 20, + null + ] + ], + "result": { + "count": 3, + "id": 374, + "metadata": 0 + } + } + ], + "376": [ + { + "ingredients": [ + 39, + 353, + 375 + ], + "result": { + "count": 1, + "id": 376, + "metadata": 0 + } + } + ], + "377": [ + { + "inShape": [ + [ + 369 + ] + ], + "result": { + "count": 2, + "id": 377, + "metadata": 0 + } + } + ], + "378": [ + { + "ingredients": [ + 377, + 341 + ], + "result": { + "count": 1, + "id": 378, + "metadata": 0 + } + } + ], + "379": [ + { + "inShape": [ + [ + null, + 369, + null + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 1, + "id": 379, + "metadata": 0 + } + } + ], + "380": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 380, + "metadata": 0 + } + } + ], + "381": [ + { + "ingredients": [ + 377, + 368 + ], + "result": { + "count": 1, + "id": 381, + "metadata": 0 + } + } + ], + "382": [ + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 360, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 382, + "metadata": 0 + } + } + ], + "385": [ + { + "ingredients": [ + 377, + 263, + 289 + ], + "result": { + "count": 3, + "id": 385, + "metadata": 0 + } + } + ], + "386": [ + { + "ingredients": [ + 340, + { + "id": 351, + "metadata": 0 + }, + 288 + ], + "result": { + "count": 1, + "id": 386, + "metadata": 0 + } + } + ], + "387": [ + { + "ingredients": [ + 386, + 387 + ], + "result": { + "count": 1, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 387, + 386 + ], + "result": { + "count": 2, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 387, + 386, + 386 + ], + "result": { + "count": 3, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 4, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 5, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 6, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386, + 386 + ], + "result": { + "count": 7, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386, + 386, + 386 + ], + "result": { + "count": 8, + "id": 387, + "metadata": 0 + } + } + ], + "388": [ + { + "inShape": [ + [ + 133 + ] + ], + "result": { + "count": 9, + "id": 388, + "metadata": 0 + } + } + ], + "389": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + 280, + 334, + 280 + ], + [ + 280, + 280, + 280 + ] + ], + "result": { + "count": 1, + "id": 389, + "metadata": 0 + } + } + ], + "390": [ + { + "inShape": [ + [ + 336, + null, + 336 + ], + [ + null, + 336, + null + ] + ], + "result": { + "count": 1, + "id": 390, + "metadata": 0 + } + } + ], + "395": [ + { + "inShape": [ + [ + 339, + 339, + 339 + ], + [ + 339, + 345, + 339 + ], + [ + 339, + 339, + 339 + ] + ], + "result": { + "count": 1, + "id": 395, + "metadata": 0 + } + } + ], + "396": [ + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 391, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 396, + "metadata": 0 + } + } + ], + "398": [ + { + "inShape": [ + [ + 346, + null + ], + [ + null, + 391 + ] + ], + "result": { + "count": 1, + "id": 398, + "metadata": 0 + } + }, + { + "ingredients": [ + 398, + 398 + ], + "result": { + "count": 1, + "id": 398, + "metadata": 0 + } + } + ], + "400": [ + { + "ingredients": [ + 86, + 353, + 344 + ], + "result": { + "count": 1, + "id": 400, + "metadata": 0 + } + } + ], + "401": [ + { + "ingredients": [ + 339, + 289 + ], + "result": { + "count": 1, + "id": 401, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + 339, + 289 + ], + "result": { + "count": 1, + "id": 401, + "metadata": 0 + } + } + ], + "402": [ + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 15 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 14 + }, + 348 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 13 + }, + { + "id": 397, + "metadata": 3 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 12 + }, + 371 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 11 + }, + 288 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 10 + }, + 385 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 9 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 8 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 7 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 6 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 5 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 4 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 3 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 2 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 1 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 0 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 14 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 13 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 12 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 11 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 10 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 9 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 8 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 7 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 6 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 5 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 4 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 3 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 2 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 0 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + } + ], + "404": [ + { + "inShape": [ + [ + null, + 75, + null + ], + [ + 75, + 406, + 75 + ], + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 404, + "metadata": 0 + } + } + ], + "405": [ + { + "inShape": [ + [ + 405, + 405 + ], + [ + 405, + 405 + ] + ], + "result": { + "count": 1, + "id": 405, + "metadata": 0 + } + } + ], + "407": [ + { + "inShape": [ + [ + 46 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 407, + "metadata": 0 + } + } + ], + "408": [ + { + "inShape": [ + [ + 154 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 408, + "metadata": 0 + } + } + ], + "413": [ + { + "inShape": [ + [ + null, + 412, + null + ], + [ + 391, + 393, + 40 + ], + [ + null, + 281, + null + ] + ], + "result": { + "count": 1, + "id": 413, + "metadata": 0 + } + } + ], + "416": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + null, + 280, + null + ], + [ + 280, + { + "id": 44, + "metadata": 0 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 416, + "metadata": 0 + } + } + ], + "420": [ + { + "inShape": [ + [ + 287, + 287, + null + ], + [ + 287, + 341, + null + ], + [ + null, + null, + 287 + ] + ], + "result": { + "count": 2, + "id": 420, + "metadata": 0 + } + } + ], + "425": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 35, + 35, + 35 + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 425, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + 425, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + 425, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + 425, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + 425, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + 425, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + 425, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + 425, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + 425, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + 425, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + 425, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + 425, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + 425, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + 425, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + 425, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + 425, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + 425, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + 425, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + 425, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + 425, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + 425, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + 425, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + 425, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + 425, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + 425, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + 425, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + 425, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + 425, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + 425, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + 425, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + 425, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + } + ], + "426": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 381, + 20 + ], + [ + 20, + 370, + 20 + ] + ], + "result": { + "count": 1, + "id": 426, + "metadata": 0 + } + } + ], + "427": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ], + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ], + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ] + ], + "result": { + "count": 3, + "id": 427, + "metadata": 0 + } + } + ], + "428": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ], + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ], + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ] + ], + "result": { + "count": 3, + "id": 428, + "metadata": 0 + } + } + ], + "429": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ], + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ], + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ] + ], + "result": { + "count": 3, + "id": 429, + "metadata": 0 + } + } + ], + "430": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ], + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ], + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ] + ], + "result": { + "count": 3, + "id": 430, + "metadata": 0 + } + } + ], + "431": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 3, + "id": 431, + "metadata": 0 + } + } + ], + "439": [ + { + "inShape": [ + [ + null, + 348, + null + ], + [ + 348, + 262, + 348 + ], + [ + null, + 348, + null + ] + ], + "result": { + "count": 2, + "id": 439, + "metadata": 0 + } + } + ], + "442": [ + { + "inShape": [ + [ + 5, + 265, + 5 + ], + [ + 5, + 5, + 5 + ], + [ + null, + 5, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "ingredients": [ + 442, + 442 + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "ingredients": [ + 442, + 425 + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + { + "id": 5, + "metadata": 0 + }, + null + ], + [ + 35, + { + "id": 5, + "metadata": 0 + }, + 265 + ], + [ + 35, + { + "id": 5, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + { + "id": 5, + "metadata": 1 + }, + null + ], + [ + 35, + { + "id": 5, + "metadata": 1 + }, + 265 + ], + [ + 35, + { + "id": 5, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + { + "id": 5, + "metadata": 2 + }, + null + ], + [ + 35, + { + "id": 5, + "metadata": 2 + }, + 265 + ], + [ + 35, + { + "id": 5, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + { + "id": 5, + "metadata": 3 + }, + null + ], + [ + 35, + { + "id": 5, + "metadata": 3 + }, + 265 + ], + [ + 35, + { + "id": 5, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + { + "id": 5, + "metadata": 4 + }, + null + ], + [ + 35, + { + "id": 5, + "metadata": 4 + }, + 265 + ], + [ + 35, + { + "id": 5, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + { + "id": 5, + "metadata": 5 + }, + null + ], + [ + 35, + { + "id": 5, + "metadata": 5 + }, + 265 + ], + [ + 35, + { + "id": 5, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + } + ], + "443": [ + { + "ingredients": [ + 443, + 443 + ], + "result": { + "count": 1, + "id": 443, + "metadata": 0 + } + } + ], + "444": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 1 + }, + null, + { + "id": 5, + "metadata": 1 + } + ], + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 444, + "metadata": 0 + } + } + ], + "445": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 2 + }, + null, + { + "id": 5, + "metadata": 2 + } + ], + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 445, + "metadata": 0 + } + } + ], + "446": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 3 + }, + null, + { + "id": 5, + "metadata": 3 + } + ], + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 446, + "metadata": 0 + } + } + ], + "447": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 4 + }, + null, + { + "id": 5, + "metadata": 4 + } + ], + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 447, + "metadata": 0 + } + } + ], + "448": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + null, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 448, + "metadata": 0 + } + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/version.json new file mode 100644 index 00000000..7d55d597 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/version.json @@ -0,0 +1,5 @@ +{ + "version":210, + "minecraftVersion":"1.10", + "majorVersion":"1.10" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.10/windows.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/windows.json new file mode 100644 index 00000000..37bdcb69 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.10/windows.json @@ -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 + } + ] + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11.2/protocolComments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11.2/protocolComments.json new file mode 100644 index 00000000..2d5cd263 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11.2/protocolComments.json @@ -0,0 +1,1877 @@ +{ + "handshaking": { + "toClient": {}, + "toServer": { + "set_protocol": { + "before": [ + "This causes the server to switch into the target state.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x00" + }, + "legacy_server_list_ping": { + "before": [ + "While not technically part of the current protocol, legacy clients may send this packet to initiate [Server List Ping](Server_List_Ping \"wikilink\"), and modern servers should handle it correctly.", + "" + ], + "after": [ + "See [Server List Ping\\#1.6](Server_List_Ping#1.6 \"wikilink\") for the details of the protocol that follows this packet.", + "" + ], + "id": "0xfe" + } + } + }, + "status": { + "toClient": { + "ping": { + "before": [ + "", + "" + ], + "after": [ + "", + "" + ], + "id": "0x01" + }, + "server_info": { + "before": [ + "", + "" + ], + "after": [ + "", + "" + ], + "id": "0x00" + } + }, + "toServer": { + "ping": { + "before": [ + "", + "" + ], + "after": [ + "", + "" + ], + "id": "0x01" + }, + "ping_start": { + "before": [ + "", + "" + ], + "after": [ + "", + "" + ], + "id": "0x00" + } + } + }, + "login": { + "toServer": { + "login_start": { + "before": [ + "", + "" + ], + "after": [ + "", + "" + ], + "id": "0x00" + }, + "encryption_begin": { + "before": [ + "", + "" + ], + "after": [ + "See [Protocol Encryption](Protocol_Encryption \"wikilink\") for details.", + "", + "[Category:Protocol Details](Category:Protocol_Details \"wikilink\") [Category:Minecraft Modern](Category:Minecraft_Modern \"wikilink\")", + "" + ], + "id": "0x01" + } + }, + "toClient": { + "encryption_begin": { + "before": [ + "", + "" + ], + "after": [ + "See [Protocol Encryption](Protocol_Encryption \"wikilink\") for details.", + "" + ], + "id": "0x01" + }, + "success": { + "before": [ + "", + "" + ], + "after": [ + "This packet switches the connection state to [play](#play \"wikilink\").", + "" + ], + "id": "0x02" + }, + "compress": { + "before": [ + "Enables compression. If compression is enabled, all following packets are encoded in the [compressed packet format](#with_compression \"wikilink\"). Negative values will disable compression, meaning the packet format should remain in the [uncompressed packet format](#without_compression \"wikilink\"). However, this packet is entirely optional, and if not sent, compression will also not be enabled (the notchian server does not send the packet when compression is disabled).", + "" + ], + "after": [ + "", + "" + ], + "id": "0x03" + }, + "disconnect": { + "before": [ + "", + "" + ], + "after": [ + "", + "" + ], + "id": "0x00" + } + } + }, + "play": { + "toClient": { + "block_break_animation": { + "before": [ + "0–9 are the displayable destroy stages and each other number means that there is no animation on this coordinate.", + "", + "Block break animations can still be applied on air; the animation will remain visible although there is no block being broken. However, if this is applied to a transparent block, odd graphical effects may happen, including water losing its transparency. (An effect similar to this can be seen in normal gameplay when breaking ice blocks)", + "", + "If you need to display several break animations at the same time you have to give each of them a unique Entity ID.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x08" + }, + "tile_entity_data": { + "before": [ + "Sets tile entity associated with the block at the given location.", + "" + ], + "after": [ + "*Action* field:", + "", + "- **1**: Set data of a mob spawner (everything except for SpawnPotentials: current delay, min/max delay, mob to be spawned, spawn count, spawn range, etc.)", + "- **2**: Set command block text (command and last execution status)", + "- **3**: Set the level, primary, and secondary powers of a beacon", + "- **4**: Set rotation and skin of mob head", + "- **5**: Set type of flower in flower pot", + "- **6**: Set base color and patterns on a banner", + "- **7**: Set the data for a Structure tile entity", + "- **8**: Set the destination for a end gateway", + "- **9**: Set the text on a sign", + "- **10**: Declare a shulker box (unclear if there is any actual data)", + "", + "" + ], + "id": "0x09" + }, + "difficulty": { + "before": [ + "Changes the difficulty setting in the client's option menu", + "" + ], + "after": [ + "", + "" + ], + "id": "0x0d" + }, + "tab_complete": { + "before": [ + "The server responds with a list of auto-completions of the last word sent to it. In the case of regular chat, this is a player username. Command names and parameters are also supported. The client sorts these alphabetically before listing them.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x0e" + }, + "chat": { + "before": [ + "Identifying the difference between Chat/System Message is important as it helps respect the user's chat visibility options. While Position 2 accepts json formatting it will not display, old style formatting works", + "" + ], + "after": [ + "", + "" + ], + "id": "0x0f" + }, + "multi_block_change": { + "before": [ + "Fired whenever 2 or more blocks are changed within the same chunk on the same tick.", + "" + ], + "after": [ + "To decode the position into a world position:", + "", + "``` java", + "worldX = (horizPos >> 4 & 15) + (chunkX * 16);", + "worldY = vertPos;", + "worldZ = (horizPos & 15) + (chunkZ * 16);", + "```", + "" + ], + "id": "0x10" + }, + "transaction": { + "before": [ + "A packet from the server indicating whether a request from the client was accepted, or whether there was a conflict (due to lag). If the packet was not accepted, the client must respond with a [serverbound confirm transaction](#confirm_transaction \"wikilink\") packet.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x11" + }, + "close_window": { + "before": [ + "This packet is sent from the server to the client when a window is forcibly closed, such as when a chest is destroyed while it's open.", + "", + "Note, notchian clients send a close window packet with Window ID 0 to close their inventory even though there is never an [Open Window](#open_window \"wikilink\") packet for inventory.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x12" + }, + "open_window": { + "before": [ + "This is sent to the client when it should open an inventory, such as a chest, workbench, or furnace. This message is not sent anywhere for clients opening their own inventory.", + "" + ], + "after": [ + "See [Inventory](Inventory \"wikilink\") for further information.", + "" + ], + "id": "0x13" + }, + "window_items": { + "before": [ + "![The inventory slots](Inventory-slots.png \"The inventory slots\")", + "", + "Sent by the server when items in multiple slots (in a window) are added/removed. This includes the main inventory, equipped armour and crafting slots.", + "" + ], + "after": [ + "See [inventory windows](Inventory#Windows \"wikilink\") for further information about how slots are indexed.", + "" + ], + "id": "0x14" + }, + "craft_progress_bar": { + "before": [ + "This packet is used to inform the client that part of a GUI window should be updated.", + "" + ], + "after": [ + "The meaning of the Property field depends on the type of the window. The following table shows the known combinations of window type and property, and how the value is to be interpreted.", + "", + "| Window type | Property | Value |", + "|---------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------|", + "| Furnace | 0: Fire icon (fuel left) | counting from fuel burn time down to 0 (in-game ticks) |", + "| 1: Maximum fuel burn time | fuel burn time or 0 (in-game ticks) |", + "| 2: Progress arrow | counting from 0 to maximum progress (in-game ticks) |", + "| 3: Maximum progress | always 200 on the notchian server |", + "| Enchantment Table | 0: Level requirement for top enchantment slot | The enchantment's xp level requirement |", + "| 1: Level requirement for middle enchantment slot |", + "| 2: Level requirement for bottom enchantment slot |", + "| 3: The enchantment seed | Used for drawing the enchantment names (in [SGA](Wikipedia:Standard_Galactic_Alphabet \"wikilink\")) clientside. The same seed *is* used to calculate enchantments, but some of the data isn't sent to the client to prevent easily guessing the entire list (the seed value here is the regular seed bitwise and `0xFFFFFFF0`). |", + "| 4: Enchantment ID shown on mouse hover over top enchantment slot | The enchantment id (set to -1 to hide it) |", + "| 5: Enchantment ID shown on mouse hover over middle enchantment slot |", + "| 6: Enchantment ID shown on mouse hover over bottom enchantment slot |", + "| 7: Enchantment level shown on mouse hover over the top slot | The enchantment level (1 = I, 2 = II, 6 = VI, etc.), or -1 if no enchant |", + "| 8: Enchantment level shown on mouse hover over the middle slot |", + "| 9: Enchantment level shown on mouse hover over the bottom slot |", + "| Beacon | 0: Power level | 0-4, controls what effect buttons are enabled |", + "| 1: First potion effect | for the first effect, or -1 if no effect |", + "| 2: Second potion effect | for the second effect, or -1 if no effect |", + "| Anvil | 0: Repair cost | The repair's cost in xp levels |", + "| Brewing Stand | 0: Brew time | 0–400, with 400 making the arrow empty, and 0 making the arrow full |", + "", + "", + "" + ], + "id": "0x15" + }, + "set_slot": { + "before": [ + "Sent by the server when an item in a slot (in a window) is added/removed.", + "" + ], + "after": [ + "To set the cursor (the item currently dragged with the mouse), use -1 as Window ID and as Slot.", + "", + "This packet can only be used to edit the hotbar of the player's inventory if window ID is set to 0 (slots 36 through 44). If the window ID is set to -2, then any slot in the inventory can be used but no add item animation will be played.", + "" + ], + "id": "0x16" + }, + "set_cooldown": { + "before": [ + "Applies a cooldown period to all items with the given type. Used by the Notchian server with enderpearls. This packet should be sent when the cooldown starts and also when the cooldown ends (to compensate for lag), although the client will end the cooldown automatically.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x17" + }, + "custom_payload": { + "before": [ + "Mods and plugins can use this to send their data. Minecraft itself uses a number of [plugin channels](plugin_channel \"wikilink\"). These internal channels are prefixed with `MC|`.", + "", + "More documentation on this: [](http://dinnerbone.com/blog/2012/01/13/minecraft-plugin-channels-messaging/)", + "" + ], + "after": [ + "", + "" + ], + "id": "0x18" + }, + "named_sound_effect": { + "before": [ + "Used to play a sound effect on the client. Custom sounds may be added by resource packs.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x19" + }, + "kick_disconnect": { + "before": [ + "Sent by the server before it disconnects a client. The client assumes that the server has already closed the connection by the time the packet arrives.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x1a" + }, + "entity_status": { + "before": [ + "Entity statuses generally trigger an animation for an entity. The available statuses vary by the entity's type (and are available to subclasses of that type as well).", + "" + ], + "after": [ + "See [entities](entities \"wikilink\") for a list of which statuses are valid for each type of entity.", + "" + ], + "id": "0x1b" + }, + "explosion": { + "before": [ + "Sent when an explosion occurs (creepers, TNT, and ghast fireballs).", + "", + "Each block in Records is set to air. Coordinates for each axis in record is int(X) + record.x", + "" + ], + "after": [ + "", + "" + ], + "id": "0x1c" + }, + "unload_chunk": { + "before": [ + "Tells the client to unload a chunk column.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x1d" + }, + "game_state_change": { + "before": [ + "Used for a wide variety of game state things, from weather to bed use to game mode to demo messages.", + "" + ], + "after": [ + "*Reason codes*:", + "", + "| Reason | Effect | Value |", + "|--------|-------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|", + "| 0 | Invalid Bed | Would be used to switch between messages, but the only used message is 0 for invalid bed |", + "| 1 | End raining | |", + "| 2 | Begin raining | |", + "| 3 | Change game mode | 0: Survival, 1: Creative, 2: Adventure, 3: Spectator |", + "| 4 | Exit end | 0: Immediately send Client Status of respawn without showing end credits; 1: Show end credits and respawn at the end (or when esc is pressed). 1 is sent if the player has not yet received the “The end?” achievement, while if they do have it 0 is used. |", + "| 5 | Demo message | 0: Show welcome to demo screen, 101: Tell movement controls, 102: Tell jump control, 103: Tell inventory control |", + "| 6 | Arrow hitting player | Appears to be played when an arrow strikes another player in Multiplayer |", + "| 7 | Fade value | The current darkness value. 1 = Dark, 0 = Bright, Setting the value higher causes the game to change color and freeze |", + "| 8 | Fade time | Time in ticks for the sky to fade |", + "| 10 | Play elder guardian mob appearance (effect and sound) | |", + "", + "", + "" + ], + "id": "0x1e" + }, + "keep_alive": { + "before": [ + "The server will frequently send out a keep-alive, each containing a random ID. The client must respond with the same packet. If the client does not respond to them for over 30 seconds, the server kicks the client. Vice versa, if the server does not send any keep-alives for 20 seconds, the client will disconnect and yields a “Timed out” exception.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x1f" + }, + "map_chunk": { + "before": [ + "The server only sends skylight information for chunk pillars in the , it's up to the client to know in which dimenison the player is currently located. You can also infer this information from the primary bitmask and the amount of uncompressed bytes sent. This packet also sends all block entities in the chunk (though sending them is not required; it is still legal to send them with [Update Block Entity](#update_block_entity \"wikilink\") later).", + "" + ], + "after": [ + "", + "" + ], + "id": "0x20" + }, + "world_event": { + "before": [ + "Sent when a client is to play a sound or particle effect.", + "", + "By default, the Minecraft client adjusts the volume of sound effects based on distance. The final boolean field is used to disable this, and instead the effect is played from 2 blocks away in the correct direction. Currently this is only used for effect 1023 (wither spawn) and effect 1028 (enderdragon death); it is ignored on other effects.", + "" + ], + "after": [ + "Effect IDs:", + "", + "| ID | Name | Data |", + "|----------|-----------------------------------------------------------|-----------------------------------------------------------------|", + "| Sound |", + "| 1000 | Dispenser dispenses | |", + "| 1001 | Dispenser fails to dispense | |", + "| 1002 | Dispenser shoots | |", + "| 1003 | Ender eye launched | |", + "| 1004 | Firework shot | |", + "| 1005 | Iron door opened | |", + "| 1006 | Wooden door opened | |", + "| 1007 | Wooden trapdoor opened | |", + "| 1008 | Fence gate opened | |", + "| 1009 | Fire extinguished | |", + "| 1010 | Play record | |", + "| 1011 | Iron door closed | |", + "| 1012 | Wooden door closed | |", + "| 1013 | Wooden trapdoor closed | |", + "| 1014 | Fence gate closed | |", + "| 1015 | Ghast warns | |", + "| 1016 | Ghast shoots | |", + "| 1017 | Enderdragon shoots | |", + "| 1018 | Blaze shoots | |", + "| 1019 | Zombie attacks wood door | |", + "| 1020 | Zombie attacks iron door | |", + "| 1021 | Zombie breaks wood door | |", + "| 1022 | Wither breaks block | |", + "| 1023 | Wither spawned | |", + "| 1024 | Wither shoots | |", + "| 1025 | Bat takes off | |", + "| 1026 | Zombie infects | |", + "| 1027 | Zombie villager converted | |", + "| 1028 | Ender dragon death | |", + "| 1029 | Anvil destroyed | |", + "| 1030 | Anvil used | |", + "| 1031 | Anvil landed | |", + "| 1032 | Portal travel | |", + "| 1033 | Chorus flower grown | |", + "| 1034 | Chorus flower died | |", + "| 1035 | Brewing stand brewed | |", + "| 1036 | Iron trapdoor opened | |", + "| 1037 | Iron trapdoor closed | |", + "| Particle |", + "| 2000 | Spawns 10 smoke particles, e.g. from a fire | Direction, see below |", + "| 2001 | Block break + block break sound | |", + "| 2002 | Splash potion. Particle effect + glass break sound. | [Potion ID](http://minecraft.gamepedia.com/Data_values#Potions) |", + "| 2003 | Eye of Ender entity break animation — particles and sound | |", + "| 2004 | Mob spawn particle effect: smoke + flames | |", + "| 2005 | Bonemeal particles | How many particles to spawn (if set to 0, 15 are spawned) |", + "| 2006 | Dragon breath | |", + "| 3000 | End gateway spawn | |", + "| 3001 | Enderdragon growl | |", + "", + "Smoke directions:", + "", + "| ID | Direction |", + "|-----|------------------|", + "| 0 | South-East |", + "| 1 | South |", + "| 2 | South-West |", + "| 3 | East |", + "| 4 | (Up or middle ?) |", + "| 5 | West |", + "| 6 | North-East |", + "| 7 | North |", + "| 8 | North-West |", + "", + "", + "" + ], + "id": "0x21" + }, + "world_particles": { + "before": [ + "Displays the named particle", + "" + ], + "after": [ + "Particle IDs:", + "", + "| Particle Name | Particle ID |", + "|-----------------------------------|-------------|", + "| explode | 0 |", + "| largeexplosion | 1 |", + "| hugeexplosion | 2 |", + "| fireworksSpark | 3 |", + "| bubble | 4 |", + "| splash | 5 |", + "| wake | 6 |", + "| suspended | 7 |", + "| depthsuspend | 8 |", + "| crit | 9 |", + "| magicCrit | 10 |", + "| smoke | 11 |", + "| largesmoke | 12 |", + "| spell | 13 |", + "| instantSpell | 14 |", + "| mobSpell | 15 |", + "| mobSpellAmbient | 16 |", + "| witchMagic | 17 |", + "| dripWater | 18 |", + "| dripLava | 19 |", + "| angryVillager | 20 |", + "| happyVillager | 21 |", + "| townaura | 22 |", + "| note | 23 |", + "| portal | 24 |", + "| enchantmenttable | 25 |", + "| flame | 26 |", + "| lava | 27 |", + "| footstep | 28 |", + "| cloud | 29 |", + "| reddust | 30 |", + "| snowballpoof | 31 |", + "| snowshovel | 32 |", + "| slime | 33 |", + "| heart | 34 |", + "| barrier | 35 |", + "| iconcrack\\_(id)\\_(data) | 36 |", + "| blockcrack\\_(id+(data<<12)) | 37 |", + "| blockdust\\_(id) | 38 |", + "| droplet | 39 |", + "| take | 40 |", + "| mobappearance | 41 |", + "| dragonbreath | 42 |", + "| endrod | 43 |", + "| damageindicator | 44 |", + "| sweepattack | 45 |", + "| fallingdust | 46 |", + "", + "", + "" + ], + "id": "0x22" + }, + "login": { + "before": [ + "See [Protocol Encryption](Protocol_Encryption \"wikilink\") for information on logging in.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x23" + }, + "map": { + "before": [ + "Updates a rectangular area on a item.", + "" + ], + "after": [ + "For icons, a direction of 0 is a vertical icon and increments by 22.5° (360/16).", + "", + "Types are based off of rows and columns in `map_icons.png`:", + "", + "| Icon type | Result |", + "|-----------|------------------------------------------|", + "| 0 | White arrow (players) |", + "| 1 | Green arrow (item frames) |", + "| 2 | Red arrow |", + "| 3 | Blue arrow |", + "| 4 | White cross |", + "| 5 | Red pointer |", + "| 6 | White circle (off-map players) |", + "| 7 | Small white circle (far-off-map players) |", + "| 8 | Mansion |", + "| 9 | Temple |", + "| 10-15 | Unused (blue square) |", + "", + "", + "" + ], + "id": "0x24" + }, + "rel_entity_move": { + "before": [ + "This packet is sent by the server when an entity moves less then 8 blocks; if an entity moves more than 8 blocks [Entity Teleport](#entity_teleport \"wikilink\") ([Play](#play \"wikilink\"), 0x4A, clientbound) should be sent instead.", + "", + "This packet allows at most 8 blocks movement in any direction, because short range is from -32768 to 32767. And `32768 / (128 * 32)` = 8.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x25" + }, + "entity_move_look": { + "before": [ + "This packet is sent by the server when an entity rotates and moves. Since a short range is limited from -32768 to 32767, and movement is offset of fixed-point numbers, this packet allows at most 8 blocks movement in any direction. (`-32768 / (32 * 128) == -8`)", + "" + ], + "after": [ + "", + "" + ], + "id": "0x26" + }, + "entity_look": { + "before": [ + "This packet is sent by the server when an entity rotates.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x27" + }, + "entity": { + "before": [ + "This packet may be used to initialize an entity.", + "", + "For player entities, either this packet or any move/look packet is sent every game tick. So the meaning of this packet is basically that the entity did not move/look since the last such packet.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x28" + }, + "vehicle_move": { + "before": [ + "Note that all fields use absolute positioning and do not allow for relative positioning.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x29" + }, + "open_sign_entity": { + "before": [ + "Sent when the client has placed a sign and is allowed to send [Update Sign](#update_sign \"wikilink\").", + "" + ], + "after": [ + "", + "" + ], + "id": "0x2a" + }, + "abilities": { + "before": [ + "The latter 2 floats are used to indicate the field of view and flying speed respectively, while the first byte is used to determine the value of 4 booleans.", + "" + ], + "after": [ + "About the flags:", + "", + "| Field | Bit |", + "|---------------|------|", + "| Invulnerable | 0x01 |", + "| Flying | 0x02 |", + "| Allow Flying | 0x04 |", + "| Creative Mode | 0x08 |", + "", + "", + "" + ], + "id": "0x2b" + }, + "combat_event": { + "before": [ + "", + "" + ], + "after": [ + "", + "" + ], + "id": "0x2c" + }, + "player_info": { + "before": [ + "Sent by the server to update the user list ( in the client).", + "" + ], + "after": [ + "The Property field looks as in the response of [Mojang API\\#UUID -> Profile + Skin/Cape](Mojang_API#UUID_->_Profile_+_Skin/Cape \"wikilink\"), except of course using the protocol format instead of JSON. That is, each player will usually have one property with Name “textures” and Value being a base64-encoded JSON string as documented at [Mojang API\\#UUID -> Profile + Skin/Cape](Mojang_API#UUID_->_Profile_+_Skin/Cape \"wikilink\"). An empty properties array is also acceptable, and will cause clients to display the player with one of the two default skins depending on UUID.", + "" + ], + "id": "0x2d" + }, + "position": { + "before": [ + "Updates the player's position on the server. This packet will also close the “Downloading Terrain” screen when joining/respawning.", + "", + "If the distance between the last known position of the player on the server and the new position set by this packet is greater than 100 meters, the client will be kicked for “You moved too quickly :( (Hacking?)”.", + "", + "Also if the fixed-point number of X or Z is set greater than `3.2E7D` the client will be kicked for “Illegal position”.", + "", + "Yaw is measured in degrees, and does not follow classical trigonometry rules. The unit circle of yaw on the XZ-plane starts at (0, 1) and turns counterclockwise, with 90 at (-1, 0), 180 at (0, -1) and 270 at (1, 0). Additionally, yaw is not clamped to between 0 and 360 degrees; any number is valid, including negative numbers and numbers greater than 360.", + "", + "Pitch is measured in degrees, where 0 is looking straight ahead, -90 is looking straight up, and 90 is looking straight down.", + "" + ], + "after": [ + "About the Flags field:", + "", + "` It's a bitfield, X/Y/Z/Y_ROT/X_ROT. If X is set, the x value is relative and not absolute.`", + "", + "| Field | Bit |", + "|--------|------|", + "| X | 0x01 |", + "| Y | 0x02 |", + "| Z | 0x04 |", + "| Y\\_ROT | 0x08 |", + "| X\\_ROT | 0x10 |", + "", + "", + "" + ], + "id": "0x2e" + }, + "bed": { + "before": [ + "This packet tells that a player goes to bed.", + "", + "The client with the matching Entity ID will go into bed mode.", + "", + "This Packet is sent to all nearby players including the one sent to bed.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x2f" + }, + "entity_destroy": { + "before": [ + "Sent by the server when a list of entities is to be destroyed on the client.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x30" + }, + "remove_entity_effect": { + "before": [ + "", + "" + ], + "after": [ + "", + "" + ], + "id": "0x31" + }, + "resource_pack_send": { + "before": [ + "", + "" + ], + "after": [ + "", + "" + ], + "id": "0x32" + }, + "respawn": { + "before": [ + "To change the player's dimension (overworld/nether/end), send them a respawn packet with the appropriate dimension, followed by prechunks/chunks for the new dimension, and finally a position and look packet. You do not need to unload chunks, the client will do it automatically.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x33" + }, + "entity_head_rotation": { + "before": [ + "Changes the direction an entity's head is facing.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x34" + }, + "world_border": { + "before": [ + "", + "" + ], + "after": [ + "The Notchian client determines how solid to display the warning by comparing to whichever is higher, the warning distance or whichever is lower, the distance from the current diameter to the target diameter or the place the border will be after warningTime seconds. In pseudocode:", + "", + "``` java", + "distance = max(min(resizeSpeed * 1000 * warningTime, abs(targetDiameter - currentDiameter)), warningDistance);", + "if (playerDistance < distance) {", + " warning = 1.0 - playerDistance / distance;", + "} else {", + " warning = 0.0;", + "}", + "```", + "" + ], + "id": "0x35" + }, + "camera": { + "before": [ + "Sets the entity that the player renders from. This is normally used when the player left-clicks an entity while in spectator mode.", + "", + "The player's camera will move with the entity and look where it is looking. The entity is often another player, but can be any type of entity. The player is unable to move this entity (move packets will act as if they are coming from the other entity).", + "", + "If the given entity is not loaded by the player, this packet is ignored. To return control to the player, send this packet with their entity ID.", + "", + "The Notchian server resets this (sends it back to the default entity) whenever the spectated entity is killed or the player sneaks, but only if they were spectating an entity. It also sends this packet whenever the player switches out of spectator mode (even if they weren't spectating an entity).", + "" + ], + "after": [ + "The notchian also loads certain shaders for given entities:", + "", + "- Creeper → `shaders/post/creeper.json`", + "- Spider (and cave spider) → `shaders/post/spider.json`", + "- Enderman → `shaders/post/invert.json`", + "- Anything else → the current shader is unloaded", + "", + "" + ], + "id": "0x36" + }, + "held_item_slot": { + "before": [ + "Sent to change the player's slot selection.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x37" + }, + "scoreboard_display_objective": { + "before": [ + "This is sent to the client when it should display a scoreboard.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x38" + }, + "entity_metadata": { + "before": [ + "Updates one or more [metadata](Entities#Entity_Metadata_Format \"wikilink\") properties for an existing entity. Any properties not included in the Metadata field are left unchanged.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x39" + }, + "attach_entity": { + "before": [ + "This packet is sent when an entity has been to another entity.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x3a" + }, + "entity_velocity": { + "before": [ + "Velocity is believed to be in units of 1/8000 of a block per server tick (50ms); for example, -1343 would move (-1343 / 8000) = −0.167875 blocks per tick (or −3,3575 blocks per second).", + "" + ], + "after": [ + "", + "" + ], + "id": "0x3b" + }, + "entity_equipment": { + "before": [ + "", + "" + ], + "after": [ + "", + "" + ], + "id": "0x3c" + }, + "experience": { + "before": [ + "Sent by the server when the client should change experience levels.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x3d" + }, + "update_health": { + "before": [ + "Sent by the server to update/set the health of the player it is sent to.", + "", + "Food acts as a food “overcharge”. Food values will not decrease while the saturation is over zero. Players logging in automatically get a saturation of 5.0. Eating food increases the saturation as well as the food bar.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x3e" + }, + "scoreboard_objective": { + "before": [ + "This is sent to the client when it should create a new objective or remove one.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x3f" + }, + "set_passengers": { + "before": [ + "", + "" + ], + "after": [ + "", + "" + ], + "id": "0x40" + }, + "teams": { + "before": [ + "Creates and updates teams.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x41" + }, + "scoreboard_score": { + "before": [ + "This is sent to the client when it should update a scoreboard item.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x42" + }, + "spawn_position": { + "before": [ + "Sent by the server after login to specify the coordinates of the spawn point (the point at which players spawn at, and which the compass points to). It can be sent at any time to update the point compasses point at.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x43" + }, + "update_time": { + "before": [ + "Time is based on ticks, where 20 ticks happen every second. There are 24000 ticks in a day, making Minecraft days exactly 20 minutes long.", + "", + "The time of day is based on the timestamp modulo 24000. 0 is sunrise, 6000 is noon, 12000 is sunset, and 18000 is midnight.", + "", + "The default SMP server increments the time by `20` every second.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x44" + }, + "title": { + "before": [ + "", + "" + ], + "after": [ + "“Hide” makes the title disappear, but if you run times again the same title will appear. “Reset” erases the text.", + "", + "The title is visible on screen for Fade In + Stay + Fade Out ticks.", + "" + ], + "id": "0x45" + }, + "sound_effect": { + "before": [ + "This packet is used to play a number of hardcoded sound events. For custom sounds, use [Named Sound Effect](#named_sound_effect \"wikilink\") ([Play](#play \"wikilink\"), 0x19, clientbound).", + "" + ], + "after": [ + "", + "" + ], + "id": "0x46" + }, + "playerlist_header": { + "before": [ + "This packet may be used by custom servers to display additional information above/below the player list. It is never sent by the Notchian server.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x47" + }, + "collect": { + "before": [ + "Sent by the server when someone picks up an item lying on the ground — its sole purpose appears to be the animation of the item flying towards you. It doesn't destroy the entity in the client memory, and it doesn't add it to your inventory. The server only checks for items to be picked up after each [Player Position](#player_position \"wikilink\") (and [Player Position And Look](#player_position_and_look \"wikilink\")) packet sent by the client.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x48" + }, + "entity_teleport": { + "before": [ + "This packet is sent by the server when an entity moves more than 4 blocks.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x49" + }, + "entity_update_attributes": { + "before": [ + "Sets on the given entity.", + "" + ], + "after": [ + "Known Key values (see also ):", + "", + "| Key | Default | Min | Max | Label |", + "|-----------------------------|-------------------|-----|--------|-----------------------------|", + "| generic.maxHealth | 20.0 | 0.0 | 1024.0 | Max Health |", + "| generic.followRange | 32.0 | 0.0 | 2048.0 | Follow Range |", + "| generic.knockbackResistance | 0.0 | 0.0 | 1.0 | Knockback Resistance |", + "| generic.movementSpeed | 0.699999988079071 | 0.0 | 1024.0 | Movement Speed |", + "| generic.attackDamage | 2.0 | 0.0 | 2048.0 | Attack Damage |", + "| generic.attackSpeed | 4.0 | 0.0 | 1024.0 | Attack Speed |", + "| horse.jumpStrength | 0.7 | 0.0 | 2.0 | Jump Strength |", + "| zombie.spawnReinforcements | 0.0 | 0.0 | 1.0 | Spawn Reinforcements Chance |", + "", + "*Modifier Data* structure:", + "", + "| Field Name | Field Type | Notes |", + "|------------|------------|-----------------------------|", + "| UUID | UUID | |", + "| Amount | Double | May be positive or negative |", + "| Operation | Byte | See below |", + "", + "The operation controls how the base value of the modifier is changed.", + "", + "- 0: Add/subtract amount", + "- 1: Add/subtract amount percent of the current value", + "- 2: Multiply by amount percent", + "", + "All of the 0's are applied first, and then the 1's, and then the 2's.", + "" + ], + "id": "0x4a" + }, + "entity_effect": { + "before": [ + "", + "" + ], + "after": [ + "Within flags:", + "", + "- 0x01: Is ambient - was the effect spawned from a beacon? All beacon-generated effects are ambient. Ambient effects use a different icon in the HUD (blue border rather than gray). If all effects on an entity are ambient, the [“Is potion effect ambient” living metadata field](Entities#Living \"wikilink\") should be set to true. Usually should not be enabled.", + "- 0x02: Show particles - should all particles from this effect be hidden? Effects with particles hidden are not included in the calculation of the effect color, and are not rendered on the HUD (but are still rendered within the inventory). Usually should be enabled.", + "", + "" + ], + "id": "0x4b" + }, + "spawn_entity_painting": { + "before": [ + "This packet shows location, name, and type of painting.", + "" + ], + "after": [ + "Calculating the center of an image: given a (width × height) grid of cells, with `(0, 0)` being the top left corner, the center is `(max(0, width / 2 - 1), height / 2)`. E.g. `(1, 0)` for a 2×1 painting, or `(1, 2)` for a 4×4 painting.", + "", + "List of paintings by coordinates in `paintings_kristoffer_zetterstrand.png` (where x and y are in pixels from the top left and width and height are in pixels or 16ths of a block):", + "", + "| Name | x | y | width | height |", + "|-----------------|-----|-----|-------|--------|", + "| `Kebab` | 0 | 0 | 16 | 16 |", + "| `Aztec` | 16 | 0 | 16 | 16 |", + "| `Alban` | 32 | 0 | 16 | 16 |", + "| `Aztec2` | 48 | 0 | 16 | 16 |", + "| `Bomb` | 64 | 0 | 16 | 16 |", + "| `Plant` | 80 | 0 | 16 | 16 |", + "| `Wasteland` | 96 | 0 | 16 | 16 |", + "| `Pool` | 0 | 32 | 32 | 16 |", + "| `Courbet` | 32 | 32 | 32 | 16 |", + "| `Sea` | 64 | 32 | 32 | 16 |", + "| `Sunset` | 96 | 32 | 32 | 16 |", + "| `Creebet` | 128 | 32 | 32 | 16 |", + "| `Wanderer` | 0 | 64 | 16 | 32 |", + "| `Graham` | 16 | 64 | 16 | 32 |", + "| `Match` | 0 | 128 | 32 | 32 |", + "| `Bust` | 32 | 128 | 32 | 32 |", + "| `Stage` | 64 | 128 | 32 | 32 |", + "| `Void` | 96 | 128 | 32 | 32 |", + "| `SkullAndRoses` | 128 | 128 | 32 | 32 |", + "| `Wither` | 160 | 128 | 32 | 32 |", + "| `Fighters` | 0 | 96 | 64 | 32 |", + "| `Pointer` | 0 | 192 | 64 | 64 |", + "| `Pigscene` | 64 | 192 | 64 | 64 |", + "| `BurningSkull` | 128 | 192 | 64 | 64 |", + "| `Skeleton` | 192 | 64 | 64 | 48 |", + "| `DonkeyKong` | 192 | 112 | 64 | 48 |", + "", + "The also provides a list of painting names to the actual images.", + "" + ], + "id": "0x04" + }, + "spawn_entity": { + "before": [ + "Sent by the server when a vehicle or other object is created.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x00" + }, + "spawn_entity_experience_orb": { + "before": [ + "Spawns one or more experience orbs.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x01" + }, + "animation": { + "before": [ + "Sent whenever an entity should change animation.", + "" + ], + "after": [ + "Animation can be one of the following values:", + "", + "| ID | Animation |", + "|-----|-----------------------|", + "| 0 | Swing main arm |", + "| 1 | Take damage |", + "| 2 | Leave bed |", + "| 3 | Swing offhand |", + "| 4 | Critical effect |", + "| 5 | Magic critical effect |", + "", + "", + "" + ], + "id": "0x06" + }, + "statistics": { + "before": [ + "", + "" + ], + "after": [ + "", + "" + ], + "id": "0x07" + }, + "boss_bar": { + "before": [ + "", + "" + ], + "after": [ + "| ID | Color |", + "|-----|--------|", + "| 0 | Pink |", + "| 1 | Blue |", + "| 2 | Red |", + "| 3 | Green |", + "| 4 | Yellow |", + "| 5 | Purple |", + "| 6 | White |", + "", + "| ID | Type of division |", + "|-----|------------------|", + "| 0 | No division |", + "| 1 | 6 notches |", + "| 2 | 10 notches |", + "| 3 | 12 notches |", + "| 4 | 20 notches |", + "", + "", + "" + ], + "id": "0x0c" + }, + "spawn_entity_weather": { + "before": [ + "With this packet, the server notifies the client of thunderbolts striking within a 512 block radius around the player. The coordinates specify where exactly the thunderbolt strikes.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x02" + }, + "block_action": { + "before": [ + "This packet is used for a number of actions and animations performed by blocks, usually non-persistent.", + "", + "See [Block Actions](Block_Actions \"wikilink\") for a list of values.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x0a" + }, + "block_change": { + "before": [ + "Fired whenever a block is changed within the render distance.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x0b" + }, + "named_entity_spawn": { + "before": [ + "This packet is sent by the server when a player comes into visible range, *not* when a player joins.", + "", + "This packet must be sent after the [Player List Item](#player_list_item \"wikilink\") ([Play](#play \"wikilink\"), 0x38, clientbound) packet that adds the player data for the client to use when spawning a player. If the Player List Item for the player spawned by this packet is not present when this packet arrives, Notchian clients will not spawn the player entity. The Player List Item packet includes skin/cape data.", + "", + "Servers can, however, safely spawn player entities for players not in visible range. The client appears to handle it correctly.", + "" + ], + "after": [ + "When in , the UUIDs must be valid and have valid skin blobs.", + "", + "In offline mode, [UUID v3](Wikipedia:Universally_unique_identifier#Versions_3_and_5_(namespace_name-based) \"wikilink\") is used with the String `OfflinePlayer:`, encoded in UTF-8 (and case-sensitive).", + "", + "For NPCs UUID v2 should be used. Note:", + "", + "`<+Grum> i will never confirm this as a feature you know that :)`", + "", + "In an example UUID, `xxxxxxxx-xxxx-Yxxx-xxxx-xxxxxxxxxxxx`, the UUID version is specified by `Y`. So, for UUID v3, `Y` will always be `3`, and for UUID v2, `Y` will always be `2`.", + "" + ], + "id": "0x05" + }, + "spawn_entity_living": { + "before": [ + "Sent by the server when a mob entity is spawned.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x03" + } + }, + "toServer": { + "teleport_confirm": { + "before": [ + "Sent by client as confirmation of [Player Position And Look](#player_position_and_look \"wikilink\") ([Play](#play \"wikilink\"), 0x2E, clientbound).", + "" + ], + "after": [ + "", + "" + ], + "id": "0x00" + }, + "tab_complete": { + "before": [ + "Sent when the user presses *tab* while writing text.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x01" + }, + "chat": { + "before": [ + "Used to send a chat message to the server. The message may not be longer than 256 characters or else the server will kick the client.", + "", + "If the message starts with a `/`, the server will attempt to interpret it as a command. Otherwise, the server will broadcast the same chat message to all players on the server (including the player that sent the message), prepended with player's name. Specifically, it will respond with a translate [chat](chat \"wikilink\") component, “`chat.type.text`” with the first parameter set to the display name of the player (including some chat component logic to support clicking the name to send a PM) and the second parameter set to the message.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x02" + }, + "client_command": { + "before": [ + "Sent when the client is ready to complete login and when the client is ready to respawn after death.", + "" + ], + "after": [ + "*Action ID* values:", + "", + "| Action ID | Action |", + "|-----------|-----------------|", + "| 0 | Perform respawn |", + "| 1 | Request stats |", + "| 2 | Open inventory |", + "", + "", + "" + ], + "id": "0x03" + }, + "settings": { + "before": [ + "Sent when the player connects, or when settings are changed.", + "" + ], + "after": [ + "*Displayed Skin Parts* flags:", + "", + "- Bit 0 (0x01): Cape enabled", + "- Bit 1 (0x02): Jacket enabled", + "- Bit 2 (0x04): Left Sleeve enabled", + "- Bit 3 (0x08): Right Sleeve enabled", + "- Bit 4 (0x10): Left Pants Leg enabled", + "- Bit 5 (0x20): Right Pants Leg enabled", + "- Bit 6 (0x40): Hat enabled", + "", + "The most significant bit (bit 7, 0x80) appears to be unused.", + "" + ], + "id": "0x04" + }, + "transaction": { + "before": [ + "If a transaction sent by the client was not accepted, the server will reply with a [Confirm Transaction (clientbound)](#confirm_transaction \"wikilink\") packet with the Accepted field set to false. When this happens, the client must send this packet to apologize (as with movement), otherwise the server ignores any successive transactions.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x05" + }, + "enchant_item": { + "before": [ + "", + "" + ], + "after": [ + "", + "" + ], + "id": "0x06" + }, + "window_click": { + "before": [ + "This packet is sent by the player when it clicks on a slot in a window.", + "" + ], + "after": [ + "See [Inventory](Inventory \"wikilink\") for further information about how slots are indexed.", + "", + "When right-clicking on a stack of items, half the stack will be picked up and half left in the slot. If the stack is an odd number, the half left in the slot will be smaller of the amounts.", + "", + "The distinct type of click performed by the client is determined by the combination of the Mode and Button fields.", + "", + "| Mode | Button | Slot | Trigger |", + "|------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------|", + "| 0 | 0 | Normal | Left mouse click |", + "| 1 | Normal | Right mouse click |", + "| 1 | 0 | Normal | Shift + left mouse click |", + "| 1 | Normal | Shift + right mouse click *(identical behavior)* |", + "| 2 | 0 | Normal | Number key 1 |", + "| 1 | Normal | Number key 2 |", + "| 2 | Normal | Number key 3 |", + "| ⋮ | ⋮ | ⋮ |", + "| 8 | Normal | Number key 9 |", + "| 3 | 2 | Normal | Middle click, only defined for creative players in non-player inventories. |", + "| 4 | 0 | Normal\\* | Drop key (Q) (\\* Clicked item is different, see above) |", + "| 1 | Normal\\* | Ctrl + Drop key (Ctrl-Q) *(drops full stack)* |", + "| 0 | -999 | Left click outside inventory holding nothing *(no-op)* |", + "| 1 | -999 | Right click outside inventory holding nothing *(no-op)* |", + "| 5 | 0 | -999 | Starting left mouse drag |", + "| 4 | -999 | Starting right mouse drag |", + "| 8 | -999 | Starting middle mouse drag, only defined for creative players in non-player inventories. (Note: the vanilla client will still incorrectly send this for non-creative players - see [MC-46584](https://bugs.mojang.com/browse/MC-46584)) |", + "| 1 | Normal | Add slot for left-mouse drag |", + "| 5 | Normal | Add slot for right-mouse drag |", + "| 9 | Normal | Add slot for middle-mouse drag, only defined for creative players in non-player inventories. (Note: the vanilla client will still incorrectly send this for non-creative players - see [MC-46584](https://bugs.mojang.com/browse/MC-46584)) |", + "| 2 | -999 | Ending left mouse drag |", + "| 6 | -999 | Ending right mouse drag |", + "| 10 | -999 | Ending middle mouse drag, only defined for creative players in non-player inventories. (Note: the vanilla client will still incorrectly send this for non-creative players - see [MC-46584](https://bugs.mojang.com/browse/MC-46584)) |", + "| 6 | 0 | Normal | Double click |", + "", + "Starting from version 1.5, “painting mode” is available for use in inventory windows. It is done by picking up stack of something (more than 1 item), then holding mouse button (left, right or middle) and dragging held stack over empty (or same type in case of right button) slots. In that case client sends the following to server after mouse button release (omitting first pickup packet which is sent as usual):", + "", + "1. packet with mode 5, slot -999, button (0 for left | 4 for right);", + "2. packet for every slot painted on, mode is still 5, button (1 | 5);", + "3. packet with mode 5, slot -999, button (2 | 6);", + "", + "If any of the painting packets other than the “progress” ones are sent out of order (for example, a start, some slots, then another start; or a left-click in the middle) the painting status will be reset.", + "", + "The server will send back a [Confirm Transaction](#confirm_transaction \"wikilink\") packet. If the click was not accepted, the client must send a matching [serverbound confirm transaction](#confirm_transaction \"wikilink\") packet before sending more [Click Window](#click_window \"wikilink\") packets, otherwise the server will reject them silently. The Notchian server also sends a [Window Items](#window_items \"wikilink\") packet for the open window and [Set Slot](#set_slot \"wikilink\") packets for the clicked and cursor slot, but only when the click was not accepted, probably to resynchronize client and server.", + "" + ], + "id": "0x07" + }, + "close_window": { + "before": [ + "This packet is sent by the client when closing a window.", + "", + "Notchian clients send a Close Window packet with Window ID 0 to close their inventory even though there is never an [Open Window](#open_window \"wikilink\") packet for the inventory.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x08" + }, + "custom_payload": { + "before": [ + "Mods and plugins can use this to send their data. Minecraft itself uses a number of [plugin channels](plugin_channel \"wikilink\"). These internal channels are prefixed with `MC|`.", + "", + "More documentation on this: [](http://dinnerbone.com/blog/2012/01/13/minecraft-plugin-channels-messaging/)", + "", + "Note that the length of Data is known only from the packet length, since the packet has no length field of any kind.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x09" + }, + "use_entity": { + "before": [ + "This packet is sent from the client to the server when the client attacks or right-clicks another entity (a player, minecart, etc).", + "", + "A Notchian server only accepts this packet if the entity being attacked/used is visible without obstruction and within a 4-unit radius of the player's position.", + "", + "Note that middle-click in creative mode is interpreted by the client and sent as a [Creative Inventory Action](#creative_inventory_action \"wikilink\") packet instead.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x0a" + }, + "keep_alive": { + "before": [ + "The server will frequently send out a keep-alive, each containing a random ID. The client must respond with the same packet.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x0b" + }, + "position": { + "before": [ + "Updates the player's XYZ position on the server.", + "", + "Checking for moving too fast is achieved like this:", + "", + "- Each server tick, the player's current position is stored", + "- When a player moves, the changes in x, y, and z coordinates are compared with the positions from the previous tick (Δx, Δy, Δz)", + "- Total movement distance squared is computed as Δx² + Δy² + Δz²", + "- The expected movement distance squared is computed as velocityX² + veloctyY² + velocityZ²", + "- If the total movement distance squared value minus the expected movement distance squared value is more than 100 (300 if the player is using an elytra), they are moving too fast.", + "", + "If the player is moving too fast, it will be logged that \" moved too quickly! \" followed by the change in x, y, and z, and the player will be teleported back to their current (before this packet) serverside position.", + "", + "Also, if the absolute value of X or the absolute value of Z is a value greater than 3.2×107, or X, Y, or Z are not finite (either positive infinity, negative infinity, or NaN), the client will be kicked for “Invalid move player packet received”.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x0c" + }, + "position_look": { + "before": [ + "A combination of [Player Look](#player_look \"wikilink\") and [Player Position](#player_position \"wikilink\").", + "" + ], + "after": [ + "", + "" + ], + "id": "0x0d" + }, + "look": { + "before": [ + "![The unit circle for yaw](Minecraft-trig-yaw.png \"fig:The unit circle for yaw\") ![The unit circle of yaw, redrawn](Yaw.png \"fig:The unit circle of yaw, redrawn\")", + "", + "Updates the direction the player is looking in.", + "", + "Yaw is measured in degrees, and does not follow classical trigonometry rules. The unit circle of yaw on the XZ-plane starts at (0, 1) and turns counterclockwise, with 90 at (-1, 0), 180 at (0,-1) and 270 at (1, 0). Additionally, yaw is not clamped to between 0 and 360 degrees; any number is valid, including negative numbers and numbers greater than 360.", + "", + "Pitch is measured in degrees, where 0 is looking straight ahead, -90 is looking straight up, and 90 is looking straight down.", + "", + "The yaw and pitch of player (in degrees), standing at point (x0, y0, z0) and looking towards point (x, y, z) can be calculated with:", + "", + "`dx = x-x0`", + "`dy = y-y0`", + "`dz = z-z0`", + "`r = sqrt( dx*dx + dy*dy + dz*dz )`", + "`yaw = -atan2(dx,dz)/PI*180`", + "`if yaw < 0 then`", + "`    yaw = 360 - yaw`", + "`pitch = -arcsin(dy/r)/PI*180`", + "", + "You can get a unit vector from a given yaw/pitch via:", + "", + "`x = -cos(pitch) * sin(yaw)`", + "`y = -sin(pitch)`", + "`z =  cos(pitch) * cos(yaw)`", + "" + ], + "after": [ + "", + "" + ], + "id": "0x0e" + }, + "flying": { + "before": [ + "This packet as well as [Player Position](#player_position \"wikilink\") ([Play](#play \"wikilink\"), 0x04, serverbound), [Player Look](#player_look \"wikilink\") ([Play](#play \"wikilink\"), 0x05, serverbound), and [Player Position And Look](#player_position_and_look_2 \"wikilink\") ([Play](#play \"wikilink\"), 0x06, serverbound) are called the “serverbound movement packets”. At least one of them must be sent on each tick to ensure that servers will update things like player health correctly. Vanilla clients will send Player Position once every 20 ticks even for a stationary player, and Player on every other tick.", + "", + "This packet is used to indicate whether the player is on ground (walking/swimming), or airborne (jumping/falling).", + "", + "When dropping from sufficient height, fall damage is applied when this state goes from false to true. The amount of damage applied is based on the point where it last changed from true to false. Note that there are several movement related packets containing this state.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x0f" + }, + "vehicle_move": { + "before": [ + "Sent when a player moves in a vehicle. Fields are the same as in [Player Position And Look](#player_position_and_look \"wikilink\") ([Play](#play \"wikilink\"), 0x2E, serverbound). Note that all fields use absolute positioning and do not allow for relative positioning.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x10" + }, + "steer_boat": { + "before": [ + "Used to *visually* update whether boat paddles are turning. The server will update the [Boat entity metadata](Entities#Boat \"wikilink\") to match the values here.", + "" + ], + "after": [ + "Right paddle turning is set to true when the left button or forward button is held; left paddle turning is set to true when the right button or forward button is set to true.", + "" + ], + "id": "0x11" + }, + "abilities": { + "before": [ + "The latter 2 bytes are used to indicate the walking and flying speeds respectively, while the first byte is used to determine the value of 4 booleans.", + "", + "The vanilla client sends this packet when the player starts/stops flying with the Flags parameter changed accordingly. All other parameters are ignored by the vanilla server.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x12" + }, + "block_dig": { + "before": [ + "Sent when the player mines a block. A Notchian server only accepts digging packets with coordinates within a 6-unit radius between the center of the block and 1.5 units from the player's feet (*not* their eyes).", + "" + ], + "after": [ + "Status can be one of seven values:", + "", + "| Value | Meaning | Notes |", + "|-------|-----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|", + "| 0 | Started digging | |", + "| 1 | Cancelled digging | Sent when the player lets go of the Mine Block key (default: left click) |", + "| 2 | Finished digging | Sent when the client thinks it is finished |", + "| 3 | Drop item stack | Triggered by using the Drop Item key (default: Q) with the modifier to drop the entire selected stack (default: depends on OS). Location is always set to 0/0/0, Face is always set to -Y. |", + "| 4 | Drop item | Triggered by using the Drop Item key (default: Q). Location is always set to 0/0/0, Face is always set to -Y. |", + "| 5 | Shoot arrow / finish eating | Location is always set to 0/0/0, Face is always set to Special. |", + "| 6 | Swap item in hand | Used to swap or assign an item to the second hand. Location is always set to 0/0/0, Face is always set to -Y. |", + "", + "The Face field can be one of the following values, representing the face being hit (or the Special value used for “shoot arrow / finish eating”):", + "", + "| Value | Offset | Face |", + "|-------|--------|---------|", + "| 0 | -Y | Bottom |", + "| 1 | +Y | Top |", + "| 2 | -Z | North |", + "| 3 | +Z | South |", + "| 4 | -X | West |", + "| 5 | +X | East |", + "| 255 | — | Special |", + "", + "", + "" + ], + "id": "0x13" + }, + "entity_action": { + "before": [ + "Sent by the client to indicate that it has performed certain actions: sneaking (crouching), sprinting, exiting a bed, jumping with a horse, and opening a horse's inventory while riding it.", + "" + ], + "after": [ + "Action ID can be one of the following values:", + "", + "| ID | Action |", + "|-----|--------------------------|", + "| 0 | Start sneaking |", + "| 1 | Stop sneaking |", + "| 2 | Leave bed |", + "| 3 | Start sprinting |", + "| 4 | Stop sprinting |", + "| 5 | Start jump with horse |", + "| 6 | Stop jump with horse |", + "| 7 | Open horse inventory |", + "| 8 | Start flying with elytra |", + "", + "Leave bed is only sent when the “Leave Bed” button is clicked on the sleep GUI, not when waking up due today time.", + "", + "Open horse inventory is only sent when pressing the inventory key (default: E) while on a horse — all other methods of opening a horse's inventory (involving right-clicking or shift-right-clicking it) do not use this packet.", + "", + "“Open inventory” is now sent via the [Client Status](#client_status \"wikilink\") ([Play](#play \"wikilink\"), 0x03, serverbound) packet.", + "" + ], + "id": "0x14" + }, + "resource_pack_receive": { + "before": [ + "", + "" + ], + "after": [ + "", + "" + ], + "id": "0x16" + }, + "held_item_slot": { + "before": [ + "Sent when the player changes the slot selection", + "" + ], + "after": [ + "", + "" + ], + "id": "0x17" + }, + "spectate": { + "before": [ + "Teleports the player to the given entity. The player must be in spectator mode.", + "", + "The Notchian client only uses this to teleport to players, but it appears to accept any type of entity. The entity does not need to be in the same dimension as the player; if necessary, the player will be respawned in the right world. If the given entity cannot be found (or isn't loaded), this packet will be ignored. It will also be ignored if the player attempts to teleport to themselves.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x1b" + }, + "use_item": { + "before": [ + "Sent when pressing the Use Item key (default: right click) with an item in hand.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x1d" + }, + "update_sign": { + "before": [ + "This message is sent from the client to the server when the “Done” button is pushed after placing a sign.", + "", + "The server only accepts this packet after [Open Sign Editor](#open_sign_editor \"wikilink\") ([Play](#play \"wikilink\"), 0x2A, clientbound), otherwise this packet is silently ignored.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x19" + }, + "set_creative_slot": { + "before": [ + "While the user is in the standard inventory (i.e., not a crafting bench) in Creative mode, the player will send this packet.", + "", + "Clicking in the creative inventory menu is quite different from non-creative inventory management. Picking up an item with the mouse actually deletes the item from the server, and placing an item into a slot or dropping it out of the inventory actually tells the server to create the item from scratch. (This can be verified by clicking an item that you don't mind deleting, then severing the connection to the server; the item will be nowhere to be found when you log back in.) As a result of this implementation strategy, the “Destroy Item” slot is just a client-side implementation detail that means “I don't intend to recreate this item.”. Additionally, the long listings of items (by category, etc.) are a client-side interface for choosing which item to create. Picking up an item from such listings sends no packets to the server; only when you put it somewhere does it tell the server to create the item in that location.", + "", + "This action can be described as “set inventory slot”. Picking up an item sets the slot to item ID -1. Placing an item into an inventory slot sets the slot to the specified item. Dropping an item (by clicking outside the window) effectively sets slot -1 to the specified item, which causes the server to spawn the item entity, etc.. All other inventory slots are numbered the same as the non-creative inventory (including slots for the 2x2 crafting menu, even though they aren't visible in the vanilla client).", + "" + ], + "after": [ + "", + "" + ], + "id": "0x18" + }, + "steer_vehicle": { + "before": [ + "", + "" + ], + "after": [ + "Also known as 'Input' packet.", + "" + ], + "id": "0x15" + }, + "arm_animation": { + "before": [ + "Sent when the player's arm swings.", + "" + ], + "after": [ + "", + "" + ], + "id": "0x1a" + }, + "block_place": { + "before": [ + "", + "" + ], + "after": [ + "In normal operation (i.e. placing a block), this packet is sent once, with the values set normally.", + "", + "The Cursor Position X/Y/Z fields (also known as in-block coordinates) are calculated using raytracing. The unit corresponds to sixteen pixel in the default resource pack. For example, let's say a slab is being placed against the south face of a full block. The Cursor Position X will be higher if the player was pointing near the right (east) edge of the face, lower if pointing near the left. The Cursor Position Y will be used to determine whether it will appear as a bottom slab (values 0.0–0.5) or as a top slab (values 0.5-1.0). The Cursor Position Z should be 1.0 since the player was looking at the southernmost part of the block.", + "", + "This packet has a special case where X, Y, Z, and Face are all -1. (Note that Y is unsigned so set to 255.) This special packet indicates that the currently held item for the player should have its state updated such as eating food, pulling back bows, using buckets, etc.", + "", + "Special note on using buckets: When using buckets, the Notchian client might send two packets: first a normal and then a special case. The first normal packet is sent when you're looking at a block (e.g. the water you want to scoop up). This normal packet does not appear to do anything with a Notchian server. The second, special case packet appears to perform the action — based on current position/orientation and with a distance check — it appears that buckets can only be used within a radius of 6 units.", + "" + ], + "id": "0x1c" + } + } + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11.2/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11.2/version.json new file mode 100644 index 00000000..6013284f --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11.2/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.11.2", + "version":316, + "majorVersion": "1.11" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/biomes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/biomes.json new file mode 100644 index 00000000..21388635 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/biomes.json @@ -0,0 +1,282 @@ +[ + { + "id": 0, + "color": 112, + "name": "Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 1, + "color": 9286496, + "name": "Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 2, + "color": 16421912, + "name": "Desert", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 3, + "color": 6316128, + "name": "Extreme Hills", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 4, + "color": 353825, + "name": "Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 5, + "color": 747097, + "name": "Taiga", + "rainfall": 0.8, + "temperature": 0.05 + }, + { + "id": 6, + "color": 522674, + "name": "Swampland", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 7, + "color": 255, + "name": "River", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 8, + "color": 16711680, + "name": "Hell", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 9, + "color": 8421631, + "name": "The End", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 10, + "color": 9474208, + "name": "FrozenOcean", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 11, + "color": 10526975, + "name": "FrozenRiver", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 12, + "color": 16777215, + "name": "Ice Plains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 13, + "color": 10526880, + "name": "Ice Mountains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 14, + "color": 16711935, + "name": "MushroomIsland", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 15, + "color": 10486015, + "name": "MushroomIslandShore", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 16, + "color": 16440917, + "name": "Beach", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 17, + "color": 13786898, + "name": "DesertHills", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 18, + "color": 2250012, + "name": "ForestHills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 19, + "color": 1456435, + "name": "TaigaHills", + "rainfall": 0.7, + "temperature": 0.2 + }, + { + "id": 20, + "color": 7501978, + "name": "Extreme Hills Edge", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 21, + "color": 5470985, + "name": "Jungle", + "rainfall": 0.9, + "temperature": 1.2 + }, + { + "id": 22, + "color": 2900485, + "name": "JungleHills", + "rainfall": 0.9, + "temperature": 1.2 + }, + { + "id": 23, + "color": 6458135, + "name": "JungleEdge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 24, + "color": 48, + "name": "Deep Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 25, + "color": 10658436, + "name": "Stone Beach", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 26, + "color": 16445632, + "name": "Cold Beach", + "rainfall": 0.3, + "temperature": 0.05 + }, + { + "id": 27, + "color": 3175492, + "name": "Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 28, + "color": 2055986, + "name": "Birch Forest Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 29, + "color": 4215066, + "name": "Roofed Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 30, + "color": 3233098, + "name": "Cold Taiga", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 31, + "color": 2375478, + "name": "Cold Taiga Hills", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 32, + "color": 5858897, + "name": "Mega Taiga", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 33, + "color": 4542270, + "name": "Mega Taiga Hills", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 34, + "color": 5271632, + "name": "Extreme Hills+", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 35, + "color": 12431967, + "name": "Savanna", + "rainfall": 0, + "temperature": 1.2 + }, + { + "id": 36, + "color": 10984804, + "name": "Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 37, + "color": 14238997, + "name": "Mesa", + "rainfall": 0.5, + "temperature": 2.0 + }, + { + "id": 38, + "color": 11573093, + "name": "Mesa Plateau F", + "rainfall": 0.5, + "temperature": 2.0 + }, + { + "id": 39, + "color": 13274213, + "name": "Redwood Taiga Hills M", + "rainfall": 0.5, + "temperature": 2.0 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/blockCollisionShapes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/blockCollisionShapes.json new file mode 100644 index 00000000..840d5d39 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/blockCollisionShapes.json @@ -0,0 +1,316 @@ +{"blocks":{"air":0, +"stone":1, +"grass":1, +"dirt":1, +"cobblestone":1, +"planks":1, +"sapling":0, +"bedrock":1, +"flowing_water":0, +"water":0, +"flowing_lava":0, +"lava":0, +"sand":1, +"gravel":1, +"gold_ore":1, +"iron_ore":1, +"coal_ore":1, +"log":1, +"leaves":1, +"sponge":1, +"glass":1, +"lapis_ore":1, +"lapis_block":1, +"dispenser":1, +"sandstone":1, +"noteblock":1, +"bed":2, +"golden_rail":0, +"detector_rail":0, +"sticky_piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0], +"web":0, +"tallgrass":0, +"deadbush":0, +"piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0], +"piston_head":[10,11,9,12,13,14,0,0,10,11,9,12,13,14,0,0], +"wool":1, +"piston_extension":0, +"yellow_flower":0, +"red_flower":0, +"brown_mushroom":0, +"red_mushroom":0, +"gold_block":1, +"iron_block":1, +"double_stone_slab":1, +"stone_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"brick_block":1, +"tnt":1, +"bookshelf":1, +"mossy_cobblestone":1, +"obsidian":1, +"torch":0, +"fire":0, +"mob_spawner":1, +"oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"chest":25, +"redstone_wire":0, +"diamond_ore":1, +"diamond_block":1, +"crafting_table":1, +"wheat":0, +"farmland":26, +"furnace":1, +"lit_furnace":1, +"standing_sign":0, +"wooden_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"ladder":[27,27,27,29,30,28,27,27,27,29,30,28,27,27,27,29], +"rail":0, +"stone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"wall_sign":0, +"lever":0, +"stone_pressure_plate":0, +"iron_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"wooden_pressure_plate":0, +"redstone_ore":1, +"lit_redstone_ore":1, +"unlit_redstone_torch":0, +"redstone_torch":0, +"stone_button":0, +"snow_layer":[0,31,32,33,15,34,4,35,0,31,32,33,15,34,4,35], +"ice":1, +"snow":1, +"cactus":36, +"clay":1, +"reeds":0, +"jukebox":1, +"fence":37, +"pumpkin":1, +"netherrack":1, +"soul_sand":35, +"glowstone":1, +"portal":0, +"lit_pumpkin":1, +"cake":[38,39,40,41,42,43,44,0,0,0,0,0,0,0,0,0], +"unpowered_repeater":31, +"powered_repeater":31, +"stained_glass":1, +"trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28], +"monster_egg":1, +"stonebrick":1, +"brown_mushroom_block":1, +"red_mushroom_block":1, +"iron_bars":47, +"glass_pane":47, +"melon_block":1, +"pumpkin_stem":0, +"melon_stem":0, +"vine":0, +"fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"stone_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"mycelium":1, +"waterlily":50, +"nether_brick":1, +"nether_brick_fence":37, +"nether_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"nether_wart":0, +"enchanting_table":4, +"brewing_stand":51, +"cauldron":52, +"end_portal":0, +"end_portal_frame":[81,81,81,81,82,82,82,82,81,81,81,81,82,82,82,82], +"end_stone":1, +"dragon_egg":53, +"redstone_lamp":1, +"lit_redstone_lamp":1, +"double_wooden_slab":1, +"wooden_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"cocoa":[55,56,54,57,58,59,60,61,62,63,64,65,0,0,0,0], +"sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"emerald_ore":1, +"ender_chest":25, +"tripwire_hook":0, +"tripwire":0, +"emerald_block":1, +"spruce_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"birch_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"jungle_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"command_block":1, +"beacon":1, +"cobblestone_wall":66, +"flower_pot":67, +"carrots":0, +"potatoes":0, +"wooden_button":0, +"skull":[69,69,68,70,71,72,69,69,69,69,68,70,71,72,69,69], +"anvil":[73,74,73,74,73,74,73,74,73,74,73,74,0,0,0,0], +"trapped_chest":25, +"light_weighted_pressure_plate":0, +"heavy_weighted_pressure_plate":0, +"unpowered_comparator":31, +"powered_comparator":31, +"daylight_detector":33, +"redstone_block":1, +"quartz_ore":1, +"hopper":75, +"quartz_block":1, +"quartz_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"activator_rail":0, +"dropper":1, +"stained_hardened_clay":1, +"stained_glass_pane":47, +"leaves2":1,"log2":1,"acacia_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"dark_oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"slime":1, +"barrier":1, +"iron_trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28], +"prismarine":1, +"sea_lantern":1, +"hay_block":1, +"carpet":76, +"hardened_clay":1, +"coal_block":1, +"packed_ice":1, +"double_plant":0, +"standing_banner":0, +"wall_banner":0, +"daylight_detector_inverted":33, +"red_sandstone":1, +"red_sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"double_stone_slab2":1,"stone_slab2":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"spruce_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"birch_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"jungle_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"dark_oak_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"acacia_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"spruce_fence":37, +"birch_fence":37, +"jungle_fence":37, +"dark_oak_fence":37, +"acacia_fence":37, +"spruce_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"birch_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"jungle_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"acacia_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"dark_oak_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"end_rod":[77,77,78,78,79,79,77,77,78,78,79,79,77,77,78,78], +"chorus_plant":80, +"chorus_flower":1, +"purpur_block":1, +"purpur_pillar":1, +"purpur_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"purpur_double_slab":1, +"purpur_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"end_bricks":1, +"beetroots":0, +"grass_path":26, +"end_gateway":0, +"repeating_command_block":1, +"chain_command_block":1, +"frosted_ice":1, +"magma":1, +"nether_wart_block":1, +"red_nether_brick":1, +"bone_block":1, +"structure_void":0, +"observer":1, +"white_shulker_box":1, +"orange_shulker_box":1, +"magenta_shulker_box":1, +"light_blue_shulker_box":1, +"yellow_shulker_box":1, +"lime_shulker_box":1, +"pink_shulker_box":1, +"gray_shulker_box":1, +"light_gray_shulker_box":1, +"cyan_shulker_box":1, +"purple_shulker_box":1, +"blue_shulker_box":1, +"brown_shulker_box":1, +"green_shulker_box":1, +"red_shulker_box":1, +"black_shulker_box":1, +"structure_block":1}, +"shapes":{"0":[], +"1":[[0.0,0.0,0.0,1.0,1.0,1.0]], +"2":[[0.0,0.0,0.0,1.0,0.5625,1.0]], +"3":[[0.0,0.25,0.0,1.0,1.0,1.0]], +"4":[[0.0,0.0,0.0,1.0,0.75,1.0]], +"5":[[0.0,0.0,0.25,1.0,1.0,1.0]], +"6":[[0.0,0.0,0.0,1.0,1.0,0.75]], +"7":[[0.25,0.0,0.0,1.0,1.0,1.0]], +"8":[[0.0,0.0,0.0,0.75,1.0,1.0]], +"9":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]], +"10":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]], +"11":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]], +"12":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]], +"13":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]], +"14":[[0.75,0.0,0.0,1.0,1.0,1.0],[-0.25,0.375,0.375,0.75,0.625,0.625]], +"15":[[0.0,0.0,0.0,1.0,0.5,1.0]], +"16":[[0.0,0.5,0.0,1.0,1.0,1.0]], +"17":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"18":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"19":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]], +"20":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]], +"21":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]], +"22":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,0.5,0.5,1.0]], +"23":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.5,1.0,0.5,1.0]], +"24":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,0.5,0.5]], +"25":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]], +"26":[[0.0,0.0,0.0,1.0,0.9375,1.0]], +"27":[[0.0,0.0,0.8125,1.0,1.0,1.0]], +"28":[[0.0,0.0,0.0,0.1875,1.0,1.0]], +"29":[[0.0,0.0,0.0,1.0,1.0,0.1875]], +"30":[[0.8125,0.0,0.0,1.0,1.0,1.0]], +"31":[[0.0,0.0,0.0,1.0,0.125,1.0]], +"32":[[0.0,0.0,0.0,1.0,0.25,1.0]], +"33":[[0.0,0.0,0.0,1.0,0.375,1.0]], +"34":[[0.0,0.0,0.0,1.0,0.625,1.0]], +"35":[[0.0,0.0,0.0,1.0,0.875,1.0]], +"36":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]], +"37":[[0.375,0.0,0.375,0.625,1.5,0.625]], +"38":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]], +"39":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]], +"40":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]], +"41":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]], +"42":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]], +"43":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]], +"44":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]], +"45":[[0.0,0.0,0.0,1.0,0.1875,1.0]], +"46":[[0.0,0.8125,0.0,1.0,1.0,1.0]], +"47":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]], +"48":[[0.0,0.0,0.375,1.0,1.5,0.625]], +"49":[[0.375,0.0,0.0,0.625,1.5,1.0]], +"50":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]], +"51":[[0.4375,0.0,0.4375,0.5625,0.875,0.5625],[0.0,0.0,0.0,1.0,0.125,1.0]], +"52":[[0.0,0.0,0.0,1.0,0.3125,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.875,1.0,1.0,1.0]], +"53":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]], +"54":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]], +"55":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]], +"56":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]], +"57":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]], +"58":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]], +"59":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]], +"60":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]], +"61":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]], +"62":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]], +"63":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]], +"64":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]], +"65":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]], +"66":[[0.25,0.0,0.25,0.75,1.5,0.75]], +"67":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]], +"68":[[0.25,0.25,0.5,0.75,0.75,1.0]], +"69":[[0.25,0.0,0.25,0.75,0.5,0.75]], +"70":[[0.25,0.25,0.0,0.75,0.75,0.5]], +"71":[[0.5,0.25,0.25,1.0,0.75,0.75]], +"72":[[0.0,0.25,0.25,0.5,0.75,0.75]], +"73":[[0.125,0.0,0.0,0.875,1.0,1.0]], +"74":[[0.0,0.0,0.125,1.0,1.0,0.875]], +"75":[[0.0,0.0,0.0,1.0,0.625,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.0,0.0,0.875,1.0,1.0,1.0]], +"76":[[0.0,0.0,0.0,1.0,0.0625,1.0]], +"77":[[0.375,0.0,0.375,0.625,1.0,0.625]], +"78":[[0.375,0.375,0.0,0.625,0.625,1.0]], +"79":[[0.0,0.375,0.375,1.0,0.625,0.625]], +"80":[[0.1875,0.1875,0.1875,0.8125,0.8125,0.8125]], +"81":[[0.0,0.0,0.0,1.0,0.8125,1.0]], +"82":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.3125,0.8125,0.3125,0.6875,1.0,0.6875]]}} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/blocks.json new file mode 100644 index 00000000..af6c4218 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/blocks.json @@ -0,0 +1,5956 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 0 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Dirt" + }, + { + "metadata": 1, + "displayName": "Coarse Dirt" + }, + { + "metadata": 2, + "displayName": "Podzol" + } + ], + "drops": [ + { + "drop": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "planks", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Wood Planks" + }, + { + "metadata": 1, + "displayName": "Spruce Wood Planks" + }, + { + "metadata": 2, + "displayName": "Birch Wood Planks" + }, + { + "metadata": 3, + "displayName": "Jungle Wood Planks" + }, + { + "metadata": 4, + "displayName": "Acacia Wood Planks" + }, + { + "metadata": 5, + "displayName": "Dark Oak Wood Planks" + } + ], + "drops": [ + { + "drop": 5 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 6 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 8, + "displayName": "Water", + "name": "flowing_water", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 10, + "displayName": "Lava", + "name": "flowing_lava", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Sand" + }, + { + "metadata": 1, + "displayName": "Red sand" + } + ], + "drops": [ + { + "drop": 12 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 13, + "minCount": 0.9 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 14 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 15 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 263, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 17, + "displayName": "Wood", + "name": "log", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 17 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Leaves" + }, + { + "metadata": 1, + "displayName": "Spruce Leaves" + }, + { + "metadata": 2, + "displayName": "Birch Leaves" + }, + { + "metadata": 3, + "displayName": "Jungle Leaves" + }, + { + "metadata": 4, + "displayName": "Oak Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Spruce Leaves (no decay)" + }, + { + "metadata": 6, + "displayName": "Birch Leaves (no decay)" + }, + { + "metadata": 7, + "displayName": "Jungle Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Oak Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Spruce Leaves (check decay)" + }, + { + "metadata": 10, + "displayName": "Birch Leaves (check decay)" + }, + { + "metadata": 11, + "displayName": "Jungle Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Oak Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Spruce Leaves (no decay and check decay)" + }, + { + "metadata": 14, + "displayName": "Birch Leaves (no decay and check decay)" + }, + { + "metadata": 15, + "displayName": "Jungle Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Sponge" + }, + { + "metadata": 1, + "displayName": "Wet Sponge" + } + ], + "drops": [ + { + "drop": 19 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": { + "id": 351, + "metadata": 4 + }, + "minCount": 4, + "maxCount": 8 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 22 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 23 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth sandstone" + } + ], + "drops": [ + { + "drop": 24 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "noteblock", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 25 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 26, + "displayName": "Bed", + "name": "bed", + "hardness": 0.2, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 26 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "golden_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 27 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 28 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 29 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "web", + "hardness": 4, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "web", + "harvestTools": { + "267": true, + "268": true, + "272": true, + "276": true, + "283": true, + "359": true + }, + "drops": [ + { + "drop": 287 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 31, + "displayName": "Grass", + "name": "tallgrass", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Shrub" + }, + { + "metadata": 1, + "displayName": "Tall Grass" + }, + { + "metadata": 2, + "displayName": "Fern" + } + ], + "drops": [ + { + "drop": 295, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "deadbush", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 280, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 33 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 34, + "displayName": "Piston Head", + "name": "piston_head", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 34 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wool", + "variations": [ + { + "metadata": 0, + "displayName": "White Wool" + }, + { + "metadata": 1, + "displayName": "Orange Wool" + }, + { + "metadata": 2, + "displayName": "Magenta Wool" + }, + { + "metadata": 3, + "displayName": "Light blue Wool" + }, + { + "metadata": 4, + "displayName": "Yellow Wool" + }, + { + "metadata": 5, + "displayName": "Lime Wool" + }, + { + "metadata": 6, + "displayName": "Pink Wool" + }, + { + "metadata": 7, + "displayName": "Gray Wool" + }, + { + "metadata": 8, + "displayName": "Light gray Wool" + }, + { + "metadata": 9, + "displayName": "Cyan Wool" + }, + { + "metadata": 10, + "displayName": "Purple Wool" + }, + { + "metadata": 11, + "displayName": "Blue Wool" + }, + { + "metadata": 12, + "displayName": "Brown Wool" + }, + { + "metadata": 13, + "displayName": "Green Wool" + }, + { + "metadata": 14, + "displayName": "Red Wool" + }, + { + "metadata": 15, + "displayName": "Black Wool" + } + ], + "drops": [ + { + "drop": 35 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 36, + "displayName": "Block moved by Piston", + "name": "piston_extension", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 36 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "yellow_flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 37 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 38, + "displayName": "Poppy", + "name": "red_flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Poppy" + }, + { + "metadata": 1, + "displayName": "Blue Orchid" + }, + { + "metadata": 2, + "displayName": "Allium" + }, + { + "metadata": 3, + "displayName": "Azure Bluet" + }, + { + "metadata": 4, + "displayName": "Red Tulip" + }, + { + "metadata": 5, + "displayName": "Orange Tulip" + }, + { + "metadata": 6, + "displayName": "White Tulip" + }, + { + "metadata": 7, + "displayName": "Pink Tulip" + }, + { + "metadata": 8, + "displayName": "Oxeye Daisy" + } + ], + "drops": [ + { + "drop": 38 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 39 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 40 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "gold_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 41 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "iron_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 42 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Stone Slab" + }, + { + "metadata": 1, + "displayName": "Double Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "Double (Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Double Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Double Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Double Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Double Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Double Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Stone Slab" + }, + { + "metadata": 9, + "displayName": "Smooth Double Sandstone Slab" + }, + { + "metadata": 15, + "displayName": "Tile Double Quartz Slab (note the underside)" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone Slab" + }, + { + "metadata": 1, + "displayName": "Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "(Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Upper Stone Slab" + }, + { + "metadata": 9, + "displayName": "Upper Sandstone Slab" + }, + { + "metadata": 10, + "displayName": "Upper (Stone) Wooden Slab" + }, + { + "metadata": 11, + "displayName": "Upper Cobblestone Slab" + }, + { + "metadata": 12, + "displayName": "Upper Bricks Slab" + }, + { + "metadata": 13, + "displayName": "Upper Stone Brick Slab" + }, + { + "metadata": 14, + "displayName": "Upper Nether Brick Slab" + }, + { + "metadata": 15, + "displayName": "Upper Quartz Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "brick_block", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 45 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Drops a TNT item when broken" + }, + { + "metadata": 1, + "displayName": "Activates when broken" + } + ], + "drops": [ + { + "drop": 46 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 340, + "minCount": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "mossy_cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 48 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "278": true + }, + "drops": [ + { + "drop": 49 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Torch facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Torch facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Torch facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Torch facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Torch facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 50 + } + ], + "transparent": true, + "emitLight": 14, + "filterLight": 0 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "mob_spawner", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 53 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 54 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 331 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 264 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "diamond_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 57 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 58 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 59, + "displayName": "Wheat", + "name": "wheat", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 295 + }, + { + "drop": 295, + "minCount": 0, + "maxCount": 3 + }, + { + "drop": 296 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "lit_furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 63, + "displayName": "Standing Sign", + "name": "standing_sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 323 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 64, + "displayName": "Oak Door", + "name": "wooden_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 64 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 65 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 66 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "stone_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 67 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "wall_sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 323 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 69 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 70 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 71, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 71 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 72 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "lit_redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "unlit_redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Redstone Torch (inactive) facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Redstone Torch (inactive) facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Redstone Torch (inactive) facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Redstone Torch (inactive) facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Redstone Torch (inactive) facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 75 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 76, + "displayName": "Redstone Torch (active)", + "name": "redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Redstone Torch (active) facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Redstone Torch (active) facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Redstone Torch (active) facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Redstone Torch (active) facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Redstone Torch (active) facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 76 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 77 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 78, + "displayName": "Snow (layer)", + "name": "snow_layer", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "drops": [ + { + "drop": 332, + "minCount": 2, + "maxCount": 9 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "drops": [ + { + "drop": 332, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 81 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 337, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 83, + "displayName": "Sugar Cane", + "name": "reeds", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 83 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 84, + "displayName": "Jukebox", + "name": "jukebox", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "No disc inserted" + }, + { + "metadata": 1, + "displayName": "Contains a disc" + } + ], + "drops": [ + { + "drop": 84 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 85 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 86 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 87 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 88 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 348, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 90, + "displayName": "Nether Portal", + "name": "portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 11, + "filterLight": 0 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "lit_pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 91 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 92, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 93, + "displayName": "Redstone Repeater (inactive)", + "name": "unpowered_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 356 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 94, + "displayName": "Redstone Repeater (active)", + "name": "powered_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 356 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 95, + "displayName": "Stained Glass", + "name": "stained_glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Stained Glass" + }, + { + "metadata": 1, + "displayName": "Orange Stained Glass" + }, + { + "metadata": 2, + "displayName": "Magenta Stained Glass" + }, + { + "metadata": 3, + "displayName": "Light Blue Stained Glass" + }, + { + "metadata": 4, + "displayName": "Yellow Stained Glass" + }, + { + "metadata": 5, + "displayName": "Lime Stained Glass" + }, + { + "metadata": 6, + "displayName": "Pink Stained Glass" + }, + { + "metadata": 7, + "displayName": "Gray Stained Glass" + }, + { + "metadata": 8, + "displayName": "Light Gray Stained Glass" + }, + { + "metadata": 9, + "displayName": "Cyan Stained Glass" + }, + { + "metadata": 10, + "displayName": "Purple Stained Glass" + }, + { + "metadata": 11, + "displayName": "Blue Stained Glass" + }, + { + "metadata": 12, + "displayName": "Brown Stained Glass" + }, + { + "metadata": 13, + "displayName": "Green Stained Glass" + }, + { + "metadata": 14, + "displayName": "Red Stained Glass" + }, + { + "metadata": 15, + "displayName": "Black Stained Glass" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 96 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "hardness": 0.75, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Stone Monster Egg" + }, + { + "metadata": 1, + "displayName": "Cobblestone Monster Egg" + }, + { + "metadata": 2, + "displayName": "Stone Brick Monster Egg" + }, + { + "metadata": 3, + "displayName": "Mossy Stone Brick Monster Egg" + }, + { + "metadata": 4, + "displayName": "Cracked Stone Brick Monster Egg" + }, + { + "metadata": 5, + "displayName": "Chiseled Stone Brick Monster Egg" + } + ], + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 98, + "displayName": "Stone Bricks", + "name": "stonebrick", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone brick" + }, + { + "metadata": 1, + "displayName": "Mossy stone brick" + }, + { + "metadata": 2, + "displayName": "Cracked stone brick" + }, + { + "metadata": 3, + "displayName": "Chiseled stone brick" + } + ], + "drops": [ + { + "drop": 98 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 99, + "displayName": "Brown Mushroom (block)", + "name": "brown_mushroom_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 40, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 100, + "displayName": "Red Mushroom (block)", + "name": "red_mushroom_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 40, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 101 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 360, + "minCount": 3, + "maxCount": 7 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 361, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 362, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vine", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 106 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 107 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 108 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 109 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "waterlily", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 111 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 112 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 113 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 114 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 115, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 372 + }, + { + "drop": 372, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchanting_table", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 116 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 117, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 379 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 118, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 380 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 119, + "displayName": "End Portal", + "name": "end_portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 120, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 120 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 121 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 122, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 122 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 123, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 123 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 124, + "displayName": "Redstone Lamp (active)", + "name": "lit_redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 124 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 125, + "displayName": "Double Wooden Slab", + "name": "double_wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Double Oak Wood Slab" + }, + { + "metadata": 1, + "displayName": "Double Spruce Wood Slab" + }, + { + "metadata": 2, + "displayName": "Double Birch Wood Slab" + }, + { + "metadata": 3, + "displayName": "Double Jungle Wood Slab" + }, + { + "metadata": 4, + "displayName": "Double Acacia Wood Slab" + }, + { + "metadata": 5, + "displayName": "Double Dark Oak Wood Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 126, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Wood Slab" + }, + { + "metadata": 1, + "displayName": "Spruce Wood Slab" + }, + { + "metadata": 2, + "displayName": "Birch Wood Slab" + }, + { + "metadata": 3, + "displayName": "Jungle Wood Slab" + }, + { + "metadata": 4, + "displayName": "Acacia Wood Slab" + }, + { + "metadata": 5, + "displayName": "Dark Oak Wood Slab" + }, + { + "metadata": 8, + "displayName": "Upper Oak Wood Slab" + }, + { + "metadata": 9, + "displayName": "Upper Spruce Wood Slab" + }, + { + "metadata": 10, + "displayName": "Upper Birch Wood Slab" + }, + { + "metadata": 11, + "displayName": "Upper Jungle Wood Slab" + }, + { + "metadata": 12, + "displayName": "Upper Acacia Wood Slab" + }, + { + "metadata": 13, + "displayName": "Upper Dark Oak Wood Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": { + "id": 351, + "metadata": 3 + } + }, + { + "drop": { + "id": 351, + "metadata": 3 + }, + "minCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 128 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 388 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 130, + "displayName": "Ender Chest", + "name": "ender_chest", + "hardness": 22.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 49, + "minCount": 8 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 131 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 287 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "emerald_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 133 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 134 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 135 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 136 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 137, + "displayName": "Command Block", + "name": "command_block", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 138, + "displayName": "Beacon", + "name": "beacon", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 138 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Cobblestone Wall" + }, + { + "metadata": 1, + "displayName": "Mossy Cobblestone Wall" + } + ], + "drops": [ + { + "drop": 139 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 140, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 140 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 141 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 142 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 143 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 144, + "displayName": "Mob head", + "name": "skull", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ], + "drops": [ + { + "drop": 144 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Anvil" + }, + { + "metadata": 1, + "displayName": "Slightly Damaged Anvil" + }, + { + "metadata": 2, + "displayName": "Very Damaged Anvil" + }, + { + "metadata": 3, + "displayName": "Anvil (North/South)" + }, + { + "metadata": 4, + "displayName": "Anvil (East/West)" + }, + { + "metadata": 5, + "displayName": "Anvil (South/North)" + }, + { + "metadata": 6, + "displayName": "Anvil (West/East)" + }, + { + "metadata": 7, + "displayName": "Slightly Damaged Anvil (North/South)" + }, + { + "metadata": 8, + "displayName": "Slightly Damaged Anvil (East/West)" + }, + { + "metadata": 9, + "displayName": "Slightly Damaged Anvil (West/East)" + }, + { + "metadata": 10, + "displayName": "Slightly Damaged Anvil (South/North)" + }, + { + "metadata": 11, + "displayName": "Very Damaged Anvil (North/South)" + }, + { + "metadata": 12, + "displayName": "Very Damaged Anvil (East/West)" + }, + { + "metadata": 13, + "displayName": "Very Damaged Anvil (West/East)" + }, + { + "metadata": 14, + "displayName": "Very Damaged Anvil (South/North)" + } + ], + "drops": [ + { + "drop": 145 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 146 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "light_weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 147 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 148, + "displayName": "Weighted Pressure Plate (Heavy)", + "name": "heavy_weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 148 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 149, + "displayName": "Redstone Comparator", + "name": "unpowered_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 404 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 150, + "displayName": "Redstone Comparator (deprecated)", + "name": "powered_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 404 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_detector", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 151 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "redstone_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 152 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "quartz_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 406 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 154, + "displayName": "Hopper", + "name": "hopper", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 154 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "quartz_block", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Block of Quartz" + }, + { + "metadata": 1, + "displayName": "Chiseled Quartz Block" + }, + { + "metadata": 2, + "displayName": "Pillar Quartz Block (vertical)" + }, + { + "metadata": 3, + "displayName": "Pillar Quartz Block (north-south)" + }, + { + "metadata": 4, + "displayName": "Pillar Quartz Block (east-west)" + } + ], + "drops": [ + { + "drop": 155 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 156 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 157, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 157 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 158, + "displayName": "Dropper", + "name": "dropper", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 158 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White hardened clay" + }, + { + "metadata": 1, + "displayName": "Orange hardened clay" + }, + { + "metadata": 2, + "displayName": "Magenta hardened clay" + }, + { + "metadata": 3, + "displayName": "Light blue hardened clay" + }, + { + "metadata": 4, + "displayName": "Yellow hardened clay" + }, + { + "metadata": 5, + "displayName": "Lime hardened clay" + }, + { + "metadata": 6, + "displayName": "Pink hardened clay" + }, + { + "metadata": 7, + "displayName": "Gray hardened clay" + }, + { + "metadata": 8, + "displayName": "Light gray hardened clay" + }, + { + "metadata": 9, + "displayName": "Cyan hardened clay" + }, + { + "metadata": 10, + "displayName": "Purple hardened clay" + }, + { + "metadata": 11, + "displayName": "Blue hardened clay" + }, + { + "metadata": 12, + "displayName": "Brown hardened clay" + }, + { + "metadata": 13, + "displayName": "Green hardened clay" + }, + { + "metadata": 14, + "displayName": "Red hardened clay" + }, + { + "metadata": 15, + "displayName": "Black hardened clay" + } + ], + "drops": [ + { + "drop": 159 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 160, + "displayName": "Stained Glass Pane", + "name": "stained_glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Stained Glass Pane" + }, + { + "metadata": 1, + "displayName": "Orange Stained Glass Pane" + }, + { + "metadata": 2, + "displayName": "Magenta Stained Glass Pane" + }, + { + "metadata": 3, + "displayName": "Light Blue Stained Glass Pane" + }, + { + "metadata": 4, + "displayName": "Yellow Stained Glass Pane" + }, + { + "metadata": 5, + "displayName": "Lime Stained Glass Pane" + }, + { + "metadata": 6, + "displayName": "Pink Stained Glass Pane" + }, + { + "metadata": 7, + "displayName": "Gray Stained Glass Pane" + }, + { + "metadata": 8, + "displayName": "Light Gray Stained Glass Pane" + }, + { + "metadata": 9, + "displayName": "Cyan Stained Glass Pane" + }, + { + "metadata": 10, + "displayName": "Purple Stained Glass Pane" + }, + { + "metadata": 11, + "displayName": "Blue Stained Glass Pane" + }, + { + "metadata": 12, + "displayName": "Brown Stained Glass Pane" + }, + { + "metadata": 13, + "displayName": "Green Stained Glass Pane" + }, + { + "metadata": 14, + "displayName": "Red Stained Glass Pane" + }, + { + "metadata": 15, + "displayName": "Black Stained Glass Pane" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 161, + "displayName": "Leaves (Acacia/Dark Oak)", + "name": "leaves2", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Acacia Leaves" + }, + { + "metadata": 1, + "displayName": "Dark Oak Leaves" + }, + { + "metadata": 4, + "displayName": "Acacia Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Dark Oak Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Acacia Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Dark Oak Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Acacia Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Dark Oak Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 162, + "displayName": "Wood (Acacia/Dark Oak)", + "name": "log2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 162 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 163 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 164 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 165 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 166, + "displayName": "Barrier", + "name": "barrier", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 167 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 168, + "displayName": "Prismarine", + "name": "prismarine", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Prismarine" + }, + { + "metadata": 1, + "displayName": "Prismarine Bricks" + }, + { + "metadata": 2, + "displayName": "Dark Prismarine" + } + ], + "drops": [ + { + "drop": 168 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 169, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 410, + "minCount": 2, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_block", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 170 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "hardness": 0.1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Carpet" + }, + { + "metadata": 1, + "displayName": "Orange Carpet" + }, + { + "metadata": 2, + "displayName": "Magenta Carpet" + }, + { + "metadata": 3, + "displayName": "Light Blue Carpet" + }, + { + "metadata": 4, + "displayName": "Yellow Carpet" + }, + { + "metadata": 5, + "displayName": "Lime Carpet" + }, + { + "metadata": 6, + "displayName": "Pink Carpet" + }, + { + "metadata": 7, + "displayName": "Gray Carpet" + }, + { + "metadata": 8, + "displayName": "Light Gray Carpet" + }, + { + "metadata": 9, + "displayName": "Cyan Carpet" + }, + { + "metadata": 10, + "displayName": "Purple Carpet" + }, + { + "metadata": 11, + "displayName": "Blue Carpet" + }, + { + "metadata": 12, + "displayName": "Brown Carpet" + }, + { + "metadata": 13, + "displayName": "Green Carpet" + }, + { + "metadata": 14, + "displayName": "Red Carpet" + }, + { + "metadata": 15, + "displayName": "Black Carpet" + } + ], + "drops": [ + { + "drop": 171 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White hardened clay" + }, + { + "metadata": 1, + "displayName": "Orange hardened clay" + }, + { + "metadata": 2, + "displayName": "Magenta hardened clay" + }, + { + "metadata": 3, + "displayName": "Light blue hardened clay" + }, + { + "metadata": 4, + "displayName": "Yellow hardened clay" + }, + { + "metadata": 5, + "displayName": "Lime hardened clay" + }, + { + "metadata": 6, + "displayName": "Pink hardened clay" + }, + { + "metadata": 7, + "displayName": "Gray hardened clay" + }, + { + "metadata": 8, + "displayName": "Light gray hardened clay" + }, + { + "metadata": 9, + "displayName": "Cyan hardened clay" + }, + { + "metadata": 10, + "displayName": "Purple hardened clay" + }, + { + "metadata": 11, + "displayName": "Blue hardened clay" + }, + { + "metadata": 12, + "displayName": "Brown hardened clay" + }, + { + "metadata": 13, + "displayName": "Green hardened clay" + }, + { + "metadata": 14, + "displayName": "Red hardened clay" + }, + { + "metadata": 15, + "displayName": "Black hardened clay" + } + ], + "drops": [ + { + "drop": 172 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "coal_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 173 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 175, + "displayName": "Large Flowers", + "name": "double_plant", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Sunflower" + }, + { + "metadata": 1, + "displayName": "Lilac" + }, + { + "metadata": 2, + "displayName": "Double Tallgrass" + }, + { + "metadata": 3, + "displayName": "Large Fern" + }, + { + "metadata": 4, + "displayName": "Rose Bush" + }, + { + "metadata": 5, + "displayName": "Peony" + }, + { + "metadata": 8, + "displayName": "Top Half of any Large Plant; low three bits 0x7 are derived from the block below." + } + ], + "drops": [ + { + "drop": 175 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 176, + "displayName": "Standing Banner", + "name": "standing_banner", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 176 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 177, + "displayName": "Wall Banner", + "name": "wall_banner", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 177 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "daylight_detector_inverted", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 178 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 179, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Red Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled Red Sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth Red Sandstone" + } + ], + "drops": [ + { + "drop": 179 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 180, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 180 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 181, + "displayName": "Double Red Sandstone Slab", + "name": "double_stone_slab2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Red Sandstone Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Red Sandstone Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 182, + "displayName": "Red Sandstone Slab", + "name": "stone_slab2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Red Sandstone Slab" + }, + { + "metadata": 8, + "displayName": "Upper Red Sandstone Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 183 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 184 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 185 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 186 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 187 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 188, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 188 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 189, + "displayName": "Birch Fence", + "name": "birch_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 189 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 190, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 190 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 191, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 191 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 192, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 192 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 193, + "displayName": "Spruce Door", + "name": "spruce_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 193 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 194, + "displayName": "Birch Door", + "name": "birch_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 194 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 195, + "displayName": "Jungle Door", + "name": "jungle_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 195 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 196, + "displayName": "Acacia Door", + "name": "acacia_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 196 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 197, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 197 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 198, + "displayName": "End Rod", + "name": "end_rod", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "End Rod facing down" + }, + { + "metadata": 1, + "displayName": "End Rod facing up" + }, + { + "metadata": 2, + "displayName": "End Rod facing north" + }, + { + "metadata": 3, + "displayName": "End Rod facing south" + }, + { + "metadata": 4, + "displayName": "End Rod facing west" + }, + { + "metadata": 5, + "displayName": "End Rod facing east" + } + ], + "drops": [ + { + "drop": 198 + } + ], + "transparent": false, + "emitLight": 14, + "filterLight": 15 + }, + { + "id": 199, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 432, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 200, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 200 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 201, + "displayName": "Purpur Block", + "name": "purpur_block", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 201 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 202, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 202 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 203, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 203 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 204, + "displayName": "Purpur Double Slab", + "name": "purpur_double_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 205, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 206, + "displayName": "End Stone Bricks", + "name": "end_bricks", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 206 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 207, + "displayName": "Beetroot Seeds", + "name": "beetroots", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 208, + "displayName": "Grass Path", + "name": "grass_path", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 209, + "displayName": "End Gateway", + "name": "end_gateway", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 210, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 211, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 212, + "displayName": "Frosted Ice", + "name": "frosted_ice", + "hardness": 0.5, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 213, + "displayName": "Magma Block", + "name": "magma", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 213 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 214, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 214 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 215, + "displayName": "Red Nether Brick", + "name": "red_nether_brick", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 215 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 216, + "displayName": "Bone Block", + "name": "bone_block", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 216 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 217, + "displayName": "Structure Void", + "name": "structure_void", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Save" + }, + { + "metadata": 1, + "displayName": "Load" + }, + { + "metadata": 2, + "displayName": "Corner" + }, + { + "metadata": 3, + "displayName": "Data" + } + ], + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 218, + "displayName": "Observer", + "name": "observer", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 218 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 219, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 219 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 220, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 220 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 221, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 221 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 222, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 222 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 223, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 223 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 224, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 224 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 225, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 225 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 226, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 226 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 227, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 227 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 228, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 228 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 229, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 229 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 230, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 230 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 231, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 231 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 232, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 232 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 233, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 233 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 234, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "hardness": 0, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 234 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 255, + "displayName": "Structure Block", + "name": "structure_block", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Save" + }, + { + "metadata": 1, + "displayName": "Load" + }, + { + "metadata": 2, + "displayName": "Corner" + }, + { + "metadata": 3, + "displayName": "Data" + } + ], + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/effects.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/effects.json new file mode 100644 index 00000000..4aaa8e57 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/effects.json @@ -0,0 +1,164 @@ +[ + { + "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" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/enchantments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/enchantments.json new file mode 100644 index 00000000..c10f756a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/enchantments.json @@ -0,0 +1,152 @@ +[ + { + "id": 0, + "name": "protection", + "displayName": "Protection" + }, + { + "id": 1, + "name": "fire_protection", + "displayName": "Fire Protection" + }, + { + "id": 2, + "name": "feather_falling", + "displayName": "Feather Falling" + }, + { + "id": 3, + "name": "blast_protection", + "displayName": "Blast Protection" + }, + { + "id": 4, + "name": "projectile_protection", + "displayName": "Projectile Protection" + }, + { + "id": 5, + "name": "respiration", + "displayName": "Respiration" + }, + { + "id": 6, + "name": "aqua_affinity", + "displayName": "Aqua Affinity" + }, + { + "id": 7, + "name": "thorns", + "displayName": "Thorns" + }, + { + "id": 8, + "name": "depth_strider", + "displayName": "Depth Strider" + }, + { + "id": 9, + "name": "frost_walker", + "displayName": "Frost Walker" + }, + { + "id": 10, + "name": "binding_curse", + "displayName": "Curse of Binding" + }, + { + "id": 16, + "name": "sharpness", + "displayName": "Sharpness" + }, + { + "id": 17, + "name": "smite", + "displayName": "Smite" + }, + { + "id": 18, + "name": "bane_of_arthropods", + "displayName": "Bane of Arthropods" + }, + { + "id": 19, + "name": "knockback", + "displayName": "Knockback" + }, + { + "id": 20, + "name": "fire_aspect", + "displayName": "Fire Aspect" + }, + { + "id": 21, + "name": "looting", + "displayName": "Looting" + }, + { + "id": 22, + "name": "sweeping_edge", + "displayName": "Sweeping Edge" + }, + { + "id": 32, + "name": "efficiency", + "displayName": "Efficiency" + }, + { + "id": 33, + "name": "silk_touch", + "displayName": "Silk Touch" + }, + { + "id": 34, + "name": "unbreaking", + "displayName": "Unbreaking" + }, + { + "id": 35, + "name": "fortune", + "displayName": "Fortune" + }, + { + "id": 48, + "name": "power", + "displayName": "Power" + }, + { + "id": 49, + "name": "punch", + "displayName": "Punch" + }, + { + "id": 50, + "name": "flame", + "displayName": "Flame" + }, + { + "id": 51, + "name": "infinity", + "displayName": "Infinity" + }, + { + "id": 61, + "name": "luck_of_the_sea", + "displayName": "Luck of the Sea" + }, + { + "id": 62, + "name": "lure", + "displayName": "Lure" + }, + { + "id": 70, + "name": "mending", + "displayName": "Mending" + }, + { + "id": 71, + "name": "vanishing_curse", + "displayName": "Curse of Vanishing" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/entities.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/entities.json new file mode 100644 index 00000000..0c575c5d --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/entities.json @@ -0,0 +1,1080 @@ +[ + { + "id": 1, + "internalId": 1, + "name": "item", + "displayName": "Dropped item", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Drops" + }, + { + "id": 2, + "internalId": 2, + "name": "xp_orb", + "displayName": "Experience orb", + "type": "mob", + "width": 0.5, + "height": 0.5, + "category": "Drops" + }, + { + "id": 3, + "internalId": 3, + "name": "area_effect_cloud", + "displayName": "Area effect cloud", + "type": "mob", + "width": null, + "height": 0.5, + "category": "Immobile" + }, + { + "id": 4, + "internalId": 4, + "name": "elder_guardian", + "displayName": "Elder guardian", + "type": "mob", + "width": 1.9975, + "height": 1.9975, + "category": "Hostile mobs" + }, + { + "id": 5, + "internalId": 5, + "name": "wither_skeleton", + "displayName": "Wither skeleton", + "type": "mob", + "width": 0.7, + "height": 2.4, + "category": "Hostile mobs" + }, + { + "id": 6, + "internalId": 6, + "name": "stray", + "displayName": "Stray", + "type": "mob", + "width": 0.6, + "height": 1.99, + "category": "Hostile mobs" + }, + { + "id": 7, + "internalId": 7, + "name": "egg", + "displayName": "Thrown egg", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 8, + "internalId": 8, + "name": "leash_knot", + "displayName": "Lead knot", + "type": "mob", + "width": 0.375, + "height": 0.25, + "category": "Immobile" + }, + { + "id": 9, + "internalId": 9, + "name": "painting", + "displayName": "Painting", + "type": "mob", + "width": 0.5, + "height": 0.5, + "category": "Immobile" + }, + { + "id": 10, + "internalId": 10, + "name": "arrow", + "displayName": "Shot arrow", + "type": "mob", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 11, + "internalId": 11, + "name": "snowball", + "displayName": "Thrown snowball", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 12, + "internalId": 12, + "name": "fireball", + "displayName": "Ghast fireball", + "type": "mob", + "width": 1, + "height": 1, + "category": "Projectiles" + }, + { + "id": 13, + "internalId": 13, + "name": "small_fireball", + "displayName": "Blaze fireball", + "type": "mob", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 14, + "internalId": 14, + "name": "ender_pearl", + "displayName": "Thrown ender pearl", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 15, + "internalId": 15, + "name": "eye_of_ender_signal", + "displayName": "Thrown eye of ender", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 16, + "internalId": 16, + "name": "potion", + "displayName": "Thrown splash potion", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 17, + "internalId": 17, + "name": "xp_bottle", + "displayName": "Thrown bottle o' enchanting", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 18, + "internalId": 18, + "name": "item_frame", + "displayName": "Item frame", + "type": "mob", + "width": null, + "height": null, + "category": "Immobile" + }, + { + "id": 19, + "internalId": 19, + "name": "wither_skull", + "displayName": "Wither skull", + "type": "mob", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 20, + "internalId": 20, + "name": "tnt", + "displayName": "Primed TNT", + "type": "mob", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 21, + "internalId": 21, + "name": "falling_block", + "displayName": "Falling block", + "type": "mob", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 22, + "internalId": 22, + "name": "fireworks_rocket", + "displayName": "Firework rocket", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 23, + "internalId": 23, + "name": "husk", + "displayName": "Husk", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 24, + "internalId": 24, + "name": "spectral_arrow", + "displayName": "Shot spectral arrow", + "type": "mob", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 25, + "internalId": 25, + "name": "shulker_bullet", + "displayName": "Shulker bullet", + "type": "mob", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 26, + "internalId": 26, + "name": "dragon_fireball", + "displayName": "Dragon fireball", + "type": "mob", + "width": 1, + "height": 1, + "category": "Projectiles" + }, + { + "id": 27, + "internalId": 27, + "name": "zombie_villager", + "displayName": "Zombie Villager", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 28, + "internalId": 28, + "name": "skeleton_horse", + "displayName": "Skeleton horse", + "type": "mob", + "width": 1.396484, + "height": 1.6, + "category": "Passive mobs" + }, + { + "id": 29, + "internalId": 29, + "name": "zombie_horse", + "displayName": "Zombie horse", + "type": "mob", + "width": 1.396484, + "height": 1.6, + "category": "Passive mobs" + }, + { + "id": 30, + "internalId": 30, + "name": "armor_stand", + "displayName": "Armor stand", + "type": "mob", + "width": 0.5, + "height": 1.7, + "category": "Immobile" + }, + { + "id": 31, + "internalId": 31, + "name": "donkey", + "displayName": "Donkey", + "type": "mob", + "width": 1.396484, + "height": 1.6, + "category": "Passive mobs" + }, + { + "id": 32, + "internalId": 32, + "name": "mule", + "displayName": "Mule", + "type": "mob", + "width": 1.396484, + "height": 1.6, + "category": "Passive mobs" + }, + { + "id": 33, + "internalId": 33, + "name": "evocation_fangs", + "displayName": "Evocation fangs", + "type": "mob", + "width": 0.5, + "height": 0.8, + "category": "Immobile" + }, + { + "id": 34, + "internalId": 34, + "name": "evocation_illager", + "displayName": "Evoker", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 35, + "internalId": 35, + "name": "vex", + "displayName": "Vex", + "type": "mob", + "width": 0.4, + "height": 0.8, + "category": "Hostile mobs" + }, + { + "id": 36, + "internalId": 36, + "name": "vindication_illager", + "displayName": "Vindicator", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 40, + "internalId": 40, + "name": "commandblock_minecart", + "displayName": "Minecart with command block", + "type": "mob", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 41, + "internalId": 41, + "name": "boat", + "displayName": "Boat", + "type": "mob", + "width": 1.375, + "height": 0.5625, + "category": "Vehicles" + }, + { + "id": 42, + "internalId": 42, + "name": "minecart", + "displayName": "Minecart", + "type": "mob", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 43, + "internalId": 43, + "name": "chest_minecart", + "displayName": "Minecart with chest", + "type": "mob", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 44, + "internalId": 44, + "name": "furnace_minecart", + "displayName": "Minecart with furnace", + "type": "mob", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 45, + "internalId": 45, + "name": "tnt_minecart", + "displayName": "Minecart with TNT", + "type": "mob", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 46, + "internalId": 46, + "name": "hopper_minecart", + "displayName": "Minecart with hopper", + "type": "mob", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 47, + "internalId": 47, + "name": "spawner_minecart", + "displayName": "Minecart with spawner", + "type": "mob", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 50, + "internalId": 50, + "name": "creeper", + "displayName": "Creeper", + "type": "mob", + "width": 0.6, + "height": 1.7, + "category": "Hostile mobs" + }, + { + "id": 51, + "internalId": 51, + "name": "skeleton", + "displayName": "Skeleton", + "type": "mob", + "width": 0.6, + "height": 1.99, + "category": "Hostile mobs" + }, + { + "id": 52, + "internalId": 52, + "name": "spider", + "displayName": "Spider", + "type": "mob", + "width": 1.4, + "height": 0.9, + "category": "Hostile mobs" + }, + { + "id": 53, + "internalId": 53, + "name": "giant", + "displayName": "Giant", + "type": "mob", + "width": 3.5999999999999996, + "height": 10.8, + "category": "Hostile mobs" + }, + { + "id": 54, + "internalId": 54, + "name": "zombie", + "displayName": "Zombie", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 55, + "internalId": 55, + "name": "slime", + "displayName": "Slime", + "type": "mob", + "width": 0.51000005, + "height": 0.51000005, + "category": "Hostile mobs" + }, + { + "id": 56, + "internalId": 56, + "name": "ghast", + "displayName": "Ghast", + "type": "mob", + "width": 4, + "height": 4, + "category": "Hostile mobs" + }, + { + "id": 57, + "internalId": 57, + "name": "zombie_pigman", + "displayName": "Zombie pigman", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 58, + "internalId": 58, + "name": "enderman", + "displayName": "Enderman", + "type": "mob", + "width": 0.6, + "height": 2.9, + "category": "Hostile mobs" + }, + { + "id": 59, + "internalId": 59, + "name": "cave_spider", + "displayName": "Cave spider", + "type": "mob", + "width": 0.7, + "height": 0.5, + "category": "Hostile mobs" + }, + { + "id": 60, + "internalId": 60, + "name": "silverfish", + "displayName": "Silverfish", + "type": "mob", + "width": 0.4, + "height": 0.3, + "category": "Hostile mobs" + }, + { + "id": 61, + "internalId": 61, + "name": "blaze", + "displayName": "Blaze", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 62, + "internalId": 62, + "name": "magma_cube", + "displayName": "Magma cube", + "type": "mob", + "width": 0.51000005, + "height": 0.51000005, + "category": "Hostile mobs" + }, + { + "id": 63, + "internalId": 63, + "name": "ender_dragon", + "displayName": "Ender dragon", + "type": "mob", + "width": 16, + "height": 8, + "category": "Hostile mobs" + }, + { + "id": 64, + "internalId": 64, + "name": "wither", + "displayName": "Wither", + "type": "mob", + "width": 0.9, + "height": 3.5, + "category": "Hostile mobs" + }, + { + "id": 65, + "internalId": 65, + "name": "bat", + "displayName": "Bat", + "type": "mob", + "width": 0.5, + "height": 0.9, + "category": "Passive mobs" + }, + { + "id": 66, + "internalId": 66, + "name": "witch", + "displayName": "Witch", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 67, + "internalId": 67, + "name": "endermite", + "displayName": "Endermite", + "type": "mob", + "width": 0.4, + "height": 0.3, + "category": "Hostile mobs" + }, + { + "id": 68, + "internalId": 68, + "name": "guardian", + "displayName": "Guardian", + "type": "mob", + "width": 0.85, + "height": 0.85, + "category": "Hostile mobs" + }, + { + "id": 69, + "internalId": 69, + "name": "shulker", + "displayName": "Shulker", + "type": "mob", + "width": 1, + "height": 1, + "category": "Hostile mobs" + }, + { + "id": 90, + "internalId": 90, + "name": "pig", + "displayName": "Pig", + "type": "mob", + "width": 0.9, + "height": 0.9, + "category": "Passive mobs" + }, + { + "id": 91, + "internalId": 91, + "name": "sheep", + "displayName": "Sheep", + "type": "mob", + "width": 0.9, + "height": 1.3, + "category": "Passive mobs" + }, + { + "id": 92, + "internalId": 92, + "name": "cow", + "displayName": "Cow", + "type": "mob", + "width": 0.9, + "height": 1.4, + "category": "Passive mobs" + }, + { + "id": 93, + "internalId": 93, + "name": "chicken", + "displayName": "Chicken", + "type": "mob", + "width": 0.4, + "height": 0.7, + "category": "Passive mobs" + }, + { + "id": 94, + "internalId": 94, + "name": "squid", + "displayName": "Squid", + "type": "mob", + "width": 0.8, + "height": 0.8, + "category": "Passive mobs" + }, + { + "id": 95, + "internalId": 95, + "name": "wolf", + "displayName": "Wolf", + "type": "mob", + "width": 0.6, + "height": 0.85, + "category": "Passive mobs" + }, + { + "id": 96, + "internalId": 96, + "name": "mooshroom", + "displayName": "Mooshroom", + "type": "mob", + "width": 0.9, + "height": 1.4, + "category": "Passive mobs" + }, + { + "id": 97, + "internalId": 97, + "name": "snowman", + "displayName": "Snow golem", + "type": "mob", + "width": 0.7, + "height": 1.9, + "category": "Passive mobs" + }, + { + "id": 98, + "internalId": 98, + "name": "ocelot", + "displayName": "Ocelot", + "type": "mob", + "width": 0.6, + "height": 0.7, + "category": "Passive mobs" + }, + { + "id": 99, + "internalId": 99, + "name": "villager_golem", + "displayName": "Iron golem", + "type": "mob", + "width": 1.4, + "height": 2.7, + "category": "Passive mobs" + }, + { + "id": 100, + "internalId": 100, + "name": "horse", + "displayName": "Horse", + "type": "mob", + "width": 1.396484, + "height": 1.6, + "category": "Passive mobs" + }, + { + "id": 101, + "internalId": 101, + "name": "rabbit", + "displayName": "Rabbit", + "type": "mob", + "width": 0.4, + "height": 0.5, + "category": "Passive mobs" + }, + { + "id": 102, + "internalId": 102, + "name": "polar_bear", + "displayName": "Polar bear", + "type": "mob", + "width": 1.3, + "height": 1.4, + "category": "Passive mobs" + }, + { + "id": 103, + "internalId": 103, + "name": "llama", + "displayName": "Llama", + "type": "mob", + "width": 0.9, + "height": 1.87, + "category": "Passive mobs" + }, + { + "id": 104, + "internalId": 104, + "name": "llama_spit", + "displayName": "Llama spit", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 120, + "internalId": 120, + "name": "villager", + "displayName": "Villager", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Passive mobs" + }, + { + "id": 200, + "internalId": 200, + "name": "ender_crystal", + "displayName": "Ender crystal", + "type": "mob", + "width": 2, + "height": 2, + "category": "Immobile" + }, + { + "id": 1, + "internalId": 41, + "name": "boat", + "displayName": "Boat", + "type": "object", + "width": 1.5, + "height": 0.6, + "category": "Vehicles" + }, + { + "id": 2, + "internalId": 1, + "name": "item", + "displayName": "Dropped item", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Drops" + }, + { + "id": 3, + "internalId": 3, + "name": "area_effect_cloud", + "displayName": "Area effect cloud", + "type": "object", + "width": null, + "height": 0.5, + "category": "Immobile" + }, + { + "id": 10, + "internalId": 42, + "name": "minecart", + "displayName": "Minecart", + "type": "object", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 50, + "internalId": 20, + "name": "tnt", + "displayName": "Primed TNT", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 51, + "internalId": 200, + "name": "ender_crystal", + "displayName": "Ender crystal", + "type": "object", + "width": 2, + "height": 2, + "category": "Immobile" + }, + { + "id": 60, + "internalId": 10, + "name": "arrow", + "displayName": "Shot arrow", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 61, + "internalId": 11, + "name": "snowball", + "displayName": "Thrown snowball", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 62, + "internalId": 7, + "name": "egg", + "displayName": "Thrown egg", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 63, + "internalId": 12, + "name": "fireball", + "displayName": "Ghast fireball", + "type": "object", + "width": 1, + "height": 1, + "category": "Projectiles" + }, + { + "id": 64, + "internalId": 13, + "name": "small_fireball", + "displayName": "Blaze fireball", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 65, + "internalId": 14, + "name": "ender_pearl", + "displayName": "Thrown ender pearl", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 66, + "internalId": 19, + "name": "wither_skull", + "displayName": "Wither skull", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 67, + "internalId": 25, + "name": "shulker_bullet", + "displayName": "Shulker bullet", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 68, + "internalId": 104, + "name": "llama_spit", + "displayName": "Llama spit", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 70, + "internalId": 21, + "name": "falling_block", + "displayName": "Falling block", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 71, + "internalId": 18, + "name": "item_frame", + "displayName": "Item frame", + "type": "object", + "width": null, + "height": null, + "category": "Immobile" + }, + { + "id": 72, + "internalId": 15, + "name": "eye_of_ender_signal", + "displayName": "Thrown eye of ender", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 73, + "internalId": 7, + "name": "egg", + "displayName": "Thrown egg", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 75, + "internalId": 11, + "name": "snowball", + "displayName": "Thrown snowball", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 76, + "internalId": 22, + "name": "fireworks_rocket", + "displayName": "Firework rocket", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 77, + "internalId": 8, + "name": "leash_knot", + "displayName": "Lead knot", + "type": "object", + "width": 0.375, + "height": 0.25, + "category": "Immobile" + }, + { + "id": 78, + "internalId": 30, + "name": "armor_stand", + "displayName": "Armor stand", + "type": "object", + "width": 0.5, + "height": 1.975, + "category": "Immobile" + }, + { + "id": 79, + "internalId": 33, + "name": "evocation_fangs", + "displayName": "Evocation fangs", + "type": "object", + "width": 0.5, + "height": 0.8, + "category": "Immobile" + }, + { + "id": 90, + "name": "Fishing Hook", + "displayName": "Fishing Hook", + "type": "object", + "width": 0.25, + "height": 0.25 + }, + { + "id": 91, + "internalId": 24, + "name": "spectral_arrow", + "displayName": "Shot spectral arrow", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 93, + "internalId": 26, + "name": "dragon_fireball", + "displayName": "Dragon fireball", + "type": "object", + "width": 1, + "height": 1, + "category": "Projectiles" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/foods.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/foods.json new file mode 100644 index 00000000..df1e6268 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/foods.json @@ -0,0 +1,358 @@ +[ + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "stackSize": 64, + "foodPoints": 3, + "saturation": 3.6, + "effectiveQuality": 6.6, + "saturationRatio": 1.2 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.6, + "effectiveQuality": 1.6, + "saturationRatio": 0.6 + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple", + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "porkchop", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop", + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ], + "foodPoints": 4, + "saturation": 9.6, + "effectiveQuality": 13.6, + "saturationRatio": 2.4 + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + } + ], + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + } + ], + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake", + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie", + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "beef", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "cooked_beef", + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "chicken", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh", + "foodPoints": 4, + "saturation": 0.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.2 + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye", + "foodPoints": 2, + "saturation": 3.2, + "effectiveQuality": 5.2, + "saturationRatio": 1.6 + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot", + "foodPoints": 6, + "saturation": 14.4, + "effectiveQuality": 20.4, + "saturationRatio": 2.4 + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie", + "foodPoints": 8, + "saturation": 4.8, + "effectiveQuality": 12.8, + "saturationRatio": 0.6 + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "rabbit", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew", + "foodPoints": 10, + "saturation": 12, + "effectiveQuality": 22, + "saturationRatio": 1.2 + }, + { + "id": 423, + "displayName": "Raw Mutton", + "stackSize": 64, + "name": "mutton", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 424, + "displayName": "Cooked Mutton", + "stackSize": 64, + "name": "cooked_mutton", + "foodPoints": 6, + "saturation": 9.6, + "effectiveQuality": 15.6, + "saturationRatio": 1.5999999999999999 + }, + { + "id": 432, + "displayName": "Chorus Fruit", + "stackSize": 64, + "name": "chorus_fruit", + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 434, + "displayName": "Beetroot", + "stackSize": 64, + "name": "beetroot", + "foodPoints": 1, + "saturation": 1.2, + "effectiveQuality": 2.2, + "saturationRatio": 1.2 + }, + { + "id": 436, + "displayName": "Beetroot Soup", + "stackSize": 1, + "name": "beetroot_soup", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/instruments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/instruments.json new file mode 100644 index 00000000..d877f189 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/instruments.json @@ -0,0 +1,22 @@ +[ + { + "id": 0, + "name": "harp" + }, + { + "id": 1, + "name": "doubleBass" + }, + { + "id": 2, + "name": "snareDrum" + }, + { + "id": 3, + "name": "sticks" + }, + { + "id": 4, + "name": "bassDrum" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/items.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/items.json new file mode 100644 index 00000000..361643c4 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/items.json @@ -0,0 +1,2714 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 64 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "planks", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Water", + "name": "flowing_water", + "stackSize": 64 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Lava", + "name": "flowing_lava", + "stackSize": 64 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Wood", + "name": "log", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "noteblock", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "golden_rail", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "web", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Grass", + "name": "tallgrass", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "deadbush", + "stackSize": 64 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "stackSize": 64 + }, + { + "id": 34, + "displayName": "Piston Head", + "name": "piston_head", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "stackSize": 64 + }, + { + "id": 36, + "displayName": "Block moved by Piston", + "name": "piston_extension", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "yellow_flower", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Poppy", + "name": "red_flower", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "gold_block", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "iron_block", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "brick_block", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "mossy_cobblestone", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "mob_spawner", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_stairs", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "diamond_block", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "lit_furnace", + "stackSize": 64 + }, + { + "id": 63, + "displayName": "Standing Sign", + "name": "standing_sign", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "stone_stairs", + "stackSize": 64 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "wall_sign", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "lit_redstone_ore", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "unlit_redstone_torch", + "stackSize": 64 + }, + { + "id": 76, + "displayName": "Redstone Torch (active)", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Snow (layer)", + "name": "snow_layer", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "stackSize": 64 + }, + { + "id": 84, + "displayName": "Jukebox", + "name": "jukebox", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Nether Portal", + "name": "portal", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "lit_pumpkin", + "stackSize": 64 + }, + { + "id": 93, + "displayName": "Redstone Repeater (inactive)", + "name": "unpowered_repeater", + "stackSize": 64 + }, + { + "id": 94, + "displayName": "Redstone Repeater (active)", + "name": "powered_repeater", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "Stained Glass", + "name": "stained_glass", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Stone Bricks", + "name": "stonebrick", + "stackSize": 64 + }, + { + "id": 99, + "displayName": "Brown Mushroom (block)", + "name": "brown_mushroom_block", + "stackSize": 64 + }, + { + "id": 100, + "displayName": "Red Mushroom (block)", + "name": "red_mushroom_block", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vine", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "waterlily", + "stackSize": 64 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchanting_table", + "stackSize": 64 + }, + { + "id": 119, + "displayName": "End Portal", + "name": "end_portal", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 122, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "stackSize": 64 + }, + { + "id": 123, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 124, + "displayName": "Redstone Lamp (active)", + "name": "lit_redstone_lamp", + "stackSize": 64 + }, + { + "id": 125, + "displayName": "Double Wooden Slab", + "name": "double_wooden_slab", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 130, + "displayName": "Ender Chest", + "name": "ender_chest", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "emerald_block", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_stairs", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_stairs", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_stairs", + "stackSize": 64 + }, + { + "id": 137, + "displayName": "Command Block", + "name": "command_block", + "stackSize": 64 + }, + { + "id": 138, + "displayName": "Beacon", + "name": "beacon", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "stackSize": 64 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "light_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 148, + "displayName": "Weighted Pressure Plate (Heavy)", + "name": "heavy_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 149, + "displayName": "Redstone Comparator", + "name": "unpowered_comparator", + "stackSize": 64 + }, + { + "id": 150, + "displayName": "Redstone Comparator (deprecated)", + "name": "powered_comparator", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_detector", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "redstone_block", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "quartz_ore", + "stackSize": 64 + }, + { + "id": 154, + "displayName": "Hopper", + "name": "hopper", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "quartz_block", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_hardened_clay", + "stackSize": 64 + }, + { + "id": 160, + "displayName": "Stained Glass Pane", + "name": "stained_glass_pane", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Leaves (Acacia/Dark Oak)", + "name": "leaves2", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Wood (Acacia/Dark Oak)", + "name": "log2", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_stairs", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_stairs", + "stackSize": 64 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime", + "stackSize": 64 + }, + { + "id": 166, + "displayName": "Barrier", + "name": "barrier", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 168, + "displayName": "Prismarine", + "name": "prismarine", + "stackSize": 64 + }, + { + "id": 169, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_block", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "coal_block", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Large Flowers", + "name": "double_plant", + "stackSize": 64 + }, + { + "id": 176, + "displayName": "Standing Banner", + "name": "standing_banner", + "stackSize": 64 + }, + { + "id": 177, + "displayName": "Wall Banner", + "name": "wall_banner", + "stackSize": 64 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "daylight_detector_inverted", + "stackSize": 64 + }, + { + "id": 179, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "stackSize": 64 + }, + { + "id": 180, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 181, + "displayName": "Double Red Sandstone Slab", + "name": "double_stone_slab2", + "stackSize": 64 + }, + { + "id": 182, + "displayName": "Red Sandstone Slab", + "name": "stone_slab2", + "stackSize": 64 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64 + }, + { + "id": 188, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "stackSize": 64 + }, + { + "id": 189, + "displayName": "Birch Fence", + "name": "birch_fence", + "stackSize": 64 + }, + { + "id": 190, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "stackSize": 64 + }, + { + "id": 191, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "stackSize": 64 + }, + { + "id": 192, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "stackSize": 64 + }, + { + "id": 198, + "displayName": "End Rod", + "name": "end_rod", + "stackSize": 64 + }, + { + "id": 199, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "stackSize": 64 + }, + { + "id": 200, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "stackSize": 64 + }, + { + "id": 201, + "displayName": "Purpur Block", + "name": "purpur_block", + "stackSize": 64 + }, + { + "id": 202, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "stackSize": 64 + }, + { + "id": 203, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "stackSize": 64 + }, + { + "id": 204, + "displayName": "Purpur Double Slab", + "name": "purpur_double_slab", + "stackSize": 64 + }, + { + "id": 205, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "stackSize": 64 + }, + { + "id": 206, + "displayName": "End Stone Bricks", + "name": "end_bricks", + "stackSize": 64 + }, + { + "id": 207, + "displayName": "Beetroot Seeds", + "name": "beetroots", + "stackSize": 64 + }, + { + "id": 208, + "displayName": "Grass Path", + "name": "grass_path", + "stackSize": 64 + }, + { + "id": 209, + "displayName": "End Gateway", + "name": "end_gateway", + "stackSize": 64 + }, + { + "id": 210, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "stackSize": 64 + }, + { + "id": 211, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "stackSize": 64 + }, + { + "id": 212, + "displayName": "Frosted Ice", + "name": "frosted_ice", + "stackSize": 64 + }, + { + "id": 213, + "displayName": "Magma Block", + "name": "magma", + "stackSize": 64 + }, + { + "id": 214, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "stackSize": 64 + }, + { + "id": 215, + "displayName": "Red Nether Brick", + "name": "red_nether_brick", + "stackSize": 64 + }, + { + "id": 216, + "displayName": "Bone Block", + "name": "bone_block", + "stackSize": 64 + }, + { + "id": 217, + "displayName": "Structure Void", + "name": "structure_void", + "stackSize": 64 + }, + { + "id": 218, + "displayName": "Observer", + "name": "observer", + "stackSize": 64 + }, + { + "id": 219, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "stackSize": 64 + }, + { + "id": 220, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "stackSize": 64 + }, + { + "id": 221, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "stackSize": 64 + }, + { + "id": 222, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "stackSize": 64 + }, + { + "id": 223, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "stackSize": 64 + }, + { + "id": 224, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "stackSize": 64 + }, + { + "id": 225, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "stackSize": 64 + }, + { + "id": 226, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "stackSize": 64 + }, + { + "id": 227, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "stackSize": 64 + }, + { + "id": 228, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "stackSize": 64 + }, + { + "id": 229, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "stackSize": 64 + }, + { + "id": 230, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "stackSize": 64 + }, + { + "id": 231, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "stackSize": 64 + }, + { + "id": 232, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "stackSize": 64 + }, + { + "id": 233, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "stackSize": 64 + }, + { + "id": 234, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "stackSize": 64 + }, + { + "id": 255, + "displayName": "Structure Block", + "name": "structure_block", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Iron Shovel", + "stackSize": 1, + "name": "iron_shovel" + }, + { + "id": 257, + "displayName": "Iron Pickaxe", + "stackSize": 1, + "name": "iron_pickaxe" + }, + { + "id": 258, + "displayName": "Iron Axe", + "stackSize": 1, + "name": "iron_axe" + }, + { + "id": 259, + "displayName": "Flint and Steel", + "stackSize": 1, + "name": "flint_and_steel" + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple" + }, + { + "id": 261, + "displayName": "Bow", + "stackSize": 1, + "name": "bow" + }, + { + "id": 262, + "displayName": "Arrow", + "stackSize": 64, + "name": "arrow" + }, + { + "id": 263, + "displayName": "Coal", + "stackSize": 64, + "name": "coal", + "variations": [ + { + "metadata": 0, + "displayName": "Coal" + }, + { + "metadata": 1, + "displayName": "Charcoal" + } + ] + }, + { + "id": 264, + "displayName": "Diamond", + "stackSize": 64, + "name": "diamond" + }, + { + "id": 265, + "displayName": "Iron Ingot", + "stackSize": 64, + "name": "iron_ingot" + }, + { + "id": 266, + "displayName": "Gold Ingot", + "stackSize": 64, + "name": "gold_ingot" + }, + { + "id": 267, + "displayName": "Iron Sword", + "stackSize": 1, + "name": "iron_sword" + }, + { + "id": 268, + "displayName": "Wooden Sword", + "stackSize": 1, + "name": "wooden_sword" + }, + { + "id": 269, + "displayName": "Wooden Shovel", + "stackSize": 1, + "name": "wooden_shovel" + }, + { + "id": 270, + "displayName": "Wooden Pickaxe", + "stackSize": 1, + "name": "wooden_pickaxe" + }, + { + "id": 271, + "displayName": "Wooden Axe", + "stackSize": 1, + "name": "wooden_axe" + }, + { + "id": 272, + "displayName": "Stone Sword", + "stackSize": 1, + "name": "stone_sword" + }, + { + "id": 273, + "displayName": "Stone Shovel", + "stackSize": 1, + "name": "stone_shovel" + }, + { + "id": 274, + "displayName": "Stone Pickaxe", + "stackSize": 1, + "name": "stone_pickaxe" + }, + { + "id": 275, + "displayName": "Stone Axe", + "stackSize": 1, + "name": "stone_axe" + }, + { + "id": 276, + "displayName": "Diamond Sword", + "stackSize": 1, + "name": "diamond_sword" + }, + { + "id": 277, + "displayName": "Diamond Shovel", + "stackSize": 1, + "name": "diamond_shovel" + }, + { + "id": 278, + "displayName": "Diamond Pickaxe", + "stackSize": 1, + "name": "diamond_pickaxe" + }, + { + "id": 279, + "displayName": "Diamond Axe", + "stackSize": 1, + "name": "diamond_axe" + }, + { + "id": 280, + "displayName": "Stick", + "stackSize": 64, + "name": "stick" + }, + { + "id": 281, + "displayName": "Bowl", + "stackSize": 64, + "name": "bowl" + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew" + }, + { + "id": 283, + "displayName": "Golden Sword", + "stackSize": 1, + "name": "golden_sword" + }, + { + "id": 284, + "displayName": "Golden Shovel", + "stackSize": 1, + "name": "golden_shovel" + }, + { + "id": 285, + "displayName": "Golden Pickaxe", + "stackSize": 1, + "name": "golden_pickaxe" + }, + { + "id": 286, + "displayName": "Golden Axe", + "stackSize": 1, + "name": "golden_axe" + }, + { + "id": 287, + "displayName": "String", + "stackSize": 64, + "name": "string" + }, + { + "id": 288, + "displayName": "Feather", + "stackSize": 64, + "name": "feather" + }, + { + "id": 289, + "displayName": "Gunpowder", + "stackSize": 64, + "name": "gunpowder" + }, + { + "id": 290, + "displayName": "Wooden Hoe", + "stackSize": 1, + "name": "wooden_hoe" + }, + { + "id": 291, + "displayName": "Stone Hoe", + "stackSize": 1, + "name": "stone_hoe" + }, + { + "id": 292, + "displayName": "Iron Hoe", + "stackSize": 1, + "name": "iron_hoe" + }, + { + "id": 293, + "displayName": "Diamond Hoe", + "stackSize": 1, + "name": "diamond_hoe" + }, + { + "id": 294, + "displayName": "Golden Hoe", + "stackSize": 1, + "name": "golden_hoe" + }, + { + "id": 295, + "displayName": "Seeds", + "stackSize": 64, + "name": "wheat_seeds" + }, + { + "id": 296, + "displayName": "Wheat", + "stackSize": 64, + "name": "wheat" + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread" + }, + { + "id": 298, + "displayName": "Leather Cap", + "stackSize": 1, + "name": "leather_helmet" + }, + { + "id": 299, + "displayName": "Leather Tunic", + "stackSize": 1, + "name": "leather_chestplate" + }, + { + "id": 300, + "displayName": "Leather Pants", + "stackSize": 1, + "name": "leather_leggings" + }, + { + "id": 301, + "displayName": "Leather Boots", + "stackSize": 1, + "name": "leather_boots" + }, + { + "id": 302, + "displayName": "Chain Helmet", + "stackSize": 1, + "name": "chainmail_helmet" + }, + { + "id": 303, + "displayName": "Chain Chestplate", + "stackSize": 1, + "name": "chainmail_chestplate" + }, + { + "id": 304, + "displayName": "Chain Leggings", + "stackSize": 1, + "name": "chainmail_leggings" + }, + { + "id": 305, + "displayName": "Chain Boots", + "stackSize": 1, + "name": "chainmail_boots" + }, + { + "id": 306, + "displayName": "Iron Helmet", + "stackSize": 1, + "name": "iron_helmet" + }, + { + "id": 307, + "displayName": "Iron Chestplate", + "stackSize": 1, + "name": "iron_chestplate" + }, + { + "id": 308, + "displayName": "Iron Leggings", + "stackSize": 1, + "name": "iron_leggings" + }, + { + "id": 309, + "displayName": "Iron Boots", + "stackSize": 1, + "name": "iron_boots" + }, + { + "id": 310, + "displayName": "Diamond Helmet", + "stackSize": 1, + "name": "diamond_helmet" + }, + { + "id": 311, + "displayName": "Diamond Chestplate", + "stackSize": 1, + "name": "diamond_chestplate" + }, + { + "id": 312, + "displayName": "Diamond Leggings", + "stackSize": 1, + "name": "diamond_leggings" + }, + { + "id": 313, + "displayName": "Diamond Boots", + "stackSize": 1, + "name": "diamond_boots" + }, + { + "id": 314, + "displayName": "Golden Helmet", + "stackSize": 1, + "name": "golden_helmet" + }, + { + "id": 315, + "displayName": "Golden Chestplate", + "stackSize": 1, + "name": "golden_chestplate" + }, + { + "id": 316, + "displayName": "Golden Leggings", + "stackSize": 1, + "name": "golden_leggings" + }, + { + "id": 317, + "displayName": "Golden Boots", + "stackSize": 1, + "name": "golden_boots" + }, + { + "id": 318, + "displayName": "Flint", + "stackSize": 64, + "name": "flint" + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "porkchop" + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop" + }, + { + "id": 321, + "displayName": "Painting", + "stackSize": 64, + "name": "painting" + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ] + }, + { + "id": 323, + "displayName": "Sign", + "stackSize": 16, + "name": "sign" + }, + { + "id": 324, + "displayName": "Oak Door", + "stackSize": 64, + "name": "wooden_door" + }, + { + "id": 325, + "displayName": "Bucket", + "stackSize": 16, + "name": "bucket" + }, + { + "id": 326, + "displayName": "Water Bucket", + "stackSize": 1, + "name": "water_bucket" + }, + { + "id": 327, + "displayName": "Lava Bucket", + "stackSize": 1, + "name": "lava_bucket" + }, + { + "id": 328, + "displayName": "Minecart", + "stackSize": 1, + "name": "minecart" + }, + { + "id": 329, + "displayName": "Saddle", + "stackSize": 1, + "name": "saddle" + }, + { + "id": 330, + "displayName": "Iron Door", + "stackSize": 64, + "name": "iron_door" + }, + { + "id": 331, + "displayName": "Redstone", + "stackSize": 64, + "name": "redstone" + }, + { + "id": 332, + "displayName": "Snowball", + "stackSize": 16, + "name": "snowball" + }, + { + "id": 333, + "displayName": "Boat", + "stackSize": 1, + "name": "boat" + }, + { + "id": 334, + "displayName": "Leather", + "stackSize": 64, + "name": "leather" + }, + { + "id": 335, + "displayName": "Milk", + "stackSize": 1, + "name": "milk_bucket" + }, + { + "id": 336, + "displayName": "Brick", + "stackSize": 64, + "name": "brick" + }, + { + "id": 337, + "displayName": "Clay", + "stackSize": 64, + "name": "clay_ball" + }, + { + "id": 338, + "displayName": "Sugar Cane", + "stackSize": 64, + "name": "reeds" + }, + { + "id": 339, + "displayName": "Paper", + "stackSize": 64, + "name": "paper" + }, + { + "id": 340, + "displayName": "Book", + "stackSize": 64, + "name": "book" + }, + { + "id": 341, + "displayName": "Slimeball", + "stackSize": 64, + "name": "slime_ball" + }, + { + "id": 342, + "displayName": "Minecart with Chest", + "stackSize": 1, + "name": "chest_minecart" + }, + { + "id": 343, + "displayName": "Minecart with Furnace", + "stackSize": 1, + "name": "furnace_minecart" + }, + { + "id": 344, + "displayName": "Egg", + "stackSize": 16, + "name": "egg" + }, + { + "id": 345, + "displayName": "Compass", + "stackSize": 64, + "name": "compass" + }, + { + "id": 346, + "displayName": "Fishing Rod", + "stackSize": 1, + "name": "fishing_rod" + }, + { + "id": 347, + "displayName": "Clock", + "stackSize": 64, + "name": "clock" + }, + { + "id": 348, + "displayName": "Glowstone Dust", + "stackSize": 64, + "name": "glowstone_dust" + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + } + ] + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + } + ] + }, + { + "id": 351, + "displayName": "Dye", + "stackSize": 64, + "name": "dye", + "variations": [ + { + "metadata": 0, + "displayName": "Ink Sac" + }, + { + "metadata": 1, + "displayName": "Rose Red" + }, + { + "metadata": 2, + "displayName": "Cactus Green" + }, + { + "metadata": 3, + "displayName": "Cocoa Beans" + }, + { + "metadata": 4, + "displayName": "Lapis Lazuli" + }, + { + "metadata": 5, + "displayName": "Purple Dye" + }, + { + "metadata": 6, + "displayName": "Cyan Dye" + }, + { + "metadata": 7, + "displayName": "Light Gray Dye" + }, + { + "metadata": 8, + "displayName": "Gray Dye" + }, + { + "metadata": 9, + "displayName": "Pink Dye" + }, + { + "metadata": 10, + "displayName": "Lime Dye" + }, + { + "metadata": 11, + "displayName": "Dandelion Yellow" + }, + { + "metadata": 12, + "displayName": "Light Blue Dye" + }, + { + "metadata": 13, + "displayName": "Magenta Dye" + }, + { + "metadata": 14, + "displayName": "Orange Dye" + }, + { + "metadata": 15, + "displayName": "Bone Meal" + } + ] + }, + { + "id": 352, + "displayName": "Bone", + "stackSize": 64, + "name": "bone" + }, + { + "id": 353, + "displayName": "Sugar", + "stackSize": 64, + "name": "sugar" + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake" + }, + { + "id": 355, + "displayName": "Bed", + "stackSize": 1, + "name": "bed" + }, + { + "id": 356, + "displayName": "Redstone Repeater", + "stackSize": 64, + "name": "repeater" + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie" + }, + { + "id": 358, + "displayName": "Map", + "stackSize": 64, + "name": "filled_map" + }, + { + "id": 359, + "displayName": "Shears", + "stackSize": 1, + "name": "shears" + }, + { + "id": 360, + "displayName": "Melon", + "stackSize": 64, + "name": "melon" + }, + { + "id": 361, + "displayName": "Pumpkin Seeds", + "stackSize": 64, + "name": "pumpkin_seeds" + }, + { + "id": 362, + "displayName": "Melon Seeds", + "stackSize": 64, + "name": "melon_seeds" + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "beef" + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "cooked_beef" + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "chicken" + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken" + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh" + }, + { + "id": 368, + "displayName": "Ender Pearl", + "stackSize": 16, + "name": "ender_pearl" + }, + { + "id": 369, + "displayName": "Blaze Rod", + "stackSize": 64, + "name": "blaze_rod" + }, + { + "id": 370, + "displayName": "Ghast Tear", + "stackSize": 64, + "name": "ghast_tear" + }, + { + "id": 371, + "displayName": "Gold Nugget", + "stackSize": 64, + "name": "gold_nugget" + }, + { + "id": 372, + "displayName": "Nether Wart", + "stackSize": 64, + "name": "nether_wart" + }, + { + "id": 373, + "displayName": "Potion", + "stackSize": 1, + "name": "potion" + }, + { + "id": 374, + "displayName": "Glass Bottle", + "stackSize": 64, + "name": "glass_bottle" + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye" + }, + { + "id": 376, + "displayName": "Fermented Spider Eye", + "stackSize": 64, + "name": "fermented_spider_eye" + }, + { + "id": 377, + "displayName": "Blaze Powder", + "stackSize": 64, + "name": "blaze_powder" + }, + { + "id": 378, + "displayName": "Magma Cream", + "stackSize": 64, + "name": "magma_cream" + }, + { + "id": 379, + "displayName": "Brewing Stand", + "stackSize": 64, + "name": "brewing_stand" + }, + { + "id": 380, + "displayName": "Cauldron", + "stackSize": 64, + "name": "cauldron" + }, + { + "id": 381, + "displayName": "Eye of Ender", + "stackSize": 64, + "name": "ender_eye" + }, + { + "id": 382, + "displayName": "Glistering Melon", + "stackSize": 64, + "name": "speckled_melon" + }, + { + "id": 383, + "displayName": "Spawn Egg", + "stackSize": 64, + "name": "spawn_egg" + }, + { + "id": 384, + "displayName": "Bottle o' Enchanting", + "stackSize": 64, + "name": "experience_bottle" + }, + { + "id": 385, + "displayName": "Fire Charge", + "stackSize": 64, + "name": "fire_charge" + }, + { + "id": 386, + "displayName": "Book and Quill", + "stackSize": 1, + "name": "writable_book" + }, + { + "id": 387, + "displayName": "Written Book", + "stackSize": 16, + "name": "written_book" + }, + { + "id": 388, + "displayName": "Emerald", + "stackSize": 64, + "name": "emerald" + }, + { + "id": 389, + "displayName": "Item Frame", + "stackSize": 64, + "name": "item_frame" + }, + { + "id": 390, + "displayName": "Flower Pot", + "stackSize": 64, + "name": "flower_pot" + }, + { + "id": 391, + "displayName": "Carrot", + "stackSize": 64, + "name": "carrot" + }, + { + "id": 392, + "displayName": "Potato", + "stackSize": 64, + "name": "potato" + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato" + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato" + }, + { + "id": 395, + "displayName": "Empty Map", + "stackSize": 64, + "name": "map" + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot" + }, + { + "id": 397, + "displayName": "Mob head", + "stackSize": 64, + "name": "skull", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ] + }, + { + "id": 398, + "displayName": "Carrot on a Stick", + "stackSize": 1, + "name": "carrot_on_a_stick" + }, + { + "id": 399, + "displayName": "Nether Star", + "stackSize": 64, + "name": "nether_star" + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie" + }, + { + "id": 401, + "displayName": "Firework Rocket", + "stackSize": 64, + "name": "fireworks" + }, + { + "id": 402, + "displayName": "Firework Star", + "stackSize": 64, + "name": "firework_charge" + }, + { + "id": 403, + "displayName": "Enchanted Book", + "stackSize": 1, + "name": "enchanted_book" + }, + { + "id": 404, + "displayName": "Redstone Comparator", + "stackSize": 64, + "name": "comparator" + }, + { + "id": 405, + "displayName": "Nether Brick", + "stackSize": 64, + "name": "netherbrick" + }, + { + "id": 406, + "displayName": "Nether Quartz", + "stackSize": 64, + "name": "quartz" + }, + { + "id": 407, + "displayName": "Minecart with TNT", + "stackSize": 1, + "name": "tnt_minecart" + }, + { + "id": 408, + "displayName": "Minecart with Hopper", + "stackSize": 1, + "name": "hopper_minecart" + }, + { + "id": 409, + "displayName": "Prismarine Shard", + "stackSize": 64, + "name": "prismarine_shard" + }, + { + "id": 410, + "displayName": "Prismarine Crystals", + "stackSize": 64, + "name": "prismarine_crystals" + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "rabbit" + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit" + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew" + }, + { + "id": 414, + "displayName": "Rabbit's Foot", + "stackSize": 64, + "name": "rabbit_foot" + }, + { + "id": 415, + "displayName": "Rabbit Hide", + "stackSize": 64, + "name": "rabbit_hide" + }, + { + "id": 416, + "displayName": "Armor Stand", + "stackSize": 16, + "name": "armor_stand" + }, + { + "id": 417, + "displayName": "Iron Horse Armor", + "stackSize": 1, + "name": "iron_horse_armor" + }, + { + "id": 418, + "displayName": "Golden Horse Armor", + "stackSize": 1, + "name": "golden_horse_armor" + }, + { + "id": 419, + "displayName": "Diamond Horse Armor", + "stackSize": 1, + "name": "diamond_horse_armor" + }, + { + "id": 420, + "displayName": "Lead", + "stackSize": 64, + "name": "lead" + }, + { + "id": 421, + "displayName": "Name Tag", + "stackSize": 64, + "name": "name_tag" + }, + { + "id": 422, + "displayName": "Minecart with Command Block", + "stackSize": 1, + "name": "command_block_minecart" + }, + { + "id": 423, + "displayName": "Raw Mutton", + "stackSize": 64, + "name": "mutton" + }, + { + "id": 424, + "displayName": "Cooked Mutton", + "stackSize": 64, + "name": "cooked_mutton" + }, + { + "id": 425, + "displayName": "Banner", + "stackSize": 16, + "name": "banner" + }, + { + "id": 426, + "displayName": "End Crystal", + "stackSize": 64, + "name": "end_crystal" + }, + { + "id": 427, + "displayName": "Spruce Door", + "stackSize": 64, + "name": "spruce_door" + }, + { + "id": 428, + "displayName": "Birch Door", + "stackSize": 64, + "name": "birch_door" + }, + { + "id": 429, + "displayName": "Jungle Door", + "stackSize": 64, + "name": "jungle_door" + }, + { + "id": 430, + "displayName": "Acacia Door", + "stackSize": 64, + "name": "acacia_door" + }, + { + "id": 431, + "displayName": "Dark Oak Door", + "stackSize": 64, + "name": "dark_oak_door" + }, + { + "id": 432, + "displayName": "Chorus Fruit", + "stackSize": 64, + "name": "chorus_fruit" + }, + { + "id": 433, + "displayName": "Popped Chorus Fruit", + "stackSize": 64, + "name": "chorus_fruit_popped" + }, + { + "id": 434, + "displayName": "Beetroot", + "stackSize": 64, + "name": "beetroot" + }, + { + "id": 435, + "displayName": "Beetroot Seeds", + "stackSize": 64, + "name": "beetroot_seeds" + }, + { + "id": 436, + "displayName": "Beetroot Soup", + "stackSize": 1, + "name": "beetroot_soup" + }, + { + "id": 437, + "displayName": "Dragon's Breath", + "stackSize": 64, + "name": "dragon_breath" + }, + { + "id": 438, + "displayName": "Splash Potion", + "stackSize": 1, + "name": "splash_potion" + }, + { + "id": 439, + "displayName": "Spectral Arrow", + "stackSize": 64, + "name": "spectral_arrow" + }, + { + "id": 440, + "displayName": "Tipped Arrow", + "stackSize": 64, + "name": "tipped_arrow" + }, + { + "id": 441, + "displayName": "Lingering Potion", + "stackSize": 1, + "name": "lingering_potion" + }, + { + "id": 442, + "displayName": "Shield", + "stackSize": 1, + "name": "shield" + }, + { + "id": 443, + "displayName": "Elytra", + "stackSize": 1, + "name": "elytra" + }, + { + "id": 444, + "displayName": "Spruce Boat", + "stackSize": 1, + "name": "spruce_boat" + }, + { + "id": 445, + "displayName": "Birch Boat", + "stackSize": 1, + "name": "birch_boat" + }, + { + "id": 446, + "displayName": "Jungle Boat", + "stackSize": 1, + "name": "jungle_boat" + }, + { + "id": 447, + "displayName": "Acacia Boat", + "stackSize": 1, + "name": "acacia_boat" + }, + { + "id": 448, + "displayName": "Dark Oak Boat", + "stackSize": 1, + "name": "dark_oak_boat" + }, + { + "id": 449, + "displayName": "Totem of Undying", + "stackSize": 1, + "name": "totem_of_undying" + }, + { + "id": 450, + "displayName": "Shulker Shell", + "stackSize": 64, + "name": "shulker_shell" + }, + { + "id": 452, + "displayName": "Iron Nugget", + "stackSize": 64, + "name": "iron_nugget" + }, + { + "id": 2256, + "displayName": "13 Disc", + "stackSize": 1, + "name": "record_13" + }, + { + "id": 2257, + "displayName": "Cat Disc", + "stackSize": 1, + "name": "record_cat" + }, + { + "id": 2258, + "displayName": "Blocks Disc", + "stackSize": 1, + "name": "record_blocks" + }, + { + "id": 2259, + "displayName": "Chirp Disc", + "stackSize": 1, + "name": "record_chirp" + }, + { + "id": 2260, + "displayName": "Far Disc", + "stackSize": 1, + "name": "record_far" + }, + { + "id": 2261, + "displayName": "Mall Disc", + "stackSize": 1, + "name": "record_mall" + }, + { + "id": 2262, + "displayName": "Mellohi Disc", + "stackSize": 1, + "name": "record_mellohi" + }, + { + "id": 2263, + "displayName": "Stal Disc", + "stackSize": 1, + "name": "record_stal" + }, + { + "id": 2264, + "displayName": "Strad Disc", + "stackSize": 1, + "name": "record_strad" + }, + { + "id": 2265, + "displayName": "Ward Disc", + "stackSize": 1, + "name": "record_ward" + }, + { + "id": 2266, + "displayName": "11 Disc", + "stackSize": 1, + "name": "record_11" + }, + { + "id": 2267, + "displayName": "Wait Disc", + "stackSize": 1, + "name": "record_wait" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/language.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/language.json new file mode 100644 index 00000000..6a94e3f3 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/language.json @@ -0,0 +1,3041 @@ +{ + "language.name": "English", + "language.region": "United States", + "language.code": "en_us", + "gui.done": "Done", + "gui.cancel": "Cancel", + "gui.back": "Back", + "gui.toTitle": "Back to title screen", + "gui.toMenu": "Back to server list", + "gui.up": "Up", + "gui.down": "Down", + "gui.yes": "Yes", + "gui.no": "No", + "gui.none": "None", + "gui.all": "All", + "translation.test.none": "Hello, world!", + "translation.test.complex": "Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!", + "translation.test.escape": "%%s %%%s %%%%s %%%%%s", + "translation.test.invalid": "hi %", + "translation.test.invalid2": "hi % s", + "translation.test.args": "%s %s", + "translation.test.world": "world", + "menu.game": "Game Menu", + "menu.singleplayer": "Singleplayer", + "menu.multiplayer": "Multiplayer", + "menu.online": "Minecraft Realms", + "menu.options": "Options...", + "menu.quit": "Quit Game", + "menu.returnToMenu": "Save and Quit to Title", + "menu.disconnect": "Disconnect", + "menu.returnToGame": "Back to Game", + "menu.generatingLevel": "Generating world", + "menu.loadingLevel": "Loading world", + "menu.generatingTerrain": "Building terrain", + "menu.convertingLevel": "Converting world", + "menu.respawning": "Respawning", + "menu.shareToLan": "Open to LAN", + "selectWorld.title": "Select World", + "selectWorld.empty": "empty", + "selectWorld.world": "World", + "selectWorld.select": "Play Selected World", + "selectWorld.create": "Create New World", + "selectWorld.recreate": "Re-Create", + "selectWorld.createDemo": "Play New Demo World", + "selectWorld.delete": "Delete", + "selectWorld.edit": "Edit", + "selectWorld.edit.title": "Edit World", + "selectWorld.edit.resetIcon": "Reset Icon", + "selectWorld.edit.openFolder": "Open Folder", + "selectWorld.edit.save": "Save World", + "selectWorld.deleteQuestion": "Are you sure you want to delete this world?", + "selectWorld.deleteWarning": "will be lost forever! (A long time!)", + "selectWorld.deleteButton": "Delete", + "selectWorld.conversion": "Must be converted!", + "selectWorld.newWorld": "New World", + "selectWorld.newWorld.copyOf": "Copy of %s", + "selectWorld.enterName": "World Name", + "selectWorld.resultFolder": "Will be saved in:", + "selectWorld.enterSeed": "Seed for the world generator", + "selectWorld.seedInfo": "Leave blank for a random seed", + "selectWorld.cheats": "Cheats", + "selectWorld.customizeType": "Customize", + "selectWorld.version": "Version:", + "selectWorld.versionUnknown": "unknown", + "selectWorld.versionQuestion": "Do you really want to load this world?", + "selectWorld.versionWarning": "This world was saved in version '%s' and loading it in this version could cause corruption!", + "selectWorld.versionJoinButton": "Use anyway", + "selectWorld.tooltip.fromNewerVersion1": "World was saved in a newer version,", + "selectWorld.tooltip.fromNewerVersion2": "loading this world could cause problems!", + "selectWorld.tooltip.snapshot1": "Don't forget to backup this world", + "selectWorld.tooltip.snapshot2": "before you load it in this snapshot.", + "selectWorld.unable_to_load": "Unable to load worlds", + "selectWorld.load_folder_access": "Unable to read or access folder where game worlds are saved!", + "createWorld.customize.presets": "Presets", + "createWorld.customize.presets.title": "Select a Preset", + "createWorld.customize.presets.select": "Use Preset", + "createWorld.customize.presets.share": "Want to share your preset with someone? Use the below box!", + "createWorld.customize.presets.list": "Alternatively, here's some we made earlier!", + "createWorld.customize.flat.title": "Superflat Customization", + "createWorld.customize.flat.tile": "Layer Material", + "createWorld.customize.flat.height": "Height", + "createWorld.customize.flat.addLayer": "Add Layer", + "createWorld.customize.flat.editLayer": "Edit Layer", + "createWorld.customize.flat.removeLayer": "Remove Layer", + "createWorld.customize.flat.layer.top": "Top - %s", + "createWorld.customize.flat.layer": "%s", + "createWorld.customize.flat.layer.bottom": "Bottom - %s", + "createWorld.customize.preset.classic_flat": "Classic Flat", + "createWorld.customize.preset.tunnelers_dream": "Tunnelers' Dream", + "createWorld.customize.preset.water_world": "Water World", + "createWorld.customize.preset.overworld": "Overworld", + "createWorld.customize.preset.snowy_kingdom": "Snowy Kingdom", + "createWorld.customize.preset.bottomless_pit": "Bottomless Pit", + "createWorld.customize.preset.desert": "Desert", + "createWorld.customize.preset.redstone_ready": "Redstone Ready", + "createWorld.customize.preset.the_void": "The Void", + "createWorld.customize.custom.page0": "Basic Settings", + "createWorld.customize.custom.page1": "Ore Settings", + "createWorld.customize.custom.page2": "Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.page3": "Extra Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.randomize": "Randomize", + "createWorld.customize.custom.prev": "Previous Page", + "createWorld.customize.custom.next": "Next Page", + "createWorld.customize.custom.defaults": "Defaults", + "createWorld.customize.custom.confirm1": "This will overwrite your current", + "createWorld.customize.custom.confirm2": "settings and cannot be undone.", + "createWorld.customize.custom.confirmTitle": "Warning!", + "createWorld.customize.custom.mainNoiseScaleX": "Main Noise Scale X", + "createWorld.customize.custom.mainNoiseScaleY": "Main Noise Scale Y", + "createWorld.customize.custom.mainNoiseScaleZ": "Main Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleX": "Depth Noise Scale X", + "createWorld.customize.custom.depthNoiseScaleZ": "Depth Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleExponent": "Depth Noise Exponent", + "createWorld.customize.custom.baseSize": "Depth Base Size", + "createWorld.customize.custom.coordinateScale": "Coordinate Scale", + "createWorld.customize.custom.heightScale": "Height Scale", + "createWorld.customize.custom.stretchY": "Height Stretch", + "createWorld.customize.custom.upperLimitScale": "Upper Limit Scale", + "createWorld.customize.custom.lowerLimitScale": "Lower Limit Scale", + "createWorld.customize.custom.biomeDepthWeight": "Biome Depth Weight", + "createWorld.customize.custom.biomeDepthOffset": "Biome Depth Offset", + "createWorld.customize.custom.biomeScaleWeight": "Biome Scale Weight", + "createWorld.customize.custom.biomeScaleOffset": "Biome Scale Offset", + "createWorld.customize.custom.seaLevel": "Sea Level", + "createWorld.customize.custom.useCaves": "Caves", + "createWorld.customize.custom.useStrongholds": "Strongholds", + "createWorld.customize.custom.useVillages": "Villages", + "createWorld.customize.custom.useMineShafts": "Mineshafts", + "createWorld.customize.custom.useTemples": "Temples", + "createWorld.customize.custom.useMonuments": "Ocean Monuments", + "createWorld.customize.custom.useMansions": "Woodland Mansions", + "createWorld.customize.custom.useRavines": "Ravines", + "createWorld.customize.custom.useDungeons": "Dungeons", + "createWorld.customize.custom.dungeonChance": "Dungeon Count", + "createWorld.customize.custom.useWaterLakes": "Water Lakes", + "createWorld.customize.custom.waterLakeChance": "Water Lake Rarity", + "createWorld.customize.custom.useLavaLakes": "Lava Lakes", + "createWorld.customize.custom.lavaLakeChance": "Lava Lake Rarity", + "createWorld.customize.custom.useLavaOceans": "Lava Oceans", + "createWorld.customize.custom.fixedBiome": "Biome", + "createWorld.customize.custom.biomeSize": "Biome Size", + "createWorld.customize.custom.riverSize": "River Size", + "createWorld.customize.custom.size": "Spawn Size", + "createWorld.customize.custom.count": "Spawn Tries", + "createWorld.customize.custom.minHeight": "Min. Height", + "createWorld.customize.custom.maxHeight": "Max. Height", + "createWorld.customize.custom.center": "Center Height", + "createWorld.customize.custom.spread": "Spread Height", + "createWorld.customize.custom.presets.title": "Customize World Presets", + "createWorld.customize.custom.presets": "Presets", + "createWorld.customize.custom.preset.waterWorld": "Water World", + "createWorld.customize.custom.preset.isleLand": "Isle Land", + "createWorld.customize.custom.preset.caveDelight": "Caver's Delight", + "createWorld.customize.custom.preset.mountains": "Mountain Madness", + "createWorld.customize.custom.preset.drought": "Drought", + "createWorld.customize.custom.preset.caveChaos": "Caves of Chaos", + "createWorld.customize.custom.preset.goodLuck": "Good Luck", + "gameMode.survival": "Survival Mode", + "gameMode.creative": "Creative Mode", + "gameMode.adventure": "Adventure Mode", + "gameMode.spectator": "Spectator Mode", + "gameMode.hardcore": "Hardcore Mode!", + "gameMode.changed": "Your game mode has been updated to %s", + "spectatorMenu.previous_page": "Previous Page", + "spectatorMenu.next_page": "Next Page", + "spectatorMenu.close": "Close Menu", + "spectatorMenu.teleport": "Teleport to Player", + "spectatorMenu.teleport.prompt": "Select a player to teleport to", + "spectatorMenu.team_teleport": "Teleport to Team Member", + "spectatorMenu.team_teleport.prompt": "Select a team to teleport to", + "spectatorMenu.root.prompt": "Press a key to select a command, and again to use it.", + "selectWorld.gameMode": "Game Mode", + "selectWorld.gameMode.survival": "Survival", + "selectWorld.gameMode.survival.line1": "Search for resources, crafting, gain", + "selectWorld.gameMode.survival.line2": "levels, health and hunger", + "selectWorld.gameMode.creative": "Creative", + "selectWorld.gameMode.creative.line1": "Unlimited resources, free flying and", + "selectWorld.gameMode.creative.line2": "destroy blocks instantly", + "selectWorld.gameMode.spectator": "Spectator", + "selectWorld.gameMode.spectator.line1": "You can look but don't touch", + "selectWorld.gameMode.hardcore": "Hardcore", + "selectWorld.gameMode.hardcore.line1": "Same as survival mode, locked at hardest", + "selectWorld.gameMode.hardcore.line2": "difficulty, and one life only", + "selectWorld.gameMode.adventure": "Adventure", + "selectWorld.gameMode.adventure.line1": "Same as survival mode, but blocks can't", + "selectWorld.gameMode.adventure.line2": "be added or removed", + "selectWorld.moreWorldOptions": "More World Options...", + "selectWorld.mapFeatures": "Generate Structures:", + "selectWorld.mapFeatures.info": "Villages, dungeons etc", + "selectWorld.mapType": "World Type:", + "selectWorld.mapType.normal": "Normal", + "selectWorld.allowCommands": "Allow Cheats:", + "selectWorld.allowCommands.info": "Commands like /gamemode, /xp", + "selectWorld.hardcoreMode": "Hardcore:", + "selectWorld.hardcoreMode.info": "World is deleted upon death", + "selectWorld.bonusItems": "Bonus Chest:", + "generator.default": "Default", + "generator.flat": "Superflat", + "generator.largeBiomes": "Large Biomes", + "generator.amplified": "AMPLIFIED", + "generator.customized": "Customized", + "generator.debug_all_block_states": "Debug Mode", + "generator.amplified.info": "Notice: Just for fun, requires beefy computer", + "selectServer.title": "Select Server", + "selectServer.empty": "empty", + "selectServer.select": "Join Server", + "selectServer.direct": "Direct Connect", + "selectServer.edit": "Edit", + "selectServer.delete": "Delete", + "selectServer.add": "Add Server", + "selectServer.defaultName": "Minecraft Server", + "selectServer.deleteQuestion": "Are you sure you want to remove this server?", + "selectServer.deleteWarning": "will be lost forever! (A long time!)", + "selectServer.deleteButton": "Delete", + "selectServer.refresh": "Refresh", + "selectServer.hiddenAddress": "(Hidden)", + "addServer.title": "Edit Server Info", + "addServer.enterName": "Server Name", + "addServer.enterIp": "Server Address", + "addServer.add": "Done", + "addServer.hideAddress": "Hide Address", + "addServer.resourcePack": "Server Resource Packs", + "addServer.resourcePack.enabled": "Enabled", + "addServer.resourcePack.disabled": "Disabled", + "addServer.resourcePack.prompt": "Prompt", + "lanServer.title": "LAN World", + "lanServer.scanning": "Scanning for games on your local network", + "lanServer.start": "Start LAN World", + "lanServer.otherPlayers": "Settings for Other Players", + "mcoServer.title": "Minecraft Online World", + "multiplayer.title": "Play Multiplayer", + "multiplayer.connect": "Connect", + "multiplayer.ipinfo": "Enter the IP of a server to connect to it:", + "multiplayer.texturePrompt.line1": "This server recommends the use of a custom resource pack.", + "multiplayer.texturePrompt.line2": "Would you like to download and install it automagically?", + "multiplayer.downloadingTerrain": "Loading terrain", + "multiplayer.downloadingStats": "Downloading statistics & achievements...", + "multiplayer.stopSleeping": "Leave Bed", + "multiplayer.player.joined": "%s joined the game", + "multiplayer.player.joined.renamed": "%s (formerly known as %s) joined the game", + "multiplayer.player.left": "%s left the game", + "chat.cannotSend": "Cannot send chat message", + "chat.type.text": "<%s> %s", + "chat.type.emote": "* %s %s", + "chat.type.announcement": "[%s] %s", + "chat.type.admin": "[%s: %s]", + "chat.type.achievement": "%s has just earned the achievement %s", + "chat.type.achievement.taken": "%s has lost the achievement %s", + "chat.link.confirm": "Are you sure you want to open the following website?", + "chat.link.warning": "Never open links from people that you don't trust!", + "chat.copy": "Copy to Clipboard", + "chat.link.confirmTrusted": "Do you want to open this link or copy it to your clipboard?", + "chat.link.open": "Open in browser", + "menu.playdemo": "Play Demo World", + "menu.resetdemo": "Reset Demo World", + "demo.day.1": "This demo will last five game days, do your best!", + "demo.day.2": "Day Two", + "demo.day.3": "Day Three", + "demo.day.4": "Day Four", + "demo.day.5": "This is your last day!", + "demo.day.warning": "Your time is almost up!", + "demo.day.6": "You have passed your fifth day, use F2 to save a screenshot of your creation", + "demo.reminder": "The demo time has expired, buy the game to continue or start a new world!", + "demo.remainingTime": "Remaining time: %s", + "demo.demoExpired": "Demo time's up!", + "demo.help.movement": "Use %1$s, %2$s, %3$s, %4$s and the mouse to move around", + "demo.help.movementShort": "Move by pressing %1$s, %2$s, %3$s, %4$s", + "demo.help.movementMouse": "Look around using the mouse", + "demo.help.jump": "Jump by pressing %1$s", + "demo.help.inventory": "Use %1$s to open your inventory", + "demo.help.title": "Minecraft Demo Mode", + "demo.help.fullWrapped": "This demo will last 5 ingame days (about 1 hour and 40 minutes of real time). Check the achievements for hints! Have fun!", + "demo.help.buy": "Purchase Now!", + "demo.help.later": "Continue Playing!", + "connect.connecting": "Connecting to the server...", + "connect.authorizing": "Logging in...", + "connect.failed": "Failed to connect to the server", + "disconnect.genericReason": "%s", + "disconnect.disconnected": "Disconnected by Server", + "disconnect.lost": "Connection Lost", + "disconnect.kicked": "Was kicked from the game", + "disconnect.timeout": "Timed out", + "disconnect.closed": "Connection closed", + "disconnect.loginFailed": "Failed to login", + "disconnect.loginFailedInfo": "Failed to login: %s", + "disconnect.loginFailedInfo.serversUnavailable": "The authentication servers are currently down for maintenance.", + "disconnect.loginFailedInfo.invalidSession": "Invalid session (Try restarting your game)", + "disconnect.quitting": "Quitting", + "disconnect.endOfStream": "End of stream", + "disconnect.overflow": "Buffer overflow", + "disconnect.spam": "Kicked for spamming", + "soundCategory.master": "Master Volume", + "soundCategory.music": "Music", + "soundCategory.record": "Jukebox/Note Blocks", + "soundCategory.weather": "Weather", + "soundCategory.hostile": "Hostile Creatures", + "soundCategory.neutral": "Friendly Creatures", + "soundCategory.player": "Players", + "soundCategory.block": "Blocks", + "soundCategory.ambient": "Ambient/Environment", + "soundCategory.voice": "Voice/Speech", + "record.nowPlaying": "Now playing: %s", + "options.off": "OFF", + "options.on": "ON", + "options.visible": "Shown", + "options.hidden": "Hidden", + "options.title": "Options", + "options.controls": "Controls...", + "options.video": "Video Settings...", + "options.language": "Language...", + "options.sounds": "Music & Sounds...", + "options.sounds.title": "Music & Sound Options", + "options.languageWarning": "Language translations may not be 100%% accurate", + "options.videoTitle": "Video Settings", + "options.customizeTitle": "Customize World Settings", + "options.music": "Music", + "options.sound": "Sound", + "options.invertMouse": "Invert Mouse", + "options.fov": "FOV", + "options.fov.min": "Normal", + "options.fov.max": "Quake Pro", + "options.saturation": "Saturation", + "options.gamma": "Brightness", + "options.gamma.min": "Moody", + "options.gamma.max": "Bright", + "options.sensitivity": "Sensitivity", + "options.sensitivity.min": "*yawn*", + "options.sensitivity.max": "HYPERSPEED!!!", + "options.renderDistance": "Render Distance", + "options.viewBobbing": "View Bobbing", + "options.ao": "Smooth Lighting", + "options.ao.off": "OFF", + "options.ao.min": "Minimum", + "options.ao.max": "Maximum", + "options.anaglyph": "3D Anaglyph", + "options.chunks": "%s chunks", + "options.framerate": "%s fps", + "options.framerateLimit": "Max Framerate", + "options.framerateLimit.max": "Unlimited", + "options.difficulty": "Difficulty", + "options.difficulty.peaceful": "Peaceful", + "options.difficulty.easy": "Easy", + "options.difficulty.normal": "Normal", + "options.difficulty.hard": "Hard", + "options.difficulty.hardcore": "Hardcore", + "options.graphics": "Graphics", + "options.graphics.fancy": "Fancy", + "options.graphics.fast": "Fast", + "options.guiScale": "GUI Scale", + "options.guiScale.auto": "Auto", + "options.guiScale.small": "Small", + "options.guiScale.normal": "Normal", + "options.guiScale.large": "Large", + "options.postProcessEnable": "Enable Post-Processing", + "options.renderClouds": "Clouds", + "options.postButton": "Post-Processing Settings...", + "options.postVideoTitle": "Post-Processing Settings", + "options.farWarning1": "A 64 bit Java installation is recommended", + "options.farWarning2": "for 'Far' render distance (you have 32 bit)", + "options.particles": "Particles", + "options.particles.all": "All", + "options.particles.decreased": "Decreased", + "options.particles.minimal": "Minimal", + "options.multiplayer.title": "Multiplayer Settings...", + "options.chat.title": "Chat Settings...", + "options.chat.visibility": "Chat", + "options.chat.visibility.full": "Shown", + "options.chat.visibility.system": "Commands Only", + "options.chat.visibility.hidden": "Hidden", + "options.chat.color": "Colors", + "options.chat.opacity": "Opacity", + "options.chat.links": "Web Links", + "options.chat.links.prompt": "Prompt on Links", + "options.chat.scale": "Scale", + "options.chat.width": "Width", + "options.chat.height.focused": "Focused Height", + "options.chat.height.unfocused": "Unfocused Height", + "options.skinCustomisation": "Skin Customization...", + "options.skinCustomisation.title": "Skin Customization", + "options.modelPart.cape": "Cape", + "options.modelPart.hat": "Hat", + "options.modelPart.jacket": "Jacket", + "options.modelPart.left_sleeve": "Left Sleeve", + "options.modelPart.right_sleeve": "Right Sleeve", + "options.modelPart.left_pants_leg": "Left Pants Leg", + "options.modelPart.right_pants_leg": "Right Pants Leg", + "options.snooper": "Allow Snooper", + "options.snooper.view": "Snooper Settings...", + "options.snooper.title": "Feed us data!", + "options.snooper.desc": "We always want to improve Minecraft and, to help us do that, we'd like to collect some information. This lets us know what hardware to support and where the big problems are. It also gives us a sense of the size of our active player base, so we know if we're doing a good job. You can view all the information we collect below. If you want to opt out then you can simply toggle it off!", + "options.resourcepack": "Resource Packs...", + "options.fullscreen": "Fullscreen", + "options.vsync": "Use VSync", + "options.vbo": "Use VBOs", + "options.touchscreen": "Touchscreen Mode", + "options.reducedDebugInfo": "Reduced Debug Info", + "options.entityShadows": "Entity Shadows", + "options.mainHand": "Main Hand", + "options.mainHand.left": "Left", + "options.mainHand.right": "Right", + "options.attackIndicator": "Attack Indicator", + "options.attack.crosshair": "Crosshair", + "options.attack.hotbar": "Hotbar", + "options.showSubtitles": "Show Subtitles", + "options.realmsNotifications": "Realms Notifications", + "options.autoJump": "Auto-Jump", + "options.mipmapLevels": "Mipmap Levels", + "options.forceUnicodeFont": "Force Unicode Font", + "difficulty.lock.title": "Lock World Difficulty", + "difficulty.lock.question": "Are you sure you want to lock the difficulty of this world? This will set this world to always be %1$s, and you will never be able to change that again.", + "title.oldgl1": "Old graphics card detected; this may prevent you from", + "title.oldgl2": "playing in the future as OpenGL 2.0 will be required.", + "title.oldjava1": "Old java detected; this will prevent you from playing", + "title.oldjava2": "in the future as Java 8 will be required.", + "controls.title": "Controls", + "controls.reset": "Reset", + "controls.resetAll": "Reset Keys", + "key.sprint": "Sprint", + "key.forward": "Walk Forwards", + "key.left": "Strafe Left", + "key.back": "Walk Backwards", + "key.right": "Strafe Right", + "key.jump": "Jump", + "key.inventory": "Open/Close Inventory", + "key.drop": "Drop Selected Item", + "key.swapHands": "Swap Item In Hands", + "key.chat": "Open Chat", + "key.sneak": "Sneak", + "key.playerlist": "List Players", + "key.attack": "Attack/Destroy", + "key.use": "Use Item/Place Block", + "key.pickItem": "Pick Block", + "key.mouseButton": "Button %1$s", + "key.command": "Open Command", + "key.screenshot": "Take Screenshot", + "key.togglePerspective": "Toggle Perspective", + "key.smoothCamera": "Toggle Cinematic Camera", + "key.fullscreen": "Toggle Fullscreen", + "key.spectatorOutlines": "Highlight Players (Spectators)", + "key.hotbar.1": "Hotbar Slot 1", + "key.hotbar.2": "Hotbar Slot 2", + "key.hotbar.3": "Hotbar Slot 3", + "key.hotbar.4": "Hotbar Slot 4", + "key.hotbar.5": "Hotbar Slot 5", + "key.hotbar.6": "Hotbar Slot 6", + "key.hotbar.7": "Hotbar Slot 7", + "key.hotbar.8": "Hotbar Slot 8", + "key.hotbar.9": "Hotbar Slot 9", + "key.categories.movement": "Movement", + "key.categories.misc": "Miscellaneous", + "key.categories.multiplayer": "Multiplayer", + "key.categories.gameplay": "Gameplay", + "key.categories.ui": "Game Interface", + "key.categories.inventory": "Inventory", + "resourcePack.openFolder": "Open Resource Pack Folder", + "resourcePack.title": "Select Resource Packs", + "resourcePack.available.title": "Available Resource Packs", + "resourcePack.selected.title": "Selected Resource Packs", + "resourcePack.folderInfo": "(Place resource pack files here)", + "resourcePack.incompatible": "Incompatible", + "resourcePack.incompatible.old": "(Made for an older version of Minecraft)", + "resourcePack.incompatible.new": "(Made for a newer version of Minecraft)", + "resourcePack.incompatible.confirm.title": "Are you sure you want to load this resource pack?", + "resourcePack.incompatible.confirm.old": "This resource pack was made for an older version of Minecraft and may no longer work correctly.", + "resourcePack.incompatible.confirm.new": "This resource pack was made for a newer version of Minecraft and may no longer work correctly.", + "sign.edit": "Edit sign message", + "book.pageIndicator": "Page %1$s of %2$s", + "book.byAuthor": "by %1$s", + "book.signButton": "Sign", + "book.editTitle": "Enter Book Title:", + "book.finalizeButton": "Sign and Close", + "book.finalizeWarning": "Note! When you sign the book, it will no longer be editable.", + "book.generation.0": "Original", + "book.generation.1": "Copy of original", + "book.generation.2": "Copy of a copy", + "book.generation.3": "Tattered", + "merchant.deprecated": "Trade something else to unlock!", + "tile.air.name": "Air", + "tile.barrier.name": "Barrier", + "tile.stone.stone.name": "Stone", + "tile.stone.granite.name": "Granite", + "tile.stone.graniteSmooth.name": "Polished Granite", + "tile.stone.diorite.name": "Diorite", + "tile.stone.dioriteSmooth.name": "Polished Diorite", + "tile.stone.andesite.name": "Andesite", + "tile.stone.andesiteSmooth.name": "Polished Andesite", + "tile.hayBlock.name": "Hay Bale", + "tile.grass.name": "Grass Block", + "tile.dirt.name": "Dirt", + "tile.dirt.default.name": "Dirt", + "tile.dirt.coarse.name": "Coarse Dirt", + "tile.dirt.podzol.name": "Podzol", + "tile.stonebrick.name": "Cobblestone", + "tile.wood.name": "Wooden Planks", + "tile.wood.oak.name": "Oak Wood Planks", + "tile.wood.spruce.name": "Spruce Wood Planks", + "tile.wood.birch.name": "Birch Wood Planks", + "tile.wood.jungle.name": "Jungle Wood Planks", + "tile.wood.acacia.name": "Acacia Wood Planks", + "tile.wood.big_oak.name": "Dark Oak Wood Planks", + "tile.sapling.oak.name": "Oak Sapling", + "tile.sapling.spruce.name": "Spruce Sapling", + "tile.sapling.birch.name": "Birch Sapling", + "tile.sapling.jungle.name": "Jungle Sapling", + "tile.sapling.acacia.name": "Acacia Sapling", + "tile.sapling.big_oak.name": "Dark Oak Sapling", + "tile.deadbush.name": "Dead Bush", + "tile.bedrock.name": "Bedrock", + "tile.water.name": "Water", + "tile.lava.name": "Lava", + "tile.sand.name": "Sand", + "tile.sand.default.name": "Sand", + "tile.sand.red.name": "Red Sand", + "tile.sandStone.name": "Sandstone", + "tile.sandStone.default.name": "Sandstone", + "tile.sandStone.chiseled.name": "Chiseled Sandstone", + "tile.sandStone.smooth.name": "Smooth Sandstone", + "tile.redSandStone.name": "Red Sandstone", + "tile.redSandStone.default.name": "Red Sandstone", + "tile.redSandStone.chiseled.name": "Chiseled Red Sandstone", + "tile.redSandStone.smooth.name": "Smooth Red Sandstone", + "tile.gravel.name": "Gravel", + "tile.oreGold.name": "Gold Ore", + "tile.oreIron.name": "Iron Ore", + "tile.oreCoal.name": "Coal Ore", + "tile.log.name": "Wood", + "tile.log.oak.name": "Oak Wood", + "tile.log.spruce.name": "Spruce Wood", + "tile.log.birch.name": "Birch Wood", + "tile.log.jungle.name": "Jungle Wood", + "tile.log.acacia.name": "Acacia Wood", + "tile.log.big_oak.name": "Dark Oak Wood", + "tile.leaves.name": "Leaves", + "tile.leaves.oak.name": "Oak Leaves", + "tile.leaves.spruce.name": "Spruce Leaves", + "tile.leaves.birch.name": "Birch Leaves", + "tile.leaves.jungle.name": "Jungle Leaves", + "tile.leaves.acacia.name": "Acacia Leaves", + "tile.leaves.big_oak.name": "Dark Oak Leaves", + "tile.tallgrass.name": "Grass", + "tile.tallgrass.shrub.name": "Shrub", + "tile.tallgrass.grass.name": "Grass", + "tile.tallgrass.fern.name": "Fern", + "tile.sponge.dry.name": "Sponge", + "tile.sponge.wet.name": "Wet Sponge", + "tile.glass.name": "Glass", + "tile.stainedGlass.name": "Stained Glass", + "tile.stainedGlass.black.name": "Black Stained Glass", + "tile.stainedGlass.red.name": "Red Stained Glass", + "tile.stainedGlass.green.name": "Green Stained Glass", + "tile.stainedGlass.brown.name": "Brown Stained Glass", + "tile.stainedGlass.blue.name": "Blue Stained Glass", + "tile.stainedGlass.purple.name": "Purple Stained Glass", + "tile.stainedGlass.cyan.name": "Cyan Stained Glass", + "tile.stainedGlass.silver.name": "Light Gray Stained Glass", + "tile.stainedGlass.gray.name": "Gray Stained Glass", + "tile.stainedGlass.pink.name": "Pink Stained Glass", + "tile.stainedGlass.lime.name": "Lime Stained Glass", + "tile.stainedGlass.yellow.name": "Yellow Stained Glass", + "tile.stainedGlass.lightBlue.name": "Light Blue Stained Glass", + "tile.stainedGlass.magenta.name": "Magenta Stained Glass", + "tile.stainedGlass.orange.name": "Orange Stained Glass", + "tile.stainedGlass.white.name": "White Stained Glass", + "tile.thinStainedGlass.name": "Stained Glass Pane", + "tile.thinStainedGlass.black.name": "Black Stained Glass Pane", + "tile.thinStainedGlass.red.name": "Red Stained Glass Pane", + "tile.thinStainedGlass.green.name": "Green Stained Glass Pane", + "tile.thinStainedGlass.brown.name": "Brown Stained Glass Pane", + "tile.thinStainedGlass.blue.name": "Blue Stained Glass Pane", + "tile.thinStainedGlass.purple.name": "Purple Stained Glass Pane", + "tile.thinStainedGlass.cyan.name": "Cyan Stained Glass Pane", + "tile.thinStainedGlass.silver.name": "Light Gray Stained Glass Pane", + "tile.thinStainedGlass.gray.name": "Gray Stained Glass Pane", + "tile.thinStainedGlass.pink.name": "Pink Stained Glass Pane", + "tile.thinStainedGlass.lime.name": "Lime Stained Glass Pane", + "tile.thinStainedGlass.yellow.name": "Yellow Stained Glass Pane", + "tile.thinStainedGlass.lightBlue.name": "Light Blue Stained Glass Pane", + "tile.thinStainedGlass.magenta.name": "Magenta Stained Glass Pane", + "tile.thinStainedGlass.orange.name": "Orange Stained Glass Pane", + "tile.thinStainedGlass.white.name": "White Stained Glass Pane", + "tile.thinGlass.name": "Glass Pane", + "tile.cloth.name": "Wool", + "tile.flower1.name": "Flower", + "tile.flower1.dandelion.name": "Dandelion", + "tile.flower2.name": "Flower", + "tile.flower2.poppy.name": "Poppy", + "tile.flower2.blueOrchid.name": "Blue Orchid", + "tile.flower2.allium.name": "Allium", + "tile.flower2.houstonia.name": "Azure Bluet", + "tile.flower2.tulipRed.name": "Red Tulip", + "tile.flower2.tulipOrange.name": "Orange Tulip", + "tile.flower2.tulipWhite.name": "White Tulip", + "tile.flower2.tulipPink.name": "Pink Tulip", + "tile.flower2.oxeyeDaisy.name": "Oxeye Daisy", + "tile.doublePlant.name": "Plant", + "tile.doublePlant.sunflower.name": "Sunflower", + "tile.doublePlant.syringa.name": "Lilac", + "tile.doublePlant.grass.name": "Double Tallgrass", + "tile.doublePlant.fern.name": "Large Fern", + "tile.doublePlant.rose.name": "Rose Bush", + "tile.doublePlant.paeonia.name": "Peony", + "tile.mushroom.name": "Mushroom", + "tile.blockGold.name": "Block of Gold", + "tile.blockIron.name": "Block of Iron", + "tile.stoneSlab.name": "Stone Slab", + "tile.stoneSlab.stone.name": "Stone Slab", + "tile.stoneSlab.sand.name": "Sandstone Slab", + "tile.stoneSlab.wood.name": "Wooden Slab", + "tile.stoneSlab.cobble.name": "Cobblestone Slab", + "tile.stoneSlab.brick.name": "Bricks Slab", + "tile.stoneSlab.smoothStoneBrick.name": "Stone Bricks Slab", + "tile.stoneSlab.netherBrick.name": "Nether Brick Slab", + "tile.stoneSlab.quartz.name": "Quartz Slab", + "tile.stoneSlab2.red_sandstone.name": "Red Sandstone Slab", + "tile.woodSlab.name": "Wood Slab", + "tile.woodSlab.oak.name": "Oak Wood Slab", + "tile.woodSlab.spruce.name": "Spruce Wood Slab", + "tile.woodSlab.birch.name": "Birch Wood Slab", + "tile.woodSlab.jungle.name": "Jungle Wood Slab", + "tile.woodSlab.acacia.name": "Acacia Wood Slab", + "tile.woodSlab.big_oak.name": "Dark Oak Wood Slab", + "tile.brick.name": "Bricks", + "tile.tnt.name": "TNT", + "tile.bookshelf.name": "Bookshelf", + "tile.stoneMoss.name": "Moss Stone", + "tile.obsidian.name": "Obsidian", + "tile.torch.name": "Torch", + "tile.fire.name": "Fire", + "tile.mobSpawner.name": "Monster Spawner", + "tile.stairsWood.name": "Oak Wood Stairs", + "tile.stairsWoodSpruce.name": "Spruce Wood Stairs", + "tile.stairsWoodBirch.name": "Birch Wood Stairs", + "tile.stairsWoodJungle.name": "Jungle Wood Stairs", + "tile.stairsWoodAcacia.name": "Acacia Wood Stairs", + "tile.stairsWoodDarkOak.name": "Dark Oak Wood Stairs", + "tile.chest.name": "Chest", + "tile.chestTrap.name": "Trapped Chest", + "tile.redstoneDust.name": "Redstone Dust", + "tile.oreDiamond.name": "Diamond Ore", + "tile.blockCoal.name": "Block of Coal", + "tile.blockDiamond.name": "Block of Diamond", + "tile.workbench.name": "Crafting Table", + "tile.crops.name": "Crops", + "tile.farmland.name": "Farmland", + "tile.furnace.name": "Furnace", + "tile.sign.name": "Sign", + "tile.doorWood.name": "Wooden Door", + "tile.ladder.name": "Ladder", + "tile.rail.name": "Rail", + "tile.goldenRail.name": "Powered Rail", + "tile.activatorRail.name": "Activator Rail", + "tile.detectorRail.name": "Detector Rail", + "tile.stairsStone.name": "Cobblestone Stairs", + "tile.stairsSandStone.name": "Sandstone Stairs", + "tile.stairsRedSandStone.name": "Red Sandstone Stairs", + "tile.lever.name": "Lever", + "tile.pressurePlateStone.name": "Stone Pressure Plate", + "tile.pressurePlateWood.name": "Wooden Pressure Plate", + "tile.weightedPlate_light.name": "Weighted Pressure Plate (Light)", + "tile.weightedPlate_heavy.name": "Weighted Pressure Plate (Heavy)", + "tile.doorIron.name": "Iron Door", + "tile.oreRedstone.name": "Redstone Ore", + "tile.notGate.name": "Redstone Torch", + "tile.button.name": "Button", + "tile.snow.name": "Snow", + "tile.woolCarpet.name": "Carpet", + "tile.woolCarpet.black.name": "Black Carpet", + "tile.woolCarpet.red.name": "Red Carpet", + "tile.woolCarpet.green.name": "Green Carpet", + "tile.woolCarpet.brown.name": "Brown Carpet", + "tile.woolCarpet.blue.name": "Blue Carpet", + "tile.woolCarpet.purple.name": "Purple Carpet", + "tile.woolCarpet.cyan.name": "Cyan Carpet", + "tile.woolCarpet.silver.name": "Light Gray Carpet", + "tile.woolCarpet.gray.name": "Gray Carpet", + "tile.woolCarpet.pink.name": "Pink Carpet", + "tile.woolCarpet.lime.name": "Lime Carpet", + "tile.woolCarpet.yellow.name": "Yellow Carpet", + "tile.woolCarpet.lightBlue.name": "Light Blue Carpet", + "tile.woolCarpet.magenta.name": "Magenta Carpet", + "tile.woolCarpet.orange.name": "Orange Carpet", + "tile.woolCarpet.white.name": "White Carpet", + "tile.ice.name": "Ice", + "tile.frostedIce.name": "Frosted Ice", + "tile.icePacked.name": "Packed Ice", + "tile.cactus.name": "Cactus", + "tile.clay.name": "Clay", + "tile.clayHardenedStained.name": "Stained Hardened Clay", + "tile.clayHardenedStained.black.name": "Black Hardened Clay", + "tile.clayHardenedStained.red.name": "Red Hardened Clay", + "tile.clayHardenedStained.green.name": "Green Hardened Clay", + "tile.clayHardenedStained.brown.name": "Brown Hardened Clay", + "tile.clayHardenedStained.blue.name": "Blue Hardened Clay", + "tile.clayHardenedStained.purple.name": "Purple Hardened Clay", + "tile.clayHardenedStained.cyan.name": "Cyan Hardened Clay", + "tile.clayHardenedStained.silver.name": "Light Gray Hardened Clay", + "tile.clayHardenedStained.gray.name": "Gray Hardened Clay", + "tile.clayHardenedStained.pink.name": "Pink Hardened Clay", + "tile.clayHardenedStained.lime.name": "Lime Hardened Clay", + "tile.clayHardenedStained.yellow.name": "Yellow Hardened Clay", + "tile.clayHardenedStained.lightBlue.name": "Light Blue Hardened Clay", + "tile.clayHardenedStained.magenta.name": "Magenta Hardened Clay", + "tile.clayHardenedStained.orange.name": "Orange Hardened Clay", + "tile.clayHardenedStained.white.name": "White Hardened Clay", + "tile.clayHardened.name": "Hardened Clay", + "tile.reeds.name": "Sugar cane", + "tile.jukebox.name": "Jukebox", + "tile.fence.name": "Oak Fence", + "tile.spruceFence.name": "Spruce Fence", + "tile.birchFence.name": "Birch Fence", + "tile.jungleFence.name": "Jungle Fence", + "tile.darkOakFence.name": "Dark Oak Fence", + "tile.acaciaFence.name": "Acacia Fence", + "tile.fenceGate.name": "Oak Fence Gate", + "tile.spruceFenceGate.name": "Spruce Fence Gate", + "tile.birchFenceGate.name": "Birch Fence Gate", + "tile.jungleFenceGate.name": "Jungle Fence Gate", + "tile.darkOakFenceGate.name": "Dark Oak Fence Gate", + "tile.acaciaFenceGate.name": "Acacia Fence Gate", + "tile.pumpkinStem.name": "Pumpkin Stem", + "tile.pumpkin.name": "Pumpkin", + "tile.litpumpkin.name": "Jack o'Lantern", + "tile.hellrock.name": "Netherrack", + "tile.hellsand.name": "Soul Sand", + "tile.lightgem.name": "Glowstone", + "tile.portal.name": "Portal", + "tile.cloth.black.name": "Black Wool", + "tile.cloth.red.name": "Red Wool", + "tile.cloth.green.name": "Green Wool", + "tile.cloth.brown.name": "Brown Wool", + "tile.cloth.blue.name": "Blue Wool", + "tile.cloth.purple.name": "Purple Wool", + "tile.cloth.cyan.name": "Cyan Wool", + "tile.cloth.silver.name": "Light Gray Wool", + "tile.cloth.gray.name": "Gray Wool", + "tile.cloth.pink.name": "Pink Wool", + "tile.cloth.lime.name": "Lime Wool", + "tile.cloth.yellow.name": "Yellow Wool", + "tile.cloth.lightBlue.name": "Light Blue Wool", + "tile.cloth.magenta.name": "Magenta Wool", + "tile.cloth.orange.name": "Orange Wool", + "tile.cloth.white.name": "White Wool", + "tile.oreLapis.name": "Lapis Lazuli Ore", + "tile.blockLapis.name": "Lapis Lazuli Block", + "tile.dispenser.name": "Dispenser", + "tile.dropper.name": "Dropper", + "tile.musicBlock.name": "Note Block", + "tile.cake.name": "Cake", + "tile.bed.name": "Bed", + "tile.bed.occupied": "This bed is occupied", + "tile.bed.noSleep": "You can only sleep at night", + "tile.bed.tooFarAway": "You may not rest now, the bed is too far away", + "tile.bed.notSafe": "You may not rest now, there are monsters nearby", + "tile.bed.notValid": "Your home bed was missing or obstructed", + "tile.lockedchest.name": "Locked chest", + "tile.trapdoor.name": "Wooden Trapdoor", + "tile.ironTrapdoor.name": "Iron Trapdoor", + "tile.web.name": "Cobweb", + "tile.stonebricksmooth.name": "Stone Bricks", + "tile.stonebricksmooth.default.name": "Stone Bricks", + "tile.stonebricksmooth.mossy.name": "Mossy Stone Bricks", + "tile.stonebricksmooth.cracked.name": "Cracked Stone Bricks", + "tile.stonebricksmooth.chiseled.name": "Chiseled Stone Bricks", + "tile.monsterStoneEgg.name": "Stone Monster Egg", + "tile.monsterStoneEgg.stone.name": "Stone Monster Egg", + "tile.monsterStoneEgg.cobble.name": "Cobblestone Monster Egg", + "tile.monsterStoneEgg.brick.name": "Stone Brick Monster Egg", + "tile.monsterStoneEgg.mossybrick.name": "Mossy Stone Brick Monster Egg", + "tile.monsterStoneEgg.crackedbrick.name": "Cracked Stone Brick Monster Egg", + "tile.monsterStoneEgg.chiseledbrick.name": "Chiseled Stone Brick Monster Egg", + "tile.pistonBase.name": "Piston", + "tile.pistonStickyBase.name": "Sticky Piston", + "tile.fenceIron.name": "Iron Bars", + "tile.melon.name": "Melon", + "tile.stairsBrick.name": "Brick Stairs", + "tile.stairsStoneBrickSmooth.name": "Stone Brick Stairs", + "tile.vine.name": "Vines", + "tile.netherBrick.name": "Nether Brick", + "tile.netherFence.name": "Nether Brick Fence", + "tile.stairsNetherBrick.name": "Nether Brick Stairs", + "tile.netherStalk.name": "Nether Wart", + "tile.cauldron.name": "Cauldron", + "tile.enchantmentTable.name": "Enchantment Table", + "tile.anvil.name": "Anvil", + "tile.anvil.intact.name": "Anvil", + "tile.anvil.slightlyDamaged.name": "Slightly Damaged Anvil", + "tile.anvil.veryDamaged.name": "Very Damaged Anvil", + "tile.whiteStone.name": "End Stone", + "tile.endPortalFrame.name": "End Portal", + "tile.mycel.name": "Mycelium", + "tile.waterlily.name": "Lily Pad", + "tile.dragonEgg.name": "Dragon Egg", + "tile.redstoneLight.name": "Redstone Lamp", + "tile.cocoa.name": "Cocoa", + "tile.enderChest.name": "Ender Chest", + "tile.oreEmerald.name": "Emerald Ore", + "tile.blockEmerald.name": "Block of Emerald", + "tile.blockRedstone.name": "Block of Redstone", + "tile.tripWire.name": "Tripwire", + "tile.tripWireSource.name": "Tripwire Hook", + "tile.commandBlock.name": "Command Block", + "tile.repeatingCommandBlock.name": "Repeating Command Block", + "tile.chainCommandBlock.name": "Chain Command Block", + "tile.beacon.name": "Beacon", + "tile.beacon.primary": "Primary Power", + "tile.beacon.secondary": "Secondary Power", + "tile.cobbleWall.normal.name": "Cobblestone Wall", + "tile.cobbleWall.mossy.name": "Mossy Cobblestone Wall", + "tile.carrots.name": "Carrots", + "tile.potatoes.name": "Potatoes", + "tile.daylightDetector.name": "Daylight Sensor", + "tile.netherquartz.name": "Nether Quartz Ore", + "tile.hopper.name": "Hopper", + "tile.quartzBlock.name": "Block of Quartz", + "tile.quartzBlock.default.name": "Block of Quartz", + "tile.quartzBlock.chiseled.name": "Chiseled Quartz Block", + "tile.quartzBlock.lines.name": "Pillar Quartz Block", + "tile.stairsQuartz.name": "Quartz Stairs", + "tile.slime.name": "Slime Block", + "tile.prismarine.rough.name": "Prismarine", + "tile.prismarine.bricks.name": "Prismarine Bricks", + "tile.prismarine.dark.name": "Dark Prismarine", + "tile.seaLantern.name": "Sea Lantern", + "tile.endRod.name": "End Rod", + "tile.chorusPlant.name": "Chorus Plant", + "tile.chorusFlower.name": "Chorus Flower", + "tile.purpurBlock.name": "Purpur Block", + "tile.purpurPillar.name": "Purpur Pillar", + "tile.stairsPurpur.name": "Purpur Stairs", + "tile.purpurSlab.name": "Purpur Slab", + "tile.endBricks.name": "End Stone Bricks", + "tile.beetroots.name": "Beetroots", + "tile.grassPath.name": "Grass Path", + "tile.magma.name": "Magma Block", + "tile.netherWartBlock.name": "Nether Wart Block", + "tile.redNetherBrick.name": "Red Nether Brick", + "tile.boneBlock.name": "Bone Block", + "tile.observer.name": "Observer", + "tile.shulkerBoxWhite.name": "White Shulker Box", + "tile.shulkerBoxOrange.name": "Orange Shulker Box", + "tile.shulkerBoxMagenta.name": "Magenta Shulker Box", + "tile.shulkerBoxLightBlue.name": "Light Blue Shulker Box", + "tile.shulkerBoxYellow.name": "Yellow Shulker Box", + "tile.shulkerBoxLime.name": "Lime Shulker Box", + "tile.shulkerBoxPink.name": "Pink Shulker Box", + "tile.shulkerBoxGray.name": "Gray Shulker Box", + "tile.shulkerBoxSilver.name": "Light Gray Shulker Box", + "tile.shulkerBoxCyan.name": "Cyan Shulker Box", + "tile.shulkerBoxPurple.name": "Purple Shulker Box", + "tile.shulkerBoxBlue.name": "Blue Shulker Box", + "tile.shulkerBoxBrown.name": "Brown Shulker Box", + "tile.shulkerBoxGreen.name": "Green Shulker Box", + "tile.shulkerBoxRed.name": "Red Shulker Box", + "tile.shulkerBoxBlack.name": "Black Shulker Box", + "tile.structureVoid.name": "Structure Void", + "tile.structureBlock.name": "Structure Block", + "item.nameTag.name": "Name Tag", + "item.leash.name": "Lead", + "item.shovelIron.name": "Iron Shovel", + "item.pickaxeIron.name": "Iron Pickaxe", + "item.hatchetIron.name": "Iron Axe", + "item.flintAndSteel.name": "Flint and Steel", + "item.apple.name": "Apple", + "item.cookie.name": "Cookie", + "item.bow.name": "Bow", + "item.arrow.name": "Arrow", + "item.spectral_arrow.name": "Spectral Arrow", + "item.tipped_arrow.name": "Tipped Arrow", + "item.coal.name": "Coal", + "item.charcoal.name": "Charcoal", + "item.diamond.name": "Diamond", + "item.emerald.name": "Emerald", + "item.ingotIron.name": "Iron Ingot", + "item.ingotGold.name": "Gold Ingot", + "item.swordIron.name": "Iron Sword", + "item.swordWood.name": "Wooden Sword", + "item.shovelWood.name": "Wooden Shovel", + "item.pickaxeWood.name": "Wooden Pickaxe", + "item.hatchetWood.name": "Wooden Axe", + "item.swordStone.name": "Stone Sword", + "item.shovelStone.name": "Stone Shovel", + "item.pickaxeStone.name": "Stone Pickaxe", + "item.hatchetStone.name": "Stone Axe", + "item.swordDiamond.name": "Diamond Sword", + "item.shovelDiamond.name": "Diamond Shovel", + "item.pickaxeDiamond.name": "Diamond Pickaxe", + "item.hatchetDiamond.name": "Diamond Axe", + "item.stick.name": "Stick", + "item.bowl.name": "Bowl", + "item.mushroomStew.name": "Mushroom Stew", + "item.swordGold.name": "Golden Sword", + "item.shovelGold.name": "Golden Shovel", + "item.pickaxeGold.name": "Golden Pickaxe", + "item.hatchetGold.name": "Golden Axe", + "item.string.name": "String", + "item.feather.name": "Feather", + "item.sulphur.name": "Gunpowder", + "item.hoeWood.name": "Wooden Hoe", + "item.hoeStone.name": "Stone Hoe", + "item.hoeIron.name": "Iron Hoe", + "item.hoeDiamond.name": "Diamond Hoe", + "item.hoeGold.name": "Golden Hoe", + "item.seeds.name": "Seeds", + "item.seeds_pumpkin.name": "Pumpkin Seeds", + "item.seeds_melon.name": "Melon Seeds", + "item.melon.name": "Melon", + "item.wheat.name": "Wheat", + "item.bread.name": "Bread", + "item.helmetCloth.name": "Leather Cap", + "item.chestplateCloth.name": "Leather Tunic", + "item.leggingsCloth.name": "Leather Pants", + "item.bootsCloth.name": "Leather Boots", + "item.helmetChain.name": "Chain Helmet", + "item.chestplateChain.name": "Chain Chestplate", + "item.leggingsChain.name": "Chain Leggings", + "item.bootsChain.name": "Chain Boots", + "item.helmetIron.name": "Iron Helmet", + "item.chestplateIron.name": "Iron Chestplate", + "item.leggingsIron.name": "Iron Leggings", + "item.bootsIron.name": "Iron Boots", + "item.helmetDiamond.name": "Diamond Helmet", + "item.chestplateDiamond.name": "Diamond Chestplate", + "item.leggingsDiamond.name": "Diamond Leggings", + "item.bootsDiamond.name": "Diamond Boots", + "item.helmetGold.name": "Golden Helmet", + "item.chestplateGold.name": "Golden Chestplate", + "item.leggingsGold.name": "Golden Leggings", + "item.bootsGold.name": "Golden Boots", + "item.flint.name": "Flint", + "item.porkchopRaw.name": "Raw Porkchop", + "item.porkchopCooked.name": "Cooked Porkchop", + "item.chickenRaw.name": "Raw Chicken", + "item.chickenCooked.name": "Cooked Chicken", + "item.muttonRaw.name": "Raw Mutton", + "item.muttonCooked.name": "Cooked Mutton", + "item.rabbitRaw.name": "Raw Rabbit", + "item.rabbitCooked.name": "Cooked Rabbit", + "item.rabbitStew.name": "Rabbit Stew", + "item.rabbitFoot.name": "Rabbit's Foot", + "item.rabbitHide.name": "Rabbit Hide", + "item.beefRaw.name": "Raw Beef", + "item.beefCooked.name": "Steak", + "item.painting.name": "Painting", + "item.frame.name": "Item Frame", + "item.appleGold.name": "Golden Apple", + "item.sign.name": "Sign", + "item.doorOak.name": "Oak Door", + "item.doorSpruce.name": "Spruce Door", + "item.doorBirch.name": "Birch Door", + "item.doorJungle.name": "Jungle Door", + "item.doorAcacia.name": "Acacia Door", + "item.doorDarkOak.name": "Dark Oak Door", + "item.bucket.name": "Bucket", + "item.bucketWater.name": "Water Bucket", + "item.bucketLava.name": "Lava Bucket", + "item.minecart.name": "Minecart", + "item.saddle.name": "Saddle", + "item.doorIron.name": "Iron Door", + "item.redstone.name": "Redstone", + "item.snowball.name": "Snowball", + "item.boat.oak.name": "Oak Boat", + "item.boat.spruce.name": "Spruce Boat", + "item.boat.birch.name": "Birch Boat", + "item.boat.jungle.name": "Jungle Boat", + "item.boat.acacia.name": "Acacia Boat", + "item.boat.dark_oak.name": "Dark Oak Boat", + "item.leather.name": "Leather", + "item.milk.name": "Milk", + "item.brick.name": "Brick", + "item.clay.name": "Clay", + "item.reeds.name": "Sugar Canes", + "item.paper.name": "Paper", + "item.book.name": "Book", + "item.slimeball.name": "Slimeball", + "item.minecartChest.name": "Minecart with Chest", + "item.minecartFurnace.name": "Minecart with Furnace", + "item.minecartTnt.name": "Minecart with TNT", + "item.minecartHopper.name": "Minecart with Hopper", + "item.minecartCommandBlock.name": "Minecart with Command Block", + "item.egg.name": "Egg", + "item.compass.name": "Compass", + "item.fishingRod.name": "Fishing Rod", + "item.clock.name": "Clock", + "item.yellowDust.name": "Glowstone Dust", + "item.fish.cod.raw.name": "Raw Fish", + "item.fish.salmon.raw.name": "Raw Salmon", + "item.fish.pufferfish.raw.name": "Pufferfish", + "item.fish.clownfish.raw.name": "Clownfish", + "item.fish.cod.cooked.name": "Cooked Fish", + "item.fish.salmon.cooked.name": "Cooked Salmon", + "item.record.name": "Music Disc", + "item.record.13.desc": "C418 - 13", + "item.record.cat.desc": "C418 - cat", + "item.record.blocks.desc": "C418 - blocks", + "item.record.chirp.desc": "C418 - chirp", + "item.record.far.desc": "C418 - far", + "item.record.mall.desc": "C418 - mall", + "item.record.mellohi.desc": "C418 - mellohi", + "item.record.stal.desc": "C418 - stal", + "item.record.strad.desc": "C418 - strad", + "item.record.ward.desc": "C418 - ward", + "item.record.11.desc": "C418 - 11", + "item.record.wait.desc": "C418 - wait", + "item.bone.name": "Bone", + "item.dyePowder.black.name": "Ink Sac", + "item.dyePowder.red.name": "Rose Red", + "item.dyePowder.green.name": "Cactus Green", + "item.dyePowder.brown.name": "Cocoa Beans", + "item.dyePowder.blue.name": "Lapis Lazuli", + "item.dyePowder.purple.name": "Purple Dye", + "item.dyePowder.cyan.name": "Cyan Dye", + "item.dyePowder.silver.name": "Light Gray Dye", + "item.dyePowder.gray.name": "Gray Dye", + "item.dyePowder.pink.name": "Pink Dye", + "item.dyePowder.lime.name": "Lime Dye", + "item.dyePowder.yellow.name": "Dandelion Yellow", + "item.dyePowder.lightBlue.name": "Light Blue Dye", + "item.dyePowder.magenta.name": "Magenta Dye", + "item.dyePowder.orange.name": "Orange Dye", + "item.dyePowder.white.name": "Bone Meal", + "item.sugar.name": "Sugar", + "item.cake.name": "Cake", + "item.bed.name": "Bed", + "item.diode.name": "Redstone Repeater", + "item.comparator.name": "Redstone Comparator", + "item.map.name": "Map", + "item.leaves.name": "Leaves", + "item.shears.name": "Shears", + "item.rottenFlesh.name": "Rotten Flesh", + "item.enderPearl.name": "Ender Pearl", + "item.blazeRod.name": "Blaze Rod", + "item.ghastTear.name": "Ghast Tear", + "item.netherStalkSeeds.name": "Nether Wart", + "item.potion.name": "Potion", + "item.splash_potion.name": "Splash Potion", + "item.lingering_potion.name": "Lingering Potion", + "item.end_crystal.name": "End Crystal", + "item.goldNugget.name": "Gold Nugget", + "item.glassBottle.name": "Glass Bottle", + "item.spiderEye.name": "Spider Eye", + "item.fermentedSpiderEye.name": "Fermented Spider Eye", + "item.blazePowder.name": "Blaze Powder", + "item.magmaCream.name": "Magma Cream", + "item.cauldron.name": "Cauldron", + "item.brewingStand.name": "Brewing Stand", + "item.eyeOfEnder.name": "Eye of Ender", + "item.speckledMelon.name": "Glistering Melon", + "item.monsterPlacer.name": "Spawn", + "item.expBottle.name": "Bottle o' Enchanting", + "item.fireball.name": "Fire Charge", + "item.writingBook.name": "Book and Quill", + "item.writtenBook.name": "Written Book", + "item.flowerPot.name": "Flower Pot", + "item.emptyMap.name": "Empty Map", + "item.carrots.name": "Carrot", + "item.carrotGolden.name": "Golden Carrot", + "item.potato.name": "Potato", + "item.potatoBaked.name": "Baked Potato", + "item.potatoPoisonous.name": "Poisonous Potato", + "item.skull.skeleton.name": "Skeleton Skull", + "item.skull.wither.name": "Wither Skeleton Skull", + "item.skull.zombie.name": "Zombie Head", + "item.skull.char.name": "Head", + "item.skull.player.name": "%s's Head", + "item.skull.creeper.name": "Creeper Head", + "item.skull.dragon.name": "Dragon Head", + "item.carrotOnAStick.name": "Carrot on a Stick", + "item.netherStar.name": "Nether Star", + "item.pumpkinPie.name": "Pumpkin Pie", + "item.enchantedBook.name": "Enchanted Book", + "item.fireworks.name": "Firework Rocket", + "item.fireworks.flight": "Flight Duration:", + "item.fireworksCharge.name": "Firework Star", + "item.fireworksCharge.black": "Black", + "item.fireworksCharge.red": "Red", + "item.fireworksCharge.green": "Green", + "item.fireworksCharge.brown": "Brown", + "item.fireworksCharge.blue": "Blue", + "item.fireworksCharge.purple": "Purple", + "item.fireworksCharge.cyan": "Cyan", + "item.fireworksCharge.silver": "Light Gray", + "item.fireworksCharge.gray": "Gray", + "item.fireworksCharge.pink": "Pink", + "item.fireworksCharge.lime": "Lime", + "item.fireworksCharge.yellow": "Yellow", + "item.fireworksCharge.lightBlue": "Light Blue", + "item.fireworksCharge.magenta": "Magenta", + "item.fireworksCharge.orange": "Orange", + "item.fireworksCharge.white": "White", + "item.fireworksCharge.customColor": "Custom", + "item.fireworksCharge.fadeTo": "Fade to", + "item.fireworksCharge.flicker": "Twinkle", + "item.fireworksCharge.trail": "Trail", + "item.fireworksCharge.type.0": "Small Ball", + "item.fireworksCharge.type.1": "Large Ball", + "item.fireworksCharge.type.2": "Star-shaped", + "item.fireworksCharge.type.3": "Creeper-shaped", + "item.fireworksCharge.type.4": "Burst", + "item.fireworksCharge.type": "Unknown Shape", + "item.netherbrick.name": "Nether Brick", + "item.netherquartz.name": "Nether Quartz", + "item.armorStand.name": "Armor Stand", + "item.horsearmormetal.name": "Iron Horse Armor", + "item.horsearmorgold.name": "Gold Horse Armor", + "item.horsearmordiamond.name": "Diamond Horse Armor", + "item.prismarineShard.name": "Prismarine Shard", + "item.prismarineCrystals.name": "Prismarine Crystals", + "item.chorusFruit.name": "Chorus Fruit", + "item.chorusFruitPopped.name": "Popped Chorus Fruit", + "item.beetroot.name": "Beetroot", + "item.beetroot_seeds.name": "Beetroot Seeds", + "item.beetroot_soup.name": "Beetroot Soup", + "item.dragon_breath.name": "Dragon's Breath", + "item.elytra.name": "Elytra", + "item.totem.name": "Totem of Undying", + "item.shulkerShell.name": "Shulker Shell", + "item.ironNugget.name": "Iron Nugget", + "container.inventory": "Inventory", + "container.hopper": "Item Hopper", + "container.crafting": "Crafting", + "container.dispenser": "Dispenser", + "container.dropper": "Dropper", + "container.furnace": "Furnace", + "container.enchant": "Enchant", + "container.enchant.lapis.one": "1 Lapis Lazuli", + "container.enchant.lapis.many": "%s Lapis Lazuli", + "container.enchant.level.one": "1 Enchantment Level", + "container.enchant.level.many": "%s Enchantment Levels", + "container.enchant.clue": "%s . . . ?", + "container.repair": "Repair & Name", + "container.repair.cost": "Enchantment Cost: %1$s", + "container.repair.expensive": "Too Expensive!", + "container.creative": "Item Selection", + "container.brewing": "Brewing Stand", + "container.chest": "Chest", + "container.chestDouble": "Large Chest", + "container.enderchest": "Ender Chest", + "container.beacon": "Beacon", + "container.shulkerBox": "Shulker Box", + "container.shulkerBox.more": "and %s more...", + "container.spectatorCantOpen": "Unable to open. Loot not generated yet.", + "container.isLocked": "%s is locked!", + "structure_block.save_success": "Structure saved as '%s'", + "structure_block.save_failure": "Unable to save structure '%s'", + "structure_block.load_success": "Structure loaded from '%s'", + "structure_block.load_prepare": "Structure '%s' position prepared", + "structure_block.load_not_found": "Structure '%s' is not available", + "structure_block.size_success": "Size successfully detected for '%s'", + "structure_block.size_failure": "Unable to detect structure size, add corners with matching structure names", + "structure_block.mode.save": "[S]", + "structure_block.mode.load": "[L]", + "structure_block.mode.data": "[D]", + "structure_block.mode.corner": "[C]", + "structure_block.hover.save": "Save: %s", + "structure_block.hover.load": "Load: %s", + "structure_block.hover.data": "Data: %s", + "structure_block.hover.corner": "Corner: %s", + "structure_block.mode_info.save": "Save mode - write to file", + "structure_block.mode_info.load": "Load mode - load from file", + "structure_block.mode_info.data": "Data mode - game logic marker", + "structure_block.mode_info.corner": "Corner mode - placement and size marker", + "structure_block.structure_name": "Structure Name", + "structure_block.custom_data": "Custom Data Tag Name", + "structure_block.position": "Relative Position", + "structure_block.size": "Structure Size", + "structure_block.integrity": "Structure Integrity and Seed", + "structure_block.include_entities": "Include entities:", + "structure_block.detect_size": "Detect structure size and position:", + "structure_block.button.detect_size": "DETECT", + "structure_block.button.save": "SAVE", + "structure_block.button.load": "LOAD", + "structure_block.show_air": "Show invisible blocks:", + "structure_block.show_boundingbox": "Show bounding box:", + "item.dyed": "Dyed", + "item.unbreakable": "Unbreakable", + "item.canBreak": "Can break:", + "item.canPlace": "Can be placed on:", + "item.color": "Color: %s", + "item.nbt_tags": "NBT: %s tag(s)", + "item.durability": "Durability: %s / %s", + "filled_map.mansion": "Woodland Explorer Map", + "filled_map.monument": "Ocean Explorer Map", + "entity.Item.name": "Item", + "entity.XPOrb.name": "Experience Orb", + "entity.SmallFireball.name": "Small Fireball", + "entity.Fireball.name": "Fireball", + "entity.DragonFireball.name": "Dragon Fireball", + "entity.ThrownPotion.name": "Potion", + "entity.Arrow.name": "Arrow", + "entity.Snowball.name": "Snowball", + "entity.Painting.name": "Painting", + "entity.ArmorStand.name": "Armor Stand", + "entity.Mob.name": "Mob", + "entity.Monster.name": "Monster", + "entity.Creeper.name": "Creeper", + "entity.Skeleton.name": "Skeleton", + "entity.WitherSkeleton.name": "Wither Skeleton", + "entity.Stray.name": "Stray", + "entity.Spider.name": "Spider", + "entity.Giant.name": "Giant", + "entity.Zombie.name": "Zombie", + "entity.Husk.name": "Husk", + "entity.Slime.name": "Slime", + "entity.Ghast.name": "Ghast", + "entity.PigZombie.name": "Zombie Pigman", + "entity.Enderman.name": "Enderman", + "entity.Endermite.name": "Endermite", + "entity.Silverfish.name": "Silverfish", + "entity.CaveSpider.name": "Cave Spider", + "entity.Blaze.name": "Blaze", + "entity.LavaSlime.name": "Magma Cube", + "entity.MushroomCow.name": "Mooshroom", + "entity.Villager.name": "Villager", + "entity.ZombieVillager.name": "Zombie Villager", + "entity.VillagerGolem.name": "Iron Golem", + "entity.SnowMan.name": "Snow Golem", + "entity.EnderDragon.name": "Ender Dragon", + "entity.WitherBoss.name": "Wither", + "entity.Witch.name": "Witch", + "entity.Guardian.name": "Guardian", + "entity.ElderGuardian.name": "Elder Guardian", + "entity.Shulker.name": "Shulker", + "entity.PolarBear.name": "Polar Bear", + "entity.EvocationIllager.name": "Evoker", + "entity.Vex.name": "Vex", + "entity.VindicationIllager.name": "Vindicator", + "entity.Villager.farmer": "Farmer", + "entity.Villager.fisherman": "Fisherman", + "entity.Villager.shepherd": "Shepherd", + "entity.Villager.fletcher": "Fletcher", + "entity.Villager.librarian": "Librarian", + "entity.Villager.cleric": "Cleric", + "entity.Villager.armor": "Armorer", + "entity.Villager.weapon": "Weapon Smith", + "entity.Villager.tool": "Tool Smith", + "entity.Villager.butcher": "Butcher", + "entity.Villager.leather": "Leatherworker", + "entity.Villager.nitwit": "Nitwit", + "entity.Villager.cartographer": "Cartographer", + "entity.Pig.name": "Pig", + "entity.Sheep.name": "Sheep", + "entity.Cow.name": "Cow", + "entity.Chicken.name": "Chicken", + "entity.Squid.name": "Squid", + "entity.Wolf.name": "Wolf", + "entity.Ozelot.name": "Ocelot", + "entity.Cat.name": "Cat", + "entity.Bat.name": "Bat", + "entity.Horse.name": "Horse", + "entity.Donkey.name": "Donkey", + "entity.Mule.name": "Mule", + "entity.SkeletonHorse.name": "Skeleton Horse", + "entity.ZombieHorse.name": "Zombie Horse", + "entity.Rabbit.name": "Rabbit", + "entity.KillerBunny.name": "The Killer Bunny", + "entity.Llama.name": "Llama", + "entity.PrimedTnt.name": "Block of TNT", + "entity.FallingSand.name": "Falling Block", + "entity.Minecart.name": "Minecart", + "entity.MinecartHopper.name": "Minecart with Hopper", + "entity.MinecartChest.name": "Minecart with Chest", + "entity.Boat.name": "Boat", + "entity.generic.name": "unknown", + "death.fell.accident.ladder": "%1$s fell off a ladder", + "death.fell.accident.vines": "%1$s fell off some vines", + "death.fell.accident.water": "%1$s fell out of the water", + "death.fell.accident.generic": "%1$s fell from a high place", + "death.fell.killer": "%1$s was doomed to fall", + "death.fell.assist": "%1$s was doomed to fall by %2$s", + "death.fell.assist.item": "%1$s was doomed to fall by %2$s using %3$s", + "death.fell.finish": "%1$s fell too far and was finished by %2$s", + "death.fell.finish.item": "%1$s fell too far and was finished by %2$s using %3$s", + "death.attack.lightningBolt": "%1$s was struck by lightning", + "death.attack.inFire": "%1$s went up in flames", + "death.attack.inFire.player": "%1$s walked into fire whilst fighting %2$s", + "death.attack.onFire": "%1$s burned to death", + "death.attack.onFire.player": "%1$s was burnt to a crisp whilst fighting %2$s", + "death.attack.lava": "%1$s tried to swim in lava", + "death.attack.lava.player": "%1$s tried to swim in lava to escape %2$s", + "death.attack.hotFloor": "%1$s discovered floor was lava", + "death.attack.hotFloor.player": "%1$s walked into danger zone due to %2$s", + "death.attack.inWall": "%1$s suffocated in a wall", + "death.attack.cramming": "%1$s was squished too much", + "death.attack.drown": "%1$s drowned", + "death.attack.drown.player": "%1$s drowned whilst trying to escape %2$s", + "death.attack.starve": "%1$s starved to death", + "death.attack.cactus": "%1$s was pricked to death", + "death.attack.cactus.player": "%1$s walked into a cactus whilst trying to escape %2$s", + "death.attack.generic": "%1$s died", + "death.attack.explosion": "%1$s blew up", + "death.attack.explosion.player": "%1$s was blown up by %2$s", + "death.attack.magic": "%1$s was killed by magic", + "death.attack.wither": "%1$s withered away", + "death.attack.anvil": "%1$s was squashed by a falling anvil", + "death.attack.fallingBlock": "%1$s was squashed by a falling block", + "death.attack.mob": "%1$s was slain by %2$s", + "death.attack.player": "%1$s was slain by %2$s", + "death.attack.player.item": "%1$s was slain by %2$s using %3$s", + "death.attack.arrow": "%1$s was shot by %2$s", + "death.attack.arrow.item": "%1$s was shot by %2$s using %3$s", + "death.attack.fireball": "%1$s was fireballed by %2$s", + "death.attack.fireball.item": "%1$s was fireballed by %2$s using %3$s", + "death.attack.thrown": "%1$s was pummeled by %2$s", + "death.attack.thrown.item": "%1$s was pummeled by %2$s using %3$s", + "death.attack.indirectMagic": "%1$s was killed by %2$s using magic", + "death.attack.indirectMagic.item": "%1$s was killed by %2$s using %3$s", + "death.attack.thorns": "%1$s was killed trying to hurt %2$s", + "death.attack.fall": "%1$s hit the ground too hard", + "death.attack.outOfWorld": "%1$s fell out of the world", + "death.attack.dragonBreath": "%1$s was roasted in dragon breath", + "death.attack.flyIntoWall": "%1$s experienced kinetic energy", + "death.attack.fireworks": "%1$s went off with a bang", + "deathScreen.respawn": "Respawn", + "deathScreen.spectate": "Spectate world", + "deathScreen.deleteWorld": "Delete world", + "deathScreen.titleScreen": "Title screen", + "deathScreen.score": "Score", + "deathScreen.title.hardcore": "Game over!", + "deathScreen.title": "You died!", + "deathScreen.leaveServer": "Leave server", + "deathScreen.quit.confirm": "Are you sure you want to quit?", + "effect.none": "No Effects", + "effect.moveSpeed": "Speed", + "effect.moveSlowdown": "Slowness", + "effect.digSpeed": "Haste", + "effect.digSlowDown": "Mining Fatigue", + "effect.damageBoost": "Strength", + "effect.heal": "Instant Health", + "effect.harm": "Instant Damage", + "effect.jump": "Jump Boost", + "effect.confusion": "Nausea", + "effect.regeneration": "Regeneration", + "effect.resistance": "Resistance", + "effect.fireResistance": "Fire Resistance", + "effect.waterBreathing": "Water Breathing", + "effect.invisibility": "Invisibility", + "effect.blindness": "Blindness", + "effect.nightVision": "Night Vision", + "effect.hunger": "Hunger", + "effect.weakness": "Weakness", + "effect.poison": "Poison", + "effect.wither": "Wither", + "effect.healthBoost": "Health Boost", + "effect.absorption": "Absorption", + "effect.saturation": "Saturation", + "effect.glowing": "Glowing", + "effect.luck": "Luck", + "effect.unluck": "Bad Luck", + "effect.levitation": "Levitation", + "tipped_arrow.effect.empty": "Uncraftable Tipped Arrow", + "tipped_arrow.effect.water": "Arrow of Splashing", + "tipped_arrow.effect.mundane": "Tipped Arrow", + "tipped_arrow.effect.thick": "Tipped Arrow", + "tipped_arrow.effect.awkward": "Tipped Arrow", + "tipped_arrow.effect.night_vision": "Arrow of Night Vision", + "tipped_arrow.effect.invisibility": "Arrow of Invisibility", + "tipped_arrow.effect.leaping": "Arrow of Leaping", + "tipped_arrow.effect.fire_resistance": "Arrow of Fire Resistance", + "tipped_arrow.effect.swiftness": "Arrow of Swiftness", + "tipped_arrow.effect.slowness": "Arrow of Slowness", + "tipped_arrow.effect.water_breathing": "Arrow of Water Breathing", + "tipped_arrow.effect.healing": "Arrow of Healing", + "tipped_arrow.effect.harming": "Arrow of Harming", + "tipped_arrow.effect.poison": "Arrow of Poison", + "tipped_arrow.effect.regeneration": "Arrow of Regeneration", + "tipped_arrow.effect.strength": "Arrow of Strength", + "tipped_arrow.effect.weakness": "Arrow of Weakness", + "tipped_arrow.effect.levitation": "Arrow of Levitation", + "tipped_arrow.effect.luck": "Arrow of Luck", + "potion.whenDrank": "When Applied:", + "potion.effect.empty": "Uncraftable Potion", + "potion.effect.water": "Water Bottle", + "potion.effect.mundane": "Mundane Potion", + "potion.effect.thick": "Thick Potion", + "potion.effect.awkward": "Awkward Potion", + "potion.effect.night_vision": "Potion of Night Vision", + "potion.effect.invisibility": "Potion of Invisibility", + "potion.effect.leaping": "Potion of Leaping", + "potion.effect.fire_resistance": "Potion of Fire Resistance", + "potion.effect.swiftness": "Potion of Swiftness", + "potion.effect.slowness": "Potion of Slowness", + "potion.effect.water_breathing": "Potion of Water Breathing", + "potion.effect.healing": "Potion of Healing", + "potion.effect.harming": "Potion of Harming", + "potion.effect.poison": "Potion of Poison", + "potion.effect.regeneration": "Potion of Regeneration", + "potion.effect.strength": "Potion of Strength", + "potion.effect.weakness": "Potion of Weakness", + "potion.effect.levitation": "Potion of Levitation", + "potion.effect.luck": "Potion of Luck", + "splash_potion.effect.empty": "Splash Uncraftable Potion", + "splash_potion.effect.water": "Splash Water Bottle", + "splash_potion.effect.mundane": "Mundane Splash Potion", + "splash_potion.effect.thick": "Thick Splash Potion", + "splash_potion.effect.awkward": "Awkward Splash Potion", + "splash_potion.effect.night_vision": "Splash Potion of Night Vision", + "splash_potion.effect.invisibility": "Splash Potion of Invisibility", + "splash_potion.effect.leaping": "Splash Potion of Leaping", + "splash_potion.effect.fire_resistance": "Splash Potion of Fire Resistance", + "splash_potion.effect.swiftness": "Splash Potion of Swiftness", + "splash_potion.effect.slowness": "Splash Potion of Slowness", + "splash_potion.effect.water_breathing": "Splash Potion of Water Breathing", + "splash_potion.effect.healing": "Splash Potion of Healing", + "splash_potion.effect.harming": "Splash Potion of Harming", + "splash_potion.effect.poison": "Splash Potion of Poison", + "splash_potion.effect.regeneration": "Splash Potion of Regeneration", + "splash_potion.effect.strength": "Splash Potion of Strength", + "splash_potion.effect.weakness": "Splash Potion of Weakness", + "splash_potion.effect.levitation": "Splash Potion of Levitation", + "splash_potion.effect.luck": "Splash Potion of Luck", + "lingering_potion.effect.empty": "Lingering Uncraftable Potion", + "lingering_potion.effect.water": "Lingering Water Bottle", + "lingering_potion.effect.mundane": "Mundane Lingering Potion", + "lingering_potion.effect.thick": "Thick Lingering Potion", + "lingering_potion.effect.awkward": "Awkward Lingering Potion", + "lingering_potion.effect.night_vision": "Lingering Potion of Night Vision", + "lingering_potion.effect.invisibility": "Lingering Potion of Invisibility", + "lingering_potion.effect.leaping": "Lingering Potion of Leaping", + "lingering_potion.effect.fire_resistance": "Lingering Potion of Fire Resistance", + "lingering_potion.effect.swiftness": "Lingering Potion of Swiftness", + "lingering_potion.effect.slowness": "Lingering Potion of Slowness", + "lingering_potion.effect.water_breathing": "Lingering Potion of Water Breathing", + "lingering_potion.effect.healing": "Lingering Potion of Healing", + "lingering_potion.effect.harming": "Lingering Potion of Harming", + "lingering_potion.effect.poison": "Lingering Potion of Poison", + "lingering_potion.effect.regeneration": "Lingering Potion of Regeneration", + "lingering_potion.effect.strength": "Lingering Potion of Strength", + "lingering_potion.effect.weakness": "Lingering Potion of Weakness", + "lingering_potion.effect.levitation": "Lingering Potion of Levitation", + "lingering_potion.effect.luck": "Lingering Potion of Luck", + "potion.potency.1": "II", + "potion.potency.2": "III", + "enchantment.damage.all": "Sharpness", + "enchantment.damage.undead": "Smite", + "enchantment.damage.arthropods": "Bane of Arthropods", + "enchantment.knockback": "Knockback", + "enchantment.fire": "Fire Aspect", + "enchantment.sweeping": "Sweeping Edge", + "enchantment.protect.all": "Protection", + "enchantment.protect.fire": "Fire Protection", + "enchantment.protect.fall": "Feather Falling", + "enchantment.protect.explosion": "Blast Protection", + "enchantment.protect.projectile": "Projectile Protection", + "enchantment.oxygen": "Respiration", + "enchantment.waterWorker": "Aqua Affinity", + "enchantment.waterWalker": "Depth Strider", + "enchantment.frostWalker": "Frost Walker", + "enchantment.digging": "Efficiency", + "enchantment.untouching": "Silk Touch", + "enchantment.durability": "Unbreaking", + "enchantment.lootBonus": "Looting", + "enchantment.lootBonusDigger": "Fortune", + "enchantment.lootBonusFishing": "Luck of the Sea", + "enchantment.fishingSpeed": "Lure", + "enchantment.arrowDamage": "Power", + "enchantment.arrowFire": "Flame", + "enchantment.arrowKnockback": "Punch", + "enchantment.arrowInfinite": "Infinity", + "enchantment.thorns": "Thorns", + "enchantment.mending": "Mending", + "enchantment.binding_curse": "Curse of Binding", + "enchantment.vanishing_curse": "Curse of Vanishing", + "enchantment.level.1": "I", + "enchantment.level.2": "II", + "enchantment.level.3": "III", + "enchantment.level.4": "IV", + "enchantment.level.5": "V", + "enchantment.level.6": "VI", + "enchantment.level.7": "VII", + "enchantment.level.8": "VIII", + "enchantment.level.9": "IX", + "enchantment.level.10": "X", + "gui.achievements": "Achievements", + "gui.stats": "Statistics", + "stats.tooltip.type.achievement": "Achievement", + "stats.tooltip.type.statistic": "Statistic", + "stat.generalButton": "General", + "stat.blocksButton": "Blocks", + "stat.itemsButton": "Items", + "stat.mobsButton": "Mobs", + "stat.used": "Times Used", + "stat.mined": "Times Mined", + "stat.depleted": "Times Depleted", + "stat.crafted": "Times Crafted", + "stat.entityKills": "You killed %s %s", + "stat.entityKilledBy": "%s killed you %s time(s)", + "stat.entityKills.none": "You have never killed %s", + "stat.entityKilledBy.none": "You have never been killed by %s", + "stat.startGame": "Times Played", + "stat.createWorld": "Worlds Created", + "stat.loadWorld": "Saves Loaded", + "stat.joinMultiplayer": "Multiplayer Joins", + "stat.leaveGame": "Games Quit", + "stat.playOneMinute": "Minutes Played", + "stat.timeSinceDeath": "Since Last Death", + "stat.sneakTime": "Sneak Time", + "stat.walkOneCm": "Distance Walked", + "stat.crouchOneCm": "Distance Crouched", + "stat.sprintOneCm": "Distance Sprinted", + "stat.fallOneCm": "Distance Fallen", + "stat.swimOneCm": "Distance Swum", + "stat.flyOneCm": "Distance Flown", + "stat.climbOneCm": "Distance Climbed", + "stat.diveOneCm": "Distance Dove", + "stat.minecartOneCm": "Distance by Minecart", + "stat.boatOneCm": "Distance by Boat", + "stat.pigOneCm": "Distance by Pig", + "stat.horseOneCm": "Distance by Horse", + "stat.aviateOneCm": "Distance by Elytra", + "stat.jump": "Jumps", + "stat.drop": "Items Dropped", + "stat.dropped": "Dropped", + "stat.pickup": "Picked Up", + "stat.damageDealt": "Damage Dealt", + "stat.damageTaken": "Damage Taken", + "stat.deaths": "Number of Deaths", + "stat.mobKills": "Mob Kills", + "stat.animalsBred": "Animals Bred", + "stat.playerKills": "Player Kills", + "stat.fishCaught": "Fish Caught", + "stat.treasureFished": "Treasure Fished", + "stat.junkFished": "Junk Fished", + "stat.talkedToVillager": "Talked to Villagers", + "stat.tradedWithVillager": "Traded with Villagers", + "stat.cakeSlicesEaten": "Cake Slices Eaten", + "stat.cauldronFilled": "Cauldrons Filled", + "stat.cauldronUsed": "Water Taken from Cauldron", + "stat.armorCleaned": "Armor Pieces Cleaned", + "stat.bannerCleaned": "Banners Cleaned", + "stat.brewingstandInteraction": "Interactions with Brewing Stand", + "stat.beaconInteraction": "Interactions with Beacon", + "stat.dropperInspected": "Droppers Searched", + "stat.hopperInspected": "Hoppers Searched", + "stat.dispenserInspected": "Dispensers Searched", + "stat.noteblockPlayed": "Note Blocks Played", + "stat.noteblockTuned": "Note Blocks Tuned", + "stat.flowerPotted": "Plants Potted", + "stat.trappedChestTriggered": "Trapped Chests Triggered", + "stat.enderchestOpened": "Ender Chests Opened", + "stat.itemEnchanted": "Items Enchanted", + "stat.recordPlayed": "Records Played", + "stat.furnaceInteraction": "Interactions with Furnace", + "stat.workbenchInteraction": "Interactions with Crafting Table", + "stat.chestOpened": "Chests Opened", + "stat.shulkerBoxOpened": "Shulker Boxes Opened", + "stat.sleepInBed": "Times Slept in a Bed", + "stat.mineBlock": "%1$s Mined", + "stat.craftItem": "%1$s Crafted", + "stat.useItem": "%1$s Used", + "stat.breakItem": "%1$s Depleted", + "achievement.get": "Achievement get!", + "achievement.taken": "Taken!", + "achievement.unknown": "???", + "achievement.requires": "Requires '%1$s'", + "achievement.openInventory": "Taking Inventory", + "achievement.openInventory.desc": "Press '%1$s' to open your inventory", + "achievement.mineWood": "Getting Wood", + "achievement.mineWood.desc": "Attack a tree until a block of wood pops out", + "achievement.buildWorkBench": "Benchmarking", + "achievement.buildWorkBench.desc": "Craft a workbench with four blocks of planks", + "achievement.buildPickaxe": "Time to Mine!", + "achievement.buildPickaxe.desc": "Use planks and sticks to make a pickaxe", + "achievement.buildFurnace": "Hot Topic", + "achievement.buildFurnace.desc": "Construct a furnace out of eight cobblestone blocks", + "achievement.acquireIron": "Acquire Hardware", + "achievement.acquireIron.desc": "Smelt an iron ingot", + "achievement.buildHoe": "Time to Farm!", + "achievement.buildHoe.desc": "Use planks and sticks to make a hoe", + "achievement.makeBread": "Bake Bread", + "achievement.makeBread.desc": "Turn wheat into bread", + "achievement.bakeCake": "The Lie", + "achievement.bakeCake.desc": "Wheat, sugar, milk and eggs!", + "achievement.buildBetterPickaxe": "Getting an Upgrade", + "achievement.buildBetterPickaxe.desc": "Construct a better pickaxe", + "achievement.overpowered": "Overpowered", + "achievement.overpowered.desc": "Eat a Notch apple", + "achievement.cookFish": "Delicious Fish", + "achievement.cookFish.desc": "Catch and cook fish!", + "achievement.onARail": "On A Rail", + "achievement.onARail.desc": "Travel by minecart at least 1 km from where you started", + "achievement.buildSword": "Time to Strike!", + "achievement.buildSword.desc": "Use planks and sticks to make a sword", + "achievement.killEnemy": "Monster Hunter", + "achievement.killEnemy.desc": "Attack and destroy a monster", + "achievement.killCow": "Cow Tipper", + "achievement.killCow.desc": "Harvest some leather", + "achievement.breedCow": "Repopulation", + "achievement.breedCow.desc": "Breed two cows with wheat", + "achievement.flyPig": "When Pigs Fly", + "achievement.flyPig.desc": "Fly a pig off a cliff", + "achievement.snipeSkeleton": "Sniper Duel", + "achievement.snipeSkeleton.desc": "Kill a skeleton with an arrow from more than 50 meters", + "achievement.diamonds": "DIAMONDS!", + "achievement.diamonds.desc": "Acquire diamonds with your iron tools", + "achievement.diamondsToYou": "Diamonds to you!", + "achievement.diamondsToYou.desc": "Throw diamonds at another player", + "achievement.portal": "We Need to Go Deeper", + "achievement.portal.desc": "Build a portal to the Nether", + "achievement.ghast": "Return to Sender", + "achievement.ghast.desc": "Destroy a Ghast with a fireball", + "achievement.blazeRod": "Into Fire", + "achievement.blazeRod.desc": "Relieve a Blaze of its rod", + "achievement.potion": "Local Brewery", + "achievement.potion.desc": "Brew a potion", + "achievement.theEnd": "The End?", + "achievement.theEnd.desc": "Locate the End", + "achievement.theEnd2": "The End.", + "achievement.theEnd2.desc": "Defeat the Ender Dragon", + "achievement.spawnWither": "The Beginning?", + "achievement.spawnWither.desc": "Spawn the Wither", + "achievement.killWither": "The Beginning.", + "achievement.killWither.desc": "Kill the Wither", + "achievement.fullBeacon": "Beaconator", + "achievement.fullBeacon.desc": "Create a full beacon", + "achievement.exploreAllBiomes": "Adventuring Time", + "achievement.exploreAllBiomes.desc": "Discover all biomes", + "achievement.enchantments": "Enchanter", + "achievement.enchantments.desc": "Use a book, obsidian and diamonds to construct an enchantment table", + "achievement.overkill": "Overkill", + "achievement.overkill.desc": "Deal nine hearts of damage in a single hit", + "achievement.bookcase": "Librarian", + "achievement.bookcase.desc": "Build some bookshelves to improve your enchantment table", + "commands.generic.exception": "An unknown error occurred while attempting to perform this command", + "commands.generic.permission": "You do not have permission to use this command", + "commands.generic.syntax": "Invalid command syntax", + "commands.generic.player.notFound": "Player '%s' cannot be found", + "commands.generic.entity.notFound": "Entity '%s' cannot be found", + "commands.generic.selector.notFound": "Selector '%s' found nothing", + "commands.generic.entity.invalidUuid": "The entity UUID '%s' is in an invalid format", + "commands.generic.entity.invalidType": "Entity type '%s' is invalid", + "commands.generic.notFound": "Unknown command. Try /help for a list of commands", + "commands.generic.parameter.invalid": "'%s' is not a valid parameter", + "commands.generic.num.invalid": "'%s' is not a valid number", + "commands.generic.boolean.invalid": "'%s' is not true or false", + "commands.generic.num.tooSmall": "The number you have entered (%s) is too small, it must be at least %s", + "commands.generic.num.tooBig": "The number you have entered (%s) is too big, it must be at most %s", + "commands.generic.blockstate.invalid": "'%s' is not a state for block %s", + "commands.generic.usage": "Usage: %s", + "commands.generic.selector_argument": "Invalid selector argument: '%s'", + "commands.generic.player.unspecified": "You must specify which player you wish to perform this action on.", + "commands.setidletimeout.usage": "/setidletimeout ", + "commands.setidletimeout.success": "Successfully set the idle timeout to %s minutes.", + "commands.xp.failure.widthdrawXp": "Cannot give player negative experience points", + "commands.xp.success": "Given %s experience to %s", + "commands.xp.success.levels": "Given %s levels to %s", + "commands.xp.success.negative.levels": "Taken %s levels from %s", + "commands.xp.usage": "/xp [player] OR /xp L [player]", + "commands.playsound.usage": "/playsound [x] [y] [z] [volume] [pitch] [minimumVolume]", + "commands.playsound.success": "Played sound '%s' to %s", + "commands.playsound.playerTooFar": "Player %s is too far away to hear the sound", + "commands.playsound.unknownSoundSource": "Source %s is unknown", + "commands.give.usage": "/give [amount] [data] [dataTag]", + "commands.give.item.notFound": "There is no such item with name %s", + "commands.give.block.notFound": "There is no such block with name %s", + "commands.give.success": "Given %s * %s to %s", + "commands.give.tagError": "Data tag parsing failed: %s", + "commands.replaceitem.usage": "/replaceitem ...", + "commands.replaceitem.entity.usage": "/replaceitem entity [amount] [data] [dataTag]", + "commands.replaceitem.block.usage": "/replaceitem block [amount] [data] [dataTag]", + "commands.replaceitem.tagError": "Data tag parsing failed: %s", + "commands.replaceitem.noContainer": "Block at %s, %s, %s is not a container", + "commands.replaceitem.failed": "Could not replace slot %s with %s * %s", + "commands.replaceitem.success": "Replaced slot %s with %s * %s", + "commands.stats.usage": "/stats ...", + "commands.stats.entity.usage": "/stats entity ...", + "commands.stats.entity.set.usage": "/stats entity set ", + "commands.stats.entity.clear.usage": "/stats entity clear ", + "commands.stats.block.usage": "/stats block ...", + "commands.stats.block.set.usage": "/stats block set ", + "commands.stats.block.clear.usage": "/stats block clear ", + "commands.stats.noCompatibleBlock": "Block at %s, %s, %s can not track stats", + "commands.stats.failed": "Invalid parameters", + "commands.stats.cleared": "Cleared %s stats", + "commands.stats.success": "Storing %s stats in %s on %s", + "commands.summon.usage": "/summon [x] [y] [z] [dataTag]", + "commands.summon.success": "Object successfully summoned", + "commands.summon.failed": "Unable to summon object", + "commands.summon.tagError": "Data tag parsing failed: %s", + "commands.summon.outOfWorld": "Cannot summon the object out of the world", + "commands.testforblock.usage": "/testforblock [dataValue|-1|state|*] [dataTag]", + "commands.testforblock.failed.tile": "The block at %s, %s, %s is %s (expected: %s)", + "commands.testforblock.failed.data": "The block at %s, %s, %s had the data value of %s (expected: %s)", + "commands.testforblock.failed.nbt": "The block at %s, %s, %s did not have the required NBT keys", + "commands.testforblock.failed.tileEntity": "The block at %s, %s, %s is not a block entity and cannot support tag matching", + "commands.testforblock.success": "Successfully found the block at %s, %s, %s", + "commands.testforblock.outOfWorld": "Cannot test for block outside of the world", + "commands.setblock.usage": "/setblock [dataValue|state] [oldBlockHandling] [dataTag]", + "commands.setblock.success": "Block placed", + "commands.setblock.failed": "Unable to place block", + "commands.setblock.tagError": "Data tag parsing failed: %s", + "commands.setblock.outOfWorld": "Cannot place block outside of the world", + "commands.setblock.notFound": "There is no such block with ID/name %s", + "commands.setblock.noChange": "The block couldn't be placed", + "commands.fill.usage": "/fill [dataValue|state] [oldBlockHandling] [dataTag]", + "commands.fill.outOfWorld": "Cannot place blocks outside of the world", + "commands.fill.tagError": "Data tag parsing failed: %s", + "commands.fill.success": "%s blocks filled", + "commands.fill.failed": "No blocks filled", + "commands.fill.tooManyBlocks": "Too many blocks in the specified area (%s > %s)", + "commands.clone.usage": "/clone [maskMode] [cloneMode]", + "commands.clone.outOfWorld": "Cannot access blocks outside of the world", + "commands.clone.noOverlap": "Source and destination can not overlap", + "commands.clone.success": "%s blocks cloned", + "commands.clone.failed": "No blocks cloned", + "commands.clone.tooManyBlocks": "Too many blocks in the specified area (%s > %s)", + "commands.compare.usage": "/testforblocks [mode]", + "commands.compare.outOfWorld": "Cannot access blocks outside of the world", + "commands.compare.failed": "Source and destination are not identical", + "commands.compare.success": "%s blocks compared", + "commands.compare.tooManyBlocks": "Too many blocks in the specified area (%s > %s)", + "commands.blockdata.usage": "/blockdata ", + "commands.blockdata.success": "Block data updated to: %s", + "commands.blockdata.tagError": "Data tag parsing failed: %s", + "commands.blockdata.outOfWorld": "Cannot change block outside of the world", + "commands.blockdata.notValid": "The target block is not a data holder block", + "commands.blockdata.failed": "The data tag did not change: %s", + "commands.entitydata.usage": "/entitydata ", + "commands.entitydata.success": "Entity data updated to: %s", + "commands.entitydata.tagError": "Data tag parsing failed: %s", + "commands.entitydata.noPlayers": "%s is a player and cannot be changed", + "commands.entitydata.failed": "The data tag did not change: %s", + "commands.effect.usage": "/effect [seconds] [amplifier] [hideParticles] OR /effect clear", + "commands.effect.notFound": "There is no such mob effect with ID %s", + "commands.effect.success": "Given %1$s (ID %2$s) * %3$s to %4$s for %5$s seconds", + "commands.effect.success.removed": "Took %1$s from %2$s", + "commands.effect.success.removed.all": "Took all effects from %s", + "commands.effect.failure.notActive": "Couldn't take %1$s from %2$s as they do not have the effect", + "commands.effect.failure.notActive.all": "Couldn't take any effects from %s as they do not have any", + "commands.enchant.usage": "/enchant [level]", + "commands.enchant.notFound": "There is no such enchantment with ID %s", + "commands.enchant.noItem": "The target doesn't hold an item", + "commands.enchant.cantEnchant": "The selected enchantment can't be added to the target item", + "commands.enchant.cantCombine": "%1$s can't be combined with %2$s", + "commands.enchant.success": "Enchanting succeeded", + "commands.particle.usage": "/particle [count] [mode] [player] [params]", + "commands.particle.success": "Playing effect %s for %s times", + "commands.particle.notFound": "Unknown effect name (%s)", + "commands.particle.invalidParam": "Invalid param given (%s)", + "commands.clear.usage": "/clear [player] [item] [data] [maxCount] [dataTag]", + "commands.clear.success": "Cleared the inventory of %s, removing %s items", + "commands.clear.testing": "%s has %s items that match the criteria", + "commands.clear.failure": "Could not clear the inventory of %s, no items to remove", + "commands.clear.tagError": "Data tag parsing failed: %s", + "commands.downfall.usage": "/toggledownfall", + "commands.downfall.success": "Toggled downfall", + "commands.time.usage": "/time ", + "commands.time.added": "Added %s to the time", + "commands.time.set": "Set the time to %s", + "commands.time.query": "Time is %s", + "commands.players.usage": "/list", + "commands.players.list": "There are %s/%s players online:", + "commands.banlist.ips": "There are %s total banned IP addresses:", + "commands.banlist.players": "There are %s total banned players:", + "commands.banlist.usage": "/banlist [ips|players]", + "commands.kill.usage": "/kill [player|entity]", + "commands.kill.successful": "Killed %s", + "commands.kick.success": "Kicked %s from the game", + "commands.kick.success.reason": "Kicked %s from the game: '%s'", + "commands.kick.usage": "/kick [reason ...]", + "commands.op.success": "Opped %s", + "commands.op.failed": "Could not op %s", + "commands.op.usage": "/op ", + "commands.deop.success": "De-opped %s", + "commands.deop.failed": "Could not de-op %s", + "commands.deop.usage": "/deop ", + "commands.say.usage": "/say ", + "commands.ban.success": "Banned player %s", + "commands.ban.failed": "Could not ban player %s", + "commands.ban.usage": "/ban [reason ...]", + "commands.unban.success": "Unbanned player %s", + "commands.unban.failed": "Could not unban player %s", + "commands.unban.usage": "/pardon ", + "commands.banip.invalid": "You have entered an invalid IP address or a player that is not online", + "commands.banip.success": "Banned IP address %s", + "commands.banip.success.players": "Banned IP address %s belonging to %s", + "commands.banip.usage": "/ban-ip [reason ...]", + "commands.unbanip.invalid": "You have entered an invalid IP address", + "commands.unbanip.success": "Unbanned IP address %s", + "commands.unbanip.usage": "/pardon-ip
", + "commands.save.usage": "/save-all [flush]", + "commands.save-on.alreadyOn": "Saving is already turned on", + "commands.save-on.usage": "/save-on", + "commands.save-off.alreadyOff": "Saving is already turned off", + "commands.save-off.usage": "/save-off", + "commands.save.enabled": "Turned on world auto-saving", + "commands.save.disabled": "Turned off world auto-saving", + "commands.save.start": "Saving...", + "commands.save.success": "Saved the world", + "commands.save.failed": "Saving failed: %s", + "commands.save.flushStart": "Flushing all saves...", + "commands.save.flushEnd": "Flushing completed", + "commands.stop.usage": "/stop", + "commands.stop.start": "Stopping the server", + "commands.tp.usage": "/tp [target player] OR /tp [target player] [ ]", + "commands.tp.success": "Teleported %s to %s", + "commands.tp.success.coordinates": "Teleported %s to %s, %s, %s", + "commands.tp.notSameDimension": "Unable to teleport because players are not in the same dimension", + "commands.teleport.usage": "/teleport [ ]", + "commands.teleport.success.coordinates": "Teleported %s to %s, %s, %s", + "commands.whitelist.list": "There are %s (out of %s seen) whitelisted players:", + "commands.whitelist.enabled": "Turned on the whitelist", + "commands.whitelist.disabled": "Turned off the whitelist", + "commands.whitelist.reloaded": "Reloaded the whitelist", + "commands.whitelist.add.success": "Added %s to the whitelist", + "commands.whitelist.add.failed": "Could not add %s to the whitelist", + "commands.whitelist.add.usage": "/whitelist add ", + "commands.whitelist.remove.success": "Removed %s from the whitelist", + "commands.whitelist.remove.failed": "Could not remove %s from the whitelist", + "commands.whitelist.remove.usage": "/whitelist remove ", + "commands.whitelist.usage": "/whitelist ", + "commands.scoreboard.usage": "/scoreboard ...", + "commands.scoreboard.noMultiWildcard": "Only one user wildcard allowed", + "commands.scoreboard.allMatchesFailed": "All matches failed", + "commands.scoreboard.teamNotFound": "No team was found by the name '%s'", + "commands.scoreboard.objectiveNotFound": "No objective was found by the name '%s'", + "commands.scoreboard.objectiveReadOnly": "The objective '%s' is read-only and cannot be set", + "commands.scoreboard.objectives.usage": "/scoreboard objectives ...", + "commands.scoreboard.objectives.setdisplay.usage": "/scoreboard objectives setdisplay [objective]", + "commands.scoreboard.objectives.setdisplay.invalidSlot": "No such display slot '%s'", + "commands.scoreboard.objectives.setdisplay.successCleared": "Cleared objective display slot '%s'", + "commands.scoreboard.objectives.setdisplay.successSet": "Set the display objective in slot '%s' to '%s'", + "commands.scoreboard.objectives.add.usage": "/scoreboard objectives add [display name ...]", + "commands.scoreboard.objectives.add.wrongType": "Invalid objective criteria type '%s'", + "commands.scoreboard.objectives.add.alreadyExists": "An objective with the name '%s' already exists", + "commands.scoreboard.objectives.add.tooLong": "The name '%s' is too long for an objective, it can be at most %s characters long", + "commands.scoreboard.objectives.add.displayTooLong": "The display name '%s' is too long for an objective, it can be at most %s characters long", + "commands.scoreboard.objectives.add.success": "Added new objective '%s' successfully", + "commands.scoreboard.objectives.remove.usage": "/scoreboard objectives remove ", + "commands.scoreboard.objectives.remove.success": "Removed objective '%s' successfully", + "commands.scoreboard.objectives.list.count": "Showing %s objective(s) on scoreboard:", + "commands.scoreboard.objectives.list.entry": "- %s: displays as '%s' and is type '%s'", + "commands.scoreboard.objectives.list.empty": "There are no objectives on the scoreboard", + "commands.scoreboard.players.usage": "/scoreboard players ...", + "commands.scoreboard.players.name.tooLong": "The name '%s' is too long for a player, it can be at most %s characters long", + "commands.scoreboard.players.set.success": "Set score of %s for player %s to %s", + "commands.scoreboard.players.set.tagMismatch": "The dataTag does not match for %s", + "commands.scoreboard.players.set.tagError": "Could not parse dataTag, reason: %s", + "commands.scoreboard.players.set.usage": "/scoreboard players set [dataTag]", + "commands.scoreboard.players.add.usage": "/scoreboard players add [dataTag]", + "commands.scoreboard.players.remove.usage": "/scoreboard players remove [dataTag]", + "commands.scoreboard.players.reset.usage": "/scoreboard players reset [objective]", + "commands.scoreboard.players.reset.success": "Reset scores of player %s", + "commands.scoreboard.players.resetscore.success": "Reset score %s of player %s", + "commands.scoreboard.players.list.usage": "/scoreboard players list [name]", + "commands.scoreboard.players.list.count": "Showing %s tracked players on the scoreboard:", + "commands.scoreboard.players.list.empty": "There are no tracked players on the scoreboard", + "commands.scoreboard.players.list.player.count": "Showing %s tracked objective(s) for %s:", + "commands.scoreboard.players.list.player.entry": "- %2$s: %1$s (%3$s)", + "commands.scoreboard.players.list.player.empty": "Player %s has no scores recorded", + "commands.scoreboard.players.enable.usage": "/scoreboard players enable ", + "commands.scoreboard.players.enable.success": "Enabled trigger %s for %s", + "commands.scoreboard.players.enable.noTrigger": "Objective %s is not a trigger", + "commands.scoreboard.players.test.usage": "/scoreboard players test [max]", + "commands.scoreboard.players.test.notFound": "No %s score for %s found", + "commands.scoreboard.players.test.failed": "Score %s is NOT in range %s to %s", + "commands.scoreboard.players.test.success": "Score %s is in range %s to %s", + "commands.scoreboard.players.operation.usage": "/scoreboard players operation ", + "commands.scoreboard.players.operation.notFound": "No %s score for %s found", + "commands.scoreboard.players.operation.invalidOperation": "Invalid operation %s", + "commands.scoreboard.players.operation.success": "Operation applied successfully", + "commands.scoreboard.players.tag.usage": "/scoreboard players tag [dataTag]", + "commands.scoreboard.players.tag.tagMismatch": "The dataTag does not match for %s", + "commands.scoreboard.players.tag.tooMany": "Can't add more than %s tags to an entity", + "commands.scoreboard.players.tag.notFound": "Entity didn't have the %s tag", + "commands.scoreboard.players.tag.success.add": "Tag %s added", + "commands.scoreboard.players.tag.success.remove": "Tag %s removed", + "commands.scoreboard.players.tag.list": "Tags on entity %s are:", + "commands.scoreboard.players.tag.tagError": "Players tag command failed, reason: %s", + "commands.scoreboard.teams.usage": "/scoreboard teams ...", + "commands.scoreboard.teams.add.usage": "/scoreboard teams add [display name ...]", + "commands.scoreboard.teams.add.alreadyExists": "A team with the name '%s' already exists", + "commands.scoreboard.teams.add.tooLong": "The name '%s' is too long for a team, it can be at most %s characters long", + "commands.scoreboard.teams.add.displayTooLong": "The display name '%s' is too long for a team, it can be at most %s characters long", + "commands.scoreboard.teams.add.success": "Added new team '%s' successfully", + "commands.scoreboard.teams.list.usage": "/scoreboard teams list [name]", + "commands.scoreboard.teams.list.count": "Showing %s teams on the scoreboard:", + "commands.scoreboard.teams.list.entry": "- %1$s: '%2$s' has %3$s players", + "commands.scoreboard.teams.list.empty": "There are no teams registered on the scoreboard", + "commands.scoreboard.teams.list.player.count": "Showing %s player(s) in team %s:", + "commands.scoreboard.teams.list.player.entry": "- %2$s: %1$s (%3$s)", + "commands.scoreboard.teams.list.player.empty": "Team %s has no players", + "commands.scoreboard.teams.empty.usage": "/scoreboard teams empty ", + "commands.scoreboard.teams.empty.alreadyEmpty": "Team %s is already empty, cannot remove nonexistant players", + "commands.scoreboard.teams.empty.success": "Removed all %s player(s) from team %s", + "commands.scoreboard.teams.remove.usage": "/scoreboard teams remove ", + "commands.scoreboard.teams.remove.success": "Removed team %s", + "commands.scoreboard.teams.join.usage": "/scoreboard teams join [player]", + "commands.scoreboard.teams.join.success": "Added %s player(s) to team %s: %s", + "commands.scoreboard.teams.join.failure": "Could not add %s player(s) to team %s: %s", + "commands.scoreboard.teams.leave.usage": "/scoreboard teams leave [player]", + "commands.scoreboard.teams.leave.success": "Removed %s player(s) from their teams: %s", + "commands.scoreboard.teams.leave.failure": "Could not remove %s player(s) from their teams: %s", + "commands.scoreboard.teams.leave.noTeam": "You are not in a team", + "commands.scoreboard.teams.option.usage": "/scoreboard teams option ", + "commands.scoreboard.teams.option.noValue": "Valid values for option %s are: %s", + "commands.scoreboard.teams.option.success": "Set option %s for team %s to %s", + "commands.execute.usage": "/execute OR /execute detect ", + "commands.execute.allInvocationsFailed": "All invocations failed: '%s'", + "commands.execute.failed": "Failed to execute '%s' as %s", + "commands.gamemode.success.self": "Set own game mode to %s", + "commands.gamemode.success.other": "Set %s's game mode to %s", + "commands.gamemode.usage": "/gamemode [player]", + "commands.defaultgamemode.usage": "/defaultgamemode ", + "commands.defaultgamemode.success": "The world's default game mode is now %s", + "commands.me.usage": "/me ", + "commands.help.header": "--- Showing help page %s of %s (/help ) ---", + "commands.help.footer": "Tip: Use the key while typing a command to auto-complete the command or its arguments", + "commands.help.usage": "/help [page|command name]", + "commands.trigger.usage": "/trigger ", + "commands.trigger.invalidObjective": "Invalid trigger name %s", + "commands.trigger.invalidMode": "Invalid trigger mode %s", + "commands.trigger.disabled": "Trigger %s is not enabled", + "commands.trigger.invalidPlayer": "Only players can use the /trigger command", + "commands.trigger.success": "Trigger %s changed with %s %s", + "commands.publish.usage": "/publish", + "commands.publish.started": "Local game hosted on port %s", + "commands.publish.failed": "Unable to host local game", + "commands.debug.start": "Started debug profiling", + "commands.debug.stop": "Stopped debug profiling after %s seconds (%s ticks)", + "commands.debug.notStarted": "Can't stop profiling when we haven't started yet!", + "commands.debug.usage": "/debug ", + "commands.chunkinfo.usage": "/chunkinfo [ ]", + "commands.chunkinfo.location": "Chunk location: (%s, %s, %s)", + "commands.chunkinfo.noChunk": "No chunk found at chunk position %s, %s, %s", + "commands.chunkinfo.notEmpty": "Chunk is not empty.", + "commands.chunkinfo.empty": "Chunk is empty.", + "commands.chunkinfo.notCompiled": "Chunk is not compiled.", + "commands.chunkinfo.compiled": "Chunk is compiled.", + "commands.chunkinfo.hasNoRenderableLayers": "Chunk has no renderable layers.", + "commands.chunkinfo.hasLayers": "Chunk has layers: %s", + "commands.chunkinfo.isEmpty": "Chunk has empty layers: %s", + "commands.chunkinfo.vertices": "%s layer's buffer contains %s vertices", + "commands.chunkinfo.data": "First 64 vertices are: %s", + "commands.tellraw.usage": "/tellraw ", + "commands.tellraw.jsonException": "Invalid json: %s", + "commands.message.usage": "/tell ", + "commands.message.sameTarget": "You can't send a private message to yourself!", + "commands.message.display.outgoing": "You whisper to %s: %s", + "commands.message.display.incoming": "%s whispers to you: %s", + "commands.difficulty.usage": "/difficulty ", + "commands.difficulty.success": "Set game difficulty to %s", + "commands.spawnpoint.usage": "/spawnpoint [player] [ ]", + "commands.spawnpoint.success": "Set %s's spawn point to (%s, %s, %s)", + "commands.setworldspawn.usage": "/setworldspawn [ ]", + "commands.setworldspawn.success": "Set the world spawn point to (%s, %s, %s)", + "commands.gamerule.usage": "/gamerule [value]", + "commands.gamerule.success": "Game rule %s has been updated to %s", + "commands.gamerule.norule": "No game rule called '%s' is available", + "commands.gamerule.nopermission": "Only server owners can change '%s'", + "commands.weather.usage": "/weather [duration in seconds]", + "commands.weather.clear": "Changing to clear weather", + "commands.weather.rain": "Changing to rainy weather", + "commands.weather.thunder": "Changing to rain and thunder", + "commands.testfor.usage": "/testfor [dataTag]", + "commands.testfor.failure": "%s did not match the required data structure", + "commands.testfor.success": "Found %s", + "commands.testfor.tagError": "Data tag parsing failed: %s", + "commands.seed.usage": "/seed", + "commands.seed.success": "Seed: %s", + "commands.spreadplayers.noop": "No players found to spread", + "commands.spreadplayers.usage": "/spreadplayers ", + "commands.spreadplayers.spreading.teams": "Spreading %s team(s) %s blocks around %s,%s (min %s blocks apart)", + "commands.spreadplayers.spreading.players": "Spreading %s player(s) %s blocks around %s,%s (min %s blocks apart)", + "commands.spreadplayers.success.teams": "Successfully spread %s team(s) around %s,%s", + "commands.spreadplayers.success.players": "Successfully spread %s player(s) around %s,%s", + "commands.spreadplayers.info.teams": "(Average distance between teams is %s blocks apart after %s iterations)", + "commands.spreadplayers.info.players": "(Average distance between players is %s blocks apart after %s iterations)", + "commands.spreadplayers.failure.teams": "Could not spread %s team(s) around %s,%s (too many players for space - try using spread of at most %s)", + "commands.spreadplayers.failure.players": "Could not spread %s player(s) around %s,%s (too many players for space - try using spread of at most %s)", + "commands.achievement.usage": "/achievement [player]", + "commands.achievement.unknownAchievement": "Unknown achievement '%s'", + "commands.achievement.alreadyHave": "Player %s already has achievement %s", + "commands.achievement.dontHave": "Player %s doesn't have achievement %s", + "commands.achievement.give.success.all": "Successfully given all achievements to %s", + "commands.achievement.give.success.one": "Successfully given %s the achievement %s", + "commands.achievement.take.success.all": "Successfully taken all achievements from %s", + "commands.achievement.take.success.one": "Successfully taken the achievement %s from %s", + "commands.worldborder.usage": "/worldborder ...", + "commands.worldborder.add.usage": "/worldborder add [timeInSeconds]", + "commands.worldborder.set.usage": "/worldborder set [timeInSeconds]", + "commands.worldborder.set.success": "Set world border to %s blocks wide (from %s blocks)", + "commands.worldborder.get.success": "World border is currently %s blocks wide", + "commands.worldborder.setSlowly.shrink.success": "Shrinking world border to %s blocks wide (down from %s blocks) over %s seconds", + "commands.worldborder.setSlowly.grow.success": "Growing world border to %s blocks wide (up from %s blocks) over %s seconds", + "commands.worldborder.center.usage": "/worldborder center ", + "commands.worldborder.center.success": "Set world border center to %s,%s", + "commands.worldborder.damage.usage": "/worldborder damage ...", + "commands.worldborder.damage.buffer.usage": "/worldborder damage buffer ", + "commands.worldborder.damage.buffer.success": "Set world border damage buffer to %s blocks (from %s blocks)", + "commands.worldborder.damage.amount.usage": "/worldborder damage amount ", + "commands.worldborder.damage.amount.success": "Set world border damage amount to %s per block (from %s per block)", + "commands.worldborder.warning.usage": "/worldborder warning ...", + "commands.worldborder.warning.time.usage": "/worldborder warning time ", + "commands.worldborder.warning.time.success": "Set world border warning to %s seconds away (from %s seconds)", + "commands.worldborder.warning.distance.usage": "/worldborder warning distance ", + "commands.worldborder.warning.distance.success": "Set world border warning to %s blocks away (from %s blocks)", + "commands.title.usage": "/title title|subtitle|actionbar|clear|reset|times ...", + "commands.title.usage.title": "/title title|subtitle|actionbar ", + "commands.title.usage.clear": "/title clear|reset", + "commands.title.usage.times": "/title times ", + "commands.title.success": "Title command successfully executed", + "commands.stopsound.usage": "/stopsound [source] [sound]", + "commands.stopsound.unknownSoundSource": "Source %s is unknown", + "commands.stopsound.success.individualSound": "Stopped sound '%s' with source '%s' for %s", + "commands.stopsound.success.soundSource": "Stopped source '%s' for %s", + "commands.stopsound.success.all": "Stopped all sounds for %s", + "commands.locate.usage": "/locate ", + "commands.locate.success": "Located %s at %s (y?) %s", + "commands.locate.failure": "Unable to locate any %s feature", + "itemGroup.buildingBlocks": "Building Blocks", + "itemGroup.decorations": "Decoration Blocks", + "itemGroup.redstone": "Redstone", + "itemGroup.transportation": "Transportation", + "itemGroup.misc": "Miscellaneous", + "itemGroup.search": "Search Items", + "itemGroup.food": "Foodstuffs", + "itemGroup.tools": "Tools", + "itemGroup.combat": "Combat", + "itemGroup.brewing": "Brewing", + "itemGroup.materials": "Materials", + "itemGroup.inventory": "Survival Inventory", + "inventory.binSlot": "Destroy Item", + "advMode.setCommand": "Set Console Command for Block", + "advMode.setCommand.success": "Command set: %s", + "advMode.command": "Console Command", + "advMode.nearestPlayer": "Use \"@p\" to target nearest player", + "advMode.randomPlayer": "Use \"@r\" to target random player", + "advMode.allPlayers": "Use \"@a\" to target all players", + "advMode.allEntities": "Use \"@e\" to target all entities", + "advMode.previousOutput": "Previous Output", + "advMode.mode.sequence": "Chain", + "advMode.mode.auto": "Repeat", + "advMode.mode.redstone": "Impulse", + "advMode.mode.conditional": "Conditional", + "advMode.mode.unconditional": "Unconditional", + "advMode.mode.redstoneTriggered": "Needs Redstone", + "advMode.mode.autoexec.bat": "Always Active", + "advMode.notEnabled": "Command blocks are not enabled on this server", + "advMode.notAllowed": "Must be an opped player in creative mode", + "mount.onboard": "Press %1$s to dismount", + "build.tooHigh": "Height limit for building is %s blocks", + "item.modifiers.mainhand": "When in main hand:", + "item.modifiers.offhand": "When in off hand:", + "item.modifiers.feet": "When on feet:", + "item.modifiers.legs": "When on legs:", + "item.modifiers.chest": "When on body:", + "item.modifiers.head": "When on head:", + "attribute.modifier.plus.0": "+%s %s", + "attribute.modifier.plus.1": "+%s%% %s", + "attribute.modifier.plus.2": "+%s%% %s", + "attribute.modifier.take.0": "-%s %s", + "attribute.modifier.take.1": "-%s%% %s", + "attribute.modifier.take.2": "-%s%% %s", + "attribute.modifier.equals.0": "%s %s", + "attribute.modifier.equals.1": "%s%% %s", + "attribute.modifier.equals.2": "%s%% %s", + "attribute.name.horse.jumpStrength": "Horse Jump Strength", + "attribute.name.zombie.spawnReinforcements": "Zombie Reinforcements", + "attribute.name.generic.maxHealth": "Max Health", + "attribute.name.generic.followRange": "Mob Follow Range", + "attribute.name.generic.knockbackResistance": "Knockback Resistance", + "attribute.name.generic.movementSpeed": "Speed", + "attribute.name.generic.attackDamage": "Attack Damage", + "attribute.name.generic.attackSpeed": "Attack Speed", + "attribute.name.generic.luck": "Luck", + "attribute.name.generic.armor": "Armor", + "attribute.name.generic.armorToughness": "Armor Toughness", + "screenshot.success": "Saved screenshot as %s", + "screenshot.failure": "Couldn't save screenshot: %s", + "item.banner.black.name": "Black Banner", + "item.banner.red.name": "Red Banner", + "item.banner.green.name": "Green Banner", + "item.banner.brown.name": "Brown Banner", + "item.banner.blue.name": "Blue Banner", + "item.banner.purple.name": "Purple Banner", + "item.banner.cyan.name": "Cyan Banner", + "item.banner.silver.name": "Light Gray Banner", + "item.banner.gray.name": "Gray Banner", + "item.banner.pink.name": "Pink Banner", + "item.banner.lime.name": "Lime Banner", + "item.banner.yellow.name": "Yellow Banner", + "item.banner.lightBlue.name": "Light Blue Banner", + "item.banner.magenta.name": "Magenta Banner", + "item.banner.orange.name": "Orange Banner", + "item.banner.white.name": "White Banner", + "item.shield.name": "Shield", + "item.shield.black.name": "Black Shield", + "item.shield.red.name": "Red Shield", + "item.shield.green.name": "Green Shield", + "item.shield.brown.name": "Brown Shield", + "item.shield.blue.name": "Blue Shield", + "item.shield.purple.name": "Purple Shield", + "item.shield.cyan.name": "Cyan Shield", + "item.shield.silver.name": "Light Gray Shield", + "item.shield.gray.name": "Gray Shield", + "item.shield.pink.name": "Pink Shield", + "item.shield.lime.name": "Lime Shield", + "item.shield.yellow.name": "Yellow Shield", + "item.shield.lightBlue.name": "Light Blue Shield", + "item.shield.magenta.name": "Magenta Shield", + "item.shield.orange.name": "Orange Shield", + "item.shield.white.name": "White Shield", + "item.banner.square_bottom_left.black": "Black Base Dexter Canton", + "item.banner.square_bottom_left.red": "Red Base Dexter Canton", + "item.banner.square_bottom_left.green": "Green Base Dexter Canton", + "item.banner.square_bottom_left.brown": "Brown Base Dexter Canton", + "item.banner.square_bottom_left.blue": "Blue Base Dexter Canton", + "item.banner.square_bottom_left.purple": "Purple Base Dexter Canton", + "item.banner.square_bottom_left.cyan": "Cyan Base Dexter Canton", + "item.banner.square_bottom_left.silver": "Light Gray Base Dexter Canton", + "item.banner.square_bottom_left.gray": "Gray Base Dexter Canton", + "item.banner.square_bottom_left.pink": "Pink Base Dexter Canton", + "item.banner.square_bottom_left.lime": "Lime Base Dexter Canton", + "item.banner.square_bottom_left.yellow": "Yellow Base Dexter Canton", + "item.banner.square_bottom_left.lightBlue": "Light Blue Base Dexter Canton", + "item.banner.square_bottom_left.magenta": "Magenta Base Dexter Canton", + "item.banner.square_bottom_left.orange": "Orange Base Dexter Canton", + "item.banner.square_bottom_left.white": "White Base Dexter Canton", + "item.banner.square_bottom_right.black": "Black Base Sinister Canton", + "item.banner.square_bottom_right.red": "Red Base Sinister Canton", + "item.banner.square_bottom_right.green": "Green Base Sinister Canton", + "item.banner.square_bottom_right.brown": "Brown Base Sinister Canton", + "item.banner.square_bottom_right.blue": "Blue Base Sinister Canton", + "item.banner.square_bottom_right.purple": "Purple Base Sinister Canton", + "item.banner.square_bottom_right.cyan": "Cyan Base Sinister Canton", + "item.banner.square_bottom_right.silver": "Light Gray Base Sinister Canton", + "item.banner.square_bottom_right.gray": "Gray Base Sinister Canton", + "item.banner.square_bottom_right.pink": "Pink Base Sinister Canton", + "item.banner.square_bottom_right.lime": "Lime Base Sinister Canton", + "item.banner.square_bottom_right.yellow": "Yellow Base Sinister Canton", + "item.banner.square_bottom_right.lightBlue": "Light Blue Base Sinister Canton", + "item.banner.square_bottom_right.magenta": "Magenta Base Sinister Canton", + "item.banner.square_bottom_right.orange": "Orange Base Sinister Canton", + "item.banner.square_bottom_right.white": "White Base Sinister Canton", + "item.banner.square_top_left.black": "Black Chief Dexter Canton", + "item.banner.square_top_left.red": "Red Chief Dexter Canton", + "item.banner.square_top_left.green": "Green Chief Dexter Canton", + "item.banner.square_top_left.brown": "Brown Chief Dexter Canton", + "item.banner.square_top_left.blue": "Blue Chief Dexter Canton", + "item.banner.square_top_left.purple": "Purple Chief Dexter Canton", + "item.banner.square_top_left.cyan": "Cyan Chief Dexter Canton", + "item.banner.square_top_left.silver": "Light Gray Chief Dexter Canton", + "item.banner.square_top_left.gray": "Gray Chief Dexter Canton", + "item.banner.square_top_left.pink": "Pink Chief Dexter Canton", + "item.banner.square_top_left.lime": "Lime Chief Dexter Canton", + "item.banner.square_top_left.yellow": "Yellow Chief Dexter Canton", + "item.banner.square_top_left.lightBlue": "Light Blue Chief Dexter Canton", + "item.banner.square_top_left.magenta": "Magenta Chief Dexter Canton", + "item.banner.square_top_left.orange": "Orange Chief Dexter Canton", + "item.banner.square_top_left.white": "White Chief Dexter Canton", + "item.banner.square_top_right.black": "Black Chief Sinister Canton", + "item.banner.square_top_right.red": "Red Chief Sinister Canton", + "item.banner.square_top_right.green": "Green Chief Sinister Canton", + "item.banner.square_top_right.brown": "Brown Chief Sinister Canton", + "item.banner.square_top_right.blue": "Blue Chief Sinister Canton", + "item.banner.square_top_right.purple": "Purple Chief Sinister Canton", + "item.banner.square_top_right.cyan": "Cyan Chief Sinister Canton", + "item.banner.square_top_right.silver": "Light Gray Chief Sinister Canton", + "item.banner.square_top_right.gray": "Gray Chief Sinister Canton", + "item.banner.square_top_right.pink": "Pink Chief Sinister Canton", + "item.banner.square_top_right.lime": "Lime Chief Sinister Canton", + "item.banner.square_top_right.yellow": "Yellow Chief Sinister Canton", + "item.banner.square_top_right.lightBlue": "Light Blue Chief Sinister Canton", + "item.banner.square_top_right.magenta": "Magenta Chief Sinister Canton", + "item.banner.square_top_right.orange": "Orange Chief Sinister Canton", + "item.banner.square_top_right.white": "White Chief Sinister Canton", + "item.banner.stripe_bottom.black": "Black Base Fess", + "item.banner.stripe_bottom.red": "Red Base Fess", + "item.banner.stripe_bottom.green": "Green Base Fess", + "item.banner.stripe_bottom.brown": "Brown Base Fess", + "item.banner.stripe_bottom.blue": "Blue Base Fess", + "item.banner.stripe_bottom.purple": "Purple Base Fess", + "item.banner.stripe_bottom.cyan": "Cyan Base Fess", + "item.banner.stripe_bottom.silver": "Light Gray Base Fess", + "item.banner.stripe_bottom.gray": "Gray Base Fess", + "item.banner.stripe_bottom.pink": "Pink Base Fess", + "item.banner.stripe_bottom.lime": "Lime Base Fess", + "item.banner.stripe_bottom.yellow": "Yellow Base Fess", + "item.banner.stripe_bottom.lightBlue": "Light Blue Base Fess", + "item.banner.stripe_bottom.magenta": "Magenta Base Fess", + "item.banner.stripe_bottom.orange": "Orange Base Fess", + "item.banner.stripe_bottom.white": "White Base Fess", + "item.banner.stripe_top.black": "Black Chief Fess", + "item.banner.stripe_top.red": "Red Chief Fess", + "item.banner.stripe_top.green": "Green Chief Fess", + "item.banner.stripe_top.brown": "Brown Chief Fess", + "item.banner.stripe_top.blue": "Blue Chief Fess", + "item.banner.stripe_top.purple": "Purple Chief Fess", + "item.banner.stripe_top.cyan": "Cyan Chief Fess", + "item.banner.stripe_top.silver": "Light Gray Chief Fess", + "item.banner.stripe_top.gray": "Gray Chief Fess", + "item.banner.stripe_top.pink": "Pink Chief Fess", + "item.banner.stripe_top.lime": "Lime Chief Fess", + "item.banner.stripe_top.yellow": "Yellow Chief Fess", + "item.banner.stripe_top.lightBlue": "Light Blue Chief Fess", + "item.banner.stripe_top.magenta": "Magenta Chief Fess", + "item.banner.stripe_top.orange": "Orange Chief Fess", + "item.banner.stripe_top.white": "White Chief Fess", + "item.banner.stripe_left.black": "Black Pale Dexter", + "item.banner.stripe_left.red": "Red Pale Dexter", + "item.banner.stripe_left.green": "Green Pale Dexter", + "item.banner.stripe_left.brown": "Brown Pale Dexter", + "item.banner.stripe_left.blue": "Blue Pale Dexter", + "item.banner.stripe_left.purple": "Purple Pale Dexter", + "item.banner.stripe_left.cyan": "Cyan Pale Dexter", + "item.banner.stripe_left.silver": "Light Gray Pale Dexter", + "item.banner.stripe_left.gray": "Gray Pale Dexter", + "item.banner.stripe_left.pink": "Pink Pale Dexter", + "item.banner.stripe_left.lime": "Lime Pale Dexter", + "item.banner.stripe_left.yellow": "Yellow Pale Dexter", + "item.banner.stripe_left.lightBlue": "Light Blue Pale Dexter", + "item.banner.stripe_left.magenta": "Magenta Pale Dexter", + "item.banner.stripe_left.orange": "Orange Pale Dexter", + "item.banner.stripe_left.white": "White Pale Dexter", + "item.banner.stripe_right.black": "Black Pale Sinister", + "item.banner.stripe_right.red": "Red Pale Sinister", + "item.banner.stripe_right.green": "Green Pale Sinister", + "item.banner.stripe_right.brown": "Brown Pale Sinister", + "item.banner.stripe_right.blue": "Blue Pale Sinister", + "item.banner.stripe_right.purple": "Purple Pale Sinister", + "item.banner.stripe_right.cyan": "Cyan Pale Sinister", + "item.banner.stripe_right.silver": "Light Gray Pale Sinister", + "item.banner.stripe_right.gray": "Gray Pale Sinister", + "item.banner.stripe_right.pink": "Pink Pale Sinister", + "item.banner.stripe_right.lime": "Lime Pale Sinister", + "item.banner.stripe_right.yellow": "Yellow Pale Sinister", + "item.banner.stripe_right.lightBlue": "Light Blue Pale Sinister", + "item.banner.stripe_right.magenta": "Magenta Pale Sinister", + "item.banner.stripe_right.orange": "Orange Pale Sinister", + "item.banner.stripe_right.white": "White Pale Sinister", + "item.banner.stripe_center.black": "Black Pale", + "item.banner.stripe_center.red": "Red Pale", + "item.banner.stripe_center.green": "Green Pale", + "item.banner.stripe_center.brown": "Brown Pale", + "item.banner.stripe_center.blue": "Blue Pale", + "item.banner.stripe_center.purple": "Purple Pale", + "item.banner.stripe_center.cyan": "Cyan Pale", + "item.banner.stripe_center.silver": "Light Gray Pale", + "item.banner.stripe_center.gray": "Gray Pale", + "item.banner.stripe_center.pink": "Pink Pale", + "item.banner.stripe_center.lime": "Lime Pale", + "item.banner.stripe_center.yellow": "Yellow Pale", + "item.banner.stripe_center.lightBlue": "Light Blue Pale", + "item.banner.stripe_center.magenta": "Magenta Pale", + "item.banner.stripe_center.orange": "Orange Pale", + "item.banner.stripe_center.white": "White Pale", + "item.banner.stripe_middle.black": "Black Fess", + "item.banner.stripe_middle.red": "Red Fess", + "item.banner.stripe_middle.green": "Green Fess", + "item.banner.stripe_middle.brown": "Brown Fess", + "item.banner.stripe_middle.blue": "Blue Fess", + "item.banner.stripe_middle.purple": "Purple Fess", + "item.banner.stripe_middle.cyan": "Cyan Fess", + "item.banner.stripe_middle.silver": "Light Gray Fess", + "item.banner.stripe_middle.gray": "Gray Fess", + "item.banner.stripe_middle.pink": "Pink Fess", + "item.banner.stripe_middle.lime": "Lime Fess", + "item.banner.stripe_middle.yellow": "Yellow Fess", + "item.banner.stripe_middle.lightBlue": "Light Blue Fess", + "item.banner.stripe_middle.magenta": "Magenta Fess", + "item.banner.stripe_middle.orange": "Orange Fess", + "item.banner.stripe_middle.white": "White Fess", + "item.banner.stripe_downright.black": "Black Bend", + "item.banner.stripe_downright.red": "Red Bend", + "item.banner.stripe_downright.green": "Green Bend", + "item.banner.stripe_downright.brown": "Brown Bend", + "item.banner.stripe_downright.blue": "Blue Bend", + "item.banner.stripe_downright.purple": "Purple Bend", + "item.banner.stripe_downright.cyan": "Cyan Bend", + "item.banner.stripe_downright.silver": "Light Gray Bend", + "item.banner.stripe_downright.gray": "Gray Bend", + "item.banner.stripe_downright.pink": "Pink Bend", + "item.banner.stripe_downright.lime": "Lime Bend", + "item.banner.stripe_downright.yellow": "Yellow Bend", + "item.banner.stripe_downright.lightBlue": "Light Blue Bend", + "item.banner.stripe_downright.magenta": "Magenta Bend", + "item.banner.stripe_downright.orange": "Orange Bend", + "item.banner.stripe_downright.white": "White Bend", + "item.banner.stripe_downleft.black": "Black Bend Sinister", + "item.banner.stripe_downleft.red": "Red Bend Sinister", + "item.banner.stripe_downleft.green": "Green Bend Sinister", + "item.banner.stripe_downleft.brown": "Brown Bend Sinister", + "item.banner.stripe_downleft.blue": "Blue Bend Sinister", + "item.banner.stripe_downleft.purple": "Purple Bend Sinister", + "item.banner.stripe_downleft.cyan": "Cyan Bend Sinister", + "item.banner.stripe_downleft.silver": "Light Gray Bend Sinister", + "item.banner.stripe_downleft.gray": "Gray Bend Sinister", + "item.banner.stripe_downleft.pink": "Pink Bend Sinister", + "item.banner.stripe_downleft.lime": "Lime Bend Sinister", + "item.banner.stripe_downleft.yellow": "Yellow Bend Sinister", + "item.banner.stripe_downleft.lightBlue": "Light Blue Bend Sinister", + "item.banner.stripe_downleft.magenta": "Magenta Bend Sinister", + "item.banner.stripe_downleft.orange": "Orange Bend Sinister", + "item.banner.stripe_downleft.white": "White Bend Sinister", + "item.banner.small_stripes.black": "Black Paly", + "item.banner.small_stripes.red": "Red Paly", + "item.banner.small_stripes.green": "Green Paly", + "item.banner.small_stripes.brown": "Brown Paly", + "item.banner.small_stripes.blue": "Blue Paly", + "item.banner.small_stripes.purple": "Purple Paly", + "item.banner.small_stripes.cyan": "Cyan Paly", + "item.banner.small_stripes.silver": "Light Gray Paly", + "item.banner.small_stripes.gray": "Gray Paly", + "item.banner.small_stripes.pink": "Pink Paly", + "item.banner.small_stripes.lime": "Lime Paly", + "item.banner.small_stripes.yellow": "Yellow Paly", + "item.banner.small_stripes.lightBlue": "Light Blue Paly", + "item.banner.small_stripes.magenta": "Magenta Paly", + "item.banner.small_stripes.orange": "Orange Paly", + "item.banner.small_stripes.white": "White Paly", + "item.banner.cross.black": "Black Saltire", + "item.banner.cross.red": "Red Saltire", + "item.banner.cross.green": "Green Saltire", + "item.banner.cross.brown": "Brown Saltire", + "item.banner.cross.blue": "Blue Saltire", + "item.banner.cross.purple": "Purple Saltire", + "item.banner.cross.cyan": "Cyan Saltire", + "item.banner.cross.silver": "Light Gray Saltire", + "item.banner.cross.gray": "Gray Saltire", + "item.banner.cross.pink": "Pink Saltire", + "item.banner.cross.lime": "Lime Saltire", + "item.banner.cross.yellow": "Yellow Saltire", + "item.banner.cross.lightBlue": "Light Blue Saltire", + "item.banner.cross.magenta": "Magenta Saltire", + "item.banner.cross.orange": "Orange Saltire", + "item.banner.cross.white": "White Saltire", + "item.banner.triangle_bottom.black": "Black Chevron", + "item.banner.triangle_bottom.red": "Red Chevron", + "item.banner.triangle_bottom.green": "Green Chevron", + "item.banner.triangle_bottom.brown": "Brown Chevron", + "item.banner.triangle_bottom.blue": "Blue Chevron", + "item.banner.triangle_bottom.purple": "Purple Chevron", + "item.banner.triangle_bottom.cyan": "Cyan Chevron", + "item.banner.triangle_bottom.silver": "Light Gray Chevron", + "item.banner.triangle_bottom.gray": "Gray Chevron", + "item.banner.triangle_bottom.pink": "Pink Chevron", + "item.banner.triangle_bottom.lime": "Lime Chevron", + "item.banner.triangle_bottom.yellow": "Yellow Chevron", + "item.banner.triangle_bottom.lightBlue": "Light Blue Chevron", + "item.banner.triangle_bottom.magenta": "Magenta Chevron", + "item.banner.triangle_bottom.orange": "Orange Chevron", + "item.banner.triangle_bottom.white": "White Chevron", + "item.banner.triangle_top.black": "Black Inverted Chevron", + "item.banner.triangle_top.red": "Red Inverted Chevron", + "item.banner.triangle_top.green": "Green Inverted Chevron", + "item.banner.triangle_top.brown": "Brown Inverted Chevron", + "item.banner.triangle_top.blue": "Blue Inverted Chevron", + "item.banner.triangle_top.purple": "Purple Inverted Chevron", + "item.banner.triangle_top.cyan": "Cyan Inverted Chevron", + "item.banner.triangle_top.silver": "Light Gray Inverted Chevron", + "item.banner.triangle_top.gray": "Gray Inverted Chevron", + "item.banner.triangle_top.pink": "Pink Inverted Chevron", + "item.banner.triangle_top.lime": "Lime Inverted Chevron", + "item.banner.triangle_top.yellow": "Yellow Inverted Chevron", + "item.banner.triangle_top.lightBlue": "Light Blue Inverted Chevron", + "item.banner.triangle_top.magenta": "Magenta Inverted Chevron", + "item.banner.triangle_top.orange": "Orange Inverted Chevron", + "item.banner.triangle_top.white": "White Inverted Chevron", + "item.banner.triangles_bottom.black": "Black Base Indented", + "item.banner.triangles_bottom.red": "Red Base Indented", + "item.banner.triangles_bottom.green": "Green Base Indented", + "item.banner.triangles_bottom.brown": "Brown Base Indented", + "item.banner.triangles_bottom.blue": "Blue Base Indented", + "item.banner.triangles_bottom.purple": "Purple Base Indented", + "item.banner.triangles_bottom.cyan": "Cyan Base Indented", + "item.banner.triangles_bottom.silver": "Light Gray Base Indented", + "item.banner.triangles_bottom.gray": "Gray Base Indented", + "item.banner.triangles_bottom.pink": "Pink Base Indented", + "item.banner.triangles_bottom.lime": "Lime Base Indented", + "item.banner.triangles_bottom.yellow": "Yellow Base Indented", + "item.banner.triangles_bottom.lightBlue": "Light Blue Base Indented", + "item.banner.triangles_bottom.magenta": "Magenta Base Indented", + "item.banner.triangles_bottom.orange": "Orange Base Indented", + "item.banner.triangles_bottom.white": "White Base Indented", + "item.banner.triangles_top.black": "Black Chief Indented", + "item.banner.triangles_top.red": "Red Chief Indented", + "item.banner.triangles_top.green": "Green Chief Indented", + "item.banner.triangles_top.brown": "Brown Chief Indented", + "item.banner.triangles_top.blue": "Blue Chief Indented", + "item.banner.triangles_top.purple": "Purple Chief Indented", + "item.banner.triangles_top.cyan": "Cyan Chief Indented", + "item.banner.triangles_top.silver": "Light Gray Chief Indented", + "item.banner.triangles_top.gray": "Gray Chief Indented", + "item.banner.triangles_top.pink": "Pink Chief Indented", + "item.banner.triangles_top.lime": "Lime Chief Indented", + "item.banner.triangles_top.yellow": "Yellow Chief Indented", + "item.banner.triangles_top.lightBlue": "Light Blue Chief Indented", + "item.banner.triangles_top.magenta": "Magenta Chief Indented", + "item.banner.triangles_top.orange": "Orange Chief Indented", + "item.banner.triangles_top.white": "White Chief Indented", + "item.banner.diagonal_left.black": "Black Per Bend Sinister", + "item.banner.diagonal_left.red": "Red Per Bend Sinister", + "item.banner.diagonal_left.green": "Green Per Bend Sinister", + "item.banner.diagonal_left.brown": "Brown Per Bend Sinister", + "item.banner.diagonal_left.blue": "Blue Per Bend Sinister", + "item.banner.diagonal_left.purple": "Purple Per Bend Sinister", + "item.banner.diagonal_left.cyan": "Cyan Per Bend Sinister", + "item.banner.diagonal_left.silver": "Light Gray Per Bend Sinister", + "item.banner.diagonal_left.gray": "Gray Per Bend Sinister", + "item.banner.diagonal_left.pink": "Pink Per Bend Sinister", + "item.banner.diagonal_left.lime": "Lime Per Bend Sinister", + "item.banner.diagonal_left.yellow": "Yellow Per Bend Sinister", + "item.banner.diagonal_left.lightBlue": "Light Blue Per Bend Sinister", + "item.banner.diagonal_left.magenta": "Magenta Per Bend Sinister", + "item.banner.diagonal_left.orange": "Orange Per Bend Sinister", + "item.banner.diagonal_left.white": "White Per Bend Sinister", + "item.banner.diagonal_right.black": "Black Per Bend", + "item.banner.diagonal_right.red": "Red Per Bend", + "item.banner.diagonal_right.green": "Green Per Bend", + "item.banner.diagonal_right.brown": "Brown Per Bend", + "item.banner.diagonal_right.blue": "Blue Per Bend", + "item.banner.diagonal_right.purple": "Purple Per Bend", + "item.banner.diagonal_right.cyan": "Cyan Per Bend", + "item.banner.diagonal_right.silver": "Light Gray Per Bend", + "item.banner.diagonal_right.gray": "Gray Per Bend", + "item.banner.diagonal_right.pink": "Pink Per Bend", + "item.banner.diagonal_right.lime": "Lime Per Bend", + "item.banner.diagonal_right.yellow": "Yellow Per Bend", + "item.banner.diagonal_right.lightBlue": "Light Blue Per Bend", + "item.banner.diagonal_right.magenta": "Magenta Per Bend", + "item.banner.diagonal_right.orange": "Orange Per Bend", + "item.banner.diagonal_right.white": "White Per Bend", + "item.banner.diagonal_up_left.black": "Black Per Bend Inverted", + "item.banner.diagonal_up_left.red": "Red Per Bend Inverted", + "item.banner.diagonal_up_left.green": "Green Per Bend Inverted", + "item.banner.diagonal_up_left.brown": "Brown Per Bend Inverted", + "item.banner.diagonal_up_left.blue": "Blue Per Bend Inverted", + "item.banner.diagonal_up_left.purple": "Purple Per Bend Inverted", + "item.banner.diagonal_up_left.cyan": "Cyan Per Bend Inverted", + "item.banner.diagonal_up_left.silver": "Light Gray Per Bend Inverted", + "item.banner.diagonal_up_left.gray": "Gray Per Bend Inverted", + "item.banner.diagonal_up_left.pink": "Pink Per Bend Inverted", + "item.banner.diagonal_up_left.lime": "Lime Per Bend Inverted", + "item.banner.diagonal_up_left.yellow": "Yellow Per Bend Inverted", + "item.banner.diagonal_up_left.lightBlue": "Light Blue Per Bend Inverted", + "item.banner.diagonal_up_left.magenta": "Magenta Per Bend Inverted", + "item.banner.diagonal_up_left.orange": "Orange Per Bend Inverted", + "item.banner.diagonal_up_left.white": "White Per Bend Inverted", + "item.banner.diagonal_up_right.black": "Black Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.red": "Red Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.green": "Green Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.brown": "Brown Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.blue": "Blue Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.purple": "Purple Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.cyan": "Cyan Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.silver": "Light Gray Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.gray": "Gray Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.pink": "Pink Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.lime": "Lime Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.yellow": "Yellow Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.lightBlue": "Light Blue Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.magenta": "Magenta Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.orange": "Orange Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.white": "White Per Bend Sinister Inverted", + "item.banner.circle.black": "Black Roundel", + "item.banner.circle.red": "Red Roundel", + "item.banner.circle.green": "Green Roundel", + "item.banner.circle.brown": "Brown Roundel", + "item.banner.circle.blue": "Blue Roundel", + "item.banner.circle.purple": "Purple Roundel", + "item.banner.circle.cyan": "Cyan Roundel", + "item.banner.circle.silver": "Light Gray Roundel", + "item.banner.circle.gray": "Gray Roundel", + "item.banner.circle.pink": "Pink Roundel", + "item.banner.circle.lime": "Lime Roundel", + "item.banner.circle.yellow": "Yellow Roundel", + "item.banner.circle.lightBlue": "Light Blue Roundel", + "item.banner.circle.magenta": "Magenta Roundel", + "item.banner.circle.orange": "Orange Roundel", + "item.banner.circle.white": "White Roundel", + "item.banner.rhombus.black": "Black Lozenge", + "item.banner.rhombus.red": "Red Lozenge", + "item.banner.rhombus.green": "Green Lozenge", + "item.banner.rhombus.brown": "Brown Lozenge", + "item.banner.rhombus.blue": "Blue Lozenge", + "item.banner.rhombus.purple": "Purple Lozenge", + "item.banner.rhombus.cyan": "Cyan Lozenge", + "item.banner.rhombus.silver": "Light Gray Lozenge", + "item.banner.rhombus.gray": "Gray Lozenge", + "item.banner.rhombus.pink": "Pink Lozenge", + "item.banner.rhombus.lime": "Lime Lozenge", + "item.banner.rhombus.yellow": "Yellow Lozenge", + "item.banner.rhombus.lightBlue": "Light Blue Lozenge", + "item.banner.rhombus.magenta": "Magenta Lozenge", + "item.banner.rhombus.orange": "Orange Lozenge", + "item.banner.rhombus.white": "White Lozenge", + "item.banner.half_vertical.black": "Black Per Pale", + "item.banner.half_vertical.red": "Red Per Pale", + "item.banner.half_vertical.green": "Green Per Pale", + "item.banner.half_vertical.brown": "Brown Per Pale", + "item.banner.half_vertical.blue": "Blue Per Pale", + "item.banner.half_vertical.purple": "Purple Per Pale", + "item.banner.half_vertical.cyan": "Cyan Per Pale", + "item.banner.half_vertical.silver": "Light Gray Per Pale", + "item.banner.half_vertical.gray": "Gray Per Pale", + "item.banner.half_vertical.pink": "Pink Per Pale", + "item.banner.half_vertical.lime": "Lime Per Pale", + "item.banner.half_vertical.yellow": "Yellow Per Pale", + "item.banner.half_vertical.lightBlue": "Light Blue Per Pale", + "item.banner.half_vertical.magenta": "Magenta Per Pale", + "item.banner.half_vertical.orange": "Orange Per Pale", + "item.banner.half_vertical.white": "White Per Pale", + "item.banner.half_horizontal.black": "Black Per Fess", + "item.banner.half_horizontal.red": "Red Per Fess", + "item.banner.half_horizontal.green": "Green Per Fess", + "item.banner.half_horizontal.brown": "Brown Per Fess", + "item.banner.half_horizontal.blue": "Blue Per Fess", + "item.banner.half_horizontal.purple": "Purple Per Fess", + "item.banner.half_horizontal.cyan": "Cyan Per Fess", + "item.banner.half_horizontal.silver": "Light Gray Per Fess", + "item.banner.half_horizontal.gray": "Gray Per Fess", + "item.banner.half_horizontal.pink": "Pink Per Fess", + "item.banner.half_horizontal.lime": "Lime Per Fess", + "item.banner.half_horizontal.yellow": "Yellow Per Fess", + "item.banner.half_horizontal.lightBlue": "Light Blue Per Fess", + "item.banner.half_horizontal.magenta": "Magenta Per Fess", + "item.banner.half_horizontal.orange": "Orange Per Fess", + "item.banner.half_horizontal.white": "White Per Fess", + "item.banner.half_vertical_right.black": "Black Per Pale Inverted", + "item.banner.half_vertical_right.red": "Red Per Pale Inverted", + "item.banner.half_vertical_right.green": "Green Per Pale Inverted", + "item.banner.half_vertical_right.brown": "Brown Per Pale Inverted", + "item.banner.half_vertical_right.blue": "Blue Per Pale Inverted", + "item.banner.half_vertical_right.purple": "Purple Per Pale Inverted", + "item.banner.half_vertical_right.cyan": "Cyan Per Pale Inverted", + "item.banner.half_vertical_right.silver": "Light Gray Per Pale Inverted", + "item.banner.half_vertical_right.gray": "Gray Per Pale Inverted", + "item.banner.half_vertical_right.pink": "Pink Per Pale Inverted", + "item.banner.half_vertical_right.lime": "Lime Per Pale Inverted", + "item.banner.half_vertical_right.yellow": "Yellow Per Pale Inverted", + "item.banner.half_vertical_right.lightBlue": "Light Blue Per Pale Inverted", + "item.banner.half_vertical_right.magenta": "Magenta Per Pale Inverted", + "item.banner.half_vertical_right.orange": "Orange Per Pale Inverted", + "item.banner.half_vertical_right.white": "White Per Pale Inverted", + "item.banner.half_horizontal_bottom.black": "Black Per Fess Inverted", + "item.banner.half_horizontal_bottom.red": "Red Per Fess Inverted", + "item.banner.half_horizontal_bottom.green": "Green Per Fess Inverted", + "item.banner.half_horizontal_bottom.brown": "Brown Per Fess Inverted", + "item.banner.half_horizontal_bottom.blue": "Blue Per Fess Inverted", + "item.banner.half_horizontal_bottom.purple": "Purple Per Fess Inverted", + "item.banner.half_horizontal_bottom.cyan": "Cyan Per Fess Inverted", + "item.banner.half_horizontal_bottom.silver": "Light Gray Per Fess Inverted", + "item.banner.half_horizontal_bottom.gray": "Gray Per Fess Inverted", + "item.banner.half_horizontal_bottom.pink": "Pink Per Fess Inverted", + "item.banner.half_horizontal_bottom.lime": "Lime Per Fess Inverted", + "item.banner.half_horizontal_bottom.yellow": "Yellow Per Fess Inverted", + "item.banner.half_horizontal_bottom.lightBlue": "Light Blue Per Fess Inverted", + "item.banner.half_horizontal_bottom.magenta": "Magenta Per Fess Inverted", + "item.banner.half_horizontal_bottom.orange": "Orange Per Fess Inverted", + "item.banner.half_horizontal_bottom.white": "White Per Fess Inverted", + "item.banner.creeper.black": "Black Creeper Charge", + "item.banner.creeper.red": "Red Creeper Charge", + "item.banner.creeper.green": "Green Creeper Charge", + "item.banner.creeper.brown": "Brown Creeper Charge", + "item.banner.creeper.blue": "Blue Creeper Charge", + "item.banner.creeper.purple": "Purple Creeper Charge", + "item.banner.creeper.cyan": "Cyan Creeper Charge", + "item.banner.creeper.silver": "Light Gray Creeper Charge", + "item.banner.creeper.gray": "Gray Creeper Charge", + "item.banner.creeper.pink": "Pink Creeper Charge", + "item.banner.creeper.lime": "Lime Creeper Charge", + "item.banner.creeper.yellow": "Yellow Creeper Charge", + "item.banner.creeper.lightBlue": "Light Blue Creeper Charge", + "item.banner.creeper.magenta": "Magenta Creeper Charge", + "item.banner.creeper.orange": "Orange Creeper Charge", + "item.banner.creeper.white": "White Creeper Charge", + "item.banner.bricks.black": "Black Field Masoned", + "item.banner.bricks.red": "Red Field Masoned", + "item.banner.bricks.green": "Green Field Masoned", + "item.banner.bricks.brown": "Brown Field Masoned", + "item.banner.bricks.blue": "Blue Field Masoned", + "item.banner.bricks.purple": "Purple Field Masoned", + "item.banner.bricks.cyan": "Cyan Field Masoned", + "item.banner.bricks.silver": "Light Gray Field Masoned", + "item.banner.bricks.gray": "Gray Field Masoned", + "item.banner.bricks.pink": "Pink Field Masoned", + "item.banner.bricks.lime": "Lime Field Masoned", + "item.banner.bricks.yellow": "Yellow Field Masoned", + "item.banner.bricks.lightBlue": "Light Blue Field Masoned", + "item.banner.bricks.magenta": "Magenta Field Masoned", + "item.banner.bricks.orange": "Orange Field Masoned", + "item.banner.bricks.white": "White Field Masoned", + "item.banner.gradient.black": "Black Gradient", + "item.banner.gradient.red": "Red Gradient", + "item.banner.gradient.green": "Green Gradient", + "item.banner.gradient.brown": "Brown Gradient", + "item.banner.gradient.blue": "Blue Gradient", + "item.banner.gradient.purple": "Purple Gradient", + "item.banner.gradient.cyan": "Cyan Gradient", + "item.banner.gradient.silver": "Light Gray Gradient", + "item.banner.gradient.gray": "Gray Gradient", + "item.banner.gradient.pink": "Pink Gradient", + "item.banner.gradient.lime": "Lime Gradient", + "item.banner.gradient.yellow": "Yellow Gradient", + "item.banner.gradient.lightBlue": "Light Blue Gradient", + "item.banner.gradient.magenta": "Magenta Gradient", + "item.banner.gradient.orange": "Orange Gradient", + "item.banner.gradient.white": "White Gradient", + "item.banner.gradient_up.black": "Black Base Gradient", + "item.banner.gradient_up.red": "Red Base Gradient", + "item.banner.gradient_up.green": "Green Base Gradient", + "item.banner.gradient_up.brown": "Brown Base Gradient", + "item.banner.gradient_up.blue": "Blue Base Gradient", + "item.banner.gradient_up.purple": "Purple Base Gradient", + "item.banner.gradient_up.cyan": "Cyan Base Gradient", + "item.banner.gradient_up.silver": "Light Gray Base Gradient", + "item.banner.gradient_up.gray": "Gray Base Gradient", + "item.banner.gradient_up.pink": "Pink Base Gradient", + "item.banner.gradient_up.lime": "Lime Base Gradient", + "item.banner.gradient_up.yellow": "Yellow Base Gradient", + "item.banner.gradient_up.lightBlue": "Light Blue Base Gradient", + "item.banner.gradient_up.magenta": "Magenta Base Gradient", + "item.banner.gradient_up.orange": "Orange Base Gradient", + "item.banner.gradient_up.white": "White Base Gradient", + "item.banner.skull.black": "Black Skull Charge", + "item.banner.skull.red": "Red Skull Charge", + "item.banner.skull.green": "Green Skull Charge", + "item.banner.skull.brown": "Brown Skull Charge", + "item.banner.skull.blue": "Blue Skull Charge", + "item.banner.skull.purple": "Purple Skull Charge", + "item.banner.skull.cyan": "Cyan Skull Charge", + "item.banner.skull.silver": "Light Gray Skull Charge", + "item.banner.skull.gray": "Gray Skull Charge", + "item.banner.skull.pink": "Pink Skull Charge", + "item.banner.skull.lime": "Lime Skull Charge", + "item.banner.skull.yellow": "Yellow Skull Charge", + "item.banner.skull.lightBlue": "Light Blue Skull Charge", + "item.banner.skull.magenta": "Magenta Skull Charge", + "item.banner.skull.orange": "Orange Skull Charge", + "item.banner.skull.white": "White Skull Charge", + "item.banner.flower.black": "Black Flower Charge", + "item.banner.flower.red": "Red Flower Charge", + "item.banner.flower.green": "Green Flower Charge", + "item.banner.flower.brown": "Brown Flower Charge", + "item.banner.flower.blue": "Blue Flower Charge", + "item.banner.flower.purple": "Purple Flower Charge", + "item.banner.flower.cyan": "Cyan Flower Charge", + "item.banner.flower.silver": "Light Gray Flower Charge", + "item.banner.flower.gray": "Gray Flower Charge", + "item.banner.flower.pink": "Pink Flower Charge", + "item.banner.flower.lime": "Lime Flower Charge", + "item.banner.flower.yellow": "Yellow Flower Charge", + "item.banner.flower.lightBlue": "Light Blue Flower Charge", + "item.banner.flower.magenta": "Magenta Flower Charge", + "item.banner.flower.orange": "Orange Flower Charge", + "item.banner.flower.white": "White Flower Charge", + "item.banner.border.black": "Black Bordure", + "item.banner.border.red": "Red Bordure", + "item.banner.border.green": "Green Bordure", + "item.banner.border.brown": "Brown Bordure", + "item.banner.border.blue": "Blue Bordure", + "item.banner.border.purple": "Purple Bordure", + "item.banner.border.cyan": "Cyan Bordure", + "item.banner.border.silver": "Light Gray Bordure", + "item.banner.border.gray": "Gray Bordure", + "item.banner.border.pink": "Pink Bordure", + "item.banner.border.lime": "Lime Bordure", + "item.banner.border.yellow": "Yellow Bordure", + "item.banner.border.lightBlue": "Light Blue Bordure", + "item.banner.border.magenta": "Magenta Bordure", + "item.banner.border.orange": "Orange Bordure", + "item.banner.border.white": "White Bordure", + "item.banner.curly_border.black": "Black Bordure Indented", + "item.banner.curly_border.red": "Red Bordure Indented", + "item.banner.curly_border.green": "Green Bordure Indented", + "item.banner.curly_border.brown": "Brown Bordure Indented", + "item.banner.curly_border.blue": "Blue Bordure Indented", + "item.banner.curly_border.purple": "Purple Bordure Indented", + "item.banner.curly_border.cyan": "Cyan Bordure Indented", + "item.banner.curly_border.silver": "Light Gray Bordure Indented", + "item.banner.curly_border.gray": "Gray Bordure Indented", + "item.banner.curly_border.pink": "Pink Bordure Indented", + "item.banner.curly_border.lime": "Lime Bordure Indented", + "item.banner.curly_border.yellow": "Yellow Bordure Indented", + "item.banner.curly_border.lightBlue": "Light Blue Bordure Indented", + "item.banner.curly_border.magenta": "Magenta Bordure Indented", + "item.banner.curly_border.orange": "Orange Bordure Indented", + "item.banner.curly_border.white": "White Bordure Indented", + "item.banner.mojang.black": "Black Thing", + "item.banner.mojang.red": "Red Thing", + "item.banner.mojang.green": "Green Thing", + "item.banner.mojang.brown": "Brown Thing", + "item.banner.mojang.blue": "Blue Thing", + "item.banner.mojang.purple": "Purple Thing", + "item.banner.mojang.cyan": "Cyan Thing", + "item.banner.mojang.silver": "Light Gray Thing", + "item.banner.mojang.gray": "Gray Thing", + "item.banner.mojang.pink": "Pink Thing", + "item.banner.mojang.lime": "Lime Thing", + "item.banner.mojang.yellow": "Yellow Thing", + "item.banner.mojang.lightBlue": "Light Blue Thing", + "item.banner.mojang.magenta": "Magenta Thing", + "item.banner.mojang.orange": "Orange Thing", + "item.banner.mojang.white": "White Thing", + "item.banner.straight_cross.black": "Black Cross", + "item.banner.straight_cross.red": "Red Cross", + "item.banner.straight_cross.green": "Green Cross", + "item.banner.straight_cross.brown": "Brown Cross", + "item.banner.straight_cross.blue": "Blue Cross", + "item.banner.straight_cross.purple": "Purple Cross", + "item.banner.straight_cross.cyan": "Cyan Cross", + "item.banner.straight_cross.silver": "Light Gray Cross", + "item.banner.straight_cross.gray": "Gray Cross", + "item.banner.straight_cross.pink": "Pink Cross", + "item.banner.straight_cross.lime": "Lime Cross", + "item.banner.straight_cross.yellow": "Yellow Cross", + "item.banner.straight_cross.lightBlue": "Light Blue Cross", + "item.banner.straight_cross.magenta": "Magenta Cross", + "item.banner.straight_cross.orange": "Orange Cross", + "item.banner.straight_cross.white": "White Cross", + "subtitles.ambient.cave": "Eerie noise", + "subtitles.block.anvil.destroy": "Anvil destroyed", + "subtitles.block.anvil.land": "Anvil landed", + "subtitles.block.anvil.use": "Anvil used", + "subtitles.block.brewing_stand.brew": "Brewing Stand bubbles", + "subtitles.block.button.click": "Button clicks", + "subtitles.block.chest.close": "Chest closes", + "subtitles.block.chest.locked": "Chest locked", + "subtitles.block.chest.open": "Chest opens", + "subtitles.block.chorus_flower.death": "Chorus Flower withers", + "subtitles.block.chorus_flower.grow": "Chorus Flower grows", + "subtitles.block.comparator.click": "Comparator clicks", + "subtitles.block.dispenser.dispense": "Dispensed item", + "subtitles.block.dispenser.fail": "Dispenser failed", + "subtitles.block.door.toggle": "Door creaks", + "subtitles.block.fence_gate.toggle": "Fence Gate creaks", + "subtitles.block.fire.ambient": "Fire crackles", + "subtitles.block.fire.extinguish": "Fire extinguished", + "subtitles.block.furnace.fire_crackle": "Furnace crackles", + "subtitles.block.generic.break": "Block broken", + "subtitles.block.generic.footsteps": "Footsteps", + "subtitles.block.generic.hit": "Block breaking", + "subtitles.block.generic.place": "Block placed", + "subtitles.block.iron_trapdoor.close": "Trapdoor opens", + "subtitles.block.iron_trapdoor.open": "Trapdoor closes", + "subtitles.block.lava.ambient": "Lava pops", + "subtitles.block.lava.extinguish": "Lava hisses", + "subtitles.block.lever.click": "Lever clicks", + "subtitles.block.note.note": "Note Block plays", + "subtitles.block.piston.move": "Piston moves", + "subtitles.block.portal.ambient": "Portal whooshes", + "subtitles.block.pressure_plate.click": "Pressure Plate clicks", + "subtitles.block.redstone_torch.burnout": "Torch fizzes", + "subtitles.block.shulker_box.close": "Shulker closes", + "subtitles.block.shulker_box.open": "Shulker opens", + "subtitles.block.trapdoor.toggle": "Trapdoor creaks", + "subtitles.block.tripwire.attach": "Tripwire attaches", + "subtitles.block.tripwire.click": "Tripwire clicks", + "subtitles.block.tripwire.detach": "Tripwire detaches", + "subtitles.block.water.ambient": "Water flows", + "subtitles.enchant.thorns.hit": "Thorns prick", + "subtitles.entity.armorstand.fall": "Something fell", + "subtitles.entity.arrow.hit": "Arrow hits", + "subtitles.entity.arrow.hit_player": "Player hit", + "subtitles.entity.arrow.shoot": "Arrow fired", + "subtitles.entity.bat.ambient": "Bat screeches", + "subtitles.entity.bat.death": "Bat dies", + "subtitles.entity.bat.hurt": "Bat hurts", + "subtitles.entity.bat.takeoff": "Bat takes off", + "subtitles.entity.blaze.ambient": "Blaze breathes", + "subtitles.entity.blaze.burn": "Blaze crackles", + "subtitles.entity.blaze.death": "Blaze dies", + "subtitles.entity.blaze.hurt": "Blaze hurts", + "subtitles.entity.blaze.shoot": "Blaze shoots", + "subtitles.entity.bobber.splash": "Fishing hook splashes", + "subtitles.entity.bobber.throw": "Bobber thrown", + "subtitles.entity.cat.ambient": "Cat meows", + "subtitles.entity.cat.death": "Cat dies", + "subtitles.entity.cat.hurt": "Cat hurts", + "subtitles.entity.chicken.ambient": "Chicken clucks", + "subtitles.entity.chicken.death": "Chicken dies", + "subtitles.entity.chicken.egg": "Chicken plops", + "subtitles.entity.chicken.hurt": "Chicken hurts", + "subtitles.entity.cow.ambient": "Cow moos", + "subtitles.entity.cow.death": "Cow dies", + "subtitles.entity.cow.hurt": "Cow hurts", + "subtitles.entity.cow.milk": "Cow gets milked", + "subtitles.entity.creeper.death": "Creeper dies", + "subtitles.entity.creeper.hurt": "Creeper hurts", + "subtitles.entity.creeper.primed": "Creeper hisses", + "subtitles.entity.donkey.ambient": "Donkey hee-haws", + "subtitles.entity.donkey.angry": "Donkey neighs", + "subtitles.entity.donkey.chest": "Donkey Chest equips", + "subtitles.entity.donkey.death": "Donkey dies", + "subtitles.entity.donkey.hurt": "Donkey hurts", + "subtitles.entity.egg.throw": "Egg flies", + "subtitles.entity.elder_guardian.ambient.land": "Elder Guardian flaps", + "subtitles.entity.elder_guardian.ambient": "Elder Guardian moans", + "subtitles.entity.elder_guardian.attack": "Elder Guardian shoots", + "subtitles.entity.elder_guardian.curse": "Elder Guardian curses", + "subtitles.entity.elder_guardian.death": "Elder Guardian dies", + "subtitles.entity.elder_guardian.flop": "Elder Guardian flops", + "subtitles.entity.elder_guardian.hurt": "Elder Guardian hurts", + "subtitles.entity.enderdragon.ambient": "Dragon roars", + "subtitles.entity.enderdragon.death": "Dragon dies", + "subtitles.entity.enderdragon.flap": "Dragon flaps", + "subtitles.entity.enderdragon.growl": "Dragon growls", + "subtitles.entity.enderdragon.hurt": "Dragon hurts", + "subtitles.entity.enderdragon.shoot": "Dragon shoots", + "subtitles.entity.endereye.launch": "Eye of Ender shoots", + "subtitles.entity.enderman.ambient": "Enderman vwoops", + "subtitles.entity.enderman.death": "Enderman dies", + "subtitles.entity.enderman.hurt": "Enderman hurts", + "subtitles.entity.enderman.stare": "Enderman cries out", + "subtitles.entity.enderman.teleport": "Enderman teleports", + "subtitles.entity.endermite.ambient": "Endermite scuttles", + "subtitles.entity.endermite.death": "Endermite dies", + "subtitles.entity.endermite.hurt": "Endermite hurts", + "subtitles.entity.enderpearl.throw": "Ender Pearl flies", + "subtitles.entity.evocation_fangs.attack": "Fangs snap", + "subtitles.entity.evocation_illager.ambient": "Evoker murmurs", + "subtitles.entity.evocation_illager.cast_spell": "Evoker casts spell", + "subtitles.entity.evocation_illager.death": "Evoker dies", + "subtitles.entity.evocation_illager.hurt": "Evoker hurts", + "subtitles.entity.evocation_illager.prepare_attack": "Evoker prepares attack", + "subtitles.entity.evocation_illager.prepare_summon": "Evoker prepares summoning", + "subtitles.entity.evocation_illager.prepare_wololo": "Evoker prepares charming", + "subtitles.entity.experience_orb.pickup": "Experience gained", + "subtitles.entity.firework.blast": "Firework blasts", + "subtitles.entity.firework.launch": "Firework launches", + "subtitles.entity.firework.twinkle": "Firework twinkles", + "subtitles.entity.generic.big_fall": "Something fell", + "subtitles.entity.generic.burn": "Burning", + "subtitles.entity.generic.death": "Dying", + "subtitles.entity.generic.drink": "Sipping", + "subtitles.entity.generic.eat": "Eating", + "subtitles.entity.generic.explode": "Explosion", + "subtitles.entity.generic.extinguish_fire": "Fire extinguishes", + "subtitles.entity.generic.hurt": "Something hurts", + "subtitles.entity.generic.small_fall": "Something tripped", + "subtitles.entity.generic.splash": "Splashing", + "subtitles.entity.generic.swim": "Swimming", + "subtitles.entity.ghast.ambient": "Ghast cries", + "subtitles.entity.ghast.death": "Ghast dies", + "subtitles.entity.ghast.hurt": "Ghast hurts", + "subtitles.entity.ghast.shoot": "Ghast shoots", + "subtitles.entity.guardian.ambient.land": "Guardian flaps", + "subtitles.entity.guardian.ambient": "Guardian moans", + "subtitles.entity.guardian.attack": "Guardian shoots", + "subtitles.entity.guardian.curse": "Guardian curses", + "subtitles.entity.guardian.death": "Guardian dies", + "subtitles.entity.guardian.flop": "Guardian flops", + "subtitles.entity.guardian.hurt": "Guardian hurts", + "subtitles.entity.horse.ambient": "Horse neighs", + "subtitles.entity.horse.angry": "Horse neighs", + "subtitles.entity.horse.armor": "Horse armor equips", + "subtitles.entity.horse.breathe": "Horse breathes", + "subtitles.entity.horse.death": "Horse dies", + "subtitles.entity.horse.eat": "Horse eats", + "subtitles.entity.horse.gallop": "Horse gallops", + "subtitles.entity.horse.hurt": "Horse hurts", + "subtitles.entity.horse.jump": "Horse jumps", + "subtitles.entity.horse.saddle": "Saddle equips", + "subtitles.entity.husk.ambient": "Husk groans", + "subtitles.entity.husk.death": "Husk dies", + "subtitles.entity.husk.hurt": "Husk hurts", + "subtitles.entity.iron_golem.attack": "Iron Golem attacks", + "subtitles.entity.iron_golem.death": "Iron Golem dies", + "subtitles.entity.iron_golem.hurt": "Iron Golem hurts", + "subtitles.entity.item.break": "Item breaks", + "subtitles.entity.item.pickup": "Item plops", + "subtitles.entity.itemframe.add_item": "Item Frame fills", + "subtitles.entity.itemframe.break": "Item Frame breaks", + "subtitles.entity.itemframe.place": "Item Frame placed", + "subtitles.entity.itemframe.remove_item": "Item Frame empties", + "subtitles.entity.itemframe.rotate_item": "Item Frame clicks", + "subtitles.entity.leashknot.break": "Leash knot breaks", + "subtitles.entity.leashknot.place": "Leash knot tied", + "subtitles.entity.lightning.impact": "Lightning strikes", + "subtitles.entity.lightning.thunder": "Thunder roars", + "subtitles.entity.llama.ambient": "Llama bleats", + "subtitles.entity.llama.angry": "Llama bleats angry", + "subtitles.entity.llama.chest": "Llama Chest equips", + "subtitles.entity.llama.death": "Llama dies", + "subtitles.entity.llama.eat": "Llama eats", + "subtitles.entity.llama.hurt": "Llama hurts", + "subtitles.entity.llama.spit": "Llama spits", + "subtitles.entity.llama.step": "Llama steps", + "subtitles.entity.llama.swag": "Llama is decorated", + "subtitles.entity.magmacube.death": "Magma Cube dies", + "subtitles.entity.magmacube.hurt": "Magma Cube hurts", + "subtitles.entity.magmacube.squish": "Magma Cube squishes", + "subtitles.entity.minecart.riding": "Minecart rolls", + "subtitles.entity.mule.ambient": "Mule hee-haws", + "subtitles.entity.mule.chest": "Mule Chest equips", + "subtitles.entity.mule.death": "Mule dies", + "subtitles.entity.mule.hurt": "Mule hurts", + "subtitles.entity.painting.break": "Painting breaks", + "subtitles.entity.painting.place": "Painting placed", + "subtitles.entity.pig.ambient": "Pig oinks", + "subtitles.entity.pig.death": "Pig dies", + "subtitles.entity.pig.hurt": "Pig hurts", + "subtitles.entity.pig.saddle": "Saddle equips", + "subtitles.entity.player.burp": "Burp", + "subtitles.entity.player.death": "Player dies", + "subtitles.entity.player.hurt": "Player hurts", + "subtitles.entity.player.levelup": "Player dings", + "subtitles.entity.polar_bear.ambient": "Polar Bear groans", + "subtitles.entity.polar_bear.baby_ambient": "Polar Bear hums", + "subtitles.entity.polar_bear.death": "Polar Bear dies", + "subtitles.entity.polar_bear.hurt": "Polar Bear hurts", + "subtitles.entity.polar_bear.warning": "Polar Bear roars", + "subtitles.entity.potion.splash": "Bottle smashes", + "subtitles.entity.potion.throw": "Bottle thrown", + "subtitles.entity.rabbit.ambient": "Rabbit squeaks", + "subtitles.entity.rabbit.attack": "Rabbit attacks", + "subtitles.entity.rabbit.death": "Rabbit dies", + "subtitles.entity.rabbit.hurt": "Rabbit hurts", + "subtitles.entity.rabbit.jump": "Rabbit hops", + "subtitles.entity.sheep.ambient": "Sheep baahs", + "subtitles.entity.sheep.death": "Sheep dies", + "subtitles.entity.sheep.hurt": "Sheep hurts", + "subtitles.entity.shulker.ambient": "Shulker lurks", + "subtitles.entity.shulker.close": "Shulker closes", + "subtitles.entity.shulker.death": "Shulker dies", + "subtitles.entity.shulker.hurt": "Shulker hurts", + "subtitles.entity.shulker.open": "Shulker opens", + "subtitles.entity.shulker.shoot": "Shulker shoots", + "subtitles.entity.shulker.teleport": "Shulker teleports", + "subtitles.entity.shulker_bullet.hit": "Shulker bullet explodes", + "subtitles.entity.shulker_bullet.hurt": "Shulker bullet breaks", + "subtitles.entity.silverfish.ambient": "Silverfish hisses", + "subtitles.entity.silverfish.death": "Silverfish dies", + "subtitles.entity.silverfish.hurt": "Silverfish hurts", + "subtitles.entity.skeleton.ambient": "Skeleton rattles", + "subtitles.entity.skeleton.death": "Skeleton dies", + "subtitles.entity.skeleton.hurt": "Skeleton hurts", + "subtitles.entity.skeleton.shoot": "Skeleton shoots", + "subtitles.entity.skeleton_horse.ambient": "Skeleton Horse cries", + "subtitles.entity.skeleton_horse.death": "Skeleton Horse dies", + "subtitles.entity.skeleton_horse.hurt": "Skeleton Horse hurts", + "subtitles.entity.slime.attack": "Slime attacks", + "subtitles.entity.slime.death": "Slime dies", + "subtitles.entity.slime.hurt": "Slime hurts", + "subtitles.entity.slime.squish": "Slime squishes", + "subtitles.entity.snowball.throw": "Snowball flies", + "subtitles.entity.snowman.death": "Snow Golem dies", + "subtitles.entity.snowman.hurt": "Snow Golem hurts", + "subtitles.entity.spider.ambient": "Spider hisses", + "subtitles.entity.spider.death": "Spider dies", + "subtitles.entity.spider.hurt": "Spider hurts", + "subtitles.entity.squid.ambient": "Squid swims", + "subtitles.entity.squid.death": "Squid dies", + "subtitles.entity.squid.hurt": "Squid hurts", + "subtitles.entity.stray.ambient": "Stray rattles", + "subtitles.entity.stray.death": "Stray dies", + "subtitles.entity.stray.hurt": "Stray hurts", + "subtitles.entity.tnt.primed": "TNT fizzes", + "subtitles.entity.vex.ambient": "Vex vexes", + "subtitles.entity.vex.charge": "Vex shrieks", + "subtitles.entity.vex.death": "Vex dies", + "subtitles.entity.vex.hurt": "Vex hurts", + "subtitles.entity.villager.ambient": "Villager mumbles", + "subtitles.entity.villager.death": "Villager dies", + "subtitles.entity.villager.hurt": "Villager hurts", + "subtitles.entity.villager.no": "Villager disagrees", + "subtitles.entity.villager.trading": "Villager trades", + "subtitles.entity.villager.yes": "Villager agrees", + "subtitles.entity.vindication_illager.ambient": "Vindicator mutters", + "subtitles.entity.vindication_illager.death": "Vindicator dies", + "subtitles.entity.vindication_illager.hurt": "Vindicator hurts", + "subtitles.entity.witch.ambient": "Witch giggles", + "subtitles.entity.witch.death": "Witch dies", + "subtitles.entity.witch.drink": "Witch drinks", + "subtitles.entity.witch.hurt": "Witch hurts", + "subtitles.entity.witch.throw": "Witch throws", + "subtitles.entity.wither.ambient": "Wither angers", + "subtitles.entity.wither.death": "Wither dies", + "subtitles.entity.wither.hurt": "Wither hurts", + "subtitles.entity.wither.shoot": "Wither attacks", + "subtitles.entity.wither.spawn": "Wither released", + "subtitles.entity.wither_skeleton.ambient": "Wither Skeleton rattles", + "subtitles.entity.wither_skeleton.death": "Wither Skeleton dies", + "subtitles.entity.wither_skeleton.hurt": "Wither Skeleton hurts", + "subtitles.entity.wolf.ambient": "Wolf pants", + "subtitles.entity.wolf.death": "Wolf dies", + "subtitles.entity.wolf.growl": "Wolf growls", + "subtitles.entity.wolf.hurt": "Wolf hurts", + "subtitles.entity.wolf.shake": "Wolf shakes", + "subtitles.entity.zombie.ambient": "Zombie groans", + "subtitles.entity.zombie.death": "Zombie dies", + "subtitles.entity.zombie.hurt": "Zombie hurts", + "subtitles.entity.zombie.infect": "Zombie infects", + "subtitles.entity.zombie_horse.ambient": "Zombie Horse cries", + "subtitles.entity.zombie_horse.death": "Zombie Horse dies", + "subtitles.entity.zombie_horse.hurt": "Zombie Horse hurts", + "subtitles.entity.zombie_pigman.ambient": "Zombie Pigman grunts", + "subtitles.entity.zombie_pigman.angry": "Zombie Pigman angers", + "subtitles.entity.zombie_pigman.death": "Zombie Pigman dies", + "subtitles.entity.zombie_pigman.hurt": "Zombie Pigman hurts", + "subtitles.entity.zombie_villager.ambient": "Zombie Villager groans", + "subtitles.entity.zombie_villager.converted": "Zombie vociferates", + "subtitles.entity.zombie_villager.cure": "Zombie snuffles", + "subtitles.entity.zombie_villager.death": "Zombie Villager dies", + "subtitles.entity.zombie_villager.hurt": "Zombie Villager hurts", + "subtitles.item.armor.equip": "Gear equipped", + "subtitles.item.armor.equip_chain": "Chain armor jingles", + "subtitles.item.armor.equip_diamond": "Diamond armor clangs", + "subtitles.item.armor.equip_elytra": "Elytra rustles", + "subtitles.item.armor.equip_gold": "Gold armor clinks", + "subtitles.item.armor.equip_iron": "Iron armor clanks", + "subtitles.item.armor.equip_leather": "Leather armor rustles", + "subtitles.item.bottle.fill": "Bottle fills", + "subtitles.item.bucket.empty": "Bucket empties", + "subtitles.item.bucket.fill": "Bucket fills", + "subtitles.item.chorus_fruit.teleport": "Player teleports", + "subtitles.item.firecharge.use": "Fireball whooshes", + "subtitles.item.flintandsteel.use": "Flint and Steel click", + "subtitles.item.hoe.till": "Hoe tills", + "subtitles.item.shear": "Shears click", + "subtitles.item.shield.block": "Shield blocks", + "subtitles.item.shovel.flatten": "Shovel flattens", + "subtitles.item.totem.use": "Totem activates", + "subtitles.weather.rain": "Rain falls", + "debug.reload_chunks.help": "F3 + A = Reload chunks", + "debug.show_hitboxes.help": "F3 + B = Show hitboxes", + "debug.clear_chat.help": "F3 + D = Clear chat", + "debug.cycle_renderdistance.help": "F3 + F = Cycle render distance (Shift to invert)", + "debug.chunk_boundaries.help": "F3 + G = Show chunk boundaries", + "debug.advanced_tooltips.help": "F3 + H = Advanced tooltips", + "debug.creative_spectator.help": "F3 + N = Cycle creative <-> spectator", + "debug.pause_focus.help": "F3 + P = Pause on lost focus", + "debug.help.help": "F3 + Q = Show this list", + "debug.reload_resourcepacks.help": "F3 + T = Reload resource packs", + "debug.reload_chunks.message": "Reloading all chunks", + "debug.show_hitboxes.on": "Hitboxes: shown", + "debug.show_hitboxes.off": "Hitboxes: hidden", + "debug.cycle_renderdistance.message": "Render Distance: %s", + "debug.chunk_boundaries.on": "Chunk borders: shown", + "debug.chunk_boundaries.off": "Chunk borders: hidden", + "debug.advanced_tooltips.on": "Advanced tooltips: shown", + "debug.advanced_tooltips.off": "Advanced tooltips: hidden", + "debug.creative_spectator.error": "Unable to switch gamemode, no permission", + "debug.pause_focus.on": "Pause on lost focus: enabled", + "debug.pause_focus.off": "Pause on lost focus: disabled", + "debug.help.message": "Key bindings:", + "debug.reload_resourcepacks.message": "Reloaded resource packs", + "resourcepack.downloading": "Downloading Resource Pack", + "resourcepack.requesting": "Making Request...", + "resourcepack.progress": "Downloading file (%s MB)..." +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/materials.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/materials.json new file mode 100644 index 00000000..69c797e0 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/materials.json @@ -0,0 +1,61 @@ +{ + "rock": { + "257": 6, + "270": 2, + "274": 4, + "278": 8, + "285": 12 + }, + "wood": { + "258": 6, + "271": 2, + "275": 4, + "279": 8, + "286": 12 + }, + "plant": { + "258": 6, + "267": 1.5, + "268": 1.5, + "271": 2, + "272": 1.5, + "275": 4, + "276": 1.5, + "279": 8, + "283": 1.5, + "286": 12 + }, + "melon": { + "267": 1.5, + "268": 1.5, + "272": 1.5, + "276": 1.5, + "283": 1.5 + }, + "leaves": { + "267": 1.5, + "268": 1.5, + "272": 1.5, + "276": 1.5, + "283": 1.5, + "359": 6 + }, + "dirt": { + "256": 6, + "269": 2, + "273": 4, + "277": 8, + "284": 12 + }, + "web": { + "267": 15, + "268": 15, + "272": 15, + "276": 15, + "283": 15, + "359": 15 + }, + "wool": { + "359": 4.8 + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/particles.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/particles.json new file mode 100644 index 00000000..cf0549b1 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/particles.json @@ -0,0 +1,198 @@ +[ + { + "id": 0, + "name": "explode" + }, + { + "id": 1, + "name": "largeexplode" + }, + { + "id": 2, + "name": "hugeexplosion" + }, + { + "id": 3, + "name": "fireworksSpark" + }, + { + "id": 4, + "name": "bubble" + }, + { + "id": 5, + "name": "splash" + }, + { + "id": 6, + "name": "wake" + }, + { + "id": 7, + "name": "suspended" + }, + { + "id": 8, + "name": "depthsuspend" + }, + { + "id": 9, + "name": "crit" + }, + { + "id": 10, + "name": "magicCrit" + }, + { + "id": 11, + "name": "smoke" + }, + { + "id": 12, + "name": "largesmoke" + }, + { + "id": 13, + "name": "spell" + }, + { + "id": 14, + "name": "instantSpell" + }, + { + "id": 15, + "name": "mobSpell" + }, + { + "id": 16, + "name": "mobSpellAmbient" + }, + { + "id": 17, + "name": "witchMagic" + }, + { + "id": 18, + "name": "dripWater" + }, + { + "id": 19, + "name": "dripLava" + }, + { + "id": 20, + "name": "angryVillager" + }, + { + "id": 21, + "name": "happyVillager" + }, + { + "id": 22, + "name": "townaura" + }, + { + "id": 23, + "name": "note" + }, + { + "id": 24, + "name": "portal" + }, + { + "id": 25, + "name": "enchantmenttable" + }, + { + "id": 26, + "name": "flame" + }, + { + "id": 27, + "name": "lava" + }, + { + "id": 28, + "name": "footstep" + }, + { + "id": 29, + "name": "cloud" + }, + { + "id": 30, + "name": "reddust" + }, + { + "id": 31, + "name": "snowballpoof" + }, + { + "id": 32, + "name": "snowshovel" + }, + { + "id": 33, + "name": "slime" + }, + { + "id": 34, + "name": "heart" + }, + { + "id": 35, + "name": "barrier" + }, + { + "id": 36, + "name": "iconcrack" + }, + { + "id": 37, + "name": "blockcrack" + }, + { + "id": 38, + "name": "blockdust" + }, + { + "id": 39, + "name": "droplet" + }, + { + "id": 40, + "name": "take" + }, + { + "id": 41, + "name": "mobappearance" + }, + { + "id": 42, + "name": "dragonbreath" + }, + { + "id": 43, + "name": "endRod" + }, + { + "id": 44, + "name": "damageIndicator" + }, + { + "id": 45, + "name": "sweepAttack" + }, + { + "id": 46, + "name": "fallingdust" + }, + { + "id": 47, + "name": "totem" + }, + { + "id": 48, + "name": "spit" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/protocol.json new file mode 100644 index 00000000..cc281415 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/protocol.json @@ -0,0 +1,3576 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "tab_complete", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "transaction", + "0x12": "close_window", + "0x13": "open_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "keep_alive", + "0x20": "map_chunk", + "0x21": "world_event", + "0x22": "world_particles", + "0x23": "login", + "0x24": "map", + "0x25": "rel_entity_move", + "0x26": "entity_move_look", + "0x27": "entity_look", + "0x28": "entity", + "0x29": "vehicle_move", + "0x2a": "open_sign_entity", + "0x2b": "abilities", + "0x2c": "combat_event", + "0x2d": "player_info", + "0x2e": "position", + "0x2f": "bed", + "0x30": "entity_destroy", + "0x31": "remove_entity_effect", + "0x32": "resource_pack_send", + "0x33": "respawn", + "0x34": "entity_head_rotation", + "0x35": "world_border", + "0x36": "camera", + "0x37": "held_item_slot", + "0x38": "scoreboard_display_objective", + "0x39": "entity_metadata", + "0x3a": "attach_entity", + "0x3b": "entity_velocity", + "0x3c": "entity_equipment", + "0x3d": "experience", + "0x3e": "update_health", + "0x3f": "scoreboard_objective", + "0x40": "set_passengers", + "0x41": "teams", + "0x42": "scoreboard_score", + "0x43": "spawn_position", + "0x44": "update_time", + "0x45": "title", + "0x46": "sound_effect", + "0x47": "playerlist_header", + "0x48": "collect", + "0x49": "entity_teleport", + "0x4a": "entity_update_attributes", + "0x4b": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "tab_complete", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "transaction", + "0x06": "enchant_item", + "0x07": "window_click", + "0x08": "close_window", + "0x09": "custom_payload", + "0x0a": "use_entity", + "0x0b": "keep_alive", + "0x0c": "position", + "0x0d": "position_look", + "0x0e": "look", + "0x0f": "flying", + "0x10": "vehicle_move", + "0x11": "steer_boat", + "0x12": "abilities", + "0x13": "block_dig", + "0x14": "entity_action", + "0x15": "steer_vehicle", + "0x16": "resource_pack_receive", + "0x17": "held_item_slot", + "0x18": "set_creative_slot", + "0x19": "update_sign", + "0x1a": "arm_animation", + "0x1b": "spectate", + "0x1c": "block_place", + "0x1d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/protocol.pds b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/protocol.pds new file mode 100644 index 00000000..c0df90a0 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/protocol.pds @@ -0,0 +1,1126 @@ +@doc "8-bit signed integer" +@type integer("i8") def_native("i8"); + +@doc "8-bit unsigned integer" +@type integer("u8") def_native("u8"); + +@doc "16-bit signed integer" +@type integer("i16") def_native("i16"); + +@doc "16-bit unsigned integer" +@type integer("u16") def_native("u16"); + +@doc "32-bit signed integer" +@type integer("i32") def_native("i32"); + +@doc "64-bit signed integer" +@type integer("i64") def_native("i64"); + +@doc "Protobuf-style unsigned variable length integer with a maximum precision of 32-bit" +@type integer("u32") def_native("varint"); + +@doc "Protobuf-style unsigned variable length integer with a maximum precision of 64-bit" +@type integer("u64") def_native("varlong"); + +@doc "simple 1-byte boolean" +@type boolean def_native("bool"); + +@doc "IEEE-754 32-bit floating-point number" +def_native("f32"); + +@doc "IEEE-754 64-bit floating-point number" +def_native("f64"); + +@doc "UUID encoded as a 128-bit unsigned integer" +def_native("uuid"); + +@doc "Zero-sized unit type" +def_native("void"); + +@doc "Takes the remaining data in the packet as a raw binary" +def_native("restBuffer"); +def_native("nbt"); +def_native("optionalNbt"); + +@doc " +Position encoded as: + +* x as 26-bit signed integer +* y as 12-bit signed integer +* z as 26-bit signed integer + +Takes up a total of 8 bytes. +All numbers are two's complement encoded. +" +def_native("position"); + +def_native("entityMetadata"); +def_native("slot"); + +@type binary("utf8") +def_native("sized_string") { + argument("size", stage: "read") => integer("usize"); +}; +@type binary("raw") +def_native("sized_buffer") { + argument("size", stage: "read") => integer("usize"); +}; + +def("string") => container(virtual: "true") { + virtual_field("size", value: "string/@size") => varint; + field("string") => sized_string(size: "../size"); +}; +def("varint_buffer") => container(virtual: "true") { + virtual_field("size", value: "string/@size") => varint; + field("string") => sized_buffer(size: "../size"); +}; + +namespace("handshaking::toClient") { + @export "handshaking_to_client_packet" + def("packet") => container(virtual: true) { + virtual_field("tag", value: "data/@tag") => ::varint; + field("data") => union("handshaking_to_client", tag: "../tag") { + }; + }; +}; + +namespace("handshaking::toServer") { + def("packet_set_protocol") => container { + field("protocol_version") => ::varint; + field("server_host") => ::string; + field("server_port") => ::u16; + field("next_state") => ::varint; + }; + def("packet_legacy_server_list_ping") => container { + field("payload") => ::u8; + }; + @export "handshaking_to_server_packet" + def("packet") => container { + virtual_field("tag", value: "data/@tag") => ::varint; + field("data") => union("handshaking_to_server", tag: "../tag") { + variant("set_protocol", match: "0x00") => packet_set_protocol; + variant("legacy_server_list_ping", match: "0xfe") => packet_legacy_server_list_ping; + }; + }; +}; + +namespace("status::toClient") { + def("packet_server_info") => container { + field("response") => ::string; + }; + def("packet_ping") => container { + field("time") => ::i64; + }; + @export "status_to_client_packet" + def("packet") => container { + virtual_field("tag", value: "data/@tag") => ::varint; + field("data") => union("status_to_client", tag: "../tag") { + variant("server_info", match: "0x00") => packet_server_info; + variant("ping", match: "0x01") => packet_ping; + }; + }; +}; + +namespace("status::toServer") { + def("packet_ping_start") => container {}; + def("packet_ping") => container { + field("time") => ::i64; + }; + @export "status_to_server_packet" + def("packet") => container { + virtual_field("tag", value: "data/@tag") => ::varint; + field("data") => union("status_to_client", tag: "../tag") { + variant("ping_start", match: "0x00") => packet_ping_start; + variant("ping", match: "0x01") => packet_ping; + }; + }; +}; + +namespace("login::toClient") { + def("packet_disconnect") => container { + field("reason") => ::string; + }; + def("packet_encryption_begin") => container { + field("server_id") => ::string; + field("public_key") => ::varint_buffer; + field("verify_token") => ::varint_buffer; + }; + def("packet_success") => container { + field("uuid") => ::string; + field("username") => ::string; + }; + def("packet_compress") => container { + field("threshold") => ::varint; + }; + @export "login_to_client_packet" + def("packet") => container { + virtual_field("tag", value: "data/@tag") => ::varint; + field("data") => union("status_to_client", tag: "../tag") { + variant("disconnect", match: "0x00") => packet_disconnect; + variant("encryption_begin", match: "0x01") => packet_encryption_begin; + variant("success", match: "0x02") => packet_success; + variant("compress", match: "0x03") => packet_compress; + }; + }; +}; + +namespace("login::toServer") { + def("packet_login_start") => container { + field("username") => ::string; + }; + def("packet_encryption_begin") => container { + field("shared_secret") => ::varint_buffer; + field("verify_token") => ::varint_buffer; + }; + @export "login_to_server_packet" + def("packet") => container { + virtual_field("tag", value: "data/@tag") => ::varint; + field("data") => union("status_to_client", tag: "../tag") { + variant("login_start", match: "0x00") => packet_login_start; + variant("encryption_begin", match: "0x01") => packet_encryption_begin; + }; + }; +}; + +namespace("play::toClient") { + def("packet_spawn_entity") => container { + field("entity_id") => ::varint; + field("object_uuid") => ::uuid; + field("type") => ::i8; + field("x") => ::f64; + field("y") => ::f64; + field("z") => ::f64; + field("pitch") => ::i8; + field("yaw") => ::i8; + field("int_field") => ::i32; + field("velocity_x") => ::i16; + field("velocity_y") => ::i16; + field("velocity_z") => ::i16; + }; + def("packet_spawn_entity_experience_orb") => container { + field("entity_id") => ::varint; + field("x") => ::f64; + field("y") => ::f64; + field("z") => ::f64; + field("count") => ::i16; + }; + def("packet_spawn_entity_weather") => container { + field("entity_id") => ::varint; + field("type") => ::i8; + field("x") => ::f64; + field("y") => ::f64; + field("z") => ::f64; + }; + def("packet_spawn_entity_living") => container { + field("entity_id") => ::varint; + field("entity_uuid") => ::uuid; + field("type") => ::varint; + field("x") => ::f64; + field("y") => ::f64; + field("z") => ::f64; + field("yaw") => ::i8; + field("pitch") => ::i8; + field("head_pitch") => ::i8; + field("velocity_x") => ::i16; + field("velocity_y") => ::i16; + field("velocity_z") => ::i16; + field("metadata") => ::entityMetadata; + }; + def("packet_spawn_entity_painting") => container { + field("entity_id") => ::varint; + field("entity_uuid") => ::uuid; + field("title") => ::string; + field("location") => ::position; + field("direction") => ::u8; + }; + def("packet_named_entity_spawn") => container { + field("entity_id") => ::varint; + field("player_uuid") => ::uuid; + field("x") => ::f64; + field("y") => ::f64; + field("z") => ::f64; + field("yaw") => ::i8; + field("pitch") => ::i8; + field("metadata") => ::entityMetadata; + }; + def("packet_animation") => container { + field("entity_id") => ::varint; + field("animation") => ::u8; + }; + def("packet_statistics") => container { + virtual_field("entries_length", value: "entries/@length") => ::varint; + field("entries") => array(length: "../entries_length") => container { + field("name") => ::string; + field("value") => ::varint; + }; + }; + def("packet_block_break_animation") => container { + field("entity_id") => ::varint; + field("location") => ::position; + field("destroy_stage") => ::i8; + }; + def("packet_tile_entity_data") => container { + field("location") => ::position; + field("action") => ::u8; + field("nbt_data") => ::optionalNbt; + }; + def("packet_block_action") => container { + field("location") => ::position; + field("byte_one") => ::u8; + field("byte_two") => ::u8; + field("block_id") => ::varint; + }; + def("packet_block_change") => container { + field("location") => ::position; + field("type") => ::varint; + }; + def("packet_boss_bar") => container { + field("entity_uuid") => ::uuid; + virtual_field("action", value: "data/@tag") => ::varint; + field("data") => union("boss_bar_data", tag: "../action") { + variant("add", match: "0") => container { + field("title") => ::string; + field("health") => ::f32; + field("color") => ::varint; + field("dividers") => ::varint; + field("flags") => ::u8; + }; + variant("remove", match: "1") => container {}; + variant("update_health", match: "2") => container { + field("health") => ::f32; + }; + variant("update_title", match: "3") => container { + field("title") => ::string; + }; + variant("update_style", match: "4") => container { + field("color") => ::varint; + field("dividers") => ::varint; + }; + variant("update_flags", match: "5") => container { + field("flags") => ::u8; + }; + }; + }; + def("packet_difficulty") => container { + field("difficulty") => ::u8; + }; + def("packet_tab_complete") => container { + virtual_field("matches_length", value: "matches/@length") => ::varint; + field("matches") => array(length: "../matches_length") => ::string; + }; + def("packet_chat") => container { + field("message") => ::string; + field("position") => ::i8; + }; + def("packet_multi_block_change") => container { + field("chunk_x") => ::i32; + field("chunk_y") => ::i32; + virtual_field("records_length", value: "records/@length") => ::varint; + field("records") => array(length: "../records_length") => container { + field("horizontal_pos") => ::u8; + field("y") => ::u8; + field("block_id") => ::varint; + }; + }; + def("packet_transaction") => container { + field("window_id") => ::i8; + field("action") => ::i16; + field("accepted") => ::bool; + }; + def("packet_close_window") => container { + field("window_id") => ::u8; + }; + def("packet_open_window") => container { + field("window_id") => ::u8; + field("inventory_type") => ::string; + field("window_title") => ::string; + field("slot_count") => ::u8; + field("entity_id") => union("window_extra_data", tag: "../inventory_type") { + variant("horse_data", match: "EntityHorse") => container { + field("entity_id") => ::i32; + }; + default("no_data") => container {}; + }; + + }; + def("packet_window_items") => container { + field("window_id") => ::u8; + virtual_field("items_length", value: "items/@length") => ::i16; + field("items") => array(length: "../items_length") => ::slot; + }; + def("packet_craft_progress_bar") => container { + field("window_id") => ::u8; + field("property") => ::i16; + field("value") => ::i16; + }; + def("packet_set_slot") => container { + field("window_id") => ::i8; + field("slot") => ::i16; + field("item") => ::slot; + }; + def("packet_set_cooldown") => container { + field("item_id") => ::varint; + field("cooldown_ticks") => ::varint; + }; + def("packet_custom_payload") => container { + field("channel") => ::string; + field("data") => ::restBuffer; + }; + def("packet_named_sound_effect") => container { + field("sound_name") => ::string; + field("sound_category") => ::varint; + field("x") => ::i32; + field("y") => ::i32; + field("z") => ::i32; + field("volume") => ::f32; + field("pitch") => ::f32; + }; + def("packet_kick_disconnect") => container { + field("reason") => ::string; + }; + def("packet_entity_status") => container { + field("entity_id") => ::i32; + field("entity_status") => ::i8; + }; + def("packet_explosion") => container { + field("x") => ::f32; + field("y") => ::f32; + field("z") => ::f32; + field("radius") => ::f32; + virtual_field("affected_block_offsets_length", value: "affected_block_offsets/@length") => ::i32; + field("affected_block_offsets") => array(length: "../affected_block_offsets_length") => container { + field("x") => ::i8; + field("y") => ::i8; + field("z") => ::i8; + }; + field("player_motion_x") => ::f32; + field("player_motion_y") => ::f32; + field("player_motion_z") => ::f32; + }; + def("packet_unload_chunk") => container { + field("chunk_x") => ::i32; + field("chunk_z") => ::i32; + }; + def("packet_game_state_change") => container { + field("reason") => ::u8; + field("game_mode") => ::f32; + }; + def("packet_keep_alive") => container { + field("keep_alive_id") => ::varint; + }; + def("packet_map_chunk") => container { + field("x") => ::i32; + field("z") => ::i32; + field("ground_up") => ::bool; + field("bit_map") => ::varint; + field("chunk_data") => ::varint_buffer; + virtual_field("block_entities_length", value: "block_entities/@length") => ::varint; + field("block_entities") => array(length: "../block_entities_length") => ::nbt; + }; + def("packet_world_event") => container { + field("effect_id") => ::i32; + field("location") => ::position; + field("data") => ::i32; + field("global") => ::bool; + }; + def("packet_world_particles") => container { + field("particle_id") => ::i32; + field("long_distance") => ::bool; + field("x") => ::f32; + field("y") => ::f32; + field("z") => ::f32; + field("offset_x") => ::f32; + field("offset_y") => ::f32; + field("offset_z") => ::f32; + field("particle_data") => ::f32; + field("particles") => ::i32; + field("extra_data") => union("particles_extra_data", tag: "../particle_id") { + variant("one", match: "36") => container { + field("a") => ::varint; + field("b") => ::varint; + }; + variant("two", match: "37") => ::varint; + variant("three", match: "38") => ::varint; + default("no_data") => container {}; + }; + }; + def("packet_login") => container { + field("entity_d") => ::i32; + field("game_mode") => ::u8; + field("dimension") => ::i32; + field("difficulty") => ::u8; + field("max_players") => ::u8; + field("level_type") => ::string; + field("reduced_debug_info") => ::bool; + }; + def("packet_map") => container { + field("item_damage") => ::varint; + field("scale") => ::i8; + field("tracking_position") => ::bool; + virtual_field("icons_length", value: "icons/@length") => ::varint; + field("icons") => array(length: "../icons_length") => container { + field("direction_and_type") => ::i8; + field("x") => ::i8; + field("y") => ::i8; + }; + field("columns") => ::i8; + field("columns_data") => union("columns_data", tag: "../columns") { + variant("none", match: "0") => container {}; + default("some") => container { + field("rows") => ::i8; + field("x") => ::i8; + field("z") => ::i8; + virtual_field("data_length", value: "data/@length") => ::varint; + field("data") => array(length: "../data_length") => ::i8; + }; + }; + }; + def("packet_rel_entity_move") => container { + field("entity_id") => ::varint; + field("d_x") => ::i16; + field("d_y") => ::i16; + field("d_z") => ::i16; + field("on_ground") => ::bool; + }; + def("packet_entity_move_look") => container { + field("entity_id") => ::varint; + field("d_x") => ::i16; + field("d_y") => ::i16; + field("d_z") => ::i16; + field("yaw") => ::i8; + field("pitch") => ::i8; + field("on_ground") => ::bool; + }; + def("packet_entity_look") => container { + field("entity_id") => ::varint; + field("yaw") => ::i8; + field("pitch") => ::i8; + field("on_ground") => ::bool; + }; + def("packet_entity") => container { + field("entity_id") => ::varint; + }; + def("packet_vehicle_move") => container { + field("x") => ::f64; + field("y") => ::f64; + field("z") => ::f64; + field("yaw") => ::f32; + field("pitch") => ::f32; + }; + def("packet_open_sign_entity") => container { + field("location") => ::position; + }; + def("packet_abilities") => container { + field("flags") => ::i8; + field("flying_speed") => ::f32; + field("walking_speed") => ::f32; + }; + def("packet_combat_event") => container { + virtual_field("event_tag", value: "event/@tag") => ::varint; + field("event") => union("combat_event", tag: "../event_tag") { + variant("enter_combat", match: "0") => container {}; + variant("end_combat", match: "1") => container { + field("duration") => ::varint; + field("entity_id") => ::i32; + }; + variant("entity_dead", match: "2") => container { + field("player_id") => ::varint; + field("entity_id") => ::i32; + field("message") => ::string; + }; + }; + }; + def("packet_player_info") => container(virtual: true) { + virtual_field("action", value: "data/@tag") => ::varint; + field("data") => union("player_info_type", tag: "../action") { + + variant("add_player", match: "0") => container(virtual: "true") { + virtual_field("actions_length", value: "action/@length") => ::varint; + field("action") => array(length: "../actions_length") => container { + field("uuid") => ::uuid; + field("name") => ::string; + virtual_field("properties_length", value: "properties/@length") => ::varint; + field("properties") => array(length: "../properties_length") => container { + field("name") => ::string; + field("value") => ::string; + virtual_field("has_signature", value: "signature/@tag") => ::bool; + field("signature") => union("signature_option", tag: "../has_signature") { + variant("some", match: "true") => ::string; + variant("none", match: "false") => container {}; + }; + }; + field("gamemode") => ::varint; + field("ping") => ::varint; + virtual_field("has_display_name", value: "display_name/@tag") => ::bool; + field("display_name") => union("display_name_option", tag: "../has_display_name") { + variant("some", match: "true") => ::string; + variant("none", match: "false") => container {}; + }; + }; + }; + + variant("update_gamemode", match: "1") => container(virtual: "true") { + virtual_field("actions_length", value: "actions/@length") => ::varint; + field("actions") => array(length: "../actions_length") => container { + field("uuid") => ::uuid; + field("gamemode") => ::varint; + }; + }; + + variant("update_latency", match: "2") => container(virtual: "true") { + virtual_field("actions_length", value: "actions/@length") => ::varint; + field("actions") => array(length: "../actions_length") => container { + field("uuid") => ::uuid; + field("latency") => ::varint; + }; + }; + + variant("update_display_name", match: "3") => container(virtual: "true") { + virtual_field("actions_length", value: "actions/@length") => ::varint; + field("actions") => array(length: "../actions_length") => container { + field("uuid") => ::uuid; + virtual_field("has_display_name", value: "display_name/@tag") => ::bool; + field("display_name") => union("display_name_option", tag: "../has_display_name") { + variant("some", match: "true") => ::string; + variant("none", match: "false") => container {}; + }; + }; + }; + + variant("remove_player", match: "4") => container(virtual: "true") { + virtual_field("actions_length", value: "actions/@length") => ::varint; + field("actions") => array(length: "../actions_length") => container { + field("uuid") => ::uuid; + }; + }; + + }; + }; + def("packet_position") => container { + field("x") => ::f64; + field("y") => ::f64; + field("z") => ::f64; + field("yaw") => ::f32; + field("pitch") => ::f32; + field("flags") => ::i8; + field("teleport_id") => ::varint; + }; + def("packet_bed") => container { + field("entity_id") => ::varint; + field("location") => ::position; + }; + def("packet_entity_destroy") => container { + virtual_field("entity_ids_length", value: "entity_ids/@length") => ::varint; + field("entity_ids") => array(length: "../entity_ids_length") => ::varint; + }; + def("packet_remove_entity_effect") => container { + field("entity_id") => ::varint; + field("effect_id") => ::i8; + }; + def("packet_resource_pack_send") => container { + field("url") => ::string; + field("hash") => ::string; + }; + def("packet_respawn") => container { + field("dimension") => ::i32; + field("difficulty") => ::u8; + field("gamemode") => ::u8; + field("level_type") => ::string; + }; + def("packet_entity_head_rotation") => container { + field("entity_id") => ::varint; + field("head_yaw") => ::i8; + }; + def("packet_world_border") => container { + virtual_field("action_tag", value: "action/@tag") => ::varint; + field("action") => union("world_border_action", tag: "../action_tag") { + variant("set_size", match: "0") => container { + field("diameter") => ::f64; + }; + variant("lerp_size", match: "1") => container { + field("old_diameter") => ::f64; + field("new_diameter") => ::f64; + field("speed") => ::varlong; + }; + variant("set_center", match: "2") => container { + field("x") => ::f64; + field("z") => ::f64; + }; + variant("initialize", match: "3") => container { + field("x") => ::f64; + field("z") => ::f64; + field("old_diameter") => ::f64; + field("new_diameter") => ::f64; + field("speed") => ::varlong; + field("portal_teleport_boundary") => ::varint; + field("warning_time") => ::varint; + field("warning_blocks") => ::varint; + }; + variant("set_warning_time", match: "4") => container { + field("warning_time") => ::varint; + }; + variant("set_warning_blocks", match: "5") => container { + field("warning_blocks") => ::varint; + }; + }; + }; + def("packet_camera") => container { + field("camera_id") => ::varint; + }; + def("packet_held_item_slot") => container { + field("slot") => ::i8; + }; + def("packet_scoreboard_display_objective") => container { + field("position") => ::i8; + field("name") => ::string; + }; + def("packet_entity_metadata") => container { + field("entity_id") => ::varint; + field("metadata") => ::entityMetadata; + }; + def("packet_attach_entity") => container { + field("entity_id") => ::i32; + field("vehicle_id") => ::i32; + }; + def("packet_entity_velocity") => container { + field("entity_id") => ::varint; + field("velocity_x") => ::i16; + field("velocity_y") => ::i16; + field("velocity_z") => ::i16; + }; + def("packet_entity_equipment") => container { + field("entity_id") => ::varint; + field("slot") => ::varint; + field("item") => ::slot; + }; + def("packet_experience") => container { + field("experience_bar") => ::f32; + field("level") => ::varint; + field("total_experience") => ::varint; + }; + def("packet_update_health") => container { + field("health") => ::f32; + field("food") => ::varint; + field("food_saturation") => ::f32; + }; + def("packet_scoreboard_objective") => container { + field("name") => ::string; + virtual_field("action_tag", value: "action/@tag") => ::i8; + field("action") => union("action", tag: "../action_tag") { + variant("create", match: "0") => container { + field("objective") => ::string; + field("type") => ::string; + }; + variant("remove", match: "1") => container {}; + variant("update", match: "2") => container { + field("objective") => ::string; + field("type") => ::string; + }; + }; + }; + def("packet_set_passengers") => container { + field("entity_id") => ::varint; + virtual_field("passengers_length", value: "passengers/@length") => ::varint; + field("passengers") => array(length: "../passengers_length") => ::varint; + }; + def("packet_teams") => container { + field("team_name") => ::string; + virtual_field("mode_tag", value: "mode/@tag") => ::i8; + field("mode") => union("team_action", tag: "../mode_tag") { + variant("create", match: "0") => container { + field("team_display_name") => ::string; + field("team_prefix") => ::string; + field("team_suffix") => ::string; + field("friendly_flags") => ::i8; + field("name_tag_visibility") => ::string; + field("collision_rule") => ::string; + field("color") => ::i8; + virtual_field("entities_count", value: "entities/@length") => ::varint; + field("entities") => array(length: "../entities_count") => ::string; + }; + variant("remove", match: "1") => container {}; + variant("update_info", match: "2") => container { + field("team_display_name") => ::string; + field("team_prefix") => ::string; + field("team_suffix") => ::string; + field("friendly_flags") => ::i8; + field("name_tag_visibility") => ::string; + field("collision_rule") => ::string; + field("color") => ::i8; + }; + variant("add_players", match: "3") => container { + virtual_field("entities_count", value: "entities/@length") => ::varint; + field("entities") => array(length: "../entities_count") => ::string; + }; + variant("remove_players", match: "3") => container { + virtual_field("entities_count", value: "entities/@length") => ::varint; + field("entities") => array(length: "../entities_count") => ::string; + }; + }; + }; + def("packet_scoreboard_score") => container { + field("item_name") => ::string; + virtual_field("action_tag", value: "action/@tag") => ::i8; + field("action") => union("score_update_variant", tag: "../action_tag") { + variant("create", match: "0") => container { + field("objective_name") => ::string; + field("score") => ::varint; + }; + variant("remove", match: "1") => container { + field("objective_name") => ::string; + }; + }; + }; + def("packet_spawn_position") => container { + field("location") => ::position; + }; + def("packet_update_time") => container { + field("age") => ::i64; + field("time") => ::i64; + }; + def("packet_title") => container { + virtual_field("action_tag", value: "action/@tag") => ::varint; + field("action") => union("title_action", tag: "../action_tag") { + variant("set_title", match: "0") => container { + field("text") => ::string; + }; + variant("set_subtitle", match: "1") => container { + field("text") => ::string; + }; + variant("set_action_bar", match: "2") => container { + field("text") => ::string; + }; + variant("set_times", match: "3") => container { + field("fade_in") => ::i32; + field("stay") => ::i32; + field("fade_out") => ::i32; + }; + variant("hide", match: "4") => container {}; + variant("reset", match: "5") => container {}; + }; + }; + def("packet_sound_effect") => container { + field("sound_id") => ::varint; + field("sound_category") => ::varint; + field("x") => ::i32; + field("y") => ::i32; + field("z") => ::i32; + field("volume") => ::f32; + field("pitch") => ::f32; + }; + def("packet_playerlist_header") => container { + field("header") => ::string; + field("footer") => ::string; + }; + def("packet_collect") => container { + field("collected_entity_id") => ::varint; + field("collector_entity_id") => ::varint; + field("pickup_item_count") => ::varint; + }; + def("packet_entity_teleport") => container { + field("entity_id") => ::varint; + field("x") => ::f64; + field("y") => ::f64; + field("z") => ::f64; + field("yaw") => ::i8; + field("pitch") => ::i8; + field("on_ground") => ::bool; + }; + def("packet_entity_update_attributes") => container { + field("entity_id") => ::varint; + virtual_field("properties_length", value: "properties/@length") => ::i32; + field("properties") => array(length: "../properties_length") => container { + field("key") => ::string; + field("value") => ::f64; + virtual_field("modifiers_length", value: "modifiers/@length") => ::varint; + field("modifiers") => array(length: "../modifiers_length") => container { + field("uuid") => ::uuid; + field("amount") => ::f64; + field("operation") => ::i8; + }; + }; + }; + def("packet_entity_effect") => container { + field("entity_id") => ::varint; + field("effect_id") => ::i8; + field("amplifier") => ::i8; + field("duration") => ::varint; + field("hide_particles") => ::i8; + }; + @export "play_to_client_packet" + def("packet") => container { + virtual_field("tag", value: "data/@tag") => ::varint; + field("data") => union("play_to_client", tag: "../tag") { + variant("spawn_entity", match: "0") => packet_spawn_entity; + variant("spawn_entity_experience_orb", match: "1") => packet_spawn_entity_experience_orb; + variant("spawn_entity_weather", match: "2") => packet_spawn_entity_weather; + variant("spawn_entity_living", match: "3") => packet_spawn_entity_living; + variant("spawn_entity_painting", match: "4") => packet_spawn_entity_painting; + variant("named_entity_spawn", match: "5") => packet_named_entity_spawn; + variant("animation", match: "6") => packet_animation; + variant("statistics", match: "7") => packet_statistics; + variant("block_break_animation", match: "8") => packet_block_break_animation; + variant("tile_entity_data", match: "9") => packet_tile_entity_data; + variant("block_action", match: "10") => packet_block_action; + variant("block_change", match: "11") => packet_block_change; + variant("boss_bar", match: "12") => packet_boss_bar; + variant("difficulty", match: "13") => packet_difficulty; + variant("tab_complete", match: "14") => packet_tab_complete; + variant("chat", match: "15") => packet_chat; + variant("multi_block_change", match: "16") => packet_multi_block_change; + variant("transaction", match: "17") => packet_transaction; + variant("close_window", match: "18") => packet_close_window; + variant("open_window", match: "19") => packet_open_window; + variant("window_items", match: "20") => packet_window_items; + variant("craft_progress_bar", match: "21") => packet_craft_progress_bar; + variant("set_slot", match: "22") => packet_set_slot; + variant("set_cooldown", match: "23") => packet_set_cooldown; + variant("custom_payload", match: "24") => packet_custom_payload; + variant("named_sound_effect", match: "25") => packet_named_sound_effect; + variant("kick_disconnect", match: "26") => packet_kick_disconnect; + variant("entity_status", match: "27") => packet_entity_status; + variant("explosion", match: "28") => packet_explosion; + variant("unload_chunk", match: "29") => packet_unload_chunk; + variant("game_state_change", match: "30") => packet_game_state_change; + variant("keep_alive", match: "31") => packet_keep_alive; + variant("map_chunk", match: "32") => packet_map_chunk; + variant("world_event", match: "33") => packet_world_event; + variant("world_particles", match: "34") => packet_world_particles; + variant("login", match: "35") => packet_login; + variant("map", match: "36") => packet_map; + variant("rel_entity_move", match: "37") => packet_rel_entity_move; + variant("entity_move_look", match: "38") => packet_entity_move_look; + variant("entity_look", match: "39") => packet_entity_look; + variant("entity", match: "40") => packet_entity; + variant("vehicle_move", match: "41") => packet_vehicle_move; + variant("open_sign_entity", match: "42") => packet_open_sign_entity; + variant("abilities", match: "43") => packet_abilities; + variant("combat_event", match: "44") => packet_combat_event; + variant("player_info", match: "45") => packet_player_info; + variant("position", match: "46") => packet_position; + variant("bed", match: "47") => packet_bed; + variant("entity_destroy", match: "48") => packet_entity_destroy; + variant("remove_entity_effect", match: "49") => packet_remove_entity_effect; + variant("resource_pack_send", match: "50") => packet_resource_pack_send; + variant("respawn", match: "51") => packet_respawn; + variant("entity_update_attributes", match: "52") => packet_entity_update_attributes; + variant("world_border", match: "53") => packet_world_border; + variant("camera", match: "54") => packet_camera; + variant("held_item_slot", match: "55") => packet_held_item_slot; + variant("scoreboard_display_objective", match: "56") => packet_scoreboard_display_objective; + variant("entity_metadata", match: "57") => packet_entity_metadata; + variant("attach_entity", match: "58") => packet_attach_entity; + variant("entity_velocity", match: "59") => packet_entity_velocity; + variant("entity_equipment", match: "60") => packet_entity_equipment; + variant("experience", match: "61") => packet_experience; + variant("update_health", match: "62") => packet_update_health; + variant("scoreboard_objective", match: "63") => packet_scoreboard_objective; + variant("set_passengers", match: "64") => packet_set_passengers; + variant("teams", match: "65") => packet_teams; + variant("scoreboard_score", match: "66") => packet_scoreboard_score; + variant("spawn_position", match: "67") => packet_spawn_position; + variant("update_time", match: "68") => packet_update_time; + variant("title", match: "69") => packet_title; + variant("sound_effect", match: "70") => packet_sound_effect; + variant("playerlist_header", match: "71") => packet_playerlist_header; + variant("collect", match: "72") => packet_collect; + variant("entity_teleport", match: "73") => packet_entity_teleport; + variant("entity_head_rotation", match: "74") => packet_entity_head_rotation; + variant("entity_effect", match: "75") => packet_entity_effect; + }; + }; +}; +namespace("play::toServer") { + def("packet_teleport_confirm") => container { + field("teleport_id") => ::varint; + }; + def("packet_tab_complete") => container { + field("text") => ::string; + field("assume_command") => ::bool; + virtual_field("has_position", value: "position") => ::bool; + field("position") => union("tab_complete_positon_option", tag: "../has_position") { + variant("some", match: "true") => ::position; + variant("none", match: "false") => container {}; + }; + }; + def("packet_chat") => container { + field("message") => ::string; + }; + def("packet_client_command") => container { + field("action_id") => ::varint; + }; + def("packet_settings") => container { + field("locale") => ::string; + field("view_distance") => ::i8; + field("chat_flags") => ::varint; + field("chat_colors") => ::bool; + field("skin_parts") => ::u8; + field("main_hand") => ::varint; + }; + def("packet_transaction") => container { + field("window_id") => ::i8; + field("action") => ::i16; + field("accepted") => ::bool; + }; + def("packet_enchant_item") => container { + field("window_id") => ::i8; + field("enchantment") => ::i8; + }; + def("packet_window_click") => container { + field("window_id") => ::u8; + field("slot") => ::i16; + field("mouse_button") => ::i8; + field("action") => ::i16; + field("mode") => ::i8; + field("item") => ::slot; + }; + def("packet_close_window") => container { + field("window_id") => ::u8; + }; + def("packet_custom_payload") => container { + field("channel") => ::string; + field("data") => ::restBuffer; + }; + def("packet_use_entity") => container { + field("target") => ::varint; + virtual_field("mouse_tag", value: "mouse") => ::varint; + field("mouse") => union("use_entity_mouse", tag: "../mouse_tag") { + variant("interact", match: "0") => container { + field("hand") => ::varint; + }; + variant("attack", match: "1") => container {}; + variant("interact_at", match: "2") => container { + field("x") => ::f32; + field("y") => ::f32; + field("z") => ::f32; + field("hand") => ::varint; + }; + }; + }; + def("packet_keep_alive") => container { + field("keep_alive_id") => ::varint; + }; + def("packet_position") => container { + field("x") => ::f64; + field("y") => ::f64; + field("z") => ::f64; + field("on_ground") => ::bool; + }; + def("packet_position_look") => container { + field("x") => ::f64; + field("y") => ::f64; + field("z") => ::f64; + field("yaw") => ::f32; + field("pitch") => ::f32; + field("on_ground") => ::bool; + }; + def("packet_look") => container { + field("yaw") => ::f32; + field("pitch") => ::f32; + field("on_ground") => ::bool; + }; + def("packet_flying") => container { + field("on_ground") => ::bool; + }; + def("packet_vehicle_move") => container { + field("x") => ::f64; + field("y") => ::f64; + field("z") => ::f64; + field("yaw") => ::f32; + field("pitch") => ::f32; + }; + def("packet_steer_boat") => container { + field("right_paddle_turning") => ::bool; + field("left_paddle_turning") => ::bool; + }; + def("packet_abilities") => container { + field("flags") => ::i8; + field("flying_speed") => ::f32; + field("walking_speed") => ::f32; + }; + def("packet_block_dig") => container { + field("status") => ::i8; + field("location") => ::position; + field("face") => ::i8; + }; + def("packet_entity_action") => container { + field("entity_id") => ::varint; + field("action_id") => ::varint; + field("jump_boost") => ::varint; + }; + def("packet_steer_vehicle") => container { + field("sideways") => ::f32; + field("forward") => ::f32; + field("jump") => ::u8; + }; + def("packet_resource_pack_receive") => container { + field("result") => ::varint; + }; + def("packet_held_item_slot") => container { + field("slot_id") => ::i16; + }; + def("packet_set_creative_slot") => container { + field("slot") => ::i16; + field("item") => ::slot; + }; + def("packet_update_sign") => container { + field("location") => ::position; + field("text_one") => ::string; + field("text_two") => ::string; + field("text_three") => ::string; + field("text_four") => ::string; + }; + def("packet_arm_animation") => container { + field("hand") => ::varint; + }; + def("packet_spectate") => container { + field("target") => ::uuid; + }; + def("packet_block_place") => container { + field("location") => ::position; + field("direction") => ::varint; + field("hand") => ::varint; + field("cursor_x") => ::f32; + field("cursor_y") => ::f32; + field("cursor_z") => ::f32; + }; + def("packet_use_item") => container { + field("hand") => ::varint; + }; + @export "play_to_server_packet" + def("packet") => container { + virtual_field("tag", value: "data/@tag") => ::varint; + field("data") => union("play_to_server", tag: "../tag") { + variant("teleport_confirm", match: "0") => packet_teleport_confirm; + variant("tab_complete", match: "1") => packet_tab_complete; + variant("chat", match: "2") => packet_chat; + variant("client_command", match: "3") => packet_client_command; + variant("settings", match: "3") => packet_settings; + variant("transaction", match: "4") => packet_transaction; + variant("enchant_item", match: "5") => packet_enchant_item; + variant("window_click", match: "6") => packet_window_click; + variant("close_window", match: "7") => packet_close_window; + variant("custom_payload", match: "8") => packet_custom_payload; + variant("use_entity", match: "9") => packet_use_entity; + variant("keep_alive", match: "10") => packet_keep_alive; + variant("position", match: "11") => packet_position; + variant("position_look", match: "12") => packet_position_look; + variant("look", match: "13") => packet_look; + variant("flying", match: "14") => packet_flying; + variant("vehicle_move", match: "15") => packet_vehicle_move; + variant("steer_boat", match: "16") => packet_steer_boat; + variant("abilities", match: "17") => packet_abilities; + variant("block_dig", match: "18") => packet_block_dig; + variant("entity_action", match: "19") => packet_entity_action; + variant("steer_vehicle", match: "20") => packet_steer_vehicle; + variant("resource_pack_receive", match: "21") => packet_resource_pack_receive; + variant("held_item_slot", match: "22") => packet_held_item_slot; + variant("set_creative_slot", match: "23") => packet_set_creative_slot; + variant("update_sign", match: "24") => packet_update_sign; + variant("arm_animation", match: "25") => packet_arm_animation; + variant("spectate", match: "26") => packet_spectate; + variant("block_place", match: "27") => packet_block_place; + variant("use_item", match: "28") => packet_use_item; + }; + }; +}; diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/recipes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/recipes.json new file mode 100644 index 00000000..08835769 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/recipes.json @@ -0,0 +1,7656 @@ +{ + "3": [ + { + "inShape": [ + [ + { + "id": 3, + "metadata": 0 + }, + 13 + ], + [ + 13, + { + "id": 3, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 3, + "metadata": 1 + } + } + ], + "5": [ + { + "inShape": [ + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 5 + } + } + ], + "22": [ + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 22, + "metadata": 0 + } + } + ], + "23": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 261, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 23, + "metadata": 0 + } + } + ], + "24": [ + { + "inShape": [ + [ + { + "id": 12, + "metadata": 0 + }, + { + "id": 12, + "metadata": 0 + } + ], + [ + { + "id": 12, + "metadata": 0 + }, + { + "id": 12, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 24, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 24, + "metadata": 0 + }, + { + "id": 24, + "metadata": 0 + } + ], + [ + { + "id": 24, + "metadata": 0 + }, + { + "id": 24, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 24, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 1 + } + ], + [ + { + "id": 44, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 24, + "metadata": 1 + } + } + ], + "25": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + 331, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 25, + "metadata": 0 + } + } + ], + "27": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + 280, + 266 + ], + [ + 266, + 331, + 266 + ] + ], + "result": { + "count": 6, + "id": 27, + "metadata": 0 + } + } + ], + "28": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 70, + 265 + ], + [ + 265, + 331, + 265 + ] + ], + "result": { + "count": 6, + "id": 28, + "metadata": 0 + } + } + ], + "29": [ + { + "inShape": [ + [ + 341 + ], + [ + 33 + ] + ], + "result": { + "count": 1, + "id": 29, + "metadata": 0 + } + } + ], + "33": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + 4, + 265, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 33, + "metadata": 0 + } + } + ], + "35": [ + { + "inShape": [ + [ + 287, + 287 + ], + [ + 287, + 287 + ] + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 0 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + } + ], + "41": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 41, + "metadata": 0 + } + } + ], + "42": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 42, + "metadata": 0 + } + } + ], + "44": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 24, + "metadata": 2 + }, + { + "id": 24, + "metadata": 2 + }, + { + "id": 24, + "metadata": 2 + } + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 4 + } + }, + { + "inShape": [ + [ + { + "id": 98, + "metadata": 3 + }, + { + "id": 98, + "metadata": 3 + }, + { + "id": 98, + "metadata": 3 + } + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 5 + } + }, + { + "inShape": [ + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 6 + } + }, + { + "inShape": [ + [ + { + "id": 155, + "metadata": 0 + }, + { + "id": 155, + "metadata": 0 + }, + { + "id": 155, + "metadata": 0 + } + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 7 + } + } + ], + "45": [ + { + "inShape": [ + [ + 336, + 336 + ], + [ + 336, + 336 + ] + ], + "result": { + "count": 1, + "id": 45, + "metadata": 0 + } + } + ], + "46": [ + { + "inShape": [ + [ + 289, + 12, + 289 + ], + [ + 12, + 289, + 12 + ], + [ + 289, + 12, + 289 + ] + ], + "result": { + "count": 1, + "id": 46, + "metadata": 0 + } + } + ], + "47": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + 340, + 340, + 340 + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 47, + "metadata": 0 + } + } + ], + "48": [ + { + "ingredients": [ + 4, + 106 + ], + "result": { + "count": 1, + "id": 48, + "metadata": 0 + } + } + ], + "50": [ + { + "inShape": [ + [ + 263 + ], + [ + 280 + ] + ], + "result": { + "count": 4, + "id": 50, + "metadata": 0 + } + } + ], + "54": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + null, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 54, + "metadata": 0 + } + } + ], + "57": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ] + ], + "result": { + "count": 1, + "id": 57, + "metadata": 0 + } + } + ], + "58": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 58, + "metadata": 0 + } + } + ], + "61": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + null, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 1, + "id": 61, + "metadata": 0 + } + } + ], + "65": [ + { + "inShape": [ + [ + 280, + null, + 280 + ], + [ + 280, + 280, + 280 + ], + [ + 280, + null, + 280 + ] + ], + "result": { + "count": 3, + "id": 65, + "metadata": 0 + } + } + ], + "66": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 280, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 16, + "id": 66, + "metadata": 0 + } + } + ], + "67": [ + { + "inShape": [ + [ + null, + null, + 4 + ], + [ + null, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 4, + "id": 67, + "metadata": 0 + } + } + ], + "69": [ + { + "inShape": [ + [ + 280 + ], + [ + 4 + ] + ], + "result": { + "count": 1, + "id": 69, + "metadata": 0 + } + } + ], + "70": [ + { + "inShape": [ + [ + 1, + 1 + ] + ], + "result": { + "count": 1, + "id": 70, + "metadata": 0 + } + } + ], + "72": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 72, + "metadata": 0 + } + } + ], + "75": [ + { + "inShape": [ + [ + 331 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 75, + "metadata": 0 + } + } + ], + "77": [ + { + "inShape": [ + [ + 1 + ] + ], + "result": { + "count": 1, + "id": 77, + "metadata": 0 + } + } + ], + "78": [ + { + "inShape": [ + [ + 80, + 80, + 80 + ] + ], + "result": { + "count": 6, + "id": 78, + "metadata": 0 + } + } + ], + "80": [ + { + "inShape": [ + [ + 332, + 332 + ], + [ + 332, + 332 + ] + ], + "result": { + "count": 1, + "id": 80, + "metadata": 0 + } + } + ], + "82": [ + { + "inShape": [ + [ + 337, + 337 + ], + [ + 337, + 337 + ] + ], + "result": { + "count": 1, + "id": 82, + "metadata": 0 + } + } + ], + "84": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + 264, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 84, + "metadata": 0 + } + } + ], + "89": [ + { + "inShape": [ + [ + 348, + 348 + ], + [ + 348, + 348 + ] + ], + "result": { + "count": 1, + "id": 89, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 348, + 348, + 348 + ], + [ + 348, + 348, + 348 + ], + [ + 348, + 348, + 348 + ] + ], + "result": { + "count": 1, + "id": 89, + "metadata": 0 + } + } + ], + "91": [ + { + "inShape": [ + [ + 86 + ], + [ + 50 + ] + ], + "result": { + "count": 1, + "id": 91, + "metadata": 0 + } + } + ], + "95": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 0 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 15 + } + } + ], + "96": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 2, + "id": 96, + "metadata": 0 + } + } + ], + "98": [ + { + "inShape": [ + [ + 1, + 1 + ], + [ + 1, + 1 + ] + ], + "result": { + "count": 4, + "id": 98, + "metadata": 0 + } + }, + { + "ingredients": [ + 98, + 106 + ], + "result": { + "count": 1, + "id": 98, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 5 + } + ], + [ + { + "id": 44, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 98, + "metadata": 3 + } + } + ], + "101": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 16, + "id": 101, + "metadata": 0 + } + } + ], + "102": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 16, + "id": 102, + "metadata": 0 + } + } + ], + "103": [ + { + "inShape": [ + [ + 360, + 360, + 360 + ], + [ + 360, + 360, + 360 + ], + [ + 360, + 360, + 360 + ] + ], + "result": { + "count": 1, + "id": 103, + "metadata": 0 + } + } + ], + "108": [ + { + "inShape": [ + [ + null, + null, + 45 + ], + [ + null, + 45, + 45 + ], + [ + 45, + 45, + 45 + ] + ], + "result": { + "count": 4, + "id": 108, + "metadata": 0 + } + } + ], + "109": [ + { + "inShape": [ + [ + null, + null, + { + "id": 98, + "metadata": 3 + } + ], + [ + null, + { + "id": 98, + "metadata": 3 + }, + { + "id": 98, + "metadata": 3 + } + ], + [ + { + "id": 98, + "metadata": 3 + }, + { + "id": 98, + "metadata": 3 + }, + { + "id": 98, + "metadata": 3 + } + ] + ], + "result": { + "count": 4, + "id": 109, + "metadata": 0 + } + } + ], + "113": [ + { + "inShape": [ + [ + 405, + 405, + 405 + ], + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 6, + "id": 113, + "metadata": 0 + } + } + ], + "114": [ + { + "inShape": [ + [ + null, + null, + 405 + ], + [ + null, + 405, + 405 + ], + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 4, + "id": 114, + "metadata": 0 + } + } + ], + "116": [ + { + "inShape": [ + [ + null, + 340, + null + ], + [ + 264, + 49, + 264 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 116, + "metadata": 0 + } + } + ], + "123": [ + { + "inShape": [ + [ + null, + 331, + null + ], + [ + 331, + 89, + 331 + ], + [ + null, + 331, + null + ] + ], + "result": { + "count": 1, + "id": 123, + "metadata": 0 + } + } + ], + "126": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 5 + } + } + ], + "128": [ + { + "inShape": [ + [ + null, + null, + { + "id": 24, + "metadata": 2 + } + ], + [ + null, + { + "id": 24, + "metadata": 2 + }, + { + "id": 24, + "metadata": 2 + } + ], + [ + { + "id": 24, + "metadata": 2 + }, + { + "id": 24, + "metadata": 2 + }, + { + "id": 24, + "metadata": 2 + } + ] + ], + "result": { + "count": 4, + "id": 128, + "metadata": 0 + } + } + ], + "130": [ + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 49, + 381, + 49 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 130, + "metadata": 0 + } + } + ], + "131": [ + { + "inShape": [ + [ + 265 + ], + [ + 280 + ], + [ + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 2, + "id": 131, + "metadata": 0 + } + } + ], + "133": [ + { + "inShape": [ + [ + 388, + 388, + 388 + ], + [ + 388, + 388, + 388 + ], + [ + 388, + 388, + 388 + ] + ], + "result": { + "count": 1, + "id": 133, + "metadata": 0 + } + } + ], + "138": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 399, + 20 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 138, + "metadata": 0 + } + } + ], + "139": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 139, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 48, + 48, + 48 + ] + ], + "result": { + "count": 6, + "id": 139, + "metadata": 1 + } + } + ], + "143": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 143, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 1 + ], + [ + 1 + ] + ], + "result": { + "count": 1, + "id": 143, + "metadata": 0 + } + } + ], + "145": [ + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + null, + 265, + null + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 145, + "metadata": 0 + } + } + ], + "146": [ + { + "ingredients": [ + 131, + 54 + ], + "result": { + "count": 1, + "id": 146, + "metadata": 0 + } + } + ], + "147": [ + { + "inShape": [ + [ + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 147, + "metadata": 0 + } + } + ], + "148": [ + { + "inShape": [ + [ + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 148, + "metadata": 0 + } + } + ], + "151": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 406, + 406, + 406 + ], + [ + { + "id": 126, + "metadata": 5 + }, + { + "id": 126, + "metadata": 5 + }, + { + "id": 126, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 151, + "metadata": 0 + } + } + ], + "152": [ + { + "inShape": [ + [ + 331, + 331, + 331 + ], + [ + 331, + 331, + 331 + ], + [ + 331, + 331, + 331 + ] + ], + "result": { + "count": 1, + "id": 152, + "metadata": 0 + } + } + ], + "154": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 54, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 154, + "metadata": 0 + } + } + ], + "155": [ + { + "inShape": [ + [ + 406, + 406 + ], + [ + 406, + 406 + ] + ], + "result": { + "count": 1, + "id": 155, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 7 + } + ], + [ + { + "id": 44, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 155, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 155, + "metadata": 0 + } + ], + [ + { + "id": 155, + "metadata": 0 + } + ] + ], + "result": { + "count": 2, + "id": 155, + "metadata": 0 + } + } + ], + "156": [ + { + "inShape": [ + [ + null, + null, + { + "id": 155, + "metadata": 0 + } + ], + [ + null, + { + "id": 155, + "metadata": 0 + }, + { + "id": 155, + "metadata": 0 + } + ], + [ + { + "id": 155, + "metadata": 0 + }, + { + "id": 155, + "metadata": 0 + }, + { + "id": 155, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 156, + "metadata": 0 + } + } + ], + "157": [ + { + "inShape": [ + [ + 265, + 280, + 265 + ], + [ + 265, + 75, + 265 + ], + [ + 265, + 280, + 265 + ] + ], + "result": { + "count": 6, + "id": 157, + "metadata": 0 + } + } + ], + "158": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + null, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 158, + "metadata": 0 + } + } + ], + "160": [ + { + "inShape": [ + [ + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + } + ], + [ + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 15 + } + } + ], + "164": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 4, + "id": 164, + "metadata": 0 + } + } + ], + "165": [ + { + "inShape": [ + [ + 341, + 341, + 341 + ], + [ + 341, + 341, + 341 + ], + [ + 341, + 341, + 341 + ] + ], + "result": { + "count": 1, + "id": 165, + "metadata": 0 + } + } + ], + "167": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 167, + "metadata": 0 + } + } + ], + "168": [ + { + "inShape": [ + [ + 409, + 409, + 409 + ], + [ + 409, + 409, + 409 + ], + [ + 409, + 409, + 409 + ] + ], + "result": { + "count": 1, + "id": 168, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 409, + 409, + 409 + ], + [ + 409, + { + "id": 351, + "metadata": 0 + }, + 409 + ], + [ + 409, + 409, + 409 + ] + ], + "result": { + "count": 1, + "id": 168, + "metadata": 2 + } + } + ], + "170": [ + { + "inShape": [ + [ + 296, + 296, + 296 + ], + [ + 296, + 296, + 296 + ], + [ + 296, + 296, + 296 + ] + ], + "result": { + "count": 1, + "id": 170, + "metadata": 0 + } + } + ], + "171": [ + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 15 + } + } + ], + "172": [ + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 0 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 15 + } + } + ], + "173": [ + { + "inShape": [ + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ], + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ], + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 173, + "metadata": 0 + } + } + ], + "179": [ + { + "inShape": [ + [ + { + "id": 12, + "metadata": 1 + }, + { + "id": 12, + "metadata": 1 + } + ], + [ + { + "id": 12, + "metadata": 1 + }, + { + "id": 12, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 179, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 179, + "metadata": 0 + }, + { + "id": 179, + "metadata": 0 + } + ], + [ + { + "id": 179, + "metadata": 0 + }, + { + "id": 179, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 179, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 182, + "metadata": 0 + } + ], + [ + { + "id": 182, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 179, + "metadata": 1 + } + } + ], + "180": [ + { + "inShape": [ + [ + null, + null, + { + "id": 179, + "metadata": 2 + } + ], + [ + null, + { + "id": 179, + "metadata": 2 + }, + { + "id": 179, + "metadata": 2 + } + ], + [ + { + "id": 179, + "metadata": 2 + }, + { + "id": 179, + "metadata": 2 + }, + { + "id": 179, + "metadata": 2 + } + ] + ], + "result": { + "count": 4, + "id": 180, + "metadata": 0 + } + } + ], + "182": [ + { + "inShape": [ + [ + { + "id": 179, + "metadata": 2 + }, + { + "id": 179, + "metadata": 2 + }, + { + "id": 179, + "metadata": 2 + } + ] + ], + "result": { + "count": 6, + "id": 182, + "metadata": 0 + } + } + ], + "186": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 5 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 5 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 186, + "metadata": 0 + } + } + ], + "191": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + 280, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + 280, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 3, + "id": 191, + "metadata": 0 + } + } + ], + "198": [ + { + "inShape": [ + [ + 369 + ], + [ + 433 + ] + ], + "result": { + "count": 4, + "id": 198, + "metadata": 0 + } + } + ], + "201": [ + { + "inShape": [ + [ + 433, + 433 + ], + [ + 433, + 433 + ] + ], + "result": { + "count": 4, + "id": 201, + "metadata": 0 + } + } + ], + "202": [ + { + "inShape": [ + [ + 205 + ], + [ + 205 + ] + ], + "result": { + "count": 1, + "id": 202, + "metadata": 0 + } + } + ], + "203": [ + { + "inShape": [ + [ + null, + null, + 201 + ], + [ + null, + 201, + 201 + ], + [ + 201, + 201, + 201 + ] + ], + "result": { + "count": 4, + "id": 203, + "metadata": 0 + } + } + ], + "205": [ + { + "inShape": [ + [ + 201, + 201, + 201 + ] + ], + "result": { + "count": 6, + "id": 205, + "metadata": 0 + } + } + ], + "206": [ + { + "inShape": [ + [ + 121, + 121 + ], + [ + 121, + 121 + ] + ], + "result": { + "count": 4, + "id": 206, + "metadata": 0 + } + } + ], + "214": [ + { + "inShape": [ + [ + 372, + 372, + 372 + ], + [ + 372, + 372, + 372 + ], + [ + 372, + 372, + 372 + ] + ], + "result": { + "count": 1, + "id": 214, + "metadata": 0 + } + } + ], + "215": [ + { + "inShape": [ + [ + 372, + 405 + ], + [ + 405, + 372 + ] + ], + "result": { + "count": 1, + "id": 215, + "metadata": 0 + } + } + ], + "216": [ + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 216, + "metadata": 0 + } + } + ], + "229": [ + { + "inShape": [ + [ + 450 + ], + [ + 54 + ], + [ + 450 + ] + ], + "result": { + "count": 1, + "id": 229, + "metadata": 0 + } + } + ], + "234": [ + { + "ingredients": [ + 234, + { + "id": 351, + "metadata": 0 + } + ], + "result": { + "count": 1, + "id": 234, + "metadata": 0 + } + } + ], + "256": [ + { + "inShape": [ + [ + 265 + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 256, + "metadata": 0 + } + }, + { + "ingredients": [ + 256, + 256 + ], + "result": { + "count": 1, + "id": 256, + "metadata": 0 + } + } + ], + "257": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 257, + "metadata": 0 + } + }, + { + "ingredients": [ + 257, + 257 + ], + "result": { + "count": 1, + "id": 257, + "metadata": 0 + } + } + ], + "258": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + 265, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 258, + "metadata": 0 + } + }, + { + "ingredients": [ + 258, + 258 + ], + "result": { + "count": 1, + "id": 258, + "metadata": 0 + } + } + ], + "259": [ + { + "ingredients": [ + 265, + 318 + ], + "result": { + "count": 1, + "id": 259, + "metadata": 0 + } + }, + { + "ingredients": [ + 259, + 259 + ], + "result": { + "count": 1, + "id": 259, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 265, + null + ], + [ + null, + 318 + ] + ], + "result": { + "count": 1, + "id": 259, + "metadata": 0 + } + } + ], + "261": [ + { + "inShape": [ + [ + null, + 280, + 287 + ], + [ + 280, + null, + 287 + ], + [ + null, + 280, + 287 + ] + ], + "result": { + "count": 1, + "id": 261, + "metadata": 0 + } + }, + { + "ingredients": [ + 261, + 261 + ], + "result": { + "count": 1, + "id": 261, + "metadata": 0 + } + } + ], + "262": [ + { + "inShape": [ + [ + 318 + ], + [ + 280 + ], + [ + 288 + ] + ], + "result": { + "count": 4, + "id": 262, + "metadata": 0 + } + } + ], + "263": [ + { + "inShape": [ + [ + 173 + ] + ], + "result": { + "count": 9, + "id": 263, + "metadata": 0 + } + } + ], + "264": [ + { + "inShape": [ + [ + 57 + ] + ], + "result": { + "count": 9, + "id": 264, + "metadata": 0 + } + } + ], + "265": [ + { + "inShape": [ + [ + 42 + ] + ], + "result": { + "count": 9, + "id": 265, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 452, + 452, + 452 + ], + [ + 452, + 452, + 452 + ], + [ + 452, + 452, + 452 + ] + ], + "result": { + "count": 1, + "id": 265, + "metadata": 0 + } + } + ], + "266": [ + { + "inShape": [ + [ + 41 + ] + ], + "result": { + "count": 9, + "id": 266, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 371, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 266, + "metadata": 0 + } + } + ], + "267": [ + { + "inShape": [ + [ + 265 + ], + [ + 265 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 267, + "metadata": 0 + } + }, + { + "ingredients": [ + 267, + 267 + ], + "result": { + "count": 1, + "id": 267, + "metadata": 0 + } + } + ], + "268": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + } + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 268, + "metadata": 0 + } + }, + { + "ingredients": [ + 268, + 268 + ], + "result": { + "count": 1, + "id": 268, + "metadata": 0 + } + } + ], + "269": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + } + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 269, + "metadata": 0 + } + }, + { + "ingredients": [ + 269, + 269 + ], + "result": { + "count": 1, + "id": 269, + "metadata": 0 + } + } + ], + "270": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 270, + "metadata": 0 + } + }, + { + "ingredients": [ + 270, + 270 + ], + "result": { + "count": 1, + "id": 270, + "metadata": 0 + } + } + ], + "271": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 271, + "metadata": 0 + } + }, + { + "ingredients": [ + 271, + 271 + ], + "result": { + "count": 1, + "id": 271, + "metadata": 0 + } + } + ], + "272": [ + { + "inShape": [ + [ + 4 + ], + [ + 4 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 272, + "metadata": 0 + } + }, + { + "ingredients": [ + 272, + 272 + ], + "result": { + "count": 1, + "id": 272, + "metadata": 0 + } + } + ], + "273": [ + { + "inShape": [ + [ + 4 + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 273, + "metadata": 0 + } + }, + { + "ingredients": [ + 273, + 273 + ], + "result": { + "count": 1, + "id": 273, + "metadata": 0 + } + } + ], + "274": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 274, + "metadata": 0 + } + }, + { + "ingredients": [ + 274, + 274 + ], + "result": { + "count": 1, + "id": 274, + "metadata": 0 + } + } + ], + "275": [ + { + "inShape": [ + [ + 4, + 4 + ], + [ + 4, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 275, + "metadata": 0 + } + }, + { + "ingredients": [ + 275, + 275 + ], + "result": { + "count": 1, + "id": 275, + "metadata": 0 + } + } + ], + "276": [ + { + "inShape": [ + [ + 264 + ], + [ + 264 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 276, + "metadata": 0 + } + }, + { + "ingredients": [ + 276, + 276 + ], + "result": { + "count": 1, + "id": 276, + "metadata": 0 + } + } + ], + "277": [ + { + "inShape": [ + [ + 264 + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 277, + "metadata": 0 + } + }, + { + "ingredients": [ + 277, + 277 + ], + "result": { + "count": 1, + "id": 277, + "metadata": 0 + } + } + ], + "278": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 278, + "metadata": 0 + } + }, + { + "ingredients": [ + 278, + 278 + ], + "result": { + "count": 1, + "id": 278, + "metadata": 0 + } + } + ], + "279": [ + { + "inShape": [ + [ + 264, + 264 + ], + [ + 264, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 279, + "metadata": 0 + } + }, + { + "ingredients": [ + 279, + 279 + ], + "result": { + "count": 1, + "id": 279, + "metadata": 0 + } + } + ], + "280": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 4, + "id": 280, + "metadata": 0 + } + } + ], + "281": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + null, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + { + "id": 5, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 4, + "id": 281, + "metadata": 0 + } + } + ], + "282": [ + { + "ingredients": [ + 40, + 39, + 281 + ], + "result": { + "count": 1, + "id": 282, + "metadata": 0 + } + } + ], + "283": [ + { + "inShape": [ + [ + 266 + ], + [ + 266 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 283, + "metadata": 0 + } + }, + { + "ingredients": [ + 283, + 283 + ], + "result": { + "count": 1, + "id": 283, + "metadata": 0 + } + } + ], + "284": [ + { + "inShape": [ + [ + 266 + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 284, + "metadata": 0 + } + }, + { + "ingredients": [ + 284, + 284 + ], + "result": { + "count": 1, + "id": 284, + "metadata": 0 + } + } + ], + "285": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 285, + "metadata": 0 + } + }, + { + "ingredients": [ + 285, + 285 + ], + "result": { + "count": 1, + "id": 285, + "metadata": 0 + } + } + ], + "286": [ + { + "inShape": [ + [ + 266, + 266 + ], + [ + 266, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 286, + "metadata": 0 + } + }, + { + "ingredients": [ + 286, + 286 + ], + "result": { + "count": 1, + "id": 286, + "metadata": 0 + } + } + ], + "290": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 290, + "metadata": 0 + } + }, + { + "ingredients": [ + 290, + 290 + ], + "result": { + "count": 1, + "id": 290, + "metadata": 0 + } + } + ], + "291": [ + { + "inShape": [ + [ + 4, + 4 + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 291, + "metadata": 0 + } + }, + { + "ingredients": [ + 291, + 291 + ], + "result": { + "count": 1, + "id": 291, + "metadata": 0 + } + } + ], + "292": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 292, + "metadata": 0 + } + }, + { + "ingredients": [ + 292, + 292 + ], + "result": { + "count": 1, + "id": 292, + "metadata": 0 + } + } + ], + "293": [ + { + "inShape": [ + [ + 264, + 264 + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 293, + "metadata": 0 + } + }, + { + "ingredients": [ + 293, + 293 + ], + "result": { + "count": 1, + "id": 293, + "metadata": 0 + } + } + ], + "294": [ + { + "inShape": [ + [ + 266, + 266 + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 294, + "metadata": 0 + } + }, + { + "ingredients": [ + 294, + 294 + ], + "result": { + "count": 1, + "id": 294, + "metadata": 0 + } + } + ], + "296": [ + { + "inShape": [ + [ + 170 + ] + ], + "result": { + "count": 9, + "id": 296, + "metadata": 0 + } + } + ], + "297": [ + { + "inShape": [ + [ + 296, + 296, + 296 + ] + ], + "result": { + "count": 1, + "id": 297, + "metadata": 0 + } + } + ], + "298": [ + { + "inShape": [ + [ + 334, + 334, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 298, + "metadata": 0 + } + }, + { + "ingredients": [ + 298, + 298 + ], + "result": { + "count": 1, + "id": 298, + "metadata": 0 + } + } + ], + "299": [ + { + "inShape": [ + [ + 334, + null, + 334 + ], + [ + 334, + 334, + 334 + ], + [ + 334, + 334, + 334 + ] + ], + "result": { + "count": 1, + "id": 299, + "metadata": 0 + } + }, + { + "ingredients": [ + 299, + 299 + ], + "result": { + "count": 1, + "id": 299, + "metadata": 0 + } + } + ], + "300": [ + { + "inShape": [ + [ + 334, + 334, + 334 + ], + [ + 334, + null, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 300, + "metadata": 0 + } + }, + { + "ingredients": [ + 300, + 300 + ], + "result": { + "count": 1, + "id": 300, + "metadata": 0 + } + } + ], + "301": [ + { + "inShape": [ + [ + 334, + null, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 301, + "metadata": 0 + } + }, + { + "ingredients": [ + 301, + 301 + ], + "result": { + "count": 1, + "id": 301, + "metadata": 0 + } + } + ], + "302": [ + { + "ingredients": [ + 302, + 302 + ], + "result": { + "count": 1, + "id": 302, + "metadata": 0 + } + } + ], + "303": [ + { + "ingredients": [ + 303, + 303 + ], + "result": { + "count": 1, + "id": 303, + "metadata": 0 + } + } + ], + "304": [ + { + "ingredients": [ + 304, + 304 + ], + "result": { + "count": 1, + "id": 304, + "metadata": 0 + } + } + ], + "305": [ + { + "ingredients": [ + 305, + 305 + ], + "result": { + "count": 1, + "id": 305, + "metadata": 0 + } + } + ], + "306": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 306, + "metadata": 0 + } + }, + { + "ingredients": [ + 306, + 306 + ], + "result": { + "count": 1, + "id": 306, + "metadata": 0 + } + } + ], + "307": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 307, + "metadata": 0 + } + }, + { + "ingredients": [ + 307, + 307 + ], + "result": { + "count": 1, + "id": 307, + "metadata": 0 + } + } + ], + "308": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 308, + "metadata": 0 + } + }, + { + "ingredients": [ + 308, + 308 + ], + "result": { + "count": 1, + "id": 308, + "metadata": 0 + } + } + ], + "309": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 309, + "metadata": 0 + } + }, + { + "ingredients": [ + 309, + 309 + ], + "result": { + "count": 1, + "id": 309, + "metadata": 0 + } + } + ], + "310": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 310, + "metadata": 0 + } + }, + { + "ingredients": [ + 310, + 310 + ], + "result": { + "count": 1, + "id": 310, + "metadata": 0 + } + } + ], + "311": [ + { + "inShape": [ + [ + 264, + null, + 264 + ], + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ] + ], + "result": { + "count": 1, + "id": 311, + "metadata": 0 + } + }, + { + "ingredients": [ + 311, + 311 + ], + "result": { + "count": 1, + "id": 311, + "metadata": 0 + } + } + ], + "312": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + null, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 312, + "metadata": 0 + } + }, + { + "ingredients": [ + 312, + 312 + ], + "result": { + "count": 1, + "id": 312, + "metadata": 0 + } + } + ], + "313": [ + { + "inShape": [ + [ + 264, + null, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 313, + "metadata": 0 + } + }, + { + "ingredients": [ + 313, + 313 + ], + "result": { + "count": 1, + "id": 313, + "metadata": 0 + } + } + ], + "314": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 314, + "metadata": 0 + } + }, + { + "ingredients": [ + 314, + 314 + ], + "result": { + "count": 1, + "id": 314, + "metadata": 0 + } + } + ], + "315": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 315, + "metadata": 0 + } + }, + { + "ingredients": [ + 315, + 315 + ], + "result": { + "count": 1, + "id": 315, + "metadata": 0 + } + } + ], + "316": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + null, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 316, + "metadata": 0 + } + }, + { + "ingredients": [ + 316, + 316 + ], + "result": { + "count": 1, + "id": 316, + "metadata": 0 + } + } + ], + "317": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 317, + "metadata": 0 + } + }, + { + "ingredients": [ + 317, + 317 + ], + "result": { + "count": 1, + "id": 317, + "metadata": 0 + } + } + ], + "321": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + 280, + 35, + 280 + ], + [ + 280, + 280, + 280 + ] + ], + "result": { + "count": 1, + "id": 321, + "metadata": 0 + } + } + ], + "322": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + 260, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 322, + "metadata": 0 + } + } + ], + "323": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 3, + "id": 323, + "metadata": 0 + } + } + ], + "325": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 325, + "metadata": 0 + } + } + ], + "328": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 328, + "metadata": 0 + } + } + ], + "330": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + 265, + 265 + ], + [ + 265, + 265 + ] + ], + "result": { + "count": 3, + "id": 330, + "metadata": 0 + } + } + ], + "331": [ + { + "inShape": [ + [ + 152 + ] + ], + "result": { + "count": 9, + "id": 331, + "metadata": 0 + } + } + ], + "333": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + 269, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 333, + "metadata": 0 + } + } + ], + "334": [ + { + "inShape": [ + [ + 415, + 415 + ], + [ + 415, + 415 + ] + ], + "result": { + "count": 1, + "id": 334, + "metadata": 0 + } + } + ], + "339": [ + { + "inShape": [ + [ + 338, + 338, + 338 + ] + ], + "result": { + "count": 3, + "id": 339, + "metadata": 0 + } + } + ], + "340": [ + { + "ingredients": [ + 339, + 339, + 339, + 334 + ], + "result": { + "count": 1, + "id": 340, + "metadata": 0 + } + } + ], + "341": [ + { + "inShape": [ + [ + 165 + ] + ], + "result": { + "count": 9, + "id": 341, + "metadata": 0 + } + } + ], + "342": [ + { + "inShape": [ + [ + 54 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 342, + "metadata": 0 + } + } + ], + "343": [ + { + "inShape": [ + [ + 61 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 343, + "metadata": 0 + } + } + ], + "345": [ + { + "inShape": [ + [ + null, + 265, + null + ], + [ + 265, + 331, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 345, + "metadata": 0 + } + } + ], + "346": [ + { + "inShape": [ + [ + null, + null, + 280 + ], + [ + null, + 280, + 287 + ], + [ + 280, + null, + 287 + ] + ], + "result": { + "count": 1, + "id": 346, + "metadata": 0 + } + }, + { + "ingredients": [ + 346, + 346 + ], + "result": { + "count": 1, + "id": 346, + "metadata": 0 + } + } + ], + "347": [ + { + "inShape": [ + [ + null, + 266, + null + ], + [ + 266, + 331, + 266 + ], + [ + null, + 266, + null + ] + ], + "result": { + "count": 1, + "id": 347, + "metadata": 0 + } + } + ], + "351": [ + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 2 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 37 + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 11 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 0 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 11 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 8 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 10 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 12 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 12 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 5 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 9 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 5 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 9 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 9 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 13 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 1 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 9 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 4, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 4 + } + ], + "result": { + "count": 3, + "id": 351, + "metadata": 13 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 14 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 11 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 14 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 4 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 434 + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 38 + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 7 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 3, + "id": 351, + "metadata": 7 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 7 + } + }, + { + "inShape": [ + [ + 22 + ] + ], + "result": { + "count": 9, + "id": 351, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 352 + ] + ], + "result": { + "count": 3, + "id": 351, + "metadata": 15 + } + }, + { + "inShape": [ + [ + 216 + ] + ], + "result": { + "count": 9, + "id": 351, + "metadata": 15 + } + } + ], + "353": [ + { + "inShape": [ + [ + 338 + ] + ], + "result": { + "count": 1, + "id": 353, + "metadata": 0 + } + } + ], + "354": [ + { + "inShape": [ + [ + 335, + 335, + 335 + ], + [ + 353, + 344, + 353 + ], + [ + 296, + 296, + 296 + ] + ], + "outShape": [ + [ + 325, + 325, + 325 + ], + [ + null, + null, + null + ], + [ + null, + null, + null + ] + ], + "result": { + "count": 1, + "id": 354, + "metadata": 0 + } + } + ], + "355": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 355, + "metadata": 0 + } + } + ], + "356": [ + { + "inShape": [ + [ + 75, + 331, + 75 + ], + [ + 1, + 1, + 1 + ] + ], + "result": { + "count": 1, + "id": 356, + "metadata": 0 + } + } + ], + "357": [ + { + "inShape": [ + [ + 296, + { + "id": 351, + "metadata": 3 + }, + 296 + ] + ], + "result": { + "count": 8, + "id": 357, + "metadata": 0 + } + } + ], + "359": [ + { + "inShape": [ + [ + null, + 265 + ], + [ + 265, + null + ] + ], + "result": { + "count": 1, + "id": 359, + "metadata": 0 + } + }, + { + "ingredients": [ + 359, + 359 + ], + "result": { + "count": 1, + "id": 359, + "metadata": 0 + } + } + ], + "361": [ + { + "inShape": [ + [ + 86 + ] + ], + "result": { + "count": 4, + "id": 361, + "metadata": 0 + } + } + ], + "362": [ + { + "inShape": [ + [ + 360 + ] + ], + "result": { + "count": 1, + "id": 362, + "metadata": 0 + } + } + ], + "371": [ + { + "inShape": [ + [ + 266 + ] + ], + "result": { + "count": 9, + "id": 371, + "metadata": 0 + } + } + ], + "374": [ + { + "inShape": [ + [ + 20, + null, + 20 + ], + [ + null, + 20, + null + ] + ], + "result": { + "count": 3, + "id": 374, + "metadata": 0 + } + } + ], + "376": [ + { + "ingredients": [ + 39, + 353, + 375 + ], + "result": { + "count": 1, + "id": 376, + "metadata": 0 + } + } + ], + "377": [ + { + "inShape": [ + [ + 369 + ] + ], + "result": { + "count": 2, + "id": 377, + "metadata": 0 + } + } + ], + "378": [ + { + "ingredients": [ + 377, + 341 + ], + "result": { + "count": 1, + "id": 378, + "metadata": 0 + } + } + ], + "379": [ + { + "inShape": [ + [ + null, + 369, + null + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 1, + "id": 379, + "metadata": 0 + } + } + ], + "380": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 380, + "metadata": 0 + } + } + ], + "381": [ + { + "ingredients": [ + 377, + 368 + ], + "result": { + "count": 1, + "id": 381, + "metadata": 0 + } + } + ], + "382": [ + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 360, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 382, + "metadata": 0 + } + } + ], + "385": [ + { + "ingredients": [ + 377, + 263, + 289 + ], + "result": { + "count": 3, + "id": 385, + "metadata": 0 + } + } + ], + "386": [ + { + "ingredients": [ + 340, + { + "id": 351, + "metadata": 0 + }, + 288 + ], + "result": { + "count": 1, + "id": 386, + "metadata": 0 + } + } + ], + "387": [ + { + "ingredients": [ + 386, + 387 + ], + "result": { + "count": 1, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 387, + 386 + ], + "result": { + "count": 2, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 387, + 386, + 386 + ], + "result": { + "count": 3, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 4, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 5, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 6, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386, + 386 + ], + "result": { + "count": 7, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386, + 386, + 386 + ], + "result": { + "count": 8, + "id": 387, + "metadata": 0 + } + } + ], + "388": [ + { + "inShape": [ + [ + 133 + ] + ], + "result": { + "count": 9, + "id": 388, + "metadata": 0 + } + } + ], + "389": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + 280, + 334, + 280 + ], + [ + 280, + 280, + 280 + ] + ], + "result": { + "count": 1, + "id": 389, + "metadata": 0 + } + } + ], + "390": [ + { + "inShape": [ + [ + 336, + null, + 336 + ], + [ + null, + 336, + null + ] + ], + "result": { + "count": 1, + "id": 390, + "metadata": 0 + } + } + ], + "395": [ + { + "inShape": [ + [ + 339, + 339, + 339 + ], + [ + 339, + 345, + 339 + ], + [ + 339, + 339, + 339 + ] + ], + "result": { + "count": 1, + "id": 395, + "metadata": 0 + } + } + ], + "396": [ + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 391, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 396, + "metadata": 0 + } + } + ], + "398": [ + { + "inShape": [ + [ + 346, + null + ], + [ + null, + 391 + ] + ], + "result": { + "count": 1, + "id": 398, + "metadata": 0 + } + }, + { + "ingredients": [ + 398, + 398 + ], + "result": { + "count": 1, + "id": 398, + "metadata": 0 + } + } + ], + "400": [ + { + "ingredients": [ + 86, + 353, + 344 + ], + "result": { + "count": 1, + "id": 400, + "metadata": 0 + } + } + ], + "402": [ + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 0 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 0 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + } + ], + "404": [ + { + "inShape": [ + [ + null, + 75, + null + ], + [ + 75, + 406, + 75 + ], + [ + 1, + 1, + 1 + ] + ], + "result": { + "count": 1, + "id": 404, + "metadata": 0 + } + } + ], + "405": [ + { + "inShape": [ + [ + 405, + 405 + ], + [ + 405, + 405 + ] + ], + "result": { + "count": 1, + "id": 405, + "metadata": 0 + } + } + ], + "407": [ + { + "inShape": [ + [ + 46 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 407, + "metadata": 0 + } + } + ], + "408": [ + { + "inShape": [ + [ + 154 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 408, + "metadata": 0 + } + } + ], + "413": [ + { + "inShape": [ + [ + null, + 412, + null + ], + [ + 391, + 393, + 39 + ], + [ + null, + 281, + null + ] + ], + "result": { + "count": 1, + "id": 413, + "metadata": 0 + } + } + ], + "416": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + null, + 280, + null + ], + [ + 280, + { + "id": 44, + "metadata": 0 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 416, + "metadata": 0 + } + } + ], + "420": [ + { + "inShape": [ + [ + 287, + 287, + null + ], + [ + 287, + 341, + null + ], + [ + null, + null, + 287 + ] + ], + "result": { + "count": 2, + "id": 420, + "metadata": 0 + } + } + ], + "425": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 35, + 35, + 35 + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 425, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + } + ], + "426": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 381, + 20 + ], + [ + 20, + 370, + 20 + ] + ], + "result": { + "count": 1, + "id": 426, + "metadata": 0 + } + } + ], + "431": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 3, + "id": 431, + "metadata": 0 + } + } + ], + "439": [ + { + "inShape": [ + [ + null, + 348, + null + ], + [ + 348, + 262, + 348 + ], + [ + null, + 348, + null + ] + ], + "result": { + "count": 2, + "id": 439, + "metadata": 0 + } + } + ], + "442": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + 265, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + { + "id": 5, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "ingredients": [ + 442, + 442 + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "ingredients": [ + 442, + 425 + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + { + "id": 5, + "metadata": 5 + }, + null + ], + [ + 35, + { + "id": 5, + "metadata": 5 + }, + 265 + ], + [ + 35, + { + "id": 5, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + } + ], + "443": [ + { + "ingredients": [ + 443, + 443 + ], + "result": { + "count": 1, + "id": 443, + "metadata": 0 + } + } + ], + "452": [ + { + "inShape": [ + [ + 265 + ] + ], + "result": { + "count": 9, + "id": 452, + "metadata": 0 + } + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/version.json new file mode 100644 index 00000000..eb5ef05c --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.11", + "version":315, + "majorVersion": "1.11" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.11/windows.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/windows.json new file mode 100644 index 00000000..37bdcb69 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.11/windows.json @@ -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 + } + ] + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12-pre4/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12-pre4/protocol.json new file mode 100644 index 00000000..3e62e450 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12-pre4/protocol.json @@ -0,0 +1,3946 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint", + "13": "nbt" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": "i32" + }, + { + "name": "backgroundTexture", + "type": [ + "option", + "string" + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "i16" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"i32" + } + ] + }, + { + "name":"recipes2", + "type":[ + "array", + { + "countType":"varint", + "type":"i32" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_advancement_progress": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "advancements", + "0x09": "block_break_animation", + "0x0a": "tile_entity_data", + "0x0b": "block_action", + "0x0c": "block_change", + "0x0d": "boss_bar", + "0x0e": "difficulty", + "0x0f": "tab_complete", + "0x10": "chat", + "0x11": "multi_block_change", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "open_window", + "0x15": "window_items", + "0x16": "craft_progress_bar", + "0x17": "set_slot", + "0x18": "set_cooldown", + "0x19": "custom_payload", + "0x1a": "named_sound_effect", + "0x1b": "kick_disconnect", + "0x1c": "entity_status", + "0x1d": "explosion", + "0x1e": "unload_chunk", + "0x1f": "game_state_change", + "0x20": "keep_alive", + "0x21": "map_chunk", + "0x22": "world_event", + "0x23": "world_particles", + "0x24": "login", + "0x25": "map", + "0x26": "rel_entity_move", + "0x27": "entity_move_look", + "0x28": "entity_look", + "0x29": "entity", + "0x2a": "vehicle_move", + "0x2b": "open_sign_entity", + "0x2c": "abilities", + "0x2d": "combat_event", + "0x2e": "player_info", + "0x2f": "position", + "0x30": "bed", + "0x31": "unlock_recipes", + "0x32": "entity_destroy", + "0x33": "remove_entity_effect", + "0x34": "resource_pack_send", + "0x35": "respawn", + "0x36": "entity_head_rotation", + "0x37": "world_border", + "0x38": "camera", + "0x39": "held_item_slot", + "0x3a": "scoreboard_display_objective", + "0x3b": "entity_metadata", + "0x3c": "attach_entity", + "0x3d": "entity_velocity", + "0x3e": "entity_equipment", + "0x3f": "experience", + "0x40": "update_health", + "0x41": "scoreboard_objective", + "0x42": "set_passengers", + "0x43": "teams", + "0x44": "scoreboard_score", + "0x45": "spawn_position", + "0x46": "update_time", + "0x47": "title", + "0x48": "sound_effect", + "0x49": "playerlist_header", + "0x4a": "collect", + "0x4b": "entity_teleport", + "0x4c": "entity_update_attributes", + "0x4d": "entity_effect", + "0x4e": "advancement_progress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "advancement_progress": "packet_advancement_progress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_prepare_crafting_grid": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "actionNumber", + "type": "u16" + }, + { + "name": "returnEntry", + "type": [ + "array", + { + "countType":"u16", + "type": [ + "container", + [ + { + "name": "item", + "type": "slot" + }, + { + "name": "craftingSlot", + "type": "u8" + }, + { + "name": "playerSlot", + "type": "u8" + } + ] + ] + } + ] + }, + { + "name": "prepareEntry", + "type": [ + "array", + { + "countType":"u16", + "type":[ + "container", + [ + { + "name": "item", + "type": "slot" + }, + { + "name": "craftingSlot", + "type": "u8" + }, + { + "name": "playerSlot", + "type": "u8" + } + ] + ] + } + ] + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "u32" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "1":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "2": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "prepare_crafting_grid", + "0x02": "tab_complete", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "transaction", + "0x07": "enchant_item", + "0x08": "window_click", + "0x09": "close_window", + "0x0a": "custom_payload", + "0x0b": "use_entity", + "0x0c": "keep_alive", + "0x0d": "position", + "0x0e": "position_look", + "0x0f": "look", + "0x10": "flying", + "0x11": "vehicle_move", + "0x12": "steer_boat", + "0x13": "abilities", + "0x14": "block_dig", + "0x15": "entity_action", + "0x16": "steer_vehicle", + "0x17": "crafting_book_data", + "0x18": "resource_pack_receive", + "0x19": "held_item_slot", + "0x1a": "set_creative_slot", + "0x1b": "update_sign", + "0x1c": "arm_animation", + "0x1d": "spectate", + "0x1e": "block_place", + "0x1f": "use_item", + "0x20": "advancement_tab" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "prepare_crafting_grid": "packet_prepare_crafting_grid", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12-pre4/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12-pre4/version.json new file mode 100644 index 00000000..53666b4e --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12-pre4/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.12-pre4", + "version":331, + "majorVersion": "1.12" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12.1/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12.1/protocol.json new file mode 100644 index 00000000..bcfe6abe --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12.1/protocol.json @@ -0,0 +1,3936 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint", + "13": "nbt" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "varint" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"varint" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"varint" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "tab_complete", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "transaction", + "0x12": "close_window", + "0x13": "open_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "keep_alive", + "0x20": "map_chunk", + "0x21": "world_event", + "0x22": "world_particles", + "0x23": "login", + "0x24": "map", + "0x25": "entity", + "0x26": "rel_entity_move", + "0x27": "entity_move_look", + "0x28": "entity_look", + "0x29": "vehicle_move", + "0x2a": "open_sign_entity", + "0x2b": "craft_recipe_response", + "0x2c": "abilities", + "0x2d": "combat_event", + "0x2e": "player_info", + "0x2f": "position", + "0x30": "bed", + "0x31": "unlock_recipes", + "0x32": "entity_destroy", + "0x33": "remove_entity_effect", + "0x34": "resource_pack_send", + "0x35": "respawn", + "0x36": "entity_head_rotation", + "0x37": "select_advancement_tab", + "0x38": "world_border", + "0x39": "camera", + "0x3a": "held_item_slot", + "0x3b": "scoreboard_display_objective", + "0x3c": "entity_metadata", + "0x3d": "attach_entity", + "0x3e": "entity_velocity", + "0x3f": "entity_equipment", + "0x40": "experience", + "0x41": "update_health", + "0x42": "scoreboard_objective", + "0x43": "set_passengers", + "0x44": "teams", + "0x45": "scoreboard_score", + "0x46": "spawn_position", + "0x47": "update_time", + "0x48": "title", + "0x49": "sound_effect", + "0x4a": "playerlist_header", + "0x4b": "collect", + "0x4c": "entity_teleport", + "0x4d": "advancements", + "0x4e": "entity_update_attributes", + "0x4f": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "varint" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "i32" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "tab_complete", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "transaction", + "0x06": "enchant_item", + "0x07": "window_click", + "0x08": "close_window", + "0x09": "custom_payload", + "0x0a": "use_entity", + "0x0b": "keep_alive", + "0x0c": "flying", + "0x0d": "position", + "0x0e": "position_look", + "0x0f": "look", + "0x10": "vehicle_move", + "0x11": "steer_boat", + "0x12": "craft_recipe_request", + "0x13": "abilities", + "0x14": "block_dig", + "0x15": "entity_action", + "0x16": "steer_vehicle", + "0x17": "crafting_book_data", + "0x18": "resource_pack_receive", + "0x19": "advancement_tab", + "0x1a": "held_item_slot", + "0x1b": "set_creative_slot", + "0x1c": "update_sign", + "0x1d": "arm_animation", + "0x1e": "spectate", + "0x1f": "block_place", + "0x20": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12.1/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12.1/version.json new file mode 100644 index 00000000..58ede6fc --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12.1/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.12.1", + "version":338, + "majorVersion": "1.12" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12.2/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12.2/protocol.json new file mode 100644 index 00000000..78b2d165 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12.2/protocol.json @@ -0,0 +1,3936 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint", + "13": "nbt" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "varint" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"varint" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"varint" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "tab_complete", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "transaction", + "0x12": "close_window", + "0x13": "open_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "keep_alive", + "0x20": "map_chunk", + "0x21": "world_event", + "0x22": "world_particles", + "0x23": "login", + "0x24": "map", + "0x25": "entity", + "0x26": "rel_entity_move", + "0x27": "entity_move_look", + "0x28": "entity_look", + "0x29": "vehicle_move", + "0x2a": "open_sign_entity", + "0x2b": "craft_recipe_response", + "0x2c": "abilities", + "0x2d": "combat_event", + "0x2e": "player_info", + "0x2f": "position", + "0x30": "bed", + "0x31": "unlock_recipes", + "0x32": "entity_destroy", + "0x33": "remove_entity_effect", + "0x34": "resource_pack_send", + "0x35": "respawn", + "0x36": "entity_head_rotation", + "0x37": "select_advancement_tab", + "0x38": "world_border", + "0x39": "camera", + "0x3a": "held_item_slot", + "0x3b": "scoreboard_display_objective", + "0x3c": "entity_metadata", + "0x3d": "attach_entity", + "0x3e": "entity_velocity", + "0x3f": "entity_equipment", + "0x40": "experience", + "0x41": "update_health", + "0x42": "scoreboard_objective", + "0x43": "set_passengers", + "0x44": "teams", + "0x45": "scoreboard_score", + "0x46": "spawn_position", + "0x47": "update_time", + "0x48": "title", + "0x49": "sound_effect", + "0x4a": "playerlist_header", + "0x4b": "collect", + "0x4c": "entity_teleport", + "0x4d": "advancements", + "0x4e": "entity_update_attributes", + "0x4f": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "varint" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "i32" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "tab_complete", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "transaction", + "0x06": "enchant_item", + "0x07": "window_click", + "0x08": "close_window", + "0x09": "custom_payload", + "0x0a": "use_entity", + "0x0b": "keep_alive", + "0x0c": "flying", + "0x0d": "position", + "0x0e": "position_look", + "0x0f": "look", + "0x10": "vehicle_move", + "0x11": "steer_boat", + "0x12": "craft_recipe_request", + "0x13": "abilities", + "0x14": "block_dig", + "0x15": "entity_action", + "0x16": "steer_vehicle", + "0x17": "crafting_book_data", + "0x18": "resource_pack_receive", + "0x19": "advancement_tab", + "0x1a": "held_item_slot", + "0x1b": "set_creative_slot", + "0x1c": "update_sign", + "0x1d": "arm_animation", + "0x1e": "spectate", + "0x1f": "block_place", + "0x20": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12.2/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12.2/version.json new file mode 100644 index 00000000..455361e3 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12.2/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.12.2", + "version":340, + "majorVersion": "1.12" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/biomes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/biomes.json new file mode 100644 index 00000000..21388635 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/biomes.json @@ -0,0 +1,282 @@ +[ + { + "id": 0, + "color": 112, + "name": "Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 1, + "color": 9286496, + "name": "Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 2, + "color": 16421912, + "name": "Desert", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 3, + "color": 6316128, + "name": "Extreme Hills", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 4, + "color": 353825, + "name": "Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 5, + "color": 747097, + "name": "Taiga", + "rainfall": 0.8, + "temperature": 0.05 + }, + { + "id": 6, + "color": 522674, + "name": "Swampland", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 7, + "color": 255, + "name": "River", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 8, + "color": 16711680, + "name": "Hell", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 9, + "color": 8421631, + "name": "The End", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 10, + "color": 9474208, + "name": "FrozenOcean", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 11, + "color": 10526975, + "name": "FrozenRiver", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 12, + "color": 16777215, + "name": "Ice Plains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 13, + "color": 10526880, + "name": "Ice Mountains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 14, + "color": 16711935, + "name": "MushroomIsland", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 15, + "color": 10486015, + "name": "MushroomIslandShore", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 16, + "color": 16440917, + "name": "Beach", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 17, + "color": 13786898, + "name": "DesertHills", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 18, + "color": 2250012, + "name": "ForestHills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 19, + "color": 1456435, + "name": "TaigaHills", + "rainfall": 0.7, + "temperature": 0.2 + }, + { + "id": 20, + "color": 7501978, + "name": "Extreme Hills Edge", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 21, + "color": 5470985, + "name": "Jungle", + "rainfall": 0.9, + "temperature": 1.2 + }, + { + "id": 22, + "color": 2900485, + "name": "JungleHills", + "rainfall": 0.9, + "temperature": 1.2 + }, + { + "id": 23, + "color": 6458135, + "name": "JungleEdge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 24, + "color": 48, + "name": "Deep Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 25, + "color": 10658436, + "name": "Stone Beach", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 26, + "color": 16445632, + "name": "Cold Beach", + "rainfall": 0.3, + "temperature": 0.05 + }, + { + "id": 27, + "color": 3175492, + "name": "Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 28, + "color": 2055986, + "name": "Birch Forest Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 29, + "color": 4215066, + "name": "Roofed Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 30, + "color": 3233098, + "name": "Cold Taiga", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 31, + "color": 2375478, + "name": "Cold Taiga Hills", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 32, + "color": 5858897, + "name": "Mega Taiga", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 33, + "color": 4542270, + "name": "Mega Taiga Hills", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 34, + "color": 5271632, + "name": "Extreme Hills+", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 35, + "color": 12431967, + "name": "Savanna", + "rainfall": 0, + "temperature": 1.2 + }, + { + "id": 36, + "color": 10984804, + "name": "Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 37, + "color": 14238997, + "name": "Mesa", + "rainfall": 0.5, + "temperature": 2.0 + }, + { + "id": 38, + "color": 11573093, + "name": "Mesa Plateau F", + "rainfall": 0.5, + "temperature": 2.0 + }, + { + "id": 39, + "color": 13274213, + "name": "Redwood Taiga Hills M", + "rainfall": 0.5, + "temperature": 2.0 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/blockCollisionShapes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/blockCollisionShapes.json new file mode 100644 index 00000000..b640dfed --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/blockCollisionShapes.json @@ -0,0 +1,334 @@ +{"blocks":{"air":0, +"stone":1, +"grass":1, +"dirt":1, +"cobblestone":1, +"planks":1, +"sapling":0, +"bedrock":1, +"flowing_water":0, +"water":0, +"flowing_lava":0, +"lava":0, +"sand":1, +"gravel":1, +"gold_ore":1, +"iron_ore":1, +"coal_ore":1, +"log":1, +"leaves":1, +"sponge":1, +"glass":1, +"lapis_ore":1, +"lapis_block":1, +"dispenser":1, +"sandstone":1, +"noteblock":1, +"bed":2, +"golden_rail":0, +"detector_rail":0, +"sticky_piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0], +"web":0, +"tallgrass":0, +"deadbush":0, +"piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0], +"piston_head":[10,11,9,12,13,14,0,0,10,11,9,12,13,14,0,0], +"wool":1, +"piston_extension":0, +"yellow_flower":0, +"red_flower":0, +"brown_mushroom":0, +"red_mushroom":0, +"gold_block":1, +"iron_block":1, +"double_stone_slab":1, +"stone_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"brick_block":1, +"tnt":1, +"bookshelf":1, +"mossy_cobblestone":1, +"obsidian":1, +"torch":0, +"fire":0, +"mob_spawner":1, +"oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"chest":25, +"redstone_wire":0, +"diamond_ore":1, +"diamond_block":1, +"crafting_table":1, +"wheat":0, +"farmland":26, +"furnace":1, +"lit_furnace":1, +"standing_sign":0, +"wooden_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"ladder":[27,27,27,29,30,28,27,27,27,29,30,28,27,27,27,29], +"rail":0, +"stone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"wall_sign":0, +"lever":0, +"stone_pressure_plate":0, +"iron_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"wooden_pressure_plate":0, +"redstone_ore":1, +"lit_redstone_ore":1, +"unlit_redstone_torch":0, +"redstone_torch":0, +"stone_button":0, +"snow_layer":[0,31,32,33,15,34,4,35,0,31,32,33,15,34,4,35], +"ice":1, +"snow":1, +"cactus":36, +"clay":1, +"reeds":0, +"jukebox":1, +"fence":37, +"pumpkin":1, +"netherrack":1, +"soul_sand":35, +"glowstone":1, +"portal":0, +"lit_pumpkin":1, +"cake":[38,39,40,41,42,43,44,0,0,0,0,0,0,0,0,0], +"unpowered_repeater":31, +"powered_repeater":31, +"stained_glass":1, +"trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28], +"monster_egg":1, +"stonebrick":1, +"brown_mushroom_block":1, +"red_mushroom_block":1, +"iron_bars":47, +"glass_pane":47, +"melon_block":1, +"pumpkin_stem":0, +"melon_stem":0, +"vine":0, +"fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"stone_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"mycelium":1, +"waterlily":50, +"nether_brick":1, +"nether_brick_fence":37, +"nether_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"nether_wart":0, +"enchanting_table":4, +"brewing_stand":51, +"cauldron":52, +"end_portal":0, +"end_portal_frame":[81,81,81,81,82,82,82,82,81,81,81,81,82,82,82,82], +"end_stone":1, +"dragon_egg":53, +"redstone_lamp":1, +"lit_redstone_lamp":1, +"double_wooden_slab":1, +"wooden_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"cocoa":[55,56,54,57,58,59,60,61,62,63,64,65,0,0,0,0], +"sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"emerald_ore":1, +"ender_chest":25, +"tripwire_hook":0, +"tripwire":0, +"emerald_block":1, +"spruce_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"birch_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"jungle_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"command_block":1, +"beacon":1, +"cobblestone_wall":66, +"flower_pot":67, +"carrots":0, +"potatoes":0, +"wooden_button":0, +"skull":[69,69,68,70,71,72,69,69,69,69,68,70,71,72,69,69], +"anvil":[73,74,73,74,73,74,73,74,73,74,73,74,0,0,0,0], +"trapped_chest":25, +"light_weighted_pressure_plate":0, +"heavy_weighted_pressure_plate":0, +"unpowered_comparator":31, +"powered_comparator":31, +"daylight_detector":33, +"redstone_block":1, +"quartz_ore":1, +"hopper":75, +"quartz_block":1, +"quartz_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"activator_rail":0, +"dropper":1, +"stained_hardened_clay":1, +"stained_glass_pane":47, +"leaves2":1,"log2":1,"acacia_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"dark_oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"slime":1, +"barrier":1, +"iron_trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28], +"prismarine":1, +"sea_lantern":1, +"hay_block":1, +"carpet":76, +"hardened_clay":1, +"coal_block":1, +"packed_ice":1, +"double_plant":0, +"standing_banner":0, +"wall_banner":0, +"daylight_detector_inverted":33, +"red_sandstone":1, +"red_sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"double_stone_slab2":1,"stone_slab2":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"spruce_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"birch_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"jungle_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"dark_oak_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"acacia_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"spruce_fence":37, +"birch_fence":37, +"jungle_fence":37, +"dark_oak_fence":37, +"acacia_fence":37, +"spruce_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"birch_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"jungle_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"acacia_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"dark_oak_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"end_rod":[77,77,78,78,79,79,77,77,78,78,79,79,77,77,78,78], +"chorus_plant":80, +"chorus_flower":1, +"purpur_block":1, +"purpur_pillar":1, +"purpur_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"purpur_double_slab":1, +"purpur_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"end_bricks":1, +"beetroots":0, +"grass_path":26, +"end_gateway":0, +"repeating_command_block":1, +"chain_command_block":1, +"frosted_ice":1, +"magma":1, +"nether_wart_block":1, +"red_nether_brick":1, +"bone_block":1, +"structure_void":0, +"observer":1, +"white_shulker_box":1, +"orange_shulker_box":1, +"magenta_shulker_box":1, +"light_blue_shulker_box":1, +"yellow_shulker_box":1, +"lime_shulker_box":1, +"pink_shulker_box":1, +"gray_shulker_box":1, +"light_gray_shulker_box":1, +"cyan_shulker_box":1, +"purple_shulker_box":1, +"blue_shulker_box":1, +"brown_shulker_box":1, +"green_shulker_box":1, +"red_shulker_box":1, +"black_shulker_box":1, +"white_glazed_terracotta":1, +"orange_glazed_terracotta":1, +"magenta_glazed_terracotta":1, +"light_blue_glazed_terracotta":1, +"yellow_glazed_terracotta":1, +"lime_glazed_terracotta":1, +"pink_glazed_terracotta":1, +"gray_glazed_terracotta":1, +"light_gray_glazed_terracotta":1, +"cyan_glazed_terracotta":1, +"purple_glazed_terracotta":1, +"blue_glazed_terracotta":1, +"brown_glazed_terracotta":1, +"green_glazed_terracotta":1, +"red_glazed_terracotta":1, +"black_glazed_terracotta":1, +"concrete":1, +"concrete_powder":1, +"structure_block":1}, +"shapes":{"0":[], +"1":[[0.0,0.0,0.0,1.0,1.0,1.0]], +"2":[[0.0,0.0,0.0,1.0,0.5625,1.0]], +"3":[[0.0,0.25,0.0,1.0,1.0,1.0]], +"4":[[0.0,0.0,0.0,1.0,0.75,1.0]], +"5":[[0.0,0.0,0.25,1.0,1.0,1.0]], +"6":[[0.0,0.0,0.0,1.0,1.0,0.75]], +"7":[[0.25,0.0,0.0,1.0,1.0,1.0]], +"8":[[0.0,0.0,0.0,0.75,1.0,1.0]], +"9":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]], +"10":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]], +"11":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]], +"12":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]], +"13":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]], +"14":[[0.75,0.0,0.0,1.0,1.0,1.0],[-0.25,0.375,0.375,0.75,0.625,0.625]], +"15":[[0.0,0.0,0.0,1.0,0.5,1.0]], +"16":[[0.0,0.5,0.0,1.0,1.0,1.0]], +"17":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"18":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"19":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]], +"20":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]], +"21":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]], +"22":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,0.5,0.5,1.0]], +"23":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.5,1.0,0.5,1.0]], +"24":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,0.5,0.5]], +"25":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]], +"26":[[0.0,0.0,0.0,1.0,0.9375,1.0]], +"27":[[0.0,0.0,0.8125,1.0,1.0,1.0]], +"28":[[0.0,0.0,0.0,0.1875,1.0,1.0]], +"29":[[0.0,0.0,0.0,1.0,1.0,0.1875]], +"30":[[0.8125,0.0,0.0,1.0,1.0,1.0]], +"31":[[0.0,0.0,0.0,1.0,0.125,1.0]], +"32":[[0.0,0.0,0.0,1.0,0.25,1.0]], +"33":[[0.0,0.0,0.0,1.0,0.375,1.0]], +"34":[[0.0,0.0,0.0,1.0,0.625,1.0]], +"35":[[0.0,0.0,0.0,1.0,0.875,1.0]], +"36":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]], +"37":[[0.375,0.0,0.375,0.625,1.5,0.625]], +"38":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]], +"39":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]], +"40":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]], +"41":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]], +"42":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]], +"43":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]], +"44":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]], +"45":[[0.0,0.0,0.0,1.0,0.1875,1.0]], +"46":[[0.0,0.8125,0.0,1.0,1.0,1.0]], +"47":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]], +"48":[[0.0,0.0,0.375,1.0,1.5,0.625]], +"49":[[0.375,0.0,0.0,0.625,1.5,1.0]], +"50":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]], +"51":[[0.4375,0.0,0.4375,0.5625,0.875,0.5625],[0.0,0.0,0.0,1.0,0.125,1.0]], +"52":[[0.0,0.0,0.0,1.0,0.3125,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.875,1.0,1.0,1.0]], +"53":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]], +"54":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]], +"55":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]], +"56":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]], +"57":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]], +"58":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]], +"59":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]], +"60":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]], +"61":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]], +"62":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]], +"63":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]], +"64":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]], +"65":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]], +"66":[[0.25,0.0,0.25,0.75,1.5,0.75]], +"67":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]], +"68":[[0.25,0.25,0.5,0.75,0.75,1.0]], +"69":[[0.25,0.0,0.25,0.75,0.5,0.75]], +"70":[[0.25,0.25,0.0,0.75,0.75,0.5]], +"71":[[0.5,0.25,0.25,1.0,0.75,0.75]], +"72":[[0.0,0.25,0.25,0.5,0.75,0.75]], +"73":[[0.125,0.0,0.0,0.875,1.0,1.0]], +"74":[[0.0,0.0,0.125,1.0,1.0,0.875]], +"75":[[0.0,0.0,0.0,1.0,0.625,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.0,0.0,0.875,1.0,1.0,1.0]], +"76":[[0.0,0.0,0.0,1.0,0.0625,1.0]], +"77":[[0.375,0.0,0.375,0.625,1.0,0.625]], +"78":[[0.375,0.375,0.0,0.625,0.625,1.0]], +"79":[[0.0,0.375,0.375,1.0,0.625,0.625]], +"80":[[0.1875,0.1875,0.1875,0.8125,0.8125,0.8125]], +"81":[[0.0,0.0,0.0,1.0,0.8125,1.0]], +"82":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.3125,0.8125,0.3125,0.6875,1.0,0.6875]]}} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/blocks.json new file mode 100644 index 00000000..3aa891c8 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/blocks.json @@ -0,0 +1,6532 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 0 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Dirt" + }, + { + "metadata": 1, + "displayName": "Coarse Dirt" + }, + { + "metadata": 2, + "displayName": "Podzol" + } + ], + "drops": [ + { + "drop": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "planks", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Wood Planks" + }, + { + "metadata": 1, + "displayName": "Spruce Wood Planks" + }, + { + "metadata": 2, + "displayName": "Birch Wood Planks" + }, + { + "metadata": 3, + "displayName": "Jungle Wood Planks" + }, + { + "metadata": 4, + "displayName": "Acacia Wood Planks" + }, + { + "metadata": 5, + "displayName": "Dark Oak Wood Planks" + } + ], + "drops": [ + { + "drop": 5 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 6 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 8, + "displayName": "Water", + "name": "flowing_water", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 10, + "displayName": "Lava", + "name": "flowing_lava", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Sand" + }, + { + "metadata": 1, + "displayName": "Red sand" + } + ], + "drops": [ + { + "drop": 12 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 13, + "minCount": 0.9 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 14 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 15 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 263, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 17, + "displayName": "Wood", + "name": "log", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 17 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Leaves" + }, + { + "metadata": 1, + "displayName": "Spruce Leaves" + }, + { + "metadata": 2, + "displayName": "Birch Leaves" + }, + { + "metadata": 3, + "displayName": "Jungle Leaves" + }, + { + "metadata": 4, + "displayName": "Oak Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Spruce Leaves (no decay)" + }, + { + "metadata": 6, + "displayName": "Birch Leaves (no decay)" + }, + { + "metadata": 7, + "displayName": "Jungle Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Oak Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Spruce Leaves (check decay)" + }, + { + "metadata": 10, + "displayName": "Birch Leaves (check decay)" + }, + { + "metadata": 11, + "displayName": "Jungle Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Oak Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Spruce Leaves (no decay and check decay)" + }, + { + "metadata": 14, + "displayName": "Birch Leaves (no decay and check decay)" + }, + { + "metadata": 15, + "displayName": "Jungle Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Sponge" + }, + { + "metadata": 1, + "displayName": "Wet Sponge" + } + ], + "drops": [ + { + "drop": 19 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": { + "id": 351, + "metadata": 4 + }, + "minCount": 4, + "maxCount": 8 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 22 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 23 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth sandstone" + } + ], + "drops": [ + { + "drop": 24 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "noteblock", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 25 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 26, + "displayName": "Bed", + "name": "bed", + "hardness": 0.2, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 26 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "golden_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 27 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 28 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 29 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "web", + "hardness": 4, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "web", + "harvestTools": { + "267": true, + "268": true, + "272": true, + "276": true, + "283": true, + "359": true + }, + "drops": [ + { + "drop": 287 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 31, + "displayName": "Grass", + "name": "tallgrass", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Shrub" + }, + { + "metadata": 1, + "displayName": "Tall Grass" + }, + { + "metadata": 2, + "displayName": "Fern" + } + ], + "drops": [ + { + "drop": 295, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "deadbush", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 280, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 33 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 34, + "displayName": "Piston Head", + "name": "piston_head", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 34 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wool", + "variations": [ + { + "metadata": 0, + "displayName": "White Wool" + }, + { + "metadata": 1, + "displayName": "Orange Wool" + }, + { + "metadata": 2, + "displayName": "Magenta Wool" + }, + { + "metadata": 3, + "displayName": "Light blue Wool" + }, + { + "metadata": 4, + "displayName": "Yellow Wool" + }, + { + "metadata": 5, + "displayName": "Lime Wool" + }, + { + "metadata": 6, + "displayName": "Pink Wool" + }, + { + "metadata": 7, + "displayName": "Gray Wool" + }, + { + "metadata": 8, + "displayName": "Light gray Wool" + }, + { + "metadata": 9, + "displayName": "Cyan Wool" + }, + { + "metadata": 10, + "displayName": "Purple Wool" + }, + { + "metadata": 11, + "displayName": "Blue Wool" + }, + { + "metadata": 12, + "displayName": "Brown Wool" + }, + { + "metadata": 13, + "displayName": "Green Wool" + }, + { + "metadata": 14, + "displayName": "Red Wool" + }, + { + "metadata": 15, + "displayName": "Black Wool" + } + ], + "drops": [ + { + "drop": 35 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 36, + "displayName": "Block moved by Piston", + "name": "piston_extension", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 36 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "yellow_flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 37 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 38, + "displayName": "Poppy", + "name": "red_flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Poppy" + }, + { + "metadata": 1, + "displayName": "Blue Orchid" + }, + { + "metadata": 2, + "displayName": "Allium" + }, + { + "metadata": 3, + "displayName": "Azure Bluet" + }, + { + "metadata": 4, + "displayName": "Red Tulip" + }, + { + "metadata": 5, + "displayName": "Orange Tulip" + }, + { + "metadata": 6, + "displayName": "White Tulip" + }, + { + "metadata": 7, + "displayName": "Pink Tulip" + }, + { + "metadata": 8, + "displayName": "Oxeye Daisy" + } + ], + "drops": [ + { + "drop": 38 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 39 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 40 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "gold_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 41 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "iron_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 42 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Stone Slab" + }, + { + "metadata": 1, + "displayName": "Double Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "Double (Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Double Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Double Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Double Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Double Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Double Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Stone Slab" + }, + { + "metadata": 9, + "displayName": "Smooth Double Sandstone Slab" + }, + { + "metadata": 15, + "displayName": "Tile Double Quartz Slab (note the underside)" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone Slab" + }, + { + "metadata": 1, + "displayName": "Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "(Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Upper Stone Slab" + }, + { + "metadata": 9, + "displayName": "Upper Sandstone Slab" + }, + { + "metadata": 10, + "displayName": "Upper (Stone) Wooden Slab" + }, + { + "metadata": 11, + "displayName": "Upper Cobblestone Slab" + }, + { + "metadata": 12, + "displayName": "Upper Bricks Slab" + }, + { + "metadata": 13, + "displayName": "Upper Stone Brick Slab" + }, + { + "metadata": 14, + "displayName": "Upper Nether Brick Slab" + }, + { + "metadata": 15, + "displayName": "Upper Quartz Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "brick_block", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 45 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Drops a TNT item when broken" + }, + { + "metadata": 1, + "displayName": "Activates when broken" + } + ], + "drops": [ + { + "drop": 46 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 340, + "minCount": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "mossy_cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 48 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "278": true + }, + "drops": [ + { + "drop": 49 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Torch facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Torch facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Torch facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Torch facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Torch facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 50 + } + ], + "transparent": true, + "emitLight": 14, + "filterLight": 0 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "mob_spawner", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 53 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 54 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 331 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 264 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "diamond_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 57 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 58 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 59, + "displayName": "Wheat", + "name": "wheat", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 295 + }, + { + "drop": 295, + "minCount": 0, + "maxCount": 3 + }, + { + "drop": 296 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "lit_furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 63, + "displayName": "Standing Sign", + "name": "standing_sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 323 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 64, + "displayName": "Oak Door", + "name": "wooden_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 64 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 65 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 66 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "stone_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 67 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "wall_sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 323 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 69 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 70 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 71, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 71 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 72 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "lit_redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "unlit_redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Redstone Torch (inactive) facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Redstone Torch (inactive) facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Redstone Torch (inactive) facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Redstone Torch (inactive) facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Redstone Torch (inactive) facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 75 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 76, + "displayName": "Redstone Torch (active)", + "name": "redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Redstone Torch (active) facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Redstone Torch (active) facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Redstone Torch (active) facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Redstone Torch (active) facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Redstone Torch (active) facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 76 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 77 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 78, + "displayName": "Snow (layer)", + "name": "snow_layer", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "drops": [ + { + "drop": 332, + "minCount": 2, + "maxCount": 9 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "drops": [ + { + "drop": 332, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 81 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 337, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 83, + "displayName": "Sugar Cane", + "name": "reeds", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 83 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 84, + "displayName": "Jukebox", + "name": "jukebox", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "No disc inserted" + }, + { + "metadata": 1, + "displayName": "Contains a disc" + } + ], + "drops": [ + { + "drop": 84 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 85, + "displayName": "Oak Fence", + "name": "fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 85 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 86 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 87 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 88 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 348, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 90, + "displayName": "Nether Portal", + "name": "portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 11, + "filterLight": 0 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "lit_pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 91 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 92, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 93, + "displayName": "Redstone Repeater (inactive)", + "name": "unpowered_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 356 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 94, + "displayName": "Redstone Repeater (active)", + "name": "powered_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 356 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 95, + "displayName": "Stained Glass", + "name": "stained_glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Stained Glass" + }, + { + "metadata": 1, + "displayName": "Orange Stained Glass" + }, + { + "metadata": 2, + "displayName": "Magenta Stained Glass" + }, + { + "metadata": 3, + "displayName": "Light Blue Stained Glass" + }, + { + "metadata": 4, + "displayName": "Yellow Stained Glass" + }, + { + "metadata": 5, + "displayName": "Lime Stained Glass" + }, + { + "metadata": 6, + "displayName": "Pink Stained Glass" + }, + { + "metadata": 7, + "displayName": "Gray Stained Glass" + }, + { + "metadata": 8, + "displayName": "Light Gray Stained Glass" + }, + { + "metadata": 9, + "displayName": "Cyan Stained Glass" + }, + { + "metadata": 10, + "displayName": "Purple Stained Glass" + }, + { + "metadata": 11, + "displayName": "Blue Stained Glass" + }, + { + "metadata": 12, + "displayName": "Brown Stained Glass" + }, + { + "metadata": 13, + "displayName": "Green Stained Glass" + }, + { + "metadata": 14, + "displayName": "Red Stained Glass" + }, + { + "metadata": 15, + "displayName": "Black Stained Glass" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 96 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "hardness": 0.75, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Stone Monster Egg" + }, + { + "metadata": 1, + "displayName": "Cobblestone Monster Egg" + }, + { + "metadata": 2, + "displayName": "Stone Brick Monster Egg" + }, + { + "metadata": 3, + "displayName": "Mossy Stone Brick Monster Egg" + }, + { + "metadata": 4, + "displayName": "Cracked Stone Brick Monster Egg" + }, + { + "metadata": 5, + "displayName": "Chiseled Stone Brick Monster Egg" + } + ], + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 98, + "displayName": "Stone Bricks", + "name": "stonebrick", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone brick" + }, + { + "metadata": 1, + "displayName": "Mossy stone brick" + }, + { + "metadata": 2, + "displayName": "Cracked stone brick" + }, + { + "metadata": 3, + "displayName": "Chiseled stone brick" + } + ], + "drops": [ + { + "drop": 98 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 99, + "displayName": "Brown Mushroom (block)", + "name": "brown_mushroom_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 40, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 100, + "displayName": "Red Mushroom (block)", + "name": "red_mushroom_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 40, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 101 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 360, + "minCount": 3, + "maxCount": 7 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 361, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 362, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vine", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 106 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 107 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 108 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 109 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "waterlily", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 111 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 112 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 113 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 114 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 115, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 372 + }, + { + "drop": 372, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchanting_table", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 116 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 117, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 379 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 118, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 380 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 119, + "displayName": "End Portal", + "name": "end_portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 120, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 120 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 121 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 122, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 122 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 123, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 123 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 124, + "displayName": "Redstone Lamp (active)", + "name": "lit_redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 124 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 125, + "displayName": "Double Wooden Slab", + "name": "double_wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Double Oak Wood Slab" + }, + { + "metadata": 1, + "displayName": "Double Spruce Wood Slab" + }, + { + "metadata": 2, + "displayName": "Double Birch Wood Slab" + }, + { + "metadata": 3, + "displayName": "Double Jungle Wood Slab" + }, + { + "metadata": 4, + "displayName": "Double Acacia Wood Slab" + }, + { + "metadata": 5, + "displayName": "Double Dark Oak Wood Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 126, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Wood Slab" + }, + { + "metadata": 1, + "displayName": "Spruce Wood Slab" + }, + { + "metadata": 2, + "displayName": "Birch Wood Slab" + }, + { + "metadata": 3, + "displayName": "Jungle Wood Slab" + }, + { + "metadata": 4, + "displayName": "Acacia Wood Slab" + }, + { + "metadata": 5, + "displayName": "Dark Oak Wood Slab" + }, + { + "metadata": 8, + "displayName": "Upper Oak Wood Slab" + }, + { + "metadata": 9, + "displayName": "Upper Spruce Wood Slab" + }, + { + "metadata": 10, + "displayName": "Upper Birch Wood Slab" + }, + { + "metadata": 11, + "displayName": "Upper Jungle Wood Slab" + }, + { + "metadata": 12, + "displayName": "Upper Acacia Wood Slab" + }, + { + "metadata": 13, + "displayName": "Upper Dark Oak Wood Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": { + "id": 351, + "metadata": 3 + } + }, + { + "drop": { + "id": 351, + "metadata": 3 + }, + "minCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 128 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 388 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 130, + "displayName": "Ender Chest", + "name": "ender_chest", + "hardness": 22.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 49, + "minCount": 8 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 131 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 287 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "emerald_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 133 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 134 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 135 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 136 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 137, + "displayName": "Command Block", + "name": "command_block", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 138, + "displayName": "Beacon", + "name": "beacon", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 138 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Cobblestone Wall" + }, + { + "metadata": 1, + "displayName": "Mossy Cobblestone Wall" + } + ], + "drops": [ + { + "drop": 139 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 140, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 140 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 141 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 142 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 143 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 144, + "displayName": "Mob head", + "name": "skull", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ], + "drops": [ + { + "drop": 144 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Anvil" + }, + { + "metadata": 1, + "displayName": "Slightly Damaged Anvil" + }, + { + "metadata": 2, + "displayName": "Very Damaged Anvil" + }, + { + "metadata": 3, + "displayName": "Anvil (North/South)" + }, + { + "metadata": 4, + "displayName": "Anvil (East/West)" + }, + { + "metadata": 5, + "displayName": "Anvil (South/North)" + }, + { + "metadata": 6, + "displayName": "Anvil (West/East)" + }, + { + "metadata": 7, + "displayName": "Slightly Damaged Anvil (North/South)" + }, + { + "metadata": 8, + "displayName": "Slightly Damaged Anvil (East/West)" + }, + { + "metadata": 9, + "displayName": "Slightly Damaged Anvil (West/East)" + }, + { + "metadata": 10, + "displayName": "Slightly Damaged Anvil (South/North)" + }, + { + "metadata": 11, + "displayName": "Very Damaged Anvil (North/South)" + }, + { + "metadata": 12, + "displayName": "Very Damaged Anvil (East/West)" + }, + { + "metadata": 13, + "displayName": "Very Damaged Anvil (West/East)" + }, + { + "metadata": 14, + "displayName": "Very Damaged Anvil (South/North)" + } + ], + "drops": [ + { + "drop": 145 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 146 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "light_weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 147 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 148, + "displayName": "Weighted Pressure Plate (Heavy)", + "name": "heavy_weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 148 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 149, + "displayName": "Redstone Comparator", + "name": "unpowered_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 404 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 150, + "displayName": "Redstone Comparator (deprecated)", + "name": "powered_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 404 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_detector", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 151 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "redstone_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 152 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "quartz_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 406 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 154, + "displayName": "Hopper", + "name": "hopper", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 154 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "quartz_block", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Block of Quartz" + }, + { + "metadata": 1, + "displayName": "Chiseled Quartz Block" + }, + { + "metadata": 2, + "displayName": "Pillar Quartz Block (vertical)" + }, + { + "metadata": 3, + "displayName": "Pillar Quartz Block (north-south)" + }, + { + "metadata": 4, + "displayName": "Pillar Quartz Block (east-west)" + } + ], + "drops": [ + { + "drop": 155 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 156 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 157, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 157 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 158, + "displayName": "Dropper", + "name": "dropper", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 158 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White hardened clay" + }, + { + "metadata": 1, + "displayName": "Orange hardened clay" + }, + { + "metadata": 2, + "displayName": "Magenta hardened clay" + }, + { + "metadata": 3, + "displayName": "Light blue hardened clay" + }, + { + "metadata": 4, + "displayName": "Yellow hardened clay" + }, + { + "metadata": 5, + "displayName": "Lime hardened clay" + }, + { + "metadata": 6, + "displayName": "Pink hardened clay" + }, + { + "metadata": 7, + "displayName": "Gray hardened clay" + }, + { + "metadata": 8, + "displayName": "Light gray hardened clay" + }, + { + "metadata": 9, + "displayName": "Cyan hardened clay" + }, + { + "metadata": 10, + "displayName": "Purple hardened clay" + }, + { + "metadata": 11, + "displayName": "Blue hardened clay" + }, + { + "metadata": 12, + "displayName": "Brown hardened clay" + }, + { + "metadata": 13, + "displayName": "Green hardened clay" + }, + { + "metadata": 14, + "displayName": "Red hardened clay" + }, + { + "metadata": 15, + "displayName": "Black hardened clay" + } + ], + "drops": [ + { + "drop": 159 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 160, + "displayName": "Stained Glass Pane", + "name": "stained_glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Stained Glass Pane" + }, + { + "metadata": 1, + "displayName": "Orange Stained Glass Pane" + }, + { + "metadata": 2, + "displayName": "Magenta Stained Glass Pane" + }, + { + "metadata": 3, + "displayName": "Light Blue Stained Glass Pane" + }, + { + "metadata": 4, + "displayName": "Yellow Stained Glass Pane" + }, + { + "metadata": 5, + "displayName": "Lime Stained Glass Pane" + }, + { + "metadata": 6, + "displayName": "Pink Stained Glass Pane" + }, + { + "metadata": 7, + "displayName": "Gray Stained Glass Pane" + }, + { + "metadata": 8, + "displayName": "Light Gray Stained Glass Pane" + }, + { + "metadata": 9, + "displayName": "Cyan Stained Glass Pane" + }, + { + "metadata": 10, + "displayName": "Purple Stained Glass Pane" + }, + { + "metadata": 11, + "displayName": "Blue Stained Glass Pane" + }, + { + "metadata": 12, + "displayName": "Brown Stained Glass Pane" + }, + { + "metadata": 13, + "displayName": "Green Stained Glass Pane" + }, + { + "metadata": 14, + "displayName": "Red Stained Glass Pane" + }, + { + "metadata": 15, + "displayName": "Black Stained Glass Pane" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 161, + "displayName": "Leaves (Acacia/Dark Oak)", + "name": "leaves2", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Acacia Leaves" + }, + { + "metadata": 1, + "displayName": "Dark Oak Leaves" + }, + { + "metadata": 4, + "displayName": "Acacia Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Dark Oak Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Acacia Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Dark Oak Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Acacia Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Dark Oak Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 162, + "displayName": "Wood (Acacia/Dark Oak)", + "name": "log2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 162 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 163 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 164 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 165 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 166, + "displayName": "Barrier", + "name": "barrier", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 167 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 168, + "displayName": "Prismarine", + "name": "prismarine", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Prismarine" + }, + { + "metadata": 1, + "displayName": "Prismarine Bricks" + }, + { + "metadata": 2, + "displayName": "Dark Prismarine" + } + ], + "drops": [ + { + "drop": 168 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 169, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 410, + "minCount": 2, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_block", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 170 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "hardness": 0.1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Carpet" + }, + { + "metadata": 1, + "displayName": "Orange Carpet" + }, + { + "metadata": 2, + "displayName": "Magenta Carpet" + }, + { + "metadata": 3, + "displayName": "Light Blue Carpet" + }, + { + "metadata": 4, + "displayName": "Yellow Carpet" + }, + { + "metadata": 5, + "displayName": "Lime Carpet" + }, + { + "metadata": 6, + "displayName": "Pink Carpet" + }, + { + "metadata": 7, + "displayName": "Gray Carpet" + }, + { + "metadata": 8, + "displayName": "Light Gray Carpet" + }, + { + "metadata": 9, + "displayName": "Cyan Carpet" + }, + { + "metadata": 10, + "displayName": "Purple Carpet" + }, + { + "metadata": 11, + "displayName": "Blue Carpet" + }, + { + "metadata": 12, + "displayName": "Brown Carpet" + }, + { + "metadata": 13, + "displayName": "Green Carpet" + }, + { + "metadata": 14, + "displayName": "Red Carpet" + }, + { + "metadata": 15, + "displayName": "Black Carpet" + } + ], + "drops": [ + { + "drop": 171 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White hardened clay" + }, + { + "metadata": 1, + "displayName": "Orange hardened clay" + }, + { + "metadata": 2, + "displayName": "Magenta hardened clay" + }, + { + "metadata": 3, + "displayName": "Light blue hardened clay" + }, + { + "metadata": 4, + "displayName": "Yellow hardened clay" + }, + { + "metadata": 5, + "displayName": "Lime hardened clay" + }, + { + "metadata": 6, + "displayName": "Pink hardened clay" + }, + { + "metadata": 7, + "displayName": "Gray hardened clay" + }, + { + "metadata": 8, + "displayName": "Light gray hardened clay" + }, + { + "metadata": 9, + "displayName": "Cyan hardened clay" + }, + { + "metadata": 10, + "displayName": "Purple hardened clay" + }, + { + "metadata": 11, + "displayName": "Blue hardened clay" + }, + { + "metadata": 12, + "displayName": "Brown hardened clay" + }, + { + "metadata": 13, + "displayName": "Green hardened clay" + }, + { + "metadata": 14, + "displayName": "Red hardened clay" + }, + { + "metadata": 15, + "displayName": "Black hardened clay" + } + ], + "drops": [ + { + "drop": 172 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "coal_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 173 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 175, + "displayName": "Large Flowers", + "name": "double_plant", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Sunflower" + }, + { + "metadata": 1, + "displayName": "Lilac" + }, + { + "metadata": 2, + "displayName": "Double Tallgrass" + }, + { + "metadata": 3, + "displayName": "Large Fern" + }, + { + "metadata": 4, + "displayName": "Rose Bush" + }, + { + "metadata": 5, + "displayName": "Peony" + }, + { + "metadata": 8, + "displayName": "Top Half of any Large Plant; low three bits 0x7 are derived from the block below." + } + ], + "drops": [ + { + "drop": 175 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 176, + "displayName": "Standing Banner", + "name": "standing_banner", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 176 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 177, + "displayName": "Wall Banner", + "name": "wall_banner", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 177 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "daylight_detector_inverted", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 178 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 179, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Red Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled Red Sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth Red Sandstone" + } + ], + "drops": [ + { + "drop": 179 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 180, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 180 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 181, + "displayName": "Double Red Sandstone Slab", + "name": "double_stone_slab2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Red Sandstone Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Red Sandstone Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 182, + "displayName": "Red Sandstone Slab", + "name": "stone_slab2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Red Sandstone Slab" + }, + { + "metadata": 8, + "displayName": "Upper Red Sandstone Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 183 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 184 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 185 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 186 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 187 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 188, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 188 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 189, + "displayName": "Birch Fence", + "name": "birch_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 189 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 190, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 190 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 191, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 191 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 192, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 192 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 193, + "displayName": "Spruce Door", + "name": "spruce_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 193 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 194, + "displayName": "Birch Door", + "name": "birch_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 194 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 195, + "displayName": "Jungle Door", + "name": "jungle_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 195 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 196, + "displayName": "Acacia Door", + "name": "acacia_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 196 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 197, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 197 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 198, + "displayName": "End Rod", + "name": "end_rod", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "End Rod facing down" + }, + { + "metadata": 1, + "displayName": "End Rod facing up" + }, + { + "metadata": 2, + "displayName": "End Rod facing north" + }, + { + "metadata": 3, + "displayName": "End Rod facing south" + }, + { + "metadata": 4, + "displayName": "End Rod facing west" + }, + { + "metadata": 5, + "displayName": "End Rod facing east" + } + ], + "drops": [ + { + "drop": 198 + } + ], + "transparent": false, + "emitLight": 14, + "filterLight": 15 + }, + { + "id": 199, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 432, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 200, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 200 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 201, + "displayName": "Purpur Block", + "name": "purpur_block", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 201 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 202, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 202 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 203, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 203 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 204, + "displayName": "Purpur Double Slab", + "name": "purpur_double_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 205, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 206, + "displayName": "End Stone Bricks", + "name": "end_bricks", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 206 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 207, + "displayName": "Beetroot Seeds", + "name": "beetroots", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 208, + "displayName": "Grass Path", + "name": "grass_path", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 209, + "displayName": "End Gateway", + "name": "end_gateway", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 210, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 211, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 212, + "displayName": "Frosted Ice", + "name": "frosted_ice", + "hardness": 0.5, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 213, + "displayName": "Magma Block", + "name": "magma", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 213 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 214, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 214 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 215, + "displayName": "Red Nether Brick", + "name": "red_nether_brick", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 215 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 216, + "displayName": "Bone Block", + "name": "bone_block", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 216 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 217, + "displayName": "Structure Void", + "name": "structure_void", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Save" + }, + { + "metadata": 1, + "displayName": "Load" + }, + { + "metadata": 2, + "displayName": "Corner" + }, + { + "metadata": 3, + "displayName": "Data" + } + ], + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 218, + "displayName": "Observer", + "name": "observer", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 218 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 219, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 219 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 220, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 220 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 221, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 221 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 222, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 222 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 223, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 223 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 224, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 224 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 225, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 225 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 226, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 226 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 227, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 227 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 228, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 228 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 229, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 229 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 230, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 230 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 231, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 231 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 232, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 232 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 233, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 233 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 234, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "hardness": 6, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 234 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 235, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 235 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 236, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 236 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 237, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 237 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 238, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 238 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 239, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 239 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 240, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 240 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 241, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 241 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 242, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 242 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 243, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 243 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 244, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 244 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 245, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 245 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 246, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 246 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 247, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 247 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 248, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 248 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 249, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 249 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 250, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "hardness": 1.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 250 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 251, + "displayName": "Concrete", + "name": "concrete", + "hardness": 1.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White Concrete" + }, + { + "metadata": 1, + "displayName": "Orange Concrete" + }, + { + "metadata": 2, + "displayName": "Magenta Concrete" + }, + { + "metadata": 3, + "displayName": "Light blue Concrete" + }, + { + "metadata": 4, + "displayName": "Yellow Concrete" + }, + { + "metadata": 5, + "displayName": "Lime Concrete" + }, + { + "metadata": 6, + "displayName": "Pink Concrete" + }, + { + "metadata": 7, + "displayName": "Gray Concrete" + }, + { + "metadata": 8, + "displayName": "Light gray Concrete" + }, + { + "metadata": 9, + "displayName": "Cyan Concrete" + }, + { + "metadata": 10, + "displayName": "Purple Concrete" + }, + { + "metadata": 11, + "displayName": "Blue Concrete" + }, + { + "metadata": 12, + "displayName": "Brown Concrete" + }, + { + "metadata": 13, + "displayName": "Green Concrete" + }, + { + "metadata": 14, + "displayName": "Red Concrete" + }, + { + "metadata": 15, + "displayName": "Black Concrete" + } + ], + "drops": [ + { + "drop": 251 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 252, + "displayName": "Concrete Powder", + "name": "concrete_powder", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "White Concrete Powder" + }, + { + "metadata": 1, + "displayName": "Orange Concrete Powder" + }, + { + "metadata": 2, + "displayName": "Magenta Concrete Powder" + }, + { + "metadata": 3, + "displayName": "Light blue Concrete Powder" + }, + { + "metadata": 4, + "displayName": "Yellow Concrete Powder" + }, + { + "metadata": 5, + "displayName": "Lime Concrete Powder" + }, + { + "metadata": 6, + "displayName": "Pink Concrete Powder" + }, + { + "metadata": 7, + "displayName": "Gray Concrete Powder" + }, + { + "metadata": 8, + "displayName": "Light gray Concrete Powder" + }, + { + "metadata": 9, + "displayName": "Cyan Concrete Powder" + }, + { + "metadata": 10, + "displayName": "Purple Concrete Powder" + }, + { + "metadata": 11, + "displayName": "Blue Concrete Powder" + }, + { + "metadata": 12, + "displayName": "Brown Concrete Powder" + }, + { + "metadata": 13, + "displayName": "Green Concrete Powder" + }, + { + "metadata": 14, + "displayName": "Red Concrete Powder" + }, + { + "metadata": 15, + "displayName": "Black Concrete Powder" + } + ], + "drops": [ + { + "drop": 252 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 255, + "displayName": "Structure Block", + "name": "structure_block", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Save" + }, + { + "metadata": 1, + "displayName": "Load" + }, + { + "metadata": 2, + "displayName": "Corner" + }, + { + "metadata": 3, + "displayName": "Data" + } + ], + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/effects.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/effects.json new file mode 100644 index 00000000..4aaa8e57 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/effects.json @@ -0,0 +1,164 @@ +[ + { + "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" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/enchantments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/enchantments.json new file mode 100644 index 00000000..523cdc4f --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/enchantments.json @@ -0,0 +1,152 @@ +[ + { + "id": 0, + "name": "protection", + "displayName": "Protection" + }, + { + "id": 1, + "name": "fire_protection", + "displayName": "Fire Protection" + }, + { + "id": 2, + "name": "feather_falling", + "displayName": "Feather Falling" + }, + { + "id": 3, + "name": "blast_protection", + "displayName": "Blast Protection" + }, + { + "id": 4, + "name": "projectile_protection", + "displayName": "Projectile Protection" + }, + { + "id": 5, + "name": "respiration", + "displayName": "Respiration" + }, + { + "id": 6, + "name": "aqua_affinity", + "displayName": "Aqua Affinity" + }, + { + "id": 7, + "name": "thorns", + "displayName": "Thorns" + }, + { + "id": 8, + "name": "depth_strider", + "displayName": "Depth Strider" + }, + { + "id": 9, + "name": "frost_walker", + "displayName": "Frost Walker" + }, + { + "id": 10, + "name": "binding_curse", + "displayName": "Curse of Binding" + }, + { + "id": 16, + "name": "sharpness", + "displayName": "Sharpness" + }, + { + "id": 17, + "name": "smite", + "displayName": "Smite" + }, + { + "id": 18, + "name": "bane_of_arthropods", + "displayName": "Bane of Arthropods" + }, + { + "id": 19, + "name": "knockback", + "displayName": "Knockback" + }, + { + "id": 20, + "name": "fire_aspect", + "displayName": "Fire Aspect" + }, + { + "id": 21, + "name": "looting", + "displayName": "Looting" + }, + { + "id": 22, + "name": "sweeping", + "displayName": "Sweeping Edge" + }, + { + "id": 32, + "name": "efficiency", + "displayName": "Efficiency" + }, + { + "id": 33, + "name": "silk_touch", + "displayName": "Silk Touch" + }, + { + "id": 34, + "name": "unbreaking", + "displayName": "Unbreaking" + }, + { + "id": 35, + "name": "fortune", + "displayName": "Fortune" + }, + { + "id": 48, + "name": "power", + "displayName": "Power" + }, + { + "id": 49, + "name": "punch", + "displayName": "Punch" + }, + { + "id": 50, + "name": "flame", + "displayName": "Flame" + }, + { + "id": 51, + "name": "infinity", + "displayName": "Infinity" + }, + { + "id": 61, + "name": "luck_of_the_sea", + "displayName": "Luck of the Sea" + }, + { + "id": 62, + "name": "lure", + "displayName": "Lure" + }, + { + "id": 70, + "name": "mending", + "displayName": "Mending" + }, + { + "id": 71, + "name": "vanishing_curse", + "displayName": "Curse of Vanishing" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/entities.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/entities.json new file mode 100644 index 00000000..5cd1fcf1 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/entities.json @@ -0,0 +1,1100 @@ +[ + { + "id": 1, + "internalId": 1, + "name": "item", + "displayName": "Dropped item", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Drops" + }, + { + "id": 2, + "internalId": 2, + "name": "xp_orb", + "displayName": "Experience orb", + "type": "mob", + "width": 0.5, + "height": 0.5, + "category": "Drops" + }, + { + "id": 3, + "internalId": 3, + "name": "area_effect_cloud", + "displayName": "Area effect cloud", + "type": "mob", + "width": null, + "height": 0.5, + "category": "Immobile" + }, + { + "id": 4, + "internalId": 4, + "name": "elder_guardian", + "displayName": "Elder guardian", + "type": "mob", + "width": 1.9975, + "height": 1.9975, + "category": "Hostile mobs" + }, + { + "id": 5, + "internalId": 5, + "name": "wither_skeleton", + "displayName": "Wither skeleton", + "type": "mob", + "width": 0.7, + "height": 2.4, + "category": "Hostile mobs" + }, + { + "id": 6, + "internalId": 6, + "name": "stray", + "displayName": "Stray", + "type": "mob", + "width": 0.6, + "height": 1.99, + "category": "Hostile mobs" + }, + { + "id": 7, + "internalId": 7, + "name": "egg", + "displayName": "Thrown egg", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 8, + "internalId": 8, + "name": "leash_knot", + "displayName": "Lead knot", + "type": "mob", + "width": 0.375, + "height": 0.25, + "category": "Immobile" + }, + { + "id": 9, + "internalId": 9, + "name": "painting", + "displayName": "Painting", + "type": "mob", + "width": 0.5, + "height": 0.5, + "category": "Immobile" + }, + { + "id": 10, + "internalId": 10, + "name": "arrow", + "displayName": "Shot arrow", + "type": "mob", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 11, + "internalId": 11, + "name": "snowball", + "displayName": "Thrown snowball", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 12, + "internalId": 12, + "name": "fireball", + "displayName": "Ghast fireball", + "type": "mob", + "width": 1, + "height": 1, + "category": "Projectiles" + }, + { + "id": 13, + "internalId": 13, + "name": "small_fireball", + "displayName": "Blaze fireball", + "type": "mob", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 14, + "internalId": 14, + "name": "ender_pearl", + "displayName": "Thrown ender pearl", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 15, + "internalId": 15, + "name": "eye_of_ender_signal", + "displayName": "Thrown eye of ender", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 16, + "internalId": 16, + "name": "potion", + "displayName": "Thrown splash potion", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 17, + "internalId": 17, + "name": "xp_bottle", + "displayName": "Thrown bottle o' enchanting", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 18, + "internalId": 18, + "name": "item_frame", + "displayName": "Item frame", + "type": "mob", + "width": null, + "height": null, + "category": "Immobile" + }, + { + "id": 19, + "internalId": 19, + "name": "wither_skull", + "displayName": "Wither skull", + "type": "mob", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 20, + "internalId": 20, + "name": "tnt", + "displayName": "Primed TNT", + "type": "mob", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 21, + "internalId": 21, + "name": "falling_block", + "displayName": "Falling block", + "type": "mob", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 22, + "internalId": 22, + "name": "fireworks_rocket", + "displayName": "Firework rocket", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 23, + "internalId": 23, + "name": "husk", + "displayName": "Husk", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 24, + "internalId": 24, + "name": "spectral_arrow", + "displayName": "Shot spectral arrow", + "type": "mob", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 25, + "internalId": 25, + "name": "shulker_bullet", + "displayName": "Shulker bullet", + "type": "mob", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 26, + "internalId": 26, + "name": "dragon_fireball", + "displayName": "Dragon fireball", + "type": "mob", + "width": 1, + "height": 1, + "category": "Projectiles" + }, + { + "id": 27, + "internalId": 27, + "name": "zombie_villager", + "displayName": "Zombie Villager", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 28, + "internalId": 28, + "name": "skeleton_horse", + "displayName": "Skeleton horse", + "type": "mob", + "width": 1.396484, + "height": 1.6, + "category": "Passive mobs" + }, + { + "id": 29, + "internalId": 29, + "name": "zombie_horse", + "displayName": "Zombie horse", + "type": "mob", + "width": 1.396484, + "height": 1.6, + "category": "Passive mobs" + }, + { + "id": 30, + "internalId": 30, + "name": "armor_stand", + "displayName": "Armor stand", + "type": "mob", + "width": 0.5, + "height": 1.7, + "category": "Immobile" + }, + { + "id": 31, + "internalId": 31, + "name": "donkey", + "displayName": "Donkey", + "type": "mob", + "width": 1.396484, + "height": 1.6, + "category": "Passive mobs" + }, + { + "id": 32, + "internalId": 32, + "name": "mule", + "displayName": "Mule", + "type": "mob", + "width": 1.396484, + "height": 1.6, + "category": "Passive mobs" + }, + { + "id": 33, + "internalId": 33, + "name": "evocation_fangs", + "displayName": "Evocation fangs", + "type": "mob", + "width": 0.5, + "height": 0.8, + "category": "Immobile" + }, + { + "id": 34, + "internalId": 34, + "name": "evocation_illager", + "displayName": "Evoker", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 35, + "internalId": 35, + "name": "vex", + "displayName": "Vex", + "type": "mob", + "width": 0.4, + "height": 0.8, + "category": "Hostile mobs" + }, + { + "id": 36, + "internalId": 36, + "name": "vindication_illager", + "displayName": "Vindicator", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 37, + "internalId": 37, + "name": "illusion_illager", + "displayName": "Illusioner", + "type": "mob", + "width": null, + "height": null, + "category": "Hostile mobs" + }, + { + "id": 40, + "internalId": 40, + "name": "commandblock_minecart", + "displayName": "Minecart with command block", + "type": "mob", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 41, + "internalId": 41, + "name": "boat", + "displayName": "Boat", + "type": "mob", + "width": 1.375, + "height": 0.5625, + "category": "Vehicles" + }, + { + "id": 42, + "internalId": 42, + "name": "minecart", + "displayName": "Minecart", + "type": "mob", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 43, + "internalId": 43, + "name": "chest_minecart", + "displayName": "Minecart with chest", + "type": "mob", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 44, + "internalId": 44, + "name": "furnace_minecart", + "displayName": "Minecart with furnace", + "type": "mob", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 45, + "internalId": 45, + "name": "tnt_minecart", + "displayName": "Minecart with TNT", + "type": "mob", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 46, + "internalId": 46, + "name": "hopper_minecart", + "displayName": "Minecart with hopper", + "type": "mob", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 47, + "internalId": 47, + "name": "spawner_minecart", + "displayName": "Minecart with spawner", + "type": "mob", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 50, + "internalId": 50, + "name": "creeper", + "displayName": "Creeper", + "type": "mob", + "width": 0.6, + "height": 1.7, + "category": "Hostile mobs" + }, + { + "id": 51, + "internalId": 51, + "name": "skeleton", + "displayName": "Skeleton", + "type": "mob", + "width": 0.6, + "height": 1.99, + "category": "Hostile mobs" + }, + { + "id": 52, + "internalId": 52, + "name": "spider", + "displayName": "Spider", + "type": "mob", + "width": 1.4, + "height": 0.9, + "category": "Hostile mobs" + }, + { + "id": 53, + "internalId": 53, + "name": "giant", + "displayName": "Giant", + "type": "mob", + "width": 3.5999999999999996, + "height": 10.8, + "category": "Hostile mobs" + }, + { + "id": 54, + "internalId": 54, + "name": "zombie", + "displayName": "Zombie", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 55, + "internalId": 55, + "name": "slime", + "displayName": "Slime", + "type": "mob", + "width": 0.51000005, + "height": 0.51000005, + "category": "Hostile mobs" + }, + { + "id": 56, + "internalId": 56, + "name": "ghast", + "displayName": "Ghast", + "type": "mob", + "width": 4, + "height": 4, + "category": "Hostile mobs" + }, + { + "id": 57, + "internalId": 57, + "name": "zombie_pigman", + "displayName": "Zombie pigman", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 58, + "internalId": 58, + "name": "enderman", + "displayName": "Enderman", + "type": "mob", + "width": 0.6, + "height": 2.9, + "category": "Hostile mobs" + }, + { + "id": 59, + "internalId": 59, + "name": "cave_spider", + "displayName": "Cave spider", + "type": "mob", + "width": 0.7, + "height": 0.5, + "category": "Hostile mobs" + }, + { + "id": 60, + "internalId": 60, + "name": "silverfish", + "displayName": "Silverfish", + "type": "mob", + "width": 0.4, + "height": 0.3, + "category": "Hostile mobs" + }, + { + "id": 61, + "internalId": 61, + "name": "blaze", + "displayName": "Blaze", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 62, + "internalId": 62, + "name": "magma_cube", + "displayName": "Magma cube", + "type": "mob", + "width": 0.51000005, + "height": 0.51000005, + "category": "Hostile mobs" + }, + { + "id": 63, + "internalId": 63, + "name": "ender_dragon", + "displayName": "Ender dragon", + "type": "mob", + "width": 16, + "height": 8, + "category": "Hostile mobs" + }, + { + "id": 64, + "internalId": 64, + "name": "wither", + "displayName": "Wither", + "type": "mob", + "width": 0.9, + "height": 3.5, + "category": "Hostile mobs" + }, + { + "id": 65, + "internalId": 65, + "name": "bat", + "displayName": "Bat", + "type": "mob", + "width": 0.5, + "height": 0.9, + "category": "Passive mobs" + }, + { + "id": 66, + "internalId": 66, + "name": "witch", + "displayName": "Witch", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 67, + "internalId": 67, + "name": "endermite", + "displayName": "Endermite", + "type": "mob", + "width": 0.4, + "height": 0.3, + "category": "Hostile mobs" + }, + { + "id": 68, + "internalId": 68, + "name": "guardian", + "displayName": "Guardian", + "type": "mob", + "width": 0.85, + "height": 0.85, + "category": "Hostile mobs" + }, + { + "id": 69, + "internalId": 69, + "name": "shulker", + "displayName": "Shulker", + "type": "mob", + "width": 1, + "height": 1, + "category": "Hostile mobs" + }, + { + "id": 90, + "internalId": 90, + "name": "pig", + "displayName": "Pig", + "type": "mob", + "width": 0.9, + "height": 0.9, + "category": "Passive mobs" + }, + { + "id": 91, + "internalId": 91, + "name": "sheep", + "displayName": "Sheep", + "type": "mob", + "width": 0.9, + "height": 1.3, + "category": "Passive mobs" + }, + { + "id": 92, + "internalId": 92, + "name": "cow", + "displayName": "Cow", + "type": "mob", + "width": 0.9, + "height": 1.4, + "category": "Passive mobs" + }, + { + "id": 93, + "internalId": 93, + "name": "chicken", + "displayName": "Chicken", + "type": "mob", + "width": 0.4, + "height": 0.7, + "category": "Passive mobs" + }, + { + "id": 94, + "internalId": 94, + "name": "squid", + "displayName": "Squid", + "type": "mob", + "width": 0.8, + "height": 0.8, + "category": "Passive mobs" + }, + { + "id": 95, + "internalId": 95, + "name": "wolf", + "displayName": "Wolf", + "type": "mob", + "width": 0.6, + "height": 0.85, + "category": "Passive mobs" + }, + { + "id": 96, + "internalId": 96, + "name": "mooshroom", + "displayName": "Mooshroom", + "type": "mob", + "width": 0.9, + "height": 1.4, + "category": "Passive mobs" + }, + { + "id": 97, + "internalId": 97, + "name": "snowman", + "displayName": "Snow golem", + "type": "mob", + "width": 0.7, + "height": 1.9, + "category": "Passive mobs" + }, + { + "id": 98, + "internalId": 98, + "name": "ocelot", + "displayName": "Ocelot", + "type": "mob", + "width": 0.6, + "height": 0.7, + "category": "Passive mobs" + }, + { + "id": 99, + "internalId": 99, + "name": "villager_golem", + "displayName": "Iron golem", + "type": "mob", + "width": 1.4, + "height": 2.7, + "category": "Passive mobs" + }, + { + "id": 100, + "internalId": 100, + "name": "horse", + "displayName": "Horse", + "type": "mob", + "width": 1.396484, + "height": 1.6, + "category": "Passive mobs" + }, + { + "id": 101, + "internalId": 101, + "name": "rabbit", + "displayName": "Rabbit", + "type": "mob", + "width": 0.4, + "height": 0.5, + "category": "Passive mobs" + }, + { + "id": 102, + "internalId": 102, + "name": "polar_bear", + "displayName": "Polar bear", + "type": "mob", + "width": 1.3, + "height": 1.4, + "category": "Passive mobs" + }, + { + "id": 103, + "internalId": 103, + "name": "llama", + "displayName": "Llama", + "type": "mob", + "width": 0.9, + "height": 1.87, + "category": "Passive mobs" + }, + { + "id": 104, + "internalId": 104, + "name": "llama_spit", + "displayName": "Llama spit", + "type": "mob", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 105, + "internalId": 105, + "name": "parrot", + "displayName": "Parrot", + "type": "mob", + "width": null, + "height": null, + "category": "Passive mobs" + }, + { + "id": 120, + "internalId": 120, + "name": "villager", + "displayName": "Villager", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Passive mobs" + }, + { + "id": 200, + "internalId": 200, + "name": "ender_crystal", + "displayName": "Ender crystal", + "type": "mob", + "width": 2, + "height": 2, + "category": "Immobile" + }, + { + "id": 1, + "internalId": 41, + "name": "boat", + "displayName": "Boat", + "type": "object", + "width": 1.5, + "height": 0.6, + "category": "Vehicles" + }, + { + "id": 2, + "internalId": 1, + "name": "item", + "displayName": "Dropped item", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Drops" + }, + { + "id": 3, + "internalId": 3, + "name": "area_effect_cloud", + "displayName": "Area effect cloud", + "type": "object", + "width": null, + "height": 0.5, + "category": "Immobile" + }, + { + "id": 10, + "internalId": 42, + "name": "minecart", + "displayName": "Minecart", + "type": "object", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 50, + "internalId": 20, + "name": "tnt", + "displayName": "Primed TNT", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 51, + "internalId": 200, + "name": "ender_crystal", + "displayName": "Ender crystal", + "type": "object", + "width": 2, + "height": 2, + "category": "Immobile" + }, + { + "id": 60, + "internalId": 10, + "name": "arrow", + "displayName": "Shot arrow", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 61, + "internalId": 11, + "name": "snowball", + "displayName": "Thrown snowball", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 62, + "internalId": 7, + "name": "egg", + "displayName": "Thrown egg", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 63, + "internalId": 12, + "name": "fireball", + "displayName": "Ghast fireball", + "type": "object", + "width": 1, + "height": 1, + "category": "Projectiles" + }, + { + "id": 64, + "internalId": 13, + "name": "small_fireball", + "displayName": "Blaze fireball", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 65, + "internalId": 14, + "name": "ender_pearl", + "displayName": "Thrown ender pearl", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 66, + "internalId": 19, + "name": "wither_skull", + "displayName": "Wither skull", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 67, + "internalId": 25, + "name": "shulker_bullet", + "displayName": "Shulker bullet", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 68, + "internalId": 104, + "name": "llama_spit", + "displayName": "Llama spit", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 70, + "internalId": 21, + "name": "falling_block", + "displayName": "Falling block", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 71, + "internalId": 18, + "name": "item_frame", + "displayName": "Item frame", + "type": "object", + "width": null, + "height": null, + "category": "Immobile" + }, + { + "id": 72, + "internalId": 15, + "name": "eye_of_ender_signal", + "displayName": "Thrown eye of ender", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 73, + "internalId": 7, + "name": "egg", + "displayName": "Thrown egg", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 75, + "internalId": 11, + "name": "snowball", + "displayName": "Thrown snowball", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 76, + "internalId": 22, + "name": "fireworks_rocket", + "displayName": "Firework rocket", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 77, + "internalId": 8, + "name": "leash_knot", + "displayName": "Lead knot", + "type": "object", + "width": 0.375, + "height": 0.25, + "category": "Immobile" + }, + { + "id": 78, + "internalId": 30, + "name": "armor_stand", + "displayName": "Armor stand", + "type": "object", + "width": 0.5, + "height": 1.975, + "category": "Immobile" + }, + { + "id": 79, + "internalId": 33, + "name": "evocation_fangs", + "displayName": "Evocation fangs", + "type": "object", + "width": 0.5, + "height": 0.8, + "category": "Immobile" + }, + { + "id": 90, + "name": "Fishing Hook", + "displayName": "Fishing Hook", + "type": "object", + "width": 0.25, + "height": 0.25 + }, + { + "id": 91, + "internalId": 24, + "name": "spectral_arrow", + "displayName": "Shot spectral arrow", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 93, + "internalId": 26, + "name": "dragon_fireball", + "displayName": "Dragon fireball", + "type": "object", + "width": 1, + "height": 1, + "category": "Projectiles" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/foods.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/foods.json new file mode 100644 index 00000000..7fb12453 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/foods.json @@ -0,0 +1,374 @@ +[ + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "stackSize": 64, + "foodPoints": 3, + "saturation": 3.6, + "effectiveQuality": 6.6, + "saturationRatio": 1.2 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.6, + "effectiveQuality": 1.6, + "saturationRatio": 0.6 + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple", + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "porkchop", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop", + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ], + "foodPoints": 4, + "saturation": 9.6, + "effectiveQuality": 13.6, + "saturationRatio": 2.4 + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + }, + { + "metadata": 4, + "displayName": "Cooked Fish" + }, + { + "metadata": 5, + "displayName": "Cooked Salmon" + } + ], + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + }, + { + "metadata": 4, + "displayName": "Cooked Fish" + }, + { + "metadata": 5, + "displayName": "Cooked Salmon" + } + ], + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake", + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie", + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "beef", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "cooked_beef", + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "chicken", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh", + "foodPoints": 4, + "saturation": 0.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.2 + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye", + "foodPoints": 2, + "saturation": 3.2, + "effectiveQuality": 5.2, + "saturationRatio": 1.6 + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot", + "foodPoints": 6, + "saturation": 14.4, + "effectiveQuality": 20.4, + "saturationRatio": 2.4 + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie", + "foodPoints": 8, + "saturation": 4.8, + "effectiveQuality": 12.8, + "saturationRatio": 0.6 + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "rabbit", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew", + "foodPoints": 10, + "saturation": 12, + "effectiveQuality": 22, + "saturationRatio": 1.2 + }, + { + "id": 423, + "displayName": "Raw Mutton", + "stackSize": 64, + "name": "mutton", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 424, + "displayName": "Cooked Mutton", + "stackSize": 64, + "name": "cooked_mutton", + "foodPoints": 6, + "saturation": 9.6, + "effectiveQuality": 15.6, + "saturationRatio": 1.5999999999999999 + }, + { + "id": 432, + "displayName": "Chorus Fruit", + "stackSize": 64, + "name": "chorus_fruit", + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 434, + "displayName": "Beetroot", + "stackSize": 64, + "name": "beetroot", + "foodPoints": 1, + "saturation": 1.2, + "effectiveQuality": 2.2, + "saturationRatio": 1.2 + }, + { + "id": 436, + "displayName": "Beetroot Soup", + "stackSize": 1, + "name": "beetroot_soup", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/instruments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/instruments.json new file mode 100644 index 00000000..08d85d87 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/instruments.json @@ -0,0 +1,42 @@ +[ + { + "id": 0, + "name": "harp" + }, + { + "id": 1, + "name": "doubleBass" + }, + { + "id": 2, + "name": "snareDrum" + }, + { + "id": 3, + "name": "sticks" + }, + { + "id": 4, + "name": "bassDrum" + }, + { + "id": 5, + "name": "xylophone" + }, + { + "id": 6, + "name": "bell" + }, + { + "id": 7, + "name": "guiter" + }, + { + "id": 8, + "name": "chime" + }, + { + "id": 9, + "name": "flute" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/items.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/items.json new file mode 100644 index 00000000..4b6dc7b7 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/items.json @@ -0,0 +1,2838 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 64 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "planks", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Water", + "name": "flowing_water", + "stackSize": 64 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Lava", + "name": "flowing_lava", + "stackSize": 64 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Wood", + "name": "log", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "noteblock", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "golden_rail", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "web", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Grass", + "name": "tallgrass", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "deadbush", + "stackSize": 64 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "stackSize": 64 + }, + { + "id": 34, + "displayName": "Piston Head", + "name": "piston_head", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "stackSize": 64 + }, + { + "id": 36, + "displayName": "Block moved by Piston", + "name": "piston_extension", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "yellow_flower", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Poppy", + "name": "red_flower", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "gold_block", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "iron_block", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "brick_block", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "mossy_cobblestone", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "mob_spawner", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_stairs", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "diamond_block", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "lit_furnace", + "stackSize": 64 + }, + { + "id": 63, + "displayName": "Standing Sign", + "name": "standing_sign", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "stone_stairs", + "stackSize": 64 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "wall_sign", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "lit_redstone_ore", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "unlit_redstone_torch", + "stackSize": 64 + }, + { + "id": 76, + "displayName": "Redstone Torch (active)", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Snow (layer)", + "name": "snow_layer", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "stackSize": 64 + }, + { + "id": 84, + "displayName": "Jukebox", + "name": "jukebox", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Oak Fence", + "name": "fence", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Nether Portal", + "name": "portal", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "lit_pumpkin", + "stackSize": 64 + }, + { + "id": 93, + "displayName": "Redstone Repeater (inactive)", + "name": "unpowered_repeater", + "stackSize": 64 + }, + { + "id": 94, + "displayName": "Redstone Repeater (active)", + "name": "powered_repeater", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "Stained Glass", + "name": "stained_glass", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Stone Bricks", + "name": "stonebrick", + "stackSize": 64 + }, + { + "id": 99, + "displayName": "Brown Mushroom (block)", + "name": "brown_mushroom_block", + "stackSize": 64 + }, + { + "id": 100, + "displayName": "Red Mushroom (block)", + "name": "red_mushroom_block", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vine", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "waterlily", + "stackSize": 64 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchanting_table", + "stackSize": 64 + }, + { + "id": 119, + "displayName": "End Portal", + "name": "end_portal", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 122, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "stackSize": 64 + }, + { + "id": 123, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 124, + "displayName": "Redstone Lamp (active)", + "name": "lit_redstone_lamp", + "stackSize": 64 + }, + { + "id": 125, + "displayName": "Double Wooden Slab", + "name": "double_wooden_slab", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 130, + "displayName": "Ender Chest", + "name": "ender_chest", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "emerald_block", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_stairs", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_stairs", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_stairs", + "stackSize": 64 + }, + { + "id": 137, + "displayName": "Command Block", + "name": "command_block", + "stackSize": 64 + }, + { + "id": 138, + "displayName": "Beacon", + "name": "beacon", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "stackSize": 64 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "light_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 148, + "displayName": "Weighted Pressure Plate (Heavy)", + "name": "heavy_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 149, + "displayName": "Redstone Comparator", + "name": "unpowered_comparator", + "stackSize": 64 + }, + { + "id": 150, + "displayName": "Redstone Comparator (deprecated)", + "name": "powered_comparator", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_detector", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "redstone_block", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "quartz_ore", + "stackSize": 64 + }, + { + "id": 154, + "displayName": "Hopper", + "name": "hopper", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "quartz_block", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_hardened_clay", + "stackSize": 64 + }, + { + "id": 160, + "displayName": "Stained Glass Pane", + "name": "stained_glass_pane", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Leaves (Acacia/Dark Oak)", + "name": "leaves2", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Wood (Acacia/Dark Oak)", + "name": "log2", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_stairs", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_stairs", + "stackSize": 64 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime", + "stackSize": 64 + }, + { + "id": 166, + "displayName": "Barrier", + "name": "barrier", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 168, + "displayName": "Prismarine", + "name": "prismarine", + "stackSize": 64 + }, + { + "id": 169, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_block", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "coal_block", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Large Flowers", + "name": "double_plant", + "stackSize": 64 + }, + { + "id": 176, + "displayName": "Standing Banner", + "name": "standing_banner", + "stackSize": 64 + }, + { + "id": 177, + "displayName": "Wall Banner", + "name": "wall_banner", + "stackSize": 64 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "daylight_detector_inverted", + "stackSize": 64 + }, + { + "id": 179, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "stackSize": 64 + }, + { + "id": 180, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 181, + "displayName": "Double Red Sandstone Slab", + "name": "double_stone_slab2", + "stackSize": 64 + }, + { + "id": 182, + "displayName": "Red Sandstone Slab", + "name": "stone_slab2", + "stackSize": 64 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64 + }, + { + "id": 188, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "stackSize": 64 + }, + { + "id": 189, + "displayName": "Birch Fence", + "name": "birch_fence", + "stackSize": 64 + }, + { + "id": 190, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "stackSize": 64 + }, + { + "id": 191, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "stackSize": 64 + }, + { + "id": 192, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "stackSize": 64 + }, + { + "id": 198, + "displayName": "End Rod", + "name": "end_rod", + "stackSize": 64 + }, + { + "id": 199, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "stackSize": 64 + }, + { + "id": 200, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "stackSize": 64 + }, + { + "id": 201, + "displayName": "Purpur Block", + "name": "purpur_block", + "stackSize": 64 + }, + { + "id": 202, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "stackSize": 64 + }, + { + "id": 203, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "stackSize": 64 + }, + { + "id": 204, + "displayName": "Purpur Double Slab", + "name": "purpur_double_slab", + "stackSize": 64 + }, + { + "id": 205, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "stackSize": 64 + }, + { + "id": 206, + "displayName": "End Stone Bricks", + "name": "end_bricks", + "stackSize": 64 + }, + { + "id": 207, + "displayName": "Beetroot Seeds", + "name": "beetroots", + "stackSize": 64 + }, + { + "id": 208, + "displayName": "Grass Path", + "name": "grass_path", + "stackSize": 64 + }, + { + "id": 209, + "displayName": "End Gateway", + "name": "end_gateway", + "stackSize": 64 + }, + { + "id": 210, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "stackSize": 64 + }, + { + "id": 211, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "stackSize": 64 + }, + { + "id": 212, + "displayName": "Frosted Ice", + "name": "frosted_ice", + "stackSize": 64 + }, + { + "id": 213, + "displayName": "Magma Block", + "name": "magma", + "stackSize": 64 + }, + { + "id": 214, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "stackSize": 64 + }, + { + "id": 215, + "displayName": "Red Nether Brick", + "name": "red_nether_brick", + "stackSize": 64 + }, + { + "id": 216, + "displayName": "Bone Block", + "name": "bone_block", + "stackSize": 64 + }, + { + "id": 217, + "displayName": "Structure Void", + "name": "structure_void", + "stackSize": 64 + }, + { + "id": 218, + "displayName": "Observer", + "name": "observer", + "stackSize": 64 + }, + { + "id": 219, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "stackSize": 64 + }, + { + "id": 220, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "stackSize": 64 + }, + { + "id": 221, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "stackSize": 64 + }, + { + "id": 222, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "stackSize": 64 + }, + { + "id": 223, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "stackSize": 64 + }, + { + "id": 224, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "stackSize": 64 + }, + { + "id": 225, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "stackSize": 64 + }, + { + "id": 226, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "stackSize": 64 + }, + { + "id": 227, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "stackSize": 64 + }, + { + "id": 228, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "stackSize": 64 + }, + { + "id": 229, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "stackSize": 64 + }, + { + "id": 230, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "stackSize": 64 + }, + { + "id": 231, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "stackSize": 64 + }, + { + "id": 232, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "stackSize": 64 + }, + { + "id": 233, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "stackSize": 64 + }, + { + "id": 234, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "stackSize": 64 + }, + { + "id": 235, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 236, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 237, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 238, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 239, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 240, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 241, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 242, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 243, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 244, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 245, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 246, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 247, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 248, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 249, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 250, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 251, + "displayName": "Concrete", + "name": "concrete", + "stackSize": 64 + }, + { + "id": 252, + "displayName": "Concrete Powder", + "name": "concrete_powder", + "stackSize": 64 + }, + { + "id": 255, + "displayName": "Structure Block", + "name": "structure_block", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Iron Shovel", + "stackSize": 1, + "name": "iron_shovel" + }, + { + "id": 257, + "displayName": "Iron Pickaxe", + "stackSize": 1, + "name": "iron_pickaxe" + }, + { + "id": 258, + "displayName": "Iron Axe", + "stackSize": 1, + "name": "iron_axe" + }, + { + "id": 259, + "displayName": "Flint and Steel", + "stackSize": 1, + "name": "flint_and_steel" + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple" + }, + { + "id": 261, + "displayName": "Bow", + "stackSize": 1, + "name": "bow" + }, + { + "id": 262, + "displayName": "Arrow", + "stackSize": 64, + "name": "arrow" + }, + { + "id": 263, + "displayName": "Coal", + "stackSize": 64, + "name": "coal", + "variations": [ + { + "metadata": 0, + "displayName": "Coal" + }, + { + "metadata": 1, + "displayName": "Charcoal" + } + ] + }, + { + "id": 264, + "displayName": "Diamond", + "stackSize": 64, + "name": "diamond" + }, + { + "id": 265, + "displayName": "Iron Ingot", + "stackSize": 64, + "name": "iron_ingot" + }, + { + "id": 266, + "displayName": "Gold Ingot", + "stackSize": 64, + "name": "gold_ingot" + }, + { + "id": 267, + "displayName": "Iron Sword", + "stackSize": 1, + "name": "iron_sword" + }, + { + "id": 268, + "displayName": "Wooden Sword", + "stackSize": 1, + "name": "wooden_sword" + }, + { + "id": 269, + "displayName": "Wooden Shovel", + "stackSize": 1, + "name": "wooden_shovel" + }, + { + "id": 270, + "displayName": "Wooden Pickaxe", + "stackSize": 1, + "name": "wooden_pickaxe" + }, + { + "id": 271, + "displayName": "Wooden Axe", + "stackSize": 1, + "name": "wooden_axe" + }, + { + "id": 272, + "displayName": "Stone Sword", + "stackSize": 1, + "name": "stone_sword" + }, + { + "id": 273, + "displayName": "Stone Shovel", + "stackSize": 1, + "name": "stone_shovel" + }, + { + "id": 274, + "displayName": "Stone Pickaxe", + "stackSize": 1, + "name": "stone_pickaxe" + }, + { + "id": 275, + "displayName": "Stone Axe", + "stackSize": 1, + "name": "stone_axe" + }, + { + "id": 276, + "displayName": "Diamond Sword", + "stackSize": 1, + "name": "diamond_sword" + }, + { + "id": 277, + "displayName": "Diamond Shovel", + "stackSize": 1, + "name": "diamond_shovel" + }, + { + "id": 278, + "displayName": "Diamond Pickaxe", + "stackSize": 1, + "name": "diamond_pickaxe" + }, + { + "id": 279, + "displayName": "Diamond Axe", + "stackSize": 1, + "name": "diamond_axe" + }, + { + "id": 280, + "displayName": "Stick", + "stackSize": 64, + "name": "stick" + }, + { + "id": 281, + "displayName": "Bowl", + "stackSize": 64, + "name": "bowl" + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew" + }, + { + "id": 283, + "displayName": "Golden Sword", + "stackSize": 1, + "name": "golden_sword" + }, + { + "id": 284, + "displayName": "Golden Shovel", + "stackSize": 1, + "name": "golden_shovel" + }, + { + "id": 285, + "displayName": "Golden Pickaxe", + "stackSize": 1, + "name": "golden_pickaxe" + }, + { + "id": 286, + "displayName": "Golden Axe", + "stackSize": 1, + "name": "golden_axe" + }, + { + "id": 287, + "displayName": "String", + "stackSize": 64, + "name": "string" + }, + { + "id": 288, + "displayName": "Feather", + "stackSize": 64, + "name": "feather" + }, + { + "id": 289, + "displayName": "Gunpowder", + "stackSize": 64, + "name": "gunpowder" + }, + { + "id": 290, + "displayName": "Wooden Hoe", + "stackSize": 1, + "name": "wooden_hoe" + }, + { + "id": 291, + "displayName": "Stone Hoe", + "stackSize": 1, + "name": "stone_hoe" + }, + { + "id": 292, + "displayName": "Iron Hoe", + "stackSize": 1, + "name": "iron_hoe" + }, + { + "id": 293, + "displayName": "Diamond Hoe", + "stackSize": 1, + "name": "diamond_hoe" + }, + { + "id": 294, + "displayName": "Golden Hoe", + "stackSize": 1, + "name": "golden_hoe" + }, + { + "id": 295, + "displayName": "Seeds", + "stackSize": 64, + "name": "wheat_seeds" + }, + { + "id": 296, + "displayName": "Wheat", + "stackSize": 64, + "name": "wheat" + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread" + }, + { + "id": 298, + "displayName": "Leather Cap", + "stackSize": 1, + "name": "leather_helmet" + }, + { + "id": 299, + "displayName": "Leather Tunic", + "stackSize": 1, + "name": "leather_chestplate" + }, + { + "id": 300, + "displayName": "Leather Pants", + "stackSize": 1, + "name": "leather_leggings" + }, + { + "id": 301, + "displayName": "Leather Boots", + "stackSize": 1, + "name": "leather_boots" + }, + { + "id": 302, + "displayName": "Chain Helmet", + "stackSize": 1, + "name": "chainmail_helmet" + }, + { + "id": 303, + "displayName": "Chain Chestplate", + "stackSize": 1, + "name": "chainmail_chestplate" + }, + { + "id": 304, + "displayName": "Chain Leggings", + "stackSize": 1, + "name": "chainmail_leggings" + }, + { + "id": 305, + "displayName": "Chain Boots", + "stackSize": 1, + "name": "chainmail_boots" + }, + { + "id": 306, + "displayName": "Iron Helmet", + "stackSize": 1, + "name": "iron_helmet" + }, + { + "id": 307, + "displayName": "Iron Chestplate", + "stackSize": 1, + "name": "iron_chestplate" + }, + { + "id": 308, + "displayName": "Iron Leggings", + "stackSize": 1, + "name": "iron_leggings" + }, + { + "id": 309, + "displayName": "Iron Boots", + "stackSize": 1, + "name": "iron_boots" + }, + { + "id": 310, + "displayName": "Diamond Helmet", + "stackSize": 1, + "name": "diamond_helmet" + }, + { + "id": 311, + "displayName": "Diamond Chestplate", + "stackSize": 1, + "name": "diamond_chestplate" + }, + { + "id": 312, + "displayName": "Diamond Leggings", + "stackSize": 1, + "name": "diamond_leggings" + }, + { + "id": 313, + "displayName": "Diamond Boots", + "stackSize": 1, + "name": "diamond_boots" + }, + { + "id": 314, + "displayName": "Golden Helmet", + "stackSize": 1, + "name": "golden_helmet" + }, + { + "id": 315, + "displayName": "Golden Chestplate", + "stackSize": 1, + "name": "golden_chestplate" + }, + { + "id": 316, + "displayName": "Golden Leggings", + "stackSize": 1, + "name": "golden_leggings" + }, + { + "id": 317, + "displayName": "Golden Boots", + "stackSize": 1, + "name": "golden_boots" + }, + { + "id": 318, + "displayName": "Flint", + "stackSize": 64, + "name": "flint" + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "porkchop" + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop" + }, + { + "id": 321, + "displayName": "Painting", + "stackSize": 64, + "name": "painting" + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ] + }, + { + "id": 323, + "displayName": "Sign", + "stackSize": 16, + "name": "sign" + }, + { + "id": 324, + "displayName": "Oak Door", + "stackSize": 64, + "name": "wooden_door" + }, + { + "id": 325, + "displayName": "Bucket", + "stackSize": 16, + "name": "bucket" + }, + { + "id": 326, + "displayName": "Water Bucket", + "stackSize": 1, + "name": "water_bucket" + }, + { + "id": 327, + "displayName": "Lava Bucket", + "stackSize": 1, + "name": "lava_bucket" + }, + { + "id": 328, + "displayName": "Minecart", + "stackSize": 1, + "name": "minecart" + }, + { + "id": 329, + "displayName": "Saddle", + "stackSize": 1, + "name": "saddle" + }, + { + "id": 330, + "displayName": "Iron Door", + "stackSize": 64, + "name": "iron_door" + }, + { + "id": 331, + "displayName": "Redstone", + "stackSize": 64, + "name": "redstone" + }, + { + "id": 332, + "displayName": "Snowball", + "stackSize": 16, + "name": "snowball" + }, + { + "id": 333, + "displayName": "Boat", + "stackSize": 1, + "name": "boat" + }, + { + "id": 334, + "displayName": "Leather", + "stackSize": 64, + "name": "leather" + }, + { + "id": 335, + "displayName": "Milk", + "stackSize": 1, + "name": "milk_bucket" + }, + { + "id": 336, + "displayName": "Brick", + "stackSize": 64, + "name": "brick" + }, + { + "id": 337, + "displayName": "Clay", + "stackSize": 64, + "name": "clay_ball" + }, + { + "id": 338, + "displayName": "Sugar Cane", + "stackSize": 64, + "name": "reeds" + }, + { + "id": 339, + "displayName": "Paper", + "stackSize": 64, + "name": "paper" + }, + { + "id": 340, + "displayName": "Book", + "stackSize": 64, + "name": "book" + }, + { + "id": 341, + "displayName": "Slimeball", + "stackSize": 64, + "name": "slime_ball" + }, + { + "id": 342, + "displayName": "Minecart with Chest", + "stackSize": 1, + "name": "chest_minecart" + }, + { + "id": 343, + "displayName": "Minecart with Furnace", + "stackSize": 1, + "name": "furnace_minecart" + }, + { + "id": 344, + "displayName": "Egg", + "stackSize": 16, + "name": "egg" + }, + { + "id": 345, + "displayName": "Compass", + "stackSize": 64, + "name": "compass" + }, + { + "id": 346, + "displayName": "Fishing Rod", + "stackSize": 1, + "name": "fishing_rod" + }, + { + "id": 347, + "displayName": "Clock", + "stackSize": 64, + "name": "clock" + }, + { + "id": 348, + "displayName": "Glowstone Dust", + "stackSize": 64, + "name": "glowstone_dust" + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + }, + { + "metadata": 4, + "displayName": "Cooked Fish" + }, + { + "metadata": 5, + "displayName": "Cooked Salmon" + } + ] + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + }, + { + "metadata": 4, + "displayName": "Cooked Fish" + }, + { + "metadata": 5, + "displayName": "Cooked Salmon" + } + ] + }, + { + "id": 351, + "displayName": "Dye", + "stackSize": 64, + "name": "dye", + "variations": [ + { + "metadata": 0, + "displayName": "Ink Sac" + }, + { + "metadata": 1, + "displayName": "Rose Red" + }, + { + "metadata": 2, + "displayName": "Cactus Green" + }, + { + "metadata": 3, + "displayName": "Cocoa Beans" + }, + { + "metadata": 4, + "displayName": "Lapis Lazuli" + }, + { + "metadata": 5, + "displayName": "Purple Dye" + }, + { + "metadata": 6, + "displayName": "Cyan Dye" + }, + { + "metadata": 7, + "displayName": "Light Gray Dye" + }, + { + "metadata": 8, + "displayName": "Gray Dye" + }, + { + "metadata": 9, + "displayName": "Pink Dye" + }, + { + "metadata": 10, + "displayName": "Lime Dye" + }, + { + "metadata": 11, + "displayName": "Dandelion Yellow" + }, + { + "metadata": 12, + "displayName": "Light Blue Dye" + }, + { + "metadata": 13, + "displayName": "Magenta Dye" + }, + { + "metadata": 14, + "displayName": "Orange Dye" + }, + { + "metadata": 15, + "displayName": "Bone Meal" + } + ] + }, + { + "id": 352, + "displayName": "Bone", + "stackSize": 64, + "name": "bone" + }, + { + "id": 353, + "displayName": "Sugar", + "stackSize": 64, + "name": "sugar" + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake" + }, + { + "id": 355, + "displayName": "Bed", + "stackSize": 1, + "name": "bed" + }, + { + "id": 356, + "displayName": "Redstone Repeater", + "stackSize": 64, + "name": "repeater" + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie" + }, + { + "id": 358, + "displayName": "Map", + "stackSize": 64, + "name": "filled_map" + }, + { + "id": 359, + "displayName": "Shears", + "stackSize": 1, + "name": "shears" + }, + { + "id": 360, + "displayName": "Melon", + "stackSize": 64, + "name": "melon" + }, + { + "id": 361, + "displayName": "Pumpkin Seeds", + "stackSize": 64, + "name": "pumpkin_seeds" + }, + { + "id": 362, + "displayName": "Melon Seeds", + "stackSize": 64, + "name": "melon_seeds" + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "beef" + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "cooked_beef" + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "chicken" + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken" + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh" + }, + { + "id": 368, + "displayName": "Ender Pearl", + "stackSize": 16, + "name": "ender_pearl" + }, + { + "id": 369, + "displayName": "Blaze Rod", + "stackSize": 64, + "name": "blaze_rod" + }, + { + "id": 370, + "displayName": "Ghast Tear", + "stackSize": 64, + "name": "ghast_tear" + }, + { + "id": 371, + "displayName": "Gold Nugget", + "stackSize": 64, + "name": "gold_nugget" + }, + { + "id": 372, + "displayName": "Nether Wart", + "stackSize": 64, + "name": "nether_wart" + }, + { + "id": 373, + "displayName": "Potion", + "stackSize": 1, + "name": "potion" + }, + { + "id": 374, + "displayName": "Glass Bottle", + "stackSize": 64, + "name": "glass_bottle" + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye" + }, + { + "id": 376, + "displayName": "Fermented Spider Eye", + "stackSize": 64, + "name": "fermented_spider_eye" + }, + { + "id": 377, + "displayName": "Blaze Powder", + "stackSize": 64, + "name": "blaze_powder" + }, + { + "id": 378, + "displayName": "Magma Cream", + "stackSize": 64, + "name": "magma_cream" + }, + { + "id": 379, + "displayName": "Brewing Stand", + "stackSize": 64, + "name": "brewing_stand" + }, + { + "id": 380, + "displayName": "Cauldron", + "stackSize": 64, + "name": "cauldron" + }, + { + "id": 381, + "displayName": "Eye of Ender", + "stackSize": 64, + "name": "ender_eye" + }, + { + "id": 382, + "displayName": "Glistering Melon", + "stackSize": 64, + "name": "speckled_melon" + }, + { + "id": 383, + "displayName": "Spawn Egg", + "stackSize": 64, + "name": "spawn_egg" + }, + { + "id": 384, + "displayName": "Bottle o' Enchanting", + "stackSize": 64, + "name": "experience_bottle" + }, + { + "id": 385, + "displayName": "Fire Charge", + "stackSize": 64, + "name": "fire_charge" + }, + { + "id": 386, + "displayName": "Book and Quill", + "stackSize": 1, + "name": "writable_book" + }, + { + "id": 387, + "displayName": "Written Book", + "stackSize": 16, + "name": "written_book" + }, + { + "id": 388, + "displayName": "Emerald", + "stackSize": 64, + "name": "emerald" + }, + { + "id": 389, + "displayName": "Item Frame", + "stackSize": 64, + "name": "item_frame" + }, + { + "id": 390, + "displayName": "Flower Pot", + "stackSize": 64, + "name": "flower_pot" + }, + { + "id": 391, + "displayName": "Carrot", + "stackSize": 64, + "name": "carrot" + }, + { + "id": 392, + "displayName": "Potato", + "stackSize": 64, + "name": "potato" + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato" + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato" + }, + { + "id": 395, + "displayName": "Empty Map", + "stackSize": 64, + "name": "map" + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot" + }, + { + "id": 397, + "displayName": "Mob head", + "stackSize": 64, + "name": "skull", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ] + }, + { + "id": 398, + "displayName": "Carrot on a Stick", + "stackSize": 1, + "name": "carrot_on_a_stick" + }, + { + "id": 399, + "displayName": "Nether Star", + "stackSize": 64, + "name": "nether_star" + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie" + }, + { + "id": 401, + "displayName": "Firework Rocket", + "stackSize": 64, + "name": "fireworks" + }, + { + "id": 402, + "displayName": "Firework Star", + "stackSize": 64, + "name": "firework_charge" + }, + { + "id": 403, + "displayName": "Enchanted Book", + "stackSize": 1, + "name": "enchanted_book" + }, + { + "id": 404, + "displayName": "Redstone Comparator", + "stackSize": 64, + "name": "comparator" + }, + { + "id": 405, + "displayName": "Nether Brick", + "stackSize": 64, + "name": "netherbrick" + }, + { + "id": 406, + "displayName": "Nether Quartz", + "stackSize": 64, + "name": "quartz" + }, + { + "id": 407, + "displayName": "Minecart with TNT", + "stackSize": 1, + "name": "tnt_minecart" + }, + { + "id": 408, + "displayName": "Minecart with Hopper", + "stackSize": 1, + "name": "hopper_minecart" + }, + { + "id": 409, + "displayName": "Prismarine Shard", + "stackSize": 64, + "name": "prismarine_shard" + }, + { + "id": 410, + "displayName": "Prismarine Crystals", + "stackSize": 64, + "name": "prismarine_crystals" + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "rabbit" + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit" + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew" + }, + { + "id": 414, + "displayName": "Rabbit's Foot", + "stackSize": 64, + "name": "rabbit_foot" + }, + { + "id": 415, + "displayName": "Rabbit Hide", + "stackSize": 64, + "name": "rabbit_hide" + }, + { + "id": 416, + "displayName": "Armor Stand", + "stackSize": 16, + "name": "armor_stand" + }, + { + "id": 417, + "displayName": "Iron Horse Armor", + "stackSize": 1, + "name": "iron_horse_armor" + }, + { + "id": 418, + "displayName": "Golden Horse Armor", + "stackSize": 1, + "name": "golden_horse_armor" + }, + { + "id": 419, + "displayName": "Diamond Horse Armor", + "stackSize": 1, + "name": "diamond_horse_armor" + }, + { + "id": 420, + "displayName": "Lead", + "stackSize": 64, + "name": "lead" + }, + { + "id": 421, + "displayName": "Name Tag", + "stackSize": 64, + "name": "name_tag" + }, + { + "id": 422, + "displayName": "Minecart with Command Block", + "stackSize": 1, + "name": "command_block_minecart" + }, + { + "id": 423, + "displayName": "Raw Mutton", + "stackSize": 64, + "name": "mutton" + }, + { + "id": 424, + "displayName": "Cooked Mutton", + "stackSize": 64, + "name": "cooked_mutton" + }, + { + "id": 425, + "displayName": "Banner", + "stackSize": 16, + "name": "banner" + }, + { + "id": 426, + "displayName": "End Crystal", + "stackSize": 64, + "name": "end_crystal" + }, + { + "id": 427, + "displayName": "Spruce Door", + "stackSize": 64, + "name": "spruce_door" + }, + { + "id": 428, + "displayName": "Birch Door", + "stackSize": 64, + "name": "birch_door" + }, + { + "id": 429, + "displayName": "Jungle Door", + "stackSize": 64, + "name": "jungle_door" + }, + { + "id": 430, + "displayName": "Acacia Door", + "stackSize": 64, + "name": "acacia_door" + }, + { + "id": 431, + "displayName": "Dark Oak Door", + "stackSize": 64, + "name": "dark_oak_door" + }, + { + "id": 432, + "displayName": "Chorus Fruit", + "stackSize": 64, + "name": "chorus_fruit" + }, + { + "id": 433, + "displayName": "Popped Chorus Fruit", + "stackSize": 64, + "name": "chorus_fruit_popped" + }, + { + "id": 434, + "displayName": "Beetroot", + "stackSize": 64, + "name": "beetroot" + }, + { + "id": 435, + "displayName": "Beetroot Seeds", + "stackSize": 64, + "name": "beetroot_seeds" + }, + { + "id": 436, + "displayName": "Beetroot Soup", + "stackSize": 1, + "name": "beetroot_soup" + }, + { + "id": 437, + "displayName": "Dragon's Breath", + "stackSize": 64, + "name": "dragon_breath" + }, + { + "id": 438, + "displayName": "Splash Potion", + "stackSize": 1, + "name": "splash_potion" + }, + { + "id": 439, + "displayName": "Spectral Arrow", + "stackSize": 64, + "name": "spectral_arrow" + }, + { + "id": 440, + "displayName": "Tipped Arrow", + "stackSize": 64, + "name": "tipped_arrow" + }, + { + "id": 441, + "displayName": "Lingering Potion", + "stackSize": 1, + "name": "lingering_potion" + }, + { + "id": 442, + "displayName": "Shield", + "stackSize": 1, + "name": "shield" + }, + { + "id": 443, + "displayName": "Elytra", + "stackSize": 1, + "name": "elytra" + }, + { + "id": 444, + "displayName": "Spruce Boat", + "stackSize": 1, + "name": "spruce_boat" + }, + { + "id": 445, + "displayName": "Birch Boat", + "stackSize": 1, + "name": "birch_boat" + }, + { + "id": 446, + "displayName": "Jungle Boat", + "stackSize": 1, + "name": "jungle_boat" + }, + { + "id": 447, + "displayName": "Acacia Boat", + "stackSize": 1, + "name": "acacia_boat" + }, + { + "id": 448, + "displayName": "Dark Oak Boat", + "stackSize": 1, + "name": "dark_oak_boat" + }, + { + "id": 449, + "displayName": "Totem of Undying", + "stackSize": 1, + "name": "totem_of_undying" + }, + { + "id": 450, + "displayName": "Shulker Shell", + "stackSize": 64, + "name": "shulker_shell" + }, + { + "id": 452, + "displayName": "Iron Nugget", + "stackSize": 64, + "name": "iron_nugget" + }, + { + "id": 2256, + "displayName": "13 Disc", + "stackSize": 1, + "name": "record_13" + }, + { + "id": 2257, + "displayName": "Cat Disc", + "stackSize": 1, + "name": "record_cat" + }, + { + "id": 2258, + "displayName": "Blocks Disc", + "stackSize": 1, + "name": "record_blocks" + }, + { + "id": 2259, + "displayName": "Chirp Disc", + "stackSize": 1, + "name": "record_chirp" + }, + { + "id": 2260, + "displayName": "Far Disc", + "stackSize": 1, + "name": "record_far" + }, + { + "id": 2261, + "displayName": "Mall Disc", + "stackSize": 1, + "name": "record_mall" + }, + { + "id": 2262, + "displayName": "Mellohi Disc", + "stackSize": 1, + "name": "record_mellohi" + }, + { + "id": 2263, + "displayName": "Stal Disc", + "stackSize": 1, + "name": "record_stal" + }, + { + "id": 2264, + "displayName": "Strad Disc", + "stackSize": 1, + "name": "record_strad" + }, + { + "id": 2265, + "displayName": "Ward Disc", + "stackSize": 1, + "name": "record_ward" + }, + { + "id": 2266, + "displayName": "11 Disc", + "stackSize": 1, + "name": "record_11" + }, + { + "id": 2267, + "displayName": "Wait Disc", + "stackSize": 1, + "name": "record_wait" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/language.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/language.json new file mode 100644 index 00000000..0ffc040c --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/language.json @@ -0,0 +1,3303 @@ +{ + "language.name": "English", + "language.region": "United States", + "language.code": "en_us", + "gui.done": "Done", + "gui.cancel": "Cancel", + "gui.back": "Back", + "gui.toTitle": "Back to title screen", + "gui.toMenu": "Back to server list", + "gui.up": "Up", + "gui.down": "Down", + "gui.yes": "Yes", + "gui.no": "No", + "gui.none": "None", + "gui.all": "All", + "gui.recipebook.moreRecipes": "Right Click for more", + "gui.recipebook.toggleRecipes.all": "Showing all", + "gui.recipebook.toggleRecipes.craftable": "Showing craftable", + "translation.test.none": "Hello, world!", + "translation.test.complex": "Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!", + "translation.test.escape": "%%s %%%s %%%%s %%%%%s", + "translation.test.invalid": "hi %", + "translation.test.invalid2": "hi % s", + "translation.test.args": "%s %s", + "translation.test.world": "world", + "menu.game": "Game Menu", + "menu.singleplayer": "Singleplayer", + "menu.multiplayer": "Multiplayer", + "menu.online": "Minecraft Realms", + "menu.options": "Options...", + "menu.quit": "Quit Game", + "menu.returnToMenu": "Save and Quit to Title", + "menu.disconnect": "Disconnect", + "menu.returnToGame": "Back to Game", + "menu.generatingLevel": "Generating world", + "menu.loadingLevel": "Loading world", + "menu.generatingTerrain": "Building terrain", + "menu.convertingLevel": "Converting world", + "menu.respawning": "Respawning", + "menu.shareToLan": "Open to LAN", + "selectWorld.title": "Select World", + "selectWorld.empty": "empty", + "selectWorld.world": "World", + "selectWorld.select": "Play Selected World", + "selectWorld.create": "Create New World", + "selectWorld.recreate": "Re-Create", + "selectWorld.createDemo": "Play New Demo World", + "selectWorld.delete": "Delete", + "selectWorld.edit": "Edit", + "selectWorld.edit.title": "Edit World", + "selectWorld.edit.resetIcon": "Reset Icon", + "selectWorld.edit.openFolder": "Open Folder", + "selectWorld.edit.save": "Save World", + "selectWorld.deleteQuestion": "Are you sure you want to delete this world?", + "selectWorld.deleteWarning": "will be lost forever! (A long time!)", + "selectWorld.deleteButton": "Delete", + "selectWorld.conversion": "Must be converted!", + "selectWorld.newWorld": "New World", + "selectWorld.newWorld.copyOf": "Copy of %s", + "selectWorld.enterName": "World Name", + "selectWorld.resultFolder": "Will be saved in:", + "selectWorld.enterSeed": "Seed for the world generator", + "selectWorld.seedInfo": "Leave blank for a random seed", + "selectWorld.cheats": "Cheats", + "selectWorld.customizeType": "Customize", + "selectWorld.version": "Version:", + "selectWorld.versionUnknown": "unknown", + "selectWorld.versionQuestion": "Do you really want to load this world?", + "selectWorld.versionWarning": "This world was saved in version '%s' and loading it in this version could cause corruption!", + "selectWorld.versionJoinButton": "Use Anyway", + "selectWorld.tooltip.fromNewerVersion1": "World was saved in a newer version,", + "selectWorld.tooltip.fromNewerVersion2": "loading this world could cause problems!", + "selectWorld.tooltip.snapshot1": "Don't forget to backup this world", + "selectWorld.tooltip.snapshot2": "before you load it in this snapshot.", + "selectWorld.unable_to_load": "Unable to load worlds", + "selectWorld.load_folder_access": "Unable to read or access folder where game worlds are saved!", + "createWorld.customize.presets": "Presets", + "createWorld.customize.presets.title": "Select a Preset", + "createWorld.customize.presets.select": "Use Preset", + "createWorld.customize.presets.share": "Want to share your preset with someone? Use the below box!", + "createWorld.customize.presets.list": "Alternatively, here's some we made earlier!", + "createWorld.customize.flat.title": "Superflat Customization", + "createWorld.customize.flat.tile": "Layer Material", + "createWorld.customize.flat.height": "Height", + "createWorld.customize.flat.addLayer": "Add Layer", + "createWorld.customize.flat.editLayer": "Edit Layer", + "createWorld.customize.flat.removeLayer": "Remove Layer", + "createWorld.customize.flat.layer.top": "Top - %s", + "createWorld.customize.flat.layer": "%s", + "createWorld.customize.flat.layer.bottom": "Bottom - %s", + "createWorld.customize.preset.classic_flat": "Classic Flat", + "createWorld.customize.preset.tunnelers_dream": "Tunnelers' Dream", + "createWorld.customize.preset.water_world": "Water World", + "createWorld.customize.preset.overworld": "Overworld", + "createWorld.customize.preset.snowy_kingdom": "Snowy Kingdom", + "createWorld.customize.preset.bottomless_pit": "Bottomless Pit", + "createWorld.customize.preset.desert": "Desert", + "createWorld.customize.preset.redstone_ready": "Redstone Ready", + "createWorld.customize.preset.the_void": "The Void", + "createWorld.customize.custom.page0": "Basic Settings", + "createWorld.customize.custom.page1": "Ore Settings", + "createWorld.customize.custom.page2": "Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.page3": "Extra Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.randomize": "Randomize", + "createWorld.customize.custom.prev": "Previous Page", + "createWorld.customize.custom.next": "Next Page", + "createWorld.customize.custom.defaults": "Defaults", + "createWorld.customize.custom.confirm1": "This will overwrite your current", + "createWorld.customize.custom.confirm2": "settings and cannot be undone.", + "createWorld.customize.custom.confirmTitle": "Warning!", + "createWorld.customize.custom.mainNoiseScaleX": "Main Noise Scale X", + "createWorld.customize.custom.mainNoiseScaleY": "Main Noise Scale Y", + "createWorld.customize.custom.mainNoiseScaleZ": "Main Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleX": "Depth Noise Scale X", + "createWorld.customize.custom.depthNoiseScaleZ": "Depth Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleExponent": "Depth Noise Exponent", + "createWorld.customize.custom.baseSize": "Depth Base Size", + "createWorld.customize.custom.coordinateScale": "Coordinate Scale", + "createWorld.customize.custom.heightScale": "Height Scale", + "createWorld.customize.custom.stretchY": "Height Stretch", + "createWorld.customize.custom.upperLimitScale": "Upper Limit Scale", + "createWorld.customize.custom.lowerLimitScale": "Lower Limit Scale", + "createWorld.customize.custom.biomeDepthWeight": "Biome Depth Weight", + "createWorld.customize.custom.biomeDepthOffset": "Biome Depth Offset", + "createWorld.customize.custom.biomeScaleWeight": "Biome Scale Weight", + "createWorld.customize.custom.biomeScaleOffset": "Biome Scale Offset", + "createWorld.customize.custom.seaLevel": "Sea Level", + "createWorld.customize.custom.useCaves": "Caves", + "createWorld.customize.custom.useStrongholds": "Strongholds", + "createWorld.customize.custom.useVillages": "Villages", + "createWorld.customize.custom.useMineShafts": "Mineshafts", + "createWorld.customize.custom.useTemples": "Temples", + "createWorld.customize.custom.useMonuments": "Ocean Monuments", + "createWorld.customize.custom.useMansions": "Woodland Mansions", + "createWorld.customize.custom.useRavines": "Ravines", + "createWorld.customize.custom.useDungeons": "Dungeons", + "createWorld.customize.custom.dungeonChance": "Dungeon Count", + "createWorld.customize.custom.useWaterLakes": "Water Lakes", + "createWorld.customize.custom.waterLakeChance": "Water Lake Rarity", + "createWorld.customize.custom.useLavaLakes": "Lava Lakes", + "createWorld.customize.custom.lavaLakeChance": "Lava Lake Rarity", + "createWorld.customize.custom.useLavaOceans": "Lava Oceans", + "createWorld.customize.custom.fixedBiome": "Biome", + "createWorld.customize.custom.biomeSize": "Biome Size", + "createWorld.customize.custom.riverSize": "River Size", + "createWorld.customize.custom.size": "Spawn Size", + "createWorld.customize.custom.count": "Spawn Tries", + "createWorld.customize.custom.minHeight": "Min. Height", + "createWorld.customize.custom.maxHeight": "Max. Height", + "createWorld.customize.custom.center": "Center Height", + "createWorld.customize.custom.spread": "Spread Height", + "createWorld.customize.custom.presets.title": "Customize World Presets", + "createWorld.customize.custom.presets": "Presets", + "createWorld.customize.custom.preset.waterWorld": "Water World", + "createWorld.customize.custom.preset.isleLand": "Isle Land", + "createWorld.customize.custom.preset.caveDelight": "Caver's Delight", + "createWorld.customize.custom.preset.mountains": "Mountain Madness", + "createWorld.customize.custom.preset.drought": "Drought", + "createWorld.customize.custom.preset.caveChaos": "Caves of Chaos", + "createWorld.customize.custom.preset.goodLuck": "Good Luck", + "gameMode.survival": "Survival Mode", + "gameMode.creative": "Creative Mode", + "gameMode.adventure": "Adventure Mode", + "gameMode.spectator": "Spectator Mode", + "gameMode.hardcore": "Hardcore Mode!", + "gameMode.changed": "Your game mode has been updated to %s", + "spectatorMenu.previous_page": "Previous Page", + "spectatorMenu.next_page": "Next Page", + "spectatorMenu.close": "Close Menu", + "spectatorMenu.teleport": "Teleport to Player", + "spectatorMenu.teleport.prompt": "Select a player to teleport to", + "spectatorMenu.team_teleport": "Teleport to Team Member", + "spectatorMenu.team_teleport.prompt": "Select a team to teleport to", + "spectatorMenu.root.prompt": "Press a key to select a command, and again to use it.", + "selectWorld.gameMode": "Game Mode", + "selectWorld.gameMode.survival": "Survival", + "selectWorld.gameMode.survival.line1": "Search for resources, crafting, gain", + "selectWorld.gameMode.survival.line2": "levels, health and hunger", + "selectWorld.gameMode.creative": "Creative", + "selectWorld.gameMode.creative.line1": "Unlimited resources, free flying and", + "selectWorld.gameMode.creative.line2": "destroy blocks instantly", + "selectWorld.gameMode.spectator": "Spectator", + "selectWorld.gameMode.spectator.line1": "You can look but don't touch", + "selectWorld.gameMode.hardcore": "Hardcore", + "selectWorld.gameMode.hardcore.line1": "Same as survival mode, locked at hardest", + "selectWorld.gameMode.hardcore.line2": "difficulty, and one life only", + "selectWorld.gameMode.adventure": "Adventure", + "selectWorld.gameMode.adventure.line1": "Same as survival mode, but blocks can't", + "selectWorld.gameMode.adventure.line2": "be added or removed", + "selectWorld.moreWorldOptions": "More World Options...", + "selectWorld.mapFeatures": "Generate Structures:", + "selectWorld.mapFeatures.info": "Villages, dungeons etc", + "selectWorld.mapType": "World Type:", + "selectWorld.mapType.normal": "Normal", + "selectWorld.allowCommands": "Allow Cheats:", + "selectWorld.allowCommands.info": "Commands like /gamemode, /xp", + "selectWorld.hardcoreMode": "Hardcore:", + "selectWorld.hardcoreMode.info": "World is deleted upon death", + "selectWorld.bonusItems": "Bonus Chest:", + "generator.default": "Default", + "generator.flat": "Superflat", + "generator.largeBiomes": "Large Biomes", + "generator.amplified": "AMPLIFIED", + "generator.customized": "Customized", + "generator.debug_all_block_states": "Debug Mode", + "generator.amplified.info": "Notice: Just for fun, requires beefy computer", + "selectServer.title": "Select Server", + "selectServer.empty": "empty", + "selectServer.select": "Join Server", + "selectServer.direct": "Direct Connect", + "selectServer.edit": "Edit", + "selectServer.delete": "Delete", + "selectServer.add": "Add Server", + "selectServer.defaultName": "Minecraft Server", + "selectServer.deleteQuestion": "Are you sure you want to remove this server?", + "selectServer.deleteWarning": "will be lost forever! (A long time!)", + "selectServer.deleteButton": "Delete", + "selectServer.refresh": "Refresh", + "selectServer.hiddenAddress": "(Hidden)", + "addServer.title": "Edit Server Info", + "addServer.enterName": "Server Name", + "addServer.enterIp": "Server Address", + "addServer.add": "Done", + "addServer.hideAddress": "Hide Address", + "addServer.resourcePack": "Server Resource Packs", + "addServer.resourcePack.enabled": "Enabled", + "addServer.resourcePack.disabled": "Disabled", + "addServer.resourcePack.prompt": "Prompt", + "lanServer.title": "LAN World", + "lanServer.scanning": "Scanning for games on your local network", + "lanServer.start": "Start LAN World", + "lanServer.otherPlayers": "Settings for Other Players", + "mcoServer.title": "Minecraft Online World", + "multiplayer.title": "Play Multiplayer", + "multiplayer.connect": "Connect", + "multiplayer.ipinfo": "Enter the IP of a server to connect to it:", + "multiplayer.texturePrompt.line1": "This server recommends the use of a custom resource pack.", + "multiplayer.texturePrompt.line2": "Would you like to download and install it automagically?", + "multiplayer.downloadingTerrain": "Loading terrain", + "multiplayer.downloadingStats": "Downloading statistics...", + "multiplayer.stopSleeping": "Leave Bed", + "multiplayer.player.joined": "%s joined the game", + "multiplayer.player.joined.renamed": "%s (formerly known as %s) joined the game", + "multiplayer.player.left": "%s left the game", + "multiplayer.status.and_more": "... and %s more ...", + "multiplayer.status.cancelled": "Cancelled", + "multiplayer.status.cannot_connect": "Can't connect to server", + "multiplayer.status.cannot_resolve": "Can't resolve hostname", + "multiplayer.status.client_out_of_date": "Client out of date!", + "multiplayer.status.no_connection": "(no connection)", + "multiplayer.status.old": "Old", + "multiplayer.status.pinging": "Pinging...", + "multiplayer.status.server_out_of_date": "Server out of date!", + "multiplayer.status.unknown": "???", + "multiplayer.status.unrequested": "Received unrequested status", + "multiplayer.disconnect.authservers_down": "Authentication servers are down. Please try again later, sorry!", + "multiplayer.disconnect.banned": "You are banned from this server.", + "multiplayer.disconnect.duplicate_login": "You logged in from another location", + "multiplayer.disconnect.flying": "Flying is not enabled on this server", + "multiplayer.disconnect.generic": "Disconnected", + "multiplayer.disconnect.idling": "You have been idle for too long!", + "multiplayer.disconnect.illegal_characters": "Illegal characters in chat", + "multiplayer.disconnect.invalid_entity_attacked": "Attempting to attack an invalid entity", + "multiplayer.disconnect.invalid_player_movement": "Invalid move player packet received", + "multiplayer.disconnect.invalid_vehicle_movement": "Invalid move vehicle packet received", + "multiplayer.disconnect.ip_banned": "You have been IP banned.", + "multiplayer.disconnect.kicked": "Kicked by an operator.", + "multiplayer.disconnect.outdated_client": "Outdated client! Please use %s", + "multiplayer.disconnect.outdated_server": "Outdated server! I'm still on %s", + "multiplayer.disconnect.server_shutdown": "Server closed", + "multiplayer.disconnect.slow_login": "Took too long to log in", + "multiplayer.disconnect.unverified_username": "Failed to verify username!", + "chat.cannotSend": "Cannot send chat message", + "chat.type.text": "<%s> %s", + "chat.type.text.narrate": "%s says %s", + "chat.type.emote": "* %s %s", + "chat.type.announcement": "[%s] %s", + "chat.type.admin": "[%s: %s]", + "chat.type.advancement.task": "%s has made the advancement %s", + "chat.type.advancement.challenge": "%s has completed the challenge %s", + "chat.type.advancement.goal": "%s has reached the goal %s", + "chat.link.confirm": "Are you sure you want to open the following website?", + "chat.link.warning": "Never open links from people that you don't trust!", + "chat.copy": "Copy to Clipboard", + "chat.link.confirmTrusted": "Do you want to open this link or copy it to your clipboard?", + "chat.link.open": "Open in browser", + "menu.playdemo": "Play Demo World", + "menu.resetdemo": "Reset Demo World", + "demo.day.1": "This demo will last five game days, do your best!", + "demo.day.2": "Day Two", + "demo.day.3": "Day Three", + "demo.day.4": "Day Four", + "demo.day.5": "This is your last day!", + "demo.day.warning": "Your time is almost up!", + "demo.day.6": "You have passed your fifth day, use F2 to save a screenshot of your creation", + "demo.reminder": "The demo time has expired, buy the game to continue or start a new world!", + "demo.remainingTime": "Remaining time: %s", + "demo.demoExpired": "Demo time's up!", + "demo.help.movement": "Use the %1$s, %2$s, %3$s, %4$s keys and the mouse to move around", + "demo.help.movementShort": "Move by pressing the %1$s, %2$s, %3$s, %4$s keys", + "demo.help.movementMouse": "Look around using the mouse", + "demo.help.jump": "Jump by pressing the %1$s key", + "demo.help.inventory": "Use the %1$s key to open your inventory", + "demo.help.title": "Minecraft Demo Mode", + "demo.help.fullWrapped": "This demo will last 5 ingame days (about 1 hour and 40 minutes of real time). Check the advancements for hints! Have fun!", + "demo.help.buy": "Purchase Now!", + "demo.help.later": "Continue Playing!", + "connect.connecting": "Connecting to the server...", + "connect.authorizing": "Logging in...", + "connect.failed": "Failed to connect to the server", + "disconnect.genericReason": "%s", + "disconnect.disconnected": "Disconnected by Server", + "disconnect.lost": "Connection Lost", + "disconnect.kicked": "Was kicked from the game", + "disconnect.timeout": "Timed out", + "disconnect.closed": "Connection closed", + "disconnect.loginFailed": "Failed to login", + "disconnect.loginFailedInfo": "Failed to login: %s", + "disconnect.loginFailedInfo.serversUnavailable": "The authentication servers are currently down for maintenance.", + "disconnect.loginFailedInfo.invalidSession": "Invalid session (Try restarting your game and the launcher)", + "disconnect.quitting": "Quitting", + "disconnect.endOfStream": "End of stream", + "disconnect.overflow": "Buffer overflow", + "disconnect.spam": "Kicked for spamming", + "soundCategory.master": "Master Volume", + "soundCategory.music": "Music", + "soundCategory.record": "Jukebox/Note Blocks", + "soundCategory.weather": "Weather", + "soundCategory.hostile": "Hostile Creatures", + "soundCategory.neutral": "Friendly Creatures", + "soundCategory.player": "Players", + "soundCategory.block": "Blocks", + "soundCategory.ambient": "Ambient/Environment", + "soundCategory.voice": "Voice/Speech", + "record.nowPlaying": "Now playing: %s", + "options.off": "OFF", + "options.on": "ON", + "options.visible": "Shown", + "options.hidden": "Hidden", + "options.title": "Options", + "options.controls": "Controls...", + "options.video": "Video Settings...", + "options.language": "Language...", + "options.sounds": "Music & Sounds...", + "options.sounds.title": "Music & Sound Options", + "options.languageWarning": "Language translations may not be 100%% accurate", + "options.videoTitle": "Video Settings", + "options.customizeTitle": "Customize World Settings", + "options.music": "Music", + "options.sound": "Sound", + "options.invertMouse": "Invert Mouse", + "options.fov": "FOV", + "options.fov.min": "Normal", + "options.fov.max": "Quake Pro", + "options.saturation": "Saturation", + "options.gamma": "Brightness", + "options.gamma.min": "Moody", + "options.gamma.max": "Bright", + "options.sensitivity": "Sensitivity", + "options.sensitivity.min": "*yawn*", + "options.sensitivity.max": "HYPERSPEED!!!", + "options.renderDistance": "Render Distance", + "options.viewBobbing": "View Bobbing", + "options.ao": "Smooth Lighting", + "options.ao.off": "OFF", + "options.ao.min": "Minimum", + "options.ao.max": "Maximum", + "options.anaglyph": "3D Anaglyph", + "options.chunks": "%s chunks", + "options.framerate": "%s fps", + "options.framerateLimit": "Max Framerate", + "options.framerateLimit.max": "Unlimited", + "options.difficulty": "Difficulty", + "options.difficulty.peaceful": "Peaceful", + "options.difficulty.easy": "Easy", + "options.difficulty.normal": "Normal", + "options.difficulty.hard": "Hard", + "options.difficulty.hardcore": "Hardcore", + "options.graphics": "Graphics", + "options.graphics.fancy": "Fancy", + "options.graphics.fast": "Fast", + "options.clouds.fancy": "Fancy", + "options.clouds.fast": "Fast", + "options.guiScale": "GUI Scale", + "options.guiScale.auto": "Auto", + "options.guiScale.small": "Small", + "options.guiScale.normal": "Normal", + "options.guiScale.large": "Large", + "options.renderClouds": "Clouds", + "options.particles": "Particles", + "options.particles.all": "All", + "options.particles.decreased": "Decreased", + "options.particles.minimal": "Minimal", + "options.multiplayer.title": "Multiplayer Settings...", + "options.chat.title": "Chat Settings...", + "options.chat.visibility": "Chat", + "options.chat.visibility.full": "Shown", + "options.chat.visibility.system": "Commands Only", + "options.chat.visibility.hidden": "Hidden", + "options.chat.color": "Colors", + "options.chat.opacity": "Opacity", + "options.chat.links": "Web Links", + "options.chat.links.prompt": "Prompt on Links", + "options.chat.scale": "Scale", + "options.chat.width": "Width", + "options.chat.height.focused": "Focused Height", + "options.chat.height.unfocused": "Unfocused Height", + "options.skinCustomisation": "Skin Customization...", + "options.skinCustomisation.title": "Skin Customization", + "options.modelPart.cape": "Cape", + "options.modelPart.hat": "Hat", + "options.modelPart.jacket": "Jacket", + "options.modelPart.left_sleeve": "Left Sleeve", + "options.modelPart.right_sleeve": "Right Sleeve", + "options.modelPart.left_pants_leg": "Left Pants Leg", + "options.modelPart.right_pants_leg": "Right Pants Leg", + "options.snooper": "Allow Snooper", + "options.snooper.view": "Snooper Settings...", + "options.snooper.title": "Feed us data!", + "options.snooper.desc": "We always want to improve Minecraft and, to help us do that, we'd like to collect some information. This lets us know what hardware to support and where the big problems are. It also gives us a sense of the size of our active player base, so we know if we're doing a good job. You can view all the information we collect below. If you want to opt out then you can simply toggle it off!", + "options.resourcepack": "Resource Packs...", + "options.fullscreen": "Fullscreen", + "options.vsync": "Use VSync", + "options.vbo": "Use VBOs", + "options.touchscreen": "Touchscreen Mode", + "options.reducedDebugInfo": "Reduced Debug Info", + "options.entityShadows": "Entity Shadows", + "options.mainHand": "Main Hand", + "options.mainHand.left": "Left", + "options.mainHand.right": "Right", + "options.attackIndicator": "Attack Indicator", + "options.attack.crosshair": "Crosshair", + "options.attack.hotbar": "Hotbar", + "options.showSubtitles": "Show Subtitles", + "options.realmsNotifications": "Realms Notifications", + "options.autoJump": "Auto-Jump", + "options.narrator": "Narrator", + "options.narrator.off": "Off", + "options.narrator.all": "Narrates all", + "options.narrator.chat": "Narrates chat", + "options.narrator.system": "Narrates system", + "options.narrator.notavailable": "Not available", + "options.mipmapLevels": "Mipmap Levels", + "options.forceUnicodeFont": "Force Unicode Font", + "narrator.toast.disabled": "Narrator Disabled", + "narrator.toast.enabled": "Narrator Enabled", + "difficulty.lock.title": "Lock World Difficulty", + "difficulty.lock.question": "Are you sure you want to lock the difficulty of this world? This will set this world to always be %1$s, and you will never be able to change that again.", + "title.oldgl1": "Old graphics card detected; this may prevent you from", + "title.oldgl2": "playing in the future as OpenGL 2.0 will be required.", + "controls.title": "Controls", + "controls.reset": "Reset", + "controls.resetAll": "Reset Keys", + "key.sprint": "Sprint", + "key.forward": "Walk Forwards", + "key.left": "Strafe Left", + "key.back": "Walk Backwards", + "key.right": "Strafe Right", + "key.jump": "Jump", + "key.inventory": "Open/Close Inventory", + "key.drop": "Drop Selected Item", + "key.swapHands": "Swap Item In Hands", + "key.chat": "Open Chat", + "key.sneak": "Sneak", + "key.playerlist": "List Players", + "key.attack": "Attack/Destroy", + "key.use": "Use Item/Place Block", + "key.pickItem": "Pick Block", + "key.mouseButton": "Button %1$s", + "key.mouse.left": "Left Click", + "key.mouse.middle": "Middle Click", + "key.mouse.right": "Right Click", + "key.command": "Open Command", + "key.screenshot": "Take Screenshot", + "key.togglePerspective": "Toggle Perspective", + "key.smoothCamera": "Toggle Cinematic Camera", + "key.fullscreen": "Toggle Fullscreen", + "key.spectatorOutlines": "Highlight Players (Spectators)", + "key.hotbar.1": "Hotbar Slot 1", + "key.hotbar.2": "Hotbar Slot 2", + "key.hotbar.3": "Hotbar Slot 3", + "key.hotbar.4": "Hotbar Slot 4", + "key.hotbar.5": "Hotbar Slot 5", + "key.hotbar.6": "Hotbar Slot 6", + "key.hotbar.7": "Hotbar Slot 7", + "key.hotbar.8": "Hotbar Slot 8", + "key.hotbar.9": "Hotbar Slot 9", + "key.saveToolbarActivator": "Save Toolbar Activator", + "key.loadToolbarActivator": "Load Toolbar Activator", + "key.advancements": "Advancements", + "key.categories.movement": "Movement", + "key.categories.misc": "Miscellaneous", + "key.categories.multiplayer": "Multiplayer", + "key.categories.gameplay": "Gameplay", + "key.categories.ui": "Game Interface", + "key.categories.inventory": "Inventory", + "key.categories.creative": "Creative Mode", + "resourcePack.openFolder": "Open Resource Pack Folder", + "resourcePack.title": "Select Resource Packs", + "resourcePack.available.title": "Available Resource Packs", + "resourcePack.selected.title": "Selected Resource Packs", + "resourcePack.folderInfo": "(Place resource pack files here)", + "resourcePack.incompatible": "Incompatible", + "resourcePack.incompatible.old": "(Made for an older version of Minecraft)", + "resourcePack.incompatible.new": "(Made for a newer version of Minecraft)", + "resourcePack.incompatible.confirm.title": "Are you sure you want to load this resource pack?", + "resourcePack.incompatible.confirm.old": "This resource pack was made for an older version of Minecraft and may no longer work correctly.", + "resourcePack.incompatible.confirm.new": "This resource pack was made for a newer version of Minecraft and may no longer work correctly.", + "sign.edit": "Edit sign message", + "book.pageIndicator": "Page %1$s of %2$s", + "book.byAuthor": "by %1$s", + "book.signButton": "Sign", + "book.editTitle": "Enter Book Title:", + "book.finalizeButton": "Sign and Close", + "book.finalizeWarning": "Note! When you sign the book, it will no longer be editable.", + "book.generation.0": "Original", + "book.generation.1": "Copy of original", + "book.generation.2": "Copy of a copy", + "book.generation.3": "Tattered", + "merchant.deprecated": "Trade something else to unlock!", + "tile.air.name": "Air", + "tile.barrier.name": "Barrier", + "tile.stone.stone.name": "Stone", + "tile.stone.granite.name": "Granite", + "tile.stone.graniteSmooth.name": "Polished Granite", + "tile.stone.diorite.name": "Diorite", + "tile.stone.dioriteSmooth.name": "Polished Diorite", + "tile.stone.andesite.name": "Andesite", + "tile.stone.andesiteSmooth.name": "Polished Andesite", + "tile.hayBlock.name": "Hay Bale", + "tile.grass.name": "Grass Block", + "tile.dirt.name": "Dirt", + "tile.dirt.default.name": "Dirt", + "tile.dirt.coarse.name": "Coarse Dirt", + "tile.dirt.podzol.name": "Podzol", + "tile.stonebrick.name": "Cobblestone", + "tile.wood.name": "Wooden Planks", + "tile.wood.oak.name": "Oak Wood Planks", + "tile.wood.spruce.name": "Spruce Wood Planks", + "tile.wood.birch.name": "Birch Wood Planks", + "tile.wood.jungle.name": "Jungle Wood Planks", + "tile.wood.acacia.name": "Acacia Wood Planks", + "tile.wood.big_oak.name": "Dark Oak Wood Planks", + "tile.sapling.oak.name": "Oak Sapling", + "tile.sapling.spruce.name": "Spruce Sapling", + "tile.sapling.birch.name": "Birch Sapling", + "tile.sapling.jungle.name": "Jungle Sapling", + "tile.sapling.acacia.name": "Acacia Sapling", + "tile.sapling.big_oak.name": "Dark Oak Sapling", + "tile.deadbush.name": "Dead Bush", + "tile.bedrock.name": "Bedrock", + "tile.water.name": "Water", + "tile.lava.name": "Lava", + "tile.sand.name": "Sand", + "tile.sand.default.name": "Sand", + "tile.sand.red.name": "Red Sand", + "tile.sandStone.name": "Sandstone", + "tile.sandStone.default.name": "Sandstone", + "tile.sandStone.chiseled.name": "Chiseled Sandstone", + "tile.sandStone.smooth.name": "Smooth Sandstone", + "tile.redSandStone.name": "Red Sandstone", + "tile.redSandStone.default.name": "Red Sandstone", + "tile.redSandStone.chiseled.name": "Chiseled Red Sandstone", + "tile.redSandStone.smooth.name": "Smooth Red Sandstone", + "tile.gravel.name": "Gravel", + "tile.oreGold.name": "Gold Ore", + "tile.oreIron.name": "Iron Ore", + "tile.oreCoal.name": "Coal Ore", + "tile.log.name": "Wood", + "tile.log.oak.name": "Oak Wood", + "tile.log.spruce.name": "Spruce Wood", + "tile.log.birch.name": "Birch Wood", + "tile.log.jungle.name": "Jungle Wood", + "tile.log.acacia.name": "Acacia Wood", + "tile.log.big_oak.name": "Dark Oak Wood", + "tile.leaves.name": "Leaves", + "tile.leaves.oak.name": "Oak Leaves", + "tile.leaves.spruce.name": "Spruce Leaves", + "tile.leaves.birch.name": "Birch Leaves", + "tile.leaves.jungle.name": "Jungle Leaves", + "tile.leaves.acacia.name": "Acacia Leaves", + "tile.leaves.big_oak.name": "Dark Oak Leaves", + "tile.tallgrass.name": "Grass", + "tile.tallgrass.shrub.name": "Shrub", + "tile.tallgrass.grass.name": "Grass", + "tile.tallgrass.fern.name": "Fern", + "tile.sponge.dry.name": "Sponge", + "tile.sponge.wet.name": "Wet Sponge", + "tile.glass.name": "Glass", + "tile.stainedGlass.name": "Stained Glass", + "tile.stainedGlass.black.name": "Black Stained Glass", + "tile.stainedGlass.red.name": "Red Stained Glass", + "tile.stainedGlass.green.name": "Green Stained Glass", + "tile.stainedGlass.brown.name": "Brown Stained Glass", + "tile.stainedGlass.blue.name": "Blue Stained Glass", + "tile.stainedGlass.purple.name": "Purple Stained Glass", + "tile.stainedGlass.cyan.name": "Cyan Stained Glass", + "tile.stainedGlass.silver.name": "Light Gray Stained Glass", + "tile.stainedGlass.gray.name": "Gray Stained Glass", + "tile.stainedGlass.pink.name": "Pink Stained Glass", + "tile.stainedGlass.lime.name": "Lime Stained Glass", + "tile.stainedGlass.yellow.name": "Yellow Stained Glass", + "tile.stainedGlass.lightBlue.name": "Light Blue Stained Glass", + "tile.stainedGlass.magenta.name": "Magenta Stained Glass", + "tile.stainedGlass.orange.name": "Orange Stained Glass", + "tile.stainedGlass.white.name": "White Stained Glass", + "tile.thinStainedGlass.name": "Stained Glass Pane", + "tile.thinStainedGlass.black.name": "Black Stained Glass Pane", + "tile.thinStainedGlass.red.name": "Red Stained Glass Pane", + "tile.thinStainedGlass.green.name": "Green Stained Glass Pane", + "tile.thinStainedGlass.brown.name": "Brown Stained Glass Pane", + "tile.thinStainedGlass.blue.name": "Blue Stained Glass Pane", + "tile.thinStainedGlass.purple.name": "Purple Stained Glass Pane", + "tile.thinStainedGlass.cyan.name": "Cyan Stained Glass Pane", + "tile.thinStainedGlass.silver.name": "Light Gray Stained Glass Pane", + "tile.thinStainedGlass.gray.name": "Gray Stained Glass Pane", + "tile.thinStainedGlass.pink.name": "Pink Stained Glass Pane", + "tile.thinStainedGlass.lime.name": "Lime Stained Glass Pane", + "tile.thinStainedGlass.yellow.name": "Yellow Stained Glass Pane", + "tile.thinStainedGlass.lightBlue.name": "Light Blue Stained Glass Pane", + "tile.thinStainedGlass.magenta.name": "Magenta Stained Glass Pane", + "tile.thinStainedGlass.orange.name": "Orange Stained Glass Pane", + "tile.thinStainedGlass.white.name": "White Stained Glass Pane", + "tile.thinGlass.name": "Glass Pane", + "tile.cloth.name": "Wool", + "tile.flower1.name": "Flower", + "tile.flower1.dandelion.name": "Dandelion", + "tile.flower2.name": "Flower", + "tile.flower2.poppy.name": "Poppy", + "tile.flower2.blueOrchid.name": "Blue Orchid", + "tile.flower2.allium.name": "Allium", + "tile.flower2.houstonia.name": "Azure Bluet", + "tile.flower2.tulipRed.name": "Red Tulip", + "tile.flower2.tulipOrange.name": "Orange Tulip", + "tile.flower2.tulipWhite.name": "White Tulip", + "tile.flower2.tulipPink.name": "Pink Tulip", + "tile.flower2.oxeyeDaisy.name": "Oxeye Daisy", + "tile.doublePlant.name": "Plant", + "tile.doublePlant.sunflower.name": "Sunflower", + "tile.doublePlant.syringa.name": "Lilac", + "tile.doublePlant.grass.name": "Double Tallgrass", + "tile.doublePlant.fern.name": "Large Fern", + "tile.doublePlant.rose.name": "Rose Bush", + "tile.doublePlant.paeonia.name": "Peony", + "tile.mushroom.name": "Mushroom", + "tile.blockGold.name": "Block of Gold", + "tile.blockIron.name": "Block of Iron", + "tile.stoneSlab.name": "Stone Slab", + "tile.stoneSlab.stone.name": "Stone Slab", + "tile.stoneSlab.sand.name": "Sandstone Slab", + "tile.stoneSlab.wood.name": "Wooden Slab", + "tile.stoneSlab.cobble.name": "Cobblestone Slab", + "tile.stoneSlab.brick.name": "Bricks Slab", + "tile.stoneSlab.smoothStoneBrick.name": "Stone Bricks Slab", + "tile.stoneSlab.netherBrick.name": "Nether Brick Slab", + "tile.stoneSlab.quartz.name": "Quartz Slab", + "tile.stoneSlab2.red_sandstone.name": "Red Sandstone Slab", + "tile.woodSlab.name": "Wood Slab", + "tile.woodSlab.oak.name": "Oak Wood Slab", + "tile.woodSlab.spruce.name": "Spruce Wood Slab", + "tile.woodSlab.birch.name": "Birch Wood Slab", + "tile.woodSlab.jungle.name": "Jungle Wood Slab", + "tile.woodSlab.acacia.name": "Acacia Wood Slab", + "tile.woodSlab.big_oak.name": "Dark Oak Wood Slab", + "tile.brick.name": "Bricks", + "tile.tnt.name": "TNT", + "tile.bookshelf.name": "Bookshelf", + "tile.stoneMoss.name": "Moss Stone", + "tile.obsidian.name": "Obsidian", + "tile.torch.name": "Torch", + "tile.fire.name": "Fire", + "tile.mobSpawner.name": "Monster Spawner", + "tile.stairsWood.name": "Oak Wood Stairs", + "tile.stairsWoodSpruce.name": "Spruce Wood Stairs", + "tile.stairsWoodBirch.name": "Birch Wood Stairs", + "tile.stairsWoodJungle.name": "Jungle Wood Stairs", + "tile.stairsWoodAcacia.name": "Acacia Wood Stairs", + "tile.stairsWoodDarkOak.name": "Dark Oak Wood Stairs", + "tile.chest.name": "Chest", + "tile.chestTrap.name": "Trapped Chest", + "tile.redstoneDust.name": "Redstone Dust", + "tile.oreDiamond.name": "Diamond Ore", + "tile.blockCoal.name": "Block of Coal", + "tile.blockDiamond.name": "Block of Diamond", + "tile.workbench.name": "Crafting Table", + "tile.crops.name": "Crops", + "tile.farmland.name": "Farmland", + "tile.furnace.name": "Furnace", + "tile.sign.name": "Sign", + "tile.doorWood.name": "Wooden Door", + "tile.ladder.name": "Ladder", + "tile.rail.name": "Rail", + "tile.goldenRail.name": "Powered Rail", + "tile.activatorRail.name": "Activator Rail", + "tile.detectorRail.name": "Detector Rail", + "tile.stairsStone.name": "Cobblestone Stairs", + "tile.stairsSandStone.name": "Sandstone Stairs", + "tile.stairsRedSandStone.name": "Red Sandstone Stairs", + "tile.lever.name": "Lever", + "tile.pressurePlateStone.name": "Stone Pressure Plate", + "tile.pressurePlateWood.name": "Wooden Pressure Plate", + "tile.weightedPlate_light.name": "Weighted Pressure Plate (Light)", + "tile.weightedPlate_heavy.name": "Weighted Pressure Plate (Heavy)", + "tile.doorIron.name": "Iron Door", + "tile.oreRedstone.name": "Redstone Ore", + "tile.notGate.name": "Redstone Torch", + "tile.button.name": "Button", + "tile.snow.name": "Snow", + "tile.woolCarpet.name": "Carpet", + "tile.woolCarpet.black.name": "Black Carpet", + "tile.woolCarpet.red.name": "Red Carpet", + "tile.woolCarpet.green.name": "Green Carpet", + "tile.woolCarpet.brown.name": "Brown Carpet", + "tile.woolCarpet.blue.name": "Blue Carpet", + "tile.woolCarpet.purple.name": "Purple Carpet", + "tile.woolCarpet.cyan.name": "Cyan Carpet", + "tile.woolCarpet.silver.name": "Light Gray Carpet", + "tile.woolCarpet.gray.name": "Gray Carpet", + "tile.woolCarpet.pink.name": "Pink Carpet", + "tile.woolCarpet.lime.name": "Lime Carpet", + "tile.woolCarpet.yellow.name": "Yellow Carpet", + "tile.woolCarpet.lightBlue.name": "Light Blue Carpet", + "tile.woolCarpet.magenta.name": "Magenta Carpet", + "tile.woolCarpet.orange.name": "Orange Carpet", + "tile.woolCarpet.white.name": "White Carpet", + "tile.ice.name": "Ice", + "tile.frostedIce.name": "Frosted Ice", + "tile.icePacked.name": "Packed Ice", + "tile.cactus.name": "Cactus", + "tile.clay.name": "Clay", + "tile.clayHardenedStained.name": "Stained Terracotta", + "tile.clayHardenedStained.black.name": "Black Terracotta", + "tile.clayHardenedStained.red.name": "Red Terracotta", + "tile.clayHardenedStained.green.name": "Green Terracotta", + "tile.clayHardenedStained.brown.name": "Brown Terracotta", + "tile.clayHardenedStained.blue.name": "Blue Terracotta", + "tile.clayHardenedStained.purple.name": "Purple Terracotta", + "tile.clayHardenedStained.cyan.name": "Cyan Terracotta", + "tile.clayHardenedStained.silver.name": "Light Gray Terracotta", + "tile.clayHardenedStained.gray.name": "Gray Terracotta", + "tile.clayHardenedStained.pink.name": "Pink Terracotta", + "tile.clayHardenedStained.lime.name": "Lime Terracotta", + "tile.clayHardenedStained.yellow.name": "Yellow Terracotta", + "tile.clayHardenedStained.lightBlue.name": "Light Blue Terracotta", + "tile.clayHardenedStained.magenta.name": "Magenta Terracotta", + "tile.clayHardenedStained.orange.name": "Orange Terracotta", + "tile.clayHardenedStained.white.name": "White Terracotta", + "tile.clayHardened.name": "Terracotta", + "tile.reeds.name": "Sugar cane", + "tile.jukebox.name": "Jukebox", + "tile.fence.name": "Oak Fence", + "tile.spruceFence.name": "Spruce Fence", + "tile.birchFence.name": "Birch Fence", + "tile.jungleFence.name": "Jungle Fence", + "tile.darkOakFence.name": "Dark Oak Fence", + "tile.acaciaFence.name": "Acacia Fence", + "tile.fenceGate.name": "Oak Fence Gate", + "tile.spruceFenceGate.name": "Spruce Fence Gate", + "tile.birchFenceGate.name": "Birch Fence Gate", + "tile.jungleFenceGate.name": "Jungle Fence Gate", + "tile.darkOakFenceGate.name": "Dark Oak Fence Gate", + "tile.acaciaFenceGate.name": "Acacia Fence Gate", + "tile.pumpkinStem.name": "Pumpkin Stem", + "tile.pumpkin.name": "Pumpkin", + "tile.litpumpkin.name": "Jack o'Lantern", + "tile.hellrock.name": "Netherrack", + "tile.hellsand.name": "Soul Sand", + "tile.lightgem.name": "Glowstone", + "tile.portal.name": "Portal", + "tile.cloth.black.name": "Black Wool", + "tile.cloth.red.name": "Red Wool", + "tile.cloth.green.name": "Green Wool", + "tile.cloth.brown.name": "Brown Wool", + "tile.cloth.blue.name": "Blue Wool", + "tile.cloth.purple.name": "Purple Wool", + "tile.cloth.cyan.name": "Cyan Wool", + "tile.cloth.silver.name": "Light Gray Wool", + "tile.cloth.gray.name": "Gray Wool", + "tile.cloth.pink.name": "Pink Wool", + "tile.cloth.lime.name": "Lime Wool", + "tile.cloth.yellow.name": "Yellow Wool", + "tile.cloth.lightBlue.name": "Light Blue Wool", + "tile.cloth.magenta.name": "Magenta Wool", + "tile.cloth.orange.name": "Orange Wool", + "tile.cloth.white.name": "White Wool", + "tile.oreLapis.name": "Lapis Lazuli Ore", + "tile.blockLapis.name": "Lapis Lazuli Block", + "tile.dispenser.name": "Dispenser", + "tile.dropper.name": "Dropper", + "tile.musicBlock.name": "Note Block", + "tile.cake.name": "Cake", + "tile.bed.occupied": "This bed is occupied", + "tile.bed.noSleep": "You can only sleep at night", + "tile.bed.tooFarAway": "You may not rest now, the bed is too far away", + "tile.bed.notSafe": "You may not rest now, there are monsters nearby", + "tile.bed.notValid": "Your home bed was missing or obstructed", + "tile.lockedchest.name": "Locked chest", + "tile.trapdoor.name": "Wooden Trapdoor", + "tile.ironTrapdoor.name": "Iron Trapdoor", + "tile.web.name": "Cobweb", + "tile.stonebricksmooth.name": "Stone Bricks", + "tile.stonebricksmooth.default.name": "Stone Bricks", + "tile.stonebricksmooth.mossy.name": "Mossy Stone Bricks", + "tile.stonebricksmooth.cracked.name": "Cracked Stone Bricks", + "tile.stonebricksmooth.chiseled.name": "Chiseled Stone Bricks", + "tile.monsterStoneEgg.name": "Stone Monster Egg", + "tile.monsterStoneEgg.stone.name": "Stone Monster Egg", + "tile.monsterStoneEgg.cobble.name": "Cobblestone Monster Egg", + "tile.monsterStoneEgg.brick.name": "Stone Brick Monster Egg", + "tile.monsterStoneEgg.mossybrick.name": "Mossy Stone Brick Monster Egg", + "tile.monsterStoneEgg.crackedbrick.name": "Cracked Stone Brick Monster Egg", + "tile.monsterStoneEgg.chiseledbrick.name": "Chiseled Stone Brick Monster Egg", + "tile.pistonBase.name": "Piston", + "tile.pistonStickyBase.name": "Sticky Piston", + "tile.fenceIron.name": "Iron Bars", + "tile.melon.name": "Melon", + "tile.stairsBrick.name": "Brick Stairs", + "tile.stairsStoneBrickSmooth.name": "Stone Brick Stairs", + "tile.vine.name": "Vines", + "tile.netherBrick.name": "Nether Brick", + "tile.netherFence.name": "Nether Brick Fence", + "tile.stairsNetherBrick.name": "Nether Brick Stairs", + "tile.netherStalk.name": "Nether Wart", + "tile.cauldron.name": "Cauldron", + "tile.enchantmentTable.name": "Enchantment Table", + "tile.anvil.name": "Anvil", + "tile.anvil.intact.name": "Anvil", + "tile.anvil.slightlyDamaged.name": "Slightly Damaged Anvil", + "tile.anvil.veryDamaged.name": "Very Damaged Anvil", + "tile.whiteStone.name": "End Stone", + "tile.endPortalFrame.name": "End Portal", + "tile.mycel.name": "Mycelium", + "tile.waterlily.name": "Lily Pad", + "tile.dragonEgg.name": "Dragon Egg", + "tile.redstoneLight.name": "Redstone Lamp", + "tile.cocoa.name": "Cocoa", + "tile.enderChest.name": "Ender Chest", + "tile.oreEmerald.name": "Emerald Ore", + "tile.blockEmerald.name": "Block of Emerald", + "tile.blockRedstone.name": "Block of Redstone", + "tile.tripWire.name": "Tripwire", + "tile.tripWireSource.name": "Tripwire Hook", + "tile.commandBlock.name": "Command Block", + "tile.repeatingCommandBlock.name": "Repeating Command Block", + "tile.chainCommandBlock.name": "Chain Command Block", + "tile.beacon.name": "Beacon", + "tile.beacon.primary": "Primary Power", + "tile.beacon.secondary": "Secondary Power", + "tile.cobbleWall.normal.name": "Cobblestone Wall", + "tile.cobbleWall.mossy.name": "Mossy Cobblestone Wall", + "tile.carrots.name": "Carrots", + "tile.potatoes.name": "Potatoes", + "tile.daylightDetector.name": "Daylight Sensor", + "tile.netherquartz.name": "Nether Quartz Ore", + "tile.hopper.name": "Hopper", + "tile.quartzBlock.name": "Block of Quartz", + "tile.quartzBlock.default.name": "Block of Quartz", + "tile.quartzBlock.chiseled.name": "Chiseled Quartz Block", + "tile.quartzBlock.lines.name": "Pillar Quartz Block", + "tile.stairsQuartz.name": "Quartz Stairs", + "tile.slime.name": "Slime Block", + "tile.prismarine.rough.name": "Prismarine", + "tile.prismarine.bricks.name": "Prismarine Bricks", + "tile.prismarine.dark.name": "Dark Prismarine", + "tile.seaLantern.name": "Sea Lantern", + "tile.endRod.name": "End Rod", + "tile.chorusPlant.name": "Chorus Plant", + "tile.chorusFlower.name": "Chorus Flower", + "tile.purpurBlock.name": "Purpur Block", + "tile.purpurPillar.name": "Purpur Pillar", + "tile.stairsPurpur.name": "Purpur Stairs", + "tile.purpurSlab.name": "Purpur Slab", + "tile.endBricks.name": "End Stone Bricks", + "tile.beetroots.name": "Beetroots", + "tile.grassPath.name": "Grass Path", + "tile.magma.name": "Magma Block", + "tile.netherWartBlock.name": "Nether Wart Block", + "tile.redNetherBrick.name": "Red Nether Brick", + "tile.boneBlock.name": "Bone Block", + "tile.observer.name": "Observer", + "tile.shulkerBoxWhite.name": "White Shulker Box", + "tile.shulkerBoxOrange.name": "Orange Shulker Box", + "tile.shulkerBoxMagenta.name": "Magenta Shulker Box", + "tile.shulkerBoxLightBlue.name": "Light Blue Shulker Box", + "tile.shulkerBoxYellow.name": "Yellow Shulker Box", + "tile.shulkerBoxLime.name": "Lime Shulker Box", + "tile.shulkerBoxPink.name": "Pink Shulker Box", + "tile.shulkerBoxGray.name": "Gray Shulker Box", + "tile.shulkerBoxSilver.name": "Light Gray Shulker Box", + "tile.shulkerBoxCyan.name": "Cyan Shulker Box", + "tile.shulkerBoxPurple.name": "Purple Shulker Box", + "tile.shulkerBoxBlue.name": "Blue Shulker Box", + "tile.shulkerBoxBrown.name": "Brown Shulker Box", + "tile.shulkerBoxGreen.name": "Green Shulker Box", + "tile.shulkerBoxRed.name": "Red Shulker Box", + "tile.shulkerBoxBlack.name": "Black Shulker Box", + "tile.glazedTerracottaWhite.name": "White Glazed Terracotta", + "tile.glazedTerracottaOrange.name": "Orange Glazed Terracotta", + "tile.glazedTerracottaMagenta.name": "Magenta Glazed Terracotta", + "tile.glazedTerracottaLightBlue.name": "Light Blue Glazed Terracotta", + "tile.glazedTerracottaYellow.name": "Yellow Glazed Terracotta", + "tile.glazedTerracottaLime.name": "Lime Glazed Terracotta", + "tile.glazedTerracottaPink.name": "Pink Glazed Terracotta", + "tile.glazedTerracottaGray.name": "Gray Glazed Terracotta", + "tile.glazedTerracottaSilver.name": "Light Gray Glazed Terracotta", + "tile.glazedTerracottaCyan.name": "Cyan Glazed Terracotta", + "tile.glazedTerracottaPurple.name": "Purple Glazed Terracotta", + "tile.glazedTerracottaBlue.name": "Blue Glazed Terracotta", + "tile.glazedTerracottaBrown.name": "Brown Glazed Terracotta", + "tile.glazedTerracottaGreen.name": "Green Glazed Terracotta", + "tile.glazedTerracottaRed.name": "Red Glazed Terracotta", + "tile.glazedTerracottaBlack.name": "Black Glazed Terracotta", + "tile.concrete.black.name": "Black Concrete", + "tile.concrete.red.name": "Red Concrete", + "tile.concrete.green.name": "Green Concrete", + "tile.concrete.brown.name": "Brown Concrete", + "tile.concrete.blue.name": "Blue Concrete", + "tile.concrete.purple.name": "Purple Concrete", + "tile.concrete.cyan.name": "Cyan Concrete", + "tile.concrete.silver.name": "Light Gray Concrete", + "tile.concrete.gray.name": "Gray Concrete", + "tile.concrete.pink.name": "Pink Concrete", + "tile.concrete.lime.name": "Lime Concrete", + "tile.concrete.yellow.name": "Yellow Concrete", + "tile.concrete.lightBlue.name": "Light Blue Concrete", + "tile.concrete.magenta.name": "Magenta Concrete", + "tile.concrete.orange.name": "Orange Concrete", + "tile.concrete.white.name": "White Concrete", + "tile.concretePowder.black.name": "Black Concrete Powder", + "tile.concretePowder.red.name": "Red Concrete Powder", + "tile.concretePowder.green.name": "Green Concrete Powder", + "tile.concretePowder.brown.name": "Brown Concrete Powder", + "tile.concretePowder.blue.name": "Blue Concrete Powder", + "tile.concretePowder.purple.name": "Purple Concrete Powder", + "tile.concretePowder.cyan.name": "Cyan Concrete Powder", + "tile.concretePowder.silver.name": "Light Gray Concrete Powder", + "tile.concretePowder.gray.name": "Gray Concrete Powder", + "tile.concretePowder.pink.name": "Pink Concrete Powder", + "tile.concretePowder.lime.name": "Lime Concrete Powder", + "tile.concretePowder.yellow.name": "Yellow Concrete Powder", + "tile.concretePowder.lightBlue.name": "Light Blue Concrete Powder", + "tile.concretePowder.magenta.name": "Magenta Concrete Powder", + "tile.concretePowder.orange.name": "Orange Concrete Powder", + "tile.concretePowder.white.name": "White Concrete Powder", + "tile.structureVoid.name": "Structure Void", + "tile.structureBlock.name": "Structure Block", + "item.nameTag.name": "Name Tag", + "item.leash.name": "Lead", + "item.shovelIron.name": "Iron Shovel", + "item.pickaxeIron.name": "Iron Pickaxe", + "item.hatchetIron.name": "Iron Axe", + "item.flintAndSteel.name": "Flint and Steel", + "item.apple.name": "Apple", + "item.cookie.name": "Cookie", + "item.bow.name": "Bow", + "item.arrow.name": "Arrow", + "item.spectral_arrow.name": "Spectral Arrow", + "item.tipped_arrow.name": "Tipped Arrow", + "item.coal.name": "Coal", + "item.charcoal.name": "Charcoal", + "item.diamond.name": "Diamond", + "item.emerald.name": "Emerald", + "item.ingotIron.name": "Iron Ingot", + "item.ingotGold.name": "Gold Ingot", + "item.swordIron.name": "Iron Sword", + "item.swordWood.name": "Wooden Sword", + "item.shovelWood.name": "Wooden Shovel", + "item.pickaxeWood.name": "Wooden Pickaxe", + "item.hatchetWood.name": "Wooden Axe", + "item.swordStone.name": "Stone Sword", + "item.shovelStone.name": "Stone Shovel", + "item.pickaxeStone.name": "Stone Pickaxe", + "item.hatchetStone.name": "Stone Axe", + "item.swordDiamond.name": "Diamond Sword", + "item.shovelDiamond.name": "Diamond Shovel", + "item.pickaxeDiamond.name": "Diamond Pickaxe", + "item.hatchetDiamond.name": "Diamond Axe", + "item.stick.name": "Stick", + "item.bowl.name": "Bowl", + "item.mushroomStew.name": "Mushroom Stew", + "item.swordGold.name": "Golden Sword", + "item.shovelGold.name": "Golden Shovel", + "item.pickaxeGold.name": "Golden Pickaxe", + "item.hatchetGold.name": "Golden Axe", + "item.string.name": "String", + "item.feather.name": "Feather", + "item.sulphur.name": "Gunpowder", + "item.hoeWood.name": "Wooden Hoe", + "item.hoeStone.name": "Stone Hoe", + "item.hoeIron.name": "Iron Hoe", + "item.hoeDiamond.name": "Diamond Hoe", + "item.hoeGold.name": "Golden Hoe", + "item.seeds.name": "Seeds", + "item.seeds_pumpkin.name": "Pumpkin Seeds", + "item.seeds_melon.name": "Melon Seeds", + "item.melon.name": "Melon", + "item.wheat.name": "Wheat", + "item.bread.name": "Bread", + "item.helmetCloth.name": "Leather Cap", + "item.chestplateCloth.name": "Leather Tunic", + "item.leggingsCloth.name": "Leather Pants", + "item.bootsCloth.name": "Leather Boots", + "item.helmetChain.name": "Chain Helmet", + "item.chestplateChain.name": "Chain Chestplate", + "item.leggingsChain.name": "Chain Leggings", + "item.bootsChain.name": "Chain Boots", + "item.helmetIron.name": "Iron Helmet", + "item.chestplateIron.name": "Iron Chestplate", + "item.leggingsIron.name": "Iron Leggings", + "item.bootsIron.name": "Iron Boots", + "item.helmetDiamond.name": "Diamond Helmet", + "item.chestplateDiamond.name": "Diamond Chestplate", + "item.leggingsDiamond.name": "Diamond Leggings", + "item.bootsDiamond.name": "Diamond Boots", + "item.helmetGold.name": "Golden Helmet", + "item.chestplateGold.name": "Golden Chestplate", + "item.leggingsGold.name": "Golden Leggings", + "item.bootsGold.name": "Golden Boots", + "item.flint.name": "Flint", + "item.porkchopRaw.name": "Raw Porkchop", + "item.porkchopCooked.name": "Cooked Porkchop", + "item.chickenRaw.name": "Raw Chicken", + "item.chickenCooked.name": "Cooked Chicken", + "item.muttonRaw.name": "Raw Mutton", + "item.muttonCooked.name": "Cooked Mutton", + "item.rabbitRaw.name": "Raw Rabbit", + "item.rabbitCooked.name": "Cooked Rabbit", + "item.rabbitStew.name": "Rabbit Stew", + "item.rabbitFoot.name": "Rabbit's Foot", + "item.rabbitHide.name": "Rabbit Hide", + "item.beefRaw.name": "Raw Beef", + "item.beefCooked.name": "Steak", + "item.painting.name": "Painting", + "item.frame.name": "Item Frame", + "item.appleGold.name": "Golden Apple", + "item.sign.name": "Sign", + "item.doorOak.name": "Oak Door", + "item.doorSpruce.name": "Spruce Door", + "item.doorBirch.name": "Birch Door", + "item.doorJungle.name": "Jungle Door", + "item.doorAcacia.name": "Acacia Door", + "item.doorDarkOak.name": "Dark Oak Door", + "item.bucket.name": "Bucket", + "item.bucketWater.name": "Water Bucket", + "item.bucketLava.name": "Lava Bucket", + "item.minecart.name": "Minecart", + "item.saddle.name": "Saddle", + "item.doorIron.name": "Iron Door", + "item.redstone.name": "Redstone", + "item.snowball.name": "Snowball", + "item.boat.oak.name": "Oak Boat", + "item.boat.spruce.name": "Spruce Boat", + "item.boat.birch.name": "Birch Boat", + "item.boat.jungle.name": "Jungle Boat", + "item.boat.acacia.name": "Acacia Boat", + "item.boat.dark_oak.name": "Dark Oak Boat", + "item.leather.name": "Leather", + "item.milk.name": "Milk", + "item.brick.name": "Brick", + "item.clay.name": "Clay", + "item.reeds.name": "Sugar Canes", + "item.paper.name": "Paper", + "item.book.name": "Book", + "item.slimeball.name": "Slimeball", + "item.minecartChest.name": "Minecart with Chest", + "item.minecartFurnace.name": "Minecart with Furnace", + "item.minecartTnt.name": "Minecart with TNT", + "item.minecartHopper.name": "Minecart with Hopper", + "item.minecartCommandBlock.name": "Minecart with Command Block", + "item.egg.name": "Egg", + "item.compass.name": "Compass", + "item.fishingRod.name": "Fishing Rod", + "item.clock.name": "Clock", + "item.yellowDust.name": "Glowstone Dust", + "item.fish.cod.raw.name": "Raw Fish", + "item.fish.salmon.raw.name": "Raw Salmon", + "item.fish.pufferfish.raw.name": "Pufferfish", + "item.fish.clownfish.raw.name": "Clownfish", + "item.fish.cod.cooked.name": "Cooked Fish", + "item.fish.salmon.cooked.name": "Cooked Salmon", + "item.record.name": "Music Disc", + "item.record.13.desc": "C418 - 13", + "item.record.cat.desc": "C418 - cat", + "item.record.blocks.desc": "C418 - blocks", + "item.record.chirp.desc": "C418 - chirp", + "item.record.far.desc": "C418 - far", + "item.record.mall.desc": "C418 - mall", + "item.record.mellohi.desc": "C418 - mellohi", + "item.record.stal.desc": "C418 - stal", + "item.record.strad.desc": "C418 - strad", + "item.record.ward.desc": "C418 - ward", + "item.record.11.desc": "C418 - 11", + "item.record.wait.desc": "C418 - wait", + "item.bone.name": "Bone", + "item.dyePowder.black.name": "Ink Sac", + "item.dyePowder.red.name": "Rose Red", + "item.dyePowder.green.name": "Cactus Green", + "item.dyePowder.brown.name": "Cocoa Beans", + "item.dyePowder.blue.name": "Lapis Lazuli", + "item.dyePowder.purple.name": "Purple Dye", + "item.dyePowder.cyan.name": "Cyan Dye", + "item.dyePowder.silver.name": "Light Gray Dye", + "item.dyePowder.gray.name": "Gray Dye", + "item.dyePowder.pink.name": "Pink Dye", + "item.dyePowder.lime.name": "Lime Dye", + "item.dyePowder.yellow.name": "Dandelion Yellow", + "item.dyePowder.lightBlue.name": "Light Blue Dye", + "item.dyePowder.magenta.name": "Magenta Dye", + "item.dyePowder.orange.name": "Orange Dye", + "item.dyePowder.white.name": "Bone Meal", + "item.sugar.name": "Sugar", + "item.cake.name": "Cake", + "item.bed.black.name": "Black Bed", + "item.bed.red.name": "Red Bed", + "item.bed.green.name": "Green Bed", + "item.bed.brown.name": "Brown Bed", + "item.bed.blue.name": "Blue Bed", + "item.bed.purple.name": "Purple Bed", + "item.bed.cyan.name": "Cyan Bed", + "item.bed.silver.name": "Light Gray Bed", + "item.bed.gray.name": "Gray Bed", + "item.bed.pink.name": "Pink Bed", + "item.bed.lime.name": "Lime Bed", + "item.bed.yellow.name": "Yellow Bed", + "item.bed.lightBlue.name": "Light Blue Bed", + "item.bed.magenta.name": "Magenta Bed", + "item.bed.orange.name": "Orange Bed", + "item.bed.white.name": "White Bed", + "item.diode.name": "Redstone Repeater", + "item.comparator.name": "Redstone Comparator", + "item.map.name": "Map", + "item.leaves.name": "Leaves", + "item.shears.name": "Shears", + "item.rottenFlesh.name": "Rotten Flesh", + "item.enderPearl.name": "Ender Pearl", + "item.blazeRod.name": "Blaze Rod", + "item.ghastTear.name": "Ghast Tear", + "item.netherStalkSeeds.name": "Nether Wart", + "item.potion.name": "Potion", + "item.splash_potion.name": "Splash Potion", + "item.lingering_potion.name": "Lingering Potion", + "item.end_crystal.name": "End Crystal", + "item.goldNugget.name": "Gold Nugget", + "item.glassBottle.name": "Glass Bottle", + "item.spiderEye.name": "Spider Eye", + "item.fermentedSpiderEye.name": "Fermented Spider Eye", + "item.blazePowder.name": "Blaze Powder", + "item.magmaCream.name": "Magma Cream", + "item.cauldron.name": "Cauldron", + "item.brewingStand.name": "Brewing Stand", + "item.eyeOfEnder.name": "Eye of Ender", + "item.speckledMelon.name": "Glistering Melon", + "item.monsterPlacer.name": "Spawn", + "item.expBottle.name": "Bottle o' Enchanting", + "item.fireball.name": "Fire Charge", + "item.writingBook.name": "Book and Quill", + "item.writtenBook.name": "Written Book", + "item.flowerPot.name": "Flower Pot", + "item.emptyMap.name": "Empty Map", + "item.carrots.name": "Carrot", + "item.carrotGolden.name": "Golden Carrot", + "item.potato.name": "Potato", + "item.potatoBaked.name": "Baked Potato", + "item.potatoPoisonous.name": "Poisonous Potato", + "item.skull.skeleton.name": "Skeleton Skull", + "item.skull.wither.name": "Wither Skeleton Skull", + "item.skull.zombie.name": "Zombie Head", + "item.skull.char.name": "Head", + "item.skull.player.name": "%s's Head", + "item.skull.creeper.name": "Creeper Head", + "item.skull.dragon.name": "Dragon Head", + "item.carrotOnAStick.name": "Carrot on a Stick", + "item.netherStar.name": "Nether Star", + "item.pumpkinPie.name": "Pumpkin Pie", + "item.enchantedBook.name": "Enchanted Book", + "item.fireworks.name": "Firework Rocket", + "item.fireworks.flight": "Flight Duration:", + "item.fireworksCharge.name": "Firework Star", + "item.fireworksCharge.black": "Black", + "item.fireworksCharge.red": "Red", + "item.fireworksCharge.green": "Green", + "item.fireworksCharge.brown": "Brown", + "item.fireworksCharge.blue": "Blue", + "item.fireworksCharge.purple": "Purple", + "item.fireworksCharge.cyan": "Cyan", + "item.fireworksCharge.silver": "Light Gray", + "item.fireworksCharge.gray": "Gray", + "item.fireworksCharge.pink": "Pink", + "item.fireworksCharge.lime": "Lime", + "item.fireworksCharge.yellow": "Yellow", + "item.fireworksCharge.lightBlue": "Light Blue", + "item.fireworksCharge.magenta": "Magenta", + "item.fireworksCharge.orange": "Orange", + "item.fireworksCharge.white": "White", + "item.fireworksCharge.customColor": "Custom", + "item.fireworksCharge.fadeTo": "Fade to", + "item.fireworksCharge.flicker": "Twinkle", + "item.fireworksCharge.trail": "Trail", + "item.fireworksCharge.type.0": "Small Ball", + "item.fireworksCharge.type.1": "Large Ball", + "item.fireworksCharge.type.2": "Star-shaped", + "item.fireworksCharge.type.3": "Creeper-shaped", + "item.fireworksCharge.type.4": "Burst", + "item.fireworksCharge.type": "Unknown Shape", + "item.netherbrick.name": "Nether Brick", + "item.netherquartz.name": "Nether Quartz", + "item.armorStand.name": "Armor Stand", + "item.horsearmormetal.name": "Iron Horse Armor", + "item.horsearmorgold.name": "Gold Horse Armor", + "item.horsearmordiamond.name": "Diamond Horse Armor", + "item.prismarineShard.name": "Prismarine Shard", + "item.prismarineCrystals.name": "Prismarine Crystals", + "item.chorusFruit.name": "Chorus Fruit", + "item.chorusFruitPopped.name": "Popped Chorus Fruit", + "item.beetroot.name": "Beetroot", + "item.beetroot_seeds.name": "Beetroot Seeds", + "item.beetroot_soup.name": "Beetroot Soup", + "item.dragon_breath.name": "Dragon's Breath", + "item.elytra.name": "Elytra", + "item.totem.name": "Totem of Undying", + "item.shulkerShell.name": "Shulker Shell", + "item.ironNugget.name": "Iron Nugget", + "item.knowledgeBook.name": "Knowledge Book", + "container.inventory": "Inventory", + "container.hopper": "Item Hopper", + "container.crafting": "Crafting", + "container.dispenser": "Dispenser", + "container.dropper": "Dropper", + "container.furnace": "Furnace", + "container.enchant": "Enchant", + "container.enchant.lapis.one": "1 Lapis Lazuli", + "container.enchant.lapis.many": "%s Lapis Lazuli", + "container.enchant.level.one": "1 Enchantment Level", + "container.enchant.level.many": "%s Enchantment Levels", + "container.enchant.level.requirement": "Level requirement: %s", + "container.enchant.clue": "%s . . . ?", + "container.repair": "Repair & Name", + "container.repair.cost": "Enchantment Cost: %1$s", + "container.repair.expensive": "Too Expensive!", + "container.creative": "Item Selection", + "container.brewing": "Brewing Stand", + "container.chest": "Chest", + "container.chestDouble": "Large Chest", + "container.enderchest": "Ender Chest", + "container.beacon": "Beacon", + "container.shulkerBox": "Shulker Box", + "container.shulkerBox.more": "and %s more...", + "container.spectatorCantOpen": "Unable to open. Loot not generated yet.", + "container.isLocked": "%s is locked!", + "structure_block.save_success": "Structure saved as '%s'", + "structure_block.save_failure": "Unable to save structure '%s'", + "structure_block.load_success": "Structure loaded from '%s'", + "structure_block.load_prepare": "Structure '%s' position prepared", + "structure_block.load_not_found": "Structure '%s' is not available", + "structure_block.size_success": "Size successfully detected for '%s'", + "structure_block.size_failure": "Unable to detect structure size, add corners with matching structure names", + "structure_block.mode.save": "Save", + "structure_block.mode.load": "Load", + "structure_block.mode.data": "Data", + "structure_block.mode.corner": "Corner", + "structure_block.hover.save": "Save: %s", + "structure_block.hover.load": "Load: %s", + "structure_block.hover.data": "Data: %s", + "structure_block.hover.corner": "Corner: %s", + "structure_block.mode_info.save": "Save mode - write to file", + "structure_block.mode_info.load": "Load mode - load from file", + "structure_block.mode_info.data": "Data mode - game logic marker", + "structure_block.mode_info.corner": "Corner mode - placement and size marker", + "structure_block.structure_name": "Structure Name", + "structure_block.custom_data": "Custom Data Tag Name", + "structure_block.position": "Relative Position", + "structure_block.size": "Structure Size", + "structure_block.integrity": "Structure Integrity and Seed", + "structure_block.include_entities": "Include entities:", + "structure_block.detect_size": "Detect structure size and position:", + "structure_block.button.detect_size": "DETECT", + "structure_block.button.save": "SAVE", + "structure_block.button.load": "LOAD", + "structure_block.show_air": "Show invisible blocks:", + "structure_block.show_boundingbox": "Show bounding box:", + "item.dyed": "Dyed", + "item.unbreakable": "Unbreakable", + "item.canBreak": "Can break:", + "item.canPlace": "Can be placed on:", + "item.color": "Color: %s", + "item.nbt_tags": "NBT: %s tag(s)", + "item.durability": "Durability: %s / %s", + "filled_map.mansion": "Woodland Explorer Map", + "filled_map.monument": "Ocean Explorer Map", + "filled_map.unknown": "Unknown Map", + "filled_map.level": "(Level %s/%s)", + "filled_map.scale": "Scaling at 1:%s", + "entity.Item.name": "Item", + "entity.XPOrb.name": "Experience Orb", + "entity.SmallFireball.name": "Small Fireball", + "entity.Fireball.name": "Fireball", + "entity.DragonFireball.name": "Dragon Fireball", + "entity.ThrownPotion.name": "Potion", + "entity.Arrow.name": "Arrow", + "entity.Snowball.name": "Snowball", + "entity.Painting.name": "Painting", + "entity.ArmorStand.name": "Armor Stand", + "entity.Mob.name": "Mob", + "entity.Monster.name": "Monster", + "entity.Creeper.name": "Creeper", + "entity.Skeleton.name": "Skeleton", + "entity.WitherSkeleton.name": "Wither Skeleton", + "entity.Stray.name": "Stray", + "entity.Spider.name": "Spider", + "entity.Giant.name": "Giant", + "entity.Zombie.name": "Zombie", + "entity.Husk.name": "Husk", + "entity.Slime.name": "Slime", + "entity.Ghast.name": "Ghast", + "entity.PigZombie.name": "Zombie Pigman", + "entity.Enderman.name": "Enderman", + "entity.Endermite.name": "Endermite", + "entity.Silverfish.name": "Silverfish", + "entity.CaveSpider.name": "Cave Spider", + "entity.Blaze.name": "Blaze", + "entity.LavaSlime.name": "Magma Cube", + "entity.MushroomCow.name": "Mooshroom", + "entity.Villager.name": "Villager", + "entity.ZombieVillager.name": "Zombie Villager", + "entity.VillagerGolem.name": "Iron Golem", + "entity.SnowMan.name": "Snow Golem", + "entity.EnderDragon.name": "Ender Dragon", + "entity.WitherBoss.name": "Wither", + "entity.Witch.name": "Witch", + "entity.Guardian.name": "Guardian", + "entity.ElderGuardian.name": "Elder Guardian", + "entity.Shulker.name": "Shulker", + "entity.PolarBear.name": "Polar Bear", + "entity.EvocationIllager.name": "Evoker", + "entity.Vex.name": "Vex", + "entity.VindicationIllager.name": "Vindicator", + "entity.Parrot.name": "Parrot", + "entity.IllusionIllager.name": "Illusioner", + "entity.Villager.farmer": "Farmer", + "entity.Villager.fisherman": "Fisherman", + "entity.Villager.shepherd": "Shepherd", + "entity.Villager.fletcher": "Fletcher", + "entity.Villager.librarian": "Librarian", + "entity.Villager.cleric": "Cleric", + "entity.Villager.armor": "Armorer", + "entity.Villager.weapon": "Weapon Smith", + "entity.Villager.tool": "Tool Smith", + "entity.Villager.butcher": "Butcher", + "entity.Villager.leather": "Leatherworker", + "entity.Villager.nitwit": "Nitwit", + "entity.Villager.cartographer": "Cartographer", + "entity.Pig.name": "Pig", + "entity.Sheep.name": "Sheep", + "entity.Cow.name": "Cow", + "entity.Chicken.name": "Chicken", + "entity.Squid.name": "Squid", + "entity.Wolf.name": "Wolf", + "entity.Ozelot.name": "Ocelot", + "entity.Cat.name": "Cat", + "entity.Bat.name": "Bat", + "entity.Horse.name": "Horse", + "entity.Donkey.name": "Donkey", + "entity.Mule.name": "Mule", + "entity.SkeletonHorse.name": "Skeleton Horse", + "entity.ZombieHorse.name": "Zombie Horse", + "entity.Rabbit.name": "Rabbit", + "entity.KillerBunny.name": "The Killer Bunny", + "entity.Llama.name": "Llama", + "entity.PrimedTnt.name": "Block of TNT", + "entity.FallingSand.name": "Falling Block", + "entity.Minecart.name": "Minecart", + "entity.MinecartHopper.name": "Minecart with Hopper", + "entity.MinecartChest.name": "Minecart with Chest", + "entity.Boat.name": "Boat", + "entity.generic.name": "unknown", + "death.fell.accident.ladder": "%1$s fell off a ladder", + "death.fell.accident.vines": "%1$s fell off some vines", + "death.fell.accident.water": "%1$s fell out of the water", + "death.fell.accident.generic": "%1$s fell from a high place", + "death.fell.killer": "%1$s was doomed to fall", + "death.fell.assist": "%1$s was doomed to fall by %2$s", + "death.fell.assist.item": "%1$s was doomed to fall by %2$s using %3$s", + "death.fell.finish": "%1$s fell too far and was finished by %2$s", + "death.fell.finish.item": "%1$s fell too far and was finished by %2$s using %3$s", + "death.attack.lightningBolt": "%1$s was struck by lightning", + "death.attack.inFire": "%1$s went up in flames", + "death.attack.inFire.player": "%1$s walked into fire whilst fighting %2$s", + "death.attack.onFire": "%1$s burned to death", + "death.attack.onFire.player": "%1$s was burnt to a crisp whilst fighting %2$s", + "death.attack.lava": "%1$s tried to swim in lava", + "death.attack.lava.player": "%1$s tried to swim in lava to escape %2$s", + "death.attack.hotFloor": "%1$s discovered floor was lava", + "death.attack.hotFloor.player": "%1$s walked into danger zone due to %2$s", + "death.attack.inWall": "%1$s suffocated in a wall", + "death.attack.cramming": "%1$s was squished too much", + "death.attack.drown": "%1$s drowned", + "death.attack.drown.player": "%1$s drowned whilst trying to escape %2$s", + "death.attack.starve": "%1$s starved to death", + "death.attack.cactus": "%1$s was pricked to death", + "death.attack.cactus.player": "%1$s walked into a cactus whilst trying to escape %2$s", + "death.attack.generic": "%1$s died", + "death.attack.explosion": "%1$s blew up", + "death.attack.explosion.player": "%1$s was blown up by %2$s", + "death.attack.magic": "%1$s was killed by magic", + "death.attack.wither": "%1$s withered away", + "death.attack.anvil": "%1$s was squashed by a falling anvil", + "death.attack.fallingBlock": "%1$s was squashed by a falling block", + "death.attack.mob": "%1$s was slain by %2$s", + "death.attack.player": "%1$s was slain by %2$s", + "death.attack.player.item": "%1$s was slain by %2$s using %3$s", + "death.attack.arrow": "%1$s was shot by %2$s", + "death.attack.arrow.item": "%1$s was shot by %2$s using %3$s", + "death.attack.fireball": "%1$s was fireballed by %2$s", + "death.attack.fireball.item": "%1$s was fireballed by %2$s using %3$s", + "death.attack.thrown": "%1$s was pummeled by %2$s", + "death.attack.thrown.item": "%1$s was pummeled by %2$s using %3$s", + "death.attack.indirectMagic": "%1$s was killed by %2$s using magic", + "death.attack.indirectMagic.item": "%1$s was killed by %2$s using %3$s", + "death.attack.thorns": "%1$s was killed trying to hurt %2$s", + "death.attack.fall": "%1$s hit the ground too hard", + "death.attack.outOfWorld": "%1$s fell out of the world", + "death.attack.dragonBreath": "%1$s was roasted in dragon breath", + "death.attack.flyIntoWall": "%1$s experienced kinetic energy", + "death.attack.fireworks": "%1$s went off with a bang", + "deathScreen.respawn": "Respawn", + "deathScreen.spectate": "Spectate world", + "deathScreen.deleteWorld": "Delete world", + "deathScreen.titleScreen": "Title screen", + "deathScreen.score": "Score", + "deathScreen.title.hardcore": "Game over!", + "deathScreen.title": "You died!", + "deathScreen.leaveServer": "Leave server", + "deathScreen.quit.confirm": "Are you sure you want to quit?", + "effect.none": "No Effects", + "effect.moveSpeed": "Speed", + "effect.moveSlowdown": "Slowness", + "effect.digSpeed": "Haste", + "effect.digSlowDown": "Mining Fatigue", + "effect.damageBoost": "Strength", + "effect.heal": "Instant Health", + "effect.harm": "Instant Damage", + "effect.jump": "Jump Boost", + "effect.confusion": "Nausea", + "effect.regeneration": "Regeneration", + "effect.resistance": "Resistance", + "effect.fireResistance": "Fire Resistance", + "effect.waterBreathing": "Water Breathing", + "effect.invisibility": "Invisibility", + "effect.blindness": "Blindness", + "effect.nightVision": "Night Vision", + "effect.hunger": "Hunger", + "effect.weakness": "Weakness", + "effect.poison": "Poison", + "effect.wither": "Wither", + "effect.healthBoost": "Health Boost", + "effect.absorption": "Absorption", + "effect.saturation": "Saturation", + "effect.glowing": "Glowing", + "effect.luck": "Luck", + "effect.unluck": "Bad Luck", + "effect.levitation": "Levitation", + "tipped_arrow.effect.empty": "Uncraftable Tipped Arrow", + "tipped_arrow.effect.water": "Arrow of Splashing", + "tipped_arrow.effect.mundane": "Tipped Arrow", + "tipped_arrow.effect.thick": "Tipped Arrow", + "tipped_arrow.effect.awkward": "Tipped Arrow", + "tipped_arrow.effect.night_vision": "Arrow of Night Vision", + "tipped_arrow.effect.invisibility": "Arrow of Invisibility", + "tipped_arrow.effect.leaping": "Arrow of Leaping", + "tipped_arrow.effect.fire_resistance": "Arrow of Fire Resistance", + "tipped_arrow.effect.swiftness": "Arrow of Swiftness", + "tipped_arrow.effect.slowness": "Arrow of Slowness", + "tipped_arrow.effect.water_breathing": "Arrow of Water Breathing", + "tipped_arrow.effect.healing": "Arrow of Healing", + "tipped_arrow.effect.harming": "Arrow of Harming", + "tipped_arrow.effect.poison": "Arrow of Poison", + "tipped_arrow.effect.regeneration": "Arrow of Regeneration", + "tipped_arrow.effect.strength": "Arrow of Strength", + "tipped_arrow.effect.weakness": "Arrow of Weakness", + "tipped_arrow.effect.levitation": "Arrow of Levitation", + "tipped_arrow.effect.luck": "Arrow of Luck", + "potion.whenDrank": "When Applied:", + "potion.effect.empty": "Uncraftable Potion", + "potion.effect.water": "Water Bottle", + "potion.effect.mundane": "Mundane Potion", + "potion.effect.thick": "Thick Potion", + "potion.effect.awkward": "Awkward Potion", + "potion.effect.night_vision": "Potion of Night Vision", + "potion.effect.invisibility": "Potion of Invisibility", + "potion.effect.leaping": "Potion of Leaping", + "potion.effect.fire_resistance": "Potion of Fire Resistance", + "potion.effect.swiftness": "Potion of Swiftness", + "potion.effect.slowness": "Potion of Slowness", + "potion.effect.water_breathing": "Potion of Water Breathing", + "potion.effect.healing": "Potion of Healing", + "potion.effect.harming": "Potion of Harming", + "potion.effect.poison": "Potion of Poison", + "potion.effect.regeneration": "Potion of Regeneration", + "potion.effect.strength": "Potion of Strength", + "potion.effect.weakness": "Potion of Weakness", + "potion.effect.levitation": "Potion of Levitation", + "potion.effect.luck": "Potion of Luck", + "splash_potion.effect.empty": "Splash Uncraftable Potion", + "splash_potion.effect.water": "Splash Water Bottle", + "splash_potion.effect.mundane": "Mundane Splash Potion", + "splash_potion.effect.thick": "Thick Splash Potion", + "splash_potion.effect.awkward": "Awkward Splash Potion", + "splash_potion.effect.night_vision": "Splash Potion of Night Vision", + "splash_potion.effect.invisibility": "Splash Potion of Invisibility", + "splash_potion.effect.leaping": "Splash Potion of Leaping", + "splash_potion.effect.fire_resistance": "Splash Potion of Fire Resistance", + "splash_potion.effect.swiftness": "Splash Potion of Swiftness", + "splash_potion.effect.slowness": "Splash Potion of Slowness", + "splash_potion.effect.water_breathing": "Splash Potion of Water Breathing", + "splash_potion.effect.healing": "Splash Potion of Healing", + "splash_potion.effect.harming": "Splash Potion of Harming", + "splash_potion.effect.poison": "Splash Potion of Poison", + "splash_potion.effect.regeneration": "Splash Potion of Regeneration", + "splash_potion.effect.strength": "Splash Potion of Strength", + "splash_potion.effect.weakness": "Splash Potion of Weakness", + "splash_potion.effect.levitation": "Splash Potion of Levitation", + "splash_potion.effect.luck": "Splash Potion of Luck", + "lingering_potion.effect.empty": "Lingering Uncraftable Potion", + "lingering_potion.effect.water": "Lingering Water Bottle", + "lingering_potion.effect.mundane": "Mundane Lingering Potion", + "lingering_potion.effect.thick": "Thick Lingering Potion", + "lingering_potion.effect.awkward": "Awkward Lingering Potion", + "lingering_potion.effect.night_vision": "Lingering Potion of Night Vision", + "lingering_potion.effect.invisibility": "Lingering Potion of Invisibility", + "lingering_potion.effect.leaping": "Lingering Potion of Leaping", + "lingering_potion.effect.fire_resistance": "Lingering Potion of Fire Resistance", + "lingering_potion.effect.swiftness": "Lingering Potion of Swiftness", + "lingering_potion.effect.slowness": "Lingering Potion of Slowness", + "lingering_potion.effect.water_breathing": "Lingering Potion of Water Breathing", + "lingering_potion.effect.healing": "Lingering Potion of Healing", + "lingering_potion.effect.harming": "Lingering Potion of Harming", + "lingering_potion.effect.poison": "Lingering Potion of Poison", + "lingering_potion.effect.regeneration": "Lingering Potion of Regeneration", + "lingering_potion.effect.strength": "Lingering Potion of Strength", + "lingering_potion.effect.weakness": "Lingering Potion of Weakness", + "lingering_potion.effect.levitation": "Lingering Potion of Levitation", + "lingering_potion.effect.luck": "Lingering Potion of Luck", + "potion.potency.1": "II", + "potion.potency.2": "III", + "enchantment.damage.all": "Sharpness", + "enchantment.damage.undead": "Smite", + "enchantment.damage.arthropods": "Bane of Arthropods", + "enchantment.knockback": "Knockback", + "enchantment.fire": "Fire Aspect", + "enchantment.sweeping": "Sweeping Edge", + "enchantment.protect.all": "Protection", + "enchantment.protect.fire": "Fire Protection", + "enchantment.protect.fall": "Feather Falling", + "enchantment.protect.explosion": "Blast Protection", + "enchantment.protect.projectile": "Projectile Protection", + "enchantment.oxygen": "Respiration", + "enchantment.waterWorker": "Aqua Affinity", + "enchantment.waterWalker": "Depth Strider", + "enchantment.frostWalker": "Frost Walker", + "enchantment.digging": "Efficiency", + "enchantment.untouching": "Silk Touch", + "enchantment.durability": "Unbreaking", + "enchantment.lootBonus": "Looting", + "enchantment.lootBonusDigger": "Fortune", + "enchantment.lootBonusFishing": "Luck of the Sea", + "enchantment.fishingSpeed": "Lure", + "enchantment.arrowDamage": "Power", + "enchantment.arrowFire": "Flame", + "enchantment.arrowKnockback": "Punch", + "enchantment.arrowInfinite": "Infinity", + "enchantment.thorns": "Thorns", + "enchantment.mending": "Mending", + "enchantment.binding_curse": "Curse of Binding", + "enchantment.vanishing_curse": "Curse of Vanishing", + "enchantment.level.1": "I", + "enchantment.level.2": "II", + "enchantment.level.3": "III", + "enchantment.level.4": "IV", + "enchantment.level.5": "V", + "enchantment.level.6": "VI", + "enchantment.level.7": "VII", + "enchantment.level.8": "VIII", + "enchantment.level.9": "IX", + "enchantment.level.10": "X", + "gui.advancements": "Advancements", + "gui.stats": "Statistics", + "advancements.empty": "There doesn't seem to be anything here...", + "advancements.toast.task": "Advancement Made!", + "advancements.toast.challenge": "Challenge Complete!", + "advancements.toast.goal": "Goal Reached!", + "stats.tooltip.type.statistic": "Statistic", + "stat.generalButton": "General", + "stat.blocksButton": "Blocks", + "stat.itemsButton": "Items", + "stat.mobsButton": "Mobs", + "stat.used": "Times Used", + "stat.mined": "Times Mined", + "stat.depleted": "Times Depleted", + "stat.crafted": "Times Crafted", + "stat.entityKills": "You killed %s %s", + "stat.entityKilledBy": "%s killed you %s time(s)", + "stat.entityKills.none": "You have never killed %s", + "stat.entityKilledBy.none": "You have never been killed by %s", + "stat.startGame": "Times Played", + "stat.createWorld": "Worlds Created", + "stat.loadWorld": "Saves Loaded", + "stat.joinMultiplayer": "Multiplayer Joins", + "stat.leaveGame": "Games Quit", + "stat.playOneMinute": "Time Played", + "stat.timeSinceDeath": "Since Last Death", + "stat.sneakTime": "Sneak Time", + "stat.walkOneCm": "Distance Walked", + "stat.crouchOneCm": "Distance Crouched", + "stat.sprintOneCm": "Distance Sprinted", + "stat.fallOneCm": "Distance Fallen", + "stat.swimOneCm": "Distance Swum", + "stat.flyOneCm": "Distance Flown", + "stat.climbOneCm": "Distance Climbed", + "stat.diveOneCm": "Distance Dove", + "stat.minecartOneCm": "Distance by Minecart", + "stat.boatOneCm": "Distance by Boat", + "stat.pigOneCm": "Distance by Pig", + "stat.horseOneCm": "Distance by Horse", + "stat.aviateOneCm": "Distance by Elytra", + "stat.jump": "Jumps", + "stat.drop": "Items Dropped", + "stat.dropped": "Dropped", + "stat.pickup": "Picked Up", + "stat.damageDealt": "Damage Dealt", + "stat.damageTaken": "Damage Taken", + "stat.deaths": "Number of Deaths", + "stat.mobKills": "Mob Kills", + "stat.animalsBred": "Animals Bred", + "stat.playerKills": "Player Kills", + "stat.fishCaught": "Fish Caught", + "stat.treasureFished": "Treasure Fished", + "stat.junkFished": "Junk Fished", + "stat.talkedToVillager": "Talked to Villagers", + "stat.tradedWithVillager": "Traded with Villagers", + "stat.cakeSlicesEaten": "Cake Slices Eaten", + "stat.cauldronFilled": "Cauldrons Filled", + "stat.cauldronUsed": "Water Taken from Cauldron", + "stat.armorCleaned": "Armor Pieces Cleaned", + "stat.bannerCleaned": "Banners Cleaned", + "stat.brewingstandInteraction": "Interactions with Brewing Stand", + "stat.beaconInteraction": "Interactions with Beacon", + "stat.dropperInspected": "Droppers Searched", + "stat.hopperInspected": "Hoppers Searched", + "stat.dispenserInspected": "Dispensers Searched", + "stat.noteblockPlayed": "Note Blocks Played", + "stat.noteblockTuned": "Note Blocks Tuned", + "stat.flowerPotted": "Plants Potted", + "stat.trappedChestTriggered": "Trapped Chests Triggered", + "stat.enderchestOpened": "Ender Chests Opened", + "stat.itemEnchanted": "Items Enchanted", + "stat.recordPlayed": "Records Played", + "stat.furnaceInteraction": "Interactions with Furnace", + "stat.workbenchInteraction": "Interactions with Crafting Table", + "stat.chestOpened": "Chests Opened", + "stat.shulkerBoxOpened": "Shulker Boxes Opened", + "stat.sleepInBed": "Times Slept in a Bed", + "stat.mineBlock": "%1$s Mined", + "stat.craftItem": "%1$s Crafted", + "stat.useItem": "%1$s Used", + "stat.breakItem": "%1$s Depleted", + "recipe.toast.title": "New Recipes Unlocked!", + "recipe.toast.description": "Check your recipe book", + "commands.generic.exception": "An unknown error occurred while attempting to perform this command", + "commands.generic.permission": "You do not have permission to use this command", + "commands.generic.syntax": "Invalid command syntax", + "commands.generic.player.notFound": "Player '%s' cannot be found", + "commands.generic.entity.notFound": "Entity '%s' cannot be found", + "commands.generic.selector.notFound": "Selector '%s' found nothing", + "commands.generic.entity.invalidUuid": "The entity UUID '%s' is in an invalid format", + "commands.generic.entity.invalidType": "Entity type '%s' is invalid", + "commands.generic.notFound": "Unknown command. Try /help for a list of commands", + "commands.generic.parameter.invalid": "'%s' is not a valid parameter", + "commands.generic.num.invalid": "'%s' is not a valid number", + "commands.generic.boolean.invalid": "'%s' is not true or false", + "commands.generic.num.tooSmall": "The number you have entered (%s) is too small, it must be at least %s", + "commands.generic.num.tooBig": "The number you have entered (%s) is too big, it must be at most %s", + "commands.generic.blockstate.invalid": "'%s' is not a state for block %s", + "commands.generic.usage": "Usage: %s", + "commands.generic.selector_argument": "Invalid selector argument: '%s'", + "commands.generic.player.unspecified": "You must specify which player you wish to perform this action on.", + "commands.setidletimeout.usage": "/setidletimeout ", + "commands.setidletimeout.success": "Successfully set the idle timeout to %s minutes.", + "commands.xp.failure.widthdrawXp": "Cannot give player negative experience points", + "commands.xp.success": "Given %s experience to %s", + "commands.xp.success.levels": "Given %s levels to %s", + "commands.xp.success.negative.levels": "Taken %s levels from %s", + "commands.xp.usage": "/xp [player] OR /xp L [player]", + "commands.playsound.usage": "/playsound [x] [y] [z] [volume] [pitch] [minimumVolume]", + "commands.playsound.success": "Played sound '%s' to %s", + "commands.playsound.playerTooFar": "Player %s is too far away to hear the sound", + "commands.playsound.unknownSoundSource": "Source %s is unknown", + "commands.give.usage": "/give [amount] [data] [dataTag]", + "commands.give.item.notFound": "There is no such item with name %s", + "commands.give.block.notFound": "There is no such block with name %s", + "commands.give.success": "Given %s * %s to %s", + "commands.give.tagError": "Data tag parsing failed: %s", + "commands.replaceitem.usage": "/replaceitem ...", + "commands.replaceitem.entity.usage": "/replaceitem entity [amount] [data] [dataTag]", + "commands.replaceitem.block.usage": "/replaceitem block [amount] [data] [dataTag]", + "commands.replaceitem.tagError": "Data tag parsing failed: %s", + "commands.replaceitem.noContainer": "Block at %s, %s, %s is not a container", + "commands.replaceitem.failed": "Could not replace slot %s with %s * %s", + "commands.replaceitem.success": "Replaced slot %s with %s * %s", + "commands.stats.usage": "/stats ...", + "commands.stats.entity.usage": "/stats entity ...", + "commands.stats.entity.set.usage": "/stats entity set ", + "commands.stats.entity.clear.usage": "/stats entity clear ", + "commands.stats.block.usage": "/stats block ...", + "commands.stats.block.set.usage": "/stats block set ", + "commands.stats.block.clear.usage": "/stats block clear ", + "commands.stats.noCompatibleBlock": "Block at %s, %s, %s can not track stats", + "commands.stats.failed": "Invalid parameters", + "commands.stats.cleared": "Cleared %s stats", + "commands.stats.success": "Storing %s stats in %s on %s", + "commands.summon.usage": "/summon [x] [y] [z] [dataTag]", + "commands.summon.success": "Object successfully summoned", + "commands.summon.failed": "Unable to summon object", + "commands.summon.tagError": "Data tag parsing failed: %s", + "commands.summon.outOfWorld": "Cannot summon the object out of the world", + "commands.testforblock.usage": "/testforblock [dataValue|-1|state|*] [dataTag]", + "commands.testforblock.failed.tile": "The block at %s, %s, %s is %s (expected: %s)", + "commands.testforblock.failed.data": "The block at %s, %s, %s had the data value of %s (expected: %s)", + "commands.testforblock.failed.nbt": "The block at %s, %s, %s did not have the required NBT keys", + "commands.testforblock.failed.tileEntity": "The block at %s, %s, %s is not a block entity and cannot support tag matching", + "commands.testforblock.success": "Successfully found the block at %s, %s, %s", + "commands.testforblock.outOfWorld": "Cannot test for block outside of the world", + "commands.setblock.usage": "/setblock [dataValue|state] [oldBlockHandling] [dataTag]", + "commands.setblock.success": "Block placed", + "commands.setblock.failed": "Unable to place block", + "commands.setblock.tagError": "Data tag parsing failed: %s", + "commands.setblock.outOfWorld": "Cannot place block outside of the world", + "commands.setblock.notFound": "There is no such block with ID/name %s", + "commands.setblock.noChange": "The block couldn't be placed", + "commands.fill.usage": "/fill [dataValue|state] [oldBlockHandling] [dataTag]", + "commands.fill.outOfWorld": "Cannot place blocks outside of the world", + "commands.fill.tagError": "Data tag parsing failed: %s", + "commands.fill.success": "%s blocks filled", + "commands.fill.failed": "No blocks filled", + "commands.fill.tooManyBlocks": "Too many blocks in the specified area (%s > %s)", + "commands.clone.usage": "/clone [maskMode] [cloneMode]", + "commands.clone.outOfWorld": "Cannot access blocks outside of the world", + "commands.clone.noOverlap": "Source and destination can not overlap", + "commands.clone.success": "%s blocks cloned", + "commands.clone.failed": "No blocks cloned", + "commands.clone.tooManyBlocks": "Too many blocks in the specified area (%s > %s)", + "commands.compare.usage": "/testforblocks [mode]", + "commands.compare.outOfWorld": "Cannot access blocks outside of the world", + "commands.compare.failed": "Source and destination are not identical", + "commands.compare.success": "%s blocks compared", + "commands.compare.tooManyBlocks": "Too many blocks in the specified area (%s > %s)", + "commands.blockdata.usage": "/blockdata ", + "commands.blockdata.success": "Block data updated to: %s", + "commands.blockdata.tagError": "Data tag parsing failed: %s", + "commands.blockdata.outOfWorld": "Cannot change block outside of the world", + "commands.blockdata.notValid": "The target block is not a data holder block", + "commands.blockdata.failed": "The data tag did not change: %s", + "commands.entitydata.usage": "/entitydata ", + "commands.entitydata.success": "Entity data updated to: %s", + "commands.entitydata.tagError": "Data tag parsing failed: %s", + "commands.entitydata.noPlayers": "%s is a player and cannot be changed", + "commands.entitydata.failed": "The data tag did not change: %s", + "commands.effect.usage": "/effect [seconds] [amplifier] [hideParticles] OR /effect clear", + "commands.effect.notFound": "There is no such mob effect with ID %s", + "commands.effect.success": "Given %1$s (ID %2$s) * %3$s to %4$s for %5$s seconds", + "commands.effect.success.removed": "Took %1$s from %2$s", + "commands.effect.success.removed.all": "Took all effects from %s", + "commands.effect.failure.notActive": "Couldn't take %1$s from %2$s as they do not have the effect", + "commands.effect.failure.notActive.all": "Couldn't take any effects from %s as they do not have any", + "commands.enchant.usage": "/enchant [level]", + "commands.enchant.notFound": "There is no such enchantment with ID %s", + "commands.enchant.noItem": "The target doesn't hold an item", + "commands.enchant.cantEnchant": "The selected enchantment can't be added to the target item", + "commands.enchant.cantCombine": "%1$s can't be combined with %2$s", + "commands.enchant.success": "Enchanting succeeded", + "commands.particle.usage": "/particle [count] [mode] [player] [params]", + "commands.particle.success": "Playing effect %s for %s times", + "commands.particle.notFound": "Unknown effect name (%s)", + "commands.particle.invalidParam": "Invalid param given (%s)", + "commands.clear.usage": "/clear [player] [item] [data] [maxCount] [dataTag]", + "commands.clear.success": "Cleared the inventory of %s, removing %s items", + "commands.clear.testing": "%s has %s items that match the criteria", + "commands.clear.failure": "Could not clear the inventory of %s, no items to remove", + "commands.clear.tagError": "Data tag parsing failed: %s", + "commands.downfall.usage": "/toggledownfall", + "commands.downfall.success": "Toggled downfall", + "commands.time.usage": "/time ", + "commands.time.added": "Added %s to the time", + "commands.time.set": "Set the time to %s", + "commands.time.query": "Time is %s", + "commands.players.usage": "/list", + "commands.players.list": "There are %s/%s players online:", + "commands.banlist.ips": "There are %s total banned IP addresses:", + "commands.banlist.players": "There are %s total banned players:", + "commands.banlist.usage": "/banlist [ips|players]", + "commands.kill.usage": "/kill [player|entity]", + "commands.kill.successful": "Killed %s", + "commands.kick.success": "Kicked %s from the game", + "commands.kick.success.reason": "Kicked %s from the game: '%s'", + "commands.kick.usage": "/kick [reason ...]", + "commands.op.success": "Opped %s", + "commands.op.failed": "Could not op %s", + "commands.op.usage": "/op ", + "commands.deop.success": "De-opped %s", + "commands.deop.failed": "Could not de-op %s", + "commands.deop.usage": "/deop ", + "commands.say.usage": "/say ", + "commands.ban.success": "Banned player %s", + "commands.ban.failed": "Could not ban player %s", + "commands.ban.usage": "/ban [reason ...]", + "commands.unban.success": "Unbanned player %s", + "commands.unban.failed": "Could not unban player %s", + "commands.unban.usage": "/pardon ", + "commands.banip.invalid": "You have entered an invalid IP address or a player that is not online", + "commands.banip.success": "Banned IP address %s", + "commands.banip.success.players": "Banned IP address %s belonging to %s", + "commands.banip.usage": "/ban-ip [reason ...]", + "commands.unbanip.invalid": "You have entered an invalid IP address", + "commands.unbanip.success": "Unbanned IP address %s", + "commands.unbanip.usage": "/pardon-ip
", + "commands.save.usage": "/save-all [flush]", + "commands.save-on.alreadyOn": "Saving is already turned on", + "commands.save-on.usage": "/save-on", + "commands.save-off.alreadyOff": "Saving is already turned off", + "commands.save-off.usage": "/save-off", + "commands.save.enabled": "Turned on world auto-saving", + "commands.save.disabled": "Turned off world auto-saving", + "commands.save.start": "Saving...", + "commands.save.success": "Saved the world", + "commands.save.failed": "Saving failed: %s", + "commands.save.flushStart": "Flushing all saves...", + "commands.save.flushEnd": "Flushing completed", + "commands.stop.usage": "/stop", + "commands.stop.start": "Stopping the server", + "commands.tp.usage": "/tp [target player] OR /tp [target player] [ ]", + "commands.tp.success": "Teleported %s to %s", + "commands.tp.success.coordinates": "Teleported %s to %s, %s, %s", + "commands.tp.notSameDimension": "Unable to teleport because players are not in the same dimension", + "commands.teleport.usage": "/teleport [ ]", + "commands.teleport.success.coordinates": "Teleported %s to %s, %s, %s", + "commands.whitelist.list": "There are %s (out of %s seen) whitelisted players:", + "commands.whitelist.enabled": "Turned on the whitelist", + "commands.whitelist.disabled": "Turned off the whitelist", + "commands.whitelist.reloaded": "Reloaded the whitelist", + "commands.whitelist.add.success": "Added %s to the whitelist", + "commands.whitelist.add.failed": "Could not add %s to the whitelist", + "commands.whitelist.add.usage": "/whitelist add ", + "commands.whitelist.remove.success": "Removed %s from the whitelist", + "commands.whitelist.remove.failed": "Could not remove %s from the whitelist", + "commands.whitelist.remove.usage": "/whitelist remove ", + "commands.whitelist.usage": "/whitelist ", + "commands.advancement.usage": "/advancement ", + "commands.advancement.advancementNotFound": "No advancement was found by the name '%1$s'", + "commands.advancement.criterionNotFound": "The advancement '%1$s' does not contain the criterion '%2$s'", + "commands.reload.usage": "/reload", + "commands.reload.success": "Successfully reloaded loot tables, advancements and functions", + "commands.function.usage": "/function [if |unless ]", + "commands.function.unknown": "Unknown function '%s'", + "commands.function.success": "Executed %2$s command(s) from function '%1$s'", + "commands.function.skipped": "Skipped execution of function '%1$s'", + "commands.advancement.grant.usage": "/advancement grant ", + "commands.advancement.grant.only.usage": "/advancement grant only [criterion]", + "commands.advancement.grant.only.failed": "Couldn't grant the advancement '%1$s' to %2$s because they already have it", + "commands.advancement.grant.only.success": "Granted the entire advancement '%1$s' to %2$s", + "commands.advancement.grant.criterion.failed": "Couldn't grant the criterion '%3$s' of advancement '%1$s' to %2$s because they already have it", + "commands.advancement.grant.criterion.success": "Granted the criterion '%3$s' of advancement '%1$s' to %2$s", + "commands.advancement.grant.until.usage": "/advancement grant until ", + "commands.advancement.grant.until.failed": "Couldn't grant the advancement '%1$s' or its ancestors to %2$s because they already have them all", + "commands.advancement.grant.until.success": "Granted '%1$s' and all ancestors (%3$s total granted) to %2$s", + "commands.advancement.grant.from.usage": "/advancement grant from ", + "commands.advancement.grant.from.failed": "Couldn't grant the advancement '%1$s' or its descendants to %2$s because they already have them all", + "commands.advancement.grant.from.success": "Granted '%1$s' and all descendants (%3$s total granted) to %2$s", + "commands.advancement.grant.through.usage": "/advancement grant through ", + "commands.advancement.grant.through.failed": "Couldn't grant the advancement '%1$s', its ancestors or its descendants to %2$s because they already have them all", + "commands.advancement.grant.through.success": "Granted '%1$s', all ancestors and all descendants (%3$s total granted) to %2$s", + "commands.advancement.grant.everything.usage": "/advancement grant everything", + "commands.advancement.grant.everything.failed": "Couldn't grant any advancements to %1$s because they already have them all", + "commands.advancement.grant.everything.success": "Granted every advancement (%2$s total granted) to %1$s", + "commands.advancement.revoke.usage": "/advancement revoke ", + "commands.advancement.revoke.only.usage": "/advancement revoke only [criterion]", + "commands.advancement.revoke.only.failed": "Couldn't revoke the advancement '%1$s' from %2$s because they haven't started it", + "commands.advancement.revoke.only.success": "Revoked the entire advancement '%1$s' from %2$s", + "commands.advancement.revoke.criterion.failed": "Couldn't revoke the criterion '%3$s' of advancement '%1$s' from %2$s because they haven't started it", + "commands.advancement.revoke.criterion.success": "Revoked the criterion '%3$s' of advancement '%1$s' from %2$s", + "commands.advancement.revoke.until.usage": "/advancement revoke until ", + "commands.advancement.revoke.until.failed": "Couldn't revoke the advancement '%1$s' or its ancestors from %2$s because they haven't started any", + "commands.advancement.revoke.until.success": "Revoked '%1$s' and all ancestors (%3$s total revoked) from %2$s", + "commands.advancement.revoke.from.usage": "/advancement revoke from ", + "commands.advancement.revoke.from.failed": "Couldn't revoke the advancement '%1$s' or its descendants from %2$s because they haven't started any", + "commands.advancement.revoke.from.success": "Revoked '%1$s' and all descendants (%3$s total revoked) from %2$s", + "commands.advancement.revoke.through.usage": "/advancement revoke through ", + "commands.advancement.revoke.through.failed": "Couldn't revoke the advancement '%1$s', its ancestors or its descendants from %2$s because they haven't started any", + "commands.advancement.revoke.through.success": "Revoked '%1$s', all ancestors and all descendants (%3$s total revoked) from %2$s", + "commands.advancement.revoke.everything.usage": "/advancement revoke everything", + "commands.advancement.revoke.everything.failed": "Couldn't revoke any advancements to %1$s because they haven't started any", + "commands.advancement.revoke.everything.success": "Revoked every advancement (%2$s total revoked) from %1$s", + "commands.advancement.test.usage": "/advancement test [criterion]", + "commands.advancement.test.criterion.success": "Player %1$s has completed criterion '%3$s' of advancement '%2$s'", + "commands.advancement.test.criterion.notDone": "Player %1$s has not completed criterion '%3$s' of advancement '%2$s'", + "commands.advancement.test.advancement.success": "Player %1$s has completed advancement '%2$s'", + "commands.advancement.test.advancement.notDone": "Player %1$s has not completed advancement '%2$s'", + "commands.scoreboard.usage": "/scoreboard ...", + "commands.scoreboard.noMultiWildcard": "Only one user wildcard allowed", + "commands.scoreboard.allMatchesFailed": "All matches failed", + "commands.scoreboard.teamNotFound": "No team was found by the name '%s'", + "commands.scoreboard.objectiveNotFound": "No objective was found by the name '%s'", + "commands.scoreboard.objectiveReadOnly": "The objective '%s' is read-only and cannot be set", + "commands.scoreboard.objectives.usage": "/scoreboard objectives ...", + "commands.scoreboard.objectives.setdisplay.usage": "/scoreboard objectives setdisplay [objective]", + "commands.scoreboard.objectives.setdisplay.invalidSlot": "No such display slot '%s'", + "commands.scoreboard.objectives.setdisplay.successCleared": "Cleared objective display slot '%s'", + "commands.scoreboard.objectives.setdisplay.successSet": "Set the display objective in slot '%s' to '%s'", + "commands.scoreboard.objectives.add.usage": "/scoreboard objectives add [display name ...]", + "commands.scoreboard.objectives.add.wrongType": "Invalid objective criteria type '%s'", + "commands.scoreboard.objectives.add.alreadyExists": "An objective with the name '%s' already exists", + "commands.scoreboard.objectives.add.tooLong": "The name '%s' is too long for an objective, it can be at most %s characters long", + "commands.scoreboard.objectives.add.displayTooLong": "The display name '%s' is too long for an objective, it can be at most %s characters long", + "commands.scoreboard.objectives.add.success": "Added new objective '%s' successfully", + "commands.scoreboard.objectives.remove.usage": "/scoreboard objectives remove ", + "commands.scoreboard.objectives.remove.success": "Removed objective '%s' successfully", + "commands.scoreboard.objectives.list.count": "Showing %s objective(s) on scoreboard:", + "commands.scoreboard.objectives.list.entry": "- %s: displays as '%s' and is type '%s'", + "commands.scoreboard.objectives.list.empty": "There are no objectives on the scoreboard", + "commands.scoreboard.players.usage": "/scoreboard players ...", + "commands.scoreboard.players.name.tooLong": "The name '%s' is too long for a player, it can be at most %s characters long", + "commands.scoreboard.players.set.success": "Set score of %s for player %s to %s", + "commands.scoreboard.players.set.tagMismatch": "The dataTag does not match for %s", + "commands.scoreboard.players.set.tagError": "Could not parse dataTag, reason: %s", + "commands.scoreboard.players.set.usage": "/scoreboard players set [dataTag]", + "commands.scoreboard.players.add.usage": "/scoreboard players add [dataTag]", + "commands.scoreboard.players.remove.usage": "/scoreboard players remove [dataTag]", + "commands.scoreboard.players.reset.usage": "/scoreboard players reset [objective]", + "commands.scoreboard.players.reset.success": "Reset scores of player %s", + "commands.scoreboard.players.resetscore.success": "Reset score %s of player %s", + "commands.scoreboard.players.list.usage": "/scoreboard players list [name]", + "commands.scoreboard.players.list.count": "Showing %s tracked players on the scoreboard:", + "commands.scoreboard.players.list.empty": "There are no tracked players on the scoreboard", + "commands.scoreboard.players.list.player.count": "Showing %s tracked objective(s) for %s:", + "commands.scoreboard.players.list.player.entry": "- %2$s: %1$s (%3$s)", + "commands.scoreboard.players.list.player.empty": "Player %s has no scores recorded", + "commands.scoreboard.players.enable.usage": "/scoreboard players enable ", + "commands.scoreboard.players.enable.success": "Enabled trigger %s for %s", + "commands.scoreboard.players.enable.noTrigger": "Objective %s is not a trigger", + "commands.scoreboard.players.test.usage": "/scoreboard players test [max]", + "commands.scoreboard.players.test.notFound": "No %s score for %s found", + "commands.scoreboard.players.test.failed": "Score %s is NOT in range %s to %s", + "commands.scoreboard.players.test.success": "Score %s is in range %s to %s", + "commands.scoreboard.players.operation.usage": "/scoreboard players operation ", + "commands.scoreboard.players.operation.notFound": "No %s score for %s found", + "commands.scoreboard.players.operation.invalidOperation": "Invalid operation %s", + "commands.scoreboard.players.operation.success": "Operation applied successfully", + "commands.scoreboard.players.tag.usage": "/scoreboard players tag [dataTag]", + "commands.scoreboard.players.tag.tagMismatch": "The dataTag does not match for %s", + "commands.scoreboard.players.tag.tooMany": "Can't add more than %s tags to an entity", + "commands.scoreboard.players.tag.notFound": "Entity didn't have the %s tag", + "commands.scoreboard.players.tag.success.add": "Tag %s added", + "commands.scoreboard.players.tag.success.remove": "Tag %s removed", + "commands.scoreboard.players.tag.list": "Tags on entity %s are:", + "commands.scoreboard.players.tag.tagError": "Players tag command failed, reason: %s", + "commands.scoreboard.teams.usage": "/scoreboard teams ...", + "commands.scoreboard.teams.add.usage": "/scoreboard teams add [display name ...]", + "commands.scoreboard.teams.add.alreadyExists": "A team with the name '%s' already exists", + "commands.scoreboard.teams.add.tooLong": "The name '%s' is too long for a team, it can be at most %s characters long", + "commands.scoreboard.teams.add.displayTooLong": "The display name '%s' is too long for a team, it can be at most %s characters long", + "commands.scoreboard.teams.add.success": "Added new team '%s' successfully", + "commands.scoreboard.teams.list.usage": "/scoreboard teams list [name]", + "commands.scoreboard.teams.list.count": "Showing %s teams on the scoreboard:", + "commands.scoreboard.teams.list.entry": "- %1$s: '%2$s' has %3$s players", + "commands.scoreboard.teams.list.empty": "There are no teams registered on the scoreboard", + "commands.scoreboard.teams.list.player.count": "Showing %s player(s) in team %s:", + "commands.scoreboard.teams.list.player.entry": "- %2$s: %1$s (%3$s)", + "commands.scoreboard.teams.list.player.empty": "Team %s has no players", + "commands.scoreboard.teams.empty.usage": "/scoreboard teams empty ", + "commands.scoreboard.teams.empty.alreadyEmpty": "Team %s is already empty, cannot remove nonexistant players", + "commands.scoreboard.teams.empty.success": "Removed all %s player(s) from team %s", + "commands.scoreboard.teams.remove.usage": "/scoreboard teams remove ", + "commands.scoreboard.teams.remove.success": "Removed team %s", + "commands.scoreboard.teams.join.usage": "/scoreboard teams join [player]", + "commands.scoreboard.teams.join.success": "Added %s player(s) to team %s: %s", + "commands.scoreboard.teams.join.failure": "Could not add %s player(s) to team %s: %s", + "commands.scoreboard.teams.leave.usage": "/scoreboard teams leave [player]", + "commands.scoreboard.teams.leave.success": "Removed %s player(s) from their teams: %s", + "commands.scoreboard.teams.leave.failure": "Could not remove %s player(s) from their teams: %s", + "commands.scoreboard.teams.leave.noTeam": "You are not in a team", + "commands.scoreboard.teams.option.usage": "/scoreboard teams option ", + "commands.scoreboard.teams.option.noValue": "Valid values for option %s are: %s", + "commands.scoreboard.teams.option.success": "Set option %s for team %s to %s", + "commands.execute.usage": "/execute OR /execute detect ", + "commands.execute.allInvocationsFailed": "All invocations failed: '%s'", + "commands.execute.failed": "Failed to execute '%s' as %s", + "commands.gamemode.success.self": "Set own game mode to %s", + "commands.gamemode.success.other": "Set %s's game mode to %s", + "commands.gamemode.usage": "/gamemode [player]", + "commands.defaultgamemode.usage": "/defaultgamemode ", + "commands.defaultgamemode.success": "The world's default game mode is now %s", + "commands.me.usage": "/me ", + "commands.help.header": "--- Showing help page %s of %s (/help ) ---", + "commands.help.footer": "Tip: Use the key while typing a command to auto-complete the command or its arguments", + "commands.help.usage": "/help [page|command name]", + "commands.trigger.usage": "/trigger ", + "commands.trigger.invalidObjective": "Invalid trigger name %s", + "commands.trigger.invalidMode": "Invalid trigger mode %s", + "commands.trigger.disabled": "Trigger %s is not enabled", + "commands.trigger.invalidPlayer": "Only players can use the /trigger command", + "commands.trigger.success": "Trigger %s changed with %s %s", + "commands.publish.usage": "/publish", + "commands.publish.started": "Local game hosted on port %s", + "commands.publish.failed": "Unable to host local game", + "commands.debug.start": "Started debug profiling", + "commands.debug.stop": "Stopped debug profiling after %s seconds (%s ticks)", + "commands.debug.notStarted": "Can't stop profiling when we haven't started yet!", + "commands.debug.usage": "/debug ", + "commands.chunkinfo.usage": "/chunkinfo [ ]", + "commands.chunkinfo.location": "Chunk location: (%s, %s, %s)", + "commands.chunkinfo.noChunk": "No chunk found at chunk position %s, %s, %s", + "commands.chunkinfo.notEmpty": "Chunk is not empty.", + "commands.chunkinfo.empty": "Chunk is empty.", + "commands.chunkinfo.notCompiled": "Chunk is not compiled.", + "commands.chunkinfo.compiled": "Chunk is compiled.", + "commands.chunkinfo.hasNoRenderableLayers": "Chunk has no renderable layers.", + "commands.chunkinfo.hasLayers": "Chunk has layers: %s", + "commands.chunkinfo.isEmpty": "Chunk has empty layers: %s", + "commands.chunkinfo.vertices": "%s layer's buffer contains %s vertices", + "commands.chunkinfo.data": "First 64 vertices are: %s", + "commands.tellraw.usage": "/tellraw ", + "commands.tellraw.jsonException": "Invalid json: %s", + "commands.message.usage": "/tell ", + "commands.message.sameTarget": "You can't send a private message to yourself!", + "commands.message.display.outgoing": "You whisper to %s: %s", + "commands.message.display.incoming": "%s whispers to you: %s", + "commands.difficulty.usage": "/difficulty ", + "commands.difficulty.success": "Set game difficulty to %s", + "commands.spawnpoint.usage": "/spawnpoint [player] [ ]", + "commands.spawnpoint.success": "Set %s's spawn point to (%s, %s, %s)", + "commands.setworldspawn.usage": "/setworldspawn [ ]", + "commands.setworldspawn.success": "Set the world spawn point to (%s, %s, %s)", + "commands.gamerule.usage": "/gamerule [value]", + "commands.gamerule.success": "Game rule %s has been updated to %s", + "commands.gamerule.norule": "No game rule called '%s' is available", + "commands.gamerule.nopermission": "Only server owners can change '%s'", + "commands.weather.usage": "/weather [duration in seconds]", + "commands.weather.clear": "Changing to clear weather", + "commands.weather.rain": "Changing to rainy weather", + "commands.weather.thunder": "Changing to rain and thunder", + "commands.testfor.usage": "/testfor [dataTag]", + "commands.testfor.failure": "%s did not match the required data structure", + "commands.testfor.success": "Found %s", + "commands.testfor.tagError": "Data tag parsing failed: %s", + "commands.seed.usage": "/seed", + "commands.seed.success": "Seed: %s", + "commands.spreadplayers.noop": "No players found to spread", + "commands.spreadplayers.usage": "/spreadplayers ", + "commands.spreadplayers.spreading.teams": "Spreading %s team(s) %s blocks around %s, %s (min %s blocks apart)", + "commands.spreadplayers.spreading.players": "Spreading %s player(s) %s blocks around %s, %s (min %s blocks apart)", + "commands.spreadplayers.success.teams": "Successfully spread %s team(s) around %s, %s", + "commands.spreadplayers.success.players": "Successfully spread %s player(s) around %s, %s", + "commands.spreadplayers.info.teams": "(Average distance between teams is %s blocks apart after %s iterations)", + "commands.spreadplayers.info.players": "(Average distance between players is %s blocks apart after %s iterations)", + "commands.spreadplayers.failure.teams": "Could not spread %s team(s) around %s, %s (too many players for space - try using spread of at most %s)", + "commands.spreadplayers.failure.players": "Could not spread %s player(s) around %s, %s (too many players for space - try using spread of at most %s)", + "commands.recipe.usage": "/recipe [player] ", + "commands.recipe.alreadyHave": "Player %s already has a recipe for %s", + "commands.recipe.dontHave": "Player %s doesn't have the recipe for %s", + "commands.recipe.give.success.all": "Successfully given all recipes to %s", + "commands.recipe.give.success.one": "Successfully given %s the recipe for %s", + "commands.recipe.take.success.all": "Successfully taken all recipes from %s", + "commands.recipe.take.success.one": "Successfully removed the recipe for %s from %s", + "commands.recipe.unknownrecipe": "%s is an unknown recipe", + "commands.recipe.unsupported": "%s is an unsupported recipe", + "commands.worldborder.usage": "/worldborder ...", + "commands.worldborder.add.usage": "/worldborder add [timeInSeconds]", + "commands.worldborder.set.usage": "/worldborder set [timeInSeconds]", + "commands.worldborder.set.success": "Set world border to %s blocks wide (from %s blocks)", + "commands.worldborder.get.success": "World border is currently %s blocks wide", + "commands.worldborder.setSlowly.shrink.success": "Shrinking world border to %s blocks wide (down from %s blocks) over %s seconds", + "commands.worldborder.setSlowly.grow.success": "Growing world border to %s blocks wide (up from %s blocks) over %s seconds", + "commands.worldborder.center.usage": "/worldborder center ", + "commands.worldborder.center.success": "Set world border center to %s, %s", + "commands.worldborder.damage.usage": "/worldborder damage ...", + "commands.worldborder.damage.buffer.usage": "/worldborder damage buffer ", + "commands.worldborder.damage.buffer.success": "Set world border damage buffer to %s blocks (from %s blocks)", + "commands.worldborder.damage.amount.usage": "/worldborder damage amount ", + "commands.worldborder.damage.amount.success": "Set world border damage amount to %s per block (from %s per block)", + "commands.worldborder.warning.usage": "/worldborder warning ...", + "commands.worldborder.warning.time.usage": "/worldborder warning time ", + "commands.worldborder.warning.time.success": "Set world border warning to %s seconds away (from %s seconds)", + "commands.worldborder.warning.distance.usage": "/worldborder warning distance ", + "commands.worldborder.warning.distance.success": "Set world border warning to %s blocks away (from %s blocks)", + "commands.title.usage": "/title title|subtitle|actionbar|clear|reset|times ...", + "commands.title.usage.title": "/title title|subtitle|actionbar ", + "commands.title.usage.clear": "/title clear|reset", + "commands.title.usage.times": "/title times ", + "commands.title.success": "Title command successfully executed", + "commands.stopsound.usage": "/stopsound [source] [sound]", + "commands.stopsound.unknownSoundSource": "Source %s is unknown", + "commands.stopsound.success.individualSound": "Stopped sound '%s' with source '%s' for %s", + "commands.stopsound.success.soundSource": "Stopped source '%s' for %s", + "commands.stopsound.success.all": "Stopped all sounds for %s", + "commands.locate.usage": "/locate ", + "commands.locate.success": "Located %s at %s (y?) %s", + "commands.locate.failure": "Unable to locate any %s feature", + "itemGroup.buildingBlocks": "Building Blocks", + "itemGroup.decorations": "Decoration Blocks", + "itemGroup.redstone": "Redstone", + "itemGroup.transportation": "Transportation", + "itemGroup.misc": "Miscellaneous", + "itemGroup.search": "Search Items", + "itemGroup.food": "Foodstuffs", + "itemGroup.tools": "Tools", + "itemGroup.combat": "Combat", + "itemGroup.brewing": "Brewing", + "itemGroup.materials": "Materials", + "itemGroup.inventory": "Survival Inventory", + "itemGroup.hotbar": "Saved Toolbars", + "inventory.binSlot": "Destroy Item", + "inventory.hotbarSaved": "Item toolbar saved (restore with %1$s+%2$s)", + "inventory.hotbarInfo": "Save toolbar with %1$s+%2$s", + "advMode.setCommand": "Set Console Command for Block", + "advMode.setCommand.success": "Command set: %s", + "advMode.command": "Console Command", + "advMode.nearestPlayer": "Use \"@p\" to target nearest player", + "advMode.randomPlayer": "Use \"@r\" to target random player", + "advMode.allPlayers": "Use \"@a\" to target all players", + "advMode.allEntities": "Use \"@e\" to target all entities", + "advMode.self": "Use \"@s\" to target the executing entity", + "advMode.previousOutput": "Previous Output", + "advMode.mode.sequence": "Chain", + "advMode.mode.auto": "Repeat", + "advMode.mode.redstone": "Impulse", + "advMode.mode.conditional": "Conditional", + "advMode.mode.unconditional": "Unconditional", + "advMode.mode.redstoneTriggered": "Needs Redstone", + "advMode.mode.autoexec.bat": "Always Active", + "advMode.notEnabled": "Command blocks are not enabled on this server", + "advMode.notAllowed": "Must be an opped player in creative mode", + "mount.onboard": "Press %1$s to dismount", + "build.tooHigh": "Height limit for building is %s blocks", + "item.modifiers.mainhand": "When in main hand:", + "item.modifiers.offhand": "When in off hand:", + "item.modifiers.feet": "When on feet:", + "item.modifiers.legs": "When on legs:", + "item.modifiers.chest": "When on body:", + "item.modifiers.head": "When on head:", + "attribute.modifier.plus.0": "+%s %s", + "attribute.modifier.plus.1": "+%s%% %s", + "attribute.modifier.plus.2": "+%s%% %s", + "attribute.modifier.take.0": "-%s %s", + "attribute.modifier.take.1": "-%s%% %s", + "attribute.modifier.take.2": "-%s%% %s", + "attribute.modifier.equals.0": "%s %s", + "attribute.modifier.equals.1": "%s%% %s", + "attribute.modifier.equals.2": "%s%% %s", + "attribute.name.horse.jumpStrength": "Horse Jump Strength", + "attribute.name.zombie.spawnReinforcements": "Zombie Reinforcements", + "attribute.name.generic.maxHealth": "Max Health", + "attribute.name.generic.followRange": "Mob Follow Range", + "attribute.name.generic.knockbackResistance": "Knockback Resistance", + "attribute.name.generic.movementSpeed": "Speed", + "attribute.name.generic.attackDamage": "Attack Damage", + "attribute.name.generic.attackSpeed": "Attack Speed", + "attribute.name.generic.luck": "Luck", + "attribute.name.generic.armor": "Armor", + "attribute.name.generic.armorToughness": "Armor Toughness", + "screenshot.success": "Saved screenshot as %s", + "screenshot.failure": "Couldn't save screenshot: %s", + "item.banner.black.name": "Black Banner", + "item.banner.red.name": "Red Banner", + "item.banner.green.name": "Green Banner", + "item.banner.brown.name": "Brown Banner", + "item.banner.blue.name": "Blue Banner", + "item.banner.purple.name": "Purple Banner", + "item.banner.cyan.name": "Cyan Banner", + "item.banner.silver.name": "Light Gray Banner", + "item.banner.gray.name": "Gray Banner", + "item.banner.pink.name": "Pink Banner", + "item.banner.lime.name": "Lime Banner", + "item.banner.yellow.name": "Yellow Banner", + "item.banner.lightBlue.name": "Light Blue Banner", + "item.banner.magenta.name": "Magenta Banner", + "item.banner.orange.name": "Orange Banner", + "item.banner.white.name": "White Banner", + "item.shield.name": "Shield", + "item.shield.black.name": "Black Shield", + "item.shield.red.name": "Red Shield", + "item.shield.green.name": "Green Shield", + "item.shield.brown.name": "Brown Shield", + "item.shield.blue.name": "Blue Shield", + "item.shield.purple.name": "Purple Shield", + "item.shield.cyan.name": "Cyan Shield", + "item.shield.silver.name": "Light Gray Shield", + "item.shield.gray.name": "Gray Shield", + "item.shield.pink.name": "Pink Shield", + "item.shield.lime.name": "Lime Shield", + "item.shield.yellow.name": "Yellow Shield", + "item.shield.lightBlue.name": "Light Blue Shield", + "item.shield.magenta.name": "Magenta Shield", + "item.shield.orange.name": "Orange Shield", + "item.shield.white.name": "White Shield", + "item.banner.square_bottom_left.black": "Black Base Dexter Canton", + "item.banner.square_bottom_left.red": "Red Base Dexter Canton", + "item.banner.square_bottom_left.green": "Green Base Dexter Canton", + "item.banner.square_bottom_left.brown": "Brown Base Dexter Canton", + "item.banner.square_bottom_left.blue": "Blue Base Dexter Canton", + "item.banner.square_bottom_left.purple": "Purple Base Dexter Canton", + "item.banner.square_bottom_left.cyan": "Cyan Base Dexter Canton", + "item.banner.square_bottom_left.silver": "Light Gray Base Dexter Canton", + "item.banner.square_bottom_left.gray": "Gray Base Dexter Canton", + "item.banner.square_bottom_left.pink": "Pink Base Dexter Canton", + "item.banner.square_bottom_left.lime": "Lime Base Dexter Canton", + "item.banner.square_bottom_left.yellow": "Yellow Base Dexter Canton", + "item.banner.square_bottom_left.lightBlue": "Light Blue Base Dexter Canton", + "item.banner.square_bottom_left.magenta": "Magenta Base Dexter Canton", + "item.banner.square_bottom_left.orange": "Orange Base Dexter Canton", + "item.banner.square_bottom_left.white": "White Base Dexter Canton", + "item.banner.square_bottom_right.black": "Black Base Sinister Canton", + "item.banner.square_bottom_right.red": "Red Base Sinister Canton", + "item.banner.square_bottom_right.green": "Green Base Sinister Canton", + "item.banner.square_bottom_right.brown": "Brown Base Sinister Canton", + "item.banner.square_bottom_right.blue": "Blue Base Sinister Canton", + "item.banner.square_bottom_right.purple": "Purple Base Sinister Canton", + "item.banner.square_bottom_right.cyan": "Cyan Base Sinister Canton", + "item.banner.square_bottom_right.silver": "Light Gray Base Sinister Canton", + "item.banner.square_bottom_right.gray": "Gray Base Sinister Canton", + "item.banner.square_bottom_right.pink": "Pink Base Sinister Canton", + "item.banner.square_bottom_right.lime": "Lime Base Sinister Canton", + "item.banner.square_bottom_right.yellow": "Yellow Base Sinister Canton", + "item.banner.square_bottom_right.lightBlue": "Light Blue Base Sinister Canton", + "item.banner.square_bottom_right.magenta": "Magenta Base Sinister Canton", + "item.banner.square_bottom_right.orange": "Orange Base Sinister Canton", + "item.banner.square_bottom_right.white": "White Base Sinister Canton", + "item.banner.square_top_left.black": "Black Chief Dexter Canton", + "item.banner.square_top_left.red": "Red Chief Dexter Canton", + "item.banner.square_top_left.green": "Green Chief Dexter Canton", + "item.banner.square_top_left.brown": "Brown Chief Dexter Canton", + "item.banner.square_top_left.blue": "Blue Chief Dexter Canton", + "item.banner.square_top_left.purple": "Purple Chief Dexter Canton", + "item.banner.square_top_left.cyan": "Cyan Chief Dexter Canton", + "item.banner.square_top_left.silver": "Light Gray Chief Dexter Canton", + "item.banner.square_top_left.gray": "Gray Chief Dexter Canton", + "item.banner.square_top_left.pink": "Pink Chief Dexter Canton", + "item.banner.square_top_left.lime": "Lime Chief Dexter Canton", + "item.banner.square_top_left.yellow": "Yellow Chief Dexter Canton", + "item.banner.square_top_left.lightBlue": "Light Blue Chief Dexter Canton", + "item.banner.square_top_left.magenta": "Magenta Chief Dexter Canton", + "item.banner.square_top_left.orange": "Orange Chief Dexter Canton", + "item.banner.square_top_left.white": "White Chief Dexter Canton", + "item.banner.square_top_right.black": "Black Chief Sinister Canton", + "item.banner.square_top_right.red": "Red Chief Sinister Canton", + "item.banner.square_top_right.green": "Green Chief Sinister Canton", + "item.banner.square_top_right.brown": "Brown Chief Sinister Canton", + "item.banner.square_top_right.blue": "Blue Chief Sinister Canton", + "item.banner.square_top_right.purple": "Purple Chief Sinister Canton", + "item.banner.square_top_right.cyan": "Cyan Chief Sinister Canton", + "item.banner.square_top_right.silver": "Light Gray Chief Sinister Canton", + "item.banner.square_top_right.gray": "Gray Chief Sinister Canton", + "item.banner.square_top_right.pink": "Pink Chief Sinister Canton", + "item.banner.square_top_right.lime": "Lime Chief Sinister Canton", + "item.banner.square_top_right.yellow": "Yellow Chief Sinister Canton", + "item.banner.square_top_right.lightBlue": "Light Blue Chief Sinister Canton", + "item.banner.square_top_right.magenta": "Magenta Chief Sinister Canton", + "item.banner.square_top_right.orange": "Orange Chief Sinister Canton", + "item.banner.square_top_right.white": "White Chief Sinister Canton", + "item.banner.stripe_bottom.black": "Black Base", + "item.banner.stripe_bottom.red": "Red Base", + "item.banner.stripe_bottom.green": "Green Base", + "item.banner.stripe_bottom.brown": "Brown Base", + "item.banner.stripe_bottom.blue": "Blue Base", + "item.banner.stripe_bottom.purple": "Purple Base", + "item.banner.stripe_bottom.cyan": "Cyan Base", + "item.banner.stripe_bottom.silver": "Light Gray Base", + "item.banner.stripe_bottom.gray": "Gray Base", + "item.banner.stripe_bottom.pink": "Pink Base", + "item.banner.stripe_bottom.lime": "Lime Base", + "item.banner.stripe_bottom.yellow": "Yellow Base", + "item.banner.stripe_bottom.lightBlue": "Light Blue Base", + "item.banner.stripe_bottom.magenta": "Magenta Base", + "item.banner.stripe_bottom.orange": "Orange Base", + "item.banner.stripe_bottom.white": "White Base", + "item.banner.stripe_top.black": "Black Chief", + "item.banner.stripe_top.red": "Red Chief", + "item.banner.stripe_top.green": "Green Chief", + "item.banner.stripe_top.brown": "Brown Chief", + "item.banner.stripe_top.blue": "Blue Chief", + "item.banner.stripe_top.purple": "Purple Chief", + "item.banner.stripe_top.cyan": "Cyan Chief", + "item.banner.stripe_top.silver": "Light Gray Chief", + "item.banner.stripe_top.gray": "Gray Chief", + "item.banner.stripe_top.pink": "Pink Chief", + "item.banner.stripe_top.lime": "Lime Chief", + "item.banner.stripe_top.yellow": "Yellow Chief", + "item.banner.stripe_top.lightBlue": "Light Blue Chief", + "item.banner.stripe_top.magenta": "Magenta Chief", + "item.banner.stripe_top.orange": "Orange Chief", + "item.banner.stripe_top.white": "White Chief", + "item.banner.stripe_left.black": "Black Pale Dexter", + "item.banner.stripe_left.red": "Red Pale Dexter", + "item.banner.stripe_left.green": "Green Pale Dexter", + "item.banner.stripe_left.brown": "Brown Pale Dexter", + "item.banner.stripe_left.blue": "Blue Pale Dexter", + "item.banner.stripe_left.purple": "Purple Pale Dexter", + "item.banner.stripe_left.cyan": "Cyan Pale Dexter", + "item.banner.stripe_left.silver": "Light Gray Pale Dexter", + "item.banner.stripe_left.gray": "Gray Pale Dexter", + "item.banner.stripe_left.pink": "Pink Pale Dexter", + "item.banner.stripe_left.lime": "Lime Pale Dexter", + "item.banner.stripe_left.yellow": "Yellow Pale Dexter", + "item.banner.stripe_left.lightBlue": "Light Blue Pale Dexter", + "item.banner.stripe_left.magenta": "Magenta Pale Dexter", + "item.banner.stripe_left.orange": "Orange Pale Dexter", + "item.banner.stripe_left.white": "White Pale Dexter", + "item.banner.stripe_right.black": "Black Pale Sinister", + "item.banner.stripe_right.red": "Red Pale Sinister", + "item.banner.stripe_right.green": "Green Pale Sinister", + "item.banner.stripe_right.brown": "Brown Pale Sinister", + "item.banner.stripe_right.blue": "Blue Pale Sinister", + "item.banner.stripe_right.purple": "Purple Pale Sinister", + "item.banner.stripe_right.cyan": "Cyan Pale Sinister", + "item.banner.stripe_right.silver": "Light Gray Pale Sinister", + "item.banner.stripe_right.gray": "Gray Pale Sinister", + "item.banner.stripe_right.pink": "Pink Pale Sinister", + "item.banner.stripe_right.lime": "Lime Pale Sinister", + "item.banner.stripe_right.yellow": "Yellow Pale Sinister", + "item.banner.stripe_right.lightBlue": "Light Blue Pale Sinister", + "item.banner.stripe_right.magenta": "Magenta Pale Sinister", + "item.banner.stripe_right.orange": "Orange Pale Sinister", + "item.banner.stripe_right.white": "White Pale Sinister", + "item.banner.stripe_center.black": "Black Pale", + "item.banner.stripe_center.red": "Red Pale", + "item.banner.stripe_center.green": "Green Pale", + "item.banner.stripe_center.brown": "Brown Pale", + "item.banner.stripe_center.blue": "Blue Pale", + "item.banner.stripe_center.purple": "Purple Pale", + "item.banner.stripe_center.cyan": "Cyan Pale", + "item.banner.stripe_center.silver": "Light Gray Pale", + "item.banner.stripe_center.gray": "Gray Pale", + "item.banner.stripe_center.pink": "Pink Pale", + "item.banner.stripe_center.lime": "Lime Pale", + "item.banner.stripe_center.yellow": "Yellow Pale", + "item.banner.stripe_center.lightBlue": "Light Blue Pale", + "item.banner.stripe_center.magenta": "Magenta Pale", + "item.banner.stripe_center.orange": "Orange Pale", + "item.banner.stripe_center.white": "White Pale", + "item.banner.stripe_middle.black": "Black Fess", + "item.banner.stripe_middle.red": "Red Fess", + "item.banner.stripe_middle.green": "Green Fess", + "item.banner.stripe_middle.brown": "Brown Fess", + "item.banner.stripe_middle.blue": "Blue Fess", + "item.banner.stripe_middle.purple": "Purple Fess", + "item.banner.stripe_middle.cyan": "Cyan Fess", + "item.banner.stripe_middle.silver": "Light Gray Fess", + "item.banner.stripe_middle.gray": "Gray Fess", + "item.banner.stripe_middle.pink": "Pink Fess", + "item.banner.stripe_middle.lime": "Lime Fess", + "item.banner.stripe_middle.yellow": "Yellow Fess", + "item.banner.stripe_middle.lightBlue": "Light Blue Fess", + "item.banner.stripe_middle.magenta": "Magenta Fess", + "item.banner.stripe_middle.orange": "Orange Fess", + "item.banner.stripe_middle.white": "White Fess", + "item.banner.stripe_downright.black": "Black Bend", + "item.banner.stripe_downright.red": "Red Bend", + "item.banner.stripe_downright.green": "Green Bend", + "item.banner.stripe_downright.brown": "Brown Bend", + "item.banner.stripe_downright.blue": "Blue Bend", + "item.banner.stripe_downright.purple": "Purple Bend", + "item.banner.stripe_downright.cyan": "Cyan Bend", + "item.banner.stripe_downright.silver": "Light Gray Bend", + "item.banner.stripe_downright.gray": "Gray Bend", + "item.banner.stripe_downright.pink": "Pink Bend", + "item.banner.stripe_downright.lime": "Lime Bend", + "item.banner.stripe_downright.yellow": "Yellow Bend", + "item.banner.stripe_downright.lightBlue": "Light Blue Bend", + "item.banner.stripe_downright.magenta": "Magenta Bend", + "item.banner.stripe_downright.orange": "Orange Bend", + "item.banner.stripe_downright.white": "White Bend", + "item.banner.stripe_downleft.black": "Black Bend Sinister", + "item.banner.stripe_downleft.red": "Red Bend Sinister", + "item.banner.stripe_downleft.green": "Green Bend Sinister", + "item.banner.stripe_downleft.brown": "Brown Bend Sinister", + "item.banner.stripe_downleft.blue": "Blue Bend Sinister", + "item.banner.stripe_downleft.purple": "Purple Bend Sinister", + "item.banner.stripe_downleft.cyan": "Cyan Bend Sinister", + "item.banner.stripe_downleft.silver": "Light Gray Bend Sinister", + "item.banner.stripe_downleft.gray": "Gray Bend Sinister", + "item.banner.stripe_downleft.pink": "Pink Bend Sinister", + "item.banner.stripe_downleft.lime": "Lime Bend Sinister", + "item.banner.stripe_downleft.yellow": "Yellow Bend Sinister", + "item.banner.stripe_downleft.lightBlue": "Light Blue Bend Sinister", + "item.banner.stripe_downleft.magenta": "Magenta Bend Sinister", + "item.banner.stripe_downleft.orange": "Orange Bend Sinister", + "item.banner.stripe_downleft.white": "White Bend Sinister", + "item.banner.small_stripes.black": "Black Paly", + "item.banner.small_stripes.red": "Red Paly", + "item.banner.small_stripes.green": "Green Paly", + "item.banner.small_stripes.brown": "Brown Paly", + "item.banner.small_stripes.blue": "Blue Paly", + "item.banner.small_stripes.purple": "Purple Paly", + "item.banner.small_stripes.cyan": "Cyan Paly", + "item.banner.small_stripes.silver": "Light Gray Paly", + "item.banner.small_stripes.gray": "Gray Paly", + "item.banner.small_stripes.pink": "Pink Paly", + "item.banner.small_stripes.lime": "Lime Paly", + "item.banner.small_stripes.yellow": "Yellow Paly", + "item.banner.small_stripes.lightBlue": "Light Blue Paly", + "item.banner.small_stripes.magenta": "Magenta Paly", + "item.banner.small_stripes.orange": "Orange Paly", + "item.banner.small_stripes.white": "White Paly", + "item.banner.cross.black": "Black Saltire", + "item.banner.cross.red": "Red Saltire", + "item.banner.cross.green": "Green Saltire", + "item.banner.cross.brown": "Brown Saltire", + "item.banner.cross.blue": "Blue Saltire", + "item.banner.cross.purple": "Purple Saltire", + "item.banner.cross.cyan": "Cyan Saltire", + "item.banner.cross.silver": "Light Gray Saltire", + "item.banner.cross.gray": "Gray Saltire", + "item.banner.cross.pink": "Pink Saltire", + "item.banner.cross.lime": "Lime Saltire", + "item.banner.cross.yellow": "Yellow Saltire", + "item.banner.cross.lightBlue": "Light Blue Saltire", + "item.banner.cross.magenta": "Magenta Saltire", + "item.banner.cross.orange": "Orange Saltire", + "item.banner.cross.white": "White Saltire", + "item.banner.triangle_bottom.black": "Black Chevron", + "item.banner.triangle_bottom.red": "Red Chevron", + "item.banner.triangle_bottom.green": "Green Chevron", + "item.banner.triangle_bottom.brown": "Brown Chevron", + "item.banner.triangle_bottom.blue": "Blue Chevron", + "item.banner.triangle_bottom.purple": "Purple Chevron", + "item.banner.triangle_bottom.cyan": "Cyan Chevron", + "item.banner.triangle_bottom.silver": "Light Gray Chevron", + "item.banner.triangle_bottom.gray": "Gray Chevron", + "item.banner.triangle_bottom.pink": "Pink Chevron", + "item.banner.triangle_bottom.lime": "Lime Chevron", + "item.banner.triangle_bottom.yellow": "Yellow Chevron", + "item.banner.triangle_bottom.lightBlue": "Light Blue Chevron", + "item.banner.triangle_bottom.magenta": "Magenta Chevron", + "item.banner.triangle_bottom.orange": "Orange Chevron", + "item.banner.triangle_bottom.white": "White Chevron", + "item.banner.triangle_top.black": "Black Inverted Chevron", + "item.banner.triangle_top.red": "Red Inverted Chevron", + "item.banner.triangle_top.green": "Green Inverted Chevron", + "item.banner.triangle_top.brown": "Brown Inverted Chevron", + "item.banner.triangle_top.blue": "Blue Inverted Chevron", + "item.banner.triangle_top.purple": "Purple Inverted Chevron", + "item.banner.triangle_top.cyan": "Cyan Inverted Chevron", + "item.banner.triangle_top.silver": "Light Gray Inverted Chevron", + "item.banner.triangle_top.gray": "Gray Inverted Chevron", + "item.banner.triangle_top.pink": "Pink Inverted Chevron", + "item.banner.triangle_top.lime": "Lime Inverted Chevron", + "item.banner.triangle_top.yellow": "Yellow Inverted Chevron", + "item.banner.triangle_top.lightBlue": "Light Blue Inverted Chevron", + "item.banner.triangle_top.magenta": "Magenta Inverted Chevron", + "item.banner.triangle_top.orange": "Orange Inverted Chevron", + "item.banner.triangle_top.white": "White Inverted Chevron", + "item.banner.triangles_bottom.black": "Black Base Indented", + "item.banner.triangles_bottom.red": "Red Base Indented", + "item.banner.triangles_bottom.green": "Green Base Indented", + "item.banner.triangles_bottom.brown": "Brown Base Indented", + "item.banner.triangles_bottom.blue": "Blue Base Indented", + "item.banner.triangles_bottom.purple": "Purple Base Indented", + "item.banner.triangles_bottom.cyan": "Cyan Base Indented", + "item.banner.triangles_bottom.silver": "Light Gray Base Indented", + "item.banner.triangles_bottom.gray": "Gray Base Indented", + "item.banner.triangles_bottom.pink": "Pink Base Indented", + "item.banner.triangles_bottom.lime": "Lime Base Indented", + "item.banner.triangles_bottom.yellow": "Yellow Base Indented", + "item.banner.triangles_bottom.lightBlue": "Light Blue Base Indented", + "item.banner.triangles_bottom.magenta": "Magenta Base Indented", + "item.banner.triangles_bottom.orange": "Orange Base Indented", + "item.banner.triangles_bottom.white": "White Base Indented", + "item.banner.triangles_top.black": "Black Chief Indented", + "item.banner.triangles_top.red": "Red Chief Indented", + "item.banner.triangles_top.green": "Green Chief Indented", + "item.banner.triangles_top.brown": "Brown Chief Indented", + "item.banner.triangles_top.blue": "Blue Chief Indented", + "item.banner.triangles_top.purple": "Purple Chief Indented", + "item.banner.triangles_top.cyan": "Cyan Chief Indented", + "item.banner.triangles_top.silver": "Light Gray Chief Indented", + "item.banner.triangles_top.gray": "Gray Chief Indented", + "item.banner.triangles_top.pink": "Pink Chief Indented", + "item.banner.triangles_top.lime": "Lime Chief Indented", + "item.banner.triangles_top.yellow": "Yellow Chief Indented", + "item.banner.triangles_top.lightBlue": "Light Blue Chief Indented", + "item.banner.triangles_top.magenta": "Magenta Chief Indented", + "item.banner.triangles_top.orange": "Orange Chief Indented", + "item.banner.triangles_top.white": "White Chief Indented", + "item.banner.diagonal_left.black": "Black Per Bend Sinister", + "item.banner.diagonal_left.red": "Red Per Bend Sinister", + "item.banner.diagonal_left.green": "Green Per Bend Sinister", + "item.banner.diagonal_left.brown": "Brown Per Bend Sinister", + "item.banner.diagonal_left.blue": "Blue Per Bend Sinister", + "item.banner.diagonal_left.purple": "Purple Per Bend Sinister", + "item.banner.diagonal_left.cyan": "Cyan Per Bend Sinister", + "item.banner.diagonal_left.silver": "Light Gray Per Bend Sinister", + "item.banner.diagonal_left.gray": "Gray Per Bend Sinister", + "item.banner.diagonal_left.pink": "Pink Per Bend Sinister", + "item.banner.diagonal_left.lime": "Lime Per Bend Sinister", + "item.banner.diagonal_left.yellow": "Yellow Per Bend Sinister", + "item.banner.diagonal_left.lightBlue": "Light Blue Per Bend Sinister", + "item.banner.diagonal_left.magenta": "Magenta Per Bend Sinister", + "item.banner.diagonal_left.orange": "Orange Per Bend Sinister", + "item.banner.diagonal_left.white": "White Per Bend Sinister", + "item.banner.diagonal_right.black": "Black Per Bend", + "item.banner.diagonal_right.red": "Red Per Bend", + "item.banner.diagonal_right.green": "Green Per Bend", + "item.banner.diagonal_right.brown": "Brown Per Bend", + "item.banner.diagonal_right.blue": "Blue Per Bend", + "item.banner.diagonal_right.purple": "Purple Per Bend", + "item.banner.diagonal_right.cyan": "Cyan Per Bend", + "item.banner.diagonal_right.silver": "Light Gray Per Bend", + "item.banner.diagonal_right.gray": "Gray Per Bend", + "item.banner.diagonal_right.pink": "Pink Per Bend", + "item.banner.diagonal_right.lime": "Lime Per Bend", + "item.banner.diagonal_right.yellow": "Yellow Per Bend", + "item.banner.diagonal_right.lightBlue": "Light Blue Per Bend", + "item.banner.diagonal_right.magenta": "Magenta Per Bend", + "item.banner.diagonal_right.orange": "Orange Per Bend", + "item.banner.diagonal_right.white": "White Per Bend", + "item.banner.diagonal_up_left.black": "Black Per Bend Inverted", + "item.banner.diagonal_up_left.red": "Red Per Bend Inverted", + "item.banner.diagonal_up_left.green": "Green Per Bend Inverted", + "item.banner.diagonal_up_left.brown": "Brown Per Bend Inverted", + "item.banner.diagonal_up_left.blue": "Blue Per Bend Inverted", + "item.banner.diagonal_up_left.purple": "Purple Per Bend Inverted", + "item.banner.diagonal_up_left.cyan": "Cyan Per Bend Inverted", + "item.banner.diagonal_up_left.silver": "Light Gray Per Bend Inverted", + "item.banner.diagonal_up_left.gray": "Gray Per Bend Inverted", + "item.banner.diagonal_up_left.pink": "Pink Per Bend Inverted", + "item.banner.diagonal_up_left.lime": "Lime Per Bend Inverted", + "item.banner.diagonal_up_left.yellow": "Yellow Per Bend Inverted", + "item.banner.diagonal_up_left.lightBlue": "Light Blue Per Bend Inverted", + "item.banner.diagonal_up_left.magenta": "Magenta Per Bend Inverted", + "item.banner.diagonal_up_left.orange": "Orange Per Bend Inverted", + "item.banner.diagonal_up_left.white": "White Per Bend Inverted", + "item.banner.diagonal_up_right.black": "Black Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.red": "Red Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.green": "Green Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.brown": "Brown Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.blue": "Blue Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.purple": "Purple Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.cyan": "Cyan Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.silver": "Light Gray Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.gray": "Gray Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.pink": "Pink Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.lime": "Lime Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.yellow": "Yellow Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.lightBlue": "Light Blue Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.magenta": "Magenta Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.orange": "Orange Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.white": "White Per Bend Sinister Inverted", + "item.banner.circle.black": "Black Roundel", + "item.banner.circle.red": "Red Roundel", + "item.banner.circle.green": "Green Roundel", + "item.banner.circle.brown": "Brown Roundel", + "item.banner.circle.blue": "Blue Roundel", + "item.banner.circle.purple": "Purple Roundel", + "item.banner.circle.cyan": "Cyan Roundel", + "item.banner.circle.silver": "Light Gray Roundel", + "item.banner.circle.gray": "Gray Roundel", + "item.banner.circle.pink": "Pink Roundel", + "item.banner.circle.lime": "Lime Roundel", + "item.banner.circle.yellow": "Yellow Roundel", + "item.banner.circle.lightBlue": "Light Blue Roundel", + "item.banner.circle.magenta": "Magenta Roundel", + "item.banner.circle.orange": "Orange Roundel", + "item.banner.circle.white": "White Roundel", + "item.banner.rhombus.black": "Black Lozenge", + "item.banner.rhombus.red": "Red Lozenge", + "item.banner.rhombus.green": "Green Lozenge", + "item.banner.rhombus.brown": "Brown Lozenge", + "item.banner.rhombus.blue": "Blue Lozenge", + "item.banner.rhombus.purple": "Purple Lozenge", + "item.banner.rhombus.cyan": "Cyan Lozenge", + "item.banner.rhombus.silver": "Light Gray Lozenge", + "item.banner.rhombus.gray": "Gray Lozenge", + "item.banner.rhombus.pink": "Pink Lozenge", + "item.banner.rhombus.lime": "Lime Lozenge", + "item.banner.rhombus.yellow": "Yellow Lozenge", + "item.banner.rhombus.lightBlue": "Light Blue Lozenge", + "item.banner.rhombus.magenta": "Magenta Lozenge", + "item.banner.rhombus.orange": "Orange Lozenge", + "item.banner.rhombus.white": "White Lozenge", + "item.banner.half_vertical.black": "Black Per Pale", + "item.banner.half_vertical.red": "Red Per Pale", + "item.banner.half_vertical.green": "Green Per Pale", + "item.banner.half_vertical.brown": "Brown Per Pale", + "item.banner.half_vertical.blue": "Blue Per Pale", + "item.banner.half_vertical.purple": "Purple Per Pale", + "item.banner.half_vertical.cyan": "Cyan Per Pale", + "item.banner.half_vertical.silver": "Light Gray Per Pale", + "item.banner.half_vertical.gray": "Gray Per Pale", + "item.banner.half_vertical.pink": "Pink Per Pale", + "item.banner.half_vertical.lime": "Lime Per Pale", + "item.banner.half_vertical.yellow": "Yellow Per Pale", + "item.banner.half_vertical.lightBlue": "Light Blue Per Pale", + "item.banner.half_vertical.magenta": "Magenta Per Pale", + "item.banner.half_vertical.orange": "Orange Per Pale", + "item.banner.half_vertical.white": "White Per Pale", + "item.banner.half_horizontal.black": "Black Per Fess", + "item.banner.half_horizontal.red": "Red Per Fess", + "item.banner.half_horizontal.green": "Green Per Fess", + "item.banner.half_horizontal.brown": "Brown Per Fess", + "item.banner.half_horizontal.blue": "Blue Per Fess", + "item.banner.half_horizontal.purple": "Purple Per Fess", + "item.banner.half_horizontal.cyan": "Cyan Per Fess", + "item.banner.half_horizontal.silver": "Light Gray Per Fess", + "item.banner.half_horizontal.gray": "Gray Per Fess", + "item.banner.half_horizontal.pink": "Pink Per Fess", + "item.banner.half_horizontal.lime": "Lime Per Fess", + "item.banner.half_horizontal.yellow": "Yellow Per Fess", + "item.banner.half_horizontal.lightBlue": "Light Blue Per Fess", + "item.banner.half_horizontal.magenta": "Magenta Per Fess", + "item.banner.half_horizontal.orange": "Orange Per Fess", + "item.banner.half_horizontal.white": "White Per Fess", + "item.banner.half_vertical_right.black": "Black Per Pale Inverted", + "item.banner.half_vertical_right.red": "Red Per Pale Inverted", + "item.banner.half_vertical_right.green": "Green Per Pale Inverted", + "item.banner.half_vertical_right.brown": "Brown Per Pale Inverted", + "item.banner.half_vertical_right.blue": "Blue Per Pale Inverted", + "item.banner.half_vertical_right.purple": "Purple Per Pale Inverted", + "item.banner.half_vertical_right.cyan": "Cyan Per Pale Inverted", + "item.banner.half_vertical_right.silver": "Light Gray Per Pale Inverted", + "item.banner.half_vertical_right.gray": "Gray Per Pale Inverted", + "item.banner.half_vertical_right.pink": "Pink Per Pale Inverted", + "item.banner.half_vertical_right.lime": "Lime Per Pale Inverted", + "item.banner.half_vertical_right.yellow": "Yellow Per Pale Inverted", + "item.banner.half_vertical_right.lightBlue": "Light Blue Per Pale Inverted", + "item.banner.half_vertical_right.magenta": "Magenta Per Pale Inverted", + "item.banner.half_vertical_right.orange": "Orange Per Pale Inverted", + "item.banner.half_vertical_right.white": "White Per Pale Inverted", + "item.banner.half_horizontal_bottom.black": "Black Per Fess Inverted", + "item.banner.half_horizontal_bottom.red": "Red Per Fess Inverted", + "item.banner.half_horizontal_bottom.green": "Green Per Fess Inverted", + "item.banner.half_horizontal_bottom.brown": "Brown Per Fess Inverted", + "item.banner.half_horizontal_bottom.blue": "Blue Per Fess Inverted", + "item.banner.half_horizontal_bottom.purple": "Purple Per Fess Inverted", + "item.banner.half_horizontal_bottom.cyan": "Cyan Per Fess Inverted", + "item.banner.half_horizontal_bottom.silver": "Light Gray Per Fess Inverted", + "item.banner.half_horizontal_bottom.gray": "Gray Per Fess Inverted", + "item.banner.half_horizontal_bottom.pink": "Pink Per Fess Inverted", + "item.banner.half_horizontal_bottom.lime": "Lime Per Fess Inverted", + "item.banner.half_horizontal_bottom.yellow": "Yellow Per Fess Inverted", + "item.banner.half_horizontal_bottom.lightBlue": "Light Blue Per Fess Inverted", + "item.banner.half_horizontal_bottom.magenta": "Magenta Per Fess Inverted", + "item.banner.half_horizontal_bottom.orange": "Orange Per Fess Inverted", + "item.banner.half_horizontal_bottom.white": "White Per Fess Inverted", + "item.banner.creeper.black": "Black Creeper Charge", + "item.banner.creeper.red": "Red Creeper Charge", + "item.banner.creeper.green": "Green Creeper Charge", + "item.banner.creeper.brown": "Brown Creeper Charge", + "item.banner.creeper.blue": "Blue Creeper Charge", + "item.banner.creeper.purple": "Purple Creeper Charge", + "item.banner.creeper.cyan": "Cyan Creeper Charge", + "item.banner.creeper.silver": "Light Gray Creeper Charge", + "item.banner.creeper.gray": "Gray Creeper Charge", + "item.banner.creeper.pink": "Pink Creeper Charge", + "item.banner.creeper.lime": "Lime Creeper Charge", + "item.banner.creeper.yellow": "Yellow Creeper Charge", + "item.banner.creeper.lightBlue": "Light Blue Creeper Charge", + "item.banner.creeper.magenta": "Magenta Creeper Charge", + "item.banner.creeper.orange": "Orange Creeper Charge", + "item.banner.creeper.white": "White Creeper Charge", + "item.banner.bricks.black": "Black Field Masoned", + "item.banner.bricks.red": "Red Field Masoned", + "item.banner.bricks.green": "Green Field Masoned", + "item.banner.bricks.brown": "Brown Field Masoned", + "item.banner.bricks.blue": "Blue Field Masoned", + "item.banner.bricks.purple": "Purple Field Masoned", + "item.banner.bricks.cyan": "Cyan Field Masoned", + "item.banner.bricks.silver": "Light Gray Field Masoned", + "item.banner.bricks.gray": "Gray Field Masoned", + "item.banner.bricks.pink": "Pink Field Masoned", + "item.banner.bricks.lime": "Lime Field Masoned", + "item.banner.bricks.yellow": "Yellow Field Masoned", + "item.banner.bricks.lightBlue": "Light Blue Field Masoned", + "item.banner.bricks.magenta": "Magenta Field Masoned", + "item.banner.bricks.orange": "Orange Field Masoned", + "item.banner.bricks.white": "White Field Masoned", + "item.banner.gradient.black": "Black Gradient", + "item.banner.gradient.red": "Red Gradient", + "item.banner.gradient.green": "Green Gradient", + "item.banner.gradient.brown": "Brown Gradient", + "item.banner.gradient.blue": "Blue Gradient", + "item.banner.gradient.purple": "Purple Gradient", + "item.banner.gradient.cyan": "Cyan Gradient", + "item.banner.gradient.silver": "Light Gray Gradient", + "item.banner.gradient.gray": "Gray Gradient", + "item.banner.gradient.pink": "Pink Gradient", + "item.banner.gradient.lime": "Lime Gradient", + "item.banner.gradient.yellow": "Yellow Gradient", + "item.banner.gradient.lightBlue": "Light Blue Gradient", + "item.banner.gradient.magenta": "Magenta Gradient", + "item.banner.gradient.orange": "Orange Gradient", + "item.banner.gradient.white": "White Gradient", + "item.banner.gradient_up.black": "Black Base Gradient", + "item.banner.gradient_up.red": "Red Base Gradient", + "item.banner.gradient_up.green": "Green Base Gradient", + "item.banner.gradient_up.brown": "Brown Base Gradient", + "item.banner.gradient_up.blue": "Blue Base Gradient", + "item.banner.gradient_up.purple": "Purple Base Gradient", + "item.banner.gradient_up.cyan": "Cyan Base Gradient", + "item.banner.gradient_up.silver": "Light Gray Base Gradient", + "item.banner.gradient_up.gray": "Gray Base Gradient", + "item.banner.gradient_up.pink": "Pink Base Gradient", + "item.banner.gradient_up.lime": "Lime Base Gradient", + "item.banner.gradient_up.yellow": "Yellow Base Gradient", + "item.banner.gradient_up.lightBlue": "Light Blue Base Gradient", + "item.banner.gradient_up.magenta": "Magenta Base Gradient", + "item.banner.gradient_up.orange": "Orange Base Gradient", + "item.banner.gradient_up.white": "White Base Gradient", + "item.banner.skull.black": "Black Skull Charge", + "item.banner.skull.red": "Red Skull Charge", + "item.banner.skull.green": "Green Skull Charge", + "item.banner.skull.brown": "Brown Skull Charge", + "item.banner.skull.blue": "Blue Skull Charge", + "item.banner.skull.purple": "Purple Skull Charge", + "item.banner.skull.cyan": "Cyan Skull Charge", + "item.banner.skull.silver": "Light Gray Skull Charge", + "item.banner.skull.gray": "Gray Skull Charge", + "item.banner.skull.pink": "Pink Skull Charge", + "item.banner.skull.lime": "Lime Skull Charge", + "item.banner.skull.yellow": "Yellow Skull Charge", + "item.banner.skull.lightBlue": "Light Blue Skull Charge", + "item.banner.skull.magenta": "Magenta Skull Charge", + "item.banner.skull.orange": "Orange Skull Charge", + "item.banner.skull.white": "White Skull Charge", + "item.banner.flower.black": "Black Flower Charge", + "item.banner.flower.red": "Red Flower Charge", + "item.banner.flower.green": "Green Flower Charge", + "item.banner.flower.brown": "Brown Flower Charge", + "item.banner.flower.blue": "Blue Flower Charge", + "item.banner.flower.purple": "Purple Flower Charge", + "item.banner.flower.cyan": "Cyan Flower Charge", + "item.banner.flower.silver": "Light Gray Flower Charge", + "item.banner.flower.gray": "Gray Flower Charge", + "item.banner.flower.pink": "Pink Flower Charge", + "item.banner.flower.lime": "Lime Flower Charge", + "item.banner.flower.yellow": "Yellow Flower Charge", + "item.banner.flower.lightBlue": "Light Blue Flower Charge", + "item.banner.flower.magenta": "Magenta Flower Charge", + "item.banner.flower.orange": "Orange Flower Charge", + "item.banner.flower.white": "White Flower Charge", + "item.banner.border.black": "Black Bordure", + "item.banner.border.red": "Red Bordure", + "item.banner.border.green": "Green Bordure", + "item.banner.border.brown": "Brown Bordure", + "item.banner.border.blue": "Blue Bordure", + "item.banner.border.purple": "Purple Bordure", + "item.banner.border.cyan": "Cyan Bordure", + "item.banner.border.silver": "Light Gray Bordure", + "item.banner.border.gray": "Gray Bordure", + "item.banner.border.pink": "Pink Bordure", + "item.banner.border.lime": "Lime Bordure", + "item.banner.border.yellow": "Yellow Bordure", + "item.banner.border.lightBlue": "Light Blue Bordure", + "item.banner.border.magenta": "Magenta Bordure", + "item.banner.border.orange": "Orange Bordure", + "item.banner.border.white": "White Bordure", + "item.banner.curly_border.black": "Black Bordure Indented", + "item.banner.curly_border.red": "Red Bordure Indented", + "item.banner.curly_border.green": "Green Bordure Indented", + "item.banner.curly_border.brown": "Brown Bordure Indented", + "item.banner.curly_border.blue": "Blue Bordure Indented", + "item.banner.curly_border.purple": "Purple Bordure Indented", + "item.banner.curly_border.cyan": "Cyan Bordure Indented", + "item.banner.curly_border.silver": "Light Gray Bordure Indented", + "item.banner.curly_border.gray": "Gray Bordure Indented", + "item.banner.curly_border.pink": "Pink Bordure Indented", + "item.banner.curly_border.lime": "Lime Bordure Indented", + "item.banner.curly_border.yellow": "Yellow Bordure Indented", + "item.banner.curly_border.lightBlue": "Light Blue Bordure Indented", + "item.banner.curly_border.magenta": "Magenta Bordure Indented", + "item.banner.curly_border.orange": "Orange Bordure Indented", + "item.banner.curly_border.white": "White Bordure Indented", + "item.banner.mojang.black": "Black Thing", + "item.banner.mojang.red": "Red Thing", + "item.banner.mojang.green": "Green Thing", + "item.banner.mojang.brown": "Brown Thing", + "item.banner.mojang.blue": "Blue Thing", + "item.banner.mojang.purple": "Purple Thing", + "item.banner.mojang.cyan": "Cyan Thing", + "item.banner.mojang.silver": "Light Gray Thing", + "item.banner.mojang.gray": "Gray Thing", + "item.banner.mojang.pink": "Pink Thing", + "item.banner.mojang.lime": "Lime Thing", + "item.banner.mojang.yellow": "Yellow Thing", + "item.banner.mojang.lightBlue": "Light Blue Thing", + "item.banner.mojang.magenta": "Magenta Thing", + "item.banner.mojang.orange": "Orange Thing", + "item.banner.mojang.white": "White Thing", + "item.banner.straight_cross.black": "Black Cross", + "item.banner.straight_cross.red": "Red Cross", + "item.banner.straight_cross.green": "Green Cross", + "item.banner.straight_cross.brown": "Brown Cross", + "item.banner.straight_cross.blue": "Blue Cross", + "item.banner.straight_cross.purple": "Purple Cross", + "item.banner.straight_cross.cyan": "Cyan Cross", + "item.banner.straight_cross.silver": "Light Gray Cross", + "item.banner.straight_cross.gray": "Gray Cross", + "item.banner.straight_cross.pink": "Pink Cross", + "item.banner.straight_cross.lime": "Lime Cross", + "item.banner.straight_cross.yellow": "Yellow Cross", + "item.banner.straight_cross.lightBlue": "Light Blue Cross", + "item.banner.straight_cross.magenta": "Magenta Cross", + "item.banner.straight_cross.orange": "Orange Cross", + "item.banner.straight_cross.white": "White Cross", + "subtitles.ambient.cave": "Eerie noise", + "subtitles.block.anvil.destroy": "Anvil destroyed", + "subtitles.block.anvil.land": "Anvil landed", + "subtitles.block.anvil.use": "Anvil used", + "subtitles.block.brewing_stand.brew": "Brewing Stand bubbles", + "subtitles.block.button.click": "Button clicks", + "subtitles.block.chest.close": "Chest closes", + "subtitles.block.chest.locked": "Chest locked", + "subtitles.block.chest.open": "Chest opens", + "subtitles.block.chorus_flower.death": "Chorus Flower withers", + "subtitles.block.chorus_flower.grow": "Chorus Flower grows", + "subtitles.block.comparator.click": "Comparator clicks", + "subtitles.block.dispenser.dispense": "Dispensed item", + "subtitles.block.dispenser.fail": "Dispenser failed", + "subtitles.block.door.toggle": "Door creaks", + "subtitles.block.fence_gate.toggle": "Fence Gate creaks", + "subtitles.block.fire.ambient": "Fire crackles", + "subtitles.block.fire.extinguish": "Fire extinguished", + "subtitles.block.furnace.fire_crackle": "Furnace crackles", + "subtitles.block.generic.break": "Block broken", + "subtitles.block.generic.footsteps": "Footsteps", + "subtitles.block.generic.hit": "Block breaking", + "subtitles.block.generic.place": "Block placed", + "subtitles.block.iron_trapdoor.close": "Trapdoor opens", + "subtitles.block.iron_trapdoor.open": "Trapdoor closes", + "subtitles.block.lava.ambient": "Lava pops", + "subtitles.block.lava.extinguish": "Lava hisses", + "subtitles.block.lever.click": "Lever clicks", + "subtitles.block.note.note": "Note Block plays", + "subtitles.block.piston.move": "Piston moves", + "subtitles.block.portal.ambient": "Portal whooshes", + "subtitles.block.pressure_plate.click": "Pressure Plate clicks", + "subtitles.block.redstone_torch.burnout": "Torch fizzes", + "subtitles.block.shulker_box.close": "Shulker closes", + "subtitles.block.shulker_box.open": "Shulker opens", + "subtitles.block.trapdoor.toggle": "Trapdoor creaks", + "subtitles.block.tripwire.attach": "Tripwire attaches", + "subtitles.block.tripwire.click": "Tripwire clicks", + "subtitles.block.tripwire.detach": "Tripwire detaches", + "subtitles.block.water.ambient": "Water flows", + "subtitles.enchant.thorns.hit": "Thorns prick", + "subtitles.entity.armorstand.fall": "Something fell", + "subtitles.entity.arrow.hit": "Arrow hits", + "subtitles.entity.arrow.hit_player": "Player hit", + "subtitles.entity.arrow.shoot": "Arrow fired", + "subtitles.entity.bat.ambient": "Bat screeches", + "subtitles.entity.bat.death": "Bat dies", + "subtitles.entity.bat.hurt": "Bat hurts", + "subtitles.entity.bat.takeoff": "Bat takes off", + "subtitles.entity.blaze.ambient": "Blaze breathes", + "subtitles.entity.blaze.burn": "Blaze crackles", + "subtitles.entity.blaze.death": "Blaze dies", + "subtitles.entity.blaze.hurt": "Blaze hurts", + "subtitles.entity.blaze.shoot": "Blaze shoots", + "subtitles.entity.bobber.splash": "Fishing hook splashes", + "subtitles.entity.bobber.throw": "Bobber thrown", + "subtitles.entity.cat.ambient": "Cat meows", + "subtitles.entity.cat.death": "Cat dies", + "subtitles.entity.cat.hurt": "Cat hurts", + "subtitles.entity.chicken.ambient": "Chicken clucks", + "subtitles.entity.chicken.death": "Chicken dies", + "subtitles.entity.chicken.egg": "Chicken plops", + "subtitles.entity.chicken.hurt": "Chicken hurts", + "subtitles.entity.parrot.ambient": "Parrot talks", + "subtitles.entity.parrot.death": "Parrot dies", + "subtitles.entity.parrot.eats": "Parrot eats", + "subtitles.entity.parrot.hurts": "Parrot hurts", + "subtitles.entity.parrot.imitate.blaze": "Parrot breathes", + "subtitles.entity.parrot.imitate.cave_spider": "Parrot hisses", + "subtitles.entity.parrot.imitate.creeper": "Parrot hisses", + "subtitles.entity.parrot.imitate.elder_guardian": "Parrot flaps", + "subtitles.entity.parrot.imitate.enderdragon": "Parrot roars", + "subtitles.entity.parrot.imitate.enderman": "Parrot vwoops", + "subtitles.entity.parrot.imitate.endermite": "Parrot scuttles", + "subtitles.entity.parrot.imitate.evocation_illager": "Parrot murmurs", + "subtitles.entity.parrot.imitate.ghast": "Parrot cries", + "subtitles.entity.parrot.imitate.husk": "Parrot groans", + "subtitles.entity.parrot.imitate.illusion_illager": "Parrot murmurs", + "subtitles.entity.parrot.imitate.magmacube": "Parrot squishes", + "subtitles.entity.parrot.imitate.polar_bear": "Parrot groans", + "subtitles.entity.parrot.imitate.shulker": "Parrot lurks", + "subtitles.entity.parrot.imitate.silverfish": "Parrot hisses", + "subtitles.entity.parrot.imitate.skeleton": "Parrot rattles", + "subtitles.entity.parrot.imitate.slime": "Parrot squishes", + "subtitles.entity.parrot.imitate.spider": "Parrot hisses", + "subtitles.entity.parrot.imitate.stray": "Parrot rattles", + "subtitles.entity.parrot.imitate.vex": "Parrot vexes", + "subtitles.entity.parrot.imitate.vindication_illager": "Parrot mutters", + "subtitles.entity.parrot.imitate.witch": "Parrot giggles", + "subtitles.entity.parrot.imitate.wither": "Parrot angers", + "subtitles.entity.parrot.imitate.wither_skeleton": "Parrot rattles", + "subtitles.entity.parrot.imitate.wolf": "Parrot pants", + "subtitles.entity.parrot.imitate.zombie": "Parrot groans", + "subtitles.entity.parrot.imitate.zombie_pigman": "Parrot grunts", + "subtitles.entity.parrot.imitate.zombie_villager": "Parrot groans", + "subtitles.entity.cow.ambient": "Cow moos", + "subtitles.entity.cow.death": "Cow dies", + "subtitles.entity.cow.hurt": "Cow hurts", + "subtitles.entity.cow.milk": "Cow gets milked", + "subtitles.entity.creeper.death": "Creeper dies", + "subtitles.entity.creeper.hurt": "Creeper hurts", + "subtitles.entity.creeper.primed": "Creeper hisses", + "subtitles.entity.donkey.ambient": "Donkey hee-haws", + "subtitles.entity.donkey.angry": "Donkey neighs", + "subtitles.entity.donkey.chest": "Donkey Chest equips", + "subtitles.entity.donkey.death": "Donkey dies", + "subtitles.entity.donkey.hurt": "Donkey hurts", + "subtitles.entity.egg.throw": "Egg flies", + "subtitles.entity.elder_guardian.ambient.land": "Elder Guardian flaps", + "subtitles.entity.elder_guardian.ambient": "Elder Guardian moans", + "subtitles.entity.elder_guardian.attack": "Elder Guardian shoots", + "subtitles.entity.elder_guardian.curse": "Elder Guardian curses", + "subtitles.entity.elder_guardian.death": "Elder Guardian dies", + "subtitles.entity.elder_guardian.flop": "Elder Guardian flops", + "subtitles.entity.elder_guardian.hurt": "Elder Guardian hurts", + "subtitles.entity.enderdragon.ambient": "Dragon roars", + "subtitles.entity.enderdragon.death": "Dragon dies", + "subtitles.entity.enderdragon.flap": "Dragon flaps", + "subtitles.entity.enderdragon.growl": "Dragon growls", + "subtitles.entity.enderdragon.hurt": "Dragon hurts", + "subtitles.entity.enderdragon.shoot": "Dragon shoots", + "subtitles.entity.endereye.launch": "Eye of Ender shoots", + "subtitles.entity.enderman.ambient": "Enderman vwoops", + "subtitles.entity.enderman.death": "Enderman dies", + "subtitles.entity.enderman.hurt": "Enderman hurts", + "subtitles.entity.enderman.stare": "Enderman cries out", + "subtitles.entity.enderman.teleport": "Enderman teleports", + "subtitles.entity.endermite.ambient": "Endermite scuttles", + "subtitles.entity.endermite.death": "Endermite dies", + "subtitles.entity.endermite.hurt": "Endermite hurts", + "subtitles.entity.enderpearl.throw": "Ender Pearl flies", + "subtitles.entity.evocation_fangs.attack": "Fangs snap", + "subtitles.entity.evocation_illager.ambient": "Evoker murmurs", + "subtitles.entity.evocation_illager.cast_spell": "Evoker casts spell", + "subtitles.entity.evocation_illager.death": "Evoker dies", + "subtitles.entity.evocation_illager.hurt": "Evoker hurts", + "subtitles.entity.evocation_illager.prepare_attack": "Evoker prepares attack", + "subtitles.entity.evocation_illager.prepare_summon": "Evoker prepares summoning", + "subtitles.entity.evocation_illager.prepare_wololo": "Evoker prepares charming", + "subtitles.entity.experience_orb.pickup": "Experience gained", + "subtitles.entity.firework.blast": "Firework blasts", + "subtitles.entity.firework.launch": "Firework launches", + "subtitles.entity.firework.twinkle": "Firework twinkles", + "subtitles.entity.generic.big_fall": "Something fell", + "subtitles.entity.generic.burn": "Burning", + "subtitles.entity.generic.death": "Dying", + "subtitles.entity.generic.drink": "Sipping", + "subtitles.entity.generic.eat": "Eating", + "subtitles.entity.generic.explode": "Explosion", + "subtitles.entity.generic.extinguish_fire": "Fire extinguishes", + "subtitles.entity.generic.hurt": "Something hurts", + "subtitles.entity.generic.small_fall": "Something tripped", + "subtitles.entity.generic.splash": "Splashing", + "subtitles.entity.generic.swim": "Swimming", + "subtitles.entity.ghast.ambient": "Ghast cries", + "subtitles.entity.ghast.death": "Ghast dies", + "subtitles.entity.ghast.hurt": "Ghast hurts", + "subtitles.entity.ghast.shoot": "Ghast shoots", + "subtitles.entity.guardian.ambient.land": "Guardian flaps", + "subtitles.entity.guardian.ambient": "Guardian moans", + "subtitles.entity.guardian.attack": "Guardian shoots", + "subtitles.entity.guardian.curse": "Guardian curses", + "subtitles.entity.guardian.death": "Guardian dies", + "subtitles.entity.guardian.flop": "Guardian flops", + "subtitles.entity.guardian.hurt": "Guardian hurts", + "subtitles.entity.horse.ambient": "Horse neighs", + "subtitles.entity.horse.angry": "Horse neighs", + "subtitles.entity.horse.armor": "Horse armor equips", + "subtitles.entity.horse.breathe": "Horse breathes", + "subtitles.entity.horse.death": "Horse dies", + "subtitles.entity.horse.eat": "Horse eats", + "subtitles.entity.horse.gallop": "Horse gallops", + "subtitles.entity.horse.hurt": "Horse hurts", + "subtitles.entity.horse.jump": "Horse jumps", + "subtitles.entity.horse.saddle": "Saddle equips", + "subtitles.entity.husk.ambient": "Husk groans", + "subtitles.entity.husk.death": "Husk dies", + "subtitles.entity.husk.hurt": "Husk hurts", + "subtitles.entity.illusion_illager.ambient": "Illusioner murmurs", + "subtitles.entity.illusion_illager.cast_spell": "Illusioner casts spell", + "subtitles.entity.illusion_illager.death": "Illusioner dies", + "subtitles.entity.illusion_illager.hurt": "Illusioner hurts", + "subtitles.entity.illusion_illager.mirror_move": "Illusioner displaces", + "subtitles.entity.illusion_illager.prepare_blindness": "Illusioner prepares blindness", + "subtitles.entity.illusion_illager.prepare_mirror": "Illusioner prepares mirror image", + "subtitles.entity.iron_golem.attack": "Iron Golem attacks", + "subtitles.entity.iron_golem.death": "Iron Golem dies", + "subtitles.entity.iron_golem.hurt": "Iron Golem hurts", + "subtitles.entity.item.break": "Item breaks", + "subtitles.entity.item.pickup": "Item plops", + "subtitles.entity.itemframe.add_item": "Item Frame fills", + "subtitles.entity.itemframe.break": "Item Frame breaks", + "subtitles.entity.itemframe.place": "Item Frame placed", + "subtitles.entity.itemframe.remove_item": "Item Frame empties", + "subtitles.entity.itemframe.rotate_item": "Item Frame clicks", + "subtitles.entity.leashknot.break": "Leash knot breaks", + "subtitles.entity.leashknot.place": "Leash knot tied", + "subtitles.entity.lightning.impact": "Lightning strikes", + "subtitles.entity.lightning.thunder": "Thunder roars", + "subtitles.entity.llama.ambient": "Llama bleats", + "subtitles.entity.llama.angry": "Llama bleats angry", + "subtitles.entity.llama.chest": "Llama Chest equips", + "subtitles.entity.llama.death": "Llama dies", + "subtitles.entity.llama.eat": "Llama eats", + "subtitles.entity.llama.hurt": "Llama hurts", + "subtitles.entity.llama.spit": "Llama spits", + "subtitles.entity.llama.step": "Llama steps", + "subtitles.entity.llama.swag": "Llama is decorated", + "subtitles.entity.magmacube.death": "Magma Cube dies", + "subtitles.entity.magmacube.hurt": "Magma Cube hurts", + "subtitles.entity.magmacube.squish": "Magma Cube squishes", + "subtitles.entity.minecart.riding": "Minecart rolls", + "subtitles.entity.mule.ambient": "Mule hee-haws", + "subtitles.entity.mule.chest": "Mule Chest equips", + "subtitles.entity.mule.death": "Mule dies", + "subtitles.entity.mule.hurt": "Mule hurts", + "subtitles.entity.painting.break": "Painting breaks", + "subtitles.entity.painting.place": "Painting placed", + "subtitles.entity.pig.ambient": "Pig oinks", + "subtitles.entity.pig.death": "Pig dies", + "subtitles.entity.pig.hurt": "Pig hurts", + "subtitles.entity.pig.saddle": "Saddle equips", + "subtitles.entity.player.burp": "Burp", + "subtitles.entity.player.death": "Player dies", + "subtitles.entity.player.hurt": "Player hurts", + "subtitles.entity.player.levelup": "Player dings", + "subtitles.entity.polar_bear.ambient": "Polar Bear groans", + "subtitles.entity.polar_bear.baby_ambient": "Polar Bear hums", + "subtitles.entity.polar_bear.death": "Polar Bear dies", + "subtitles.entity.polar_bear.hurt": "Polar Bear hurts", + "subtitles.entity.polar_bear.warning": "Polar Bear roars", + "subtitles.entity.potion.splash": "Bottle smashes", + "subtitles.entity.potion.throw": "Bottle thrown", + "subtitles.entity.rabbit.ambient": "Rabbit squeaks", + "subtitles.entity.rabbit.attack": "Rabbit attacks", + "subtitles.entity.rabbit.death": "Rabbit dies", + "subtitles.entity.rabbit.hurt": "Rabbit hurts", + "subtitles.entity.rabbit.jump": "Rabbit hops", + "subtitles.entity.sheep.ambient": "Sheep baahs", + "subtitles.entity.sheep.death": "Sheep dies", + "subtitles.entity.sheep.hurt": "Sheep hurts", + "subtitles.entity.shulker.ambient": "Shulker lurks", + "subtitles.entity.shulker.close": "Shulker closes", + "subtitles.entity.shulker.death": "Shulker dies", + "subtitles.entity.shulker.hurt": "Shulker hurts", + "subtitles.entity.shulker.open": "Shulker opens", + "subtitles.entity.shulker.shoot": "Shulker shoots", + "subtitles.entity.shulker.teleport": "Shulker teleports", + "subtitles.entity.shulker_bullet.hit": "Shulker bullet explodes", + "subtitles.entity.shulker_bullet.hurt": "Shulker bullet breaks", + "subtitles.entity.silverfish.ambient": "Silverfish hisses", + "subtitles.entity.silverfish.death": "Silverfish dies", + "subtitles.entity.silverfish.hurt": "Silverfish hurts", + "subtitles.entity.skeleton.ambient": "Skeleton rattles", + "subtitles.entity.skeleton.death": "Skeleton dies", + "subtitles.entity.skeleton.hurt": "Skeleton hurts", + "subtitles.entity.skeleton.shoot": "Skeleton shoots", + "subtitles.entity.skeleton_horse.ambient": "Skeleton Horse cries", + "subtitles.entity.skeleton_horse.death": "Skeleton Horse dies", + "subtitles.entity.skeleton_horse.hurt": "Skeleton Horse hurts", + "subtitles.entity.slime.attack": "Slime attacks", + "subtitles.entity.slime.death": "Slime dies", + "subtitles.entity.slime.hurt": "Slime hurts", + "subtitles.entity.slime.squish": "Slime squishes", + "subtitles.entity.snowball.throw": "Snowball flies", + "subtitles.entity.snowman.death": "Snow Golem dies", + "subtitles.entity.snowman.hurt": "Snow Golem hurts", + "subtitles.entity.spider.ambient": "Spider hisses", + "subtitles.entity.spider.death": "Spider dies", + "subtitles.entity.spider.hurt": "Spider hurts", + "subtitles.entity.squid.ambient": "Squid swims", + "subtitles.entity.squid.death": "Squid dies", + "subtitles.entity.squid.hurt": "Squid hurts", + "subtitles.entity.stray.ambient": "Stray rattles", + "subtitles.entity.stray.death": "Stray dies", + "subtitles.entity.stray.hurt": "Stray hurts", + "subtitles.entity.tnt.primed": "TNT fizzes", + "subtitles.entity.vex.ambient": "Vex vexes", + "subtitles.entity.vex.charge": "Vex shrieks", + "subtitles.entity.vex.death": "Vex dies", + "subtitles.entity.vex.hurt": "Vex hurts", + "subtitles.entity.villager.ambient": "Villager mumbles", + "subtitles.entity.villager.death": "Villager dies", + "subtitles.entity.villager.hurt": "Villager hurts", + "subtitles.entity.villager.no": "Villager disagrees", + "subtitles.entity.villager.trading": "Villager trades", + "subtitles.entity.villager.yes": "Villager agrees", + "subtitles.entity.vindication_illager.ambient": "Vindicator mutters", + "subtitles.entity.vindication_illager.death": "Vindicator dies", + "subtitles.entity.vindication_illager.hurt": "Vindicator hurts", + "subtitles.entity.witch.ambient": "Witch giggles", + "subtitles.entity.witch.death": "Witch dies", + "subtitles.entity.witch.drink": "Witch drinks", + "subtitles.entity.witch.hurt": "Witch hurts", + "subtitles.entity.witch.throw": "Witch throws", + "subtitles.entity.wither.ambient": "Wither angers", + "subtitles.entity.wither.death": "Wither dies", + "subtitles.entity.wither.hurt": "Wither hurts", + "subtitles.entity.wither.shoot": "Wither attacks", + "subtitles.entity.wither.spawn": "Wither released", + "subtitles.entity.wither_skeleton.ambient": "Wither Skeleton rattles", + "subtitles.entity.wither_skeleton.death": "Wither Skeleton dies", + "subtitles.entity.wither_skeleton.hurt": "Wither Skeleton hurts", + "subtitles.entity.wolf.ambient": "Wolf pants", + "subtitles.entity.wolf.death": "Wolf dies", + "subtitles.entity.wolf.growl": "Wolf growls", + "subtitles.entity.wolf.hurt": "Wolf hurts", + "subtitles.entity.wolf.shake": "Wolf shakes", + "subtitles.entity.zombie.ambient": "Zombie groans", + "subtitles.entity.zombie.death": "Zombie dies", + "subtitles.entity.zombie.hurt": "Zombie hurts", + "subtitles.entity.zombie.infect": "Zombie infects", + "subtitles.entity.zombie_horse.ambient": "Zombie Horse cries", + "subtitles.entity.zombie_horse.death": "Zombie Horse dies", + "subtitles.entity.zombie_horse.hurt": "Zombie Horse hurts", + "subtitles.entity.zombie_pigman.ambient": "Zombie Pigman grunts", + "subtitles.entity.zombie_pigman.angry": "Zombie Pigman angers", + "subtitles.entity.zombie_pigman.death": "Zombie Pigman dies", + "subtitles.entity.zombie_pigman.hurt": "Zombie Pigman hurts", + "subtitles.entity.zombie_villager.ambient": "Zombie Villager groans", + "subtitles.entity.zombie_villager.converted": "Zombie vociferates", + "subtitles.entity.zombie_villager.cure": "Zombie snuffles", + "subtitles.entity.zombie_villager.death": "Zombie Villager dies", + "subtitles.entity.zombie_villager.hurt": "Zombie Villager hurts", + "subtitles.item.armor.equip": "Gear equipped", + "subtitles.item.armor.equip_chain": "Chain armor jingles", + "subtitles.item.armor.equip_diamond": "Diamond armor clangs", + "subtitles.item.armor.equip_elytra": "Elytra rustles", + "subtitles.item.armor.equip_gold": "Gold armor clinks", + "subtitles.item.armor.equip_iron": "Iron armor clanks", + "subtitles.item.armor.equip_leather": "Leather armor rustles", + "subtitles.item.bottle.fill": "Bottle fills", + "subtitles.item.bucket.empty": "Bucket empties", + "subtitles.item.bucket.fill": "Bucket fills", + "subtitles.item.chorus_fruit.teleport": "Player teleports", + "subtitles.item.firecharge.use": "Fireball whooshes", + "subtitles.item.flintandsteel.use": "Flint and Steel click", + "subtitles.item.hoe.till": "Hoe tills", + "subtitles.item.shear": "Shears click", + "subtitles.item.shield.block": "Shield blocks", + "subtitles.item.shovel.flatten": "Shovel flattens", + "subtitles.item.totem.use": "Totem activates", + "subtitles.weather.rain": "Rain falls", + "debug.prefix": "[Debug]:", + "debug.reload_chunks.help": "F3 + A = Reload chunks", + "debug.show_hitboxes.help": "F3 + B = Show hitboxes", + "debug.clear_chat.help": "F3 + D = Clear chat", + "debug.cycle_renderdistance.help": "F3 + F = Cycle render distance (Shift to invert)", + "debug.chunk_boundaries.help": "F3 + G = Show chunk boundaries", + "debug.advanced_tooltips.help": "F3 + H = Advanced tooltips", + "debug.creative_spectator.help": "F3 + N = Cycle creative <-> spectator", + "debug.pause_focus.help": "F3 + P = Pause on lost focus", + "debug.help.help": "F3 + Q = Show this list", + "debug.reload_resourcepacks.help": "F3 + T = Reload resource packs", + "debug.reload_chunks.message": "Reloading all chunks", + "debug.show_hitboxes.on": "Hitboxes: shown", + "debug.show_hitboxes.off": "Hitboxes: hidden", + "debug.cycle_renderdistance.message": "Render Distance: %s", + "debug.chunk_boundaries.on": "Chunk borders: shown", + "debug.chunk_boundaries.off": "Chunk borders: hidden", + "debug.advanced_tooltips.on": "Advanced tooltips: shown", + "debug.advanced_tooltips.off": "Advanced tooltips: hidden", + "debug.creative_spectator.error": "Unable to switch gamemode, no permission", + "debug.pause_focus.on": "Pause on lost focus: enabled", + "debug.pause_focus.off": "Pause on lost focus: disabled", + "debug.help.message": "Key bindings:", + "debug.reload_resourcepacks.message": "Reloaded resource packs", + "resourcepack.downloading": "Downloading Resource Pack", + "resourcepack.requesting": "Making Request...", + "resourcepack.progress": "Downloading file (%s MB)...", + "tutorial.move.title": "Move with %s, %s, %s and %s", + "tutorial.move.description": "Jump with %s", + "tutorial.look.title": "Look around", + "tutorial.look.description": "Use your mouse to turn", + "tutorial.find_tree.title": "Find a tree", + "tutorial.find_tree.description": "Punch it to collect wood", + "tutorial.punch_tree.title": "Destroy the tree", + "tutorial.punch_tree.description": "Hold down %s", + "tutorial.open_inventory.title": "Open your inventory", + "tutorial.open_inventory.description": "Press %s", + "tutorial.craft_planks.title": "Craft wooden planks", + "tutorial.craft_planks.description": "The recipe book can help", + "advancements.adventure.adventuring_time.title": "Adventuring Time", + "advancements.adventure.adventuring_time.description": "Discover every biome", + "advancements.adventure.kill_all_mobs.title": "Monsters Hunted", + "advancements.adventure.kill_all_mobs.description": "Kill one of every hostile monster", + "advancements.adventure.kill_a_mob.title": "Monster Hunter", + "advancements.adventure.kill_a_mob.description": "Kill any hostile monster", + "advancements.adventure.root.title": "Adventure", + "advancements.adventure.root.description": "Adventure, exploration and combat", + "advancements.adventure.shoot_arrow.title": "Take Aim", + "advancements.adventure.shoot_arrow.description": "Shoot something with a bow and arrow", + "advancements.adventure.sleep_in_bed.title": "Sweet dreams", + "advancements.adventure.sleep_in_bed.description": "Change your respawn point", + "advancements.adventure.sniper_duel.title": "Sniper duel", + "advancements.adventure.sniper_duel.description": "Kill a skeleton with an arrow from more than 50 meters", + "advancements.adventure.trade.title": "What a Deal!", + "advancements.adventure.trade.description": "Successfully trade with a Villager", + "advancements.adventure.summon_iron_golem.title": "Hired Help", + "advancements.adventure.summon_iron_golem.description": "Summon an Iron Golem to help defend a village", + "advancements.adventure.totem_of_undying.title": "Postmortal", + "advancements.adventure.totem_of_undying.description": "Use a Totem of Undying to cheat death", + "advancements.husbandry.root.title": "Husbandry", + "advancements.husbandry.root.description": "The world is full of friends and food", + "advancements.husbandry.breed_an_animal.title": "The Parrots and the Bats", + "advancements.husbandry.breed_an_animal.description": "Breed two animals together", + "advancements.husbandry.breed_all_animals.title": "Two by Two", + "advancements.husbandry.breed_all_animals.description": "Breed all the animals!", + "advancements.husbandry.tame_an_animal.title": "Best Friends Forever", + "advancements.husbandry.tame_an_animal.description": "Tame an animal", + "advancements.husbandry.plant_seed.title": "A Seedy Place", + "advancements.husbandry.plant_seed.description": "Plant a seed and watch it grow", + "advancements.husbandry.break_diamond_hoe.title": "Serious Dedication", + "advancements.husbandry.break_diamond_hoe.description": "Completely use up a diamond hoe, and then reevaluate your life choices", + "advancements.husbandry.balanced_diet.title": "A Balanced Diet", + "advancements.husbandry.balanced_diet.description": "Eat everything that is edible, even if it's not good for you", + "advancements.end.dragon_breath.title": "You Need a Mint", + "advancements.end.dragon_breath.description": "Collect dragon's breath in a glass bottle", + "advancements.end.dragon_egg.title": "The Next Generation", + "advancements.end.dragon_egg.description": "Hold the Dragon Egg", + "advancements.end.elytra.title": "Sky's the Limit", + "advancements.end.elytra.description": "Find an Elytra", + "advancements.end.enter_end_gateway.title": "Remote Getaway", + "advancements.end.enter_end_gateway.description": "Escape the island", + "advancements.end.find_end_city.title": "The City at the End of the Game", + "advancements.end.find_end_city.description": "Go on in, what could happen?", + "advancements.end.kill_dragon.title": "Free the End", + "advancements.end.kill_dragon.description": "Good luck", + "advancements.end.levitate.title": "Great View From Up Here", + "advancements.end.levitate.description": "Levitate up 50 blocks from the attacks of a Shulker", + "advancements.end.respawn_dragon.title": "The End... Again...", + "advancements.end.respawn_dragon.description": "Respawn the ender dragon", + "advancements.end.root.title": "The End", + "advancements.end.root.description": "Or the beginning?", + "advancements.nether.brew_potion.title": "Local Brewery", + "advancements.nether.brew_potion.description": "Brew a potion", + "advancements.nether.all_potions.title": "A Furious Cocktail", + "advancements.nether.all_potions.description": "Have every potion effect applied at the same time", + "advancements.nether.all_effects.title": "How Did We Get Here?", + "advancements.nether.all_effects.description": "Have every effect applied at the same time", + "advancements.nether.create_beacon.title": "Bring Home the Beacon", + "advancements.nether.create_beacon.description": "Construct and place a Beacon", + "advancements.nether.create_full_beacon.title": "Beaconator", + "advancements.nether.create_full_beacon.description": "Bring a beacon to full power", + "advancements.nether.find_fortress.title": "A Terrible Fortress", + "advancements.nether.find_fortress.description": "Break your way into a Nether Fortress", + "advancements.nether.get_wither_skull.title": "Spooky Scary Skeleton", + "advancements.nether.get_wither_skull.description": "Obtain a wither skeleton's skull", + "advancements.nether.obtain_blaze_rod.title": "Into Fire", + "advancements.nether.obtain_blaze_rod.description": "Relieve a Blaze of its rod", + "advancements.nether.return_to_sender.title": "Return to Sender", + "advancements.nether.return_to_sender.description": "Destroy a Ghast with a fireball", + "advancements.nether.root.title": "Nether", + "advancements.nether.root.description": "Bring summer clothes", + "advancements.nether.summon_wither.title": "Withering Heights", + "advancements.nether.summon_wither.description": "Summon the Wither", + "advancements.nether.fast_travel.title": "Subspace Bubble", + "advancements.nether.fast_travel.description": "Use the Nether to travel 7km in the Overworld", + "advancements.nether.uneasy_alliance.title": "Uneasy Alliance", + "advancements.nether.uneasy_alliance.description": "Rescue a Ghast from the Nether, bring it safely home to the Overworld... and then kill it.", + "advancements.story.cure_zombie_villager.title": "Zombie Doctor", + "advancements.story.cure_zombie_villager.description": "Weaken and then cure a zombie villager", + "advancements.story.deflect_arrow.title": "Not Today, Thank You", + "advancements.story.deflect_arrow.description": "Deflect an arrow with a shield", + "advancements.story.enchant_item.title": "Enchanter", + "advancements.story.enchant_item.description": "Enchant an item at an Enchanting Table", + "advancements.story.enter_the_end.title": "The End?", + "advancements.story.enter_the_end.description": "Enter the End Portal", + "advancements.story.enter_the_nether.title": "We Need to Go Deeper", + "advancements.story.enter_the_nether.description": "Build, light and enter a Nether Portal", + "advancements.story.follow_ender_eye.title": "Eye Spy", + "advancements.story.follow_ender_eye.description": "Follow an Ender Eye", + "advancements.story.form_obsidian.title": "Ice Bucket Challenge", + "advancements.story.form_obsidian.description": "Form and mine a block of Obsidian", + "advancements.story.iron_tools.title": "Isn't It Iron Pick", + "advancements.story.iron_tools.description": "Upgrade your pickaxe", + "advancements.story.lava_bucket.title": "Hot Stuff", + "advancements.story.lava_bucket.description": "Fill a bucket with lava", + "advancements.story.mine_diamond.title": "Diamonds!", + "advancements.story.mine_diamond.description": "Acquire diamonds", + "advancements.story.mine_stone.title": "Stone Age", + "advancements.story.mine_stone.description": "Mine stone with your new pickaxe", + "advancements.story.obtain_armor.title": "Suit Up", + "advancements.story.obtain_armor.description": "Protect yourself with a piece of iron armor", + "advancements.story.root.title": "Minecraft", + "advancements.story.root.description": "The heart and story of the game", + "advancements.story.shiny_gear.title": "Cover Me With Diamonds", + "advancements.story.shiny_gear.description": "Diamond armor saves lives", + "advancements.story.smelt_iron.title": "Acquire Hardware", + "advancements.story.smelt_iron.description": "Smelt an iron ingot", + "advancements.story.upgrade_tools.title": "Getting an Upgrade", + "advancements.story.upgrade_tools.description": "Construct a better pickaxe" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/materials.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/materials.json new file mode 100644 index 00000000..69c797e0 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/materials.json @@ -0,0 +1,61 @@ +{ + "rock": { + "257": 6, + "270": 2, + "274": 4, + "278": 8, + "285": 12 + }, + "wood": { + "258": 6, + "271": 2, + "275": 4, + "279": 8, + "286": 12 + }, + "plant": { + "258": 6, + "267": 1.5, + "268": 1.5, + "271": 2, + "272": 1.5, + "275": 4, + "276": 1.5, + "279": 8, + "283": 1.5, + "286": 12 + }, + "melon": { + "267": 1.5, + "268": 1.5, + "272": 1.5, + "276": 1.5, + "283": 1.5 + }, + "leaves": { + "267": 1.5, + "268": 1.5, + "272": 1.5, + "276": 1.5, + "283": 1.5, + "359": 6 + }, + "dirt": { + "256": 6, + "269": 2, + "273": 4, + "277": 8, + "284": 12 + }, + "web": { + "267": 15, + "268": 15, + "272": 15, + "276": 15, + "283": 15, + "359": 15 + }, + "wool": { + "359": 4.8 + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/particles.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/particles.json new file mode 100644 index 00000000..cf0549b1 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/particles.json @@ -0,0 +1,198 @@ +[ + { + "id": 0, + "name": "explode" + }, + { + "id": 1, + "name": "largeexplode" + }, + { + "id": 2, + "name": "hugeexplosion" + }, + { + "id": 3, + "name": "fireworksSpark" + }, + { + "id": 4, + "name": "bubble" + }, + { + "id": 5, + "name": "splash" + }, + { + "id": 6, + "name": "wake" + }, + { + "id": 7, + "name": "suspended" + }, + { + "id": 8, + "name": "depthsuspend" + }, + { + "id": 9, + "name": "crit" + }, + { + "id": 10, + "name": "magicCrit" + }, + { + "id": 11, + "name": "smoke" + }, + { + "id": 12, + "name": "largesmoke" + }, + { + "id": 13, + "name": "spell" + }, + { + "id": 14, + "name": "instantSpell" + }, + { + "id": 15, + "name": "mobSpell" + }, + { + "id": 16, + "name": "mobSpellAmbient" + }, + { + "id": 17, + "name": "witchMagic" + }, + { + "id": 18, + "name": "dripWater" + }, + { + "id": 19, + "name": "dripLava" + }, + { + "id": 20, + "name": "angryVillager" + }, + { + "id": 21, + "name": "happyVillager" + }, + { + "id": 22, + "name": "townaura" + }, + { + "id": 23, + "name": "note" + }, + { + "id": 24, + "name": "portal" + }, + { + "id": 25, + "name": "enchantmenttable" + }, + { + "id": 26, + "name": "flame" + }, + { + "id": 27, + "name": "lava" + }, + { + "id": 28, + "name": "footstep" + }, + { + "id": 29, + "name": "cloud" + }, + { + "id": 30, + "name": "reddust" + }, + { + "id": 31, + "name": "snowballpoof" + }, + { + "id": 32, + "name": "snowshovel" + }, + { + "id": 33, + "name": "slime" + }, + { + "id": 34, + "name": "heart" + }, + { + "id": 35, + "name": "barrier" + }, + { + "id": 36, + "name": "iconcrack" + }, + { + "id": 37, + "name": "blockcrack" + }, + { + "id": 38, + "name": "blockdust" + }, + { + "id": 39, + "name": "droplet" + }, + { + "id": 40, + "name": "take" + }, + { + "id": 41, + "name": "mobappearance" + }, + { + "id": 42, + "name": "dragonbreath" + }, + { + "id": 43, + "name": "endRod" + }, + { + "id": 44, + "name": "damageIndicator" + }, + { + "id": 45, + "name": "sweepAttack" + }, + { + "id": 46, + "name": "fallingdust" + }, + { + "id": 47, + "name": "totem" + }, + { + "id": 48, + "name": "spit" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/protocol.json new file mode 100644 index 00000000..3b3fb97a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/protocol.json @@ -0,0 +1,3969 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint", + "13": "nbt" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"varint" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"varint" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "tab_complete", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "transaction", + "0x12": "close_window", + "0x13": "open_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "keep_alive", + "0x20": "map_chunk", + "0x21": "world_event", + "0x22": "world_particles", + "0x23": "login", + "0x24": "map", + "0x25": "entity", + "0x26": "rel_entity_move", + "0x27": "entity_move_look", + "0x28": "entity_look", + "0x29": "vehicle_move", + "0x2a": "open_sign_entity", + "0x2b": "abilities", + "0x2c": "combat_event", + "0x2d": "player_info", + "0x2e": "position", + "0x2f": "bed", + "0x30": "unlock_recipes", + "0x31": "entity_destroy", + "0x32": "remove_entity_effect", + "0x33": "resource_pack_send", + "0x34": "respawn", + "0x35": "entity_head_rotation", + "0x36": "select_advancement_tab", + "0x37": "world_border", + "0x38": "camera", + "0x39": "held_item_slot", + "0x3a": "scoreboard_display_objective", + "0x3b": "entity_metadata", + "0x3c": "attach_entity", + "0x3d": "entity_velocity", + "0x3e": "entity_equipment", + "0x3f": "experience", + "0x40": "update_health", + "0x41": "scoreboard_objective", + "0x42": "set_passengers", + "0x43": "teams", + "0x44": "scoreboard_score", + "0x45": "spawn_position", + "0x46": "update_time", + "0x47": "title", + "0x48": "sound_effect", + "0x49": "playerlist_header", + "0x4a": "collect", + "0x4b": "entity_teleport", + "0x4c": "advancements", + "0x4d": "entity_update_attributes", + "0x4e": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_prepare_crafting_grid": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "actionNumber", + "type": "u16" + }, + { + "name": "returnEntry", + "type": [ + "array", + { + "countType":"u16", + "type": [ + "container", + [ + { + "name": "item", + "type": "slot" + }, + { + "name": "craftingSlot", + "type": "u8" + }, + { + "name": "playerSlot", + "type": "u8" + } + ] + ] + } + ] + }, + { + "name": "prepareEntry", + "type": [ + "array", + { + "countType":"u16", + "type":[ + "container", + [ + { + "name": "item", + "type": "slot" + }, + { + "name": "craftingSlot", + "type": "u8" + }, + { + "name": "playerSlot", + "type": "u8" + } + ] + ] + } + ] + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "i32" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "prepare_crafting_grid", + "0x02": "tab_complete", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "transaction", + "0x07": "enchant_item", + "0x08": "window_click", + "0x09": "close_window", + "0x0a": "custom_payload", + "0x0b": "use_entity", + "0x0c": "keep_alive", + "0x0d": "flying", + "0x0e": "position", + "0x0f": "position_look", + "0x10": "look", + "0x11": "vehicle_move", + "0x12": "steer_boat", + "0x13": "abilities", + "0x14": "block_dig", + "0x15": "entity_action", + "0x16": "steer_vehicle", + "0x17": "crafting_book_data", + "0x18": "resource_pack_receive", + "0x19": "advancement_tab", + "0x1a": "held_item_slot", + "0x1b": "set_creative_slot", + "0x1c": "update_sign", + "0x1d": "arm_animation", + "0x1e": "spectate", + "0x1f": "block_place", + "0x20": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "prepare_crafting_grid": "packet_prepare_crafting_grid", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/recipes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/recipes.json new file mode 100644 index 00000000..3e8f0de4 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/recipes.json @@ -0,0 +1,7456 @@ +{ + "3": [ + { + "inShape": [ + [ + { + "id": 3, + "metadata": 0 + }, + 13 + ], + [ + 13, + { + "id": 3, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 3, + "metadata": 1 + } + } + ], + "5": [ + { + "inShape": [ + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 5 + } + } + ], + "22": [ + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 22, + "metadata": 0 + } + } + ], + "23": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 261, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 23, + "metadata": 0 + } + } + ], + "24": [ + { + "inShape": [ + [ + { + "id": 12, + "metadata": 0 + }, + { + "id": 12, + "metadata": 0 + } + ], + [ + { + "id": 12, + "metadata": 0 + }, + { + "id": 12, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 24, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 24, + "metadata": 0 + }, + { + "id": 24, + "metadata": 0 + } + ], + [ + { + "id": 24, + "metadata": 0 + }, + { + "id": 24, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 24, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 1 + } + ], + [ + { + "id": 44, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 24, + "metadata": 1 + } + } + ], + "25": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + 331, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 25, + "metadata": 0 + } + } + ], + "27": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + 280, + 266 + ], + [ + 266, + 331, + 266 + ] + ], + "result": { + "count": 6, + "id": 27, + "metadata": 0 + } + } + ], + "28": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 70, + 265 + ], + [ + 265, + 331, + 265 + ] + ], + "result": { + "count": 6, + "id": 28, + "metadata": 0 + } + } + ], + "29": [ + { + "inShape": [ + [ + 341 + ], + [ + 33 + ] + ], + "result": { + "count": 1, + "id": 29, + "metadata": 0 + } + } + ], + "33": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + 4, + 265, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 33, + "metadata": 0 + } + } + ], + "35": [ + { + "inShape": [ + [ + 287, + 287 + ], + [ + 287, + 287 + ] + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 0 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + } + ], + "41": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 41, + "metadata": 0 + } + } + ], + "42": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 42, + "metadata": 0 + } + } + ], + "44": [ + { + "inShape": [ + [ + { + "id": 24, + "metadata": 2 + }, + { + "id": 24, + "metadata": 2 + }, + { + "id": 24, + "metadata": 2 + } + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 4 + } + }, + { + "inShape": [ + [ + { + "id": 98, + "metadata": 3 + }, + { + "id": 98, + "metadata": 3 + }, + { + "id": 98, + "metadata": 3 + } + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 5 + } + }, + { + "inShape": [ + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 6 + } + }, + { + "inShape": [ + [ + { + "id": 155, + "metadata": 0 + }, + { + "id": 155, + "metadata": 0 + }, + { + "id": 155, + "metadata": 0 + } + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 7 + } + } + ], + "45": [ + { + "inShape": [ + [ + 336, + 336 + ], + [ + 336, + 336 + ] + ], + "result": { + "count": 1, + "id": 45, + "metadata": 0 + } + } + ], + "46": [ + { + "inShape": [ + [ + 289, + 12, + 289 + ], + [ + 12, + 289, + 12 + ], + [ + 289, + 12, + 289 + ] + ], + "result": { + "count": 1, + "id": 46, + "metadata": 0 + } + } + ], + "47": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + 340, + 340, + 340 + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 47, + "metadata": 0 + } + } + ], + "48": [ + { + "ingredients": [ + 4, + 106 + ], + "result": { + "count": 1, + "id": 48, + "metadata": 0 + } + } + ], + "50": [ + { + "inShape": [ + [ + 263 + ], + [ + 280 + ] + ], + "result": { + "count": 4, + "id": 50, + "metadata": 0 + } + } + ], + "54": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + null, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 54, + "metadata": 0 + } + } + ], + "57": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ] + ], + "result": { + "count": 1, + "id": 57, + "metadata": 0 + } + } + ], + "58": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 58, + "metadata": 0 + } + } + ], + "61": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + null, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 1, + "id": 61, + "metadata": 0 + } + } + ], + "65": [ + { + "inShape": [ + [ + 280, + null, + 280 + ], + [ + 280, + 280, + 280 + ], + [ + 280, + null, + 280 + ] + ], + "result": { + "count": 3, + "id": 65, + "metadata": 0 + } + } + ], + "66": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 280, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 16, + "id": 66, + "metadata": 0 + } + } + ], + "67": [ + { + "inShape": [ + [ + null, + null, + 4 + ], + [ + null, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 4, + "id": 67, + "metadata": 0 + } + } + ], + "69": [ + { + "inShape": [ + [ + 280 + ], + [ + 4 + ] + ], + "result": { + "count": 1, + "id": 69, + "metadata": 0 + } + } + ], + "70": [ + { + "inShape": [ + [ + 1, + 1 + ] + ], + "result": { + "count": 1, + "id": 70, + "metadata": 0 + } + } + ], + "72": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 72, + "metadata": 0 + } + } + ], + "75": [ + { + "inShape": [ + [ + 331 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 75, + "metadata": 0 + } + } + ], + "77": [ + { + "inShape": [ + [ + 1 + ] + ], + "result": { + "count": 1, + "id": 77, + "metadata": 0 + } + } + ], + "78": [ + { + "inShape": [ + [ + 80, + 80, + 80 + ] + ], + "result": { + "count": 6, + "id": 78, + "metadata": 0 + } + } + ], + "80": [ + { + "inShape": [ + [ + 332, + 332 + ], + [ + 332, + 332 + ] + ], + "result": { + "count": 1, + "id": 80, + "metadata": 0 + } + } + ], + "82": [ + { + "inShape": [ + [ + 337, + 337 + ], + [ + 337, + 337 + ] + ], + "result": { + "count": 1, + "id": 82, + "metadata": 0 + } + } + ], + "84": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + 264, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 84, + "metadata": 0 + } + } + ], + "89": [ + { + "inShape": [ + [ + 348, + 348 + ], + [ + 348, + 348 + ] + ], + "result": { + "count": 1, + "id": 89, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 348, + 348, + 348 + ], + [ + 348, + 348, + 348 + ], + [ + 348, + 348, + 348 + ] + ], + "result": { + "count": 1, + "id": 89, + "metadata": 0 + } + } + ], + "91": [ + { + "inShape": [ + [ + 86 + ], + [ + 50 + ] + ], + "result": { + "count": 1, + "id": 91, + "metadata": 0 + } + } + ], + "95": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 0 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 15 + } + } + ], + "96": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 2, + "id": 96, + "metadata": 0 + } + } + ], + "98": [ + { + "inShape": [ + [ + 1, + 1 + ], + [ + 1, + 1 + ] + ], + "result": { + "count": 4, + "id": 98, + "metadata": 0 + } + }, + { + "ingredients": [ + 98, + 106 + ], + "result": { + "count": 1, + "id": 98, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 5 + } + ], + [ + { + "id": 44, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 98, + "metadata": 3 + } + } + ], + "101": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 16, + "id": 101, + "metadata": 0 + } + } + ], + "102": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 16, + "id": 102, + "metadata": 0 + } + } + ], + "103": [ + { + "inShape": [ + [ + 360, + 360, + 360 + ], + [ + 360, + 360, + 360 + ], + [ + 360, + 360, + 360 + ] + ], + "result": { + "count": 1, + "id": 103, + "metadata": 0 + } + } + ], + "108": [ + { + "inShape": [ + [ + null, + null, + 45 + ], + [ + null, + 45, + 45 + ], + [ + 45, + 45, + 45 + ] + ], + "result": { + "count": 4, + "id": 108, + "metadata": 0 + } + } + ], + "109": [ + { + "inShape": [ + [ + null, + null, + { + "id": 98, + "metadata": 3 + } + ], + [ + null, + { + "id": 98, + "metadata": 3 + }, + { + "id": 98, + "metadata": 3 + } + ], + [ + { + "id": 98, + "metadata": 3 + }, + { + "id": 98, + "metadata": 3 + }, + { + "id": 98, + "metadata": 3 + } + ] + ], + "result": { + "count": 4, + "id": 109, + "metadata": 0 + } + } + ], + "113": [ + { + "inShape": [ + [ + 405, + 405, + 405 + ], + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 6, + "id": 113, + "metadata": 0 + } + } + ], + "114": [ + { + "inShape": [ + [ + null, + null, + 405 + ], + [ + null, + 405, + 405 + ], + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 4, + "id": 114, + "metadata": 0 + } + } + ], + "116": [ + { + "inShape": [ + [ + null, + 340, + null + ], + [ + 264, + 49, + 264 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 116, + "metadata": 0 + } + } + ], + "123": [ + { + "inShape": [ + [ + null, + 331, + null + ], + [ + 331, + 89, + 331 + ], + [ + null, + 331, + null + ] + ], + "result": { + "count": 1, + "id": 123, + "metadata": 0 + } + } + ], + "126": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 5 + } + } + ], + "128": [ + { + "inShape": [ + [ + null, + null, + { + "id": 24, + "metadata": 2 + } + ], + [ + null, + { + "id": 24, + "metadata": 2 + }, + { + "id": 24, + "metadata": 2 + } + ], + [ + { + "id": 24, + "metadata": 2 + }, + { + "id": 24, + "metadata": 2 + }, + { + "id": 24, + "metadata": 2 + } + ] + ], + "result": { + "count": 4, + "id": 128, + "metadata": 0 + } + } + ], + "130": [ + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 49, + 381, + 49 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 130, + "metadata": 0 + } + } + ], + "131": [ + { + "inShape": [ + [ + 265 + ], + [ + 280 + ], + [ + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 2, + "id": 131, + "metadata": 0 + } + } + ], + "133": [ + { + "inShape": [ + [ + 388, + 388, + 388 + ], + [ + 388, + 388, + 388 + ], + [ + 388, + 388, + 388 + ] + ], + "result": { + "count": 1, + "id": 133, + "metadata": 0 + } + } + ], + "138": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 399, + 20 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 138, + "metadata": 0 + } + } + ], + "139": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 139, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 48, + 48, + 48 + ] + ], + "result": { + "count": 6, + "id": 139, + "metadata": 1 + } + } + ], + "143": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 143, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 1 + ], + [ + 1 + ] + ], + "result": { + "count": 1, + "id": 143, + "metadata": 0 + } + } + ], + "145": [ + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + null, + 265, + null + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 145, + "metadata": 0 + } + } + ], + "146": [ + { + "ingredients": [ + 131, + 54 + ], + "result": { + "count": 1, + "id": 146, + "metadata": 0 + } + } + ], + "147": [ + { + "inShape": [ + [ + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 147, + "metadata": 0 + } + } + ], + "148": [ + { + "inShape": [ + [ + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 148, + "metadata": 0 + } + } + ], + "151": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 406, + 406, + 406 + ], + [ + { + "id": 126, + "metadata": 5 + }, + { + "id": 126, + "metadata": 5 + }, + { + "id": 126, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 151, + "metadata": 0 + } + } + ], + "152": [ + { + "inShape": [ + [ + 331, + 331, + 331 + ], + [ + 331, + 331, + 331 + ], + [ + 331, + 331, + 331 + ] + ], + "result": { + "count": 1, + "id": 152, + "metadata": 0 + } + } + ], + "154": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 54, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 154, + "metadata": 0 + } + } + ], + "155": [ + { + "inShape": [ + [ + 406, + 406 + ], + [ + 406, + 406 + ] + ], + "result": { + "count": 1, + "id": 155, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 7 + } + ], + [ + { + "id": 44, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 155, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 155, + "metadata": 0 + } + ], + [ + { + "id": 155, + "metadata": 0 + } + ] + ], + "result": { + "count": 2, + "id": 155, + "metadata": 0 + } + } + ], + "156": [ + { + "inShape": [ + [ + null, + null, + { + "id": 155, + "metadata": 0 + } + ], + [ + null, + { + "id": 155, + "metadata": 0 + }, + { + "id": 155, + "metadata": 0 + } + ], + [ + { + "id": 155, + "metadata": 0 + }, + { + "id": 155, + "metadata": 0 + }, + { + "id": 155, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 156, + "metadata": 0 + } + } + ], + "157": [ + { + "inShape": [ + [ + 265, + 280, + 265 + ], + [ + 265, + 75, + 265 + ], + [ + 265, + 280, + 265 + ] + ], + "result": { + "count": 6, + "id": 157, + "metadata": 0 + } + } + ], + "158": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + null, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 158, + "metadata": 0 + } + } + ], + "160": [ + { + "inShape": [ + [ + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + } + ], + [ + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 15 + } + } + ], + "164": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 4, + "id": 164, + "metadata": 0 + } + } + ], + "165": [ + { + "inShape": [ + [ + 341, + 341, + 341 + ], + [ + 341, + 341, + 341 + ], + [ + 341, + 341, + 341 + ] + ], + "result": { + "count": 1, + "id": 165, + "metadata": 0 + } + } + ], + "167": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 167, + "metadata": 0 + } + } + ], + "168": [ + { + "inShape": [ + [ + 409, + 409, + 409 + ], + [ + 409, + 409, + 409 + ], + [ + 409, + 409, + 409 + ] + ], + "result": { + "count": 1, + "id": 168, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 409, + 409, + 409 + ], + [ + 409, + { + "id": 351, + "metadata": 0 + }, + 409 + ], + [ + 409, + 409, + 409 + ] + ], + "result": { + "count": 1, + "id": 168, + "metadata": 2 + } + } + ], + "170": [ + { + "inShape": [ + [ + 296, + 296, + 296 + ], + [ + 296, + 296, + 296 + ], + [ + 296, + 296, + 296 + ] + ], + "result": { + "count": 1, + "id": 170, + "metadata": 0 + } + } + ], + "171": [ + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 15 + } + } + ], + "173": [ + { + "inShape": [ + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ], + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ], + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 173, + "metadata": 0 + } + } + ], + "179": [ + { + "inShape": [ + [ + { + "id": 12, + "metadata": 1 + }, + { + "id": 12, + "metadata": 1 + } + ], + [ + { + "id": 12, + "metadata": 1 + }, + { + "id": 12, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 179, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 179, + "metadata": 0 + }, + { + "id": 179, + "metadata": 0 + } + ], + [ + { + "id": 179, + "metadata": 0 + }, + { + "id": 179, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 179, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 182, + "metadata": 0 + } + ], + [ + { + "id": 182, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 179, + "metadata": 1 + } + } + ], + "180": [ + { + "inShape": [ + [ + null, + null, + { + "id": 179, + "metadata": 2 + } + ], + [ + null, + { + "id": 179, + "metadata": 2 + }, + { + "id": 179, + "metadata": 2 + } + ], + [ + { + "id": 179, + "metadata": 2 + }, + { + "id": 179, + "metadata": 2 + }, + { + "id": 179, + "metadata": 2 + } + ] + ], + "result": { + "count": 4, + "id": 180, + "metadata": 0 + } + } + ], + "182": [ + { + "inShape": [ + [ + { + "id": 179, + "metadata": 2 + }, + { + "id": 179, + "metadata": 2 + }, + { + "id": 179, + "metadata": 2 + } + ] + ], + "result": { + "count": 6, + "id": 182, + "metadata": 0 + } + } + ], + "186": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 5 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 5 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 186, + "metadata": 0 + } + } + ], + "191": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + 280, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + 280, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 3, + "id": 191, + "metadata": 0 + } + } + ], + "198": [ + { + "inShape": [ + [ + 369 + ], + [ + 433 + ] + ], + "result": { + "count": 4, + "id": 198, + "metadata": 0 + } + } + ], + "201": [ + { + "inShape": [ + [ + 433, + 433 + ], + [ + 433, + 433 + ] + ], + "result": { + "count": 4, + "id": 201, + "metadata": 0 + } + } + ], + "202": [ + { + "inShape": [ + [ + 205 + ], + [ + 205 + ] + ], + "result": { + "count": 1, + "id": 202, + "metadata": 0 + } + } + ], + "206": [ + { + "inShape": [ + [ + 121, + 121 + ], + [ + 121, + 121 + ] + ], + "result": { + "count": 4, + "id": 206, + "metadata": 0 + } + } + ], + "214": [ + { + "inShape": [ + [ + 372, + 372, + 372 + ], + [ + 372, + 372, + 372 + ], + [ + 372, + 372, + 372 + ] + ], + "result": { + "count": 1, + "id": 214, + "metadata": 0 + } + } + ], + "215": [ + { + "inShape": [ + [ + 372, + 405 + ], + [ + 405, + 372 + ] + ], + "result": { + "count": 1, + "id": 215, + "metadata": 0 + } + } + ], + "216": [ + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 216, + "metadata": 0 + } + } + ], + "229": [ + { + "inShape": [ + [ + 450 + ], + [ + 54 + ], + [ + 450 + ] + ], + "result": { + "count": 1, + "id": 229, + "metadata": 0 + } + } + ], + "234": [ + { + "ingredients": [ + 234, + { + "id": 351, + "metadata": 0 + } + ], + "result": { + "count": 1, + "id": 234, + "metadata": 0 + } + } + ], + "256": [ + { + "inShape": [ + [ + 265 + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 256, + "metadata": 0 + } + }, + { + "ingredients": [ + 256, + 256 + ], + "result": { + "count": 1, + "id": 256, + "metadata": 0 + } + } + ], + "257": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 257, + "metadata": 0 + } + }, + { + "ingredients": [ + 257, + 257 + ], + "result": { + "count": 1, + "id": 257, + "metadata": 0 + } + } + ], + "258": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + 265, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 258, + "metadata": 0 + } + }, + { + "ingredients": [ + 258, + 258 + ], + "result": { + "count": 1, + "id": 258, + "metadata": 0 + } + } + ], + "259": [ + { + "ingredients": [ + 265, + 318 + ], + "result": { + "count": 1, + "id": 259, + "metadata": 0 + } + }, + { + "ingredients": [ + 259, + 259 + ], + "result": { + "count": 1, + "id": 259, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 265, + null + ], + [ + null, + 318 + ] + ], + "result": { + "count": 1, + "id": 259, + "metadata": 0 + } + } + ], + "261": [ + { + "inShape": [ + [ + null, + 280, + 287 + ], + [ + 280, + null, + 287 + ], + [ + null, + 280, + 287 + ] + ], + "result": { + "count": 1, + "id": 261, + "metadata": 0 + } + }, + { + "ingredients": [ + 261, + 261 + ], + "result": { + "count": 1, + "id": 261, + "metadata": 0 + } + } + ], + "262": [ + { + "inShape": [ + [ + 318 + ], + [ + 280 + ], + [ + 288 + ] + ], + "result": { + "count": 4, + "id": 262, + "metadata": 0 + } + } + ], + "263": [ + { + "inShape": [ + [ + 173 + ] + ], + "result": { + "count": 9, + "id": 263, + "metadata": 0 + } + } + ], + "264": [ + { + "inShape": [ + [ + 57 + ] + ], + "result": { + "count": 9, + "id": 264, + "metadata": 0 + } + } + ], + "265": [ + { + "inShape": [ + [ + 42 + ] + ], + "result": { + "count": 9, + "id": 265, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 452, + 452, + 452 + ], + [ + 452, + 452, + 452 + ], + [ + 452, + 452, + 452 + ] + ], + "result": { + "count": 1, + "id": 265, + "metadata": 0 + } + } + ], + "266": [ + { + "inShape": [ + [ + 41 + ] + ], + "result": { + "count": 9, + "id": 266, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 371, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 266, + "metadata": 0 + } + } + ], + "267": [ + { + "inShape": [ + [ + 265 + ], + [ + 265 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 267, + "metadata": 0 + } + }, + { + "ingredients": [ + 267, + 267 + ], + "result": { + "count": 1, + "id": 267, + "metadata": 0 + } + } + ], + "268": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + } + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 268, + "metadata": 0 + } + }, + { + "ingredients": [ + 268, + 268 + ], + "result": { + "count": 1, + "id": 268, + "metadata": 0 + } + } + ], + "269": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + } + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 269, + "metadata": 0 + } + }, + { + "ingredients": [ + 269, + 269 + ], + "result": { + "count": 1, + "id": 269, + "metadata": 0 + } + } + ], + "270": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 270, + "metadata": 0 + } + }, + { + "ingredients": [ + 270, + 270 + ], + "result": { + "count": 1, + "id": 270, + "metadata": 0 + } + } + ], + "271": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 271, + "metadata": 0 + } + }, + { + "ingredients": [ + 271, + 271 + ], + "result": { + "count": 1, + "id": 271, + "metadata": 0 + } + } + ], + "272": [ + { + "inShape": [ + [ + 4 + ], + [ + 4 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 272, + "metadata": 0 + } + }, + { + "ingredients": [ + 272, + 272 + ], + "result": { + "count": 1, + "id": 272, + "metadata": 0 + } + } + ], + "273": [ + { + "inShape": [ + [ + 4 + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 273, + "metadata": 0 + } + }, + { + "ingredients": [ + 273, + 273 + ], + "result": { + "count": 1, + "id": 273, + "metadata": 0 + } + } + ], + "274": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 274, + "metadata": 0 + } + }, + { + "ingredients": [ + 274, + 274 + ], + "result": { + "count": 1, + "id": 274, + "metadata": 0 + } + } + ], + "275": [ + { + "inShape": [ + [ + 4, + 4 + ], + [ + 4, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 275, + "metadata": 0 + } + }, + { + "ingredients": [ + 275, + 275 + ], + "result": { + "count": 1, + "id": 275, + "metadata": 0 + } + } + ], + "276": [ + { + "inShape": [ + [ + 264 + ], + [ + 264 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 276, + "metadata": 0 + } + }, + { + "ingredients": [ + 276, + 276 + ], + "result": { + "count": 1, + "id": 276, + "metadata": 0 + } + } + ], + "277": [ + { + "inShape": [ + [ + 264 + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 277, + "metadata": 0 + } + }, + { + "ingredients": [ + 277, + 277 + ], + "result": { + "count": 1, + "id": 277, + "metadata": 0 + } + } + ], + "278": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 278, + "metadata": 0 + } + }, + { + "ingredients": [ + 278, + 278 + ], + "result": { + "count": 1, + "id": 278, + "metadata": 0 + } + } + ], + "279": [ + { + "inShape": [ + [ + 264, + 264 + ], + [ + 264, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 279, + "metadata": 0 + } + }, + { + "ingredients": [ + 279, + 279 + ], + "result": { + "count": 1, + "id": 279, + "metadata": 0 + } + } + ], + "280": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 4, + "id": 280, + "metadata": 0 + } + } + ], + "281": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + null, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + { + "id": 5, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 4, + "id": 281, + "metadata": 0 + } + } + ], + "282": [ + { + "ingredients": [ + 40, + 39, + 281 + ], + "result": { + "count": 1, + "id": 282, + "metadata": 0 + } + } + ], + "283": [ + { + "inShape": [ + [ + 266 + ], + [ + 266 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 283, + "metadata": 0 + } + }, + { + "ingredients": [ + 283, + 283 + ], + "result": { + "count": 1, + "id": 283, + "metadata": 0 + } + } + ], + "284": [ + { + "inShape": [ + [ + 266 + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 284, + "metadata": 0 + } + }, + { + "ingredients": [ + 284, + 284 + ], + "result": { + "count": 1, + "id": 284, + "metadata": 0 + } + } + ], + "285": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 285, + "metadata": 0 + } + }, + { + "ingredients": [ + 285, + 285 + ], + "result": { + "count": 1, + "id": 285, + "metadata": 0 + } + } + ], + "286": [ + { + "inShape": [ + [ + 266, + 266 + ], + [ + 266, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 286, + "metadata": 0 + } + }, + { + "ingredients": [ + 286, + 286 + ], + "result": { + "count": 1, + "id": 286, + "metadata": 0 + } + } + ], + "290": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 290, + "metadata": 0 + } + }, + { + "ingredients": [ + 290, + 290 + ], + "result": { + "count": 1, + "id": 290, + "metadata": 0 + } + } + ], + "291": [ + { + "inShape": [ + [ + 4, + 4 + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 291, + "metadata": 0 + } + }, + { + "ingredients": [ + 291, + 291 + ], + "result": { + "count": 1, + "id": 291, + "metadata": 0 + } + } + ], + "292": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 292, + "metadata": 0 + } + }, + { + "ingredients": [ + 292, + 292 + ], + "result": { + "count": 1, + "id": 292, + "metadata": 0 + } + } + ], + "293": [ + { + "inShape": [ + [ + 264, + 264 + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 293, + "metadata": 0 + } + }, + { + "ingredients": [ + 293, + 293 + ], + "result": { + "count": 1, + "id": 293, + "metadata": 0 + } + } + ], + "294": [ + { + "inShape": [ + [ + 266, + 266 + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 294, + "metadata": 0 + } + }, + { + "ingredients": [ + 294, + 294 + ], + "result": { + "count": 1, + "id": 294, + "metadata": 0 + } + } + ], + "296": [ + { + "inShape": [ + [ + 170 + ] + ], + "result": { + "count": 9, + "id": 296, + "metadata": 0 + } + } + ], + "297": [ + { + "inShape": [ + [ + 296, + 296, + 296 + ] + ], + "result": { + "count": 1, + "id": 297, + "metadata": 0 + } + } + ], + "298": [ + { + "inShape": [ + [ + 334, + 334, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 298, + "metadata": 0 + } + }, + { + "ingredients": [ + 298, + 298 + ], + "result": { + "count": 1, + "id": 298, + "metadata": 0 + } + } + ], + "299": [ + { + "inShape": [ + [ + 334, + null, + 334 + ], + [ + 334, + 334, + 334 + ], + [ + 334, + 334, + 334 + ] + ], + "result": { + "count": 1, + "id": 299, + "metadata": 0 + } + }, + { + "ingredients": [ + 299, + 299 + ], + "result": { + "count": 1, + "id": 299, + "metadata": 0 + } + } + ], + "300": [ + { + "inShape": [ + [ + 334, + 334, + 334 + ], + [ + 334, + null, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 300, + "metadata": 0 + } + }, + { + "ingredients": [ + 300, + 300 + ], + "result": { + "count": 1, + "id": 300, + "metadata": 0 + } + } + ], + "301": [ + { + "inShape": [ + [ + 334, + null, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 301, + "metadata": 0 + } + }, + { + "ingredients": [ + 301, + 301 + ], + "result": { + "count": 1, + "id": 301, + "metadata": 0 + } + } + ], + "302": [ + { + "ingredients": [ + 302, + 302 + ], + "result": { + "count": 1, + "id": 302, + "metadata": 0 + } + } + ], + "303": [ + { + "ingredients": [ + 303, + 303 + ], + "result": { + "count": 1, + "id": 303, + "metadata": 0 + } + } + ], + "304": [ + { + "ingredients": [ + 304, + 304 + ], + "result": { + "count": 1, + "id": 304, + "metadata": 0 + } + } + ], + "305": [ + { + "ingredients": [ + 305, + 305 + ], + "result": { + "count": 1, + "id": 305, + "metadata": 0 + } + } + ], + "306": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 306, + "metadata": 0 + } + }, + { + "ingredients": [ + 306, + 306 + ], + "result": { + "count": 1, + "id": 306, + "metadata": 0 + } + } + ], + "307": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 307, + "metadata": 0 + } + }, + { + "ingredients": [ + 307, + 307 + ], + "result": { + "count": 1, + "id": 307, + "metadata": 0 + } + } + ], + "308": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 308, + "metadata": 0 + } + }, + { + "ingredients": [ + 308, + 308 + ], + "result": { + "count": 1, + "id": 308, + "metadata": 0 + } + } + ], + "309": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 309, + "metadata": 0 + } + }, + { + "ingredients": [ + 309, + 309 + ], + "result": { + "count": 1, + "id": 309, + "metadata": 0 + } + } + ], + "310": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 310, + "metadata": 0 + } + }, + { + "ingredients": [ + 310, + 310 + ], + "result": { + "count": 1, + "id": 310, + "metadata": 0 + } + } + ], + "311": [ + { + "inShape": [ + [ + 264, + null, + 264 + ], + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ] + ], + "result": { + "count": 1, + "id": 311, + "metadata": 0 + } + }, + { + "ingredients": [ + 311, + 311 + ], + "result": { + "count": 1, + "id": 311, + "metadata": 0 + } + } + ], + "312": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + null, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 312, + "metadata": 0 + } + }, + { + "ingredients": [ + 312, + 312 + ], + "result": { + "count": 1, + "id": 312, + "metadata": 0 + } + } + ], + "313": [ + { + "inShape": [ + [ + 264, + null, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 313, + "metadata": 0 + } + }, + { + "ingredients": [ + 313, + 313 + ], + "result": { + "count": 1, + "id": 313, + "metadata": 0 + } + } + ], + "314": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 314, + "metadata": 0 + } + }, + { + "ingredients": [ + 314, + 314 + ], + "result": { + "count": 1, + "id": 314, + "metadata": 0 + } + } + ], + "315": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 315, + "metadata": 0 + } + }, + { + "ingredients": [ + 315, + 315 + ], + "result": { + "count": 1, + "id": 315, + "metadata": 0 + } + } + ], + "316": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + null, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 316, + "metadata": 0 + } + }, + { + "ingredients": [ + 316, + 316 + ], + "result": { + "count": 1, + "id": 316, + "metadata": 0 + } + } + ], + "317": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 317, + "metadata": 0 + } + }, + { + "ingredients": [ + 317, + 317 + ], + "result": { + "count": 1, + "id": 317, + "metadata": 0 + } + } + ], + "321": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + 280, + 35, + 280 + ], + [ + 280, + 280, + 280 + ] + ], + "result": { + "count": 1, + "id": 321, + "metadata": 0 + } + } + ], + "322": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + 260, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 322, + "metadata": 0 + } + } + ], + "323": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 3, + "id": 323, + "metadata": 0 + } + } + ], + "325": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 325, + "metadata": 0 + } + } + ], + "328": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 328, + "metadata": 0 + } + } + ], + "330": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + 265, + 265 + ], + [ + 265, + 265 + ] + ], + "result": { + "count": 3, + "id": 330, + "metadata": 0 + } + } + ], + "331": [ + { + "inShape": [ + [ + 152 + ] + ], + "result": { + "count": 9, + "id": 331, + "metadata": 0 + } + } + ], + "333": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + 269, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 333, + "metadata": 0 + } + } + ], + "334": [ + { + "inShape": [ + [ + 415, + 415 + ], + [ + 415, + 415 + ] + ], + "result": { + "count": 1, + "id": 334, + "metadata": 0 + } + } + ], + "339": [ + { + "inShape": [ + [ + 338, + 338, + 338 + ] + ], + "result": { + "count": 3, + "id": 339, + "metadata": 0 + } + } + ], + "340": [ + { + "ingredients": [ + 339, + 339, + 339, + 334 + ], + "result": { + "count": 1, + "id": 340, + "metadata": 0 + } + } + ], + "341": [ + { + "inShape": [ + [ + 165 + ] + ], + "result": { + "count": 9, + "id": 341, + "metadata": 0 + } + } + ], + "342": [ + { + "inShape": [ + [ + 54 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 342, + "metadata": 0 + } + } + ], + "343": [ + { + "inShape": [ + [ + 61 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 343, + "metadata": 0 + } + } + ], + "345": [ + { + "inShape": [ + [ + null, + 265, + null + ], + [ + 265, + 331, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 345, + "metadata": 0 + } + } + ], + "346": [ + { + "inShape": [ + [ + null, + null, + 280 + ], + [ + null, + 280, + 287 + ], + [ + 280, + null, + 287 + ] + ], + "result": { + "count": 1, + "id": 346, + "metadata": 0 + } + }, + { + "ingredients": [ + 346, + 346 + ], + "result": { + "count": 1, + "id": 346, + "metadata": 0 + } + } + ], + "347": [ + { + "inShape": [ + [ + null, + 266, + null + ], + [ + 266, + 331, + 266 + ], + [ + null, + 266, + null + ] + ], + "result": { + "count": 1, + "id": 347, + "metadata": 0 + } + } + ], + "351": [ + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 2 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 6 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 12 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 12 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 5 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 8 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 10 + } + }, + { + "inShape": [ + [ + 37 + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 11 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 0 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 11 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 9 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 5 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 9 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 9 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 13 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 1 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 9 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 4, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 4 + } + ], + "result": { + "count": 3, + "id": 351, + "metadata": 13 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 14 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 11 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 14 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 4 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 434 + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 38 + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 7 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 3, + "id": 351, + "metadata": 7 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 7 + } + }, + { + "inShape": [ + [ + 22 + ] + ], + "result": { + "count": 9, + "id": 351, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 352 + ] + ], + "result": { + "count": 3, + "id": 351, + "metadata": 15 + } + }, + { + "inShape": [ + [ + 216 + ] + ], + "result": { + "count": 9, + "id": 351, + "metadata": 15 + } + } + ], + "353": [ + { + "inShape": [ + [ + 338 + ] + ], + "result": { + "count": 1, + "id": 353, + "metadata": 0 + } + } + ], + "354": [ + { + "inShape": [ + [ + 335, + 335, + 335 + ], + [ + 353, + 344, + 353 + ], + [ + 296, + 296, + 296 + ] + ], + "outShape": [ + [ + 325, + 325, + 325 + ], + [ + null, + null, + null + ], + [ + null, + null, + null + ] + ], + "result": { + "count": 1, + "id": 354, + "metadata": 0 + } + } + ], + "357": [ + { + "inShape": [ + [ + 296, + { + "id": 351, + "metadata": 3 + }, + 296 + ] + ], + "result": { + "count": 8, + "id": 357, + "metadata": 0 + } + } + ], + "359": [ + { + "inShape": [ + [ + null, + 265 + ], + [ + 265, + null + ] + ], + "result": { + "count": 1, + "id": 359, + "metadata": 0 + } + }, + { + "ingredients": [ + 359, + 359 + ], + "result": { + "count": 1, + "id": 359, + "metadata": 0 + } + } + ], + "361": [ + { + "inShape": [ + [ + 86 + ] + ], + "result": { + "count": 4, + "id": 361, + "metadata": 0 + } + } + ], + "362": [ + { + "inShape": [ + [ + 360 + ] + ], + "result": { + "count": 1, + "id": 362, + "metadata": 0 + } + } + ], + "371": [ + { + "inShape": [ + [ + 266 + ] + ], + "result": { + "count": 9, + "id": 371, + "metadata": 0 + } + } + ], + "374": [ + { + "inShape": [ + [ + 20, + null, + 20 + ], + [ + null, + 20, + null + ] + ], + "result": { + "count": 3, + "id": 374, + "metadata": 0 + } + } + ], + "376": [ + { + "ingredients": [ + 39, + 353, + 375 + ], + "result": { + "count": 1, + "id": 376, + "metadata": 0 + } + } + ], + "377": [ + { + "inShape": [ + [ + 369 + ] + ], + "result": { + "count": 2, + "id": 377, + "metadata": 0 + } + } + ], + "378": [ + { + "ingredients": [ + 377, + 341 + ], + "result": { + "count": 1, + "id": 378, + "metadata": 0 + } + } + ], + "379": [ + { + "inShape": [ + [ + null, + 369, + null + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 1, + "id": 379, + "metadata": 0 + } + } + ], + "380": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 380, + "metadata": 0 + } + } + ], + "381": [ + { + "ingredients": [ + 377, + 368 + ], + "result": { + "count": 1, + "id": 381, + "metadata": 0 + } + } + ], + "382": [ + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 360, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 382, + "metadata": 0 + } + } + ], + "385": [ + { + "ingredients": [ + 377, + 263, + 289 + ], + "result": { + "count": 3, + "id": 385, + "metadata": 0 + } + } + ], + "386": [ + { + "ingredients": [ + 340, + { + "id": 351, + "metadata": 0 + }, + 288 + ], + "result": { + "count": 1, + "id": 386, + "metadata": 0 + } + } + ], + "387": [ + { + "ingredients": [ + 386, + 387 + ], + "result": { + "count": 1, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 387, + 386 + ], + "result": { + "count": 2, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 387, + 386, + 386 + ], + "result": { + "count": 3, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 4, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 5, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 6, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386, + 386 + ], + "result": { + "count": 7, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386, + 386, + 386 + ], + "result": { + "count": 8, + "id": 387, + "metadata": 0 + } + } + ], + "388": [ + { + "inShape": [ + [ + 133 + ] + ], + "result": { + "count": 9, + "id": 388, + "metadata": 0 + } + } + ], + "389": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + 280, + 334, + 280 + ], + [ + 280, + 280, + 280 + ] + ], + "result": { + "count": 1, + "id": 389, + "metadata": 0 + } + } + ], + "390": [ + { + "inShape": [ + [ + 336, + null, + 336 + ], + [ + null, + 336, + null + ] + ], + "result": { + "count": 1, + "id": 390, + "metadata": 0 + } + } + ], + "396": [ + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 391, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 396, + "metadata": 0 + } + } + ], + "398": [ + { + "inShape": [ + [ + 346, + null + ], + [ + null, + 391 + ] + ], + "result": { + "count": 1, + "id": 398, + "metadata": 0 + } + }, + { + "ingredients": [ + 398, + 398 + ], + "result": { + "count": 1, + "id": 398, + "metadata": 0 + } + } + ], + "400": [ + { + "ingredients": [ + 86, + 353, + 344 + ], + "result": { + "count": 1, + "id": 400, + "metadata": 0 + } + } + ], + "402": [ + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 0 + }, + 397, + 348, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 0 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + } + ], + "405": [ + { + "inShape": [ + [ + 405, + 405 + ], + [ + 405, + 405 + ] + ], + "result": { + "count": 1, + "id": 405, + "metadata": 0 + } + } + ], + "407": [ + { + "inShape": [ + [ + 46 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 407, + "metadata": 0 + } + } + ], + "408": [ + { + "inShape": [ + [ + 154 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 408, + "metadata": 0 + } + } + ], + "413": [ + { + "inShape": [ + [ + null, + 412, + null + ], + [ + 391, + 393, + 39 + ], + [ + null, + 281, + null + ] + ], + "result": { + "count": 1, + "id": 413, + "metadata": 0 + } + } + ], + "416": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + null, + 280, + null + ], + [ + 280, + { + "id": 44, + "metadata": 0 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 416, + "metadata": 0 + } + } + ], + "420": [ + { + "inShape": [ + [ + 287, + 287, + null + ], + [ + 287, + 341, + null + ], + [ + null, + null, + 287 + ] + ], + "result": { + "count": 2, + "id": 420, + "metadata": 0 + } + } + ], + "425": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 35, + 35, + 35 + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 425, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + } + ], + "426": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 381, + 20 + ], + [ + 20, + 370, + 20 + ] + ], + "result": { + "count": 1, + "id": 426, + "metadata": 0 + } + } + ], + "431": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 3, + "id": 431, + "metadata": 0 + } + } + ], + "439": [ + { + "inShape": [ + [ + null, + 348, + null + ], + [ + 348, + 262, + 348 + ], + [ + null, + 348, + null + ] + ], + "result": { + "count": 2, + "id": 439, + "metadata": 0 + } + } + ], + "442": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + 265, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + { + "id": 5, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "ingredients": [ + 442, + 442 + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "ingredients": [ + 442, + 425 + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + { + "id": 5, + "metadata": 5 + }, + null + ], + [ + 35, + { + "id": 5, + "metadata": 5 + }, + 265 + ], + [ + 35, + { + "id": 5, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + } + ], + "443": [ + { + "ingredients": [ + 443, + 443 + ], + "result": { + "count": 1, + "id": 443, + "metadata": 0 + } + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/version.json new file mode 100644 index 00000000..69ce0bfa --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.12", + "version":335, + "majorVersion": "1.12" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.12/windows.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/windows.json new file mode 100644 index 00000000..37bdcb69 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.12/windows.json @@ -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 + } + ] + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.1/commands.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.1/commands.json new file mode 100644 index 00000000..e2d2cbf9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.1/commands.json @@ -0,0 +1,13611 @@ +{ + "root": { + "type": "root", + "name": "root", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "advancement", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "grant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "revoke", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "base", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modifier", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply_base", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "ban", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ban-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "banlist", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ips", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "visible", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "blue", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "green", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pink", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "purple", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "red", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "white", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "yellow", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "max", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ] + }, + { + "type": "literal", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "style", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "notched_10", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_12", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_20", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_6", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "progress", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "visible", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "visible", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxCount", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "clone", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "begin", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "filtered", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "datapack", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "disable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "after", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "before", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "first", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "last", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "available", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "enabled", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ] + }, + { + "type": "literal", + "name": "debug", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "report", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "start", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "defaultgamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "deop", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "difficulty", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "easy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hard", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "peaceful", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "effect", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "seconds", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amplifier", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "hideParticles", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + } + } + } + ], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "enchant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "enchantment", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "level", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_enchantment", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "execute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "align", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "axes", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:swizzle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "anchored", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "at", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "if", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "in", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "dimension", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:dimension", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "positioned", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rotated", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "rot", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "run", + "executable": false, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "store", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "result", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "success", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "unless", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "experience", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "fill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hollow", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "outline", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forceload", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "gamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "gamerule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "announceAdvancements", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "commandBlockOutput", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableElytraMovementCheck", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableRaids", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doDaylightCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doEntityDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doFireTick", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doImmediateRespawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doInsomnia", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doLimitedCrafting", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobLoot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doPatrolSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTileDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTraderSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doWeatherCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "drowningDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fallDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fireDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forgiveDeadPlayers", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "keepInventory", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "logAdminCommands", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxCommandChainLength", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxEntityCramming", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mobGriefing", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "naturalRegeneration", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "randomTickSpeed", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "reducedDebugInfo", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "sendCommandFeedback", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "showDeathMessages", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnRadius", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spectatorsGenerateChunks", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "universalAnger", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "help", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "command", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "kick", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "uuids", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "bastion_remnant", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "buried_treasure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "desert_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "endcity", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "fortress", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "igloo", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "jungle_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mansion", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mineshaft", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "monument", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "nether_fossil", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ocean_ruin", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pillager_outpost", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ruined_portal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "shipwreck", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stronghold", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "swamp_hut", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "village", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locatebiome", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "biome", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "spawn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "me", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "action", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "msg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "op", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "particle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "delta", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "speed", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:particle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "playsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ambient", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "publish", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "port", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + } + } + } + ] + }, + { + "type": "literal", + "name": "recipe", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "take", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replaceitem", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "save-all", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "flush", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "save-off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "save-on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "say", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "schedule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "scoreboard", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "objectives", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criteria", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective_criteria", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "displayname", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rendertype", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "hearts", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "integer", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setdisplay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:scoreboard_slot", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:operation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "reset", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "seed", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "setblock", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setidletimeout", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minutes", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "setworldspawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnpoint", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectate", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "player", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "spreadplayers", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "spreadDistance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxRange", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "under", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxHeight", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stopsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ambient", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "summon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity_summon", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tag", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "empty", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "join", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "leave", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "collisionRule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOwnTeam", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:color", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "deathMessageVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "displayName", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "friendlyFire", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "nametagVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "prefix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "prefix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "seeFriendlyInvisibles", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "suffix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "suffix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "teammsg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "teleport", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "tell", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tellraw", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "daytime", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "gametime", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "midnight", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "night", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "noon", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "actionbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reset", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "subtitle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "times", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeIn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "stay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeOut", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tm", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "trigger", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "w", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "rain", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "thunder", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "whitelist", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "worldborder", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "damage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "amount", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "damagePerBlock", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "buffer", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "warning", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "distance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "xp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + } + ] + }, + "parsers": [ + { + "parser": "minecraft:resource_location", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + }, + "examples": [ + "word", + "words with spaces", + "\\\" and symbols\\\"" + ] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + }, + "examples": [ + "@a" + ] + }, + { + "parser": "brigadier:double", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + }, + "examples": [ + "\\\"quoted phrase\\\"", + "word", + "" + ] + }, + { + "parser": "minecraft:uuid", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:message", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:game_profile", + "modifier": null, + "examples": [ + "Player", + "0123", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "@e" + ] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "word" + }, + "examples": [ + "word", + "word_with_underscore" + ] + }, + { + "parser": "minecraft:component", + "modifier": null, + "examples": [ + "\"hello world\"", + "\"\"", + "\"{\"text\":\"hello world\"}\"", + "[\"\"]" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + }, + "examples": [ + "1" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + }, + "examples": [ + "0", + "1" + ] + }, + { + "parser": "brigadier:bool", + "modifier": null, + "examples": [ + "true", + "false" + ] + }, + { + "parser": "minecraft:item_predicate", + "modifier": null, + "examples": [ + "stick", + "minecraft:stick", + "#stick", + "diamond_sword{ench:[{id:16,lvl:5}]}" + ] + }, + { + "parser": "minecraft:block_predicate", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "#stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:block_pos", + "modifier": null, + "examples": [ + "0 0 0", + "~ ~ ~", + "^ ^ ^", + "^1 ^ ^-5", + "~0.5 ~1 ~-5" + ] + }, + { + "parser": "minecraft:nbt_path", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_compound_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:integer", + "modifier": null, + "examples": [ + "1", + "0", + "10" + ] + }, + { + "parser": "minecraft:mob_effect", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + }, + "examples": [ + "@e", + "@e[type=cow]", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "Player" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + }, + "examples": [ + "0", + "255" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + }, + "examples": [ + "1", + "1000000" + ] + }, + { + "parser": "minecraft:item_enchantment", + "modifier": null, + "examples": [ + "unbreaking", + "minecraft:slik_touch" + ] + }, + { + "parser": "minecraft:swizzle", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_anchor", + "modifier": null, + "examples": [ + "eyes", + "feet" + ] + }, + { + "parser": "minecraft:vec3", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + }, + "examples": [] + }, + { + "parser": "minecraft:int_range", + "modifier": null, + "examples": [ + "0..5", + "0", + "-5", + "-100..", + "..100" + ] + }, + { + "parser": "minecraft:dimension", + "modifier": null, + "examples": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end", + "overworld", + "the_end", + "the_nether" + ] + }, + { + "parser": "minecraft:rotation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + }, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:block_state", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:column_pos", + "modifier": null, + "examples": [ + "0 0", + "~ ~", + "~1 ~-2", + "^ ^", + "^-1 ^0" + ] + }, + { + "parser": "minecraft:function", + "modifier": null, + "examples": [ + "foo", + "foo:bar", + "#foo" + ] + }, + { + "parser": "minecraft:item_stack", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:item_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + }, + "examples": [ + "0.0", + "0", + "1", + "0.01" + ] + }, + { + "parser": "minecraft:particle", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + }, + "examples": [ + "0.0", + "0", + "1", + "1.0", + "0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + }, + "examples": [ + "0", + "2", + "1.0", + "2.0" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + }, + "examples": [ + "0", + "65535" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + }, + "examples": [ + "1", + "64" + ] + }, + { + "parser": "minecraft:time", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective_criteria", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:scoreboard_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:operation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:angle", + "modifier": null, + "examples": [ + "0", + "~", + "~-0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + }, + "examples": [ + "1", + "1.0", + "1.000" + ] + }, + { + "parser": "minecraft:vec2", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_summon", + "modifier": null, + "examples": [ + "minecraft:pig", + "cow" + ] + }, + { + "parser": "minecraft:team", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:color", + "modifier": null, + "examples": [ + "aqua", + "black", + "blue", + "dark_aqua", + "dark_blue", + "dark_gray", + "dark_green", + "dark_purple", + "dark_red", + "gold", + "gray", + "green", + "light_purple", + "red", + "reset", + "yellow", + "white" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + }, + "examples": [ + "0", + "1000000" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + }, + "examples": [] + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.1/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.1/protocol.json new file mode 100644 index 00000000..9d7c0338 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.1/protocol.json @@ -0,0 +1,4745 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "itemId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "itemId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "11": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "20": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "27": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "recipeId", + "type": "string" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "crafting_special_armordye": "void", + "crafting_special_bookcloning": "void", + "crafting_special_mapcloning": "void", + "crafting_special_mapextending": "void", + "crafting_special_firework_rocket": "void", + "crafting_special_firework_star": "void", + "crafting_special_firework_star_fade": "void", + "crafting_special_repairitem": "void", + "crafting_special_tippedarrow": "void", + "crafting_special_bannerduplicate": "void", + "crafting_special_banneraddpattern": "void", + "crafting_special_shielddecoration": "void", + "crafting_special_shulkerboxcoloring": "void", + "smelting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "chat", + "0x0f": "multi_block_change", + "0x10": "tab_complete", + "0x11": "declare_commands", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "open_window", + "0x15": "window_items", + "0x16": "craft_progress_bar", + "0x17": "set_slot", + "0x18": "set_cooldown", + "0x19": "custom_payload", + "0x1a": "named_sound_effect", + "0x1b": "kick_disconnect", + "0x1c": "entity_status", + "0x1d": "nbt_query_response", + "0x1e": "explosion", + "0x1f": "unload_chunk", + "0x20": "game_state_change", + "0x21": "keep_alive", + "0x22": "map_chunk", + "0x23": "world_event", + "0x24": "world_particles", + "0x25": "login", + "0x26": "map", + "0x27": "entity", + "0x28": "rel_entity_move", + "0x29": "entity_move_look", + "0x2a": "entity_look", + "0x2b": "vehicle_move", + "0x2c": "open_sign_entity", + "0x2d": "craft_recipe_response", + "0x2e": "abilities", + "0x2f": "combat_event", + "0x30": "player_info", + "0x31": "face_player", + "0x32": "position", + "0x33": "bed", + "0x34": "unlock_recipes", + "0x35": "entity_destroy", + "0x36": "remove_entity_effect", + "0x37": "resource_pack_send", + "0x38": "respawn", + "0x39": "entity_head_rotation", + "0x3a": "select_advancement_tab", + "0x3b": "world_border", + "0x3c": "camera", + "0x3d": "held_item_slot", + "0x3e": "scoreboard_display_objective", + "0x3f": "entity_metadata", + "0x40": "attach_entity", + "0x41": "entity_velocity", + "0x42": "entity_equipment", + "0x43": "experience", + "0x44": "update_health", + "0x45": "scoreboard_objective", + "0x46": "set_passengers", + "0x47": "teams", + "0x48": "scoreboard_score", + "0x49": "spawn_position", + "0x4a": "update_time", + "0x4b": "title", + "0x4c": "stop_sound", + "0x4d": "sound_effect", + "0x4e": "playerlist_header", + "0x4f": "collect", + "0x50": "entity_teleport", + "0x51": "advancements", + "0x52": "entity_update_attributes", + "0x53": "entity_effect", + "0x54": "declare_recipes", + "0x55": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "tab_complete", + "0x06": "transaction", + "0x07": "enchant_item", + "0x08": "window_click", + "0x09": "close_window", + "0x0a": "custom_payload", + "0x0b": "edit_book", + "0x0c": "query_entity_nbt", + "0x0d": "use_entity", + "0x0e": "keep_alive", + "0x0f": "flying", + "0x10": "position", + "0x11": "position_look", + "0x12": "look", + "0x13": "vehicle_move", + "0x14": "steer_boat", + "0x15": "pick_item", + "0x16": "craft_recipe_request", + "0x17": "abilities", + "0x18": "block_dig", + "0x19": "entity_action", + "0x1a": "steer_vehicle", + "0x1b": "crafting_book_data", + "0x1c": "name_item", + "0x1d": "resource_pack_receive", + "0x1e": "advancement_tab", + "0x1f": "select_trade", + "0x20": "set_beacon_effect", + "0x21": "held_item_slot", + "0x22": "update_command_block", + "0x23": "update_command_block_minecart", + "0x24": "set_creative_slot", + "0x25": "update_structure_block", + "0x26": "update_sign", + "0x27": "arm_animation", + "0x28": "spectate", + "0x29": "block_place", + "0x2a": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.1/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.1/version.json new file mode 100644 index 00000000..5e8c7dc8 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.1/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.13.1", + "version": 401, + "majorVersion": "1.13" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre1/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre1/protocol.json new file mode 100644 index 00000000..630262b2 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre1/protocol.json @@ -0,0 +1,4750 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "11": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "20": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "27": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "recipeId", + "type": "string" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "crafting_special_armordye": "void", + "crafting_special_bookcloning": "void", + "crafting_special_mapcloning": "void", + "crafting_special_mapextending": "void", + "crafting_special_firework_rocket": "void", + "crafting_special_firework_star": "void", + "crafting_special_firework_star_fade": "void", + "crafting_special_repairitem": "void", + "crafting_special_tippedarrow": "void", + "crafting_special_bannerduplicate": "void", + "crafting_special_banneraddpattern": "void", + "crafting_special_shielddecoration": "void", + "crafting_special_shulkerboxcoloring": "void", + "smelting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "chat", + "0x0f": "multi_block_change", + "0x10": "tab_complete", + "0x11": "declare_commands", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "open_window", + "0x15": "window_items", + "0x16": "craft_progress_bar", + "0x17": "set_slot", + "0x18": "set_cooldown", + "0x19": "custom_payload", + "0x1a": "named_sound_effect", + "0x1b": "kick_disconnect", + "0x1c": "entity_status", + "0x1d": "nbt_query_response", + "0x1e": "explosion", + "0x1f": "unload_chunk", + "0x20": "game_state_change", + "0x21": "keep_alive", + "0x22": "map_chunk", + "0x23": "world_event", + "0x24": "world_particles", + "0x25": "login", + "0x26": "map", + "0x27": "entity", + "0x28": "rel_entity_move", + "0x29": "entity_move_look", + "0x2a": "entity_look", + "0x2b": "vehicle_move", + "0x2c": "open_sign_entity", + "0x2d": "craft_recipe_response", + "0x2e": "abilities", + "0x2f": "combat_event", + "0x30": "player_info", + "0x31": "face_player", + "0x32": "position", + "0x33": "bed", + "0x34": "unlock_recipes", + "0x35": "entity_destroy", + "0x36": "remove_entity_effect", + "0x37": "resource_pack_send", + "0x38": "respawn", + "0x39": "entity_head_rotation", + "0x3a": "select_advancement_tab", + "0x3b": "world_border", + "0x3c": "camera", + "0x3d": "held_item_slot", + "0x3e": "scoreboard_display_objective", + "0x3f": "entity_metadata", + "0x40": "attach_entity", + "0x41": "entity_velocity", + "0x42": "entity_equipment", + "0x43": "experience", + "0x44": "update_health", + "0x45": "scoreboard_objective", + "0x46": "set_passengers", + "0x47": "teams", + "0x48": "scoreboard_score", + "0x49": "spawn_position", + "0x4a": "update_time", + "0x4b": "title", + "0x4c": "stop_sound", + "0x4d": "sound_effect", + "0x4e": "playerlist_header", + "0x4f": "collect", + "0x50": "entity_teleport", + "0x51": "advancements", + "0x52": "entity_update_attributes", + "0x53": "entity_effect", + "0x54": "declare_recipes", + "0x55": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "tab_complete", + "0x06": "transaction", + "0x07": "enchant_item", + "0x08": "window_click", + "0x09": "close_window", + "0x0a": "custom_payload", + "0x0b": "edit_book", + "0x0c": "query_entity_nbt", + "0x0d": "use_entity", + "0x0e": "keep_alive", + "0x0f": "flying", + "0x10": "position", + "0x11": "position_look", + "0x12": "look", + "0x13": "vehicle_move", + "0x14": "steer_boat", + "0x15": "pick_item", + "0x16": "craft_recipe_request", + "0x17": "abilities", + "0x18": "block_dig", + "0x19": "entity_action", + "0x1a": "steer_vehicle", + "0x1b": "crafting_book_data", + "0x1c": "name_item", + "0x1d": "resource_pack_receive", + "0x1e": "advancement_tab", + "0x1f": "select_trade", + "0x20": "set_beacon_effect", + "0x21": "held_item_slot", + "0x22": "update_command_block", + "0x23": "update_command_block_minecart", + "0x24": "set_creative_slot", + "0x25": "update_structure_block", + "0x26": "update_sign", + "0x27": "arm_animation", + "0x28": "spectate", + "0x29": "block_place", + "0x2a": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre1/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre1/version.json new file mode 100644 index 00000000..357d06c9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre1/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.13.2-pre1", + "version": 402, + "majorVersion": "1.13" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre2/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre2/protocol.json new file mode 100644 index 00000000..630262b2 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre2/protocol.json @@ -0,0 +1,4750 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "11": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "20": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "27": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "recipeId", + "type": "string" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "crafting_special_armordye": "void", + "crafting_special_bookcloning": "void", + "crafting_special_mapcloning": "void", + "crafting_special_mapextending": "void", + "crafting_special_firework_rocket": "void", + "crafting_special_firework_star": "void", + "crafting_special_firework_star_fade": "void", + "crafting_special_repairitem": "void", + "crafting_special_tippedarrow": "void", + "crafting_special_bannerduplicate": "void", + "crafting_special_banneraddpattern": "void", + "crafting_special_shielddecoration": "void", + "crafting_special_shulkerboxcoloring": "void", + "smelting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "chat", + "0x0f": "multi_block_change", + "0x10": "tab_complete", + "0x11": "declare_commands", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "open_window", + "0x15": "window_items", + "0x16": "craft_progress_bar", + "0x17": "set_slot", + "0x18": "set_cooldown", + "0x19": "custom_payload", + "0x1a": "named_sound_effect", + "0x1b": "kick_disconnect", + "0x1c": "entity_status", + "0x1d": "nbt_query_response", + "0x1e": "explosion", + "0x1f": "unload_chunk", + "0x20": "game_state_change", + "0x21": "keep_alive", + "0x22": "map_chunk", + "0x23": "world_event", + "0x24": "world_particles", + "0x25": "login", + "0x26": "map", + "0x27": "entity", + "0x28": "rel_entity_move", + "0x29": "entity_move_look", + "0x2a": "entity_look", + "0x2b": "vehicle_move", + "0x2c": "open_sign_entity", + "0x2d": "craft_recipe_response", + "0x2e": "abilities", + "0x2f": "combat_event", + "0x30": "player_info", + "0x31": "face_player", + "0x32": "position", + "0x33": "bed", + "0x34": "unlock_recipes", + "0x35": "entity_destroy", + "0x36": "remove_entity_effect", + "0x37": "resource_pack_send", + "0x38": "respawn", + "0x39": "entity_head_rotation", + "0x3a": "select_advancement_tab", + "0x3b": "world_border", + "0x3c": "camera", + "0x3d": "held_item_slot", + "0x3e": "scoreboard_display_objective", + "0x3f": "entity_metadata", + "0x40": "attach_entity", + "0x41": "entity_velocity", + "0x42": "entity_equipment", + "0x43": "experience", + "0x44": "update_health", + "0x45": "scoreboard_objective", + "0x46": "set_passengers", + "0x47": "teams", + "0x48": "scoreboard_score", + "0x49": "spawn_position", + "0x4a": "update_time", + "0x4b": "title", + "0x4c": "stop_sound", + "0x4d": "sound_effect", + "0x4e": "playerlist_header", + "0x4f": "collect", + "0x50": "entity_teleport", + "0x51": "advancements", + "0x52": "entity_update_attributes", + "0x53": "entity_effect", + "0x54": "declare_recipes", + "0x55": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "tab_complete", + "0x06": "transaction", + "0x07": "enchant_item", + "0x08": "window_click", + "0x09": "close_window", + "0x0a": "custom_payload", + "0x0b": "edit_book", + "0x0c": "query_entity_nbt", + "0x0d": "use_entity", + "0x0e": "keep_alive", + "0x0f": "flying", + "0x10": "position", + "0x11": "position_look", + "0x12": "look", + "0x13": "vehicle_move", + "0x14": "steer_boat", + "0x15": "pick_item", + "0x16": "craft_recipe_request", + "0x17": "abilities", + "0x18": "block_dig", + "0x19": "entity_action", + "0x1a": "steer_vehicle", + "0x1b": "crafting_book_data", + "0x1c": "name_item", + "0x1d": "resource_pack_receive", + "0x1e": "advancement_tab", + "0x1f": "select_trade", + "0x20": "set_beacon_effect", + "0x21": "held_item_slot", + "0x22": "update_command_block", + "0x23": "update_command_block_minecart", + "0x24": "set_creative_slot", + "0x25": "update_structure_block", + "0x26": "update_sign", + "0x27": "arm_animation", + "0x28": "spectate", + "0x29": "block_place", + "0x2a": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre2/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre2/version.json new file mode 100644 index 00000000..35a0bd92 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2-pre2/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.13.2-pre2", + "version": 403, + "majorVersion": "1.13" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/biomes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/biomes.json new file mode 100644 index 00000000..1249e7a5 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/biomes.json @@ -0,0 +1,513 @@ +[ + { + "id": 0, + "name": "ocean", + "displayName": "Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 1, + "name": "plains", + "displayName": "Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 2, + "name": "desert", + "displayName": "Desert", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 3, + "name": "mountains", + "displayName": "Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 4, + "name": "forest", + "displayName": "Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 5, + "name": "taiga", + "displayName": "Taiga", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 6, + "name": "swamp", + "displayName": "Swamp", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 7, + "name": "river", + "displayName": "River", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 8, + "name": "nether", + "displayName": "Nether", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 9, + "name": "the_end", + "displayName": "The End", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 10, + "name": "frozen_ocean", + "displayName": "Frozen Ocean", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 11, + "name": "frozen_river", + "displayName": "Frozen River", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 12, + "name": "snowy_tundra", + "displayName": "Snowy Tundra", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 13, + "name": "snowy_mountains", + "displayName": "Snowy Mountains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 14, + "name": "mushroom_fields", + "displayName": "Mushroom Fields", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 15, + "name": "mushroom_field_shore", + "displayName": "Mushroom Field Shore", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 16, + "name": "beach", + "displayName": "Beach", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 17, + "name": "desert_hills", + "displayName": "Desert Hills", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 18, + "name": "wooded_hills", + "displayName": "Wooded Hills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 19, + "name": "taiga_hills", + "displayName": "Taiga Hills", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 20, + "name": "mountain_edge", + "displayName": "Mountain Edge", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 21, + "name": "jungle", + "displayName": "Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 22, + "name": "jungle_hills", + "displayName": "Jungle Hills", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 23, + "name": "jungle_edge", + "displayName": "Jungle Edge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 24, + "name": "deep_ocean", + "displayName": "Deep Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 25, + "name": "stone_shore", + "displayName": "Stone Shore", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 26, + "name": "snowy_beach", + "displayName": "Snowy Beach", + "rainfall": 0.3, + "temperature": 0.05 + }, + { + "id": 27, + "name": "birch_forest", + "displayName": "Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 28, + "name": "birch_forest_hills", + "displayName": "Birch Forest Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 29, + "name": "dark_forest", + "displayName": "Dark Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 30, + "name": "snowy_taiga", + "displayName": "Snowy Taiga", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 31, + "name": "snowy_taiga_hills", + "displayName": "Snowy Taiga Hills", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 32, + "name": "giant_tree_taiga", + "displayName": "Giant Tree Taiga", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 33, + "name": "giant_tree_taiga_hills", + "displayName": "Giant Tree Taiga Hills", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 34, + "name": "wooded_mountains", + "displayName": "Wooded Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 35, + "name": "savanna", + "displayName": "Savanna", + "rainfall": 0, + "temperature": 1.2 + }, + { + "id": 36, + "name": "savanna_plateau", + "displayName": "Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 37, + "name": "badlands", + "displayName": "Badlands", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 38, + "name": "wooded_badlands_plateau", + "displayName": "Wooded Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 39, + "name": "badlands_plateau", + "displayName": "Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 40, + "name": "small_end_islands", + "displayName": "Small End Islands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 41, + "name": "end_midlands", + "displayName": "End Midlands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 42, + "name": "end_highlands", + "displayName": "End Highlands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 43, + "name": "end_barrens", + "displayName": "End Barrens", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 44, + "name": "warm_ocean", + "displayName": "Warm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 45, + "name": "lukewarm_ocean", + "displayName": "Lukewarm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 46, + "name": "cold_ocean", + "displayName": "Cold Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 47, + "name": "deep_warm_ocean", + "displayName": "Deep Warm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 48, + "name": "deep_lukewarm_ocean", + "displayName": "Deep Lukewarm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 49, + "name": "deep_cold_ocean", + "displayName": "Deep Cold Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 50, + "name": "deep_frozen_ocean", + "displayName": "Deep Frozen Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 127, + "name": "the_void", + "displayName": "The Void", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 129, + "name": "sunflower_plains", + "displayName": "Sunflower Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 130, + "name": "desert_lakes", + "displayName": "Desert Lakes", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 131, + "name": "gravelly_mountains", + "displayName": "Gravelly Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 132, + "name": "flower_forest", + "displayName": "Flower Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 133, + "name": "taiga_mountains", + "displayName": "Taiga Mountains", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 134, + "name": "swamp_hills", + "displayName": "Swamp Hills", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 140, + "name": "ice_spikes", + "displayName": "Ice Spikes", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 149, + "name": "modified_jungle", + "displayName": "Modified Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 151, + "name": "modified_jungle_edge", + "displayName": "Modified Jungle Edge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 155, + "name": "tall_birch_forest", + "displayName": "Tall Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 156, + "name": "tall_birch_hills", + "displayName": "Tall Birch Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 157, + "name": "dark_forest_hills", + "displayName": "Dark Forest Hills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 158, + "name": "snowy_taiga_mountains", + "displayName": "Snowy Taiga Mountains", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 160, + "name": "giant_spruce_taiga", + "displayName": "Giant Spruce Taiga", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 161, + "name": "giant_spruce_taiga_hills", + "displayName": "Giant Spruce Taiga Hills", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 162, + "name": "modified_gravelly_mountains", + "displayName": "Gravelly Mountains+", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 163, + "name": "shattered_savanna", + "displayName": "Shattered Savanna", + "rainfall": 0, + "temperature": 1.1 + }, + { + "id": 164, + "name": "shattered_savanna_plateau", + "displayName": "Shattered Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 165, + "name": "eroded_badlands", + "displayName": "Eroded Badlands", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 166, + "name": "modified_wooded_badlands_plateau", + "displayName": "Modified Wooded Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 167, + "name": "modified_badlands_plateau", + "displayName": "Modified Badlands Plateau", + "rainfall": 0, + "temperature": 2 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/blockCollisionShapes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/blockCollisionShapes.json new file mode 100644 index 00000000..af80df7f --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/blockCollisionShapes.json @@ -0,0 +1,843 @@ +{"blocks":{"air":0, +"stone":1, +"granite":1, +"polished_granite":1, +"diorite":1, +"polished_diorite":1, +"andesite":1, +"polished_andesite":1, +"grass_block":1, +"dirt":1, +"coarse_dirt":1, +"podzol":1, +"cobblestone":1, +"oak_planks":1, +"spruce_planks":1, +"birch_planks":1, +"jungle_planks":1, +"acacia_planks":1, +"dark_oak_planks":1, +"oak_sapling":0, +"spruce_sapling":0, +"birch_sapling":0, +"jungle_sapling":0, +"acacia_sapling":0, +"dark_oak_sapling":0, +"bedrock":1, +"water":0, +"lava":0, +"sand":1, +"red_sand":1, +"gravel":1, +"gold_ore":1, +"iron_ore":1, +"coal_ore":1, +"oak_log":1, +"spruce_log":1, +"birch_log":1, +"jungle_log":1, +"acacia_log":1, +"dark_oak_log":1, +"stripped_spruce_log":1, +"stripped_birch_log":1, +"stripped_jungle_log":1, +"stripped_acacia_log":1, +"stripped_dark_oak_log":1, +"stripped_oak_log":1, +"oak_wood":1, +"spruce_wood":1, +"birch_wood":1, +"jungle_wood":1, +"acacia_wood":1, +"dark_oak_wood":1, +"stripped_oak_wood":1, +"stripped_spruce_wood":1, +"stripped_birch_wood":1, +"stripped_jungle_wood":1, +"stripped_acacia_wood":1, +"stripped_dark_oak_wood":1, +"oak_leaves":1, +"spruce_leaves":1, +"birch_leaves":1, +"jungle_leaves":1, +"acacia_leaves":1, +"dark_oak_leaves":1, +"sponge":1, +"wet_sponge":1, +"glass":1, +"lapis_ore":1, +"lapis_block":1, +"dispenser":1, +"sandstone":1, +"chiseled_sandstone":1, +"cut_sandstone":1, +"note_block":1, +"white_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"orange_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"magenta_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"light_blue_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"yellow_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"lime_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"pink_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"gray_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"light_gray_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"cyan_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"purple_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"blue_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"brown_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"green_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"red_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"black_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"powered_rail":0, +"detector_rail":0, +"sticky_piston":[6,7,8,9,10,11,1,1,1,1,1,1], +"cobweb":0, +"grass":0, +"fern":0, +"dead_bush":0, +"seagrass":0, +"tall_seagrass":0, +"piston":[6,7,8,9,10,11,1,1,1,1,1,1], +"piston_head":[13,13,12,12,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23], +"white_wool":1, +"orange_wool":1, +"magenta_wool":1, +"light_blue_wool":1, +"yellow_wool":1, +"lime_wool":1, +"pink_wool":1, +"gray_wool":1, +"light_gray_wool":1, +"cyan_wool":1, +"purple_wool":1, +"blue_wool":1, +"brown_wool":1, +"green_wool":1, +"red_wool":1, +"black_wool":1, +"moving_piston":0, +"dandelion":0, +"poppy":0, +"blue_orchid":0, +"allium":0, +"azure_bluet":0, +"red_tulip":0, +"orange_tulip":0, +"white_tulip":0, +"pink_tulip":0, +"oxeye_daisy":0, +"brown_mushroom":0, +"red_mushroom":0, +"gold_block":1, +"iron_block":1, +"bricks":1, +"tnt":1, +"bookshelf":1, +"mossy_cobblestone":1, +"obsidian":1, +"torch":0, +"wall_torch":0, +"fire":0, +"spawner":1, +"oak_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"chest":[48,48,49,49,50,50,48,48,50,50,49,49,48,48,51,51,52,52,48,48,52,52,51,51], +"redstone_wire":0, +"diamond_ore":1, +"diamond_block":1, +"crafting_table":1, +"wheat":0, +"farmland":53, +"furnace":1, +"sign":0, +"oak_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"ladder":[54,54,57,57,56,56,55,55], +"rail":0, +"cobblestone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"wall_sign":0, +"lever":0, +"stone_pressure_plate":0, +"iron_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"oak_pressure_plate":0, +"spruce_pressure_plate":0, +"birch_pressure_plate":0, +"jungle_pressure_plate":0, +"acacia_pressure_plate":0, +"dark_oak_pressure_plate":0, +"redstone_ore":1, +"redstone_torch":0, +"redstone_wall_torch":0, +"stone_button":0, +"snow":[0,58,59,60,61,62,10,63], +"ice":1, +"snow_block":1, +"cactus":64, +"clay":1, +"sugar_cane":0, +"jukebox":1, +"oak_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"pumpkin":1, +"netherrack":1, +"soul_sand":63, +"glowstone":1, +"nether_portal":0, +"carved_pumpkin":1, +"jack_o_lantern":1, +"cake":[81,82,83,84,85,86,87], +"repeater":58, +"white_stained_glass":1, +"orange_stained_glass":1, +"magenta_stained_glass":1, +"light_blue_stained_glass":1, +"yellow_stained_glass":1, +"lime_stained_glass":1, +"pink_stained_glass":1, +"gray_stained_glass":1, +"light_gray_stained_glass":1, +"cyan_stained_glass":1, +"purple_stained_glass":1, +"blue_stained_glass":1, +"brown_stained_glass":1, +"green_stained_glass":1, +"red_stained_glass":1, +"black_stained_glass":1, +"oak_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"spruce_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"birch_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"jungle_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"acacia_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"dark_oak_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"stone_bricks":1, +"mossy_stone_bricks":1, +"cracked_stone_bricks":1, +"chiseled_stone_bricks":1, +"infested_stone":1, +"infested_cobblestone":1, +"infested_stone_bricks":1, +"infested_mossy_stone_bricks":1, +"infested_cracked_stone_bricks":1, +"infested_chiseled_stone_bricks":1, +"brown_mushroom_block":1, +"red_mushroom_block":1, +"mushroom_stem":1, +"iron_bars":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"melon":1, +"attached_pumpkin_stem":0, +"attached_melon_stem":0, +"pumpkin_stem":0, +"melon_stem":0, +"vine":0, +"oak_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"stone_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"mycelium":1, +"lily_pad":106, +"nether_bricks":1, +"nether_brick_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"nether_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"nether_wart":0, +"enchanting_table":10, +"brewing_stand":107, +"cauldron":108, +"end_portal":0, +"end_portal_frame":[110,110,110,110,109,109,109,109], +"end_stone":1, +"dragon_egg":111, +"redstone_lamp":1, +"cocoa":[112,113,114,115,116,117,118,119,120,121,122,123], +"sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"emerald_ore":1, +"ender_chest":48, +"tripwire_hook":0, +"tripwire":0, +"emerald_block":1, +"spruce_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"birch_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"jungle_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"command_block":1, +"beacon":1, +"cobblestone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"mossy_cobblestone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"flower_pot":156, +"potted_oak_sapling":156, +"potted_spruce_sapling":156, +"potted_birch_sapling":156, +"potted_jungle_sapling":156, +"potted_acacia_sapling":156, +"potted_dark_oak_sapling":156, +"potted_fern":156, +"potted_dandelion":156, +"potted_poppy":156, +"potted_blue_orchid":156, +"potted_allium":156, +"potted_azure_bluet":156, +"potted_red_tulip":156, +"potted_orange_tulip":156, +"potted_white_tulip":156, +"potted_pink_tulip":156, +"potted_oxeye_daisy":156, +"potted_red_mushroom":156, +"potted_brown_mushroom":156, +"potted_dead_bush":156, +"potted_cactus":156, +"carrots":0, +"potatoes":0, +"oak_button":0, +"spruce_button":0, +"birch_button":0, +"jungle_button":0, +"acacia_button":0, +"dark_oak_button":0, +"skeleton_skull":157, +"skeleton_wall_skull":[158,159,160,161], +"wither_skeleton_skull":157, +"wither_skeleton_wall_skull":[158,159,160,161], +"zombie_head":157, +"zombie_wall_head":[158,159,160,161], +"player_head":157, +"player_wall_head":[158,159,160,161], +"creeper_head":157, +"creeper_wall_head":[158,159,160,161], +"dragon_head":157, +"dragon_wall_head":[158,159,160,161], +"anvil":[162,162,163,163], +"chipped_anvil":[162,162,163,163], +"damaged_anvil":[162,162,163,163], +"trapped_chest":[48,48,49,49,50,50,48,48,50,50,49,49,48,48,51,51,52,52,48,48,52,52,51,51], +"light_weighted_pressure_plate":0, +"heavy_weighted_pressure_plate":0, +"comparator":58, +"daylight_detector":60, +"redstone_block":1, +"nether_quartz_ore":1, +"hopper":[164,165,166,167,168,164,165,166,167,168], +"quartz_block":1, +"chiseled_quartz_block":1, +"quartz_pillar":1, +"quartz_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"activator_rail":0, +"dropper":1, +"white_terracotta":1, +"orange_terracotta":1, +"magenta_terracotta":1, +"light_blue_terracotta":1, +"yellow_terracotta":1, +"lime_terracotta":1, +"pink_terracotta":1, +"gray_terracotta":1, +"light_gray_terracotta":1, +"cyan_terracotta":1, +"purple_terracotta":1, +"blue_terracotta":1, +"brown_terracotta":1, +"green_terracotta":1, +"red_terracotta":1, +"black_terracotta":1, +"white_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"orange_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"magenta_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"light_blue_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"yellow_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"lime_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"pink_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"gray_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"light_gray_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"cyan_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"purple_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"blue_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"brown_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"green_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"red_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"black_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"acacia_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"dark_oak_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"slime_block":1, +"barrier":1, +"iron_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"prismarine":1, +"prismarine_bricks":1, +"dark_prismarine":1, +"prismarine_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"prismarine_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"dark_prismarine_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"prismarine_slab":[169,169,61,61,1,1], +"prismarine_brick_slab":[169,169,61,61,1,1], +"dark_prismarine_slab":[169,169,61,61,1,1], +"sea_lantern":1, +"hay_block":1, +"white_carpet":170, +"orange_carpet":170, +"magenta_carpet":170, +"light_blue_carpet":170, +"yellow_carpet":170, +"lime_carpet":170, +"pink_carpet":170, +"gray_carpet":170, +"light_gray_carpet":170, +"cyan_carpet":170, +"purple_carpet":170, +"blue_carpet":170, +"brown_carpet":170, +"green_carpet":170, +"red_carpet":170, +"black_carpet":170, +"terracotta":1, +"coal_block":1, +"packed_ice":1, +"sunflower":0, +"lilac":0, +"rose_bush":0, +"peony":0, +"tall_grass":0, +"large_fern":0, +"white_banner":0, +"orange_banner":0, +"magenta_banner":0, +"light_blue_banner":0, +"yellow_banner":0, +"lime_banner":0, +"pink_banner":0, +"gray_banner":0, +"light_gray_banner":0, +"cyan_banner":0, +"purple_banner":0, +"blue_banner":0, +"brown_banner":0, +"green_banner":0, +"red_banner":0, +"black_banner":0, +"white_wall_banner":0, +"orange_wall_banner":0, +"magenta_wall_banner":0, +"light_blue_wall_banner":0, +"yellow_wall_banner":0, +"lime_wall_banner":0, +"pink_wall_banner":0, +"gray_wall_banner":0, +"light_gray_wall_banner":0, +"cyan_wall_banner":0, +"purple_wall_banner":0, +"blue_wall_banner":0, +"brown_wall_banner":0, +"green_wall_banner":0, +"red_wall_banner":0, +"black_wall_banner":0, +"red_sandstone":1, +"chiseled_red_sandstone":1, +"cut_red_sandstone":1, +"red_sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"oak_slab":[169,169,61,61,1,1], +"spruce_slab":[169,169,61,61,1,1], +"birch_slab":[169,169,61,61,1,1], +"jungle_slab":[169,169,61,61,1,1], +"acacia_slab":[169,169,61,61,1,1], +"dark_oak_slab":[169,169,61,61,1,1], +"stone_slab":[169,169,61,61,1,1], +"sandstone_slab":[169,169,61,61,1,1], +"petrified_oak_slab":[169,169,61,61,1,1], +"cobblestone_slab":[169,169,61,61,1,1], +"brick_slab":[169,169,61,61,1,1], +"stone_brick_slab":[169,169,61,61,1,1], +"nether_brick_slab":[169,169,61,61,1,1], +"quartz_slab":[169,169,61,61,1,1], +"red_sandstone_slab":[169,169,61,61,1,1], +"purpur_slab":[169,169,61,61,1,1], +"smooth_stone":1, +"smooth_sandstone":1, +"smooth_quartz":1, +"smooth_red_sandstone":1, +"spruce_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"birch_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"jungle_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"acacia_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"dark_oak_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"spruce_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"birch_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"jungle_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"acacia_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"dark_oak_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"spruce_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"birch_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"jungle_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"acacia_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"dark_oak_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"end_rod":[172,173,172,173,171,171], +"chorus_plant":[175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,174], +"chorus_flower":1, +"purpur_block":1, +"purpur_pillar":1, +"purpur_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"end_stone_bricks":1, +"beetroots":0, +"grass_path":53, +"end_gateway":0, +"repeating_command_block":1, +"chain_command_block":1, +"frosted_ice":1, +"magma_block":1, +"nether_wart_block":1, +"red_nether_bricks":1, +"bone_block":1, +"structure_void":0, +"observer":1, +"shulker_box":1, +"white_shulker_box":1, +"orange_shulker_box":1, +"magenta_shulker_box":1, +"light_blue_shulker_box":1, +"yellow_shulker_box":1, +"lime_shulker_box":1, +"pink_shulker_box":1, +"gray_shulker_box":1, +"light_gray_shulker_box":1, +"cyan_shulker_box":1, +"purple_shulker_box":1, +"blue_shulker_box":1, +"brown_shulker_box":1, +"green_shulker_box":1, +"red_shulker_box":1, +"black_shulker_box":1, +"white_glazed_terracotta":1, +"orange_glazed_terracotta":1, +"magenta_glazed_terracotta":1, +"light_blue_glazed_terracotta":1, +"yellow_glazed_terracotta":1, +"lime_glazed_terracotta":1, +"pink_glazed_terracotta":1, +"gray_glazed_terracotta":1, +"light_gray_glazed_terracotta":1, +"cyan_glazed_terracotta":1, +"purple_glazed_terracotta":1, +"blue_glazed_terracotta":1, +"brown_glazed_terracotta":1, +"green_glazed_terracotta":1, +"red_glazed_terracotta":1, +"black_glazed_terracotta":1, +"white_concrete":1, +"orange_concrete":1, +"magenta_concrete":1, +"light_blue_concrete":1, +"yellow_concrete":1, +"lime_concrete":1, +"pink_concrete":1, +"gray_concrete":1, +"light_gray_concrete":1, +"cyan_concrete":1, +"purple_concrete":1, +"blue_concrete":1, +"brown_concrete":1, +"green_concrete":1, +"red_concrete":1, +"black_concrete":1, +"white_concrete_powder":1, +"orange_concrete_powder":1, +"magenta_concrete_powder":1, +"light_blue_concrete_powder":1, +"yellow_concrete_powder":1, +"lime_concrete_powder":1, +"pink_concrete_powder":1, +"gray_concrete_powder":1, +"light_gray_concrete_powder":1, +"cyan_concrete_powder":1, +"purple_concrete_powder":1, +"blue_concrete_powder":1, +"brown_concrete_powder":1, +"green_concrete_powder":1, +"red_concrete_powder":1, +"black_concrete_powder":1, +"kelp":0, +"kelp_plant":0, +"dried_kelp_block":1, +"turtle_egg":[238,238,238,239,239,239,239,239,239,239,239,239], +"dead_tube_coral_block":1, +"dead_brain_coral_block":1, +"dead_bubble_coral_block":1, +"dead_fire_coral_block":1, +"dead_horn_coral_block":1, +"tube_coral_block":1, +"brain_coral_block":1, +"bubble_coral_block":1, +"fire_coral_block":1, +"horn_coral_block":1, +"dead_tube_coral":0, +"dead_brain_coral":0, +"dead_bubble_coral":0, +"dead_fire_coral":0, +"dead_horn_coral":0, +"tube_coral":0, +"brain_coral":0, +"bubble_coral":0, +"fire_coral":0, +"horn_coral":0, +"dead_tube_coral_fan":0, +"dead_brain_coral_fan":0, +"dead_bubble_coral_fan":0, +"dead_fire_coral_fan":0, +"dead_horn_coral_fan":0, +"tube_coral_fan":0, +"brain_coral_fan":0, +"bubble_coral_fan":0, +"fire_coral_fan":0, +"horn_coral_fan":0, +"dead_tube_coral_wall_fan":0, +"dead_brain_coral_wall_fan":0, +"dead_bubble_coral_wall_fan":0, +"dead_fire_coral_wall_fan":0, +"dead_horn_coral_wall_fan":0, +"tube_coral_wall_fan":0, +"brain_coral_wall_fan":0, +"bubble_coral_wall_fan":0, +"fire_coral_wall_fan":0, +"horn_coral_wall_fan":0, +"sea_pickle":[240,240,241,241,242,242,243,243], +"blue_ice":1, +"conduit":244, +"void_air":0, +"cave_air":0, +"bubble_column":0, +"structure_block":1}, +"shapes":{"0":[], +"1":[[0.0,0.0,0.0,1.0,1.0,1.0]], +"2":[[0.0,0.0,0.8125,0.1875,0.5625,1.0],[0.0,0.1875,0.0,1.0,0.5625,0.8125],[0.1875,0.1875,0.8125,1.0,0.5625,1.0],[0.8125,0.0,0.8125,1.0,0.1875,1.0]], +"3":[[0.0,0.0,0.0,0.1875,0.5625,0.1875],[0.0,0.1875,0.1875,1.0,0.5625,1.0],[0.1875,0.1875,0.0,1.0,0.5625,0.1875],[0.8125,0.0,0.0,1.0,0.1875,0.1875]], +"4":[[0.0,0.0,0.0,0.1875,0.5625,0.1875],[0.0,0.0,0.8125,0.1875,0.5625,1.0],[0.0,0.1875,0.1875,1.0,0.5625,0.8125],[0.1875,0.1875,0.0,1.0,0.5625,0.1875],[0.1875,0.1875,0.8125,1.0,0.5625,1.0]], +"5":[[0.0,0.1875,0.0,1.0,0.5625,1.0],[0.8125,0.0,0.0,1.0,0.1875,0.1875],[0.8125,0.0,0.8125,1.0,0.1875,1.0]], +"6":[[0.0,0.0,0.25,1.0,1.0,1.0]], +"7":[[0.0,0.0,0.0,0.75,1.0,1.0]], +"8":[[0.0,0.0,0.0,1.0,1.0,0.75]], +"9":[[0.25,0.0,0.0,1.0,1.0,1.0]], +"10":[[0.0,0.0,0.0,1.0,0.75,1.0]], +"11":[[0.0,0.25,0.0,1.0,1.0,1.0]], +"12":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]], +"13":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.0]], +"14":[[0.0,0.375,0.375,1.0,0.625,0.625],[0.75,0.0,0.0,1.0,0.375,1.0],[0.75,0.375,0.0,1.0,1.0,0.375],[0.75,0.375,0.625,1.0,1.0,1.0],[0.75,0.625,0.375,1.0,1.0,0.625]], +"15":[[-0.25,0.375,0.375,1.0,0.625,0.625],[0.75,0.0,0.0,1.0,0.375,1.0],[0.75,0.375,0.0,1.0,1.0,0.375],[0.75,0.375,0.625,1.0,1.0,1.0],[0.75,0.625,0.375,1.0,1.0,0.625]], +"16":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,0.0,0.625,0.625,0.75]], +"17":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]], +"18":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.0,0.625,0.625]], +"19":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]], +"20":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,0.0,0.375,0.625,0.75,0.625]], +"21":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]], +"22":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.0,0.625]], +"23":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]], +"24":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"25":[[0.0,0.0,0.0,1.0,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0]], +"26":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.0,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"27":[[0.0,0.0,0.0,1.0,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.0,0.5,1.0,0.5,1.0]], +"28":[[0.0,0.0,0.0,0.5,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"29":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,0.5]], +"30":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"31":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"32":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,0.5]], +"33":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"34":[[0.0,0.0,0.5,1.0,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"35":[[0.0,0.0,0.5,1.0,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.0,0.0,1.0,0.5,0.5]], +"36":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.0,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"37":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.5,1.0,0.5,1.0]], +"38":[[0.0,0.0,0.5,0.5,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"39":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]], +"40":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"41":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0],[0.5,0.5,0.5,1.0,1.0,1.0]], +"42":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.5,1.0,1.0,1.0]], +"43":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,0.5,1.0,1.0]], +"44":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"45":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]], +"46":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]], +"47":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"48":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]], +"49":[[0.0625,0.0,0.0625,1.0,0.875,0.9375]], +"50":[[0.0,0.0,0.0625,0.9375,0.875,0.9375]], +"51":[[0.0625,0.0,0.0,0.9375,0.875,0.9375]], +"52":[[0.0625,0.0,0.0625,0.9375,0.875,1.0]], +"53":[[0.0,0.0,0.0,1.0,0.9375,1.0]], +"54":[[0.0,0.0,0.8125,1.0,1.0,1.0]], +"55":[[0.0,0.0,0.0,0.1875,1.0,1.0]], +"56":[[0.8125,0.0,0.0,1.0,1.0,1.0]], +"57":[[0.0,0.0,0.0,1.0,1.0,0.1875]], +"58":[[0.0,0.0,0.0,1.0,0.125,1.0]], +"59":[[0.0,0.0,0.0,1.0,0.25,1.0]], +"60":[[0.0,0.0,0.0,1.0,0.375,1.0]], +"61":[[0.0,0.0,0.0,1.0,0.5,1.0]], +"62":[[0.0,0.0,0.0,1.0,0.625,1.0]], +"63":[[0.0,0.0,0.0,1.0,0.875,1.0]], +"64":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]], +"65":[[0.375,0.0,0.375,0.625,1.5,0.625]], +"66":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375],[0.375,0.0,0.625,0.625,1.5,1.0]], +"67":[[0.375,0.0,0.0,0.625,1.5,1.0],[0.625,0.0,0.375,1.0,1.5,0.625]], +"68":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375]], +"69":[[0.375,0.0,0.0,0.625,1.5,0.625],[0.625,0.0,0.375,1.0,1.5,0.625]], +"70":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.625,0.625,1.5,1.0]], +"71":[[0.375,0.0,0.375,0.625,1.5,1.0],[0.625,0.0,0.375,1.0,1.5,0.625]], +"72":[[0.0,0.0,0.375,1.0,1.5,0.625]], +"73":[[0.375,0.0,0.375,1.0,1.5,0.625]], +"74":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375],[0.375,0.0,0.625,0.625,1.5,1.0]], +"75":[[0.375,0.0,0.0,0.625,1.5,1.0]], +"76":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375]], +"77":[[0.375,0.0,0.0,0.625,1.5,0.625]], +"78":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.625,0.625,1.5,1.0]], +"79":[[0.375,0.0,0.375,0.625,1.5,1.0]], +"80":[[0.0,0.0,0.375,0.625,1.5,0.625]], +"81":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]], +"82":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]], +"83":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]], +"84":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]], +"85":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]], +"86":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]], +"87":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]], +"88":[[0.0,0.0,0.0,1.0,0.1875,1.0]], +"89":[[0.0,0.8125,0.0,1.0,1.0,1.0]], +"90":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]], +"91":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"92":[[0.4375,0.0,0.0,0.5625,1.0,1.0],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"93":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375]], +"94":[[0.4375,0.0,0.0,0.5625,1.0,0.5625],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"95":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"96":[[0.4375,0.0,0.4375,0.5625,1.0,1.0],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"97":[[0.0,0.0,0.4375,1.0,1.0,0.5625]], +"98":[[0.4375,0.0,0.4375,1.0,1.0,0.5625]], +"99":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"100":[[0.4375,0.0,0.0,0.5625,1.0,1.0]], +"101":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375]], +"102":[[0.4375,0.0,0.0,0.5625,1.0,0.5625]], +"103":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"104":[[0.4375,0.0,0.4375,0.5625,1.0,1.0]], +"105":[[0.0,0.0,0.4375,0.5625,1.0,0.5625]], +"106":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]], +"107":[[0.0625,0.0,0.0625,0.9375,0.125,0.9375],[0.4375,0.125,0.4375,0.5625,0.875,0.5625]], +"108":[[0.0,0.0,0.0,0.125,1.0,0.25],[0.0,0.0,0.75,0.125,1.0,1.0],[0.0,0.1875,0.25,1.0,0.25,0.75],[0.0,0.25,0.25,0.125,1.0,0.75],[0.125,0.0,0.0,0.25,1.0,0.125],[0.125,0.0,0.875,0.25,1.0,1.0],[0.125,0.1875,0.125,1.0,0.25,0.25],[0.125,0.1875,0.75,1.0,0.25,0.875],[0.25,0.1875,0.0,1.0,1.0,0.125],[0.25,0.1875,0.875,1.0,1.0,1.0],[0.75,0.0,0.0,1.0,0.1875,0.125],[0.75,0.0,0.875,1.0,0.1875,1.0],[0.875,0.0,0.125,1.0,0.1875,0.25],[0.875,0.0,0.75,1.0,0.1875,0.875],[0.875,0.25,0.125,1.0,1.0,0.875]], +"109":[[0.0,0.0,0.0,1.0,0.8125,1.0]], +"110":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.25,0.8125,0.25,0.75,1.0,0.75]], +"111":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]], +"112":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]], +"113":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]], +"114":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]], +"115":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]], +"116":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]], +"117":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]], +"118":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]], +"119":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]], +"120":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]], +"121":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]], +"122":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]], +"123":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]], +"124":[[0.25,0.0,0.25,0.75,1.5,0.75]], +"125":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"126":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"127":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"128":[[0.3125,0.0,0.0,0.6875,1.5,1.0],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"129":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"130":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"131":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125]], +"132":[[0.3125,0.0,0.0,0.6875,1.5,0.6875],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"133":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"134":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"135":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"136":[[0.3125,0.0,0.3125,0.6875,1.5,1.0],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"137":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75]], +"138":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"139":[[0.0,0.0,0.3125,1.0,1.5,0.6875]], +"140":[[0.3125,0.0,0.3125,1.0,1.5,0.6875]], +"141":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"142":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"143":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"144":[[0.3125,0.0,0.0,0.6875,1.5,1.0]], +"145":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"146":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"147":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125]], +"148":[[0.3125,0.0,0.0,0.6875,1.5,0.6875]], +"149":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"150":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"151":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"152":[[0.3125,0.0,0.3125,0.6875,1.5,1.0]], +"153":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75]], +"154":[[0.0,0.0,0.3125,0.6875,1.5,0.6875]], +"155":[[0.5,0.0,0.5,0.5,1.5,0.5]], +"156":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]], +"157":[[0.25,0.0,0.25,0.75,0.5,0.75]], +"158":[[0.25,0.25,0.5,0.75,0.75,1.0]], +"159":[[0.25,0.25,0.0,0.75,0.75,0.5]], +"160":[[0.5,0.25,0.25,1.0,0.75,0.75]], +"161":[[0.0,0.25,0.25,0.5,0.75,0.75]], +"162":[[0.125,0.0,0.125,0.875,0.25,0.875],[0.1875,0.625,0.0,0.8125,1.0,1.0],[0.25,0.25,0.1875,0.75,0.3125,0.8125],[0.375,0.3125,0.25,0.625,0.625,0.75]], +"163":[[0.0,0.625,0.1875,1.0,1.0,0.8125],[0.125,0.0,0.125,0.875,0.25,0.875],[0.1875,0.25,0.25,0.8125,0.3125,0.75],[0.25,0.3125,0.375,0.75,0.625,0.625]], +"164":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.0,0.375,0.625,0.25,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"165":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.25,0.0,0.625,0.5,0.25],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"166":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.25,0.75,0.625,0.5,1.0],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"167":[[0.0,0.25,0.375,0.75,0.5,0.625],[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.375],[0.25,0.25,0.625,0.75,0.625,0.75],[0.25,0.5,0.375,0.75,0.625,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"168":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.75,0.25,0.375,1.0,0.5,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"169":[[0.0,0.5,0.0,1.0,1.0,1.0]], +"170":[[0.0,0.0,0.0,1.0,0.0625,1.0]], +"171":[[0.375,0.0,0.375,0.625,1.0,0.625]], +"172":[[0.375,0.375,0.0,0.625,0.625,1.0]], +"173":[[0.0,0.375,0.375,1.0,0.625,0.625]], +"174":[[0.1875,0.1875,0.1875,0.8125,0.8125,0.8125]], +"175":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"176":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"177":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"178":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"179":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"180":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"181":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"182":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"183":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"184":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"185":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"186":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"187":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"188":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"189":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125]], +"190":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"191":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"192":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"193":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"194":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"195":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"196":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"197":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"198":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"199":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"200":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"201":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"202":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"203":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"204":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125]], +"205":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125]], +"206":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125]], +"207":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"208":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"209":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"210":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"211":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"212":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"213":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"214":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"215":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"216":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"217":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"218":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"219":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"220":[[0.1875,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"221":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125]], +"222":[[0.1875,0.1875,0.1875,1.0,0.8125,0.8125]], +"223":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"224":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"225":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"226":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0]], +"227":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"228":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"229":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"230":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125]], +"231":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"232":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"233":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"234":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0]], +"235":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"236":[[0.1875,0.1875,0.1875,0.8125,1.0,0.8125]], +"237":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125]], +"238":[[0.1875,0.0,0.1875,0.75,0.4375,0.75]], +"239":[[0.0625,0.0,0.0625,0.9375,0.4375,0.9375]], +"240":[[0.375,0.0,0.375,0.625,0.375,0.625]], +"241":[[0.1875,0.0,0.1875,0.8125,0.375,0.8125]], +"242":[[0.125,0.0,0.125,0.875,0.375,0.875]], +"243":[[0.125,0.0,0.125,0.875,0.4375,0.875]], +"244":[[0.3125,0.3125,0.3125,0.6875,0.6875,0.6875]]}} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/blocks.json new file mode 100644 index 00000000..da345ee2 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/blocks.json @@ -0,0 +1,18896 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "minStateId": 0, + "maxStateId": 0, + "states": [], + "drops": [ + 0 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "minStateId": 1, + "maxStateId": 1, + "states": [], + "drops": [ + 1 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 1 + }, + { + "id": 2, + "displayName": "Granite", + "name": "granite", + "hardness": 1.5, + "minStateId": 2, + "maxStateId": 2, + "states": [], + "drops": [ + 2 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 2 + }, + { + "id": 3, + "displayName": "Polished Granite", + "name": "polished_granite", + "hardness": 1.5, + "minStateId": 3, + "maxStateId": 3, + "states": [], + "drops": [ + 3 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3 + }, + { + "id": 4, + "displayName": "Diorite", + "name": "diorite", + "hardness": 1.5, + "minStateId": 4, + "maxStateId": 4, + "states": [], + "drops": [ + 4 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 4 + }, + { + "id": 5, + "displayName": "Polished Diorite", + "name": "polished_diorite", + "hardness": 1.5, + "minStateId": 5, + "maxStateId": 5, + "states": [], + "drops": [ + 5 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5 + }, + { + "id": 6, + "displayName": "Andesite", + "name": "andesite", + "hardness": 1.5, + "minStateId": 6, + "maxStateId": 6, + "states": [], + "drops": [ + 6 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 6 + }, + { + "id": 7, + "displayName": "Polished Andesite", + "name": "polished_andesite", + "hardness": 1.5, + "minStateId": 7, + "maxStateId": 7, + "states": [], + "drops": [ + 7 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7 + }, + { + "id": 8, + "displayName": "Grass Block", + "name": "grass_block", + "hardness": 0.6, + "minStateId": 8, + "maxStateId": 9, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 8 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9 + }, + { + "id": 9, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "minStateId": 10, + "maxStateId": 10, + "states": [], + "drops": [ + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 10 + }, + { + "id": 10, + "displayName": "Coarse Dirt", + "name": "coarse_dirt", + "hardness": 0.5, + "minStateId": 11, + "maxStateId": 11, + "states": [], + "drops": [ + 10 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 11 + }, + { + "id": 11, + "displayName": "Podzol", + "name": "podzol", + "hardness": 0.5, + "minStateId": 12, + "maxStateId": 13, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 11 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 13 + }, + { + "id": 12, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "minStateId": 14, + "maxStateId": 14, + "states": [], + "drops": [ + 12 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 14 + }, + { + "id": 13, + "displayName": "Oak Planks", + "name": "oak_planks", + "hardness": 2, + "minStateId": 15, + "maxStateId": 15, + "states": [], + "drops": [ + 13 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15 + }, + { + "id": 14, + "displayName": "Spruce Planks", + "name": "spruce_planks", + "hardness": 2, + "minStateId": 16, + "maxStateId": 16, + "states": [], + "drops": [ + 14 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 16 + }, + { + "id": 15, + "displayName": "Birch Planks", + "name": "birch_planks", + "hardness": 2, + "minStateId": 17, + "maxStateId": 17, + "states": [], + "drops": [ + 15 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 17 + }, + { + "id": 16, + "displayName": "Jungle Planks", + "name": "jungle_planks", + "hardness": 2, + "minStateId": 18, + "maxStateId": 18, + "states": [], + "drops": [ + 16 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 18 + }, + { + "id": 17, + "displayName": "Acacia Planks", + "name": "acacia_planks", + "hardness": 2, + "minStateId": 19, + "maxStateId": 19, + "states": [], + "drops": [ + 17 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 19 + }, + { + "id": 18, + "displayName": "Dark Oak Planks", + "name": "dark_oak_planks", + "hardness": 2, + "minStateId": 20, + "maxStateId": 20, + "states": [], + "drops": [ + 18 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 20 + }, + { + "id": 19, + "displayName": "Oak Sapling", + "name": "oak_sapling", + "hardness": 0, + "minStateId": 21, + "maxStateId": 22, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 19 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 21 + }, + { + "id": 20, + "displayName": "Spruce Sapling", + "name": "spruce_sapling", + "hardness": 0, + "minStateId": 23, + "maxStateId": 24, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 20 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 23 + }, + { + "id": 21, + "displayName": "Birch Sapling", + "name": "birch_sapling", + "hardness": 0, + "minStateId": 25, + "maxStateId": 26, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 21 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 25 + }, + { + "id": 22, + "displayName": "Jungle Sapling", + "name": "jungle_sapling", + "hardness": 0, + "minStateId": 27, + "maxStateId": 28, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 22 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 27 + }, + { + "id": 23, + "displayName": "Acacia Sapling", + "name": "acacia_sapling", + "hardness": 0, + "minStateId": 29, + "maxStateId": 30, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 23 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 29 + }, + { + "id": 24, + "displayName": "Dark Oak Sapling", + "name": "dark_oak_sapling", + "hardness": 0, + "minStateId": 31, + "maxStateId": 32, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 24 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 31 + }, + { + "id": 25, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "minStateId": 33, + "maxStateId": 33, + "states": [], + "drops": [ + 25 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 33 + }, + { + "id": 26, + "displayName": "Water", + "name": "water", + "hardness": 100, + "minStateId": 34, + "maxStateId": 49, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 16 + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 2, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 34 + }, + { + "id": 27, + "displayName": "Lava", + "name": "lava", + "hardness": 100, + "minStateId": 50, + "maxStateId": 65, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 16 + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 50 + }, + { + "id": 28, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "minStateId": 66, + "maxStateId": 66, + "states": [], + "drops": [ + 26 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "material": "dirt", + "defaultState": 66 + }, + { + "id": 29, + "displayName": "Red Sand", + "name": "red_sand", + "hardness": 0.5, + "minStateId": 67, + "maxStateId": 67, + "states": [], + "drops": [ + 27 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "material": "dirt", + "defaultState": 67 + }, + { + "id": 30, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "minStateId": 68, + "maxStateId": 68, + "states": [], + "drops": [ + 28 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 68 + }, + { + "id": 31, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "minStateId": 69, + "maxStateId": 69, + "states": [], + "drops": [ + 29 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "495": true + }, + "defaultState": 69 + }, + { + "id": 32, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "minStateId": 70, + "maxStateId": 70, + "states": [], + "drops": [ + 30 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "491": true, + "495": true + }, + "defaultState": 70 + }, + { + "id": 33, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "minStateId": 71, + "maxStateId": 71, + "states": [], + "drops": [ + 31 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 71 + }, + { + "id": 34, + "displayName": "Oak Log", + "name": "oak_log", + "hardness": 2, + "minStateId": 72, + "maxStateId": 74, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 32 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 73 + }, + { + "id": 35, + "displayName": "Spruce Log", + "name": "spruce_log", + "hardness": 2, + "minStateId": 75, + "maxStateId": 77, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 33 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 76 + }, + { + "id": 36, + "displayName": "Birch Log", + "name": "birch_log", + "hardness": 2, + "minStateId": 78, + "maxStateId": 80, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 34 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 79 + }, + { + "id": 37, + "displayName": "Jungle Log", + "name": "jungle_log", + "hardness": 2, + "minStateId": 81, + "maxStateId": 83, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 35 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 82 + }, + { + "id": 38, + "displayName": "Acacia Log", + "name": "acacia_log", + "hardness": 2, + "minStateId": 84, + "maxStateId": 86, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 36 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 85 + }, + { + "id": 39, + "displayName": "Dark Oak Log", + "name": "dark_oak_log", + "hardness": 2, + "minStateId": 87, + "maxStateId": 89, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 37 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 88 + }, + { + "id": 40, + "displayName": "Stripped Spruce Log", + "name": "stripped_spruce_log", + "hardness": 2, + "minStateId": 90, + "maxStateId": 92, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 39 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 91 + }, + { + "id": 41, + "displayName": "Stripped Birch Log", + "name": "stripped_birch_log", + "hardness": 2, + "minStateId": 93, + "maxStateId": 95, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 40 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 94 + }, + { + "id": 42, + "displayName": "Stripped Jungle Log", + "name": "stripped_jungle_log", + "hardness": 2, + "minStateId": 96, + "maxStateId": 98, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 41 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 97 + }, + { + "id": 43, + "displayName": "Stripped Acacia Log", + "name": "stripped_acacia_log", + "hardness": 2, + "minStateId": 99, + "maxStateId": 101, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 42 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 100 + }, + { + "id": 44, + "displayName": "Stripped Dark Oak Log", + "name": "stripped_dark_oak_log", + "hardness": 2, + "minStateId": 102, + "maxStateId": 104, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 43 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 103 + }, + { + "id": 45, + "displayName": "Stripped Oak Log", + "name": "stripped_oak_log", + "hardness": 2, + "minStateId": 105, + "maxStateId": 107, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 38 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 106 + }, + { + "id": 46, + "displayName": "Oak Wood", + "name": "oak_wood", + "hardness": 2, + "minStateId": 108, + "maxStateId": 110, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 50 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 109 + }, + { + "id": 47, + "displayName": "Spruce Wood", + "name": "spruce_wood", + "hardness": 2, + "minStateId": 111, + "maxStateId": 113, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 51 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 112 + }, + { + "id": 48, + "displayName": "Birch Wood", + "name": "birch_wood", + "hardness": 2, + "minStateId": 114, + "maxStateId": 116, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 52 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 115 + }, + { + "id": 49, + "displayName": "Jungle Wood", + "name": "jungle_wood", + "hardness": 2, + "minStateId": 117, + "maxStateId": 119, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 53 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 118 + }, + { + "id": 50, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "hardness": 2, + "minStateId": 120, + "maxStateId": 122, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 54 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 121 + }, + { + "id": 51, + "displayName": "Dark Oak Wood", + "name": "dark_oak_wood", + "hardness": 2, + "minStateId": 123, + "maxStateId": 125, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 55 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 124 + }, + { + "id": 52, + "displayName": "Stripped Oak Wood", + "name": "stripped_oak_wood", + "hardness": 2, + "minStateId": 126, + "maxStateId": 128, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 44 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 127 + }, + { + "id": 53, + "displayName": "Stripped Spruce Wood", + "name": "stripped_spruce_wood", + "hardness": 2, + "minStateId": 129, + "maxStateId": 131, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 45 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 130 + }, + { + "id": 54, + "displayName": "Stripped Birch Wood", + "name": "stripped_birch_wood", + "hardness": 2, + "minStateId": 132, + "maxStateId": 134, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 46 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 133 + }, + { + "id": 55, + "displayName": "Stripped Jungle Wood", + "name": "stripped_jungle_wood", + "hardness": 2, + "minStateId": 135, + "maxStateId": 137, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 47 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 136 + }, + { + "id": 56, + "displayName": "Stripped Acacia Wood", + "name": "stripped_acacia_wood", + "hardness": 2, + "minStateId": 138, + "maxStateId": 140, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 48 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 139 + }, + { + "id": 57, + "displayName": "Stripped Dark Oak Wood", + "name": "stripped_dark_oak_wood", + "hardness": 2, + "minStateId": 141, + "maxStateId": 143, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 49 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 142 + }, + { + "id": 58, + "displayName": "Oak Leaves", + "name": "oak_leaves", + "hardness": 0.2, + "minStateId": 144, + "maxStateId": 157, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 56 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 157 + }, + { + "id": 59, + "displayName": "Spruce Leaves", + "name": "spruce_leaves", + "hardness": 0.2, + "minStateId": 158, + "maxStateId": 171, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 57 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 171 + }, + { + "id": 60, + "displayName": "Birch Leaves", + "name": "birch_leaves", + "hardness": 0.2, + "minStateId": 172, + "maxStateId": 185, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 58 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 185 + }, + { + "id": 61, + "displayName": "Jungle Leaves", + "name": "jungle_leaves", + "hardness": 0.2, + "minStateId": 186, + "maxStateId": 199, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 59 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 199 + }, + { + "id": 62, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "hardness": 0.2, + "minStateId": 200, + "maxStateId": 213, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 60 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 213 + }, + { + "id": 63, + "displayName": "Dark Oak Leaves", + "name": "dark_oak_leaves", + "hardness": 0.2, + "minStateId": 214, + "maxStateId": 227, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 61 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 227 + }, + { + "id": 64, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "minStateId": 228, + "maxStateId": 228, + "states": [], + "drops": [ + 62 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 228 + }, + { + "id": 65, + "displayName": "Wet Sponge", + "name": "wet_sponge", + "hardness": 0.6, + "minStateId": 229, + "maxStateId": 229, + "states": [], + "drops": [ + 63 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 229 + }, + { + "id": 66, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "minStateId": 230, + "maxStateId": 230, + "states": [], + "drops": [ + 64 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 230 + }, + { + "id": 67, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "hardness": 3, + "minStateId": 231, + "maxStateId": 231, + "states": [], + "drops": [ + 65 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "491": true, + "495": true + }, + "defaultState": 231 + }, + { + "id": 68, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "hardness": 3, + "minStateId": 232, + "maxStateId": 232, + "states": [], + "drops": [ + 66 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "491": true, + "495": true + }, + "defaultState": 232 + }, + { + "id": 69, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "minStateId": 233, + "maxStateId": 244, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "triggered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 67 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 234 + }, + { + "id": 70, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "minStateId": 245, + "maxStateId": 245, + "states": [], + "drops": [ + 68 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 245 + }, + { + "id": 71, + "displayName": "Chiseled Sandstone", + "name": "chiseled_sandstone", + "hardness": 0.8, + "minStateId": 246, + "maxStateId": 246, + "states": [], + "drops": [ + 69 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 246 + }, + { + "id": 72, + "displayName": "Cut Sandstone", + "name": "cut_sandstone", + "hardness": 0.8, + "minStateId": 247, + "maxStateId": 247, + "states": [], + "drops": [ + 70 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 247 + }, + { + "id": 73, + "displayName": "Note Block", + "name": "note_block", + "hardness": 0.8, + "minStateId": 248, + "maxStateId": 747, + "states": [ + { + "name": "instrument", + "type": "enum", + "num_values": 10, + "values": [ + "harp", + "basedrum", + "snare", + "hat", + "bass", + "flute", + "bell", + "guitar", + "chime", + "xylophone" + ] + }, + { + "name": "note", + "type": "int", + "num_values": 25 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 71 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 249 + }, + { + "id": 74, + "displayName": "White Bed", + "name": "white_bed", + "hardness": 0.2, + "minStateId": 748, + "maxStateId": 763, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 596 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 751 + }, + { + "id": 75, + "displayName": "Orange Bed", + "name": "orange_bed", + "hardness": 0.2, + "minStateId": 764, + "maxStateId": 779, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 597 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 767 + }, + { + "id": 76, + "displayName": "Magenta Bed", + "name": "magenta_bed", + "hardness": 0.2, + "minStateId": 780, + "maxStateId": 795, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 598 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 783 + }, + { + "id": 77, + "displayName": "Light Blue Bed", + "name": "light_blue_bed", + "hardness": 0.2, + "minStateId": 796, + "maxStateId": 811, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 599 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 799 + }, + { + "id": 78, + "displayName": "Yellow Bed", + "name": "yellow_bed", + "hardness": 0.2, + "minStateId": 812, + "maxStateId": 827, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 600 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 815 + }, + { + "id": 79, + "displayName": "Lime Bed", + "name": "lime_bed", + "hardness": 0.2, + "minStateId": 828, + "maxStateId": 843, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 601 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 831 + }, + { + "id": 80, + "displayName": "Pink Bed", + "name": "pink_bed", + "hardness": 0.2, + "minStateId": 844, + "maxStateId": 859, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 602 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 847 + }, + { + "id": 81, + "displayName": "Gray Bed", + "name": "gray_bed", + "hardness": 0.2, + "minStateId": 860, + "maxStateId": 875, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 603 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 863 + }, + { + "id": 82, + "displayName": "Light Gray Bed", + "name": "light_gray_bed", + "hardness": 0.2, + "minStateId": 876, + "maxStateId": 891, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 604 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 879 + }, + { + "id": 83, + "displayName": "Cyan Bed", + "name": "cyan_bed", + "hardness": 0.2, + "minStateId": 892, + "maxStateId": 907, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 605 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 895 + }, + { + "id": 84, + "displayName": "Purple Bed", + "name": "purple_bed", + "hardness": 0.2, + "minStateId": 908, + "maxStateId": 923, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 606 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 911 + }, + { + "id": 85, + "displayName": "Blue Bed", + "name": "blue_bed", + "hardness": 0.2, + "minStateId": 924, + "maxStateId": 939, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 607 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 927 + }, + { + "id": 86, + "displayName": "Brown Bed", + "name": "brown_bed", + "hardness": 0.2, + "minStateId": 940, + "maxStateId": 955, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 608 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 943 + }, + { + "id": 87, + "displayName": "Green Bed", + "name": "green_bed", + "hardness": 0.2, + "minStateId": 956, + "maxStateId": 971, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 609 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 959 + }, + { + "id": 88, + "displayName": "Red Bed", + "name": "red_bed", + "hardness": 0.2, + "minStateId": 972, + "maxStateId": 987, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 610 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 975 + }, + { + "id": 89, + "displayName": "Black Bed", + "name": "black_bed", + "hardness": 0.2, + "minStateId": 988, + "maxStateId": 1003, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 611 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 991 + }, + { + "id": 90, + "displayName": "Powered Rail", + "name": "powered_rail", + "hardness": 0.7, + "minStateId": 1004, + "maxStateId": 1015, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 72 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 1010 + }, + { + "id": 91, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "minStateId": 1016, + "maxStateId": 1027, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 73 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 1022 + }, + { + "id": 92, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "hardness": 0.5, + "minStateId": 1028, + "maxStateId": 1039, + "states": [ + { + "name": "extended", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 74 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1034 + }, + { + "id": 93, + "displayName": "Cobweb", + "name": "cobweb", + "hardness": 4, + "minStateId": 1040, + "maxStateId": 1040, + "states": [], + "drops": [ + 75 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "web", + "harvestTools": { + "484": true, + "485": true, + "489": true, + "493": true, + "500": true, + "614": true + }, + "defaultState": 1040 + }, + { + "id": 94, + "displayName": "Grass", + "name": "grass", + "hardness": 0, + "minStateId": 1041, + "maxStateId": 1041, + "states": [], + "drops": [ + 76 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1041 + }, + { + "id": 95, + "displayName": "Fern", + "name": "fern", + "hardness": 0, + "minStateId": 1042, + "maxStateId": 1042, + "states": [], + "drops": [ + 77 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1042 + }, + { + "id": 96, + "displayName": "Dead Bush", + "name": "dead_bush", + "hardness": 0, + "minStateId": 1043, + "maxStateId": 1043, + "states": [], + "drops": [ + 78 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1043 + }, + { + "id": 97, + "displayName": "Seagrass", + "name": "seagrass", + "hardness": 0, + "minStateId": 1044, + "maxStateId": 1044, + "states": [], + "drops": [ + 79 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1044 + }, + { + "id": 98, + "displayName": "Tall Seagrass", + "name": "tall_seagrass", + "hardness": 0, + "minStateId": 1045, + "maxStateId": 1046, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 79 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1046 + }, + { + "id": 99, + "displayName": "Piston", + "name": "piston", + "hardness": 0.5, + "minStateId": 1047, + "maxStateId": 1058, + "states": [ + { + "name": "extended", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 81 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1053 + }, + { + "id": 100, + "displayName": "Piston Head", + "name": "piston_head", + "hardness": 0.5, + "minStateId": 1059, + "maxStateId": 1082, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "short", + "type": "bool", + "num_values": 2 + }, + { + "name": "type", + "type": "enum", + "num_values": 2, + "values": [ + "normal", + "sticky" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1061 + }, + { + "id": 101, + "displayName": "White Wool", + "name": "white_wool", + "hardness": 0.8, + "minStateId": 1083, + "maxStateId": 1083, + "states": [], + "drops": [ + 82 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1083 + }, + { + "id": 102, + "displayName": "Orange Wool", + "name": "orange_wool", + "hardness": 0.8, + "minStateId": 1084, + "maxStateId": 1084, + "states": [], + "drops": [ + 83 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1084 + }, + { + "id": 103, + "displayName": "Magenta Wool", + "name": "magenta_wool", + "hardness": 0.8, + "minStateId": 1085, + "maxStateId": 1085, + "states": [], + "drops": [ + 84 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1085 + }, + { + "id": 104, + "displayName": "Light Blue Wool", + "name": "light_blue_wool", + "hardness": 0.8, + "minStateId": 1086, + "maxStateId": 1086, + "states": [], + "drops": [ + 85 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1086 + }, + { + "id": 105, + "displayName": "Yellow Wool", + "name": "yellow_wool", + "hardness": 0.8, + "minStateId": 1087, + "maxStateId": 1087, + "states": [], + "drops": [ + 86 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1087 + }, + { + "id": 106, + "displayName": "Lime Wool", + "name": "lime_wool", + "hardness": 0.8, + "minStateId": 1088, + "maxStateId": 1088, + "states": [], + "drops": [ + 87 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1088 + }, + { + "id": 107, + "displayName": "Pink Wool", + "name": "pink_wool", + "hardness": 0.8, + "minStateId": 1089, + "maxStateId": 1089, + "states": [], + "drops": [ + 88 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1089 + }, + { + "id": 108, + "displayName": "Gray Wool", + "name": "gray_wool", + "hardness": 0.8, + "minStateId": 1090, + "maxStateId": 1090, + "states": [], + "drops": [ + 89 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1090 + }, + { + "id": 109, + "displayName": "Light Gray Wool", + "name": "light_gray_wool", + "hardness": 0.8, + "minStateId": 1091, + "maxStateId": 1091, + "states": [], + "drops": [ + 90 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1091 + }, + { + "id": 110, + "displayName": "Cyan Wool", + "name": "cyan_wool", + "hardness": 0.8, + "minStateId": 1092, + "maxStateId": 1092, + "states": [], + "drops": [ + 91 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1092 + }, + { + "id": 111, + "displayName": "Purple Wool", + "name": "purple_wool", + "hardness": 0.8, + "minStateId": 1093, + "maxStateId": 1093, + "states": [], + "drops": [ + 92 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1093 + }, + { + "id": 112, + "displayName": "Blue Wool", + "name": "blue_wool", + "hardness": 0.8, + "minStateId": 1094, + "maxStateId": 1094, + "states": [], + "drops": [ + 93 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1094 + }, + { + "id": 113, + "displayName": "Brown Wool", + "name": "brown_wool", + "hardness": 0.8, + "minStateId": 1095, + "maxStateId": 1095, + "states": [], + "drops": [ + 94 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1095 + }, + { + "id": 114, + "displayName": "Green Wool", + "name": "green_wool", + "hardness": 0.8, + "minStateId": 1096, + "maxStateId": 1096, + "states": [], + "drops": [ + 95 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1096 + }, + { + "id": 115, + "displayName": "Red Wool", + "name": "red_wool", + "hardness": 0.8, + "minStateId": 1097, + "maxStateId": 1097, + "states": [], + "drops": [ + 96 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1097 + }, + { + "id": 116, + "displayName": "Black Wool", + "name": "black_wool", + "hardness": 0.8, + "minStateId": 1098, + "maxStateId": 1098, + "states": [], + "drops": [ + 97 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1098 + }, + { + "id": 117, + "displayName": "Moving Piston", + "name": "moving_piston", + "hardness": null, + "minStateId": 1099, + "maxStateId": 1110, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 2, + "values": [ + "normal", + "sticky" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1099 + }, + { + "id": 118, + "displayName": "Dandelion", + "name": "dandelion", + "hardness": 0, + "minStateId": 1111, + "maxStateId": 1111, + "states": [], + "drops": [ + 98 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 1111 + }, + { + "id": 119, + "displayName": "Poppy", + "name": "poppy", + "hardness": 0, + "minStateId": 1112, + "maxStateId": 1112, + "states": [], + "drops": [ + 99 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 1112 + }, + { + "id": 120, + "displayName": "Blue Orchid", + "name": "blue_orchid", + "hardness": 0, + "minStateId": 1113, + "maxStateId": 1113, + "states": [], + "drops": [ + 100 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1113 + }, + { + "id": 121, + "displayName": "Allium", + "name": "allium", + "hardness": 0, + "minStateId": 1114, + "maxStateId": 1114, + "states": [], + "drops": [ + 101 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 1114 + }, + { + "id": 122, + "displayName": "Azure Bluet", + "name": "azure_bluet", + "hardness": 0, + "minStateId": 1115, + "maxStateId": 1115, + "states": [], + "drops": [ + 102 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 1115 + }, + { + "id": 123, + "displayName": "Red Tulip", + "name": "red_tulip", + "hardness": 0, + "minStateId": 1116, + "maxStateId": 1116, + "states": [], + "drops": [ + 103 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1116 + }, + { + "id": 124, + "displayName": "Orange Tulip", + "name": "orange_tulip", + "hardness": 0, + "minStateId": 1117, + "maxStateId": 1117, + "states": [], + "drops": [ + 104 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1117 + }, + { + "id": 125, + "displayName": "White Tulip", + "name": "white_tulip", + "hardness": 0, + "minStateId": 1118, + "maxStateId": 1118, + "states": [], + "drops": [ + 105 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1118 + }, + { + "id": 126, + "displayName": "Pink Tulip", + "name": "pink_tulip", + "hardness": 0, + "minStateId": 1119, + "maxStateId": 1119, + "states": [], + "drops": [ + 106 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1119 + }, + { + "id": 127, + "displayName": "Oxeye Daisy", + "name": "oxeye_daisy", + "hardness": 0, + "minStateId": 1120, + "maxStateId": 1120, + "states": [], + "drops": [ + 107 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 1120 + }, + { + "id": 128, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "minStateId": 1121, + "maxStateId": 1121, + "states": [], + "drops": [ + 108 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 1, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1121 + }, + { + "id": 129, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "minStateId": 1122, + "maxStateId": 1122, + "states": [], + "drops": [ + 109 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 1, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1122 + }, + { + "id": 130, + "displayName": "Block of Gold", + "name": "gold_block", + "hardness": 3, + "minStateId": 1123, + "maxStateId": 1123, + "states": [], + "drops": [ + 110 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "495": true + }, + "defaultState": 1123 + }, + { + "id": 131, + "displayName": "Block of Iron", + "name": "iron_block", + "hardness": 5, + "minStateId": 1124, + "maxStateId": 1124, + "states": [], + "drops": [ + 111 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "491": true, + "495": true + }, + "defaultState": 1124 + }, + { + "id": 132, + "displayName": "Bricks", + "name": "bricks", + "hardness": 2, + "minStateId": 1125, + "maxStateId": 1125, + "states": [], + "drops": [ + 135 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 1125 + }, + { + "id": 133, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "minStateId": 1126, + "maxStateId": 1127, + "states": [ + { + "name": "unstable", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 136 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1127 + }, + { + "id": 134, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "minStateId": 1128, + "maxStateId": 1128, + "states": [], + "drops": [ + 137 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 1128 + }, + { + "id": 135, + "displayName": "Mossy Cobblestone", + "name": "mossy_cobblestone", + "hardness": 2, + "minStateId": 1129, + "maxStateId": 1129, + "states": [], + "drops": [ + 138 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 1129 + }, + { + "id": 136, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "minStateId": 1130, + "maxStateId": 1130, + "states": [], + "drops": [ + 139 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "495": true + }, + "defaultState": 1130 + }, + { + "id": 137, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "minStateId": 1131, + "maxStateId": 1131, + "states": [], + "drops": [ + 140 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 14, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1131 + }, + { + "id": 138, + "displayName": "Wall Torch", + "name": "wall_torch", + "hardness": 0, + "minStateId": 1132, + "maxStateId": 1135, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 140 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 14, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1132 + }, + { + "id": 139, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "minStateId": 1136, + "maxStateId": 1647, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 1167 + }, + { + "id": 140, + "displayName": "Spawner", + "name": "spawner", + "hardness": 5, + "minStateId": 1648, + "maxStateId": 1648, + "states": [], + "drops": [ + 147 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 1648 + }, + { + "id": 141, + "displayName": "Oak Stairs", + "name": "oak_stairs", + "hardness": 2, + "minStateId": 1649, + "maxStateId": 1728, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 148 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 1660 + }, + { + "id": 142, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "minStateId": 1729, + "maxStateId": 1752, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "single", + "left", + "right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 149 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 1730 + }, + { + "id": 143, + "displayName": "Redstone Dust", + "name": "redstone_wire", + "hardness": 0, + "minStateId": 1753, + "maxStateId": 3048, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "power", + "type": "int", + "num_values": 16 + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + } + ], + "drops": [ + 547 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 2913 + }, + { + "id": 144, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "minStateId": 3049, + "maxStateId": 3049, + "states": [], + "drops": [ + 150 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "495": true + }, + "defaultState": 3049 + }, + { + "id": 145, + "displayName": "Block of Diamond", + "name": "diamond_block", + "hardness": 5, + "minStateId": 3050, + "maxStateId": 3050, + "states": [], + "drops": [ + 151 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "495": true + }, + "defaultState": 3050 + }, + { + "id": 146, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "minStateId": 3051, + "maxStateId": 3051, + "states": [], + "drops": [ + 152 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3051 + }, + { + "id": 147, + "displayName": "Wheat Crops", + "name": "wheat", + "hardness": 0, + "minStateId": 3052, + "maxStateId": 3059, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 513 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 3052 + }, + { + "id": 148, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "minStateId": 3060, + "maxStateId": 3067, + "states": [ + { + "name": "moisture", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 153 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3060 + }, + { + "id": 149, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "minStateId": 3068, + "maxStateId": 3075, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 154 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 13, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3069 + }, + { + "id": 150, + "displayName": "Sign", + "name": "sign", + "hardness": 1, + "minStateId": 3076, + "maxStateId": 3107, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 541 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3077 + }, + { + "id": 151, + "displayName": "Oak Door", + "name": "oak_door", + "hardness": 3, + "minStateId": 3108, + "maxStateId": 3171, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 461 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3119 + }, + { + "id": 152, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "minStateId": 3172, + "maxStateId": 3179, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 155 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3173 + }, + { + "id": 153, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "minStateId": 3180, + "maxStateId": 3189, + "states": [ + { + "name": "shape", + "type": "enum", + "num_values": 10, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south", + "south_east", + "south_west", + "north_west", + "north_east" + ] + } + ], + "drops": [ + 156 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 3180 + }, + { + "id": 154, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "hardness": 2, + "minStateId": 3190, + "maxStateId": 3269, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 157 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3201 + }, + { + "id": 155, + "displayName": "Wall Sign", + "name": "wall_sign", + "hardness": 1, + "minStateId": 3270, + "maxStateId": 3277, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 541 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3271 + }, + { + "id": 156, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "minStateId": 3278, + "maxStateId": 3301, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 158 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3287 + }, + { + "id": 157, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "minStateId": 3302, + "maxStateId": 3303, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 159 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3303 + }, + { + "id": 158, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "minStateId": 3304, + "maxStateId": 3367, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 460 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3315 + }, + { + "id": 159, + "displayName": "Oak Pressure Plate", + "name": "oak_pressure_plate", + "hardness": 0.5, + "minStateId": 3368, + "maxStateId": 3369, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 160 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3369 + }, + { + "id": 160, + "displayName": "Spruce Pressure Plate", + "name": "spruce_pressure_plate", + "hardness": 0.5, + "minStateId": 3370, + "maxStateId": 3371, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 161 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3371 + }, + { + "id": 161, + "displayName": "Birch Pressure Plate", + "name": "birch_pressure_plate", + "hardness": 0.5, + "minStateId": 3372, + "maxStateId": 3373, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 162 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3373 + }, + { + "id": 162, + "displayName": "Jungle Pressure Plate", + "name": "jungle_pressure_plate", + "hardness": 0.5, + "minStateId": 3374, + "maxStateId": 3375, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 163 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3375 + }, + { + "id": 163, + "displayName": "Acacia Pressure Plate", + "name": "acacia_pressure_plate", + "hardness": 0.5, + "minStateId": 3376, + "maxStateId": 3377, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 164 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3377 + }, + { + "id": 164, + "displayName": "Dark Oak Pressure Plate", + "name": "dark_oak_pressure_plate", + "hardness": 0.5, + "minStateId": 3378, + "maxStateId": 3379, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 165 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3379 + }, + { + "id": 165, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "minStateId": 3380, + "maxStateId": 3381, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 166 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 9, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "495": true + }, + "defaultState": 3381 + }, + { + "id": 166, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "hardness": 0, + "minStateId": 3382, + "maxStateId": 3383, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 167 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 7, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3382 + }, + { + "id": 167, + "displayName": "Redstone Wall Torch", + "name": "redstone_wall_torch", + "hardness": 0, + "minStateId": 3384, + "maxStateId": 3391, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 167 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 7, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3384 + }, + { + "id": 168, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "minStateId": 3392, + "maxStateId": 3415, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 168 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 3401 + }, + { + "id": 169, + "displayName": "Snow", + "name": "snow", + "hardness": 0.1, + "minStateId": 3416, + "maxStateId": 3423, + "states": [ + { + "name": "layers", + "type": "enum", + "num_values": 8, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8" + ] + } + ], + "drops": [ + 169 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "harvestTools": { + "472": true, + "486": true, + "490": true, + "494": true, + "501": true + }, + "defaultState": 3416 + }, + { + "id": 170, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "minStateId": 3424, + "maxStateId": 3424, + "states": [], + "drops": [ + 170 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 3424 + }, + { + "id": 171, + "displayName": "Snow Block", + "name": "snow_block", + "hardness": 0.2, + "minStateId": 3425, + "maxStateId": 3425, + "states": [], + "drops": [ + 171 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "harvestTools": { + "472": true, + "486": true, + "490": true, + "494": true, + "501": true + }, + "defaultState": 3425 + }, + { + "id": 172, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "minStateId": 3426, + "maxStateId": 3441, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 172 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3426 + }, + { + "id": 173, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "minStateId": 3442, + "maxStateId": 3442, + "states": [], + "drops": [ + 173 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3442 + }, + { + "id": 174, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "hardness": 0, + "minStateId": 3443, + "maxStateId": 3458, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 558 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 3443 + }, + { + "id": 175, + "displayName": "Jukebox", + "name": "jukebox", + "hardness": 2, + "minStateId": 3459, + "maxStateId": 3460, + "states": [ + { + "name": "has_record", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 174 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3460 + }, + { + "id": 176, + "displayName": "Oak Fence", + "name": "oak_fence", + "hardness": 2, + "minStateId": 3461, + "maxStateId": 3492, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 175 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3492 + }, + { + "id": 177, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "minStateId": 3493, + "maxStateId": 3493, + "states": [], + "drops": [ + 181 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3493 + }, + { + "id": 178, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "minStateId": 3494, + "maxStateId": 3494, + "states": [], + "drops": [ + 183 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3494 + }, + { + "id": 179, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "minStateId": 3495, + "maxStateId": 3495, + "states": [], + "drops": [ + 184 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3495 + }, + { + "id": 180, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "minStateId": 3496, + "maxStateId": 3496, + "states": [], + "drops": [ + 185 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3496 + }, + { + "id": 181, + "displayName": "Nether Portal", + "name": "nether_portal", + "hardness": null, + "minStateId": 3497, + "maxStateId": 3498, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 2, + "values": [ + "x", + "z" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 11, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 3497 + }, + { + "id": 182, + "displayName": "Carved Pumpkin", + "name": "carved_pumpkin", + "hardness": 1, + "minStateId": 3499, + "maxStateId": 3502, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 182 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3499 + }, + { + "id": 183, + "displayName": "Jack o'Lantern", + "name": "jack_o_lantern", + "hardness": 1, + "minStateId": 3503, + "maxStateId": 3506, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 186 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3503 + }, + { + "id": 184, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "minStateId": 3507, + "maxStateId": 3513, + "states": [ + { + "name": "bites", + "type": "int", + "num_values": 7 + } + ], + "drops": [ + 595 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 3507 + }, + { + "id": 185, + "displayName": "Redstone Repeater", + "name": "repeater", + "hardness": 0, + "minStateId": 3514, + "maxStateId": 3577, + "states": [ + { + "name": "delay", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "locked", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 467 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3517 + }, + { + "id": 186, + "displayName": "White Stained Glass", + "name": "white_stained_glass", + "hardness": 0.3, + "minStateId": 3578, + "maxStateId": 3578, + "states": [], + "drops": [ + 311 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3578 + }, + { + "id": 187, + "displayName": "Orange Stained Glass", + "name": "orange_stained_glass", + "hardness": 0.3, + "minStateId": 3579, + "maxStateId": 3579, + "states": [], + "drops": [ + 312 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3579 + }, + { + "id": 188, + "displayName": "Magenta Stained Glass", + "name": "magenta_stained_glass", + "hardness": 0.3, + "minStateId": 3580, + "maxStateId": 3580, + "states": [], + "drops": [ + 313 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3580 + }, + { + "id": 189, + "displayName": "Light Blue Stained Glass", + "name": "light_blue_stained_glass", + "hardness": 0.3, + "minStateId": 3581, + "maxStateId": 3581, + "states": [], + "drops": [ + 314 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3581 + }, + { + "id": 190, + "displayName": "Yellow Stained Glass", + "name": "yellow_stained_glass", + "hardness": 0.3, + "minStateId": 3582, + "maxStateId": 3582, + "states": [], + "drops": [ + 315 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3582 + }, + { + "id": 191, + "displayName": "Lime Stained Glass", + "name": "lime_stained_glass", + "hardness": 0.3, + "minStateId": 3583, + "maxStateId": 3583, + "states": [], + "drops": [ + 316 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3583 + }, + { + "id": 192, + "displayName": "Pink Stained Glass", + "name": "pink_stained_glass", + "hardness": 0.3, + "minStateId": 3584, + "maxStateId": 3584, + "states": [], + "drops": [ + 317 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3584 + }, + { + "id": 193, + "displayName": "Gray Stained Glass", + "name": "gray_stained_glass", + "hardness": 0.3, + "minStateId": 3585, + "maxStateId": 3585, + "states": [], + "drops": [ + 318 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3585 + }, + { + "id": 194, + "displayName": "Light Gray Stained Glass", + "name": "light_gray_stained_glass", + "hardness": 0.3, + "minStateId": 3586, + "maxStateId": 3586, + "states": [], + "drops": [ + 319 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3586 + }, + { + "id": 195, + "displayName": "Cyan Stained Glass", + "name": "cyan_stained_glass", + "hardness": 0.3, + "minStateId": 3587, + "maxStateId": 3587, + "states": [], + "drops": [ + 320 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3587 + }, + { + "id": 196, + "displayName": "Purple Stained Glass", + "name": "purple_stained_glass", + "hardness": 0.3, + "minStateId": 3588, + "maxStateId": 3588, + "states": [], + "drops": [ + 321 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3588 + }, + { + "id": 197, + "displayName": "Blue Stained Glass", + "name": "blue_stained_glass", + "hardness": 0.3, + "minStateId": 3589, + "maxStateId": 3589, + "states": [], + "drops": [ + 322 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3589 + }, + { + "id": 198, + "displayName": "Brown Stained Glass", + "name": "brown_stained_glass", + "hardness": 0.3, + "minStateId": 3590, + "maxStateId": 3590, + "states": [], + "drops": [ + 323 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3590 + }, + { + "id": 199, + "displayName": "Green Stained Glass", + "name": "green_stained_glass", + "hardness": 0.3, + "minStateId": 3591, + "maxStateId": 3591, + "states": [], + "drops": [ + 324 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3591 + }, + { + "id": 200, + "displayName": "Red Stained Glass", + "name": "red_stained_glass", + "hardness": 0.3, + "minStateId": 3592, + "maxStateId": 3592, + "states": [], + "drops": [ + 325 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3592 + }, + { + "id": 201, + "displayName": "Black Stained Glass", + "name": "black_stained_glass", + "hardness": 0.3, + "minStateId": 3593, + "maxStateId": 3593, + "states": [], + "drops": [ + 326 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3593 + }, + { + "id": 202, + "displayName": "Oak Trapdoor", + "name": "oak_trapdoor", + "hardness": 3, + "minStateId": 3594, + "maxStateId": 3657, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 187 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3609 + }, + { + "id": 203, + "displayName": "Spruce Trapdoor", + "name": "spruce_trapdoor", + "hardness": 3, + "minStateId": 3658, + "maxStateId": 3721, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 188 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3673 + }, + { + "id": 204, + "displayName": "Birch Trapdoor", + "name": "birch_trapdoor", + "hardness": 3, + "minStateId": 3722, + "maxStateId": 3785, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 189 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3737 + }, + { + "id": 205, + "displayName": "Jungle Trapdoor", + "name": "jungle_trapdoor", + "hardness": 3, + "minStateId": 3786, + "maxStateId": 3849, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 190 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3801 + }, + { + "id": 206, + "displayName": "Acacia Trapdoor", + "name": "acacia_trapdoor", + "hardness": 3, + "minStateId": 3850, + "maxStateId": 3913, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 191 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3865 + }, + { + "id": 207, + "displayName": "Dark Oak Trapdoor", + "name": "dark_oak_trapdoor", + "hardness": 3, + "minStateId": 3914, + "maxStateId": 3977, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 192 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3929 + }, + { + "id": 208, + "displayName": "Infested Stone", + "name": "infested_stone", + "hardness": 0, + "minStateId": 3978, + "maxStateId": 3978, + "states": [], + "drops": [ + 193 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3978 + }, + { + "id": 209, + "displayName": "Infested Cobblestone", + "name": "infested_cobblestone", + "hardness": 0, + "minStateId": 3979, + "maxStateId": 3979, + "states": [], + "drops": [ + 194 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3979 + }, + { + "id": 210, + "displayName": "Infested Stone Bricks", + "name": "infested_stone_bricks", + "hardness": 0, + "minStateId": 3980, + "maxStateId": 3980, + "states": [], + "drops": [ + 195 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3980 + }, + { + "id": 211, + "displayName": "Infested Mossy Stone Bricks", + "name": "infested_mossy_stone_bricks", + "hardness": 0, + "minStateId": 3981, + "maxStateId": 3981, + "states": [], + "drops": [ + 196 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3981 + }, + { + "id": 212, + "displayName": "Infested Cracked Stone Bricks", + "name": "infested_cracked_stone_bricks", + "hardness": 0, + "minStateId": 3982, + "maxStateId": 3982, + "states": [], + "drops": [ + 197 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3982 + }, + { + "id": 213, + "displayName": "Infested Chiseled Stone Bricks", + "name": "infested_chiseled_stone_bricks", + "hardness": 0, + "minStateId": 3983, + "maxStateId": 3983, + "states": [], + "drops": [ + 198 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3983 + }, + { + "id": 214, + "displayName": "Stone Bricks", + "name": "stone_bricks", + "hardness": 1.5, + "minStateId": 3984, + "maxStateId": 3984, + "states": [], + "drops": [ + 199 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3984 + }, + { + "id": 215, + "displayName": "Mossy Stone Bricks", + "name": "mossy_stone_bricks", + "hardness": 1.5, + "minStateId": 3985, + "maxStateId": 3985, + "states": [], + "drops": [ + 200 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3985 + }, + { + "id": 216, + "displayName": "Cracked Stone Bricks", + "name": "cracked_stone_bricks", + "hardness": 1.5, + "minStateId": 3986, + "maxStateId": 3986, + "states": [], + "drops": [ + 201 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3986 + }, + { + "id": 217, + "displayName": "Chiseled Stone Bricks", + "name": "chiseled_stone_bricks", + "hardness": 1.5, + "minStateId": 3987, + "maxStateId": 3987, + "states": [], + "drops": [ + 202 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 3987 + }, + { + "id": 218, + "displayName": "Brown Mushroom Block", + "name": "brown_mushroom_block", + "hardness": 0.2, + "minStateId": 3988, + "maxStateId": 4051, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 203 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3988 + }, + { + "id": 219, + "displayName": "Red Mushroom Block", + "name": "red_mushroom_block", + "hardness": 0.2, + "minStateId": 4052, + "maxStateId": 4115, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 204 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4052 + }, + { + "id": 220, + "displayName": "Mushroom Stem", + "name": "mushroom_stem", + "hardness": 0.2, + "minStateId": 4116, + "maxStateId": 4179, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 205 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4116 + }, + { + "id": 221, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "minStateId": 4180, + "maxStateId": 4211, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 206 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 4211 + }, + { + "id": 222, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "minStateId": 4212, + "maxStateId": 4243, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 207 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4243 + }, + { + "id": 223, + "displayName": "Melon", + "name": "melon", + "hardness": 1, + "minStateId": 4244, + "maxStateId": 4244, + "states": [], + "drops": [ + 208 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4244 + }, + { + "id": 224, + "displayName": "Attached Pumpkin Stem", + "name": "attached_pumpkin_stem", + "hardness": 0, + "minStateId": 4245, + "maxStateId": 4248, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4245 + }, + { + "id": 225, + "displayName": "Attached Melon Stem", + "name": "attached_melon_stem", + "hardness": 0, + "minStateId": 4249, + "maxStateId": 4252, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4249 + }, + { + "id": 226, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "minStateId": 4253, + "maxStateId": 4260, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 617 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4253 + }, + { + "id": 227, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "minStateId": 4261, + "maxStateId": 4268, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 618 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4261 + }, + { + "id": 228, + "displayName": "Vines", + "name": "vine", + "hardness": 0.2, + "minStateId": 4269, + "maxStateId": 4300, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 209 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4300 + }, + { + "id": 229, + "displayName": "Oak Fence Gate", + "name": "oak_fence_gate", + "hardness": 2, + "minStateId": 4301, + "maxStateId": 4332, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 210 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4308 + }, + { + "id": 230, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 2, + "minStateId": 4333, + "maxStateId": 4412, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 216 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 4344 + }, + { + "id": 231, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 1.5, + "minStateId": 4413, + "maxStateId": 4492, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 217 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 4424 + }, + { + "id": 232, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "minStateId": 4493, + "maxStateId": 4494, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 218 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 4494 + }, + { + "id": 233, + "displayName": "Lily Pad", + "name": "lily_pad", + "hardness": 0, + "minStateId": 4495, + "maxStateId": 4495, + "states": [], + "drops": [ + 219 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4495 + }, + { + "id": 234, + "displayName": "Nether Bricks", + "name": "nether_bricks", + "hardness": 2, + "minStateId": 4496, + "maxStateId": 4496, + "states": [], + "drops": [ + 220 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 4496 + }, + { + "id": 235, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "minStateId": 4497, + "maxStateId": 4528, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 221 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 4528 + }, + { + "id": 236, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 2, + "minStateId": 4529, + "maxStateId": 4608, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 222 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 4540 + }, + { + "id": 237, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "minStateId": 4609, + "maxStateId": 4612, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 628 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4609 + }, + { + "id": 238, + "displayName": "Enchanting Table", + "name": "enchanting_table", + "hardness": 5, + "minStateId": 4613, + "maxStateId": 4613, + "states": [], + "drops": [ + 223 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 4613 + }, + { + "id": 239, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "minStateId": 4614, + "maxStateId": 4621, + "states": [ + { + "name": "has_bottle_0", + "type": "bool", + "num_values": 2 + }, + { + "name": "has_bottle_1", + "type": "bool", + "num_values": 2 + }, + { + "name": "has_bottle_2", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 635 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 1, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 4621 + }, + { + "id": 240, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "minStateId": 4622, + "maxStateId": 4625, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 636 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 4622 + }, + { + "id": 241, + "displayName": "End Portal", + "name": "end_portal", + "hardness": null, + "minStateId": 4626, + "maxStateId": 4626, + "states": [], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 4626 + }, + { + "id": 242, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "hardness": null, + "minStateId": 4627, + "maxStateId": 4634, + "states": [ + { + "name": "eye", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 224 + ], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 1, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4631 + }, + { + "id": 243, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "minStateId": 4635, + "maxStateId": 4635, + "states": [], + "drops": [ + 225 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 4635 + }, + { + "id": 244, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "hardness": 3, + "minStateId": 4636, + "maxStateId": 4636, + "states": [], + "drops": [ + 227 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4636 + }, + { + "id": 245, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "hardness": 0.3, + "minStateId": 4637, + "maxStateId": 4638, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 228 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4638 + }, + { + "id": 246, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "minStateId": 4639, + "maxStateId": 4650, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 3 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 580 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4639 + }, + { + "id": 247, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0.8, + "minStateId": 4651, + "maxStateId": 4730, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 229 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 4662 + }, + { + "id": 248, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "minStateId": 4731, + "maxStateId": 4731, + "states": [], + "drops": [ + 230 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "495": true + }, + "defaultState": 4731 + }, + { + "id": 249, + "displayName": "Ender Chest", + "name": "ender_chest", + "hardness": 22.5, + "minStateId": 4732, + "maxStateId": 4739, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 231 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 4733 + }, + { + "id": 250, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "minStateId": 4740, + "maxStateId": 4755, + "states": [ + { + "name": "attached", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 232 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 4749 + }, + { + "id": 251, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "minStateId": 4756, + "maxStateId": 4883, + "states": [ + { + "name": "attached", + "type": "bool", + "num_values": 2 + }, + { + "name": "disarmed", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 504 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 4883 + }, + { + "id": 252, + "displayName": "Block of Emerald", + "name": "emerald_block", + "hardness": 5, + "minStateId": 4884, + "maxStateId": 4884, + "states": [], + "drops": [ + 233 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "495": true + }, + "defaultState": 4884 + }, + { + "id": 253, + "displayName": "Spruce Stairs", + "name": "spruce_stairs", + "hardness": 2, + "minStateId": 4885, + "maxStateId": 4964, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 234 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4896 + }, + { + "id": 254, + "displayName": "Birch Stairs", + "name": "birch_stairs", + "hardness": 2, + "minStateId": 4965, + "maxStateId": 5044, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 235 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4976 + }, + { + "id": 255, + "displayName": "Jungle Stairs", + "name": "jungle_stairs", + "hardness": 2, + "minStateId": 5045, + "maxStateId": 5124, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 236 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5056 + }, + { + "id": 256, + "displayName": "Command Block", + "name": "command_block", + "hardness": null, + "minStateId": 5125, + "maxStateId": 5136, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 237 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5131 + }, + { + "id": 257, + "displayName": "Beacon", + "name": "beacon", + "hardness": 3, + "minStateId": 5137, + "maxStateId": 5137, + "states": [], + "drops": [ + 238 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5137 + }, + { + "id": 258, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 2, + "minStateId": 5138, + "maxStateId": 5201, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 239 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5197 + }, + { + "id": 259, + "displayName": "Mossy Cobblestone Wall", + "name": "mossy_cobblestone_wall", + "hardness": 2, + "minStateId": 5202, + "maxStateId": 5265, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 240 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5261 + }, + { + "id": 260, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "minStateId": 5266, + "maxStateId": 5266, + "states": [], + "drops": [ + 696 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5266 + }, + { + "id": 261, + "displayName": "Potted Oak Sapling", + "name": "potted_oak_sapling", + "hardness": 0, + "minStateId": 5267, + "maxStateId": 5267, + "states": [], + "drops": [ + 696, + 19 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5267 + }, + { + "id": 262, + "displayName": "Potted Spruce Sapling", + "name": "potted_spruce_sapling", + "hardness": 0, + "minStateId": 5268, + "maxStateId": 5268, + "states": [], + "drops": [ + 696, + 20 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5268 + }, + { + "id": 263, + "displayName": "Potted Birch Sapling", + "name": "potted_birch_sapling", + "hardness": 0, + "minStateId": 5269, + "maxStateId": 5269, + "states": [], + "drops": [ + 696, + 21 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5269 + }, + { + "id": 264, + "displayName": "Potted Jungle Sapling", + "name": "potted_jungle_sapling", + "hardness": 0, + "minStateId": 5270, + "maxStateId": 5270, + "states": [], + "drops": [ + 696, + 22 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5270 + }, + { + "id": 265, + "displayName": "Potted Acacia Sapling", + "name": "potted_acacia_sapling", + "hardness": 0, + "minStateId": 5271, + "maxStateId": 5271, + "states": [], + "drops": [ + 696, + 23 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5271 + }, + { + "id": 266, + "displayName": "Potted Dark Oak Sapling", + "name": "potted_dark_oak_sapling", + "hardness": 0, + "minStateId": 5272, + "maxStateId": 5272, + "states": [], + "drops": [ + 696, + 24 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5272 + }, + { + "id": 267, + "displayName": "Potted Fern", + "name": "potted_fern", + "hardness": 0, + "minStateId": 5273, + "maxStateId": 5273, + "states": [], + "drops": [ + 696, + 77 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5273 + }, + { + "id": 268, + "displayName": "Potted Dandelion", + "name": "potted_dandelion", + "hardness": 0, + "minStateId": 5274, + "maxStateId": 5274, + "states": [], + "drops": [ + 696, + 98 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5274 + }, + { + "id": 269, + "displayName": "Potted Poppy", + "name": "potted_poppy", + "hardness": 0, + "minStateId": 5275, + "maxStateId": 5275, + "states": [], + "drops": [ + 696, + 99 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5275 + }, + { + "id": 270, + "displayName": "Potted Blue Orchid", + "name": "potted_blue_orchid", + "hardness": 0, + "minStateId": 5276, + "maxStateId": 5276, + "states": [], + "drops": [ + 696, + 100 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5276 + }, + { + "id": 271, + "displayName": "Potted Allium", + "name": "potted_allium", + "hardness": 0, + "minStateId": 5277, + "maxStateId": 5277, + "states": [], + "drops": [ + 696, + 101 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5277 + }, + { + "id": 272, + "displayName": "Potted Azure Bluet", + "name": "potted_azure_bluet", + "hardness": 0, + "minStateId": 5278, + "maxStateId": 5278, + "states": [], + "drops": [ + 696, + 102 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5278 + }, + { + "id": 273, + "displayName": "Potted Red Tulip", + "name": "potted_red_tulip", + "hardness": 0, + "minStateId": 5279, + "maxStateId": 5279, + "states": [], + "drops": [ + 696, + 103 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5279 + }, + { + "id": 274, + "displayName": "Potted Orange Tulip", + "name": "potted_orange_tulip", + "hardness": 0, + "minStateId": 5280, + "maxStateId": 5280, + "states": [], + "drops": [ + 696, + 104 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5280 + }, + { + "id": 275, + "displayName": "Potted White Tulip", + "name": "potted_white_tulip", + "hardness": 0, + "minStateId": 5281, + "maxStateId": 5281, + "states": [], + "drops": [ + 696, + 105 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5281 + }, + { + "id": 276, + "displayName": "Potted Pink Tulip", + "name": "potted_pink_tulip", + "hardness": 0, + "minStateId": 5282, + "maxStateId": 5282, + "states": [], + "drops": [ + 696, + 106 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5282 + }, + { + "id": 277, + "displayName": "Potted Oxeye Daisy", + "name": "potted_oxeye_daisy", + "hardness": 0, + "minStateId": 5283, + "maxStateId": 5283, + "states": [], + "drops": [ + 696, + 107 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5283 + }, + { + "id": 278, + "displayName": "Potted Red Mushroom", + "name": "potted_red_mushroom", + "hardness": 0, + "minStateId": 5284, + "maxStateId": 5284, + "states": [], + "drops": [ + 696, + 109 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5284 + }, + { + "id": 279, + "displayName": "Potted Brown Mushroom", + "name": "potted_brown_mushroom", + "hardness": 0, + "minStateId": 5285, + "maxStateId": 5285, + "states": [], + "drops": [ + 696, + 108 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5285 + }, + { + "id": 280, + "displayName": "Potted Dead Bush", + "name": "potted_dead_bush", + "hardness": 0, + "minStateId": 5286, + "maxStateId": 5286, + "states": [], + "drops": [ + 696, + 78 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5286 + }, + { + "id": 281, + "displayName": "Potted Cactus", + "name": "potted_cactus", + "hardness": 0, + "minStateId": 5287, + "maxStateId": 5287, + "states": [], + "drops": [ + 696, + 172 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5287 + }, + { + "id": 282, + "displayName": "Carrots", + "name": "carrots", + "hardness": 0, + "minStateId": 5288, + "maxStateId": 5295, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 697 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 5288 + }, + { + "id": 283, + "displayName": "Potatoes", + "name": "potatoes", + "hardness": 0, + "minStateId": 5296, + "maxStateId": 5303, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 698 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 5296 + }, + { + "id": 284, + "displayName": "Oak Button", + "name": "oak_button", + "hardness": 0.5, + "minStateId": 5304, + "maxStateId": 5327, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 241 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5313 + }, + { + "id": 285, + "displayName": "Spruce Button", + "name": "spruce_button", + "hardness": 0.5, + "minStateId": 5328, + "maxStateId": 5351, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 242 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5337 + }, + { + "id": 286, + "displayName": "Birch Button", + "name": "birch_button", + "hardness": 0.5, + "minStateId": 5352, + "maxStateId": 5375, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 243 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5361 + }, + { + "id": 287, + "displayName": "Jungle Button", + "name": "jungle_button", + "hardness": 0.5, + "minStateId": 5376, + "maxStateId": 5399, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 244 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5385 + }, + { + "id": 288, + "displayName": "Acacia Button", + "name": "acacia_button", + "hardness": 0.5, + "minStateId": 5400, + "maxStateId": 5423, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 245 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5409 + }, + { + "id": 289, + "displayName": "Dark Oak Button", + "name": "dark_oak_button", + "hardness": 0.5, + "minStateId": 5424, + "maxStateId": 5447, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 246 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5433 + }, + { + "id": 290, + "displayName": "Skeleton Wall Skull", + "name": "skeleton_wall_skull", + "hardness": 1, + "minStateId": 5448, + "maxStateId": 5451, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 703 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5448 + }, + { + "id": 291, + "displayName": "Skeleton Skull", + "name": "skeleton_skull", + "hardness": 1, + "minStateId": 5452, + "maxStateId": 5467, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 703 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5452 + }, + { + "id": 292, + "displayName": "Wither Skeleton Wall Skull", + "name": "wither_skeleton_wall_skull", + "hardness": 1, + "minStateId": 5468, + "maxStateId": 5471, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 704 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5468 + }, + { + "id": 293, + "displayName": "Wither Skeleton Skull", + "name": "wither_skeleton_skull", + "hardness": 1, + "minStateId": 5472, + "maxStateId": 5487, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 704 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5472 + }, + { + "id": 294, + "displayName": "Zombie Wall Head", + "name": "zombie_wall_head", + "hardness": 1, + "minStateId": 5488, + "maxStateId": 5491, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 706 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5488 + }, + { + "id": 295, + "displayName": "Zombie Head", + "name": "zombie_head", + "hardness": 1, + "minStateId": 5492, + "maxStateId": 5507, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 706 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5492 + }, + { + "id": 296, + "displayName": "Player Wall Head", + "name": "player_wall_head", + "hardness": 1, + "minStateId": 5508, + "maxStateId": 5511, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 705 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5508 + }, + { + "id": 297, + "displayName": "Player Head", + "name": "player_head", + "hardness": 1, + "minStateId": 5512, + "maxStateId": 5527, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 705 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5512 + }, + { + "id": 298, + "displayName": "Creeper Wall Head", + "name": "creeper_wall_head", + "hardness": 1, + "minStateId": 5528, + "maxStateId": 5531, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 707 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5528 + }, + { + "id": 299, + "displayName": "Creeper Head", + "name": "creeper_head", + "hardness": 1, + "minStateId": 5532, + "maxStateId": 5547, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 707 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5532 + }, + { + "id": 300, + "displayName": "Dragon Wall Head", + "name": "dragon_wall_head", + "hardness": 1, + "minStateId": 5548, + "maxStateId": 5551, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 708 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5548 + }, + { + "id": 301, + "displayName": "Dragon Head", + "name": "dragon_head", + "hardness": 1, + "minStateId": 5552, + "maxStateId": 5567, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 708 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5552 + }, + { + "id": 302, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "minStateId": 5568, + "maxStateId": 5571, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 247 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5568 + }, + { + "id": 303, + "displayName": "Chipped Anvil", + "name": "chipped_anvil", + "hardness": 5, + "minStateId": 5572, + "maxStateId": 5575, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 248 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5572 + }, + { + "id": 304, + "displayName": "Damaged Anvil", + "name": "damaged_anvil", + "hardness": 5, + "minStateId": 5576, + "maxStateId": 5579, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 249 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5576 + }, + { + "id": 305, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "minStateId": 5580, + "maxStateId": 5603, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "single", + "left", + "right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 250 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5581 + }, + { + "id": 306, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "hardness": 0.5, + "minStateId": 5604, + "maxStateId": 5619, + "states": [ + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 251 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5604 + }, + { + "id": 307, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "hardness": 0.5, + "minStateId": 5620, + "maxStateId": 5635, + "states": [ + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 252 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5620 + }, + { + "id": 308, + "displayName": "Redstone Comparator", + "name": "comparator", + "hardness": 0, + "minStateId": 5636, + "maxStateId": 5651, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "mode", + "type": "enum", + "num_values": 2, + "values": [ + "compare", + "subtract" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 468 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5637 + }, + { + "id": 309, + "displayName": "Daylight Detector", + "name": "daylight_detector", + "hardness": 0.2, + "minStateId": 5652, + "maxStateId": 5683, + "states": [ + { + "name": "inverted", + "type": "bool", + "num_values": 2 + }, + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 253 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5668 + }, + { + "id": 310, + "displayName": "Block of Redstone", + "name": "redstone_block", + "hardness": 5, + "minStateId": 5684, + "maxStateId": 5684, + "states": [], + "drops": [ + 254 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5684 + }, + { + "id": 311, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "hardness": 3, + "minStateId": 5685, + "maxStateId": 5685, + "states": [], + "drops": [ + 255 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5685 + }, + { + "id": 312, + "displayName": "Hopper", + "name": "hopper", + "hardness": 3, + "minStateId": 5686, + "maxStateId": 5695, + "states": [ + { + "name": "enabled", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 5, + "values": [ + "down", + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 256 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5686 + }, + { + "id": 313, + "displayName": "Block of Quartz", + "name": "quartz_block", + "hardness": 0.8, + "minStateId": 5696, + "maxStateId": 5696, + "states": [], + "drops": [ + 258 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5696 + }, + { + "id": 314, + "displayName": "Chiseled Quartz Block", + "name": "chiseled_quartz_block", + "hardness": 0.8, + "minStateId": 5697, + "maxStateId": 5697, + "states": [], + "drops": [ + 257 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5697 + }, + { + "id": 315, + "displayName": "Quartz Pillar", + "name": "quartz_pillar", + "hardness": 0.8, + "minStateId": 5698, + "maxStateId": 5700, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 259 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5699 + }, + { + "id": 316, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0.8, + "minStateId": 5701, + "maxStateId": 5780, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 260 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5712 + }, + { + "id": 317, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "minStateId": 5781, + "maxStateId": 5792, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 261 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 5787 + }, + { + "id": 318, + "displayName": "Dropper", + "name": "dropper", + "hardness": 3.5, + "minStateId": 5793, + "maxStateId": 5804, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "triggered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 262 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5794 + }, + { + "id": 319, + "displayName": "White Terracotta", + "name": "white_terracotta", + "hardness": 1.25, + "minStateId": 5805, + "maxStateId": 5805, + "states": [], + "drops": [ + 263 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5805 + }, + { + "id": 320, + "displayName": "Orange Terracotta", + "name": "orange_terracotta", + "hardness": 1.25, + "minStateId": 5806, + "maxStateId": 5806, + "states": [], + "drops": [ + 264 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5806 + }, + { + "id": 321, + "displayName": "Magenta Terracotta", + "name": "magenta_terracotta", + "hardness": 1.25, + "minStateId": 5807, + "maxStateId": 5807, + "states": [], + "drops": [ + 265 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5807 + }, + { + "id": 322, + "displayName": "Light Blue Terracotta", + "name": "light_blue_terracotta", + "hardness": 1.25, + "minStateId": 5808, + "maxStateId": 5808, + "states": [], + "drops": [ + 266 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5808 + }, + { + "id": 323, + "displayName": "Yellow Terracotta", + "name": "yellow_terracotta", + "hardness": 1.25, + "minStateId": 5809, + "maxStateId": 5809, + "states": [], + "drops": [ + 267 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5809 + }, + { + "id": 324, + "displayName": "Lime Terracotta", + "name": "lime_terracotta", + "hardness": 1.25, + "minStateId": 5810, + "maxStateId": 5810, + "states": [], + "drops": [ + 268 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5810 + }, + { + "id": 325, + "displayName": "Pink Terracotta", + "name": "pink_terracotta", + "hardness": 1.25, + "minStateId": 5811, + "maxStateId": 5811, + "states": [], + "drops": [ + 269 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5811 + }, + { + "id": 326, + "displayName": "Gray Terracotta", + "name": "gray_terracotta", + "hardness": 1.25, + "minStateId": 5812, + "maxStateId": 5812, + "states": [], + "drops": [ + 270 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5812 + }, + { + "id": 327, + "displayName": "Light Gray Terracotta", + "name": "light_gray_terracotta", + "hardness": 1.25, + "minStateId": 5813, + "maxStateId": 5813, + "states": [], + "drops": [ + 271 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5813 + }, + { + "id": 328, + "displayName": "Cyan Terracotta", + "name": "cyan_terracotta", + "hardness": 1.25, + "minStateId": 5814, + "maxStateId": 5814, + "states": [], + "drops": [ + 272 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5814 + }, + { + "id": 329, + "displayName": "Purple Terracotta", + "name": "purple_terracotta", + "hardness": 1.25, + "minStateId": 5815, + "maxStateId": 5815, + "states": [], + "drops": [ + 273 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5815 + }, + { + "id": 330, + "displayName": "Blue Terracotta", + "name": "blue_terracotta", + "hardness": 1.25, + "minStateId": 5816, + "maxStateId": 5816, + "states": [], + "drops": [ + 274 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5816 + }, + { + "id": 331, + "displayName": "Brown Terracotta", + "name": "brown_terracotta", + "hardness": 1.25, + "minStateId": 5817, + "maxStateId": 5817, + "states": [], + "drops": [ + 275 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5817 + }, + { + "id": 332, + "displayName": "Green Terracotta", + "name": "green_terracotta", + "hardness": 1.25, + "minStateId": 5818, + "maxStateId": 5818, + "states": [], + "drops": [ + 276 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5818 + }, + { + "id": 333, + "displayName": "Red Terracotta", + "name": "red_terracotta", + "hardness": 1.25, + "minStateId": 5819, + "maxStateId": 5819, + "states": [], + "drops": [ + 277 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5819 + }, + { + "id": 334, + "displayName": "Black Terracotta", + "name": "black_terracotta", + "hardness": 1.25, + "minStateId": 5820, + "maxStateId": 5820, + "states": [], + "drops": [ + 278 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 5820 + }, + { + "id": 335, + "displayName": "White Stained Glass Pane", + "name": "white_stained_glass_pane", + "hardness": 0.3, + "minStateId": 5821, + "maxStateId": 5852, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 327 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5852 + }, + { + "id": 336, + "displayName": "Orange Stained Glass Pane", + "name": "orange_stained_glass_pane", + "hardness": 0.3, + "minStateId": 5853, + "maxStateId": 5884, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 328 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5884 + }, + { + "id": 337, + "displayName": "Magenta Stained Glass Pane", + "name": "magenta_stained_glass_pane", + "hardness": 0.3, + "minStateId": 5885, + "maxStateId": 5916, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 329 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5916 + }, + { + "id": 338, + "displayName": "Light Blue Stained Glass Pane", + "name": "light_blue_stained_glass_pane", + "hardness": 0.3, + "minStateId": 5917, + "maxStateId": 5948, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 330 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5948 + }, + { + "id": 339, + "displayName": "Yellow Stained Glass Pane", + "name": "yellow_stained_glass_pane", + "hardness": 0.3, + "minStateId": 5949, + "maxStateId": 5980, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 331 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5980 + }, + { + "id": 340, + "displayName": "Lime Stained Glass Pane", + "name": "lime_stained_glass_pane", + "hardness": 0.3, + "minStateId": 5981, + "maxStateId": 6012, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 332 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6012 + }, + { + "id": 341, + "displayName": "Pink Stained Glass Pane", + "name": "pink_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6013, + "maxStateId": 6044, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 333 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6044 + }, + { + "id": 342, + "displayName": "Gray Stained Glass Pane", + "name": "gray_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6045, + "maxStateId": 6076, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 334 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6076 + }, + { + "id": 343, + "displayName": "Light Gray Stained Glass Pane", + "name": "light_gray_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6077, + "maxStateId": 6108, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 335 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6108 + }, + { + "id": 344, + "displayName": "Cyan Stained Glass Pane", + "name": "cyan_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6109, + "maxStateId": 6140, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 336 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6140 + }, + { + "id": 345, + "displayName": "Purple Stained Glass Pane", + "name": "purple_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6141, + "maxStateId": 6172, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 337 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6172 + }, + { + "id": 346, + "displayName": "Blue Stained Glass Pane", + "name": "blue_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6173, + "maxStateId": 6204, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 338 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6204 + }, + { + "id": 347, + "displayName": "Brown Stained Glass Pane", + "name": "brown_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6205, + "maxStateId": 6236, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 339 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6236 + }, + { + "id": 348, + "displayName": "Green Stained Glass Pane", + "name": "green_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6237, + "maxStateId": 6268, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 340 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6268 + }, + { + "id": 349, + "displayName": "Red Stained Glass Pane", + "name": "red_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6269, + "maxStateId": 6300, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 341 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6300 + }, + { + "id": 350, + "displayName": "Black Stained Glass Pane", + "name": "black_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6301, + "maxStateId": 6332, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 342 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6332 + }, + { + "id": 351, + "displayName": "Acacia Stairs", + "name": "acacia_stairs", + "hardness": 2, + "minStateId": 6333, + "maxStateId": 6412, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 301 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6344 + }, + { + "id": 352, + "displayName": "Dark Oak Stairs", + "name": "dark_oak_stairs", + "hardness": 2, + "minStateId": 6413, + "maxStateId": 6492, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 302 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6424 + }, + { + "id": 353, + "displayName": "Slime Block", + "name": "slime_block", + "hardness": 0, + "minStateId": 6493, + "maxStateId": 6493, + "states": [], + "drops": [ + 303 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6493 + }, + { + "id": 354, + "displayName": "Barrier", + "name": "barrier", + "hardness": null, + "minStateId": 6494, + "maxStateId": 6494, + "states": [], + "drops": [ + 279 + ], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6494 + }, + { + "id": 355, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "minStateId": 6495, + "maxStateId": 6558, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 280 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 6510 + }, + { + "id": 356, + "displayName": "Prismarine", + "name": "prismarine", + "hardness": 1.5, + "minStateId": 6559, + "maxStateId": 6559, + "states": [], + "drops": [ + 343 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 6559 + }, + { + "id": 357, + "displayName": "Prismarine Bricks", + "name": "prismarine_bricks", + "hardness": 1.5, + "minStateId": 6560, + "maxStateId": 6560, + "states": [], + "drops": [ + 344 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 6560 + }, + { + "id": 358, + "displayName": "Dark Prismarine", + "name": "dark_prismarine", + "hardness": 1.5, + "minStateId": 6561, + "maxStateId": 6561, + "states": [], + "drops": [ + 345 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 6561 + }, + { + "id": 359, + "displayName": "Prismarine Stairs", + "name": "prismarine_stairs", + "hardness": 1.5, + "minStateId": 6562, + "maxStateId": 6641, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 346 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 6573 + }, + { + "id": 360, + "displayName": "Prismarine Brick Stairs", + "name": "prismarine_brick_stairs", + "hardness": 1.5, + "minStateId": 6642, + "maxStateId": 6721, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 347 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 6653 + }, + { + "id": 361, + "displayName": "Dark Prismarine Stairs", + "name": "dark_prismarine_stairs", + "hardness": 1.5, + "minStateId": 6722, + "maxStateId": 6801, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 348 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 6733 + }, + { + "id": 362, + "displayName": "Prismarine Slab", + "name": "prismarine_slab", + "hardness": 1.5, + "minStateId": 6802, + "maxStateId": 6807, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 128 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 6805 + }, + { + "id": 363, + "displayName": "Prismarine Brick Slab", + "name": "prismarine_brick_slab", + "hardness": 1.5, + "minStateId": 6808, + "maxStateId": 6813, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 129 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 6811 + }, + { + "id": 364, + "displayName": "Dark Prismarine Slab", + "name": "dark_prismarine_slab", + "hardness": 1.5, + "minStateId": 6814, + "maxStateId": 6819, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 130 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 6817 + }, + { + "id": 365, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "hardness": 0.3, + "minStateId": 6820, + "maxStateId": 6820, + "states": [], + "drops": [ + 349 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6820 + }, + { + "id": 366, + "displayName": "Hay Bale", + "name": "hay_block", + "hardness": 0.5, + "minStateId": 6821, + "maxStateId": 6823, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 281 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6822 + }, + { + "id": 367, + "displayName": "White Carpet", + "name": "white_carpet", + "hardness": 0.1, + "minStateId": 6824, + "maxStateId": 6824, + "states": [], + "drops": [ + 282 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6824 + }, + { + "id": 368, + "displayName": "Orange Carpet", + "name": "orange_carpet", + "hardness": 0.1, + "minStateId": 6825, + "maxStateId": 6825, + "states": [], + "drops": [ + 283 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6825 + }, + { + "id": 369, + "displayName": "Magenta Carpet", + "name": "magenta_carpet", + "hardness": 0.1, + "minStateId": 6826, + "maxStateId": 6826, + "states": [], + "drops": [ + 284 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6826 + }, + { + "id": 370, + "displayName": "Light Blue Carpet", + "name": "light_blue_carpet", + "hardness": 0.1, + "minStateId": 6827, + "maxStateId": 6827, + "states": [], + "drops": [ + 285 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6827 + }, + { + "id": 371, + "displayName": "Yellow Carpet", + "name": "yellow_carpet", + "hardness": 0.1, + "minStateId": 6828, + "maxStateId": 6828, + "states": [], + "drops": [ + 286 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6828 + }, + { + "id": 372, + "displayName": "Lime Carpet", + "name": "lime_carpet", + "hardness": 0.1, + "minStateId": 6829, + "maxStateId": 6829, + "states": [], + "drops": [ + 287 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6829 + }, + { + "id": 373, + "displayName": "Pink Carpet", + "name": "pink_carpet", + "hardness": 0.1, + "minStateId": 6830, + "maxStateId": 6830, + "states": [], + "drops": [ + 288 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6830 + }, + { + "id": 374, + "displayName": "Gray Carpet", + "name": "gray_carpet", + "hardness": 0.1, + "minStateId": 6831, + "maxStateId": 6831, + "states": [], + "drops": [ + 289 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6831 + }, + { + "id": 375, + "displayName": "Light Gray Carpet", + "name": "light_gray_carpet", + "hardness": 0.1, + "minStateId": 6832, + "maxStateId": 6832, + "states": [], + "drops": [ + 290 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6832 + }, + { + "id": 376, + "displayName": "Cyan Carpet", + "name": "cyan_carpet", + "hardness": 0.1, + "minStateId": 6833, + "maxStateId": 6833, + "states": [], + "drops": [ + 291 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6833 + }, + { + "id": 377, + "displayName": "Purple Carpet", + "name": "purple_carpet", + "hardness": 0.1, + "minStateId": 6834, + "maxStateId": 6834, + "states": [], + "drops": [ + 292 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6834 + }, + { + "id": 378, + "displayName": "Blue Carpet", + "name": "blue_carpet", + "hardness": 0.1, + "minStateId": 6835, + "maxStateId": 6835, + "states": [], + "drops": [ + 293 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6835 + }, + { + "id": 379, + "displayName": "Brown Carpet", + "name": "brown_carpet", + "hardness": 0.1, + "minStateId": 6836, + "maxStateId": 6836, + "states": [], + "drops": [ + 294 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6836 + }, + { + "id": 380, + "displayName": "Green Carpet", + "name": "green_carpet", + "hardness": 0.1, + "minStateId": 6837, + "maxStateId": 6837, + "states": [], + "drops": [ + 295 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6837 + }, + { + "id": 381, + "displayName": "Red Carpet", + "name": "red_carpet", + "hardness": 0.1, + "minStateId": 6838, + "maxStateId": 6838, + "states": [], + "drops": [ + 296 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6838 + }, + { + "id": 382, + "displayName": "Black Carpet", + "name": "black_carpet", + "hardness": 0.1, + "minStateId": 6839, + "maxStateId": 6839, + "states": [], + "drops": [ + 297 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6839 + }, + { + "id": 383, + "displayName": "Terracotta", + "name": "terracotta", + "hardness": 1.25, + "minStateId": 6840, + "maxStateId": 6840, + "states": [], + "drops": [ + 298 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 6840 + }, + { + "id": 384, + "displayName": "Block of Coal", + "name": "coal_block", + "hardness": 5, + "minStateId": 6841, + "maxStateId": 6841, + "states": [], + "drops": [ + 299 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 6841 + }, + { + "id": 385, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "minStateId": 6842, + "maxStateId": 6842, + "states": [], + "drops": [ + 300 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 6842 + }, + { + "id": 386, + "displayName": "Sunflower", + "name": "sunflower", + "hardness": 0, + "minStateId": 6843, + "maxStateId": 6844, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 305 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 6844 + }, + { + "id": 387, + "displayName": "Lilac", + "name": "lilac", + "hardness": 0, + "minStateId": 6845, + "maxStateId": 6846, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 306 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 6846 + }, + { + "id": 388, + "displayName": "Rose Bush", + "name": "rose_bush", + "hardness": 0, + "minStateId": 6847, + "maxStateId": 6848, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 307 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 6848 + }, + { + "id": 389, + "displayName": "Peony", + "name": "peony", + "hardness": 0, + "minStateId": 6849, + "maxStateId": 6850, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 308 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 6850 + }, + { + "id": 390, + "displayName": "Tall Grass", + "name": "tall_grass", + "hardness": 0, + "minStateId": 6851, + "maxStateId": 6852, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 309 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 6852 + }, + { + "id": 391, + "displayName": "Large Fern", + "name": "large_fern", + "hardness": 0, + "minStateId": 6853, + "maxStateId": 6854, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 310 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 6854 + }, + { + "id": 392, + "displayName": "White Banner", + "name": "white_banner", + "hardness": 1, + "minStateId": 6855, + "maxStateId": 6870, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 735 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6855 + }, + { + "id": 393, + "displayName": "Orange Banner", + "name": "orange_banner", + "hardness": 1, + "minStateId": 6871, + "maxStateId": 6886, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 736 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6871 + }, + { + "id": 394, + "displayName": "Magenta Banner", + "name": "magenta_banner", + "hardness": 1, + "minStateId": 6887, + "maxStateId": 6902, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 737 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6887 + }, + { + "id": 395, + "displayName": "Light Blue Banner", + "name": "light_blue_banner", + "hardness": 1, + "minStateId": 6903, + "maxStateId": 6918, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 738 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6903 + }, + { + "id": 396, + "displayName": "Yellow Banner", + "name": "yellow_banner", + "hardness": 1, + "minStateId": 6919, + "maxStateId": 6934, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 739 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6919 + }, + { + "id": 397, + "displayName": "Lime Banner", + "name": "lime_banner", + "hardness": 1, + "minStateId": 6935, + "maxStateId": 6950, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 740 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6935 + }, + { + "id": 398, + "displayName": "Pink Banner", + "name": "pink_banner", + "hardness": 1, + "minStateId": 6951, + "maxStateId": 6966, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 741 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6951 + }, + { + "id": 399, + "displayName": "Gray Banner", + "name": "gray_banner", + "hardness": 1, + "minStateId": 6967, + "maxStateId": 6982, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 742 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6967 + }, + { + "id": 400, + "displayName": "Light Gray Banner", + "name": "light_gray_banner", + "hardness": 1, + "minStateId": 6983, + "maxStateId": 6998, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 743 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6983 + }, + { + "id": 401, + "displayName": "Cyan Banner", + "name": "cyan_banner", + "hardness": 1, + "minStateId": 6999, + "maxStateId": 7014, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 744 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6999 + }, + { + "id": 402, + "displayName": "Purple Banner", + "name": "purple_banner", + "hardness": 1, + "minStateId": 7015, + "maxStateId": 7030, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 745 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7015 + }, + { + "id": 403, + "displayName": "Blue Banner", + "name": "blue_banner", + "hardness": 1, + "minStateId": 7031, + "maxStateId": 7046, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 746 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7031 + }, + { + "id": 404, + "displayName": "Brown Banner", + "name": "brown_banner", + "hardness": 1, + "minStateId": 7047, + "maxStateId": 7062, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 747 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7047 + }, + { + "id": 405, + "displayName": "Green Banner", + "name": "green_banner", + "hardness": 1, + "minStateId": 7063, + "maxStateId": 7078, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 748 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7063 + }, + { + "id": 406, + "displayName": "Red Banner", + "name": "red_banner", + "hardness": 1, + "minStateId": 7079, + "maxStateId": 7094, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 749 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7079 + }, + { + "id": 407, + "displayName": "Black Banner", + "name": "black_banner", + "hardness": 1, + "minStateId": 7095, + "maxStateId": 7110, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 750 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7095 + }, + { + "id": 408, + "displayName": "White wall banner", + "name": "white_wall_banner", + "hardness": 1, + "minStateId": 7111, + "maxStateId": 7114, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 735 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7111 + }, + { + "id": 409, + "displayName": "Orange wall banner", + "name": "orange_wall_banner", + "hardness": 1, + "minStateId": 7115, + "maxStateId": 7118, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 736 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7115 + }, + { + "id": 410, + "displayName": "Magenta wall banner", + "name": "magenta_wall_banner", + "hardness": 1, + "minStateId": 7119, + "maxStateId": 7122, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 737 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7119 + }, + { + "id": 411, + "displayName": "Light blue wall banner", + "name": "light_blue_wall_banner", + "hardness": 1, + "minStateId": 7123, + "maxStateId": 7126, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 738 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7123 + }, + { + "id": 412, + "displayName": "Yellow wall banner", + "name": "yellow_wall_banner", + "hardness": 1, + "minStateId": 7127, + "maxStateId": 7130, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 739 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7127 + }, + { + "id": 413, + "displayName": "Lime wall banner", + "name": "lime_wall_banner", + "hardness": 1, + "minStateId": 7131, + "maxStateId": 7134, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 740 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7131 + }, + { + "id": 414, + "displayName": "Pink wall banner", + "name": "pink_wall_banner", + "hardness": 1, + "minStateId": 7135, + "maxStateId": 7138, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 741 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7135 + }, + { + "id": 415, + "displayName": "Gray wall banner", + "name": "gray_wall_banner", + "hardness": 1, + "minStateId": 7139, + "maxStateId": 7142, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 742 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7139 + }, + { + "id": 416, + "displayName": "Light gray wall banner", + "name": "light_gray_wall_banner", + "hardness": 1, + "minStateId": 7143, + "maxStateId": 7146, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 743 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7143 + }, + { + "id": 417, + "displayName": "Cyan wall banner", + "name": "cyan_wall_banner", + "hardness": 1, + "minStateId": 7147, + "maxStateId": 7150, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 744 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7147 + }, + { + "id": 418, + "displayName": "Purple wall banner", + "name": "purple_wall_banner", + "hardness": 1, + "minStateId": 7151, + "maxStateId": 7154, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 745 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7151 + }, + { + "id": 419, + "displayName": "Blue wall banner", + "name": "blue_wall_banner", + "hardness": 1, + "minStateId": 7155, + "maxStateId": 7158, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 746 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7155 + }, + { + "id": 420, + "displayName": "Brown wall banner", + "name": "brown_wall_banner", + "hardness": 1, + "minStateId": 7159, + "maxStateId": 7162, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 747 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7159 + }, + { + "id": 421, + "displayName": "Green wall banner", + "name": "green_wall_banner", + "hardness": 1, + "minStateId": 7163, + "maxStateId": 7166, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 748 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7163 + }, + { + "id": 422, + "displayName": "Red wall banner", + "name": "red_wall_banner", + "hardness": 1, + "minStateId": 7167, + "maxStateId": 7170, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 749 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7167 + }, + { + "id": 423, + "displayName": "Black wall banner", + "name": "black_wall_banner", + "hardness": 1, + "minStateId": 7171, + "maxStateId": 7174, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 750 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7171 + }, + { + "id": 424, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "hardness": 0.8, + "minStateId": 7175, + "maxStateId": 7175, + "states": [], + "drops": [ + 350 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7175 + }, + { + "id": 425, + "displayName": "Chiseled Red Sandstone", + "name": "chiseled_red_sandstone", + "hardness": 0.8, + "minStateId": 7176, + "maxStateId": 7176, + "states": [], + "drops": [ + 351 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7176 + }, + { + "id": 426, + "displayName": "Cut Red Sandstone", + "name": "cut_red_sandstone", + "hardness": 0.8, + "minStateId": 7177, + "maxStateId": 7177, + "states": [], + "drops": [ + 352 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7177 + }, + { + "id": 427, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "hardness": 0.8, + "minStateId": 7178, + "maxStateId": 7257, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 353 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7189 + }, + { + "id": 428, + "displayName": "Oak Slab", + "name": "oak_slab", + "hardness": 2, + "minStateId": 7258, + "maxStateId": 7263, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 112 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7261 + }, + { + "id": 429, + "displayName": "Spruce Slab", + "name": "spruce_slab", + "hardness": 2, + "minStateId": 7264, + "maxStateId": 7269, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 113 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7267 + }, + { + "id": 430, + "displayName": "Birch Slab", + "name": "birch_slab", + "hardness": 2, + "minStateId": 7270, + "maxStateId": 7275, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 114 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7273 + }, + { + "id": 431, + "displayName": "Jungle Slab", + "name": "jungle_slab", + "hardness": 2, + "minStateId": 7276, + "maxStateId": 7281, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 115 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7279 + }, + { + "id": 432, + "displayName": "Acacia Slab", + "name": "acacia_slab", + "hardness": 2, + "minStateId": 7282, + "maxStateId": 7287, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 116 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7285 + }, + { + "id": 433, + "displayName": "Dark Oak Slab", + "name": "dark_oak_slab", + "hardness": 2, + "minStateId": 7288, + "maxStateId": 7293, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 117 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7291 + }, + { + "id": 434, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "minStateId": 7294, + "maxStateId": 7299, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 118 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7297 + }, + { + "id": 435, + "displayName": "Sandstone Slab", + "name": "sandstone_slab", + "hardness": 2, + "minStateId": 7300, + "maxStateId": 7305, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 119 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7303 + }, + { + "id": 436, + "displayName": "Petrified Oak Slab", + "name": "petrified_oak_slab", + "hardness": 2, + "minStateId": 7306, + "maxStateId": 7311, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 120 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7309 + }, + { + "id": 437, + "displayName": "Cobblestone Slab", + "name": "cobblestone_slab", + "hardness": 2, + "minStateId": 7312, + "maxStateId": 7317, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 121 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7315 + }, + { + "id": 438, + "displayName": "Brick Slab", + "name": "brick_slab", + "hardness": 2, + "minStateId": 7318, + "maxStateId": 7323, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 122 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7321 + }, + { + "id": 439, + "displayName": "Stone Brick Slab", + "name": "stone_brick_slab", + "hardness": 2, + "minStateId": 7324, + "maxStateId": 7329, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 123 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7327 + }, + { + "id": 440, + "displayName": "Nether Brick Slab", + "name": "nether_brick_slab", + "hardness": 2, + "minStateId": 7330, + "maxStateId": 7335, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 124 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7333 + }, + { + "id": 441, + "displayName": "Quartz Slab", + "name": "quartz_slab", + "hardness": 2, + "minStateId": 7336, + "maxStateId": 7341, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 125 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7339 + }, + { + "id": 442, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "hardness": 2, + "minStateId": 7342, + "maxStateId": 7347, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 126 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7345 + }, + { + "id": 443, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "hardness": 2, + "minStateId": 7348, + "maxStateId": 7353, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 127 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7351 + }, + { + "id": 444, + "displayName": "Smooth Stone", + "name": "smooth_stone", + "hardness": 2, + "minStateId": 7354, + "maxStateId": 7354, + "states": [], + "drops": [ + 134 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7354 + }, + { + "id": 445, + "displayName": "Smooth Sandstone", + "name": "smooth_sandstone", + "hardness": 2, + "minStateId": 7355, + "maxStateId": 7355, + "states": [], + "drops": [ + 133 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7355 + }, + { + "id": 446, + "displayName": "Smooth Quartz", + "name": "smooth_quartz", + "hardness": 2, + "minStateId": 7356, + "maxStateId": 7356, + "states": [], + "drops": [ + 131 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7356 + }, + { + "id": 447, + "displayName": "Smooth Red Sandstone", + "name": "smooth_red_sandstone", + "hardness": 2, + "minStateId": 7357, + "maxStateId": 7357, + "states": [], + "drops": [ + 132 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 7357 + }, + { + "id": 448, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "hardness": 2, + "minStateId": 7358, + "maxStateId": 7389, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 211 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7365 + }, + { + "id": 449, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "hardness": 2, + "minStateId": 7390, + "maxStateId": 7421, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 212 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7397 + }, + { + "id": 450, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "hardness": 2, + "minStateId": 7422, + "maxStateId": 7453, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 213 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7429 + }, + { + "id": 451, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "hardness": 2, + "minStateId": 7454, + "maxStateId": 7485, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 214 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7461 + }, + { + "id": 452, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "hardness": 2, + "minStateId": 7486, + "maxStateId": 7517, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 215 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7493 + }, + { + "id": 453, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "hardness": 2, + "minStateId": 7518, + "maxStateId": 7549, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 176 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7549 + }, + { + "id": 454, + "displayName": "Birch Fence", + "name": "birch_fence", + "hardness": 2, + "minStateId": 7550, + "maxStateId": 7581, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 177 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7581 + }, + { + "id": 455, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "hardness": 2, + "minStateId": 7582, + "maxStateId": 7613, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 178 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7613 + }, + { + "id": 456, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "hardness": 2, + "minStateId": 7614, + "maxStateId": 7645, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 179 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7645 + }, + { + "id": 457, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "hardness": 2, + "minStateId": 7646, + "maxStateId": 7677, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 180 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7677 + }, + { + "id": 458, + "displayName": "Spruce Door", + "name": "spruce_door", + "hardness": 3, + "minStateId": 7678, + "maxStateId": 7741, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 462 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7689 + }, + { + "id": 459, + "displayName": "Birch Door", + "name": "birch_door", + "hardness": 3, + "minStateId": 7742, + "maxStateId": 7805, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 463 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7753 + }, + { + "id": 460, + "displayName": "Jungle Door", + "name": "jungle_door", + "hardness": 3, + "minStateId": 7806, + "maxStateId": 7869, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 464 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7817 + }, + { + "id": 461, + "displayName": "Acacia Door", + "name": "acacia_door", + "hardness": 3, + "minStateId": 7870, + "maxStateId": 7933, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 465 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7881 + }, + { + "id": 462, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "hardness": 3, + "minStateId": 7934, + "maxStateId": 7997, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 466 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7945 + }, + { + "id": 463, + "displayName": "End Rod", + "name": "end_rod", + "hardness": 0, + "minStateId": 7998, + "maxStateId": 8003, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 141 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 14, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8002 + }, + { + "id": 464, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "hardness": 0.4, + "minStateId": 8004, + "maxStateId": 8067, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 142 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8067 + }, + { + "id": 465, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "hardness": 0.4, + "minStateId": 8068, + "maxStateId": 8073, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 6 + } + ], + "drops": [ + 143 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8068 + }, + { + "id": 466, + "displayName": "Purpur Block", + "name": "purpur_block", + "hardness": 1.5, + "minStateId": 8074, + "maxStateId": 8074, + "states": [], + "drops": [ + 144 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8074 + }, + { + "id": 467, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "hardness": 1.5, + "minStateId": 8075, + "maxStateId": 8077, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 145 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8076 + }, + { + "id": 468, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "hardness": 1.5, + "minStateId": 8078, + "maxStateId": 8157, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 146 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8089 + }, + { + "id": 469, + "displayName": "End Stone Bricks", + "name": "end_stone_bricks", + "hardness": 0.8, + "minStateId": 8158, + "maxStateId": 8158, + "states": [], + "drops": [ + 226 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8158 + }, + { + "id": 470, + "displayName": "Beetroots", + "name": "beetroots", + "hardness": 0, + "minStateId": 8159, + "maxStateId": 8162, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 754 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8159 + }, + { + "id": 471, + "displayName": "Grass Path", + "name": "grass_path", + "hardness": 0.65, + "minStateId": 8163, + "maxStateId": 8163, + "states": [], + "drops": [ + 304 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8163 + }, + { + "id": 472, + "displayName": "End Gateway", + "name": "end_gateway", + "hardness": null, + "minStateId": 8164, + "maxStateId": 8164, + "states": [], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 8164 + }, + { + "id": 473, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "hardness": null, + "minStateId": 8165, + "maxStateId": 8176, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 354 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8171 + }, + { + "id": 474, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "hardness": null, + "minStateId": 8177, + "maxStateId": 8188, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 355 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8183 + }, + { + "id": 475, + "displayName": "Frosted Ice", + "name": "frosted_ice", + "hardness": 0.5, + "minStateId": 8189, + "maxStateId": 8192, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 2, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "defaultState": 8189 + }, + { + "id": 476, + "displayName": "Magma Block", + "name": "magma_block", + "hardness": 0.5, + "minStateId": 8193, + "maxStateId": 8193, + "states": [], + "drops": [ + 356 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8193 + }, + { + "id": 477, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "hardness": 1, + "minStateId": 8194, + "maxStateId": 8194, + "states": [], + "drops": [ + 357 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8194 + }, + { + "id": 478, + "displayName": "Red Nether Bricks", + "name": "red_nether_bricks", + "hardness": 2, + "minStateId": 8195, + "maxStateId": 8195, + "states": [], + "drops": [ + 358 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8195 + }, + { + "id": 479, + "displayName": "Bone Block", + "name": "bone_block", + "hardness": 2, + "minStateId": 8196, + "maxStateId": 8198, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 359 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8197 + }, + { + "id": 480, + "displayName": "Structure Void", + "name": "structure_void", + "hardness": 0, + "minStateId": 8199, + "maxStateId": 8199, + "states": [], + "drops": [ + 360 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8199 + }, + { + "id": 481, + "displayName": "Observer", + "name": "observer", + "hardness": 3, + "minStateId": 8200, + "maxStateId": 8211, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 361 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8205 + }, + { + "id": 482, + "displayName": "Shulker Box", + "name": "shulker_box", + "hardness": 2, + "minStateId": 8212, + "maxStateId": 8217, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 362 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8216 + }, + { + "id": 483, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "hardness": 2, + "minStateId": 8218, + "maxStateId": 8223, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 363 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8222 + }, + { + "id": 484, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "hardness": 2, + "minStateId": 8224, + "maxStateId": 8229, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 364 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8228 + }, + { + "id": 485, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "hardness": 2, + "minStateId": 8230, + "maxStateId": 8235, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 365 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8234 + }, + { + "id": 486, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "hardness": 2, + "minStateId": 8236, + "maxStateId": 8241, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 366 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8240 + }, + { + "id": 487, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "hardness": 2, + "minStateId": 8242, + "maxStateId": 8247, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 367 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8246 + }, + { + "id": 488, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "hardness": 2, + "minStateId": 8248, + "maxStateId": 8253, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 368 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8252 + }, + { + "id": 489, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "hardness": 2, + "minStateId": 8254, + "maxStateId": 8259, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 369 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8258 + }, + { + "id": 490, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "hardness": 2, + "minStateId": 8260, + "maxStateId": 8265, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 370 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8264 + }, + { + "id": 491, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "hardness": 2, + "minStateId": 8266, + "maxStateId": 8271, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 371 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8270 + }, + { + "id": 492, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "hardness": 2, + "minStateId": 8272, + "maxStateId": 8277, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 372 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8276 + }, + { + "id": 493, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "hardness": 2, + "minStateId": 8278, + "maxStateId": 8283, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 373 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8282 + }, + { + "id": 494, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "hardness": 2, + "minStateId": 8284, + "maxStateId": 8289, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 374 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8288 + }, + { + "id": 495, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "hardness": 2, + "minStateId": 8290, + "maxStateId": 8295, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 375 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8294 + }, + { + "id": 496, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "hardness": 2, + "minStateId": 8296, + "maxStateId": 8301, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 376 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8300 + }, + { + "id": 497, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "hardness": 2, + "minStateId": 8302, + "maxStateId": 8307, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 377 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8306 + }, + { + "id": 498, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "hardness": 2, + "minStateId": 8308, + "maxStateId": 8313, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 378 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8312 + }, + { + "id": 499, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8314, + "maxStateId": 8317, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 379 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8314 + }, + { + "id": 500, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8318, + "maxStateId": 8321, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 380 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8318 + }, + { + "id": 501, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8322, + "maxStateId": 8325, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 381 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8322 + }, + { + "id": 502, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8326, + "maxStateId": 8329, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 382 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8326 + }, + { + "id": 503, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8330, + "maxStateId": 8333, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 383 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8330 + }, + { + "id": 504, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8334, + "maxStateId": 8337, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 384 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8334 + }, + { + "id": 505, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8338, + "maxStateId": 8341, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 385 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8338 + }, + { + "id": 506, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8342, + "maxStateId": 8345, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 386 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8342 + }, + { + "id": 507, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8346, + "maxStateId": 8349, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 387 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8346 + }, + { + "id": 508, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8350, + "maxStateId": 8353, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 388 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8350 + }, + { + "id": 509, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8354, + "maxStateId": 8357, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 389 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8354 + }, + { + "id": 510, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8358, + "maxStateId": 8361, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 390 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8358 + }, + { + "id": 511, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8362, + "maxStateId": 8365, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 391 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8362 + }, + { + "id": 512, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8366, + "maxStateId": 8369, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 392 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8366 + }, + { + "id": 513, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8370, + "maxStateId": 8373, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 393 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8370 + }, + { + "id": 514, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8374, + "maxStateId": 8377, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 394 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8374 + }, + { + "id": 515, + "displayName": "White Concrete", + "name": "white_concrete", + "hardness": 1.8, + "minStateId": 8378, + "maxStateId": 8378, + "states": [], + "drops": [ + 395 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8378 + }, + { + "id": 516, + "displayName": "Orange Concrete", + "name": "orange_concrete", + "hardness": 1.8, + "minStateId": 8379, + "maxStateId": 8379, + "states": [], + "drops": [ + 396 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8379 + }, + { + "id": 517, + "displayName": "Magenta Concrete", + "name": "magenta_concrete", + "hardness": 1.8, + "minStateId": 8380, + "maxStateId": 8380, + "states": [], + "drops": [ + 397 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8380 + }, + { + "id": 518, + "displayName": "Light Blue Concrete", + "name": "light_blue_concrete", + "hardness": 1.8, + "minStateId": 8381, + "maxStateId": 8381, + "states": [], + "drops": [ + 398 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8381 + }, + { + "id": 519, + "displayName": "Yellow Concrete", + "name": "yellow_concrete", + "hardness": 1.8, + "minStateId": 8382, + "maxStateId": 8382, + "states": [], + "drops": [ + 399 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8382 + }, + { + "id": 520, + "displayName": "Lime Concrete", + "name": "lime_concrete", + "hardness": 1.8, + "minStateId": 8383, + "maxStateId": 8383, + "states": [], + "drops": [ + 400 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8383 + }, + { + "id": 521, + "displayName": "Pink Concrete", + "name": "pink_concrete", + "hardness": 1.8, + "minStateId": 8384, + "maxStateId": 8384, + "states": [], + "drops": [ + 401 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8384 + }, + { + "id": 522, + "displayName": "Gray Concrete", + "name": "gray_concrete", + "hardness": 1.8, + "minStateId": 8385, + "maxStateId": 8385, + "states": [], + "drops": [ + 402 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8385 + }, + { + "id": 523, + "displayName": "Light Gray Concrete", + "name": "light_gray_concrete", + "hardness": 1.8, + "minStateId": 8386, + "maxStateId": 8386, + "states": [], + "drops": [ + 403 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8386 + }, + { + "id": 524, + "displayName": "Cyan Concrete", + "name": "cyan_concrete", + "hardness": 1.8, + "minStateId": 8387, + "maxStateId": 8387, + "states": [], + "drops": [ + 404 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8387 + }, + { + "id": 525, + "displayName": "Purple Concrete", + "name": "purple_concrete", + "hardness": 1.8, + "minStateId": 8388, + "maxStateId": 8388, + "states": [], + "drops": [ + 405 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8388 + }, + { + "id": 526, + "displayName": "Blue Concrete", + "name": "blue_concrete", + "hardness": 1.8, + "minStateId": 8389, + "maxStateId": 8389, + "states": [], + "drops": [ + 406 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8389 + }, + { + "id": 527, + "displayName": "Brown Concrete", + "name": "brown_concrete", + "hardness": 1.8, + "minStateId": 8390, + "maxStateId": 8390, + "states": [], + "drops": [ + 407 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8390 + }, + { + "id": 528, + "displayName": "Green Concrete", + "name": "green_concrete", + "hardness": 1.8, + "minStateId": 8391, + "maxStateId": 8391, + "states": [], + "drops": [ + 408 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8391 + }, + { + "id": 529, + "displayName": "Red Concrete", + "name": "red_concrete", + "hardness": 1.8, + "minStateId": 8392, + "maxStateId": 8392, + "states": [], + "drops": [ + 409 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8392 + }, + { + "id": 530, + "displayName": "Black Concrete", + "name": "black_concrete", + "hardness": 1.8, + "minStateId": 8393, + "maxStateId": 8393, + "states": [], + "drops": [ + 410 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8393 + }, + { + "id": 531, + "displayName": "White Concrete Powder", + "name": "white_concrete_powder", + "hardness": 0.5, + "minStateId": 8394, + "maxStateId": 8394, + "states": [], + "drops": [ + 411 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8394 + }, + { + "id": 532, + "displayName": "Orange Concrete Powder", + "name": "orange_concrete_powder", + "hardness": 0.5, + "minStateId": 8395, + "maxStateId": 8395, + "states": [], + "drops": [ + 412 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8395 + }, + { + "id": 533, + "displayName": "Magenta Concrete Powder", + "name": "magenta_concrete_powder", + "hardness": 0.5, + "minStateId": 8396, + "maxStateId": 8396, + "states": [], + "drops": [ + 413 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8396 + }, + { + "id": 534, + "displayName": "Light Blue Concrete Powder", + "name": "light_blue_concrete_powder", + "hardness": 0.5, + "minStateId": 8397, + "maxStateId": 8397, + "states": [], + "drops": [ + 414 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8397 + }, + { + "id": 535, + "displayName": "Yellow Concrete Powder", + "name": "yellow_concrete_powder", + "hardness": 0.5, + "minStateId": 8398, + "maxStateId": 8398, + "states": [], + "drops": [ + 415 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8398 + }, + { + "id": 536, + "displayName": "Lime Concrete Powder", + "name": "lime_concrete_powder", + "hardness": 0.5, + "minStateId": 8399, + "maxStateId": 8399, + "states": [], + "drops": [ + 416 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8399 + }, + { + "id": 537, + "displayName": "Pink Concrete Powder", + "name": "pink_concrete_powder", + "hardness": 0.5, + "minStateId": 8400, + "maxStateId": 8400, + "states": [], + "drops": [ + 417 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8400 + }, + { + "id": 538, + "displayName": "Gray Concrete Powder", + "name": "gray_concrete_powder", + "hardness": 0.5, + "minStateId": 8401, + "maxStateId": 8401, + "states": [], + "drops": [ + 418 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8401 + }, + { + "id": 539, + "displayName": "Light Gray Concrete Powder", + "name": "light_gray_concrete_powder", + "hardness": 0.5, + "minStateId": 8402, + "maxStateId": 8402, + "states": [], + "drops": [ + 419 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8402 + }, + { + "id": 540, + "displayName": "Cyan Concrete Powder", + "name": "cyan_concrete_powder", + "hardness": 0.5, + "minStateId": 8403, + "maxStateId": 8403, + "states": [], + "drops": [ + 420 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8403 + }, + { + "id": 541, + "displayName": "Purple Concrete Powder", + "name": "purple_concrete_powder", + "hardness": 0.5, + "minStateId": 8404, + "maxStateId": 8404, + "states": [], + "drops": [ + 421 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8404 + }, + { + "id": 542, + "displayName": "Blue Concrete Powder", + "name": "blue_concrete_powder", + "hardness": 0.5, + "minStateId": 8405, + "maxStateId": 8405, + "states": [], + "drops": [ + 422 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8405 + }, + { + "id": 543, + "displayName": "Brown Concrete Powder", + "name": "brown_concrete_powder", + "hardness": 0.5, + "minStateId": 8406, + "maxStateId": 8406, + "states": [], + "drops": [ + 423 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8406 + }, + { + "id": 544, + "displayName": "Green Concrete Powder", + "name": "green_concrete_powder", + "hardness": 0.5, + "minStateId": 8407, + "maxStateId": 8407, + "states": [], + "drops": [ + 424 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8407 + }, + { + "id": 545, + "displayName": "Red Concrete Powder", + "name": "red_concrete_powder", + "hardness": 0.5, + "minStateId": 8408, + "maxStateId": 8408, + "states": [], + "drops": [ + 425 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8408 + }, + { + "id": 546, + "displayName": "Black Concrete Powder", + "name": "black_concrete_powder", + "hardness": 0.5, + "minStateId": 8409, + "maxStateId": 8409, + "states": [], + "drops": [ + 426 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8409 + }, + { + "id": 547, + "displayName": "Kelp", + "name": "kelp", + "hardness": 0, + "minStateId": 8410, + "maxStateId": 8435, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 26 + } + ], + "drops": [ + 559 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8410 + }, + { + "id": 548, + "displayName": "Kelp Plant", + "name": "kelp_plant", + "hardness": 0, + "minStateId": 8436, + "maxStateId": 8436, + "states": [], + "drops": [ + 559 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8436 + }, + { + "id": 549, + "displayName": "Dried Kelp Block", + "name": "dried_kelp_block", + "hardness": 0.5, + "minStateId": 8437, + "maxStateId": 8437, + "states": [], + "drops": [ + 560 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8437 + }, + { + "id": 550, + "displayName": "Turtle Egg", + "name": "turtle_egg", + "hardness": 0.5, + "minStateId": 8438, + "maxStateId": 8449, + "states": [ + { + "name": "eggs", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "hatch", + "type": "int", + "num_values": 3 + } + ], + "drops": [ + 427 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8438 + }, + { + "id": 551, + "displayName": "Dead Tube Coral Block", + "name": "dead_tube_coral_block", + "hardness": 1.5, + "minStateId": 8450, + "maxStateId": 8450, + "states": [], + "drops": [ + 428 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8450 + }, + { + "id": 552, + "displayName": "Dead Brain Coral Block", + "name": "dead_brain_coral_block", + "hardness": 1.5, + "minStateId": 8451, + "maxStateId": 8451, + "states": [], + "drops": [ + 429 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8451 + }, + { + "id": 553, + "displayName": "Dead Bubble Coral Block", + "name": "dead_bubble_coral_block", + "hardness": 1.5, + "minStateId": 8452, + "maxStateId": 8452, + "states": [], + "drops": [ + 430 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8452 + }, + { + "id": 554, + "displayName": "Dead Fire Coral Block", + "name": "dead_fire_coral_block", + "hardness": 1.5, + "minStateId": 8453, + "maxStateId": 8453, + "states": [], + "drops": [ + 431 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8453 + }, + { + "id": 555, + "displayName": "Dead Horn Coral Block", + "name": "dead_horn_coral_block", + "hardness": 1.5, + "minStateId": 8454, + "maxStateId": 8454, + "states": [], + "drops": [ + 432 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8454 + }, + { + "id": 556, + "displayName": "Tube Coral Block", + "name": "tube_coral_block", + "hardness": 1.5, + "minStateId": 8455, + "maxStateId": 8455, + "states": [], + "drops": [ + 433 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8455 + }, + { + "id": 557, + "displayName": "Brain Coral Block", + "name": "brain_coral_block", + "hardness": 1.5, + "minStateId": 8456, + "maxStateId": 8456, + "states": [], + "drops": [ + 434 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8456 + }, + { + "id": 558, + "displayName": "Bubble Coral Block", + "name": "bubble_coral_block", + "hardness": 1.5, + "minStateId": 8457, + "maxStateId": 8457, + "states": [], + "drops": [ + 435 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8457 + }, + { + "id": 559, + "displayName": "Fire Coral Block", + "name": "fire_coral_block", + "hardness": 1.5, + "minStateId": 8458, + "maxStateId": 8458, + "states": [], + "drops": [ + 436 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8458 + }, + { + "id": 560, + "displayName": "Horn Coral Block", + "name": "horn_coral_block", + "hardness": 1.5, + "minStateId": 8459, + "maxStateId": 8459, + "states": [], + "drops": [ + 437 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "473": true, + "487": true, + "491": true, + "495": true, + "502": true + }, + "defaultState": 8459 + }, + { + "id": 561, + "displayName": "Dead Tube Coral", + "name": "dead_tube_coral", + "hardness": 0, + "minStateId": 8460, + "maxStateId": 8461, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 447 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 8460 + }, + { + "id": 562, + "displayName": "Dead Brain Coral", + "name": "dead_brain_coral", + "hardness": 0, + "minStateId": 8462, + "maxStateId": 8463, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 443 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 8462 + }, + { + "id": 563, + "displayName": "Dead Bubble Coral", + "name": "dead_bubble_coral", + "hardness": 0, + "minStateId": 8464, + "maxStateId": 8465, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 444 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 8464 + }, + { + "id": 564, + "displayName": "Dead Fire Coral", + "name": "dead_fire_coral", + "hardness": 0, + "minStateId": 8466, + "maxStateId": 8467, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 445 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 8466 + }, + { + "id": 565, + "displayName": "Dead Horn Coral", + "name": "dead_horn_coral", + "hardness": 0, + "minStateId": 8468, + "maxStateId": 8469, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 446 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 8468 + }, + { + "id": 566, + "displayName": "Tube Coral", + "name": "tube_coral", + "hardness": 0, + "minStateId": 8470, + "maxStateId": 8471, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 438 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8470 + }, + { + "id": 567, + "displayName": "Brain Coral", + "name": "brain_coral", + "hardness": 0, + "minStateId": 8472, + "maxStateId": 8473, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 439 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8472 + }, + { + "id": 568, + "displayName": "Bubble Coral", + "name": "bubble_coral", + "hardness": 0, + "minStateId": 8474, + "maxStateId": 8475, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 440 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8474 + }, + { + "id": 569, + "displayName": "Fire Coral", + "name": "fire_coral", + "hardness": 0, + "minStateId": 8476, + "maxStateId": 8477, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 441 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8476 + }, + { + "id": 570, + "displayName": "Horn Coral", + "name": "horn_coral", + "hardness": 0, + "minStateId": 8478, + "maxStateId": 8479, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 442 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8478 + }, + { + "id": 571, + "displayName": "Dead Tube Coral Wall Fan", + "name": "dead_tube_coral_wall_fan", + "hardness": 0, + "minStateId": 8480, + "maxStateId": 8487, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 453 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8480 + }, + { + "id": 572, + "displayName": "Dead Brain Coral Wall Fan", + "name": "dead_brain_coral_wall_fan", + "hardness": 0, + "minStateId": 8488, + "maxStateId": 8495, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 454 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8488 + }, + { + "id": 573, + "displayName": "Dead Bubble Coral Wall Fan", + "name": "dead_bubble_coral_wall_fan", + "hardness": 0, + "minStateId": 8496, + "maxStateId": 8503, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 455 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8496 + }, + { + "id": 574, + "displayName": "Dead Fire Coral Wall Fan", + "name": "dead_fire_coral_wall_fan", + "hardness": 0, + "minStateId": 8504, + "maxStateId": 8511, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 456 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8504 + }, + { + "id": 575, + "displayName": "Dead Horn Coral Wall Fan", + "name": "dead_horn_coral_wall_fan", + "hardness": 0, + "minStateId": 8512, + "maxStateId": 8519, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 457 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8512 + }, + { + "id": 576, + "displayName": "Tube Coral Wall Fan", + "name": "tube_coral_wall_fan", + "hardness": 0, + "minStateId": 8520, + "maxStateId": 8527, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 448 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8520 + }, + { + "id": 577, + "displayName": "Brain Coral Wall Fan", + "name": "brain_coral_wall_fan", + "hardness": 0, + "minStateId": 8528, + "maxStateId": 8535, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 449 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8528 + }, + { + "id": 578, + "displayName": "Bubble Coral Wall Fan", + "name": "bubble_coral_wall_fan", + "hardness": 0, + "minStateId": 8536, + "maxStateId": 8543, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 450 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8536 + }, + { + "id": 579, + "displayName": "Fire Coral Wall Fan", + "name": "fire_coral_wall_fan", + "hardness": 0, + "minStateId": 8544, + "maxStateId": 8551, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 451 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8544 + }, + { + "id": 580, + "displayName": "Horn Coral Wall Fan", + "name": "horn_coral_wall_fan", + "hardness": 0, + "minStateId": 8552, + "maxStateId": 8559, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 452 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8552 + }, + { + "id": 581, + "displayName": "Dead Tube Coral Fan", + "name": "dead_tube_coral_fan", + "hardness": 0, + "minStateId": 8560, + "maxStateId": 8561, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 453 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8560 + }, + { + "id": 582, + "displayName": "Dead Brain Coral Fan", + "name": "dead_brain_coral_fan", + "hardness": 0, + "minStateId": 8562, + "maxStateId": 8563, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 454 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8562 + }, + { + "id": 583, + "displayName": "Dead Bubble Coral Fan", + "name": "dead_bubble_coral_fan", + "hardness": 0, + "minStateId": 8564, + "maxStateId": 8565, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 455 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8564 + }, + { + "id": 584, + "displayName": "Dead Fire Coral Fan", + "name": "dead_fire_coral_fan", + "hardness": 0, + "minStateId": 8566, + "maxStateId": 8567, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 456 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8566 + }, + { + "id": 585, + "displayName": "Dead Horn Coral Fan", + "name": "dead_horn_coral_fan", + "hardness": 0, + "minStateId": 8568, + "maxStateId": 8569, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 457 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8568 + }, + { + "id": 586, + "displayName": "Tube Coral Fan", + "name": "tube_coral_fan", + "hardness": 0, + "minStateId": 8570, + "maxStateId": 8571, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 448 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8570 + }, + { + "id": 587, + "displayName": "Brain Coral Fan", + "name": "brain_coral_fan", + "hardness": 0, + "minStateId": 8572, + "maxStateId": 8573, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 449 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8572 + }, + { + "id": 588, + "displayName": "Bubble Coral Fan", + "name": "bubble_coral_fan", + "hardness": 0, + "minStateId": 8574, + "maxStateId": 8575, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 450 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8574 + }, + { + "id": 589, + "displayName": "Fire Coral Fan", + "name": "fire_coral_fan", + "hardness": 0, + "minStateId": 8576, + "maxStateId": 8577, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 451 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8576 + }, + { + "id": 590, + "displayName": "Horn Coral Fan", + "name": "horn_coral_fan", + "hardness": 0, + "minStateId": 8578, + "maxStateId": 8579, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 452 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8578 + }, + { + "id": 591, + "displayName": "Sea Pickle", + "name": "sea_pickle", + "hardness": 0, + "minStateId": 8580, + "maxStateId": 8587, + "states": [ + { + "name": "pickles", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 80 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8580 + }, + { + "id": 592, + "displayName": "Blue Ice", + "name": "blue_ice", + "hardness": 2.8, + "minStateId": 8588, + "maxStateId": 8588, + "states": [], + "drops": [ + 458 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8588 + }, + { + "id": 593, + "displayName": "Conduit", + "name": "conduit", + "hardness": 3, + "minStateId": 8589, + "maxStateId": 8590, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 459 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 8589 + }, + { + "id": 594, + "displayName": "Void Air", + "name": "void_air", + "hardness": 0, + "minStateId": 8591, + "maxStateId": 8591, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 8591 + }, + { + "id": 595, + "displayName": "Cave Air", + "name": "cave_air", + "hardness": 0, + "minStateId": 8592, + "maxStateId": 8592, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 8592 + }, + { + "id": 596, + "displayName": "Bubble Column", + "name": "bubble_column", + "hardness": 0, + "minStateId": 8593, + "maxStateId": 8594, + "states": [ + { + "name": "drag", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 8593 + }, + { + "id": 597, + "displayName": "Structure Block", + "name": "structure_block", + "hardness": null, + "minStateId": 8595, + "maxStateId": 8598, + "states": [ + { + "name": "mode", + "type": "enum", + "num_values": 4, + "values": [ + "save", + "load", + "corner", + "data" + ] + } + ], + "drops": [ + 469 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8595 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/commands.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/commands.json new file mode 100644 index 00000000..e2d2cbf9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/commands.json @@ -0,0 +1,13611 @@ +{ + "root": { + "type": "root", + "name": "root", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "advancement", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "grant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "revoke", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "base", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modifier", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply_base", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "ban", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ban-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "banlist", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ips", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "visible", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "blue", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "green", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pink", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "purple", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "red", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "white", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "yellow", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "max", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ] + }, + { + "type": "literal", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "style", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "notched_10", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_12", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_20", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_6", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "progress", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "visible", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "visible", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxCount", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "clone", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "begin", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "filtered", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "datapack", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "disable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "after", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "before", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "first", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "last", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "available", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "enabled", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ] + }, + { + "type": "literal", + "name": "debug", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "report", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "start", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "defaultgamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "deop", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "difficulty", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "easy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hard", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "peaceful", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "effect", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "seconds", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amplifier", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "hideParticles", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + } + } + } + ], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "enchant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "enchantment", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "level", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_enchantment", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "execute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "align", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "axes", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:swizzle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "anchored", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "at", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "if", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "in", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "dimension", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:dimension", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "positioned", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rotated", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "rot", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "run", + "executable": false, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "store", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "result", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "success", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "unless", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "experience", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "fill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hollow", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "outline", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forceload", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "gamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "gamerule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "announceAdvancements", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "commandBlockOutput", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableElytraMovementCheck", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableRaids", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doDaylightCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doEntityDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doFireTick", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doImmediateRespawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doInsomnia", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doLimitedCrafting", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobLoot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doPatrolSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTileDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTraderSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doWeatherCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "drowningDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fallDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fireDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forgiveDeadPlayers", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "keepInventory", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "logAdminCommands", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxCommandChainLength", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxEntityCramming", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mobGriefing", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "naturalRegeneration", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "randomTickSpeed", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "reducedDebugInfo", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "sendCommandFeedback", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "showDeathMessages", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnRadius", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spectatorsGenerateChunks", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "universalAnger", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "help", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "command", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "kick", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "uuids", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "bastion_remnant", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "buried_treasure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "desert_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "endcity", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "fortress", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "igloo", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "jungle_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mansion", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mineshaft", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "monument", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "nether_fossil", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ocean_ruin", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pillager_outpost", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ruined_portal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "shipwreck", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stronghold", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "swamp_hut", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "village", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locatebiome", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "biome", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "spawn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "me", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "action", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "msg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "op", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "particle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "delta", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "speed", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:particle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "playsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ambient", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "publish", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "port", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + } + } + } + ] + }, + { + "type": "literal", + "name": "recipe", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "take", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replaceitem", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "save-all", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "flush", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "save-off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "save-on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "say", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "schedule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "scoreboard", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "objectives", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criteria", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective_criteria", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "displayname", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rendertype", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "hearts", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "integer", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setdisplay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:scoreboard_slot", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:operation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "reset", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "seed", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "setblock", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setidletimeout", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minutes", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "setworldspawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnpoint", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectate", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "player", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "spreadplayers", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "spreadDistance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxRange", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "under", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxHeight", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stopsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ambient", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "summon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity_summon", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tag", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "empty", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "join", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "leave", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "collisionRule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOwnTeam", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:color", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "deathMessageVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "displayName", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "friendlyFire", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "nametagVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "prefix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "prefix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "seeFriendlyInvisibles", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "suffix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "suffix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "teammsg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "teleport", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "tell", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tellraw", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "daytime", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "gametime", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "midnight", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "night", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "noon", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "actionbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reset", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "subtitle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "times", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeIn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "stay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeOut", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tm", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "trigger", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "w", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "rain", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "thunder", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "whitelist", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "worldborder", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "damage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "amount", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "damagePerBlock", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "buffer", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "warning", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "distance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "xp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + } + ] + }, + "parsers": [ + { + "parser": "minecraft:resource_location", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + }, + "examples": [ + "word", + "words with spaces", + "\\\" and symbols\\\"" + ] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + }, + "examples": [ + "@a" + ] + }, + { + "parser": "brigadier:double", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + }, + "examples": [ + "\\\"quoted phrase\\\"", + "word", + "" + ] + }, + { + "parser": "minecraft:uuid", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:message", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:game_profile", + "modifier": null, + "examples": [ + "Player", + "0123", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "@e" + ] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "word" + }, + "examples": [ + "word", + "word_with_underscore" + ] + }, + { + "parser": "minecraft:component", + "modifier": null, + "examples": [ + "\"hello world\"", + "\"\"", + "\"{\"text\":\"hello world\"}\"", + "[\"\"]" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + }, + "examples": [ + "1" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + }, + "examples": [ + "0", + "1" + ] + }, + { + "parser": "brigadier:bool", + "modifier": null, + "examples": [ + "true", + "false" + ] + }, + { + "parser": "minecraft:item_predicate", + "modifier": null, + "examples": [ + "stick", + "minecraft:stick", + "#stick", + "diamond_sword{ench:[{id:16,lvl:5}]}" + ] + }, + { + "parser": "minecraft:block_predicate", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "#stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:block_pos", + "modifier": null, + "examples": [ + "0 0 0", + "~ ~ ~", + "^ ^ ^", + "^1 ^ ^-5", + "~0.5 ~1 ~-5" + ] + }, + { + "parser": "minecraft:nbt_path", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_compound_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:integer", + "modifier": null, + "examples": [ + "1", + "0", + "10" + ] + }, + { + "parser": "minecraft:mob_effect", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + }, + "examples": [ + "@e", + "@e[type=cow]", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "Player" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + }, + "examples": [ + "0", + "255" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + }, + "examples": [ + "1", + "1000000" + ] + }, + { + "parser": "minecraft:item_enchantment", + "modifier": null, + "examples": [ + "unbreaking", + "minecraft:slik_touch" + ] + }, + { + "parser": "minecraft:swizzle", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_anchor", + "modifier": null, + "examples": [ + "eyes", + "feet" + ] + }, + { + "parser": "minecraft:vec3", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + }, + "examples": [] + }, + { + "parser": "minecraft:int_range", + "modifier": null, + "examples": [ + "0..5", + "0", + "-5", + "-100..", + "..100" + ] + }, + { + "parser": "minecraft:dimension", + "modifier": null, + "examples": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end", + "overworld", + "the_end", + "the_nether" + ] + }, + { + "parser": "minecraft:rotation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + }, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:block_state", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:column_pos", + "modifier": null, + "examples": [ + "0 0", + "~ ~", + "~1 ~-2", + "^ ^", + "^-1 ^0" + ] + }, + { + "parser": "minecraft:function", + "modifier": null, + "examples": [ + "foo", + "foo:bar", + "#foo" + ] + }, + { + "parser": "minecraft:item_stack", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:item_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + }, + "examples": [ + "0.0", + "0", + "1", + "0.01" + ] + }, + { + "parser": "minecraft:particle", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + }, + "examples": [ + "0.0", + "0", + "1", + "1.0", + "0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + }, + "examples": [ + "0", + "2", + "1.0", + "2.0" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + }, + "examples": [ + "0", + "65535" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + }, + "examples": [ + "1", + "64" + ] + }, + { + "parser": "minecraft:time", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective_criteria", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:scoreboard_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:operation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:angle", + "modifier": null, + "examples": [ + "0", + "~", + "~-0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + }, + "examples": [ + "1", + "1.0", + "1.000" + ] + }, + { + "parser": "minecraft:vec2", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_summon", + "modifier": null, + "examples": [ + "minecraft:pig", + "cow" + ] + }, + { + "parser": "minecraft:team", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:color", + "modifier": null, + "examples": [ + "aqua", + "black", + "blue", + "dark_aqua", + "dark_blue", + "dark_gray", + "dark_green", + "dark_purple", + "dark_red", + "gold", + "gray", + "green", + "light_purple", + "red", + "reset", + "yellow", + "white" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + }, + "examples": [ + "0", + "1000000" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + }, + "examples": [] + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/effects.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/effects.json new file mode 100644 index 00000000..07d48775 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/effects.json @@ -0,0 +1,182 @@ +[ + { + "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" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/enchantments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/enchantments.json new file mode 100644 index 00000000..cfccf51b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/enchantments.json @@ -0,0 +1,172 @@ +[ + { + "id": 0, + "name": "protection", + "displayName": "Protection" + }, + { + "id": 1, + "name": "fire_protection", + "displayName": "Fire Protection" + }, + { + "id": 2, + "name": "feather_falling", + "displayName": "Feather Falling" + }, + { + "id": 3, + "name": "blast_protection", + "displayName": "Blast Protection" + }, + { + "id": 4, + "name": "projectile_protection", + "displayName": "Projectile Protection" + }, + { + "id": 5, + "name": "respiration", + "displayName": "Respiration" + }, + { + "id": 6, + "name": "aqua_affinity", + "displayName": "Aqua Affinity" + }, + { + "id": 7, + "name": "thorns", + "displayName": "Thorns" + }, + { + "id": 8, + "name": "depth_strider", + "displayName": "Depth Strider" + }, + { + "id": 9, + "name": "frost_walker", + "displayName": "Frost Walker" + }, + { + "id": 10, + "name": "binding_curse", + "displayName": "Curse of Binding" + }, + { + "id": 16, + "name": "sharpness", + "displayName": "Sharpness" + }, + { + "id": 17, + "name": "smite", + "displayName": "Smite" + }, + { + "id": 18, + "name": "bane_of_arthropods", + "displayName": "Bane of Arthropods" + }, + { + "id": 19, + "name": "knockback", + "displayName": "Knockback" + }, + { + "id": 20, + "name": "fire_aspect", + "displayName": "Fire Aspect" + }, + { + "id": 21, + "name": "looting", + "displayName": "Looting" + }, + { + "id": 22, + "name": "sweeping", + "displayName": "Sweeping Edge" + }, + { + "id": 32, + "name": "efficiency", + "displayName": "Efficiency" + }, + { + "id": 33, + "name": "silk_touch", + "displayName": "Silk Touch" + }, + { + "id": 34, + "name": "unbreaking", + "displayName": "Unbreaking" + }, + { + "id": 35, + "name": "fortune", + "displayName": "Fortune" + }, + { + "id": 48, + "name": "power", + "displayName": "Power" + }, + { + "id": 49, + "name": "punch", + "displayName": "Punch" + }, + { + "id": 50, + "name": "flame", + "displayName": "Flame" + }, + { + "id": 51, + "name": "infinity", + "displayName": "Infinity" + }, + { + "id": 61, + "name": "luck_of_the_sea", + "displayName": "Luck of the Sea" + }, + { + "id": 62, + "name": "lure", + "displayName": "Lure" + }, + { + "id": 65, + "name": "loyality", + "displayName": "Loyality" + }, + { + "id": 66, + "name": "impaling", + "displayName": "Impaling" + }, + { + "id": 67, + "name": "Riptide", + "displayName": "riptide" + }, + { + "id": 68, + "name": "channeling", + "displayName": "Channeling" + }, + { + "id": 70, + "name": "mending", + "displayName": "Mending" + }, + { + "id": 71, + "name": "vanishing_curse", + "displayName": "Curse of Vanishing" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/entities.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/entities.json new file mode 100644 index 00000000..c98d37a7 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/entities.json @@ -0,0 +1,1194 @@ +[ + { + "id": 0, + "internalId": 0, + "name": "area_effect_cloud", + "displayName": "AreaEffectCloud", + "width": null, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 1, + "internalId": 1, + "name": "armor_stand", + "displayName": "ArmorStand", + "width": null, + "height": null, + "type": "mob", + "category": "Immobile" + }, + { + "id": 2, + "internalId": 2, + "name": "arrow", + "displayName": "Arrow", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 3, + "internalId": 3, + "name": "bat", + "displayName": "Bat", + "width": 0.5, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 4, + "internalId": 4, + "name": "blaze", + "displayName": "Blaze", + "width": 0.6, + "height": 1.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 5, + "internalId": 5, + "name": "boat", + "displayName": "Boat", + "width": 1.375, + "height": 0.5625, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 6, + "internalId": 6, + "name": "cave_spider", + "displayName": "CaveSpider", + "width": 0.7, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 7, + "internalId": 7, + "name": "chicken", + "displayName": "Chicken", + "width": 0.4, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 8, + "internalId": 8, + "name": "cod", + "displayName": "Cod", + "width": 0.9, + "height": 1.4, + "type": "mob" + }, + { + "id": 9, + "internalId": 9, + "name": "cow", + "displayName": "Cow", + "width": 0.9, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 10, + "internalId": 10, + "name": "creeper", + "displayName": "Creeper", + "width": 0.6, + "height": 1.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 11, + "internalId": 11, + "name": "donkey", + "displayName": "Donkey", + "width": 1.3964844, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 12, + "internalId": 12, + "name": "dolphin", + "displayName": "Dolphin", + "width": 0.9, + "height": 0.6, + "type": "mob" + }, + { + "id": 13, + "internalId": 13, + "name": "dragon_fireball", + "displayName": "DragonFireball", + "width": 1, + "height": 1, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 14, + "internalId": 14, + "name": "drowned", + "displayName": "Drowned", + "width": null, + "height": null, + "type": "mob" + }, + { + "id": 15, + "internalId": 15, + "name": "elder_guardian", + "displayName": "ElderGuardian", + "width": null, + "height": null, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 16, + "internalId": 16, + "name": "end_crystal", + "displayName": "EnderCrystal", + "width": 2, + "height": 2, + "type": "mob" + }, + { + "id": 17, + "internalId": 17, + "name": "ender_dragon", + "displayName": "EnderDragon", + "width": 16, + "height": 8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 18, + "internalId": 18, + "name": "enderman", + "displayName": "Enderman", + "width": 0.6, + "height": 2.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 19, + "internalId": 19, + "name": "endermite", + "displayName": "Endermite", + "width": 0.4, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 20, + "internalId": 20, + "name": "evoker_fangs", + "displayName": "EvocationFangs", + "width": 0.5, + "height": 0.8, + "type": "mob" + }, + { + "id": 21, + "internalId": 21, + "name": "evoker", + "displayName": "EvocationIllager", + "width": 0.6, + "height": 1.95, + "type": "mob" + }, + { + "id": 22, + "internalId": 22, + "name": "experience_orb", + "displayName": "XPOrb", + "width": 0.5, + "height": 0.5, + "type": "mob" + }, + { + "id": 23, + "internalId": 23, + "name": "eye_of_ender", + "displayName": "EyeOfEnderSignal", + "width": 0.25, + "height": 0.25, + "type": "mob" + }, + { + "id": 24, + "internalId": 24, + "name": "falling_block", + "displayName": "FallingSand", + "width": 0.98, + "height": 0.98, + "type": "mob", + "category": "Blocks" + }, + { + "id": 25, + "internalId": 25, + "name": "fireworks_rocket", + "displayName": "FireworksRocketEntity", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 26, + "internalId": 26, + "name": "ghast", + "displayName": "Ghast", + "width": 4, + "height": 4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 27, + "internalId": 27, + "name": "giant", + "displayName": "Giant", + "width": 3.6, + "height": 10.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 28, + "internalId": 28, + "name": "guardian", + "displayName": "Guardian", + "width": 0.85, + "height": 0.85, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 29, + "internalId": 29, + "name": "horse", + "displayName": "Horse (EntityHorse until 1.11)", + "width": 1.3964844, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 30, + "internalId": 30, + "name": "husk", + "displayName": "Husk", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 31, + "internalId": 31, + "name": "illusioner", + "displayName": "IllusionIllager", + "width": 0.6, + "height": 1.95, + "type": "mob" + }, + { + "id": 32, + "internalId": 32, + "name": "item", + "displayName": "Item", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Drops" + }, + { + "id": 33, + "internalId": 33, + "name": "item_frame", + "displayName": "ItemFrame", + "width": 0.75, + "height": 0.75, + "type": "mob", + "category": "Immobile" + }, + { + "id": 34, + "internalId": 34, + "name": "fireball", + "displayName": "Fireball (ghast)", + "width": 1, + "height": 1, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 35, + "internalId": 35, + "name": "leash_knot", + "displayName": "LeashKnot", + "width": 0.375, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 36, + "internalId": 36, + "name": "llama", + "displayName": "Llama", + "width": 0.9, + "height": 1.87, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 37, + "internalId": 37, + "name": "llama_spit", + "displayName": "LlamaSpit", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 38, + "internalId": 38, + "name": "magma_cube", + "displayName": "LavaSlime (Magma Cube)", + "width": 0.51000005, + "height": 0.51000005, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 39, + "internalId": 39, + "name": "minecart", + "displayName": "MinecartRideable", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 40, + "internalId": 40, + "name": "chest_minecart", + "displayName": "MinecartChest", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 41, + "internalId": 41, + "name": "commandblock_minecart", + "displayName": "MinecartCommandBlock", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 42, + "internalId": 42, + "name": "furnace_minecart", + "displayName": "MinecartFurnace", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 43, + "internalId": 43, + "name": "hopper_minecart", + "displayName": "MinecartHopper", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 44, + "internalId": 44, + "name": "spawner_minecart", + "displayName": "MinecartSpawner", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 45, + "internalId": 45, + "name": "tnt_minecart", + "displayName": "MinecartTNT", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 46, + "internalId": 46, + "name": "mule", + "displayName": "Mule", + "width": 1.3964844, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 47, + "internalId": 47, + "name": "mooshroom", + "displayName": "MushroomCow (Mooshroom)", + "width": 0.9, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 48, + "internalId": 48, + "name": "ocelot", + "displayName": "Ozelot (Ocelot)", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 49, + "internalId": 49, + "name": "painting", + "displayName": "Painting", + "width": null, + "height": null, + "type": "mob", + "category": "Immobile" + }, + { + "id": 50, + "internalId": 50, + "name": "parrot", + "displayName": "Parrot", + "width": 0.5, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 51, + "internalId": 51, + "name": "pig", + "displayName": "Pig", + "width": 0.9, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 52, + "internalId": 52, + "name": "pufferfish", + "displayName": "Pufferfish", + "width": null, + "height": null, + "type": "mob" + }, + { + "id": 53, + "internalId": 53, + "name": "zombie_pigman", + "displayName": "PigZombie", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 54, + "internalId": 54, + "name": "polar_bear", + "displayName": "PolarBear", + "width": 1.3, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 55, + "internalId": 55, + "name": "tnt", + "displayName": "PrimedTnt", + "width": 0.98, + "height": 0.98, + "type": "mob", + "category": "Blocks" + }, + { + "id": 56, + "internalId": 56, + "name": "rabbit", + "displayName": "Rabbit", + "width": 0.4, + "height": 0.5, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 57, + "internalId": 57, + "name": "salmon", + "displayName": "Salmon", + "width": null, + "height": null, + "type": "mob" + }, + { + "id": 58, + "internalId": 58, + "name": "sheep", + "displayName": "Sheep", + "width": 0.9, + "height": 1.3, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 59, + "internalId": 59, + "name": "shulker", + "displayName": "Shulker", + "width": 1, + "height": 1, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 60, + "internalId": 60, + "name": "shulker_bullet", + "displayName": "ShulkerBullet", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 61, + "internalId": 61, + "name": "silverfish", + "displayName": "Silverfish", + "width": 0.4, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 62, + "internalId": 62, + "name": "skeleton", + "displayName": "Skeleton", + "width": 0.6, + "height": 1.99, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 63, + "internalId": 63, + "name": "skeleton_horse", + "displayName": "SkeletonHorse", + "width": 1.3964844, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 64, + "internalId": 64, + "name": "slime", + "displayName": "Slime", + "width": 0.51000005, + "height": 0.51000005, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 65, + "internalId": 65, + "name": "small_fireball", + "displayName": "SmallFireball (blaze)", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 66, + "internalId": 66, + "name": "snow_golem", + "displayName": "SnowMan", + "width": 0.7, + "height": 1.9, + "type": "mob" + }, + { + "id": 67, + "internalId": 67, + "name": "snowball", + "displayName": "Snowball", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 68, + "internalId": 68, + "name": "spectral_arrow", + "displayName": "SpectralArrow", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 69, + "internalId": 69, + "name": "spider", + "displayName": "Spider", + "width": 1.4, + "height": 0.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 70, + "internalId": 70, + "name": "squid", + "displayName": "Squid", + "width": 0.8, + "height": 0.8, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 71, + "internalId": 71, + "name": "stray", + "displayName": "Stray", + "width": 0.6, + "height": 1.99, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 72, + "internalId": 72, + "name": "tropical_fish", + "displayName": "Tropical Fish", + "width": 0.5, + "height": 0.4, + "type": "mob" + }, + { + "id": 73, + "internalId": 73, + "name": "turtle", + "displayName": "Turtle", + "width": 1.2, + "height": 0.4, + "type": "mob" + }, + { + "id": 74, + "internalId": 74, + "name": "egg", + "displayName": "ThrownEgg", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 75, + "internalId": 75, + "name": "ender_pearl", + "displayName": "ThrownEnderpearl", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 76, + "internalId": 76, + "name": "experience_bottle", + "displayName": "ThrownExpBottle", + "width": 0.25, + "height": 0.25, + "type": "mob" + }, + { + "id": 77, + "internalId": 77, + "name": "potion", + "displayName": "ThrownPotion", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 78, + "internalId": 78, + "name": "vex", + "displayName": "Vex", + "width": 0.4, + "height": 0.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 79, + "internalId": 79, + "name": "villager", + "displayName": "Villager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 80, + "internalId": 80, + "name": "iron_golem}", + "displayName": "VillagerGolem (Iron Golem)", + "width": 1.4, + "height": 2.7, + "type": "mob" + }, + { + "id": 81, + "internalId": 81, + "name": "vindicator", + "displayName": "VindicationIllager", + "width": 0.6, + "height": 1.95, + "type": "mob" + }, + { + "id": 82, + "internalId": 82, + "name": "witch", + "displayName": "Witch", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 83, + "internalId": 83, + "name": "wither", + "displayName": "WitherBoss", + "width": 0.9, + "height": 3.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 84, + "internalId": 84, + "name": "wither_skeleton", + "displayName": "WitherSkeleton", + "width": 0.7, + "height": 2.4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 85, + "internalId": 85, + "name": "wither_skull", + "displayName": "WitherSkull", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 86, + "internalId": 86, + "name": "wolf", + "displayName": "Wolf", + "width": 0.6, + "height": 0.85, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 87, + "internalId": 87, + "name": "zombie", + "displayName": "Zombie", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 88, + "internalId": 88, + "name": "zombie_horse", + "displayName": "ZombieHorse", + "width": 1.3964844, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 89, + "internalId": 89, + "name": "zombie_villager", + "displayName": "ZombieVillager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 90, + "internalId": 90, + "name": "phantom", + "displayName": "Phantom", + "width": 0.9, + "height": 0.5, + "type": "mob" + }, + { + "id": 91, + "internalId": 91, + "name": "lightning_bolt", + "displayName": "Lightning Bolt", + "width": null, + "height": null, + "type": "mob" + }, + { + "id": 92, + "internalId": 92, + "name": "player", + "displayName": "Player", + "width": null, + "height": null, + "type": "mob" + }, + { + "id": 93, + "internalId": 93, + "name": "fishing_bobber", + "displayName": "Fishing bobber", + "width": null, + "height": null, + "type": "mob" + }, + { + "id": 94, + "internalId": 94, + "name": "trident", + "displayName": "Trident", + "width": null, + "height": null, + "type": "mob" + }, + { + "id": 1, + "internalId": 1, + "name": "boat", + "displayName": "Boat", + "width": 1.375, + "height": 0.6, + "type": "object", + "category": "Vehicles" + }, + { + "id": 2, + "internalId": 2, + "name": "item_stack", + "displayName": "Item Stack ([[Slot]])", + "width": 0.25, + "height": 0.25, + "type": "object" + }, + { + "id": 3, + "internalId": 3, + "name": "area_effect cloud", + "displayName": "Area Effect Cloud", + "width": null, + "height": 0.5, + "type": "object" + }, + { + "id": 10, + "internalId": 10, + "name": "minecart", + "displayName": "Minecart", + "width": 0.98, + "height": 0.7, + "type": "object", + "category": "Vehicles" + }, + { + "id": 50, + "internalId": 50, + "name": "activated_tnt", + "displayName": "Activated TNT", + "width": 0.98, + "height": 0.98, + "type": "object" + }, + { + "id": 51, + "internalId": 51, + "name": "endercrystal", + "displayName": "EnderCrystal", + "width": 2, + "height": 2, + "type": "object" + }, + { + "id": 60, + "internalId": 60, + "name": "tipped_arrow", + "displayName": "Tipped arrow (projectile; also used for regular arrows)", + "width": 0.5, + "height": 0.5, + "type": "object" + }, + { + "id": 61, + "internalId": 61, + "name": "snowball", + "displayName": "Snowball (projectile)", + "width": 0.25, + "height": 0.25, + "type": "object", + "category": "Projectiles" + }, + { + "id": 62, + "internalId": 62, + "name": "egg", + "displayName": "Egg (projectile)", + "width": 0.25, + "height": 0.25, + "type": "object", + "category": "Projectiles" + }, + { + "id": 63, + "internalId": 63, + "name": "fireball", + "displayName": "FireBall (ghast projectile)", + "width": 1, + "height": 1, + "type": "object", + "category": "Projectiles" + }, + { + "id": 64, + "internalId": 64, + "name": "firecharge", + "displayName": "FireCharge (blaze projectile)", + "width": 0.3125, + "height": 0.3125, + "type": "object" + }, + { + "id": 65, + "internalId": 65, + "name": "thrown_enderpearl", + "displayName": "Thrown Enderpearl", + "width": 0.25, + "height": 0.25, + "type": "object" + }, + { + "id": 66, + "internalId": 66, + "name": "wither_skull", + "displayName": "Wither Skull (projectile)", + "width": 0.3125, + "height": 0.3125, + "type": "object", + "category": "Projectiles" + }, + { + "id": 67, + "internalId": 67, + "name": "shulker_bullet", + "displayName": "Shulker Bullet", + "width": 0.3125, + "height": 0.3125, + "type": "object", + "category": "Projectiles" + }, + { + "id": 68, + "internalId": 68, + "name": "llama_spit", + "displayName": "Llama spit", + "width": 0.25, + "height": 0.25, + "type": "object", + "category": "Projectiles" + }, + { + "id": 70, + "internalId": 70, + "name": "falling_objects", + "displayName": "Falling Objects", + "width": 0.98, + "height": 0.98, + "type": "object" + }, + { + "id": 71, + "internalId": 71, + "name": "item_frames", + "displayName": "Item frames", + "width": 0.75, + "height": 0.75, + "type": "object" + }, + { + "id": 72, + "internalId": 72, + "name": "eye_of ender", + "displayName": "Eye of Ender", + "width": 0.25, + "height": 0.25, + "type": "object" + }, + { + "id": 73, + "internalId": 73, + "name": "thrown_potion", + "displayName": "Thrown Potion", + "width": 0.25, + "height": 0.25, + "type": "object" + }, + { + "id": 75, + "internalId": 75, + "name": "thrown_exp bottle", + "displayName": "Thrown Exp Bottle", + "width": 0.25, + "height": 0.25, + "type": "object" + }, + { + "id": 76, + "internalId": 76, + "name": "firework_rocket", + "displayName": "Firework Rocket", + "width": 0.25, + "height": 0.25, + "type": "object" + }, + { + "id": 77, + "internalId": 77, + "name": "leash_knot", + "displayName": "Leash Knot", + "width": 0.375, + "height": 0.5, + "type": "object", + "category": "Immobile" + }, + { + "id": 78, + "internalId": 78, + "name": "armorstand", + "displayName": "ArmorStand", + "width": null, + "height": null, + "type": "object" + }, + { + "id": 79, + "internalId": 79, + "name": "evocation_fangs", + "displayName": "Evocation Fangs", + "width": 0.5, + "height": 0.8, + "type": "object", + "category": "Immobile" + }, + { + "id": 90, + "internalId": 90, + "name": "fishing_hook", + "displayName": "Fishing Hook", + "width": 0.25, + "height": 0.25, + "type": "object" + }, + { + "id": 91, + "internalId": 91, + "name": "spectral_arrow", + "displayName": "Spectral Arrow", + "width": 0.5, + "height": 0.5, + "type": "object", + "category": "Projectiles" + }, + { + "id": 93, + "internalId": 93, + "name": "dragon_fireball", + "displayName": "Dragon Fireball", + "width": 1, + "height": 1, + "type": "object", + "category": "Projectiles" + }, + { + "id": 94, + "internalId": 94, + "name": "trident", + "displayName": "Trident", + "width": null, + "height": null, + "type": "object" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/foods.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/foods.json new file mode 100644 index 00000000..49e8bf9d --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/foods.json @@ -0,0 +1,342 @@ +[ + { + "id": 476, + "displayName": "Apple", + "name": "apple", + "stackSize": 64, + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 499, + "displayName": "Mushroom Stew", + "name": "mushroom_stew", + "stackSize": 1, + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 514, + "displayName": "Bread", + "name": "bread", + "stackSize": 64, + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 536, + "displayName": "Raw Porkchop", + "name": "porkchop", + "stackSize": 64, + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 537, + "displayName": "Cooked Porkchop", + "name": "cooked_porkchop", + "stackSize": 64, + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 539, + "displayName": "Golden Apple", + "name": "golden_apple", + "stackSize": 64, + "foodPoints": 4, + "saturation": 9.6, + "effectiveQuality": 13.6, + "saturationRatio": 2.4 + }, + { + "id": 540, + "displayName": "Enchanted Golden Apple", + "name": "enchanted_golden_apple", + "stackSize": 64, + "foodPoints": 4, + "saturation": 9.6, + "effectiveQuality": 13.6, + "saturationRatio": 2.4 + }, + { + "id": 572, + "displayName": "Raw Salmon", + "name": "salmon", + "stackSize": 64, + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 574, + "displayName": "Pufferfish", + "name": "pufferfish", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.2, + "effectiveQuality": 1.2, + "saturationRatio": 0.2 + }, + { + "id": 576, + "displayName": "Cooked Salmon", + "name": "cooked_salmon", + "stackSize": 64, + "foodPoints": 6, + "saturation": 9.6, + "effectiveQuality": 15.6, + "saturationRatio": 1.5999999999999999 + }, + { + "id": 595, + "displayName": "Cake", + "name": "cake", + "stackSize": 1, + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 612, + "displayName": "Cookie", + "name": "cookie", + "stackSize": 64, + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 615, + "displayName": "Melon Slice", + "name": "melon_slice", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 616, + "displayName": "Dried Kelp", + "name": "dried_kelp", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.6, + "effectiveQuality": 1.6, + "saturationRatio": 0.6 + }, + { + "id": 619, + "displayName": "Raw Beef", + "name": "beef", + "stackSize": 64, + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 620, + "displayName": "Steak", + "name": "cooked_beef", + "stackSize": 64, + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 621, + "displayName": "Raw Chicken", + "name": "chicken", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 622, + "displayName": "Cooked Chicken", + "name": "cooked_chicken", + "stackSize": 64, + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 623, + "displayName": "Rotten Flesh", + "name": "rotten_flesh", + "stackSize": 64, + "foodPoints": 4, + "saturation": 0.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.2 + }, + { + "id": 631, + "displayName": "Spider Eye", + "name": "spider_eye", + "stackSize": 64, + "foodPoints": 2, + "saturation": 3.2, + "effectiveQuality": 5.2, + "saturationRatio": 1.6 + }, + { + "id": 697, + "displayName": "Carrot", + "name": "carrot", + "stackSize": 64, + "foodPoints": 3, + "saturation": 3.6, + "effectiveQuality": 6.6, + "saturationRatio": 1.2 + }, + { + "id": 698, + "displayName": "Potato", + "name": "potato", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.6, + "effectiveQuality": 1.6, + "saturationRatio": 0.6 + }, + { + "id": 699, + "displayName": "Baked Potato", + "name": "baked_potato", + "stackSize": 64, + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 700, + "displayName": "Poisonous Potato", + "name": "poisonous_potato", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 702, + "displayName": "Golden Carrot", + "name": "golden_carrot", + "stackSize": 64, + "foodPoints": 6, + "saturation": 14.4, + "effectiveQuality": 20.4, + "saturationRatio": 2.4 + }, + { + "id": 711, + "displayName": "Pumpkin Pie", + "name": "pumpkin_pie", + "stackSize": 64, + "foodPoints": 8, + "saturation": 4.8, + "effectiveQuality": 12.8, + "saturationRatio": 0.6 + }, + { + "id": 721, + "displayName": "Raw Rabbit", + "name": "rabbit", + "stackSize": 64, + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 722, + "displayName": "Cooked Rabbit", + "name": "cooked_rabbit", + "stackSize": 64, + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 723, + "displayName": "Rabbit Stew", + "name": "rabbit_stew", + "stackSize": 1, + "foodPoints": 10, + "saturation": 12, + "effectiveQuality": 22, + "saturationRatio": 1.2 + }, + { + "id": 733, + "displayName": "Raw Mutton", + "name": "mutton", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 734, + "displayName": "Cooked Mutton", + "name": "cooked_mutton", + "stackSize": 64, + "foodPoints": 6, + "saturation": 9.6, + "effectiveQuality": 15.6, + "saturationRatio": 1.5999999999999999 + }, + { + "id": 752, + "displayName": "Chorus Fruit", + "name": "chorus_fruit", + "stackSize": 64, + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 754, + "displayName": "Beetroot", + "name": "beetroot", + "stackSize": 64, + "foodPoints": 1, + "saturation": 1.2, + "effectiveQuality": 2.2, + "saturationRatio": 1.2 + }, + { + "id": 756, + "displayName": "Beetroot Soup", + "name": "beetroot_soup", + "stackSize": 1, + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/instruments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/instruments.json new file mode 100644 index 00000000..15619cd9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/instruments.json @@ -0,0 +1,42 @@ +[ + { + "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": "guiter" + }, + { + "id": 8, + "name": "chime" + }, + { + "id": 9, + "name": "xylophone" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/items.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/items.json new file mode 100644 index 00000000..307fa6af --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/items.json @@ -0,0 +1,4742 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 64 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Granite", + "name": "granite", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Polished Granite", + "name": "polished_granite", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Diorite", + "name": "diorite", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Polished Diorite", + "name": "polished_diorite", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Andesite", + "name": "andesite", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Polished Andesite", + "name": "polished_andesite", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Grass Block", + "name": "grass_block", + "stackSize": 64 + }, + { + "id": 9, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Coarse Dirt", + "name": "coarse_dirt", + "stackSize": 64 + }, + { + "id": 11, + "displayName": "Podzol", + "name": "podzol", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Oak Planks", + "name": "oak_planks", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Spruce Planks", + "name": "spruce_planks", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Birch Planks", + "name": "birch_planks", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Jungle Planks", + "name": "jungle_planks", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Acacia Planks", + "name": "acacia_planks", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Dark Oak Planks", + "name": "dark_oak_planks", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Oak Sapling", + "name": "oak_sapling", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Spruce Sapling", + "name": "spruce_sapling", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Birch Sapling", + "name": "birch_sapling", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Jungle Sapling", + "name": "jungle_sapling", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Acacia Sapling", + "name": "acacia_sapling", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Dark Oak Sapling", + "name": "dark_oak_sapling", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 26, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Red Sand", + "name": "red_sand", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 29, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Oak Log", + "name": "oak_log", + "stackSize": 64 + }, + { + "id": 33, + "displayName": "Spruce Log", + "name": "spruce_log", + "stackSize": 64 + }, + { + "id": 34, + "displayName": "Birch Log", + "name": "birch_log", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Jungle Log", + "name": "jungle_log", + "stackSize": 64 + }, + { + "id": 36, + "displayName": "Acacia Log", + "name": "acacia_log", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Dark Oak Log", + "name": "dark_oak_log", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Stripped Oak Log", + "name": "stripped_oak_log", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Stripped Spruce Log", + "name": "stripped_spruce_log", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Stripped Birch Log", + "name": "stripped_birch_log", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Stripped Jungle Log", + "name": "stripped_jungle_log", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Stripped Acacia Log", + "name": "stripped_acacia_log", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Stripped Dark Oak Log", + "name": "stripped_dark_oak_log", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Stripped Oak Wood", + "name": "stripped_oak_wood", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Stripped Spruce Wood", + "name": "stripped_spruce_wood", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "Stripped Birch Wood", + "name": "stripped_birch_wood", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Stripped Jungle Wood", + "name": "stripped_jungle_wood", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Stripped Acacia Wood", + "name": "stripped_acacia_wood", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Stripped Dark Oak Wood", + "name": "stripped_dark_oak_wood", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Oak Wood", + "name": "oak_wood", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Spruce Wood", + "name": "spruce_wood", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Birch Wood", + "name": "birch_wood", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Jungle Wood", + "name": "jungle_wood", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Dark Oak Wood", + "name": "dark_oak_wood", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Oak Leaves", + "name": "oak_leaves", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Spruce Leaves", + "name": "spruce_leaves", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Birch Leaves", + "name": "birch_leaves", + "stackSize": 64 + }, + { + "id": 59, + "displayName": "Jungle Leaves", + "name": "jungle_leaves", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Dark Oak Leaves", + "name": "dark_oak_leaves", + "stackSize": 64 + }, + { + "id": 62, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 63, + "displayName": "Wet Sponge", + "name": "wet_sponge", + "stackSize": 64 + }, + { + "id": 64, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 68, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Chiseled Sandstone", + "name": "chiseled_sandstone", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Cut Sandstone", + "name": "cut_sandstone", + "stackSize": 64 + }, + { + "id": 71, + "displayName": "Note Block", + "name": "note_block", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Powered Rail", + "name": "powered_rail", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 74, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Cobweb", + "name": "cobweb", + "stackSize": 64 + }, + { + "id": 76, + "displayName": "Grass", + "name": "grass", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Fern", + "name": "fern", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Dead Bush", + "name": "dead_bush", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Seagrass", + "name": "seagrass", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Sea Pickle", + "name": "sea_pickle", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Piston", + "name": "piston", + "stackSize": 64 + }, + { + "id": 82, + "displayName": "White Wool", + "name": "white_wool", + "stackSize": 64 + }, + { + "id": 83, + "displayName": "Orange Wool", + "name": "orange_wool", + "stackSize": 64 + }, + { + "id": 84, + "displayName": "Magenta Wool", + "name": "magenta_wool", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Light Blue Wool", + "name": "light_blue_wool", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Yellow Wool", + "name": "yellow_wool", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Lime Wool", + "name": "lime_wool", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Pink Wool", + "name": "pink_wool", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Gray Wool", + "name": "gray_wool", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Light Gray Wool", + "name": "light_gray_wool", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Cyan Wool", + "name": "cyan_wool", + "stackSize": 64 + }, + { + "id": 92, + "displayName": "Purple Wool", + "name": "purple_wool", + "stackSize": 64 + }, + { + "id": 93, + "displayName": "Blue Wool", + "name": "blue_wool", + "stackSize": 64 + }, + { + "id": 94, + "displayName": "Brown Wool", + "name": "brown_wool", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "Green Wool", + "name": "green_wool", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Red Wool", + "name": "red_wool", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Black Wool", + "name": "black_wool", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Dandelion", + "name": "dandelion", + "stackSize": 64 + }, + { + "id": 99, + "displayName": "Poppy", + "name": "poppy", + "stackSize": 64 + }, + { + "id": 100, + "displayName": "Blue Orchid", + "name": "blue_orchid", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Allium", + "name": "allium", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Azure Bluet", + "name": "azure_bluet", + "stackSize": 64 + }, + { + "id": 103, + "displayName": "Red Tulip", + "name": "red_tulip", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Orange Tulip", + "name": "orange_tulip", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "White Tulip", + "name": "white_tulip", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Pink Tulip", + "name": "pink_tulip", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Oxeye Daisy", + "name": "oxeye_daisy", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Block of Gold", + "name": "gold_block", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Block of Iron", + "name": "iron_block", + "stackSize": 64 + }, + { + "id": 112, + "displayName": "Oak Slab", + "name": "oak_slab", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Spruce Slab", + "name": "spruce_slab", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Birch Slab", + "name": "birch_slab", + "stackSize": 64 + }, + { + "id": 115, + "displayName": "Jungle Slab", + "name": "jungle_slab", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Acacia Slab", + "name": "acacia_slab", + "stackSize": 64 + }, + { + "id": 117, + "displayName": "Dark Oak Slab", + "name": "dark_oak_slab", + "stackSize": 64 + }, + { + "id": 118, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 119, + "displayName": "Sandstone Slab", + "name": "sandstone_slab", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "Petrified Oak Slab", + "name": "petrified_oak_slab", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "Cobblestone Slab", + "name": "cobblestone_slab", + "stackSize": 64 + }, + { + "id": 122, + "displayName": "Brick Slab", + "name": "brick_slab", + "stackSize": 64 + }, + { + "id": 123, + "displayName": "Stone Brick Slab", + "name": "stone_brick_slab", + "stackSize": 64 + }, + { + "id": 124, + "displayName": "Nether Brick Slab", + "name": "nether_brick_slab", + "stackSize": 64 + }, + { + "id": 125, + "displayName": "Quartz Slab", + "name": "quartz_slab", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Prismarine Slab", + "name": "prismarine_slab", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Prismarine Brick Slab", + "name": "prismarine_brick_slab", + "stackSize": 64 + }, + { + "id": 130, + "displayName": "Dark Prismarine Slab", + "name": "dark_prismarine_slab", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Smooth Quartz", + "name": "smooth_quartz", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Smooth Red Sandstone", + "name": "smooth_red_sandstone", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Smooth Sandstone", + "name": "smooth_sandstone", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Smooth Stone", + "name": "smooth_stone", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Bricks", + "name": "bricks", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 137, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 138, + "displayName": "Mossy Cobblestone", + "name": "mossy_cobblestone", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 140, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "End Rod", + "name": "end_rod", + "stackSize": 64 + }, + { + "id": 142, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "stackSize": 64 + }, + { + "id": 144, + "displayName": "Purpur Block", + "name": "purpur_block", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "Spawner", + "name": "spawner", + "stackSize": 64 + }, + { + "id": 148, + "displayName": "Oak Stairs", + "name": "oak_stairs", + "stackSize": 64 + }, + { + "id": 149, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 150, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Block of Diamond", + "name": "diamond_block", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 154, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 160, + "displayName": "Oak Pressure Plate", + "name": "oak_pressure_plate", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Spruce Pressure Plate", + "name": "spruce_pressure_plate", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Birch Pressure Plate", + "name": "birch_pressure_plate", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Jungle Pressure Plate", + "name": "jungle_pressure_plate", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Acacia Pressure Plate", + "name": "acacia_pressure_plate", + "stackSize": 64 + }, + { + "id": 165, + "displayName": "Dark Oak Pressure Plate", + "name": "dark_oak_pressure_plate", + "stackSize": 64 + }, + { + "id": 166, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 168, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 169, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Snow Block", + "name": "snow_block", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Clay", + "name": "clay", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Jukebox", + "name": "jukebox", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Oak Fence", + "name": "oak_fence", + "stackSize": 64 + }, + { + "id": 176, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "stackSize": 64 + }, + { + "id": 177, + "displayName": "Birch Fence", + "name": "birch_fence", + "stackSize": 64 + }, + { + "id": 178, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "stackSize": 64 + }, + { + "id": 179, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "stackSize": 64 + }, + { + "id": 180, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "stackSize": 64 + }, + { + "id": 181, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 182, + "displayName": "Carved Pumpkin", + "name": "carved_pumpkin", + "stackSize": 64 + }, + { + "id": 183, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 184, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 185, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 186, + "displayName": "Jack o'Lantern", + "name": "jack_o_lantern", + "stackSize": 64 + }, + { + "id": 187, + "displayName": "Oak Trapdoor", + "name": "oak_trapdoor", + "stackSize": 64 + }, + { + "id": 188, + "displayName": "Spruce Trapdoor", + "name": "spruce_trapdoor", + "stackSize": 64 + }, + { + "id": 189, + "displayName": "Birch Trapdoor", + "name": "birch_trapdoor", + "stackSize": 64 + }, + { + "id": 190, + "displayName": "Jungle Trapdoor", + "name": "jungle_trapdoor", + "stackSize": 64 + }, + { + "id": 191, + "displayName": "Acacia Trapdoor", + "name": "acacia_trapdoor", + "stackSize": 64 + }, + { + "id": 192, + "displayName": "Dark Oak Trapdoor", + "name": "dark_oak_trapdoor", + "stackSize": 64 + }, + { + "id": 193, + "displayName": "Infested Stone", + "name": "infested_stone", + "stackSize": 64 + }, + { + "id": 194, + "displayName": "Infested Cobblestone", + "name": "infested_cobblestone", + "stackSize": 64 + }, + { + "id": 195, + "displayName": "Infested Stone Bricks", + "name": "infested_stone_bricks", + "stackSize": 64 + }, + { + "id": 196, + "displayName": "Infested Mossy Stone Bricks", + "name": "infested_mossy_stone_bricks", + "stackSize": 64 + }, + { + "id": 197, + "displayName": "Infested Cracked Stone Bricks", + "name": "infested_cracked_stone_bricks", + "stackSize": 64 + }, + { + "id": 198, + "displayName": "Infested Chiseled Stone Bricks", + "name": "infested_chiseled_stone_bricks", + "stackSize": 64 + }, + { + "id": 199, + "displayName": "Stone Bricks", + "name": "stone_bricks", + "stackSize": 64 + }, + { + "id": 200, + "displayName": "Mossy Stone Bricks", + "name": "mossy_stone_bricks", + "stackSize": 64 + }, + { + "id": 201, + "displayName": "Cracked Stone Bricks", + "name": "cracked_stone_bricks", + "stackSize": 64 + }, + { + "id": 202, + "displayName": "Chiseled Stone Bricks", + "name": "chiseled_stone_bricks", + "stackSize": 64 + }, + { + "id": 203, + "displayName": "Brown Mushroom Block", + "name": "brown_mushroom_block", + "stackSize": 64 + }, + { + "id": 204, + "displayName": "Red Mushroom Block", + "name": "red_mushroom_block", + "stackSize": 64 + }, + { + "id": 205, + "displayName": "Mushroom Stem", + "name": "mushroom_stem", + "stackSize": 64 + }, + { + "id": 206, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 207, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 208, + "displayName": "Melon", + "name": "melon", + "stackSize": 64 + }, + { + "id": 209, + "displayName": "Vines", + "name": "vine", + "stackSize": 64 + }, + { + "id": 210, + "displayName": "Oak Fence Gate", + "name": "oak_fence_gate", + "stackSize": 64 + }, + { + "id": 211, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64 + }, + { + "id": 212, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64 + }, + { + "id": 213, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64 + }, + { + "id": 214, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64 + }, + { + "id": 215, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64 + }, + { + "id": 216, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 217, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 218, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 219, + "displayName": "Lily Pad", + "name": "lily_pad", + "stackSize": 64 + }, + { + "id": 220, + "displayName": "Nether Bricks", + "name": "nether_bricks", + "stackSize": 64 + }, + { + "id": 221, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 222, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 223, + "displayName": "Enchanting Table", + "name": "enchanting_table", + "stackSize": 64 + }, + { + "id": 224, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 225, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 226, + "displayName": "End Stone Bricks", + "name": "end_stone_bricks", + "stackSize": 64 + }, + { + "id": 227, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "stackSize": 64 + }, + { + "id": 228, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 229, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 230, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 231, + "displayName": "Ender Chest", + "name": "ender_chest", + "stackSize": 64 + }, + { + "id": 232, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 233, + "displayName": "Block of Emerald", + "name": "emerald_block", + "stackSize": 64 + }, + { + "id": 234, + "displayName": "Spruce Stairs", + "name": "spruce_stairs", + "stackSize": 64 + }, + { + "id": 235, + "displayName": "Birch Stairs", + "name": "birch_stairs", + "stackSize": 64 + }, + { + "id": 236, + "displayName": "Jungle Stairs", + "name": "jungle_stairs", + "stackSize": 64 + }, + { + "id": 237, + "displayName": "Command Block", + "name": "command_block", + "stackSize": 64 + }, + { + "id": 238, + "displayName": "Beacon", + "name": "beacon", + "stackSize": 64 + }, + { + "id": 239, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 240, + "displayName": "Mossy Cobblestone Wall", + "name": "mossy_cobblestone_wall", + "stackSize": 64 + }, + { + "id": 241, + "displayName": "Oak Button", + "name": "oak_button", + "stackSize": 64 + }, + { + "id": 242, + "displayName": "Spruce Button", + "name": "spruce_button", + "stackSize": 64 + }, + { + "id": 243, + "displayName": "Birch Button", + "name": "birch_button", + "stackSize": 64 + }, + { + "id": 244, + "displayName": "Jungle Button", + "name": "jungle_button", + "stackSize": 64 + }, + { + "id": 245, + "displayName": "Acacia Button", + "name": "acacia_button", + "stackSize": 64 + }, + { + "id": 246, + "displayName": "Dark Oak Button", + "name": "dark_oak_button", + "stackSize": 64 + }, + { + "id": 247, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 248, + "displayName": "Chipped Anvil", + "name": "chipped_anvil", + "stackSize": 64 + }, + { + "id": 249, + "displayName": "Damaged Anvil", + "name": "damaged_anvil", + "stackSize": 64 + }, + { + "id": 250, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 251, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 252, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 253, + "displayName": "Daylight Detector", + "name": "daylight_detector", + "stackSize": 64 + }, + { + "id": 254, + "displayName": "Block of Redstone", + "name": "redstone_block", + "stackSize": 64 + }, + { + "id": 255, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Hopper", + "name": "hopper", + "stackSize": 64 + }, + { + "id": 257, + "displayName": "Chiseled Quartz Block", + "name": "chiseled_quartz_block", + "stackSize": 64 + }, + { + "id": 258, + "displayName": "Block of Quartz", + "name": "quartz_block", + "stackSize": 64 + }, + { + "id": 259, + "displayName": "Quartz Pillar", + "name": "quartz_pillar", + "stackSize": 64 + }, + { + "id": 260, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 261, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 262, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64 + }, + { + "id": 263, + "displayName": "White Terracotta", + "name": "white_terracotta", + "stackSize": 64 + }, + { + "id": 264, + "displayName": "Orange Terracotta", + "name": "orange_terracotta", + "stackSize": 64 + }, + { + "id": 265, + "displayName": "Magenta Terracotta", + "name": "magenta_terracotta", + "stackSize": 64 + }, + { + "id": 266, + "displayName": "Light Blue Terracotta", + "name": "light_blue_terracotta", + "stackSize": 64 + }, + { + "id": 267, + "displayName": "Yellow Terracotta", + "name": "yellow_terracotta", + "stackSize": 64 + }, + { + "id": 268, + "displayName": "Lime Terracotta", + "name": "lime_terracotta", + "stackSize": 64 + }, + { + "id": 269, + "displayName": "Pink Terracotta", + "name": "pink_terracotta", + "stackSize": 64 + }, + { + "id": 270, + "displayName": "Gray Terracotta", + "name": "gray_terracotta", + "stackSize": 64 + }, + { + "id": 271, + "displayName": "Light Gray Terracotta", + "name": "light_gray_terracotta", + "stackSize": 64 + }, + { + "id": 272, + "displayName": "Cyan Terracotta", + "name": "cyan_terracotta", + "stackSize": 64 + }, + { + "id": 273, + "displayName": "Purple Terracotta", + "name": "purple_terracotta", + "stackSize": 64 + }, + { + "id": 274, + "displayName": "Blue Terracotta", + "name": "blue_terracotta", + "stackSize": 64 + }, + { + "id": 275, + "displayName": "Brown Terracotta", + "name": "brown_terracotta", + "stackSize": 64 + }, + { + "id": 276, + "displayName": "Green Terracotta", + "name": "green_terracotta", + "stackSize": 64 + }, + { + "id": 277, + "displayName": "Red Terracotta", + "name": "red_terracotta", + "stackSize": 64 + }, + { + "id": 278, + "displayName": "Black Terracotta", + "name": "black_terracotta", + "stackSize": 64 + }, + { + "id": 279, + "displayName": "Barrier", + "name": "barrier", + "stackSize": 64 + }, + { + "id": 280, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 281, + "displayName": "Hay Bale", + "name": "hay_block", + "stackSize": 64 + }, + { + "id": 282, + "displayName": "White Carpet", + "name": "white_carpet", + "stackSize": 64 + }, + { + "id": 283, + "displayName": "Orange Carpet", + "name": "orange_carpet", + "stackSize": 64 + }, + { + "id": 284, + "displayName": "Magenta Carpet", + "name": "magenta_carpet", + "stackSize": 64 + }, + { + "id": 285, + "displayName": "Light Blue Carpet", + "name": "light_blue_carpet", + "stackSize": 64 + }, + { + "id": 286, + "displayName": "Yellow Carpet", + "name": "yellow_carpet", + "stackSize": 64 + }, + { + "id": 287, + "displayName": "Lime Carpet", + "name": "lime_carpet", + "stackSize": 64 + }, + { + "id": 288, + "displayName": "Pink Carpet", + "name": "pink_carpet", + "stackSize": 64 + }, + { + "id": 289, + "displayName": "Gray Carpet", + "name": "gray_carpet", + "stackSize": 64 + }, + { + "id": 290, + "displayName": "Light Gray Carpet", + "name": "light_gray_carpet", + "stackSize": 64 + }, + { + "id": 291, + "displayName": "Cyan Carpet", + "name": "cyan_carpet", + "stackSize": 64 + }, + { + "id": 292, + "displayName": "Purple Carpet", + "name": "purple_carpet", + "stackSize": 64 + }, + { + "id": 293, + "displayName": "Blue Carpet", + "name": "blue_carpet", + "stackSize": 64 + }, + { + "id": 294, + "displayName": "Brown Carpet", + "name": "brown_carpet", + "stackSize": 64 + }, + { + "id": 295, + "displayName": "Green Carpet", + "name": "green_carpet", + "stackSize": 64 + }, + { + "id": 296, + "displayName": "Red Carpet", + "name": "red_carpet", + "stackSize": 64 + }, + { + "id": 297, + "displayName": "Black Carpet", + "name": "black_carpet", + "stackSize": 64 + }, + { + "id": 298, + "displayName": "Terracotta", + "name": "terracotta", + "stackSize": 64 + }, + { + "id": 299, + "displayName": "Block of Coal", + "name": "coal_block", + "stackSize": 64 + }, + { + "id": 300, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 301, + "displayName": "Acacia Stairs", + "name": "acacia_stairs", + "stackSize": 64 + }, + { + "id": 302, + "displayName": "Dark Oak Stairs", + "name": "dark_oak_stairs", + "stackSize": 64 + }, + { + "id": 303, + "displayName": "Slime Block", + "name": "slime_block", + "stackSize": 64 + }, + { + "id": 304, + "displayName": "Grass Path", + "name": "grass_path", + "stackSize": 64 + }, + { + "id": 305, + "displayName": "Sunflower", + "name": "sunflower", + "stackSize": 64 + }, + { + "id": 306, + "displayName": "Lilac", + "name": "lilac", + "stackSize": 64 + }, + { + "id": 307, + "displayName": "Rose Bush", + "name": "rose_bush", + "stackSize": 64 + }, + { + "id": 308, + "displayName": "Peony", + "name": "peony", + "stackSize": 64 + }, + { + "id": 309, + "displayName": "Tall Grass", + "name": "tall_grass", + "stackSize": 64 + }, + { + "id": 310, + "displayName": "Large Fern", + "name": "large_fern", + "stackSize": 64 + }, + { + "id": 311, + "displayName": "White Stained Glass", + "name": "white_stained_glass", + "stackSize": 64 + }, + { + "id": 312, + "displayName": "Orange Stained Glass", + "name": "orange_stained_glass", + "stackSize": 64 + }, + { + "id": 313, + "displayName": "Magenta Stained Glass", + "name": "magenta_stained_glass", + "stackSize": 64 + }, + { + "id": 314, + "displayName": "Light Blue Stained Glass", + "name": "light_blue_stained_glass", + "stackSize": 64 + }, + { + "id": 315, + "displayName": "Yellow Stained Glass", + "name": "yellow_stained_glass", + "stackSize": 64 + }, + { + "id": 316, + "displayName": "Lime Stained Glass", + "name": "lime_stained_glass", + "stackSize": 64 + }, + { + "id": 317, + "displayName": "Pink Stained Glass", + "name": "pink_stained_glass", + "stackSize": 64 + }, + { + "id": 318, + "displayName": "Gray Stained Glass", + "name": "gray_stained_glass", + "stackSize": 64 + }, + { + "id": 319, + "displayName": "Light Gray Stained Glass", + "name": "light_gray_stained_glass", + "stackSize": 64 + }, + { + "id": 320, + "displayName": "Cyan Stained Glass", + "name": "cyan_stained_glass", + "stackSize": 64 + }, + { + "id": 321, + "displayName": "Purple Stained Glass", + "name": "purple_stained_glass", + "stackSize": 64 + }, + { + "id": 322, + "displayName": "Blue Stained Glass", + "name": "blue_stained_glass", + "stackSize": 64 + }, + { + "id": 323, + "displayName": "Brown Stained Glass", + "name": "brown_stained_glass", + "stackSize": 64 + }, + { + "id": 324, + "displayName": "Green Stained Glass", + "name": "green_stained_glass", + "stackSize": 64 + }, + { + "id": 325, + "displayName": "Red Stained Glass", + "name": "red_stained_glass", + "stackSize": 64 + }, + { + "id": 326, + "displayName": "Black Stained Glass", + "name": "black_stained_glass", + "stackSize": 64 + }, + { + "id": 327, + "displayName": "White Stained Glass Pane", + "name": "white_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 328, + "displayName": "Orange Stained Glass Pane", + "name": "orange_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 329, + "displayName": "Magenta Stained Glass Pane", + "name": "magenta_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 330, + "displayName": "Light Blue Stained Glass Pane", + "name": "light_blue_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 331, + "displayName": "Yellow Stained Glass Pane", + "name": "yellow_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 332, + "displayName": "Lime Stained Glass Pane", + "name": "lime_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 333, + "displayName": "Pink Stained Glass Pane", + "name": "pink_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 334, + "displayName": "Gray Stained Glass Pane", + "name": "gray_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 335, + "displayName": "Light Gray Stained Glass Pane", + "name": "light_gray_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 336, + "displayName": "Cyan Stained Glass Pane", + "name": "cyan_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 337, + "displayName": "Purple Stained Glass Pane", + "name": "purple_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 338, + "displayName": "Blue Stained Glass Pane", + "name": "blue_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 339, + "displayName": "Brown Stained Glass Pane", + "name": "brown_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 340, + "displayName": "Green Stained Glass Pane", + "name": "green_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 341, + "displayName": "Red Stained Glass Pane", + "name": "red_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 342, + "displayName": "Black Stained Glass Pane", + "name": "black_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 343, + "displayName": "Prismarine", + "name": "prismarine", + "stackSize": 64 + }, + { + "id": 344, + "displayName": "Prismarine Bricks", + "name": "prismarine_bricks", + "stackSize": 64 + }, + { + "id": 345, + "displayName": "Dark Prismarine", + "name": "dark_prismarine", + "stackSize": 64 + }, + { + "id": 346, + "displayName": "Prismarine Stairs", + "name": "prismarine_stairs", + "stackSize": 64 + }, + { + "id": 347, + "displayName": "Prismarine Brick Stairs", + "name": "prismarine_brick_stairs", + "stackSize": 64 + }, + { + "id": 348, + "displayName": "Dark Prismarine Stairs", + "name": "dark_prismarine_stairs", + "stackSize": 64 + }, + { + "id": 349, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "stackSize": 64 + }, + { + "id": 350, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "stackSize": 64 + }, + { + "id": 351, + "displayName": "Chiseled Red Sandstone", + "name": "chiseled_red_sandstone", + "stackSize": 64 + }, + { + "id": 352, + "displayName": "Cut Red Sandstone", + "name": "cut_red_sandstone", + "stackSize": 64 + }, + { + "id": 353, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 354, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "stackSize": 64 + }, + { + "id": 355, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "stackSize": 64 + }, + { + "id": 356, + "displayName": "Magma Block", + "name": "magma_block", + "stackSize": 64 + }, + { + "id": 357, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "stackSize": 64 + }, + { + "id": 358, + "displayName": "Red Nether Bricks", + "name": "red_nether_bricks", + "stackSize": 64 + }, + { + "id": 359, + "displayName": "Bone Block", + "name": "bone_block", + "stackSize": 64 + }, + { + "id": 360, + "displayName": "Structure Void", + "name": "structure_void", + "stackSize": 64 + }, + { + "id": 361, + "displayName": "Observer", + "name": "observer", + "stackSize": 64 + }, + { + "id": 362, + "displayName": "Shulker Box", + "name": "shulker_box", + "stackSize": 1 + }, + { + "id": 363, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "stackSize": 1 + }, + { + "id": 364, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "stackSize": 1 + }, + { + "id": 365, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "stackSize": 1 + }, + { + "id": 366, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "stackSize": 1 + }, + { + "id": 367, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "stackSize": 1 + }, + { + "id": 368, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "stackSize": 1 + }, + { + "id": 369, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "stackSize": 1 + }, + { + "id": 370, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "stackSize": 1 + }, + { + "id": 371, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "stackSize": 1 + }, + { + "id": 372, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "stackSize": 1 + }, + { + "id": 373, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "stackSize": 1 + }, + { + "id": 374, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "stackSize": 1 + }, + { + "id": 375, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "stackSize": 1 + }, + { + "id": 376, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "stackSize": 1 + }, + { + "id": 377, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "stackSize": 1 + }, + { + "id": 378, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "stackSize": 1 + }, + { + "id": 379, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 380, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 381, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 382, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 383, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 384, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 385, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 386, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 387, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 388, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 389, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 390, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 391, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 392, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 393, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 394, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 395, + "displayName": "White Concrete", + "name": "white_concrete", + "stackSize": 64 + }, + { + "id": 396, + "displayName": "Orange Concrete", + "name": "orange_concrete", + "stackSize": 64 + }, + { + "id": 397, + "displayName": "Magenta Concrete", + "name": "magenta_concrete", + "stackSize": 64 + }, + { + "id": 398, + "displayName": "Light Blue Concrete", + "name": "light_blue_concrete", + "stackSize": 64 + }, + { + "id": 399, + "displayName": "Yellow Concrete", + "name": "yellow_concrete", + "stackSize": 64 + }, + { + "id": 400, + "displayName": "Lime Concrete", + "name": "lime_concrete", + "stackSize": 64 + }, + { + "id": 401, + "displayName": "Pink Concrete", + "name": "pink_concrete", + "stackSize": 64 + }, + { + "id": 402, + "displayName": "Gray Concrete", + "name": "gray_concrete", + "stackSize": 64 + }, + { + "id": 403, + "displayName": "Light Gray Concrete", + "name": "light_gray_concrete", + "stackSize": 64 + }, + { + "id": 404, + "displayName": "Cyan Concrete", + "name": "cyan_concrete", + "stackSize": 64 + }, + { + "id": 405, + "displayName": "Purple Concrete", + "name": "purple_concrete", + "stackSize": 64 + }, + { + "id": 406, + "displayName": "Blue Concrete", + "name": "blue_concrete", + "stackSize": 64 + }, + { + "id": 407, + "displayName": "Brown Concrete", + "name": "brown_concrete", + "stackSize": 64 + }, + { + "id": 408, + "displayName": "Green Concrete", + "name": "green_concrete", + "stackSize": 64 + }, + { + "id": 409, + "displayName": "Red Concrete", + "name": "red_concrete", + "stackSize": 64 + }, + { + "id": 410, + "displayName": "Black Concrete", + "name": "black_concrete", + "stackSize": 64 + }, + { + "id": 411, + "displayName": "White Concrete Powder", + "name": "white_concrete_powder", + "stackSize": 64 + }, + { + "id": 412, + "displayName": "Orange Concrete Powder", + "name": "orange_concrete_powder", + "stackSize": 64 + }, + { + "id": 413, + "displayName": "Magenta Concrete Powder", + "name": "magenta_concrete_powder", + "stackSize": 64 + }, + { + "id": 414, + "displayName": "Light Blue Concrete Powder", + "name": "light_blue_concrete_powder", + "stackSize": 64 + }, + { + "id": 415, + "displayName": "Yellow Concrete Powder", + "name": "yellow_concrete_powder", + "stackSize": 64 + }, + { + "id": 416, + "displayName": "Lime Concrete Powder", + "name": "lime_concrete_powder", + "stackSize": 64 + }, + { + "id": 417, + "displayName": "Pink Concrete Powder", + "name": "pink_concrete_powder", + "stackSize": 64 + }, + { + "id": 418, + "displayName": "Gray Concrete Powder", + "name": "gray_concrete_powder", + "stackSize": 64 + }, + { + "id": 419, + "displayName": "Light Gray Concrete Powder", + "name": "light_gray_concrete_powder", + "stackSize": 64 + }, + { + "id": 420, + "displayName": "Cyan Concrete Powder", + "name": "cyan_concrete_powder", + "stackSize": 64 + }, + { + "id": 421, + "displayName": "Purple Concrete Powder", + "name": "purple_concrete_powder", + "stackSize": 64 + }, + { + "id": 422, + "displayName": "Blue Concrete Powder", + "name": "blue_concrete_powder", + "stackSize": 64 + }, + { + "id": 423, + "displayName": "Brown Concrete Powder", + "name": "brown_concrete_powder", + "stackSize": 64 + }, + { + "id": 424, + "displayName": "Green Concrete Powder", + "name": "green_concrete_powder", + "stackSize": 64 + }, + { + "id": 425, + "displayName": "Red Concrete Powder", + "name": "red_concrete_powder", + "stackSize": 64 + }, + { + "id": 426, + "displayName": "Black Concrete Powder", + "name": "black_concrete_powder", + "stackSize": 64 + }, + { + "id": 427, + "displayName": "Turtle Egg", + "name": "turtle_egg", + "stackSize": 64 + }, + { + "id": 428, + "displayName": "Dead Tube Coral Block", + "name": "dead_tube_coral_block", + "stackSize": 64 + }, + { + "id": 429, + "displayName": "Dead Brain Coral Block", + "name": "dead_brain_coral_block", + "stackSize": 64 + }, + { + "id": 430, + "displayName": "Dead Bubble Coral Block", + "name": "dead_bubble_coral_block", + "stackSize": 64 + }, + { + "id": 431, + "displayName": "Dead Fire Coral Block", + "name": "dead_fire_coral_block", + "stackSize": 64 + }, + { + "id": 432, + "displayName": "Dead Horn Coral Block", + "name": "dead_horn_coral_block", + "stackSize": 64 + }, + { + "id": 433, + "displayName": "Tube Coral Block", + "name": "tube_coral_block", + "stackSize": 64 + }, + { + "id": 434, + "displayName": "Brain Coral Block", + "name": "brain_coral_block", + "stackSize": 64 + }, + { + "id": 435, + "displayName": "Bubble Coral Block", + "name": "bubble_coral_block", + "stackSize": 64 + }, + { + "id": 436, + "displayName": "Fire Coral Block", + "name": "fire_coral_block", + "stackSize": 64 + }, + { + "id": 437, + "displayName": "Horn Coral Block", + "name": "horn_coral_block", + "stackSize": 64 + }, + { + "id": 438, + "displayName": "Tube Coral", + "name": "tube_coral", + "stackSize": 64 + }, + { + "id": 439, + "displayName": "Brain Coral", + "name": "brain_coral", + "stackSize": 64 + }, + { + "id": 440, + "displayName": "Bubble Coral", + "name": "bubble_coral", + "stackSize": 64 + }, + { + "id": 441, + "displayName": "Fire Coral", + "name": "fire_coral", + "stackSize": 64 + }, + { + "id": 442, + "displayName": "Horn Coral", + "name": "horn_coral", + "stackSize": 64 + }, + { + "id": 443, + "displayName": "Dead Brain Coral", + "name": "dead_brain_coral", + "stackSize": 64 + }, + { + "id": 444, + "displayName": "Dead Bubble Coral", + "name": "dead_bubble_coral", + "stackSize": 64 + }, + { + "id": 445, + "displayName": "Dead Fire Coral", + "name": "dead_fire_coral", + "stackSize": 64 + }, + { + "id": 446, + "displayName": "Dead Horn Coral", + "name": "dead_horn_coral", + "stackSize": 64 + }, + { + "id": 447, + "displayName": "Dead Tube Coral", + "name": "dead_tube_coral", + "stackSize": 64 + }, + { + "id": 448, + "displayName": "Tube Coral Fan", + "name": "tube_coral_fan", + "stackSize": 64 + }, + { + "id": 449, + "displayName": "Brain Coral Fan", + "name": "brain_coral_fan", + "stackSize": 64 + }, + { + "id": 450, + "displayName": "Bubble Coral Fan", + "name": "bubble_coral_fan", + "stackSize": 64 + }, + { + "id": 451, + "displayName": "Fire Coral Fan", + "name": "fire_coral_fan", + "stackSize": 64 + }, + { + "id": 452, + "displayName": "Horn Coral Fan", + "name": "horn_coral_fan", + "stackSize": 64 + }, + { + "id": 453, + "displayName": "Dead Tube Coral Fan", + "name": "dead_tube_coral_fan", + "stackSize": 64 + }, + { + "id": 454, + "displayName": "Dead Brain Coral Fan", + "name": "dead_brain_coral_fan", + "stackSize": 64 + }, + { + "id": 455, + "displayName": "Dead Bubble Coral Fan", + "name": "dead_bubble_coral_fan", + "stackSize": 64 + }, + { + "id": 456, + "displayName": "Dead Fire Coral Fan", + "name": "dead_fire_coral_fan", + "stackSize": 64 + }, + { + "id": 457, + "displayName": "Dead Horn Coral Fan", + "name": "dead_horn_coral_fan", + "stackSize": 64 + }, + { + "id": 458, + "displayName": "Blue Ice", + "name": "blue_ice", + "stackSize": 64 + }, + { + "id": 459, + "displayName": "Conduit", + "name": "conduit", + "stackSize": 64 + }, + { + "id": 460, + "displayName": "Iron Door", + "name": "iron_door", + "stackSize": 64 + }, + { + "id": 461, + "displayName": "Oak Door", + "name": "oak_door", + "stackSize": 64 + }, + { + "id": 462, + "displayName": "Spruce Door", + "name": "spruce_door", + "stackSize": 64 + }, + { + "id": 463, + "displayName": "Birch Door", + "name": "birch_door", + "stackSize": 64 + }, + { + "id": 464, + "displayName": "Jungle Door", + "name": "jungle_door", + "stackSize": 64 + }, + { + "id": 465, + "displayName": "Acacia Door", + "name": "acacia_door", + "stackSize": 64 + }, + { + "id": 466, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "stackSize": 64 + }, + { + "id": 467, + "displayName": "Redstone Repeater", + "name": "repeater", + "stackSize": 64 + }, + { + "id": 468, + "displayName": "Redstone Comparator", + "name": "comparator", + "stackSize": 64 + }, + { + "id": 469, + "displayName": "Structure Block", + "name": "structure_block", + "stackSize": 64 + }, + { + "id": 470, + "displayName": "Turtle Shell", + "name": "turtle_helmet", + "stackSize": 1 + }, + { + "id": 471, + "displayName": "Scute", + "name": "scute", + "stackSize": 64 + }, + { + "id": 472, + "displayName": "Iron Shovel", + "name": "iron_shovel", + "stackSize": 64 + }, + { + "id": 473, + "displayName": "Iron Pickaxe", + "name": "iron_pickaxe", + "stackSize": 64 + }, + { + "id": 474, + "displayName": "Iron Axe", + "name": "iron_axe", + "stackSize": 64 + }, + { + "id": 475, + "displayName": "Flint and Steel", + "name": "flint_and_steel", + "stackSize": 64 + }, + { + "id": 476, + "displayName": "Apple", + "name": "apple", + "stackSize": 64 + }, + { + "id": 477, + "displayName": "Bow", + "name": "bow", + "stackSize": 64 + }, + { + "id": 478, + "displayName": "Arrow", + "name": "arrow", + "stackSize": 64 + }, + { + "id": 479, + "displayName": "Coal", + "name": "coal", + "stackSize": 64 + }, + { + "id": 480, + "displayName": "Charcoal", + "name": "charcoal", + "stackSize": 64 + }, + { + "id": 481, + "displayName": "Diamond", + "name": "diamond", + "stackSize": 64 + }, + { + "id": 482, + "displayName": "Iron Ingot", + "name": "iron_ingot", + "stackSize": 64 + }, + { + "id": 483, + "displayName": "Gold Ingot", + "name": "gold_ingot", + "stackSize": 64 + }, + { + "id": 484, + "displayName": "Iron Sword", + "name": "iron_sword", + "stackSize": 64 + }, + { + "id": 485, + "displayName": "Wooden Sword", + "name": "wooden_sword", + "stackSize": 64 + }, + { + "id": 486, + "displayName": "Wooden Shovel", + "name": "wooden_shovel", + "stackSize": 64 + }, + { + "id": 487, + "displayName": "Wooden Pickaxe", + "name": "wooden_pickaxe", + "stackSize": 64 + }, + { + "id": 488, + "displayName": "Wooden Axe", + "name": "wooden_axe", + "stackSize": 64 + }, + { + "id": 489, + "displayName": "Stone Sword", + "name": "stone_sword", + "stackSize": 64 + }, + { + "id": 490, + "displayName": "Stone Shovel", + "name": "stone_shovel", + "stackSize": 64 + }, + { + "id": 491, + "displayName": "Stone Pickaxe", + "name": "stone_pickaxe", + "stackSize": 64 + }, + { + "id": 492, + "displayName": "Stone Axe", + "name": "stone_axe", + "stackSize": 64 + }, + { + "id": 493, + "displayName": "Diamond Sword", + "name": "diamond_sword", + "stackSize": 64 + }, + { + "id": 494, + "displayName": "Diamond Shovel", + "name": "diamond_shovel", + "stackSize": 64 + }, + { + "id": 495, + "displayName": "Diamond Pickaxe", + "name": "diamond_pickaxe", + "stackSize": 64 + }, + { + "id": 496, + "displayName": "Diamond Axe", + "name": "diamond_axe", + "stackSize": 64 + }, + { + "id": 497, + "displayName": "Stick", + "name": "stick", + "stackSize": 64 + }, + { + "id": 498, + "displayName": "Bowl", + "name": "bowl", + "stackSize": 64 + }, + { + "id": 499, + "displayName": "Mushroom Stew", + "name": "mushroom_stew", + "stackSize": 1 + }, + { + "id": 500, + "displayName": "Golden Sword", + "name": "golden_sword", + "stackSize": 64 + }, + { + "id": 501, + "displayName": "Golden Shovel", + "name": "golden_shovel", + "stackSize": 64 + }, + { + "id": 502, + "displayName": "Golden Pickaxe", + "name": "golden_pickaxe", + "stackSize": 64 + }, + { + "id": 503, + "displayName": "Golden Axe", + "name": "golden_axe", + "stackSize": 64 + }, + { + "id": 504, + "displayName": "String", + "name": "string", + "stackSize": 64 + }, + { + "id": 505, + "displayName": "Feather", + "name": "feather", + "stackSize": 64 + }, + { + "id": 506, + "displayName": "Gunpowder", + "name": "gunpowder", + "stackSize": 64 + }, + { + "id": 507, + "displayName": "Wooden Hoe", + "name": "wooden_hoe", + "stackSize": 64 + }, + { + "id": 508, + "displayName": "Stone Hoe", + "name": "stone_hoe", + "stackSize": 64 + }, + { + "id": 509, + "displayName": "Iron Hoe", + "name": "iron_hoe", + "stackSize": 64 + }, + { + "id": 510, + "displayName": "Diamond Hoe", + "name": "diamond_hoe", + "stackSize": 64 + }, + { + "id": 511, + "displayName": "Golden Hoe", + "name": "golden_hoe", + "stackSize": 64 + }, + { + "id": 512, + "displayName": "Wheat Seeds", + "name": "wheat_seeds", + "stackSize": 64 + }, + { + "id": 513, + "displayName": "Wheat", + "name": "wheat", + "stackSize": 64 + }, + { + "id": 514, + "displayName": "Bread", + "name": "bread", + "stackSize": 64 + }, + { + "id": 515, + "displayName": "Leather Cap", + "name": "leather_helmet", + "stackSize": 1 + }, + { + "id": 516, + "displayName": "Leather Tunic", + "name": "leather_chestplate", + "stackSize": 1 + }, + { + "id": 517, + "displayName": "Leather Pants", + "name": "leather_leggings", + "stackSize": 1 + }, + { + "id": 518, + "displayName": "Leather Boots", + "name": "leather_boots", + "stackSize": 1 + }, + { + "id": 519, + "displayName": "Chainmail Helmet", + "name": "chainmail_helmet", + "stackSize": 1 + }, + { + "id": 520, + "displayName": "Chainmail Chestplate", + "name": "chainmail_chestplate", + "stackSize": 1 + }, + { + "id": 521, + "displayName": "Chainmail Leggings", + "name": "chainmail_leggings", + "stackSize": 1 + }, + { + "id": 522, + "displayName": "Chainmail Boots", + "name": "chainmail_boots", + "stackSize": 1 + }, + { + "id": 523, + "displayName": "Iron Helmet", + "name": "iron_helmet", + "stackSize": 1 + }, + { + "id": 524, + "displayName": "Iron Chestplate", + "name": "iron_chestplate", + "stackSize": 1 + }, + { + "id": 525, + "displayName": "Iron Leggings", + "name": "iron_leggings", + "stackSize": 1 + }, + { + "id": 526, + "displayName": "Iron Boots", + "name": "iron_boots", + "stackSize": 1 + }, + { + "id": 527, + "displayName": "Diamond Helmet", + "name": "diamond_helmet", + "stackSize": 1 + }, + { + "id": 528, + "displayName": "Diamond Chestplate", + "name": "diamond_chestplate", + "stackSize": 1 + }, + { + "id": 529, + "displayName": "Diamond Leggings", + "name": "diamond_leggings", + "stackSize": 1 + }, + { + "id": 530, + "displayName": "Diamond Boots", + "name": "diamond_boots", + "stackSize": 1 + }, + { + "id": 531, + "displayName": "Golden Helmet", + "name": "golden_helmet", + "stackSize": 1 + }, + { + "id": 532, + "displayName": "Golden Chestplate", + "name": "golden_chestplate", + "stackSize": 1 + }, + { + "id": 533, + "displayName": "Golden Leggings", + "name": "golden_leggings", + "stackSize": 1 + }, + { + "id": 534, + "displayName": "Golden Boots", + "name": "golden_boots", + "stackSize": 1 + }, + { + "id": 535, + "displayName": "Flint", + "name": "flint", + "stackSize": 64 + }, + { + "id": 536, + "displayName": "Raw Porkchop", + "name": "porkchop", + "stackSize": 64 + }, + { + "id": 537, + "displayName": "Cooked Porkchop", + "name": "cooked_porkchop", + "stackSize": 64 + }, + { + "id": 538, + "displayName": "Painting", + "name": "painting", + "stackSize": 64 + }, + { + "id": 539, + "displayName": "Golden Apple", + "name": "golden_apple", + "stackSize": 64 + }, + { + "id": 540, + "displayName": "Enchanted Golden Apple", + "name": "enchanted_golden_apple", + "stackSize": 64 + }, + { + "id": 541, + "displayName": "Sign", + "name": "sign", + "stackSize": 16 + }, + { + "id": 542, + "displayName": "Bucket", + "name": "bucket", + "stackSize": 16 + }, + { + "id": 543, + "displayName": "Water Bucket", + "name": "water_bucket", + "stackSize": 1 + }, + { + "id": 544, + "displayName": "Lava Bucket", + "name": "lava_bucket", + "stackSize": 1 + }, + { + "id": 545, + "displayName": "Minecart", + "name": "minecart", + "stackSize": 1 + }, + { + "id": 546, + "displayName": "Saddle", + "name": "saddle", + "stackSize": 1 + }, + { + "id": 547, + "displayName": "Redstone", + "name": "redstone", + "stackSize": 64 + }, + { + "id": 548, + "displayName": "Snowball", + "name": "snowball", + "stackSize": 16 + }, + { + "id": 549, + "displayName": "Oak Boat", + "name": "oak_boat", + "stackSize": 1 + }, + { + "id": 550, + "displayName": "Leather", + "name": "leather", + "stackSize": 64 + }, + { + "id": 551, + "displayName": "Milk Bucket", + "name": "milk_bucket", + "stackSize": 1 + }, + { + "id": 552, + "displayName": "Bucket of Pufferfish", + "name": "pufferfish_bucket", + "stackSize": 1 + }, + { + "id": 553, + "displayName": "Bucket of Salmon", + "name": "salmon_bucket", + "stackSize": 1 + }, + { + "id": 554, + "displayName": "Bucket of Cod", + "name": "cod_bucket", + "stackSize": 1 + }, + { + "id": 555, + "displayName": "Bucket of Tropical Fish", + "name": "tropical_fish_bucket", + "stackSize": 1 + }, + { + "id": 556, + "displayName": "Brick", + "name": "brick", + "stackSize": 64 + }, + { + "id": 557, + "displayName": "Clay", + "name": "clay_ball", + "stackSize": 64 + }, + { + "id": 558, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "stackSize": 64 + }, + { + "id": 559, + "displayName": "Kelp", + "name": "kelp", + "stackSize": 64 + }, + { + "id": 560, + "displayName": "Dried Kelp Block", + "name": "dried_kelp_block", + "stackSize": 64 + }, + { + "id": 561, + "displayName": "Paper", + "name": "paper", + "stackSize": 64 + }, + { + "id": 562, + "displayName": "Book", + "name": "book", + "stackSize": 64 + }, + { + "id": 563, + "displayName": "Slimeball", + "name": "slime_ball", + "stackSize": 64 + }, + { + "id": 564, + "displayName": "Minecart with Chest", + "name": "chest_minecart", + "stackSize": 1 + }, + { + "id": 565, + "displayName": "Minecart with Furnace", + "name": "furnace_minecart", + "stackSize": 1 + }, + { + "id": 566, + "displayName": "Egg", + "name": "egg", + "stackSize": 16 + }, + { + "id": 567, + "displayName": "Compass", + "name": "compass", + "stackSize": 64 + }, + { + "id": 568, + "displayName": "Fishing Rod", + "name": "fishing_rod", + "stackSize": 64 + }, + { + "id": 569, + "displayName": "Clock", + "name": "clock", + "stackSize": 64 + }, + { + "id": 570, + "displayName": "Glowstone Dust", + "name": "glowstone_dust", + "stackSize": 64 + }, + { + "id": 571, + "displayName": "Raw Cod", + "name": "cod", + "stackSize": 64 + }, + { + "id": 572, + "displayName": "Raw Salmon", + "name": "salmon", + "stackSize": 64 + }, + { + "id": 573, + "displayName": "Tropical Fish", + "name": "tropical_fish", + "stackSize": 64 + }, + { + "id": 574, + "displayName": "Pufferfish", + "name": "pufferfish", + "stackSize": 64 + }, + { + "id": 575, + "displayName": "Cooked Cod", + "name": "cooked_cod", + "stackSize": 64 + }, + { + "id": 576, + "displayName": "Cooked Salmon", + "name": "cooked_salmon", + "stackSize": 64 + }, + { + "id": 577, + "displayName": "Ink Sac", + "name": "ink_sac", + "stackSize": 64 + }, + { + "id": 578, + "displayName": "Rose Red", + "name": "rose_red", + "stackSize": 64 + }, + { + "id": 579, + "displayName": "Cactus Green", + "name": "cactus_green", + "stackSize": 64 + }, + { + "id": 580, + "displayName": "Cocoa Beans", + "name": "cocoa_beans", + "stackSize": 64 + }, + { + "id": 581, + "displayName": "Lapis Lazuli", + "name": "lapis_lazuli", + "stackSize": 64 + }, + { + "id": 582, + "displayName": "Purple Dye", + "name": "purple_dye", + "stackSize": 64 + }, + { + "id": 583, + "displayName": "Cyan Dye", + "name": "cyan_dye", + "stackSize": 64 + }, + { + "id": 584, + "displayName": "Light Gray Dye", + "name": "light_gray_dye", + "stackSize": 64 + }, + { + "id": 585, + "displayName": "Gray Dye", + "name": "gray_dye", + "stackSize": 64 + }, + { + "id": 586, + "displayName": "Pink Dye", + "name": "pink_dye", + "stackSize": 64 + }, + { + "id": 587, + "displayName": "Lime Dye", + "name": "lime_dye", + "stackSize": 64 + }, + { + "id": 588, + "displayName": "Dandelion Yellow", + "name": "dandelion_yellow", + "stackSize": 64 + }, + { + "id": 589, + "displayName": "Light Blue Dye", + "name": "light_blue_dye", + "stackSize": 64 + }, + { + "id": 590, + "displayName": "Magenta Dye", + "name": "magenta_dye", + "stackSize": 64 + }, + { + "id": 591, + "displayName": "Orange Dye", + "name": "orange_dye", + "stackSize": 64 + }, + { + "id": 592, + "displayName": "Bone Meal", + "name": "bone_meal", + "stackSize": 64 + }, + { + "id": 593, + "displayName": "Bone", + "name": "bone", + "stackSize": 64 + }, + { + "id": 594, + "displayName": "Sugar", + "name": "sugar", + "stackSize": 64 + }, + { + "id": 595, + "displayName": "Cake", + "name": "cake", + "stackSize": 1 + }, + { + "id": 596, + "displayName": "White Bed", + "name": "white_bed", + "stackSize": 1 + }, + { + "id": 597, + "displayName": "Orange Bed", + "name": "orange_bed", + "stackSize": 1 + }, + { + "id": 598, + "displayName": "Magenta Bed", + "name": "magenta_bed", + "stackSize": 1 + }, + { + "id": 599, + "displayName": "Light Blue Bed", + "name": "light_blue_bed", + "stackSize": 1 + }, + { + "id": 600, + "displayName": "Yellow Bed", + "name": "yellow_bed", + "stackSize": 1 + }, + { + "id": 601, + "displayName": "Lime Bed", + "name": "lime_bed", + "stackSize": 1 + }, + { + "id": 602, + "displayName": "Pink Bed", + "name": "pink_bed", + "stackSize": 1 + }, + { + "id": 603, + "displayName": "Gray Bed", + "name": "gray_bed", + "stackSize": 1 + }, + { + "id": 604, + "displayName": "Light Gray Bed", + "name": "light_gray_bed", + "stackSize": 1 + }, + { + "id": 605, + "displayName": "Cyan Bed", + "name": "cyan_bed", + "stackSize": 1 + }, + { + "id": 606, + "displayName": "Purple Bed", + "name": "purple_bed", + "stackSize": 1 + }, + { + "id": 607, + "displayName": "Blue Bed", + "name": "blue_bed", + "stackSize": 1 + }, + { + "id": 608, + "displayName": "Brown Bed", + "name": "brown_bed", + "stackSize": 1 + }, + { + "id": 609, + "displayName": "Green Bed", + "name": "green_bed", + "stackSize": 1 + }, + { + "id": 610, + "displayName": "Red Bed", + "name": "red_bed", + "stackSize": 1 + }, + { + "id": 611, + "displayName": "Black Bed", + "name": "black_bed", + "stackSize": 1 + }, + { + "id": 612, + "displayName": "Cookie", + "name": "cookie", + "stackSize": 64 + }, + { + "id": 613, + "displayName": "Map", + "name": "filled_map", + "stackSize": 64 + }, + { + "id": 614, + "displayName": "Shears", + "name": "shears", + "stackSize": 64 + }, + { + "id": 615, + "displayName": "Melon Slice", + "name": "melon_slice", + "stackSize": 64 + }, + { + "id": 616, + "displayName": "Dried Kelp", + "name": "dried_kelp", + "stackSize": 64 + }, + { + "id": 617, + "displayName": "Pumpkin Seeds", + "name": "pumpkin_seeds", + "stackSize": 64 + }, + { + "id": 618, + "displayName": "Melon Seeds", + "name": "melon_seeds", + "stackSize": 64 + }, + { + "id": 619, + "displayName": "Raw Beef", + "name": "beef", + "stackSize": 64 + }, + { + "id": 620, + "displayName": "Steak", + "name": "cooked_beef", + "stackSize": 64 + }, + { + "id": 621, + "displayName": "Raw Chicken", + "name": "chicken", + "stackSize": 64 + }, + { + "id": 622, + "displayName": "Cooked Chicken", + "name": "cooked_chicken", + "stackSize": 64 + }, + { + "id": 623, + "displayName": "Rotten Flesh", + "name": "rotten_flesh", + "stackSize": 64 + }, + { + "id": 624, + "displayName": "Ender Pearl", + "name": "ender_pearl", + "stackSize": 16 + }, + { + "id": 625, + "displayName": "Blaze Rod", + "name": "blaze_rod", + "stackSize": 64 + }, + { + "id": 626, + "displayName": "Ghast Tear", + "name": "ghast_tear", + "stackSize": 64 + }, + { + "id": 627, + "displayName": "Gold Nugget", + "name": "gold_nugget", + "stackSize": 64 + }, + { + "id": 628, + "displayName": "Nether Wart", + "name": "nether_wart", + "stackSize": 64 + }, + { + "id": 629, + "displayName": "Potion", + "name": "potion", + "stackSize": 1 + }, + { + "id": 630, + "displayName": "Glass Bottle", + "name": "glass_bottle", + "stackSize": 64 + }, + { + "id": 631, + "displayName": "Spider Eye", + "name": "spider_eye", + "stackSize": 64 + }, + { + "id": 632, + "displayName": "Fermented Spider Eye", + "name": "fermented_spider_eye", + "stackSize": 64 + }, + { + "id": 633, + "displayName": "Blaze Powder", + "name": "blaze_powder", + "stackSize": 64 + }, + { + "id": 634, + "displayName": "Magma Cream", + "name": "magma_cream", + "stackSize": 64 + }, + { + "id": 635, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "stackSize": 64 + }, + { + "id": 636, + "displayName": "Cauldron", + "name": "cauldron", + "stackSize": 64 + }, + { + "id": 637, + "displayName": "Eye of Ender", + "name": "ender_eye", + "stackSize": 64 + }, + { + "id": 638, + "displayName": "Glistering Melon Slice", + "name": "glistering_melon_slice", + "stackSize": 64 + }, + { + "id": 639, + "displayName": "Bat Spawn Egg", + "name": "bat_spawn_egg", + "stackSize": 64 + }, + { + "id": 640, + "displayName": "Blaze Spawn Egg", + "name": "blaze_spawn_egg", + "stackSize": 64 + }, + { + "id": 641, + "displayName": "Cave Spider Spawn Egg", + "name": "cave_spider_spawn_egg", + "stackSize": 64 + }, + { + "id": 642, + "displayName": "Chicken Spawn Egg", + "name": "chicken_spawn_egg", + "stackSize": 64 + }, + { + "id": 643, + "displayName": "Cod Spawn Egg", + "name": "cod_spawn_egg", + "stackSize": 64 + }, + { + "id": 644, + "displayName": "Cow Spawn Egg", + "name": "cow_spawn_egg", + "stackSize": 64 + }, + { + "id": 645, + "displayName": "Creeper Spawn Egg", + "name": "creeper_spawn_egg", + "stackSize": 64 + }, + { + "id": 646, + "displayName": "Dolphin Spawn Egg", + "name": "dolphin_spawn_egg", + "stackSize": 64 + }, + { + "id": 647, + "displayName": "Donkey Spawn Egg", + "name": "donkey_spawn_egg", + "stackSize": 64 + }, + { + "id": 648, + "displayName": "Drowned Spawn Egg", + "name": "drowned_spawn_egg", + "stackSize": 64 + }, + { + "id": 649, + "displayName": "Elder Guardian Spawn Egg", + "name": "elder_guardian_spawn_egg", + "stackSize": 64 + }, + { + "id": 650, + "displayName": "Enderman Spawn Egg", + "name": "enderman_spawn_egg", + "stackSize": 64 + }, + { + "id": 651, + "displayName": "Endermite Spawn Egg", + "name": "endermite_spawn_egg", + "stackSize": 64 + }, + { + "id": 652, + "displayName": "Evoker Spawn Egg", + "name": "evoker_spawn_egg", + "stackSize": 64 + }, + { + "id": 653, + "displayName": "Ghast Spawn Egg", + "name": "ghast_spawn_egg", + "stackSize": 64 + }, + { + "id": 654, + "displayName": "Guardian Spawn Egg", + "name": "guardian_spawn_egg", + "stackSize": 64 + }, + { + "id": 655, + "displayName": "Horse Spawn Egg", + "name": "horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 656, + "displayName": "Husk Spawn Egg", + "name": "husk_spawn_egg", + "stackSize": 64 + }, + { + "id": 657, + "displayName": "Llama Spawn Egg", + "name": "llama_spawn_egg", + "stackSize": 64 + }, + { + "id": 658, + "displayName": "Magma Cube Spawn Egg", + "name": "magma_cube_spawn_egg", + "stackSize": 64 + }, + { + "id": 659, + "displayName": "Mooshroom Spawn Egg", + "name": "mooshroom_spawn_egg", + "stackSize": 64 + }, + { + "id": 660, + "displayName": "Mule Spawn Egg", + "name": "mule_spawn_egg", + "stackSize": 64 + }, + { + "id": 661, + "displayName": "Ocelot Spawn Egg", + "name": "ocelot_spawn_egg", + "stackSize": 64 + }, + { + "id": 662, + "displayName": "Parrot Spawn Egg", + "name": "parrot_spawn_egg", + "stackSize": 64 + }, + { + "id": 663, + "displayName": "Phantom Spawn Egg", + "name": "phantom_spawn_egg", + "stackSize": 64 + }, + { + "id": 664, + "displayName": "Pig Spawn Egg", + "name": "pig_spawn_egg", + "stackSize": 64 + }, + { + "id": 665, + "displayName": "Polar Bear Spawn Egg", + "name": "polar_bear_spawn_egg", + "stackSize": 64 + }, + { + "id": 666, + "displayName": "Pufferfish Spawn Egg", + "name": "pufferfish_spawn_egg", + "stackSize": 64 + }, + { + "id": 667, + "displayName": "Rabbit Spawn Egg", + "name": "rabbit_spawn_egg", + "stackSize": 64 + }, + { + "id": 668, + "displayName": "Salmon Spawn Egg", + "name": "salmon_spawn_egg", + "stackSize": 64 + }, + { + "id": 669, + "displayName": "Sheep Spawn Egg", + "name": "sheep_spawn_egg", + "stackSize": 64 + }, + { + "id": 670, + "displayName": "Shulker Spawn Egg", + "name": "shulker_spawn_egg", + "stackSize": 64 + }, + { + "id": 671, + "displayName": "Silverfish Spawn Egg", + "name": "silverfish_spawn_egg", + "stackSize": 64 + }, + { + "id": 672, + "displayName": "Skeleton Spawn Egg", + "name": "skeleton_spawn_egg", + "stackSize": 64 + }, + { + "id": 673, + "displayName": "Skeleton Horse Spawn Egg", + "name": "skeleton_horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 674, + "displayName": "Slime Spawn Egg", + "name": "slime_spawn_egg", + "stackSize": 64 + }, + { + "id": 675, + "displayName": "Spider Spawn Egg", + "name": "spider_spawn_egg", + "stackSize": 64 + }, + { + "id": 676, + "displayName": "Squid Spawn Egg", + "name": "squid_spawn_egg", + "stackSize": 64 + }, + { + "id": 677, + "displayName": "Stray Spawn Egg", + "name": "stray_spawn_egg", + "stackSize": 64 + }, + { + "id": 678, + "displayName": "Tropical Fish Spawn Egg", + "name": "tropical_fish_spawn_egg", + "stackSize": 64 + }, + { + "id": 679, + "displayName": "Turtle Spawn Egg", + "name": "turtle_spawn_egg", + "stackSize": 64 + }, + { + "id": 680, + "displayName": "Vex Spawn Egg", + "name": "vex_spawn_egg", + "stackSize": 64 + }, + { + "id": 681, + "displayName": "Villager Spawn Egg", + "name": "villager_spawn_egg", + "stackSize": 64 + }, + { + "id": 682, + "displayName": "Vindicator Spawn Egg", + "name": "vindicator_spawn_egg", + "stackSize": 64 + }, + { + "id": 683, + "displayName": "Witch Spawn Egg", + "name": "witch_spawn_egg", + "stackSize": 64 + }, + { + "id": 684, + "displayName": "Wither Skeleton Spawn Egg", + "name": "wither_skeleton_spawn_egg", + "stackSize": 64 + }, + { + "id": 685, + "displayName": "Wolf Spawn Egg", + "name": "wolf_spawn_egg", + "stackSize": 64 + }, + { + "id": 686, + "displayName": "Zombie Spawn Egg", + "name": "zombie_spawn_egg", + "stackSize": 64 + }, + { + "id": 687, + "displayName": "Zombie Horse Spawn Egg", + "name": "zombie_horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 688, + "displayName": "Zombie Pigman Spawn Egg", + "name": "zombie_pigman_spawn_egg", + "stackSize": 64 + }, + { + "id": 689, + "displayName": "Zombie Villager Spawn Egg", + "name": "zombie_villager_spawn_egg", + "stackSize": 64 + }, + { + "id": 690, + "displayName": "Bottle o' Enchanting", + "name": "experience_bottle", + "stackSize": 64 + }, + { + "id": 691, + "displayName": "Fire Charge", + "name": "fire_charge", + "stackSize": 64 + }, + { + "id": 692, + "displayName": "Book and Quill", + "name": "writable_book", + "stackSize": 1 + }, + { + "id": 693, + "displayName": "Written Book", + "name": "written_book", + "stackSize": 16 + }, + { + "id": 694, + "displayName": "Emerald", + "name": "emerald", + "stackSize": 64 + }, + { + "id": 695, + "displayName": "Item Frame", + "name": "item_frame", + "stackSize": 64 + }, + { + "id": 696, + "displayName": "Flower Pot", + "name": "flower_pot", + "stackSize": 64 + }, + { + "id": 697, + "displayName": "Carrot", + "name": "carrot", + "stackSize": 64 + }, + { + "id": 698, + "displayName": "Potato", + "name": "potato", + "stackSize": 64 + }, + { + "id": 699, + "displayName": "Baked Potato", + "name": "baked_potato", + "stackSize": 64 + }, + { + "id": 700, + "displayName": "Poisonous Potato", + "name": "poisonous_potato", + "stackSize": 64 + }, + { + "id": 701, + "displayName": "Empty Map", + "name": "map", + "stackSize": 64 + }, + { + "id": 702, + "displayName": "Golden Carrot", + "name": "golden_carrot", + "stackSize": 64 + }, + { + "id": 703, + "displayName": "Skeleton Skull", + "name": "skeleton_skull", + "stackSize": 64 + }, + { + "id": 704, + "displayName": "Wither Skeleton Skull", + "name": "wither_skeleton_skull", + "stackSize": 64 + }, + { + "id": 705, + "displayName": "Player Head", + "name": "player_head", + "stackSize": 64 + }, + { + "id": 706, + "displayName": "Zombie Head", + "name": "zombie_head", + "stackSize": 64 + }, + { + "id": 707, + "displayName": "Creeper Head", + "name": "creeper_head", + "stackSize": 64 + }, + { + "id": 708, + "displayName": "Dragon Head", + "name": "dragon_head", + "stackSize": 64 + }, + { + "id": 709, + "displayName": "Carrot on a Stick", + "name": "carrot_on_a_stick", + "stackSize": 64 + }, + { + "id": 710, + "displayName": "Nether Star", + "name": "nether_star", + "stackSize": 64 + }, + { + "id": 711, + "displayName": "Pumpkin Pie", + "name": "pumpkin_pie", + "stackSize": 64 + }, + { + "id": 712, + "displayName": "Firework Rocket", + "name": "firework_rocket", + "stackSize": 64 + }, + { + "id": 713, + "displayName": "Firework Star", + "name": "firework_star", + "stackSize": 64 + }, + { + "id": 714, + "displayName": "Enchanted Book", + "name": "enchanted_book", + "stackSize": 1 + }, + { + "id": 715, + "displayName": "Nether Brick", + "name": "nether_brick", + "stackSize": 64 + }, + { + "id": 716, + "displayName": "Nether Quartz", + "name": "quartz", + "stackSize": 64 + }, + { + "id": 717, + "displayName": "Minecart with TNT", + "name": "tnt_minecart", + "stackSize": 1 + }, + { + "id": 718, + "displayName": "Minecart with Hopper", + "name": "hopper_minecart", + "stackSize": 1 + }, + { + "id": 719, + "displayName": "Prismarine Shard", + "name": "prismarine_shard", + "stackSize": 64 + }, + { + "id": 720, + "displayName": "Prismarine Crystals", + "name": "prismarine_crystals", + "stackSize": 64 + }, + { + "id": 721, + "displayName": "Raw Rabbit", + "name": "rabbit", + "stackSize": 64 + }, + { + "id": 722, + "displayName": "Cooked Rabbit", + "name": "cooked_rabbit", + "stackSize": 64 + }, + { + "id": 723, + "displayName": "Rabbit Stew", + "name": "rabbit_stew", + "stackSize": 1 + }, + { + "id": 724, + "displayName": "Rabbit's Foot", + "name": "rabbit_foot", + "stackSize": 64 + }, + { + "id": 725, + "displayName": "Rabbit Hide", + "name": "rabbit_hide", + "stackSize": 64 + }, + { + "id": 726, + "displayName": "Armor Stand", + "name": "armor_stand", + "stackSize": 16 + }, + { + "id": 727, + "displayName": "Iron Horse Armor", + "name": "iron_horse_armor", + "stackSize": 1 + }, + { + "id": 728, + "displayName": "Golden Horse Armor", + "name": "golden_horse_armor", + "stackSize": 1 + }, + { + "id": 729, + "displayName": "Diamond Horse Armor", + "name": "diamond_horse_armor", + "stackSize": 1 + }, + { + "id": 730, + "displayName": "Lead", + "name": "lead", + "stackSize": 64 + }, + { + "id": 731, + "displayName": "Name Tag", + "name": "name_tag", + "stackSize": 64 + }, + { + "id": 732, + "displayName": "Minecart with Command Block", + "name": "command_block_minecart", + "stackSize": 1 + }, + { + "id": 733, + "displayName": "Raw Mutton", + "name": "mutton", + "stackSize": 64 + }, + { + "id": 734, + "displayName": "Cooked Mutton", + "name": "cooked_mutton", + "stackSize": 64 + }, + { + "id": 735, + "displayName": "White Banner", + "name": "white_banner", + "stackSize": 16 + }, + { + "id": 736, + "displayName": "Orange Banner", + "name": "orange_banner", + "stackSize": 16 + }, + { + "id": 737, + "displayName": "Magenta Banner", + "name": "magenta_banner", + "stackSize": 16 + }, + { + "id": 738, + "displayName": "Light Blue Banner", + "name": "light_blue_banner", + "stackSize": 16 + }, + { + "id": 739, + "displayName": "Yellow Banner", + "name": "yellow_banner", + "stackSize": 16 + }, + { + "id": 740, + "displayName": "Lime Banner", + "name": "lime_banner", + "stackSize": 16 + }, + { + "id": 741, + "displayName": "Pink Banner", + "name": "pink_banner", + "stackSize": 16 + }, + { + "id": 742, + "displayName": "Gray Banner", + "name": "gray_banner", + "stackSize": 16 + }, + { + "id": 743, + "displayName": "Light Gray Banner", + "name": "light_gray_banner", + "stackSize": 16 + }, + { + "id": 744, + "displayName": "Cyan Banner", + "name": "cyan_banner", + "stackSize": 16 + }, + { + "id": 745, + "displayName": "Purple Banner", + "name": "purple_banner", + "stackSize": 16 + }, + { + "id": 746, + "displayName": "Blue Banner", + "name": "blue_banner", + "stackSize": 16 + }, + { + "id": 747, + "displayName": "Brown Banner", + "name": "brown_banner", + "stackSize": 16 + }, + { + "id": 748, + "displayName": "Green Banner", + "name": "green_banner", + "stackSize": 16 + }, + { + "id": 749, + "displayName": "Red Banner", + "name": "red_banner", + "stackSize": 16 + }, + { + "id": 750, + "displayName": "Black Banner", + "name": "black_banner", + "stackSize": 16 + }, + { + "id": 751, + "displayName": "End Crystal", + "name": "end_crystal", + "stackSize": 64 + }, + { + "id": 752, + "displayName": "Chorus Fruit", + "name": "chorus_fruit", + "stackSize": 64 + }, + { + "id": 753, + "displayName": "Popped Chorus Fruit", + "name": "popped_chorus_fruit", + "stackSize": 64 + }, + { + "id": 754, + "displayName": "Beetroot", + "name": "beetroot", + "stackSize": 64 + }, + { + "id": 755, + "displayName": "Beetroot Seeds", + "name": "beetroot_seeds", + "stackSize": 64 + }, + { + "id": 756, + "displayName": "Beetroot Soup", + "name": "beetroot_soup", + "stackSize": 1 + }, + { + "id": 757, + "displayName": "Dragon's Breath", + "name": "dragon_breath", + "stackSize": 64 + }, + { + "id": 758, + "displayName": "Splash Potion", + "name": "splash_potion", + "stackSize": 1 + }, + { + "id": 759, + "displayName": "Spectral Arrow", + "name": "spectral_arrow", + "stackSize": 64 + }, + { + "id": 760, + "displayName": "Tipped Arrow", + "name": "tipped_arrow", + "stackSize": 64 + }, + { + "id": 761, + "displayName": "Lingering Potion", + "name": "lingering_potion", + "stackSize": 1 + }, + { + "id": 762, + "displayName": "Shield", + "name": "shield", + "stackSize": 64 + }, + { + "id": 763, + "displayName": "Elytra", + "name": "elytra", + "stackSize": 64 + }, + { + "id": 764, + "displayName": "Spruce Boat", + "name": "spruce_boat", + "stackSize": 1 + }, + { + "id": 765, + "displayName": "Birch Boat", + "name": "birch_boat", + "stackSize": 1 + }, + { + "id": 766, + "displayName": "Jungle Boat", + "name": "jungle_boat", + "stackSize": 1 + }, + { + "id": 767, + "displayName": "Acacia Boat", + "name": "acacia_boat", + "stackSize": 1 + }, + { + "id": 768, + "displayName": "Dark Oak Boat", + "name": "dark_oak_boat", + "stackSize": 1 + }, + { + "id": 769, + "displayName": "Totem of Undying", + "name": "totem_of_undying", + "stackSize": 1 + }, + { + "id": 770, + "displayName": "Shulker Shell", + "name": "shulker_shell", + "stackSize": 64 + }, + { + "id": 771, + "displayName": "Iron Nugget", + "name": "iron_nugget", + "stackSize": 64 + }, + { + "id": 772, + "displayName": "Knowledge Book", + "name": "knowledge_book", + "stackSize": 1 + }, + { + "id": 773, + "displayName": "Debug Stick", + "name": "debug_stick", + "stackSize": 1 + }, + { + "id": 774, + "displayName": "13 Disc", + "name": "music_disc_13", + "stackSize": 1 + }, + { + "id": 775, + "displayName": "Cat Disc", + "name": "music_disc_cat", + "stackSize": 1 + }, + { + "id": 776, + "displayName": "Blocks Disc", + "name": "music_disc_blocks", + "stackSize": 1 + }, + { + "id": 777, + "displayName": "Chirp Disc", + "name": "music_disc_chirp", + "stackSize": 1 + }, + { + "id": 778, + "displayName": "Far Disc", + "name": "music_disc_far", + "stackSize": 1 + }, + { + "id": 779, + "displayName": "Mall Disc", + "name": "music_disc_mall", + "stackSize": 1 + }, + { + "id": 780, + "displayName": "Mellohi Disc", + "name": "music_disc_mellohi", + "stackSize": 1 + }, + { + "id": 781, + "displayName": "Stal Disc", + "name": "music_disc_stal", + "stackSize": 1 + }, + { + "id": 782, + "displayName": "Strad Disc", + "name": "music_disc_strad", + "stackSize": 1 + }, + { + "id": 783, + "displayName": "Ward Disc", + "name": "music_disc_ward", + "stackSize": 1 + }, + { + "id": 784, + "displayName": "11 Disc", + "name": "music_disc_11", + "stackSize": 1 + }, + { + "id": 785, + "displayName": "Wait Disc", + "name": "music_disc_wait", + "stackSize": 1 + }, + { + "id": 786, + "displayName": "Trident", + "name": "trident", + "stackSize": 1 + }, + { + "id": 787, + "displayName": "Phantom Membrane", + "name": "phantom_membrane", + "stackSize": 64 + }, + { + "id": 788, + "displayName": "Nautilus Shell", + "name": "nautilus_shell", + "stackSize": 64 + }, + { + "id": 789, + "displayName": "Heart of the Sea", + "name": "heart_of_the_sea", + "stackSize": 64 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/language.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/language.json new file mode 100644 index 00000000..1c5ef6bb --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/language.json @@ -0,0 +1,3909 @@ +{ + "language.name": "English", + "language.region": "United States", + "language.code": "en_us", + "gui.done": "Done", + "gui.cancel": "Cancel", + "gui.back": "Back", + "gui.toTitle": "Back to title screen", + "gui.toMenu": "Back to server list", + "gui.up": "Up", + "gui.down": "Down", + "gui.yes": "Yes", + "gui.no": "No", + "gui.none": "None", + "gui.all": "All", + "gui.ok": "Ok", + "gui.proceed": "Proceed", + "gui.recipebook.moreRecipes": "Right Click for more", + "gui.recipebook.toggleRecipes.all": "Showing all", + "gui.recipebook.toggleRecipes.craftable": "Showing craftable", + "gui.recipebook.toggleRecipes.smeltable": "Showing smeltable", + "translation.test.none": "Hello, world!", + "translation.test.complex": "Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!", + "translation.test.escape": "%%s %%%s %%%%s %%%%%s", + "translation.test.invalid": "hi %", + "translation.test.invalid2": "hi % s", + "translation.test.args": "%s %s", + "translation.test.world": "world", + "menu.game": "Game Menu", + "menu.singleplayer": "Singleplayer", + "menu.multiplayer": "Multiplayer", + "menu.online": "Minecraft Realms", + "menu.options": "Options...", + "menu.quit": "Quit Game", + "menu.returnToMenu": "Save and Quit to Title", + "menu.disconnect": "Disconnect", + "menu.returnToGame": "Back to Game", + "menu.generatingLevel": "Generating world", + "menu.loadingLevel": "Loading world", + "menu.savingLevel": "Saving world", + "menu.working": "Working...", + "menu.savingChunks": "Saving chunks", + "menu.preparingSpawn": "Preparing spawn area", + "menu.generatingTerrain": "Building terrain", + "menu.convertingLevel": "Converting world", + "menu.respawning": "Respawning", + "menu.shareToLan": "Open to LAN", + "optimizeWorld.confirm.title": "Optimize world", + "optimizeWorld.confirm.description": "This will attempt to optimize your world by making sure all data is stored in the most recent game format. This can take a very long time, depending on your world. Once done, your world may play faster but will no longer be compatible with older versions of the game. Are you sure you wish to proceed?", + "optimizeWorld.title": "Optimizing World '%s'", + "optimizeWorld.stage.counting": "Counting chunks...", + "optimizeWorld.stage.upgrading": "Upgrading all chunks...", + "optimizeWorld.stage.finished": "Finishing up...", + "optimizeWorld.stage.failed": "Failed! :(", + "optimizeWorld.info.converted": "Upgraded chunks: %s", + "optimizeWorld.info.skipped": "Skipped chunks: %s", + "optimizeWorld.info.total": "Total chunks: %s", + "selectWorld.title": "Select World", + "selectWorld.empty": "empty", + "selectWorld.world": "World", + "selectWorld.select": "Play Selected World", + "selectWorld.create": "Create New World", + "selectWorld.recreate": "Re-Create", + "selectWorld.createDemo": "Play New Demo World", + "selectWorld.delete": "Delete", + "selectWorld.edit": "Edit", + "selectWorld.edit.title": "Edit World", + "selectWorld.edit.resetIcon": "Reset Icon", + "selectWorld.edit.openFolder": "Open World Folder", + "selectWorld.edit.save": "Save", + "selectWorld.edit.backup": "Make Backup", + "selectWorld.edit.backupFolder": "Open Backups Folder", + "selectWorld.edit.backupCreated": "Backed up: %s", + "selectWorld.edit.backupSize": "size: %s MB", + "selectWorld.edit.optimize": "Optimize World", + "selectWorld.deleteQuestion": "Are you sure you want to delete this world?", + "selectWorld.deleteWarning": "'%s' will be lost forever! (A long time!)", + "selectWorld.deleteButton": "Delete", + "selectWorld.conversion": "Must be converted!", + "selectWorld.newWorld": "New World", + "selectWorld.newWorld.copyOf": "Copy of %s", + "selectWorld.enterName": "World Name", + "selectWorld.resultFolder": "Will be saved in:", + "selectWorld.enterSeed": "Seed for the world generator", + "selectWorld.seedInfo": "Leave blank for a random seed", + "selectWorld.cheats": "Cheats", + "selectWorld.customizeType": "Customize", + "selectWorld.version": "Version:", + "selectWorld.versionUnknown": "unknown", + "selectWorld.versionQuestion": "Do you really want to load this world?", + "selectWorld.versionWarning": "This world was last played in version %s and loading it in this version could cause corruption!", + "selectWorld.versionJoinButton": "Load Anyway", + "selectWorld.backupQuestion": "Do you really want to load this world?", + "selectWorld.backupWarning": "This world was last played in version %s; you are on snapshot %s. Please make a backup in case you experience world corruptions!", + "selectWorld.backupQuestion.customized": "Customized worlds are no longer supported", + "selectWorld.backupWarning.customized": "Unfortunately, we do not support customized worlds in this version of Minecraft. We can still load this world and keep everything the way it was, but any newly generated terrain will no longer be customized. We're sorry for the inconvenience!", + "selectWorld.backupJoinConfirmButton": "Backup and load", + "selectWorld.backupJoinSkipButton": "I know what I'm doing!", + "selectWorld.tooltip.fromNewerVersion1": "World was saved in a newer version,", + "selectWorld.tooltip.fromNewerVersion2": "loading this world could cause problems!", + "selectWorld.tooltip.snapshot1": "Don't forget to backup this world", + "selectWorld.tooltip.snapshot2": "before you load it in this snapshot.", + "selectWorld.tooltip.unsupported": "This world is no longer supported and can only be played in %s", + "selectWorld.unable_to_load": "Unable to load worlds", + "selectWorld.futureworld.error.title": "An error occured!", + "selectWorld.futureworld.error.text": "Something went wrong while trying to load a world from a future version. This was a risky operation to begin with, sorry it didn't work.", + "selectWorld.recreate.error.title": "An error occured!", + "selectWorld.recreate.error.text": "Something went wrong while trying to recreate a world.", + "selectWorld.recreate.customized.title": "Customized worlds are no longer supported", + "selectWorld.recreate.customized.text": "Customized worlds are no longer supported in this version of Minecraft. We can try to recreate it with the same seed and properties, but any terrain customizations will be lost. We're sorry for the inconvenience!", + "selectWorld.load_folder_access": "Unable to read or access folder where game worlds are saved!", + "createWorld.customize.presets": "Presets", + "createWorld.customize.presets.title": "Select a Preset", + "createWorld.customize.presets.select": "Use Preset", + "createWorld.customize.presets.share": "Want to share your preset with someone? Use the below box!", + "createWorld.customize.presets.list": "Alternatively, here's some we made earlier!", + "createWorld.customize.flat.title": "Superflat Customization", + "createWorld.customize.flat.tile": "Layer Material", + "createWorld.customize.flat.height": "Height", + "createWorld.customize.flat.addLayer": "Add Layer", + "createWorld.customize.flat.editLayer": "Edit Layer", + "createWorld.customize.flat.removeLayer": "Remove Layer", + "createWorld.customize.flat.layer.top": "Top - %s", + "createWorld.customize.flat.layer": "%s", + "createWorld.customize.flat.layer.bottom": "Bottom - %s", + "createWorld.customize.buffet.title": "Buffet world customization", + "createWorld.customize.buffet.generatortype": "World generator:", + "createWorld.customize.buffet.generator": "Please select a generator type", + "createWorld.customize.buffet.biome": "Please select a biome", + "createWorld.customize.preset.classic_flat": "Classic Flat", + "createWorld.customize.preset.tunnelers_dream": "Tunnelers' Dream", + "createWorld.customize.preset.water_world": "Water World", + "createWorld.customize.preset.overworld": "Overworld", + "createWorld.customize.preset.snowy_kingdom": "Snowy Kingdom", + "createWorld.customize.preset.bottomless_pit": "Bottomless Pit", + "createWorld.customize.preset.desert": "Desert", + "createWorld.customize.preset.redstone_ready": "Redstone Ready", + "createWorld.customize.preset.the_void": "The Void", + "createWorld.customize.custom.page0": "Basic Settings", + "createWorld.customize.custom.page1": "Ore Settings", + "createWorld.customize.custom.page2": "Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.page3": "Extra Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.randomize": "Randomize", + "createWorld.customize.custom.prev": "Previous Page", + "createWorld.customize.custom.next": "Next Page", + "createWorld.customize.custom.defaults": "Defaults", + "createWorld.customize.custom.confirm1": "This will overwrite your current", + "createWorld.customize.custom.confirm2": "settings and cannot be undone.", + "createWorld.customize.custom.confirmTitle": "Warning!", + "createWorld.customize.custom.mainNoiseScaleX": "Main Noise Scale X", + "createWorld.customize.custom.mainNoiseScaleY": "Main Noise Scale Y", + "createWorld.customize.custom.mainNoiseScaleZ": "Main Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleX": "Depth Noise Scale X", + "createWorld.customize.custom.depthNoiseScaleZ": "Depth Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleExponent": "Depth Noise Exponent", + "createWorld.customize.custom.baseSize": "Depth Base Size", + "createWorld.customize.custom.coordinateScale": "Coordinate Scale", + "createWorld.customize.custom.heightScale": "Height Scale", + "createWorld.customize.custom.stretchY": "Height Stretch", + "createWorld.customize.custom.upperLimitScale": "Upper Limit Scale", + "createWorld.customize.custom.lowerLimitScale": "Lower Limit Scale", + "createWorld.customize.custom.biomeDepthWeight": "Biome Depth Weight", + "createWorld.customize.custom.biomeDepthOffset": "Biome Depth Offset", + "createWorld.customize.custom.biomeScaleWeight": "Biome Scale Weight", + "createWorld.customize.custom.biomeScaleOffset": "Biome Scale Offset", + "createWorld.customize.custom.seaLevel": "Sea Level", + "createWorld.customize.custom.useCaves": "Caves", + "createWorld.customize.custom.useStrongholds": "Strongholds", + "createWorld.customize.custom.useVillages": "Villages", + "createWorld.customize.custom.useMineShafts": "Mineshafts", + "createWorld.customize.custom.useTemples": "Temples", + "createWorld.customize.custom.useOceanRuins": "Ocean Ruins", + "createWorld.customize.custom.useMonuments": "Ocean Monuments", + "createWorld.customize.custom.useMansions": "Woodland Mansions", + "createWorld.customize.custom.useRavines": "Ravines", + "createWorld.customize.custom.useDungeons": "Dungeons", + "createWorld.customize.custom.dungeonChance": "Dungeon Count", + "createWorld.customize.custom.useWaterLakes": "Water Lakes", + "createWorld.customize.custom.waterLakeChance": "Water Lake Rarity", + "createWorld.customize.custom.useLavaLakes": "Lava Lakes", + "createWorld.customize.custom.lavaLakeChance": "Lava Lake Rarity", + "createWorld.customize.custom.useLavaOceans": "Lava Oceans", + "createWorld.customize.custom.fixedBiome": "Biome", + "createWorld.customize.custom.biomeSize": "Biome Size", + "createWorld.customize.custom.riverSize": "River Size", + "createWorld.customize.custom.size": "Spawn Size", + "createWorld.customize.custom.count": "Spawn Tries", + "createWorld.customize.custom.minHeight": "Min. Height", + "createWorld.customize.custom.maxHeight": "Max. Height", + "createWorld.customize.custom.center": "Center Height", + "createWorld.customize.custom.spread": "Spread Height", + "createWorld.customize.custom.presets.title": "Customize World Presets", + "createWorld.customize.custom.presets": "Presets", + "createWorld.customize.custom.preset.waterWorld": "Water World", + "createWorld.customize.custom.preset.isleLand": "Isle Land", + "createWorld.customize.custom.preset.caveDelight": "Caver's Delight", + "createWorld.customize.custom.preset.mountains": "Mountain Madness", + "createWorld.customize.custom.preset.drought": "Drought", + "createWorld.customize.custom.preset.caveChaos": "Caves of Chaos", + "createWorld.customize.custom.preset.goodLuck": "Good Luck", + "gameMode.survival": "Survival Mode", + "gameMode.creative": "Creative Mode", + "gameMode.adventure": "Adventure Mode", + "gameMode.spectator": "Spectator Mode", + "gameMode.hardcore": "Hardcore Mode!", + "gameMode.changed": "Your game mode has been updated to %s", + "spectatorMenu.previous_page": "Previous Page", + "spectatorMenu.next_page": "Next Page", + "spectatorMenu.close": "Close Menu", + "spectatorMenu.teleport": "Teleport to Player", + "spectatorMenu.teleport.prompt": "Select a player to teleport to", + "spectatorMenu.team_teleport": "Teleport to Team Member", + "spectatorMenu.team_teleport.prompt": "Select a team to teleport to", + "spectatorMenu.root.prompt": "Press a key to select a command, and again to use it.", + "selectWorld.gameMode": "Game Mode", + "selectWorld.gameMode.survival": "Survival", + "selectWorld.gameMode.survival.line1": "Search for resources, crafting, gain", + "selectWorld.gameMode.survival.line2": "levels, health and hunger", + "selectWorld.gameMode.creative": "Creative", + "selectWorld.gameMode.creative.line1": "Unlimited resources, free flying and", + "selectWorld.gameMode.creative.line2": "destroy blocks instantly", + "selectWorld.gameMode.spectator": "Spectator", + "selectWorld.gameMode.spectator.line1": "You can look but don't touch", + "selectWorld.gameMode.spectator.line2": "", + "selectWorld.gameMode.hardcore": "Hardcore", + "selectWorld.gameMode.hardcore.line1": "Same as survival mode, locked at hardest", + "selectWorld.gameMode.hardcore.line2": "difficulty, and one life only", + "selectWorld.gameMode.adventure": "Adventure", + "selectWorld.gameMode.adventure.line1": "Same as survival mode, but blocks can't", + "selectWorld.gameMode.adventure.line2": "be added or removed", + "selectWorld.moreWorldOptions": "More World Options...", + "selectWorld.mapFeatures": "Generate Structures:", + "selectWorld.mapFeatures.info": "Villages, dungeons etc", + "selectWorld.mapType": "World Type:", + "selectWorld.mapType.normal": "Normal", + "selectWorld.allowCommands": "Allow Cheats:", + "selectWorld.allowCommands.info": "Commands like /gamemode, /experience", + "selectWorld.hardcoreMode": "Hardcore:", + "selectWorld.hardcoreMode.info": "World is deleted upon death", + "selectWorld.bonusItems": "Bonus Chest:", + "generator.default": "Default", + "generator.flat": "Superflat", + "generator.largeBiomes": "Large Biomes", + "generator.amplified": "AMPLIFIED", + "generator.customized": "Customized", + "generator.debug_all_block_states": "Debug Mode", + "generator.amplified.info": "Notice: Just for fun, requires beefy computer", + "generator.buffet": "Buffet", + "selectServer.title": "Select Server", + "selectServer.empty": "empty", + "selectServer.select": "Join Server", + "selectServer.direct": "Direct Connect", + "selectServer.edit": "Edit", + "selectServer.delete": "Delete", + "selectServer.add": "Add Server", + "selectServer.defaultName": "Minecraft Server", + "selectServer.deleteQuestion": "Are you sure you want to remove this server?", + "selectServer.deleteWarning": "'%s' will be lost forever! (A long time!)", + "selectServer.deleteButton": "Delete", + "selectServer.refresh": "Refresh", + "selectServer.hiddenAddress": "(Hidden)", + "addServer.title": "Edit Server Info", + "addServer.enterName": "Server Name", + "addServer.enterIp": "Server Address", + "addServer.add": "Done", + "addServer.hideAddress": "Hide Address", + "addServer.resourcePack": "Server Resource Packs", + "addServer.resourcePack.enabled": "Enabled", + "addServer.resourcePack.disabled": "Disabled", + "addServer.resourcePack.prompt": "Prompt", + "lanServer.title": "LAN World", + "lanServer.scanning": "Scanning for games on your local network", + "lanServer.start": "Start LAN World", + "lanServer.otherPlayers": "Settings for Other Players", + "mcoServer.title": "Minecraft Online World", + "multiplayer.title": "Play Multiplayer", + "multiplayer.connect": "Connect", + "multiplayer.ipinfo": "Enter the IP of a server to connect to it:", + "multiplayer.texturePrompt.line1": "This server recommends the use of a custom resource pack.", + "multiplayer.texturePrompt.line2": "Would you like to download and install it automagically?", + "multiplayer.downloadingTerrain": "Loading terrain...", + "multiplayer.downloadingStats": "Downloading statistics...", + "multiplayer.stopSleeping": "Leave Bed", + "multiplayer.message_not_delivered": "Can't deliver chat message, check server logs", + "multiplayer.player.joined": "%s joined the game", + "multiplayer.player.joined.renamed": "%s (formerly known as %s) joined the game", + "multiplayer.player.left": "%s left the game", + "multiplayer.status.and_more": "... and %s more ...", + "multiplayer.status.cancelled": "Cancelled", + "multiplayer.status.cannot_connect": "Can't connect to server", + "multiplayer.status.cannot_resolve": "Can't resolve hostname", + "multiplayer.status.client_out_of_date": "Client out of date!", + "multiplayer.status.finished": "Finished", + "multiplayer.status.no_connection": "(no connection)", + "multiplayer.status.old": "Old", + "multiplayer.status.pinging": "Pinging...", + "multiplayer.status.quitting": "Quitting", + "multiplayer.status.server_out_of_date": "Server out of date!", + "multiplayer.status.unknown": "???", + "multiplayer.status.unrequested": "Received unrequested status", + "multiplayer.status.request_handled": "Status requst has been handled", + "multiplayer.disconnect.authservers_down": "Authentication servers are down. Please try again later, sorry!", + "multiplayer.disconnect.banned": "You are banned from this server", + "multiplayer.disconnect.banned.reason": "You are banned from this server.\nReason: %s", + "multiplayer.disconnect.banned.expiration": "\nYour ban will be removed on %s", + "multiplayer.disconnect.banned_ip.reason": "Your IP address is banned from this server.\nReason: %s", + "multiplayer.disconnect.banned_ip.expiration": "\nYour ban will be removed on %s", + "multiplayer.disconnect.duplicate_login": "You logged in from another location", + "multiplayer.disconnect.flying": "Flying is not enabled on this server", + "multiplayer.disconnect.generic": "Disconnected", + "multiplayer.disconnect.idling": "You have been idle for too long!", + "multiplayer.disconnect.illegal_characters": "Illegal characters in chat", + "multiplayer.disconnect.invalid_entity_attacked": "Attempting to attack an invalid entity", + "multiplayer.disconnect.invalid_player_movement": "Invalid move player packet received", + "multiplayer.disconnect.invalid_vehicle_movement": "Invalid move vehicle packet received", + "multiplayer.disconnect.ip_banned": "You have been IP banned from this server", + "multiplayer.disconnect.kicked": "Kicked by an operator", + "multiplayer.disconnect.outdated_client": "Outdated client! Please use %s", + "multiplayer.disconnect.outdated_server": "Outdated server! I'm still on %s", + "multiplayer.disconnect.server_shutdown": "Server closed", + "multiplayer.disconnect.slow_login": "Took too long to log in", + "multiplayer.disconnect.unverified_username": "Failed to verify username!", + "multiplayer.disconnect.not_whitelisted": "You are not white-listed on this server!", + "multiplayer.disconnect.server_full": "The server is full!", + "multiplayer.disconnect.name_taken": "That name is already taken", + "multiplayer.disconnect.unexpected_query_response": "Unexpected custom data from client", + "chat.cannotSend": "Cannot send chat message", + "chat.type.text": "<%s> %s", + "chat.type.text.narrate": "%s says %s", + "chat.type.emote": "* %s %s", + "chat.type.announcement": "[%s] %s", + "chat.type.admin": "[%s: %s]", + "chat.type.advancement.task": "%s has made the advancement %s", + "chat.type.advancement.challenge": "%s has completed the challenge %s", + "chat.type.advancement.goal": "%s has reached the goal %s", + "chat.link.confirm": "Are you sure you want to open the following website?", + "chat.link.warning": "Never open links from people that you don't trust!", + "chat.copy": "Copy to Clipboard", + "chat.link.confirmTrusted": "Do you want to open this link or copy it to your clipboard?", + "chat.link.open": "Open in browser", + "chat.coordinates": "%s, %s, %s", + "chat.coordinates.tooltip": "Click to teleport", + "menu.playdemo": "Play Demo World", + "menu.resetdemo": "Reset Demo World", + "demo.day.1": "This demo will last five game days, do your best!", + "demo.day.2": "Day Two", + "demo.day.3": "Day Three", + "demo.day.4": "Day Four", + "demo.day.5": "This is your last day!", + "demo.day.warning": "Your time is almost up!", + "demo.day.6": "You have passed your fifth day, use %s to save a screenshot of your creation", + "demo.reminder": "The demo time has expired, buy the game to continue or start a new world!", + "demo.remainingTime": "Remaining time: %s", + "demo.demoExpired": "Demo time's up!", + "demo.help.movement": "Use the %1$s, %2$s, %3$s, %4$s keys and the mouse to move around", + "demo.help.movementShort": "Move by pressing the %1$s, %2$s, %3$s, %4$s keys", + "demo.help.movementMouse": "Look around using the mouse", + "demo.help.jump": "Jump by pressing the %1$s key", + "demo.help.inventory": "Use the %1$s key to open your inventory", + "demo.help.title": "Minecraft Demo Mode", + "demo.help.fullWrapped": "This demo will last 5 ingame days (about 1 hour and 40 minutes of real time). Check the advancements for hints! Have fun!", + "demo.help.buy": "Purchase Now!", + "demo.help.later": "Continue Playing!", + "connect.connecting": "Connecting to the server...", + "connect.aborted": "Aborted", + "connect.authorizing": "Logging in...", + "connect.negotiating": "Negotiating...", + "connect.encrypting": "Encrypting...", + "connect.joining": "Joining world...", + "connect.failed": "Failed to connect to the server", + "disconnect.genericReason": "%s", + "disconnect.disconnected": "Disconnected by Server", + "disconnect.lost": "Connection Lost", + "disconnect.kicked": "Was kicked from the game", + "disconnect.timeout": "Timed out", + "disconnect.closed": "Connection closed", + "disconnect.loginFailed": "Failed to log in", + "disconnect.loginFailedInfo": "Failed to log in: %s", + "disconnect.loginFailedInfo.serversUnavailable": "The authentication servers are currently down for maintenance.", + "disconnect.loginFailedInfo.invalidSession": "Invalid session (Try restarting your game and the launcher)", + "disconnect.quitting": "Quitting", + "disconnect.endOfStream": "End of stream", + "disconnect.overflow": "Buffer overflow", + "disconnect.spam": "Kicked for spamming", + "soundCategory.master": "Master Volume", + "soundCategory.music": "Music", + "soundCategory.record": "Jukebox/Note Blocks", + "soundCategory.weather": "Weather", + "soundCategory.hostile": "Hostile Creatures", + "soundCategory.neutral": "Friendly Creatures", + "soundCategory.player": "Players", + "soundCategory.block": "Blocks", + "soundCategory.ambient": "Ambient/Environment", + "soundCategory.voice": "Voice/Speech", + "record.nowPlaying": "Now playing: %s", + "options.off": "OFF", + "options.on": "ON", + "options.visible": "Shown", + "options.hidden": "Hidden", + "options.title": "Options", + "options.controls": "Controls...", + "options.video": "Video Settings...", + "options.language": "Language...", + "options.sounds": "Music & Sounds...", + "options.sounds.title": "Music & Sound Options", + "options.languageWarning": "Language translations may not be 100%% accurate", + "options.videoTitle": "Video Settings", + "options.customizeTitle": "Customize World Settings", + "options.music": "Music", + "options.sound": "Sound", + "options.invertMouse": "Invert Mouse", + "options.fov": "FOV", + "options.fov.min": "Normal", + "options.fov.max": "Quake Pro", + "options.saturation": "Saturation", + "options.biomeBlendRadius": "Biome Blend", + "options.gamma": "Brightness", + "options.gamma.min": "Moody", + "options.gamma.max": "Bright", + "options.sensitivity": "Sensitivity", + "options.sensitivity.min": "*yawn*", + "options.sensitivity.max": "HYPERSPEED!!!", + "options.renderDistance": "Render Distance", + "options.viewBobbing": "View Bobbing", + "options.ao": "Smooth Lighting", + "options.ao.off": "OFF", + "options.ao.min": "Minimum", + "options.ao.max": "Maximum", + "options.anaglyph": "3D Anaglyph", + "options.chunks": "%s chunks", + "options.framerate": "%s fps", + "options.framerateLimit": "Max Framerate", + "options.framerateLimit.max": "Unlimited", + "options.difficulty": "Difficulty", + "options.difficulty.peaceful": "Peaceful", + "options.difficulty.easy": "Easy", + "options.difficulty.normal": "Normal", + "options.difficulty.hard": "Hard", + "options.difficulty.hardcore": "Hardcore", + "options.graphics": "Graphics", + "options.graphics.fancy": "Fancy", + "options.graphics.fast": "Fast", + "options.clouds.fancy": "Fancy", + "options.clouds.fast": "Fast", + "options.guiScale": "GUI Scale", + "options.guiScale.auto": "Auto", + "options.renderClouds": "Clouds", + "options.particles": "Particles", + "options.particles.all": "All", + "options.particles.decreased": "Decreased", + "options.particles.minimal": "Minimal", + "options.multiplayer.title": "Multiplayer Settings...", + "options.chat.title": "Chat Settings...", + "options.chat.visibility": "Chat", + "options.chat.visibility.full": "Shown", + "options.chat.visibility.system": "Commands Only", + "options.chat.visibility.hidden": "Hidden", + "options.chat.color": "Colors", + "options.chat.opacity": "Opacity", + "options.chat.links": "Web Links", + "options.chat.links.prompt": "Prompt on Links", + "options.chat.scale": "Scale", + "options.chat.width": "Width", + "options.chat.height.focused": "Focused Height", + "options.chat.height.unfocused": "Unfocused Height", + "options.skinCustomisation": "Skin Customization...", + "options.skinCustomisation.title": "Skin Customization", + "options.modelPart.cape": "Cape", + "options.modelPart.hat": "Hat", + "options.modelPart.jacket": "Jacket", + "options.modelPart.left_sleeve": "Left Sleeve", + "options.modelPart.right_sleeve": "Right Sleeve", + "options.modelPart.left_pants_leg": "Left Pants Leg", + "options.modelPart.right_pants_leg": "Right Pants Leg", + "options.snooper": "Allow Snooper", + "options.snooper.view": "Snooper Settings...", + "options.snooper.title": "Feed us data!", + "options.snooper.desc": "We always want to improve Minecraft and, to help us do that, we'd like to collect some information. This lets us know what hardware to support and where the big problems are. It also gives us a sense of the size of our active player base, so we know if we're doing a good job. You can view all the information we collect below. If you want to opt out then you can simply toggle it off!", + "options.resourcepack": "Resource Packs...", + "options.fullscreen": "Fullscreen", + "options.vsync": "Use VSync", + "options.vbo": "Use VBOs", + "options.touchscreen": "Touchscreen Mode", + "options.reducedDebugInfo": "Reduced Debug Info", + "options.entityShadows": "Entity Shadows", + "options.mainHand": "Main Hand", + "options.mainHand.left": "Left", + "options.mainHand.right": "Right", + "options.attackIndicator": "Attack Indicator", + "options.attack.crosshair": "Crosshair", + "options.attack.hotbar": "Hotbar", + "options.showSubtitles": "Show Subtitles", + "options.realmsNotifications": "Realms Notifications", + "options.autoJump": "Auto-Jump", + "options.autoSuggestCommands": "Command Suggestions", + "options.narrator": "Narrator", + "options.narrator.off": "OFF", + "options.narrator.all": "Narrates all", + "options.narrator.chat": "Narrates chat", + "options.narrator.system": "Narrates system", + "options.narrator.notavailable": "Not available", + "options.fullscreen.resolution": "Fullscreen Resolution", + "options.fullscreen.current": "Current", + "options.mipmapLevels": "Mipmap Levels", + "options.forceUnicodeFont": "Force Unicode Font", + "narrator.toast.disabled": "Narrator Disabled", + "narrator.toast.enabled": "Narrator Enabled", + "difficulty.lock.title": "Lock World Difficulty", + "difficulty.lock.question": "Are you sure you want to lock the difficulty of this world? This will set this world to always be %1$s, and you will never be able to change that again.", + "title.oldgl1": "Old graphics card detected; this may prevent you from", + "title.oldgl2": "playing in the future as OpenGL 2.0 will be required.", + "controls.title": "Controls", + "controls.reset": "Reset", + "controls.resetAll": "Reset Keys", + "key.sprint": "Sprint", + "key.forward": "Walk Forwards", + "key.left": "Strafe Left", + "key.back": "Walk Backwards", + "key.right": "Strafe Right", + "key.jump": "Jump", + "key.inventory": "Open/Close Inventory", + "key.drop": "Drop Selected Item", + "key.swapHands": "Swap Item In Hands", + "key.chat": "Open Chat", + "key.sneak": "Sneak", + "key.playerlist": "List Players", + "key.attack": "Attack/Destroy", + "key.use": "Use Item/Place Block", + "key.pickItem": "Pick Block", + "key.command": "Open Command", + "key.screenshot": "Take Screenshot", + "key.togglePerspective": "Toggle Perspective", + "key.smoothCamera": "Toggle Cinematic Camera", + "key.fullscreen": "Toggle Fullscreen", + "key.spectatorOutlines": "Highlight Players (Spectators)", + "key.hotbar.1": "Hotbar Slot 1", + "key.hotbar.2": "Hotbar Slot 2", + "key.hotbar.3": "Hotbar Slot 3", + "key.hotbar.4": "Hotbar Slot 4", + "key.hotbar.5": "Hotbar Slot 5", + "key.hotbar.6": "Hotbar Slot 6", + "key.hotbar.7": "Hotbar Slot 7", + "key.hotbar.8": "Hotbar Slot 8", + "key.hotbar.9": "Hotbar Slot 9", + "key.saveToolbarActivator": "Save Toolbar Activator", + "key.loadToolbarActivator": "Load Toolbar Activator", + "key.advancements": "Advancements", + "key.categories.movement": "Movement", + "key.categories.misc": "Miscellaneous", + "key.categories.multiplayer": "Multiplayer", + "key.categories.gameplay": "Gameplay", + "key.categories.ui": "Game Interface", + "key.categories.inventory": "Inventory", + "key.categories.creative": "Creative Mode", + "key.mouse.left": "Left Button", + "key.mouse.right": "Right Button", + "key.mouse.middle": "Middle Button", + "key.mouse": "Button %1$s", + "key.keyboard.unknown": "Not bound", + "key.keyboard.apostrophe": "'", + "key.keyboard.backslash": "\\", + "key.keyboard.backspace": "Backspace", + "key.keyboard.comma": ",", + "key.keyboard.delete": "Delete", + "key.keyboard.end": "End", + "key.keyboard.enter": "Enter", + "key.keyboard.equal": "=", + "key.keyboard.escape": "Escape", + "key.keyboard.f1": "F1", + "key.keyboard.f2": "F2", + "key.keyboard.f3": "F3", + "key.keyboard.f4": "F4", + "key.keyboard.f5": "F5", + "key.keyboard.f6": "F6", + "key.keyboard.f7": "F7", + "key.keyboard.f8": "F8", + "key.keyboard.f9": "F9", + "key.keyboard.f10": "F10", + "key.keyboard.f11": "F11", + "key.keyboard.f12": "F12", + "key.keyboard.f13": "F13", + "key.keyboard.f14": "F14", + "key.keyboard.f15": "F15", + "key.keyboard.f16": "F16", + "key.keyboard.f17": "F17", + "key.keyboard.f18": "F18", + "key.keyboard.f19": "F19", + "key.keyboard.f20": "F20", + "key.keyboard.f21": "F21", + "key.keyboard.f22": "F22", + "key.keyboard.f23": "F23", + "key.keyboard.f24": "F24", + "key.keyboard.f25": "F25", + "key.keyboard.grave.accent": "`", + "key.keyboard.home": "Home", + "key.keyboard.insert": "Insert", + "key.keyboard.keypad.0": "Keypad 0", + "key.keyboard.keypad.1": "Keypad 1", + "key.keyboard.keypad.2": "Keypad 2", + "key.keyboard.keypad.3": "Keypad 3", + "key.keyboard.keypad.4": "Keypad 4", + "key.keyboard.keypad.5": "Keypad 5", + "key.keyboard.keypad.6": "Keypad 6", + "key.keyboard.keypad.7": "Keypad 7", + "key.keyboard.keypad.8": "Keypad 8", + "key.keyboard.keypad.9": "Keypad 9", + "key.keyboard.keypad.add": "Keypad +", + "key.keyboard.keypad.decimal": "Keypad Decimal", + "key.keyboard.keypad.enter": "Keypad Enter", + "key.keyboard.keypad.equal": "Keypad =", + "key.keyboard.keypad.multiply": "Keypad *", + "key.keyboard.keypad.divide": "Keypad /", + "key.keyboard.keypad.subtract": "Keypad -", + "key.keyboard.left.bracket": "[", + "key.keyboard.right.bracket": "]", + "key.keyboard.minus": "-", + "key.keyboard.num.lock": "Num Lock", + "key.keyboard.caps.lock": "Caps Lock", + "key.keyboard.scroll.lock": "Scroll Lock", + "key.keyboard.page.down": "Page Down", + "key.keyboard.page.up": "Page Up", + "key.keyboard.pause": "Pause", + "key.keyboard.period": ".", + "key.keyboard.left.control": "Left Control", + "key.keyboard.right.control": "Right Control", + "key.keyboard.left.alt": "Left Alt", + "key.keyboard.right.alt": "Right Alt", + "key.keyboard.left.shift": "Left Shift", + "key.keyboard.right.shift": "Right Shift", + "key.keyboard.left.win": "Left Win", + "key.keyboard.right.win": "Right Win", + "key.keyboard.semicolon": ";", + "key.keyboard.slash": "/", + "key.keyboard.space": "Space", + "key.keyboard.tab": "Tab", + "key.keyboard.up": "Up Arrow", + "key.keyboard.down": "Down Arrow", + "key.keyboard.left": "Left Arrow", + "key.keyboard.right": "Right Arrow", + "key.keyboard.menu": "Menu", + "key.keyboard.print.screen": "Print Screen", + "key.keyboard.world.1": "World 1", + "key.keyboard.world.2": "World 2", + "resourcePack.openFolder": "Open Resource Pack Folder", + "resourcePack.title": "Select Resource Packs", + "resourcePack.available.title": "Available Resource Packs", + "resourcePack.selected.title": "Selected Resource Packs", + "resourcePack.folderInfo": "(Place resource pack files here)", + "resourcePack.incompatible": "Incompatible", + "resourcePack.incompatible.old": "(Made for an older version of Minecraft)", + "resourcePack.incompatible.new": "(Made for a newer version of Minecraft)", + "resourcePack.incompatible.confirm.title": "Are you sure you want to load this resource pack?", + "resourcePack.incompatible.confirm.old": "This resource pack was made for an older version of Minecraft and may no longer work correctly.", + "resourcePack.incompatible.confirm.new": "This resource pack was made for a newer version of Minecraft and may no longer work correctly.", + "resourcePack.server.name": "World Specific Resources", + "sign.edit": "Edit sign message", + "book.pageIndicator": "Page %1$s of %2$s", + "book.byAuthor": "by %1$s", + "book.signButton": "Sign", + "book.editTitle": "Enter Book Title:", + "book.finalizeButton": "Sign and Close", + "book.finalizeWarning": "Note! When you sign the book, it will no longer be editable.", + "book.generation.0": "Original", + "book.generation.1": "Copy of original", + "book.generation.2": "Copy of a copy", + "book.generation.3": "Tattered", + "merchant.deprecated": "Trade something else to unlock!", + "block.minecraft.air": "Air", + "block.minecraft.barrier": "Barrier", + "block.minecraft.stone": "Stone", + "block.minecraft.granite": "Granite", + "block.minecraft.polished_granite": "Polished Granite", + "block.minecraft.diorite": "Diorite", + "block.minecraft.polished_diorite": "Polished Diorite", + "block.minecraft.andesite": "Andesite", + "block.minecraft.polished_andesite": "Polished Andesite", + "block.minecraft.hay_block": "Hay Bale", + "block.minecraft.grass_block": "Grass Block", + "block.minecraft.dirt": "Dirt", + "block.minecraft.coarse_dirt": "Coarse Dirt", + "block.minecraft.podzol": "Podzol", + "block.minecraft.cobblestone": "Cobblestone", + "block.minecraft.oak_planks": "Oak Planks", + "block.minecraft.spruce_planks": "Spruce Planks", + "block.minecraft.birch_planks": "Birch Planks", + "block.minecraft.jungle_planks": "Jungle Planks", + "block.minecraft.acacia_planks": "Acacia Planks", + "block.minecraft.dark_oak_planks": "Dark Oak Planks", + "block.minecraft.oak_sapling": "Oak Sapling", + "block.minecraft.spruce_sapling": "Spruce Sapling", + "block.minecraft.birch_sapling": "Birch Sapling", + "block.minecraft.jungle_sapling": "Jungle Sapling", + "block.minecraft.acacia_sapling": "Acacia Sapling", + "block.minecraft.dark_oak_sapling": "Dark Oak Sapling", + "block.minecraft.oak_door": "Oak Door", + "block.minecraft.spruce_door": "Spruce Door", + "block.minecraft.birch_door": "Birch Door", + "block.minecraft.jungle_door": "Jungle Door", + "block.minecraft.acacia_door": "Acacia Door", + "block.minecraft.dark_oak_door": "Dark Oak Door", + "block.minecraft.bedrock": "Bedrock", + "block.minecraft.water": "Water", + "block.minecraft.lava": "Lava", + "block.minecraft.flowing_water": "Flowing Water", + "block.minecraft.flowing_lava": "Flowing Lava", + "block.minecraft.sand": "Sand", + "block.minecraft.red_sand": "Red Sand", + "block.minecraft.sandstone": "Sandstone", + "block.minecraft.chiseled_sandstone": "Chiseled Sandstone", + "block.minecraft.cut_sandstone": "Cut Sandstone", + "block.minecraft.red_sandstone": "Red Sandstone", + "block.minecraft.chiseled_red_sandstone": "Chiseled Red Sandstone", + "block.minecraft.cut_red_sandstone": "Cut Red Sandstone", + "block.minecraft.gravel": "Gravel", + "block.minecraft.gold_ore": "Gold Ore", + "block.minecraft.iron_ore": "Iron Ore", + "block.minecraft.coal_ore": "Coal Ore", + "block.minecraft.oak_wood": "Oak Wood", + "block.minecraft.spruce_wood": "Spruce Wood", + "block.minecraft.birch_wood": "Birch Wood", + "block.minecraft.jungle_wood": "Jungle Wood", + "block.minecraft.acacia_wood": "Acacia Wood", + "block.minecraft.dark_oak_wood": "Dark Oak Wood", + "block.minecraft.oak_log": "Oak Log", + "block.minecraft.spruce_log": "Spruce Log", + "block.minecraft.birch_log": "Birch Log", + "block.minecraft.jungle_log": "Jungle Log", + "block.minecraft.acacia_log": "Acacia Log", + "block.minecraft.dark_oak_log": "Dark Oak Log", + "block.minecraft.stripped_oak_log": "Stripped Oak Log", + "block.minecraft.stripped_spruce_log": "Stripped Spruce Log", + "block.minecraft.stripped_birch_log": "Stripped Birch Log", + "block.minecraft.stripped_jungle_log": "Stripped Jungle Log", + "block.minecraft.stripped_acacia_log": "Stripped Acacia Log", + "block.minecraft.stripped_dark_oak_log": "Stripped Dark Oak Log", + "block.minecraft.stripped_oak_wood": "Stripped Oak Wood", + "block.minecraft.stripped_spruce_wood": "Stripped Spruce Wood", + "block.minecraft.stripped_birch_wood": "Stripped Birch Wood", + "block.minecraft.stripped_jungle_wood": "Stripped Jungle Wood", + "block.minecraft.stripped_acacia_wood": "Stripped Acacia Wood", + "block.minecraft.stripped_dark_oak_wood": "Stripped Dark Oak Wood", + "block.minecraft.oak_leaves": "Oak Leaves", + "block.minecraft.spruce_leaves": "Spruce Leaves", + "block.minecraft.birch_leaves": "Birch Leaves", + "block.minecraft.jungle_leaves": "Jungle Leaves", + "block.minecraft.acacia_leaves": "Acacia Leaves", + "block.minecraft.dark_oak_leaves": "Dark Oak Leaves", + "block.minecraft.dead_bush": "Dead Bush", + "block.minecraft.grass": "Grass", + "block.minecraft.fern": "Fern", + "block.minecraft.sponge": "Sponge", + "block.minecraft.wet_sponge": "Wet Sponge", + "block.minecraft.glass": "Glass", + "block.minecraft.kelp_plant": "Kelp Plant", + "block.minecraft.kelp": "Kelp", + "block.minecraft.dried_kelp_block": "Dried Kelp Block", + "block.minecraft.white_stained_glass": "White Stained Glass", + "block.minecraft.orange_stained_glass": "Orange Stained Glass", + "block.minecraft.magenta_stained_glass": "Magenta Stained Glass", + "block.minecraft.light_blue_stained_glass": "Light Blue Stained Glass", + "block.minecraft.yellow_stained_glass": "Yellow Stained Glass", + "block.minecraft.lime_stained_glass": "Lime Stained Glass", + "block.minecraft.pink_stained_glass": "Pink Stained Glass", + "block.minecraft.gray_stained_glass": "Gray Stained Glass", + "block.minecraft.light_gray_stained_glass": "Light Gray Stained Glass", + "block.minecraft.cyan_stained_glass": "Cyan Stained Glass", + "block.minecraft.purple_stained_glass": "Purple Stained Glass", + "block.minecraft.blue_stained_glass": "Blue Stained Glass", + "block.minecraft.brown_stained_glass": "Brown Stained Glass", + "block.minecraft.green_stained_glass": "Green Stained Glass", + "block.minecraft.red_stained_glass": "Red Stained Glass", + "block.minecraft.black_stained_glass": "Black Stained Glass", + "block.minecraft.white_stained_glass_pane": "White Stained Glass Pane", + "block.minecraft.orange_stained_glass_pane": "Orange Stained Glass Pane", + "block.minecraft.magenta_stained_glass_pane": "Magenta Stained Glass Pane", + "block.minecraft.light_blue_stained_glass_pane": "Light Blue Stained Glass Pane", + "block.minecraft.yellow_stained_glass_pane": "Yellow Stained Glass Pane", + "block.minecraft.lime_stained_glass_pane": "Lime Stained Glass Pane", + "block.minecraft.pink_stained_glass_pane": "Pink Stained Glass Pane", + "block.minecraft.gray_stained_glass_pane": "Gray Stained Glass Pane", + "block.minecraft.light_gray_stained_glass_pane": "Light Gray Stained Glass Pane", + "block.minecraft.cyan_stained_glass_pane": "Cyan Stained Glass Pane", + "block.minecraft.purple_stained_glass_pane": "Purple Stained Glass Pane", + "block.minecraft.blue_stained_glass_pane": "Blue Stained Glass Pane", + "block.minecraft.brown_stained_glass_pane": "Brown Stained Glass Pane", + "block.minecraft.green_stained_glass_pane": "Green Stained Glass Pane", + "block.minecraft.red_stained_glass_pane": "Red Stained Glass Pane", + "block.minecraft.black_stained_glass_pane": "Black Stained Glass Pane", + "block.minecraft.glass_pane": "Glass Pane", + "block.minecraft.dandelion": "Dandelion", + "block.minecraft.poppy": "Poppy", + "block.minecraft.blue_orchid": "Blue Orchid", + "block.minecraft.allium": "Allium", + "block.minecraft.azure_bluet": "Azure Bluet", + "block.minecraft.red_tulip": "Red Tulip", + "block.minecraft.orange_tulip": "Orange Tulip", + "block.minecraft.white_tulip": "White Tulip", + "block.minecraft.pink_tulip": "Pink Tulip", + "block.minecraft.oxeye_daisy": "Oxeye Daisy", + "block.minecraft.sunflower": "Sunflower", + "block.minecraft.lilac": "Lilac", + "block.minecraft.tall_grass": "Tall Grass", + "block.minecraft.tall_seagrass": "Tall Seagrass", + "block.minecraft.large_fern": "Large Fern", + "block.minecraft.rose_bush": "Rose Bush", + "block.minecraft.peony": "Peony", + "block.minecraft.seagrass": "Seagrass", + "block.minecraft.sea_pickle": "Sea Pickle", + "block.minecraft.brown_mushroom": "Brown Mushroom", + "block.minecraft.red_mushroom_block": "Red Mushroom Block", + "block.minecraft.brown_mushroom_block": "Brown Mushroom Block", + "block.minecraft.mushroom_stem": "Mushroom Stem", + "block.minecraft.gold_block": "Block of Gold", + "block.minecraft.iron_block": "Block of Iron", + "block.minecraft.smooth_stone": "Smooth Stone", + "block.minecraft.smooth_sandstone": "Smooth Sandstone", + "block.minecraft.smooth_red_sandstone": "Smooth Red Sandstone", + "block.minecraft.smooth_quartz": "Smooth Quartz", + "block.minecraft.stone_slab": "Stone Slab", + "block.minecraft.sandstone_slab": "Sandstone Slab", + "block.minecraft.red_sandstone_slab": "Red Sandstone Slab", + "block.minecraft.petrified_oak_slab": "Petrified Oak Slab", + "block.minecraft.cobblestone_slab": "Cobblestone Slab", + "block.minecraft.brick_slab": "Brick Slab", + "block.minecraft.stone_brick_slab": "Stone Brick Slab", + "block.minecraft.nether_brick_slab": "Nether Brick Slab", + "block.minecraft.quartz_slab": "Quartz Slab", + "block.minecraft.oak_slab": "Oak Slab", + "block.minecraft.spruce_slab": "Spruce Slab", + "block.minecraft.birch_slab": "Birch Slab", + "block.minecraft.jungle_slab": "Jungle Slab", + "block.minecraft.acacia_slab": "Acacia Slab", + "block.minecraft.dark_oak_slab": "Dark Oak Slab", + "block.minecraft.dark_prismarine_slab": "Dark Prismarine Slab", + "block.minecraft.prismarine_slab": "Prismarine Slab", + "block.minecraft.prismarine_brick_slab": "Prismarine Brick Slab", + "block.minecraft.bricks": "Bricks", + "block.minecraft.tnt": "TNT", + "block.minecraft.bookshelf": "Bookshelf", + "block.minecraft.mossy_cobblestone": "Mossy Cobblestone", + "block.minecraft.obsidian": "Obsidian", + "block.minecraft.torch": "Torch", + "block.minecraft.wall_torch": "Wall Torch", + "block.minecraft.fire": "Fire", + "block.minecraft.spawner": "Spawner", + "block.minecraft.oak_stairs": "Oak Stairs", + "block.minecraft.spruce_stairs": "Spruce Stairs", + "block.minecraft.birch_stairs": "Birch Stairs", + "block.minecraft.jungle_stairs": "Jungle Stairs", + "block.minecraft.acacia_stairs": "Acacia Stairs", + "block.minecraft.dark_oak_stairs": "Dark Oak Stairs", + "block.minecraft.dark_prismarine_stairs": "Dark Prismarine Stairs", + "block.minecraft.prismarine_stairs": "Prismarine Stairs", + "block.minecraft.prismarine_brick_stairs": "Prismarine Brick Stairs", + "block.minecraft.chest": "Chest", + "block.minecraft.trapped_chest": "Trapped Chest", + "block.minecraft.redstone_wire": "Redstone Dust", + "block.minecraft.diamond_ore": "Diamond Ore", + "block.minecraft.coal_block": "Block of Coal", + "block.minecraft.diamond_block": "Block of Diamond", + "block.minecraft.crafting_table": "Crafting Table", + "block.minecraft.wheat": "Wheat Crops", + "block.minecraft.farmland": "Farmland", + "block.minecraft.furnace": "Furnace", + "block.minecraft.sign": "Sign", + "block.minecraft.wall_sign": "Wall Sign", + "block.minecraft.ladder": "Ladder", + "block.minecraft.rail": "Rail", + "block.minecraft.powered_rail": "Powered Rail", + "block.minecraft.activator_rail": "Activator Rail", + "block.minecraft.detector_rail": "Detector Rail", + "block.minecraft.cobblestone_stairs": "Cobblestone Stairs", + "block.minecraft.sandstone_stairs": "Sandstone Stairs", + "block.minecraft.red_sandstone_stairs": "Red Sandstone Stairs", + "block.minecraft.lever": "Lever", + "block.minecraft.stone_pressure_plate": "Stone Pressure Plate", + "block.minecraft.oak_pressure_plate": "Oak Pressure Plate", + "block.minecraft.spruce_pressure_plate": "Spruce Pressure Plate", + "block.minecraft.birch_pressure_plate": "Birch Pressure Plate", + "block.minecraft.jungle_pressure_plate": "Jungle Pressure Plate", + "block.minecraft.acacia_pressure_plate": "Acacia Pressure Plate", + "block.minecraft.dark_oak_pressure_plate": "Dark Oak Pressure Plate", + "block.minecraft.light_weighted_pressure_plate": "Light Weighted Pressure Plate", + "block.minecraft.heavy_weighted_pressure_plate": "Heavy Weighted Pressure Plate", + "block.minecraft.iron_door": "Iron Door", + "block.minecraft.redstone_ore": "Redstone Ore", + "block.minecraft.redstone_torch": "Redstone Torch", + "block.minecraft.redstone_wall_torch": "Redstone Wall Torch", + "block.minecraft.stone_button": "Stone Button", + "block.minecraft.oak_button": "Oak Button", + "block.minecraft.spruce_button": "Spruce Button", + "block.minecraft.birch_button": "Birch Button", + "block.minecraft.jungle_button": "Jungle Button", + "block.minecraft.acacia_button": "Acacia Button", + "block.minecraft.dark_oak_button": "Dark Oak Button", + "block.minecraft.snow": "Snow", + "block.minecraft.white_carpet": "White Carpet", + "block.minecraft.orange_carpet": "Orange Carpet", + "block.minecraft.magenta_carpet": "Magenta Carpet", + "block.minecraft.light_blue_carpet": "Light Blue Carpet", + "block.minecraft.yellow_carpet": "Yellow Carpet", + "block.minecraft.lime_carpet": "Lime Carpet", + "block.minecraft.pink_carpet": "Pink Carpet", + "block.minecraft.gray_carpet": "Gray Carpet", + "block.minecraft.light_gray_carpet": "Light Gray Carpet", + "block.minecraft.cyan_carpet": "Cyan Carpet", + "block.minecraft.purple_carpet": "Purple Carpet", + "block.minecraft.blue_carpet": "Blue Carpet", + "block.minecraft.brown_carpet": "Brown Carpet", + "block.minecraft.green_carpet": "Green Carpet", + "block.minecraft.red_carpet": "Red Carpet", + "block.minecraft.black_carpet": "Black Carpet", + "block.minecraft.ice": "Ice", + "block.minecraft.frosted_ice": "Frosted Ice", + "block.minecraft.packed_ice": "Packed Ice", + "block.minecraft.blue_ice": "Blue Ice", + "block.minecraft.cactus": "Cactus", + "block.minecraft.clay": "Clay", + "block.minecraft.white_terracotta": "White Terracotta", + "block.minecraft.orange_terracotta": "Orange Terracotta", + "block.minecraft.magenta_terracotta": "Magenta Terracotta", + "block.minecraft.light_blue_terracotta": "Light Blue Terracotta", + "block.minecraft.yellow_terracotta": "Yellow Terracotta", + "block.minecraft.lime_terracotta": "Lime Terracotta", + "block.minecraft.pink_terracotta": "Pink Terracotta", + "block.minecraft.gray_terracotta": "Gray Terracotta", + "block.minecraft.light_gray_terracotta": "Light Gray Terracotta", + "block.minecraft.cyan_terracotta": "Cyan Terracotta", + "block.minecraft.purple_terracotta": "Purple Terracotta", + "block.minecraft.blue_terracotta": "Blue Terracotta", + "block.minecraft.brown_terracotta": "Brown Terracotta", + "block.minecraft.green_terracotta": "Green Terracotta", + "block.minecraft.red_terracotta": "Red Terracotta", + "block.minecraft.black_terracotta": "Black Terracotta", + "block.minecraft.terracotta": "Terracotta", + "block.minecraft.sugar_cane": "Sugar Cane", + "block.minecraft.jukebox": "Jukebox", + "block.minecraft.oak_fence": "Oak Fence", + "block.minecraft.spruce_fence": "Spruce Fence", + "block.minecraft.birch_fence": "Birch Fence", + "block.minecraft.jungle_fence": "Jungle Fence", + "block.minecraft.dark_oak_fence": "Dark Oak Fence", + "block.minecraft.acacia_fence": "Acacia Fence", + "block.minecraft.oak_fence_gate": "Oak Fence Gate", + "block.minecraft.spruce_fence_gate": "Spruce Fence Gate", + "block.minecraft.birch_fence_gate": "Birch Fence Gate", + "block.minecraft.jungle_fence_gate": "Jungle Fence Gate", + "block.minecraft.dark_oak_fence_gate": "Dark Oak Fence Gate", + "block.minecraft.acacia_fence_gate": "Acacia Fence Gate", + "block.minecraft.pumpkin_stem": "Pumpkin Stem", + "block.minecraft.attached_pumpkin_stem": "Attached Pumpkin Stem", + "block.minecraft.pumpkin": "Pumpkin", + "block.minecraft.carved_pumpkin": "Carved Pumpkin", + "block.minecraft.jack_o_lantern": "Jack o'Lantern", + "block.minecraft.netherrack": "Netherrack", + "block.minecraft.soul_sand": "Soul Sand", + "block.minecraft.glowstone": "Glowstone", + "block.minecraft.nether_portal": "Nether Portal", + "block.minecraft.white_wool": "White Wool", + "block.minecraft.orange_wool": "Orange Wool", + "block.minecraft.magenta_wool": "Magenta Wool", + "block.minecraft.light_blue_wool": "Light Blue Wool", + "block.minecraft.yellow_wool": "Yellow Wool", + "block.minecraft.lime_wool": "Lime Wool", + "block.minecraft.pink_wool": "Pink Wool", + "block.minecraft.gray_wool": "Gray Wool", + "block.minecraft.light_gray_wool": "Light Gray Wool", + "block.minecraft.cyan_wool": "Cyan Wool", + "block.minecraft.purple_wool": "Purple Wool", + "block.minecraft.blue_wool": "Blue Wool", + "block.minecraft.brown_wool": "Brown Wool", + "block.minecraft.green_wool": "Green Wool", + "block.minecraft.red_wool": "Red Wool", + "block.minecraft.black_wool": "Black Wool", + "block.minecraft.lapis_ore": "Lapis Lazuli Ore", + "block.minecraft.lapis_block": "Lapis Lazuli Block", + "block.minecraft.dispenser": "Dispenser", + "block.minecraft.dropper": "Dropper", + "block.minecraft.note_block": "Note Block", + "block.minecraft.cake": "Cake", + "block.minecraft.bed": "Bed", + "block.minecraft.bed.occupied": "This bed is occupied", + "block.minecraft.bed.no_sleep": "You can sleep only at night and during thunderstorms", + "block.minecraft.bed.too_far_away": "You may not rest now; the bed is too far away", + "block.minecraft.bed.not_safe": "You may not rest now; there are monsters nearby", + "block.minecraft.bed.not_valid": "Your home bed was missing or obstructed", + "block.minecraft.oak_trapdoor": "Oak Trapdoor", + "block.minecraft.spruce_trapdoor": "Spruce Trapdoor", + "block.minecraft.birch_trapdoor": "Birch Trapdoor", + "block.minecraft.jungle_trapdoor": "Jungle Trapdoor", + "block.minecraft.acacia_trapdoor": "Acacia Trapdoor", + "block.minecraft.dark_oak_trapdoor": "Dark Oak Trapdoor", + "block.minecraft.iron_trapdoor": "Iron Trapdoor", + "block.minecraft.cobweb": "Cobweb", + "block.minecraft.stone_bricks": "Stone Bricks", + "block.minecraft.mossy_stone_bricks": "Mossy Stone Bricks", + "block.minecraft.cracked_stone_bricks": "Cracked Stone Bricks", + "block.minecraft.chiseled_stone_bricks": "Chiseled Stone Bricks", + "block.minecraft.infested_stone": "Infested Stone", + "block.minecraft.infested_cobblestone": "Infested Cobblestone", + "block.minecraft.infested_stone_bricks": "Infested Stone Bricks", + "block.minecraft.infested_mossy_stone_bricks": "Infested Mossy Stone Bricks", + "block.minecraft.infested_cracked_stone_bricks": "Infested Cracked Stone Bricks", + "block.minecraft.infested_chiseled_stone_bricks": "Infested Chiseled Stone Bricks", + "block.minecraft.piston": "Piston", + "block.minecraft.sticky_piston": "Sticky Piston", + "block.minecraft.iron_bars": "Iron Bars", + "block.minecraft.melon": "Melon", + "block.minecraft.brick_stairs": "Brick Stairs", + "block.minecraft.stone_brick_stairs": "Stone Brick Stairs", + "block.minecraft.vine": "Vines", + "block.minecraft.nether_bricks": "Nether Bricks", + "block.minecraft.nether_brick_fence": "Nether Brick Fence", + "block.minecraft.nether_brick_stairs": "Nether Brick Stairs", + "block.minecraft.nether_wart": "Nether Wart", + "block.minecraft.cauldron": "Cauldron", + "block.minecraft.enchanting_table": "Enchanting Table", + "block.minecraft.anvil": "Anvil", + "block.minecraft.chipped_anvil": "Chipped Anvil", + "block.minecraft.damaged_anvil": "Damaged Anvil", + "block.minecraft.end_stone": "End Stone", + "block.minecraft.end_portal_frame": "End Portal Frame", + "block.minecraft.mycelium": "Mycelium", + "block.minecraft.lily_pad": "Lily Pad", + "block.minecraft.dragon_egg": "Dragon Egg", + "block.minecraft.redstone_lamp": "Redstone Lamp", + "block.minecraft.cocoa": "Cocoa", + "block.minecraft.ender_chest": "Ender Chest", + "block.minecraft.emerald_ore": "Emerald Ore", + "block.minecraft.emerald_block": "Block of Emerald", + "block.minecraft.redstone_block": "Block of Redstone", + "block.minecraft.tripwire": "Tripwire", + "block.minecraft.tripwire_hook": "Tripwire Hook", + "block.minecraft.command_block": "Command Block", + "block.minecraft.repeating_command_block": "Repeating Command Block", + "block.minecraft.chain_command_block": "Chain Command Block", + "block.minecraft.beacon": "Beacon", + "block.minecraft.beacon.primary": "Primary Power", + "block.minecraft.beacon.secondary": "Secondary Power", + "block.minecraft.cobblestone_wall": "Cobblestone Wall", + "block.minecraft.mossy_cobblestone_wall": "Mossy Cobblestone Wall", + "block.minecraft.carrots": "Carrots", + "block.minecraft.potatoes": "Potatoes", + "block.minecraft.daylight_detector": "Daylight Detector", + "block.minecraft.nether_quartz_ore": "Nether Quartz Ore", + "block.minecraft.hopper": "Hopper", + "block.minecraft.quartz_block": "Block of Quartz", + "block.minecraft.chiseled_quartz_block": "Chiseled Quartz Block", + "block.minecraft.quartz_pillar": "Quartz Pillar", + "block.minecraft.quartz_stairs": "Quartz Stairs", + "block.minecraft.slime_block": "Slime Block", + "block.minecraft.prismarine": "Prismarine", + "block.minecraft.prismarine_bricks": "Prismarine Bricks", + "block.minecraft.dark_prismarine": "Dark Prismarine", + "block.minecraft.sea_lantern": "Sea Lantern", + "block.minecraft.end_rod": "End Rod", + "block.minecraft.chorus_plant": "Chorus Plant", + "block.minecraft.chorus_flower": "Chorus Flower", + "block.minecraft.purpur_block": "Purpur Block", + "block.minecraft.purpur_pillar": "Purpur Pillar", + "block.minecraft.purpur_stairs": "Purpur Stairs", + "block.minecraft.purpur_slab": "Purpur Slab", + "block.minecraft.end_stone_bricks": "End Stone Bricks", + "block.minecraft.beetroots": "Beetroots", + "block.minecraft.grass_path": "Grass Path", + "block.minecraft.magma_block": "Magma Block", + "block.minecraft.nether_wart_block": "Nether Wart Block", + "block.minecraft.red_nether_bricks": "Red Nether Bricks", + "block.minecraft.bone_block": "Bone Block", + "block.minecraft.observer": "Observer", + "block.minecraft.shulker_box": "Shulker Box", + "block.minecraft.white_shulker_box": "White Shulker Box", + "block.minecraft.orange_shulker_box": "Orange Shulker Box", + "block.minecraft.magenta_shulker_box": "Magenta Shulker Box", + "block.minecraft.light_blue_shulker_box": "Light Blue Shulker Box", + "block.minecraft.yellow_shulker_box": "Yellow Shulker Box", + "block.minecraft.lime_shulker_box": "Lime Shulker Box", + "block.minecraft.pink_shulker_box": "Pink Shulker Box", + "block.minecraft.gray_shulker_box": "Gray Shulker Box", + "block.minecraft.light_gray_shulker_box": "Light Gray Shulker Box", + "block.minecraft.cyan_shulker_box": "Cyan Shulker Box", + "block.minecraft.purple_shulker_box": "Purple Shulker Box", + "block.minecraft.blue_shulker_box": "Blue Shulker Box", + "block.minecraft.brown_shulker_box": "Brown Shulker Box", + "block.minecraft.green_shulker_box": "Green Shulker Box", + "block.minecraft.red_shulker_box": "Red Shulker Box", + "block.minecraft.black_shulker_box": "Black Shulker Box", + "block.minecraft.white_glazed_terracotta": "White Glazed Terracotta", + "block.minecraft.orange_glazed_terracotta": "Orange Glazed Terracotta", + "block.minecraft.magenta_glazed_terracotta": "Magenta Glazed Terracotta", + "block.minecraft.light_blue_glazed_terracotta": "Light Blue Glazed Terracotta", + "block.minecraft.yellow_glazed_terracotta": "Yellow Glazed Terracotta", + "block.minecraft.lime_glazed_terracotta": "Lime Glazed Terracotta", + "block.minecraft.pink_glazed_terracotta": "Pink Glazed Terracotta", + "block.minecraft.gray_glazed_terracotta": "Gray Glazed Terracotta", + "block.minecraft.light_gray_glazed_terracotta": "Light Gray Glazed Terracotta", + "block.minecraft.cyan_glazed_terracotta": "Cyan Glazed Terracotta", + "block.minecraft.purple_glazed_terracotta": "Purple Glazed Terracotta", + "block.minecraft.blue_glazed_terracotta": "Blue Glazed Terracotta", + "block.minecraft.brown_glazed_terracotta": "Brown Glazed Terracotta", + "block.minecraft.green_glazed_terracotta": "Green Glazed Terracotta", + "block.minecraft.red_glazed_terracotta": "Red Glazed Terracotta", + "block.minecraft.black_glazed_terracotta": "Black Glazed Terracotta", + "block.minecraft.black_concrete": "Black Concrete", + "block.minecraft.red_concrete": "Red Concrete", + "block.minecraft.green_concrete": "Green Concrete", + "block.minecraft.brown_concrete": "Brown Concrete", + "block.minecraft.blue_concrete": "Blue Concrete", + "block.minecraft.purple_concrete": "Purple Concrete", + "block.minecraft.cyan_concrete": "Cyan Concrete", + "block.minecraft.light_gray_concrete": "Light Gray Concrete", + "block.minecraft.gray_concrete": "Gray Concrete", + "block.minecraft.pink_concrete": "Pink Concrete", + "block.minecraft.lime_concrete": "Lime Concrete", + "block.minecraft.yellow_concrete": "Yellow Concrete", + "block.minecraft.light_blue_concrete": "Light Blue Concrete", + "block.minecraft.magenta_concrete": "Magenta Concrete", + "block.minecraft.orange_concrete": "Orange Concrete", + "block.minecraft.white_concrete": "White Concrete", + "block.minecraft.black_concrete_powder": "Black Concrete Powder", + "block.minecraft.red_concrete_powder": "Red Concrete Powder", + "block.minecraft.green_concrete_powder": "Green Concrete Powder", + "block.minecraft.brown_concrete_powder": "Brown Concrete Powder", + "block.minecraft.blue_concrete_powder": "Blue Concrete Powder", + "block.minecraft.purple_concrete_powder": "Purple Concrete Powder", + "block.minecraft.cyan_concrete_powder": "Cyan Concrete Powder", + "block.minecraft.light_gray_concrete_powder": "Light Gray Concrete Powder", + "block.minecraft.gray_concrete_powder": "Gray Concrete Powder", + "block.minecraft.pink_concrete_powder": "Pink Concrete Powder", + "block.minecraft.lime_concrete_powder": "Lime Concrete Powder", + "block.minecraft.yellow_concrete_powder": "Yellow Concrete Powder", + "block.minecraft.light_blue_concrete_powder": "Light Blue Concrete Powder", + "block.minecraft.magenta_concrete_powder": "Magenta Concrete Powder", + "block.minecraft.orange_concrete_powder": "Orange Concrete Powder", + "block.minecraft.white_concrete_powder": "White Concrete Powder", + "block.minecraft.turtle_egg": "Turtle Egg", + "block.minecraft.two_turtle_eggs": "Two Turtle Eggs", + "block.minecraft.three_turtle_eggs": "Three Turtle Eggs", + "block.minecraft.four_turtle_eggs": "Four Turtle Eggs", + "block.minecraft.banner": "Banner", + "block.minecraft.wall_banner": "Wall Banner", + "block.minecraft.piston_head": "Piston Head", + "block.minecraft.moving_piston": "Moving Piston", + "block.minecraft.red_mushroom": "Red Mushroom", + "block.minecraft.snow_block": "Snow Block", + "block.minecraft.attached_melon_stem": "Attached Melon Stem", + "block.minecraft.melon_stem": "Melon Stem", + "block.minecraft.brewing_stand": "Brewing Stand", + "block.minecraft.end_portal": "End Portal", + "block.minecraft.flower_pot": "Flower Pot", + "block.minecraft.potted_oak_sapling": "Potted Oak Sapling", + "block.minecraft.potted_spruce_sapling": "Potted Spruce Sapling", + "block.minecraft.potted_birch_sapling": "Potted Birch Sapling", + "block.minecraft.potted_jungle_sapling": "Potted Jungle Sapling", + "block.minecraft.potted_acacia_sapling": "Potted Acacia Sapling", + "block.minecraft.potted_dark_oak_sapling": "Potted Dark Oak Sapling", + "block.minecraft.potted_fern": "Potted Fern", + "block.minecraft.potted_dandelion": "Potted Dandelion", + "block.minecraft.potted_poppy": "Potted Poppy", + "block.minecraft.potted_blue_orchid": "Potted Blue Orchid", + "block.minecraft.potted_allium": "Potted Allium", + "block.minecraft.potted_azure_bluet": "Potted Azure Bluet", + "block.minecraft.potted_red_tulip": "Potted Red Tulip", + "block.minecraft.potted_orange_tulip": "Potted Orange Tulip", + "block.minecraft.potted_white_tulip": "Potted White Tulip", + "block.minecraft.potted_pink_tulip": "Potted Pink Tulip", + "block.minecraft.potted_oxeye_daisy": "Potted Oxeye Daisy", + "block.minecraft.potted_red_mushroom": "Potted Red Mushroom", + "block.minecraft.potted_brown_mushroom": "Potted Brown Mushroom", + "block.minecraft.potted_dead_bush": "Potted Dead Bush", + "block.minecraft.potted_cactus": "Potted Cactus", + "block.minecraft.skeleton_wall_skull": "Skeleton Wall Skull", + "block.minecraft.skeleton_skull": "Skeleton Skull", + "block.minecraft.wither_skeleton_wall_skull": "Wither Skeleton Wall Skull", + "block.minecraft.wither_skeleton_skull": "Wither Skeleton Skull", + "block.minecraft.zombie_wall_head": "Zombie Wall Head", + "block.minecraft.zombie_head": "Zombie Head", + "block.minecraft.player_wall_head": "Player Wall Head", + "block.minecraft.player_head": "Player Head", + "block.minecraft.player_head.named": "%s's Head", + "block.minecraft.creeper_wall_head": "Creeper Wall Head", + "block.minecraft.creeper_head": "Creeper Head", + "block.minecraft.dragon_wall_head": "Dragon Wall Head", + "block.minecraft.dragon_head": "Dragon Head", + "block.minecraft.end_gateway": "End Gateway", + "block.minecraft.structure_void": "Structure Void", + "block.minecraft.structure_block": "Structure Block", + "block.minecraft.void_air": "Void Air", + "block.minecraft.cave_air": "Cave Air", + "block.minecraft.bubble_column": "Bubble Column", + "block.minecraft.dead_tube_coral_block": "Dead Tube Coral Block", + "block.minecraft.dead_brain_coral_block": "Dead Brain Coral Block", + "block.minecraft.dead_bubble_coral_block": "Dead Bubble Coral Block", + "block.minecraft.dead_fire_coral_block": "Dead Fire Coral Block", + "block.minecraft.dead_horn_coral_block": "Dead Horn Coral Block", + "block.minecraft.tube_coral_block": "Tube Coral Block", + "block.minecraft.brain_coral_block": "Brain Coral Block", + "block.minecraft.bubble_coral_block": "Bubble Coral Block", + "block.minecraft.fire_coral_block": "Fire Coral Block", + "block.minecraft.horn_coral_block": "Horn Coral Block", + "block.minecraft.tube_coral": "Tube Coral", + "block.minecraft.brain_coral": "Brain Coral", + "block.minecraft.bubble_coral": "Bubble Coral", + "block.minecraft.fire_coral": "Fire Coral", + "block.minecraft.horn_coral": "Horn Coral", + "block.minecraft.tube_coral_fan": "Tube Coral Fan", + "block.minecraft.brain_coral_fan": "Brain Coral Fan", + "block.minecraft.bubble_coral_fan": "Bubble Coral Fan", + "block.minecraft.fire_coral_fan": "Fire Coral Fan", + "block.minecraft.horn_coral_fan": "Horn Coral Fan", + "block.minecraft.dead_tube_coral_fan": "Dead Tube Coral Fan", + "block.minecraft.dead_brain_coral_fan": "Dead Brain Coral Fan", + "block.minecraft.dead_bubble_coral_fan": "Dead Bubble Coral Fan", + "block.minecraft.dead_fire_coral_fan": "Dead Fire Coral Fan", + "block.minecraft.dead_horn_coral_fan": "Dead Horn Coral Fan", + "block.minecraft.tube_coral_wall_fan": "Tube Coral Wall Fan", + "block.minecraft.brain_coral_wall_fan": "Brain Coral Wall Fan", + "block.minecraft.bubble_coral_wall_fan": "Bubble Coral Wall Fan", + "block.minecraft.fire_coral_wall_fan": "Fire Coral Wall Fan", + "block.minecraft.horn_coral_wall_fan": "Horn Coral Wall Fan", + "block.minecraft.dead_tube_coral_wall_fan": "Dead Tube Coral Wall Fan", + "block.minecraft.dead_brain_coral_wall_fan": "Dead Brain Coral Wall Fan", + "block.minecraft.dead_bubble_coral_wall_fan": "Dead Bubble Coral Wall Fan", + "block.minecraft.dead_fire_coral_wall_fan": "Dead Fire Coral Wall Fan", + "block.minecraft.dead_horn_coral_wall_fan": "Dead Horn Coral Wall Fan", + "block.minecraft.conduit": "Conduit", + "item.minecraft.name_tag": "Name Tag", + "item.minecraft.lead": "Lead", + "item.minecraft.iron_shovel": "Iron Shovel", + "item.minecraft.iron_pickaxe": "Iron Pickaxe", + "item.minecraft.iron_axe": "Iron Axe", + "item.minecraft.flint_and_steel": "Flint and Steel", + "item.minecraft.apple": "Apple", + "item.minecraft.cookie": "Cookie", + "item.minecraft.bow": "Bow", + "item.minecraft.arrow": "Arrow", + "item.minecraft.spectral_arrow": "Spectral Arrow", + "item.minecraft.tipped_arrow": "Tipped Arrow", + "item.minecraft.dried_kelp": "Dried Kelp", + "item.minecraft.coal": "Coal", + "item.minecraft.charcoal": "Charcoal", + "item.minecraft.diamond": "Diamond", + "item.minecraft.emerald": "Emerald", + "item.minecraft.iron_ingot": "Iron Ingot", + "item.minecraft.gold_ingot": "Gold Ingot", + "item.minecraft.iron_sword": "Iron Sword", + "item.minecraft.wooden_sword": "Wooden Sword", + "item.minecraft.wooden_shovel": "Wooden Shovel", + "item.minecraft.wooden_pickaxe": "Wooden Pickaxe", + "item.minecraft.wooden_axe": "Wooden Axe", + "item.minecraft.stone_sword": "Stone Sword", + "item.minecraft.stone_shovel": "Stone Shovel", + "item.minecraft.stone_pickaxe": "Stone Pickaxe", + "item.minecraft.stone_axe": "Stone Axe", + "item.minecraft.diamond_sword": "Diamond Sword", + "item.minecraft.diamond_shovel": "Diamond Shovel", + "item.minecraft.diamond_pickaxe": "Diamond Pickaxe", + "item.minecraft.diamond_axe": "Diamond Axe", + "item.minecraft.stick": "Stick", + "item.minecraft.bowl": "Bowl", + "item.minecraft.mushroom_stew": "Mushroom Stew", + "item.minecraft.golden_sword": "Golden Sword", + "item.minecraft.golden_shovel": "Golden Shovel", + "item.minecraft.golden_pickaxe": "Golden Pickaxe", + "item.minecraft.golden_axe": "Golden Axe", + "item.minecraft.string": "String", + "item.minecraft.feather": "Feather", + "item.minecraft.gunpowder": "Gunpowder", + "item.minecraft.wooden_hoe": "Wooden Hoe", + "item.minecraft.stone_hoe": "Stone Hoe", + "item.minecraft.iron_hoe": "Iron Hoe", + "item.minecraft.diamond_hoe": "Diamond Hoe", + "item.minecraft.golden_hoe": "Golden Hoe", + "item.minecraft.wheat_seeds": "Wheat Seeds", + "item.minecraft.pumpkin_seeds": "Pumpkin Seeds", + "item.minecraft.melon_seeds": "Melon Seeds", + "item.minecraft.melon_slice": "Melon Slice", + "item.minecraft.wheat": "Wheat", + "item.minecraft.bread": "Bread", + "item.minecraft.leather_helmet": "Leather Cap", + "item.minecraft.leather_chestplate": "Leather Tunic", + "item.minecraft.leather_leggings": "Leather Pants", + "item.minecraft.leather_boots": "Leather Boots", + "item.minecraft.chainmail_helmet": "Chainmail Helmet", + "item.minecraft.chainmail_chestplate": "Chainmail Chestplate", + "item.minecraft.chainmail_leggings": "Chainmail Leggings", + "item.minecraft.chainmail_boots": "Chainmail Boots", + "item.minecraft.iron_helmet": "Iron Helmet", + "item.minecraft.iron_chestplate": "Iron Chestplate", + "item.minecraft.iron_leggings": "Iron Leggings", + "item.minecraft.iron_boots": "Iron Boots", + "item.minecraft.diamond_helmet": "Diamond Helmet", + "item.minecraft.diamond_chestplate": "Diamond Chestplate", + "item.minecraft.diamond_leggings": "Diamond Leggings", + "item.minecraft.diamond_boots": "Diamond Boots", + "item.minecraft.golden_helmet": "Golden Helmet", + "item.minecraft.golden_chestplate": "Golden Chestplate", + "item.minecraft.golden_leggings": "Golden Leggings", + "item.minecraft.golden_boots": "Golden Boots", + "item.minecraft.flint": "Flint", + "item.minecraft.porkchop": "Raw Porkchop", + "item.minecraft.cooked_porkchop": "Cooked Porkchop", + "item.minecraft.chicken": "Raw Chicken", + "item.minecraft.cooked_chicken": "Cooked Chicken", + "item.minecraft.mutton": "Raw Mutton", + "item.minecraft.cooked_mutton": "Cooked Mutton", + "item.minecraft.rabbit": "Raw Rabbit", + "item.minecraft.cooked_rabbit": "Cooked Rabbit", + "item.minecraft.rabbit_stew": "Rabbit Stew", + "item.minecraft.rabbit_foot": "Rabbit's Foot", + "item.minecraft.rabbit_hide": "Rabbit Hide", + "item.minecraft.beef": "Raw Beef", + "item.minecraft.cooked_beef": "Steak", + "item.minecraft.painting": "Painting", + "item.minecraft.item_frame": "Item Frame", + "item.minecraft.golden_apple": "Golden Apple", + "item.minecraft.enchanted_golden_apple": "Enchanted Golden Apple", + "item.minecraft.sign": "Sign", + "item.minecraft.bucket": "Bucket", + "item.minecraft.water_bucket": "Water Bucket", + "item.minecraft.lava_bucket": "Lava Bucket", + "item.minecraft.pufferfish_bucket": "Bucket of Pufferfish", + "item.minecraft.salmon_bucket": "Bucket of Salmon", + "item.minecraft.cod_bucket": "Bucket of Cod", + "item.minecraft.tropical_fish_bucket": "Bucket of Tropical Fish", + "item.minecraft.minecart": "Minecart", + "item.minecraft.saddle": "Saddle", + "item.minecraft.redstone": "Redstone", + "item.minecraft.snowball": "Snowball", + "item.minecraft.oak_boat": "Oak Boat", + "item.minecraft.spruce_boat": "Spruce Boat", + "item.minecraft.birch_boat": "Birch Boat", + "item.minecraft.jungle_boat": "Jungle Boat", + "item.minecraft.acacia_boat": "Acacia Boat", + "item.minecraft.dark_oak_boat": "Dark Oak Boat", + "item.minecraft.leather": "Leather", + "item.minecraft.milk_bucket": "Milk Bucket", + "item.minecraft.brick": "Brick", + "item.minecraft.clay_ball": "Clay", + "item.minecraft.paper": "Paper", + "item.minecraft.book": "Book", + "item.minecraft.slime_ball": "Slimeball", + "item.minecraft.chest_minecart": "Minecart with Chest", + "item.minecraft.furnace_minecart": "Minecart with Furnace", + "item.minecraft.tnt_minecart": "Minecart with TNT", + "item.minecraft.hopper_minecart": "Minecart with Hopper", + "item.minecraft.command_block_minecart": "Minecart with Command Block", + "item.minecraft.egg": "Egg", + "item.minecraft.compass": "Compass", + "item.minecraft.fishing_rod": "Fishing Rod", + "item.minecraft.clock": "Clock", + "item.minecraft.glowstone_dust": "Glowstone Dust", + "item.minecraft.cod": "Raw Cod", + "item.minecraft.salmon": "Raw Salmon", + "item.minecraft.pufferfish": "Pufferfish", + "item.minecraft.tropical_fish": "Tropical Fish", + "item.minecraft.cooked_cod": "Cooked Cod", + "item.minecraft.cooked_salmon": "Cooked Salmon", + "item.minecraft.music_disc_13": "Music Disc", + "item.minecraft.music_disc_cat": "Music Disc", + "item.minecraft.music_disc_blocks": "Music Disc", + "item.minecraft.music_disc_chirp": "Music Disc", + "item.minecraft.music_disc_far": "Music Disc", + "item.minecraft.music_disc_mall": "Music Disc", + "item.minecraft.music_disc_mellohi": "Music Disc", + "item.minecraft.music_disc_stal": "Music Disc", + "item.minecraft.music_disc_strad": "Music Disc", + "item.minecraft.music_disc_ward": "Music Disc", + "item.minecraft.music_disc_11": "Music Disc", + "item.minecraft.music_disc_wait": "Music Disc", + "item.minecraft.music_disc_13.desc": "C418 - 13", + "item.minecraft.music_disc_cat.desc": "C418 - cat", + "item.minecraft.music_disc_blocks.desc": "C418 - blocks", + "item.minecraft.music_disc_chirp.desc": "C418 - chirp", + "item.minecraft.music_disc_far.desc": "C418 - far", + "item.minecraft.music_disc_mall.desc": "C418 - mall", + "item.minecraft.music_disc_mellohi.desc": "C418 - mellohi", + "item.minecraft.music_disc_stal.desc": "C418 - stal", + "item.minecraft.music_disc_strad.desc": "C418 - strad", + "item.minecraft.music_disc_ward.desc": "C418 - ward", + "item.minecraft.music_disc_11.desc": "C418 - 11", + "item.minecraft.music_disc_wait.desc": "C418 - wait", + "item.minecraft.bone": "Bone", + "item.minecraft.ink_sac": "Ink Sac", + "item.minecraft.rose_red": "Rose Red", + "item.minecraft.cactus_green": "Cactus Green", + "item.minecraft.cocoa_beans": "Cocoa Beans", + "item.minecraft.lapis_lazuli": "Lapis Lazuli", + "item.minecraft.purple_dye": "Purple Dye", + "item.minecraft.cyan_dye": "Cyan Dye", + "item.minecraft.light_gray_dye": "Light Gray Dye", + "item.minecraft.gray_dye": "Gray Dye", + "item.minecraft.pink_dye": "Pink Dye", + "item.minecraft.lime_dye": "Lime Dye", + "item.minecraft.dandelion_yellow": "Dandelion Yellow", + "item.minecraft.light_blue_dye": "Light Blue Dye", + "item.minecraft.magenta_dye": "Magenta Dye", + "item.minecraft.orange_dye": "Orange Dye", + "item.minecraft.bone_meal": "Bone Meal", + "item.minecraft.sugar": "Sugar", + "block.minecraft.black_bed": "Black Bed", + "block.minecraft.red_bed": "Red Bed", + "block.minecraft.green_bed": "Green Bed", + "block.minecraft.brown_bed": "Brown Bed", + "block.minecraft.blue_bed": "Blue Bed", + "block.minecraft.purple_bed": "Purple Bed", + "block.minecraft.cyan_bed": "Cyan Bed", + "block.minecraft.light_gray_bed": "Light Gray Bed", + "block.minecraft.gray_bed": "Gray Bed", + "block.minecraft.pink_bed": "Pink Bed", + "block.minecraft.lime_bed": "Lime Bed", + "block.minecraft.yellow_bed": "Yellow Bed", + "block.minecraft.light_blue_bed": "Light Blue Bed", + "block.minecraft.magenta_bed": "Magenta Bed", + "block.minecraft.orange_bed": "Orange Bed", + "block.minecraft.white_bed": "White Bed", + "block.minecraft.repeater": "Redstone Repeater", + "block.minecraft.comparator": "Redstone Comparator", + "item.minecraft.filled_map": "Map", + "item.minecraft.shears": "Shears", + "item.minecraft.rotten_flesh": "Rotten Flesh", + "item.minecraft.ender_pearl": "Ender Pearl", + "item.minecraft.blaze_rod": "Blaze Rod", + "item.minecraft.ghast_tear": "Ghast Tear", + "item.minecraft.nether_wart": "Nether Wart", + "item.minecraft.potion": "Potion", + "item.minecraft.splash_potion": "Splash Potion", + "item.minecraft.lingering_potion": "Lingering Potion", + "item.minecraft.end_crystal": "End Crystal", + "item.minecraft.gold_nugget": "Gold Nugget", + "item.minecraft.glass_bottle": "Glass Bottle", + "item.minecraft.spider_eye": "Spider Eye", + "item.minecraft.fermented_spider_eye": "Fermented Spider Eye", + "item.minecraft.blaze_powder": "Blaze Powder", + "item.minecraft.magma_cream": "Magma Cream", + "item.minecraft.cauldron": "Cauldron", + "item.minecraft.brewing_stand": "Brewing Stand", + "item.minecraft.ender_eye": "Eye of Ender", + "item.minecraft.glistering_melon_slice": "Glistering Melon Slice", + "item.minecraft.bat_spawn_egg": "Bat Spawn Egg", + "item.minecraft.blaze_spawn_egg": "Blaze Spawn Egg", + "item.minecraft.cave_spider_spawn_egg": "Cave Spider Spawn Egg", + "item.minecraft.chicken_spawn_egg": "Chicken Spawn Egg", + "item.minecraft.cod_spawn_egg": "Cod Spawn Egg", + "item.minecraft.cow_spawn_egg": "Cow Spawn Egg", + "item.minecraft.creeper_spawn_egg": "Creeper Spawn Egg", + "item.minecraft.dolphin_spawn_egg": "Dolphin Spawn Egg", + "item.minecraft.donkey_spawn_egg": "Donkey Spawn Egg", + "item.minecraft.drowned_spawn_egg": "Drowned Spawn Egg", + "item.minecraft.elder_guardian_spawn_egg": "Elder Guardian Spawn Egg", + "item.minecraft.enderman_spawn_egg": "Enderman Spawn Egg", + "item.minecraft.endermite_spawn_egg": "Endermite Spawn Egg", + "item.minecraft.evoker_spawn_egg": "Evoker Spawn Egg", + "item.minecraft.ghast_spawn_egg": "Ghast Spawn Egg", + "item.minecraft.guardian_spawn_egg": "Guardian Spawn Egg", + "item.minecraft.horse_spawn_egg": "Horse Spawn Egg", + "item.minecraft.husk_spawn_egg": "Husk Spawn Egg", + "item.minecraft.llama_spawn_egg": "Llama Spawn Egg", + "item.minecraft.magma_cube_spawn_egg": "Magma Cube Spawn Egg", + "item.minecraft.mooshroom_spawn_egg": "Mooshroom Spawn Egg", + "item.minecraft.mule_spawn_egg": "Mule Spawn Egg", + "item.minecraft.ocelot_spawn_egg": "Ocelot Spawn Egg", + "item.minecraft.parrot_spawn_egg": "Parrot Spawn Egg", + "item.minecraft.pig_spawn_egg": "Pig Spawn Egg", + "item.minecraft.phantom_spawn_egg": "Phantom Spawn Egg", + "item.minecraft.polar_bear_spawn_egg": "Polar Bear Spawn Egg", + "item.minecraft.pufferfish_spawn_egg": "Pufferfish Spawn Egg", + "item.minecraft.rabbit_spawn_egg": "Rabbit Spawn Egg", + "item.minecraft.salmon_spawn_egg": "Salmon Spawn Egg", + "item.minecraft.sheep_spawn_egg": "Sheep Spawn Egg", + "item.minecraft.shulker_spawn_egg": "Shulker Spawn Egg", + "item.minecraft.silverfish_spawn_egg": "Silverfish Spawn Egg", + "item.minecraft.skeleton_spawn_egg": "Skeleton Spawn Egg", + "item.minecraft.skeleton_horse_spawn_egg": "Skeleton Horse Spawn Egg", + "item.minecraft.slime_spawn_egg": "Slime Spawn Egg", + "item.minecraft.spider_spawn_egg": "Spider Spawn Egg", + "item.minecraft.squid_spawn_egg": "Squid Spawn Egg", + "item.minecraft.stray_spawn_egg": "Stray Spawn Egg", + "item.minecraft.tropical_fish_spawn_egg": "Tropical Fish Spawn Egg", + "item.minecraft.turtle_spawn_egg": "Turtle Spawn Egg", + "item.minecraft.vex_spawn_egg": "Vex Spawn Egg", + "item.minecraft.villager_spawn_egg": "Villager Spawn Egg", + "item.minecraft.vindicator_spawn_egg": "Vindicator Spawn Egg", + "item.minecraft.witch_spawn_egg": "Witch Spawn Egg", + "item.minecraft.wither_skeleton_spawn_egg": "Wither Skeleton Spawn Egg", + "item.minecraft.wolf_spawn_egg": "Wolf Spawn Egg", + "item.minecraft.zombie_spawn_egg": "Zombie Spawn Egg", + "item.minecraft.zombie_horse_spawn_egg": "Zombie Horse Spawn Egg", + "item.minecraft.zombie_pigman_spawn_egg": "Zombie Pigman Spawn Egg", + "item.minecraft.zombie_villager_spawn_egg": "Zombie Villager Spawn Egg", + "item.minecraft.experience_bottle": "Bottle o' Enchanting", + "item.minecraft.fire_charge": "Fire Charge", + "item.minecraft.writable_book": "Book and Quill", + "item.minecraft.written_book": "Written Book", + "item.minecraft.flower_pot": "Flower Pot", + "item.minecraft.map": "Empty Map", + "item.minecraft.carrot": "Carrot", + "item.minecraft.golden_carrot": "Golden Carrot", + "item.minecraft.potato": "Potato", + "item.minecraft.baked_potato": "Baked Potato", + "item.minecraft.poisonous_potato": "Poisonous Potato", + "item.minecraft.skeleton_skull": "Skeleton Skull", + "item.minecraft.wither_skeleton_skull": "Wither Skeleton Skull", + "item.minecraft.zombie_head": "Zombie Head", + "item.minecraft.creeper_head": "Creeper Head", + "item.minecraft.dragon_head": "Dragon Head", + "item.minecraft.carrot_on_a_stick": "Carrot on a Stick", + "item.minecraft.nether_star": "Nether Star", + "item.minecraft.pumpkin_pie": "Pumpkin Pie", + "item.minecraft.enchanted_book": "Enchanted Book", + "item.minecraft.firework_rocket": "Firework Rocket", + "item.minecraft.firework_rocket.flight": "Flight Duration:", + "item.minecraft.firework_star": "Firework Star", + "item.minecraft.firework_star.black": "Black", + "item.minecraft.firework_star.red": "Red", + "item.minecraft.firework_star.green": "Green", + "item.minecraft.firework_star.brown": "Brown", + "item.minecraft.firework_star.blue": "Blue", + "item.minecraft.firework_star.purple": "Purple", + "item.minecraft.firework_star.cyan": "Cyan", + "item.minecraft.firework_star.light_gray": "Light Gray", + "item.minecraft.firework_star.gray": "Gray", + "item.minecraft.firework_star.pink": "Pink", + "item.minecraft.firework_star.lime": "Lime", + "item.minecraft.firework_star.yellow": "Yellow", + "item.minecraft.firework_star.light_blue": "Light Blue", + "item.minecraft.firework_star.magenta": "Magenta", + "item.minecraft.firework_star.orange": "Orange", + "item.minecraft.firework_star.white": "White", + "item.minecraft.firework_star.custom_color": "Custom", + "item.minecraft.firework_star.fade_to": "Fade to", + "item.minecraft.firework_star.flicker": "Twinkle", + "item.minecraft.firework_star.trail": "Trail", + "item.minecraft.firework_star.shape.small_ball": "Small Ball", + "item.minecraft.firework_star.shape.large_ball": "Large Ball", + "item.minecraft.firework_star.shape.star": "Star-shaped", + "item.minecraft.firework_star.shape.creeper": "Creeper-shaped", + "item.minecraft.firework_star.shape.burst": "Burst", + "item.minecraft.firework_star.shape": "Unknown Shape", + "item.minecraft.nether_brick": "Nether Brick", + "item.minecraft.quartz": "Nether Quartz", + "item.minecraft.armor_stand": "Armor Stand", + "item.minecraft.iron_horse_armor": "Iron Horse Armor", + "item.minecraft.golden_horse_armor": "Golden Horse Armor", + "item.minecraft.diamond_horse_armor": "Diamond Horse Armor", + "item.minecraft.prismarine_shard": "Prismarine Shard", + "item.minecraft.prismarine_crystals": "Prismarine Crystals", + "item.minecraft.chorus_fruit": "Chorus Fruit", + "item.minecraft.popped_chorus_fruit": "Popped Chorus Fruit", + "item.minecraft.beetroot": "Beetroot", + "item.minecraft.beetroot_seeds": "Beetroot Seeds", + "item.minecraft.beetroot_soup": "Beetroot Soup", + "item.minecraft.dragon_breath": "Dragon's Breath", + "item.minecraft.elytra": "Elytra", + "item.minecraft.totem_of_undying": "Totem of Undying", + "item.minecraft.shulker_shell": "Shulker Shell", + "item.minecraft.iron_nugget": "Iron Nugget", + "item.minecraft.knowledge_book": "Knowledge Book", + "item.minecraft.debug_stick": "Debug Stick", + "item.minecraft.debug_stick.empty": "%s has no properties", + "item.minecraft.debug_stick.update": "\"%s\" to %s", + "item.minecraft.debug_stick.select": "selected \"%s\" (%s)", + "item.minecraft.trident": "Trident", + "item.minecraft.scute": "Scute", + "item.minecraft.turtle_helmet": "Turtle Shell", + "item.minecraft.phantom_membrane": "Phantom Membrane", + "item.minecraft.nautilus_shell": "Nautilus Shell", + "item.minecraft.heart_of_the_sea": "Heart of the Sea", + "container.inventory": "Inventory", + "container.hopper": "Item Hopper", + "container.crafting": "Crafting", + "container.dispenser": "Dispenser", + "container.dropper": "Dropper", + "container.furnace": "Furnace", + "container.enchant": "Enchant", + "container.enchant.lapis.one": "1 Lapis Lazuli", + "container.enchant.lapis.many": "%s Lapis Lazuli", + "container.enchant.level.one": "1 Enchantment Level", + "container.enchant.level.many": "%s Enchantment Levels", + "container.enchant.level.requirement": "Level requirement: %s", + "container.enchant.clue": "%s . . . ?", + "container.repair": "Repair & Name", + "container.repair.cost": "Enchantment Cost: %1$s", + "container.repair.expensive": "Too Expensive!", + "container.creative": "Item Selection", + "container.brewing": "Brewing Stand", + "container.chest": "Chest", + "container.chestDouble": "Large Chest", + "container.enderchest": "Ender Chest", + "container.beacon": "Beacon", + "container.shulkerBox": "Shulker Box", + "container.shulkerBox.more": "and %s more...", + "container.spectatorCantOpen": "Unable to open. Loot not generated yet.", + "container.isLocked": "%s is locked!", + "structure_block.invalid_structure_name": "Invalid structure name '%s'", + "structure_block.save_success": "Structure saved as '%s'", + "structure_block.save_failure": "Unable to save structure '%s'", + "structure_block.load_success": "Structure loaded from '%s'", + "structure_block.load_prepare": "Structure '%s' position prepared", + "structure_block.load_not_found": "Structure '%s' is not available", + "structure_block.size_success": "Size successfully detected for '%s'", + "structure_block.size_failure": "Unable to detect structure size. Add corners with matching structure names", + "structure_block.mode.save": "Save", + "structure_block.mode.load": "Load", + "structure_block.mode.data": "Data", + "structure_block.mode.corner": "Corner", + "structure_block.hover.save": "Save: %s", + "structure_block.hover.load": "Load: %s", + "structure_block.hover.data": "Data: %s", + "structure_block.hover.corner": "Corner: %s", + "structure_block.mode_info.save": "Save mode - write to file", + "structure_block.mode_info.load": "Load mode - load from file", + "structure_block.mode_info.data": "Data mode - game logic marker", + "structure_block.mode_info.corner": "Corner mode - placement and size marker", + "structure_block.structure_name": "Structure Name", + "structure_block.custom_data": "Custom Data Tag Name", + "structure_block.position": "Relative Position", + "structure_block.size": "Structure Size", + "structure_block.integrity": "Structure Integrity and Seed", + "structure_block.include_entities": "Include entities:", + "structure_block.detect_size": "Detect structure size and position:", + "structure_block.button.detect_size": "DETECT", + "structure_block.button.save": "SAVE", + "structure_block.button.load": "LOAD", + "structure_block.show_air": "Show invisible blocks:", + "structure_block.show_boundingbox": "Show bounding box:", + "item.dyed": "Dyed", + "item.unbreakable": "Unbreakable", + "item.canBreak": "Can break:", + "item.canPlace": "Can be placed on:", + "item.color": "Color: %s", + "item.nbt_tags": "NBT: %s tag(s)", + "item.durability": "Durability: %s / %s", + "filled_map.mansion": "Woodland Explorer Map", + "filled_map.monument": "Ocean Explorer Map", + "filled_map.buried_treasure": "Buried Treasure Map", + "filled_map.unknown": "Unknown Map", + "filled_map.id": "Id #%s", + "filled_map.level": "(Level %s/%s)", + "filled_map.scale": "Scaling at 1:%s", + "entity.minecraft.area_effect_cloud": "Area Effect Cloud", + "entity.minecraft.armor_stand": "Armor Stand", + "entity.minecraft.arrow": "Arrow", + "entity.minecraft.bat": "Bat", + "entity.minecraft.blaze": "Blaze", + "entity.minecraft.boat": "Boat", + "entity.minecraft.cat": "Cat", + "entity.minecraft.cave_spider": "Cave Spider", + "entity.minecraft.chest_minecart": "Minecart with Chest", + "entity.minecraft.chicken": "Chicken", + "entity.minecraft.command_block_minecart": "Minecart with Command Block", + "entity.minecraft.cod": "Cod", + "entity.minecraft.cow": "Cow", + "entity.minecraft.creeper": "Creeper", + "entity.minecraft.dolphin": "Dolphin", + "entity.minecraft.donkey": "Donkey", + "entity.minecraft.drowned": "Drowned", + "entity.minecraft.dragon_fireball": "Dragon Fireball", + "entity.minecraft.egg": "Thrown Egg", + "entity.minecraft.elder_guardian": "Elder Guardian", + "entity.minecraft.end_crystal": "End Crystal", + "entity.minecraft.ender_dragon": "Ender Dragon", + "entity.minecraft.ender_pearl": "Thrown Ender Pearl", + "entity.minecraft.enderman": "Enderman", + "entity.minecraft.endermite": "Endermite", + "entity.minecraft.evoker_fangs": "Evoker Fangs", + "entity.minecraft.evoker": "Evoker", + "entity.minecraft.eye_of_ender": "Eye of Ender", + "entity.minecraft.falling_block": "Falling Block", + "entity.minecraft.fireball": "Fireball", + "entity.minecraft.firework_rocket": "Firework Rocket", + "entity.minecraft.fishing_bobber": "Fishing Bobber", + "entity.minecraft.furnace_minecart": "Minecart with Furnace", + "entity.minecraft.ghast": "Ghast", + "entity.minecraft.giant": "Giant", + "entity.minecraft.guardian": "Guardian", + "entity.minecraft.hopper_minecart": "Minecart with Hopper", + "entity.minecraft.horse": "Horse", + "entity.minecraft.husk": "Husk", + "entity.minecraft.illusioner": "Illusioner", + "entity.minecraft.item": "Item", + "entity.minecraft.item_frame": "Item Frame", + "entity.minecraft.killer_bunny": "The Killer Bunny", + "entity.minecraft.leash_knot": "Leash Knot", + "entity.minecraft.lightning_bolt": "Lightning Bolt", + "entity.minecraft.llama": "Llama", + "entity.minecraft.llama_spit": "Llama Spit", + "entity.minecraft.magma_cube": "Magma Cube", + "entity.minecraft.minecart": "Minecart", + "entity.minecraft.mooshroom": "Mooshroom", + "entity.minecraft.mule": "Mule", + "entity.minecraft.ocelot": "Ocelot", + "entity.minecraft.painting": "Painting", + "entity.minecraft.parrot": "Parrot", + "entity.minecraft.phantom": "Phantom", + "entity.minecraft.pig": "Pig", + "entity.minecraft.player": "Player", + "entity.minecraft.polar_bear": "Polar Bear", + "entity.minecraft.potion": "Potion", + "entity.minecraft.pufferfish": "Pufferfish", + "entity.minecraft.rabbit": "Rabbit", + "entity.minecraft.salmon": "Salmon", + "entity.minecraft.sheep": "Sheep", + "entity.minecraft.shulker": "Shulker", + "entity.minecraft.shulker_bullet": "Shulker Bullet", + "entity.minecraft.silverfish": "Silverfish", + "entity.minecraft.skeleton": "Skeleton", + "entity.minecraft.skeleton_horse": "Skeleton Horse", + "entity.minecraft.slime": "Slime", + "entity.minecraft.small_fireball": "Small Fireball", + "entity.minecraft.snowball": "Snowball", + "entity.minecraft.snow_golem": "Snow Golem", + "entity.minecraft.spawner_minecart": "Minecart with Spawner", + "entity.minecraft.spectral_arrow": "Spectral Arrow", + "entity.minecraft.spider": "Spider", + "entity.minecraft.squid": "Squid", + "entity.minecraft.stray": "Stray", + "entity.minecraft.tnt": "Primed TNT", + "entity.minecraft.tnt_minecart": "Minecart with TNT", + "entity.minecraft.trident": "Trident", + "entity.minecraft.tropical_fish": "Tropical Fish", + "entity.minecraft.turtle": "Turtle", + "entity.minecraft.vex": "Vex", + "entity.minecraft.villager.armorer": "Armorer", + "entity.minecraft.villager.butcher": "Butcher", + "entity.minecraft.villager.cartographer": "Cartographer", + "entity.minecraft.villager.cleric": "Cleric", + "entity.minecraft.villager.farmer": "Farmer", + "entity.minecraft.villager.fisherman": "Fisherman", + "entity.minecraft.villager.fletcher": "Fletcher", + "entity.minecraft.villager.leatherworker": "Leatherworker", + "entity.minecraft.villager.librarian": "Librarian", + "entity.minecraft.villager.nitwit": "Nitwit", + "entity.minecraft.villager.shepherd": "Shepherd", + "entity.minecraft.villager.tool_smith": "Tool Smith", + "entity.minecraft.villager.weapon_smith": "Weapon Smith", + "entity.minecraft.villager": "Villager", + "entity.minecraft.iron_golem": "Iron Golem", + "entity.minecraft.vindicator": "Vindicator", + "entity.minecraft.witch": "Witch", + "entity.minecraft.wither": "Wither", + "entity.minecraft.wither_skeleton": "Wither Skeleton", + "entity.minecraft.wither_skull": "Wither Skull", + "entity.minecraft.wolf": "Wolf", + "entity.minecraft.experience_bottle": "Thrown Bottle o' Enchanting", + "entity.minecraft.experience_orb": "Experience Orb", + "entity.minecraft.zombie": "Zombie", + "entity.minecraft.zombie_horse": "Zombie Horse", + "entity.minecraft.zombie_pigman": "Zombie Pigman", + "entity.minecraft.zombie_villager": "Zombie Villager", + "death.fell.accident.ladder": "%1$s fell off a ladder", + "death.fell.accident.vines": "%1$s fell off some vines", + "death.fell.accident.water": "%1$s fell out of the water", + "death.fell.accident.generic": "%1$s fell from a high place", + "death.fell.killer": "%1$s was doomed to fall", + "death.fell.assist": "%1$s was doomed to fall by %2$s", + "death.fell.assist.item": "%1$s was doomed to fall by %2$s using %3$s", + "death.fell.finish": "%1$s fell too far and was finished by %2$s", + "death.fell.finish.item": "%1$s fell too far and was finished by %2$s using %3$s", + "death.attack.lightningBolt": "%1$s was struck by lightning", + "death.attack.lightningBolt.player": "%1$s was struck by lightning whilst fighting %2$s", + "death.attack.inFire": "%1$s went up in flames", + "death.attack.inFire.player": "%1$s walked into fire whilst fighting %2$s", + "death.attack.onFire": "%1$s burned to death", + "death.attack.onFire.player": "%1$s was burnt to a crisp whilst fighting %2$s", + "death.attack.lava": "%1$s tried to swim in lava", + "death.attack.lava.player": "%1$s tried to swim in lava to escape %2$s", + "death.attack.hotFloor": "%1$s discovered the floor was lava", + "death.attack.hotFloor.player": "%1$s walked into danger zone due to %2$s", + "death.attack.inWall": "%1$s suffocated in a wall", + "death.attack.inWall.player": "%1$s suffocated in a wall whilst fighting %2$s", + "death.attack.cramming": "%1$s was squished too much", + "death.attack.cramming.player": "%1$s was squashed by %2$s", + "death.attack.drown": "%1$s drowned", + "death.attack.drown.player": "%1$s drowned whilst trying to escape %2$s", + "death.attack.starve": "%1$s starved to death", + "death.attack.starve.player": "%1$s starved to death whilst fighting %2$s", + "death.attack.cactus": "%1$s was pricked to death", + "death.attack.cactus.player": "%1$s walked into a cactus whilst trying to escape %2$s", + "death.attack.generic": "%1$s died", + "death.attack.generic.player": "%1$s died because of %2$s", + "death.attack.explosion": "%1$s blew up", + "death.attack.explosion.player": "%1$s was blown up by %2$s", + "death.attack.explosion.player.item": "%1$s was blown up by %2$s using %3$s", + "death.attack.magic": "%1$s was killed by magic", + "death.attack.wither": "%1$s withered away", + "death.attack.wither.player": "%1$s withered away whilst fighting %2$s", + "death.attack.anvil": "%1$s was squashed by a falling anvil", + "death.attack.anvil.player": "%1$s was squashed by a falling anvil whilst fighting %2$s", + "death.attack.fallingBlock": "%1$s was squashed by a falling block", + "death.attack.fallingBlock.player": "%1$s was squashed by a falling block whilst fighting %2$s", + "death.attack.mob": "%1$s was slain by %2$s", + "death.attack.mob.item": "%1$s was slain by %2$s using %3$s", + "death.attack.player": "%1$s was slain by %2$s", + "death.attack.player.item": "%1$s was slain by %2$s using %3$s", + "death.attack.arrow": "%1$s was shot by %2$s", + "death.attack.arrow.item": "%1$s was shot by %2$s using %3$s", + "death.attack.fireball": "%1$s was fireballed by %2$s", + "death.attack.fireball.item": "%1$s was fireballed by %2$s using %3$s", + "death.attack.thrown": "%1$s was pummeled by %2$s", + "death.attack.thrown.item": "%1$s was pummeled by %2$s using %3$s", + "death.attack.indirectMagic": "%1$s was killed by %2$s using magic", + "death.attack.indirectMagic.item": "%1$s was killed by %2$s using %3$s", + "death.attack.thorns": "%1$s was killed trying to hurt %2$s", + "death.attack.thorns.item": "%1$s was killed by %3$s trying to hurt %2$s", + "death.attack.trident": "%1$s was impaled by %2$s", + "death.attack.trident.item": "%1$s was impaled by %2$s with %3$s", + "death.attack.fall": "%1$s hit the ground too hard", + "death.attack.fall.player": "%1$s hit the ground too hard whilst trying to escape %2$s", + "death.attack.outOfWorld": "%1$s fell out of the world", + "death.attack.outOfWorld.player": "%1$s didn't want to live in the same world as %2$s", + "death.attack.dragonBreath": "%1$s was roasted in dragon breath", + "death.attack.dragonBreath.player": "%1$s was roasted in dragon breath by %2$s", + "death.attack.flyIntoWall": "%1$s experienced kinetic energy", + "death.attack.flyIntoWall.player": "%1$s experienced kinetic energy whilst trying to escape %2$s", + "death.attack.fireworks": "%1$s went off with a bang", + "death.attack.fireworks.player": "%1$s went off with a bang whilst fighting %2$s", + "death.attack.netherBed.message": "%1$s was killed by %2$s", + "death.attack.netherBed.link": "Intentional Game Design", + "deathScreen.respawn": "Respawn", + "deathScreen.spectate": "Spectate world", + "deathScreen.deleteWorld": "Delete world", + "deathScreen.titleScreen": "Title screen", + "deathScreen.score": "Score", + "deathScreen.title.hardcore": "Game over!", + "deathScreen.title": "You died!", + "deathScreen.leaveServer": "Leave server", + "deathScreen.quit.confirm": "Are you sure you want to quit?", + "effect.none": "No Effects", + "effect.minecraft.speed": "Speed", + "effect.minecraft.slowness": "Slowness", + "effect.minecraft.haste": "Haste", + "effect.minecraft.mining_fatigue": "Mining Fatigue", + "effect.minecraft.strength": "Strength", + "effect.minecraft.instant_health": "Instant Health", + "effect.minecraft.instant_damage": "Instant Damage", + "effect.minecraft.jump_boost": "Jump Boost", + "effect.minecraft.nausea": "Nausea", + "effect.minecraft.regeneration": "Regeneration", + "effect.minecraft.resistance": "Resistance", + "effect.minecraft.fire_resistance": "Fire Resistance", + "effect.minecraft.water_breathing": "Water Breathing", + "effect.minecraft.invisibility": "Invisibility", + "effect.minecraft.blindness": "Blindness", + "effect.minecraft.night_vision": "Night Vision", + "effect.minecraft.hunger": "Hunger", + "effect.minecraft.weakness": "Weakness", + "effect.minecraft.poison": "Poison", + "effect.minecraft.wither": "Wither", + "effect.minecraft.health_boost": "Health Boost", + "effect.minecraft.absorption": "Absorption", + "effect.minecraft.saturation": "Saturation", + "effect.minecraft.glowing": "Glowing", + "effect.minecraft.luck": "Luck", + "effect.minecraft.unluck": "Bad Luck", + "effect.minecraft.levitation": "Levitation", + "effect.minecraft.slow_falling": "Slow Falling", + "effect.minecraft.conduit_power": "Conduit Power", + "effect.minecraft.dolphins_grace": "Dolphin's Grace", + "item.minecraft.tipped_arrow.effect.empty": "Uncraftable Tipped Arrow", + "item.minecraft.tipped_arrow.effect.water": "Arrow of Splashing", + "item.minecraft.tipped_arrow.effect.mundane": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.thick": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.awkward": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.night_vision": "Arrow of Night Vision", + "item.minecraft.tipped_arrow.effect.invisibility": "Arrow of Invisibility", + "item.minecraft.tipped_arrow.effect.leaping": "Arrow of Leaping", + "item.minecraft.tipped_arrow.effect.fire_resistance": "Arrow of Fire Resistance", + "item.minecraft.tipped_arrow.effect.swiftness": "Arrow of Swiftness", + "item.minecraft.tipped_arrow.effect.slowness": "Arrow of Slowness", + "item.minecraft.tipped_arrow.effect.water_breathing": "Arrow of Water Breathing", + "item.minecraft.tipped_arrow.effect.healing": "Arrow of Healing", + "item.minecraft.tipped_arrow.effect.harming": "Arrow of Harming", + "item.minecraft.tipped_arrow.effect.poison": "Arrow of Poison", + "item.minecraft.tipped_arrow.effect.regeneration": "Arrow of Regeneration", + "item.minecraft.tipped_arrow.effect.strength": "Arrow of Strength", + "item.minecraft.tipped_arrow.effect.weakness": "Arrow of Weakness", + "item.minecraft.tipped_arrow.effect.levitation": "Arrow of Levitation", + "item.minecraft.tipped_arrow.effect.luck": "Arrow of Luck", + "item.minecraft.tipped_arrow.effect.turtle_master": "Arrow of the Turtle Master", + "item.minecraft.tipped_arrow.effect.slow_falling": "Arrow of Slow Falling", + "potion.whenDrank": "When Applied:", + "item.minecraft.potion.effect.empty": "Uncraftable Potion", + "item.minecraft.potion.effect.water": "Water Bottle", + "item.minecraft.potion.effect.mundane": "Mundane Potion", + "item.minecraft.potion.effect.thick": "Thick Potion", + "item.minecraft.potion.effect.awkward": "Awkward Potion", + "item.minecraft.potion.effect.night_vision": "Potion of Night Vision", + "item.minecraft.potion.effect.invisibility": "Potion of Invisibility", + "item.minecraft.potion.effect.leaping": "Potion of Leaping", + "item.minecraft.potion.effect.fire_resistance": "Potion of Fire Resistance", + "item.minecraft.potion.effect.swiftness": "Potion of Swiftness", + "item.minecraft.potion.effect.slowness": "Potion of Slowness", + "item.minecraft.potion.effect.water_breathing": "Potion of Water Breathing", + "item.minecraft.potion.effect.healing": "Potion of Healing", + "item.minecraft.potion.effect.harming": "Potion of Harming", + "item.minecraft.potion.effect.poison": "Potion of Poison", + "item.minecraft.potion.effect.regeneration": "Potion of Regeneration", + "item.minecraft.potion.effect.strength": "Potion of Strength", + "item.minecraft.potion.effect.weakness": "Potion of Weakness", + "item.minecraft.potion.effect.levitation": "Potion of Levitation", + "item.minecraft.potion.effect.luck": "Potion of Luck", + "item.minecraft.potion.effect.turtle_master": "Potion of the Turtle Master", + "item.minecraft.potion.effect.slow_falling": "Potion of Slow Falling", + "item.minecraft.splash_potion.effect.empty": "Splash Uncraftable Potion", + "item.minecraft.splash_potion.effect.water": "Splash Water Bottle", + "item.minecraft.splash_potion.effect.mundane": "Mundane Splash Potion", + "item.minecraft.splash_potion.effect.thick": "Thick Splash Potion", + "item.minecraft.splash_potion.effect.awkward": "Awkward Splash Potion", + "item.minecraft.splash_potion.effect.night_vision": "Splash Potion of Night Vision", + "item.minecraft.splash_potion.effect.invisibility": "Splash Potion of Invisibility", + "item.minecraft.splash_potion.effect.leaping": "Splash Potion of Leaping", + "item.minecraft.splash_potion.effect.fire_resistance": "Splash Potion of Fire Resistance", + "item.minecraft.splash_potion.effect.swiftness": "Splash Potion of Swiftness", + "item.minecraft.splash_potion.effect.slowness": "Splash Potion of Slowness", + "item.minecraft.splash_potion.effect.water_breathing": "Splash Potion of Water Breathing", + "item.minecraft.splash_potion.effect.healing": "Splash Potion of Healing", + "item.minecraft.splash_potion.effect.harming": "Splash Potion of Harming", + "item.minecraft.splash_potion.effect.poison": "Splash Potion of Poison", + "item.minecraft.splash_potion.effect.regeneration": "Splash Potion of Regeneration", + "item.minecraft.splash_potion.effect.strength": "Splash Potion of Strength", + "item.minecraft.splash_potion.effect.weakness": "Splash Potion of Weakness", + "item.minecraft.splash_potion.effect.levitation": "Splash Potion of Levitation", + "item.minecraft.splash_potion.effect.luck": "Splash Potion of Luck", + "item.minecraft.splash_potion.effect.turtle_master": "Splash Potion of the Turtle Master", + "item.minecraft.splash_potion.effect.slow_falling": "Splash Potion of Slow Falling", + "item.minecraft.lingering_potion.effect.empty": "Lingering Uncraftable Potion", + "item.minecraft.lingering_potion.effect.water": "Lingering Water Bottle", + "item.minecraft.lingering_potion.effect.mundane": "Mundane Lingering Potion", + "item.minecraft.lingering_potion.effect.thick": "Thick Lingering Potion", + "item.minecraft.lingering_potion.effect.awkward": "Awkward Lingering Potion", + "item.minecraft.lingering_potion.effect.night_vision": "Lingering Potion of Night Vision", + "item.minecraft.lingering_potion.effect.invisibility": "Lingering Potion of Invisibility", + "item.minecraft.lingering_potion.effect.leaping": "Lingering Potion of Leaping", + "item.minecraft.lingering_potion.effect.fire_resistance": "Lingering Potion of Fire Resistance", + "item.minecraft.lingering_potion.effect.swiftness": "Lingering Potion of Swiftness", + "item.minecraft.lingering_potion.effect.slowness": "Lingering Potion of Slowness", + "item.minecraft.lingering_potion.effect.water_breathing": "Lingering Potion of Water Breathing", + "item.minecraft.lingering_potion.effect.healing": "Lingering Potion of Healing", + "item.minecraft.lingering_potion.effect.harming": "Lingering Potion of Harming", + "item.minecraft.lingering_potion.effect.poison": "Lingering Potion of Poison", + "item.minecraft.lingering_potion.effect.regeneration": "Lingering Potion of Regeneration", + "item.minecraft.lingering_potion.effect.strength": "Lingering Potion of Strength", + "item.minecraft.lingering_potion.effect.weakness": "Lingering Potion of Weakness", + "item.minecraft.lingering_potion.effect.levitation": "Lingering Potion of Levitation", + "item.minecraft.lingering_potion.effect.luck": "Lingering Potion of Luck", + "item.minecraft.lingering_potion.effect.turtle_master": "Lingering Potion of the Turtle Master", + "item.minecraft.lingering_potion.effect.slow_falling": "Lingering Potion of Slow Falling", + "potion.potency.0": "", + "potion.potency.1": "II", + "potion.potency.2": "III", + "potion.potency.3": "IV", + "potion.potency.4": "V", + "potion.potency.5": "VI", + "enchantment.minecraft.sharpness": "Sharpness", + "enchantment.minecraft.smite": "Smite", + "enchantment.minecraft.bane_of_arthropods": "Bane of Arthropods", + "enchantment.minecraft.knockback": "Knockback", + "enchantment.minecraft.fire_aspect": "Fire Aspect", + "enchantment.minecraft.sweeping": "Sweeping Edge", + "enchantment.minecraft.protection": "Protection", + "enchantment.minecraft.fire_protection": "Fire Protection", + "enchantment.minecraft.feather_falling": "Feather Falling", + "enchantment.minecraft.blast_protection": "Blast Protection", + "enchantment.minecraft.projectile_protection": "Projectile Protection", + "enchantment.minecraft.respiration": "Respiration", + "enchantment.minecraft.aqua_affinity": "Aqua Affinity", + "enchantment.minecraft.depth_strider": "Depth Strider", + "enchantment.minecraft.frost_walker": "Frost Walker", + "enchantment.minecraft.efficiency": "Efficiency", + "enchantment.minecraft.silk_touch": "Silk Touch", + "enchantment.minecraft.unbreaking": "Unbreaking", + "enchantment.minecraft.looting": "Looting", + "enchantment.minecraft.fortune": "Fortune", + "enchantment.minecraft.luck_of_the_sea": "Luck of the Sea", + "enchantment.minecraft.lure": "Lure", + "enchantment.minecraft.power": "Power", + "enchantment.minecraft.flame": "Flame", + "enchantment.minecraft.punch": "Punch", + "enchantment.minecraft.infinity": "Infinity", + "enchantment.minecraft.thorns": "Thorns", + "enchantment.minecraft.mending": "Mending", + "enchantment.minecraft.binding_curse": "Curse of Binding", + "enchantment.minecraft.vanishing_curse": "Curse of Vanishing", + "enchantment.minecraft.loyalty": "Loyalty", + "enchantment.minecraft.impaling": "Impaling", + "enchantment.minecraft.riptide": "Riptide", + "enchantment.minecraft.channeling": "Channeling", + "enchantment.level.1": "I", + "enchantment.level.2": "II", + "enchantment.level.3": "III", + "enchantment.level.4": "IV", + "enchantment.level.5": "V", + "enchantment.level.6": "VI", + "enchantment.level.7": "VII", + "enchantment.level.8": "VIII", + "enchantment.level.9": "IX", + "enchantment.level.10": "X", + "gui.advancements": "Advancements", + "gui.stats": "Statistics", + "advancements.empty": "There doesn't seem to be anything here...", + "advancements.toast.task": "Advancement Made!", + "advancements.toast.challenge": "Challenge Complete!", + "advancements.toast.goal": "Goal Reached!", + "stats.tooltip.type.statistic": "Statistic", + "stat.generalButton": "General", + "stat.blocksButton": "Blocks", + "stat.itemsButton": "Items", + "stat.mobsButton": "Mobs", + "stat_type.minecraft.mined": "Times Mined", + "stat_type.minecraft.crafted": "Times Crafted", + "stat_type.minecraft.used": "Times Used", + "stat_type.minecraft.broken": "Times Broken", + "stat_type.minecraft.picked_up": "Picked Up", + "stat_type.minecraft.dropped": "Dropped", + "stat_type.minecraft.killed": "You killed %s %s", + "stat_type.minecraft.killed.none": "You have never killed %s", + "stat_type.minecraft.killed_by": "%s killed you %s time(s)", + "stat_type.minecraft.killed_by.none": "You have never been killed by %s", + "stat.minecraft.animals_bred": "Animals Bred", + "stat.minecraft.aviate_one_cm": "Distance by Elytra", + "stat.minecraft.clean_armor": "Armor Pieces Cleaned", + "stat.minecraft.clean_banner": "Banners Cleaned", + "stat.minecraft.climb_one_cm": "Distance Climbed", + "stat.minecraft.boat_one_cm": "Distance by Boat", + "stat.minecraft.crouch_one_cm": "Distance Crouched", + "stat.minecraft.damage_dealt": "Damage Dealt", + "stat.minecraft.damage_taken": "Damage Taken", + "stat.minecraft.deaths": "Number of Deaths", + "stat.minecraft.walk_under_water_one_cm": "Distance Walked under Water", + "stat.minecraft.drop": "Items Dropped", + "stat.minecraft.eat_cake_slice": "Cake Slices Eaten", + "stat.minecraft.enchant_item": "Items Enchanted", + "stat.minecraft.fall_one_cm": "Distance Fallen", + "stat.minecraft.fill_cauldron": "Cauldrons Filled", + "stat.minecraft.fish_caught": "Fish Caught", + "stat.minecraft.fly_one_cm": "Distance Flown", + "stat.minecraft.horse_one_cm": "Distance by Horse", + "stat.minecraft.inspect_dispenser": "Dispensers Searched", + "stat.minecraft.inspect_dropper": "Droppers Searched", + "stat.minecraft.inspect_hopper": "Hoppers Searched", + "stat.minecraft.interact_with_beacon": "Interactions with Beacon", + "stat.minecraft.interact_with_brewingstand": "Interactions with Brewing Stand", + "stat.minecraft.interact_with_crafting_table": "Interactions with Crafting Table", + "stat.minecraft.interact_with_furnace": "Interactions with Furnace", + "stat.minecraft.jump": "Jumps", + "stat.minecraft.junk_fished": "Junk Fished", + "stat.minecraft.leave_game": "Games Quit", + "stat.minecraft.minecart_one_cm": "Distance by Minecart", + "stat.minecraft.mob_kills": "Mob Kills", + "stat.minecraft.open_chest": "Chests Opened", + "stat.minecraft.open_enderchest": "Ender Chests Opened", + "stat.minecraft.open_shulker_box": "Shulker Boxes Opened", + "stat.minecraft.pig_one_cm": "Distance by Pig", + "stat.minecraft.player_kills": "Player Kills", + "stat.minecraft.play_noteblock": "Note Blocks Played", + "stat.minecraft.play_one_minute": "Time Played", + "stat.minecraft.play_record": "Music Discs Played", + "stat.minecraft.pot_flower": "Plants Potted", + "stat.minecraft.sleep_in_bed": "Times Slept in a Bed", + "stat.minecraft.sneak_time": "Sneak Time", + "stat.minecraft.sprint_one_cm": "Distance Sprinted", + "stat.minecraft.walk_on_water_one_cm": "Distance Walked on Water", + "stat.minecraft.swim_one_cm": "Distance Swum", + "stat.minecraft.talked_to_villager": "Talked to Villagers", + "stat.minecraft.time_since_rest": "Since Last Rest", + "stat.minecraft.time_since_death": "Since Last Death", + "stat.minecraft.traded_with_villager": "Traded with Villagers", + "stat.minecraft.treasure_fished": "Treasure Fished", + "stat.minecraft.trigger_trapped_chest": "Trapped Chests Triggered", + "stat.minecraft.tune_noteblock": "Note Blocks Tuned", + "stat.minecraft.use_cauldron": "Water Taken from Cauldron", + "stat.minecraft.walk_one_cm": "Distance Walked", + "recipe.toast.title": "New Recipes Unlocked!", + "recipe.toast.description": "Check your recipe book", + "itemGroup.buildingBlocks": "Building Blocks", + "itemGroup.decorations": "Decoration Blocks", + "itemGroup.redstone": "Redstone", + "itemGroup.transportation": "Transportation", + "itemGroup.misc": "Miscellaneous", + "itemGroup.search": "Search Items", + "itemGroup.food": "Foodstuffs", + "itemGroup.tools": "Tools", + "itemGroup.combat": "Combat", + "itemGroup.brewing": "Brewing", + "itemGroup.materials": "Materials", + "itemGroup.inventory": "Survival Inventory", + "itemGroup.hotbar": "Saved Toolbars", + "inventory.binSlot": "Destroy Item", + "inventory.hotbarSaved": "Item toolbar saved (restore with %1$s+%2$s)", + "inventory.hotbarInfo": "Save toolbar with %1$s+%2$s", + "advMode.setCommand": "Set Console Command for Block", + "advMode.setCommand.success": "Command set: %s", + "advMode.command": "Console Command", + "advMode.nearestPlayer": "Use \"@p\" to target nearest player", + "advMode.randomPlayer": "Use \"@r\" to target random player", + "advMode.allPlayers": "Use \"@a\" to target all players", + "advMode.allEntities": "Use \"@e\" to target all entities", + "advMode.self": "Use \"@s\" to target the executing entity", + "advMode.previousOutput": "Previous Output", + "advMode.mode.sequence": "Chain", + "advMode.mode.auto": "Repeat", + "advMode.mode.redstone": "Impulse", + "advMode.mode.conditional": "Conditional", + "advMode.mode.unconditional": "Unconditional", + "advMode.mode.redstoneTriggered": "Needs Redstone", + "advMode.mode.autoexec.bat": "Always Active", + "advMode.notEnabled": "Command blocks are not enabled on this server", + "advMode.notAllowed": "Must be an opped player in creative mode", + "mount.onboard": "Press %1$s to dismount", + "build.tooHigh": "Height limit for building is %s blocks", + "item.modifiers.mainhand": "When in main hand:", + "item.modifiers.offhand": "When in off hand:", + "item.modifiers.feet": "When on feet:", + "item.modifiers.legs": "When on legs:", + "item.modifiers.chest": "When on body:", + "item.modifiers.head": "When on head:", + "attribute.modifier.plus.0": "+%s %s", + "attribute.modifier.plus.1": "+%s%% %s", + "attribute.modifier.plus.2": "+%s%% %s", + "attribute.modifier.take.0": "-%s %s", + "attribute.modifier.take.1": "-%s%% %s", + "attribute.modifier.take.2": "-%s%% %s", + "attribute.modifier.equals.0": "%s %s", + "attribute.modifier.equals.1": "%s%% %s", + "attribute.modifier.equals.2": "%s%% %s", + "attribute.name.horse.jumpStrength": "Horse Jump Strength", + "attribute.name.zombie.spawnReinforcements": "Zombie Reinforcements", + "attribute.name.generic.maxHealth": "Max Health", + "attribute.name.generic.followRange": "Mob Follow Range", + "attribute.name.generic.knockbackResistance": "Knockback Resistance", + "attribute.name.generic.movementSpeed": "Speed", + "attribute.name.generic.attackDamage": "Attack Damage", + "attribute.name.generic.attackSpeed": "Attack Speed", + "attribute.name.generic.luck": "Luck", + "attribute.name.generic.armor": "Armor", + "attribute.name.generic.armorToughness": "Armor Toughness", + "screenshot.success": "Saved screenshot as %s", + "screenshot.failure": "Couldn't save screenshot: %s", + "block.minecraft.black_banner": "Black Banner", + "block.minecraft.red_banner": "Red Banner", + "block.minecraft.green_banner": "Green Banner", + "block.minecraft.brown_banner": "Brown Banner", + "block.minecraft.blue_banner": "Blue Banner", + "block.minecraft.purple_banner": "Purple Banner", + "block.minecraft.cyan_banner": "Cyan Banner", + "block.minecraft.light_gray_banner": "Light Gray Banner", + "block.minecraft.gray_banner": "Gray Banner", + "block.minecraft.pink_banner": "Pink Banner", + "block.minecraft.lime_banner": "Lime Banner", + "block.minecraft.yellow_banner": "Yellow Banner", + "block.minecraft.light_blue_banner": "Light Blue Banner", + "block.minecraft.magenta_banner": "Magenta Banner", + "block.minecraft.orange_banner": "Orange Banner", + "block.minecraft.white_banner": "White Banner", + "item.minecraft.shield": "Shield", + "item.minecraft.shield.black": "Black Shield", + "item.minecraft.shield.red": "Red Shield", + "item.minecraft.shield.green": "Green Shield", + "item.minecraft.shield.brown": "Brown Shield", + "item.minecraft.shield.blue": "Blue Shield", + "item.minecraft.shield.purple": "Purple Shield", + "item.minecraft.shield.cyan": "Cyan Shield", + "item.minecraft.shield.light_gray": "Light Gray Shield", + "item.minecraft.shield.gray": "Gray Shield", + "item.minecraft.shield.pink": "Pink Shield", + "item.minecraft.shield.lime": "Lime Shield", + "item.minecraft.shield.yellow": "Yellow Shield", + "item.minecraft.shield.light_blue": "Light Blue Shield", + "item.minecraft.shield.magenta": "Magenta Shield", + "item.minecraft.shield.orange": "Orange Shield", + "item.minecraft.shield.white": "White Shield", + "block.minecraft.banner.square_bottom_left.black": "Black Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.red": "Red Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.green": "Green Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.brown": "Brown Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.blue": "Blue Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.purple": "Purple Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.cyan": "Cyan Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.light_gray": "Light Gray Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.gray": "Gray Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.pink": "Pink Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.lime": "Lime Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.yellow": "Yellow Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.light_blue": "Light Blue Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.magenta": "Magenta Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.orange": "Orange Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.white": "White Base Dexter Canton", + "block.minecraft.banner.square_bottom_right.black": "Black Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.red": "Red Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.green": "Green Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.brown": "Brown Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.blue": "Blue Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.purple": "Purple Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.cyan": "Cyan Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.light_gray": "Light Gray Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.gray": "Gray Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.pink": "Pink Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.lime": "Lime Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.yellow": "Yellow Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.light_blue": "Light Blue Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.magenta": "Magenta Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.orange": "Orange Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.white": "White Base Sinister Canton", + "block.minecraft.banner.square_top_left.black": "Black Chief Dexter Canton", + "block.minecraft.banner.square_top_left.red": "Red Chief Dexter Canton", + "block.minecraft.banner.square_top_left.green": "Green Chief Dexter Canton", + "block.minecraft.banner.square_top_left.brown": "Brown Chief Dexter Canton", + "block.minecraft.banner.square_top_left.blue": "Blue Chief Dexter Canton", + "block.minecraft.banner.square_top_left.purple": "Purple Chief Dexter Canton", + "block.minecraft.banner.square_top_left.cyan": "Cyan Chief Dexter Canton", + "block.minecraft.banner.square_top_left.light_gray": "Light Gray Chief Dexter Canton", + "block.minecraft.banner.square_top_left.gray": "Gray Chief Dexter Canton", + "block.minecraft.banner.square_top_left.pink": "Pink Chief Dexter Canton", + "block.minecraft.banner.square_top_left.lime": "Lime Chief Dexter Canton", + "block.minecraft.banner.square_top_left.yellow": "Yellow Chief Dexter Canton", + "block.minecraft.banner.square_top_left.light_blue": "Light Blue Chief Dexter Canton", + "block.minecraft.banner.square_top_left.magenta": "Magenta Chief Dexter Canton", + "block.minecraft.banner.square_top_left.orange": "Orange Chief Dexter Canton", + "block.minecraft.banner.square_top_left.white": "White Chief Dexter Canton", + "block.minecraft.banner.square_top_right.black": "Black Chief Sinister Canton", + "block.minecraft.banner.square_top_right.red": "Red Chief Sinister Canton", + "block.minecraft.banner.square_top_right.green": "Green Chief Sinister Canton", + "block.minecraft.banner.square_top_right.brown": "Brown Chief Sinister Canton", + "block.minecraft.banner.square_top_right.blue": "Blue Chief Sinister Canton", + "block.minecraft.banner.square_top_right.purple": "Purple Chief Sinister Canton", + "block.minecraft.banner.square_top_right.cyan": "Cyan Chief Sinister Canton", + "block.minecraft.banner.square_top_right.light_gray": "Light Gray Chief Sinister Canton", + "block.minecraft.banner.square_top_right.gray": "Gray Chief Sinister Canton", + "block.minecraft.banner.square_top_right.pink": "Pink Chief Sinister Canton", + "block.minecraft.banner.square_top_right.lime": "Lime Chief Sinister Canton", + "block.minecraft.banner.square_top_right.yellow": "Yellow Chief Sinister Canton", + "block.minecraft.banner.square_top_right.light_blue": "Light Blue Chief Sinister Canton", + "block.minecraft.banner.square_top_right.magenta": "Magenta Chief Sinister Canton", + "block.minecraft.banner.square_top_right.orange": "Orange Chief Sinister Canton", + "block.minecraft.banner.square_top_right.white": "White Chief Sinister Canton", + "block.minecraft.banner.stripe_bottom.black": "Black Base", + "block.minecraft.banner.stripe_bottom.red": "Red Base", + "block.minecraft.banner.stripe_bottom.green": "Green Base", + "block.minecraft.banner.stripe_bottom.brown": "Brown Base", + "block.minecraft.banner.stripe_bottom.blue": "Blue Base", + "block.minecraft.banner.stripe_bottom.purple": "Purple Base", + "block.minecraft.banner.stripe_bottom.cyan": "Cyan Base", + "block.minecraft.banner.stripe_bottom.light_gray": "Light Gray Base", + "block.minecraft.banner.stripe_bottom.gray": "Gray Base", + "block.minecraft.banner.stripe_bottom.pink": "Pink Base", + "block.minecraft.banner.stripe_bottom.lime": "Lime Base", + "block.minecraft.banner.stripe_bottom.yellow": "Yellow Base", + "block.minecraft.banner.stripe_bottom.light_blue": "Light Blue Base", + "block.minecraft.banner.stripe_bottom.magenta": "Magenta Base", + "block.minecraft.banner.stripe_bottom.orange": "Orange Base", + "block.minecraft.banner.stripe_bottom.white": "White Base", + "block.minecraft.banner.stripe_top.black": "Black Chief", + "block.minecraft.banner.stripe_top.red": "Red Chief", + "block.minecraft.banner.stripe_top.green": "Green Chief", + "block.minecraft.banner.stripe_top.brown": "Brown Chief", + "block.minecraft.banner.stripe_top.blue": "Blue Chief", + "block.minecraft.banner.stripe_top.purple": "Purple Chief", + "block.minecraft.banner.stripe_top.cyan": "Cyan Chief", + "block.minecraft.banner.stripe_top.light_gray": "Light Gray Chief", + "block.minecraft.banner.stripe_top.gray": "Gray Chief", + "block.minecraft.banner.stripe_top.pink": "Pink Chief", + "block.minecraft.banner.stripe_top.lime": "Lime Chief", + "block.minecraft.banner.stripe_top.yellow": "Yellow Chief", + "block.minecraft.banner.stripe_top.light_blue": "Light Blue Chief", + "block.minecraft.banner.stripe_top.magenta": "Magenta Chief", + "block.minecraft.banner.stripe_top.orange": "Orange Chief", + "block.minecraft.banner.stripe_top.white": "White Chief", + "block.minecraft.banner.stripe_left.black": "Black Pale Dexter", + "block.minecraft.banner.stripe_left.red": "Red Pale Dexter", + "block.minecraft.banner.stripe_left.green": "Green Pale Dexter", + "block.minecraft.banner.stripe_left.brown": "Brown Pale Dexter", + "block.minecraft.banner.stripe_left.blue": "Blue Pale Dexter", + "block.minecraft.banner.stripe_left.purple": "Purple Pale Dexter", + "block.minecraft.banner.stripe_left.cyan": "Cyan Pale Dexter", + "block.minecraft.banner.stripe_left.light_gray": "Light Gray Pale Dexter", + "block.minecraft.banner.stripe_left.gray": "Gray Pale Dexter", + "block.minecraft.banner.stripe_left.pink": "Pink Pale Dexter", + "block.minecraft.banner.stripe_left.lime": "Lime Pale Dexter", + "block.minecraft.banner.stripe_left.yellow": "Yellow Pale Dexter", + "block.minecraft.banner.stripe_left.light_blue": "Light Blue Pale Dexter", + "block.minecraft.banner.stripe_left.magenta": "Magenta Pale Dexter", + "block.minecraft.banner.stripe_left.orange": "Orange Pale Dexter", + "block.minecraft.banner.stripe_left.white": "White Pale Dexter", + "block.minecraft.banner.stripe_right.black": "Black Pale Sinister", + "block.minecraft.banner.stripe_right.red": "Red Pale Sinister", + "block.minecraft.banner.stripe_right.green": "Green Pale Sinister", + "block.minecraft.banner.stripe_right.brown": "Brown Pale Sinister", + "block.minecraft.banner.stripe_right.blue": "Blue Pale Sinister", + "block.minecraft.banner.stripe_right.purple": "Purple Pale Sinister", + "block.minecraft.banner.stripe_right.cyan": "Cyan Pale Sinister", + "block.minecraft.banner.stripe_right.light_gray": "Light Gray Pale Sinister", + "block.minecraft.banner.stripe_right.gray": "Gray Pale Sinister", + "block.minecraft.banner.stripe_right.pink": "Pink Pale Sinister", + "block.minecraft.banner.stripe_right.lime": "Lime Pale Sinister", + "block.minecraft.banner.stripe_right.yellow": "Yellow Pale Sinister", + "block.minecraft.banner.stripe_right.light_blue": "Light Blue Pale Sinister", + "block.minecraft.banner.stripe_right.magenta": "Magenta Pale Sinister", + "block.minecraft.banner.stripe_right.orange": "Orange Pale Sinister", + "block.minecraft.banner.stripe_right.white": "White Pale Sinister", + "block.minecraft.banner.stripe_center.black": "Black Pale", + "block.minecraft.banner.stripe_center.red": "Red Pale", + "block.minecraft.banner.stripe_center.green": "Green Pale", + "block.minecraft.banner.stripe_center.brown": "Brown Pale", + "block.minecraft.banner.stripe_center.blue": "Blue Pale", + "block.minecraft.banner.stripe_center.purple": "Purple Pale", + "block.minecraft.banner.stripe_center.cyan": "Cyan Pale", + "block.minecraft.banner.stripe_center.light_gray": "Light Gray Pale", + "block.minecraft.banner.stripe_center.gray": "Gray Pale", + "block.minecraft.banner.stripe_center.pink": "Pink Pale", + "block.minecraft.banner.stripe_center.lime": "Lime Pale", + "block.minecraft.banner.stripe_center.yellow": "Yellow Pale", + "block.minecraft.banner.stripe_center.light_blue": "Light Blue Pale", + "block.minecraft.banner.stripe_center.magenta": "Magenta Pale", + "block.minecraft.banner.stripe_center.orange": "Orange Pale", + "block.minecraft.banner.stripe_center.white": "White Pale", + "block.minecraft.banner.stripe_middle.black": "Black Fess", + "block.minecraft.banner.stripe_middle.red": "Red Fess", + "block.minecraft.banner.stripe_middle.green": "Green Fess", + "block.minecraft.banner.stripe_middle.brown": "Brown Fess", + "block.minecraft.banner.stripe_middle.blue": "Blue Fess", + "block.minecraft.banner.stripe_middle.purple": "Purple Fess", + "block.minecraft.banner.stripe_middle.cyan": "Cyan Fess", + "block.minecraft.banner.stripe_middle.light_gray": "Light Gray Fess", + "block.minecraft.banner.stripe_middle.gray": "Gray Fess", + "block.minecraft.banner.stripe_middle.pink": "Pink Fess", + "block.minecraft.banner.stripe_middle.lime": "Lime Fess", + "block.minecraft.banner.stripe_middle.yellow": "Yellow Fess", + "block.minecraft.banner.stripe_middle.light_blue": "Light Blue Fess", + "block.minecraft.banner.stripe_middle.magenta": "Magenta Fess", + "block.minecraft.banner.stripe_middle.orange": "Orange Fess", + "block.minecraft.banner.stripe_middle.white": "White Fess", + "block.minecraft.banner.stripe_downright.black": "Black Bend", + "block.minecraft.banner.stripe_downright.red": "Red Bend", + "block.minecraft.banner.stripe_downright.green": "Green Bend", + "block.minecraft.banner.stripe_downright.brown": "Brown Bend", + "block.minecraft.banner.stripe_downright.blue": "Blue Bend", + "block.minecraft.banner.stripe_downright.purple": "Purple Bend", + "block.minecraft.banner.stripe_downright.cyan": "Cyan Bend", + "block.minecraft.banner.stripe_downright.light_gray": "Light Gray Bend", + "block.minecraft.banner.stripe_downright.gray": "Gray Bend", + "block.minecraft.banner.stripe_downright.pink": "Pink Bend", + "block.minecraft.banner.stripe_downright.lime": "Lime Bend", + "block.minecraft.banner.stripe_downright.yellow": "Yellow Bend", + "block.minecraft.banner.stripe_downright.light_blue": "Light Blue Bend", + "block.minecraft.banner.stripe_downright.magenta": "Magenta Bend", + "block.minecraft.banner.stripe_downright.orange": "Orange Bend", + "block.minecraft.banner.stripe_downright.white": "White Bend", + "block.minecraft.banner.stripe_downleft.black": "Black Bend Sinister", + "block.minecraft.banner.stripe_downleft.red": "Red Bend Sinister", + "block.minecraft.banner.stripe_downleft.green": "Green Bend Sinister", + "block.minecraft.banner.stripe_downleft.brown": "Brown Bend Sinister", + "block.minecraft.banner.stripe_downleft.blue": "Blue Bend Sinister", + "block.minecraft.banner.stripe_downleft.purple": "Purple Bend Sinister", + "block.minecraft.banner.stripe_downleft.cyan": "Cyan Bend Sinister", + "block.minecraft.banner.stripe_downleft.light_gray": "Light Gray Bend Sinister", + "block.minecraft.banner.stripe_downleft.gray": "Gray Bend Sinister", + "block.minecraft.banner.stripe_downleft.pink": "Pink Bend Sinister", + "block.minecraft.banner.stripe_downleft.lime": "Lime Bend Sinister", + "block.minecraft.banner.stripe_downleft.yellow": "Yellow Bend Sinister", + "block.minecraft.banner.stripe_downleft.light_blue": "Light Blue Bend Sinister", + "block.minecraft.banner.stripe_downleft.magenta": "Magenta Bend Sinister", + "block.minecraft.banner.stripe_downleft.orange": "Orange Bend Sinister", + "block.minecraft.banner.stripe_downleft.white": "White Bend Sinister", + "block.minecraft.banner.small_stripes.black": "Black Paly", + "block.minecraft.banner.small_stripes.red": "Red Paly", + "block.minecraft.banner.small_stripes.green": "Green Paly", + "block.minecraft.banner.small_stripes.brown": "Brown Paly", + "block.minecraft.banner.small_stripes.blue": "Blue Paly", + "block.minecraft.banner.small_stripes.purple": "Purple Paly", + "block.minecraft.banner.small_stripes.cyan": "Cyan Paly", + "block.minecraft.banner.small_stripes.light_gray": "Light Gray Paly", + "block.minecraft.banner.small_stripes.gray": "Gray Paly", + "block.minecraft.banner.small_stripes.pink": "Pink Paly", + "block.minecraft.banner.small_stripes.lime": "Lime Paly", + "block.minecraft.banner.small_stripes.yellow": "Yellow Paly", + "block.minecraft.banner.small_stripes.light_blue": "Light Blue Paly", + "block.minecraft.banner.small_stripes.magenta": "Magenta Paly", + "block.minecraft.banner.small_stripes.orange": "Orange Paly", + "block.minecraft.banner.small_stripes.white": "White Paly", + "block.minecraft.banner.cross.black": "Black Saltire", + "block.minecraft.banner.cross.red": "Red Saltire", + "block.minecraft.banner.cross.green": "Green Saltire", + "block.minecraft.banner.cross.brown": "Brown Saltire", + "block.minecraft.banner.cross.blue": "Blue Saltire", + "block.minecraft.banner.cross.purple": "Purple Saltire", + "block.minecraft.banner.cross.cyan": "Cyan Saltire", + "block.minecraft.banner.cross.light_gray": "Light Gray Saltire", + "block.minecraft.banner.cross.gray": "Gray Saltire", + "block.minecraft.banner.cross.pink": "Pink Saltire", + "block.minecraft.banner.cross.lime": "Lime Saltire", + "block.minecraft.banner.cross.yellow": "Yellow Saltire", + "block.minecraft.banner.cross.light_blue": "Light Blue Saltire", + "block.minecraft.banner.cross.magenta": "Magenta Saltire", + "block.minecraft.banner.cross.orange": "Orange Saltire", + "block.minecraft.banner.cross.white": "White Saltire", + "block.minecraft.banner.triangle_bottom.black": "Black Chevron", + "block.minecraft.banner.triangle_bottom.red": "Red Chevron", + "block.minecraft.banner.triangle_bottom.green": "Green Chevron", + "block.minecraft.banner.triangle_bottom.brown": "Brown Chevron", + "block.minecraft.banner.triangle_bottom.blue": "Blue Chevron", + "block.minecraft.banner.triangle_bottom.purple": "Purple Chevron", + "block.minecraft.banner.triangle_bottom.cyan": "Cyan Chevron", + "block.minecraft.banner.triangle_bottom.light_gray": "Light Gray Chevron", + "block.minecraft.banner.triangle_bottom.gray": "Gray Chevron", + "block.minecraft.banner.triangle_bottom.pink": "Pink Chevron", + "block.minecraft.banner.triangle_bottom.lime": "Lime Chevron", + "block.minecraft.banner.triangle_bottom.yellow": "Yellow Chevron", + "block.minecraft.banner.triangle_bottom.light_blue": "Light Blue Chevron", + "block.minecraft.banner.triangle_bottom.magenta": "Magenta Chevron", + "block.minecraft.banner.triangle_bottom.orange": "Orange Chevron", + "block.minecraft.banner.triangle_bottom.white": "White Chevron", + "block.minecraft.banner.triangle_top.black": "Black Inverted Chevron", + "block.minecraft.banner.triangle_top.red": "Red Inverted Chevron", + "block.minecraft.banner.triangle_top.green": "Green Inverted Chevron", + "block.minecraft.banner.triangle_top.brown": "Brown Inverted Chevron", + "block.minecraft.banner.triangle_top.blue": "Blue Inverted Chevron", + "block.minecraft.banner.triangle_top.purple": "Purple Inverted Chevron", + "block.minecraft.banner.triangle_top.cyan": "Cyan Inverted Chevron", + "block.minecraft.banner.triangle_top.light_gray": "Light Gray Inverted Chevron", + "block.minecraft.banner.triangle_top.gray": "Gray Inverted Chevron", + "block.minecraft.banner.triangle_top.pink": "Pink Inverted Chevron", + "block.minecraft.banner.triangle_top.lime": "Lime Inverted Chevron", + "block.minecraft.banner.triangle_top.yellow": "Yellow Inverted Chevron", + "block.minecraft.banner.triangle_top.light_blue": "Light Blue Inverted Chevron", + "block.minecraft.banner.triangle_top.magenta": "Magenta Inverted Chevron", + "block.minecraft.banner.triangle_top.orange": "Orange Inverted Chevron", + "block.minecraft.banner.triangle_top.white": "White Inverted Chevron", + "block.minecraft.banner.triangles_bottom.black": "Black Base Indented", + "block.minecraft.banner.triangles_bottom.red": "Red Base Indented", + "block.minecraft.banner.triangles_bottom.green": "Green Base Indented", + "block.minecraft.banner.triangles_bottom.brown": "Brown Base Indented", + "block.minecraft.banner.triangles_bottom.blue": "Blue Base Indented", + "block.minecraft.banner.triangles_bottom.purple": "Purple Base Indented", + "block.minecraft.banner.triangles_bottom.cyan": "Cyan Base Indented", + "block.minecraft.banner.triangles_bottom.light_gray": "Light Gray Base Indented", + "block.minecraft.banner.triangles_bottom.gray": "Gray Base Indented", + "block.minecraft.banner.triangles_bottom.pink": "Pink Base Indented", + "block.minecraft.banner.triangles_bottom.lime": "Lime Base Indented", + "block.minecraft.banner.triangles_bottom.yellow": "Yellow Base Indented", + "block.minecraft.banner.triangles_bottom.light_blue": "Light Blue Base Indented", + "block.minecraft.banner.triangles_bottom.magenta": "Magenta Base Indented", + "block.minecraft.banner.triangles_bottom.orange": "Orange Base Indented", + "block.minecraft.banner.triangles_bottom.white": "White Base Indented", + "block.minecraft.banner.triangles_top.black": "Black Chief Indented", + "block.minecraft.banner.triangles_top.red": "Red Chief Indented", + "block.minecraft.banner.triangles_top.green": "Green Chief Indented", + "block.minecraft.banner.triangles_top.brown": "Brown Chief Indented", + "block.minecraft.banner.triangles_top.blue": "Blue Chief Indented", + "block.minecraft.banner.triangles_top.purple": "Purple Chief Indented", + "block.minecraft.banner.triangles_top.cyan": "Cyan Chief Indented", + "block.minecraft.banner.triangles_top.light_gray": "Light Gray Chief Indented", + "block.minecraft.banner.triangles_top.gray": "Gray Chief Indented", + "block.minecraft.banner.triangles_top.pink": "Pink Chief Indented", + "block.minecraft.banner.triangles_top.lime": "Lime Chief Indented", + "block.minecraft.banner.triangles_top.yellow": "Yellow Chief Indented", + "block.minecraft.banner.triangles_top.light_blue": "Light Blue Chief Indented", + "block.minecraft.banner.triangles_top.magenta": "Magenta Chief Indented", + "block.minecraft.banner.triangles_top.orange": "Orange Chief Indented", + "block.minecraft.banner.triangles_top.white": "White Chief Indented", + "block.minecraft.banner.diagonal_left.black": "Black Per Bend Sinister", + "block.minecraft.banner.diagonal_left.red": "Red Per Bend Sinister", + "block.minecraft.banner.diagonal_left.green": "Green Per Bend Sinister", + "block.minecraft.banner.diagonal_left.brown": "Brown Per Bend Sinister", + "block.minecraft.banner.diagonal_left.blue": "Blue Per Bend Sinister", + "block.minecraft.banner.diagonal_left.purple": "Purple Per Bend Sinister", + "block.minecraft.banner.diagonal_left.cyan": "Cyan Per Bend Sinister", + "block.minecraft.banner.diagonal_left.light_gray": "Light Gray Per Bend Sinister", + "block.minecraft.banner.diagonal_left.gray": "Gray Per Bend Sinister", + "block.minecraft.banner.diagonal_left.pink": "Pink Per Bend Sinister", + "block.minecraft.banner.diagonal_left.lime": "Lime Per Bend Sinister", + "block.minecraft.banner.diagonal_left.yellow": "Yellow Per Bend Sinister", + "block.minecraft.banner.diagonal_left.light_blue": "Light Blue Per Bend Sinister", + "block.minecraft.banner.diagonal_left.magenta": "Magenta Per Bend Sinister", + "block.minecraft.banner.diagonal_left.orange": "Orange Per Bend Sinister", + "block.minecraft.banner.diagonal_left.white": "White Per Bend Sinister", + "block.minecraft.banner.diagonal_right.black": "Black Per Bend", + "block.minecraft.banner.diagonal_right.red": "Red Per Bend", + "block.minecraft.banner.diagonal_right.green": "Green Per Bend", + "block.minecraft.banner.diagonal_right.brown": "Brown Per Bend", + "block.minecraft.banner.diagonal_right.blue": "Blue Per Bend", + "block.minecraft.banner.diagonal_right.purple": "Purple Per Bend", + "block.minecraft.banner.diagonal_right.cyan": "Cyan Per Bend", + "block.minecraft.banner.diagonal_right.light_gray": "Light Gray Per Bend", + "block.minecraft.banner.diagonal_right.gray": "Gray Per Bend", + "block.minecraft.banner.diagonal_right.pink": "Pink Per Bend", + "block.minecraft.banner.diagonal_right.lime": "Lime Per Bend", + "block.minecraft.banner.diagonal_right.yellow": "Yellow Per Bend", + "block.minecraft.banner.diagonal_right.light_blue": "Light Blue Per Bend", + "block.minecraft.banner.diagonal_right.magenta": "Magenta Per Bend", + "block.minecraft.banner.diagonal_right.orange": "Orange Per Bend", + "block.minecraft.banner.diagonal_right.white": "White Per Bend", + "block.minecraft.banner.diagonal_up_left.black": "Black Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.red": "Red Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.green": "Green Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.brown": "Brown Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.blue": "Blue Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.purple": "Purple Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.cyan": "Cyan Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.light_gray": "Light Gray Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.gray": "Gray Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.pink": "Pink Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.lime": "Lime Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.yellow": "Yellow Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.light_blue": "Light Blue Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.magenta": "Magenta Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.orange": "Orange Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.white": "White Per Bend Inverted", + "block.minecraft.banner.diagonal_up_right.black": "Black Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.red": "Red Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.green": "Green Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.brown": "Brown Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.blue": "Blue Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.purple": "Purple Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.cyan": "Cyan Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.light_gray": "Light Gray Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.gray": "Gray Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.pink": "Pink Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.lime": "Lime Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.yellow": "Yellow Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.light_blue": "Light Blue Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.magenta": "Magenta Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.orange": "Orange Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.white": "White Per Bend Sinister Inverted", + "block.minecraft.banner.circle.black": "Black Roundel", + "block.minecraft.banner.circle.red": "Red Roundel", + "block.minecraft.banner.circle.green": "Green Roundel", + "block.minecraft.banner.circle.brown": "Brown Roundel", + "block.minecraft.banner.circle.blue": "Blue Roundel", + "block.minecraft.banner.circle.purple": "Purple Roundel", + "block.minecraft.banner.circle.cyan": "Cyan Roundel", + "block.minecraft.banner.circle.light_gray": "Light Gray Roundel", + "block.minecraft.banner.circle.gray": "Gray Roundel", + "block.minecraft.banner.circle.pink": "Pink Roundel", + "block.minecraft.banner.circle.lime": "Lime Roundel", + "block.minecraft.banner.circle.yellow": "Yellow Roundel", + "block.minecraft.banner.circle.light_blue": "Light Blue Roundel", + "block.minecraft.banner.circle.magenta": "Magenta Roundel", + "block.minecraft.banner.circle.orange": "Orange Roundel", + "block.minecraft.banner.circle.white": "White Roundel", + "block.minecraft.banner.rhombus.black": "Black Lozenge", + "block.minecraft.banner.rhombus.red": "Red Lozenge", + "block.minecraft.banner.rhombus.green": "Green Lozenge", + "block.minecraft.banner.rhombus.brown": "Brown Lozenge", + "block.minecraft.banner.rhombus.blue": "Blue Lozenge", + "block.minecraft.banner.rhombus.purple": "Purple Lozenge", + "block.minecraft.banner.rhombus.cyan": "Cyan Lozenge", + "block.minecraft.banner.rhombus.light_gray": "Light Gray Lozenge", + "block.minecraft.banner.rhombus.gray": "Gray Lozenge", + "block.minecraft.banner.rhombus.pink": "Pink Lozenge", + "block.minecraft.banner.rhombus.lime": "Lime Lozenge", + "block.minecraft.banner.rhombus.yellow": "Yellow Lozenge", + "block.minecraft.banner.rhombus.light_blue": "Light Blue Lozenge", + "block.minecraft.banner.rhombus.magenta": "Magenta Lozenge", + "block.minecraft.banner.rhombus.orange": "Orange Lozenge", + "block.minecraft.banner.rhombus.white": "White Lozenge", + "block.minecraft.banner.half_vertical.black": "Black Per Pale", + "block.minecraft.banner.half_vertical.red": "Red Per Pale", + "block.minecraft.banner.half_vertical.green": "Green Per Pale", + "block.minecraft.banner.half_vertical.brown": "Brown Per Pale", + "block.minecraft.banner.half_vertical.blue": "Blue Per Pale", + "block.minecraft.banner.half_vertical.purple": "Purple Per Pale", + "block.minecraft.banner.half_vertical.cyan": "Cyan Per Pale", + "block.minecraft.banner.half_vertical.light_gray": "Light Gray Per Pale", + "block.minecraft.banner.half_vertical.gray": "Gray Per Pale", + "block.minecraft.banner.half_vertical.pink": "Pink Per Pale", + "block.minecraft.banner.half_vertical.lime": "Lime Per Pale", + "block.minecraft.banner.half_vertical.yellow": "Yellow Per Pale", + "block.minecraft.banner.half_vertical.light_blue": "Light Blue Per Pale", + "block.minecraft.banner.half_vertical.magenta": "Magenta Per Pale", + "block.minecraft.banner.half_vertical.orange": "Orange Per Pale", + "block.minecraft.banner.half_vertical.white": "White Per Pale", + "block.minecraft.banner.half_horizontal.black": "Black Per Fess", + "block.minecraft.banner.half_horizontal.red": "Red Per Fess", + "block.minecraft.banner.half_horizontal.green": "Green Per Fess", + "block.minecraft.banner.half_horizontal.brown": "Brown Per Fess", + "block.minecraft.banner.half_horizontal.blue": "Blue Per Fess", + "block.minecraft.banner.half_horizontal.purple": "Purple Per Fess", + "block.minecraft.banner.half_horizontal.cyan": "Cyan Per Fess", + "block.minecraft.banner.half_horizontal.light_gray": "Light Gray Per Fess", + "block.minecraft.banner.half_horizontal.gray": "Gray Per Fess", + "block.minecraft.banner.half_horizontal.pink": "Pink Per Fess", + "block.minecraft.banner.half_horizontal.lime": "Lime Per Fess", + "block.minecraft.banner.half_horizontal.yellow": "Yellow Per Fess", + "block.minecraft.banner.half_horizontal.light_blue": "Light Blue Per Fess", + "block.minecraft.banner.half_horizontal.magenta": "Magenta Per Fess", + "block.minecraft.banner.half_horizontal.orange": "Orange Per Fess", + "block.minecraft.banner.half_horizontal.white": "White Per Fess", + "block.minecraft.banner.half_vertical_right.black": "Black Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.red": "Red Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.green": "Green Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.brown": "Brown Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.blue": "Blue Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.purple": "Purple Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.cyan": "Cyan Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.light_gray": "Light Gray Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.gray": "Gray Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.pink": "Pink Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.lime": "Lime Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.yellow": "Yellow Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.light_blue": "Light Blue Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.magenta": "Magenta Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.orange": "Orange Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.white": "White Per Pale Inverted", + "block.minecraft.banner.half_horizontal_bottom.black": "Black Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.red": "Red Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.green": "Green Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.brown": "Brown Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.blue": "Blue Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.purple": "Purple Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.cyan": "Cyan Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.light_gray": "Light Gray Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.gray": "Gray Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.pink": "Pink Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.lime": "Lime Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.yellow": "Yellow Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.light_blue": "Light Blue Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.magenta": "Magenta Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.orange": "Orange Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.white": "White Per Fess Inverted", + "block.minecraft.banner.creeper.black": "Black Creeper Charge", + "block.minecraft.banner.creeper.red": "Red Creeper Charge", + "block.minecraft.banner.creeper.green": "Green Creeper Charge", + "block.minecraft.banner.creeper.brown": "Brown Creeper Charge", + "block.minecraft.banner.creeper.blue": "Blue Creeper Charge", + "block.minecraft.banner.creeper.purple": "Purple Creeper Charge", + "block.minecraft.banner.creeper.cyan": "Cyan Creeper Charge", + "block.minecraft.banner.creeper.light_gray": "Light Gray Creeper Charge", + "block.minecraft.banner.creeper.gray": "Gray Creeper Charge", + "block.minecraft.banner.creeper.pink": "Pink Creeper Charge", + "block.minecraft.banner.creeper.lime": "Lime Creeper Charge", + "block.minecraft.banner.creeper.yellow": "Yellow Creeper Charge", + "block.minecraft.banner.creeper.light_blue": "Light Blue Creeper Charge", + "block.minecraft.banner.creeper.magenta": "Magenta Creeper Charge", + "block.minecraft.banner.creeper.orange": "Orange Creeper Charge", + "block.minecraft.banner.creeper.white": "White Creeper Charge", + "block.minecraft.banner.bricks.black": "Black Field Masoned", + "block.minecraft.banner.bricks.red": "Red Field Masoned", + "block.minecraft.banner.bricks.green": "Green Field Masoned", + "block.minecraft.banner.bricks.brown": "Brown Field Masoned", + "block.minecraft.banner.bricks.blue": "Blue Field Masoned", + "block.minecraft.banner.bricks.purple": "Purple Field Masoned", + "block.minecraft.banner.bricks.cyan": "Cyan Field Masoned", + "block.minecraft.banner.bricks.light_gray": "Light Gray Field Masoned", + "block.minecraft.banner.bricks.gray": "Gray Field Masoned", + "block.minecraft.banner.bricks.pink": "Pink Field Masoned", + "block.minecraft.banner.bricks.lime": "Lime Field Masoned", + "block.minecraft.banner.bricks.yellow": "Yellow Field Masoned", + "block.minecraft.banner.bricks.light_blue": "Light Blue Field Masoned", + "block.minecraft.banner.bricks.magenta": "Magenta Field Masoned", + "block.minecraft.banner.bricks.orange": "Orange Field Masoned", + "block.minecraft.banner.bricks.white": "White Field Masoned", + "block.minecraft.banner.gradient.black": "Black Gradient", + "block.minecraft.banner.gradient.red": "Red Gradient", + "block.minecraft.banner.gradient.green": "Green Gradient", + "block.minecraft.banner.gradient.brown": "Brown Gradient", + "block.minecraft.banner.gradient.blue": "Blue Gradient", + "block.minecraft.banner.gradient.purple": "Purple Gradient", + "block.minecraft.banner.gradient.cyan": "Cyan Gradient", + "block.minecraft.banner.gradient.light_gray": "Light Gray Gradient", + "block.minecraft.banner.gradient.gray": "Gray Gradient", + "block.minecraft.banner.gradient.pink": "Pink Gradient", + "block.minecraft.banner.gradient.lime": "Lime Gradient", + "block.minecraft.banner.gradient.yellow": "Yellow Gradient", + "block.minecraft.banner.gradient.light_blue": "Light Blue Gradient", + "block.minecraft.banner.gradient.magenta": "Magenta Gradient", + "block.minecraft.banner.gradient.orange": "Orange Gradient", + "block.minecraft.banner.gradient.white": "White Gradient", + "block.minecraft.banner.gradient_up.black": "Black Base Gradient", + "block.minecraft.banner.gradient_up.red": "Red Base Gradient", + "block.minecraft.banner.gradient_up.green": "Green Base Gradient", + "block.minecraft.banner.gradient_up.brown": "Brown Base Gradient", + "block.minecraft.banner.gradient_up.blue": "Blue Base Gradient", + "block.minecraft.banner.gradient_up.purple": "Purple Base Gradient", + "block.minecraft.banner.gradient_up.cyan": "Cyan Base Gradient", + "block.minecraft.banner.gradient_up.light_gray": "Light Gray Base Gradient", + "block.minecraft.banner.gradient_up.gray": "Gray Base Gradient", + "block.minecraft.banner.gradient_up.pink": "Pink Base Gradient", + "block.minecraft.banner.gradient_up.lime": "Lime Base Gradient", + "block.minecraft.banner.gradient_up.yellow": "Yellow Base Gradient", + "block.minecraft.banner.gradient_up.light_blue": "Light Blue Base Gradient", + "block.minecraft.banner.gradient_up.magenta": "Magenta Base Gradient", + "block.minecraft.banner.gradient_up.orange": "Orange Base Gradient", + "block.minecraft.banner.gradient_up.white": "White Base Gradient", + "block.minecraft.banner.skull.black": "Black Skull Charge", + "block.minecraft.banner.skull.red": "Red Skull Charge", + "block.minecraft.banner.skull.green": "Green Skull Charge", + "block.minecraft.banner.skull.brown": "Brown Skull Charge", + "block.minecraft.banner.skull.blue": "Blue Skull Charge", + "block.minecraft.banner.skull.purple": "Purple Skull Charge", + "block.minecraft.banner.skull.cyan": "Cyan Skull Charge", + "block.minecraft.banner.skull.light_gray": "Light Gray Skull Charge", + "block.minecraft.banner.skull.gray": "Gray Skull Charge", + "block.minecraft.banner.skull.pink": "Pink Skull Charge", + "block.minecraft.banner.skull.lime": "Lime Skull Charge", + "block.minecraft.banner.skull.yellow": "Yellow Skull Charge", + "block.minecraft.banner.skull.light_blue": "Light Blue Skull Charge", + "block.minecraft.banner.skull.magenta": "Magenta Skull Charge", + "block.minecraft.banner.skull.orange": "Orange Skull Charge", + "block.minecraft.banner.skull.white": "White Skull Charge", + "block.minecraft.banner.flower.black": "Black Flower Charge", + "block.minecraft.banner.flower.red": "Red Flower Charge", + "block.minecraft.banner.flower.green": "Green Flower Charge", + "block.minecraft.banner.flower.brown": "Brown Flower Charge", + "block.minecraft.banner.flower.blue": "Blue Flower Charge", + "block.minecraft.banner.flower.purple": "Purple Flower Charge", + "block.minecraft.banner.flower.cyan": "Cyan Flower Charge", + "block.minecraft.banner.flower.light_gray": "Light Gray Flower Charge", + "block.minecraft.banner.flower.gray": "Gray Flower Charge", + "block.minecraft.banner.flower.pink": "Pink Flower Charge", + "block.minecraft.banner.flower.lime": "Lime Flower Charge", + "block.minecraft.banner.flower.yellow": "Yellow Flower Charge", + "block.minecraft.banner.flower.light_blue": "Light Blue Flower Charge", + "block.minecraft.banner.flower.magenta": "Magenta Flower Charge", + "block.minecraft.banner.flower.orange": "Orange Flower Charge", + "block.minecraft.banner.flower.white": "White Flower Charge", + "block.minecraft.banner.border.black": "Black Bordure", + "block.minecraft.banner.border.red": "Red Bordure", + "block.minecraft.banner.border.green": "Green Bordure", + "block.minecraft.banner.border.brown": "Brown Bordure", + "block.minecraft.banner.border.blue": "Blue Bordure", + "block.minecraft.banner.border.purple": "Purple Bordure", + "block.minecraft.banner.border.cyan": "Cyan Bordure", + "block.minecraft.banner.border.light_gray": "Light Gray Bordure", + "block.minecraft.banner.border.gray": "Gray Bordure", + "block.minecraft.banner.border.pink": "Pink Bordure", + "block.minecraft.banner.border.lime": "Lime Bordure", + "block.minecraft.banner.border.yellow": "Yellow Bordure", + "block.minecraft.banner.border.light_blue": "Light Blue Bordure", + "block.minecraft.banner.border.magenta": "Magenta Bordure", + "block.minecraft.banner.border.orange": "Orange Bordure", + "block.minecraft.banner.border.white": "White Bordure", + "block.minecraft.banner.curly_border.black": "Black Bordure Indented", + "block.minecraft.banner.curly_border.red": "Red Bordure Indented", + "block.minecraft.banner.curly_border.green": "Green Bordure Indented", + "block.minecraft.banner.curly_border.brown": "Brown Bordure Indented", + "block.minecraft.banner.curly_border.blue": "Blue Bordure Indented", + "block.minecraft.banner.curly_border.purple": "Purple Bordure Indented", + "block.minecraft.banner.curly_border.cyan": "Cyan Bordure Indented", + "block.minecraft.banner.curly_border.light_gray": "Light Gray Bordure Indented", + "block.minecraft.banner.curly_border.gray": "Gray Bordure Indented", + "block.minecraft.banner.curly_border.pink": "Pink Bordure Indented", + "block.minecraft.banner.curly_border.lime": "Lime Bordure Indented", + "block.minecraft.banner.curly_border.yellow": "Yellow Bordure Indented", + "block.minecraft.banner.curly_border.light_blue": "Light Blue Bordure Indented", + "block.minecraft.banner.curly_border.magenta": "Magenta Bordure Indented", + "block.minecraft.banner.curly_border.orange": "Orange Bordure Indented", + "block.minecraft.banner.curly_border.white": "White Bordure Indented", + "block.minecraft.banner.mojang.black": "Black Thing", + "block.minecraft.banner.mojang.red": "Red Thing", + "block.minecraft.banner.mojang.green": "Green Thing", + "block.minecraft.banner.mojang.brown": "Brown Thing", + "block.minecraft.banner.mojang.blue": "Blue Thing", + "block.minecraft.banner.mojang.purple": "Purple Thing", + "block.minecraft.banner.mojang.cyan": "Cyan Thing", + "block.minecraft.banner.mojang.light_gray": "Light Gray Thing", + "block.minecraft.banner.mojang.gray": "Gray Thing", + "block.minecraft.banner.mojang.pink": "Pink Thing", + "block.minecraft.banner.mojang.lime": "Lime Thing", + "block.minecraft.banner.mojang.yellow": "Yellow Thing", + "block.minecraft.banner.mojang.light_blue": "Light Blue Thing", + "block.minecraft.banner.mojang.magenta": "Magenta Thing", + "block.minecraft.banner.mojang.orange": "Orange Thing", + "block.minecraft.banner.mojang.white": "White Thing", + "block.minecraft.banner.straight_cross.black": "Black Cross", + "block.minecraft.banner.straight_cross.red": "Red Cross", + "block.minecraft.banner.straight_cross.green": "Green Cross", + "block.minecraft.banner.straight_cross.brown": "Brown Cross", + "block.minecraft.banner.straight_cross.blue": "Blue Cross", + "block.minecraft.banner.straight_cross.purple": "Purple Cross", + "block.minecraft.banner.straight_cross.cyan": "Cyan Cross", + "block.minecraft.banner.straight_cross.light_gray": "Light Gray Cross", + "block.minecraft.banner.straight_cross.gray": "Gray Cross", + "block.minecraft.banner.straight_cross.pink": "Pink Cross", + "block.minecraft.banner.straight_cross.lime": "Lime Cross", + "block.minecraft.banner.straight_cross.yellow": "Yellow Cross", + "block.minecraft.banner.straight_cross.light_blue": "Light Blue Cross", + "block.minecraft.banner.straight_cross.magenta": "Magenta Cross", + "block.minecraft.banner.straight_cross.orange": "Orange Cross", + "block.minecraft.banner.straight_cross.white": "White Cross", + "subtitles.ambient.cave": "Eerie noise", + "subtitles.block.anvil.destroy": "Anvil destroyed", + "subtitles.block.anvil.land": "Anvil landed", + "subtitles.block.anvil.use": "Anvil used", + "subtitles.block.brewing_stand.brew": "Brewing Stand bubbles", + "subtitles.block.bubble_column.bubble_pop": "Bubbles pop", + "subtitles.block.bubble_column.upwards_ambient": "Bubbles flow", + "subtitles.block.bubble_column.upwards_inside": "Bubbles woosh", + "subtitles.block.bubble_column.whirlpool_ambient": "Bubbles whirl", + "subtitles.block.bubble_column.whirlpool_inside": "Bubbles zoom", + "subtitles.block.button.click": "Button clicks", + "subtitles.block.chest.close": "Chest closes", + "subtitles.block.chest.locked": "Chest locked", + "subtitles.block.chest.open": "Chest opens", + "subtitles.block.chorus_flower.death": "Chorus Flower withers", + "subtitles.block.chorus_flower.grow": "Chorus Flower grows", + "subtitles.block.comparator.click": "Comparator clicks", + "subtitles.block.dispenser.dispense": "Dispensed item", + "subtitles.block.dispenser.fail": "Dispenser failed", + "subtitles.block.door.toggle": "Door creaks", + "subtitles.block.fence_gate.toggle": "Fence Gate creaks", + "subtitles.block.fire.ambient": "Fire crackles", + "subtitles.block.fire.extinguish": "Fire extinguished", + "subtitles.block.furnace.fire_crackle": "Furnace crackles", + "subtitles.block.generic.break": "Block broken", + "subtitles.block.generic.footsteps": "Footsteps", + "subtitles.block.generic.hit": "Block breaking", + "subtitles.block.generic.place": "Block placed", + "subtitles.block.iron_trapdoor.close": "Trapdoor opens", + "subtitles.block.iron_trapdoor.open": "Trapdoor closes", + "subtitles.block.lava.ambient": "Lava pops", + "subtitles.block.lava.extinguish": "Lava hisses", + "subtitles.block.lever.click": "Lever clicks", + "subtitles.block.note_block.note": "Note Block plays", + "subtitles.block.piston.move": "Piston moves", + "subtitles.block.portal.ambient": "Portal whooshes", + "subtitles.block.pressure_plate.click": "Pressure Plate clicks", + "subtitles.block.redstone_torch.burnout": "Torch fizzes", + "subtitles.block.shulker_box.close": "Shulker closes", + "subtitles.block.shulker_box.open": "Shulker opens", + "subtitles.block.trapdoor.toggle": "Trapdoor creaks", + "subtitles.block.tripwire.attach": "Tripwire attaches", + "subtitles.block.tripwire.click": "Tripwire clicks", + "subtitles.block.tripwire.detach": "Tripwire detaches", + "subtitles.block.water.ambient": "Water flows", + "subtitles.enchant.thorns.hit": "Thorns prick", + "subtitles.entity.armor_stand.fall": "Something fell", + "subtitles.entity.arrow.hit": "Arrow hits", + "subtitles.entity.arrow.hit_player": "Player hit", + "subtitles.entity.arrow.shoot": "Arrow fired", + "subtitles.entity.bat.ambient": "Bat screeches", + "subtitles.entity.bat.death": "Bat dies", + "subtitles.entity.bat.hurt": "Bat hurts", + "subtitles.entity.bat.takeoff": "Bat takes off", + "subtitles.entity.blaze.ambient": "Blaze breathes", + "subtitles.entity.blaze.burn": "Blaze crackles", + "subtitles.entity.blaze.death": "Blaze dies", + "subtitles.entity.blaze.hurt": "Blaze hurts", + "subtitles.entity.blaze.shoot": "Blaze shoots", + "subtitles.entity.fishing_bobber.splash": "Fishing Bobber splashes", + "subtitles.entity.fishing_bobber.throw": "Bobber thrown", + "subtitles.entity.cat.ambient": "Cat meows", + "subtitles.entity.cat.death": "Cat dies", + "subtitles.entity.cat.hurt": "Cat hurts", + "subtitles.entity.chicken.ambient": "Chicken clucks", + "subtitles.entity.chicken.death": "Chicken dies", + "subtitles.entity.chicken.egg": "Chicken plops", + "subtitles.entity.chicken.hurt": "Chicken hurts", + "subtitles.entity.parrot.ambient": "Parrot talks", + "subtitles.entity.parrot.death": "Parrot dies", + "subtitles.entity.parrot.eats": "Parrot eats", + "subtitles.entity.parrot.hurts": "Parrot hurts", + "subtitles.entity.parrot.imitate.blaze": "Parrot breathes", + "subtitles.entity.parrot.imitate.creeper": "Parrot hisses", + "subtitles.entity.parrot.imitate.drowned": "Parrot gurgles", + "subtitles.entity.parrot.imitate.elder_guardian": "Parrot flaps", + "subtitles.entity.parrot.imitate.ender_dragon": "Parrot roars", + "subtitles.entity.parrot.imitate.enderman": "Parrot vwoops", + "subtitles.entity.parrot.imitate.endermite": "Parrot scuttles", + "subtitles.entity.parrot.imitate.evoker": "Parrot murmurs", + "subtitles.entity.parrot.imitate.ghast": "Parrot cries", + "subtitles.entity.parrot.imitate.husk": "Parrot groans", + "subtitles.entity.parrot.imitate.illusioner": "Parrot murmurs", + "subtitles.entity.parrot.imitate.magma_cube": "Parrot squishes", + "subtitles.entity.parrot.imitate.phantom": "Parrot screeches", + "subtitles.entity.parrot.imitate.polar_bear": "Parrot groans", + "subtitles.entity.parrot.imitate.shulker": "Parrot lurks", + "subtitles.entity.parrot.imitate.silverfish": "Parrot hisses", + "subtitles.entity.parrot.imitate.skeleton": "Parrot rattles", + "subtitles.entity.parrot.imitate.slime": "Parrot squishes", + "subtitles.entity.parrot.imitate.spider": "Parrot hisses", + "subtitles.entity.parrot.imitate.stray": "Parrot rattles", + "subtitles.entity.parrot.imitate.vex": "Parrot vexes", + "subtitles.entity.parrot.imitate.vindicator": "Parrot mutters", + "subtitles.entity.parrot.imitate.witch": "Parrot giggles", + "subtitles.entity.parrot.imitate.wither": "Parrot angers", + "subtitles.entity.parrot.imitate.wither_skeleton": "Parrot rattles", + "subtitles.entity.parrot.imitate.wolf": "Parrot pants", + "subtitles.entity.parrot.imitate.zombie": "Parrot groans", + "subtitles.entity.parrot.imitate.zombie_pigman": "Parrot grunts", + "subtitles.entity.parrot.imitate.zombie_villager": "Parrot groans", + "subtitles.entity.cod.death": "Cod dies", + "subtitles.entity.cod.flop": "Cod flops", + "subtitles.entity.cod.hurt": "Cod hurts", + "subtitles.entity.cow.ambient": "Cow moos", + "subtitles.entity.cow.death": "Cow dies", + "subtitles.entity.cow.hurt": "Cow hurts", + "subtitles.entity.cow.milk": "Cow gets milked", + "subtitles.entity.creeper.death": "Creeper dies", + "subtitles.entity.creeper.hurt": "Creeper hurts", + "subtitles.entity.creeper.primed": "Creeper hisses", + "subtitles.entity.dolphin.ambient": "Dolphin chirps", + "subtitles.entity.dolphin.ambient_water": "Dolphin whistles", + "subtitles.entity.dolphin.attack": "Dolphin attacks", + "subtitles.entity.dolphin.death": "Dolphin dies", + "subtitles.entity.dolphin.eat": "Dolphin eats", + "subtitles.entity.dolphin.hurt": "Dolphin hurts", + "subtitles.entity.dolphin.jump": "Dolphin jumps", + "subtitles.entity.dolphin.play": "Dolphin plays", + "subtitles.entity.dolphin.splash": "Dolphin splashes", + "subtitles.entity.dolphin.swim": "Dolphin swims", + "subtitles.entity.donkey.ambient": "Donkey hee-haws", + "subtitles.entity.donkey.angry": "Donkey neighs", + "subtitles.entity.donkey.chest": "Donkey Chest equips", + "subtitles.entity.donkey.death": "Donkey dies", + "subtitles.entity.donkey.hurt": "Donkey hurts", + "subtitles.entity.drowned.ambient": "Drowned gurgles", + "subtitles.entity.drowned.death": "Drowned dies", + "subtitles.entity.drowned.hurt": "Drowned hurts", + "subtitles.entity.drowned.shoot": "Drowned throws Trident", + "subtitles.entity.drowned.step": "Drowned steps", + "subtitles.entity.drowned.swim": "Drowned swims", + "subtitles.entity.egg.throw": "Egg flies", + "subtitles.entity.elder_guardian.ambient_land": "Elder Guardian flaps", + "subtitles.entity.elder_guardian.ambient": "Elder Guardian moans", + "subtitles.entity.elder_guardian.curse": "Elder Guardian curses", + "subtitles.entity.elder_guardian.death": "Elder Guardian dies", + "subtitles.entity.elder_guardian.flop": "Elder Guardian flops", + "subtitles.entity.elder_guardian.hurt": "Elder Guardian hurts", + "subtitles.entity.ender_dragon.ambient": "Dragon roars", + "subtitles.entity.ender_dragon.death": "Dragon dies", + "subtitles.entity.ender_dragon.flap": "Dragon flaps", + "subtitles.entity.ender_dragon.growl": "Dragon growls", + "subtitles.entity.ender_dragon.hurt": "Dragon hurts", + "subtitles.entity.ender_dragon.shoot": "Dragon shoots", + "subtitles.entity.ender_eye.launch": "Eye of Ender shoots", + "subtitles.entity.enderman.ambient": "Enderman vwoops", + "subtitles.entity.enderman.death": "Enderman dies", + "subtitles.entity.enderman.hurt": "Enderman hurts", + "subtitles.entity.enderman.stare": "Enderman cries out", + "subtitles.entity.enderman.teleport": "Enderman teleports", + "subtitles.entity.endermite.ambient": "Endermite scuttles", + "subtitles.entity.endermite.death": "Endermite dies", + "subtitles.entity.endermite.hurt": "Endermite hurts", + "subtitles.entity.ender_pearl.throw": "Ender Pearl flies", + "subtitles.entity.evoker_fangs.attack": "Fangs snap", + "subtitles.entity.evoker.ambient": "Evoker murmurs", + "subtitles.entity.evoker.cast_spell": "Evoker casts spell", + "subtitles.entity.evoker.death": "Evoker dies", + "subtitles.entity.evoker.hurt": "Evoker hurts", + "subtitles.entity.evoker.prepare_attack": "Evoker prepares attack", + "subtitles.entity.evoker.prepare_summon": "Evoker prepares summoning", + "subtitles.entity.evoker.prepare_wololo": "Evoker prepares charming", + "subtitles.entity.experience_orb.pickup": "Experience gained", + "subtitles.entity.firework_rocket.blast": "Firework blasts", + "subtitles.entity.firework_rocket.launch": "Firework launches", + "subtitles.entity.firework_rocket.twinkle": "Firework twinkles", + "subtitles.entity.generic.big_fall": "Something fell", + "subtitles.entity.generic.burn": "Burning", + "subtitles.entity.generic.death": "Dying", + "subtitles.entity.generic.drink": "Sipping", + "subtitles.entity.generic.eat": "Eating", + "subtitles.entity.generic.explode": "Explosion", + "subtitles.entity.generic.extinguish_fire": "Fire extinguishes", + "subtitles.entity.generic.hurt": "Something hurts", + "subtitles.entity.generic.small_fall": "Something trips", + "subtitles.entity.generic.splash": "Splashing", + "subtitles.entity.generic.swim": "Swimming", + "subtitles.entity.ghast.ambient": "Ghast cries", + "subtitles.entity.ghast.death": "Ghast dies", + "subtitles.entity.ghast.hurt": "Ghast hurts", + "subtitles.entity.ghast.shoot": "Ghast shoots", + "subtitles.entity.guardian.ambient_land": "Guardian flaps", + "subtitles.entity.guardian.ambient": "Guardian moans", + "subtitles.entity.guardian.attack": "Guardian shoots", + "subtitles.entity.guardian.death": "Guardian dies", + "subtitles.entity.guardian.flop": "Guardian flops", + "subtitles.entity.guardian.hurt": "Guardian hurts", + "subtitles.entity.horse.ambient": "Horse neighs", + "subtitles.entity.horse.angry": "Horse neighs", + "subtitles.entity.horse.armor": "Horse armor equips", + "subtitles.entity.horse.breathe": "Horse breathes", + "subtitles.entity.horse.death": "Horse dies", + "subtitles.entity.horse.eat": "Horse eats", + "subtitles.entity.horse.gallop": "Horse gallops", + "subtitles.entity.horse.hurt": "Horse hurts", + "subtitles.entity.horse.jump": "Horse jumps", + "subtitles.entity.horse.saddle": "Saddle equips", + "subtitles.entity.husk.ambient": "Husk groans", + "subtitles.entity.husk.converted_to_zombie": "Husk converted to Zombie", + "subtitles.entity.husk.death": "Husk dies", + "subtitles.entity.husk.hurt": "Husk hurts", + "subtitles.entity.illusioner.ambient": "Illusioner murmurs", + "subtitles.entity.illusioner.cast_spell": "Illusioner casts spell", + "subtitles.entity.illusioner.death": "Illusioner dies", + "subtitles.entity.illusioner.hurt": "Illusioner hurts", + "subtitles.entity.illusioner.mirror_move": "Illusioner displaces", + "subtitles.entity.illusioner.prepare_blindness": "Illusioner prepares blindness", + "subtitles.entity.illusioner.prepare_mirror": "Illusioner prepares mirror image", + "subtitles.entity.iron_golem.attack": "Iron Golem attacks", + "subtitles.entity.iron_golem.death": "Iron Golem dies", + "subtitles.entity.iron_golem.hurt": "Iron Golem hurts", + "subtitles.entity.item.break": "Item breaks", + "subtitles.entity.item.pickup": "Item plops", + "subtitles.entity.item_frame.add_item": "Item Frame fills", + "subtitles.entity.item_frame.break": "Item Frame breaks", + "subtitles.entity.item_frame.place": "Item Frame placed", + "subtitles.entity.item_frame.remove_item": "Item Frame empties", + "subtitles.entity.item_frame.rotate_item": "Item Frame clicks", + "subtitles.entity.leash_knot.break": "Leash knot breaks", + "subtitles.entity.leash_knot.place": "Leash knot tied", + "subtitles.entity.lightning_bolt.impact": "Lightning strikes", + "subtitles.entity.lightning_bolt.thunder": "Thunder roars", + "subtitles.entity.llama.ambient": "Llama bleats", + "subtitles.entity.llama.angry": "Llama bleats angrily", + "subtitles.entity.llama.chest": "Llama Chest equips", + "subtitles.entity.llama.death": "Llama dies", + "subtitles.entity.llama.eat": "Llama eats", + "subtitles.entity.llama.hurt": "Llama hurts", + "subtitles.entity.llama.spit": "Llama spits", + "subtitles.entity.llama.step": "Llama steps", + "subtitles.entity.llama.swag": "Llama is decorated", + "subtitles.entity.magma_cube.death": "Magma Cube dies", + "subtitles.entity.magma_cube.hurt": "Magma Cube hurts", + "subtitles.entity.magma_cube.squish": "Magma Cube squishes", + "subtitles.entity.minecart.riding": "Minecart rolls", + "subtitles.entity.mule.ambient": "Mule hee-haws", + "subtitles.entity.mule.chest": "Mule Chest equips", + "subtitles.entity.mule.death": "Mule dies", + "subtitles.entity.mule.hurt": "Mule hurts", + "subtitles.entity.painting.break": "Painting breaks", + "subtitles.entity.painting.place": "Painting placed", + "subtitles.entity.phantom.ambient": "Phantom screeches", + "subtitles.entity.phantom.bite": "Phantom bites", + "subtitles.entity.phantom.death": "Phantom dies", + "subtitles.entity.phantom.flap": "Phantom flaps", + "subtitles.entity.phantom.hurt": "Phantom hurts", + "subtitles.entity.phantom.swoop": "Phantom swoops", + "subtitles.entity.pig.ambient": "Pig oinks", + "subtitles.entity.pig.death": "Pig dies", + "subtitles.entity.pig.hurt": "Pig hurts", + "subtitles.entity.pig.saddle": "Saddle equips", + "subtitles.entity.player.burp": "Burp", + "subtitles.entity.player.death": "Player dies", + "subtitles.entity.player.hurt": "Player hurts", + "subtitles.entity.player.levelup": "Player dings", + "subtitles.entity.polar_bear.ambient": "Polar Bear groans", + "subtitles.entity.polar_bear.ambient_baby": "Polar Bear hums", + "subtitles.entity.polar_bear.death": "Polar Bear dies", + "subtitles.entity.polar_bear.hurt": "Polar Bear hurts", + "subtitles.entity.polar_bear.warning": "Polar Bear roars", + "subtitles.entity.potion.splash": "Bottle smashes", + "subtitles.entity.potion.throw": "Bottle thrown", + "subtitles.entity.puffer_fish.blow_out": "Pufferfish deflates", + "subtitles.entity.puffer_fish.blow_up": "Pufferfish inflates", + "subtitles.entity.puffer_fish.death": "Pufferfish dies", + "subtitles.entity.puffer_fish.flop": "Pufferfish flops", + "subtitles.entity.puffer_fish.hurt": "Pufferfish hurts", + "subtitles.entity.puffer_fish.sting": "Pufferfish stings", + "subtitles.entity.rabbit.ambient": "Rabbit squeaks", + "subtitles.entity.rabbit.attack": "Rabbit attacks", + "subtitles.entity.rabbit.death": "Rabbit dies", + "subtitles.entity.rabbit.hurt": "Rabbit hurts", + "subtitles.entity.rabbit.jump": "Rabbit hops", + "subtitles.entity.salmon.death": "Salmon dies", + "subtitles.entity.salmon.flop": "Salmon flops", + "subtitles.entity.salmon.hurt": "Salmon hurts", + "subtitles.entity.sheep.ambient": "Sheep baahs", + "subtitles.entity.sheep.death": "Sheep dies", + "subtitles.entity.sheep.hurt": "Sheep hurts", + "subtitles.entity.shulker.ambient": "Shulker lurks", + "subtitles.entity.shulker.close": "Shulker closes", + "subtitles.entity.shulker.death": "Shulker dies", + "subtitles.entity.shulker.hurt": "Shulker hurts", + "subtitles.entity.shulker.open": "Shulker opens", + "subtitles.entity.shulker.shoot": "Shulker shoots", + "subtitles.entity.shulker.teleport": "Shulker teleports", + "subtitles.entity.shulker_bullet.hit": "Shulker bullet explodes", + "subtitles.entity.shulker_bullet.hurt": "Shulker bullet breaks", + "subtitles.entity.silverfish.ambient": "Silverfish hisses", + "subtitles.entity.silverfish.death": "Silverfish dies", + "subtitles.entity.silverfish.hurt": "Silverfish hurts", + "subtitles.entity.skeleton.ambient": "Skeleton rattles", + "subtitles.entity.skeleton.death": "Skeleton dies", + "subtitles.entity.skeleton.hurt": "Skeleton hurts", + "subtitles.entity.skeleton.shoot": "Skeleton shoots", + "subtitles.entity.skeleton_horse.ambient": "Skeleton Horse cries", + "subtitles.entity.skeleton_horse.death": "Skeleton Horse dies", + "subtitles.entity.skeleton_horse.hurt": "Skeleton Horse hurts", + "subtitles.entity.skeleton_horse.swim": "Skeleton Horse swims", + "subtitles.entity.slime.attack": "Slime attacks", + "subtitles.entity.slime.death": "Slime dies", + "subtitles.entity.slime.hurt": "Slime hurts", + "subtitles.entity.slime.squish": "Slime squishes", + "subtitles.entity.snowball.throw": "Snowball flies", + "subtitles.entity.snow_golem.death": "Snow Golem dies", + "subtitles.entity.snow_golem.hurt": "Snow Golem hurts", + "subtitles.entity.spider.ambient": "Spider hisses", + "subtitles.entity.spider.death": "Spider dies", + "subtitles.entity.spider.hurt": "Spider hurts", + "subtitles.entity.squid.ambient": "Squid swims", + "subtitles.entity.squid.death": "Squid dies", + "subtitles.entity.squid.hurt": "Squid hurts", + "subtitles.entity.squid.squirt": "Squid shoots ink", + "subtitles.entity.stray.ambient": "Stray rattles", + "subtitles.entity.stray.death": "Stray dies", + "subtitles.entity.stray.hurt": "Stray hurts", + "subtitles.entity.tnt.primed": "TNT fizzes", + "subtitles.entity.turtle.ambient_land": "Turtle chirps", + "subtitles.entity.turtle.lay_egg": "Turtle lays egg", + "subtitles.entity.turtle.egg_hatch": "Turtle egg hatches", + "subtitles.entity.turtle.egg_crack": "Turtle egg cracks", + "subtitles.entity.turtle.egg_break": "Turtle egg breaks", + "subtitles.entity.turtle.hurt": "Turtle hurts", + "subtitles.entity.turtle.hurt_baby": "Turtle baby hurts", + "subtitles.entity.turtle.death": "Turtle dies", + "subtitles.entity.turtle.death_baby": "Turtle baby dies", + "subtitles.entity.turtle.swim": "Turtle swims", + "subtitles.entity.turtle.shamble": "Turtle shambles", + "subtitles.entity.turtle.shamble_baby": "Turtle baby shambles", + "subtitles.entity.vex.ambient": "Vex vexes", + "subtitles.entity.vex.charge": "Vex shrieks", + "subtitles.entity.vex.death": "Vex dies", + "subtitles.entity.vex.hurt": "Vex hurts", + "subtitles.entity.villager.ambient": "Villager mumbles", + "subtitles.entity.villager.death": "Villager dies", + "subtitles.entity.villager.hurt": "Villager hurts", + "subtitles.entity.villager.no": "Villager disagrees", + "subtitles.entity.villager.trade": "Villager trades", + "subtitles.entity.villager.yes": "Villager agrees", + "subtitles.entity.vindicator.ambient": "Vindicator mutters", + "subtitles.entity.vindicator.death": "Vindicator dies", + "subtitles.entity.vindicator.hurt": "Vindicator hurts", + "subtitles.entity.witch.ambient": "Witch giggles", + "subtitles.entity.witch.death": "Witch dies", + "subtitles.entity.witch.drink": "Witch drinks", + "subtitles.entity.witch.hurt": "Witch hurts", + "subtitles.entity.witch.throw": "Witch throws", + "subtitles.entity.wither.ambient": "Wither angers", + "subtitles.entity.wither.death": "Wither dies", + "subtitles.entity.wither.hurt": "Wither hurts", + "subtitles.entity.wither.shoot": "Wither attacks", + "subtitles.entity.wither.spawn": "Wither released", + "subtitles.entity.wither_skeleton.ambient": "Wither Skeleton rattles", + "subtitles.entity.wither_skeleton.death": "Wither Skeleton dies", + "subtitles.entity.wither_skeleton.hurt": "Wither Skeleton hurts", + "subtitles.entity.wolf.ambient": "Wolf pants", + "subtitles.entity.wolf.death": "Wolf dies", + "subtitles.entity.wolf.growl": "Wolf growls", + "subtitles.entity.wolf.hurt": "Wolf hurts", + "subtitles.entity.wolf.shake": "Wolf shakes", + "subtitles.entity.zombie.ambient": "Zombie groans", + "subtitles.entity.zombie.converted_to_drowned": "Zombie converted to Drowned", + "subtitles.entity.zombie.death": "Zombie dies", + "subtitles.entity.zombie.hurt": "Zombie hurts", + "subtitles.entity.zombie.infect": "Zombie infects", + "subtitles.entity.zombie_horse.ambient": "Zombie Horse cries", + "subtitles.entity.zombie_horse.death": "Zombie Horse dies", + "subtitles.entity.zombie_horse.hurt": "Zombie Horse hurts", + "subtitles.entity.zombie_pigman.ambient": "Zombie Pigman grunts", + "subtitles.entity.zombie_pigman.angry": "Zombie Pigman angers", + "subtitles.entity.zombie_pigman.death": "Zombie Pigman dies", + "subtitles.entity.zombie_pigman.hurt": "Zombie Pigman hurts", + "subtitles.entity.zombie_villager.ambient": "Zombie Villager groans", + "subtitles.entity.zombie_villager.converted": "Zombie vociferates", + "subtitles.entity.zombie_villager.cure": "Zombie snuffles", + "subtitles.entity.zombie_villager.death": "Zombie Villager dies", + "subtitles.entity.zombie_villager.hurt": "Zombie Villager hurts", + "subtitles.item.axe.strip": "Debarking log", + "subtitles.item.armor.equip": "Gear equips", + "subtitles.item.armor.equip_chain": "Chain armor jingles", + "subtitles.item.armor.equip_diamond": "Diamond armor clangs", + "subtitles.item.armor.equip_elytra": "Elytra rustle", + "subtitles.item.armor.equip_gold": "Gold armor clinks", + "subtitles.item.armor.equip_iron": "Iron armor clanks", + "subtitles.item.armor.equip_leather": "Leather armor rustles", + "subtitles.item.armor.equip_turtle": "Turtle shell thunks", + "subtitles.item.bottle.fill": "Bottle fills", + "subtitles.item.bucket.empty": "Bucket empties", + "subtitles.item.bucket.fill": "Bucket fills", + "subtitles.item.chorus_fruit.teleport": "Player teleports", + "subtitles.item.firecharge.use": "Fireball whooshes", + "subtitles.item.flintandsteel.use": "Flint and Steel click", + "subtitles.item.hoe.till": "Hoe tills", + "subtitles.item.shears.shear": "Shears click", + "subtitles.item.shield.block": "Shield blocks", + "subtitles.item.shovel.flatten": "Shovel flattens", + "subtitles.item.totem.use": "Totem activates", + "subtitles.item.trident.hit": "Trident stabs", + "subtitles.item.trident.hit_ground": "Trident vibrates", + "subtitles.item.trident.return": "Trident returns", + "subtitles.item.trident.riptide": "Trident zooms", + "subtitles.item.trident.throw": "Trident clangs", + "subtitles.item.trident.thunder": "Trident thunder cracks", + "subtitles.weather.rain": "Rain falls", + "debug.prefix": "[Debug]:", + "debug.reload_chunks.help": "F3 + A = Reload chunks", + "debug.show_hitboxes.help": "F3 + B = Show hitboxes", + "debug.clear_chat.help": "F3 + D = Clear chat", + "debug.cycle_renderdistance.help": "F3 + F = Cycle render distance (Shift to invert)", + "debug.chunk_boundaries.help": "F3 + G = Show chunk boundaries", + "debug.advanced_tooltips.help": "F3 + H = Advanced tooltips", + "debug.creative_spectator.help": "F3 + N = Cycle creative <-> spectator", + "debug.pause_focus.help": "F3 + P = Pause on lost focus", + "debug.help.help": "F3 + Q = Show this list", + "debug.reload_resourcepacks.help": "F3 + T = Reload resource packs", + "debug.copy_location.help": "F3 + C = Copy location as /tp command, hold F3 + C to crash the game", + "debug.inspect.help": "F3 + I = Copy entity or block data to clipboard", + "debug.copy_location.message": "Copied location to clipboard", + "debug.inspect.server.block": "Copied server-side block data to clipboard", + "debug.inspect.server.entity": "Copied server-side entity data to clipboard", + "debug.inspect.client.block": "Copied client-side block data to clipboard", + "debug.inspect.client.entity": "Copied client-side entity data to clipboard", + "debug.reload_chunks.message": "Reloading all chunks", + "debug.show_hitboxes.on": "Hitboxes: shown", + "debug.show_hitboxes.off": "Hitboxes: hidden", + "debug.cycle_renderdistance.message": "Render Distance: %s", + "debug.chunk_boundaries.on": "Chunk borders: shown", + "debug.chunk_boundaries.off": "Chunk borders: hidden", + "debug.advanced_tooltips.on": "Advanced tooltips: shown", + "debug.advanced_tooltips.off": "Advanced tooltips: hidden", + "debug.creative_spectator.error": "Unable to switch gamemode, no permission", + "debug.pause_focus.on": "Pause on lost focus: enabled", + "debug.pause_focus.off": "Pause on lost focus: disabled", + "debug.help.message": "Key bindings:", + "debug.reload_resourcepacks.message": "Reloaded resource packs", + "debug.crash.message": "F3 + C is held down. This will crash the game unless released.", + "debug.crash.warning": "Crashing in %s...", + "resourcepack.downloading": "Downloading Resource Pack", + "resourcepack.requesting": "Making Request...", + "resourcepack.progress": "Downloading file (%s MB)...", + "tutorial.move.title": "Move with %s, %s, %s and %s", + "tutorial.move.description": "Jump with %s", + "tutorial.look.title": "Look around", + "tutorial.look.description": "Use your mouse to turn", + "tutorial.find_tree.title": "Find a tree", + "tutorial.find_tree.description": "Punch it to collect wood", + "tutorial.punch_tree.title": "Destroy the tree", + "tutorial.punch_tree.description": "Hold down %s", + "tutorial.open_inventory.title": "Open your inventory", + "tutorial.open_inventory.description": "Press %s", + "tutorial.craft_planks.title": "Craft wooden planks", + "tutorial.craft_planks.description": "The recipe book can help", + "advancements.adventure.adventuring_time.title": "Adventuring Time", + "advancements.adventure.adventuring_time.description": "Discover every biome", + "advancements.adventure.kill_all_mobs.title": "Monsters Hunted", + "advancements.adventure.kill_all_mobs.description": "Kill one of every hostile monster", + "advancements.adventure.kill_a_mob.title": "Monster Hunter", + "advancements.adventure.kill_a_mob.description": "Kill any hostile monster", + "advancements.adventure.very_very_frightening.title": "Very Very Frightening", + "advancements.adventure.very_very_frightening.description": "Strike a Villager with lightning", + "advancements.adventure.root.title": "Adventure", + "advancements.adventure.root.description": "Adventure, exploration and combat", + "advancements.adventure.shoot_arrow.title": "Take Aim", + "advancements.adventure.shoot_arrow.description": "Shoot something with a bow and arrow", + "advancements.adventure.throw_trident.title": "A Throwaway Joke", + "advancements.adventure.throw_trident.description": "Throw a trident at something.\nNote: Throwing away your only weapon is not a good idea.", + "advancements.adventure.sleep_in_bed.title": "Sweet Dreams", + "advancements.adventure.sleep_in_bed.description": "Change your respawn point", + "advancements.adventure.sniper_duel.title": "Sniper Duel", + "advancements.adventure.sniper_duel.description": "Kill a Skeleton from at least 50 meters away", + "advancements.adventure.trade.title": "What a Deal!", + "advancements.adventure.trade.description": "Successfully trade with a Villager", + "advancements.adventure.summon_iron_golem.title": "Hired Help", + "advancements.adventure.summon_iron_golem.description": "Summon an Iron Golem to help defend a village", + "advancements.adventure.totem_of_undying.title": "Postmortal", + "advancements.adventure.totem_of_undying.description": "Use a Totem of Undying to cheat death", + "advancements.husbandry.root.title": "Husbandry", + "advancements.husbandry.root.description": "The world is full of friends and food", + "advancements.husbandry.breed_an_animal.title": "The Parrots and the Bats", + "advancements.husbandry.breed_an_animal.description": "Breed two animals together", + "advancements.husbandry.fishy_business.title": "Fishy Business", + "advancements.husbandry.fishy_business.description": "Catch a fish", + "advancements.husbandry.tactical_fishing.title": "Tactical Fishing", + "advancements.husbandry.tactical_fishing.description": "Catch a fish... without a fishing rod!", + "advancements.husbandry.breed_all_animals.title": "Two by Two", + "advancements.husbandry.breed_all_animals.description": "Breed all the animals!", + "advancements.husbandry.tame_an_animal.title": "Best Friends Forever", + "advancements.husbandry.tame_an_animal.description": "Tame an animal", + "advancements.husbandry.plant_seed.title": "A Seedy Place", + "advancements.husbandry.plant_seed.description": "Plant a seed and watch it grow", + "advancements.husbandry.break_diamond_hoe.title": "Serious Dedication", + "advancements.husbandry.break_diamond_hoe.description": "Completely use up a diamond hoe, and then reevaluate your life choices", + "advancements.husbandry.balanced_diet.title": "A Balanced Diet", + "advancements.husbandry.balanced_diet.description": "Eat everything that is edible, even if it's not good for you", + "advancements.end.dragon_breath.title": "You Need a Mint", + "advancements.end.dragon_breath.description": "Collect dragon's breath in a glass bottle", + "advancements.end.dragon_egg.title": "The Next Generation", + "advancements.end.dragon_egg.description": "Hold the Dragon Egg", + "advancements.end.elytra.title": "Sky's the Limit", + "advancements.end.elytra.description": "Find Elytra", + "advancements.end.enter_end_gateway.title": "Remote Getaway", + "advancements.end.enter_end_gateway.description": "Escape the island", + "advancements.end.find_end_city.title": "The City at the End of the Game", + "advancements.end.find_end_city.description": "Go on in, what could happen?", + "advancements.end.kill_dragon.title": "Free the End", + "advancements.end.kill_dragon.description": "Good luck", + "advancements.end.levitate.title": "Great View From Up Here", + "advancements.end.levitate.description": "Levitate up 50 blocks from the attacks of a Shulker", + "advancements.end.respawn_dragon.title": "The End... Again...", + "advancements.end.respawn_dragon.description": "Respawn the Ender Dragon", + "advancements.end.root.title": "The End", + "advancements.end.root.description": "Or the beginning?", + "advancements.nether.brew_potion.title": "Local Brewery", + "advancements.nether.brew_potion.description": "Brew a potion", + "advancements.nether.all_potions.title": "A Furious Cocktail", + "advancements.nether.all_potions.description": "Have every potion effect applied at the same time", + "advancements.nether.all_effects.title": "How Did We Get Here?", + "advancements.nether.all_effects.description": "Have every effect applied at the same time", + "advancements.nether.create_beacon.title": "Bring Home the Beacon", + "advancements.nether.create_beacon.description": "Construct and place a Beacon", + "advancements.nether.create_full_beacon.title": "Beaconator", + "advancements.nether.create_full_beacon.description": "Bring a beacon to full power", + "advancements.nether.find_fortress.title": "A Terrible Fortress", + "advancements.nether.find_fortress.description": "Break your way into a Nether Fortress", + "advancements.nether.get_wither_skull.title": "Spooky Scary Skeleton", + "advancements.nether.get_wither_skull.description": "Obtain a Wither Skeleton's skull", + "advancements.nether.obtain_blaze_rod.title": "Into Fire", + "advancements.nether.obtain_blaze_rod.description": "Relieve a Blaze of its rod", + "advancements.nether.return_to_sender.title": "Return to Sender", + "advancements.nether.return_to_sender.description": "Destroy a Ghast with a fireball", + "advancements.nether.root.title": "Nether", + "advancements.nether.root.description": "Bring summer clothes", + "advancements.nether.summon_wither.title": "Withering Heights", + "advancements.nether.summon_wither.description": "Summon the Wither", + "advancements.nether.fast_travel.title": "Subspace Bubble", + "advancements.nether.fast_travel.description": "Use the Nether to travel 7 km in the Overworld", + "advancements.nether.uneasy_alliance.title": "Uneasy Alliance", + "advancements.nether.uneasy_alliance.description": "Rescue a Ghast from the Nether, bring it safely home to the Overworld... and then kill it", + "advancements.story.cure_zombie_villager.title": "Zombie Doctor", + "advancements.story.cure_zombie_villager.description": "Weaken and then cure a Zombie Villager", + "advancements.story.deflect_arrow.title": "Not Today, Thank You", + "advancements.story.deflect_arrow.description": "Deflect an arrow with a shield", + "advancements.story.enchant_item.title": "Enchanter", + "advancements.story.enchant_item.description": "Enchant an item at an Enchanting Table", + "advancements.story.enter_the_end.title": "The End?", + "advancements.story.enter_the_end.description": "Enter the End Portal", + "advancements.story.enter_the_nether.title": "We Need to Go Deeper", + "advancements.story.enter_the_nether.description": "Build, light and enter a Nether Portal", + "advancements.story.follow_ender_eye.title": "Eye Spy", + "advancements.story.follow_ender_eye.description": "Follow an Eye of Ender", + "advancements.story.form_obsidian.title": "Ice Bucket Challenge", + "advancements.story.form_obsidian.description": "Form and mine a block of Obsidian", + "advancements.story.iron_tools.title": "Isn't It Iron Pick", + "advancements.story.iron_tools.description": "Upgrade your pickaxe", + "advancements.story.lava_bucket.title": "Hot Stuff", + "advancements.story.lava_bucket.description": "Fill a bucket with lava", + "advancements.story.mine_diamond.title": "Diamonds!", + "advancements.story.mine_diamond.description": "Acquire diamonds", + "advancements.story.mine_stone.title": "Stone Age", + "advancements.story.mine_stone.description": "Mine stone with your new pickaxe", + "advancements.story.obtain_armor.title": "Suit Up", + "advancements.story.obtain_armor.description": "Protect yourself with a piece of iron armor", + "advancements.story.root.title": "Minecraft", + "advancements.story.root.description": "The heart and story of the game", + "advancements.story.shiny_gear.title": "Cover Me With Diamonds", + "advancements.story.shiny_gear.description": "Diamond armor saves lives", + "advancements.story.smelt_iron.title": "Acquire Hardware", + "advancements.story.smelt_iron.description": "Smelt an iron ingot", + "advancements.story.upgrade_tools.title": "Getting an Upgrade", + "advancements.story.upgrade_tools.description": "Construct a better pickaxe", + "team.visibility.always": "Always", + "team.visibility.never": "Never", + "team.visibility.hideForOtherTeams": "Hide for other teams", + "team.visibility.hideForOwnTeam": "Hide for own team", + "team.collision.always": "Always", + "team.collision.never": "Never", + "team.collision.pushOtherTeams": "Push other teams", + "team.collision.pushOwnTeam": "Push own team", + "argument.entity.selector.nearestPlayer": "Nearest player", + "argument.entity.selector.randomPlayer": "Random player", + "argument.entity.selector.allPlayers": "All players", + "argument.entity.selector.allEntities": "All entities", + "argument.entity.selector.self": "Current entity", + "argument.entity.options.name.description": "Entity name", + "argument.entity.options.distance.description": "Distance to entity", + "argument.entity.options.level.description": "Experience level", + "argument.entity.options.x.description": "x position", + "argument.entity.options.y.description": "y position", + "argument.entity.options.z.description": "z position", + "argument.entity.options.dx.description": "Entities between x and x + dx", + "argument.entity.options.dy.description": "Entities between y and y + dy", + "argument.entity.options.dz.description": "Entities between z and z + dz", + "argument.entity.options.x_rotation.description": "Entity's x rotation", + "argument.entity.options.y_rotation.description": "Entity's y rotation", + "argument.entity.options.limit.description": "Maximum number of entities to return", + "argument.entity.options.sort.description": "Sort the entities", + "argument.entity.options.gamemode.description": "Players with gamemode", + "argument.entity.options.team.description": "Entities on team", + "argument.entity.options.type.description": "Entities of type", + "argument.entity.options.tag.description": "Entities with tag", + "argument.entity.options.nbt.description": "Entities with NBT", + "argument.entity.options.scores.description": "Entities with scores", + "argument.entity.options.advancements.description": "Players with advancements", + "command.failed": "An unexpected error occurred trying to execute that command", + "command.context.here": "<--[HERE]", + "commands.publish.started": "Local game hosted on port %s", + "commands.publish.failed": "Unable to host local game", + "commands.advancement.advancementNotFound": "No advancement was found by the name '%1$s'", + "commands.advancement.criterionNotFound": "The advancement %1$s does not contain the criterion '%2$s'", + "commands.advancement.grant.one.to.one.success": "Granted the advancement %s to %s", + "commands.advancement.grant.one.to.one.failure": "Couldn't grant advancement %s to %s as they already have it", + "commands.advancement.grant.one.to.many.success": "Granted the advancement %s to %s players", + "commands.advancement.grant.one.to.many.failure": "Couldn't grant advancement %s to %s players as they already have it", + "commands.advancement.grant.many.to.one.success": "Granted %s advancements to %s", + "commands.advancement.grant.many.to.one.failure": "Couldn't grant %s advancements to %s as they already have them", + "commands.advancement.grant.many.to.many.success": "Granted %s advancements to %s players", + "commands.advancement.grant.many.to.many.failure": "Couldn't grant %s advancements to %s players as they already have them", + "commands.advancement.grant.criterion.to.one.success": "Granted criterion '%s' of advancement %s to %s", + "commands.advancement.grant.criterion.to.one.failure": "Couldn't grant criterion '%s' of advancement %s to %s as they already have it", + "commands.advancement.grant.criterion.to.many.success": "Granted criterion '%s' of advancement %s to %s players", + "commands.advancement.grant.criterion.to.many.failure": "Couldn't grant criterion '%s' of advancement %s to %s players as they already have it", + "commands.advancement.revoke.one.to.one.success": "Revoked the advancement %s from %s", + "commands.advancement.revoke.one.to.one.failure": "Couldn't revoke advancement %s from %s as they don't have it", + "commands.advancement.revoke.one.to.many.success": "Revoked the advancement %s from %s players", + "commands.advancement.revoke.one.to.many.failure": "Couldn't revoke advancement %s from %s players as they don't have it", + "commands.advancement.revoke.many.to.one.success": "Revoked %s advancements from %s", + "commands.advancement.revoke.many.to.one.failure": "Couldn't revoke %s advancements from %s as they don't have them", + "commands.advancement.revoke.many.to.many.success": "Revoked %s advancements from %s players", + "commands.advancement.revoke.many.to.many.failure": "Couldn't revoke %s advancements from %s players as they don't have them", + "commands.advancement.revoke.criterion.to.one.success": "Revoked criterion '%s' of advancement %s from %s", + "commands.advancement.revoke.criterion.to.one.failure": "Couldn't revoke criterion '%s' of advancement %s from %s as they don't have it", + "commands.advancement.revoke.criterion.to.many.success": "Revoked criterion '%s' of advancement %s from %s players", + "commands.advancement.revoke.criterion.to.many.failure": "Couldn't revoke criterion '%s' of advancement %s from %s players as they don't have it", + "commands.clear.success.single": "Removed %s items from player %s", + "commands.clear.success.multiple": "Removed %s items from %s players", + "commands.clear.test.single": "Found %s matching items on player %s", + "commands.clear.test.multiple": "Found %s matching items on %s players", + "commands.clone.success": "Successfully cloned %s blocks", + "commands.debug.started": "Started debug profiling", + "commands.debug.stopped": "Stopped debug profiling after %s seconds and %s ticks (%s ticks per second)", + "commands.defaultgamemode.success": "The default game mode is now %s", + "commands.difficulty.success": "The difficulty has been set to %s", + "commands.difficulty.query": "The difficulty is %s", + "commands.effect.give.success.single": "Applied effect %s to %s", + "commands.effect.give.success.multiple": "Applied effect %s to %s targets", + "commands.effect.clear.everything.success.single": "Removed every effect from %s", + "commands.effect.clear.everything.success.multiple": "Removed every effect from %s targets", + "commands.effect.clear.specific.success.single": "Removed effect %s from %s", + "commands.effect.clear.specific.success.multiple": "Removed effect %s from %s targets", + "commands.enchant.success.single": "Applied enchantment %s to %s's item", + "commands.enchant.success.multiple": "Applied enchantment %s to %s entities", + "commands.experience.add.points.success.single": "Gave %s experience points to %s", + "commands.experience.add.points.success.multiple": "Gave %s experience points to %s players", + "commands.experience.add.levels.success.single": "Gave %s experience levels to %s", + "commands.experience.add.levels.success.multiple": "Gave %s experience levels to %s players", + "commands.experience.set.points.success.single": "Set %s experience points on %s", + "commands.experience.set.points.success.multiple": "Set %s experience points on %s players", + "commands.experience.set.levels.success.single": "Set %s experience levels on %s", + "commands.experience.set.levels.success.multiple": "Set %s experience levels on %s players", + "commands.experience.query.points": "%s has %s experience points", + "commands.experience.query.levels": "%s has %s experience levels", + "commands.fill.success": "Successfully filled %s blocks", + "commands.function.success.single": "Executed %s commands from function '%s'", + "commands.function.success.multiple": "Executed %s commands from %s functions", + "commands.give.success.single": "Gave %s %s to %s", + "commands.give.success.multiple": "Gave %s %s to %s players", + "commands.playsound.success.single": "Played sound %s to %s", + "commands.playsound.success.multiple": "Played sound %s to %s players", + "commands.publish.success": "Multiplayer game is now hosted on port %s", + "commands.list.players": "There are %s of a max %s players online: %s", + "commands.kill.success.single": "Killed %s", + "commands.kill.success.multiple": "Killed %s entities", + "commands.kick.success": "Kicked %s: %s", + "commands.locate.success": "The nearest %s is at %s (%s blocks away)", + "commands.message.display.outgoing": "You whisper to %s: %s", + "commands.message.display.incoming": "%s whispers to you: %s", + "commands.op.success": "Made %s a server operator", + "commands.deop.success": "Made %s no longer a server operator", + "commands.ban.success": "Banned %s: %s", + "commands.pardon.success": "Unbanned %s", + "commands.particle.success": "Displaying particle %s", + "commands.seed.success": "Seed: %s", + "commands.stop.stopping": "Stopping the server", + "commands.time.query": "The time is %s", + "commands.time.set": "Set the time to %s", + "commands.gamemode.success.self": "Set own game mode to %s", + "commands.gamemode.success.other": "Set %s's game mode to %s", + "commands.gamerule.query": "Gamerule %s is currently set to: %s", + "commands.gamerule.set": "Gamerule %s is now set to: %s", + "commands.save.disabled": "Automatic saving is now disabled", + "commands.save.enabled": "Automatic saving is now enabled", + "commands.save.saving": "Saving the game (this may take a moment!)", + "commands.save.success": "Saved the game", + "commands.setidletimeout.success": "The player idle timeout is now %s minutes", + "commands.banlist.none": "There are no bans", + "commands.banlist.list": "There are %s bans:", + "commands.banlist.entry": "%s was banned by %s: %s", + "commands.bossbar.create.success": "Created custom bossbar %s", + "commands.bossbar.remove.success": "Removed custom bossbar %s", + "commands.bossbar.list.bars.none": "There are no custom bossbars active", + "commands.bossbar.list.bars.some": "There are %s custom bossbars active: %s", + "commands.bossbar.set.players.success.none": "Custom bossbar %s no longer has any players", + "commands.bossbar.set.players.success.some": "Custom bossbar %s now has %s players: %s", + "commands.bossbar.set.name.success": "Custom bossbar %s has been renamed", + "commands.bossbar.set.color.success": "Custom bossbar %s has changed color", + "commands.bossbar.set.style.success": "Custom bossbar %s has changed style", + "commands.bossbar.set.value.success": "Custom bossbar %s has changed value to %s", + "commands.bossbar.set.max.success": "Custom bossbar %s has changed maximum to %s", + "commands.bossbar.set.visible.success.visible": "Custom bossbar %s is now visible", + "commands.bossbar.set.visible.success.hidden": "Custom bossbar %s is now hidden", + "commands.bossbar.get.value": "Custom bossbar %s has a value of %s", + "commands.bossbar.get.max": "Custom bossbar %s has a maximum of %s", + "commands.bossbar.get.visible.visible": "Custom bossbar %s is currently shown", + "commands.bossbar.get.visible.hidden": "Custom bossbar %s is currently hidden", + "commands.bossbar.get.players.none": "Custom bossbar %s has no players currently online", + "commands.bossbar.get.players.some": "Custom bossbar %s has %s players currently online: %s", + "commands.recipe.give.success.single": "Unlocked %s recipes for %s", + "commands.recipe.give.success.multiple": "Unlocked %s recipes for %s players", + "commands.recipe.take.success.single": "Took %s recipes from %s", + "commands.recipe.take.success.multiple": "Took %s recipes from %s players", + "commands.summon.success": "Summoned new %s", + "commands.whitelist.enabled": "Whitelist is now turned on", + "commands.whitelist.disabled": "Whitelist is now turned off", + "commands.whitelist.none": "There are no whitelisted players", + "commands.whitelist.list": "There are %s whitelisted players: %s", + "commands.whitelist.add.success": "Added %s to the whitelist", + "commands.whitelist.remove.success": "Removed %s from the whitelist", + "commands.whitelist.reloaded": "Reloaded the whitelist", + "commands.weather.set.clear": "Set the weather to clear", + "commands.weather.set.rain": "Set the weather to rain", + "commands.weather.set.thunder": "Set the weather to rain & thunder", + "commands.spawnpoint.success.single": "Set spawn point to %s, %s, %s for %s", + "commands.spawnpoint.success.multiple": "Set spawn point to %s, %s, %s for %s players", + "commands.stopsound.success.source.sound": "Stopped sound '%s' on source '%s'", + "commands.stopsound.success.source.any": "Stopped all '%s' sounds", + "commands.stopsound.success.sourceless.sound": "Stopped sound '%s'", + "commands.stopsound.success.sourceless.any": "Stopped all sounds", + "commands.setworldspawn.success": "Set the world spawn point to %s, %s, %s", + "commands.spreadplayers.success.teams": "Spread %s teams around %s, %s with an average distance of %s blocks apart", + "commands.spreadplayers.success.entities": "Spread %s players around %s, %s with an average distance of %s blocks apart", + "commands.setblock.success": "Changed the block at %s, %s, %s", + "commands.banip.success": "Banned IP %s: %s", + "commands.banip.info": "This ban affects %s players: %s", + "commands.pardonip.success": "Unbanned IP %s", + "commands.teleport.success.entity.single": "Teleported %s to %s", + "commands.teleport.success.entity.multiple": "Teleported %s entities to %s", + "commands.teleport.success.location.single": "Teleported %s to %s, %s, %s", + "commands.teleport.success.location.multiple": "Teleported %s entities to %s, %s, %s", + "commands.title.cleared.single": "Cleared titles for %s", + "commands.title.cleared.multiple": "Cleared titles for %s players", + "commands.title.reset.single": "Reset title options for %s", + "commands.title.reset.multiple": "Reset title options for %s players", + "commands.title.show.title.single": "Showing new title for %s", + "commands.title.show.title.multiple": "Showing new title for %s players", + "commands.title.show.subtitle.single": "Showing new subtitle for %s", + "commands.title.show.subtitle.multiple": "Showing new subtitle for %s players", + "commands.title.show.actionbar.single": "Showing new actionbar title for %s", + "commands.title.show.actionbar.multiple": "Showing new actionbar title for %s players", + "commands.title.times.single": "Changed title display times for %s", + "commands.title.times.multiple": "Changed title display times for %s players", + "commands.worldborder.set.grow": "Growing the world border to %s blocks wide over %s seconds", + "commands.worldborder.set.shrink": "Shrinking the world border to %s blocks wide over %s seconds", + "commands.worldborder.set.immediate": "Set the world border to %s blocks wide", + "commands.worldborder.center.success": "Set the center of the world border to %s, %s", + "commands.worldborder.get": "The world border is currently %s blocks wide", + "commands.worldborder.damage.buffer.success": "Set the world border damage buffer to %s blocks", + "commands.worldborder.damage.amount.success": "Set the world border damage time to %s seconds", + "commands.worldborder.warning.time.success": "Set the world border warning time to %s seconds", + "commands.worldborder.warning.distance.success": "Set the world border warning distance to %s blocks", + "commands.replaceitem.block.success": "Replaced a slot at %s, %s, %s with %s", + "commands.replaceitem.entity.success.single": "Replaced a slot on %s with %s", + "commands.replaceitem.entity.success.multiple": "Replaced a slot on %s entities with %s", + "commands.tag.add.success.single": "Added tag '%s' to %s", + "commands.tag.add.success.multiple": "Added tag '%s' to %s entities", + "commands.tag.remove.success.single": "Removed tag '%s' from %s", + "commands.tag.remove.success.multiple": "Removed tag '%s' from %s entities", + "commands.tag.list.single.empty": "%s has no tags", + "commands.tag.list.single.success": "%s has %s tags: %s", + "commands.tag.list.multiple.empty": "There are no tags on the %s entities", + "commands.tag.list.multiple.success": "The %s entities have %s total tags: %s", + "commands.team.list.members.empty": "There are no members on team %s", + "commands.team.list.members.success": "Team %s has %s members: %s", + "commands.team.list.teams.empty": "There are no teams", + "commands.team.list.teams.success": "There are %s teams: %s", + "commands.team.add.success": "Created team %s", + "commands.team.remove.success": "Removed team %s", + "commands.team.empty.success": "Removed %s members from team %s", + "commands.team.option.color.success": "Updated the color for team %s to %s", + "commands.team.option.name.success": "Updated team %s name", + "commands.team.option.friendlyfire.enabled": "Enabled friendly fire for team %s", + "commands.team.option.friendlyfire.disabled": "Disabled friendly fire for team %s", + "commands.team.option.seeFriendlyInvisibles.enabled": "Team %s can now see invisible teammates", + "commands.team.option.seeFriendlyInvisibles.disabled": "Team %s can no longer see invisible teammates", + "commands.team.option.nametagVisibility.success": "Nametag visibility for team %s is now \"%s\"", + "commands.team.option.deathMessageVisibility.success": "Death message visibility for team %s is now \"%s\"", + "commands.team.option.collisionRule.success": "Collision rule for team %s is now \"%s\"", + "commands.team.option.prefix.success": "Team prefix set to %s", + "commands.team.option.suffix.success": "Team suffix set to %s", + "commands.team.join.success.single": "Added %s to team %s", + "commands.team.join.success.multiple": "Added %s members to team %s", + "commands.team.leave.success.single": "Removed %s from any team", + "commands.team.leave.success.multiple": "Removed %s members from any team", + "commands.trigger.simple.success": "Triggered %s", + "commands.trigger.add.success": "Triggered %s (added %s to value)", + "commands.trigger.set.success": "Triggered %s (set value to %s)", + "commands.scoreboard.objectives.list.empty": "There are no objectives", + "commands.scoreboard.objectives.list.success": "There are %s objectives: %s", + "commands.scoreboard.objectives.add.success": "Created new objective %s", + "commands.scoreboard.objectives.remove.success": "Removed objective %s", + "commands.scoreboard.objectives.display.cleared": "Cleared any objectives in display slot %s", + "commands.scoreboard.objectives.display.set": "Set display slot %s to show objective %s", + "commands.scoreboard.objectives.modify.displayname": "Changed objective %s display name to %s", + "commands.scoreboard.objectives.modify.rendertype": "Changed objective %s render type", + "commands.scoreboard.players.list.empty": "There are no tracked entities", + "commands.scoreboard.players.list.success": "There are %s tracked entities: %s", + "commands.scoreboard.players.list.entity.empty": "%s has no scores to show", + "commands.scoreboard.players.list.entity.success": "%s has %s scores:", + "commands.scoreboard.players.list.entity.entry": "%s: %s", + "commands.scoreboard.players.set.success.single": "Set %s for %s to %s", + "commands.scoreboard.players.set.success.multiple": "Set %s for %s entities to %s", + "commands.scoreboard.players.add.success.single": "Added %s to %s for %s (now %s)", + "commands.scoreboard.players.add.success.multiple": "Added %s to %s for %s entities", + "commands.scoreboard.players.remove.success.single": "Removed %s from %s for %s (now %s)", + "commands.scoreboard.players.remove.success.multiple": "Removed %s from %s for %s entities", + "commands.scoreboard.players.reset.all.single": "Reset all scores for %s", + "commands.scoreboard.players.reset.all.multiple": "Reset all scores for %s entities", + "commands.scoreboard.players.reset.specific.single": "Reset %s for %s", + "commands.scoreboard.players.reset.specific.multiple": "Reset %s for %s entities", + "commands.scoreboard.players.enable.success.single": "Enabled trigger %s for %s", + "commands.scoreboard.players.enable.success.multiple": "Enabled trigger %s for %s entities", + "commands.scoreboard.players.operation.success.single": "Set %s for %s to %s", + "commands.scoreboard.players.operation.success.multiple": "Updated %s for %s entities", + "commands.scoreboard.players.get.success": "%s has %s %s", + "commands.reload.success": "Reloading!", + "commands.data.entity.modified": "Modified entity data of %s", + "commands.data.entity.query": "%s has the following entity data: %s", + "commands.data.entity.get": "%s on %s after scale factor of %s is %s", + "commands.data.block.modified": "Modified block data of %s, %s, %s", + "commands.data.block.query": "%s, %s, %s has the following block data: %s", + "commands.data.block.get": "%s on block %s, %s, %s after scale factor of %s is %s", + "commands.datapack.list.enabled.success": "There are %s data packs enabled: %s", + "commands.datapack.list.enabled.none": "There are no data packs enabled", + "commands.datapack.list.available.success": "There are %s data packs available: %s", + "commands.datapack.list.available.none": "There are no more data packs available", + "commands.datapack.enable.success": "Enabled data pack %s", + "commands.datapack.disable.success": "Disabled data pack %s", + "argument.range.empty": "Expected value or range of values", + "argument.range.ints": "Only whole numbers allowed, not decimals", + "argument.range.swapped": "Min cannot be bigger than max", + "permissions.requires.player": "A player is required to run this command here", + "permissions.requires.entity": "An entity is required to run this command here", + "argument.entity.toomany": "Only one entity is allowed, but the provided selector allows more than one", + "argument.player.toomany": "Only one player is allowed, but the provided selector allows more than one", + "argument.player.entities": "Only players may be affected by this command, but the provided selector includes entities", + "argument.entity.notfound.entity": "No entity was found", + "argument.entity.notfound.player": "No player was found", + "argument.player.unknown": "That player does not exist", + "arguments.nbtpath.node.invalid": "Invalid NBT path, expected element name or index", + "arguments.operation.invalid": "Invalid operation", + "arguments.operation.div0": "Cannot divide by zero", + "argument.scoreHolder.empty": "No relevant score holders could be found", + "argument.block.tag.disallowed": "Tags aren't allowed here, only actual blocks", + "argument.block.property.unclosed": "Expected closing ] for block state properties", + "argument.pos.unloaded": "That position is not loaded", + "argument.pos.outofworld": "That position is out of this world!", + "argument.rotation.incomplete": "Incomplete (expected 2 coordinates)", + "arguments.swizzle.invalid": "Invalid swizzle, expected combination of 'x', 'y' and 'z'", + "argument.vec2.incomplete": "Incomplete (expected 2 coordinates)", + "argument.pos.incomplete": "Incomplete (expected 3 coordinates)", + "argument.pos.mixed": "Cannot mix world & local coordinates (everything must either use ^ or not)", + "argument.pos.missing.double": "Expected a coordinate", + "argument.pos.missing.int": "Expected a block position", + "argument.item.tag.disallowed": "Tags aren't allowed here, only actual items", + "argument.entity.invalid": "Invalid name or UUID", + "argument.entity.selector.missing": "Missing selector type", + "argument.entity.selector.not_allowed": "Selector not allowed", + "argument.entity.options.unterminated": "Expected end of options", + "argument.entity.options.distance.negative": "Distance cannot be negative", + "argument.entity.options.level.negative": "Level shouldn't be negative", + "argument.entity.options.limit.toosmall": "Limit must be at least 1", + "argument.nbt.trailing": "Unexpected trailing data", + "argument.nbt.expected.key": "Expected key", + "argument.nbt.expected.value": "Expected value", + "argument.id.invalid": "Invalid ID", + "commands.banip.invalid": "Invalid IP address or unknown player", + "commands.banip.failed": "Nothing changed. That IP is already banned", + "commands.ban.failed": "Nothing changed. The player is already banned", + "commands.bossbar.set.players.unchanged": "Nothing changed. Those players are already on the bossbar with nobody to add or remove", + "commands.bossbar.set.name.unchanged": "Nothing changed. That's already the name of this bossbar", + "commands.bossbar.set.color.unchanged": "Nothing changed. That's already the color of this bossbar", + "commands.bossbar.set.style.unchanged": "Nothing changed. That's already the style of this bossbar", + "commands.bossbar.set.value.unchanged": "Nothing changed. That's already the value of this bossbar", + "commands.bossbar.set.max.unchanged": "Nothing changed. That's already the max of this bossbar", + "commands.bossbar.set.visibility.unchanged.hidden": "Nothing changed. The bossbar is already hidden", + "commands.bossbar.set.visibility.unchanged.visible": "Nothing changed. The bossbar is already visible", + "commands.clone.overlap": "The source and destination areas cannot overlap", + "commands.clone.failed": "No blocks were cloned", + "commands.debug.notRunning": "The debug profiler hasn't started", + "commands.debug.alreadyRunning": "The debug profiler is already started", + "commands.deop.failed": "Nothing changed. The player is not an operator", + "commands.effect.give.failed": "Unable to apply this effect (target is either immune to effects, or has something stronger)", + "commands.effect.clear.everything.failed": "Target has no effects to remove", + "commands.effect.clear.specific.failed": "Target doesn't have the requested effect", + "commands.enchant.failed": "Nothing changed. Targets either have no item in their hands or the enchantment could not be applied", + "commands.experience.set.points.invalid": "Cannot set experience points above the maximum points for the player's current level", + "commands.fill.failed": "No blocks were filled", + "commands.help.failed": "Unknown command or insufficient permissions", + "commands.locate.failed": "Could not find that structure nearby", + "commands.op.failed": "Nothing changed. The player already is an operator", + "commands.pardon.failed": "Nothing changed. The player isn't banned", + "commands.pardonip.invalid": "Invalid IP address", + "commands.pardonip.failed": "Nothing changed. That IP isn't banned", + "commands.particle.failed": "The particle was not visible for anybody", + "commands.playsound.failed": "The sound is too far away to be heard", + "commands.recipe.give.failed": "No new recipes were learned", + "commands.recipe.take.failed": "No recipes could be forgotten", + "commands.replaceitem.block.failed": "The target block is not a container", + "commands.replaceitem.slot.inapplicable": "The target does not have slot %s", + "commands.replaceitem.entity.failed": "Could not put %s in slot %s", + "commands.save.failed": "Unable to save the game (is there enough disk space?)", + "commands.save.alreadyOff": "Saving is already turned off", + "commands.save.alreadyOn": "Saving is already turned on", + "commands.scoreboard.objectives.add.duplicate": "An objective already exists by that name", + "commands.scoreboard.objectives.display.alreadyEmpty": "Nothing changed. That display slot is already empty", + "commands.scoreboard.objectives.display.alreadySet": "Nothing changed. That display slot is already showing that objective", + "commands.scoreboard.players.enable.failed": "Nothing changed. That trigger is already enabled", + "commands.scoreboard.players.enable.invalid": "Enable only works on trigger-objectives", + "commands.setblock.failed": "Could not set the block", + "commands.summon.failed": "Unable to summon entity", + "commands.tag.add.failed": "Target either already has the tag or has too many tags", + "commands.tag.remove.failed": "Target does not have this tag", + "commands.team.add.duplicate": "A team already exists by that name", + "commands.team.empty.unchanged": "Nothing changed. That team is already empty", + "commands.team.option.color.unchanged": "Nothing changed. That team already has that color", + "commands.team.option.name.unchanged": "Nothing changed. That team already has that name", + "commands.team.option.friendlyfire.alreadyEnabled": "Nothing changed. Friendly fire is already enabled for that team", + "commands.team.option.friendlyfire.alreadyDisabled": "Nothing changed. Friendly fire is already disabled for that team", + "commands.team.option.seeFriendlyInvisibles.alreadyEnabled": "Nothing changed. That team can already see invisible teammates", + "commands.team.option.seeFriendlyInvisibles.alreadyDisabled": "Nothing changed. That team already can't see invisible teammates", + "commands.team.option.nametagVisibility.unchanged": "Nothing changed. Nametag visibility is already that value", + "commands.team.option.deathMessageVisibility.unchanged": "Nothing changed. Death message visibility is already that value", + "commands.team.option.collisionRule.unchanged": "Nothing changed. Collision rule is already that value", + "commands.trigger.failed.unprimed": "You cannot trigger this objective yet", + "commands.trigger.failed.invalid": "You can only trigger objectives that are 'trigger' type", + "commands.whitelist.alreadyOn": "Whitelist is already turned on", + "commands.whitelist.alreadyOff": "Whitelist is already turned off", + "commands.whitelist.add.failed": "Player is already whitelisted", + "commands.whitelist.remove.failed": "Player is not whitelisted", + "commands.worldborder.center.failed": "Nothing changed. The world border is already centered there", + "commands.worldborder.set.failed.nochange": "Nothing changed. The world border is already that size", + "commands.worldborder.set.failed.small.": "World border cannot be smaller than 1 block wide", + "commands.worldborder.set.failed.big.": "World border cannot be bigger than 60,000,000 blocks wide", + "commands.worldborder.warning.time.failed": "Nothing changed. The world border warning is already that amount of time", + "commands.worldborder.warning.distance.failed": "Nothing changed. The world border warning is already that distance", + "commands.worldborder.damage.buffer.failed": "Nothing changed. The world border damage buffer is already that distance", + "commands.worldborder.damage.amount.failed": "Nothing changed. The world border damage is already that amount", + "commands.data.block.invalid": "The target block is not a block entity", + "commands.data.merge.failed": "Nothing changed, the specified properties already have these values", + "commands.data.entity.invalid": "Unable to modify player data", + "argument.color.invalid": "Unknown color '%s'", + "argument.component.invalid": "Invalid chat component: %s", + "argument.anchor.invalid": "Invalid entity anchor position %s", + "enchantment.unknown": "Unknown enchantment: %s", + "effect.effectNotFound": "Unknown effect: %s", + "argument.nbt.invalid": "Invalid NBT: %s", + "arguments.nbtpath.child.invalid": "Can't access child '%s', either doesn't exist or parent isn't a compound", + "arguments.nbtpath.element.invalid": "Can't access element %s, either doesn't exist or parent isn't a list", + "arguments.objective.notFound": "Unknown scoreboard objective '%s'", + "arguments.objective.readonly": "Scoreboard objective '%s' is read-only", + "commands.scoreboard.objectives.add.longName": "Objective names cannot be longer than %s characters", + "argument.criteria.invalid": "Unknown criteria '%s'", + "particle.notFound": "Unknown particle: %s", + "argument.id.unknown": "Unknown ID: %s", + "advancement.advancementNotFound": "Unknown advancement: %s", + "recipe.notFound": "Unknown recipe: %s", + "entity.notFound": "Unknown entity: %s", + "argument.scoreboardDisplaySlot.invalid": "Unknown display slot '%s'", + "slot.unknown": "Unknown slot '%s'", + "team.notFound": "Unknown team '%s'", + "arguments.block.tag.unknown": "Unknown block tag '%s'", + "argument.block.id.invalid": "Unknown block type '%s'", + "argument.block.property.unknown": "Block %s does not have property '%s'", + "argument.block.property.duplicate": "Property '%s' can only be set once for block %s", + "argument.block.property.invalid": "Block %s does not accept '%s' for %s property", + "argument.block.property.novalue": "Expected value for property '%s' on block %s", + "arguments.function.tag.unknown": "Unknown function tag '%s'", + "arguments.function.unknown": "Unknown function %s", + "arguments.item.overstacked": "%s can only stack up to %s", + "argument.item.id.invalid": "Unknown item '%s'", + "arguments.item.tag.unknown": "Unknown item tag '%s'", + "argument.entity.selector.unknown": "Unknown selector type '%s'", + "argument.entity.options.valueless": "Expected value for option '%s'", + "argument.entity.options.unknown": "Unknown option '%s'", + "argument.entity.options.inapplicable": "Option '%s' isn't applicable here", + "argument.entity.options.sort.irreversible": "Invalid or unknown sort type '%s'", + "argument.entity.options.mode.invalid": "Invalid or unknown game mode '%s'", + "argument.entity.options.type.invalid": "Invalid or unknown entity type '%s'", + "argument.nbt.list.mixed": "Can't insert %s into list of %s", + "argument.nbt.array.mixed": "Can't insert %s into %s", + "argument.nbt.array.invalid": "Invalid array type '%s'", + "commands.bossbar.create.failed": "A bossbar already exists with the ID '%s'", + "commands.bossbar.unknown": "No bossbar exists with the ID '%s'", + "clear.failed.single": "No items were found on player %s", + "clear.failed.multiple": "No items were found on %s players", + "commands.clone.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.datapack.unknown": "Unknown data pack '%s'", + "commands.datapack.enable.failed": "Pack '%s' is already enabled!", + "commands.datapack.disable.failed": "Pack '%s' is not enabled!", + "commands.difficulty.failure": "The difficulty did not change; it is already set to %s", + "commands.enchant.failed.entity": "%s is not a valid entity for this command", + "commands.enchant.failed.itemless": "%s is not holding any item", + "commands.enchant.failed.incompatible": "%s cannot support that enchantment", + "commands.enchant.failed.level": "%s is higher than the maximum level of %s supported by that enchantment", + "commands.execute.blocks.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.execute.conditional.pass": "Test passed", + "commands.execute.conditional.pass_count": "Test passed, count: %s", + "commands.execute.conditional.fail": "Test failed", + "commands.execute.conditional.fail_count": "Test failed, count: %s", + "commands.fill.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.publish.alreadyPublished": "Multiplayer game is already hosted on port %s", + "commands.scoreboard.players.get.null": "Can't get value of %s for %s; none is set", + "commands.spreadplayers.failed.teams": "Could not spread %s teams around %s, %s (too many entities for space - try using spread of at most %s)", + "commands.spreadplayers.failed.entities": "Could not spread %s entities around %s, %s (too many entities for space - try using spread of at most %s)", + "commands.team.add.longName": "Team names cannot be longer than %s characters", + "commands.data.get.invalid": "Can't get %s; only numeric tags are allowed", + "commands.data.get.unknown": "Can't get %s; tag doesn't exist", + "argument.double.low": "Double must not be less than %s, found %s", + "argument.double.big": "Double must not be more than %s, found %s", + "argument.float.low": "Float must not be less than %s, found %s", + "argument.float.big": "Float must not be more than %s, found %s", + "argument.integer.low": "Integer must not be less than %s, found %s", + "argument.integer.big": "Integer must not be more than %s, found %s", + "argument.literal.incorrect": "Expected literal %s", + "parsing.quote.expected.start": "Expected quote to start a string", + "parsing.quote.expected.end": "Unclosed quoted string", + "parsing.quote.escape": "Invalid escape sequence '\\%s' in quoted string", + "parsing.bool.invalid": "Invalid boolean, expected 'true' or 'false' but found '%s'", + "parsing.int.invalid": "Invalid integer '%s'", + "parsing.int.expected": "Expected integer", + "command.exception": "Could not parse command: %s", + "parsing.double.invalid": "Invalid double '%s'", + "parsing.double.expected": "Expected double", + "parsing.float.invalid": "Invalid float '%s'", + "parsing.float.expected": "Expected float", + "parsing.bool.expected": "Expected boolean", + "parsing.expected": "Expected '%s'", + "command.unknown.command": "Unknown command", + "command.unknown.argument": "Incorrect argument for command", + "command.expected.separator": "Expected whitespace to end one argument, but found trailing data", + "biome.minecraft.beach": "Beach", + "biome.minecraft.birch_forest": "Birch Forest", + "biome.minecraft.birch_forest_hills": "Birch Forest Hills", + "biome.minecraft.snowy_beach": "Snowy Beach", + "biome.minecraft.cold_ocean": "Cold Ocean", + "biome.minecraft.deep_cold_ocean": "Deep Cold Ocean", + "biome.minecraft.deep_frozen_ocean": "Deep Frozen Ocean", + "biome.minecraft.deep_lukewarm_ocean": "Deep Lukewarm Ocean", + "biome.minecraft.deep_ocean": "Deep Ocean", + "biome.minecraft.deep_warm_ocean": "Deep Warm Ocean", + "biome.minecraft.desert": "Desert", + "biome.minecraft.desert_hills": "Desert Hills", + "biome.minecraft.mountains": "Mountains", + "biome.minecraft.wooded_mountains": "Wooded Mountains", + "biome.minecraft.forest": "Forest", + "biome.minecraft.wooded_hills": "Wooded Hills", + "biome.minecraft.frozen_ocean": "Frozen Ocean", + "biome.minecraft.frozen_river": "Frozen River", + "biome.minecraft.nether": "Nether", + "biome.minecraft.snowy_tundra": "Snowy Tundra", + "biome.minecraft.snowy_mountains": "Snowy Mountains", + "biome.minecraft.jungle_edge": "Jungle Edge", + "biome.minecraft.jungle_hills": "Jungle Hills", + "biome.minecraft.jungle": "Jungle", + "biome.minecraft.lukewarm_ocean": "Lukewarm Ocean", + "biome.minecraft.badlands_plateau": "Badlands Plateau", + "biome.minecraft.badlands": "Badlands", + "biome.minecraft.wooded_badlands_plateau": "Wooded Badlands Plateau", + "biome.minecraft.mushroom_fields": "Mushroom Fields", + "biome.minecraft.mushroom_field_shore": "Mushroom Field Shore", + "biome.minecraft.tall_birch_hills": "Tall Birch Hills", + "biome.minecraft.tall_birch_forest": "Tall Birch Forest", + "biome.minecraft.desert_lakes": "Desert Lakes", + "biome.minecraft.gravelly_mountains": "Gravelly Mountains", + "biome.minecraft.modified_gravelly_mountains": "Gravelly Mountains+", + "biome.minecraft.flower_forest": "Flower Forest", + "biome.minecraft.ice_spikes": "Ice Spikes", + "biome.minecraft.modified_jungle_edge": "Modified Jungle Edge", + "biome.minecraft.modified_jungle": "Modified Jungle", + "biome.minecraft.modified_badlands_plateau": "Modified Badlands Plateau", + "biome.minecraft.eroded_badlands": "Eroded Badlands", + "biome.minecraft.modified_wooded_badlands_plateau": "Modified Wooded Badlands Plateau", + "biome.minecraft.sunflower_plains": "Sunflower Plains", + "biome.minecraft.giant_spruce_taiga_hills": "Giant Spruce Taiga Hills", + "biome.minecraft.giant_spruce_taiga": "Giant Spruce Taiga", + "biome.minecraft.dark_forest_hills": "Dark Forest Hills", + "biome.minecraft.shattered_savanna": "Shattered Savanna", + "biome.minecraft.shattered_savanna_plateau": "Shattered Savanna Plateau", + "biome.minecraft.swamp_hills": "Swamp Hills", + "biome.minecraft.snowy_taiga_mountains": "Snowy Taiga Mountains", + "biome.minecraft.taiga_mountains": "Taiga Mountains", + "biome.minecraft.ocean": "Ocean", + "biome.minecraft.plains": "Plains", + "biome.minecraft.giant_tree_taiga_hills": "Giant Tree Taiga Hills", + "biome.minecraft.giant_tree_taiga": "Giant Tree Taiga", + "biome.minecraft.river": "River", + "biome.minecraft.dark_forest": "Dark Forest", + "biome.minecraft.savanna_plateau": "Savanna Plateau", + "biome.minecraft.savanna": "Savanna", + "biome.minecraft.end_barrens": "End Barrens", + "biome.minecraft.end_highlands": "End Highlands", + "biome.minecraft.small_end_islands": "Small End Islands", + "biome.minecraft.end_midlands": "End Midlands", + "biome.minecraft.the_end": "The End", + "biome.minecraft.mountain_edge": "Mountain Edge", + "biome.minecraft.stone_shore": "Stone Shore", + "biome.minecraft.swamp": "Swamp", + "biome.minecraft.snowy_taiga": "Snowy Taiga", + "biome.minecraft.snowy_taiga_hills": "Snowy Taiga Hills", + "biome.minecraft.taiga_hills": "Taiga Hills", + "biome.minecraft.taiga": "Taiga", + "biome.minecraft.the_void": "The Void", + "biome.minecraft.warm_ocean": "Warm Ocean", + "generator.minecraft.surface": "Surface", + "generator.minecraft.caves": "Caves", + "generator.minecraft.floating_islands": "Floating Islands", + "realms.missing.module.error.text": "Realms could not be opened right now, please try again later", + "realms.missing.snapshot.error.text": "Realms is currently not supported in snapshots" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/materials.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/materials.json new file mode 100644 index 00000000..a0f82d84 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/materials.json @@ -0,0 +1,61 @@ +{ + "rock": { + "473": 6, + "487": 2, + "491": 4, + "495": 8, + "502": 12 + }, + "wood": { + "474": 6, + "488": 2, + "492": 4, + "496": 8, + "503": 12 + }, + "plant": { + "474": 6, + "484": 1.5, + "485": 1.5, + "488": 2, + "489": 1.5, + "492": 4, + "493": 1.5, + "496": 8, + "500": 1.5, + "503": 12 + }, + "melon": { + "484": 1.5, + "485": 1.5, + "489": 1.5, + "493": 1.5, + "500": 1.5 + }, + "leaves": { + "484": 1.5, + "485": 1.5, + "489": 1.5, + "493": 1.5, + "500": 1.5, + "614": 6 + }, + "dirt": { + "472": 6, + "486": 2, + "490": 4, + "494": 8, + "501": 12 + }, + "web": { + "484": 15, + "485": 15, + "489": 15, + "493": 15, + "500": 15, + "614": 15 + }, + "wool": { + "614": 4.8 + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/protocol.json new file mode 100644 index 00000000..9a615fb2 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/protocol.json @@ -0,0 +1,4750 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "11": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "20": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "27": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "recipeId", + "type": "string" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "crafting_special_armordye": "void", + "crafting_special_bookcloning": "void", + "crafting_special_mapcloning": "void", + "crafting_special_mapextending": "void", + "crafting_special_firework_rocket": "void", + "crafting_special_firework_star": "void", + "crafting_special_firework_star_fade": "void", + "crafting_special_repairitem": "void", + "crafting_special_tippedarrow": "void", + "crafting_special_bannerduplicate": "void", + "crafting_special_banneraddpattern": "void", + "crafting_special_shielddecoration": "void", + "crafting_special_shulkerboxcoloring": "void", + "smelting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "chat", + "0x0f": "multi_block_change", + "0x10": "tab_complete", + "0x11": "declare_commands", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "open_window", + "0x15": "window_items", + "0x16": "craft_progress_bar", + "0x17": "set_slot", + "0x18": "set_cooldown", + "0x19": "custom_payload", + "0x1a": "named_sound_effect", + "0x1b": "kick_disconnect", + "0x1c": "entity_status", + "0x1d": "nbt_query_response", + "0x1e": "explosion", + "0x1f": "unload_chunk", + "0x20": "game_state_change", + "0x21": "keep_alive", + "0x22": "map_chunk", + "0x23": "world_event", + "0x24": "world_particles", + "0x25": "login", + "0x26": "map", + "0x27": "entity", + "0x28": "rel_entity_move", + "0x29": "entity_move_look", + "0x2a": "entity_look", + "0x2b": "vehicle_move", + "0x2c": "open_sign_entity", + "0x2d": "craft_recipe_response", + "0x2e": "abilities", + "0x2f": "combat_event", + "0x30": "player_info", + "0x31": "face_player", + "0x32": "position", + "0x33": "bed", + "0x34": "unlock_recipes", + "0x35": "entity_destroy", + "0x36": "remove_entity_effect", + "0x37": "resource_pack_send", + "0x38": "respawn", + "0x39": "entity_head_rotation", + "0x3a": "select_advancement_tab", + "0x3b": "world_border", + "0x3c": "camera", + "0x3d": "held_item_slot", + "0x3e": "scoreboard_display_objective", + "0x3f": "entity_metadata", + "0x40": "attach_entity", + "0x41": "entity_velocity", + "0x42": "entity_equipment", + "0x43": "experience", + "0x44": "update_health", + "0x45": "scoreboard_objective", + "0x46": "set_passengers", + "0x47": "teams", + "0x48": "scoreboard_score", + "0x49": "spawn_position", + "0x4a": "update_time", + "0x4b": "title", + "0x4c": "stop_sound", + "0x4d": "sound_effect", + "0x4e": "playerlist_header", + "0x4f": "collect", + "0x50": "entity_teleport", + "0x51": "advancements", + "0x52": "entity_update_attributes", + "0x53": "entity_effect", + "0x54": "declare_recipes", + "0x55": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "tab_complete", + "0x06": "transaction", + "0x07": "enchant_item", + "0x08": "window_click", + "0x09": "close_window", + "0x0a": "custom_payload", + "0x0b": "edit_book", + "0x0c": "query_entity_nbt", + "0x0d": "use_entity", + "0x0e": "keep_alive", + "0x0f": "flying", + "0x10": "position", + "0x11": "position_look", + "0x12": "look", + "0x13": "vehicle_move", + "0x14": "steer_boat", + "0x15": "pick_item", + "0x16": "craft_recipe_request", + "0x17": "abilities", + "0x18": "block_dig", + "0x19": "entity_action", + "0x1a": "steer_vehicle", + "0x1b": "crafting_book_data", + "0x1c": "name_item", + "0x1d": "resource_pack_receive", + "0x1e": "advancement_tab", + "0x1f": "select_trade", + "0x20": "set_beacon_effect", + "0x21": "held_item_slot", + "0x22": "update_command_block", + "0x23": "update_command_block_minecart", + "0x24": "set_creative_slot", + "0x25": "update_structure_block", + "0x26": "update_sign", + "0x27": "arm_animation", + "0x28": "spectate", + "0x29": "block_place", + "0x2a": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/recipes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/recipes.json new file mode 100644 index 00000000..e7e30943 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/recipes.json @@ -0,0 +1,12780 @@ +{ + "2": [ + { + "ingredients": [ + 4, + 716 + ], + "result": { + "count": 1, + "id": 2 + } + } + ], + "3": [ + { + "inShape": [ + [ + 2, + 2 + ], + [ + 2, + 2 + ] + ], + "result": { + "count": 4, + "id": 3 + } + } + ], + "4": [ + { + "inShape": [ + [ + 716, + 12 + ], + [ + 12, + 716 + ] + ], + "result": { + "count": 2, + "id": 4 + } + } + ], + "5": [ + { + "inShape": [ + [ + 4, + 4 + ], + [ + 4, + 4 + ] + ], + "result": { + "count": 4, + "id": 5 + } + } + ], + "6": [ + { + "ingredients": [ + 4, + 12 + ], + "result": { + "count": 2, + "id": 6 + } + } + ], + "7": [ + { + "inShape": [ + [ + 6, + 6 + ], + [ + 6, + 6 + ] + ], + "result": { + "count": 4, + "id": 7 + } + } + ], + "10": [ + { + "inShape": [ + [ + 28, + 9 + ], + [ + 9, + 28 + ] + ], + "result": { + "count": 4, + "id": 10 + } + } + ], + "13": [ + { + "ingredients": [ + 32 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 50 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 38 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 44 + ], + "result": { + "count": 4, + "id": 13 + } + } + ], + "14": [ + { + "ingredients": [ + 33 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 51 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 39 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 45 + ], + "result": { + "count": 4, + "id": 14 + } + } + ], + "15": [ + { + "ingredients": [ + 34 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 52 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 40 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 46 + ], + "result": { + "count": 4, + "id": 15 + } + } + ], + "16": [ + { + "ingredients": [ + 35 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 53 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 41 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 47 + ], + "result": { + "count": 4, + "id": 16 + } + } + ], + "17": [ + { + "ingredients": [ + 36 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 54 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 42 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 48 + ], + "result": { + "count": 4, + "id": 17 + } + } + ], + "18": [ + { + "ingredients": [ + 37 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 55 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 43 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 49 + ], + "result": { + "count": 4, + "id": 18 + } + } + ], + "50": [ + { + "inShape": [ + [ + 32, + 32 + ], + [ + 32, + 32 + ] + ], + "result": { + "count": 3, + "id": 50 + } + } + ], + "51": [ + { + "inShape": [ + [ + 33, + 33 + ], + [ + 33, + 33 + ] + ], + "result": { + "count": 3, + "id": 51 + } + } + ], + "52": [ + { + "inShape": [ + [ + 34, + 34 + ], + [ + 34, + 34 + ] + ], + "result": { + "count": 3, + "id": 52 + } + } + ], + "53": [ + { + "inShape": [ + [ + 35, + 35 + ], + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 53 + } + } + ], + "54": [ + { + "inShape": [ + [ + 36, + 36 + ], + [ + 36, + 36 + ] + ], + "result": { + "count": 3, + "id": 54 + } + } + ], + "55": [ + { + "inShape": [ + [ + 37, + 37 + ], + [ + 37, + 37 + ] + ], + "result": { + "count": 3, + "id": 55 + } + } + ], + "66": [ + { + "inShape": [ + [ + 581, + 581, + 581 + ], + [ + 581, + 581, + 581 + ], + [ + 581, + 581, + 581 + ] + ], + "result": { + "count": 1, + "id": 66 + } + } + ], + "67": [ + { + "inShape": [ + [ + 12, + 547, + 12 + ], + [ + 12, + 477, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 67 + } + } + ], + "68": [ + { + "inShape": [ + [ + 26, + 26 + ], + [ + 26, + 26 + ] + ], + "result": { + "count": 1, + "id": 68 + } + } + ], + "69": [ + { + "inShape": [ + [ + 119 + ], + [ + 119 + ] + ], + "result": { + "count": 1, + "id": 69 + } + } + ], + "70": [ + { + "inShape": [ + [ + 68, + 68 + ], + [ + 68, + 68 + ] + ], + "result": { + "count": 4, + "id": 70 + } + } + ], + "71": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 547, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 547, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 547, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 547, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 547, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 547, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 71 + } + } + ], + "72": [ + { + "inShape": [ + [ + 483, + 547, + 483 + ], + [ + 483, + 497, + 483 + ], + [ + 483, + null, + 483 + ] + ], + "result": { + "count": 6, + "id": 72 + } + } + ], + "73": [ + { + "inShape": [ + [ + 482, + 547, + 482 + ], + [ + 482, + 159, + 482 + ], + [ + 482, + null, + 482 + ] + ], + "result": { + "count": 6, + "id": 73 + } + } + ], + "74": [ + { + "inShape": [ + [ + 81 + ], + [ + 563 + ] + ], + "result": { + "count": 1, + "id": 74 + } + } + ], + "81": [ + { + "inShape": [ + [ + 12, + 547, + 12 + ], + [ + 12, + 482, + 12 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 547, + 12 + ], + [ + 12, + 482, + 12 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 547, + 12 + ], + [ + 12, + 482, + 12 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 547, + 12 + ], + [ + 12, + 482, + 12 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 547, + 12 + ], + [ + 12, + 482, + 12 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 547, + 12 + ], + [ + 12, + 482, + 12 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 81 + } + } + ], + "82": [ + { + "inShape": [ + [ + 504, + 504 + ], + [ + 504, + 504 + ] + ], + "result": { + "count": 1, + "id": 82 + } + } + ], + "83": [ + { + "ingredients": [ + 591, + 82 + ], + "result": { + "count": 1, + "id": 83 + } + } + ], + "84": [ + { + "ingredients": [ + 590, + 82 + ], + "result": { + "count": 1, + "id": 84 + } + } + ], + "85": [ + { + "ingredients": [ + 589, + 82 + ], + "result": { + "count": 1, + "id": 85 + } + } + ], + "86": [ + { + "ingredients": [ + 588, + 82 + ], + "result": { + "count": 1, + "id": 86 + } + } + ], + "87": [ + { + "ingredients": [ + 587, + 82 + ], + "result": { + "count": 1, + "id": 87 + } + } + ], + "88": [ + { + "ingredients": [ + 586, + 82 + ], + "result": { + "count": 1, + "id": 88 + } + } + ], + "89": [ + { + "ingredients": [ + 585, + 82 + ], + "result": { + "count": 1, + "id": 89 + } + } + ], + "90": [ + { + "ingredients": [ + 584, + 82 + ], + "result": { + "count": 1, + "id": 90 + } + } + ], + "91": [ + { + "ingredients": [ + 583, + 82 + ], + "result": { + "count": 1, + "id": 91 + } + } + ], + "92": [ + { + "ingredients": [ + 582, + 82 + ], + "result": { + "count": 1, + "id": 92 + } + } + ], + "93": [ + { + "ingredients": [ + 581, + 82 + ], + "result": { + "count": 1, + "id": 93 + } + } + ], + "94": [ + { + "ingredients": [ + 580, + 82 + ], + "result": { + "count": 1, + "id": 94 + } + } + ], + "95": [ + { + "ingredients": [ + 579, + 82 + ], + "result": { + "count": 1, + "id": 95 + } + } + ], + "96": [ + { + "ingredients": [ + 578, + 82 + ], + "result": { + "count": 1, + "id": 96 + } + } + ], + "97": [ + { + "ingredients": [ + 577, + 82 + ], + "result": { + "count": 1, + "id": 97 + } + } + ], + "110": [ + { + "inShape": [ + [ + 483, + 483, + 483 + ], + [ + 483, + 483, + 483 + ], + [ + 483, + 483, + 483 + ] + ], + "result": { + "count": 1, + "id": 110 + } + } + ], + "111": [ + { + "inShape": [ + [ + 482, + 482, + 482 + ], + [ + 482, + 482, + 482 + ], + [ + 482, + 482, + 482 + ] + ], + "result": { + "count": 1, + "id": 111 + } + } + ], + "112": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 6, + "id": 112 + } + } + ], + "113": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 6, + "id": 113 + } + } + ], + "114": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 6, + "id": 114 + } + } + ], + "115": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 6, + "id": 115 + } + } + ], + "116": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 6, + "id": 116 + } + } + ], + "117": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 6, + "id": 117 + } + } + ], + "118": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ] + ], + "result": { + "count": 6, + "id": 118 + } + } + ], + "119": [ + { + "inShape": [ + [ + 68, + 68, + 68 + ] + ], + "result": { + "count": 6, + "id": 119 + } + }, + { + "inShape": [ + [ + 69, + 69, + 69 + ] + ], + "result": { + "count": 6, + "id": 119 + } + }, + { + "inShape": [ + [ + 70, + 70, + 70 + ] + ], + "result": { + "count": 6, + "id": 119 + } + } + ], + "121": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 6, + "id": 121 + } + } + ], + "122": [ + { + "inShape": [ + [ + 135, + 135, + 135 + ] + ], + "result": { + "count": 6, + "id": 122 + } + } + ], + "123": [ + { + "inShape": [ + [ + 199, + 199, + 199 + ] + ], + "result": { + "count": 6, + "id": 123 + } + }, + { + "inShape": [ + [ + 200, + 200, + 200 + ] + ], + "result": { + "count": 6, + "id": 123 + } + }, + { + "inShape": [ + [ + 201, + 201, + 201 + ] + ], + "result": { + "count": 6, + "id": 123 + } + }, + { + "inShape": [ + [ + 202, + 202, + 202 + ] + ], + "result": { + "count": 6, + "id": 123 + } + } + ], + "124": [ + { + "inShape": [ + [ + 220, + 220, + 220 + ] + ], + "result": { + "count": 6, + "id": 124 + } + } + ], + "125": [ + { + "inShape": [ + [ + 257, + 257, + 257 + ] + ], + "result": { + "count": 6, + "id": 125 + } + }, + { + "inShape": [ + [ + 258, + 258, + 258 + ] + ], + "result": { + "count": 6, + "id": 125 + } + }, + { + "inShape": [ + [ + 259, + 259, + 259 + ] + ], + "result": { + "count": 6, + "id": 125 + } + } + ], + "126": [ + { + "inShape": [ + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 6, + "id": 126 + } + }, + { + "inShape": [ + [ + 351, + 351, + 351 + ] + ], + "result": { + "count": 6, + "id": 126 + } + }, + { + "inShape": [ + [ + 352, + 352, + 352 + ] + ], + "result": { + "count": 6, + "id": 126 + } + } + ], + "127": [ + { + "inShape": [ + [ + 144, + 144, + 144 + ] + ], + "result": { + "count": 6, + "id": 127 + } + }, + { + "inShape": [ + [ + 145, + 145, + 145 + ] + ], + "result": { + "count": 6, + "id": 127 + } + } + ], + "128": [ + { + "inShape": [ + [ + 343, + 343, + 343 + ] + ], + "result": { + "count": 6, + "id": 128 + } + } + ], + "129": [ + { + "inShape": [ + [ + 344, + 344, + 344 + ] + ], + "result": { + "count": 6, + "id": 129 + } + } + ], + "130": [ + { + "inShape": [ + [ + 345, + 345, + 345 + ] + ], + "result": { + "count": 6, + "id": 130 + } + } + ], + "135": [ + { + "inShape": [ + [ + 556, + 556 + ], + [ + 556, + 556 + ] + ], + "result": { + "count": 1, + "id": 135 + } + } + ], + "136": [ + { + "inShape": [ + [ + 506, + 26, + 506 + ], + [ + 26, + 506, + 26 + ], + [ + 506, + 26, + 506 + ] + ], + "result": { + "count": 1, + "id": 136 + } + }, + { + "inShape": [ + [ + 506, + 27, + 506 + ], + [ + 27, + 506, + 27 + ], + [ + 506, + 27, + 506 + ] + ], + "result": { + "count": 1, + "id": 136 + } + } + ], + "137": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 562, + 562, + 562 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 137 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 562, + 562, + 562 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 137 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 562, + 562, + 562 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 137 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 562, + 562, + 562 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 137 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 562, + 562, + 562 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 137 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 562, + 562, + 562 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 137 + } + } + ], + "138": [ + { + "ingredients": [ + 12, + 209 + ], + "result": { + "count": 1, + "id": 138 + } + } + ], + "140": [ + { + "inShape": [ + [ + 497 + ], + [ + 479 + ] + ], + "result": { + "count": 4, + "id": 140 + } + }, + { + "inShape": [ + [ + 497 + ], + [ + 480 + ] + ], + "result": { + "count": 4, + "id": 140 + } + } + ], + "141": [ + { + "inShape": [ + [ + 753 + ], + [ + 625 + ] + ], + "result": { + "count": 4, + "id": 141 + } + } + ], + "144": [ + { + "inShape": [ + [ + 753, + 753 + ], + [ + 753, + 753 + ] + ], + "result": { + "count": 4, + "id": 144 + } + } + ], + "145": [ + { + "inShape": [ + [ + 127 + ], + [ + 127 + ] + ], + "result": { + "count": 1, + "id": 145 + } + } + ], + "146": [ + { + "inShape": [ + [ + 144, + 144, + 144 + ], + [ + 144, + 144, + null + ], + [ + 144, + null, + null + ] + ], + "result": { + "count": 4, + "id": 146 + } + }, + { + "inShape": [ + [ + 145, + 145, + 145 + ], + [ + 145, + 145, + null + ], + [ + 145, + null, + null + ] + ], + "result": { + "count": 4, + "id": 146 + } + } + ], + "148": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + null + ], + [ + 13, + null, + null + ] + ], + "result": { + "count": 4, + "id": 148 + } + } + ], + "149": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 149 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 149 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 149 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 149 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 149 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 149 + } + } + ], + "151": [ + { + "inShape": [ + [ + 481, + 481, + 481 + ], + [ + 481, + 481, + 481 + ], + [ + 481, + 481, + 481 + ] + ], + "result": { + "count": 1, + "id": 151 + } + } + ], + "152": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 152 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 152 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 152 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 152 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 152 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 152 + } + } + ], + "154": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + null, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 154 + } + } + ], + "155": [ + { + "inShape": [ + [ + 497, + null, + 497 + ], + [ + 497, + 497, + 497 + ], + [ + 497, + null, + 497 + ] + ], + "result": { + "count": 3, + "id": 155 + } + } + ], + "156": [ + { + "inShape": [ + [ + 482, + null, + 482 + ], + [ + 482, + 497, + 482 + ], + [ + 482, + null, + 482 + ] + ], + "result": { + "count": 16, + "id": 156 + } + } + ], + "157": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + 12, + null + ], + [ + 12, + null, + null + ] + ], + "result": { + "count": 4, + "id": 157 + } + } + ], + "158": [ + { + "inShape": [ + [ + 12 + ], + [ + 497 + ] + ], + "result": { + "count": 1, + "id": 158 + } + } + ], + "159": [ + { + "inShape": [ + [ + 1, + 1 + ] + ], + "result": { + "count": 1, + "id": 159 + } + } + ], + "160": [ + { + "inShape": [ + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 160 + } + } + ], + "161": [ + { + "inShape": [ + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 161 + } + } + ], + "162": [ + { + "inShape": [ + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 162 + } + } + ], + "163": [ + { + "inShape": [ + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 163 + } + } + ], + "164": [ + { + "inShape": [ + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 164 + } + } + ], + "165": [ + { + "inShape": [ + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 165 + } + } + ], + "167": [ + { + "inShape": [ + [ + 497 + ], + [ + 547 + ] + ], + "result": { + "count": 1, + "id": 167 + } + } + ], + "168": [ + { + "ingredients": [ + 1 + ], + "result": { + "count": 1, + "id": 168 + } + } + ], + "169": [ + { + "inShape": [ + [ + 171, + 171, + 171 + ] + ], + "result": { + "count": 6, + "id": 169 + } + } + ], + "171": [ + { + "inShape": [ + [ + 548, + 548 + ], + [ + 548, + 548 + ] + ], + "result": { + "count": 1, + "id": 171 + } + } + ], + "173": [ + { + "inShape": [ + [ + 557, + 557 + ], + [ + 557, + 557 + ] + ], + "result": { + "count": 1, + "id": 173 + } + } + ], + "174": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 481, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 174 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 481, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 174 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 481, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 174 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 481, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 174 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 481, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 174 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 481, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 174 + } + } + ], + "175": [ + { + "inShape": [ + [ + 13, + 497, + 13 + ], + [ + 13, + 497, + 13 + ] + ], + "result": { + "count": 3, + "id": 175 + } + } + ], + "176": [ + { + "inShape": [ + [ + 14, + 497, + 14 + ], + [ + 14, + 497, + 14 + ] + ], + "result": { + "count": 3, + "id": 176 + } + } + ], + "177": [ + { + "inShape": [ + [ + 15, + 497, + 15 + ], + [ + 15, + 497, + 15 + ] + ], + "result": { + "count": 3, + "id": 177 + } + } + ], + "178": [ + { + "inShape": [ + [ + 16, + 497, + 16 + ], + [ + 16, + 497, + 16 + ] + ], + "result": { + "count": 3, + "id": 178 + } + } + ], + "179": [ + { + "inShape": [ + [ + 17, + 497, + 17 + ], + [ + 17, + 497, + 17 + ] + ], + "result": { + "count": 3, + "id": 179 + } + } + ], + "180": [ + { + "inShape": [ + [ + 18, + 497, + 18 + ], + [ + 18, + 497, + 18 + ] + ], + "result": { + "count": 3, + "id": 180 + } + } + ], + "185": [ + { + "inShape": [ + [ + 570, + 570 + ], + [ + 570, + 570 + ] + ], + "result": { + "count": 1, + "id": 185 + } + } + ], + "186": [ + { + "inShape": [ + [ + 140 + ], + [ + 182 + ] + ], + "result": { + "count": 1, + "id": 186 + } + } + ], + "187": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 2, + "id": 187 + } + } + ], + "188": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 2, + "id": 188 + } + } + ], + "189": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 2, + "id": 189 + } + } + ], + "190": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 2, + "id": 190 + } + } + ], + "191": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 2, + "id": 191 + } + } + ], + "192": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 2, + "id": 192 + } + } + ], + "199": [ + { + "inShape": [ + [ + 1, + 1 + ], + [ + 1, + 1 + ] + ], + "result": { + "count": 4, + "id": 199 + } + } + ], + "200": [ + { + "ingredients": [ + 199, + 209 + ], + "result": { + "count": 1, + "id": 200 + } + } + ], + "202": [ + { + "inShape": [ + [ + 123 + ], + [ + 123 + ] + ], + "result": { + "count": 1, + "id": 202 + } + } + ], + "206": [ + { + "inShape": [ + [ + 482, + 482, + 482 + ], + [ + 482, + 482, + 482 + ] + ], + "result": { + "count": 16, + "id": 206 + } + } + ], + "207": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 16, + "id": 207 + } + } + ], + "208": [ + { + "inShape": [ + [ + 615, + 615, + 615 + ], + [ + 615, + 615, + 615 + ], + [ + 615, + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 208 + } + } + ], + "210": [ + { + "inShape": [ + [ + 497, + 13, + 497 + ], + [ + 497, + 13, + 497 + ] + ], + "result": { + "count": 1, + "id": 210 + } + } + ], + "211": [ + { + "inShape": [ + [ + 497, + 14, + 497 + ], + [ + 497, + 14, + 497 + ] + ], + "result": { + "count": 1, + "id": 211 + } + } + ], + "212": [ + { + "inShape": [ + [ + 497, + 15, + 497 + ], + [ + 497, + 15, + 497 + ] + ], + "result": { + "count": 1, + "id": 212 + } + } + ], + "213": [ + { + "inShape": [ + [ + 497, + 16, + 497 + ], + [ + 497, + 16, + 497 + ] + ], + "result": { + "count": 1, + "id": 213 + } + } + ], + "214": [ + { + "inShape": [ + [ + 497, + 17, + 497 + ], + [ + 497, + 17, + 497 + ] + ], + "result": { + "count": 1, + "id": 214 + } + } + ], + "215": [ + { + "inShape": [ + [ + 497, + 18, + 497 + ], + [ + 497, + 18, + 497 + ] + ], + "result": { + "count": 1, + "id": 215 + } + } + ], + "216": [ + { + "inShape": [ + [ + 135, + 135, + 135 + ], + [ + 135, + 135, + null + ], + [ + 135, + null, + null + ] + ], + "result": { + "count": 4, + "id": 216 + } + } + ], + "217": [ + { + "inShape": [ + [ + 199, + 199, + 199 + ], + [ + 199, + 199, + null + ], + [ + 199, + null, + null + ] + ], + "result": { + "count": 4, + "id": 217 + } + }, + { + "inShape": [ + [ + 200, + 200, + 200 + ], + [ + 200, + 200, + null + ], + [ + 200, + null, + null + ] + ], + "result": { + "count": 4, + "id": 217 + } + }, + { + "inShape": [ + [ + 201, + 201, + 201 + ], + [ + 201, + 201, + null + ], + [ + 201, + null, + null + ] + ], + "result": { + "count": 4, + "id": 217 + } + }, + { + "inShape": [ + [ + 202, + 202, + 202 + ], + [ + 202, + 202, + null + ], + [ + 202, + null, + null + ] + ], + "result": { + "count": 4, + "id": 217 + } + } + ], + "220": [ + { + "inShape": [ + [ + 715, + 715 + ], + [ + 715, + 715 + ] + ], + "result": { + "count": 1, + "id": 220 + } + } + ], + "221": [ + { + "inShape": [ + [ + 220, + 220, + 220 + ], + [ + 220, + 220, + 220 + ] + ], + "result": { + "count": 6, + "id": 221 + } + } + ], + "222": [ + { + "inShape": [ + [ + 220, + 220, + 220 + ], + [ + 220, + 220, + null + ], + [ + 220, + null, + null + ] + ], + "result": { + "count": 4, + "id": 222 + } + } + ], + "223": [ + { + "inShape": [ + [ + 139, + 139, + 139 + ], + [ + 481, + 139, + 481 + ], + [ + null, + 562, + null + ] + ], + "result": { + "count": 1, + "id": 223 + } + } + ], + "226": [ + { + "inShape": [ + [ + 225, + 225 + ], + [ + 225, + 225 + ] + ], + "result": { + "count": 4, + "id": 226 + } + } + ], + "228": [ + { + "inShape": [ + [ + null, + 547, + null + ], + [ + 547, + 185, + 547 + ], + [ + null, + 547, + null + ] + ], + "result": { + "count": 1, + "id": 228 + } + } + ], + "229": [ + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 68, + 68, + null + ], + [ + 68, + null, + null + ] + ], + "result": { + "count": 4, + "id": 229 + } + }, + { + "inShape": [ + [ + 69, + 69, + 69 + ], + [ + 69, + 69, + null + ], + [ + 69, + null, + null + ] + ], + "result": { + "count": 4, + "id": 229 + } + }, + { + "inShape": [ + [ + 70, + 70, + 70 + ], + [ + 70, + 70, + null + ], + [ + 70, + null, + null + ] + ], + "result": { + "count": 4, + "id": 229 + } + } + ], + "231": [ + { + "inShape": [ + [ + 139, + 139, + 139 + ], + [ + 139, + 637, + 139 + ], + [ + 139, + 139, + 139 + ] + ], + "result": { + "count": 1, + "id": 231 + } + } + ], + "232": [ + { + "inShape": [ + [ + 13 + ], + [ + 497 + ], + [ + 482 + ] + ], + "result": { + "count": 2, + "id": 232 + } + }, + { + "inShape": [ + [ + 14 + ], + [ + 497 + ], + [ + 482 + ] + ], + "result": { + "count": 2, + "id": 232 + } + }, + { + "inShape": [ + [ + 15 + ], + [ + 497 + ], + [ + 482 + ] + ], + "result": { + "count": 2, + "id": 232 + } + }, + { + "inShape": [ + [ + 16 + ], + [ + 497 + ], + [ + 482 + ] + ], + "result": { + "count": 2, + "id": 232 + } + }, + { + "inShape": [ + [ + 17 + ], + [ + 497 + ], + [ + 482 + ] + ], + "result": { + "count": 2, + "id": 232 + } + }, + { + "inShape": [ + [ + 18 + ], + [ + 497 + ], + [ + 482 + ] + ], + "result": { + "count": 2, + "id": 232 + } + } + ], + "233": [ + { + "inShape": [ + [ + 694, + 694, + 694 + ], + [ + 694, + 694, + 694 + ], + [ + 694, + 694, + 694 + ] + ], + "result": { + "count": 1, + "id": 233 + } + } + ], + "234": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + null + ], + [ + 14, + null, + null + ] + ], + "result": { + "count": 4, + "id": 234 + } + } + ], + "235": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + null + ], + [ + 15, + null, + null + ] + ], + "result": { + "count": 4, + "id": 235 + } + } + ], + "236": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + null + ], + [ + 16, + null, + null + ] + ], + "result": { + "count": 4, + "id": 236 + } + } + ], + "238": [ + { + "inShape": [ + [ + 139, + 139, + 139 + ], + [ + 64, + 710, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 238 + } + } + ], + "239": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 6, + "id": 239 + } + } + ], + "240": [ + { + "inShape": [ + [ + 138, + 138, + 138 + ], + [ + 138, + 138, + 138 + ] + ], + "result": { + "count": 6, + "id": 240 + } + } + ], + "241": [ + { + "ingredients": [ + 13 + ], + "result": { + "count": 1, + "id": 241 + } + } + ], + "242": [ + { + "ingredients": [ + 14 + ], + "result": { + "count": 1, + "id": 242 + } + } + ], + "243": [ + { + "ingredients": [ + 15 + ], + "result": { + "count": 1, + "id": 243 + } + } + ], + "244": [ + { + "ingredients": [ + 16 + ], + "result": { + "count": 1, + "id": 244 + } + } + ], + "245": [ + { + "ingredients": [ + 17 + ], + "result": { + "count": 1, + "id": 245 + } + } + ], + "246": [ + { + "ingredients": [ + 18 + ], + "result": { + "count": 1, + "id": 246 + } + } + ], + "247": [ + { + "inShape": [ + [ + 482, + 482, + 482 + ], + [ + null, + 482, + null + ], + [ + 111, + 111, + 111 + ] + ], + "result": { + "count": 1, + "id": 247 + } + } + ], + "250": [ + { + "ingredients": [ + 149, + 232 + ], + "result": { + "count": 1, + "id": 250 + } + } + ], + "251": [ + { + "inShape": [ + [ + 483, + 483 + ] + ], + "result": { + "count": 1, + "id": 251 + } + } + ], + "252": [ + { + "inShape": [ + [ + 482, + 482 + ] + ], + "result": { + "count": 1, + "id": 252 + } + } + ], + "253": [ + { + "inShape": [ + [ + 112, + 112, + 112 + ], + [ + 716, + 716, + 716 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 253 + } + }, + { + "inShape": [ + [ + 113, + 113, + 113 + ], + [ + 716, + 716, + 716 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 253 + } + }, + { + "inShape": [ + [ + 114, + 114, + 114 + ], + [ + 716, + 716, + 716 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 253 + } + }, + { + "inShape": [ + [ + 115, + 115, + 115 + ], + [ + 716, + 716, + 716 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 253 + } + }, + { + "inShape": [ + [ + 116, + 116, + 116 + ], + [ + 716, + 716, + 716 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 253 + } + }, + { + "inShape": [ + [ + 117, + 117, + 117 + ], + [ + 716, + 716, + 716 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 253 + } + } + ], + "254": [ + { + "inShape": [ + [ + 547, + 547, + 547 + ], + [ + 547, + 547, + 547 + ], + [ + 547, + 547, + 547 + ] + ], + "result": { + "count": 1, + "id": 254 + } + } + ], + "256": [ + { + "inShape": [ + [ + null, + 482, + null + ], + [ + 482, + 149, + 482 + ], + [ + 482, + null, + 482 + ] + ], + "result": { + "count": 1, + "id": 256 + } + } + ], + "257": [ + { + "inShape": [ + [ + 125 + ], + [ + 125 + ] + ], + "result": { + "count": 1, + "id": 257 + } + } + ], + "258": [ + { + "inShape": [ + [ + 716, + 716 + ], + [ + 716, + 716 + ] + ], + "result": { + "count": 1, + "id": 258 + } + } + ], + "259": [ + { + "inShape": [ + [ + 258 + ], + [ + 258 + ] + ], + "result": { + "count": 2, + "id": 259 + } + } + ], + "260": [ + { + "inShape": [ + [ + 257, + 257, + 257 + ], + [ + 257, + 257, + null + ], + [ + 257, + null, + null + ] + ], + "result": { + "count": 4, + "id": 260 + } + }, + { + "inShape": [ + [ + 258, + 258, + 258 + ], + [ + 258, + 258, + null + ], + [ + 258, + null, + null + ] + ], + "result": { + "count": 4, + "id": 260 + } + }, + { + "inShape": [ + [ + 259, + 259, + 259 + ], + [ + 259, + 259, + null + ], + [ + 259, + null, + null + ] + ], + "result": { + "count": 4, + "id": 260 + } + } + ], + "261": [ + { + "inShape": [ + [ + 482, + 497, + 482 + ], + [ + 482, + 167, + 482 + ], + [ + 482, + 497, + 482 + ] + ], + "result": { + "count": 6, + "id": 261 + } + } + ], + "262": [ + { + "inShape": [ + [ + 12, + 547, + 12 + ], + [ + 12, + null, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 262 + } + } + ], + "263": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 592, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 263 + } + } + ], + "264": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 591, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 264 + } + } + ], + "265": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 590, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 265 + } + } + ], + "266": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 589, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 266 + } + } + ], + "267": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 588, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 267 + } + } + ], + "268": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 587, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 268 + } + } + ], + "269": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 586, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 269 + } + } + ], + "270": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 585, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 270 + } + } + ], + "271": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 584, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 271 + } + } + ], + "272": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 583, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 272 + } + } + ], + "273": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 582, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 273 + } + } + ], + "274": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 581, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 274 + } + } + ], + "275": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 580, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 275 + } + } + ], + "276": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 579, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 276 + } + } + ], + "277": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 578, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 277 + } + } + ], + "278": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 577, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 278 + } + } + ], + "280": [ + { + "inShape": [ + [ + 482, + 482 + ], + [ + 482, + 482 + ] + ], + "result": { + "count": 1, + "id": 280 + } + } + ], + "281": [ + { + "inShape": [ + [ + 513, + 513, + 513 + ], + [ + 513, + 513, + 513 + ], + [ + 513, + 513, + 513 + ] + ], + "result": { + "count": 1, + "id": 281 + } + } + ], + "282": [ + { + "inShape": [ + [ + 82, + 82 + ] + ], + "result": { + "count": 3, + "id": 282 + } + } + ], + "283": [ + { + "inShape": [ + [ + 83, + 83 + ] + ], + "result": { + "count": 3, + "id": 283 + } + } + ], + "284": [ + { + "inShape": [ + [ + 84, + 84 + ] + ], + "result": { + "count": 3, + "id": 284 + } + } + ], + "285": [ + { + "inShape": [ + [ + 85, + 85 + ] + ], + "result": { + "count": 3, + "id": 285 + } + } + ], + "286": [ + { + "inShape": [ + [ + 86, + 86 + ] + ], + "result": { + "count": 3, + "id": 286 + } + } + ], + "287": [ + { + "inShape": [ + [ + 87, + 87 + ] + ], + "result": { + "count": 3, + "id": 287 + } + } + ], + "288": [ + { + "inShape": [ + [ + 88, + 88 + ] + ], + "result": { + "count": 3, + "id": 288 + } + } + ], + "289": [ + { + "inShape": [ + [ + 89, + 89 + ] + ], + "result": { + "count": 3, + "id": 289 + } + } + ], + "290": [ + { + "inShape": [ + [ + 90, + 90 + ] + ], + "result": { + "count": 3, + "id": 290 + } + } + ], + "291": [ + { + "inShape": [ + [ + 91, + 91 + ] + ], + "result": { + "count": 3, + "id": 291 + } + } + ], + "292": [ + { + "inShape": [ + [ + 92, + 92 + ] + ], + "result": { + "count": 3, + "id": 292 + } + } + ], + "293": [ + { + "inShape": [ + [ + 93, + 93 + ] + ], + "result": { + "count": 3, + "id": 293 + } + } + ], + "294": [ + { + "inShape": [ + [ + 94, + 94 + ] + ], + "result": { + "count": 3, + "id": 294 + } + } + ], + "295": [ + { + "inShape": [ + [ + 95, + 95 + ] + ], + "result": { + "count": 3, + "id": 295 + } + } + ], + "296": [ + { + "inShape": [ + [ + 96, + 96 + ] + ], + "result": { + "count": 3, + "id": 296 + } + } + ], + "297": [ + { + "inShape": [ + [ + 97, + 97 + ] + ], + "result": { + "count": 3, + "id": 297 + } + } + ], + "299": [ + { + "inShape": [ + [ + 479, + 479, + 479 + ], + [ + 479, + 479, + 479 + ], + [ + 479, + 479, + 479 + ] + ], + "result": { + "count": 1, + "id": 299 + } + } + ], + "300": [ + { + "ingredients": [ + 170, + 170, + 170, + 170, + 170, + 170, + 170, + 170, + 170 + ], + "result": { + "count": 1, + "id": 300 + } + } + ], + "301": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + null + ], + [ + 17, + null, + null + ] + ], + "result": { + "count": 4, + "id": 301 + } + } + ], + "302": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + null + ], + [ + 18, + null, + null + ] + ], + "result": { + "count": 4, + "id": 302 + } + } + ], + "303": [ + { + "inShape": [ + [ + 563, + 563, + 563 + ], + [ + 563, + 563, + 563 + ], + [ + 563, + 563, + 563 + ] + ], + "result": { + "count": 1, + "id": 303 + } + } + ], + "311": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 592, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 311 + } + } + ], + "312": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 591, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 312 + } + } + ], + "313": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 590, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 313 + } + } + ], + "314": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 589, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 314 + } + } + ], + "315": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 588, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 315 + } + } + ], + "316": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 587, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 316 + } + } + ], + "317": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 586, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 317 + } + } + ], + "318": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 585, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 318 + } + } + ], + "319": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 584, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 319 + } + } + ], + "320": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 583, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 320 + } + } + ], + "321": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 582, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 321 + } + } + ], + "322": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 581, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 322 + } + } + ], + "323": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 580, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 323 + } + } + ], + "324": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 579, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 324 + } + } + ], + "325": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 578, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 325 + } + } + ], + "326": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 577, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 326 + } + } + ], + "327": [ + { + "inShape": [ + [ + 311, + 311, + 311 + ], + [ + 311, + 311, + 311 + ] + ], + "result": { + "count": 16, + "id": 327 + } + } + ], + "328": [ + { + "inShape": [ + [ + 312, + 312, + 312 + ], + [ + 312, + 312, + 312 + ] + ], + "result": { + "count": 16, + "id": 328 + } + } + ], + "329": [ + { + "inShape": [ + [ + 313, + 313, + 313 + ], + [ + 313, + 313, + 313 + ] + ], + "result": { + "count": 16, + "id": 329 + } + } + ], + "330": [ + { + "inShape": [ + [ + 314, + 314, + 314 + ], + [ + 314, + 314, + 314 + ] + ], + "result": { + "count": 16, + "id": 330 + } + } + ], + "331": [ + { + "inShape": [ + [ + 315, + 315, + 315 + ], + [ + 315, + 315, + 315 + ] + ], + "result": { + "count": 16, + "id": 331 + } + } + ], + "332": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 16, + "id": 332 + } + } + ], + "333": [ + { + "inShape": [ + [ + 317, + 317, + 317 + ], + [ + 317, + 317, + 317 + ] + ], + "result": { + "count": 16, + "id": 333 + } + } + ], + "334": [ + { + "inShape": [ + [ + 318, + 318, + 318 + ], + [ + 318, + 318, + 318 + ] + ], + "result": { + "count": 16, + "id": 334 + } + } + ], + "335": [ + { + "inShape": [ + [ + 319, + 319, + 319 + ], + [ + 319, + 319, + 319 + ] + ], + "result": { + "count": 16, + "id": 335 + } + } + ], + "336": [ + { + "inShape": [ + [ + 320, + 320, + 320 + ], + [ + 320, + 320, + 320 + ] + ], + "result": { + "count": 16, + "id": 336 + } + } + ], + "337": [ + { + "inShape": [ + [ + 321, + 321, + 321 + ], + [ + 321, + 321, + 321 + ] + ], + "result": { + "count": 16, + "id": 337 + } + } + ], + "338": [ + { + "inShape": [ + [ + 322, + 322, + 322 + ], + [ + 322, + 322, + 322 + ] + ], + "result": { + "count": 16, + "id": 338 + } + } + ], + "339": [ + { + "inShape": [ + [ + 323, + 323, + 323 + ], + [ + 323, + 323, + 323 + ] + ], + "result": { + "count": 16, + "id": 339 + } + } + ], + "340": [ + { + "inShape": [ + [ + 324, + 324, + 324 + ], + [ + 324, + 324, + 324 + ] + ], + "result": { + "count": 16, + "id": 340 + } + } + ], + "341": [ + { + "inShape": [ + [ + 325, + 325, + 325 + ], + [ + 325, + 325, + 325 + ] + ], + "result": { + "count": 16, + "id": 341 + } + } + ], + "342": [ + { + "inShape": [ + [ + 326, + 326, + 326 + ], + [ + 326, + 326, + 326 + ] + ], + "result": { + "count": 16, + "id": 342 + } + } + ], + "343": [ + { + "inShape": [ + [ + 719, + 719 + ], + [ + 719, + 719 + ] + ], + "result": { + "count": 1, + "id": 343 + } + } + ], + "344": [ + { + "inShape": [ + [ + 719, + 719, + 719 + ], + [ + 719, + 719, + 719 + ], + [ + 719, + 719, + 719 + ] + ], + "result": { + "count": 1, + "id": 344 + } + } + ], + "345": [ + { + "inShape": [ + [ + 719, + 719, + 719 + ], + [ + 719, + 577, + 719 + ], + [ + 719, + 719, + 719 + ] + ], + "result": { + "count": 1, + "id": 345 + } + } + ], + "346": [ + { + "inShape": [ + [ + 343, + 343, + 343 + ], + [ + 343, + 343, + null + ], + [ + 343, + null, + null + ] + ], + "result": { + "count": 4, + "id": 346 + } + } + ], + "347": [ + { + "inShape": [ + [ + 344, + 344, + 344 + ], + [ + 344, + 344, + null + ], + [ + 344, + null, + null + ] + ], + "result": { + "count": 4, + "id": 347 + } + } + ], + "348": [ + { + "inShape": [ + [ + 345, + 345, + 345 + ], + [ + 345, + 345, + null + ], + [ + 345, + null, + null + ] + ], + "result": { + "count": 4, + "id": 348 + } + } + ], + "349": [ + { + "inShape": [ + [ + 719, + 720, + 719 + ], + [ + 720, + 720, + 720 + ], + [ + 719, + 720, + 719 + ] + ], + "result": { + "count": 1, + "id": 349 + } + } + ], + "350": [ + { + "inShape": [ + [ + 27, + 27 + ], + [ + 27, + 27 + ] + ], + "result": { + "count": 1, + "id": 350 + } + } + ], + "351": [ + { + "inShape": [ + [ + 126 + ], + [ + 126 + ] + ], + "result": { + "count": 1, + "id": 351 + } + } + ], + "352": [ + { + "inShape": [ + [ + 350, + 350 + ], + [ + 350, + 350 + ] + ], + "result": { + "count": 4, + "id": 352 + } + } + ], + "353": [ + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 350, + null + ], + [ + 350, + null, + null + ] + ], + "result": { + "count": 4, + "id": 353 + } + }, + { + "inShape": [ + [ + 351, + 351, + 351 + ], + [ + 351, + 351, + null + ], + [ + 351, + null, + null + ] + ], + "result": { + "count": 4, + "id": 353 + } + }, + { + "inShape": [ + [ + 352, + 352, + 352 + ], + [ + 352, + 352, + null + ], + [ + 352, + null, + null + ] + ], + "result": { + "count": 4, + "id": 353 + } + } + ], + "356": [ + { + "inShape": [ + [ + 634, + 634 + ], + [ + 634, + 634 + ] + ], + "result": { + "count": 1, + "id": 356 + } + } + ], + "357": [ + { + "inShape": [ + [ + 628, + 628, + 628 + ], + [ + 628, + 628, + 628 + ], + [ + 628, + 628, + 628 + ] + ], + "result": { + "count": 1, + "id": 357 + } + } + ], + "358": [ + { + "inShape": [ + [ + 628, + 715 + ], + [ + 715, + 628 + ] + ], + "result": { + "count": 1, + "id": 358 + } + } + ], + "359": [ + { + "inShape": [ + [ + 592, + 592, + 592 + ], + [ + 592, + 592, + 592 + ], + [ + 592, + 592, + 592 + ] + ], + "result": { + "count": 1, + "id": 359 + } + } + ], + "361": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 547, + 547, + 716 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 361 + } + } + ], + "362": [ + { + "inShape": [ + [ + 770 + ], + [ + 149 + ], + [ + 770 + ] + ], + "result": { + "count": 1, + "id": 362 + } + } + ], + "411": [ + { + "ingredients": [ + 592, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 411 + } + } + ], + "412": [ + { + "ingredients": [ + 591, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 412 + } + } + ], + "413": [ + { + "ingredients": [ + 590, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 413 + } + } + ], + "414": [ + { + "ingredients": [ + 589, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 414 + } + } + ], + "415": [ + { + "ingredients": [ + 588, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 415 + } + } + ], + "416": [ + { + "ingredients": [ + 587, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 416 + } + } + ], + "417": [ + { + "ingredients": [ + 586, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 417 + } + } + ], + "418": [ + { + "ingredients": [ + 585, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 418 + } + } + ], + "419": [ + { + "ingredients": [ + 584, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 419 + } + } + ], + "420": [ + { + "ingredients": [ + 583, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 420 + } + } + ], + "421": [ + { + "ingredients": [ + 582, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 421 + } + } + ], + "422": [ + { + "ingredients": [ + 581, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 422 + } + } + ], + "423": [ + { + "ingredients": [ + 580, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 423 + } + } + ], + "424": [ + { + "ingredients": [ + 579, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 424 + } + } + ], + "425": [ + { + "ingredients": [ + 578, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 425 + } + } + ], + "426": [ + { + "ingredients": [ + 577, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 426 + } + } + ], + "458": [ + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 300, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 1, + "id": 458 + } + } + ], + "459": [ + { + "inShape": [ + [ + 788, + 788, + 788 + ], + [ + 788, + 789, + 788 + ], + [ + 788, + 788, + 788 + ] + ], + "result": { + "count": 1, + "id": 459 + } + } + ], + "460": [ + { + "inShape": [ + [ + 482, + 482 + ], + [ + 482, + 482 + ], + [ + 482, + 482 + ] + ], + "result": { + "count": 3, + "id": 460 + } + } + ], + "461": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 3, + "id": 461 + } + } + ], + "462": [ + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 3, + "id": 462 + } + } + ], + "463": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 3, + "id": 463 + } + } + ], + "464": [ + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 3, + "id": 464 + } + } + ], + "465": [ + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 3, + "id": 465 + } + } + ], + "466": [ + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 3, + "id": 466 + } + } + ], + "467": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 167, + 547, + 167 + ] + ], + "result": { + "count": 1, + "id": 467 + } + } + ], + "468": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 167, + 716, + 167 + ], + [ + null, + 167, + null + ] + ], + "result": { + "count": 1, + "id": 468 + } + } + ], + "470": [ + { + "inShape": [ + [ + 471, + null, + 471 + ], + [ + 471, + 471, + 471 + ] + ], + "result": { + "count": 1, + "id": 470 + } + } + ], + "472": [ + { + "inShape": [ + [ + 497 + ], + [ + 497 + ], + [ + 482 + ] + ], + "result": { + "count": 1, + "id": 472 + } + } + ], + "473": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + null, + 497, + null + ], + [ + 482, + 482, + 482 + ] + ], + "result": { + "count": 1, + "id": 473 + } + } + ], + "474": [ + { + "inShape": [ + [ + null, + 497 + ], + [ + 482, + 497 + ], + [ + 482, + 482 + ] + ], + "result": { + "count": 1, + "id": 474 + } + } + ], + "475": [ + { + "ingredients": [ + 482, + 535 + ], + "result": { + "count": 1, + "id": 475 + } + } + ], + "477": [ + { + "inShape": [ + [ + null, + 497, + 504 + ], + [ + 497, + null, + 504 + ], + [ + null, + 497, + 504 + ] + ], + "result": { + "count": 1, + "id": 477 + } + } + ], + "478": [ + { + "inShape": [ + [ + 505 + ], + [ + 497 + ], + [ + 535 + ] + ], + "result": { + "count": 4, + "id": 478 + } + } + ], + "479": [ + { + "ingredients": [ + 299 + ], + "result": { + "count": 9, + "id": 479 + } + } + ], + "481": [ + { + "ingredients": [ + 151 + ], + "result": { + "count": 9, + "id": 481 + } + } + ], + "482": [ + { + "ingredients": [ + 111 + ], + "result": { + "count": 9, + "id": 482 + } + }, + { + "inShape": [ + [ + 771, + 771, + 771 + ], + [ + 771, + 771, + 771 + ], + [ + 771, + 771, + 771 + ] + ], + "result": { + "count": 1, + "id": 482 + } + } + ], + "483": [ + { + "ingredients": [ + 110 + ], + "result": { + "count": 9, + "id": 483 + } + }, + { + "inShape": [ + [ + 627, + 627, + 627 + ], + [ + 627, + 627, + 627 + ], + [ + 627, + 627, + 627 + ] + ], + "result": { + "count": 1, + "id": 483 + } + } + ], + "484": [ + { + "inShape": [ + [ + 497 + ], + [ + 482 + ], + [ + 482 + ] + ], + "result": { + "count": 1, + "id": 484 + } + } + ], + "485": [ + { + "inShape": [ + [ + 497 + ], + [ + 13 + ], + [ + 13 + ] + ], + "result": { + "count": 1, + "id": 485 + } + }, + { + "inShape": [ + [ + 497 + ], + [ + 14 + ], + [ + 14 + ] + ], + "result": { + "count": 1, + "id": 485 + } + }, + { + "inShape": [ + [ + 497 + ], + [ + 15 + ], + [ + 15 + ] + ], + "result": { + "count": 1, + "id": 485 + } + }, + { + "inShape": [ + [ + 497 + ], + [ + 16 + ], + [ + 16 + ] + ], + "result": { + "count": 1, + "id": 485 + } + }, + { + "inShape": [ + [ + 497 + ], + [ + 17 + ], + [ + 17 + ] + ], + "result": { + "count": 1, + "id": 485 + } + }, + { + "inShape": [ + [ + 497 + ], + [ + 18 + ], + [ + 18 + ] + ], + "result": { + "count": 1, + "id": 485 + } + } + ], + "486": [ + { + "inShape": [ + [ + 497 + ], + [ + 497 + ], + [ + 13 + ] + ], + "result": { + "count": 1, + "id": 486 + } + }, + { + "inShape": [ + [ + 497 + ], + [ + 497 + ], + [ + 14 + ] + ], + "result": { + "count": 1, + "id": 486 + } + }, + { + "inShape": [ + [ + 497 + ], + [ + 497 + ], + [ + 15 + ] + ], + "result": { + "count": 1, + "id": 486 + } + }, + { + "inShape": [ + [ + 497 + ], + [ + 497 + ], + [ + 16 + ] + ], + "result": { + "count": 1, + "id": 486 + } + }, + { + "inShape": [ + [ + 497 + ], + [ + 497 + ], + [ + 17 + ] + ], + "result": { + "count": 1, + "id": 486 + } + }, + { + "inShape": [ + [ + 497 + ], + [ + 497 + ], + [ + 18 + ] + ], + "result": { + "count": 1, + "id": 486 + } + } + ], + "487": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + null, + 497, + null + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 487 + } + }, + { + "inShape": [ + [ + null, + 497, + null + ], + [ + null, + 497, + null + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 487 + } + }, + { + "inShape": [ + [ + null, + 497, + null + ], + [ + null, + 497, + null + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 487 + } + }, + { + "inShape": [ + [ + null, + 497, + null + ], + [ + null, + 497, + null + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 487 + } + }, + { + "inShape": [ + [ + null, + 497, + null + ], + [ + null, + 497, + null + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 487 + } + }, + { + "inShape": [ + [ + null, + 497, + null + ], + [ + null, + 497, + null + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 487 + } + } + ], + "488": [ + { + "inShape": [ + [ + null, + 497 + ], + [ + 13, + 497 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 488 + } + }, + { + "inShape": [ + [ + null, + 497 + ], + [ + 14, + 497 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 488 + } + }, + { + "inShape": [ + [ + null, + 497 + ], + [ + 15, + 497 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 488 + } + }, + { + "inShape": [ + [ + null, + 497 + ], + [ + 16, + 497 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 488 + } + }, + { + "inShape": [ + [ + null, + 497 + ], + [ + 17, + 497 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 488 + } + }, + { + "inShape": [ + [ + null, + 497 + ], + [ + 18, + 497 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 488 + } + } + ], + "489": [ + { + "inShape": [ + [ + 497 + ], + [ + 12 + ], + [ + 12 + ] + ], + "result": { + "count": 1, + "id": 489 + } + } + ], + "490": [ + { + "inShape": [ + [ + 497 + ], + [ + 497 + ], + [ + 12 + ] + ], + "result": { + "count": 1, + "id": 490 + } + } + ], + "491": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + null, + 497, + null + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 491 + } + } + ], + "492": [ + { + "inShape": [ + [ + null, + 497 + ], + [ + 12, + 497 + ], + [ + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 492 + } + } + ], + "493": [ + { + "inShape": [ + [ + 497 + ], + [ + 481 + ], + [ + 481 + ] + ], + "result": { + "count": 1, + "id": 493 + } + } + ], + "494": [ + { + "inShape": [ + [ + 497 + ], + [ + 497 + ], + [ + 481 + ] + ], + "result": { + "count": 1, + "id": 494 + } + } + ], + "495": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + null, + 497, + null + ], + [ + 481, + 481, + 481 + ] + ], + "result": { + "count": 1, + "id": 495 + } + } + ], + "496": [ + { + "inShape": [ + [ + null, + 497 + ], + [ + 481, + 497 + ], + [ + 481, + 481 + ] + ], + "result": { + "count": 1, + "id": 496 + } + } + ], + "497": [ + { + "inShape": [ + [ + 13 + ], + [ + 13 + ] + ], + "result": { + "count": 4, + "id": 497 + } + }, + { + "inShape": [ + [ + 14 + ], + [ + 14 + ] + ], + "result": { + "count": 4, + "id": 497 + } + }, + { + "inShape": [ + [ + 15 + ], + [ + 15 + ] + ], + "result": { + "count": 4, + "id": 497 + } + }, + { + "inShape": [ + [ + 16 + ], + [ + 16 + ] + ], + "result": { + "count": 4, + "id": 497 + } + }, + { + "inShape": [ + [ + 17 + ], + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 497 + } + }, + { + "inShape": [ + [ + 18 + ], + [ + 18 + ] + ], + "result": { + "count": 4, + "id": 497 + } + } + ], + "498": [ + { + "inShape": [ + [ + null, + 13, + null + ], + [ + 13, + null, + 13 + ] + ], + "result": { + "count": 4, + "id": 498 + } + }, + { + "inShape": [ + [ + null, + 14, + null + ], + [ + 14, + null, + 14 + ] + ], + "result": { + "count": 4, + "id": 498 + } + }, + { + "inShape": [ + [ + null, + 15, + null + ], + [ + 15, + null, + 15 + ] + ], + "result": { + "count": 4, + "id": 498 + } + }, + { + "inShape": [ + [ + null, + 16, + null + ], + [ + 16, + null, + 16 + ] + ], + "result": { + "count": 4, + "id": 498 + } + }, + { + "inShape": [ + [ + null, + 17, + null + ], + [ + 17, + null, + 17 + ] + ], + "result": { + "count": 4, + "id": 498 + } + }, + { + "inShape": [ + [ + null, + 18, + null + ], + [ + 18, + null, + 18 + ] + ], + "result": { + "count": 4, + "id": 498 + } + } + ], + "499": [ + { + "ingredients": [ + 108, + 109, + 498 + ], + "result": { + "count": 1, + "id": 499 + } + } + ], + "500": [ + { + "inShape": [ + [ + 497 + ], + [ + 483 + ], + [ + 483 + ] + ], + "result": { + "count": 1, + "id": 500 + } + } + ], + "501": [ + { + "inShape": [ + [ + 497 + ], + [ + 497 + ], + [ + 483 + ] + ], + "result": { + "count": 1, + "id": 501 + } + } + ], + "502": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + null, + 497, + null + ], + [ + 483, + 483, + 483 + ] + ], + "result": { + "count": 1, + "id": 502 + } + } + ], + "503": [ + { + "inShape": [ + [ + null, + 497 + ], + [ + 483, + 497 + ], + [ + 483, + 483 + ] + ], + "result": { + "count": 1, + "id": 503 + } + } + ], + "507": [ + { + "inShape": [ + [ + null, + 497 + ], + [ + null, + 497 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 507 + } + }, + { + "inShape": [ + [ + null, + 497 + ], + [ + null, + 497 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 507 + } + }, + { + "inShape": [ + [ + null, + 497 + ], + [ + null, + 497 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 507 + } + }, + { + "inShape": [ + [ + null, + 497 + ], + [ + null, + 497 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 507 + } + }, + { + "inShape": [ + [ + null, + 497 + ], + [ + null, + 497 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 507 + } + }, + { + "inShape": [ + [ + null, + 497 + ], + [ + null, + 497 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 507 + } + } + ], + "508": [ + { + "inShape": [ + [ + null, + 497 + ], + [ + null, + 497 + ], + [ + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 508 + } + } + ], + "509": [ + { + "inShape": [ + [ + null, + 497 + ], + [ + null, + 497 + ], + [ + 482, + 482 + ] + ], + "result": { + "count": 1, + "id": 509 + } + } + ], + "510": [ + { + "inShape": [ + [ + null, + 497 + ], + [ + null, + 497 + ], + [ + 481, + 481 + ] + ], + "result": { + "count": 1, + "id": 510 + } + } + ], + "511": [ + { + "inShape": [ + [ + null, + 497 + ], + [ + null, + 497 + ], + [ + 483, + 483 + ] + ], + "result": { + "count": 1, + "id": 511 + } + } + ], + "513": [ + { + "ingredients": [ + 281 + ], + "result": { + "count": 9, + "id": 513 + } + } + ], + "514": [ + { + "inShape": [ + [ + 513, + 513, + 513 + ] + ], + "result": { + "count": 1, + "id": 514 + } + } + ], + "515": [ + { + "inShape": [ + [ + 550, + null, + 550 + ], + [ + 550, + 550, + 550 + ] + ], + "result": { + "count": 1, + "id": 515 + } + } + ], + "516": [ + { + "inShape": [ + [ + 550, + 550, + 550 + ], + [ + 550, + 550, + 550 + ], + [ + 550, + null, + 550 + ] + ], + "result": { + "count": 1, + "id": 516 + } + } + ], + "517": [ + { + "inShape": [ + [ + 550, + null, + 550 + ], + [ + 550, + null, + 550 + ], + [ + 550, + 550, + 550 + ] + ], + "result": { + "count": 1, + "id": 517 + } + } + ], + "518": [ + { + "inShape": [ + [ + 550, + null, + 550 + ], + [ + 550, + null, + 550 + ] + ], + "result": { + "count": 1, + "id": 518 + } + } + ], + "523": [ + { + "inShape": [ + [ + 482, + null, + 482 + ], + [ + 482, + 482, + 482 + ] + ], + "result": { + "count": 1, + "id": 523 + } + } + ], + "524": [ + { + "inShape": [ + [ + 482, + 482, + 482 + ], + [ + 482, + 482, + 482 + ], + [ + 482, + null, + 482 + ] + ], + "result": { + "count": 1, + "id": 524 + } + } + ], + "525": [ + { + "inShape": [ + [ + 482, + null, + 482 + ], + [ + 482, + null, + 482 + ], + [ + 482, + 482, + 482 + ] + ], + "result": { + "count": 1, + "id": 525 + } + } + ], + "526": [ + { + "inShape": [ + [ + 482, + null, + 482 + ], + [ + 482, + null, + 482 + ] + ], + "result": { + "count": 1, + "id": 526 + } + } + ], + "527": [ + { + "inShape": [ + [ + 481, + null, + 481 + ], + [ + 481, + 481, + 481 + ] + ], + "result": { + "count": 1, + "id": 527 + } + } + ], + "528": [ + { + "inShape": [ + [ + 481, + 481, + 481 + ], + [ + 481, + 481, + 481 + ], + [ + 481, + null, + 481 + ] + ], + "result": { + "count": 1, + "id": 528 + } + } + ], + "529": [ + { + "inShape": [ + [ + 481, + null, + 481 + ], + [ + 481, + null, + 481 + ], + [ + 481, + 481, + 481 + ] + ], + "result": { + "count": 1, + "id": 529 + } + } + ], + "530": [ + { + "inShape": [ + [ + 481, + null, + 481 + ], + [ + 481, + null, + 481 + ] + ], + "result": { + "count": 1, + "id": 530 + } + } + ], + "531": [ + { + "inShape": [ + [ + 483, + null, + 483 + ], + [ + 483, + 483, + 483 + ] + ], + "result": { + "count": 1, + "id": 531 + } + } + ], + "532": [ + { + "inShape": [ + [ + 483, + 483, + 483 + ], + [ + 483, + 483, + 483 + ], + [ + 483, + null, + 483 + ] + ], + "result": { + "count": 1, + "id": 532 + } + } + ], + "533": [ + { + "inShape": [ + [ + 483, + null, + 483 + ], + [ + 483, + null, + 483 + ], + [ + 483, + 483, + 483 + ] + ], + "result": { + "count": 1, + "id": 533 + } + } + ], + "534": [ + { + "inShape": [ + [ + 483, + null, + 483 + ], + [ + 483, + null, + 483 + ] + ], + "result": { + "count": 1, + "id": 534 + } + } + ], + "538": [ + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 82, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 83, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 84, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 85, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 86, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 87, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 88, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 89, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 90, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 91, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 92, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 93, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 94, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 95, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 96, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + }, + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 97, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 538 + } + } + ], + "539": [ + { + "inShape": [ + [ + 483, + 483, + 483 + ], + [ + 483, + 476, + 483 + ], + [ + 483, + 483, + 483 + ] + ], + "result": { + "count": 1, + "id": 539 + } + } + ], + "541": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 3, + "id": 541 + } + }, + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 3, + "id": 541 + } + }, + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 3, + "id": 541 + } + }, + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 3, + "id": 541 + } + }, + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 3, + "id": 541 + } + }, + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 3, + "id": 541 + } + } + ], + "542": [ + { + "inShape": [ + [ + null, + 482, + null + ], + [ + 482, + null, + 482 + ] + ], + "result": { + "count": 1, + "id": 542 + } + } + ], + "545": [ + { + "inShape": [ + [ + 482, + 482, + 482 + ], + [ + 482, + null, + 482 + ] + ], + "result": { + "count": 1, + "id": 545 + } + } + ], + "547": [ + { + "ingredients": [ + 254 + ], + "result": { + "count": 9, + "id": 547 + } + } + ], + "549": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + null, + 13 + ] + ], + "result": { + "count": 1, + "id": 549 + } + } + ], + "550": [ + { + "inShape": [ + [ + 725, + 725 + ], + [ + 725, + 725 + ] + ], + "result": { + "count": 1, + "id": 550 + } + } + ], + "560": [ + { + "ingredients": [ + 616, + 616, + 616, + 616, + 616, + 616, + 616, + 616, + 616 + ], + "result": { + "count": 1, + "id": 560 + } + } + ], + "561": [ + { + "inShape": [ + [ + 558, + 558, + 558 + ] + ], + "result": { + "count": 3, + "id": 561 + } + } + ], + "562": [ + { + "ingredients": [ + 561, + 561, + 561, + 550 + ], + "result": { + "count": 1, + "id": 562 + } + } + ], + "563": [ + { + "ingredients": [ + 303 + ], + "result": { + "count": 9, + "id": 563 + } + } + ], + "564": [ + { + "inShape": [ + [ + 545 + ], + [ + 149 + ] + ], + "result": { + "count": 1, + "id": 564 + } + } + ], + "565": [ + { + "inShape": [ + [ + 545 + ], + [ + 154 + ] + ], + "result": { + "count": 1, + "id": 565 + } + } + ], + "567": [ + { + "inShape": [ + [ + null, + 482, + null + ], + [ + 482, + 547, + 482 + ], + [ + null, + 482, + null + ] + ], + "result": { + "count": 1, + "id": 567 + } + } + ], + "568": [ + { + "inShape": [ + [ + 497, + null, + 504 + ], + [ + null, + 497, + 504 + ], + [ + null, + null, + 497 + ] + ], + "result": { + "count": 1, + "id": 568 + } + } + ], + "569": [ + { + "inShape": [ + [ + null, + 483, + null + ], + [ + 483, + 547, + 483 + ], + [ + null, + 483, + null + ] + ], + "result": { + "count": 1, + "id": 569 + } + } + ], + "578": [ + { + "ingredients": [ + 754 + ], + "result": { + "count": 1, + "id": 578 + } + }, + { + "ingredients": [ + 99 + ], + "result": { + "count": 1, + "id": 578 + } + }, + { + "ingredients": [ + 307 + ], + "result": { + "count": 2, + "id": 578 + } + }, + { + "ingredients": [ + 103 + ], + "result": { + "count": 1, + "id": 578 + } + } + ], + "581": [ + { + "ingredients": [ + 66 + ], + "result": { + "count": 9, + "id": 581 + } + } + ], + "582": [ + { + "ingredients": [ + 581, + 578 + ], + "result": { + "count": 2, + "id": 582 + } + } + ], + "583": [ + { + "ingredients": [ + 581, + 579 + ], + "result": { + "count": 2, + "id": 583 + } + } + ], + "584": [ + { + "ingredients": [ + 102 + ], + "result": { + "count": 1, + "id": 584 + } + }, + { + "ingredients": [ + 585, + 592 + ], + "result": { + "count": 2, + "id": 584 + } + }, + { + "ingredients": [ + 577, + 592, + 592 + ], + "result": { + "count": 3, + "id": 584 + } + }, + { + "ingredients": [ + 107 + ], + "result": { + "count": 1, + "id": 584 + } + }, + { + "ingredients": [ + 105 + ], + "result": { + "count": 1, + "id": 584 + } + } + ], + "585": [ + { + "ingredients": [ + 577, + 592 + ], + "result": { + "count": 2, + "id": 585 + } + } + ], + "586": [ + { + "ingredients": [ + 308 + ], + "result": { + "count": 2, + "id": 586 + } + }, + { + "ingredients": [ + 106 + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "ingredients": [ + 578, + 592 + ], + "result": { + "count": 2, + "id": 586 + } + } + ], + "587": [ + { + "ingredients": [ + 579, + 592 + ], + "result": { + "count": 2, + "id": 587 + } + } + ], + "588": [ + { + "ingredients": [ + 98 + ], + "result": { + "count": 1, + "id": 588 + } + }, + { + "ingredients": [ + 305 + ], + "result": { + "count": 2, + "id": 588 + } + } + ], + "589": [ + { + "ingredients": [ + 100 + ], + "result": { + "count": 1, + "id": 589 + } + }, + { + "ingredients": [ + 581, + 592 + ], + "result": { + "count": 2, + "id": 589 + } + } + ], + "590": [ + { + "ingredients": [ + 101 + ], + "result": { + "count": 1, + "id": 590 + } + }, + { + "ingredients": [ + 581, + 578, + 578, + 592 + ], + "result": { + "count": 4, + "id": 590 + } + }, + { + "ingredients": [ + 581, + 578, + 586 + ], + "result": { + "count": 3, + "id": 590 + } + }, + { + "ingredients": [ + 306 + ], + "result": { + "count": 2, + "id": 590 + } + }, + { + "ingredients": [ + 582, + 586 + ], + "result": { + "count": 2, + "id": 590 + } + } + ], + "591": [ + { + "ingredients": [ + 104 + ], + "result": { + "count": 1, + "id": 591 + } + }, + { + "ingredients": [ + 578, + 588 + ], + "result": { + "count": 2, + "id": 591 + } + } + ], + "592": [ + { + "ingredients": [ + 593 + ], + "result": { + "count": 3, + "id": 592 + } + }, + { + "ingredients": [ + 359 + ], + "result": { + "count": 9, + "id": 592 + } + } + ], + "594": [ + { + "ingredients": [ + 558 + ], + "result": { + "count": 1, + "id": 594 + } + } + ], + "595": [ + { + "inShape": [ + [ + 513, + 513, + 513 + ], + [ + 594, + 566, + 594 + ], + [ + 551, + 551, + 551 + ] + ], + "result": { + "count": 1, + "id": 595 + } + } + ], + "596": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 596 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 596 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 596 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 596 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 596 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 596 + } + } + ], + "597": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 597 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 597 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 597 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 597 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 597 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 597 + } + }, + { + "ingredients": [ + 596, + 591 + ], + "result": { + "count": 1, + "id": 597 + } + } + ], + "598": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 598 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 598 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 598 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 598 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 598 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 598 + } + }, + { + "ingredients": [ + 596, + 590 + ], + "result": { + "count": 1, + "id": 598 + } + } + ], + "599": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 599 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 599 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 599 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 599 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 599 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 599 + } + }, + { + "ingredients": [ + 596, + 589 + ], + "result": { + "count": 1, + "id": 599 + } + } + ], + "600": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 600 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 600 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 600 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 600 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 600 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 600 + } + }, + { + "ingredients": [ + 596, + 588 + ], + "result": { + "count": 1, + "id": 600 + } + } + ], + "601": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 601 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 601 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 601 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 601 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 601 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 601 + } + }, + { + "ingredients": [ + 596, + 587 + ], + "result": { + "count": 1, + "id": 601 + } + } + ], + "602": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 602 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 602 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 602 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 602 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 602 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 602 + } + }, + { + "ingredients": [ + 596, + 586 + ], + "result": { + "count": 1, + "id": 602 + } + } + ], + "603": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 603 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 603 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 603 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 603 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 603 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 603 + } + }, + { + "ingredients": [ + 596, + 585 + ], + "result": { + "count": 1, + "id": 603 + } + } + ], + "604": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 604 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 604 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 604 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 604 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 604 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 604 + } + }, + { + "ingredients": [ + 596, + 584 + ], + "result": { + "count": 1, + "id": 604 + } + } + ], + "605": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 605 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 605 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 605 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 605 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 605 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 605 + } + }, + { + "ingredients": [ + 596, + 583 + ], + "result": { + "count": 1, + "id": 605 + } + } + ], + "606": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 606 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 606 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 606 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 606 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 606 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 606 + } + }, + { + "ingredients": [ + 596, + 582 + ], + "result": { + "count": 1, + "id": 606 + } + } + ], + "607": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 607 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 607 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 607 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 607 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 607 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 607 + } + }, + { + "ingredients": [ + 596, + 581 + ], + "result": { + "count": 1, + "id": 607 + } + } + ], + "608": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 608 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 608 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 608 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 608 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 608 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 608 + } + }, + { + "ingredients": [ + 596, + 580 + ], + "result": { + "count": 1, + "id": 608 + } + } + ], + "609": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 609 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 609 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 609 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 609 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 609 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 609 + } + }, + { + "ingredients": [ + 596, + 579 + ], + "result": { + "count": 1, + "id": 609 + } + } + ], + "610": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 610 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 610 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 610 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 610 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 610 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 610 + } + }, + { + "ingredients": [ + 596, + 578 + ], + "result": { + "count": 1, + "id": 610 + } + } + ], + "611": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 611 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 611 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 611 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 611 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 611 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 611 + } + }, + { + "ingredients": [ + 596, + 577 + ], + "result": { + "count": 1, + "id": 611 + } + } + ], + "612": [ + { + "inShape": [ + [ + 513, + 580, + 513 + ] + ], + "result": { + "count": 8, + "id": 612 + } + } + ], + "614": [ + { + "inShape": [ + [ + 482, + null + ], + [ + null, + 482 + ] + ], + "result": { + "count": 1, + "id": 614 + } + } + ], + "616": [ + { + "ingredients": [ + 560 + ], + "result": { + "count": 9, + "id": 616 + } + } + ], + "617": [ + { + "ingredients": [ + 181 + ], + "result": { + "count": 4, + "id": 617 + } + } + ], + "618": [ + { + "ingredients": [ + 615 + ], + "result": { + "count": 1, + "id": 618 + } + } + ], + "627": [ + { + "ingredients": [ + 483 + ], + "result": { + "count": 9, + "id": 627 + } + } + ], + "630": [ + { + "inShape": [ + [ + null, + 64, + null + ], + [ + 64, + null, + 64 + ] + ], + "result": { + "count": 3, + "id": 630 + } + } + ], + "632": [ + { + "ingredients": [ + 631, + 108, + 594 + ], + "result": { + "count": 1, + "id": 632 + } + } + ], + "633": [ + { + "ingredients": [ + 625 + ], + "result": { + "count": 2, + "id": 633 + } + } + ], + "634": [ + { + "ingredients": [ + 633, + 563 + ], + "result": { + "count": 1, + "id": 634 + } + } + ], + "635": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + null, + 625, + null + ] + ], + "result": { + "count": 1, + "id": 635 + } + } + ], + "636": [ + { + "inShape": [ + [ + 482, + 482, + 482 + ], + [ + 482, + null, + 482 + ], + [ + 482, + null, + 482 + ] + ], + "result": { + "count": 1, + "id": 636 + } + } + ], + "637": [ + { + "ingredients": [ + 624, + 633 + ], + "result": { + "count": 1, + "id": 637 + } + } + ], + "638": [ + { + "inShape": [ + [ + 627, + 627, + 627 + ], + [ + 627, + 615, + 627 + ], + [ + 627, + 627, + 627 + ] + ], + "result": { + "count": 1, + "id": 638 + } + } + ], + "691": [ + { + "ingredients": [ + 506, + 633, + 479 + ], + "result": { + "count": 3, + "id": 691 + } + }, + { + "ingredients": [ + 506, + 633, + 480 + ], + "result": { + "count": 3, + "id": 691 + } + } + ], + "692": [ + { + "ingredients": [ + 562, + 577, + 505 + ], + "result": { + "count": 1, + "id": 692 + } + } + ], + "694": [ + { + "ingredients": [ + 233 + ], + "result": { + "count": 9, + "id": 694 + } + } + ], + "695": [ + { + "inShape": [ + [ + 497, + 497, + 497 + ], + [ + 497, + 550, + 497 + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 695 + } + } + ], + "696": [ + { + "inShape": [ + [ + null, + 556, + null + ], + [ + 556, + null, + 556 + ] + ], + "result": { + "count": 1, + "id": 696 + } + } + ], + "701": [ + { + "inShape": [ + [ + 561, + 561, + 561 + ], + [ + 561, + 567, + 561 + ], + [ + 561, + 561, + 561 + ] + ], + "result": { + "count": 1, + "id": 701 + } + } + ], + "702": [ + { + "inShape": [ + [ + 627, + 627, + 627 + ], + [ + 627, + 697, + 627 + ], + [ + 627, + 627, + 627 + ] + ], + "result": { + "count": 1, + "id": 702 + } + } + ], + "709": [ + { + "inShape": [ + [ + null, + 697 + ], + [ + 568, + null + ] + ], + "result": { + "count": 1, + "id": 709 + } + } + ], + "711": [ + { + "ingredients": [ + 181, + 594, + 566 + ], + "result": { + "count": 1, + "id": 711 + } + } + ], + "717": [ + { + "inShape": [ + [ + 545 + ], + [ + 136 + ] + ], + "result": { + "count": 1, + "id": 717 + } + } + ], + "718": [ + { + "inShape": [ + [ + 545 + ], + [ + 256 + ] + ], + "result": { + "count": 1, + "id": 718 + } + } + ], + "723": [ + { + "inShape": [ + [ + null, + 498, + null + ], + [ + 697, + 699, + 108 + ], + [ + null, + 722, + null + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + null, + 498, + null + ], + [ + 697, + 699, + 109 + ], + [ + null, + 722, + null + ] + ], + "result": { + "count": 1, + "id": 723 + } + } + ], + "726": [ + { + "inShape": [ + [ + 497, + 118, + 497 + ], + [ + null, + 497, + null + ], + [ + 497, + 497, + 497 + ] + ], + "result": { + "count": 1, + "id": 726 + } + } + ], + "730": [ + { + "inShape": [ + [ + null, + null, + 504 + ], + [ + 504, + 563, + null + ], + [ + 504, + 504, + null + ] + ], + "result": { + "count": 2, + "id": 730 + } + } + ], + "735": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 82, + 82, + 82 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 735 + } + } + ], + "736": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 83, + 83, + 83 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 736 + } + } + ], + "737": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 84, + 84, + 84 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 737 + } + } + ], + "738": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 85, + 85, + 85 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 738 + } + } + ], + "739": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 86, + 86, + 86 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 739 + } + } + ], + "740": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 87, + 87, + 87 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 740 + } + } + ], + "741": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 88, + 88, + 88 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 741 + } + } + ], + "742": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 89, + 89, + 89 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 742 + } + } + ], + "743": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 90, + 90, + 90 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 743 + } + } + ], + "744": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 91, + 91, + 91 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 744 + } + } + ], + "745": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 92, + 92, + 92 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 745 + } + } + ], + "746": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 93, + 93, + 93 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 746 + } + } + ], + "747": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 94, + 94, + 94 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 747 + } + } + ], + "748": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 95, + 95, + 95 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 748 + } + } + ], + "749": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 96, + 96, + 96 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 749 + } + } + ], + "750": [ + { + "inShape": [ + [ + null, + 497, + null + ], + [ + 97, + 97, + 97 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 750 + } + } + ], + "751": [ + { + "inShape": [ + [ + 64, + 626, + 64 + ], + [ + 64, + 637, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 751 + } + } + ], + "756": [ + { + "inShape": [ + [ + null, + 498, + null + ], + [ + 754, + 754, + 754 + ], + [ + 754, + 754, + 754 + ] + ], + "result": { + "count": 1, + "id": 756 + } + } + ], + "759": [ + { + "inShape": [ + [ + null, + 570, + null + ], + [ + 570, + 478, + 570 + ], + [ + null, + 570, + null + ] + ], + "result": { + "count": 2, + "id": 759 + } + } + ], + "762": [ + { + "inShape": [ + [ + null, + 13, + null + ], + [ + 13, + 13, + 13 + ], + [ + 13, + 482, + 13 + ] + ], + "result": { + "count": 1, + "id": 762 + } + }, + { + "inShape": [ + [ + null, + 14, + null + ], + [ + 14, + 14, + 14 + ], + [ + 14, + 482, + 14 + ] + ], + "result": { + "count": 1, + "id": 762 + } + }, + { + "inShape": [ + [ + null, + 15, + null + ], + [ + 15, + 15, + 15 + ], + [ + 15, + 482, + 15 + ] + ], + "result": { + "count": 1, + "id": 762 + } + }, + { + "inShape": [ + [ + null, + 16, + null + ], + [ + 16, + 16, + 16 + ], + [ + 16, + 482, + 16 + ] + ], + "result": { + "count": 1, + "id": 762 + } + }, + { + "inShape": [ + [ + null, + 17, + null + ], + [ + 17, + 17, + 17 + ], + [ + 17, + 482, + 17 + ] + ], + "result": { + "count": 1, + "id": 762 + } + }, + { + "inShape": [ + [ + null, + 18, + null + ], + [ + 18, + 18, + 18 + ], + [ + 18, + 482, + 18 + ] + ], + "result": { + "count": 1, + "id": 762 + } + } + ], + "764": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + null, + 14 + ] + ], + "result": { + "count": 1, + "id": 764 + } + } + ], + "765": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + null, + 15 + ] + ], + "result": { + "count": 1, + "id": 765 + } + } + ], + "766": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + null, + 16 + ] + ], + "result": { + "count": 1, + "id": 766 + } + } + ], + "767": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + null, + 17 + ] + ], + "result": { + "count": 1, + "id": 767 + } + } + ], + "768": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + null, + 18 + ] + ], + "result": { + "count": 1, + "id": 768 + } + } + ], + "771": [ + { + "ingredients": [ + 482 + ], + "result": { + "count": 9, + "id": 771 + } + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/version.json new file mode 100644 index 00000000..e7f8225f --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.13.2", + "version": 404, + "majorVersion": "1.13" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/windows.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/windows.json new file mode 100644 index 00000000..37bdcb69 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13.2/windows.json @@ -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 + } + ] + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/biomes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/biomes.json new file mode 100644 index 00000000..1249e7a5 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/biomes.json @@ -0,0 +1,513 @@ +[ + { + "id": 0, + "name": "ocean", + "displayName": "Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 1, + "name": "plains", + "displayName": "Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 2, + "name": "desert", + "displayName": "Desert", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 3, + "name": "mountains", + "displayName": "Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 4, + "name": "forest", + "displayName": "Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 5, + "name": "taiga", + "displayName": "Taiga", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 6, + "name": "swamp", + "displayName": "Swamp", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 7, + "name": "river", + "displayName": "River", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 8, + "name": "nether", + "displayName": "Nether", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 9, + "name": "the_end", + "displayName": "The End", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 10, + "name": "frozen_ocean", + "displayName": "Frozen Ocean", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 11, + "name": "frozen_river", + "displayName": "Frozen River", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 12, + "name": "snowy_tundra", + "displayName": "Snowy Tundra", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 13, + "name": "snowy_mountains", + "displayName": "Snowy Mountains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 14, + "name": "mushroom_fields", + "displayName": "Mushroom Fields", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 15, + "name": "mushroom_field_shore", + "displayName": "Mushroom Field Shore", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 16, + "name": "beach", + "displayName": "Beach", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 17, + "name": "desert_hills", + "displayName": "Desert Hills", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 18, + "name": "wooded_hills", + "displayName": "Wooded Hills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 19, + "name": "taiga_hills", + "displayName": "Taiga Hills", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 20, + "name": "mountain_edge", + "displayName": "Mountain Edge", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 21, + "name": "jungle", + "displayName": "Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 22, + "name": "jungle_hills", + "displayName": "Jungle Hills", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 23, + "name": "jungle_edge", + "displayName": "Jungle Edge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 24, + "name": "deep_ocean", + "displayName": "Deep Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 25, + "name": "stone_shore", + "displayName": "Stone Shore", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 26, + "name": "snowy_beach", + "displayName": "Snowy Beach", + "rainfall": 0.3, + "temperature": 0.05 + }, + { + "id": 27, + "name": "birch_forest", + "displayName": "Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 28, + "name": "birch_forest_hills", + "displayName": "Birch Forest Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 29, + "name": "dark_forest", + "displayName": "Dark Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 30, + "name": "snowy_taiga", + "displayName": "Snowy Taiga", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 31, + "name": "snowy_taiga_hills", + "displayName": "Snowy Taiga Hills", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 32, + "name": "giant_tree_taiga", + "displayName": "Giant Tree Taiga", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 33, + "name": "giant_tree_taiga_hills", + "displayName": "Giant Tree Taiga Hills", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 34, + "name": "wooded_mountains", + "displayName": "Wooded Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 35, + "name": "savanna", + "displayName": "Savanna", + "rainfall": 0, + "temperature": 1.2 + }, + { + "id": 36, + "name": "savanna_plateau", + "displayName": "Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 37, + "name": "badlands", + "displayName": "Badlands", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 38, + "name": "wooded_badlands_plateau", + "displayName": "Wooded Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 39, + "name": "badlands_plateau", + "displayName": "Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 40, + "name": "small_end_islands", + "displayName": "Small End Islands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 41, + "name": "end_midlands", + "displayName": "End Midlands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 42, + "name": "end_highlands", + "displayName": "End Highlands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 43, + "name": "end_barrens", + "displayName": "End Barrens", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 44, + "name": "warm_ocean", + "displayName": "Warm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 45, + "name": "lukewarm_ocean", + "displayName": "Lukewarm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 46, + "name": "cold_ocean", + "displayName": "Cold Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 47, + "name": "deep_warm_ocean", + "displayName": "Deep Warm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 48, + "name": "deep_lukewarm_ocean", + "displayName": "Deep Lukewarm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 49, + "name": "deep_cold_ocean", + "displayName": "Deep Cold Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 50, + "name": "deep_frozen_ocean", + "displayName": "Deep Frozen Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 127, + "name": "the_void", + "displayName": "The Void", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 129, + "name": "sunflower_plains", + "displayName": "Sunflower Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 130, + "name": "desert_lakes", + "displayName": "Desert Lakes", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 131, + "name": "gravelly_mountains", + "displayName": "Gravelly Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 132, + "name": "flower_forest", + "displayName": "Flower Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 133, + "name": "taiga_mountains", + "displayName": "Taiga Mountains", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 134, + "name": "swamp_hills", + "displayName": "Swamp Hills", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 140, + "name": "ice_spikes", + "displayName": "Ice Spikes", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 149, + "name": "modified_jungle", + "displayName": "Modified Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 151, + "name": "modified_jungle_edge", + "displayName": "Modified Jungle Edge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 155, + "name": "tall_birch_forest", + "displayName": "Tall Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 156, + "name": "tall_birch_hills", + "displayName": "Tall Birch Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 157, + "name": "dark_forest_hills", + "displayName": "Dark Forest Hills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 158, + "name": "snowy_taiga_mountains", + "displayName": "Snowy Taiga Mountains", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 160, + "name": "giant_spruce_taiga", + "displayName": "Giant Spruce Taiga", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 161, + "name": "giant_spruce_taiga_hills", + "displayName": "Giant Spruce Taiga Hills", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 162, + "name": "modified_gravelly_mountains", + "displayName": "Gravelly Mountains+", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 163, + "name": "shattered_savanna", + "displayName": "Shattered Savanna", + "rainfall": 0, + "temperature": 1.1 + }, + { + "id": 164, + "name": "shattered_savanna_plateau", + "displayName": "Shattered Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 165, + "name": "eroded_badlands", + "displayName": "Eroded Badlands", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 166, + "name": "modified_wooded_badlands_plateau", + "displayName": "Modified Wooded Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 167, + "name": "modified_badlands_plateau", + "displayName": "Modified Badlands Plateau", + "rainfall": 0, + "temperature": 2 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/blockCollisionShapes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/blockCollisionShapes.json new file mode 100644 index 00000000..4b80cbfe --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/blockCollisionShapes.json @@ -0,0 +1,838 @@ +{"blocks":{"air":0, +"stone":1, +"granite":1, +"polished_granite":1, +"diorite":1, +"polished_diorite":1, +"andesite":1, +"polished_andesite":1, +"grass_block":1, +"dirt":1, +"coarse_dirt":1, +"podzol":1, +"cobblestone":1, +"oak_planks":1, +"spruce_planks":1, +"birch_planks":1, +"jungle_planks":1, +"acacia_planks":1, +"dark_oak_planks":1, +"oak_sapling":0, +"spruce_sapling":0, +"birch_sapling":0, +"jungle_sapling":0, +"acacia_sapling":0, +"dark_oak_sapling":0, +"bedrock":1, +"water":0, +"lava":0, +"sand":1, +"red_sand":1, +"gravel":1, +"gold_ore":1, +"iron_ore":1, +"coal_ore":1, +"oak_log":1, +"spruce_log":1, +"birch_log":1, +"jungle_log":1, +"acacia_log":1, +"dark_oak_log":1, +"stripped_spruce_log":1, +"stripped_birch_log":1, +"stripped_jungle_log":1, +"stripped_acacia_log":1, +"stripped_dark_oak_log":1, +"stripped_oak_log":1, +"oak_wood":1, +"spruce_wood":1, +"birch_wood":1, +"jungle_wood":1, +"acacia_wood":1, +"dark_oak_wood":1, +"stripped_oak_wood":1, +"stripped_spruce_wood":1, +"stripped_birch_wood":1, +"stripped_jungle_wood":1, +"stripped_acacia_wood":1, +"stripped_dark_oak_wood":1, +"oak_leaves":1, +"spruce_leaves":1, +"birch_leaves":1, +"jungle_leaves":1, +"acacia_leaves":1, +"dark_oak_leaves":1, +"sponge":1, +"wet_sponge":1, +"glass":1, +"lapis_ore":1, +"lapis_block":1, +"dispenser":1, +"sandstone":1, +"chiseled_sandstone":1, +"cut_sandstone":1, +"note_block":1, +"white_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"orange_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"magenta_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"light_blue_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"yellow_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"lime_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"pink_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"gray_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"light_gray_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"cyan_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"purple_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"blue_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"brown_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"green_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"red_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"black_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"powered_rail":0, +"detector_rail":0, +"sticky_piston":[6,7,8,9,10,11,1,1,1,1,1,1], +"cobweb":0, +"grass":0, +"fern":0, +"dead_bush":0, +"seagrass":0, +"tall_seagrass":0, +"piston":[6,7,8,9,10,11,1,1,1,1,1,1], +"piston_head":[13,13,12,12,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23], +"white_wool":1, +"orange_wool":1, +"magenta_wool":1, +"light_blue_wool":1, +"yellow_wool":1, +"lime_wool":1, +"pink_wool":1, +"gray_wool":1, +"light_gray_wool":1, +"cyan_wool":1, +"purple_wool":1, +"blue_wool":1, +"brown_wool":1, +"green_wool":1, +"red_wool":1, +"black_wool":1, +"moving_piston":0, +"dandelion":0, +"poppy":0, +"blue_orchid":0, +"allium":0, +"azure_bluet":0, +"red_tulip":0, +"orange_tulip":0, +"white_tulip":0, +"pink_tulip":0, +"oxeye_daisy":0, +"brown_mushroom":0, +"red_mushroom":0, +"gold_block":1, +"iron_block":1, +"bricks":1, +"tnt":1, +"bookshelf":1, +"mossy_cobblestone":1, +"obsidian":1, +"torch":0, +"wall_torch":0, +"fire":0, +"spawner":1, +"oak_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"chest":[48,48,49,49,50,50,48,48,50,50,49,49,48,48,51,51,52,52,48,48,52,52,51,51], +"redstone_wire":0, +"diamond_ore":1, +"diamond_block":1, +"crafting_table":1, +"wheat":0, +"farmland":53, +"furnace":1, +"sign":0, +"oak_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"ladder":[54,54,57,57,56,56,55,55], +"rail":0, +"cobblestone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"wall_sign":0, +"lever":0, +"stone_pressure_plate":0, +"iron_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"oak_pressure_plate":0, +"spruce_pressure_plate":0, +"birch_pressure_plate":0, +"jungle_pressure_plate":0, +"acacia_pressure_plate":0, +"dark_oak_pressure_plate":0, +"redstone_ore":1, +"redstone_torch":0, +"redstone_wall_torch":0, +"stone_button":0, +"snow":[0,58,59,60,61,62,10,63], +"ice":1, +"snow_block":1, +"cactus":64, +"clay":1, +"sugar_cane":0, +"jukebox":1, +"oak_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"pumpkin":1, +"netherrack":1, +"soul_sand":63, +"glowstone":1, +"nether_portal":0, +"carved_pumpkin":1, +"jack_o_lantern":1, +"cake":[81,82,83,84,85,86,87], +"repeater":58, +"white_stained_glass":1, +"orange_stained_glass":1, +"magenta_stained_glass":1, +"light_blue_stained_glass":1, +"yellow_stained_glass":1, +"lime_stained_glass":1, +"pink_stained_glass":1, +"gray_stained_glass":1, +"light_gray_stained_glass":1, +"cyan_stained_glass":1, +"purple_stained_glass":1, +"blue_stained_glass":1, +"brown_stained_glass":1, +"green_stained_glass":1, +"red_stained_glass":1, +"black_stained_glass":1, +"oak_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"spruce_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"birch_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"jungle_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"acacia_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"dark_oak_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"stone_bricks":1, +"mossy_stone_bricks":1, +"cracked_stone_bricks":1, +"chiseled_stone_bricks":1, +"infested_stone":1, +"infested_cobblestone":1, +"infested_stone_bricks":1, +"infested_mossy_stone_bricks":1, +"infested_cracked_stone_bricks":1, +"infested_chiseled_stone_bricks":1, +"brown_mushroom_block":1, +"red_mushroom_block":1, +"mushroom_stem":1, +"iron_bars":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"melon":1, +"attached_pumpkin_stem":0, +"attached_melon_stem":0, +"pumpkin_stem":0, +"melon_stem":0, +"vine":0, +"oak_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"stone_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"mycelium":1, +"lily_pad":106, +"nether_bricks":1, +"nether_brick_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"nether_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"nether_wart":0, +"enchanting_table":10, +"brewing_stand":107, +"cauldron":108, +"end_portal":0, +"end_portal_frame":[110,110,110,110,109,109,109,109], +"end_stone":1, +"dragon_egg":111, +"redstone_lamp":1, +"cocoa":[112,113,114,115,116,117,118,119,120,121,122,123], +"sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"emerald_ore":1, +"ender_chest":48, +"tripwire_hook":0, +"tripwire":0, +"emerald_block":1, +"spruce_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"birch_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"jungle_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"command_block":1, +"beacon":1, +"cobblestone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"mossy_cobblestone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"flower_pot":156, +"potted_oak_sapling":156, +"potted_spruce_sapling":156, +"potted_birch_sapling":156, +"potted_jungle_sapling":156, +"potted_acacia_sapling":156, +"potted_dark_oak_sapling":156, +"potted_fern":156, +"potted_dandelion":156, +"potted_poppy":156, +"potted_blue_orchid":156, +"potted_allium":156, +"potted_azure_bluet":156, +"potted_red_tulip":156, +"potted_orange_tulip":156, +"potted_white_tulip":156, +"potted_pink_tulip":156, +"potted_oxeye_daisy":156, +"potted_red_mushroom":156, +"potted_brown_mushroom":156, +"potted_dead_bush":156, +"potted_cactus":156, +"carrots":0, +"potatoes":0, +"oak_button":0, +"spruce_button":0, +"birch_button":0, +"jungle_button":0, +"acacia_button":0, +"dark_oak_button":0, +"skeleton_skull":157, +"skeleton_wall_skull":[158,159,160,161], +"wither_skeleton_skull":157, +"wither_skeleton_wall_skull":[158,159,160,161], +"zombie_head":157, +"zombie_wall_head":[158,159,160,161], +"player_head":157, +"player_wall_head":[158,159,160,161], +"creeper_head":157, +"creeper_wall_head":[158,159,160,161], +"dragon_head":157, +"dragon_wall_head":[158,159,160,161], +"anvil":[162,162,163,163], +"chipped_anvil":[162,162,163,163], +"damaged_anvil":[162,162,163,163], +"trapped_chest":[48,48,49,49,50,50,48,48,50,50,49,49,48,48,51,51,52,52,48,48,52,52,51,51], +"light_weighted_pressure_plate":0, +"heavy_weighted_pressure_plate":0, +"comparator":58, +"daylight_detector":60, +"redstone_block":1, +"nether_quartz_ore":1, +"hopper":[164,165,166,167,168,164,165,166,167,168], +"quartz_block":1, +"chiseled_quartz_block":1, +"quartz_pillar":1, +"quartz_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"activator_rail":0, +"dropper":1, +"white_terracotta":1, +"orange_terracotta":1, +"magenta_terracotta":1, +"light_blue_terracotta":1, +"yellow_terracotta":1, +"lime_terracotta":1, +"pink_terracotta":1, +"gray_terracotta":1, +"light_gray_terracotta":1, +"cyan_terracotta":1, +"purple_terracotta":1, +"blue_terracotta":1, +"brown_terracotta":1, +"green_terracotta":1, +"red_terracotta":1, +"black_terracotta":1, +"white_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"orange_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"magenta_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"light_blue_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"yellow_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"lime_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"pink_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"gray_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"light_gray_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"cyan_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"purple_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"blue_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"brown_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"green_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"red_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"black_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"acacia_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"dark_oak_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"slime_block":1, +"barrier":1, +"iron_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"prismarine":1, +"prismarine_bricks":1, +"dark_prismarine":1, +"prismarine_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"prismarine_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"dark_prismarine_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"prismarine_slab":[169,169,61,61,1,1], +"prismarine_brick_slab":[169,169,61,61,1,1], +"dark_prismarine_slab":[169,169,61,61,1,1], +"sea_lantern":1, +"hay_block":1, +"white_carpet":170, +"orange_carpet":170, +"magenta_carpet":170, +"light_blue_carpet":170, +"yellow_carpet":170, +"lime_carpet":170, +"pink_carpet":170, +"gray_carpet":170, +"light_gray_carpet":170, +"cyan_carpet":170, +"purple_carpet":170, +"blue_carpet":170, +"brown_carpet":170, +"green_carpet":170, +"red_carpet":170, +"black_carpet":170, +"terracotta":1, +"coal_block":1, +"packed_ice":1, +"sunflower":0, +"lilac":0, +"rose_bush":0, +"peony":0, +"tall_grass":0, +"large_fern":0, +"white_banner":0, +"orange_banner":0, +"magenta_banner":0, +"light_blue_banner":0, +"yellow_banner":0, +"lime_banner":0, +"pink_banner":0, +"gray_banner":0, +"light_gray_banner":0, +"cyan_banner":0, +"purple_banner":0, +"blue_banner":0, +"brown_banner":0, +"green_banner":0, +"red_banner":0, +"black_banner":0, +"white_wall_banner":0, +"orange_wall_banner":0, +"magenta_wall_banner":0, +"light_blue_wall_banner":0, +"yellow_wall_banner":0, +"lime_wall_banner":0, +"pink_wall_banner":0, +"gray_wall_banner":0, +"light_gray_wall_banner":0, +"cyan_wall_banner":0, +"purple_wall_banner":0, +"blue_wall_banner":0, +"brown_wall_banner":0, +"green_wall_banner":0, +"red_wall_banner":0, +"black_wall_banner":0, +"red_sandstone":1, +"chiseled_red_sandstone":1, +"cut_red_sandstone":1, +"red_sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"oak_slab":[169,169,61,61,1,1], +"spruce_slab":[169,169,61,61,1,1], +"birch_slab":[169,169,61,61,1,1], +"jungle_slab":[169,169,61,61,1,1], +"acacia_slab":[169,169,61,61,1,1], +"dark_oak_slab":[169,169,61,61,1,1], +"stone_slab":[169,169,61,61,1,1], +"sandstone_slab":[169,169,61,61,1,1], +"petrified_oak_slab":[169,169,61,61,1,1], +"cobblestone_slab":[169,169,61,61,1,1], +"brick_slab":[169,169,61,61,1,1], +"stone_brick_slab":[169,169,61,61,1,1], +"nether_brick_slab":[169,169,61,61,1,1], +"quartz_slab":[169,169,61,61,1,1], +"red_sandstone_slab":[169,169,61,61,1,1], +"purpur_slab":[169,169,61,61,1,1], +"smooth_stone":1, +"smooth_sandstone":1, +"smooth_quartz":1, +"smooth_red_sandstone":1, +"spruce_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"birch_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"jungle_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"acacia_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"dark_oak_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"spruce_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"birch_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"jungle_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"acacia_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"dark_oak_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"spruce_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"birch_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"jungle_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"acacia_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"dark_oak_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"end_rod":[172,173,172,173,171,171], +"chorus_plant":[175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,174], +"chorus_flower":1, +"purpur_block":1, +"purpur_pillar":1, +"purpur_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"end_stone_bricks":1, +"beetroots":0, +"grass_path":53, +"end_gateway":0, +"repeating_command_block":1, +"chain_command_block":1, +"frosted_ice":1, +"magma_block":1, +"nether_wart_block":1, +"red_nether_bricks":1, +"bone_block":1, +"structure_void":0, +"observer":1, +"shulker_box":1, +"white_shulker_box":1, +"orange_shulker_box":1, +"magenta_shulker_box":1, +"light_blue_shulker_box":1, +"yellow_shulker_box":1, +"lime_shulker_box":1, +"pink_shulker_box":1, +"gray_shulker_box":1, +"light_gray_shulker_box":1, +"cyan_shulker_box":1, +"purple_shulker_box":1, +"blue_shulker_box":1, +"brown_shulker_box":1, +"green_shulker_box":1, +"red_shulker_box":1, +"black_shulker_box":1, +"white_glazed_terracotta":1, +"orange_glazed_terracotta":1, +"magenta_glazed_terracotta":1, +"light_blue_glazed_terracotta":1, +"yellow_glazed_terracotta":1, +"lime_glazed_terracotta":1, +"pink_glazed_terracotta":1, +"gray_glazed_terracotta":1, +"light_gray_glazed_terracotta":1, +"cyan_glazed_terracotta":1, +"purple_glazed_terracotta":1, +"blue_glazed_terracotta":1, +"brown_glazed_terracotta":1, +"green_glazed_terracotta":1, +"red_glazed_terracotta":1, +"black_glazed_terracotta":1, +"white_concrete":1, +"orange_concrete":1, +"magenta_concrete":1, +"light_blue_concrete":1, +"yellow_concrete":1, +"lime_concrete":1, +"pink_concrete":1, +"gray_concrete":1, +"light_gray_concrete":1, +"cyan_concrete":1, +"purple_concrete":1, +"blue_concrete":1, +"brown_concrete":1, +"green_concrete":1, +"red_concrete":1, +"black_concrete":1, +"white_concrete_powder":1, +"orange_concrete_powder":1, +"magenta_concrete_powder":1, +"light_blue_concrete_powder":1, +"yellow_concrete_powder":1, +"lime_concrete_powder":1, +"pink_concrete_powder":1, +"gray_concrete_powder":1, +"light_gray_concrete_powder":1, +"cyan_concrete_powder":1, +"purple_concrete_powder":1, +"blue_concrete_powder":1, +"brown_concrete_powder":1, +"green_concrete_powder":1, +"red_concrete_powder":1, +"black_concrete_powder":1, +"kelp":0, +"kelp_plant":0, +"dried_kelp_block":1, +"turtle_egg":[238,238,238,239,239,239,239,239,239,239,239,239], +"dead_tube_coral_block":1, +"dead_brain_coral_block":1, +"dead_bubble_coral_block":1, +"dead_fire_coral_block":1, +"dead_horn_coral_block":1, +"tube_coral_block":1, +"brain_coral_block":1, +"bubble_coral_block":1, +"fire_coral_block":1, +"horn_coral_block":1, +"tube_coral":0, +"brain_coral":0, +"bubble_coral":0, +"fire_coral":0, +"horn_coral":0, +"dead_tube_coral_fan":0, +"dead_brain_coral_fan":0, +"dead_bubble_coral_fan":0, +"dead_fire_coral_fan":0, +"dead_horn_coral_fan":0, +"tube_coral_fan":0, +"brain_coral_fan":0, +"bubble_coral_fan":0, +"fire_coral_fan":0, +"horn_coral_fan":0, +"dead_tube_coral_wall_fan":0, +"dead_brain_coral_wall_fan":0, +"dead_bubble_coral_wall_fan":0, +"dead_fire_coral_wall_fan":0, +"dead_horn_coral_wall_fan":0, +"tube_coral_wall_fan":0, +"brain_coral_wall_fan":0, +"bubble_coral_wall_fan":0, +"fire_coral_wall_fan":0, +"horn_coral_wall_fan":0, +"sea_pickle":[240,240,241,241,242,242,243,243], +"blue_ice":1, +"conduit":244, +"void_air":0, +"cave_air":0, +"bubble_column":0, +"structure_block":1}, +"shapes":{"0":[], +"1":[[0.0,0.0,0.0,1.0,1.0,1.0]], +"2":[[0.0,0.0,0.8125,0.1875,0.5625,1.0],[0.0,0.1875,0.0,1.0,0.5625,0.8125],[0.1875,0.1875,0.8125,1.0,0.5625,1.0],[0.8125,0.0,0.8125,1.0,0.1875,1.0]], +"3":[[0.0,0.0,0.0,0.1875,0.5625,0.1875],[0.0,0.1875,0.1875,1.0,0.5625,1.0],[0.1875,0.1875,0.0,1.0,0.5625,0.1875],[0.8125,0.0,0.0,1.0,0.1875,0.1875]], +"4":[[0.0,0.0,0.0,0.1875,0.5625,0.1875],[0.0,0.0,0.8125,0.1875,0.5625,1.0],[0.0,0.1875,0.1875,1.0,0.5625,0.8125],[0.1875,0.1875,0.0,1.0,0.5625,0.1875],[0.1875,0.1875,0.8125,1.0,0.5625,1.0]], +"5":[[0.0,0.1875,0.0,1.0,0.5625,1.0],[0.8125,0.0,0.0,1.0,0.1875,0.1875],[0.8125,0.0,0.8125,1.0,0.1875,1.0]], +"6":[[0.0,0.0,0.25,1.0,1.0,1.0]], +"7":[[0.0,0.0,0.0,0.75,1.0,1.0]], +"8":[[0.0,0.0,0.0,1.0,1.0,0.75]], +"9":[[0.25,0.0,0.0,1.0,1.0,1.0]], +"10":[[0.0,0.0,0.0,1.0,0.75,1.0]], +"11":[[0.0,0.25,0.0,1.0,1.0,1.0]], +"12":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]], +"13":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.0]], +"14":[[0.0,0.375,0.375,1.0,0.625,0.625],[0.75,0.0,0.0,1.0,0.375,1.0],[0.75,0.375,0.0,1.0,1.0,0.375],[0.75,0.375,0.625,1.0,1.0,1.0],[0.75,0.625,0.375,1.0,1.0,0.625]], +"15":[[-0.25,0.375,0.375,1.0,0.625,0.625],[0.75,0.0,0.0,1.0,0.375,1.0],[0.75,0.375,0.0,1.0,1.0,0.375],[0.75,0.375,0.625,1.0,1.0,1.0],[0.75,0.625,0.375,1.0,1.0,0.625]], +"16":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,0.0,0.625,0.625,0.75]], +"17":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]], +"18":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.0,0.625,0.625]], +"19":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]], +"20":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,0.0,0.375,0.625,0.75,0.625]], +"21":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]], +"22":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.0,0.625]], +"23":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]], +"24":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"25":[[0.0,0.0,0.0,1.0,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0]], +"26":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.0,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"27":[[0.0,0.0,0.0,1.0,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.0,0.5,1.0,0.5,1.0]], +"28":[[0.0,0.0,0.0,0.5,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"29":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,0.5]], +"30":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"31":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"32":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,0.5]], +"33":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"34":[[0.0,0.0,0.5,1.0,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"35":[[0.0,0.0,0.5,1.0,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.0,0.0,1.0,0.5,0.5]], +"36":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.0,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"37":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.5,1.0,0.5,1.0]], +"38":[[0.0,0.0,0.5,0.5,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"39":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]], +"40":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"41":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0],[0.5,0.5,0.5,1.0,1.0,1.0]], +"42":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.5,1.0,1.0,1.0]], +"43":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,0.5,1.0,1.0]], +"44":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"45":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]], +"46":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]], +"47":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"48":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]], +"49":[[0.0625,0.0,0.0625,1.0,0.875,0.9375]], +"50":[[0.0,0.0,0.0625,0.9375,0.875,0.9375]], +"51":[[0.0625,0.0,0.0,0.9375,0.875,0.9375]], +"52":[[0.0625,0.0,0.0625,0.9375,0.875,1.0]], +"53":[[0.0,0.0,0.0,1.0,0.9375,1.0]], +"54":[[0.0,0.0,0.8125,1.0,1.0,1.0]], +"55":[[0.0,0.0,0.0,0.1875,1.0,1.0]], +"56":[[0.8125,0.0,0.0,1.0,1.0,1.0]], +"57":[[0.0,0.0,0.0,1.0,1.0,0.1875]], +"58":[[0.0,0.0,0.0,1.0,0.125,1.0]], +"59":[[0.0,0.0,0.0,1.0,0.25,1.0]], +"60":[[0.0,0.0,0.0,1.0,0.375,1.0]], +"61":[[0.0,0.0,0.0,1.0,0.5,1.0]], +"62":[[0.0,0.0,0.0,1.0,0.625,1.0]], +"63":[[0.0,0.0,0.0,1.0,0.875,1.0]], +"64":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]], +"65":[[0.375,0.0,0.375,0.625,1.5,0.625]], +"66":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375],[0.375,0.0,0.625,0.625,1.5,1.0]], +"67":[[0.375,0.0,0.0,0.625,1.5,1.0],[0.625,0.0,0.375,1.0,1.5,0.625]], +"68":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375]], +"69":[[0.375,0.0,0.0,0.625,1.5,0.625],[0.625,0.0,0.375,1.0,1.5,0.625]], +"70":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.625,0.625,1.5,1.0]], +"71":[[0.375,0.0,0.375,0.625,1.5,1.0],[0.625,0.0,0.375,1.0,1.5,0.625]], +"72":[[0.0,0.0,0.375,1.0,1.5,0.625]], +"73":[[0.375,0.0,0.375,1.0,1.5,0.625]], +"74":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375],[0.375,0.0,0.625,0.625,1.5,1.0]], +"75":[[0.375,0.0,0.0,0.625,1.5,1.0]], +"76":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375]], +"77":[[0.375,0.0,0.0,0.625,1.5,0.625]], +"78":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.625,0.625,1.5,1.0]], +"79":[[0.375,0.0,0.375,0.625,1.5,1.0]], +"80":[[0.0,0.0,0.375,0.625,1.5,0.625]], +"81":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]], +"82":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]], +"83":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]], +"84":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]], +"85":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]], +"86":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]], +"87":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]], +"88":[[0.0,0.0,0.0,1.0,0.1875,1.0]], +"89":[[0.0,0.8125,0.0,1.0,1.0,1.0]], +"90":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]], +"91":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"92":[[0.4375,0.0,0.0,0.5625,1.0,1.0],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"93":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375]], +"94":[[0.4375,0.0,0.0,0.5625,1.0,0.5625],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"95":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"96":[[0.4375,0.0,0.4375,0.5625,1.0,1.0],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"97":[[0.0,0.0,0.4375,1.0,1.0,0.5625]], +"98":[[0.4375,0.0,0.4375,1.0,1.0,0.5625]], +"99":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"100":[[0.4375,0.0,0.0,0.5625,1.0,1.0]], +"101":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375]], +"102":[[0.4375,0.0,0.0,0.5625,1.0,0.5625]], +"103":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"104":[[0.4375,0.0,0.4375,0.5625,1.0,1.0]], +"105":[[0.0,0.0,0.4375,0.5625,1.0,0.5625]], +"106":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]], +"107":[[0.0625,0.0,0.0625,0.9375,0.125,0.9375],[0.4375,0.125,0.4375,0.5625,0.875,0.5625]], +"108":[[0.0,0.0,0.0,0.125,1.0,0.25],[0.0,0.0,0.75,0.125,1.0,1.0],[0.0,0.1875,0.25,1.0,0.25,0.75],[0.0,0.25,0.25,0.125,1.0,0.75],[0.125,0.0,0.0,0.25,1.0,0.125],[0.125,0.0,0.875,0.25,1.0,1.0],[0.125,0.1875,0.125,1.0,0.25,0.25],[0.125,0.1875,0.75,1.0,0.25,0.875],[0.25,0.1875,0.0,1.0,1.0,0.125],[0.25,0.1875,0.875,1.0,1.0,1.0],[0.75,0.0,0.0,1.0,0.1875,0.125],[0.75,0.0,0.875,1.0,0.1875,1.0],[0.875,0.0,0.125,1.0,0.1875,0.25],[0.875,0.0,0.75,1.0,0.1875,0.875],[0.875,0.25,0.125,1.0,1.0,0.875]], +"109":[[0.0,0.0,0.0,1.0,0.8125,1.0]], +"110":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.25,0.8125,0.25,0.75,1.0,0.75]], +"111":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]], +"112":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]], +"113":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]], +"114":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]], +"115":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]], +"116":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]], +"117":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]], +"118":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]], +"119":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]], +"120":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]], +"121":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]], +"122":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]], +"123":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]], +"124":[[0.25,0.0,0.25,0.75,1.5,0.75]], +"125":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"126":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"127":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"128":[[0.3125,0.0,0.0,0.6875,1.5,1.0],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"129":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"130":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"131":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125]], +"132":[[0.3125,0.0,0.0,0.6875,1.5,0.6875],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"133":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"134":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"135":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"136":[[0.3125,0.0,0.3125,0.6875,1.5,1.0],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"137":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75]], +"138":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"139":[[0.0,0.0,0.3125,1.0,1.5,0.6875]], +"140":[[0.3125,0.0,0.3125,1.0,1.5,0.6875]], +"141":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"142":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"143":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"144":[[0.3125,0.0,0.0,0.6875,1.5,1.0]], +"145":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"146":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"147":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125]], +"148":[[0.3125,0.0,0.0,0.6875,1.5,0.6875]], +"149":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"150":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"151":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"152":[[0.3125,0.0,0.3125,0.6875,1.5,1.0]], +"153":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75]], +"154":[[0.0,0.0,0.3125,0.6875,1.5,0.6875]], +"155":[[0.5,0.0,0.5,0.5,1.5,0.5]], +"156":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]], +"157":[[0.25,0.0,0.25,0.75,0.5,0.75]], +"158":[[0.25,0.25,0.5,0.75,0.75,1.0]], +"159":[[0.25,0.25,0.0,0.75,0.75,0.5]], +"160":[[0.5,0.25,0.25,1.0,0.75,0.75]], +"161":[[0.0,0.25,0.25,0.5,0.75,0.75]], +"162":[[0.125,0.0,0.125,0.875,0.25,0.875],[0.1875,0.625,0.0,0.8125,1.0,1.0],[0.25,0.25,0.1875,0.75,0.3125,0.8125],[0.375,0.3125,0.25,0.625,0.625,0.75]], +"163":[[0.0,0.625,0.1875,1.0,1.0,0.8125],[0.125,0.0,0.125,0.875,0.25,0.875],[0.1875,0.25,0.25,0.8125,0.3125,0.75],[0.25,0.3125,0.375,0.75,0.625,0.625]], +"164":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.0,0.375,0.625,0.25,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"165":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.25,0.0,0.625,0.5,0.25],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"166":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.25,0.75,0.625,0.5,1.0],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"167":[[0.0,0.25,0.375,0.75,0.5,0.625],[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.375],[0.25,0.25,0.625,0.75,0.625,0.75],[0.25,0.5,0.375,0.75,0.625,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"168":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.75,0.25,0.375,1.0,0.5,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"169":[[0.0,0.5,0.0,1.0,1.0,1.0]], +"170":[[0.0,0.0,0.0,1.0,0.0625,1.0]], +"171":[[0.375,0.0,0.375,0.625,1.0,0.625]], +"172":[[0.375,0.375,0.0,0.625,0.625,1.0]], +"173":[[0.0,0.375,0.375,1.0,0.625,0.625]], +"174":[[0.1875,0.1875,0.1875,0.8125,0.8125,0.8125]], +"175":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"176":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"177":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"178":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"179":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"180":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"181":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"182":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"183":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"184":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"185":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"186":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"187":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"188":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"189":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125]], +"190":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"191":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"192":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"193":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"194":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"195":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"196":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"197":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"198":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"199":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"200":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"201":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"202":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"203":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"204":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125]], +"205":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125]], +"206":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125]], +"207":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"208":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"209":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"210":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"211":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"212":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"213":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"214":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"215":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"216":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"217":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"218":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"219":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"220":[[0.1875,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"221":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125]], +"222":[[0.1875,0.1875,0.1875,1.0,0.8125,0.8125]], +"223":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"224":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"225":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"226":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0]], +"227":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"228":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"229":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"230":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125]], +"231":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"232":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"233":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"234":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0]], +"235":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"236":[[0.1875,0.1875,0.1875,0.8125,1.0,0.8125]], +"237":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125]], +"238":[[0.1875,0.0,0.1875,0.75,0.4375,0.75]], +"239":[[0.0625,0.0,0.0625,0.9375,0.4375,0.9375]], +"240":[[0.375,0.0,0.375,0.625,0.375,0.625]], +"241":[[0.1875,0.0,0.1875,0.8125,0.375,0.8125]], +"242":[[0.125,0.0,0.125,0.875,0.375,0.875]], +"243":[[0.125,0.0,0.125,0.875,0.4375,0.875]], +"244":[[0.3125,0.3125,0.3125,0.6875,0.6875,0.6875]]}} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/blocks.json new file mode 100644 index 00000000..1c46f9b2 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/blocks.json @@ -0,0 +1,18729 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "minStateId": 0, + "maxStateId": 0, + "states": [], + "drops": [ + 0 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "minStateId": 1, + "maxStateId": 1, + "states": [], + "drops": [ + 1 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 1 + }, + { + "id": 2, + "displayName": "Granite", + "name": "granite", + "hardness": 1.5, + "minStateId": 2, + "maxStateId": 2, + "states": [], + "drops": [ + 2 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 2 + }, + { + "id": 3, + "displayName": "Polished Granite", + "name": "polished_granite", + "hardness": 1.5, + "minStateId": 3, + "maxStateId": 3, + "states": [], + "drops": [ + 3 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3 + }, + { + "id": 4, + "displayName": "Diorite", + "name": "diorite", + "hardness": 1.5, + "minStateId": 4, + "maxStateId": 4, + "states": [], + "drops": [ + 4 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 4 + }, + { + "id": 5, + "displayName": "Polished Diorite", + "name": "polished_diorite", + "hardness": 1.5, + "minStateId": 5, + "maxStateId": 5, + "states": [], + "drops": [ + 5 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5 + }, + { + "id": 6, + "displayName": "Andesite", + "name": "andesite", + "hardness": 1.5, + "minStateId": 6, + "maxStateId": 6, + "states": [], + "drops": [ + 6 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 6 + }, + { + "id": 7, + "displayName": "Polished Andesite", + "name": "polished_andesite", + "hardness": 1.5, + "minStateId": 7, + "maxStateId": 7, + "states": [], + "drops": [ + 7 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7 + }, + { + "id": 8, + "displayName": "Grass Block", + "name": "grass_block", + "hardness": 0.6, + "minStateId": 8, + "maxStateId": 9, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 8 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9 + }, + { + "id": 9, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "minStateId": 10, + "maxStateId": 10, + "states": [], + "drops": [ + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 10 + }, + { + "id": 10, + "displayName": "Coarse Dirt", + "name": "coarse_dirt", + "hardness": 0.5, + "minStateId": 11, + "maxStateId": 11, + "states": [], + "drops": [ + 10 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 11 + }, + { + "id": 11, + "displayName": "Podzol", + "name": "podzol", + "hardness": 0.5, + "minStateId": 12, + "maxStateId": 13, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 11 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 13 + }, + { + "id": 12, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "minStateId": 14, + "maxStateId": 14, + "states": [], + "drops": [ + 12 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 14 + }, + { + "id": 13, + "displayName": "Oak Planks", + "name": "oak_planks", + "hardness": 2, + "minStateId": 15, + "maxStateId": 15, + "states": [], + "drops": [ + 13 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15 + }, + { + "id": 14, + "displayName": "Spruce Planks", + "name": "spruce_planks", + "hardness": 2, + "minStateId": 16, + "maxStateId": 16, + "states": [], + "drops": [ + 14 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 16 + }, + { + "id": 15, + "displayName": "Birch Planks", + "name": "birch_planks", + "hardness": 2, + "minStateId": 17, + "maxStateId": 17, + "states": [], + "drops": [ + 15 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 17 + }, + { + "id": 16, + "displayName": "Jungle Planks", + "name": "jungle_planks", + "hardness": 2, + "minStateId": 18, + "maxStateId": 18, + "states": [], + "drops": [ + 16 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 18 + }, + { + "id": 17, + "displayName": "Acacia Planks", + "name": "acacia_planks", + "hardness": 2, + "minStateId": 19, + "maxStateId": 19, + "states": [], + "drops": [ + 17 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 19 + }, + { + "id": 18, + "displayName": "Dark Oak Planks", + "name": "dark_oak_planks", + "hardness": 2, + "minStateId": 20, + "maxStateId": 20, + "states": [], + "drops": [ + 18 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 20 + }, + { + "id": 19, + "displayName": "Oak Sapling", + "name": "oak_sapling", + "hardness": 0, + "minStateId": 21, + "maxStateId": 22, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 19 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 21 + }, + { + "id": 20, + "displayName": "Spruce Sapling", + "name": "spruce_sapling", + "hardness": 0, + "minStateId": 23, + "maxStateId": 24, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 20 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 23 + }, + { + "id": 21, + "displayName": "Birch Sapling", + "name": "birch_sapling", + "hardness": 0, + "minStateId": 25, + "maxStateId": 26, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 21 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 25 + }, + { + "id": 22, + "displayName": "Jungle Sapling", + "name": "jungle_sapling", + "hardness": 0, + "minStateId": 27, + "maxStateId": 28, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 22 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 27 + }, + { + "id": 23, + "displayName": "Acacia Sapling", + "name": "acacia_sapling", + "hardness": 0, + "minStateId": 29, + "maxStateId": 30, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 23 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 29 + }, + { + "id": 24, + "displayName": "Dark Oak Sapling", + "name": "dark_oak_sapling", + "hardness": 0, + "minStateId": 31, + "maxStateId": 32, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 24 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 31 + }, + { + "id": 25, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "minStateId": 33, + "maxStateId": 33, + "states": [], + "drops": [ + 25 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 33 + }, + { + "id": 26, + "displayName": "Water", + "name": "water", + "hardness": 100, + "minStateId": 34, + "maxStateId": 49, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 16 + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 2, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 34 + }, + { + "id": 27, + "displayName": "Lava", + "name": "lava", + "hardness": 100, + "minStateId": 50, + "maxStateId": 65, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 16 + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 50 + }, + { + "id": 28, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "minStateId": 66, + "maxStateId": 66, + "states": [], + "drops": [ + 26 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "material": "dirt", + "defaultState": 66 + }, + { + "id": 29, + "displayName": "Red Sand", + "name": "red_sand", + "hardness": 0.5, + "minStateId": 67, + "maxStateId": 67, + "states": [], + "drops": [ + 27 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "material": "dirt", + "defaultState": 67 + }, + { + "id": 30, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "minStateId": 68, + "maxStateId": 68, + "states": [], + "drops": [ + 28 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 68 + }, + { + "id": 31, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "minStateId": 69, + "maxStateId": 69, + "states": [], + "drops": [ + 29 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "490": true + }, + "defaultState": 69 + }, + { + "id": 32, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "minStateId": 70, + "maxStateId": 70, + "states": [], + "drops": [ + 30 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "486": true, + "490": true + }, + "defaultState": 70 + }, + { + "id": 33, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "minStateId": 71, + "maxStateId": 71, + "states": [], + "drops": [ + 31 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 71 + }, + { + "id": 34, + "displayName": "Oak Log", + "name": "oak_log", + "hardness": 2, + "minStateId": 72, + "maxStateId": 74, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 32 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 73 + }, + { + "id": 35, + "displayName": "Spruce Log", + "name": "spruce_log", + "hardness": 2, + "minStateId": 75, + "maxStateId": 77, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 33 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 76 + }, + { + "id": 36, + "displayName": "Birch Log", + "name": "birch_log", + "hardness": 2, + "minStateId": 78, + "maxStateId": 80, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 34 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 79 + }, + { + "id": 37, + "displayName": "Jungle Log", + "name": "jungle_log", + "hardness": 2, + "minStateId": 81, + "maxStateId": 83, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 35 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 82 + }, + { + "id": 38, + "displayName": "Acacia Log", + "name": "acacia_log", + "hardness": 2, + "minStateId": 84, + "maxStateId": 86, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 36 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 85 + }, + { + "id": 39, + "displayName": "Dark Oak Log", + "name": "dark_oak_log", + "hardness": 2, + "minStateId": 87, + "maxStateId": 89, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 37 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 88 + }, + { + "id": 40, + "displayName": "Stripped Spruce Log", + "name": "stripped_spruce_log", + "hardness": 2, + "minStateId": 90, + "maxStateId": 92, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 39 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 91 + }, + { + "id": 41, + "displayName": "Stripped Birch Log", + "name": "stripped_birch_log", + "hardness": 2, + "minStateId": 93, + "maxStateId": 95, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 40 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 94 + }, + { + "id": 42, + "displayName": "Stripped Jungle Log", + "name": "stripped_jungle_log", + "hardness": 2, + "minStateId": 96, + "maxStateId": 98, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 41 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 97 + }, + { + "id": 43, + "displayName": "Stripped Acacia Log", + "name": "stripped_acacia_log", + "hardness": 2, + "minStateId": 99, + "maxStateId": 101, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 42 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 100 + }, + { + "id": 44, + "displayName": "Stripped Dark Oak Log", + "name": "stripped_dark_oak_log", + "hardness": 2, + "minStateId": 102, + "maxStateId": 104, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 43 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 103 + }, + { + "id": 45, + "displayName": "Stripped Oak Log", + "name": "stripped_oak_log", + "hardness": 2, + "minStateId": 105, + "maxStateId": 107, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 38 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 106 + }, + { + "id": 46, + "displayName": "Oak Wood", + "name": "oak_wood", + "hardness": 2, + "minStateId": 108, + "maxStateId": 110, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 50 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 109 + }, + { + "id": 47, + "displayName": "Spruce Wood", + "name": "spruce_wood", + "hardness": 2, + "minStateId": 111, + "maxStateId": 113, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 51 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 112 + }, + { + "id": 48, + "displayName": "Birch Wood", + "name": "birch_wood", + "hardness": 2, + "minStateId": 114, + "maxStateId": 116, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 52 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 115 + }, + { + "id": 49, + "displayName": "Jungle Wood", + "name": "jungle_wood", + "hardness": 2, + "minStateId": 117, + "maxStateId": 119, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 53 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 118 + }, + { + "id": 50, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "hardness": 2, + "minStateId": 120, + "maxStateId": 122, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 54 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 121 + }, + { + "id": 51, + "displayName": "Dark Oak Wood", + "name": "dark_oak_wood", + "hardness": 2, + "minStateId": 123, + "maxStateId": 125, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 55 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 124 + }, + { + "id": 52, + "displayName": "Stripped Oak Wood", + "name": "stripped_oak_wood", + "hardness": 2, + "minStateId": 126, + "maxStateId": 128, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 44 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 127 + }, + { + "id": 53, + "displayName": "Stripped Spruce Wood", + "name": "stripped_spruce_wood", + "hardness": 2, + "minStateId": 129, + "maxStateId": 131, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 45 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 130 + }, + { + "id": 54, + "displayName": "Stripped Birch Wood", + "name": "stripped_birch_wood", + "hardness": 2, + "minStateId": 132, + "maxStateId": 134, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 46 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 133 + }, + { + "id": 55, + "displayName": "Stripped Jungle Wood", + "name": "stripped_jungle_wood", + "hardness": 2, + "minStateId": 135, + "maxStateId": 137, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 47 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 136 + }, + { + "id": 56, + "displayName": "Stripped Acacia Wood", + "name": "stripped_acacia_wood", + "hardness": 2, + "minStateId": 138, + "maxStateId": 140, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 48 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 139 + }, + { + "id": 57, + "displayName": "Stripped Dark Oak Wood", + "name": "stripped_dark_oak_wood", + "hardness": 2, + "minStateId": 141, + "maxStateId": 143, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 49 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 142 + }, + { + "id": 58, + "displayName": "Oak Leaves", + "name": "oak_leaves", + "hardness": 0.2, + "minStateId": 144, + "maxStateId": 157, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 56 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 157 + }, + { + "id": 59, + "displayName": "Spruce Leaves", + "name": "spruce_leaves", + "hardness": 0.2, + "minStateId": 158, + "maxStateId": 171, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 57 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 171 + }, + { + "id": 60, + "displayName": "Birch Leaves", + "name": "birch_leaves", + "hardness": 0.2, + "minStateId": 172, + "maxStateId": 185, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 58 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 185 + }, + { + "id": 61, + "displayName": "Jungle Leaves", + "name": "jungle_leaves", + "hardness": 0.2, + "minStateId": 186, + "maxStateId": 199, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 59 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 199 + }, + { + "id": 62, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "hardness": 0.2, + "minStateId": 200, + "maxStateId": 213, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 60 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 213 + }, + { + "id": 63, + "displayName": "Dark Oak Leaves", + "name": "dark_oak_leaves", + "hardness": 0.2, + "minStateId": 214, + "maxStateId": 227, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 61 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 227 + }, + { + "id": 64, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "minStateId": 228, + "maxStateId": 228, + "states": [], + "drops": [ + 62 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 228 + }, + { + "id": 65, + "displayName": "Wet Sponge", + "name": "wet_sponge", + "hardness": 0.6, + "minStateId": 229, + "maxStateId": 229, + "states": [], + "drops": [ + 63 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 229 + }, + { + "id": 66, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "minStateId": 230, + "maxStateId": 230, + "states": [], + "drops": [ + 64 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 230 + }, + { + "id": 67, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "hardness": 3, + "minStateId": 231, + "maxStateId": 231, + "states": [], + "drops": [ + 65 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "486": true, + "490": true + }, + "defaultState": 231 + }, + { + "id": 68, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "hardness": 3, + "minStateId": 232, + "maxStateId": 232, + "states": [], + "drops": [ + 66 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "486": true, + "490": true + }, + "defaultState": 232 + }, + { + "id": 69, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "minStateId": 233, + "maxStateId": 244, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "triggered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 67 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 234 + }, + { + "id": 70, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "minStateId": 245, + "maxStateId": 245, + "states": [], + "drops": [ + 68 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 245 + }, + { + "id": 71, + "displayName": "Chiseled Sandstone", + "name": "chiseled_sandstone", + "hardness": 0.8, + "minStateId": 246, + "maxStateId": 246, + "states": [], + "drops": [ + 69 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 246 + }, + { + "id": 72, + "displayName": "Cut Sandstone", + "name": "cut_sandstone", + "hardness": 0.8, + "minStateId": 247, + "maxStateId": 247, + "states": [], + "drops": [ + 70 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 247 + }, + { + "id": 73, + "displayName": "Note Block", + "name": "note_block", + "hardness": 0.8, + "minStateId": 248, + "maxStateId": 747, + "states": [ + { + "name": "instrument", + "type": "enum", + "num_values": 10, + "values": [ + "harp", + "basedrum", + "snare", + "hat", + "bass", + "flute", + "bell", + "guitar", + "chime", + "xylophone" + ] + }, + { + "name": "note", + "type": "int", + "num_values": 25 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 71 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 249 + }, + { + "id": 74, + "displayName": "White Bed", + "name": "white_bed", + "hardness": 0.2, + "minStateId": 748, + "maxStateId": 763, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 591 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 751 + }, + { + "id": 75, + "displayName": "Orange Bed", + "name": "orange_bed", + "hardness": 0.2, + "minStateId": 764, + "maxStateId": 779, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 592 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 767 + }, + { + "id": 76, + "displayName": "Magenta Bed", + "name": "magenta_bed", + "hardness": 0.2, + "minStateId": 780, + "maxStateId": 795, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 593 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 783 + }, + { + "id": 77, + "displayName": "Light Blue Bed", + "name": "light_blue_bed", + "hardness": 0.2, + "minStateId": 796, + "maxStateId": 811, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 594 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 799 + }, + { + "id": 78, + "displayName": "Yellow Bed", + "name": "yellow_bed", + "hardness": 0.2, + "minStateId": 812, + "maxStateId": 827, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 595 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 815 + }, + { + "id": 79, + "displayName": "Lime Bed", + "name": "lime_bed", + "hardness": 0.2, + "minStateId": 828, + "maxStateId": 843, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 596 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 831 + }, + { + "id": 80, + "displayName": "Pink Bed", + "name": "pink_bed", + "hardness": 0.2, + "minStateId": 844, + "maxStateId": 859, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 597 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 847 + }, + { + "id": 81, + "displayName": "Gray Bed", + "name": "gray_bed", + "hardness": 0.2, + "minStateId": 860, + "maxStateId": 875, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 598 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 863 + }, + { + "id": 82, + "displayName": "Light Gray Bed", + "name": "light_gray_bed", + "hardness": 0.2, + "minStateId": 876, + "maxStateId": 891, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 599 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 879 + }, + { + "id": 83, + "displayName": "Cyan Bed", + "name": "cyan_bed", + "hardness": 0.2, + "minStateId": 892, + "maxStateId": 907, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 600 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 895 + }, + { + "id": 84, + "displayName": "Purple Bed", + "name": "purple_bed", + "hardness": 0.2, + "minStateId": 908, + "maxStateId": 923, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 601 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 911 + }, + { + "id": 85, + "displayName": "Blue Bed", + "name": "blue_bed", + "hardness": 0.2, + "minStateId": 924, + "maxStateId": 939, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 602 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 927 + }, + { + "id": 86, + "displayName": "Brown Bed", + "name": "brown_bed", + "hardness": 0.2, + "minStateId": 940, + "maxStateId": 955, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 603 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 943 + }, + { + "id": 87, + "displayName": "Green Bed", + "name": "green_bed", + "hardness": 0.2, + "minStateId": 956, + "maxStateId": 971, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 604 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 959 + }, + { + "id": 88, + "displayName": "Red Bed", + "name": "red_bed", + "hardness": 0.2, + "minStateId": 972, + "maxStateId": 987, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 605 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 975 + }, + { + "id": 89, + "displayName": "Black Bed", + "name": "black_bed", + "hardness": 0.2, + "minStateId": 988, + "maxStateId": 1003, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 606 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 991 + }, + { + "id": 90, + "displayName": "Powered Rail", + "name": "powered_rail", + "hardness": 0.7, + "minStateId": 1004, + "maxStateId": 1015, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 72 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 1010 + }, + { + "id": 91, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "minStateId": 1016, + "maxStateId": 1027, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 73 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 1022 + }, + { + "id": 92, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "hardness": 0.5, + "minStateId": 1028, + "maxStateId": 1039, + "states": [ + { + "name": "extended", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 74 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1034 + }, + { + "id": 93, + "displayName": "Cobweb", + "name": "cobweb", + "hardness": 4, + "minStateId": 1040, + "maxStateId": 1040, + "states": [], + "drops": [ + 75 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "web", + "harvestTools": { + "479": true, + "480": true, + "484": true, + "488": true, + "495": true, + "609": true + }, + "defaultState": 1040 + }, + { + "id": 94, + "displayName": "Grass", + "name": "grass", + "hardness": 0, + "minStateId": 1041, + "maxStateId": 1041, + "states": [], + "drops": [ + 76 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1041 + }, + { + "id": 95, + "displayName": "Fern", + "name": "fern", + "hardness": 0, + "minStateId": 1042, + "maxStateId": 1042, + "states": [], + "drops": [ + 77 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1042 + }, + { + "id": 96, + "displayName": "Dead Bush", + "name": "dead_bush", + "hardness": 0, + "minStateId": 1043, + "maxStateId": 1043, + "states": [], + "drops": [ + 78 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1043 + }, + { + "id": 97, + "displayName": "Seagrass", + "name": "seagrass", + "hardness": 0, + "minStateId": 1044, + "maxStateId": 1044, + "states": [], + "drops": [ + 79 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1044 + }, + { + "id": 98, + "displayName": "Tall Seagrass", + "name": "tall_seagrass", + "hardness": 0, + "minStateId": 1045, + "maxStateId": 1046, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 79 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1046 + }, + { + "id": 99, + "displayName": "Piston", + "name": "piston", + "hardness": 0.5, + "minStateId": 1047, + "maxStateId": 1058, + "states": [ + { + "name": "extended", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 81 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1053 + }, + { + "id": 100, + "displayName": "Piston Head", + "name": "piston_head", + "hardness": 0.5, + "minStateId": 1059, + "maxStateId": 1082, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "short", + "type": "bool", + "num_values": 2 + }, + { + "name": "type", + "type": "enum", + "num_values": 2, + "values": [ + "normal", + "sticky" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1061 + }, + { + "id": 101, + "displayName": "White Wool", + "name": "white_wool", + "hardness": 0.8, + "minStateId": 1083, + "maxStateId": 1083, + "states": [], + "drops": [ + 82 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1083 + }, + { + "id": 102, + "displayName": "Orange Wool", + "name": "orange_wool", + "hardness": 0.8, + "minStateId": 1084, + "maxStateId": 1084, + "states": [], + "drops": [ + 83 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1084 + }, + { + "id": 103, + "displayName": "Magenta Wool", + "name": "magenta_wool", + "hardness": 0.8, + "minStateId": 1085, + "maxStateId": 1085, + "states": [], + "drops": [ + 84 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1085 + }, + { + "id": 104, + "displayName": "Light Blue Wool", + "name": "light_blue_wool", + "hardness": 0.8, + "minStateId": 1086, + "maxStateId": 1086, + "states": [], + "drops": [ + 85 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1086 + }, + { + "id": 105, + "displayName": "Yellow Wool", + "name": "yellow_wool", + "hardness": 0.8, + "minStateId": 1087, + "maxStateId": 1087, + "states": [], + "drops": [ + 86 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1087 + }, + { + "id": 106, + "displayName": "Lime Wool", + "name": "lime_wool", + "hardness": 0.8, + "minStateId": 1088, + "maxStateId": 1088, + "states": [], + "drops": [ + 87 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1088 + }, + { + "id": 107, + "displayName": "Pink Wool", + "name": "pink_wool", + "hardness": 0.8, + "minStateId": 1089, + "maxStateId": 1089, + "states": [], + "drops": [ + 88 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1089 + }, + { + "id": 108, + "displayName": "Gray Wool", + "name": "gray_wool", + "hardness": 0.8, + "minStateId": 1090, + "maxStateId": 1090, + "states": [], + "drops": [ + 89 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1090 + }, + { + "id": 109, + "displayName": "Light Gray Wool", + "name": "light_gray_wool", + "hardness": 0.8, + "minStateId": 1091, + "maxStateId": 1091, + "states": [], + "drops": [ + 90 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1091 + }, + { + "id": 110, + "displayName": "Cyan Wool", + "name": "cyan_wool", + "hardness": 0.8, + "minStateId": 1092, + "maxStateId": 1092, + "states": [], + "drops": [ + 91 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1092 + }, + { + "id": 111, + "displayName": "Purple Wool", + "name": "purple_wool", + "hardness": 0.8, + "minStateId": 1093, + "maxStateId": 1093, + "states": [], + "drops": [ + 92 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1093 + }, + { + "id": 112, + "displayName": "Blue Wool", + "name": "blue_wool", + "hardness": 0.8, + "minStateId": 1094, + "maxStateId": 1094, + "states": [], + "drops": [ + 93 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1094 + }, + { + "id": 113, + "displayName": "Brown Wool", + "name": "brown_wool", + "hardness": 0.8, + "minStateId": 1095, + "maxStateId": 1095, + "states": [], + "drops": [ + 94 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1095 + }, + { + "id": 114, + "displayName": "Green Wool", + "name": "green_wool", + "hardness": 0.8, + "minStateId": 1096, + "maxStateId": 1096, + "states": [], + "drops": [ + 95 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1096 + }, + { + "id": 115, + "displayName": "Red Wool", + "name": "red_wool", + "hardness": 0.8, + "minStateId": 1097, + "maxStateId": 1097, + "states": [], + "drops": [ + 96 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1097 + }, + { + "id": 116, + "displayName": "Black Wool", + "name": "black_wool", + "hardness": 0.8, + "minStateId": 1098, + "maxStateId": 1098, + "states": [], + "drops": [ + 97 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1098 + }, + { + "id": 117, + "displayName": "Moving Piston", + "name": "moving_piston", + "hardness": null, + "minStateId": 1099, + "maxStateId": 1110, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 2, + "values": [ + "normal", + "sticky" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1099 + }, + { + "id": 118, + "displayName": "Dandelion", + "name": "dandelion", + "hardness": 0, + "minStateId": 1111, + "maxStateId": 1111, + "states": [], + "drops": [ + 98 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 1111 + }, + { + "id": 119, + "displayName": "Poppy", + "name": "poppy", + "hardness": 0, + "minStateId": 1112, + "maxStateId": 1112, + "states": [], + "drops": [ + 99 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 1112 + }, + { + "id": 120, + "displayName": "Blue Orchid", + "name": "blue_orchid", + "hardness": 0, + "minStateId": 1113, + "maxStateId": 1113, + "states": [], + "drops": [ + 100 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1113 + }, + { + "id": 121, + "displayName": "Allium", + "name": "allium", + "hardness": 0, + "minStateId": 1114, + "maxStateId": 1114, + "states": [], + "drops": [ + 101 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 1114 + }, + { + "id": 122, + "displayName": "Azure Bluet", + "name": "azure_bluet", + "hardness": 0, + "minStateId": 1115, + "maxStateId": 1115, + "states": [], + "drops": [ + 102 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 1115 + }, + { + "id": 123, + "displayName": "Red Tulip", + "name": "red_tulip", + "hardness": 0, + "minStateId": 1116, + "maxStateId": 1116, + "states": [], + "drops": [ + 103 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1116 + }, + { + "id": 124, + "displayName": "Orange Tulip", + "name": "orange_tulip", + "hardness": 0, + "minStateId": 1117, + "maxStateId": 1117, + "states": [], + "drops": [ + 104 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1117 + }, + { + "id": 125, + "displayName": "White Tulip", + "name": "white_tulip", + "hardness": 0, + "minStateId": 1118, + "maxStateId": 1118, + "states": [], + "drops": [ + 105 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1118 + }, + { + "id": 126, + "displayName": "Pink Tulip", + "name": "pink_tulip", + "hardness": 0, + "minStateId": 1119, + "maxStateId": 1119, + "states": [], + "drops": [ + 106 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1119 + }, + { + "id": 127, + "displayName": "Oxeye Daisy", + "name": "oxeye_daisy", + "hardness": 0, + "minStateId": 1120, + "maxStateId": 1120, + "states": [], + "drops": [ + 107 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 1120 + }, + { + "id": 128, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "minStateId": 1121, + "maxStateId": 1121, + "states": [], + "drops": [ + 108 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 1, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1121 + }, + { + "id": 129, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "minStateId": 1122, + "maxStateId": 1122, + "states": [], + "drops": [ + 109 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 1, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1122 + }, + { + "id": 130, + "displayName": "Block of Gold", + "name": "gold_block", + "hardness": 3, + "minStateId": 1123, + "maxStateId": 1123, + "states": [], + "drops": [ + 110 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "490": true + }, + "defaultState": 1123 + }, + { + "id": 131, + "displayName": "Block of Iron", + "name": "iron_block", + "hardness": 5, + "minStateId": 1124, + "maxStateId": 1124, + "states": [], + "drops": [ + 111 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "486": true, + "490": true + }, + "defaultState": 1124 + }, + { + "id": 132, + "displayName": "Bricks", + "name": "bricks", + "hardness": 2, + "minStateId": 1125, + "maxStateId": 1125, + "states": [], + "drops": [ + 135 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 1125 + }, + { + "id": 133, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "minStateId": 1126, + "maxStateId": 1126, + "states": [], + "drops": [ + 136 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1126 + }, + { + "id": 134, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "minStateId": 1127, + "maxStateId": 1127, + "states": [], + "drops": [ + 137 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 1127 + }, + { + "id": 135, + "displayName": "Mossy Cobblestone", + "name": "mossy_cobblestone", + "hardness": 2, + "minStateId": 1128, + "maxStateId": 1128, + "states": [], + "drops": [ + 138 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 1128 + }, + { + "id": 136, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "minStateId": 1129, + "maxStateId": 1129, + "states": [], + "drops": [ + 139 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "490": true + }, + "defaultState": 1129 + }, + { + "id": 137, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "minStateId": 1130, + "maxStateId": 1130, + "states": [], + "drops": [ + 140 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 14, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1130 + }, + { + "id": 138, + "displayName": "Wall Torch", + "name": "wall_torch", + "hardness": 0, + "minStateId": 1131, + "maxStateId": 1134, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 140 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 14, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1131 + }, + { + "id": 139, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "minStateId": 1135, + "maxStateId": 1646, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 1166 + }, + { + "id": 140, + "displayName": "Spawner", + "name": "spawner", + "hardness": 5, + "minStateId": 1647, + "maxStateId": 1647, + "states": [], + "drops": [ + 147 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 1647 + }, + { + "id": 141, + "displayName": "Oak Stairs", + "name": "oak_stairs", + "hardness": 2, + "minStateId": 1648, + "maxStateId": 1727, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 148 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 1659 + }, + { + "id": 142, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "minStateId": 1728, + "maxStateId": 1751, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "single", + "left", + "right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 149 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 1729 + }, + { + "id": 143, + "displayName": "Redstone Dust", + "name": "redstone_wire", + "hardness": 0, + "minStateId": 1752, + "maxStateId": 3047, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "power", + "type": "int", + "num_values": 16 + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + } + ], + "drops": [ + 542 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 2912 + }, + { + "id": 144, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "minStateId": 3048, + "maxStateId": 3048, + "states": [], + "drops": [ + 150 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "490": true + }, + "defaultState": 3048 + }, + { + "id": 145, + "displayName": "Block of Diamond", + "name": "diamond_block", + "hardness": 5, + "minStateId": 3049, + "maxStateId": 3049, + "states": [], + "drops": [ + 151 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "490": true + }, + "defaultState": 3049 + }, + { + "id": 146, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "minStateId": 3050, + "maxStateId": 3050, + "states": [], + "drops": [ + 152 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3050 + }, + { + "id": 147, + "displayName": "Wheat Crops", + "name": "wheat", + "hardness": 0, + "minStateId": 3051, + "maxStateId": 3058, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 508 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 3051 + }, + { + "id": 148, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "minStateId": 3059, + "maxStateId": 3066, + "states": [ + { + "name": "moisture", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 153 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3059 + }, + { + "id": 149, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "minStateId": 3067, + "maxStateId": 3074, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 154 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 13, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3068 + }, + { + "id": 150, + "displayName": "Sign", + "name": "sign", + "hardness": 1, + "minStateId": 3075, + "maxStateId": 3106, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 536 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3076 + }, + { + "id": 151, + "displayName": "Oak Door", + "name": "oak_door", + "hardness": 3, + "minStateId": 3107, + "maxStateId": 3170, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 456 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3118 + }, + { + "id": 152, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "minStateId": 3171, + "maxStateId": 3178, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 155 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3172 + }, + { + "id": 153, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "minStateId": 3179, + "maxStateId": 3188, + "states": [ + { + "name": "shape", + "type": "enum", + "num_values": 10, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south", + "south_east", + "south_west", + "north_west", + "north_east" + ] + } + ], + "drops": [ + 156 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 3179 + }, + { + "id": 154, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "hardness": 2, + "minStateId": 3189, + "maxStateId": 3268, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 157 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3200 + }, + { + "id": 155, + "displayName": "Wall Sign", + "name": "wall_sign", + "hardness": 1, + "minStateId": 3269, + "maxStateId": 3276, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 536 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3270 + }, + { + "id": 156, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "minStateId": 3277, + "maxStateId": 3300, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 158 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3286 + }, + { + "id": 157, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "minStateId": 3301, + "maxStateId": 3302, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 159 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3302 + }, + { + "id": 158, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "minStateId": 3303, + "maxStateId": 3366, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 455 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3314 + }, + { + "id": 159, + "displayName": "Oak Pressure Plate", + "name": "oak_pressure_plate", + "hardness": 0.5, + "minStateId": 3367, + "maxStateId": 3368, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 160 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3368 + }, + { + "id": 160, + "displayName": "Spruce Pressure Plate", + "name": "spruce_pressure_plate", + "hardness": 0.5, + "minStateId": 3369, + "maxStateId": 3370, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 161 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3370 + }, + { + "id": 161, + "displayName": "Birch Pressure Plate", + "name": "birch_pressure_plate", + "hardness": 0.5, + "minStateId": 3371, + "maxStateId": 3372, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 162 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3372 + }, + { + "id": 162, + "displayName": "Jungle Pressure Plate", + "name": "jungle_pressure_plate", + "hardness": 0.5, + "minStateId": 3373, + "maxStateId": 3374, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 163 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3374 + }, + { + "id": 163, + "displayName": "Acacia Pressure Plate", + "name": "acacia_pressure_plate", + "hardness": 0.5, + "minStateId": 3375, + "maxStateId": 3376, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 164 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3376 + }, + { + "id": 164, + "displayName": "Dark Oak Pressure Plate", + "name": "dark_oak_pressure_plate", + "hardness": 0.5, + "minStateId": 3377, + "maxStateId": 3378, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 165 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3378 + }, + { + "id": 165, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "minStateId": 3379, + "maxStateId": 3380, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 166 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 9, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "490": true + }, + "defaultState": 3380 + }, + { + "id": 166, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "hardness": 0, + "minStateId": 3381, + "maxStateId": 3382, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 167 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 7, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3381 + }, + { + "id": 167, + "displayName": "Redstone Wall Torch", + "name": "redstone_wall_torch", + "hardness": 0, + "minStateId": 3383, + "maxStateId": 3390, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 167 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 7, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3383 + }, + { + "id": 168, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "minStateId": 3391, + "maxStateId": 3414, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 168 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 3400 + }, + { + "id": 169, + "displayName": "Snow", + "name": "snow", + "hardness": 0.1, + "minStateId": 3415, + "maxStateId": 3422, + "states": [ + { + "name": "layers", + "type": "enum", + "num_values": 8, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8" + ] + } + ], + "drops": [ + 169 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "harvestTools": { + "467": true, + "481": true, + "485": true, + "489": true, + "496": true + }, + "defaultState": 3415 + }, + { + "id": 170, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "minStateId": 3423, + "maxStateId": 3423, + "states": [], + "drops": [ + 170 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 3423 + }, + { + "id": 171, + "displayName": "Snow Block", + "name": "snow_block", + "hardness": 0.2, + "minStateId": 3424, + "maxStateId": 3424, + "states": [], + "drops": [ + 171 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "harvestTools": { + "467": true, + "481": true, + "485": true, + "489": true, + "496": true + }, + "defaultState": 3424 + }, + { + "id": 172, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "minStateId": 3425, + "maxStateId": 3440, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 172 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3425 + }, + { + "id": 173, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "minStateId": 3441, + "maxStateId": 3441, + "states": [], + "drops": [ + 173 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3441 + }, + { + "id": 174, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "hardness": 0, + "minStateId": 3442, + "maxStateId": 3457, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 553 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 3442 + }, + { + "id": 175, + "displayName": "Jukebox", + "name": "jukebox", + "hardness": 2, + "minStateId": 3458, + "maxStateId": 3459, + "states": [ + { + "name": "has_record", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 174 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3459 + }, + { + "id": 176, + "displayName": "Oak Fence", + "name": "oak_fence", + "hardness": 2, + "minStateId": 3460, + "maxStateId": 3491, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 175 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3491 + }, + { + "id": 177, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "minStateId": 3492, + "maxStateId": 3492, + "states": [], + "drops": [ + 181 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3492 + }, + { + "id": 178, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "minStateId": 3493, + "maxStateId": 3493, + "states": [], + "drops": [ + 183 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3493 + }, + { + "id": 179, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "minStateId": 3494, + "maxStateId": 3494, + "states": [], + "drops": [ + 184 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3494 + }, + { + "id": 180, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "minStateId": 3495, + "maxStateId": 3495, + "states": [], + "drops": [ + 185 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3495 + }, + { + "id": 181, + "displayName": "Nether Portal", + "name": "nether_portal", + "hardness": null, + "minStateId": 3496, + "maxStateId": 3497, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 2, + "values": [ + "x", + "z" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 11, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 3496 + }, + { + "id": 182, + "displayName": "Carved Pumpkin", + "name": "carved_pumpkin", + "hardness": 1, + "minStateId": 3498, + "maxStateId": 3501, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 182 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3498 + }, + { + "id": 183, + "displayName": "Jack o'Lantern", + "name": "jack_o_lantern", + "hardness": 1, + "minStateId": 3502, + "maxStateId": 3505, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 186 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3502 + }, + { + "id": 184, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "minStateId": 3506, + "maxStateId": 3512, + "states": [ + { + "name": "bites", + "type": "int", + "num_values": 7 + } + ], + "drops": [ + 590 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 3506 + }, + { + "id": 185, + "displayName": "Redstone Repeater", + "name": "repeater", + "hardness": 0, + "minStateId": 3513, + "maxStateId": 3576, + "states": [ + { + "name": "delay", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "locked", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 462 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3516 + }, + { + "id": 186, + "displayName": "White Stained Glass", + "name": "white_stained_glass", + "hardness": 0.3, + "minStateId": 3577, + "maxStateId": 3577, + "states": [], + "drops": [ + 311 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3577 + }, + { + "id": 187, + "displayName": "Orange Stained Glass", + "name": "orange_stained_glass", + "hardness": 0.3, + "minStateId": 3578, + "maxStateId": 3578, + "states": [], + "drops": [ + 312 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3578 + }, + { + "id": 188, + "displayName": "Magenta Stained Glass", + "name": "magenta_stained_glass", + "hardness": 0.3, + "minStateId": 3579, + "maxStateId": 3579, + "states": [], + "drops": [ + 313 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3579 + }, + { + "id": 189, + "displayName": "Light Blue Stained Glass", + "name": "light_blue_stained_glass", + "hardness": 0.3, + "minStateId": 3580, + "maxStateId": 3580, + "states": [], + "drops": [ + 314 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3580 + }, + { + "id": 190, + "displayName": "Yellow Stained Glass", + "name": "yellow_stained_glass", + "hardness": 0.3, + "minStateId": 3581, + "maxStateId": 3581, + "states": [], + "drops": [ + 315 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3581 + }, + { + "id": 191, + "displayName": "Lime Stained Glass", + "name": "lime_stained_glass", + "hardness": 0.3, + "minStateId": 3582, + "maxStateId": 3582, + "states": [], + "drops": [ + 316 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3582 + }, + { + "id": 192, + "displayName": "Pink Stained Glass", + "name": "pink_stained_glass", + "hardness": 0.3, + "minStateId": 3583, + "maxStateId": 3583, + "states": [], + "drops": [ + 317 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3583 + }, + { + "id": 193, + "displayName": "Gray Stained Glass", + "name": "gray_stained_glass", + "hardness": 0.3, + "minStateId": 3584, + "maxStateId": 3584, + "states": [], + "drops": [ + 318 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3584 + }, + { + "id": 194, + "displayName": "Light Gray Stained Glass", + "name": "light_gray_stained_glass", + "hardness": 0.3, + "minStateId": 3585, + "maxStateId": 3585, + "states": [], + "drops": [ + 319 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3585 + }, + { + "id": 195, + "displayName": "Cyan Stained Glass", + "name": "cyan_stained_glass", + "hardness": 0.3, + "minStateId": 3586, + "maxStateId": 3586, + "states": [], + "drops": [ + 320 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3586 + }, + { + "id": 196, + "displayName": "Purple Stained Glass", + "name": "purple_stained_glass", + "hardness": 0.3, + "minStateId": 3587, + "maxStateId": 3587, + "states": [], + "drops": [ + 321 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3587 + }, + { + "id": 197, + "displayName": "Blue Stained Glass", + "name": "blue_stained_glass", + "hardness": 0.3, + "minStateId": 3588, + "maxStateId": 3588, + "states": [], + "drops": [ + 322 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3588 + }, + { + "id": 198, + "displayName": "Brown Stained Glass", + "name": "brown_stained_glass", + "hardness": 0.3, + "minStateId": 3589, + "maxStateId": 3589, + "states": [], + "drops": [ + 323 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3589 + }, + { + "id": 199, + "displayName": "Green Stained Glass", + "name": "green_stained_glass", + "hardness": 0.3, + "minStateId": 3590, + "maxStateId": 3590, + "states": [], + "drops": [ + 324 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3590 + }, + { + "id": 200, + "displayName": "Red Stained Glass", + "name": "red_stained_glass", + "hardness": 0.3, + "minStateId": 3591, + "maxStateId": 3591, + "states": [], + "drops": [ + 325 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3591 + }, + { + "id": 201, + "displayName": "Black Stained Glass", + "name": "black_stained_glass", + "hardness": 0.3, + "minStateId": 3592, + "maxStateId": 3592, + "states": [], + "drops": [ + 326 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3592 + }, + { + "id": 202, + "displayName": "Oak Trapdoor", + "name": "oak_trapdoor", + "hardness": 3, + "minStateId": 3593, + "maxStateId": 3656, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 187 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3608 + }, + { + "id": 203, + "displayName": "Spruce Trapdoor", + "name": "spruce_trapdoor", + "hardness": 3, + "minStateId": 3657, + "maxStateId": 3720, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 188 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3672 + }, + { + "id": 204, + "displayName": "Birch Trapdoor", + "name": "birch_trapdoor", + "hardness": 3, + "minStateId": 3721, + "maxStateId": 3784, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 189 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3736 + }, + { + "id": 205, + "displayName": "Jungle Trapdoor", + "name": "jungle_trapdoor", + "hardness": 3, + "minStateId": 3785, + "maxStateId": 3848, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 190 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3800 + }, + { + "id": 206, + "displayName": "Acacia Trapdoor", + "name": "acacia_trapdoor", + "hardness": 3, + "minStateId": 3849, + "maxStateId": 3912, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 191 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3864 + }, + { + "id": 207, + "displayName": "Dark Oak Trapdoor", + "name": "dark_oak_trapdoor", + "hardness": 3, + "minStateId": 3913, + "maxStateId": 3976, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 192 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3928 + }, + { + "id": 208, + "displayName": "Infested Stone", + "name": "infested_stone", + "hardness": 0, + "minStateId": 3977, + "maxStateId": 3977, + "states": [], + "drops": [ + 193 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3977 + }, + { + "id": 209, + "displayName": "Infested Cobblestone", + "name": "infested_cobblestone", + "hardness": 0, + "minStateId": 3978, + "maxStateId": 3978, + "states": [], + "drops": [ + 194 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3978 + }, + { + "id": 210, + "displayName": "Infested Stone Bricks", + "name": "infested_stone_bricks", + "hardness": 0, + "minStateId": 3979, + "maxStateId": 3979, + "states": [], + "drops": [ + 195 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3979 + }, + { + "id": 211, + "displayName": "Infested Mossy Stone Bricks", + "name": "infested_mossy_stone_bricks", + "hardness": 0, + "minStateId": 3980, + "maxStateId": 3980, + "states": [], + "drops": [ + 196 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3980 + }, + { + "id": 212, + "displayName": "Infested Cracked Stone Bricks", + "name": "infested_cracked_stone_bricks", + "hardness": 0, + "minStateId": 3981, + "maxStateId": 3981, + "states": [], + "drops": [ + 197 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3981 + }, + { + "id": 213, + "displayName": "Infested Chiseled Stone Bricks", + "name": "infested_chiseled_stone_bricks", + "hardness": 0, + "minStateId": 3982, + "maxStateId": 3982, + "states": [], + "drops": [ + 198 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3982 + }, + { + "id": 214, + "displayName": "Stone Bricks", + "name": "stone_bricks", + "hardness": 1.5, + "minStateId": 3983, + "maxStateId": 3983, + "states": [], + "drops": [ + 199 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3983 + }, + { + "id": 215, + "displayName": "Mossy Stone Bricks", + "name": "mossy_stone_bricks", + "hardness": 1.5, + "minStateId": 3984, + "maxStateId": 3984, + "states": [], + "drops": [ + 200 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3984 + }, + { + "id": 216, + "displayName": "Cracked Stone Bricks", + "name": "cracked_stone_bricks", + "hardness": 1.5, + "minStateId": 3985, + "maxStateId": 3985, + "states": [], + "drops": [ + 201 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3985 + }, + { + "id": 217, + "displayName": "Chiseled Stone Bricks", + "name": "chiseled_stone_bricks", + "hardness": 1.5, + "minStateId": 3986, + "maxStateId": 3986, + "states": [], + "drops": [ + 202 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 3986 + }, + { + "id": 218, + "displayName": "Brown Mushroom Block", + "name": "brown_mushroom_block", + "hardness": 0.2, + "minStateId": 3987, + "maxStateId": 4050, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 203 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3987 + }, + { + "id": 219, + "displayName": "Red Mushroom Block", + "name": "red_mushroom_block", + "hardness": 0.2, + "minStateId": 4051, + "maxStateId": 4114, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 204 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4051 + }, + { + "id": 220, + "displayName": "Mushroom Stem", + "name": "mushroom_stem", + "hardness": 0.2, + "minStateId": 4115, + "maxStateId": 4178, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 205 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4115 + }, + { + "id": 221, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "minStateId": 4179, + "maxStateId": 4210, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 206 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 4210 + }, + { + "id": 222, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "minStateId": 4211, + "maxStateId": 4242, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 207 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4242 + }, + { + "id": 223, + "displayName": "Melon", + "name": "melon", + "hardness": 1, + "minStateId": 4243, + "maxStateId": 4243, + "states": [], + "drops": [ + 208 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4243 + }, + { + "id": 224, + "displayName": "Attached Pumpkin Stem", + "name": "attached_pumpkin_stem", + "hardness": 0, + "minStateId": 4244, + "maxStateId": 4247, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4244 + }, + { + "id": 225, + "displayName": "Attached Melon Stem", + "name": "attached_melon_stem", + "hardness": 0, + "minStateId": 4248, + "maxStateId": 4251, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4248 + }, + { + "id": 226, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "minStateId": 4252, + "maxStateId": 4259, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 612 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4252 + }, + { + "id": 227, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "minStateId": 4260, + "maxStateId": 4267, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 613 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4260 + }, + { + "id": 228, + "displayName": "Vines", + "name": "vine", + "hardness": 0.2, + "minStateId": 4268, + "maxStateId": 4299, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 209 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4299 + }, + { + "id": 229, + "displayName": "Oak Fence Gate", + "name": "oak_fence_gate", + "hardness": 2, + "minStateId": 4300, + "maxStateId": 4331, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 210 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4307 + }, + { + "id": 230, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 2, + "minStateId": 4332, + "maxStateId": 4411, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 216 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 4343 + }, + { + "id": 231, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 1.5, + "minStateId": 4412, + "maxStateId": 4491, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 217 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 4423 + }, + { + "id": 232, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "minStateId": 4492, + "maxStateId": 4493, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 218 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 4493 + }, + { + "id": 233, + "displayName": "Lily Pad", + "name": "lily_pad", + "hardness": 0, + "minStateId": 4494, + "maxStateId": 4494, + "states": [], + "drops": [ + 219 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4494 + }, + { + "id": 234, + "displayName": "Nether Bricks", + "name": "nether_bricks", + "hardness": 2, + "minStateId": 4495, + "maxStateId": 4495, + "states": [], + "drops": [ + 220 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 4495 + }, + { + "id": 235, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "minStateId": 4496, + "maxStateId": 4527, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 221 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 4527 + }, + { + "id": 236, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 2, + "minStateId": 4528, + "maxStateId": 4607, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 222 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 4539 + }, + { + "id": 237, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "minStateId": 4608, + "maxStateId": 4611, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 623 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4608 + }, + { + "id": 238, + "displayName": "Enchanting Table", + "name": "enchanting_table", + "hardness": 5, + "minStateId": 4612, + "maxStateId": 4612, + "states": [], + "drops": [ + 223 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 4612 + }, + { + "id": 239, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "minStateId": 4613, + "maxStateId": 4620, + "states": [ + { + "name": "has_bottle_0", + "type": "bool", + "num_values": 2 + }, + { + "name": "has_bottle_1", + "type": "bool", + "num_values": 2 + }, + { + "name": "has_bottle_2", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 630 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 1, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 4620 + }, + { + "id": 240, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "minStateId": 4621, + "maxStateId": 4624, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 631 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 4621 + }, + { + "id": 241, + "displayName": "End Portal", + "name": "end_portal", + "hardness": null, + "minStateId": 4625, + "maxStateId": 4625, + "states": [], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 4625 + }, + { + "id": 242, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "hardness": null, + "minStateId": 4626, + "maxStateId": 4633, + "states": [ + { + "name": "eye", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 224 + ], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 1, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4630 + }, + { + "id": 243, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "minStateId": 4634, + "maxStateId": 4634, + "states": [], + "drops": [ + 225 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 4634 + }, + { + "id": 244, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "hardness": 3, + "minStateId": 4635, + "maxStateId": 4635, + "states": [], + "drops": [ + 227 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4635 + }, + { + "id": 245, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "hardness": 0.3, + "minStateId": 4636, + "maxStateId": 4637, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 228 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4637 + }, + { + "id": 246, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "minStateId": 4638, + "maxStateId": 4649, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 3 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 575 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4638 + }, + { + "id": 247, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0.8, + "minStateId": 4650, + "maxStateId": 4729, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 229 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 4661 + }, + { + "id": 248, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "minStateId": 4730, + "maxStateId": 4730, + "states": [], + "drops": [ + 230 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "490": true + }, + "defaultState": 4730 + }, + { + "id": 249, + "displayName": "Ender Chest", + "name": "ender_chest", + "hardness": 22.5, + "minStateId": 4731, + "maxStateId": 4738, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 231 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 4732 + }, + { + "id": 250, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "minStateId": 4739, + "maxStateId": 4754, + "states": [ + { + "name": "attached", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 232 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 4748 + }, + { + "id": 251, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "minStateId": 4755, + "maxStateId": 4882, + "states": [ + { + "name": "attached", + "type": "bool", + "num_values": 2 + }, + { + "name": "disarmed", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 499 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 4882 + }, + { + "id": 252, + "displayName": "Block of Emerald", + "name": "emerald_block", + "hardness": 5, + "minStateId": 4883, + "maxStateId": 4883, + "states": [], + "drops": [ + 233 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "490": true + }, + "defaultState": 4883 + }, + { + "id": 253, + "displayName": "Spruce Stairs", + "name": "spruce_stairs", + "hardness": 2, + "minStateId": 4884, + "maxStateId": 4963, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 234 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4895 + }, + { + "id": 254, + "displayName": "Birch Stairs", + "name": "birch_stairs", + "hardness": 2, + "minStateId": 4964, + "maxStateId": 5043, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 235 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4975 + }, + { + "id": 255, + "displayName": "Jungle Stairs", + "name": "jungle_stairs", + "hardness": 2, + "minStateId": 5044, + "maxStateId": 5123, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 236 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5055 + }, + { + "id": 256, + "displayName": "Command Block", + "name": "command_block", + "hardness": null, + "minStateId": 5124, + "maxStateId": 5135, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 237 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5130 + }, + { + "id": 257, + "displayName": "Beacon", + "name": "beacon", + "hardness": 3, + "minStateId": 5136, + "maxStateId": 5136, + "states": [], + "drops": [ + 238 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5136 + }, + { + "id": 258, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 2, + "minStateId": 5137, + "maxStateId": 5200, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 239 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5196 + }, + { + "id": 259, + "displayName": "Mossy Cobblestone Wall", + "name": "mossy_cobblestone_wall", + "hardness": 2, + "minStateId": 5201, + "maxStateId": 5264, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 240 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5260 + }, + { + "id": 260, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "minStateId": 5265, + "maxStateId": 5265, + "states": [], + "drops": [ + 691 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5265 + }, + { + "id": 261, + "displayName": "Potted Oak Sapling", + "name": "potted_oak_sapling", + "hardness": 0, + "minStateId": 5266, + "maxStateId": 5266, + "states": [], + "drops": [ + 691, + 19 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5266 + }, + { + "id": 262, + "displayName": "Potted Spruce Sapling", + "name": "potted_spruce_sapling", + "hardness": 0, + "minStateId": 5267, + "maxStateId": 5267, + "states": [], + "drops": [ + 691, + 20 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5267 + }, + { + "id": 263, + "displayName": "Potted Birch Sapling", + "name": "potted_birch_sapling", + "hardness": 0, + "minStateId": 5268, + "maxStateId": 5268, + "states": [], + "drops": [ + 691, + 21 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5268 + }, + { + "id": 264, + "displayName": "Potted Jungle Sapling", + "name": "potted_jungle_sapling", + "hardness": 0, + "minStateId": 5269, + "maxStateId": 5269, + "states": [], + "drops": [ + 691, + 22 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5269 + }, + { + "id": 265, + "displayName": "Potted Acacia Sapling", + "name": "potted_acacia_sapling", + "hardness": 0, + "minStateId": 5270, + "maxStateId": 5270, + "states": [], + "drops": [ + 691, + 23 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5270 + }, + { + "id": 266, + "displayName": "Potted Dark Oak Sapling", + "name": "potted_dark_oak_sapling", + "hardness": 0, + "minStateId": 5271, + "maxStateId": 5271, + "states": [], + "drops": [ + 691, + 24 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5271 + }, + { + "id": 267, + "displayName": "Potted Fern", + "name": "potted_fern", + "hardness": 0, + "minStateId": 5272, + "maxStateId": 5272, + "states": [], + "drops": [ + 691, + 77 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5272 + }, + { + "id": 268, + "displayName": "Potted Dandelion", + "name": "potted_dandelion", + "hardness": 0, + "minStateId": 5273, + "maxStateId": 5273, + "states": [], + "drops": [ + 691, + 98 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5273 + }, + { + "id": 269, + "displayName": "Potted Poppy", + "name": "potted_poppy", + "hardness": 0, + "minStateId": 5274, + "maxStateId": 5274, + "states": [], + "drops": [ + 691, + 99 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5274 + }, + { + "id": 270, + "displayName": "Potted Blue Orchid", + "name": "potted_blue_orchid", + "hardness": 0, + "minStateId": 5275, + "maxStateId": 5275, + "states": [], + "drops": [ + 691, + 100 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5275 + }, + { + "id": 271, + "displayName": "Potted Allium", + "name": "potted_allium", + "hardness": 0, + "minStateId": 5276, + "maxStateId": 5276, + "states": [], + "drops": [ + 691, + 101 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5276 + }, + { + "id": 272, + "displayName": "Potted Azure Bluet", + "name": "potted_azure_bluet", + "hardness": 0, + "minStateId": 5277, + "maxStateId": 5277, + "states": [], + "drops": [ + 691, + 102 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5277 + }, + { + "id": 273, + "displayName": "Potted Red Tulip", + "name": "potted_red_tulip", + "hardness": 0, + "minStateId": 5278, + "maxStateId": 5278, + "states": [], + "drops": [ + 691, + 103 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5278 + }, + { + "id": 274, + "displayName": "Potted Orange Tulip", + "name": "potted_orange_tulip", + "hardness": 0, + "minStateId": 5279, + "maxStateId": 5279, + "states": [], + "drops": [ + 691, + 104 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5279 + }, + { + "id": 275, + "displayName": "Potted White Tulip", + "name": "potted_white_tulip", + "hardness": 0, + "minStateId": 5280, + "maxStateId": 5280, + "states": [], + "drops": [ + 691, + 105 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5280 + }, + { + "id": 276, + "displayName": "Potted Pink Tulip", + "name": "potted_pink_tulip", + "hardness": 0, + "minStateId": 5281, + "maxStateId": 5281, + "states": [], + "drops": [ + 691, + 106 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5281 + }, + { + "id": 277, + "displayName": "Potted Oxeye Daisy", + "name": "potted_oxeye_daisy", + "hardness": 0, + "minStateId": 5282, + "maxStateId": 5282, + "states": [], + "drops": [ + 691, + 107 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5282 + }, + { + "id": 278, + "displayName": "Potted Red Mushroom", + "name": "potted_red_mushroom", + "hardness": 0, + "minStateId": 5283, + "maxStateId": 5283, + "states": [], + "drops": [ + 691, + 109 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5283 + }, + { + "id": 279, + "displayName": "Potted Brown Mushroom", + "name": "potted_brown_mushroom", + "hardness": 0, + "minStateId": 5284, + "maxStateId": 5284, + "states": [], + "drops": [ + 691, + 108 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5284 + }, + { + "id": 280, + "displayName": "Potted Dead Bush", + "name": "potted_dead_bush", + "hardness": 0, + "minStateId": 5285, + "maxStateId": 5285, + "states": [], + "drops": [ + 691, + 78 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5285 + }, + { + "id": 281, + "displayName": "Potted Cactus", + "name": "potted_cactus", + "hardness": 0, + "minStateId": 5286, + "maxStateId": 5286, + "states": [], + "drops": [ + 691, + 172 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5286 + }, + { + "id": 282, + "displayName": "Carrots", + "name": "carrots", + "hardness": 0, + "minStateId": 5287, + "maxStateId": 5294, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 692 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 5287 + }, + { + "id": 283, + "displayName": "Potatoes", + "name": "potatoes", + "hardness": 0, + "minStateId": 5295, + "maxStateId": 5302, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 693 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 5295 + }, + { + "id": 284, + "displayName": "Oak Button", + "name": "oak_button", + "hardness": 0.5, + "minStateId": 5303, + "maxStateId": 5326, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 241 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5312 + }, + { + "id": 285, + "displayName": "Spruce Button", + "name": "spruce_button", + "hardness": 0.5, + "minStateId": 5327, + "maxStateId": 5350, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 242 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5336 + }, + { + "id": 286, + "displayName": "Birch Button", + "name": "birch_button", + "hardness": 0.5, + "minStateId": 5351, + "maxStateId": 5374, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 243 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5360 + }, + { + "id": 287, + "displayName": "Jungle Button", + "name": "jungle_button", + "hardness": 0.5, + "minStateId": 5375, + "maxStateId": 5398, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 244 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5384 + }, + { + "id": 288, + "displayName": "Acacia Button", + "name": "acacia_button", + "hardness": 0.5, + "minStateId": 5399, + "maxStateId": 5422, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 245 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5408 + }, + { + "id": 289, + "displayName": "Dark Oak Button", + "name": "dark_oak_button", + "hardness": 0.5, + "minStateId": 5423, + "maxStateId": 5446, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 246 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5432 + }, + { + "id": 290, + "displayName": "Skeleton Wall Skull", + "name": "skeleton_wall_skull", + "hardness": 1, + "minStateId": 5447, + "maxStateId": 5450, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 698 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5447 + }, + { + "id": 291, + "displayName": "Skeleton Skull", + "name": "skeleton_skull", + "hardness": 1, + "minStateId": 5451, + "maxStateId": 5466, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 698 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5451 + }, + { + "id": 292, + "displayName": "Wither Skeleton Wall Skull", + "name": "wither_skeleton_wall_skull", + "hardness": 1, + "minStateId": 5467, + "maxStateId": 5470, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 699 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5467 + }, + { + "id": 293, + "displayName": "Wither Skeleton Skull", + "name": "wither_skeleton_skull", + "hardness": 1, + "minStateId": 5471, + "maxStateId": 5486, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 699 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5471 + }, + { + "id": 294, + "displayName": "Zombie Wall Head", + "name": "zombie_wall_head", + "hardness": 1, + "minStateId": 5487, + "maxStateId": 5490, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 701 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5487 + }, + { + "id": 295, + "displayName": "Zombie Head", + "name": "zombie_head", + "hardness": 1, + "minStateId": 5491, + "maxStateId": 5506, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 701 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5491 + }, + { + "id": 296, + "displayName": "Player Wall Head", + "name": "player_wall_head", + "hardness": 1, + "minStateId": 5507, + "maxStateId": 5510, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 700 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5507 + }, + { + "id": 297, + "displayName": "Player Head", + "name": "player_head", + "hardness": 1, + "minStateId": 5511, + "maxStateId": 5526, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 700 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5511 + }, + { + "id": 298, + "displayName": "Creeper Wall Head", + "name": "creeper_wall_head", + "hardness": 1, + "minStateId": 5527, + "maxStateId": 5530, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 702 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5527 + }, + { + "id": 299, + "displayName": "Creeper Head", + "name": "creeper_head", + "hardness": 1, + "minStateId": 5531, + "maxStateId": 5546, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 702 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5531 + }, + { + "id": 300, + "displayName": "Dragon Wall Head", + "name": "dragon_wall_head", + "hardness": 1, + "minStateId": 5547, + "maxStateId": 5550, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 703 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5547 + }, + { + "id": 301, + "displayName": "Dragon Head", + "name": "dragon_head", + "hardness": 1, + "minStateId": 5551, + "maxStateId": 5566, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 703 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5551 + }, + { + "id": 302, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "minStateId": 5567, + "maxStateId": 5570, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 247 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5567 + }, + { + "id": 303, + "displayName": "Chipped Anvil", + "name": "chipped_anvil", + "hardness": 5, + "minStateId": 5571, + "maxStateId": 5574, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 248 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5571 + }, + { + "id": 304, + "displayName": "Damaged Anvil", + "name": "damaged_anvil", + "hardness": 5, + "minStateId": 5575, + "maxStateId": 5578, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 249 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5575 + }, + { + "id": 305, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "minStateId": 5579, + "maxStateId": 5602, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "single", + "left", + "right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 250 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5580 + }, + { + "id": 306, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "hardness": 0.5, + "minStateId": 5603, + "maxStateId": 5618, + "states": [ + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 251 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5603 + }, + { + "id": 307, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "hardness": 0.5, + "minStateId": 5619, + "maxStateId": 5634, + "states": [ + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 252 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5619 + }, + { + "id": 308, + "displayName": "Redstone Comparator", + "name": "comparator", + "hardness": 0, + "minStateId": 5635, + "maxStateId": 5650, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "mode", + "type": "enum", + "num_values": 2, + "values": [ + "compare", + "subtract" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 463 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5636 + }, + { + "id": 309, + "displayName": "Daylight Detector", + "name": "daylight_detector", + "hardness": 0.2, + "minStateId": 5651, + "maxStateId": 5682, + "states": [ + { + "name": "inverted", + "type": "bool", + "num_values": 2 + }, + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 253 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5667 + }, + { + "id": 310, + "displayName": "Block of Redstone", + "name": "redstone_block", + "hardness": 5, + "minStateId": 5683, + "maxStateId": 5683, + "states": [], + "drops": [ + 254 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5683 + }, + { + "id": 311, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "hardness": 3, + "minStateId": 5684, + "maxStateId": 5684, + "states": [], + "drops": [ + 255 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5684 + }, + { + "id": 312, + "displayName": "Hopper", + "name": "hopper", + "hardness": 3, + "minStateId": 5685, + "maxStateId": 5694, + "states": [ + { + "name": "enabled", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 5, + "values": [ + "down", + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 256 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5685 + }, + { + "id": 313, + "displayName": "Block of Quartz", + "name": "quartz_block", + "hardness": 0.8, + "minStateId": 5695, + "maxStateId": 5695, + "states": [], + "drops": [ + 258 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5695 + }, + { + "id": 314, + "displayName": "Chiseled Quartz Block", + "name": "chiseled_quartz_block", + "hardness": 0.8, + "minStateId": 5696, + "maxStateId": 5696, + "states": [], + "drops": [ + 257 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5696 + }, + { + "id": 315, + "displayName": "Quartz Pillar", + "name": "quartz_pillar", + "hardness": 0.8, + "minStateId": 5697, + "maxStateId": 5699, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 259 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5698 + }, + { + "id": 316, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0.8, + "minStateId": 5700, + "maxStateId": 5779, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 260 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5711 + }, + { + "id": 317, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "minStateId": 5780, + "maxStateId": 5791, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 261 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 5786 + }, + { + "id": 318, + "displayName": "Dropper", + "name": "dropper", + "hardness": 3.5, + "minStateId": 5792, + "maxStateId": 5803, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "triggered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 262 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5793 + }, + { + "id": 319, + "displayName": "White Terracotta", + "name": "white_terracotta", + "hardness": 1.25, + "minStateId": 5804, + "maxStateId": 5804, + "states": [], + "drops": [ + 263 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5804 + }, + { + "id": 320, + "displayName": "Orange Terracotta", + "name": "orange_terracotta", + "hardness": 1.25, + "minStateId": 5805, + "maxStateId": 5805, + "states": [], + "drops": [ + 264 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5805 + }, + { + "id": 321, + "displayName": "Magenta Terracotta", + "name": "magenta_terracotta", + "hardness": 1.25, + "minStateId": 5806, + "maxStateId": 5806, + "states": [], + "drops": [ + 265 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5806 + }, + { + "id": 322, + "displayName": "Light Blue Terracotta", + "name": "light_blue_terracotta", + "hardness": 1.25, + "minStateId": 5807, + "maxStateId": 5807, + "states": [], + "drops": [ + 266 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5807 + }, + { + "id": 323, + "displayName": "Yellow Terracotta", + "name": "yellow_terracotta", + "hardness": 1.25, + "minStateId": 5808, + "maxStateId": 5808, + "states": [], + "drops": [ + 267 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5808 + }, + { + "id": 324, + "displayName": "Lime Terracotta", + "name": "lime_terracotta", + "hardness": 1.25, + "minStateId": 5809, + "maxStateId": 5809, + "states": [], + "drops": [ + 268 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5809 + }, + { + "id": 325, + "displayName": "Pink Terracotta", + "name": "pink_terracotta", + "hardness": 1.25, + "minStateId": 5810, + "maxStateId": 5810, + "states": [], + "drops": [ + 269 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5810 + }, + { + "id": 326, + "displayName": "Gray Terracotta", + "name": "gray_terracotta", + "hardness": 1.25, + "minStateId": 5811, + "maxStateId": 5811, + "states": [], + "drops": [ + 270 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5811 + }, + { + "id": 327, + "displayName": "Light Gray Terracotta", + "name": "light_gray_terracotta", + "hardness": 1.25, + "minStateId": 5812, + "maxStateId": 5812, + "states": [], + "drops": [ + 271 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5812 + }, + { + "id": 328, + "displayName": "Cyan Terracotta", + "name": "cyan_terracotta", + "hardness": 1.25, + "minStateId": 5813, + "maxStateId": 5813, + "states": [], + "drops": [ + 272 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5813 + }, + { + "id": 329, + "displayName": "Purple Terracotta", + "name": "purple_terracotta", + "hardness": 1.25, + "minStateId": 5814, + "maxStateId": 5814, + "states": [], + "drops": [ + 273 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5814 + }, + { + "id": 330, + "displayName": "Blue Terracotta", + "name": "blue_terracotta", + "hardness": 1.25, + "minStateId": 5815, + "maxStateId": 5815, + "states": [], + "drops": [ + 274 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5815 + }, + { + "id": 331, + "displayName": "Brown Terracotta", + "name": "brown_terracotta", + "hardness": 1.25, + "minStateId": 5816, + "maxStateId": 5816, + "states": [], + "drops": [ + 275 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5816 + }, + { + "id": 332, + "displayName": "Green Terracotta", + "name": "green_terracotta", + "hardness": 1.25, + "minStateId": 5817, + "maxStateId": 5817, + "states": [], + "drops": [ + 276 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5817 + }, + { + "id": 333, + "displayName": "Red Terracotta", + "name": "red_terracotta", + "hardness": 1.25, + "minStateId": 5818, + "maxStateId": 5818, + "states": [], + "drops": [ + 277 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5818 + }, + { + "id": 334, + "displayName": "Black Terracotta", + "name": "black_terracotta", + "hardness": 1.25, + "minStateId": 5819, + "maxStateId": 5819, + "states": [], + "drops": [ + 278 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 5819 + }, + { + "id": 335, + "displayName": "White Stained Glass Pane", + "name": "white_stained_glass_pane", + "hardness": 0.3, + "minStateId": 5820, + "maxStateId": 5851, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 327 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5851 + }, + { + "id": 336, + "displayName": "Orange Stained Glass Pane", + "name": "orange_stained_glass_pane", + "hardness": 0.3, + "minStateId": 5852, + "maxStateId": 5883, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 328 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5883 + }, + { + "id": 337, + "displayName": "Magenta Stained Glass Pane", + "name": "magenta_stained_glass_pane", + "hardness": 0.3, + "minStateId": 5884, + "maxStateId": 5915, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 329 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5915 + }, + { + "id": 338, + "displayName": "Light Blue Stained Glass Pane", + "name": "light_blue_stained_glass_pane", + "hardness": 0.3, + "minStateId": 5916, + "maxStateId": 5947, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 330 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5947 + }, + { + "id": 339, + "displayName": "Yellow Stained Glass Pane", + "name": "yellow_stained_glass_pane", + "hardness": 0.3, + "minStateId": 5948, + "maxStateId": 5979, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 331 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5979 + }, + { + "id": 340, + "displayName": "Lime Stained Glass Pane", + "name": "lime_stained_glass_pane", + "hardness": 0.3, + "minStateId": 5980, + "maxStateId": 6011, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 332 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6011 + }, + { + "id": 341, + "displayName": "Pink Stained Glass Pane", + "name": "pink_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6012, + "maxStateId": 6043, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 333 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6043 + }, + { + "id": 342, + "displayName": "Gray Stained Glass Pane", + "name": "gray_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6044, + "maxStateId": 6075, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 334 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6075 + }, + { + "id": 343, + "displayName": "Light Gray Stained Glass Pane", + "name": "light_gray_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6076, + "maxStateId": 6107, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 335 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6107 + }, + { + "id": 344, + "displayName": "Cyan Stained Glass Pane", + "name": "cyan_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6108, + "maxStateId": 6139, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 336 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6139 + }, + { + "id": 345, + "displayName": "Purple Stained Glass Pane", + "name": "purple_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6140, + "maxStateId": 6171, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 337 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6171 + }, + { + "id": 346, + "displayName": "Blue Stained Glass Pane", + "name": "blue_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6172, + "maxStateId": 6203, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 338 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6203 + }, + { + "id": 347, + "displayName": "Brown Stained Glass Pane", + "name": "brown_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6204, + "maxStateId": 6235, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 339 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6235 + }, + { + "id": 348, + "displayName": "Green Stained Glass Pane", + "name": "green_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6236, + "maxStateId": 6267, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 340 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6267 + }, + { + "id": 349, + "displayName": "Red Stained Glass Pane", + "name": "red_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6268, + "maxStateId": 6299, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 341 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6299 + }, + { + "id": 350, + "displayName": "Black Stained Glass Pane", + "name": "black_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6300, + "maxStateId": 6331, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 342 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6331 + }, + { + "id": 351, + "displayName": "Acacia Stairs", + "name": "acacia_stairs", + "hardness": 2, + "minStateId": 6332, + "maxStateId": 6411, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 301 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6343 + }, + { + "id": 352, + "displayName": "Dark Oak Stairs", + "name": "dark_oak_stairs", + "hardness": 2, + "minStateId": 6412, + "maxStateId": 6491, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 302 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6423 + }, + { + "id": 353, + "displayName": "Slime Block", + "name": "slime_block", + "hardness": 0, + "minStateId": 6492, + "maxStateId": 6492, + "states": [], + "drops": [ + 303 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6492 + }, + { + "id": 354, + "displayName": "Barrier", + "name": "barrier", + "hardness": null, + "minStateId": 6493, + "maxStateId": 6493, + "states": [], + "drops": [ + 279 + ], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6493 + }, + { + "id": 355, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "minStateId": 6494, + "maxStateId": 6557, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 280 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 6509 + }, + { + "id": 356, + "displayName": "Prismarine", + "name": "prismarine", + "hardness": 1.5, + "minStateId": 6558, + "maxStateId": 6558, + "states": [], + "drops": [ + 343 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 6558 + }, + { + "id": 357, + "displayName": "Prismarine Bricks", + "name": "prismarine_bricks", + "hardness": 1.5, + "minStateId": 6559, + "maxStateId": 6559, + "states": [], + "drops": [ + 344 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 6559 + }, + { + "id": 358, + "displayName": "Dark Prismarine", + "name": "dark_prismarine", + "hardness": 1.5, + "minStateId": 6560, + "maxStateId": 6560, + "states": [], + "drops": [ + 345 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 6560 + }, + { + "id": 359, + "displayName": "Prismarine Stairs", + "name": "prismarine_stairs", + "hardness": 1.5, + "minStateId": 6561, + "maxStateId": 6640, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 346 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 6572 + }, + { + "id": 360, + "displayName": "Prismarine Brick Stairs", + "name": "prismarine_brick_stairs", + "hardness": 1.5, + "minStateId": 6641, + "maxStateId": 6720, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 347 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 6652 + }, + { + "id": 361, + "displayName": "Dark Prismarine Stairs", + "name": "dark_prismarine_stairs", + "hardness": 1.5, + "minStateId": 6721, + "maxStateId": 6800, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 348 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 6732 + }, + { + "id": 362, + "displayName": "Prismarine Slab", + "name": "prismarine_slab", + "hardness": 1.5, + "minStateId": 6801, + "maxStateId": 6806, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 128 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 6804 + }, + { + "id": 363, + "displayName": "Prismarine Brick Slab", + "name": "prismarine_brick_slab", + "hardness": 1.5, + "minStateId": 6807, + "maxStateId": 6812, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 129 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 6810 + }, + { + "id": 364, + "displayName": "Dark Prismarine Slab", + "name": "dark_prismarine_slab", + "hardness": 1.5, + "minStateId": 6813, + "maxStateId": 6818, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 130 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 6816 + }, + { + "id": 365, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "hardness": 0.3, + "minStateId": 6819, + "maxStateId": 6819, + "states": [], + "drops": [ + 349 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6819 + }, + { + "id": 366, + "displayName": "Hay Bale", + "name": "hay_block", + "hardness": 0.5, + "minStateId": 6820, + "maxStateId": 6822, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 281 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6821 + }, + { + "id": 367, + "displayName": "White Carpet", + "name": "white_carpet", + "hardness": 0.1, + "minStateId": 6823, + "maxStateId": 6823, + "states": [], + "drops": [ + 282 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6823 + }, + { + "id": 368, + "displayName": "Orange Carpet", + "name": "orange_carpet", + "hardness": 0.1, + "minStateId": 6824, + "maxStateId": 6824, + "states": [], + "drops": [ + 283 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6824 + }, + { + "id": 369, + "displayName": "Magenta Carpet", + "name": "magenta_carpet", + "hardness": 0.1, + "minStateId": 6825, + "maxStateId": 6825, + "states": [], + "drops": [ + 284 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6825 + }, + { + "id": 370, + "displayName": "Light Blue Carpet", + "name": "light_blue_carpet", + "hardness": 0.1, + "minStateId": 6826, + "maxStateId": 6826, + "states": [], + "drops": [ + 285 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6826 + }, + { + "id": 371, + "displayName": "Yellow Carpet", + "name": "yellow_carpet", + "hardness": 0.1, + "minStateId": 6827, + "maxStateId": 6827, + "states": [], + "drops": [ + 286 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6827 + }, + { + "id": 372, + "displayName": "Lime Carpet", + "name": "lime_carpet", + "hardness": 0.1, + "minStateId": 6828, + "maxStateId": 6828, + "states": [], + "drops": [ + 287 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6828 + }, + { + "id": 373, + "displayName": "Pink Carpet", + "name": "pink_carpet", + "hardness": 0.1, + "minStateId": 6829, + "maxStateId": 6829, + "states": [], + "drops": [ + 288 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6829 + }, + { + "id": 374, + "displayName": "Gray Carpet", + "name": "gray_carpet", + "hardness": 0.1, + "minStateId": 6830, + "maxStateId": 6830, + "states": [], + "drops": [ + 289 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6830 + }, + { + "id": 375, + "displayName": "Light Gray Carpet", + "name": "light_gray_carpet", + "hardness": 0.1, + "minStateId": 6831, + "maxStateId": 6831, + "states": [], + "drops": [ + 290 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6831 + }, + { + "id": 376, + "displayName": "Cyan Carpet", + "name": "cyan_carpet", + "hardness": 0.1, + "minStateId": 6832, + "maxStateId": 6832, + "states": [], + "drops": [ + 291 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6832 + }, + { + "id": 377, + "displayName": "Purple Carpet", + "name": "purple_carpet", + "hardness": 0.1, + "minStateId": 6833, + "maxStateId": 6833, + "states": [], + "drops": [ + 292 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6833 + }, + { + "id": 378, + "displayName": "Blue Carpet", + "name": "blue_carpet", + "hardness": 0.1, + "minStateId": 6834, + "maxStateId": 6834, + "states": [], + "drops": [ + 293 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6834 + }, + { + "id": 379, + "displayName": "Brown Carpet", + "name": "brown_carpet", + "hardness": 0.1, + "minStateId": 6835, + "maxStateId": 6835, + "states": [], + "drops": [ + 294 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6835 + }, + { + "id": 380, + "displayName": "Green Carpet", + "name": "green_carpet", + "hardness": 0.1, + "minStateId": 6836, + "maxStateId": 6836, + "states": [], + "drops": [ + 295 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6836 + }, + { + "id": 381, + "displayName": "Red Carpet", + "name": "red_carpet", + "hardness": 0.1, + "minStateId": 6837, + "maxStateId": 6837, + "states": [], + "drops": [ + 296 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6837 + }, + { + "id": 382, + "displayName": "Black Carpet", + "name": "black_carpet", + "hardness": 0.1, + "minStateId": 6838, + "maxStateId": 6838, + "states": [], + "drops": [ + 297 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6838 + }, + { + "id": 383, + "displayName": "Terracotta", + "name": "terracotta", + "hardness": 1.25, + "minStateId": 6839, + "maxStateId": 6839, + "states": [], + "drops": [ + 298 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 6839 + }, + { + "id": 384, + "displayName": "Block of Coal", + "name": "coal_block", + "hardness": 5, + "minStateId": 6840, + "maxStateId": 6840, + "states": [], + "drops": [ + 299 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 6840 + }, + { + "id": 385, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "minStateId": 6841, + "maxStateId": 6841, + "states": [], + "drops": [ + 300 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 6841 + }, + { + "id": 386, + "displayName": "Sunflower", + "name": "sunflower", + "hardness": 0, + "minStateId": 6842, + "maxStateId": 6843, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 305 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 6843 + }, + { + "id": 387, + "displayName": "Lilac", + "name": "lilac", + "hardness": 0, + "minStateId": 6844, + "maxStateId": 6845, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 306 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 6845 + }, + { + "id": 388, + "displayName": "Rose Bush", + "name": "rose_bush", + "hardness": 0, + "minStateId": 6846, + "maxStateId": 6847, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 307 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 6847 + }, + { + "id": 389, + "displayName": "Peony", + "name": "peony", + "hardness": 0, + "minStateId": 6848, + "maxStateId": 6849, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 308 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 6849 + }, + { + "id": 390, + "displayName": "Tall Grass", + "name": "tall_grass", + "hardness": 0, + "minStateId": 6850, + "maxStateId": 6851, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 309 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 6851 + }, + { + "id": 391, + "displayName": "Large Fern", + "name": "large_fern", + "hardness": 0, + "minStateId": 6852, + "maxStateId": 6853, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 310 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 6853 + }, + { + "id": 392, + "displayName": "White Banner", + "name": "white_banner", + "hardness": 1, + "minStateId": 6854, + "maxStateId": 6869, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 730 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6854 + }, + { + "id": 393, + "displayName": "Orange Banner", + "name": "orange_banner", + "hardness": 1, + "minStateId": 6870, + "maxStateId": 6885, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 731 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6870 + }, + { + "id": 394, + "displayName": "Magenta Banner", + "name": "magenta_banner", + "hardness": 1, + "minStateId": 6886, + "maxStateId": 6901, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 732 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6886 + }, + { + "id": 395, + "displayName": "Light Blue Banner", + "name": "light_blue_banner", + "hardness": 1, + "minStateId": 6902, + "maxStateId": 6917, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 733 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6902 + }, + { + "id": 396, + "displayName": "Yellow Banner", + "name": "yellow_banner", + "hardness": 1, + "minStateId": 6918, + "maxStateId": 6933, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 734 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6918 + }, + { + "id": 397, + "displayName": "Lime Banner", + "name": "lime_banner", + "hardness": 1, + "minStateId": 6934, + "maxStateId": 6949, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 735 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6934 + }, + { + "id": 398, + "displayName": "Pink Banner", + "name": "pink_banner", + "hardness": 1, + "minStateId": 6950, + "maxStateId": 6965, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 736 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6950 + }, + { + "id": 399, + "displayName": "Gray Banner", + "name": "gray_banner", + "hardness": 1, + "minStateId": 6966, + "maxStateId": 6981, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 737 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6966 + }, + { + "id": 400, + "displayName": "Light Gray Banner", + "name": "light_gray_banner", + "hardness": 1, + "minStateId": 6982, + "maxStateId": 6997, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 738 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6982 + }, + { + "id": 401, + "displayName": "Cyan Banner", + "name": "cyan_banner", + "hardness": 1, + "minStateId": 6998, + "maxStateId": 7013, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 739 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 6998 + }, + { + "id": 402, + "displayName": "Purple Banner", + "name": "purple_banner", + "hardness": 1, + "minStateId": 7014, + "maxStateId": 7029, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 740 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7014 + }, + { + "id": 403, + "displayName": "Blue Banner", + "name": "blue_banner", + "hardness": 1, + "minStateId": 7030, + "maxStateId": 7045, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 741 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7030 + }, + { + "id": 404, + "displayName": "Brown Banner", + "name": "brown_banner", + "hardness": 1, + "minStateId": 7046, + "maxStateId": 7061, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 742 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7046 + }, + { + "id": 405, + "displayName": "Green Banner", + "name": "green_banner", + "hardness": 1, + "minStateId": 7062, + "maxStateId": 7077, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 743 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7062 + }, + { + "id": 406, + "displayName": "Red Banner", + "name": "red_banner", + "hardness": 1, + "minStateId": 7078, + "maxStateId": 7093, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 744 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7078 + }, + { + "id": 407, + "displayName": "Black Banner", + "name": "black_banner", + "hardness": 1, + "minStateId": 7094, + "maxStateId": 7109, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 745 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7094 + }, + { + "id": 408, + "displayName": "White wall banner", + "name": "white_wall_banner", + "hardness": 1, + "minStateId": 7110, + "maxStateId": 7113, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 730 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7110 + }, + { + "id": 409, + "displayName": "Orange wall banner", + "name": "orange_wall_banner", + "hardness": 1, + "minStateId": 7114, + "maxStateId": 7117, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 731 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7114 + }, + { + "id": 410, + "displayName": "Magenta wall banner", + "name": "magenta_wall_banner", + "hardness": 1, + "minStateId": 7118, + "maxStateId": 7121, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 732 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7118 + }, + { + "id": 411, + "displayName": "Light blue wall banner", + "name": "light_blue_wall_banner", + "hardness": 1, + "minStateId": 7122, + "maxStateId": 7125, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 733 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7122 + }, + { + "id": 412, + "displayName": "Yellow wall banner", + "name": "yellow_wall_banner", + "hardness": 1, + "minStateId": 7126, + "maxStateId": 7129, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 734 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7126 + }, + { + "id": 413, + "displayName": "Lime wall banner", + "name": "lime_wall_banner", + "hardness": 1, + "minStateId": 7130, + "maxStateId": 7133, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 735 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7130 + }, + { + "id": 414, + "displayName": "Pink wall banner", + "name": "pink_wall_banner", + "hardness": 1, + "minStateId": 7134, + "maxStateId": 7137, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 736 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7134 + }, + { + "id": 415, + "displayName": "Gray wall banner", + "name": "gray_wall_banner", + "hardness": 1, + "minStateId": 7138, + "maxStateId": 7141, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 737 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7138 + }, + { + "id": 416, + "displayName": "Light gray wall banner", + "name": "light_gray_wall_banner", + "hardness": 1, + "minStateId": 7142, + "maxStateId": 7145, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 738 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7142 + }, + { + "id": 417, + "displayName": "Cyan wall banner", + "name": "cyan_wall_banner", + "hardness": 1, + "minStateId": 7146, + "maxStateId": 7149, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 739 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7146 + }, + { + "id": 418, + "displayName": "Purple wall banner", + "name": "purple_wall_banner", + "hardness": 1, + "minStateId": 7150, + "maxStateId": 7153, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 740 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7150 + }, + { + "id": 419, + "displayName": "Blue wall banner", + "name": "blue_wall_banner", + "hardness": 1, + "minStateId": 7154, + "maxStateId": 7157, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 741 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7154 + }, + { + "id": 420, + "displayName": "Brown wall banner", + "name": "brown_wall_banner", + "hardness": 1, + "minStateId": 7158, + "maxStateId": 7161, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 742 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7158 + }, + { + "id": 421, + "displayName": "Green wall banner", + "name": "green_wall_banner", + "hardness": 1, + "minStateId": 7162, + "maxStateId": 7165, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 743 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7162 + }, + { + "id": 422, + "displayName": "Red wall banner", + "name": "red_wall_banner", + "hardness": 1, + "minStateId": 7166, + "maxStateId": 7169, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 744 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7166 + }, + { + "id": 423, + "displayName": "Black wall banner", + "name": "black_wall_banner", + "hardness": 1, + "minStateId": 7170, + "maxStateId": 7173, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 745 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7170 + }, + { + "id": 424, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "hardness": 0.8, + "minStateId": 7174, + "maxStateId": 7174, + "states": [], + "drops": [ + 350 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7174 + }, + { + "id": 425, + "displayName": "Chiseled Red Sandstone", + "name": "chiseled_red_sandstone", + "hardness": 0.8, + "minStateId": 7175, + "maxStateId": 7175, + "states": [], + "drops": [ + 351 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7175 + }, + { + "id": 426, + "displayName": "Cut Red Sandstone", + "name": "cut_red_sandstone", + "hardness": 0.8, + "minStateId": 7176, + "maxStateId": 7176, + "states": [], + "drops": [ + 352 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7176 + }, + { + "id": 427, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "hardness": 0.8, + "minStateId": 7177, + "maxStateId": 7256, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 353 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7188 + }, + { + "id": 428, + "displayName": "Oak Slab", + "name": "oak_slab", + "hardness": 2, + "minStateId": 7257, + "maxStateId": 7262, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 112 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7260 + }, + { + "id": 429, + "displayName": "Spruce Slab", + "name": "spruce_slab", + "hardness": 2, + "minStateId": 7263, + "maxStateId": 7268, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 113 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7266 + }, + { + "id": 430, + "displayName": "Birch Slab", + "name": "birch_slab", + "hardness": 2, + "minStateId": 7269, + "maxStateId": 7274, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 114 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7272 + }, + { + "id": 431, + "displayName": "Jungle Slab", + "name": "jungle_slab", + "hardness": 2, + "minStateId": 7275, + "maxStateId": 7280, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 115 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7278 + }, + { + "id": 432, + "displayName": "Acacia Slab", + "name": "acacia_slab", + "hardness": 2, + "minStateId": 7281, + "maxStateId": 7286, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 116 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7284 + }, + { + "id": 433, + "displayName": "Dark Oak Slab", + "name": "dark_oak_slab", + "hardness": 2, + "minStateId": 7287, + "maxStateId": 7292, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 117 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7290 + }, + { + "id": 434, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "minStateId": 7293, + "maxStateId": 7298, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 118 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7296 + }, + { + "id": 435, + "displayName": "Sandstone Slab", + "name": "sandstone_slab", + "hardness": 2, + "minStateId": 7299, + "maxStateId": 7304, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 119 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7302 + }, + { + "id": 436, + "displayName": "Petrified Oak Slab", + "name": "petrified_oak_slab", + "hardness": 2, + "minStateId": 7305, + "maxStateId": 7310, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 120 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7308 + }, + { + "id": 437, + "displayName": "Cobblestone Slab", + "name": "cobblestone_slab", + "hardness": 2, + "minStateId": 7311, + "maxStateId": 7316, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 121 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7314 + }, + { + "id": 438, + "displayName": "Brick Slab", + "name": "brick_slab", + "hardness": 2, + "minStateId": 7317, + "maxStateId": 7322, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 122 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7320 + }, + { + "id": 439, + "displayName": "Stone Brick Slab", + "name": "stone_brick_slab", + "hardness": 2, + "minStateId": 7323, + "maxStateId": 7328, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 123 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7326 + }, + { + "id": 440, + "displayName": "Nether Brick Slab", + "name": "nether_brick_slab", + "hardness": 2, + "minStateId": 7329, + "maxStateId": 7334, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 124 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7332 + }, + { + "id": 441, + "displayName": "Quartz Slab", + "name": "quartz_slab", + "hardness": 2, + "minStateId": 7335, + "maxStateId": 7340, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 125 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7338 + }, + { + "id": 442, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "hardness": 2, + "minStateId": 7341, + "maxStateId": 7346, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 126 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7344 + }, + { + "id": 443, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "hardness": 2, + "minStateId": 7347, + "maxStateId": 7352, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 127 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7350 + }, + { + "id": 444, + "displayName": "Smooth Stone", + "name": "smooth_stone", + "hardness": 2, + "minStateId": 7353, + "maxStateId": 7353, + "states": [], + "drops": [ + 134 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7353 + }, + { + "id": 445, + "displayName": "Smooth Sandstone", + "name": "smooth_sandstone", + "hardness": 2, + "minStateId": 7354, + "maxStateId": 7354, + "states": [], + "drops": [ + 133 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7354 + }, + { + "id": 446, + "displayName": "Smooth Quartz", + "name": "smooth_quartz", + "hardness": 2, + "minStateId": 7355, + "maxStateId": 7355, + "states": [], + "drops": [ + 131 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7355 + }, + { + "id": 447, + "displayName": "Smooth Red Sandstone", + "name": "smooth_red_sandstone", + "hardness": 2, + "minStateId": 7356, + "maxStateId": 7356, + "states": [], + "drops": [ + 132 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 7356 + }, + { + "id": 448, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "hardness": 2, + "minStateId": 7357, + "maxStateId": 7388, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 211 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7364 + }, + { + "id": 449, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "hardness": 2, + "minStateId": 7389, + "maxStateId": 7420, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 212 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7396 + }, + { + "id": 450, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "hardness": 2, + "minStateId": 7421, + "maxStateId": 7452, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 213 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7428 + }, + { + "id": 451, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "hardness": 2, + "minStateId": 7453, + "maxStateId": 7484, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 214 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7460 + }, + { + "id": 452, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "hardness": 2, + "minStateId": 7485, + "maxStateId": 7516, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 215 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7492 + }, + { + "id": 453, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "hardness": 2, + "minStateId": 7517, + "maxStateId": 7548, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 176 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7548 + }, + { + "id": 454, + "displayName": "Birch Fence", + "name": "birch_fence", + "hardness": 2, + "minStateId": 7549, + "maxStateId": 7580, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 177 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7580 + }, + { + "id": 455, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "hardness": 2, + "minStateId": 7581, + "maxStateId": 7612, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 178 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7612 + }, + { + "id": 456, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "hardness": 2, + "minStateId": 7613, + "maxStateId": 7644, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 179 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7644 + }, + { + "id": 457, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "hardness": 2, + "minStateId": 7645, + "maxStateId": 7676, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 180 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7676 + }, + { + "id": 458, + "displayName": "Spruce Door", + "name": "spruce_door", + "hardness": 3, + "minStateId": 7677, + "maxStateId": 7740, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 457 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7688 + }, + { + "id": 459, + "displayName": "Birch Door", + "name": "birch_door", + "hardness": 3, + "minStateId": 7741, + "maxStateId": 7804, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 458 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7752 + }, + { + "id": 460, + "displayName": "Jungle Door", + "name": "jungle_door", + "hardness": 3, + "minStateId": 7805, + "maxStateId": 7868, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 459 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7816 + }, + { + "id": 461, + "displayName": "Acacia Door", + "name": "acacia_door", + "hardness": 3, + "minStateId": 7869, + "maxStateId": 7932, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 460 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7880 + }, + { + "id": 462, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "hardness": 3, + "minStateId": 7933, + "maxStateId": 7996, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 461 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7944 + }, + { + "id": 463, + "displayName": "End Rod", + "name": "end_rod", + "hardness": 0, + "minStateId": 7997, + "maxStateId": 8002, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 141 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 14, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8001 + }, + { + "id": 464, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "hardness": 0.4, + "minStateId": 8003, + "maxStateId": 8066, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 142 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8066 + }, + { + "id": 465, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "hardness": 0.4, + "minStateId": 8067, + "maxStateId": 8072, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 6 + } + ], + "drops": [ + 143 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8067 + }, + { + "id": 466, + "displayName": "Purpur Block", + "name": "purpur_block", + "hardness": 1.5, + "minStateId": 8073, + "maxStateId": 8073, + "states": [], + "drops": [ + 144 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8073 + }, + { + "id": 467, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "hardness": 1.5, + "minStateId": 8074, + "maxStateId": 8076, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 145 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8075 + }, + { + "id": 468, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "hardness": 1.5, + "minStateId": 8077, + "maxStateId": 8156, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 146 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8088 + }, + { + "id": 469, + "displayName": "End Stone Bricks", + "name": "end_stone_bricks", + "hardness": 0.8, + "minStateId": 8157, + "maxStateId": 8157, + "states": [], + "drops": [ + 226 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8157 + }, + { + "id": 470, + "displayName": "Beetroots", + "name": "beetroots", + "hardness": 0, + "minStateId": 8158, + "maxStateId": 8161, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 749 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8158 + }, + { + "id": 471, + "displayName": "Grass Path", + "name": "grass_path", + "hardness": 0.65, + "minStateId": 8162, + "maxStateId": 8162, + "states": [], + "drops": [ + 304 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8162 + }, + { + "id": 472, + "displayName": "End Gateway", + "name": "end_gateway", + "hardness": null, + "minStateId": 8163, + "maxStateId": 8163, + "states": [], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 8163 + }, + { + "id": 473, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "hardness": null, + "minStateId": 8164, + "maxStateId": 8175, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 354 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8170 + }, + { + "id": 474, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "hardness": null, + "minStateId": 8176, + "maxStateId": 8187, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 355 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8182 + }, + { + "id": 475, + "displayName": "Frosted Ice", + "name": "frosted_ice", + "hardness": 0.5, + "minStateId": 8188, + "maxStateId": 8191, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 2, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "defaultState": 8188 + }, + { + "id": 476, + "displayName": "Magma Block", + "name": "magma_block", + "hardness": 0.5, + "minStateId": 8192, + "maxStateId": 8192, + "states": [], + "drops": [ + 356 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8192 + }, + { + "id": 477, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "hardness": 1, + "minStateId": 8193, + "maxStateId": 8193, + "states": [], + "drops": [ + 357 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8193 + }, + { + "id": 478, + "displayName": "Red Nether Bricks", + "name": "red_nether_bricks", + "hardness": 2, + "minStateId": 8194, + "maxStateId": 8194, + "states": [], + "drops": [ + 358 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8194 + }, + { + "id": 479, + "displayName": "Bone Block", + "name": "bone_block", + "hardness": 2, + "minStateId": 8195, + "maxStateId": 8197, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 359 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8196 + }, + { + "id": 480, + "displayName": "Structure Void", + "name": "structure_void", + "hardness": 0, + "minStateId": 8198, + "maxStateId": 8198, + "states": [], + "drops": [ + 360 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8198 + }, + { + "id": 481, + "displayName": "Observer", + "name": "observer", + "hardness": 3, + "minStateId": 8199, + "maxStateId": 8210, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 361 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8204 + }, + { + "id": 482, + "displayName": "Shulker Box", + "name": "shulker_box", + "hardness": 2, + "minStateId": 8211, + "maxStateId": 8216, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 362 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8215 + }, + { + "id": 483, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "hardness": 2, + "minStateId": 8217, + "maxStateId": 8222, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 363 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8221 + }, + { + "id": 484, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "hardness": 2, + "minStateId": 8223, + "maxStateId": 8228, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 364 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8227 + }, + { + "id": 485, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "hardness": 2, + "minStateId": 8229, + "maxStateId": 8234, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 365 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8233 + }, + { + "id": 486, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "hardness": 2, + "minStateId": 8235, + "maxStateId": 8240, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 366 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8239 + }, + { + "id": 487, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "hardness": 2, + "minStateId": 8241, + "maxStateId": 8246, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 367 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8245 + }, + { + "id": 488, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "hardness": 2, + "minStateId": 8247, + "maxStateId": 8252, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 368 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8251 + }, + { + "id": 489, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "hardness": 2, + "minStateId": 8253, + "maxStateId": 8258, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 369 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8257 + }, + { + "id": 490, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "hardness": 2, + "minStateId": 8259, + "maxStateId": 8264, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 370 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8263 + }, + { + "id": 491, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "hardness": 2, + "minStateId": 8265, + "maxStateId": 8270, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 371 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8269 + }, + { + "id": 492, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "hardness": 2, + "minStateId": 8271, + "maxStateId": 8276, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 372 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8275 + }, + { + "id": 493, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "hardness": 2, + "minStateId": 8277, + "maxStateId": 8282, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 373 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8281 + }, + { + "id": 494, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "hardness": 2, + "minStateId": 8283, + "maxStateId": 8288, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 374 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8287 + }, + { + "id": 495, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "hardness": 2, + "minStateId": 8289, + "maxStateId": 8294, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 375 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8293 + }, + { + "id": 496, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "hardness": 2, + "minStateId": 8295, + "maxStateId": 8300, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 376 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8299 + }, + { + "id": 497, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "hardness": 2, + "minStateId": 8301, + "maxStateId": 8306, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 377 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8305 + }, + { + "id": 498, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "hardness": 2, + "minStateId": 8307, + "maxStateId": 8312, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 378 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8311 + }, + { + "id": 499, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8313, + "maxStateId": 8316, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 379 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8313 + }, + { + "id": 500, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8317, + "maxStateId": 8320, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 380 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8317 + }, + { + "id": 501, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8321, + "maxStateId": 8324, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 381 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8321 + }, + { + "id": 502, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8325, + "maxStateId": 8328, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 382 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8325 + }, + { + "id": 503, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8329, + "maxStateId": 8332, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 383 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8329 + }, + { + "id": 504, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8333, + "maxStateId": 8336, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 384 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8333 + }, + { + "id": 505, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8337, + "maxStateId": 8340, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 385 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8337 + }, + { + "id": 506, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8341, + "maxStateId": 8344, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 386 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8341 + }, + { + "id": 507, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8345, + "maxStateId": 8348, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 387 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8345 + }, + { + "id": 508, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8349, + "maxStateId": 8352, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 388 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8349 + }, + { + "id": 509, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8353, + "maxStateId": 8356, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 389 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8353 + }, + { + "id": 510, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8357, + "maxStateId": 8360, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 390 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8357 + }, + { + "id": 511, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8361, + "maxStateId": 8364, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 391 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8361 + }, + { + "id": 512, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8365, + "maxStateId": 8368, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 392 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8365 + }, + { + "id": 513, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8369, + "maxStateId": 8372, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 393 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8369 + }, + { + "id": 514, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8373, + "maxStateId": 8376, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 394 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8373 + }, + { + "id": 515, + "displayName": "White Concrete", + "name": "white_concrete", + "hardness": 1.8, + "minStateId": 8377, + "maxStateId": 8377, + "states": [], + "drops": [ + 395 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8377 + }, + { + "id": 516, + "displayName": "Orange Concrete", + "name": "orange_concrete", + "hardness": 1.8, + "minStateId": 8378, + "maxStateId": 8378, + "states": [], + "drops": [ + 396 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8378 + }, + { + "id": 517, + "displayName": "Magenta Concrete", + "name": "magenta_concrete", + "hardness": 1.8, + "minStateId": 8379, + "maxStateId": 8379, + "states": [], + "drops": [ + 397 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8379 + }, + { + "id": 518, + "displayName": "Light Blue Concrete", + "name": "light_blue_concrete", + "hardness": 1.8, + "minStateId": 8380, + "maxStateId": 8380, + "states": [], + "drops": [ + 398 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8380 + }, + { + "id": 519, + "displayName": "Yellow Concrete", + "name": "yellow_concrete", + "hardness": 1.8, + "minStateId": 8381, + "maxStateId": 8381, + "states": [], + "drops": [ + 399 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8381 + }, + { + "id": 520, + "displayName": "Lime Concrete", + "name": "lime_concrete", + "hardness": 1.8, + "minStateId": 8382, + "maxStateId": 8382, + "states": [], + "drops": [ + 400 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8382 + }, + { + "id": 521, + "displayName": "Pink Concrete", + "name": "pink_concrete", + "hardness": 1.8, + "minStateId": 8383, + "maxStateId": 8383, + "states": [], + "drops": [ + 401 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8383 + }, + { + "id": 522, + "displayName": "Gray Concrete", + "name": "gray_concrete", + "hardness": 1.8, + "minStateId": 8384, + "maxStateId": 8384, + "states": [], + "drops": [ + 402 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8384 + }, + { + "id": 523, + "displayName": "Light Gray Concrete", + "name": "light_gray_concrete", + "hardness": 1.8, + "minStateId": 8385, + "maxStateId": 8385, + "states": [], + "drops": [ + 403 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8385 + }, + { + "id": 524, + "displayName": "Cyan Concrete", + "name": "cyan_concrete", + "hardness": 1.8, + "minStateId": 8386, + "maxStateId": 8386, + "states": [], + "drops": [ + 404 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8386 + }, + { + "id": 525, + "displayName": "Purple Concrete", + "name": "purple_concrete", + "hardness": 1.8, + "minStateId": 8387, + "maxStateId": 8387, + "states": [], + "drops": [ + 405 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8387 + }, + { + "id": 526, + "displayName": "Blue Concrete", + "name": "blue_concrete", + "hardness": 1.8, + "minStateId": 8388, + "maxStateId": 8388, + "states": [], + "drops": [ + 406 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8388 + }, + { + "id": 527, + "displayName": "Brown Concrete", + "name": "brown_concrete", + "hardness": 1.8, + "minStateId": 8389, + "maxStateId": 8389, + "states": [], + "drops": [ + 407 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8389 + }, + { + "id": 528, + "displayName": "Green Concrete", + "name": "green_concrete", + "hardness": 1.8, + "minStateId": 8390, + "maxStateId": 8390, + "states": [], + "drops": [ + 408 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8390 + }, + { + "id": 529, + "displayName": "Red Concrete", + "name": "red_concrete", + "hardness": 1.8, + "minStateId": 8391, + "maxStateId": 8391, + "states": [], + "drops": [ + 409 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8391 + }, + { + "id": 530, + "displayName": "Black Concrete", + "name": "black_concrete", + "hardness": 1.8, + "minStateId": 8392, + "maxStateId": 8392, + "states": [], + "drops": [ + 410 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8392 + }, + { + "id": 531, + "displayName": "White Concrete Powder", + "name": "white_concrete_powder", + "hardness": 0.5, + "minStateId": 8393, + "maxStateId": 8393, + "states": [], + "drops": [ + 411 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8393 + }, + { + "id": 532, + "displayName": "Orange Concrete Powder", + "name": "orange_concrete_powder", + "hardness": 0.5, + "minStateId": 8394, + "maxStateId": 8394, + "states": [], + "drops": [ + 412 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8394 + }, + { + "id": 533, + "displayName": "Magenta Concrete Powder", + "name": "magenta_concrete_powder", + "hardness": 0.5, + "minStateId": 8395, + "maxStateId": 8395, + "states": [], + "drops": [ + 413 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8395 + }, + { + "id": 534, + "displayName": "Light Blue Concrete Powder", + "name": "light_blue_concrete_powder", + "hardness": 0.5, + "minStateId": 8396, + "maxStateId": 8396, + "states": [], + "drops": [ + 414 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8396 + }, + { + "id": 535, + "displayName": "Yellow Concrete Powder", + "name": "yellow_concrete_powder", + "hardness": 0.5, + "minStateId": 8397, + "maxStateId": 8397, + "states": [], + "drops": [ + 415 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8397 + }, + { + "id": 536, + "displayName": "Lime Concrete Powder", + "name": "lime_concrete_powder", + "hardness": 0.5, + "minStateId": 8398, + "maxStateId": 8398, + "states": [], + "drops": [ + 416 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8398 + }, + { + "id": 537, + "displayName": "Pink Concrete Powder", + "name": "pink_concrete_powder", + "hardness": 0.5, + "minStateId": 8399, + "maxStateId": 8399, + "states": [], + "drops": [ + 417 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8399 + }, + { + "id": 538, + "displayName": "Gray Concrete Powder", + "name": "gray_concrete_powder", + "hardness": 0.5, + "minStateId": 8400, + "maxStateId": 8400, + "states": [], + "drops": [ + 418 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8400 + }, + { + "id": 539, + "displayName": "Light Gray Concrete Powder", + "name": "light_gray_concrete_powder", + "hardness": 0.5, + "minStateId": 8401, + "maxStateId": 8401, + "states": [], + "drops": [ + 419 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8401 + }, + { + "id": 540, + "displayName": "Cyan Concrete Powder", + "name": "cyan_concrete_powder", + "hardness": 0.5, + "minStateId": 8402, + "maxStateId": 8402, + "states": [], + "drops": [ + 420 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8402 + }, + { + "id": 541, + "displayName": "Purple Concrete Powder", + "name": "purple_concrete_powder", + "hardness": 0.5, + "minStateId": 8403, + "maxStateId": 8403, + "states": [], + "drops": [ + 421 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8403 + }, + { + "id": 542, + "displayName": "Blue Concrete Powder", + "name": "blue_concrete_powder", + "hardness": 0.5, + "minStateId": 8404, + "maxStateId": 8404, + "states": [], + "drops": [ + 422 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8404 + }, + { + "id": 543, + "displayName": "Brown Concrete Powder", + "name": "brown_concrete_powder", + "hardness": 0.5, + "minStateId": 8405, + "maxStateId": 8405, + "states": [], + "drops": [ + 423 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8405 + }, + { + "id": 544, + "displayName": "Green Concrete Powder", + "name": "green_concrete_powder", + "hardness": 0.5, + "minStateId": 8406, + "maxStateId": 8406, + "states": [], + "drops": [ + 424 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8406 + }, + { + "id": 545, + "displayName": "Red Concrete Powder", + "name": "red_concrete_powder", + "hardness": 0.5, + "minStateId": 8407, + "maxStateId": 8407, + "states": [], + "drops": [ + 425 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8407 + }, + { + "id": 546, + "displayName": "Black Concrete Powder", + "name": "black_concrete_powder", + "hardness": 0.5, + "minStateId": 8408, + "maxStateId": 8408, + "states": [], + "drops": [ + 426 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8408 + }, + { + "id": 547, + "displayName": "Kelp", + "name": "kelp", + "hardness": 0, + "minStateId": 8409, + "maxStateId": 8434, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 26 + } + ], + "drops": [ + 554 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8409 + }, + { + "id": 548, + "displayName": "Kelp Plant", + "name": "kelp_plant", + "hardness": 0, + "minStateId": 8435, + "maxStateId": 8435, + "states": [], + "drops": [ + 554 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8435 + }, + { + "id": 549, + "displayName": "Dried Kelp Block", + "name": "dried_kelp_block", + "hardness": 0.5, + "minStateId": 8436, + "maxStateId": 8436, + "states": [], + "drops": [ + 555 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8436 + }, + { + "id": 550, + "displayName": "Turtle Egg", + "name": "turtle_egg", + "hardness": 0.5, + "minStateId": 8437, + "maxStateId": 8448, + "states": [ + { + "name": "eggs", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "hatch", + "type": "int", + "num_values": 3 + } + ], + "drops": [ + 427 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8437 + }, + { + "id": 551, + "displayName": "Dead Tube Coral Block", + "name": "dead_tube_coral_block", + "hardness": 1.5, + "minStateId": 8449, + "maxStateId": 8449, + "states": [], + "drops": [ + 428 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8449 + }, + { + "id": 552, + "displayName": "Dead Brain Coral Block", + "name": "dead_brain_coral_block", + "hardness": 1.5, + "minStateId": 8450, + "maxStateId": 8450, + "states": [], + "drops": [ + 429 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8450 + }, + { + "id": 553, + "displayName": "Dead Bubble Coral Block", + "name": "dead_bubble_coral_block", + "hardness": 1.5, + "minStateId": 8451, + "maxStateId": 8451, + "states": [], + "drops": [ + 430 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8451 + }, + { + "id": 554, + "displayName": "Dead Fire Coral Block", + "name": "dead_fire_coral_block", + "hardness": 1.5, + "minStateId": 8452, + "maxStateId": 8452, + "states": [], + "drops": [ + 431 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8452 + }, + { + "id": 555, + "displayName": "Dead Horn Coral Block", + "name": "dead_horn_coral_block", + "hardness": 1.5, + "minStateId": 8453, + "maxStateId": 8453, + "states": [], + "drops": [ + 432 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8453 + }, + { + "id": 556, + "displayName": "Tube Coral Block", + "name": "tube_coral_block", + "hardness": 1.5, + "minStateId": 8454, + "maxStateId": 8454, + "states": [], + "drops": [ + 433 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8454 + }, + { + "id": 557, + "displayName": "Brain Coral Block", + "name": "brain_coral_block", + "hardness": 1.5, + "minStateId": 8455, + "maxStateId": 8455, + "states": [], + "drops": [ + 434 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8455 + }, + { + "id": 558, + "displayName": "Bubble Coral Block", + "name": "bubble_coral_block", + "hardness": 1.5, + "minStateId": 8456, + "maxStateId": 8456, + "states": [], + "drops": [ + 435 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8456 + }, + { + "id": 559, + "displayName": "Fire Coral Block", + "name": "fire_coral_block", + "hardness": 1.5, + "minStateId": 8457, + "maxStateId": 8457, + "states": [], + "drops": [ + 436 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8457 + }, + { + "id": 560, + "displayName": "Horn Coral Block", + "name": "horn_coral_block", + "hardness": 1.5, + "minStateId": 8458, + "maxStateId": 8458, + "states": [], + "drops": [ + 437 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "468": true, + "482": true, + "486": true, + "490": true, + "497": true + }, + "defaultState": 8458 + }, + { + "id": 561, + "displayName": "Tube Coral", + "name": "tube_coral", + "hardness": 0, + "minStateId": 8459, + "maxStateId": 8459, + "states": [], + "drops": [ + 438 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8459 + }, + { + "id": 562, + "displayName": "Brain Coral", + "name": "brain_coral", + "hardness": 0, + "minStateId": 8460, + "maxStateId": 8460, + "states": [], + "drops": [ + 439 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8460 + }, + { + "id": 563, + "displayName": "Bubble Coral", + "name": "bubble_coral", + "hardness": 0, + "minStateId": 8461, + "maxStateId": 8461, + "states": [], + "drops": [ + 440 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8461 + }, + { + "id": 564, + "displayName": "Fire Coral", + "name": "fire_coral", + "hardness": 0, + "minStateId": 8462, + "maxStateId": 8462, + "states": [], + "drops": [ + 441 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8462 + }, + { + "id": 565, + "displayName": "Horn Coral", + "name": "horn_coral", + "hardness": 0, + "minStateId": 8463, + "maxStateId": 8463, + "states": [], + "drops": [ + 442 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8463 + }, + { + "id": 566, + "displayName": "Dead Tube Coral Wall Fan", + "name": "dead_tube_coral_wall_fan", + "hardness": 0, + "minStateId": 8464, + "maxStateId": 8471, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 448 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8464 + }, + { + "id": 567, + "displayName": "Dead Brain Coral Wall Fan", + "name": "dead_brain_coral_wall_fan", + "hardness": 0, + "minStateId": 8472, + "maxStateId": 8479, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 449 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8472 + }, + { + "id": 568, + "displayName": "Dead Bubble Coral Wall Fan", + "name": "dead_bubble_coral_wall_fan", + "hardness": 0, + "minStateId": 8480, + "maxStateId": 8487, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 450 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8480 + }, + { + "id": 569, + "displayName": "Dead Fire Coral Wall Fan", + "name": "dead_fire_coral_wall_fan", + "hardness": 0, + "minStateId": 8488, + "maxStateId": 8495, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 451 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8488 + }, + { + "id": 570, + "displayName": "Dead Horn Coral Wall Fan", + "name": "dead_horn_coral_wall_fan", + "hardness": 0, + "minStateId": 8496, + "maxStateId": 8503, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 452 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8496 + }, + { + "id": 571, + "displayName": "Tube Coral Wall Fan", + "name": "tube_coral_wall_fan", + "hardness": 0, + "minStateId": 8504, + "maxStateId": 8511, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 443 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8504 + }, + { + "id": 572, + "displayName": "Brain Coral Wall Fan", + "name": "brain_coral_wall_fan", + "hardness": 0, + "minStateId": 8512, + "maxStateId": 8519, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 444 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8512 + }, + { + "id": 573, + "displayName": "Bubble Coral Wall Fan", + "name": "bubble_coral_wall_fan", + "hardness": 0, + "minStateId": 8520, + "maxStateId": 8527, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 445 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8520 + }, + { + "id": 574, + "displayName": "Fire Coral Wall Fan", + "name": "fire_coral_wall_fan", + "hardness": 0, + "minStateId": 8528, + "maxStateId": 8535, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 446 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8528 + }, + { + "id": 575, + "displayName": "Horn Coral Wall Fan", + "name": "horn_coral_wall_fan", + "hardness": 0, + "minStateId": 8536, + "maxStateId": 8543, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 447 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8536 + }, + { + "id": 576, + "displayName": "Dead Tube Coral Fan", + "name": "dead_tube_coral_fan", + "hardness": 0, + "minStateId": 8544, + "maxStateId": 8545, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 448 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8544 + }, + { + "id": 577, + "displayName": "Dead Brain Coral Fan", + "name": "dead_brain_coral_fan", + "hardness": 0, + "minStateId": 8546, + "maxStateId": 8547, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 449 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8546 + }, + { + "id": 578, + "displayName": "Dead Bubble Coral Fan", + "name": "dead_bubble_coral_fan", + "hardness": 0, + "minStateId": 8548, + "maxStateId": 8549, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 450 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8548 + }, + { + "id": 579, + "displayName": "Dead Fire Coral Fan", + "name": "dead_fire_coral_fan", + "hardness": 0, + "minStateId": 8550, + "maxStateId": 8551, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 451 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8550 + }, + { + "id": 580, + "displayName": "Dead Horn Coral Fan", + "name": "dead_horn_coral_fan", + "hardness": 0, + "minStateId": 8552, + "maxStateId": 8553, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 452 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8552 + }, + { + "id": 581, + "displayName": "Tube Coral Fan", + "name": "tube_coral_fan", + "hardness": 0, + "minStateId": 8554, + "maxStateId": 8555, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 443 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8554 + }, + { + "id": 582, + "displayName": "Brain Coral Fan", + "name": "brain_coral_fan", + "hardness": 0, + "minStateId": 8556, + "maxStateId": 8557, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 444 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8556 + }, + { + "id": 583, + "displayName": "Bubble Coral Fan", + "name": "bubble_coral_fan", + "hardness": 0, + "minStateId": 8558, + "maxStateId": 8559, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 445 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8558 + }, + { + "id": 584, + "displayName": "Fire Coral Fan", + "name": "fire_coral_fan", + "hardness": 0, + "minStateId": 8560, + "maxStateId": 8561, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 446 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8560 + }, + { + "id": 585, + "displayName": "Horn Coral Fan", + "name": "horn_coral_fan", + "hardness": 0, + "minStateId": 8562, + "maxStateId": 8563, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 447 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8562 + }, + { + "id": 586, + "displayName": "Sea Pickle", + "name": "sea_pickle", + "hardness": 0, + "minStateId": 8564, + "maxStateId": 8571, + "states": [ + { + "name": "pickles", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 80 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8564 + }, + { + "id": 587, + "displayName": "Blue Ice", + "name": "blue_ice", + "hardness": 2.8, + "minStateId": 8572, + "maxStateId": 8572, + "states": [], + "drops": [ + 453 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8572 + }, + { + "id": 588, + "displayName": "Conduit", + "name": "conduit", + "hardness": 3, + "minStateId": 8573, + "maxStateId": 8573, + "states": [], + "drops": [ + 454 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 8573 + }, + { + "id": 589, + "displayName": "Void Air", + "name": "void_air", + "hardness": 0, + "minStateId": 8574, + "maxStateId": 8574, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 8574 + }, + { + "id": 590, + "displayName": "Cave Air", + "name": "cave_air", + "hardness": 0, + "minStateId": 8575, + "maxStateId": 8575, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 8575 + }, + { + "id": 591, + "displayName": "Bubble Column", + "name": "bubble_column", + "hardness": 0, + "minStateId": 8576, + "maxStateId": 8577, + "states": [ + { + "name": "drag", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 8576 + }, + { + "id": 592, + "displayName": "Structure Block", + "name": "structure_block", + "hardness": null, + "minStateId": 8578, + "maxStateId": 8581, + "states": [ + { + "name": "mode", + "type": "enum", + "num_values": 4, + "values": [ + "save", + "load", + "corner", + "data" + ] + } + ], + "drops": [ + 464 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8578 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/commands.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/commands.json new file mode 100644 index 00000000..e2d2cbf9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/commands.json @@ -0,0 +1,13611 @@ +{ + "root": { + "type": "root", + "name": "root", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "advancement", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "grant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "revoke", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "base", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modifier", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply_base", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "ban", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ban-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "banlist", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ips", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "visible", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "blue", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "green", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pink", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "purple", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "red", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "white", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "yellow", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "max", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ] + }, + { + "type": "literal", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "style", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "notched_10", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_12", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_20", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_6", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "progress", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "visible", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "visible", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxCount", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "clone", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "begin", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "filtered", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "datapack", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "disable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "after", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "before", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "first", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "last", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "available", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "enabled", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ] + }, + { + "type": "literal", + "name": "debug", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "report", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "start", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "defaultgamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "deop", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "difficulty", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "easy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hard", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "peaceful", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "effect", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "seconds", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amplifier", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "hideParticles", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + } + } + } + ], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "enchant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "enchantment", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "level", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_enchantment", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "execute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "align", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "axes", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:swizzle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "anchored", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "at", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "if", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "in", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "dimension", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:dimension", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "positioned", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rotated", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "rot", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "run", + "executable": false, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "store", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "result", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "success", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "unless", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "experience", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "fill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hollow", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "outline", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forceload", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "gamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "gamerule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "announceAdvancements", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "commandBlockOutput", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableElytraMovementCheck", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableRaids", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doDaylightCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doEntityDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doFireTick", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doImmediateRespawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doInsomnia", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doLimitedCrafting", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobLoot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doPatrolSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTileDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTraderSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doWeatherCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "drowningDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fallDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fireDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forgiveDeadPlayers", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "keepInventory", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "logAdminCommands", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxCommandChainLength", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxEntityCramming", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mobGriefing", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "naturalRegeneration", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "randomTickSpeed", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "reducedDebugInfo", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "sendCommandFeedback", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "showDeathMessages", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnRadius", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spectatorsGenerateChunks", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "universalAnger", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "help", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "command", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "kick", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "uuids", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "bastion_remnant", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "buried_treasure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "desert_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "endcity", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "fortress", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "igloo", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "jungle_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mansion", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mineshaft", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "monument", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "nether_fossil", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ocean_ruin", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pillager_outpost", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ruined_portal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "shipwreck", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stronghold", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "swamp_hut", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "village", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locatebiome", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "biome", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "spawn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "me", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "action", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "msg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "op", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "particle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "delta", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "speed", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:particle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "playsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ambient", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "publish", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "port", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + } + } + } + ] + }, + { + "type": "literal", + "name": "recipe", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "take", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replaceitem", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "save-all", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "flush", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "save-off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "save-on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "say", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "schedule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "scoreboard", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "objectives", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criteria", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective_criteria", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "displayname", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rendertype", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "hearts", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "integer", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setdisplay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:scoreboard_slot", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:operation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "reset", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "seed", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "setblock", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setidletimeout", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minutes", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "setworldspawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnpoint", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectate", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "player", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "spreadplayers", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "spreadDistance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxRange", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "under", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxHeight", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stopsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ambient", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "summon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity_summon", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tag", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "empty", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "join", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "leave", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "collisionRule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOwnTeam", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:color", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "deathMessageVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "displayName", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "friendlyFire", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "nametagVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "prefix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "prefix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "seeFriendlyInvisibles", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "suffix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "suffix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "teammsg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "teleport", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "tell", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tellraw", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "daytime", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "gametime", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "midnight", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "night", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "noon", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "actionbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reset", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "subtitle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "times", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeIn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "stay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeOut", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tm", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "trigger", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "w", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "rain", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "thunder", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "whitelist", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "worldborder", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "damage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "amount", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "damagePerBlock", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "buffer", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "warning", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "distance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "xp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + } + ] + }, + "parsers": [ + { + "parser": "minecraft:resource_location", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + }, + "examples": [ + "word", + "words with spaces", + "\\\" and symbols\\\"" + ] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + }, + "examples": [ + "@a" + ] + }, + { + "parser": "brigadier:double", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + }, + "examples": [ + "\\\"quoted phrase\\\"", + "word", + "" + ] + }, + { + "parser": "minecraft:uuid", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:message", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:game_profile", + "modifier": null, + "examples": [ + "Player", + "0123", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "@e" + ] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "word" + }, + "examples": [ + "word", + "word_with_underscore" + ] + }, + { + "parser": "minecraft:component", + "modifier": null, + "examples": [ + "\"hello world\"", + "\"\"", + "\"{\"text\":\"hello world\"}\"", + "[\"\"]" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + }, + "examples": [ + "1" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + }, + "examples": [ + "0", + "1" + ] + }, + { + "parser": "brigadier:bool", + "modifier": null, + "examples": [ + "true", + "false" + ] + }, + { + "parser": "minecraft:item_predicate", + "modifier": null, + "examples": [ + "stick", + "minecraft:stick", + "#stick", + "diamond_sword{ench:[{id:16,lvl:5}]}" + ] + }, + { + "parser": "minecraft:block_predicate", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "#stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:block_pos", + "modifier": null, + "examples": [ + "0 0 0", + "~ ~ ~", + "^ ^ ^", + "^1 ^ ^-5", + "~0.5 ~1 ~-5" + ] + }, + { + "parser": "minecraft:nbt_path", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_compound_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:integer", + "modifier": null, + "examples": [ + "1", + "0", + "10" + ] + }, + { + "parser": "minecraft:mob_effect", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + }, + "examples": [ + "@e", + "@e[type=cow]", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "Player" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + }, + "examples": [ + "0", + "255" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + }, + "examples": [ + "1", + "1000000" + ] + }, + { + "parser": "minecraft:item_enchantment", + "modifier": null, + "examples": [ + "unbreaking", + "minecraft:slik_touch" + ] + }, + { + "parser": "minecraft:swizzle", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_anchor", + "modifier": null, + "examples": [ + "eyes", + "feet" + ] + }, + { + "parser": "minecraft:vec3", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + }, + "examples": [] + }, + { + "parser": "minecraft:int_range", + "modifier": null, + "examples": [ + "0..5", + "0", + "-5", + "-100..", + "..100" + ] + }, + { + "parser": "minecraft:dimension", + "modifier": null, + "examples": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end", + "overworld", + "the_end", + "the_nether" + ] + }, + { + "parser": "minecraft:rotation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + }, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:block_state", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:column_pos", + "modifier": null, + "examples": [ + "0 0", + "~ ~", + "~1 ~-2", + "^ ^", + "^-1 ^0" + ] + }, + { + "parser": "minecraft:function", + "modifier": null, + "examples": [ + "foo", + "foo:bar", + "#foo" + ] + }, + { + "parser": "minecraft:item_stack", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:item_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + }, + "examples": [ + "0.0", + "0", + "1", + "0.01" + ] + }, + { + "parser": "minecraft:particle", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + }, + "examples": [ + "0.0", + "0", + "1", + "1.0", + "0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + }, + "examples": [ + "0", + "2", + "1.0", + "2.0" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + }, + "examples": [ + "0", + "65535" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + }, + "examples": [ + "1", + "64" + ] + }, + { + "parser": "minecraft:time", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective_criteria", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:scoreboard_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:operation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:angle", + "modifier": null, + "examples": [ + "0", + "~", + "~-0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + }, + "examples": [ + "1", + "1.0", + "1.000" + ] + }, + { + "parser": "minecraft:vec2", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_summon", + "modifier": null, + "examples": [ + "minecraft:pig", + "cow" + ] + }, + { + "parser": "minecraft:team", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:color", + "modifier": null, + "examples": [ + "aqua", + "black", + "blue", + "dark_aqua", + "dark_blue", + "dark_gray", + "dark_green", + "dark_purple", + "dark_red", + "gold", + "gray", + "green", + "light_purple", + "red", + "reset", + "yellow", + "white" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + }, + "examples": [ + "0", + "1000000" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + }, + "examples": [] + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/effects.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/effects.json new file mode 100644 index 00000000..07d48775 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/effects.json @@ -0,0 +1,182 @@ +[ + { + "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" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/enchantments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/enchantments.json new file mode 100644 index 00000000..cfccf51b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/enchantments.json @@ -0,0 +1,172 @@ +[ + { + "id": 0, + "name": "protection", + "displayName": "Protection" + }, + { + "id": 1, + "name": "fire_protection", + "displayName": "Fire Protection" + }, + { + "id": 2, + "name": "feather_falling", + "displayName": "Feather Falling" + }, + { + "id": 3, + "name": "blast_protection", + "displayName": "Blast Protection" + }, + { + "id": 4, + "name": "projectile_protection", + "displayName": "Projectile Protection" + }, + { + "id": 5, + "name": "respiration", + "displayName": "Respiration" + }, + { + "id": 6, + "name": "aqua_affinity", + "displayName": "Aqua Affinity" + }, + { + "id": 7, + "name": "thorns", + "displayName": "Thorns" + }, + { + "id": 8, + "name": "depth_strider", + "displayName": "Depth Strider" + }, + { + "id": 9, + "name": "frost_walker", + "displayName": "Frost Walker" + }, + { + "id": 10, + "name": "binding_curse", + "displayName": "Curse of Binding" + }, + { + "id": 16, + "name": "sharpness", + "displayName": "Sharpness" + }, + { + "id": 17, + "name": "smite", + "displayName": "Smite" + }, + { + "id": 18, + "name": "bane_of_arthropods", + "displayName": "Bane of Arthropods" + }, + { + "id": 19, + "name": "knockback", + "displayName": "Knockback" + }, + { + "id": 20, + "name": "fire_aspect", + "displayName": "Fire Aspect" + }, + { + "id": 21, + "name": "looting", + "displayName": "Looting" + }, + { + "id": 22, + "name": "sweeping", + "displayName": "Sweeping Edge" + }, + { + "id": 32, + "name": "efficiency", + "displayName": "Efficiency" + }, + { + "id": 33, + "name": "silk_touch", + "displayName": "Silk Touch" + }, + { + "id": 34, + "name": "unbreaking", + "displayName": "Unbreaking" + }, + { + "id": 35, + "name": "fortune", + "displayName": "Fortune" + }, + { + "id": 48, + "name": "power", + "displayName": "Power" + }, + { + "id": 49, + "name": "punch", + "displayName": "Punch" + }, + { + "id": 50, + "name": "flame", + "displayName": "Flame" + }, + { + "id": 51, + "name": "infinity", + "displayName": "Infinity" + }, + { + "id": 61, + "name": "luck_of_the_sea", + "displayName": "Luck of the Sea" + }, + { + "id": 62, + "name": "lure", + "displayName": "Lure" + }, + { + "id": 65, + "name": "loyality", + "displayName": "Loyality" + }, + { + "id": 66, + "name": "impaling", + "displayName": "Impaling" + }, + { + "id": 67, + "name": "Riptide", + "displayName": "riptide" + }, + { + "id": 68, + "name": "channeling", + "displayName": "Channeling" + }, + { + "id": 70, + "name": "mending", + "displayName": "Mending" + }, + { + "id": 71, + "name": "vanishing_curse", + "displayName": "Curse of Vanishing" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/entities.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/entities.json new file mode 100644 index 00000000..c98d37a7 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/entities.json @@ -0,0 +1,1194 @@ +[ + { + "id": 0, + "internalId": 0, + "name": "area_effect_cloud", + "displayName": "AreaEffectCloud", + "width": null, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 1, + "internalId": 1, + "name": "armor_stand", + "displayName": "ArmorStand", + "width": null, + "height": null, + "type": "mob", + "category": "Immobile" + }, + { + "id": 2, + "internalId": 2, + "name": "arrow", + "displayName": "Arrow", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 3, + "internalId": 3, + "name": "bat", + "displayName": "Bat", + "width": 0.5, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 4, + "internalId": 4, + "name": "blaze", + "displayName": "Blaze", + "width": 0.6, + "height": 1.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 5, + "internalId": 5, + "name": "boat", + "displayName": "Boat", + "width": 1.375, + "height": 0.5625, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 6, + "internalId": 6, + "name": "cave_spider", + "displayName": "CaveSpider", + "width": 0.7, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 7, + "internalId": 7, + "name": "chicken", + "displayName": "Chicken", + "width": 0.4, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 8, + "internalId": 8, + "name": "cod", + "displayName": "Cod", + "width": 0.9, + "height": 1.4, + "type": "mob" + }, + { + "id": 9, + "internalId": 9, + "name": "cow", + "displayName": "Cow", + "width": 0.9, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 10, + "internalId": 10, + "name": "creeper", + "displayName": "Creeper", + "width": 0.6, + "height": 1.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 11, + "internalId": 11, + "name": "donkey", + "displayName": "Donkey", + "width": 1.3964844, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 12, + "internalId": 12, + "name": "dolphin", + "displayName": "Dolphin", + "width": 0.9, + "height": 0.6, + "type": "mob" + }, + { + "id": 13, + "internalId": 13, + "name": "dragon_fireball", + "displayName": "DragonFireball", + "width": 1, + "height": 1, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 14, + "internalId": 14, + "name": "drowned", + "displayName": "Drowned", + "width": null, + "height": null, + "type": "mob" + }, + { + "id": 15, + "internalId": 15, + "name": "elder_guardian", + "displayName": "ElderGuardian", + "width": null, + "height": null, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 16, + "internalId": 16, + "name": "end_crystal", + "displayName": "EnderCrystal", + "width": 2, + "height": 2, + "type": "mob" + }, + { + "id": 17, + "internalId": 17, + "name": "ender_dragon", + "displayName": "EnderDragon", + "width": 16, + "height": 8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 18, + "internalId": 18, + "name": "enderman", + "displayName": "Enderman", + "width": 0.6, + "height": 2.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 19, + "internalId": 19, + "name": "endermite", + "displayName": "Endermite", + "width": 0.4, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 20, + "internalId": 20, + "name": "evoker_fangs", + "displayName": "EvocationFangs", + "width": 0.5, + "height": 0.8, + "type": "mob" + }, + { + "id": 21, + "internalId": 21, + "name": "evoker", + "displayName": "EvocationIllager", + "width": 0.6, + "height": 1.95, + "type": "mob" + }, + { + "id": 22, + "internalId": 22, + "name": "experience_orb", + "displayName": "XPOrb", + "width": 0.5, + "height": 0.5, + "type": "mob" + }, + { + "id": 23, + "internalId": 23, + "name": "eye_of_ender", + "displayName": "EyeOfEnderSignal", + "width": 0.25, + "height": 0.25, + "type": "mob" + }, + { + "id": 24, + "internalId": 24, + "name": "falling_block", + "displayName": "FallingSand", + "width": 0.98, + "height": 0.98, + "type": "mob", + "category": "Blocks" + }, + { + "id": 25, + "internalId": 25, + "name": "fireworks_rocket", + "displayName": "FireworksRocketEntity", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 26, + "internalId": 26, + "name": "ghast", + "displayName": "Ghast", + "width": 4, + "height": 4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 27, + "internalId": 27, + "name": "giant", + "displayName": "Giant", + "width": 3.6, + "height": 10.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 28, + "internalId": 28, + "name": "guardian", + "displayName": "Guardian", + "width": 0.85, + "height": 0.85, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 29, + "internalId": 29, + "name": "horse", + "displayName": "Horse (EntityHorse until 1.11)", + "width": 1.3964844, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 30, + "internalId": 30, + "name": "husk", + "displayName": "Husk", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 31, + "internalId": 31, + "name": "illusioner", + "displayName": "IllusionIllager", + "width": 0.6, + "height": 1.95, + "type": "mob" + }, + { + "id": 32, + "internalId": 32, + "name": "item", + "displayName": "Item", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Drops" + }, + { + "id": 33, + "internalId": 33, + "name": "item_frame", + "displayName": "ItemFrame", + "width": 0.75, + "height": 0.75, + "type": "mob", + "category": "Immobile" + }, + { + "id": 34, + "internalId": 34, + "name": "fireball", + "displayName": "Fireball (ghast)", + "width": 1, + "height": 1, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 35, + "internalId": 35, + "name": "leash_knot", + "displayName": "LeashKnot", + "width": 0.375, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 36, + "internalId": 36, + "name": "llama", + "displayName": "Llama", + "width": 0.9, + "height": 1.87, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 37, + "internalId": 37, + "name": "llama_spit", + "displayName": "LlamaSpit", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 38, + "internalId": 38, + "name": "magma_cube", + "displayName": "LavaSlime (Magma Cube)", + "width": 0.51000005, + "height": 0.51000005, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 39, + "internalId": 39, + "name": "minecart", + "displayName": "MinecartRideable", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 40, + "internalId": 40, + "name": "chest_minecart", + "displayName": "MinecartChest", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 41, + "internalId": 41, + "name": "commandblock_minecart", + "displayName": "MinecartCommandBlock", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 42, + "internalId": 42, + "name": "furnace_minecart", + "displayName": "MinecartFurnace", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 43, + "internalId": 43, + "name": "hopper_minecart", + "displayName": "MinecartHopper", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 44, + "internalId": 44, + "name": "spawner_minecart", + "displayName": "MinecartSpawner", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 45, + "internalId": 45, + "name": "tnt_minecart", + "displayName": "MinecartTNT", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 46, + "internalId": 46, + "name": "mule", + "displayName": "Mule", + "width": 1.3964844, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 47, + "internalId": 47, + "name": "mooshroom", + "displayName": "MushroomCow (Mooshroom)", + "width": 0.9, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 48, + "internalId": 48, + "name": "ocelot", + "displayName": "Ozelot (Ocelot)", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 49, + "internalId": 49, + "name": "painting", + "displayName": "Painting", + "width": null, + "height": null, + "type": "mob", + "category": "Immobile" + }, + { + "id": 50, + "internalId": 50, + "name": "parrot", + "displayName": "Parrot", + "width": 0.5, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 51, + "internalId": 51, + "name": "pig", + "displayName": "Pig", + "width": 0.9, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 52, + "internalId": 52, + "name": "pufferfish", + "displayName": "Pufferfish", + "width": null, + "height": null, + "type": "mob" + }, + { + "id": 53, + "internalId": 53, + "name": "zombie_pigman", + "displayName": "PigZombie", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 54, + "internalId": 54, + "name": "polar_bear", + "displayName": "PolarBear", + "width": 1.3, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 55, + "internalId": 55, + "name": "tnt", + "displayName": "PrimedTnt", + "width": 0.98, + "height": 0.98, + "type": "mob", + "category": "Blocks" + }, + { + "id": 56, + "internalId": 56, + "name": "rabbit", + "displayName": "Rabbit", + "width": 0.4, + "height": 0.5, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 57, + "internalId": 57, + "name": "salmon", + "displayName": "Salmon", + "width": null, + "height": null, + "type": "mob" + }, + { + "id": 58, + "internalId": 58, + "name": "sheep", + "displayName": "Sheep", + "width": 0.9, + "height": 1.3, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 59, + "internalId": 59, + "name": "shulker", + "displayName": "Shulker", + "width": 1, + "height": 1, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 60, + "internalId": 60, + "name": "shulker_bullet", + "displayName": "ShulkerBullet", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 61, + "internalId": 61, + "name": "silverfish", + "displayName": "Silverfish", + "width": 0.4, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 62, + "internalId": 62, + "name": "skeleton", + "displayName": "Skeleton", + "width": 0.6, + "height": 1.99, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 63, + "internalId": 63, + "name": "skeleton_horse", + "displayName": "SkeletonHorse", + "width": 1.3964844, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 64, + "internalId": 64, + "name": "slime", + "displayName": "Slime", + "width": 0.51000005, + "height": 0.51000005, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 65, + "internalId": 65, + "name": "small_fireball", + "displayName": "SmallFireball (blaze)", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 66, + "internalId": 66, + "name": "snow_golem", + "displayName": "SnowMan", + "width": 0.7, + "height": 1.9, + "type": "mob" + }, + { + "id": 67, + "internalId": 67, + "name": "snowball", + "displayName": "Snowball", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 68, + "internalId": 68, + "name": "spectral_arrow", + "displayName": "SpectralArrow", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 69, + "internalId": 69, + "name": "spider", + "displayName": "Spider", + "width": 1.4, + "height": 0.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 70, + "internalId": 70, + "name": "squid", + "displayName": "Squid", + "width": 0.8, + "height": 0.8, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 71, + "internalId": 71, + "name": "stray", + "displayName": "Stray", + "width": 0.6, + "height": 1.99, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 72, + "internalId": 72, + "name": "tropical_fish", + "displayName": "Tropical Fish", + "width": 0.5, + "height": 0.4, + "type": "mob" + }, + { + "id": 73, + "internalId": 73, + "name": "turtle", + "displayName": "Turtle", + "width": 1.2, + "height": 0.4, + "type": "mob" + }, + { + "id": 74, + "internalId": 74, + "name": "egg", + "displayName": "ThrownEgg", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 75, + "internalId": 75, + "name": "ender_pearl", + "displayName": "ThrownEnderpearl", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 76, + "internalId": 76, + "name": "experience_bottle", + "displayName": "ThrownExpBottle", + "width": 0.25, + "height": 0.25, + "type": "mob" + }, + { + "id": 77, + "internalId": 77, + "name": "potion", + "displayName": "ThrownPotion", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 78, + "internalId": 78, + "name": "vex", + "displayName": "Vex", + "width": 0.4, + "height": 0.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 79, + "internalId": 79, + "name": "villager", + "displayName": "Villager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 80, + "internalId": 80, + "name": "iron_golem}", + "displayName": "VillagerGolem (Iron Golem)", + "width": 1.4, + "height": 2.7, + "type": "mob" + }, + { + "id": 81, + "internalId": 81, + "name": "vindicator", + "displayName": "VindicationIllager", + "width": 0.6, + "height": 1.95, + "type": "mob" + }, + { + "id": 82, + "internalId": 82, + "name": "witch", + "displayName": "Witch", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 83, + "internalId": 83, + "name": "wither", + "displayName": "WitherBoss", + "width": 0.9, + "height": 3.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 84, + "internalId": 84, + "name": "wither_skeleton", + "displayName": "WitherSkeleton", + "width": 0.7, + "height": 2.4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 85, + "internalId": 85, + "name": "wither_skull", + "displayName": "WitherSkull", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 86, + "internalId": 86, + "name": "wolf", + "displayName": "Wolf", + "width": 0.6, + "height": 0.85, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 87, + "internalId": 87, + "name": "zombie", + "displayName": "Zombie", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 88, + "internalId": 88, + "name": "zombie_horse", + "displayName": "ZombieHorse", + "width": 1.3964844, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 89, + "internalId": 89, + "name": "zombie_villager", + "displayName": "ZombieVillager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 90, + "internalId": 90, + "name": "phantom", + "displayName": "Phantom", + "width": 0.9, + "height": 0.5, + "type": "mob" + }, + { + "id": 91, + "internalId": 91, + "name": "lightning_bolt", + "displayName": "Lightning Bolt", + "width": null, + "height": null, + "type": "mob" + }, + { + "id": 92, + "internalId": 92, + "name": "player", + "displayName": "Player", + "width": null, + "height": null, + "type": "mob" + }, + { + "id": 93, + "internalId": 93, + "name": "fishing_bobber", + "displayName": "Fishing bobber", + "width": null, + "height": null, + "type": "mob" + }, + { + "id": 94, + "internalId": 94, + "name": "trident", + "displayName": "Trident", + "width": null, + "height": null, + "type": "mob" + }, + { + "id": 1, + "internalId": 1, + "name": "boat", + "displayName": "Boat", + "width": 1.375, + "height": 0.6, + "type": "object", + "category": "Vehicles" + }, + { + "id": 2, + "internalId": 2, + "name": "item_stack", + "displayName": "Item Stack ([[Slot]])", + "width": 0.25, + "height": 0.25, + "type": "object" + }, + { + "id": 3, + "internalId": 3, + "name": "area_effect cloud", + "displayName": "Area Effect Cloud", + "width": null, + "height": 0.5, + "type": "object" + }, + { + "id": 10, + "internalId": 10, + "name": "minecart", + "displayName": "Minecart", + "width": 0.98, + "height": 0.7, + "type": "object", + "category": "Vehicles" + }, + { + "id": 50, + "internalId": 50, + "name": "activated_tnt", + "displayName": "Activated TNT", + "width": 0.98, + "height": 0.98, + "type": "object" + }, + { + "id": 51, + "internalId": 51, + "name": "endercrystal", + "displayName": "EnderCrystal", + "width": 2, + "height": 2, + "type": "object" + }, + { + "id": 60, + "internalId": 60, + "name": "tipped_arrow", + "displayName": "Tipped arrow (projectile; also used for regular arrows)", + "width": 0.5, + "height": 0.5, + "type": "object" + }, + { + "id": 61, + "internalId": 61, + "name": "snowball", + "displayName": "Snowball (projectile)", + "width": 0.25, + "height": 0.25, + "type": "object", + "category": "Projectiles" + }, + { + "id": 62, + "internalId": 62, + "name": "egg", + "displayName": "Egg (projectile)", + "width": 0.25, + "height": 0.25, + "type": "object", + "category": "Projectiles" + }, + { + "id": 63, + "internalId": 63, + "name": "fireball", + "displayName": "FireBall (ghast projectile)", + "width": 1, + "height": 1, + "type": "object", + "category": "Projectiles" + }, + { + "id": 64, + "internalId": 64, + "name": "firecharge", + "displayName": "FireCharge (blaze projectile)", + "width": 0.3125, + "height": 0.3125, + "type": "object" + }, + { + "id": 65, + "internalId": 65, + "name": "thrown_enderpearl", + "displayName": "Thrown Enderpearl", + "width": 0.25, + "height": 0.25, + "type": "object" + }, + { + "id": 66, + "internalId": 66, + "name": "wither_skull", + "displayName": "Wither Skull (projectile)", + "width": 0.3125, + "height": 0.3125, + "type": "object", + "category": "Projectiles" + }, + { + "id": 67, + "internalId": 67, + "name": "shulker_bullet", + "displayName": "Shulker Bullet", + "width": 0.3125, + "height": 0.3125, + "type": "object", + "category": "Projectiles" + }, + { + "id": 68, + "internalId": 68, + "name": "llama_spit", + "displayName": "Llama spit", + "width": 0.25, + "height": 0.25, + "type": "object", + "category": "Projectiles" + }, + { + "id": 70, + "internalId": 70, + "name": "falling_objects", + "displayName": "Falling Objects", + "width": 0.98, + "height": 0.98, + "type": "object" + }, + { + "id": 71, + "internalId": 71, + "name": "item_frames", + "displayName": "Item frames", + "width": 0.75, + "height": 0.75, + "type": "object" + }, + { + "id": 72, + "internalId": 72, + "name": "eye_of ender", + "displayName": "Eye of Ender", + "width": 0.25, + "height": 0.25, + "type": "object" + }, + { + "id": 73, + "internalId": 73, + "name": "thrown_potion", + "displayName": "Thrown Potion", + "width": 0.25, + "height": 0.25, + "type": "object" + }, + { + "id": 75, + "internalId": 75, + "name": "thrown_exp bottle", + "displayName": "Thrown Exp Bottle", + "width": 0.25, + "height": 0.25, + "type": "object" + }, + { + "id": 76, + "internalId": 76, + "name": "firework_rocket", + "displayName": "Firework Rocket", + "width": 0.25, + "height": 0.25, + "type": "object" + }, + { + "id": 77, + "internalId": 77, + "name": "leash_knot", + "displayName": "Leash Knot", + "width": 0.375, + "height": 0.5, + "type": "object", + "category": "Immobile" + }, + { + "id": 78, + "internalId": 78, + "name": "armorstand", + "displayName": "ArmorStand", + "width": null, + "height": null, + "type": "object" + }, + { + "id": 79, + "internalId": 79, + "name": "evocation_fangs", + "displayName": "Evocation Fangs", + "width": 0.5, + "height": 0.8, + "type": "object", + "category": "Immobile" + }, + { + "id": 90, + "internalId": 90, + "name": "fishing_hook", + "displayName": "Fishing Hook", + "width": 0.25, + "height": 0.25, + "type": "object" + }, + { + "id": 91, + "internalId": 91, + "name": "spectral_arrow", + "displayName": "Spectral Arrow", + "width": 0.5, + "height": 0.5, + "type": "object", + "category": "Projectiles" + }, + { + "id": 93, + "internalId": 93, + "name": "dragon_fireball", + "displayName": "Dragon Fireball", + "width": 1, + "height": 1, + "type": "object", + "category": "Projectiles" + }, + { + "id": 94, + "internalId": 94, + "name": "trident", + "displayName": "Trident", + "width": null, + "height": null, + "type": "object" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/instruments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/instruments.json new file mode 100644 index 00000000..15619cd9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/instruments.json @@ -0,0 +1,42 @@ +[ + { + "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": "guiter" + }, + { + "id": 8, + "name": "chime" + }, + { + "id": 9, + "name": "xylophone" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/items.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/items.json new file mode 100644 index 00000000..939f445f --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/items.json @@ -0,0 +1,4712 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Granite", + "name": "granite", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Polished Granite", + "name": "polished_granite", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Diorite", + "name": "diorite", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Polished Diorite", + "name": "polished_diorite", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Andesite", + "name": "andesite", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Polished Andesite", + "name": "polished_andesite", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Grass Block", + "name": "grass_block", + "stackSize": 64 + }, + { + "id": 9, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Coarse Dirt", + "name": "coarse_dirt", + "stackSize": 64 + }, + { + "id": 11, + "displayName": "Podzol", + "name": "podzol", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Oak Planks", + "name": "oak_planks", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Spruce Planks", + "name": "spruce_planks", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Birch Planks", + "name": "birch_planks", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Jungle Planks", + "name": "jungle_planks", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Acacia Planks", + "name": "acacia_planks", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Dark Oak Planks", + "name": "dark_oak_planks", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Oak Sapling", + "name": "oak_sapling", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Spruce Sapling", + "name": "spruce_sapling", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Birch Sapling", + "name": "birch_sapling", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Jungle Sapling", + "name": "jungle_sapling", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Acacia Sapling", + "name": "acacia_sapling", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Dark Oak Sapling", + "name": "dark_oak_sapling", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 26, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Red Sand", + "name": "red_sand", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 29, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Oak Log", + "name": "oak_log", + "stackSize": 64 + }, + { + "id": 33, + "displayName": "Spruce Log", + "name": "spruce_log", + "stackSize": 64 + }, + { + "id": 34, + "displayName": "Birch Log", + "name": "birch_log", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Jungle Log", + "name": "jungle_log", + "stackSize": 64 + }, + { + "id": 36, + "displayName": "Acacia Log", + "name": "acacia_log", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Dark Oak Log", + "name": "dark_oak_log", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Stripped Oak Log", + "name": "stripped_oak_log", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Stripped Spruce Log", + "name": "stripped_spruce_log", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Stripped Birch Log", + "name": "stripped_birch_log", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Stripped Jungle Log", + "name": "stripped_jungle_log", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Stripped Acacia Log", + "name": "stripped_acacia_log", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Stripped Dark Oak Log", + "name": "stripped_dark_oak_log", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Stripped Oak Wood", + "name": "stripped_oak_wood", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Stripped Spruce Wood", + "name": "stripped_spruce_wood", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "Stripped Birch Wood", + "name": "stripped_birch_wood", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Stripped Jungle Wood", + "name": "stripped_jungle_wood", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Stripped Acacia Wood", + "name": "stripped_acacia_wood", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Stripped Dark Oak Wood", + "name": "stripped_dark_oak_wood", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Oak Wood", + "name": "oak_wood", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Spruce Wood", + "name": "spruce_wood", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Birch Wood", + "name": "birch_wood", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Jungle Wood", + "name": "jungle_wood", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Dark Oak Wood", + "name": "dark_oak_wood", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Oak Leaves", + "name": "oak_leaves", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Spruce Leaves", + "name": "spruce_leaves", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Birch Leaves", + "name": "birch_leaves", + "stackSize": 64 + }, + { + "id": 59, + "displayName": "Jungle Leaves", + "name": "jungle_leaves", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Dark Oak Leaves", + "name": "dark_oak_leaves", + "stackSize": 64 + }, + { + "id": 62, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 63, + "displayName": "Wet Sponge", + "name": "wet_sponge", + "stackSize": 64 + }, + { + "id": 64, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 68, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Chiseled Sandstone", + "name": "chiseled_sandstone", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Cut Sandstone", + "name": "cut_sandstone", + "stackSize": 64 + }, + { + "id": 71, + "displayName": "Note Block", + "name": "note_block", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Powered Rail", + "name": "powered_rail", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 74, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Cobweb", + "name": "cobweb", + "stackSize": 64 + }, + { + "id": 76, + "displayName": "Grass", + "name": "grass", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Fern", + "name": "fern", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Dead Bush", + "name": "dead_bush", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Seagrass", + "name": "seagrass", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Sea Pickle", + "name": "sea_pickle", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Piston", + "name": "piston", + "stackSize": 64 + }, + { + "id": 82, + "displayName": "White Wool", + "name": "white_wool", + "stackSize": 64 + }, + { + "id": 83, + "displayName": "Orange Wool", + "name": "orange_wool", + "stackSize": 64 + }, + { + "id": 84, + "displayName": "Magenta Wool", + "name": "magenta_wool", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Light Blue Wool", + "name": "light_blue_wool", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Yellow Wool", + "name": "yellow_wool", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Lime Wool", + "name": "lime_wool", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Pink Wool", + "name": "pink_wool", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Gray Wool", + "name": "gray_wool", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Light Gray Wool", + "name": "light_gray_wool", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Cyan Wool", + "name": "cyan_wool", + "stackSize": 64 + }, + { + "id": 92, + "displayName": "Purple Wool", + "name": "purple_wool", + "stackSize": 64 + }, + { + "id": 93, + "displayName": "Blue Wool", + "name": "blue_wool", + "stackSize": 64 + }, + { + "id": 94, + "displayName": "Brown Wool", + "name": "brown_wool", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "Green Wool", + "name": "green_wool", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Red Wool", + "name": "red_wool", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Black Wool", + "name": "black_wool", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Dandelion", + "name": "dandelion", + "stackSize": 64 + }, + { + "id": 99, + "displayName": "Poppy", + "name": "poppy", + "stackSize": 64 + }, + { + "id": 100, + "displayName": "Blue Orchid", + "name": "blue_orchid", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Allium", + "name": "allium", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Azure Bluet", + "name": "azure_bluet", + "stackSize": 64 + }, + { + "id": 103, + "displayName": "Red Tulip", + "name": "red_tulip", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Orange Tulip", + "name": "orange_tulip", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "White Tulip", + "name": "white_tulip", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Pink Tulip", + "name": "pink_tulip", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Oxeye Daisy", + "name": "oxeye_daisy", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Block of Gold", + "name": "gold_block", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Block of Iron", + "name": "iron_block", + "stackSize": 64 + }, + { + "id": 112, + "displayName": "Oak Slab", + "name": "oak_slab", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Spruce Slab", + "name": "spruce_slab", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Birch Slab", + "name": "birch_slab", + "stackSize": 64 + }, + { + "id": 115, + "displayName": "Jungle Slab", + "name": "jungle_slab", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Acacia Slab", + "name": "acacia_slab", + "stackSize": 64 + }, + { + "id": 117, + "displayName": "Dark Oak Slab", + "name": "dark_oak_slab", + "stackSize": 64 + }, + { + "id": 118, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 119, + "displayName": "Sandstone Slab", + "name": "sandstone_slab", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "Petrified Oak Slab", + "name": "petrified_oak_slab", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "Cobblestone Slab", + "name": "cobblestone_slab", + "stackSize": 64 + }, + { + "id": 122, + "displayName": "Brick Slab", + "name": "brick_slab", + "stackSize": 64 + }, + { + "id": 123, + "displayName": "Stone Brick Slab", + "name": "stone_brick_slab", + "stackSize": 64 + }, + { + "id": 124, + "displayName": "Nether Brick Slab", + "name": "nether_brick_slab", + "stackSize": 64 + }, + { + "id": 125, + "displayName": "Quartz Slab", + "name": "quartz_slab", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Prismarine Slab", + "name": "prismarine_slab", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Prismarine Brick Slab", + "name": "prismarine_brick_slab", + "stackSize": 64 + }, + { + "id": 130, + "displayName": "Dark Prismarine Slab", + "name": "dark_prismarine_slab", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Smooth Quartz", + "name": "smooth_quartz", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Smooth Red Sandstone", + "name": "smooth_red_sandstone", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Smooth Sandstone", + "name": "smooth_sandstone", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Smooth Stone", + "name": "smooth_stone", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Bricks", + "name": "bricks", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 137, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 138, + "displayName": "Mossy Cobblestone", + "name": "mossy_cobblestone", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 140, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "End Rod", + "name": "end_rod", + "stackSize": 64 + }, + { + "id": 142, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "stackSize": 64 + }, + { + "id": 144, + "displayName": "Purpur Block", + "name": "purpur_block", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "Spawner", + "name": "spawner", + "stackSize": 64 + }, + { + "id": 148, + "displayName": "Oak Stairs", + "name": "oak_stairs", + "stackSize": 64 + }, + { + "id": 149, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 150, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Block of Diamond", + "name": "diamond_block", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 154, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 160, + "displayName": "Oak Pressure Plate", + "name": "oak_pressure_plate", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Spruce Pressure Plate", + "name": "spruce_pressure_plate", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Birch Pressure Plate", + "name": "birch_pressure_plate", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Jungle Pressure Plate", + "name": "jungle_pressure_plate", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Acacia Pressure Plate", + "name": "acacia_pressure_plate", + "stackSize": 64 + }, + { + "id": 165, + "displayName": "Dark Oak Pressure Plate", + "name": "dark_oak_pressure_plate", + "stackSize": 64 + }, + { + "id": 166, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 168, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 169, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Snow Block", + "name": "snow_block", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Clay", + "name": "clay", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Jukebox", + "name": "jukebox", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Oak Fence", + "name": "oak_fence", + "stackSize": 64 + }, + { + "id": 176, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "stackSize": 64 + }, + { + "id": 177, + "displayName": "Birch Fence", + "name": "birch_fence", + "stackSize": 64 + }, + { + "id": 178, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "stackSize": 64 + }, + { + "id": 179, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "stackSize": 64 + }, + { + "id": 180, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "stackSize": 64 + }, + { + "id": 181, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 182, + "displayName": "Carved Pumpkin", + "name": "carved_pumpkin", + "stackSize": 64 + }, + { + "id": 183, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 184, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 185, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 186, + "displayName": "Jack o'Lantern", + "name": "jack_o_lantern", + "stackSize": 64 + }, + { + "id": 187, + "displayName": "Oak Trapdoor", + "name": "oak_trapdoor", + "stackSize": 64 + }, + { + "id": 188, + "displayName": "Spruce Trapdoor", + "name": "spruce_trapdoor", + "stackSize": 64 + }, + { + "id": 189, + "displayName": "Birch Trapdoor", + "name": "birch_trapdoor", + "stackSize": 64 + }, + { + "id": 190, + "displayName": "Jungle Trapdoor", + "name": "jungle_trapdoor", + "stackSize": 64 + }, + { + "id": 191, + "displayName": "Acacia Trapdoor", + "name": "acacia_trapdoor", + "stackSize": 64 + }, + { + "id": 192, + "displayName": "Dark Oak Trapdoor", + "name": "dark_oak_trapdoor", + "stackSize": 64 + }, + { + "id": 193, + "displayName": "Infested Stone", + "name": "infested_stone", + "stackSize": 64 + }, + { + "id": 194, + "displayName": "Infested Cobblestone", + "name": "infested_cobblestone", + "stackSize": 64 + }, + { + "id": 195, + "displayName": "Infested Stone Bricks", + "name": "infested_stone_bricks", + "stackSize": 64 + }, + { + "id": 196, + "displayName": "Infested Mossy Stone Bricks", + "name": "infested_mossy_stone_bricks", + "stackSize": 64 + }, + { + "id": 197, + "displayName": "Infested Cracked Stone Bricks", + "name": "infested_cracked_stone_bricks", + "stackSize": 64 + }, + { + "id": 198, + "displayName": "Infested Chiseled Stone Bricks", + "name": "infested_chiseled_stone_bricks", + "stackSize": 64 + }, + { + "id": 199, + "displayName": "Stone Bricks", + "name": "stone_bricks", + "stackSize": 64 + }, + { + "id": 200, + "displayName": "Mossy Stone Bricks", + "name": "mossy_stone_bricks", + "stackSize": 64 + }, + { + "id": 201, + "displayName": "Cracked Stone Bricks", + "name": "cracked_stone_bricks", + "stackSize": 64 + }, + { + "id": 202, + "displayName": "Chiseled Stone Bricks", + "name": "chiseled_stone_bricks", + "stackSize": 64 + }, + { + "id": 203, + "displayName": "Brown Mushroom Block", + "name": "brown_mushroom_block", + "stackSize": 64 + }, + { + "id": 204, + "displayName": "Red Mushroom Block", + "name": "red_mushroom_block", + "stackSize": 64 + }, + { + "id": 205, + "displayName": "Mushroom Stem", + "name": "mushroom_stem", + "stackSize": 64 + }, + { + "id": 206, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 207, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 208, + "displayName": "Melon", + "name": "melon", + "stackSize": 64 + }, + { + "id": 209, + "displayName": "Vines", + "name": "vine", + "stackSize": 64 + }, + { + "id": 210, + "displayName": "Oak Fence Gate", + "name": "oak_fence_gate", + "stackSize": 64 + }, + { + "id": 211, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64 + }, + { + "id": 212, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64 + }, + { + "id": 213, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64 + }, + { + "id": 214, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64 + }, + { + "id": 215, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64 + }, + { + "id": 216, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 217, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 218, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 219, + "displayName": "Lily Pad", + "name": "lily_pad", + "stackSize": 64 + }, + { + "id": 220, + "displayName": "Nether Bricks", + "name": "nether_bricks", + "stackSize": 64 + }, + { + "id": 221, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 222, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 223, + "displayName": "Enchanting Table", + "name": "enchanting_table", + "stackSize": 64 + }, + { + "id": 224, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 225, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 226, + "displayName": "End Stone Bricks", + "name": "end_stone_bricks", + "stackSize": 64 + }, + { + "id": 227, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "stackSize": 64 + }, + { + "id": 228, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 229, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 230, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 231, + "displayName": "Ender Chest", + "name": "ender_chest", + "stackSize": 64 + }, + { + "id": 232, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 233, + "displayName": "Block of Emerald", + "name": "emerald_block", + "stackSize": 64 + }, + { + "id": 234, + "displayName": "Spruce Stairs", + "name": "spruce_stairs", + "stackSize": 64 + }, + { + "id": 235, + "displayName": "Birch Stairs", + "name": "birch_stairs", + "stackSize": 64 + }, + { + "id": 236, + "displayName": "Jungle Stairs", + "name": "jungle_stairs", + "stackSize": 64 + }, + { + "id": 237, + "displayName": "Command Block", + "name": "command_block", + "stackSize": 64 + }, + { + "id": 238, + "displayName": "Beacon", + "name": "beacon", + "stackSize": 64 + }, + { + "id": 239, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 240, + "displayName": "Mossy Cobblestone Wall", + "name": "mossy_cobblestone_wall", + "stackSize": 64 + }, + { + "id": 241, + "displayName": "Oak Button", + "name": "oak_button", + "stackSize": 64 + }, + { + "id": 242, + "displayName": "Spruce Button", + "name": "spruce_button", + "stackSize": 64 + }, + { + "id": 243, + "displayName": "Birch Button", + "name": "birch_button", + "stackSize": 64 + }, + { + "id": 244, + "displayName": "Jungle Button", + "name": "jungle_button", + "stackSize": 64 + }, + { + "id": 245, + "displayName": "Acacia Button", + "name": "acacia_button", + "stackSize": 64 + }, + { + "id": 246, + "displayName": "Dark Oak Button", + "name": "dark_oak_button", + "stackSize": 64 + }, + { + "id": 247, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 248, + "displayName": "Chipped Anvil", + "name": "chipped_anvil", + "stackSize": 64 + }, + { + "id": 249, + "displayName": "Damaged Anvil", + "name": "damaged_anvil", + "stackSize": 64 + }, + { + "id": 250, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 251, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 252, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 253, + "displayName": "Daylight Detector", + "name": "daylight_detector", + "stackSize": 64 + }, + { + "id": 254, + "displayName": "Block of Redstone", + "name": "redstone_block", + "stackSize": 64 + }, + { + "id": 255, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Hopper", + "name": "hopper", + "stackSize": 64 + }, + { + "id": 257, + "displayName": "Chiseled Quartz Block", + "name": "chiseled_quartz_block", + "stackSize": 64 + }, + { + "id": 258, + "displayName": "Block of Quartz", + "name": "quartz_block", + "stackSize": 64 + }, + { + "id": 259, + "displayName": "Quartz Pillar", + "name": "quartz_pillar", + "stackSize": 64 + }, + { + "id": 260, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 261, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 262, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64 + }, + { + "id": 263, + "displayName": "White Terracotta", + "name": "white_terracotta", + "stackSize": 64 + }, + { + "id": 264, + "displayName": "Orange Terracotta", + "name": "orange_terracotta", + "stackSize": 64 + }, + { + "id": 265, + "displayName": "Magenta Terracotta", + "name": "magenta_terracotta", + "stackSize": 64 + }, + { + "id": 266, + "displayName": "Light Blue Terracotta", + "name": "light_blue_terracotta", + "stackSize": 64 + }, + { + "id": 267, + "displayName": "Yellow Terracotta", + "name": "yellow_terracotta", + "stackSize": 64 + }, + { + "id": 268, + "displayName": "Lime Terracotta", + "name": "lime_terracotta", + "stackSize": 64 + }, + { + "id": 269, + "displayName": "Pink Terracotta", + "name": "pink_terracotta", + "stackSize": 64 + }, + { + "id": 270, + "displayName": "Gray Terracotta", + "name": "gray_terracotta", + "stackSize": 64 + }, + { + "id": 271, + "displayName": "Light Gray Terracotta", + "name": "light_gray_terracotta", + "stackSize": 64 + }, + { + "id": 272, + "displayName": "Cyan Terracotta", + "name": "cyan_terracotta", + "stackSize": 64 + }, + { + "id": 273, + "displayName": "Purple Terracotta", + "name": "purple_terracotta", + "stackSize": 64 + }, + { + "id": 274, + "displayName": "Blue Terracotta", + "name": "blue_terracotta", + "stackSize": 64 + }, + { + "id": 275, + "displayName": "Brown Terracotta", + "name": "brown_terracotta", + "stackSize": 64 + }, + { + "id": 276, + "displayName": "Green Terracotta", + "name": "green_terracotta", + "stackSize": 64 + }, + { + "id": 277, + "displayName": "Red Terracotta", + "name": "red_terracotta", + "stackSize": 64 + }, + { + "id": 278, + "displayName": "Black Terracotta", + "name": "black_terracotta", + "stackSize": 64 + }, + { + "id": 279, + "displayName": "Barrier", + "name": "barrier", + "stackSize": 64 + }, + { + "id": 280, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 281, + "displayName": "Hay Bale", + "name": "hay_block", + "stackSize": 64 + }, + { + "id": 282, + "displayName": "White Carpet", + "name": "white_carpet", + "stackSize": 64 + }, + { + "id": 283, + "displayName": "Orange Carpet", + "name": "orange_carpet", + "stackSize": 64 + }, + { + "id": 284, + "displayName": "Magenta Carpet", + "name": "magenta_carpet", + "stackSize": 64 + }, + { + "id": 285, + "displayName": "Light Blue Carpet", + "name": "light_blue_carpet", + "stackSize": 64 + }, + { + "id": 286, + "displayName": "Yellow Carpet", + "name": "yellow_carpet", + "stackSize": 64 + }, + { + "id": 287, + "displayName": "Lime Carpet", + "name": "lime_carpet", + "stackSize": 64 + }, + { + "id": 288, + "displayName": "Pink Carpet", + "name": "pink_carpet", + "stackSize": 64 + }, + { + "id": 289, + "displayName": "Gray Carpet", + "name": "gray_carpet", + "stackSize": 64 + }, + { + "id": 290, + "displayName": "Light Gray Carpet", + "name": "light_gray_carpet", + "stackSize": 64 + }, + { + "id": 291, + "displayName": "Cyan Carpet", + "name": "cyan_carpet", + "stackSize": 64 + }, + { + "id": 292, + "displayName": "Purple Carpet", + "name": "purple_carpet", + "stackSize": 64 + }, + { + "id": 293, + "displayName": "Blue Carpet", + "name": "blue_carpet", + "stackSize": 64 + }, + { + "id": 294, + "displayName": "Brown Carpet", + "name": "brown_carpet", + "stackSize": 64 + }, + { + "id": 295, + "displayName": "Green Carpet", + "name": "green_carpet", + "stackSize": 64 + }, + { + "id": 296, + "displayName": "Red Carpet", + "name": "red_carpet", + "stackSize": 64 + }, + { + "id": 297, + "displayName": "Black Carpet", + "name": "black_carpet", + "stackSize": 64 + }, + { + "id": 298, + "displayName": "Terracotta", + "name": "terracotta", + "stackSize": 64 + }, + { + "id": 299, + "displayName": "Block of Coal", + "name": "coal_block", + "stackSize": 64 + }, + { + "id": 300, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 301, + "displayName": "Acacia Stairs", + "name": "acacia_stairs", + "stackSize": 64 + }, + { + "id": 302, + "displayName": "Dark Oak Stairs", + "name": "dark_oak_stairs", + "stackSize": 64 + }, + { + "id": 303, + "displayName": "Slime Block", + "name": "slime_block", + "stackSize": 64 + }, + { + "id": 304, + "displayName": "Grass Path", + "name": "grass_path", + "stackSize": 64 + }, + { + "id": 305, + "displayName": "Sunflower", + "name": "sunflower", + "stackSize": 64 + }, + { + "id": 306, + "displayName": "Lilac", + "name": "lilac", + "stackSize": 64 + }, + { + "id": 307, + "displayName": "Rose Bush", + "name": "rose_bush", + "stackSize": 64 + }, + { + "id": 308, + "displayName": "Peony", + "name": "peony", + "stackSize": 64 + }, + { + "id": 309, + "displayName": "Tall Grass", + "name": "tall_grass", + "stackSize": 64 + }, + { + "id": 310, + "displayName": "Large Fern", + "name": "large_fern", + "stackSize": 64 + }, + { + "id": 311, + "displayName": "White Stained Glass", + "name": "white_stained_glass", + "stackSize": 64 + }, + { + "id": 312, + "displayName": "Orange Stained Glass", + "name": "orange_stained_glass", + "stackSize": 64 + }, + { + "id": 313, + "displayName": "Magenta Stained Glass", + "name": "magenta_stained_glass", + "stackSize": 64 + }, + { + "id": 314, + "displayName": "Light Blue Stained Glass", + "name": "light_blue_stained_glass", + "stackSize": 64 + }, + { + "id": 315, + "displayName": "Yellow Stained Glass", + "name": "yellow_stained_glass", + "stackSize": 64 + }, + { + "id": 316, + "displayName": "Lime Stained Glass", + "name": "lime_stained_glass", + "stackSize": 64 + }, + { + "id": 317, + "displayName": "Pink Stained Glass", + "name": "pink_stained_glass", + "stackSize": 64 + }, + { + "id": 318, + "displayName": "Gray Stained Glass", + "name": "gray_stained_glass", + "stackSize": 64 + }, + { + "id": 319, + "displayName": "Light Gray Stained Glass", + "name": "light_gray_stained_glass", + "stackSize": 64 + }, + { + "id": 320, + "displayName": "Cyan Stained Glass", + "name": "cyan_stained_glass", + "stackSize": 64 + }, + { + "id": 321, + "displayName": "Purple Stained Glass", + "name": "purple_stained_glass", + "stackSize": 64 + }, + { + "id": 322, + "displayName": "Blue Stained Glass", + "name": "blue_stained_glass", + "stackSize": 64 + }, + { + "id": 323, + "displayName": "Brown Stained Glass", + "name": "brown_stained_glass", + "stackSize": 64 + }, + { + "id": 324, + "displayName": "Green Stained Glass", + "name": "green_stained_glass", + "stackSize": 64 + }, + { + "id": 325, + "displayName": "Red Stained Glass", + "name": "red_stained_glass", + "stackSize": 64 + }, + { + "id": 326, + "displayName": "Black Stained Glass", + "name": "black_stained_glass", + "stackSize": 64 + }, + { + "id": 327, + "displayName": "White Stained Glass Pane", + "name": "white_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 328, + "displayName": "Orange Stained Glass Pane", + "name": "orange_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 329, + "displayName": "Magenta Stained Glass Pane", + "name": "magenta_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 330, + "displayName": "Light Blue Stained Glass Pane", + "name": "light_blue_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 331, + "displayName": "Yellow Stained Glass Pane", + "name": "yellow_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 332, + "displayName": "Lime Stained Glass Pane", + "name": "lime_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 333, + "displayName": "Pink Stained Glass Pane", + "name": "pink_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 334, + "displayName": "Gray Stained Glass Pane", + "name": "gray_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 335, + "displayName": "Light Gray Stained Glass Pane", + "name": "light_gray_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 336, + "displayName": "Cyan Stained Glass Pane", + "name": "cyan_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 337, + "displayName": "Purple Stained Glass Pane", + "name": "purple_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 338, + "displayName": "Blue Stained Glass Pane", + "name": "blue_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 339, + "displayName": "Brown Stained Glass Pane", + "name": "brown_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 340, + "displayName": "Green Stained Glass Pane", + "name": "green_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 341, + "displayName": "Red Stained Glass Pane", + "name": "red_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 342, + "displayName": "Black Stained Glass Pane", + "name": "black_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 343, + "displayName": "Prismarine", + "name": "prismarine", + "stackSize": 64 + }, + { + "id": 344, + "displayName": "Prismarine Bricks", + "name": "prismarine_bricks", + "stackSize": 64 + }, + { + "id": 345, + "displayName": "Dark Prismarine", + "name": "dark_prismarine", + "stackSize": 64 + }, + { + "id": 346, + "displayName": "Prismarine Stairs", + "name": "prismarine_stairs", + "stackSize": 64 + }, + { + "id": 347, + "displayName": "Prismarine Brick Stairs", + "name": "prismarine_brick_stairs", + "stackSize": 64 + }, + { + "id": 348, + "displayName": "Dark Prismarine Stairs", + "name": "dark_prismarine_stairs", + "stackSize": 64 + }, + { + "id": 349, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "stackSize": 64 + }, + { + "id": 350, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "stackSize": 64 + }, + { + "id": 351, + "displayName": "Chiseled Red Sandstone", + "name": "chiseled_red_sandstone", + "stackSize": 64 + }, + { + "id": 352, + "displayName": "Cut Red Sandstone", + "name": "cut_red_sandstone", + "stackSize": 64 + }, + { + "id": 353, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 354, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "stackSize": 64 + }, + { + "id": 355, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "stackSize": 64 + }, + { + "id": 356, + "displayName": "Magma Block", + "name": "magma_block", + "stackSize": 64 + }, + { + "id": 357, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "stackSize": 64 + }, + { + "id": 358, + "displayName": "Red Nether Bricks", + "name": "red_nether_bricks", + "stackSize": 64 + }, + { + "id": 359, + "displayName": "Bone Block", + "name": "bone_block", + "stackSize": 64 + }, + { + "id": 360, + "displayName": "Structure Void", + "name": "structure_void", + "stackSize": 64 + }, + { + "id": 361, + "displayName": "Observer", + "name": "observer", + "stackSize": 64 + }, + { + "id": 362, + "displayName": "Shulker Box", + "name": "shulker_box", + "stackSize": 1 + }, + { + "id": 363, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "stackSize": 1 + }, + { + "id": 364, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "stackSize": 1 + }, + { + "id": 365, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "stackSize": 1 + }, + { + "id": 366, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "stackSize": 1 + }, + { + "id": 367, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "stackSize": 1 + }, + { + "id": 368, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "stackSize": 1 + }, + { + "id": 369, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "stackSize": 1 + }, + { + "id": 370, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "stackSize": 1 + }, + { + "id": 371, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "stackSize": 1 + }, + { + "id": 372, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "stackSize": 1 + }, + { + "id": 373, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "stackSize": 1 + }, + { + "id": 374, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "stackSize": 1 + }, + { + "id": 375, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "stackSize": 1 + }, + { + "id": 376, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "stackSize": 1 + }, + { + "id": 377, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "stackSize": 1 + }, + { + "id": 378, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "stackSize": 1 + }, + { + "id": 379, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 380, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 381, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 382, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 383, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 384, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 385, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 386, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 387, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 388, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 389, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 390, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 391, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 392, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 393, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 394, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 395, + "displayName": "White Concrete", + "name": "white_concrete", + "stackSize": 64 + }, + { + "id": 396, + "displayName": "Orange Concrete", + "name": "orange_concrete", + "stackSize": 64 + }, + { + "id": 397, + "displayName": "Magenta Concrete", + "name": "magenta_concrete", + "stackSize": 64 + }, + { + "id": 398, + "displayName": "Light Blue Concrete", + "name": "light_blue_concrete", + "stackSize": 64 + }, + { + "id": 399, + "displayName": "Yellow Concrete", + "name": "yellow_concrete", + "stackSize": 64 + }, + { + "id": 400, + "displayName": "Lime Concrete", + "name": "lime_concrete", + "stackSize": 64 + }, + { + "id": 401, + "displayName": "Pink Concrete", + "name": "pink_concrete", + "stackSize": 64 + }, + { + "id": 402, + "displayName": "Gray Concrete", + "name": "gray_concrete", + "stackSize": 64 + }, + { + "id": 403, + "displayName": "Light Gray Concrete", + "name": "light_gray_concrete", + "stackSize": 64 + }, + { + "id": 404, + "displayName": "Cyan Concrete", + "name": "cyan_concrete", + "stackSize": 64 + }, + { + "id": 405, + "displayName": "Purple Concrete", + "name": "purple_concrete", + "stackSize": 64 + }, + { + "id": 406, + "displayName": "Blue Concrete", + "name": "blue_concrete", + "stackSize": 64 + }, + { + "id": 407, + "displayName": "Brown Concrete", + "name": "brown_concrete", + "stackSize": 64 + }, + { + "id": 408, + "displayName": "Green Concrete", + "name": "green_concrete", + "stackSize": 64 + }, + { + "id": 409, + "displayName": "Red Concrete", + "name": "red_concrete", + "stackSize": 64 + }, + { + "id": 410, + "displayName": "Black Concrete", + "name": "black_concrete", + "stackSize": 64 + }, + { + "id": 411, + "displayName": "White Concrete Powder", + "name": "white_concrete_powder", + "stackSize": 64 + }, + { + "id": 412, + "displayName": "Orange Concrete Powder", + "name": "orange_concrete_powder", + "stackSize": 64 + }, + { + "id": 413, + "displayName": "Magenta Concrete Powder", + "name": "magenta_concrete_powder", + "stackSize": 64 + }, + { + "id": 414, + "displayName": "Light Blue Concrete Powder", + "name": "light_blue_concrete_powder", + "stackSize": 64 + }, + { + "id": 415, + "displayName": "Yellow Concrete Powder", + "name": "yellow_concrete_powder", + "stackSize": 64 + }, + { + "id": 416, + "displayName": "Lime Concrete Powder", + "name": "lime_concrete_powder", + "stackSize": 64 + }, + { + "id": 417, + "displayName": "Pink Concrete Powder", + "name": "pink_concrete_powder", + "stackSize": 64 + }, + { + "id": 418, + "displayName": "Gray Concrete Powder", + "name": "gray_concrete_powder", + "stackSize": 64 + }, + { + "id": 419, + "displayName": "Light Gray Concrete Powder", + "name": "light_gray_concrete_powder", + "stackSize": 64 + }, + { + "id": 420, + "displayName": "Cyan Concrete Powder", + "name": "cyan_concrete_powder", + "stackSize": 64 + }, + { + "id": 421, + "displayName": "Purple Concrete Powder", + "name": "purple_concrete_powder", + "stackSize": 64 + }, + { + "id": 422, + "displayName": "Blue Concrete Powder", + "name": "blue_concrete_powder", + "stackSize": 64 + }, + { + "id": 423, + "displayName": "Brown Concrete Powder", + "name": "brown_concrete_powder", + "stackSize": 64 + }, + { + "id": 424, + "displayName": "Green Concrete Powder", + "name": "green_concrete_powder", + "stackSize": 64 + }, + { + "id": 425, + "displayName": "Red Concrete Powder", + "name": "red_concrete_powder", + "stackSize": 64 + }, + { + "id": 426, + "displayName": "Black Concrete Powder", + "name": "black_concrete_powder", + "stackSize": 64 + }, + { + "id": 427, + "displayName": "Turtle Egg", + "name": "turtle_egg", + "stackSize": 64 + }, + { + "id": 428, + "displayName": "Dead Tube Coral Block", + "name": "dead_tube_coral_block", + "stackSize": 64 + }, + { + "id": 429, + "displayName": "Dead Brain Coral Block", + "name": "dead_brain_coral_block", + "stackSize": 64 + }, + { + "id": 430, + "displayName": "Dead Bubble Coral Block", + "name": "dead_bubble_coral_block", + "stackSize": 64 + }, + { + "id": 431, + "displayName": "Dead Fire Coral Block", + "name": "dead_fire_coral_block", + "stackSize": 64 + }, + { + "id": 432, + "displayName": "Dead Horn Coral Block", + "name": "dead_horn_coral_block", + "stackSize": 64 + }, + { + "id": 433, + "displayName": "Tube Coral Block", + "name": "tube_coral_block", + "stackSize": 64 + }, + { + "id": 434, + "displayName": "Brain Coral Block", + "name": "brain_coral_block", + "stackSize": 64 + }, + { + "id": 435, + "displayName": "Bubble Coral Block", + "name": "bubble_coral_block", + "stackSize": 64 + }, + { + "id": 436, + "displayName": "Fire Coral Block", + "name": "fire_coral_block", + "stackSize": 64 + }, + { + "id": 437, + "displayName": "Horn Coral Block", + "name": "horn_coral_block", + "stackSize": 64 + }, + { + "id": 438, + "displayName": "Tube Coral", + "name": "tube_coral", + "stackSize": 64 + }, + { + "id": 439, + "displayName": "Brain Coral", + "name": "brain_coral", + "stackSize": 64 + }, + { + "id": 440, + "displayName": "Bubble Coral", + "name": "bubble_coral", + "stackSize": 64 + }, + { + "id": 441, + "displayName": "Fire Coral", + "name": "fire_coral", + "stackSize": 64 + }, + { + "id": 442, + "displayName": "Horn Coral", + "name": "horn_coral", + "stackSize": 64 + }, + { + "id": 443, + "displayName": "Tube Coral Fan", + "name": "tube_coral_fan", + "stackSize": 64 + }, + { + "id": 444, + "displayName": "Brain Coral Fan", + "name": "brain_coral_fan", + "stackSize": 64 + }, + { + "id": 445, + "displayName": "Bubble Coral Fan", + "name": "bubble_coral_fan", + "stackSize": 64 + }, + { + "id": 446, + "displayName": "Fire Coral Fan", + "name": "fire_coral_fan", + "stackSize": 64 + }, + { + "id": 447, + "displayName": "Horn Coral Fan", + "name": "horn_coral_fan", + "stackSize": 64 + }, + { + "id": 448, + "displayName": "Dead Tube Coral Fan", + "name": "dead_tube_coral_fan", + "stackSize": 64 + }, + { + "id": 449, + "displayName": "Dead Brain Coral Fan", + "name": "dead_brain_coral_fan", + "stackSize": 64 + }, + { + "id": 450, + "displayName": "Dead Bubble Coral Fan", + "name": "dead_bubble_coral_fan", + "stackSize": 64 + }, + { + "id": 451, + "displayName": "Dead Fire Coral Fan", + "name": "dead_fire_coral_fan", + "stackSize": 64 + }, + { + "id": 452, + "displayName": "Dead Horn Coral Fan", + "name": "dead_horn_coral_fan", + "stackSize": 64 + }, + { + "id": 453, + "displayName": "Blue Ice", + "name": "blue_ice", + "stackSize": 64 + }, + { + "id": 454, + "displayName": "Conduit", + "name": "conduit", + "stackSize": 64 + }, + { + "id": 455, + "displayName": "Iron Door", + "name": "iron_door", + "stackSize": 64 + }, + { + "id": 456, + "displayName": "Oak Door", + "name": "oak_door", + "stackSize": 64 + }, + { + "id": 457, + "displayName": "Spruce Door", + "name": "spruce_door", + "stackSize": 64 + }, + { + "id": 458, + "displayName": "Birch Door", + "name": "birch_door", + "stackSize": 64 + }, + { + "id": 459, + "displayName": "Jungle Door", + "name": "jungle_door", + "stackSize": 64 + }, + { + "id": 460, + "displayName": "Acacia Door", + "name": "acacia_door", + "stackSize": 64 + }, + { + "id": 461, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "stackSize": 64 + }, + { + "id": 462, + "displayName": "Redstone Repeater", + "name": "repeater", + "stackSize": 64 + }, + { + "id": 463, + "displayName": "Redstone Comparator", + "name": "comparator", + "stackSize": 64 + }, + { + "id": 464, + "displayName": "Structure Block", + "name": "structure_block", + "stackSize": 64 + }, + { + "id": 465, + "displayName": "Turtle Shell", + "name": "turtle_helmet", + "stackSize": 1 + }, + { + "id": 466, + "displayName": "Scute", + "name": "scute", + "stackSize": 64 + }, + { + "id": 467, + "displayName": "Iron Shovel", + "name": "iron_shovel", + "stackSize": 1 + }, + { + "id": 468, + "displayName": "Iron Pickaxe", + "name": "iron_pickaxe", + "stackSize": 1 + }, + { + "id": 469, + "displayName": "Iron Axe", + "name": "iron_axe", + "stackSize": 1 + }, + { + "id": 470, + "displayName": "Flint and Steel", + "name": "flint_and_steel", + "stackSize": 1 + }, + { + "id": 471, + "displayName": "Apple", + "name": "apple", + "stackSize": 64 + }, + { + "id": 472, + "displayName": "Bow", + "name": "bow", + "stackSize": 1 + }, + { + "id": 473, + "displayName": "Arrow", + "name": "arrow", + "stackSize": 64 + }, + { + "id": 474, + "displayName": "Coal", + "name": "coal", + "stackSize": 64 + }, + { + "id": 475, + "displayName": "Charcoal", + "name": "charcoal", + "stackSize": 64 + }, + { + "id": 476, + "displayName": "Diamond", + "name": "diamond", + "stackSize": 64 + }, + { + "id": 477, + "displayName": "Iron Ingot", + "name": "iron_ingot", + "stackSize": 64 + }, + { + "id": 478, + "displayName": "Gold Ingot", + "name": "gold_ingot", + "stackSize": 64 + }, + { + "id": 479, + "displayName": "Iron Sword", + "name": "iron_sword", + "stackSize": 1 + }, + { + "id": 480, + "displayName": "Wooden Sword", + "name": "wooden_sword", + "stackSize": 1 + }, + { + "id": 481, + "displayName": "Wooden Shovel", + "name": "wooden_shovel", + "stackSize": 1 + }, + { + "id": 482, + "displayName": "Wooden Pickaxe", + "name": "wooden_pickaxe", + "stackSize": 1 + }, + { + "id": 483, + "displayName": "Wooden Axe", + "name": "wooden_axe", + "stackSize": 1 + }, + { + "id": 484, + "displayName": "Stone Sword", + "name": "stone_sword", + "stackSize": 1 + }, + { + "id": 485, + "displayName": "Stone Shovel", + "name": "stone_shovel", + "stackSize": 1 + }, + { + "id": 486, + "displayName": "Stone Pickaxe", + "name": "stone_pickaxe", + "stackSize": 1 + }, + { + "id": 487, + "displayName": "Stone Axe", + "name": "stone_axe", + "stackSize": 1 + }, + { + "id": 488, + "displayName": "Diamond Sword", + "name": "diamond_sword", + "stackSize": 1 + }, + { + "id": 489, + "displayName": "Diamond Shovel", + "name": "diamond_shovel", + "stackSize": 1 + }, + { + "id": 490, + "displayName": "Diamond Pickaxe", + "name": "diamond_pickaxe", + "stackSize": 1 + }, + { + "id": 491, + "displayName": "Diamond Axe", + "name": "diamond_axe", + "stackSize": 1 + }, + { + "id": 492, + "displayName": "Stick", + "name": "stick", + "stackSize": 64 + }, + { + "id": 493, + "displayName": "Bowl", + "name": "bowl", + "stackSize": 64 + }, + { + "id": 494, + "displayName": "Mushroom Stew", + "name": "mushroom_stew", + "stackSize": 1 + }, + { + "id": 495, + "displayName": "Golden Sword", + "name": "golden_sword", + "stackSize": 1 + }, + { + "id": 496, + "displayName": "Golden Shovel", + "name": "golden_shovel", + "stackSize": 1 + }, + { + "id": 497, + "displayName": "Golden Pickaxe", + "name": "golden_pickaxe", + "stackSize": 1 + }, + { + "id": 498, + "displayName": "Golden Axe", + "name": "golden_axe", + "stackSize": 1 + }, + { + "id": 499, + "displayName": "String", + "name": "string", + "stackSize": 64 + }, + { + "id": 500, + "displayName": "Feather", + "name": "feather", + "stackSize": 64 + }, + { + "id": 501, + "displayName": "Gunpowder", + "name": "gunpowder", + "stackSize": 64 + }, + { + "id": 502, + "displayName": "Wooden Hoe", + "name": "wooden_hoe", + "stackSize": 1 + }, + { + "id": 503, + "displayName": "Stone Hoe", + "name": "stone_hoe", + "stackSize": 1 + }, + { + "id": 504, + "displayName": "Iron Hoe", + "name": "iron_hoe", + "stackSize": 1 + }, + { + "id": 505, + "displayName": "Diamond Hoe", + "name": "diamond_hoe", + "stackSize": 1 + }, + { + "id": 506, + "displayName": "Golden Hoe", + "name": "golden_hoe", + "stackSize": 1 + }, + { + "id": 507, + "displayName": "Wheat Seeds", + "name": "wheat_seeds", + "stackSize": 64 + }, + { + "id": 508, + "displayName": "Wheat", + "name": "wheat", + "stackSize": 64 + }, + { + "id": 509, + "displayName": "Bread", + "name": "bread", + "stackSize": 64 + }, + { + "id": 510, + "displayName": "Leather Cap", + "name": "leather_helmet", + "stackSize": 1 + }, + { + "id": 511, + "displayName": "Leather Tunic", + "name": "leather_chestplate", + "stackSize": 1 + }, + { + "id": 512, + "displayName": "Leather Pants", + "name": "leather_leggings", + "stackSize": 1 + }, + { + "id": 513, + "displayName": "Leather Boots", + "name": "leather_boots", + "stackSize": 1 + }, + { + "id": 514, + "displayName": "Chainmail Helmet", + "name": "chainmail_helmet", + "stackSize": 1 + }, + { + "id": 515, + "displayName": "Chainmail Chestplate", + "name": "chainmail_chestplate", + "stackSize": 1 + }, + { + "id": 516, + "displayName": "Chainmail Leggings", + "name": "chainmail_leggings", + "stackSize": 1 + }, + { + "id": 517, + "displayName": "Chainmail Boots", + "name": "chainmail_boots", + "stackSize": 1 + }, + { + "id": 518, + "displayName": "Iron Helmet", + "name": "iron_helmet", + "stackSize": 1 + }, + { + "id": 519, + "displayName": "Iron Chestplate", + "name": "iron_chestplate", + "stackSize": 1 + }, + { + "id": 520, + "displayName": "Iron Leggings", + "name": "iron_leggings", + "stackSize": 1 + }, + { + "id": 521, + "displayName": "Iron Boots", + "name": "iron_boots", + "stackSize": 1 + }, + { + "id": 522, + "displayName": "Diamond Helmet", + "name": "diamond_helmet", + "stackSize": 1 + }, + { + "id": 523, + "displayName": "Diamond Chestplate", + "name": "diamond_chestplate", + "stackSize": 1 + }, + { + "id": 524, + "displayName": "Diamond Leggings", + "name": "diamond_leggings", + "stackSize": 1 + }, + { + "id": 525, + "displayName": "Diamond Boots", + "name": "diamond_boots", + "stackSize": 1 + }, + { + "id": 526, + "displayName": "Golden Helmet", + "name": "golden_helmet", + "stackSize": 1 + }, + { + "id": 527, + "displayName": "Golden Chestplate", + "name": "golden_chestplate", + "stackSize": 1 + }, + { + "id": 528, + "displayName": "Golden Leggings", + "name": "golden_leggings", + "stackSize": 1 + }, + { + "id": 529, + "displayName": "Golden Boots", + "name": "golden_boots", + "stackSize": 1 + }, + { + "id": 530, + "displayName": "Flint", + "name": "flint", + "stackSize": 64 + }, + { + "id": 531, + "displayName": "Raw Porkchop", + "name": "porkchop", + "stackSize": 64 + }, + { + "id": 532, + "displayName": "Cooked Porkchop", + "name": "cooked_porkchop", + "stackSize": 64 + }, + { + "id": 533, + "displayName": "Painting", + "name": "painting", + "stackSize": 64 + }, + { + "id": 534, + "displayName": "Golden Apple", + "name": "golden_apple", + "stackSize": 64 + }, + { + "id": 535, + "displayName": "Enchanted Golden Apple", + "name": "enchanted_golden_apple", + "stackSize": 64 + }, + { + "id": 536, + "displayName": "Sign", + "name": "sign", + "stackSize": 16 + }, + { + "id": 537, + "displayName": "Bucket", + "name": "bucket", + "stackSize": 16 + }, + { + "id": 538, + "displayName": "Water Bucket", + "name": "water_bucket", + "stackSize": 1 + }, + { + "id": 539, + "displayName": "Lava Bucket", + "name": "lava_bucket", + "stackSize": 1 + }, + { + "id": 540, + "displayName": "Minecart", + "name": "minecart", + "stackSize": 1 + }, + { + "id": 541, + "displayName": "Saddle", + "name": "saddle", + "stackSize": 1 + }, + { + "id": 542, + "displayName": "Redstone", + "name": "redstone", + "stackSize": 64 + }, + { + "id": 543, + "displayName": "Snowball", + "name": "snowball", + "stackSize": 16 + }, + { + "id": 544, + "displayName": "Oak Boat", + "name": "oak_boat", + "stackSize": 1 + }, + { + "id": 545, + "displayName": "Leather", + "name": "leather", + "stackSize": 64 + }, + { + "id": 546, + "displayName": "Milk Bucket", + "name": "milk_bucket", + "stackSize": 1 + }, + { + "id": 547, + "displayName": "Bucket of Pufferfish", + "name": "pufferfish_bucket", + "stackSize": 1 + }, + { + "id": 548, + "displayName": "Bucket of Salmon", + "name": "salmon_bucket", + "stackSize": 1 + }, + { + "id": 549, + "displayName": "Bucket of Cod", + "name": "cod_bucket", + "stackSize": 1 + }, + { + "id": 550, + "displayName": "Bucket of Tropical Fish", + "name": "tropical_fish_bucket", + "stackSize": 1 + }, + { + "id": 551, + "displayName": "Brick", + "name": "brick", + "stackSize": 64 + }, + { + "id": 552, + "displayName": "Clay", + "name": "clay_ball", + "stackSize": 64 + }, + { + "id": 553, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "stackSize": 64 + }, + { + "id": 554, + "displayName": "Kelp", + "name": "kelp", + "stackSize": 64 + }, + { + "id": 555, + "displayName": "Dried Kelp Block", + "name": "dried_kelp_block", + "stackSize": 64 + }, + { + "id": 556, + "displayName": "Paper", + "name": "paper", + "stackSize": 64 + }, + { + "id": 557, + "displayName": "Book", + "name": "book", + "stackSize": 64 + }, + { + "id": 558, + "displayName": "Slimeball", + "name": "slime_ball", + "stackSize": 64 + }, + { + "id": 559, + "displayName": "Minecart with Chest", + "name": "chest_minecart", + "stackSize": 1 + }, + { + "id": 560, + "displayName": "Minecart with Furnace", + "name": "furnace_minecart", + "stackSize": 1 + }, + { + "id": 561, + "displayName": "Egg", + "name": "egg", + "stackSize": 16 + }, + { + "id": 562, + "displayName": "Compass", + "name": "compass", + "stackSize": 64 + }, + { + "id": 563, + "displayName": "Fishing Rod", + "name": "fishing_rod", + "stackSize": 1 + }, + { + "id": 564, + "displayName": "Clock", + "name": "clock", + "stackSize": 64 + }, + { + "id": 565, + "displayName": "Glowstone Dust", + "name": "glowstone_dust", + "stackSize": 64 + }, + { + "id": 566, + "displayName": "Raw Cod", + "name": "cod", + "stackSize": 64 + }, + { + "id": 567, + "displayName": "Raw Salmon", + "name": "salmon", + "stackSize": 64 + }, + { + "id": 568, + "displayName": "Tropical Fish", + "name": "tropical_fish", + "stackSize": 64 + }, + { + "id": 569, + "displayName": "Pufferfish", + "name": "pufferfish", + "stackSize": 64 + }, + { + "id": 570, + "displayName": "Cooked Cod", + "name": "cooked_cod", + "stackSize": 64 + }, + { + "id": 571, + "displayName": "Cooked Salmon", + "name": "cooked_salmon", + "stackSize": 64 + }, + { + "id": 572, + "displayName": "Ink Sac", + "name": "ink_sac", + "stackSize": 64 + }, + { + "id": 573, + "displayName": "Rose Red", + "name": "rose_red", + "stackSize": 64 + }, + { + "id": 574, + "displayName": "Cactus Green", + "name": "cactus_green", + "stackSize": 64 + }, + { + "id": 575, + "displayName": "Cocoa Beans", + "name": "cocoa_beans", + "stackSize": 64 + }, + { + "id": 576, + "displayName": "Lapis Lazuli", + "name": "lapis_lazuli", + "stackSize": 64 + }, + { + "id": 577, + "displayName": "Purple Dye", + "name": "purple_dye", + "stackSize": 64 + }, + { + "id": 578, + "displayName": "Cyan Dye", + "name": "cyan_dye", + "stackSize": 64 + }, + { + "id": 579, + "displayName": "Light Gray Dye", + "name": "light_gray_dye", + "stackSize": 64 + }, + { + "id": 580, + "displayName": "Gray Dye", + "name": "gray_dye", + "stackSize": 64 + }, + { + "id": 581, + "displayName": "Pink Dye", + "name": "pink_dye", + "stackSize": 64 + }, + { + "id": 582, + "displayName": "Lime Dye", + "name": "lime_dye", + "stackSize": 64 + }, + { + "id": 583, + "displayName": "Dandelion Yellow", + "name": "dandelion_yellow", + "stackSize": 64 + }, + { + "id": 584, + "displayName": "Light Blue Dye", + "name": "light_blue_dye", + "stackSize": 64 + }, + { + "id": 585, + "displayName": "Magenta Dye", + "name": "magenta_dye", + "stackSize": 64 + }, + { + "id": 586, + "displayName": "Orange Dye", + "name": "orange_dye", + "stackSize": 64 + }, + { + "id": 587, + "displayName": "Bone Meal", + "name": "bone_meal", + "stackSize": 64 + }, + { + "id": 588, + "displayName": "Bone", + "name": "bone", + "stackSize": 64 + }, + { + "id": 589, + "displayName": "Sugar", + "name": "sugar", + "stackSize": 64 + }, + { + "id": 590, + "displayName": "Cake", + "name": "cake", + "stackSize": 1 + }, + { + "id": 591, + "displayName": "White Bed", + "name": "white_bed", + "stackSize": 1 + }, + { + "id": 592, + "displayName": "Orange Bed", + "name": "orange_bed", + "stackSize": 1 + }, + { + "id": 593, + "displayName": "Magenta Bed", + "name": "magenta_bed", + "stackSize": 1 + }, + { + "id": 594, + "displayName": "Light Blue Bed", + "name": "light_blue_bed", + "stackSize": 1 + }, + { + "id": 595, + "displayName": "Yellow Bed", + "name": "yellow_bed", + "stackSize": 1 + }, + { + "id": 596, + "displayName": "Lime Bed", + "name": "lime_bed", + "stackSize": 1 + }, + { + "id": 597, + "displayName": "Pink Bed", + "name": "pink_bed", + "stackSize": 1 + }, + { + "id": 598, + "displayName": "Gray Bed", + "name": "gray_bed", + "stackSize": 1 + }, + { + "id": 599, + "displayName": "Light Gray Bed", + "name": "light_gray_bed", + "stackSize": 1 + }, + { + "id": 600, + "displayName": "Cyan Bed", + "name": "cyan_bed", + "stackSize": 1 + }, + { + "id": 601, + "displayName": "Purple Bed", + "name": "purple_bed", + "stackSize": 1 + }, + { + "id": 602, + "displayName": "Blue Bed", + "name": "blue_bed", + "stackSize": 1 + }, + { + "id": 603, + "displayName": "Brown Bed", + "name": "brown_bed", + "stackSize": 1 + }, + { + "id": 604, + "displayName": "Green Bed", + "name": "green_bed", + "stackSize": 1 + }, + { + "id": 605, + "displayName": "Red Bed", + "name": "red_bed", + "stackSize": 1 + }, + { + "id": 606, + "displayName": "Black Bed", + "name": "black_bed", + "stackSize": 1 + }, + { + "id": 607, + "displayName": "Cookie", + "name": "cookie", + "stackSize": 64 + }, + { + "id": 608, + "displayName": "Map", + "name": "filled_map", + "stackSize": 64 + }, + { + "id": 609, + "displayName": "Shears", + "name": "shears", + "stackSize": 1 + }, + { + "id": 610, + "displayName": "Melon Slice", + "name": "melon_slice", + "stackSize": 64 + }, + { + "id": 611, + "displayName": "Dried Kelp", + "name": "dried_kelp", + "stackSize": 64 + }, + { + "id": 612, + "displayName": "Pumpkin Seeds", + "name": "pumpkin_seeds", + "stackSize": 64 + }, + { + "id": 613, + "displayName": "Melon Seeds", + "name": "melon_seeds", + "stackSize": 64 + }, + { + "id": 614, + "displayName": "Raw Beef", + "name": "beef", + "stackSize": 64 + }, + { + "id": 615, + "displayName": "Steak", + "name": "cooked_beef", + "stackSize": 64 + }, + { + "id": 616, + "displayName": "Raw Chicken", + "name": "chicken", + "stackSize": 64 + }, + { + "id": 617, + "displayName": "Cooked Chicken", + "name": "cooked_chicken", + "stackSize": 64 + }, + { + "id": 618, + "displayName": "Rotten Flesh", + "name": "rotten_flesh", + "stackSize": 64 + }, + { + "id": 619, + "displayName": "Ender Pearl", + "name": "ender_pearl", + "stackSize": 16 + }, + { + "id": 620, + "displayName": "Blaze Rod", + "name": "blaze_rod", + "stackSize": 64 + }, + { + "id": 621, + "displayName": "Ghast Tear", + "name": "ghast_tear", + "stackSize": 64 + }, + { + "id": 622, + "displayName": "Gold Nugget", + "name": "gold_nugget", + "stackSize": 64 + }, + { + "id": 623, + "displayName": "Nether Wart", + "name": "nether_wart", + "stackSize": 64 + }, + { + "id": 624, + "displayName": "Potion", + "name": "potion", + "stackSize": 1 + }, + { + "id": 625, + "displayName": "Glass Bottle", + "name": "glass_bottle", + "stackSize": 64 + }, + { + "id": 626, + "displayName": "Spider Eye", + "name": "spider_eye", + "stackSize": 64 + }, + { + "id": 627, + "displayName": "Fermented Spider Eye", + "name": "fermented_spider_eye", + "stackSize": 64 + }, + { + "id": 628, + "displayName": "Blaze Powder", + "name": "blaze_powder", + "stackSize": 64 + }, + { + "id": 629, + "displayName": "Magma Cream", + "name": "magma_cream", + "stackSize": 64 + }, + { + "id": 630, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "stackSize": 64 + }, + { + "id": 631, + "displayName": "Cauldron", + "name": "cauldron", + "stackSize": 64 + }, + { + "id": 632, + "displayName": "Eye of Ender", + "name": "ender_eye", + "stackSize": 64 + }, + { + "id": 633, + "displayName": "Glistering Melon Slice", + "name": "glistering_melon_slice", + "stackSize": 64 + }, + { + "id": 634, + "displayName": "Bat Spawn Egg", + "name": "bat_spawn_egg", + "stackSize": 64 + }, + { + "id": 635, + "displayName": "Blaze Spawn Egg", + "name": "blaze_spawn_egg", + "stackSize": 64 + }, + { + "id": 636, + "displayName": "Cave Spider Spawn Egg", + "name": "cave_spider_spawn_egg", + "stackSize": 64 + }, + { + "id": 637, + "displayName": "Chicken Spawn Egg", + "name": "chicken_spawn_egg", + "stackSize": 64 + }, + { + "id": 638, + "displayName": "Cod Spawn Egg", + "name": "cod_spawn_egg", + "stackSize": 64 + }, + { + "id": 639, + "displayName": "Cow Spawn Egg", + "name": "cow_spawn_egg", + "stackSize": 64 + }, + { + "id": 640, + "displayName": "Creeper Spawn Egg", + "name": "creeper_spawn_egg", + "stackSize": 64 + }, + { + "id": 641, + "displayName": "Dolphin Spawn Egg", + "name": "dolphin_spawn_egg", + "stackSize": 64 + }, + { + "id": 642, + "displayName": "Donkey Spawn Egg", + "name": "donkey_spawn_egg", + "stackSize": 64 + }, + { + "id": 643, + "displayName": "Drowned Spawn Egg", + "name": "drowned_spawn_egg", + "stackSize": 64 + }, + { + "id": 644, + "displayName": "Elder Guardian Spawn Egg", + "name": "elder_guardian_spawn_egg", + "stackSize": 64 + }, + { + "id": 645, + "displayName": "Enderman Spawn Egg", + "name": "enderman_spawn_egg", + "stackSize": 64 + }, + { + "id": 646, + "displayName": "Endermite Spawn Egg", + "name": "endermite_spawn_egg", + "stackSize": 64 + }, + { + "id": 647, + "displayName": "Evoker Spawn Egg", + "name": "evoker_spawn_egg", + "stackSize": 64 + }, + { + "id": 648, + "displayName": "Ghast Spawn Egg", + "name": "ghast_spawn_egg", + "stackSize": 64 + }, + { + "id": 649, + "displayName": "Guardian Spawn Egg", + "name": "guardian_spawn_egg", + "stackSize": 64 + }, + { + "id": 650, + "displayName": "Horse Spawn Egg", + "name": "horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 651, + "displayName": "Husk Spawn Egg", + "name": "husk_spawn_egg", + "stackSize": 64 + }, + { + "id": 652, + "displayName": "Llama Spawn Egg", + "name": "llama_spawn_egg", + "stackSize": 64 + }, + { + "id": 653, + "displayName": "Magma Cube Spawn Egg", + "name": "magma_cube_spawn_egg", + "stackSize": 64 + }, + { + "id": 654, + "displayName": "Mooshroom Spawn Egg", + "name": "mooshroom_spawn_egg", + "stackSize": 64 + }, + { + "id": 655, + "displayName": "Mule Spawn Egg", + "name": "mule_spawn_egg", + "stackSize": 64 + }, + { + "id": 656, + "displayName": "Ocelot Spawn Egg", + "name": "ocelot_spawn_egg", + "stackSize": 64 + }, + { + "id": 657, + "displayName": "Parrot Spawn Egg", + "name": "parrot_spawn_egg", + "stackSize": 64 + }, + { + "id": 658, + "displayName": "Phantom Spawn Egg", + "name": "phantom_spawn_egg", + "stackSize": 64 + }, + { + "id": 659, + "displayName": "Pig Spawn Egg", + "name": "pig_spawn_egg", + "stackSize": 64 + }, + { + "id": 660, + "displayName": "Polar Bear Spawn Egg", + "name": "polar_bear_spawn_egg", + "stackSize": 64 + }, + { + "id": 661, + "displayName": "Pufferfish Spawn Egg", + "name": "pufferfish_spawn_egg", + "stackSize": 64 + }, + { + "id": 662, + "displayName": "Rabbit Spawn Egg", + "name": "rabbit_spawn_egg", + "stackSize": 64 + }, + { + "id": 663, + "displayName": "Salmon Spawn Egg", + "name": "salmon_spawn_egg", + "stackSize": 64 + }, + { + "id": 664, + "displayName": "Sheep Spawn Egg", + "name": "sheep_spawn_egg", + "stackSize": 64 + }, + { + "id": 665, + "displayName": "Shulker Spawn Egg", + "name": "shulker_spawn_egg", + "stackSize": 64 + }, + { + "id": 666, + "displayName": "Silverfish Spawn Egg", + "name": "silverfish_spawn_egg", + "stackSize": 64 + }, + { + "id": 667, + "displayName": "Skeleton Spawn Egg", + "name": "skeleton_spawn_egg", + "stackSize": 64 + }, + { + "id": 668, + "displayName": "Skeleton Horse Spawn Egg", + "name": "skeleton_horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 669, + "displayName": "Slime Spawn Egg", + "name": "slime_spawn_egg", + "stackSize": 64 + }, + { + "id": 670, + "displayName": "Spider Spawn Egg", + "name": "spider_spawn_egg", + "stackSize": 64 + }, + { + "id": 671, + "displayName": "Squid Spawn Egg", + "name": "squid_spawn_egg", + "stackSize": 64 + }, + { + "id": 672, + "displayName": "Stray Spawn Egg", + "name": "stray_spawn_egg", + "stackSize": 64 + }, + { + "id": 673, + "displayName": "Tropical Fish Spawn Egg", + "name": "tropical_fish_spawn_egg", + "stackSize": 64 + }, + { + "id": 674, + "displayName": "Turtle Spawn Egg", + "name": "turtle_spawn_egg", + "stackSize": 64 + }, + { + "id": 675, + "displayName": "Vex Spawn Egg", + "name": "vex_spawn_egg", + "stackSize": 64 + }, + { + "id": 676, + "displayName": "Villager Spawn Egg", + "name": "villager_spawn_egg", + "stackSize": 64 + }, + { + "id": 677, + "displayName": "Vindicator Spawn Egg", + "name": "vindicator_spawn_egg", + "stackSize": 64 + }, + { + "id": 678, + "displayName": "Witch Spawn Egg", + "name": "witch_spawn_egg", + "stackSize": 64 + }, + { + "id": 679, + "displayName": "Wither Skeleton Spawn Egg", + "name": "wither_skeleton_spawn_egg", + "stackSize": 64 + }, + { + "id": 680, + "displayName": "Wolf Spawn Egg", + "name": "wolf_spawn_egg", + "stackSize": 64 + }, + { + "id": 681, + "displayName": "Zombie Spawn Egg", + "name": "zombie_spawn_egg", + "stackSize": 64 + }, + { + "id": 682, + "displayName": "Zombie Horse Spawn Egg", + "name": "zombie_horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 683, + "displayName": "Zombie Pigman Spawn Egg", + "name": "zombie_pigman_spawn_egg", + "stackSize": 64 + }, + { + "id": 684, + "displayName": "Zombie Villager Spawn Egg", + "name": "zombie_villager_spawn_egg", + "stackSize": 64 + }, + { + "id": 685, + "displayName": "Bottle o' Enchanting", + "name": "experience_bottle", + "stackSize": 64 + }, + { + "id": 686, + "displayName": "Fire Charge", + "name": "fire_charge", + "stackSize": 64 + }, + { + "id": 687, + "displayName": "Book and Quill", + "name": "writable_book", + "stackSize": 1 + }, + { + "id": 688, + "displayName": "Written Book", + "name": "written_book", + "stackSize": 16 + }, + { + "id": 689, + "displayName": "Emerald", + "name": "emerald", + "stackSize": 64 + }, + { + "id": 690, + "displayName": "Item Frame", + "name": "item_frame", + "stackSize": 64 + }, + { + "id": 691, + "displayName": "Flower Pot", + "name": "flower_pot", + "stackSize": 64 + }, + { + "id": 692, + "displayName": "Carrot", + "name": "carrot", + "stackSize": 64 + }, + { + "id": 693, + "displayName": "Potato", + "name": "potato", + "stackSize": 64 + }, + { + "id": 694, + "displayName": "Baked Potato", + "name": "baked_potato", + "stackSize": 64 + }, + { + "id": 695, + "displayName": "Poisonous Potato", + "name": "poisonous_potato", + "stackSize": 64 + }, + { + "id": 696, + "displayName": "Empty Map", + "name": "map", + "stackSize": 64 + }, + { + "id": 697, + "displayName": "Golden Carrot", + "name": "golden_carrot", + "stackSize": 64 + }, + { + "id": 698, + "displayName": "Skeleton Skull", + "name": "skeleton_skull", + "stackSize": 64 + }, + { + "id": 699, + "displayName": "Wither Skeleton Skull", + "name": "wither_skeleton_skull", + "stackSize": 64 + }, + { + "id": 700, + "displayName": "Player Head", + "name": "player_head", + "stackSize": 64 + }, + { + "id": 701, + "displayName": "Zombie Head", + "name": "zombie_head", + "stackSize": 64 + }, + { + "id": 702, + "displayName": "Creeper Head", + "name": "creeper_head", + "stackSize": 64 + }, + { + "id": 703, + "displayName": "Dragon Head", + "name": "dragon_head", + "stackSize": 64 + }, + { + "id": 704, + "displayName": "Carrot on a Stick", + "name": "carrot_on_a_stick", + "stackSize": 1 + }, + { + "id": 705, + "displayName": "Nether Star", + "name": "nether_star", + "stackSize": 64 + }, + { + "id": 706, + "displayName": "Pumpkin Pie", + "name": "pumpkin_pie", + "stackSize": 64 + }, + { + "id": 707, + "displayName": "Firework Rocket", + "name": "firework_rocket", + "stackSize": 64 + }, + { + "id": 708, + "displayName": "Firework Star", + "name": "firework_star", + "stackSize": 64 + }, + { + "id": 709, + "displayName": "Enchanted Book", + "name": "enchanted_book", + "stackSize": 1 + }, + { + "id": 710, + "displayName": "Nether Brick", + "name": "nether_brick", + "stackSize": 64 + }, + { + "id": 711, + "displayName": "Nether Quartz", + "name": "quartz", + "stackSize": 64 + }, + { + "id": 712, + "displayName": "Minecart with TNT", + "name": "tnt_minecart", + "stackSize": 1 + }, + { + "id": 713, + "displayName": "Minecart with Hopper", + "name": "hopper_minecart", + "stackSize": 1 + }, + { + "id": 714, + "displayName": "Prismarine Shard", + "name": "prismarine_shard", + "stackSize": 64 + }, + { + "id": 715, + "displayName": "Prismarine Crystals", + "name": "prismarine_crystals", + "stackSize": 64 + }, + { + "id": 716, + "displayName": "Raw Rabbit", + "name": "rabbit", + "stackSize": 64 + }, + { + "id": 717, + "displayName": "Cooked Rabbit", + "name": "cooked_rabbit", + "stackSize": 64 + }, + { + "id": 718, + "displayName": "Rabbit Stew", + "name": "rabbit_stew", + "stackSize": 1 + }, + { + "id": 719, + "displayName": "Rabbit's Foot", + "name": "rabbit_foot", + "stackSize": 64 + }, + { + "id": 720, + "displayName": "Rabbit Hide", + "name": "rabbit_hide", + "stackSize": 64 + }, + { + "id": 721, + "displayName": "Armor Stand", + "name": "armor_stand", + "stackSize": 16 + }, + { + "id": 722, + "displayName": "Iron Horse Armor", + "name": "iron_horse_armor", + "stackSize": 1 + }, + { + "id": 723, + "displayName": "Golden Horse Armor", + "name": "golden_horse_armor", + "stackSize": 1 + }, + { + "id": 724, + "displayName": "Diamond Horse Armor", + "name": "diamond_horse_armor", + "stackSize": 1 + }, + { + "id": 725, + "displayName": "Lead", + "name": "lead", + "stackSize": 64 + }, + { + "id": 726, + "displayName": "Name Tag", + "name": "name_tag", + "stackSize": 64 + }, + { + "id": 727, + "displayName": "Minecart with Command Block", + "name": "command_block_minecart", + "stackSize": 1 + }, + { + "id": 728, + "displayName": "Raw Mutton", + "name": "mutton", + "stackSize": 64 + }, + { + "id": 729, + "displayName": "Cooked Mutton", + "name": "cooked_mutton", + "stackSize": 64 + }, + { + "id": 730, + "displayName": "White Banner", + "name": "white_banner", + "stackSize": 16 + }, + { + "id": 731, + "displayName": "Orange Banner", + "name": "orange_banner", + "stackSize": 16 + }, + { + "id": 732, + "displayName": "Magenta Banner", + "name": "magenta_banner", + "stackSize": 16 + }, + { + "id": 733, + "displayName": "Light Blue Banner", + "name": "light_blue_banner", + "stackSize": 16 + }, + { + "id": 734, + "displayName": "Yellow Banner", + "name": "yellow_banner", + "stackSize": 16 + }, + { + "id": 735, + "displayName": "Lime Banner", + "name": "lime_banner", + "stackSize": 16 + }, + { + "id": 736, + "displayName": "Pink Banner", + "name": "pink_banner", + "stackSize": 16 + }, + { + "id": 737, + "displayName": "Gray Banner", + "name": "gray_banner", + "stackSize": 16 + }, + { + "id": 738, + "displayName": "Light Gray Banner", + "name": "light_gray_banner", + "stackSize": 16 + }, + { + "id": 739, + "displayName": "Cyan Banner", + "name": "cyan_banner", + "stackSize": 16 + }, + { + "id": 740, + "displayName": "Purple Banner", + "name": "purple_banner", + "stackSize": 16 + }, + { + "id": 741, + "displayName": "Blue Banner", + "name": "blue_banner", + "stackSize": 16 + }, + { + "id": 742, + "displayName": "Brown Banner", + "name": "brown_banner", + "stackSize": 16 + }, + { + "id": 743, + "displayName": "Green Banner", + "name": "green_banner", + "stackSize": 16 + }, + { + "id": 744, + "displayName": "Red Banner", + "name": "red_banner", + "stackSize": 16 + }, + { + "id": 745, + "displayName": "Black Banner", + "name": "black_banner", + "stackSize": 16 + }, + { + "id": 746, + "displayName": "End Crystal", + "name": "end_crystal", + "stackSize": 64 + }, + { + "id": 747, + "displayName": "Chorus Fruit", + "name": "chorus_fruit", + "stackSize": 64 + }, + { + "id": 748, + "displayName": "Popped Chorus Fruit", + "name": "popped_chorus_fruit", + "stackSize": 64 + }, + { + "id": 749, + "displayName": "Beetroot", + "name": "beetroot", + "stackSize": 64 + }, + { + "id": 750, + "displayName": "Beetroot Seeds", + "name": "beetroot_seeds", + "stackSize": 64 + }, + { + "id": 751, + "displayName": "Beetroot Soup", + "name": "beetroot_soup", + "stackSize": 1 + }, + { + "id": 752, + "displayName": "Dragon's Breath", + "name": "dragon_breath", + "stackSize": 64 + }, + { + "id": 753, + "displayName": "Splash Potion", + "name": "splash_potion", + "stackSize": 1 + }, + { + "id": 754, + "displayName": "Spectral Arrow", + "name": "spectral_arrow", + "stackSize": 64 + }, + { + "id": 755, + "displayName": "Tipped Arrow", + "name": "tipped_arrow", + "stackSize": 64 + }, + { + "id": 756, + "displayName": "Lingering Potion", + "name": "lingering_potion", + "stackSize": 1 + }, + { + "id": 757, + "displayName": "Shield", + "name": "shield", + "stackSize": 1 + }, + { + "id": 758, + "displayName": "Elytra", + "name": "elytra", + "stackSize": 1 + }, + { + "id": 759, + "displayName": "Spruce Boat", + "name": "spruce_boat", + "stackSize": 1 + }, + { + "id": 760, + "displayName": "Birch Boat", + "name": "birch_boat", + "stackSize": 1 + }, + { + "id": 761, + "displayName": "Jungle Boat", + "name": "jungle_boat", + "stackSize": 1 + }, + { + "id": 762, + "displayName": "Acacia Boat", + "name": "acacia_boat", + "stackSize": 1 + }, + { + "id": 763, + "displayName": "Dark Oak Boat", + "name": "dark_oak_boat", + "stackSize": 1 + }, + { + "id": 764, + "displayName": "Totem of Undying", + "name": "totem_of_undying", + "stackSize": 1 + }, + { + "id": 765, + "displayName": "Shulker Shell", + "name": "shulker_shell", + "stackSize": 64 + }, + { + "id": 766, + "displayName": "Iron Nugget", + "name": "iron_nugget", + "stackSize": 64 + }, + { + "id": 767, + "displayName": "Knowledge Book", + "name": "knowledge_book", + "stackSize": 1 + }, + { + "id": 768, + "displayName": "Debug Stick", + "name": "debug_stick", + "stackSize": 1 + }, + { + "id": 769, + "displayName": "13 Disc", + "name": "music_disc_13", + "stackSize": 1 + }, + { + "id": 770, + "displayName": "Cat Disc", + "name": "music_disc_cat", + "stackSize": 1 + }, + { + "id": 771, + "displayName": "Blocks Disc", + "name": "music_disc_blocks", + "stackSize": 1 + }, + { + "id": 772, + "displayName": "Chirp Disc", + "name": "music_disc_chirp", + "stackSize": 1 + }, + { + "id": 773, + "displayName": "Far Disc", + "name": "music_disc_far", + "stackSize": 1 + }, + { + "id": 774, + "displayName": "Mall Disc", + "name": "music_disc_mall", + "stackSize": 1 + }, + { + "id": 775, + "displayName": "Mellohi Disc", + "name": "music_disc_mellohi", + "stackSize": 1 + }, + { + "id": 776, + "displayName": "Stal Disc", + "name": "music_disc_stal", + "stackSize": 1 + }, + { + "id": 777, + "displayName": "Strad Disc", + "name": "music_disc_strad", + "stackSize": 1 + }, + { + "id": 778, + "displayName": "Ward Disc", + "name": "music_disc_ward", + "stackSize": 1 + }, + { + "id": 779, + "displayName": "11 Disc", + "name": "music_disc_11", + "stackSize": 1 + }, + { + "id": 780, + "displayName": "Wait Disc", + "name": "music_disc_wait", + "stackSize": 1 + }, + { + "id": 781, + "displayName": "Trident", + "name": "trident", + "stackSize": 1 + }, + { + "id": 782, + "displayName": "Phantom Membrane", + "name": "phantom_membrane", + "stackSize": 64 + }, + { + "id": 783, + "displayName": "Nautilus Shell", + "name": "nautilus_shell", + "stackSize": 64 + }, + { + "id": 784, + "displayName": "Heart of the Sea", + "name": "heart_of_the_sea", + "stackSize": 64 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/language.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/language.json new file mode 100644 index 00000000..1c5ef6bb --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/language.json @@ -0,0 +1,3909 @@ +{ + "language.name": "English", + "language.region": "United States", + "language.code": "en_us", + "gui.done": "Done", + "gui.cancel": "Cancel", + "gui.back": "Back", + "gui.toTitle": "Back to title screen", + "gui.toMenu": "Back to server list", + "gui.up": "Up", + "gui.down": "Down", + "gui.yes": "Yes", + "gui.no": "No", + "gui.none": "None", + "gui.all": "All", + "gui.ok": "Ok", + "gui.proceed": "Proceed", + "gui.recipebook.moreRecipes": "Right Click for more", + "gui.recipebook.toggleRecipes.all": "Showing all", + "gui.recipebook.toggleRecipes.craftable": "Showing craftable", + "gui.recipebook.toggleRecipes.smeltable": "Showing smeltable", + "translation.test.none": "Hello, world!", + "translation.test.complex": "Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!", + "translation.test.escape": "%%s %%%s %%%%s %%%%%s", + "translation.test.invalid": "hi %", + "translation.test.invalid2": "hi % s", + "translation.test.args": "%s %s", + "translation.test.world": "world", + "menu.game": "Game Menu", + "menu.singleplayer": "Singleplayer", + "menu.multiplayer": "Multiplayer", + "menu.online": "Minecraft Realms", + "menu.options": "Options...", + "menu.quit": "Quit Game", + "menu.returnToMenu": "Save and Quit to Title", + "menu.disconnect": "Disconnect", + "menu.returnToGame": "Back to Game", + "menu.generatingLevel": "Generating world", + "menu.loadingLevel": "Loading world", + "menu.savingLevel": "Saving world", + "menu.working": "Working...", + "menu.savingChunks": "Saving chunks", + "menu.preparingSpawn": "Preparing spawn area", + "menu.generatingTerrain": "Building terrain", + "menu.convertingLevel": "Converting world", + "menu.respawning": "Respawning", + "menu.shareToLan": "Open to LAN", + "optimizeWorld.confirm.title": "Optimize world", + "optimizeWorld.confirm.description": "This will attempt to optimize your world by making sure all data is stored in the most recent game format. This can take a very long time, depending on your world. Once done, your world may play faster but will no longer be compatible with older versions of the game. Are you sure you wish to proceed?", + "optimizeWorld.title": "Optimizing World '%s'", + "optimizeWorld.stage.counting": "Counting chunks...", + "optimizeWorld.stage.upgrading": "Upgrading all chunks...", + "optimizeWorld.stage.finished": "Finishing up...", + "optimizeWorld.stage.failed": "Failed! :(", + "optimizeWorld.info.converted": "Upgraded chunks: %s", + "optimizeWorld.info.skipped": "Skipped chunks: %s", + "optimizeWorld.info.total": "Total chunks: %s", + "selectWorld.title": "Select World", + "selectWorld.empty": "empty", + "selectWorld.world": "World", + "selectWorld.select": "Play Selected World", + "selectWorld.create": "Create New World", + "selectWorld.recreate": "Re-Create", + "selectWorld.createDemo": "Play New Demo World", + "selectWorld.delete": "Delete", + "selectWorld.edit": "Edit", + "selectWorld.edit.title": "Edit World", + "selectWorld.edit.resetIcon": "Reset Icon", + "selectWorld.edit.openFolder": "Open World Folder", + "selectWorld.edit.save": "Save", + "selectWorld.edit.backup": "Make Backup", + "selectWorld.edit.backupFolder": "Open Backups Folder", + "selectWorld.edit.backupCreated": "Backed up: %s", + "selectWorld.edit.backupSize": "size: %s MB", + "selectWorld.edit.optimize": "Optimize World", + "selectWorld.deleteQuestion": "Are you sure you want to delete this world?", + "selectWorld.deleteWarning": "'%s' will be lost forever! (A long time!)", + "selectWorld.deleteButton": "Delete", + "selectWorld.conversion": "Must be converted!", + "selectWorld.newWorld": "New World", + "selectWorld.newWorld.copyOf": "Copy of %s", + "selectWorld.enterName": "World Name", + "selectWorld.resultFolder": "Will be saved in:", + "selectWorld.enterSeed": "Seed for the world generator", + "selectWorld.seedInfo": "Leave blank for a random seed", + "selectWorld.cheats": "Cheats", + "selectWorld.customizeType": "Customize", + "selectWorld.version": "Version:", + "selectWorld.versionUnknown": "unknown", + "selectWorld.versionQuestion": "Do you really want to load this world?", + "selectWorld.versionWarning": "This world was last played in version %s and loading it in this version could cause corruption!", + "selectWorld.versionJoinButton": "Load Anyway", + "selectWorld.backupQuestion": "Do you really want to load this world?", + "selectWorld.backupWarning": "This world was last played in version %s; you are on snapshot %s. Please make a backup in case you experience world corruptions!", + "selectWorld.backupQuestion.customized": "Customized worlds are no longer supported", + "selectWorld.backupWarning.customized": "Unfortunately, we do not support customized worlds in this version of Minecraft. We can still load this world and keep everything the way it was, but any newly generated terrain will no longer be customized. We're sorry for the inconvenience!", + "selectWorld.backupJoinConfirmButton": "Backup and load", + "selectWorld.backupJoinSkipButton": "I know what I'm doing!", + "selectWorld.tooltip.fromNewerVersion1": "World was saved in a newer version,", + "selectWorld.tooltip.fromNewerVersion2": "loading this world could cause problems!", + "selectWorld.tooltip.snapshot1": "Don't forget to backup this world", + "selectWorld.tooltip.snapshot2": "before you load it in this snapshot.", + "selectWorld.tooltip.unsupported": "This world is no longer supported and can only be played in %s", + "selectWorld.unable_to_load": "Unable to load worlds", + "selectWorld.futureworld.error.title": "An error occured!", + "selectWorld.futureworld.error.text": "Something went wrong while trying to load a world from a future version. This was a risky operation to begin with, sorry it didn't work.", + "selectWorld.recreate.error.title": "An error occured!", + "selectWorld.recreate.error.text": "Something went wrong while trying to recreate a world.", + "selectWorld.recreate.customized.title": "Customized worlds are no longer supported", + "selectWorld.recreate.customized.text": "Customized worlds are no longer supported in this version of Minecraft. We can try to recreate it with the same seed and properties, but any terrain customizations will be lost. We're sorry for the inconvenience!", + "selectWorld.load_folder_access": "Unable to read or access folder where game worlds are saved!", + "createWorld.customize.presets": "Presets", + "createWorld.customize.presets.title": "Select a Preset", + "createWorld.customize.presets.select": "Use Preset", + "createWorld.customize.presets.share": "Want to share your preset with someone? Use the below box!", + "createWorld.customize.presets.list": "Alternatively, here's some we made earlier!", + "createWorld.customize.flat.title": "Superflat Customization", + "createWorld.customize.flat.tile": "Layer Material", + "createWorld.customize.flat.height": "Height", + "createWorld.customize.flat.addLayer": "Add Layer", + "createWorld.customize.flat.editLayer": "Edit Layer", + "createWorld.customize.flat.removeLayer": "Remove Layer", + "createWorld.customize.flat.layer.top": "Top - %s", + "createWorld.customize.flat.layer": "%s", + "createWorld.customize.flat.layer.bottom": "Bottom - %s", + "createWorld.customize.buffet.title": "Buffet world customization", + "createWorld.customize.buffet.generatortype": "World generator:", + "createWorld.customize.buffet.generator": "Please select a generator type", + "createWorld.customize.buffet.biome": "Please select a biome", + "createWorld.customize.preset.classic_flat": "Classic Flat", + "createWorld.customize.preset.tunnelers_dream": "Tunnelers' Dream", + "createWorld.customize.preset.water_world": "Water World", + "createWorld.customize.preset.overworld": "Overworld", + "createWorld.customize.preset.snowy_kingdom": "Snowy Kingdom", + "createWorld.customize.preset.bottomless_pit": "Bottomless Pit", + "createWorld.customize.preset.desert": "Desert", + "createWorld.customize.preset.redstone_ready": "Redstone Ready", + "createWorld.customize.preset.the_void": "The Void", + "createWorld.customize.custom.page0": "Basic Settings", + "createWorld.customize.custom.page1": "Ore Settings", + "createWorld.customize.custom.page2": "Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.page3": "Extra Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.randomize": "Randomize", + "createWorld.customize.custom.prev": "Previous Page", + "createWorld.customize.custom.next": "Next Page", + "createWorld.customize.custom.defaults": "Defaults", + "createWorld.customize.custom.confirm1": "This will overwrite your current", + "createWorld.customize.custom.confirm2": "settings and cannot be undone.", + "createWorld.customize.custom.confirmTitle": "Warning!", + "createWorld.customize.custom.mainNoiseScaleX": "Main Noise Scale X", + "createWorld.customize.custom.mainNoiseScaleY": "Main Noise Scale Y", + "createWorld.customize.custom.mainNoiseScaleZ": "Main Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleX": "Depth Noise Scale X", + "createWorld.customize.custom.depthNoiseScaleZ": "Depth Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleExponent": "Depth Noise Exponent", + "createWorld.customize.custom.baseSize": "Depth Base Size", + "createWorld.customize.custom.coordinateScale": "Coordinate Scale", + "createWorld.customize.custom.heightScale": "Height Scale", + "createWorld.customize.custom.stretchY": "Height Stretch", + "createWorld.customize.custom.upperLimitScale": "Upper Limit Scale", + "createWorld.customize.custom.lowerLimitScale": "Lower Limit Scale", + "createWorld.customize.custom.biomeDepthWeight": "Biome Depth Weight", + "createWorld.customize.custom.biomeDepthOffset": "Biome Depth Offset", + "createWorld.customize.custom.biomeScaleWeight": "Biome Scale Weight", + "createWorld.customize.custom.biomeScaleOffset": "Biome Scale Offset", + "createWorld.customize.custom.seaLevel": "Sea Level", + "createWorld.customize.custom.useCaves": "Caves", + "createWorld.customize.custom.useStrongholds": "Strongholds", + "createWorld.customize.custom.useVillages": "Villages", + "createWorld.customize.custom.useMineShafts": "Mineshafts", + "createWorld.customize.custom.useTemples": "Temples", + "createWorld.customize.custom.useOceanRuins": "Ocean Ruins", + "createWorld.customize.custom.useMonuments": "Ocean Monuments", + "createWorld.customize.custom.useMansions": "Woodland Mansions", + "createWorld.customize.custom.useRavines": "Ravines", + "createWorld.customize.custom.useDungeons": "Dungeons", + "createWorld.customize.custom.dungeonChance": "Dungeon Count", + "createWorld.customize.custom.useWaterLakes": "Water Lakes", + "createWorld.customize.custom.waterLakeChance": "Water Lake Rarity", + "createWorld.customize.custom.useLavaLakes": "Lava Lakes", + "createWorld.customize.custom.lavaLakeChance": "Lava Lake Rarity", + "createWorld.customize.custom.useLavaOceans": "Lava Oceans", + "createWorld.customize.custom.fixedBiome": "Biome", + "createWorld.customize.custom.biomeSize": "Biome Size", + "createWorld.customize.custom.riverSize": "River Size", + "createWorld.customize.custom.size": "Spawn Size", + "createWorld.customize.custom.count": "Spawn Tries", + "createWorld.customize.custom.minHeight": "Min. Height", + "createWorld.customize.custom.maxHeight": "Max. Height", + "createWorld.customize.custom.center": "Center Height", + "createWorld.customize.custom.spread": "Spread Height", + "createWorld.customize.custom.presets.title": "Customize World Presets", + "createWorld.customize.custom.presets": "Presets", + "createWorld.customize.custom.preset.waterWorld": "Water World", + "createWorld.customize.custom.preset.isleLand": "Isle Land", + "createWorld.customize.custom.preset.caveDelight": "Caver's Delight", + "createWorld.customize.custom.preset.mountains": "Mountain Madness", + "createWorld.customize.custom.preset.drought": "Drought", + "createWorld.customize.custom.preset.caveChaos": "Caves of Chaos", + "createWorld.customize.custom.preset.goodLuck": "Good Luck", + "gameMode.survival": "Survival Mode", + "gameMode.creative": "Creative Mode", + "gameMode.adventure": "Adventure Mode", + "gameMode.spectator": "Spectator Mode", + "gameMode.hardcore": "Hardcore Mode!", + "gameMode.changed": "Your game mode has been updated to %s", + "spectatorMenu.previous_page": "Previous Page", + "spectatorMenu.next_page": "Next Page", + "spectatorMenu.close": "Close Menu", + "spectatorMenu.teleport": "Teleport to Player", + "spectatorMenu.teleport.prompt": "Select a player to teleport to", + "spectatorMenu.team_teleport": "Teleport to Team Member", + "spectatorMenu.team_teleport.prompt": "Select a team to teleport to", + "spectatorMenu.root.prompt": "Press a key to select a command, and again to use it.", + "selectWorld.gameMode": "Game Mode", + "selectWorld.gameMode.survival": "Survival", + "selectWorld.gameMode.survival.line1": "Search for resources, crafting, gain", + "selectWorld.gameMode.survival.line2": "levels, health and hunger", + "selectWorld.gameMode.creative": "Creative", + "selectWorld.gameMode.creative.line1": "Unlimited resources, free flying and", + "selectWorld.gameMode.creative.line2": "destroy blocks instantly", + "selectWorld.gameMode.spectator": "Spectator", + "selectWorld.gameMode.spectator.line1": "You can look but don't touch", + "selectWorld.gameMode.spectator.line2": "", + "selectWorld.gameMode.hardcore": "Hardcore", + "selectWorld.gameMode.hardcore.line1": "Same as survival mode, locked at hardest", + "selectWorld.gameMode.hardcore.line2": "difficulty, and one life only", + "selectWorld.gameMode.adventure": "Adventure", + "selectWorld.gameMode.adventure.line1": "Same as survival mode, but blocks can't", + "selectWorld.gameMode.adventure.line2": "be added or removed", + "selectWorld.moreWorldOptions": "More World Options...", + "selectWorld.mapFeatures": "Generate Structures:", + "selectWorld.mapFeatures.info": "Villages, dungeons etc", + "selectWorld.mapType": "World Type:", + "selectWorld.mapType.normal": "Normal", + "selectWorld.allowCommands": "Allow Cheats:", + "selectWorld.allowCommands.info": "Commands like /gamemode, /experience", + "selectWorld.hardcoreMode": "Hardcore:", + "selectWorld.hardcoreMode.info": "World is deleted upon death", + "selectWorld.bonusItems": "Bonus Chest:", + "generator.default": "Default", + "generator.flat": "Superflat", + "generator.largeBiomes": "Large Biomes", + "generator.amplified": "AMPLIFIED", + "generator.customized": "Customized", + "generator.debug_all_block_states": "Debug Mode", + "generator.amplified.info": "Notice: Just for fun, requires beefy computer", + "generator.buffet": "Buffet", + "selectServer.title": "Select Server", + "selectServer.empty": "empty", + "selectServer.select": "Join Server", + "selectServer.direct": "Direct Connect", + "selectServer.edit": "Edit", + "selectServer.delete": "Delete", + "selectServer.add": "Add Server", + "selectServer.defaultName": "Minecraft Server", + "selectServer.deleteQuestion": "Are you sure you want to remove this server?", + "selectServer.deleteWarning": "'%s' will be lost forever! (A long time!)", + "selectServer.deleteButton": "Delete", + "selectServer.refresh": "Refresh", + "selectServer.hiddenAddress": "(Hidden)", + "addServer.title": "Edit Server Info", + "addServer.enterName": "Server Name", + "addServer.enterIp": "Server Address", + "addServer.add": "Done", + "addServer.hideAddress": "Hide Address", + "addServer.resourcePack": "Server Resource Packs", + "addServer.resourcePack.enabled": "Enabled", + "addServer.resourcePack.disabled": "Disabled", + "addServer.resourcePack.prompt": "Prompt", + "lanServer.title": "LAN World", + "lanServer.scanning": "Scanning for games on your local network", + "lanServer.start": "Start LAN World", + "lanServer.otherPlayers": "Settings for Other Players", + "mcoServer.title": "Minecraft Online World", + "multiplayer.title": "Play Multiplayer", + "multiplayer.connect": "Connect", + "multiplayer.ipinfo": "Enter the IP of a server to connect to it:", + "multiplayer.texturePrompt.line1": "This server recommends the use of a custom resource pack.", + "multiplayer.texturePrompt.line2": "Would you like to download and install it automagically?", + "multiplayer.downloadingTerrain": "Loading terrain...", + "multiplayer.downloadingStats": "Downloading statistics...", + "multiplayer.stopSleeping": "Leave Bed", + "multiplayer.message_not_delivered": "Can't deliver chat message, check server logs", + "multiplayer.player.joined": "%s joined the game", + "multiplayer.player.joined.renamed": "%s (formerly known as %s) joined the game", + "multiplayer.player.left": "%s left the game", + "multiplayer.status.and_more": "... and %s more ...", + "multiplayer.status.cancelled": "Cancelled", + "multiplayer.status.cannot_connect": "Can't connect to server", + "multiplayer.status.cannot_resolve": "Can't resolve hostname", + "multiplayer.status.client_out_of_date": "Client out of date!", + "multiplayer.status.finished": "Finished", + "multiplayer.status.no_connection": "(no connection)", + "multiplayer.status.old": "Old", + "multiplayer.status.pinging": "Pinging...", + "multiplayer.status.quitting": "Quitting", + "multiplayer.status.server_out_of_date": "Server out of date!", + "multiplayer.status.unknown": "???", + "multiplayer.status.unrequested": "Received unrequested status", + "multiplayer.status.request_handled": "Status requst has been handled", + "multiplayer.disconnect.authservers_down": "Authentication servers are down. Please try again later, sorry!", + "multiplayer.disconnect.banned": "You are banned from this server", + "multiplayer.disconnect.banned.reason": "You are banned from this server.\nReason: %s", + "multiplayer.disconnect.banned.expiration": "\nYour ban will be removed on %s", + "multiplayer.disconnect.banned_ip.reason": "Your IP address is banned from this server.\nReason: %s", + "multiplayer.disconnect.banned_ip.expiration": "\nYour ban will be removed on %s", + "multiplayer.disconnect.duplicate_login": "You logged in from another location", + "multiplayer.disconnect.flying": "Flying is not enabled on this server", + "multiplayer.disconnect.generic": "Disconnected", + "multiplayer.disconnect.idling": "You have been idle for too long!", + "multiplayer.disconnect.illegal_characters": "Illegal characters in chat", + "multiplayer.disconnect.invalid_entity_attacked": "Attempting to attack an invalid entity", + "multiplayer.disconnect.invalid_player_movement": "Invalid move player packet received", + "multiplayer.disconnect.invalid_vehicle_movement": "Invalid move vehicle packet received", + "multiplayer.disconnect.ip_banned": "You have been IP banned from this server", + "multiplayer.disconnect.kicked": "Kicked by an operator", + "multiplayer.disconnect.outdated_client": "Outdated client! Please use %s", + "multiplayer.disconnect.outdated_server": "Outdated server! I'm still on %s", + "multiplayer.disconnect.server_shutdown": "Server closed", + "multiplayer.disconnect.slow_login": "Took too long to log in", + "multiplayer.disconnect.unverified_username": "Failed to verify username!", + "multiplayer.disconnect.not_whitelisted": "You are not white-listed on this server!", + "multiplayer.disconnect.server_full": "The server is full!", + "multiplayer.disconnect.name_taken": "That name is already taken", + "multiplayer.disconnect.unexpected_query_response": "Unexpected custom data from client", + "chat.cannotSend": "Cannot send chat message", + "chat.type.text": "<%s> %s", + "chat.type.text.narrate": "%s says %s", + "chat.type.emote": "* %s %s", + "chat.type.announcement": "[%s] %s", + "chat.type.admin": "[%s: %s]", + "chat.type.advancement.task": "%s has made the advancement %s", + "chat.type.advancement.challenge": "%s has completed the challenge %s", + "chat.type.advancement.goal": "%s has reached the goal %s", + "chat.link.confirm": "Are you sure you want to open the following website?", + "chat.link.warning": "Never open links from people that you don't trust!", + "chat.copy": "Copy to Clipboard", + "chat.link.confirmTrusted": "Do you want to open this link or copy it to your clipboard?", + "chat.link.open": "Open in browser", + "chat.coordinates": "%s, %s, %s", + "chat.coordinates.tooltip": "Click to teleport", + "menu.playdemo": "Play Demo World", + "menu.resetdemo": "Reset Demo World", + "demo.day.1": "This demo will last five game days, do your best!", + "demo.day.2": "Day Two", + "demo.day.3": "Day Three", + "demo.day.4": "Day Four", + "demo.day.5": "This is your last day!", + "demo.day.warning": "Your time is almost up!", + "demo.day.6": "You have passed your fifth day, use %s to save a screenshot of your creation", + "demo.reminder": "The demo time has expired, buy the game to continue or start a new world!", + "demo.remainingTime": "Remaining time: %s", + "demo.demoExpired": "Demo time's up!", + "demo.help.movement": "Use the %1$s, %2$s, %3$s, %4$s keys and the mouse to move around", + "demo.help.movementShort": "Move by pressing the %1$s, %2$s, %3$s, %4$s keys", + "demo.help.movementMouse": "Look around using the mouse", + "demo.help.jump": "Jump by pressing the %1$s key", + "demo.help.inventory": "Use the %1$s key to open your inventory", + "demo.help.title": "Minecraft Demo Mode", + "demo.help.fullWrapped": "This demo will last 5 ingame days (about 1 hour and 40 minutes of real time). Check the advancements for hints! Have fun!", + "demo.help.buy": "Purchase Now!", + "demo.help.later": "Continue Playing!", + "connect.connecting": "Connecting to the server...", + "connect.aborted": "Aborted", + "connect.authorizing": "Logging in...", + "connect.negotiating": "Negotiating...", + "connect.encrypting": "Encrypting...", + "connect.joining": "Joining world...", + "connect.failed": "Failed to connect to the server", + "disconnect.genericReason": "%s", + "disconnect.disconnected": "Disconnected by Server", + "disconnect.lost": "Connection Lost", + "disconnect.kicked": "Was kicked from the game", + "disconnect.timeout": "Timed out", + "disconnect.closed": "Connection closed", + "disconnect.loginFailed": "Failed to log in", + "disconnect.loginFailedInfo": "Failed to log in: %s", + "disconnect.loginFailedInfo.serversUnavailable": "The authentication servers are currently down for maintenance.", + "disconnect.loginFailedInfo.invalidSession": "Invalid session (Try restarting your game and the launcher)", + "disconnect.quitting": "Quitting", + "disconnect.endOfStream": "End of stream", + "disconnect.overflow": "Buffer overflow", + "disconnect.spam": "Kicked for spamming", + "soundCategory.master": "Master Volume", + "soundCategory.music": "Music", + "soundCategory.record": "Jukebox/Note Blocks", + "soundCategory.weather": "Weather", + "soundCategory.hostile": "Hostile Creatures", + "soundCategory.neutral": "Friendly Creatures", + "soundCategory.player": "Players", + "soundCategory.block": "Blocks", + "soundCategory.ambient": "Ambient/Environment", + "soundCategory.voice": "Voice/Speech", + "record.nowPlaying": "Now playing: %s", + "options.off": "OFF", + "options.on": "ON", + "options.visible": "Shown", + "options.hidden": "Hidden", + "options.title": "Options", + "options.controls": "Controls...", + "options.video": "Video Settings...", + "options.language": "Language...", + "options.sounds": "Music & Sounds...", + "options.sounds.title": "Music & Sound Options", + "options.languageWarning": "Language translations may not be 100%% accurate", + "options.videoTitle": "Video Settings", + "options.customizeTitle": "Customize World Settings", + "options.music": "Music", + "options.sound": "Sound", + "options.invertMouse": "Invert Mouse", + "options.fov": "FOV", + "options.fov.min": "Normal", + "options.fov.max": "Quake Pro", + "options.saturation": "Saturation", + "options.biomeBlendRadius": "Biome Blend", + "options.gamma": "Brightness", + "options.gamma.min": "Moody", + "options.gamma.max": "Bright", + "options.sensitivity": "Sensitivity", + "options.sensitivity.min": "*yawn*", + "options.sensitivity.max": "HYPERSPEED!!!", + "options.renderDistance": "Render Distance", + "options.viewBobbing": "View Bobbing", + "options.ao": "Smooth Lighting", + "options.ao.off": "OFF", + "options.ao.min": "Minimum", + "options.ao.max": "Maximum", + "options.anaglyph": "3D Anaglyph", + "options.chunks": "%s chunks", + "options.framerate": "%s fps", + "options.framerateLimit": "Max Framerate", + "options.framerateLimit.max": "Unlimited", + "options.difficulty": "Difficulty", + "options.difficulty.peaceful": "Peaceful", + "options.difficulty.easy": "Easy", + "options.difficulty.normal": "Normal", + "options.difficulty.hard": "Hard", + "options.difficulty.hardcore": "Hardcore", + "options.graphics": "Graphics", + "options.graphics.fancy": "Fancy", + "options.graphics.fast": "Fast", + "options.clouds.fancy": "Fancy", + "options.clouds.fast": "Fast", + "options.guiScale": "GUI Scale", + "options.guiScale.auto": "Auto", + "options.renderClouds": "Clouds", + "options.particles": "Particles", + "options.particles.all": "All", + "options.particles.decreased": "Decreased", + "options.particles.minimal": "Minimal", + "options.multiplayer.title": "Multiplayer Settings...", + "options.chat.title": "Chat Settings...", + "options.chat.visibility": "Chat", + "options.chat.visibility.full": "Shown", + "options.chat.visibility.system": "Commands Only", + "options.chat.visibility.hidden": "Hidden", + "options.chat.color": "Colors", + "options.chat.opacity": "Opacity", + "options.chat.links": "Web Links", + "options.chat.links.prompt": "Prompt on Links", + "options.chat.scale": "Scale", + "options.chat.width": "Width", + "options.chat.height.focused": "Focused Height", + "options.chat.height.unfocused": "Unfocused Height", + "options.skinCustomisation": "Skin Customization...", + "options.skinCustomisation.title": "Skin Customization", + "options.modelPart.cape": "Cape", + "options.modelPart.hat": "Hat", + "options.modelPart.jacket": "Jacket", + "options.modelPart.left_sleeve": "Left Sleeve", + "options.modelPart.right_sleeve": "Right Sleeve", + "options.modelPart.left_pants_leg": "Left Pants Leg", + "options.modelPart.right_pants_leg": "Right Pants Leg", + "options.snooper": "Allow Snooper", + "options.snooper.view": "Snooper Settings...", + "options.snooper.title": "Feed us data!", + "options.snooper.desc": "We always want to improve Minecraft and, to help us do that, we'd like to collect some information. This lets us know what hardware to support and where the big problems are. It also gives us a sense of the size of our active player base, so we know if we're doing a good job. You can view all the information we collect below. If you want to opt out then you can simply toggle it off!", + "options.resourcepack": "Resource Packs...", + "options.fullscreen": "Fullscreen", + "options.vsync": "Use VSync", + "options.vbo": "Use VBOs", + "options.touchscreen": "Touchscreen Mode", + "options.reducedDebugInfo": "Reduced Debug Info", + "options.entityShadows": "Entity Shadows", + "options.mainHand": "Main Hand", + "options.mainHand.left": "Left", + "options.mainHand.right": "Right", + "options.attackIndicator": "Attack Indicator", + "options.attack.crosshair": "Crosshair", + "options.attack.hotbar": "Hotbar", + "options.showSubtitles": "Show Subtitles", + "options.realmsNotifications": "Realms Notifications", + "options.autoJump": "Auto-Jump", + "options.autoSuggestCommands": "Command Suggestions", + "options.narrator": "Narrator", + "options.narrator.off": "OFF", + "options.narrator.all": "Narrates all", + "options.narrator.chat": "Narrates chat", + "options.narrator.system": "Narrates system", + "options.narrator.notavailable": "Not available", + "options.fullscreen.resolution": "Fullscreen Resolution", + "options.fullscreen.current": "Current", + "options.mipmapLevels": "Mipmap Levels", + "options.forceUnicodeFont": "Force Unicode Font", + "narrator.toast.disabled": "Narrator Disabled", + "narrator.toast.enabled": "Narrator Enabled", + "difficulty.lock.title": "Lock World Difficulty", + "difficulty.lock.question": "Are you sure you want to lock the difficulty of this world? This will set this world to always be %1$s, and you will never be able to change that again.", + "title.oldgl1": "Old graphics card detected; this may prevent you from", + "title.oldgl2": "playing in the future as OpenGL 2.0 will be required.", + "controls.title": "Controls", + "controls.reset": "Reset", + "controls.resetAll": "Reset Keys", + "key.sprint": "Sprint", + "key.forward": "Walk Forwards", + "key.left": "Strafe Left", + "key.back": "Walk Backwards", + "key.right": "Strafe Right", + "key.jump": "Jump", + "key.inventory": "Open/Close Inventory", + "key.drop": "Drop Selected Item", + "key.swapHands": "Swap Item In Hands", + "key.chat": "Open Chat", + "key.sneak": "Sneak", + "key.playerlist": "List Players", + "key.attack": "Attack/Destroy", + "key.use": "Use Item/Place Block", + "key.pickItem": "Pick Block", + "key.command": "Open Command", + "key.screenshot": "Take Screenshot", + "key.togglePerspective": "Toggle Perspective", + "key.smoothCamera": "Toggle Cinematic Camera", + "key.fullscreen": "Toggle Fullscreen", + "key.spectatorOutlines": "Highlight Players (Spectators)", + "key.hotbar.1": "Hotbar Slot 1", + "key.hotbar.2": "Hotbar Slot 2", + "key.hotbar.3": "Hotbar Slot 3", + "key.hotbar.4": "Hotbar Slot 4", + "key.hotbar.5": "Hotbar Slot 5", + "key.hotbar.6": "Hotbar Slot 6", + "key.hotbar.7": "Hotbar Slot 7", + "key.hotbar.8": "Hotbar Slot 8", + "key.hotbar.9": "Hotbar Slot 9", + "key.saveToolbarActivator": "Save Toolbar Activator", + "key.loadToolbarActivator": "Load Toolbar Activator", + "key.advancements": "Advancements", + "key.categories.movement": "Movement", + "key.categories.misc": "Miscellaneous", + "key.categories.multiplayer": "Multiplayer", + "key.categories.gameplay": "Gameplay", + "key.categories.ui": "Game Interface", + "key.categories.inventory": "Inventory", + "key.categories.creative": "Creative Mode", + "key.mouse.left": "Left Button", + "key.mouse.right": "Right Button", + "key.mouse.middle": "Middle Button", + "key.mouse": "Button %1$s", + "key.keyboard.unknown": "Not bound", + "key.keyboard.apostrophe": "'", + "key.keyboard.backslash": "\\", + "key.keyboard.backspace": "Backspace", + "key.keyboard.comma": ",", + "key.keyboard.delete": "Delete", + "key.keyboard.end": "End", + "key.keyboard.enter": "Enter", + "key.keyboard.equal": "=", + "key.keyboard.escape": "Escape", + "key.keyboard.f1": "F1", + "key.keyboard.f2": "F2", + "key.keyboard.f3": "F3", + "key.keyboard.f4": "F4", + "key.keyboard.f5": "F5", + "key.keyboard.f6": "F6", + "key.keyboard.f7": "F7", + "key.keyboard.f8": "F8", + "key.keyboard.f9": "F9", + "key.keyboard.f10": "F10", + "key.keyboard.f11": "F11", + "key.keyboard.f12": "F12", + "key.keyboard.f13": "F13", + "key.keyboard.f14": "F14", + "key.keyboard.f15": "F15", + "key.keyboard.f16": "F16", + "key.keyboard.f17": "F17", + "key.keyboard.f18": "F18", + "key.keyboard.f19": "F19", + "key.keyboard.f20": "F20", + "key.keyboard.f21": "F21", + "key.keyboard.f22": "F22", + "key.keyboard.f23": "F23", + "key.keyboard.f24": "F24", + "key.keyboard.f25": "F25", + "key.keyboard.grave.accent": "`", + "key.keyboard.home": "Home", + "key.keyboard.insert": "Insert", + "key.keyboard.keypad.0": "Keypad 0", + "key.keyboard.keypad.1": "Keypad 1", + "key.keyboard.keypad.2": "Keypad 2", + "key.keyboard.keypad.3": "Keypad 3", + "key.keyboard.keypad.4": "Keypad 4", + "key.keyboard.keypad.5": "Keypad 5", + "key.keyboard.keypad.6": "Keypad 6", + "key.keyboard.keypad.7": "Keypad 7", + "key.keyboard.keypad.8": "Keypad 8", + "key.keyboard.keypad.9": "Keypad 9", + "key.keyboard.keypad.add": "Keypad +", + "key.keyboard.keypad.decimal": "Keypad Decimal", + "key.keyboard.keypad.enter": "Keypad Enter", + "key.keyboard.keypad.equal": "Keypad =", + "key.keyboard.keypad.multiply": "Keypad *", + "key.keyboard.keypad.divide": "Keypad /", + "key.keyboard.keypad.subtract": "Keypad -", + "key.keyboard.left.bracket": "[", + "key.keyboard.right.bracket": "]", + "key.keyboard.minus": "-", + "key.keyboard.num.lock": "Num Lock", + "key.keyboard.caps.lock": "Caps Lock", + "key.keyboard.scroll.lock": "Scroll Lock", + "key.keyboard.page.down": "Page Down", + "key.keyboard.page.up": "Page Up", + "key.keyboard.pause": "Pause", + "key.keyboard.period": ".", + "key.keyboard.left.control": "Left Control", + "key.keyboard.right.control": "Right Control", + "key.keyboard.left.alt": "Left Alt", + "key.keyboard.right.alt": "Right Alt", + "key.keyboard.left.shift": "Left Shift", + "key.keyboard.right.shift": "Right Shift", + "key.keyboard.left.win": "Left Win", + "key.keyboard.right.win": "Right Win", + "key.keyboard.semicolon": ";", + "key.keyboard.slash": "/", + "key.keyboard.space": "Space", + "key.keyboard.tab": "Tab", + "key.keyboard.up": "Up Arrow", + "key.keyboard.down": "Down Arrow", + "key.keyboard.left": "Left Arrow", + "key.keyboard.right": "Right Arrow", + "key.keyboard.menu": "Menu", + "key.keyboard.print.screen": "Print Screen", + "key.keyboard.world.1": "World 1", + "key.keyboard.world.2": "World 2", + "resourcePack.openFolder": "Open Resource Pack Folder", + "resourcePack.title": "Select Resource Packs", + "resourcePack.available.title": "Available Resource Packs", + "resourcePack.selected.title": "Selected Resource Packs", + "resourcePack.folderInfo": "(Place resource pack files here)", + "resourcePack.incompatible": "Incompatible", + "resourcePack.incompatible.old": "(Made for an older version of Minecraft)", + "resourcePack.incompatible.new": "(Made for a newer version of Minecraft)", + "resourcePack.incompatible.confirm.title": "Are you sure you want to load this resource pack?", + "resourcePack.incompatible.confirm.old": "This resource pack was made for an older version of Minecraft and may no longer work correctly.", + "resourcePack.incompatible.confirm.new": "This resource pack was made for a newer version of Minecraft and may no longer work correctly.", + "resourcePack.server.name": "World Specific Resources", + "sign.edit": "Edit sign message", + "book.pageIndicator": "Page %1$s of %2$s", + "book.byAuthor": "by %1$s", + "book.signButton": "Sign", + "book.editTitle": "Enter Book Title:", + "book.finalizeButton": "Sign and Close", + "book.finalizeWarning": "Note! When you sign the book, it will no longer be editable.", + "book.generation.0": "Original", + "book.generation.1": "Copy of original", + "book.generation.2": "Copy of a copy", + "book.generation.3": "Tattered", + "merchant.deprecated": "Trade something else to unlock!", + "block.minecraft.air": "Air", + "block.minecraft.barrier": "Barrier", + "block.minecraft.stone": "Stone", + "block.minecraft.granite": "Granite", + "block.minecraft.polished_granite": "Polished Granite", + "block.minecraft.diorite": "Diorite", + "block.minecraft.polished_diorite": "Polished Diorite", + "block.minecraft.andesite": "Andesite", + "block.minecraft.polished_andesite": "Polished Andesite", + "block.minecraft.hay_block": "Hay Bale", + "block.minecraft.grass_block": "Grass Block", + "block.minecraft.dirt": "Dirt", + "block.minecraft.coarse_dirt": "Coarse Dirt", + "block.minecraft.podzol": "Podzol", + "block.minecraft.cobblestone": "Cobblestone", + "block.minecraft.oak_planks": "Oak Planks", + "block.minecraft.spruce_planks": "Spruce Planks", + "block.minecraft.birch_planks": "Birch Planks", + "block.minecraft.jungle_planks": "Jungle Planks", + "block.minecraft.acacia_planks": "Acacia Planks", + "block.minecraft.dark_oak_planks": "Dark Oak Planks", + "block.minecraft.oak_sapling": "Oak Sapling", + "block.minecraft.spruce_sapling": "Spruce Sapling", + "block.minecraft.birch_sapling": "Birch Sapling", + "block.minecraft.jungle_sapling": "Jungle Sapling", + "block.minecraft.acacia_sapling": "Acacia Sapling", + "block.minecraft.dark_oak_sapling": "Dark Oak Sapling", + "block.minecraft.oak_door": "Oak Door", + "block.minecraft.spruce_door": "Spruce Door", + "block.minecraft.birch_door": "Birch Door", + "block.minecraft.jungle_door": "Jungle Door", + "block.minecraft.acacia_door": "Acacia Door", + "block.minecraft.dark_oak_door": "Dark Oak Door", + "block.minecraft.bedrock": "Bedrock", + "block.minecraft.water": "Water", + "block.minecraft.lava": "Lava", + "block.minecraft.flowing_water": "Flowing Water", + "block.minecraft.flowing_lava": "Flowing Lava", + "block.minecraft.sand": "Sand", + "block.minecraft.red_sand": "Red Sand", + "block.minecraft.sandstone": "Sandstone", + "block.minecraft.chiseled_sandstone": "Chiseled Sandstone", + "block.minecraft.cut_sandstone": "Cut Sandstone", + "block.minecraft.red_sandstone": "Red Sandstone", + "block.minecraft.chiseled_red_sandstone": "Chiseled Red Sandstone", + "block.minecraft.cut_red_sandstone": "Cut Red Sandstone", + "block.minecraft.gravel": "Gravel", + "block.minecraft.gold_ore": "Gold Ore", + "block.minecraft.iron_ore": "Iron Ore", + "block.minecraft.coal_ore": "Coal Ore", + "block.minecraft.oak_wood": "Oak Wood", + "block.minecraft.spruce_wood": "Spruce Wood", + "block.minecraft.birch_wood": "Birch Wood", + "block.minecraft.jungle_wood": "Jungle Wood", + "block.minecraft.acacia_wood": "Acacia Wood", + "block.minecraft.dark_oak_wood": "Dark Oak Wood", + "block.minecraft.oak_log": "Oak Log", + "block.minecraft.spruce_log": "Spruce Log", + "block.minecraft.birch_log": "Birch Log", + "block.minecraft.jungle_log": "Jungle Log", + "block.minecraft.acacia_log": "Acacia Log", + "block.minecraft.dark_oak_log": "Dark Oak Log", + "block.minecraft.stripped_oak_log": "Stripped Oak Log", + "block.minecraft.stripped_spruce_log": "Stripped Spruce Log", + "block.minecraft.stripped_birch_log": "Stripped Birch Log", + "block.minecraft.stripped_jungle_log": "Stripped Jungle Log", + "block.minecraft.stripped_acacia_log": "Stripped Acacia Log", + "block.minecraft.stripped_dark_oak_log": "Stripped Dark Oak Log", + "block.minecraft.stripped_oak_wood": "Stripped Oak Wood", + "block.minecraft.stripped_spruce_wood": "Stripped Spruce Wood", + "block.minecraft.stripped_birch_wood": "Stripped Birch Wood", + "block.minecraft.stripped_jungle_wood": "Stripped Jungle Wood", + "block.minecraft.stripped_acacia_wood": "Stripped Acacia Wood", + "block.minecraft.stripped_dark_oak_wood": "Stripped Dark Oak Wood", + "block.minecraft.oak_leaves": "Oak Leaves", + "block.minecraft.spruce_leaves": "Spruce Leaves", + "block.minecraft.birch_leaves": "Birch Leaves", + "block.minecraft.jungle_leaves": "Jungle Leaves", + "block.minecraft.acacia_leaves": "Acacia Leaves", + "block.minecraft.dark_oak_leaves": "Dark Oak Leaves", + "block.minecraft.dead_bush": "Dead Bush", + "block.minecraft.grass": "Grass", + "block.minecraft.fern": "Fern", + "block.minecraft.sponge": "Sponge", + "block.minecraft.wet_sponge": "Wet Sponge", + "block.minecraft.glass": "Glass", + "block.minecraft.kelp_plant": "Kelp Plant", + "block.minecraft.kelp": "Kelp", + "block.minecraft.dried_kelp_block": "Dried Kelp Block", + "block.minecraft.white_stained_glass": "White Stained Glass", + "block.minecraft.orange_stained_glass": "Orange Stained Glass", + "block.minecraft.magenta_stained_glass": "Magenta Stained Glass", + "block.minecraft.light_blue_stained_glass": "Light Blue Stained Glass", + "block.minecraft.yellow_stained_glass": "Yellow Stained Glass", + "block.minecraft.lime_stained_glass": "Lime Stained Glass", + "block.minecraft.pink_stained_glass": "Pink Stained Glass", + "block.minecraft.gray_stained_glass": "Gray Stained Glass", + "block.minecraft.light_gray_stained_glass": "Light Gray Stained Glass", + "block.minecraft.cyan_stained_glass": "Cyan Stained Glass", + "block.minecraft.purple_stained_glass": "Purple Stained Glass", + "block.minecraft.blue_stained_glass": "Blue Stained Glass", + "block.minecraft.brown_stained_glass": "Brown Stained Glass", + "block.minecraft.green_stained_glass": "Green Stained Glass", + "block.minecraft.red_stained_glass": "Red Stained Glass", + "block.minecraft.black_stained_glass": "Black Stained Glass", + "block.minecraft.white_stained_glass_pane": "White Stained Glass Pane", + "block.minecraft.orange_stained_glass_pane": "Orange Stained Glass Pane", + "block.minecraft.magenta_stained_glass_pane": "Magenta Stained Glass Pane", + "block.minecraft.light_blue_stained_glass_pane": "Light Blue Stained Glass Pane", + "block.minecraft.yellow_stained_glass_pane": "Yellow Stained Glass Pane", + "block.minecraft.lime_stained_glass_pane": "Lime Stained Glass Pane", + "block.minecraft.pink_stained_glass_pane": "Pink Stained Glass Pane", + "block.minecraft.gray_stained_glass_pane": "Gray Stained Glass Pane", + "block.minecraft.light_gray_stained_glass_pane": "Light Gray Stained Glass Pane", + "block.minecraft.cyan_stained_glass_pane": "Cyan Stained Glass Pane", + "block.minecraft.purple_stained_glass_pane": "Purple Stained Glass Pane", + "block.minecraft.blue_stained_glass_pane": "Blue Stained Glass Pane", + "block.minecraft.brown_stained_glass_pane": "Brown Stained Glass Pane", + "block.minecraft.green_stained_glass_pane": "Green Stained Glass Pane", + "block.minecraft.red_stained_glass_pane": "Red Stained Glass Pane", + "block.minecraft.black_stained_glass_pane": "Black Stained Glass Pane", + "block.minecraft.glass_pane": "Glass Pane", + "block.minecraft.dandelion": "Dandelion", + "block.minecraft.poppy": "Poppy", + "block.minecraft.blue_orchid": "Blue Orchid", + "block.minecraft.allium": "Allium", + "block.minecraft.azure_bluet": "Azure Bluet", + "block.minecraft.red_tulip": "Red Tulip", + "block.minecraft.orange_tulip": "Orange Tulip", + "block.minecraft.white_tulip": "White Tulip", + "block.minecraft.pink_tulip": "Pink Tulip", + "block.minecraft.oxeye_daisy": "Oxeye Daisy", + "block.minecraft.sunflower": "Sunflower", + "block.minecraft.lilac": "Lilac", + "block.minecraft.tall_grass": "Tall Grass", + "block.minecraft.tall_seagrass": "Tall Seagrass", + "block.minecraft.large_fern": "Large Fern", + "block.minecraft.rose_bush": "Rose Bush", + "block.minecraft.peony": "Peony", + "block.minecraft.seagrass": "Seagrass", + "block.minecraft.sea_pickle": "Sea Pickle", + "block.minecraft.brown_mushroom": "Brown Mushroom", + "block.minecraft.red_mushroom_block": "Red Mushroom Block", + "block.minecraft.brown_mushroom_block": "Brown Mushroom Block", + "block.minecraft.mushroom_stem": "Mushroom Stem", + "block.minecraft.gold_block": "Block of Gold", + "block.minecraft.iron_block": "Block of Iron", + "block.minecraft.smooth_stone": "Smooth Stone", + "block.minecraft.smooth_sandstone": "Smooth Sandstone", + "block.minecraft.smooth_red_sandstone": "Smooth Red Sandstone", + "block.minecraft.smooth_quartz": "Smooth Quartz", + "block.minecraft.stone_slab": "Stone Slab", + "block.minecraft.sandstone_slab": "Sandstone Slab", + "block.minecraft.red_sandstone_slab": "Red Sandstone Slab", + "block.minecraft.petrified_oak_slab": "Petrified Oak Slab", + "block.minecraft.cobblestone_slab": "Cobblestone Slab", + "block.minecraft.brick_slab": "Brick Slab", + "block.minecraft.stone_brick_slab": "Stone Brick Slab", + "block.minecraft.nether_brick_slab": "Nether Brick Slab", + "block.minecraft.quartz_slab": "Quartz Slab", + "block.minecraft.oak_slab": "Oak Slab", + "block.minecraft.spruce_slab": "Spruce Slab", + "block.minecraft.birch_slab": "Birch Slab", + "block.minecraft.jungle_slab": "Jungle Slab", + "block.minecraft.acacia_slab": "Acacia Slab", + "block.minecraft.dark_oak_slab": "Dark Oak Slab", + "block.minecraft.dark_prismarine_slab": "Dark Prismarine Slab", + "block.minecraft.prismarine_slab": "Prismarine Slab", + "block.minecraft.prismarine_brick_slab": "Prismarine Brick Slab", + "block.minecraft.bricks": "Bricks", + "block.minecraft.tnt": "TNT", + "block.minecraft.bookshelf": "Bookshelf", + "block.minecraft.mossy_cobblestone": "Mossy Cobblestone", + "block.minecraft.obsidian": "Obsidian", + "block.minecraft.torch": "Torch", + "block.minecraft.wall_torch": "Wall Torch", + "block.minecraft.fire": "Fire", + "block.minecraft.spawner": "Spawner", + "block.minecraft.oak_stairs": "Oak Stairs", + "block.minecraft.spruce_stairs": "Spruce Stairs", + "block.minecraft.birch_stairs": "Birch Stairs", + "block.minecraft.jungle_stairs": "Jungle Stairs", + "block.minecraft.acacia_stairs": "Acacia Stairs", + "block.minecraft.dark_oak_stairs": "Dark Oak Stairs", + "block.minecraft.dark_prismarine_stairs": "Dark Prismarine Stairs", + "block.minecraft.prismarine_stairs": "Prismarine Stairs", + "block.minecraft.prismarine_brick_stairs": "Prismarine Brick Stairs", + "block.minecraft.chest": "Chest", + "block.minecraft.trapped_chest": "Trapped Chest", + "block.minecraft.redstone_wire": "Redstone Dust", + "block.minecraft.diamond_ore": "Diamond Ore", + "block.minecraft.coal_block": "Block of Coal", + "block.minecraft.diamond_block": "Block of Diamond", + "block.minecraft.crafting_table": "Crafting Table", + "block.minecraft.wheat": "Wheat Crops", + "block.minecraft.farmland": "Farmland", + "block.minecraft.furnace": "Furnace", + "block.minecraft.sign": "Sign", + "block.minecraft.wall_sign": "Wall Sign", + "block.minecraft.ladder": "Ladder", + "block.minecraft.rail": "Rail", + "block.minecraft.powered_rail": "Powered Rail", + "block.minecraft.activator_rail": "Activator Rail", + "block.minecraft.detector_rail": "Detector Rail", + "block.minecraft.cobblestone_stairs": "Cobblestone Stairs", + "block.minecraft.sandstone_stairs": "Sandstone Stairs", + "block.minecraft.red_sandstone_stairs": "Red Sandstone Stairs", + "block.minecraft.lever": "Lever", + "block.minecraft.stone_pressure_plate": "Stone Pressure Plate", + "block.minecraft.oak_pressure_plate": "Oak Pressure Plate", + "block.minecraft.spruce_pressure_plate": "Spruce Pressure Plate", + "block.minecraft.birch_pressure_plate": "Birch Pressure Plate", + "block.minecraft.jungle_pressure_plate": "Jungle Pressure Plate", + "block.minecraft.acacia_pressure_plate": "Acacia Pressure Plate", + "block.minecraft.dark_oak_pressure_plate": "Dark Oak Pressure Plate", + "block.minecraft.light_weighted_pressure_plate": "Light Weighted Pressure Plate", + "block.minecraft.heavy_weighted_pressure_plate": "Heavy Weighted Pressure Plate", + "block.minecraft.iron_door": "Iron Door", + "block.minecraft.redstone_ore": "Redstone Ore", + "block.minecraft.redstone_torch": "Redstone Torch", + "block.minecraft.redstone_wall_torch": "Redstone Wall Torch", + "block.minecraft.stone_button": "Stone Button", + "block.minecraft.oak_button": "Oak Button", + "block.minecraft.spruce_button": "Spruce Button", + "block.minecraft.birch_button": "Birch Button", + "block.minecraft.jungle_button": "Jungle Button", + "block.minecraft.acacia_button": "Acacia Button", + "block.minecraft.dark_oak_button": "Dark Oak Button", + "block.minecraft.snow": "Snow", + "block.minecraft.white_carpet": "White Carpet", + "block.minecraft.orange_carpet": "Orange Carpet", + "block.minecraft.magenta_carpet": "Magenta Carpet", + "block.minecraft.light_blue_carpet": "Light Blue Carpet", + "block.minecraft.yellow_carpet": "Yellow Carpet", + "block.minecraft.lime_carpet": "Lime Carpet", + "block.minecraft.pink_carpet": "Pink Carpet", + "block.minecraft.gray_carpet": "Gray Carpet", + "block.minecraft.light_gray_carpet": "Light Gray Carpet", + "block.minecraft.cyan_carpet": "Cyan Carpet", + "block.minecraft.purple_carpet": "Purple Carpet", + "block.minecraft.blue_carpet": "Blue Carpet", + "block.minecraft.brown_carpet": "Brown Carpet", + "block.minecraft.green_carpet": "Green Carpet", + "block.minecraft.red_carpet": "Red Carpet", + "block.minecraft.black_carpet": "Black Carpet", + "block.minecraft.ice": "Ice", + "block.minecraft.frosted_ice": "Frosted Ice", + "block.minecraft.packed_ice": "Packed Ice", + "block.minecraft.blue_ice": "Blue Ice", + "block.minecraft.cactus": "Cactus", + "block.minecraft.clay": "Clay", + "block.minecraft.white_terracotta": "White Terracotta", + "block.minecraft.orange_terracotta": "Orange Terracotta", + "block.minecraft.magenta_terracotta": "Magenta Terracotta", + "block.minecraft.light_blue_terracotta": "Light Blue Terracotta", + "block.minecraft.yellow_terracotta": "Yellow Terracotta", + "block.minecraft.lime_terracotta": "Lime Terracotta", + "block.minecraft.pink_terracotta": "Pink Terracotta", + "block.minecraft.gray_terracotta": "Gray Terracotta", + "block.minecraft.light_gray_terracotta": "Light Gray Terracotta", + "block.minecraft.cyan_terracotta": "Cyan Terracotta", + "block.minecraft.purple_terracotta": "Purple Terracotta", + "block.minecraft.blue_terracotta": "Blue Terracotta", + "block.minecraft.brown_terracotta": "Brown Terracotta", + "block.minecraft.green_terracotta": "Green Terracotta", + "block.minecraft.red_terracotta": "Red Terracotta", + "block.minecraft.black_terracotta": "Black Terracotta", + "block.minecraft.terracotta": "Terracotta", + "block.minecraft.sugar_cane": "Sugar Cane", + "block.minecraft.jukebox": "Jukebox", + "block.minecraft.oak_fence": "Oak Fence", + "block.minecraft.spruce_fence": "Spruce Fence", + "block.minecraft.birch_fence": "Birch Fence", + "block.minecraft.jungle_fence": "Jungle Fence", + "block.minecraft.dark_oak_fence": "Dark Oak Fence", + "block.minecraft.acacia_fence": "Acacia Fence", + "block.minecraft.oak_fence_gate": "Oak Fence Gate", + "block.minecraft.spruce_fence_gate": "Spruce Fence Gate", + "block.minecraft.birch_fence_gate": "Birch Fence Gate", + "block.minecraft.jungle_fence_gate": "Jungle Fence Gate", + "block.minecraft.dark_oak_fence_gate": "Dark Oak Fence Gate", + "block.minecraft.acacia_fence_gate": "Acacia Fence Gate", + "block.minecraft.pumpkin_stem": "Pumpkin Stem", + "block.minecraft.attached_pumpkin_stem": "Attached Pumpkin Stem", + "block.minecraft.pumpkin": "Pumpkin", + "block.minecraft.carved_pumpkin": "Carved Pumpkin", + "block.minecraft.jack_o_lantern": "Jack o'Lantern", + "block.minecraft.netherrack": "Netherrack", + "block.minecraft.soul_sand": "Soul Sand", + "block.minecraft.glowstone": "Glowstone", + "block.minecraft.nether_portal": "Nether Portal", + "block.minecraft.white_wool": "White Wool", + "block.minecraft.orange_wool": "Orange Wool", + "block.minecraft.magenta_wool": "Magenta Wool", + "block.minecraft.light_blue_wool": "Light Blue Wool", + "block.minecraft.yellow_wool": "Yellow Wool", + "block.minecraft.lime_wool": "Lime Wool", + "block.minecraft.pink_wool": "Pink Wool", + "block.minecraft.gray_wool": "Gray Wool", + "block.minecraft.light_gray_wool": "Light Gray Wool", + "block.minecraft.cyan_wool": "Cyan Wool", + "block.minecraft.purple_wool": "Purple Wool", + "block.minecraft.blue_wool": "Blue Wool", + "block.minecraft.brown_wool": "Brown Wool", + "block.minecraft.green_wool": "Green Wool", + "block.minecraft.red_wool": "Red Wool", + "block.minecraft.black_wool": "Black Wool", + "block.minecraft.lapis_ore": "Lapis Lazuli Ore", + "block.minecraft.lapis_block": "Lapis Lazuli Block", + "block.minecraft.dispenser": "Dispenser", + "block.minecraft.dropper": "Dropper", + "block.minecraft.note_block": "Note Block", + "block.minecraft.cake": "Cake", + "block.minecraft.bed": "Bed", + "block.minecraft.bed.occupied": "This bed is occupied", + "block.minecraft.bed.no_sleep": "You can sleep only at night and during thunderstorms", + "block.minecraft.bed.too_far_away": "You may not rest now; the bed is too far away", + "block.minecraft.bed.not_safe": "You may not rest now; there are monsters nearby", + "block.minecraft.bed.not_valid": "Your home bed was missing or obstructed", + "block.minecraft.oak_trapdoor": "Oak Trapdoor", + "block.minecraft.spruce_trapdoor": "Spruce Trapdoor", + "block.minecraft.birch_trapdoor": "Birch Trapdoor", + "block.minecraft.jungle_trapdoor": "Jungle Trapdoor", + "block.minecraft.acacia_trapdoor": "Acacia Trapdoor", + "block.minecraft.dark_oak_trapdoor": "Dark Oak Trapdoor", + "block.minecraft.iron_trapdoor": "Iron Trapdoor", + "block.minecraft.cobweb": "Cobweb", + "block.minecraft.stone_bricks": "Stone Bricks", + "block.minecraft.mossy_stone_bricks": "Mossy Stone Bricks", + "block.minecraft.cracked_stone_bricks": "Cracked Stone Bricks", + "block.minecraft.chiseled_stone_bricks": "Chiseled Stone Bricks", + "block.minecraft.infested_stone": "Infested Stone", + "block.minecraft.infested_cobblestone": "Infested Cobblestone", + "block.minecraft.infested_stone_bricks": "Infested Stone Bricks", + "block.minecraft.infested_mossy_stone_bricks": "Infested Mossy Stone Bricks", + "block.minecraft.infested_cracked_stone_bricks": "Infested Cracked Stone Bricks", + "block.minecraft.infested_chiseled_stone_bricks": "Infested Chiseled Stone Bricks", + "block.minecraft.piston": "Piston", + "block.minecraft.sticky_piston": "Sticky Piston", + "block.minecraft.iron_bars": "Iron Bars", + "block.minecraft.melon": "Melon", + "block.minecraft.brick_stairs": "Brick Stairs", + "block.minecraft.stone_brick_stairs": "Stone Brick Stairs", + "block.minecraft.vine": "Vines", + "block.minecraft.nether_bricks": "Nether Bricks", + "block.minecraft.nether_brick_fence": "Nether Brick Fence", + "block.minecraft.nether_brick_stairs": "Nether Brick Stairs", + "block.minecraft.nether_wart": "Nether Wart", + "block.minecraft.cauldron": "Cauldron", + "block.minecraft.enchanting_table": "Enchanting Table", + "block.minecraft.anvil": "Anvil", + "block.minecraft.chipped_anvil": "Chipped Anvil", + "block.minecraft.damaged_anvil": "Damaged Anvil", + "block.minecraft.end_stone": "End Stone", + "block.minecraft.end_portal_frame": "End Portal Frame", + "block.minecraft.mycelium": "Mycelium", + "block.minecraft.lily_pad": "Lily Pad", + "block.minecraft.dragon_egg": "Dragon Egg", + "block.minecraft.redstone_lamp": "Redstone Lamp", + "block.minecraft.cocoa": "Cocoa", + "block.minecraft.ender_chest": "Ender Chest", + "block.minecraft.emerald_ore": "Emerald Ore", + "block.minecraft.emerald_block": "Block of Emerald", + "block.minecraft.redstone_block": "Block of Redstone", + "block.minecraft.tripwire": "Tripwire", + "block.minecraft.tripwire_hook": "Tripwire Hook", + "block.minecraft.command_block": "Command Block", + "block.minecraft.repeating_command_block": "Repeating Command Block", + "block.minecraft.chain_command_block": "Chain Command Block", + "block.minecraft.beacon": "Beacon", + "block.minecraft.beacon.primary": "Primary Power", + "block.minecraft.beacon.secondary": "Secondary Power", + "block.minecraft.cobblestone_wall": "Cobblestone Wall", + "block.minecraft.mossy_cobblestone_wall": "Mossy Cobblestone Wall", + "block.minecraft.carrots": "Carrots", + "block.minecraft.potatoes": "Potatoes", + "block.minecraft.daylight_detector": "Daylight Detector", + "block.minecraft.nether_quartz_ore": "Nether Quartz Ore", + "block.minecraft.hopper": "Hopper", + "block.minecraft.quartz_block": "Block of Quartz", + "block.minecraft.chiseled_quartz_block": "Chiseled Quartz Block", + "block.minecraft.quartz_pillar": "Quartz Pillar", + "block.minecraft.quartz_stairs": "Quartz Stairs", + "block.minecraft.slime_block": "Slime Block", + "block.minecraft.prismarine": "Prismarine", + "block.minecraft.prismarine_bricks": "Prismarine Bricks", + "block.minecraft.dark_prismarine": "Dark Prismarine", + "block.minecraft.sea_lantern": "Sea Lantern", + "block.minecraft.end_rod": "End Rod", + "block.minecraft.chorus_plant": "Chorus Plant", + "block.minecraft.chorus_flower": "Chorus Flower", + "block.minecraft.purpur_block": "Purpur Block", + "block.minecraft.purpur_pillar": "Purpur Pillar", + "block.minecraft.purpur_stairs": "Purpur Stairs", + "block.minecraft.purpur_slab": "Purpur Slab", + "block.minecraft.end_stone_bricks": "End Stone Bricks", + "block.minecraft.beetroots": "Beetroots", + "block.minecraft.grass_path": "Grass Path", + "block.minecraft.magma_block": "Magma Block", + "block.minecraft.nether_wart_block": "Nether Wart Block", + "block.minecraft.red_nether_bricks": "Red Nether Bricks", + "block.minecraft.bone_block": "Bone Block", + "block.minecraft.observer": "Observer", + "block.minecraft.shulker_box": "Shulker Box", + "block.minecraft.white_shulker_box": "White Shulker Box", + "block.minecraft.orange_shulker_box": "Orange Shulker Box", + "block.minecraft.magenta_shulker_box": "Magenta Shulker Box", + "block.minecraft.light_blue_shulker_box": "Light Blue Shulker Box", + "block.minecraft.yellow_shulker_box": "Yellow Shulker Box", + "block.minecraft.lime_shulker_box": "Lime Shulker Box", + "block.minecraft.pink_shulker_box": "Pink Shulker Box", + "block.minecraft.gray_shulker_box": "Gray Shulker Box", + "block.minecraft.light_gray_shulker_box": "Light Gray Shulker Box", + "block.minecraft.cyan_shulker_box": "Cyan Shulker Box", + "block.minecraft.purple_shulker_box": "Purple Shulker Box", + "block.minecraft.blue_shulker_box": "Blue Shulker Box", + "block.minecraft.brown_shulker_box": "Brown Shulker Box", + "block.minecraft.green_shulker_box": "Green Shulker Box", + "block.minecraft.red_shulker_box": "Red Shulker Box", + "block.minecraft.black_shulker_box": "Black Shulker Box", + "block.minecraft.white_glazed_terracotta": "White Glazed Terracotta", + "block.minecraft.orange_glazed_terracotta": "Orange Glazed Terracotta", + "block.minecraft.magenta_glazed_terracotta": "Magenta Glazed Terracotta", + "block.minecraft.light_blue_glazed_terracotta": "Light Blue Glazed Terracotta", + "block.minecraft.yellow_glazed_terracotta": "Yellow Glazed Terracotta", + "block.minecraft.lime_glazed_terracotta": "Lime Glazed Terracotta", + "block.minecraft.pink_glazed_terracotta": "Pink Glazed Terracotta", + "block.minecraft.gray_glazed_terracotta": "Gray Glazed Terracotta", + "block.minecraft.light_gray_glazed_terracotta": "Light Gray Glazed Terracotta", + "block.minecraft.cyan_glazed_terracotta": "Cyan Glazed Terracotta", + "block.minecraft.purple_glazed_terracotta": "Purple Glazed Terracotta", + "block.minecraft.blue_glazed_terracotta": "Blue Glazed Terracotta", + "block.minecraft.brown_glazed_terracotta": "Brown Glazed Terracotta", + "block.minecraft.green_glazed_terracotta": "Green Glazed Terracotta", + "block.minecraft.red_glazed_terracotta": "Red Glazed Terracotta", + "block.minecraft.black_glazed_terracotta": "Black Glazed Terracotta", + "block.minecraft.black_concrete": "Black Concrete", + "block.minecraft.red_concrete": "Red Concrete", + "block.minecraft.green_concrete": "Green Concrete", + "block.minecraft.brown_concrete": "Brown Concrete", + "block.minecraft.blue_concrete": "Blue Concrete", + "block.minecraft.purple_concrete": "Purple Concrete", + "block.minecraft.cyan_concrete": "Cyan Concrete", + "block.minecraft.light_gray_concrete": "Light Gray Concrete", + "block.minecraft.gray_concrete": "Gray Concrete", + "block.minecraft.pink_concrete": "Pink Concrete", + "block.minecraft.lime_concrete": "Lime Concrete", + "block.minecraft.yellow_concrete": "Yellow Concrete", + "block.minecraft.light_blue_concrete": "Light Blue Concrete", + "block.minecraft.magenta_concrete": "Magenta Concrete", + "block.minecraft.orange_concrete": "Orange Concrete", + "block.minecraft.white_concrete": "White Concrete", + "block.minecraft.black_concrete_powder": "Black Concrete Powder", + "block.minecraft.red_concrete_powder": "Red Concrete Powder", + "block.minecraft.green_concrete_powder": "Green Concrete Powder", + "block.minecraft.brown_concrete_powder": "Brown Concrete Powder", + "block.minecraft.blue_concrete_powder": "Blue Concrete Powder", + "block.minecraft.purple_concrete_powder": "Purple Concrete Powder", + "block.minecraft.cyan_concrete_powder": "Cyan Concrete Powder", + "block.minecraft.light_gray_concrete_powder": "Light Gray Concrete Powder", + "block.minecraft.gray_concrete_powder": "Gray Concrete Powder", + "block.minecraft.pink_concrete_powder": "Pink Concrete Powder", + "block.minecraft.lime_concrete_powder": "Lime Concrete Powder", + "block.minecraft.yellow_concrete_powder": "Yellow Concrete Powder", + "block.minecraft.light_blue_concrete_powder": "Light Blue Concrete Powder", + "block.minecraft.magenta_concrete_powder": "Magenta Concrete Powder", + "block.minecraft.orange_concrete_powder": "Orange Concrete Powder", + "block.minecraft.white_concrete_powder": "White Concrete Powder", + "block.minecraft.turtle_egg": "Turtle Egg", + "block.minecraft.two_turtle_eggs": "Two Turtle Eggs", + "block.minecraft.three_turtle_eggs": "Three Turtle Eggs", + "block.minecraft.four_turtle_eggs": "Four Turtle Eggs", + "block.minecraft.banner": "Banner", + "block.minecraft.wall_banner": "Wall Banner", + "block.minecraft.piston_head": "Piston Head", + "block.minecraft.moving_piston": "Moving Piston", + "block.minecraft.red_mushroom": "Red Mushroom", + "block.minecraft.snow_block": "Snow Block", + "block.minecraft.attached_melon_stem": "Attached Melon Stem", + "block.minecraft.melon_stem": "Melon Stem", + "block.minecraft.brewing_stand": "Brewing Stand", + "block.minecraft.end_portal": "End Portal", + "block.minecraft.flower_pot": "Flower Pot", + "block.minecraft.potted_oak_sapling": "Potted Oak Sapling", + "block.minecraft.potted_spruce_sapling": "Potted Spruce Sapling", + "block.minecraft.potted_birch_sapling": "Potted Birch Sapling", + "block.minecraft.potted_jungle_sapling": "Potted Jungle Sapling", + "block.minecraft.potted_acacia_sapling": "Potted Acacia Sapling", + "block.minecraft.potted_dark_oak_sapling": "Potted Dark Oak Sapling", + "block.minecraft.potted_fern": "Potted Fern", + "block.minecraft.potted_dandelion": "Potted Dandelion", + "block.minecraft.potted_poppy": "Potted Poppy", + "block.minecraft.potted_blue_orchid": "Potted Blue Orchid", + "block.minecraft.potted_allium": "Potted Allium", + "block.minecraft.potted_azure_bluet": "Potted Azure Bluet", + "block.minecraft.potted_red_tulip": "Potted Red Tulip", + "block.minecraft.potted_orange_tulip": "Potted Orange Tulip", + "block.minecraft.potted_white_tulip": "Potted White Tulip", + "block.minecraft.potted_pink_tulip": "Potted Pink Tulip", + "block.minecraft.potted_oxeye_daisy": "Potted Oxeye Daisy", + "block.minecraft.potted_red_mushroom": "Potted Red Mushroom", + "block.minecraft.potted_brown_mushroom": "Potted Brown Mushroom", + "block.minecraft.potted_dead_bush": "Potted Dead Bush", + "block.minecraft.potted_cactus": "Potted Cactus", + "block.minecraft.skeleton_wall_skull": "Skeleton Wall Skull", + "block.minecraft.skeleton_skull": "Skeleton Skull", + "block.minecraft.wither_skeleton_wall_skull": "Wither Skeleton Wall Skull", + "block.minecraft.wither_skeleton_skull": "Wither Skeleton Skull", + "block.minecraft.zombie_wall_head": "Zombie Wall Head", + "block.minecraft.zombie_head": "Zombie Head", + "block.minecraft.player_wall_head": "Player Wall Head", + "block.minecraft.player_head": "Player Head", + "block.minecraft.player_head.named": "%s's Head", + "block.minecraft.creeper_wall_head": "Creeper Wall Head", + "block.minecraft.creeper_head": "Creeper Head", + "block.minecraft.dragon_wall_head": "Dragon Wall Head", + "block.minecraft.dragon_head": "Dragon Head", + "block.minecraft.end_gateway": "End Gateway", + "block.minecraft.structure_void": "Structure Void", + "block.minecraft.structure_block": "Structure Block", + "block.minecraft.void_air": "Void Air", + "block.minecraft.cave_air": "Cave Air", + "block.minecraft.bubble_column": "Bubble Column", + "block.minecraft.dead_tube_coral_block": "Dead Tube Coral Block", + "block.minecraft.dead_brain_coral_block": "Dead Brain Coral Block", + "block.minecraft.dead_bubble_coral_block": "Dead Bubble Coral Block", + "block.minecraft.dead_fire_coral_block": "Dead Fire Coral Block", + "block.minecraft.dead_horn_coral_block": "Dead Horn Coral Block", + "block.minecraft.tube_coral_block": "Tube Coral Block", + "block.minecraft.brain_coral_block": "Brain Coral Block", + "block.minecraft.bubble_coral_block": "Bubble Coral Block", + "block.minecraft.fire_coral_block": "Fire Coral Block", + "block.minecraft.horn_coral_block": "Horn Coral Block", + "block.minecraft.tube_coral": "Tube Coral", + "block.minecraft.brain_coral": "Brain Coral", + "block.minecraft.bubble_coral": "Bubble Coral", + "block.minecraft.fire_coral": "Fire Coral", + "block.minecraft.horn_coral": "Horn Coral", + "block.minecraft.tube_coral_fan": "Tube Coral Fan", + "block.minecraft.brain_coral_fan": "Brain Coral Fan", + "block.minecraft.bubble_coral_fan": "Bubble Coral Fan", + "block.minecraft.fire_coral_fan": "Fire Coral Fan", + "block.minecraft.horn_coral_fan": "Horn Coral Fan", + "block.minecraft.dead_tube_coral_fan": "Dead Tube Coral Fan", + "block.minecraft.dead_brain_coral_fan": "Dead Brain Coral Fan", + "block.minecraft.dead_bubble_coral_fan": "Dead Bubble Coral Fan", + "block.minecraft.dead_fire_coral_fan": "Dead Fire Coral Fan", + "block.minecraft.dead_horn_coral_fan": "Dead Horn Coral Fan", + "block.minecraft.tube_coral_wall_fan": "Tube Coral Wall Fan", + "block.minecraft.brain_coral_wall_fan": "Brain Coral Wall Fan", + "block.minecraft.bubble_coral_wall_fan": "Bubble Coral Wall Fan", + "block.minecraft.fire_coral_wall_fan": "Fire Coral Wall Fan", + "block.minecraft.horn_coral_wall_fan": "Horn Coral Wall Fan", + "block.minecraft.dead_tube_coral_wall_fan": "Dead Tube Coral Wall Fan", + "block.minecraft.dead_brain_coral_wall_fan": "Dead Brain Coral Wall Fan", + "block.minecraft.dead_bubble_coral_wall_fan": "Dead Bubble Coral Wall Fan", + "block.minecraft.dead_fire_coral_wall_fan": "Dead Fire Coral Wall Fan", + "block.minecraft.dead_horn_coral_wall_fan": "Dead Horn Coral Wall Fan", + "block.minecraft.conduit": "Conduit", + "item.minecraft.name_tag": "Name Tag", + "item.minecraft.lead": "Lead", + "item.minecraft.iron_shovel": "Iron Shovel", + "item.minecraft.iron_pickaxe": "Iron Pickaxe", + "item.minecraft.iron_axe": "Iron Axe", + "item.minecraft.flint_and_steel": "Flint and Steel", + "item.minecraft.apple": "Apple", + "item.minecraft.cookie": "Cookie", + "item.minecraft.bow": "Bow", + "item.minecraft.arrow": "Arrow", + "item.minecraft.spectral_arrow": "Spectral Arrow", + "item.minecraft.tipped_arrow": "Tipped Arrow", + "item.minecraft.dried_kelp": "Dried Kelp", + "item.minecraft.coal": "Coal", + "item.minecraft.charcoal": "Charcoal", + "item.minecraft.diamond": "Diamond", + "item.minecraft.emerald": "Emerald", + "item.minecraft.iron_ingot": "Iron Ingot", + "item.minecraft.gold_ingot": "Gold Ingot", + "item.minecraft.iron_sword": "Iron Sword", + "item.minecraft.wooden_sword": "Wooden Sword", + "item.minecraft.wooden_shovel": "Wooden Shovel", + "item.minecraft.wooden_pickaxe": "Wooden Pickaxe", + "item.minecraft.wooden_axe": "Wooden Axe", + "item.minecraft.stone_sword": "Stone Sword", + "item.minecraft.stone_shovel": "Stone Shovel", + "item.minecraft.stone_pickaxe": "Stone Pickaxe", + "item.minecraft.stone_axe": "Stone Axe", + "item.minecraft.diamond_sword": "Diamond Sword", + "item.minecraft.diamond_shovel": "Diamond Shovel", + "item.minecraft.diamond_pickaxe": "Diamond Pickaxe", + "item.minecraft.diamond_axe": "Diamond Axe", + "item.minecraft.stick": "Stick", + "item.minecraft.bowl": "Bowl", + "item.minecraft.mushroom_stew": "Mushroom Stew", + "item.minecraft.golden_sword": "Golden Sword", + "item.minecraft.golden_shovel": "Golden Shovel", + "item.minecraft.golden_pickaxe": "Golden Pickaxe", + "item.minecraft.golden_axe": "Golden Axe", + "item.minecraft.string": "String", + "item.minecraft.feather": "Feather", + "item.minecraft.gunpowder": "Gunpowder", + "item.minecraft.wooden_hoe": "Wooden Hoe", + "item.minecraft.stone_hoe": "Stone Hoe", + "item.minecraft.iron_hoe": "Iron Hoe", + "item.minecraft.diamond_hoe": "Diamond Hoe", + "item.minecraft.golden_hoe": "Golden Hoe", + "item.minecraft.wheat_seeds": "Wheat Seeds", + "item.minecraft.pumpkin_seeds": "Pumpkin Seeds", + "item.minecraft.melon_seeds": "Melon Seeds", + "item.minecraft.melon_slice": "Melon Slice", + "item.minecraft.wheat": "Wheat", + "item.minecraft.bread": "Bread", + "item.minecraft.leather_helmet": "Leather Cap", + "item.minecraft.leather_chestplate": "Leather Tunic", + "item.minecraft.leather_leggings": "Leather Pants", + "item.minecraft.leather_boots": "Leather Boots", + "item.minecraft.chainmail_helmet": "Chainmail Helmet", + "item.minecraft.chainmail_chestplate": "Chainmail Chestplate", + "item.minecraft.chainmail_leggings": "Chainmail Leggings", + "item.minecraft.chainmail_boots": "Chainmail Boots", + "item.minecraft.iron_helmet": "Iron Helmet", + "item.minecraft.iron_chestplate": "Iron Chestplate", + "item.minecraft.iron_leggings": "Iron Leggings", + "item.minecraft.iron_boots": "Iron Boots", + "item.minecraft.diamond_helmet": "Diamond Helmet", + "item.minecraft.diamond_chestplate": "Diamond Chestplate", + "item.minecraft.diamond_leggings": "Diamond Leggings", + "item.minecraft.diamond_boots": "Diamond Boots", + "item.minecraft.golden_helmet": "Golden Helmet", + "item.minecraft.golden_chestplate": "Golden Chestplate", + "item.minecraft.golden_leggings": "Golden Leggings", + "item.minecraft.golden_boots": "Golden Boots", + "item.minecraft.flint": "Flint", + "item.minecraft.porkchop": "Raw Porkchop", + "item.minecraft.cooked_porkchop": "Cooked Porkchop", + "item.minecraft.chicken": "Raw Chicken", + "item.minecraft.cooked_chicken": "Cooked Chicken", + "item.minecraft.mutton": "Raw Mutton", + "item.minecraft.cooked_mutton": "Cooked Mutton", + "item.minecraft.rabbit": "Raw Rabbit", + "item.minecraft.cooked_rabbit": "Cooked Rabbit", + "item.minecraft.rabbit_stew": "Rabbit Stew", + "item.minecraft.rabbit_foot": "Rabbit's Foot", + "item.minecraft.rabbit_hide": "Rabbit Hide", + "item.minecraft.beef": "Raw Beef", + "item.minecraft.cooked_beef": "Steak", + "item.minecraft.painting": "Painting", + "item.minecraft.item_frame": "Item Frame", + "item.minecraft.golden_apple": "Golden Apple", + "item.minecraft.enchanted_golden_apple": "Enchanted Golden Apple", + "item.minecraft.sign": "Sign", + "item.minecraft.bucket": "Bucket", + "item.minecraft.water_bucket": "Water Bucket", + "item.minecraft.lava_bucket": "Lava Bucket", + "item.minecraft.pufferfish_bucket": "Bucket of Pufferfish", + "item.minecraft.salmon_bucket": "Bucket of Salmon", + "item.minecraft.cod_bucket": "Bucket of Cod", + "item.minecraft.tropical_fish_bucket": "Bucket of Tropical Fish", + "item.minecraft.minecart": "Minecart", + "item.minecraft.saddle": "Saddle", + "item.minecraft.redstone": "Redstone", + "item.minecraft.snowball": "Snowball", + "item.minecraft.oak_boat": "Oak Boat", + "item.minecraft.spruce_boat": "Spruce Boat", + "item.minecraft.birch_boat": "Birch Boat", + "item.minecraft.jungle_boat": "Jungle Boat", + "item.minecraft.acacia_boat": "Acacia Boat", + "item.minecraft.dark_oak_boat": "Dark Oak Boat", + "item.minecraft.leather": "Leather", + "item.minecraft.milk_bucket": "Milk Bucket", + "item.minecraft.brick": "Brick", + "item.minecraft.clay_ball": "Clay", + "item.minecraft.paper": "Paper", + "item.minecraft.book": "Book", + "item.minecraft.slime_ball": "Slimeball", + "item.minecraft.chest_minecart": "Minecart with Chest", + "item.minecraft.furnace_minecart": "Minecart with Furnace", + "item.minecraft.tnt_minecart": "Minecart with TNT", + "item.minecraft.hopper_minecart": "Minecart with Hopper", + "item.minecraft.command_block_minecart": "Minecart with Command Block", + "item.minecraft.egg": "Egg", + "item.minecraft.compass": "Compass", + "item.minecraft.fishing_rod": "Fishing Rod", + "item.minecraft.clock": "Clock", + "item.minecraft.glowstone_dust": "Glowstone Dust", + "item.minecraft.cod": "Raw Cod", + "item.minecraft.salmon": "Raw Salmon", + "item.minecraft.pufferfish": "Pufferfish", + "item.minecraft.tropical_fish": "Tropical Fish", + "item.minecraft.cooked_cod": "Cooked Cod", + "item.minecraft.cooked_salmon": "Cooked Salmon", + "item.minecraft.music_disc_13": "Music Disc", + "item.minecraft.music_disc_cat": "Music Disc", + "item.minecraft.music_disc_blocks": "Music Disc", + "item.minecraft.music_disc_chirp": "Music Disc", + "item.minecraft.music_disc_far": "Music Disc", + "item.minecraft.music_disc_mall": "Music Disc", + "item.minecraft.music_disc_mellohi": "Music Disc", + "item.minecraft.music_disc_stal": "Music Disc", + "item.minecraft.music_disc_strad": "Music Disc", + "item.minecraft.music_disc_ward": "Music Disc", + "item.minecraft.music_disc_11": "Music Disc", + "item.minecraft.music_disc_wait": "Music Disc", + "item.minecraft.music_disc_13.desc": "C418 - 13", + "item.minecraft.music_disc_cat.desc": "C418 - cat", + "item.minecraft.music_disc_blocks.desc": "C418 - blocks", + "item.minecraft.music_disc_chirp.desc": "C418 - chirp", + "item.minecraft.music_disc_far.desc": "C418 - far", + "item.minecraft.music_disc_mall.desc": "C418 - mall", + "item.minecraft.music_disc_mellohi.desc": "C418 - mellohi", + "item.minecraft.music_disc_stal.desc": "C418 - stal", + "item.minecraft.music_disc_strad.desc": "C418 - strad", + "item.minecraft.music_disc_ward.desc": "C418 - ward", + "item.minecraft.music_disc_11.desc": "C418 - 11", + "item.minecraft.music_disc_wait.desc": "C418 - wait", + "item.minecraft.bone": "Bone", + "item.minecraft.ink_sac": "Ink Sac", + "item.minecraft.rose_red": "Rose Red", + "item.minecraft.cactus_green": "Cactus Green", + "item.minecraft.cocoa_beans": "Cocoa Beans", + "item.minecraft.lapis_lazuli": "Lapis Lazuli", + "item.minecraft.purple_dye": "Purple Dye", + "item.minecraft.cyan_dye": "Cyan Dye", + "item.minecraft.light_gray_dye": "Light Gray Dye", + "item.minecraft.gray_dye": "Gray Dye", + "item.minecraft.pink_dye": "Pink Dye", + "item.minecraft.lime_dye": "Lime Dye", + "item.minecraft.dandelion_yellow": "Dandelion Yellow", + "item.minecraft.light_blue_dye": "Light Blue Dye", + "item.minecraft.magenta_dye": "Magenta Dye", + "item.minecraft.orange_dye": "Orange Dye", + "item.minecraft.bone_meal": "Bone Meal", + "item.minecraft.sugar": "Sugar", + "block.minecraft.black_bed": "Black Bed", + "block.minecraft.red_bed": "Red Bed", + "block.minecraft.green_bed": "Green Bed", + "block.minecraft.brown_bed": "Brown Bed", + "block.minecraft.blue_bed": "Blue Bed", + "block.minecraft.purple_bed": "Purple Bed", + "block.minecraft.cyan_bed": "Cyan Bed", + "block.minecraft.light_gray_bed": "Light Gray Bed", + "block.minecraft.gray_bed": "Gray Bed", + "block.minecraft.pink_bed": "Pink Bed", + "block.minecraft.lime_bed": "Lime Bed", + "block.minecraft.yellow_bed": "Yellow Bed", + "block.minecraft.light_blue_bed": "Light Blue Bed", + "block.minecraft.magenta_bed": "Magenta Bed", + "block.minecraft.orange_bed": "Orange Bed", + "block.minecraft.white_bed": "White Bed", + "block.minecraft.repeater": "Redstone Repeater", + "block.minecraft.comparator": "Redstone Comparator", + "item.minecraft.filled_map": "Map", + "item.minecraft.shears": "Shears", + "item.minecraft.rotten_flesh": "Rotten Flesh", + "item.minecraft.ender_pearl": "Ender Pearl", + "item.minecraft.blaze_rod": "Blaze Rod", + "item.minecraft.ghast_tear": "Ghast Tear", + "item.minecraft.nether_wart": "Nether Wart", + "item.minecraft.potion": "Potion", + "item.minecraft.splash_potion": "Splash Potion", + "item.minecraft.lingering_potion": "Lingering Potion", + "item.minecraft.end_crystal": "End Crystal", + "item.minecraft.gold_nugget": "Gold Nugget", + "item.minecraft.glass_bottle": "Glass Bottle", + "item.minecraft.spider_eye": "Spider Eye", + "item.minecraft.fermented_spider_eye": "Fermented Spider Eye", + "item.minecraft.blaze_powder": "Blaze Powder", + "item.minecraft.magma_cream": "Magma Cream", + "item.minecraft.cauldron": "Cauldron", + "item.minecraft.brewing_stand": "Brewing Stand", + "item.minecraft.ender_eye": "Eye of Ender", + "item.minecraft.glistering_melon_slice": "Glistering Melon Slice", + "item.minecraft.bat_spawn_egg": "Bat Spawn Egg", + "item.minecraft.blaze_spawn_egg": "Blaze Spawn Egg", + "item.minecraft.cave_spider_spawn_egg": "Cave Spider Spawn Egg", + "item.minecraft.chicken_spawn_egg": "Chicken Spawn Egg", + "item.minecraft.cod_spawn_egg": "Cod Spawn Egg", + "item.minecraft.cow_spawn_egg": "Cow Spawn Egg", + "item.minecraft.creeper_spawn_egg": "Creeper Spawn Egg", + "item.minecraft.dolphin_spawn_egg": "Dolphin Spawn Egg", + "item.minecraft.donkey_spawn_egg": "Donkey Spawn Egg", + "item.minecraft.drowned_spawn_egg": "Drowned Spawn Egg", + "item.minecraft.elder_guardian_spawn_egg": "Elder Guardian Spawn Egg", + "item.minecraft.enderman_spawn_egg": "Enderman Spawn Egg", + "item.minecraft.endermite_spawn_egg": "Endermite Spawn Egg", + "item.minecraft.evoker_spawn_egg": "Evoker Spawn Egg", + "item.minecraft.ghast_spawn_egg": "Ghast Spawn Egg", + "item.minecraft.guardian_spawn_egg": "Guardian Spawn Egg", + "item.minecraft.horse_spawn_egg": "Horse Spawn Egg", + "item.minecraft.husk_spawn_egg": "Husk Spawn Egg", + "item.minecraft.llama_spawn_egg": "Llama Spawn Egg", + "item.minecraft.magma_cube_spawn_egg": "Magma Cube Spawn Egg", + "item.minecraft.mooshroom_spawn_egg": "Mooshroom Spawn Egg", + "item.minecraft.mule_spawn_egg": "Mule Spawn Egg", + "item.minecraft.ocelot_spawn_egg": "Ocelot Spawn Egg", + "item.minecraft.parrot_spawn_egg": "Parrot Spawn Egg", + "item.minecraft.pig_spawn_egg": "Pig Spawn Egg", + "item.minecraft.phantom_spawn_egg": "Phantom Spawn Egg", + "item.minecraft.polar_bear_spawn_egg": "Polar Bear Spawn Egg", + "item.minecraft.pufferfish_spawn_egg": "Pufferfish Spawn Egg", + "item.minecraft.rabbit_spawn_egg": "Rabbit Spawn Egg", + "item.minecraft.salmon_spawn_egg": "Salmon Spawn Egg", + "item.minecraft.sheep_spawn_egg": "Sheep Spawn Egg", + "item.minecraft.shulker_spawn_egg": "Shulker Spawn Egg", + "item.minecraft.silverfish_spawn_egg": "Silverfish Spawn Egg", + "item.minecraft.skeleton_spawn_egg": "Skeleton Spawn Egg", + "item.minecraft.skeleton_horse_spawn_egg": "Skeleton Horse Spawn Egg", + "item.minecraft.slime_spawn_egg": "Slime Spawn Egg", + "item.minecraft.spider_spawn_egg": "Spider Spawn Egg", + "item.minecraft.squid_spawn_egg": "Squid Spawn Egg", + "item.minecraft.stray_spawn_egg": "Stray Spawn Egg", + "item.minecraft.tropical_fish_spawn_egg": "Tropical Fish Spawn Egg", + "item.minecraft.turtle_spawn_egg": "Turtle Spawn Egg", + "item.minecraft.vex_spawn_egg": "Vex Spawn Egg", + "item.minecraft.villager_spawn_egg": "Villager Spawn Egg", + "item.minecraft.vindicator_spawn_egg": "Vindicator Spawn Egg", + "item.minecraft.witch_spawn_egg": "Witch Spawn Egg", + "item.minecraft.wither_skeleton_spawn_egg": "Wither Skeleton Spawn Egg", + "item.minecraft.wolf_spawn_egg": "Wolf Spawn Egg", + "item.minecraft.zombie_spawn_egg": "Zombie Spawn Egg", + "item.minecraft.zombie_horse_spawn_egg": "Zombie Horse Spawn Egg", + "item.minecraft.zombie_pigman_spawn_egg": "Zombie Pigman Spawn Egg", + "item.minecraft.zombie_villager_spawn_egg": "Zombie Villager Spawn Egg", + "item.minecraft.experience_bottle": "Bottle o' Enchanting", + "item.minecraft.fire_charge": "Fire Charge", + "item.minecraft.writable_book": "Book and Quill", + "item.minecraft.written_book": "Written Book", + "item.minecraft.flower_pot": "Flower Pot", + "item.minecraft.map": "Empty Map", + "item.minecraft.carrot": "Carrot", + "item.minecraft.golden_carrot": "Golden Carrot", + "item.minecraft.potato": "Potato", + "item.minecraft.baked_potato": "Baked Potato", + "item.minecraft.poisonous_potato": "Poisonous Potato", + "item.minecraft.skeleton_skull": "Skeleton Skull", + "item.minecraft.wither_skeleton_skull": "Wither Skeleton Skull", + "item.minecraft.zombie_head": "Zombie Head", + "item.minecraft.creeper_head": "Creeper Head", + "item.minecraft.dragon_head": "Dragon Head", + "item.minecraft.carrot_on_a_stick": "Carrot on a Stick", + "item.minecraft.nether_star": "Nether Star", + "item.minecraft.pumpkin_pie": "Pumpkin Pie", + "item.minecraft.enchanted_book": "Enchanted Book", + "item.minecraft.firework_rocket": "Firework Rocket", + "item.minecraft.firework_rocket.flight": "Flight Duration:", + "item.minecraft.firework_star": "Firework Star", + "item.minecraft.firework_star.black": "Black", + "item.minecraft.firework_star.red": "Red", + "item.minecraft.firework_star.green": "Green", + "item.minecraft.firework_star.brown": "Brown", + "item.minecraft.firework_star.blue": "Blue", + "item.minecraft.firework_star.purple": "Purple", + "item.minecraft.firework_star.cyan": "Cyan", + "item.minecraft.firework_star.light_gray": "Light Gray", + "item.minecraft.firework_star.gray": "Gray", + "item.minecraft.firework_star.pink": "Pink", + "item.minecraft.firework_star.lime": "Lime", + "item.minecraft.firework_star.yellow": "Yellow", + "item.minecraft.firework_star.light_blue": "Light Blue", + "item.minecraft.firework_star.magenta": "Magenta", + "item.minecraft.firework_star.orange": "Orange", + "item.minecraft.firework_star.white": "White", + "item.minecraft.firework_star.custom_color": "Custom", + "item.minecraft.firework_star.fade_to": "Fade to", + "item.minecraft.firework_star.flicker": "Twinkle", + "item.minecraft.firework_star.trail": "Trail", + "item.minecraft.firework_star.shape.small_ball": "Small Ball", + "item.minecraft.firework_star.shape.large_ball": "Large Ball", + "item.minecraft.firework_star.shape.star": "Star-shaped", + "item.minecraft.firework_star.shape.creeper": "Creeper-shaped", + "item.minecraft.firework_star.shape.burst": "Burst", + "item.minecraft.firework_star.shape": "Unknown Shape", + "item.minecraft.nether_brick": "Nether Brick", + "item.minecraft.quartz": "Nether Quartz", + "item.minecraft.armor_stand": "Armor Stand", + "item.minecraft.iron_horse_armor": "Iron Horse Armor", + "item.minecraft.golden_horse_armor": "Golden Horse Armor", + "item.minecraft.diamond_horse_armor": "Diamond Horse Armor", + "item.minecraft.prismarine_shard": "Prismarine Shard", + "item.minecraft.prismarine_crystals": "Prismarine Crystals", + "item.minecraft.chorus_fruit": "Chorus Fruit", + "item.minecraft.popped_chorus_fruit": "Popped Chorus Fruit", + "item.minecraft.beetroot": "Beetroot", + "item.minecraft.beetroot_seeds": "Beetroot Seeds", + "item.minecraft.beetroot_soup": "Beetroot Soup", + "item.minecraft.dragon_breath": "Dragon's Breath", + "item.minecraft.elytra": "Elytra", + "item.minecraft.totem_of_undying": "Totem of Undying", + "item.minecraft.shulker_shell": "Shulker Shell", + "item.minecraft.iron_nugget": "Iron Nugget", + "item.minecraft.knowledge_book": "Knowledge Book", + "item.minecraft.debug_stick": "Debug Stick", + "item.minecraft.debug_stick.empty": "%s has no properties", + "item.minecraft.debug_stick.update": "\"%s\" to %s", + "item.minecraft.debug_stick.select": "selected \"%s\" (%s)", + "item.minecraft.trident": "Trident", + "item.minecraft.scute": "Scute", + "item.minecraft.turtle_helmet": "Turtle Shell", + "item.minecraft.phantom_membrane": "Phantom Membrane", + "item.minecraft.nautilus_shell": "Nautilus Shell", + "item.minecraft.heart_of_the_sea": "Heart of the Sea", + "container.inventory": "Inventory", + "container.hopper": "Item Hopper", + "container.crafting": "Crafting", + "container.dispenser": "Dispenser", + "container.dropper": "Dropper", + "container.furnace": "Furnace", + "container.enchant": "Enchant", + "container.enchant.lapis.one": "1 Lapis Lazuli", + "container.enchant.lapis.many": "%s Lapis Lazuli", + "container.enchant.level.one": "1 Enchantment Level", + "container.enchant.level.many": "%s Enchantment Levels", + "container.enchant.level.requirement": "Level requirement: %s", + "container.enchant.clue": "%s . . . ?", + "container.repair": "Repair & Name", + "container.repair.cost": "Enchantment Cost: %1$s", + "container.repair.expensive": "Too Expensive!", + "container.creative": "Item Selection", + "container.brewing": "Brewing Stand", + "container.chest": "Chest", + "container.chestDouble": "Large Chest", + "container.enderchest": "Ender Chest", + "container.beacon": "Beacon", + "container.shulkerBox": "Shulker Box", + "container.shulkerBox.more": "and %s more...", + "container.spectatorCantOpen": "Unable to open. Loot not generated yet.", + "container.isLocked": "%s is locked!", + "structure_block.invalid_structure_name": "Invalid structure name '%s'", + "structure_block.save_success": "Structure saved as '%s'", + "structure_block.save_failure": "Unable to save structure '%s'", + "structure_block.load_success": "Structure loaded from '%s'", + "structure_block.load_prepare": "Structure '%s' position prepared", + "structure_block.load_not_found": "Structure '%s' is not available", + "structure_block.size_success": "Size successfully detected for '%s'", + "structure_block.size_failure": "Unable to detect structure size. Add corners with matching structure names", + "structure_block.mode.save": "Save", + "structure_block.mode.load": "Load", + "structure_block.mode.data": "Data", + "structure_block.mode.corner": "Corner", + "structure_block.hover.save": "Save: %s", + "structure_block.hover.load": "Load: %s", + "structure_block.hover.data": "Data: %s", + "structure_block.hover.corner": "Corner: %s", + "structure_block.mode_info.save": "Save mode - write to file", + "structure_block.mode_info.load": "Load mode - load from file", + "structure_block.mode_info.data": "Data mode - game logic marker", + "structure_block.mode_info.corner": "Corner mode - placement and size marker", + "structure_block.structure_name": "Structure Name", + "structure_block.custom_data": "Custom Data Tag Name", + "structure_block.position": "Relative Position", + "structure_block.size": "Structure Size", + "structure_block.integrity": "Structure Integrity and Seed", + "structure_block.include_entities": "Include entities:", + "structure_block.detect_size": "Detect structure size and position:", + "structure_block.button.detect_size": "DETECT", + "structure_block.button.save": "SAVE", + "structure_block.button.load": "LOAD", + "structure_block.show_air": "Show invisible blocks:", + "structure_block.show_boundingbox": "Show bounding box:", + "item.dyed": "Dyed", + "item.unbreakable": "Unbreakable", + "item.canBreak": "Can break:", + "item.canPlace": "Can be placed on:", + "item.color": "Color: %s", + "item.nbt_tags": "NBT: %s tag(s)", + "item.durability": "Durability: %s / %s", + "filled_map.mansion": "Woodland Explorer Map", + "filled_map.monument": "Ocean Explorer Map", + "filled_map.buried_treasure": "Buried Treasure Map", + "filled_map.unknown": "Unknown Map", + "filled_map.id": "Id #%s", + "filled_map.level": "(Level %s/%s)", + "filled_map.scale": "Scaling at 1:%s", + "entity.minecraft.area_effect_cloud": "Area Effect Cloud", + "entity.minecraft.armor_stand": "Armor Stand", + "entity.minecraft.arrow": "Arrow", + "entity.minecraft.bat": "Bat", + "entity.minecraft.blaze": "Blaze", + "entity.minecraft.boat": "Boat", + "entity.minecraft.cat": "Cat", + "entity.minecraft.cave_spider": "Cave Spider", + "entity.minecraft.chest_minecart": "Minecart with Chest", + "entity.minecraft.chicken": "Chicken", + "entity.minecraft.command_block_minecart": "Minecart with Command Block", + "entity.minecraft.cod": "Cod", + "entity.minecraft.cow": "Cow", + "entity.minecraft.creeper": "Creeper", + "entity.minecraft.dolphin": "Dolphin", + "entity.minecraft.donkey": "Donkey", + "entity.minecraft.drowned": "Drowned", + "entity.minecraft.dragon_fireball": "Dragon Fireball", + "entity.minecraft.egg": "Thrown Egg", + "entity.minecraft.elder_guardian": "Elder Guardian", + "entity.minecraft.end_crystal": "End Crystal", + "entity.minecraft.ender_dragon": "Ender Dragon", + "entity.minecraft.ender_pearl": "Thrown Ender Pearl", + "entity.minecraft.enderman": "Enderman", + "entity.minecraft.endermite": "Endermite", + "entity.minecraft.evoker_fangs": "Evoker Fangs", + "entity.minecraft.evoker": "Evoker", + "entity.minecraft.eye_of_ender": "Eye of Ender", + "entity.minecraft.falling_block": "Falling Block", + "entity.minecraft.fireball": "Fireball", + "entity.minecraft.firework_rocket": "Firework Rocket", + "entity.minecraft.fishing_bobber": "Fishing Bobber", + "entity.minecraft.furnace_minecart": "Minecart with Furnace", + "entity.minecraft.ghast": "Ghast", + "entity.minecraft.giant": "Giant", + "entity.minecraft.guardian": "Guardian", + "entity.minecraft.hopper_minecart": "Minecart with Hopper", + "entity.minecraft.horse": "Horse", + "entity.minecraft.husk": "Husk", + "entity.minecraft.illusioner": "Illusioner", + "entity.minecraft.item": "Item", + "entity.minecraft.item_frame": "Item Frame", + "entity.minecraft.killer_bunny": "The Killer Bunny", + "entity.minecraft.leash_knot": "Leash Knot", + "entity.minecraft.lightning_bolt": "Lightning Bolt", + "entity.minecraft.llama": "Llama", + "entity.minecraft.llama_spit": "Llama Spit", + "entity.minecraft.magma_cube": "Magma Cube", + "entity.minecraft.minecart": "Minecart", + "entity.minecraft.mooshroom": "Mooshroom", + "entity.minecraft.mule": "Mule", + "entity.minecraft.ocelot": "Ocelot", + "entity.minecraft.painting": "Painting", + "entity.minecraft.parrot": "Parrot", + "entity.minecraft.phantom": "Phantom", + "entity.minecraft.pig": "Pig", + "entity.minecraft.player": "Player", + "entity.minecraft.polar_bear": "Polar Bear", + "entity.minecraft.potion": "Potion", + "entity.minecraft.pufferfish": "Pufferfish", + "entity.minecraft.rabbit": "Rabbit", + "entity.minecraft.salmon": "Salmon", + "entity.minecraft.sheep": "Sheep", + "entity.minecraft.shulker": "Shulker", + "entity.minecraft.shulker_bullet": "Shulker Bullet", + "entity.minecraft.silverfish": "Silverfish", + "entity.minecraft.skeleton": "Skeleton", + "entity.minecraft.skeleton_horse": "Skeleton Horse", + "entity.minecraft.slime": "Slime", + "entity.minecraft.small_fireball": "Small Fireball", + "entity.minecraft.snowball": "Snowball", + "entity.minecraft.snow_golem": "Snow Golem", + "entity.minecraft.spawner_minecart": "Minecart with Spawner", + "entity.minecraft.spectral_arrow": "Spectral Arrow", + "entity.minecraft.spider": "Spider", + "entity.minecraft.squid": "Squid", + "entity.minecraft.stray": "Stray", + "entity.minecraft.tnt": "Primed TNT", + "entity.minecraft.tnt_minecart": "Minecart with TNT", + "entity.minecraft.trident": "Trident", + "entity.minecraft.tropical_fish": "Tropical Fish", + "entity.minecraft.turtle": "Turtle", + "entity.minecraft.vex": "Vex", + "entity.minecraft.villager.armorer": "Armorer", + "entity.minecraft.villager.butcher": "Butcher", + "entity.minecraft.villager.cartographer": "Cartographer", + "entity.minecraft.villager.cleric": "Cleric", + "entity.minecraft.villager.farmer": "Farmer", + "entity.minecraft.villager.fisherman": "Fisherman", + "entity.minecraft.villager.fletcher": "Fletcher", + "entity.minecraft.villager.leatherworker": "Leatherworker", + "entity.minecraft.villager.librarian": "Librarian", + "entity.minecraft.villager.nitwit": "Nitwit", + "entity.minecraft.villager.shepherd": "Shepherd", + "entity.minecraft.villager.tool_smith": "Tool Smith", + "entity.minecraft.villager.weapon_smith": "Weapon Smith", + "entity.minecraft.villager": "Villager", + "entity.minecraft.iron_golem": "Iron Golem", + "entity.minecraft.vindicator": "Vindicator", + "entity.minecraft.witch": "Witch", + "entity.minecraft.wither": "Wither", + "entity.minecraft.wither_skeleton": "Wither Skeleton", + "entity.minecraft.wither_skull": "Wither Skull", + "entity.minecraft.wolf": "Wolf", + "entity.minecraft.experience_bottle": "Thrown Bottle o' Enchanting", + "entity.minecraft.experience_orb": "Experience Orb", + "entity.minecraft.zombie": "Zombie", + "entity.minecraft.zombie_horse": "Zombie Horse", + "entity.minecraft.zombie_pigman": "Zombie Pigman", + "entity.minecraft.zombie_villager": "Zombie Villager", + "death.fell.accident.ladder": "%1$s fell off a ladder", + "death.fell.accident.vines": "%1$s fell off some vines", + "death.fell.accident.water": "%1$s fell out of the water", + "death.fell.accident.generic": "%1$s fell from a high place", + "death.fell.killer": "%1$s was doomed to fall", + "death.fell.assist": "%1$s was doomed to fall by %2$s", + "death.fell.assist.item": "%1$s was doomed to fall by %2$s using %3$s", + "death.fell.finish": "%1$s fell too far and was finished by %2$s", + "death.fell.finish.item": "%1$s fell too far and was finished by %2$s using %3$s", + "death.attack.lightningBolt": "%1$s was struck by lightning", + "death.attack.lightningBolt.player": "%1$s was struck by lightning whilst fighting %2$s", + "death.attack.inFire": "%1$s went up in flames", + "death.attack.inFire.player": "%1$s walked into fire whilst fighting %2$s", + "death.attack.onFire": "%1$s burned to death", + "death.attack.onFire.player": "%1$s was burnt to a crisp whilst fighting %2$s", + "death.attack.lava": "%1$s tried to swim in lava", + "death.attack.lava.player": "%1$s tried to swim in lava to escape %2$s", + "death.attack.hotFloor": "%1$s discovered the floor was lava", + "death.attack.hotFloor.player": "%1$s walked into danger zone due to %2$s", + "death.attack.inWall": "%1$s suffocated in a wall", + "death.attack.inWall.player": "%1$s suffocated in a wall whilst fighting %2$s", + "death.attack.cramming": "%1$s was squished too much", + "death.attack.cramming.player": "%1$s was squashed by %2$s", + "death.attack.drown": "%1$s drowned", + "death.attack.drown.player": "%1$s drowned whilst trying to escape %2$s", + "death.attack.starve": "%1$s starved to death", + "death.attack.starve.player": "%1$s starved to death whilst fighting %2$s", + "death.attack.cactus": "%1$s was pricked to death", + "death.attack.cactus.player": "%1$s walked into a cactus whilst trying to escape %2$s", + "death.attack.generic": "%1$s died", + "death.attack.generic.player": "%1$s died because of %2$s", + "death.attack.explosion": "%1$s blew up", + "death.attack.explosion.player": "%1$s was blown up by %2$s", + "death.attack.explosion.player.item": "%1$s was blown up by %2$s using %3$s", + "death.attack.magic": "%1$s was killed by magic", + "death.attack.wither": "%1$s withered away", + "death.attack.wither.player": "%1$s withered away whilst fighting %2$s", + "death.attack.anvil": "%1$s was squashed by a falling anvil", + "death.attack.anvil.player": "%1$s was squashed by a falling anvil whilst fighting %2$s", + "death.attack.fallingBlock": "%1$s was squashed by a falling block", + "death.attack.fallingBlock.player": "%1$s was squashed by a falling block whilst fighting %2$s", + "death.attack.mob": "%1$s was slain by %2$s", + "death.attack.mob.item": "%1$s was slain by %2$s using %3$s", + "death.attack.player": "%1$s was slain by %2$s", + "death.attack.player.item": "%1$s was slain by %2$s using %3$s", + "death.attack.arrow": "%1$s was shot by %2$s", + "death.attack.arrow.item": "%1$s was shot by %2$s using %3$s", + "death.attack.fireball": "%1$s was fireballed by %2$s", + "death.attack.fireball.item": "%1$s was fireballed by %2$s using %3$s", + "death.attack.thrown": "%1$s was pummeled by %2$s", + "death.attack.thrown.item": "%1$s was pummeled by %2$s using %3$s", + "death.attack.indirectMagic": "%1$s was killed by %2$s using magic", + "death.attack.indirectMagic.item": "%1$s was killed by %2$s using %3$s", + "death.attack.thorns": "%1$s was killed trying to hurt %2$s", + "death.attack.thorns.item": "%1$s was killed by %3$s trying to hurt %2$s", + "death.attack.trident": "%1$s was impaled by %2$s", + "death.attack.trident.item": "%1$s was impaled by %2$s with %3$s", + "death.attack.fall": "%1$s hit the ground too hard", + "death.attack.fall.player": "%1$s hit the ground too hard whilst trying to escape %2$s", + "death.attack.outOfWorld": "%1$s fell out of the world", + "death.attack.outOfWorld.player": "%1$s didn't want to live in the same world as %2$s", + "death.attack.dragonBreath": "%1$s was roasted in dragon breath", + "death.attack.dragonBreath.player": "%1$s was roasted in dragon breath by %2$s", + "death.attack.flyIntoWall": "%1$s experienced kinetic energy", + "death.attack.flyIntoWall.player": "%1$s experienced kinetic energy whilst trying to escape %2$s", + "death.attack.fireworks": "%1$s went off with a bang", + "death.attack.fireworks.player": "%1$s went off with a bang whilst fighting %2$s", + "death.attack.netherBed.message": "%1$s was killed by %2$s", + "death.attack.netherBed.link": "Intentional Game Design", + "deathScreen.respawn": "Respawn", + "deathScreen.spectate": "Spectate world", + "deathScreen.deleteWorld": "Delete world", + "deathScreen.titleScreen": "Title screen", + "deathScreen.score": "Score", + "deathScreen.title.hardcore": "Game over!", + "deathScreen.title": "You died!", + "deathScreen.leaveServer": "Leave server", + "deathScreen.quit.confirm": "Are you sure you want to quit?", + "effect.none": "No Effects", + "effect.minecraft.speed": "Speed", + "effect.minecraft.slowness": "Slowness", + "effect.minecraft.haste": "Haste", + "effect.minecraft.mining_fatigue": "Mining Fatigue", + "effect.minecraft.strength": "Strength", + "effect.minecraft.instant_health": "Instant Health", + "effect.minecraft.instant_damage": "Instant Damage", + "effect.minecraft.jump_boost": "Jump Boost", + "effect.minecraft.nausea": "Nausea", + "effect.minecraft.regeneration": "Regeneration", + "effect.minecraft.resistance": "Resistance", + "effect.minecraft.fire_resistance": "Fire Resistance", + "effect.minecraft.water_breathing": "Water Breathing", + "effect.minecraft.invisibility": "Invisibility", + "effect.minecraft.blindness": "Blindness", + "effect.minecraft.night_vision": "Night Vision", + "effect.minecraft.hunger": "Hunger", + "effect.minecraft.weakness": "Weakness", + "effect.minecraft.poison": "Poison", + "effect.minecraft.wither": "Wither", + "effect.minecraft.health_boost": "Health Boost", + "effect.minecraft.absorption": "Absorption", + "effect.minecraft.saturation": "Saturation", + "effect.minecraft.glowing": "Glowing", + "effect.minecraft.luck": "Luck", + "effect.minecraft.unluck": "Bad Luck", + "effect.minecraft.levitation": "Levitation", + "effect.minecraft.slow_falling": "Slow Falling", + "effect.minecraft.conduit_power": "Conduit Power", + "effect.minecraft.dolphins_grace": "Dolphin's Grace", + "item.minecraft.tipped_arrow.effect.empty": "Uncraftable Tipped Arrow", + "item.minecraft.tipped_arrow.effect.water": "Arrow of Splashing", + "item.minecraft.tipped_arrow.effect.mundane": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.thick": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.awkward": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.night_vision": "Arrow of Night Vision", + "item.minecraft.tipped_arrow.effect.invisibility": "Arrow of Invisibility", + "item.minecraft.tipped_arrow.effect.leaping": "Arrow of Leaping", + "item.minecraft.tipped_arrow.effect.fire_resistance": "Arrow of Fire Resistance", + "item.minecraft.tipped_arrow.effect.swiftness": "Arrow of Swiftness", + "item.minecraft.tipped_arrow.effect.slowness": "Arrow of Slowness", + "item.minecraft.tipped_arrow.effect.water_breathing": "Arrow of Water Breathing", + "item.minecraft.tipped_arrow.effect.healing": "Arrow of Healing", + "item.minecraft.tipped_arrow.effect.harming": "Arrow of Harming", + "item.minecraft.tipped_arrow.effect.poison": "Arrow of Poison", + "item.minecraft.tipped_arrow.effect.regeneration": "Arrow of Regeneration", + "item.minecraft.tipped_arrow.effect.strength": "Arrow of Strength", + "item.minecraft.tipped_arrow.effect.weakness": "Arrow of Weakness", + "item.minecraft.tipped_arrow.effect.levitation": "Arrow of Levitation", + "item.minecraft.tipped_arrow.effect.luck": "Arrow of Luck", + "item.minecraft.tipped_arrow.effect.turtle_master": "Arrow of the Turtle Master", + "item.minecraft.tipped_arrow.effect.slow_falling": "Arrow of Slow Falling", + "potion.whenDrank": "When Applied:", + "item.minecraft.potion.effect.empty": "Uncraftable Potion", + "item.minecraft.potion.effect.water": "Water Bottle", + "item.minecraft.potion.effect.mundane": "Mundane Potion", + "item.minecraft.potion.effect.thick": "Thick Potion", + "item.minecraft.potion.effect.awkward": "Awkward Potion", + "item.minecraft.potion.effect.night_vision": "Potion of Night Vision", + "item.minecraft.potion.effect.invisibility": "Potion of Invisibility", + "item.minecraft.potion.effect.leaping": "Potion of Leaping", + "item.minecraft.potion.effect.fire_resistance": "Potion of Fire Resistance", + "item.minecraft.potion.effect.swiftness": "Potion of Swiftness", + "item.minecraft.potion.effect.slowness": "Potion of Slowness", + "item.minecraft.potion.effect.water_breathing": "Potion of Water Breathing", + "item.minecraft.potion.effect.healing": "Potion of Healing", + "item.minecraft.potion.effect.harming": "Potion of Harming", + "item.minecraft.potion.effect.poison": "Potion of Poison", + "item.minecraft.potion.effect.regeneration": "Potion of Regeneration", + "item.minecraft.potion.effect.strength": "Potion of Strength", + "item.minecraft.potion.effect.weakness": "Potion of Weakness", + "item.minecraft.potion.effect.levitation": "Potion of Levitation", + "item.minecraft.potion.effect.luck": "Potion of Luck", + "item.minecraft.potion.effect.turtle_master": "Potion of the Turtle Master", + "item.minecraft.potion.effect.slow_falling": "Potion of Slow Falling", + "item.minecraft.splash_potion.effect.empty": "Splash Uncraftable Potion", + "item.minecraft.splash_potion.effect.water": "Splash Water Bottle", + "item.minecraft.splash_potion.effect.mundane": "Mundane Splash Potion", + "item.minecraft.splash_potion.effect.thick": "Thick Splash Potion", + "item.minecraft.splash_potion.effect.awkward": "Awkward Splash Potion", + "item.minecraft.splash_potion.effect.night_vision": "Splash Potion of Night Vision", + "item.minecraft.splash_potion.effect.invisibility": "Splash Potion of Invisibility", + "item.minecraft.splash_potion.effect.leaping": "Splash Potion of Leaping", + "item.minecraft.splash_potion.effect.fire_resistance": "Splash Potion of Fire Resistance", + "item.minecraft.splash_potion.effect.swiftness": "Splash Potion of Swiftness", + "item.minecraft.splash_potion.effect.slowness": "Splash Potion of Slowness", + "item.minecraft.splash_potion.effect.water_breathing": "Splash Potion of Water Breathing", + "item.minecraft.splash_potion.effect.healing": "Splash Potion of Healing", + "item.minecraft.splash_potion.effect.harming": "Splash Potion of Harming", + "item.minecraft.splash_potion.effect.poison": "Splash Potion of Poison", + "item.minecraft.splash_potion.effect.regeneration": "Splash Potion of Regeneration", + "item.minecraft.splash_potion.effect.strength": "Splash Potion of Strength", + "item.minecraft.splash_potion.effect.weakness": "Splash Potion of Weakness", + "item.minecraft.splash_potion.effect.levitation": "Splash Potion of Levitation", + "item.minecraft.splash_potion.effect.luck": "Splash Potion of Luck", + "item.minecraft.splash_potion.effect.turtle_master": "Splash Potion of the Turtle Master", + "item.minecraft.splash_potion.effect.slow_falling": "Splash Potion of Slow Falling", + "item.minecraft.lingering_potion.effect.empty": "Lingering Uncraftable Potion", + "item.minecraft.lingering_potion.effect.water": "Lingering Water Bottle", + "item.minecraft.lingering_potion.effect.mundane": "Mundane Lingering Potion", + "item.minecraft.lingering_potion.effect.thick": "Thick Lingering Potion", + "item.minecraft.lingering_potion.effect.awkward": "Awkward Lingering Potion", + "item.minecraft.lingering_potion.effect.night_vision": "Lingering Potion of Night Vision", + "item.minecraft.lingering_potion.effect.invisibility": "Lingering Potion of Invisibility", + "item.minecraft.lingering_potion.effect.leaping": "Lingering Potion of Leaping", + "item.minecraft.lingering_potion.effect.fire_resistance": "Lingering Potion of Fire Resistance", + "item.minecraft.lingering_potion.effect.swiftness": "Lingering Potion of Swiftness", + "item.minecraft.lingering_potion.effect.slowness": "Lingering Potion of Slowness", + "item.minecraft.lingering_potion.effect.water_breathing": "Lingering Potion of Water Breathing", + "item.minecraft.lingering_potion.effect.healing": "Lingering Potion of Healing", + "item.minecraft.lingering_potion.effect.harming": "Lingering Potion of Harming", + "item.minecraft.lingering_potion.effect.poison": "Lingering Potion of Poison", + "item.minecraft.lingering_potion.effect.regeneration": "Lingering Potion of Regeneration", + "item.minecraft.lingering_potion.effect.strength": "Lingering Potion of Strength", + "item.minecraft.lingering_potion.effect.weakness": "Lingering Potion of Weakness", + "item.minecraft.lingering_potion.effect.levitation": "Lingering Potion of Levitation", + "item.minecraft.lingering_potion.effect.luck": "Lingering Potion of Luck", + "item.minecraft.lingering_potion.effect.turtle_master": "Lingering Potion of the Turtle Master", + "item.minecraft.lingering_potion.effect.slow_falling": "Lingering Potion of Slow Falling", + "potion.potency.0": "", + "potion.potency.1": "II", + "potion.potency.2": "III", + "potion.potency.3": "IV", + "potion.potency.4": "V", + "potion.potency.5": "VI", + "enchantment.minecraft.sharpness": "Sharpness", + "enchantment.minecraft.smite": "Smite", + "enchantment.minecraft.bane_of_arthropods": "Bane of Arthropods", + "enchantment.minecraft.knockback": "Knockback", + "enchantment.minecraft.fire_aspect": "Fire Aspect", + "enchantment.minecraft.sweeping": "Sweeping Edge", + "enchantment.minecraft.protection": "Protection", + "enchantment.minecraft.fire_protection": "Fire Protection", + "enchantment.minecraft.feather_falling": "Feather Falling", + "enchantment.minecraft.blast_protection": "Blast Protection", + "enchantment.minecraft.projectile_protection": "Projectile Protection", + "enchantment.minecraft.respiration": "Respiration", + "enchantment.minecraft.aqua_affinity": "Aqua Affinity", + "enchantment.minecraft.depth_strider": "Depth Strider", + "enchantment.minecraft.frost_walker": "Frost Walker", + "enchantment.minecraft.efficiency": "Efficiency", + "enchantment.minecraft.silk_touch": "Silk Touch", + "enchantment.minecraft.unbreaking": "Unbreaking", + "enchantment.minecraft.looting": "Looting", + "enchantment.minecraft.fortune": "Fortune", + "enchantment.minecraft.luck_of_the_sea": "Luck of the Sea", + "enchantment.minecraft.lure": "Lure", + "enchantment.minecraft.power": "Power", + "enchantment.minecraft.flame": "Flame", + "enchantment.minecraft.punch": "Punch", + "enchantment.minecraft.infinity": "Infinity", + "enchantment.minecraft.thorns": "Thorns", + "enchantment.minecraft.mending": "Mending", + "enchantment.minecraft.binding_curse": "Curse of Binding", + "enchantment.minecraft.vanishing_curse": "Curse of Vanishing", + "enchantment.minecraft.loyalty": "Loyalty", + "enchantment.minecraft.impaling": "Impaling", + "enchantment.minecraft.riptide": "Riptide", + "enchantment.minecraft.channeling": "Channeling", + "enchantment.level.1": "I", + "enchantment.level.2": "II", + "enchantment.level.3": "III", + "enchantment.level.4": "IV", + "enchantment.level.5": "V", + "enchantment.level.6": "VI", + "enchantment.level.7": "VII", + "enchantment.level.8": "VIII", + "enchantment.level.9": "IX", + "enchantment.level.10": "X", + "gui.advancements": "Advancements", + "gui.stats": "Statistics", + "advancements.empty": "There doesn't seem to be anything here...", + "advancements.toast.task": "Advancement Made!", + "advancements.toast.challenge": "Challenge Complete!", + "advancements.toast.goal": "Goal Reached!", + "stats.tooltip.type.statistic": "Statistic", + "stat.generalButton": "General", + "stat.blocksButton": "Blocks", + "stat.itemsButton": "Items", + "stat.mobsButton": "Mobs", + "stat_type.minecraft.mined": "Times Mined", + "stat_type.minecraft.crafted": "Times Crafted", + "stat_type.minecraft.used": "Times Used", + "stat_type.minecraft.broken": "Times Broken", + "stat_type.minecraft.picked_up": "Picked Up", + "stat_type.minecraft.dropped": "Dropped", + "stat_type.minecraft.killed": "You killed %s %s", + "stat_type.minecraft.killed.none": "You have never killed %s", + "stat_type.minecraft.killed_by": "%s killed you %s time(s)", + "stat_type.minecraft.killed_by.none": "You have never been killed by %s", + "stat.minecraft.animals_bred": "Animals Bred", + "stat.minecraft.aviate_one_cm": "Distance by Elytra", + "stat.minecraft.clean_armor": "Armor Pieces Cleaned", + "stat.minecraft.clean_banner": "Banners Cleaned", + "stat.minecraft.climb_one_cm": "Distance Climbed", + "stat.minecraft.boat_one_cm": "Distance by Boat", + "stat.minecraft.crouch_one_cm": "Distance Crouched", + "stat.minecraft.damage_dealt": "Damage Dealt", + "stat.minecraft.damage_taken": "Damage Taken", + "stat.minecraft.deaths": "Number of Deaths", + "stat.minecraft.walk_under_water_one_cm": "Distance Walked under Water", + "stat.minecraft.drop": "Items Dropped", + "stat.minecraft.eat_cake_slice": "Cake Slices Eaten", + "stat.minecraft.enchant_item": "Items Enchanted", + "stat.minecraft.fall_one_cm": "Distance Fallen", + "stat.minecraft.fill_cauldron": "Cauldrons Filled", + "stat.minecraft.fish_caught": "Fish Caught", + "stat.minecraft.fly_one_cm": "Distance Flown", + "stat.minecraft.horse_one_cm": "Distance by Horse", + "stat.minecraft.inspect_dispenser": "Dispensers Searched", + "stat.minecraft.inspect_dropper": "Droppers Searched", + "stat.minecraft.inspect_hopper": "Hoppers Searched", + "stat.minecraft.interact_with_beacon": "Interactions with Beacon", + "stat.minecraft.interact_with_brewingstand": "Interactions with Brewing Stand", + "stat.minecraft.interact_with_crafting_table": "Interactions with Crafting Table", + "stat.minecraft.interact_with_furnace": "Interactions with Furnace", + "stat.minecraft.jump": "Jumps", + "stat.minecraft.junk_fished": "Junk Fished", + "stat.minecraft.leave_game": "Games Quit", + "stat.minecraft.minecart_one_cm": "Distance by Minecart", + "stat.minecraft.mob_kills": "Mob Kills", + "stat.minecraft.open_chest": "Chests Opened", + "stat.minecraft.open_enderchest": "Ender Chests Opened", + "stat.minecraft.open_shulker_box": "Shulker Boxes Opened", + "stat.minecraft.pig_one_cm": "Distance by Pig", + "stat.minecraft.player_kills": "Player Kills", + "stat.minecraft.play_noteblock": "Note Blocks Played", + "stat.minecraft.play_one_minute": "Time Played", + "stat.minecraft.play_record": "Music Discs Played", + "stat.minecraft.pot_flower": "Plants Potted", + "stat.minecraft.sleep_in_bed": "Times Slept in a Bed", + "stat.minecraft.sneak_time": "Sneak Time", + "stat.minecraft.sprint_one_cm": "Distance Sprinted", + "stat.minecraft.walk_on_water_one_cm": "Distance Walked on Water", + "stat.minecraft.swim_one_cm": "Distance Swum", + "stat.minecraft.talked_to_villager": "Talked to Villagers", + "stat.minecraft.time_since_rest": "Since Last Rest", + "stat.minecraft.time_since_death": "Since Last Death", + "stat.minecraft.traded_with_villager": "Traded with Villagers", + "stat.minecraft.treasure_fished": "Treasure Fished", + "stat.minecraft.trigger_trapped_chest": "Trapped Chests Triggered", + "stat.minecraft.tune_noteblock": "Note Blocks Tuned", + "stat.minecraft.use_cauldron": "Water Taken from Cauldron", + "stat.minecraft.walk_one_cm": "Distance Walked", + "recipe.toast.title": "New Recipes Unlocked!", + "recipe.toast.description": "Check your recipe book", + "itemGroup.buildingBlocks": "Building Blocks", + "itemGroup.decorations": "Decoration Blocks", + "itemGroup.redstone": "Redstone", + "itemGroup.transportation": "Transportation", + "itemGroup.misc": "Miscellaneous", + "itemGroup.search": "Search Items", + "itemGroup.food": "Foodstuffs", + "itemGroup.tools": "Tools", + "itemGroup.combat": "Combat", + "itemGroup.brewing": "Brewing", + "itemGroup.materials": "Materials", + "itemGroup.inventory": "Survival Inventory", + "itemGroup.hotbar": "Saved Toolbars", + "inventory.binSlot": "Destroy Item", + "inventory.hotbarSaved": "Item toolbar saved (restore with %1$s+%2$s)", + "inventory.hotbarInfo": "Save toolbar with %1$s+%2$s", + "advMode.setCommand": "Set Console Command for Block", + "advMode.setCommand.success": "Command set: %s", + "advMode.command": "Console Command", + "advMode.nearestPlayer": "Use \"@p\" to target nearest player", + "advMode.randomPlayer": "Use \"@r\" to target random player", + "advMode.allPlayers": "Use \"@a\" to target all players", + "advMode.allEntities": "Use \"@e\" to target all entities", + "advMode.self": "Use \"@s\" to target the executing entity", + "advMode.previousOutput": "Previous Output", + "advMode.mode.sequence": "Chain", + "advMode.mode.auto": "Repeat", + "advMode.mode.redstone": "Impulse", + "advMode.mode.conditional": "Conditional", + "advMode.mode.unconditional": "Unconditional", + "advMode.mode.redstoneTriggered": "Needs Redstone", + "advMode.mode.autoexec.bat": "Always Active", + "advMode.notEnabled": "Command blocks are not enabled on this server", + "advMode.notAllowed": "Must be an opped player in creative mode", + "mount.onboard": "Press %1$s to dismount", + "build.tooHigh": "Height limit for building is %s blocks", + "item.modifiers.mainhand": "When in main hand:", + "item.modifiers.offhand": "When in off hand:", + "item.modifiers.feet": "When on feet:", + "item.modifiers.legs": "When on legs:", + "item.modifiers.chest": "When on body:", + "item.modifiers.head": "When on head:", + "attribute.modifier.plus.0": "+%s %s", + "attribute.modifier.plus.1": "+%s%% %s", + "attribute.modifier.plus.2": "+%s%% %s", + "attribute.modifier.take.0": "-%s %s", + "attribute.modifier.take.1": "-%s%% %s", + "attribute.modifier.take.2": "-%s%% %s", + "attribute.modifier.equals.0": "%s %s", + "attribute.modifier.equals.1": "%s%% %s", + "attribute.modifier.equals.2": "%s%% %s", + "attribute.name.horse.jumpStrength": "Horse Jump Strength", + "attribute.name.zombie.spawnReinforcements": "Zombie Reinforcements", + "attribute.name.generic.maxHealth": "Max Health", + "attribute.name.generic.followRange": "Mob Follow Range", + "attribute.name.generic.knockbackResistance": "Knockback Resistance", + "attribute.name.generic.movementSpeed": "Speed", + "attribute.name.generic.attackDamage": "Attack Damage", + "attribute.name.generic.attackSpeed": "Attack Speed", + "attribute.name.generic.luck": "Luck", + "attribute.name.generic.armor": "Armor", + "attribute.name.generic.armorToughness": "Armor Toughness", + "screenshot.success": "Saved screenshot as %s", + "screenshot.failure": "Couldn't save screenshot: %s", + "block.minecraft.black_banner": "Black Banner", + "block.minecraft.red_banner": "Red Banner", + "block.minecraft.green_banner": "Green Banner", + "block.minecraft.brown_banner": "Brown Banner", + "block.minecraft.blue_banner": "Blue Banner", + "block.minecraft.purple_banner": "Purple Banner", + "block.minecraft.cyan_banner": "Cyan Banner", + "block.minecraft.light_gray_banner": "Light Gray Banner", + "block.minecraft.gray_banner": "Gray Banner", + "block.minecraft.pink_banner": "Pink Banner", + "block.minecraft.lime_banner": "Lime Banner", + "block.minecraft.yellow_banner": "Yellow Banner", + "block.minecraft.light_blue_banner": "Light Blue Banner", + "block.minecraft.magenta_banner": "Magenta Banner", + "block.minecraft.orange_banner": "Orange Banner", + "block.minecraft.white_banner": "White Banner", + "item.minecraft.shield": "Shield", + "item.minecraft.shield.black": "Black Shield", + "item.minecraft.shield.red": "Red Shield", + "item.minecraft.shield.green": "Green Shield", + "item.minecraft.shield.brown": "Brown Shield", + "item.minecraft.shield.blue": "Blue Shield", + "item.minecraft.shield.purple": "Purple Shield", + "item.minecraft.shield.cyan": "Cyan Shield", + "item.minecraft.shield.light_gray": "Light Gray Shield", + "item.minecraft.shield.gray": "Gray Shield", + "item.minecraft.shield.pink": "Pink Shield", + "item.minecraft.shield.lime": "Lime Shield", + "item.minecraft.shield.yellow": "Yellow Shield", + "item.minecraft.shield.light_blue": "Light Blue Shield", + "item.minecraft.shield.magenta": "Magenta Shield", + "item.minecraft.shield.orange": "Orange Shield", + "item.minecraft.shield.white": "White Shield", + "block.minecraft.banner.square_bottom_left.black": "Black Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.red": "Red Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.green": "Green Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.brown": "Brown Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.blue": "Blue Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.purple": "Purple Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.cyan": "Cyan Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.light_gray": "Light Gray Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.gray": "Gray Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.pink": "Pink Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.lime": "Lime Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.yellow": "Yellow Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.light_blue": "Light Blue Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.magenta": "Magenta Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.orange": "Orange Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.white": "White Base Dexter Canton", + "block.minecraft.banner.square_bottom_right.black": "Black Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.red": "Red Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.green": "Green Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.brown": "Brown Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.blue": "Blue Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.purple": "Purple Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.cyan": "Cyan Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.light_gray": "Light Gray Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.gray": "Gray Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.pink": "Pink Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.lime": "Lime Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.yellow": "Yellow Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.light_blue": "Light Blue Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.magenta": "Magenta Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.orange": "Orange Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.white": "White Base Sinister Canton", + "block.minecraft.banner.square_top_left.black": "Black Chief Dexter Canton", + "block.minecraft.banner.square_top_left.red": "Red Chief Dexter Canton", + "block.minecraft.banner.square_top_left.green": "Green Chief Dexter Canton", + "block.minecraft.banner.square_top_left.brown": "Brown Chief Dexter Canton", + "block.minecraft.banner.square_top_left.blue": "Blue Chief Dexter Canton", + "block.minecraft.banner.square_top_left.purple": "Purple Chief Dexter Canton", + "block.minecraft.banner.square_top_left.cyan": "Cyan Chief Dexter Canton", + "block.minecraft.banner.square_top_left.light_gray": "Light Gray Chief Dexter Canton", + "block.minecraft.banner.square_top_left.gray": "Gray Chief Dexter Canton", + "block.minecraft.banner.square_top_left.pink": "Pink Chief Dexter Canton", + "block.minecraft.banner.square_top_left.lime": "Lime Chief Dexter Canton", + "block.minecraft.banner.square_top_left.yellow": "Yellow Chief Dexter Canton", + "block.minecraft.banner.square_top_left.light_blue": "Light Blue Chief Dexter Canton", + "block.minecraft.banner.square_top_left.magenta": "Magenta Chief Dexter Canton", + "block.minecraft.banner.square_top_left.orange": "Orange Chief Dexter Canton", + "block.minecraft.banner.square_top_left.white": "White Chief Dexter Canton", + "block.minecraft.banner.square_top_right.black": "Black Chief Sinister Canton", + "block.minecraft.banner.square_top_right.red": "Red Chief Sinister Canton", + "block.minecraft.banner.square_top_right.green": "Green Chief Sinister Canton", + "block.minecraft.banner.square_top_right.brown": "Brown Chief Sinister Canton", + "block.minecraft.banner.square_top_right.blue": "Blue Chief Sinister Canton", + "block.minecraft.banner.square_top_right.purple": "Purple Chief Sinister Canton", + "block.minecraft.banner.square_top_right.cyan": "Cyan Chief Sinister Canton", + "block.minecraft.banner.square_top_right.light_gray": "Light Gray Chief Sinister Canton", + "block.minecraft.banner.square_top_right.gray": "Gray Chief Sinister Canton", + "block.minecraft.banner.square_top_right.pink": "Pink Chief Sinister Canton", + "block.minecraft.banner.square_top_right.lime": "Lime Chief Sinister Canton", + "block.minecraft.banner.square_top_right.yellow": "Yellow Chief Sinister Canton", + "block.minecraft.banner.square_top_right.light_blue": "Light Blue Chief Sinister Canton", + "block.minecraft.banner.square_top_right.magenta": "Magenta Chief Sinister Canton", + "block.minecraft.banner.square_top_right.orange": "Orange Chief Sinister Canton", + "block.minecraft.banner.square_top_right.white": "White Chief Sinister Canton", + "block.minecraft.banner.stripe_bottom.black": "Black Base", + "block.minecraft.banner.stripe_bottom.red": "Red Base", + "block.minecraft.banner.stripe_bottom.green": "Green Base", + "block.minecraft.banner.stripe_bottom.brown": "Brown Base", + "block.minecraft.banner.stripe_bottom.blue": "Blue Base", + "block.minecraft.banner.stripe_bottom.purple": "Purple Base", + "block.minecraft.banner.stripe_bottom.cyan": "Cyan Base", + "block.minecraft.banner.stripe_bottom.light_gray": "Light Gray Base", + "block.minecraft.banner.stripe_bottom.gray": "Gray Base", + "block.minecraft.banner.stripe_bottom.pink": "Pink Base", + "block.minecraft.banner.stripe_bottom.lime": "Lime Base", + "block.minecraft.banner.stripe_bottom.yellow": "Yellow Base", + "block.minecraft.banner.stripe_bottom.light_blue": "Light Blue Base", + "block.minecraft.banner.stripe_bottom.magenta": "Magenta Base", + "block.minecraft.banner.stripe_bottom.orange": "Orange Base", + "block.minecraft.banner.stripe_bottom.white": "White Base", + "block.minecraft.banner.stripe_top.black": "Black Chief", + "block.minecraft.banner.stripe_top.red": "Red Chief", + "block.minecraft.banner.stripe_top.green": "Green Chief", + "block.minecraft.banner.stripe_top.brown": "Brown Chief", + "block.minecraft.banner.stripe_top.blue": "Blue Chief", + "block.minecraft.banner.stripe_top.purple": "Purple Chief", + "block.minecraft.banner.stripe_top.cyan": "Cyan Chief", + "block.minecraft.banner.stripe_top.light_gray": "Light Gray Chief", + "block.minecraft.banner.stripe_top.gray": "Gray Chief", + "block.minecraft.banner.stripe_top.pink": "Pink Chief", + "block.minecraft.banner.stripe_top.lime": "Lime Chief", + "block.minecraft.banner.stripe_top.yellow": "Yellow Chief", + "block.minecraft.banner.stripe_top.light_blue": "Light Blue Chief", + "block.minecraft.banner.stripe_top.magenta": "Magenta Chief", + "block.minecraft.banner.stripe_top.orange": "Orange Chief", + "block.minecraft.banner.stripe_top.white": "White Chief", + "block.minecraft.banner.stripe_left.black": "Black Pale Dexter", + "block.minecraft.banner.stripe_left.red": "Red Pale Dexter", + "block.minecraft.banner.stripe_left.green": "Green Pale Dexter", + "block.minecraft.banner.stripe_left.brown": "Brown Pale Dexter", + "block.minecraft.banner.stripe_left.blue": "Blue Pale Dexter", + "block.minecraft.banner.stripe_left.purple": "Purple Pale Dexter", + "block.minecraft.banner.stripe_left.cyan": "Cyan Pale Dexter", + "block.minecraft.banner.stripe_left.light_gray": "Light Gray Pale Dexter", + "block.minecraft.banner.stripe_left.gray": "Gray Pale Dexter", + "block.minecraft.banner.stripe_left.pink": "Pink Pale Dexter", + "block.minecraft.banner.stripe_left.lime": "Lime Pale Dexter", + "block.minecraft.banner.stripe_left.yellow": "Yellow Pale Dexter", + "block.minecraft.banner.stripe_left.light_blue": "Light Blue Pale Dexter", + "block.minecraft.banner.stripe_left.magenta": "Magenta Pale Dexter", + "block.minecraft.banner.stripe_left.orange": "Orange Pale Dexter", + "block.minecraft.banner.stripe_left.white": "White Pale Dexter", + "block.minecraft.banner.stripe_right.black": "Black Pale Sinister", + "block.minecraft.banner.stripe_right.red": "Red Pale Sinister", + "block.minecraft.banner.stripe_right.green": "Green Pale Sinister", + "block.minecraft.banner.stripe_right.brown": "Brown Pale Sinister", + "block.minecraft.banner.stripe_right.blue": "Blue Pale Sinister", + "block.minecraft.banner.stripe_right.purple": "Purple Pale Sinister", + "block.minecraft.banner.stripe_right.cyan": "Cyan Pale Sinister", + "block.minecraft.banner.stripe_right.light_gray": "Light Gray Pale Sinister", + "block.minecraft.banner.stripe_right.gray": "Gray Pale Sinister", + "block.minecraft.banner.stripe_right.pink": "Pink Pale Sinister", + "block.minecraft.banner.stripe_right.lime": "Lime Pale Sinister", + "block.minecraft.banner.stripe_right.yellow": "Yellow Pale Sinister", + "block.minecraft.banner.stripe_right.light_blue": "Light Blue Pale Sinister", + "block.minecraft.banner.stripe_right.magenta": "Magenta Pale Sinister", + "block.minecraft.banner.stripe_right.orange": "Orange Pale Sinister", + "block.minecraft.banner.stripe_right.white": "White Pale Sinister", + "block.minecraft.banner.stripe_center.black": "Black Pale", + "block.minecraft.banner.stripe_center.red": "Red Pale", + "block.minecraft.banner.stripe_center.green": "Green Pale", + "block.minecraft.banner.stripe_center.brown": "Brown Pale", + "block.minecraft.banner.stripe_center.blue": "Blue Pale", + "block.minecraft.banner.stripe_center.purple": "Purple Pale", + "block.minecraft.banner.stripe_center.cyan": "Cyan Pale", + "block.minecraft.banner.stripe_center.light_gray": "Light Gray Pale", + "block.minecraft.banner.stripe_center.gray": "Gray Pale", + "block.minecraft.banner.stripe_center.pink": "Pink Pale", + "block.minecraft.banner.stripe_center.lime": "Lime Pale", + "block.minecraft.banner.stripe_center.yellow": "Yellow Pale", + "block.minecraft.banner.stripe_center.light_blue": "Light Blue Pale", + "block.minecraft.banner.stripe_center.magenta": "Magenta Pale", + "block.minecraft.banner.stripe_center.orange": "Orange Pale", + "block.minecraft.banner.stripe_center.white": "White Pale", + "block.minecraft.banner.stripe_middle.black": "Black Fess", + "block.minecraft.banner.stripe_middle.red": "Red Fess", + "block.minecraft.banner.stripe_middle.green": "Green Fess", + "block.minecraft.banner.stripe_middle.brown": "Brown Fess", + "block.minecraft.banner.stripe_middle.blue": "Blue Fess", + "block.minecraft.banner.stripe_middle.purple": "Purple Fess", + "block.minecraft.banner.stripe_middle.cyan": "Cyan Fess", + "block.minecraft.banner.stripe_middle.light_gray": "Light Gray Fess", + "block.minecraft.banner.stripe_middle.gray": "Gray Fess", + "block.minecraft.banner.stripe_middle.pink": "Pink Fess", + "block.minecraft.banner.stripe_middle.lime": "Lime Fess", + "block.minecraft.banner.stripe_middle.yellow": "Yellow Fess", + "block.minecraft.banner.stripe_middle.light_blue": "Light Blue Fess", + "block.minecraft.banner.stripe_middle.magenta": "Magenta Fess", + "block.minecraft.banner.stripe_middle.orange": "Orange Fess", + "block.minecraft.banner.stripe_middle.white": "White Fess", + "block.minecraft.banner.stripe_downright.black": "Black Bend", + "block.minecraft.banner.stripe_downright.red": "Red Bend", + "block.minecraft.banner.stripe_downright.green": "Green Bend", + "block.minecraft.banner.stripe_downright.brown": "Brown Bend", + "block.minecraft.banner.stripe_downright.blue": "Blue Bend", + "block.minecraft.banner.stripe_downright.purple": "Purple Bend", + "block.minecraft.banner.stripe_downright.cyan": "Cyan Bend", + "block.minecraft.banner.stripe_downright.light_gray": "Light Gray Bend", + "block.minecraft.banner.stripe_downright.gray": "Gray Bend", + "block.minecraft.banner.stripe_downright.pink": "Pink Bend", + "block.minecraft.banner.stripe_downright.lime": "Lime Bend", + "block.minecraft.banner.stripe_downright.yellow": "Yellow Bend", + "block.minecraft.banner.stripe_downright.light_blue": "Light Blue Bend", + "block.minecraft.banner.stripe_downright.magenta": "Magenta Bend", + "block.minecraft.banner.stripe_downright.orange": "Orange Bend", + "block.minecraft.banner.stripe_downright.white": "White Bend", + "block.minecraft.banner.stripe_downleft.black": "Black Bend Sinister", + "block.minecraft.banner.stripe_downleft.red": "Red Bend Sinister", + "block.minecraft.banner.stripe_downleft.green": "Green Bend Sinister", + "block.minecraft.banner.stripe_downleft.brown": "Brown Bend Sinister", + "block.minecraft.banner.stripe_downleft.blue": "Blue Bend Sinister", + "block.minecraft.banner.stripe_downleft.purple": "Purple Bend Sinister", + "block.minecraft.banner.stripe_downleft.cyan": "Cyan Bend Sinister", + "block.minecraft.banner.stripe_downleft.light_gray": "Light Gray Bend Sinister", + "block.minecraft.banner.stripe_downleft.gray": "Gray Bend Sinister", + "block.minecraft.banner.stripe_downleft.pink": "Pink Bend Sinister", + "block.minecraft.banner.stripe_downleft.lime": "Lime Bend Sinister", + "block.minecraft.banner.stripe_downleft.yellow": "Yellow Bend Sinister", + "block.minecraft.banner.stripe_downleft.light_blue": "Light Blue Bend Sinister", + "block.minecraft.banner.stripe_downleft.magenta": "Magenta Bend Sinister", + "block.minecraft.banner.stripe_downleft.orange": "Orange Bend Sinister", + "block.minecraft.banner.stripe_downleft.white": "White Bend Sinister", + "block.minecraft.banner.small_stripes.black": "Black Paly", + "block.minecraft.banner.small_stripes.red": "Red Paly", + "block.minecraft.banner.small_stripes.green": "Green Paly", + "block.minecraft.banner.small_stripes.brown": "Brown Paly", + "block.minecraft.banner.small_stripes.blue": "Blue Paly", + "block.minecraft.banner.small_stripes.purple": "Purple Paly", + "block.minecraft.banner.small_stripes.cyan": "Cyan Paly", + "block.minecraft.banner.small_stripes.light_gray": "Light Gray Paly", + "block.minecraft.banner.small_stripes.gray": "Gray Paly", + "block.minecraft.banner.small_stripes.pink": "Pink Paly", + "block.minecraft.banner.small_stripes.lime": "Lime Paly", + "block.minecraft.banner.small_stripes.yellow": "Yellow Paly", + "block.minecraft.banner.small_stripes.light_blue": "Light Blue Paly", + "block.minecraft.banner.small_stripes.magenta": "Magenta Paly", + "block.minecraft.banner.small_stripes.orange": "Orange Paly", + "block.minecraft.banner.small_stripes.white": "White Paly", + "block.minecraft.banner.cross.black": "Black Saltire", + "block.minecraft.banner.cross.red": "Red Saltire", + "block.minecraft.banner.cross.green": "Green Saltire", + "block.minecraft.banner.cross.brown": "Brown Saltire", + "block.minecraft.banner.cross.blue": "Blue Saltire", + "block.minecraft.banner.cross.purple": "Purple Saltire", + "block.minecraft.banner.cross.cyan": "Cyan Saltire", + "block.minecraft.banner.cross.light_gray": "Light Gray Saltire", + "block.minecraft.banner.cross.gray": "Gray Saltire", + "block.minecraft.banner.cross.pink": "Pink Saltire", + "block.minecraft.banner.cross.lime": "Lime Saltire", + "block.minecraft.banner.cross.yellow": "Yellow Saltire", + "block.minecraft.banner.cross.light_blue": "Light Blue Saltire", + "block.minecraft.banner.cross.magenta": "Magenta Saltire", + "block.minecraft.banner.cross.orange": "Orange Saltire", + "block.minecraft.banner.cross.white": "White Saltire", + "block.minecraft.banner.triangle_bottom.black": "Black Chevron", + "block.minecraft.banner.triangle_bottom.red": "Red Chevron", + "block.minecraft.banner.triangle_bottom.green": "Green Chevron", + "block.minecraft.banner.triangle_bottom.brown": "Brown Chevron", + "block.minecraft.banner.triangle_bottom.blue": "Blue Chevron", + "block.minecraft.banner.triangle_bottom.purple": "Purple Chevron", + "block.minecraft.banner.triangle_bottom.cyan": "Cyan Chevron", + "block.minecraft.banner.triangle_bottom.light_gray": "Light Gray Chevron", + "block.minecraft.banner.triangle_bottom.gray": "Gray Chevron", + "block.minecraft.banner.triangle_bottom.pink": "Pink Chevron", + "block.minecraft.banner.triangle_bottom.lime": "Lime Chevron", + "block.minecraft.banner.triangle_bottom.yellow": "Yellow Chevron", + "block.minecraft.banner.triangle_bottom.light_blue": "Light Blue Chevron", + "block.minecraft.banner.triangle_bottom.magenta": "Magenta Chevron", + "block.minecraft.banner.triangle_bottom.orange": "Orange Chevron", + "block.minecraft.banner.triangle_bottom.white": "White Chevron", + "block.minecraft.banner.triangle_top.black": "Black Inverted Chevron", + "block.minecraft.banner.triangle_top.red": "Red Inverted Chevron", + "block.minecraft.banner.triangle_top.green": "Green Inverted Chevron", + "block.minecraft.banner.triangle_top.brown": "Brown Inverted Chevron", + "block.minecraft.banner.triangle_top.blue": "Blue Inverted Chevron", + "block.minecraft.banner.triangle_top.purple": "Purple Inverted Chevron", + "block.minecraft.banner.triangle_top.cyan": "Cyan Inverted Chevron", + "block.minecraft.banner.triangle_top.light_gray": "Light Gray Inverted Chevron", + "block.minecraft.banner.triangle_top.gray": "Gray Inverted Chevron", + "block.minecraft.banner.triangle_top.pink": "Pink Inverted Chevron", + "block.minecraft.banner.triangle_top.lime": "Lime Inverted Chevron", + "block.minecraft.banner.triangle_top.yellow": "Yellow Inverted Chevron", + "block.minecraft.banner.triangle_top.light_blue": "Light Blue Inverted Chevron", + "block.minecraft.banner.triangle_top.magenta": "Magenta Inverted Chevron", + "block.minecraft.banner.triangle_top.orange": "Orange Inverted Chevron", + "block.minecraft.banner.triangle_top.white": "White Inverted Chevron", + "block.minecraft.banner.triangles_bottom.black": "Black Base Indented", + "block.minecraft.banner.triangles_bottom.red": "Red Base Indented", + "block.minecraft.banner.triangles_bottom.green": "Green Base Indented", + "block.minecraft.banner.triangles_bottom.brown": "Brown Base Indented", + "block.minecraft.banner.triangles_bottom.blue": "Blue Base Indented", + "block.minecraft.banner.triangles_bottom.purple": "Purple Base Indented", + "block.minecraft.banner.triangles_bottom.cyan": "Cyan Base Indented", + "block.minecraft.banner.triangles_bottom.light_gray": "Light Gray Base Indented", + "block.minecraft.banner.triangles_bottom.gray": "Gray Base Indented", + "block.minecraft.banner.triangles_bottom.pink": "Pink Base Indented", + "block.minecraft.banner.triangles_bottom.lime": "Lime Base Indented", + "block.minecraft.banner.triangles_bottom.yellow": "Yellow Base Indented", + "block.minecraft.banner.triangles_bottom.light_blue": "Light Blue Base Indented", + "block.minecraft.banner.triangles_bottom.magenta": "Magenta Base Indented", + "block.minecraft.banner.triangles_bottom.orange": "Orange Base Indented", + "block.minecraft.banner.triangles_bottom.white": "White Base Indented", + "block.minecraft.banner.triangles_top.black": "Black Chief Indented", + "block.minecraft.banner.triangles_top.red": "Red Chief Indented", + "block.minecraft.banner.triangles_top.green": "Green Chief Indented", + "block.minecraft.banner.triangles_top.brown": "Brown Chief Indented", + "block.minecraft.banner.triangles_top.blue": "Blue Chief Indented", + "block.minecraft.banner.triangles_top.purple": "Purple Chief Indented", + "block.minecraft.banner.triangles_top.cyan": "Cyan Chief Indented", + "block.minecraft.banner.triangles_top.light_gray": "Light Gray Chief Indented", + "block.minecraft.banner.triangles_top.gray": "Gray Chief Indented", + "block.minecraft.banner.triangles_top.pink": "Pink Chief Indented", + "block.minecraft.banner.triangles_top.lime": "Lime Chief Indented", + "block.minecraft.banner.triangles_top.yellow": "Yellow Chief Indented", + "block.minecraft.banner.triangles_top.light_blue": "Light Blue Chief Indented", + "block.minecraft.banner.triangles_top.magenta": "Magenta Chief Indented", + "block.minecraft.banner.triangles_top.orange": "Orange Chief Indented", + "block.minecraft.banner.triangles_top.white": "White Chief Indented", + "block.minecraft.banner.diagonal_left.black": "Black Per Bend Sinister", + "block.minecraft.banner.diagonal_left.red": "Red Per Bend Sinister", + "block.minecraft.banner.diagonal_left.green": "Green Per Bend Sinister", + "block.minecraft.banner.diagonal_left.brown": "Brown Per Bend Sinister", + "block.minecraft.banner.diagonal_left.blue": "Blue Per Bend Sinister", + "block.minecraft.banner.diagonal_left.purple": "Purple Per Bend Sinister", + "block.minecraft.banner.diagonal_left.cyan": "Cyan Per Bend Sinister", + "block.minecraft.banner.diagonal_left.light_gray": "Light Gray Per Bend Sinister", + "block.minecraft.banner.diagonal_left.gray": "Gray Per Bend Sinister", + "block.minecraft.banner.diagonal_left.pink": "Pink Per Bend Sinister", + "block.minecraft.banner.diagonal_left.lime": "Lime Per Bend Sinister", + "block.minecraft.banner.diagonal_left.yellow": "Yellow Per Bend Sinister", + "block.minecraft.banner.diagonal_left.light_blue": "Light Blue Per Bend Sinister", + "block.minecraft.banner.diagonal_left.magenta": "Magenta Per Bend Sinister", + "block.minecraft.banner.diagonal_left.orange": "Orange Per Bend Sinister", + "block.minecraft.banner.diagonal_left.white": "White Per Bend Sinister", + "block.minecraft.banner.diagonal_right.black": "Black Per Bend", + "block.minecraft.banner.diagonal_right.red": "Red Per Bend", + "block.minecraft.banner.diagonal_right.green": "Green Per Bend", + "block.minecraft.banner.diagonal_right.brown": "Brown Per Bend", + "block.minecraft.banner.diagonal_right.blue": "Blue Per Bend", + "block.minecraft.banner.diagonal_right.purple": "Purple Per Bend", + "block.minecraft.banner.diagonal_right.cyan": "Cyan Per Bend", + "block.minecraft.banner.diagonal_right.light_gray": "Light Gray Per Bend", + "block.minecraft.banner.diagonal_right.gray": "Gray Per Bend", + "block.minecraft.banner.diagonal_right.pink": "Pink Per Bend", + "block.minecraft.banner.diagonal_right.lime": "Lime Per Bend", + "block.minecraft.banner.diagonal_right.yellow": "Yellow Per Bend", + "block.minecraft.banner.diagonal_right.light_blue": "Light Blue Per Bend", + "block.minecraft.banner.diagonal_right.magenta": "Magenta Per Bend", + "block.minecraft.banner.diagonal_right.orange": "Orange Per Bend", + "block.minecraft.banner.diagonal_right.white": "White Per Bend", + "block.minecraft.banner.diagonal_up_left.black": "Black Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.red": "Red Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.green": "Green Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.brown": "Brown Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.blue": "Blue Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.purple": "Purple Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.cyan": "Cyan Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.light_gray": "Light Gray Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.gray": "Gray Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.pink": "Pink Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.lime": "Lime Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.yellow": "Yellow Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.light_blue": "Light Blue Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.magenta": "Magenta Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.orange": "Orange Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.white": "White Per Bend Inverted", + "block.minecraft.banner.diagonal_up_right.black": "Black Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.red": "Red Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.green": "Green Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.brown": "Brown Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.blue": "Blue Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.purple": "Purple Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.cyan": "Cyan Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.light_gray": "Light Gray Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.gray": "Gray Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.pink": "Pink Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.lime": "Lime Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.yellow": "Yellow Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.light_blue": "Light Blue Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.magenta": "Magenta Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.orange": "Orange Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.white": "White Per Bend Sinister Inverted", + "block.minecraft.banner.circle.black": "Black Roundel", + "block.minecraft.banner.circle.red": "Red Roundel", + "block.minecraft.banner.circle.green": "Green Roundel", + "block.minecraft.banner.circle.brown": "Brown Roundel", + "block.minecraft.banner.circle.blue": "Blue Roundel", + "block.minecraft.banner.circle.purple": "Purple Roundel", + "block.minecraft.banner.circle.cyan": "Cyan Roundel", + "block.minecraft.banner.circle.light_gray": "Light Gray Roundel", + "block.minecraft.banner.circle.gray": "Gray Roundel", + "block.minecraft.banner.circle.pink": "Pink Roundel", + "block.minecraft.banner.circle.lime": "Lime Roundel", + "block.minecraft.banner.circle.yellow": "Yellow Roundel", + "block.minecraft.banner.circle.light_blue": "Light Blue Roundel", + "block.minecraft.banner.circle.magenta": "Magenta Roundel", + "block.minecraft.banner.circle.orange": "Orange Roundel", + "block.minecraft.banner.circle.white": "White Roundel", + "block.minecraft.banner.rhombus.black": "Black Lozenge", + "block.minecraft.banner.rhombus.red": "Red Lozenge", + "block.minecraft.banner.rhombus.green": "Green Lozenge", + "block.minecraft.banner.rhombus.brown": "Brown Lozenge", + "block.minecraft.banner.rhombus.blue": "Blue Lozenge", + "block.minecraft.banner.rhombus.purple": "Purple Lozenge", + "block.minecraft.banner.rhombus.cyan": "Cyan Lozenge", + "block.minecraft.banner.rhombus.light_gray": "Light Gray Lozenge", + "block.minecraft.banner.rhombus.gray": "Gray Lozenge", + "block.minecraft.banner.rhombus.pink": "Pink Lozenge", + "block.minecraft.banner.rhombus.lime": "Lime Lozenge", + "block.minecraft.banner.rhombus.yellow": "Yellow Lozenge", + "block.minecraft.banner.rhombus.light_blue": "Light Blue Lozenge", + "block.minecraft.banner.rhombus.magenta": "Magenta Lozenge", + "block.minecraft.banner.rhombus.orange": "Orange Lozenge", + "block.minecraft.banner.rhombus.white": "White Lozenge", + "block.minecraft.banner.half_vertical.black": "Black Per Pale", + "block.minecraft.banner.half_vertical.red": "Red Per Pale", + "block.minecraft.banner.half_vertical.green": "Green Per Pale", + "block.minecraft.banner.half_vertical.brown": "Brown Per Pale", + "block.minecraft.banner.half_vertical.blue": "Blue Per Pale", + "block.minecraft.banner.half_vertical.purple": "Purple Per Pale", + "block.minecraft.banner.half_vertical.cyan": "Cyan Per Pale", + "block.minecraft.banner.half_vertical.light_gray": "Light Gray Per Pale", + "block.minecraft.banner.half_vertical.gray": "Gray Per Pale", + "block.minecraft.banner.half_vertical.pink": "Pink Per Pale", + "block.minecraft.banner.half_vertical.lime": "Lime Per Pale", + "block.minecraft.banner.half_vertical.yellow": "Yellow Per Pale", + "block.minecraft.banner.half_vertical.light_blue": "Light Blue Per Pale", + "block.minecraft.banner.half_vertical.magenta": "Magenta Per Pale", + "block.minecraft.banner.half_vertical.orange": "Orange Per Pale", + "block.minecraft.banner.half_vertical.white": "White Per Pale", + "block.minecraft.banner.half_horizontal.black": "Black Per Fess", + "block.minecraft.banner.half_horizontal.red": "Red Per Fess", + "block.minecraft.banner.half_horizontal.green": "Green Per Fess", + "block.minecraft.banner.half_horizontal.brown": "Brown Per Fess", + "block.minecraft.banner.half_horizontal.blue": "Blue Per Fess", + "block.minecraft.banner.half_horizontal.purple": "Purple Per Fess", + "block.minecraft.banner.half_horizontal.cyan": "Cyan Per Fess", + "block.minecraft.banner.half_horizontal.light_gray": "Light Gray Per Fess", + "block.minecraft.banner.half_horizontal.gray": "Gray Per Fess", + "block.minecraft.banner.half_horizontal.pink": "Pink Per Fess", + "block.minecraft.banner.half_horizontal.lime": "Lime Per Fess", + "block.minecraft.banner.half_horizontal.yellow": "Yellow Per Fess", + "block.minecraft.banner.half_horizontal.light_blue": "Light Blue Per Fess", + "block.minecraft.banner.half_horizontal.magenta": "Magenta Per Fess", + "block.minecraft.banner.half_horizontal.orange": "Orange Per Fess", + "block.minecraft.banner.half_horizontal.white": "White Per Fess", + "block.minecraft.banner.half_vertical_right.black": "Black Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.red": "Red Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.green": "Green Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.brown": "Brown Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.blue": "Blue Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.purple": "Purple Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.cyan": "Cyan Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.light_gray": "Light Gray Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.gray": "Gray Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.pink": "Pink Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.lime": "Lime Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.yellow": "Yellow Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.light_blue": "Light Blue Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.magenta": "Magenta Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.orange": "Orange Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.white": "White Per Pale Inverted", + "block.minecraft.banner.half_horizontal_bottom.black": "Black Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.red": "Red Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.green": "Green Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.brown": "Brown Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.blue": "Blue Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.purple": "Purple Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.cyan": "Cyan Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.light_gray": "Light Gray Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.gray": "Gray Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.pink": "Pink Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.lime": "Lime Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.yellow": "Yellow Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.light_blue": "Light Blue Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.magenta": "Magenta Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.orange": "Orange Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.white": "White Per Fess Inverted", + "block.minecraft.banner.creeper.black": "Black Creeper Charge", + "block.minecraft.banner.creeper.red": "Red Creeper Charge", + "block.minecraft.banner.creeper.green": "Green Creeper Charge", + "block.minecraft.banner.creeper.brown": "Brown Creeper Charge", + "block.minecraft.banner.creeper.blue": "Blue Creeper Charge", + "block.minecraft.banner.creeper.purple": "Purple Creeper Charge", + "block.minecraft.banner.creeper.cyan": "Cyan Creeper Charge", + "block.minecraft.banner.creeper.light_gray": "Light Gray Creeper Charge", + "block.minecraft.banner.creeper.gray": "Gray Creeper Charge", + "block.minecraft.banner.creeper.pink": "Pink Creeper Charge", + "block.minecraft.banner.creeper.lime": "Lime Creeper Charge", + "block.minecraft.banner.creeper.yellow": "Yellow Creeper Charge", + "block.minecraft.banner.creeper.light_blue": "Light Blue Creeper Charge", + "block.minecraft.banner.creeper.magenta": "Magenta Creeper Charge", + "block.minecraft.banner.creeper.orange": "Orange Creeper Charge", + "block.minecraft.banner.creeper.white": "White Creeper Charge", + "block.minecraft.banner.bricks.black": "Black Field Masoned", + "block.minecraft.banner.bricks.red": "Red Field Masoned", + "block.minecraft.banner.bricks.green": "Green Field Masoned", + "block.minecraft.banner.bricks.brown": "Brown Field Masoned", + "block.minecraft.banner.bricks.blue": "Blue Field Masoned", + "block.minecraft.banner.bricks.purple": "Purple Field Masoned", + "block.minecraft.banner.bricks.cyan": "Cyan Field Masoned", + "block.minecraft.banner.bricks.light_gray": "Light Gray Field Masoned", + "block.minecraft.banner.bricks.gray": "Gray Field Masoned", + "block.minecraft.banner.bricks.pink": "Pink Field Masoned", + "block.minecraft.banner.bricks.lime": "Lime Field Masoned", + "block.minecraft.banner.bricks.yellow": "Yellow Field Masoned", + "block.minecraft.banner.bricks.light_blue": "Light Blue Field Masoned", + "block.minecraft.banner.bricks.magenta": "Magenta Field Masoned", + "block.minecraft.banner.bricks.orange": "Orange Field Masoned", + "block.minecraft.banner.bricks.white": "White Field Masoned", + "block.minecraft.banner.gradient.black": "Black Gradient", + "block.minecraft.banner.gradient.red": "Red Gradient", + "block.minecraft.banner.gradient.green": "Green Gradient", + "block.minecraft.banner.gradient.brown": "Brown Gradient", + "block.minecraft.banner.gradient.blue": "Blue Gradient", + "block.minecraft.banner.gradient.purple": "Purple Gradient", + "block.minecraft.banner.gradient.cyan": "Cyan Gradient", + "block.minecraft.banner.gradient.light_gray": "Light Gray Gradient", + "block.minecraft.banner.gradient.gray": "Gray Gradient", + "block.minecraft.banner.gradient.pink": "Pink Gradient", + "block.minecraft.banner.gradient.lime": "Lime Gradient", + "block.minecraft.banner.gradient.yellow": "Yellow Gradient", + "block.minecraft.banner.gradient.light_blue": "Light Blue Gradient", + "block.minecraft.banner.gradient.magenta": "Magenta Gradient", + "block.minecraft.banner.gradient.orange": "Orange Gradient", + "block.minecraft.banner.gradient.white": "White Gradient", + "block.minecraft.banner.gradient_up.black": "Black Base Gradient", + "block.minecraft.banner.gradient_up.red": "Red Base Gradient", + "block.minecraft.banner.gradient_up.green": "Green Base Gradient", + "block.minecraft.banner.gradient_up.brown": "Brown Base Gradient", + "block.minecraft.banner.gradient_up.blue": "Blue Base Gradient", + "block.minecraft.banner.gradient_up.purple": "Purple Base Gradient", + "block.minecraft.banner.gradient_up.cyan": "Cyan Base Gradient", + "block.minecraft.banner.gradient_up.light_gray": "Light Gray Base Gradient", + "block.minecraft.banner.gradient_up.gray": "Gray Base Gradient", + "block.minecraft.banner.gradient_up.pink": "Pink Base Gradient", + "block.minecraft.banner.gradient_up.lime": "Lime Base Gradient", + "block.minecraft.banner.gradient_up.yellow": "Yellow Base Gradient", + "block.minecraft.banner.gradient_up.light_blue": "Light Blue Base Gradient", + "block.minecraft.banner.gradient_up.magenta": "Magenta Base Gradient", + "block.minecraft.banner.gradient_up.orange": "Orange Base Gradient", + "block.minecraft.banner.gradient_up.white": "White Base Gradient", + "block.minecraft.banner.skull.black": "Black Skull Charge", + "block.minecraft.banner.skull.red": "Red Skull Charge", + "block.minecraft.banner.skull.green": "Green Skull Charge", + "block.minecraft.banner.skull.brown": "Brown Skull Charge", + "block.minecraft.banner.skull.blue": "Blue Skull Charge", + "block.minecraft.banner.skull.purple": "Purple Skull Charge", + "block.minecraft.banner.skull.cyan": "Cyan Skull Charge", + "block.minecraft.banner.skull.light_gray": "Light Gray Skull Charge", + "block.minecraft.banner.skull.gray": "Gray Skull Charge", + "block.minecraft.banner.skull.pink": "Pink Skull Charge", + "block.minecraft.banner.skull.lime": "Lime Skull Charge", + "block.minecraft.banner.skull.yellow": "Yellow Skull Charge", + "block.minecraft.banner.skull.light_blue": "Light Blue Skull Charge", + "block.minecraft.banner.skull.magenta": "Magenta Skull Charge", + "block.minecraft.banner.skull.orange": "Orange Skull Charge", + "block.minecraft.banner.skull.white": "White Skull Charge", + "block.minecraft.banner.flower.black": "Black Flower Charge", + "block.minecraft.banner.flower.red": "Red Flower Charge", + "block.minecraft.banner.flower.green": "Green Flower Charge", + "block.minecraft.banner.flower.brown": "Brown Flower Charge", + "block.minecraft.banner.flower.blue": "Blue Flower Charge", + "block.minecraft.banner.flower.purple": "Purple Flower Charge", + "block.minecraft.banner.flower.cyan": "Cyan Flower Charge", + "block.minecraft.banner.flower.light_gray": "Light Gray Flower Charge", + "block.minecraft.banner.flower.gray": "Gray Flower Charge", + "block.minecraft.banner.flower.pink": "Pink Flower Charge", + "block.minecraft.banner.flower.lime": "Lime Flower Charge", + "block.minecraft.banner.flower.yellow": "Yellow Flower Charge", + "block.minecraft.banner.flower.light_blue": "Light Blue Flower Charge", + "block.minecraft.banner.flower.magenta": "Magenta Flower Charge", + "block.minecraft.banner.flower.orange": "Orange Flower Charge", + "block.minecraft.banner.flower.white": "White Flower Charge", + "block.minecraft.banner.border.black": "Black Bordure", + "block.minecraft.banner.border.red": "Red Bordure", + "block.minecraft.banner.border.green": "Green Bordure", + "block.minecraft.banner.border.brown": "Brown Bordure", + "block.minecraft.banner.border.blue": "Blue Bordure", + "block.minecraft.banner.border.purple": "Purple Bordure", + "block.minecraft.banner.border.cyan": "Cyan Bordure", + "block.minecraft.banner.border.light_gray": "Light Gray Bordure", + "block.minecraft.banner.border.gray": "Gray Bordure", + "block.minecraft.banner.border.pink": "Pink Bordure", + "block.minecraft.banner.border.lime": "Lime Bordure", + "block.minecraft.banner.border.yellow": "Yellow Bordure", + "block.minecraft.banner.border.light_blue": "Light Blue Bordure", + "block.minecraft.banner.border.magenta": "Magenta Bordure", + "block.minecraft.banner.border.orange": "Orange Bordure", + "block.minecraft.banner.border.white": "White Bordure", + "block.minecraft.banner.curly_border.black": "Black Bordure Indented", + "block.minecraft.banner.curly_border.red": "Red Bordure Indented", + "block.minecraft.banner.curly_border.green": "Green Bordure Indented", + "block.minecraft.banner.curly_border.brown": "Brown Bordure Indented", + "block.minecraft.banner.curly_border.blue": "Blue Bordure Indented", + "block.minecraft.banner.curly_border.purple": "Purple Bordure Indented", + "block.minecraft.banner.curly_border.cyan": "Cyan Bordure Indented", + "block.minecraft.banner.curly_border.light_gray": "Light Gray Bordure Indented", + "block.minecraft.banner.curly_border.gray": "Gray Bordure Indented", + "block.minecraft.banner.curly_border.pink": "Pink Bordure Indented", + "block.minecraft.banner.curly_border.lime": "Lime Bordure Indented", + "block.minecraft.banner.curly_border.yellow": "Yellow Bordure Indented", + "block.minecraft.banner.curly_border.light_blue": "Light Blue Bordure Indented", + "block.minecraft.banner.curly_border.magenta": "Magenta Bordure Indented", + "block.minecraft.banner.curly_border.orange": "Orange Bordure Indented", + "block.minecraft.banner.curly_border.white": "White Bordure Indented", + "block.minecraft.banner.mojang.black": "Black Thing", + "block.minecraft.banner.mojang.red": "Red Thing", + "block.minecraft.banner.mojang.green": "Green Thing", + "block.minecraft.banner.mojang.brown": "Brown Thing", + "block.minecraft.banner.mojang.blue": "Blue Thing", + "block.minecraft.banner.mojang.purple": "Purple Thing", + "block.minecraft.banner.mojang.cyan": "Cyan Thing", + "block.minecraft.banner.mojang.light_gray": "Light Gray Thing", + "block.minecraft.banner.mojang.gray": "Gray Thing", + "block.minecraft.banner.mojang.pink": "Pink Thing", + "block.minecraft.banner.mojang.lime": "Lime Thing", + "block.minecraft.banner.mojang.yellow": "Yellow Thing", + "block.minecraft.banner.mojang.light_blue": "Light Blue Thing", + "block.minecraft.banner.mojang.magenta": "Magenta Thing", + "block.minecraft.banner.mojang.orange": "Orange Thing", + "block.minecraft.banner.mojang.white": "White Thing", + "block.minecraft.banner.straight_cross.black": "Black Cross", + "block.minecraft.banner.straight_cross.red": "Red Cross", + "block.minecraft.banner.straight_cross.green": "Green Cross", + "block.minecraft.banner.straight_cross.brown": "Brown Cross", + "block.minecraft.banner.straight_cross.blue": "Blue Cross", + "block.minecraft.banner.straight_cross.purple": "Purple Cross", + "block.minecraft.banner.straight_cross.cyan": "Cyan Cross", + "block.minecraft.banner.straight_cross.light_gray": "Light Gray Cross", + "block.minecraft.banner.straight_cross.gray": "Gray Cross", + "block.minecraft.banner.straight_cross.pink": "Pink Cross", + "block.minecraft.banner.straight_cross.lime": "Lime Cross", + "block.minecraft.banner.straight_cross.yellow": "Yellow Cross", + "block.minecraft.banner.straight_cross.light_blue": "Light Blue Cross", + "block.minecraft.banner.straight_cross.magenta": "Magenta Cross", + "block.minecraft.banner.straight_cross.orange": "Orange Cross", + "block.minecraft.banner.straight_cross.white": "White Cross", + "subtitles.ambient.cave": "Eerie noise", + "subtitles.block.anvil.destroy": "Anvil destroyed", + "subtitles.block.anvil.land": "Anvil landed", + "subtitles.block.anvil.use": "Anvil used", + "subtitles.block.brewing_stand.brew": "Brewing Stand bubbles", + "subtitles.block.bubble_column.bubble_pop": "Bubbles pop", + "subtitles.block.bubble_column.upwards_ambient": "Bubbles flow", + "subtitles.block.bubble_column.upwards_inside": "Bubbles woosh", + "subtitles.block.bubble_column.whirlpool_ambient": "Bubbles whirl", + "subtitles.block.bubble_column.whirlpool_inside": "Bubbles zoom", + "subtitles.block.button.click": "Button clicks", + "subtitles.block.chest.close": "Chest closes", + "subtitles.block.chest.locked": "Chest locked", + "subtitles.block.chest.open": "Chest opens", + "subtitles.block.chorus_flower.death": "Chorus Flower withers", + "subtitles.block.chorus_flower.grow": "Chorus Flower grows", + "subtitles.block.comparator.click": "Comparator clicks", + "subtitles.block.dispenser.dispense": "Dispensed item", + "subtitles.block.dispenser.fail": "Dispenser failed", + "subtitles.block.door.toggle": "Door creaks", + "subtitles.block.fence_gate.toggle": "Fence Gate creaks", + "subtitles.block.fire.ambient": "Fire crackles", + "subtitles.block.fire.extinguish": "Fire extinguished", + "subtitles.block.furnace.fire_crackle": "Furnace crackles", + "subtitles.block.generic.break": "Block broken", + "subtitles.block.generic.footsteps": "Footsteps", + "subtitles.block.generic.hit": "Block breaking", + "subtitles.block.generic.place": "Block placed", + "subtitles.block.iron_trapdoor.close": "Trapdoor opens", + "subtitles.block.iron_trapdoor.open": "Trapdoor closes", + "subtitles.block.lava.ambient": "Lava pops", + "subtitles.block.lava.extinguish": "Lava hisses", + "subtitles.block.lever.click": "Lever clicks", + "subtitles.block.note_block.note": "Note Block plays", + "subtitles.block.piston.move": "Piston moves", + "subtitles.block.portal.ambient": "Portal whooshes", + "subtitles.block.pressure_plate.click": "Pressure Plate clicks", + "subtitles.block.redstone_torch.burnout": "Torch fizzes", + "subtitles.block.shulker_box.close": "Shulker closes", + "subtitles.block.shulker_box.open": "Shulker opens", + "subtitles.block.trapdoor.toggle": "Trapdoor creaks", + "subtitles.block.tripwire.attach": "Tripwire attaches", + "subtitles.block.tripwire.click": "Tripwire clicks", + "subtitles.block.tripwire.detach": "Tripwire detaches", + "subtitles.block.water.ambient": "Water flows", + "subtitles.enchant.thorns.hit": "Thorns prick", + "subtitles.entity.armor_stand.fall": "Something fell", + "subtitles.entity.arrow.hit": "Arrow hits", + "subtitles.entity.arrow.hit_player": "Player hit", + "subtitles.entity.arrow.shoot": "Arrow fired", + "subtitles.entity.bat.ambient": "Bat screeches", + "subtitles.entity.bat.death": "Bat dies", + "subtitles.entity.bat.hurt": "Bat hurts", + "subtitles.entity.bat.takeoff": "Bat takes off", + "subtitles.entity.blaze.ambient": "Blaze breathes", + "subtitles.entity.blaze.burn": "Blaze crackles", + "subtitles.entity.blaze.death": "Blaze dies", + "subtitles.entity.blaze.hurt": "Blaze hurts", + "subtitles.entity.blaze.shoot": "Blaze shoots", + "subtitles.entity.fishing_bobber.splash": "Fishing Bobber splashes", + "subtitles.entity.fishing_bobber.throw": "Bobber thrown", + "subtitles.entity.cat.ambient": "Cat meows", + "subtitles.entity.cat.death": "Cat dies", + "subtitles.entity.cat.hurt": "Cat hurts", + "subtitles.entity.chicken.ambient": "Chicken clucks", + "subtitles.entity.chicken.death": "Chicken dies", + "subtitles.entity.chicken.egg": "Chicken plops", + "subtitles.entity.chicken.hurt": "Chicken hurts", + "subtitles.entity.parrot.ambient": "Parrot talks", + "subtitles.entity.parrot.death": "Parrot dies", + "subtitles.entity.parrot.eats": "Parrot eats", + "subtitles.entity.parrot.hurts": "Parrot hurts", + "subtitles.entity.parrot.imitate.blaze": "Parrot breathes", + "subtitles.entity.parrot.imitate.creeper": "Parrot hisses", + "subtitles.entity.parrot.imitate.drowned": "Parrot gurgles", + "subtitles.entity.parrot.imitate.elder_guardian": "Parrot flaps", + "subtitles.entity.parrot.imitate.ender_dragon": "Parrot roars", + "subtitles.entity.parrot.imitate.enderman": "Parrot vwoops", + "subtitles.entity.parrot.imitate.endermite": "Parrot scuttles", + "subtitles.entity.parrot.imitate.evoker": "Parrot murmurs", + "subtitles.entity.parrot.imitate.ghast": "Parrot cries", + "subtitles.entity.parrot.imitate.husk": "Parrot groans", + "subtitles.entity.parrot.imitate.illusioner": "Parrot murmurs", + "subtitles.entity.parrot.imitate.magma_cube": "Parrot squishes", + "subtitles.entity.parrot.imitate.phantom": "Parrot screeches", + "subtitles.entity.parrot.imitate.polar_bear": "Parrot groans", + "subtitles.entity.parrot.imitate.shulker": "Parrot lurks", + "subtitles.entity.parrot.imitate.silverfish": "Parrot hisses", + "subtitles.entity.parrot.imitate.skeleton": "Parrot rattles", + "subtitles.entity.parrot.imitate.slime": "Parrot squishes", + "subtitles.entity.parrot.imitate.spider": "Parrot hisses", + "subtitles.entity.parrot.imitate.stray": "Parrot rattles", + "subtitles.entity.parrot.imitate.vex": "Parrot vexes", + "subtitles.entity.parrot.imitate.vindicator": "Parrot mutters", + "subtitles.entity.parrot.imitate.witch": "Parrot giggles", + "subtitles.entity.parrot.imitate.wither": "Parrot angers", + "subtitles.entity.parrot.imitate.wither_skeleton": "Parrot rattles", + "subtitles.entity.parrot.imitate.wolf": "Parrot pants", + "subtitles.entity.parrot.imitate.zombie": "Parrot groans", + "subtitles.entity.parrot.imitate.zombie_pigman": "Parrot grunts", + "subtitles.entity.parrot.imitate.zombie_villager": "Parrot groans", + "subtitles.entity.cod.death": "Cod dies", + "subtitles.entity.cod.flop": "Cod flops", + "subtitles.entity.cod.hurt": "Cod hurts", + "subtitles.entity.cow.ambient": "Cow moos", + "subtitles.entity.cow.death": "Cow dies", + "subtitles.entity.cow.hurt": "Cow hurts", + "subtitles.entity.cow.milk": "Cow gets milked", + "subtitles.entity.creeper.death": "Creeper dies", + "subtitles.entity.creeper.hurt": "Creeper hurts", + "subtitles.entity.creeper.primed": "Creeper hisses", + "subtitles.entity.dolphin.ambient": "Dolphin chirps", + "subtitles.entity.dolphin.ambient_water": "Dolphin whistles", + "subtitles.entity.dolphin.attack": "Dolphin attacks", + "subtitles.entity.dolphin.death": "Dolphin dies", + "subtitles.entity.dolphin.eat": "Dolphin eats", + "subtitles.entity.dolphin.hurt": "Dolphin hurts", + "subtitles.entity.dolphin.jump": "Dolphin jumps", + "subtitles.entity.dolphin.play": "Dolphin plays", + "subtitles.entity.dolphin.splash": "Dolphin splashes", + "subtitles.entity.dolphin.swim": "Dolphin swims", + "subtitles.entity.donkey.ambient": "Donkey hee-haws", + "subtitles.entity.donkey.angry": "Donkey neighs", + "subtitles.entity.donkey.chest": "Donkey Chest equips", + "subtitles.entity.donkey.death": "Donkey dies", + "subtitles.entity.donkey.hurt": "Donkey hurts", + "subtitles.entity.drowned.ambient": "Drowned gurgles", + "subtitles.entity.drowned.death": "Drowned dies", + "subtitles.entity.drowned.hurt": "Drowned hurts", + "subtitles.entity.drowned.shoot": "Drowned throws Trident", + "subtitles.entity.drowned.step": "Drowned steps", + "subtitles.entity.drowned.swim": "Drowned swims", + "subtitles.entity.egg.throw": "Egg flies", + "subtitles.entity.elder_guardian.ambient_land": "Elder Guardian flaps", + "subtitles.entity.elder_guardian.ambient": "Elder Guardian moans", + "subtitles.entity.elder_guardian.curse": "Elder Guardian curses", + "subtitles.entity.elder_guardian.death": "Elder Guardian dies", + "subtitles.entity.elder_guardian.flop": "Elder Guardian flops", + "subtitles.entity.elder_guardian.hurt": "Elder Guardian hurts", + "subtitles.entity.ender_dragon.ambient": "Dragon roars", + "subtitles.entity.ender_dragon.death": "Dragon dies", + "subtitles.entity.ender_dragon.flap": "Dragon flaps", + "subtitles.entity.ender_dragon.growl": "Dragon growls", + "subtitles.entity.ender_dragon.hurt": "Dragon hurts", + "subtitles.entity.ender_dragon.shoot": "Dragon shoots", + "subtitles.entity.ender_eye.launch": "Eye of Ender shoots", + "subtitles.entity.enderman.ambient": "Enderman vwoops", + "subtitles.entity.enderman.death": "Enderman dies", + "subtitles.entity.enderman.hurt": "Enderman hurts", + "subtitles.entity.enderman.stare": "Enderman cries out", + "subtitles.entity.enderman.teleport": "Enderman teleports", + "subtitles.entity.endermite.ambient": "Endermite scuttles", + "subtitles.entity.endermite.death": "Endermite dies", + "subtitles.entity.endermite.hurt": "Endermite hurts", + "subtitles.entity.ender_pearl.throw": "Ender Pearl flies", + "subtitles.entity.evoker_fangs.attack": "Fangs snap", + "subtitles.entity.evoker.ambient": "Evoker murmurs", + "subtitles.entity.evoker.cast_spell": "Evoker casts spell", + "subtitles.entity.evoker.death": "Evoker dies", + "subtitles.entity.evoker.hurt": "Evoker hurts", + "subtitles.entity.evoker.prepare_attack": "Evoker prepares attack", + "subtitles.entity.evoker.prepare_summon": "Evoker prepares summoning", + "subtitles.entity.evoker.prepare_wololo": "Evoker prepares charming", + "subtitles.entity.experience_orb.pickup": "Experience gained", + "subtitles.entity.firework_rocket.blast": "Firework blasts", + "subtitles.entity.firework_rocket.launch": "Firework launches", + "subtitles.entity.firework_rocket.twinkle": "Firework twinkles", + "subtitles.entity.generic.big_fall": "Something fell", + "subtitles.entity.generic.burn": "Burning", + "subtitles.entity.generic.death": "Dying", + "subtitles.entity.generic.drink": "Sipping", + "subtitles.entity.generic.eat": "Eating", + "subtitles.entity.generic.explode": "Explosion", + "subtitles.entity.generic.extinguish_fire": "Fire extinguishes", + "subtitles.entity.generic.hurt": "Something hurts", + "subtitles.entity.generic.small_fall": "Something trips", + "subtitles.entity.generic.splash": "Splashing", + "subtitles.entity.generic.swim": "Swimming", + "subtitles.entity.ghast.ambient": "Ghast cries", + "subtitles.entity.ghast.death": "Ghast dies", + "subtitles.entity.ghast.hurt": "Ghast hurts", + "subtitles.entity.ghast.shoot": "Ghast shoots", + "subtitles.entity.guardian.ambient_land": "Guardian flaps", + "subtitles.entity.guardian.ambient": "Guardian moans", + "subtitles.entity.guardian.attack": "Guardian shoots", + "subtitles.entity.guardian.death": "Guardian dies", + "subtitles.entity.guardian.flop": "Guardian flops", + "subtitles.entity.guardian.hurt": "Guardian hurts", + "subtitles.entity.horse.ambient": "Horse neighs", + "subtitles.entity.horse.angry": "Horse neighs", + "subtitles.entity.horse.armor": "Horse armor equips", + "subtitles.entity.horse.breathe": "Horse breathes", + "subtitles.entity.horse.death": "Horse dies", + "subtitles.entity.horse.eat": "Horse eats", + "subtitles.entity.horse.gallop": "Horse gallops", + "subtitles.entity.horse.hurt": "Horse hurts", + "subtitles.entity.horse.jump": "Horse jumps", + "subtitles.entity.horse.saddle": "Saddle equips", + "subtitles.entity.husk.ambient": "Husk groans", + "subtitles.entity.husk.converted_to_zombie": "Husk converted to Zombie", + "subtitles.entity.husk.death": "Husk dies", + "subtitles.entity.husk.hurt": "Husk hurts", + "subtitles.entity.illusioner.ambient": "Illusioner murmurs", + "subtitles.entity.illusioner.cast_spell": "Illusioner casts spell", + "subtitles.entity.illusioner.death": "Illusioner dies", + "subtitles.entity.illusioner.hurt": "Illusioner hurts", + "subtitles.entity.illusioner.mirror_move": "Illusioner displaces", + "subtitles.entity.illusioner.prepare_blindness": "Illusioner prepares blindness", + "subtitles.entity.illusioner.prepare_mirror": "Illusioner prepares mirror image", + "subtitles.entity.iron_golem.attack": "Iron Golem attacks", + "subtitles.entity.iron_golem.death": "Iron Golem dies", + "subtitles.entity.iron_golem.hurt": "Iron Golem hurts", + "subtitles.entity.item.break": "Item breaks", + "subtitles.entity.item.pickup": "Item plops", + "subtitles.entity.item_frame.add_item": "Item Frame fills", + "subtitles.entity.item_frame.break": "Item Frame breaks", + "subtitles.entity.item_frame.place": "Item Frame placed", + "subtitles.entity.item_frame.remove_item": "Item Frame empties", + "subtitles.entity.item_frame.rotate_item": "Item Frame clicks", + "subtitles.entity.leash_knot.break": "Leash knot breaks", + "subtitles.entity.leash_knot.place": "Leash knot tied", + "subtitles.entity.lightning_bolt.impact": "Lightning strikes", + "subtitles.entity.lightning_bolt.thunder": "Thunder roars", + "subtitles.entity.llama.ambient": "Llama bleats", + "subtitles.entity.llama.angry": "Llama bleats angrily", + "subtitles.entity.llama.chest": "Llama Chest equips", + "subtitles.entity.llama.death": "Llama dies", + "subtitles.entity.llama.eat": "Llama eats", + "subtitles.entity.llama.hurt": "Llama hurts", + "subtitles.entity.llama.spit": "Llama spits", + "subtitles.entity.llama.step": "Llama steps", + "subtitles.entity.llama.swag": "Llama is decorated", + "subtitles.entity.magma_cube.death": "Magma Cube dies", + "subtitles.entity.magma_cube.hurt": "Magma Cube hurts", + "subtitles.entity.magma_cube.squish": "Magma Cube squishes", + "subtitles.entity.minecart.riding": "Minecart rolls", + "subtitles.entity.mule.ambient": "Mule hee-haws", + "subtitles.entity.mule.chest": "Mule Chest equips", + "subtitles.entity.mule.death": "Mule dies", + "subtitles.entity.mule.hurt": "Mule hurts", + "subtitles.entity.painting.break": "Painting breaks", + "subtitles.entity.painting.place": "Painting placed", + "subtitles.entity.phantom.ambient": "Phantom screeches", + "subtitles.entity.phantom.bite": "Phantom bites", + "subtitles.entity.phantom.death": "Phantom dies", + "subtitles.entity.phantom.flap": "Phantom flaps", + "subtitles.entity.phantom.hurt": "Phantom hurts", + "subtitles.entity.phantom.swoop": "Phantom swoops", + "subtitles.entity.pig.ambient": "Pig oinks", + "subtitles.entity.pig.death": "Pig dies", + "subtitles.entity.pig.hurt": "Pig hurts", + "subtitles.entity.pig.saddle": "Saddle equips", + "subtitles.entity.player.burp": "Burp", + "subtitles.entity.player.death": "Player dies", + "subtitles.entity.player.hurt": "Player hurts", + "subtitles.entity.player.levelup": "Player dings", + "subtitles.entity.polar_bear.ambient": "Polar Bear groans", + "subtitles.entity.polar_bear.ambient_baby": "Polar Bear hums", + "subtitles.entity.polar_bear.death": "Polar Bear dies", + "subtitles.entity.polar_bear.hurt": "Polar Bear hurts", + "subtitles.entity.polar_bear.warning": "Polar Bear roars", + "subtitles.entity.potion.splash": "Bottle smashes", + "subtitles.entity.potion.throw": "Bottle thrown", + "subtitles.entity.puffer_fish.blow_out": "Pufferfish deflates", + "subtitles.entity.puffer_fish.blow_up": "Pufferfish inflates", + "subtitles.entity.puffer_fish.death": "Pufferfish dies", + "subtitles.entity.puffer_fish.flop": "Pufferfish flops", + "subtitles.entity.puffer_fish.hurt": "Pufferfish hurts", + "subtitles.entity.puffer_fish.sting": "Pufferfish stings", + "subtitles.entity.rabbit.ambient": "Rabbit squeaks", + "subtitles.entity.rabbit.attack": "Rabbit attacks", + "subtitles.entity.rabbit.death": "Rabbit dies", + "subtitles.entity.rabbit.hurt": "Rabbit hurts", + "subtitles.entity.rabbit.jump": "Rabbit hops", + "subtitles.entity.salmon.death": "Salmon dies", + "subtitles.entity.salmon.flop": "Salmon flops", + "subtitles.entity.salmon.hurt": "Salmon hurts", + "subtitles.entity.sheep.ambient": "Sheep baahs", + "subtitles.entity.sheep.death": "Sheep dies", + "subtitles.entity.sheep.hurt": "Sheep hurts", + "subtitles.entity.shulker.ambient": "Shulker lurks", + "subtitles.entity.shulker.close": "Shulker closes", + "subtitles.entity.shulker.death": "Shulker dies", + "subtitles.entity.shulker.hurt": "Shulker hurts", + "subtitles.entity.shulker.open": "Shulker opens", + "subtitles.entity.shulker.shoot": "Shulker shoots", + "subtitles.entity.shulker.teleport": "Shulker teleports", + "subtitles.entity.shulker_bullet.hit": "Shulker bullet explodes", + "subtitles.entity.shulker_bullet.hurt": "Shulker bullet breaks", + "subtitles.entity.silverfish.ambient": "Silverfish hisses", + "subtitles.entity.silverfish.death": "Silverfish dies", + "subtitles.entity.silverfish.hurt": "Silverfish hurts", + "subtitles.entity.skeleton.ambient": "Skeleton rattles", + "subtitles.entity.skeleton.death": "Skeleton dies", + "subtitles.entity.skeleton.hurt": "Skeleton hurts", + "subtitles.entity.skeleton.shoot": "Skeleton shoots", + "subtitles.entity.skeleton_horse.ambient": "Skeleton Horse cries", + "subtitles.entity.skeleton_horse.death": "Skeleton Horse dies", + "subtitles.entity.skeleton_horse.hurt": "Skeleton Horse hurts", + "subtitles.entity.skeleton_horse.swim": "Skeleton Horse swims", + "subtitles.entity.slime.attack": "Slime attacks", + "subtitles.entity.slime.death": "Slime dies", + "subtitles.entity.slime.hurt": "Slime hurts", + "subtitles.entity.slime.squish": "Slime squishes", + "subtitles.entity.snowball.throw": "Snowball flies", + "subtitles.entity.snow_golem.death": "Snow Golem dies", + "subtitles.entity.snow_golem.hurt": "Snow Golem hurts", + "subtitles.entity.spider.ambient": "Spider hisses", + "subtitles.entity.spider.death": "Spider dies", + "subtitles.entity.spider.hurt": "Spider hurts", + "subtitles.entity.squid.ambient": "Squid swims", + "subtitles.entity.squid.death": "Squid dies", + "subtitles.entity.squid.hurt": "Squid hurts", + "subtitles.entity.squid.squirt": "Squid shoots ink", + "subtitles.entity.stray.ambient": "Stray rattles", + "subtitles.entity.stray.death": "Stray dies", + "subtitles.entity.stray.hurt": "Stray hurts", + "subtitles.entity.tnt.primed": "TNT fizzes", + "subtitles.entity.turtle.ambient_land": "Turtle chirps", + "subtitles.entity.turtle.lay_egg": "Turtle lays egg", + "subtitles.entity.turtle.egg_hatch": "Turtle egg hatches", + "subtitles.entity.turtle.egg_crack": "Turtle egg cracks", + "subtitles.entity.turtle.egg_break": "Turtle egg breaks", + "subtitles.entity.turtle.hurt": "Turtle hurts", + "subtitles.entity.turtle.hurt_baby": "Turtle baby hurts", + "subtitles.entity.turtle.death": "Turtle dies", + "subtitles.entity.turtle.death_baby": "Turtle baby dies", + "subtitles.entity.turtle.swim": "Turtle swims", + "subtitles.entity.turtle.shamble": "Turtle shambles", + "subtitles.entity.turtle.shamble_baby": "Turtle baby shambles", + "subtitles.entity.vex.ambient": "Vex vexes", + "subtitles.entity.vex.charge": "Vex shrieks", + "subtitles.entity.vex.death": "Vex dies", + "subtitles.entity.vex.hurt": "Vex hurts", + "subtitles.entity.villager.ambient": "Villager mumbles", + "subtitles.entity.villager.death": "Villager dies", + "subtitles.entity.villager.hurt": "Villager hurts", + "subtitles.entity.villager.no": "Villager disagrees", + "subtitles.entity.villager.trade": "Villager trades", + "subtitles.entity.villager.yes": "Villager agrees", + "subtitles.entity.vindicator.ambient": "Vindicator mutters", + "subtitles.entity.vindicator.death": "Vindicator dies", + "subtitles.entity.vindicator.hurt": "Vindicator hurts", + "subtitles.entity.witch.ambient": "Witch giggles", + "subtitles.entity.witch.death": "Witch dies", + "subtitles.entity.witch.drink": "Witch drinks", + "subtitles.entity.witch.hurt": "Witch hurts", + "subtitles.entity.witch.throw": "Witch throws", + "subtitles.entity.wither.ambient": "Wither angers", + "subtitles.entity.wither.death": "Wither dies", + "subtitles.entity.wither.hurt": "Wither hurts", + "subtitles.entity.wither.shoot": "Wither attacks", + "subtitles.entity.wither.spawn": "Wither released", + "subtitles.entity.wither_skeleton.ambient": "Wither Skeleton rattles", + "subtitles.entity.wither_skeleton.death": "Wither Skeleton dies", + "subtitles.entity.wither_skeleton.hurt": "Wither Skeleton hurts", + "subtitles.entity.wolf.ambient": "Wolf pants", + "subtitles.entity.wolf.death": "Wolf dies", + "subtitles.entity.wolf.growl": "Wolf growls", + "subtitles.entity.wolf.hurt": "Wolf hurts", + "subtitles.entity.wolf.shake": "Wolf shakes", + "subtitles.entity.zombie.ambient": "Zombie groans", + "subtitles.entity.zombie.converted_to_drowned": "Zombie converted to Drowned", + "subtitles.entity.zombie.death": "Zombie dies", + "subtitles.entity.zombie.hurt": "Zombie hurts", + "subtitles.entity.zombie.infect": "Zombie infects", + "subtitles.entity.zombie_horse.ambient": "Zombie Horse cries", + "subtitles.entity.zombie_horse.death": "Zombie Horse dies", + "subtitles.entity.zombie_horse.hurt": "Zombie Horse hurts", + "subtitles.entity.zombie_pigman.ambient": "Zombie Pigman grunts", + "subtitles.entity.zombie_pigman.angry": "Zombie Pigman angers", + "subtitles.entity.zombie_pigman.death": "Zombie Pigman dies", + "subtitles.entity.zombie_pigman.hurt": "Zombie Pigman hurts", + "subtitles.entity.zombie_villager.ambient": "Zombie Villager groans", + "subtitles.entity.zombie_villager.converted": "Zombie vociferates", + "subtitles.entity.zombie_villager.cure": "Zombie snuffles", + "subtitles.entity.zombie_villager.death": "Zombie Villager dies", + "subtitles.entity.zombie_villager.hurt": "Zombie Villager hurts", + "subtitles.item.axe.strip": "Debarking log", + "subtitles.item.armor.equip": "Gear equips", + "subtitles.item.armor.equip_chain": "Chain armor jingles", + "subtitles.item.armor.equip_diamond": "Diamond armor clangs", + "subtitles.item.armor.equip_elytra": "Elytra rustle", + "subtitles.item.armor.equip_gold": "Gold armor clinks", + "subtitles.item.armor.equip_iron": "Iron armor clanks", + "subtitles.item.armor.equip_leather": "Leather armor rustles", + "subtitles.item.armor.equip_turtle": "Turtle shell thunks", + "subtitles.item.bottle.fill": "Bottle fills", + "subtitles.item.bucket.empty": "Bucket empties", + "subtitles.item.bucket.fill": "Bucket fills", + "subtitles.item.chorus_fruit.teleport": "Player teleports", + "subtitles.item.firecharge.use": "Fireball whooshes", + "subtitles.item.flintandsteel.use": "Flint and Steel click", + "subtitles.item.hoe.till": "Hoe tills", + "subtitles.item.shears.shear": "Shears click", + "subtitles.item.shield.block": "Shield blocks", + "subtitles.item.shovel.flatten": "Shovel flattens", + "subtitles.item.totem.use": "Totem activates", + "subtitles.item.trident.hit": "Trident stabs", + "subtitles.item.trident.hit_ground": "Trident vibrates", + "subtitles.item.trident.return": "Trident returns", + "subtitles.item.trident.riptide": "Trident zooms", + "subtitles.item.trident.throw": "Trident clangs", + "subtitles.item.trident.thunder": "Trident thunder cracks", + "subtitles.weather.rain": "Rain falls", + "debug.prefix": "[Debug]:", + "debug.reload_chunks.help": "F3 + A = Reload chunks", + "debug.show_hitboxes.help": "F3 + B = Show hitboxes", + "debug.clear_chat.help": "F3 + D = Clear chat", + "debug.cycle_renderdistance.help": "F3 + F = Cycle render distance (Shift to invert)", + "debug.chunk_boundaries.help": "F3 + G = Show chunk boundaries", + "debug.advanced_tooltips.help": "F3 + H = Advanced tooltips", + "debug.creative_spectator.help": "F3 + N = Cycle creative <-> spectator", + "debug.pause_focus.help": "F3 + P = Pause on lost focus", + "debug.help.help": "F3 + Q = Show this list", + "debug.reload_resourcepacks.help": "F3 + T = Reload resource packs", + "debug.copy_location.help": "F3 + C = Copy location as /tp command, hold F3 + C to crash the game", + "debug.inspect.help": "F3 + I = Copy entity or block data to clipboard", + "debug.copy_location.message": "Copied location to clipboard", + "debug.inspect.server.block": "Copied server-side block data to clipboard", + "debug.inspect.server.entity": "Copied server-side entity data to clipboard", + "debug.inspect.client.block": "Copied client-side block data to clipboard", + "debug.inspect.client.entity": "Copied client-side entity data to clipboard", + "debug.reload_chunks.message": "Reloading all chunks", + "debug.show_hitboxes.on": "Hitboxes: shown", + "debug.show_hitboxes.off": "Hitboxes: hidden", + "debug.cycle_renderdistance.message": "Render Distance: %s", + "debug.chunk_boundaries.on": "Chunk borders: shown", + "debug.chunk_boundaries.off": "Chunk borders: hidden", + "debug.advanced_tooltips.on": "Advanced tooltips: shown", + "debug.advanced_tooltips.off": "Advanced tooltips: hidden", + "debug.creative_spectator.error": "Unable to switch gamemode, no permission", + "debug.pause_focus.on": "Pause on lost focus: enabled", + "debug.pause_focus.off": "Pause on lost focus: disabled", + "debug.help.message": "Key bindings:", + "debug.reload_resourcepacks.message": "Reloaded resource packs", + "debug.crash.message": "F3 + C is held down. This will crash the game unless released.", + "debug.crash.warning": "Crashing in %s...", + "resourcepack.downloading": "Downloading Resource Pack", + "resourcepack.requesting": "Making Request...", + "resourcepack.progress": "Downloading file (%s MB)...", + "tutorial.move.title": "Move with %s, %s, %s and %s", + "tutorial.move.description": "Jump with %s", + "tutorial.look.title": "Look around", + "tutorial.look.description": "Use your mouse to turn", + "tutorial.find_tree.title": "Find a tree", + "tutorial.find_tree.description": "Punch it to collect wood", + "tutorial.punch_tree.title": "Destroy the tree", + "tutorial.punch_tree.description": "Hold down %s", + "tutorial.open_inventory.title": "Open your inventory", + "tutorial.open_inventory.description": "Press %s", + "tutorial.craft_planks.title": "Craft wooden planks", + "tutorial.craft_planks.description": "The recipe book can help", + "advancements.adventure.adventuring_time.title": "Adventuring Time", + "advancements.adventure.adventuring_time.description": "Discover every biome", + "advancements.adventure.kill_all_mobs.title": "Monsters Hunted", + "advancements.adventure.kill_all_mobs.description": "Kill one of every hostile monster", + "advancements.adventure.kill_a_mob.title": "Monster Hunter", + "advancements.adventure.kill_a_mob.description": "Kill any hostile monster", + "advancements.adventure.very_very_frightening.title": "Very Very Frightening", + "advancements.adventure.very_very_frightening.description": "Strike a Villager with lightning", + "advancements.adventure.root.title": "Adventure", + "advancements.adventure.root.description": "Adventure, exploration and combat", + "advancements.adventure.shoot_arrow.title": "Take Aim", + "advancements.adventure.shoot_arrow.description": "Shoot something with a bow and arrow", + "advancements.adventure.throw_trident.title": "A Throwaway Joke", + "advancements.adventure.throw_trident.description": "Throw a trident at something.\nNote: Throwing away your only weapon is not a good idea.", + "advancements.adventure.sleep_in_bed.title": "Sweet Dreams", + "advancements.adventure.sleep_in_bed.description": "Change your respawn point", + "advancements.adventure.sniper_duel.title": "Sniper Duel", + "advancements.adventure.sniper_duel.description": "Kill a Skeleton from at least 50 meters away", + "advancements.adventure.trade.title": "What a Deal!", + "advancements.adventure.trade.description": "Successfully trade with a Villager", + "advancements.adventure.summon_iron_golem.title": "Hired Help", + "advancements.adventure.summon_iron_golem.description": "Summon an Iron Golem to help defend a village", + "advancements.adventure.totem_of_undying.title": "Postmortal", + "advancements.adventure.totem_of_undying.description": "Use a Totem of Undying to cheat death", + "advancements.husbandry.root.title": "Husbandry", + "advancements.husbandry.root.description": "The world is full of friends and food", + "advancements.husbandry.breed_an_animal.title": "The Parrots and the Bats", + "advancements.husbandry.breed_an_animal.description": "Breed two animals together", + "advancements.husbandry.fishy_business.title": "Fishy Business", + "advancements.husbandry.fishy_business.description": "Catch a fish", + "advancements.husbandry.tactical_fishing.title": "Tactical Fishing", + "advancements.husbandry.tactical_fishing.description": "Catch a fish... without a fishing rod!", + "advancements.husbandry.breed_all_animals.title": "Two by Two", + "advancements.husbandry.breed_all_animals.description": "Breed all the animals!", + "advancements.husbandry.tame_an_animal.title": "Best Friends Forever", + "advancements.husbandry.tame_an_animal.description": "Tame an animal", + "advancements.husbandry.plant_seed.title": "A Seedy Place", + "advancements.husbandry.plant_seed.description": "Plant a seed and watch it grow", + "advancements.husbandry.break_diamond_hoe.title": "Serious Dedication", + "advancements.husbandry.break_diamond_hoe.description": "Completely use up a diamond hoe, and then reevaluate your life choices", + "advancements.husbandry.balanced_diet.title": "A Balanced Diet", + "advancements.husbandry.balanced_diet.description": "Eat everything that is edible, even if it's not good for you", + "advancements.end.dragon_breath.title": "You Need a Mint", + "advancements.end.dragon_breath.description": "Collect dragon's breath in a glass bottle", + "advancements.end.dragon_egg.title": "The Next Generation", + "advancements.end.dragon_egg.description": "Hold the Dragon Egg", + "advancements.end.elytra.title": "Sky's the Limit", + "advancements.end.elytra.description": "Find Elytra", + "advancements.end.enter_end_gateway.title": "Remote Getaway", + "advancements.end.enter_end_gateway.description": "Escape the island", + "advancements.end.find_end_city.title": "The City at the End of the Game", + "advancements.end.find_end_city.description": "Go on in, what could happen?", + "advancements.end.kill_dragon.title": "Free the End", + "advancements.end.kill_dragon.description": "Good luck", + "advancements.end.levitate.title": "Great View From Up Here", + "advancements.end.levitate.description": "Levitate up 50 blocks from the attacks of a Shulker", + "advancements.end.respawn_dragon.title": "The End... Again...", + "advancements.end.respawn_dragon.description": "Respawn the Ender Dragon", + "advancements.end.root.title": "The End", + "advancements.end.root.description": "Or the beginning?", + "advancements.nether.brew_potion.title": "Local Brewery", + "advancements.nether.brew_potion.description": "Brew a potion", + "advancements.nether.all_potions.title": "A Furious Cocktail", + "advancements.nether.all_potions.description": "Have every potion effect applied at the same time", + "advancements.nether.all_effects.title": "How Did We Get Here?", + "advancements.nether.all_effects.description": "Have every effect applied at the same time", + "advancements.nether.create_beacon.title": "Bring Home the Beacon", + "advancements.nether.create_beacon.description": "Construct and place a Beacon", + "advancements.nether.create_full_beacon.title": "Beaconator", + "advancements.nether.create_full_beacon.description": "Bring a beacon to full power", + "advancements.nether.find_fortress.title": "A Terrible Fortress", + "advancements.nether.find_fortress.description": "Break your way into a Nether Fortress", + "advancements.nether.get_wither_skull.title": "Spooky Scary Skeleton", + "advancements.nether.get_wither_skull.description": "Obtain a Wither Skeleton's skull", + "advancements.nether.obtain_blaze_rod.title": "Into Fire", + "advancements.nether.obtain_blaze_rod.description": "Relieve a Blaze of its rod", + "advancements.nether.return_to_sender.title": "Return to Sender", + "advancements.nether.return_to_sender.description": "Destroy a Ghast with a fireball", + "advancements.nether.root.title": "Nether", + "advancements.nether.root.description": "Bring summer clothes", + "advancements.nether.summon_wither.title": "Withering Heights", + "advancements.nether.summon_wither.description": "Summon the Wither", + "advancements.nether.fast_travel.title": "Subspace Bubble", + "advancements.nether.fast_travel.description": "Use the Nether to travel 7 km in the Overworld", + "advancements.nether.uneasy_alliance.title": "Uneasy Alliance", + "advancements.nether.uneasy_alliance.description": "Rescue a Ghast from the Nether, bring it safely home to the Overworld... and then kill it", + "advancements.story.cure_zombie_villager.title": "Zombie Doctor", + "advancements.story.cure_zombie_villager.description": "Weaken and then cure a Zombie Villager", + "advancements.story.deflect_arrow.title": "Not Today, Thank You", + "advancements.story.deflect_arrow.description": "Deflect an arrow with a shield", + "advancements.story.enchant_item.title": "Enchanter", + "advancements.story.enchant_item.description": "Enchant an item at an Enchanting Table", + "advancements.story.enter_the_end.title": "The End?", + "advancements.story.enter_the_end.description": "Enter the End Portal", + "advancements.story.enter_the_nether.title": "We Need to Go Deeper", + "advancements.story.enter_the_nether.description": "Build, light and enter a Nether Portal", + "advancements.story.follow_ender_eye.title": "Eye Spy", + "advancements.story.follow_ender_eye.description": "Follow an Eye of Ender", + "advancements.story.form_obsidian.title": "Ice Bucket Challenge", + "advancements.story.form_obsidian.description": "Form and mine a block of Obsidian", + "advancements.story.iron_tools.title": "Isn't It Iron Pick", + "advancements.story.iron_tools.description": "Upgrade your pickaxe", + "advancements.story.lava_bucket.title": "Hot Stuff", + "advancements.story.lava_bucket.description": "Fill a bucket with lava", + "advancements.story.mine_diamond.title": "Diamonds!", + "advancements.story.mine_diamond.description": "Acquire diamonds", + "advancements.story.mine_stone.title": "Stone Age", + "advancements.story.mine_stone.description": "Mine stone with your new pickaxe", + "advancements.story.obtain_armor.title": "Suit Up", + "advancements.story.obtain_armor.description": "Protect yourself with a piece of iron armor", + "advancements.story.root.title": "Minecraft", + "advancements.story.root.description": "The heart and story of the game", + "advancements.story.shiny_gear.title": "Cover Me With Diamonds", + "advancements.story.shiny_gear.description": "Diamond armor saves lives", + "advancements.story.smelt_iron.title": "Acquire Hardware", + "advancements.story.smelt_iron.description": "Smelt an iron ingot", + "advancements.story.upgrade_tools.title": "Getting an Upgrade", + "advancements.story.upgrade_tools.description": "Construct a better pickaxe", + "team.visibility.always": "Always", + "team.visibility.never": "Never", + "team.visibility.hideForOtherTeams": "Hide for other teams", + "team.visibility.hideForOwnTeam": "Hide for own team", + "team.collision.always": "Always", + "team.collision.never": "Never", + "team.collision.pushOtherTeams": "Push other teams", + "team.collision.pushOwnTeam": "Push own team", + "argument.entity.selector.nearestPlayer": "Nearest player", + "argument.entity.selector.randomPlayer": "Random player", + "argument.entity.selector.allPlayers": "All players", + "argument.entity.selector.allEntities": "All entities", + "argument.entity.selector.self": "Current entity", + "argument.entity.options.name.description": "Entity name", + "argument.entity.options.distance.description": "Distance to entity", + "argument.entity.options.level.description": "Experience level", + "argument.entity.options.x.description": "x position", + "argument.entity.options.y.description": "y position", + "argument.entity.options.z.description": "z position", + "argument.entity.options.dx.description": "Entities between x and x + dx", + "argument.entity.options.dy.description": "Entities between y and y + dy", + "argument.entity.options.dz.description": "Entities between z and z + dz", + "argument.entity.options.x_rotation.description": "Entity's x rotation", + "argument.entity.options.y_rotation.description": "Entity's y rotation", + "argument.entity.options.limit.description": "Maximum number of entities to return", + "argument.entity.options.sort.description": "Sort the entities", + "argument.entity.options.gamemode.description": "Players with gamemode", + "argument.entity.options.team.description": "Entities on team", + "argument.entity.options.type.description": "Entities of type", + "argument.entity.options.tag.description": "Entities with tag", + "argument.entity.options.nbt.description": "Entities with NBT", + "argument.entity.options.scores.description": "Entities with scores", + "argument.entity.options.advancements.description": "Players with advancements", + "command.failed": "An unexpected error occurred trying to execute that command", + "command.context.here": "<--[HERE]", + "commands.publish.started": "Local game hosted on port %s", + "commands.publish.failed": "Unable to host local game", + "commands.advancement.advancementNotFound": "No advancement was found by the name '%1$s'", + "commands.advancement.criterionNotFound": "The advancement %1$s does not contain the criterion '%2$s'", + "commands.advancement.grant.one.to.one.success": "Granted the advancement %s to %s", + "commands.advancement.grant.one.to.one.failure": "Couldn't grant advancement %s to %s as they already have it", + "commands.advancement.grant.one.to.many.success": "Granted the advancement %s to %s players", + "commands.advancement.grant.one.to.many.failure": "Couldn't grant advancement %s to %s players as they already have it", + "commands.advancement.grant.many.to.one.success": "Granted %s advancements to %s", + "commands.advancement.grant.many.to.one.failure": "Couldn't grant %s advancements to %s as they already have them", + "commands.advancement.grant.many.to.many.success": "Granted %s advancements to %s players", + "commands.advancement.grant.many.to.many.failure": "Couldn't grant %s advancements to %s players as they already have them", + "commands.advancement.grant.criterion.to.one.success": "Granted criterion '%s' of advancement %s to %s", + "commands.advancement.grant.criterion.to.one.failure": "Couldn't grant criterion '%s' of advancement %s to %s as they already have it", + "commands.advancement.grant.criterion.to.many.success": "Granted criterion '%s' of advancement %s to %s players", + "commands.advancement.grant.criterion.to.many.failure": "Couldn't grant criterion '%s' of advancement %s to %s players as they already have it", + "commands.advancement.revoke.one.to.one.success": "Revoked the advancement %s from %s", + "commands.advancement.revoke.one.to.one.failure": "Couldn't revoke advancement %s from %s as they don't have it", + "commands.advancement.revoke.one.to.many.success": "Revoked the advancement %s from %s players", + "commands.advancement.revoke.one.to.many.failure": "Couldn't revoke advancement %s from %s players as they don't have it", + "commands.advancement.revoke.many.to.one.success": "Revoked %s advancements from %s", + "commands.advancement.revoke.many.to.one.failure": "Couldn't revoke %s advancements from %s as they don't have them", + "commands.advancement.revoke.many.to.many.success": "Revoked %s advancements from %s players", + "commands.advancement.revoke.many.to.many.failure": "Couldn't revoke %s advancements from %s players as they don't have them", + "commands.advancement.revoke.criterion.to.one.success": "Revoked criterion '%s' of advancement %s from %s", + "commands.advancement.revoke.criterion.to.one.failure": "Couldn't revoke criterion '%s' of advancement %s from %s as they don't have it", + "commands.advancement.revoke.criterion.to.many.success": "Revoked criterion '%s' of advancement %s from %s players", + "commands.advancement.revoke.criterion.to.many.failure": "Couldn't revoke criterion '%s' of advancement %s from %s players as they don't have it", + "commands.clear.success.single": "Removed %s items from player %s", + "commands.clear.success.multiple": "Removed %s items from %s players", + "commands.clear.test.single": "Found %s matching items on player %s", + "commands.clear.test.multiple": "Found %s matching items on %s players", + "commands.clone.success": "Successfully cloned %s blocks", + "commands.debug.started": "Started debug profiling", + "commands.debug.stopped": "Stopped debug profiling after %s seconds and %s ticks (%s ticks per second)", + "commands.defaultgamemode.success": "The default game mode is now %s", + "commands.difficulty.success": "The difficulty has been set to %s", + "commands.difficulty.query": "The difficulty is %s", + "commands.effect.give.success.single": "Applied effect %s to %s", + "commands.effect.give.success.multiple": "Applied effect %s to %s targets", + "commands.effect.clear.everything.success.single": "Removed every effect from %s", + "commands.effect.clear.everything.success.multiple": "Removed every effect from %s targets", + "commands.effect.clear.specific.success.single": "Removed effect %s from %s", + "commands.effect.clear.specific.success.multiple": "Removed effect %s from %s targets", + "commands.enchant.success.single": "Applied enchantment %s to %s's item", + "commands.enchant.success.multiple": "Applied enchantment %s to %s entities", + "commands.experience.add.points.success.single": "Gave %s experience points to %s", + "commands.experience.add.points.success.multiple": "Gave %s experience points to %s players", + "commands.experience.add.levels.success.single": "Gave %s experience levels to %s", + "commands.experience.add.levels.success.multiple": "Gave %s experience levels to %s players", + "commands.experience.set.points.success.single": "Set %s experience points on %s", + "commands.experience.set.points.success.multiple": "Set %s experience points on %s players", + "commands.experience.set.levels.success.single": "Set %s experience levels on %s", + "commands.experience.set.levels.success.multiple": "Set %s experience levels on %s players", + "commands.experience.query.points": "%s has %s experience points", + "commands.experience.query.levels": "%s has %s experience levels", + "commands.fill.success": "Successfully filled %s blocks", + "commands.function.success.single": "Executed %s commands from function '%s'", + "commands.function.success.multiple": "Executed %s commands from %s functions", + "commands.give.success.single": "Gave %s %s to %s", + "commands.give.success.multiple": "Gave %s %s to %s players", + "commands.playsound.success.single": "Played sound %s to %s", + "commands.playsound.success.multiple": "Played sound %s to %s players", + "commands.publish.success": "Multiplayer game is now hosted on port %s", + "commands.list.players": "There are %s of a max %s players online: %s", + "commands.kill.success.single": "Killed %s", + "commands.kill.success.multiple": "Killed %s entities", + "commands.kick.success": "Kicked %s: %s", + "commands.locate.success": "The nearest %s is at %s (%s blocks away)", + "commands.message.display.outgoing": "You whisper to %s: %s", + "commands.message.display.incoming": "%s whispers to you: %s", + "commands.op.success": "Made %s a server operator", + "commands.deop.success": "Made %s no longer a server operator", + "commands.ban.success": "Banned %s: %s", + "commands.pardon.success": "Unbanned %s", + "commands.particle.success": "Displaying particle %s", + "commands.seed.success": "Seed: %s", + "commands.stop.stopping": "Stopping the server", + "commands.time.query": "The time is %s", + "commands.time.set": "Set the time to %s", + "commands.gamemode.success.self": "Set own game mode to %s", + "commands.gamemode.success.other": "Set %s's game mode to %s", + "commands.gamerule.query": "Gamerule %s is currently set to: %s", + "commands.gamerule.set": "Gamerule %s is now set to: %s", + "commands.save.disabled": "Automatic saving is now disabled", + "commands.save.enabled": "Automatic saving is now enabled", + "commands.save.saving": "Saving the game (this may take a moment!)", + "commands.save.success": "Saved the game", + "commands.setidletimeout.success": "The player idle timeout is now %s minutes", + "commands.banlist.none": "There are no bans", + "commands.banlist.list": "There are %s bans:", + "commands.banlist.entry": "%s was banned by %s: %s", + "commands.bossbar.create.success": "Created custom bossbar %s", + "commands.bossbar.remove.success": "Removed custom bossbar %s", + "commands.bossbar.list.bars.none": "There are no custom bossbars active", + "commands.bossbar.list.bars.some": "There are %s custom bossbars active: %s", + "commands.bossbar.set.players.success.none": "Custom bossbar %s no longer has any players", + "commands.bossbar.set.players.success.some": "Custom bossbar %s now has %s players: %s", + "commands.bossbar.set.name.success": "Custom bossbar %s has been renamed", + "commands.bossbar.set.color.success": "Custom bossbar %s has changed color", + "commands.bossbar.set.style.success": "Custom bossbar %s has changed style", + "commands.bossbar.set.value.success": "Custom bossbar %s has changed value to %s", + "commands.bossbar.set.max.success": "Custom bossbar %s has changed maximum to %s", + "commands.bossbar.set.visible.success.visible": "Custom bossbar %s is now visible", + "commands.bossbar.set.visible.success.hidden": "Custom bossbar %s is now hidden", + "commands.bossbar.get.value": "Custom bossbar %s has a value of %s", + "commands.bossbar.get.max": "Custom bossbar %s has a maximum of %s", + "commands.bossbar.get.visible.visible": "Custom bossbar %s is currently shown", + "commands.bossbar.get.visible.hidden": "Custom bossbar %s is currently hidden", + "commands.bossbar.get.players.none": "Custom bossbar %s has no players currently online", + "commands.bossbar.get.players.some": "Custom bossbar %s has %s players currently online: %s", + "commands.recipe.give.success.single": "Unlocked %s recipes for %s", + "commands.recipe.give.success.multiple": "Unlocked %s recipes for %s players", + "commands.recipe.take.success.single": "Took %s recipes from %s", + "commands.recipe.take.success.multiple": "Took %s recipes from %s players", + "commands.summon.success": "Summoned new %s", + "commands.whitelist.enabled": "Whitelist is now turned on", + "commands.whitelist.disabled": "Whitelist is now turned off", + "commands.whitelist.none": "There are no whitelisted players", + "commands.whitelist.list": "There are %s whitelisted players: %s", + "commands.whitelist.add.success": "Added %s to the whitelist", + "commands.whitelist.remove.success": "Removed %s from the whitelist", + "commands.whitelist.reloaded": "Reloaded the whitelist", + "commands.weather.set.clear": "Set the weather to clear", + "commands.weather.set.rain": "Set the weather to rain", + "commands.weather.set.thunder": "Set the weather to rain & thunder", + "commands.spawnpoint.success.single": "Set spawn point to %s, %s, %s for %s", + "commands.spawnpoint.success.multiple": "Set spawn point to %s, %s, %s for %s players", + "commands.stopsound.success.source.sound": "Stopped sound '%s' on source '%s'", + "commands.stopsound.success.source.any": "Stopped all '%s' sounds", + "commands.stopsound.success.sourceless.sound": "Stopped sound '%s'", + "commands.stopsound.success.sourceless.any": "Stopped all sounds", + "commands.setworldspawn.success": "Set the world spawn point to %s, %s, %s", + "commands.spreadplayers.success.teams": "Spread %s teams around %s, %s with an average distance of %s blocks apart", + "commands.spreadplayers.success.entities": "Spread %s players around %s, %s with an average distance of %s blocks apart", + "commands.setblock.success": "Changed the block at %s, %s, %s", + "commands.banip.success": "Banned IP %s: %s", + "commands.banip.info": "This ban affects %s players: %s", + "commands.pardonip.success": "Unbanned IP %s", + "commands.teleport.success.entity.single": "Teleported %s to %s", + "commands.teleport.success.entity.multiple": "Teleported %s entities to %s", + "commands.teleport.success.location.single": "Teleported %s to %s, %s, %s", + "commands.teleport.success.location.multiple": "Teleported %s entities to %s, %s, %s", + "commands.title.cleared.single": "Cleared titles for %s", + "commands.title.cleared.multiple": "Cleared titles for %s players", + "commands.title.reset.single": "Reset title options for %s", + "commands.title.reset.multiple": "Reset title options for %s players", + "commands.title.show.title.single": "Showing new title for %s", + "commands.title.show.title.multiple": "Showing new title for %s players", + "commands.title.show.subtitle.single": "Showing new subtitle for %s", + "commands.title.show.subtitle.multiple": "Showing new subtitle for %s players", + "commands.title.show.actionbar.single": "Showing new actionbar title for %s", + "commands.title.show.actionbar.multiple": "Showing new actionbar title for %s players", + "commands.title.times.single": "Changed title display times for %s", + "commands.title.times.multiple": "Changed title display times for %s players", + "commands.worldborder.set.grow": "Growing the world border to %s blocks wide over %s seconds", + "commands.worldborder.set.shrink": "Shrinking the world border to %s blocks wide over %s seconds", + "commands.worldborder.set.immediate": "Set the world border to %s blocks wide", + "commands.worldborder.center.success": "Set the center of the world border to %s, %s", + "commands.worldborder.get": "The world border is currently %s blocks wide", + "commands.worldborder.damage.buffer.success": "Set the world border damage buffer to %s blocks", + "commands.worldborder.damage.amount.success": "Set the world border damage time to %s seconds", + "commands.worldborder.warning.time.success": "Set the world border warning time to %s seconds", + "commands.worldborder.warning.distance.success": "Set the world border warning distance to %s blocks", + "commands.replaceitem.block.success": "Replaced a slot at %s, %s, %s with %s", + "commands.replaceitem.entity.success.single": "Replaced a slot on %s with %s", + "commands.replaceitem.entity.success.multiple": "Replaced a slot on %s entities with %s", + "commands.tag.add.success.single": "Added tag '%s' to %s", + "commands.tag.add.success.multiple": "Added tag '%s' to %s entities", + "commands.tag.remove.success.single": "Removed tag '%s' from %s", + "commands.tag.remove.success.multiple": "Removed tag '%s' from %s entities", + "commands.tag.list.single.empty": "%s has no tags", + "commands.tag.list.single.success": "%s has %s tags: %s", + "commands.tag.list.multiple.empty": "There are no tags on the %s entities", + "commands.tag.list.multiple.success": "The %s entities have %s total tags: %s", + "commands.team.list.members.empty": "There are no members on team %s", + "commands.team.list.members.success": "Team %s has %s members: %s", + "commands.team.list.teams.empty": "There are no teams", + "commands.team.list.teams.success": "There are %s teams: %s", + "commands.team.add.success": "Created team %s", + "commands.team.remove.success": "Removed team %s", + "commands.team.empty.success": "Removed %s members from team %s", + "commands.team.option.color.success": "Updated the color for team %s to %s", + "commands.team.option.name.success": "Updated team %s name", + "commands.team.option.friendlyfire.enabled": "Enabled friendly fire for team %s", + "commands.team.option.friendlyfire.disabled": "Disabled friendly fire for team %s", + "commands.team.option.seeFriendlyInvisibles.enabled": "Team %s can now see invisible teammates", + "commands.team.option.seeFriendlyInvisibles.disabled": "Team %s can no longer see invisible teammates", + "commands.team.option.nametagVisibility.success": "Nametag visibility for team %s is now \"%s\"", + "commands.team.option.deathMessageVisibility.success": "Death message visibility for team %s is now \"%s\"", + "commands.team.option.collisionRule.success": "Collision rule for team %s is now \"%s\"", + "commands.team.option.prefix.success": "Team prefix set to %s", + "commands.team.option.suffix.success": "Team suffix set to %s", + "commands.team.join.success.single": "Added %s to team %s", + "commands.team.join.success.multiple": "Added %s members to team %s", + "commands.team.leave.success.single": "Removed %s from any team", + "commands.team.leave.success.multiple": "Removed %s members from any team", + "commands.trigger.simple.success": "Triggered %s", + "commands.trigger.add.success": "Triggered %s (added %s to value)", + "commands.trigger.set.success": "Triggered %s (set value to %s)", + "commands.scoreboard.objectives.list.empty": "There are no objectives", + "commands.scoreboard.objectives.list.success": "There are %s objectives: %s", + "commands.scoreboard.objectives.add.success": "Created new objective %s", + "commands.scoreboard.objectives.remove.success": "Removed objective %s", + "commands.scoreboard.objectives.display.cleared": "Cleared any objectives in display slot %s", + "commands.scoreboard.objectives.display.set": "Set display slot %s to show objective %s", + "commands.scoreboard.objectives.modify.displayname": "Changed objective %s display name to %s", + "commands.scoreboard.objectives.modify.rendertype": "Changed objective %s render type", + "commands.scoreboard.players.list.empty": "There are no tracked entities", + "commands.scoreboard.players.list.success": "There are %s tracked entities: %s", + "commands.scoreboard.players.list.entity.empty": "%s has no scores to show", + "commands.scoreboard.players.list.entity.success": "%s has %s scores:", + "commands.scoreboard.players.list.entity.entry": "%s: %s", + "commands.scoreboard.players.set.success.single": "Set %s for %s to %s", + "commands.scoreboard.players.set.success.multiple": "Set %s for %s entities to %s", + "commands.scoreboard.players.add.success.single": "Added %s to %s for %s (now %s)", + "commands.scoreboard.players.add.success.multiple": "Added %s to %s for %s entities", + "commands.scoreboard.players.remove.success.single": "Removed %s from %s for %s (now %s)", + "commands.scoreboard.players.remove.success.multiple": "Removed %s from %s for %s entities", + "commands.scoreboard.players.reset.all.single": "Reset all scores for %s", + "commands.scoreboard.players.reset.all.multiple": "Reset all scores for %s entities", + "commands.scoreboard.players.reset.specific.single": "Reset %s for %s", + "commands.scoreboard.players.reset.specific.multiple": "Reset %s for %s entities", + "commands.scoreboard.players.enable.success.single": "Enabled trigger %s for %s", + "commands.scoreboard.players.enable.success.multiple": "Enabled trigger %s for %s entities", + "commands.scoreboard.players.operation.success.single": "Set %s for %s to %s", + "commands.scoreboard.players.operation.success.multiple": "Updated %s for %s entities", + "commands.scoreboard.players.get.success": "%s has %s %s", + "commands.reload.success": "Reloading!", + "commands.data.entity.modified": "Modified entity data of %s", + "commands.data.entity.query": "%s has the following entity data: %s", + "commands.data.entity.get": "%s on %s after scale factor of %s is %s", + "commands.data.block.modified": "Modified block data of %s, %s, %s", + "commands.data.block.query": "%s, %s, %s has the following block data: %s", + "commands.data.block.get": "%s on block %s, %s, %s after scale factor of %s is %s", + "commands.datapack.list.enabled.success": "There are %s data packs enabled: %s", + "commands.datapack.list.enabled.none": "There are no data packs enabled", + "commands.datapack.list.available.success": "There are %s data packs available: %s", + "commands.datapack.list.available.none": "There are no more data packs available", + "commands.datapack.enable.success": "Enabled data pack %s", + "commands.datapack.disable.success": "Disabled data pack %s", + "argument.range.empty": "Expected value or range of values", + "argument.range.ints": "Only whole numbers allowed, not decimals", + "argument.range.swapped": "Min cannot be bigger than max", + "permissions.requires.player": "A player is required to run this command here", + "permissions.requires.entity": "An entity is required to run this command here", + "argument.entity.toomany": "Only one entity is allowed, but the provided selector allows more than one", + "argument.player.toomany": "Only one player is allowed, but the provided selector allows more than one", + "argument.player.entities": "Only players may be affected by this command, but the provided selector includes entities", + "argument.entity.notfound.entity": "No entity was found", + "argument.entity.notfound.player": "No player was found", + "argument.player.unknown": "That player does not exist", + "arguments.nbtpath.node.invalid": "Invalid NBT path, expected element name or index", + "arguments.operation.invalid": "Invalid operation", + "arguments.operation.div0": "Cannot divide by zero", + "argument.scoreHolder.empty": "No relevant score holders could be found", + "argument.block.tag.disallowed": "Tags aren't allowed here, only actual blocks", + "argument.block.property.unclosed": "Expected closing ] for block state properties", + "argument.pos.unloaded": "That position is not loaded", + "argument.pos.outofworld": "That position is out of this world!", + "argument.rotation.incomplete": "Incomplete (expected 2 coordinates)", + "arguments.swizzle.invalid": "Invalid swizzle, expected combination of 'x', 'y' and 'z'", + "argument.vec2.incomplete": "Incomplete (expected 2 coordinates)", + "argument.pos.incomplete": "Incomplete (expected 3 coordinates)", + "argument.pos.mixed": "Cannot mix world & local coordinates (everything must either use ^ or not)", + "argument.pos.missing.double": "Expected a coordinate", + "argument.pos.missing.int": "Expected a block position", + "argument.item.tag.disallowed": "Tags aren't allowed here, only actual items", + "argument.entity.invalid": "Invalid name or UUID", + "argument.entity.selector.missing": "Missing selector type", + "argument.entity.selector.not_allowed": "Selector not allowed", + "argument.entity.options.unterminated": "Expected end of options", + "argument.entity.options.distance.negative": "Distance cannot be negative", + "argument.entity.options.level.negative": "Level shouldn't be negative", + "argument.entity.options.limit.toosmall": "Limit must be at least 1", + "argument.nbt.trailing": "Unexpected trailing data", + "argument.nbt.expected.key": "Expected key", + "argument.nbt.expected.value": "Expected value", + "argument.id.invalid": "Invalid ID", + "commands.banip.invalid": "Invalid IP address or unknown player", + "commands.banip.failed": "Nothing changed. That IP is already banned", + "commands.ban.failed": "Nothing changed. The player is already banned", + "commands.bossbar.set.players.unchanged": "Nothing changed. Those players are already on the bossbar with nobody to add or remove", + "commands.bossbar.set.name.unchanged": "Nothing changed. That's already the name of this bossbar", + "commands.bossbar.set.color.unchanged": "Nothing changed. That's already the color of this bossbar", + "commands.bossbar.set.style.unchanged": "Nothing changed. That's already the style of this bossbar", + "commands.bossbar.set.value.unchanged": "Nothing changed. That's already the value of this bossbar", + "commands.bossbar.set.max.unchanged": "Nothing changed. That's already the max of this bossbar", + "commands.bossbar.set.visibility.unchanged.hidden": "Nothing changed. The bossbar is already hidden", + "commands.bossbar.set.visibility.unchanged.visible": "Nothing changed. The bossbar is already visible", + "commands.clone.overlap": "The source and destination areas cannot overlap", + "commands.clone.failed": "No blocks were cloned", + "commands.debug.notRunning": "The debug profiler hasn't started", + "commands.debug.alreadyRunning": "The debug profiler is already started", + "commands.deop.failed": "Nothing changed. The player is not an operator", + "commands.effect.give.failed": "Unable to apply this effect (target is either immune to effects, or has something stronger)", + "commands.effect.clear.everything.failed": "Target has no effects to remove", + "commands.effect.clear.specific.failed": "Target doesn't have the requested effect", + "commands.enchant.failed": "Nothing changed. Targets either have no item in their hands or the enchantment could not be applied", + "commands.experience.set.points.invalid": "Cannot set experience points above the maximum points for the player's current level", + "commands.fill.failed": "No blocks were filled", + "commands.help.failed": "Unknown command or insufficient permissions", + "commands.locate.failed": "Could not find that structure nearby", + "commands.op.failed": "Nothing changed. The player already is an operator", + "commands.pardon.failed": "Nothing changed. The player isn't banned", + "commands.pardonip.invalid": "Invalid IP address", + "commands.pardonip.failed": "Nothing changed. That IP isn't banned", + "commands.particle.failed": "The particle was not visible for anybody", + "commands.playsound.failed": "The sound is too far away to be heard", + "commands.recipe.give.failed": "No new recipes were learned", + "commands.recipe.take.failed": "No recipes could be forgotten", + "commands.replaceitem.block.failed": "The target block is not a container", + "commands.replaceitem.slot.inapplicable": "The target does not have slot %s", + "commands.replaceitem.entity.failed": "Could not put %s in slot %s", + "commands.save.failed": "Unable to save the game (is there enough disk space?)", + "commands.save.alreadyOff": "Saving is already turned off", + "commands.save.alreadyOn": "Saving is already turned on", + "commands.scoreboard.objectives.add.duplicate": "An objective already exists by that name", + "commands.scoreboard.objectives.display.alreadyEmpty": "Nothing changed. That display slot is already empty", + "commands.scoreboard.objectives.display.alreadySet": "Nothing changed. That display slot is already showing that objective", + "commands.scoreboard.players.enable.failed": "Nothing changed. That trigger is already enabled", + "commands.scoreboard.players.enable.invalid": "Enable only works on trigger-objectives", + "commands.setblock.failed": "Could not set the block", + "commands.summon.failed": "Unable to summon entity", + "commands.tag.add.failed": "Target either already has the tag or has too many tags", + "commands.tag.remove.failed": "Target does not have this tag", + "commands.team.add.duplicate": "A team already exists by that name", + "commands.team.empty.unchanged": "Nothing changed. That team is already empty", + "commands.team.option.color.unchanged": "Nothing changed. That team already has that color", + "commands.team.option.name.unchanged": "Nothing changed. That team already has that name", + "commands.team.option.friendlyfire.alreadyEnabled": "Nothing changed. Friendly fire is already enabled for that team", + "commands.team.option.friendlyfire.alreadyDisabled": "Nothing changed. Friendly fire is already disabled for that team", + "commands.team.option.seeFriendlyInvisibles.alreadyEnabled": "Nothing changed. That team can already see invisible teammates", + "commands.team.option.seeFriendlyInvisibles.alreadyDisabled": "Nothing changed. That team already can't see invisible teammates", + "commands.team.option.nametagVisibility.unchanged": "Nothing changed. Nametag visibility is already that value", + "commands.team.option.deathMessageVisibility.unchanged": "Nothing changed. Death message visibility is already that value", + "commands.team.option.collisionRule.unchanged": "Nothing changed. Collision rule is already that value", + "commands.trigger.failed.unprimed": "You cannot trigger this objective yet", + "commands.trigger.failed.invalid": "You can only trigger objectives that are 'trigger' type", + "commands.whitelist.alreadyOn": "Whitelist is already turned on", + "commands.whitelist.alreadyOff": "Whitelist is already turned off", + "commands.whitelist.add.failed": "Player is already whitelisted", + "commands.whitelist.remove.failed": "Player is not whitelisted", + "commands.worldborder.center.failed": "Nothing changed. The world border is already centered there", + "commands.worldborder.set.failed.nochange": "Nothing changed. The world border is already that size", + "commands.worldborder.set.failed.small.": "World border cannot be smaller than 1 block wide", + "commands.worldborder.set.failed.big.": "World border cannot be bigger than 60,000,000 blocks wide", + "commands.worldborder.warning.time.failed": "Nothing changed. The world border warning is already that amount of time", + "commands.worldborder.warning.distance.failed": "Nothing changed. The world border warning is already that distance", + "commands.worldborder.damage.buffer.failed": "Nothing changed. The world border damage buffer is already that distance", + "commands.worldborder.damage.amount.failed": "Nothing changed. The world border damage is already that amount", + "commands.data.block.invalid": "The target block is not a block entity", + "commands.data.merge.failed": "Nothing changed, the specified properties already have these values", + "commands.data.entity.invalid": "Unable to modify player data", + "argument.color.invalid": "Unknown color '%s'", + "argument.component.invalid": "Invalid chat component: %s", + "argument.anchor.invalid": "Invalid entity anchor position %s", + "enchantment.unknown": "Unknown enchantment: %s", + "effect.effectNotFound": "Unknown effect: %s", + "argument.nbt.invalid": "Invalid NBT: %s", + "arguments.nbtpath.child.invalid": "Can't access child '%s', either doesn't exist or parent isn't a compound", + "arguments.nbtpath.element.invalid": "Can't access element %s, either doesn't exist or parent isn't a list", + "arguments.objective.notFound": "Unknown scoreboard objective '%s'", + "arguments.objective.readonly": "Scoreboard objective '%s' is read-only", + "commands.scoreboard.objectives.add.longName": "Objective names cannot be longer than %s characters", + "argument.criteria.invalid": "Unknown criteria '%s'", + "particle.notFound": "Unknown particle: %s", + "argument.id.unknown": "Unknown ID: %s", + "advancement.advancementNotFound": "Unknown advancement: %s", + "recipe.notFound": "Unknown recipe: %s", + "entity.notFound": "Unknown entity: %s", + "argument.scoreboardDisplaySlot.invalid": "Unknown display slot '%s'", + "slot.unknown": "Unknown slot '%s'", + "team.notFound": "Unknown team '%s'", + "arguments.block.tag.unknown": "Unknown block tag '%s'", + "argument.block.id.invalid": "Unknown block type '%s'", + "argument.block.property.unknown": "Block %s does not have property '%s'", + "argument.block.property.duplicate": "Property '%s' can only be set once for block %s", + "argument.block.property.invalid": "Block %s does not accept '%s' for %s property", + "argument.block.property.novalue": "Expected value for property '%s' on block %s", + "arguments.function.tag.unknown": "Unknown function tag '%s'", + "arguments.function.unknown": "Unknown function %s", + "arguments.item.overstacked": "%s can only stack up to %s", + "argument.item.id.invalid": "Unknown item '%s'", + "arguments.item.tag.unknown": "Unknown item tag '%s'", + "argument.entity.selector.unknown": "Unknown selector type '%s'", + "argument.entity.options.valueless": "Expected value for option '%s'", + "argument.entity.options.unknown": "Unknown option '%s'", + "argument.entity.options.inapplicable": "Option '%s' isn't applicable here", + "argument.entity.options.sort.irreversible": "Invalid or unknown sort type '%s'", + "argument.entity.options.mode.invalid": "Invalid or unknown game mode '%s'", + "argument.entity.options.type.invalid": "Invalid or unknown entity type '%s'", + "argument.nbt.list.mixed": "Can't insert %s into list of %s", + "argument.nbt.array.mixed": "Can't insert %s into %s", + "argument.nbt.array.invalid": "Invalid array type '%s'", + "commands.bossbar.create.failed": "A bossbar already exists with the ID '%s'", + "commands.bossbar.unknown": "No bossbar exists with the ID '%s'", + "clear.failed.single": "No items were found on player %s", + "clear.failed.multiple": "No items were found on %s players", + "commands.clone.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.datapack.unknown": "Unknown data pack '%s'", + "commands.datapack.enable.failed": "Pack '%s' is already enabled!", + "commands.datapack.disable.failed": "Pack '%s' is not enabled!", + "commands.difficulty.failure": "The difficulty did not change; it is already set to %s", + "commands.enchant.failed.entity": "%s is not a valid entity for this command", + "commands.enchant.failed.itemless": "%s is not holding any item", + "commands.enchant.failed.incompatible": "%s cannot support that enchantment", + "commands.enchant.failed.level": "%s is higher than the maximum level of %s supported by that enchantment", + "commands.execute.blocks.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.execute.conditional.pass": "Test passed", + "commands.execute.conditional.pass_count": "Test passed, count: %s", + "commands.execute.conditional.fail": "Test failed", + "commands.execute.conditional.fail_count": "Test failed, count: %s", + "commands.fill.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.publish.alreadyPublished": "Multiplayer game is already hosted on port %s", + "commands.scoreboard.players.get.null": "Can't get value of %s for %s; none is set", + "commands.spreadplayers.failed.teams": "Could not spread %s teams around %s, %s (too many entities for space - try using spread of at most %s)", + "commands.spreadplayers.failed.entities": "Could not spread %s entities around %s, %s (too many entities for space - try using spread of at most %s)", + "commands.team.add.longName": "Team names cannot be longer than %s characters", + "commands.data.get.invalid": "Can't get %s; only numeric tags are allowed", + "commands.data.get.unknown": "Can't get %s; tag doesn't exist", + "argument.double.low": "Double must not be less than %s, found %s", + "argument.double.big": "Double must not be more than %s, found %s", + "argument.float.low": "Float must not be less than %s, found %s", + "argument.float.big": "Float must not be more than %s, found %s", + "argument.integer.low": "Integer must not be less than %s, found %s", + "argument.integer.big": "Integer must not be more than %s, found %s", + "argument.literal.incorrect": "Expected literal %s", + "parsing.quote.expected.start": "Expected quote to start a string", + "parsing.quote.expected.end": "Unclosed quoted string", + "parsing.quote.escape": "Invalid escape sequence '\\%s' in quoted string", + "parsing.bool.invalid": "Invalid boolean, expected 'true' or 'false' but found '%s'", + "parsing.int.invalid": "Invalid integer '%s'", + "parsing.int.expected": "Expected integer", + "command.exception": "Could not parse command: %s", + "parsing.double.invalid": "Invalid double '%s'", + "parsing.double.expected": "Expected double", + "parsing.float.invalid": "Invalid float '%s'", + "parsing.float.expected": "Expected float", + "parsing.bool.expected": "Expected boolean", + "parsing.expected": "Expected '%s'", + "command.unknown.command": "Unknown command", + "command.unknown.argument": "Incorrect argument for command", + "command.expected.separator": "Expected whitespace to end one argument, but found trailing data", + "biome.minecraft.beach": "Beach", + "biome.minecraft.birch_forest": "Birch Forest", + "biome.minecraft.birch_forest_hills": "Birch Forest Hills", + "biome.minecraft.snowy_beach": "Snowy Beach", + "biome.minecraft.cold_ocean": "Cold Ocean", + "biome.minecraft.deep_cold_ocean": "Deep Cold Ocean", + "biome.minecraft.deep_frozen_ocean": "Deep Frozen Ocean", + "biome.minecraft.deep_lukewarm_ocean": "Deep Lukewarm Ocean", + "biome.minecraft.deep_ocean": "Deep Ocean", + "biome.minecraft.deep_warm_ocean": "Deep Warm Ocean", + "biome.minecraft.desert": "Desert", + "biome.minecraft.desert_hills": "Desert Hills", + "biome.minecraft.mountains": "Mountains", + "biome.minecraft.wooded_mountains": "Wooded Mountains", + "biome.minecraft.forest": "Forest", + "biome.minecraft.wooded_hills": "Wooded Hills", + "biome.minecraft.frozen_ocean": "Frozen Ocean", + "biome.minecraft.frozen_river": "Frozen River", + "biome.minecraft.nether": "Nether", + "biome.minecraft.snowy_tundra": "Snowy Tundra", + "biome.minecraft.snowy_mountains": "Snowy Mountains", + "biome.minecraft.jungle_edge": "Jungle Edge", + "biome.minecraft.jungle_hills": "Jungle Hills", + "biome.minecraft.jungle": "Jungle", + "biome.minecraft.lukewarm_ocean": "Lukewarm Ocean", + "biome.minecraft.badlands_plateau": "Badlands Plateau", + "biome.minecraft.badlands": "Badlands", + "biome.minecraft.wooded_badlands_plateau": "Wooded Badlands Plateau", + "biome.minecraft.mushroom_fields": "Mushroom Fields", + "biome.minecraft.mushroom_field_shore": "Mushroom Field Shore", + "biome.minecraft.tall_birch_hills": "Tall Birch Hills", + "biome.minecraft.tall_birch_forest": "Tall Birch Forest", + "biome.minecraft.desert_lakes": "Desert Lakes", + "biome.minecraft.gravelly_mountains": "Gravelly Mountains", + "biome.minecraft.modified_gravelly_mountains": "Gravelly Mountains+", + "biome.minecraft.flower_forest": "Flower Forest", + "biome.minecraft.ice_spikes": "Ice Spikes", + "biome.minecraft.modified_jungle_edge": "Modified Jungle Edge", + "biome.minecraft.modified_jungle": "Modified Jungle", + "biome.minecraft.modified_badlands_plateau": "Modified Badlands Plateau", + "biome.minecraft.eroded_badlands": "Eroded Badlands", + "biome.minecraft.modified_wooded_badlands_plateau": "Modified Wooded Badlands Plateau", + "biome.minecraft.sunflower_plains": "Sunflower Plains", + "biome.minecraft.giant_spruce_taiga_hills": "Giant Spruce Taiga Hills", + "biome.minecraft.giant_spruce_taiga": "Giant Spruce Taiga", + "biome.minecraft.dark_forest_hills": "Dark Forest Hills", + "biome.minecraft.shattered_savanna": "Shattered Savanna", + "biome.minecraft.shattered_savanna_plateau": "Shattered Savanna Plateau", + "biome.minecraft.swamp_hills": "Swamp Hills", + "biome.minecraft.snowy_taiga_mountains": "Snowy Taiga Mountains", + "biome.minecraft.taiga_mountains": "Taiga Mountains", + "biome.minecraft.ocean": "Ocean", + "biome.minecraft.plains": "Plains", + "biome.minecraft.giant_tree_taiga_hills": "Giant Tree Taiga Hills", + "biome.minecraft.giant_tree_taiga": "Giant Tree Taiga", + "biome.minecraft.river": "River", + "biome.minecraft.dark_forest": "Dark Forest", + "biome.minecraft.savanna_plateau": "Savanna Plateau", + "biome.minecraft.savanna": "Savanna", + "biome.minecraft.end_barrens": "End Barrens", + "biome.minecraft.end_highlands": "End Highlands", + "biome.minecraft.small_end_islands": "Small End Islands", + "biome.minecraft.end_midlands": "End Midlands", + "biome.minecraft.the_end": "The End", + "biome.minecraft.mountain_edge": "Mountain Edge", + "biome.minecraft.stone_shore": "Stone Shore", + "biome.minecraft.swamp": "Swamp", + "biome.minecraft.snowy_taiga": "Snowy Taiga", + "biome.minecraft.snowy_taiga_hills": "Snowy Taiga Hills", + "biome.minecraft.taiga_hills": "Taiga Hills", + "biome.minecraft.taiga": "Taiga", + "biome.minecraft.the_void": "The Void", + "biome.minecraft.warm_ocean": "Warm Ocean", + "generator.minecraft.surface": "Surface", + "generator.minecraft.caves": "Caves", + "generator.minecraft.floating_islands": "Floating Islands", + "realms.missing.module.error.text": "Realms could not be opened right now, please try again later", + "realms.missing.snapshot.error.text": "Realms is currently not supported in snapshots" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/materials.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/materials.json new file mode 100644 index 00000000..631a75ac --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/materials.json @@ -0,0 +1,61 @@ +{ + "rock": { + "468": 6, + "482": 2, + "486": 4, + "490": 8, + "497": 12 + }, + "wood": { + "469": 6, + "483": 2, + "487": 4, + "491": 8, + "498": 12 + }, + "plant": { + "469": 6, + "479": 1.5, + "480": 1.5, + "483": 2, + "484": 1.5, + "487": 4, + "488": 1.5, + "491": 8, + "495": 1.5, + "498": 12 + }, + "melon": { + "479": 1.5, + "480": 1.5, + "484": 1.5, + "488": 1.5, + "495": 1.5 + }, + "leaves": { + "479": 1.5, + "480": 1.5, + "484": 1.5, + "488": 1.5, + "495": 1.5, + "609": 6 + }, + "dirt": { + "467": 6, + "481": 2, + "485": 4, + "489": 8, + "496": 12 + }, + "web": { + "479": 15, + "480": 15, + "484": 15, + "488": 15, + "495": 15, + "609": 15 + }, + "wool": { + "609": 4.8 + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/particles.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/particles.json new file mode 100644 index 00000000..3a7182df --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/particles.json @@ -0,0 +1,202 @@ +[ + { + "id": 0, + "name": "ambient_entity_effect" + }, + { + "id": 1, + "name": "angry_villager" + }, + { + "id": 2, + "name": "barrier" + }, + { + "id": 3, + "name": "block" + }, + { + "id": 4, + "name": "bubble" + }, + { + "id": 5, + "name": "cloud" + }, + { + "id": 6, + "name": "crit" + }, + { + "id": 7, + "name": "damage_indicator" + }, + { + "id": 8, + "name": "dragon_breath" + }, + { + "id": 9, + "name": "dripping_lava" + }, + { + "id": 10, + "name": "dripping_water" + }, + { + "id": 11, + "name": "dust" + }, + { + "id": 12, + "name": "effect" + }, + { + "id": 13, + "name": "elder_guardian" + }, + { + "id": 14, + "name": "enchanted_hit" + }, + { + "id": 15, + "name": "enchant" + }, + { + "id": 16, + "name": "end_rod" + }, + { + "id": 17, + "name": "entity_effect" + }, + { + "id": 18, + "name": "explosion_emitter" + }, + { + "id": 19, + "name": "explosion" + }, + { + "id": 20, + "name": "falling_dust" + }, + { + "id": 21, + "name": "firework" + }, + { + "id": 22, + "name": "fishing" + }, + { + "id": 23, + "name": "flame" + }, + { + "id": 24, + "name": "happy_villager" + }, + { + "id": 25, + "name": "heart" + }, + { + "id": 26, + "name": "instant_effect" + }, + { + "id": 27, + "name": "item" + }, + { + "id": 28, + "name": "item_slime" + }, + { + "id": 29, + "name": "item_snowball" + }, + { + "id": 30, + "name": "large_smoke" + }, + { + "id": 31, + "name": "lava" + }, + { + "id": 32, + "name": "mycelium" + }, + { + "id": 33, + "name": "note" + }, + { + "id": 34, + "name": "poof" + }, + { + "id": 35, + "name": "portal" + }, + { + "id": 36, + "name": "rain" + }, + { + "id": 37, + "name": "smoke" + }, + { + "id": 38, + "name": "spit" + }, + { + "id": 39, + "name": "squid_ink" + }, + { + "id": 40, + "name": "sweep_attack" + }, + { + "id": 41, + "name": "totem_of_undying" + }, + { + "id": 42, + "name": "underwater" + }, + { + "id": 43, + "name": "splash" + }, + { + "id": 44, + "name": "witch" + }, + { + "id": 45, + "name": "bubble_pop" + }, + { + "id": 46, + "name": "current_down" + }, + { + "id": 47, + "name": "bubble_column_up" + }, + { + "id": 48, + "name": "nautilus" + }, + { + "id": 49, + "name": "dolphin" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/protocol.json new file mode 100644 index 00000000..1d27a156 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/protocol.json @@ -0,0 +1,4741 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "itemId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "itemId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "11": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "20": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "27": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "recipeId", + "type": "string" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "crafting_special_armordye": "void", + "crafting_special_bookcloning": "void", + "crafting_special_mapcloning": "void", + "crafting_special_mapextending": "void", + "crafting_special_firework_rocket": "void", + "crafting_special_firework_star": "void", + "crafting_special_firework_star_fade": "void", + "crafting_special_repairitem": "void", + "crafting_special_tippedarrow": "void", + "crafting_special_bannerduplicate": "void", + "crafting_special_banneraddpattern": "void", + "crafting_special_shielddecoration": "void", + "crafting_special_shulkerboxcoloring": "void", + "smelting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "chat", + "0x0f": "multi_block_change", + "0x10": "tab_complete", + "0x11": "declare_commands", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "open_window", + "0x15": "window_items", + "0x16": "craft_progress_bar", + "0x17": "set_slot", + "0x18": "set_cooldown", + "0x19": "custom_payload", + "0x1a": "named_sound_effect", + "0x1b": "kick_disconnect", + "0x1c": "entity_status", + "0x1d": "nbt_query_response", + "0x1e": "explosion", + "0x1f": "unload_chunk", + "0x20": "game_state_change", + "0x21": "keep_alive", + "0x22": "map_chunk", + "0x23": "world_event", + "0x24": "world_particles", + "0x25": "login", + "0x26": "map", + "0x27": "entity", + "0x28": "rel_entity_move", + "0x29": "entity_move_look", + "0x2a": "entity_look", + "0x2b": "vehicle_move", + "0x2c": "open_sign_entity", + "0x2d": "craft_recipe_response", + "0x2e": "abilities", + "0x2f": "combat_event", + "0x30": "player_info", + "0x31": "face_player", + "0x32": "position", + "0x33": "bed", + "0x34": "unlock_recipes", + "0x35": "entity_destroy", + "0x36": "remove_entity_effect", + "0x37": "resource_pack_send", + "0x38": "respawn", + "0x39": "entity_head_rotation", + "0x3a": "select_advancement_tab", + "0x3b": "world_border", + "0x3c": "camera", + "0x3d": "held_item_slot", + "0x3e": "scoreboard_display_objective", + "0x3f": "entity_metadata", + "0x40": "attach_entity", + "0x41": "entity_velocity", + "0x42": "entity_equipment", + "0x43": "experience", + "0x44": "update_health", + "0x45": "scoreboard_objective", + "0x46": "set_passengers", + "0x47": "teams", + "0x48": "scoreboard_score", + "0x49": "spawn_position", + "0x4a": "update_time", + "0x4b": "title", + "0x4c": "stop_sound", + "0x4d": "sound_effect", + "0x4e": "playerlist_header", + "0x4f": "collect", + "0x50": "entity_teleport", + "0x51": "advancements", + "0x52": "entity_update_attributes", + "0x53": "entity_effect", + "0x54": "declare_recipes", + "0x55": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "tab_complete", + "0x06": "transaction", + "0x07": "enchant_item", + "0x08": "window_click", + "0x09": "close_window", + "0x0a": "custom_payload", + "0x0b": "edit_book", + "0x0c": "query_entity_nbt", + "0x0d": "use_entity", + "0x0e": "keep_alive", + "0x0f": "flying", + "0x10": "position", + "0x11": "position_look", + "0x12": "look", + "0x13": "vehicle_move", + "0x14": "steer_boat", + "0x15": "pick_item", + "0x16": "craft_recipe_request", + "0x17": "abilities", + "0x18": "block_dig", + "0x19": "entity_action", + "0x1a": "steer_vehicle", + "0x1b": "crafting_book_data", + "0x1c": "name_item", + "0x1d": "resource_pack_receive", + "0x1e": "advancement_tab", + "0x1f": "select_trade", + "0x20": "set_beacon_effect", + "0x21": "held_item_slot", + "0x22": "update_command_block", + "0x23": "update_command_block_minecart", + "0x24": "set_creative_slot", + "0x25": "update_structure_block", + "0x26": "update_sign", + "0x27": "arm_animation", + "0x28": "spectate", + "0x29": "block_place", + "0x2a": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/recipes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/recipes.json new file mode 100644 index 00000000..6fdc3d91 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/recipes.json @@ -0,0 +1,12744 @@ +{ + "2": [ + { + "ingredients": [ + 4, + 711 + ], + "result": { + "count": 1, + "id": 2 + } + } + ], + "3": [ + { + "inShape": [ + [ + 2, + 2 + ], + [ + 2, + 2 + ] + ], + "result": { + "count": 4, + "id": 3 + } + } + ], + "4": [ + { + "inShape": [ + [ + 711, + 12 + ], + [ + 12, + 711 + ] + ], + "result": { + "count": 2, + "id": 4 + } + } + ], + "5": [ + { + "inShape": [ + [ + 4, + 4 + ], + [ + 4, + 4 + ] + ], + "result": { + "count": 4, + "id": 5 + } + } + ], + "6": [ + { + "ingredients": [ + 4, + 12 + ], + "result": { + "count": 2, + "id": 6 + } + } + ], + "7": [ + { + "inShape": [ + [ + 6, + 6 + ], + [ + 6, + 6 + ] + ], + "result": { + "count": 4, + "id": 7 + } + } + ], + "10": [ + { + "inShape": [ + [ + 28, + 9 + ], + [ + 9, + 28 + ] + ], + "result": { + "count": 4, + "id": 10 + } + } + ], + "13": [ + { + "ingredients": [ + 32 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 50 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 38 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 44 + ], + "result": { + "count": 4, + "id": 13 + } + } + ], + "14": [ + { + "ingredients": [ + 33 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 51 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 39 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 45 + ], + "result": { + "count": 4, + "id": 14 + } + } + ], + "15": [ + { + "ingredients": [ + 34 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 52 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 40 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 46 + ], + "result": { + "count": 4, + "id": 15 + } + } + ], + "16": [ + { + "ingredients": [ + 35 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 53 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 41 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 47 + ], + "result": { + "count": 4, + "id": 16 + } + } + ], + "17": [ + { + "ingredients": [ + 36 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 54 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 42 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 48 + ], + "result": { + "count": 4, + "id": 17 + } + } + ], + "18": [ + { + "ingredients": [ + 37 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 55 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 43 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 49 + ], + "result": { + "count": 4, + "id": 18 + } + } + ], + "50": [ + { + "inShape": [ + [ + 32, + 32 + ], + [ + 32, + 32 + ] + ], + "result": { + "count": 3, + "id": 50 + } + } + ], + "51": [ + { + "inShape": [ + [ + 33, + 33 + ], + [ + 33, + 33 + ] + ], + "result": { + "count": 3, + "id": 51 + } + } + ], + "52": [ + { + "inShape": [ + [ + 34, + 34 + ], + [ + 34, + 34 + ] + ], + "result": { + "count": 3, + "id": 52 + } + } + ], + "53": [ + { + "inShape": [ + [ + 35, + 35 + ], + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 53 + } + } + ], + "54": [ + { + "inShape": [ + [ + 36, + 36 + ], + [ + 36, + 36 + ] + ], + "result": { + "count": 3, + "id": 54 + } + } + ], + "55": [ + { + "inShape": [ + [ + 37, + 37 + ], + [ + 37, + 37 + ] + ], + "result": { + "count": 3, + "id": 55 + } + } + ], + "66": [ + { + "inShape": [ + [ + 576, + 576, + 576 + ], + [ + 576, + 576, + 576 + ], + [ + 576, + 576, + 576 + ] + ], + "result": { + "count": 1, + "id": 66 + } + } + ], + "67": [ + { + "inShape": [ + [ + 12, + 542, + 12 + ], + [ + 12, + 472, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 67 + } + } + ], + "68": [ + { + "inShape": [ + [ + 26, + 26 + ], + [ + 26, + 26 + ] + ], + "result": { + "count": 1, + "id": 68 + } + } + ], + "69": [ + { + "inShape": [ + [ + 119 + ], + [ + 119 + ] + ], + "result": { + "count": 1, + "id": 69 + } + } + ], + "70": [ + { + "inShape": [ + [ + 68, + 68 + ], + [ + 68, + 68 + ] + ], + "result": { + "count": 4, + "id": 70 + } + } + ], + "71": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 542, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 542, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 542, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 542, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 542, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 542, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 71 + } + } + ], + "72": [ + { + "inShape": [ + [ + 478, + 542, + 478 + ], + [ + 478, + 492, + 478 + ], + [ + 478, + null, + 478 + ] + ], + "result": { + "count": 6, + "id": 72 + } + } + ], + "73": [ + { + "inShape": [ + [ + 477, + 542, + 477 + ], + [ + 477, + 159, + 477 + ], + [ + 477, + null, + 477 + ] + ], + "result": { + "count": 6, + "id": 73 + } + } + ], + "74": [ + { + "inShape": [ + [ + 81 + ], + [ + 558 + ] + ], + "result": { + "count": 1, + "id": 74 + } + } + ], + "81": [ + { + "inShape": [ + [ + 12, + 542, + 12 + ], + [ + 12, + 477, + 12 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 542, + 12 + ], + [ + 12, + 477, + 12 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 542, + 12 + ], + [ + 12, + 477, + 12 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 542, + 12 + ], + [ + 12, + 477, + 12 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 542, + 12 + ], + [ + 12, + 477, + 12 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 542, + 12 + ], + [ + 12, + 477, + 12 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 81 + } + } + ], + "82": [ + { + "inShape": [ + [ + 499, + 499 + ], + [ + 499, + 499 + ] + ], + "result": { + "count": 1, + "id": 82 + } + } + ], + "83": [ + { + "ingredients": [ + 586, + 82 + ], + "result": { + "count": 1, + "id": 83 + } + } + ], + "84": [ + { + "ingredients": [ + 585, + 82 + ], + "result": { + "count": 1, + "id": 84 + } + } + ], + "85": [ + { + "ingredients": [ + 584, + 82 + ], + "result": { + "count": 1, + "id": 85 + } + } + ], + "86": [ + { + "ingredients": [ + 583, + 82 + ], + "result": { + "count": 1, + "id": 86 + } + } + ], + "87": [ + { + "ingredients": [ + 582, + 82 + ], + "result": { + "count": 1, + "id": 87 + } + } + ], + "88": [ + { + "ingredients": [ + 581, + 82 + ], + "result": { + "count": 1, + "id": 88 + } + } + ], + "89": [ + { + "ingredients": [ + 580, + 82 + ], + "result": { + "count": 1, + "id": 89 + } + } + ], + "90": [ + { + "ingredients": [ + 579, + 82 + ], + "result": { + "count": 1, + "id": 90 + } + } + ], + "91": [ + { + "ingredients": [ + 578, + 82 + ], + "result": { + "count": 1, + "id": 91 + } + } + ], + "92": [ + { + "ingredients": [ + 577, + 82 + ], + "result": { + "count": 1, + "id": 92 + } + } + ], + "93": [ + { + "ingredients": [ + 576, + 82 + ], + "result": { + "count": 1, + "id": 93 + } + } + ], + "94": [ + { + "ingredients": [ + 575, + 82 + ], + "result": { + "count": 1, + "id": 94 + } + } + ], + "95": [ + { + "ingredients": [ + 574, + 82 + ], + "result": { + "count": 1, + "id": 95 + } + } + ], + "96": [ + { + "ingredients": [ + 573, + 82 + ], + "result": { + "count": 1, + "id": 96 + } + } + ], + "97": [ + { + "ingredients": [ + 572, + 82 + ], + "result": { + "count": 1, + "id": 97 + } + } + ], + "110": [ + { + "inShape": [ + [ + 478, + 478, + 478 + ], + [ + 478, + 478, + 478 + ], + [ + 478, + 478, + 478 + ] + ], + "result": { + "count": 1, + "id": 110 + } + } + ], + "111": [ + { + "inShape": [ + [ + 477, + 477, + 477 + ], + [ + 477, + 477, + 477 + ], + [ + 477, + 477, + 477 + ] + ], + "result": { + "count": 1, + "id": 111 + } + } + ], + "112": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 6, + "id": 112 + } + } + ], + "113": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 6, + "id": 113 + } + } + ], + "114": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 6, + "id": 114 + } + } + ], + "115": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 6, + "id": 115 + } + } + ], + "116": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 6, + "id": 116 + } + } + ], + "117": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 6, + "id": 117 + } + } + ], + "118": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ] + ], + "result": { + "count": 6, + "id": 118 + } + } + ], + "119": [ + { + "inShape": [ + [ + 68, + 68, + 68 + ] + ], + "result": { + "count": 6, + "id": 119 + } + }, + { + "inShape": [ + [ + 69, + 69, + 69 + ] + ], + "result": { + "count": 6, + "id": 119 + } + }, + { + "inShape": [ + [ + 70, + 70, + 70 + ] + ], + "result": { + "count": 6, + "id": 119 + } + } + ], + "121": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 6, + "id": 121 + } + } + ], + "122": [ + { + "inShape": [ + [ + 135, + 135, + 135 + ] + ], + "result": { + "count": 6, + "id": 122 + } + } + ], + "123": [ + { + "inShape": [ + [ + 199, + 199, + 199 + ] + ], + "result": { + "count": 6, + "id": 123 + } + }, + { + "inShape": [ + [ + 200, + 200, + 200 + ] + ], + "result": { + "count": 6, + "id": 123 + } + }, + { + "inShape": [ + [ + 201, + 201, + 201 + ] + ], + "result": { + "count": 6, + "id": 123 + } + }, + { + "inShape": [ + [ + 202, + 202, + 202 + ] + ], + "result": { + "count": 6, + "id": 123 + } + } + ], + "124": [ + { + "inShape": [ + [ + 220, + 220, + 220 + ] + ], + "result": { + "count": 6, + "id": 124 + } + } + ], + "125": [ + { + "inShape": [ + [ + 257, + 257, + 257 + ] + ], + "result": { + "count": 6, + "id": 125 + } + }, + { + "inShape": [ + [ + 258, + 258, + 258 + ] + ], + "result": { + "count": 6, + "id": 125 + } + }, + { + "inShape": [ + [ + 259, + 259, + 259 + ] + ], + "result": { + "count": 6, + "id": 125 + } + } + ], + "126": [ + { + "inShape": [ + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 6, + "id": 126 + } + }, + { + "inShape": [ + [ + 351, + 351, + 351 + ] + ], + "result": { + "count": 6, + "id": 126 + } + }, + { + "inShape": [ + [ + 352, + 352, + 352 + ] + ], + "result": { + "count": 6, + "id": 126 + } + } + ], + "127": [ + { + "inShape": [ + [ + 144, + 144, + 144 + ] + ], + "result": { + "count": 6, + "id": 127 + } + } + ], + "128": [ + { + "inShape": [ + [ + 343, + 343, + 343 + ] + ], + "result": { + "count": 6, + "id": 128 + } + } + ], + "129": [ + { + "inShape": [ + [ + 344, + 344, + 344 + ] + ], + "result": { + "count": 6, + "id": 129 + } + } + ], + "130": [ + { + "inShape": [ + [ + 345, + 345, + 345 + ] + ], + "result": { + "count": 6, + "id": 130 + } + } + ], + "135": [ + { + "inShape": [ + [ + 551, + 551 + ], + [ + 551, + 551 + ] + ], + "result": { + "count": 1, + "id": 135 + } + } + ], + "136": [ + { + "inShape": [ + [ + 501, + 26, + 501 + ], + [ + 26, + 501, + 26 + ], + [ + 501, + 26, + 501 + ] + ], + "result": { + "count": 1, + "id": 136 + } + }, + { + "inShape": [ + [ + 501, + 27, + 501 + ], + [ + 27, + 501, + 27 + ], + [ + 501, + 27, + 501 + ] + ], + "result": { + "count": 1, + "id": 136 + } + } + ], + "137": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 557, + 557, + 557 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 137 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 557, + 557, + 557 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 137 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 557, + 557, + 557 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 137 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 557, + 557, + 557 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 137 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 557, + 557, + 557 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 137 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 557, + 557, + 557 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 137 + } + } + ], + "138": [ + { + "ingredients": [ + 12, + 209 + ], + "result": { + "count": 1, + "id": 138 + } + } + ], + "140": [ + { + "inShape": [ + [ + 492 + ], + [ + 474 + ] + ], + "result": { + "count": 4, + "id": 140 + } + }, + { + "inShape": [ + [ + 492 + ], + [ + 475 + ] + ], + "result": { + "count": 4, + "id": 140 + } + } + ], + "141": [ + { + "inShape": [ + [ + 748 + ], + [ + 620 + ] + ], + "result": { + "count": 4, + "id": 141 + } + } + ], + "144": [ + { + "inShape": [ + [ + 748, + 748 + ], + [ + 748, + 748 + ] + ], + "result": { + "count": 4, + "id": 144 + } + } + ], + "145": [ + { + "inShape": [ + [ + 127 + ], + [ + 127 + ] + ], + "result": { + "count": 1, + "id": 145 + } + } + ], + "146": [ + { + "inShape": [ + [ + 144, + 144, + 144 + ], + [ + 144, + 144, + null + ], + [ + 144, + null, + null + ] + ], + "result": { + "count": 4, + "id": 146 + } + } + ], + "148": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + null + ], + [ + 13, + null, + null + ] + ], + "result": { + "count": 4, + "id": 148 + } + } + ], + "149": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 149 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 149 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 149 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 149 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 149 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 149 + } + } + ], + "151": [ + { + "inShape": [ + [ + 476, + 476, + 476 + ], + [ + 476, + 476, + 476 + ], + [ + 476, + 476, + 476 + ] + ], + "result": { + "count": 1, + "id": 151 + } + } + ], + "152": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 152 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 152 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 152 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 152 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 152 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 152 + } + } + ], + "154": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + null, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 154 + } + } + ], + "155": [ + { + "inShape": [ + [ + 492, + null, + 492 + ], + [ + 492, + 492, + 492 + ], + [ + 492, + null, + 492 + ] + ], + "result": { + "count": 3, + "id": 155 + } + } + ], + "156": [ + { + "inShape": [ + [ + 477, + null, + 477 + ], + [ + 477, + 492, + 477 + ], + [ + 477, + null, + 477 + ] + ], + "result": { + "count": 16, + "id": 156 + } + } + ], + "157": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + 12, + null + ], + [ + 12, + null, + null + ] + ], + "result": { + "count": 4, + "id": 157 + } + } + ], + "158": [ + { + "inShape": [ + [ + 12 + ], + [ + 492 + ] + ], + "result": { + "count": 1, + "id": 158 + } + } + ], + "159": [ + { + "inShape": [ + [ + 1, + 1 + ] + ], + "result": { + "count": 1, + "id": 159 + } + } + ], + "160": [ + { + "inShape": [ + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 160 + } + } + ], + "161": [ + { + "inShape": [ + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 161 + } + } + ], + "162": [ + { + "inShape": [ + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 162 + } + } + ], + "163": [ + { + "inShape": [ + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 163 + } + } + ], + "164": [ + { + "inShape": [ + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 164 + } + } + ], + "165": [ + { + "inShape": [ + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 165 + } + } + ], + "167": [ + { + "inShape": [ + [ + 492 + ], + [ + 542 + ] + ], + "result": { + "count": 1, + "id": 167 + } + } + ], + "168": [ + { + "ingredients": [ + 1 + ], + "result": { + "count": 1, + "id": 168 + } + } + ], + "169": [ + { + "inShape": [ + [ + 171, + 171, + 171 + ] + ], + "result": { + "count": 6, + "id": 169 + } + } + ], + "171": [ + { + "inShape": [ + [ + 543, + 543 + ], + [ + 543, + 543 + ] + ], + "result": { + "count": 1, + "id": 171 + } + } + ], + "173": [ + { + "inShape": [ + [ + 552, + 552 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 173 + } + } + ], + "174": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 476, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 174 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 476, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 174 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 476, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 174 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 476, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 174 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 476, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 174 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 476, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 174 + } + } + ], + "175": [ + { + "inShape": [ + [ + 13, + 492, + 13 + ], + [ + 13, + 492, + 13 + ] + ], + "result": { + "count": 3, + "id": 175 + } + } + ], + "176": [ + { + "inShape": [ + [ + 14, + 492, + 14 + ], + [ + 14, + 492, + 14 + ] + ], + "result": { + "count": 3, + "id": 176 + } + } + ], + "177": [ + { + "inShape": [ + [ + 15, + 492, + 15 + ], + [ + 15, + 492, + 15 + ] + ], + "result": { + "count": 3, + "id": 177 + } + } + ], + "178": [ + { + "inShape": [ + [ + 16, + 492, + 16 + ], + [ + 16, + 492, + 16 + ] + ], + "result": { + "count": 3, + "id": 178 + } + } + ], + "179": [ + { + "inShape": [ + [ + 17, + 492, + 17 + ], + [ + 17, + 492, + 17 + ] + ], + "result": { + "count": 3, + "id": 179 + } + } + ], + "180": [ + { + "inShape": [ + [ + 18, + 492, + 18 + ], + [ + 18, + 492, + 18 + ] + ], + "result": { + "count": 3, + "id": 180 + } + } + ], + "185": [ + { + "inShape": [ + [ + 565, + 565 + ], + [ + 565, + 565 + ] + ], + "result": { + "count": 1, + "id": 185 + } + } + ], + "186": [ + { + "inShape": [ + [ + 140 + ], + [ + 182 + ] + ], + "result": { + "count": 1, + "id": 186 + } + } + ], + "187": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 2, + "id": 187 + } + } + ], + "188": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 2, + "id": 188 + } + } + ], + "189": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 2, + "id": 189 + } + } + ], + "190": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 2, + "id": 190 + } + } + ], + "191": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 2, + "id": 191 + } + } + ], + "192": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 2, + "id": 192 + } + } + ], + "199": [ + { + "inShape": [ + [ + 1, + 1 + ], + [ + 1, + 1 + ] + ], + "result": { + "count": 4, + "id": 199 + } + } + ], + "200": [ + { + "ingredients": [ + 199, + 209 + ], + "result": { + "count": 1, + "id": 200 + } + } + ], + "202": [ + { + "inShape": [ + [ + 123 + ], + [ + 123 + ] + ], + "result": { + "count": 1, + "id": 202 + } + } + ], + "206": [ + { + "inShape": [ + [ + 477, + 477, + 477 + ], + [ + 477, + 477, + 477 + ] + ], + "result": { + "count": 16, + "id": 206 + } + } + ], + "207": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 16, + "id": 207 + } + } + ], + "208": [ + { + "inShape": [ + [ + 610, + 610, + 610 + ], + [ + 610, + 610, + 610 + ], + [ + 610, + 610, + 610 + ] + ], + "result": { + "count": 1, + "id": 208 + } + } + ], + "210": [ + { + "inShape": [ + [ + 492, + 13, + 492 + ], + [ + 492, + 13, + 492 + ] + ], + "result": { + "count": 1, + "id": 210 + } + } + ], + "211": [ + { + "inShape": [ + [ + 492, + 14, + 492 + ], + [ + 492, + 14, + 492 + ] + ], + "result": { + "count": 1, + "id": 211 + } + } + ], + "212": [ + { + "inShape": [ + [ + 492, + 15, + 492 + ], + [ + 492, + 15, + 492 + ] + ], + "result": { + "count": 1, + "id": 212 + } + } + ], + "213": [ + { + "inShape": [ + [ + 492, + 16, + 492 + ], + [ + 492, + 16, + 492 + ] + ], + "result": { + "count": 1, + "id": 213 + } + } + ], + "214": [ + { + "inShape": [ + [ + 492, + 17, + 492 + ], + [ + 492, + 17, + 492 + ] + ], + "result": { + "count": 1, + "id": 214 + } + } + ], + "215": [ + { + "inShape": [ + [ + 492, + 18, + 492 + ], + [ + 492, + 18, + 492 + ] + ], + "result": { + "count": 1, + "id": 215 + } + } + ], + "216": [ + { + "inShape": [ + [ + 135, + 135, + 135 + ], + [ + 135, + 135, + null + ], + [ + 135, + null, + null + ] + ], + "result": { + "count": 4, + "id": 216 + } + } + ], + "217": [ + { + "inShape": [ + [ + 199, + 199, + 199 + ], + [ + 199, + 199, + null + ], + [ + 199, + null, + null + ] + ], + "result": { + "count": 4, + "id": 217 + } + }, + { + "inShape": [ + [ + 200, + 200, + 200 + ], + [ + 200, + 200, + null + ], + [ + 200, + null, + null + ] + ], + "result": { + "count": 4, + "id": 217 + } + }, + { + "inShape": [ + [ + 201, + 201, + 201 + ], + [ + 201, + 201, + null + ], + [ + 201, + null, + null + ] + ], + "result": { + "count": 4, + "id": 217 + } + }, + { + "inShape": [ + [ + 202, + 202, + 202 + ], + [ + 202, + 202, + null + ], + [ + 202, + null, + null + ] + ], + "result": { + "count": 4, + "id": 217 + } + } + ], + "220": [ + { + "inShape": [ + [ + 710, + 710 + ], + [ + 710, + 710 + ] + ], + "result": { + "count": 1, + "id": 220 + } + } + ], + "221": [ + { + "inShape": [ + [ + 220, + 220, + 220 + ], + [ + 220, + 220, + 220 + ] + ], + "result": { + "count": 6, + "id": 221 + } + } + ], + "222": [ + { + "inShape": [ + [ + 220, + 220, + 220 + ], + [ + 220, + 220, + null + ], + [ + 220, + null, + null + ] + ], + "result": { + "count": 4, + "id": 222 + } + } + ], + "223": [ + { + "inShape": [ + [ + 139, + 139, + 139 + ], + [ + 476, + 139, + 476 + ], + [ + null, + 557, + null + ] + ], + "result": { + "count": 1, + "id": 223 + } + } + ], + "226": [ + { + "inShape": [ + [ + 225, + 225 + ], + [ + 225, + 225 + ] + ], + "result": { + "count": 4, + "id": 226 + } + } + ], + "228": [ + { + "inShape": [ + [ + null, + 542, + null + ], + [ + 542, + 185, + 542 + ], + [ + null, + 542, + null + ] + ], + "result": { + "count": 1, + "id": 228 + } + } + ], + "229": [ + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 68, + 68, + null + ], + [ + 68, + null, + null + ] + ], + "result": { + "count": 4, + "id": 229 + } + }, + { + "inShape": [ + [ + 69, + 69, + 69 + ], + [ + 69, + 69, + null + ], + [ + 69, + null, + null + ] + ], + "result": { + "count": 4, + "id": 229 + } + }, + { + "inShape": [ + [ + 70, + 70, + 70 + ], + [ + 70, + 70, + null + ], + [ + 70, + null, + null + ] + ], + "result": { + "count": 4, + "id": 229 + } + } + ], + "231": [ + { + "inShape": [ + [ + 139, + 139, + 139 + ], + [ + 139, + 632, + 139 + ], + [ + 139, + 139, + 139 + ] + ], + "result": { + "count": 1, + "id": 231 + } + } + ], + "232": [ + { + "inShape": [ + [ + 13 + ], + [ + 492 + ], + [ + 477 + ] + ], + "result": { + "count": 2, + "id": 232 + } + }, + { + "inShape": [ + [ + 14 + ], + [ + 492 + ], + [ + 477 + ] + ], + "result": { + "count": 2, + "id": 232 + } + }, + { + "inShape": [ + [ + 15 + ], + [ + 492 + ], + [ + 477 + ] + ], + "result": { + "count": 2, + "id": 232 + } + }, + { + "inShape": [ + [ + 16 + ], + [ + 492 + ], + [ + 477 + ] + ], + "result": { + "count": 2, + "id": 232 + } + }, + { + "inShape": [ + [ + 17 + ], + [ + 492 + ], + [ + 477 + ] + ], + "result": { + "count": 2, + "id": 232 + } + }, + { + "inShape": [ + [ + 18 + ], + [ + 492 + ], + [ + 477 + ] + ], + "result": { + "count": 2, + "id": 232 + } + } + ], + "233": [ + { + "inShape": [ + [ + 689, + 689, + 689 + ], + [ + 689, + 689, + 689 + ], + [ + 689, + 689, + 689 + ] + ], + "result": { + "count": 1, + "id": 233 + } + } + ], + "234": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + null + ], + [ + 14, + null, + null + ] + ], + "result": { + "count": 4, + "id": 234 + } + } + ], + "235": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + null + ], + [ + 15, + null, + null + ] + ], + "result": { + "count": 4, + "id": 235 + } + } + ], + "236": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + null + ], + [ + 16, + null, + null + ] + ], + "result": { + "count": 4, + "id": 236 + } + } + ], + "238": [ + { + "inShape": [ + [ + 139, + 139, + 139 + ], + [ + 64, + 705, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 238 + } + } + ], + "239": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 6, + "id": 239 + } + } + ], + "240": [ + { + "inShape": [ + [ + 138, + 138, + 138 + ], + [ + 138, + 138, + 138 + ] + ], + "result": { + "count": 6, + "id": 240 + } + } + ], + "241": [ + { + "ingredients": [ + 13 + ], + "result": { + "count": 1, + "id": 241 + } + } + ], + "242": [ + { + "ingredients": [ + 14 + ], + "result": { + "count": 1, + "id": 242 + } + } + ], + "243": [ + { + "ingredients": [ + 15 + ], + "result": { + "count": 1, + "id": 243 + } + } + ], + "244": [ + { + "ingredients": [ + 16 + ], + "result": { + "count": 1, + "id": 244 + } + } + ], + "245": [ + { + "ingredients": [ + 17 + ], + "result": { + "count": 1, + "id": 245 + } + } + ], + "246": [ + { + "ingredients": [ + 18 + ], + "result": { + "count": 1, + "id": 246 + } + } + ], + "247": [ + { + "inShape": [ + [ + 477, + 477, + 477 + ], + [ + null, + 477, + null + ], + [ + 111, + 111, + 111 + ] + ], + "result": { + "count": 1, + "id": 247 + } + } + ], + "250": [ + { + "ingredients": [ + 149, + 232 + ], + "result": { + "count": 1, + "id": 250 + } + } + ], + "251": [ + { + "inShape": [ + [ + 478, + 478 + ] + ], + "result": { + "count": 1, + "id": 251 + } + } + ], + "252": [ + { + "inShape": [ + [ + 477, + 477 + ] + ], + "result": { + "count": 1, + "id": 252 + } + } + ], + "253": [ + { + "inShape": [ + [ + 112, + 112, + 112 + ], + [ + 711, + 711, + 711 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 253 + } + }, + { + "inShape": [ + [ + 113, + 113, + 113 + ], + [ + 711, + 711, + 711 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 253 + } + }, + { + "inShape": [ + [ + 114, + 114, + 114 + ], + [ + 711, + 711, + 711 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 253 + } + }, + { + "inShape": [ + [ + 115, + 115, + 115 + ], + [ + 711, + 711, + 711 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 253 + } + }, + { + "inShape": [ + [ + 116, + 116, + 116 + ], + [ + 711, + 711, + 711 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 253 + } + }, + { + "inShape": [ + [ + 117, + 117, + 117 + ], + [ + 711, + 711, + 711 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 253 + } + } + ], + "254": [ + { + "inShape": [ + [ + 542, + 542, + 542 + ], + [ + 542, + 542, + 542 + ], + [ + 542, + 542, + 542 + ] + ], + "result": { + "count": 1, + "id": 254 + } + } + ], + "256": [ + { + "inShape": [ + [ + null, + 477, + null + ], + [ + 477, + 149, + 477 + ], + [ + 477, + null, + 477 + ] + ], + "result": { + "count": 1, + "id": 256 + } + } + ], + "257": [ + { + "inShape": [ + [ + 125 + ], + [ + 125 + ] + ], + "result": { + "count": 1, + "id": 257 + } + } + ], + "258": [ + { + "inShape": [ + [ + 711, + 711 + ], + [ + 711, + 711 + ] + ], + "result": { + "count": 1, + "id": 258 + } + } + ], + "259": [ + { + "inShape": [ + [ + 258 + ], + [ + 258 + ] + ], + "result": { + "count": 2, + "id": 259 + } + } + ], + "260": [ + { + "inShape": [ + [ + 257, + 257, + 257 + ], + [ + 257, + 257, + null + ], + [ + 257, + null, + null + ] + ], + "result": { + "count": 4, + "id": 260 + } + }, + { + "inShape": [ + [ + 258, + 258, + 258 + ], + [ + 258, + 258, + null + ], + [ + 258, + null, + null + ] + ], + "result": { + "count": 4, + "id": 260 + } + }, + { + "inShape": [ + [ + 259, + 259, + 259 + ], + [ + 259, + 259, + null + ], + [ + 259, + null, + null + ] + ], + "result": { + "count": 4, + "id": 260 + } + } + ], + "261": [ + { + "inShape": [ + [ + 477, + 492, + 477 + ], + [ + 477, + 167, + 477 + ], + [ + 477, + 492, + 477 + ] + ], + "result": { + "count": 6, + "id": 261 + } + } + ], + "262": [ + { + "inShape": [ + [ + 12, + 542, + 12 + ], + [ + 12, + null, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 262 + } + } + ], + "263": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 587, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 263 + } + } + ], + "264": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 586, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 264 + } + } + ], + "265": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 585, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 265 + } + } + ], + "266": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 584, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 266 + } + } + ], + "267": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 583, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 267 + } + } + ], + "268": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 582, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 268 + } + } + ], + "269": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 581, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 269 + } + } + ], + "270": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 580, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 270 + } + } + ], + "271": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 579, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 271 + } + } + ], + "272": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 578, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 272 + } + } + ], + "273": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 577, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 273 + } + } + ], + "274": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 576, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 274 + } + } + ], + "275": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 575, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 275 + } + } + ], + "276": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 574, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 276 + } + } + ], + "277": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 573, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 277 + } + } + ], + "278": [ + { + "inShape": [ + [ + 298, + 298, + 298 + ], + [ + 298, + 572, + 298 + ], + [ + 298, + 298, + 298 + ] + ], + "result": { + "count": 8, + "id": 278 + } + } + ], + "280": [ + { + "inShape": [ + [ + 477, + 477 + ], + [ + 477, + 477 + ] + ], + "result": { + "count": 1, + "id": 280 + } + } + ], + "281": [ + { + "inShape": [ + [ + 508, + 508, + 508 + ], + [ + 508, + 508, + 508 + ], + [ + 508, + 508, + 508 + ] + ], + "result": { + "count": 1, + "id": 281 + } + } + ], + "282": [ + { + "inShape": [ + [ + 82, + 82 + ] + ], + "result": { + "count": 3, + "id": 282 + } + } + ], + "283": [ + { + "inShape": [ + [ + 83, + 83 + ] + ], + "result": { + "count": 3, + "id": 283 + } + } + ], + "284": [ + { + "inShape": [ + [ + 84, + 84 + ] + ], + "result": { + "count": 3, + "id": 284 + } + } + ], + "285": [ + { + "inShape": [ + [ + 85, + 85 + ] + ], + "result": { + "count": 3, + "id": 285 + } + } + ], + "286": [ + { + "inShape": [ + [ + 86, + 86 + ] + ], + "result": { + "count": 3, + "id": 286 + } + } + ], + "287": [ + { + "inShape": [ + [ + 87, + 87 + ] + ], + "result": { + "count": 3, + "id": 287 + } + } + ], + "288": [ + { + "inShape": [ + [ + 88, + 88 + ] + ], + "result": { + "count": 3, + "id": 288 + } + } + ], + "289": [ + { + "inShape": [ + [ + 89, + 89 + ] + ], + "result": { + "count": 3, + "id": 289 + } + } + ], + "290": [ + { + "inShape": [ + [ + 90, + 90 + ] + ], + "result": { + "count": 3, + "id": 290 + } + } + ], + "291": [ + { + "inShape": [ + [ + 91, + 91 + ] + ], + "result": { + "count": 3, + "id": 291 + } + } + ], + "292": [ + { + "inShape": [ + [ + 92, + 92 + ] + ], + "result": { + "count": 3, + "id": 292 + } + } + ], + "293": [ + { + "inShape": [ + [ + 93, + 93 + ] + ], + "result": { + "count": 3, + "id": 293 + } + } + ], + "294": [ + { + "inShape": [ + [ + 94, + 94 + ] + ], + "result": { + "count": 3, + "id": 294 + } + } + ], + "295": [ + { + "inShape": [ + [ + 95, + 95 + ] + ], + "result": { + "count": 3, + "id": 295 + } + } + ], + "296": [ + { + "inShape": [ + [ + 96, + 96 + ] + ], + "result": { + "count": 3, + "id": 296 + } + } + ], + "297": [ + { + "inShape": [ + [ + 97, + 97 + ] + ], + "result": { + "count": 3, + "id": 297 + } + } + ], + "299": [ + { + "inShape": [ + [ + 474, + 474, + 474 + ], + [ + 474, + 474, + 474 + ], + [ + 474, + 474, + 474 + ] + ], + "result": { + "count": 1, + "id": 299 + } + } + ], + "300": [ + { + "ingredients": [ + 170, + 170, + 170, + 170, + 170, + 170, + 170, + 170, + 170 + ], + "result": { + "count": 1, + "id": 300 + } + } + ], + "301": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + null + ], + [ + 17, + null, + null + ] + ], + "result": { + "count": 4, + "id": 301 + } + } + ], + "302": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + null + ], + [ + 18, + null, + null + ] + ], + "result": { + "count": 4, + "id": 302 + } + } + ], + "303": [ + { + "inShape": [ + [ + 558, + 558, + 558 + ], + [ + 558, + 558, + 558 + ], + [ + 558, + 558, + 558 + ] + ], + "result": { + "count": 1, + "id": 303 + } + } + ], + "311": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 587, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 311 + } + } + ], + "312": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 586, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 312 + } + } + ], + "313": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 585, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 313 + } + } + ], + "314": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 584, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 314 + } + } + ], + "315": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 583, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 315 + } + } + ], + "316": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 582, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 316 + } + } + ], + "317": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 581, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 317 + } + } + ], + "318": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 580, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 318 + } + } + ], + "319": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 579, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 319 + } + } + ], + "320": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 578, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 320 + } + } + ], + "321": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 577, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 321 + } + } + ], + "322": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 576, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 322 + } + } + ], + "323": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 575, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 323 + } + } + ], + "324": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 574, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 324 + } + } + ], + "325": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 573, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 325 + } + } + ], + "326": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 572, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 326 + } + } + ], + "327": [ + { + "inShape": [ + [ + 311, + 311, + 311 + ], + [ + 311, + 311, + 311 + ] + ], + "result": { + "count": 16, + "id": 327 + } + } + ], + "328": [ + { + "inShape": [ + [ + 312, + 312, + 312 + ], + [ + 312, + 312, + 312 + ] + ], + "result": { + "count": 16, + "id": 328 + } + } + ], + "329": [ + { + "inShape": [ + [ + 313, + 313, + 313 + ], + [ + 313, + 313, + 313 + ] + ], + "result": { + "count": 16, + "id": 329 + } + } + ], + "330": [ + { + "inShape": [ + [ + 314, + 314, + 314 + ], + [ + 314, + 314, + 314 + ] + ], + "result": { + "count": 16, + "id": 330 + } + } + ], + "331": [ + { + "inShape": [ + [ + 315, + 315, + 315 + ], + [ + 315, + 315, + 315 + ] + ], + "result": { + "count": 16, + "id": 331 + } + } + ], + "332": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 16, + "id": 332 + } + } + ], + "333": [ + { + "inShape": [ + [ + 317, + 317, + 317 + ], + [ + 317, + 317, + 317 + ] + ], + "result": { + "count": 16, + "id": 333 + } + } + ], + "334": [ + { + "inShape": [ + [ + 318, + 318, + 318 + ], + [ + 318, + 318, + 318 + ] + ], + "result": { + "count": 16, + "id": 334 + } + } + ], + "335": [ + { + "inShape": [ + [ + 319, + 319, + 319 + ], + [ + 319, + 319, + 319 + ] + ], + "result": { + "count": 16, + "id": 335 + } + } + ], + "336": [ + { + "inShape": [ + [ + 320, + 320, + 320 + ], + [ + 320, + 320, + 320 + ] + ], + "result": { + "count": 16, + "id": 336 + } + } + ], + "337": [ + { + "inShape": [ + [ + 321, + 321, + 321 + ], + [ + 321, + 321, + 321 + ] + ], + "result": { + "count": 16, + "id": 337 + } + } + ], + "338": [ + { + "inShape": [ + [ + 322, + 322, + 322 + ], + [ + 322, + 322, + 322 + ] + ], + "result": { + "count": 16, + "id": 338 + } + } + ], + "339": [ + { + "inShape": [ + [ + 323, + 323, + 323 + ], + [ + 323, + 323, + 323 + ] + ], + "result": { + "count": 16, + "id": 339 + } + } + ], + "340": [ + { + "inShape": [ + [ + 324, + 324, + 324 + ], + [ + 324, + 324, + 324 + ] + ], + "result": { + "count": 16, + "id": 340 + } + } + ], + "341": [ + { + "inShape": [ + [ + 325, + 325, + 325 + ], + [ + 325, + 325, + 325 + ] + ], + "result": { + "count": 16, + "id": 341 + } + } + ], + "342": [ + { + "inShape": [ + [ + 326, + 326, + 326 + ], + [ + 326, + 326, + 326 + ] + ], + "result": { + "count": 16, + "id": 342 + } + } + ], + "343": [ + { + "inShape": [ + [ + 714, + 714 + ], + [ + 714, + 714 + ] + ], + "result": { + "count": 1, + "id": 343 + } + } + ], + "344": [ + { + "inShape": [ + [ + 714, + 714, + 714 + ], + [ + 714, + 714, + 714 + ], + [ + 714, + 714, + 714 + ] + ], + "result": { + "count": 1, + "id": 344 + } + } + ], + "345": [ + { + "inShape": [ + [ + 714, + 714, + 714 + ], + [ + 714, + 572, + 714 + ], + [ + 714, + 714, + 714 + ] + ], + "result": { + "count": 1, + "id": 345 + } + } + ], + "346": [ + { + "inShape": [ + [ + 343, + 343, + 343 + ], + [ + 343, + 343, + null + ], + [ + 343, + null, + null + ] + ], + "result": { + "count": 4, + "id": 346 + } + } + ], + "347": [ + { + "inShape": [ + [ + 344, + 344, + 344 + ], + [ + 344, + 344, + null + ], + [ + 344, + null, + null + ] + ], + "result": { + "count": 4, + "id": 347 + } + } + ], + "348": [ + { + "inShape": [ + [ + 345, + 345, + 345 + ], + [ + 345, + 345, + null + ], + [ + 345, + null, + null + ] + ], + "result": { + "count": 4, + "id": 348 + } + } + ], + "349": [ + { + "inShape": [ + [ + 714, + 715, + 714 + ], + [ + 715, + 715, + 715 + ], + [ + 714, + 715, + 714 + ] + ], + "result": { + "count": 1, + "id": 349 + } + } + ], + "350": [ + { + "inShape": [ + [ + 27, + 27 + ], + [ + 27, + 27 + ] + ], + "result": { + "count": 1, + "id": 350 + } + } + ], + "351": [ + { + "inShape": [ + [ + 126 + ], + [ + 126 + ] + ], + "result": { + "count": 1, + "id": 351 + } + } + ], + "352": [ + { + "inShape": [ + [ + 350, + 350 + ], + [ + 350, + 350 + ] + ], + "result": { + "count": 4, + "id": 352 + } + } + ], + "353": [ + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 350, + null + ], + [ + 350, + null, + null + ] + ], + "result": { + "count": 4, + "id": 353 + } + }, + { + "inShape": [ + [ + 351, + 351, + 351 + ], + [ + 351, + 351, + null + ], + [ + 351, + null, + null + ] + ], + "result": { + "count": 4, + "id": 353 + } + }, + { + "inShape": [ + [ + 352, + 352, + 352 + ], + [ + 352, + 352, + null + ], + [ + 352, + null, + null + ] + ], + "result": { + "count": 4, + "id": 353 + } + } + ], + "356": [ + { + "inShape": [ + [ + 629, + 629 + ], + [ + 629, + 629 + ] + ], + "result": { + "count": 1, + "id": 356 + } + } + ], + "357": [ + { + "inShape": [ + [ + 623, + 623, + 623 + ], + [ + 623, + 623, + 623 + ], + [ + 623, + 623, + 623 + ] + ], + "result": { + "count": 1, + "id": 357 + } + } + ], + "358": [ + { + "inShape": [ + [ + 623, + 710 + ], + [ + 710, + 623 + ] + ], + "result": { + "count": 1, + "id": 358 + } + } + ], + "359": [ + { + "inShape": [ + [ + 587, + 587, + 587 + ], + [ + 587, + 587, + 587 + ], + [ + 587, + 587, + 587 + ] + ], + "result": { + "count": 1, + "id": 359 + } + } + ], + "361": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 542, + 542, + 711 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 361 + } + } + ], + "362": [ + { + "inShape": [ + [ + 765 + ], + [ + 149 + ], + [ + 765 + ] + ], + "result": { + "count": 1, + "id": 362 + } + } + ], + "411": [ + { + "ingredients": [ + 587, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 411 + } + } + ], + "412": [ + { + "ingredients": [ + 586, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 412 + } + } + ], + "413": [ + { + "ingredients": [ + 585, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 413 + } + } + ], + "414": [ + { + "ingredients": [ + 584, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 414 + } + } + ], + "415": [ + { + "ingredients": [ + 583, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 415 + } + } + ], + "416": [ + { + "ingredients": [ + 582, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 416 + } + } + ], + "417": [ + { + "ingredients": [ + 581, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 417 + } + } + ], + "418": [ + { + "ingredients": [ + 580, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 418 + } + } + ], + "419": [ + { + "ingredients": [ + 579, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 419 + } + } + ], + "420": [ + { + "ingredients": [ + 578, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 420 + } + } + ], + "421": [ + { + "ingredients": [ + 577, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 421 + } + } + ], + "422": [ + { + "ingredients": [ + 576, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 422 + } + } + ], + "423": [ + { + "ingredients": [ + 575, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 423 + } + } + ], + "424": [ + { + "ingredients": [ + 574, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 424 + } + } + ], + "425": [ + { + "ingredients": [ + 573, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 425 + } + } + ], + "426": [ + { + "ingredients": [ + 572, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 426 + } + } + ], + "453": [ + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 300, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 1, + "id": 453 + } + } + ], + "454": [ + { + "inShape": [ + [ + 783, + 783, + 783 + ], + [ + 783, + 784, + 783 + ], + [ + 783, + 783, + 783 + ] + ], + "result": { + "count": 1, + "id": 454 + } + } + ], + "455": [ + { + "inShape": [ + [ + 477, + 477 + ], + [ + 477, + 477 + ], + [ + 477, + 477 + ] + ], + "result": { + "count": 3, + "id": 455 + } + } + ], + "456": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 3, + "id": 456 + } + } + ], + "457": [ + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 3, + "id": 457 + } + } + ], + "458": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 3, + "id": 458 + } + } + ], + "459": [ + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 3, + "id": 459 + } + } + ], + "460": [ + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 3, + "id": 460 + } + } + ], + "461": [ + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 3, + "id": 461 + } + } + ], + "462": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 167, + 542, + 167 + ] + ], + "result": { + "count": 1, + "id": 462 + } + } + ], + "463": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 167, + 711, + 167 + ], + [ + null, + 167, + null + ] + ], + "result": { + "count": 1, + "id": 463 + } + } + ], + "465": [ + { + "inShape": [ + [ + 466, + null, + 466 + ], + [ + 466, + 466, + 466 + ] + ], + "result": { + "count": 1, + "id": 465 + } + } + ], + "467": [ + { + "inShape": [ + [ + 492 + ], + [ + 492 + ], + [ + 477 + ] + ], + "result": { + "count": 1, + "id": 467 + } + } + ], + "468": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + null, + 492, + null + ], + [ + 477, + 477, + 477 + ] + ], + "result": { + "count": 1, + "id": 468 + } + } + ], + "469": [ + { + "inShape": [ + [ + null, + 492 + ], + [ + 477, + 492 + ], + [ + 477, + 477 + ] + ], + "result": { + "count": 1, + "id": 469 + } + } + ], + "470": [ + { + "ingredients": [ + 477, + 530 + ], + "result": { + "count": 1, + "id": 470 + } + } + ], + "472": [ + { + "inShape": [ + [ + null, + 492, + 499 + ], + [ + 492, + null, + 499 + ], + [ + null, + 492, + 499 + ] + ], + "result": { + "count": 1, + "id": 472 + } + } + ], + "473": [ + { + "inShape": [ + [ + 500 + ], + [ + 492 + ], + [ + 530 + ] + ], + "result": { + "count": 4, + "id": 473 + } + } + ], + "474": [ + { + "ingredients": [ + 299 + ], + "result": { + "count": 9, + "id": 474 + } + } + ], + "476": [ + { + "ingredients": [ + 151 + ], + "result": { + "count": 9, + "id": 476 + } + } + ], + "477": [ + { + "ingredients": [ + 111 + ], + "result": { + "count": 9, + "id": 477 + } + }, + { + "inShape": [ + [ + 766, + 766, + 766 + ], + [ + 766, + 766, + 766 + ], + [ + 766, + 766, + 766 + ] + ], + "result": { + "count": 1, + "id": 477 + } + } + ], + "478": [ + { + "ingredients": [ + 110 + ], + "result": { + "count": 9, + "id": 478 + } + }, + { + "inShape": [ + [ + 622, + 622, + 622 + ], + [ + 622, + 622, + 622 + ], + [ + 622, + 622, + 622 + ] + ], + "result": { + "count": 1, + "id": 478 + } + } + ], + "479": [ + { + "inShape": [ + [ + 492 + ], + [ + 477 + ], + [ + 477 + ] + ], + "result": { + "count": 1, + "id": 479 + } + } + ], + "480": [ + { + "inShape": [ + [ + 492 + ], + [ + 13 + ], + [ + 13 + ] + ], + "result": { + "count": 1, + "id": 480 + } + }, + { + "inShape": [ + [ + 492 + ], + [ + 14 + ], + [ + 14 + ] + ], + "result": { + "count": 1, + "id": 480 + } + }, + { + "inShape": [ + [ + 492 + ], + [ + 15 + ], + [ + 15 + ] + ], + "result": { + "count": 1, + "id": 480 + } + }, + { + "inShape": [ + [ + 492 + ], + [ + 16 + ], + [ + 16 + ] + ], + "result": { + "count": 1, + "id": 480 + } + }, + { + "inShape": [ + [ + 492 + ], + [ + 17 + ], + [ + 17 + ] + ], + "result": { + "count": 1, + "id": 480 + } + }, + { + "inShape": [ + [ + 492 + ], + [ + 18 + ], + [ + 18 + ] + ], + "result": { + "count": 1, + "id": 480 + } + } + ], + "481": [ + { + "inShape": [ + [ + 492 + ], + [ + 492 + ], + [ + 13 + ] + ], + "result": { + "count": 1, + "id": 481 + } + }, + { + "inShape": [ + [ + 492 + ], + [ + 492 + ], + [ + 14 + ] + ], + "result": { + "count": 1, + "id": 481 + } + }, + { + "inShape": [ + [ + 492 + ], + [ + 492 + ], + [ + 15 + ] + ], + "result": { + "count": 1, + "id": 481 + } + }, + { + "inShape": [ + [ + 492 + ], + [ + 492 + ], + [ + 16 + ] + ], + "result": { + "count": 1, + "id": 481 + } + }, + { + "inShape": [ + [ + 492 + ], + [ + 492 + ], + [ + 17 + ] + ], + "result": { + "count": 1, + "id": 481 + } + }, + { + "inShape": [ + [ + 492 + ], + [ + 492 + ], + [ + 18 + ] + ], + "result": { + "count": 1, + "id": 481 + } + } + ], + "482": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + null, + 492, + null + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 482 + } + }, + { + "inShape": [ + [ + null, + 492, + null + ], + [ + null, + 492, + null + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 482 + } + }, + { + "inShape": [ + [ + null, + 492, + null + ], + [ + null, + 492, + null + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 482 + } + }, + { + "inShape": [ + [ + null, + 492, + null + ], + [ + null, + 492, + null + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 482 + } + }, + { + "inShape": [ + [ + null, + 492, + null + ], + [ + null, + 492, + null + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 482 + } + }, + { + "inShape": [ + [ + null, + 492, + null + ], + [ + null, + 492, + null + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 482 + } + } + ], + "483": [ + { + "inShape": [ + [ + null, + 492 + ], + [ + 13, + 492 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 483 + } + }, + { + "inShape": [ + [ + null, + 492 + ], + [ + 14, + 492 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 483 + } + }, + { + "inShape": [ + [ + null, + 492 + ], + [ + 15, + 492 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 483 + } + }, + { + "inShape": [ + [ + null, + 492 + ], + [ + 16, + 492 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 483 + } + }, + { + "inShape": [ + [ + null, + 492 + ], + [ + 17, + 492 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 483 + } + }, + { + "inShape": [ + [ + null, + 492 + ], + [ + 18, + 492 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 483 + } + } + ], + "484": [ + { + "inShape": [ + [ + 492 + ], + [ + 12 + ], + [ + 12 + ] + ], + "result": { + "count": 1, + "id": 484 + } + } + ], + "485": [ + { + "inShape": [ + [ + 492 + ], + [ + 492 + ], + [ + 12 + ] + ], + "result": { + "count": 1, + "id": 485 + } + } + ], + "486": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + null, + 492, + null + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 486 + } + } + ], + "487": [ + { + "inShape": [ + [ + null, + 492 + ], + [ + 12, + 492 + ], + [ + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 487 + } + } + ], + "488": [ + { + "inShape": [ + [ + 492 + ], + [ + 476 + ], + [ + 476 + ] + ], + "result": { + "count": 1, + "id": 488 + } + } + ], + "489": [ + { + "inShape": [ + [ + 492 + ], + [ + 492 + ], + [ + 476 + ] + ], + "result": { + "count": 1, + "id": 489 + } + } + ], + "490": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + null, + 492, + null + ], + [ + 476, + 476, + 476 + ] + ], + "result": { + "count": 1, + "id": 490 + } + } + ], + "491": [ + { + "inShape": [ + [ + null, + 492 + ], + [ + 476, + 492 + ], + [ + 476, + 476 + ] + ], + "result": { + "count": 1, + "id": 491 + } + } + ], + "492": [ + { + "inShape": [ + [ + 13 + ], + [ + 13 + ] + ], + "result": { + "count": 4, + "id": 492 + } + }, + { + "inShape": [ + [ + 14 + ], + [ + 14 + ] + ], + "result": { + "count": 4, + "id": 492 + } + }, + { + "inShape": [ + [ + 15 + ], + [ + 15 + ] + ], + "result": { + "count": 4, + "id": 492 + } + }, + { + "inShape": [ + [ + 16 + ], + [ + 16 + ] + ], + "result": { + "count": 4, + "id": 492 + } + }, + { + "inShape": [ + [ + 17 + ], + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 492 + } + }, + { + "inShape": [ + [ + 18 + ], + [ + 18 + ] + ], + "result": { + "count": 4, + "id": 492 + } + } + ], + "493": [ + { + "inShape": [ + [ + null, + 13, + null + ], + [ + 13, + null, + 13 + ] + ], + "result": { + "count": 4, + "id": 493 + } + }, + { + "inShape": [ + [ + null, + 14, + null + ], + [ + 14, + null, + 14 + ] + ], + "result": { + "count": 4, + "id": 493 + } + }, + { + "inShape": [ + [ + null, + 15, + null + ], + [ + 15, + null, + 15 + ] + ], + "result": { + "count": 4, + "id": 493 + } + }, + { + "inShape": [ + [ + null, + 16, + null + ], + [ + 16, + null, + 16 + ] + ], + "result": { + "count": 4, + "id": 493 + } + }, + { + "inShape": [ + [ + null, + 17, + null + ], + [ + 17, + null, + 17 + ] + ], + "result": { + "count": 4, + "id": 493 + } + }, + { + "inShape": [ + [ + null, + 18, + null + ], + [ + 18, + null, + 18 + ] + ], + "result": { + "count": 4, + "id": 493 + } + } + ], + "494": [ + { + "ingredients": [ + 108, + 109, + 493 + ], + "result": { + "count": 1, + "id": 494 + } + } + ], + "495": [ + { + "inShape": [ + [ + 492 + ], + [ + 478 + ], + [ + 478 + ] + ], + "result": { + "count": 1, + "id": 495 + } + } + ], + "496": [ + { + "inShape": [ + [ + 492 + ], + [ + 492 + ], + [ + 478 + ] + ], + "result": { + "count": 1, + "id": 496 + } + } + ], + "497": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + null, + 492, + null + ], + [ + 478, + 478, + 478 + ] + ], + "result": { + "count": 1, + "id": 497 + } + } + ], + "498": [ + { + "inShape": [ + [ + null, + 492 + ], + [ + 478, + 492 + ], + [ + 478, + 478 + ] + ], + "result": { + "count": 1, + "id": 498 + } + } + ], + "502": [ + { + "inShape": [ + [ + null, + 492 + ], + [ + null, + 492 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 502 + } + }, + { + "inShape": [ + [ + null, + 492 + ], + [ + null, + 492 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 502 + } + }, + { + "inShape": [ + [ + null, + 492 + ], + [ + null, + 492 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 502 + } + }, + { + "inShape": [ + [ + null, + 492 + ], + [ + null, + 492 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 502 + } + }, + { + "inShape": [ + [ + null, + 492 + ], + [ + null, + 492 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 502 + } + }, + { + "inShape": [ + [ + null, + 492 + ], + [ + null, + 492 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 502 + } + } + ], + "503": [ + { + "inShape": [ + [ + null, + 492 + ], + [ + null, + 492 + ], + [ + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 503 + } + } + ], + "504": [ + { + "inShape": [ + [ + null, + 492 + ], + [ + null, + 492 + ], + [ + 477, + 477 + ] + ], + "result": { + "count": 1, + "id": 504 + } + } + ], + "505": [ + { + "inShape": [ + [ + null, + 492 + ], + [ + null, + 492 + ], + [ + 476, + 476 + ] + ], + "result": { + "count": 1, + "id": 505 + } + } + ], + "506": [ + { + "inShape": [ + [ + null, + 492 + ], + [ + null, + 492 + ], + [ + 478, + 478 + ] + ], + "result": { + "count": 1, + "id": 506 + } + } + ], + "508": [ + { + "ingredients": [ + 281 + ], + "result": { + "count": 9, + "id": 508 + } + } + ], + "509": [ + { + "inShape": [ + [ + 508, + 508, + 508 + ] + ], + "result": { + "count": 1, + "id": 509 + } + } + ], + "510": [ + { + "inShape": [ + [ + 545, + null, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 510 + } + } + ], + "511": [ + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 545, + 545 + ], + [ + 545, + null, + 545 + ] + ], + "result": { + "count": 1, + "id": 511 + } + } + ], + "512": [ + { + "inShape": [ + [ + 545, + null, + 545 + ], + [ + 545, + null, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 512 + } + } + ], + "513": [ + { + "inShape": [ + [ + 545, + null, + 545 + ], + [ + 545, + null, + 545 + ] + ], + "result": { + "count": 1, + "id": 513 + } + } + ], + "518": [ + { + "inShape": [ + [ + 477, + null, + 477 + ], + [ + 477, + 477, + 477 + ] + ], + "result": { + "count": 1, + "id": 518 + } + } + ], + "519": [ + { + "inShape": [ + [ + 477, + 477, + 477 + ], + [ + 477, + 477, + 477 + ], + [ + 477, + null, + 477 + ] + ], + "result": { + "count": 1, + "id": 519 + } + } + ], + "520": [ + { + "inShape": [ + [ + 477, + null, + 477 + ], + [ + 477, + null, + 477 + ], + [ + 477, + 477, + 477 + ] + ], + "result": { + "count": 1, + "id": 520 + } + } + ], + "521": [ + { + "inShape": [ + [ + 477, + null, + 477 + ], + [ + 477, + null, + 477 + ] + ], + "result": { + "count": 1, + "id": 521 + } + } + ], + "522": [ + { + "inShape": [ + [ + 476, + null, + 476 + ], + [ + 476, + 476, + 476 + ] + ], + "result": { + "count": 1, + "id": 522 + } + } + ], + "523": [ + { + "inShape": [ + [ + 476, + 476, + 476 + ], + [ + 476, + 476, + 476 + ], + [ + 476, + null, + 476 + ] + ], + "result": { + "count": 1, + "id": 523 + } + } + ], + "524": [ + { + "inShape": [ + [ + 476, + null, + 476 + ], + [ + 476, + null, + 476 + ], + [ + 476, + 476, + 476 + ] + ], + "result": { + "count": 1, + "id": 524 + } + } + ], + "525": [ + { + "inShape": [ + [ + 476, + null, + 476 + ], + [ + 476, + null, + 476 + ] + ], + "result": { + "count": 1, + "id": 525 + } + } + ], + "526": [ + { + "inShape": [ + [ + 478, + null, + 478 + ], + [ + 478, + 478, + 478 + ] + ], + "result": { + "count": 1, + "id": 526 + } + } + ], + "527": [ + { + "inShape": [ + [ + 478, + 478, + 478 + ], + [ + 478, + 478, + 478 + ], + [ + 478, + null, + 478 + ] + ], + "result": { + "count": 1, + "id": 527 + } + } + ], + "528": [ + { + "inShape": [ + [ + 478, + null, + 478 + ], + [ + 478, + null, + 478 + ], + [ + 478, + 478, + 478 + ] + ], + "result": { + "count": 1, + "id": 528 + } + } + ], + "529": [ + { + "inShape": [ + [ + 478, + null, + 478 + ], + [ + 478, + null, + 478 + ] + ], + "result": { + "count": 1, + "id": 529 + } + } + ], + "533": [ + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 82, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 83, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 84, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 85, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 86, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 87, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 88, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 89, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 90, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 91, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 92, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 93, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 94, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 95, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 96, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 97, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 533 + } + } + ], + "534": [ + { + "inShape": [ + [ + 478, + 478, + 478 + ], + [ + 478, + 471, + 478 + ], + [ + 478, + 478, + 478 + ] + ], + "result": { + "count": 1, + "id": 534 + } + } + ], + "536": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 3, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 3, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 3, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 3, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 3, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 3, + "id": 536 + } + } + ], + "537": [ + { + "inShape": [ + [ + null, + 477, + null + ], + [ + 477, + null, + 477 + ] + ], + "result": { + "count": 1, + "id": 537 + } + } + ], + "540": [ + { + "inShape": [ + [ + 477, + 477, + 477 + ], + [ + 477, + null, + 477 + ] + ], + "result": { + "count": 1, + "id": 540 + } + } + ], + "542": [ + { + "ingredients": [ + 254 + ], + "result": { + "count": 9, + "id": 542 + } + } + ], + "544": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + null, + 13 + ] + ], + "result": { + "count": 1, + "id": 544 + } + } + ], + "545": [ + { + "inShape": [ + [ + 720, + 720 + ], + [ + 720, + 720 + ] + ], + "result": { + "count": 1, + "id": 545 + } + } + ], + "555": [ + { + "ingredients": [ + 611, + 611, + 611, + 611, + 611, + 611, + 611, + 611, + 611 + ], + "result": { + "count": 1, + "id": 555 + } + } + ], + "556": [ + { + "inShape": [ + [ + 553, + 553, + 553 + ] + ], + "result": { + "count": 3, + "id": 556 + } + } + ], + "557": [ + { + "ingredients": [ + 556, + 556, + 556, + 545 + ], + "result": { + "count": 1, + "id": 557 + } + } + ], + "558": [ + { + "ingredients": [ + 303 + ], + "result": { + "count": 9, + "id": 558 + } + } + ], + "559": [ + { + "inShape": [ + [ + 540 + ], + [ + 149 + ] + ], + "result": { + "count": 1, + "id": 559 + } + } + ], + "560": [ + { + "inShape": [ + [ + 540 + ], + [ + 154 + ] + ], + "result": { + "count": 1, + "id": 560 + } + } + ], + "562": [ + { + "inShape": [ + [ + null, + 477, + null + ], + [ + 477, + 542, + 477 + ], + [ + null, + 477, + null + ] + ], + "result": { + "count": 1, + "id": 562 + } + } + ], + "563": [ + { + "inShape": [ + [ + 492, + null, + 499 + ], + [ + null, + 492, + 499 + ], + [ + null, + null, + 492 + ] + ], + "result": { + "count": 1, + "id": 563 + } + } + ], + "564": [ + { + "inShape": [ + [ + null, + 478, + null + ], + [ + 478, + 542, + 478 + ], + [ + null, + 478, + null + ] + ], + "result": { + "count": 1, + "id": 564 + } + } + ], + "573": [ + { + "ingredients": [ + 749 + ], + "result": { + "count": 1, + "id": 573 + } + }, + { + "ingredients": [ + 99 + ], + "result": { + "count": 1, + "id": 573 + } + }, + { + "ingredients": [ + 307 + ], + "result": { + "count": 2, + "id": 573 + } + }, + { + "ingredients": [ + 103 + ], + "result": { + "count": 1, + "id": 573 + } + } + ], + "576": [ + { + "ingredients": [ + 66 + ], + "result": { + "count": 9, + "id": 576 + } + } + ], + "577": [ + { + "ingredients": [ + 576, + 573 + ], + "result": { + "count": 2, + "id": 577 + } + } + ], + "578": [ + { + "ingredients": [ + 576, + 574 + ], + "result": { + "count": 2, + "id": 578 + } + } + ], + "579": [ + { + "ingredients": [ + 102 + ], + "result": { + "count": 1, + "id": 579 + } + }, + { + "ingredients": [ + 580, + 587 + ], + "result": { + "count": 2, + "id": 579 + } + }, + { + "ingredients": [ + 572, + 587, + 587 + ], + "result": { + "count": 3, + "id": 579 + } + }, + { + "ingredients": [ + 107 + ], + "result": { + "count": 1, + "id": 579 + } + }, + { + "ingredients": [ + 105 + ], + "result": { + "count": 1, + "id": 579 + } + } + ], + "580": [ + { + "ingredients": [ + 572, + 587 + ], + "result": { + "count": 2, + "id": 580 + } + } + ], + "581": [ + { + "ingredients": [ + 308 + ], + "result": { + "count": 2, + "id": 581 + } + }, + { + "ingredients": [ + 106 + ], + "result": { + "count": 1, + "id": 581 + } + }, + { + "ingredients": [ + 573, + 587 + ], + "result": { + "count": 2, + "id": 581 + } + } + ], + "582": [ + { + "ingredients": [ + 574, + 587 + ], + "result": { + "count": 2, + "id": 582 + } + } + ], + "583": [ + { + "ingredients": [ + 98 + ], + "result": { + "count": 1, + "id": 583 + } + }, + { + "ingredients": [ + 305 + ], + "result": { + "count": 2, + "id": 583 + } + } + ], + "584": [ + { + "ingredients": [ + 100 + ], + "result": { + "count": 1, + "id": 584 + } + }, + { + "ingredients": [ + 576, + 587 + ], + "result": { + "count": 2, + "id": 584 + } + } + ], + "585": [ + { + "ingredients": [ + 101 + ], + "result": { + "count": 1, + "id": 585 + } + }, + { + "ingredients": [ + 576, + 573, + 573, + 587 + ], + "result": { + "count": 4, + "id": 585 + } + }, + { + "ingredients": [ + 576, + 573, + 581 + ], + "result": { + "count": 3, + "id": 585 + } + }, + { + "ingredients": [ + 306 + ], + "result": { + "count": 2, + "id": 585 + } + }, + { + "ingredients": [ + 577, + 581 + ], + "result": { + "count": 2, + "id": 585 + } + } + ], + "586": [ + { + "ingredients": [ + 104 + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "ingredients": [ + 573, + 583 + ], + "result": { + "count": 2, + "id": 586 + } + } + ], + "587": [ + { + "ingredients": [ + 588 + ], + "result": { + "count": 3, + "id": 587 + } + }, + { + "ingredients": [ + 359 + ], + "result": { + "count": 9, + "id": 587 + } + } + ], + "589": [ + { + "ingredients": [ + 553 + ], + "result": { + "count": 1, + "id": 589 + } + } + ], + "590": [ + { + "inShape": [ + [ + 508, + 508, + 508 + ], + [ + 589, + 561, + 589 + ], + [ + 546, + 546, + 546 + ] + ], + "result": { + "count": 1, + "id": 590 + } + } + ], + "591": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 591 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 591 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 591 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 591 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 591 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 591 + } + } + ], + "592": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 592 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 592 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 592 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 592 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 592 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 592 + } + }, + { + "ingredients": [ + 591, + 586 + ], + "result": { + "count": 1, + "id": 592 + } + } + ], + "593": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 593 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 593 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 593 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 593 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 593 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 593 + } + }, + { + "ingredients": [ + 591, + 585 + ], + "result": { + "count": 1, + "id": 593 + } + } + ], + "594": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 594 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 594 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 594 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 594 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 594 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 594 + } + }, + { + "ingredients": [ + 591, + 584 + ], + "result": { + "count": 1, + "id": 594 + } + } + ], + "595": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 595 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 595 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 595 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 595 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 595 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 595 + } + }, + { + "ingredients": [ + 591, + 583 + ], + "result": { + "count": 1, + "id": 595 + } + } + ], + "596": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 596 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 596 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 596 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 596 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 596 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 596 + } + }, + { + "ingredients": [ + 591, + 582 + ], + "result": { + "count": 1, + "id": 596 + } + } + ], + "597": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 597 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 597 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 597 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 597 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 597 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 597 + } + }, + { + "ingredients": [ + 591, + 581 + ], + "result": { + "count": 1, + "id": 597 + } + } + ], + "598": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 598 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 598 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 598 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 598 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 598 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 598 + } + }, + { + "ingredients": [ + 591, + 580 + ], + "result": { + "count": 1, + "id": 598 + } + } + ], + "599": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 599 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 599 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 599 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 599 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 599 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 599 + } + }, + { + "ingredients": [ + 591, + 579 + ], + "result": { + "count": 1, + "id": 599 + } + } + ], + "600": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 600 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 600 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 600 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 600 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 600 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 600 + } + }, + { + "ingredients": [ + 591, + 578 + ], + "result": { + "count": 1, + "id": 600 + } + } + ], + "601": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 601 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 601 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 601 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 601 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 601 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 601 + } + }, + { + "ingredients": [ + 591, + 577 + ], + "result": { + "count": 1, + "id": 601 + } + } + ], + "602": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 602 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 602 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 602 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 602 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 602 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 602 + } + }, + { + "ingredients": [ + 591, + 576 + ], + "result": { + "count": 1, + "id": 602 + } + } + ], + "603": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 603 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 603 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 603 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 603 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 603 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 603 + } + }, + { + "ingredients": [ + 591, + 575 + ], + "result": { + "count": 1, + "id": 603 + } + } + ], + "604": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 604 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 604 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 604 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 604 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 604 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 604 + } + }, + { + "ingredients": [ + 591, + 574 + ], + "result": { + "count": 1, + "id": 604 + } + } + ], + "605": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 605 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 605 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 605 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 605 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 605 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 605 + } + }, + { + "ingredients": [ + 591, + 573 + ], + "result": { + "count": 1, + "id": 605 + } + } + ], + "606": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 606 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 606 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 606 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 606 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 606 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 606 + } + }, + { + "ingredients": [ + 591, + 572 + ], + "result": { + "count": 1, + "id": 606 + } + } + ], + "607": [ + { + "inShape": [ + [ + 508, + 575, + 508 + ] + ], + "result": { + "count": 8, + "id": 607 + } + } + ], + "609": [ + { + "inShape": [ + [ + 477, + null + ], + [ + null, + 477 + ] + ], + "result": { + "count": 1, + "id": 609 + } + } + ], + "611": [ + { + "ingredients": [ + 555 + ], + "result": { + "count": 9, + "id": 611 + } + } + ], + "612": [ + { + "ingredients": [ + 181 + ], + "result": { + "count": 4, + "id": 612 + } + } + ], + "613": [ + { + "ingredients": [ + 610 + ], + "result": { + "count": 1, + "id": 613 + } + } + ], + "622": [ + { + "ingredients": [ + 478 + ], + "result": { + "count": 9, + "id": 622 + } + } + ], + "625": [ + { + "inShape": [ + [ + null, + 64, + null + ], + [ + 64, + null, + 64 + ] + ], + "result": { + "count": 3, + "id": 625 + } + } + ], + "627": [ + { + "ingredients": [ + 626, + 108, + 589 + ], + "result": { + "count": 1, + "id": 627 + } + } + ], + "628": [ + { + "ingredients": [ + 620 + ], + "result": { + "count": 2, + "id": 628 + } + } + ], + "629": [ + { + "ingredients": [ + 628, + 558 + ], + "result": { + "count": 1, + "id": 629 + } + } + ], + "630": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + null, + 620, + null + ] + ], + "result": { + "count": 1, + "id": 630 + } + } + ], + "631": [ + { + "inShape": [ + [ + 477, + 477, + 477 + ], + [ + 477, + null, + 477 + ], + [ + 477, + null, + 477 + ] + ], + "result": { + "count": 1, + "id": 631 + } + } + ], + "632": [ + { + "ingredients": [ + 619, + 628 + ], + "result": { + "count": 1, + "id": 632 + } + } + ], + "633": [ + { + "inShape": [ + [ + 622, + 622, + 622 + ], + [ + 622, + 610, + 622 + ], + [ + 622, + 622, + 622 + ] + ], + "result": { + "count": 1, + "id": 633 + } + } + ], + "686": [ + { + "ingredients": [ + 501, + 628, + 474 + ], + "result": { + "count": 3, + "id": 686 + } + }, + { + "ingredients": [ + 501, + 628, + 475 + ], + "result": { + "count": 3, + "id": 686 + } + } + ], + "687": [ + { + "ingredients": [ + 557, + 572, + 500 + ], + "result": { + "count": 1, + "id": 687 + } + } + ], + "689": [ + { + "ingredients": [ + 233 + ], + "result": { + "count": 9, + "id": 689 + } + } + ], + "690": [ + { + "inShape": [ + [ + 492, + 492, + 492 + ], + [ + 492, + 545, + 492 + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 690 + } + } + ], + "691": [ + { + "inShape": [ + [ + null, + 551, + null + ], + [ + 551, + null, + 551 + ] + ], + "result": { + "count": 1, + "id": 691 + } + } + ], + "696": [ + { + "inShape": [ + [ + 556, + 556, + 556 + ], + [ + 556, + 562, + 556 + ], + [ + 556, + 556, + 556 + ] + ], + "result": { + "count": 1, + "id": 696 + } + } + ], + "697": [ + { + "inShape": [ + [ + 622, + 622, + 622 + ], + [ + 622, + 692, + 622 + ], + [ + 622, + 622, + 622 + ] + ], + "result": { + "count": 1, + "id": 697 + } + } + ], + "704": [ + { + "inShape": [ + [ + null, + 692 + ], + [ + 563, + null + ] + ], + "result": { + "count": 1, + "id": 704 + } + } + ], + "706": [ + { + "ingredients": [ + 181, + 589, + 561 + ], + "result": { + "count": 1, + "id": 706 + } + } + ], + "712": [ + { + "inShape": [ + [ + 540 + ], + [ + 136 + ] + ], + "result": { + "count": 1, + "id": 712 + } + } + ], + "713": [ + { + "inShape": [ + [ + 540 + ], + [ + 256 + ] + ], + "result": { + "count": 1, + "id": 713 + } + } + ], + "718": [ + { + "inShape": [ + [ + null, + 493, + null + ], + [ + 692, + 694, + 108 + ], + [ + null, + 717, + null + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + null, + 493, + null + ], + [ + 692, + 694, + 109 + ], + [ + null, + 717, + null + ] + ], + "result": { + "count": 1, + "id": 718 + } + } + ], + "721": [ + { + "inShape": [ + [ + 492, + 118, + 492 + ], + [ + null, + 492, + null + ], + [ + 492, + 492, + 492 + ] + ], + "result": { + "count": 1, + "id": 721 + } + } + ], + "725": [ + { + "inShape": [ + [ + null, + null, + 499 + ], + [ + 499, + 558, + null + ], + [ + 499, + 499, + null + ] + ], + "result": { + "count": 2, + "id": 725 + } + } + ], + "730": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 82, + 82, + 82 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 730 + } + } + ], + "731": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 83, + 83, + 83 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 731 + } + } + ], + "732": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 84, + 84, + 84 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 732 + } + } + ], + "733": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 85, + 85, + 85 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 733 + } + } + ], + "734": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 86, + 86, + 86 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 734 + } + } + ], + "735": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 87, + 87, + 87 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 735 + } + } + ], + "736": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 88, + 88, + 88 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 736 + } + } + ], + "737": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 89, + 89, + 89 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 737 + } + } + ], + "738": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 90, + 90, + 90 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 738 + } + } + ], + "739": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 91, + 91, + 91 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 739 + } + } + ], + "740": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 92, + 92, + 92 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 740 + } + } + ], + "741": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 93, + 93, + 93 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 741 + } + } + ], + "742": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 94, + 94, + 94 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 742 + } + } + ], + "743": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 95, + 95, + 95 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 743 + } + } + ], + "744": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 96, + 96, + 96 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 744 + } + } + ], + "745": [ + { + "inShape": [ + [ + null, + 492, + null + ], + [ + 97, + 97, + 97 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 745 + } + } + ], + "746": [ + { + "inShape": [ + [ + 64, + 621, + 64 + ], + [ + 64, + 632, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 746 + } + } + ], + "751": [ + { + "inShape": [ + [ + null, + 493, + null + ], + [ + 749, + 749, + 749 + ], + [ + 749, + 749, + 749 + ] + ], + "result": { + "count": 1, + "id": 751 + } + } + ], + "754": [ + { + "inShape": [ + [ + null, + 565, + null + ], + [ + 565, + 473, + 565 + ], + [ + null, + 565, + null + ] + ], + "result": { + "count": 2, + "id": 754 + } + } + ], + "757": [ + { + "inShape": [ + [ + null, + 13, + null + ], + [ + 13, + 13, + 13 + ], + [ + 13, + 477, + 13 + ] + ], + "result": { + "count": 1, + "id": 757 + } + }, + { + "inShape": [ + [ + null, + 14, + null + ], + [ + 14, + 14, + 14 + ], + [ + 14, + 477, + 14 + ] + ], + "result": { + "count": 1, + "id": 757 + } + }, + { + "inShape": [ + [ + null, + 15, + null + ], + [ + 15, + 15, + 15 + ], + [ + 15, + 477, + 15 + ] + ], + "result": { + "count": 1, + "id": 757 + } + }, + { + "inShape": [ + [ + null, + 16, + null + ], + [ + 16, + 16, + 16 + ], + [ + 16, + 477, + 16 + ] + ], + "result": { + "count": 1, + "id": 757 + } + }, + { + "inShape": [ + [ + null, + 17, + null + ], + [ + 17, + 17, + 17 + ], + [ + 17, + 477, + 17 + ] + ], + "result": { + "count": 1, + "id": 757 + } + }, + { + "inShape": [ + [ + null, + 18, + null + ], + [ + 18, + 18, + 18 + ], + [ + 18, + 477, + 18 + ] + ], + "result": { + "count": 1, + "id": 757 + } + } + ], + "759": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + null, + 14 + ] + ], + "result": { + "count": 1, + "id": 759 + } + } + ], + "760": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + null, + 15 + ] + ], + "result": { + "count": 1, + "id": 760 + } + } + ], + "761": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + null, + 16 + ] + ], + "result": { + "count": 1, + "id": 761 + } + } + ], + "762": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + null, + 17 + ] + ], + "result": { + "count": 1, + "id": 762 + } + } + ], + "763": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + null, + 18 + ] + ], + "result": { + "count": 1, + "id": 763 + } + } + ], + "766": [ + { + "ingredients": [ + 477 + ], + "result": { + "count": 9, + "id": 766 + } + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/version.json new file mode 100644 index 00000000..92b25870 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.13", + "version": 393, + "majorVersion": "1.13" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.13/windows.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/windows.json new file mode 100644 index 00000000..37bdcb69 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.13/windows.json @@ -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 + } + ] + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.1/commands.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.1/commands.json new file mode 100644 index 00000000..e2d2cbf9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.1/commands.json @@ -0,0 +1,13611 @@ +{ + "root": { + "type": "root", + "name": "root", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "advancement", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "grant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "revoke", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "base", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modifier", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply_base", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "ban", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ban-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "banlist", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ips", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "visible", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "blue", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "green", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pink", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "purple", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "red", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "white", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "yellow", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "max", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ] + }, + { + "type": "literal", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "style", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "notched_10", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_12", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_20", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_6", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "progress", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "visible", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "visible", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxCount", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "clone", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "begin", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "filtered", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "datapack", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "disable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "after", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "before", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "first", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "last", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "available", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "enabled", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ] + }, + { + "type": "literal", + "name": "debug", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "report", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "start", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "defaultgamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "deop", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "difficulty", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "easy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hard", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "peaceful", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "effect", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "seconds", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amplifier", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "hideParticles", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + } + } + } + ], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "enchant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "enchantment", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "level", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_enchantment", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "execute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "align", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "axes", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:swizzle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "anchored", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "at", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "if", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "in", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "dimension", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:dimension", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "positioned", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rotated", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "rot", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "run", + "executable": false, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "store", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "result", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "success", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "unless", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "experience", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "fill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hollow", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "outline", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forceload", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "gamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "gamerule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "announceAdvancements", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "commandBlockOutput", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableElytraMovementCheck", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableRaids", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doDaylightCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doEntityDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doFireTick", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doImmediateRespawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doInsomnia", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doLimitedCrafting", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobLoot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doPatrolSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTileDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTraderSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doWeatherCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "drowningDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fallDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fireDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forgiveDeadPlayers", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "keepInventory", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "logAdminCommands", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxCommandChainLength", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxEntityCramming", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mobGriefing", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "naturalRegeneration", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "randomTickSpeed", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "reducedDebugInfo", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "sendCommandFeedback", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "showDeathMessages", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnRadius", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spectatorsGenerateChunks", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "universalAnger", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "help", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "command", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "kick", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "uuids", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "bastion_remnant", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "buried_treasure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "desert_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "endcity", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "fortress", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "igloo", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "jungle_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mansion", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mineshaft", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "monument", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "nether_fossil", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ocean_ruin", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pillager_outpost", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ruined_portal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "shipwreck", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stronghold", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "swamp_hut", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "village", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locatebiome", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "biome", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "spawn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "me", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "action", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "msg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "op", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "particle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "delta", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "speed", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:particle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "playsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ambient", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "publish", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "port", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + } + } + } + ] + }, + { + "type": "literal", + "name": "recipe", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "take", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replaceitem", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "save-all", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "flush", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "save-off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "save-on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "say", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "schedule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "scoreboard", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "objectives", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criteria", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective_criteria", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "displayname", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rendertype", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "hearts", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "integer", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setdisplay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:scoreboard_slot", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:operation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "reset", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "seed", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "setblock", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setidletimeout", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minutes", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "setworldspawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnpoint", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectate", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "player", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "spreadplayers", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "spreadDistance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxRange", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "under", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxHeight", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stopsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ambient", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "summon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity_summon", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tag", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "empty", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "join", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "leave", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "collisionRule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOwnTeam", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:color", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "deathMessageVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "displayName", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "friendlyFire", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "nametagVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "prefix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "prefix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "seeFriendlyInvisibles", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "suffix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "suffix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "teammsg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "teleport", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "tell", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tellraw", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "daytime", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "gametime", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "midnight", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "night", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "noon", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "actionbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reset", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "subtitle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "times", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeIn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "stay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeOut", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tm", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "trigger", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "w", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "rain", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "thunder", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "whitelist", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "worldborder", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "damage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "amount", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "damagePerBlock", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "buffer", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "warning", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "distance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "xp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + } + ] + }, + "parsers": [ + { + "parser": "minecraft:resource_location", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + }, + "examples": [ + "word", + "words with spaces", + "\\\" and symbols\\\"" + ] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + }, + "examples": [ + "@a" + ] + }, + { + "parser": "brigadier:double", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + }, + "examples": [ + "\\\"quoted phrase\\\"", + "word", + "" + ] + }, + { + "parser": "minecraft:uuid", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:message", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:game_profile", + "modifier": null, + "examples": [ + "Player", + "0123", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "@e" + ] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "word" + }, + "examples": [ + "word", + "word_with_underscore" + ] + }, + { + "parser": "minecraft:component", + "modifier": null, + "examples": [ + "\"hello world\"", + "\"\"", + "\"{\"text\":\"hello world\"}\"", + "[\"\"]" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + }, + "examples": [ + "1" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + }, + "examples": [ + "0", + "1" + ] + }, + { + "parser": "brigadier:bool", + "modifier": null, + "examples": [ + "true", + "false" + ] + }, + { + "parser": "minecraft:item_predicate", + "modifier": null, + "examples": [ + "stick", + "minecraft:stick", + "#stick", + "diamond_sword{ench:[{id:16,lvl:5}]}" + ] + }, + { + "parser": "minecraft:block_predicate", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "#stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:block_pos", + "modifier": null, + "examples": [ + "0 0 0", + "~ ~ ~", + "^ ^ ^", + "^1 ^ ^-5", + "~0.5 ~1 ~-5" + ] + }, + { + "parser": "minecraft:nbt_path", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_compound_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:integer", + "modifier": null, + "examples": [ + "1", + "0", + "10" + ] + }, + { + "parser": "minecraft:mob_effect", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + }, + "examples": [ + "@e", + "@e[type=cow]", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "Player" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + }, + "examples": [ + "0", + "255" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + }, + "examples": [ + "1", + "1000000" + ] + }, + { + "parser": "minecraft:item_enchantment", + "modifier": null, + "examples": [ + "unbreaking", + "minecraft:slik_touch" + ] + }, + { + "parser": "minecraft:swizzle", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_anchor", + "modifier": null, + "examples": [ + "eyes", + "feet" + ] + }, + { + "parser": "minecraft:vec3", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + }, + "examples": [] + }, + { + "parser": "minecraft:int_range", + "modifier": null, + "examples": [ + "0..5", + "0", + "-5", + "-100..", + "..100" + ] + }, + { + "parser": "minecraft:dimension", + "modifier": null, + "examples": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end", + "overworld", + "the_end", + "the_nether" + ] + }, + { + "parser": "minecraft:rotation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + }, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:block_state", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:column_pos", + "modifier": null, + "examples": [ + "0 0", + "~ ~", + "~1 ~-2", + "^ ^", + "^-1 ^0" + ] + }, + { + "parser": "minecraft:function", + "modifier": null, + "examples": [ + "foo", + "foo:bar", + "#foo" + ] + }, + { + "parser": "minecraft:item_stack", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:item_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + }, + "examples": [ + "0.0", + "0", + "1", + "0.01" + ] + }, + { + "parser": "minecraft:particle", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + }, + "examples": [ + "0.0", + "0", + "1", + "1.0", + "0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + }, + "examples": [ + "0", + "2", + "1.0", + "2.0" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + }, + "examples": [ + "0", + "65535" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + }, + "examples": [ + "1", + "64" + ] + }, + { + "parser": "minecraft:time", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective_criteria", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:scoreboard_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:operation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:angle", + "modifier": null, + "examples": [ + "0", + "~", + "~-0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + }, + "examples": [ + "1", + "1.0", + "1.000" + ] + }, + { + "parser": "minecraft:vec2", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_summon", + "modifier": null, + "examples": [ + "minecraft:pig", + "cow" + ] + }, + { + "parser": "minecraft:team", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:color", + "modifier": null, + "examples": [ + "aqua", + "black", + "blue", + "dark_aqua", + "dark_blue", + "dark_gray", + "dark_green", + "dark_purple", + "dark_red", + "gold", + "gray", + "green", + "light_purple", + "red", + "reset", + "yellow", + "white" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + }, + "examples": [ + "0", + "1000000" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + }, + "examples": [] + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.1/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.1/protocol.json new file mode 100644 index 00000000..92f482a9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.1/protocol.json @@ -0,0 +1,5021 @@ +{ + "types": { + "varint": "native", + "optvarint": "varint", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "14": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "23": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "32": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle", + "16": [ + "container",[ + { + "name": "villagerType", + "type": "varint" + }, + { + "name": "villagerProfession", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ], + "17": "optvarint", + "18": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "difficultyLocked", + "type": "bool" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "inventoryType", + "type": "varint" + }, + { + "name": "windowTitle", + "type": "string" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_open_horse_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "nbSlots", + "type": "varint" + }, + { + "name": "entityId", + "type": "i32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "heightmaps", + "type": "nbt" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_update_light": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + }, + { + "name": "skyLightMask", + "type": "varint" + }, + { + "name": "blockLightMask", + "type": "varint" + }, + { + "name": "emptySkyLightMask", + "type": "varint" + }, + { + "name": "emptyBlockLightMask", + "type": "varint" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "viewDistance", + "type": "varint" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_trade_list": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "trades", + "type": [ + "array", + { + "countType": "u8", + "type": ["container", [ + { + "name": "inputItem1", + "type": "slot" + }, + { + "name": "outputItem", + "type": "slot" + }, + { + "name": "inputItem2", + "type": ["option", "slot"] + }, + { + "name": "tradeDisabled", + "type": "bool" + }, + { + "name": "nbTradeUses", + "type": "i32" + }, + { + "name": "maximumNbTradeUses", + "type": "i32" + }, + { + "name": "xp", + "type": "i32" + }, + { + "name": "specialPrice", + "type": "i32" + }, + { + "name": "priceMultiplier", + "type": "f32" + } + ]] + } + ] + }, + { + "name": "villagerLevel", + "type": "varint" + }, + { + "name": "experience", + "type": "varint" + }, + { + "name": "isRegularVillager", + "type": "bool" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_book": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_update_view_position": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + } + ] + ], + "packet_update_view_distance": [ + "container", + [ + { + "name": "viewDistance", + "type": "varint" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "type", + "type": "string" + }, + { + "name": "recipeId", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "minecraft:crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_special_armordye": "void", + "minecraft:crafting_special_bookcloning": "void", + "minecraft:crafting_special_mapcloning": "void", + "minecraft:crafting_special_mapextending": "void", + "minecraft:crafting_special_firework_rocket": "void", + "minecraft:crafting_special_firework_star": "void", + "minecraft:crafting_special_firework_star_fade": "void", + "minecraft:crafting_special_repairitem": "void", + "minecraft:crafting_special_tippedarrow": "void", + "minecraft:crafting_special_bannerduplicate": "void", + "minecraft:crafting_special_banneraddpattern": "void", + "minecraft:crafting_special_shielddecoration": "void", + "minecraft:crafting_special_shulkerboxcoloring": "void", + "minecraft:crafting_special_suspiciousstew": "void", + "minecraft:smelting": "minecraft_smelting_format", + "minecraft:blasting": "minecraft_smelting_format", + "minecraft:smoking": "minecraft_smelting_format", + "minecraft:campfire_cooking": "minecraft_smelting_format", + "minecraft:stonecutting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "minecraft_smelting_format": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + }, + { + "name": "entityTags", + "type": "tags" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "chat", + "0x0f": "multi_block_change", + "0x10": "tab_complete", + "0x11": "declare_commands", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "open_horse_window", + "0x20": "keep_alive", + "0x21": "map_chunk", + "0x22": "world_event", + "0x23": "world_particles", + "0x24": "update_light", + "0x25": "login", + "0x26": "map", + "0x27": "trade_list", + "0x28": "rel_entity_move", + "0x29": "entity_move_look", + "0x2a": "entity_look", + "0x2b": "entity", + "0x2c": "vehicle_move", + "0x2d": "open_book", + "0x2e": "open_window", + "0x2f": "open_sign_entity", + "0x30": "craft_recipe_response", + "0x31": "abilities", + "0x32": "combat_event", + "0x33": "player_info", + "0x34": "face_player", + "0x35": "position", + "0x36": "unlock_recipes", + "0x37": "entity_destroy", + "0x38": "remove_entity_effect", + "0x39": "resource_pack_send", + "0x3a": "respawn", + "0x3b": "entity_head_rotation", + "0x3c": "select_advancement_tab", + "0x3d": "world_border", + "0x3e": "camera", + "0x3f": "held_item_slot", + "0x40": "update_view_position", + "0x41": "update_view_distance", + "0x42": "scoreboard_display_objective", + "0x43": "entity_metadata", + "0x44": "attach_entity", + "0x45": "entity_velocity", + "0x46": "entity_equipment", + "0x47": "experience", + "0x48": "update_health", + "0x49": "scoreboard_objective", + "0x4a": "set_passengers", + "0x4b": "teams", + "0x4c": "scoreboard_score", + "0x4d": "spawn_position", + "0x4e": "update_time", + "0x4f": "title", + "0x50": "entity_sound_effect", + "0x51": "sound_effect", + "0x52": "stop_sound", + "0x53": "playerlist_header", + "0x54": "nbt_query_response", + "0x55": "collect", + "0x56": "entity_teleport", + "0x57": "advancements", + "0x58": "entity_update_attributes", + "0x59": "entity_effect", + "0x5a": "declare_recipes", + "0x5b": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "open_horse_window": "packet_open_horse_window", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "update_light": "packet_update_light", + "login": "packet_login", + "map": "packet_map", + "trade_list": "packet_trade_list", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_book": "packet_open_book", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "update_view_position": "packet_update_view_position", + "update_view_distance": "packet_update_view_distance", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "entity_sound_effect": "packet_entity_sound_effect", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "newDifficulty", + "type": "u8" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_lock_difficulty": [ + "container", + [ + { + "name": "locked", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + }, + { + "name": "blastingBookOpen", + "type": "bool" + }, + { + "name": "blastingFilter", + "type": "bool" + }, + { + "name": "smokingBookOpen", + "type": "bool" + }, + { + "name": "smokingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_jigsaw_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "attachmentType", + "type": "string" + }, + { + "name": "targetPool", + "type": "string" + }, + { + "name": "finalState", + "type": "string" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + }, + { + "name": "insideBlock", + "type": "bool" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "set_difficulty", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "tab_complete", + "0x07": "transaction", + "0x08": "enchant_item", + "0x09": "window_click", + "0x0a": "close_window", + "0x0b": "custom_payload", + "0x0c": "edit_book", + "0x0d": "query_entity_nbt", + "0x0e": "use_entity", + "0x0f": "keep_alive", + "0x10": "lock_difficulty", + "0x11": "position", + "0x12": "position_look", + "0x13": "look", + "0x14": "flying", + "0x15": "vehicle_move", + "0x16": "steer_boat", + "0x17": "pick_item", + "0x18": "craft_recipe_request", + "0x19": "abilities", + "0x1a": "block_dig", + "0x1b": "entity_action", + "0x1c": "steer_vehicle", + "0x1d": "crafting_book_data", + "0x1e": "name_item", + "0x1f": "resource_pack_receive", + "0x20": "advancement_tab", + "0x21": "select_trade", + "0x22": "set_beacon_effect", + "0x23": "held_item_slot", + "0x24": "update_command_block", + "0x25": "update_command_block_minecart", + "0x26": "set_creative_slot", + "0x27": "update_jigsaw_block", + "0x28": "update_structure_block", + "0x29": "update_sign", + "0x2a": "arm_animation", + "0x2b": "spectate", + "0x2c": "block_place", + "0x2d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "set_difficulty": "packet_set_difficulty", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "lock_difficulty": "packet_lock_difficulty", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_jigsaw_block": "packet_update_jigsaw_block", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.1/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.1/version.json new file mode 100644 index 00000000..8efb8bc2 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.1/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.14.1", + "version": 480, + "majorVersion": "1.14" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.3/commands.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.3/commands.json new file mode 100644 index 00000000..e2d2cbf9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.3/commands.json @@ -0,0 +1,13611 @@ +{ + "root": { + "type": "root", + "name": "root", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "advancement", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "grant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "revoke", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "base", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modifier", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply_base", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "ban", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ban-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "banlist", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ips", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "visible", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "blue", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "green", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pink", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "purple", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "red", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "white", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "yellow", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "max", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ] + }, + { + "type": "literal", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "style", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "notched_10", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_12", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_20", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_6", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "progress", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "visible", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "visible", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxCount", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "clone", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "begin", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "filtered", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "datapack", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "disable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "after", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "before", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "first", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "last", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "available", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "enabled", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ] + }, + { + "type": "literal", + "name": "debug", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "report", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "start", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "defaultgamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "deop", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "difficulty", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "easy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hard", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "peaceful", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "effect", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "seconds", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amplifier", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "hideParticles", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + } + } + } + ], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "enchant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "enchantment", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "level", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_enchantment", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "execute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "align", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "axes", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:swizzle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "anchored", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "at", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "if", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "in", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "dimension", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:dimension", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "positioned", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rotated", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "rot", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "run", + "executable": false, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "store", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "result", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "success", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "unless", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "experience", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "fill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hollow", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "outline", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forceload", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "gamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "gamerule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "announceAdvancements", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "commandBlockOutput", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableElytraMovementCheck", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableRaids", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doDaylightCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doEntityDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doFireTick", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doImmediateRespawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doInsomnia", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doLimitedCrafting", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobLoot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doPatrolSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTileDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTraderSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doWeatherCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "drowningDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fallDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fireDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forgiveDeadPlayers", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "keepInventory", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "logAdminCommands", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxCommandChainLength", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxEntityCramming", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mobGriefing", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "naturalRegeneration", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "randomTickSpeed", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "reducedDebugInfo", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "sendCommandFeedback", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "showDeathMessages", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnRadius", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spectatorsGenerateChunks", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "universalAnger", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "help", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "command", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "kick", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "uuids", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "bastion_remnant", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "buried_treasure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "desert_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "endcity", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "fortress", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "igloo", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "jungle_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mansion", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mineshaft", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "monument", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "nether_fossil", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ocean_ruin", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pillager_outpost", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ruined_portal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "shipwreck", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stronghold", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "swamp_hut", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "village", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locatebiome", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "biome", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "spawn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "me", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "action", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "msg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "op", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "particle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "delta", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "speed", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:particle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "playsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ambient", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "publish", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "port", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + } + } + } + ] + }, + { + "type": "literal", + "name": "recipe", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "take", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replaceitem", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "save-all", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "flush", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "save-off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "save-on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "say", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "schedule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "scoreboard", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "objectives", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criteria", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective_criteria", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "displayname", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rendertype", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "hearts", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "integer", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setdisplay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:scoreboard_slot", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:operation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "reset", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "seed", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "setblock", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setidletimeout", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minutes", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "setworldspawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnpoint", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectate", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "player", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "spreadplayers", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "spreadDistance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxRange", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "under", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxHeight", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stopsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ambient", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "summon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity_summon", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tag", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "empty", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "join", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "leave", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "collisionRule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOwnTeam", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:color", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "deathMessageVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "displayName", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "friendlyFire", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "nametagVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "prefix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "prefix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "seeFriendlyInvisibles", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "suffix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "suffix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "teammsg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "teleport", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "tell", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tellraw", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "daytime", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "gametime", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "midnight", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "night", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "noon", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "actionbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reset", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "subtitle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "times", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeIn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "stay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeOut", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tm", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "trigger", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "w", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "rain", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "thunder", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "whitelist", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "worldborder", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "damage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "amount", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "damagePerBlock", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "buffer", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "warning", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "distance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "xp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + } + ] + }, + "parsers": [ + { + "parser": "minecraft:resource_location", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + }, + "examples": [ + "word", + "words with spaces", + "\\\" and symbols\\\"" + ] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + }, + "examples": [ + "@a" + ] + }, + { + "parser": "brigadier:double", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + }, + "examples": [ + "\\\"quoted phrase\\\"", + "word", + "" + ] + }, + { + "parser": "minecraft:uuid", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:message", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:game_profile", + "modifier": null, + "examples": [ + "Player", + "0123", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "@e" + ] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "word" + }, + "examples": [ + "word", + "word_with_underscore" + ] + }, + { + "parser": "minecraft:component", + "modifier": null, + "examples": [ + "\"hello world\"", + "\"\"", + "\"{\"text\":\"hello world\"}\"", + "[\"\"]" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + }, + "examples": [ + "1" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + }, + "examples": [ + "0", + "1" + ] + }, + { + "parser": "brigadier:bool", + "modifier": null, + "examples": [ + "true", + "false" + ] + }, + { + "parser": "minecraft:item_predicate", + "modifier": null, + "examples": [ + "stick", + "minecraft:stick", + "#stick", + "diamond_sword{ench:[{id:16,lvl:5}]}" + ] + }, + { + "parser": "minecraft:block_predicate", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "#stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:block_pos", + "modifier": null, + "examples": [ + "0 0 0", + "~ ~ ~", + "^ ^ ^", + "^1 ^ ^-5", + "~0.5 ~1 ~-5" + ] + }, + { + "parser": "minecraft:nbt_path", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_compound_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:integer", + "modifier": null, + "examples": [ + "1", + "0", + "10" + ] + }, + { + "parser": "minecraft:mob_effect", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + }, + "examples": [ + "@e", + "@e[type=cow]", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "Player" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + }, + "examples": [ + "0", + "255" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + }, + "examples": [ + "1", + "1000000" + ] + }, + { + "parser": "minecraft:item_enchantment", + "modifier": null, + "examples": [ + "unbreaking", + "minecraft:slik_touch" + ] + }, + { + "parser": "minecraft:swizzle", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_anchor", + "modifier": null, + "examples": [ + "eyes", + "feet" + ] + }, + { + "parser": "minecraft:vec3", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + }, + "examples": [] + }, + { + "parser": "minecraft:int_range", + "modifier": null, + "examples": [ + "0..5", + "0", + "-5", + "-100..", + "..100" + ] + }, + { + "parser": "minecraft:dimension", + "modifier": null, + "examples": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end", + "overworld", + "the_end", + "the_nether" + ] + }, + { + "parser": "minecraft:rotation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + }, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:block_state", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:column_pos", + "modifier": null, + "examples": [ + "0 0", + "~ ~", + "~1 ~-2", + "^ ^", + "^-1 ^0" + ] + }, + { + "parser": "minecraft:function", + "modifier": null, + "examples": [ + "foo", + "foo:bar", + "#foo" + ] + }, + { + "parser": "minecraft:item_stack", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:item_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + }, + "examples": [ + "0.0", + "0", + "1", + "0.01" + ] + }, + { + "parser": "minecraft:particle", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + }, + "examples": [ + "0.0", + "0", + "1", + "1.0", + "0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + }, + "examples": [ + "0", + "2", + "1.0", + "2.0" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + }, + "examples": [ + "0", + "65535" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + }, + "examples": [ + "1", + "64" + ] + }, + { + "parser": "minecraft:time", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective_criteria", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:scoreboard_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:operation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:angle", + "modifier": null, + "examples": [ + "0", + "~", + "~-0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + }, + "examples": [ + "1", + "1.0", + "1.000" + ] + }, + { + "parser": "minecraft:vec2", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_summon", + "modifier": null, + "examples": [ + "minecraft:pig", + "cow" + ] + }, + { + "parser": "minecraft:team", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:color", + "modifier": null, + "examples": [ + "aqua", + "black", + "blue", + "dark_aqua", + "dark_blue", + "dark_gray", + "dark_green", + "dark_purple", + "dark_red", + "gold", + "gray", + "green", + "light_purple", + "red", + "reset", + "yellow", + "white" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + }, + "examples": [ + "0", + "1000000" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + }, + "examples": [] + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.3/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.3/protocol.json new file mode 100644 index 00000000..5b6fd1f5 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.3/protocol.json @@ -0,0 +1,5025 @@ +{ + "types": { + "varint": "native", + "optvarint": "varint", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "14": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "23": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "32": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle", + "16": [ + "container",[ + { + "name": "villagerType", + "type": "varint" + }, + { + "name": "villagerProfession", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ], + "17": "optvarint", + "18": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "difficultyLocked", + "type": "bool" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "inventoryType", + "type": "varint" + }, + { + "name": "windowTitle", + "type": "string" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_open_horse_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "nbSlots", + "type": "varint" + }, + { + "name": "entityId", + "type": "i32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "heightmaps", + "type": "nbt" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_update_light": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + }, + { + "name": "skyLightMask", + "type": "varint" + }, + { + "name": "blockLightMask", + "type": "varint" + }, + { + "name": "emptySkyLightMask", + "type": "varint" + }, + { + "name": "emptyBlockLightMask", + "type": "varint" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "viewDistance", + "type": "varint" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_trade_list": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "trades", + "type": [ + "array", + { + "countType": "u8", + "type": ["container", [ + { + "name": "inputItem1", + "type": "slot" + }, + { + "name": "outputItem", + "type": "slot" + }, + { + "name": "inputItem2", + "type": ["option", "slot"] + }, + { + "name": "tradeDisabled", + "type": "bool" + }, + { + "name": "nbTradeUses", + "type": "i32" + }, + { + "name": "maximumNbTradeUses", + "type": "i32" + }, + { + "name": "xp", + "type": "i32" + }, + { + "name": "specialPrice", + "type": "i32" + }, + { + "name": "priceMultiplier", + "type": "f32" + } + ]] + } + ] + }, + { + "name": "villagerLevel", + "type": "varint" + }, + { + "name": "experience", + "type": "varint" + }, + { + "name": "isRegularVillager", + "type": "bool" + }, + { + "name": "canRestock", + "type": "bool" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_book": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_update_view_position": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + } + ] + ], + "packet_update_view_distance": [ + "container", + [ + { + "name": "viewDistance", + "type": "varint" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "type", + "type": "string" + }, + { + "name": "recipeId", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "minecraft:crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_special_armordye": "void", + "minecraft:crafting_special_bookcloning": "void", + "minecraft:crafting_special_mapcloning": "void", + "minecraft:crafting_special_mapextending": "void", + "minecraft:crafting_special_firework_rocket": "void", + "minecraft:crafting_special_firework_star": "void", + "minecraft:crafting_special_firework_star_fade": "void", + "minecraft:crafting_special_repairitem": "void", + "minecraft:crafting_special_tippedarrow": "void", + "minecraft:crafting_special_bannerduplicate": "void", + "minecraft:crafting_special_banneraddpattern": "void", + "minecraft:crafting_special_shielddecoration": "void", + "minecraft:crafting_special_shulkerboxcoloring": "void", + "minecraft:crafting_special_suspiciousstew": "void", + "minecraft:smelting": "minecraft_smelting_format", + "minecraft:blasting": "minecraft_smelting_format", + "minecraft:smoking": "minecraft_smelting_format", + "minecraft:campfire_cooking": "minecraft_smelting_format", + "minecraft:stonecutting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "minecraft_smelting_format": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + }, + { + "name": "entityTags", + "type": "tags" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "chat", + "0x0f": "multi_block_change", + "0x10": "tab_complete", + "0x11": "declare_commands", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "open_horse_window", + "0x20": "keep_alive", + "0x21": "map_chunk", + "0x22": "world_event", + "0x23": "world_particles", + "0x24": "update_light", + "0x25": "login", + "0x26": "map", + "0x27": "trade_list", + "0x28": "rel_entity_move", + "0x29": "entity_move_look", + "0x2a": "entity_look", + "0x2b": "entity", + "0x2c": "vehicle_move", + "0x2d": "open_book", + "0x2e": "open_window", + "0x2f": "open_sign_entity", + "0x30": "craft_recipe_response", + "0x31": "abilities", + "0x32": "combat_event", + "0x33": "player_info", + "0x34": "face_player", + "0x35": "position", + "0x36": "unlock_recipes", + "0x37": "entity_destroy", + "0x38": "remove_entity_effect", + "0x39": "resource_pack_send", + "0x3a": "respawn", + "0x3b": "entity_head_rotation", + "0x3c": "select_advancement_tab", + "0x3d": "world_border", + "0x3e": "camera", + "0x3f": "held_item_slot", + "0x40": "update_view_position", + "0x41": "update_view_distance", + "0x42": "scoreboard_display_objective", + "0x43": "entity_metadata", + "0x44": "attach_entity", + "0x45": "entity_velocity", + "0x46": "entity_equipment", + "0x47": "experience", + "0x48": "update_health", + "0x49": "scoreboard_objective", + "0x4a": "set_passengers", + "0x4b": "teams", + "0x4c": "scoreboard_score", + "0x4d": "spawn_position", + "0x4e": "update_time", + "0x4f": "title", + "0x50": "entity_sound_effect", + "0x51": "sound_effect", + "0x52": "stop_sound", + "0x53": "playerlist_header", + "0x54": "nbt_query_response", + "0x55": "collect", + "0x56": "entity_teleport", + "0x57": "advancements", + "0x58": "entity_update_attributes", + "0x59": "entity_effect", + "0x5a": "declare_recipes", + "0x5b": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "open_horse_window": "packet_open_horse_window", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "update_light": "packet_update_light", + "login": "packet_login", + "map": "packet_map", + "trade_list": "packet_trade_list", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_book": "packet_open_book", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "update_view_position": "packet_update_view_position", + "update_view_distance": "packet_update_view_distance", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "entity_sound_effect": "packet_entity_sound_effect", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "newDifficulty", + "type": "u8" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_lock_difficulty": [ + "container", + [ + { + "name": "locked", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + }, + { + "name": "blastingBookOpen", + "type": "bool" + }, + { + "name": "blastingFilter", + "type": "bool" + }, + { + "name": "smokingBookOpen", + "type": "bool" + }, + { + "name": "smokingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_jigsaw_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "attachmentType", + "type": "string" + }, + { + "name": "targetPool", + "type": "string" + }, + { + "name": "finalState", + "type": "string" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + }, + { + "name": "insideBlock", + "type": "bool" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "set_difficulty", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "tab_complete", + "0x07": "transaction", + "0x08": "enchant_item", + "0x09": "window_click", + "0x0a": "close_window", + "0x0b": "custom_payload", + "0x0c": "edit_book", + "0x0d": "query_entity_nbt", + "0x0e": "use_entity", + "0x0f": "keep_alive", + "0x10": "lock_difficulty", + "0x11": "position", + "0x12": "position_look", + "0x13": "look", + "0x14": "flying", + "0x15": "vehicle_move", + "0x16": "steer_boat", + "0x17": "pick_item", + "0x18": "craft_recipe_request", + "0x19": "abilities", + "0x1a": "block_dig", + "0x1b": "entity_action", + "0x1c": "steer_vehicle", + "0x1d": "crafting_book_data", + "0x1e": "name_item", + "0x1f": "resource_pack_receive", + "0x20": "advancement_tab", + "0x21": "select_trade", + "0x22": "set_beacon_effect", + "0x23": "held_item_slot", + "0x24": "update_command_block", + "0x25": "update_command_block_minecart", + "0x26": "set_creative_slot", + "0x27": "update_jigsaw_block", + "0x28": "update_structure_block", + "0x29": "update_sign", + "0x2a": "arm_animation", + "0x2b": "spectate", + "0x2c": "block_place", + "0x2d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "set_difficulty": "packet_set_difficulty", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "lock_difficulty": "packet_lock_difficulty", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_jigsaw_block": "packet_update_jigsaw_block", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.3/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.3/version.json new file mode 100644 index 00000000..2e396c8f --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.3/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.14.3", + "version": 490, + "majorVersion": "1.14" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/biomes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/biomes.json new file mode 100644 index 00000000..8966a51a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/biomes.json @@ -0,0 +1,527 @@ +[ + { + "id": 0, + "name": "ocean", + "displayName": "Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 1, + "name": "plains", + "displayName": "Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 2, + "name": "desert", + "displayName": "Desert", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 3, + "name": "mountains", + "displayName": "Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 4, + "name": "forest", + "displayName": "Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 5, + "name": "taiga", + "displayName": "Taiga", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 6, + "name": "swamp", + "displayName": "Swamp", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 7, + "name": "river", + "displayName": "River", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 8, + "name": "nether", + "displayName": "Nether", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 9, + "name": "the_end", + "displayName": "The End", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 10, + "name": "frozen_ocean", + "displayName": "Frozen Ocean", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 11, + "name": "frozen_river", + "displayName": "Frozen River", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 12, + "name": "snowy_tundra", + "displayName": "Snowy Tundra", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 13, + "name": "snowy_mountains", + "displayName": "Snowy Mountains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 14, + "name": "mushroom_fields", + "displayName": "Mushroom Fields", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 15, + "name": "mushroom_field_shore", + "displayName": "Mushroom Field Shore", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 16, + "name": "beach", + "displayName": "Beach", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 17, + "name": "desert_hills", + "displayName": "Desert Hills", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 18, + "name": "wooded_hills", + "displayName": "Wooded Hills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 19, + "name": "taiga_hills", + "displayName": "Taiga Hills", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 20, + "name": "mountain_edge", + "displayName": "Mountain Edge", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 21, + "name": "jungle", + "displayName": "Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 22, + "name": "jungle_hills", + "displayName": "Jungle Hills", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 23, + "name": "jungle_edge", + "displayName": "Jungle Edge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 24, + "name": "deep_ocean", + "displayName": "Deep Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 25, + "name": "stone_shore", + "displayName": "Stone Shore", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 26, + "name": "snowy_beach", + "displayName": "Snowy Beach", + "rainfall": 0.3, + "temperature": 0.05 + }, + { + "id": 27, + "name": "birch_forest", + "displayName": "Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 28, + "name": "birch_forest_hills", + "displayName": "Birch Forest Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 29, + "name": "dark_forest", + "displayName": "Dark Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 30, + "name": "snowy_taiga", + "displayName": "Snowy Taiga", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 31, + "name": "snowy_taiga_hills", + "displayName": "Snowy Taiga Hills", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 32, + "name": "giant_tree_taiga", + "displayName": "Giant Tree Taiga", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 33, + "name": "giant_tree_taiga_hills", + "displayName": "Giant Tree Taiga Hills", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 34, + "name": "wooded_mountains", + "displayName": "Wooded Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 35, + "name": "savanna", + "displayName": "Savanna", + "rainfall": 0, + "temperature": 1.2 + }, + { + "id": 36, + "name": "savanna_plateau", + "displayName": "Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 37, + "name": "badlands", + "displayName": "Badlands", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 38, + "name": "wooded_badlands_plateau", + "displayName": "Wooded Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 39, + "name": "badlands_plateau", + "displayName": "Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 40, + "name": "small_end_islands", + "displayName": "Small End Islands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 41, + "name": "end_midlands", + "displayName": "End Midlands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 42, + "name": "end_highlands", + "displayName": "End Highlands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 43, + "name": "end_barrens", + "displayName": "End Barrens", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 44, + "name": "warm_ocean", + "displayName": "Warm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 45, + "name": "lukewarm_ocean", + "displayName": "Lukewarm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 46, + "name": "cold_ocean", + "displayName": "Cold Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 47, + "name": "deep_warm_ocean", + "displayName": "Deep Warm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 48, + "name": "deep_lukewarm_ocean", + "displayName": "Deep Lukewarm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 49, + "name": "deep_cold_ocean", + "displayName": "Deep Cold Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 50, + "name": "deep_frozen_ocean", + "displayName": "Deep Frozen Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 127, + "name": "the_void", + "displayName": "The Void", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 129, + "name": "sunflower_plains", + "displayName": "Sunflower Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 130, + "name": "desert_lakes", + "displayName": "Desert Lakes", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 131, + "name": "gravelly_mountains", + "displayName": "Gravelly Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 132, + "name": "flower_forest", + "displayName": "Flower Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 133, + "name": "taiga_mountains", + "displayName": "Taiga Mountains", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 134, + "name": "swamp_hills", + "displayName": "Swamp Hills", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 140, + "name": "ice_spikes", + "displayName": "Ice Spikes", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 149, + "name": "modified_jungle", + "displayName": "Modified Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 151, + "name": "modified_jungle_edge", + "displayName": "Modified Jungle Edge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 155, + "name": "tall_birch_forest", + "displayName": "Tall Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 156, + "name": "tall_birch_hills", + "displayName": "Tall Birch Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 157, + "name": "dark_forest_hills", + "displayName": "Dark Forest Hills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 158, + "name": "snowy_taiga_mountains", + "displayName": "Snowy Taiga Mountains", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 160, + "name": "giant_spruce_taiga", + "displayName": "Giant Spruce Taiga", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 161, + "name": "giant_spruce_taiga_hills", + "displayName": "Giant Spruce Taiga Hills", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 162, + "name": "modified_gravelly_mountains", + "displayName": "Gravelly Mountains+", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 163, + "name": "shattered_savanna", + "displayName": "Shattered Savanna", + "rainfall": 0, + "temperature": 1.1 + }, + { + "id": 164, + "name": "shattered_savanna_plateau", + "displayName": "Shattered Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 165, + "name": "eroded_badlands", + "displayName": "Eroded Badlands", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 166, + "name": "modified_wooded_badlands_plateau", + "displayName": "Modified Wooded Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 167, + "name": "modified_badlands_plateau", + "displayName": "Modified Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 168, + "name": "bamboo_jungle", + "displayName": "Bamboo Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 169, + "name": "bamboo_jungle_hills", + "displayName": "Bamboo Jungle Hills", + "rainfall": 0.9, + "temperature": 0.95 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/blockCollisionShapes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/blockCollisionShapes.json new file mode 100644 index 00000000..72b67ca1 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/blockCollisionShapes.json @@ -0,0 +1,946 @@ +{"blocks":{"air":0, +"stone":1, +"granite":1, +"polished_granite":1, +"diorite":1, +"polished_diorite":1, +"andesite":1, +"polished_andesite":1, +"grass_block":1, +"dirt":1, +"coarse_dirt":1, +"podzol":1, +"cobblestone":1, +"oak_planks":1, +"spruce_planks":1, +"birch_planks":1, +"jungle_planks":1, +"acacia_planks":1, +"dark_oak_planks":1, +"oak_sapling":0, +"spruce_sapling":0, +"birch_sapling":0, +"jungle_sapling":0, +"acacia_sapling":0, +"dark_oak_sapling":0, +"bedrock":1, +"water":0, +"lava":0, +"sand":1, +"red_sand":1, +"gravel":1, +"gold_ore":1, +"iron_ore":1, +"coal_ore":1, +"oak_log":1, +"spruce_log":1, +"birch_log":1, +"jungle_log":1, +"acacia_log":1, +"dark_oak_log":1, +"stripped_spruce_log":1, +"stripped_birch_log":1, +"stripped_jungle_log":1, +"stripped_acacia_log":1, +"stripped_dark_oak_log":1, +"stripped_oak_log":1, +"oak_wood":1, +"spruce_wood":1, +"birch_wood":1, +"jungle_wood":1, +"acacia_wood":1, +"dark_oak_wood":1, +"stripped_oak_wood":1, +"stripped_spruce_wood":1, +"stripped_birch_wood":1, +"stripped_jungle_wood":1, +"stripped_acacia_wood":1, +"stripped_dark_oak_wood":1, +"oak_leaves":1, +"spruce_leaves":1, +"birch_leaves":1, +"jungle_leaves":1, +"acacia_leaves":1, +"dark_oak_leaves":1, +"sponge":1, +"wet_sponge":1, +"glass":1, +"lapis_ore":1, +"lapis_block":1, +"dispenser":1, +"sandstone":1, +"chiseled_sandstone":1, +"cut_sandstone":1, +"note_block":1, +"white_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"orange_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"magenta_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"light_blue_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"yellow_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"lime_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"pink_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"gray_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"light_gray_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"cyan_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"purple_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"blue_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"brown_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"green_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"red_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"black_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"powered_rail":0, +"detector_rail":0, +"sticky_piston":[6,7,8,9,10,11,1,1,1,1,1,1], +"cobweb":0, +"grass":0, +"fern":0, +"dead_bush":0, +"seagrass":0, +"tall_seagrass":0, +"piston":[6,7,8,9,10,11,1,1,1,1,1,1], +"piston_head":[13,13,12,12,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23], +"white_wool":1, +"orange_wool":1, +"magenta_wool":1, +"light_blue_wool":1, +"yellow_wool":1, +"lime_wool":1, +"pink_wool":1, +"gray_wool":1, +"light_gray_wool":1, +"cyan_wool":1, +"purple_wool":1, +"blue_wool":1, +"brown_wool":1, +"green_wool":1, +"red_wool":1, +"black_wool":1, +"moving_piston":0, +"dandelion":0, +"poppy":0, +"blue_orchid":0, +"allium":0, +"azure_bluet":0, +"red_tulip":0, +"orange_tulip":0, +"white_tulip":0, +"pink_tulip":0, +"oxeye_daisy":0, +"cornflower":0, +"wither_rose":0, +"lily_of_the_valley":0, +"brown_mushroom":0, +"red_mushroom":0, +"gold_block":1, +"iron_block":1, +"bricks":1, +"tnt":1, +"bookshelf":1, +"mossy_cobblestone":1, +"obsidian":1, +"torch":0, +"wall_torch":0, +"fire":0, +"spawner":1, +"oak_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"chest":[48,48,49,49,50,50,48,48,50,50,49,49,48,48,51,51,52,52,48,48,52,52,51,51], +"redstone_wire":0, +"diamond_ore":1, +"diamond_block":1, +"crafting_table":1, +"wheat":0, +"farmland":53, +"furnace":1, +"oak_sign":0, +"spruce_sign":0, +"birch_sign":0, +"acacia_sign":0, +"jungle_sign":0, +"dark_oak_sign":0, +"oak_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"ladder":[54,54,57,57,56,56,55,55], +"rail":0, +"cobblestone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"oak_wall_sign":0, +"spruce_wall_sign":0, +"birch_wall_sign":0, +"acacia_wall_sign":0, +"jungle_wall_sign":0, +"dark_oak_wall_sign":0, +"lever":0, +"stone_pressure_plate":0, +"iron_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"oak_pressure_plate":0, +"spruce_pressure_plate":0, +"birch_pressure_plate":0, +"jungle_pressure_plate":0, +"acacia_pressure_plate":0, +"dark_oak_pressure_plate":0, +"redstone_ore":1, +"redstone_torch":0, +"redstone_wall_torch":0, +"stone_button":0, +"snow":[0,58,59,60,61,62,10,63], +"ice":1, +"snow_block":1, +"cactus":64, +"clay":1, +"sugar_cane":0, +"jukebox":1, +"oak_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"pumpkin":1, +"netherrack":1, +"soul_sand":63, +"glowstone":1, +"nether_portal":0, +"carved_pumpkin":1, +"jack_o_lantern":1, +"cake":[81,82,83,84,85,86,87], +"repeater":58, +"white_stained_glass":1, +"orange_stained_glass":1, +"magenta_stained_glass":1, +"light_blue_stained_glass":1, +"yellow_stained_glass":1, +"lime_stained_glass":1, +"pink_stained_glass":1, +"gray_stained_glass":1, +"light_gray_stained_glass":1, +"cyan_stained_glass":1, +"purple_stained_glass":1, +"blue_stained_glass":1, +"brown_stained_glass":1, +"green_stained_glass":1, +"red_stained_glass":1, +"black_stained_glass":1, +"oak_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"spruce_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"birch_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"jungle_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"acacia_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"dark_oak_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"stone_bricks":1, +"mossy_stone_bricks":1, +"cracked_stone_bricks":1, +"chiseled_stone_bricks":1, +"infested_stone":1, +"infested_cobblestone":1, +"infested_stone_bricks":1, +"infested_mossy_stone_bricks":1, +"infested_cracked_stone_bricks":1, +"infested_chiseled_stone_bricks":1, +"brown_mushroom_block":1, +"red_mushroom_block":1, +"mushroom_stem":1, +"iron_bars":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"melon":1, +"attached_pumpkin_stem":0, +"attached_melon_stem":0, +"pumpkin_stem":0, +"melon_stem":0, +"vine":0, +"oak_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"stone_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"mycelium":1, +"lily_pad":106, +"nether_bricks":1, +"nether_brick_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"nether_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"nether_wart":0, +"enchanting_table":10, +"brewing_stand":107, +"cauldron":108, +"end_portal":0, +"end_portal_frame":[110,110,110,110,109,109,109,109], +"end_stone":1, +"dragon_egg":111, +"redstone_lamp":1, +"cocoa":[112,113,114,115,116,117,118,119,120,121,122,123], +"sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"emerald_ore":1, +"ender_chest":48, +"tripwire_hook":0, +"tripwire":0, +"emerald_block":1, +"spruce_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"birch_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"jungle_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"command_block":1, +"beacon":1, +"cobblestone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"mossy_cobblestone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"flower_pot":156, +"potted_oak_sapling":156, +"potted_spruce_sapling":156, +"potted_birch_sapling":156, +"potted_jungle_sapling":156, +"potted_acacia_sapling":156, +"potted_dark_oak_sapling":156, +"potted_fern":156, +"potted_dandelion":156, +"potted_poppy":156, +"potted_blue_orchid":156, +"potted_allium":156, +"potted_azure_bluet":156, +"potted_red_tulip":156, +"potted_orange_tulip":156, +"potted_white_tulip":156, +"potted_pink_tulip":156, +"potted_oxeye_daisy":156, +"potted_cornflower":156, +"potted_lily_of_the_valley":156, +"potted_wither_rose":156, +"potted_red_mushroom":156, +"potted_brown_mushroom":156, +"potted_dead_bush":156, +"potted_cactus":156, +"carrots":0, +"potatoes":0, +"oak_button":0, +"spruce_button":0, +"birch_button":0, +"jungle_button":0, +"acacia_button":0, +"dark_oak_button":0, +"skeleton_skull":157, +"skeleton_wall_skull":[158,159,160,161], +"wither_skeleton_skull":157, +"wither_skeleton_wall_skull":[158,159,160,161], +"zombie_head":157, +"zombie_wall_head":[158,159,160,161], +"player_head":157, +"player_wall_head":[158,159,160,161], +"creeper_head":157, +"creeper_wall_head":[158,159,160,161], +"dragon_head":157, +"dragon_wall_head":[158,159,160,161], +"anvil":[162,162,163,163], +"chipped_anvil":[162,162,163,163], +"damaged_anvil":[162,162,163,163], +"trapped_chest":[48,48,49,49,50,50,48,48,50,50,49,49,48,48,51,51,52,52,48,48,52,52,51,51], +"light_weighted_pressure_plate":0, +"heavy_weighted_pressure_plate":0, +"comparator":58, +"daylight_detector":60, +"redstone_block":1, +"nether_quartz_ore":1, +"hopper":[164,165,166,167,168,164,165,166,167,168], +"quartz_block":1, +"chiseled_quartz_block":1, +"quartz_pillar":1, +"quartz_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"activator_rail":0, +"dropper":1, +"white_terracotta":1, +"orange_terracotta":1, +"magenta_terracotta":1, +"light_blue_terracotta":1, +"yellow_terracotta":1, +"lime_terracotta":1, +"pink_terracotta":1, +"gray_terracotta":1, +"light_gray_terracotta":1, +"cyan_terracotta":1, +"purple_terracotta":1, +"blue_terracotta":1, +"brown_terracotta":1, +"green_terracotta":1, +"red_terracotta":1, +"black_terracotta":1, +"white_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"orange_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"magenta_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"light_blue_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"yellow_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"lime_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"pink_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"gray_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"light_gray_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"cyan_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"purple_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"blue_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"brown_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"green_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"red_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"black_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"acacia_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"dark_oak_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"slime_block":1, +"barrier":1, +"iron_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"prismarine":1, +"prismarine_bricks":1, +"dark_prismarine":1, +"prismarine_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"prismarine_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"dark_prismarine_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"prismarine_slab":[169,169,61,61,1,1], +"prismarine_brick_slab":[169,169,61,61,1,1], +"dark_prismarine_slab":[169,169,61,61,1,1], +"sea_lantern":1, +"hay_block":1, +"white_carpet":170, +"orange_carpet":170, +"magenta_carpet":170, +"light_blue_carpet":170, +"yellow_carpet":170, +"lime_carpet":170, +"pink_carpet":170, +"gray_carpet":170, +"light_gray_carpet":170, +"cyan_carpet":170, +"purple_carpet":170, +"blue_carpet":170, +"brown_carpet":170, +"green_carpet":170, +"red_carpet":170, +"black_carpet":170, +"terracotta":1, +"coal_block":1, +"packed_ice":1, +"sunflower":0, +"lilac":0, +"rose_bush":0, +"peony":0, +"tall_grass":0, +"large_fern":0, +"white_banner":0, +"orange_banner":0, +"magenta_banner":0, +"light_blue_banner":0, +"yellow_banner":0, +"lime_banner":0, +"pink_banner":0, +"gray_banner":0, +"light_gray_banner":0, +"cyan_banner":0, +"purple_banner":0, +"blue_banner":0, +"brown_banner":0, +"green_banner":0, +"red_banner":0, +"black_banner":0, +"white_wall_banner":0, +"orange_wall_banner":0, +"magenta_wall_banner":0, +"light_blue_wall_banner":0, +"yellow_wall_banner":0, +"lime_wall_banner":0, +"pink_wall_banner":0, +"gray_wall_banner":0, +"light_gray_wall_banner":0, +"cyan_wall_banner":0, +"purple_wall_banner":0, +"blue_wall_banner":0, +"brown_wall_banner":0, +"green_wall_banner":0, +"red_wall_banner":0, +"black_wall_banner":0, +"red_sandstone":1, +"chiseled_red_sandstone":1, +"cut_red_sandstone":1, +"red_sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"oak_slab":[169,169,61,61,1,1], +"spruce_slab":[169,169,61,61,1,1], +"birch_slab":[169,169,61,61,1,1], +"jungle_slab":[169,169,61,61,1,1], +"acacia_slab":[169,169,61,61,1,1], +"dark_oak_slab":[169,169,61,61,1,1], +"stone_slab":[169,169,61,61,1,1], +"smooth_stone_slab":[169,169,61,61,1,1], +"sandstone_slab":[169,169,61,61,1,1], +"cut_sandstone_slab":[169,169,61,61,1,1], +"petrified_oak_slab":[169,169,61,61,1,1], +"cobblestone_slab":[169,169,61,61,1,1], +"brick_slab":[169,169,61,61,1,1], +"stone_brick_slab":[169,169,61,61,1,1], +"nether_brick_slab":[169,169,61,61,1,1], +"quartz_slab":[169,169,61,61,1,1], +"red_sandstone_slab":[169,169,61,61,1,1], +"cut_red_sandstone_slab":[169,169,61,61,1,1], +"purpur_slab":[169,169,61,61,1,1], +"smooth_stone":1, +"smooth_sandstone":1, +"smooth_quartz":1, +"smooth_red_sandstone":1, +"spruce_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"birch_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"jungle_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"acacia_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"dark_oak_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"spruce_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"birch_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"jungle_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"acacia_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"dark_oak_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"spruce_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"birch_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"jungle_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"acacia_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"dark_oak_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"end_rod":[172,173,172,173,171,171], +"chorus_plant":[175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,174], +"chorus_flower":1, +"purpur_block":1, +"purpur_pillar":1, +"purpur_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"end_stone_bricks":1, +"beetroots":0, +"grass_path":53, +"end_gateway":0, +"repeating_command_block":1, +"chain_command_block":1, +"frosted_ice":1, +"magma_block":1, +"nether_wart_block":1, +"red_nether_bricks":1, +"bone_block":1, +"structure_void":0, +"observer":1, +"shulker_box":1, +"white_shulker_box":1, +"orange_shulker_box":1, +"magenta_shulker_box":1, +"light_blue_shulker_box":1, +"yellow_shulker_box":1, +"lime_shulker_box":1, +"pink_shulker_box":1, +"gray_shulker_box":1, +"light_gray_shulker_box":1, +"cyan_shulker_box":1, +"purple_shulker_box":1, +"blue_shulker_box":1, +"brown_shulker_box":1, +"green_shulker_box":1, +"red_shulker_box":1, +"black_shulker_box":1, +"white_glazed_terracotta":1, +"orange_glazed_terracotta":1, +"magenta_glazed_terracotta":1, +"light_blue_glazed_terracotta":1, +"yellow_glazed_terracotta":1, +"lime_glazed_terracotta":1, +"pink_glazed_terracotta":1, +"gray_glazed_terracotta":1, +"light_gray_glazed_terracotta":1, +"cyan_glazed_terracotta":1, +"purple_glazed_terracotta":1, +"blue_glazed_terracotta":1, +"brown_glazed_terracotta":1, +"green_glazed_terracotta":1, +"red_glazed_terracotta":1, +"black_glazed_terracotta":1, +"white_concrete":1, +"orange_concrete":1, +"magenta_concrete":1, +"light_blue_concrete":1, +"yellow_concrete":1, +"lime_concrete":1, +"pink_concrete":1, +"gray_concrete":1, +"light_gray_concrete":1, +"cyan_concrete":1, +"purple_concrete":1, +"blue_concrete":1, +"brown_concrete":1, +"green_concrete":1, +"red_concrete":1, +"black_concrete":1, +"white_concrete_powder":1, +"orange_concrete_powder":1, +"magenta_concrete_powder":1, +"light_blue_concrete_powder":1, +"yellow_concrete_powder":1, +"lime_concrete_powder":1, +"pink_concrete_powder":1, +"gray_concrete_powder":1, +"light_gray_concrete_powder":1, +"cyan_concrete_powder":1, +"purple_concrete_powder":1, +"blue_concrete_powder":1, +"brown_concrete_powder":1, +"green_concrete_powder":1, +"red_concrete_powder":1, +"black_concrete_powder":1, +"kelp":0, +"kelp_plant":0, +"dried_kelp_block":1, +"turtle_egg":[238,238,238,239,239,239,239,239,239,239,239,239], +"dead_tube_coral_block":1, +"dead_brain_coral_block":1, +"dead_bubble_coral_block":1, +"dead_fire_coral_block":1, +"dead_horn_coral_block":1, +"tube_coral_block":1, +"brain_coral_block":1, +"bubble_coral_block":1, +"fire_coral_block":1, +"horn_coral_block":1, +"dead_tube_coral":0, +"dead_brain_coral":0, +"dead_bubble_coral":0, +"dead_fire_coral":0, +"dead_horn_coral":0, +"tube_coral":0, +"brain_coral":0, +"bubble_coral":0, +"fire_coral":0, +"horn_coral":0, +"dead_tube_coral_fan":0, +"dead_brain_coral_fan":0, +"dead_bubble_coral_fan":0, +"dead_fire_coral_fan":0, +"dead_horn_coral_fan":0, +"tube_coral_fan":0, +"brain_coral_fan":0, +"bubble_coral_fan":0, +"fire_coral_fan":0, +"horn_coral_fan":0, +"dead_tube_coral_wall_fan":0, +"dead_brain_coral_wall_fan":0, +"dead_bubble_coral_wall_fan":0, +"dead_fire_coral_wall_fan":0, +"dead_horn_coral_wall_fan":0, +"tube_coral_wall_fan":0, +"brain_coral_wall_fan":0, +"bubble_coral_wall_fan":0, +"fire_coral_wall_fan":0, +"horn_coral_wall_fan":0, +"sea_pickle":[240,240,241,241,242,242,243,243], +"blue_ice":1, +"conduit":244, +"bamboo_sapling":0, +"bamboo":245, +"potted_bamboo":156, +"void_air":0, +"cave_air":0, +"bubble_column":0, +"polished_granite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"smooth_red_sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"mossy_stone_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"polished_diorite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"mossy_cobblestone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"end_stone_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"stone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"smooth_sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"smooth_quartz_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"granite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"andesite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"red_nether_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"polished_andesite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"diorite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"polished_granite_slab":[169,169,61,61,1,1], +"smooth_red_sandstone_slab":[169,169,61,61,1,1], +"mossy_stone_brick_slab":[169,169,61,61,1,1], +"polished_diorite_slab":[169,169,61,61,1,1], +"mossy_cobblestone_slab":[169,169,61,61,1,1], +"end_stone_brick_slab":[169,169,61,61,1,1], +"smooth_sandstone_slab":[169,169,61,61,1,1], +"smooth_quartz_slab":[169,169,61,61,1,1], +"granite_slab":[169,169,61,61,1,1], +"andesite_slab":[169,169,61,61,1,1], +"red_nether_brick_slab":[169,169,61,61,1,1], +"polished_andesite_slab":[169,169,61,61,1,1], +"diorite_slab":[169,169,61,61,1,1], +"brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"prismarine_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"red_sandstone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"mossy_stone_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"granite_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"stone_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"nether_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"andesite_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"red_nether_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"sandstone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"end_stone_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"diorite_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"scaffolding":246, +"loom":1, +"barrel":1, +"smoker":1, +"blast_furnace":1, +"cartography_table":1, +"fletching_table":1, +"grindstone":[248,248,249,249,247,250,251,252,253,253,254,254], +"lectern":255, +"smithing_table":1, +"stonecutter":256, +"bell":[257,257,258,258,259,259,259,259,260,261,262,263,264,264,265,265], +"lantern":[267,266], +"campfire":268, +"sweet_berry_bush":0, +"structure_block":1, +"jigsaw":1, +"composter":269}, +"shapes":{"0":[], +"1":[[0.0,0.0,0.0,1.0,1.0,1.0]], +"2":[[0.0,0.0,0.8125,0.1875,0.5625,1.0],[0.0,0.1875,0.0,1.0,0.5625,0.8125],[0.1875,0.1875,0.8125,1.0,0.5625,1.0],[0.8125,0.0,0.8125,1.0,0.1875,1.0]], +"3":[[0.0,0.0,0.0,0.1875,0.5625,0.1875],[0.0,0.1875,0.1875,1.0,0.5625,1.0],[0.1875,0.1875,0.0,1.0,0.5625,0.1875],[0.8125,0.0,0.0,1.0,0.1875,0.1875]], +"4":[[0.0,0.0,0.0,0.1875,0.5625,0.1875],[0.0,0.0,0.8125,0.1875,0.5625,1.0],[0.0,0.1875,0.1875,1.0,0.5625,0.8125],[0.1875,0.1875,0.0,1.0,0.5625,0.1875],[0.1875,0.1875,0.8125,1.0,0.5625,1.0]], +"5":[[0.0,0.1875,0.0,1.0,0.5625,1.0],[0.8125,0.0,0.0,1.0,0.1875,0.1875],[0.8125,0.0,0.8125,1.0,0.1875,1.0]], +"6":[[0.0,0.0,0.25,1.0,1.0,1.0]], +"7":[[0.0,0.0,0.0,0.75,1.0,1.0]], +"8":[[0.0,0.0,0.0,1.0,1.0,0.75]], +"9":[[0.25,0.0,0.0,1.0,1.0,1.0]], +"10":[[0.0,0.0,0.0,1.0,0.75,1.0]], +"11":[[0.0,0.25,0.0,1.0,1.0,1.0]], +"12":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]], +"13":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.0]], +"14":[[0.0,0.375,0.375,1.0,0.625,0.625],[0.75,0.0,0.0,1.0,0.375,1.0],[0.75,0.375,0.0,1.0,1.0,0.375],[0.75,0.375,0.625,1.0,1.0,1.0],[0.75,0.625,0.375,1.0,1.0,0.625]], +"15":[[-0.25,0.375,0.375,1.0,0.625,0.625],[0.75,0.0,0.0,1.0,0.375,1.0],[0.75,0.375,0.0,1.0,1.0,0.375],[0.75,0.375,0.625,1.0,1.0,1.0],[0.75,0.625,0.375,1.0,1.0,0.625]], +"16":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,0.0,0.625,0.625,0.75]], +"17":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]], +"18":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.0,0.625,0.625]], +"19":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]], +"20":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,0.0,0.375,0.625,0.75,0.625]], +"21":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]], +"22":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.0,0.625]], +"23":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]], +"24":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"25":[[0.0,0.0,0.0,1.0,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0]], +"26":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.0,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"27":[[0.0,0.0,0.0,1.0,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.0,0.5,1.0,0.5,1.0]], +"28":[[0.0,0.0,0.0,0.5,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"29":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,0.5]], +"30":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"31":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"32":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,0.5]], +"33":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"34":[[0.0,0.0,0.5,1.0,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"35":[[0.0,0.0,0.5,1.0,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.0,0.0,1.0,0.5,0.5]], +"36":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.0,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"37":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.5,1.0,0.5,1.0]], +"38":[[0.0,0.0,0.5,0.5,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"39":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]], +"40":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"41":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0],[0.5,0.5,0.5,1.0,1.0,1.0]], +"42":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.5,1.0,1.0,1.0]], +"43":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,0.5,1.0,1.0]], +"44":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"45":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]], +"46":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]], +"47":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"48":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]], +"49":[[0.0625,0.0,0.0625,1.0,0.875,0.9375]], +"50":[[0.0,0.0,0.0625,0.9375,0.875,0.9375]], +"51":[[0.0625,0.0,0.0,0.9375,0.875,0.9375]], +"52":[[0.0625,0.0,0.0625,0.9375,0.875,1.0]], +"53":[[0.0,0.0,0.0,1.0,0.9375,1.0]], +"54":[[0.0,0.0,0.8125,1.0,1.0,1.0]], +"55":[[0.0,0.0,0.0,0.1875,1.0,1.0]], +"56":[[0.8125,0.0,0.0,1.0,1.0,1.0]], +"57":[[0.0,0.0,0.0,1.0,1.0,0.1875]], +"58":[[0.0,0.0,0.0,1.0,0.125,1.0]], +"59":[[0.0,0.0,0.0,1.0,0.25,1.0]], +"60":[[0.0,0.0,0.0,1.0,0.375,1.0]], +"61":[[0.0,0.0,0.0,1.0,0.5,1.0]], +"62":[[0.0,0.0,0.0,1.0,0.625,1.0]], +"63":[[0.0,0.0,0.0,1.0,0.875,1.0]], +"64":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]], +"65":[[0.375,0.0,0.375,0.625,1.5,0.625]], +"66":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375],[0.375,0.0,0.625,0.625,1.5,1.0]], +"67":[[0.375,0.0,0.0,0.625,1.5,1.0],[0.625,0.0,0.375,1.0,1.5,0.625]], +"68":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375]], +"69":[[0.375,0.0,0.0,0.625,1.5,0.625],[0.625,0.0,0.375,1.0,1.5,0.625]], +"70":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.625,0.625,1.5,1.0]], +"71":[[0.375,0.0,0.375,0.625,1.5,1.0],[0.625,0.0,0.375,1.0,1.5,0.625]], +"72":[[0.0,0.0,0.375,1.0,1.5,0.625]], +"73":[[0.375,0.0,0.375,1.0,1.5,0.625]], +"74":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375],[0.375,0.0,0.625,0.625,1.5,1.0]], +"75":[[0.375,0.0,0.0,0.625,1.5,1.0]], +"76":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375]], +"77":[[0.375,0.0,0.0,0.625,1.5,0.625]], +"78":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.625,0.625,1.5,1.0]], +"79":[[0.375,0.0,0.375,0.625,1.5,1.0]], +"80":[[0.0,0.0,0.375,0.625,1.5,0.625]], +"81":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]], +"82":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]], +"83":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]], +"84":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]], +"85":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]], +"86":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]], +"87":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]], +"88":[[0.0,0.0,0.0,1.0,0.1875,1.0]], +"89":[[0.0,0.8125,0.0,1.0,1.0,1.0]], +"90":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]], +"91":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"92":[[0.4375,0.0,0.0,0.5625,1.0,1.0],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"93":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375]], +"94":[[0.4375,0.0,0.0,0.5625,1.0,0.5625],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"95":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"96":[[0.4375,0.0,0.4375,0.5625,1.0,1.0],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"97":[[0.0,0.0,0.4375,1.0,1.0,0.5625]], +"98":[[0.4375,0.0,0.4375,1.0,1.0,0.5625]], +"99":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"100":[[0.4375,0.0,0.0,0.5625,1.0,1.0]], +"101":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375]], +"102":[[0.4375,0.0,0.0,0.5625,1.0,0.5625]], +"103":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"104":[[0.4375,0.0,0.4375,0.5625,1.0,1.0]], +"105":[[0.0,0.0,0.4375,0.5625,1.0,0.5625]], +"106":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]], +"107":[[0.0625,0.0,0.0625,0.9375,0.125,0.9375],[0.4375,0.125,0.4375,0.5625,0.875,0.5625]], +"108":[[0.0,0.0,0.0,0.125,1.0,0.25],[0.0,0.0,0.75,0.125,1.0,1.0],[0.0,0.1875,0.25,1.0,0.25,0.75],[0.0,0.25,0.25,0.125,1.0,0.75],[0.125,0.0,0.0,0.25,1.0,0.125],[0.125,0.0,0.875,0.25,1.0,1.0],[0.125,0.1875,0.125,1.0,0.25,0.25],[0.125,0.1875,0.75,1.0,0.25,0.875],[0.25,0.1875,0.0,1.0,1.0,0.125],[0.25,0.1875,0.875,1.0,1.0,1.0],[0.75,0.0,0.0,1.0,0.1875,0.125],[0.75,0.0,0.875,1.0,0.1875,1.0],[0.875,0.0,0.125,1.0,0.1875,0.25],[0.875,0.0,0.75,1.0,0.1875,0.875],[0.875,0.25,0.125,1.0,1.0,0.875]], +"109":[[0.0,0.0,0.0,1.0,0.8125,1.0]], +"110":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.25,0.8125,0.25,0.75,1.0,0.75]], +"111":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]], +"112":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]], +"113":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]], +"114":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]], +"115":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]], +"116":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]], +"117":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]], +"118":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]], +"119":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]], +"120":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]], +"121":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]], +"122":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]], +"123":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]], +"124":[[0.25,0.0,0.25,0.75,1.5,0.75]], +"125":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"126":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"127":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"128":[[0.3125,0.0,0.0,0.6875,1.5,1.0],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"129":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"130":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"131":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125]], +"132":[[0.3125,0.0,0.0,0.6875,1.5,0.6875],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"133":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"134":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"135":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"136":[[0.3125,0.0,0.3125,0.6875,1.5,1.0],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"137":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75]], +"138":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"139":[[0.0,0.0,0.3125,1.0,1.5,0.6875]], +"140":[[0.3125,0.0,0.3125,1.0,1.5,0.6875]], +"141":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"142":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"143":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"144":[[0.3125,0.0,0.0,0.6875,1.5,1.0]], +"145":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"146":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"147":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125]], +"148":[[0.3125,0.0,0.0,0.6875,1.5,0.6875]], +"149":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"150":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"151":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"152":[[0.3125,0.0,0.3125,0.6875,1.5,1.0]], +"153":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75]], +"154":[[0.0,0.0,0.3125,0.6875,1.5,0.6875]], +"155":[[0.5,0.0,0.5,0.5,1.5,0.5]], +"156":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]], +"157":[[0.25,0.0,0.25,0.75,0.5,0.75]], +"158":[[0.25,0.25,0.5,0.75,0.75,1.0]], +"159":[[0.25,0.25,0.0,0.75,0.75,0.5]], +"160":[[0.5,0.25,0.25,1.0,0.75,0.75]], +"161":[[0.0,0.25,0.25,0.5,0.75,0.75]], +"162":[[0.125,0.0,0.125,0.875,0.25,0.875],[0.1875,0.625,0.0,0.8125,1.0,1.0],[0.25,0.25,0.1875,0.75,0.3125,0.8125],[0.375,0.3125,0.25,0.625,0.625,0.75]], +"163":[[0.0,0.625,0.1875,1.0,1.0,0.8125],[0.125,0.0,0.125,0.875,0.25,0.875],[0.1875,0.25,0.25,0.8125,0.3125,0.75],[0.25,0.3125,0.375,0.75,0.625,0.625]], +"164":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.0,0.375,0.625,0.25,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"165":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.25,0.0,0.625,0.5,0.25],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"166":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.25,0.75,0.625,0.5,1.0],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"167":[[0.0,0.25,0.375,0.75,0.5,0.625],[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.375],[0.25,0.25,0.625,0.75,0.625,0.75],[0.25,0.5,0.375,0.75,0.625,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"168":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.75,0.25,0.375,1.0,0.5,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"169":[[0.0,0.5,0.0,1.0,1.0,1.0]], +"170":[[0.0,0.0,0.0,1.0,0.0625,1.0]], +"171":[[0.375,0.0,0.375,0.625,1.0,0.625]], +"172":[[0.375,0.375,0.0,0.625,0.625,1.0]], +"173":[[0.0,0.375,0.375,1.0,0.625,0.625]], +"174":[[0.1875,0.1875,0.1875,0.8125,0.8125,0.8125]], +"175":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"176":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"177":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"178":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"179":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"180":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"181":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"182":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"183":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"184":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"185":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"186":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"187":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"188":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"189":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125]], +"190":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"191":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"192":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"193":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"194":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"195":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"196":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"197":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"198":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"199":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"200":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"201":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"202":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"203":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"204":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125]], +"205":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125]], +"206":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125]], +"207":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"208":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"209":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"210":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"211":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"212":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"213":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"214":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"215":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"216":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"217":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"218":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"219":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"220":[[0.1875,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"221":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125]], +"222":[[0.1875,0.1875,0.1875,1.0,0.8125,0.8125]], +"223":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"224":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"225":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"226":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0]], +"227":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"228":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"229":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"230":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125]], +"231":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"232":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"233":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"234":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0]], +"235":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"236":[[0.1875,0.1875,0.1875,0.8125,1.0,0.8125]], +"237":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125]], +"238":[[0.1875,0.0,0.1875,0.75,0.4375,0.75]], +"239":[[0.0625,0.0,0.0625,0.9375,0.4375,0.9375]], +"240":[[0.375,0.0,0.375,0.625,0.375,0.625]], +"241":[[0.1875,0.0,0.1875,0.8125,0.375,0.8125]], +"242":[[0.125,0.0,0.125,0.875,0.375,0.875]], +"243":[[0.125,0.0,0.125,0.875,0.4375,0.875]], +"244":[[0.3125,0.3125,0.3125,0.6875,0.6875,0.6875]], +"245":[[0.15625,0.0,0.15625,0.34375,1.0,0.34375]], +"246":[[0.0,0.0,0.0,0.125,1.0,0.125],[0.0,0.0,0.875,0.125,1.0,1.0],[0.0,0.875,0.125,1.0,1.0,0.875],[0.125,0.875,0.0,1.0,1.0,0.125],[0.125,0.875,0.875,1.0,1.0,1.0],[0.875,0.0,0.0,1.0,0.875,0.125],[0.875,0.0,0.875,1.0,0.875,1.0]], +"247":[[0.125,0.3125,0.1875,0.875,0.6875,0.5625],[0.125,0.375,0.5625,0.25,0.625,1.0],[0.25,0.125,0.0,0.75,0.3125,0.75],[0.25,0.3125,0.0,0.75,0.875,0.1875],[0.25,0.3125,0.5625,0.75,0.875,0.75],[0.25,0.6875,0.1875,0.75,0.875,0.5625],[0.75,0.375,0.5625,0.875,0.625,1.0]], +"248":[[0.125,0.0,0.375,0.25,0.8125,0.625],[0.125,0.4375,0.3125,0.875,0.8125,0.375],[0.125,0.4375,0.625,0.875,0.8125,0.6875],[0.25,0.25,0.125,0.75,0.4375,0.875],[0.25,0.4375,0.125,0.75,1.0,0.3125],[0.25,0.4375,0.375,0.875,0.8125,0.625],[0.25,0.4375,0.6875,0.75,1.0,0.875],[0.25,0.8125,0.3125,0.75,1.0,0.6875],[0.75,0.0,0.375,0.875,0.4375,0.625]], +"249":[[0.125,0.25,0.25,0.875,1.0,0.75],[0.3125,0.4375,0.125,0.6875,0.8125,0.25],[0.3125,0.4375,0.75,0.6875,0.8125,0.875],[0.375,0.0,0.125,0.625,0.4375,0.25],[0.375,0.0,0.75,0.625,0.4375,0.875]], +"250":[[0.125,0.3125,0.4375,0.875,0.6875,0.8125],[0.125,0.375,0.0,0.25,0.625,0.4375],[0.25,0.125,0.25,0.75,0.3125,1.0],[0.25,0.3125,0.25,0.75,0.875,0.4375],[0.25,0.3125,0.8125,0.75,0.875,1.0],[0.25,0.6875,0.4375,0.75,0.875,0.8125],[0.75,0.375,0.0,0.875,0.625,0.4375]], +"251":[[0.0,0.125,0.25,0.75,0.875,0.75],[0.1875,0.3125,0.125,0.5625,0.6875,0.25],[0.1875,0.3125,0.75,0.5625,0.6875,0.875],[0.5625,0.375,0.125,1.0,0.625,0.25],[0.5625,0.375,0.75,1.0,0.625,0.875]], +"252":[[0.0,0.375,0.125,0.8125,0.625,0.25],[0.0,0.375,0.75,0.8125,0.625,0.875],[0.25,0.125,0.25,1.0,0.875,0.75],[0.4375,0.3125,0.125,0.8125,0.375,0.25],[0.4375,0.3125,0.75,0.8125,0.375,0.875],[0.4375,0.625,0.125,0.8125,0.6875,0.25],[0.4375,0.625,0.75,0.8125,0.6875,0.875]], +"253":[[0.125,0.1875,0.3125,0.875,0.5625,0.6875],[0.125,0.5625,0.375,0.875,0.75,0.625],[0.125,0.75,0.375,0.25,1.0,0.625],[0.25,0.0,0.125,0.75,0.1875,0.875],[0.25,0.1875,0.125,0.75,0.75,0.3125],[0.25,0.1875,0.6875,0.75,0.75,0.875],[0.25,0.5625,0.3125,0.75,0.75,0.375],[0.25,0.5625,0.625,0.75,0.75,0.6875],[0.75,0.75,0.375,0.875,1.0,0.625]], +"254":[[0.125,0.0,0.25,0.875,0.75,0.75],[0.3125,0.1875,0.125,0.6875,0.5625,0.25],[0.3125,0.1875,0.75,0.6875,0.5625,0.875],[0.375,0.5625,0.125,0.625,1.0,0.25],[0.375,0.5625,0.75,0.625,1.0,0.875]], +"255":[[0.0,0.0,0.0,1.0,0.125,1.0],[0.25,0.125,0.25,0.75,0.875,0.75]], +"256":[[0.0,0.0,0.0,1.0,0.5625,1.0]], +"257":[[0.0,0.0,0.25,1.0,1.0,0.75]], +"258":[[0.25,0.0,0.0,0.75,1.0,1.0]], +"259":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.4375,0.5625,1.0,0.5625]], +"260":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.0,0.5625,0.9375,0.8125]], +"261":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.1875,0.5625,0.9375,1.0]], +"262":[[0.0,0.8125,0.4375,0.8125,0.9375,0.5625],[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875]], +"263":[[0.1875,0.8125,0.4375,1.0,0.9375,0.5625],[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875]], +"264":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.0,0.5625,0.9375,1.0]], +"265":[[0.0,0.8125,0.4375,1.0,0.9375,0.5625],[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875]], +"266":[[0.3125,0.0,0.3125,0.6875,0.4375,0.6875],[0.375,0.4375,0.375,0.625,0.5625,0.625]], +"267":[[0.3125,0.0625,0.3125,0.6875,0.5,0.6875],[0.375,0.5,0.375,0.625,0.625,0.625]], +"268":[[0.0,0.0,0.0,1.0,0.4375,1.0]], +"269":[[0.0,0.0,0.0,1.0,0.125,1.0],[0.0,0.125,0.0,0.125,1.0,1.0],[0.125,0.125,0.0,1.0,1.0,0.125],[0.125,0.125,0.875,1.0,1.0,1.0],[0.875,0.125,0.125,1.0,1.0,0.875]]}} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/blockLoot.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/blockLoot.json new file mode 100644 index 00000000..f48d5abe --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/blockLoot.json @@ -0,0 +1,8839 @@ +[ + { + "block": "acacia_button", + "drops": [ + { + "item": "acacia_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_door", + "drops": [ + { + "item": "acacia_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_fence", + "drops": [ + { + "item": "acacia_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_fence_gate", + "drops": [ + { + "item": "acacia_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_leaves", + "drops": [ + { + "item": "acacia_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "acacia_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_log", + "drops": [ + { + "item": "acacia_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_planks", + "drops": [ + { + "item": "acacia_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_pressure_plate", + "drops": [ + { + "item": "acacia_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_sapling", + "drops": [ + { + "item": "acacia_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_sign", + "drops": [ + { + "item": "acacia_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_slab", + "drops": [ + { + "item": "acacia_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "acacia_stairs", + "drops": [ + { + "item": "acacia_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_trapdoor", + "drops": [ + { + "item": "acacia_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_wood", + "drops": [ + { + "item": "acacia_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "activator_rail", + "drops": [ + { + "item": "activator_rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "allium", + "drops": [ + { + "item": "allium", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "andesite", + "drops": [ + { + "item": "andesite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "andesite_slab", + "drops": [ + { + "item": "andesite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "andesite_stairs", + "drops": [ + { + "item": "andesite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "andesite_wall", + "drops": [ + { + "item": "andesite_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "anvil", + "drops": [ + { + "item": "anvil", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "attached_melon_stem", + "drops": [] + }, + { + "block": "attached_pumpkin_stem", + "drops": [] + }, + { + "block": "azure_bluet", + "drops": [ + { + "item": "azure_bluet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bamboo", + "drops": [ + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bamboo_sapling", + "drops": [ + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "barrel", + "drops": [ + { + "item": "barrel", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "beacon", + "drops": [ + { + "item": "beacon", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "beetroots", + "drops": [ + { + "item": "beetroot", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 3 + }, + { + "item": "beetroot_seeds", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "beetroot_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 3 + } + ] + }, + { + "block": "bell", + "drops": [ + { + "item": "bell", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_button", + "drops": [ + { + "item": "birch_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_door", + "drops": [ + { + "item": "birch_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_fence", + "drops": [ + { + "item": "birch_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_fence_gate", + "drops": [ + { + "item": "birch_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_leaves", + "drops": [ + { + "item": "birch_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "birch_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_log", + "drops": [ + { + "item": "birch_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_planks", + "drops": [ + { + "item": "birch_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_pressure_plate", + "drops": [ + { + "item": "birch_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_sapling", + "drops": [ + { + "item": "birch_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_sign", + "drops": [ + { + "item": "birch_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_slab", + "drops": [ + { + "item": "birch_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "birch_stairs", + "drops": [ + { + "item": "birch_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_trapdoor", + "drops": [ + { + "item": "birch_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_wood", + "drops": [ + { + "item": "birch_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_banner", + "drops": [ + { + "item": "black_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_bed", + "drops": [ + { + "item": "black_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_carpet", + "drops": [ + { + "item": "black_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_concrete", + "drops": [ + { + "item": "black_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_concrete_powder", + "drops": [ + { + "item": "black_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_glazed_terracotta", + "drops": [ + { + "item": "black_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_shulker_box", + "drops": [ + { + "item": "black_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_stained_glass", + "drops": [ + { + "item": "black_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "black_stained_glass_pane", + "drops": [ + { + "item": "black_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "black_terracotta", + "drops": [ + { + "item": "black_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_wool", + "drops": [ + { + "item": "black_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blast_furnace", + "drops": [ + { + "item": "blast_furnace", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_banner", + "drops": [ + { + "item": "blue_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_bed", + "drops": [ + { + "item": "blue_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_carpet", + "drops": [ + { + "item": "blue_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_concrete", + "drops": [ + { + "item": "blue_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_concrete_powder", + "drops": [ + { + "item": "blue_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_glazed_terracotta", + "drops": [ + { + "item": "blue_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_ice", + "drops": [ + { + "item": "blue_ice", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "blue_orchid", + "drops": [ + { + "item": "blue_orchid", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_shulker_box", + "drops": [ + { + "item": "blue_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_stained_glass", + "drops": [ + { + "item": "blue_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "blue_stained_glass_pane", + "drops": [ + { + "item": "blue_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "blue_terracotta", + "drops": [ + { + "item": "blue_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_wool", + "drops": [ + { + "item": "blue_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bone_block", + "drops": [ + { + "item": "bone_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bookshelf", + "drops": [ + { + "item": "bookshelf", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "book", + "dropChance": 0.5, + "stackSizeRange": [ + 3, + 3 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "brain_coral", + "drops": [ + { + "item": "brain_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brain_coral_block", + "drops": [ + { + "item": "brain_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_brain_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "brain_coral_fan", + "drops": [ + { + "item": "brain_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brewing_stand", + "drops": [ + { + "item": "brewing_stand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brick_slab", + "drops": [ + { + "item": "brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "brick_stairs", + "drops": [ + { + "item": "brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brick_wall", + "drops": [ + { + "item": "brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bricks", + "drops": [ + { + "item": "bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_banner", + "drops": [ + { + "item": "brown_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_bed", + "drops": [ + { + "item": "brown_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_carpet", + "drops": [ + { + "item": "brown_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_concrete", + "drops": [ + { + "item": "brown_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_concrete_powder", + "drops": [ + { + "item": "brown_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_glazed_terracotta", + "drops": [ + { + "item": "brown_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_mushroom", + "drops": [ + { + "item": "brown_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_mushroom_block", + "drops": [ + { + "item": "brown_mushroom_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "brown_mushroom", + "dropChance": 0.5, + "stackSizeRange": [ + 0, + null + ], + "noSilkTouch": true + } + ] + }, + { + "block": "brown_shulker_box", + "drops": [ + { + "item": "brown_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_stained_glass", + "drops": [ + { + "item": "brown_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brown_stained_glass_pane", + "drops": [ + { + "item": "brown_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brown_terracotta", + "drops": [ + { + "item": "brown_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_wool", + "drops": [ + { + "item": "brown_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bubble_coral", + "drops": [ + { + "item": "bubble_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "bubble_coral_block", + "drops": [ + { + "item": "bubble_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_bubble_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "bubble_coral_fan", + "drops": [ + { + "item": "bubble_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "cactus", + "drops": [ + { + "item": "cactus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cake", + "drops": [] + }, + { + "block": "campfire", + "drops": [ + { + "item": "campfire", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "charcoal", + "dropChance": 0.5, + "stackSizeRange": [ + 2, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "carrots", + "drops": [ + { + "item": "carrot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "carrot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 7 + } + ] + }, + { + "block": "cartography_table", + "drops": [ + { + "item": "cartography_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "carved_pumpkin", + "drops": [ + { + "item": "carved_pumpkin", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cauldron", + "drops": [ + { + "item": "cauldron", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chest", + "drops": [ + { + "item": "chest", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chipped_anvil", + "drops": [ + { + "item": "chipped_anvil", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_quartz_block", + "drops": [ + { + "item": "chiseled_quartz_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_red_sandstone", + "drops": [ + { + "item": "chiseled_red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_sandstone", + "drops": [ + { + "item": "chiseled_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_stone_bricks", + "drops": [ + { + "item": "chiseled_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chorus_flower", + "drops": [ + { + "item": "chorus_flower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chorus_plant", + "drops": [ + { + "item": "chorus_fruit", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "clay", + "drops": [ + { + "item": "clay", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "clay_ball", + "dropChance": 0.5, + "stackSizeRange": [ + 4, + 4 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "coal_block", + "drops": [ + { + "item": "coal_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "coal_ore", + "drops": [ + { + "item": "coal_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "coal", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "coarse_dirt", + "drops": [ + { + "item": "coarse_dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobblestone", + "drops": [ + { + "item": "cobblestone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobblestone_slab", + "drops": [ + { + "item": "cobblestone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "cobblestone_stairs", + "drops": [ + { + "item": "cobblestone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobblestone_wall", + "drops": [ + { + "item": "cobblestone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobweb", + "drops": [ + { + "item": "cobweb", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "string", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cocoa", + "drops": [ + { + "item": "cocoa_beans", + "dropChance": 1, + "stackSizeRange": [ + 3, + 3 + ] + } + ] + }, + { + "block": "comparator", + "drops": [ + { + "item": "comparator", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "composter", + "drops": [ + { + "item": "composter", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "conduit", + "drops": [ + { + "item": "conduit", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cornflower", + "drops": [ + { + "item": "cornflower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cracked_stone_bricks", + "drops": [ + { + "item": "cracked_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crafting_table", + "drops": [ + { + "item": "crafting_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "creeper_head", + "drops": [ + { + "item": "creeper_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cut_red_sandstone", + "drops": [ + { + "item": "cut_red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cut_red_sandstone_slab", + "drops": [ + { + "item": "cut_red_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "cut_sandstone", + "drops": [ + { + "item": "cut_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cut_sandstone_slab", + "drops": [ + { + "item": "cut_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "cyan_banner", + "drops": [ + { + "item": "cyan_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_bed", + "drops": [ + { + "item": "cyan_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_carpet", + "drops": [ + { + "item": "cyan_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_concrete", + "drops": [ + { + "item": "cyan_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_concrete_powder", + "drops": [ + { + "item": "cyan_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_glazed_terracotta", + "drops": [ + { + "item": "cyan_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_shulker_box", + "drops": [ + { + "item": "cyan_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_stained_glass", + "drops": [ + { + "item": "cyan_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "cyan_stained_glass_pane", + "drops": [ + { + "item": "cyan_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "cyan_terracotta", + "drops": [ + { + "item": "cyan_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_wool", + "drops": [ + { + "item": "cyan_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "damaged_anvil", + "drops": [ + { + "item": "damaged_anvil", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dandelion", + "drops": [ + { + "item": "dandelion", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_button", + "drops": [ + { + "item": "dark_oak_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_door", + "drops": [ + { + "item": "dark_oak_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_fence", + "drops": [ + { + "item": "dark_oak_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_fence_gate", + "drops": [ + { + "item": "dark_oak_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_leaves", + "drops": [ + { + "item": "dark_oak_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dark_oak_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "apple", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_log", + "drops": [ + { + "item": "dark_oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_planks", + "drops": [ + { + "item": "dark_oak_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_pressure_plate", + "drops": [ + { + "item": "dark_oak_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_sapling", + "drops": [ + { + "item": "dark_oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_sign", + "drops": [ + { + "item": "dark_oak_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_slab", + "drops": [ + { + "item": "dark_oak_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "dark_oak_stairs", + "drops": [ + { + "item": "dark_oak_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_trapdoor", + "drops": [ + { + "item": "dark_oak_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_wood", + "drops": [ + { + "item": "dark_oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_prismarine", + "drops": [ + { + "item": "dark_prismarine", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_prismarine_slab", + "drops": [ + { + "item": "dark_prismarine_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "dark_prismarine_stairs", + "drops": [ + { + "item": "dark_prismarine_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "daylight_detector", + "drops": [ + { + "item": "daylight_detector", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_brain_coral", + "drops": [ + { + "item": "dead_brain_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_brain_coral_block", + "drops": [ + { + "item": "dead_brain_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_brain_coral_fan", + "drops": [ + { + "item": "dead_brain_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_bubble_coral", + "drops": [ + { + "item": "dead_bubble_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_bubble_coral_block", + "drops": [ + { + "item": "dead_bubble_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_bubble_coral_fan", + "drops": [ + { + "item": "dead_bubble_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_bush", + "drops": [ + { + "item": "dead_bush", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_fire_coral", + "drops": [ + { + "item": "dead_fire_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_fire_coral_block", + "drops": [ + { + "item": "dead_fire_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_fire_coral_fan", + "drops": [ + { + "item": "dead_fire_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_horn_coral", + "drops": [ + { + "item": "dead_horn_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_horn_coral_block", + "drops": [ + { + "item": "dead_horn_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_horn_coral_fan", + "drops": [ + { + "item": "dead_horn_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_tube_coral", + "drops": [ + { + "item": "dead_tube_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_tube_coral_block", + "drops": [ + { + "item": "dead_tube_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_tube_coral_fan", + "drops": [ + { + "item": "dead_tube_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "detector_rail", + "drops": [ + { + "item": "detector_rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diamond_block", + "drops": [ + { + "item": "diamond_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diamond_ore", + "drops": [ + { + "item": "diamond_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "diamond", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "diorite", + "drops": [ + { + "item": "diorite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diorite_slab", + "drops": [ + { + "item": "diorite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "diorite_stairs", + "drops": [ + { + "item": "diorite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diorite_wall", + "drops": [ + { + "item": "diorite_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dirt", + "drops": [ + { + "item": "dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dispenser", + "drops": [ + { + "item": "dispenser", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dragon_egg", + "drops": [ + { + "item": "dragon_egg", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dragon_head", + "drops": [ + { + "item": "dragon_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dried_kelp_block", + "drops": [ + { + "item": "dried_kelp_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dropper", + "drops": [ + { + "item": "dropper", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "emerald_block", + "drops": [ + { + "item": "emerald_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "emerald_ore", + "drops": [ + { + "item": "emerald_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "emerald", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "enchanting_table", + "drops": [ + { + "item": "enchanting_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_rod", + "drops": [ + { + "item": "end_rod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone", + "drops": [ + { + "item": "end_stone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone_brick_slab", + "drops": [ + { + "item": "end_stone_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "end_stone_brick_stairs", + "drops": [ + { + "item": "end_stone_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone_brick_wall", + "drops": [ + { + "item": "end_stone_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone_bricks", + "drops": [ + { + "item": "end_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "ender_chest", + "drops": [ + { + "item": "ender_chest", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "obsidian", + "dropChance": 0.5, + "stackSizeRange": [ + 8, + 8 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "farmland", + "drops": [ + { + "item": "dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "fern", + "drops": [ + { + "item": "fern", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "fire_coral", + "drops": [ + { + "item": "fire_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "fire_coral_block", + "drops": [ + { + "item": "fire_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_fire_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "fire_coral_fan", + "drops": [ + { + "item": "fire_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "fletching_table", + "drops": [ + { + "item": "fletching_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "flower_pot", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "frosted_ice", + "drops": [] + }, + { + "block": "furnace", + "drops": [ + { + "item": "furnace", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "glass", + "drops": [ + { + "item": "glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "glass_pane", + "drops": [ + { + "item": "glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "glowstone", + "drops": [ + { + "item": "glowstone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "glowstone_dust", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "gold_block", + "drops": [ + { + "item": "gold_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gold_ore", + "drops": [ + { + "item": "gold_ore", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "granite", + "drops": [ + { + "item": "granite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "granite_slab", + "drops": [ + { + "item": "granite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "granite_stairs", + "drops": [ + { + "item": "granite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "granite_wall", + "drops": [ + { + "item": "granite_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "grass", + "drops": [ + { + "item": "grass", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "grass_block", + "drops": [ + { + "item": "grass_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dirt", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "grass_path", + "drops": [ + { + "item": "dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gravel", + "drops": [ + { + "item": "gravel", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "flint", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + }, + { + "item": "gravel", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "gray_banner", + "drops": [ + { + "item": "gray_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_bed", + "drops": [ + { + "item": "gray_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_carpet", + "drops": [ + { + "item": "gray_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_concrete", + "drops": [ + { + "item": "gray_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_concrete_powder", + "drops": [ + { + "item": "gray_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_glazed_terracotta", + "drops": [ + { + "item": "gray_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_shulker_box", + "drops": [ + { + "item": "gray_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_stained_glass", + "drops": [ + { + "item": "gray_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "gray_stained_glass_pane", + "drops": [ + { + "item": "gray_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "gray_terracotta", + "drops": [ + { + "item": "gray_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_wool", + "drops": [ + { + "item": "gray_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_banner", + "drops": [ + { + "item": "green_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_bed", + "drops": [ + { + "item": "green_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_carpet", + "drops": [ + { + "item": "green_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_concrete", + "drops": [ + { + "item": "green_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_concrete_powder", + "drops": [ + { + "item": "green_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_glazed_terracotta", + "drops": [ + { + "item": "green_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_shulker_box", + "drops": [ + { + "item": "green_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_stained_glass", + "drops": [ + { + "item": "green_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "green_stained_glass_pane", + "drops": [ + { + "item": "green_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "green_terracotta", + "drops": [ + { + "item": "green_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_wool", + "drops": [ + { + "item": "green_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "grindstone", + "drops": [ + { + "item": "grindstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "hay_block", + "drops": [ + { + "item": "hay_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "heavy_weighted_pressure_plate", + "drops": [ + { + "item": "heavy_weighted_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "hopper", + "drops": [ + { + "item": "hopper", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "horn_coral", + "drops": [ + { + "item": "horn_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "horn_coral_block", + "drops": [ + { + "item": "horn_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_horn_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "horn_coral_fan", + "drops": [ + { + "item": "horn_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "ice", + "drops": [ + { + "item": "ice", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_chiseled_stone_bricks", + "drops": [ + { + "item": "chiseled_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_cobblestone", + "drops": [ + { + "item": "cobblestone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_cracked_stone_bricks", + "drops": [ + { + "item": "cracked_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_mossy_stone_bricks", + "drops": [ + { + "item": "mossy_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_stone", + "drops": [ + { + "item": "stone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_stone_bricks", + "drops": [ + { + "item": "stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "iron_bars", + "drops": [ + { + "item": "iron_bars", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_block", + "drops": [ + { + "item": "iron_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_door", + "drops": [ + { + "item": "iron_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_ore", + "drops": [ + { + "item": "iron_ore", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_trapdoor", + "drops": [ + { + "item": "iron_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jack_o_lantern", + "drops": [ + { + "item": "jack_o_lantern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jukebox", + "drops": [ + { + "item": "jukebox", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_button", + "drops": [ + { + "item": "jungle_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_door", + "drops": [ + { + "item": "jungle_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_fence", + "drops": [ + { + "item": "jungle_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_fence_gate", + "drops": [ + { + "item": "jungle_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_leaves", + "drops": [ + { + "item": "jungle_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "jungle_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_log", + "drops": [ + { + "item": "jungle_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_planks", + "drops": [ + { + "item": "jungle_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_pressure_plate", + "drops": [ + { + "item": "jungle_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_sapling", + "drops": [ + { + "item": "jungle_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_sign", + "drops": [ + { + "item": "jungle_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_slab", + "drops": [ + { + "item": "jungle_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "jungle_stairs", + "drops": [ + { + "item": "jungle_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_trapdoor", + "drops": [ + { + "item": "jungle_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_wood", + "drops": [ + { + "item": "jungle_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "kelp", + "drops": [ + { + "item": "kelp", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "kelp_plant", + "drops": [ + { + "item": "kelp", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "ladder", + "drops": [ + { + "item": "ladder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lantern", + "drops": [ + { + "item": "lantern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lapis_block", + "drops": [ + { + "item": "lapis_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lapis_ore", + "drops": [ + { + "item": "lapis_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "lapis_lazuli", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "large_fern", + "drops": [ + { + "item": "fern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lectern", + "drops": [ + { + "item": "lectern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lever", + "drops": [ + { + "item": "lever", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_banner", + "drops": [ + { + "item": "light_blue_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_bed", + "drops": [ + { + "item": "light_blue_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_carpet", + "drops": [ + { + "item": "light_blue_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_concrete", + "drops": [ + { + "item": "light_blue_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_concrete_powder", + "drops": [ + { + "item": "light_blue_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_glazed_terracotta", + "drops": [ + { + "item": "light_blue_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_shulker_box", + "drops": [ + { + "item": "light_blue_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_stained_glass", + "drops": [ + { + "item": "light_blue_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_blue_stained_glass_pane", + "drops": [ + { + "item": "light_blue_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_blue_terracotta", + "drops": [ + { + "item": "light_blue_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_wool", + "drops": [ + { + "item": "light_blue_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_banner", + "drops": [ + { + "item": "light_gray_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_bed", + "drops": [ + { + "item": "light_gray_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_carpet", + "drops": [ + { + "item": "light_gray_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_concrete", + "drops": [ + { + "item": "light_gray_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_concrete_powder", + "drops": [ + { + "item": "light_gray_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_glazed_terracotta", + "drops": [ + { + "item": "light_gray_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_shulker_box", + "drops": [ + { + "item": "light_gray_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_stained_glass", + "drops": [ + { + "item": "light_gray_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_gray_stained_glass_pane", + "drops": [ + { + "item": "light_gray_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_gray_terracotta", + "drops": [ + { + "item": "light_gray_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_wool", + "drops": [ + { + "item": "light_gray_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_weighted_pressure_plate", + "drops": [ + { + "item": "light_weighted_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lilac", + "drops": [ + { + "item": "lilac", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lily_of_the_valley", + "drops": [ + { + "item": "lily_of_the_valley", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lily_pad", + "drops": [ + { + "item": "lily_pad", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_banner", + "drops": [ + { + "item": "lime_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_bed", + "drops": [ + { + "item": "lime_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_carpet", + "drops": [ + { + "item": "lime_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_concrete", + "drops": [ + { + "item": "lime_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_concrete_powder", + "drops": [ + { + "item": "lime_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_glazed_terracotta", + "drops": [ + { + "item": "lime_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_shulker_box", + "drops": [ + { + "item": "lime_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_stained_glass", + "drops": [ + { + "item": "lime_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "lime_stained_glass_pane", + "drops": [ + { + "item": "lime_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "lime_terracotta", + "drops": [ + { + "item": "lime_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_wool", + "drops": [ + { + "item": "lime_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "loom", + "drops": [ + { + "item": "loom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_banner", + "drops": [ + { + "item": "magenta_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_bed", + "drops": [ + { + "item": "magenta_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_carpet", + "drops": [ + { + "item": "magenta_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_concrete", + "drops": [ + { + "item": "magenta_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_concrete_powder", + "drops": [ + { + "item": "magenta_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_glazed_terracotta", + "drops": [ + { + "item": "magenta_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_shulker_box", + "drops": [ + { + "item": "magenta_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_stained_glass", + "drops": [ + { + "item": "magenta_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "magenta_stained_glass_pane", + "drops": [ + { + "item": "magenta_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "magenta_terracotta", + "drops": [ + { + "item": "magenta_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_wool", + "drops": [ + { + "item": "magenta_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magma_block", + "drops": [ + { + "item": "magma_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "melon", + "drops": [ + { + "item": "melon", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "melon_slice", + "dropChance": 0.5, + "stackSizeRange": [ + null, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "melon_stem", + "drops": [ + { + "item": "melon_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_cobblestone", + "drops": [ + { + "item": "mossy_cobblestone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_cobblestone_slab", + "drops": [ + { + "item": "mossy_cobblestone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "mossy_cobblestone_stairs", + "drops": [ + { + "item": "mossy_cobblestone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_cobblestone_wall", + "drops": [ + { + "item": "mossy_cobblestone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_stone_brick_slab", + "drops": [ + { + "item": "mossy_stone_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "mossy_stone_brick_stairs", + "drops": [ + { + "item": "mossy_stone_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_stone_brick_wall", + "drops": [ + { + "item": "mossy_stone_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_stone_bricks", + "drops": [ + { + "item": "mossy_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mushroom_stem", + "drops": [ + { + "item": "mushroom_stem", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "mycelium", + "drops": [ + { + "item": "mycelium", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dirt", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "nether_brick_fence", + "drops": [ + { + "item": "nether_brick_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_brick_slab", + "drops": [ + { + "item": "nether_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "nether_brick_stairs", + "drops": [ + { + "item": "nether_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_brick_wall", + "drops": [ + { + "item": "nether_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_bricks", + "drops": [ + { + "item": "nether_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_quartz_ore", + "drops": [ + { + "item": "nether_quartz_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "quartz", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "nether_wart", + "drops": [ + { + "item": "nether_wart", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_wart_block", + "drops": [ + { + "item": "nether_wart_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "netherrack", + "drops": [ + { + "item": "netherrack", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "note_block", + "drops": [ + { + "item": "note_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_button", + "drops": [ + { + "item": "oak_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_door", + "drops": [ + { + "item": "oak_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_fence", + "drops": [ + { + "item": "oak_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_fence_gate", + "drops": [ + { + "item": "oak_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_leaves", + "drops": [ + { + "item": "oak_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "oak_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "apple", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_log", + "drops": [ + { + "item": "oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_planks", + "drops": [ + { + "item": "oak_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_pressure_plate", + "drops": [ + { + "item": "oak_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_sapling", + "drops": [ + { + "item": "oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_sign", + "drops": [ + { + "item": "oak_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_slab", + "drops": [ + { + "item": "oak_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "oak_stairs", + "drops": [ + { + "item": "oak_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_trapdoor", + "drops": [ + { + "item": "oak_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_wood", + "drops": [ + { + "item": "oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "observer", + "drops": [ + { + "item": "observer", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "obsidian", + "drops": [ + { + "item": "obsidian", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_banner", + "drops": [ + { + "item": "orange_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_bed", + "drops": [ + { + "item": "orange_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_carpet", + "drops": [ + { + "item": "orange_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_concrete", + "drops": [ + { + "item": "orange_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_concrete_powder", + "drops": [ + { + "item": "orange_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_glazed_terracotta", + "drops": [ + { + "item": "orange_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_shulker_box", + "drops": [ + { + "item": "orange_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_stained_glass", + "drops": [ + { + "item": "orange_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "orange_stained_glass_pane", + "drops": [ + { + "item": "orange_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "orange_terracotta", + "drops": [ + { + "item": "orange_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_tulip", + "drops": [ + { + "item": "orange_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_wool", + "drops": [ + { + "item": "orange_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oxeye_daisy", + "drops": [ + { + "item": "oxeye_daisy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "packed_ice", + "drops": [ + { + "item": "packed_ice", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "peony", + "drops": [ + { + "item": "peony", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "petrified_oak_slab", + "drops": [ + { + "item": "petrified_oak_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "pink_banner", + "drops": [ + { + "item": "pink_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_bed", + "drops": [ + { + "item": "pink_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_carpet", + "drops": [ + { + "item": "pink_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_concrete", + "drops": [ + { + "item": "pink_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_concrete_powder", + "drops": [ + { + "item": "pink_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_glazed_terracotta", + "drops": [ + { + "item": "pink_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_shulker_box", + "drops": [ + { + "item": "pink_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_stained_glass", + "drops": [ + { + "item": "pink_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "pink_stained_glass_pane", + "drops": [ + { + "item": "pink_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "pink_terracotta", + "drops": [ + { + "item": "pink_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_tulip", + "drops": [ + { + "item": "pink_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_wool", + "drops": [ + { + "item": "pink_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "piston", + "drops": [ + { + "item": "piston", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "player_head", + "drops": [ + { + "item": "player_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "podzol", + "drops": [ + { + "item": "podzol", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dirt", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "polished_andesite", + "drops": [ + { + "item": "polished_andesite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_andesite_slab", + "drops": [ + { + "item": "polished_andesite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_andesite_stairs", + "drops": [ + { + "item": "polished_andesite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_diorite", + "drops": [ + { + "item": "polished_diorite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_diorite_slab", + "drops": [ + { + "item": "polished_diorite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_diorite_stairs", + "drops": [ + { + "item": "polished_diorite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_granite", + "drops": [ + { + "item": "polished_granite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_granite_slab", + "drops": [ + { + "item": "polished_granite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_granite_stairs", + "drops": [ + { + "item": "polished_granite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "poppy", + "drops": [ + { + "item": "poppy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potatoes", + "drops": [ + { + "item": "potato", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "potato", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 7 + }, + { + "item": "poisonous_potato", + "dropChance": 0.02, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 7 + } + ] + }, + { + "block": "potted_acacia_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "acacia_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_allium", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "allium", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_azure_bluet", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "azure_bluet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_bamboo", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_birch_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "birch_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_blue_orchid", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "blue_orchid", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_brown_mushroom", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "brown_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_cactus", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cactus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_cornflower", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cornflower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_dandelion", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dandelion", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_dark_oak_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dark_oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_dead_bush", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dead_bush", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_fern", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "fern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_jungle_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "jungle_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_lily_of_the_valley", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "lily_of_the_valley", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_oak_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_orange_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "orange_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_oxeye_daisy", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "oxeye_daisy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_pink_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "pink_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_poppy", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "poppy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_red_mushroom", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "red_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_red_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "red_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_spruce_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spruce_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_white_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "white_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_wither_rose", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wither_rose", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "powered_rail", + "drops": [ + { + "item": "powered_rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine", + "drops": [ + { + "item": "prismarine", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_brick_slab", + "drops": [ + { + "item": "prismarine_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "prismarine_brick_stairs", + "drops": [ + { + "item": "prismarine_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_bricks", + "drops": [ + { + "item": "prismarine_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_slab", + "drops": [ + { + "item": "prismarine_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "prismarine_stairs", + "drops": [ + { + "item": "prismarine_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_wall", + "drops": [ + { + "item": "prismarine_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pumpkin", + "drops": [ + { + "item": "pumpkin", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pumpkin_stem", + "drops": [ + { + "item": "pumpkin_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_banner", + "drops": [ + { + "item": "purple_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_bed", + "drops": [ + { + "item": "purple_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_carpet", + "drops": [ + { + "item": "purple_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_concrete", + "drops": [ + { + "item": "purple_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_concrete_powder", + "drops": [ + { + "item": "purple_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_glazed_terracotta", + "drops": [ + { + "item": "purple_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_shulker_box", + "drops": [ + { + "item": "purple_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_stained_glass", + "drops": [ + { + "item": "purple_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "purple_stained_glass_pane", + "drops": [ + { + "item": "purple_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "purple_terracotta", + "drops": [ + { + "item": "purple_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_wool", + "drops": [ + { + "item": "purple_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purpur_block", + "drops": [ + { + "item": "purpur_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purpur_pillar", + "drops": [ + { + "item": "purpur_pillar", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purpur_slab", + "drops": [ + { + "item": "purpur_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "purpur_stairs", + "drops": [ + { + "item": "purpur_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "quartz_block", + "drops": [ + { + "item": "quartz_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "quartz_pillar", + "drops": [ + { + "item": "quartz_pillar", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "quartz_slab", + "drops": [ + { + "item": "quartz_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "quartz_stairs", + "drops": [ + { + "item": "quartz_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "rail", + "drops": [ + { + "item": "rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_banner", + "drops": [ + { + "item": "red_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_bed", + "drops": [ + { + "item": "red_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_carpet", + "drops": [ + { + "item": "red_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_concrete", + "drops": [ + { + "item": "red_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_concrete_powder", + "drops": [ + { + "item": "red_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_glazed_terracotta", + "drops": [ + { + "item": "red_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_mushroom", + "drops": [ + { + "item": "red_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_mushroom_block", + "drops": [ + { + "item": "red_mushroom_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "red_mushroom", + "dropChance": 0.5, + "stackSizeRange": [ + 0, + null + ], + "noSilkTouch": true + } + ] + }, + { + "block": "red_nether_brick_slab", + "drops": [ + { + "item": "red_nether_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "red_nether_brick_stairs", + "drops": [ + { + "item": "red_nether_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_nether_brick_wall", + "drops": [ + { + "item": "red_nether_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_nether_bricks", + "drops": [ + { + "item": "red_nether_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sand", + "drops": [ + { + "item": "red_sand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sandstone", + "drops": [ + { + "item": "red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sandstone_slab", + "drops": [ + { + "item": "red_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "red_sandstone_stairs", + "drops": [ + { + "item": "red_sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sandstone_wall", + "drops": [ + { + "item": "red_sandstone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_shulker_box", + "drops": [ + { + "item": "red_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_stained_glass", + "drops": [ + { + "item": "red_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "red_stained_glass_pane", + "drops": [ + { + "item": "red_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "red_terracotta", + "drops": [ + { + "item": "red_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_tulip", + "drops": [ + { + "item": "red_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_wool", + "drops": [ + { + "item": "red_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_block", + "drops": [ + { + "item": "redstone_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_lamp", + "drops": [ + { + "item": "redstone_lamp", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_ore", + "drops": [ + { + "item": "redstone_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "redstone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "redstone_torch", + "drops": [ + { + "item": "redstone_torch", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_wire", + "drops": [ + { + "item": "redstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "repeater", + "drops": [ + { + "item": "repeater", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "rose_bush", + "drops": [ + { + "item": "rose_bush", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sand", + "drops": [ + { + "item": "sand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sandstone", + "drops": [ + { + "item": "sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sandstone_slab", + "drops": [ + { + "item": "sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "sandstone_stairs", + "drops": [ + { + "item": "sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sandstone_wall", + "drops": [ + { + "item": "sandstone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "scaffolding", + "drops": [ + { + "item": "scaffolding", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sea_lantern", + "drops": [ + { + "item": "sea_lantern", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "prismarine_crystals", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "sea_pickle", + "drops": [ + { + "item": "sea_pickle", + "dropChance": 1, + "stackSizeRange": [ + 4, + 4 + ] + } + ] + }, + { + "block": "seagrass", + "drops": [ + { + "item": "seagrass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "shulker_box", + "drops": [ + { + "item": "shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "skeleton_skull", + "drops": [ + { + "item": "skeleton_skull", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "slime_block", + "drops": [ + { + "item": "slime_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smithing_table", + "drops": [ + { + "item": "smithing_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smoker", + "drops": [ + { + "item": "smoker", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_quartz", + "drops": [ + { + "item": "smooth_quartz", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_quartz_slab", + "drops": [ + { + "item": "smooth_quartz_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "smooth_quartz_stairs", + "drops": [ + { + "item": "smooth_quartz_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_red_sandstone", + "drops": [ + { + "item": "smooth_red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_red_sandstone_slab", + "drops": [ + { + "item": "smooth_red_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "smooth_red_sandstone_stairs", + "drops": [ + { + "item": "smooth_red_sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_sandstone", + "drops": [ + { + "item": "smooth_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_sandstone_slab", + "drops": [ + { + "item": "smooth_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "smooth_sandstone_stairs", + "drops": [ + { + "item": "smooth_sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_stone", + "drops": [ + { + "item": "smooth_stone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_stone_slab", + "drops": [ + { + "item": "smooth_stone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "snow", + "drops": [ + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 2, + 2 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 3, + 3 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 4, + 4 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 5, + 5 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 6, + 6 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 7, + 7 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 8, + 8 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 2, + 2 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 3, + 3 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 4, + 4 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 5, + 5 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 6, + 6 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 7, + 7 + ] + }, + { + "item": "snow_block", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "snow_block", + "drops": [ + { + "item": "snow_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "snowball", + "dropChance": 0.5, + "stackSizeRange": [ + 4, + 4 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "soul_sand", + "drops": [ + { + "item": "soul_sand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spawner", + "drops": [] + }, + { + "block": "sponge", + "drops": [ + { + "item": "sponge", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_button", + "drops": [ + { + "item": "spruce_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_door", + "drops": [ + { + "item": "spruce_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_fence", + "drops": [ + { + "item": "spruce_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_fence_gate", + "drops": [ + { + "item": "spruce_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_leaves", + "drops": [ + { + "item": "spruce_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spruce_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_log", + "drops": [ + { + "item": "spruce_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_planks", + "drops": [ + { + "item": "spruce_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_pressure_plate", + "drops": [ + { + "item": "spruce_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_sapling", + "drops": [ + { + "item": "spruce_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_sign", + "drops": [ + { + "item": "spruce_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_slab", + "drops": [ + { + "item": "spruce_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "spruce_stairs", + "drops": [ + { + "item": "spruce_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_trapdoor", + "drops": [ + { + "item": "spruce_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_wood", + "drops": [ + { + "item": "spruce_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sticky_piston", + "drops": [ + { + "item": "sticky_piston", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone", + "drops": [ + { + "item": "stone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "cobblestone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "stone_brick_slab", + "drops": [ + { + "item": "stone_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "stone_brick_stairs", + "drops": [ + { + "item": "stone_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_brick_wall", + "drops": [ + { + "item": "stone_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_bricks", + "drops": [ + { + "item": "stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_button", + "drops": [ + { + "item": "stone_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_pressure_plate", + "drops": [ + { + "item": "stone_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_slab", + "drops": [ + { + "item": "stone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "stone_stairs", + "drops": [ + { + "item": "stone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stonecutter", + "drops": [ + { + "item": "stonecutter", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_acacia_log", + "drops": [ + { + "item": "stripped_acacia_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_acacia_wood", + "drops": [ + { + "item": "stripped_acacia_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_birch_log", + "drops": [ + { + "item": "stripped_birch_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_birch_wood", + "drops": [ + { + "item": "stripped_birch_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_dark_oak_log", + "drops": [ + { + "item": "stripped_dark_oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_dark_oak_wood", + "drops": [ + { + "item": "stripped_dark_oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_jungle_log", + "drops": [ + { + "item": "stripped_jungle_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_jungle_wood", + "drops": [ + { + "item": "stripped_jungle_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_oak_log", + "drops": [ + { + "item": "stripped_oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_oak_wood", + "drops": [ + { + "item": "stripped_oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_spruce_log", + "drops": [ + { + "item": "stripped_spruce_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_spruce_wood", + "drops": [ + { + "item": "stripped_spruce_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sugar_cane", + "drops": [ + { + "item": "sugar_cane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sunflower", + "drops": [ + { + "item": "sunflower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sweet_berry_bush", + "drops": [ + { + "item": "sweet_berries", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 3 + }, + { + "item": "sweet_berries", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 2 + } + ] + }, + { + "block": "tall_grass", + "drops": [ + { + "item": "grass", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tall_seagrass", + "drops": [ + { + "item": "seagrass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "terracotta", + "drops": [ + { + "item": "terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tnt", + "drops": [ + { + "item": "tnt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "torch", + "drops": [ + { + "item": "torch", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "trapped_chest", + "drops": [ + { + "item": "trapped_chest", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tripwire", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tripwire_hook", + "drops": [ + { + "item": "tripwire_hook", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tube_coral", + "drops": [ + { + "item": "tube_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "tube_coral_block", + "drops": [ + { + "item": "tube_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_tube_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "tube_coral_fan", + "drops": [ + { + "item": "tube_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "turtle_egg", + "drops": [ + { + "item": "turtle_egg", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "vine", + "drops": [ + { + "item": "vine", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wet_sponge", + "drops": [ + { + "item": "wet_sponge", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wheat", + "drops": [ + { + "item": "wheat", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 7 + }, + { + "item": "wheat_seeds", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 7 + } + ] + }, + { + "block": "white_banner", + "drops": [ + { + "item": "white_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_bed", + "drops": [ + { + "item": "white_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_carpet", + "drops": [ + { + "item": "white_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_concrete", + "drops": [ + { + "item": "white_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_concrete_powder", + "drops": [ + { + "item": "white_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_glazed_terracotta", + "drops": [ + { + "item": "white_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_shulker_box", + "drops": [ + { + "item": "white_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_stained_glass", + "drops": [ + { + "item": "white_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "white_stained_glass_pane", + "drops": [ + { + "item": "white_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "white_terracotta", + "drops": [ + { + "item": "white_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_tulip", + "drops": [ + { + "item": "white_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_wool", + "drops": [ + { + "item": "white_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wither_rose", + "drops": [ + { + "item": "wither_rose", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wither_skeleton_skull", + "drops": [ + { + "item": "wither_skeleton_skull", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_banner", + "drops": [ + { + "item": "yellow_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_bed", + "drops": [ + { + "item": "yellow_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_carpet", + "drops": [ + { + "item": "yellow_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_concrete", + "drops": [ + { + "item": "yellow_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_concrete_powder", + "drops": [ + { + "item": "yellow_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_glazed_terracotta", + "drops": [ + { + "item": "yellow_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_shulker_box", + "drops": [ + { + "item": "yellow_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_stained_glass", + "drops": [ + { + "item": "yellow_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "yellow_stained_glass_pane", + "drops": [ + { + "item": "yellow_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "yellow_terracotta", + "drops": [ + { + "item": "yellow_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_wool", + "drops": [ + { + "item": "yellow_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "zombie_head", + "drops": [ + { + "item": "zombie_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/blocks.json new file mode 100644 index 00000000..fd06edec --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/blocks.json @@ -0,0 +1,22160 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "minStateId": 0, + "maxStateId": 0, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "minStateId": 1, + "maxStateId": 1, + "states": [], + "drops": [ + 1, + 12 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 1 + }, + { + "id": 2, + "displayName": "Granite", + "name": "granite", + "hardness": 1.5, + "minStateId": 2, + "maxStateId": 2, + "states": [], + "drops": [ + 2 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 2 + }, + { + "id": 3, + "displayName": "Polished Granite", + "name": "polished_granite", + "hardness": 1.5, + "minStateId": 3, + "maxStateId": 3, + "states": [], + "drops": [ + 3 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 3 + }, + { + "id": 4, + "displayName": "Diorite", + "name": "diorite", + "hardness": 1.5, + "minStateId": 4, + "maxStateId": 4, + "states": [], + "drops": [ + 4 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4 + }, + { + "id": 5, + "displayName": "Polished Diorite", + "name": "polished_diorite", + "hardness": 1.5, + "minStateId": 5, + "maxStateId": 5, + "states": [], + "drops": [ + 5 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5 + }, + { + "id": 6, + "displayName": "Andesite", + "name": "andesite", + "hardness": 1.5, + "minStateId": 6, + "maxStateId": 6, + "states": [], + "drops": [ + 6 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6 + }, + { + "id": 7, + "displayName": "Polished Andesite", + "name": "polished_andesite", + "hardness": 1.5, + "minStateId": 7, + "maxStateId": 7, + "states": [], + "drops": [ + 7 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7 + }, + { + "id": 8, + "displayName": "Grass Block", + "name": "grass_block", + "hardness": 0.6, + "minStateId": 8, + "maxStateId": 9, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 8, + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9 + }, + { + "id": 9, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "minStateId": 10, + "maxStateId": 10, + "states": [], + "drops": [ + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 10 + }, + { + "id": 10, + "displayName": "Coarse Dirt", + "name": "coarse_dirt", + "hardness": 0.5, + "minStateId": 11, + "maxStateId": 11, + "states": [], + "drops": [ + 10 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 11 + }, + { + "id": 11, + "displayName": "Podzol", + "name": "podzol", + "hardness": 0.5, + "minStateId": 12, + "maxStateId": 13, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 11, + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 13 + }, + { + "id": 12, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "minStateId": 14, + "maxStateId": 14, + "states": [], + "drops": [ + 12 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 14 + }, + { + "id": 13, + "displayName": "Oak Planks", + "name": "oak_planks", + "hardness": 2, + "minStateId": 15, + "maxStateId": 15, + "states": [], + "drops": [ + 13 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15 + }, + { + "id": 14, + "displayName": "Spruce Planks", + "name": "spruce_planks", + "hardness": 2, + "minStateId": 16, + "maxStateId": 16, + "states": [], + "drops": [ + 14 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 16 + }, + { + "id": 15, + "displayName": "Birch Planks", + "name": "birch_planks", + "hardness": 2, + "minStateId": 17, + "maxStateId": 17, + "states": [], + "drops": [ + 15 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 17 + }, + { + "id": 16, + "displayName": "Jungle Planks", + "name": "jungle_planks", + "hardness": 2, + "minStateId": 18, + "maxStateId": 18, + "states": [], + "drops": [ + 16 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 18 + }, + { + "id": 17, + "displayName": "Acacia Planks", + "name": "acacia_planks", + "hardness": 2, + "minStateId": 19, + "maxStateId": 19, + "states": [], + "drops": [ + 17 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 19 + }, + { + "id": 18, + "displayName": "Dark Oak Planks", + "name": "dark_oak_planks", + "hardness": 2, + "minStateId": 20, + "maxStateId": 20, + "states": [], + "drops": [ + 18 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 20 + }, + { + "id": 19, + "displayName": "Oak Sapling", + "name": "oak_sapling", + "hardness": 0, + "minStateId": 21, + "maxStateId": 22, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 19 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 21 + }, + { + "id": 20, + "displayName": "Spruce Sapling", + "name": "spruce_sapling", + "hardness": 0, + "minStateId": 23, + "maxStateId": 24, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 20 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 23 + }, + { + "id": 21, + "displayName": "Birch Sapling", + "name": "birch_sapling", + "hardness": 0, + "minStateId": 25, + "maxStateId": 26, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 21 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 25 + }, + { + "id": 22, + "displayName": "Jungle Sapling", + "name": "jungle_sapling", + "hardness": 0, + "minStateId": 27, + "maxStateId": 28, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 22 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 27 + }, + { + "id": 23, + "displayName": "Acacia Sapling", + "name": "acacia_sapling", + "hardness": 0, + "minStateId": 29, + "maxStateId": 30, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 23 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 29 + }, + { + "id": 24, + "displayName": "Dark Oak Sapling", + "name": "dark_oak_sapling", + "hardness": 0, + "minStateId": 31, + "maxStateId": 32, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 24 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 31 + }, + { + "id": 25, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "minStateId": 33, + "maxStateId": 33, + "states": [], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 33 + }, + { + "id": 26, + "displayName": "Water", + "name": "water", + "hardness": 100, + "minStateId": 34, + "maxStateId": 49, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 16 + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 2, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 34 + }, + { + "id": 27, + "displayName": "Lava", + "name": "lava", + "hardness": 100, + "minStateId": 50, + "maxStateId": 65, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 16 + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 50 + }, + { + "id": 28, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "minStateId": 66, + "maxStateId": 66, + "states": [], + "drops": [ + 26 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "material": "dirt", + "defaultState": 66 + }, + { + "id": 29, + "displayName": "Red Sand", + "name": "red_sand", + "hardness": 0.5, + "minStateId": 67, + "maxStateId": 67, + "states": [], + "drops": [ + 27 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "material": "dirt", + "defaultState": 67 + }, + { + "id": 30, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "minStateId": 68, + "maxStateId": 68, + "states": [], + "drops": [ + 28, + 583 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 68 + }, + { + "id": 31, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "minStateId": 69, + "maxStateId": 69, + "states": [], + "drops": [ + 29 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "543": true + }, + "defaultState": 69 + }, + { + "id": 32, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "minStateId": 70, + "maxStateId": 70, + "states": [], + "drops": [ + 30 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "539": true, + "543": true + }, + "defaultState": 70 + }, + { + "id": 33, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "minStateId": 71, + "maxStateId": 71, + "states": [], + "drops": [ + 31, + 527 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 71 + }, + { + "id": 34, + "displayName": "Oak Log", + "name": "oak_log", + "hardness": 2, + "minStateId": 72, + "maxStateId": 74, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 32 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 73 + }, + { + "id": 35, + "displayName": "Spruce Log", + "name": "spruce_log", + "hardness": 2, + "minStateId": 75, + "maxStateId": 77, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 33 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 76 + }, + { + "id": 36, + "displayName": "Birch Log", + "name": "birch_log", + "hardness": 2, + "minStateId": 78, + "maxStateId": 80, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 34 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 79 + }, + { + "id": 37, + "displayName": "Jungle Log", + "name": "jungle_log", + "hardness": 2, + "minStateId": 81, + "maxStateId": 83, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 35 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 82 + }, + { + "id": 38, + "displayName": "Acacia Log", + "name": "acacia_log", + "hardness": 2, + "minStateId": 84, + "maxStateId": 86, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 36 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 85 + }, + { + "id": 39, + "displayName": "Dark Oak Log", + "name": "dark_oak_log", + "hardness": 2, + "minStateId": 87, + "maxStateId": 89, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 37 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 88 + }, + { + "id": 40, + "displayName": "Stripped Spruce Log", + "name": "stripped_spruce_log", + "hardness": 2, + "minStateId": 90, + "maxStateId": 92, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 39 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 91 + }, + { + "id": 41, + "displayName": "Stripped Birch Log", + "name": "stripped_birch_log", + "hardness": 2, + "minStateId": 93, + "maxStateId": 95, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 40 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 94 + }, + { + "id": 42, + "displayName": "Stripped Jungle Log", + "name": "stripped_jungle_log", + "hardness": 2, + "minStateId": 96, + "maxStateId": 98, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 41 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 97 + }, + { + "id": 43, + "displayName": "Stripped Acacia Log", + "name": "stripped_acacia_log", + "hardness": 2, + "minStateId": 99, + "maxStateId": 101, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 42 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 100 + }, + { + "id": 44, + "displayName": "Stripped Dark Oak Log", + "name": "stripped_dark_oak_log", + "hardness": 2, + "minStateId": 102, + "maxStateId": 104, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 43 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 103 + }, + { + "id": 45, + "displayName": "Stripped Oak Log", + "name": "stripped_oak_log", + "hardness": 2, + "minStateId": 105, + "maxStateId": 107, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 38 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 106 + }, + { + "id": 46, + "displayName": "Oak Wood", + "name": "oak_wood", + "hardness": 2, + "minStateId": 108, + "maxStateId": 110, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 50 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 109 + }, + { + "id": 47, + "displayName": "Spruce Wood", + "name": "spruce_wood", + "hardness": 2, + "minStateId": 111, + "maxStateId": 113, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 51 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 112 + }, + { + "id": 48, + "displayName": "Birch Wood", + "name": "birch_wood", + "hardness": 2, + "minStateId": 114, + "maxStateId": 116, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 52 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 115 + }, + { + "id": 49, + "displayName": "Jungle Wood", + "name": "jungle_wood", + "hardness": 2, + "minStateId": 117, + "maxStateId": 119, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 53 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 118 + }, + { + "id": 50, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "hardness": 2, + "minStateId": 120, + "maxStateId": 122, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 54 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 121 + }, + { + "id": 51, + "displayName": "Dark Oak Wood", + "name": "dark_oak_wood", + "hardness": 2, + "minStateId": 123, + "maxStateId": 125, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 55 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 124 + }, + { + "id": 52, + "displayName": "Stripped Oak Wood", + "name": "stripped_oak_wood", + "hardness": 2, + "minStateId": 126, + "maxStateId": 128, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 44 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 127 + }, + { + "id": 53, + "displayName": "Stripped Spruce Wood", + "name": "stripped_spruce_wood", + "hardness": 2, + "minStateId": 129, + "maxStateId": 131, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 45 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 130 + }, + { + "id": 54, + "displayName": "Stripped Birch Wood", + "name": "stripped_birch_wood", + "hardness": 2, + "minStateId": 132, + "maxStateId": 134, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 46 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 133 + }, + { + "id": 55, + "displayName": "Stripped Jungle Wood", + "name": "stripped_jungle_wood", + "hardness": 2, + "minStateId": 135, + "maxStateId": 137, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 47 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 136 + }, + { + "id": 56, + "displayName": "Stripped Acacia Wood", + "name": "stripped_acacia_wood", + "hardness": 2, + "minStateId": 138, + "maxStateId": 140, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 48 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 139 + }, + { + "id": 57, + "displayName": "Stripped Dark Oak Wood", + "name": "stripped_dark_oak_wood", + "hardness": 2, + "minStateId": 141, + "maxStateId": 143, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 49 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 142 + }, + { + "id": 58, + "displayName": "Oak Leaves", + "name": "oak_leaves", + "hardness": 0.2, + "minStateId": 144, + "maxStateId": 157, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 672, + 56, + 19, + 545, + 524 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 157 + }, + { + "id": 59, + "displayName": "Spruce Leaves", + "name": "spruce_leaves", + "hardness": 0.2, + "minStateId": 158, + "maxStateId": 171, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 672, + 57, + 20, + 545 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 171 + }, + { + "id": 60, + "displayName": "Birch Leaves", + "name": "birch_leaves", + "hardness": 0.2, + "minStateId": 172, + "maxStateId": 185, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 672, + 58, + 21, + 545 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 185 + }, + { + "id": 61, + "displayName": "Jungle Leaves", + "name": "jungle_leaves", + "hardness": 0.2, + "minStateId": 186, + "maxStateId": 199, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 672, + 59, + 22, + 545 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 199 + }, + { + "id": 62, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "hardness": 0.2, + "minStateId": 200, + "maxStateId": 213, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 672, + 60, + 23, + 545 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 213 + }, + { + "id": 63, + "displayName": "Dark Oak Leaves", + "name": "dark_oak_leaves", + "hardness": 0.2, + "minStateId": 214, + "maxStateId": 227, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 672, + 61, + 24, + 545, + 524 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 227 + }, + { + "id": 64, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "minStateId": 228, + "maxStateId": 228, + "states": [], + "drops": [ + 62 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 228 + }, + { + "id": 65, + "displayName": "Wet Sponge", + "name": "wet_sponge", + "hardness": 0.6, + "minStateId": 229, + "maxStateId": 229, + "states": [], + "drops": [ + 63 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 229 + }, + { + "id": 66, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "minStateId": 230, + "maxStateId": 230, + "states": [], + "drops": [ + 64 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 230 + }, + { + "id": 67, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "hardness": 3, + "minStateId": 231, + "maxStateId": 231, + "states": [], + "drops": [ + 65, + 635 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "539": true, + "543": true + }, + "defaultState": 231 + }, + { + "id": 68, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "hardness": 3, + "minStateId": 232, + "maxStateId": 232, + "states": [], + "drops": [ + 66 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "539": true, + "543": true + }, + "defaultState": 232 + }, + { + "id": 69, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "minStateId": 233, + "maxStateId": 244, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "triggered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 67 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 234 + }, + { + "id": 70, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "minStateId": 245, + "maxStateId": 245, + "states": [], + "drops": [ + 68 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 245 + }, + { + "id": 71, + "displayName": "Chiseled Sandstone", + "name": "chiseled_sandstone", + "hardness": 0.8, + "minStateId": 246, + "maxStateId": 246, + "states": [], + "drops": [ + 69 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 246 + }, + { + "id": 72, + "displayName": "Cut Sandstone", + "name": "cut_sandstone", + "hardness": 0.8, + "minStateId": 247, + "maxStateId": 247, + "states": [], + "drops": [ + 70 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 247 + }, + { + "id": 73, + "displayName": "Note Block", + "name": "note_block", + "hardness": 0.8, + "minStateId": 248, + "maxStateId": 1047, + "states": [ + { + "name": "instrument", + "type": "enum", + "num_values": 16, + "values": [ + "harp", + "basedrum", + "snare", + "hat", + "bass", + "flute", + "bell", + "guitar", + "chime", + "xylophone", + "iron_xylophone", + "cow_bell", + "didgeridoo", + "bit", + "banjo", + "pling" + ] + }, + { + "name": "note", + "type": "int", + "num_values": 25 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 71 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 249 + }, + { + "id": 74, + "displayName": "White Bed", + "name": "white_bed", + "hardness": 0.2, + "minStateId": 1048, + "maxStateId": 1063, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 654 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1051 + }, + { + "id": 75, + "displayName": "Orange Bed", + "name": "orange_bed", + "hardness": 0.2, + "minStateId": 1064, + "maxStateId": 1079, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 655 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1067 + }, + { + "id": 76, + "displayName": "Magenta Bed", + "name": "magenta_bed", + "hardness": 0.2, + "minStateId": 1080, + "maxStateId": 1095, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 656 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1083 + }, + { + "id": 77, + "displayName": "Light Blue Bed", + "name": "light_blue_bed", + "hardness": 0.2, + "minStateId": 1096, + "maxStateId": 1111, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 657 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1099 + }, + { + "id": 78, + "displayName": "Yellow Bed", + "name": "yellow_bed", + "hardness": 0.2, + "minStateId": 1112, + "maxStateId": 1127, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 658 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1115 + }, + { + "id": 79, + "displayName": "Lime Bed", + "name": "lime_bed", + "hardness": 0.2, + "minStateId": 1128, + "maxStateId": 1143, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 659 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1131 + }, + { + "id": 80, + "displayName": "Pink Bed", + "name": "pink_bed", + "hardness": 0.2, + "minStateId": 1144, + "maxStateId": 1159, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 660 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1147 + }, + { + "id": 81, + "displayName": "Gray Bed", + "name": "gray_bed", + "hardness": 0.2, + "minStateId": 1160, + "maxStateId": 1175, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 661 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1163 + }, + { + "id": 82, + "displayName": "Light Gray Bed", + "name": "light_gray_bed", + "hardness": 0.2, + "minStateId": 1176, + "maxStateId": 1191, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 662 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1179 + }, + { + "id": 83, + "displayName": "Cyan Bed", + "name": "cyan_bed", + "hardness": 0.2, + "minStateId": 1192, + "maxStateId": 1207, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 663 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1195 + }, + { + "id": 84, + "displayName": "Purple Bed", + "name": "purple_bed", + "hardness": 0.2, + "minStateId": 1208, + "maxStateId": 1223, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 664 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1211 + }, + { + "id": 85, + "displayName": "Blue Bed", + "name": "blue_bed", + "hardness": 0.2, + "minStateId": 1224, + "maxStateId": 1239, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 665 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1227 + }, + { + "id": 86, + "displayName": "Brown Bed", + "name": "brown_bed", + "hardness": 0.2, + "minStateId": 1240, + "maxStateId": 1255, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 666 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1243 + }, + { + "id": 87, + "displayName": "Green Bed", + "name": "green_bed", + "hardness": 0.2, + "minStateId": 1256, + "maxStateId": 1271, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 667 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1259 + }, + { + "id": 88, + "displayName": "Red Bed", + "name": "red_bed", + "hardness": 0.2, + "minStateId": 1272, + "maxStateId": 1287, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 668 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1275 + }, + { + "id": 89, + "displayName": "Black Bed", + "name": "black_bed", + "hardness": 0.2, + "minStateId": 1288, + "maxStateId": 1303, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 669 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1291 + }, + { + "id": 90, + "displayName": "Powered Rail", + "name": "powered_rail", + "hardness": 0.7, + "minStateId": 1304, + "maxStateId": 1315, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 72 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 1310 + }, + { + "id": 91, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "minStateId": 1316, + "maxStateId": 1327, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 73 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 1322 + }, + { + "id": 92, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "hardness": 0.5, + "minStateId": 1328, + "maxStateId": 1339, + "states": [ + { + "name": "extended", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 74 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1334 + }, + { + "id": 93, + "displayName": "Cobweb", + "name": "cobweb", + "hardness": 4, + "minStateId": 1340, + "maxStateId": 1340, + "states": [], + "drops": [ + 672, + 75, + 552 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "web", + "harvestTools": { + "532": true, + "533": true, + "537": true, + "541": true, + "548": true, + "672": true + }, + "defaultState": 1340 + }, + { + "id": 94, + "displayName": "Grass", + "name": "grass", + "hardness": 0, + "minStateId": 1341, + "maxStateId": 1341, + "states": [], + "drops": [ + 672, + 76, + 560 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1341 + }, + { + "id": 95, + "displayName": "Fern", + "name": "fern", + "hardness": 0, + "minStateId": 1342, + "maxStateId": 1342, + "states": [], + "drops": [ + 672, + 77, + 560 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1342 + }, + { + "id": 96, + "displayName": "Dead Bush", + "name": "dead_bush", + "hardness": 0, + "minStateId": 1343, + "maxStateId": 1343, + "states": [], + "drops": [ + 672, + 78, + 545 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1343 + }, + { + "id": 97, + "displayName": "Seagrass", + "name": "seagrass", + "hardness": 0, + "minStateId": 1344, + "maxStateId": 1344, + "states": [], + "drops": [ + 79, + 672 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1344 + }, + { + "id": 98, + "displayName": "Tall Seagrass", + "name": "tall_seagrass", + "hardness": 0, + "minStateId": 1345, + "maxStateId": 1346, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 79, + 672 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1346 + }, + { + "id": 99, + "displayName": "Piston", + "name": "piston", + "hardness": 0.5, + "minStateId": 1347, + "maxStateId": 1358, + "states": [ + { + "name": "extended", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 81 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1353 + }, + { + "id": 100, + "displayName": "Piston Head", + "name": "piston_head", + "hardness": 0.5, + "minStateId": 1359, + "maxStateId": 1382, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "short", + "type": "bool", + "num_values": 2 + }, + { + "name": "type", + "type": "enum", + "num_values": 2, + "values": [ + "normal", + "sticky" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1361 + }, + { + "id": 101, + "displayName": "White Wool", + "name": "white_wool", + "hardness": 0.8, + "minStateId": 1383, + "maxStateId": 1383, + "states": [], + "drops": [ + 82 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1383 + }, + { + "id": 102, + "displayName": "Orange Wool", + "name": "orange_wool", + "hardness": 0.8, + "minStateId": 1384, + "maxStateId": 1384, + "states": [], + "drops": [ + 83 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1384 + }, + { + "id": 103, + "displayName": "Magenta Wool", + "name": "magenta_wool", + "hardness": 0.8, + "minStateId": 1385, + "maxStateId": 1385, + "states": [], + "drops": [ + 84 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1385 + }, + { + "id": 104, + "displayName": "Light Blue Wool", + "name": "light_blue_wool", + "hardness": 0.8, + "minStateId": 1386, + "maxStateId": 1386, + "states": [], + "drops": [ + 85 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1386 + }, + { + "id": 105, + "displayName": "Yellow Wool", + "name": "yellow_wool", + "hardness": 0.8, + "minStateId": 1387, + "maxStateId": 1387, + "states": [], + "drops": [ + 86 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1387 + }, + { + "id": 106, + "displayName": "Lime Wool", + "name": "lime_wool", + "hardness": 0.8, + "minStateId": 1388, + "maxStateId": 1388, + "states": [], + "drops": [ + 87 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1388 + }, + { + "id": 107, + "displayName": "Pink Wool", + "name": "pink_wool", + "hardness": 0.8, + "minStateId": 1389, + "maxStateId": 1389, + "states": [], + "drops": [ + 88 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1389 + }, + { + "id": 108, + "displayName": "Gray Wool", + "name": "gray_wool", + "hardness": 0.8, + "minStateId": 1390, + "maxStateId": 1390, + "states": [], + "drops": [ + 89 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1390 + }, + { + "id": 109, + "displayName": "Light Gray Wool", + "name": "light_gray_wool", + "hardness": 0.8, + "minStateId": 1391, + "maxStateId": 1391, + "states": [], + "drops": [ + 90 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1391 + }, + { + "id": 110, + "displayName": "Cyan Wool", + "name": "cyan_wool", + "hardness": 0.8, + "minStateId": 1392, + "maxStateId": 1392, + "states": [], + "drops": [ + 91 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1392 + }, + { + "id": 111, + "displayName": "Purple Wool", + "name": "purple_wool", + "hardness": 0.8, + "minStateId": 1393, + "maxStateId": 1393, + "states": [], + "drops": [ + 92 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1393 + }, + { + "id": 112, + "displayName": "Blue Wool", + "name": "blue_wool", + "hardness": 0.8, + "minStateId": 1394, + "maxStateId": 1394, + "states": [], + "drops": [ + 93 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1394 + }, + { + "id": 113, + "displayName": "Brown Wool", + "name": "brown_wool", + "hardness": 0.8, + "minStateId": 1395, + "maxStateId": 1395, + "states": [], + "drops": [ + 94 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1395 + }, + { + "id": 114, + "displayName": "Green Wool", + "name": "green_wool", + "hardness": 0.8, + "minStateId": 1396, + "maxStateId": 1396, + "states": [], + "drops": [ + 95 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1396 + }, + { + "id": 115, + "displayName": "Red Wool", + "name": "red_wool", + "hardness": 0.8, + "minStateId": 1397, + "maxStateId": 1397, + "states": [], + "drops": [ + 96 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1397 + }, + { + "id": 116, + "displayName": "Black Wool", + "name": "black_wool", + "hardness": 0.8, + "minStateId": 1398, + "maxStateId": 1398, + "states": [], + "drops": [ + 97 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1398 + }, + { + "id": 117, + "displayName": "Moving Piston", + "name": "moving_piston", + "hardness": null, + "minStateId": 1399, + "maxStateId": 1410, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 2, + "values": [ + "normal", + "sticky" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1399 + }, + { + "id": 118, + "displayName": "Dandelion", + "name": "dandelion", + "hardness": 0, + "minStateId": 1411, + "maxStateId": 1411, + "states": [], + "drops": [ + 98 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1411 + }, + { + "id": 119, + "displayName": "Poppy", + "name": "poppy", + "hardness": 0, + "minStateId": 1412, + "maxStateId": 1412, + "states": [], + "drops": [ + 99 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1412 + }, + { + "id": 120, + "displayName": "Blue Orchid", + "name": "blue_orchid", + "hardness": 0, + "minStateId": 1413, + "maxStateId": 1413, + "states": [], + "drops": [ + 100 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1413 + }, + { + "id": 121, + "displayName": "Allium", + "name": "allium", + "hardness": 0, + "minStateId": 1414, + "maxStateId": 1414, + "states": [], + "drops": [ + 101 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1414 + }, + { + "id": 122, + "displayName": "Azure Bluet", + "name": "azure_bluet", + "hardness": 0, + "minStateId": 1415, + "maxStateId": 1415, + "states": [], + "drops": [ + 102 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1415 + }, + { + "id": 123, + "displayName": "Red Tulip", + "name": "red_tulip", + "hardness": 0, + "minStateId": 1416, + "maxStateId": 1416, + "states": [], + "drops": [ + 103 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1416 + }, + { + "id": 124, + "displayName": "Orange Tulip", + "name": "orange_tulip", + "hardness": 0, + "minStateId": 1417, + "maxStateId": 1417, + "states": [], + "drops": [ + 104 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1417 + }, + { + "id": 125, + "displayName": "White Tulip", + "name": "white_tulip", + "hardness": 0, + "minStateId": 1418, + "maxStateId": 1418, + "states": [], + "drops": [ + 105 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1418 + }, + { + "id": 126, + "displayName": "Pink Tulip", + "name": "pink_tulip", + "hardness": 0, + "minStateId": 1419, + "maxStateId": 1419, + "states": [], + "drops": [ + 106 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1419 + }, + { + "id": 127, + "displayName": "Oxeye Daisy", + "name": "oxeye_daisy", + "hardness": 0, + "minStateId": 1420, + "maxStateId": 1420, + "states": [], + "drops": [ + 107 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1420 + }, + { + "id": 128, + "displayName": "Cornflower", + "name": "cornflower", + "hardness": 0, + "minStateId": 1421, + "maxStateId": 1421, + "states": [], + "drops": [ + 108 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "plant", + "defaultState": 1421 + }, + { + "id": 129, + "displayName": "Wither Rose", + "name": "wither_rose", + "hardness": 0, + "minStateId": 1422, + "maxStateId": 1422, + "states": [], + "drops": [ + 110 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "plant", + "defaultState": 1422 + }, + { + "id": 130, + "displayName": "Lily of the Valley", + "name": "lily_of_the_valley", + "hardness": 0, + "minStateId": 1423, + "maxStateId": 1423, + "states": [], + "drops": [ + 109 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "plant", + "defaultState": 1423 + }, + { + "id": 131, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "minStateId": 1424, + "maxStateId": 1424, + "states": [], + "drops": [ + 111 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 1, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1424 + }, + { + "id": 132, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "minStateId": 1425, + "maxStateId": 1425, + "states": [], + "drops": [ + 112 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 1, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1425 + }, + { + "id": 133, + "displayName": "Block of Gold", + "name": "gold_block", + "hardness": 3, + "minStateId": 1426, + "maxStateId": 1426, + "states": [], + "drops": [ + 113 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "543": true + }, + "defaultState": 1426 + }, + { + "id": 134, + "displayName": "Block of Iron", + "name": "iron_block", + "hardness": 5, + "minStateId": 1427, + "maxStateId": 1427, + "states": [], + "drops": [ + 114 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "539": true, + "543": true + }, + "defaultState": 1427 + }, + { + "id": 135, + "displayName": "Bricks", + "name": "bricks", + "hardness": 2, + "minStateId": 1428, + "maxStateId": 1428, + "states": [], + "drops": [ + 141 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 1428 + }, + { + "id": 136, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "minStateId": 1429, + "maxStateId": 1430, + "states": [ + { + "name": "unstable", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 142 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1430 + }, + { + "id": 137, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "minStateId": 1431, + "maxStateId": 1431, + "states": [], + "drops": [ + 143, + 616 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 1431 + }, + { + "id": 138, + "displayName": "Mossy Cobblestone", + "name": "mossy_cobblestone", + "hardness": 2, + "minStateId": 1432, + "maxStateId": 1432, + "states": [], + "drops": [ + 144 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 1432 + }, + { + "id": 139, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "minStateId": 1433, + "maxStateId": 1433, + "states": [], + "drops": [ + 145 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "543": true + }, + "defaultState": 1433 + }, + { + "id": 140, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "minStateId": 1434, + "maxStateId": 1434, + "states": [], + "drops": [ + 146 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 14, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1434 + }, + { + "id": 141, + "displayName": "Wall Torch", + "name": "wall_torch", + "hardness": 0, + "minStateId": 1435, + "maxStateId": 1438, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 14, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1435 + }, + { + "id": 142, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "minStateId": 1439, + "maxStateId": 1950, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 1470 + }, + { + "id": 143, + "displayName": "Spawner", + "name": "spawner", + "hardness": 5, + "minStateId": 1951, + "maxStateId": 1951, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 1951 + }, + { + "id": 144, + "displayName": "Oak Stairs", + "name": "oak_stairs", + "hardness": 2, + "minStateId": 1952, + "maxStateId": 2031, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 154 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 1963 + }, + { + "id": 145, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "minStateId": 2032, + "maxStateId": 2055, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "single", + "left", + "right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 155 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 2033 + }, + { + "id": 146, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "hardness": 0, + "minStateId": 2056, + "maxStateId": 3351, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "power", + "type": "int", + "num_values": 16 + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + } + ], + "drops": [ + 600 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3216 + }, + { + "id": 147, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "minStateId": 3352, + "maxStateId": 3352, + "states": [], + "drops": [ + 156, + 529 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "543": true + }, + "defaultState": 3352 + }, + { + "id": 148, + "displayName": "Block of Diamond", + "name": "diamond_block", + "hardness": 5, + "minStateId": 3353, + "maxStateId": 3353, + "states": [], + "drops": [ + 157 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "543": true + }, + "defaultState": 3353 + }, + { + "id": 149, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "minStateId": 3354, + "maxStateId": 3354, + "states": [], + "drops": [ + 158 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3354 + }, + { + "id": 150, + "displayName": "Wheat Crops", + "name": "wheat", + "hardness": 0, + "minStateId": 3355, + "maxStateId": 3362, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 561, + 560 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 3355 + }, + { + "id": 151, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "minStateId": 3363, + "maxStateId": 3370, + "states": [ + { + "name": "moisture", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 9 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3363 + }, + { + "id": 152, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "minStateId": 3371, + "maxStateId": 3378, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 160 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 13, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 3372 + }, + { + "id": 153, + "displayName": "Sign", + "name": "oak_sign", + "hardness": 1, + "minStateId": 3379, + "maxStateId": 3410, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 589 + ], + "diggable": true, + "stackSize": 16, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 3380 + }, + { + "id": 154, + "displayName": "Sign", + "name": "spruce_sign", + "hardness": 1, + "minStateId": 3411, + "maxStateId": 3442, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 590 + ], + "diggable": true, + "stackSize": 16, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 3412 + }, + { + "id": 155, + "displayName": "Sign", + "name": "birch_sign", + "hardness": 1, + "minStateId": 3443, + "maxStateId": 3474, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 591 + ], + "diggable": true, + "stackSize": 16, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 3444 + }, + { + "id": 156, + "displayName": "Sign", + "name": "acacia_sign", + "hardness": 1, + "minStateId": 3475, + "maxStateId": 3506, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 593 + ], + "diggable": true, + "stackSize": 16, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 3476 + }, + { + "id": 157, + "displayName": "Sign", + "name": "jungle_sign", + "hardness": 1, + "minStateId": 3507, + "maxStateId": 3538, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 592 + ], + "diggable": true, + "stackSize": 16, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 3508 + }, + { + "id": 158, + "displayName": "Sign", + "name": "dark_oak_sign", + "hardness": 1, + "minStateId": 3539, + "maxStateId": 3570, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 594 + ], + "diggable": true, + "stackSize": 16, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 3540 + }, + { + "id": 159, + "displayName": "Oak Door", + "name": "oak_door", + "hardness": 3, + "minStateId": 3571, + "maxStateId": 3634, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 507 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3582 + }, + { + "id": 160, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "minStateId": 3635, + "maxStateId": 3642, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 161 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3636 + }, + { + "id": 161, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "minStateId": 3643, + "maxStateId": 3652, + "states": [ + { + "name": "shape", + "type": "enum", + "num_values": 10, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south", + "south_east", + "south_west", + "north_west", + "north_east" + ] + } + ], + "drops": [ + 162 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 3643 + }, + { + "id": 162, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "hardness": 2, + "minStateId": 3653, + "maxStateId": 3732, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 163 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 3664 + }, + { + "id": 163, + "displayName": "Wall Sign", + "name": "oak_wall_sign", + "hardness": 1, + "minStateId": 3733, + "maxStateId": 3740, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "stackSize": 16, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 3734 + }, + { + "id": 164, + "displayName": "Wall Sign", + "name": "spruce_wall_sign", + "hardness": 1, + "minStateId": 3741, + "maxStateId": 3748, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "stackSize": 16, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 3742 + }, + { + "id": 165, + "displayName": "Wall Sign", + "name": "birch_wall_sign", + "hardness": 1, + "minStateId": 3749, + "maxStateId": 3756, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "stackSize": 16, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 3750 + }, + { + "id": 166, + "displayName": "Wall Sign", + "name": "acacia_wall_sign", + "hardness": 1, + "minStateId": 3757, + "maxStateId": 3764, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "stackSize": 16, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 3758 + }, + { + "id": 167, + "displayName": "Wall Sign", + "name": "jungle_wall_sign", + "hardness": 1, + "minStateId": 3765, + "maxStateId": 3772, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "stackSize": 16, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 3766 + }, + { + "id": 168, + "displayName": "Wall Sign", + "name": "dark_oak_wall_sign", + "hardness": 1, + "minStateId": 3773, + "maxStateId": 3780, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "stackSize": 16, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 3774 + }, + { + "id": 169, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "minStateId": 3781, + "maxStateId": 3804, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 164 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3790 + }, + { + "id": 170, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "minStateId": 3805, + "maxStateId": 3806, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 165 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 3806 + }, + { + "id": 171, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "minStateId": 3807, + "maxStateId": 3870, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 506 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 3818 + }, + { + "id": 172, + "displayName": "Oak Pressure Plate", + "name": "oak_pressure_plate", + "hardness": 0.5, + "minStateId": 3871, + "maxStateId": 3872, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 166 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3872 + }, + { + "id": 173, + "displayName": "Spruce Pressure Plate", + "name": "spruce_pressure_plate", + "hardness": 0.5, + "minStateId": 3873, + "maxStateId": 3874, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 167 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3874 + }, + { + "id": 174, + "displayName": "Birch Pressure Plate", + "name": "birch_pressure_plate", + "hardness": 0.5, + "minStateId": 3875, + "maxStateId": 3876, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 168 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3876 + }, + { + "id": 175, + "displayName": "Jungle Pressure Plate", + "name": "jungle_pressure_plate", + "hardness": 0.5, + "minStateId": 3877, + "maxStateId": 3878, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 169 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3878 + }, + { + "id": 176, + "displayName": "Acacia Pressure Plate", + "name": "acacia_pressure_plate", + "hardness": 0.5, + "minStateId": 3879, + "maxStateId": 3880, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 170 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3880 + }, + { + "id": 177, + "displayName": "Dark Oak Pressure Plate", + "name": "dark_oak_pressure_plate", + "hardness": 0.5, + "minStateId": 3881, + "maxStateId": 3882, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 171 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3882 + }, + { + "id": 178, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "minStateId": 3883, + "maxStateId": 3884, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 172, + 600 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 9, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "543": true + }, + "defaultState": 3884 + }, + { + "id": 179, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "hardness": 0, + "minStateId": 3885, + "maxStateId": 3886, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 173 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 7, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3885 + }, + { + "id": 180, + "displayName": "Redstone Wall Torch", + "name": "redstone_wall_torch", + "hardness": 0, + "minStateId": 3887, + "maxStateId": 3894, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 7, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3887 + }, + { + "id": 181, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "minStateId": 3895, + "maxStateId": 3918, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 174 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 3904 + }, + { + "id": 182, + "displayName": "Snow", + "name": "snow", + "hardness": 0.1, + "minStateId": 3919, + "maxStateId": 3926, + "states": [ + { + "name": "layers", + "type": "enum", + "num_values": 8, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8" + ] + } + ], + "drops": [ + 175, + 601, + 177 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "harvestTools": { + "520": true, + "534": true, + "538": true, + "542": true, + "549": true + }, + "defaultState": 3919 + }, + { + "id": 183, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "minStateId": 3927, + "maxStateId": 3927, + "states": [], + "drops": [ + 176 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 3927 + }, + { + "id": 184, + "displayName": "Snow Block", + "name": "snow_block", + "hardness": 0.2, + "minStateId": 3928, + "maxStateId": 3928, + "states": [], + "drops": [ + 177, + 601 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "harvestTools": { + "520": true, + "534": true, + "538": true, + "542": true, + "549": true + }, + "defaultState": 3928 + }, + { + "id": 185, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "minStateId": 3929, + "maxStateId": 3944, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 178 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3929 + }, + { + "id": 186, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "minStateId": 3945, + "maxStateId": 3945, + "states": [], + "drops": [ + 179, + 610 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3945 + }, + { + "id": 187, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "hardness": 0, + "minStateId": 3946, + "maxStateId": 3961, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 611 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 3946 + }, + { + "id": 188, + "displayName": "Jukebox", + "name": "jukebox", + "hardness": 2, + "minStateId": 3962, + "maxStateId": 3963, + "states": [ + { + "name": "has_record", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 180 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3963 + }, + { + "id": 189, + "displayName": "Oak Fence", + "name": "oak_fence", + "hardness": 2, + "minStateId": 3964, + "maxStateId": 3995, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 181 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3995 + }, + { + "id": 190, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "minStateId": 3996, + "maxStateId": 3996, + "states": [], + "drops": [ + 187 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3996 + }, + { + "id": 191, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "minStateId": 3997, + "maxStateId": 3997, + "states": [], + "drops": [ + 189 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 3997 + }, + { + "id": 192, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "minStateId": 3998, + "maxStateId": 3998, + "states": [], + "drops": [ + 190 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3998 + }, + { + "id": 193, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "minStateId": 3999, + "maxStateId": 3999, + "states": [], + "drops": [ + 191, + 624 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3999 + }, + { + "id": 194, + "displayName": "Nether Portal", + "name": "nether_portal", + "hardness": null, + "minStateId": 4000, + "maxStateId": 4001, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 2, + "values": [ + "x", + "z" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 11, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 4000 + }, + { + "id": 195, + "displayName": "Carved Pumpkin", + "name": "carved_pumpkin", + "hardness": 1, + "minStateId": 4002, + "maxStateId": 4005, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 188 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4002 + }, + { + "id": 196, + "displayName": "Jack o'Lantern", + "name": "jack_o_lantern", + "hardness": 1, + "minStateId": 4006, + "maxStateId": 4009, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 192 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4006 + }, + { + "id": 197, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "minStateId": 4010, + "maxStateId": 4016, + "states": [ + { + "name": "bites", + "type": "int", + "num_values": 7 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 4010 + }, + { + "id": 198, + "displayName": "Redstone Repeater", + "name": "repeater", + "hardness": 0, + "minStateId": 4017, + "maxStateId": 4080, + "states": [ + { + "name": "delay", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "locked", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 513 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4020 + }, + { + "id": 199, + "displayName": "White Stained Glass", + "name": "white_stained_glass", + "hardness": 0.3, + "minStateId": 4081, + "maxStateId": 4081, + "states": [], + "drops": [ + 329 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4081 + }, + { + "id": 200, + "displayName": "Orange Stained Glass", + "name": "orange_stained_glass", + "hardness": 0.3, + "minStateId": 4082, + "maxStateId": 4082, + "states": [], + "drops": [ + 330 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4082 + }, + { + "id": 201, + "displayName": "Magenta Stained Glass", + "name": "magenta_stained_glass", + "hardness": 0.3, + "minStateId": 4083, + "maxStateId": 4083, + "states": [], + "drops": [ + 331 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4083 + }, + { + "id": 202, + "displayName": "Light Blue Stained Glass", + "name": "light_blue_stained_glass", + "hardness": 0.3, + "minStateId": 4084, + "maxStateId": 4084, + "states": [], + "drops": [ + 332 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4084 + }, + { + "id": 203, + "displayName": "Yellow Stained Glass", + "name": "yellow_stained_glass", + "hardness": 0.3, + "minStateId": 4085, + "maxStateId": 4085, + "states": [], + "drops": [ + 333 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4085 + }, + { + "id": 204, + "displayName": "Lime Stained Glass", + "name": "lime_stained_glass", + "hardness": 0.3, + "minStateId": 4086, + "maxStateId": 4086, + "states": [], + "drops": [ + 334 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4086 + }, + { + "id": 205, + "displayName": "Pink Stained Glass", + "name": "pink_stained_glass", + "hardness": 0.3, + "minStateId": 4087, + "maxStateId": 4087, + "states": [], + "drops": [ + 335 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4087 + }, + { + "id": 206, + "displayName": "Gray Stained Glass", + "name": "gray_stained_glass", + "hardness": 0.3, + "minStateId": 4088, + "maxStateId": 4088, + "states": [], + "drops": [ + 336 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4088 + }, + { + "id": 207, + "displayName": "Light Gray Stained Glass", + "name": "light_gray_stained_glass", + "hardness": 0.3, + "minStateId": 4089, + "maxStateId": 4089, + "states": [], + "drops": [ + 337 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4089 + }, + { + "id": 208, + "displayName": "Cyan Stained Glass", + "name": "cyan_stained_glass", + "hardness": 0.3, + "minStateId": 4090, + "maxStateId": 4090, + "states": [], + "drops": [ + 338 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4090 + }, + { + "id": 209, + "displayName": "Purple Stained Glass", + "name": "purple_stained_glass", + "hardness": 0.3, + "minStateId": 4091, + "maxStateId": 4091, + "states": [], + "drops": [ + 339 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4091 + }, + { + "id": 210, + "displayName": "Blue Stained Glass", + "name": "blue_stained_glass", + "hardness": 0.3, + "minStateId": 4092, + "maxStateId": 4092, + "states": [], + "drops": [ + 340 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4092 + }, + { + "id": 211, + "displayName": "Brown Stained Glass", + "name": "brown_stained_glass", + "hardness": 0.3, + "minStateId": 4093, + "maxStateId": 4093, + "states": [], + "drops": [ + 341 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4093 + }, + { + "id": 212, + "displayName": "Green Stained Glass", + "name": "green_stained_glass", + "hardness": 0.3, + "minStateId": 4094, + "maxStateId": 4094, + "states": [], + "drops": [ + 342 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4094 + }, + { + "id": 213, + "displayName": "Red Stained Glass", + "name": "red_stained_glass", + "hardness": 0.3, + "minStateId": 4095, + "maxStateId": 4095, + "states": [], + "drops": [ + 343 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4095 + }, + { + "id": 214, + "displayName": "Black Stained Glass", + "name": "black_stained_glass", + "hardness": 0.3, + "minStateId": 4096, + "maxStateId": 4096, + "states": [], + "drops": [ + 344 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4096 + }, + { + "id": 215, + "displayName": "Oak Trapdoor", + "name": "oak_trapdoor", + "hardness": 3, + "minStateId": 4097, + "maxStateId": 4160, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 193 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4112 + }, + { + "id": 216, + "displayName": "Spruce Trapdoor", + "name": "spruce_trapdoor", + "hardness": 3, + "minStateId": 4161, + "maxStateId": 4224, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 194 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4176 + }, + { + "id": 217, + "displayName": "Birch Trapdoor", + "name": "birch_trapdoor", + "hardness": 3, + "minStateId": 4225, + "maxStateId": 4288, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 195 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4240 + }, + { + "id": 218, + "displayName": "Jungle Trapdoor", + "name": "jungle_trapdoor", + "hardness": 3, + "minStateId": 4289, + "maxStateId": 4352, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 196 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4304 + }, + { + "id": 219, + "displayName": "Acacia Trapdoor", + "name": "acacia_trapdoor", + "hardness": 3, + "minStateId": 4353, + "maxStateId": 4416, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 197 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4368 + }, + { + "id": 220, + "displayName": "Dark Oak Trapdoor", + "name": "dark_oak_trapdoor", + "hardness": 3, + "minStateId": 4417, + "maxStateId": 4480, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 198 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4432 + }, + { + "id": 221, + "displayName": "Stone Bricks", + "name": "stone_bricks", + "hardness": 1.5, + "minStateId": 4481, + "maxStateId": 4481, + "states": [], + "drops": [ + 205 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4481 + }, + { + "id": 222, + "displayName": "Mossy Stone Bricks", + "name": "mossy_stone_bricks", + "hardness": 1.5, + "minStateId": 4482, + "maxStateId": 4482, + "states": [], + "drops": [ + 206 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4482 + }, + { + "id": 223, + "displayName": "Cracked Stone Bricks", + "name": "cracked_stone_bricks", + "hardness": 1.5, + "minStateId": 4483, + "maxStateId": 4483, + "states": [], + "drops": [ + 207 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4483 + }, + { + "id": 224, + "displayName": "Chiseled Stone Bricks", + "name": "chiseled_stone_bricks", + "hardness": 1.5, + "minStateId": 4484, + "maxStateId": 4484, + "states": [], + "drops": [ + 208 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4484 + }, + { + "id": 225, + "displayName": "Infested Stone", + "name": "infested_stone", + "hardness": 0, + "minStateId": 4485, + "maxStateId": 4485, + "states": [], + "drops": [ + 1 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4485 + }, + { + "id": 226, + "displayName": "Infested Cobblestone", + "name": "infested_cobblestone", + "hardness": 0, + "minStateId": 4486, + "maxStateId": 4486, + "states": [], + "drops": [ + 12 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4486 + }, + { + "id": 227, + "displayName": "Infested Stone Bricks", + "name": "infested_stone_bricks", + "hardness": 0, + "minStateId": 4487, + "maxStateId": 4487, + "states": [], + "drops": [ + 205 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4487 + }, + { + "id": 228, + "displayName": "Infested Mossy Stone Bricks", + "name": "infested_mossy_stone_bricks", + "hardness": 0, + "minStateId": 4488, + "maxStateId": 4488, + "states": [], + "drops": [ + 206 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4488 + }, + { + "id": 229, + "displayName": "Infested Cracked Stone Bricks", + "name": "infested_cracked_stone_bricks", + "hardness": 0, + "minStateId": 4489, + "maxStateId": 4489, + "states": [], + "drops": [ + 207 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4489 + }, + { + "id": 230, + "displayName": "Infested Chiseled Stone Bricks", + "name": "infested_chiseled_stone_bricks", + "hardness": 0, + "minStateId": 4490, + "maxStateId": 4490, + "states": [], + "drops": [ + 208 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4490 + }, + { + "id": 231, + "displayName": "Brown Mushroom Block", + "name": "brown_mushroom_block", + "hardness": 0.2, + "minStateId": 4491, + "maxStateId": 4554, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 209, + 111 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4491 + }, + { + "id": 232, + "displayName": "Red Mushroom Block", + "name": "red_mushroom_block", + "hardness": 0.2, + "minStateId": 4555, + "maxStateId": 4618, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 210, + 112 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4555 + }, + { + "id": 233, + "displayName": "Mushroom Stem", + "name": "mushroom_stem", + "hardness": 0.2, + "minStateId": 4619, + "maxStateId": 4682, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 211 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4619 + }, + { + "id": 234, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "minStateId": 4683, + "maxStateId": 4714, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 212 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4714 + }, + { + "id": 235, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "minStateId": 4715, + "maxStateId": 4746, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 213 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4746 + }, + { + "id": 236, + "displayName": "Melon", + "name": "melon", + "hardness": 1, + "minStateId": 4747, + "maxStateId": 4747, + "states": [], + "drops": [ + 214, + 673 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4747 + }, + { + "id": 237, + "displayName": "Attached Pumpkin Stem", + "name": "attached_pumpkin_stem", + "hardness": 0, + "minStateId": 4748, + "maxStateId": 4751, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4748 + }, + { + "id": 238, + "displayName": "Attached Melon Stem", + "name": "attached_melon_stem", + "hardness": 0, + "minStateId": 4752, + "maxStateId": 4755, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4752 + }, + { + "id": 239, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "minStateId": 4756, + "maxStateId": 4763, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 675 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4756 + }, + { + "id": 240, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "minStateId": 4764, + "maxStateId": 4771, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 676 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4764 + }, + { + "id": 241, + "displayName": "Vines", + "name": "vine", + "hardness": 0.2, + "minStateId": 4772, + "maxStateId": 4803, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 215, + 672 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4803 + }, + { + "id": 242, + "displayName": "Oak Fence Gate", + "name": "oak_fence_gate", + "hardness": 2, + "minStateId": 4804, + "maxStateId": 4835, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 216 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4811 + }, + { + "id": 243, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 2, + "minStateId": 4836, + "maxStateId": 4915, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 222 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4847 + }, + { + "id": 244, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 1.5, + "minStateId": 4916, + "maxStateId": 4995, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 223 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4927 + }, + { + "id": 245, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "minStateId": 4996, + "maxStateId": 4997, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 224, + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 4997 + }, + { + "id": 246, + "displayName": "Lily Pad", + "name": "lily_pad", + "hardness": 0, + "minStateId": 4998, + "maxStateId": 4998, + "states": [], + "drops": [ + 225 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4998 + }, + { + "id": 247, + "displayName": "Nether Bricks", + "name": "nether_bricks", + "hardness": 2, + "minStateId": 4999, + "maxStateId": 4999, + "states": [], + "drops": [ + 226 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4999 + }, + { + "id": 248, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "minStateId": 5000, + "maxStateId": 5031, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 227 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5031 + }, + { + "id": 249, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 2, + "minStateId": 5032, + "maxStateId": 5111, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 228 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5043 + }, + { + "id": 250, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "minStateId": 5112, + "maxStateId": 5115, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 686 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 5112 + }, + { + "id": 251, + "displayName": "Enchanting Table", + "name": "enchanting_table", + "hardness": 5, + "minStateId": 5116, + "maxStateId": 5116, + "states": [], + "drops": [ + 229 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5116 + }, + { + "id": 252, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "minStateId": 5117, + "maxStateId": 5124, + "states": [ + { + "name": "has_bottle_0", + "type": "bool", + "num_values": 2 + }, + { + "name": "has_bottle_1", + "type": "bool", + "num_values": 2 + }, + { + "name": "has_bottle_2", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 693 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 1, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5124 + }, + { + "id": 253, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "minStateId": 5125, + "maxStateId": 5128, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 694 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5125 + }, + { + "id": 254, + "displayName": "End Portal", + "name": "end_portal", + "hardness": null, + "minStateId": 5129, + "maxStateId": 5129, + "states": [], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 5129 + }, + { + "id": 255, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "hardness": null, + "minStateId": 5130, + "maxStateId": 5137, + "states": [ + { + "name": "eye", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 1, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5134 + }, + { + "id": 256, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "minStateId": 5138, + "maxStateId": 5138, + "states": [], + "drops": [ + 231 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5138 + }, + { + "id": 257, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "hardness": 3, + "minStateId": 5139, + "maxStateId": 5139, + "states": [], + "drops": [ + 233 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5139 + }, + { + "id": 258, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "hardness": 0.3, + "minStateId": 5140, + "maxStateId": 5141, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 234 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5141 + }, + { + "id": 259, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "minStateId": 5142, + "maxStateId": 5153, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 3 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 634 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 5142 + }, + { + "id": 260, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0.8, + "minStateId": 5154, + "maxStateId": 5233, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 235 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5165 + }, + { + "id": 261, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "minStateId": 5234, + "maxStateId": 5234, + "states": [], + "drops": [ + 236, + 759 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "543": true + }, + "defaultState": 5234 + }, + { + "id": 262, + "displayName": "Ender Chest", + "name": "ender_chest", + "hardness": 22.5, + "minStateId": 5235, + "maxStateId": 5242, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 237, + 145 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5236 + }, + { + "id": 263, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "minStateId": 5243, + "maxStateId": 5258, + "states": [ + { + "name": "attached", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 238 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 5252 + }, + { + "id": 264, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "minStateId": 5259, + "maxStateId": 5386, + "states": [ + { + "name": "attached", + "type": "bool", + "num_values": 2 + }, + { + "name": "disarmed", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 552 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 5386 + }, + { + "id": 265, + "displayName": "Block of Emerald", + "name": "emerald_block", + "hardness": 5, + "minStateId": 5387, + "maxStateId": 5387, + "states": [], + "drops": [ + 239 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "543": true + }, + "defaultState": 5387 + }, + { + "id": 266, + "displayName": "Spruce Stairs", + "name": "spruce_stairs", + "hardness": 2, + "minStateId": 5388, + "maxStateId": 5467, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 240 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5399 + }, + { + "id": 267, + "displayName": "Birch Stairs", + "name": "birch_stairs", + "hardness": 2, + "minStateId": 5468, + "maxStateId": 5547, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 241 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5479 + }, + { + "id": 268, + "displayName": "Jungle Stairs", + "name": "jungle_stairs", + "hardness": 2, + "minStateId": 5548, + "maxStateId": 5627, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 242 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5559 + }, + { + "id": 269, + "displayName": "Command Block", + "name": "command_block", + "hardness": null, + "minStateId": 5628, + "maxStateId": 5639, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5634 + }, + { + "id": 270, + "displayName": "Beacon", + "name": "beacon", + "hardness": 3, + "minStateId": 5640, + "maxStateId": 5640, + "states": [], + "drops": [ + 244 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5640 + }, + { + "id": 271, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 2, + "minStateId": 5641, + "maxStateId": 5704, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 245 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5700 + }, + { + "id": 272, + "displayName": "Mossy Cobblestone Wall", + "name": "mossy_cobblestone_wall", + "hardness": 2, + "minStateId": 5705, + "maxStateId": 5768, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 246 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5764 + }, + { + "id": 273, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "minStateId": 5769, + "maxStateId": 5769, + "states": [], + "drops": [ + 761 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5769 + }, + { + "id": 274, + "displayName": "Potted Oak Sapling", + "name": "potted_oak_sapling", + "hardness": 0, + "minStateId": 5770, + "maxStateId": 5770, + "states": [], + "drops": [ + 761, + 19 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5770 + }, + { + "id": 275, + "displayName": "Potted Spruce Sapling", + "name": "potted_spruce_sapling", + "hardness": 0, + "minStateId": 5771, + "maxStateId": 5771, + "states": [], + "drops": [ + 761, + 20 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5771 + }, + { + "id": 276, + "displayName": "Potted Birch Sapling", + "name": "potted_birch_sapling", + "hardness": 0, + "minStateId": 5772, + "maxStateId": 5772, + "states": [], + "drops": [ + 761, + 21 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5772 + }, + { + "id": 277, + "displayName": "Potted Jungle Sapling", + "name": "potted_jungle_sapling", + "hardness": 0, + "minStateId": 5773, + "maxStateId": 5773, + "states": [], + "drops": [ + 761, + 22 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5773 + }, + { + "id": 278, + "displayName": "Potted Acacia Sapling", + "name": "potted_acacia_sapling", + "hardness": 0, + "minStateId": 5774, + "maxStateId": 5774, + "states": [], + "drops": [ + 761, + 23 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5774 + }, + { + "id": 279, + "displayName": "Potted Dark Oak Sapling", + "name": "potted_dark_oak_sapling", + "hardness": 0, + "minStateId": 5775, + "maxStateId": 5775, + "states": [], + "drops": [ + 761, + 24 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5775 + }, + { + "id": 280, + "displayName": "Potted Fern", + "name": "potted_fern", + "hardness": 0, + "minStateId": 5776, + "maxStateId": 5776, + "states": [], + "drops": [ + 761, + 77 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5776 + }, + { + "id": 281, + "displayName": "Potted Dandelion", + "name": "potted_dandelion", + "hardness": 0, + "minStateId": 5777, + "maxStateId": 5777, + "states": [], + "drops": [ + 761, + 98 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "plant", + "stackSize": 64, + "defaultState": 5777 + }, + { + "id": 282, + "displayName": "Potted Poppy", + "name": "potted_poppy", + "hardness": 0, + "minStateId": 5778, + "maxStateId": 5778, + "states": [], + "drops": [ + 761, + 99 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5778 + }, + { + "id": 283, + "displayName": "Potted Blue Orchid", + "name": "potted_blue_orchid", + "hardness": 0, + "minStateId": 5779, + "maxStateId": 5779, + "states": [], + "drops": [ + 761, + 100 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5779 + }, + { + "id": 284, + "displayName": "Potted Allium", + "name": "potted_allium", + "hardness": 0, + "minStateId": 5780, + "maxStateId": 5780, + "states": [], + "drops": [ + 761, + 101 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5780 + }, + { + "id": 285, + "displayName": "Potted Azure Bluet", + "name": "potted_azure_bluet", + "hardness": 0, + "minStateId": 5781, + "maxStateId": 5781, + "states": [], + "drops": [ + 761, + 102 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5781 + }, + { + "id": 286, + "displayName": "Potted Red Tulip", + "name": "potted_red_tulip", + "hardness": 0, + "minStateId": 5782, + "maxStateId": 5782, + "states": [], + "drops": [ + 761, + 103 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5782 + }, + { + "id": 287, + "displayName": "Potted Orange Tulip", + "name": "potted_orange_tulip", + "hardness": 0, + "minStateId": 5783, + "maxStateId": 5783, + "states": [], + "drops": [ + 761, + 104 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5783 + }, + { + "id": 288, + "displayName": "Potted White Tulip", + "name": "potted_white_tulip", + "hardness": 0, + "minStateId": 5784, + "maxStateId": 5784, + "states": [], + "drops": [ + 761, + 105 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5784 + }, + { + "id": 289, + "displayName": "Potted Pink Tulip", + "name": "potted_pink_tulip", + "hardness": 0, + "minStateId": 5785, + "maxStateId": 5785, + "states": [], + "drops": [ + 761, + 106 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5785 + }, + { + "id": 290, + "displayName": "Potted Oxeye Daisy", + "name": "potted_oxeye_daisy", + "hardness": 0, + "minStateId": 5786, + "maxStateId": 5786, + "states": [], + "drops": [ + 761, + 107 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5786 + }, + { + "id": 291, + "displayName": "Flower Pot", + "name": "potted_cornflower", + "hardness": 0, + "minStateId": 5787, + "maxStateId": 5787, + "states": [], + "drops": [ + 761, + 108 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "defaultState": 5787 + }, + { + "id": 292, + "displayName": "Flower Pot", + "name": "potted_lily_of_the_valley", + "hardness": 0, + "minStateId": 5788, + "maxStateId": 5788, + "states": [], + "drops": [ + 761, + 109 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "defaultState": 5788 + }, + { + "id": 293, + "displayName": "Flower Pot", + "name": "potted_wither_rose", + "hardness": 0, + "minStateId": 5789, + "maxStateId": 5789, + "states": [], + "drops": [ + 761, + 110 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "defaultState": 5789 + }, + { + "id": 294, + "displayName": "Potted Red Mushroom", + "name": "potted_red_mushroom", + "hardness": 0, + "minStateId": 5790, + "maxStateId": 5790, + "states": [], + "drops": [ + 761, + 112 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5790 + }, + { + "id": 295, + "displayName": "Potted Brown Mushroom", + "name": "potted_brown_mushroom", + "hardness": 0, + "minStateId": 5791, + "maxStateId": 5791, + "states": [], + "drops": [ + 761, + 111 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5791 + }, + { + "id": 296, + "displayName": "Potted Dead Bush", + "name": "potted_dead_bush", + "hardness": 0, + "minStateId": 5792, + "maxStateId": 5792, + "states": [], + "drops": [ + 761, + 78 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5792 + }, + { + "id": 297, + "displayName": "Potted Cactus", + "name": "potted_cactus", + "hardness": 0, + "minStateId": 5793, + "maxStateId": 5793, + "states": [], + "drops": [ + 761, + 178 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5793 + }, + { + "id": 298, + "displayName": "Carrots", + "name": "carrots", + "hardness": 0, + "minStateId": 5794, + "maxStateId": 5801, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 762 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 5794 + }, + { + "id": 299, + "displayName": "Potatoes", + "name": "potatoes", + "hardness": 0, + "minStateId": 5802, + "maxStateId": 5809, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 763, + 765 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 5802 + }, + { + "id": 300, + "displayName": "Oak Button", + "name": "oak_button", + "hardness": 0.5, + "minStateId": 5810, + "maxStateId": 5833, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 259 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5819 + }, + { + "id": 301, + "displayName": "Spruce Button", + "name": "spruce_button", + "hardness": 0.5, + "minStateId": 5834, + "maxStateId": 5857, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 260 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5843 + }, + { + "id": 302, + "displayName": "Birch Button", + "name": "birch_button", + "hardness": 0.5, + "minStateId": 5858, + "maxStateId": 5881, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 261 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5867 + }, + { + "id": 303, + "displayName": "Jungle Button", + "name": "jungle_button", + "hardness": 0.5, + "minStateId": 5882, + "maxStateId": 5905, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 262 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5891 + }, + { + "id": 304, + "displayName": "Acacia Button", + "name": "acacia_button", + "hardness": 0.5, + "minStateId": 5906, + "maxStateId": 5929, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 263 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5915 + }, + { + "id": 305, + "displayName": "Dark Oak Button", + "name": "dark_oak_button", + "hardness": 0.5, + "minStateId": 5930, + "maxStateId": 5953, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 264 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5939 + }, + { + "id": 306, + "displayName": "Skeleton Skull", + "name": "skeleton_skull", + "hardness": 1, + "minStateId": 5954, + "maxStateId": 5969, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 768 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5954 + }, + { + "id": 307, + "displayName": "Skeleton Wall Skull", + "name": "skeleton_wall_skull", + "hardness": 1, + "minStateId": 5970, + "maxStateId": 5973, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5970 + }, + { + "id": 308, + "displayName": "Wither Skeleton Skull", + "name": "wither_skeleton_skull", + "hardness": 1, + "minStateId": 5974, + "maxStateId": 5989, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 769 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5974 + }, + { + "id": 309, + "displayName": "Wither Skeleton Wall Skull", + "name": "wither_skeleton_wall_skull", + "hardness": 1, + "minStateId": 5990, + "maxStateId": 5993, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5990 + }, + { + "id": 310, + "displayName": "Zombie Head", + "name": "zombie_head", + "hardness": 1, + "minStateId": 5994, + "maxStateId": 6009, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 771 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5994 + }, + { + "id": 311, + "displayName": "Zombie Wall Head", + "name": "zombie_wall_head", + "hardness": 1, + "minStateId": 6010, + "maxStateId": 6013, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6010 + }, + { + "id": 312, + "displayName": "Player Head", + "name": "player_head", + "hardness": 1, + "minStateId": 6014, + "maxStateId": 6029, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 770 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6014 + }, + { + "id": 313, + "displayName": "Player Wall Head", + "name": "player_wall_head", + "hardness": 1, + "minStateId": 6030, + "maxStateId": 6033, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6030 + }, + { + "id": 314, + "displayName": "Creeper Head", + "name": "creeper_head", + "hardness": 1, + "minStateId": 6034, + "maxStateId": 6049, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 772 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6034 + }, + { + "id": 315, + "displayName": "Creeper Wall Head", + "name": "creeper_wall_head", + "hardness": 1, + "minStateId": 6050, + "maxStateId": 6053, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6050 + }, + { + "id": 316, + "displayName": "Dragon Head", + "name": "dragon_head", + "hardness": 1, + "minStateId": 6054, + "maxStateId": 6069, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 773 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6054 + }, + { + "id": 317, + "displayName": "Dragon Wall Head", + "name": "dragon_wall_head", + "hardness": 1, + "minStateId": 6070, + "maxStateId": 6073, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6070 + }, + { + "id": 318, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "minStateId": 6074, + "maxStateId": 6077, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 265 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6074 + }, + { + "id": 319, + "displayName": "Chipped Anvil", + "name": "chipped_anvil", + "hardness": 5, + "minStateId": 6078, + "maxStateId": 6081, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 266 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6078 + }, + { + "id": 320, + "displayName": "Damaged Anvil", + "name": "damaged_anvil", + "hardness": 5, + "minStateId": 6082, + "maxStateId": 6085, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 267 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6082 + }, + { + "id": 321, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "minStateId": 6086, + "maxStateId": 6109, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "single", + "left", + "right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 268 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6087 + }, + { + "id": 322, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "hardness": 0.5, + "minStateId": 6110, + "maxStateId": 6125, + "states": [ + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 269 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6110 + }, + { + "id": 323, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "hardness": 0.5, + "minStateId": 6126, + "maxStateId": 6141, + "states": [ + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 270 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6126 + }, + { + "id": 324, + "displayName": "Redstone Comparator", + "name": "comparator", + "hardness": 0, + "minStateId": 6142, + "maxStateId": 6157, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "mode", + "type": "enum", + "num_values": 2, + "values": [ + "compare", + "subtract" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 514 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6143 + }, + { + "id": 325, + "displayName": "Daylight Detector", + "name": "daylight_detector", + "hardness": 0.2, + "minStateId": 6158, + "maxStateId": 6189, + "states": [ + { + "name": "inverted", + "type": "bool", + "num_values": 2 + }, + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 271 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6174 + }, + { + "id": 326, + "displayName": "Block of Redstone", + "name": "redstone_block", + "hardness": 5, + "minStateId": 6190, + "maxStateId": 6190, + "states": [], + "drops": [ + 272 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6190 + }, + { + "id": 327, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "hardness": 3, + "minStateId": 6191, + "maxStateId": 6191, + "states": [], + "drops": [ + 273, + 781 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6191 + }, + { + "id": 328, + "displayName": "Hopper", + "name": "hopper", + "hardness": 3, + "minStateId": 6192, + "maxStateId": 6201, + "states": [ + { + "name": "enabled", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 5, + "values": [ + "down", + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 274 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6192 + }, + { + "id": 329, + "displayName": "Block of Quartz", + "name": "quartz_block", + "hardness": 0.8, + "minStateId": 6202, + "maxStateId": 6202, + "states": [], + "drops": [ + 276 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6202 + }, + { + "id": 330, + "displayName": "Chiseled Quartz Block", + "name": "chiseled_quartz_block", + "hardness": 0.8, + "minStateId": 6203, + "maxStateId": 6203, + "states": [], + "drops": [ + 275 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6203 + }, + { + "id": 331, + "displayName": "Quartz Pillar", + "name": "quartz_pillar", + "hardness": 0.8, + "minStateId": 6204, + "maxStateId": 6206, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 277 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6205 + }, + { + "id": 332, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0.8, + "minStateId": 6207, + "maxStateId": 6286, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 278 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6218 + }, + { + "id": 333, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "minStateId": 6287, + "maxStateId": 6298, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 279 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 6293 + }, + { + "id": 334, + "displayName": "Dropper", + "name": "dropper", + "hardness": 3.5, + "minStateId": 6299, + "maxStateId": 6310, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "triggered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 280 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6300 + }, + { + "id": 335, + "displayName": "White Terracotta", + "name": "white_terracotta", + "hardness": 1.25, + "minStateId": 6311, + "maxStateId": 6311, + "states": [], + "drops": [ + 281 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6311 + }, + { + "id": 336, + "displayName": "Orange Terracotta", + "name": "orange_terracotta", + "hardness": 1.25, + "minStateId": 6312, + "maxStateId": 6312, + "states": [], + "drops": [ + 282 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6312 + }, + { + "id": 337, + "displayName": "Magenta Terracotta", + "name": "magenta_terracotta", + "hardness": 1.25, + "minStateId": 6313, + "maxStateId": 6313, + "states": [], + "drops": [ + 283 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6313 + }, + { + "id": 338, + "displayName": "Light Blue Terracotta", + "name": "light_blue_terracotta", + "hardness": 1.25, + "minStateId": 6314, + "maxStateId": 6314, + "states": [], + "drops": [ + 284 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6314 + }, + { + "id": 339, + "displayName": "Yellow Terracotta", + "name": "yellow_terracotta", + "hardness": 1.25, + "minStateId": 6315, + "maxStateId": 6315, + "states": [], + "drops": [ + 285 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6315 + }, + { + "id": 340, + "displayName": "Lime Terracotta", + "name": "lime_terracotta", + "hardness": 1.25, + "minStateId": 6316, + "maxStateId": 6316, + "states": [], + "drops": [ + 286 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6316 + }, + { + "id": 341, + "displayName": "Pink Terracotta", + "name": "pink_terracotta", + "hardness": 1.25, + "minStateId": 6317, + "maxStateId": 6317, + "states": [], + "drops": [ + 287 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6317 + }, + { + "id": 342, + "displayName": "Gray Terracotta", + "name": "gray_terracotta", + "hardness": 1.25, + "minStateId": 6318, + "maxStateId": 6318, + "states": [], + "drops": [ + 288 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6318 + }, + { + "id": 343, + "displayName": "Light Gray Terracotta", + "name": "light_gray_terracotta", + "hardness": 1.25, + "minStateId": 6319, + "maxStateId": 6319, + "states": [], + "drops": [ + 289 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6319 + }, + { + "id": 344, + "displayName": "Cyan Terracotta", + "name": "cyan_terracotta", + "hardness": 1.25, + "minStateId": 6320, + "maxStateId": 6320, + "states": [], + "drops": [ + 290 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6320 + }, + { + "id": 345, + "displayName": "Purple Terracotta", + "name": "purple_terracotta", + "hardness": 1.25, + "minStateId": 6321, + "maxStateId": 6321, + "states": [], + "drops": [ + 291 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6321 + }, + { + "id": 346, + "displayName": "Blue Terracotta", + "name": "blue_terracotta", + "hardness": 1.25, + "minStateId": 6322, + "maxStateId": 6322, + "states": [], + "drops": [ + 292 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6322 + }, + { + "id": 347, + "displayName": "Brown Terracotta", + "name": "brown_terracotta", + "hardness": 1.25, + "minStateId": 6323, + "maxStateId": 6323, + "states": [], + "drops": [ + 293 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6323 + }, + { + "id": 348, + "displayName": "Green Terracotta", + "name": "green_terracotta", + "hardness": 1.25, + "minStateId": 6324, + "maxStateId": 6324, + "states": [], + "drops": [ + 294 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6324 + }, + { + "id": 349, + "displayName": "Red Terracotta", + "name": "red_terracotta", + "hardness": 1.25, + "minStateId": 6325, + "maxStateId": 6325, + "states": [], + "drops": [ + 295 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6325 + }, + { + "id": 350, + "displayName": "Black Terracotta", + "name": "black_terracotta", + "hardness": 1.25, + "minStateId": 6326, + "maxStateId": 6326, + "states": [], + "drops": [ + 296 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6326 + }, + { + "id": 351, + "displayName": "White Stained Glass Pane", + "name": "white_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6327, + "maxStateId": 6358, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 345 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6358 + }, + { + "id": 352, + "displayName": "Orange Stained Glass Pane", + "name": "orange_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6359, + "maxStateId": 6390, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 346 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6390 + }, + { + "id": 353, + "displayName": "Magenta Stained Glass Pane", + "name": "magenta_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6391, + "maxStateId": 6422, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 347 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6422 + }, + { + "id": 354, + "displayName": "Light Blue Stained Glass Pane", + "name": "light_blue_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6423, + "maxStateId": 6454, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 348 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6454 + }, + { + "id": 355, + "displayName": "Yellow Stained Glass Pane", + "name": "yellow_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6455, + "maxStateId": 6486, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 349 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6486 + }, + { + "id": 356, + "displayName": "Lime Stained Glass Pane", + "name": "lime_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6487, + "maxStateId": 6518, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 350 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6518 + }, + { + "id": 357, + "displayName": "Pink Stained Glass Pane", + "name": "pink_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6519, + "maxStateId": 6550, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 351 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6550 + }, + { + "id": 358, + "displayName": "Gray Stained Glass Pane", + "name": "gray_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6551, + "maxStateId": 6582, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 352 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6582 + }, + { + "id": 359, + "displayName": "Light Gray Stained Glass Pane", + "name": "light_gray_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6583, + "maxStateId": 6614, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 353 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6614 + }, + { + "id": 360, + "displayName": "Cyan Stained Glass Pane", + "name": "cyan_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6615, + "maxStateId": 6646, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 354 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6646 + }, + { + "id": 361, + "displayName": "Purple Stained Glass Pane", + "name": "purple_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6647, + "maxStateId": 6678, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 355 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6678 + }, + { + "id": 362, + "displayName": "Blue Stained Glass Pane", + "name": "blue_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6679, + "maxStateId": 6710, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 356 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6710 + }, + { + "id": 363, + "displayName": "Brown Stained Glass Pane", + "name": "brown_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6711, + "maxStateId": 6742, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 357 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6742 + }, + { + "id": 364, + "displayName": "Green Stained Glass Pane", + "name": "green_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6743, + "maxStateId": 6774, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 358 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6774 + }, + { + "id": 365, + "displayName": "Red Stained Glass Pane", + "name": "red_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6775, + "maxStateId": 6806, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 359 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6806 + }, + { + "id": 366, + "displayName": "Black Stained Glass Pane", + "name": "black_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6807, + "maxStateId": 6838, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 360 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6838 + }, + { + "id": 367, + "displayName": "Acacia Stairs", + "name": "acacia_stairs", + "hardness": 2, + "minStateId": 6839, + "maxStateId": 6918, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 319 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6850 + }, + { + "id": 368, + "displayName": "Dark Oak Stairs", + "name": "dark_oak_stairs", + "hardness": 2, + "minStateId": 6919, + "maxStateId": 6998, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 320 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6930 + }, + { + "id": 369, + "displayName": "Slime Block", + "name": "slime_block", + "hardness": 0, + "minStateId": 6999, + "maxStateId": 6999, + "states": [], + "drops": [ + 321 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6999 + }, + { + "id": 370, + "displayName": "Barrier", + "name": "barrier", + "hardness": null, + "minStateId": 7000, + "maxStateId": 7000, + "states": [], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7000 + }, + { + "id": 371, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "minStateId": 7001, + "maxStateId": 7064, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 298 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7016 + }, + { + "id": 372, + "displayName": "Prismarine", + "name": "prismarine", + "hardness": 1.5, + "minStateId": 7065, + "maxStateId": 7065, + "states": [], + "drops": [ + 361 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7065 + }, + { + "id": 373, + "displayName": "Prismarine Bricks", + "name": "prismarine_bricks", + "hardness": 1.5, + "minStateId": 7066, + "maxStateId": 7066, + "states": [], + "drops": [ + 362 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7066 + }, + { + "id": 374, + "displayName": "Dark Prismarine", + "name": "dark_prismarine", + "hardness": 1.5, + "minStateId": 7067, + "maxStateId": 7067, + "states": [], + "drops": [ + 363 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7067 + }, + { + "id": 375, + "displayName": "Prismarine Stairs", + "name": "prismarine_stairs", + "hardness": 1.5, + "minStateId": 7068, + "maxStateId": 7147, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 364 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7079 + }, + { + "id": 376, + "displayName": "Prismarine Brick Stairs", + "name": "prismarine_brick_stairs", + "hardness": 1.5, + "minStateId": 7148, + "maxStateId": 7227, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 365 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7159 + }, + { + "id": 377, + "displayName": "Dark Prismarine Stairs", + "name": "dark_prismarine_stairs", + "hardness": 1.5, + "minStateId": 7228, + "maxStateId": 7307, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 366 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7239 + }, + { + "id": 378, + "displayName": "Prismarine Slab", + "name": "prismarine_slab", + "hardness": 1.5, + "minStateId": 7308, + "maxStateId": 7313, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 134 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7311 + }, + { + "id": 379, + "displayName": "Prismarine Brick Slab", + "name": "prismarine_brick_slab", + "hardness": 1.5, + "minStateId": 7314, + "maxStateId": 7319, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 135 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7317 + }, + { + "id": 380, + "displayName": "Dark Prismarine Slab", + "name": "dark_prismarine_slab", + "hardness": 1.5, + "minStateId": 7320, + "maxStateId": 7325, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 136 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7323 + }, + { + "id": 381, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "hardness": 0.3, + "minStateId": 7326, + "maxStateId": 7326, + "states": [], + "drops": [ + 367, + 785 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7326 + }, + { + "id": 382, + "displayName": "Hay Bale", + "name": "hay_block", + "hardness": 0.5, + "minStateId": 7327, + "maxStateId": 7329, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 299 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7328 + }, + { + "id": 383, + "displayName": "White Carpet", + "name": "white_carpet", + "hardness": 0.1, + "minStateId": 7330, + "maxStateId": 7330, + "states": [], + "drops": [ + 300 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7330 + }, + { + "id": 384, + "displayName": "Orange Carpet", + "name": "orange_carpet", + "hardness": 0.1, + "minStateId": 7331, + "maxStateId": 7331, + "states": [], + "drops": [ + 301 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7331 + }, + { + "id": 385, + "displayName": "Magenta Carpet", + "name": "magenta_carpet", + "hardness": 0.1, + "minStateId": 7332, + "maxStateId": 7332, + "states": [], + "drops": [ + 302 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7332 + }, + { + "id": 386, + "displayName": "Light Blue Carpet", + "name": "light_blue_carpet", + "hardness": 0.1, + "minStateId": 7333, + "maxStateId": 7333, + "states": [], + "drops": [ + 303 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7333 + }, + { + "id": 387, + "displayName": "Yellow Carpet", + "name": "yellow_carpet", + "hardness": 0.1, + "minStateId": 7334, + "maxStateId": 7334, + "states": [], + "drops": [ + 304 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7334 + }, + { + "id": 388, + "displayName": "Lime Carpet", + "name": "lime_carpet", + "hardness": 0.1, + "minStateId": 7335, + "maxStateId": 7335, + "states": [], + "drops": [ + 305 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7335 + }, + { + "id": 389, + "displayName": "Pink Carpet", + "name": "pink_carpet", + "hardness": 0.1, + "minStateId": 7336, + "maxStateId": 7336, + "states": [], + "drops": [ + 306 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7336 + }, + { + "id": 390, + "displayName": "Gray Carpet", + "name": "gray_carpet", + "hardness": 0.1, + "minStateId": 7337, + "maxStateId": 7337, + "states": [], + "drops": [ + 307 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7337 + }, + { + "id": 391, + "displayName": "Light Gray Carpet", + "name": "light_gray_carpet", + "hardness": 0.1, + "minStateId": 7338, + "maxStateId": 7338, + "states": [], + "drops": [ + 308 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7338 + }, + { + "id": 392, + "displayName": "Cyan Carpet", + "name": "cyan_carpet", + "hardness": 0.1, + "minStateId": 7339, + "maxStateId": 7339, + "states": [], + "drops": [ + 309 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7339 + }, + { + "id": 393, + "displayName": "Purple Carpet", + "name": "purple_carpet", + "hardness": 0.1, + "minStateId": 7340, + "maxStateId": 7340, + "states": [], + "drops": [ + 310 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7340 + }, + { + "id": 394, + "displayName": "Blue Carpet", + "name": "blue_carpet", + "hardness": 0.1, + "minStateId": 7341, + "maxStateId": 7341, + "states": [], + "drops": [ + 311 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7341 + }, + { + "id": 395, + "displayName": "Brown Carpet", + "name": "brown_carpet", + "hardness": 0.1, + "minStateId": 7342, + "maxStateId": 7342, + "states": [], + "drops": [ + 312 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7342 + }, + { + "id": 396, + "displayName": "Green Carpet", + "name": "green_carpet", + "hardness": 0.1, + "minStateId": 7343, + "maxStateId": 7343, + "states": [], + "drops": [ + 313 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7343 + }, + { + "id": 397, + "displayName": "Red Carpet", + "name": "red_carpet", + "hardness": 0.1, + "minStateId": 7344, + "maxStateId": 7344, + "states": [], + "drops": [ + 314 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7344 + }, + { + "id": 398, + "displayName": "Black Carpet", + "name": "black_carpet", + "hardness": 0.1, + "minStateId": 7345, + "maxStateId": 7345, + "states": [], + "drops": [ + 315 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7345 + }, + { + "id": 399, + "displayName": "Terracotta", + "name": "terracotta", + "hardness": 1.25, + "minStateId": 7346, + "maxStateId": 7346, + "states": [], + "drops": [ + 316 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7346 + }, + { + "id": 400, + "displayName": "Block of Coal", + "name": "coal_block", + "hardness": 5, + "minStateId": 7347, + "maxStateId": 7347, + "states": [], + "drops": [ + 317 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7347 + }, + { + "id": 401, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "minStateId": 7348, + "maxStateId": 7348, + "states": [], + "drops": [ + 318 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 7348 + }, + { + "id": 402, + "displayName": "Sunflower", + "name": "sunflower", + "hardness": 0, + "minStateId": 7349, + "maxStateId": 7350, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 323 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7350 + }, + { + "id": 403, + "displayName": "Lilac", + "name": "lilac", + "hardness": 0, + "minStateId": 7351, + "maxStateId": 7352, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 324 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7352 + }, + { + "id": 404, + "displayName": "Rose Bush", + "name": "rose_bush", + "hardness": 0, + "minStateId": 7353, + "maxStateId": 7354, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 325 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7354 + }, + { + "id": 405, + "displayName": "Peony", + "name": "peony", + "hardness": 0, + "minStateId": 7355, + "maxStateId": 7356, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 326 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7356 + }, + { + "id": 406, + "displayName": "Tall Grass", + "name": "tall_grass", + "hardness": 0, + "minStateId": 7357, + "maxStateId": 7358, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 672, + 76, + 327, + 560 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7358 + }, + { + "id": 407, + "displayName": "Large Fern", + "name": "large_fern", + "hardness": 0, + "minStateId": 7359, + "maxStateId": 7360, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 77, + 672 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7360 + }, + { + "id": 408, + "displayName": "White Banner", + "name": "white_banner", + "hardness": 1, + "minStateId": 7361, + "maxStateId": 7376, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 801 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7361 + }, + { + "id": 409, + "displayName": "Orange Banner", + "name": "orange_banner", + "hardness": 1, + "minStateId": 7377, + "maxStateId": 7392, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 802 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7377 + }, + { + "id": 410, + "displayName": "Magenta Banner", + "name": "magenta_banner", + "hardness": 1, + "minStateId": 7393, + "maxStateId": 7408, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 803 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7393 + }, + { + "id": 411, + "displayName": "Light Blue Banner", + "name": "light_blue_banner", + "hardness": 1, + "minStateId": 7409, + "maxStateId": 7424, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 804 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7409 + }, + { + "id": 412, + "displayName": "Yellow Banner", + "name": "yellow_banner", + "hardness": 1, + "minStateId": 7425, + "maxStateId": 7440, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 805 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7425 + }, + { + "id": 413, + "displayName": "Lime Banner", + "name": "lime_banner", + "hardness": 1, + "minStateId": 7441, + "maxStateId": 7456, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 806 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7441 + }, + { + "id": 414, + "displayName": "Pink Banner", + "name": "pink_banner", + "hardness": 1, + "minStateId": 7457, + "maxStateId": 7472, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 807 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7457 + }, + { + "id": 415, + "displayName": "Gray Banner", + "name": "gray_banner", + "hardness": 1, + "minStateId": 7473, + "maxStateId": 7488, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 808 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7473 + }, + { + "id": 416, + "displayName": "Light Gray Banner", + "name": "light_gray_banner", + "hardness": 1, + "minStateId": 7489, + "maxStateId": 7504, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 809 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7489 + }, + { + "id": 417, + "displayName": "Cyan Banner", + "name": "cyan_banner", + "hardness": 1, + "minStateId": 7505, + "maxStateId": 7520, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 810 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7505 + }, + { + "id": 418, + "displayName": "Purple Banner", + "name": "purple_banner", + "hardness": 1, + "minStateId": 7521, + "maxStateId": 7536, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 811 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7521 + }, + { + "id": 419, + "displayName": "Blue Banner", + "name": "blue_banner", + "hardness": 1, + "minStateId": 7537, + "maxStateId": 7552, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 812 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7537 + }, + { + "id": 420, + "displayName": "Brown Banner", + "name": "brown_banner", + "hardness": 1, + "minStateId": 7553, + "maxStateId": 7568, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 813 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7553 + }, + { + "id": 421, + "displayName": "Green Banner", + "name": "green_banner", + "hardness": 1, + "minStateId": 7569, + "maxStateId": 7584, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 814 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7569 + }, + { + "id": 422, + "displayName": "Red Banner", + "name": "red_banner", + "hardness": 1, + "minStateId": 7585, + "maxStateId": 7600, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 815 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7585 + }, + { + "id": 423, + "displayName": "Black Banner", + "name": "black_banner", + "hardness": 1, + "minStateId": 7601, + "maxStateId": 7616, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 816 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7601 + }, + { + "id": 424, + "displayName": "White wall banner", + "name": "white_wall_banner", + "hardness": 1, + "minStateId": 7617, + "maxStateId": 7620, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7617 + }, + { + "id": 425, + "displayName": "Orange wall banner", + "name": "orange_wall_banner", + "hardness": 1, + "minStateId": 7621, + "maxStateId": 7624, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7621 + }, + { + "id": 426, + "displayName": "Magenta wall banner", + "name": "magenta_wall_banner", + "hardness": 1, + "minStateId": 7625, + "maxStateId": 7628, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7625 + }, + { + "id": 427, + "displayName": "Light blue wall banner", + "name": "light_blue_wall_banner", + "hardness": 1, + "minStateId": 7629, + "maxStateId": 7632, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7629 + }, + { + "id": 428, + "displayName": "Yellow wall banner", + "name": "yellow_wall_banner", + "hardness": 1, + "minStateId": 7633, + "maxStateId": 7636, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7633 + }, + { + "id": 429, + "displayName": "Lime wall banner", + "name": "lime_wall_banner", + "hardness": 1, + "minStateId": 7637, + "maxStateId": 7640, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7637 + }, + { + "id": 430, + "displayName": "Pink wall banner", + "name": "pink_wall_banner", + "hardness": 1, + "minStateId": 7641, + "maxStateId": 7644, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7641 + }, + { + "id": 431, + "displayName": "Gray wall banner", + "name": "gray_wall_banner", + "hardness": 1, + "minStateId": 7645, + "maxStateId": 7648, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7645 + }, + { + "id": 432, + "displayName": "Light gray wall banner", + "name": "light_gray_wall_banner", + "hardness": 1, + "minStateId": 7649, + "maxStateId": 7652, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7649 + }, + { + "id": 433, + "displayName": "Cyan wall banner", + "name": "cyan_wall_banner", + "hardness": 1, + "minStateId": 7653, + "maxStateId": 7656, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7653 + }, + { + "id": 434, + "displayName": "Purple wall banner", + "name": "purple_wall_banner", + "hardness": 1, + "minStateId": 7657, + "maxStateId": 7660, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7657 + }, + { + "id": 435, + "displayName": "Blue wall banner", + "name": "blue_wall_banner", + "hardness": 1, + "minStateId": 7661, + "maxStateId": 7664, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7661 + }, + { + "id": 436, + "displayName": "Brown wall banner", + "name": "brown_wall_banner", + "hardness": 1, + "minStateId": 7665, + "maxStateId": 7668, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7665 + }, + { + "id": 437, + "displayName": "Green wall banner", + "name": "green_wall_banner", + "hardness": 1, + "minStateId": 7669, + "maxStateId": 7672, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7669 + }, + { + "id": 438, + "displayName": "Red wall banner", + "name": "red_wall_banner", + "hardness": 1, + "minStateId": 7673, + "maxStateId": 7676, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7673 + }, + { + "id": 439, + "displayName": "Black wall banner", + "name": "black_wall_banner", + "hardness": 1, + "minStateId": 7677, + "maxStateId": 7680, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7677 + }, + { + "id": 440, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "hardness": 0.8, + "minStateId": 7681, + "maxStateId": 7681, + "states": [], + "drops": [ + 368 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7681 + }, + { + "id": 441, + "displayName": "Chiseled Red Sandstone", + "name": "chiseled_red_sandstone", + "hardness": 0.8, + "minStateId": 7682, + "maxStateId": 7682, + "states": [], + "drops": [ + 369 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7682 + }, + { + "id": 442, + "displayName": "Cut Red Sandstone", + "name": "cut_red_sandstone", + "hardness": 0.8, + "minStateId": 7683, + "maxStateId": 7683, + "states": [], + "drops": [ + 370 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7683 + }, + { + "id": 443, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "hardness": 0.8, + "minStateId": 7684, + "maxStateId": 7763, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 371 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7695 + }, + { + "id": 444, + "displayName": "Oak Slab", + "name": "oak_slab", + "hardness": 2, + "minStateId": 7764, + "maxStateId": 7769, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 115 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7767 + }, + { + "id": 445, + "displayName": "Spruce Slab", + "name": "spruce_slab", + "hardness": 2, + "minStateId": 7770, + "maxStateId": 7775, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 116 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7773 + }, + { + "id": 446, + "displayName": "Birch Slab", + "name": "birch_slab", + "hardness": 2, + "minStateId": 7776, + "maxStateId": 7781, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 117 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7779 + }, + { + "id": 447, + "displayName": "Jungle Slab", + "name": "jungle_slab", + "hardness": 2, + "minStateId": 7782, + "maxStateId": 7787, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 118 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7785 + }, + { + "id": 448, + "displayName": "Acacia Slab", + "name": "acacia_slab", + "hardness": 2, + "minStateId": 7788, + "maxStateId": 7793, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 119 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7791 + }, + { + "id": 449, + "displayName": "Dark Oak Slab", + "name": "dark_oak_slab", + "hardness": 2, + "minStateId": 7794, + "maxStateId": 7799, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 120 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7797 + }, + { + "id": 450, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "minStateId": 7800, + "maxStateId": 7805, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 121 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7803 + }, + { + "id": 451, + "displayName": "Stone Slab", + "name": "smooth_stone_slab", + "hardness": 2, + "minStateId": 7806, + "maxStateId": 7811, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 122 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7809 + }, + { + "id": 452, + "displayName": "Sandstone Slab", + "name": "sandstone_slab", + "hardness": 2, + "minStateId": 7812, + "maxStateId": 7817, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 123 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7815 + }, + { + "id": 453, + "displayName": "Stone Slab", + "name": "cut_sandstone_slab", + "hardness": 2, + "minStateId": 7818, + "maxStateId": 7823, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 124 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7821 + }, + { + "id": 454, + "displayName": "Petrified Oak Slab", + "name": "petrified_oak_slab", + "hardness": 2, + "minStateId": 7824, + "maxStateId": 7829, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 125 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7827 + }, + { + "id": 455, + "displayName": "Cobblestone Slab", + "name": "cobblestone_slab", + "hardness": 2, + "minStateId": 7830, + "maxStateId": 7835, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 126 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7833 + }, + { + "id": 456, + "displayName": "Brick Slab", + "name": "brick_slab", + "hardness": 2, + "minStateId": 7836, + "maxStateId": 7841, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 127 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7839 + }, + { + "id": 457, + "displayName": "Stone Brick Slab", + "name": "stone_brick_slab", + "hardness": 2, + "minStateId": 7842, + "maxStateId": 7847, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 128 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7845 + }, + { + "id": 458, + "displayName": "Nether Brick Slab", + "name": "nether_brick_slab", + "hardness": 2, + "minStateId": 7848, + "maxStateId": 7853, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 129 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7851 + }, + { + "id": 459, + "displayName": "Quartz Slab", + "name": "quartz_slab", + "hardness": 2, + "minStateId": 7854, + "maxStateId": 7859, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 130 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7857 + }, + { + "id": 460, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "hardness": 2, + "minStateId": 7860, + "maxStateId": 7865, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 131 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7863 + }, + { + "id": 461, + "displayName": "Stone Slab", + "name": "cut_red_sandstone_slab", + "hardness": 2, + "minStateId": 7866, + "maxStateId": 7871, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 132 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7869 + }, + { + "id": 462, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "hardness": 2, + "minStateId": 7872, + "maxStateId": 7877, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 133 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7875 + }, + { + "id": 463, + "displayName": "Smooth Stone", + "name": "smooth_stone", + "hardness": 2, + "minStateId": 7878, + "maxStateId": 7878, + "states": [], + "drops": [ + 140 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7878 + }, + { + "id": 464, + "displayName": "Smooth Sandstone", + "name": "smooth_sandstone", + "hardness": 2, + "minStateId": 7879, + "maxStateId": 7879, + "states": [], + "drops": [ + 139 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7879 + }, + { + "id": 465, + "displayName": "Smooth Quartz", + "name": "smooth_quartz", + "hardness": 2, + "minStateId": 7880, + "maxStateId": 7880, + "states": [], + "drops": [ + 137 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7880 + }, + { + "id": 466, + "displayName": "Smooth Red Sandstone", + "name": "smooth_red_sandstone", + "hardness": 2, + "minStateId": 7881, + "maxStateId": 7881, + "states": [], + "drops": [ + 138 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7881 + }, + { + "id": 467, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "hardness": 2, + "minStateId": 7882, + "maxStateId": 7913, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 217 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7889 + }, + { + "id": 468, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "hardness": 2, + "minStateId": 7914, + "maxStateId": 7945, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 218 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7921 + }, + { + "id": 469, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "hardness": 2, + "minStateId": 7946, + "maxStateId": 7977, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 219 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7953 + }, + { + "id": 470, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "hardness": 2, + "minStateId": 7978, + "maxStateId": 8009, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 220 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7985 + }, + { + "id": 471, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "hardness": 2, + "minStateId": 8010, + "maxStateId": 8041, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 221 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8017 + }, + { + "id": 472, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "hardness": 2, + "minStateId": 8042, + "maxStateId": 8073, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 182 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8073 + }, + { + "id": 473, + "displayName": "Birch Fence", + "name": "birch_fence", + "hardness": 2, + "minStateId": 8074, + "maxStateId": 8105, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 183 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8105 + }, + { + "id": 474, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "hardness": 2, + "minStateId": 8106, + "maxStateId": 8137, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 184 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8137 + }, + { + "id": 475, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "hardness": 2, + "minStateId": 8138, + "maxStateId": 8169, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 185 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8169 + }, + { + "id": 476, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "hardness": 2, + "minStateId": 8170, + "maxStateId": 8201, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 186 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8201 + }, + { + "id": 477, + "displayName": "Spruce Door", + "name": "spruce_door", + "hardness": 3, + "minStateId": 8202, + "maxStateId": 8265, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 508 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8213 + }, + { + "id": 478, + "displayName": "Birch Door", + "name": "birch_door", + "hardness": 3, + "minStateId": 8266, + "maxStateId": 8329, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 509 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8277 + }, + { + "id": 479, + "displayName": "Jungle Door", + "name": "jungle_door", + "hardness": 3, + "minStateId": 8330, + "maxStateId": 8393, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 510 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8341 + }, + { + "id": 480, + "displayName": "Acacia Door", + "name": "acacia_door", + "hardness": 3, + "minStateId": 8394, + "maxStateId": 8457, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 511 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8405 + }, + { + "id": 481, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "hardness": 3, + "minStateId": 8458, + "maxStateId": 8521, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 512 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8469 + }, + { + "id": 482, + "displayName": "End Rod", + "name": "end_rod", + "hardness": 0, + "minStateId": 8522, + "maxStateId": 8527, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 147 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 14, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8526 + }, + { + "id": 483, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "hardness": 0.4, + "minStateId": 8528, + "maxStateId": 8591, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 818 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8591 + }, + { + "id": 484, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "hardness": 0.4, + "minStateId": 8592, + "maxStateId": 8597, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 6 + } + ], + "drops": [ + 149 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8592 + }, + { + "id": 485, + "displayName": "Purpur Block", + "name": "purpur_block", + "hardness": 1.5, + "minStateId": 8598, + "maxStateId": 8598, + "states": [], + "drops": [ + 150 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8598 + }, + { + "id": 486, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "hardness": 1.5, + "minStateId": 8599, + "maxStateId": 8601, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 151 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8600 + }, + { + "id": 487, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "hardness": 1.5, + "minStateId": 8602, + "maxStateId": 8681, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 152 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8613 + }, + { + "id": 488, + "displayName": "End Stone Bricks", + "name": "end_stone_bricks", + "hardness": 0.8, + "minStateId": 8682, + "maxStateId": 8682, + "states": [], + "drops": [ + 232 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8682 + }, + { + "id": 489, + "displayName": "Beetroots", + "name": "beetroots", + "hardness": 0, + "minStateId": 8683, + "maxStateId": 8686, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 820, + 821 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8683 + }, + { + "id": 490, + "displayName": "Grass Path", + "name": "grass_path", + "hardness": 0.65, + "minStateId": 8687, + "maxStateId": 8687, + "states": [], + "drops": [ + 9 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8687 + }, + { + "id": 491, + "displayName": "End Gateway", + "name": "end_gateway", + "hardness": null, + "minStateId": 8688, + "maxStateId": 8688, + "states": [], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 8688 + }, + { + "id": 492, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "hardness": null, + "minStateId": 8689, + "maxStateId": 8700, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8695 + }, + { + "id": 493, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "hardness": null, + "minStateId": 8701, + "maxStateId": 8712, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8707 + }, + { + "id": 494, + "displayName": "Frosted Ice", + "name": "frosted_ice", + "hardness": 0.5, + "minStateId": 8713, + "maxStateId": 8716, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 2, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "defaultState": 8713 + }, + { + "id": 495, + "displayName": "Magma Block", + "name": "magma_block", + "hardness": 0.5, + "minStateId": 8717, + "maxStateId": 8717, + "states": [], + "drops": [ + 374 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8717 + }, + { + "id": 496, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "hardness": 1, + "minStateId": 8718, + "maxStateId": 8718, + "states": [], + "drops": [ + 375 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8718 + }, + { + "id": 497, + "displayName": "Red Nether Bricks", + "name": "red_nether_bricks", + "hardness": 2, + "minStateId": 8719, + "maxStateId": 8719, + "states": [], + "drops": [ + 376 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8719 + }, + { + "id": 498, + "displayName": "Bone Block", + "name": "bone_block", + "hardness": 2, + "minStateId": 8720, + "maxStateId": 8722, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 377 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8721 + }, + { + "id": 499, + "displayName": "Structure Void", + "name": "structure_void", + "hardness": 0, + "minStateId": 8723, + "maxStateId": 8723, + "states": [], + "drops": [], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8723 + }, + { + "id": 500, + "displayName": "Observer", + "name": "observer", + "hardness": 3, + "minStateId": 8724, + "maxStateId": 8735, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 379 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8729 + }, + { + "id": 501, + "displayName": "Shulker Box", + "name": "shulker_box", + "hardness": 2, + "minStateId": 8736, + "maxStateId": 8741, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 380 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8740 + }, + { + "id": 502, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "hardness": 2, + "minStateId": 8742, + "maxStateId": 8747, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 381 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8746 + }, + { + "id": 503, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "hardness": 2, + "minStateId": 8748, + "maxStateId": 8753, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 382 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8752 + }, + { + "id": 504, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "hardness": 2, + "minStateId": 8754, + "maxStateId": 8759, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 383 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8758 + }, + { + "id": 505, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "hardness": 2, + "minStateId": 8760, + "maxStateId": 8765, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 384 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8764 + }, + { + "id": 506, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "hardness": 2, + "minStateId": 8766, + "maxStateId": 8771, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 385 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8770 + }, + { + "id": 507, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "hardness": 2, + "minStateId": 8772, + "maxStateId": 8777, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 386 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8776 + }, + { + "id": 508, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "hardness": 2, + "minStateId": 8778, + "maxStateId": 8783, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 387 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8782 + }, + { + "id": 509, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "hardness": 2, + "minStateId": 8784, + "maxStateId": 8789, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 388 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8788 + }, + { + "id": 510, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "hardness": 2, + "minStateId": 8790, + "maxStateId": 8795, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 389 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8794 + }, + { + "id": 511, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "hardness": 2, + "minStateId": 8796, + "maxStateId": 8801, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 390 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8800 + }, + { + "id": 512, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "hardness": 2, + "minStateId": 8802, + "maxStateId": 8807, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 391 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8806 + }, + { + "id": 513, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "hardness": 2, + "minStateId": 8808, + "maxStateId": 8813, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 392 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8812 + }, + { + "id": 514, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "hardness": 2, + "minStateId": 8814, + "maxStateId": 8819, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 393 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8818 + }, + { + "id": 515, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "hardness": 2, + "minStateId": 8820, + "maxStateId": 8825, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 394 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8824 + }, + { + "id": 516, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "hardness": 2, + "minStateId": 8826, + "maxStateId": 8831, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 395 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8830 + }, + { + "id": 517, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "hardness": 2, + "minStateId": 8832, + "maxStateId": 8837, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 396 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8836 + }, + { + "id": 518, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8838, + "maxStateId": 8841, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 397 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8838 + }, + { + "id": 519, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8842, + "maxStateId": 8845, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 398 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8842 + }, + { + "id": 520, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8846, + "maxStateId": 8849, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 399 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8846 + }, + { + "id": 521, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8850, + "maxStateId": 8853, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 400 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8850 + }, + { + "id": 522, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8854, + "maxStateId": 8857, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 401 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8854 + }, + { + "id": 523, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8858, + "maxStateId": 8861, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 402 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8858 + }, + { + "id": 524, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8862, + "maxStateId": 8865, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 403 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8862 + }, + { + "id": 525, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8866, + "maxStateId": 8869, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 404 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8866 + }, + { + "id": 526, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8870, + "maxStateId": 8873, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 405 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8870 + }, + { + "id": 527, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8874, + "maxStateId": 8877, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 406 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8874 + }, + { + "id": 528, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8878, + "maxStateId": 8881, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 407 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8878 + }, + { + "id": 529, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8882, + "maxStateId": 8885, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 408 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8882 + }, + { + "id": 530, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8886, + "maxStateId": 8889, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 409 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8886 + }, + { + "id": 531, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8890, + "maxStateId": 8893, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 410 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8890 + }, + { + "id": 532, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8894, + "maxStateId": 8897, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 411 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8894 + }, + { + "id": 533, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8898, + "maxStateId": 8901, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 412 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8898 + }, + { + "id": 534, + "displayName": "White Concrete", + "name": "white_concrete", + "hardness": 1.8, + "minStateId": 8902, + "maxStateId": 8902, + "states": [], + "drops": [ + 413 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8902 + }, + { + "id": 535, + "displayName": "Orange Concrete", + "name": "orange_concrete", + "hardness": 1.8, + "minStateId": 8903, + "maxStateId": 8903, + "states": [], + "drops": [ + 414 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8903 + }, + { + "id": 536, + "displayName": "Magenta Concrete", + "name": "magenta_concrete", + "hardness": 1.8, + "minStateId": 8904, + "maxStateId": 8904, + "states": [], + "drops": [ + 415 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8904 + }, + { + "id": 537, + "displayName": "Light Blue Concrete", + "name": "light_blue_concrete", + "hardness": 1.8, + "minStateId": 8905, + "maxStateId": 8905, + "states": [], + "drops": [ + 416 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8905 + }, + { + "id": 538, + "displayName": "Yellow Concrete", + "name": "yellow_concrete", + "hardness": 1.8, + "minStateId": 8906, + "maxStateId": 8906, + "states": [], + "drops": [ + 417 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8906 + }, + { + "id": 539, + "displayName": "Lime Concrete", + "name": "lime_concrete", + "hardness": 1.8, + "minStateId": 8907, + "maxStateId": 8907, + "states": [], + "drops": [ + 418 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8907 + }, + { + "id": 540, + "displayName": "Pink Concrete", + "name": "pink_concrete", + "hardness": 1.8, + "minStateId": 8908, + "maxStateId": 8908, + "states": [], + "drops": [ + 419 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8908 + }, + { + "id": 541, + "displayName": "Gray Concrete", + "name": "gray_concrete", + "hardness": 1.8, + "minStateId": 8909, + "maxStateId": 8909, + "states": [], + "drops": [ + 420 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8909 + }, + { + "id": 542, + "displayName": "Light Gray Concrete", + "name": "light_gray_concrete", + "hardness": 1.8, + "minStateId": 8910, + "maxStateId": 8910, + "states": [], + "drops": [ + 421 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8910 + }, + { + "id": 543, + "displayName": "Cyan Concrete", + "name": "cyan_concrete", + "hardness": 1.8, + "minStateId": 8911, + "maxStateId": 8911, + "states": [], + "drops": [ + 422 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8911 + }, + { + "id": 544, + "displayName": "Purple Concrete", + "name": "purple_concrete", + "hardness": 1.8, + "minStateId": 8912, + "maxStateId": 8912, + "states": [], + "drops": [ + 423 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8912 + }, + { + "id": 545, + "displayName": "Blue Concrete", + "name": "blue_concrete", + "hardness": 1.8, + "minStateId": 8913, + "maxStateId": 8913, + "states": [], + "drops": [ + 424 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8913 + }, + { + "id": 546, + "displayName": "Brown Concrete", + "name": "brown_concrete", + "hardness": 1.8, + "minStateId": 8914, + "maxStateId": 8914, + "states": [], + "drops": [ + 425 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8914 + }, + { + "id": 547, + "displayName": "Green Concrete", + "name": "green_concrete", + "hardness": 1.8, + "minStateId": 8915, + "maxStateId": 8915, + "states": [], + "drops": [ + 426 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8915 + }, + { + "id": 548, + "displayName": "Red Concrete", + "name": "red_concrete", + "hardness": 1.8, + "minStateId": 8916, + "maxStateId": 8916, + "states": [], + "drops": [ + 427 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8916 + }, + { + "id": 549, + "displayName": "Black Concrete", + "name": "black_concrete", + "hardness": 1.8, + "minStateId": 8917, + "maxStateId": 8917, + "states": [], + "drops": [ + 428 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8917 + }, + { + "id": 550, + "displayName": "White Concrete Powder", + "name": "white_concrete_powder", + "hardness": 0.5, + "minStateId": 8918, + "maxStateId": 8918, + "states": [], + "drops": [ + 429 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8918 + }, + { + "id": 551, + "displayName": "Orange Concrete Powder", + "name": "orange_concrete_powder", + "hardness": 0.5, + "minStateId": 8919, + "maxStateId": 8919, + "states": [], + "drops": [ + 430 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8919 + }, + { + "id": 552, + "displayName": "Magenta Concrete Powder", + "name": "magenta_concrete_powder", + "hardness": 0.5, + "minStateId": 8920, + "maxStateId": 8920, + "states": [], + "drops": [ + 431 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8920 + }, + { + "id": 553, + "displayName": "Light Blue Concrete Powder", + "name": "light_blue_concrete_powder", + "hardness": 0.5, + "minStateId": 8921, + "maxStateId": 8921, + "states": [], + "drops": [ + 432 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8921 + }, + { + "id": 554, + "displayName": "Yellow Concrete Powder", + "name": "yellow_concrete_powder", + "hardness": 0.5, + "minStateId": 8922, + "maxStateId": 8922, + "states": [], + "drops": [ + 433 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8922 + }, + { + "id": 555, + "displayName": "Lime Concrete Powder", + "name": "lime_concrete_powder", + "hardness": 0.5, + "minStateId": 8923, + "maxStateId": 8923, + "states": [], + "drops": [ + 434 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8923 + }, + { + "id": 556, + "displayName": "Pink Concrete Powder", + "name": "pink_concrete_powder", + "hardness": 0.5, + "minStateId": 8924, + "maxStateId": 8924, + "states": [], + "drops": [ + 435 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8924 + }, + { + "id": 557, + "displayName": "Gray Concrete Powder", + "name": "gray_concrete_powder", + "hardness": 0.5, + "minStateId": 8925, + "maxStateId": 8925, + "states": [], + "drops": [ + 436 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8925 + }, + { + "id": 558, + "displayName": "Light Gray Concrete Powder", + "name": "light_gray_concrete_powder", + "hardness": 0.5, + "minStateId": 8926, + "maxStateId": 8926, + "states": [], + "drops": [ + 437 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8926 + }, + { + "id": 559, + "displayName": "Cyan Concrete Powder", + "name": "cyan_concrete_powder", + "hardness": 0.5, + "minStateId": 8927, + "maxStateId": 8927, + "states": [], + "drops": [ + 438 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8927 + }, + { + "id": 560, + "displayName": "Purple Concrete Powder", + "name": "purple_concrete_powder", + "hardness": 0.5, + "minStateId": 8928, + "maxStateId": 8928, + "states": [], + "drops": [ + 439 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8928 + }, + { + "id": 561, + "displayName": "Blue Concrete Powder", + "name": "blue_concrete_powder", + "hardness": 0.5, + "minStateId": 8929, + "maxStateId": 8929, + "states": [], + "drops": [ + 440 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8929 + }, + { + "id": 562, + "displayName": "Brown Concrete Powder", + "name": "brown_concrete_powder", + "hardness": 0.5, + "minStateId": 8930, + "maxStateId": 8930, + "states": [], + "drops": [ + 441 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8930 + }, + { + "id": 563, + "displayName": "Green Concrete Powder", + "name": "green_concrete_powder", + "hardness": 0.5, + "minStateId": 8931, + "maxStateId": 8931, + "states": [], + "drops": [ + 442 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8931 + }, + { + "id": 564, + "displayName": "Red Concrete Powder", + "name": "red_concrete_powder", + "hardness": 0.5, + "minStateId": 8932, + "maxStateId": 8932, + "states": [], + "drops": [ + 443 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8932 + }, + { + "id": 565, + "displayName": "Black Concrete Powder", + "name": "black_concrete_powder", + "hardness": 0.5, + "minStateId": 8933, + "maxStateId": 8933, + "states": [], + "drops": [ + 444 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8933 + }, + { + "id": 566, + "displayName": "Kelp", + "name": "kelp", + "hardness": 0, + "minStateId": 8934, + "maxStateId": 8959, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 26 + } + ], + "drops": [ + 612 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8934 + }, + { + "id": 567, + "displayName": "Kelp Plant", + "name": "kelp_plant", + "hardness": 0, + "minStateId": 8960, + "maxStateId": 8960, + "states": [], + "drops": [ + 612 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8960 + }, + { + "id": 568, + "displayName": "Dried Kelp Block", + "name": "dried_kelp_block", + "hardness": 0.5, + "minStateId": 8961, + "maxStateId": 8961, + "states": [], + "drops": [ + 613 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8961 + }, + { + "id": 569, + "displayName": "Turtle Egg", + "name": "turtle_egg", + "hardness": 0.5, + "minStateId": 8962, + "maxStateId": 8973, + "states": [ + { + "name": "eggs", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "hatch", + "type": "int", + "num_values": 3 + } + ], + "drops": [ + 445 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8962 + }, + { + "id": 570, + "displayName": "Dead Tube Coral Block", + "name": "dead_tube_coral_block", + "hardness": 1.5, + "minStateId": 8974, + "maxStateId": 8974, + "states": [], + "drops": [ + 446 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8974 + }, + { + "id": 571, + "displayName": "Dead Brain Coral Block", + "name": "dead_brain_coral_block", + "hardness": 1.5, + "minStateId": 8975, + "maxStateId": 8975, + "states": [], + "drops": [ + 447 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8975 + }, + { + "id": 572, + "displayName": "Dead Bubble Coral Block", + "name": "dead_bubble_coral_block", + "hardness": 1.5, + "minStateId": 8976, + "maxStateId": 8976, + "states": [], + "drops": [ + 448 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8976 + }, + { + "id": 573, + "displayName": "Dead Fire Coral Block", + "name": "dead_fire_coral_block", + "hardness": 1.5, + "minStateId": 8977, + "maxStateId": 8977, + "states": [], + "drops": [ + 449 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8977 + }, + { + "id": 574, + "displayName": "Dead Horn Coral Block", + "name": "dead_horn_coral_block", + "hardness": 1.5, + "minStateId": 8978, + "maxStateId": 8978, + "states": [], + "drops": [ + 450 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8978 + }, + { + "id": 575, + "displayName": "Tube Coral Block", + "name": "tube_coral_block", + "hardness": 1.5, + "minStateId": 8979, + "maxStateId": 8979, + "states": [], + "drops": [ + 451, + 446 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8979 + }, + { + "id": 576, + "displayName": "Brain Coral Block", + "name": "brain_coral_block", + "hardness": 1.5, + "minStateId": 8980, + "maxStateId": 8980, + "states": [], + "drops": [ + 452, + 447 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8980 + }, + { + "id": 577, + "displayName": "Bubble Coral Block", + "name": "bubble_coral_block", + "hardness": 1.5, + "minStateId": 8981, + "maxStateId": 8981, + "states": [], + "drops": [ + 453, + 448 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8981 + }, + { + "id": 578, + "displayName": "Fire Coral Block", + "name": "fire_coral_block", + "hardness": 1.5, + "minStateId": 8982, + "maxStateId": 8982, + "states": [], + "drops": [ + 454, + 449 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8982 + }, + { + "id": 579, + "displayName": "Horn Coral Block", + "name": "horn_coral_block", + "hardness": 1.5, + "minStateId": 8983, + "maxStateId": 8983, + "states": [], + "drops": [ + 455, + 450 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8983 + }, + { + "id": 580, + "displayName": "Dead Tube Coral", + "name": "dead_tube_coral", + "hardness": 0, + "minStateId": 8984, + "maxStateId": 8985, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 465 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8984 + }, + { + "id": 581, + "displayName": "Dead Brain Coral", + "name": "dead_brain_coral", + "hardness": 0, + "minStateId": 8986, + "maxStateId": 8987, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 461 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8986 + }, + { + "id": 582, + "displayName": "Dead Bubble Coral", + "name": "dead_bubble_coral", + "hardness": 0, + "minStateId": 8988, + "maxStateId": 8989, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 462 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8988 + }, + { + "id": 583, + "displayName": "Dead Fire Coral", + "name": "dead_fire_coral", + "hardness": 0, + "minStateId": 8990, + "maxStateId": 8991, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 463 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8990 + }, + { + "id": 584, + "displayName": "Dead Horn Coral", + "name": "dead_horn_coral", + "hardness": 0, + "minStateId": 8992, + "maxStateId": 8993, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 464 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8992 + }, + { + "id": 585, + "displayName": "Tube Coral", + "name": "tube_coral", + "hardness": 0, + "minStateId": 8994, + "maxStateId": 8995, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 456 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8994 + }, + { + "id": 586, + "displayName": "Brain Coral", + "name": "brain_coral", + "hardness": 0, + "minStateId": 8996, + "maxStateId": 8997, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 457 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8996 + }, + { + "id": 587, + "displayName": "Bubble Coral", + "name": "bubble_coral", + "hardness": 0, + "minStateId": 8998, + "maxStateId": 8999, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 458 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8998 + }, + { + "id": 588, + "displayName": "Fire Coral", + "name": "fire_coral", + "hardness": 0, + "minStateId": 9000, + "maxStateId": 9001, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 459 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9000 + }, + { + "id": 589, + "displayName": "Horn Coral", + "name": "horn_coral", + "hardness": 0, + "minStateId": 9002, + "maxStateId": 9003, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 460 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9002 + }, + { + "id": 590, + "displayName": "Dead Tube Coral Fan", + "name": "dead_tube_coral_fan", + "hardness": 0, + "minStateId": 9004, + "maxStateId": 9005, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 471 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9004 + }, + { + "id": 591, + "displayName": "Dead Brain Coral Fan", + "name": "dead_brain_coral_fan", + "hardness": 0, + "minStateId": 9006, + "maxStateId": 9007, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 472 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9006 + }, + { + "id": 592, + "displayName": "Dead Bubble Coral Fan", + "name": "dead_bubble_coral_fan", + "hardness": 0, + "minStateId": 9008, + "maxStateId": 9009, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 473 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9008 + }, + { + "id": 593, + "displayName": "Dead Fire Coral Fan", + "name": "dead_fire_coral_fan", + "hardness": 0, + "minStateId": 9010, + "maxStateId": 9011, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 474 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9010 + }, + { + "id": 594, + "displayName": "Dead Horn Coral Fan", + "name": "dead_horn_coral_fan", + "hardness": 0, + "minStateId": 9012, + "maxStateId": 9013, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 475 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9012 + }, + { + "id": 595, + "displayName": "Tube Coral Fan", + "name": "tube_coral_fan", + "hardness": 0, + "minStateId": 9014, + "maxStateId": 9015, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 466 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9014 + }, + { + "id": 596, + "displayName": "Brain Coral Fan", + "name": "brain_coral_fan", + "hardness": 0, + "minStateId": 9016, + "maxStateId": 9017, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 467 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9016 + }, + { + "id": 597, + "displayName": "Bubble Coral Fan", + "name": "bubble_coral_fan", + "hardness": 0, + "minStateId": 9018, + "maxStateId": 9019, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 468 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9018 + }, + { + "id": 598, + "displayName": "Fire Coral Fan", + "name": "fire_coral_fan", + "hardness": 0, + "minStateId": 9020, + "maxStateId": 9021, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 469 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9020 + }, + { + "id": 599, + "displayName": "Horn Coral Fan", + "name": "horn_coral_fan", + "hardness": 0, + "minStateId": 9022, + "maxStateId": 9023, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 470 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9022 + }, + { + "id": 600, + "displayName": "Dead Tube Coral Wall Fan", + "name": "dead_tube_coral_wall_fan", + "hardness": 0, + "minStateId": 9024, + "maxStateId": 9031, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9024 + }, + { + "id": 601, + "displayName": "Dead Brain Coral Wall Fan", + "name": "dead_brain_coral_wall_fan", + "hardness": 0, + "minStateId": 9032, + "maxStateId": 9039, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9032 + }, + { + "id": 602, + "displayName": "Dead Bubble Coral Wall Fan", + "name": "dead_bubble_coral_wall_fan", + "hardness": 0, + "minStateId": 9040, + "maxStateId": 9047, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9040 + }, + { + "id": 603, + "displayName": "Dead Fire Coral Wall Fan", + "name": "dead_fire_coral_wall_fan", + "hardness": 0, + "minStateId": 9048, + "maxStateId": 9055, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9048 + }, + { + "id": 604, + "displayName": "Dead Horn Coral Wall Fan", + "name": "dead_horn_coral_wall_fan", + "hardness": 0, + "minStateId": 9056, + "maxStateId": 9063, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9056 + }, + { + "id": 605, + "displayName": "Tube Coral Wall Fan", + "name": "tube_coral_wall_fan", + "hardness": 0, + "minStateId": 9064, + "maxStateId": 9071, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9064 + }, + { + "id": 606, + "displayName": "Brain Coral Wall Fan", + "name": "brain_coral_wall_fan", + "hardness": 0, + "minStateId": 9072, + "maxStateId": 9079, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9072 + }, + { + "id": 607, + "displayName": "Bubble Coral Wall Fan", + "name": "bubble_coral_wall_fan", + "hardness": 0, + "minStateId": 9080, + "maxStateId": 9087, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9080 + }, + { + "id": 608, + "displayName": "Fire Coral Wall Fan", + "name": "fire_coral_wall_fan", + "hardness": 0, + "minStateId": 9088, + "maxStateId": 9095, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9088 + }, + { + "id": 609, + "displayName": "Horn Coral Wall Fan", + "name": "horn_coral_wall_fan", + "hardness": 0, + "minStateId": 9096, + "maxStateId": 9103, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9096 + }, + { + "id": 610, + "displayName": "Sea Pickle", + "name": "sea_pickle", + "hardness": 0, + "minStateId": 9104, + "maxStateId": 9111, + "states": [ + { + "name": "pickles", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 80 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9104 + }, + { + "id": 611, + "displayName": "Blue Ice", + "name": "blue_ice", + "hardness": 2.8, + "minStateId": 9112, + "maxStateId": 9112, + "states": [], + "drops": [ + 476 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9112 + }, + { + "id": 612, + "displayName": "Conduit", + "name": "conduit", + "hardness": 3, + "minStateId": 9113, + "maxStateId": 9114, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 477 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 9113 + }, + { + "id": 613, + "displayName": "Bamboo Sapling", + "name": "bamboo_sapling", + "hardness": 1, + "minStateId": 9115, + "maxStateId": 9115, + "states": [], + "drops": [ + 614 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "material": "UNKNOWN_MATERIAL", + "defaultState": 9115 + }, + { + "id": 614, + "displayName": "Bamboo", + "name": "bamboo", + "hardness": 1, + "minStateId": 9116, + "maxStateId": 9127, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 2 + }, + { + "name": "leaves", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "small", + "large" + ] + }, + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 614 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 9116 + }, + { + "id": 615, + "displayName": "Flower Pot", + "name": "potted_bamboo", + "hardness": 0, + "minStateId": 9128, + "maxStateId": 9128, + "states": [], + "drops": [ + 761, + 614 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "defaultState": 9128 + }, + { + "id": 616, + "displayName": "Void Air", + "name": "void_air", + "hardness": 0, + "minStateId": 9129, + "maxStateId": 9129, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 9129 + }, + { + "id": 617, + "displayName": "Cave Air", + "name": "cave_air", + "hardness": 0, + "minStateId": 9130, + "maxStateId": 9130, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 9130 + }, + { + "id": 618, + "displayName": "Bubble Column", + "name": "bubble_column", + "hardness": 0, + "minStateId": 9131, + "maxStateId": 9132, + "states": [ + { + "name": "drag", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 9131 + }, + { + "id": 619, + "displayName": "Polished Granite Stairs", + "name": "polished_granite_stairs", + "hardness": 1.5, + "minStateId": 9133, + "maxStateId": 9212, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 478 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 9144 + }, + { + "id": 620, + "displayName": "Smooth Red Sandstone Stairs", + "name": "smooth_red_sandstone_stairs", + "hardness": 2, + "minStateId": 9213, + "maxStateId": 9292, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 479 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 9224 + }, + { + "id": 621, + "displayName": "Mossy Stone Brick Stairs", + "name": "mossy_stone_brick_stairs", + "hardness": 1.5, + "minStateId": 9293, + "maxStateId": 9372, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 480 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 9304 + }, + { + "id": 622, + "displayName": "Polished Diorite Stairs", + "name": "polished_diorite_stairs", + "hardness": 1.5, + "minStateId": 9373, + "maxStateId": 9452, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 481 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 9384 + }, + { + "id": 623, + "displayName": "Mossy Cobblestone Stairs", + "name": "mossy_cobblestone_stairs", + "hardness": 2, + "minStateId": 9453, + "maxStateId": 9532, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 482 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 9464 + }, + { + "id": 624, + "displayName": "End Stone Brick Stairs", + "name": "end_stone_brick_stairs", + "hardness": 0.8, + "minStateId": 9533, + "maxStateId": 9612, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 483 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 9544 + }, + { + "id": 625, + "displayName": "Stone Stairs", + "name": "stone_stairs", + "hardness": 1.5, + "minStateId": 9613, + "maxStateId": 9692, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 484 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 9624 + }, + { + "id": 626, + "displayName": "Smooth Sandstone Stairs", + "name": "smooth_sandstone_stairs", + "hardness": 2, + "minStateId": 9693, + "maxStateId": 9772, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 485 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 9704 + }, + { + "id": 627, + "displayName": "Smooth Quartz Stairs", + "name": "smooth_quartz_stairs", + "hardness": 2, + "minStateId": 9773, + "maxStateId": 9852, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 486 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 9784 + }, + { + "id": 628, + "displayName": "Granite Stairs", + "name": "granite_stairs", + "hardness": 1.5, + "minStateId": 9853, + "maxStateId": 9932, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 487 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 9864 + }, + { + "id": 629, + "displayName": "Andesite Stairs", + "name": "andesite_stairs", + "hardness": 1.5, + "minStateId": 9933, + "maxStateId": 10012, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 488 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 9944 + }, + { + "id": 630, + "displayName": "Nether Brick Stairs", + "name": "red_nether_brick_stairs", + "hardness": 2, + "minStateId": 10013, + "maxStateId": 10092, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 489 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10024 + }, + { + "id": 631, + "displayName": "Polished Andesite Stairs", + "name": "polished_andesite_stairs", + "hardness": 1.5, + "minStateId": 10093, + "maxStateId": 10172, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 490 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 10104 + }, + { + "id": 632, + "displayName": "Diorite Stairs", + "name": "diorite_stairs", + "hardness": 1.5, + "minStateId": 10173, + "maxStateId": 10252, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 491 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 10184 + }, + { + "id": 633, + "displayName": "Stone Slab", + "name": "polished_granite_slab", + "hardness": 1.5, + "minStateId": 10253, + "maxStateId": 10258, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 492 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10256 + }, + { + "id": 634, + "displayName": "Stone Slab", + "name": "smooth_red_sandstone_slab", + "hardness": 2, + "minStateId": 10259, + "maxStateId": 10264, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 493 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10262 + }, + { + "id": 635, + "displayName": "Stone Slab", + "name": "mossy_stone_brick_slab", + "hardness": 1.5, + "minStateId": 10265, + "maxStateId": 10270, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 494 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10268 + }, + { + "id": 636, + "displayName": "Stone Slab", + "name": "polished_diorite_slab", + "hardness": 1.5, + "minStateId": 10271, + "maxStateId": 10276, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 495 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10274 + }, + { + "id": 637, + "displayName": "Stone Slab", + "name": "mossy_cobblestone_slab", + "hardness": 2, + "minStateId": 10277, + "maxStateId": 10282, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 496 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10280 + }, + { + "id": 638, + "displayName": "Stone Slab", + "name": "end_stone_brick_slab", + "hardness": 0.8, + "minStateId": 10283, + "maxStateId": 10288, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 497 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10286 + }, + { + "id": 639, + "displayName": "Stone Slab", + "name": "smooth_sandstone_slab", + "hardness": 2, + "minStateId": 10289, + "maxStateId": 10294, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 498 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10292 + }, + { + "id": 640, + "displayName": "Stone Slab", + "name": "smooth_quartz_slab", + "hardness": 2, + "minStateId": 10295, + "maxStateId": 10300, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 499 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10298 + }, + { + "id": 641, + "displayName": "Stone Slab", + "name": "granite_slab", + "hardness": 1.5, + "minStateId": 10301, + "maxStateId": 10306, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 500 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10304 + }, + { + "id": 642, + "displayName": "Stone Slab", + "name": "andesite_slab", + "hardness": 1.5, + "minStateId": 10307, + "maxStateId": 10312, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 501 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10310 + }, + { + "id": 643, + "displayName": "Nether Brick Slab", + "name": "red_nether_brick_slab", + "hardness": 2, + "minStateId": 10313, + "maxStateId": 10318, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 502 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10316 + }, + { + "id": 644, + "displayName": "Stone Slab", + "name": "polished_andesite_slab", + "hardness": 1.5, + "minStateId": 10319, + "maxStateId": 10324, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 503 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10322 + }, + { + "id": 645, + "displayName": "Stone Slab", + "name": "diorite_slab", + "hardness": 1.5, + "minStateId": 10325, + "maxStateId": 10330, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 504 + ], + "diggable": true, + "stackSize": 64, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10328 + }, + { + "id": 646, + "displayName": "Brick Wall", + "name": "brick_wall", + "hardness": 2, + "minStateId": 10331, + "maxStateId": 10394, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 247 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10390 + }, + { + "id": 647, + "displayName": "Prismarine Wall", + "name": "prismarine_wall", + "hardness": 1.5, + "minStateId": 10395, + "maxStateId": 10458, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 248 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10454 + }, + { + "id": 648, + "displayName": "Red Sandstone Wall", + "name": "red_sandstone_wall", + "hardness": 0.8, + "minStateId": 10459, + "maxStateId": 10522, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 249 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10518 + }, + { + "id": 649, + "displayName": "Mossy Stone Brick Wall", + "name": "mossy_stone_brick_wall", + "hardness": 1.5, + "minStateId": 10523, + "maxStateId": 10586, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 250 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10582 + }, + { + "id": 650, + "displayName": "Granite Wall", + "name": "granite_wall", + "hardness": 1.5, + "minStateId": 10587, + "maxStateId": 10650, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 251 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10646 + }, + { + "id": 651, + "displayName": "Stone Brick Wall", + "name": "stone_brick_wall", + "hardness": 1.5, + "minStateId": 10651, + "maxStateId": 10714, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 252 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10710 + }, + { + "id": 652, + "displayName": "Nether Brick Wall", + "name": "nether_brick_wall", + "hardness": 2, + "minStateId": 10715, + "maxStateId": 10778, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 253 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10774 + }, + { + "id": 653, + "displayName": "Andesite Wall", + "name": "andesite_wall", + "hardness": 1.5, + "minStateId": 10779, + "maxStateId": 10842, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 254 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10838 + }, + { + "id": 654, + "displayName": "Red Nether Brick Wall", + "name": "red_nether_brick_wall", + "hardness": 2, + "minStateId": 10843, + "maxStateId": 10906, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 255 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10902 + }, + { + "id": 655, + "displayName": "Sandstone Wall", + "name": "sandstone_wall", + "hardness": 0.8, + "minStateId": 10907, + "maxStateId": 10970, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 256 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10966 + }, + { + "id": 656, + "displayName": "End Stone Brick Wall", + "name": "end_stone_brick_wall", + "hardness": 0.8, + "minStateId": 10971, + "maxStateId": 11034, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 257 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 11030 + }, + { + "id": 657, + "displayName": "Diorite Wall", + "name": "diorite_wall", + "hardness": 1.5, + "minStateId": 11035, + "maxStateId": 11098, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 258 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 11094 + }, + { + "id": 658, + "displayName": "Scaffolding", + "name": "scaffolding", + "hardness": 0, + "minStateId": 11099, + "maxStateId": 11130, + "states": [ + { + "name": "bottom", + "type": "bool", + "num_values": 2 + }, + { + "name": "distance", + "type": "int", + "num_values": 8 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 505 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "defaultState": 11130 + }, + { + "id": 659, + "displayName": "Loom", + "name": "loom", + "hardness": 2.5, + "minStateId": 11131, + "maxStateId": 11134, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 858 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 11131 + }, + { + "id": 660, + "displayName": "Barrel", + "name": "barrel", + "hardness": 2.5, + "minStateId": 11135, + "maxStateId": 11146, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 864 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 11136 + }, + { + "id": 661, + "displayName": "Smoker", + "name": "smoker", + "hardness": 3.5, + "minStateId": 11147, + "maxStateId": 11154, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 865 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 11148 + }, + { + "id": 662, + "displayName": "Blast Furnace", + "name": "blast_furnace", + "hardness": 3.5, + "minStateId": 11155, + "maxStateId": 11162, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 866 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 11156 + }, + { + "id": 663, + "displayName": "Cartography Table", + "name": "cartography_table", + "hardness": 2.5, + "minStateId": 11163, + "maxStateId": 11163, + "states": [], + "drops": [ + 867 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 11163 + }, + { + "id": 664, + "displayName": "Fletching Table", + "name": "fletching_table", + "hardness": 2.5, + "minStateId": 11164, + "maxStateId": 11164, + "states": [], + "drops": [ + 868 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 11164 + }, + { + "id": 665, + "displayName": "Grindstone", + "name": "grindstone", + "hardness": 2, + "minStateId": 11165, + "maxStateId": 11176, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 869 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 11169 + }, + { + "id": 666, + "displayName": "Lectern", + "name": "lectern", + "hardness": 2.5, + "minStateId": 11177, + "maxStateId": 11192, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "has_book", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 870 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 11180 + }, + { + "id": 667, + "displayName": "Smithing Table", + "name": "smithing_table", + "hardness": 2.5, + "minStateId": 11193, + "maxStateId": 11193, + "states": [], + "drops": [ + 871 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 11193 + }, + { + "id": 668, + "displayName": "Stonecutter", + "name": "stonecutter", + "hardness": 3.5, + "minStateId": 11194, + "maxStateId": 11197, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 872 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "defaultState": 11194 + }, + { + "id": 669, + "displayName": "Bell", + "name": "bell", + "hardness": 5, + "minStateId": 11198, + "maxStateId": 11213, + "states": [ + { + "name": "attachment", + "type": "enum", + "num_values": 4, + "values": [ + "floor", + "ceiling", + "single_wall", + "double_wall" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 873 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "defaultState": 11198 + }, + { + "id": 670, + "displayName": "Lantern", + "name": "lantern", + "hardness": 3.5, + "minStateId": 11214, + "maxStateId": 11215, + "states": [ + { + "name": "hanging", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 874 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 11215 + }, + { + "id": 671, + "displayName": "Campfire", + "name": "campfire", + "hardness": 2, + "minStateId": 11216, + "maxStateId": 11247, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + }, + { + "name": "signal_fire", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 876, + 528 + ], + "diggable": true, + "transparent": false, + "stackSize": 1, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 11219 + }, + { + "id": 672, + "displayName": "Sweet Berry Bush", + "name": "sweet_berry_bush", + "hardness": 0, + "minStateId": 11248, + "maxStateId": 11251, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 875 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 11248 + }, + { + "id": 673, + "displayName": "Structure Block", + "name": "structure_block", + "hardness": null, + "minStateId": 11252, + "maxStateId": 11255, + "states": [ + { + "name": "mode", + "type": "enum", + "num_values": 4, + "values": [ + "save", + "load", + "corner", + "data" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 11252 + }, + { + "id": 674, + "displayName": "Jigsaw Block", + "name": "jigsaw", + "hardness": null, + "minStateId": 11256, + "maxStateId": 11261, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 11260 + }, + { + "id": 675, + "displayName": "Composter", + "name": "composter", + "hardness": 0.6, + "minStateId": 11262, + "maxStateId": 11270, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 9 + } + ], + "drops": [ + 517, + 646 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 11262 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/commands.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/commands.json new file mode 100644 index 00000000..e2d2cbf9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/commands.json @@ -0,0 +1,13611 @@ +{ + "root": { + "type": "root", + "name": "root", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "advancement", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "grant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "revoke", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "base", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modifier", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply_base", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "ban", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ban-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "banlist", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ips", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "visible", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "blue", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "green", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pink", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "purple", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "red", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "white", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "yellow", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "max", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ] + }, + { + "type": "literal", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "style", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "notched_10", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_12", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_20", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_6", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "progress", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "visible", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "visible", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxCount", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "clone", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "begin", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "filtered", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "datapack", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "disable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "after", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "before", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "first", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "last", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "available", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "enabled", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ] + }, + { + "type": "literal", + "name": "debug", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "report", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "start", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "defaultgamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "deop", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "difficulty", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "easy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hard", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "peaceful", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "effect", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "seconds", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amplifier", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "hideParticles", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + } + } + } + ], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "enchant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "enchantment", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "level", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_enchantment", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "execute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "align", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "axes", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:swizzle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "anchored", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "at", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "if", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "in", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "dimension", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:dimension", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "positioned", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rotated", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "rot", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "run", + "executable": false, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "store", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "result", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "success", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "unless", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "experience", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "fill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hollow", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "outline", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forceload", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "gamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "gamerule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "announceAdvancements", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "commandBlockOutput", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableElytraMovementCheck", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableRaids", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doDaylightCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doEntityDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doFireTick", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doImmediateRespawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doInsomnia", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doLimitedCrafting", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobLoot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doPatrolSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTileDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTraderSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doWeatherCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "drowningDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fallDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fireDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forgiveDeadPlayers", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "keepInventory", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "logAdminCommands", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxCommandChainLength", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxEntityCramming", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mobGriefing", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "naturalRegeneration", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "randomTickSpeed", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "reducedDebugInfo", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "sendCommandFeedback", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "showDeathMessages", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnRadius", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spectatorsGenerateChunks", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "universalAnger", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "help", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "command", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "kick", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "uuids", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "bastion_remnant", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "buried_treasure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "desert_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "endcity", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "fortress", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "igloo", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "jungle_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mansion", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mineshaft", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "monument", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "nether_fossil", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ocean_ruin", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pillager_outpost", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ruined_portal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "shipwreck", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stronghold", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "swamp_hut", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "village", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locatebiome", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "biome", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "spawn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "me", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "action", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "msg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "op", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "particle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "delta", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "speed", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:particle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "playsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ambient", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "publish", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "port", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + } + } + } + ] + }, + { + "type": "literal", + "name": "recipe", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "take", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replaceitem", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "save-all", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "flush", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "save-off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "save-on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "say", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "schedule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "scoreboard", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "objectives", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criteria", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective_criteria", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "displayname", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rendertype", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "hearts", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "integer", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setdisplay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:scoreboard_slot", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:operation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "reset", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "seed", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "setblock", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setidletimeout", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minutes", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "setworldspawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnpoint", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectate", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "player", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "spreadplayers", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "spreadDistance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxRange", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "under", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxHeight", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stopsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ambient", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "summon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity_summon", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tag", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "empty", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "join", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "leave", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "collisionRule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOwnTeam", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:color", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "deathMessageVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "displayName", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "friendlyFire", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "nametagVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "prefix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "prefix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "seeFriendlyInvisibles", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "suffix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "suffix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "teammsg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "teleport", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "tell", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tellraw", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "daytime", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "gametime", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "midnight", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "night", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "noon", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "actionbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reset", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "subtitle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "times", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeIn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "stay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeOut", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tm", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "trigger", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "w", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "rain", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "thunder", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "whitelist", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "worldborder", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "damage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "amount", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "damagePerBlock", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "buffer", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "warning", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "distance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "xp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + } + ] + }, + "parsers": [ + { + "parser": "minecraft:resource_location", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + }, + "examples": [ + "word", + "words with spaces", + "\\\" and symbols\\\"" + ] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + }, + "examples": [ + "@a" + ] + }, + { + "parser": "brigadier:double", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + }, + "examples": [ + "\\\"quoted phrase\\\"", + "word", + "" + ] + }, + { + "parser": "minecraft:uuid", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:message", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:game_profile", + "modifier": null, + "examples": [ + "Player", + "0123", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "@e" + ] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "word" + }, + "examples": [ + "word", + "word_with_underscore" + ] + }, + { + "parser": "minecraft:component", + "modifier": null, + "examples": [ + "\"hello world\"", + "\"\"", + "\"{\"text\":\"hello world\"}\"", + "[\"\"]" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + }, + "examples": [ + "1" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + }, + "examples": [ + "0", + "1" + ] + }, + { + "parser": "brigadier:bool", + "modifier": null, + "examples": [ + "true", + "false" + ] + }, + { + "parser": "minecraft:item_predicate", + "modifier": null, + "examples": [ + "stick", + "minecraft:stick", + "#stick", + "diamond_sword{ench:[{id:16,lvl:5}]}" + ] + }, + { + "parser": "minecraft:block_predicate", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "#stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:block_pos", + "modifier": null, + "examples": [ + "0 0 0", + "~ ~ ~", + "^ ^ ^", + "^1 ^ ^-5", + "~0.5 ~1 ~-5" + ] + }, + { + "parser": "minecraft:nbt_path", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_compound_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:integer", + "modifier": null, + "examples": [ + "1", + "0", + "10" + ] + }, + { + "parser": "minecraft:mob_effect", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + }, + "examples": [ + "@e", + "@e[type=cow]", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "Player" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + }, + "examples": [ + "0", + "255" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + }, + "examples": [ + "1", + "1000000" + ] + }, + { + "parser": "minecraft:item_enchantment", + "modifier": null, + "examples": [ + "unbreaking", + "minecraft:slik_touch" + ] + }, + { + "parser": "minecraft:swizzle", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_anchor", + "modifier": null, + "examples": [ + "eyes", + "feet" + ] + }, + { + "parser": "minecraft:vec3", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + }, + "examples": [] + }, + { + "parser": "minecraft:int_range", + "modifier": null, + "examples": [ + "0..5", + "0", + "-5", + "-100..", + "..100" + ] + }, + { + "parser": "minecraft:dimension", + "modifier": null, + "examples": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end", + "overworld", + "the_end", + "the_nether" + ] + }, + { + "parser": "minecraft:rotation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + }, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:block_state", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:column_pos", + "modifier": null, + "examples": [ + "0 0", + "~ ~", + "~1 ~-2", + "^ ^", + "^-1 ^0" + ] + }, + { + "parser": "minecraft:function", + "modifier": null, + "examples": [ + "foo", + "foo:bar", + "#foo" + ] + }, + { + "parser": "minecraft:item_stack", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:item_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + }, + "examples": [ + "0.0", + "0", + "1", + "0.01" + ] + }, + { + "parser": "minecraft:particle", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + }, + "examples": [ + "0.0", + "0", + "1", + "1.0", + "0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + }, + "examples": [ + "0", + "2", + "1.0", + "2.0" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + }, + "examples": [ + "0", + "65535" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + }, + "examples": [ + "1", + "64" + ] + }, + { + "parser": "minecraft:time", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective_criteria", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:scoreboard_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:operation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:angle", + "modifier": null, + "examples": [ + "0", + "~", + "~-0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + }, + "examples": [ + "1", + "1.0", + "1.000" + ] + }, + { + "parser": "minecraft:vec2", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_summon", + "modifier": null, + "examples": [ + "minecraft:pig", + "cow" + ] + }, + { + "parser": "minecraft:team", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:color", + "modifier": null, + "examples": [ + "aqua", + "black", + "blue", + "dark_aqua", + "dark_blue", + "dark_gray", + "dark_green", + "dark_purple", + "dark_red", + "gold", + "gray", + "green", + "light_purple", + "red", + "reset", + "yellow", + "white" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + }, + "examples": [ + "0", + "1000000" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + }, + "examples": [] + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/effects.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/effects.json new file mode 100644 index 00000000..3725cdf0 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/effects.json @@ -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" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/entities.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/entities.json new file mode 100644 index 00000000..f26d562d --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/entities.json @@ -0,0 +1,1012 @@ +[ + { + "id": 0, + "internalId": 0, + "name": "area_effect_cloud", + "displayName": "Area Effect Cloud", + "width": 6, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 1, + "internalId": 1, + "name": "armor_stand", + "displayName": "Armor Stand", + "width": 0.5, + "height": 1.975, + "type": "mob", + "category": "Immobile" + }, + { + "id": 2, + "internalId": 2, + "name": "arrow", + "displayName": "Arrow", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 3, + "internalId": 3, + "name": "bat", + "displayName": "Bat", + "width": 0.5, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 4, + "internalId": 4, + "name": "blaze", + "displayName": "Blaze", + "width": 0.6, + "height": 1.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 5, + "internalId": 5, + "name": "boat", + "displayName": "Boat", + "width": 1.375, + "height": 0.5625, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 6, + "internalId": 6, + "name": "cat", + "displayName": "Cat", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 7, + "internalId": 7, + "name": "cave_spider", + "displayName": "Cave Spider", + "width": 0.7, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 8, + "internalId": 8, + "name": "chicken", + "displayName": "Chicken", + "width": 0.4, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 9, + "internalId": 9, + "name": "cod", + "displayName": "Cod", + "width": 0.5, + "height": 0.3, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 10, + "internalId": 10, + "name": "cow", + "displayName": "Cow", + "width": 0.9, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 11, + "internalId": 11, + "name": "creeper", + "displayName": "Creeper", + "width": 0.6, + "height": 1.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 12, + "internalId": 12, + "name": "donkey", + "displayName": "Donkey", + "width": 1.39648, + "height": 1.5, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 13, + "internalId": 13, + "name": "dolphin", + "displayName": "Dolphin", + "width": 0.9, + "height": 0.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 14, + "internalId": 14, + "name": "dragon_fireball", + "displayName": "Dragon Fireball", + "width": 1, + "height": 1, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 15, + "internalId": 15, + "name": "drowned", + "displayName": "Drowned", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 16, + "internalId": 16, + "name": "elder_guardian", + "displayName": "Elder Guardian", + "width": 1.9975, + "height": 1.9975, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 17, + "internalId": 17, + "name": "end_crystal", + "displayName": "End Crystal", + "width": 2, + "height": 2, + "type": "mob" + }, + { + "id": 18, + "internalId": 18, + "name": "ender_dragon", + "displayName": "Ender Dragon", + "width": 16, + "height": 8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 19, + "internalId": 19, + "name": "enderman", + "displayName": "Enderman", + "width": 0.6, + "height": 2.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 20, + "internalId": 20, + "name": "endermite", + "displayName": "Endermite", + "width": 0.4, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 21, + "internalId": 21, + "name": "evoker_fangs", + "displayName": "Evoker Fangs", + "width": 0.5, + "height": 0.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 22, + "internalId": 22, + "name": "evoker", + "displayName": "Evoker", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 23, + "internalId": 23, + "name": "experience_orb", + "displayName": "Experience Orb", + "width": 0.5, + "height": 0.5, + "type": "mob" + }, + { + "id": 24, + "internalId": 24, + "name": "eye_of_ender", + "displayName": "Eye of Ender", + "width": 0.25, + "height": 0.25, + "type": "mob" + }, + { + "id": 25, + "internalId": 25, + "name": "falling_block", + "displayName": "Falling Block", + "width": 0.98, + "height": 0.98, + "type": "mob", + "category": "Blocks" + }, + { + "id": 26, + "internalId": 26, + "name": "firework_rocket", + "displayName": "Firework Rocket", + "width": 0.25, + "height": 0.25, + "type": "mob" + }, + { + "id": 27, + "internalId": 27, + "name": "fox", + "displayName": "Fox", + "width": 0.6, + "height": 0.7, + "type": "mob" + }, + { + "id": 28, + "internalId": 28, + "name": "ghast", + "displayName": "Ghast", + "width": 4, + "height": 4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 29, + "internalId": 29, + "name": "giant", + "displayName": "Giant", + "width": 3.6, + "height": 12, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 30, + "internalId": 30, + "name": "guardian", + "displayName": "Guardian", + "width": 0.85, + "height": 0.85, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 31, + "internalId": 31, + "name": "horse", + "displayName": "Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 32, + "internalId": 32, + "name": "husk", + "displayName": "Husk", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 33, + "internalId": 33, + "name": "illusioner", + "displayName": "Illusioner", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 34, + "internalId": 34, + "name": "item", + "displayName": "Item", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Drops" + }, + { + "id": 35, + "internalId": 35, + "name": "item_frame", + "displayName": "Item Frame", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 36, + "internalId": 36, + "name": "fireball", + "displayName": "Fireball", + "width": 1, + "height": 1, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 37, + "internalId": 37, + "name": "leash_knot", + "displayName": "Leash Knot", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 38, + "internalId": 38, + "name": "llama", + "displayName": "Llama", + "width": 0.9, + "height": 1.87, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 39, + "internalId": 39, + "name": "llama_spit", + "displayName": "Llama Spit", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 40, + "internalId": 40, + "name": "magma_cube", + "displayName": "Magma Cube", + "width": 2.04, + "height": 2.04, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 41, + "internalId": 41, + "name": "minecart", + "displayName": "Minecart", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 42, + "internalId": 42, + "name": "chest_minecart", + "displayName": "Minecart with Chest", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 43, + "internalId": 43, + "name": "command_block_minecart", + "displayName": "Minecart with Command Block", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 44, + "internalId": 44, + "name": "furnace_minecart", + "displayName": "Minecart with Furnace", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 45, + "internalId": 45, + "name": "hopper_minecart", + "displayName": "Minecart with Hopper", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 46, + "internalId": 46, + "name": "spawner_minecart", + "displayName": "Minecart with Spawner", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 47, + "internalId": 47, + "name": "tnt_minecart", + "displayName": "Minecart with TNT", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 48, + "internalId": 48, + "name": "mule", + "displayName": "Mule", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 49, + "internalId": 49, + "name": "mooshroom", + "displayName": "Mooshroom", + "width": 0.9, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 50, + "internalId": 50, + "name": "ocelot", + "displayName": "Ocelot", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 51, + "internalId": 51, + "name": "painting", + "displayName": "Painting", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 52, + "internalId": 52, + "name": "panda", + "displayName": "Panda", + "width": 1.3, + "height": 1.25, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 53, + "internalId": 53, + "name": "parrot", + "displayName": "Parrot", + "width": 0.5, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 54, + "internalId": 54, + "name": "pig", + "displayName": "Pig", + "width": 0.9, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 55, + "internalId": 55, + "name": "pufferfish", + "displayName": "Pufferfish", + "width": 0.7, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 56, + "internalId": 56, + "name": "zombie_pigman", + "displayName": "Zombie Pigman", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 57, + "internalId": 57, + "name": "polar_bear", + "displayName": "Polar Bear", + "width": 1.4, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 58, + "internalId": 58, + "name": "tnt", + "displayName": "Primed TNT", + "width": 0.98, + "height": 0.98, + "type": "mob", + "category": "Blocks" + }, + { + "id": 59, + "internalId": 59, + "name": "rabbit", + "displayName": "Rabbit", + "width": 0.4, + "height": 0.5, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 60, + "internalId": 60, + "name": "salmon", + "displayName": "Salmon", + "width": 0.7, + "height": 0.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 61, + "internalId": 61, + "name": "sheep", + "displayName": "Sheep", + "width": 0.9, + "height": 1.3, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 62, + "internalId": 62, + "name": "shulker", + "displayName": "Shulker", + "width": 1, + "height": 1, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 63, + "internalId": 63, + "name": "shulker_bullet", + "displayName": "Shulker Bullet", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 64, + "internalId": 64, + "name": "silverfish", + "displayName": "Silverfish", + "width": 0.4, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 65, + "internalId": 65, + "name": "skeleton", + "displayName": "Skeleton", + "width": 0.6, + "height": 1.99, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 66, + "internalId": 66, + "name": "skeleton_horse", + "displayName": "Skeleton Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 67, + "internalId": 67, + "name": "slime", + "displayName": "Slime", + "width": 2.04, + "height": 2.04, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 68, + "internalId": 68, + "name": "small_fireball", + "displayName": "Small Fireball", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 69, + "internalId": 69, + "name": "snow_golem", + "displayName": "Snow Golem", + "width": 0.7, + "height": 1.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 70, + "internalId": 70, + "name": "snowball", + "displayName": "Snowball", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 71, + "internalId": 71, + "name": "spectral_arrow", + "displayName": "Spectral Arrow", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 72, + "internalId": 72, + "name": "spider", + "displayName": "Spider", + "width": 1.4, + "height": 0.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 73, + "internalId": 73, + "name": "squid", + "displayName": "Squid", + "width": 0.8, + "height": 0.8, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 74, + "internalId": 74, + "name": "stray", + "displayName": "Stray", + "width": 0.6, + "height": 1.99, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 75, + "internalId": 75, + "name": "trader_llama", + "displayName": "Trader Llama", + "width": 0.9, + "height": 1.87, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 76, + "internalId": 76, + "name": "tropical_fish", + "displayName": "Tropical Fish", + "width": 0.5, + "height": 0.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 77, + "internalId": 77, + "name": "turtle", + "displayName": "Turtle", + "width": 1.2, + "height": 0.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 78, + "internalId": 78, + "name": "egg", + "displayName": "Thrown Egg", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 79, + "internalId": 79, + "name": "ender_pearl", + "displayName": "Thrown Ender Pearl", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 80, + "internalId": 80, + "name": "experience_bottle", + "displayName": "Thrown Bottle o' Enchanting", + "width": 0.25, + "height": 0.25, + "type": "mob" + }, + { + "id": 81, + "internalId": 81, + "name": "potion", + "displayName": "Potion", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 82, + "internalId": 82, + "name": "trident", + "displayName": "Trident", + "width": 0.5, + "height": 0.5, + "type": "mob" + }, + { + "id": 83, + "internalId": 83, + "name": "vex", + "displayName": "Vex", + "width": 0.4, + "height": 0.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 84, + "internalId": 84, + "name": "villager", + "displayName": "Villager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 85, + "internalId": 85, + "name": "iron_golem", + "displayName": "Iron Golem", + "width": 1.4, + "height": 2.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 86, + "internalId": 86, + "name": "vindicator", + "displayName": "Vindicator", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 87, + "internalId": 87, + "name": "pillager", + "displayName": "Pillager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 88, + "internalId": 88, + "name": "wandering_trader", + "displayName": "Wandering Trader", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 89, + "internalId": 89, + "name": "witch", + "displayName": "Witch", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 90, + "internalId": 90, + "name": "wither", + "displayName": "Wither", + "width": 0.9, + "height": 3.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 91, + "internalId": 91, + "name": "wither_skeleton", + "displayName": "Wither Skeleton", + "width": 0.7, + "height": 2.4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 92, + "internalId": 92, + "name": "wither_skull", + "displayName": "Wither Skull", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 93, + "internalId": 93, + "name": "wolf", + "displayName": "Wolf", + "width": 0.6, + "height": 0.85, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 94, + "internalId": 94, + "name": "zombie", + "displayName": "Zombie", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 95, + "internalId": 95, + "name": "zombie_horse", + "displayName": "Zombie Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 96, + "internalId": 96, + "name": "zombie_villager", + "displayName": "Zombie Villager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 97, + "internalId": 97, + "name": "phantom", + "displayName": "Phantom", + "width": 0.9, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 98, + "internalId": 98, + "name": "ravager", + "displayName": "Ravager", + "width": 1.95, + "height": 2.2, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 99, + "internalId": 99, + "name": "lightning_bolt", + "displayName": "Lightning Bolt", + "width": 0, + "height": 0, + "type": "mob" + }, + { + "id": 100, + "internalId": 100, + "name": "player", + "displayName": "Player", + "width": 0.6, + "height": 1.8, + "type": "mob" + }, + { + "id": 101, + "internalId": 101, + "name": "fishing_bobber", + "displayName": "Fishing Bobber", + "width": 0.25, + "height": 0.25, + "type": "mob" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/entityLoot.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/entityLoot.json new file mode 100644 index 00000000..5a797680 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/entityLoot.json @@ -0,0 +1,1089 @@ +[ + { + "entity": "armor_stand", + "drops": [] + }, + { + "entity": "bat", + "drops": [] + }, + { + "entity": "blaze", + "drops": [ + { + "item": "blaze_rod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "cat", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "cave_spider", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spider_eye", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "chicken", + "drops": [ + { + "item": "feather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "chicken", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "cod", + "drops": [ + { + "item": "cod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "cow", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "beef", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "creeper", + "drops": [ + { + "item": "gunpowder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "dolphin", + "drops": [ + { + "item": "cod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "donkey", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "drowned", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gold_ingot", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "elder_guardian", + "drops": [ + { + "item": "prismarine_shard", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cod", + "dropChance": 0.6, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "prismarine_crystals", + "dropChance": 0.4, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wet_sponge", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "ender_dragon", + "drops": [] + }, + { + "entity": "enderman", + "drops": [ + { + "item": "ender_pearl", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "endermite", + "drops": [] + }, + { + "entity": "evoker", + "drops": [ + { + "item": "totem_of_undying", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "emerald", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "fox", + "drops": [] + }, + { + "entity": "ghast", + "drops": [ + { + "item": "ghast_tear", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gunpowder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "giant", + "drops": [] + }, + { + "entity": "guardian", + "drops": [ + { + "item": "prismarine_shard", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cod", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "prismarine_crystals", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "horse", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "husk", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "carrot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "potato", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "illusioner", + "drops": [] + }, + { + "entity": "iron_golem", + "drops": [ + { + "item": "poppy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "llama", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "magma_cube", + "drops": [ + { + "item": "magma_cream", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "mooshroom", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "beef", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "mule", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "ocelot", + "drops": [] + }, + { + "entity": "panda", + "drops": [ + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "parrot", + "drops": [ + { + "item": "feather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "phantom", + "drops": [ + { + "item": "phantom_membrane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "pig", + "drops": [ + { + "item": "porkchop", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "pillager", + "drops": [] + }, + { + "entity": "player", + "drops": [] + }, + { + "entity": "polar_bear", + "drops": [ + { + "item": "cod", + "dropChance": 0.75, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "salmon", + "dropChance": 0.25, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "pufferfish", + "drops": [ + { + "item": "pufferfish", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "rabbit", + "drops": [ + { + "item": "rabbit_hide", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "rabbit", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "rabbit_foot", + "dropChance": 0.1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "ravager", + "drops": [ + { + "item": "saddle", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "salmon", + "drops": [ + { + "item": "salmon", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "sheep", + "drops": [ + { + "item": "mutton", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "shulker", + "drops": [ + { + "item": "shulker_shell", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "silverfish", + "drops": [] + }, + { + "entity": "skeleton", + "drops": [ + { + "item": "arrow", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "skeleton_horse", + "drops": [ + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "slime", + "drops": [ + { + "item": "slime_ball", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "snow_golem", + "drops": [ + { + "item": "snowball", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "spider", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spider_eye", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "squid", + "drops": [ + { + "item": "ink_sac", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "stray", + "drops": [ + { + "item": "arrow", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "tipped_arrow", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "trader_llama", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "tropical_fish", + "drops": [ + { + "item": "tropical_fish", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "turtle", + "drops": [ + { + "item": "seagrass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bowl", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "vex", + "drops": [] + }, + { + "entity": "villager", + "drops": [] + }, + { + "entity": "vindicator", + "drops": [ + { + "item": "emerald", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "wandering_trader", + "drops": [] + }, + { + "entity": "witch", + "drops": [ + { + "item": "glowstone_dust", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "sugar", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "redstone", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spider_eye", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "glass_bottle", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gunpowder", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 0.25, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "wither", + "drops": [] + }, + { + "entity": "wither_skeleton", + "drops": [ + { + "item": "coal", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wither_skeleton_skull", + "dropChance": 0.025, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "wolf", + "drops": [] + }, + { + "entity": "zombie", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "carrot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "potato", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "zombie_horse", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "zombie_pigman", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gold_nugget", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gold_ingot", + "dropChance": 0.025, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "zombie_villager", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "carrot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "potato", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/foods.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/foods.json new file mode 100644 index 00000000..66e09968 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/foods.json @@ -0,0 +1,392 @@ +[ + { + "id": 524, + "displayName": "Apple", + "name": "apple", + "stackSize": 64, + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 547, + "displayName": "Mushroom Stew", + "name": "mushroom_stew", + "stackSize": 1, + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 562, + "displayName": "Bread", + "name": "bread", + "stackSize": 64, + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 584, + "displayName": "Raw Porkchop", + "name": "porkchop", + "stackSize": 64, + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 585, + "displayName": "Cooked Porkchop", + "name": "cooked_porkchop", + "stackSize": 64, + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 587, + "displayName": "Golden Apple", + "name": "golden_apple", + "stackSize": 64, + "foodPoints": 4, + "saturation": 9.6, + "effectiveQuality": 13.6, + "saturationRatio": 2.4 + }, + { + "id": 588, + "displayName": "Enchanted Golden Apple", + "name": "enchanted_golden_apple", + "stackSize": 64, + "foodPoints": 4, + "saturation": 9.6, + "effectiveQuality": 13.6, + "saturationRatio": 2.4 + }, + { + "id": 625, + "displayName": "Raw Cod", + "name": "cod", + "stackSize": 64, + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 626, + "displayName": "Raw Salmon", + "name": "salmon", + "stackSize": 64, + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 627, + "displayName": "Tropical Fish", + "name": "tropical_fish", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.2, + "effectiveQuality": 1.2, + "saturationRatio": 0.2 + }, + { + "id": 628, + "displayName": "Pufferfish", + "name": "pufferfish", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.2, + "effectiveQuality": 1.2, + "saturationRatio": 0.2 + }, + { + "id": 629, + "displayName": "Cooked Cod", + "name": "cooked_cod", + "stackSize": 64, + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 630, + "displayName": "Cooked Salmon", + "name": "cooked_salmon", + "stackSize": 64, + "foodPoints": 6, + "saturation": 9.6, + "effectiveQuality": 15.6, + "saturationRatio": 1.5999999999999999 + }, + { + "id": 653, + "displayName": "Cake", + "name": "cake", + "stackSize": 1, + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 670, + "displayName": "Cookie", + "name": "cookie", + "stackSize": 64, + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 673, + "displayName": "Melon Slice", + "name": "melon_slice", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 674, + "displayName": "Dried Kelp", + "name": "dried_kelp", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.6, + "effectiveQuality": 1.6, + "saturationRatio": 0.6 + }, + { + "id": 677, + "displayName": "Raw Beef", + "name": "beef", + "stackSize": 64, + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 678, + "displayName": "Steak", + "name": "cooked_beef", + "stackSize": 64, + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 679, + "displayName": "Raw Chicken", + "name": "chicken", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 680, + "displayName": "Cooked Chicken", + "name": "cooked_chicken", + "stackSize": 64, + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 681, + "displayName": "Rotten Flesh", + "name": "rotten_flesh", + "stackSize": 64, + "foodPoints": 4, + "saturation": 0.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.2 + }, + { + "id": 689, + "displayName": "Spider Eye", + "name": "spider_eye", + "stackSize": 64, + "foodPoints": 2, + "saturation": 3.2, + "effectiveQuality": 5.2, + "saturationRatio": 1.6 + }, + { + "id": 762, + "displayName": "Carrot", + "name": "carrot", + "stackSize": 64, + "foodPoints": 3, + "saturation": 3.6, + "effectiveQuality": 6.6, + "saturationRatio": 1.2 + }, + { + "id": 763, + "displayName": "Potato", + "name": "potato", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.6, + "effectiveQuality": 1.6, + "saturationRatio": 0.6 + }, + { + "id": 764, + "displayName": "Baked Potato", + "name": "baked_potato", + "stackSize": 64, + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 765, + "displayName": "Poisonous Potato", + "name": "poisonous_potato", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 767, + "displayName": "Golden Carrot", + "name": "golden_carrot", + "stackSize": 64, + "foodPoints": 6, + "saturation": 14.4, + "effectiveQuality": 20.4, + "saturationRatio": 2.4 + }, + { + "id": 776, + "displayName": "Pumpkin Pie", + "name": "pumpkin_pie", + "stackSize": 64, + "foodPoints": 8, + "saturation": 4.8, + "effectiveQuality": 12.8, + "saturationRatio": 0.6 + }, + { + "id": 786, + "displayName": "Raw Rabbit", + "name": "rabbit", + "stackSize": 64, + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 787, + "displayName": "Cooked Rabbit", + "name": "cooked_rabbit", + "stackSize": 64, + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 788, + "displayName": "Rabbit Stew", + "name": "rabbit_stew", + "stackSize": 1, + "foodPoints": 10, + "saturation": 12, + "effectiveQuality": 22, + "saturationRatio": 1.2 + }, + { + "id": 799, + "displayName": "Raw Mutton", + "name": "mutton", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 800, + "displayName": "Cooked Mutton", + "name": "cooked_mutton", + "stackSize": 64, + "foodPoints": 6, + "saturation": 9.6, + "effectiveQuality": 15.6, + "saturationRatio": 1.5999999999999999 + }, + { + "id": 818, + "displayName": "Chorus Fruit", + "name": "chorus_fruit", + "stackSize": 64, + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 820, + "displayName": "Beetroot", + "name": "beetroot", + "stackSize": 64, + "foodPoints": 1, + "saturation": 1.2, + "effectiveQuality": 2.2, + "saturationRatio": 1.2 + }, + { + "id": 822, + "displayName": "Beetroot Soup", + "name": "beetroot_soup", + "stackSize": 1, + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 857, + "displayName": "Suspicious Stew", + "name": "suspicious_stew", + "stackSize": 1, + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 875, + "displayName": "Sweet Berries", + "name": "sweet_berries", + "stackSize": 64, + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/instruments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/instruments.json new file mode 100644 index 00000000..15619cd9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/instruments.json @@ -0,0 +1,42 @@ +[ + { + "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": "guiter" + }, + { + "id": 8, + "name": "chime" + }, + { + "id": 9, + "name": "xylophone" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/items.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/items.json new file mode 100644 index 00000000..a7e7ff9d --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/items.json @@ -0,0 +1,5264 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Granite", + "name": "granite", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Polished Granite", + "name": "polished_granite", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Diorite", + "name": "diorite", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Polished Diorite", + "name": "polished_diorite", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Andesite", + "name": "andesite", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Polished Andesite", + "name": "polished_andesite", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Grass Block", + "name": "grass_block", + "stackSize": 64 + }, + { + "id": 9, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Coarse Dirt", + "name": "coarse_dirt", + "stackSize": 64 + }, + { + "id": 11, + "displayName": "Podzol", + "name": "podzol", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Oak Planks", + "name": "oak_planks", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Spruce Planks", + "name": "spruce_planks", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Birch Planks", + "name": "birch_planks", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Jungle Planks", + "name": "jungle_planks", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Acacia Planks", + "name": "acacia_planks", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Dark Oak Planks", + "name": "dark_oak_planks", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Oak Sapling", + "name": "oak_sapling", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Spruce Sapling", + "name": "spruce_sapling", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Birch Sapling", + "name": "birch_sapling", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Jungle Sapling", + "name": "jungle_sapling", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Acacia Sapling", + "name": "acacia_sapling", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Dark Oak Sapling", + "name": "dark_oak_sapling", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 26, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Red Sand", + "name": "red_sand", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 29, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Oak Log", + "name": "oak_log", + "stackSize": 64 + }, + { + "id": 33, + "displayName": "Spruce Log", + "name": "spruce_log", + "stackSize": 64 + }, + { + "id": 34, + "displayName": "Birch Log", + "name": "birch_log", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Jungle Log", + "name": "jungle_log", + "stackSize": 64 + }, + { + "id": 36, + "displayName": "Acacia Log", + "name": "acacia_log", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Dark Oak Log", + "name": "dark_oak_log", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Stripped Oak Log", + "name": "stripped_oak_log", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Stripped Spruce Log", + "name": "stripped_spruce_log", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Stripped Birch Log", + "name": "stripped_birch_log", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Stripped Jungle Log", + "name": "stripped_jungle_log", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Stripped Acacia Log", + "name": "stripped_acacia_log", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Stripped Dark Oak Log", + "name": "stripped_dark_oak_log", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Stripped Oak Wood", + "name": "stripped_oak_wood", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Stripped Spruce Wood", + "name": "stripped_spruce_wood", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "Stripped Birch Wood", + "name": "stripped_birch_wood", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Stripped Jungle Wood", + "name": "stripped_jungle_wood", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Stripped Acacia Wood", + "name": "stripped_acacia_wood", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Stripped Dark Oak Wood", + "name": "stripped_dark_oak_wood", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Oak Wood", + "name": "oak_wood", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Spruce Wood", + "name": "spruce_wood", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Birch Wood", + "name": "birch_wood", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Jungle Wood", + "name": "jungle_wood", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Dark Oak Wood", + "name": "dark_oak_wood", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Oak Leaves", + "name": "oak_leaves", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Spruce Leaves", + "name": "spruce_leaves", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Birch Leaves", + "name": "birch_leaves", + "stackSize": 64 + }, + { + "id": 59, + "displayName": "Jungle Leaves", + "name": "jungle_leaves", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Dark Oak Leaves", + "name": "dark_oak_leaves", + "stackSize": 64 + }, + { + "id": 62, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 63, + "displayName": "Wet Sponge", + "name": "wet_sponge", + "stackSize": 64 + }, + { + "id": 64, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 68, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Chiseled Sandstone", + "name": "chiseled_sandstone", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Cut Sandstone", + "name": "cut_sandstone", + "stackSize": 64 + }, + { + "id": 71, + "displayName": "Note Block", + "name": "note_block", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Powered Rail", + "name": "powered_rail", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 74, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Cobweb", + "name": "cobweb", + "stackSize": 64 + }, + { + "id": 76, + "displayName": "Grass", + "name": "grass", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Fern", + "name": "fern", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Dead Bush", + "name": "dead_bush", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Seagrass", + "name": "seagrass", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Sea Pickle", + "name": "sea_pickle", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Piston", + "name": "piston", + "stackSize": 64 + }, + { + "id": 82, + "displayName": "White Wool", + "name": "white_wool", + "stackSize": 64 + }, + { + "id": 83, + "displayName": "Orange Wool", + "name": "orange_wool", + "stackSize": 64 + }, + { + "id": 84, + "displayName": "Magenta Wool", + "name": "magenta_wool", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Light Blue Wool", + "name": "light_blue_wool", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Yellow Wool", + "name": "yellow_wool", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Lime Wool", + "name": "lime_wool", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Pink Wool", + "name": "pink_wool", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Gray Wool", + "name": "gray_wool", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Light Gray Wool", + "name": "light_gray_wool", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Cyan Wool", + "name": "cyan_wool", + "stackSize": 64 + }, + { + "id": 92, + "displayName": "Purple Wool", + "name": "purple_wool", + "stackSize": 64 + }, + { + "id": 93, + "displayName": "Blue Wool", + "name": "blue_wool", + "stackSize": 64 + }, + { + "id": 94, + "displayName": "Brown Wool", + "name": "brown_wool", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "Green Wool", + "name": "green_wool", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Red Wool", + "name": "red_wool", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Black Wool", + "name": "black_wool", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Dandelion", + "name": "dandelion", + "stackSize": 64 + }, + { + "id": 99, + "displayName": "Poppy", + "name": "poppy", + "stackSize": 64 + }, + { + "id": 100, + "displayName": "Blue Orchid", + "name": "blue_orchid", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Allium", + "name": "allium", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Azure Bluet", + "name": "azure_bluet", + "stackSize": 64 + }, + { + "id": 103, + "displayName": "Red Tulip", + "name": "red_tulip", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Orange Tulip", + "name": "orange_tulip", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "White Tulip", + "name": "white_tulip", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Pink Tulip", + "name": "pink_tulip", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Oxeye Daisy", + "name": "oxeye_daisy", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Cornflower", + "name": "cornflower", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Lily of the Valley", + "name": "lily_of_the_valley", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Wither Rose", + "name": "wither_rose", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 112, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Block of Gold", + "name": "gold_block", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Block of Iron", + "name": "iron_block", + "stackSize": 64 + }, + { + "id": 115, + "displayName": "Oak Slab", + "name": "oak_slab", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Spruce Slab", + "name": "spruce_slab", + "stackSize": 64 + }, + { + "id": 117, + "displayName": "Birch Slab", + "name": "birch_slab", + "stackSize": 64 + }, + { + "id": 118, + "displayName": "Jungle Slab", + "name": "jungle_slab", + "stackSize": 64 + }, + { + "id": 119, + "displayName": "Acacia Slab", + "name": "acacia_slab", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "Dark Oak Slab", + "name": "dark_oak_slab", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 122, + "displayName": "Smooth Stone Slab", + "name": "smooth_stone_slab", + "stackSize": 64 + }, + { + "id": 123, + "displayName": "Sandstone Slab", + "name": "sandstone_slab", + "stackSize": 64 + }, + { + "id": 124, + "displayName": "Cut Sandstone Slab", + "name": "cut_sandstone_slab", + "stackSize": 64 + }, + { + "id": 125, + "displayName": "Petrified Oak Slab", + "name": "petrified_oak_slab", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Cobblestone Slab", + "name": "cobblestone_slab", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Brick Slab", + "name": "brick_slab", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Stone Brick Slab", + "name": "stone_brick_slab", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Nether Brick Slab", + "name": "nether_brick_slab", + "stackSize": 64 + }, + { + "id": 130, + "displayName": "Quartz Slab", + "name": "quartz_slab", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Cut Red Sandstone Slab", + "name": "cut_red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Prismarine Slab", + "name": "prismarine_slab", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Prismarine Brick Slab", + "name": "prismarine_brick_slab", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "Dark Prismarine Slab", + "name": "dark_prismarine_slab", + "stackSize": 64 + }, + { + "id": 137, + "displayName": "Smooth Quartz", + "name": "smooth_quartz", + "stackSize": 64 + }, + { + "id": 138, + "displayName": "Smooth Red Sandstone", + "name": "smooth_red_sandstone", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Smooth Sandstone", + "name": "smooth_sandstone", + "stackSize": 64 + }, + { + "id": 140, + "displayName": "Smooth Stone", + "name": "smooth_stone", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "Bricks", + "name": "bricks", + "stackSize": 64 + }, + { + "id": 142, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 144, + "displayName": "Mossy Cobblestone", + "name": "mossy_cobblestone", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "End Rod", + "name": "end_rod", + "stackSize": 64 + }, + { + "id": 148, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "stackSize": 64 + }, + { + "id": 149, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "stackSize": 64 + }, + { + "id": 150, + "displayName": "Purpur Block", + "name": "purpur_block", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Spawner", + "name": "spawner", + "stackSize": 64 + }, + { + "id": 154, + "displayName": "Oak Stairs", + "name": "oak_stairs", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Block of Diamond", + "name": "diamond_block", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 160, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 165, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 166, + "displayName": "Oak Pressure Plate", + "name": "oak_pressure_plate", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "Spruce Pressure Plate", + "name": "spruce_pressure_plate", + "stackSize": 64 + }, + { + "id": 168, + "displayName": "Birch Pressure Plate", + "name": "birch_pressure_plate", + "stackSize": 64 + }, + { + "id": 169, + "displayName": "Jungle Pressure Plate", + "name": "jungle_pressure_plate", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Acacia Pressure Plate", + "name": "acacia_pressure_plate", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Dark Oak Pressure Plate", + "name": "dark_oak_pressure_plate", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 176, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 177, + "displayName": "Snow Block", + "name": "snow_block", + "stackSize": 64 + }, + { + "id": 178, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 179, + "displayName": "Clay", + "name": "clay", + "stackSize": 64 + }, + { + "id": 180, + "displayName": "Jukebox", + "name": "jukebox", + "stackSize": 64 + }, + { + "id": 181, + "displayName": "Oak Fence", + "name": "oak_fence", + "stackSize": 64 + }, + { + "id": 182, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "stackSize": 64 + }, + { + "id": 183, + "displayName": "Birch Fence", + "name": "birch_fence", + "stackSize": 64 + }, + { + "id": 184, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "stackSize": 64 + }, + { + "id": 185, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "stackSize": 64 + }, + { + "id": 186, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "stackSize": 64 + }, + { + "id": 187, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 188, + "displayName": "Carved Pumpkin", + "name": "carved_pumpkin", + "stackSize": 64 + }, + { + "id": 189, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 190, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 191, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 192, + "displayName": "Jack o'Lantern", + "name": "jack_o_lantern", + "stackSize": 64 + }, + { + "id": 193, + "displayName": "Oak Trapdoor", + "name": "oak_trapdoor", + "stackSize": 64 + }, + { + "id": 194, + "displayName": "Spruce Trapdoor", + "name": "spruce_trapdoor", + "stackSize": 64 + }, + { + "id": 195, + "displayName": "Birch Trapdoor", + "name": "birch_trapdoor", + "stackSize": 64 + }, + { + "id": 196, + "displayName": "Jungle Trapdoor", + "name": "jungle_trapdoor", + "stackSize": 64 + }, + { + "id": 197, + "displayName": "Acacia Trapdoor", + "name": "acacia_trapdoor", + "stackSize": 64 + }, + { + "id": 198, + "displayName": "Dark Oak Trapdoor", + "name": "dark_oak_trapdoor", + "stackSize": 64 + }, + { + "id": 199, + "displayName": "Infested Stone", + "name": "infested_stone", + "stackSize": 64 + }, + { + "id": 200, + "displayName": "Infested Cobblestone", + "name": "infested_cobblestone", + "stackSize": 64 + }, + { + "id": 201, + "displayName": "Infested Stone Bricks", + "name": "infested_stone_bricks", + "stackSize": 64 + }, + { + "id": 202, + "displayName": "Infested Mossy Stone Bricks", + "name": "infested_mossy_stone_bricks", + "stackSize": 64 + }, + { + "id": 203, + "displayName": "Infested Cracked Stone Bricks", + "name": "infested_cracked_stone_bricks", + "stackSize": 64 + }, + { + "id": 204, + "displayName": "Infested Chiseled Stone Bricks", + "name": "infested_chiseled_stone_bricks", + "stackSize": 64 + }, + { + "id": 205, + "displayName": "Stone Bricks", + "name": "stone_bricks", + "stackSize": 64 + }, + { + "id": 206, + "displayName": "Mossy Stone Bricks", + "name": "mossy_stone_bricks", + "stackSize": 64 + }, + { + "id": 207, + "displayName": "Cracked Stone Bricks", + "name": "cracked_stone_bricks", + "stackSize": 64 + }, + { + "id": 208, + "displayName": "Chiseled Stone Bricks", + "name": "chiseled_stone_bricks", + "stackSize": 64 + }, + { + "id": 209, + "displayName": "Brown Mushroom Block", + "name": "brown_mushroom_block", + "stackSize": 64 + }, + { + "id": 210, + "displayName": "Red Mushroom Block", + "name": "red_mushroom_block", + "stackSize": 64 + }, + { + "id": 211, + "displayName": "Mushroom Stem", + "name": "mushroom_stem", + "stackSize": 64 + }, + { + "id": 212, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 213, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 214, + "displayName": "Melon", + "name": "melon", + "stackSize": 64 + }, + { + "id": 215, + "displayName": "Vines", + "name": "vine", + "stackSize": 64 + }, + { + "id": 216, + "displayName": "Oak Fence Gate", + "name": "oak_fence_gate", + "stackSize": 64 + }, + { + "id": 217, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64 + }, + { + "id": 218, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64 + }, + { + "id": 219, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64 + }, + { + "id": 220, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64 + }, + { + "id": 221, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64 + }, + { + "id": 222, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 223, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 224, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 225, + "displayName": "Lily Pad", + "name": "lily_pad", + "stackSize": 64 + }, + { + "id": 226, + "displayName": "Nether Bricks", + "name": "nether_bricks", + "stackSize": 64 + }, + { + "id": 227, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 228, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 229, + "displayName": "Enchanting Table", + "name": "enchanting_table", + "stackSize": 64 + }, + { + "id": 230, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 231, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 232, + "displayName": "End Stone Bricks", + "name": "end_stone_bricks", + "stackSize": 64 + }, + { + "id": 233, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "stackSize": 64 + }, + { + "id": 234, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 235, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 236, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 237, + "displayName": "Ender Chest", + "name": "ender_chest", + "stackSize": 64 + }, + { + "id": 238, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 239, + "displayName": "Block of Emerald", + "name": "emerald_block", + "stackSize": 64 + }, + { + "id": 240, + "displayName": "Spruce Stairs", + "name": "spruce_stairs", + "stackSize": 64 + }, + { + "id": 241, + "displayName": "Birch Stairs", + "name": "birch_stairs", + "stackSize": 64 + }, + { + "id": 242, + "displayName": "Jungle Stairs", + "name": "jungle_stairs", + "stackSize": 64 + }, + { + "id": 243, + "displayName": "Command Block", + "name": "command_block", + "stackSize": 64 + }, + { + "id": 244, + "displayName": "Beacon", + "name": "beacon", + "stackSize": 64 + }, + { + "id": 245, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 246, + "displayName": "Mossy Cobblestone Wall", + "name": "mossy_cobblestone_wall", + "stackSize": 64 + }, + { + "id": 247, + "displayName": "Brick Wall", + "name": "brick_wall", + "stackSize": 64 + }, + { + "id": 248, + "displayName": "Prismarine Wall", + "name": "prismarine_wall", + "stackSize": 64 + }, + { + "id": 249, + "displayName": "Red Sandstone Wall", + "name": "red_sandstone_wall", + "stackSize": 64 + }, + { + "id": 250, + "displayName": "Mossy Stone Brick Wall", + "name": "mossy_stone_brick_wall", + "stackSize": 64 + }, + { + "id": 251, + "displayName": "Granite Wall", + "name": "granite_wall", + "stackSize": 64 + }, + { + "id": 252, + "displayName": "Stone Brick Wall", + "name": "stone_brick_wall", + "stackSize": 64 + }, + { + "id": 253, + "displayName": "Nether Brick Wall", + "name": "nether_brick_wall", + "stackSize": 64 + }, + { + "id": 254, + "displayName": "Andesite Wall", + "name": "andesite_wall", + "stackSize": 64 + }, + { + "id": 255, + "displayName": "Red Nether Brick Wall", + "name": "red_nether_brick_wall", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Sandstone Wall", + "name": "sandstone_wall", + "stackSize": 64 + }, + { + "id": 257, + "displayName": "End Stone Brick Wall", + "name": "end_stone_brick_wall", + "stackSize": 64 + }, + { + "id": 258, + "displayName": "Diorite Wall", + "name": "diorite_wall", + "stackSize": 64 + }, + { + "id": 259, + "displayName": "Oak Button", + "name": "oak_button", + "stackSize": 64 + }, + { + "id": 260, + "displayName": "Spruce Button", + "name": "spruce_button", + "stackSize": 64 + }, + { + "id": 261, + "displayName": "Birch Button", + "name": "birch_button", + "stackSize": 64 + }, + { + "id": 262, + "displayName": "Jungle Button", + "name": "jungle_button", + "stackSize": 64 + }, + { + "id": 263, + "displayName": "Acacia Button", + "name": "acacia_button", + "stackSize": 64 + }, + { + "id": 264, + "displayName": "Dark Oak Button", + "name": "dark_oak_button", + "stackSize": 64 + }, + { + "id": 265, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 266, + "displayName": "Chipped Anvil", + "name": "chipped_anvil", + "stackSize": 64 + }, + { + "id": 267, + "displayName": "Damaged Anvil", + "name": "damaged_anvil", + "stackSize": 64 + }, + { + "id": 268, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 269, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 270, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 271, + "displayName": "Daylight Detector", + "name": "daylight_detector", + "stackSize": 64 + }, + { + "id": 272, + "displayName": "Block of Redstone", + "name": "redstone_block", + "stackSize": 64 + }, + { + "id": 273, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "stackSize": 64 + }, + { + "id": 274, + "displayName": "Hopper", + "name": "hopper", + "stackSize": 64 + }, + { + "id": 275, + "displayName": "Chiseled Quartz Block", + "name": "chiseled_quartz_block", + "stackSize": 64 + }, + { + "id": 276, + "displayName": "Block of Quartz", + "name": "quartz_block", + "stackSize": 64 + }, + { + "id": 277, + "displayName": "Quartz Pillar", + "name": "quartz_pillar", + "stackSize": 64 + }, + { + "id": 278, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 279, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 280, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64 + }, + { + "id": 281, + "displayName": "White Terracotta", + "name": "white_terracotta", + "stackSize": 64 + }, + { + "id": 282, + "displayName": "Orange Terracotta", + "name": "orange_terracotta", + "stackSize": 64 + }, + { + "id": 283, + "displayName": "Magenta Terracotta", + "name": "magenta_terracotta", + "stackSize": 64 + }, + { + "id": 284, + "displayName": "Light Blue Terracotta", + "name": "light_blue_terracotta", + "stackSize": 64 + }, + { + "id": 285, + "displayName": "Yellow Terracotta", + "name": "yellow_terracotta", + "stackSize": 64 + }, + { + "id": 286, + "displayName": "Lime Terracotta", + "name": "lime_terracotta", + "stackSize": 64 + }, + { + "id": 287, + "displayName": "Pink Terracotta", + "name": "pink_terracotta", + "stackSize": 64 + }, + { + "id": 288, + "displayName": "Gray Terracotta", + "name": "gray_terracotta", + "stackSize": 64 + }, + { + "id": 289, + "displayName": "Light Gray Terracotta", + "name": "light_gray_terracotta", + "stackSize": 64 + }, + { + "id": 290, + "displayName": "Cyan Terracotta", + "name": "cyan_terracotta", + "stackSize": 64 + }, + { + "id": 291, + "displayName": "Purple Terracotta", + "name": "purple_terracotta", + "stackSize": 64 + }, + { + "id": 292, + "displayName": "Blue Terracotta", + "name": "blue_terracotta", + "stackSize": 64 + }, + { + "id": 293, + "displayName": "Brown Terracotta", + "name": "brown_terracotta", + "stackSize": 64 + }, + { + "id": 294, + "displayName": "Green Terracotta", + "name": "green_terracotta", + "stackSize": 64 + }, + { + "id": 295, + "displayName": "Red Terracotta", + "name": "red_terracotta", + "stackSize": 64 + }, + { + "id": 296, + "displayName": "Black Terracotta", + "name": "black_terracotta", + "stackSize": 64 + }, + { + "id": 297, + "displayName": "Barrier", + "name": "barrier", + "stackSize": 64 + }, + { + "id": 298, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 299, + "displayName": "Hay Bale", + "name": "hay_block", + "stackSize": 64 + }, + { + "id": 300, + "displayName": "White Carpet", + "name": "white_carpet", + "stackSize": 64 + }, + { + "id": 301, + "displayName": "Orange Carpet", + "name": "orange_carpet", + "stackSize": 64 + }, + { + "id": 302, + "displayName": "Magenta Carpet", + "name": "magenta_carpet", + "stackSize": 64 + }, + { + "id": 303, + "displayName": "Light Blue Carpet", + "name": "light_blue_carpet", + "stackSize": 64 + }, + { + "id": 304, + "displayName": "Yellow Carpet", + "name": "yellow_carpet", + "stackSize": 64 + }, + { + "id": 305, + "displayName": "Lime Carpet", + "name": "lime_carpet", + "stackSize": 64 + }, + { + "id": 306, + "displayName": "Pink Carpet", + "name": "pink_carpet", + "stackSize": 64 + }, + { + "id": 307, + "displayName": "Gray Carpet", + "name": "gray_carpet", + "stackSize": 64 + }, + { + "id": 308, + "displayName": "Light Gray Carpet", + "name": "light_gray_carpet", + "stackSize": 64 + }, + { + "id": 309, + "displayName": "Cyan Carpet", + "name": "cyan_carpet", + "stackSize": 64 + }, + { + "id": 310, + "displayName": "Purple Carpet", + "name": "purple_carpet", + "stackSize": 64 + }, + { + "id": 311, + "displayName": "Blue Carpet", + "name": "blue_carpet", + "stackSize": 64 + }, + { + "id": 312, + "displayName": "Brown Carpet", + "name": "brown_carpet", + "stackSize": 64 + }, + { + "id": 313, + "displayName": "Green Carpet", + "name": "green_carpet", + "stackSize": 64 + }, + { + "id": 314, + "displayName": "Red Carpet", + "name": "red_carpet", + "stackSize": 64 + }, + { + "id": 315, + "displayName": "Black Carpet", + "name": "black_carpet", + "stackSize": 64 + }, + { + "id": 316, + "displayName": "Terracotta", + "name": "terracotta", + "stackSize": 64 + }, + { + "id": 317, + "displayName": "Block of Coal", + "name": "coal_block", + "stackSize": 64 + }, + { + "id": 318, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 319, + "displayName": "Acacia Stairs", + "name": "acacia_stairs", + "stackSize": 64 + }, + { + "id": 320, + "displayName": "Dark Oak Stairs", + "name": "dark_oak_stairs", + "stackSize": 64 + }, + { + "id": 321, + "displayName": "Slime Block", + "name": "slime_block", + "stackSize": 64 + }, + { + "id": 322, + "displayName": "Grass Path", + "name": "grass_path", + "stackSize": 64 + }, + { + "id": 323, + "displayName": "Sunflower", + "name": "sunflower", + "stackSize": 64 + }, + { + "id": 324, + "displayName": "Lilac", + "name": "lilac", + "stackSize": 64 + }, + { + "id": 325, + "displayName": "Rose Bush", + "name": "rose_bush", + "stackSize": 64 + }, + { + "id": 326, + "displayName": "Peony", + "name": "peony", + "stackSize": 64 + }, + { + "id": 327, + "displayName": "Tall Grass", + "name": "tall_grass", + "stackSize": 64 + }, + { + "id": 328, + "displayName": "Large Fern", + "name": "large_fern", + "stackSize": 64 + }, + { + "id": 329, + "displayName": "White Stained Glass", + "name": "white_stained_glass", + "stackSize": 64 + }, + { + "id": 330, + "displayName": "Orange Stained Glass", + "name": "orange_stained_glass", + "stackSize": 64 + }, + { + "id": 331, + "displayName": "Magenta Stained Glass", + "name": "magenta_stained_glass", + "stackSize": 64 + }, + { + "id": 332, + "displayName": "Light Blue Stained Glass", + "name": "light_blue_stained_glass", + "stackSize": 64 + }, + { + "id": 333, + "displayName": "Yellow Stained Glass", + "name": "yellow_stained_glass", + "stackSize": 64 + }, + { + "id": 334, + "displayName": "Lime Stained Glass", + "name": "lime_stained_glass", + "stackSize": 64 + }, + { + "id": 335, + "displayName": "Pink Stained Glass", + "name": "pink_stained_glass", + "stackSize": 64 + }, + { + "id": 336, + "displayName": "Gray Stained Glass", + "name": "gray_stained_glass", + "stackSize": 64 + }, + { + "id": 337, + "displayName": "Light Gray Stained Glass", + "name": "light_gray_stained_glass", + "stackSize": 64 + }, + { + "id": 338, + "displayName": "Cyan Stained Glass", + "name": "cyan_stained_glass", + "stackSize": 64 + }, + { + "id": 339, + "displayName": "Purple Stained Glass", + "name": "purple_stained_glass", + "stackSize": 64 + }, + { + "id": 340, + "displayName": "Blue Stained Glass", + "name": "blue_stained_glass", + "stackSize": 64 + }, + { + "id": 341, + "displayName": "Brown Stained Glass", + "name": "brown_stained_glass", + "stackSize": 64 + }, + { + "id": 342, + "displayName": "Green Stained Glass", + "name": "green_stained_glass", + "stackSize": 64 + }, + { + "id": 343, + "displayName": "Red Stained Glass", + "name": "red_stained_glass", + "stackSize": 64 + }, + { + "id": 344, + "displayName": "Black Stained Glass", + "name": "black_stained_glass", + "stackSize": 64 + }, + { + "id": 345, + "displayName": "White Stained Glass Pane", + "name": "white_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 346, + "displayName": "Orange Stained Glass Pane", + "name": "orange_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 347, + "displayName": "Magenta Stained Glass Pane", + "name": "magenta_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 348, + "displayName": "Light Blue Stained Glass Pane", + "name": "light_blue_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 349, + "displayName": "Yellow Stained Glass Pane", + "name": "yellow_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 350, + "displayName": "Lime Stained Glass Pane", + "name": "lime_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 351, + "displayName": "Pink Stained Glass Pane", + "name": "pink_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 352, + "displayName": "Gray Stained Glass Pane", + "name": "gray_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 353, + "displayName": "Light Gray Stained Glass Pane", + "name": "light_gray_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 354, + "displayName": "Cyan Stained Glass Pane", + "name": "cyan_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 355, + "displayName": "Purple Stained Glass Pane", + "name": "purple_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 356, + "displayName": "Blue Stained Glass Pane", + "name": "blue_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 357, + "displayName": "Brown Stained Glass Pane", + "name": "brown_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 358, + "displayName": "Green Stained Glass Pane", + "name": "green_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 359, + "displayName": "Red Stained Glass Pane", + "name": "red_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 360, + "displayName": "Black Stained Glass Pane", + "name": "black_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 361, + "displayName": "Prismarine", + "name": "prismarine", + "stackSize": 64 + }, + { + "id": 362, + "displayName": "Prismarine Bricks", + "name": "prismarine_bricks", + "stackSize": 64 + }, + { + "id": 363, + "displayName": "Dark Prismarine", + "name": "dark_prismarine", + "stackSize": 64 + }, + { + "id": 364, + "displayName": "Prismarine Stairs", + "name": "prismarine_stairs", + "stackSize": 64 + }, + { + "id": 365, + "displayName": "Prismarine Brick Stairs", + "name": "prismarine_brick_stairs", + "stackSize": 64 + }, + { + "id": 366, + "displayName": "Dark Prismarine Stairs", + "name": "dark_prismarine_stairs", + "stackSize": 64 + }, + { + "id": 367, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "stackSize": 64 + }, + { + "id": 368, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "stackSize": 64 + }, + { + "id": 369, + "displayName": "Chiseled Red Sandstone", + "name": "chiseled_red_sandstone", + "stackSize": 64 + }, + { + "id": 370, + "displayName": "Cut Red Sandstone", + "name": "cut_red_sandstone", + "stackSize": 64 + }, + { + "id": 371, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 372, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "stackSize": 64 + }, + { + "id": 373, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "stackSize": 64 + }, + { + "id": 374, + "displayName": "Magma Block", + "name": "magma_block", + "stackSize": 64 + }, + { + "id": 375, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "stackSize": 64 + }, + { + "id": 376, + "displayName": "Red Nether Bricks", + "name": "red_nether_bricks", + "stackSize": 64 + }, + { + "id": 377, + "displayName": "Bone Block", + "name": "bone_block", + "stackSize": 64 + }, + { + "id": 378, + "displayName": "Structure Void", + "name": "structure_void", + "stackSize": 64 + }, + { + "id": 379, + "displayName": "Observer", + "name": "observer", + "stackSize": 64 + }, + { + "id": 380, + "displayName": "Shulker Box", + "name": "shulker_box", + "stackSize": 1 + }, + { + "id": 381, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "stackSize": 1 + }, + { + "id": 382, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "stackSize": 1 + }, + { + "id": 383, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "stackSize": 1 + }, + { + "id": 384, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "stackSize": 1 + }, + { + "id": 385, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "stackSize": 1 + }, + { + "id": 386, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "stackSize": 1 + }, + { + "id": 387, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "stackSize": 1 + }, + { + "id": 388, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "stackSize": 1 + }, + { + "id": 389, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "stackSize": 1 + }, + { + "id": 390, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "stackSize": 1 + }, + { + "id": 391, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "stackSize": 1 + }, + { + "id": 392, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "stackSize": 1 + }, + { + "id": 393, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "stackSize": 1 + }, + { + "id": 394, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "stackSize": 1 + }, + { + "id": 395, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "stackSize": 1 + }, + { + "id": 396, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "stackSize": 1 + }, + { + "id": 397, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 398, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 399, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 400, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 401, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 402, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 403, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 404, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 405, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 406, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 407, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 408, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 409, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 410, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 411, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 412, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 413, + "displayName": "White Concrete", + "name": "white_concrete", + "stackSize": 64 + }, + { + "id": 414, + "displayName": "Orange Concrete", + "name": "orange_concrete", + "stackSize": 64 + }, + { + "id": 415, + "displayName": "Magenta Concrete", + "name": "magenta_concrete", + "stackSize": 64 + }, + { + "id": 416, + "displayName": "Light Blue Concrete", + "name": "light_blue_concrete", + "stackSize": 64 + }, + { + "id": 417, + "displayName": "Yellow Concrete", + "name": "yellow_concrete", + "stackSize": 64 + }, + { + "id": 418, + "displayName": "Lime Concrete", + "name": "lime_concrete", + "stackSize": 64 + }, + { + "id": 419, + "displayName": "Pink Concrete", + "name": "pink_concrete", + "stackSize": 64 + }, + { + "id": 420, + "displayName": "Gray Concrete", + "name": "gray_concrete", + "stackSize": 64 + }, + { + "id": 421, + "displayName": "Light Gray Concrete", + "name": "light_gray_concrete", + "stackSize": 64 + }, + { + "id": 422, + "displayName": "Cyan Concrete", + "name": "cyan_concrete", + "stackSize": 64 + }, + { + "id": 423, + "displayName": "Purple Concrete", + "name": "purple_concrete", + "stackSize": 64 + }, + { + "id": 424, + "displayName": "Blue Concrete", + "name": "blue_concrete", + "stackSize": 64 + }, + { + "id": 425, + "displayName": "Brown Concrete", + "name": "brown_concrete", + "stackSize": 64 + }, + { + "id": 426, + "displayName": "Green Concrete", + "name": "green_concrete", + "stackSize": 64 + }, + { + "id": 427, + "displayName": "Red Concrete", + "name": "red_concrete", + "stackSize": 64 + }, + { + "id": 428, + "displayName": "Black Concrete", + "name": "black_concrete", + "stackSize": 64 + }, + { + "id": 429, + "displayName": "White Concrete Powder", + "name": "white_concrete_powder", + "stackSize": 64 + }, + { + "id": 430, + "displayName": "Orange Concrete Powder", + "name": "orange_concrete_powder", + "stackSize": 64 + }, + { + "id": 431, + "displayName": "Magenta Concrete Powder", + "name": "magenta_concrete_powder", + "stackSize": 64 + }, + { + "id": 432, + "displayName": "Light Blue Concrete Powder", + "name": "light_blue_concrete_powder", + "stackSize": 64 + }, + { + "id": 433, + "displayName": "Yellow Concrete Powder", + "name": "yellow_concrete_powder", + "stackSize": 64 + }, + { + "id": 434, + "displayName": "Lime Concrete Powder", + "name": "lime_concrete_powder", + "stackSize": 64 + }, + { + "id": 435, + "displayName": "Pink Concrete Powder", + "name": "pink_concrete_powder", + "stackSize": 64 + }, + { + "id": 436, + "displayName": "Gray Concrete Powder", + "name": "gray_concrete_powder", + "stackSize": 64 + }, + { + "id": 437, + "displayName": "Light Gray Concrete Powder", + "name": "light_gray_concrete_powder", + "stackSize": 64 + }, + { + "id": 438, + "displayName": "Cyan Concrete Powder", + "name": "cyan_concrete_powder", + "stackSize": 64 + }, + { + "id": 439, + "displayName": "Purple Concrete Powder", + "name": "purple_concrete_powder", + "stackSize": 64 + }, + { + "id": 440, + "displayName": "Blue Concrete Powder", + "name": "blue_concrete_powder", + "stackSize": 64 + }, + { + "id": 441, + "displayName": "Brown Concrete Powder", + "name": "brown_concrete_powder", + "stackSize": 64 + }, + { + "id": 442, + "displayName": "Green Concrete Powder", + "name": "green_concrete_powder", + "stackSize": 64 + }, + { + "id": 443, + "displayName": "Red Concrete Powder", + "name": "red_concrete_powder", + "stackSize": 64 + }, + { + "id": 444, + "displayName": "Black Concrete Powder", + "name": "black_concrete_powder", + "stackSize": 64 + }, + { + "id": 445, + "displayName": "Turtle Egg", + "name": "turtle_egg", + "stackSize": 64 + }, + { + "id": 446, + "displayName": "Dead Tube Coral Block", + "name": "dead_tube_coral_block", + "stackSize": 64 + }, + { + "id": 447, + "displayName": "Dead Brain Coral Block", + "name": "dead_brain_coral_block", + "stackSize": 64 + }, + { + "id": 448, + "displayName": "Dead Bubble Coral Block", + "name": "dead_bubble_coral_block", + "stackSize": 64 + }, + { + "id": 449, + "displayName": "Dead Fire Coral Block", + "name": "dead_fire_coral_block", + "stackSize": 64 + }, + { + "id": 450, + "displayName": "Dead Horn Coral Block", + "name": "dead_horn_coral_block", + "stackSize": 64 + }, + { + "id": 451, + "displayName": "Tube Coral Block", + "name": "tube_coral_block", + "stackSize": 64 + }, + { + "id": 452, + "displayName": "Brain Coral Block", + "name": "brain_coral_block", + "stackSize": 64 + }, + { + "id": 453, + "displayName": "Bubble Coral Block", + "name": "bubble_coral_block", + "stackSize": 64 + }, + { + "id": 454, + "displayName": "Fire Coral Block", + "name": "fire_coral_block", + "stackSize": 64 + }, + { + "id": 455, + "displayName": "Horn Coral Block", + "name": "horn_coral_block", + "stackSize": 64 + }, + { + "id": 456, + "displayName": "Tube Coral", + "name": "tube_coral", + "stackSize": 64 + }, + { + "id": 457, + "displayName": "Brain Coral", + "name": "brain_coral", + "stackSize": 64 + }, + { + "id": 458, + "displayName": "Bubble Coral", + "name": "bubble_coral", + "stackSize": 64 + }, + { + "id": 459, + "displayName": "Fire Coral", + "name": "fire_coral", + "stackSize": 64 + }, + { + "id": 460, + "displayName": "Horn Coral", + "name": "horn_coral", + "stackSize": 64 + }, + { + "id": 461, + "displayName": "Dead Brain Coral", + "name": "dead_brain_coral", + "stackSize": 64 + }, + { + "id": 462, + "displayName": "Dead Bubble Coral", + "name": "dead_bubble_coral", + "stackSize": 64 + }, + { + "id": 463, + "displayName": "Dead Fire Coral", + "name": "dead_fire_coral", + "stackSize": 64 + }, + { + "id": 464, + "displayName": "Dead Horn Coral", + "name": "dead_horn_coral", + "stackSize": 64 + }, + { + "id": 465, + "displayName": "Dead Tube Coral", + "name": "dead_tube_coral", + "stackSize": 64 + }, + { + "id": 466, + "displayName": "Tube Coral Fan", + "name": "tube_coral_fan", + "stackSize": 64 + }, + { + "id": 467, + "displayName": "Brain Coral Fan", + "name": "brain_coral_fan", + "stackSize": 64 + }, + { + "id": 468, + "displayName": "Bubble Coral Fan", + "name": "bubble_coral_fan", + "stackSize": 64 + }, + { + "id": 469, + "displayName": "Fire Coral Fan", + "name": "fire_coral_fan", + "stackSize": 64 + }, + { + "id": 470, + "displayName": "Horn Coral Fan", + "name": "horn_coral_fan", + "stackSize": 64 + }, + { + "id": 471, + "displayName": "Dead Tube Coral Fan", + "name": "dead_tube_coral_fan", + "stackSize": 64 + }, + { + "id": 472, + "displayName": "Dead Brain Coral Fan", + "name": "dead_brain_coral_fan", + "stackSize": 64 + }, + { + "id": 473, + "displayName": "Dead Bubble Coral Fan", + "name": "dead_bubble_coral_fan", + "stackSize": 64 + }, + { + "id": 474, + "displayName": "Dead Fire Coral Fan", + "name": "dead_fire_coral_fan", + "stackSize": 64 + }, + { + "id": 475, + "displayName": "Dead Horn Coral Fan", + "name": "dead_horn_coral_fan", + "stackSize": 64 + }, + { + "id": 476, + "displayName": "Blue Ice", + "name": "blue_ice", + "stackSize": 64 + }, + { + "id": 477, + "displayName": "Conduit", + "name": "conduit", + "stackSize": 64 + }, + { + "id": 478, + "displayName": "Polished Granite Stairs", + "name": "polished_granite_stairs", + "stackSize": 64 + }, + { + "id": 479, + "displayName": "Smooth Red Sandstone Stairs", + "name": "smooth_red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 480, + "displayName": "Mossy Stone Brick Stairs", + "name": "mossy_stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 481, + "displayName": "Polished Diorite Stairs", + "name": "polished_diorite_stairs", + "stackSize": 64 + }, + { + "id": 482, + "displayName": "Mossy Cobblestone Stairs", + "name": "mossy_cobblestone_stairs", + "stackSize": 64 + }, + { + "id": 483, + "displayName": "End Stone Brick Stairs", + "name": "end_stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 484, + "displayName": "Stone Stairs", + "name": "stone_stairs", + "stackSize": 64 + }, + { + "id": 485, + "displayName": "Smooth Sandstone Stairs", + "name": "smooth_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 486, + "displayName": "Smooth Quartz Stairs", + "name": "smooth_quartz_stairs", + "stackSize": 64 + }, + { + "id": 487, + "displayName": "Granite Stairs", + "name": "granite_stairs", + "stackSize": 64 + }, + { + "id": 488, + "displayName": "Andesite Stairs", + "name": "andesite_stairs", + "stackSize": 64 + }, + { + "id": 489, + "displayName": "Red Nether Brick Stairs", + "name": "red_nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 490, + "displayName": "Polished Andesite Stairs", + "name": "polished_andesite_stairs", + "stackSize": 64 + }, + { + "id": 491, + "displayName": "Diorite Stairs", + "name": "diorite_stairs", + "stackSize": 64 + }, + { + "id": 492, + "displayName": "Polished Granite Slab", + "name": "polished_granite_slab", + "stackSize": 64 + }, + { + "id": 493, + "displayName": "Smooth Red Sandstone Slab", + "name": "smooth_red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 494, + "displayName": "Mossy Stone Brick Slab", + "name": "mossy_stone_brick_slab", + "stackSize": 64 + }, + { + "id": 495, + "displayName": "Polished Diorite Slab", + "name": "polished_diorite_slab", + "stackSize": 64 + }, + { + "id": 496, + "displayName": "Mossy Cobblestone Slab", + "name": "mossy_cobblestone_slab", + "stackSize": 64 + }, + { + "id": 497, + "displayName": "End Stone Brick Slab", + "name": "end_stone_brick_slab", + "stackSize": 64 + }, + { + "id": 498, + "displayName": "Smooth Sandstone Slab", + "name": "smooth_sandstone_slab", + "stackSize": 64 + }, + { + "id": 499, + "displayName": "Smooth Quartz Slab", + "name": "smooth_quartz_slab", + "stackSize": 64 + }, + { + "id": 500, + "displayName": "Granite Slab", + "name": "granite_slab", + "stackSize": 64 + }, + { + "id": 501, + "displayName": "Andesite Slab", + "name": "andesite_slab", + "stackSize": 64 + }, + { + "id": 502, + "displayName": "Red Nether Brick Slab", + "name": "red_nether_brick_slab", + "stackSize": 64 + }, + { + "id": 503, + "displayName": "Polished Andesite Slab", + "name": "polished_andesite_slab", + "stackSize": 64 + }, + { + "id": 504, + "displayName": "Diorite Slab", + "name": "diorite_slab", + "stackSize": 64 + }, + { + "id": 505, + "displayName": "Scaffolding", + "name": "scaffolding", + "stackSize": 64 + }, + { + "id": 506, + "displayName": "Iron Door", + "name": "iron_door", + "stackSize": 64 + }, + { + "id": 507, + "displayName": "Oak Door", + "name": "oak_door", + "stackSize": 64 + }, + { + "id": 508, + "displayName": "Spruce Door", + "name": "spruce_door", + "stackSize": 64 + }, + { + "id": 509, + "displayName": "Birch Door", + "name": "birch_door", + "stackSize": 64 + }, + { + "id": 510, + "displayName": "Jungle Door", + "name": "jungle_door", + "stackSize": 64 + }, + { + "id": 511, + "displayName": "Acacia Door", + "name": "acacia_door", + "stackSize": 64 + }, + { + "id": 512, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "stackSize": 64 + }, + { + "id": 513, + "displayName": "Redstone Repeater", + "name": "repeater", + "stackSize": 64 + }, + { + "id": 514, + "displayName": "Redstone Comparator", + "name": "comparator", + "stackSize": 64 + }, + { + "id": 515, + "displayName": "Structure Block", + "name": "structure_block", + "stackSize": 64 + }, + { + "id": 516, + "displayName": "Jigsaw Block", + "name": "jigsaw", + "stackSize": 64 + }, + { + "id": 517, + "displayName": "Composter", + "name": "composter", + "stackSize": 64 + }, + { + "id": 518, + "displayName": "Turtle Shell", + "name": "turtle_helmet", + "stackSize": 1 + }, + { + "id": 519, + "displayName": "Scute", + "name": "scute", + "stackSize": 64 + }, + { + "id": 520, + "displayName": "Iron Shovel", + "name": "iron_shovel", + "stackSize": 1 + }, + { + "id": 521, + "displayName": "Iron Pickaxe", + "name": "iron_pickaxe", + "stackSize": 1 + }, + { + "id": 522, + "displayName": "Iron Axe", + "name": "iron_axe", + "stackSize": 1 + }, + { + "id": 523, + "displayName": "Flint and Steel", + "name": "flint_and_steel", + "stackSize": 1 + }, + { + "id": 524, + "displayName": "Apple", + "name": "apple", + "stackSize": 64 + }, + { + "id": 525, + "displayName": "Bow", + "name": "bow", + "stackSize": 1 + }, + { + "id": 526, + "displayName": "Arrow", + "name": "arrow", + "stackSize": 64 + }, + { + "id": 527, + "displayName": "Coal", + "name": "coal", + "stackSize": 64 + }, + { + "id": 528, + "displayName": "Charcoal", + "name": "charcoal", + "stackSize": 64 + }, + { + "id": 529, + "displayName": "Diamond", + "name": "diamond", + "stackSize": 64 + }, + { + "id": 530, + "displayName": "Iron Ingot", + "name": "iron_ingot", + "stackSize": 64 + }, + { + "id": 531, + "displayName": "Gold Ingot", + "name": "gold_ingot", + "stackSize": 64 + }, + { + "id": 532, + "displayName": "Iron Sword", + "name": "iron_sword", + "stackSize": 1 + }, + { + "id": 533, + "displayName": "Wooden Sword", + "name": "wooden_sword", + "stackSize": 1 + }, + { + "id": 534, + "displayName": "Wooden Shovel", + "name": "wooden_shovel", + "stackSize": 1 + }, + { + "id": 535, + "displayName": "Wooden Pickaxe", + "name": "wooden_pickaxe", + "stackSize": 1 + }, + { + "id": 536, + "displayName": "Wooden Axe", + "name": "wooden_axe", + "stackSize": 1 + }, + { + "id": 537, + "displayName": "Stone Sword", + "name": "stone_sword", + "stackSize": 1 + }, + { + "id": 538, + "displayName": "Stone Shovel", + "name": "stone_shovel", + "stackSize": 1 + }, + { + "id": 539, + "displayName": "Stone Pickaxe", + "name": "stone_pickaxe", + "stackSize": 1 + }, + { + "id": 540, + "displayName": "Stone Axe", + "name": "stone_axe", + "stackSize": 1 + }, + { + "id": 541, + "displayName": "Diamond Sword", + "name": "diamond_sword", + "stackSize": 1 + }, + { + "id": 542, + "displayName": "Diamond Shovel", + "name": "diamond_shovel", + "stackSize": 1 + }, + { + "id": 543, + "displayName": "Diamond Pickaxe", + "name": "diamond_pickaxe", + "stackSize": 1 + }, + { + "id": 544, + "displayName": "Diamond Axe", + "name": "diamond_axe", + "stackSize": 1 + }, + { + "id": 545, + "displayName": "Stick", + "name": "stick", + "stackSize": 64 + }, + { + "id": 546, + "displayName": "Bowl", + "name": "bowl", + "stackSize": 64 + }, + { + "id": 547, + "displayName": "Mushroom Stew", + "name": "mushroom_stew", + "stackSize": 1 + }, + { + "id": 548, + "displayName": "Golden Sword", + "name": "golden_sword", + "stackSize": 1 + }, + { + "id": 549, + "displayName": "Golden Shovel", + "name": "golden_shovel", + "stackSize": 1 + }, + { + "id": 550, + "displayName": "Golden Pickaxe", + "name": "golden_pickaxe", + "stackSize": 1 + }, + { + "id": 551, + "displayName": "Golden Axe", + "name": "golden_axe", + "stackSize": 1 + }, + { + "id": 552, + "displayName": "String", + "name": "string", + "stackSize": 64 + }, + { + "id": 553, + "displayName": "Feather", + "name": "feather", + "stackSize": 64 + }, + { + "id": 554, + "displayName": "Gunpowder", + "name": "gunpowder", + "stackSize": 64 + }, + { + "id": 555, + "displayName": "Wooden Hoe", + "name": "wooden_hoe", + "stackSize": 1 + }, + { + "id": 556, + "displayName": "Stone Hoe", + "name": "stone_hoe", + "stackSize": 1 + }, + { + "id": 557, + "displayName": "Iron Hoe", + "name": "iron_hoe", + "stackSize": 1 + }, + { + "id": 558, + "displayName": "Diamond Hoe", + "name": "diamond_hoe", + "stackSize": 1 + }, + { + "id": 559, + "displayName": "Golden Hoe", + "name": "golden_hoe", + "stackSize": 1 + }, + { + "id": 560, + "displayName": "Wheat Seeds", + "name": "wheat_seeds", + "stackSize": 64 + }, + { + "id": 561, + "displayName": "Wheat", + "name": "wheat", + "stackSize": 64 + }, + { + "id": 562, + "displayName": "Bread", + "name": "bread", + "stackSize": 64 + }, + { + "id": 563, + "displayName": "Leather Cap", + "name": "leather_helmet", + "stackSize": 1 + }, + { + "id": 564, + "displayName": "Leather Tunic", + "name": "leather_chestplate", + "stackSize": 1 + }, + { + "id": 565, + "displayName": "Leather Pants", + "name": "leather_leggings", + "stackSize": 1 + }, + { + "id": 566, + "displayName": "Leather Boots", + "name": "leather_boots", + "stackSize": 1 + }, + { + "id": 567, + "displayName": "Chainmail Helmet", + "name": "chainmail_helmet", + "stackSize": 1 + }, + { + "id": 568, + "displayName": "Chainmail Chestplate", + "name": "chainmail_chestplate", + "stackSize": 1 + }, + { + "id": 569, + "displayName": "Chainmail Leggings", + "name": "chainmail_leggings", + "stackSize": 1 + }, + { + "id": 570, + "displayName": "Chainmail Boots", + "name": "chainmail_boots", + "stackSize": 1 + }, + { + "id": 571, + "displayName": "Iron Helmet", + "name": "iron_helmet", + "stackSize": 1 + }, + { + "id": 572, + "displayName": "Iron Chestplate", + "name": "iron_chestplate", + "stackSize": 1 + }, + { + "id": 573, + "displayName": "Iron Leggings", + "name": "iron_leggings", + "stackSize": 1 + }, + { + "id": 574, + "displayName": "Iron Boots", + "name": "iron_boots", + "stackSize": 1 + }, + { + "id": 575, + "displayName": "Diamond Helmet", + "name": "diamond_helmet", + "stackSize": 1 + }, + { + "id": 576, + "displayName": "Diamond Chestplate", + "name": "diamond_chestplate", + "stackSize": 1 + }, + { + "id": 577, + "displayName": "Diamond Leggings", + "name": "diamond_leggings", + "stackSize": 1 + }, + { + "id": 578, + "displayName": "Diamond Boots", + "name": "diamond_boots", + "stackSize": 1 + }, + { + "id": 579, + "displayName": "Golden Helmet", + "name": "golden_helmet", + "stackSize": 1 + }, + { + "id": 580, + "displayName": "Golden Chestplate", + "name": "golden_chestplate", + "stackSize": 1 + }, + { + "id": 581, + "displayName": "Golden Leggings", + "name": "golden_leggings", + "stackSize": 1 + }, + { + "id": 582, + "displayName": "Golden Boots", + "name": "golden_boots", + "stackSize": 1 + }, + { + "id": 583, + "displayName": "Flint", + "name": "flint", + "stackSize": 64 + }, + { + "id": 584, + "displayName": "Raw Porkchop", + "name": "porkchop", + "stackSize": 64 + }, + { + "id": 585, + "displayName": "Cooked Porkchop", + "name": "cooked_porkchop", + "stackSize": 64 + }, + { + "id": 586, + "displayName": "Painting", + "name": "painting", + "stackSize": 64 + }, + { + "id": 587, + "displayName": "Golden Apple", + "name": "golden_apple", + "stackSize": 64 + }, + { + "id": 588, + "displayName": "Enchanted Golden Apple", + "name": "enchanted_golden_apple", + "stackSize": 64 + }, + { + "id": 589, + "displayName": "Oak Sign", + "name": "oak_sign", + "stackSize": 16 + }, + { + "id": 590, + "displayName": "Spruce Sign", + "name": "spruce_sign", + "stackSize": 16 + }, + { + "id": 591, + "displayName": "Birch Sign", + "name": "birch_sign", + "stackSize": 16 + }, + { + "id": 592, + "displayName": "Jungle Sign", + "name": "jungle_sign", + "stackSize": 16 + }, + { + "id": 593, + "displayName": "Acacia Sign", + "name": "acacia_sign", + "stackSize": 16 + }, + { + "id": 594, + "displayName": "Dark Oak Sign", + "name": "dark_oak_sign", + "stackSize": 16 + }, + { + "id": 595, + "displayName": "Bucket", + "name": "bucket", + "stackSize": 16 + }, + { + "id": 596, + "displayName": "Water Bucket", + "name": "water_bucket", + "stackSize": 1 + }, + { + "id": 597, + "displayName": "Lava Bucket", + "name": "lava_bucket", + "stackSize": 1 + }, + { + "id": 598, + "displayName": "Minecart", + "name": "minecart", + "stackSize": 1 + }, + { + "id": 599, + "displayName": "Saddle", + "name": "saddle", + "stackSize": 1 + }, + { + "id": 600, + "displayName": "Redstone Dust", + "name": "redstone", + "stackSize": 64 + }, + { + "id": 601, + "displayName": "Snowball", + "name": "snowball", + "stackSize": 16 + }, + { + "id": 602, + "displayName": "Oak Boat", + "name": "oak_boat", + "stackSize": 1 + }, + { + "id": 603, + "displayName": "Leather", + "name": "leather", + "stackSize": 64 + }, + { + "id": 604, + "displayName": "Milk Bucket", + "name": "milk_bucket", + "stackSize": 1 + }, + { + "id": 605, + "displayName": "Bucket of Pufferfish", + "name": "pufferfish_bucket", + "stackSize": 1 + }, + { + "id": 606, + "displayName": "Bucket of Salmon", + "name": "salmon_bucket", + "stackSize": 1 + }, + { + "id": 607, + "displayName": "Bucket of Cod", + "name": "cod_bucket", + "stackSize": 1 + }, + { + "id": 608, + "displayName": "Bucket of Tropical Fish", + "name": "tropical_fish_bucket", + "stackSize": 1 + }, + { + "id": 609, + "displayName": "Brick", + "name": "brick", + "stackSize": 64 + }, + { + "id": 610, + "displayName": "Clay", + "name": "clay_ball", + "stackSize": 64 + }, + { + "id": 611, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "stackSize": 64 + }, + { + "id": 612, + "displayName": "Kelp", + "name": "kelp", + "stackSize": 64 + }, + { + "id": 613, + "displayName": "Dried Kelp Block", + "name": "dried_kelp_block", + "stackSize": 64 + }, + { + "id": 614, + "displayName": "Bamboo", + "name": "bamboo", + "stackSize": 64 + }, + { + "id": 615, + "displayName": "Paper", + "name": "paper", + "stackSize": 64 + }, + { + "id": 616, + "displayName": "Book", + "name": "book", + "stackSize": 64 + }, + { + "id": 617, + "displayName": "Slimeball", + "name": "slime_ball", + "stackSize": 64 + }, + { + "id": 618, + "displayName": "Minecart with Chest", + "name": "chest_minecart", + "stackSize": 1 + }, + { + "id": 619, + "displayName": "Minecart with Furnace", + "name": "furnace_minecart", + "stackSize": 1 + }, + { + "id": 620, + "displayName": "Egg", + "name": "egg", + "stackSize": 16 + }, + { + "id": 621, + "displayName": "Compass", + "name": "compass", + "stackSize": 64 + }, + { + "id": 622, + "displayName": "Fishing Rod", + "name": "fishing_rod", + "stackSize": 1 + }, + { + "id": 623, + "displayName": "Clock", + "name": "clock", + "stackSize": 64 + }, + { + "id": 624, + "displayName": "Glowstone Dust", + "name": "glowstone_dust", + "stackSize": 64 + }, + { + "id": 625, + "displayName": "Raw Cod", + "name": "cod", + "stackSize": 64 + }, + { + "id": 626, + "displayName": "Raw Salmon", + "name": "salmon", + "stackSize": 64 + }, + { + "id": 627, + "displayName": "Tropical Fish", + "name": "tropical_fish", + "stackSize": 64 + }, + { + "id": 628, + "displayName": "Pufferfish", + "name": "pufferfish", + "stackSize": 64 + }, + { + "id": 629, + "displayName": "Cooked Cod", + "name": "cooked_cod", + "stackSize": 64 + }, + { + "id": 630, + "displayName": "Cooked Salmon", + "name": "cooked_salmon", + "stackSize": 64 + }, + { + "id": 631, + "displayName": "Ink Sac", + "name": "ink_sac", + "stackSize": 64 + }, + { + "id": 632, + "displayName": "Red Dye", + "name": "red_dye", + "stackSize": 64 + }, + { + "id": 633, + "displayName": "Green Dye", + "name": "green_dye", + "stackSize": 64 + }, + { + "id": 634, + "displayName": "Cocoa Beans", + "name": "cocoa_beans", + "stackSize": 64 + }, + { + "id": 635, + "displayName": "Lapis Lazuli", + "name": "lapis_lazuli", + "stackSize": 64 + }, + { + "id": 636, + "displayName": "Purple Dye", + "name": "purple_dye", + "stackSize": 64 + }, + { + "id": 637, + "displayName": "Cyan Dye", + "name": "cyan_dye", + "stackSize": 64 + }, + { + "id": 638, + "displayName": "Light Gray Dye", + "name": "light_gray_dye", + "stackSize": 64 + }, + { + "id": 639, + "displayName": "Gray Dye", + "name": "gray_dye", + "stackSize": 64 + }, + { + "id": 640, + "displayName": "Pink Dye", + "name": "pink_dye", + "stackSize": 64 + }, + { + "id": 641, + "displayName": "Lime Dye", + "name": "lime_dye", + "stackSize": 64 + }, + { + "id": 642, + "displayName": "Yellow Dye", + "name": "yellow_dye", + "stackSize": 64 + }, + { + "id": 643, + "displayName": "Light Blue Dye", + "name": "light_blue_dye", + "stackSize": 64 + }, + { + "id": 644, + "displayName": "Magenta Dye", + "name": "magenta_dye", + "stackSize": 64 + }, + { + "id": 645, + "displayName": "Orange Dye", + "name": "orange_dye", + "stackSize": 64 + }, + { + "id": 646, + "displayName": "Bone Meal", + "name": "bone_meal", + "stackSize": 64 + }, + { + "id": 647, + "displayName": "Blue Dye", + "name": "blue_dye", + "stackSize": 64 + }, + { + "id": 648, + "displayName": "Brown Dye", + "name": "brown_dye", + "stackSize": 64 + }, + { + "id": 649, + "displayName": "Black Dye", + "name": "black_dye", + "stackSize": 64 + }, + { + "id": 650, + "displayName": "White Dye", + "name": "white_dye", + "stackSize": 64 + }, + { + "id": 651, + "displayName": "Bone", + "name": "bone", + "stackSize": 64 + }, + { + "id": 652, + "displayName": "Sugar", + "name": "sugar", + "stackSize": 64 + }, + { + "id": 653, + "displayName": "Cake", + "name": "cake", + "stackSize": 1 + }, + { + "id": 654, + "displayName": "White Bed", + "name": "white_bed", + "stackSize": 1 + }, + { + "id": 655, + "displayName": "Orange Bed", + "name": "orange_bed", + "stackSize": 1 + }, + { + "id": 656, + "displayName": "Magenta Bed", + "name": "magenta_bed", + "stackSize": 1 + }, + { + "id": 657, + "displayName": "Light Blue Bed", + "name": "light_blue_bed", + "stackSize": 1 + }, + { + "id": 658, + "displayName": "Yellow Bed", + "name": "yellow_bed", + "stackSize": 1 + }, + { + "id": 659, + "displayName": "Lime Bed", + "name": "lime_bed", + "stackSize": 1 + }, + { + "id": 660, + "displayName": "Pink Bed", + "name": "pink_bed", + "stackSize": 1 + }, + { + "id": 661, + "displayName": "Gray Bed", + "name": "gray_bed", + "stackSize": 1 + }, + { + "id": 662, + "displayName": "Light Gray Bed", + "name": "light_gray_bed", + "stackSize": 1 + }, + { + "id": 663, + "displayName": "Cyan Bed", + "name": "cyan_bed", + "stackSize": 1 + }, + { + "id": 664, + "displayName": "Purple Bed", + "name": "purple_bed", + "stackSize": 1 + }, + { + "id": 665, + "displayName": "Blue Bed", + "name": "blue_bed", + "stackSize": 1 + }, + { + "id": 666, + "displayName": "Brown Bed", + "name": "brown_bed", + "stackSize": 1 + }, + { + "id": 667, + "displayName": "Green Bed", + "name": "green_bed", + "stackSize": 1 + }, + { + "id": 668, + "displayName": "Red Bed", + "name": "red_bed", + "stackSize": 1 + }, + { + "id": 669, + "displayName": "Black Bed", + "name": "black_bed", + "stackSize": 1 + }, + { + "id": 670, + "displayName": "Cookie", + "name": "cookie", + "stackSize": 64 + }, + { + "id": 671, + "displayName": "Map", + "name": "filled_map", + "stackSize": 64 + }, + { + "id": 672, + "displayName": "Shears", + "name": "shears", + "stackSize": 1 + }, + { + "id": 673, + "displayName": "Melon Slice", + "name": "melon_slice", + "stackSize": 64 + }, + { + "id": 674, + "displayName": "Dried Kelp", + "name": "dried_kelp", + "stackSize": 64 + }, + { + "id": 675, + "displayName": "Pumpkin Seeds", + "name": "pumpkin_seeds", + "stackSize": 64 + }, + { + "id": 676, + "displayName": "Melon Seeds", + "name": "melon_seeds", + "stackSize": 64 + }, + { + "id": 677, + "displayName": "Raw Beef", + "name": "beef", + "stackSize": 64 + }, + { + "id": 678, + "displayName": "Steak", + "name": "cooked_beef", + "stackSize": 64 + }, + { + "id": 679, + "displayName": "Raw Chicken", + "name": "chicken", + "stackSize": 64 + }, + { + "id": 680, + "displayName": "Cooked Chicken", + "name": "cooked_chicken", + "stackSize": 64 + }, + { + "id": 681, + "displayName": "Rotten Flesh", + "name": "rotten_flesh", + "stackSize": 64 + }, + { + "id": 682, + "displayName": "Ender Pearl", + "name": "ender_pearl", + "stackSize": 16 + }, + { + "id": 683, + "displayName": "Blaze Rod", + "name": "blaze_rod", + "stackSize": 64 + }, + { + "id": 684, + "displayName": "Ghast Tear", + "name": "ghast_tear", + "stackSize": 64 + }, + { + "id": 685, + "displayName": "Gold Nugget", + "name": "gold_nugget", + "stackSize": 64 + }, + { + "id": 686, + "displayName": "Nether Wart", + "name": "nether_wart", + "stackSize": 64 + }, + { + "id": 687, + "displayName": "Potion", + "name": "potion", + "stackSize": 1 + }, + { + "id": 688, + "displayName": "Glass Bottle", + "name": "glass_bottle", + "stackSize": 64 + }, + { + "id": 689, + "displayName": "Spider Eye", + "name": "spider_eye", + "stackSize": 64 + }, + { + "id": 690, + "displayName": "Fermented Spider Eye", + "name": "fermented_spider_eye", + "stackSize": 64 + }, + { + "id": 691, + "displayName": "Blaze Powder", + "name": "blaze_powder", + "stackSize": 64 + }, + { + "id": 692, + "displayName": "Magma Cream", + "name": "magma_cream", + "stackSize": 64 + }, + { + "id": 693, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "stackSize": 64 + }, + { + "id": 694, + "displayName": "Cauldron", + "name": "cauldron", + "stackSize": 64 + }, + { + "id": 695, + "displayName": "Eye of Ender", + "name": "ender_eye", + "stackSize": 64 + }, + { + "id": 696, + "displayName": "Glistering Melon Slice", + "name": "glistering_melon_slice", + "stackSize": 64 + }, + { + "id": 697, + "displayName": "Bat Spawn Egg", + "name": "bat_spawn_egg", + "stackSize": 64 + }, + { + "id": 698, + "displayName": "Blaze Spawn Egg", + "name": "blaze_spawn_egg", + "stackSize": 64 + }, + { + "id": 699, + "displayName": "Cat Spawn Egg", + "name": "cat_spawn_egg", + "stackSize": 64 + }, + { + "id": 700, + "displayName": "Cave Spider Spawn Egg", + "name": "cave_spider_spawn_egg", + "stackSize": 64 + }, + { + "id": 701, + "displayName": "Chicken Spawn Egg", + "name": "chicken_spawn_egg", + "stackSize": 64 + }, + { + "id": 702, + "displayName": "Cod Spawn Egg", + "name": "cod_spawn_egg", + "stackSize": 64 + }, + { + "id": 703, + "displayName": "Cow Spawn Egg", + "name": "cow_spawn_egg", + "stackSize": 64 + }, + { + "id": 704, + "displayName": "Creeper Spawn Egg", + "name": "creeper_spawn_egg", + "stackSize": 64 + }, + { + "id": 705, + "displayName": "Dolphin Spawn Egg", + "name": "dolphin_spawn_egg", + "stackSize": 64 + }, + { + "id": 706, + "displayName": "Donkey Spawn Egg", + "name": "donkey_spawn_egg", + "stackSize": 64 + }, + { + "id": 707, + "displayName": "Drowned Spawn Egg", + "name": "drowned_spawn_egg", + "stackSize": 64 + }, + { + "id": 708, + "displayName": "Elder Guardian Spawn Egg", + "name": "elder_guardian_spawn_egg", + "stackSize": 64 + }, + { + "id": 709, + "displayName": "Enderman Spawn Egg", + "name": "enderman_spawn_egg", + "stackSize": 64 + }, + { + "id": 710, + "displayName": "Endermite Spawn Egg", + "name": "endermite_spawn_egg", + "stackSize": 64 + }, + { + "id": 711, + "displayName": "Evoker Spawn Egg", + "name": "evoker_spawn_egg", + "stackSize": 64 + }, + { + "id": 712, + "displayName": "Fox Spawn Egg", + "name": "fox_spawn_egg", + "stackSize": 64 + }, + { + "id": 713, + "displayName": "Ghast Spawn Egg", + "name": "ghast_spawn_egg", + "stackSize": 64 + }, + { + "id": 714, + "displayName": "Guardian Spawn Egg", + "name": "guardian_spawn_egg", + "stackSize": 64 + }, + { + "id": 715, + "displayName": "Horse Spawn Egg", + "name": "horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 716, + "displayName": "Husk Spawn Egg", + "name": "husk_spawn_egg", + "stackSize": 64 + }, + { + "id": 717, + "displayName": "Llama Spawn Egg", + "name": "llama_spawn_egg", + "stackSize": 64 + }, + { + "id": 718, + "displayName": "Magma Cube Spawn Egg", + "name": "magma_cube_spawn_egg", + "stackSize": 64 + }, + { + "id": 719, + "displayName": "Mooshroom Spawn Egg", + "name": "mooshroom_spawn_egg", + "stackSize": 64 + }, + { + "id": 720, + "displayName": "Mule Spawn Egg", + "name": "mule_spawn_egg", + "stackSize": 64 + }, + { + "id": 721, + "displayName": "Ocelot Spawn Egg", + "name": "ocelot_spawn_egg", + "stackSize": 64 + }, + { + "id": 722, + "displayName": "Panda Spawn Egg", + "name": "panda_spawn_egg", + "stackSize": 64 + }, + { + "id": 723, + "displayName": "Parrot Spawn Egg", + "name": "parrot_spawn_egg", + "stackSize": 64 + }, + { + "id": 724, + "displayName": "Phantom Spawn Egg", + "name": "phantom_spawn_egg", + "stackSize": 64 + }, + { + "id": 725, + "displayName": "Pig Spawn Egg", + "name": "pig_spawn_egg", + "stackSize": 64 + }, + { + "id": 726, + "displayName": "Pillager Spawn Egg", + "name": "pillager_spawn_egg", + "stackSize": 64 + }, + { + "id": 727, + "displayName": "Polar Bear Spawn Egg", + "name": "polar_bear_spawn_egg", + "stackSize": 64 + }, + { + "id": 728, + "displayName": "Pufferfish Spawn Egg", + "name": "pufferfish_spawn_egg", + "stackSize": 64 + }, + { + "id": 729, + "displayName": "Rabbit Spawn Egg", + "name": "rabbit_spawn_egg", + "stackSize": 64 + }, + { + "id": 730, + "displayName": "Ravager Spawn Egg", + "name": "ravager_spawn_egg", + "stackSize": 64 + }, + { + "id": 731, + "displayName": "Salmon Spawn Egg", + "name": "salmon_spawn_egg", + "stackSize": 64 + }, + { + "id": 732, + "displayName": "Sheep Spawn Egg", + "name": "sheep_spawn_egg", + "stackSize": 64 + }, + { + "id": 733, + "displayName": "Shulker Spawn Egg", + "name": "shulker_spawn_egg", + "stackSize": 64 + }, + { + "id": 734, + "displayName": "Silverfish Spawn Egg", + "name": "silverfish_spawn_egg", + "stackSize": 64 + }, + { + "id": 735, + "displayName": "Skeleton Spawn Egg", + "name": "skeleton_spawn_egg", + "stackSize": 64 + }, + { + "id": 736, + "displayName": "Skeleton Horse Spawn Egg", + "name": "skeleton_horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 737, + "displayName": "Slime Spawn Egg", + "name": "slime_spawn_egg", + "stackSize": 64 + }, + { + "id": 738, + "displayName": "Spider Spawn Egg", + "name": "spider_spawn_egg", + "stackSize": 64 + }, + { + "id": 739, + "displayName": "Squid Spawn Egg", + "name": "squid_spawn_egg", + "stackSize": 64 + }, + { + "id": 740, + "displayName": "Stray Spawn Egg", + "name": "stray_spawn_egg", + "stackSize": 64 + }, + { + "id": 741, + "displayName": "Trader Llama Spawn Egg", + "name": "trader_llama_spawn_egg", + "stackSize": 64 + }, + { + "id": 742, + "displayName": "Tropical Fish Spawn Egg", + "name": "tropical_fish_spawn_egg", + "stackSize": 64 + }, + { + "id": 743, + "displayName": "Turtle Spawn Egg", + "name": "turtle_spawn_egg", + "stackSize": 64 + }, + { + "id": 744, + "displayName": "Vex Spawn Egg", + "name": "vex_spawn_egg", + "stackSize": 64 + }, + { + "id": 745, + "displayName": "Villager Spawn Egg", + "name": "villager_spawn_egg", + "stackSize": 64 + }, + { + "id": 746, + "displayName": "Vindicator Spawn Egg", + "name": "vindicator_spawn_egg", + "stackSize": 64 + }, + { + "id": 747, + "displayName": "Wandering Trader Spawn Egg", + "name": "wandering_trader_spawn_egg", + "stackSize": 64 + }, + { + "id": 748, + "displayName": "Witch Spawn Egg", + "name": "witch_spawn_egg", + "stackSize": 64 + }, + { + "id": 749, + "displayName": "Wither Skeleton Spawn Egg", + "name": "wither_skeleton_spawn_egg", + "stackSize": 64 + }, + { + "id": 750, + "displayName": "Wolf Spawn Egg", + "name": "wolf_spawn_egg", + "stackSize": 64 + }, + { + "id": 751, + "displayName": "Zombie Spawn Egg", + "name": "zombie_spawn_egg", + "stackSize": 64 + }, + { + "id": 752, + "displayName": "Zombie Horse Spawn Egg", + "name": "zombie_horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 753, + "displayName": "Zombie Pigman Spawn Egg", + "name": "zombie_pigman_spawn_egg", + "stackSize": 64 + }, + { + "id": 754, + "displayName": "Zombie Villager Spawn Egg", + "name": "zombie_villager_spawn_egg", + "stackSize": 64 + }, + { + "id": 755, + "displayName": "Bottle o' Enchanting", + "name": "experience_bottle", + "stackSize": 64 + }, + { + "id": 756, + "displayName": "Fire Charge", + "name": "fire_charge", + "stackSize": 64 + }, + { + "id": 757, + "displayName": "Book and Quill", + "name": "writable_book", + "stackSize": 1 + }, + { + "id": 758, + "displayName": "Written Book", + "name": "written_book", + "stackSize": 16 + }, + { + "id": 759, + "displayName": "Emerald", + "name": "emerald", + "stackSize": 64 + }, + { + "id": 760, + "displayName": "Item Frame", + "name": "item_frame", + "stackSize": 64 + }, + { + "id": 761, + "displayName": "Flower Pot", + "name": "flower_pot", + "stackSize": 64 + }, + { + "id": 762, + "displayName": "Carrot", + "name": "carrot", + "stackSize": 64 + }, + { + "id": 763, + "displayName": "Potato", + "name": "potato", + "stackSize": 64 + }, + { + "id": 764, + "displayName": "Baked Potato", + "name": "baked_potato", + "stackSize": 64 + }, + { + "id": 765, + "displayName": "Poisonous Potato", + "name": "poisonous_potato", + "stackSize": 64 + }, + { + "id": 766, + "displayName": "Empty Map", + "name": "map", + "stackSize": 64 + }, + { + "id": 767, + "displayName": "Golden Carrot", + "name": "golden_carrot", + "stackSize": 64 + }, + { + "id": 768, + "displayName": "Skeleton Skull", + "name": "skeleton_skull", + "stackSize": 64 + }, + { + "id": 769, + "displayName": "Wither Skeleton Skull", + "name": "wither_skeleton_skull", + "stackSize": 64 + }, + { + "id": 770, + "displayName": "Player Head", + "name": "player_head", + "stackSize": 64 + }, + { + "id": 771, + "displayName": "Zombie Head", + "name": "zombie_head", + "stackSize": 64 + }, + { + "id": 772, + "displayName": "Creeper Head", + "name": "creeper_head", + "stackSize": 64 + }, + { + "id": 773, + "displayName": "Dragon Head", + "name": "dragon_head", + "stackSize": 64 + }, + { + "id": 774, + "displayName": "Carrot on a Stick", + "name": "carrot_on_a_stick", + "stackSize": 1 + }, + { + "id": 775, + "displayName": "Nether Star", + "name": "nether_star", + "stackSize": 64 + }, + { + "id": 776, + "displayName": "Pumpkin Pie", + "name": "pumpkin_pie", + "stackSize": 64 + }, + { + "id": 777, + "displayName": "Firework Rocket", + "name": "firework_rocket", + "stackSize": 64 + }, + { + "id": 778, + "displayName": "Firework Star", + "name": "firework_star", + "stackSize": 64 + }, + { + "id": 779, + "displayName": "Enchanted Book", + "name": "enchanted_book", + "stackSize": 1 + }, + { + "id": 780, + "displayName": "Nether Brick", + "name": "nether_brick", + "stackSize": 64 + }, + { + "id": 781, + "displayName": "Nether Quartz", + "name": "quartz", + "stackSize": 64 + }, + { + "id": 782, + "displayName": "Minecart with TNT", + "name": "tnt_minecart", + "stackSize": 1 + }, + { + "id": 783, + "displayName": "Minecart with Hopper", + "name": "hopper_minecart", + "stackSize": 1 + }, + { + "id": 784, + "displayName": "Prismarine Shard", + "name": "prismarine_shard", + "stackSize": 64 + }, + { + "id": 785, + "displayName": "Prismarine Crystals", + "name": "prismarine_crystals", + "stackSize": 64 + }, + { + "id": 786, + "displayName": "Raw Rabbit", + "name": "rabbit", + "stackSize": 64 + }, + { + "id": 787, + "displayName": "Cooked Rabbit", + "name": "cooked_rabbit", + "stackSize": 64 + }, + { + "id": 788, + "displayName": "Rabbit Stew", + "name": "rabbit_stew", + "stackSize": 1 + }, + { + "id": 789, + "displayName": "Rabbit's Foot", + "name": "rabbit_foot", + "stackSize": 64 + }, + { + "id": 790, + "displayName": "Rabbit Hide", + "name": "rabbit_hide", + "stackSize": 64 + }, + { + "id": 791, + "displayName": "Armor Stand", + "name": "armor_stand", + "stackSize": 16 + }, + { + "id": 792, + "displayName": "Iron Horse Armor", + "name": "iron_horse_armor", + "stackSize": 1 + }, + { + "id": 793, + "displayName": "Golden Horse Armor", + "name": "golden_horse_armor", + "stackSize": 1 + }, + { + "id": 794, + "displayName": "Diamond Horse Armor", + "name": "diamond_horse_armor", + "stackSize": 1 + }, + { + "id": 795, + "displayName": "Leather Horse Armor", + "name": "leather_horse_armor", + "stackSize": 1 + }, + { + "id": 796, + "displayName": "Lead", + "name": "lead", + "stackSize": 64 + }, + { + "id": 797, + "displayName": "Name Tag", + "name": "name_tag", + "stackSize": 64 + }, + { + "id": 798, + "displayName": "Minecart with Command Block", + "name": "command_block_minecart", + "stackSize": 1 + }, + { + "id": 799, + "displayName": "Raw Mutton", + "name": "mutton", + "stackSize": 64 + }, + { + "id": 800, + "displayName": "Cooked Mutton", + "name": "cooked_mutton", + "stackSize": 64 + }, + { + "id": 801, + "displayName": "White Banner", + "name": "white_banner", + "stackSize": 16 + }, + { + "id": 802, + "displayName": "Orange Banner", + "name": "orange_banner", + "stackSize": 16 + }, + { + "id": 803, + "displayName": "Magenta Banner", + "name": "magenta_banner", + "stackSize": 16 + }, + { + "id": 804, + "displayName": "Light Blue Banner", + "name": "light_blue_banner", + "stackSize": 16 + }, + { + "id": 805, + "displayName": "Yellow Banner", + "name": "yellow_banner", + "stackSize": 16 + }, + { + "id": 806, + "displayName": "Lime Banner", + "name": "lime_banner", + "stackSize": 16 + }, + { + "id": 807, + "displayName": "Pink Banner", + "name": "pink_banner", + "stackSize": 16 + }, + { + "id": 808, + "displayName": "Gray Banner", + "name": "gray_banner", + "stackSize": 16 + }, + { + "id": 809, + "displayName": "Light Gray Banner", + "name": "light_gray_banner", + "stackSize": 16 + }, + { + "id": 810, + "displayName": "Cyan Banner", + "name": "cyan_banner", + "stackSize": 16 + }, + { + "id": 811, + "displayName": "Purple Banner", + "name": "purple_banner", + "stackSize": 16 + }, + { + "id": 812, + "displayName": "Blue Banner", + "name": "blue_banner", + "stackSize": 16 + }, + { + "id": 813, + "displayName": "Brown Banner", + "name": "brown_banner", + "stackSize": 16 + }, + { + "id": 814, + "displayName": "Green Banner", + "name": "green_banner", + "stackSize": 16 + }, + { + "id": 815, + "displayName": "Red Banner", + "name": "red_banner", + "stackSize": 16 + }, + { + "id": 816, + "displayName": "Black Banner", + "name": "black_banner", + "stackSize": 16 + }, + { + "id": 817, + "displayName": "End Crystal", + "name": "end_crystal", + "stackSize": 64 + }, + { + "id": 818, + "displayName": "Chorus Fruit", + "name": "chorus_fruit", + "stackSize": 64 + }, + { + "id": 819, + "displayName": "Popped Chorus Fruit", + "name": "popped_chorus_fruit", + "stackSize": 64 + }, + { + "id": 820, + "displayName": "Beetroot", + "name": "beetroot", + "stackSize": 64 + }, + { + "id": 821, + "displayName": "Beetroot Seeds", + "name": "beetroot_seeds", + "stackSize": 64 + }, + { + "id": 822, + "displayName": "Beetroot Soup", + "name": "beetroot_soup", + "stackSize": 1 + }, + { + "id": 823, + "displayName": "Dragon's Breath", + "name": "dragon_breath", + "stackSize": 64 + }, + { + "id": 824, + "displayName": "Splash Potion", + "name": "splash_potion", + "stackSize": 1 + }, + { + "id": 825, + "displayName": "Spectral Arrow", + "name": "spectral_arrow", + "stackSize": 64 + }, + { + "id": 826, + "displayName": "Tipped Arrow", + "name": "tipped_arrow", + "stackSize": 64 + }, + { + "id": 827, + "displayName": "Lingering Potion", + "name": "lingering_potion", + "stackSize": 1 + }, + { + "id": 828, + "displayName": "Shield", + "name": "shield", + "stackSize": 1 + }, + { + "id": 829, + "displayName": "Elytra", + "name": "elytra", + "stackSize": 1 + }, + { + "id": 830, + "displayName": "Spruce Boat", + "name": "spruce_boat", + "stackSize": 1 + }, + { + "id": 831, + "displayName": "Birch Boat", + "name": "birch_boat", + "stackSize": 1 + }, + { + "id": 832, + "displayName": "Jungle Boat", + "name": "jungle_boat", + "stackSize": 1 + }, + { + "id": 833, + "displayName": "Acacia Boat", + "name": "acacia_boat", + "stackSize": 1 + }, + { + "id": 834, + "displayName": "Dark Oak Boat", + "name": "dark_oak_boat", + "stackSize": 1 + }, + { + "id": 835, + "displayName": "Totem of Undying", + "name": "totem_of_undying", + "stackSize": 1 + }, + { + "id": 836, + "displayName": "Shulker Shell", + "name": "shulker_shell", + "stackSize": 64 + }, + { + "id": 837, + "displayName": "Iron Nugget", + "name": "iron_nugget", + "stackSize": 64 + }, + { + "id": 838, + "displayName": "Knowledge Book", + "name": "knowledge_book", + "stackSize": 1 + }, + { + "id": 839, + "displayName": "Debug Stick", + "name": "debug_stick", + "stackSize": 1 + }, + { + "id": 840, + "displayName": "13 Disc", + "name": "music_disc_13", + "stackSize": 1 + }, + { + "id": 841, + "displayName": "Cat Disc", + "name": "music_disc_cat", + "stackSize": 1 + }, + { + "id": 842, + "displayName": "Blocks Disc", + "name": "music_disc_blocks", + "stackSize": 1 + }, + { + "id": 843, + "displayName": "Chirp Disc", + "name": "music_disc_chirp", + "stackSize": 1 + }, + { + "id": 844, + "displayName": "Far Disc", + "name": "music_disc_far", + "stackSize": 1 + }, + { + "id": 845, + "displayName": "Mall Disc", + "name": "music_disc_mall", + "stackSize": 1 + }, + { + "id": 846, + "displayName": "Mellohi Disc", + "name": "music_disc_mellohi", + "stackSize": 1 + }, + { + "id": 847, + "displayName": "Stal Disc", + "name": "music_disc_stal", + "stackSize": 1 + }, + { + "id": 848, + "displayName": "Strad Disc", + "name": "music_disc_strad", + "stackSize": 1 + }, + { + "id": 849, + "displayName": "Ward Disc", + "name": "music_disc_ward", + "stackSize": 1 + }, + { + "id": 850, + "displayName": "11 Disc", + "name": "music_disc_11", + "stackSize": 1 + }, + { + "id": 851, + "displayName": "Wait Disc", + "name": "music_disc_wait", + "stackSize": 1 + }, + { + "id": 852, + "displayName": "Trident", + "name": "trident", + "stackSize": 1 + }, + { + "id": 853, + "displayName": "Phantom Membrane", + "name": "phantom_membrane", + "stackSize": 64 + }, + { + "id": 854, + "displayName": "Nautilus Shell", + "name": "nautilus_shell", + "stackSize": 64 + }, + { + "id": 855, + "displayName": "Heart of the Sea", + "name": "heart_of_the_sea", + "stackSize": 64 + }, + { + "id": 856, + "displayName": "Crossbow", + "name": "crossbow", + "stackSize": 1 + }, + { + "id": 857, + "displayName": "Suspicious Stew", + "name": "suspicious_stew", + "stackSize": 1 + }, + { + "id": 858, + "displayName": "Loom", + "name": "loom", + "stackSize": 64 + }, + { + "id": 859, + "displayName": "Banner Pattern", + "name": "flower_banner_pattern", + "stackSize": 1 + }, + { + "id": 860, + "displayName": "Banner Pattern", + "name": "creeper_banner_pattern", + "stackSize": 1 + }, + { + "id": 861, + "displayName": "Banner Pattern", + "name": "skull_banner_pattern", + "stackSize": 1 + }, + { + "id": 862, + "displayName": "Banner Pattern", + "name": "mojang_banner_pattern", + "stackSize": 1 + }, + { + "id": 863, + "displayName": "Banner Pattern", + "name": "globe_banner_pattern", + "stackSize": 1 + }, + { + "id": 864, + "displayName": "Barrel", + "name": "barrel", + "stackSize": 64 + }, + { + "id": 865, + "displayName": "Smoker", + "name": "smoker", + "stackSize": 64 + }, + { + "id": 866, + "displayName": "Blast Furnace", + "name": "blast_furnace", + "stackSize": 64 + }, + { + "id": 867, + "displayName": "Cartography Table", + "name": "cartography_table", + "stackSize": 64 + }, + { + "id": 868, + "displayName": "Fletching Table", + "name": "fletching_table", + "stackSize": 64 + }, + { + "id": 869, + "displayName": "Grindstone", + "name": "grindstone", + "stackSize": 64 + }, + { + "id": 870, + "displayName": "Lectern", + "name": "lectern", + "stackSize": 64 + }, + { + "id": 871, + "displayName": "Smithing Table", + "name": "smithing_table", + "stackSize": 64 + }, + { + "id": 872, + "displayName": "Stonecutter", + "name": "stonecutter", + "stackSize": 64 + }, + { + "id": 873, + "displayName": "Bell", + "name": "bell", + "stackSize": 64 + }, + { + "id": 874, + "displayName": "Lantern", + "name": "lantern", + "stackSize": 64 + }, + { + "id": 875, + "displayName": "Sweet Berries", + "name": "sweet_berries", + "stackSize": 64 + }, + { + "id": 876, + "displayName": "Campfire", + "name": "campfire", + "stackSize": 64 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/language.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/language.json new file mode 100644 index 00000000..cee2ca98 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/language.json @@ -0,0 +1,4328 @@ +{ + "language.name": "English", + "language.region": "United States", + "language.code": "en_us", + "narrator.button.accessibility": "Accessibility", + "narrator.button.language": "Language", + "narrator.button.difficulty_lock": "Difficulty lock", + "narrator.button.difficulty_lock.unlocked": "Unlocked", + "narrator.button.difficulty_lock.locked": "Locked", + "narrator.screen.title": "Title Screen", + "narrator.controls.reset": "Reset %s button", + "narrator.controls.bound": "%s is bound to %s", + "narrator.controls.unbound": "%s is not bound", + "narrator.select": "Selected: %s", + "narrator.select.world": "Selected %s, last played: %s, %s, %s, version: %s", + "narrator.loading": "Loading: %s", + "narrator.loading.done": "Done", + "narrator.joining": "Joining", + "gui.done": "Done", + "gui.cancel": "Cancel", + "gui.back": "Back", + "gui.toTitle": "Back to title screen", + "gui.toMenu": "Back to server list", + "gui.up": "Up", + "gui.down": "Down", + "gui.yes": "Yes", + "gui.no": "No", + "gui.none": "None", + "gui.all": "All", + "gui.ok": "Ok", + "gui.proceed": "Proceed", + "gui.recipebook.moreRecipes": "Right Click for more", + "gui.recipebook.toggleRecipes.all": "Showing all", + "gui.recipebook.toggleRecipes.craftable": "Showing craftable", + "gui.recipebook.toggleRecipes.smeltable": "Showing smeltable", + "gui.recipebook.toggleRecipes.blastable": "Showing blastable", + "gui.recipebook.toggleRecipes.smokable": "Showing smokable", + "gui.narrate.button": "%s button", + "gui.narrate.slider": "%s slider", + "gui.narrate.editBox": "%s edit box: %s", + "translation.test.none": "Hello, world!", + "translation.test.complex": "Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!", + "translation.test.escape": "%%s %%%s %%%%s %%%%%s", + "translation.test.invalid": "hi %", + "translation.test.invalid2": "hi % s", + "translation.test.args": "%s %s", + "translation.test.world": "world", + "menu.game": "Game Menu", + "menu.singleplayer": "Singleplayer", + "menu.multiplayer": "Multiplayer", + "menu.online": "Minecraft Realms", + "menu.options": "Options...", + "menu.quit": "Quit Game", + "menu.returnToMenu": "Save and Quit to Title", + "menu.disconnect": "Disconnect", + "menu.returnToGame": "Back to Game", + "menu.generatingLevel": "Generating world", + "menu.loadingLevel": "Loading world", + "menu.savingLevel": "Saving world", + "menu.working": "Working...", + "menu.savingChunks": "Saving chunks", + "menu.preparingSpawn": "Preparing spawn area: %s%%", + "menu.loadingForcedChunks": "Loading forced chunks for dimension %s", + "menu.generatingTerrain": "Building terrain", + "menu.convertingLevel": "Converting world", + "menu.respawning": "Respawning", + "menu.shareToLan": "Open to LAN", + "menu.sendFeedback": "Give Feedback", + "menu.reportBugs": "Report Bugs", + "menu.paused": "Game paused", + "optimizeWorld.confirm.title": "Optimize world", + "optimizeWorld.confirm.description": "This will attempt to optimize your world by making sure all data is stored in the most recent game format. This can take a very long time, depending on your world. Once done, your world may play faster but will no longer be compatible with older versions of the game. Are you sure you wish to proceed?", + "optimizeWorld.title": "Optimizing World '%s'", + "optimizeWorld.stage.counting": "Counting chunks...", + "optimizeWorld.stage.upgrading": "Upgrading all chunks...", + "optimizeWorld.stage.finished": "Finishing up...", + "optimizeWorld.stage.failed": "Failed! :(", + "optimizeWorld.info.converted": "Upgraded chunks: %s", + "optimizeWorld.info.skipped": "Skipped chunks: %s", + "optimizeWorld.info.total": "Total chunks: %s", + "selectWorld.title": "Select World", + "selectWorld.search": "search for worlds", + "selectWorld.empty": "empty", + "selectWorld.world": "World", + "selectWorld.select": "Play Selected World", + "selectWorld.create": "Create New World", + "selectWorld.recreate": "Re-Create", + "selectWorld.createDemo": "Play New Demo World", + "selectWorld.delete": "Delete", + "selectWorld.edit": "Edit", + "selectWorld.edit.title": "Edit World", + "selectWorld.edit.resetIcon": "Reset Icon", + "selectWorld.edit.openFolder": "Open World Folder", + "selectWorld.edit.save": "Save", + "selectWorld.edit.backup": "Make Backup", + "selectWorld.edit.backupFolder": "Open Backups Folder", + "selectWorld.edit.backupFailed": "Backup failed", + "selectWorld.edit.backupCreated": "Backed up: %s", + "selectWorld.edit.backupSize": "size: %s MB", + "selectWorld.edit.optimize": "Optimize World", + "selectWorld.deleteQuestion": "Are you sure you want to delete this world?", + "selectWorld.deleteWarning": "'%s' will be lost forever! (A long time!)", + "selectWorld.deleteButton": "Delete", + "selectWorld.conversion": "Must be converted!", + "selectWorld.newWorld": "New World", + "selectWorld.enterName": "World Name", + "selectWorld.resultFolder": "Will be saved in:", + "selectWorld.enterSeed": "Seed for the world generator", + "selectWorld.seedInfo": "Leave blank for a random seed", + "selectWorld.cheats": "Cheats", + "selectWorld.customizeType": "Customize", + "selectWorld.version": "Version:", + "selectWorld.versionUnknown": "unknown", + "selectWorld.versionQuestion": "Do you really want to load this world?", + "selectWorld.versionWarning": "This world was last played in version %s and loading it in this version could cause corruption!", + "selectWorld.versionJoinButton": "Load Anyway", + "selectWorld.backupQuestion": "Do you really want to load this world?", + "selectWorld.backupWarning": "This world was last played in version %s; you are on version %s. Please make a backup in case you experience world corruptions!", + "selectWorld.backupQuestion.customized": "Customized worlds are no longer supported", + "selectWorld.backupWarning.customized": "Unfortunately, we do not support customized worlds in this version of Minecraft. We can still load this world and keep everything the way it was, but any newly generated terrain will no longer be customized. We're sorry for the inconvenience!", + "selectWorld.backupEraseCache": "Erase cached data", + "selectWorld.backupJoinConfirmButton": "Backup and load", + "selectWorld.backupJoinSkipButton": "I know what I'm doing!", + "selectWorld.tooltip.fromNewerVersion1": "World was saved in a newer version,", + "selectWorld.tooltip.fromNewerVersion2": "loading this world could cause problems!", + "selectWorld.tooltip.snapshot1": "Don't forget to backup this world", + "selectWorld.tooltip.snapshot2": "before you load it in this snapshot.", + "selectWorld.tooltip.unsupported": "This world is no longer supported and can only be played in %s", + "selectWorld.unable_to_load": "Unable to load worlds", + "selectWorld.futureworld.error.title": "An error occured!", + "selectWorld.futureworld.error.text": "Something went wrong while trying to load a world from a future version. This was a risky operation to begin with, sorry it didn't work.", + "selectWorld.recreate.error.title": "An error occured!", + "selectWorld.recreate.error.text": "Something went wrong while trying to recreate a world.", + "selectWorld.recreate.customized.title": "Customized worlds are no longer supported", + "selectWorld.recreate.customized.text": "Customized worlds are no longer supported in this version of Minecraft. We can try to recreate it with the same seed and properties, but any terrain customizations will be lost. We're sorry for the inconvenience!", + "selectWorld.load_folder_access": "Unable to read or access folder where game worlds are saved!", + "createWorld.customize.presets": "Presets", + "createWorld.customize.presets.title": "Select a Preset", + "createWorld.customize.presets.select": "Use Preset", + "createWorld.customize.presets.share": "Want to share your preset with someone? Use the below box!", + "createWorld.customize.presets.list": "Alternatively, here's some we made earlier!", + "createWorld.customize.flat.title": "Superflat Customization", + "createWorld.customize.flat.tile": "Layer Material", + "createWorld.customize.flat.height": "Height", + "createWorld.customize.flat.removeLayer": "Remove Layer", + "createWorld.customize.flat.layer.top": "Top - %s", + "createWorld.customize.flat.layer": "%s", + "createWorld.customize.flat.layer.bottom": "Bottom - %s", + "createWorld.customize.buffet.title": "Buffet world customization", + "createWorld.customize.buffet.generatortype": "World generator:", + "createWorld.customize.buffet.generator": "Please select a generator type", + "createWorld.customize.buffet.biome": "Please select a biome", + "createWorld.customize.preset.classic_flat": "Classic Flat", + "createWorld.customize.preset.tunnelers_dream": "Tunnelers' Dream", + "createWorld.customize.preset.water_world": "Water World", + "createWorld.customize.preset.overworld": "Overworld", + "createWorld.customize.preset.snowy_kingdom": "Snowy Kingdom", + "createWorld.customize.preset.bottomless_pit": "Bottomless Pit", + "createWorld.customize.preset.desert": "Desert", + "createWorld.customize.preset.redstone_ready": "Redstone Ready", + "createWorld.customize.preset.the_void": "The Void", + "createWorld.customize.custom.page0": "Basic Settings", + "createWorld.customize.custom.page1": "Ore Settings", + "createWorld.customize.custom.page2": "Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.page3": "Extra Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.randomize": "Randomize", + "createWorld.customize.custom.prev": "Previous Page", + "createWorld.customize.custom.next": "Next Page", + "createWorld.customize.custom.defaults": "Defaults", + "createWorld.customize.custom.confirm1": "This will overwrite your current", + "createWorld.customize.custom.confirm2": "settings and cannot be undone.", + "createWorld.customize.custom.confirmTitle": "Warning!", + "createWorld.customize.custom.mainNoiseScaleX": "Main Noise Scale X", + "createWorld.customize.custom.mainNoiseScaleY": "Main Noise Scale Y", + "createWorld.customize.custom.mainNoiseScaleZ": "Main Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleX": "Depth Noise Scale X", + "createWorld.customize.custom.depthNoiseScaleZ": "Depth Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleExponent": "Depth Noise Exponent", + "createWorld.customize.custom.baseSize": "Depth Base Size", + "createWorld.customize.custom.coordinateScale": "Coordinate Scale", + "createWorld.customize.custom.heightScale": "Height Scale", + "createWorld.customize.custom.stretchY": "Height Stretch", + "createWorld.customize.custom.upperLimitScale": "Upper Limit Scale", + "createWorld.customize.custom.lowerLimitScale": "Lower Limit Scale", + "createWorld.customize.custom.biomeDepthWeight": "Biome Depth Weight", + "createWorld.customize.custom.biomeDepthOffset": "Biome Depth Offset", + "createWorld.customize.custom.biomeScaleWeight": "Biome Scale Weight", + "createWorld.customize.custom.biomeScaleOffset": "Biome Scale Offset", + "createWorld.customize.custom.seaLevel": "Sea Level", + "createWorld.customize.custom.useCaves": "Caves", + "createWorld.customize.custom.useStrongholds": "Strongholds", + "createWorld.customize.custom.useVillages": "Villages", + "createWorld.customize.custom.useMineShafts": "Mineshafts", + "createWorld.customize.custom.useTemples": "Temples", + "createWorld.customize.custom.useOceanRuins": "Ocean Ruins", + "createWorld.customize.custom.useMonuments": "Ocean Monuments", + "createWorld.customize.custom.useMansions": "Woodland Mansions", + "createWorld.customize.custom.useRavines": "Ravines", + "createWorld.customize.custom.useDungeons": "Dungeons", + "createWorld.customize.custom.dungeonChance": "Dungeon Count", + "createWorld.customize.custom.useWaterLakes": "Water Lakes", + "createWorld.customize.custom.waterLakeChance": "Water Lake Rarity", + "createWorld.customize.custom.useLavaLakes": "Lava Lakes", + "createWorld.customize.custom.lavaLakeChance": "Lava Lake Rarity", + "createWorld.customize.custom.useLavaOceans": "Lava Oceans", + "createWorld.customize.custom.fixedBiome": "Biome", + "createWorld.customize.custom.biomeSize": "Biome Size", + "createWorld.customize.custom.riverSize": "River Size", + "createWorld.customize.custom.size": "Spawn Size", + "createWorld.customize.custom.count": "Spawn Tries", + "createWorld.customize.custom.minHeight": "Min. Height", + "createWorld.customize.custom.maxHeight": "Max. Height", + "createWorld.customize.custom.center": "Center Height", + "createWorld.customize.custom.spread": "Spread Height", + "createWorld.customize.custom.presets.title": "Customize World Presets", + "createWorld.customize.custom.presets": "Presets", + "createWorld.customize.custom.preset.waterWorld": "Water World", + "createWorld.customize.custom.preset.isleLand": "Isle Land", + "createWorld.customize.custom.preset.caveDelight": "Caver's Delight", + "createWorld.customize.custom.preset.mountains": "Mountain Madness", + "createWorld.customize.custom.preset.drought": "Drought", + "createWorld.customize.custom.preset.caveChaos": "Caves of Chaos", + "createWorld.customize.custom.preset.goodLuck": "Good Luck", + "gameMode.survival": "Survival Mode", + "gameMode.creative": "Creative Mode", + "gameMode.adventure": "Adventure Mode", + "gameMode.spectator": "Spectator Mode", + "gameMode.hardcore": "Hardcore Mode!", + "gameMode.changed": "Your game mode has been updated to %s", + "spectatorMenu.previous_page": "Previous Page", + "spectatorMenu.next_page": "Next Page", + "spectatorMenu.close": "Close Menu", + "spectatorMenu.teleport": "Teleport to Player", + "spectatorMenu.teleport.prompt": "Select a player to teleport to", + "spectatorMenu.team_teleport": "Teleport to Team Member", + "spectatorMenu.team_teleport.prompt": "Select a team to teleport to", + "spectatorMenu.root.prompt": "Press a key to select a command, and again to use it.", + "selectWorld.gameMode": "Game Mode", + "selectWorld.gameMode.survival": "Survival", + "selectWorld.gameMode.survival.line1": "Search for resources, crafting, gain", + "selectWorld.gameMode.survival.line2": "levels, health and hunger", + "selectWorld.gameMode.creative": "Creative", + "selectWorld.gameMode.creative.line1": "Unlimited resources, free flying and", + "selectWorld.gameMode.creative.line2": "destroy blocks instantly", + "selectWorld.gameMode.spectator": "Spectator", + "selectWorld.gameMode.spectator.line1": "You can look but don't touch", + "selectWorld.gameMode.spectator.line2": "", + "selectWorld.gameMode.hardcore": "Hardcore", + "selectWorld.gameMode.hardcore.line1": "Same as survival mode, locked at hardest", + "selectWorld.gameMode.hardcore.line2": "difficulty, and one life only", + "selectWorld.gameMode.adventure": "Adventure", + "selectWorld.gameMode.adventure.line1": "Same as survival mode, but blocks can't", + "selectWorld.gameMode.adventure.line2": "be added or removed", + "selectWorld.moreWorldOptions": "More World Options...", + "selectWorld.mapFeatures": "Generate Structures:", + "selectWorld.mapFeatures.info": "Villages, dungeons etc", + "selectWorld.mapType": "World Type:", + "selectWorld.mapType.normal": "Normal", + "selectWorld.allowCommands": "Allow Cheats:", + "selectWorld.allowCommands.info": "Commands like /gamemode, /experience", + "selectWorld.hardcoreMode": "Hardcore:", + "selectWorld.hardcoreMode.info": "World is deleted upon death", + "selectWorld.bonusItems": "Bonus Chest:", + "generator.default": "Default", + "generator.flat": "Superflat", + "generator.largeBiomes": "Large Biomes", + "generator.amplified": "AMPLIFIED", + "generator.customized": "Customized", + "generator.debug_all_block_states": "Debug Mode", + "generator.amplified.info": "Notice: Just for fun, requires beefy computer", + "generator.buffet": "Buffet", + "selectServer.title": "Select Server", + "selectServer.empty": "empty", + "selectServer.select": "Join Server", + "selectServer.direct": "Direct Connect", + "selectServer.edit": "Edit", + "selectServer.delete": "Delete", + "selectServer.add": "Add Server", + "selectServer.defaultName": "Minecraft Server", + "selectServer.deleteQuestion": "Are you sure you want to remove this server?", + "selectServer.deleteWarning": "'%s' will be lost forever! (A long time!)", + "selectServer.deleteButton": "Delete", + "selectServer.refresh": "Refresh", + "selectServer.hiddenAddress": "(Hidden)", + "addServer.title": "Edit Server Info", + "addServer.enterName": "Server Name", + "addServer.enterIp": "Server Address", + "addServer.add": "Done", + "addServer.hideAddress": "Hide Address", + "addServer.resourcePack": "Server Resource Packs", + "addServer.resourcePack.enabled": "Enabled", + "addServer.resourcePack.disabled": "Disabled", + "addServer.resourcePack.prompt": "Prompt", + "lanServer.title": "LAN World", + "lanServer.scanning": "Scanning for games on your local network", + "lanServer.start": "Start LAN World", + "lanServer.otherPlayers": "Settings for Other Players", + "mcoServer.title": "Minecraft Online World", + "multiplayer.title": "Play Multiplayer", + "multiplayer.connect": "Connect", + "multiplayer.ipinfo": "Enter the IP of a server to connect to it:", + "multiplayer.texturePrompt.line1": "This server recommends the use of a custom resource pack.", + "multiplayer.texturePrompt.line2": "Would you like to download and install it automagically?", + "multiplayer.downloadingTerrain": "Loading terrain...", + "multiplayer.downloadingStats": "Downloading statistics...", + "multiplayer.stopSleeping": "Leave Bed", + "multiplayer.message_not_delivered": "Can't deliver chat message starting with %s, check server logs", + "multiplayer.player.joined": "%s joined the game", + "multiplayer.player.joined.renamed": "%s (formerly known as %s) joined the game", + "multiplayer.player.left": "%s left the game", + "multiplayer.status.and_more": "... and %s more ...", + "multiplayer.status.cancelled": "Cancelled", + "multiplayer.status.cannot_connect": "Can't connect to server", + "multiplayer.status.cannot_resolve": "Can't resolve hostname", + "multiplayer.status.client_out_of_date": "Client out of date!", + "multiplayer.status.finished": "Finished", + "multiplayer.status.no_connection": "(no connection)", + "multiplayer.status.old": "Old", + "multiplayer.status.pinging": "Pinging...", + "multiplayer.status.quitting": "Quitting", + "multiplayer.status.server_out_of_date": "Server out of date!", + "multiplayer.status.unknown": "???", + "multiplayer.status.unrequested": "Received unrequested status", + "multiplayer.status.request_handled": "Status requst has been handled", + "multiplayer.disconnect.authservers_down": "Authentication servers are down. Please try again later, sorry!", + "multiplayer.disconnect.banned": "You are banned from this server", + "multiplayer.disconnect.banned.reason": "You are banned from this server.\nReason: %s", + "multiplayer.disconnect.banned.expiration": "\nYour ban will be removed on %s", + "multiplayer.disconnect.banned_ip.reason": "Your IP address is banned from this server.\nReason: %s", + "multiplayer.disconnect.banned_ip.expiration": "\nYour ban will be removed on %s", + "multiplayer.disconnect.duplicate_login": "You logged in from another location", + "multiplayer.disconnect.flying": "Flying is not enabled on this server", + "multiplayer.disconnect.generic": "Disconnected", + "multiplayer.disconnect.idling": "You have been idle for too long!", + "multiplayer.disconnect.illegal_characters": "Illegal characters in chat", + "multiplayer.disconnect.invalid_entity_attacked": "Attempting to attack an invalid entity", + "multiplayer.disconnect.invalid_player_movement": "Invalid move player packet received", + "multiplayer.disconnect.invalid_vehicle_movement": "Invalid move vehicle packet received", + "multiplayer.disconnect.ip_banned": "You have been IP banned from this server", + "multiplayer.disconnect.kicked": "Kicked by an operator", + "multiplayer.disconnect.outdated_client": "Outdated client! Please use %s", + "multiplayer.disconnect.outdated_server": "Outdated server! I'm still on %s", + "multiplayer.disconnect.server_shutdown": "Server closed", + "multiplayer.disconnect.slow_login": "Took too long to log in", + "multiplayer.disconnect.unverified_username": "Failed to verify username!", + "multiplayer.disconnect.not_whitelisted": "You are not white-listed on this server!", + "multiplayer.disconnect.server_full": "The server is full!", + "multiplayer.disconnect.name_taken": "That name is already taken", + "multiplayer.disconnect.unexpected_query_response": "Unexpected custom data from client", + "chat.editBox": "chat", + "chat.cannotSend": "Cannot send chat message", + "chat.type.text": "<%s> %s", + "chat.type.text.narrate": "%s says %s", + "chat.type.emote": "* %s %s", + "chat.type.announcement": "[%s] %s", + "chat.type.admin": "[%s: %s]", + "chat.type.advancement.task": "%s has made the advancement %s", + "chat.type.advancement.challenge": "%s has completed the challenge %s", + "chat.type.advancement.goal": "%s has reached the goal %s", + "chat.type.team.text": "%s <%s> %s", + "chat.type.team.sent": "-> %s <%s> %s", + "chat.type.team.hover": "Message Team", + "chat.link.confirm": "Are you sure you want to open the following website?", + "chat.link.warning": "Never open links from people that you don't trust!", + "chat.copy": "Copy to Clipboard", + "chat.link.confirmTrusted": "Do you want to open this link or copy it to your clipboard?", + "chat.link.open": "Open in browser", + "chat.coordinates": "%s, %s, %s", + "chat.coordinates.tooltip": "Click to teleport", + "menu.playdemo": "Play Demo World", + "menu.resetdemo": "Reset Demo World", + "demo.day.1": "This demo will last five game days, do your best!", + "demo.day.2": "Day Two", + "demo.day.3": "Day Three", + "demo.day.4": "Day Four", + "demo.day.5": "This is your last day!", + "demo.day.warning": "Your time is almost up!", + "demo.day.6": "You have passed your fifth day, use %s to save a screenshot of your creation", + "demo.reminder": "The demo time has expired, buy the game to continue or start a new world!", + "demo.remainingTime": "Remaining time: %s", + "demo.demoExpired": "Demo time's up!", + "demo.help.movement": "Use the %1$s, %2$s, %3$s, %4$s keys and the mouse to move around", + "demo.help.movementShort": "Move by pressing the %1$s, %2$s, %3$s, %4$s keys", + "demo.help.movementMouse": "Look around using the mouse", + "demo.help.jump": "Jump by pressing the %1$s key", + "demo.help.inventory": "Use the %1$s key to open your inventory", + "demo.help.title": "Minecraft Demo Mode", + "demo.help.fullWrapped": "This demo will last 5 ingame days (about 1 hour and 40 minutes of real time). Check the advancements for hints! Have fun!", + "demo.help.buy": "Purchase Now!", + "demo.help.later": "Continue Playing!", + "connect.connecting": "Connecting to the server...", + "connect.aborted": "Aborted", + "connect.authorizing": "Logging in...", + "connect.negotiating": "Negotiating...", + "connect.encrypting": "Encrypting...", + "connect.joining": "Joining world...", + "connect.failed": "Failed to connect to the server", + "disconnect.genericReason": "%s", + "disconnect.disconnected": "Disconnected by Server", + "disconnect.lost": "Connection Lost", + "disconnect.kicked": "Was kicked from the game", + "disconnect.timeout": "Timed out", + "disconnect.closed": "Connection closed", + "disconnect.loginFailed": "Failed to log in", + "disconnect.loginFailedInfo": "Failed to log in: %s", + "disconnect.loginFailedInfo.serversUnavailable": "The authentication servers are currently down for maintenance.", + "disconnect.loginFailedInfo.invalidSession": "Invalid session (Try restarting your game and the launcher)", + "disconnect.quitting": "Quitting", + "disconnect.endOfStream": "End of stream", + "disconnect.overflow": "Buffer overflow", + "disconnect.spam": "Kicked for spamming", + "soundCategory.master": "Master Volume", + "soundCategory.music": "Music", + "soundCategory.record": "Jukebox/Note Blocks", + "soundCategory.weather": "Weather", + "soundCategory.hostile": "Hostile Creatures", + "soundCategory.neutral": "Friendly Creatures", + "soundCategory.player": "Players", + "soundCategory.block": "Blocks", + "soundCategory.ambient": "Ambient/Environment", + "soundCategory.voice": "Voice/Speech", + "record.nowPlaying": "Now playing: %s", + "options.off": "OFF", + "options.on": "ON", + "options.visible": "Shown", + "options.hidden": "Hidden", + "options.title": "Options", + "options.controls": "Controls...", + "options.video": "Video Settings...", + "options.language": "Language...", + "options.sounds": "Music & Sounds...", + "options.sounds.title": "Music & Sound Options", + "options.languageWarning": "Language translations may not be 100%% accurate", + "options.videoTitle": "Video Settings", + "options.mouse_settings": "Mouse Settings...", + "options.mouse_settings.title": "Mouse Settings", + "options.customizeTitle": "Customize World Settings", + "options.music": "Music", + "options.sound": "Sound", + "options.invertMouse": "Invert Mouse", + "options.fov": "FOV", + "options.fov.min": "Normal", + "options.fov.max": "Quake Pro", + "options.biomeBlendRadius": "Biome Blend", + "options.gamma": "Brightness", + "options.gamma.min": "Moody", + "options.gamma.max": "Bright", + "options.sensitivity": "Sensitivity", + "options.sensitivity.min": "*yawn*", + "options.sensitivity.max": "HYPERSPEED!!!", + "options.renderDistance": "Render Distance", + "options.viewBobbing": "View Bobbing", + "options.ao": "Smooth Lighting", + "options.ao.off": "OFF", + "options.ao.min": "Minimum", + "options.ao.max": "Maximum", + "options.anaglyph": "3D Anaglyph", + "options.chunks": "%s chunks", + "options.framerate": "%s fps", + "options.framerateLimit": "Max Framerate", + "options.framerateLimit.max": "Unlimited", + "options.difficulty": "Difficulty", + "options.difficulty.peaceful": "Peaceful", + "options.difficulty.easy": "Easy", + "options.difficulty.normal": "Normal", + "options.difficulty.hard": "Hard", + "options.difficulty.hardcore": "Hardcore", + "options.graphics": "Graphics", + "options.graphics.fancy": "Fancy", + "options.graphics.fast": "Fast", + "options.clouds.fancy": "Fancy", + "options.clouds.fast": "Fast", + "options.guiScale": "GUI Scale", + "options.guiScale.auto": "Auto", + "options.renderClouds": "Clouds", + "options.particles": "Particles", + "options.particles.all": "All", + "options.particles.decreased": "Decreased", + "options.particles.minimal": "Minimal", + "options.multiplayer.title": "Multiplayer Settings...", + "options.chat.title": "Chat Settings...", + "options.chat.visibility": "Chat", + "options.chat.visibility.full": "Shown", + "options.chat.visibility.system": "Commands Only", + "options.chat.visibility.hidden": "Hidden", + "options.chat.color": "Colors", + "options.chat.opacity": "Chat Text Opacity", + "options.chat.links": "Web Links", + "options.chat.links.prompt": "Prompt on Links", + "options.chat.scale": "Scale", + "options.chat.width": "Width", + "options.chat.height.focused": "Focused Height", + "options.chat.height.unfocused": "Unfocused Height", + "options.accessibility.title": "Accessibility Settings...", + "options.accessibility.text_background": "Text Background", + "options.accessibility.text_background.chat": "Chat", + "options.accessibility.text_background.everywhere": "Everywhere", + "options.accessibility.text_background_opacity": "Text Background Opacity", + "options.skinCustomisation": "Skin Customization...", + "options.skinCustomisation.title": "Skin Customization", + "options.modelPart.cape": "Cape", + "options.modelPart.hat": "Hat", + "options.modelPart.jacket": "Jacket", + "options.modelPart.left_sleeve": "Left Sleeve", + "options.modelPart.right_sleeve": "Right Sleeve", + "options.modelPart.left_pants_leg": "Left Pants Leg", + "options.modelPart.right_pants_leg": "Right Pants Leg", + "options.snooper": "Allow Snooper", + "options.snooper.view": "Snooper Settings...", + "options.snooper.title": "Feed us data!", + "options.snooper.desc": "We always want to improve Minecraft and, to help us do that, we'd like to collect some information. This lets us know what hardware to support and where the big problems are. It also gives us a sense of the size of our active player base, so we know if we're doing a good job. You can view all the information we collect below. If you want to opt out then you can simply toggle it off!", + "options.resourcepack": "Resource Packs...", + "options.fullscreen": "Fullscreen", + "options.vsync": "Use VSync", + "options.vbo": "Use VBOs", + "options.touchscreen": "Touchscreen Mode", + "options.reducedDebugInfo": "Reduced Debug Info", + "options.entityShadows": "Entity Shadows", + "options.mainHand": "Main Hand", + "options.mainHand.left": "Left", + "options.mainHand.right": "Right", + "options.attackIndicator": "Attack Indicator", + "options.attack.crosshair": "Crosshair", + "options.attack.hotbar": "Hotbar", + "options.showSubtitles": "Show Subtitles", + "options.realmsNotifications": "Realms Notifications", + "options.autoJump": "Auto-Jump", + "options.autoSuggestCommands": "Command Suggestions", + "options.discrete_mouse_scroll": "Discrete Scrolling", + "options.mouseWheelSensitivity": "Scroll Sensitivity", + "options.rawMouseInput": "Raw input", + "options.narrator": "Narrator", + "options.narrator.off": "OFF", + "options.narrator.all": "Narrates all", + "options.narrator.chat": "Narrates chat", + "options.narrator.system": "Narrates system", + "options.narrator.notavailable": "Not available", + "options.fullscreen.resolution": "Fullscreen Resolution", + "options.fullscreen.unavailable": "Setting unavailable", + "options.fullscreen.current": "Current", + "options.mipmapLevels": "Mipmap Levels", + "options.forceUnicodeFont": "Force Unicode Font", + "narrator.toast.disabled": "Narrator Disabled", + "narrator.toast.enabled": "Narrator Enabled", + "difficulty.lock.title": "Lock World Difficulty", + "difficulty.lock.question": "Are you sure you want to lock the difficulty of this world? This will set this world to always be %1$s, and you will never be able to change that again.", + "title.oldgl.eol.line1": "Old graphics card detected; this WILL prevent you from", + "title.oldgl.eol.line2": "playing future updates as OpenGL 2.0 will be required!", + "title.oldgl.deprecation.line1": "Old graphics card detected; this may prevent you from", + "title.oldgl.deprecation.line2": "playing in the future as OpenGL 3.2 will be required!", + "controls.title": "Controls", + "controls.reset": "Reset", + "controls.resetAll": "Reset Keys", + "key.sprint": "Sprint", + "key.forward": "Walk Forwards", + "key.left": "Strafe Left", + "key.back": "Walk Backwards", + "key.right": "Strafe Right", + "key.jump": "Jump", + "key.inventory": "Open/Close Inventory", + "key.drop": "Drop Selected Item", + "key.swapHands": "Swap Item In Hands", + "key.chat": "Open Chat", + "key.sneak": "Sneak", + "key.playerlist": "List Players", + "key.attack": "Attack/Destroy", + "key.use": "Use Item/Place Block", + "key.pickItem": "Pick Block", + "key.command": "Open Command", + "key.screenshot": "Take Screenshot", + "key.togglePerspective": "Toggle Perspective", + "key.smoothCamera": "Toggle Cinematic Camera", + "key.fullscreen": "Toggle Fullscreen", + "key.spectatorOutlines": "Highlight Players (Spectators)", + "key.hotbar.1": "Hotbar Slot 1", + "key.hotbar.2": "Hotbar Slot 2", + "key.hotbar.3": "Hotbar Slot 3", + "key.hotbar.4": "Hotbar Slot 4", + "key.hotbar.5": "Hotbar Slot 5", + "key.hotbar.6": "Hotbar Slot 6", + "key.hotbar.7": "Hotbar Slot 7", + "key.hotbar.8": "Hotbar Slot 8", + "key.hotbar.9": "Hotbar Slot 9", + "key.saveToolbarActivator": "Save Toolbar Activator", + "key.loadToolbarActivator": "Load Toolbar Activator", + "key.advancements": "Advancements", + "key.categories.movement": "Movement", + "key.categories.misc": "Miscellaneous", + "key.categories.multiplayer": "Multiplayer", + "key.categories.gameplay": "Gameplay", + "key.categories.ui": "Game Interface", + "key.categories.inventory": "Inventory", + "key.categories.creative": "Creative Mode", + "key.mouse.left": "Left Button", + "key.mouse.right": "Right Button", + "key.mouse.middle": "Middle Button", + "key.mouse": "Button %1$s", + "key.keyboard.unknown": "Not bound", + "key.keyboard.apostrophe": "'", + "key.keyboard.backslash": "\\", + "key.keyboard.backspace": "Backspace", + "key.keyboard.comma": ",", + "key.keyboard.delete": "Delete", + "key.keyboard.end": "End", + "key.keyboard.enter": "Enter", + "key.keyboard.equal": "=", + "key.keyboard.escape": "Escape", + "key.keyboard.f1": "F1", + "key.keyboard.f2": "F2", + "key.keyboard.f3": "F3", + "key.keyboard.f4": "F4", + "key.keyboard.f5": "F5", + "key.keyboard.f6": "F6", + "key.keyboard.f7": "F7", + "key.keyboard.f8": "F8", + "key.keyboard.f9": "F9", + "key.keyboard.f10": "F10", + "key.keyboard.f11": "F11", + "key.keyboard.f12": "F12", + "key.keyboard.f13": "F13", + "key.keyboard.f14": "F14", + "key.keyboard.f15": "F15", + "key.keyboard.f16": "F16", + "key.keyboard.f17": "F17", + "key.keyboard.f18": "F18", + "key.keyboard.f19": "F19", + "key.keyboard.f20": "F20", + "key.keyboard.f21": "F21", + "key.keyboard.f22": "F22", + "key.keyboard.f23": "F23", + "key.keyboard.f24": "F24", + "key.keyboard.f25": "F25", + "key.keyboard.grave.accent": "`", + "key.keyboard.home": "Home", + "key.keyboard.insert": "Insert", + "key.keyboard.keypad.0": "Keypad 0", + "key.keyboard.keypad.1": "Keypad 1", + "key.keyboard.keypad.2": "Keypad 2", + "key.keyboard.keypad.3": "Keypad 3", + "key.keyboard.keypad.4": "Keypad 4", + "key.keyboard.keypad.5": "Keypad 5", + "key.keyboard.keypad.6": "Keypad 6", + "key.keyboard.keypad.7": "Keypad 7", + "key.keyboard.keypad.8": "Keypad 8", + "key.keyboard.keypad.9": "Keypad 9", + "key.keyboard.keypad.add": "Keypad +", + "key.keyboard.keypad.decimal": "Keypad Decimal", + "key.keyboard.keypad.enter": "Keypad Enter", + "key.keyboard.keypad.equal": "Keypad =", + "key.keyboard.keypad.multiply": "Keypad *", + "key.keyboard.keypad.divide": "Keypad /", + "key.keyboard.keypad.subtract": "Keypad -", + "key.keyboard.left.bracket": "[", + "key.keyboard.right.bracket": "]", + "key.keyboard.minus": "-", + "key.keyboard.num.lock": "Num Lock", + "key.keyboard.caps.lock": "Caps Lock", + "key.keyboard.scroll.lock": "Scroll Lock", + "key.keyboard.page.down": "Page Down", + "key.keyboard.page.up": "Page Up", + "key.keyboard.pause": "Pause", + "key.keyboard.period": ".", + "key.keyboard.left.control": "Left Control", + "key.keyboard.right.control": "Right Control", + "key.keyboard.left.alt": "Left Alt", + "key.keyboard.right.alt": "Right Alt", + "key.keyboard.left.shift": "Left Shift", + "key.keyboard.right.shift": "Right Shift", + "key.keyboard.left.win": "Left Win", + "key.keyboard.right.win": "Right Win", + "key.keyboard.semicolon": ";", + "key.keyboard.slash": "/", + "key.keyboard.space": "Space", + "key.keyboard.tab": "Tab", + "key.keyboard.up": "Up Arrow", + "key.keyboard.down": "Down Arrow", + "key.keyboard.left": "Left Arrow", + "key.keyboard.right": "Right Arrow", + "key.keyboard.menu": "Menu", + "key.keyboard.print.screen": "Print Screen", + "key.keyboard.world.1": "World 1", + "key.keyboard.world.2": "World 2", + "resourcePack.openFolder": "Open Resource Pack Folder", + "resourcePack.title": "Select Resource Packs", + "resourcePack.available.title": "Available Resource Packs", + "resourcePack.selected.title": "Selected Resource Packs", + "resourcePack.folderInfo": "(Place resource pack files here)", + "resourcePack.incompatible": "Incompatible", + "resourcePack.incompatible.old": "(Made for an older version of Minecraft)", + "resourcePack.incompatible.new": "(Made for a newer version of Minecraft)", + "resourcePack.incompatible.confirm.title": "Are you sure you want to load this resource pack?", + "resourcePack.incompatible.confirm.old": "This resource pack was made for an older version of Minecraft and may no longer work correctly.", + "resourcePack.incompatible.confirm.new": "This resource pack was made for a newer version of Minecraft and may no longer work correctly.", + "resourcePack.server.name": "World Specific Resources", + "resourcePack.broken_assets": "BROKEN ASSETS DETECTED", + "sign.edit": "Edit sign message", + "book.pageIndicator": "Page %1$s of %2$s", + "book.byAuthor": "by %1$s", + "book.signButton": "Sign", + "book.editTitle": "Enter Book Title:", + "book.finalizeButton": "Sign and Close", + "book.finalizeWarning": "Note! When you sign the book, it will no longer be editable.", + "book.generation.0": "Original", + "book.generation.1": "Copy of original", + "book.generation.2": "Copy of a copy", + "book.generation.3": "Tattered", + "book.invalid.tag": "* Invalid book tag *", + "merchant.deprecated": "Villagers restock up to two times per day.", + "merchant.current_level": "Trader's current level", + "merchant.next_level": "Trader's next level", + "merchant.level.1": "Novice", + "merchant.level.2": "Apprentice", + "merchant.level.3": "Journeyman", + "merchant.level.4": "Expert", + "merchant.level.5": "Master", + "merchant.trades": "Trades", + "block.minecraft.air": "Air", + "block.minecraft.barrier": "Barrier", + "block.minecraft.stone": "Stone", + "block.minecraft.granite": "Granite", + "block.minecraft.polished_granite": "Polished Granite", + "block.minecraft.diorite": "Diorite", + "block.minecraft.polished_diorite": "Polished Diorite", + "block.minecraft.andesite": "Andesite", + "block.minecraft.polished_andesite": "Polished Andesite", + "block.minecraft.hay_block": "Hay Bale", + "block.minecraft.grass_block": "Grass Block", + "block.minecraft.dirt": "Dirt", + "block.minecraft.coarse_dirt": "Coarse Dirt", + "block.minecraft.podzol": "Podzol", + "block.minecraft.cobblestone": "Cobblestone", + "block.minecraft.oak_planks": "Oak Planks", + "block.minecraft.spruce_planks": "Spruce Planks", + "block.minecraft.birch_planks": "Birch Planks", + "block.minecraft.jungle_planks": "Jungle Planks", + "block.minecraft.acacia_planks": "Acacia Planks", + "block.minecraft.dark_oak_planks": "Dark Oak Planks", + "block.minecraft.oak_sapling": "Oak Sapling", + "block.minecraft.spruce_sapling": "Spruce Sapling", + "block.minecraft.birch_sapling": "Birch Sapling", + "block.minecraft.jungle_sapling": "Jungle Sapling", + "block.minecraft.acacia_sapling": "Acacia Sapling", + "block.minecraft.dark_oak_sapling": "Dark Oak Sapling", + "block.minecraft.oak_door": "Oak Door", + "block.minecraft.spruce_door": "Spruce Door", + "block.minecraft.birch_door": "Birch Door", + "block.minecraft.jungle_door": "Jungle Door", + "block.minecraft.acacia_door": "Acacia Door", + "block.minecraft.dark_oak_door": "Dark Oak Door", + "block.minecraft.bedrock": "Bedrock", + "block.minecraft.water": "Water", + "block.minecraft.lava": "Lava", + "block.minecraft.flowing_water": "Flowing Water", + "block.minecraft.flowing_lava": "Flowing Lava", + "block.minecraft.sand": "Sand", + "block.minecraft.red_sand": "Red Sand", + "block.minecraft.sandstone": "Sandstone", + "block.minecraft.chiseled_sandstone": "Chiseled Sandstone", + "block.minecraft.cut_sandstone": "Cut Sandstone", + "block.minecraft.red_sandstone": "Red Sandstone", + "block.minecraft.chiseled_red_sandstone": "Chiseled Red Sandstone", + "block.minecraft.cut_red_sandstone": "Cut Red Sandstone", + "block.minecraft.gravel": "Gravel", + "block.minecraft.gold_ore": "Gold Ore", + "block.minecraft.iron_ore": "Iron Ore", + "block.minecraft.coal_ore": "Coal Ore", + "block.minecraft.oak_wood": "Oak Wood", + "block.minecraft.spruce_wood": "Spruce Wood", + "block.minecraft.birch_wood": "Birch Wood", + "block.minecraft.jungle_wood": "Jungle Wood", + "block.minecraft.acacia_wood": "Acacia Wood", + "block.minecraft.dark_oak_wood": "Dark Oak Wood", + "block.minecraft.oak_log": "Oak Log", + "block.minecraft.spruce_log": "Spruce Log", + "block.minecraft.birch_log": "Birch Log", + "block.minecraft.jungle_log": "Jungle Log", + "block.minecraft.acacia_log": "Acacia Log", + "block.minecraft.dark_oak_log": "Dark Oak Log", + "block.minecraft.stripped_oak_log": "Stripped Oak Log", + "block.minecraft.stripped_spruce_log": "Stripped Spruce Log", + "block.minecraft.stripped_birch_log": "Stripped Birch Log", + "block.minecraft.stripped_jungle_log": "Stripped Jungle Log", + "block.minecraft.stripped_acacia_log": "Stripped Acacia Log", + "block.minecraft.stripped_dark_oak_log": "Stripped Dark Oak Log", + "block.minecraft.stripped_oak_wood": "Stripped Oak Wood", + "block.minecraft.stripped_spruce_wood": "Stripped Spruce Wood", + "block.minecraft.stripped_birch_wood": "Stripped Birch Wood", + "block.minecraft.stripped_jungle_wood": "Stripped Jungle Wood", + "block.minecraft.stripped_acacia_wood": "Stripped Acacia Wood", + "block.minecraft.stripped_dark_oak_wood": "Stripped Dark Oak Wood", + "block.minecraft.oak_leaves": "Oak Leaves", + "block.minecraft.spruce_leaves": "Spruce Leaves", + "block.minecraft.birch_leaves": "Birch Leaves", + "block.minecraft.jungle_leaves": "Jungle Leaves", + "block.minecraft.acacia_leaves": "Acacia Leaves", + "block.minecraft.dark_oak_leaves": "Dark Oak Leaves", + "block.minecraft.dead_bush": "Dead Bush", + "block.minecraft.grass": "Grass", + "block.minecraft.fern": "Fern", + "block.minecraft.sponge": "Sponge", + "block.minecraft.wet_sponge": "Wet Sponge", + "block.minecraft.glass": "Glass", + "block.minecraft.kelp_plant": "Kelp Plant", + "block.minecraft.kelp": "Kelp", + "block.minecraft.dried_kelp_block": "Dried Kelp Block", + "block.minecraft.white_stained_glass": "White Stained Glass", + "block.minecraft.orange_stained_glass": "Orange Stained Glass", + "block.minecraft.magenta_stained_glass": "Magenta Stained Glass", + "block.minecraft.light_blue_stained_glass": "Light Blue Stained Glass", + "block.minecraft.yellow_stained_glass": "Yellow Stained Glass", + "block.minecraft.lime_stained_glass": "Lime Stained Glass", + "block.minecraft.pink_stained_glass": "Pink Stained Glass", + "block.minecraft.gray_stained_glass": "Gray Stained Glass", + "block.minecraft.light_gray_stained_glass": "Light Gray Stained Glass", + "block.minecraft.cyan_stained_glass": "Cyan Stained Glass", + "block.minecraft.purple_stained_glass": "Purple Stained Glass", + "block.minecraft.blue_stained_glass": "Blue Stained Glass", + "block.minecraft.brown_stained_glass": "Brown Stained Glass", + "block.minecraft.green_stained_glass": "Green Stained Glass", + "block.minecraft.red_stained_glass": "Red Stained Glass", + "block.minecraft.black_stained_glass": "Black Stained Glass", + "block.minecraft.white_stained_glass_pane": "White Stained Glass Pane", + "block.minecraft.orange_stained_glass_pane": "Orange Stained Glass Pane", + "block.minecraft.magenta_stained_glass_pane": "Magenta Stained Glass Pane", + "block.minecraft.light_blue_stained_glass_pane": "Light Blue Stained Glass Pane", + "block.minecraft.yellow_stained_glass_pane": "Yellow Stained Glass Pane", + "block.minecraft.lime_stained_glass_pane": "Lime Stained Glass Pane", + "block.minecraft.pink_stained_glass_pane": "Pink Stained Glass Pane", + "block.minecraft.gray_stained_glass_pane": "Gray Stained Glass Pane", + "block.minecraft.light_gray_stained_glass_pane": "Light Gray Stained Glass Pane", + "block.minecraft.cyan_stained_glass_pane": "Cyan Stained Glass Pane", + "block.minecraft.purple_stained_glass_pane": "Purple Stained Glass Pane", + "block.minecraft.blue_stained_glass_pane": "Blue Stained Glass Pane", + "block.minecraft.brown_stained_glass_pane": "Brown Stained Glass Pane", + "block.minecraft.green_stained_glass_pane": "Green Stained Glass Pane", + "block.minecraft.red_stained_glass_pane": "Red Stained Glass Pane", + "block.minecraft.black_stained_glass_pane": "Black Stained Glass Pane", + "block.minecraft.glass_pane": "Glass Pane", + "block.minecraft.dandelion": "Dandelion", + "block.minecraft.poppy": "Poppy", + "block.minecraft.blue_orchid": "Blue Orchid", + "block.minecraft.allium": "Allium", + "block.minecraft.azure_bluet": "Azure Bluet", + "block.minecraft.red_tulip": "Red Tulip", + "block.minecraft.orange_tulip": "Orange Tulip", + "block.minecraft.white_tulip": "White Tulip", + "block.minecraft.pink_tulip": "Pink Tulip", + "block.minecraft.oxeye_daisy": "Oxeye Daisy", + "block.minecraft.cornflower": "Cornflower", + "block.minecraft.lily_of_the_valley": "Lily of the Valley", + "block.minecraft.wither_rose": "Wither Rose", + "block.minecraft.sunflower": "Sunflower", + "block.minecraft.lilac": "Lilac", + "block.minecraft.tall_grass": "Tall Grass", + "block.minecraft.tall_seagrass": "Tall Seagrass", + "block.minecraft.large_fern": "Large Fern", + "block.minecraft.rose_bush": "Rose Bush", + "block.minecraft.peony": "Peony", + "block.minecraft.seagrass": "Seagrass", + "block.minecraft.sea_pickle": "Sea Pickle", + "block.minecraft.brown_mushroom": "Brown Mushroom", + "block.minecraft.red_mushroom_block": "Red Mushroom Block", + "block.minecraft.brown_mushroom_block": "Brown Mushroom Block", + "block.minecraft.mushroom_stem": "Mushroom Stem", + "block.minecraft.gold_block": "Block of Gold", + "block.minecraft.iron_block": "Block of Iron", + "block.minecraft.smooth_stone": "Smooth Stone", + "block.minecraft.smooth_sandstone": "Smooth Sandstone", + "block.minecraft.smooth_red_sandstone": "Smooth Red Sandstone", + "block.minecraft.smooth_quartz": "Smooth Quartz", + "block.minecraft.stone_slab": "Stone Slab", + "block.minecraft.smooth_stone_slab": "Smooth Stone Slab", + "block.minecraft.sandstone_slab": "Sandstone Slab", + "block.minecraft.red_sandstone_slab": "Red Sandstone Slab", + "block.minecraft.cut_sandstone_slab": "Cut Sandstone Slab", + "block.minecraft.cut_red_sandstone_slab": "Cut Red Sandstone Slab", + "block.minecraft.petrified_oak_slab": "Petrified Oak Slab", + "block.minecraft.cobblestone_slab": "Cobblestone Slab", + "block.minecraft.brick_slab": "Brick Slab", + "block.minecraft.stone_brick_slab": "Stone Brick Slab", + "block.minecraft.nether_brick_slab": "Nether Brick Slab", + "block.minecraft.quartz_slab": "Quartz Slab", + "block.minecraft.oak_slab": "Oak Slab", + "block.minecraft.spruce_slab": "Spruce Slab", + "block.minecraft.birch_slab": "Birch Slab", + "block.minecraft.jungle_slab": "Jungle Slab", + "block.minecraft.acacia_slab": "Acacia Slab", + "block.minecraft.dark_oak_slab": "Dark Oak Slab", + "block.minecraft.dark_prismarine_slab": "Dark Prismarine Slab", + "block.minecraft.prismarine_slab": "Prismarine Slab", + "block.minecraft.prismarine_brick_slab": "Prismarine Brick Slab", + "block.minecraft.bricks": "Bricks", + "block.minecraft.tnt": "TNT", + "block.minecraft.bookshelf": "Bookshelf", + "block.minecraft.mossy_cobblestone": "Mossy Cobblestone", + "block.minecraft.obsidian": "Obsidian", + "block.minecraft.torch": "Torch", + "block.minecraft.wall_torch": "Wall Torch", + "block.minecraft.fire": "Fire", + "block.minecraft.spawner": "Spawner", + "block.minecraft.oak_stairs": "Oak Stairs", + "block.minecraft.spruce_stairs": "Spruce Stairs", + "block.minecraft.birch_stairs": "Birch Stairs", + "block.minecraft.jungle_stairs": "Jungle Stairs", + "block.minecraft.acacia_stairs": "Acacia Stairs", + "block.minecraft.dark_oak_stairs": "Dark Oak Stairs", + "block.minecraft.dark_prismarine_stairs": "Dark Prismarine Stairs", + "block.minecraft.prismarine_stairs": "Prismarine Stairs", + "block.minecraft.prismarine_brick_stairs": "Prismarine Brick Stairs", + "block.minecraft.chest": "Chest", + "block.minecraft.trapped_chest": "Trapped Chest", + "block.minecraft.redstone_wire": "Redstone Wire", + "block.minecraft.diamond_ore": "Diamond Ore", + "block.minecraft.coal_block": "Block of Coal", + "block.minecraft.diamond_block": "Block of Diamond", + "block.minecraft.crafting_table": "Crafting Table", + "block.minecraft.wheat": "Wheat Crops", + "block.minecraft.farmland": "Farmland", + "block.minecraft.furnace": "Furnace", + "block.minecraft.oak_sign": "Oak Sign", + "block.minecraft.spruce_sign": "Spruce Sign", + "block.minecraft.birch_sign": "Birch Sign", + "block.minecraft.acacia_sign": "Acacia Sign", + "block.minecraft.jungle_sign": "Jungle Sign", + "block.minecraft.dark_oak_sign": "Dark Oak Sign", + "block.minecraft.oak_wall_sign": "Oak Wall Sign", + "block.minecraft.spruce_wall_sign": "Spruce Wall Sign", + "block.minecraft.birch_wall_sign": "Birch Wall Sign", + "block.minecraft.acacia_wall_sign": "Acacia Wall Sign", + "block.minecraft.jungle_wall_sign": "Jungle Wall Sign", + "block.minecraft.dark_oak_wall_sign": "Dark Oak Wall Sign", + "block.minecraft.ladder": "Ladder", + "block.minecraft.scaffolding": "Scaffolding", + "block.minecraft.rail": "Rail", + "block.minecraft.powered_rail": "Powered Rail", + "block.minecraft.activator_rail": "Activator Rail", + "block.minecraft.detector_rail": "Detector Rail", + "block.minecraft.cobblestone_stairs": "Cobblestone Stairs", + "block.minecraft.sandstone_stairs": "Sandstone Stairs", + "block.minecraft.red_sandstone_stairs": "Red Sandstone Stairs", + "block.minecraft.lever": "Lever", + "block.minecraft.stone_pressure_plate": "Stone Pressure Plate", + "block.minecraft.oak_pressure_plate": "Oak Pressure Plate", + "block.minecraft.spruce_pressure_plate": "Spruce Pressure Plate", + "block.minecraft.birch_pressure_plate": "Birch Pressure Plate", + "block.minecraft.jungle_pressure_plate": "Jungle Pressure Plate", + "block.minecraft.acacia_pressure_plate": "Acacia Pressure Plate", + "block.minecraft.dark_oak_pressure_plate": "Dark Oak Pressure Plate", + "block.minecraft.light_weighted_pressure_plate": "Light Weighted Pressure Plate", + "block.minecraft.heavy_weighted_pressure_plate": "Heavy Weighted Pressure Plate", + "block.minecraft.iron_door": "Iron Door", + "block.minecraft.redstone_ore": "Redstone Ore", + "block.minecraft.redstone_torch": "Redstone Torch", + "block.minecraft.redstone_wall_torch": "Redstone Wall Torch", + "block.minecraft.stone_button": "Stone Button", + "block.minecraft.oak_button": "Oak Button", + "block.minecraft.spruce_button": "Spruce Button", + "block.minecraft.birch_button": "Birch Button", + "block.minecraft.jungle_button": "Jungle Button", + "block.minecraft.acacia_button": "Acacia Button", + "block.minecraft.dark_oak_button": "Dark Oak Button", + "block.minecraft.snow": "Snow", + "block.minecraft.white_carpet": "White Carpet", + "block.minecraft.orange_carpet": "Orange Carpet", + "block.minecraft.magenta_carpet": "Magenta Carpet", + "block.minecraft.light_blue_carpet": "Light Blue Carpet", + "block.minecraft.yellow_carpet": "Yellow Carpet", + "block.minecraft.lime_carpet": "Lime Carpet", + "block.minecraft.pink_carpet": "Pink Carpet", + "block.minecraft.gray_carpet": "Gray Carpet", + "block.minecraft.light_gray_carpet": "Light Gray Carpet", + "block.minecraft.cyan_carpet": "Cyan Carpet", + "block.minecraft.purple_carpet": "Purple Carpet", + "block.minecraft.blue_carpet": "Blue Carpet", + "block.minecraft.brown_carpet": "Brown Carpet", + "block.minecraft.green_carpet": "Green Carpet", + "block.minecraft.red_carpet": "Red Carpet", + "block.minecraft.black_carpet": "Black Carpet", + "block.minecraft.ice": "Ice", + "block.minecraft.frosted_ice": "Frosted Ice", + "block.minecraft.packed_ice": "Packed Ice", + "block.minecraft.blue_ice": "Blue Ice", + "block.minecraft.cactus": "Cactus", + "block.minecraft.clay": "Clay", + "block.minecraft.white_terracotta": "White Terracotta", + "block.minecraft.orange_terracotta": "Orange Terracotta", + "block.minecraft.magenta_terracotta": "Magenta Terracotta", + "block.minecraft.light_blue_terracotta": "Light Blue Terracotta", + "block.minecraft.yellow_terracotta": "Yellow Terracotta", + "block.minecraft.lime_terracotta": "Lime Terracotta", + "block.minecraft.pink_terracotta": "Pink Terracotta", + "block.minecraft.gray_terracotta": "Gray Terracotta", + "block.minecraft.light_gray_terracotta": "Light Gray Terracotta", + "block.minecraft.cyan_terracotta": "Cyan Terracotta", + "block.minecraft.purple_terracotta": "Purple Terracotta", + "block.minecraft.blue_terracotta": "Blue Terracotta", + "block.minecraft.brown_terracotta": "Brown Terracotta", + "block.minecraft.green_terracotta": "Green Terracotta", + "block.minecraft.red_terracotta": "Red Terracotta", + "block.minecraft.black_terracotta": "Black Terracotta", + "block.minecraft.terracotta": "Terracotta", + "block.minecraft.sugar_cane": "Sugar Cane", + "block.minecraft.jukebox": "Jukebox", + "block.minecraft.oak_fence": "Oak Fence", + "block.minecraft.spruce_fence": "Spruce Fence", + "block.minecraft.birch_fence": "Birch Fence", + "block.minecraft.jungle_fence": "Jungle Fence", + "block.minecraft.dark_oak_fence": "Dark Oak Fence", + "block.minecraft.acacia_fence": "Acacia Fence", + "block.minecraft.oak_fence_gate": "Oak Fence Gate", + "block.minecraft.spruce_fence_gate": "Spruce Fence Gate", + "block.minecraft.birch_fence_gate": "Birch Fence Gate", + "block.minecraft.jungle_fence_gate": "Jungle Fence Gate", + "block.minecraft.dark_oak_fence_gate": "Dark Oak Fence Gate", + "block.minecraft.acacia_fence_gate": "Acacia Fence Gate", + "block.minecraft.pumpkin_stem": "Pumpkin Stem", + "block.minecraft.attached_pumpkin_stem": "Attached Pumpkin Stem", + "block.minecraft.pumpkin": "Pumpkin", + "block.minecraft.carved_pumpkin": "Carved Pumpkin", + "block.minecraft.jack_o_lantern": "Jack o'Lantern", + "block.minecraft.netherrack": "Netherrack", + "block.minecraft.soul_sand": "Soul Sand", + "block.minecraft.glowstone": "Glowstone", + "block.minecraft.nether_portal": "Nether Portal", + "block.minecraft.white_wool": "White Wool", + "block.minecraft.orange_wool": "Orange Wool", + "block.minecraft.magenta_wool": "Magenta Wool", + "block.minecraft.light_blue_wool": "Light Blue Wool", + "block.minecraft.yellow_wool": "Yellow Wool", + "block.minecraft.lime_wool": "Lime Wool", + "block.minecraft.pink_wool": "Pink Wool", + "block.minecraft.gray_wool": "Gray Wool", + "block.minecraft.light_gray_wool": "Light Gray Wool", + "block.minecraft.cyan_wool": "Cyan Wool", + "block.minecraft.purple_wool": "Purple Wool", + "block.minecraft.blue_wool": "Blue Wool", + "block.minecraft.brown_wool": "Brown Wool", + "block.minecraft.green_wool": "Green Wool", + "block.minecraft.red_wool": "Red Wool", + "block.minecraft.black_wool": "Black Wool", + "block.minecraft.lapis_ore": "Lapis Lazuli Ore", + "block.minecraft.lapis_block": "Lapis Lazuli Block", + "block.minecraft.dispenser": "Dispenser", + "block.minecraft.dropper": "Dropper", + "block.minecraft.note_block": "Note Block", + "block.minecraft.cake": "Cake", + "block.minecraft.bed": "Bed", + "block.minecraft.bed.occupied": "This bed is occupied", + "block.minecraft.bed.obstructed": "This bed is obstructed", + "block.minecraft.bed.no_sleep": "You can sleep only at night and during thunderstorms", + "block.minecraft.bed.too_far_away": "You may not rest now; the bed is too far away", + "block.minecraft.bed.not_safe": "You may not rest now; there are monsters nearby", + "block.minecraft.bed.not_valid": "Your home bed was missing or obstructed", + "block.minecraft.oak_trapdoor": "Oak Trapdoor", + "block.minecraft.spruce_trapdoor": "Spruce Trapdoor", + "block.minecraft.birch_trapdoor": "Birch Trapdoor", + "block.minecraft.jungle_trapdoor": "Jungle Trapdoor", + "block.minecraft.acacia_trapdoor": "Acacia Trapdoor", + "block.minecraft.dark_oak_trapdoor": "Dark Oak Trapdoor", + "block.minecraft.iron_trapdoor": "Iron Trapdoor", + "block.minecraft.cobweb": "Cobweb", + "block.minecraft.stone_bricks": "Stone Bricks", + "block.minecraft.mossy_stone_bricks": "Mossy Stone Bricks", + "block.minecraft.cracked_stone_bricks": "Cracked Stone Bricks", + "block.minecraft.chiseled_stone_bricks": "Chiseled Stone Bricks", + "block.minecraft.infested_stone": "Infested Stone", + "block.minecraft.infested_cobblestone": "Infested Cobblestone", + "block.minecraft.infested_stone_bricks": "Infested Stone Bricks", + "block.minecraft.infested_mossy_stone_bricks": "Infested Mossy Stone Bricks", + "block.minecraft.infested_cracked_stone_bricks": "Infested Cracked Stone Bricks", + "block.minecraft.infested_chiseled_stone_bricks": "Infested Chiseled Stone Bricks", + "block.minecraft.piston": "Piston", + "block.minecraft.sticky_piston": "Sticky Piston", + "block.minecraft.iron_bars": "Iron Bars", + "block.minecraft.melon": "Melon", + "block.minecraft.brick_stairs": "Brick Stairs", + "block.minecraft.stone_brick_stairs": "Stone Brick Stairs", + "block.minecraft.vine": "Vines", + "block.minecraft.nether_bricks": "Nether Bricks", + "block.minecraft.nether_brick_fence": "Nether Brick Fence", + "block.minecraft.nether_brick_stairs": "Nether Brick Stairs", + "block.minecraft.nether_wart": "Nether Wart", + "block.minecraft.cauldron": "Cauldron", + "block.minecraft.enchanting_table": "Enchanting Table", + "block.minecraft.anvil": "Anvil", + "block.minecraft.chipped_anvil": "Chipped Anvil", + "block.minecraft.damaged_anvil": "Damaged Anvil", + "block.minecraft.end_stone": "End Stone", + "block.minecraft.end_portal_frame": "End Portal Frame", + "block.minecraft.mycelium": "Mycelium", + "block.minecraft.lily_pad": "Lily Pad", + "block.minecraft.dragon_egg": "Dragon Egg", + "block.minecraft.redstone_lamp": "Redstone Lamp", + "block.minecraft.cocoa": "Cocoa", + "block.minecraft.ender_chest": "Ender Chest", + "block.minecraft.emerald_ore": "Emerald Ore", + "block.minecraft.emerald_block": "Block of Emerald", + "block.minecraft.redstone_block": "Block of Redstone", + "block.minecraft.tripwire": "Tripwire", + "block.minecraft.tripwire_hook": "Tripwire Hook", + "block.minecraft.command_block": "Command Block", + "block.minecraft.repeating_command_block": "Repeating Command Block", + "block.minecraft.chain_command_block": "Chain Command Block", + "block.minecraft.beacon": "Beacon", + "block.minecraft.beacon.primary": "Primary Power", + "block.minecraft.beacon.secondary": "Secondary Power", + "block.minecraft.cobblestone_wall": "Cobblestone Wall", + "block.minecraft.mossy_cobblestone_wall": "Mossy Cobblestone Wall", + "block.minecraft.carrots": "Carrots", + "block.minecraft.potatoes": "Potatoes", + "block.minecraft.daylight_detector": "Daylight Detector", + "block.minecraft.nether_quartz_ore": "Nether Quartz Ore", + "block.minecraft.hopper": "Hopper", + "block.minecraft.quartz_block": "Block of Quartz", + "block.minecraft.chiseled_quartz_block": "Chiseled Quartz Block", + "block.minecraft.quartz_pillar": "Quartz Pillar", + "block.minecraft.quartz_stairs": "Quartz Stairs", + "block.minecraft.slime_block": "Slime Block", + "block.minecraft.prismarine": "Prismarine", + "block.minecraft.prismarine_bricks": "Prismarine Bricks", + "block.minecraft.dark_prismarine": "Dark Prismarine", + "block.minecraft.sea_lantern": "Sea Lantern", + "block.minecraft.end_rod": "End Rod", + "block.minecraft.chorus_plant": "Chorus Plant", + "block.minecraft.chorus_flower": "Chorus Flower", + "block.minecraft.purpur_block": "Purpur Block", + "block.minecraft.purpur_pillar": "Purpur Pillar", + "block.minecraft.purpur_stairs": "Purpur Stairs", + "block.minecraft.purpur_slab": "Purpur Slab", + "block.minecraft.end_stone_bricks": "End Stone Bricks", + "block.minecraft.beetroots": "Beetroots", + "block.minecraft.grass_path": "Grass Path", + "block.minecraft.magma_block": "Magma Block", + "block.minecraft.nether_wart_block": "Nether Wart Block", + "block.minecraft.red_nether_bricks": "Red Nether Bricks", + "block.minecraft.bone_block": "Bone Block", + "block.minecraft.observer": "Observer", + "block.minecraft.shulker_box": "Shulker Box", + "block.minecraft.white_shulker_box": "White Shulker Box", + "block.minecraft.orange_shulker_box": "Orange Shulker Box", + "block.minecraft.magenta_shulker_box": "Magenta Shulker Box", + "block.minecraft.light_blue_shulker_box": "Light Blue Shulker Box", + "block.minecraft.yellow_shulker_box": "Yellow Shulker Box", + "block.minecraft.lime_shulker_box": "Lime Shulker Box", + "block.minecraft.pink_shulker_box": "Pink Shulker Box", + "block.minecraft.gray_shulker_box": "Gray Shulker Box", + "block.minecraft.light_gray_shulker_box": "Light Gray Shulker Box", + "block.minecraft.cyan_shulker_box": "Cyan Shulker Box", + "block.minecraft.purple_shulker_box": "Purple Shulker Box", + "block.minecraft.blue_shulker_box": "Blue Shulker Box", + "block.minecraft.brown_shulker_box": "Brown Shulker Box", + "block.minecraft.green_shulker_box": "Green Shulker Box", + "block.minecraft.red_shulker_box": "Red Shulker Box", + "block.minecraft.black_shulker_box": "Black Shulker Box", + "block.minecraft.white_glazed_terracotta": "White Glazed Terracotta", + "block.minecraft.orange_glazed_terracotta": "Orange Glazed Terracotta", + "block.minecraft.magenta_glazed_terracotta": "Magenta Glazed Terracotta", + "block.minecraft.light_blue_glazed_terracotta": "Light Blue Glazed Terracotta", + "block.minecraft.yellow_glazed_terracotta": "Yellow Glazed Terracotta", + "block.minecraft.lime_glazed_terracotta": "Lime Glazed Terracotta", + "block.minecraft.pink_glazed_terracotta": "Pink Glazed Terracotta", + "block.minecraft.gray_glazed_terracotta": "Gray Glazed Terracotta", + "block.minecraft.light_gray_glazed_terracotta": "Light Gray Glazed Terracotta", + "block.minecraft.cyan_glazed_terracotta": "Cyan Glazed Terracotta", + "block.minecraft.purple_glazed_terracotta": "Purple Glazed Terracotta", + "block.minecraft.blue_glazed_terracotta": "Blue Glazed Terracotta", + "block.minecraft.brown_glazed_terracotta": "Brown Glazed Terracotta", + "block.minecraft.green_glazed_terracotta": "Green Glazed Terracotta", + "block.minecraft.red_glazed_terracotta": "Red Glazed Terracotta", + "block.minecraft.black_glazed_terracotta": "Black Glazed Terracotta", + "block.minecraft.black_concrete": "Black Concrete", + "block.minecraft.red_concrete": "Red Concrete", + "block.minecraft.green_concrete": "Green Concrete", + "block.minecraft.brown_concrete": "Brown Concrete", + "block.minecraft.blue_concrete": "Blue Concrete", + "block.minecraft.purple_concrete": "Purple Concrete", + "block.minecraft.cyan_concrete": "Cyan Concrete", + "block.minecraft.light_gray_concrete": "Light Gray Concrete", + "block.minecraft.gray_concrete": "Gray Concrete", + "block.minecraft.pink_concrete": "Pink Concrete", + "block.minecraft.lime_concrete": "Lime Concrete", + "block.minecraft.yellow_concrete": "Yellow Concrete", + "block.minecraft.light_blue_concrete": "Light Blue Concrete", + "block.minecraft.magenta_concrete": "Magenta Concrete", + "block.minecraft.orange_concrete": "Orange Concrete", + "block.minecraft.white_concrete": "White Concrete", + "block.minecraft.black_concrete_powder": "Black Concrete Powder", + "block.minecraft.red_concrete_powder": "Red Concrete Powder", + "block.minecraft.green_concrete_powder": "Green Concrete Powder", + "block.minecraft.brown_concrete_powder": "Brown Concrete Powder", + "block.minecraft.blue_concrete_powder": "Blue Concrete Powder", + "block.minecraft.purple_concrete_powder": "Purple Concrete Powder", + "block.minecraft.cyan_concrete_powder": "Cyan Concrete Powder", + "block.minecraft.light_gray_concrete_powder": "Light Gray Concrete Powder", + "block.minecraft.gray_concrete_powder": "Gray Concrete Powder", + "block.minecraft.pink_concrete_powder": "Pink Concrete Powder", + "block.minecraft.lime_concrete_powder": "Lime Concrete Powder", + "block.minecraft.yellow_concrete_powder": "Yellow Concrete Powder", + "block.minecraft.light_blue_concrete_powder": "Light Blue Concrete Powder", + "block.minecraft.magenta_concrete_powder": "Magenta Concrete Powder", + "block.minecraft.orange_concrete_powder": "Orange Concrete Powder", + "block.minecraft.white_concrete_powder": "White Concrete Powder", + "block.minecraft.turtle_egg": "Turtle Egg", + "block.minecraft.two_turtle_eggs": "Two Turtle Eggs", + "block.minecraft.three_turtle_eggs": "Three Turtle Eggs", + "block.minecraft.four_turtle_eggs": "Four Turtle Eggs", + "block.minecraft.banner": "Banner", + "block.minecraft.wall_banner": "Wall Banner", + "block.minecraft.piston_head": "Piston Head", + "block.minecraft.moving_piston": "Moving Piston", + "block.minecraft.red_mushroom": "Red Mushroom", + "block.minecraft.snow_block": "Snow Block", + "block.minecraft.attached_melon_stem": "Attached Melon Stem", + "block.minecraft.melon_stem": "Melon Stem", + "block.minecraft.brewing_stand": "Brewing Stand", + "block.minecraft.end_portal": "End Portal", + "block.minecraft.flower_pot": "Flower Pot", + "block.minecraft.potted_oak_sapling": "Potted Oak Sapling", + "block.minecraft.potted_spruce_sapling": "Potted Spruce Sapling", + "block.minecraft.potted_birch_sapling": "Potted Birch Sapling", + "block.minecraft.potted_jungle_sapling": "Potted Jungle Sapling", + "block.minecraft.potted_acacia_sapling": "Potted Acacia Sapling", + "block.minecraft.potted_dark_oak_sapling": "Potted Dark Oak Sapling", + "block.minecraft.potted_fern": "Potted Fern", + "block.minecraft.potted_dandelion": "Potted Dandelion", + "block.minecraft.potted_poppy": "Potted Poppy", + "block.minecraft.potted_blue_orchid": "Potted Blue Orchid", + "block.minecraft.potted_allium": "Potted Allium", + "block.minecraft.potted_azure_bluet": "Potted Azure Bluet", + "block.minecraft.potted_red_tulip": "Potted Red Tulip", + "block.minecraft.potted_orange_tulip": "Potted Orange Tulip", + "block.minecraft.potted_white_tulip": "Potted White Tulip", + "block.minecraft.potted_pink_tulip": "Potted Pink Tulip", + "block.minecraft.potted_oxeye_daisy": "Potted Oxeye Daisy", + "block.minecraft.potted_cornflower": "Potted Cornflower", + "block.minecraft.potted_lily_of_the_valley": "Potted Lily of the Valley", + "block.minecraft.potted_wither_rose": "Potted Wither Rose", + "block.minecraft.potted_red_mushroom": "Potted Red Mushroom", + "block.minecraft.potted_brown_mushroom": "Potted Brown Mushroom", + "block.minecraft.potted_dead_bush": "Potted Dead Bush", + "block.minecraft.potted_cactus": "Potted Cactus", + "block.minecraft.potted_bamboo": "Potted Bamboo", + "block.minecraft.skeleton_wall_skull": "Skeleton Wall Skull", + "block.minecraft.skeleton_skull": "Skeleton Skull", + "block.minecraft.wither_skeleton_wall_skull": "Wither Skeleton Wall Skull", + "block.minecraft.wither_skeleton_skull": "Wither Skeleton Skull", + "block.minecraft.zombie_wall_head": "Zombie Wall Head", + "block.minecraft.zombie_head": "Zombie Head", + "block.minecraft.player_wall_head": "Player Wall Head", + "block.minecraft.player_head": "Player Head", + "block.minecraft.player_head.named": "%s's Head", + "block.minecraft.creeper_wall_head": "Creeper Wall Head", + "block.minecraft.creeper_head": "Creeper Head", + "block.minecraft.dragon_wall_head": "Dragon Wall Head", + "block.minecraft.dragon_head": "Dragon Head", + "block.minecraft.end_gateway": "End Gateway", + "block.minecraft.structure_void": "Structure Void", + "block.minecraft.structure_block": "Structure Block", + "block.minecraft.void_air": "Void Air", + "block.minecraft.cave_air": "Cave Air", + "block.minecraft.bubble_column": "Bubble Column", + "block.minecraft.dead_tube_coral_block": "Dead Tube Coral Block", + "block.minecraft.dead_brain_coral_block": "Dead Brain Coral Block", + "block.minecraft.dead_bubble_coral_block": "Dead Bubble Coral Block", + "block.minecraft.dead_fire_coral_block": "Dead Fire Coral Block", + "block.minecraft.dead_horn_coral_block": "Dead Horn Coral Block", + "block.minecraft.tube_coral_block": "Tube Coral Block", + "block.minecraft.brain_coral_block": "Brain Coral Block", + "block.minecraft.bubble_coral_block": "Bubble Coral Block", + "block.minecraft.fire_coral_block": "Fire Coral Block", + "block.minecraft.horn_coral_block": "Horn Coral Block", + "block.minecraft.tube_coral": "Tube Coral", + "block.minecraft.brain_coral": "Brain Coral", + "block.minecraft.bubble_coral": "Bubble Coral", + "block.minecraft.fire_coral": "Fire Coral", + "block.minecraft.horn_coral": "Horn Coral", + "block.minecraft.dead_tube_coral": "Dead Tube Coral", + "block.minecraft.dead_brain_coral": "Dead Brain Coral", + "block.minecraft.dead_bubble_coral": "Dead Bubble Coral", + "block.minecraft.dead_fire_coral": "Dead Fire Coral", + "block.minecraft.dead_horn_coral": "Dead Horn Coral", + "block.minecraft.tube_coral_fan": "Tube Coral Fan", + "block.minecraft.brain_coral_fan": "Brain Coral Fan", + "block.minecraft.bubble_coral_fan": "Bubble Coral Fan", + "block.minecraft.fire_coral_fan": "Fire Coral Fan", + "block.minecraft.horn_coral_fan": "Horn Coral Fan", + "block.minecraft.dead_tube_coral_fan": "Dead Tube Coral Fan", + "block.minecraft.dead_brain_coral_fan": "Dead Brain Coral Fan", + "block.minecraft.dead_bubble_coral_fan": "Dead Bubble Coral Fan", + "block.minecraft.dead_fire_coral_fan": "Dead Fire Coral Fan", + "block.minecraft.dead_horn_coral_fan": "Dead Horn Coral Fan", + "block.minecraft.tube_coral_wall_fan": "Tube Coral Wall Fan", + "block.minecraft.brain_coral_wall_fan": "Brain Coral Wall Fan", + "block.minecraft.bubble_coral_wall_fan": "Bubble Coral Wall Fan", + "block.minecraft.fire_coral_wall_fan": "Fire Coral Wall Fan", + "block.minecraft.horn_coral_wall_fan": "Horn Coral Wall Fan", + "block.minecraft.dead_tube_coral_wall_fan": "Dead Tube Coral Wall Fan", + "block.minecraft.dead_brain_coral_wall_fan": "Dead Brain Coral Wall Fan", + "block.minecraft.dead_bubble_coral_wall_fan": "Dead Bubble Coral Wall Fan", + "block.minecraft.dead_fire_coral_wall_fan": "Dead Fire Coral Wall Fan", + "block.minecraft.dead_horn_coral_wall_fan": "Dead Horn Coral Wall Fan", + "block.minecraft.loom": "Loom", + "block.minecraft.conduit": "Conduit", + "block.minecraft.bamboo": "Bamboo", + "block.minecraft.bamboo_sapling": "Bamboo Sapling", + "block.minecraft.jigsaw": "Jigsaw Block", + "block.minecraft.composter": "Composter", + "block.minecraft.polished_granite_stairs": "Polished Granite Stairs", + "block.minecraft.smooth_red_sandstone_stairs": "Smooth Red Sandstone Stairs", + "block.minecraft.mossy_stone_brick_stairs": "Mossy Stone Brick Stairs", + "block.minecraft.polished_diorite_stairs": "Polished Diorite Stairs", + "block.minecraft.mossy_cobblestone_stairs": "Mossy Cobblestone Stairs", + "block.minecraft.end_stone_brick_stairs": "End Stone Brick Stairs", + "block.minecraft.stone_stairs": "Stone Stairs", + "block.minecraft.smooth_sandstone_stairs": "Smooth Sandstone Stairs", + "block.minecraft.smooth_quartz_stairs": "Smooth Quartz Stairs", + "block.minecraft.granite_stairs": "Granite Stairs", + "block.minecraft.andesite_stairs": "Andesite Stairs", + "block.minecraft.red_nether_brick_stairs": "Red Nether Brick Stairs", + "block.minecraft.polished_andesite_stairs": "Polished Andesite Stairs", + "block.minecraft.diorite_stairs": "Diorite Stairs", + "block.minecraft.polished_granite_slab": "Polished Granite Slab", + "block.minecraft.smooth_red_sandstone_slab": "Smooth Red Sandstone Slab", + "block.minecraft.mossy_stone_brick_slab": "Mossy Stone Brick Slab", + "block.minecraft.polished_diorite_slab": "Polished Diorite Slab", + "block.minecraft.mossy_cobblestone_slab": "Mossy Cobblestone Slab", + "block.minecraft.end_stone_brick_slab": "End Stone Brick Slab", + "block.minecraft.smooth_sandstone_slab": "Smooth Sandstone Slab", + "block.minecraft.smooth_quartz_slab": "Smooth Quartz Slab", + "block.minecraft.granite_slab": "Granite Slab", + "block.minecraft.andesite_slab": "Andesite Slab", + "block.minecraft.red_nether_brick_slab": "Red Nether Brick Slab", + "block.minecraft.polished_andesite_slab": "Polished Andesite Slab", + "block.minecraft.diorite_slab": "Diorite Slab", + "block.minecraft.brick_wall": "Brick Wall", + "block.minecraft.prismarine_wall": "Prismarine Wall", + "block.minecraft.red_sandstone_wall": "Red Sandstone Wall", + "block.minecraft.mossy_stone_brick_wall": "Mossy Stone Brick Wall", + "block.minecraft.granite_wall": "Granite Wall", + "block.minecraft.stone_brick_wall": "Stone Brick Wall", + "block.minecraft.nether_brick_wall": "Nether Brick Wall", + "block.minecraft.andesite_wall": "Andesite Wall", + "block.minecraft.red_nether_brick_wall": "Red Nether Brick Wall", + "block.minecraft.sandstone_wall": "Sandstone Wall", + "block.minecraft.end_stone_brick_wall": "End Stone Brick Wall", + "block.minecraft.diorite_wall": "Diorite Wall", + "block.minecraft.barrel": "Barrel", + "block.minecraft.smoker": "Smoker", + "block.minecraft.blast_furnace": "Blast Furnace", + "block.minecraft.cartography_table": "Cartography Table", + "block.minecraft.fletching_table": "Fletching Table", + "block.minecraft.smithing_table": "Smithing Table", + "block.minecraft.grindstone": "Grindstone", + "block.minecraft.lectern": "Lectern", + "block.minecraft.stonecutter": "Stonecutter", + "block.minecraft.bell": "Bell", + "block.minecraft.ominous_banner": "Ominous Banner", + "block.minecraft.lantern": "Lantern", + "block.minecraft.sweet_berry_bush": "Sweet Berry Bush", + "block.minecraft.campfire": "Campfire", + "item.minecraft.name_tag": "Name Tag", + "item.minecraft.lead": "Lead", + "item.minecraft.iron_shovel": "Iron Shovel", + "item.minecraft.iron_pickaxe": "Iron Pickaxe", + "item.minecraft.iron_axe": "Iron Axe", + "item.minecraft.flint_and_steel": "Flint and Steel", + "item.minecraft.apple": "Apple", + "item.minecraft.cookie": "Cookie", + "item.minecraft.bow": "Bow", + "item.minecraft.arrow": "Arrow", + "item.minecraft.spectral_arrow": "Spectral Arrow", + "item.minecraft.tipped_arrow": "Tipped Arrow", + "item.minecraft.dried_kelp": "Dried Kelp", + "item.minecraft.coal": "Coal", + "item.minecraft.charcoal": "Charcoal", + "item.minecraft.diamond": "Diamond", + "item.minecraft.emerald": "Emerald", + "item.minecraft.iron_ingot": "Iron Ingot", + "item.minecraft.gold_ingot": "Gold Ingot", + "item.minecraft.iron_sword": "Iron Sword", + "item.minecraft.wooden_sword": "Wooden Sword", + "item.minecraft.wooden_shovel": "Wooden Shovel", + "item.minecraft.wooden_pickaxe": "Wooden Pickaxe", + "item.minecraft.wooden_axe": "Wooden Axe", + "item.minecraft.stone_sword": "Stone Sword", + "item.minecraft.stone_shovel": "Stone Shovel", + "item.minecraft.stone_pickaxe": "Stone Pickaxe", + "item.minecraft.stone_axe": "Stone Axe", + "item.minecraft.diamond_sword": "Diamond Sword", + "item.minecraft.diamond_shovel": "Diamond Shovel", + "item.minecraft.diamond_pickaxe": "Diamond Pickaxe", + "item.minecraft.diamond_axe": "Diamond Axe", + "item.minecraft.stick": "Stick", + "item.minecraft.bowl": "Bowl", + "item.minecraft.mushroom_stew": "Mushroom Stew", + "item.minecraft.golden_sword": "Golden Sword", + "item.minecraft.golden_shovel": "Golden Shovel", + "item.minecraft.golden_pickaxe": "Golden Pickaxe", + "item.minecraft.golden_axe": "Golden Axe", + "item.minecraft.string": "String", + "item.minecraft.feather": "Feather", + "item.minecraft.gunpowder": "Gunpowder", + "item.minecraft.wooden_hoe": "Wooden Hoe", + "item.minecraft.stone_hoe": "Stone Hoe", + "item.minecraft.iron_hoe": "Iron Hoe", + "item.minecraft.diamond_hoe": "Diamond Hoe", + "item.minecraft.golden_hoe": "Golden Hoe", + "item.minecraft.wheat_seeds": "Wheat Seeds", + "item.minecraft.pumpkin_seeds": "Pumpkin Seeds", + "item.minecraft.melon_seeds": "Melon Seeds", + "item.minecraft.melon_slice": "Melon Slice", + "item.minecraft.wheat": "Wheat", + "item.minecraft.bread": "Bread", + "item.minecraft.leather_helmet": "Leather Cap", + "item.minecraft.leather_chestplate": "Leather Tunic", + "item.minecraft.leather_leggings": "Leather Pants", + "item.minecraft.leather_boots": "Leather Boots", + "item.minecraft.chainmail_helmet": "Chainmail Helmet", + "item.minecraft.chainmail_chestplate": "Chainmail Chestplate", + "item.minecraft.chainmail_leggings": "Chainmail Leggings", + "item.minecraft.chainmail_boots": "Chainmail Boots", + "item.minecraft.iron_helmet": "Iron Helmet", + "item.minecraft.iron_chestplate": "Iron Chestplate", + "item.minecraft.iron_leggings": "Iron Leggings", + "item.minecraft.iron_boots": "Iron Boots", + "item.minecraft.diamond_helmet": "Diamond Helmet", + "item.minecraft.diamond_chestplate": "Diamond Chestplate", + "item.minecraft.diamond_leggings": "Diamond Leggings", + "item.minecraft.diamond_boots": "Diamond Boots", + "item.minecraft.golden_helmet": "Golden Helmet", + "item.minecraft.golden_chestplate": "Golden Chestplate", + "item.minecraft.golden_leggings": "Golden Leggings", + "item.minecraft.golden_boots": "Golden Boots", + "item.minecraft.flint": "Flint", + "item.minecraft.porkchop": "Raw Porkchop", + "item.minecraft.cooked_porkchop": "Cooked Porkchop", + "item.minecraft.chicken": "Raw Chicken", + "item.minecraft.cooked_chicken": "Cooked Chicken", + "item.minecraft.mutton": "Raw Mutton", + "item.minecraft.cooked_mutton": "Cooked Mutton", + "item.minecraft.rabbit": "Raw Rabbit", + "item.minecraft.cooked_rabbit": "Cooked Rabbit", + "item.minecraft.rabbit_stew": "Rabbit Stew", + "item.minecraft.rabbit_foot": "Rabbit's Foot", + "item.minecraft.rabbit_hide": "Rabbit Hide", + "item.minecraft.beef": "Raw Beef", + "item.minecraft.cooked_beef": "Steak", + "item.minecraft.painting": "Painting", + "item.minecraft.item_frame": "Item Frame", + "item.minecraft.golden_apple": "Golden Apple", + "item.minecraft.enchanted_golden_apple": "Enchanted Golden Apple", + "item.minecraft.sign": "Sign", + "item.minecraft.bucket": "Bucket", + "item.minecraft.water_bucket": "Water Bucket", + "item.minecraft.lava_bucket": "Lava Bucket", + "item.minecraft.pufferfish_bucket": "Bucket of Pufferfish", + "item.minecraft.salmon_bucket": "Bucket of Salmon", + "item.minecraft.cod_bucket": "Bucket of Cod", + "item.minecraft.tropical_fish_bucket": "Bucket of Tropical Fish", + "item.minecraft.minecart": "Minecart", + "item.minecraft.saddle": "Saddle", + "item.minecraft.redstone": "Redstone Dust", + "item.minecraft.snowball": "Snowball", + "item.minecraft.oak_boat": "Oak Boat", + "item.minecraft.spruce_boat": "Spruce Boat", + "item.minecraft.birch_boat": "Birch Boat", + "item.minecraft.jungle_boat": "Jungle Boat", + "item.minecraft.acacia_boat": "Acacia Boat", + "item.minecraft.dark_oak_boat": "Dark Oak Boat", + "item.minecraft.leather": "Leather", + "item.minecraft.milk_bucket": "Milk Bucket", + "item.minecraft.brick": "Brick", + "item.minecraft.clay_ball": "Clay", + "item.minecraft.paper": "Paper", + "item.minecraft.book": "Book", + "item.minecraft.slime_ball": "Slimeball", + "item.minecraft.chest_minecart": "Minecart with Chest", + "item.minecraft.furnace_minecart": "Minecart with Furnace", + "item.minecraft.tnt_minecart": "Minecart with TNT", + "item.minecraft.hopper_minecart": "Minecart with Hopper", + "item.minecraft.command_block_minecart": "Minecart with Command Block", + "item.minecraft.egg": "Egg", + "item.minecraft.compass": "Compass", + "item.minecraft.fishing_rod": "Fishing Rod", + "item.minecraft.clock": "Clock", + "item.minecraft.glowstone_dust": "Glowstone Dust", + "item.minecraft.cod": "Raw Cod", + "item.minecraft.salmon": "Raw Salmon", + "item.minecraft.pufferfish": "Pufferfish", + "item.minecraft.tropical_fish": "Tropical Fish", + "item.minecraft.cooked_cod": "Cooked Cod", + "item.minecraft.cooked_salmon": "Cooked Salmon", + "item.minecraft.music_disc_13": "Music Disc", + "item.minecraft.music_disc_cat": "Music Disc", + "item.minecraft.music_disc_blocks": "Music Disc", + "item.minecraft.music_disc_chirp": "Music Disc", + "item.minecraft.music_disc_far": "Music Disc", + "item.minecraft.music_disc_mall": "Music Disc", + "item.minecraft.music_disc_mellohi": "Music Disc", + "item.minecraft.music_disc_stal": "Music Disc", + "item.minecraft.music_disc_strad": "Music Disc", + "item.minecraft.music_disc_ward": "Music Disc", + "item.minecraft.music_disc_11": "Music Disc", + "item.minecraft.music_disc_wait": "Music Disc", + "item.minecraft.music_disc_13.desc": "C418 - 13", + "item.minecraft.music_disc_cat.desc": "C418 - cat", + "item.minecraft.music_disc_blocks.desc": "C418 - blocks", + "item.minecraft.music_disc_chirp.desc": "C418 - chirp", + "item.minecraft.music_disc_far.desc": "C418 - far", + "item.minecraft.music_disc_mall.desc": "C418 - mall", + "item.minecraft.music_disc_mellohi.desc": "C418 - mellohi", + "item.minecraft.music_disc_stal.desc": "C418 - stal", + "item.minecraft.music_disc_strad.desc": "C418 - strad", + "item.minecraft.music_disc_ward.desc": "C418 - ward", + "item.minecraft.music_disc_11.desc": "C418 - 11", + "item.minecraft.music_disc_wait.desc": "C418 - wait", + "item.minecraft.bone": "Bone", + "item.minecraft.ink_sac": "Ink Sac", + "item.minecraft.red_dye": "Red Dye", + "item.minecraft.green_dye": "Green Dye", + "item.minecraft.cocoa_beans": "Cocoa Beans", + "item.minecraft.lapis_lazuli": "Lapis Lazuli", + "item.minecraft.purple_dye": "Purple Dye", + "item.minecraft.cyan_dye": "Cyan Dye", + "item.minecraft.light_gray_dye": "Light Gray Dye", + "item.minecraft.gray_dye": "Gray Dye", + "item.minecraft.pink_dye": "Pink Dye", + "item.minecraft.lime_dye": "Lime Dye", + "item.minecraft.yellow_dye": "Yellow Dye", + "item.minecraft.light_blue_dye": "Light Blue Dye", + "item.minecraft.magenta_dye": "Magenta Dye", + "item.minecraft.orange_dye": "Orange Dye", + "item.minecraft.bone_meal": "Bone Meal", + "item.minecraft.blue_dye": "Blue Dye", + "item.minecraft.black_dye": "Black Dye", + "item.minecraft.brown_dye": "Brown Dye", + "item.minecraft.white_dye": "White Dye", + "item.minecraft.sugar": "Sugar", + "block.minecraft.black_bed": "Black Bed", + "block.minecraft.red_bed": "Red Bed", + "block.minecraft.green_bed": "Green Bed", + "block.minecraft.brown_bed": "Brown Bed", + "block.minecraft.blue_bed": "Blue Bed", + "block.minecraft.purple_bed": "Purple Bed", + "block.minecraft.cyan_bed": "Cyan Bed", + "block.minecraft.light_gray_bed": "Light Gray Bed", + "block.minecraft.gray_bed": "Gray Bed", + "block.minecraft.pink_bed": "Pink Bed", + "block.minecraft.lime_bed": "Lime Bed", + "block.minecraft.yellow_bed": "Yellow Bed", + "block.minecraft.light_blue_bed": "Light Blue Bed", + "block.minecraft.magenta_bed": "Magenta Bed", + "block.minecraft.orange_bed": "Orange Bed", + "block.minecraft.white_bed": "White Bed", + "block.minecraft.repeater": "Redstone Repeater", + "block.minecraft.comparator": "Redstone Comparator", + "item.minecraft.filled_map": "Map", + "item.minecraft.shears": "Shears", + "item.minecraft.rotten_flesh": "Rotten Flesh", + "item.minecraft.ender_pearl": "Ender Pearl", + "item.minecraft.blaze_rod": "Blaze Rod", + "item.minecraft.ghast_tear": "Ghast Tear", + "item.minecraft.nether_wart": "Nether Wart", + "item.minecraft.potion": "Potion", + "item.minecraft.splash_potion": "Splash Potion", + "item.minecraft.lingering_potion": "Lingering Potion", + "item.minecraft.end_crystal": "End Crystal", + "item.minecraft.gold_nugget": "Gold Nugget", + "item.minecraft.glass_bottle": "Glass Bottle", + "item.minecraft.spider_eye": "Spider Eye", + "item.minecraft.fermented_spider_eye": "Fermented Spider Eye", + "item.minecraft.blaze_powder": "Blaze Powder", + "item.minecraft.magma_cream": "Magma Cream", + "item.minecraft.cauldron": "Cauldron", + "item.minecraft.brewing_stand": "Brewing Stand", + "item.minecraft.ender_eye": "Eye of Ender", + "item.minecraft.glistering_melon_slice": "Glistering Melon Slice", + "item.minecraft.bat_spawn_egg": "Bat Spawn Egg", + "item.minecraft.blaze_spawn_egg": "Blaze Spawn Egg", + "item.minecraft.cat_spawn_egg": "Cat Spawn Egg", + "item.minecraft.cave_spider_spawn_egg": "Cave Spider Spawn Egg", + "item.minecraft.chicken_spawn_egg": "Chicken Spawn Egg", + "item.minecraft.cod_spawn_egg": "Cod Spawn Egg", + "item.minecraft.cow_spawn_egg": "Cow Spawn Egg", + "item.minecraft.creeper_spawn_egg": "Creeper Spawn Egg", + "item.minecraft.dolphin_spawn_egg": "Dolphin Spawn Egg", + "item.minecraft.donkey_spawn_egg": "Donkey Spawn Egg", + "item.minecraft.drowned_spawn_egg": "Drowned Spawn Egg", + "item.minecraft.elder_guardian_spawn_egg": "Elder Guardian Spawn Egg", + "item.minecraft.enderman_spawn_egg": "Enderman Spawn Egg", + "item.minecraft.endermite_spawn_egg": "Endermite Spawn Egg", + "item.minecraft.evoker_spawn_egg": "Evoker Spawn Egg", + "item.minecraft.ghast_spawn_egg": "Ghast Spawn Egg", + "item.minecraft.guardian_spawn_egg": "Guardian Spawn Egg", + "item.minecraft.horse_spawn_egg": "Horse Spawn Egg", + "item.minecraft.husk_spawn_egg": "Husk Spawn Egg", + "item.minecraft.ravager_spawn_egg": "Ravager Spawn Egg", + "item.minecraft.llama_spawn_egg": "Llama Spawn Egg", + "item.minecraft.magma_cube_spawn_egg": "Magma Cube Spawn Egg", + "item.minecraft.mooshroom_spawn_egg": "Mooshroom Spawn Egg", + "item.minecraft.mule_spawn_egg": "Mule Spawn Egg", + "item.minecraft.ocelot_spawn_egg": "Ocelot Spawn Egg", + "item.minecraft.panda_spawn_egg": "Panda Spawn Egg", + "item.minecraft.parrot_spawn_egg": "Parrot Spawn Egg", + "item.minecraft.pig_spawn_egg": "Pig Spawn Egg", + "item.minecraft.pillager_spawn_egg": "Pillager Spawn Egg", + "item.minecraft.phantom_spawn_egg": "Phantom Spawn Egg", + "item.minecraft.polar_bear_spawn_egg": "Polar Bear Spawn Egg", + "item.minecraft.pufferfish_spawn_egg": "Pufferfish Spawn Egg", + "item.minecraft.rabbit_spawn_egg": "Rabbit Spawn Egg", + "item.minecraft.fox_spawn_egg": "Fox Spawn Egg", + "item.minecraft.salmon_spawn_egg": "Salmon Spawn Egg", + "item.minecraft.sheep_spawn_egg": "Sheep Spawn Egg", + "item.minecraft.shulker_spawn_egg": "Shulker Spawn Egg", + "item.minecraft.silverfish_spawn_egg": "Silverfish Spawn Egg", + "item.minecraft.skeleton_spawn_egg": "Skeleton Spawn Egg", + "item.minecraft.skeleton_horse_spawn_egg": "Skeleton Horse Spawn Egg", + "item.minecraft.slime_spawn_egg": "Slime Spawn Egg", + "item.minecraft.spider_spawn_egg": "Spider Spawn Egg", + "item.minecraft.squid_spawn_egg": "Squid Spawn Egg", + "item.minecraft.stray_spawn_egg": "Stray Spawn Egg", + "item.minecraft.trader_llama_spawn_egg": "Trader Llama Spawn Egg", + "item.minecraft.tropical_fish_spawn_egg": "Tropical Fish Spawn Egg", + "item.minecraft.turtle_spawn_egg": "Turtle Spawn Egg", + "item.minecraft.vex_spawn_egg": "Vex Spawn Egg", + "item.minecraft.villager_spawn_egg": "Villager Spawn Egg", + "item.minecraft.wandering_trader_spawn_egg": "Wandering Trader Spawn Egg", + "item.minecraft.vindicator_spawn_egg": "Vindicator Spawn Egg", + "item.minecraft.witch_spawn_egg": "Witch Spawn Egg", + "item.minecraft.wither_skeleton_spawn_egg": "Wither Skeleton Spawn Egg", + "item.minecraft.wolf_spawn_egg": "Wolf Spawn Egg", + "item.minecraft.zombie_spawn_egg": "Zombie Spawn Egg", + "item.minecraft.zombie_horse_spawn_egg": "Zombie Horse Spawn Egg", + "item.minecraft.zombie_pigman_spawn_egg": "Zombie Pigman Spawn Egg", + "item.minecraft.zombie_villager_spawn_egg": "Zombie Villager Spawn Egg", + "item.minecraft.experience_bottle": "Bottle o' Enchanting", + "item.minecraft.fire_charge": "Fire Charge", + "item.minecraft.writable_book": "Book and Quill", + "item.minecraft.written_book": "Written Book", + "item.minecraft.flower_pot": "Flower Pot", + "item.minecraft.map": "Empty Map", + "item.minecraft.carrot": "Carrot", + "item.minecraft.golden_carrot": "Golden Carrot", + "item.minecraft.potato": "Potato", + "item.minecraft.baked_potato": "Baked Potato", + "item.minecraft.poisonous_potato": "Poisonous Potato", + "item.minecraft.skeleton_skull": "Skeleton Skull", + "item.minecraft.wither_skeleton_skull": "Wither Skeleton Skull", + "item.minecraft.zombie_head": "Zombie Head", + "item.minecraft.creeper_head": "Creeper Head", + "item.minecraft.dragon_head": "Dragon Head", + "item.minecraft.carrot_on_a_stick": "Carrot on a Stick", + "item.minecraft.nether_star": "Nether Star", + "item.minecraft.pumpkin_pie": "Pumpkin Pie", + "item.minecraft.enchanted_book": "Enchanted Book", + "item.minecraft.firework_rocket": "Firework Rocket", + "item.minecraft.firework_rocket.flight": "Flight Duration:", + "item.minecraft.firework_star": "Firework Star", + "item.minecraft.firework_star.black": "Black", + "item.minecraft.firework_star.red": "Red", + "item.minecraft.firework_star.green": "Green", + "item.minecraft.firework_star.brown": "Brown", + "item.minecraft.firework_star.blue": "Blue", + "item.minecraft.firework_star.purple": "Purple", + "item.minecraft.firework_star.cyan": "Cyan", + "item.minecraft.firework_star.light_gray": "Light Gray", + "item.minecraft.firework_star.gray": "Gray", + "item.minecraft.firework_star.pink": "Pink", + "item.minecraft.firework_star.lime": "Lime", + "item.minecraft.firework_star.yellow": "Yellow", + "item.minecraft.firework_star.light_blue": "Light Blue", + "item.minecraft.firework_star.magenta": "Magenta", + "item.minecraft.firework_star.orange": "Orange", + "item.minecraft.firework_star.white": "White", + "item.minecraft.firework_star.custom_color": "Custom", + "item.minecraft.firework_star.fade_to": "Fade to", + "item.minecraft.firework_star.flicker": "Twinkle", + "item.minecraft.firework_star.trail": "Trail", + "item.minecraft.firework_star.shape.small_ball": "Small Ball", + "item.minecraft.firework_star.shape.large_ball": "Large Ball", + "item.minecraft.firework_star.shape.star": "Star-shaped", + "item.minecraft.firework_star.shape.creeper": "Creeper-shaped", + "item.minecraft.firework_star.shape.burst": "Burst", + "item.minecraft.firework_star.shape": "Unknown Shape", + "item.minecraft.nether_brick": "Nether Brick", + "item.minecraft.quartz": "Nether Quartz", + "item.minecraft.armor_stand": "Armor Stand", + "item.minecraft.iron_horse_armor": "Iron Horse Armor", + "item.minecraft.golden_horse_armor": "Golden Horse Armor", + "item.minecraft.diamond_horse_armor": "Diamond Horse Armor", + "item.minecraft.leather_horse_armor": "Leather Horse Armor", + "item.minecraft.prismarine_shard": "Prismarine Shard", + "item.minecraft.prismarine_crystals": "Prismarine Crystals", + "item.minecraft.chorus_fruit": "Chorus Fruit", + "item.minecraft.popped_chorus_fruit": "Popped Chorus Fruit", + "item.minecraft.beetroot": "Beetroot", + "item.minecraft.beetroot_seeds": "Beetroot Seeds", + "item.minecraft.beetroot_soup": "Beetroot Soup", + "item.minecraft.dragon_breath": "Dragon's Breath", + "item.minecraft.elytra": "Elytra", + "item.minecraft.totem_of_undying": "Totem of Undying", + "item.minecraft.shulker_shell": "Shulker Shell", + "item.minecraft.iron_nugget": "Iron Nugget", + "item.minecraft.knowledge_book": "Knowledge Book", + "item.minecraft.debug_stick": "Debug Stick", + "item.minecraft.debug_stick.empty": "%s has no properties", + "item.minecraft.debug_stick.update": "\"%s\" to %s", + "item.minecraft.debug_stick.select": "selected \"%s\" (%s)", + "item.minecraft.trident": "Trident", + "item.minecraft.scute": "Scute", + "item.minecraft.turtle_helmet": "Turtle Shell", + "item.minecraft.phantom_membrane": "Phantom Membrane", + "item.minecraft.nautilus_shell": "Nautilus Shell", + "item.minecraft.heart_of_the_sea": "Heart of the Sea", + "item.minecraft.crossbow": "Crossbow", + "item.minecraft.crossbow.projectile": "Projectile:", + "item.minecraft.suspicious_stew": "Suspicious Stew", + "item.minecraft.creeper_banner_pattern": "Banner Pattern", + "item.minecraft.skull_banner_pattern": "Banner Pattern", + "item.minecraft.flower_banner_pattern": "Banner Pattern", + "item.minecraft.mojang_banner_pattern": "Banner Pattern", + "item.minecraft.globe_banner_pattern": "Banner Pattern", + "item.minecraft.creeper_banner_pattern.desc": "Creeper Charge", + "item.minecraft.skull_banner_pattern.desc": "Skull Charge", + "item.minecraft.flower_banner_pattern.desc": "Flower Charge", + "item.minecraft.mojang_banner_pattern.desc": "Thing", + "item.minecraft.globe_banner_pattern.desc": "Globe", + "item.minecraft.sweet_berries": "Sweet Berries", + "container.inventory": "Inventory", + "container.hopper": "Item Hopper", + "container.crafting": "Crafting", + "container.dispenser": "Dispenser", + "container.dropper": "Dropper", + "container.furnace": "Furnace", + "container.enchant": "Enchant", + "container.smoker": "Smoker", + "container.lectern": "Lectern", + "container.blast_furnace": "Blast Furnace", + "container.enchant.lapis.one": "1 Lapis Lazuli", + "container.enchant.lapis.many": "%s Lapis Lazuli", + "container.enchant.level.one": "1 Enchantment Level", + "container.enchant.level.many": "%s Enchantment Levels", + "container.enchant.level.requirement": "Level requirement: %s", + "container.enchant.clue": "%s . . . ?", + "container.repair": "Repair & Name", + "container.repair.cost": "Enchantment Cost: %1$s", + "container.repair.expensive": "Too Expensive!", + "container.creative": "Item Selection", + "container.brewing": "Brewing Stand", + "container.chest": "Chest", + "container.chestDouble": "Large Chest", + "container.enderchest": "Ender Chest", + "container.beacon": "Beacon", + "container.shulkerBox": "Shulker Box", + "container.shulkerBox.more": "and %s more...", + "container.barrel": "Barrel", + "container.spectatorCantOpen": "Unable to open. Loot not generated yet.", + "container.isLocked": "%s is locked!", + "container.loom": "Loom", + "container.grindstone_title": "Repair & Disenchant", + "container.cartography_table": "Cartography Table", + "container.stonecutter": "Stonecutter", + "structure_block.invalid_structure_name": "Invalid structure name '%s'", + "structure_block.save_success": "Structure saved as '%s'", + "structure_block.save_failure": "Unable to save structure '%s'", + "structure_block.load_success": "Structure loaded from '%s'", + "structure_block.load_prepare": "Structure '%s' position prepared", + "structure_block.load_not_found": "Structure '%s' is not available", + "structure_block.size_success": "Size successfully detected for '%s'", + "structure_block.size_failure": "Unable to detect structure size. Add corners with matching structure names", + "structure_block.mode.save": "Save", + "structure_block.mode.load": "Load", + "structure_block.mode.data": "Data", + "structure_block.mode.corner": "Corner", + "structure_block.hover.save": "Save: %s", + "structure_block.hover.load": "Load: %s", + "structure_block.hover.data": "Data: %s", + "structure_block.hover.corner": "Corner: %s", + "structure_block.mode_info.save": "Save mode - write to file", + "structure_block.mode_info.load": "Load mode - load from file", + "structure_block.mode_info.data": "Data mode - game logic marker", + "structure_block.mode_info.corner": "Corner mode - placement and size marker", + "structure_block.structure_name": "Structure Name", + "structure_block.custom_data": "Custom Data Tag Name", + "structure_block.position": "Relative Position", + "structure_block.position.x": "relative Position x", + "structure_block.position.y": "relative position y", + "structure_block.position.z": "relative position z", + "structure_block.size": "Structure Size", + "structure_block.size.x": "structure size x", + "structure_block.size.y": "structure size y", + "structure_block.size.z": "structure size z", + "structure_block.integrity": "Structure Integrity and Seed", + "structure_block.integrity.integrity": "Structure Integrity", + "structure_block.integrity.seed": "Structure Seed", + "structure_block.include_entities": "Include entities:", + "structure_block.detect_size": "Detect structure size and position:", + "structure_block.button.detect_size": "DETECT", + "structure_block.button.save": "SAVE", + "structure_block.button.load": "LOAD", + "structure_block.show_air": "Show invisible blocks:", + "structure_block.show_boundingbox": "Show bounding box:", + "jigsaw_block.target_pool": "Target pool:", + "jigsaw_block.attachement_type": "Attachment type:", + "jigsaw_block.final_state": "Turns into:", + "item.dyed": "Dyed", + "item.unbreakable": "Unbreakable", + "item.canBreak": "Can break:", + "item.canPlace": "Can be placed on:", + "item.color": "Color: %s", + "item.nbt_tags": "NBT: %s tag(s)", + "item.durability": "Durability: %s / %s", + "filled_map.mansion": "Woodland Explorer Map", + "filled_map.monument": "Ocean Explorer Map", + "filled_map.buried_treasure": "Buried Treasure Map", + "filled_map.unknown": "Unknown Map", + "filled_map.id": "Id #%s", + "filled_map.level": "(Level %s/%s)", + "filled_map.scale": "Scaling at 1:%s", + "filled_map.locked": "Locked", + "entity.minecraft.area_effect_cloud": "Area Effect Cloud", + "entity.minecraft.armor_stand": "Armor Stand", + "entity.minecraft.arrow": "Arrow", + "entity.minecraft.bat": "Bat", + "entity.minecraft.blaze": "Blaze", + "entity.minecraft.boat": "Boat", + "entity.minecraft.cat": "Cat", + "entity.minecraft.cave_spider": "Cave Spider", + "entity.minecraft.chest_minecart": "Minecart with Chest", + "entity.minecraft.chicken": "Chicken", + "entity.minecraft.command_block_minecart": "Minecart with Command Block", + "entity.minecraft.cod": "Cod", + "entity.minecraft.cow": "Cow", + "entity.minecraft.creeper": "Creeper", + "entity.minecraft.dolphin": "Dolphin", + "entity.minecraft.donkey": "Donkey", + "entity.minecraft.drowned": "Drowned", + "entity.minecraft.dragon_fireball": "Dragon Fireball", + "entity.minecraft.egg": "Thrown Egg", + "entity.minecraft.elder_guardian": "Elder Guardian", + "entity.minecraft.end_crystal": "End Crystal", + "entity.minecraft.ender_dragon": "Ender Dragon", + "entity.minecraft.ender_pearl": "Thrown Ender Pearl", + "entity.minecraft.enderman": "Enderman", + "entity.minecraft.endermite": "Endermite", + "entity.minecraft.evoker_fangs": "Evoker Fangs", + "entity.minecraft.evoker": "Evoker", + "entity.minecraft.eye_of_ender": "Eye of Ender", + "entity.minecraft.falling_block": "Falling Block", + "entity.minecraft.fireball": "Fireball", + "entity.minecraft.firework_rocket": "Firework Rocket", + "entity.minecraft.fishing_bobber": "Fishing Bobber", + "entity.minecraft.fox": "Fox", + "entity.minecraft.furnace_minecart": "Minecart with Furnace", + "entity.minecraft.ghast": "Ghast", + "entity.minecraft.giant": "Giant", + "entity.minecraft.guardian": "Guardian", + "entity.minecraft.hopper_minecart": "Minecart with Hopper", + "entity.minecraft.horse": "Horse", + "entity.minecraft.husk": "Husk", + "entity.minecraft.ravager": "Ravager", + "entity.minecraft.illusioner": "Illusioner", + "entity.minecraft.item": "Item", + "entity.minecraft.item_frame": "Item Frame", + "entity.minecraft.killer_bunny": "The Killer Bunny", + "entity.minecraft.leash_knot": "Leash Knot", + "entity.minecraft.lightning_bolt": "Lightning Bolt", + "entity.minecraft.llama": "Llama", + "entity.minecraft.llama_spit": "Llama Spit", + "entity.minecraft.magma_cube": "Magma Cube", + "entity.minecraft.minecart": "Minecart", + "entity.minecraft.mooshroom": "Mooshroom", + "entity.minecraft.mule": "Mule", + "entity.minecraft.ocelot": "Ocelot", + "entity.minecraft.painting": "Painting", + "entity.minecraft.panda": "Panda", + "entity.minecraft.parrot": "Parrot", + "entity.minecraft.phantom": "Phantom", + "entity.minecraft.pig": "Pig", + "entity.minecraft.pillager": "Pillager", + "entity.minecraft.player": "Player", + "entity.minecraft.polar_bear": "Polar Bear", + "entity.minecraft.potion": "Potion", + "entity.minecraft.pufferfish": "Pufferfish", + "entity.minecraft.rabbit": "Rabbit", + "entity.minecraft.salmon": "Salmon", + "entity.minecraft.sheep": "Sheep", + "entity.minecraft.shulker": "Shulker", + "entity.minecraft.shulker_bullet": "Shulker Bullet", + "entity.minecraft.silverfish": "Silverfish", + "entity.minecraft.skeleton": "Skeleton", + "entity.minecraft.skeleton_horse": "Skeleton Horse", + "entity.minecraft.slime": "Slime", + "entity.minecraft.small_fireball": "Small Fireball", + "entity.minecraft.snowball": "Snowball", + "entity.minecraft.snow_golem": "Snow Golem", + "entity.minecraft.spawner_minecart": "Minecart with Spawner", + "entity.minecraft.spectral_arrow": "Spectral Arrow", + "entity.minecraft.spider": "Spider", + "entity.minecraft.squid": "Squid", + "entity.minecraft.stray": "Stray", + "entity.minecraft.tnt": "Primed TNT", + "entity.minecraft.tnt_minecart": "Minecart with TNT", + "entity.minecraft.trader_llama": "Trader Llama", + "entity.minecraft.trident": "Trident", + "entity.minecraft.tropical_fish": "Tropical Fish", + "entity.minecraft.tropical_fish.predefined.0": "Anemone", + "entity.minecraft.tropical_fish.predefined.1": "Black Tang", + "entity.minecraft.tropical_fish.predefined.2": "Blue Tang", + "entity.minecraft.tropical_fish.predefined.3": "Butterflyfish", + "entity.minecraft.tropical_fish.predefined.4": "Cichlid", + "entity.minecraft.tropical_fish.predefined.5": "Clownfish", + "entity.minecraft.tropical_fish.predefined.6": "Cotton Candy Betta", + "entity.minecraft.tropical_fish.predefined.7": "Dottyback", + "entity.minecraft.tropical_fish.predefined.8": "Emperor Red Snapper", + "entity.minecraft.tropical_fish.predefined.9": "Goatfish", + "entity.minecraft.tropical_fish.predefined.10": "Moorish Idol", + "entity.minecraft.tropical_fish.predefined.11": "Ornate Butterflyfish", + "entity.minecraft.tropical_fish.predefined.12": "Parrotfish", + "entity.minecraft.tropical_fish.predefined.13": "Queen Angelfish", + "entity.minecraft.tropical_fish.predefined.14": "Red Cichlid", + "entity.minecraft.tropical_fish.predefined.15": "Red Lipped Blenny", + "entity.minecraft.tropical_fish.predefined.16": "Red Snapper", + "entity.minecraft.tropical_fish.predefined.17": "Threadfin", + "entity.minecraft.tropical_fish.predefined.18": "Tomato Clownfish", + "entity.minecraft.tropical_fish.predefined.19": "Triggerfish", + "entity.minecraft.tropical_fish.predefined.20": "Yellowtail Parrotfish", + "entity.minecraft.tropical_fish.predefined.21": "Yellow Tang", + "entity.minecraft.tropical_fish.type.flopper": "Flopper", + "entity.minecraft.tropical_fish.type.stripey": "Stripey", + "entity.minecraft.tropical_fish.type.glitter": "Glitter", + "entity.minecraft.tropical_fish.type.blockfish": "Blockfish", + "entity.minecraft.tropical_fish.type.betty": "Betty", + "entity.minecraft.tropical_fish.type.clayfish": "Clayfish", + "entity.minecraft.tropical_fish.type.kob": "Kob", + "entity.minecraft.tropical_fish.type.sunstreak": "SunStreak", + "entity.minecraft.tropical_fish.type.snooper": "Snooper", + "entity.minecraft.tropical_fish.type.dasher": "Dasher", + "entity.minecraft.tropical_fish.type.brinely": "Brinely", + "entity.minecraft.tropical_fish.type.spotty": "Spotty", + "entity.minecraft.turtle": "Turtle", + "entity.minecraft.vex": "Vex", + "entity.minecraft.villager.armorer": "Armorer", + "entity.minecraft.villager.butcher": "Butcher", + "entity.minecraft.villager.cartographer": "Cartographer", + "entity.minecraft.villager.cleric": "Cleric", + "entity.minecraft.villager.farmer": "Farmer", + "entity.minecraft.villager.fisherman": "Fisherman", + "entity.minecraft.villager.fletcher": "Fletcher", + "entity.minecraft.villager.leatherworker": "Leatherworker", + "entity.minecraft.villager.librarian": "Librarian", + "entity.minecraft.villager.mason": "Mason", + "entity.minecraft.villager.none": "Villager", + "entity.minecraft.villager.nitwit": "Nitwit", + "entity.minecraft.villager.shepherd": "Shepherd", + "entity.minecraft.villager.toolsmith": "Toolsmith", + "entity.minecraft.villager.weaponsmith": "Weaponsmith", + "entity.minecraft.villager": "Villager", + "entity.minecraft.wandering_trader": "Wandering Trader", + "entity.minecraft.iron_golem": "Iron Golem", + "entity.minecraft.vindicator": "Vindicator", + "entity.minecraft.witch": "Witch", + "entity.minecraft.wither": "Wither", + "entity.minecraft.wither_skeleton": "Wither Skeleton", + "entity.minecraft.wither_skull": "Wither Skull", + "entity.minecraft.wolf": "Wolf", + "entity.minecraft.experience_bottle": "Thrown Bottle o' Enchanting", + "entity.minecraft.experience_orb": "Experience Orb", + "entity.minecraft.zombie": "Zombie", + "entity.minecraft.zombie_horse": "Zombie Horse", + "entity.minecraft.zombie_pigman": "Zombie Pigman", + "entity.minecraft.zombie_villager": "Zombie Villager", + "death.fell.accident.ladder": "%1$s fell off a ladder", + "death.fell.accident.vines": "%1$s fell off some vines", + "death.fell.accident.water": "%1$s fell out of the water", + "death.fell.accident.generic": "%1$s fell from a high place", + "death.fell.killer": "%1$s was doomed to fall", + "death.fell.assist": "%1$s was doomed to fall by %2$s", + "death.fell.assist.item": "%1$s was doomed to fall by %2$s using %3$s", + "death.fell.finish": "%1$s fell too far and was finished by %2$s", + "death.fell.finish.item": "%1$s fell too far and was finished by %2$s using %3$s", + "death.attack.lightningBolt": "%1$s was struck by lightning", + "death.attack.lightningBolt.player": "%1$s was struck by lightning whilst fighting %2$s", + "death.attack.inFire": "%1$s went up in flames", + "death.attack.inFire.player": "%1$s walked into fire whilst fighting %2$s", + "death.attack.onFire": "%1$s burned to death", + "death.attack.onFire.player": "%1$s was burnt to a crisp whilst fighting %2$s", + "death.attack.lava": "%1$s tried to swim in lava", + "death.attack.lava.player": "%1$s tried to swim in lava to escape %2$s", + "death.attack.hotFloor": "%1$s discovered the floor was lava", + "death.attack.hotFloor.player": "%1$s walked into danger zone due to %2$s", + "death.attack.inWall": "%1$s suffocated in a wall", + "death.attack.inWall.player": "%1$s suffocated in a wall whilst fighting %2$s", + "death.attack.cramming": "%1$s was squished too much", + "death.attack.cramming.player": "%1$s was squashed by %2$s", + "death.attack.drown": "%1$s drowned", + "death.attack.drown.player": "%1$s drowned whilst trying to escape %2$s", + "death.attack.starve": "%1$s starved to death", + "death.attack.starve.player": "%1$s starved to death whilst fighting %2$s", + "death.attack.cactus": "%1$s was pricked to death", + "death.attack.cactus.player": "%1$s walked into a cactus whilst trying to escape %2$s", + "death.attack.generic": "%1$s died", + "death.attack.generic.player": "%1$s died because of %2$s", + "death.attack.explosion": "%1$s blew up", + "death.attack.explosion.player": "%1$s was blown up by %2$s", + "death.attack.explosion.player.item": "%1$s was blown up by %2$s using %3$s", + "death.attack.magic": "%1$s was killed by magic", + "death.attack.even_more_magic": "%1$s was killed by even more magic", + "death.attack.message_too_long": "Actually, message was too long to deliver fully. Sorry! Here's stripped version: %s", + "death.attack.wither": "%1$s withered away", + "death.attack.wither.player": "%1$s withered away whilst fighting %2$s", + "death.attack.anvil": "%1$s was squashed by a falling anvil", + "death.attack.anvil.player": "%1$s was squashed by a falling anvil whilst fighting %2$s", + "death.attack.fallingBlock": "%1$s was squashed by a falling block", + "death.attack.fallingBlock.player": "%1$s was squashed by a falling block whilst fighting %2$s", + "death.attack.mob": "%1$s was slain by %2$s", + "death.attack.mob.item": "%1$s was slain by %2$s using %3$s", + "death.attack.player": "%1$s was slain by %2$s", + "death.attack.player.item": "%1$s was slain by %2$s using %3$s", + "death.attack.arrow": "%1$s was shot by %2$s", + "death.attack.arrow.item": "%1$s was shot by %2$s using %3$s", + "death.attack.fireball": "%1$s was fireballed by %2$s", + "death.attack.fireball.item": "%1$s was fireballed by %2$s using %3$s", + "death.attack.thrown": "%1$s was pummeled by %2$s", + "death.attack.thrown.item": "%1$s was pummeled by %2$s using %3$s", + "death.attack.indirectMagic": "%1$s was killed by %2$s using magic", + "death.attack.indirectMagic.item": "%1$s was killed by %2$s using %3$s", + "death.attack.thorns": "%1$s was killed trying to hurt %2$s", + "death.attack.thorns.item": "%1$s was killed by %3$s trying to hurt %2$s", + "death.attack.trident": "%1$s was impaled by %2$s", + "death.attack.trident.item": "%1$s was impaled by %2$s with %3$s", + "death.attack.fall": "%1$s hit the ground too hard", + "death.attack.fall.player": "%1$s hit the ground too hard whilst trying to escape %2$s", + "death.attack.outOfWorld": "%1$s fell out of the world", + "death.attack.outOfWorld.player": "%1$s didn't want to live in the same world as %2$s", + "death.attack.dragonBreath": "%1$s was roasted in dragon breath", + "death.attack.dragonBreath.player": "%1$s was roasted in dragon breath by %2$s", + "death.attack.flyIntoWall": "%1$s experienced kinetic energy", + "death.attack.flyIntoWall.player": "%1$s experienced kinetic energy whilst trying to escape %2$s", + "death.attack.fireworks": "%1$s went off with a bang", + "death.attack.fireworks.player": "%1$s went off with a bang whilst fighting %2$s", + "death.attack.netherBed.message": "%1$s was killed by %2$s", + "death.attack.netherBed.link": "Intentional Game Design", + "death.attack.sweetBerryBush": "%1$s was poked to death by a sweet berry bush", + "death.attack.sweetBerryBush.player": "%1$s was poked to death by a sweet berry bush whilst trying to escape %2$s", + "deathScreen.respawn": "Respawn", + "deathScreen.spectate": "Spectate world", + "deathScreen.deleteWorld": "Delete world", + "deathScreen.titleScreen": "Title screen", + "deathScreen.score": "Score", + "deathScreen.title.hardcore": "Game over!", + "deathScreen.title": "You died!", + "deathScreen.leaveServer": "Leave server", + "deathScreen.quit.confirm": "Are you sure you want to quit?", + "effect.none": "No Effects", + "effect.minecraft.speed": "Speed", + "effect.minecraft.slowness": "Slowness", + "effect.minecraft.haste": "Haste", + "effect.minecraft.mining_fatigue": "Mining Fatigue", + "effect.minecraft.strength": "Strength", + "effect.minecraft.instant_health": "Instant Health", + "effect.minecraft.instant_damage": "Instant Damage", + "effect.minecraft.jump_boost": "Jump Boost", + "effect.minecraft.nausea": "Nausea", + "effect.minecraft.regeneration": "Regeneration", + "effect.minecraft.resistance": "Resistance", + "effect.minecraft.fire_resistance": "Fire Resistance", + "effect.minecraft.water_breathing": "Water Breathing", + "effect.minecraft.invisibility": "Invisibility", + "effect.minecraft.blindness": "Blindness", + "effect.minecraft.night_vision": "Night Vision", + "effect.minecraft.hunger": "Hunger", + "effect.minecraft.weakness": "Weakness", + "effect.minecraft.poison": "Poison", + "effect.minecraft.wither": "Wither", + "effect.minecraft.health_boost": "Health Boost", + "effect.minecraft.absorption": "Absorption", + "effect.minecraft.saturation": "Saturation", + "effect.minecraft.glowing": "Glowing", + "effect.minecraft.luck": "Luck", + "effect.minecraft.unluck": "Bad Luck", + "effect.minecraft.levitation": "Levitation", + "effect.minecraft.slow_falling": "Slow Falling", + "effect.minecraft.conduit_power": "Conduit Power", + "effect.minecraft.dolphins_grace": "Dolphin's Grace", + "effect.minecraft.bad_omen": "Bad Omen", + "effect.minecraft.hero_of_the_village": "Hero of the Village", + "event.minecraft.raid": "Raid", + "event.minecraft.raid.raiders_remaining": "Raiders remaining: %s", + "event.minecraft.raid.victory": "Victory", + "event.minecraft.raid.defeat": "Defeat", + "item.minecraft.tipped_arrow.effect.empty": "Uncraftable Tipped Arrow", + "item.minecraft.tipped_arrow.effect.water": "Arrow of Splashing", + "item.minecraft.tipped_arrow.effect.mundane": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.thick": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.awkward": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.night_vision": "Arrow of Night Vision", + "item.minecraft.tipped_arrow.effect.invisibility": "Arrow of Invisibility", + "item.minecraft.tipped_arrow.effect.leaping": "Arrow of Leaping", + "item.minecraft.tipped_arrow.effect.fire_resistance": "Arrow of Fire Resistance", + "item.minecraft.tipped_arrow.effect.swiftness": "Arrow of Swiftness", + "item.minecraft.tipped_arrow.effect.slowness": "Arrow of Slowness", + "item.minecraft.tipped_arrow.effect.water_breathing": "Arrow of Water Breathing", + "item.minecraft.tipped_arrow.effect.healing": "Arrow of Healing", + "item.minecraft.tipped_arrow.effect.harming": "Arrow of Harming", + "item.minecraft.tipped_arrow.effect.poison": "Arrow of Poison", + "item.minecraft.tipped_arrow.effect.regeneration": "Arrow of Regeneration", + "item.minecraft.tipped_arrow.effect.strength": "Arrow of Strength", + "item.minecraft.tipped_arrow.effect.weakness": "Arrow of Weakness", + "item.minecraft.tipped_arrow.effect.levitation": "Arrow of Levitation", + "item.minecraft.tipped_arrow.effect.luck": "Arrow of Luck", + "item.minecraft.tipped_arrow.effect.turtle_master": "Arrow of the Turtle Master", + "item.minecraft.tipped_arrow.effect.slow_falling": "Arrow of Slow Falling", + "potion.whenDrank": "When Applied:", + "item.minecraft.potion.effect.empty": "Uncraftable Potion", + "item.minecraft.potion.effect.water": "Water Bottle", + "item.minecraft.potion.effect.mundane": "Mundane Potion", + "item.minecraft.potion.effect.thick": "Thick Potion", + "item.minecraft.potion.effect.awkward": "Awkward Potion", + "item.minecraft.potion.effect.night_vision": "Potion of Night Vision", + "item.minecraft.potion.effect.invisibility": "Potion of Invisibility", + "item.minecraft.potion.effect.leaping": "Potion of Leaping", + "item.minecraft.potion.effect.fire_resistance": "Potion of Fire Resistance", + "item.minecraft.potion.effect.swiftness": "Potion of Swiftness", + "item.minecraft.potion.effect.slowness": "Potion of Slowness", + "item.minecraft.potion.effect.water_breathing": "Potion of Water Breathing", + "item.minecraft.potion.effect.healing": "Potion of Healing", + "item.minecraft.potion.effect.harming": "Potion of Harming", + "item.minecraft.potion.effect.poison": "Potion of Poison", + "item.minecraft.potion.effect.regeneration": "Potion of Regeneration", + "item.minecraft.potion.effect.strength": "Potion of Strength", + "item.minecraft.potion.effect.weakness": "Potion of Weakness", + "item.minecraft.potion.effect.levitation": "Potion of Levitation", + "item.minecraft.potion.effect.luck": "Potion of Luck", + "item.minecraft.potion.effect.turtle_master": "Potion of the Turtle Master", + "item.minecraft.potion.effect.slow_falling": "Potion of Slow Falling", + "item.minecraft.splash_potion.effect.empty": "Splash Uncraftable Potion", + "item.minecraft.splash_potion.effect.water": "Splash Water Bottle", + "item.minecraft.splash_potion.effect.mundane": "Mundane Splash Potion", + "item.minecraft.splash_potion.effect.thick": "Thick Splash Potion", + "item.minecraft.splash_potion.effect.awkward": "Awkward Splash Potion", + "item.minecraft.splash_potion.effect.night_vision": "Splash Potion of Night Vision", + "item.minecraft.splash_potion.effect.invisibility": "Splash Potion of Invisibility", + "item.minecraft.splash_potion.effect.leaping": "Splash Potion of Leaping", + "item.minecraft.splash_potion.effect.fire_resistance": "Splash Potion of Fire Resistance", + "item.minecraft.splash_potion.effect.swiftness": "Splash Potion of Swiftness", + "item.minecraft.splash_potion.effect.slowness": "Splash Potion of Slowness", + "item.minecraft.splash_potion.effect.water_breathing": "Splash Potion of Water Breathing", + "item.minecraft.splash_potion.effect.healing": "Splash Potion of Healing", + "item.minecraft.splash_potion.effect.harming": "Splash Potion of Harming", + "item.minecraft.splash_potion.effect.poison": "Splash Potion of Poison", + "item.minecraft.splash_potion.effect.regeneration": "Splash Potion of Regeneration", + "item.minecraft.splash_potion.effect.strength": "Splash Potion of Strength", + "item.minecraft.splash_potion.effect.weakness": "Splash Potion of Weakness", + "item.minecraft.splash_potion.effect.levitation": "Splash Potion of Levitation", + "item.minecraft.splash_potion.effect.luck": "Splash Potion of Luck", + "item.minecraft.splash_potion.effect.turtle_master": "Splash Potion of the Turtle Master", + "item.minecraft.splash_potion.effect.slow_falling": "Splash Potion of Slow Falling", + "item.minecraft.lingering_potion.effect.empty": "Lingering Uncraftable Potion", + "item.minecraft.lingering_potion.effect.water": "Lingering Water Bottle", + "item.minecraft.lingering_potion.effect.mundane": "Mundane Lingering Potion", + "item.minecraft.lingering_potion.effect.thick": "Thick Lingering Potion", + "item.minecraft.lingering_potion.effect.awkward": "Awkward Lingering Potion", + "item.minecraft.lingering_potion.effect.night_vision": "Lingering Potion of Night Vision", + "item.minecraft.lingering_potion.effect.invisibility": "Lingering Potion of Invisibility", + "item.minecraft.lingering_potion.effect.leaping": "Lingering Potion of Leaping", + "item.minecraft.lingering_potion.effect.fire_resistance": "Lingering Potion of Fire Resistance", + "item.minecraft.lingering_potion.effect.swiftness": "Lingering Potion of Swiftness", + "item.minecraft.lingering_potion.effect.slowness": "Lingering Potion of Slowness", + "item.minecraft.lingering_potion.effect.water_breathing": "Lingering Potion of Water Breathing", + "item.minecraft.lingering_potion.effect.healing": "Lingering Potion of Healing", + "item.minecraft.lingering_potion.effect.harming": "Lingering Potion of Harming", + "item.minecraft.lingering_potion.effect.poison": "Lingering Potion of Poison", + "item.minecraft.lingering_potion.effect.regeneration": "Lingering Potion of Regeneration", + "item.minecraft.lingering_potion.effect.strength": "Lingering Potion of Strength", + "item.minecraft.lingering_potion.effect.weakness": "Lingering Potion of Weakness", + "item.minecraft.lingering_potion.effect.levitation": "Lingering Potion of Levitation", + "item.minecraft.lingering_potion.effect.luck": "Lingering Potion of Luck", + "item.minecraft.lingering_potion.effect.turtle_master": "Lingering Potion of the Turtle Master", + "item.minecraft.lingering_potion.effect.slow_falling": "Lingering Potion of Slow Falling", + "potion.potency.0": "", + "potion.potency.1": "II", + "potion.potency.2": "III", + "potion.potency.3": "IV", + "potion.potency.4": "V", + "potion.potency.5": "VI", + "enchantment.minecraft.sharpness": "Sharpness", + "enchantment.minecraft.smite": "Smite", + "enchantment.minecraft.bane_of_arthropods": "Bane of Arthropods", + "enchantment.minecraft.knockback": "Knockback", + "enchantment.minecraft.fire_aspect": "Fire Aspect", + "enchantment.minecraft.sweeping": "Sweeping Edge", + "enchantment.minecraft.protection": "Protection", + "enchantment.minecraft.fire_protection": "Fire Protection", + "enchantment.minecraft.feather_falling": "Feather Falling", + "enchantment.minecraft.blast_protection": "Blast Protection", + "enchantment.minecraft.projectile_protection": "Projectile Protection", + "enchantment.minecraft.respiration": "Respiration", + "enchantment.minecraft.aqua_affinity": "Aqua Affinity", + "enchantment.minecraft.depth_strider": "Depth Strider", + "enchantment.minecraft.frost_walker": "Frost Walker", + "enchantment.minecraft.efficiency": "Efficiency", + "enchantment.minecraft.silk_touch": "Silk Touch", + "enchantment.minecraft.unbreaking": "Unbreaking", + "enchantment.minecraft.looting": "Looting", + "enchantment.minecraft.fortune": "Fortune", + "enchantment.minecraft.luck_of_the_sea": "Luck of the Sea", + "enchantment.minecraft.lure": "Lure", + "enchantment.minecraft.power": "Power", + "enchantment.minecraft.flame": "Flame", + "enchantment.minecraft.punch": "Punch", + "enchantment.minecraft.infinity": "Infinity", + "enchantment.minecraft.thorns": "Thorns", + "enchantment.minecraft.mending": "Mending", + "enchantment.minecraft.binding_curse": "Curse of Binding", + "enchantment.minecraft.vanishing_curse": "Curse of Vanishing", + "enchantment.minecraft.loyalty": "Loyalty", + "enchantment.minecraft.impaling": "Impaling", + "enchantment.minecraft.riptide": "Riptide", + "enchantment.minecraft.channeling": "Channeling", + "enchantment.minecraft.multishot": "Multishot", + "enchantment.minecraft.quick_charge": "Quick Charge", + "enchantment.minecraft.piercing": "Piercing", + "enchantment.level.1": "I", + "enchantment.level.2": "II", + "enchantment.level.3": "III", + "enchantment.level.4": "IV", + "enchantment.level.5": "V", + "enchantment.level.6": "VI", + "enchantment.level.7": "VII", + "enchantment.level.8": "VIII", + "enchantment.level.9": "IX", + "enchantment.level.10": "X", + "gui.advancements": "Advancements", + "gui.stats": "Statistics", + "advancements.empty": "There doesn't seem to be anything here...", + "advancements.toast.task": "Advancement Made!", + "advancements.toast.challenge": "Challenge Complete!", + "advancements.toast.goal": "Goal Reached!", + "stats.tooltip.type.statistic": "Statistic", + "stat.generalButton": "General", + "stat.blocksButton": "Blocks", + "stat.itemsButton": "Items", + "stat.mobsButton": "Mobs", + "stat_type.minecraft.mined": "Times Mined", + "stat_type.minecraft.crafted": "Times Crafted", + "stat_type.minecraft.used": "Times Used", + "stat_type.minecraft.broken": "Times Broken", + "stat_type.minecraft.picked_up": "Picked Up", + "stat_type.minecraft.dropped": "Dropped", + "stat_type.minecraft.killed": "You killed %s %s", + "stat_type.minecraft.killed.none": "You have never killed %s", + "stat_type.minecraft.killed_by": "%s killed you %s time(s)", + "stat_type.minecraft.killed_by.none": "You have never been killed by %s", + "stat.minecraft.animals_bred": "Animals Bred", + "stat.minecraft.aviate_one_cm": "Distance by Elytra", + "stat.minecraft.clean_armor": "Armor Pieces Cleaned", + "stat.minecraft.clean_banner": "Banners Cleaned", + "stat.minecraft.clean_shulker_box": "Shulker Boxes Cleaned", + "stat.minecraft.climb_one_cm": "Distance Climbed", + "stat.minecraft.bell_ring": "Bells Rung", + "stat.minecraft.boat_one_cm": "Distance by Boat", + "stat.minecraft.crouch_one_cm": "Distance Crouched", + "stat.minecraft.damage_dealt": "Damage Dealt", + "stat.minecraft.damage_dealt_absorbed": "Damage Dealt (Absorbed)", + "stat.minecraft.damage_dealt_resisted": "Damage Dealt (Resisted)", + "stat.minecraft.damage_taken": "Damage Taken", + "stat.minecraft.damage_blocked_by_shield": "Damage Blocked By Shield", + "stat.minecraft.damage_absorbed": "Damage Absorbed", + "stat.minecraft.damage_resisted": "Damage Resisted", + "stat.minecraft.deaths": "Number of Deaths", + "stat.minecraft.walk_under_water_one_cm": "Distance Walked under Water", + "stat.minecraft.drop": "Items Dropped", + "stat.minecraft.eat_cake_slice": "Cake Slices Eaten", + "stat.minecraft.enchant_item": "Items Enchanted", + "stat.minecraft.fall_one_cm": "Distance Fallen", + "stat.minecraft.fill_cauldron": "Cauldrons Filled", + "stat.minecraft.fish_caught": "Fish Caught", + "stat.minecraft.fly_one_cm": "Distance Flown", + "stat.minecraft.horse_one_cm": "Distance by Horse", + "stat.minecraft.inspect_dispenser": "Dispensers Searched", + "stat.minecraft.inspect_dropper": "Droppers Searched", + "stat.minecraft.inspect_hopper": "Hoppers Searched", + "stat.minecraft.interact_with_beacon": "Interactions with Beacon", + "stat.minecraft.interact_with_brewingstand": "Interactions with Brewing Stand", + "stat.minecraft.interact_with_campfire": "Interactions with Campfire", + "stat.minecraft.interact_with_cartography_table": "Interactions with Cartography Table", + "stat.minecraft.interact_with_crafting_table": "Interactions with Crafting Table", + "stat.minecraft.interact_with_furnace": "Interactions with Furnace", + "stat.minecraft.interact_with_lectern": "Interactions with Lectern", + "stat.minecraft.interact_with_loom": "Interactions with Loom", + "stat.minecraft.interact_with_blast_furnace": "Interactions with Blast Furnace", + "stat.minecraft.interact_with_smoker": "Interactions with Smoker", + "stat.minecraft.interact_with_stonecutter": "Interactions with Stonecutter", + "stat.minecraft.jump": "Jumps", + "stat.minecraft.junk_fished": "Junk Fished", + "stat.minecraft.leave_game": "Games Quit", + "stat.minecraft.minecart_one_cm": "Distance by Minecart", + "stat.minecraft.mob_kills": "Mob Kills", + "stat.minecraft.open_barrel": "Barrels Opened", + "stat.minecraft.open_chest": "Chests Opened", + "stat.minecraft.open_enderchest": "Ender Chests Opened", + "stat.minecraft.open_shulker_box": "Shulker Boxes Opened", + "stat.minecraft.pig_one_cm": "Distance by Pig", + "stat.minecraft.player_kills": "Player Kills", + "stat.minecraft.play_noteblock": "Note Blocks Played", + "stat.minecraft.play_one_minute": "Time Played", + "stat.minecraft.play_record": "Music Discs Played", + "stat.minecraft.pot_flower": "Plants Potted", + "stat.minecraft.raid_trigger": "Raids Triggered", + "stat.minecraft.raid_win": "Raids Won", + "stat.minecraft.ring_bell": "Bells Rung", + "stat.minecraft.sleep_in_bed": "Times Slept in a Bed", + "stat.minecraft.sneak_time": "Sneak Time", + "stat.minecraft.sprint_one_cm": "Distance Sprinted", + "stat.minecraft.walk_on_water_one_cm": "Distance Walked on Water", + "stat.minecraft.swim_one_cm": "Distance Swum", + "stat.minecraft.talked_to_villager": "Talked to Villagers", + "stat.minecraft.time_since_rest": "Since Last Rest", + "stat.minecraft.time_since_death": "Since Last Death", + "stat.minecraft.traded_with_villager": "Traded with Villagers", + "stat.minecraft.treasure_fished": "Treasure Fished", + "stat.minecraft.trigger_trapped_chest": "Trapped Chests Triggered", + "stat.minecraft.tune_noteblock": "Note Blocks Tuned", + "stat.minecraft.use_cauldron": "Water Taken from Cauldron", + "stat.minecraft.walk_one_cm": "Distance Walked", + "recipe.toast.title": "New Recipes Unlocked!", + "recipe.toast.description": "Check your recipe book", + "itemGroup.buildingBlocks": "Building Blocks", + "itemGroup.decorations": "Decoration Blocks", + "itemGroup.redstone": "Redstone", + "itemGroup.transportation": "Transportation", + "itemGroup.misc": "Miscellaneous", + "itemGroup.search": "Search Items", + "itemGroup.food": "Foodstuffs", + "itemGroup.tools": "Tools", + "itemGroup.combat": "Combat", + "itemGroup.brewing": "Brewing", + "itemGroup.materials": "Materials", + "itemGroup.inventory": "Survival Inventory", + "itemGroup.hotbar": "Saved Toolbars", + "inventory.binSlot": "Destroy Item", + "inventory.hotbarSaved": "Item toolbar saved (restore with %1$s+%2$s)", + "inventory.hotbarInfo": "Save toolbar with %1$s+%2$s", + "advMode.setCommand": "Set Console Command for Block", + "advMode.setCommand.success": "Command set: %s", + "advMode.command": "Console Command", + "advMode.nearestPlayer": "Use \"@p\" to target nearest player", + "advMode.randomPlayer": "Use \"@r\" to target random player", + "advMode.allPlayers": "Use \"@a\" to target all players", + "advMode.allEntities": "Use \"@e\" to target all entities", + "advMode.self": "Use \"@s\" to target the executing entity", + "advMode.previousOutput": "Previous Output", + "advMode.mode.sequence": "Chain", + "advMode.mode.auto": "Repeat", + "advMode.mode.redstone": "Impulse", + "advMode.mode.conditional": "Conditional", + "advMode.mode.unconditional": "Unconditional", + "advMode.mode.redstoneTriggered": "Needs Redstone", + "advMode.mode.autoexec.bat": "Always Active", + "advMode.notEnabled": "Command blocks are not enabled on this server", + "advMode.notAllowed": "Must be an opped player in creative mode", + "mount.onboard": "Press %1$s to dismount", + "build.tooHigh": "Height limit for building is %s blocks", + "item.modifiers.mainhand": "When in main hand:", + "item.modifiers.offhand": "When in off hand:", + "item.modifiers.feet": "When on feet:", + "item.modifiers.legs": "When on legs:", + "item.modifiers.chest": "When on body:", + "item.modifiers.head": "When on head:", + "attribute.modifier.plus.0": "+%s %s", + "attribute.modifier.plus.1": "+%s%% %s", + "attribute.modifier.plus.2": "+%s%% %s", + "attribute.modifier.take.0": "-%s %s", + "attribute.modifier.take.1": "-%s%% %s", + "attribute.modifier.take.2": "-%s%% %s", + "attribute.modifier.equals.0": "%s %s", + "attribute.modifier.equals.1": "%s%% %s", + "attribute.modifier.equals.2": "%s%% %s", + "attribute.name.horse.jumpStrength": "Horse Jump Strength", + "attribute.name.zombie.spawnReinforcements": "Zombie Reinforcements", + "attribute.name.generic.maxHealth": "Max Health", + "attribute.name.generic.followRange": "Mob Follow Range", + "attribute.name.generic.knockbackResistance": "Knockback Resistance", + "attribute.name.generic.movementSpeed": "Speed", + "attribute.name.generic.attackDamage": "Attack Damage", + "attribute.name.generic.attackSpeed": "Attack Speed", + "attribute.name.generic.luck": "Luck", + "attribute.name.generic.armor": "Armor", + "attribute.name.generic.armorToughness": "Armor Toughness", + "screenshot.success": "Saved screenshot as %s", + "screenshot.failure": "Couldn't save screenshot: %s", + "block.minecraft.black_banner": "Black Banner", + "block.minecraft.red_banner": "Red Banner", + "block.minecraft.green_banner": "Green Banner", + "block.minecraft.brown_banner": "Brown Banner", + "block.minecraft.blue_banner": "Blue Banner", + "block.minecraft.purple_banner": "Purple Banner", + "block.minecraft.cyan_banner": "Cyan Banner", + "block.minecraft.light_gray_banner": "Light Gray Banner", + "block.minecraft.gray_banner": "Gray Banner", + "block.minecraft.pink_banner": "Pink Banner", + "block.minecraft.lime_banner": "Lime Banner", + "block.minecraft.yellow_banner": "Yellow Banner", + "block.minecraft.light_blue_banner": "Light Blue Banner", + "block.minecraft.magenta_banner": "Magenta Banner", + "block.minecraft.orange_banner": "Orange Banner", + "block.minecraft.white_banner": "White Banner", + "item.minecraft.shield": "Shield", + "item.minecraft.shield.black": "Black Shield", + "item.minecraft.shield.red": "Red Shield", + "item.minecraft.shield.green": "Green Shield", + "item.minecraft.shield.brown": "Brown Shield", + "item.minecraft.shield.blue": "Blue Shield", + "item.minecraft.shield.purple": "Purple Shield", + "item.minecraft.shield.cyan": "Cyan Shield", + "item.minecraft.shield.light_gray": "Light Gray Shield", + "item.minecraft.shield.gray": "Gray Shield", + "item.minecraft.shield.pink": "Pink Shield", + "item.minecraft.shield.lime": "Lime Shield", + "item.minecraft.shield.yellow": "Yellow Shield", + "item.minecraft.shield.light_blue": "Light Blue Shield", + "item.minecraft.shield.magenta": "Magenta Shield", + "item.minecraft.shield.orange": "Orange Shield", + "item.minecraft.shield.white": "White Shield", + "block.minecraft.banner.square_bottom_left.black": "Black Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.red": "Red Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.green": "Green Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.brown": "Brown Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.blue": "Blue Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.purple": "Purple Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.cyan": "Cyan Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.light_gray": "Light Gray Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.gray": "Gray Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.pink": "Pink Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.lime": "Lime Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.yellow": "Yellow Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.light_blue": "Light Blue Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.magenta": "Magenta Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.orange": "Orange Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.white": "White Base Dexter Canton", + "block.minecraft.banner.square_bottom_right.black": "Black Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.red": "Red Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.green": "Green Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.brown": "Brown Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.blue": "Blue Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.purple": "Purple Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.cyan": "Cyan Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.light_gray": "Light Gray Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.gray": "Gray Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.pink": "Pink Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.lime": "Lime Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.yellow": "Yellow Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.light_blue": "Light Blue Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.magenta": "Magenta Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.orange": "Orange Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.white": "White Base Sinister Canton", + "block.minecraft.banner.square_top_left.black": "Black Chief Dexter Canton", + "block.minecraft.banner.square_top_left.red": "Red Chief Dexter Canton", + "block.minecraft.banner.square_top_left.green": "Green Chief Dexter Canton", + "block.minecraft.banner.square_top_left.brown": "Brown Chief Dexter Canton", + "block.minecraft.banner.square_top_left.blue": "Blue Chief Dexter Canton", + "block.minecraft.banner.square_top_left.purple": "Purple Chief Dexter Canton", + "block.minecraft.banner.square_top_left.cyan": "Cyan Chief Dexter Canton", + "block.minecraft.banner.square_top_left.light_gray": "Light Gray Chief Dexter Canton", + "block.minecraft.banner.square_top_left.gray": "Gray Chief Dexter Canton", + "block.minecraft.banner.square_top_left.pink": "Pink Chief Dexter Canton", + "block.minecraft.banner.square_top_left.lime": "Lime Chief Dexter Canton", + "block.minecraft.banner.square_top_left.yellow": "Yellow Chief Dexter Canton", + "block.minecraft.banner.square_top_left.light_blue": "Light Blue Chief Dexter Canton", + "block.minecraft.banner.square_top_left.magenta": "Magenta Chief Dexter Canton", + "block.minecraft.banner.square_top_left.orange": "Orange Chief Dexter Canton", + "block.minecraft.banner.square_top_left.white": "White Chief Dexter Canton", + "block.minecraft.banner.square_top_right.black": "Black Chief Sinister Canton", + "block.minecraft.banner.square_top_right.red": "Red Chief Sinister Canton", + "block.minecraft.banner.square_top_right.green": "Green Chief Sinister Canton", + "block.minecraft.banner.square_top_right.brown": "Brown Chief Sinister Canton", + "block.minecraft.banner.square_top_right.blue": "Blue Chief Sinister Canton", + "block.minecraft.banner.square_top_right.purple": "Purple Chief Sinister Canton", + "block.minecraft.banner.square_top_right.cyan": "Cyan Chief Sinister Canton", + "block.minecraft.banner.square_top_right.light_gray": "Light Gray Chief Sinister Canton", + "block.minecraft.banner.square_top_right.gray": "Gray Chief Sinister Canton", + "block.minecraft.banner.square_top_right.pink": "Pink Chief Sinister Canton", + "block.minecraft.banner.square_top_right.lime": "Lime Chief Sinister Canton", + "block.minecraft.banner.square_top_right.yellow": "Yellow Chief Sinister Canton", + "block.minecraft.banner.square_top_right.light_blue": "Light Blue Chief Sinister Canton", + "block.minecraft.banner.square_top_right.magenta": "Magenta Chief Sinister Canton", + "block.minecraft.banner.square_top_right.orange": "Orange Chief Sinister Canton", + "block.minecraft.banner.square_top_right.white": "White Chief Sinister Canton", + "block.minecraft.banner.stripe_bottom.black": "Black Base", + "block.minecraft.banner.stripe_bottom.red": "Red Base", + "block.minecraft.banner.stripe_bottom.green": "Green Base", + "block.minecraft.banner.stripe_bottom.brown": "Brown Base", + "block.minecraft.banner.stripe_bottom.blue": "Blue Base", + "block.minecraft.banner.stripe_bottom.purple": "Purple Base", + "block.minecraft.banner.stripe_bottom.cyan": "Cyan Base", + "block.minecraft.banner.stripe_bottom.light_gray": "Light Gray Base", + "block.minecraft.banner.stripe_bottom.gray": "Gray Base", + "block.minecraft.banner.stripe_bottom.pink": "Pink Base", + "block.minecraft.banner.stripe_bottom.lime": "Lime Base", + "block.minecraft.banner.stripe_bottom.yellow": "Yellow Base", + "block.minecraft.banner.stripe_bottom.light_blue": "Light Blue Base", + "block.minecraft.banner.stripe_bottom.magenta": "Magenta Base", + "block.minecraft.banner.stripe_bottom.orange": "Orange Base", + "block.minecraft.banner.stripe_bottom.white": "White Base", + "block.minecraft.banner.stripe_top.black": "Black Chief", + "block.minecraft.banner.stripe_top.red": "Red Chief", + "block.minecraft.banner.stripe_top.green": "Green Chief", + "block.minecraft.banner.stripe_top.brown": "Brown Chief", + "block.minecraft.banner.stripe_top.blue": "Blue Chief", + "block.minecraft.banner.stripe_top.purple": "Purple Chief", + "block.minecraft.banner.stripe_top.cyan": "Cyan Chief", + "block.minecraft.banner.stripe_top.light_gray": "Light Gray Chief", + "block.minecraft.banner.stripe_top.gray": "Gray Chief", + "block.minecraft.banner.stripe_top.pink": "Pink Chief", + "block.minecraft.banner.stripe_top.lime": "Lime Chief", + "block.minecraft.banner.stripe_top.yellow": "Yellow Chief", + "block.minecraft.banner.stripe_top.light_blue": "Light Blue Chief", + "block.minecraft.banner.stripe_top.magenta": "Magenta Chief", + "block.minecraft.banner.stripe_top.orange": "Orange Chief", + "block.minecraft.banner.stripe_top.white": "White Chief", + "block.minecraft.banner.stripe_left.black": "Black Pale Dexter", + "block.minecraft.banner.stripe_left.red": "Red Pale Dexter", + "block.minecraft.banner.stripe_left.green": "Green Pale Dexter", + "block.minecraft.banner.stripe_left.brown": "Brown Pale Dexter", + "block.minecraft.banner.stripe_left.blue": "Blue Pale Dexter", + "block.minecraft.banner.stripe_left.purple": "Purple Pale Dexter", + "block.minecraft.banner.stripe_left.cyan": "Cyan Pale Dexter", + "block.minecraft.banner.stripe_left.light_gray": "Light Gray Pale Dexter", + "block.minecraft.banner.stripe_left.gray": "Gray Pale Dexter", + "block.minecraft.banner.stripe_left.pink": "Pink Pale Dexter", + "block.minecraft.banner.stripe_left.lime": "Lime Pale Dexter", + "block.minecraft.banner.stripe_left.yellow": "Yellow Pale Dexter", + "block.minecraft.banner.stripe_left.light_blue": "Light Blue Pale Dexter", + "block.minecraft.banner.stripe_left.magenta": "Magenta Pale Dexter", + "block.minecraft.banner.stripe_left.orange": "Orange Pale Dexter", + "block.minecraft.banner.stripe_left.white": "White Pale Dexter", + "block.minecraft.banner.stripe_right.black": "Black Pale Sinister", + "block.minecraft.banner.stripe_right.red": "Red Pale Sinister", + "block.minecraft.banner.stripe_right.green": "Green Pale Sinister", + "block.minecraft.banner.stripe_right.brown": "Brown Pale Sinister", + "block.minecraft.banner.stripe_right.blue": "Blue Pale Sinister", + "block.minecraft.banner.stripe_right.purple": "Purple Pale Sinister", + "block.minecraft.banner.stripe_right.cyan": "Cyan Pale Sinister", + "block.minecraft.banner.stripe_right.light_gray": "Light Gray Pale Sinister", + "block.minecraft.banner.stripe_right.gray": "Gray Pale Sinister", + "block.minecraft.banner.stripe_right.pink": "Pink Pale Sinister", + "block.minecraft.banner.stripe_right.lime": "Lime Pale Sinister", + "block.minecraft.banner.stripe_right.yellow": "Yellow Pale Sinister", + "block.minecraft.banner.stripe_right.light_blue": "Light Blue Pale Sinister", + "block.minecraft.banner.stripe_right.magenta": "Magenta Pale Sinister", + "block.minecraft.banner.stripe_right.orange": "Orange Pale Sinister", + "block.minecraft.banner.stripe_right.white": "White Pale Sinister", + "block.minecraft.banner.stripe_center.black": "Black Pale", + "block.minecraft.banner.stripe_center.red": "Red Pale", + "block.minecraft.banner.stripe_center.green": "Green Pale", + "block.minecraft.banner.stripe_center.brown": "Brown Pale", + "block.minecraft.banner.stripe_center.blue": "Blue Pale", + "block.minecraft.banner.stripe_center.purple": "Purple Pale", + "block.minecraft.banner.stripe_center.cyan": "Cyan Pale", + "block.minecraft.banner.stripe_center.light_gray": "Light Gray Pale", + "block.minecraft.banner.stripe_center.gray": "Gray Pale", + "block.minecraft.banner.stripe_center.pink": "Pink Pale", + "block.minecraft.banner.stripe_center.lime": "Lime Pale", + "block.minecraft.banner.stripe_center.yellow": "Yellow Pale", + "block.minecraft.banner.stripe_center.light_blue": "Light Blue Pale", + "block.minecraft.banner.stripe_center.magenta": "Magenta Pale", + "block.minecraft.banner.stripe_center.orange": "Orange Pale", + "block.minecraft.banner.stripe_center.white": "White Pale", + "block.minecraft.banner.stripe_middle.black": "Black Fess", + "block.minecraft.banner.stripe_middle.red": "Red Fess", + "block.minecraft.banner.stripe_middle.green": "Green Fess", + "block.minecraft.banner.stripe_middle.brown": "Brown Fess", + "block.minecraft.banner.stripe_middle.blue": "Blue Fess", + "block.minecraft.banner.stripe_middle.purple": "Purple Fess", + "block.minecraft.banner.stripe_middle.cyan": "Cyan Fess", + "block.minecraft.banner.stripe_middle.light_gray": "Light Gray Fess", + "block.minecraft.banner.stripe_middle.gray": "Gray Fess", + "block.minecraft.banner.stripe_middle.pink": "Pink Fess", + "block.minecraft.banner.stripe_middle.lime": "Lime Fess", + "block.minecraft.banner.stripe_middle.yellow": "Yellow Fess", + "block.minecraft.banner.stripe_middle.light_blue": "Light Blue Fess", + "block.minecraft.banner.stripe_middle.magenta": "Magenta Fess", + "block.minecraft.banner.stripe_middle.orange": "Orange Fess", + "block.minecraft.banner.stripe_middle.white": "White Fess", + "block.minecraft.banner.stripe_downright.black": "Black Bend", + "block.minecraft.banner.stripe_downright.red": "Red Bend", + "block.minecraft.banner.stripe_downright.green": "Green Bend", + "block.minecraft.banner.stripe_downright.brown": "Brown Bend", + "block.minecraft.banner.stripe_downright.blue": "Blue Bend", + "block.minecraft.banner.stripe_downright.purple": "Purple Bend", + "block.minecraft.banner.stripe_downright.cyan": "Cyan Bend", + "block.minecraft.banner.stripe_downright.light_gray": "Light Gray Bend", + "block.minecraft.banner.stripe_downright.gray": "Gray Bend", + "block.minecraft.banner.stripe_downright.pink": "Pink Bend", + "block.minecraft.banner.stripe_downright.lime": "Lime Bend", + "block.minecraft.banner.stripe_downright.yellow": "Yellow Bend", + "block.minecraft.banner.stripe_downright.light_blue": "Light Blue Bend", + "block.minecraft.banner.stripe_downright.magenta": "Magenta Bend", + "block.minecraft.banner.stripe_downright.orange": "Orange Bend", + "block.minecraft.banner.stripe_downright.white": "White Bend", + "block.minecraft.banner.stripe_downleft.black": "Black Bend Sinister", + "block.minecraft.banner.stripe_downleft.red": "Red Bend Sinister", + "block.minecraft.banner.stripe_downleft.green": "Green Bend Sinister", + "block.minecraft.banner.stripe_downleft.brown": "Brown Bend Sinister", + "block.minecraft.banner.stripe_downleft.blue": "Blue Bend Sinister", + "block.minecraft.banner.stripe_downleft.purple": "Purple Bend Sinister", + "block.minecraft.banner.stripe_downleft.cyan": "Cyan Bend Sinister", + "block.minecraft.banner.stripe_downleft.light_gray": "Light Gray Bend Sinister", + "block.minecraft.banner.stripe_downleft.gray": "Gray Bend Sinister", + "block.minecraft.banner.stripe_downleft.pink": "Pink Bend Sinister", + "block.minecraft.banner.stripe_downleft.lime": "Lime Bend Sinister", + "block.minecraft.banner.stripe_downleft.yellow": "Yellow Bend Sinister", + "block.minecraft.banner.stripe_downleft.light_blue": "Light Blue Bend Sinister", + "block.minecraft.banner.stripe_downleft.magenta": "Magenta Bend Sinister", + "block.minecraft.banner.stripe_downleft.orange": "Orange Bend Sinister", + "block.minecraft.banner.stripe_downleft.white": "White Bend Sinister", + "block.minecraft.banner.small_stripes.black": "Black Paly", + "block.minecraft.banner.small_stripes.red": "Red Paly", + "block.minecraft.banner.small_stripes.green": "Green Paly", + "block.minecraft.banner.small_stripes.brown": "Brown Paly", + "block.minecraft.banner.small_stripes.blue": "Blue Paly", + "block.minecraft.banner.small_stripes.purple": "Purple Paly", + "block.minecraft.banner.small_stripes.cyan": "Cyan Paly", + "block.minecraft.banner.small_stripes.light_gray": "Light Gray Paly", + "block.minecraft.banner.small_stripes.gray": "Gray Paly", + "block.minecraft.banner.small_stripes.pink": "Pink Paly", + "block.minecraft.banner.small_stripes.lime": "Lime Paly", + "block.minecraft.banner.small_stripes.yellow": "Yellow Paly", + "block.minecraft.banner.small_stripes.light_blue": "Light Blue Paly", + "block.minecraft.banner.small_stripes.magenta": "Magenta Paly", + "block.minecraft.banner.small_stripes.orange": "Orange Paly", + "block.minecraft.banner.small_stripes.white": "White Paly", + "block.minecraft.banner.cross.black": "Black Saltire", + "block.minecraft.banner.cross.red": "Red Saltire", + "block.minecraft.banner.cross.green": "Green Saltire", + "block.minecraft.banner.cross.brown": "Brown Saltire", + "block.minecraft.banner.cross.blue": "Blue Saltire", + "block.minecraft.banner.cross.purple": "Purple Saltire", + "block.minecraft.banner.cross.cyan": "Cyan Saltire", + "block.minecraft.banner.cross.light_gray": "Light Gray Saltire", + "block.minecraft.banner.cross.gray": "Gray Saltire", + "block.minecraft.banner.cross.pink": "Pink Saltire", + "block.minecraft.banner.cross.lime": "Lime Saltire", + "block.minecraft.banner.cross.yellow": "Yellow Saltire", + "block.minecraft.banner.cross.light_blue": "Light Blue Saltire", + "block.minecraft.banner.cross.magenta": "Magenta Saltire", + "block.minecraft.banner.cross.orange": "Orange Saltire", + "block.minecraft.banner.cross.white": "White Saltire", + "block.minecraft.banner.triangle_bottom.black": "Black Chevron", + "block.minecraft.banner.triangle_bottom.red": "Red Chevron", + "block.minecraft.banner.triangle_bottom.green": "Green Chevron", + "block.minecraft.banner.triangle_bottom.brown": "Brown Chevron", + "block.minecraft.banner.triangle_bottom.blue": "Blue Chevron", + "block.minecraft.banner.triangle_bottom.purple": "Purple Chevron", + "block.minecraft.banner.triangle_bottom.cyan": "Cyan Chevron", + "block.minecraft.banner.triangle_bottom.light_gray": "Light Gray Chevron", + "block.minecraft.banner.triangle_bottom.gray": "Gray Chevron", + "block.minecraft.banner.triangle_bottom.pink": "Pink Chevron", + "block.minecraft.banner.triangle_bottom.lime": "Lime Chevron", + "block.minecraft.banner.triangle_bottom.yellow": "Yellow Chevron", + "block.minecraft.banner.triangle_bottom.light_blue": "Light Blue Chevron", + "block.minecraft.banner.triangle_bottom.magenta": "Magenta Chevron", + "block.minecraft.banner.triangle_bottom.orange": "Orange Chevron", + "block.minecraft.banner.triangle_bottom.white": "White Chevron", + "block.minecraft.banner.triangle_top.black": "Black Inverted Chevron", + "block.minecraft.banner.triangle_top.red": "Red Inverted Chevron", + "block.minecraft.banner.triangle_top.green": "Green Inverted Chevron", + "block.minecraft.banner.triangle_top.brown": "Brown Inverted Chevron", + "block.minecraft.banner.triangle_top.blue": "Blue Inverted Chevron", + "block.minecraft.banner.triangle_top.purple": "Purple Inverted Chevron", + "block.minecraft.banner.triangle_top.cyan": "Cyan Inverted Chevron", + "block.minecraft.banner.triangle_top.light_gray": "Light Gray Inverted Chevron", + "block.minecraft.banner.triangle_top.gray": "Gray Inverted Chevron", + "block.minecraft.banner.triangle_top.pink": "Pink Inverted Chevron", + "block.minecraft.banner.triangle_top.lime": "Lime Inverted Chevron", + "block.minecraft.banner.triangle_top.yellow": "Yellow Inverted Chevron", + "block.minecraft.banner.triangle_top.light_blue": "Light Blue Inverted Chevron", + "block.minecraft.banner.triangle_top.magenta": "Magenta Inverted Chevron", + "block.minecraft.banner.triangle_top.orange": "Orange Inverted Chevron", + "block.minecraft.banner.triangle_top.white": "White Inverted Chevron", + "block.minecraft.banner.triangles_bottom.black": "Black Base Indented", + "block.minecraft.banner.triangles_bottom.red": "Red Base Indented", + "block.minecraft.banner.triangles_bottom.green": "Green Base Indented", + "block.minecraft.banner.triangles_bottom.brown": "Brown Base Indented", + "block.minecraft.banner.triangles_bottom.blue": "Blue Base Indented", + "block.minecraft.banner.triangles_bottom.purple": "Purple Base Indented", + "block.minecraft.banner.triangles_bottom.cyan": "Cyan Base Indented", + "block.minecraft.banner.triangles_bottom.light_gray": "Light Gray Base Indented", + "block.minecraft.banner.triangles_bottom.gray": "Gray Base Indented", + "block.minecraft.banner.triangles_bottom.pink": "Pink Base Indented", + "block.minecraft.banner.triangles_bottom.lime": "Lime Base Indented", + "block.minecraft.banner.triangles_bottom.yellow": "Yellow Base Indented", + "block.minecraft.banner.triangles_bottom.light_blue": "Light Blue Base Indented", + "block.minecraft.banner.triangles_bottom.magenta": "Magenta Base Indented", + "block.minecraft.banner.triangles_bottom.orange": "Orange Base Indented", + "block.minecraft.banner.triangles_bottom.white": "White Base Indented", + "block.minecraft.banner.triangles_top.black": "Black Chief Indented", + "block.minecraft.banner.triangles_top.red": "Red Chief Indented", + "block.minecraft.banner.triangles_top.green": "Green Chief Indented", + "block.minecraft.banner.triangles_top.brown": "Brown Chief Indented", + "block.minecraft.banner.triangles_top.blue": "Blue Chief Indented", + "block.minecraft.banner.triangles_top.purple": "Purple Chief Indented", + "block.minecraft.banner.triangles_top.cyan": "Cyan Chief Indented", + "block.minecraft.banner.triangles_top.light_gray": "Light Gray Chief Indented", + "block.minecraft.banner.triangles_top.gray": "Gray Chief Indented", + "block.minecraft.banner.triangles_top.pink": "Pink Chief Indented", + "block.minecraft.banner.triangles_top.lime": "Lime Chief Indented", + "block.minecraft.banner.triangles_top.yellow": "Yellow Chief Indented", + "block.minecraft.banner.triangles_top.light_blue": "Light Blue Chief Indented", + "block.minecraft.banner.triangles_top.magenta": "Magenta Chief Indented", + "block.minecraft.banner.triangles_top.orange": "Orange Chief Indented", + "block.minecraft.banner.triangles_top.white": "White Chief Indented", + "block.minecraft.banner.diagonal_left.black": "Black Per Bend Sinister", + "block.minecraft.banner.diagonal_left.red": "Red Per Bend Sinister", + "block.minecraft.banner.diagonal_left.green": "Green Per Bend Sinister", + "block.minecraft.banner.diagonal_left.brown": "Brown Per Bend Sinister", + "block.minecraft.banner.diagonal_left.blue": "Blue Per Bend Sinister", + "block.minecraft.banner.diagonal_left.purple": "Purple Per Bend Sinister", + "block.minecraft.banner.diagonal_left.cyan": "Cyan Per Bend Sinister", + "block.minecraft.banner.diagonal_left.light_gray": "Light Gray Per Bend Sinister", + "block.minecraft.banner.diagonal_left.gray": "Gray Per Bend Sinister", + "block.minecraft.banner.diagonal_left.pink": "Pink Per Bend Sinister", + "block.minecraft.banner.diagonal_left.lime": "Lime Per Bend Sinister", + "block.minecraft.banner.diagonal_left.yellow": "Yellow Per Bend Sinister", + "block.minecraft.banner.diagonal_left.light_blue": "Light Blue Per Bend Sinister", + "block.minecraft.banner.diagonal_left.magenta": "Magenta Per Bend Sinister", + "block.minecraft.banner.diagonal_left.orange": "Orange Per Bend Sinister", + "block.minecraft.banner.diagonal_left.white": "White Per Bend Sinister", + "block.minecraft.banner.diagonal_right.black": "Black Per Bend", + "block.minecraft.banner.diagonal_right.red": "Red Per Bend", + "block.minecraft.banner.diagonal_right.green": "Green Per Bend", + "block.minecraft.banner.diagonal_right.brown": "Brown Per Bend", + "block.minecraft.banner.diagonal_right.blue": "Blue Per Bend", + "block.minecraft.banner.diagonal_right.purple": "Purple Per Bend", + "block.minecraft.banner.diagonal_right.cyan": "Cyan Per Bend", + "block.minecraft.banner.diagonal_right.light_gray": "Light Gray Per Bend", + "block.minecraft.banner.diagonal_right.gray": "Gray Per Bend", + "block.minecraft.banner.diagonal_right.pink": "Pink Per Bend", + "block.minecraft.banner.diagonal_right.lime": "Lime Per Bend", + "block.minecraft.banner.diagonal_right.yellow": "Yellow Per Bend", + "block.minecraft.banner.diagonal_right.light_blue": "Light Blue Per Bend", + "block.minecraft.banner.diagonal_right.magenta": "Magenta Per Bend", + "block.minecraft.banner.diagonal_right.orange": "Orange Per Bend", + "block.minecraft.banner.diagonal_right.white": "White Per Bend", + "block.minecraft.banner.diagonal_up_left.black": "Black Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.red": "Red Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.green": "Green Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.brown": "Brown Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.blue": "Blue Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.purple": "Purple Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.cyan": "Cyan Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.light_gray": "Light Gray Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.gray": "Gray Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.pink": "Pink Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.lime": "Lime Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.yellow": "Yellow Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.light_blue": "Light Blue Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.magenta": "Magenta Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.orange": "Orange Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.white": "White Per Bend Inverted", + "block.minecraft.banner.diagonal_up_right.black": "Black Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.red": "Red Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.green": "Green Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.brown": "Brown Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.blue": "Blue Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.purple": "Purple Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.cyan": "Cyan Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.light_gray": "Light Gray Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.gray": "Gray Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.pink": "Pink Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.lime": "Lime Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.yellow": "Yellow Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.light_blue": "Light Blue Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.magenta": "Magenta Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.orange": "Orange Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.white": "White Per Bend Sinister Inverted", + "block.minecraft.banner.circle.black": "Black Roundel", + "block.minecraft.banner.circle.red": "Red Roundel", + "block.minecraft.banner.circle.green": "Green Roundel", + "block.minecraft.banner.circle.brown": "Brown Roundel", + "block.minecraft.banner.circle.blue": "Blue Roundel", + "block.minecraft.banner.circle.purple": "Purple Roundel", + "block.minecraft.banner.circle.cyan": "Cyan Roundel", + "block.minecraft.banner.circle.light_gray": "Light Gray Roundel", + "block.minecraft.banner.circle.gray": "Gray Roundel", + "block.minecraft.banner.circle.pink": "Pink Roundel", + "block.minecraft.banner.circle.lime": "Lime Roundel", + "block.minecraft.banner.circle.yellow": "Yellow Roundel", + "block.minecraft.banner.circle.light_blue": "Light Blue Roundel", + "block.minecraft.banner.circle.magenta": "Magenta Roundel", + "block.minecraft.banner.circle.orange": "Orange Roundel", + "block.minecraft.banner.circle.white": "White Roundel", + "block.minecraft.banner.rhombus.black": "Black Lozenge", + "block.minecraft.banner.rhombus.red": "Red Lozenge", + "block.minecraft.banner.rhombus.green": "Green Lozenge", + "block.minecraft.banner.rhombus.brown": "Brown Lozenge", + "block.minecraft.banner.rhombus.blue": "Blue Lozenge", + "block.minecraft.banner.rhombus.purple": "Purple Lozenge", + "block.minecraft.banner.rhombus.cyan": "Cyan Lozenge", + "block.minecraft.banner.rhombus.light_gray": "Light Gray Lozenge", + "block.minecraft.banner.rhombus.gray": "Gray Lozenge", + "block.minecraft.banner.rhombus.pink": "Pink Lozenge", + "block.minecraft.banner.rhombus.lime": "Lime Lozenge", + "block.minecraft.banner.rhombus.yellow": "Yellow Lozenge", + "block.minecraft.banner.rhombus.light_blue": "Light Blue Lozenge", + "block.minecraft.banner.rhombus.magenta": "Magenta Lozenge", + "block.minecraft.banner.rhombus.orange": "Orange Lozenge", + "block.minecraft.banner.rhombus.white": "White Lozenge", + "block.minecraft.banner.half_vertical.black": "Black Per Pale", + "block.minecraft.banner.half_vertical.red": "Red Per Pale", + "block.minecraft.banner.half_vertical.green": "Green Per Pale", + "block.minecraft.banner.half_vertical.brown": "Brown Per Pale", + "block.minecraft.banner.half_vertical.blue": "Blue Per Pale", + "block.minecraft.banner.half_vertical.purple": "Purple Per Pale", + "block.minecraft.banner.half_vertical.cyan": "Cyan Per Pale", + "block.minecraft.banner.half_vertical.light_gray": "Light Gray Per Pale", + "block.minecraft.banner.half_vertical.gray": "Gray Per Pale", + "block.minecraft.banner.half_vertical.pink": "Pink Per Pale", + "block.minecraft.banner.half_vertical.lime": "Lime Per Pale", + "block.minecraft.banner.half_vertical.yellow": "Yellow Per Pale", + "block.minecraft.banner.half_vertical.light_blue": "Light Blue Per Pale", + "block.minecraft.banner.half_vertical.magenta": "Magenta Per Pale", + "block.minecraft.banner.half_vertical.orange": "Orange Per Pale", + "block.minecraft.banner.half_vertical.white": "White Per Pale", + "block.minecraft.banner.half_horizontal.black": "Black Per Fess", + "block.minecraft.banner.half_horizontal.red": "Red Per Fess", + "block.minecraft.banner.half_horizontal.green": "Green Per Fess", + "block.minecraft.banner.half_horizontal.brown": "Brown Per Fess", + "block.minecraft.banner.half_horizontal.blue": "Blue Per Fess", + "block.minecraft.banner.half_horizontal.purple": "Purple Per Fess", + "block.minecraft.banner.half_horizontal.cyan": "Cyan Per Fess", + "block.minecraft.banner.half_horizontal.light_gray": "Light Gray Per Fess", + "block.minecraft.banner.half_horizontal.gray": "Gray Per Fess", + "block.minecraft.banner.half_horizontal.pink": "Pink Per Fess", + "block.minecraft.banner.half_horizontal.lime": "Lime Per Fess", + "block.minecraft.banner.half_horizontal.yellow": "Yellow Per Fess", + "block.minecraft.banner.half_horizontal.light_blue": "Light Blue Per Fess", + "block.minecraft.banner.half_horizontal.magenta": "Magenta Per Fess", + "block.minecraft.banner.half_horizontal.orange": "Orange Per Fess", + "block.minecraft.banner.half_horizontal.white": "White Per Fess", + "block.minecraft.banner.half_vertical_right.black": "Black Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.red": "Red Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.green": "Green Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.brown": "Brown Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.blue": "Blue Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.purple": "Purple Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.cyan": "Cyan Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.light_gray": "Light Gray Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.gray": "Gray Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.pink": "Pink Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.lime": "Lime Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.yellow": "Yellow Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.light_blue": "Light Blue Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.magenta": "Magenta Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.orange": "Orange Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.white": "White Per Pale Inverted", + "block.minecraft.banner.half_horizontal_bottom.black": "Black Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.red": "Red Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.green": "Green Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.brown": "Brown Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.blue": "Blue Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.purple": "Purple Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.cyan": "Cyan Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.light_gray": "Light Gray Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.gray": "Gray Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.pink": "Pink Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.lime": "Lime Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.yellow": "Yellow Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.light_blue": "Light Blue Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.magenta": "Magenta Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.orange": "Orange Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.white": "White Per Fess Inverted", + "block.minecraft.banner.creeper.black": "Black Creeper Charge", + "block.minecraft.banner.creeper.red": "Red Creeper Charge", + "block.minecraft.banner.creeper.green": "Green Creeper Charge", + "block.minecraft.banner.creeper.brown": "Brown Creeper Charge", + "block.minecraft.banner.creeper.blue": "Blue Creeper Charge", + "block.minecraft.banner.creeper.purple": "Purple Creeper Charge", + "block.minecraft.banner.creeper.cyan": "Cyan Creeper Charge", + "block.minecraft.banner.creeper.light_gray": "Light Gray Creeper Charge", + "block.minecraft.banner.creeper.gray": "Gray Creeper Charge", + "block.minecraft.banner.creeper.pink": "Pink Creeper Charge", + "block.minecraft.banner.creeper.lime": "Lime Creeper Charge", + "block.minecraft.banner.creeper.yellow": "Yellow Creeper Charge", + "block.minecraft.banner.creeper.light_blue": "Light Blue Creeper Charge", + "block.minecraft.banner.creeper.magenta": "Magenta Creeper Charge", + "block.minecraft.banner.creeper.orange": "Orange Creeper Charge", + "block.minecraft.banner.creeper.white": "White Creeper Charge", + "block.minecraft.banner.bricks.black": "Black Field Masoned", + "block.minecraft.banner.bricks.red": "Red Field Masoned", + "block.minecraft.banner.bricks.green": "Green Field Masoned", + "block.minecraft.banner.bricks.brown": "Brown Field Masoned", + "block.minecraft.banner.bricks.blue": "Blue Field Masoned", + "block.minecraft.banner.bricks.purple": "Purple Field Masoned", + "block.minecraft.banner.bricks.cyan": "Cyan Field Masoned", + "block.minecraft.banner.bricks.light_gray": "Light Gray Field Masoned", + "block.minecraft.banner.bricks.gray": "Gray Field Masoned", + "block.minecraft.banner.bricks.pink": "Pink Field Masoned", + "block.minecraft.banner.bricks.lime": "Lime Field Masoned", + "block.minecraft.banner.bricks.yellow": "Yellow Field Masoned", + "block.minecraft.banner.bricks.light_blue": "Light Blue Field Masoned", + "block.minecraft.banner.bricks.magenta": "Magenta Field Masoned", + "block.minecraft.banner.bricks.orange": "Orange Field Masoned", + "block.minecraft.banner.bricks.white": "White Field Masoned", + "block.minecraft.banner.gradient.black": "Black Gradient", + "block.minecraft.banner.gradient.red": "Red Gradient", + "block.minecraft.banner.gradient.green": "Green Gradient", + "block.minecraft.banner.gradient.brown": "Brown Gradient", + "block.minecraft.banner.gradient.blue": "Blue Gradient", + "block.minecraft.banner.gradient.purple": "Purple Gradient", + "block.minecraft.banner.gradient.cyan": "Cyan Gradient", + "block.minecraft.banner.gradient.light_gray": "Light Gray Gradient", + "block.minecraft.banner.gradient.gray": "Gray Gradient", + "block.minecraft.banner.gradient.pink": "Pink Gradient", + "block.minecraft.banner.gradient.lime": "Lime Gradient", + "block.minecraft.banner.gradient.yellow": "Yellow Gradient", + "block.minecraft.banner.gradient.light_blue": "Light Blue Gradient", + "block.minecraft.banner.gradient.magenta": "Magenta Gradient", + "block.minecraft.banner.gradient.orange": "Orange Gradient", + "block.minecraft.banner.gradient.white": "White Gradient", + "block.minecraft.banner.gradient_up.black": "Black Base Gradient", + "block.minecraft.banner.gradient_up.red": "Red Base Gradient", + "block.minecraft.banner.gradient_up.green": "Green Base Gradient", + "block.minecraft.banner.gradient_up.brown": "Brown Base Gradient", + "block.minecraft.banner.gradient_up.blue": "Blue Base Gradient", + "block.minecraft.banner.gradient_up.purple": "Purple Base Gradient", + "block.minecraft.banner.gradient_up.cyan": "Cyan Base Gradient", + "block.minecraft.banner.gradient_up.light_gray": "Light Gray Base Gradient", + "block.minecraft.banner.gradient_up.gray": "Gray Base Gradient", + "block.minecraft.banner.gradient_up.pink": "Pink Base Gradient", + "block.minecraft.banner.gradient_up.lime": "Lime Base Gradient", + "block.minecraft.banner.gradient_up.yellow": "Yellow Base Gradient", + "block.minecraft.banner.gradient_up.light_blue": "Light Blue Base Gradient", + "block.minecraft.banner.gradient_up.magenta": "Magenta Base Gradient", + "block.minecraft.banner.gradient_up.orange": "Orange Base Gradient", + "block.minecraft.banner.gradient_up.white": "White Base Gradient", + "block.minecraft.banner.skull.black": "Black Skull Charge", + "block.minecraft.banner.skull.red": "Red Skull Charge", + "block.minecraft.banner.skull.green": "Green Skull Charge", + "block.minecraft.banner.skull.brown": "Brown Skull Charge", + "block.minecraft.banner.skull.blue": "Blue Skull Charge", + "block.minecraft.banner.skull.purple": "Purple Skull Charge", + "block.minecraft.banner.skull.cyan": "Cyan Skull Charge", + "block.minecraft.banner.skull.light_gray": "Light Gray Skull Charge", + "block.minecraft.banner.skull.gray": "Gray Skull Charge", + "block.minecraft.banner.skull.pink": "Pink Skull Charge", + "block.minecraft.banner.skull.lime": "Lime Skull Charge", + "block.minecraft.banner.skull.yellow": "Yellow Skull Charge", + "block.minecraft.banner.skull.light_blue": "Light Blue Skull Charge", + "block.minecraft.banner.skull.magenta": "Magenta Skull Charge", + "block.minecraft.banner.skull.orange": "Orange Skull Charge", + "block.minecraft.banner.skull.white": "White Skull Charge", + "block.minecraft.banner.flower.black": "Black Flower Charge", + "block.minecraft.banner.flower.red": "Red Flower Charge", + "block.minecraft.banner.flower.green": "Green Flower Charge", + "block.minecraft.banner.flower.brown": "Brown Flower Charge", + "block.minecraft.banner.flower.blue": "Blue Flower Charge", + "block.minecraft.banner.flower.purple": "Purple Flower Charge", + "block.minecraft.banner.flower.cyan": "Cyan Flower Charge", + "block.minecraft.banner.flower.light_gray": "Light Gray Flower Charge", + "block.minecraft.banner.flower.gray": "Gray Flower Charge", + "block.minecraft.banner.flower.pink": "Pink Flower Charge", + "block.minecraft.banner.flower.lime": "Lime Flower Charge", + "block.minecraft.banner.flower.yellow": "Yellow Flower Charge", + "block.minecraft.banner.flower.light_blue": "Light Blue Flower Charge", + "block.minecraft.banner.flower.magenta": "Magenta Flower Charge", + "block.minecraft.banner.flower.orange": "Orange Flower Charge", + "block.minecraft.banner.flower.white": "White Flower Charge", + "block.minecraft.banner.border.black": "Black Bordure", + "block.minecraft.banner.border.red": "Red Bordure", + "block.minecraft.banner.border.green": "Green Bordure", + "block.minecraft.banner.border.brown": "Brown Bordure", + "block.minecraft.banner.border.blue": "Blue Bordure", + "block.minecraft.banner.border.purple": "Purple Bordure", + "block.minecraft.banner.border.cyan": "Cyan Bordure", + "block.minecraft.banner.border.light_gray": "Light Gray Bordure", + "block.minecraft.banner.border.gray": "Gray Bordure", + "block.minecraft.banner.border.pink": "Pink Bordure", + "block.minecraft.banner.border.lime": "Lime Bordure", + "block.minecraft.banner.border.yellow": "Yellow Bordure", + "block.minecraft.banner.border.light_blue": "Light Blue Bordure", + "block.minecraft.banner.border.magenta": "Magenta Bordure", + "block.minecraft.banner.border.orange": "Orange Bordure", + "block.minecraft.banner.border.white": "White Bordure", + "block.minecraft.banner.curly_border.black": "Black Bordure Indented", + "block.minecraft.banner.curly_border.red": "Red Bordure Indented", + "block.minecraft.banner.curly_border.green": "Green Bordure Indented", + "block.minecraft.banner.curly_border.brown": "Brown Bordure Indented", + "block.minecraft.banner.curly_border.blue": "Blue Bordure Indented", + "block.minecraft.banner.curly_border.purple": "Purple Bordure Indented", + "block.minecraft.banner.curly_border.cyan": "Cyan Bordure Indented", + "block.minecraft.banner.curly_border.light_gray": "Light Gray Bordure Indented", + "block.minecraft.banner.curly_border.gray": "Gray Bordure Indented", + "block.minecraft.banner.curly_border.pink": "Pink Bordure Indented", + "block.minecraft.banner.curly_border.lime": "Lime Bordure Indented", + "block.minecraft.banner.curly_border.yellow": "Yellow Bordure Indented", + "block.minecraft.banner.curly_border.light_blue": "Light Blue Bordure Indented", + "block.minecraft.banner.curly_border.magenta": "Magenta Bordure Indented", + "block.minecraft.banner.curly_border.orange": "Orange Bordure Indented", + "block.minecraft.banner.curly_border.white": "White Bordure Indented", + "block.minecraft.banner.mojang.black": "Black Thing", + "block.minecraft.banner.mojang.red": "Red Thing", + "block.minecraft.banner.mojang.green": "Green Thing", + "block.minecraft.banner.mojang.brown": "Brown Thing", + "block.minecraft.banner.mojang.blue": "Blue Thing", + "block.minecraft.banner.mojang.purple": "Purple Thing", + "block.minecraft.banner.mojang.cyan": "Cyan Thing", + "block.minecraft.banner.mojang.light_gray": "Light Gray Thing", + "block.minecraft.banner.mojang.gray": "Gray Thing", + "block.minecraft.banner.mojang.pink": "Pink Thing", + "block.minecraft.banner.mojang.lime": "Lime Thing", + "block.minecraft.banner.mojang.yellow": "Yellow Thing", + "block.minecraft.banner.mojang.light_blue": "Light Blue Thing", + "block.minecraft.banner.mojang.magenta": "Magenta Thing", + "block.minecraft.banner.mojang.orange": "Orange Thing", + "block.minecraft.banner.mojang.white": "White Thing", + "block.minecraft.banner.straight_cross.black": "Black Cross", + "block.minecraft.banner.straight_cross.red": "Red Cross", + "block.minecraft.banner.straight_cross.green": "Green Cross", + "block.minecraft.banner.straight_cross.brown": "Brown Cross", + "block.minecraft.banner.straight_cross.blue": "Blue Cross", + "block.minecraft.banner.straight_cross.purple": "Purple Cross", + "block.minecraft.banner.straight_cross.cyan": "Cyan Cross", + "block.minecraft.banner.straight_cross.light_gray": "Light Gray Cross", + "block.minecraft.banner.straight_cross.gray": "Gray Cross", + "block.minecraft.banner.straight_cross.pink": "Pink Cross", + "block.minecraft.banner.straight_cross.lime": "Lime Cross", + "block.minecraft.banner.straight_cross.yellow": "Yellow Cross", + "block.minecraft.banner.straight_cross.light_blue": "Light Blue Cross", + "block.minecraft.banner.straight_cross.magenta": "Magenta Cross", + "block.minecraft.banner.straight_cross.orange": "Orange Cross", + "block.minecraft.banner.straight_cross.white": "White Cross", + "block.minecraft.banner.globe.black": "Black Globe", + "block.minecraft.banner.globe.red": "Red Globe", + "block.minecraft.banner.globe.green": "Green Globe", + "block.minecraft.banner.globe.brown": "Brown Globe", + "block.minecraft.banner.globe.blue": "Blue Globe", + "block.minecraft.banner.globe.purple": "Purple Globe", + "block.minecraft.banner.globe.cyan": "Cyan Globe", + "block.minecraft.banner.globe.light_gray": "Light Gray Globe", + "block.minecraft.banner.globe.gray": "Gray Globe", + "block.minecraft.banner.globe.pink": "Pink Globe", + "block.minecraft.banner.globe.lime": "Lime Globe", + "block.minecraft.banner.globe.yellow": "Yellow Globe", + "block.minecraft.banner.globe.light_blue": "Light Blue Globe", + "block.minecraft.banner.globe.magenta": "Magenta Globe", + "block.minecraft.banner.globe.orange": "Orange Globe", + "block.minecraft.banner.globe.white": "White Globe", + "subtitles.ambient.cave": "Eerie noise", + "subtitles.block.anvil.destroy": "Anvil destroyed", + "subtitles.block.anvil.land": "Anvil landed", + "subtitles.block.anvil.use": "Anvil used", + "subtitles.block.barrel.close": "Barrel closes", + "subtitles.block.barrel.open": "Barrel opens", + "subtitles.block.bell.use": "Bell rings", + "subtitles.block.bell.resonate": "Bell resonates", + "subtitles.block.blastfurnace.fire_crackle": "Blast furnace crackles", + "subtitles.block.brewing_stand.brew": "Brewing Stand bubbles", + "subtitles.block.bubble_column.bubble_pop": "Bubbles pop", + "subtitles.block.bubble_column.upwards_ambient": "Bubbles flow", + "subtitles.block.bubble_column.upwards_inside": "Bubbles woosh", + "subtitles.block.bubble_column.whirlpool_ambient": "Bubbles whirl", + "subtitles.block.bubble_column.whirlpool_inside": "Bubbles zoom", + "subtitles.block.button.click": "Button clicks", + "subtitles.block.campfire.crackle": "Campfire crackles", + "subtitles.block.chest.close": "Chest closes", + "subtitles.block.chest.locked": "Chest locked", + "subtitles.block.chest.open": "Chest opens", + "subtitles.block.chorus_flower.death": "Chorus Flower withers", + "subtitles.block.chorus_flower.grow": "Chorus Flower grows", + "subtitles.block.comparator.click": "Comparator clicks", + "subtitles.block.dispenser.dispense": "Dispensed item", + "subtitles.block.dispenser.fail": "Dispenser failed", + "subtitles.block.door.toggle": "Door creaks", + "subtitles.block.fence_gate.toggle": "Fence Gate creaks", + "subtitles.block.fire.ambient": "Fire crackles", + "subtitles.block.fire.extinguish": "Fire extinguished", + "subtitles.block.furnace.fire_crackle": "Furnace crackles", + "subtitles.block.generic.break": "Block broken", + "subtitles.block.generic.footsteps": "Footsteps", + "subtitles.block.generic.hit": "Block breaking", + "subtitles.block.generic.place": "Block placed", + "subtitles.block.grindstone.use": "Grindstone used", + "subtitles.block.iron_trapdoor.close": "Trapdoor opens", + "subtitles.block.iron_trapdoor.open": "Trapdoor closes", + "subtitles.block.lava.ambient": "Lava pops", + "subtitles.block.lava.extinguish": "Lava hisses", + "subtitles.block.lever.click": "Lever clicks", + "subtitles.block.note_block.note": "Note Block plays", + "subtitles.block.piston.move": "Piston moves", + "subtitles.block.portal.ambient": "Portal whooshes", + "subtitles.block.pressure_plate.click": "Pressure Plate clicks", + "subtitles.block.redstone_torch.burnout": "Torch fizzes", + "subtitles.block.shulker_box.close": "Shulker closes", + "subtitles.block.shulker_box.open": "Shulker opens", + "subtitles.block.smoker.smoke": "Smoker smokes", + "subtitles.block.trapdoor.toggle": "Trapdoor creaks", + "subtitles.block.tripwire.attach": "Tripwire attaches", + "subtitles.block.tripwire.click": "Tripwire clicks", + "subtitles.block.tripwire.detach": "Tripwire detaches", + "subtitles.block.water.ambient": "Water flows", + "subtitles.enchant.thorns.hit": "Thorns prick", + "subtitles.entity.armor_stand.fall": "Something fell", + "subtitles.entity.arrow.hit": "Arrow hits", + "subtitles.entity.arrow.hit_player": "Player hit", + "subtitles.entity.arrow.shoot": "Arrow fired", + "subtitles.entity.bat.ambient": "Bat screeches", + "subtitles.entity.bat.death": "Bat dies", + "subtitles.entity.bat.hurt": "Bat hurts", + "subtitles.entity.bat.takeoff": "Bat takes off", + "subtitles.entity.blaze.ambient": "Blaze breathes", + "subtitles.entity.blaze.burn": "Blaze crackles", + "subtitles.entity.blaze.death": "Blaze dies", + "subtitles.entity.blaze.hurt": "Blaze hurts", + "subtitles.entity.blaze.shoot": "Blaze shoots", + "subtitles.entity.fishing_bobber.splash": "Fishing Bobber splashes", + "subtitles.entity.fishing_bobber.throw": "Bobber thrown", + "subtitles.entity.cat.ambient": "Cat meows", + "subtitles.entity.cat.death": "Cat dies", + "subtitles.entity.cat.hurt": "Cat hurts", + "subtitles.entity.chicken.ambient": "Chicken clucks", + "subtitles.entity.chicken.death": "Chicken dies", + "subtitles.entity.chicken.egg": "Chicken plops", + "subtitles.entity.chicken.hurt": "Chicken hurts", + "subtitles.entity.parrot.ambient": "Parrot talks", + "subtitles.entity.parrot.death": "Parrot dies", + "subtitles.entity.parrot.eats": "Parrot eats", + "subtitles.entity.parrot.hurts": "Parrot hurts", + "subtitles.entity.parrot.imitate.blaze": "Parrot breathes", + "subtitles.entity.parrot.imitate.creeper": "Parrot hisses", + "subtitles.entity.parrot.imitate.drowned": "Parrot gurgles", + "subtitles.entity.parrot.imitate.elder_guardian": "Parrot flaps", + "subtitles.entity.parrot.imitate.ender_dragon": "Parrot roars", + "subtitles.entity.parrot.imitate.enderman": "Parrot vwoops", + "subtitles.entity.parrot.imitate.endermite": "Parrot scuttles", + "subtitles.entity.parrot.imitate.evoker": "Parrot murmurs", + "subtitles.entity.parrot.imitate.ghast": "Parrot cries", + "subtitles.entity.parrot.imitate.guardian": "Parrot moans", + "subtitles.entity.parrot.imitate.husk": "Parrot groans", + "subtitles.entity.parrot.imitate.illusioner": "Parrot murmurs", + "subtitles.entity.parrot.imitate.magma_cube": "Parrot squishes", + "subtitles.entity.parrot.imitate.panda": "Parrot pants", + "subtitles.entity.parrot.imitate.phantom": "Parrot screeches", + "subtitles.entity.parrot.imitate.pillager": "Parrot murmurs", + "subtitles.entity.parrot.imitate.polar_bear": "Parrot groans", + "subtitles.entity.parrot.imitate.ravager": "Parrot grunts", + "subtitles.entity.parrot.imitate.shulker": "Parrot lurks", + "subtitles.entity.parrot.imitate.silverfish": "Parrot hisses", + "subtitles.entity.parrot.imitate.skeleton": "Parrot rattles", + "subtitles.entity.parrot.imitate.slime": "Parrot squishes", + "subtitles.entity.parrot.imitate.spider": "Parrot hisses", + "subtitles.entity.parrot.imitate.stray": "Parrot rattles", + "subtitles.entity.parrot.imitate.vex": "Parrot vexes", + "subtitles.entity.parrot.imitate.vindicator": "Parrot mutters", + "subtitles.entity.parrot.imitate.witch": "Parrot giggles", + "subtitles.entity.parrot.imitate.wither": "Parrot angers", + "subtitles.entity.parrot.imitate.wither_skeleton": "Parrot rattles", + "subtitles.entity.parrot.imitate.wolf": "Parrot pants", + "subtitles.entity.parrot.imitate.zombie": "Parrot groans", + "subtitles.entity.parrot.imitate.zombie_pigman": "Parrot grunts", + "subtitles.entity.parrot.imitate.zombie_villager": "Parrot groans", + "subtitles.entity.cod.death": "Cod dies", + "subtitles.entity.cod.flop": "Cod flops", + "subtitles.entity.cod.hurt": "Cod hurts", + "subtitles.entity.cow.ambient": "Cow moos", + "subtitles.entity.cow.death": "Cow dies", + "subtitles.entity.cow.hurt": "Cow hurts", + "subtitles.entity.cow.milk": "Cow gets milked", + "subtitles.entity.creeper.death": "Creeper dies", + "subtitles.entity.creeper.hurt": "Creeper hurts", + "subtitles.entity.creeper.primed": "Creeper hisses", + "subtitles.entity.dolphin.ambient": "Dolphin chirps", + "subtitles.entity.dolphin.ambient_water": "Dolphin whistles", + "subtitles.entity.dolphin.attack": "Dolphin attacks", + "subtitles.entity.dolphin.death": "Dolphin dies", + "subtitles.entity.dolphin.eat": "Dolphin eats", + "subtitles.entity.dolphin.hurt": "Dolphin hurts", + "subtitles.entity.dolphin.jump": "Dolphin jumps", + "subtitles.entity.dolphin.play": "Dolphin plays", + "subtitles.entity.dolphin.splash": "Dolphin splashes", + "subtitles.entity.dolphin.swim": "Dolphin swims", + "subtitles.entity.donkey.ambient": "Donkey hee-haws", + "subtitles.entity.donkey.angry": "Donkey neighs", + "subtitles.entity.donkey.chest": "Donkey Chest equips", + "subtitles.entity.donkey.death": "Donkey dies", + "subtitles.entity.donkey.hurt": "Donkey hurts", + "subtitles.entity.drowned.ambient": "Drowned gurgles", + "subtitles.entity.drowned.death": "Drowned dies", + "subtitles.entity.drowned.hurt": "Drowned hurts", + "subtitles.entity.drowned.shoot": "Drowned throws Trident", + "subtitles.entity.drowned.step": "Drowned steps", + "subtitles.entity.drowned.swim": "Drowned swims", + "subtitles.entity.egg.throw": "Egg flies", + "subtitles.entity.elder_guardian.ambient_land": "Elder Guardian flaps", + "subtitles.entity.elder_guardian.ambient": "Elder Guardian moans", + "subtitles.entity.elder_guardian.curse": "Elder Guardian curses", + "subtitles.entity.elder_guardian.death": "Elder Guardian dies", + "subtitles.entity.elder_guardian.flop": "Elder Guardian flops", + "subtitles.entity.elder_guardian.hurt": "Elder Guardian hurts", + "subtitles.entity.ender_dragon.ambient": "Dragon roars", + "subtitles.entity.ender_dragon.death": "Dragon dies", + "subtitles.entity.ender_dragon.flap": "Dragon flaps", + "subtitles.entity.ender_dragon.growl": "Dragon growls", + "subtitles.entity.ender_dragon.hurt": "Dragon hurts", + "subtitles.entity.ender_dragon.shoot": "Dragon shoots", + "subtitles.entity.ender_eye.launch": "Eye of Ender shoots", + "subtitles.entity.enderman.ambient": "Enderman vwoops", + "subtitles.entity.enderman.death": "Enderman dies", + "subtitles.entity.enderman.hurt": "Enderman hurts", + "subtitles.entity.enderman.stare": "Enderman cries out", + "subtitles.entity.enderman.teleport": "Enderman teleports", + "subtitles.entity.endermite.ambient": "Endermite scuttles", + "subtitles.entity.endermite.death": "Endermite dies", + "subtitles.entity.endermite.hurt": "Endermite hurts", + "subtitles.entity.ender_pearl.throw": "Ender Pearl flies", + "subtitles.entity.evoker_fangs.attack": "Fangs snap", + "subtitles.entity.evoker.ambient": "Evoker murmurs", + "subtitles.entity.evoker.cast_spell": "Evoker casts spell", + "subtitles.entity.evoker.celebrate": "Evoker cheers", + "subtitles.entity.evoker.death": "Evoker dies", + "subtitles.entity.evoker.hurt": "Evoker hurts", + "subtitles.entity.evoker.prepare_attack": "Evoker prepares attack", + "subtitles.entity.evoker.prepare_summon": "Evoker prepares summoning", + "subtitles.entity.evoker.prepare_wololo": "Evoker prepares charming", + "subtitles.entity.experience_orb.pickup": "Experience gained", + "subtitles.entity.firework_rocket.blast": "Firework blasts", + "subtitles.entity.firework_rocket.launch": "Firework launches", + "subtitles.entity.firework_rocket.twinkle": "Firework twinkles", + "subtitles.entity.fox.aggro": "Fox angers", + "subtitles.entity.fox.ambient": "Fox squeaks", + "subtitles.entity.fox.bite": "Fox bites", + "subtitles.entity.fox.death": "Fox dies", + "subtitles.entity.fox.eat": "Fox eats", + "subtitles.entity.fox.hurt": "Fox hurts", + "subtitles.entity.fox.screech": "Fox screeches", + "subtitles.entity.fox.sleep": "Fox snores", + "subtitles.entity.fox.sniff": "Fox sniffs", + "subtitles.entity.fox.spit": "Fox spits", + "subtitles.entity.generic.big_fall": "Something fell", + "subtitles.entity.generic.burn": "Burning", + "subtitles.entity.generic.death": "Dying", + "subtitles.entity.generic.drink": "Sipping", + "subtitles.entity.generic.eat": "Eating", + "subtitles.entity.generic.explode": "Explosion", + "subtitles.entity.generic.extinguish_fire": "Fire extinguishes", + "subtitles.entity.generic.hurt": "Something hurts", + "subtitles.entity.generic.small_fall": "Something trips", + "subtitles.entity.generic.splash": "Splashing", + "subtitles.entity.generic.swim": "Swimming", + "subtitles.entity.ghast.ambient": "Ghast cries", + "subtitles.entity.ghast.death": "Ghast dies", + "subtitles.entity.ghast.hurt": "Ghast hurts", + "subtitles.entity.ghast.shoot": "Ghast shoots", + "subtitles.entity.guardian.ambient_land": "Guardian flaps", + "subtitles.entity.guardian.ambient": "Guardian moans", + "subtitles.entity.guardian.attack": "Guardian shoots", + "subtitles.entity.guardian.death": "Guardian dies", + "subtitles.entity.guardian.flop": "Guardian flops", + "subtitles.entity.guardian.hurt": "Guardian hurts", + "subtitles.entity.horse.ambient": "Horse neighs", + "subtitles.entity.horse.angry": "Horse neighs", + "subtitles.entity.horse.armor": "Horse armor equips", + "subtitles.entity.horse.breathe": "Horse breathes", + "subtitles.entity.horse.death": "Horse dies", + "subtitles.entity.horse.eat": "Horse eats", + "subtitles.entity.horse.gallop": "Horse gallops", + "subtitles.entity.horse.hurt": "Horse hurts", + "subtitles.entity.horse.jump": "Horse jumps", + "subtitles.entity.horse.saddle": "Saddle equips", + "subtitles.entity.husk.ambient": "Husk groans", + "subtitles.entity.husk.converted_to_zombie": "Husk converted to Zombie", + "subtitles.entity.husk.death": "Husk dies", + "subtitles.entity.husk.hurt": "Husk hurts", + "subtitles.entity.illusioner.ambient": "Illusioner murmurs", + "subtitles.entity.illusioner.cast_spell": "Illusioner casts spell", + "subtitles.entity.illusioner.death": "Illusioner dies", + "subtitles.entity.illusioner.hurt": "Illusioner hurts", + "subtitles.entity.illusioner.mirror_move": "Illusioner displaces", + "subtitles.entity.illusioner.prepare_blindness": "Illusioner prepares blindness", + "subtitles.entity.illusioner.prepare_mirror": "Illusioner prepares mirror image", + "subtitles.entity.iron_golem.attack": "Iron Golem attacks", + "subtitles.entity.iron_golem.death": "Iron Golem dies", + "subtitles.entity.iron_golem.hurt": "Iron Golem hurts", + "subtitles.entity.item.break": "Item breaks", + "subtitles.entity.item.pickup": "Item plops", + "subtitles.entity.item_frame.add_item": "Item Frame fills", + "subtitles.entity.item_frame.break": "Item Frame breaks", + "subtitles.entity.item_frame.place": "Item Frame placed", + "subtitles.entity.item_frame.remove_item": "Item Frame empties", + "subtitles.entity.item_frame.rotate_item": "Item Frame clicks", + "subtitles.entity.leash_knot.break": "Leash knot breaks", + "subtitles.entity.leash_knot.place": "Leash knot tied", + "subtitles.entity.lightning_bolt.impact": "Lightning strikes", + "subtitles.entity.lightning_bolt.thunder": "Thunder roars", + "subtitles.entity.llama.ambient": "Llama bleats", + "subtitles.entity.llama.angry": "Llama bleats angrily", + "subtitles.entity.llama.chest": "Llama Chest equips", + "subtitles.entity.llama.death": "Llama dies", + "subtitles.entity.llama.eat": "Llama eats", + "subtitles.entity.llama.hurt": "Llama hurts", + "subtitles.entity.llama.spit": "Llama spits", + "subtitles.entity.llama.step": "Llama steps", + "subtitles.entity.llama.swag": "Llama is decorated", + "subtitles.entity.ravager.step": "Ravager steps", + "subtitles.entity.ravager.stunned": "Ravager stunned", + "subtitles.entity.ravager.roar": "Ravager roars", + "subtitles.entity.ravager.attack": "Ravager bites", + "subtitles.entity.ravager.death": "Ravager dies", + "subtitles.entity.ravager.hurt": "Ravager hurts", + "subtitles.entity.ravager.ambient": "Ravager grunts", + "subtitles.entity.ravager.celebrate": "Ravager cheers", + "subtitles.entity.magma_cube.death": "Magma Cube dies", + "subtitles.entity.magma_cube.hurt": "Magma Cube hurts", + "subtitles.entity.magma_cube.squish": "Magma Cube squishes", + "subtitles.entity.minecart.riding": "Minecart rolls", + "subtitles.entity.mooshroom.convert": "Mooshroom transforms", + "subtitles.entity.mooshroom.eat": "Mooshroom eats", + "subtitles.entity.mooshroom.milk": "Mooshroom gets milked", + "subtitles.entity.mooshroom.suspicious_milk": "Mooshroom gets milked suspiciously", + "subtitles.entity.mule.ambient": "Mule hee-haws", + "subtitles.entity.mule.chest": "Mule Chest equips", + "subtitles.entity.mule.death": "Mule dies", + "subtitles.entity.mule.hurt": "Mule hurts", + "subtitles.entity.panda.ambient": "Panda pants", + "subtitles.entity.panda.pre_sneeze": "Panda's nose tickles", + "subtitles.entity.panda.sneeze": "Panda sneezes", + "subtitles.entity.panda.death": "Panda dies", + "subtitles.entity.panda.eat": "Panda eats", + "subtitles.entity.panda.step": "Panda steps", + "subtitles.entity.panda.cant_breed": "Panda bleats", + "subtitles.entity.panda.aggressive_ambient": "Panda huffs", + "subtitles.entity.panda.worried_ambient": "Panda whimpers", + "subtitles.entity.panda.hurt": "Panda hurts", + "subtitles.entity.panda.bite": "Panda bites", + "subtitles.entity.painting.break": "Painting breaks", + "subtitles.entity.painting.place": "Painting placed", + "subtitles.entity.phantom.ambient": "Phantom screeches", + "subtitles.entity.phantom.bite": "Phantom bites", + "subtitles.entity.phantom.death": "Phantom dies", + "subtitles.entity.phantom.flap": "Phantom flaps", + "subtitles.entity.phantom.hurt": "Phantom hurts", + "subtitles.entity.phantom.swoop": "Phantom swoops", + "subtitles.entity.pig.ambient": "Pig oinks", + "subtitles.entity.pig.death": "Pig dies", + "subtitles.entity.pig.hurt": "Pig hurts", + "subtitles.entity.pig.saddle": "Saddle equips", + "subtitles.entity.pillager.ambient": "Pillager murmurs", + "subtitles.entity.pillager.celebrate": "Pillager cheers", + "subtitles.entity.pillager.death": "Pillager dies", + "subtitles.entity.pillager.hurt": "Pillager hurts", + "subtitles.entity.player.burp": "Burp", + "subtitles.entity.player.death": "Player dies", + "subtitles.entity.player.hurt": "Player hurts", + "subtitles.entity.player.levelup": "Player dings", + "subtitles.entity.polar_bear.ambient": "Polar Bear groans", + "subtitles.entity.polar_bear.ambient_baby": "Polar Bear hums", + "subtitles.entity.polar_bear.death": "Polar Bear dies", + "subtitles.entity.polar_bear.hurt": "Polar Bear hurts", + "subtitles.entity.polar_bear.warning": "Polar Bear roars", + "subtitles.entity.potion.splash": "Bottle smashes", + "subtitles.entity.potion.throw": "Bottle thrown", + "subtitles.entity.puffer_fish.blow_out": "Pufferfish deflates", + "subtitles.entity.puffer_fish.blow_up": "Pufferfish inflates", + "subtitles.entity.puffer_fish.death": "Pufferfish dies", + "subtitles.entity.puffer_fish.flop": "Pufferfish flops", + "subtitles.entity.puffer_fish.hurt": "Pufferfish hurts", + "subtitles.entity.puffer_fish.sting": "Pufferfish stings", + "subtitles.entity.rabbit.ambient": "Rabbit squeaks", + "subtitles.entity.rabbit.attack": "Rabbit attacks", + "subtitles.entity.rabbit.death": "Rabbit dies", + "subtitles.entity.rabbit.hurt": "Rabbit hurts", + "subtitles.entity.rabbit.jump": "Rabbit hops", + "subtitles.entity.salmon.death": "Salmon dies", + "subtitles.entity.salmon.flop": "Salmon flops", + "subtitles.entity.salmon.hurt": "Salmon hurts", + "subtitles.entity.sheep.ambient": "Sheep baahs", + "subtitles.entity.sheep.death": "Sheep dies", + "subtitles.entity.sheep.hurt": "Sheep hurts", + "subtitles.entity.shulker.ambient": "Shulker lurks", + "subtitles.entity.shulker.close": "Shulker closes", + "subtitles.entity.shulker.death": "Shulker dies", + "subtitles.entity.shulker.hurt": "Shulker hurts", + "subtitles.entity.shulker.open": "Shulker opens", + "subtitles.entity.shulker.shoot": "Shulker shoots", + "subtitles.entity.shulker.teleport": "Shulker teleports", + "subtitles.entity.shulker_bullet.hit": "Shulker bullet explodes", + "subtitles.entity.shulker_bullet.hurt": "Shulker bullet breaks", + "subtitles.entity.silverfish.ambient": "Silverfish hisses", + "subtitles.entity.silverfish.death": "Silverfish dies", + "subtitles.entity.silverfish.hurt": "Silverfish hurts", + "subtitles.entity.skeleton.ambient": "Skeleton rattles", + "subtitles.entity.skeleton.death": "Skeleton dies", + "subtitles.entity.skeleton.hurt": "Skeleton hurts", + "subtitles.entity.skeleton.shoot": "Skeleton shoots", + "subtitles.entity.skeleton_horse.ambient": "Skeleton Horse cries", + "subtitles.entity.skeleton_horse.death": "Skeleton Horse dies", + "subtitles.entity.skeleton_horse.hurt": "Skeleton Horse hurts", + "subtitles.entity.skeleton_horse.swim": "Skeleton Horse swims", + "subtitles.entity.slime.attack": "Slime attacks", + "subtitles.entity.slime.death": "Slime dies", + "subtitles.entity.slime.hurt": "Slime hurts", + "subtitles.entity.slime.squish": "Slime squishes", + "subtitles.entity.snowball.throw": "Snowball flies", + "subtitles.entity.snow_golem.death": "Snow Golem dies", + "subtitles.entity.snow_golem.hurt": "Snow Golem hurts", + "subtitles.entity.spider.ambient": "Spider hisses", + "subtitles.entity.spider.death": "Spider dies", + "subtitles.entity.spider.hurt": "Spider hurts", + "subtitles.entity.squid.ambient": "Squid swims", + "subtitles.entity.squid.death": "Squid dies", + "subtitles.entity.squid.hurt": "Squid hurts", + "subtitles.entity.squid.squirt": "Squid shoots ink", + "subtitles.entity.stray.ambient": "Stray rattles", + "subtitles.entity.stray.death": "Stray dies", + "subtitles.entity.stray.hurt": "Stray hurts", + "subtitles.entity.tnt.primed": "TNT fizzes", + "subtitles.entity.turtle.ambient_land": "Turtle chirps", + "subtitles.entity.turtle.lay_egg": "Turtle lays egg", + "subtitles.entity.turtle.egg_hatch": "Turtle egg hatches", + "subtitles.entity.turtle.egg_crack": "Turtle egg cracks", + "subtitles.entity.turtle.egg_break": "Turtle egg breaks", + "subtitles.entity.turtle.hurt": "Turtle hurts", + "subtitles.entity.turtle.hurt_baby": "Turtle baby hurts", + "subtitles.entity.turtle.death": "Turtle dies", + "subtitles.entity.turtle.death_baby": "Turtle baby dies", + "subtitles.entity.turtle.swim": "Turtle swims", + "subtitles.entity.turtle.shamble": "Turtle shambles", + "subtitles.entity.turtle.shamble_baby": "Turtle baby shambles", + "subtitles.entity.vex.ambient": "Vex vexes", + "subtitles.entity.vex.charge": "Vex shrieks", + "subtitles.entity.vex.death": "Vex dies", + "subtitles.entity.vex.hurt": "Vex hurts", + "subtitles.entity.villager.ambient": "Villager mumbles", + "subtitles.entity.villager.celebrate": "Villager cheers", + "subtitles.entity.villager.death": "Villager dies", + "subtitles.entity.villager.hurt": "Villager hurts", + "subtitles.entity.villager.no": "Villager disagrees", + "subtitles.entity.villager.trade": "Villager trades", + "subtitles.entity.villager.yes": "Villager agrees", + "subtitles.entity.villager.work_armorer": "Armorer works", + "subtitles.entity.villager.work_butcher": "Butcher works", + "subtitles.entity.villager.work_cartographer": "Cartographer works", + "subtitles.entity.villager.work_cleric": "Cleric works", + "subtitles.entity.villager.work_farmer": "Farmer works", + "subtitles.entity.villager.work_fisherman": "Fisherman works", + "subtitles.entity.villager.work_fletcher": "Fletcher works", + "subtitles.entity.villager.work_leatherworker": "Leatherworker works", + "subtitles.entity.villager.work_librarian": "Librarian works", + "subtitles.entity.villager.work_mason": "Mason works", + "subtitles.entity.villager.work_shepherd": "Shepherd works", + "subtitles.entity.villager.work_toolsmith": "Toolsmith works", + "subtitles.entity.villager.work_weaponsmith": "Weaponsmith works", + "subtitles.entity.vindicator.ambient": "Vindicator mutters", + "subtitles.entity.vindicator.celebrate": "Vindicator cheers", + "subtitles.entity.vindicator.death": "Vindicator dies", + "subtitles.entity.vindicator.hurt": "Vindicator hurts", + "subtitles.entity.wandering_trader.ambient": "Wandering Trader mumbles", + "subtitles.entity.wandering_trader.death": "Wandering Trader dies", + "subtitles.entity.wandering_trader.hurt": "Wandering Trader hurts", + "subtitles.entity.wandering_trader.no": "Wandering Trader disagrees", + "subtitles.entity.wandering_trader.trade": "Wandering Trader trades", + "subtitles.entity.wandering_trader.yes": "Wandering Trader agrees", + "subtitles.entity.witch.ambient": "Witch giggles", + "subtitles.entity.witch.celebrate": "Witch cheers", + "subtitles.entity.witch.death": "Witch dies", + "subtitles.entity.witch.drink": "Witch drinks", + "subtitles.entity.witch.hurt": "Witch hurts", + "subtitles.entity.witch.throw": "Witch throws", + "subtitles.entity.wither.ambient": "Wither angers", + "subtitles.entity.wither.death": "Wither dies", + "subtitles.entity.wither.hurt": "Wither hurts", + "subtitles.entity.wither.shoot": "Wither attacks", + "subtitles.entity.wither.spawn": "Wither released", + "subtitles.entity.wither_skeleton.ambient": "Wither Skeleton rattles", + "subtitles.entity.wither_skeleton.death": "Wither Skeleton dies", + "subtitles.entity.wither_skeleton.hurt": "Wither Skeleton hurts", + "subtitles.entity.wolf.ambient": "Wolf pants", + "subtitles.entity.wolf.death": "Wolf dies", + "subtitles.entity.wolf.growl": "Wolf growls", + "subtitles.entity.wolf.hurt": "Wolf hurts", + "subtitles.entity.wolf.shake": "Wolf shakes", + "subtitles.entity.zombie.ambient": "Zombie groans", + "subtitles.entity.zombie.converted_to_drowned": "Zombie converted to Drowned", + "subtitles.entity.zombie.death": "Zombie dies", + "subtitles.entity.zombie.hurt": "Zombie hurts", + "subtitles.entity.zombie.infect": "Zombie infects", + "subtitles.entity.zombie_horse.ambient": "Zombie Horse cries", + "subtitles.entity.zombie_horse.death": "Zombie Horse dies", + "subtitles.entity.zombie_horse.hurt": "Zombie Horse hurts", + "subtitles.entity.zombie_pigman.ambient": "Zombie Pigman grunts", + "subtitles.entity.zombie_pigman.angry": "Zombie Pigman angers", + "subtitles.entity.zombie_pigman.death": "Zombie Pigman dies", + "subtitles.entity.zombie_pigman.hurt": "Zombie Pigman hurts", + "subtitles.entity.zombie_villager.ambient": "Zombie Villager groans", + "subtitles.entity.zombie_villager.converted": "Zombie vociferates", + "subtitles.entity.zombie_villager.cure": "Zombie snuffles", + "subtitles.entity.zombie_villager.death": "Zombie Villager dies", + "subtitles.entity.zombie_villager.hurt": "Zombie Villager hurts", + "subtitles.event.raid.horn": "Ominous horn blares", + "subtitles.item.axe.strip": "Debarking log", + "subtitles.item.armor.equip": "Gear equips", + "subtitles.item.armor.equip_chain": "Chain armor jingles", + "subtitles.item.armor.equip_diamond": "Diamond armor clangs", + "subtitles.item.armor.equip_elytra": "Elytra rustle", + "subtitles.item.armor.equip_gold": "Gold armor clinks", + "subtitles.item.armor.equip_iron": "Iron armor clanks", + "subtitles.item.armor.equip_leather": "Leather armor rustles", + "subtitles.item.armor.equip_turtle": "Turtle shell thunks", + "subtitles.item.bottle.fill": "Bottle fills", + "subtitles.item.bucket.empty": "Bucket empties", + "subtitles.item.bucket.fill": "Bucket fills", + "subtitles.item.chorus_fruit.teleport": "Player teleports", + "subtitles.item.crop.plant": "Crop planted", + "subtitles.item.crossbow.charge": "Crossbow charges up", + "subtitles.item.crossbow.hit": "Arrow hits", + "subtitles.item.crossbow.load": "Crossbow loads", + "subtitles.item.crossbow.shoot": "Crossbow fires", + "subtitles.item.firecharge.use": "Fireball whooshes", + "subtitles.item.flintandsteel.use": "Flint and Steel click", + "subtitles.item.hoe.till": "Hoe tills", + "subtitles.item.nether_wart.plant": "Crop planted", + "subtitles.item.shears.shear": "Shears click", + "subtitles.item.shield.block": "Shield blocks", + "subtitles.item.shovel.flatten": "Shovel flattens", + "subtitles.item.berries.pick": "Berries pop", + "subtitles.item.totem.use": "Totem activates", + "subtitles.item.trident.hit": "Trident stabs", + "subtitles.item.trident.hit_ground": "Trident vibrates", + "subtitles.item.trident.return": "Trident returns", + "subtitles.item.trident.riptide": "Trident zooms", + "subtitles.item.trident.throw": "Trident clangs", + "subtitles.item.trident.thunder": "Trident thunder cracks", + "subtitles.weather.rain": "Rain falls", + "subtitles.item.book.page_turn": "Page rustles", + "subtitles.item.book.put": "Book thumps", + "debug.prefix": "[Debug]:", + "debug.reload_chunks.help": "F3 + A = Reload chunks", + "debug.show_hitboxes.help": "F3 + B = Show hitboxes", + "debug.clear_chat.help": "F3 + D = Clear chat", + "debug.cycle_renderdistance.help": "F3 + F = Cycle render distance (Shift to invert)", + "debug.chunk_boundaries.help": "F3 + G = Show chunk boundaries", + "debug.advanced_tooltips.help": "F3 + H = Advanced tooltips", + "debug.creative_spectator.help": "F3 + N = Cycle creative <-> spectator", + "debug.pause_focus.help": "F3 + P = Pause on lost focus", + "debug.help.help": "F3 + Q = Show this list", + "debug.reload_resourcepacks.help": "F3 + T = Reload resource packs", + "debug.pause.help": "F3 + Esc = Pause without pause menu (if pausing is possible)", + "debug.copy_location.help": "F3 + C = Copy location as /tp command, hold F3 + C to crash the game", + "debug.inspect.help": "F3 + I = Copy entity or block data to clipboard", + "debug.copy_location.message": "Copied location to clipboard", + "debug.inspect.server.block": "Copied server-side block data to clipboard", + "debug.inspect.server.entity": "Copied server-side entity data to clipboard", + "debug.inspect.client.block": "Copied client-side block data to clipboard", + "debug.inspect.client.entity": "Copied client-side entity data to clipboard", + "debug.reload_chunks.message": "Reloading all chunks", + "debug.show_hitboxes.on": "Hitboxes: shown", + "debug.show_hitboxes.off": "Hitboxes: hidden", + "debug.cycle_renderdistance.message": "Render Distance: %s", + "debug.chunk_boundaries.on": "Chunk borders: shown", + "debug.chunk_boundaries.off": "Chunk borders: hidden", + "debug.advanced_tooltips.on": "Advanced tooltips: shown", + "debug.advanced_tooltips.off": "Advanced tooltips: hidden", + "debug.creative_spectator.error": "Unable to switch gamemode, no permission", + "debug.pause_focus.on": "Pause on lost focus: enabled", + "debug.pause_focus.off": "Pause on lost focus: disabled", + "debug.help.message": "Key bindings:", + "debug.reload_resourcepacks.message": "Reloaded resource packs", + "debug.crash.message": "F3 + C is held down. This will crash the game unless released.", + "debug.crash.warning": "Crashing in %s...", + "resourcepack.downloading": "Downloading Resource Pack", + "resourcepack.requesting": "Making Request...", + "resourcepack.progress": "Downloading file (%s MB)...", + "tutorial.move.title": "Move with %s, %s, %s and %s", + "tutorial.move.description": "Jump with %s", + "tutorial.look.title": "Look around", + "tutorial.look.description": "Use your mouse to turn", + "tutorial.find_tree.title": "Find a tree", + "tutorial.find_tree.description": "Punch it to collect wood", + "tutorial.punch_tree.title": "Destroy the tree", + "tutorial.punch_tree.description": "Hold down %s", + "tutorial.open_inventory.title": "Open your inventory", + "tutorial.open_inventory.description": "Press %s", + "tutorial.craft_planks.title": "Craft wooden planks", + "tutorial.craft_planks.description": "The recipe book can help", + "advancements.adventure.adventuring_time.title": "Adventuring Time", + "advancements.adventure.adventuring_time.description": "Discover every biome", + "advancements.adventure.arbalistic.title": "Arbalistic", + "advancements.adventure.arbalistic.description": "Kill five unique mobs with one crossbow shot", + "advancements.adventure.hero_of_the_village.title": "Hero of the Village", + "advancements.adventure.hero_of_the_village.description": "Successfully defend a village from a raid", + "advancements.adventure.kill_all_mobs.title": "Monsters Hunted", + "advancements.adventure.kill_all_mobs.description": "Kill one of every hostile monster", + "advancements.adventure.kill_a_mob.title": "Monster Hunter", + "advancements.adventure.kill_a_mob.description": "Kill any hostile monster", + "advancements.adventure.ol_betsy.title": "Ol' Betsy", + "advancements.adventure.ol_betsy.description": "Shoot a crossbow", + "advancements.adventure.root.title": "Adventure", + "advancements.adventure.root.description": "Adventure, exploration and combat", + "advancements.adventure.shoot_arrow.title": "Take Aim", + "advancements.adventure.shoot_arrow.description": "Shoot something with a bow and arrow", + "advancements.adventure.sleep_in_bed.title": "Sweet Dreams", + "advancements.adventure.sleep_in_bed.description": "Change your respawn point", + "advancements.adventure.sniper_duel.title": "Sniper Duel", + "advancements.adventure.sniper_duel.description": "Kill a Skeleton from at least 50 meters away", + "advancements.adventure.summon_iron_golem.title": "Hired Help", + "advancements.adventure.summon_iron_golem.description": "Summon an Iron Golem to help defend a village", + "advancements.adventure.totem_of_undying.title": "Postmortal", + "advancements.adventure.totem_of_undying.description": "Use a Totem of Undying to cheat death", + "advancements.adventure.trade.title": "What a Deal!", + "advancements.adventure.trade.description": "Successfully trade with a Villager", + "advancements.adventure.throw_trident.title": "A Throwaway Joke", + "advancements.adventure.throw_trident.description": "Throw a trident at something.\nNote: Throwing away your only weapon is not a good idea.", + "advancements.adventure.two_birds_one_arrow.title": "Two Birds, One Arrow", + "advancements.adventure.two_birds_one_arrow.description": "Kill two Phantoms with a piercing arrow", + "advancements.adventure.very_very_frightening.title": "Very Very Frightening", + "advancements.adventure.very_very_frightening.description": "Strike a Villager with lightning", + "advancements.adventure.voluntary_exile.title": "Voluntary Exile", + "advancements.adventure.voluntary_exile.description": "Kill a raid captain.\nMaybe consider staying away from villages for the time being...", + "advancements.adventure.whos_the_pillager_now.title": "Who's the Pillager Now?", + "advancements.adventure.whos_the_pillager_now.description": "Give a Pillager a taste of their own medicine", + "advancements.husbandry.root.title": "Husbandry", + "advancements.husbandry.root.description": "The world is full of friends and food", + "advancements.husbandry.breed_an_animal.title": "The Parrots and the Bats", + "advancements.husbandry.breed_an_animal.description": "Breed two animals together", + "advancements.husbandry.fishy_business.title": "Fishy Business", + "advancements.husbandry.fishy_business.description": "Catch a fish", + "advancements.husbandry.tactical_fishing.title": "Tactical Fishing", + "advancements.husbandry.tactical_fishing.description": "Catch a fish... without a fishing rod!", + "advancements.husbandry.breed_all_animals.title": "Two by Two", + "advancements.husbandry.breed_all_animals.description": "Breed all the animals!", + "advancements.husbandry.tame_an_animal.title": "Best Friends Forever", + "advancements.husbandry.tame_an_animal.description": "Tame an animal", + "advancements.husbandry.plant_seed.title": "A Seedy Place", + "advancements.husbandry.plant_seed.description": "Plant a seed and watch it grow", + "advancements.husbandry.break_diamond_hoe.title": "Serious Dedication", + "advancements.husbandry.break_diamond_hoe.description": "Completely use up a diamond hoe, and then reevaluate your life choices", + "advancements.husbandry.balanced_diet.title": "A Balanced Diet", + "advancements.husbandry.balanced_diet.description": "Eat everything that is edible, even if it's not good for you", + "advancements.husbandry.complete_catalogue.title": "A Complete Catalogue", + "advancements.husbandry.complete_catalogue.description": "Tame all cat variants!", + "advancements.end.dragon_breath.title": "You Need a Mint", + "advancements.end.dragon_breath.description": "Collect dragon's breath in a glass bottle", + "advancements.end.dragon_egg.title": "The Next Generation", + "advancements.end.dragon_egg.description": "Hold the Dragon Egg", + "advancements.end.elytra.title": "Sky's the Limit", + "advancements.end.elytra.description": "Find Elytra", + "advancements.end.enter_end_gateway.title": "Remote Getaway", + "advancements.end.enter_end_gateway.description": "Escape the island", + "advancements.end.find_end_city.title": "The City at the End of the Game", + "advancements.end.find_end_city.description": "Go on in, what could happen?", + "advancements.end.kill_dragon.title": "Free the End", + "advancements.end.kill_dragon.description": "Good luck", + "advancements.end.levitate.title": "Great View From Up Here", + "advancements.end.levitate.description": "Levitate up 50 blocks from the attacks of a Shulker", + "advancements.end.respawn_dragon.title": "The End... Again...", + "advancements.end.respawn_dragon.description": "Respawn the Ender Dragon", + "advancements.end.root.title": "The End", + "advancements.end.root.description": "Or the beginning?", + "advancements.nether.brew_potion.title": "Local Brewery", + "advancements.nether.brew_potion.description": "Brew a potion", + "advancements.nether.all_potions.title": "A Furious Cocktail", + "advancements.nether.all_potions.description": "Have every potion effect applied at the same time", + "advancements.nether.all_effects.title": "How Did We Get Here?", + "advancements.nether.all_effects.description": "Have every effect applied at the same time", + "advancements.nether.create_beacon.title": "Bring Home the Beacon", + "advancements.nether.create_beacon.description": "Construct and place a Beacon", + "advancements.nether.create_full_beacon.title": "Beaconator", + "advancements.nether.create_full_beacon.description": "Bring a beacon to full power", + "advancements.nether.find_fortress.title": "A Terrible Fortress", + "advancements.nether.find_fortress.description": "Break your way into a Nether Fortress", + "advancements.nether.get_wither_skull.title": "Spooky Scary Skeleton", + "advancements.nether.get_wither_skull.description": "Obtain a Wither Skeleton's skull", + "advancements.nether.obtain_blaze_rod.title": "Into Fire", + "advancements.nether.obtain_blaze_rod.description": "Relieve a Blaze of its rod", + "advancements.nether.return_to_sender.title": "Return to Sender", + "advancements.nether.return_to_sender.description": "Destroy a Ghast with a fireball", + "advancements.nether.root.title": "Nether", + "advancements.nether.root.description": "Bring summer clothes", + "advancements.nether.summon_wither.title": "Withering Heights", + "advancements.nether.summon_wither.description": "Summon the Wither", + "advancements.nether.fast_travel.title": "Subspace Bubble", + "advancements.nether.fast_travel.description": "Use the Nether to travel 7 km in the Overworld", + "advancements.nether.uneasy_alliance.title": "Uneasy Alliance", + "advancements.nether.uneasy_alliance.description": "Rescue a Ghast from the Nether, bring it safely home to the Overworld... and then kill it", + "advancements.story.cure_zombie_villager.title": "Zombie Doctor", + "advancements.story.cure_zombie_villager.description": "Weaken and then cure a Zombie Villager", + "advancements.story.deflect_arrow.title": "Not Today, Thank You", + "advancements.story.deflect_arrow.description": "Deflect an arrow with a shield", + "advancements.story.enchant_item.title": "Enchanter", + "advancements.story.enchant_item.description": "Enchant an item at an Enchanting Table", + "advancements.story.enter_the_end.title": "The End?", + "advancements.story.enter_the_end.description": "Enter the End Portal", + "advancements.story.enter_the_nether.title": "We Need to Go Deeper", + "advancements.story.enter_the_nether.description": "Build, light and enter a Nether Portal", + "advancements.story.follow_ender_eye.title": "Eye Spy", + "advancements.story.follow_ender_eye.description": "Follow an Eye of Ender", + "advancements.story.form_obsidian.title": "Ice Bucket Challenge", + "advancements.story.form_obsidian.description": "Form and mine a block of Obsidian", + "advancements.story.iron_tools.title": "Isn't It Iron Pick", + "advancements.story.iron_tools.description": "Upgrade your pickaxe", + "advancements.story.lava_bucket.title": "Hot Stuff", + "advancements.story.lava_bucket.description": "Fill a bucket with lava", + "advancements.story.mine_diamond.title": "Diamonds!", + "advancements.story.mine_diamond.description": "Acquire diamonds", + "advancements.story.mine_stone.title": "Stone Age", + "advancements.story.mine_stone.description": "Mine stone with your new pickaxe", + "advancements.story.obtain_armor.title": "Suit Up", + "advancements.story.obtain_armor.description": "Protect yourself with a piece of iron armor", + "advancements.story.root.title": "Minecraft", + "advancements.story.root.description": "The heart and story of the game", + "advancements.story.shiny_gear.title": "Cover Me With Diamonds", + "advancements.story.shiny_gear.description": "Diamond armor saves lives", + "advancements.story.smelt_iron.title": "Acquire Hardware", + "advancements.story.smelt_iron.description": "Smelt an iron ingot", + "advancements.story.upgrade_tools.title": "Getting an Upgrade", + "advancements.story.upgrade_tools.description": "Construct a better pickaxe", + "team.visibility.always": "Always", + "team.visibility.never": "Never", + "team.visibility.hideForOtherTeams": "Hide for other teams", + "team.visibility.hideForOwnTeam": "Hide for own team", + "team.collision.always": "Always", + "team.collision.never": "Never", + "team.collision.pushOtherTeams": "Push other teams", + "team.collision.pushOwnTeam": "Push own team", + "argument.entity.selector.nearestPlayer": "Nearest player", + "argument.entity.selector.randomPlayer": "Random player", + "argument.entity.selector.allPlayers": "All players", + "argument.entity.selector.allEntities": "All entities", + "argument.entity.selector.self": "Current entity", + "argument.entity.options.name.description": "Entity name", + "argument.entity.options.distance.description": "Distance to entity", + "argument.entity.options.level.description": "Experience level", + "argument.entity.options.x.description": "x position", + "argument.entity.options.y.description": "y position", + "argument.entity.options.z.description": "z position", + "argument.entity.options.dx.description": "Entities between x and x + dx", + "argument.entity.options.dy.description": "Entities between y and y + dy", + "argument.entity.options.dz.description": "Entities between z and z + dz", + "argument.entity.options.x_rotation.description": "Entity's x rotation", + "argument.entity.options.y_rotation.description": "Entity's y rotation", + "argument.entity.options.limit.description": "Maximum number of entities to return", + "argument.entity.options.sort.description": "Sort the entities", + "argument.entity.options.gamemode.description": "Players with gamemode", + "argument.entity.options.team.description": "Entities on team", + "argument.entity.options.type.description": "Entities of type", + "argument.entity.options.tag.description": "Entities with tag", + "argument.entity.options.nbt.description": "Entities with NBT", + "argument.entity.options.scores.description": "Entities with scores", + "argument.entity.options.advancements.description": "Players with advancements", + "command.failed": "An unexpected error occurred trying to execute that command", + "command.context.here": "<--[HERE]", + "commands.publish.started": "Local game hosted on port %s", + "commands.publish.failed": "Unable to host local game", + "commands.advancement.advancementNotFound": "No advancement was found by the name '%1$s'", + "commands.advancement.criterionNotFound": "The advancement %1$s does not contain the criterion '%2$s'", + "commands.advancement.grant.one.to.one.success": "Granted the advancement %s to %s", + "commands.advancement.grant.one.to.one.failure": "Couldn't grant advancement %s to %s as they already have it", + "commands.advancement.grant.one.to.many.success": "Granted the advancement %s to %s players", + "commands.advancement.grant.one.to.many.failure": "Couldn't grant advancement %s to %s players as they already have it", + "commands.advancement.grant.many.to.one.success": "Granted %s advancements to %s", + "commands.advancement.grant.many.to.one.failure": "Couldn't grant %s advancements to %s as they already have them", + "commands.advancement.grant.many.to.many.success": "Granted %s advancements to %s players", + "commands.advancement.grant.many.to.many.failure": "Couldn't grant %s advancements to %s players as they already have them", + "commands.advancement.grant.criterion.to.one.success": "Granted criterion '%s' of advancement %s to %s", + "commands.advancement.grant.criterion.to.one.failure": "Couldn't grant criterion '%s' of advancement %s to %s as they already have it", + "commands.advancement.grant.criterion.to.many.success": "Granted criterion '%s' of advancement %s to %s players", + "commands.advancement.grant.criterion.to.many.failure": "Couldn't grant criterion '%s' of advancement %s to %s players as they already have it", + "commands.advancement.revoke.one.to.one.success": "Revoked the advancement %s from %s", + "commands.advancement.revoke.one.to.one.failure": "Couldn't revoke advancement %s from %s as they don't have it", + "commands.advancement.revoke.one.to.many.success": "Revoked the advancement %s from %s players", + "commands.advancement.revoke.one.to.many.failure": "Couldn't revoke advancement %s from %s players as they don't have it", + "commands.advancement.revoke.many.to.one.success": "Revoked %s advancements from %s", + "commands.advancement.revoke.many.to.one.failure": "Couldn't revoke %s advancements from %s as they don't have them", + "commands.advancement.revoke.many.to.many.success": "Revoked %s advancements from %s players", + "commands.advancement.revoke.many.to.many.failure": "Couldn't revoke %s advancements from %s players as they don't have them", + "commands.advancement.revoke.criterion.to.one.success": "Revoked criterion '%s' of advancement %s from %s", + "commands.advancement.revoke.criterion.to.one.failure": "Couldn't revoke criterion '%s' of advancement %s from %s as they don't have it", + "commands.advancement.revoke.criterion.to.many.success": "Revoked criterion '%s' of advancement %s from %s players", + "commands.advancement.revoke.criterion.to.many.failure": "Couldn't revoke criterion '%s' of advancement %s from %s players as they don't have it", + "commands.forceload.added.failure": "No chunks were marked for force loading", + "commands.forceload.added.single": "Marked chunk %s in %s to be force loaded", + "commands.forceload.added.multiple": "Marked %s chunks in %s from %s to %s to be force loaded", + "commands.forceload.query.success": "Chunk at %s in %s is marked for force loading", + "commands.forceload.query.failure": "Chunk at %s in %s is not marked for force loading", + "commands.forceload.list.single": "A force loaded chunk was found in %s at: %s", + "commands.forceload.list.multiple": "%s force loaded chunks were found in %s at: %s", + "commands.forceload.added.none": "No force loaded chunks were found in %s", + "commands.forceload.removed.all": "Unmarked all force loaded chunks in %s", + "commands.forceload.removed.failure": "No chunks were removed from force loading", + "commands.forceload.removed.single": "Unmarked chunk %s in %s for force loading", + "commands.forceload.removed.multiple": "Unmarked %s chunks in %s from %s to %s for force loading", + "commands.forceload.toobig": "Too many chunks in the specified area (maximum %s, specified %s)", + "commands.clear.success.single": "Removed %s items from player %s", + "commands.clear.success.multiple": "Removed %s items from %s players", + "commands.clear.test.single": "Found %s matching items on player %s", + "commands.clear.test.multiple": "Found %s matching items on %s players", + "commands.clone.success": "Successfully cloned %s blocks", + "commands.debug.started": "Started debug profiling", + "commands.debug.stopped": "Stopped debug profiling after %s seconds and %s ticks (%s ticks per second)", + "commands.debug.reportSaved": "Created debug report in %s", + "commands.debug.reportFailed": "Failed to create debug report", + "commands.defaultgamemode.success": "The default game mode is now %s", + "commands.difficulty.success": "The difficulty has been set to %s", + "commands.difficulty.query": "The difficulty is %s", + "commands.drop.no_held_items": "Entity can't hold any items", + "commands.drop.no_loot_table": "Entity %s has no loot table", + "commands.drop.success.single": "Dropped %s * %s", + "commands.drop.success.single_with_table": "Dropped %s * %s from loot table %s", + "commands.drop.success.multiple": "Dropped %s items", + "commands.drop.success.multiple_with_table": "Dropped %s items from loot table %s", + "commands.effect.give.success.single": "Applied effect %s to %s", + "commands.effect.give.success.multiple": "Applied effect %s to %s targets", + "commands.effect.clear.everything.success.single": "Removed every effect from %s", + "commands.effect.clear.everything.success.multiple": "Removed every effect from %s targets", + "commands.effect.clear.specific.success.single": "Removed effect %s from %s", + "commands.effect.clear.specific.success.multiple": "Removed effect %s from %s targets", + "commands.enchant.success.single": "Applied enchantment %s to %s's item", + "commands.enchant.success.multiple": "Applied enchantment %s to %s entities", + "commands.experience.add.points.success.single": "Gave %s experience points to %s", + "commands.experience.add.points.success.multiple": "Gave %s experience points to %s players", + "commands.experience.add.levels.success.single": "Gave %s experience levels to %s", + "commands.experience.add.levels.success.multiple": "Gave %s experience levels to %s players", + "commands.experience.set.points.success.single": "Set %s experience points on %s", + "commands.experience.set.points.success.multiple": "Set %s experience points on %s players", + "commands.experience.set.levels.success.single": "Set %s experience levels on %s", + "commands.experience.set.levels.success.multiple": "Set %s experience levels on %s players", + "commands.experience.query.points": "%s has %s experience points", + "commands.experience.query.levels": "%s has %s experience levels", + "commands.fill.success": "Successfully filled %s blocks", + "commands.function.success.single": "Executed %s commands from function '%s'", + "commands.function.success.multiple": "Executed %s commands from %s functions", + "commands.give.success.single": "Gave %s %s to %s", + "commands.give.success.multiple": "Gave %s %s to %s players", + "commands.playsound.success.single": "Played sound %s to %s", + "commands.playsound.success.multiple": "Played sound %s to %s players", + "commands.publish.success": "Multiplayer game is now hosted on port %s", + "commands.list.players": "There are %s of a max %s players online: %s", + "commands.kill.success.single": "Killed %s", + "commands.kill.success.multiple": "Killed %s entities", + "commands.kick.success": "Kicked %s: %s", + "commands.locate.success": "The nearest %s is at %s (%s blocks away)", + "commands.message.display.outgoing": "You whisper to %s: %s", + "commands.message.display.incoming": "%s whispers to you: %s", + "commands.op.success": "Made %s a server operator", + "commands.deop.success": "Made %s no longer a server operator", + "commands.ban.success": "Banned %s: %s", + "commands.pardon.success": "Unbanned %s", + "commands.particle.success": "Displaying particle %s", + "commands.seed.success": "Seed: %s", + "commands.stop.stopping": "Stopping the server", + "commands.time.query": "The time is %s", + "commands.time.set": "Set the time to %s", + "commands.schedule.created.function": "Scheduled function '%s' in %s ticks at gametime %s", + "commands.schedule.created.tag": "Scheduled tag '%s' in %s ticks at gametime %s", + "commands.schedule.same_tick": "Can't schedule for current tick", + "commands.gamemode.success.self": "Set own game mode to %s", + "commands.gamemode.success.other": "Set %s's game mode to %s", + "commands.gamerule.query": "Gamerule %s is currently set to: %s", + "commands.gamerule.set": "Gamerule %s is now set to: %s", + "commands.save.disabled": "Automatic saving is now disabled", + "commands.save.enabled": "Automatic saving is now enabled", + "commands.save.saving": "Saving the game (this may take a moment!)", + "commands.save.success": "Saved the game", + "commands.setidletimeout.success": "The player idle timeout is now %s minutes", + "commands.banlist.none": "There are no bans", + "commands.banlist.list": "There are %s bans:", + "commands.banlist.entry": "%s was banned by %s: %s", + "commands.bossbar.create.success": "Created custom bossbar %s", + "commands.bossbar.remove.success": "Removed custom bossbar %s", + "commands.bossbar.list.bars.none": "There are no custom bossbars active", + "commands.bossbar.list.bars.some": "There are %s custom bossbars active: %s", + "commands.bossbar.set.players.success.none": "Custom bossbar %s no longer has any players", + "commands.bossbar.set.players.success.some": "Custom bossbar %s now has %s players: %s", + "commands.bossbar.set.name.success": "Custom bossbar %s has been renamed", + "commands.bossbar.set.color.success": "Custom bossbar %s has changed color", + "commands.bossbar.set.style.success": "Custom bossbar %s has changed style", + "commands.bossbar.set.value.success": "Custom bossbar %s has changed value to %s", + "commands.bossbar.set.max.success": "Custom bossbar %s has changed maximum to %s", + "commands.bossbar.set.visible.success.visible": "Custom bossbar %s is now visible", + "commands.bossbar.set.visible.success.hidden": "Custom bossbar %s is now hidden", + "commands.bossbar.get.value": "Custom bossbar %s has a value of %s", + "commands.bossbar.get.max": "Custom bossbar %s has a maximum of %s", + "commands.bossbar.get.visible.visible": "Custom bossbar %s is currently shown", + "commands.bossbar.get.visible.hidden": "Custom bossbar %s is currently hidden", + "commands.bossbar.get.players.none": "Custom bossbar %s has no players currently online", + "commands.bossbar.get.players.some": "Custom bossbar %s has %s players currently online: %s", + "commands.recipe.give.success.single": "Unlocked %s recipes for %s", + "commands.recipe.give.success.multiple": "Unlocked %s recipes for %s players", + "commands.recipe.take.success.single": "Took %s recipes from %s", + "commands.recipe.take.success.multiple": "Took %s recipes from %s players", + "commands.summon.success": "Summoned new %s", + "commands.whitelist.enabled": "Whitelist is now turned on", + "commands.whitelist.disabled": "Whitelist is now turned off", + "commands.whitelist.none": "There are no whitelisted players", + "commands.whitelist.list": "There are %s whitelisted players: %s", + "commands.whitelist.add.success": "Added %s to the whitelist", + "commands.whitelist.remove.success": "Removed %s from the whitelist", + "commands.whitelist.reloaded": "Reloaded the whitelist", + "commands.weather.set.clear": "Set the weather to clear", + "commands.weather.set.rain": "Set the weather to rain", + "commands.weather.set.thunder": "Set the weather to rain & thunder", + "commands.spawnpoint.success.single": "Set spawn point to %s, %s, %s for %s", + "commands.spawnpoint.success.multiple": "Set spawn point to %s, %s, %s for %s players", + "commands.stopsound.success.source.sound": "Stopped sound '%s' on source '%s'", + "commands.stopsound.success.source.any": "Stopped all '%s' sounds", + "commands.stopsound.success.sourceless.sound": "Stopped sound '%s'", + "commands.stopsound.success.sourceless.any": "Stopped all sounds", + "commands.setworldspawn.success": "Set the world spawn point to %s, %s, %s", + "commands.spreadplayers.success.teams": "Spread %s teams around %s, %s with an average distance of %s blocks apart", + "commands.spreadplayers.success.entities": "Spread %s players around %s, %s with an average distance of %s blocks apart", + "commands.setblock.success": "Changed the block at %s, %s, %s", + "commands.banip.success": "Banned IP %s: %s", + "commands.banip.info": "This ban affects %s players: %s", + "commands.pardonip.success": "Unbanned IP %s", + "commands.teleport.success.entity.single": "Teleported %s to %s", + "commands.teleport.success.entity.multiple": "Teleported %s entities to %s", + "commands.teleport.success.location.single": "Teleported %s to %s, %s, %s", + "commands.teleport.success.location.multiple": "Teleported %s entities to %s, %s, %s", + "commands.title.cleared.single": "Cleared titles for %s", + "commands.title.cleared.multiple": "Cleared titles for %s players", + "commands.title.reset.single": "Reset title options for %s", + "commands.title.reset.multiple": "Reset title options for %s players", + "commands.title.show.title.single": "Showing new title for %s", + "commands.title.show.title.multiple": "Showing new title for %s players", + "commands.title.show.subtitle.single": "Showing new subtitle for %s", + "commands.title.show.subtitle.multiple": "Showing new subtitle for %s players", + "commands.title.show.actionbar.single": "Showing new actionbar title for %s", + "commands.title.show.actionbar.multiple": "Showing new actionbar title for %s players", + "commands.title.times.single": "Changed title display times for %s", + "commands.title.times.multiple": "Changed title display times for %s players", + "commands.worldborder.set.grow": "Growing the world border to %s blocks wide over %s seconds", + "commands.worldborder.set.shrink": "Shrinking the world border to %s blocks wide over %s seconds", + "commands.worldborder.set.immediate": "Set the world border to %s blocks wide", + "commands.worldborder.center.success": "Set the center of the world border to %s, %s", + "commands.worldborder.get": "The world border is currently %s blocks wide", + "commands.worldborder.damage.buffer.success": "Set the world border damage buffer to %s blocks", + "commands.worldborder.damage.amount.success": "Set the world border damage time to %s seconds", + "commands.worldborder.warning.time.success": "Set the world border warning time to %s seconds", + "commands.worldborder.warning.distance.success": "Set the world border warning distance to %s blocks", + "commands.replaceitem.block.success": "Replaced a slot at %s, %s, %s with %s", + "commands.replaceitem.entity.success.single": "Replaced a slot on %s with %s", + "commands.replaceitem.entity.success.multiple": "Replaced a slot on %s entities with %s", + "commands.tag.add.success.single": "Added tag '%s' to %s", + "commands.tag.add.success.multiple": "Added tag '%s' to %s entities", + "commands.tag.remove.success.single": "Removed tag '%s' from %s", + "commands.tag.remove.success.multiple": "Removed tag '%s' from %s entities", + "commands.tag.list.single.empty": "%s has no tags", + "commands.tag.list.single.success": "%s has %s tags: %s", + "commands.tag.list.multiple.empty": "There are no tags on the %s entities", + "commands.tag.list.multiple.success": "The %s entities have %s total tags: %s", + "commands.team.list.members.empty": "There are no members on team %s", + "commands.team.list.members.success": "Team %s has %s members: %s", + "commands.team.list.teams.empty": "There are no teams", + "commands.team.list.teams.success": "There are %s teams: %s", + "commands.team.add.success": "Created team %s", + "commands.team.remove.success": "Removed team %s", + "commands.team.empty.success": "Removed %s members from team %s", + "commands.team.option.color.success": "Updated the color for team %s to %s", + "commands.team.option.name.success": "Updated team %s name", + "commands.team.option.friendlyfire.enabled": "Enabled friendly fire for team %s", + "commands.team.option.friendlyfire.disabled": "Disabled friendly fire for team %s", + "commands.team.option.seeFriendlyInvisibles.enabled": "Team %s can now see invisible teammates", + "commands.team.option.seeFriendlyInvisibles.disabled": "Team %s can no longer see invisible teammates", + "commands.team.option.nametagVisibility.success": "Nametag visibility for team %s is now \"%s\"", + "commands.team.option.deathMessageVisibility.success": "Death message visibility for team %s is now \"%s\"", + "commands.team.option.collisionRule.success": "Collision rule for team %s is now \"%s\"", + "commands.team.option.prefix.success": "Team prefix set to %s", + "commands.team.option.suffix.success": "Team suffix set to %s", + "commands.team.join.success.single": "Added %s to team %s", + "commands.team.join.success.multiple": "Added %s members to team %s", + "commands.team.leave.success.single": "Removed %s from any team", + "commands.team.leave.success.multiple": "Removed %s members from any team", + "commands.trigger.simple.success": "Triggered %s", + "commands.trigger.add.success": "Triggered %s (added %s to value)", + "commands.trigger.set.success": "Triggered %s (set value to %s)", + "commands.scoreboard.objectives.list.empty": "There are no objectives", + "commands.scoreboard.objectives.list.success": "There are %s objectives: %s", + "commands.scoreboard.objectives.add.success": "Created new objective %s", + "commands.scoreboard.objectives.remove.success": "Removed objective %s", + "commands.scoreboard.objectives.display.cleared": "Cleared any objectives in display slot %s", + "commands.scoreboard.objectives.display.set": "Set display slot %s to show objective %s", + "commands.scoreboard.objectives.modify.displayname": "Changed objective %s display name to %s", + "commands.scoreboard.objectives.modify.rendertype": "Changed objective %s render type", + "commands.scoreboard.players.list.empty": "There are no tracked entities", + "commands.scoreboard.players.list.success": "There are %s tracked entities: %s", + "commands.scoreboard.players.list.entity.empty": "%s has no scores to show", + "commands.scoreboard.players.list.entity.success": "%s has %s scores:", + "commands.scoreboard.players.list.entity.entry": "%s: %s", + "commands.scoreboard.players.set.success.single": "Set %s for %s to %s", + "commands.scoreboard.players.set.success.multiple": "Set %s for %s entities to %s", + "commands.scoreboard.players.add.success.single": "Added %s to %s for %s (now %s)", + "commands.scoreboard.players.add.success.multiple": "Added %s to %s for %s entities", + "commands.scoreboard.players.remove.success.single": "Removed %s from %s for %s (now %s)", + "commands.scoreboard.players.remove.success.multiple": "Removed %s from %s for %s entities", + "commands.scoreboard.players.reset.all.single": "Reset all scores for %s", + "commands.scoreboard.players.reset.all.multiple": "Reset all scores for %s entities", + "commands.scoreboard.players.reset.specific.single": "Reset %s for %s", + "commands.scoreboard.players.reset.specific.multiple": "Reset %s for %s entities", + "commands.scoreboard.players.enable.success.single": "Enabled trigger %s for %s", + "commands.scoreboard.players.enable.success.multiple": "Enabled trigger %s for %s entities", + "commands.scoreboard.players.operation.success.single": "Set %s for %s to %s", + "commands.scoreboard.players.operation.success.multiple": "Updated %s for %s entities", + "commands.scoreboard.players.get.success": "%s has %s %s", + "commands.reload.success": "Reloading!", + "commands.data.entity.modified": "Modified entity data of %s", + "commands.data.entity.query": "%s has the following entity data: %s", + "commands.data.entity.get": "%s on %s after scale factor of %s is %s", + "commands.data.block.modified": "Modified block data of %s, %s, %s", + "commands.data.block.query": "%s, %s, %s has the following block data: %s", + "commands.data.block.get": "%s on block %s, %s, %s after scale factor of %s is %s", + "commands.datapack.list.enabled.success": "There are %s data packs enabled: %s", + "commands.datapack.list.enabled.none": "There are no data packs enabled", + "commands.datapack.list.available.success": "There are %s data packs available: %s", + "commands.datapack.list.available.none": "There are no more data packs available", + "commands.datapack.enable.success": "Enabled data pack %s", + "commands.datapack.disable.success": "Disabled data pack %s", + "argument.range.empty": "Expected value or range of values", + "argument.range.ints": "Only whole numbers allowed, not decimals", + "argument.range.swapped": "Min cannot be bigger than max", + "permissions.requires.player": "A player is required to run this command here", + "permissions.requires.entity": "An entity is required to run this command here", + "argument.entity.toomany": "Only one entity is allowed, but the provided selector allows more than one", + "argument.player.toomany": "Only one player is allowed, but the provided selector allows more than one", + "argument.player.entities": "Only players may be affected by this command, but the provided selector includes entities", + "argument.entity.notfound.entity": "No entity was found", + "argument.entity.notfound.player": "No player was found", + "argument.player.unknown": "That player does not exist", + "arguments.nbtpath.node.invalid": "Invalid NBT path element", + "arguments.nbtpath.nothing_found": "Found no elements matching %s", + "arguments.operation.invalid": "Invalid operation", + "arguments.operation.div0": "Cannot divide by zero", + "argument.scoreHolder.empty": "No relevant score holders could be found", + "argument.block.tag.disallowed": "Tags aren't allowed here, only actual blocks", + "argument.block.property.unclosed": "Expected closing ] for block state properties", + "argument.pos.unloaded": "That position is not loaded", + "argument.pos.outofworld": "That position is out of this world!", + "argument.rotation.incomplete": "Incomplete (expected 2 coordinates)", + "arguments.swizzle.invalid": "Invalid swizzle, expected combination of 'x', 'y' and 'z'", + "argument.pos2d.incomplete": "Incomplete (expected 2 coordinates)", + "argument.pos3d.incomplete": "Incomplete (expected 3 coordinates)", + "argument.pos.mixed": "Cannot mix world & local coordinates (everything must either use ^ or not)", + "argument.pos.missing.double": "Expected a coordinate", + "argument.pos.missing.int": "Expected a block position", + "argument.item.tag.disallowed": "Tags aren't allowed here, only actual items", + "argument.entity.invalid": "Invalid name or UUID", + "argument.entity.selector.missing": "Missing selector type", + "argument.entity.selector.not_allowed": "Selector not allowed", + "argument.entity.options.unterminated": "Expected end of options", + "argument.entity.options.distance.negative": "Distance cannot be negative", + "argument.entity.options.level.negative": "Level shouldn't be negative", + "argument.entity.options.limit.toosmall": "Limit must be at least 1", + "argument.nbt.trailing": "Unexpected trailing data", + "argument.nbt.expected.key": "Expected key", + "argument.nbt.expected.value": "Expected value", + "argument.id.invalid": "Invalid ID", + "argument.time.invalid_unit": "Invalid unit", + "argument.time.invalid_tick_count": "Tick count must be non-negative", + "commands.banip.invalid": "Invalid IP address or unknown player", + "commands.banip.failed": "Nothing changed. That IP is already banned", + "commands.ban.failed": "Nothing changed. The player is already banned", + "commands.bossbar.set.players.unchanged": "Nothing changed. Those players are already on the bossbar with nobody to add or remove", + "commands.bossbar.set.name.unchanged": "Nothing changed. That's already the name of this bossbar", + "commands.bossbar.set.color.unchanged": "Nothing changed. That's already the color of this bossbar", + "commands.bossbar.set.style.unchanged": "Nothing changed. That's already the style of this bossbar", + "commands.bossbar.set.value.unchanged": "Nothing changed. That's already the value of this bossbar", + "commands.bossbar.set.max.unchanged": "Nothing changed. That's already the max of this bossbar", + "commands.bossbar.set.visibility.unchanged.hidden": "Nothing changed. The bossbar is already hidden", + "commands.bossbar.set.visibility.unchanged.visible": "Nothing changed. The bossbar is already visible", + "commands.clone.overlap": "The source and destination areas cannot overlap", + "commands.clone.failed": "No blocks were cloned", + "commands.debug.notRunning": "The debug profiler hasn't started", + "commands.debug.alreadyRunning": "The debug profiler is already started", + "commands.deop.failed": "Nothing changed. The player is not an operator", + "commands.effect.give.failed": "Unable to apply this effect (target is either immune to effects, or has something stronger)", + "commands.effect.clear.everything.failed": "Target has no effects to remove", + "commands.effect.clear.specific.failed": "Target doesn't have the requested effect", + "commands.enchant.failed": "Nothing changed. Targets either have no item in their hands or the enchantment could not be applied", + "commands.experience.set.points.invalid": "Cannot set experience points above the maximum points for the player's current level", + "commands.fill.failed": "No blocks were filled", + "commands.help.failed": "Unknown command or insufficient permissions", + "commands.locate.failed": "Could not find that structure nearby", + "commands.op.failed": "Nothing changed. The player already is an operator", + "commands.pardon.failed": "Nothing changed. The player isn't banned", + "commands.pardonip.invalid": "Invalid IP address", + "commands.pardonip.failed": "Nothing changed. That IP isn't banned", + "commands.particle.failed": "The particle was not visible for anybody", + "commands.playsound.failed": "The sound is too far away to be heard", + "commands.recipe.give.failed": "No new recipes were learned", + "commands.recipe.take.failed": "No recipes could be forgotten", + "commands.replaceitem.block.failed": "The target block is not a container", + "commands.replaceitem.slot.inapplicable": "The target does not have slot %s", + "commands.replaceitem.entity.failed": "Could not put %s in slot %s", + "commands.save.failed": "Unable to save the game (is there enough disk space?)", + "commands.save.alreadyOff": "Saving is already turned off", + "commands.save.alreadyOn": "Saving is already turned on", + "commands.scoreboard.objectives.add.duplicate": "An objective already exists by that name", + "commands.scoreboard.objectives.display.alreadyEmpty": "Nothing changed. That display slot is already empty", + "commands.scoreboard.objectives.display.alreadySet": "Nothing changed. That display slot is already showing that objective", + "commands.scoreboard.players.enable.failed": "Nothing changed. That trigger is already enabled", + "commands.scoreboard.players.enable.invalid": "Enable only works on trigger-objectives", + "commands.setblock.failed": "Could not set the block", + "commands.summon.failed": "Unable to summon entity", + "commands.tag.add.failed": "Target either already has the tag or has too many tags", + "commands.tag.remove.failed": "Target does not have this tag", + "commands.team.add.duplicate": "A team already exists by that name", + "commands.team.empty.unchanged": "Nothing changed. That team is already empty", + "commands.team.option.color.unchanged": "Nothing changed. That team already has that color", + "commands.team.option.name.unchanged": "Nothing changed. That team already has that name", + "commands.team.option.friendlyfire.alreadyEnabled": "Nothing changed. Friendly fire is already enabled for that team", + "commands.team.option.friendlyfire.alreadyDisabled": "Nothing changed. Friendly fire is already disabled for that team", + "commands.team.option.seeFriendlyInvisibles.alreadyEnabled": "Nothing changed. That team can already see invisible teammates", + "commands.team.option.seeFriendlyInvisibles.alreadyDisabled": "Nothing changed. That team already can't see invisible teammates", + "commands.team.option.nametagVisibility.unchanged": "Nothing changed. Nametag visibility is already that value", + "commands.team.option.deathMessageVisibility.unchanged": "Nothing changed. Death message visibility is already that value", + "commands.team.option.collisionRule.unchanged": "Nothing changed. Collision rule is already that value", + "commands.trigger.failed.unprimed": "You cannot trigger this objective yet", + "commands.trigger.failed.invalid": "You can only trigger objectives that are 'trigger' type", + "commands.whitelist.alreadyOn": "Whitelist is already turned on", + "commands.whitelist.alreadyOff": "Whitelist is already turned off", + "commands.whitelist.add.failed": "Player is already whitelisted", + "commands.whitelist.remove.failed": "Player is not whitelisted", + "commands.worldborder.center.failed": "Nothing changed. The world border is already centered there", + "commands.worldborder.set.failed.nochange": "Nothing changed. The world border is already that size", + "commands.worldborder.set.failed.small.": "World border cannot be smaller than 1 block wide", + "commands.worldborder.set.failed.big.": "World border cannot be bigger than 60,000,000 blocks wide", + "commands.worldborder.warning.time.failed": "Nothing changed. The world border warning is already that amount of time", + "commands.worldborder.warning.distance.failed": "Nothing changed. The world border warning is already that distance", + "commands.worldborder.damage.buffer.failed": "Nothing changed. The world border damage buffer is already that distance", + "commands.worldborder.damage.amount.failed": "Nothing changed. The world border damage is already that amount", + "commands.data.block.invalid": "The target block is not a block entity", + "commands.data.merge.failed": "Nothing changed, the specified properties already have these values", + "commands.data.modify.expected_list": "Expected list, got: %s", + "commands.data.modify.expected_object": "Expected object, got: %s", + "commands.data.modify.invalid_index": "Invalid list index: %s", + "commands.data.get.multiple": "This argument accepts a single NBT value", + "commands.data.entity.invalid": "Unable to modify player data", + "commands.teammsg.failed.noteam": "You must be on a team to message your team", + "argument.color.invalid": "Unknown color '%s'", + "argument.dimension.invalid": "Unknown dimension '%s'", + "argument.component.invalid": "Invalid chat component: %s", + "argument.anchor.invalid": "Invalid entity anchor position %s", + "enchantment.unknown": "Unknown enchantment: %s", + "lectern.take_book": "Take Book", + "effect.effectNotFound": "Unknown effect: %s", + "arguments.objective.notFound": "Unknown scoreboard objective '%s'", + "arguments.objective.readonly": "Scoreboard objective '%s' is read-only", + "commands.scoreboard.objectives.add.longName": "Objective names cannot be longer than %s characters", + "argument.criteria.invalid": "Unknown criteria '%s'", + "particle.notFound": "Unknown particle: %s", + "argument.id.unknown": "Unknown ID: %s", + "advancement.advancementNotFound": "Unknown advancement: %s", + "recipe.notFound": "Unknown recipe: %s", + "entity.notFound": "Unknown entity: %s", + "argument.scoreboardDisplaySlot.invalid": "Unknown display slot '%s'", + "slot.unknown": "Unknown slot '%s'", + "team.notFound": "Unknown team '%s'", + "arguments.block.tag.unknown": "Unknown block tag '%s'", + "argument.block.id.invalid": "Unknown block type '%s'", + "argument.block.property.unknown": "Block %s does not have property '%s'", + "argument.block.property.duplicate": "Property '%s' can only be set once for block %s", + "argument.block.property.invalid": "Block %s does not accept '%s' for %s property", + "argument.block.property.novalue": "Expected value for property '%s' on block %s", + "arguments.function.tag.unknown": "Unknown function tag '%s'", + "arguments.function.unknown": "Unknown function %s", + "arguments.item.overstacked": "%s can only stack up to %s", + "argument.item.id.invalid": "Unknown item '%s'", + "arguments.item.tag.unknown": "Unknown item tag '%s'", + "argument.entity.selector.unknown": "Unknown selector type '%s'", + "argument.entity.options.valueless": "Expected value for option '%s'", + "argument.entity.options.unknown": "Unknown option '%s'", + "argument.entity.options.inapplicable": "Option '%s' isn't applicable here", + "argument.entity.options.sort.irreversible": "Invalid or unknown sort type '%s'", + "argument.entity.options.mode.invalid": "Invalid or unknown game mode '%s'", + "argument.entity.options.type.invalid": "Invalid or unknown entity type '%s'", + "argument.nbt.list.mixed": "Can't insert %s into list of %s", + "argument.nbt.array.mixed": "Can't insert %s into %s", + "argument.nbt.array.invalid": "Invalid array type '%s'", + "commands.bossbar.create.failed": "A bossbar already exists with the ID '%s'", + "commands.bossbar.unknown": "No bossbar exists with the ID '%s'", + "clear.failed.single": "No items were found on player %s", + "clear.failed.multiple": "No items were found on %s players", + "commands.clone.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.datapack.unknown": "Unknown data pack '%s'", + "commands.datapack.enable.failed": "Pack '%s' is already enabled!", + "commands.datapack.disable.failed": "Pack '%s' is not enabled!", + "commands.difficulty.failure": "The difficulty did not change; it is already set to %s", + "commands.enchant.failed.entity": "%s is not a valid entity for this command", + "commands.enchant.failed.itemless": "%s is not holding any item", + "commands.enchant.failed.incompatible": "%s cannot support that enchantment", + "commands.enchant.failed.level": "%s is higher than the maximum level of %s supported by that enchantment", + "commands.execute.blocks.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.execute.conditional.pass": "Test passed", + "commands.execute.conditional.pass_count": "Test passed, count: %s", + "commands.execute.conditional.fail": "Test failed", + "commands.execute.conditional.fail_count": "Test failed, count: %s", + "commands.fill.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.publish.alreadyPublished": "Multiplayer game is already hosted on port %s", + "commands.scoreboard.players.get.null": "Can't get value of %s for %s; none is set", + "commands.spreadplayers.failed.teams": "Could not spread %s teams around %s, %s (too many entities for space - try using spread of at most %s)", + "commands.spreadplayers.failed.entities": "Could not spread %s entities around %s, %s (too many entities for space - try using spread of at most %s)", + "commands.team.add.longName": "Team names cannot be longer than %s characters", + "commands.data.get.invalid": "Can't get %s; only numeric tags are allowed", + "commands.data.get.unknown": "Can't get %s; tag doesn't exist", + "argument.double.low": "Double must not be less than %s, found %s", + "argument.double.big": "Double must not be more than %s, found %s", + "argument.float.low": "Float must not be less than %s, found %s", + "argument.float.big": "Float must not be more than %s, found %s", + "argument.integer.low": "Integer must not be less than %s, found %s", + "argument.integer.big": "Integer must not be more than %s, found %s", + "argument.long.low": "Long must not be less than %s, found %s", + "argument.long.big": "Long must not be more than %s, found %s", + "argument.literal.incorrect": "Expected literal %s", + "parsing.quote.expected.start": "Expected quote to start a string", + "parsing.quote.expected.end": "Unclosed quoted string", + "parsing.quote.escape": "Invalid escape sequence '\\%s' in quoted string", + "parsing.bool.invalid": "Invalid boolean, expected 'true' or 'false' but found '%s'", + "parsing.int.invalid": "Invalid integer '%s'", + "parsing.int.expected": "Expected integer", + "parsing.long.invalid": "Invalid long '%s'", + "parsing.long.expected": "Expected long", + "command.exception": "Could not parse command: %s", + "parsing.double.invalid": "Invalid double '%s'", + "parsing.double.expected": "Expected double", + "parsing.float.invalid": "Invalid float '%s'", + "parsing.float.expected": "Expected float", + "parsing.bool.expected": "Expected boolean", + "parsing.expected": "Expected '%s'", + "command.unknown.command": "Unknown command", + "command.unknown.argument": "Incorrect argument for command", + "command.expected.separator": "Expected whitespace to end one argument, but found trailing data", + "biome.minecraft.beach": "Beach", + "biome.minecraft.birch_forest": "Birch Forest", + "biome.minecraft.birch_forest_hills": "Birch Forest Hills", + "biome.minecraft.snowy_beach": "Snowy Beach", + "biome.minecraft.cold_ocean": "Cold Ocean", + "biome.minecraft.deep_cold_ocean": "Deep Cold Ocean", + "biome.minecraft.deep_frozen_ocean": "Deep Frozen Ocean", + "biome.minecraft.deep_lukewarm_ocean": "Deep Lukewarm Ocean", + "biome.minecraft.deep_ocean": "Deep Ocean", + "biome.minecraft.deep_warm_ocean": "Deep Warm Ocean", + "biome.minecraft.desert": "Desert", + "biome.minecraft.desert_hills": "Desert Hills", + "biome.minecraft.mountains": "Mountains", + "biome.minecraft.wooded_mountains": "Wooded Mountains", + "biome.minecraft.forest": "Forest", + "biome.minecraft.wooded_hills": "Wooded Hills", + "biome.minecraft.frozen_ocean": "Frozen Ocean", + "biome.minecraft.frozen_river": "Frozen River", + "biome.minecraft.nether": "Nether", + "biome.minecraft.snowy_tundra": "Snowy Tundra", + "biome.minecraft.snowy_mountains": "Snowy Mountains", + "biome.minecraft.jungle_edge": "Jungle Edge", + "biome.minecraft.jungle_hills": "Jungle Hills", + "biome.minecraft.jungle": "Jungle", + "biome.minecraft.lukewarm_ocean": "Lukewarm Ocean", + "biome.minecraft.badlands_plateau": "Badlands Plateau", + "biome.minecraft.badlands": "Badlands", + "biome.minecraft.wooded_badlands_plateau": "Wooded Badlands Plateau", + "biome.minecraft.mushroom_fields": "Mushroom Fields", + "biome.minecraft.mushroom_field_shore": "Mushroom Field Shore", + "biome.minecraft.tall_birch_hills": "Tall Birch Hills", + "biome.minecraft.tall_birch_forest": "Tall Birch Forest", + "biome.minecraft.desert_lakes": "Desert Lakes", + "biome.minecraft.gravelly_mountains": "Gravelly Mountains", + "biome.minecraft.modified_gravelly_mountains": "Gravelly Mountains+", + "biome.minecraft.flower_forest": "Flower Forest", + "biome.minecraft.ice_spikes": "Ice Spikes", + "biome.minecraft.modified_jungle_edge": "Modified Jungle Edge", + "biome.minecraft.modified_jungle": "Modified Jungle", + "biome.minecraft.modified_badlands_plateau": "Modified Badlands Plateau", + "biome.minecraft.eroded_badlands": "Eroded Badlands", + "biome.minecraft.modified_wooded_badlands_plateau": "Modified Wooded Badlands Plateau", + "biome.minecraft.sunflower_plains": "Sunflower Plains", + "biome.minecraft.giant_spruce_taiga_hills": "Giant Spruce Taiga Hills", + "biome.minecraft.giant_spruce_taiga": "Giant Spruce Taiga", + "biome.minecraft.dark_forest_hills": "Dark Forest Hills", + "biome.minecraft.shattered_savanna": "Shattered Savanna", + "biome.minecraft.shattered_savanna_plateau": "Shattered Savanna Plateau", + "biome.minecraft.swamp_hills": "Swamp Hills", + "biome.minecraft.snowy_taiga_mountains": "Snowy Taiga Mountains", + "biome.minecraft.taiga_mountains": "Taiga Mountains", + "biome.minecraft.ocean": "Ocean", + "biome.minecraft.plains": "Plains", + "biome.minecraft.giant_tree_taiga_hills": "Giant Tree Taiga Hills", + "biome.minecraft.giant_tree_taiga": "Giant Tree Taiga", + "biome.minecraft.river": "River", + "biome.minecraft.dark_forest": "Dark Forest", + "biome.minecraft.savanna_plateau": "Savanna Plateau", + "biome.minecraft.savanna": "Savanna", + "biome.minecraft.end_barrens": "End Barrens", + "biome.minecraft.end_highlands": "End Highlands", + "biome.minecraft.small_end_islands": "Small End Islands", + "biome.minecraft.end_midlands": "End Midlands", + "biome.minecraft.the_end": "The End", + "biome.minecraft.mountain_edge": "Mountain Edge", + "biome.minecraft.stone_shore": "Stone Shore", + "biome.minecraft.swamp": "Swamp", + "biome.minecraft.snowy_taiga": "Snowy Taiga", + "biome.minecraft.snowy_taiga_hills": "Snowy Taiga Hills", + "biome.minecraft.taiga_hills": "Taiga Hills", + "biome.minecraft.taiga": "Taiga", + "biome.minecraft.the_void": "The Void", + "biome.minecraft.warm_ocean": "Warm Ocean", + "biome.minecraft.bamboo_jungle": "Bamboo Jungle", + "biome.minecraft.bamboo_jungle_hills": "Bamboo Jungle Hills", + "generator.minecraft.surface": "Surface", + "generator.minecraft.caves": "Caves", + "generator.minecraft.floating_islands": "Floating Islands", + "realms.missing.module.error.text": "Realms could not be opened right now, please try again later", + "realms.missing.snapshot.error.text": "Realms is currently not supported in snapshots", + "color.minecraft.white": "White", + "color.minecraft.orange": "Orange", + "color.minecraft.magenta": "Magenta", + "color.minecraft.light_blue": "Light Blue", + "color.minecraft.yellow": "Yellow", + "color.minecraft.lime": "Lime", + "color.minecraft.pink": "Pink", + "color.minecraft.gray": "Gray", + "color.minecraft.light_gray": "Light Gray", + "color.minecraft.cyan": "Cyan", + "color.minecraft.purple": "Purple", + "color.minecraft.blue": "Blue", + "color.minecraft.brown": "Brown", + "color.minecraft.green": "Green", + "color.minecraft.red": "Red", + "color.minecraft.black": "Black" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/materials.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/materials.json new file mode 100644 index 00000000..931302de --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/materials.json @@ -0,0 +1,61 @@ +{ + "rock": { + "521": 6, + "535": 2, + "539": 4, + "543": 8, + "550": 12 + }, + "wood": { + "522": 6, + "536": 2, + "540": 4, + "544": 8, + "551": 12 + }, + "plant": { + "522": 6, + "532": 1.5, + "533": 1.5, + "536": 2, + "537": 1.5, + "540": 4, + "541": 1.5, + "544": 8, + "548": 1.5, + "551": 12 + }, + "melon": { + "532": 1.5, + "533": 1.5, + "537": 1.5, + "541": 1.5, + "548": 1.5 + }, + "leaves": { + "532": 1.5, + "533": 1.5, + "537": 1.5, + "541": 1.5, + "548": 1.5, + "672": 6 + }, + "dirt": { + "520": 6, + "534": 2, + "538": 4, + "542": 8, + "549": 12 + }, + "web": { + "532": 15, + "533": 15, + "537": 15, + "541": 15, + "548": 15, + "672": 15 + }, + "wool": { + "672": 4.8 + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/protocol.json new file mode 100644 index 00000000..e3a8878f --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/protocol.json @@ -0,0 +1,5052 @@ +{ + "types": { + "varint": "native", + "optvarint": "varint", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "14": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "23": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "32": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle", + "16": [ + "container",[ + { + "name": "villagerType", + "type": "varint" + }, + { + "name": "villagerProfession", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ], + "17": "optvarint", + "18": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "difficultyLocked", + "type": "bool" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "inventoryType", + "type": "varint" + }, + { + "name": "windowTitle", + "type": "string" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_open_horse_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "nbSlots", + "type": "varint" + }, + { + "name": "entityId", + "type": "i32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "heightmaps", + "type": "nbt" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_update_light": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + }, + { + "name": "skyLightMask", + "type": "varint" + }, + { + "name": "blockLightMask", + "type": "varint" + }, + { + "name": "emptySkyLightMask", + "type": "varint" + }, + { + "name": "emptyBlockLightMask", + "type": "varint" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "viewDistance", + "type": "varint" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_trade_list": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "trades", + "type": [ + "array", + { + "countType": "u8", + "type": ["container", [ + { + "name": "inputItem1", + "type": "slot" + }, + { + "name": "outputItem", + "type": "slot" + }, + { + "name": "inputItem2", + "type": ["option", "slot"] + }, + { + "name": "tradeDisabled", + "type": "bool" + }, + { + "name": "nbTradeUses", + "type": "i32" + }, + { + "name": "maximumNbTradeUses", + "type": "i32" + }, + { + "name": "xp", + "type": "i32" + }, + { + "name": "specialPrice", + "type": "i32" + }, + { + "name": "priceMultiplier", + "type": "f32" + }, + { + "name": "demand", + "type": "i32" + } + ]] + } + ] + }, + { + "name": "villagerLevel", + "type": "varint" + }, + { + "name": "experience", + "type": "varint" + }, + { + "name": "isRegularVillager", + "type": "bool" + }, + { + "name": "canRestock", + "type": "bool" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_book": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_update_view_position": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + } + ] + ], + "packet_update_view_distance": [ + "container", + [ + { + "name": "viewDistance", + "type": "varint" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "type", + "type": "string" + }, + { + "name": "recipeId", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "minecraft:crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_special_armordye": "void", + "minecraft:crafting_special_bookcloning": "void", + "minecraft:crafting_special_mapcloning": "void", + "minecraft:crafting_special_mapextending": "void", + "minecraft:crafting_special_firework_rocket": "void", + "minecraft:crafting_special_firework_star": "void", + "minecraft:crafting_special_firework_star_fade": "void", + "minecraft:crafting_special_repairitem": "void", + "minecraft:crafting_special_tippedarrow": "void", + "minecraft:crafting_special_bannerduplicate": "void", + "minecraft:crafting_special_banneraddpattern": "void", + "minecraft:crafting_special_shielddecoration": "void", + "minecraft:crafting_special_shulkerboxcoloring": "void", + "minecraft:crafting_special_suspiciousstew": "void", + "minecraft:smelting": "minecraft_smelting_format", + "minecraft:blasting": "minecraft_smelting_format", + "minecraft:smoking": "minecraft_smelting_format", + "minecraft:campfire_cooking": "minecraft_smelting_format", + "minecraft:stonecutting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "minecraft_smelting_format": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + }, + { + "name": "entityTags", + "type": "tags" + } + ] + ], + "packet_acknowledge_player_digging": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "block", + "type": "varint" + }, + { + "name": "status", + "type": "varint" + }, + { + "name": "successful", + "type": "bool" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "chat", + "0x0f": "multi_block_change", + "0x10": "tab_complete", + "0x11": "declare_commands", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "open_horse_window", + "0x20": "keep_alive", + "0x21": "map_chunk", + "0x22": "world_event", + "0x23": "world_particles", + "0x24": "update_light", + "0x25": "login", + "0x26": "map", + "0x27": "trade_list", + "0x28": "rel_entity_move", + "0x29": "entity_move_look", + "0x2a": "entity_look", + "0x2b": "entity", + "0x2c": "vehicle_move", + "0x2d": "open_book", + "0x2e": "open_window", + "0x2f": "open_sign_entity", + "0x30": "craft_recipe_response", + "0x31": "abilities", + "0x32": "combat_event", + "0x33": "player_info", + "0x34": "face_player", + "0x35": "position", + "0x36": "unlock_recipes", + "0x37": "entity_destroy", + "0x38": "remove_entity_effect", + "0x39": "resource_pack_send", + "0x3a": "respawn", + "0x3b": "entity_head_rotation", + "0x3c": "select_advancement_tab", + "0x3d": "world_border", + "0x3e": "camera", + "0x3f": "held_item_slot", + "0x40": "update_view_position", + "0x41": "update_view_distance", + "0x42": "scoreboard_display_objective", + "0x43": "entity_metadata", + "0x44": "attach_entity", + "0x45": "entity_velocity", + "0x46": "entity_equipment", + "0x47": "experience", + "0x48": "update_health", + "0x49": "scoreboard_objective", + "0x4a": "set_passengers", + "0x4b": "teams", + "0x4c": "scoreboard_score", + "0x4d": "spawn_position", + "0x4e": "update_time", + "0x4f": "title", + "0x50": "entity_sound_effect", + "0x51": "sound_effect", + "0x52": "stop_sound", + "0x53": "playerlist_header", + "0x54": "nbt_query_response", + "0x55": "collect", + "0x56": "entity_teleport", + "0x57": "advancements", + "0x58": "entity_update_attributes", + "0x59": "entity_effect", + "0x5a": "declare_recipes", + "0x5b": "tags", + "0x5c": "acknowledge_player_digging" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "open_horse_window": "packet_open_horse_window", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "update_light": "packet_update_light", + "login": "packet_login", + "map": "packet_map", + "trade_list": "packet_trade_list", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_book": "packet_open_book", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "update_view_position": "packet_update_view_position", + "update_view_distance": "packet_update_view_distance", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "entity_sound_effect": "packet_entity_sound_effect", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags", + "acknowledge_player_digging": "packet_acknowledge_player_digging" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "newDifficulty", + "type": "u8" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_lock_difficulty": [ + "container", + [ + { + "name": "locked", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + }, + { + "name": "blastingBookOpen", + "type": "bool" + }, + { + "name": "blastingFilter", + "type": "bool" + }, + { + "name": "smokingBookOpen", + "type": "bool" + }, + { + "name": "smokingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_jigsaw_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "attachmentType", + "type": "string" + }, + { + "name": "targetPool", + "type": "string" + }, + { + "name": "finalState", + "type": "string" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + }, + { + "name": "insideBlock", + "type": "bool" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "set_difficulty", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "tab_complete", + "0x07": "transaction", + "0x08": "enchant_item", + "0x09": "window_click", + "0x0a": "close_window", + "0x0b": "custom_payload", + "0x0c": "edit_book", + "0x0d": "query_entity_nbt", + "0x0e": "use_entity", + "0x0f": "keep_alive", + "0x10": "lock_difficulty", + "0x11": "position", + "0x12": "position_look", + "0x13": "look", + "0x14": "flying", + "0x15": "vehicle_move", + "0x16": "steer_boat", + "0x17": "pick_item", + "0x18": "craft_recipe_request", + "0x19": "abilities", + "0x1a": "block_dig", + "0x1b": "entity_action", + "0x1c": "steer_vehicle", + "0x1d": "crafting_book_data", + "0x1e": "name_item", + "0x1f": "resource_pack_receive", + "0x20": "advancement_tab", + "0x21": "select_trade", + "0x22": "set_beacon_effect", + "0x23": "held_item_slot", + "0x24": "update_command_block", + "0x25": "update_command_block_minecart", + "0x26": "set_creative_slot", + "0x27": "update_jigsaw_block", + "0x28": "update_structure_block", + "0x29": "update_sign", + "0x2a": "arm_animation", + "0x2b": "spectate", + "0x2c": "block_place", + "0x2d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "set_difficulty": "packet_set_difficulty", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "lock_difficulty": "packet_lock_difficulty", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_jigsaw_block": "packet_update_jigsaw_block", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/recipes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/recipes.json new file mode 100644 index 00000000..c534696a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/recipes.json @@ -0,0 +1,18483 @@ +{ + "2": [ + { + "ingredients": [ + 4, + 781 + ], + "result": { + "count": 1, + "id": 2 + } + } + ], + "3": [ + { + "inShape": [ + [ + 2, + 2 + ], + [ + 2, + 2 + ] + ], + "result": { + "count": 4, + "id": 3 + } + } + ], + "4": [ + { + "inShape": [ + [ + 781, + 12 + ], + [ + 12, + 781 + ] + ], + "result": { + "count": 2, + "id": 4 + } + } + ], + "5": [ + { + "inShape": [ + [ + 4, + 4 + ], + [ + 4, + 4 + ] + ], + "result": { + "count": 4, + "id": 5 + } + } + ], + "6": [ + { + "ingredients": [ + 4, + 12 + ], + "result": { + "count": 2, + "id": 6 + } + } + ], + "7": [ + { + "inShape": [ + [ + 6, + 6 + ], + [ + 6, + 6 + ] + ], + "result": { + "count": 4, + "id": 7 + } + } + ], + "10": [ + { + "inShape": [ + [ + 28, + 9 + ], + [ + 9, + 28 + ] + ], + "result": { + "count": 4, + "id": 10 + } + } + ], + "13": [ + { + "ingredients": [ + 32 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 50 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 38 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 44 + ], + "result": { + "count": 4, + "id": 13 + } + } + ], + "14": [ + { + "ingredients": [ + 33 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 51 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 39 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 45 + ], + "result": { + "count": 4, + "id": 14 + } + } + ], + "15": [ + { + "ingredients": [ + 34 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 52 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 40 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 46 + ], + "result": { + "count": 4, + "id": 15 + } + } + ], + "16": [ + { + "ingredients": [ + 35 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 53 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 41 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 47 + ], + "result": { + "count": 4, + "id": 16 + } + } + ], + "17": [ + { + "ingredients": [ + 36 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 54 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 42 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 48 + ], + "result": { + "count": 4, + "id": 17 + } + } + ], + "18": [ + { + "ingredients": [ + 37 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 55 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 43 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 49 + ], + "result": { + "count": 4, + "id": 18 + } + } + ], + "50": [ + { + "inShape": [ + [ + 32, + 32 + ], + [ + 32, + 32 + ] + ], + "result": { + "count": 3, + "id": 50 + } + } + ], + "51": [ + { + "inShape": [ + [ + 33, + 33 + ], + [ + 33, + 33 + ] + ], + "result": { + "count": 3, + "id": 51 + } + } + ], + "52": [ + { + "inShape": [ + [ + 34, + 34 + ], + [ + 34, + 34 + ] + ], + "result": { + "count": 3, + "id": 52 + } + } + ], + "53": [ + { + "inShape": [ + [ + 35, + 35 + ], + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 53 + } + } + ], + "54": [ + { + "inShape": [ + [ + 36, + 36 + ], + [ + 36, + 36 + ] + ], + "result": { + "count": 3, + "id": 54 + } + } + ], + "55": [ + { + "inShape": [ + [ + 37, + 37 + ], + [ + 37, + 37 + ] + ], + "result": { + "count": 3, + "id": 55 + } + } + ], + "66": [ + { + "inShape": [ + [ + 635, + 635, + 635 + ], + [ + 635, + 635, + 635 + ], + [ + 635, + 635, + 635 + ] + ], + "result": { + "count": 1, + "id": 66 + } + } + ], + "67": [ + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 525, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 67 + } + } + ], + "68": [ + { + "inShape": [ + [ + 26, + 26 + ], + [ + 26, + 26 + ] + ], + "result": { + "count": 1, + "id": 68 + } + } + ], + "69": [ + { + "inShape": [ + [ + 123 + ], + [ + 123 + ] + ], + "result": { + "count": 1, + "id": 69 + } + } + ], + "70": [ + { + "inShape": [ + [ + 68, + 68 + ], + [ + 68, + 68 + ] + ], + "result": { + "count": 4, + "id": 70 + } + } + ], + "71": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 600, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 600, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 600, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 600, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 600, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 600, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 71 + } + } + ], + "72": [ + { + "inShape": [ + [ + 531, + 600, + 531 + ], + [ + 531, + 545, + 531 + ], + [ + 531, + null, + 531 + ] + ], + "result": { + "count": 6, + "id": 72 + } + } + ], + "73": [ + { + "inShape": [ + [ + 530, + 600, + 530 + ], + [ + 530, + 165, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 6, + "id": 73 + } + } + ], + "74": [ + { + "inShape": [ + [ + 81 + ], + [ + 617 + ] + ], + "result": { + "count": 1, + "id": 74 + } + } + ], + "81": [ + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 81 + } + } + ], + "82": [ + { + "inShape": [ + [ + 552, + 552 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 82 + } + } + ], + "83": [ + { + "ingredients": [ + 645, + 82 + ], + "result": { + "count": 1, + "id": 83 + } + } + ], + "84": [ + { + "ingredients": [ + 644, + 82 + ], + "result": { + "count": 1, + "id": 84 + } + } + ], + "85": [ + { + "ingredients": [ + 643, + 82 + ], + "result": { + "count": 1, + "id": 85 + } + } + ], + "86": [ + { + "ingredients": [ + 642, + 82 + ], + "result": { + "count": 1, + "id": 86 + } + } + ], + "87": [ + { + "ingredients": [ + 641, + 82 + ], + "result": { + "count": 1, + "id": 87 + } + } + ], + "88": [ + { + "ingredients": [ + 640, + 82 + ], + "result": { + "count": 1, + "id": 88 + } + } + ], + "89": [ + { + "ingredients": [ + 639, + 82 + ], + "result": { + "count": 1, + "id": 89 + } + } + ], + "90": [ + { + "ingredients": [ + 638, + 82 + ], + "result": { + "count": 1, + "id": 90 + } + } + ], + "91": [ + { + "ingredients": [ + 637, + 82 + ], + "result": { + "count": 1, + "id": 91 + } + } + ], + "92": [ + { + "ingredients": [ + 636, + 82 + ], + "result": { + "count": 1, + "id": 92 + } + } + ], + "93": [ + { + "ingredients": [ + 647, + 82 + ], + "result": { + "count": 1, + "id": 93 + } + } + ], + "94": [ + { + "ingredients": [ + 648, + 82 + ], + "result": { + "count": 1, + "id": 94 + } + } + ], + "95": [ + { + "ingredients": [ + 633, + 82 + ], + "result": { + "count": 1, + "id": 95 + } + } + ], + "96": [ + { + "ingredients": [ + 632, + 82 + ], + "result": { + "count": 1, + "id": 96 + } + } + ], + "97": [ + { + "ingredients": [ + 649, + 82 + ], + "result": { + "count": 1, + "id": 97 + } + } + ], + "113": [ + { + "inShape": [ + [ + 531, + 531, + 531 + ], + [ + 531, + 531, + 531 + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 113 + } + } + ], + "114": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + 530, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 114 + } + } + ], + "115": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 6, + "id": 115 + } + } + ], + "116": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 6, + "id": 116 + } + } + ], + "117": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 6, + "id": 117 + } + } + ], + "118": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 6, + "id": 118 + } + } + ], + "119": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 6, + "id": 119 + } + } + ], + "120": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 6, + "id": 120 + } + } + ], + "121": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ] + ], + "result": { + "count": 6, + "id": 121 + } + } + ], + "122": [ + { + "inShape": [ + [ + 140, + 140, + 140 + ] + ], + "result": { + "count": 6, + "id": 122 + } + } + ], + "123": [ + { + "inShape": [ + [ + 68, + 68, + 68 + ] + ], + "result": { + "count": 6, + "id": 123 + } + }, + { + "inShape": [ + [ + 69, + 69, + 69 + ] + ], + "result": { + "count": 6, + "id": 123 + } + } + ], + "124": [ + { + "inShape": [ + [ + 70, + 70, + 70 + ] + ], + "result": { + "count": 6, + "id": 124 + } + } + ], + "126": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 6, + "id": 126 + } + } + ], + "127": [ + { + "inShape": [ + [ + 141, + 141, + 141 + ] + ], + "result": { + "count": 6, + "id": 127 + } + } + ], + "128": [ + { + "inShape": [ + [ + 205, + 205, + 205 + ] + ], + "result": { + "count": 6, + "id": 128 + } + } + ], + "129": [ + { + "inShape": [ + [ + 226, + 226, + 226 + ] + ], + "result": { + "count": 6, + "id": 129 + } + } + ], + "130": [ + { + "inShape": [ + [ + 275, + 275, + 275 + ] + ], + "result": { + "count": 6, + "id": 130 + } + }, + { + "inShape": [ + [ + 276, + 276, + 276 + ] + ], + "result": { + "count": 6, + "id": 130 + } + }, + { + "inShape": [ + [ + 277, + 277, + 277 + ] + ], + "result": { + "count": 6, + "id": 130 + } + } + ], + "131": [ + { + "inShape": [ + [ + 368, + 368, + 368 + ] + ], + "result": { + "count": 6, + "id": 131 + } + }, + { + "inShape": [ + [ + 369, + 369, + 369 + ] + ], + "result": { + "count": 6, + "id": 131 + } + } + ], + "132": [ + { + "inShape": [ + [ + 370, + 370, + 370 + ] + ], + "result": { + "count": 6, + "id": 132 + } + } + ], + "133": [ + { + "inShape": [ + [ + 150, + 150, + 150 + ] + ], + "result": { + "count": 6, + "id": 133 + } + }, + { + "inShape": [ + [ + 151, + 151, + 151 + ] + ], + "result": { + "count": 6, + "id": 133 + } + } + ], + "134": [ + { + "inShape": [ + [ + 361, + 361, + 361 + ] + ], + "result": { + "count": 6, + "id": 134 + } + } + ], + "135": [ + { + "inShape": [ + [ + 362, + 362, + 362 + ] + ], + "result": { + "count": 6, + "id": 135 + } + } + ], + "136": [ + { + "inShape": [ + [ + 363, + 363, + 363 + ] + ], + "result": { + "count": 6, + "id": 136 + } + } + ], + "141": [ + { + "inShape": [ + [ + 609, + 609 + ], + [ + 609, + 609 + ] + ], + "result": { + "count": 1, + "id": 141 + } + } + ], + "142": [ + { + "inShape": [ + [ + 554, + 26, + 554 + ], + [ + 26, + 554, + 26 + ], + [ + 554, + 26, + 554 + ] + ], + "result": { + "count": 1, + "id": 142 + } + }, + { + "inShape": [ + [ + 554, + 27, + 554 + ], + [ + 27, + 554, + 27 + ], + [ + 554, + 27, + 554 + ] + ], + "result": { + "count": 1, + "id": 142 + } + } + ], + "143": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 616, + 616, + 616 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 616, + 616, + 616 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 616, + 616, + 616 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 616, + 616, + 616 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 616, + 616, + 616 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 616, + 616, + 616 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 143 + } + } + ], + "144": [ + { + "ingredients": [ + 12, + 215 + ], + "result": { + "count": 1, + "id": 144 + } + } + ], + "146": [ + { + "inShape": [ + [ + 545 + ], + [ + 527 + ] + ], + "result": { + "count": 4, + "id": 146 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 528 + ] + ], + "result": { + "count": 4, + "id": 146 + } + } + ], + "147": [ + { + "inShape": [ + [ + 819 + ], + [ + 683 + ] + ], + "result": { + "count": 4, + "id": 147 + } + } + ], + "150": [ + { + "inShape": [ + [ + 819, + 819 + ], + [ + 819, + 819 + ] + ], + "result": { + "count": 4, + "id": 150 + } + } + ], + "151": [ + { + "inShape": [ + [ + 133 + ], + [ + 133 + ] + ], + "result": { + "count": 1, + "id": 151 + } + } + ], + "152": [ + { + "inShape": [ + [ + 150, + 150, + 150 + ], + [ + 150, + 150, + null + ], + [ + 150, + null, + null + ] + ], + "result": { + "count": 4, + "id": 152 + } + }, + { + "inShape": [ + [ + 151, + 151, + 151 + ], + [ + 151, + 151, + null + ], + [ + 151, + null, + null + ] + ], + "result": { + "count": 4, + "id": 152 + } + } + ], + "154": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + null + ], + [ + 13, + null, + null + ] + ], + "result": { + "count": 4, + "id": 154 + } + } + ], + "155": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 155 + } + } + ], + "157": [ + { + "inShape": [ + [ + 529, + 529, + 529 + ], + [ + 529, + 529, + 529 + ], + [ + 529, + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 157 + } + } + ], + "158": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 158 + } + } + ], + "160": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + null, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 160 + } + } + ], + "161": [ + { + "inShape": [ + [ + 545, + null, + 545 + ], + [ + 545, + 545, + 545 + ], + [ + 545, + null, + 545 + ] + ], + "result": { + "count": 3, + "id": 161 + } + } + ], + "162": [ + { + "inShape": [ + [ + 530, + null, + 530 + ], + [ + 530, + 545, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 16, + "id": 162 + } + } + ], + "163": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + 12, + null + ], + [ + 12, + null, + null + ] + ], + "result": { + "count": 4, + "id": 163 + } + } + ], + "164": [ + { + "inShape": [ + [ + 12 + ], + [ + 545 + ] + ], + "result": { + "count": 1, + "id": 164 + } + } + ], + "165": [ + { + "inShape": [ + [ + 1, + 1 + ] + ], + "result": { + "count": 1, + "id": 165 + } + } + ], + "166": [ + { + "inShape": [ + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 166 + } + } + ], + "167": [ + { + "inShape": [ + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 167 + } + } + ], + "168": [ + { + "inShape": [ + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 168 + } + } + ], + "169": [ + { + "inShape": [ + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 169 + } + } + ], + "170": [ + { + "inShape": [ + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 170 + } + } + ], + "171": [ + { + "inShape": [ + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 171 + } + } + ], + "173": [ + { + "inShape": [ + [ + 545 + ], + [ + 600 + ] + ], + "result": { + "count": 1, + "id": 173 + } + } + ], + "174": [ + { + "ingredients": [ + 1 + ], + "result": { + "count": 1, + "id": 174 + } + } + ], + "175": [ + { + "inShape": [ + [ + 177, + 177, + 177 + ] + ], + "result": { + "count": 6, + "id": 175 + } + } + ], + "177": [ + { + "inShape": [ + [ + 601, + 601 + ], + [ + 601, + 601 + ] + ], + "result": { + "count": 1, + "id": 177 + } + } + ], + "179": [ + { + "inShape": [ + [ + 610, + 610 + ], + [ + 610, + 610 + ] + ], + "result": { + "count": 1, + "id": 179 + } + } + ], + "180": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 529, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 529, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 529, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 529, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 529, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 529, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 180 + } + } + ], + "181": [ + { + "inShape": [ + [ + 13, + 545, + 13 + ], + [ + 13, + 545, + 13 + ] + ], + "result": { + "count": 3, + "id": 181 + } + } + ], + "182": [ + { + "inShape": [ + [ + 14, + 545, + 14 + ], + [ + 14, + 545, + 14 + ] + ], + "result": { + "count": 3, + "id": 182 + } + } + ], + "183": [ + { + "inShape": [ + [ + 15, + 545, + 15 + ], + [ + 15, + 545, + 15 + ] + ], + "result": { + "count": 3, + "id": 183 + } + } + ], + "184": [ + { + "inShape": [ + [ + 16, + 545, + 16 + ], + [ + 16, + 545, + 16 + ] + ], + "result": { + "count": 3, + "id": 184 + } + } + ], + "185": [ + { + "inShape": [ + [ + 17, + 545, + 17 + ], + [ + 17, + 545, + 17 + ] + ], + "result": { + "count": 3, + "id": 185 + } + } + ], + "186": [ + { + "inShape": [ + [ + 18, + 545, + 18 + ], + [ + 18, + 545, + 18 + ] + ], + "result": { + "count": 3, + "id": 186 + } + } + ], + "191": [ + { + "inShape": [ + [ + 624, + 624 + ], + [ + 624, + 624 + ] + ], + "result": { + "count": 1, + "id": 191 + } + } + ], + "192": [ + { + "inShape": [ + [ + 146 + ], + [ + 188 + ] + ], + "result": { + "count": 1, + "id": 192 + } + } + ], + "193": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 2, + "id": 193 + } + } + ], + "194": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 2, + "id": 194 + } + } + ], + "195": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 2, + "id": 195 + } + } + ], + "196": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 2, + "id": 196 + } + } + ], + "197": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 2, + "id": 197 + } + } + ], + "198": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 2, + "id": 198 + } + } + ], + "205": [ + { + "inShape": [ + [ + 1, + 1 + ], + [ + 1, + 1 + ] + ], + "result": { + "count": 4, + "id": 205 + } + } + ], + "206": [ + { + "ingredients": [ + 205, + 215 + ], + "result": { + "count": 1, + "id": 206 + } + } + ], + "208": [ + { + "inShape": [ + [ + 128 + ], + [ + 128 + ] + ], + "result": { + "count": 1, + "id": 208 + } + } + ], + "212": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 16, + "id": 212 + } + } + ], + "213": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 16, + "id": 213 + } + } + ], + "214": [ + { + "inShape": [ + [ + 673, + 673, + 673 + ], + [ + 673, + 673, + 673 + ], + [ + 673, + 673, + 673 + ] + ], + "result": { + "count": 1, + "id": 214 + } + } + ], + "216": [ + { + "inShape": [ + [ + 545, + 13, + 545 + ], + [ + 545, + 13, + 545 + ] + ], + "result": { + "count": 1, + "id": 216 + } + } + ], + "217": [ + { + "inShape": [ + [ + 545, + 14, + 545 + ], + [ + 545, + 14, + 545 + ] + ], + "result": { + "count": 1, + "id": 217 + } + } + ], + "218": [ + { + "inShape": [ + [ + 545, + 15, + 545 + ], + [ + 545, + 15, + 545 + ] + ], + "result": { + "count": 1, + "id": 218 + } + } + ], + "219": [ + { + "inShape": [ + [ + 545, + 16, + 545 + ], + [ + 545, + 16, + 545 + ] + ], + "result": { + "count": 1, + "id": 219 + } + } + ], + "220": [ + { + "inShape": [ + [ + 545, + 17, + 545 + ], + [ + 545, + 17, + 545 + ] + ], + "result": { + "count": 1, + "id": 220 + } + } + ], + "221": [ + { + "inShape": [ + [ + 545, + 18, + 545 + ], + [ + 545, + 18, + 545 + ] + ], + "result": { + "count": 1, + "id": 221 + } + } + ], + "222": [ + { + "inShape": [ + [ + 141, + 141, + 141 + ], + [ + 141, + 141, + null + ], + [ + 141, + null, + null + ] + ], + "result": { + "count": 4, + "id": 222 + } + } + ], + "223": [ + { + "inShape": [ + [ + 205, + 205, + 205 + ], + [ + 205, + 205, + null + ], + [ + 205, + null, + null + ] + ], + "result": { + "count": 4, + "id": 223 + } + } + ], + "226": [ + { + "inShape": [ + [ + 780, + 780 + ], + [ + 780, + 780 + ] + ], + "result": { + "count": 1, + "id": 226 + } + } + ], + "227": [ + { + "inShape": [ + [ + 226, + 780, + 226 + ], + [ + 226, + 780, + 226 + ] + ], + "result": { + "count": 6, + "id": 227 + } + } + ], + "228": [ + { + "inShape": [ + [ + 226, + 226, + 226 + ], + [ + 226, + 226, + null + ], + [ + 226, + null, + null + ] + ], + "result": { + "count": 4, + "id": 228 + } + } + ], + "229": [ + { + "inShape": [ + [ + 145, + 145, + 145 + ], + [ + 529, + 145, + 529 + ], + [ + null, + 616, + null + ] + ], + "result": { + "count": 1, + "id": 229 + } + } + ], + "232": [ + { + "inShape": [ + [ + 231, + 231 + ], + [ + 231, + 231 + ] + ], + "result": { + "count": 4, + "id": 232 + } + } + ], + "234": [ + { + "inShape": [ + [ + null, + 600, + null + ], + [ + 600, + 191, + 600 + ], + [ + null, + 600, + null + ] + ], + "result": { + "count": 1, + "id": 234 + } + } + ], + "235": [ + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 68, + 68, + null + ], + [ + 68, + null, + null + ] + ], + "result": { + "count": 4, + "id": 235 + } + }, + { + "inShape": [ + [ + 69, + 69, + 69 + ], + [ + 69, + 69, + null + ], + [ + 69, + null, + null + ] + ], + "result": { + "count": 4, + "id": 235 + } + }, + { + "inShape": [ + [ + 70, + 70, + 70 + ], + [ + 70, + 70, + null + ], + [ + 70, + null, + null + ] + ], + "result": { + "count": 4, + "id": 235 + } + } + ], + "237": [ + { + "inShape": [ + [ + 145, + 145, + 145 + ], + [ + 145, + 695, + 145 + ], + [ + 145, + 145, + 145 + ] + ], + "result": { + "count": 1, + "id": 237 + } + } + ], + "238": [ + { + "inShape": [ + [ + 13 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 14 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 15 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 16 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 17 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 18 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + } + ], + "239": [ + { + "inShape": [ + [ + 759, + 759, + 759 + ], + [ + 759, + 759, + 759 + ], + [ + 759, + 759, + 759 + ] + ], + "result": { + "count": 1, + "id": 239 + } + } + ], + "240": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + null + ], + [ + 14, + null, + null + ] + ], + "result": { + "count": 4, + "id": 240 + } + } + ], + "241": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + null + ], + [ + 15, + null, + null + ] + ], + "result": { + "count": 4, + "id": 241 + } + } + ], + "242": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + null + ], + [ + 16, + null, + null + ] + ], + "result": { + "count": 4, + "id": 242 + } + } + ], + "244": [ + { + "inShape": [ + [ + 145, + 145, + 145 + ], + [ + 64, + 775, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 244 + } + } + ], + "245": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 6, + "id": 245 + } + } + ], + "246": [ + { + "inShape": [ + [ + 144, + 144, + 144 + ], + [ + 144, + 144, + 144 + ] + ], + "result": { + "count": 6, + "id": 246 + } + } + ], + "247": [ + { + "inShape": [ + [ + 141, + 141, + 141 + ], + [ + 141, + 141, + 141 + ] + ], + "result": { + "count": 6, + "id": 247 + } + } + ], + "248": [ + { + "inShape": [ + [ + 361, + 361, + 361 + ], + [ + 361, + 361, + 361 + ] + ], + "result": { + "count": 6, + "id": 248 + } + } + ], + "249": [ + { + "inShape": [ + [ + 368, + 368, + 368 + ], + [ + 368, + 368, + 368 + ] + ], + "result": { + "count": 6, + "id": 249 + } + } + ], + "250": [ + { + "inShape": [ + [ + 206, + 206, + 206 + ], + [ + 206, + 206, + 206 + ] + ], + "result": { + "count": 6, + "id": 250 + } + } + ], + "251": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ], + [ + 2, + 2, + 2 + ] + ], + "result": { + "count": 6, + "id": 251 + } + } + ], + "252": [ + { + "inShape": [ + [ + 205, + 205, + 205 + ], + [ + 205, + 205, + 205 + ] + ], + "result": { + "count": 6, + "id": 252 + } + } + ], + "253": [ + { + "inShape": [ + [ + 226, + 226, + 226 + ], + [ + 226, + 226, + 226 + ] + ], + "result": { + "count": 6, + "id": 253 + } + } + ], + "254": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ], + [ + 6, + 6, + 6 + ] + ], + "result": { + "count": 6, + "id": 254 + } + } + ], + "255": [ + { + "inShape": [ + [ + 376, + 376, + 376 + ], + [ + 376, + 376, + 376 + ] + ], + "result": { + "count": 6, + "id": 255 + } + } + ], + "256": [ + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 68, + 68, + 68 + ] + ], + "result": { + "count": 6, + "id": 256 + } + } + ], + "257": [ + { + "inShape": [ + [ + 232, + 232, + 232 + ], + [ + 232, + 232, + 232 + ] + ], + "result": { + "count": 6, + "id": 257 + } + } + ], + "258": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 258 + } + } + ], + "259": [ + { + "ingredients": [ + 13 + ], + "result": { + "count": 1, + "id": 259 + } + } + ], + "260": [ + { + "ingredients": [ + 14 + ], + "result": { + "count": 1, + "id": 260 + } + } + ], + "261": [ + { + "ingredients": [ + 15 + ], + "result": { + "count": 1, + "id": 261 + } + } + ], + "262": [ + { + "ingredients": [ + 16 + ], + "result": { + "count": 1, + "id": 262 + } + } + ], + "263": [ + { + "ingredients": [ + 17 + ], + "result": { + "count": 1, + "id": 263 + } + } + ], + "264": [ + { + "ingredients": [ + 18 + ], + "result": { + "count": 1, + "id": 264 + } + } + ], + "265": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + null, + 530, + null + ], + [ + 114, + 114, + 114 + ] + ], + "result": { + "count": 1, + "id": 265 + } + } + ], + "268": [ + { + "ingredients": [ + 155, + 238 + ], + "result": { + "count": 1, + "id": 268 + } + } + ], + "269": [ + { + "inShape": [ + [ + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 269 + } + } + ], + "270": [ + { + "inShape": [ + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 270 + } + } + ], + "271": [ + { + "inShape": [ + [ + 115, + 115, + 115 + ], + [ + 781, + 781, + 781 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 116, + 116, + 116 + ], + [ + 781, + 781, + 781 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 117, + 117, + 117 + ], + [ + 781, + 781, + 781 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 118, + 118, + 118 + ], + [ + 781, + 781, + 781 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 119, + 119, + 119 + ], + [ + 781, + 781, + 781 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 120, + 120, + 120 + ], + [ + 781, + 781, + 781 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + } + ], + "272": [ + { + "inShape": [ + [ + 600, + 600, + 600 + ], + [ + 600, + 600, + 600 + ], + [ + 600, + 600, + 600 + ] + ], + "result": { + "count": 1, + "id": 272 + } + } + ], + "274": [ + { + "inShape": [ + [ + null, + 530, + null + ], + [ + 530, + 155, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 274 + } + } + ], + "275": [ + { + "inShape": [ + [ + 130 + ], + [ + 130 + ] + ], + "result": { + "count": 1, + "id": 275 + } + } + ], + "276": [ + { + "inShape": [ + [ + 781, + 781 + ], + [ + 781, + 781 + ] + ], + "result": { + "count": 1, + "id": 276 + } + } + ], + "277": [ + { + "inShape": [ + [ + 276 + ], + [ + 276 + ] + ], + "result": { + "count": 2, + "id": 277 + } + } + ], + "278": [ + { + "inShape": [ + [ + 275, + 275, + 275 + ], + [ + 275, + 275, + null + ], + [ + 275, + null, + null + ] + ], + "result": { + "count": 4, + "id": 278 + } + }, + { + "inShape": [ + [ + 276, + 276, + 276 + ], + [ + 276, + 276, + null + ], + [ + 276, + null, + null + ] + ], + "result": { + "count": 4, + "id": 278 + } + }, + { + "inShape": [ + [ + 277, + 277, + 277 + ], + [ + 277, + 277, + null + ], + [ + 277, + null, + null + ] + ], + "result": { + "count": 4, + "id": 278 + } + } + ], + "279": [ + { + "inShape": [ + [ + 530, + 545, + 530 + ], + [ + 530, + 173, + 530 + ], + [ + 530, + 545, + 530 + ] + ], + "result": { + "count": 6, + "id": 279 + } + } + ], + "280": [ + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + null, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 280 + } + } + ], + "281": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 650, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 281 + } + } + ], + "282": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 645, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 282 + } + } + ], + "283": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 644, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 283 + } + } + ], + "284": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 643, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 284 + } + } + ], + "285": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 642, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 285 + } + } + ], + "286": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 641, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 286 + } + } + ], + "287": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 640, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 287 + } + } + ], + "288": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 639, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 288 + } + } + ], + "289": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 638, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 289 + } + } + ], + "290": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 637, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 290 + } + } + ], + "291": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 636, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 291 + } + } + ], + "292": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 647, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 292 + } + } + ], + "293": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 648, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 293 + } + } + ], + "294": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 633, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 294 + } + } + ], + "295": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 632, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 295 + } + } + ], + "296": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 649, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 296 + } + } + ], + "298": [ + { + "inShape": [ + [ + 530, + 530 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 298 + } + } + ], + "299": [ + { + "inShape": [ + [ + 561, + 561, + 561 + ], + [ + 561, + 561, + 561 + ], + [ + 561, + 561, + 561 + ] + ], + "result": { + "count": 1, + "id": 299 + } + } + ], + "300": [ + { + "inShape": [ + [ + 82, + 82 + ] + ], + "result": { + "count": 3, + "id": 300 + } + } + ], + "301": [ + { + "inShape": [ + [ + 83, + 83 + ] + ], + "result": { + "count": 3, + "id": 301 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 645, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 301 + } + } + ], + "302": [ + { + "inShape": [ + [ + 84, + 84 + ] + ], + "result": { + "count": 3, + "id": 302 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 644, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 302 + } + } + ], + "303": [ + { + "inShape": [ + [ + 85, + 85 + ] + ], + "result": { + "count": 3, + "id": 303 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 643, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 303 + } + } + ], + "304": [ + { + "inShape": [ + [ + 86, + 86 + ] + ], + "result": { + "count": 3, + "id": 304 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 642, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 304 + } + } + ], + "305": [ + { + "inShape": [ + [ + 87, + 87 + ] + ], + "result": { + "count": 3, + "id": 305 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 641, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 305 + } + } + ], + "306": [ + { + "inShape": [ + [ + 88, + 88 + ] + ], + "result": { + "count": 3, + "id": 306 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 640, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 306 + } + } + ], + "307": [ + { + "inShape": [ + [ + 89, + 89 + ] + ], + "result": { + "count": 3, + "id": 307 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 639, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 307 + } + } + ], + "308": [ + { + "inShape": [ + [ + 90, + 90 + ] + ], + "result": { + "count": 3, + "id": 308 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 638, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 308 + } + } + ], + "309": [ + { + "inShape": [ + [ + 91, + 91 + ] + ], + "result": { + "count": 3, + "id": 309 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 637, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 309 + } + } + ], + "310": [ + { + "inShape": [ + [ + 92, + 92 + ] + ], + "result": { + "count": 3, + "id": 310 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 636, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 310 + } + } + ], + "311": [ + { + "inShape": [ + [ + 93, + 93 + ] + ], + "result": { + "count": 3, + "id": 311 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 647, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 311 + } + } + ], + "312": [ + { + "inShape": [ + [ + 94, + 94 + ] + ], + "result": { + "count": 3, + "id": 312 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 648, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 312 + } + } + ], + "313": [ + { + "inShape": [ + [ + 95, + 95 + ] + ], + "result": { + "count": 3, + "id": 313 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 633, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 313 + } + } + ], + "314": [ + { + "inShape": [ + [ + 96, + 96 + ] + ], + "result": { + "count": 3, + "id": 314 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 632, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 314 + } + } + ], + "315": [ + { + "inShape": [ + [ + 97, + 97 + ] + ], + "result": { + "count": 3, + "id": 315 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 649, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 315 + } + } + ], + "317": [ + { + "inShape": [ + [ + 527, + 527, + 527 + ], + [ + 527, + 527, + 527 + ], + [ + 527, + 527, + 527 + ] + ], + "result": { + "count": 1, + "id": 317 + } + } + ], + "318": [ + { + "ingredients": [ + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176 + ], + "result": { + "count": 1, + "id": 318 + } + } + ], + "319": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + null + ], + [ + 17, + null, + null + ] + ], + "result": { + "count": 4, + "id": 319 + } + } + ], + "320": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + null + ], + [ + 18, + null, + null + ] + ], + "result": { + "count": 4, + "id": 320 + } + } + ], + "321": [ + { + "inShape": [ + [ + 617, + 617, + 617 + ], + [ + 617, + 617, + 617 + ], + [ + 617, + 617, + 617 + ] + ], + "result": { + "count": 1, + "id": 321 + } + } + ], + "329": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 650, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 329 + } + } + ], + "330": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 645, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 330 + } + } + ], + "331": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 644, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 331 + } + } + ], + "332": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 643, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 332 + } + } + ], + "333": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 642, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 333 + } + } + ], + "334": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 641, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 334 + } + } + ], + "335": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 640, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 335 + } + } + ], + "336": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 639, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 336 + } + } + ], + "337": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 638, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 337 + } + } + ], + "338": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 637, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 338 + } + } + ], + "339": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 636, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 339 + } + } + ], + "340": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 647, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 340 + } + } + ], + "341": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 648, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 341 + } + } + ], + "342": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 633, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 342 + } + } + ], + "343": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 632, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 343 + } + } + ], + "344": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 649, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 344 + } + } + ], + "345": [ + { + "inShape": [ + [ + 329, + 329, + 329 + ], + [ + 329, + 329, + 329 + ] + ], + "result": { + "count": 16, + "id": 345 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 650, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 345 + } + } + ], + "346": [ + { + "inShape": [ + [ + 330, + 330, + 330 + ], + [ + 330, + 330, + 330 + ] + ], + "result": { + "count": 16, + "id": 346 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 645, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 346 + } + } + ], + "347": [ + { + "inShape": [ + [ + 331, + 331, + 331 + ], + [ + 331, + 331, + 331 + ] + ], + "result": { + "count": 16, + "id": 347 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 644, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 347 + } + } + ], + "348": [ + { + "inShape": [ + [ + 332, + 332, + 332 + ], + [ + 332, + 332, + 332 + ] + ], + "result": { + "count": 16, + "id": 348 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 643, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 348 + } + } + ], + "349": [ + { + "inShape": [ + [ + 333, + 333, + 333 + ], + [ + 333, + 333, + 333 + ] + ], + "result": { + "count": 16, + "id": 349 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 642, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 349 + } + } + ], + "350": [ + { + "inShape": [ + [ + 334, + 334, + 334 + ], + [ + 334, + 334, + 334 + ] + ], + "result": { + "count": 16, + "id": 350 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 641, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 350 + } + } + ], + "351": [ + { + "inShape": [ + [ + 335, + 335, + 335 + ], + [ + 335, + 335, + 335 + ] + ], + "result": { + "count": 16, + "id": 351 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 640, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 351 + } + } + ], + "352": [ + { + "inShape": [ + [ + 336, + 336, + 336 + ], + [ + 336, + 336, + 336 + ] + ], + "result": { + "count": 16, + "id": 352 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 639, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 352 + } + } + ], + "353": [ + { + "inShape": [ + [ + 337, + 337, + 337 + ], + [ + 337, + 337, + 337 + ] + ], + "result": { + "count": 16, + "id": 353 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 638, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 353 + } + } + ], + "354": [ + { + "inShape": [ + [ + 338, + 338, + 338 + ], + [ + 338, + 338, + 338 + ] + ], + "result": { + "count": 16, + "id": 354 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 637, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 354 + } + } + ], + "355": [ + { + "inShape": [ + [ + 339, + 339, + 339 + ], + [ + 339, + 339, + 339 + ] + ], + "result": { + "count": 16, + "id": 355 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 636, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 355 + } + } + ], + "356": [ + { + "inShape": [ + [ + 340, + 340, + 340 + ], + [ + 340, + 340, + 340 + ] + ], + "result": { + "count": 16, + "id": 356 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 647, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 356 + } + } + ], + "357": [ + { + "inShape": [ + [ + 341, + 341, + 341 + ], + [ + 341, + 341, + 341 + ] + ], + "result": { + "count": 16, + "id": 357 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 648, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 357 + } + } + ], + "358": [ + { + "inShape": [ + [ + 342, + 342, + 342 + ], + [ + 342, + 342, + 342 + ] + ], + "result": { + "count": 16, + "id": 358 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 633, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 358 + } + } + ], + "359": [ + { + "inShape": [ + [ + 343, + 343, + 343 + ], + [ + 343, + 343, + 343 + ] + ], + "result": { + "count": 16, + "id": 359 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 632, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 359 + } + } + ], + "360": [ + { + "inShape": [ + [ + 344, + 344, + 344 + ], + [ + 344, + 344, + 344 + ] + ], + "result": { + "count": 16, + "id": 360 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 649, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 360 + } + } + ], + "361": [ + { + "inShape": [ + [ + 784, + 784 + ], + [ + 784, + 784 + ] + ], + "result": { + "count": 1, + "id": 361 + } + } + ], + "362": [ + { + "inShape": [ + [ + 784, + 784, + 784 + ], + [ + 784, + 784, + 784 + ], + [ + 784, + 784, + 784 + ] + ], + "result": { + "count": 1, + "id": 362 + } + } + ], + "363": [ + { + "inShape": [ + [ + 784, + 784, + 784 + ], + [ + 784, + 631, + 784 + ], + [ + 784, + 784, + 784 + ] + ], + "result": { + "count": 1, + "id": 363 + } + } + ], + "364": [ + { + "inShape": [ + [ + 361, + 361, + 361 + ], + [ + 361, + 361, + null + ], + [ + 361, + null, + null + ] + ], + "result": { + "count": 4, + "id": 364 + } + } + ], + "365": [ + { + "inShape": [ + [ + 362, + 362, + 362 + ], + [ + 362, + 362, + null + ], + [ + 362, + null, + null + ] + ], + "result": { + "count": 4, + "id": 365 + } + } + ], + "366": [ + { + "inShape": [ + [ + 363, + 363, + 363 + ], + [ + 363, + 363, + null + ], + [ + 363, + null, + null + ] + ], + "result": { + "count": 4, + "id": 366 + } + } + ], + "367": [ + { + "inShape": [ + [ + 784, + 785, + 784 + ], + [ + 785, + 785, + 785 + ], + [ + 784, + 785, + 784 + ] + ], + "result": { + "count": 1, + "id": 367 + } + } + ], + "368": [ + { + "inShape": [ + [ + 27, + 27 + ], + [ + 27, + 27 + ] + ], + "result": { + "count": 1, + "id": 368 + } + } + ], + "369": [ + { + "inShape": [ + [ + 131 + ], + [ + 131 + ] + ], + "result": { + "count": 1, + "id": 369 + } + } + ], + "370": [ + { + "inShape": [ + [ + 368, + 368 + ], + [ + 368, + 368 + ] + ], + "result": { + "count": 4, + "id": 370 + } + } + ], + "371": [ + { + "inShape": [ + [ + 368, + 368, + 368 + ], + [ + 368, + 368, + null + ], + [ + 368, + null, + null + ] + ], + "result": { + "count": 4, + "id": 371 + } + }, + { + "inShape": [ + [ + 369, + 369, + 369 + ], + [ + 369, + 369, + null + ], + [ + 369, + null, + null + ] + ], + "result": { + "count": 4, + "id": 371 + } + }, + { + "inShape": [ + [ + 370, + 370, + 370 + ], + [ + 370, + 370, + null + ], + [ + 370, + null, + null + ] + ], + "result": { + "count": 4, + "id": 371 + } + } + ], + "374": [ + { + "inShape": [ + [ + 692, + 692 + ], + [ + 692, + 692 + ] + ], + "result": { + "count": 1, + "id": 374 + } + } + ], + "375": [ + { + "inShape": [ + [ + 686, + 686, + 686 + ], + [ + 686, + 686, + 686 + ], + [ + 686, + 686, + 686 + ] + ], + "result": { + "count": 1, + "id": 375 + } + } + ], + "376": [ + { + "inShape": [ + [ + 686, + 780 + ], + [ + 780, + 686 + ] + ], + "result": { + "count": 1, + "id": 376 + } + } + ], + "377": [ + { + "inShape": [ + [ + 646, + 646, + 646 + ], + [ + 646, + 646, + 646 + ], + [ + 646, + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 377 + } + } + ], + "379": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 600, + 600, + 781 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 379 + } + } + ], + "380": [ + { + "inShape": [ + [ + 836 + ], + [ + 155 + ], + [ + 836 + ] + ], + "result": { + "count": 1, + "id": 380 + } + } + ], + "429": [ + { + "ingredients": [ + 650, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 429 + } + } + ], + "430": [ + { + "ingredients": [ + 645, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 430 + } + } + ], + "431": [ + { + "ingredients": [ + 644, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 431 + } + } + ], + "432": [ + { + "ingredients": [ + 643, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 432 + } + } + ], + "433": [ + { + "ingredients": [ + 642, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 433 + } + } + ], + "434": [ + { + "ingredients": [ + 641, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 434 + } + } + ], + "435": [ + { + "ingredients": [ + 640, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 435 + } + } + ], + "436": [ + { + "ingredients": [ + 639, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 436 + } + } + ], + "437": [ + { + "ingredients": [ + 638, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 437 + } + } + ], + "438": [ + { + "ingredients": [ + 637, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 438 + } + } + ], + "439": [ + { + "ingredients": [ + 636, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 439 + } + } + ], + "440": [ + { + "ingredients": [ + 647, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 440 + } + } + ], + "441": [ + { + "ingredients": [ + 648, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 441 + } + } + ], + "442": [ + { + "ingredients": [ + 633, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 442 + } + } + ], + "443": [ + { + "ingredients": [ + 632, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 443 + } + } + ], + "444": [ + { + "ingredients": [ + 649, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 444 + } + } + ], + "476": [ + { + "inShape": [ + [ + 318, + 318, + 318 + ], + [ + 318, + 318, + 318 + ], + [ + 318, + 318, + 318 + ] + ], + "result": { + "count": 1, + "id": 476 + } + } + ], + "477": [ + { + "inShape": [ + [ + 854, + 854, + 854 + ], + [ + 854, + 855, + 854 + ], + [ + 854, + 854, + 854 + ] + ], + "result": { + "count": 1, + "id": 477 + } + } + ], + "478": [ + { + "inShape": [ + [ + 3, + 3, + 3 + ], + [ + 3, + 3, + null + ], + [ + 3, + null, + null + ] + ], + "result": { + "count": 4, + "id": 478 + } + } + ], + "479": [ + { + "inShape": [ + [ + 138, + 138, + 138 + ], + [ + 138, + 138, + null + ], + [ + 138, + null, + null + ] + ], + "result": { + "count": 4, + "id": 479 + } + } + ], + "480": [ + { + "inShape": [ + [ + 206, + 206, + 206 + ], + [ + 206, + 206, + null + ], + [ + 206, + null, + null + ] + ], + "result": { + "count": 4, + "id": 480 + } + } + ], + "481": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 5, + null + ], + [ + 5, + null, + null + ] + ], + "result": { + "count": 4, + "id": 481 + } + } + ], + "482": [ + { + "inShape": [ + [ + 144, + 144, + 144 + ], + [ + 144, + 144, + null + ], + [ + 144, + null, + null + ] + ], + "result": { + "count": 4, + "id": 482 + } + } + ], + "483": [ + { + "inShape": [ + [ + 232, + 232, + 232 + ], + [ + 232, + 232, + null + ], + [ + 232, + null, + null + ] + ], + "result": { + "count": 4, + "id": 483 + } + } + ], + "484": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 1, + 1, + null + ], + [ + 1, + null, + null + ] + ], + "result": { + "count": 4, + "id": 484 + } + } + ], + "485": [ + { + "inShape": [ + [ + 139, + 139, + 139 + ], + [ + 139, + 139, + null + ], + [ + 139, + null, + null + ] + ], + "result": { + "count": 4, + "id": 485 + } + } + ], + "486": [ + { + "inShape": [ + [ + 137, + 137, + 137 + ], + [ + 137, + 137, + null + ], + [ + 137, + null, + null + ] + ], + "result": { + "count": 4, + "id": 486 + } + } + ], + "487": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ], + [ + 2, + 2, + null + ], + [ + 2, + null, + null + ] + ], + "result": { + "count": 4, + "id": 487 + } + } + ], + "488": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ], + [ + 6, + 6, + null + ], + [ + 6, + null, + null + ] + ], + "result": { + "count": 4, + "id": 488 + } + } + ], + "489": [ + { + "inShape": [ + [ + 376, + 376, + 376 + ], + [ + 376, + 376, + null + ], + [ + 376, + null, + null + ] + ], + "result": { + "count": 4, + "id": 489 + } + } + ], + "490": [ + { + "inShape": [ + [ + 7, + 7, + 7 + ], + [ + 7, + 7, + null + ], + [ + 7, + null, + null + ] + ], + "result": { + "count": 4, + "id": 490 + } + } + ], + "491": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + null + ], + [ + 4, + null, + null + ] + ], + "result": { + "count": 4, + "id": 491 + } + } + ], + "492": [ + { + "inShape": [ + [ + 3, + 3, + 3 + ] + ], + "result": { + "count": 6, + "id": 492 + } + } + ], + "493": [ + { + "inShape": [ + [ + 138, + 138, + 138 + ] + ], + "result": { + "count": 6, + "id": 493 + } + } + ], + "494": [ + { + "inShape": [ + [ + 206, + 206, + 206 + ] + ], + "result": { + "count": 6, + "id": 494 + } + } + ], + "495": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 6, + "id": 495 + } + } + ], + "496": [ + { + "inShape": [ + [ + 144, + 144, + 144 + ] + ], + "result": { + "count": 6, + "id": 496 + } + } + ], + "497": [ + { + "inShape": [ + [ + 232, + 232, + 232 + ] + ], + "result": { + "count": 6, + "id": 497 + } + } + ], + "498": [ + { + "inShape": [ + [ + 139, + 139, + 139 + ] + ], + "result": { + "count": 6, + "id": 498 + } + } + ], + "499": [ + { + "inShape": [ + [ + 137, + 137, + 137 + ] + ], + "result": { + "count": 6, + "id": 499 + } + } + ], + "500": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ] + ], + "result": { + "count": 6, + "id": 500 + } + } + ], + "501": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ] + ], + "result": { + "count": 6, + "id": 501 + } + } + ], + "502": [ + { + "inShape": [ + [ + 376, + 376, + 376 + ] + ], + "result": { + "count": 6, + "id": 502 + } + } + ], + "503": [ + { + "inShape": [ + [ + 7, + 7, + 7 + ] + ], + "result": { + "count": 6, + "id": 503 + } + } + ], + "504": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 504 + } + } + ], + "505": [ + { + "inShape": [ + [ + 614, + null, + 614 + ], + [ + 614, + null, + 614 + ], + [ + 614, + 552, + 614 + ] + ], + "result": { + "count": 6, + "id": 505 + } + } + ], + "506": [ + { + "inShape": [ + [ + 530, + 530 + ], + [ + 530, + 530 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 3, + "id": 506 + } + } + ], + "507": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 3, + "id": 507 + } + } + ], + "508": [ + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 3, + "id": 508 + } + } + ], + "509": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 3, + "id": 509 + } + } + ], + "510": [ + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 3, + "id": 510 + } + } + ], + "511": [ + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 3, + "id": 511 + } + } + ], + "512": [ + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 3, + "id": 512 + } + } + ], + "513": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 173, + 600, + 173 + ] + ], + "result": { + "count": 1, + "id": 513 + } + } + ], + "514": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 173, + 781, + 173 + ], + [ + null, + 173, + null + ] + ], + "result": { + "count": 1, + "id": 514 + } + } + ], + "517": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 181, + null, + 181 + ], + [ + 181, + null, + 181 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 181, + null, + 181 + ], + [ + 181, + null, + 181 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 181, + null, + 181 + ], + [ + 181, + null, + 181 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 181, + null, + 181 + ], + [ + 181, + null, + 181 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 181, + null, + 181 + ], + [ + 181, + null, + 181 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 181, + null, + 181 + ], + [ + 181, + null, + 181 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 185, + null, + 185 + ], + [ + 185, + null, + 185 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 185, + null, + 185 + ], + [ + 185, + null, + 185 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 185, + null, + 185 + ], + [ + 185, + null, + 185 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 185, + null, + 185 + ], + [ + 185, + null, + 185 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 185, + null, + 185 + ], + [ + 185, + null, + 185 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 185, + null, + 185 + ], + [ + 185, + null, + 185 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 186, + null, + 186 + ], + [ + 186, + null, + 186 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 186, + null, + 186 + ], + [ + 186, + null, + 186 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 186, + null, + 186 + ], + [ + 186, + null, + 186 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 186, + null, + 186 + ], + [ + 186, + null, + 186 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 186, + null, + 186 + ], + [ + 186, + null, + 186 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 186, + null, + 186 + ], + [ + 186, + null, + 186 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 182, + null, + 182 + ], + [ + 182, + null, + 182 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 182, + null, + 182 + ], + [ + 182, + null, + 182 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 182, + null, + 182 + ], + [ + 182, + null, + 182 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 182, + null, + 182 + ], + [ + 182, + null, + 182 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 182, + null, + 182 + ], + [ + 182, + null, + 182 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 182, + null, + 182 + ], + [ + 182, + null, + 182 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 183, + null, + 183 + ], + [ + 183, + null, + 183 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 183, + null, + 183 + ], + [ + 183, + null, + 183 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 183, + null, + 183 + ], + [ + 183, + null, + 183 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 183, + null, + 183 + ], + [ + 183, + null, + 183 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 183, + null, + 183 + ], + [ + 183, + null, + 183 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 183, + null, + 183 + ], + [ + 183, + null, + 183 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 184, + null, + 184 + ], + [ + 184, + null, + 184 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 184, + null, + 184 + ], + [ + 184, + null, + 184 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 184, + null, + 184 + ], + [ + 184, + null, + 184 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 184, + null, + 184 + ], + [ + 184, + null, + 184 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 184, + null, + 184 + ], + [ + 184, + null, + 184 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 184, + null, + 184 + ], + [ + 184, + null, + 184 + ] + ], + "result": { + "count": 1, + "id": 517 + } + } + ], + "518": [ + { + "inShape": [ + [ + 519, + null, + 519 + ], + [ + 519, + 519, + 519 + ] + ], + "result": { + "count": 1, + "id": 518 + } + } + ], + "520": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 1, + "id": 520 + } + } + ], + "521": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 521 + } + } + ], + "522": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 530, + 545 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 522 + } + } + ], + "523": [ + { + "ingredients": [ + 530, + 583 + ], + "result": { + "count": 1, + "id": 523 + } + } + ], + "525": [ + { + "inShape": [ + [ + null, + 545, + 552 + ], + [ + 545, + null, + 552 + ], + [ + null, + 545, + 552 + ] + ], + "result": { + "count": 1, + "id": 525 + } + } + ], + "526": [ + { + "inShape": [ + [ + 553 + ], + [ + 545 + ], + [ + 583 + ] + ], + "result": { + "count": 4, + "id": 526 + } + } + ], + "527": [ + { + "ingredients": [ + 317 + ], + "result": { + "count": 9, + "id": 527 + } + } + ], + "529": [ + { + "ingredients": [ + 157 + ], + "result": { + "count": 9, + "id": 529 + } + } + ], + "530": [ + { + "ingredients": [ + 114 + ], + "result": { + "count": 9, + "id": 530 + } + }, + { + "inShape": [ + [ + 837, + 837, + 837 + ], + [ + 837, + 837, + 837 + ], + [ + 837, + 837, + 837 + ] + ], + "result": { + "count": 1, + "id": 530 + } + } + ], + "531": [ + { + "ingredients": [ + 113 + ], + "result": { + "count": 9, + "id": 531 + } + }, + { + "inShape": [ + [ + 685, + 685, + 685 + ], + [ + 685, + 685, + 685 + ], + [ + 685, + 685, + 685 + ] + ], + "result": { + "count": 1, + "id": 531 + } + } + ], + "532": [ + { + "inShape": [ + [ + 545 + ], + [ + 530 + ], + [ + 530 + ] + ], + "result": { + "count": 1, + "id": 532 + } + } + ], + "533": [ + { + "inShape": [ + [ + 545 + ], + [ + 13 + ], + [ + 13 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 14 + ], + [ + 14 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 15 + ], + [ + 15 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 16 + ], + [ + 16 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 17 + ], + [ + 17 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 18 + ], + [ + 18 + ] + ], + "result": { + "count": 1, + "id": 533 + } + } + ], + "534": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 13 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 14 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 15 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 16 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 17 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 18 + ] + ], + "result": { + "count": 1, + "id": 534 + } + } + ], + "535": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 535 + } + } + ], + "536": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 13, + 545 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 14, + 545 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 15, + 545 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 16, + 545 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 17, + 545 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 18, + 545 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 536 + } + } + ], + "537": [ + { + "inShape": [ + [ + 545 + ], + [ + 12 + ], + [ + 12 + ] + ], + "result": { + "count": 1, + "id": 537 + } + } + ], + "538": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 12 + ] + ], + "result": { + "count": 1, + "id": 538 + } + } + ], + "539": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 539 + } + } + ], + "540": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 12, + 545 + ], + [ + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 540 + } + } + ], + "541": [ + { + "inShape": [ + [ + 545 + ], + [ + 529 + ], + [ + 529 + ] + ], + "result": { + "count": 1, + "id": 541 + } + } + ], + "542": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 529 + ] + ], + "result": { + "count": 1, + "id": 542 + } + } + ], + "543": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 529, + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 543 + } + } + ], + "544": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 529, + 545 + ], + [ + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 544 + } + } + ], + "545": [ + { + "inShape": [ + [ + 13 + ], + [ + 13 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 14 + ], + [ + 14 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 15 + ], + [ + 15 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 16 + ], + [ + 16 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 17 + ], + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 18 + ], + [ + 18 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 614 + ], + [ + 614 + ] + ], + "result": { + "count": 1, + "id": 545 + } + } + ], + "546": [ + { + "inShape": [ + [ + null, + 13, + null + ], + [ + 13, + null, + 13 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 14, + null + ], + [ + 14, + null, + 14 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 15, + null + ], + [ + 15, + null, + 15 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 16, + null + ], + [ + 16, + null, + 16 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 17, + null + ], + [ + 17, + null, + 17 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 18, + null + ], + [ + 18, + null, + 18 + ] + ], + "result": { + "count": 4, + "id": 546 + } + } + ], + "547": [ + { + "ingredients": [ + 111, + 112, + 546 + ], + "result": { + "count": 1, + "id": 547 + } + } + ], + "548": [ + { + "inShape": [ + [ + 545 + ], + [ + 531 + ], + [ + 531 + ] + ], + "result": { + "count": 1, + "id": 548 + } + } + ], + "549": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 531 + ] + ], + "result": { + "count": 1, + "id": 549 + } + } + ], + "550": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 550 + } + } + ], + "551": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 531, + 545 + ], + [ + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 551 + } + } + ], + "555": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 555 + } + } + ], + "556": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 556 + } + } + ], + "557": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 557 + } + } + ], + "558": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 558 + } + } + ], + "559": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 559 + } + } + ], + "561": [ + { + "ingredients": [ + 299 + ], + "result": { + "count": 9, + "id": 561 + } + } + ], + "562": [ + { + "inShape": [ + [ + 561, + 561, + 561 + ] + ], + "result": { + "count": 1, + "id": 562 + } + } + ], + "563": [ + { + "inShape": [ + [ + 603, + null, + 603 + ], + [ + 603, + 603, + 603 + ] + ], + "result": { + "count": 1, + "id": 563 + } + } + ], + "564": [ + { + "inShape": [ + [ + 603, + 603, + 603 + ], + [ + 603, + 603, + 603 + ], + [ + 603, + null, + 603 + ] + ], + "result": { + "count": 1, + "id": 564 + } + } + ], + "565": [ + { + "inShape": [ + [ + 603, + null, + 603 + ], + [ + 603, + null, + 603 + ], + [ + 603, + 603, + 603 + ] + ], + "result": { + "count": 1, + "id": 565 + } + } + ], + "566": [ + { + "inShape": [ + [ + 603, + null, + 603 + ], + [ + 603, + null, + 603 + ] + ], + "result": { + "count": 1, + "id": 566 + } + } + ], + "571": [ + { + "inShape": [ + [ + 530, + null, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 571 + } + } + ], + "572": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + 530, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 572 + } + } + ], + "573": [ + { + "inShape": [ + [ + 530, + null, + 530 + ], + [ + 530, + null, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 573 + } + } + ], + "574": [ + { + "inShape": [ + [ + 530, + null, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 574 + } + } + ], + "575": [ + { + "inShape": [ + [ + 529, + null, + 529 + ], + [ + 529, + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 575 + } + } + ], + "576": [ + { + "inShape": [ + [ + 529, + 529, + 529 + ], + [ + 529, + 529, + 529 + ], + [ + 529, + null, + 529 + ] + ], + "result": { + "count": 1, + "id": 576 + } + } + ], + "577": [ + { + "inShape": [ + [ + 529, + null, + 529 + ], + [ + 529, + null, + 529 + ], + [ + 529, + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 577 + } + } + ], + "578": [ + { + "inShape": [ + [ + 529, + null, + 529 + ], + [ + 529, + null, + 529 + ] + ], + "result": { + "count": 1, + "id": 578 + } + } + ], + "579": [ + { + "inShape": [ + [ + 531, + null, + 531 + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 579 + } + } + ], + "580": [ + { + "inShape": [ + [ + 531, + 531, + 531 + ], + [ + 531, + 531, + 531 + ], + [ + 531, + null, + 531 + ] + ], + "result": { + "count": 1, + "id": 580 + } + } + ], + "581": [ + { + "inShape": [ + [ + 531, + null, + 531 + ], + [ + 531, + null, + 531 + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 581 + } + } + ], + "582": [ + { + "inShape": [ + [ + 531, + null, + 531 + ], + [ + 531, + null, + 531 + ] + ], + "result": { + "count": 1, + "id": 582 + } + } + ], + "586": [ + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 82, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 83, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 84, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 85, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 86, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 87, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 88, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 89, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 90, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 91, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 92, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 93, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 94, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 95, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 96, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 97, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + } + ], + "587": [ + { + "inShape": [ + [ + 531, + 531, + 531 + ], + [ + 531, + 524, + 531 + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 587 + } + } + ], + "589": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 3, + "id": 589 + } + } + ], + "590": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 3, + "id": 590 + } + } + ], + "591": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 3, + "id": 591 + } + } + ], + "592": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 3, + "id": 592 + } + } + ], + "593": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 3, + "id": 593 + } + } + ], + "594": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 3, + "id": 594 + } + } + ], + "595": [ + { + "inShape": [ + [ + null, + 530, + null + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 595 + } + } + ], + "598": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 598 + } + } + ], + "600": [ + { + "ingredients": [ + 272 + ], + "result": { + "count": 9, + "id": 600 + } + } + ], + "602": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + null, + 13 + ] + ], + "result": { + "count": 1, + "id": 602 + } + } + ], + "603": [ + { + "inShape": [ + [ + 790, + 790 + ], + [ + 790, + 790 + ] + ], + "result": { + "count": 1, + "id": 603 + } + } + ], + "613": [ + { + "ingredients": [ + 674, + 674, + 674, + 674, + 674, + 674, + 674, + 674, + 674 + ], + "result": { + "count": 1, + "id": 613 + } + } + ], + "615": [ + { + "inShape": [ + [ + 611, + 611, + 611 + ] + ], + "result": { + "count": 3, + "id": 615 + } + } + ], + "616": [ + { + "ingredients": [ + 615, + 615, + 615, + 603 + ], + "result": { + "count": 1, + "id": 616 + } + } + ], + "617": [ + { + "ingredients": [ + 321 + ], + "result": { + "count": 9, + "id": 617 + } + } + ], + "618": [ + { + "inShape": [ + [ + 598 + ], + [ + 155 + ] + ], + "result": { + "count": 1, + "id": 618 + } + } + ], + "619": [ + { + "inShape": [ + [ + 598 + ], + [ + 160 + ] + ], + "result": { + "count": 1, + "id": 619 + } + } + ], + "621": [ + { + "inShape": [ + [ + null, + 530, + null + ], + [ + 530, + 600, + 530 + ], + [ + null, + 530, + null + ] + ], + "result": { + "count": 1, + "id": 621 + } + } + ], + "622": [ + { + "inShape": [ + [ + 545, + null, + 552 + ], + [ + null, + 545, + 552 + ], + [ + null, + null, + 545 + ] + ], + "result": { + "count": 1, + "id": 622 + } + } + ], + "623": [ + { + "inShape": [ + [ + null, + 531, + null + ], + [ + 531, + 600, + 531 + ], + [ + null, + 531, + null + ] + ], + "result": { + "count": 1, + "id": 623 + } + } + ], + "632": [ + { + "ingredients": [ + 820 + ], + "result": { + "count": 1, + "id": 632 + } + }, + { + "ingredients": [ + 99 + ], + "result": { + "count": 1, + "id": 632 + } + }, + { + "ingredients": [ + 325 + ], + "result": { + "count": 2, + "id": 632 + } + }, + { + "ingredients": [ + 103 + ], + "result": { + "count": 1, + "id": 632 + } + } + ], + "635": [ + { + "ingredients": [ + 66 + ], + "result": { + "count": 9, + "id": 635 + } + } + ], + "636": [ + { + "ingredients": [ + 647, + 632 + ], + "result": { + "count": 2, + "id": 636 + } + } + ], + "637": [ + { + "ingredients": [ + 647, + 633 + ], + "result": { + "count": 2, + "id": 637 + } + } + ], + "638": [ + { + "ingredients": [ + 102 + ], + "result": { + "count": 1, + "id": 638 + } + }, + { + "ingredients": [ + 649, + 650, + 650 + ], + "result": { + "count": 3, + "id": 638 + } + }, + { + "ingredients": [ + 639, + 650 + ], + "result": { + "count": 2, + "id": 638 + } + }, + { + "ingredients": [ + 107 + ], + "result": { + "count": 1, + "id": 638 + } + }, + { + "ingredients": [ + 105 + ], + "result": { + "count": 1, + "id": 638 + } + } + ], + "639": [ + { + "ingredients": [ + 649, + 650 + ], + "result": { + "count": 2, + "id": 639 + } + } + ], + "640": [ + { + "ingredients": [ + 326 + ], + "result": { + "count": 2, + "id": 640 + } + }, + { + "ingredients": [ + 106 + ], + "result": { + "count": 1, + "id": 640 + } + }, + { + "ingredients": [ + 632, + 650 + ], + "result": { + "count": 2, + "id": 640 + } + } + ], + "641": [ + { + "ingredients": [ + 633, + 650 + ], + "result": { + "count": 2, + "id": 641 + } + } + ], + "642": [ + { + "ingredients": [ + 98 + ], + "result": { + "count": 1, + "id": 642 + } + }, + { + "ingredients": [ + 323 + ], + "result": { + "count": 2, + "id": 642 + } + } + ], + "643": [ + { + "ingredients": [ + 100 + ], + "result": { + "count": 1, + "id": 643 + } + }, + { + "ingredients": [ + 647, + 650 + ], + "result": { + "count": 2, + "id": 643 + } + } + ], + "644": [ + { + "ingredients": [ + 101 + ], + "result": { + "count": 1, + "id": 644 + } + }, + { + "ingredients": [ + 647, + 632, + 640 + ], + "result": { + "count": 3, + "id": 644 + } + }, + { + "ingredients": [ + 647, + 632, + 632, + 650 + ], + "result": { + "count": 4, + "id": 644 + } + }, + { + "ingredients": [ + 324 + ], + "result": { + "count": 2, + "id": 644 + } + }, + { + "ingredients": [ + 636, + 640 + ], + "result": { + "count": 2, + "id": 644 + } + } + ], + "645": [ + { + "ingredients": [ + 104 + ], + "result": { + "count": 1, + "id": 645 + } + }, + { + "ingredients": [ + 632, + 642 + ], + "result": { + "count": 2, + "id": 645 + } + } + ], + "646": [ + { + "ingredients": [ + 651 + ], + "result": { + "count": 3, + "id": 646 + } + }, + { + "ingredients": [ + 377 + ], + "result": { + "count": 9, + "id": 646 + } + } + ], + "647": [ + { + "ingredients": [ + 635 + ], + "result": { + "count": 1, + "id": 647 + } + }, + { + "ingredients": [ + 108 + ], + "result": { + "count": 1, + "id": 647 + } + } + ], + "648": [ + { + "ingredients": [ + 634 + ], + "result": { + "count": 1, + "id": 648 + } + } + ], + "649": [ + { + "ingredients": [ + 631 + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "ingredients": [ + 110 + ], + "result": { + "count": 1, + "id": 649 + } + } + ], + "650": [ + { + "ingredients": [ + 646 + ], + "result": { + "count": 1, + "id": 650 + } + }, + { + "ingredients": [ + 109 + ], + "result": { + "count": 1, + "id": 650 + } + } + ], + "652": [ + { + "ingredients": [ + 611 + ], + "result": { + "count": 1, + "id": 652 + } + } + ], + "653": [ + { + "inShape": [ + [ + 561, + 561, + 561 + ], + [ + 652, + 620, + 652 + ], + [ + 604, + 604, + 604 + ] + ], + "result": { + "count": 1, + "id": 653 + } + } + ], + "654": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + } + ], + "655": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "ingredients": [ + 654, + 645 + ], + "result": { + "count": 1, + "id": 655 + } + } + ], + "656": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "ingredients": [ + 654, + 644 + ], + "result": { + "count": 1, + "id": 656 + } + } + ], + "657": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "ingredients": [ + 654, + 643 + ], + "result": { + "count": 1, + "id": 657 + } + } + ], + "658": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "ingredients": [ + 654, + 642 + ], + "result": { + "count": 1, + "id": 658 + } + } + ], + "659": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "ingredients": [ + 654, + 641 + ], + "result": { + "count": 1, + "id": 659 + } + } + ], + "660": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "ingredients": [ + 654, + 640 + ], + "result": { + "count": 1, + "id": 660 + } + } + ], + "661": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "ingredients": [ + 654, + 639 + ], + "result": { + "count": 1, + "id": 661 + } + } + ], + "662": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "ingredients": [ + 654, + 638 + ], + "result": { + "count": 1, + "id": 662 + } + } + ], + "663": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "ingredients": [ + 654, + 637 + ], + "result": { + "count": 1, + "id": 663 + } + } + ], + "664": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "ingredients": [ + 654, + 636 + ], + "result": { + "count": 1, + "id": 664 + } + } + ], + "665": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "ingredients": [ + 654, + 647 + ], + "result": { + "count": 1, + "id": 665 + } + } + ], + "666": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "ingredients": [ + 654, + 648 + ], + "result": { + "count": 1, + "id": 666 + } + } + ], + "667": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "ingredients": [ + 654, + 633 + ], + "result": { + "count": 1, + "id": 667 + } + } + ], + "668": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "ingredients": [ + 654, + 632 + ], + "result": { + "count": 1, + "id": 668 + } + } + ], + "669": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "ingredients": [ + 654, + 649 + ], + "result": { + "count": 1, + "id": 669 + } + } + ], + "670": [ + { + "inShape": [ + [ + 561, + 634, + 561 + ] + ], + "result": { + "count": 8, + "id": 670 + } + } + ], + "672": [ + { + "inShape": [ + [ + 530, + null + ], + [ + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 672 + } + } + ], + "674": [ + { + "ingredients": [ + 613 + ], + "result": { + "count": 9, + "id": 674 + } + } + ], + "675": [ + { + "ingredients": [ + 187 + ], + "result": { + "count": 4, + "id": 675 + } + } + ], + "676": [ + { + "ingredients": [ + 673 + ], + "result": { + "count": 1, + "id": 676 + } + } + ], + "685": [ + { + "ingredients": [ + 531 + ], + "result": { + "count": 9, + "id": 685 + } + } + ], + "688": [ + { + "inShape": [ + [ + null, + 64, + null + ], + [ + 64, + null, + 64 + ] + ], + "result": { + "count": 3, + "id": 688 + } + } + ], + "690": [ + { + "ingredients": [ + 689, + 111, + 652 + ], + "result": { + "count": 1, + "id": 690 + } + } + ], + "691": [ + { + "ingredients": [ + 683 + ], + "result": { + "count": 2, + "id": 691 + } + } + ], + "692": [ + { + "ingredients": [ + 691, + 617 + ], + "result": { + "count": 1, + "id": 692 + } + } + ], + "693": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + null, + 683, + null + ] + ], + "result": { + "count": 1, + "id": 693 + } + } + ], + "694": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + null, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 694 + } + } + ], + "695": [ + { + "ingredients": [ + 682, + 691 + ], + "result": { + "count": 1, + "id": 695 + } + } + ], + "696": [ + { + "inShape": [ + [ + 685, + 685, + 685 + ], + [ + 685, + 673, + 685 + ], + [ + 685, + 685, + 685 + ] + ], + "result": { + "count": 1, + "id": 696 + } + } + ], + "756": [ + { + "ingredients": [ + 554, + 691, + 527 + ], + "result": { + "count": 3, + "id": 756 + } + }, + { + "ingredients": [ + 554, + 691, + 528 + ], + "result": { + "count": 3, + "id": 756 + } + } + ], + "757": [ + { + "ingredients": [ + 616, + 631, + 553 + ], + "result": { + "count": 1, + "id": 757 + } + } + ], + "759": [ + { + "ingredients": [ + 239 + ], + "result": { + "count": 9, + "id": 759 + } + } + ], + "760": [ + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 603, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 760 + } + } + ], + "761": [ + { + "inShape": [ + [ + null, + 609, + null + ], + [ + 609, + null, + 609 + ] + ], + "result": { + "count": 1, + "id": 761 + } + } + ], + "766": [ + { + "inShape": [ + [ + 615, + 615, + 615 + ], + [ + 615, + 621, + 615 + ], + [ + 615, + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 766 + } + } + ], + "767": [ + { + "inShape": [ + [ + 685, + 685, + 685 + ], + [ + 685, + 762, + 685 + ], + [ + 685, + 685, + 685 + ] + ], + "result": { + "count": 1, + "id": 767 + } + } + ], + "774": [ + { + "inShape": [ + [ + null, + 762 + ], + [ + 622, + null + ] + ], + "result": { + "count": 1, + "id": 774 + } + } + ], + "776": [ + { + "ingredients": [ + 187, + 652, + 620 + ], + "result": { + "count": 1, + "id": 776 + } + } + ], + "782": [ + { + "inShape": [ + [ + 598 + ], + [ + 142 + ] + ], + "result": { + "count": 1, + "id": 782 + } + } + ], + "783": [ + { + "inShape": [ + [ + 598 + ], + [ + 274 + ] + ], + "result": { + "count": 1, + "id": 783 + } + } + ], + "788": [ + { + "ingredients": [ + 764, + 787, + 546, + 762, + 111 + ], + "result": { + "count": 1, + "id": 788 + } + }, + { + "ingredients": [ + 764, + 787, + 546, + 762, + 112 + ], + "result": { + "count": 1, + "id": 788 + } + } + ], + "791": [ + { + "inShape": [ + [ + 545, + 122, + 545 + ], + [ + null, + 545, + null + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 791 + } + } + ], + "795": [ + { + "inShape": [ + [ + 603, + null, + 603 + ], + [ + 603, + 603, + 603 + ], + [ + 603, + null, + 603 + ] + ], + "result": { + "count": 1, + "id": 795 + } + } + ], + "796": [ + { + "inShape": [ + [ + null, + null, + 552 + ], + [ + 552, + 617, + null + ], + [ + 552, + 552, + null + ] + ], + "result": { + "count": 2, + "id": 796 + } + } + ], + "801": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 82, + 82, + 82 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 801 + } + } + ], + "802": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 83, + 83, + 83 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 802 + } + } + ], + "803": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 84, + 84, + 84 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 803 + } + } + ], + "804": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 85, + 85, + 85 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 804 + } + } + ], + "805": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 86, + 86, + 86 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 805 + } + } + ], + "806": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 87, + 87, + 87 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 806 + } + } + ], + "807": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 88, + 88, + 88 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 807 + } + } + ], + "808": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 89, + 89, + 89 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 808 + } + } + ], + "809": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 90, + 90, + 90 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 809 + } + } + ], + "810": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 91, + 91, + 91 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 810 + } + } + ], + "811": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 92, + 92, + 92 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 811 + } + } + ], + "812": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 93, + 93, + 93 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 812 + } + } + ], + "813": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 94, + 94, + 94 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 813 + } + } + ], + "814": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 95, + 95, + 95 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 814 + } + } + ], + "815": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 96, + 96, + 96 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 815 + } + } + ], + "816": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 97, + 97, + 97 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 816 + } + } + ], + "817": [ + { + "inShape": [ + [ + 64, + 684, + 64 + ], + [ + 64, + 695, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 817 + } + } + ], + "822": [ + { + "ingredients": [ + 546, + 820, + 820, + 820, + 820, + 820, + 820 + ], + "result": { + "count": 1, + "id": 822 + } + } + ], + "825": [ + { + "inShape": [ + [ + null, + 624, + null + ], + [ + 624, + 526, + 624 + ], + [ + null, + 624, + null + ] + ], + "result": { + "count": 2, + "id": 825 + } + } + ], + "828": [ + { + "inShape": [ + [ + null, + 13, + null + ], + [ + 13, + 13, + 13 + ], + [ + 13, + 530, + 13 + ] + ], + "result": { + "count": 1, + "id": 828 + } + }, + { + "inShape": [ + [ + null, + 14, + null + ], + [ + 14, + 14, + 14 + ], + [ + 14, + 530, + 14 + ] + ], + "result": { + "count": 1, + "id": 828 + } + }, + { + "inShape": [ + [ + null, + 15, + null + ], + [ + 15, + 15, + 15 + ], + [ + 15, + 530, + 15 + ] + ], + "result": { + "count": 1, + "id": 828 + } + }, + { + "inShape": [ + [ + null, + 16, + null + ], + [ + 16, + 16, + 16 + ], + [ + 16, + 530, + 16 + ] + ], + "result": { + "count": 1, + "id": 828 + } + }, + { + "inShape": [ + [ + null, + 17, + null + ], + [ + 17, + 17, + 17 + ], + [ + 17, + 530, + 17 + ] + ], + "result": { + "count": 1, + "id": 828 + } + }, + { + "inShape": [ + [ + null, + 18, + null + ], + [ + 18, + 18, + 18 + ], + [ + 18, + 530, + 18 + ] + ], + "result": { + "count": 1, + "id": 828 + } + } + ], + "830": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + null, + 14 + ] + ], + "result": { + "count": 1, + "id": 830 + } + } + ], + "831": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + null, + 15 + ] + ], + "result": { + "count": 1, + "id": 831 + } + } + ], + "832": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + null, + 16 + ] + ], + "result": { + "count": 1, + "id": 832 + } + } + ], + "833": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + null, + 17 + ] + ], + "result": { + "count": 1, + "id": 833 + } + } + ], + "834": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + null, + 18 + ] + ], + "result": { + "count": 1, + "id": 834 + } + } + ], + "837": [ + { + "ingredients": [ + 530 + ], + "result": { + "count": 9, + "id": 837 + } + } + ], + "856": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 552, + 238, + 552 + ], + [ + 545, + 530, + 545 + ] + ], + "result": { + "count": 1, + "id": 856 + } + } + ], + "858": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 858 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 858 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 858 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 858 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 858 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 858 + } + } + ], + "859": [ + { + "ingredients": [ + 615, + 107 + ], + "result": { + "count": 1, + "id": 859 + } + } + ], + "860": [ + { + "ingredients": [ + 615, + 772 + ], + "result": { + "count": 1, + "id": 860 + } + } + ], + "861": [ + { + "ingredients": [ + 615, + 769 + ], + "result": { + "count": 1, + "id": 861 + } + } + ], + "862": [ + { + "ingredients": [ + 615, + 588 + ], + "result": { + "count": 1, + "id": 862 + } + } + ], + "864": [ + { + "inShape": [ + [ + 13, + 115, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 115, + 13 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 13, + 116, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 116, + 13 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 13, + 117, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 117, + 13 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 13, + 118, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 118, + 13 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 13, + 119, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 119, + 13 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 13, + 120, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 120, + 13 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 14, + 115, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 115, + 14 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 14, + 116, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 116, + 14 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 14, + 117, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 117, + 14 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 14, + 118, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 118, + 14 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 14, + 119, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 119, + 14 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 14, + 120, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 120, + 14 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 15, + 115, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 115, + 15 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 15, + 116, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 116, + 15 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 15, + 117, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 117, + 15 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 15, + 118, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 118, + 15 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 15, + 119, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 119, + 15 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 15, + 120, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 120, + 15 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 16, + 115, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 115, + 16 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 16, + 116, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 116, + 16 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 16, + 117, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 117, + 16 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 16, + 118, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 118, + 16 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 16, + 119, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 119, + 16 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 16, + 120, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 120, + 16 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 17, + 115, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 115, + 17 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 17, + 116, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 116, + 17 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 17, + 117, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 117, + 17 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 17, + 118, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 118, + 17 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 17, + 119, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 119, + 17 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 17, + 120, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 120, + 17 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 18, + 115, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 115, + 18 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 18, + 116, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 116, + 18 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 18, + 117, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 117, + 18 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 18, + 118, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 118, + 18 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 18, + 119, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 119, + 18 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 18, + 120, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 120, + 18 + ] + ], + "result": { + "count": 1, + "id": 864 + } + } + ], + "865": [ + { + "inShape": [ + [ + null, + 37, + null + ], + [ + 37, + 160, + 37 + ], + [ + null, + 37, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 55, + null + ], + [ + 55, + 160, + 55 + ], + [ + null, + 55, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 43, + null + ], + [ + 43, + 160, + 43 + ], + [ + null, + 43, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 49, + null + ], + [ + 49, + 160, + 49 + ], + [ + null, + 49, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 32, + null + ], + [ + 32, + 160, + 32 + ], + [ + null, + 32, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 50, + null + ], + [ + 50, + 160, + 50 + ], + [ + null, + 50, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 38, + null + ], + [ + 38, + 160, + 38 + ], + [ + null, + 38, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 44, + null + ], + [ + 44, + 160, + 44 + ], + [ + null, + 44, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 36, + null + ], + [ + 36, + 160, + 36 + ], + [ + null, + 36, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 54, + null + ], + [ + 54, + 160, + 54 + ], + [ + null, + 54, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 42, + null + ], + [ + 42, + 160, + 42 + ], + [ + null, + 42, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 48, + null + ], + [ + 48, + 160, + 48 + ], + [ + null, + 48, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 34, + null + ], + [ + 34, + 160, + 34 + ], + [ + null, + 34, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 52, + null + ], + [ + 52, + 160, + 52 + ], + [ + null, + 52, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 40, + null + ], + [ + 40, + 160, + 40 + ], + [ + null, + 40, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 46, + null + ], + [ + 46, + 160, + 46 + ], + [ + null, + 46, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 35, + null + ], + [ + 35, + 160, + 35 + ], + [ + null, + 35, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 53, + null + ], + [ + 53, + 160, + 53 + ], + [ + null, + 53, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 41, + null + ], + [ + 41, + 160, + 41 + ], + [ + null, + 41, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 47, + null + ], + [ + 47, + 160, + 47 + ], + [ + null, + 47, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 33, + null + ], + [ + 33, + 160, + 33 + ], + [ + null, + 33, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 51, + null + ], + [ + 51, + 160, + 51 + ], + [ + null, + 51, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 39, + null + ], + [ + 39, + 160, + 39 + ], + [ + null, + 39, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 45, + null + ], + [ + 45, + 160, + 45 + ], + [ + null, + 45, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + } + ], + "866": [ + { + "inShape": [ + [ + 140, + 140, + 140 + ], + [ + 530, + 160, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 866 + } + } + ], + "867": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 867 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 867 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 867 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 867 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 867 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 867 + } + } + ], + "868": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 868 + } + } + ], + "869": [ + { + "inShape": [ + [ + 13, + null, + 13 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 14, + null, + 14 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 15, + null, + 15 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 16, + null, + 16 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 17, + null, + 17 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 18, + null, + 18 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 869 + } + } + ], + "870": [ + { + "inShape": [ + [ + null, + 115, + null + ], + [ + null, + 143, + null + ], + [ + 115, + 115, + 115 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + null, + 116, + null + ], + [ + null, + 143, + null + ], + [ + 116, + 116, + 116 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + null, + 117, + null + ], + [ + null, + 143, + null + ], + [ + 117, + 117, + 117 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + null, + 118, + null + ], + [ + null, + 143, + null + ], + [ + 118, + 118, + 118 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + null, + 119, + null + ], + [ + null, + 143, + null + ], + [ + 119, + 119, + 119 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + null, + 120, + null + ], + [ + null, + 143, + null + ], + [ + 120, + 120, + 120 + ] + ], + "result": { + "count": 1, + "id": 870 + } + } + ], + "871": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 871 + } + } + ], + "872": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + null, + 530, + null + ] + ], + "result": { + "count": 1, + "id": 872 + } + } + ], + "874": [ + { + "inShape": [ + [ + 837, + 837, + 837 + ], + [ + 837, + 146, + 837 + ], + [ + 837, + 837, + 837 + ] + ], + "result": { + "count": 1, + "id": 874 + } + } + ], + "876": [ + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 55, + 55, + 55 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 55, + 55, + 55 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 32, + 32, + 32 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 32, + 32, + 32 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 50, + 50, + 50 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 50, + 50, + 50 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 54, + 54, + 54 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 54, + 54, + 54 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 34, + 34, + 34 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 34, + 34, + 34 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 52, + 52, + 52 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 52, + 52, + 52 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 53, + 53, + 53 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 53, + 53, + 53 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 47, + 47, + 47 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 47, + 47, + 47 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 33, + 33, + 33 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 33, + 33, + 33 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 51, + 51, + 51 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 51, + 51, + 51 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/version.json new file mode 100644 index 00000000..0d2fd27f --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.14.4", + "version": 498, + "majorVersion": "1.14" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/windows.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/windows.json new file mode 100644 index 00000000..37bdcb69 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14.4/windows.json @@ -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 + } + ] + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14/biomes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/biomes.json new file mode 100644 index 00000000..8966a51a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/biomes.json @@ -0,0 +1,527 @@ +[ + { + "id": 0, + "name": "ocean", + "displayName": "Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 1, + "name": "plains", + "displayName": "Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 2, + "name": "desert", + "displayName": "Desert", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 3, + "name": "mountains", + "displayName": "Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 4, + "name": "forest", + "displayName": "Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 5, + "name": "taiga", + "displayName": "Taiga", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 6, + "name": "swamp", + "displayName": "Swamp", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 7, + "name": "river", + "displayName": "River", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 8, + "name": "nether", + "displayName": "Nether", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 9, + "name": "the_end", + "displayName": "The End", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 10, + "name": "frozen_ocean", + "displayName": "Frozen Ocean", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 11, + "name": "frozen_river", + "displayName": "Frozen River", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 12, + "name": "snowy_tundra", + "displayName": "Snowy Tundra", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 13, + "name": "snowy_mountains", + "displayName": "Snowy Mountains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 14, + "name": "mushroom_fields", + "displayName": "Mushroom Fields", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 15, + "name": "mushroom_field_shore", + "displayName": "Mushroom Field Shore", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 16, + "name": "beach", + "displayName": "Beach", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 17, + "name": "desert_hills", + "displayName": "Desert Hills", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 18, + "name": "wooded_hills", + "displayName": "Wooded Hills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 19, + "name": "taiga_hills", + "displayName": "Taiga Hills", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 20, + "name": "mountain_edge", + "displayName": "Mountain Edge", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 21, + "name": "jungle", + "displayName": "Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 22, + "name": "jungle_hills", + "displayName": "Jungle Hills", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 23, + "name": "jungle_edge", + "displayName": "Jungle Edge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 24, + "name": "deep_ocean", + "displayName": "Deep Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 25, + "name": "stone_shore", + "displayName": "Stone Shore", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 26, + "name": "snowy_beach", + "displayName": "Snowy Beach", + "rainfall": 0.3, + "temperature": 0.05 + }, + { + "id": 27, + "name": "birch_forest", + "displayName": "Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 28, + "name": "birch_forest_hills", + "displayName": "Birch Forest Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 29, + "name": "dark_forest", + "displayName": "Dark Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 30, + "name": "snowy_taiga", + "displayName": "Snowy Taiga", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 31, + "name": "snowy_taiga_hills", + "displayName": "Snowy Taiga Hills", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 32, + "name": "giant_tree_taiga", + "displayName": "Giant Tree Taiga", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 33, + "name": "giant_tree_taiga_hills", + "displayName": "Giant Tree Taiga Hills", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 34, + "name": "wooded_mountains", + "displayName": "Wooded Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 35, + "name": "savanna", + "displayName": "Savanna", + "rainfall": 0, + "temperature": 1.2 + }, + { + "id": 36, + "name": "savanna_plateau", + "displayName": "Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 37, + "name": "badlands", + "displayName": "Badlands", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 38, + "name": "wooded_badlands_plateau", + "displayName": "Wooded Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 39, + "name": "badlands_plateau", + "displayName": "Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 40, + "name": "small_end_islands", + "displayName": "Small End Islands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 41, + "name": "end_midlands", + "displayName": "End Midlands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 42, + "name": "end_highlands", + "displayName": "End Highlands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 43, + "name": "end_barrens", + "displayName": "End Barrens", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 44, + "name": "warm_ocean", + "displayName": "Warm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 45, + "name": "lukewarm_ocean", + "displayName": "Lukewarm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 46, + "name": "cold_ocean", + "displayName": "Cold Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 47, + "name": "deep_warm_ocean", + "displayName": "Deep Warm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 48, + "name": "deep_lukewarm_ocean", + "displayName": "Deep Lukewarm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 49, + "name": "deep_cold_ocean", + "displayName": "Deep Cold Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 50, + "name": "deep_frozen_ocean", + "displayName": "Deep Frozen Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 127, + "name": "the_void", + "displayName": "The Void", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 129, + "name": "sunflower_plains", + "displayName": "Sunflower Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 130, + "name": "desert_lakes", + "displayName": "Desert Lakes", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 131, + "name": "gravelly_mountains", + "displayName": "Gravelly Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 132, + "name": "flower_forest", + "displayName": "Flower Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 133, + "name": "taiga_mountains", + "displayName": "Taiga Mountains", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 134, + "name": "swamp_hills", + "displayName": "Swamp Hills", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 140, + "name": "ice_spikes", + "displayName": "Ice Spikes", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 149, + "name": "modified_jungle", + "displayName": "Modified Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 151, + "name": "modified_jungle_edge", + "displayName": "Modified Jungle Edge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 155, + "name": "tall_birch_forest", + "displayName": "Tall Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 156, + "name": "tall_birch_hills", + "displayName": "Tall Birch Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 157, + "name": "dark_forest_hills", + "displayName": "Dark Forest Hills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 158, + "name": "snowy_taiga_mountains", + "displayName": "Snowy Taiga Mountains", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 160, + "name": "giant_spruce_taiga", + "displayName": "Giant Spruce Taiga", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 161, + "name": "giant_spruce_taiga_hills", + "displayName": "Giant Spruce Taiga Hills", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 162, + "name": "modified_gravelly_mountains", + "displayName": "Gravelly Mountains+", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 163, + "name": "shattered_savanna", + "displayName": "Shattered Savanna", + "rainfall": 0, + "temperature": 1.1 + }, + { + "id": 164, + "name": "shattered_savanna_plateau", + "displayName": "Shattered Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 165, + "name": "eroded_badlands", + "displayName": "Eroded Badlands", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 166, + "name": "modified_wooded_badlands_plateau", + "displayName": "Modified Wooded Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 167, + "name": "modified_badlands_plateau", + "displayName": "Modified Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 168, + "name": "bamboo_jungle", + "displayName": "Bamboo Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 169, + "name": "bamboo_jungle_hills", + "displayName": "Bamboo Jungle Hills", + "rainfall": 0.9, + "temperature": 0.95 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14/blockCollisionShapes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/blockCollisionShapes.json new file mode 100644 index 00000000..72b67ca1 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/blockCollisionShapes.json @@ -0,0 +1,946 @@ +{"blocks":{"air":0, +"stone":1, +"granite":1, +"polished_granite":1, +"diorite":1, +"polished_diorite":1, +"andesite":1, +"polished_andesite":1, +"grass_block":1, +"dirt":1, +"coarse_dirt":1, +"podzol":1, +"cobblestone":1, +"oak_planks":1, +"spruce_planks":1, +"birch_planks":1, +"jungle_planks":1, +"acacia_planks":1, +"dark_oak_planks":1, +"oak_sapling":0, +"spruce_sapling":0, +"birch_sapling":0, +"jungle_sapling":0, +"acacia_sapling":0, +"dark_oak_sapling":0, +"bedrock":1, +"water":0, +"lava":0, +"sand":1, +"red_sand":1, +"gravel":1, +"gold_ore":1, +"iron_ore":1, +"coal_ore":1, +"oak_log":1, +"spruce_log":1, +"birch_log":1, +"jungle_log":1, +"acacia_log":1, +"dark_oak_log":1, +"stripped_spruce_log":1, +"stripped_birch_log":1, +"stripped_jungle_log":1, +"stripped_acacia_log":1, +"stripped_dark_oak_log":1, +"stripped_oak_log":1, +"oak_wood":1, +"spruce_wood":1, +"birch_wood":1, +"jungle_wood":1, +"acacia_wood":1, +"dark_oak_wood":1, +"stripped_oak_wood":1, +"stripped_spruce_wood":1, +"stripped_birch_wood":1, +"stripped_jungle_wood":1, +"stripped_acacia_wood":1, +"stripped_dark_oak_wood":1, +"oak_leaves":1, +"spruce_leaves":1, +"birch_leaves":1, +"jungle_leaves":1, +"acacia_leaves":1, +"dark_oak_leaves":1, +"sponge":1, +"wet_sponge":1, +"glass":1, +"lapis_ore":1, +"lapis_block":1, +"dispenser":1, +"sandstone":1, +"chiseled_sandstone":1, +"cut_sandstone":1, +"note_block":1, +"white_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"orange_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"magenta_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"light_blue_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"yellow_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"lime_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"pink_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"gray_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"light_gray_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"cyan_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"purple_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"blue_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"brown_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"green_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"red_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"black_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"powered_rail":0, +"detector_rail":0, +"sticky_piston":[6,7,8,9,10,11,1,1,1,1,1,1], +"cobweb":0, +"grass":0, +"fern":0, +"dead_bush":0, +"seagrass":0, +"tall_seagrass":0, +"piston":[6,7,8,9,10,11,1,1,1,1,1,1], +"piston_head":[13,13,12,12,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23], +"white_wool":1, +"orange_wool":1, +"magenta_wool":1, +"light_blue_wool":1, +"yellow_wool":1, +"lime_wool":1, +"pink_wool":1, +"gray_wool":1, +"light_gray_wool":1, +"cyan_wool":1, +"purple_wool":1, +"blue_wool":1, +"brown_wool":1, +"green_wool":1, +"red_wool":1, +"black_wool":1, +"moving_piston":0, +"dandelion":0, +"poppy":0, +"blue_orchid":0, +"allium":0, +"azure_bluet":0, +"red_tulip":0, +"orange_tulip":0, +"white_tulip":0, +"pink_tulip":0, +"oxeye_daisy":0, +"cornflower":0, +"wither_rose":0, +"lily_of_the_valley":0, +"brown_mushroom":0, +"red_mushroom":0, +"gold_block":1, +"iron_block":1, +"bricks":1, +"tnt":1, +"bookshelf":1, +"mossy_cobblestone":1, +"obsidian":1, +"torch":0, +"wall_torch":0, +"fire":0, +"spawner":1, +"oak_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"chest":[48,48,49,49,50,50,48,48,50,50,49,49,48,48,51,51,52,52,48,48,52,52,51,51], +"redstone_wire":0, +"diamond_ore":1, +"diamond_block":1, +"crafting_table":1, +"wheat":0, +"farmland":53, +"furnace":1, +"oak_sign":0, +"spruce_sign":0, +"birch_sign":0, +"acacia_sign":0, +"jungle_sign":0, +"dark_oak_sign":0, +"oak_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"ladder":[54,54,57,57,56,56,55,55], +"rail":0, +"cobblestone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"oak_wall_sign":0, +"spruce_wall_sign":0, +"birch_wall_sign":0, +"acacia_wall_sign":0, +"jungle_wall_sign":0, +"dark_oak_wall_sign":0, +"lever":0, +"stone_pressure_plate":0, +"iron_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"oak_pressure_plate":0, +"spruce_pressure_plate":0, +"birch_pressure_plate":0, +"jungle_pressure_plate":0, +"acacia_pressure_plate":0, +"dark_oak_pressure_plate":0, +"redstone_ore":1, +"redstone_torch":0, +"redstone_wall_torch":0, +"stone_button":0, +"snow":[0,58,59,60,61,62,10,63], +"ice":1, +"snow_block":1, +"cactus":64, +"clay":1, +"sugar_cane":0, +"jukebox":1, +"oak_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"pumpkin":1, +"netherrack":1, +"soul_sand":63, +"glowstone":1, +"nether_portal":0, +"carved_pumpkin":1, +"jack_o_lantern":1, +"cake":[81,82,83,84,85,86,87], +"repeater":58, +"white_stained_glass":1, +"orange_stained_glass":1, +"magenta_stained_glass":1, +"light_blue_stained_glass":1, +"yellow_stained_glass":1, +"lime_stained_glass":1, +"pink_stained_glass":1, +"gray_stained_glass":1, +"light_gray_stained_glass":1, +"cyan_stained_glass":1, +"purple_stained_glass":1, +"blue_stained_glass":1, +"brown_stained_glass":1, +"green_stained_glass":1, +"red_stained_glass":1, +"black_stained_glass":1, +"oak_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"spruce_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"birch_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"jungle_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"acacia_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"dark_oak_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"stone_bricks":1, +"mossy_stone_bricks":1, +"cracked_stone_bricks":1, +"chiseled_stone_bricks":1, +"infested_stone":1, +"infested_cobblestone":1, +"infested_stone_bricks":1, +"infested_mossy_stone_bricks":1, +"infested_cracked_stone_bricks":1, +"infested_chiseled_stone_bricks":1, +"brown_mushroom_block":1, +"red_mushroom_block":1, +"mushroom_stem":1, +"iron_bars":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"melon":1, +"attached_pumpkin_stem":0, +"attached_melon_stem":0, +"pumpkin_stem":0, +"melon_stem":0, +"vine":0, +"oak_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"stone_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"mycelium":1, +"lily_pad":106, +"nether_bricks":1, +"nether_brick_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"nether_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"nether_wart":0, +"enchanting_table":10, +"brewing_stand":107, +"cauldron":108, +"end_portal":0, +"end_portal_frame":[110,110,110,110,109,109,109,109], +"end_stone":1, +"dragon_egg":111, +"redstone_lamp":1, +"cocoa":[112,113,114,115,116,117,118,119,120,121,122,123], +"sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"emerald_ore":1, +"ender_chest":48, +"tripwire_hook":0, +"tripwire":0, +"emerald_block":1, +"spruce_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"birch_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"jungle_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"command_block":1, +"beacon":1, +"cobblestone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"mossy_cobblestone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"flower_pot":156, +"potted_oak_sapling":156, +"potted_spruce_sapling":156, +"potted_birch_sapling":156, +"potted_jungle_sapling":156, +"potted_acacia_sapling":156, +"potted_dark_oak_sapling":156, +"potted_fern":156, +"potted_dandelion":156, +"potted_poppy":156, +"potted_blue_orchid":156, +"potted_allium":156, +"potted_azure_bluet":156, +"potted_red_tulip":156, +"potted_orange_tulip":156, +"potted_white_tulip":156, +"potted_pink_tulip":156, +"potted_oxeye_daisy":156, +"potted_cornflower":156, +"potted_lily_of_the_valley":156, +"potted_wither_rose":156, +"potted_red_mushroom":156, +"potted_brown_mushroom":156, +"potted_dead_bush":156, +"potted_cactus":156, +"carrots":0, +"potatoes":0, +"oak_button":0, +"spruce_button":0, +"birch_button":0, +"jungle_button":0, +"acacia_button":0, +"dark_oak_button":0, +"skeleton_skull":157, +"skeleton_wall_skull":[158,159,160,161], +"wither_skeleton_skull":157, +"wither_skeleton_wall_skull":[158,159,160,161], +"zombie_head":157, +"zombie_wall_head":[158,159,160,161], +"player_head":157, +"player_wall_head":[158,159,160,161], +"creeper_head":157, +"creeper_wall_head":[158,159,160,161], +"dragon_head":157, +"dragon_wall_head":[158,159,160,161], +"anvil":[162,162,163,163], +"chipped_anvil":[162,162,163,163], +"damaged_anvil":[162,162,163,163], +"trapped_chest":[48,48,49,49,50,50,48,48,50,50,49,49,48,48,51,51,52,52,48,48,52,52,51,51], +"light_weighted_pressure_plate":0, +"heavy_weighted_pressure_plate":0, +"comparator":58, +"daylight_detector":60, +"redstone_block":1, +"nether_quartz_ore":1, +"hopper":[164,165,166,167,168,164,165,166,167,168], +"quartz_block":1, +"chiseled_quartz_block":1, +"quartz_pillar":1, +"quartz_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"activator_rail":0, +"dropper":1, +"white_terracotta":1, +"orange_terracotta":1, +"magenta_terracotta":1, +"light_blue_terracotta":1, +"yellow_terracotta":1, +"lime_terracotta":1, +"pink_terracotta":1, +"gray_terracotta":1, +"light_gray_terracotta":1, +"cyan_terracotta":1, +"purple_terracotta":1, +"blue_terracotta":1, +"brown_terracotta":1, +"green_terracotta":1, +"red_terracotta":1, +"black_terracotta":1, +"white_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"orange_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"magenta_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"light_blue_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"yellow_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"lime_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"pink_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"gray_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"light_gray_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"cyan_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"purple_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"blue_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"brown_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"green_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"red_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"black_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"acacia_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"dark_oak_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"slime_block":1, +"barrier":1, +"iron_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"prismarine":1, +"prismarine_bricks":1, +"dark_prismarine":1, +"prismarine_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"prismarine_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"dark_prismarine_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"prismarine_slab":[169,169,61,61,1,1], +"prismarine_brick_slab":[169,169,61,61,1,1], +"dark_prismarine_slab":[169,169,61,61,1,1], +"sea_lantern":1, +"hay_block":1, +"white_carpet":170, +"orange_carpet":170, +"magenta_carpet":170, +"light_blue_carpet":170, +"yellow_carpet":170, +"lime_carpet":170, +"pink_carpet":170, +"gray_carpet":170, +"light_gray_carpet":170, +"cyan_carpet":170, +"purple_carpet":170, +"blue_carpet":170, +"brown_carpet":170, +"green_carpet":170, +"red_carpet":170, +"black_carpet":170, +"terracotta":1, +"coal_block":1, +"packed_ice":1, +"sunflower":0, +"lilac":0, +"rose_bush":0, +"peony":0, +"tall_grass":0, +"large_fern":0, +"white_banner":0, +"orange_banner":0, +"magenta_banner":0, +"light_blue_banner":0, +"yellow_banner":0, +"lime_banner":0, +"pink_banner":0, +"gray_banner":0, +"light_gray_banner":0, +"cyan_banner":0, +"purple_banner":0, +"blue_banner":0, +"brown_banner":0, +"green_banner":0, +"red_banner":0, +"black_banner":0, +"white_wall_banner":0, +"orange_wall_banner":0, +"magenta_wall_banner":0, +"light_blue_wall_banner":0, +"yellow_wall_banner":0, +"lime_wall_banner":0, +"pink_wall_banner":0, +"gray_wall_banner":0, +"light_gray_wall_banner":0, +"cyan_wall_banner":0, +"purple_wall_banner":0, +"blue_wall_banner":0, +"brown_wall_banner":0, +"green_wall_banner":0, +"red_wall_banner":0, +"black_wall_banner":0, +"red_sandstone":1, +"chiseled_red_sandstone":1, +"cut_red_sandstone":1, +"red_sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"oak_slab":[169,169,61,61,1,1], +"spruce_slab":[169,169,61,61,1,1], +"birch_slab":[169,169,61,61,1,1], +"jungle_slab":[169,169,61,61,1,1], +"acacia_slab":[169,169,61,61,1,1], +"dark_oak_slab":[169,169,61,61,1,1], +"stone_slab":[169,169,61,61,1,1], +"smooth_stone_slab":[169,169,61,61,1,1], +"sandstone_slab":[169,169,61,61,1,1], +"cut_sandstone_slab":[169,169,61,61,1,1], +"petrified_oak_slab":[169,169,61,61,1,1], +"cobblestone_slab":[169,169,61,61,1,1], +"brick_slab":[169,169,61,61,1,1], +"stone_brick_slab":[169,169,61,61,1,1], +"nether_brick_slab":[169,169,61,61,1,1], +"quartz_slab":[169,169,61,61,1,1], +"red_sandstone_slab":[169,169,61,61,1,1], +"cut_red_sandstone_slab":[169,169,61,61,1,1], +"purpur_slab":[169,169,61,61,1,1], +"smooth_stone":1, +"smooth_sandstone":1, +"smooth_quartz":1, +"smooth_red_sandstone":1, +"spruce_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"birch_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"jungle_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"acacia_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"dark_oak_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"spruce_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"birch_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"jungle_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"acacia_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"dark_oak_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"spruce_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"birch_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"jungle_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"acacia_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"dark_oak_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"end_rod":[172,173,172,173,171,171], +"chorus_plant":[175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,174], +"chorus_flower":1, +"purpur_block":1, +"purpur_pillar":1, +"purpur_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"end_stone_bricks":1, +"beetroots":0, +"grass_path":53, +"end_gateway":0, +"repeating_command_block":1, +"chain_command_block":1, +"frosted_ice":1, +"magma_block":1, +"nether_wart_block":1, +"red_nether_bricks":1, +"bone_block":1, +"structure_void":0, +"observer":1, +"shulker_box":1, +"white_shulker_box":1, +"orange_shulker_box":1, +"magenta_shulker_box":1, +"light_blue_shulker_box":1, +"yellow_shulker_box":1, +"lime_shulker_box":1, +"pink_shulker_box":1, +"gray_shulker_box":1, +"light_gray_shulker_box":1, +"cyan_shulker_box":1, +"purple_shulker_box":1, +"blue_shulker_box":1, +"brown_shulker_box":1, +"green_shulker_box":1, +"red_shulker_box":1, +"black_shulker_box":1, +"white_glazed_terracotta":1, +"orange_glazed_terracotta":1, +"magenta_glazed_terracotta":1, +"light_blue_glazed_terracotta":1, +"yellow_glazed_terracotta":1, +"lime_glazed_terracotta":1, +"pink_glazed_terracotta":1, +"gray_glazed_terracotta":1, +"light_gray_glazed_terracotta":1, +"cyan_glazed_terracotta":1, +"purple_glazed_terracotta":1, +"blue_glazed_terracotta":1, +"brown_glazed_terracotta":1, +"green_glazed_terracotta":1, +"red_glazed_terracotta":1, +"black_glazed_terracotta":1, +"white_concrete":1, +"orange_concrete":1, +"magenta_concrete":1, +"light_blue_concrete":1, +"yellow_concrete":1, +"lime_concrete":1, +"pink_concrete":1, +"gray_concrete":1, +"light_gray_concrete":1, +"cyan_concrete":1, +"purple_concrete":1, +"blue_concrete":1, +"brown_concrete":1, +"green_concrete":1, +"red_concrete":1, +"black_concrete":1, +"white_concrete_powder":1, +"orange_concrete_powder":1, +"magenta_concrete_powder":1, +"light_blue_concrete_powder":1, +"yellow_concrete_powder":1, +"lime_concrete_powder":1, +"pink_concrete_powder":1, +"gray_concrete_powder":1, +"light_gray_concrete_powder":1, +"cyan_concrete_powder":1, +"purple_concrete_powder":1, +"blue_concrete_powder":1, +"brown_concrete_powder":1, +"green_concrete_powder":1, +"red_concrete_powder":1, +"black_concrete_powder":1, +"kelp":0, +"kelp_plant":0, +"dried_kelp_block":1, +"turtle_egg":[238,238,238,239,239,239,239,239,239,239,239,239], +"dead_tube_coral_block":1, +"dead_brain_coral_block":1, +"dead_bubble_coral_block":1, +"dead_fire_coral_block":1, +"dead_horn_coral_block":1, +"tube_coral_block":1, +"brain_coral_block":1, +"bubble_coral_block":1, +"fire_coral_block":1, +"horn_coral_block":1, +"dead_tube_coral":0, +"dead_brain_coral":0, +"dead_bubble_coral":0, +"dead_fire_coral":0, +"dead_horn_coral":0, +"tube_coral":0, +"brain_coral":0, +"bubble_coral":0, +"fire_coral":0, +"horn_coral":0, +"dead_tube_coral_fan":0, +"dead_brain_coral_fan":0, +"dead_bubble_coral_fan":0, +"dead_fire_coral_fan":0, +"dead_horn_coral_fan":0, +"tube_coral_fan":0, +"brain_coral_fan":0, +"bubble_coral_fan":0, +"fire_coral_fan":0, +"horn_coral_fan":0, +"dead_tube_coral_wall_fan":0, +"dead_brain_coral_wall_fan":0, +"dead_bubble_coral_wall_fan":0, +"dead_fire_coral_wall_fan":0, +"dead_horn_coral_wall_fan":0, +"tube_coral_wall_fan":0, +"brain_coral_wall_fan":0, +"bubble_coral_wall_fan":0, +"fire_coral_wall_fan":0, +"horn_coral_wall_fan":0, +"sea_pickle":[240,240,241,241,242,242,243,243], +"blue_ice":1, +"conduit":244, +"bamboo_sapling":0, +"bamboo":245, +"potted_bamboo":156, +"void_air":0, +"cave_air":0, +"bubble_column":0, +"polished_granite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"smooth_red_sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"mossy_stone_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"polished_diorite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"mossy_cobblestone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"end_stone_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"stone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"smooth_sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"smooth_quartz_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"granite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"andesite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"red_nether_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"polished_andesite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"diorite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"polished_granite_slab":[169,169,61,61,1,1], +"smooth_red_sandstone_slab":[169,169,61,61,1,1], +"mossy_stone_brick_slab":[169,169,61,61,1,1], +"polished_diorite_slab":[169,169,61,61,1,1], +"mossy_cobblestone_slab":[169,169,61,61,1,1], +"end_stone_brick_slab":[169,169,61,61,1,1], +"smooth_sandstone_slab":[169,169,61,61,1,1], +"smooth_quartz_slab":[169,169,61,61,1,1], +"granite_slab":[169,169,61,61,1,1], +"andesite_slab":[169,169,61,61,1,1], +"red_nether_brick_slab":[169,169,61,61,1,1], +"polished_andesite_slab":[169,169,61,61,1,1], +"diorite_slab":[169,169,61,61,1,1], +"brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"prismarine_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"red_sandstone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"mossy_stone_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"granite_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"stone_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"nether_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"andesite_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"red_nether_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"sandstone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"end_stone_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"diorite_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"scaffolding":246, +"loom":1, +"barrel":1, +"smoker":1, +"blast_furnace":1, +"cartography_table":1, +"fletching_table":1, +"grindstone":[248,248,249,249,247,250,251,252,253,253,254,254], +"lectern":255, +"smithing_table":1, +"stonecutter":256, +"bell":[257,257,258,258,259,259,259,259,260,261,262,263,264,264,265,265], +"lantern":[267,266], +"campfire":268, +"sweet_berry_bush":0, +"structure_block":1, +"jigsaw":1, +"composter":269}, +"shapes":{"0":[], +"1":[[0.0,0.0,0.0,1.0,1.0,1.0]], +"2":[[0.0,0.0,0.8125,0.1875,0.5625,1.0],[0.0,0.1875,0.0,1.0,0.5625,0.8125],[0.1875,0.1875,0.8125,1.0,0.5625,1.0],[0.8125,0.0,0.8125,1.0,0.1875,1.0]], +"3":[[0.0,0.0,0.0,0.1875,0.5625,0.1875],[0.0,0.1875,0.1875,1.0,0.5625,1.0],[0.1875,0.1875,0.0,1.0,0.5625,0.1875],[0.8125,0.0,0.0,1.0,0.1875,0.1875]], +"4":[[0.0,0.0,0.0,0.1875,0.5625,0.1875],[0.0,0.0,0.8125,0.1875,0.5625,1.0],[0.0,0.1875,0.1875,1.0,0.5625,0.8125],[0.1875,0.1875,0.0,1.0,0.5625,0.1875],[0.1875,0.1875,0.8125,1.0,0.5625,1.0]], +"5":[[0.0,0.1875,0.0,1.0,0.5625,1.0],[0.8125,0.0,0.0,1.0,0.1875,0.1875],[0.8125,0.0,0.8125,1.0,0.1875,1.0]], +"6":[[0.0,0.0,0.25,1.0,1.0,1.0]], +"7":[[0.0,0.0,0.0,0.75,1.0,1.0]], +"8":[[0.0,0.0,0.0,1.0,1.0,0.75]], +"9":[[0.25,0.0,0.0,1.0,1.0,1.0]], +"10":[[0.0,0.0,0.0,1.0,0.75,1.0]], +"11":[[0.0,0.25,0.0,1.0,1.0,1.0]], +"12":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]], +"13":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.0]], +"14":[[0.0,0.375,0.375,1.0,0.625,0.625],[0.75,0.0,0.0,1.0,0.375,1.0],[0.75,0.375,0.0,1.0,1.0,0.375],[0.75,0.375,0.625,1.0,1.0,1.0],[0.75,0.625,0.375,1.0,1.0,0.625]], +"15":[[-0.25,0.375,0.375,1.0,0.625,0.625],[0.75,0.0,0.0,1.0,0.375,1.0],[0.75,0.375,0.0,1.0,1.0,0.375],[0.75,0.375,0.625,1.0,1.0,1.0],[0.75,0.625,0.375,1.0,1.0,0.625]], +"16":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,0.0,0.625,0.625,0.75]], +"17":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]], +"18":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.0,0.625,0.625]], +"19":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]], +"20":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,0.0,0.375,0.625,0.75,0.625]], +"21":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]], +"22":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.0,0.625]], +"23":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]], +"24":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"25":[[0.0,0.0,0.0,1.0,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0]], +"26":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.0,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"27":[[0.0,0.0,0.0,1.0,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.0,0.5,1.0,0.5,1.0]], +"28":[[0.0,0.0,0.0,0.5,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"29":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,0.5]], +"30":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"31":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"32":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,0.5]], +"33":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"34":[[0.0,0.0,0.5,1.0,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"35":[[0.0,0.0,0.5,1.0,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.0,0.0,1.0,0.5,0.5]], +"36":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.0,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"37":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.5,1.0,0.5,1.0]], +"38":[[0.0,0.0,0.5,0.5,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"39":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]], +"40":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"41":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0],[0.5,0.5,0.5,1.0,1.0,1.0]], +"42":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.5,1.0,1.0,1.0]], +"43":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,0.5,1.0,1.0]], +"44":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"45":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]], +"46":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]], +"47":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"48":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]], +"49":[[0.0625,0.0,0.0625,1.0,0.875,0.9375]], +"50":[[0.0,0.0,0.0625,0.9375,0.875,0.9375]], +"51":[[0.0625,0.0,0.0,0.9375,0.875,0.9375]], +"52":[[0.0625,0.0,0.0625,0.9375,0.875,1.0]], +"53":[[0.0,0.0,0.0,1.0,0.9375,1.0]], +"54":[[0.0,0.0,0.8125,1.0,1.0,1.0]], +"55":[[0.0,0.0,0.0,0.1875,1.0,1.0]], +"56":[[0.8125,0.0,0.0,1.0,1.0,1.0]], +"57":[[0.0,0.0,0.0,1.0,1.0,0.1875]], +"58":[[0.0,0.0,0.0,1.0,0.125,1.0]], +"59":[[0.0,0.0,0.0,1.0,0.25,1.0]], +"60":[[0.0,0.0,0.0,1.0,0.375,1.0]], +"61":[[0.0,0.0,0.0,1.0,0.5,1.0]], +"62":[[0.0,0.0,0.0,1.0,0.625,1.0]], +"63":[[0.0,0.0,0.0,1.0,0.875,1.0]], +"64":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]], +"65":[[0.375,0.0,0.375,0.625,1.5,0.625]], +"66":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375],[0.375,0.0,0.625,0.625,1.5,1.0]], +"67":[[0.375,0.0,0.0,0.625,1.5,1.0],[0.625,0.0,0.375,1.0,1.5,0.625]], +"68":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375]], +"69":[[0.375,0.0,0.0,0.625,1.5,0.625],[0.625,0.0,0.375,1.0,1.5,0.625]], +"70":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.625,0.625,1.5,1.0]], +"71":[[0.375,0.0,0.375,0.625,1.5,1.0],[0.625,0.0,0.375,1.0,1.5,0.625]], +"72":[[0.0,0.0,0.375,1.0,1.5,0.625]], +"73":[[0.375,0.0,0.375,1.0,1.5,0.625]], +"74":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375],[0.375,0.0,0.625,0.625,1.5,1.0]], +"75":[[0.375,0.0,0.0,0.625,1.5,1.0]], +"76":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375]], +"77":[[0.375,0.0,0.0,0.625,1.5,0.625]], +"78":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.625,0.625,1.5,1.0]], +"79":[[0.375,0.0,0.375,0.625,1.5,1.0]], +"80":[[0.0,0.0,0.375,0.625,1.5,0.625]], +"81":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]], +"82":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]], +"83":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]], +"84":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]], +"85":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]], +"86":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]], +"87":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]], +"88":[[0.0,0.0,0.0,1.0,0.1875,1.0]], +"89":[[0.0,0.8125,0.0,1.0,1.0,1.0]], +"90":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]], +"91":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"92":[[0.4375,0.0,0.0,0.5625,1.0,1.0],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"93":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375]], +"94":[[0.4375,0.0,0.0,0.5625,1.0,0.5625],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"95":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"96":[[0.4375,0.0,0.4375,0.5625,1.0,1.0],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"97":[[0.0,0.0,0.4375,1.0,1.0,0.5625]], +"98":[[0.4375,0.0,0.4375,1.0,1.0,0.5625]], +"99":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"100":[[0.4375,0.0,0.0,0.5625,1.0,1.0]], +"101":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375]], +"102":[[0.4375,0.0,0.0,0.5625,1.0,0.5625]], +"103":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"104":[[0.4375,0.0,0.4375,0.5625,1.0,1.0]], +"105":[[0.0,0.0,0.4375,0.5625,1.0,0.5625]], +"106":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]], +"107":[[0.0625,0.0,0.0625,0.9375,0.125,0.9375],[0.4375,0.125,0.4375,0.5625,0.875,0.5625]], +"108":[[0.0,0.0,0.0,0.125,1.0,0.25],[0.0,0.0,0.75,0.125,1.0,1.0],[0.0,0.1875,0.25,1.0,0.25,0.75],[0.0,0.25,0.25,0.125,1.0,0.75],[0.125,0.0,0.0,0.25,1.0,0.125],[0.125,0.0,0.875,0.25,1.0,1.0],[0.125,0.1875,0.125,1.0,0.25,0.25],[0.125,0.1875,0.75,1.0,0.25,0.875],[0.25,0.1875,0.0,1.0,1.0,0.125],[0.25,0.1875,0.875,1.0,1.0,1.0],[0.75,0.0,0.0,1.0,0.1875,0.125],[0.75,0.0,0.875,1.0,0.1875,1.0],[0.875,0.0,0.125,1.0,0.1875,0.25],[0.875,0.0,0.75,1.0,0.1875,0.875],[0.875,0.25,0.125,1.0,1.0,0.875]], +"109":[[0.0,0.0,0.0,1.0,0.8125,1.0]], +"110":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.25,0.8125,0.25,0.75,1.0,0.75]], +"111":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]], +"112":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]], +"113":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]], +"114":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]], +"115":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]], +"116":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]], +"117":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]], +"118":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]], +"119":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]], +"120":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]], +"121":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]], +"122":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]], +"123":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]], +"124":[[0.25,0.0,0.25,0.75,1.5,0.75]], +"125":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"126":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"127":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"128":[[0.3125,0.0,0.0,0.6875,1.5,1.0],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"129":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"130":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"131":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125]], +"132":[[0.3125,0.0,0.0,0.6875,1.5,0.6875],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"133":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"134":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"135":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"136":[[0.3125,0.0,0.3125,0.6875,1.5,1.0],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"137":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75]], +"138":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"139":[[0.0,0.0,0.3125,1.0,1.5,0.6875]], +"140":[[0.3125,0.0,0.3125,1.0,1.5,0.6875]], +"141":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"142":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"143":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"144":[[0.3125,0.0,0.0,0.6875,1.5,1.0]], +"145":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"146":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"147":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125]], +"148":[[0.3125,0.0,0.0,0.6875,1.5,0.6875]], +"149":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"150":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"151":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"152":[[0.3125,0.0,0.3125,0.6875,1.5,1.0]], +"153":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75]], +"154":[[0.0,0.0,0.3125,0.6875,1.5,0.6875]], +"155":[[0.5,0.0,0.5,0.5,1.5,0.5]], +"156":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]], +"157":[[0.25,0.0,0.25,0.75,0.5,0.75]], +"158":[[0.25,0.25,0.5,0.75,0.75,1.0]], +"159":[[0.25,0.25,0.0,0.75,0.75,0.5]], +"160":[[0.5,0.25,0.25,1.0,0.75,0.75]], +"161":[[0.0,0.25,0.25,0.5,0.75,0.75]], +"162":[[0.125,0.0,0.125,0.875,0.25,0.875],[0.1875,0.625,0.0,0.8125,1.0,1.0],[0.25,0.25,0.1875,0.75,0.3125,0.8125],[0.375,0.3125,0.25,0.625,0.625,0.75]], +"163":[[0.0,0.625,0.1875,1.0,1.0,0.8125],[0.125,0.0,0.125,0.875,0.25,0.875],[0.1875,0.25,0.25,0.8125,0.3125,0.75],[0.25,0.3125,0.375,0.75,0.625,0.625]], +"164":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.0,0.375,0.625,0.25,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"165":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.25,0.0,0.625,0.5,0.25],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"166":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.25,0.75,0.625,0.5,1.0],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"167":[[0.0,0.25,0.375,0.75,0.5,0.625],[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.375],[0.25,0.25,0.625,0.75,0.625,0.75],[0.25,0.5,0.375,0.75,0.625,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"168":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.75,0.25,0.375,1.0,0.5,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"169":[[0.0,0.5,0.0,1.0,1.0,1.0]], +"170":[[0.0,0.0,0.0,1.0,0.0625,1.0]], +"171":[[0.375,0.0,0.375,0.625,1.0,0.625]], +"172":[[0.375,0.375,0.0,0.625,0.625,1.0]], +"173":[[0.0,0.375,0.375,1.0,0.625,0.625]], +"174":[[0.1875,0.1875,0.1875,0.8125,0.8125,0.8125]], +"175":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"176":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"177":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"178":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"179":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"180":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"181":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"182":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"183":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"184":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"185":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"186":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"187":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"188":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"189":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125]], +"190":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"191":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"192":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"193":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"194":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"195":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"196":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"197":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"198":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"199":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"200":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"201":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"202":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"203":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"204":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125]], +"205":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125]], +"206":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125]], +"207":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"208":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"209":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"210":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"211":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"212":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"213":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"214":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"215":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"216":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"217":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"218":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"219":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"220":[[0.1875,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"221":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125]], +"222":[[0.1875,0.1875,0.1875,1.0,0.8125,0.8125]], +"223":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"224":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"225":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"226":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0]], +"227":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"228":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"229":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"230":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125]], +"231":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"232":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"233":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"234":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0]], +"235":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"236":[[0.1875,0.1875,0.1875,0.8125,1.0,0.8125]], +"237":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125]], +"238":[[0.1875,0.0,0.1875,0.75,0.4375,0.75]], +"239":[[0.0625,0.0,0.0625,0.9375,0.4375,0.9375]], +"240":[[0.375,0.0,0.375,0.625,0.375,0.625]], +"241":[[0.1875,0.0,0.1875,0.8125,0.375,0.8125]], +"242":[[0.125,0.0,0.125,0.875,0.375,0.875]], +"243":[[0.125,0.0,0.125,0.875,0.4375,0.875]], +"244":[[0.3125,0.3125,0.3125,0.6875,0.6875,0.6875]], +"245":[[0.15625,0.0,0.15625,0.34375,1.0,0.34375]], +"246":[[0.0,0.0,0.0,0.125,1.0,0.125],[0.0,0.0,0.875,0.125,1.0,1.0],[0.0,0.875,0.125,1.0,1.0,0.875],[0.125,0.875,0.0,1.0,1.0,0.125],[0.125,0.875,0.875,1.0,1.0,1.0],[0.875,0.0,0.0,1.0,0.875,0.125],[0.875,0.0,0.875,1.0,0.875,1.0]], +"247":[[0.125,0.3125,0.1875,0.875,0.6875,0.5625],[0.125,0.375,0.5625,0.25,0.625,1.0],[0.25,0.125,0.0,0.75,0.3125,0.75],[0.25,0.3125,0.0,0.75,0.875,0.1875],[0.25,0.3125,0.5625,0.75,0.875,0.75],[0.25,0.6875,0.1875,0.75,0.875,0.5625],[0.75,0.375,0.5625,0.875,0.625,1.0]], +"248":[[0.125,0.0,0.375,0.25,0.8125,0.625],[0.125,0.4375,0.3125,0.875,0.8125,0.375],[0.125,0.4375,0.625,0.875,0.8125,0.6875],[0.25,0.25,0.125,0.75,0.4375,0.875],[0.25,0.4375,0.125,0.75,1.0,0.3125],[0.25,0.4375,0.375,0.875,0.8125,0.625],[0.25,0.4375,0.6875,0.75,1.0,0.875],[0.25,0.8125,0.3125,0.75,1.0,0.6875],[0.75,0.0,0.375,0.875,0.4375,0.625]], +"249":[[0.125,0.25,0.25,0.875,1.0,0.75],[0.3125,0.4375,0.125,0.6875,0.8125,0.25],[0.3125,0.4375,0.75,0.6875,0.8125,0.875],[0.375,0.0,0.125,0.625,0.4375,0.25],[0.375,0.0,0.75,0.625,0.4375,0.875]], +"250":[[0.125,0.3125,0.4375,0.875,0.6875,0.8125],[0.125,0.375,0.0,0.25,0.625,0.4375],[0.25,0.125,0.25,0.75,0.3125,1.0],[0.25,0.3125,0.25,0.75,0.875,0.4375],[0.25,0.3125,0.8125,0.75,0.875,1.0],[0.25,0.6875,0.4375,0.75,0.875,0.8125],[0.75,0.375,0.0,0.875,0.625,0.4375]], +"251":[[0.0,0.125,0.25,0.75,0.875,0.75],[0.1875,0.3125,0.125,0.5625,0.6875,0.25],[0.1875,0.3125,0.75,0.5625,0.6875,0.875],[0.5625,0.375,0.125,1.0,0.625,0.25],[0.5625,0.375,0.75,1.0,0.625,0.875]], +"252":[[0.0,0.375,0.125,0.8125,0.625,0.25],[0.0,0.375,0.75,0.8125,0.625,0.875],[0.25,0.125,0.25,1.0,0.875,0.75],[0.4375,0.3125,0.125,0.8125,0.375,0.25],[0.4375,0.3125,0.75,0.8125,0.375,0.875],[0.4375,0.625,0.125,0.8125,0.6875,0.25],[0.4375,0.625,0.75,0.8125,0.6875,0.875]], +"253":[[0.125,0.1875,0.3125,0.875,0.5625,0.6875],[0.125,0.5625,0.375,0.875,0.75,0.625],[0.125,0.75,0.375,0.25,1.0,0.625],[0.25,0.0,0.125,0.75,0.1875,0.875],[0.25,0.1875,0.125,0.75,0.75,0.3125],[0.25,0.1875,0.6875,0.75,0.75,0.875],[0.25,0.5625,0.3125,0.75,0.75,0.375],[0.25,0.5625,0.625,0.75,0.75,0.6875],[0.75,0.75,0.375,0.875,1.0,0.625]], +"254":[[0.125,0.0,0.25,0.875,0.75,0.75],[0.3125,0.1875,0.125,0.6875,0.5625,0.25],[0.3125,0.1875,0.75,0.6875,0.5625,0.875],[0.375,0.5625,0.125,0.625,1.0,0.25],[0.375,0.5625,0.75,0.625,1.0,0.875]], +"255":[[0.0,0.0,0.0,1.0,0.125,1.0],[0.25,0.125,0.25,0.75,0.875,0.75]], +"256":[[0.0,0.0,0.0,1.0,0.5625,1.0]], +"257":[[0.0,0.0,0.25,1.0,1.0,0.75]], +"258":[[0.25,0.0,0.0,0.75,1.0,1.0]], +"259":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.4375,0.5625,1.0,0.5625]], +"260":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.0,0.5625,0.9375,0.8125]], +"261":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.1875,0.5625,0.9375,1.0]], +"262":[[0.0,0.8125,0.4375,0.8125,0.9375,0.5625],[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875]], +"263":[[0.1875,0.8125,0.4375,1.0,0.9375,0.5625],[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875]], +"264":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.0,0.5625,0.9375,1.0]], +"265":[[0.0,0.8125,0.4375,1.0,0.9375,0.5625],[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875]], +"266":[[0.3125,0.0,0.3125,0.6875,0.4375,0.6875],[0.375,0.4375,0.375,0.625,0.5625,0.625]], +"267":[[0.3125,0.0625,0.3125,0.6875,0.5,0.6875],[0.375,0.5,0.375,0.625,0.625,0.625]], +"268":[[0.0,0.0,0.0,1.0,0.4375,1.0]], +"269":[[0.0,0.0,0.0,1.0,0.125,1.0],[0.0,0.125,0.0,0.125,1.0,1.0],[0.125,0.125,0.0,1.0,1.0,0.125],[0.125,0.125,0.875,1.0,1.0,1.0],[0.875,0.125,0.125,1.0,1.0,0.875]]}} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14/commands.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/commands.json new file mode 100644 index 00000000..e2d2cbf9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/commands.json @@ -0,0 +1,13611 @@ +{ + "root": { + "type": "root", + "name": "root", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "advancement", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "grant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "revoke", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "base", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modifier", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply_base", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "ban", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ban-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "banlist", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ips", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "visible", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "blue", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "green", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pink", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "purple", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "red", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "white", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "yellow", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "max", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ] + }, + { + "type": "literal", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "style", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "notched_10", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_12", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_20", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_6", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "progress", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "visible", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "visible", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxCount", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "clone", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "begin", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "filtered", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "datapack", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "disable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "after", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "before", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "first", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "last", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "available", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "enabled", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ] + }, + { + "type": "literal", + "name": "debug", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "report", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "start", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "defaultgamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "deop", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "difficulty", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "easy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hard", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "peaceful", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "effect", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "seconds", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amplifier", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "hideParticles", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + } + } + } + ], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "enchant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "enchantment", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "level", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_enchantment", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "execute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "align", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "axes", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:swizzle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "anchored", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "at", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "if", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "in", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "dimension", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:dimension", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "positioned", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rotated", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "rot", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "run", + "executable": false, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "store", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "result", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "success", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "unless", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "experience", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "fill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hollow", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "outline", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forceload", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "gamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "gamerule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "announceAdvancements", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "commandBlockOutput", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableElytraMovementCheck", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableRaids", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doDaylightCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doEntityDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doFireTick", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doImmediateRespawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doInsomnia", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doLimitedCrafting", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobLoot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doPatrolSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTileDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTraderSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doWeatherCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "drowningDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fallDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fireDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forgiveDeadPlayers", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "keepInventory", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "logAdminCommands", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxCommandChainLength", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxEntityCramming", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mobGriefing", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "naturalRegeneration", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "randomTickSpeed", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "reducedDebugInfo", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "sendCommandFeedback", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "showDeathMessages", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnRadius", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spectatorsGenerateChunks", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "universalAnger", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "help", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "command", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "kick", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "uuids", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "bastion_remnant", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "buried_treasure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "desert_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "endcity", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "fortress", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "igloo", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "jungle_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mansion", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mineshaft", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "monument", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "nether_fossil", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ocean_ruin", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pillager_outpost", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ruined_portal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "shipwreck", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stronghold", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "swamp_hut", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "village", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locatebiome", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "biome", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "spawn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "me", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "action", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "msg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "op", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "particle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "delta", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "speed", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:particle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "playsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ambient", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "publish", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "port", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + } + } + } + ] + }, + { + "type": "literal", + "name": "recipe", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "take", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replaceitem", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "save-all", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "flush", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "save-off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "save-on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "say", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "schedule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "scoreboard", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "objectives", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criteria", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective_criteria", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "displayname", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rendertype", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "hearts", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "integer", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setdisplay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:scoreboard_slot", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:operation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "reset", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "seed", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "setblock", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setidletimeout", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minutes", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "setworldspawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnpoint", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectate", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "player", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "spreadplayers", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "spreadDistance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxRange", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "under", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxHeight", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stopsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ambient", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "summon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity_summon", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tag", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "empty", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "join", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "leave", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "collisionRule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOwnTeam", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:color", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "deathMessageVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "displayName", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "friendlyFire", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "nametagVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "prefix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "prefix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "seeFriendlyInvisibles", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "suffix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "suffix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "teammsg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "teleport", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "tell", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tellraw", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "daytime", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "gametime", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "midnight", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "night", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "noon", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "actionbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reset", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "subtitle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "times", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeIn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "stay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeOut", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tm", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "trigger", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "w", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "rain", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "thunder", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "whitelist", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "worldborder", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "damage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "amount", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "damagePerBlock", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "buffer", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "warning", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "distance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "xp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + } + ] + }, + "parsers": [ + { + "parser": "minecraft:resource_location", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + }, + "examples": [ + "word", + "words with spaces", + "\\\" and symbols\\\"" + ] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + }, + "examples": [ + "@a" + ] + }, + { + "parser": "brigadier:double", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + }, + "examples": [ + "\\\"quoted phrase\\\"", + "word", + "" + ] + }, + { + "parser": "minecraft:uuid", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:message", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:game_profile", + "modifier": null, + "examples": [ + "Player", + "0123", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "@e" + ] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "word" + }, + "examples": [ + "word", + "word_with_underscore" + ] + }, + { + "parser": "minecraft:component", + "modifier": null, + "examples": [ + "\"hello world\"", + "\"\"", + "\"{\"text\":\"hello world\"}\"", + "[\"\"]" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + }, + "examples": [ + "1" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + }, + "examples": [ + "0", + "1" + ] + }, + { + "parser": "brigadier:bool", + "modifier": null, + "examples": [ + "true", + "false" + ] + }, + { + "parser": "minecraft:item_predicate", + "modifier": null, + "examples": [ + "stick", + "minecraft:stick", + "#stick", + "diamond_sword{ench:[{id:16,lvl:5}]}" + ] + }, + { + "parser": "minecraft:block_predicate", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "#stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:block_pos", + "modifier": null, + "examples": [ + "0 0 0", + "~ ~ ~", + "^ ^ ^", + "^1 ^ ^-5", + "~0.5 ~1 ~-5" + ] + }, + { + "parser": "minecraft:nbt_path", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_compound_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:integer", + "modifier": null, + "examples": [ + "1", + "0", + "10" + ] + }, + { + "parser": "minecraft:mob_effect", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + }, + "examples": [ + "@e", + "@e[type=cow]", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "Player" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + }, + "examples": [ + "0", + "255" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + }, + "examples": [ + "1", + "1000000" + ] + }, + { + "parser": "minecraft:item_enchantment", + "modifier": null, + "examples": [ + "unbreaking", + "minecraft:slik_touch" + ] + }, + { + "parser": "minecraft:swizzle", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_anchor", + "modifier": null, + "examples": [ + "eyes", + "feet" + ] + }, + { + "parser": "minecraft:vec3", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + }, + "examples": [] + }, + { + "parser": "minecraft:int_range", + "modifier": null, + "examples": [ + "0..5", + "0", + "-5", + "-100..", + "..100" + ] + }, + { + "parser": "minecraft:dimension", + "modifier": null, + "examples": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end", + "overworld", + "the_end", + "the_nether" + ] + }, + { + "parser": "minecraft:rotation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + }, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:block_state", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:column_pos", + "modifier": null, + "examples": [ + "0 0", + "~ ~", + "~1 ~-2", + "^ ^", + "^-1 ^0" + ] + }, + { + "parser": "minecraft:function", + "modifier": null, + "examples": [ + "foo", + "foo:bar", + "#foo" + ] + }, + { + "parser": "minecraft:item_stack", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:item_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + }, + "examples": [ + "0.0", + "0", + "1", + "0.01" + ] + }, + { + "parser": "minecraft:particle", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + }, + "examples": [ + "0.0", + "0", + "1", + "1.0", + "0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + }, + "examples": [ + "0", + "2", + "1.0", + "2.0" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + }, + "examples": [ + "0", + "65535" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + }, + "examples": [ + "1", + "64" + ] + }, + { + "parser": "minecraft:time", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective_criteria", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:scoreboard_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:operation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:angle", + "modifier": null, + "examples": [ + "0", + "~", + "~-0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + }, + "examples": [ + "1", + "1.0", + "1.000" + ] + }, + { + "parser": "minecraft:vec2", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_summon", + "modifier": null, + "examples": [ + "minecraft:pig", + "cow" + ] + }, + { + "parser": "minecraft:team", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:color", + "modifier": null, + "examples": [ + "aqua", + "black", + "blue", + "dark_aqua", + "dark_blue", + "dark_gray", + "dark_green", + "dark_purple", + "dark_red", + "gold", + "gray", + "green", + "light_purple", + "red", + "reset", + "yellow", + "white" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + }, + "examples": [ + "0", + "1000000" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + }, + "examples": [] + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14/entities.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/entities.json new file mode 100644 index 00000000..a160f0d2 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/entities.json @@ -0,0 +1,1022 @@ +[ + { + "id": 0, + "internalId": 0, + "name": "area_effect_cloud", + "displayName": "Area Effect Cloud", + "width": 6, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 1, + "internalId": 1, + "name": "armor_stand", + "displayName": "Armor Stand", + "width": 0.5, + "height": 1.975, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 2, + "internalId": 2, + "name": "arrow", + "displayName": "Arrow", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 3, + "internalId": 3, + "name": "bat", + "displayName": "Bat", + "width": 0.5, + "height": 0.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 4, + "internalId": 4, + "name": "blaze", + "displayName": "Blaze", + "width": 0.6, + "height": 1.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 5, + "internalId": 5, + "name": "boat", + "displayName": "Boat", + "width": 1.375, + "height": 0.5625, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 6, + "internalId": 6, + "name": "cat", + "displayName": "Cat", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 7, + "internalId": 7, + "name": "cave_spider", + "displayName": "Cave Spider", + "width": 0.7, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 8, + "internalId": 8, + "name": "chicken", + "displayName": "Chicken", + "width": 0.4, + "height": 0.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 9, + "internalId": 9, + "name": "cod", + "displayName": "Cod", + "width": 0.5, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 10, + "internalId": 10, + "name": "cow", + "displayName": "Cow", + "width": 0.9, + "height": 1.4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 11, + "internalId": 11, + "name": "creeper", + "displayName": "Creeper", + "width": 0.6, + "height": 1.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 12, + "internalId": 12, + "name": "donkey", + "displayName": "Donkey", + "width": 1.39648, + "height": 1.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 13, + "internalId": 13, + "name": "dolphin", + "displayName": "Dolphin", + "width": 0.9, + "height": 0.6, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 14, + "internalId": 14, + "name": "dragon_fireball", + "displayName": "Dragon Fireball", + "width": 1, + "height": 1, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 15, + "internalId": 15, + "name": "drowned", + "displayName": "Drowned", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 16, + "internalId": 16, + "name": "elder_guardian", + "displayName": "Elder Guardian", + "width": 1.9975, + "height": 1.9975, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 17, + "internalId": 17, + "name": "end_crystal", + "displayName": "End Crystal", + "width": 2, + "height": 2, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 18, + "internalId": 18, + "name": "ender_dragon", + "displayName": "Ender Dragon", + "width": 16, + "height": 8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 19, + "internalId": 19, + "name": "enderman", + "displayName": "Enderman", + "width": 0.6, + "height": 2.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 20, + "internalId": 20, + "name": "endermite", + "displayName": "Endermite", + "width": 0.4, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 21, + "internalId": 21, + "name": "evoker_fangs", + "displayName": "Evoker Fangs", + "width": 0.5, + "height": 0.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 22, + "internalId": 22, + "name": "evoker", + "displayName": "Evoker", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 23, + "internalId": 23, + "name": "experience_orb", + "displayName": "Experience Orb", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 24, + "internalId": 24, + "name": "eye_of_ender", + "displayName": "Eye of Ender", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 25, + "internalId": 25, + "name": "falling_block", + "displayName": "Falling Block", + "width": 0.98, + "height": 0.98, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 26, + "internalId": 26, + "name": "firework_rocket", + "displayName": "Firework Rocket", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 27, + "internalId": 27, + "name": "fox", + "displayName": "Fox", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 28, + "internalId": 28, + "name": "ghast", + "displayName": "Ghast", + "width": 4, + "height": 4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 29, + "internalId": 29, + "name": "giant", + "displayName": "Giant", + "width": 3.6, + "height": 12, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 30, + "internalId": 30, + "name": "guardian", + "displayName": "Guardian", + "width": 0.85, + "height": 0.85, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 31, + "internalId": 31, + "name": "horse", + "displayName": "Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 32, + "internalId": 32, + "name": "husk", + "displayName": "Husk", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 33, + "internalId": 33, + "name": "illusioner", + "displayName": "Illusioner", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 34, + "internalId": 34, + "name": "item", + "displayName": "Item", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 35, + "internalId": 35, + "name": "item_frame", + "displayName": "Item Frame", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 36, + "internalId": 36, + "name": "fireball", + "displayName": "Fireball", + "width": 1, + "height": 1, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 37, + "internalId": 37, + "name": "leash_knot", + "displayName": "Leash Knot", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 38, + "internalId": 38, + "name": "llama", + "displayName": "Llama", + "width": 0.9, + "height": 1.87, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 39, + "internalId": 39, + "name": "llama_spit", + "displayName": "Llama Spit", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 40, + "internalId": 40, + "name": "magma_cube", + "displayName": "Magma Cube", + "width": 2.04, + "height": 2.04, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 41, + "internalId": 41, + "name": "minecart", + "displayName": "Minecart", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 42, + "internalId": 42, + "name": "chest_minecart", + "displayName": "Minecart with Chest", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 43, + "internalId": 43, + "name": "command_block_minecart", + "displayName": "Minecart with Command Block", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 44, + "internalId": 44, + "name": "furnace_minecart", + "displayName": "Minecart with Furnace", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 45, + "internalId": 45, + "name": "hopper_minecart", + "displayName": "Minecart with Hopper", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 46, + "internalId": 46, + "name": "spawner_minecart", + "displayName": "Minecart with Spawner", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 47, + "internalId": 47, + "name": "tnt_minecart", + "displayName": "Minecart with TNT", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 48, + "internalId": 48, + "name": "mule", + "displayName": "Mule", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 49, + "internalId": 49, + "name": "mooshroom", + "displayName": "Mooshroom", + "width": 0.9, + "height": 1.4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 50, + "internalId": 50, + "name": "ocelot", + "displayName": "Ocelot", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 51, + "internalId": 51, + "name": "painting", + "displayName": "Painting", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 52, + "internalId": 52, + "name": "panda", + "displayName": "Panda", + "width": 1.3, + "height": 1.25, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 53, + "internalId": 53, + "name": "parrot", + "displayName": "Parrot", + "width": 0.5, + "height": 0.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 54, + "internalId": 54, + "name": "pig", + "displayName": "Pig", + "width": 0.9, + "height": 0.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 55, + "internalId": 55, + "name": "pufferfish", + "displayName": "Pufferfish", + "width": 0.7, + "height": 0.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 56, + "internalId": 56, + "name": "zombie_pigman", + "displayName": "Zombie Pigman", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 57, + "internalId": 57, + "name": "polar_bear", + "displayName": "Polar Bear", + "width": 1.4, + "height": 1.4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 58, + "internalId": 58, + "name": "tnt", + "displayName": "Primed TNT", + "width": 0.98, + "height": 0.98, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 59, + "internalId": 59, + "name": "rabbit", + "displayName": "Rabbit", + "width": 0.4, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 60, + "internalId": 60, + "name": "salmon", + "displayName": "Salmon", + "width": 0.7, + "height": 0.4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 61, + "internalId": 61, + "name": "sheep", + "displayName": "Sheep", + "width": 0.9, + "height": 1.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 62, + "internalId": 62, + "name": "shulker", + "displayName": "Shulker", + "width": 1, + "height": 1, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 63, + "internalId": 63, + "name": "shulker_bullet", + "displayName": "Shulker Bullet", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 64, + "internalId": 64, + "name": "silverfish", + "displayName": "Silverfish", + "width": 0.4, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 65, + "internalId": 65, + "name": "skeleton", + "displayName": "Skeleton", + "width": 0.6, + "height": 1.99, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 66, + "internalId": 66, + "name": "skeleton_horse", + "displayName": "Skeleton Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 67, + "internalId": 67, + "name": "slime", + "displayName": "Slime", + "width": 2.04, + "height": 2.04, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 68, + "internalId": 68, + "name": "small_fireball", + "displayName": "Small Fireball", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 69, + "internalId": 69, + "name": "snow_golem", + "displayName": "Snow Golem", + "width": 0.7, + "height": 1.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 70, + "internalId": 70, + "name": "snowball", + "displayName": "Snowball", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 71, + "internalId": 71, + "name": "spectral_arrow", + "displayName": "Spectral Arrow", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 72, + "internalId": 72, + "name": "spider", + "displayName": "Spider", + "width": 1.4, + "height": 0.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 73, + "internalId": 73, + "name": "squid", + "displayName": "Squid", + "width": 0.8, + "height": 0.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 74, + "internalId": 74, + "name": "stray", + "displayName": "Stray", + "width": 0.6, + "height": 1.99, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 75, + "internalId": 75, + "name": "trader_llama", + "displayName": "Trader Llama", + "width": 0.9, + "height": 1.87, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 76, + "internalId": 76, + "name": "tropical_fish", + "displayName": "Tropical Fish", + "width": 0.5, + "height": 0.4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 77, + "internalId": 77, + "name": "turtle", + "displayName": "Turtle", + "width": 1.2, + "height": 0.4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 78, + "internalId": 78, + "name": "egg", + "displayName": "Thrown Egg", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 79, + "internalId": 79, + "name": "ender_pearl", + "displayName": "Thrown Ender Pearl", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 80, + "internalId": 80, + "name": "experience_bottle", + "displayName": "Thrown Bottle o' Enchanting", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 81, + "internalId": 81, + "name": "potion", + "displayName": "Potion", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 82, + "internalId": 82, + "name": "trident", + "displayName": "Trident", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 83, + "internalId": 83, + "name": "vex", + "displayName": "Vex", + "width": 0.4, + "height": 0.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 84, + "internalId": 84, + "name": "villager", + "displayName": "Villager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 85, + "internalId": 85, + "name": "iron_golem", + "displayName": "Iron Golem", + "width": 1.4, + "height": 2.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 86, + "internalId": 86, + "name": "vindicator", + "displayName": "Vindicator", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 87, + "internalId": 87, + "name": "pillager", + "displayName": "Pillager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 88, + "internalId": 88, + "name": "wandering_trader", + "displayName": "Wandering Trader", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 89, + "internalId": 89, + "name": "witch", + "displayName": "Witch", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 90, + "internalId": 90, + "name": "wither", + "displayName": "Wither", + "width": 0.9, + "height": 3.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 91, + "internalId": 91, + "name": "wither_skeleton", + "displayName": "Wither Skeleton", + "width": 0.7, + "height": 2.4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 92, + "internalId": 92, + "name": "wither_skull", + "displayName": "Wither Skull", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 93, + "internalId": 93, + "name": "wolf", + "displayName": "Wolf", + "width": 0.6, + "height": 0.85, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 94, + "internalId": 94, + "name": "zombie", + "displayName": "Zombie", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 95, + "internalId": 95, + "name": "zombie_horse", + "displayName": "Zombie Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 96, + "internalId": 96, + "name": "zombie_villager", + "displayName": "Zombie Villager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 97, + "internalId": 97, + "name": "phantom", + "displayName": "Phantom", + "width": 0.9, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 98, + "internalId": 98, + "name": "ravager", + "displayName": "Ravager", + "width": 1.95, + "height": 2.2, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 99, + "internalId": 99, + "name": "lightning_bolt", + "displayName": "Lightning Bolt", + "width": 0, + "height": 0, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 100, + "internalId": 100, + "name": "player", + "displayName": "Player", + "width": 0.6, + "height": 1.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 101, + "internalId": 101, + "name": "fishing_bobber", + "displayName": "Fishing Bobber", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Hostile mobs" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14/items.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/items.json new file mode 100644 index 00000000..30e081b4 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/items.json @@ -0,0 +1,6141 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 0, + "durability": null + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64, + "durability": null + }, + { + "id": 2, + "displayName": "Granite", + "name": "granite", + "stackSize": 64, + "durability": null + }, + { + "id": 3, + "displayName": "Polished Granite", + "name": "polished_granite", + "stackSize": 64, + "durability": null + }, + { + "id": 4, + "displayName": "Diorite", + "name": "diorite", + "stackSize": 64, + "durability": null + }, + { + "id": 5, + "displayName": "Polished Diorite", + "name": "polished_diorite", + "stackSize": 64, + "durability": null + }, + { + "id": 6, + "displayName": "Andesite", + "name": "andesite", + "stackSize": 64, + "durability": null + }, + { + "id": 7, + "displayName": "Polished Andesite", + "name": "polished_andesite", + "stackSize": 64, + "durability": null + }, + { + "id": 8, + "displayName": "Grass Block", + "name": "grass_block", + "stackSize": 64, + "durability": null + }, + { + "id": 9, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64, + "durability": null + }, + { + "id": 10, + "displayName": "Coarse Dirt", + "name": "coarse_dirt", + "stackSize": 64, + "durability": null + }, + { + "id": 11, + "displayName": "Podzol", + "name": "podzol", + "stackSize": 64, + "durability": null + }, + { + "id": 12, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64, + "durability": null + }, + { + "id": 13, + "displayName": "Oak Planks", + "name": "oak_planks", + "stackSize": 64, + "durability": null + }, + { + "id": 14, + "displayName": "Spruce Planks", + "name": "spruce_planks", + "stackSize": 64, + "durability": null + }, + { + "id": 15, + "displayName": "Birch Planks", + "name": "birch_planks", + "stackSize": 64, + "durability": null + }, + { + "id": 16, + "displayName": "Jungle Planks", + "name": "jungle_planks", + "stackSize": 64, + "durability": null + }, + { + "id": 17, + "displayName": "Acacia Planks", + "name": "acacia_planks", + "stackSize": 64, + "durability": null + }, + { + "id": 18, + "displayName": "Dark Oak Planks", + "name": "dark_oak_planks", + "stackSize": 64, + "durability": null + }, + { + "id": 19, + "displayName": "Oak Sapling", + "name": "oak_sapling", + "stackSize": 64, + "durability": null + }, + { + "id": 20, + "displayName": "Spruce Sapling", + "name": "spruce_sapling", + "stackSize": 64, + "durability": null + }, + { + "id": 21, + "displayName": "Birch Sapling", + "name": "birch_sapling", + "stackSize": 64, + "durability": null + }, + { + "id": 22, + "displayName": "Jungle Sapling", + "name": "jungle_sapling", + "stackSize": 64, + "durability": null + }, + { + "id": 23, + "displayName": "Acacia Sapling", + "name": "acacia_sapling", + "stackSize": 64, + "durability": null + }, + { + "id": 24, + "displayName": "Dark Oak Sapling", + "name": "dark_oak_sapling", + "stackSize": 64, + "durability": null + }, + { + "id": 25, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64, + "durability": null + }, + { + "id": 26, + "displayName": "Sand", + "name": "sand", + "stackSize": 64, + "durability": null + }, + { + "id": 27, + "displayName": "Red Sand", + "name": "red_sand", + "stackSize": 64, + "durability": null + }, + { + "id": 28, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64, + "durability": null + }, + { + "id": 29, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64, + "durability": null + }, + { + "id": 30, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64, + "durability": null + }, + { + "id": 31, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64, + "durability": null + }, + { + "id": 32, + "displayName": "Oak Log", + "name": "oak_log", + "stackSize": 64, + "durability": null + }, + { + "id": 33, + "displayName": "Spruce Log", + "name": "spruce_log", + "stackSize": 64, + "durability": null + }, + { + "id": 34, + "displayName": "Birch Log", + "name": "birch_log", + "stackSize": 64, + "durability": null + }, + { + "id": 35, + "displayName": "Jungle Log", + "name": "jungle_log", + "stackSize": 64, + "durability": null + }, + { + "id": 36, + "displayName": "Acacia Log", + "name": "acacia_log", + "stackSize": 64, + "durability": null + }, + { + "id": 37, + "displayName": "Dark Oak Log", + "name": "dark_oak_log", + "stackSize": 64, + "durability": null + }, + { + "id": 38, + "displayName": "Stripped Oak Log", + "name": "stripped_oak_log", + "stackSize": 64, + "durability": null + }, + { + "id": 39, + "displayName": "Stripped Spruce Log", + "name": "stripped_spruce_log", + "stackSize": 64, + "durability": null + }, + { + "id": 40, + "displayName": "Stripped Birch Log", + "name": "stripped_birch_log", + "stackSize": 64, + "durability": null + }, + { + "id": 41, + "displayName": "Stripped Jungle Log", + "name": "stripped_jungle_log", + "stackSize": 64, + "durability": null + }, + { + "id": 42, + "displayName": "Stripped Acacia Log", + "name": "stripped_acacia_log", + "stackSize": 64, + "durability": null + }, + { + "id": 43, + "displayName": "Stripped Dark Oak Log", + "name": "stripped_dark_oak_log", + "stackSize": 64, + "durability": null + }, + { + "id": 44, + "displayName": "Stripped Oak Wood", + "name": "stripped_oak_wood", + "stackSize": 64, + "durability": null + }, + { + "id": 45, + "displayName": "Stripped Spruce Wood", + "name": "stripped_spruce_wood", + "stackSize": 64, + "durability": null + }, + { + "id": 46, + "displayName": "Stripped Birch Wood", + "name": "stripped_birch_wood", + "stackSize": 64, + "durability": null + }, + { + "id": 47, + "displayName": "Stripped Jungle Wood", + "name": "stripped_jungle_wood", + "stackSize": 64, + "durability": null + }, + { + "id": 48, + "displayName": "Stripped Acacia Wood", + "name": "stripped_acacia_wood", + "stackSize": 64, + "durability": null + }, + { + "id": 49, + "displayName": "Stripped Dark Oak Wood", + "name": "stripped_dark_oak_wood", + "stackSize": 64, + "durability": null + }, + { + "id": 50, + "displayName": "Oak Wood", + "name": "oak_wood", + "stackSize": 64, + "durability": null + }, + { + "id": 51, + "displayName": "Spruce Wood", + "name": "spruce_wood", + "stackSize": 64, + "durability": null + }, + { + "id": 52, + "displayName": "Birch Wood", + "name": "birch_wood", + "stackSize": 64, + "durability": null + }, + { + "id": 53, + "displayName": "Jungle Wood", + "name": "jungle_wood", + "stackSize": 64, + "durability": null + }, + { + "id": 54, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "stackSize": 64, + "durability": null + }, + { + "id": 55, + "displayName": "Dark Oak Wood", + "name": "dark_oak_wood", + "stackSize": 64, + "durability": null + }, + { + "id": 56, + "displayName": "Oak Leaves", + "name": "oak_leaves", + "stackSize": 64, + "durability": null + }, + { + "id": 57, + "displayName": "Spruce Leaves", + "name": "spruce_leaves", + "stackSize": 64, + "durability": null + }, + { + "id": 58, + "displayName": "Birch Leaves", + "name": "birch_leaves", + "stackSize": 64, + "durability": null + }, + { + "id": 59, + "displayName": "Jungle Leaves", + "name": "jungle_leaves", + "stackSize": 64, + "durability": null + }, + { + "id": 60, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "stackSize": 64, + "durability": null + }, + { + "id": 61, + "displayName": "Dark Oak Leaves", + "name": "dark_oak_leaves", + "stackSize": 64, + "durability": null + }, + { + "id": 62, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64, + "durability": null + }, + { + "id": 63, + "displayName": "Wet Sponge", + "name": "wet_sponge", + "stackSize": 64, + "durability": null + }, + { + "id": 64, + "displayName": "Glass", + "name": "glass", + "stackSize": 64, + "durability": null + }, + { + "id": 65, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "stackSize": 64, + "durability": null + }, + { + "id": 66, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "stackSize": 64, + "durability": null + }, + { + "id": 67, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64, + "durability": null + }, + { + "id": 68, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64, + "durability": null + }, + { + "id": 69, + "displayName": "Chiseled Sandstone", + "name": "chiseled_sandstone", + "stackSize": 64, + "durability": null + }, + { + "id": 70, + "displayName": "Cut Sandstone", + "name": "cut_sandstone", + "stackSize": 64, + "durability": null + }, + { + "id": 71, + "displayName": "Note Block", + "name": "note_block", + "stackSize": 64, + "durability": null + }, + { + "id": 72, + "displayName": "Powered Rail", + "name": "powered_rail", + "stackSize": 64, + "durability": null + }, + { + "id": 73, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64, + "durability": null + }, + { + "id": 74, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64, + "durability": null + }, + { + "id": 75, + "displayName": "Cobweb", + "name": "cobweb", + "stackSize": 64, + "durability": null + }, + { + "id": 76, + "displayName": "Grass", + "name": "grass", + "stackSize": 64, + "durability": null + }, + { + "id": 77, + "displayName": "Fern", + "name": "fern", + "stackSize": 64, + "durability": null + }, + { + "id": 78, + "displayName": "Dead Bush", + "name": "dead_bush", + "stackSize": 64, + "durability": null + }, + { + "id": 79, + "displayName": "Seagrass", + "name": "seagrass", + "stackSize": 64, + "durability": null + }, + { + "id": 80, + "displayName": "Sea Pickle", + "name": "sea_pickle", + "stackSize": 64, + "durability": null + }, + { + "id": 81, + "displayName": "Piston", + "name": "piston", + "stackSize": 64, + "durability": null + }, + { + "id": 82, + "displayName": "White Wool", + "name": "white_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 83, + "displayName": "Orange Wool", + "name": "orange_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 84, + "displayName": "Magenta Wool", + "name": "magenta_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 85, + "displayName": "Light Blue Wool", + "name": "light_blue_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 86, + "displayName": "Yellow Wool", + "name": "yellow_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 87, + "displayName": "Lime Wool", + "name": "lime_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 88, + "displayName": "Pink Wool", + "name": "pink_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 89, + "displayName": "Gray Wool", + "name": "gray_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 90, + "displayName": "Light Gray Wool", + "name": "light_gray_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 91, + "displayName": "Cyan Wool", + "name": "cyan_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 92, + "displayName": "Purple Wool", + "name": "purple_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 93, + "displayName": "Blue Wool", + "name": "blue_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 94, + "displayName": "Brown Wool", + "name": "brown_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 95, + "displayName": "Green Wool", + "name": "green_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 96, + "displayName": "Red Wool", + "name": "red_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 97, + "displayName": "Black Wool", + "name": "black_wool", + "stackSize": 64, + "durability": null + }, + { + "id": 98, + "displayName": "Dandelion", + "name": "dandelion", + "stackSize": 64, + "durability": null + }, + { + "id": 99, + "displayName": "Poppy", + "name": "poppy", + "stackSize": 64, + "durability": null + }, + { + "id": 100, + "displayName": "Blue Orchid", + "name": "blue_orchid", + "stackSize": 64, + "durability": null + }, + { + "id": 101, + "displayName": "Allium", + "name": "allium", + "stackSize": 64, + "durability": null + }, + { + "id": 102, + "displayName": "Azure Bluet", + "name": "azure_bluet", + "stackSize": 64, + "durability": null + }, + { + "id": 103, + "displayName": "Red Tulip", + "name": "red_tulip", + "stackSize": 64, + "durability": null + }, + { + "id": 104, + "displayName": "Orange Tulip", + "name": "orange_tulip", + "stackSize": 64, + "durability": null + }, + { + "id": 105, + "displayName": "White Tulip", + "name": "white_tulip", + "stackSize": 64, + "durability": null + }, + { + "id": 106, + "displayName": "Pink Tulip", + "name": "pink_tulip", + "stackSize": 64, + "durability": null + }, + { + "id": 107, + "displayName": "Oxeye Daisy", + "name": "oxeye_daisy", + "stackSize": 64, + "durability": null + }, + { + "id": 108, + "displayName": "Cornflower", + "name": "cornflower", + "stackSize": 64, + "durability": null + }, + { + "id": 109, + "displayName": "Lily of the Valley", + "name": "lily_of_the_valley", + "stackSize": 64, + "durability": null + }, + { + "id": 110, + "displayName": "Wither Rose", + "name": "wither_rose", + "stackSize": 64, + "durability": null + }, + { + "id": 111, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64, + "durability": null + }, + { + "id": 112, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64, + "durability": null + }, + { + "id": 113, + "displayName": "Block of Gold", + "name": "gold_block", + "stackSize": 64, + "durability": null + }, + { + "id": 114, + "displayName": "Block of Iron", + "name": "iron_block", + "stackSize": 64, + "durability": null + }, + { + "id": 115, + "displayName": "Oak Slab", + "name": "oak_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 116, + "displayName": "Spruce Slab", + "name": "spruce_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 117, + "displayName": "Birch Slab", + "name": "birch_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 118, + "displayName": "Jungle Slab", + "name": "jungle_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 119, + "displayName": "Acacia Slab", + "name": "acacia_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 120, + "displayName": "Dark Oak Slab", + "name": "dark_oak_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 121, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 122, + "displayName": "Smooth Stone Slab", + "name": "smooth_stone_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 123, + "displayName": "Sandstone Slab", + "name": "sandstone_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 124, + "displayName": "Cut Sandstone Slab", + "name": "cut_sandstone_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 125, + "displayName": "Petrified Oak Slab", + "name": "petrified_oak_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 126, + "displayName": "Cobblestone Slab", + "name": "cobblestone_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 127, + "displayName": "Brick Slab", + "name": "brick_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 128, + "displayName": "Stone Brick Slab", + "name": "stone_brick_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 129, + "displayName": "Nether Brick Slab", + "name": "nether_brick_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 130, + "displayName": "Quartz Slab", + "name": "quartz_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 131, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 132, + "displayName": "Cut Red Sandstone Slab", + "name": "cut_red_sandstone_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 133, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 134, + "displayName": "Prismarine Slab", + "name": "prismarine_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 135, + "displayName": "Prismarine Brick Slab", + "name": "prismarine_brick_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 136, + "displayName": "Dark Prismarine Slab", + "name": "dark_prismarine_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 137, + "displayName": "Smooth Quartz", + "name": "smooth_quartz", + "stackSize": 64, + "durability": null + }, + { + "id": 138, + "displayName": "Smooth Red Sandstone", + "name": "smooth_red_sandstone", + "stackSize": 64, + "durability": null + }, + { + "id": 139, + "displayName": "Smooth Sandstone", + "name": "smooth_sandstone", + "stackSize": 64, + "durability": null + }, + { + "id": 140, + "displayName": "Smooth Stone", + "name": "smooth_stone", + "stackSize": 64, + "durability": null + }, + { + "id": 141, + "displayName": "Bricks", + "name": "bricks", + "stackSize": 64, + "durability": null + }, + { + "id": 142, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64, + "durability": null + }, + { + "id": 143, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64, + "durability": null + }, + { + "id": 144, + "displayName": "Mossy Cobblestone", + "name": "mossy_cobblestone", + "stackSize": 64, + "durability": null + }, + { + "id": 145, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64, + "durability": null + }, + { + "id": 146, + "displayName": "Torch", + "name": "torch", + "stackSize": 64, + "durability": null + }, + { + "id": 147, + "displayName": "End Rod", + "name": "end_rod", + "stackSize": 64, + "durability": null + }, + { + "id": 148, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "stackSize": 64, + "durability": null + }, + { + "id": 149, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "stackSize": 64, + "durability": null + }, + { + "id": 150, + "displayName": "Purpur Block", + "name": "purpur_block", + "stackSize": 64, + "durability": null + }, + { + "id": 151, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "stackSize": 64, + "durability": null + }, + { + "id": 152, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 153, + "displayName": "Spawner", + "name": "spawner", + "stackSize": 64, + "durability": null + }, + { + "id": 154, + "displayName": "Oak Stairs", + "name": "oak_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 155, + "displayName": "Chest", + "name": "chest", + "stackSize": 64, + "durability": null + }, + { + "id": 156, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64, + "durability": null + }, + { + "id": 157, + "displayName": "Block of Diamond", + "name": "diamond_block", + "stackSize": 64, + "durability": null + }, + { + "id": 158, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64, + "durability": null + }, + { + "id": 159, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64, + "durability": null + }, + { + "id": 160, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64, + "durability": null + }, + { + "id": 161, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64, + "durability": null + }, + { + "id": 162, + "displayName": "Rail", + "name": "rail", + "stackSize": 64, + "durability": null + }, + { + "id": 163, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 164, + "displayName": "Lever", + "name": "lever", + "stackSize": 64, + "durability": null + }, + { + "id": 165, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64, + "durability": null + }, + { + "id": 166, + "displayName": "Oak Pressure Plate", + "name": "oak_pressure_plate", + "stackSize": 64, + "durability": null + }, + { + "id": 167, + "displayName": "Spruce Pressure Plate", + "name": "spruce_pressure_plate", + "stackSize": 64, + "durability": null + }, + { + "id": 168, + "displayName": "Birch Pressure Plate", + "name": "birch_pressure_plate", + "stackSize": 64, + "durability": null + }, + { + "id": 169, + "displayName": "Jungle Pressure Plate", + "name": "jungle_pressure_plate", + "stackSize": 64, + "durability": null + }, + { + "id": 170, + "displayName": "Acacia Pressure Plate", + "name": "acacia_pressure_plate", + "stackSize": 64, + "durability": null + }, + { + "id": 171, + "displayName": "Dark Oak Pressure Plate", + "name": "dark_oak_pressure_plate", + "stackSize": 64, + "durability": null + }, + { + "id": 172, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64, + "durability": null + }, + { + "id": 173, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "stackSize": 64, + "durability": null + }, + { + "id": 174, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64, + "durability": null + }, + { + "id": 175, + "displayName": "Snow", + "name": "snow", + "stackSize": 64, + "durability": null + }, + { + "id": 176, + "displayName": "Ice", + "name": "ice", + "stackSize": 64, + "durability": null + }, + { + "id": 177, + "displayName": "Snow Block", + "name": "snow_block", + "stackSize": 64, + "durability": null + }, + { + "id": 178, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64, + "durability": null + }, + { + "id": 179, + "displayName": "Clay", + "name": "clay", + "stackSize": 64, + "durability": null + }, + { + "id": 180, + "displayName": "Jukebox", + "name": "jukebox", + "stackSize": 64, + "durability": null + }, + { + "id": 181, + "displayName": "Oak Fence", + "name": "oak_fence", + "stackSize": 64, + "durability": null + }, + { + "id": 182, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "stackSize": 64, + "durability": null + }, + { + "id": 183, + "displayName": "Birch Fence", + "name": "birch_fence", + "stackSize": 64, + "durability": null + }, + { + "id": 184, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "stackSize": 64, + "durability": null + }, + { + "id": 185, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "stackSize": 64, + "durability": null + }, + { + "id": 186, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "stackSize": 64, + "durability": null + }, + { + "id": 187, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64, + "durability": null + }, + { + "id": 188, + "displayName": "Carved Pumpkin", + "name": "carved_pumpkin", + "stackSize": 64, + "durability": null + }, + { + "id": 189, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64, + "durability": null + }, + { + "id": 190, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64, + "durability": null + }, + { + "id": 191, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64, + "durability": null + }, + { + "id": 192, + "displayName": "Jack o'Lantern", + "name": "jack_o_lantern", + "stackSize": 64, + "durability": null + }, + { + "id": 193, + "displayName": "Oak Trapdoor", + "name": "oak_trapdoor", + "stackSize": 64, + "durability": null + }, + { + "id": 194, + "displayName": "Spruce Trapdoor", + "name": "spruce_trapdoor", + "stackSize": 64, + "durability": null + }, + { + "id": 195, + "displayName": "Birch Trapdoor", + "name": "birch_trapdoor", + "stackSize": 64, + "durability": null + }, + { + "id": 196, + "displayName": "Jungle Trapdoor", + "name": "jungle_trapdoor", + "stackSize": 64, + "durability": null + }, + { + "id": 197, + "displayName": "Acacia Trapdoor", + "name": "acacia_trapdoor", + "stackSize": 64, + "durability": null + }, + { + "id": 198, + "displayName": "Dark Oak Trapdoor", + "name": "dark_oak_trapdoor", + "stackSize": 64, + "durability": null + }, + { + "id": 199, + "displayName": "Infested Stone", + "name": "infested_stone", + "stackSize": 64, + "durability": null + }, + { + "id": 200, + "displayName": "Infested Cobblestone", + "name": "infested_cobblestone", + "stackSize": 64, + "durability": null + }, + { + "id": 201, + "displayName": "Infested Stone Bricks", + "name": "infested_stone_bricks", + "stackSize": 64, + "durability": null + }, + { + "id": 202, + "displayName": "Infested Mossy Stone Bricks", + "name": "infested_mossy_stone_bricks", + "stackSize": 64, + "durability": null + }, + { + "id": 203, + "displayName": "Infested Cracked Stone Bricks", + "name": "infested_cracked_stone_bricks", + "stackSize": 64, + "durability": null + }, + { + "id": 204, + "displayName": "Infested Chiseled Stone Bricks", + "name": "infested_chiseled_stone_bricks", + "stackSize": 64, + "durability": null + }, + { + "id": 205, + "displayName": "Stone Bricks", + "name": "stone_bricks", + "stackSize": 64, + "durability": null + }, + { + "id": 206, + "displayName": "Mossy Stone Bricks", + "name": "mossy_stone_bricks", + "stackSize": 64, + "durability": null + }, + { + "id": 207, + "displayName": "Cracked Stone Bricks", + "name": "cracked_stone_bricks", + "stackSize": 64, + "durability": null + }, + { + "id": 208, + "displayName": "Chiseled Stone Bricks", + "name": "chiseled_stone_bricks", + "stackSize": 64, + "durability": null + }, + { + "id": 209, + "displayName": "Brown Mushroom Block", + "name": "brown_mushroom_block", + "stackSize": 64, + "durability": null + }, + { + "id": 210, + "displayName": "Red Mushroom Block", + "name": "red_mushroom_block", + "stackSize": 64, + "durability": null + }, + { + "id": 211, + "displayName": "Mushroom Stem", + "name": "mushroom_stem", + "stackSize": 64, + "durability": null + }, + { + "id": 212, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64, + "durability": null + }, + { + "id": 213, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 214, + "displayName": "Melon", + "name": "melon", + "stackSize": 64, + "durability": null + }, + { + "id": 215, + "displayName": "Vines", + "name": "vine", + "stackSize": 64, + "durability": null + }, + { + "id": 216, + "displayName": "Oak Fence Gate", + "name": "oak_fence_gate", + "stackSize": 64, + "durability": null + }, + { + "id": 217, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64, + "durability": null + }, + { + "id": 218, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64, + "durability": null + }, + { + "id": 219, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64, + "durability": null + }, + { + "id": 220, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64, + "durability": null + }, + { + "id": 221, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64, + "durability": null + }, + { + "id": 222, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 223, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 224, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64, + "durability": null + }, + { + "id": 225, + "displayName": "Lily Pad", + "name": "lily_pad", + "stackSize": 64, + "durability": null + }, + { + "id": 226, + "displayName": "Nether Bricks", + "name": "nether_bricks", + "stackSize": 64, + "durability": null + }, + { + "id": 227, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64, + "durability": null + }, + { + "id": 228, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 229, + "displayName": "Enchanting Table", + "name": "enchanting_table", + "stackSize": 64, + "durability": null + }, + { + "id": 230, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "stackSize": 64, + "durability": null + }, + { + "id": 231, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64, + "durability": null + }, + { + "id": 232, + "displayName": "End Stone Bricks", + "name": "end_stone_bricks", + "stackSize": 64, + "durability": null + }, + { + "id": 233, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 234, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "stackSize": 64, + "durability": null + }, + { + "id": 235, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 236, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64, + "durability": null + }, + { + "id": 237, + "displayName": "Ender Chest", + "name": "ender_chest", + "stackSize": 64, + "durability": null + }, + { + "id": 238, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64, + "durability": null + }, + { + "id": 239, + "displayName": "Block of Emerald", + "name": "emerald_block", + "stackSize": 64, + "durability": null + }, + { + "id": 240, + "displayName": "Spruce Stairs", + "name": "spruce_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 241, + "displayName": "Birch Stairs", + "name": "birch_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 242, + "displayName": "Jungle Stairs", + "name": "jungle_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 243, + "displayName": "Command Block", + "name": "command_block", + "stackSize": 64, + "durability": null + }, + { + "id": 244, + "displayName": "Beacon", + "name": "beacon", + "stackSize": 64, + "durability": null + }, + { + "id": 245, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64, + "durability": null + }, + { + "id": 246, + "displayName": "Mossy Cobblestone Wall", + "name": "mossy_cobblestone_wall", + "stackSize": 64, + "durability": null + }, + { + "id": 247, + "displayName": "Brick Wall", + "name": "brick_wall", + "stackSize": 64, + "durability": null + }, + { + "id": 248, + "displayName": "Prismarine Wall", + "name": "prismarine_wall", + "stackSize": 64, + "durability": null + }, + { + "id": 249, + "displayName": "Red Sandstone Wall", + "name": "red_sandstone_wall", + "stackSize": 64, + "durability": null + }, + { + "id": 250, + "displayName": "Mossy Stone Brick Wall", + "name": "mossy_stone_brick_wall", + "stackSize": 64, + "durability": null + }, + { + "id": 251, + "displayName": "Granite Wall", + "name": "granite_wall", + "stackSize": 64, + "durability": null + }, + { + "id": 252, + "displayName": "Stone Brick Wall", + "name": "stone_brick_wall", + "stackSize": 64, + "durability": null + }, + { + "id": 253, + "displayName": "Nether Brick Wall", + "name": "nether_brick_wall", + "stackSize": 64, + "durability": null + }, + { + "id": 254, + "displayName": "Andesite Wall", + "name": "andesite_wall", + "stackSize": 64, + "durability": null + }, + { + "id": 255, + "displayName": "Red Nether Brick Wall", + "name": "red_nether_brick_wall", + "stackSize": 64, + "durability": null + }, + { + "id": 256, + "displayName": "Sandstone Wall", + "name": "sandstone_wall", + "stackSize": 64, + "durability": null + }, + { + "id": 257, + "displayName": "End Stone Brick Wall", + "name": "end_stone_brick_wall", + "stackSize": 64, + "durability": null + }, + { + "id": 258, + "displayName": "Diorite Wall", + "name": "diorite_wall", + "stackSize": 64, + "durability": null + }, + { + "id": 259, + "displayName": "Oak Button", + "name": "oak_button", + "stackSize": 64, + "durability": null + }, + { + "id": 260, + "displayName": "Spruce Button", + "name": "spruce_button", + "stackSize": 64, + "durability": null + }, + { + "id": 261, + "displayName": "Birch Button", + "name": "birch_button", + "stackSize": 64, + "durability": null + }, + { + "id": 262, + "displayName": "Jungle Button", + "name": "jungle_button", + "stackSize": 64, + "durability": null + }, + { + "id": 263, + "displayName": "Acacia Button", + "name": "acacia_button", + "stackSize": 64, + "durability": null + }, + { + "id": 264, + "displayName": "Dark Oak Button", + "name": "dark_oak_button", + "stackSize": 64, + "durability": null + }, + { + "id": 265, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64, + "durability": null + }, + { + "id": 266, + "displayName": "Chipped Anvil", + "name": "chipped_anvil", + "stackSize": 64, + "durability": null + }, + { + "id": 267, + "displayName": "Damaged Anvil", + "name": "damaged_anvil", + "stackSize": 64, + "durability": null + }, + { + "id": 268, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64, + "durability": null + }, + { + "id": 269, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "stackSize": 64, + "durability": null + }, + { + "id": 270, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "stackSize": 64, + "durability": null + }, + { + "id": 271, + "displayName": "Daylight Detector", + "name": "daylight_detector", + "stackSize": 64, + "durability": null + }, + { + "id": 272, + "displayName": "Block of Redstone", + "name": "redstone_block", + "stackSize": 64, + "durability": null + }, + { + "id": 273, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "stackSize": 64, + "durability": null + }, + { + "id": 274, + "displayName": "Hopper", + "name": "hopper", + "stackSize": 64, + "durability": null + }, + { + "id": 275, + "displayName": "Chiseled Quartz Block", + "name": "chiseled_quartz_block", + "stackSize": 64, + "durability": null + }, + { + "id": 276, + "displayName": "Block of Quartz", + "name": "quartz_block", + "stackSize": 64, + "durability": null + }, + { + "id": 277, + "displayName": "Quartz Pillar", + "name": "quartz_pillar", + "stackSize": 64, + "durability": null + }, + { + "id": 278, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 279, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64, + "durability": null + }, + { + "id": 280, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64, + "durability": null + }, + { + "id": 281, + "displayName": "White Terracotta", + "name": "white_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 282, + "displayName": "Orange Terracotta", + "name": "orange_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 283, + "displayName": "Magenta Terracotta", + "name": "magenta_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 284, + "displayName": "Light Blue Terracotta", + "name": "light_blue_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 285, + "displayName": "Yellow Terracotta", + "name": "yellow_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 286, + "displayName": "Lime Terracotta", + "name": "lime_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 287, + "displayName": "Pink Terracotta", + "name": "pink_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 288, + "displayName": "Gray Terracotta", + "name": "gray_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 289, + "displayName": "Light Gray Terracotta", + "name": "light_gray_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 290, + "displayName": "Cyan Terracotta", + "name": "cyan_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 291, + "displayName": "Purple Terracotta", + "name": "purple_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 292, + "displayName": "Blue Terracotta", + "name": "blue_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 293, + "displayName": "Brown Terracotta", + "name": "brown_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 294, + "displayName": "Green Terracotta", + "name": "green_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 295, + "displayName": "Red Terracotta", + "name": "red_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 296, + "displayName": "Black Terracotta", + "name": "black_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 297, + "displayName": "Barrier", + "name": "barrier", + "stackSize": 64, + "durability": null + }, + { + "id": 298, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64, + "durability": null + }, + { + "id": 299, + "displayName": "Hay Bale", + "name": "hay_block", + "stackSize": 64, + "durability": null + }, + { + "id": 300, + "displayName": "White Carpet", + "name": "white_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 301, + "displayName": "Orange Carpet", + "name": "orange_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 302, + "displayName": "Magenta Carpet", + "name": "magenta_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 303, + "displayName": "Light Blue Carpet", + "name": "light_blue_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 304, + "displayName": "Yellow Carpet", + "name": "yellow_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 305, + "displayName": "Lime Carpet", + "name": "lime_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 306, + "displayName": "Pink Carpet", + "name": "pink_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 307, + "displayName": "Gray Carpet", + "name": "gray_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 308, + "displayName": "Light Gray Carpet", + "name": "light_gray_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 309, + "displayName": "Cyan Carpet", + "name": "cyan_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 310, + "displayName": "Purple Carpet", + "name": "purple_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 311, + "displayName": "Blue Carpet", + "name": "blue_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 312, + "displayName": "Brown Carpet", + "name": "brown_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 313, + "displayName": "Green Carpet", + "name": "green_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 314, + "displayName": "Red Carpet", + "name": "red_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 315, + "displayName": "Black Carpet", + "name": "black_carpet", + "stackSize": 64, + "durability": null + }, + { + "id": 316, + "displayName": "Terracotta", + "name": "terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 317, + "displayName": "Block of Coal", + "name": "coal_block", + "stackSize": 64, + "durability": null + }, + { + "id": 318, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64, + "durability": null + }, + { + "id": 319, + "displayName": "Acacia Stairs", + "name": "acacia_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 320, + "displayName": "Dark Oak Stairs", + "name": "dark_oak_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 321, + "displayName": "Slime Block", + "name": "slime_block", + "stackSize": 64, + "durability": null + }, + { + "id": 322, + "displayName": "Grass Path", + "name": "grass_path", + "stackSize": 64, + "durability": null + }, + { + "id": 323, + "displayName": "Sunflower", + "name": "sunflower", + "stackSize": 64, + "durability": null + }, + { + "id": 324, + "displayName": "Lilac", + "name": "lilac", + "stackSize": 64, + "durability": null + }, + { + "id": 325, + "displayName": "Rose Bush", + "name": "rose_bush", + "stackSize": 64, + "durability": null + }, + { + "id": 326, + "displayName": "Peony", + "name": "peony", + "stackSize": 64, + "durability": null + }, + { + "id": 327, + "displayName": "Tall Grass", + "name": "tall_grass", + "stackSize": 64, + "durability": null + }, + { + "id": 328, + "displayName": "Large Fern", + "name": "large_fern", + "stackSize": 64, + "durability": null + }, + { + "id": 329, + "displayName": "White Stained Glass", + "name": "white_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 330, + "displayName": "Orange Stained Glass", + "name": "orange_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 331, + "displayName": "Magenta Stained Glass", + "name": "magenta_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 332, + "displayName": "Light Blue Stained Glass", + "name": "light_blue_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 333, + "displayName": "Yellow Stained Glass", + "name": "yellow_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 334, + "displayName": "Lime Stained Glass", + "name": "lime_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 335, + "displayName": "Pink Stained Glass", + "name": "pink_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 336, + "displayName": "Gray Stained Glass", + "name": "gray_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 337, + "displayName": "Light Gray Stained Glass", + "name": "light_gray_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 338, + "displayName": "Cyan Stained Glass", + "name": "cyan_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 339, + "displayName": "Purple Stained Glass", + "name": "purple_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 340, + "displayName": "Blue Stained Glass", + "name": "blue_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 341, + "displayName": "Brown Stained Glass", + "name": "brown_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 342, + "displayName": "Green Stained Glass", + "name": "green_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 343, + "displayName": "Red Stained Glass", + "name": "red_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 344, + "displayName": "Black Stained Glass", + "name": "black_stained_glass", + "stackSize": 64, + "durability": null + }, + { + "id": 345, + "displayName": "White Stained Glass Pane", + "name": "white_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 346, + "displayName": "Orange Stained Glass Pane", + "name": "orange_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 347, + "displayName": "Magenta Stained Glass Pane", + "name": "magenta_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 348, + "displayName": "Light Blue Stained Glass Pane", + "name": "light_blue_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 349, + "displayName": "Yellow Stained Glass Pane", + "name": "yellow_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 350, + "displayName": "Lime Stained Glass Pane", + "name": "lime_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 351, + "displayName": "Pink Stained Glass Pane", + "name": "pink_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 352, + "displayName": "Gray Stained Glass Pane", + "name": "gray_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 353, + "displayName": "Light Gray Stained Glass Pane", + "name": "light_gray_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 354, + "displayName": "Cyan Stained Glass Pane", + "name": "cyan_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 355, + "displayName": "Purple Stained Glass Pane", + "name": "purple_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 356, + "displayName": "Blue Stained Glass Pane", + "name": "blue_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 357, + "displayName": "Brown Stained Glass Pane", + "name": "brown_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 358, + "displayName": "Green Stained Glass Pane", + "name": "green_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 359, + "displayName": "Red Stained Glass Pane", + "name": "red_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 360, + "displayName": "Black Stained Glass Pane", + "name": "black_stained_glass_pane", + "stackSize": 64, + "durability": null + }, + { + "id": 361, + "displayName": "Prismarine", + "name": "prismarine", + "stackSize": 64, + "durability": null + }, + { + "id": 362, + "displayName": "Prismarine Bricks", + "name": "prismarine_bricks", + "stackSize": 64, + "durability": null + }, + { + "id": 363, + "displayName": "Dark Prismarine", + "name": "dark_prismarine", + "stackSize": 64, + "durability": null + }, + { + "id": 364, + "displayName": "Prismarine Stairs", + "name": "prismarine_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 365, + "displayName": "Prismarine Brick Stairs", + "name": "prismarine_brick_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 366, + "displayName": "Dark Prismarine Stairs", + "name": "dark_prismarine_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 367, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "stackSize": 64, + "durability": null + }, + { + "id": 368, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "stackSize": 64, + "durability": null + }, + { + "id": 369, + "displayName": "Chiseled Red Sandstone", + "name": "chiseled_red_sandstone", + "stackSize": 64, + "durability": null + }, + { + "id": 370, + "displayName": "Cut Red Sandstone", + "name": "cut_red_sandstone", + "stackSize": 64, + "durability": null + }, + { + "id": 371, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 372, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "stackSize": 64, + "durability": null + }, + { + "id": 373, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "stackSize": 64, + "durability": null + }, + { + "id": 374, + "displayName": "Magma Block", + "name": "magma_block", + "stackSize": 64, + "durability": null + }, + { + "id": 375, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "stackSize": 64, + "durability": null + }, + { + "id": 376, + "displayName": "Red Nether Bricks", + "name": "red_nether_bricks", + "stackSize": 64, + "durability": null + }, + { + "id": 377, + "displayName": "Bone Block", + "name": "bone_block", + "stackSize": 64, + "durability": null + }, + { + "id": 378, + "displayName": "Structure Void", + "name": "structure_void", + "stackSize": 64, + "durability": null + }, + { + "id": 379, + "displayName": "Observer", + "name": "observer", + "stackSize": 64, + "durability": null + }, + { + "id": 380, + "displayName": "Shulker Box", + "name": "shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 381, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 382, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 383, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 384, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 385, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 386, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 387, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 388, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 389, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 390, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 391, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 392, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 393, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 394, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 395, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 396, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "stackSize": 1, + "durability": null + }, + { + "id": 397, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 398, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 399, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 400, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 401, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 402, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 403, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 404, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 405, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 406, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 407, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 408, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 409, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 410, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 411, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 412, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "stackSize": 64, + "durability": null + }, + { + "id": 413, + "displayName": "White Concrete", + "name": "white_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 414, + "displayName": "Orange Concrete", + "name": "orange_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 415, + "displayName": "Magenta Concrete", + "name": "magenta_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 416, + "displayName": "Light Blue Concrete", + "name": "light_blue_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 417, + "displayName": "Yellow Concrete", + "name": "yellow_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 418, + "displayName": "Lime Concrete", + "name": "lime_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 419, + "displayName": "Pink Concrete", + "name": "pink_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 420, + "displayName": "Gray Concrete", + "name": "gray_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 421, + "displayName": "Light Gray Concrete", + "name": "light_gray_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 422, + "displayName": "Cyan Concrete", + "name": "cyan_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 423, + "displayName": "Purple Concrete", + "name": "purple_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 424, + "displayName": "Blue Concrete", + "name": "blue_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 425, + "displayName": "Brown Concrete", + "name": "brown_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 426, + "displayName": "Green Concrete", + "name": "green_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 427, + "displayName": "Red Concrete", + "name": "red_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 428, + "displayName": "Black Concrete", + "name": "black_concrete", + "stackSize": 64, + "durability": null + }, + { + "id": 429, + "displayName": "White Concrete Powder", + "name": "white_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 430, + "displayName": "Orange Concrete Powder", + "name": "orange_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 431, + "displayName": "Magenta Concrete Powder", + "name": "magenta_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 432, + "displayName": "Light Blue Concrete Powder", + "name": "light_blue_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 433, + "displayName": "Yellow Concrete Powder", + "name": "yellow_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 434, + "displayName": "Lime Concrete Powder", + "name": "lime_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 435, + "displayName": "Pink Concrete Powder", + "name": "pink_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 436, + "displayName": "Gray Concrete Powder", + "name": "gray_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 437, + "displayName": "Light Gray Concrete Powder", + "name": "light_gray_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 438, + "displayName": "Cyan Concrete Powder", + "name": "cyan_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 439, + "displayName": "Purple Concrete Powder", + "name": "purple_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 440, + "displayName": "Blue Concrete Powder", + "name": "blue_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 441, + "displayName": "Brown Concrete Powder", + "name": "brown_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 442, + "displayName": "Green Concrete Powder", + "name": "green_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 443, + "displayName": "Red Concrete Powder", + "name": "red_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 444, + "displayName": "Black Concrete Powder", + "name": "black_concrete_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 445, + "displayName": "Turtle Egg", + "name": "turtle_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 446, + "displayName": "Dead Tube Coral Block", + "name": "dead_tube_coral_block", + "stackSize": 64, + "durability": null + }, + { + "id": 447, + "displayName": "Dead Brain Coral Block", + "name": "dead_brain_coral_block", + "stackSize": 64, + "durability": null + }, + { + "id": 448, + "displayName": "Dead Bubble Coral Block", + "name": "dead_bubble_coral_block", + "stackSize": 64, + "durability": null + }, + { + "id": 449, + "displayName": "Dead Fire Coral Block", + "name": "dead_fire_coral_block", + "stackSize": 64, + "durability": null + }, + { + "id": 450, + "displayName": "Dead Horn Coral Block", + "name": "dead_horn_coral_block", + "stackSize": 64, + "durability": null + }, + { + "id": 451, + "displayName": "Tube Coral Block", + "name": "tube_coral_block", + "stackSize": 64, + "durability": null + }, + { + "id": 452, + "displayName": "Brain Coral Block", + "name": "brain_coral_block", + "stackSize": 64, + "durability": null + }, + { + "id": 453, + "displayName": "Bubble Coral Block", + "name": "bubble_coral_block", + "stackSize": 64, + "durability": null + }, + { + "id": 454, + "displayName": "Fire Coral Block", + "name": "fire_coral_block", + "stackSize": 64, + "durability": null + }, + { + "id": 455, + "displayName": "Horn Coral Block", + "name": "horn_coral_block", + "stackSize": 64, + "durability": null + }, + { + "id": 456, + "displayName": "Tube Coral", + "name": "tube_coral", + "stackSize": 64, + "durability": null + }, + { + "id": 457, + "displayName": "Brain Coral", + "name": "brain_coral", + "stackSize": 64, + "durability": null + }, + { + "id": 458, + "displayName": "Bubble Coral", + "name": "bubble_coral", + "stackSize": 64, + "durability": null + }, + { + "id": 459, + "displayName": "Fire Coral", + "name": "fire_coral", + "stackSize": 64, + "durability": null + }, + { + "id": 460, + "displayName": "Horn Coral", + "name": "horn_coral", + "stackSize": 64, + "durability": null + }, + { + "id": 461, + "displayName": "Dead Brain Coral", + "name": "dead_brain_coral", + "stackSize": 64, + "durability": null + }, + { + "id": 462, + "displayName": "Dead Bubble Coral", + "name": "dead_bubble_coral", + "stackSize": 64, + "durability": null + }, + { + "id": 463, + "displayName": "Dead Fire Coral", + "name": "dead_fire_coral", + "stackSize": 64, + "durability": null + }, + { + "id": 464, + "displayName": "Dead Horn Coral", + "name": "dead_horn_coral", + "stackSize": 64, + "durability": null + }, + { + "id": 465, + "displayName": "Dead Tube Coral", + "name": "dead_tube_coral", + "stackSize": 64, + "durability": null + }, + { + "id": 466, + "displayName": "Tube Coral Fan", + "name": "tube_coral_fan", + "stackSize": 64, + "durability": null + }, + { + "id": 467, + "displayName": "Brain Coral Fan", + "name": "brain_coral_fan", + "stackSize": 64, + "durability": null + }, + { + "id": 468, + "displayName": "Bubble Coral Fan", + "name": "bubble_coral_fan", + "stackSize": 64, + "durability": null + }, + { + "id": 469, + "displayName": "Fire Coral Fan", + "name": "fire_coral_fan", + "stackSize": 64, + "durability": null + }, + { + "id": 470, + "displayName": "Horn Coral Fan", + "name": "horn_coral_fan", + "stackSize": 64, + "durability": null + }, + { + "id": 471, + "displayName": "Dead Tube Coral Fan", + "name": "dead_tube_coral_fan", + "stackSize": 64, + "durability": null + }, + { + "id": 472, + "displayName": "Dead Brain Coral Fan", + "name": "dead_brain_coral_fan", + "stackSize": 64, + "durability": null + }, + { + "id": 473, + "displayName": "Dead Bubble Coral Fan", + "name": "dead_bubble_coral_fan", + "stackSize": 64, + "durability": null + }, + { + "id": 474, + "displayName": "Dead Fire Coral Fan", + "name": "dead_fire_coral_fan", + "stackSize": 64, + "durability": null + }, + { + "id": 475, + "displayName": "Dead Horn Coral Fan", + "name": "dead_horn_coral_fan", + "stackSize": 64, + "durability": null + }, + { + "id": 476, + "displayName": "Blue Ice", + "name": "blue_ice", + "stackSize": 64, + "durability": null + }, + { + "id": 477, + "displayName": "Conduit", + "name": "conduit", + "stackSize": 64, + "durability": null + }, + { + "id": 478, + "displayName": "Polished Granite Stairs", + "name": "polished_granite_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 479, + "displayName": "Smooth Red Sandstone Stairs", + "name": "smooth_red_sandstone_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 480, + "displayName": "Mossy Stone Brick Stairs", + "name": "mossy_stone_brick_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 481, + "displayName": "Polished Diorite Stairs", + "name": "polished_diorite_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 482, + "displayName": "Mossy Cobblestone Stairs", + "name": "mossy_cobblestone_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 483, + "displayName": "End Stone Brick Stairs", + "name": "end_stone_brick_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 484, + "displayName": "Stone Stairs", + "name": "stone_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 485, + "displayName": "Smooth Sandstone Stairs", + "name": "smooth_sandstone_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 486, + "displayName": "Smooth Quartz Stairs", + "name": "smooth_quartz_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 487, + "displayName": "Granite Stairs", + "name": "granite_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 488, + "displayName": "Andesite Stairs", + "name": "andesite_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 489, + "displayName": "Red Nether Brick Stairs", + "name": "red_nether_brick_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 490, + "displayName": "Polished Andesite Stairs", + "name": "polished_andesite_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 491, + "displayName": "Diorite Stairs", + "name": "diorite_stairs", + "stackSize": 64, + "durability": null + }, + { + "id": 492, + "displayName": "Polished Granite Slab", + "name": "polished_granite_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 493, + "displayName": "Smooth Red Sandstone Slab", + "name": "smooth_red_sandstone_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 494, + "displayName": "Mossy Stone Brick Slab", + "name": "mossy_stone_brick_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 495, + "displayName": "Polished Diorite Slab", + "name": "polished_diorite_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 496, + "displayName": "Mossy Cobblestone Slab", + "name": "mossy_cobblestone_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 497, + "displayName": "End Stone Brick Slab", + "name": "end_stone_brick_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 498, + "displayName": "Smooth Sandstone Slab", + "name": "smooth_sandstone_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 499, + "displayName": "Smooth Quartz Slab", + "name": "smooth_quartz_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 500, + "displayName": "Granite Slab", + "name": "granite_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 501, + "displayName": "Andesite Slab", + "name": "andesite_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 502, + "displayName": "Red Nether Brick Slab", + "name": "red_nether_brick_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 503, + "displayName": "Polished Andesite Slab", + "name": "polished_andesite_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 504, + "displayName": "Diorite Slab", + "name": "diorite_slab", + "stackSize": 64, + "durability": null + }, + { + "id": 505, + "displayName": "Scaffolding", + "name": "scaffolding", + "stackSize": 64, + "durability": null + }, + { + "id": 506, + "displayName": "Iron Door", + "name": "iron_door", + "stackSize": 64, + "durability": null + }, + { + "id": 507, + "displayName": "Oak Door", + "name": "oak_door", + "stackSize": 64, + "durability": null + }, + { + "id": 508, + "displayName": "Spruce Door", + "name": "spruce_door", + "stackSize": 64, + "durability": null + }, + { + "id": 509, + "displayName": "Birch Door", + "name": "birch_door", + "stackSize": 64, + "durability": null + }, + { + "id": 510, + "displayName": "Jungle Door", + "name": "jungle_door", + "stackSize": 64, + "durability": null + }, + { + "id": 511, + "displayName": "Acacia Door", + "name": "acacia_door", + "stackSize": 64, + "durability": null + }, + { + "id": 512, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "stackSize": 64, + "durability": null + }, + { + "id": 513, + "displayName": "Redstone Repeater", + "name": "repeater", + "stackSize": 64, + "durability": null + }, + { + "id": 514, + "displayName": "Redstone Comparator", + "name": "comparator", + "stackSize": 64, + "durability": null + }, + { + "id": 515, + "displayName": "Structure Block", + "name": "structure_block", + "stackSize": 64, + "durability": null + }, + { + "id": 516, + "displayName": "Jigsaw Block", + "name": "jigsaw", + "stackSize": 64, + "durability": null + }, + { + "id": 517, + "displayName": "Composter", + "name": "composter", + "stackSize": 64, + "durability": null + }, + { + "id": 518, + "displayName": "Turtle Shell", + "name": "turtle_helmet", + "stackSize": 1, + "durability": null + }, + { + "id": 519, + "displayName": "Scute", + "name": "scute", + "stackSize": 64, + "durability": null + }, + { + "id": 520, + "displayName": "Iron Shovel", + "name": "iron_shovel", + "stackSize": 1, + "durability": 250 + }, + { + "id": 521, + "displayName": "Iron Pickaxe", + "name": "iron_pickaxe", + "stackSize": 1, + "durability": 250 + }, + { + "id": 522, + "displayName": "Iron Axe", + "name": "iron_axe", + "stackSize": 1, + "durability": 250 + }, + { + "id": 523, + "displayName": "Flint and Steel", + "name": "flint_and_steel", + "stackSize": 1, + "durability": 64 + }, + { + "id": 524, + "displayName": "Apple", + "name": "apple", + "stackSize": 64, + "durability": null + }, + { + "id": 525, + "displayName": "Bow", + "name": "bow", + "stackSize": 1, + "durability": 384 + }, + { + "id": 526, + "displayName": "Arrow", + "name": "arrow", + "stackSize": 64, + "durability": null + }, + { + "id": 527, + "displayName": "Coal", + "name": "coal", + "stackSize": 64, + "durability": null + }, + { + "id": 528, + "displayName": "Charcoal", + "name": "charcoal", + "stackSize": 64, + "durability": null + }, + { + "id": 529, + "displayName": "Diamond", + "name": "diamond", + "stackSize": 64, + "durability": null + }, + { + "id": 530, + "displayName": "Iron Ingot", + "name": "iron_ingot", + "stackSize": 64, + "durability": null + }, + { + "id": 531, + "displayName": "Gold Ingot", + "name": "gold_ingot", + "stackSize": 64, + "durability": null + }, + { + "id": 532, + "displayName": "Iron Sword", + "name": "iron_sword", + "stackSize": 1, + "durability": 250 + }, + { + "id": 533, + "displayName": "Wooden Sword", + "name": "wooden_sword", + "stackSize": 1, + "durability": 59 + }, + { + "id": 534, + "displayName": "Wooden Shovel", + "name": "wooden_shovel", + "stackSize": 1, + "durability": 59 + }, + { + "id": 535, + "displayName": "Wooden Pickaxe", + "name": "wooden_pickaxe", + "stackSize": 1, + "durability": 59 + }, + { + "id": 536, + "displayName": "Wooden Axe", + "name": "wooden_axe", + "stackSize": 1, + "durability": 59 + }, + { + "id": 537, + "displayName": "Stone Sword", + "name": "stone_sword", + "stackSize": 1, + "durability": 131 + }, + { + "id": 538, + "displayName": "Stone Shovel", + "name": "stone_shovel", + "stackSize": 1, + "durability": 131 + }, + { + "id": 539, + "displayName": "Stone Pickaxe", + "name": "stone_pickaxe", + "stackSize": 1, + "durability": 131 + }, + { + "id": 540, + "displayName": "Stone Axe", + "name": "stone_axe", + "stackSize": 1, + "durability": 131 + }, + { + "id": 541, + "displayName": "Diamond Sword", + "name": "diamond_sword", + "stackSize": 1, + "durability": 1561 + }, + { + "id": 542, + "displayName": "Diamond Shovel", + "name": "diamond_shovel", + "stackSize": 1, + "durability": 1561 + }, + { + "id": 543, + "displayName": "Diamond Pickaxe", + "name": "diamond_pickaxe", + "stackSize": 1, + "durability": 1561 + }, + { + "id": 544, + "displayName": "Diamond Axe", + "name": "diamond_axe", + "stackSize": 1, + "durability": 1561 + }, + { + "id": 545, + "displayName": "Stick", + "name": "stick", + "stackSize": 64, + "durability": null + }, + { + "id": 546, + "displayName": "Bowl", + "name": "bowl", + "stackSize": 64, + "durability": null + }, + { + "id": 547, + "displayName": "Mushroom Stew", + "name": "mushroom_stew", + "stackSize": 1, + "durability": null + }, + { + "id": 548, + "displayName": "Golden Sword", + "name": "golden_sword", + "stackSize": 1, + "durability": 32 + }, + { + "id": 549, + "displayName": "Golden Shovel", + "name": "golden_shovel", + "stackSize": 1, + "durability": 32 + }, + { + "id": 550, + "displayName": "Golden Pickaxe", + "name": "golden_pickaxe", + "stackSize": 1, + "durability": 32 + }, + { + "id": 551, + "displayName": "Golden Axe", + "name": "golden_axe", + "stackSize": 1, + "durability": 32 + }, + { + "id": 552, + "displayName": "String", + "name": "string", + "stackSize": 64, + "durability": null + }, + { + "id": 553, + "displayName": "Feather", + "name": "feather", + "stackSize": 64, + "durability": null + }, + { + "id": 554, + "displayName": "Gunpowder", + "name": "gunpowder", + "stackSize": 64, + "durability": null + }, + { + "id": 555, + "displayName": "Wooden Hoe", + "name": "wooden_hoe", + "stackSize": 1, + "durability": 59 + }, + { + "id": 556, + "displayName": "Stone Hoe", + "name": "stone_hoe", + "stackSize": 1, + "durability": 131 + }, + { + "id": 557, + "displayName": "Iron Hoe", + "name": "iron_hoe", + "stackSize": 1, + "durability": 250 + }, + { + "id": 558, + "displayName": "Diamond Hoe", + "name": "diamond_hoe", + "stackSize": 1, + "durability": 1561 + }, + { + "id": 559, + "displayName": "Golden Hoe", + "name": "golden_hoe", + "stackSize": 1, + "durability": 32 + }, + { + "id": 560, + "displayName": "Wheat Seeds", + "name": "wheat_seeds", + "stackSize": 64, + "durability": null + }, + { + "id": 561, + "displayName": "Wheat", + "name": "wheat", + "stackSize": 64, + "durability": null + }, + { + "id": 562, + "displayName": "Bread", + "name": "bread", + "stackSize": 64, + "durability": null + }, + { + "id": 563, + "displayName": "Leather Cap", + "name": "leather_helmet", + "stackSize": 1, + "durability": 55 + }, + { + "id": 564, + "displayName": "Leather Tunic", + "name": "leather_chestplate", + "stackSize": 1, + "durability": 80 + }, + { + "id": 565, + "displayName": "Leather Pants", + "name": "leather_leggings", + "stackSize": 1, + "durability": 75 + }, + { + "id": 566, + "displayName": "Leather Boots", + "name": "leather_boots", + "stackSize": 1, + "durability": 65 + }, + { + "id": 567, + "displayName": "Chainmail Helmet", + "name": "chainmail_helmet", + "stackSize": 1, + "durability": 165 + }, + { + "id": 568, + "displayName": "Chainmail Chestplate", + "name": "chainmail_chestplate", + "stackSize": 1, + "durability": 240 + }, + { + "id": 569, + "displayName": "Chainmail Leggings", + "name": "chainmail_leggings", + "stackSize": 1, + "durability": 225 + }, + { + "id": 570, + "displayName": "Chainmail Boots", + "name": "chainmail_boots", + "stackSize": 1, + "durability": 195 + }, + { + "id": 571, + "displayName": "Iron Helmet", + "name": "iron_helmet", + "stackSize": 1, + "durability": 165 + }, + { + "id": 572, + "displayName": "Iron Chestplate", + "name": "iron_chestplate", + "stackSize": 1, + "durability": 240 + }, + { + "id": 573, + "displayName": "Iron Leggings", + "name": "iron_leggings", + "stackSize": 1, + "durability": 225 + }, + { + "id": 574, + "displayName": "Iron Boots", + "name": "iron_boots", + "stackSize": 1, + "durability": 195 + }, + { + "id": 575, + "displayName": "Diamond Helmet", + "name": "diamond_helmet", + "stackSize": 1, + "durability": 363 + }, + { + "id": 576, + "displayName": "Diamond Chestplate", + "name": "diamond_chestplate", + "stackSize": 1, + "durability": 528 + }, + { + "id": 577, + "displayName": "Diamond Leggings", + "name": "diamond_leggings", + "stackSize": 1, + "durability": 495 + }, + { + "id": 578, + "displayName": "Diamond Boots", + "name": "diamond_boots", + "stackSize": 1, + "durability": 429 + }, + { + "id": 579, + "displayName": "Golden Helmet", + "name": "golden_helmet", + "stackSize": 1, + "durability": 77 + }, + { + "id": 580, + "displayName": "Golden Chestplate", + "name": "golden_chestplate", + "stackSize": 1, + "durability": 112 + }, + { + "id": 581, + "displayName": "Golden Leggings", + "name": "golden_leggings", + "stackSize": 1, + "durability": 105 + }, + { + "id": 582, + "displayName": "Golden Boots", + "name": "golden_boots", + "stackSize": 1, + "durability": 91 + }, + { + "id": 583, + "displayName": "Flint", + "name": "flint", + "stackSize": 64, + "durability": null + }, + { + "id": 584, + "displayName": "Raw Porkchop", + "name": "porkchop", + "stackSize": 64, + "durability": null + }, + { + "id": 585, + "displayName": "Cooked Porkchop", + "name": "cooked_porkchop", + "stackSize": 64, + "durability": null + }, + { + "id": 586, + "displayName": "Painting", + "name": "painting", + "stackSize": 64, + "durability": null + }, + { + "id": 587, + "displayName": "Golden Apple", + "name": "golden_apple", + "stackSize": 64, + "durability": null + }, + { + "id": 588, + "displayName": "Enchanted Golden Apple", + "name": "enchanted_golden_apple", + "stackSize": 64, + "durability": null + }, + { + "id": 589, + "displayName": "Oak Sign", + "name": "oak_sign", + "stackSize": 16, + "durability": null + }, + { + "id": 590, + "displayName": "Spruce Sign", + "name": "spruce_sign", + "stackSize": 16, + "durability": null + }, + { + "id": 591, + "displayName": "Birch Sign", + "name": "birch_sign", + "stackSize": 16, + "durability": null + }, + { + "id": 592, + "displayName": "Jungle Sign", + "name": "jungle_sign", + "stackSize": 16, + "durability": null + }, + { + "id": 593, + "displayName": "Acacia Sign", + "name": "acacia_sign", + "stackSize": 16, + "durability": null + }, + { + "id": 594, + "displayName": "Dark Oak Sign", + "name": "dark_oak_sign", + "stackSize": 16, + "durability": null + }, + { + "id": 595, + "displayName": "Bucket", + "name": "bucket", + "stackSize": 16, + "durability": null + }, + { + "id": 596, + "displayName": "Water Bucket", + "name": "water_bucket", + "stackSize": 1, + "durability": null + }, + { + "id": 597, + "displayName": "Lava Bucket", + "name": "lava_bucket", + "stackSize": 1, + "durability": null + }, + { + "id": 598, + "displayName": "Minecart", + "name": "minecart", + "stackSize": 1, + "durability": null + }, + { + "id": 599, + "displayName": "Saddle", + "name": "saddle", + "stackSize": 1, + "durability": null + }, + { + "id": 600, + "displayName": "Redstone Dust", + "name": "redstone", + "stackSize": 64, + "durability": null + }, + { + "id": 601, + "displayName": "Snowball", + "name": "snowball", + "stackSize": 16, + "durability": null + }, + { + "id": 602, + "displayName": "Oak Boat", + "name": "oak_boat", + "stackSize": 1, + "durability": null + }, + { + "id": 603, + "displayName": "Leather", + "name": "leather", + "stackSize": 64, + "durability": null + }, + { + "id": 604, + "displayName": "Milk Bucket", + "name": "milk_bucket", + "stackSize": 1, + "durability": null + }, + { + "id": 605, + "displayName": "Bucket of Pufferfish", + "name": "pufferfish_bucket", + "stackSize": 1, + "durability": null + }, + { + "id": 606, + "displayName": "Bucket of Salmon", + "name": "salmon_bucket", + "stackSize": 1, + "durability": null + }, + { + "id": 607, + "displayName": "Bucket of Cod", + "name": "cod_bucket", + "stackSize": 1, + "durability": null + }, + { + "id": 608, + "displayName": "Bucket of Tropical Fish", + "name": "tropical_fish_bucket", + "stackSize": 1, + "durability": null + }, + { + "id": 609, + "displayName": "Brick", + "name": "brick", + "stackSize": 64, + "durability": null + }, + { + "id": 610, + "displayName": "Clay", + "name": "clay_ball", + "stackSize": 64, + "durability": null + }, + { + "id": 611, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "stackSize": 64, + "durability": null + }, + { + "id": 612, + "displayName": "Kelp", + "name": "kelp", + "stackSize": 64, + "durability": null + }, + { + "id": 613, + "displayName": "Dried Kelp Block", + "name": "dried_kelp_block", + "stackSize": 64, + "durability": null + }, + { + "id": 614, + "displayName": "Bamboo", + "name": "bamboo", + "stackSize": 64, + "durability": null + }, + { + "id": 615, + "displayName": "Paper", + "name": "paper", + "stackSize": 64, + "durability": null + }, + { + "id": 616, + "displayName": "Book", + "name": "book", + "stackSize": 64, + "durability": null + }, + { + "id": 617, + "displayName": "Slimeball", + "name": "slime_ball", + "stackSize": 64, + "durability": null + }, + { + "id": 618, + "displayName": "Minecart with Chest", + "name": "chest_minecart", + "stackSize": 1, + "durability": null + }, + { + "id": 619, + "displayName": "Minecart with Furnace", + "name": "furnace_minecart", + "stackSize": 1, + "durability": null + }, + { + "id": 620, + "displayName": "Egg", + "name": "egg", + "stackSize": 16, + "durability": null + }, + { + "id": 621, + "displayName": "Compass", + "name": "compass", + "stackSize": 64, + "durability": null + }, + { + "id": 622, + "displayName": "Fishing Rod", + "name": "fishing_rod", + "stackSize": 1, + "durability": 64 + }, + { + "id": 623, + "displayName": "Clock", + "name": "clock", + "stackSize": 64, + "durability": null + }, + { + "id": 624, + "displayName": "Glowstone Dust", + "name": "glowstone_dust", + "stackSize": 64, + "durability": null + }, + { + "id": 625, + "displayName": "Raw Cod", + "name": "cod", + "stackSize": 64, + "durability": null + }, + { + "id": 626, + "displayName": "Raw Salmon", + "name": "salmon", + "stackSize": 64, + "durability": null + }, + { + "id": 627, + "displayName": "Tropical Fish", + "name": "tropical_fish", + "stackSize": 64, + "durability": null + }, + { + "id": 628, + "displayName": "Pufferfish", + "name": "pufferfish", + "stackSize": 64, + "durability": null + }, + { + "id": 629, + "displayName": "Cooked Cod", + "name": "cooked_cod", + "stackSize": 64, + "durability": null + }, + { + "id": 630, + "displayName": "Cooked Salmon", + "name": "cooked_salmon", + "stackSize": 64, + "durability": null + }, + { + "id": 631, + "displayName": "Ink Sac", + "name": "ink_sac", + "stackSize": 64, + "durability": null + }, + { + "id": 632, + "displayName": "Red Dye", + "name": "red_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 633, + "displayName": "Green Dye", + "name": "green_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 634, + "displayName": "Cocoa Beans", + "name": "cocoa_beans", + "stackSize": 64, + "durability": null + }, + { + "id": 635, + "displayName": "Lapis Lazuli", + "name": "lapis_lazuli", + "stackSize": 64, + "durability": null + }, + { + "id": 636, + "displayName": "Purple Dye", + "name": "purple_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 637, + "displayName": "Cyan Dye", + "name": "cyan_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 638, + "displayName": "Light Gray Dye", + "name": "light_gray_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 639, + "displayName": "Gray Dye", + "name": "gray_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 640, + "displayName": "Pink Dye", + "name": "pink_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 641, + "displayName": "Lime Dye", + "name": "lime_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 642, + "displayName": "Yellow Dye", + "name": "yellow_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 643, + "displayName": "Light Blue Dye", + "name": "light_blue_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 644, + "displayName": "Magenta Dye", + "name": "magenta_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 645, + "displayName": "Orange Dye", + "name": "orange_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 646, + "displayName": "Bone Meal", + "name": "bone_meal", + "stackSize": 64, + "durability": null + }, + { + "id": 647, + "displayName": "Blue Dye", + "name": "blue_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 648, + "displayName": "Brown Dye", + "name": "brown_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 649, + "displayName": "Black Dye", + "name": "black_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 650, + "displayName": "White Dye", + "name": "white_dye", + "stackSize": 64, + "durability": null + }, + { + "id": 651, + "displayName": "Bone", + "name": "bone", + "stackSize": 64, + "durability": null + }, + { + "id": 652, + "displayName": "Sugar", + "name": "sugar", + "stackSize": 64, + "durability": null + }, + { + "id": 653, + "displayName": "Cake", + "name": "cake", + "stackSize": 1, + "durability": null + }, + { + "id": 654, + "displayName": "White Bed", + "name": "white_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 655, + "displayName": "Orange Bed", + "name": "orange_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 656, + "displayName": "Magenta Bed", + "name": "magenta_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 657, + "displayName": "Light Blue Bed", + "name": "light_blue_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 658, + "displayName": "Yellow Bed", + "name": "yellow_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 659, + "displayName": "Lime Bed", + "name": "lime_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 660, + "displayName": "Pink Bed", + "name": "pink_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 661, + "displayName": "Gray Bed", + "name": "gray_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 662, + "displayName": "Light Gray Bed", + "name": "light_gray_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 663, + "displayName": "Cyan Bed", + "name": "cyan_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 664, + "displayName": "Purple Bed", + "name": "purple_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 665, + "displayName": "Blue Bed", + "name": "blue_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 666, + "displayName": "Brown Bed", + "name": "brown_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 667, + "displayName": "Green Bed", + "name": "green_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 668, + "displayName": "Red Bed", + "name": "red_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 669, + "displayName": "Black Bed", + "name": "black_bed", + "stackSize": 1, + "durability": null + }, + { + "id": 670, + "displayName": "Cookie", + "name": "cookie", + "stackSize": 64, + "durability": null + }, + { + "id": 671, + "displayName": "Map", + "name": "filled_map", + "stackSize": 64, + "durability": null + }, + { + "id": 672, + "displayName": "Shears", + "name": "shears", + "stackSize": 1, + "durability": 238 + }, + { + "id": 673, + "displayName": "Melon Slice", + "name": "melon_slice", + "stackSize": 64, + "durability": null + }, + { + "id": 674, + "displayName": "Dried Kelp", + "name": "dried_kelp", + "stackSize": 64, + "durability": null + }, + { + "id": 675, + "displayName": "Pumpkin Seeds", + "name": "pumpkin_seeds", + "stackSize": 64, + "durability": null + }, + { + "id": 676, + "displayName": "Melon Seeds", + "name": "melon_seeds", + "stackSize": 64, + "durability": null + }, + { + "id": 677, + "displayName": "Raw Beef", + "name": "beef", + "stackSize": 64, + "durability": null + }, + { + "id": 678, + "displayName": "Steak", + "name": "cooked_beef", + "stackSize": 64, + "durability": null + }, + { + "id": 679, + "displayName": "Raw Chicken", + "name": "chicken", + "stackSize": 64, + "durability": null + }, + { + "id": 680, + "displayName": "Cooked Chicken", + "name": "cooked_chicken", + "stackSize": 64, + "durability": null + }, + { + "id": 681, + "displayName": "Rotten Flesh", + "name": "rotten_flesh", + "stackSize": 64, + "durability": null + }, + { + "id": 682, + "displayName": "Ender Pearl", + "name": "ender_pearl", + "stackSize": 16, + "durability": null + }, + { + "id": 683, + "displayName": "Blaze Rod", + "name": "blaze_rod", + "stackSize": 64, + "durability": null + }, + { + "id": 684, + "displayName": "Ghast Tear", + "name": "ghast_tear", + "stackSize": 64, + "durability": null + }, + { + "id": 685, + "displayName": "Gold Nugget", + "name": "gold_nugget", + "stackSize": 64, + "durability": null + }, + { + "id": 686, + "displayName": "Nether Wart", + "name": "nether_wart", + "stackSize": 64, + "durability": null + }, + { + "id": 687, + "displayName": "Potion", + "name": "potion", + "stackSize": 1, + "durability": null + }, + { + "id": 688, + "displayName": "Glass Bottle", + "name": "glass_bottle", + "stackSize": 64, + "durability": null + }, + { + "id": 689, + "displayName": "Spider Eye", + "name": "spider_eye", + "stackSize": 64, + "durability": null + }, + { + "id": 690, + "displayName": "Fermented Spider Eye", + "name": "fermented_spider_eye", + "stackSize": 64, + "durability": null + }, + { + "id": 691, + "displayName": "Blaze Powder", + "name": "blaze_powder", + "stackSize": 64, + "durability": null + }, + { + "id": 692, + "displayName": "Magma Cream", + "name": "magma_cream", + "stackSize": 64, + "durability": null + }, + { + "id": 693, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "stackSize": 64, + "durability": null + }, + { + "id": 694, + "displayName": "Cauldron", + "name": "cauldron", + "stackSize": 64, + "durability": null + }, + { + "id": 695, + "displayName": "Eye of Ender", + "name": "ender_eye", + "stackSize": 64, + "durability": null + }, + { + "id": 696, + "displayName": "Glistering Melon Slice", + "name": "glistering_melon_slice", + "stackSize": 64, + "durability": null + }, + { + "id": 697, + "displayName": "Bat Spawn Egg", + "name": "bat_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 698, + "displayName": "Blaze Spawn Egg", + "name": "blaze_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 699, + "displayName": "Cat Spawn Egg", + "name": "cat_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 700, + "displayName": "Cave Spider Spawn Egg", + "name": "cave_spider_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 701, + "displayName": "Chicken Spawn Egg", + "name": "chicken_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 702, + "displayName": "Cod Spawn Egg", + "name": "cod_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 703, + "displayName": "Cow Spawn Egg", + "name": "cow_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 704, + "displayName": "Creeper Spawn Egg", + "name": "creeper_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 705, + "displayName": "Dolphin Spawn Egg", + "name": "dolphin_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 706, + "displayName": "Donkey Spawn Egg", + "name": "donkey_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 707, + "displayName": "Drowned Spawn Egg", + "name": "drowned_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 708, + "displayName": "Elder Guardian Spawn Egg", + "name": "elder_guardian_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 709, + "displayName": "Enderman Spawn Egg", + "name": "enderman_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 710, + "displayName": "Endermite Spawn Egg", + "name": "endermite_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 711, + "displayName": "Evoker Spawn Egg", + "name": "evoker_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 712, + "displayName": "Fox Spawn Egg", + "name": "fox_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 713, + "displayName": "Ghast Spawn Egg", + "name": "ghast_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 714, + "displayName": "Guardian Spawn Egg", + "name": "guardian_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 715, + "displayName": "Horse Spawn Egg", + "name": "horse_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 716, + "displayName": "Husk Spawn Egg", + "name": "husk_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 717, + "displayName": "Llama Spawn Egg", + "name": "llama_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 718, + "displayName": "Magma Cube Spawn Egg", + "name": "magma_cube_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 719, + "displayName": "Mooshroom Spawn Egg", + "name": "mooshroom_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 720, + "displayName": "Mule Spawn Egg", + "name": "mule_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 721, + "displayName": "Ocelot Spawn Egg", + "name": "ocelot_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 722, + "displayName": "Panda Spawn Egg", + "name": "panda_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 723, + "displayName": "Parrot Spawn Egg", + "name": "parrot_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 724, + "displayName": "Phantom Spawn Egg", + "name": "phantom_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 725, + "displayName": "Pig Spawn Egg", + "name": "pig_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 726, + "displayName": "Pillager Spawn Egg", + "name": "pillager_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 727, + "displayName": "Polar Bear Spawn Egg", + "name": "polar_bear_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 728, + "displayName": "Pufferfish Spawn Egg", + "name": "pufferfish_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 729, + "displayName": "Rabbit Spawn Egg", + "name": "rabbit_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 730, + "displayName": "Ravager Spawn Egg", + "name": "ravager_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 731, + "displayName": "Salmon Spawn Egg", + "name": "salmon_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 732, + "displayName": "Sheep Spawn Egg", + "name": "sheep_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 733, + "displayName": "Shulker Spawn Egg", + "name": "shulker_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 734, + "displayName": "Silverfish Spawn Egg", + "name": "silverfish_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 735, + "displayName": "Skeleton Spawn Egg", + "name": "skeleton_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 736, + "displayName": "Skeleton Horse Spawn Egg", + "name": "skeleton_horse_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 737, + "displayName": "Slime Spawn Egg", + "name": "slime_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 738, + "displayName": "Spider Spawn Egg", + "name": "spider_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 739, + "displayName": "Squid Spawn Egg", + "name": "squid_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 740, + "displayName": "Stray Spawn Egg", + "name": "stray_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 741, + "displayName": "Trader Llama Spawn Egg", + "name": "trader_llama_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 742, + "displayName": "Tropical Fish Spawn Egg", + "name": "tropical_fish_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 743, + "displayName": "Turtle Spawn Egg", + "name": "turtle_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 744, + "displayName": "Vex Spawn Egg", + "name": "vex_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 745, + "displayName": "Villager Spawn Egg", + "name": "villager_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 746, + "displayName": "Vindicator Spawn Egg", + "name": "vindicator_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 747, + "displayName": "Wandering Trader Spawn Egg", + "name": "wandering_trader_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 748, + "displayName": "Witch Spawn Egg", + "name": "witch_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 749, + "displayName": "Wither Skeleton Spawn Egg", + "name": "wither_skeleton_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 750, + "displayName": "Wolf Spawn Egg", + "name": "wolf_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 751, + "displayName": "Zombie Spawn Egg", + "name": "zombie_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 752, + "displayName": "Zombie Horse Spawn Egg", + "name": "zombie_horse_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 753, + "displayName": "Zombie Pigman Spawn Egg", + "name": "zombie_pigman_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 754, + "displayName": "Zombie Villager Spawn Egg", + "name": "zombie_villager_spawn_egg", + "stackSize": 64, + "durability": null + }, + { + "id": 755, + "displayName": "Bottle o' Enchanting", + "name": "experience_bottle", + "stackSize": 64, + "durability": null + }, + { + "id": 756, + "displayName": "Fire Charge", + "name": "fire_charge", + "stackSize": 64, + "durability": null + }, + { + "id": 757, + "displayName": "Book and Quill", + "name": "writable_book", + "stackSize": 1, + "durability": null + }, + { + "id": 758, + "displayName": "Written Book", + "name": "written_book", + "stackSize": 16, + "durability": null + }, + { + "id": 759, + "displayName": "Emerald", + "name": "emerald", + "stackSize": 64, + "durability": null + }, + { + "id": 760, + "displayName": "Item Frame", + "name": "item_frame", + "stackSize": 64, + "durability": null + }, + { + "id": 761, + "displayName": "Flower Pot", + "name": "flower_pot", + "stackSize": 64, + "durability": null + }, + { + "id": 762, + "displayName": "Carrot", + "name": "carrot", + "stackSize": 64, + "durability": null + }, + { + "id": 763, + "displayName": "Potato", + "name": "potato", + "stackSize": 64, + "durability": null + }, + { + "id": 764, + "displayName": "Baked Potato", + "name": "baked_potato", + "stackSize": 64, + "durability": null + }, + { + "id": 765, + "displayName": "Poisonous Potato", + "name": "poisonous_potato", + "stackSize": 64, + "durability": null + }, + { + "id": 766, + "displayName": "Empty Map", + "name": "map", + "stackSize": 64, + "durability": null + }, + { + "id": 767, + "displayName": "Golden Carrot", + "name": "golden_carrot", + "stackSize": 64, + "durability": null + }, + { + "id": 768, + "displayName": "Skeleton Skull", + "name": "skeleton_skull", + "stackSize": 64, + "durability": null + }, + { + "id": 769, + "displayName": "Wither Skeleton Skull", + "name": "wither_skeleton_skull", + "stackSize": 64, + "durability": null + }, + { + "id": 770, + "displayName": "Player Head", + "name": "player_head", + "stackSize": 64, + "durability": null + }, + { + "id": 771, + "displayName": "Zombie Head", + "name": "zombie_head", + "stackSize": 64, + "durability": null + }, + { + "id": 772, + "displayName": "Creeper Head", + "name": "creeper_head", + "stackSize": 64, + "durability": null + }, + { + "id": 773, + "displayName": "Dragon Head", + "name": "dragon_head", + "stackSize": 64, + "durability": null + }, + { + "id": 774, + "displayName": "Carrot on a Stick", + "name": "carrot_on_a_stick", + "stackSize": 1, + "durability": 25 + }, + { + "id": 775, + "displayName": "Nether Star", + "name": "nether_star", + "stackSize": 64, + "durability": null + }, + { + "id": 776, + "displayName": "Pumpkin Pie", + "name": "pumpkin_pie", + "stackSize": 64, + "durability": null + }, + { + "id": 777, + "displayName": "Firework Rocket", + "name": "firework_rocket", + "stackSize": 64, + "durability": null + }, + { + "id": 778, + "displayName": "Firework Star", + "name": "firework_star", + "stackSize": 64, + "durability": null + }, + { + "id": 779, + "displayName": "Enchanted Book", + "name": "enchanted_book", + "stackSize": 1, + "durability": null + }, + { + "id": 780, + "displayName": "Nether Brick", + "name": "nether_brick", + "stackSize": 64, + "durability": null + }, + { + "id": 781, + "displayName": "Nether Quartz", + "name": "quartz", + "stackSize": 64, + "durability": null + }, + { + "id": 782, + "displayName": "Minecart with TNT", + "name": "tnt_minecart", + "stackSize": 1, + "durability": null + }, + { + "id": 783, + "displayName": "Minecart with Hopper", + "name": "hopper_minecart", + "stackSize": 1, + "durability": null + }, + { + "id": 784, + "displayName": "Prismarine Shard", + "name": "prismarine_shard", + "stackSize": 64, + "durability": null + }, + { + "id": 785, + "displayName": "Prismarine Crystals", + "name": "prismarine_crystals", + "stackSize": 64, + "durability": null + }, + { + "id": 786, + "displayName": "Raw Rabbit", + "name": "rabbit", + "stackSize": 64, + "durability": null + }, + { + "id": 787, + "displayName": "Cooked Rabbit", + "name": "cooked_rabbit", + "stackSize": 64, + "durability": null + }, + { + "id": 788, + "displayName": "Rabbit Stew", + "name": "rabbit_stew", + "stackSize": 1, + "durability": null + }, + { + "id": 789, + "displayName": "Rabbit's Foot", + "name": "rabbit_foot", + "stackSize": 64, + "durability": null + }, + { + "id": 790, + "displayName": "Rabbit Hide", + "name": "rabbit_hide", + "stackSize": 64, + "durability": null + }, + { + "id": 791, + "displayName": "Armor Stand", + "name": "armor_stand", + "stackSize": 16, + "durability": null + }, + { + "id": 792, + "displayName": "Iron Horse Armor", + "name": "iron_horse_armor", + "stackSize": 1, + "durability": null + }, + { + "id": 793, + "displayName": "Golden Horse Armor", + "name": "golden_horse_armor", + "stackSize": 1, + "durability": null + }, + { + "id": 794, + "displayName": "Diamond Horse Armor", + "name": "diamond_horse_armor", + "stackSize": 1, + "durability": null + }, + { + "id": 795, + "displayName": "Leather Horse Armor", + "name": "leather_horse_armor", + "stackSize": 1, + "durability": null + }, + { + "id": 796, + "displayName": "Lead", + "name": "lead", + "stackSize": 64, + "durability": null + }, + { + "id": 797, + "displayName": "Name Tag", + "name": "name_tag", + "stackSize": 64, + "durability": null + }, + { + "id": 798, + "displayName": "Minecart with Command Block", + "name": "command_block_minecart", + "stackSize": 1, + "durability": null + }, + { + "id": 799, + "displayName": "Raw Mutton", + "name": "mutton", + "stackSize": 64, + "durability": null + }, + { + "id": 800, + "displayName": "Cooked Mutton", + "name": "cooked_mutton", + "stackSize": 64, + "durability": null + }, + { + "id": 801, + "displayName": "White Banner", + "name": "white_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 802, + "displayName": "Orange Banner", + "name": "orange_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 803, + "displayName": "Magenta Banner", + "name": "magenta_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 804, + "displayName": "Light Blue Banner", + "name": "light_blue_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 805, + "displayName": "Yellow Banner", + "name": "yellow_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 806, + "displayName": "Lime Banner", + "name": "lime_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 807, + "displayName": "Pink Banner", + "name": "pink_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 808, + "displayName": "Gray Banner", + "name": "gray_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 809, + "displayName": "Light Gray Banner", + "name": "light_gray_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 810, + "displayName": "Cyan Banner", + "name": "cyan_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 811, + "displayName": "Purple Banner", + "name": "purple_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 812, + "displayName": "Blue Banner", + "name": "blue_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 813, + "displayName": "Brown Banner", + "name": "brown_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 814, + "displayName": "Green Banner", + "name": "green_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 815, + "displayName": "Red Banner", + "name": "red_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 816, + "displayName": "Black Banner", + "name": "black_banner", + "stackSize": 16, + "durability": null + }, + { + "id": 817, + "displayName": "End Crystal", + "name": "end_crystal", + "stackSize": 64, + "durability": null + }, + { + "id": 818, + "displayName": "Chorus Fruit", + "name": "chorus_fruit", + "stackSize": 64, + "durability": null + }, + { + "id": 819, + "displayName": "Popped Chorus Fruit", + "name": "popped_chorus_fruit", + "stackSize": 64, + "durability": null + }, + { + "id": 820, + "displayName": "Beetroot", + "name": "beetroot", + "stackSize": 64, + "durability": null + }, + { + "id": 821, + "displayName": "Beetroot Seeds", + "name": "beetroot_seeds", + "stackSize": 64, + "durability": null + }, + { + "id": 822, + "displayName": "Beetroot Soup", + "name": "beetroot_soup", + "stackSize": 1, + "durability": null + }, + { + "id": 823, + "displayName": "Dragon's Breath", + "name": "dragon_breath", + "stackSize": 64, + "durability": null + }, + { + "id": 824, + "displayName": "Splash Potion", + "name": "splash_potion", + "stackSize": 1, + "durability": null + }, + { + "id": 825, + "displayName": "Spectral Arrow", + "name": "spectral_arrow", + "stackSize": 64, + "durability": null + }, + { + "id": 826, + "displayName": "Tipped Arrow", + "name": "tipped_arrow", + "stackSize": 64, + "durability": null + }, + { + "id": 827, + "displayName": "Lingering Potion", + "name": "lingering_potion", + "stackSize": 1, + "durability": null + }, + { + "id": 828, + "displayName": "Shield", + "name": "shield", + "stackSize": 1, + "durability": 336 + }, + { + "id": 829, + "displayName": "Elytra", + "name": "elytra", + "stackSize": 1, + "durability": 432 + }, + { + "id": 830, + "displayName": "Spruce Boat", + "name": "spruce_boat", + "stackSize": 1, + "durability": null + }, + { + "id": 831, + "displayName": "Birch Boat", + "name": "birch_boat", + "stackSize": 1, + "durability": null + }, + { + "id": 832, + "displayName": "Jungle Boat", + "name": "jungle_boat", + "stackSize": 1, + "durability": null + }, + { + "id": 833, + "displayName": "Acacia Boat", + "name": "acacia_boat", + "stackSize": 1, + "durability": null + }, + { + "id": 834, + "displayName": "Dark Oak Boat", + "name": "dark_oak_boat", + "stackSize": 1, + "durability": null + }, + { + "id": 835, + "displayName": "Totem of Undying", + "name": "totem_of_undying", + "stackSize": 1, + "durability": null + }, + { + "id": 836, + "displayName": "Shulker Shell", + "name": "shulker_shell", + "stackSize": 64, + "durability": null + }, + { + "id": 837, + "displayName": "Iron Nugget", + "name": "iron_nugget", + "stackSize": 64, + "durability": null + }, + { + "id": 838, + "displayName": "Knowledge Book", + "name": "knowledge_book", + "stackSize": 1, + "durability": null + }, + { + "id": 839, + "displayName": "Debug Stick", + "name": "debug_stick", + "stackSize": 1, + "durability": null + }, + { + "id": 840, + "displayName": "13 Disc", + "name": "music_disc_13", + "stackSize": 1, + "durability": null + }, + { + "id": 841, + "displayName": "Cat Disc", + "name": "music_disc_cat", + "stackSize": 1, + "durability": null + }, + { + "id": 842, + "displayName": "Blocks Disc", + "name": "music_disc_blocks", + "stackSize": 1, + "durability": null + }, + { + "id": 843, + "displayName": "Chirp Disc", + "name": "music_disc_chirp", + "stackSize": 1, + "durability": null + }, + { + "id": 844, + "displayName": "Far Disc", + "name": "music_disc_far", + "stackSize": 1, + "durability": null + }, + { + "id": 845, + "displayName": "Mall Disc", + "name": "music_disc_mall", + "stackSize": 1, + "durability": null + }, + { + "id": 846, + "displayName": "Mellohi Disc", + "name": "music_disc_mellohi", + "stackSize": 1, + "durability": null + }, + { + "id": 847, + "displayName": "Stal Disc", + "name": "music_disc_stal", + "stackSize": 1, + "durability": null + }, + { + "id": 848, + "displayName": "Strad Disc", + "name": "music_disc_strad", + "stackSize": 1, + "durability": null + }, + { + "id": 849, + "displayName": "Ward Disc", + "name": "music_disc_ward", + "stackSize": 1, + "durability": null + }, + { + "id": 850, + "displayName": "11 Disc", + "name": "music_disc_11", + "stackSize": 1, + "durability": null + }, + { + "id": 851, + "displayName": "Wait Disc", + "name": "music_disc_wait", + "stackSize": 1, + "durability": null + }, + { + "id": 852, + "displayName": "Trident", + "name": "trident", + "stackSize": 1, + "durability": 250 + }, + { + "id": 853, + "displayName": "Phantom Membrane", + "name": "phantom_membrane", + "stackSize": 64, + "durability": null + }, + { + "id": 854, + "displayName": "Nautilus Shell", + "name": "nautilus_shell", + "stackSize": 64, + "durability": null + }, + { + "id": 855, + "displayName": "Heart of the Sea", + "name": "heart_of_the_sea", + "stackSize": 64, + "durability": null + }, + { + "id": 856, + "displayName": "Crossbow", + "name": "crossbow", + "stackSize": 1, + "durability": 326 + }, + { + "id": 857, + "displayName": "Suspicious Stew", + "name": "suspicious_stew", + "stackSize": 1, + "durability": null + }, + { + "id": 858, + "displayName": "Loom", + "name": "loom", + "stackSize": 64, + "durability": null + }, + { + "id": 859, + "displayName": "Banner Pattern", + "name": "flower_banner_pattern", + "stackSize": 1, + "durability": null + }, + { + "id": 860, + "displayName": "Banner Pattern", + "name": "creeper_banner_pattern", + "stackSize": 1, + "durability": null + }, + { + "id": 861, + "displayName": "Banner Pattern", + "name": "skull_banner_pattern", + "stackSize": 1, + "durability": null + }, + { + "id": 862, + "displayName": "Banner Pattern", + "name": "mojang_banner_pattern", + "stackSize": 1, + "durability": null + }, + { + "id": 863, + "displayName": "Banner Pattern", + "name": "globe_banner_pattern", + "stackSize": 1, + "durability": null + }, + { + "id": 864, + "displayName": "Barrel", + "name": "barrel", + "stackSize": 64, + "durability": null + }, + { + "id": 865, + "displayName": "Smoker", + "name": "smoker", + "stackSize": 64, + "durability": null + }, + { + "id": 866, + "displayName": "Blast Furnace", + "name": "blast_furnace", + "stackSize": 64, + "durability": null + }, + { + "id": 867, + "displayName": "Cartography Table", + "name": "cartography_table", + "stackSize": 64, + "durability": null + }, + { + "id": 868, + "displayName": "Fletching Table", + "name": "fletching_table", + "stackSize": 64, + "durability": null + }, + { + "id": 869, + "displayName": "Grindstone", + "name": "grindstone", + "stackSize": 64, + "durability": null + }, + { + "id": 870, + "displayName": "Lectern", + "name": "lectern", + "stackSize": 64, + "durability": null + }, + { + "id": 871, + "displayName": "Smithing Table", + "name": "smithing_table", + "stackSize": 64, + "durability": null + }, + { + "id": 872, + "displayName": "Stonecutter", + "name": "stonecutter", + "stackSize": 64, + "durability": null + }, + { + "id": 873, + "displayName": "Bell", + "name": "bell", + "stackSize": 64, + "durability": null + }, + { + "id": 874, + "displayName": "Lantern", + "name": "lantern", + "stackSize": 64, + "durability": null + }, + { + "id": 875, + "displayName": "Sweet Berries", + "name": "sweet_berries", + "stackSize": 64, + "durability": null + }, + { + "id": 876, + "displayName": "Campfire", + "name": "campfire", + "stackSize": 64, + "durability": null + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14/language.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/language.json new file mode 100644 index 00000000..478b3904 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/language.json @@ -0,0 +1,4320 @@ +{ + "language.name": "English", + "language.region": "United States", + "language.code": "en_us", + "narrator.button.accessibility": "Accessibility", + "narrator.button.language": "Language", + "narrator.button.difficulty_lock": "Difficulty lock", + "narrator.button.difficulty_lock.unlocked": "Unlocked", + "narrator.button.difficulty_lock.locked": "Locked", + "narrator.screen.title": "Title Screen", + "narrator.controls.reset": "Reset %s button", + "narrator.controls.bound": "%s is bound to %s", + "narrator.controls.unbound": "%s is not bound", + "narrator.select": "Selected: %s", + "narrator.select.world": "Selected %s, last played: %s, %s, %s, version: %s", + "narrator.loading": "Loading: %s", + "narrator.loading.done": "Done", + "narrator.joining": "Joining", + "gui.done": "Done", + "gui.cancel": "Cancel", + "gui.back": "Back", + "gui.toTitle": "Back to title screen", + "gui.toMenu": "Back to server list", + "gui.up": "Up", + "gui.down": "Down", + "gui.yes": "Yes", + "gui.no": "No", + "gui.none": "None", + "gui.all": "All", + "gui.ok": "Ok", + "gui.proceed": "Proceed", + "gui.recipebook.moreRecipes": "Right Click for more", + "gui.recipebook.toggleRecipes.all": "Showing all", + "gui.recipebook.toggleRecipes.craftable": "Showing craftable", + "gui.recipebook.toggleRecipes.smeltable": "Showing smeltable", + "gui.recipebook.toggleRecipes.blastable": "Showing blastable", + "gui.recipebook.toggleRecipes.smokable": "Showing smokable", + "gui.narrate.button": "%s button", + "gui.narrate.slider": "%s slider", + "gui.narrate.editBox": "%s edit box: %s", + "translation.test.none": "Hello, world!", + "translation.test.complex": "Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!", + "translation.test.escape": "%%s %%%s %%%%s %%%%%s", + "translation.test.invalid": "hi %", + "translation.test.invalid2": "hi % s", + "translation.test.args": "%s %s", + "translation.test.world": "world", + "menu.game": "Game Menu", + "menu.singleplayer": "Singleplayer", + "menu.multiplayer": "Multiplayer", + "menu.online": "Minecraft Realms", + "menu.options": "Options...", + "menu.quit": "Quit Game", + "menu.returnToMenu": "Save and Quit to Title", + "menu.disconnect": "Disconnect", + "menu.returnToGame": "Back to Game", + "menu.generatingLevel": "Generating world", + "menu.loadingLevel": "Loading world", + "menu.savingLevel": "Saving world", + "menu.working": "Working...", + "menu.savingChunks": "Saving chunks", + "menu.preparingSpawn": "Preparing spawn area: %s%%", + "menu.loadingForcedChunks": "Loading forced chunks for dimension %s", + "menu.generatingTerrain": "Building terrain", + "menu.convertingLevel": "Converting world", + "menu.respawning": "Respawning", + "menu.shareToLan": "Open to LAN", + "menu.sendFeedback": "Give Feedback", + "menu.reportBugs": "Report Bugs", + "optimizeWorld.confirm.title": "Optimize world", + "optimizeWorld.confirm.description": "This will attempt to optimize your world by making sure all data is stored in the most recent game format. This can take a very long time, depending on your world. Once done, your world may play faster but will no longer be compatible with older versions of the game. Are you sure you wish to proceed?", + "optimizeWorld.title": "Optimizing World '%s'", + "optimizeWorld.stage.counting": "Counting chunks...", + "optimizeWorld.stage.upgrading": "Upgrading all chunks...", + "optimizeWorld.stage.finished": "Finishing up...", + "optimizeWorld.stage.failed": "Failed! :(", + "optimizeWorld.info.converted": "Upgraded chunks: %s", + "optimizeWorld.info.skipped": "Skipped chunks: %s", + "optimizeWorld.info.total": "Total chunks: %s", + "selectWorld.title": "Select World", + "selectWorld.search": "search for worlds", + "selectWorld.empty": "empty", + "selectWorld.world": "World", + "selectWorld.select": "Play Selected World", + "selectWorld.create": "Create New World", + "selectWorld.recreate": "Re-Create", + "selectWorld.createDemo": "Play New Demo World", + "selectWorld.delete": "Delete", + "selectWorld.edit": "Edit", + "selectWorld.edit.title": "Edit World", + "selectWorld.edit.resetIcon": "Reset Icon", + "selectWorld.edit.openFolder": "Open World Folder", + "selectWorld.edit.save": "Save", + "selectWorld.edit.backup": "Make Backup", + "selectWorld.edit.backupFolder": "Open Backups Folder", + "selectWorld.edit.backupFailed": "Backup failed", + "selectWorld.edit.backupCreated": "Backed up: %s", + "selectWorld.edit.backupSize": "size: %s MB", + "selectWorld.edit.optimize": "Optimize World", + "selectWorld.deleteQuestion": "Are you sure you want to delete this world?", + "selectWorld.deleteWarning": "'%s' will be lost forever! (A long time!)", + "selectWorld.deleteButton": "Delete", + "selectWorld.conversion": "Must be converted!", + "selectWorld.newWorld": "New World", + "selectWorld.enterName": "World Name", + "selectWorld.resultFolder": "Will be saved in:", + "selectWorld.enterSeed": "Seed for the world generator", + "selectWorld.seedInfo": "Leave blank for a random seed", + "selectWorld.cheats": "Cheats", + "selectWorld.customizeType": "Customize", + "selectWorld.version": "Version:", + "selectWorld.versionUnknown": "unknown", + "selectWorld.versionQuestion": "Do you really want to load this world?", + "selectWorld.versionWarning": "This world was last played in version %s and loading it in this version could cause corruption!", + "selectWorld.versionJoinButton": "Load Anyway", + "selectWorld.backupQuestion": "Do you really want to load this world?", + "selectWorld.backupWarning": "This world was last played in version %s; you are on version %s. Please make a backup in case you experience world corruptions!", + "selectWorld.backupQuestion.customized": "Customized worlds are no longer supported", + "selectWorld.backupWarning.customized": "Unfortunately, we do not support customized worlds in this version of Minecraft. We can still load this world and keep everything the way it was, but any newly generated terrain will no longer be customized. We're sorry for the inconvenience!", + "selectWorld.backupEraseCache": "Erase cached data", + "selectWorld.backupJoinConfirmButton": "Backup and load", + "selectWorld.backupJoinSkipButton": "I know what I'm doing!", + "selectWorld.tooltip.fromNewerVersion1": "World was saved in a newer version,", + "selectWorld.tooltip.fromNewerVersion2": "loading this world could cause problems!", + "selectWorld.tooltip.snapshot1": "Don't forget to backup this world", + "selectWorld.tooltip.snapshot2": "before you load it in this snapshot.", + "selectWorld.tooltip.unsupported": "This world is no longer supported and can only be played in %s", + "selectWorld.unable_to_load": "Unable to load worlds", + "selectWorld.futureworld.error.title": "An error occured!", + "selectWorld.futureworld.error.text": "Something went wrong while trying to load a world from a future version. This was a risky operation to begin with, sorry it didn't work.", + "selectWorld.recreate.error.title": "An error occured!", + "selectWorld.recreate.error.text": "Something went wrong while trying to recreate a world.", + "selectWorld.recreate.customized.title": "Customized worlds are no longer supported", + "selectWorld.recreate.customized.text": "Customized worlds are no longer supported in this version of Minecraft. We can try to recreate it with the same seed and properties, but any terrain customizations will be lost. We're sorry for the inconvenience!", + "selectWorld.load_folder_access": "Unable to read or access folder where game worlds are saved!", + "createWorld.customize.presets": "Presets", + "createWorld.customize.presets.title": "Select a Preset", + "createWorld.customize.presets.select": "Use Preset", + "createWorld.customize.presets.share": "Want to share your preset with someone? Use the below box!", + "createWorld.customize.presets.list": "Alternatively, here's some we made earlier!", + "createWorld.customize.flat.title": "Superflat Customization", + "createWorld.customize.flat.tile": "Layer Material", + "createWorld.customize.flat.height": "Height", + "createWorld.customize.flat.removeLayer": "Remove Layer", + "createWorld.customize.flat.layer.top": "Top - %s", + "createWorld.customize.flat.layer": "%s", + "createWorld.customize.flat.layer.bottom": "Bottom - %s", + "createWorld.customize.buffet.title": "Buffet world customization", + "createWorld.customize.buffet.generatortype": "World generator:", + "createWorld.customize.buffet.generator": "Please select a generator type", + "createWorld.customize.buffet.biome": "Please select a biome", + "createWorld.customize.preset.classic_flat": "Classic Flat", + "createWorld.customize.preset.tunnelers_dream": "Tunnelers' Dream", + "createWorld.customize.preset.water_world": "Water World", + "createWorld.customize.preset.overworld": "Overworld", + "createWorld.customize.preset.snowy_kingdom": "Snowy Kingdom", + "createWorld.customize.preset.bottomless_pit": "Bottomless Pit", + "createWorld.customize.preset.desert": "Desert", + "createWorld.customize.preset.redstone_ready": "Redstone Ready", + "createWorld.customize.preset.the_void": "The Void", + "createWorld.customize.custom.page0": "Basic Settings", + "createWorld.customize.custom.page1": "Ore Settings", + "createWorld.customize.custom.page2": "Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.page3": "Extra Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.randomize": "Randomize", + "createWorld.customize.custom.prev": "Previous Page", + "createWorld.customize.custom.next": "Next Page", + "createWorld.customize.custom.defaults": "Defaults", + "createWorld.customize.custom.confirm1": "This will overwrite your current", + "createWorld.customize.custom.confirm2": "settings and cannot be undone.", + "createWorld.customize.custom.confirmTitle": "Warning!", + "createWorld.customize.custom.mainNoiseScaleX": "Main Noise Scale X", + "createWorld.customize.custom.mainNoiseScaleY": "Main Noise Scale Y", + "createWorld.customize.custom.mainNoiseScaleZ": "Main Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleX": "Depth Noise Scale X", + "createWorld.customize.custom.depthNoiseScaleZ": "Depth Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleExponent": "Depth Noise Exponent", + "createWorld.customize.custom.baseSize": "Depth Base Size", + "createWorld.customize.custom.coordinateScale": "Coordinate Scale", + "createWorld.customize.custom.heightScale": "Height Scale", + "createWorld.customize.custom.stretchY": "Height Stretch", + "createWorld.customize.custom.upperLimitScale": "Upper Limit Scale", + "createWorld.customize.custom.lowerLimitScale": "Lower Limit Scale", + "createWorld.customize.custom.biomeDepthWeight": "Biome Depth Weight", + "createWorld.customize.custom.biomeDepthOffset": "Biome Depth Offset", + "createWorld.customize.custom.biomeScaleWeight": "Biome Scale Weight", + "createWorld.customize.custom.biomeScaleOffset": "Biome Scale Offset", + "createWorld.customize.custom.seaLevel": "Sea Level", + "createWorld.customize.custom.useCaves": "Caves", + "createWorld.customize.custom.useStrongholds": "Strongholds", + "createWorld.customize.custom.useVillages": "Villages", + "createWorld.customize.custom.useMineShafts": "Mineshafts", + "createWorld.customize.custom.useTemples": "Temples", + "createWorld.customize.custom.useOceanRuins": "Ocean Ruins", + "createWorld.customize.custom.useMonuments": "Ocean Monuments", + "createWorld.customize.custom.useMansions": "Woodland Mansions", + "createWorld.customize.custom.useRavines": "Ravines", + "createWorld.customize.custom.useDungeons": "Dungeons", + "createWorld.customize.custom.dungeonChance": "Dungeon Count", + "createWorld.customize.custom.useWaterLakes": "Water Lakes", + "createWorld.customize.custom.waterLakeChance": "Water Lake Rarity", + "createWorld.customize.custom.useLavaLakes": "Lava Lakes", + "createWorld.customize.custom.lavaLakeChance": "Lava Lake Rarity", + "createWorld.customize.custom.useLavaOceans": "Lava Oceans", + "createWorld.customize.custom.fixedBiome": "Biome", + "createWorld.customize.custom.biomeSize": "Biome Size", + "createWorld.customize.custom.riverSize": "River Size", + "createWorld.customize.custom.size": "Spawn Size", + "createWorld.customize.custom.count": "Spawn Tries", + "createWorld.customize.custom.minHeight": "Min. Height", + "createWorld.customize.custom.maxHeight": "Max. Height", + "createWorld.customize.custom.center": "Center Height", + "createWorld.customize.custom.spread": "Spread Height", + "createWorld.customize.custom.presets.title": "Customize World Presets", + "createWorld.customize.custom.presets": "Presets", + "createWorld.customize.custom.preset.waterWorld": "Water World", + "createWorld.customize.custom.preset.isleLand": "Isle Land", + "createWorld.customize.custom.preset.caveDelight": "Caver's Delight", + "createWorld.customize.custom.preset.mountains": "Mountain Madness", + "createWorld.customize.custom.preset.drought": "Drought", + "createWorld.customize.custom.preset.caveChaos": "Caves of Chaos", + "createWorld.customize.custom.preset.goodLuck": "Good Luck", + "gameMode.survival": "Survival Mode", + "gameMode.creative": "Creative Mode", + "gameMode.adventure": "Adventure Mode", + "gameMode.spectator": "Spectator Mode", + "gameMode.hardcore": "Hardcore Mode!", + "gameMode.changed": "Your game mode has been updated to %s", + "spectatorMenu.previous_page": "Previous Page", + "spectatorMenu.next_page": "Next Page", + "spectatorMenu.close": "Close Menu", + "spectatorMenu.teleport": "Teleport to Player", + "spectatorMenu.teleport.prompt": "Select a player to teleport to", + "spectatorMenu.team_teleport": "Teleport to Team Member", + "spectatorMenu.team_teleport.prompt": "Select a team to teleport to", + "spectatorMenu.root.prompt": "Press a key to select a command, and again to use it.", + "selectWorld.gameMode": "Game Mode", + "selectWorld.gameMode.survival": "Survival", + "selectWorld.gameMode.survival.line1": "Search for resources, crafting, gain", + "selectWorld.gameMode.survival.line2": "levels, health and hunger", + "selectWorld.gameMode.creative": "Creative", + "selectWorld.gameMode.creative.line1": "Unlimited resources, free flying and", + "selectWorld.gameMode.creative.line2": "destroy blocks instantly", + "selectWorld.gameMode.spectator": "Spectator", + "selectWorld.gameMode.spectator.line1": "You can look but don't touch", + "selectWorld.gameMode.spectator.line2": "", + "selectWorld.gameMode.hardcore": "Hardcore", + "selectWorld.gameMode.hardcore.line1": "Same as survival mode, locked at hardest", + "selectWorld.gameMode.hardcore.line2": "difficulty, and one life only", + "selectWorld.gameMode.adventure": "Adventure", + "selectWorld.gameMode.adventure.line1": "Same as survival mode, but blocks can't", + "selectWorld.gameMode.adventure.line2": "be added or removed", + "selectWorld.moreWorldOptions": "More World Options...", + "selectWorld.mapFeatures": "Generate Structures:", + "selectWorld.mapFeatures.info": "Villages, dungeons etc", + "selectWorld.mapType": "World Type:", + "selectWorld.mapType.normal": "Normal", + "selectWorld.allowCommands": "Allow Cheats:", + "selectWorld.allowCommands.info": "Commands like /gamemode, /experience", + "selectWorld.hardcoreMode": "Hardcore:", + "selectWorld.hardcoreMode.info": "World is deleted upon death", + "selectWorld.bonusItems": "Bonus Chest:", + "generator.default": "Default", + "generator.flat": "Superflat", + "generator.largeBiomes": "Large Biomes", + "generator.amplified": "AMPLIFIED", + "generator.customized": "Customized", + "generator.debug_all_block_states": "Debug Mode", + "generator.amplified.info": "Notice: Just for fun, requires beefy computer", + "generator.buffet": "Buffet", + "selectServer.title": "Select Server", + "selectServer.empty": "empty", + "selectServer.select": "Join Server", + "selectServer.direct": "Direct Connect", + "selectServer.edit": "Edit", + "selectServer.delete": "Delete", + "selectServer.add": "Add Server", + "selectServer.defaultName": "Minecraft Server", + "selectServer.deleteQuestion": "Are you sure you want to remove this server?", + "selectServer.deleteWarning": "'%s' will be lost forever! (A long time!)", + "selectServer.deleteButton": "Delete", + "selectServer.refresh": "Refresh", + "selectServer.hiddenAddress": "(Hidden)", + "addServer.title": "Edit Server Info", + "addServer.enterName": "Server Name", + "addServer.enterIp": "Server Address", + "addServer.add": "Done", + "addServer.hideAddress": "Hide Address", + "addServer.resourcePack": "Server Resource Packs", + "addServer.resourcePack.enabled": "Enabled", + "addServer.resourcePack.disabled": "Disabled", + "addServer.resourcePack.prompt": "Prompt", + "lanServer.title": "LAN World", + "lanServer.scanning": "Scanning for games on your local network", + "lanServer.start": "Start LAN World", + "lanServer.otherPlayers": "Settings for Other Players", + "mcoServer.title": "Minecraft Online World", + "multiplayer.title": "Play Multiplayer", + "multiplayer.connect": "Connect", + "multiplayer.ipinfo": "Enter the IP of a server to connect to it:", + "multiplayer.texturePrompt.line1": "This server recommends the use of a custom resource pack.", + "multiplayer.texturePrompt.line2": "Would you like to download and install it automagically?", + "multiplayer.downloadingTerrain": "Loading terrain...", + "multiplayer.downloadingStats": "Downloading statistics...", + "multiplayer.stopSleeping": "Leave Bed", + "multiplayer.message_not_delivered": "Can't deliver chat message starting with %s, check server logs", + "multiplayer.player.joined": "%s joined the game", + "multiplayer.player.joined.renamed": "%s (formerly known as %s) joined the game", + "multiplayer.player.left": "%s left the game", + "multiplayer.status.and_more": "... and %s more ...", + "multiplayer.status.cancelled": "Cancelled", + "multiplayer.status.cannot_connect": "Can't connect to server", + "multiplayer.status.cannot_resolve": "Can't resolve hostname", + "multiplayer.status.client_out_of_date": "Client out of date!", + "multiplayer.status.finished": "Finished", + "multiplayer.status.no_connection": "(no connection)", + "multiplayer.status.old": "Old", + "multiplayer.status.pinging": "Pinging...", + "multiplayer.status.quitting": "Quitting", + "multiplayer.status.server_out_of_date": "Server out of date!", + "multiplayer.status.unknown": "???", + "multiplayer.status.unrequested": "Received unrequested status", + "multiplayer.status.request_handled": "Status requst has been handled", + "multiplayer.disconnect.authservers_down": "Authentication servers are down. Please try again later, sorry!", + "multiplayer.disconnect.banned": "You are banned from this server", + "multiplayer.disconnect.banned.reason": "You are banned from this server.\nReason: %s", + "multiplayer.disconnect.banned.expiration": "\nYour ban will be removed on %s", + "multiplayer.disconnect.banned_ip.reason": "Your IP address is banned from this server.\nReason: %s", + "multiplayer.disconnect.banned_ip.expiration": "\nYour ban will be removed on %s", + "multiplayer.disconnect.duplicate_login": "You logged in from another location", + "multiplayer.disconnect.flying": "Flying is not enabled on this server", + "multiplayer.disconnect.generic": "Disconnected", + "multiplayer.disconnect.idling": "You have been idle for too long!", + "multiplayer.disconnect.illegal_characters": "Illegal characters in chat", + "multiplayer.disconnect.invalid_entity_attacked": "Attempting to attack an invalid entity", + "multiplayer.disconnect.invalid_player_movement": "Invalid move player packet received", + "multiplayer.disconnect.invalid_vehicle_movement": "Invalid move vehicle packet received", + "multiplayer.disconnect.ip_banned": "You have been IP banned from this server", + "multiplayer.disconnect.kicked": "Kicked by an operator", + "multiplayer.disconnect.outdated_client": "Outdated client! Please use %s", + "multiplayer.disconnect.outdated_server": "Outdated server! I'm still on %s", + "multiplayer.disconnect.server_shutdown": "Server closed", + "multiplayer.disconnect.slow_login": "Took too long to log in", + "multiplayer.disconnect.unverified_username": "Failed to verify username!", + "multiplayer.disconnect.not_whitelisted": "You are not white-listed on this server!", + "multiplayer.disconnect.server_full": "The server is full!", + "multiplayer.disconnect.name_taken": "That name is already taken", + "multiplayer.disconnect.unexpected_query_response": "Unexpected custom data from client", + "chat.editBox": "chat", + "chat.cannotSend": "Cannot send chat message", + "chat.type.text": "<%s> %s", + "chat.type.text.narrate": "%s says %s", + "chat.type.emote": "* %s %s", + "chat.type.announcement": "[%s] %s", + "chat.type.admin": "[%s: %s]", + "chat.type.advancement.task": "%s has made the advancement %s", + "chat.type.advancement.challenge": "%s has completed the challenge %s", + "chat.type.advancement.goal": "%s has reached the goal %s", + "chat.type.team.text": "%s <%s> %s", + "chat.type.team.sent": "-> %s <%s> %s", + "chat.type.team.hover": "Message Team", + "chat.link.confirm": "Are you sure you want to open the following website?", + "chat.link.warning": "Never open links from people that you don't trust!", + "chat.copy": "Copy to Clipboard", + "chat.link.confirmTrusted": "Do you want to open this link or copy it to your clipboard?", + "chat.link.open": "Open in browser", + "chat.coordinates": "%s, %s, %s", + "chat.coordinates.tooltip": "Click to teleport", + "menu.playdemo": "Play Demo World", + "menu.resetdemo": "Reset Demo World", + "demo.day.1": "This demo will last five game days, do your best!", + "demo.day.2": "Day Two", + "demo.day.3": "Day Three", + "demo.day.4": "Day Four", + "demo.day.5": "This is your last day!", + "demo.day.warning": "Your time is almost up!", + "demo.day.6": "You have passed your fifth day, use %s to save a screenshot of your creation", + "demo.reminder": "The demo time has expired, buy the game to continue or start a new world!", + "demo.remainingTime": "Remaining time: %s", + "demo.demoExpired": "Demo time's up!", + "demo.help.movement": "Use the %1$s, %2$s, %3$s, %4$s keys and the mouse to move around", + "demo.help.movementShort": "Move by pressing the %1$s, %2$s, %3$s, %4$s keys", + "demo.help.movementMouse": "Look around using the mouse", + "demo.help.jump": "Jump by pressing the %1$s key", + "demo.help.inventory": "Use the %1$s key to open your inventory", + "demo.help.title": "Minecraft Demo Mode", + "demo.help.fullWrapped": "This demo will last 5 ingame days (about 1 hour and 40 minutes of real time). Check the advancements for hints! Have fun!", + "demo.help.buy": "Purchase Now!", + "demo.help.later": "Continue Playing!", + "connect.connecting": "Connecting to the server...", + "connect.aborted": "Aborted", + "connect.authorizing": "Logging in...", + "connect.negotiating": "Negotiating...", + "connect.encrypting": "Encrypting...", + "connect.joining": "Joining world...", + "connect.failed": "Failed to connect to the server", + "disconnect.genericReason": "%s", + "disconnect.disconnected": "Disconnected by Server", + "disconnect.lost": "Connection Lost", + "disconnect.kicked": "Was kicked from the game", + "disconnect.timeout": "Timed out", + "disconnect.closed": "Connection closed", + "disconnect.loginFailed": "Failed to log in", + "disconnect.loginFailedInfo": "Failed to log in: %s", + "disconnect.loginFailedInfo.serversUnavailable": "The authentication servers are currently down for maintenance.", + "disconnect.loginFailedInfo.invalidSession": "Invalid session (Try restarting your game and the launcher)", + "disconnect.quitting": "Quitting", + "disconnect.endOfStream": "End of stream", + "disconnect.overflow": "Buffer overflow", + "disconnect.spam": "Kicked for spamming", + "soundCategory.master": "Master Volume", + "soundCategory.music": "Music", + "soundCategory.record": "Jukebox/Note Blocks", + "soundCategory.weather": "Weather", + "soundCategory.hostile": "Hostile Creatures", + "soundCategory.neutral": "Friendly Creatures", + "soundCategory.player": "Players", + "soundCategory.block": "Blocks", + "soundCategory.ambient": "Ambient/Environment", + "soundCategory.voice": "Voice/Speech", + "record.nowPlaying": "Now playing: %s", + "options.off": "OFF", + "options.on": "ON", + "options.visible": "Shown", + "options.hidden": "Hidden", + "options.title": "Options", + "options.controls": "Controls...", + "options.video": "Video Settings...", + "options.language": "Language...", + "options.sounds": "Music & Sounds...", + "options.sounds.title": "Music & Sound Options", + "options.languageWarning": "Language translations may not be 100%% accurate", + "options.videoTitle": "Video Settings", + "options.mouse_settings": "Mouse Settings...", + "options.mouse_settings.title": "Mouse Settings", + "options.customizeTitle": "Customize World Settings", + "options.music": "Music", + "options.sound": "Sound", + "options.invertMouse": "Invert Mouse", + "options.fov": "FOV", + "options.fov.min": "Normal", + "options.fov.max": "Quake Pro", + "options.biomeBlendRadius": "Biome Blend", + "options.gamma": "Brightness", + "options.gamma.min": "Moody", + "options.gamma.max": "Bright", + "options.sensitivity": "Sensitivity", + "options.sensitivity.min": "*yawn*", + "options.sensitivity.max": "HYPERSPEED!!!", + "options.renderDistance": "Render Distance", + "options.viewBobbing": "View Bobbing", + "options.ao": "Smooth Lighting", + "options.ao.off": "OFF", + "options.ao.min": "Minimum", + "options.ao.max": "Maximum", + "options.anaglyph": "3D Anaglyph", + "options.chunks": "%s chunks", + "options.framerate": "%s fps", + "options.framerateLimit": "Max Framerate", + "options.framerateLimit.max": "Unlimited", + "options.difficulty": "Difficulty", + "options.difficulty.peaceful": "Peaceful", + "options.difficulty.easy": "Easy", + "options.difficulty.normal": "Normal", + "options.difficulty.hard": "Hard", + "options.difficulty.hardcore": "Hardcore", + "options.graphics": "Graphics", + "options.graphics.fancy": "Fancy", + "options.graphics.fast": "Fast", + "options.clouds.fancy": "Fancy", + "options.clouds.fast": "Fast", + "options.guiScale": "GUI Scale", + "options.guiScale.auto": "Auto", + "options.renderClouds": "Clouds", + "options.particles": "Particles", + "options.particles.all": "All", + "options.particles.decreased": "Decreased", + "options.particles.minimal": "Minimal", + "options.multiplayer.title": "Multiplayer Settings...", + "options.chat.title": "Chat Settings...", + "options.chat.visibility": "Chat", + "options.chat.visibility.full": "Shown", + "options.chat.visibility.system": "Commands Only", + "options.chat.visibility.hidden": "Hidden", + "options.chat.color": "Colors", + "options.chat.opacity": "Chat Text Opacity", + "options.chat.links": "Web Links", + "options.chat.links.prompt": "Prompt on Links", + "options.chat.scale": "Scale", + "options.chat.width": "Width", + "options.chat.height.focused": "Focused Height", + "options.chat.height.unfocused": "Unfocused Height", + "options.accessibility.title": "Accessibility Settings...", + "options.accessibility.text_background": "Text Background", + "options.accessibility.text_background.chat": "Chat", + "options.accessibility.text_background.everywhere": "Everywhere", + "options.accessibility.text_background_opacity": "Text Background Opacity", + "options.skinCustomisation": "Skin Customization...", + "options.skinCustomisation.title": "Skin Customization", + "options.modelPart.cape": "Cape", + "options.modelPart.hat": "Hat", + "options.modelPart.jacket": "Jacket", + "options.modelPart.left_sleeve": "Left Sleeve", + "options.modelPart.right_sleeve": "Right Sleeve", + "options.modelPart.left_pants_leg": "Left Pants Leg", + "options.modelPart.right_pants_leg": "Right Pants Leg", + "options.snooper": "Allow Snooper", + "options.snooper.view": "Snooper Settings...", + "options.snooper.title": "Feed us data!", + "options.snooper.desc": "We always want to improve Minecraft and, to help us do that, we'd like to collect some information. This lets us know what hardware to support and where the big problems are. It also gives us a sense of the size of our active player base, so we know if we're doing a good job. You can view all the information we collect below. If you want to opt out then you can simply toggle it off!", + "options.resourcepack": "Resource Packs...", + "options.fullscreen": "Fullscreen", + "options.vsync": "Use VSync", + "options.vbo": "Use VBOs", + "options.touchscreen": "Touchscreen Mode", + "options.reducedDebugInfo": "Reduced Debug Info", + "options.entityShadows": "Entity Shadows", + "options.mainHand": "Main Hand", + "options.mainHand.left": "Left", + "options.mainHand.right": "Right", + "options.attackIndicator": "Attack Indicator", + "options.attack.crosshair": "Crosshair", + "options.attack.hotbar": "Hotbar", + "options.showSubtitles": "Show Subtitles", + "options.realmsNotifications": "Realms Notifications", + "options.autoJump": "Auto-Jump", + "options.autoSuggestCommands": "Command Suggestions", + "options.discrete_mouse_scroll": "Discrete Scrolling", + "options.mouseWheelSensitivity": "Scroll Sensitivity", + "options.narrator": "Narrator", + "options.narrator.off": "OFF", + "options.narrator.all": "Narrates all", + "options.narrator.chat": "Narrates chat", + "options.narrator.system": "Narrates system", + "options.narrator.notavailable": "Not available", + "options.fullscreen.resolution": "Fullscreen Resolution", + "options.fullscreen.current": "Current", + "options.mipmapLevels": "Mipmap Levels", + "options.forceUnicodeFont": "Force Unicode Font", + "narrator.toast.disabled": "Narrator Disabled", + "narrator.toast.enabled": "Narrator Enabled", + "difficulty.lock.title": "Lock World Difficulty", + "difficulty.lock.question": "Are you sure you want to lock the difficulty of this world? This will set this world to always be %1$s, and you will never be able to change that again.", + "title.oldgl1": "Old graphics card detected; this may prevent you from", + "title.oldgl2": "playing in the future as OpenGL 2.0 will be required.", + "controls.title": "Controls", + "controls.reset": "Reset", + "controls.resetAll": "Reset Keys", + "key.sprint": "Sprint", + "key.forward": "Walk Forwards", + "key.left": "Strafe Left", + "key.back": "Walk Backwards", + "key.right": "Strafe Right", + "key.jump": "Jump", + "key.inventory": "Open/Close Inventory", + "key.drop": "Drop Selected Item", + "key.swapHands": "Swap Item In Hands", + "key.chat": "Open Chat", + "key.sneak": "Sneak", + "key.playerlist": "List Players", + "key.attack": "Attack/Destroy", + "key.use": "Use Item/Place Block", + "key.pickItem": "Pick Block", + "key.command": "Open Command", + "key.screenshot": "Take Screenshot", + "key.togglePerspective": "Toggle Perspective", + "key.smoothCamera": "Toggle Cinematic Camera", + "key.fullscreen": "Toggle Fullscreen", + "key.spectatorOutlines": "Highlight Players (Spectators)", + "key.hotbar.1": "Hotbar Slot 1", + "key.hotbar.2": "Hotbar Slot 2", + "key.hotbar.3": "Hotbar Slot 3", + "key.hotbar.4": "Hotbar Slot 4", + "key.hotbar.5": "Hotbar Slot 5", + "key.hotbar.6": "Hotbar Slot 6", + "key.hotbar.7": "Hotbar Slot 7", + "key.hotbar.8": "Hotbar Slot 8", + "key.hotbar.9": "Hotbar Slot 9", + "key.saveToolbarActivator": "Save Toolbar Activator", + "key.loadToolbarActivator": "Load Toolbar Activator", + "key.advancements": "Advancements", + "key.categories.movement": "Movement", + "key.categories.misc": "Miscellaneous", + "key.categories.multiplayer": "Multiplayer", + "key.categories.gameplay": "Gameplay", + "key.categories.ui": "Game Interface", + "key.categories.inventory": "Inventory", + "key.categories.creative": "Creative Mode", + "key.mouse.left": "Left Button", + "key.mouse.right": "Right Button", + "key.mouse.middle": "Middle Button", + "key.mouse": "Button %1$s", + "key.keyboard.unknown": "Not bound", + "key.keyboard.apostrophe": "'", + "key.keyboard.backslash": "\\", + "key.keyboard.backspace": "Backspace", + "key.keyboard.comma": ",", + "key.keyboard.delete": "Delete", + "key.keyboard.end": "End", + "key.keyboard.enter": "Enter", + "key.keyboard.equal": "=", + "key.keyboard.escape": "Escape", + "key.keyboard.f1": "F1", + "key.keyboard.f2": "F2", + "key.keyboard.f3": "F3", + "key.keyboard.f4": "F4", + "key.keyboard.f5": "F5", + "key.keyboard.f6": "F6", + "key.keyboard.f7": "F7", + "key.keyboard.f8": "F8", + "key.keyboard.f9": "F9", + "key.keyboard.f10": "F10", + "key.keyboard.f11": "F11", + "key.keyboard.f12": "F12", + "key.keyboard.f13": "F13", + "key.keyboard.f14": "F14", + "key.keyboard.f15": "F15", + "key.keyboard.f16": "F16", + "key.keyboard.f17": "F17", + "key.keyboard.f18": "F18", + "key.keyboard.f19": "F19", + "key.keyboard.f20": "F20", + "key.keyboard.f21": "F21", + "key.keyboard.f22": "F22", + "key.keyboard.f23": "F23", + "key.keyboard.f24": "F24", + "key.keyboard.f25": "F25", + "key.keyboard.grave.accent": "`", + "key.keyboard.home": "Home", + "key.keyboard.insert": "Insert", + "key.keyboard.keypad.0": "Keypad 0", + "key.keyboard.keypad.1": "Keypad 1", + "key.keyboard.keypad.2": "Keypad 2", + "key.keyboard.keypad.3": "Keypad 3", + "key.keyboard.keypad.4": "Keypad 4", + "key.keyboard.keypad.5": "Keypad 5", + "key.keyboard.keypad.6": "Keypad 6", + "key.keyboard.keypad.7": "Keypad 7", + "key.keyboard.keypad.8": "Keypad 8", + "key.keyboard.keypad.9": "Keypad 9", + "key.keyboard.keypad.add": "Keypad +", + "key.keyboard.keypad.decimal": "Keypad Decimal", + "key.keyboard.keypad.enter": "Keypad Enter", + "key.keyboard.keypad.equal": "Keypad =", + "key.keyboard.keypad.multiply": "Keypad *", + "key.keyboard.keypad.divide": "Keypad /", + "key.keyboard.keypad.subtract": "Keypad -", + "key.keyboard.left.bracket": "[", + "key.keyboard.right.bracket": "]", + "key.keyboard.minus": "-", + "key.keyboard.num.lock": "Num Lock", + "key.keyboard.caps.lock": "Caps Lock", + "key.keyboard.scroll.lock": "Scroll Lock", + "key.keyboard.page.down": "Page Down", + "key.keyboard.page.up": "Page Up", + "key.keyboard.pause": "Pause", + "key.keyboard.period": ".", + "key.keyboard.left.control": "Left Control", + "key.keyboard.right.control": "Right Control", + "key.keyboard.left.alt": "Left Alt", + "key.keyboard.right.alt": "Right Alt", + "key.keyboard.left.shift": "Left Shift", + "key.keyboard.right.shift": "Right Shift", + "key.keyboard.left.win": "Left Win", + "key.keyboard.right.win": "Right Win", + "key.keyboard.semicolon": ";", + "key.keyboard.slash": "/", + "key.keyboard.space": "Space", + "key.keyboard.tab": "Tab", + "key.keyboard.up": "Up Arrow", + "key.keyboard.down": "Down Arrow", + "key.keyboard.left": "Left Arrow", + "key.keyboard.right": "Right Arrow", + "key.keyboard.menu": "Menu", + "key.keyboard.print.screen": "Print Screen", + "key.keyboard.world.1": "World 1", + "key.keyboard.world.2": "World 2", + "resourcePack.openFolder": "Open Resource Pack Folder", + "resourcePack.title": "Select Resource Packs", + "resourcePack.available.title": "Available Resource Packs", + "resourcePack.selected.title": "Selected Resource Packs", + "resourcePack.folderInfo": "(Place resource pack files here)", + "resourcePack.incompatible": "Incompatible", + "resourcePack.incompatible.old": "(Made for an older version of Minecraft)", + "resourcePack.incompatible.new": "(Made for a newer version of Minecraft)", + "resourcePack.incompatible.confirm.title": "Are you sure you want to load this resource pack?", + "resourcePack.incompatible.confirm.old": "This resource pack was made for an older version of Minecraft and may no longer work correctly.", + "resourcePack.incompatible.confirm.new": "This resource pack was made for a newer version of Minecraft and may no longer work correctly.", + "resourcePack.server.name": "World Specific Resources", + "resourcePack.broken_assets": "BROKEN ASSETS DETECTED", + "sign.edit": "Edit sign message", + "book.pageIndicator": "Page %1$s of %2$s", + "book.byAuthor": "by %1$s", + "book.signButton": "Sign", + "book.editTitle": "Enter Book Title:", + "book.finalizeButton": "Sign and Close", + "book.finalizeWarning": "Note! When you sign the book, it will no longer be editable.", + "book.generation.0": "Original", + "book.generation.1": "Copy of original", + "book.generation.2": "Copy of a copy", + "book.generation.3": "Tattered", + "book.invalid.tag": "* Invalid book tag *", + "merchant.deprecated": "Villagers restock up to two times per day.", + "merchant.current_level": "Trader's current level", + "merchant.next_level": "Trader's next level", + "merchant.level.1": "Novice", + "merchant.level.2": "Apprentice", + "merchant.level.3": "Journeyman", + "merchant.level.4": "Expert", + "merchant.level.5": "Master", + "merchant.trades": "Trades", + "block.minecraft.air": "Air", + "block.minecraft.barrier": "Barrier", + "block.minecraft.stone": "Stone", + "block.minecraft.granite": "Granite", + "block.minecraft.polished_granite": "Polished Granite", + "block.minecraft.diorite": "Diorite", + "block.minecraft.polished_diorite": "Polished Diorite", + "block.minecraft.andesite": "Andesite", + "block.minecraft.polished_andesite": "Polished Andesite", + "block.minecraft.hay_block": "Hay Bale", + "block.minecraft.grass_block": "Grass Block", + "block.minecraft.dirt": "Dirt", + "block.minecraft.coarse_dirt": "Coarse Dirt", + "block.minecraft.podzol": "Podzol", + "block.minecraft.cobblestone": "Cobblestone", + "block.minecraft.oak_planks": "Oak Planks", + "block.minecraft.spruce_planks": "Spruce Planks", + "block.minecraft.birch_planks": "Birch Planks", + "block.minecraft.jungle_planks": "Jungle Planks", + "block.minecraft.acacia_planks": "Acacia Planks", + "block.minecraft.dark_oak_planks": "Dark Oak Planks", + "block.minecraft.oak_sapling": "Oak Sapling", + "block.minecraft.spruce_sapling": "Spruce Sapling", + "block.minecraft.birch_sapling": "Birch Sapling", + "block.minecraft.jungle_sapling": "Jungle Sapling", + "block.minecraft.acacia_sapling": "Acacia Sapling", + "block.minecraft.dark_oak_sapling": "Dark Oak Sapling", + "block.minecraft.oak_door": "Oak Door", + "block.minecraft.spruce_door": "Spruce Door", + "block.minecraft.birch_door": "Birch Door", + "block.minecraft.jungle_door": "Jungle Door", + "block.minecraft.acacia_door": "Acacia Door", + "block.minecraft.dark_oak_door": "Dark Oak Door", + "block.minecraft.bedrock": "Bedrock", + "block.minecraft.water": "Water", + "block.minecraft.lava": "Lava", + "block.minecraft.flowing_water": "Flowing Water", + "block.minecraft.flowing_lava": "Flowing Lava", + "block.minecraft.sand": "Sand", + "block.minecraft.red_sand": "Red Sand", + "block.minecraft.sandstone": "Sandstone", + "block.minecraft.chiseled_sandstone": "Chiseled Sandstone", + "block.minecraft.cut_sandstone": "Cut Sandstone", + "block.minecraft.red_sandstone": "Red Sandstone", + "block.minecraft.chiseled_red_sandstone": "Chiseled Red Sandstone", + "block.minecraft.cut_red_sandstone": "Cut Red Sandstone", + "block.minecraft.gravel": "Gravel", + "block.minecraft.gold_ore": "Gold Ore", + "block.minecraft.iron_ore": "Iron Ore", + "block.minecraft.coal_ore": "Coal Ore", + "block.minecraft.oak_wood": "Oak Wood", + "block.minecraft.spruce_wood": "Spruce Wood", + "block.minecraft.birch_wood": "Birch Wood", + "block.minecraft.jungle_wood": "Jungle Wood", + "block.minecraft.acacia_wood": "Acacia Wood", + "block.minecraft.dark_oak_wood": "Dark Oak Wood", + "block.minecraft.oak_log": "Oak Log", + "block.minecraft.spruce_log": "Spruce Log", + "block.minecraft.birch_log": "Birch Log", + "block.minecraft.jungle_log": "Jungle Log", + "block.minecraft.acacia_log": "Acacia Log", + "block.minecraft.dark_oak_log": "Dark Oak Log", + "block.minecraft.stripped_oak_log": "Stripped Oak Log", + "block.minecraft.stripped_spruce_log": "Stripped Spruce Log", + "block.minecraft.stripped_birch_log": "Stripped Birch Log", + "block.minecraft.stripped_jungle_log": "Stripped Jungle Log", + "block.minecraft.stripped_acacia_log": "Stripped Acacia Log", + "block.minecraft.stripped_dark_oak_log": "Stripped Dark Oak Log", + "block.minecraft.stripped_oak_wood": "Stripped Oak Wood", + "block.minecraft.stripped_spruce_wood": "Stripped Spruce Wood", + "block.minecraft.stripped_birch_wood": "Stripped Birch Wood", + "block.minecraft.stripped_jungle_wood": "Stripped Jungle Wood", + "block.minecraft.stripped_acacia_wood": "Stripped Acacia Wood", + "block.minecraft.stripped_dark_oak_wood": "Stripped Dark Oak Wood", + "block.minecraft.oak_leaves": "Oak Leaves", + "block.minecraft.spruce_leaves": "Spruce Leaves", + "block.minecraft.birch_leaves": "Birch Leaves", + "block.minecraft.jungle_leaves": "Jungle Leaves", + "block.minecraft.acacia_leaves": "Acacia Leaves", + "block.minecraft.dark_oak_leaves": "Dark Oak Leaves", + "block.minecraft.dead_bush": "Dead Bush", + "block.minecraft.grass": "Grass", + "block.minecraft.fern": "Fern", + "block.minecraft.sponge": "Sponge", + "block.minecraft.wet_sponge": "Wet Sponge", + "block.minecraft.glass": "Glass", + "block.minecraft.kelp_plant": "Kelp Plant", + "block.minecraft.kelp": "Kelp", + "block.minecraft.dried_kelp_block": "Dried Kelp Block", + "block.minecraft.white_stained_glass": "White Stained Glass", + "block.minecraft.orange_stained_glass": "Orange Stained Glass", + "block.minecraft.magenta_stained_glass": "Magenta Stained Glass", + "block.minecraft.light_blue_stained_glass": "Light Blue Stained Glass", + "block.minecraft.yellow_stained_glass": "Yellow Stained Glass", + "block.minecraft.lime_stained_glass": "Lime Stained Glass", + "block.minecraft.pink_stained_glass": "Pink Stained Glass", + "block.minecraft.gray_stained_glass": "Gray Stained Glass", + "block.minecraft.light_gray_stained_glass": "Light Gray Stained Glass", + "block.minecraft.cyan_stained_glass": "Cyan Stained Glass", + "block.minecraft.purple_stained_glass": "Purple Stained Glass", + "block.minecraft.blue_stained_glass": "Blue Stained Glass", + "block.minecraft.brown_stained_glass": "Brown Stained Glass", + "block.minecraft.green_stained_glass": "Green Stained Glass", + "block.minecraft.red_stained_glass": "Red Stained Glass", + "block.minecraft.black_stained_glass": "Black Stained Glass", + "block.minecraft.white_stained_glass_pane": "White Stained Glass Pane", + "block.minecraft.orange_stained_glass_pane": "Orange Stained Glass Pane", + "block.minecraft.magenta_stained_glass_pane": "Magenta Stained Glass Pane", + "block.minecraft.light_blue_stained_glass_pane": "Light Blue Stained Glass Pane", + "block.minecraft.yellow_stained_glass_pane": "Yellow Stained Glass Pane", + "block.minecraft.lime_stained_glass_pane": "Lime Stained Glass Pane", + "block.minecraft.pink_stained_glass_pane": "Pink Stained Glass Pane", + "block.minecraft.gray_stained_glass_pane": "Gray Stained Glass Pane", + "block.minecraft.light_gray_stained_glass_pane": "Light Gray Stained Glass Pane", + "block.minecraft.cyan_stained_glass_pane": "Cyan Stained Glass Pane", + "block.minecraft.purple_stained_glass_pane": "Purple Stained Glass Pane", + "block.minecraft.blue_stained_glass_pane": "Blue Stained Glass Pane", + "block.minecraft.brown_stained_glass_pane": "Brown Stained Glass Pane", + "block.minecraft.green_stained_glass_pane": "Green Stained Glass Pane", + "block.minecraft.red_stained_glass_pane": "Red Stained Glass Pane", + "block.minecraft.black_stained_glass_pane": "Black Stained Glass Pane", + "block.minecraft.glass_pane": "Glass Pane", + "block.minecraft.dandelion": "Dandelion", + "block.minecraft.poppy": "Poppy", + "block.minecraft.blue_orchid": "Blue Orchid", + "block.minecraft.allium": "Allium", + "block.minecraft.azure_bluet": "Azure Bluet", + "block.minecraft.red_tulip": "Red Tulip", + "block.minecraft.orange_tulip": "Orange Tulip", + "block.minecraft.white_tulip": "White Tulip", + "block.minecraft.pink_tulip": "Pink Tulip", + "block.minecraft.oxeye_daisy": "Oxeye Daisy", + "block.minecraft.cornflower": "Cornflower", + "block.minecraft.lily_of_the_valley": "Lily of the Valley", + "block.minecraft.wither_rose": "Wither Rose", + "block.minecraft.sunflower": "Sunflower", + "block.minecraft.lilac": "Lilac", + "block.minecraft.tall_grass": "Tall Grass", + "block.minecraft.tall_seagrass": "Tall Seagrass", + "block.minecraft.large_fern": "Large Fern", + "block.minecraft.rose_bush": "Rose Bush", + "block.minecraft.peony": "Peony", + "block.minecraft.seagrass": "Seagrass", + "block.minecraft.sea_pickle": "Sea Pickle", + "block.minecraft.brown_mushroom": "Brown Mushroom", + "block.minecraft.red_mushroom_block": "Red Mushroom Block", + "block.minecraft.brown_mushroom_block": "Brown Mushroom Block", + "block.minecraft.mushroom_stem": "Mushroom Stem", + "block.minecraft.gold_block": "Block of Gold", + "block.minecraft.iron_block": "Block of Iron", + "block.minecraft.smooth_stone": "Smooth Stone", + "block.minecraft.smooth_sandstone": "Smooth Sandstone", + "block.minecraft.smooth_red_sandstone": "Smooth Red Sandstone", + "block.minecraft.smooth_quartz": "Smooth Quartz", + "block.minecraft.stone_slab": "Stone Slab", + "block.minecraft.smooth_stone_slab": "Smooth Stone Slab", + "block.minecraft.sandstone_slab": "Sandstone Slab", + "block.minecraft.red_sandstone_slab": "Red Sandstone Slab", + "block.minecraft.cut_sandstone_slab": "Cut Sandstone Slab", + "block.minecraft.cut_red_sandstone_slab": "Cut Red Sandstone Slab", + "block.minecraft.petrified_oak_slab": "Petrified Oak Slab", + "block.minecraft.cobblestone_slab": "Cobblestone Slab", + "block.minecraft.brick_slab": "Brick Slab", + "block.minecraft.stone_brick_slab": "Stone Brick Slab", + "block.minecraft.nether_brick_slab": "Nether Brick Slab", + "block.minecraft.quartz_slab": "Quartz Slab", + "block.minecraft.oak_slab": "Oak Slab", + "block.minecraft.spruce_slab": "Spruce Slab", + "block.minecraft.birch_slab": "Birch Slab", + "block.minecraft.jungle_slab": "Jungle Slab", + "block.minecraft.acacia_slab": "Acacia Slab", + "block.minecraft.dark_oak_slab": "Dark Oak Slab", + "block.minecraft.dark_prismarine_slab": "Dark Prismarine Slab", + "block.minecraft.prismarine_slab": "Prismarine Slab", + "block.minecraft.prismarine_brick_slab": "Prismarine Brick Slab", + "block.minecraft.bricks": "Bricks", + "block.minecraft.tnt": "TNT", + "block.minecraft.bookshelf": "Bookshelf", + "block.minecraft.mossy_cobblestone": "Mossy Cobblestone", + "block.minecraft.obsidian": "Obsidian", + "block.minecraft.torch": "Torch", + "block.minecraft.wall_torch": "Wall Torch", + "block.minecraft.fire": "Fire", + "block.minecraft.spawner": "Spawner", + "block.minecraft.oak_stairs": "Oak Stairs", + "block.minecraft.spruce_stairs": "Spruce Stairs", + "block.minecraft.birch_stairs": "Birch Stairs", + "block.minecraft.jungle_stairs": "Jungle Stairs", + "block.minecraft.acacia_stairs": "Acacia Stairs", + "block.minecraft.dark_oak_stairs": "Dark Oak Stairs", + "block.minecraft.dark_prismarine_stairs": "Dark Prismarine Stairs", + "block.minecraft.prismarine_stairs": "Prismarine Stairs", + "block.minecraft.prismarine_brick_stairs": "Prismarine Brick Stairs", + "block.minecraft.chest": "Chest", + "block.minecraft.trapped_chest": "Trapped Chest", + "block.minecraft.redstone_wire": "Redstone Wire", + "block.minecraft.diamond_ore": "Diamond Ore", + "block.minecraft.coal_block": "Block of Coal", + "block.minecraft.diamond_block": "Block of Diamond", + "block.minecraft.crafting_table": "Crafting Table", + "block.minecraft.wheat": "Wheat Crops", + "block.minecraft.farmland": "Farmland", + "block.minecraft.furnace": "Furnace", + "block.minecraft.oak_sign": "Oak Sign", + "block.minecraft.spruce_sign": "Spruce Sign", + "block.minecraft.birch_sign": "Birch Sign", + "block.minecraft.acacia_sign": "Acacia Sign", + "block.minecraft.jungle_sign": "Jungle Sign", + "block.minecraft.dark_oak_sign": "Dark Oak Sign", + "block.minecraft.oak_wall_sign": "Oak Wall Sign", + "block.minecraft.spruce_wall_sign": "Spruce Wall Sign", + "block.minecraft.birch_wall_sign": "Birch Wall Sign", + "block.minecraft.acacia_wall_sign": "Acacia Wall Sign", + "block.minecraft.jungle_wall_sign": "Jungle Wall Sign", + "block.minecraft.dark_oak_wall_sign": "Dark Oak Wall Sign", + "block.minecraft.ladder": "Ladder", + "block.minecraft.scaffolding": "Scaffolding", + "block.minecraft.rail": "Rail", + "block.minecraft.powered_rail": "Powered Rail", + "block.minecraft.activator_rail": "Activator Rail", + "block.minecraft.detector_rail": "Detector Rail", + "block.minecraft.cobblestone_stairs": "Cobblestone Stairs", + "block.minecraft.sandstone_stairs": "Sandstone Stairs", + "block.minecraft.red_sandstone_stairs": "Red Sandstone Stairs", + "block.minecraft.lever": "Lever", + "block.minecraft.stone_pressure_plate": "Stone Pressure Plate", + "block.minecraft.oak_pressure_plate": "Oak Pressure Plate", + "block.minecraft.spruce_pressure_plate": "Spruce Pressure Plate", + "block.minecraft.birch_pressure_plate": "Birch Pressure Plate", + "block.minecraft.jungle_pressure_plate": "Jungle Pressure Plate", + "block.minecraft.acacia_pressure_plate": "Acacia Pressure Plate", + "block.minecraft.dark_oak_pressure_plate": "Dark Oak Pressure Plate", + "block.minecraft.light_weighted_pressure_plate": "Light Weighted Pressure Plate", + "block.minecraft.heavy_weighted_pressure_plate": "Heavy Weighted Pressure Plate", + "block.minecraft.iron_door": "Iron Door", + "block.minecraft.redstone_ore": "Redstone Ore", + "block.minecraft.redstone_torch": "Redstone Torch", + "block.minecraft.redstone_wall_torch": "Redstone Wall Torch", + "block.minecraft.stone_button": "Stone Button", + "block.minecraft.oak_button": "Oak Button", + "block.minecraft.spruce_button": "Spruce Button", + "block.minecraft.birch_button": "Birch Button", + "block.minecraft.jungle_button": "Jungle Button", + "block.minecraft.acacia_button": "Acacia Button", + "block.minecraft.dark_oak_button": "Dark Oak Button", + "block.minecraft.snow": "Snow", + "block.minecraft.white_carpet": "White Carpet", + "block.minecraft.orange_carpet": "Orange Carpet", + "block.minecraft.magenta_carpet": "Magenta Carpet", + "block.minecraft.light_blue_carpet": "Light Blue Carpet", + "block.minecraft.yellow_carpet": "Yellow Carpet", + "block.minecraft.lime_carpet": "Lime Carpet", + "block.minecraft.pink_carpet": "Pink Carpet", + "block.minecraft.gray_carpet": "Gray Carpet", + "block.minecraft.light_gray_carpet": "Light Gray Carpet", + "block.minecraft.cyan_carpet": "Cyan Carpet", + "block.minecraft.purple_carpet": "Purple Carpet", + "block.minecraft.blue_carpet": "Blue Carpet", + "block.minecraft.brown_carpet": "Brown Carpet", + "block.minecraft.green_carpet": "Green Carpet", + "block.minecraft.red_carpet": "Red Carpet", + "block.minecraft.black_carpet": "Black Carpet", + "block.minecraft.ice": "Ice", + "block.minecraft.frosted_ice": "Frosted Ice", + "block.minecraft.packed_ice": "Packed Ice", + "block.minecraft.blue_ice": "Blue Ice", + "block.minecraft.cactus": "Cactus", + "block.minecraft.clay": "Clay", + "block.minecraft.white_terracotta": "White Terracotta", + "block.minecraft.orange_terracotta": "Orange Terracotta", + "block.minecraft.magenta_terracotta": "Magenta Terracotta", + "block.minecraft.light_blue_terracotta": "Light Blue Terracotta", + "block.minecraft.yellow_terracotta": "Yellow Terracotta", + "block.minecraft.lime_terracotta": "Lime Terracotta", + "block.minecraft.pink_terracotta": "Pink Terracotta", + "block.minecraft.gray_terracotta": "Gray Terracotta", + "block.minecraft.light_gray_terracotta": "Light Gray Terracotta", + "block.minecraft.cyan_terracotta": "Cyan Terracotta", + "block.minecraft.purple_terracotta": "Purple Terracotta", + "block.minecraft.blue_terracotta": "Blue Terracotta", + "block.minecraft.brown_terracotta": "Brown Terracotta", + "block.minecraft.green_terracotta": "Green Terracotta", + "block.minecraft.red_terracotta": "Red Terracotta", + "block.minecraft.black_terracotta": "Black Terracotta", + "block.minecraft.terracotta": "Terracotta", + "block.minecraft.sugar_cane": "Sugar Cane", + "block.minecraft.jukebox": "Jukebox", + "block.minecraft.oak_fence": "Oak Fence", + "block.minecraft.spruce_fence": "Spruce Fence", + "block.minecraft.birch_fence": "Birch Fence", + "block.minecraft.jungle_fence": "Jungle Fence", + "block.minecraft.dark_oak_fence": "Dark Oak Fence", + "block.minecraft.acacia_fence": "Acacia Fence", + "block.minecraft.oak_fence_gate": "Oak Fence Gate", + "block.minecraft.spruce_fence_gate": "Spruce Fence Gate", + "block.minecraft.birch_fence_gate": "Birch Fence Gate", + "block.minecraft.jungle_fence_gate": "Jungle Fence Gate", + "block.minecraft.dark_oak_fence_gate": "Dark Oak Fence Gate", + "block.minecraft.acacia_fence_gate": "Acacia Fence Gate", + "block.minecraft.pumpkin_stem": "Pumpkin Stem", + "block.minecraft.attached_pumpkin_stem": "Attached Pumpkin Stem", + "block.minecraft.pumpkin": "Pumpkin", + "block.minecraft.carved_pumpkin": "Carved Pumpkin", + "block.minecraft.jack_o_lantern": "Jack o'Lantern", + "block.minecraft.netherrack": "Netherrack", + "block.minecraft.soul_sand": "Soul Sand", + "block.minecraft.glowstone": "Glowstone", + "block.minecraft.nether_portal": "Nether Portal", + "block.minecraft.white_wool": "White Wool", + "block.minecraft.orange_wool": "Orange Wool", + "block.minecraft.magenta_wool": "Magenta Wool", + "block.minecraft.light_blue_wool": "Light Blue Wool", + "block.minecraft.yellow_wool": "Yellow Wool", + "block.minecraft.lime_wool": "Lime Wool", + "block.minecraft.pink_wool": "Pink Wool", + "block.minecraft.gray_wool": "Gray Wool", + "block.minecraft.light_gray_wool": "Light Gray Wool", + "block.minecraft.cyan_wool": "Cyan Wool", + "block.minecraft.purple_wool": "Purple Wool", + "block.minecraft.blue_wool": "Blue Wool", + "block.minecraft.brown_wool": "Brown Wool", + "block.minecraft.green_wool": "Green Wool", + "block.minecraft.red_wool": "Red Wool", + "block.minecraft.black_wool": "Black Wool", + "block.minecraft.lapis_ore": "Lapis Lazuli Ore", + "block.minecraft.lapis_block": "Lapis Lazuli Block", + "block.minecraft.dispenser": "Dispenser", + "block.minecraft.dropper": "Dropper", + "block.minecraft.note_block": "Note Block", + "block.minecraft.cake": "Cake", + "block.minecraft.bed": "Bed", + "block.minecraft.bed.occupied": "This bed is occupied", + "block.minecraft.bed.obstructed": "This bed is obstructed", + "block.minecraft.bed.no_sleep": "You can sleep only at night and during thunderstorms", + "block.minecraft.bed.too_far_away": "You may not rest now; the bed is too far away", + "block.minecraft.bed.not_safe": "You may not rest now; there are monsters nearby", + "block.minecraft.bed.not_valid": "Your home bed was missing or obstructed", + "block.minecraft.oak_trapdoor": "Oak Trapdoor", + "block.minecraft.spruce_trapdoor": "Spruce Trapdoor", + "block.minecraft.birch_trapdoor": "Birch Trapdoor", + "block.minecraft.jungle_trapdoor": "Jungle Trapdoor", + "block.minecraft.acacia_trapdoor": "Acacia Trapdoor", + "block.minecraft.dark_oak_trapdoor": "Dark Oak Trapdoor", + "block.minecraft.iron_trapdoor": "Iron Trapdoor", + "block.minecraft.cobweb": "Cobweb", + "block.minecraft.stone_bricks": "Stone Bricks", + "block.minecraft.mossy_stone_bricks": "Mossy Stone Bricks", + "block.minecraft.cracked_stone_bricks": "Cracked Stone Bricks", + "block.minecraft.chiseled_stone_bricks": "Chiseled Stone Bricks", + "block.minecraft.infested_stone": "Infested Stone", + "block.minecraft.infested_cobblestone": "Infested Cobblestone", + "block.minecraft.infested_stone_bricks": "Infested Stone Bricks", + "block.minecraft.infested_mossy_stone_bricks": "Infested Mossy Stone Bricks", + "block.minecraft.infested_cracked_stone_bricks": "Infested Cracked Stone Bricks", + "block.minecraft.infested_chiseled_stone_bricks": "Infested Chiseled Stone Bricks", + "block.minecraft.piston": "Piston", + "block.minecraft.sticky_piston": "Sticky Piston", + "block.minecraft.iron_bars": "Iron Bars", + "block.minecraft.melon": "Melon", + "block.minecraft.brick_stairs": "Brick Stairs", + "block.minecraft.stone_brick_stairs": "Stone Brick Stairs", + "block.minecraft.vine": "Vines", + "block.minecraft.nether_bricks": "Nether Bricks", + "block.minecraft.nether_brick_fence": "Nether Brick Fence", + "block.minecraft.nether_brick_stairs": "Nether Brick Stairs", + "block.minecraft.nether_wart": "Nether Wart", + "block.minecraft.cauldron": "Cauldron", + "block.minecraft.enchanting_table": "Enchanting Table", + "block.minecraft.anvil": "Anvil", + "block.minecraft.chipped_anvil": "Chipped Anvil", + "block.minecraft.damaged_anvil": "Damaged Anvil", + "block.minecraft.end_stone": "End Stone", + "block.minecraft.end_portal_frame": "End Portal Frame", + "block.minecraft.mycelium": "Mycelium", + "block.minecraft.lily_pad": "Lily Pad", + "block.minecraft.dragon_egg": "Dragon Egg", + "block.minecraft.redstone_lamp": "Redstone Lamp", + "block.minecraft.cocoa": "Cocoa", + "block.minecraft.ender_chest": "Ender Chest", + "block.minecraft.emerald_ore": "Emerald Ore", + "block.minecraft.emerald_block": "Block of Emerald", + "block.minecraft.redstone_block": "Block of Redstone", + "block.minecraft.tripwire": "Tripwire", + "block.minecraft.tripwire_hook": "Tripwire Hook", + "block.minecraft.command_block": "Command Block", + "block.minecraft.repeating_command_block": "Repeating Command Block", + "block.minecraft.chain_command_block": "Chain Command Block", + "block.minecraft.beacon": "Beacon", + "block.minecraft.beacon.primary": "Primary Power", + "block.minecraft.beacon.secondary": "Secondary Power", + "block.minecraft.cobblestone_wall": "Cobblestone Wall", + "block.minecraft.mossy_cobblestone_wall": "Mossy Cobblestone Wall", + "block.minecraft.carrots": "Carrots", + "block.minecraft.potatoes": "Potatoes", + "block.minecraft.daylight_detector": "Daylight Detector", + "block.minecraft.nether_quartz_ore": "Nether Quartz Ore", + "block.minecraft.hopper": "Hopper", + "block.minecraft.quartz_block": "Block of Quartz", + "block.minecraft.chiseled_quartz_block": "Chiseled Quartz Block", + "block.minecraft.quartz_pillar": "Quartz Pillar", + "block.minecraft.quartz_stairs": "Quartz Stairs", + "block.minecraft.slime_block": "Slime Block", + "block.minecraft.prismarine": "Prismarine", + "block.minecraft.prismarine_bricks": "Prismarine Bricks", + "block.minecraft.dark_prismarine": "Dark Prismarine", + "block.minecraft.sea_lantern": "Sea Lantern", + "block.minecraft.end_rod": "End Rod", + "block.minecraft.chorus_plant": "Chorus Plant", + "block.minecraft.chorus_flower": "Chorus Flower", + "block.minecraft.purpur_block": "Purpur Block", + "block.minecraft.purpur_pillar": "Purpur Pillar", + "block.minecraft.purpur_stairs": "Purpur Stairs", + "block.minecraft.purpur_slab": "Purpur Slab", + "block.minecraft.end_stone_bricks": "End Stone Bricks", + "block.minecraft.beetroots": "Beetroots", + "block.minecraft.grass_path": "Grass Path", + "block.minecraft.magma_block": "Magma Block", + "block.minecraft.nether_wart_block": "Nether Wart Block", + "block.minecraft.red_nether_bricks": "Red Nether Bricks", + "block.minecraft.bone_block": "Bone Block", + "block.minecraft.observer": "Observer", + "block.minecraft.shulker_box": "Shulker Box", + "block.minecraft.white_shulker_box": "White Shulker Box", + "block.minecraft.orange_shulker_box": "Orange Shulker Box", + "block.minecraft.magenta_shulker_box": "Magenta Shulker Box", + "block.minecraft.light_blue_shulker_box": "Light Blue Shulker Box", + "block.minecraft.yellow_shulker_box": "Yellow Shulker Box", + "block.minecraft.lime_shulker_box": "Lime Shulker Box", + "block.minecraft.pink_shulker_box": "Pink Shulker Box", + "block.minecraft.gray_shulker_box": "Gray Shulker Box", + "block.minecraft.light_gray_shulker_box": "Light Gray Shulker Box", + "block.minecraft.cyan_shulker_box": "Cyan Shulker Box", + "block.minecraft.purple_shulker_box": "Purple Shulker Box", + "block.minecraft.blue_shulker_box": "Blue Shulker Box", + "block.minecraft.brown_shulker_box": "Brown Shulker Box", + "block.minecraft.green_shulker_box": "Green Shulker Box", + "block.minecraft.red_shulker_box": "Red Shulker Box", + "block.minecraft.black_shulker_box": "Black Shulker Box", + "block.minecraft.white_glazed_terracotta": "White Glazed Terracotta", + "block.minecraft.orange_glazed_terracotta": "Orange Glazed Terracotta", + "block.minecraft.magenta_glazed_terracotta": "Magenta Glazed Terracotta", + "block.minecraft.light_blue_glazed_terracotta": "Light Blue Glazed Terracotta", + "block.minecraft.yellow_glazed_terracotta": "Yellow Glazed Terracotta", + "block.minecraft.lime_glazed_terracotta": "Lime Glazed Terracotta", + "block.minecraft.pink_glazed_terracotta": "Pink Glazed Terracotta", + "block.minecraft.gray_glazed_terracotta": "Gray Glazed Terracotta", + "block.minecraft.light_gray_glazed_terracotta": "Light Gray Glazed Terracotta", + "block.minecraft.cyan_glazed_terracotta": "Cyan Glazed Terracotta", + "block.minecraft.purple_glazed_terracotta": "Purple Glazed Terracotta", + "block.minecraft.blue_glazed_terracotta": "Blue Glazed Terracotta", + "block.minecraft.brown_glazed_terracotta": "Brown Glazed Terracotta", + "block.minecraft.green_glazed_terracotta": "Green Glazed Terracotta", + "block.minecraft.red_glazed_terracotta": "Red Glazed Terracotta", + "block.minecraft.black_glazed_terracotta": "Black Glazed Terracotta", + "block.minecraft.black_concrete": "Black Concrete", + "block.minecraft.red_concrete": "Red Concrete", + "block.minecraft.green_concrete": "Green Concrete", + "block.minecraft.brown_concrete": "Brown Concrete", + "block.minecraft.blue_concrete": "Blue Concrete", + "block.minecraft.purple_concrete": "Purple Concrete", + "block.minecraft.cyan_concrete": "Cyan Concrete", + "block.minecraft.light_gray_concrete": "Light Gray Concrete", + "block.minecraft.gray_concrete": "Gray Concrete", + "block.minecraft.pink_concrete": "Pink Concrete", + "block.minecraft.lime_concrete": "Lime Concrete", + "block.minecraft.yellow_concrete": "Yellow Concrete", + "block.minecraft.light_blue_concrete": "Light Blue Concrete", + "block.minecraft.magenta_concrete": "Magenta Concrete", + "block.minecraft.orange_concrete": "Orange Concrete", + "block.minecraft.white_concrete": "White Concrete", + "block.minecraft.black_concrete_powder": "Black Concrete Powder", + "block.minecraft.red_concrete_powder": "Red Concrete Powder", + "block.minecraft.green_concrete_powder": "Green Concrete Powder", + "block.minecraft.brown_concrete_powder": "Brown Concrete Powder", + "block.minecraft.blue_concrete_powder": "Blue Concrete Powder", + "block.minecraft.purple_concrete_powder": "Purple Concrete Powder", + "block.minecraft.cyan_concrete_powder": "Cyan Concrete Powder", + "block.minecraft.light_gray_concrete_powder": "Light Gray Concrete Powder", + "block.minecraft.gray_concrete_powder": "Gray Concrete Powder", + "block.minecraft.pink_concrete_powder": "Pink Concrete Powder", + "block.minecraft.lime_concrete_powder": "Lime Concrete Powder", + "block.minecraft.yellow_concrete_powder": "Yellow Concrete Powder", + "block.minecraft.light_blue_concrete_powder": "Light Blue Concrete Powder", + "block.minecraft.magenta_concrete_powder": "Magenta Concrete Powder", + "block.minecraft.orange_concrete_powder": "Orange Concrete Powder", + "block.minecraft.white_concrete_powder": "White Concrete Powder", + "block.minecraft.turtle_egg": "Turtle Egg", + "block.minecraft.two_turtle_eggs": "Two Turtle Eggs", + "block.minecraft.three_turtle_eggs": "Three Turtle Eggs", + "block.minecraft.four_turtle_eggs": "Four Turtle Eggs", + "block.minecraft.banner": "Banner", + "block.minecraft.wall_banner": "Wall Banner", + "block.minecraft.piston_head": "Piston Head", + "block.minecraft.moving_piston": "Moving Piston", + "block.minecraft.red_mushroom": "Red Mushroom", + "block.minecraft.snow_block": "Snow Block", + "block.minecraft.attached_melon_stem": "Attached Melon Stem", + "block.minecraft.melon_stem": "Melon Stem", + "block.minecraft.brewing_stand": "Brewing Stand", + "block.minecraft.end_portal": "End Portal", + "block.minecraft.flower_pot": "Flower Pot", + "block.minecraft.potted_oak_sapling": "Potted Oak Sapling", + "block.minecraft.potted_spruce_sapling": "Potted Spruce Sapling", + "block.minecraft.potted_birch_sapling": "Potted Birch Sapling", + "block.minecraft.potted_jungle_sapling": "Potted Jungle Sapling", + "block.minecraft.potted_acacia_sapling": "Potted Acacia Sapling", + "block.minecraft.potted_dark_oak_sapling": "Potted Dark Oak Sapling", + "block.minecraft.potted_fern": "Potted Fern", + "block.minecraft.potted_dandelion": "Potted Dandelion", + "block.minecraft.potted_poppy": "Potted Poppy", + "block.minecraft.potted_blue_orchid": "Potted Blue Orchid", + "block.minecraft.potted_allium": "Potted Allium", + "block.minecraft.potted_azure_bluet": "Potted Azure Bluet", + "block.minecraft.potted_red_tulip": "Potted Red Tulip", + "block.minecraft.potted_orange_tulip": "Potted Orange Tulip", + "block.minecraft.potted_white_tulip": "Potted White Tulip", + "block.minecraft.potted_pink_tulip": "Potted Pink Tulip", + "block.minecraft.potted_oxeye_daisy": "Potted Oxeye Daisy", + "block.minecraft.potted_cornflower": "Potted Cornflower", + "block.minecraft.potted_lily_of_the_valley": "Potted Lily of the Valley", + "block.minecraft.potted_wither_rose": "Potted Wither Rose", + "block.minecraft.potted_red_mushroom": "Potted Red Mushroom", + "block.minecraft.potted_brown_mushroom": "Potted Brown Mushroom", + "block.minecraft.potted_dead_bush": "Potted Dead Bush", + "block.minecraft.potted_cactus": "Potted Cactus", + "block.minecraft.potted_bamboo": "Potted Bamboo", + "block.minecraft.skeleton_wall_skull": "Skeleton Wall Skull", + "block.minecraft.skeleton_skull": "Skeleton Skull", + "block.minecraft.wither_skeleton_wall_skull": "Wither Skeleton Wall Skull", + "block.minecraft.wither_skeleton_skull": "Wither Skeleton Skull", + "block.minecraft.zombie_wall_head": "Zombie Wall Head", + "block.minecraft.zombie_head": "Zombie Head", + "block.minecraft.player_wall_head": "Player Wall Head", + "block.minecraft.player_head": "Player Head", + "block.minecraft.player_head.named": "%s's Head", + "block.minecraft.creeper_wall_head": "Creeper Wall Head", + "block.minecraft.creeper_head": "Creeper Head", + "block.minecraft.dragon_wall_head": "Dragon Wall Head", + "block.minecraft.dragon_head": "Dragon Head", + "block.minecraft.end_gateway": "End Gateway", + "block.minecraft.structure_void": "Structure Void", + "block.minecraft.structure_block": "Structure Block", + "block.minecraft.void_air": "Void Air", + "block.minecraft.cave_air": "Cave Air", + "block.minecraft.bubble_column": "Bubble Column", + "block.minecraft.dead_tube_coral_block": "Dead Tube Coral Block", + "block.minecraft.dead_brain_coral_block": "Dead Brain Coral Block", + "block.minecraft.dead_bubble_coral_block": "Dead Bubble Coral Block", + "block.minecraft.dead_fire_coral_block": "Dead Fire Coral Block", + "block.minecraft.dead_horn_coral_block": "Dead Horn Coral Block", + "block.minecraft.tube_coral_block": "Tube Coral Block", + "block.minecraft.brain_coral_block": "Brain Coral Block", + "block.minecraft.bubble_coral_block": "Bubble Coral Block", + "block.minecraft.fire_coral_block": "Fire Coral Block", + "block.minecraft.horn_coral_block": "Horn Coral Block", + "block.minecraft.tube_coral": "Tube Coral", + "block.minecraft.brain_coral": "Brain Coral", + "block.minecraft.bubble_coral": "Bubble Coral", + "block.minecraft.fire_coral": "Fire Coral", + "block.minecraft.horn_coral": "Horn Coral", + "block.minecraft.dead_tube_coral": "Dead Tube Coral", + "block.minecraft.dead_brain_coral": "Dead Brain Coral", + "block.minecraft.dead_bubble_coral": "Dead Bubble Coral", + "block.minecraft.dead_fire_coral": "Dead Fire Coral", + "block.minecraft.dead_horn_coral": "Dead Horn Coral", + "block.minecraft.tube_coral_fan": "Tube Coral Fan", + "block.minecraft.brain_coral_fan": "Brain Coral Fan", + "block.minecraft.bubble_coral_fan": "Bubble Coral Fan", + "block.minecraft.fire_coral_fan": "Fire Coral Fan", + "block.minecraft.horn_coral_fan": "Horn Coral Fan", + "block.minecraft.dead_tube_coral_fan": "Dead Tube Coral Fan", + "block.minecraft.dead_brain_coral_fan": "Dead Brain Coral Fan", + "block.minecraft.dead_bubble_coral_fan": "Dead Bubble Coral Fan", + "block.minecraft.dead_fire_coral_fan": "Dead Fire Coral Fan", + "block.minecraft.dead_horn_coral_fan": "Dead Horn Coral Fan", + "block.minecraft.tube_coral_wall_fan": "Tube Coral Wall Fan", + "block.minecraft.brain_coral_wall_fan": "Brain Coral Wall Fan", + "block.minecraft.bubble_coral_wall_fan": "Bubble Coral Wall Fan", + "block.minecraft.fire_coral_wall_fan": "Fire Coral Wall Fan", + "block.minecraft.horn_coral_wall_fan": "Horn Coral Wall Fan", + "block.minecraft.dead_tube_coral_wall_fan": "Dead Tube Coral Wall Fan", + "block.minecraft.dead_brain_coral_wall_fan": "Dead Brain Coral Wall Fan", + "block.minecraft.dead_bubble_coral_wall_fan": "Dead Bubble Coral Wall Fan", + "block.minecraft.dead_fire_coral_wall_fan": "Dead Fire Coral Wall Fan", + "block.minecraft.dead_horn_coral_wall_fan": "Dead Horn Coral Wall Fan", + "block.minecraft.loom": "Loom", + "block.minecraft.conduit": "Conduit", + "block.minecraft.bamboo": "Bamboo", + "block.minecraft.bamboo_sapling": "Bamboo Sapling", + "block.minecraft.jigsaw": "Jigsaw Block", + "block.minecraft.composter": "Composter", + "block.minecraft.polished_granite_stairs": "Polished Granite Stairs", + "block.minecraft.smooth_red_sandstone_stairs": "Smooth Red Sandstone Stairs", + "block.minecraft.mossy_stone_brick_stairs": "Mossy Stone Brick Stairs", + "block.minecraft.polished_diorite_stairs": "Polished Diorite Stairs", + "block.minecraft.mossy_cobblestone_stairs": "Mossy Cobblestone Stairs", + "block.minecraft.end_stone_brick_stairs": "End Stone Brick Stairs", + "block.minecraft.stone_stairs": "Stone Stairs", + "block.minecraft.smooth_sandstone_stairs": "Smooth Sandstone Stairs", + "block.minecraft.smooth_quartz_stairs": "Smooth Quartz Stairs", + "block.minecraft.granite_stairs": "Granite Stairs", + "block.minecraft.andesite_stairs": "Andesite Stairs", + "block.minecraft.red_nether_brick_stairs": "Red Nether Brick Stairs", + "block.minecraft.polished_andesite_stairs": "Polished Andesite Stairs", + "block.minecraft.diorite_stairs": "Diorite Stairs", + "block.minecraft.polished_granite_slab": "Polished Granite Slab", + "block.minecraft.smooth_red_sandstone_slab": "Smooth Red Sandstone Slab", + "block.minecraft.mossy_stone_brick_slab": "Mossy Stone Brick Slab", + "block.minecraft.polished_diorite_slab": "Polished Diorite Slab", + "block.minecraft.mossy_cobblestone_slab": "Mossy Cobblestone Slab", + "block.minecraft.end_stone_brick_slab": "End Stone Brick Slab", + "block.minecraft.smooth_sandstone_slab": "Smooth Sandstone Slab", + "block.minecraft.smooth_quartz_slab": "Smooth Quartz Slab", + "block.minecraft.granite_slab": "Granite Slab", + "block.minecraft.andesite_slab": "Andesite Slab", + "block.minecraft.red_nether_brick_slab": "Red Nether Brick Slab", + "block.minecraft.polished_andesite_slab": "Polished Andesite Slab", + "block.minecraft.diorite_slab": "Diorite Slab", + "block.minecraft.brick_wall": "Brick Wall", + "block.minecraft.prismarine_wall": "Prismarine Wall", + "block.minecraft.red_sandstone_wall": "Red Sandstone Wall", + "block.minecraft.mossy_stone_brick_wall": "Mossy Stone Brick Wall", + "block.minecraft.granite_wall": "Granite Wall", + "block.minecraft.stone_brick_wall": "Stone Brick Wall", + "block.minecraft.nether_brick_wall": "Nether Brick Wall", + "block.minecraft.andesite_wall": "Andesite Wall", + "block.minecraft.red_nether_brick_wall": "Red Nether Brick Wall", + "block.minecraft.sandstone_wall": "Sandstone Wall", + "block.minecraft.end_stone_brick_wall": "End Stone Brick Wall", + "block.minecraft.diorite_wall": "Diorite Wall", + "block.minecraft.barrel": "Barrel", + "block.minecraft.smoker": "Smoker", + "block.minecraft.blast_furnace": "Blast Furnace", + "block.minecraft.cartography_table": "Cartography Table", + "block.minecraft.fletching_table": "Fletching Table", + "block.minecraft.smithing_table": "Smithing Table", + "block.minecraft.grindstone": "Grindstone", + "block.minecraft.lectern": "Lectern", + "block.minecraft.stonecutter": "Stonecutter", + "block.minecraft.bell": "Bell", + "block.minecraft.ominous_banner": "Ominous Banner", + "block.minecraft.lantern": "Lantern", + "block.minecraft.sweet_berry_bush": "Sweet Berry Bush", + "block.minecraft.campfire": "Campfire", + "item.minecraft.name_tag": "Name Tag", + "item.minecraft.lead": "Lead", + "item.minecraft.iron_shovel": "Iron Shovel", + "item.minecraft.iron_pickaxe": "Iron Pickaxe", + "item.minecraft.iron_axe": "Iron Axe", + "item.minecraft.flint_and_steel": "Flint and Steel", + "item.minecraft.apple": "Apple", + "item.minecraft.cookie": "Cookie", + "item.minecraft.bow": "Bow", + "item.minecraft.arrow": "Arrow", + "item.minecraft.spectral_arrow": "Spectral Arrow", + "item.minecraft.tipped_arrow": "Tipped Arrow", + "item.minecraft.dried_kelp": "Dried Kelp", + "item.minecraft.coal": "Coal", + "item.minecraft.charcoal": "Charcoal", + "item.minecraft.diamond": "Diamond", + "item.minecraft.emerald": "Emerald", + "item.minecraft.iron_ingot": "Iron Ingot", + "item.minecraft.gold_ingot": "Gold Ingot", + "item.minecraft.iron_sword": "Iron Sword", + "item.minecraft.wooden_sword": "Wooden Sword", + "item.minecraft.wooden_shovel": "Wooden Shovel", + "item.minecraft.wooden_pickaxe": "Wooden Pickaxe", + "item.minecraft.wooden_axe": "Wooden Axe", + "item.minecraft.stone_sword": "Stone Sword", + "item.minecraft.stone_shovel": "Stone Shovel", + "item.minecraft.stone_pickaxe": "Stone Pickaxe", + "item.minecraft.stone_axe": "Stone Axe", + "item.minecraft.diamond_sword": "Diamond Sword", + "item.minecraft.diamond_shovel": "Diamond Shovel", + "item.minecraft.diamond_pickaxe": "Diamond Pickaxe", + "item.minecraft.diamond_axe": "Diamond Axe", + "item.minecraft.stick": "Stick", + "item.minecraft.bowl": "Bowl", + "item.minecraft.mushroom_stew": "Mushroom Stew", + "item.minecraft.golden_sword": "Golden Sword", + "item.minecraft.golden_shovel": "Golden Shovel", + "item.minecraft.golden_pickaxe": "Golden Pickaxe", + "item.minecraft.golden_axe": "Golden Axe", + "item.minecraft.string": "String", + "item.minecraft.feather": "Feather", + "item.minecraft.gunpowder": "Gunpowder", + "item.minecraft.wooden_hoe": "Wooden Hoe", + "item.minecraft.stone_hoe": "Stone Hoe", + "item.minecraft.iron_hoe": "Iron Hoe", + "item.minecraft.diamond_hoe": "Diamond Hoe", + "item.minecraft.golden_hoe": "Golden Hoe", + "item.minecraft.wheat_seeds": "Wheat Seeds", + "item.minecraft.pumpkin_seeds": "Pumpkin Seeds", + "item.minecraft.melon_seeds": "Melon Seeds", + "item.minecraft.melon_slice": "Melon Slice", + "item.minecraft.wheat": "Wheat", + "item.minecraft.bread": "Bread", + "item.minecraft.leather_helmet": "Leather Cap", + "item.minecraft.leather_chestplate": "Leather Tunic", + "item.minecraft.leather_leggings": "Leather Pants", + "item.minecraft.leather_boots": "Leather Boots", + "item.minecraft.chainmail_helmet": "Chainmail Helmet", + "item.minecraft.chainmail_chestplate": "Chainmail Chestplate", + "item.minecraft.chainmail_leggings": "Chainmail Leggings", + "item.minecraft.chainmail_boots": "Chainmail Boots", + "item.minecraft.iron_helmet": "Iron Helmet", + "item.minecraft.iron_chestplate": "Iron Chestplate", + "item.minecraft.iron_leggings": "Iron Leggings", + "item.minecraft.iron_boots": "Iron Boots", + "item.minecraft.diamond_helmet": "Diamond Helmet", + "item.minecraft.diamond_chestplate": "Diamond Chestplate", + "item.minecraft.diamond_leggings": "Diamond Leggings", + "item.minecraft.diamond_boots": "Diamond Boots", + "item.minecraft.golden_helmet": "Golden Helmet", + "item.minecraft.golden_chestplate": "Golden Chestplate", + "item.minecraft.golden_leggings": "Golden Leggings", + "item.minecraft.golden_boots": "Golden Boots", + "item.minecraft.flint": "Flint", + "item.minecraft.porkchop": "Raw Porkchop", + "item.minecraft.cooked_porkchop": "Cooked Porkchop", + "item.minecraft.chicken": "Raw Chicken", + "item.minecraft.cooked_chicken": "Cooked Chicken", + "item.minecraft.mutton": "Raw Mutton", + "item.minecraft.cooked_mutton": "Cooked Mutton", + "item.minecraft.rabbit": "Raw Rabbit", + "item.minecraft.cooked_rabbit": "Cooked Rabbit", + "item.minecraft.rabbit_stew": "Rabbit Stew", + "item.minecraft.rabbit_foot": "Rabbit's Foot", + "item.minecraft.rabbit_hide": "Rabbit Hide", + "item.minecraft.beef": "Raw Beef", + "item.minecraft.cooked_beef": "Steak", + "item.minecraft.painting": "Painting", + "item.minecraft.item_frame": "Item Frame", + "item.minecraft.golden_apple": "Golden Apple", + "item.minecraft.enchanted_golden_apple": "Enchanted Golden Apple", + "item.minecraft.sign": "Sign", + "item.minecraft.bucket": "Bucket", + "item.minecraft.water_bucket": "Water Bucket", + "item.minecraft.lava_bucket": "Lava Bucket", + "item.minecraft.pufferfish_bucket": "Bucket of Pufferfish", + "item.minecraft.salmon_bucket": "Bucket of Salmon", + "item.minecraft.cod_bucket": "Bucket of Cod", + "item.minecraft.tropical_fish_bucket": "Bucket of Tropical Fish", + "item.minecraft.minecart": "Minecart", + "item.minecraft.saddle": "Saddle", + "item.minecraft.redstone": "Redstone Dust", + "item.minecraft.snowball": "Snowball", + "item.minecraft.oak_boat": "Oak Boat", + "item.minecraft.spruce_boat": "Spruce Boat", + "item.minecraft.birch_boat": "Birch Boat", + "item.minecraft.jungle_boat": "Jungle Boat", + "item.minecraft.acacia_boat": "Acacia Boat", + "item.minecraft.dark_oak_boat": "Dark Oak Boat", + "item.minecraft.leather": "Leather", + "item.minecraft.milk_bucket": "Milk Bucket", + "item.minecraft.brick": "Brick", + "item.minecraft.clay_ball": "Clay", + "item.minecraft.paper": "Paper", + "item.minecraft.book": "Book", + "item.minecraft.slime_ball": "Slimeball", + "item.minecraft.chest_minecart": "Minecart with Chest", + "item.minecraft.furnace_minecart": "Minecart with Furnace", + "item.minecraft.tnt_minecart": "Minecart with TNT", + "item.minecraft.hopper_minecart": "Minecart with Hopper", + "item.minecraft.command_block_minecart": "Minecart with Command Block", + "item.minecraft.egg": "Egg", + "item.minecraft.compass": "Compass", + "item.minecraft.fishing_rod": "Fishing Rod", + "item.minecraft.clock": "Clock", + "item.minecraft.glowstone_dust": "Glowstone Dust", + "item.minecraft.cod": "Raw Cod", + "item.minecraft.salmon": "Raw Salmon", + "item.minecraft.pufferfish": "Pufferfish", + "item.minecraft.tropical_fish": "Tropical Fish", + "item.minecraft.cooked_cod": "Cooked Cod", + "item.minecraft.cooked_salmon": "Cooked Salmon", + "item.minecraft.music_disc_13": "Music Disc", + "item.minecraft.music_disc_cat": "Music Disc", + "item.minecraft.music_disc_blocks": "Music Disc", + "item.minecraft.music_disc_chirp": "Music Disc", + "item.minecraft.music_disc_far": "Music Disc", + "item.minecraft.music_disc_mall": "Music Disc", + "item.minecraft.music_disc_mellohi": "Music Disc", + "item.minecraft.music_disc_stal": "Music Disc", + "item.minecraft.music_disc_strad": "Music Disc", + "item.minecraft.music_disc_ward": "Music Disc", + "item.minecraft.music_disc_11": "Music Disc", + "item.minecraft.music_disc_wait": "Music Disc", + "item.minecraft.music_disc_13.desc": "C418 - 13", + "item.minecraft.music_disc_cat.desc": "C418 - cat", + "item.minecraft.music_disc_blocks.desc": "C418 - blocks", + "item.minecraft.music_disc_chirp.desc": "C418 - chirp", + "item.minecraft.music_disc_far.desc": "C418 - far", + "item.minecraft.music_disc_mall.desc": "C418 - mall", + "item.minecraft.music_disc_mellohi.desc": "C418 - mellohi", + "item.minecraft.music_disc_stal.desc": "C418 - stal", + "item.minecraft.music_disc_strad.desc": "C418 - strad", + "item.minecraft.music_disc_ward.desc": "C418 - ward", + "item.minecraft.music_disc_11.desc": "C418 - 11", + "item.minecraft.music_disc_wait.desc": "C418 - wait", + "item.minecraft.bone": "Bone", + "item.minecraft.ink_sac": "Ink Sac", + "item.minecraft.red_dye": "Red Dye", + "item.minecraft.green_dye": "Green Dye", + "item.minecraft.cocoa_beans": "Cocoa Beans", + "item.minecraft.lapis_lazuli": "Lapis Lazuli", + "item.minecraft.purple_dye": "Purple Dye", + "item.minecraft.cyan_dye": "Cyan Dye", + "item.minecraft.light_gray_dye": "Light Gray Dye", + "item.minecraft.gray_dye": "Gray Dye", + "item.minecraft.pink_dye": "Pink Dye", + "item.minecraft.lime_dye": "Lime Dye", + "item.minecraft.yellow_dye": "Yellow Dye", + "item.minecraft.light_blue_dye": "Light Blue Dye", + "item.minecraft.magenta_dye": "Magenta Dye", + "item.minecraft.orange_dye": "Orange Dye", + "item.minecraft.bone_meal": "Bone Meal", + "item.minecraft.blue_dye": "Blue Dye", + "item.minecraft.black_dye": "Black Dye", + "item.minecraft.brown_dye": "Brown Dye", + "item.minecraft.white_dye": "White Dye", + "item.minecraft.sugar": "Sugar", + "block.minecraft.black_bed": "Black Bed", + "block.minecraft.red_bed": "Red Bed", + "block.minecraft.green_bed": "Green Bed", + "block.minecraft.brown_bed": "Brown Bed", + "block.minecraft.blue_bed": "Blue Bed", + "block.minecraft.purple_bed": "Purple Bed", + "block.minecraft.cyan_bed": "Cyan Bed", + "block.minecraft.light_gray_bed": "Light Gray Bed", + "block.minecraft.gray_bed": "Gray Bed", + "block.minecraft.pink_bed": "Pink Bed", + "block.minecraft.lime_bed": "Lime Bed", + "block.minecraft.yellow_bed": "Yellow Bed", + "block.minecraft.light_blue_bed": "Light Blue Bed", + "block.minecraft.magenta_bed": "Magenta Bed", + "block.minecraft.orange_bed": "Orange Bed", + "block.minecraft.white_bed": "White Bed", + "block.minecraft.repeater": "Redstone Repeater", + "block.minecraft.comparator": "Redstone Comparator", + "item.minecraft.filled_map": "Map", + "item.minecraft.shears": "Shears", + "item.minecraft.rotten_flesh": "Rotten Flesh", + "item.minecraft.ender_pearl": "Ender Pearl", + "item.minecraft.blaze_rod": "Blaze Rod", + "item.minecraft.ghast_tear": "Ghast Tear", + "item.minecraft.nether_wart": "Nether Wart", + "item.minecraft.potion": "Potion", + "item.minecraft.splash_potion": "Splash Potion", + "item.minecraft.lingering_potion": "Lingering Potion", + "item.minecraft.end_crystal": "End Crystal", + "item.minecraft.gold_nugget": "Gold Nugget", + "item.minecraft.glass_bottle": "Glass Bottle", + "item.minecraft.spider_eye": "Spider Eye", + "item.minecraft.fermented_spider_eye": "Fermented Spider Eye", + "item.minecraft.blaze_powder": "Blaze Powder", + "item.minecraft.magma_cream": "Magma Cream", + "item.minecraft.cauldron": "Cauldron", + "item.minecraft.brewing_stand": "Brewing Stand", + "item.minecraft.ender_eye": "Eye of Ender", + "item.minecraft.glistering_melon_slice": "Glistering Melon Slice", + "item.minecraft.bat_spawn_egg": "Bat Spawn Egg", + "item.minecraft.blaze_spawn_egg": "Blaze Spawn Egg", + "item.minecraft.cat_spawn_egg": "Cat Spawn Egg", + "item.minecraft.cave_spider_spawn_egg": "Cave Spider Spawn Egg", + "item.minecraft.chicken_spawn_egg": "Chicken Spawn Egg", + "item.minecraft.cod_spawn_egg": "Cod Spawn Egg", + "item.minecraft.cow_spawn_egg": "Cow Spawn Egg", + "item.minecraft.creeper_spawn_egg": "Creeper Spawn Egg", + "item.minecraft.dolphin_spawn_egg": "Dolphin Spawn Egg", + "item.minecraft.donkey_spawn_egg": "Donkey Spawn Egg", + "item.minecraft.drowned_spawn_egg": "Drowned Spawn Egg", + "item.minecraft.elder_guardian_spawn_egg": "Elder Guardian Spawn Egg", + "item.minecraft.enderman_spawn_egg": "Enderman Spawn Egg", + "item.minecraft.endermite_spawn_egg": "Endermite Spawn Egg", + "item.minecraft.evoker_spawn_egg": "Evoker Spawn Egg", + "item.minecraft.ghast_spawn_egg": "Ghast Spawn Egg", + "item.minecraft.guardian_spawn_egg": "Guardian Spawn Egg", + "item.minecraft.horse_spawn_egg": "Horse Spawn Egg", + "item.minecraft.husk_spawn_egg": "Husk Spawn Egg", + "item.minecraft.ravager_spawn_egg": "Ravager Spawn Egg", + "item.minecraft.llama_spawn_egg": "Llama Spawn Egg", + "item.minecraft.magma_cube_spawn_egg": "Magma Cube Spawn Egg", + "item.minecraft.mooshroom_spawn_egg": "Mooshroom Spawn Egg", + "item.minecraft.mule_spawn_egg": "Mule Spawn Egg", + "item.minecraft.ocelot_spawn_egg": "Ocelot Spawn Egg", + "item.minecraft.panda_spawn_egg": "Panda Spawn Egg", + "item.minecraft.parrot_spawn_egg": "Parrot Spawn Egg", + "item.minecraft.pig_spawn_egg": "Pig Spawn Egg", + "item.minecraft.pillager_spawn_egg": "Pillager Spawn Egg", + "item.minecraft.phantom_spawn_egg": "Phantom Spawn Egg", + "item.minecraft.polar_bear_spawn_egg": "Polar Bear Spawn Egg", + "item.minecraft.pufferfish_spawn_egg": "Pufferfish Spawn Egg", + "item.minecraft.rabbit_spawn_egg": "Rabbit Spawn Egg", + "item.minecraft.fox_spawn_egg": "Fox Spawn Egg", + "item.minecraft.salmon_spawn_egg": "Salmon Spawn Egg", + "item.minecraft.sheep_spawn_egg": "Sheep Spawn Egg", + "item.minecraft.shulker_spawn_egg": "Shulker Spawn Egg", + "item.minecraft.silverfish_spawn_egg": "Silverfish Spawn Egg", + "item.minecraft.skeleton_spawn_egg": "Skeleton Spawn Egg", + "item.minecraft.skeleton_horse_spawn_egg": "Skeleton Horse Spawn Egg", + "item.minecraft.slime_spawn_egg": "Slime Spawn Egg", + "item.minecraft.spider_spawn_egg": "Spider Spawn Egg", + "item.minecraft.squid_spawn_egg": "Squid Spawn Egg", + "item.minecraft.stray_spawn_egg": "Stray Spawn Egg", + "item.minecraft.trader_llama_spawn_egg": "Trader Llama Spawn Egg", + "item.minecraft.tropical_fish_spawn_egg": "Tropical Fish Spawn Egg", + "item.minecraft.turtle_spawn_egg": "Turtle Spawn Egg", + "item.minecraft.vex_spawn_egg": "Vex Spawn Egg", + "item.minecraft.villager_spawn_egg": "Villager Spawn Egg", + "item.minecraft.wandering_trader_spawn_egg": "Wandering Trader Spawn Egg", + "item.minecraft.vindicator_spawn_egg": "Vindicator Spawn Egg", + "item.minecraft.witch_spawn_egg": "Witch Spawn Egg", + "item.minecraft.wither_skeleton_spawn_egg": "Wither Skeleton Spawn Egg", + "item.minecraft.wolf_spawn_egg": "Wolf Spawn Egg", + "item.minecraft.zombie_spawn_egg": "Zombie Spawn Egg", + "item.minecraft.zombie_horse_spawn_egg": "Zombie Horse Spawn Egg", + "item.minecraft.zombie_pigman_spawn_egg": "Zombie Pigman Spawn Egg", + "item.minecraft.zombie_villager_spawn_egg": "Zombie Villager Spawn Egg", + "item.minecraft.experience_bottle": "Bottle o' Enchanting", + "item.minecraft.fire_charge": "Fire Charge", + "item.minecraft.writable_book": "Book and Quill", + "item.minecraft.written_book": "Written Book", + "item.minecraft.flower_pot": "Flower Pot", + "item.minecraft.map": "Empty Map", + "item.minecraft.carrot": "Carrot", + "item.minecraft.golden_carrot": "Golden Carrot", + "item.minecraft.potato": "Potato", + "item.minecraft.baked_potato": "Baked Potato", + "item.minecraft.poisonous_potato": "Poisonous Potato", + "item.minecraft.skeleton_skull": "Skeleton Skull", + "item.minecraft.wither_skeleton_skull": "Wither Skeleton Skull", + "item.minecraft.zombie_head": "Zombie Head", + "item.minecraft.creeper_head": "Creeper Head", + "item.minecraft.dragon_head": "Dragon Head", + "item.minecraft.carrot_on_a_stick": "Carrot on a Stick", + "item.minecraft.nether_star": "Nether Star", + "item.minecraft.pumpkin_pie": "Pumpkin Pie", + "item.minecraft.enchanted_book": "Enchanted Book", + "item.minecraft.firework_rocket": "Firework Rocket", + "item.minecraft.firework_rocket.flight": "Flight Duration:", + "item.minecraft.firework_star": "Firework Star", + "item.minecraft.firework_star.black": "Black", + "item.minecraft.firework_star.red": "Red", + "item.minecraft.firework_star.green": "Green", + "item.minecraft.firework_star.brown": "Brown", + "item.minecraft.firework_star.blue": "Blue", + "item.minecraft.firework_star.purple": "Purple", + "item.minecraft.firework_star.cyan": "Cyan", + "item.minecraft.firework_star.light_gray": "Light Gray", + "item.minecraft.firework_star.gray": "Gray", + "item.minecraft.firework_star.pink": "Pink", + "item.minecraft.firework_star.lime": "Lime", + "item.minecraft.firework_star.yellow": "Yellow", + "item.minecraft.firework_star.light_blue": "Light Blue", + "item.minecraft.firework_star.magenta": "Magenta", + "item.minecraft.firework_star.orange": "Orange", + "item.minecraft.firework_star.white": "White", + "item.minecraft.firework_star.custom_color": "Custom", + "item.minecraft.firework_star.fade_to": "Fade to", + "item.minecraft.firework_star.flicker": "Twinkle", + "item.minecraft.firework_star.trail": "Trail", + "item.minecraft.firework_star.shape.small_ball": "Small Ball", + "item.minecraft.firework_star.shape.large_ball": "Large Ball", + "item.minecraft.firework_star.shape.star": "Star-shaped", + "item.minecraft.firework_star.shape.creeper": "Creeper-shaped", + "item.minecraft.firework_star.shape.burst": "Burst", + "item.minecraft.firework_star.shape": "Unknown Shape", + "item.minecraft.nether_brick": "Nether Brick", + "item.minecraft.quartz": "Nether Quartz", + "item.minecraft.armor_stand": "Armor Stand", + "item.minecraft.iron_horse_armor": "Iron Horse Armor", + "item.minecraft.golden_horse_armor": "Golden Horse Armor", + "item.minecraft.diamond_horse_armor": "Diamond Horse Armor", + "item.minecraft.leather_horse_armor": "Leather Horse Armor", + "item.minecraft.prismarine_shard": "Prismarine Shard", + "item.minecraft.prismarine_crystals": "Prismarine Crystals", + "item.minecraft.chorus_fruit": "Chorus Fruit", + "item.minecraft.popped_chorus_fruit": "Popped Chorus Fruit", + "item.minecraft.beetroot": "Beetroot", + "item.minecraft.beetroot_seeds": "Beetroot Seeds", + "item.minecraft.beetroot_soup": "Beetroot Soup", + "item.minecraft.dragon_breath": "Dragon's Breath", + "item.minecraft.elytra": "Elytra", + "item.minecraft.totem_of_undying": "Totem of Undying", + "item.minecraft.shulker_shell": "Shulker Shell", + "item.minecraft.iron_nugget": "Iron Nugget", + "item.minecraft.knowledge_book": "Knowledge Book", + "item.minecraft.debug_stick": "Debug Stick", + "item.minecraft.debug_stick.empty": "%s has no properties", + "item.minecraft.debug_stick.update": "\"%s\" to %s", + "item.minecraft.debug_stick.select": "selected \"%s\" (%s)", + "item.minecraft.trident": "Trident", + "item.minecraft.scute": "Scute", + "item.minecraft.turtle_helmet": "Turtle Shell", + "item.minecraft.phantom_membrane": "Phantom Membrane", + "item.minecraft.nautilus_shell": "Nautilus Shell", + "item.minecraft.heart_of_the_sea": "Heart of the Sea", + "item.minecraft.crossbow": "Crossbow", + "item.minecraft.crossbow.projectile": "Projectile:", + "item.minecraft.suspicious_stew": "Suspicious Stew", + "item.minecraft.creeper_banner_pattern": "Banner Pattern", + "item.minecraft.skull_banner_pattern": "Banner Pattern", + "item.minecraft.flower_banner_pattern": "Banner Pattern", + "item.minecraft.mojang_banner_pattern": "Banner Pattern", + "item.minecraft.globe_banner_pattern": "Banner Pattern", + "item.minecraft.creeper_banner_pattern.desc": "Creeper Charge", + "item.minecraft.skull_banner_pattern.desc": "Skull Charge", + "item.minecraft.flower_banner_pattern.desc": "Flower Charge", + "item.minecraft.mojang_banner_pattern.desc": "Thing", + "item.minecraft.globe_banner_pattern.desc": "Globe", + "item.minecraft.sweet_berries": "Sweet Berries", + "container.inventory": "Inventory", + "container.hopper": "Item Hopper", + "container.crafting": "Crafting", + "container.dispenser": "Dispenser", + "container.dropper": "Dropper", + "container.furnace": "Furnace", + "container.enchant": "Enchant", + "container.smoker": "Smoker", + "container.lectern": "Lectern", + "container.blast_furnace": "Blast Furnace", + "container.enchant.lapis.one": "1 Lapis Lazuli", + "container.enchant.lapis.many": "%s Lapis Lazuli", + "container.enchant.level.one": "1 Enchantment Level", + "container.enchant.level.many": "%s Enchantment Levels", + "container.enchant.level.requirement": "Level requirement: %s", + "container.enchant.clue": "%s . . . ?", + "container.repair": "Repair & Name", + "container.repair.cost": "Enchantment Cost: %1$s", + "container.repair.expensive": "Too Expensive!", + "container.creative": "Item Selection", + "container.brewing": "Brewing Stand", + "container.chest": "Chest", + "container.chestDouble": "Large Chest", + "container.enderchest": "Ender Chest", + "container.beacon": "Beacon", + "container.shulkerBox": "Shulker Box", + "container.shulkerBox.more": "and %s more...", + "container.barrel": "Barrel", + "container.spectatorCantOpen": "Unable to open. Loot not generated yet.", + "container.isLocked": "%s is locked!", + "container.loom": "Loom", + "container.grindstone_title": "Repair & Disenchant", + "container.cartography_table": "Cartography Table", + "container.stonecutter": "Stonecutter", + "structure_block.invalid_structure_name": "Invalid structure name '%s'", + "structure_block.save_success": "Structure saved as '%s'", + "structure_block.save_failure": "Unable to save structure '%s'", + "structure_block.load_success": "Structure loaded from '%s'", + "structure_block.load_prepare": "Structure '%s' position prepared", + "structure_block.load_not_found": "Structure '%s' is not available", + "structure_block.size_success": "Size successfully detected for '%s'", + "structure_block.size_failure": "Unable to detect structure size. Add corners with matching structure names", + "structure_block.mode.save": "Save", + "structure_block.mode.load": "Load", + "structure_block.mode.data": "Data", + "structure_block.mode.corner": "Corner", + "structure_block.hover.save": "Save: %s", + "structure_block.hover.load": "Load: %s", + "structure_block.hover.data": "Data: %s", + "structure_block.hover.corner": "Corner: %s", + "structure_block.mode_info.save": "Save mode - write to file", + "structure_block.mode_info.load": "Load mode - load from file", + "structure_block.mode_info.data": "Data mode - game logic marker", + "structure_block.mode_info.corner": "Corner mode - placement and size marker", + "structure_block.structure_name": "Structure Name", + "structure_block.custom_data": "Custom Data Tag Name", + "structure_block.position": "Relative Position", + "structure_block.position.x": "relative Position x", + "structure_block.position.y": "relative position y", + "structure_block.position.z": "relative position z", + "structure_block.size": "Structure Size", + "structure_block.size.x": "structure size x", + "structure_block.size.y": "structure size y", + "structure_block.size.z": "structure size z", + "structure_block.integrity": "Structure Integrity and Seed", + "structure_block.integrity.integrity": "Structure Integrity", + "structure_block.integrity.seed": "Structure Seed", + "structure_block.include_entities": "Include entities:", + "structure_block.detect_size": "Detect structure size and position:", + "structure_block.button.detect_size": "DETECT", + "structure_block.button.save": "SAVE", + "structure_block.button.load": "LOAD", + "structure_block.show_air": "Show invisible blocks:", + "structure_block.show_boundingbox": "Show bounding box:", + "jigsaw_block.target_pool": "Target pool:", + "jigsaw_block.attachement_type": "Attachment type:", + "jigsaw_block.final_state": "Turns into:", + "item.dyed": "Dyed", + "item.unbreakable": "Unbreakable", + "item.canBreak": "Can break:", + "item.canPlace": "Can be placed on:", + "item.color": "Color: %s", + "item.nbt_tags": "NBT: %s tag(s)", + "item.durability": "Durability: %s / %s", + "filled_map.mansion": "Woodland Explorer Map", + "filled_map.monument": "Ocean Explorer Map", + "filled_map.buried_treasure": "Buried Treasure Map", + "filled_map.unknown": "Unknown Map", + "filled_map.id": "Id #%s", + "filled_map.level": "(Level %s/%s)", + "filled_map.scale": "Scaling at 1:%s", + "filled_map.locked": "Locked", + "entity.minecraft.area_effect_cloud": "Area Effect Cloud", + "entity.minecraft.armor_stand": "Armor Stand", + "entity.minecraft.arrow": "Arrow", + "entity.minecraft.bat": "Bat", + "entity.minecraft.blaze": "Blaze", + "entity.minecraft.boat": "Boat", + "entity.minecraft.cat": "Cat", + "entity.minecraft.cave_spider": "Cave Spider", + "entity.minecraft.chest_minecart": "Minecart with Chest", + "entity.minecraft.chicken": "Chicken", + "entity.minecraft.command_block_minecart": "Minecart with Command Block", + "entity.minecraft.cod": "Cod", + "entity.minecraft.cow": "Cow", + "entity.minecraft.creeper": "Creeper", + "entity.minecraft.dolphin": "Dolphin", + "entity.minecraft.donkey": "Donkey", + "entity.minecraft.drowned": "Drowned", + "entity.minecraft.dragon_fireball": "Dragon Fireball", + "entity.minecraft.egg": "Thrown Egg", + "entity.minecraft.elder_guardian": "Elder Guardian", + "entity.minecraft.end_crystal": "End Crystal", + "entity.minecraft.ender_dragon": "Ender Dragon", + "entity.minecraft.ender_pearl": "Thrown Ender Pearl", + "entity.minecraft.enderman": "Enderman", + "entity.minecraft.endermite": "Endermite", + "entity.minecraft.evoker_fangs": "Evoker Fangs", + "entity.minecraft.evoker": "Evoker", + "entity.minecraft.eye_of_ender": "Eye of Ender", + "entity.minecraft.falling_block": "Falling Block", + "entity.minecraft.fireball": "Fireball", + "entity.minecraft.firework_rocket": "Firework Rocket", + "entity.minecraft.fishing_bobber": "Fishing Bobber", + "entity.minecraft.fox": "Fox", + "entity.minecraft.furnace_minecart": "Minecart with Furnace", + "entity.minecraft.ghast": "Ghast", + "entity.minecraft.giant": "Giant", + "entity.minecraft.guardian": "Guardian", + "entity.minecraft.hopper_minecart": "Minecart with Hopper", + "entity.minecraft.horse": "Horse", + "entity.minecraft.husk": "Husk", + "entity.minecraft.ravager": "Ravager", + "entity.minecraft.illusioner": "Illusioner", + "entity.minecraft.item": "Item", + "entity.minecraft.item_frame": "Item Frame", + "entity.minecraft.killer_bunny": "The Killer Bunny", + "entity.minecraft.leash_knot": "Leash Knot", + "entity.minecraft.lightning_bolt": "Lightning Bolt", + "entity.minecraft.llama": "Llama", + "entity.minecraft.llama_spit": "Llama Spit", + "entity.minecraft.magma_cube": "Magma Cube", + "entity.minecraft.minecart": "Minecart", + "entity.minecraft.mooshroom": "Mooshroom", + "entity.minecraft.mule": "Mule", + "entity.minecraft.ocelot": "Ocelot", + "entity.minecraft.painting": "Painting", + "entity.minecraft.panda": "Panda", + "entity.minecraft.parrot": "Parrot", + "entity.minecraft.phantom": "Phantom", + "entity.minecraft.pig": "Pig", + "entity.minecraft.pillager": "Pillager", + "entity.minecraft.player": "Player", + "entity.minecraft.polar_bear": "Polar Bear", + "entity.minecraft.potion": "Potion", + "entity.minecraft.pufferfish": "Pufferfish", + "entity.minecraft.rabbit": "Rabbit", + "entity.minecraft.salmon": "Salmon", + "entity.minecraft.sheep": "Sheep", + "entity.minecraft.shulker": "Shulker", + "entity.minecraft.shulker_bullet": "Shulker Bullet", + "entity.minecraft.silverfish": "Silverfish", + "entity.minecraft.skeleton": "Skeleton", + "entity.minecraft.skeleton_horse": "Skeleton Horse", + "entity.minecraft.slime": "Slime", + "entity.minecraft.small_fireball": "Small Fireball", + "entity.minecraft.snowball": "Snowball", + "entity.minecraft.snow_golem": "Snow Golem", + "entity.minecraft.spawner_minecart": "Minecart with Spawner", + "entity.minecraft.spectral_arrow": "Spectral Arrow", + "entity.minecraft.spider": "Spider", + "entity.minecraft.squid": "Squid", + "entity.minecraft.stray": "Stray", + "entity.minecraft.tnt": "Primed TNT", + "entity.minecraft.tnt_minecart": "Minecart with TNT", + "entity.minecraft.trader_llama": "Trader Llama", + "entity.minecraft.trident": "Trident", + "entity.minecraft.tropical_fish": "Tropical Fish", + "entity.minecraft.tropical_fish.predefined.0": "Anemone", + "entity.minecraft.tropical_fish.predefined.1": "Black Tang", + "entity.minecraft.tropical_fish.predefined.2": "Blue Tang", + "entity.minecraft.tropical_fish.predefined.3": "Butterflyfish", + "entity.minecraft.tropical_fish.predefined.4": "Cichlid", + "entity.minecraft.tropical_fish.predefined.5": "Clownfish", + "entity.minecraft.tropical_fish.predefined.6": "Cotton Candy Betta", + "entity.minecraft.tropical_fish.predefined.7": "Dottyback", + "entity.minecraft.tropical_fish.predefined.8": "Emperor Red Snapper", + "entity.minecraft.tropical_fish.predefined.9": "Goatfish", + "entity.minecraft.tropical_fish.predefined.10": "Moorish Idol", + "entity.minecraft.tropical_fish.predefined.11": "Ornate Butterflyfish", + "entity.minecraft.tropical_fish.predefined.12": "Parrotfish", + "entity.minecraft.tropical_fish.predefined.13": "Queen Angelfish", + "entity.minecraft.tropical_fish.predefined.14": "Red Cichlid", + "entity.minecraft.tropical_fish.predefined.15": "Red Lipped Blenny", + "entity.minecraft.tropical_fish.predefined.16": "Red Snapper", + "entity.minecraft.tropical_fish.predefined.17": "Threadfin", + "entity.minecraft.tropical_fish.predefined.18": "Tomato Clownfish", + "entity.minecraft.tropical_fish.predefined.19": "Triggerfish", + "entity.minecraft.tropical_fish.predefined.20": "Yellowtail Parrotfish", + "entity.minecraft.tropical_fish.predefined.21": "Yellow Tang", + "entity.minecraft.tropical_fish.type.flopper": "Flopper", + "entity.minecraft.tropical_fish.type.stripey": "Stripey", + "entity.minecraft.tropical_fish.type.glitter": "Glitter", + "entity.minecraft.tropical_fish.type.blockfish": "Blockfish", + "entity.minecraft.tropical_fish.type.betty": "Betty", + "entity.minecraft.tropical_fish.type.clayfish": "Clayfish", + "entity.minecraft.tropical_fish.type.kob": "Kob", + "entity.minecraft.tropical_fish.type.sunstreak": "SunStreak", + "entity.minecraft.tropical_fish.type.snooper": "Snooper", + "entity.minecraft.tropical_fish.type.dasher": "Dasher", + "entity.minecraft.tropical_fish.type.brinely": "Brinely", + "entity.minecraft.tropical_fish.type.spotty": "Spotty", + "entity.minecraft.turtle": "Turtle", + "entity.minecraft.vex": "Vex", + "entity.minecraft.villager.armorer": "Armorer", + "entity.minecraft.villager.butcher": "Butcher", + "entity.minecraft.villager.cartographer": "Cartographer", + "entity.minecraft.villager.cleric": "Cleric", + "entity.minecraft.villager.farmer": "Farmer", + "entity.minecraft.villager.fisherman": "Fisherman", + "entity.minecraft.villager.fletcher": "Fletcher", + "entity.minecraft.villager.leatherworker": "Leatherworker", + "entity.minecraft.villager.librarian": "Librarian", + "entity.minecraft.villager.mason": "Mason", + "entity.minecraft.villager.none": "Villager", + "entity.minecraft.villager.nitwit": "Nitwit", + "entity.minecraft.villager.shepherd": "Shepherd", + "entity.minecraft.villager.toolsmith": "Toolsmith", + "entity.minecraft.villager.weaponsmith": "Weaponsmith", + "entity.minecraft.villager": "Villager", + "entity.minecraft.wandering_trader": "Wandering Trader", + "entity.minecraft.iron_golem": "Iron Golem", + "entity.minecraft.vindicator": "Vindicator", + "entity.minecraft.witch": "Witch", + "entity.minecraft.wither": "Wither", + "entity.minecraft.wither_skeleton": "Wither Skeleton", + "entity.minecraft.wither_skull": "Wither Skull", + "entity.minecraft.wolf": "Wolf", + "entity.minecraft.experience_bottle": "Thrown Bottle o' Enchanting", + "entity.minecraft.experience_orb": "Experience Orb", + "entity.minecraft.zombie": "Zombie", + "entity.minecraft.zombie_horse": "Zombie Horse", + "entity.minecraft.zombie_pigman": "Zombie Pigman", + "entity.minecraft.zombie_villager": "Zombie Villager", + "death.fell.accident.ladder": "%1$s fell off a ladder", + "death.fell.accident.vines": "%1$s fell off some vines", + "death.fell.accident.water": "%1$s fell out of the water", + "death.fell.accident.generic": "%1$s fell from a high place", + "death.fell.killer": "%1$s was doomed to fall", + "death.fell.assist": "%1$s was doomed to fall by %2$s", + "death.fell.assist.item": "%1$s was doomed to fall by %2$s using %3$s", + "death.fell.finish": "%1$s fell too far and was finished by %2$s", + "death.fell.finish.item": "%1$s fell too far and was finished by %2$s using %3$s", + "death.attack.lightningBolt": "%1$s was struck by lightning", + "death.attack.lightningBolt.player": "%1$s was struck by lightning whilst fighting %2$s", + "death.attack.inFire": "%1$s went up in flames", + "death.attack.inFire.player": "%1$s walked into fire whilst fighting %2$s", + "death.attack.onFire": "%1$s burned to death", + "death.attack.onFire.player": "%1$s was burnt to a crisp whilst fighting %2$s", + "death.attack.lava": "%1$s tried to swim in lava", + "death.attack.lava.player": "%1$s tried to swim in lava to escape %2$s", + "death.attack.hotFloor": "%1$s discovered the floor was lava", + "death.attack.hotFloor.player": "%1$s walked into danger zone due to %2$s", + "death.attack.inWall": "%1$s suffocated in a wall", + "death.attack.inWall.player": "%1$s suffocated in a wall whilst fighting %2$s", + "death.attack.cramming": "%1$s was squished too much", + "death.attack.cramming.player": "%1$s was squashed by %2$s", + "death.attack.drown": "%1$s drowned", + "death.attack.drown.player": "%1$s drowned whilst trying to escape %2$s", + "death.attack.starve": "%1$s starved to death", + "death.attack.starve.player": "%1$s starved to death whilst fighting %2$s", + "death.attack.cactus": "%1$s was pricked to death", + "death.attack.cactus.player": "%1$s walked into a cactus whilst trying to escape %2$s", + "death.attack.generic": "%1$s died", + "death.attack.generic.player": "%1$s died because of %2$s", + "death.attack.explosion": "%1$s blew up", + "death.attack.explosion.player": "%1$s was blown up by %2$s", + "death.attack.explosion.player.item": "%1$s was blown up by %2$s using %3$s", + "death.attack.magic": "%1$s was killed by magic", + "death.attack.even_more_magic": "%1$s was killed by even more magic", + "death.attack.message_too_long": "Actually, message was too long to deliver fully. Sorry! Here's stripped version: %s", + "death.attack.wither": "%1$s withered away", + "death.attack.wither.player": "%1$s withered away whilst fighting %2$s", + "death.attack.anvil": "%1$s was squashed by a falling anvil", + "death.attack.anvil.player": "%1$s was squashed by a falling anvil whilst fighting %2$s", + "death.attack.fallingBlock": "%1$s was squashed by a falling block", + "death.attack.fallingBlock.player": "%1$s was squashed by a falling block whilst fighting %2$s", + "death.attack.mob": "%1$s was slain by %2$s", + "death.attack.mob.item": "%1$s was slain by %2$s using %3$s", + "death.attack.player": "%1$s was slain by %2$s", + "death.attack.player.item": "%1$s was slain by %2$s using %3$s", + "death.attack.arrow": "%1$s was shot by %2$s", + "death.attack.arrow.item": "%1$s was shot by %2$s using %3$s", + "death.attack.fireball": "%1$s was fireballed by %2$s", + "death.attack.fireball.item": "%1$s was fireballed by %2$s using %3$s", + "death.attack.thrown": "%1$s was pummeled by %2$s", + "death.attack.thrown.item": "%1$s was pummeled by %2$s using %3$s", + "death.attack.indirectMagic": "%1$s was killed by %2$s using magic", + "death.attack.indirectMagic.item": "%1$s was killed by %2$s using %3$s", + "death.attack.thorns": "%1$s was killed trying to hurt %2$s", + "death.attack.thorns.item": "%1$s was killed by %3$s trying to hurt %2$s", + "death.attack.trident": "%1$s was impaled by %2$s", + "death.attack.trident.item": "%1$s was impaled by %2$s with %3$s", + "death.attack.fall": "%1$s hit the ground too hard", + "death.attack.fall.player": "%1$s hit the ground too hard whilst trying to escape %2$s", + "death.attack.outOfWorld": "%1$s fell out of the world", + "death.attack.outOfWorld.player": "%1$s didn't want to live in the same world as %2$s", + "death.attack.dragonBreath": "%1$s was roasted in dragon breath", + "death.attack.dragonBreath.player": "%1$s was roasted in dragon breath by %2$s", + "death.attack.flyIntoWall": "%1$s experienced kinetic energy", + "death.attack.flyIntoWall.player": "%1$s experienced kinetic energy whilst trying to escape %2$s", + "death.attack.fireworks": "%1$s went off with a bang", + "death.attack.fireworks.player": "%1$s went off with a bang whilst fighting %2$s", + "death.attack.netherBed.message": "%1$s was killed by %2$s", + "death.attack.netherBed.link": "Intentional Game Design", + "death.attack.sweetBerryBush": "%1$s was poked to death by a sweet berry bush", + "death.attack.sweetBerryBush.player": "%1$s was poked to death by a sweet berry bush whilst trying to escape %2$s", + "deathScreen.respawn": "Respawn", + "deathScreen.spectate": "Spectate world", + "deathScreen.deleteWorld": "Delete world", + "deathScreen.titleScreen": "Title screen", + "deathScreen.score": "Score", + "deathScreen.title.hardcore": "Game over!", + "deathScreen.title": "You died!", + "deathScreen.leaveServer": "Leave server", + "deathScreen.quit.confirm": "Are you sure you want to quit?", + "effect.none": "No Effects", + "effect.minecraft.speed": "Speed", + "effect.minecraft.slowness": "Slowness", + "effect.minecraft.haste": "Haste", + "effect.minecraft.mining_fatigue": "Mining Fatigue", + "effect.minecraft.strength": "Strength", + "effect.minecraft.instant_health": "Instant Health", + "effect.minecraft.instant_damage": "Instant Damage", + "effect.minecraft.jump_boost": "Jump Boost", + "effect.minecraft.nausea": "Nausea", + "effect.minecraft.regeneration": "Regeneration", + "effect.minecraft.resistance": "Resistance", + "effect.minecraft.fire_resistance": "Fire Resistance", + "effect.minecraft.water_breathing": "Water Breathing", + "effect.minecraft.invisibility": "Invisibility", + "effect.minecraft.blindness": "Blindness", + "effect.minecraft.night_vision": "Night Vision", + "effect.minecraft.hunger": "Hunger", + "effect.minecraft.weakness": "Weakness", + "effect.minecraft.poison": "Poison", + "effect.minecraft.wither": "Wither", + "effect.minecraft.health_boost": "Health Boost", + "effect.minecraft.absorption": "Absorption", + "effect.minecraft.saturation": "Saturation", + "effect.minecraft.glowing": "Glowing", + "effect.minecraft.luck": "Luck", + "effect.minecraft.unluck": "Bad Luck", + "effect.minecraft.levitation": "Levitation", + "effect.minecraft.slow_falling": "Slow Falling", + "effect.minecraft.conduit_power": "Conduit Power", + "effect.minecraft.dolphins_grace": "Dolphin's Grace", + "effect.minecraft.bad_omen": "Bad Omen", + "effect.minecraft.hero_of_the_village": "Hero of the Village", + "event.minecraft.raid": "Raid", + "event.minecraft.raid.raiders_remaining": "Raiders remaining: %s", + "event.minecraft.raid.victory": "Victory", + "event.minecraft.raid.defeat": "Defeat", + "item.minecraft.tipped_arrow.effect.empty": "Uncraftable Tipped Arrow", + "item.minecraft.tipped_arrow.effect.water": "Arrow of Splashing", + "item.minecraft.tipped_arrow.effect.mundane": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.thick": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.awkward": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.night_vision": "Arrow of Night Vision", + "item.minecraft.tipped_arrow.effect.invisibility": "Arrow of Invisibility", + "item.minecraft.tipped_arrow.effect.leaping": "Arrow of Leaping", + "item.minecraft.tipped_arrow.effect.fire_resistance": "Arrow of Fire Resistance", + "item.minecraft.tipped_arrow.effect.swiftness": "Arrow of Swiftness", + "item.minecraft.tipped_arrow.effect.slowness": "Arrow of Slowness", + "item.minecraft.tipped_arrow.effect.water_breathing": "Arrow of Water Breathing", + "item.minecraft.tipped_arrow.effect.healing": "Arrow of Healing", + "item.minecraft.tipped_arrow.effect.harming": "Arrow of Harming", + "item.minecraft.tipped_arrow.effect.poison": "Arrow of Poison", + "item.minecraft.tipped_arrow.effect.regeneration": "Arrow of Regeneration", + "item.minecraft.tipped_arrow.effect.strength": "Arrow of Strength", + "item.minecraft.tipped_arrow.effect.weakness": "Arrow of Weakness", + "item.minecraft.tipped_arrow.effect.levitation": "Arrow of Levitation", + "item.minecraft.tipped_arrow.effect.luck": "Arrow of Luck", + "item.minecraft.tipped_arrow.effect.turtle_master": "Arrow of the Turtle Master", + "item.minecraft.tipped_arrow.effect.slow_falling": "Arrow of Slow Falling", + "potion.whenDrank": "When Applied:", + "item.minecraft.potion.effect.empty": "Uncraftable Potion", + "item.minecraft.potion.effect.water": "Water Bottle", + "item.minecraft.potion.effect.mundane": "Mundane Potion", + "item.minecraft.potion.effect.thick": "Thick Potion", + "item.minecraft.potion.effect.awkward": "Awkward Potion", + "item.minecraft.potion.effect.night_vision": "Potion of Night Vision", + "item.minecraft.potion.effect.invisibility": "Potion of Invisibility", + "item.minecraft.potion.effect.leaping": "Potion of Leaping", + "item.minecraft.potion.effect.fire_resistance": "Potion of Fire Resistance", + "item.minecraft.potion.effect.swiftness": "Potion of Swiftness", + "item.minecraft.potion.effect.slowness": "Potion of Slowness", + "item.minecraft.potion.effect.water_breathing": "Potion of Water Breathing", + "item.minecraft.potion.effect.healing": "Potion of Healing", + "item.minecraft.potion.effect.harming": "Potion of Harming", + "item.minecraft.potion.effect.poison": "Potion of Poison", + "item.minecraft.potion.effect.regeneration": "Potion of Regeneration", + "item.minecraft.potion.effect.strength": "Potion of Strength", + "item.minecraft.potion.effect.weakness": "Potion of Weakness", + "item.minecraft.potion.effect.levitation": "Potion of Levitation", + "item.minecraft.potion.effect.luck": "Potion of Luck", + "item.minecraft.potion.effect.turtle_master": "Potion of the Turtle Master", + "item.minecraft.potion.effect.slow_falling": "Potion of Slow Falling", + "item.minecraft.splash_potion.effect.empty": "Splash Uncraftable Potion", + "item.minecraft.splash_potion.effect.water": "Splash Water Bottle", + "item.minecraft.splash_potion.effect.mundane": "Mundane Splash Potion", + "item.minecraft.splash_potion.effect.thick": "Thick Splash Potion", + "item.minecraft.splash_potion.effect.awkward": "Awkward Splash Potion", + "item.minecraft.splash_potion.effect.night_vision": "Splash Potion of Night Vision", + "item.minecraft.splash_potion.effect.invisibility": "Splash Potion of Invisibility", + "item.minecraft.splash_potion.effect.leaping": "Splash Potion of Leaping", + "item.minecraft.splash_potion.effect.fire_resistance": "Splash Potion of Fire Resistance", + "item.minecraft.splash_potion.effect.swiftness": "Splash Potion of Swiftness", + "item.minecraft.splash_potion.effect.slowness": "Splash Potion of Slowness", + "item.minecraft.splash_potion.effect.water_breathing": "Splash Potion of Water Breathing", + "item.minecraft.splash_potion.effect.healing": "Splash Potion of Healing", + "item.minecraft.splash_potion.effect.harming": "Splash Potion of Harming", + "item.minecraft.splash_potion.effect.poison": "Splash Potion of Poison", + "item.minecraft.splash_potion.effect.regeneration": "Splash Potion of Regeneration", + "item.minecraft.splash_potion.effect.strength": "Splash Potion of Strength", + "item.minecraft.splash_potion.effect.weakness": "Splash Potion of Weakness", + "item.minecraft.splash_potion.effect.levitation": "Splash Potion of Levitation", + "item.minecraft.splash_potion.effect.luck": "Splash Potion of Luck", + "item.minecraft.splash_potion.effect.turtle_master": "Splash Potion of the Turtle Master", + "item.minecraft.splash_potion.effect.slow_falling": "Splash Potion of Slow Falling", + "item.minecraft.lingering_potion.effect.empty": "Lingering Uncraftable Potion", + "item.minecraft.lingering_potion.effect.water": "Lingering Water Bottle", + "item.minecraft.lingering_potion.effect.mundane": "Mundane Lingering Potion", + "item.minecraft.lingering_potion.effect.thick": "Thick Lingering Potion", + "item.minecraft.lingering_potion.effect.awkward": "Awkward Lingering Potion", + "item.minecraft.lingering_potion.effect.night_vision": "Lingering Potion of Night Vision", + "item.minecraft.lingering_potion.effect.invisibility": "Lingering Potion of Invisibility", + "item.minecraft.lingering_potion.effect.leaping": "Lingering Potion of Leaping", + "item.minecraft.lingering_potion.effect.fire_resistance": "Lingering Potion of Fire Resistance", + "item.minecraft.lingering_potion.effect.swiftness": "Lingering Potion of Swiftness", + "item.minecraft.lingering_potion.effect.slowness": "Lingering Potion of Slowness", + "item.minecraft.lingering_potion.effect.water_breathing": "Lingering Potion of Water Breathing", + "item.minecraft.lingering_potion.effect.healing": "Lingering Potion of Healing", + "item.minecraft.lingering_potion.effect.harming": "Lingering Potion of Harming", + "item.minecraft.lingering_potion.effect.poison": "Lingering Potion of Poison", + "item.minecraft.lingering_potion.effect.regeneration": "Lingering Potion of Regeneration", + "item.minecraft.lingering_potion.effect.strength": "Lingering Potion of Strength", + "item.minecraft.lingering_potion.effect.weakness": "Lingering Potion of Weakness", + "item.minecraft.lingering_potion.effect.levitation": "Lingering Potion of Levitation", + "item.minecraft.lingering_potion.effect.luck": "Lingering Potion of Luck", + "item.minecraft.lingering_potion.effect.turtle_master": "Lingering Potion of the Turtle Master", + "item.minecraft.lingering_potion.effect.slow_falling": "Lingering Potion of Slow Falling", + "potion.potency.0": "", + "potion.potency.1": "II", + "potion.potency.2": "III", + "potion.potency.3": "IV", + "potion.potency.4": "V", + "potion.potency.5": "VI", + "enchantment.minecraft.sharpness": "Sharpness", + "enchantment.minecraft.smite": "Smite", + "enchantment.minecraft.bane_of_arthropods": "Bane of Arthropods", + "enchantment.minecraft.knockback": "Knockback", + "enchantment.minecraft.fire_aspect": "Fire Aspect", + "enchantment.minecraft.sweeping": "Sweeping Edge", + "enchantment.minecraft.protection": "Protection", + "enchantment.minecraft.fire_protection": "Fire Protection", + "enchantment.minecraft.feather_falling": "Feather Falling", + "enchantment.minecraft.blast_protection": "Blast Protection", + "enchantment.minecraft.projectile_protection": "Projectile Protection", + "enchantment.minecraft.respiration": "Respiration", + "enchantment.minecraft.aqua_affinity": "Aqua Affinity", + "enchantment.minecraft.depth_strider": "Depth Strider", + "enchantment.minecraft.frost_walker": "Frost Walker", + "enchantment.minecraft.efficiency": "Efficiency", + "enchantment.minecraft.silk_touch": "Silk Touch", + "enchantment.minecraft.unbreaking": "Unbreaking", + "enchantment.minecraft.looting": "Looting", + "enchantment.minecraft.fortune": "Fortune", + "enchantment.minecraft.luck_of_the_sea": "Luck of the Sea", + "enchantment.minecraft.lure": "Lure", + "enchantment.minecraft.power": "Power", + "enchantment.minecraft.flame": "Flame", + "enchantment.minecraft.punch": "Punch", + "enchantment.minecraft.infinity": "Infinity", + "enchantment.minecraft.thorns": "Thorns", + "enchantment.minecraft.mending": "Mending", + "enchantment.minecraft.binding_curse": "Curse of Binding", + "enchantment.minecraft.vanishing_curse": "Curse of Vanishing", + "enchantment.minecraft.loyalty": "Loyalty", + "enchantment.minecraft.impaling": "Impaling", + "enchantment.minecraft.riptide": "Riptide", + "enchantment.minecraft.channeling": "Channeling", + "enchantment.minecraft.multishot": "Multishot", + "enchantment.minecraft.quick_charge": "Quick Charge", + "enchantment.minecraft.piercing": "Piercing", + "enchantment.level.1": "I", + "enchantment.level.2": "II", + "enchantment.level.3": "III", + "enchantment.level.4": "IV", + "enchantment.level.5": "V", + "enchantment.level.6": "VI", + "enchantment.level.7": "VII", + "enchantment.level.8": "VIII", + "enchantment.level.9": "IX", + "enchantment.level.10": "X", + "gui.advancements": "Advancements", + "gui.stats": "Statistics", + "advancements.empty": "There doesn't seem to be anything here...", + "advancements.toast.task": "Advancement Made!", + "advancements.toast.challenge": "Challenge Complete!", + "advancements.toast.goal": "Goal Reached!", + "stats.tooltip.type.statistic": "Statistic", + "stat.generalButton": "General", + "stat.blocksButton": "Blocks", + "stat.itemsButton": "Items", + "stat.mobsButton": "Mobs", + "stat_type.minecraft.mined": "Times Mined", + "stat_type.minecraft.crafted": "Times Crafted", + "stat_type.minecraft.used": "Times Used", + "stat_type.minecraft.broken": "Times Broken", + "stat_type.minecraft.picked_up": "Picked Up", + "stat_type.minecraft.dropped": "Dropped", + "stat_type.minecraft.killed": "You killed %s %s", + "stat_type.minecraft.killed.none": "You have never killed %s", + "stat_type.minecraft.killed_by": "%s killed you %s time(s)", + "stat_type.minecraft.killed_by.none": "You have never been killed by %s", + "stat.minecraft.animals_bred": "Animals Bred", + "stat.minecraft.aviate_one_cm": "Distance by Elytra", + "stat.minecraft.clean_armor": "Armor Pieces Cleaned", + "stat.minecraft.clean_banner": "Banners Cleaned", + "stat.minecraft.clean_shulker_box": "Shulker Boxes Cleaned", + "stat.minecraft.climb_one_cm": "Distance Climbed", + "stat.minecraft.bell_ring": "Bells Rung", + "stat.minecraft.boat_one_cm": "Distance by Boat", + "stat.minecraft.crouch_one_cm": "Distance Crouched", + "stat.minecraft.damage_dealt": "Damage Dealt", + "stat.minecraft.damage_dealt_absorbed": "Damage Dealt (Absorbed)", + "stat.minecraft.damage_dealt_resisted": "Damage Dealt (Resisted)", + "stat.minecraft.damage_taken": "Damage Taken", + "stat.minecraft.damage_blocked_by_shield": "Damage Blocked By Shield", + "stat.minecraft.damage_absorbed": "Damage Absorbed", + "stat.minecraft.damage_resisted": "Damage Resisted", + "stat.minecraft.deaths": "Number of Deaths", + "stat.minecraft.walk_under_water_one_cm": "Distance Walked under Water", + "stat.minecraft.drop": "Items Dropped", + "stat.minecraft.eat_cake_slice": "Cake Slices Eaten", + "stat.minecraft.enchant_item": "Items Enchanted", + "stat.minecraft.fall_one_cm": "Distance Fallen", + "stat.minecraft.fill_cauldron": "Cauldrons Filled", + "stat.minecraft.fish_caught": "Fish Caught", + "stat.minecraft.fly_one_cm": "Distance Flown", + "stat.minecraft.horse_one_cm": "Distance by Horse", + "stat.minecraft.inspect_dispenser": "Dispensers Searched", + "stat.minecraft.inspect_dropper": "Droppers Searched", + "stat.minecraft.inspect_hopper": "Hoppers Searched", + "stat.minecraft.interact_with_beacon": "Interactions with Beacon", + "stat.minecraft.interact_with_brewingstand": "Interactions with Brewing Stand", + "stat.minecraft.interact_with_campfire": "Interactions with Campfire", + "stat.minecraft.interact_with_cartography_table": "Interactions with Cartography Table", + "stat.minecraft.interact_with_crafting_table": "Interactions with Crafting Table", + "stat.minecraft.interact_with_furnace": "Interactions with Furnace", + "stat.minecraft.interact_with_lectern":"Interactions with Lectern", + "stat.minecraft.interact_with_loom":"Interactions with Loom", + "stat.minecraft.interact_with_blast_furnace": "Interactions with Blast Furnace", + "stat.minecraft.interact_with_smoker": "Interactions with Smoker", + "stat.minecraft.interact_with_stonecutter": "Interactions with Stonecutter", + "stat.minecraft.jump": "Jumps", + "stat.minecraft.junk_fished": "Junk Fished", + "stat.minecraft.leave_game": "Games Quit", + "stat.minecraft.minecart_one_cm": "Distance by Minecart", + "stat.minecraft.mob_kills": "Mob Kills", + "stat.minecraft.open_barrel": "Barrels Opened", + "stat.minecraft.open_chest": "Chests Opened", + "stat.minecraft.open_enderchest": "Ender Chests Opened", + "stat.minecraft.open_shulker_box": "Shulker Boxes Opened", + "stat.minecraft.pig_one_cm": "Distance by Pig", + "stat.minecraft.player_kills": "Player Kills", + "stat.minecraft.play_noteblock": "Note Blocks Played", + "stat.minecraft.play_one_minute": "Time Played", + "stat.minecraft.play_record": "Music Discs Played", + "stat.minecraft.pot_flower": "Plants Potted", + "stat.minecraft.raid_trigger": "Raids Triggered", + "stat.minecraft.raid_win": "Raids Won", + "stat.minecraft.ring_bell": "Bells Rung", + "stat.minecraft.sleep_in_bed": "Times Slept in a Bed", + "stat.minecraft.sneak_time": "Sneak Time", + "stat.minecraft.sprint_one_cm": "Distance Sprinted", + "stat.minecraft.walk_on_water_one_cm": "Distance Walked on Water", + "stat.minecraft.swim_one_cm": "Distance Swum", + "stat.minecraft.talked_to_villager": "Talked to Villagers", + "stat.minecraft.time_since_rest": "Since Last Rest", + "stat.minecraft.time_since_death": "Since Last Death", + "stat.minecraft.traded_with_villager": "Traded with Villagers", + "stat.minecraft.treasure_fished": "Treasure Fished", + "stat.minecraft.trigger_trapped_chest": "Trapped Chests Triggered", + "stat.minecraft.tune_noteblock": "Note Blocks Tuned", + "stat.minecraft.use_cauldron": "Water Taken from Cauldron", + "stat.minecraft.walk_one_cm": "Distance Walked", + "recipe.toast.title": "New Recipes Unlocked!", + "recipe.toast.description": "Check your recipe book", + "itemGroup.buildingBlocks": "Building Blocks", + "itemGroup.decorations": "Decoration Blocks", + "itemGroup.redstone": "Redstone", + "itemGroup.transportation": "Transportation", + "itemGroup.misc": "Miscellaneous", + "itemGroup.search": "Search Items", + "itemGroup.food": "Foodstuffs", + "itemGroup.tools": "Tools", + "itemGroup.combat": "Combat", + "itemGroup.brewing": "Brewing", + "itemGroup.materials": "Materials", + "itemGroup.inventory": "Survival Inventory", + "itemGroup.hotbar": "Saved Toolbars", + "inventory.binSlot": "Destroy Item", + "inventory.hotbarSaved": "Item toolbar saved (restore with %1$s+%2$s)", + "inventory.hotbarInfo": "Save toolbar with %1$s+%2$s", + "advMode.setCommand": "Set Console Command for Block", + "advMode.setCommand.success": "Command set: %s", + "advMode.command": "Console Command", + "advMode.nearestPlayer": "Use \"@p\" to target nearest player", + "advMode.randomPlayer": "Use \"@r\" to target random player", + "advMode.allPlayers": "Use \"@a\" to target all players", + "advMode.allEntities": "Use \"@e\" to target all entities", + "advMode.self": "Use \"@s\" to target the executing entity", + "advMode.previousOutput": "Previous Output", + "advMode.mode.sequence": "Chain", + "advMode.mode.auto": "Repeat", + "advMode.mode.redstone": "Impulse", + "advMode.mode.conditional": "Conditional", + "advMode.mode.unconditional": "Unconditional", + "advMode.mode.redstoneTriggered": "Needs Redstone", + "advMode.mode.autoexec.bat": "Always Active", + "advMode.notEnabled": "Command blocks are not enabled on this server", + "advMode.notAllowed": "Must be an opped player in creative mode", + "mount.onboard": "Press %1$s to dismount", + "build.tooHigh": "Height limit for building is %s blocks", + "item.modifiers.mainhand": "When in main hand:", + "item.modifiers.offhand": "When in off hand:", + "item.modifiers.feet": "When on feet:", + "item.modifiers.legs": "When on legs:", + "item.modifiers.chest": "When on body:", + "item.modifiers.head": "When on head:", + "attribute.modifier.plus.0": "+%s %s", + "attribute.modifier.plus.1": "+%s%% %s", + "attribute.modifier.plus.2": "+%s%% %s", + "attribute.modifier.take.0": "-%s %s", + "attribute.modifier.take.1": "-%s%% %s", + "attribute.modifier.take.2": "-%s%% %s", + "attribute.modifier.equals.0": "%s %s", + "attribute.modifier.equals.1": "%s%% %s", + "attribute.modifier.equals.2": "%s%% %s", + "attribute.name.horse.jumpStrength": "Horse Jump Strength", + "attribute.name.zombie.spawnReinforcements": "Zombie Reinforcements", + "attribute.name.generic.maxHealth": "Max Health", + "attribute.name.generic.followRange": "Mob Follow Range", + "attribute.name.generic.knockbackResistance": "Knockback Resistance", + "attribute.name.generic.movementSpeed": "Speed", + "attribute.name.generic.attackDamage": "Attack Damage", + "attribute.name.generic.attackSpeed": "Attack Speed", + "attribute.name.generic.luck": "Luck", + "attribute.name.generic.armor": "Armor", + "attribute.name.generic.armorToughness": "Armor Toughness", + "screenshot.success": "Saved screenshot as %s", + "screenshot.failure": "Couldn't save screenshot: %s", + "block.minecraft.black_banner": "Black Banner", + "block.minecraft.red_banner": "Red Banner", + "block.minecraft.green_banner": "Green Banner", + "block.minecraft.brown_banner": "Brown Banner", + "block.minecraft.blue_banner": "Blue Banner", + "block.minecraft.purple_banner": "Purple Banner", + "block.minecraft.cyan_banner": "Cyan Banner", + "block.minecraft.light_gray_banner": "Light Gray Banner", + "block.minecraft.gray_banner": "Gray Banner", + "block.minecraft.pink_banner": "Pink Banner", + "block.minecraft.lime_banner": "Lime Banner", + "block.minecraft.yellow_banner": "Yellow Banner", + "block.minecraft.light_blue_banner": "Light Blue Banner", + "block.minecraft.magenta_banner": "Magenta Banner", + "block.minecraft.orange_banner": "Orange Banner", + "block.minecraft.white_banner": "White Banner", + "item.minecraft.shield": "Shield", + "item.minecraft.shield.black": "Black Shield", + "item.minecraft.shield.red": "Red Shield", + "item.minecraft.shield.green": "Green Shield", + "item.minecraft.shield.brown": "Brown Shield", + "item.minecraft.shield.blue": "Blue Shield", + "item.minecraft.shield.purple": "Purple Shield", + "item.minecraft.shield.cyan": "Cyan Shield", + "item.minecraft.shield.light_gray": "Light Gray Shield", + "item.minecraft.shield.gray": "Gray Shield", + "item.minecraft.shield.pink": "Pink Shield", + "item.minecraft.shield.lime": "Lime Shield", + "item.minecraft.shield.yellow": "Yellow Shield", + "item.minecraft.shield.light_blue": "Light Blue Shield", + "item.minecraft.shield.magenta": "Magenta Shield", + "item.minecraft.shield.orange": "Orange Shield", + "item.minecraft.shield.white": "White Shield", + "block.minecraft.banner.square_bottom_left.black": "Black Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.red": "Red Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.green": "Green Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.brown": "Brown Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.blue": "Blue Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.purple": "Purple Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.cyan": "Cyan Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.light_gray": "Light Gray Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.gray": "Gray Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.pink": "Pink Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.lime": "Lime Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.yellow": "Yellow Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.light_blue": "Light Blue Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.magenta": "Magenta Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.orange": "Orange Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.white": "White Base Dexter Canton", + "block.minecraft.banner.square_bottom_right.black": "Black Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.red": "Red Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.green": "Green Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.brown": "Brown Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.blue": "Blue Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.purple": "Purple Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.cyan": "Cyan Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.light_gray": "Light Gray Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.gray": "Gray Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.pink": "Pink Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.lime": "Lime Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.yellow": "Yellow Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.light_blue": "Light Blue Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.magenta": "Magenta Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.orange": "Orange Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.white": "White Base Sinister Canton", + "block.minecraft.banner.square_top_left.black": "Black Chief Dexter Canton", + "block.minecraft.banner.square_top_left.red": "Red Chief Dexter Canton", + "block.minecraft.banner.square_top_left.green": "Green Chief Dexter Canton", + "block.minecraft.banner.square_top_left.brown": "Brown Chief Dexter Canton", + "block.minecraft.banner.square_top_left.blue": "Blue Chief Dexter Canton", + "block.minecraft.banner.square_top_left.purple": "Purple Chief Dexter Canton", + "block.minecraft.banner.square_top_left.cyan": "Cyan Chief Dexter Canton", + "block.minecraft.banner.square_top_left.light_gray": "Light Gray Chief Dexter Canton", + "block.minecraft.banner.square_top_left.gray": "Gray Chief Dexter Canton", + "block.minecraft.banner.square_top_left.pink": "Pink Chief Dexter Canton", + "block.minecraft.banner.square_top_left.lime": "Lime Chief Dexter Canton", + "block.minecraft.banner.square_top_left.yellow": "Yellow Chief Dexter Canton", + "block.minecraft.banner.square_top_left.light_blue": "Light Blue Chief Dexter Canton", + "block.minecraft.banner.square_top_left.magenta": "Magenta Chief Dexter Canton", + "block.minecraft.banner.square_top_left.orange": "Orange Chief Dexter Canton", + "block.minecraft.banner.square_top_left.white": "White Chief Dexter Canton", + "block.minecraft.banner.square_top_right.black": "Black Chief Sinister Canton", + "block.minecraft.banner.square_top_right.red": "Red Chief Sinister Canton", + "block.minecraft.banner.square_top_right.green": "Green Chief Sinister Canton", + "block.minecraft.banner.square_top_right.brown": "Brown Chief Sinister Canton", + "block.minecraft.banner.square_top_right.blue": "Blue Chief Sinister Canton", + "block.minecraft.banner.square_top_right.purple": "Purple Chief Sinister Canton", + "block.minecraft.banner.square_top_right.cyan": "Cyan Chief Sinister Canton", + "block.minecraft.banner.square_top_right.light_gray": "Light Gray Chief Sinister Canton", + "block.minecraft.banner.square_top_right.gray": "Gray Chief Sinister Canton", + "block.minecraft.banner.square_top_right.pink": "Pink Chief Sinister Canton", + "block.minecraft.banner.square_top_right.lime": "Lime Chief Sinister Canton", + "block.minecraft.banner.square_top_right.yellow": "Yellow Chief Sinister Canton", + "block.minecraft.banner.square_top_right.light_blue": "Light Blue Chief Sinister Canton", + "block.minecraft.banner.square_top_right.magenta": "Magenta Chief Sinister Canton", + "block.minecraft.banner.square_top_right.orange": "Orange Chief Sinister Canton", + "block.minecraft.banner.square_top_right.white": "White Chief Sinister Canton", + "block.minecraft.banner.stripe_bottom.black": "Black Base", + "block.minecraft.banner.stripe_bottom.red": "Red Base", + "block.minecraft.banner.stripe_bottom.green": "Green Base", + "block.minecraft.banner.stripe_bottom.brown": "Brown Base", + "block.minecraft.banner.stripe_bottom.blue": "Blue Base", + "block.minecraft.banner.stripe_bottom.purple": "Purple Base", + "block.minecraft.banner.stripe_bottom.cyan": "Cyan Base", + "block.minecraft.banner.stripe_bottom.light_gray": "Light Gray Base", + "block.minecraft.banner.stripe_bottom.gray": "Gray Base", + "block.minecraft.banner.stripe_bottom.pink": "Pink Base", + "block.minecraft.banner.stripe_bottom.lime": "Lime Base", + "block.minecraft.banner.stripe_bottom.yellow": "Yellow Base", + "block.minecraft.banner.stripe_bottom.light_blue": "Light Blue Base", + "block.minecraft.banner.stripe_bottom.magenta": "Magenta Base", + "block.minecraft.banner.stripe_bottom.orange": "Orange Base", + "block.minecraft.banner.stripe_bottom.white": "White Base", + "block.minecraft.banner.stripe_top.black": "Black Chief", + "block.minecraft.banner.stripe_top.red": "Red Chief", + "block.minecraft.banner.stripe_top.green": "Green Chief", + "block.minecraft.banner.stripe_top.brown": "Brown Chief", + "block.minecraft.banner.stripe_top.blue": "Blue Chief", + "block.minecraft.banner.stripe_top.purple": "Purple Chief", + "block.minecraft.banner.stripe_top.cyan": "Cyan Chief", + "block.minecraft.banner.stripe_top.light_gray": "Light Gray Chief", + "block.minecraft.banner.stripe_top.gray": "Gray Chief", + "block.minecraft.banner.stripe_top.pink": "Pink Chief", + "block.minecraft.banner.stripe_top.lime": "Lime Chief", + "block.minecraft.banner.stripe_top.yellow": "Yellow Chief", + "block.minecraft.banner.stripe_top.light_blue": "Light Blue Chief", + "block.minecraft.banner.stripe_top.magenta": "Magenta Chief", + "block.minecraft.banner.stripe_top.orange": "Orange Chief", + "block.minecraft.banner.stripe_top.white": "White Chief", + "block.minecraft.banner.stripe_left.black": "Black Pale Dexter", + "block.minecraft.banner.stripe_left.red": "Red Pale Dexter", + "block.minecraft.banner.stripe_left.green": "Green Pale Dexter", + "block.minecraft.banner.stripe_left.brown": "Brown Pale Dexter", + "block.minecraft.banner.stripe_left.blue": "Blue Pale Dexter", + "block.minecraft.banner.stripe_left.purple": "Purple Pale Dexter", + "block.minecraft.banner.stripe_left.cyan": "Cyan Pale Dexter", + "block.minecraft.banner.stripe_left.light_gray": "Light Gray Pale Dexter", + "block.minecraft.banner.stripe_left.gray": "Gray Pale Dexter", + "block.minecraft.banner.stripe_left.pink": "Pink Pale Dexter", + "block.minecraft.banner.stripe_left.lime": "Lime Pale Dexter", + "block.minecraft.banner.stripe_left.yellow": "Yellow Pale Dexter", + "block.minecraft.banner.stripe_left.light_blue": "Light Blue Pale Dexter", + "block.minecraft.banner.stripe_left.magenta": "Magenta Pale Dexter", + "block.minecraft.banner.stripe_left.orange": "Orange Pale Dexter", + "block.minecraft.banner.stripe_left.white": "White Pale Dexter", + "block.minecraft.banner.stripe_right.black": "Black Pale Sinister", + "block.minecraft.banner.stripe_right.red": "Red Pale Sinister", + "block.minecraft.banner.stripe_right.green": "Green Pale Sinister", + "block.minecraft.banner.stripe_right.brown": "Brown Pale Sinister", + "block.minecraft.banner.stripe_right.blue": "Blue Pale Sinister", + "block.minecraft.banner.stripe_right.purple": "Purple Pale Sinister", + "block.minecraft.banner.stripe_right.cyan": "Cyan Pale Sinister", + "block.minecraft.banner.stripe_right.light_gray": "Light Gray Pale Sinister", + "block.minecraft.banner.stripe_right.gray": "Gray Pale Sinister", + "block.minecraft.banner.stripe_right.pink": "Pink Pale Sinister", + "block.minecraft.banner.stripe_right.lime": "Lime Pale Sinister", + "block.minecraft.banner.stripe_right.yellow": "Yellow Pale Sinister", + "block.minecraft.banner.stripe_right.light_blue": "Light Blue Pale Sinister", + "block.minecraft.banner.stripe_right.magenta": "Magenta Pale Sinister", + "block.minecraft.banner.stripe_right.orange": "Orange Pale Sinister", + "block.minecraft.banner.stripe_right.white": "White Pale Sinister", + "block.minecraft.banner.stripe_center.black": "Black Pale", + "block.minecraft.banner.stripe_center.red": "Red Pale", + "block.minecraft.banner.stripe_center.green": "Green Pale", + "block.minecraft.banner.stripe_center.brown": "Brown Pale", + "block.minecraft.banner.stripe_center.blue": "Blue Pale", + "block.minecraft.banner.stripe_center.purple": "Purple Pale", + "block.minecraft.banner.stripe_center.cyan": "Cyan Pale", + "block.minecraft.banner.stripe_center.light_gray": "Light Gray Pale", + "block.minecraft.banner.stripe_center.gray": "Gray Pale", + "block.minecraft.banner.stripe_center.pink": "Pink Pale", + "block.minecraft.banner.stripe_center.lime": "Lime Pale", + "block.minecraft.banner.stripe_center.yellow": "Yellow Pale", + "block.minecraft.banner.stripe_center.light_blue": "Light Blue Pale", + "block.minecraft.banner.stripe_center.magenta": "Magenta Pale", + "block.minecraft.banner.stripe_center.orange": "Orange Pale", + "block.minecraft.banner.stripe_center.white": "White Pale", + "block.minecraft.banner.stripe_middle.black": "Black Fess", + "block.minecraft.banner.stripe_middle.red": "Red Fess", + "block.minecraft.banner.stripe_middle.green": "Green Fess", + "block.minecraft.banner.stripe_middle.brown": "Brown Fess", + "block.minecraft.banner.stripe_middle.blue": "Blue Fess", + "block.minecraft.banner.stripe_middle.purple": "Purple Fess", + "block.minecraft.banner.stripe_middle.cyan": "Cyan Fess", + "block.minecraft.banner.stripe_middle.light_gray": "Light Gray Fess", + "block.minecraft.banner.stripe_middle.gray": "Gray Fess", + "block.minecraft.banner.stripe_middle.pink": "Pink Fess", + "block.minecraft.banner.stripe_middle.lime": "Lime Fess", + "block.minecraft.banner.stripe_middle.yellow": "Yellow Fess", + "block.minecraft.banner.stripe_middle.light_blue": "Light Blue Fess", + "block.minecraft.banner.stripe_middle.magenta": "Magenta Fess", + "block.minecraft.banner.stripe_middle.orange": "Orange Fess", + "block.minecraft.banner.stripe_middle.white": "White Fess", + "block.minecraft.banner.stripe_downright.black": "Black Bend", + "block.minecraft.banner.stripe_downright.red": "Red Bend", + "block.minecraft.banner.stripe_downright.green": "Green Bend", + "block.minecraft.banner.stripe_downright.brown": "Brown Bend", + "block.minecraft.banner.stripe_downright.blue": "Blue Bend", + "block.minecraft.banner.stripe_downright.purple": "Purple Bend", + "block.minecraft.banner.stripe_downright.cyan": "Cyan Bend", + "block.minecraft.banner.stripe_downright.light_gray": "Light Gray Bend", + "block.minecraft.banner.stripe_downright.gray": "Gray Bend", + "block.minecraft.banner.stripe_downright.pink": "Pink Bend", + "block.minecraft.banner.stripe_downright.lime": "Lime Bend", + "block.minecraft.banner.stripe_downright.yellow": "Yellow Bend", + "block.minecraft.banner.stripe_downright.light_blue": "Light Blue Bend", + "block.minecraft.banner.stripe_downright.magenta": "Magenta Bend", + "block.minecraft.banner.stripe_downright.orange": "Orange Bend", + "block.minecraft.banner.stripe_downright.white": "White Bend", + "block.minecraft.banner.stripe_downleft.black": "Black Bend Sinister", + "block.minecraft.banner.stripe_downleft.red": "Red Bend Sinister", + "block.minecraft.banner.stripe_downleft.green": "Green Bend Sinister", + "block.minecraft.banner.stripe_downleft.brown": "Brown Bend Sinister", + "block.minecraft.banner.stripe_downleft.blue": "Blue Bend Sinister", + "block.minecraft.banner.stripe_downleft.purple": "Purple Bend Sinister", + "block.minecraft.banner.stripe_downleft.cyan": "Cyan Bend Sinister", + "block.minecraft.banner.stripe_downleft.light_gray": "Light Gray Bend Sinister", + "block.minecraft.banner.stripe_downleft.gray": "Gray Bend Sinister", + "block.minecraft.banner.stripe_downleft.pink": "Pink Bend Sinister", + "block.minecraft.banner.stripe_downleft.lime": "Lime Bend Sinister", + "block.minecraft.banner.stripe_downleft.yellow": "Yellow Bend Sinister", + "block.minecraft.banner.stripe_downleft.light_blue": "Light Blue Bend Sinister", + "block.minecraft.banner.stripe_downleft.magenta": "Magenta Bend Sinister", + "block.minecraft.banner.stripe_downleft.orange": "Orange Bend Sinister", + "block.minecraft.banner.stripe_downleft.white": "White Bend Sinister", + "block.minecraft.banner.small_stripes.black": "Black Paly", + "block.minecraft.banner.small_stripes.red": "Red Paly", + "block.minecraft.banner.small_stripes.green": "Green Paly", + "block.minecraft.banner.small_stripes.brown": "Brown Paly", + "block.minecraft.banner.small_stripes.blue": "Blue Paly", + "block.minecraft.banner.small_stripes.purple": "Purple Paly", + "block.minecraft.banner.small_stripes.cyan": "Cyan Paly", + "block.minecraft.banner.small_stripes.light_gray": "Light Gray Paly", + "block.minecraft.banner.small_stripes.gray": "Gray Paly", + "block.minecraft.banner.small_stripes.pink": "Pink Paly", + "block.minecraft.banner.small_stripes.lime": "Lime Paly", + "block.minecraft.banner.small_stripes.yellow": "Yellow Paly", + "block.minecraft.banner.small_stripes.light_blue": "Light Blue Paly", + "block.minecraft.banner.small_stripes.magenta": "Magenta Paly", + "block.minecraft.banner.small_stripes.orange": "Orange Paly", + "block.minecraft.banner.small_stripes.white": "White Paly", + "block.minecraft.banner.cross.black": "Black Saltire", + "block.minecraft.banner.cross.red": "Red Saltire", + "block.minecraft.banner.cross.green": "Green Saltire", + "block.minecraft.banner.cross.brown": "Brown Saltire", + "block.minecraft.banner.cross.blue": "Blue Saltire", + "block.minecraft.banner.cross.purple": "Purple Saltire", + "block.minecraft.banner.cross.cyan": "Cyan Saltire", + "block.minecraft.banner.cross.light_gray": "Light Gray Saltire", + "block.minecraft.banner.cross.gray": "Gray Saltire", + "block.minecraft.banner.cross.pink": "Pink Saltire", + "block.minecraft.banner.cross.lime": "Lime Saltire", + "block.minecraft.banner.cross.yellow": "Yellow Saltire", + "block.minecraft.banner.cross.light_blue": "Light Blue Saltire", + "block.minecraft.banner.cross.magenta": "Magenta Saltire", + "block.minecraft.banner.cross.orange": "Orange Saltire", + "block.minecraft.banner.cross.white": "White Saltire", + "block.minecraft.banner.triangle_bottom.black": "Black Chevron", + "block.minecraft.banner.triangle_bottom.red": "Red Chevron", + "block.minecraft.banner.triangle_bottom.green": "Green Chevron", + "block.minecraft.banner.triangle_bottom.brown": "Brown Chevron", + "block.minecraft.banner.triangle_bottom.blue": "Blue Chevron", + "block.minecraft.banner.triangle_bottom.purple": "Purple Chevron", + "block.minecraft.banner.triangle_bottom.cyan": "Cyan Chevron", + "block.minecraft.banner.triangle_bottom.light_gray": "Light Gray Chevron", + "block.minecraft.banner.triangle_bottom.gray": "Gray Chevron", + "block.minecraft.banner.triangle_bottom.pink": "Pink Chevron", + "block.minecraft.banner.triangle_bottom.lime": "Lime Chevron", + "block.minecraft.banner.triangle_bottom.yellow": "Yellow Chevron", + "block.minecraft.banner.triangle_bottom.light_blue": "Light Blue Chevron", + "block.minecraft.banner.triangle_bottom.magenta": "Magenta Chevron", + "block.minecraft.banner.triangle_bottom.orange": "Orange Chevron", + "block.minecraft.banner.triangle_bottom.white": "White Chevron", + "block.minecraft.banner.triangle_top.black": "Black Inverted Chevron", + "block.minecraft.banner.triangle_top.red": "Red Inverted Chevron", + "block.minecraft.banner.triangle_top.green": "Green Inverted Chevron", + "block.minecraft.banner.triangle_top.brown": "Brown Inverted Chevron", + "block.minecraft.banner.triangle_top.blue": "Blue Inverted Chevron", + "block.minecraft.banner.triangle_top.purple": "Purple Inverted Chevron", + "block.minecraft.banner.triangle_top.cyan": "Cyan Inverted Chevron", + "block.minecraft.banner.triangle_top.light_gray": "Light Gray Inverted Chevron", + "block.minecraft.banner.triangle_top.gray": "Gray Inverted Chevron", + "block.minecraft.banner.triangle_top.pink": "Pink Inverted Chevron", + "block.minecraft.banner.triangle_top.lime": "Lime Inverted Chevron", + "block.minecraft.banner.triangle_top.yellow": "Yellow Inverted Chevron", + "block.minecraft.banner.triangle_top.light_blue": "Light Blue Inverted Chevron", + "block.minecraft.banner.triangle_top.magenta": "Magenta Inverted Chevron", + "block.minecraft.banner.triangle_top.orange": "Orange Inverted Chevron", + "block.minecraft.banner.triangle_top.white": "White Inverted Chevron", + "block.minecraft.banner.triangles_bottom.black": "Black Base Indented", + "block.minecraft.banner.triangles_bottom.red": "Red Base Indented", + "block.minecraft.banner.triangles_bottom.green": "Green Base Indented", + "block.minecraft.banner.triangles_bottom.brown": "Brown Base Indented", + "block.minecraft.banner.triangles_bottom.blue": "Blue Base Indented", + "block.minecraft.banner.triangles_bottom.purple": "Purple Base Indented", + "block.minecraft.banner.triangles_bottom.cyan": "Cyan Base Indented", + "block.minecraft.banner.triangles_bottom.light_gray": "Light Gray Base Indented", + "block.minecraft.banner.triangles_bottom.gray": "Gray Base Indented", + "block.minecraft.banner.triangles_bottom.pink": "Pink Base Indented", + "block.minecraft.banner.triangles_bottom.lime": "Lime Base Indented", + "block.minecraft.banner.triangles_bottom.yellow": "Yellow Base Indented", + "block.minecraft.banner.triangles_bottom.light_blue": "Light Blue Base Indented", + "block.minecraft.banner.triangles_bottom.magenta": "Magenta Base Indented", + "block.minecraft.banner.triangles_bottom.orange": "Orange Base Indented", + "block.minecraft.banner.triangles_bottom.white": "White Base Indented", + "block.minecraft.banner.triangles_top.black": "Black Chief Indented", + "block.minecraft.banner.triangles_top.red": "Red Chief Indented", + "block.minecraft.banner.triangles_top.green": "Green Chief Indented", + "block.minecraft.banner.triangles_top.brown": "Brown Chief Indented", + "block.minecraft.banner.triangles_top.blue": "Blue Chief Indented", + "block.minecraft.banner.triangles_top.purple": "Purple Chief Indented", + "block.minecraft.banner.triangles_top.cyan": "Cyan Chief Indented", + "block.minecraft.banner.triangles_top.light_gray": "Light Gray Chief Indented", + "block.minecraft.banner.triangles_top.gray": "Gray Chief Indented", + "block.minecraft.banner.triangles_top.pink": "Pink Chief Indented", + "block.minecraft.banner.triangles_top.lime": "Lime Chief Indented", + "block.minecraft.banner.triangles_top.yellow": "Yellow Chief Indented", + "block.minecraft.banner.triangles_top.light_blue": "Light Blue Chief Indented", + "block.minecraft.banner.triangles_top.magenta": "Magenta Chief Indented", + "block.minecraft.banner.triangles_top.orange": "Orange Chief Indented", + "block.minecraft.banner.triangles_top.white": "White Chief Indented", + "block.minecraft.banner.diagonal_left.black": "Black Per Bend Sinister", + "block.minecraft.banner.diagonal_left.red": "Red Per Bend Sinister", + "block.minecraft.banner.diagonal_left.green": "Green Per Bend Sinister", + "block.minecraft.banner.diagonal_left.brown": "Brown Per Bend Sinister", + "block.minecraft.banner.diagonal_left.blue": "Blue Per Bend Sinister", + "block.minecraft.banner.diagonal_left.purple": "Purple Per Bend Sinister", + "block.minecraft.banner.diagonal_left.cyan": "Cyan Per Bend Sinister", + "block.minecraft.banner.diagonal_left.light_gray": "Light Gray Per Bend Sinister", + "block.minecraft.banner.diagonal_left.gray": "Gray Per Bend Sinister", + "block.minecraft.banner.diagonal_left.pink": "Pink Per Bend Sinister", + "block.minecraft.banner.diagonal_left.lime": "Lime Per Bend Sinister", + "block.minecraft.banner.diagonal_left.yellow": "Yellow Per Bend Sinister", + "block.minecraft.banner.diagonal_left.light_blue": "Light Blue Per Bend Sinister", + "block.minecraft.banner.diagonal_left.magenta": "Magenta Per Bend Sinister", + "block.minecraft.banner.diagonal_left.orange": "Orange Per Bend Sinister", + "block.minecraft.banner.diagonal_left.white": "White Per Bend Sinister", + "block.minecraft.banner.diagonal_right.black": "Black Per Bend", + "block.minecraft.banner.diagonal_right.red": "Red Per Bend", + "block.minecraft.banner.diagonal_right.green": "Green Per Bend", + "block.minecraft.banner.diagonal_right.brown": "Brown Per Bend", + "block.minecraft.banner.diagonal_right.blue": "Blue Per Bend", + "block.minecraft.banner.diagonal_right.purple": "Purple Per Bend", + "block.minecraft.banner.diagonal_right.cyan": "Cyan Per Bend", + "block.minecraft.banner.diagonal_right.light_gray": "Light Gray Per Bend", + "block.minecraft.banner.diagonal_right.gray": "Gray Per Bend", + "block.minecraft.banner.diagonal_right.pink": "Pink Per Bend", + "block.minecraft.banner.diagonal_right.lime": "Lime Per Bend", + "block.minecraft.banner.diagonal_right.yellow": "Yellow Per Bend", + "block.minecraft.banner.diagonal_right.light_blue": "Light Blue Per Bend", + "block.minecraft.banner.diagonal_right.magenta": "Magenta Per Bend", + "block.minecraft.banner.diagonal_right.orange": "Orange Per Bend", + "block.minecraft.banner.diagonal_right.white": "White Per Bend", + "block.minecraft.banner.diagonal_up_left.black": "Black Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.red": "Red Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.green": "Green Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.brown": "Brown Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.blue": "Blue Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.purple": "Purple Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.cyan": "Cyan Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.light_gray": "Light Gray Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.gray": "Gray Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.pink": "Pink Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.lime": "Lime Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.yellow": "Yellow Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.light_blue": "Light Blue Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.magenta": "Magenta Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.orange": "Orange Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.white": "White Per Bend Inverted", + "block.minecraft.banner.diagonal_up_right.black": "Black Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.red": "Red Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.green": "Green Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.brown": "Brown Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.blue": "Blue Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.purple": "Purple Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.cyan": "Cyan Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.light_gray": "Light Gray Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.gray": "Gray Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.pink": "Pink Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.lime": "Lime Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.yellow": "Yellow Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.light_blue": "Light Blue Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.magenta": "Magenta Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.orange": "Orange Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.white": "White Per Bend Sinister Inverted", + "block.minecraft.banner.circle.black": "Black Roundel", + "block.minecraft.banner.circle.red": "Red Roundel", + "block.minecraft.banner.circle.green": "Green Roundel", + "block.minecraft.banner.circle.brown": "Brown Roundel", + "block.minecraft.banner.circle.blue": "Blue Roundel", + "block.minecraft.banner.circle.purple": "Purple Roundel", + "block.minecraft.banner.circle.cyan": "Cyan Roundel", + "block.minecraft.banner.circle.light_gray": "Light Gray Roundel", + "block.minecraft.banner.circle.gray": "Gray Roundel", + "block.minecraft.banner.circle.pink": "Pink Roundel", + "block.minecraft.banner.circle.lime": "Lime Roundel", + "block.minecraft.banner.circle.yellow": "Yellow Roundel", + "block.minecraft.banner.circle.light_blue": "Light Blue Roundel", + "block.minecraft.banner.circle.magenta": "Magenta Roundel", + "block.minecraft.banner.circle.orange": "Orange Roundel", + "block.minecraft.banner.circle.white": "White Roundel", + "block.minecraft.banner.rhombus.black": "Black Lozenge", + "block.minecraft.banner.rhombus.red": "Red Lozenge", + "block.minecraft.banner.rhombus.green": "Green Lozenge", + "block.minecraft.banner.rhombus.brown": "Brown Lozenge", + "block.minecraft.banner.rhombus.blue": "Blue Lozenge", + "block.minecraft.banner.rhombus.purple": "Purple Lozenge", + "block.minecraft.banner.rhombus.cyan": "Cyan Lozenge", + "block.minecraft.banner.rhombus.light_gray": "Light Gray Lozenge", + "block.minecraft.banner.rhombus.gray": "Gray Lozenge", + "block.minecraft.banner.rhombus.pink": "Pink Lozenge", + "block.minecraft.banner.rhombus.lime": "Lime Lozenge", + "block.minecraft.banner.rhombus.yellow": "Yellow Lozenge", + "block.minecraft.banner.rhombus.light_blue": "Light Blue Lozenge", + "block.minecraft.banner.rhombus.magenta": "Magenta Lozenge", + "block.minecraft.banner.rhombus.orange": "Orange Lozenge", + "block.minecraft.banner.rhombus.white": "White Lozenge", + "block.minecraft.banner.half_vertical.black": "Black Per Pale", + "block.minecraft.banner.half_vertical.red": "Red Per Pale", + "block.minecraft.banner.half_vertical.green": "Green Per Pale", + "block.minecraft.banner.half_vertical.brown": "Brown Per Pale", + "block.minecraft.banner.half_vertical.blue": "Blue Per Pale", + "block.minecraft.banner.half_vertical.purple": "Purple Per Pale", + "block.minecraft.banner.half_vertical.cyan": "Cyan Per Pale", + "block.minecraft.banner.half_vertical.light_gray": "Light Gray Per Pale", + "block.minecraft.banner.half_vertical.gray": "Gray Per Pale", + "block.minecraft.banner.half_vertical.pink": "Pink Per Pale", + "block.minecraft.banner.half_vertical.lime": "Lime Per Pale", + "block.minecraft.banner.half_vertical.yellow": "Yellow Per Pale", + "block.minecraft.banner.half_vertical.light_blue": "Light Blue Per Pale", + "block.minecraft.banner.half_vertical.magenta": "Magenta Per Pale", + "block.minecraft.banner.half_vertical.orange": "Orange Per Pale", + "block.minecraft.banner.half_vertical.white": "White Per Pale", + "block.minecraft.banner.half_horizontal.black": "Black Per Fess", + "block.minecraft.banner.half_horizontal.red": "Red Per Fess", + "block.minecraft.banner.half_horizontal.green": "Green Per Fess", + "block.minecraft.banner.half_horizontal.brown": "Brown Per Fess", + "block.minecraft.banner.half_horizontal.blue": "Blue Per Fess", + "block.minecraft.banner.half_horizontal.purple": "Purple Per Fess", + "block.minecraft.banner.half_horizontal.cyan": "Cyan Per Fess", + "block.minecraft.banner.half_horizontal.light_gray": "Light Gray Per Fess", + "block.minecraft.banner.half_horizontal.gray": "Gray Per Fess", + "block.minecraft.banner.half_horizontal.pink": "Pink Per Fess", + "block.minecraft.banner.half_horizontal.lime": "Lime Per Fess", + "block.minecraft.banner.half_horizontal.yellow": "Yellow Per Fess", + "block.minecraft.banner.half_horizontal.light_blue": "Light Blue Per Fess", + "block.minecraft.banner.half_horizontal.magenta": "Magenta Per Fess", + "block.minecraft.banner.half_horizontal.orange": "Orange Per Fess", + "block.minecraft.banner.half_horizontal.white": "White Per Fess", + "block.minecraft.banner.half_vertical_right.black": "Black Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.red": "Red Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.green": "Green Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.brown": "Brown Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.blue": "Blue Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.purple": "Purple Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.cyan": "Cyan Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.light_gray": "Light Gray Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.gray": "Gray Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.pink": "Pink Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.lime": "Lime Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.yellow": "Yellow Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.light_blue": "Light Blue Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.magenta": "Magenta Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.orange": "Orange Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.white": "White Per Pale Inverted", + "block.minecraft.banner.half_horizontal_bottom.black": "Black Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.red": "Red Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.green": "Green Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.brown": "Brown Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.blue": "Blue Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.purple": "Purple Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.cyan": "Cyan Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.light_gray": "Light Gray Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.gray": "Gray Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.pink": "Pink Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.lime": "Lime Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.yellow": "Yellow Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.light_blue": "Light Blue Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.magenta": "Magenta Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.orange": "Orange Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.white": "White Per Fess Inverted", + "block.minecraft.banner.creeper.black": "Black Creeper Charge", + "block.minecraft.banner.creeper.red": "Red Creeper Charge", + "block.minecraft.banner.creeper.green": "Green Creeper Charge", + "block.minecraft.banner.creeper.brown": "Brown Creeper Charge", + "block.minecraft.banner.creeper.blue": "Blue Creeper Charge", + "block.minecraft.banner.creeper.purple": "Purple Creeper Charge", + "block.minecraft.banner.creeper.cyan": "Cyan Creeper Charge", + "block.minecraft.banner.creeper.light_gray": "Light Gray Creeper Charge", + "block.minecraft.banner.creeper.gray": "Gray Creeper Charge", + "block.minecraft.banner.creeper.pink": "Pink Creeper Charge", + "block.minecraft.banner.creeper.lime": "Lime Creeper Charge", + "block.minecraft.banner.creeper.yellow": "Yellow Creeper Charge", + "block.minecraft.banner.creeper.light_blue": "Light Blue Creeper Charge", + "block.minecraft.banner.creeper.magenta": "Magenta Creeper Charge", + "block.minecraft.banner.creeper.orange": "Orange Creeper Charge", + "block.minecraft.banner.creeper.white": "White Creeper Charge", + "block.minecraft.banner.bricks.black": "Black Field Masoned", + "block.minecraft.banner.bricks.red": "Red Field Masoned", + "block.minecraft.banner.bricks.green": "Green Field Masoned", + "block.minecraft.banner.bricks.brown": "Brown Field Masoned", + "block.minecraft.banner.bricks.blue": "Blue Field Masoned", + "block.minecraft.banner.bricks.purple": "Purple Field Masoned", + "block.minecraft.banner.bricks.cyan": "Cyan Field Masoned", + "block.minecraft.banner.bricks.light_gray": "Light Gray Field Masoned", + "block.minecraft.banner.bricks.gray": "Gray Field Masoned", + "block.minecraft.banner.bricks.pink": "Pink Field Masoned", + "block.minecraft.banner.bricks.lime": "Lime Field Masoned", + "block.minecraft.banner.bricks.yellow": "Yellow Field Masoned", + "block.minecraft.banner.bricks.light_blue": "Light Blue Field Masoned", + "block.minecraft.banner.bricks.magenta": "Magenta Field Masoned", + "block.minecraft.banner.bricks.orange": "Orange Field Masoned", + "block.minecraft.banner.bricks.white": "White Field Masoned", + "block.minecraft.banner.gradient.black": "Black Gradient", + "block.minecraft.banner.gradient.red": "Red Gradient", + "block.minecraft.banner.gradient.green": "Green Gradient", + "block.minecraft.banner.gradient.brown": "Brown Gradient", + "block.minecraft.banner.gradient.blue": "Blue Gradient", + "block.minecraft.banner.gradient.purple": "Purple Gradient", + "block.minecraft.banner.gradient.cyan": "Cyan Gradient", + "block.minecraft.banner.gradient.light_gray": "Light Gray Gradient", + "block.minecraft.banner.gradient.gray": "Gray Gradient", + "block.minecraft.banner.gradient.pink": "Pink Gradient", + "block.minecraft.banner.gradient.lime": "Lime Gradient", + "block.minecraft.banner.gradient.yellow": "Yellow Gradient", + "block.minecraft.banner.gradient.light_blue": "Light Blue Gradient", + "block.minecraft.banner.gradient.magenta": "Magenta Gradient", + "block.minecraft.banner.gradient.orange": "Orange Gradient", + "block.minecraft.banner.gradient.white": "White Gradient", + "block.minecraft.banner.gradient_up.black": "Black Base Gradient", + "block.minecraft.banner.gradient_up.red": "Red Base Gradient", + "block.minecraft.banner.gradient_up.green": "Green Base Gradient", + "block.minecraft.banner.gradient_up.brown": "Brown Base Gradient", + "block.minecraft.banner.gradient_up.blue": "Blue Base Gradient", + "block.minecraft.banner.gradient_up.purple": "Purple Base Gradient", + "block.minecraft.banner.gradient_up.cyan": "Cyan Base Gradient", + "block.minecraft.banner.gradient_up.light_gray": "Light Gray Base Gradient", + "block.minecraft.banner.gradient_up.gray": "Gray Base Gradient", + "block.minecraft.banner.gradient_up.pink": "Pink Base Gradient", + "block.minecraft.banner.gradient_up.lime": "Lime Base Gradient", + "block.minecraft.banner.gradient_up.yellow": "Yellow Base Gradient", + "block.minecraft.banner.gradient_up.light_blue": "Light Blue Base Gradient", + "block.minecraft.banner.gradient_up.magenta": "Magenta Base Gradient", + "block.minecraft.banner.gradient_up.orange": "Orange Base Gradient", + "block.minecraft.banner.gradient_up.white": "White Base Gradient", + "block.minecraft.banner.skull.black": "Black Skull Charge", + "block.minecraft.banner.skull.red": "Red Skull Charge", + "block.minecraft.banner.skull.green": "Green Skull Charge", + "block.minecraft.banner.skull.brown": "Brown Skull Charge", + "block.minecraft.banner.skull.blue": "Blue Skull Charge", + "block.minecraft.banner.skull.purple": "Purple Skull Charge", + "block.minecraft.banner.skull.cyan": "Cyan Skull Charge", + "block.minecraft.banner.skull.light_gray": "Light Gray Skull Charge", + "block.minecraft.banner.skull.gray": "Gray Skull Charge", + "block.minecraft.banner.skull.pink": "Pink Skull Charge", + "block.minecraft.banner.skull.lime": "Lime Skull Charge", + "block.minecraft.banner.skull.yellow": "Yellow Skull Charge", + "block.minecraft.banner.skull.light_blue": "Light Blue Skull Charge", + "block.minecraft.banner.skull.magenta": "Magenta Skull Charge", + "block.minecraft.banner.skull.orange": "Orange Skull Charge", + "block.minecraft.banner.skull.white": "White Skull Charge", + "block.minecraft.banner.flower.black": "Black Flower Charge", + "block.minecraft.banner.flower.red": "Red Flower Charge", + "block.minecraft.banner.flower.green": "Green Flower Charge", + "block.minecraft.banner.flower.brown": "Brown Flower Charge", + "block.minecraft.banner.flower.blue": "Blue Flower Charge", + "block.minecraft.banner.flower.purple": "Purple Flower Charge", + "block.minecraft.banner.flower.cyan": "Cyan Flower Charge", + "block.minecraft.banner.flower.light_gray": "Light Gray Flower Charge", + "block.minecraft.banner.flower.gray": "Gray Flower Charge", + "block.minecraft.banner.flower.pink": "Pink Flower Charge", + "block.minecraft.banner.flower.lime": "Lime Flower Charge", + "block.minecraft.banner.flower.yellow": "Yellow Flower Charge", + "block.minecraft.banner.flower.light_blue": "Light Blue Flower Charge", + "block.minecraft.banner.flower.magenta": "Magenta Flower Charge", + "block.minecraft.banner.flower.orange": "Orange Flower Charge", + "block.minecraft.banner.flower.white": "White Flower Charge", + "block.minecraft.banner.border.black": "Black Bordure", + "block.minecraft.banner.border.red": "Red Bordure", + "block.minecraft.banner.border.green": "Green Bordure", + "block.minecraft.banner.border.brown": "Brown Bordure", + "block.minecraft.banner.border.blue": "Blue Bordure", + "block.minecraft.banner.border.purple": "Purple Bordure", + "block.minecraft.banner.border.cyan": "Cyan Bordure", + "block.minecraft.banner.border.light_gray": "Light Gray Bordure", + "block.minecraft.banner.border.gray": "Gray Bordure", + "block.minecraft.banner.border.pink": "Pink Bordure", + "block.minecraft.banner.border.lime": "Lime Bordure", + "block.minecraft.banner.border.yellow": "Yellow Bordure", + "block.minecraft.banner.border.light_blue": "Light Blue Bordure", + "block.minecraft.banner.border.magenta": "Magenta Bordure", + "block.minecraft.banner.border.orange": "Orange Bordure", + "block.minecraft.banner.border.white": "White Bordure", + "block.minecraft.banner.curly_border.black": "Black Bordure Indented", + "block.minecraft.banner.curly_border.red": "Red Bordure Indented", + "block.minecraft.banner.curly_border.green": "Green Bordure Indented", + "block.minecraft.banner.curly_border.brown": "Brown Bordure Indented", + "block.minecraft.banner.curly_border.blue": "Blue Bordure Indented", + "block.minecraft.banner.curly_border.purple": "Purple Bordure Indented", + "block.minecraft.banner.curly_border.cyan": "Cyan Bordure Indented", + "block.minecraft.banner.curly_border.light_gray": "Light Gray Bordure Indented", + "block.minecraft.banner.curly_border.gray": "Gray Bordure Indented", + "block.minecraft.banner.curly_border.pink": "Pink Bordure Indented", + "block.minecraft.banner.curly_border.lime": "Lime Bordure Indented", + "block.minecraft.banner.curly_border.yellow": "Yellow Bordure Indented", + "block.minecraft.banner.curly_border.light_blue": "Light Blue Bordure Indented", + "block.minecraft.banner.curly_border.magenta": "Magenta Bordure Indented", + "block.minecraft.banner.curly_border.orange": "Orange Bordure Indented", + "block.minecraft.banner.curly_border.white": "White Bordure Indented", + "block.minecraft.banner.mojang.black": "Black Thing", + "block.minecraft.banner.mojang.red": "Red Thing", + "block.minecraft.banner.mojang.green": "Green Thing", + "block.minecraft.banner.mojang.brown": "Brown Thing", + "block.minecraft.banner.mojang.blue": "Blue Thing", + "block.minecraft.banner.mojang.purple": "Purple Thing", + "block.minecraft.banner.mojang.cyan": "Cyan Thing", + "block.minecraft.banner.mojang.light_gray": "Light Gray Thing", + "block.minecraft.banner.mojang.gray": "Gray Thing", + "block.minecraft.banner.mojang.pink": "Pink Thing", + "block.minecraft.banner.mojang.lime": "Lime Thing", + "block.minecraft.banner.mojang.yellow": "Yellow Thing", + "block.minecraft.banner.mojang.light_blue": "Light Blue Thing", + "block.minecraft.banner.mojang.magenta": "Magenta Thing", + "block.minecraft.banner.mojang.orange": "Orange Thing", + "block.minecraft.banner.mojang.white": "White Thing", + "block.minecraft.banner.straight_cross.black": "Black Cross", + "block.minecraft.banner.straight_cross.red": "Red Cross", + "block.minecraft.banner.straight_cross.green": "Green Cross", + "block.minecraft.banner.straight_cross.brown": "Brown Cross", + "block.minecraft.banner.straight_cross.blue": "Blue Cross", + "block.minecraft.banner.straight_cross.purple": "Purple Cross", + "block.minecraft.banner.straight_cross.cyan": "Cyan Cross", + "block.minecraft.banner.straight_cross.light_gray": "Light Gray Cross", + "block.minecraft.banner.straight_cross.gray": "Gray Cross", + "block.minecraft.banner.straight_cross.pink": "Pink Cross", + "block.minecraft.banner.straight_cross.lime": "Lime Cross", + "block.minecraft.banner.straight_cross.yellow": "Yellow Cross", + "block.minecraft.banner.straight_cross.light_blue": "Light Blue Cross", + "block.minecraft.banner.straight_cross.magenta": "Magenta Cross", + "block.minecraft.banner.straight_cross.orange": "Orange Cross", + "block.minecraft.banner.straight_cross.white": "White Cross", + "block.minecraft.banner.globe.black": "Black Globe", + "block.minecraft.banner.globe.red": "Red Globe", + "block.minecraft.banner.globe.green": "Green Globe", + "block.minecraft.banner.globe.brown": "Brown Globe", + "block.minecraft.banner.globe.blue": "Blue Globe", + "block.minecraft.banner.globe.purple": "Purple Globe", + "block.minecraft.banner.globe.cyan": "Cyan Globe", + "block.minecraft.banner.globe.light_gray": "Light Gray Globe", + "block.minecraft.banner.globe.gray": "Gray Globe", + "block.minecraft.banner.globe.pink": "Pink Globe", + "block.minecraft.banner.globe.lime": "Lime Globe", + "block.minecraft.banner.globe.yellow": "Yellow Globe", + "block.minecraft.banner.globe.light_blue": "Light Blue Globe", + "block.minecraft.banner.globe.magenta": "Magenta Globe", + "block.minecraft.banner.globe.orange": "Orange Globe", + "block.minecraft.banner.globe.white": "White Globe", + "subtitles.ambient.cave": "Eerie noise", + "subtitles.block.anvil.destroy": "Anvil destroyed", + "subtitles.block.anvil.land": "Anvil landed", + "subtitles.block.anvil.use": "Anvil used", + "subtitles.block.barrel.close": "Barrel closes", + "subtitles.block.barrel.open": "Barrel opens", + "subtitles.block.bell.use": "Bell rings", + "subtitles.block.bell.resonate": "Bell resonates", + "subtitles.block.blastfurnace.fire_crackle": "Blast furnace crackles", + "subtitles.block.brewing_stand.brew": "Brewing Stand bubbles", + "subtitles.block.bubble_column.bubble_pop": "Bubbles pop", + "subtitles.block.bubble_column.upwards_ambient": "Bubbles flow", + "subtitles.block.bubble_column.upwards_inside": "Bubbles woosh", + "subtitles.block.bubble_column.whirlpool_ambient": "Bubbles whirl", + "subtitles.block.bubble_column.whirlpool_inside": "Bubbles zoom", + "subtitles.block.button.click": "Button clicks", + "subtitles.block.campfire.crackle": "Campfire crackles", + "subtitles.block.chest.close": "Chest closes", + "subtitles.block.chest.locked": "Chest locked", + "subtitles.block.chest.open": "Chest opens", + "subtitles.block.chorus_flower.death": "Chorus Flower withers", + "subtitles.block.chorus_flower.grow": "Chorus Flower grows", + "subtitles.block.comparator.click": "Comparator clicks", + "subtitles.block.dispenser.dispense": "Dispensed item", + "subtitles.block.dispenser.fail": "Dispenser failed", + "subtitles.block.door.toggle": "Door creaks", + "subtitles.block.fence_gate.toggle": "Fence Gate creaks", + "subtitles.block.fire.ambient": "Fire crackles", + "subtitles.block.fire.extinguish": "Fire extinguished", + "subtitles.block.furnace.fire_crackle": "Furnace crackles", + "subtitles.block.generic.break": "Block broken", + "subtitles.block.generic.footsteps": "Footsteps", + "subtitles.block.generic.hit": "Block breaking", + "subtitles.block.generic.place": "Block placed", + "subtitles.block.grindstone.use": "Grindstone used", + "subtitles.block.iron_trapdoor.close": "Trapdoor opens", + "subtitles.block.iron_trapdoor.open": "Trapdoor closes", + "subtitles.block.lava.ambient": "Lava pops", + "subtitles.block.lava.extinguish": "Lava hisses", + "subtitles.block.lever.click": "Lever clicks", + "subtitles.block.note_block.note": "Note Block plays", + "subtitles.block.piston.move": "Piston moves", + "subtitles.block.portal.ambient": "Portal whooshes", + "subtitles.block.pressure_plate.click": "Pressure Plate clicks", + "subtitles.block.redstone_torch.burnout": "Torch fizzes", + "subtitles.block.shulker_box.close": "Shulker closes", + "subtitles.block.shulker_box.open": "Shulker opens", + "subtitles.block.smoker.smoke": "Smoker smokes", + "subtitles.block.trapdoor.toggle": "Trapdoor creaks", + "subtitles.block.tripwire.attach": "Tripwire attaches", + "subtitles.block.tripwire.click": "Tripwire clicks", + "subtitles.block.tripwire.detach": "Tripwire detaches", + "subtitles.block.water.ambient": "Water flows", + "subtitles.enchant.thorns.hit": "Thorns prick", + "subtitles.entity.armor_stand.fall": "Something fell", + "subtitles.entity.arrow.hit": "Arrow hits", + "subtitles.entity.arrow.hit_player": "Player hit", + "subtitles.entity.arrow.shoot": "Arrow fired", + "subtitles.entity.bat.ambient": "Bat screeches", + "subtitles.entity.bat.death": "Bat dies", + "subtitles.entity.bat.hurt": "Bat hurts", + "subtitles.entity.bat.takeoff": "Bat takes off", + "subtitles.entity.blaze.ambient": "Blaze breathes", + "subtitles.entity.blaze.burn": "Blaze crackles", + "subtitles.entity.blaze.death": "Blaze dies", + "subtitles.entity.blaze.hurt": "Blaze hurts", + "subtitles.entity.blaze.shoot": "Blaze shoots", + "subtitles.entity.fishing_bobber.splash": "Fishing Bobber splashes", + "subtitles.entity.fishing_bobber.throw": "Bobber thrown", + "subtitles.entity.cat.ambient": "Cat meows", + "subtitles.entity.cat.death": "Cat dies", + "subtitles.entity.cat.hurt": "Cat hurts", + "subtitles.entity.chicken.ambient": "Chicken clucks", + "subtitles.entity.chicken.death": "Chicken dies", + "subtitles.entity.chicken.egg": "Chicken plops", + "subtitles.entity.chicken.hurt": "Chicken hurts", + "subtitles.entity.parrot.ambient": "Parrot talks", + "subtitles.entity.parrot.death": "Parrot dies", + "subtitles.entity.parrot.eats": "Parrot eats", + "subtitles.entity.parrot.hurts": "Parrot hurts", + "subtitles.entity.parrot.imitate.blaze": "Parrot breathes", + "subtitles.entity.parrot.imitate.creeper": "Parrot hisses", + "subtitles.entity.parrot.imitate.drowned": "Parrot gurgles", + "subtitles.entity.parrot.imitate.elder_guardian": "Parrot flaps", + "subtitles.entity.parrot.imitate.ender_dragon": "Parrot roars", + "subtitles.entity.parrot.imitate.enderman": "Parrot vwoops", + "subtitles.entity.parrot.imitate.endermite": "Parrot scuttles", + "subtitles.entity.parrot.imitate.evoker": "Parrot murmurs", + "subtitles.entity.parrot.imitate.ghast": "Parrot cries", + "subtitles.entity.parrot.imitate.guardian": "Parrot moans", + "subtitles.entity.parrot.imitate.husk": "Parrot groans", + "subtitles.entity.parrot.imitate.illusioner": "Parrot murmurs", + "subtitles.entity.parrot.imitate.magma_cube": "Parrot squishes", + "subtitles.entity.parrot.imitate.panda": "Parrot pants", + "subtitles.entity.parrot.imitate.phantom": "Parrot screeches", + "subtitles.entity.parrot.imitate.pillager": "Parrot murmurs", + "subtitles.entity.parrot.imitate.polar_bear": "Parrot groans", + "subtitles.entity.parrot.imitate.ravager": "Parrot grunts", + "subtitles.entity.parrot.imitate.shulker": "Parrot lurks", + "subtitles.entity.parrot.imitate.silverfish": "Parrot hisses", + "subtitles.entity.parrot.imitate.skeleton": "Parrot rattles", + "subtitles.entity.parrot.imitate.slime": "Parrot squishes", + "subtitles.entity.parrot.imitate.spider": "Parrot hisses", + "subtitles.entity.parrot.imitate.stray": "Parrot rattles", + "subtitles.entity.parrot.imitate.vex": "Parrot vexes", + "subtitles.entity.parrot.imitate.vindicator": "Parrot mutters", + "subtitles.entity.parrot.imitate.witch": "Parrot giggles", + "subtitles.entity.parrot.imitate.wither": "Parrot angers", + "subtitles.entity.parrot.imitate.wither_skeleton": "Parrot rattles", + "subtitles.entity.parrot.imitate.wolf": "Parrot pants", + "subtitles.entity.parrot.imitate.zombie": "Parrot groans", + "subtitles.entity.parrot.imitate.zombie_pigman": "Parrot grunts", + "subtitles.entity.parrot.imitate.zombie_villager": "Parrot groans", + "subtitles.entity.cod.death": "Cod dies", + "subtitles.entity.cod.flop": "Cod flops", + "subtitles.entity.cod.hurt": "Cod hurts", + "subtitles.entity.cow.ambient": "Cow moos", + "subtitles.entity.cow.death": "Cow dies", + "subtitles.entity.cow.hurt": "Cow hurts", + "subtitles.entity.cow.milk": "Cow gets milked", + "subtitles.entity.creeper.death": "Creeper dies", + "subtitles.entity.creeper.hurt": "Creeper hurts", + "subtitles.entity.creeper.primed": "Creeper hisses", + "subtitles.entity.dolphin.ambient": "Dolphin chirps", + "subtitles.entity.dolphin.ambient_water": "Dolphin whistles", + "subtitles.entity.dolphin.attack": "Dolphin attacks", + "subtitles.entity.dolphin.death": "Dolphin dies", + "subtitles.entity.dolphin.eat": "Dolphin eats", + "subtitles.entity.dolphin.hurt": "Dolphin hurts", + "subtitles.entity.dolphin.jump": "Dolphin jumps", + "subtitles.entity.dolphin.play": "Dolphin plays", + "subtitles.entity.dolphin.splash": "Dolphin splashes", + "subtitles.entity.dolphin.swim": "Dolphin swims", + "subtitles.entity.donkey.ambient": "Donkey hee-haws", + "subtitles.entity.donkey.angry": "Donkey neighs", + "subtitles.entity.donkey.chest": "Donkey Chest equips", + "subtitles.entity.donkey.death": "Donkey dies", + "subtitles.entity.donkey.hurt": "Donkey hurts", + "subtitles.entity.drowned.ambient": "Drowned gurgles", + "subtitles.entity.drowned.death": "Drowned dies", + "subtitles.entity.drowned.hurt": "Drowned hurts", + "subtitles.entity.drowned.shoot": "Drowned throws Trident", + "subtitles.entity.drowned.step": "Drowned steps", + "subtitles.entity.drowned.swim": "Drowned swims", + "subtitles.entity.egg.throw": "Egg flies", + "subtitles.entity.elder_guardian.ambient_land": "Elder Guardian flaps", + "subtitles.entity.elder_guardian.ambient": "Elder Guardian moans", + "subtitles.entity.elder_guardian.curse": "Elder Guardian curses", + "subtitles.entity.elder_guardian.death": "Elder Guardian dies", + "subtitles.entity.elder_guardian.flop": "Elder Guardian flops", + "subtitles.entity.elder_guardian.hurt": "Elder Guardian hurts", + "subtitles.entity.ender_dragon.ambient": "Dragon roars", + "subtitles.entity.ender_dragon.death": "Dragon dies", + "subtitles.entity.ender_dragon.flap": "Dragon flaps", + "subtitles.entity.ender_dragon.growl": "Dragon growls", + "subtitles.entity.ender_dragon.hurt": "Dragon hurts", + "subtitles.entity.ender_dragon.shoot": "Dragon shoots", + "subtitles.entity.ender_eye.launch": "Eye of Ender shoots", + "subtitles.entity.enderman.ambient": "Enderman vwoops", + "subtitles.entity.enderman.death": "Enderman dies", + "subtitles.entity.enderman.hurt": "Enderman hurts", + "subtitles.entity.enderman.stare": "Enderman cries out", + "subtitles.entity.enderman.teleport": "Enderman teleports", + "subtitles.entity.endermite.ambient": "Endermite scuttles", + "subtitles.entity.endermite.death": "Endermite dies", + "subtitles.entity.endermite.hurt": "Endermite hurts", + "subtitles.entity.ender_pearl.throw": "Ender Pearl flies", + "subtitles.entity.evoker_fangs.attack": "Fangs snap", + "subtitles.entity.evoker.ambient": "Evoker murmurs", + "subtitles.entity.evoker.cast_spell": "Evoker casts spell", + "subtitles.entity.evoker.celebrate": "Evoker cheers", + "subtitles.entity.evoker.death": "Evoker dies", + "subtitles.entity.evoker.hurt": "Evoker hurts", + "subtitles.entity.evoker.prepare_attack": "Evoker prepares attack", + "subtitles.entity.evoker.prepare_summon": "Evoker prepares summoning", + "subtitles.entity.evoker.prepare_wololo": "Evoker prepares charming", + "subtitles.entity.experience_orb.pickup": "Experience gained", + "subtitles.entity.firework_rocket.blast": "Firework blasts", + "subtitles.entity.firework_rocket.launch": "Firework launches", + "subtitles.entity.firework_rocket.twinkle": "Firework twinkles", + "subtitles.entity.fox.aggro": "Fox angers", + "subtitles.entity.fox.ambient": "Fox squeaks", + "subtitles.entity.fox.bite": "Fox bites", + "subtitles.entity.fox.death": "Fox dies", + "subtitles.entity.fox.eat": "Fox eats", + "subtitles.entity.fox.hurt": "Fox hurts", + "subtitles.entity.fox.screech": "Fox screeches", + "subtitles.entity.fox.sleep": "Fox snores", + "subtitles.entity.fox.sniff": "Fox sniffs", + "subtitles.entity.fox.spit": "Fox spits", + "subtitles.entity.generic.big_fall": "Something fell", + "subtitles.entity.generic.burn": "Burning", + "subtitles.entity.generic.death": "Dying", + "subtitles.entity.generic.drink": "Sipping", + "subtitles.entity.generic.eat": "Eating", + "subtitles.entity.generic.explode": "Explosion", + "subtitles.entity.generic.extinguish_fire": "Fire extinguishes", + "subtitles.entity.generic.hurt": "Something hurts", + "subtitles.entity.generic.small_fall": "Something trips", + "subtitles.entity.generic.splash": "Splashing", + "subtitles.entity.generic.swim": "Swimming", + "subtitles.entity.ghast.ambient": "Ghast cries", + "subtitles.entity.ghast.death": "Ghast dies", + "subtitles.entity.ghast.hurt": "Ghast hurts", + "subtitles.entity.ghast.shoot": "Ghast shoots", + "subtitles.entity.guardian.ambient_land": "Guardian flaps", + "subtitles.entity.guardian.ambient": "Guardian moans", + "subtitles.entity.guardian.attack": "Guardian shoots", + "subtitles.entity.guardian.death": "Guardian dies", + "subtitles.entity.guardian.flop": "Guardian flops", + "subtitles.entity.guardian.hurt": "Guardian hurts", + "subtitles.entity.horse.ambient": "Horse neighs", + "subtitles.entity.horse.angry": "Horse neighs", + "subtitles.entity.horse.armor": "Horse armor equips", + "subtitles.entity.horse.breathe": "Horse breathes", + "subtitles.entity.horse.death": "Horse dies", + "subtitles.entity.horse.eat": "Horse eats", + "subtitles.entity.horse.gallop": "Horse gallops", + "subtitles.entity.horse.hurt": "Horse hurts", + "subtitles.entity.horse.jump": "Horse jumps", + "subtitles.entity.horse.saddle": "Saddle equips", + "subtitles.entity.husk.ambient": "Husk groans", + "subtitles.entity.husk.converted_to_zombie": "Husk converted to Zombie", + "subtitles.entity.husk.death": "Husk dies", + "subtitles.entity.husk.hurt": "Husk hurts", + "subtitles.entity.illusioner.ambient": "Illusioner murmurs", + "subtitles.entity.illusioner.cast_spell": "Illusioner casts spell", + "subtitles.entity.illusioner.death": "Illusioner dies", + "subtitles.entity.illusioner.hurt": "Illusioner hurts", + "subtitles.entity.illusioner.mirror_move": "Illusioner displaces", + "subtitles.entity.illusioner.prepare_blindness": "Illusioner prepares blindness", + "subtitles.entity.illusioner.prepare_mirror": "Illusioner prepares mirror image", + "subtitles.entity.iron_golem.attack": "Iron Golem attacks", + "subtitles.entity.iron_golem.death": "Iron Golem dies", + "subtitles.entity.iron_golem.hurt": "Iron Golem hurts", + "subtitles.entity.item.break": "Item breaks", + "subtitles.entity.item.pickup": "Item plops", + "subtitles.entity.item_frame.add_item": "Item Frame fills", + "subtitles.entity.item_frame.break": "Item Frame breaks", + "subtitles.entity.item_frame.place": "Item Frame placed", + "subtitles.entity.item_frame.remove_item": "Item Frame empties", + "subtitles.entity.item_frame.rotate_item": "Item Frame clicks", + "subtitles.entity.leash_knot.break": "Leash knot breaks", + "subtitles.entity.leash_knot.place": "Leash knot tied", + "subtitles.entity.lightning_bolt.impact": "Lightning strikes", + "subtitles.entity.lightning_bolt.thunder": "Thunder roars", + "subtitles.entity.llama.ambient": "Llama bleats", + "subtitles.entity.llama.angry": "Llama bleats angrily", + "subtitles.entity.llama.chest": "Llama Chest equips", + "subtitles.entity.llama.death": "Llama dies", + "subtitles.entity.llama.eat": "Llama eats", + "subtitles.entity.llama.hurt": "Llama hurts", + "subtitles.entity.llama.spit": "Llama spits", + "subtitles.entity.llama.step": "Llama steps", + "subtitles.entity.llama.swag": "Llama is decorated", + "subtitles.entity.ravager.step": "Ravager steps", + "subtitles.entity.ravager.stunned": "Ravager stunned", + "subtitles.entity.ravager.roar": "Ravager roars", + "subtitles.entity.ravager.attack": "Ravager bites", + "subtitles.entity.ravager.death": "Ravager dies", + "subtitles.entity.ravager.hurt": "Ravager hurts", + "subtitles.entity.ravager.ambient": "Ravager grunts", + "subtitles.entity.ravager.celebrate": "Ravager cheers", + "subtitles.entity.magma_cube.death": "Magma Cube dies", + "subtitles.entity.magma_cube.hurt": "Magma Cube hurts", + "subtitles.entity.magma_cube.squish": "Magma Cube squishes", + "subtitles.entity.minecart.riding": "Minecart rolls", + "subtitles.entity.mooshroom.convert": "Mooshroom transforms", + "subtitles.entity.mooshroom.eat": "Mooshroom eats", + "subtitles.entity.mooshroom.milk": "Mooshroom gets milked", + "subtitles.entity.mooshroom.suspicious_milk": "Mooshroom gets milked suspiciously", + "subtitles.entity.mule.ambient": "Mule hee-haws", + "subtitles.entity.mule.chest": "Mule Chest equips", + "subtitles.entity.mule.death": "Mule dies", + "subtitles.entity.mule.hurt": "Mule hurts", + "subtitles.entity.panda.ambient": "Panda pants", + "subtitles.entity.panda.pre_sneeze": "Panda's nose tickles", + "subtitles.entity.panda.sneeze": "Panda sneezes", + "subtitles.entity.panda.death": "Panda dies", + "subtitles.entity.panda.eat": "Panda eats", + "subtitles.entity.panda.step": "Panda steps", + "subtitles.entity.panda.cant_breed": "Panda bleats", + "subtitles.entity.panda.aggressive_ambient": "Panda huffs", + "subtitles.entity.panda.worried_ambient": "Panda whimpers", + "subtitles.entity.panda.hurt": "Panda hurts", + "subtitles.entity.panda.bite": "Panda bites", + "subtitles.entity.painting.break": "Painting breaks", + "subtitles.entity.painting.place": "Painting placed", + "subtitles.entity.phantom.ambient": "Phantom screeches", + "subtitles.entity.phantom.bite": "Phantom bites", + "subtitles.entity.phantom.death": "Phantom dies", + "subtitles.entity.phantom.flap": "Phantom flaps", + "subtitles.entity.phantom.hurt": "Phantom hurts", + "subtitles.entity.phantom.swoop": "Phantom swoops", + "subtitles.entity.pig.ambient": "Pig oinks", + "subtitles.entity.pig.death": "Pig dies", + "subtitles.entity.pig.hurt": "Pig hurts", + "subtitles.entity.pig.saddle": "Saddle equips", + "subtitles.entity.pillager.ambient": "Pillager murmurs", + "subtitles.entity.pillager.celebrate": "Pillager cheers", + "subtitles.entity.pillager.death": "Pillager dies", + "subtitles.entity.pillager.hurt": "Pillager hurts", + "subtitles.entity.player.burp": "Burp", + "subtitles.entity.player.death": "Player dies", + "subtitles.entity.player.hurt": "Player hurts", + "subtitles.entity.player.levelup": "Player dings", + "subtitles.entity.polar_bear.ambient": "Polar Bear groans", + "subtitles.entity.polar_bear.ambient_baby": "Polar Bear hums", + "subtitles.entity.polar_bear.death": "Polar Bear dies", + "subtitles.entity.polar_bear.hurt": "Polar Bear hurts", + "subtitles.entity.polar_bear.warning": "Polar Bear roars", + "subtitles.entity.potion.splash": "Bottle smashes", + "subtitles.entity.potion.throw": "Bottle thrown", + "subtitles.entity.puffer_fish.blow_out": "Pufferfish deflates", + "subtitles.entity.puffer_fish.blow_up": "Pufferfish inflates", + "subtitles.entity.puffer_fish.death": "Pufferfish dies", + "subtitles.entity.puffer_fish.flop": "Pufferfish flops", + "subtitles.entity.puffer_fish.hurt": "Pufferfish hurts", + "subtitles.entity.puffer_fish.sting": "Pufferfish stings", + "subtitles.entity.rabbit.ambient": "Rabbit squeaks", + "subtitles.entity.rabbit.attack": "Rabbit attacks", + "subtitles.entity.rabbit.death": "Rabbit dies", + "subtitles.entity.rabbit.hurt": "Rabbit hurts", + "subtitles.entity.rabbit.jump": "Rabbit hops", + "subtitles.entity.salmon.death": "Salmon dies", + "subtitles.entity.salmon.flop": "Salmon flops", + "subtitles.entity.salmon.hurt": "Salmon hurts", + "subtitles.entity.sheep.ambient": "Sheep baahs", + "subtitles.entity.sheep.death": "Sheep dies", + "subtitles.entity.sheep.hurt": "Sheep hurts", + "subtitles.entity.shulker.ambient": "Shulker lurks", + "subtitles.entity.shulker.close": "Shulker closes", + "subtitles.entity.shulker.death": "Shulker dies", + "subtitles.entity.shulker.hurt": "Shulker hurts", + "subtitles.entity.shulker.open": "Shulker opens", + "subtitles.entity.shulker.shoot": "Shulker shoots", + "subtitles.entity.shulker.teleport": "Shulker teleports", + "subtitles.entity.shulker_bullet.hit": "Shulker bullet explodes", + "subtitles.entity.shulker_bullet.hurt": "Shulker bullet breaks", + "subtitles.entity.silverfish.ambient": "Silverfish hisses", + "subtitles.entity.silverfish.death": "Silverfish dies", + "subtitles.entity.silverfish.hurt": "Silverfish hurts", + "subtitles.entity.skeleton.ambient": "Skeleton rattles", + "subtitles.entity.skeleton.death": "Skeleton dies", + "subtitles.entity.skeleton.hurt": "Skeleton hurts", + "subtitles.entity.skeleton.shoot": "Skeleton shoots", + "subtitles.entity.skeleton_horse.ambient": "Skeleton Horse cries", + "subtitles.entity.skeleton_horse.death": "Skeleton Horse dies", + "subtitles.entity.skeleton_horse.hurt": "Skeleton Horse hurts", + "subtitles.entity.skeleton_horse.swim": "Skeleton Horse swims", + "subtitles.entity.slime.attack": "Slime attacks", + "subtitles.entity.slime.death": "Slime dies", + "subtitles.entity.slime.hurt": "Slime hurts", + "subtitles.entity.slime.squish": "Slime squishes", + "subtitles.entity.snowball.throw": "Snowball flies", + "subtitles.entity.snow_golem.death": "Snow Golem dies", + "subtitles.entity.snow_golem.hurt": "Snow Golem hurts", + "subtitles.entity.spider.ambient": "Spider hisses", + "subtitles.entity.spider.death": "Spider dies", + "subtitles.entity.spider.hurt": "Spider hurts", + "subtitles.entity.squid.ambient": "Squid swims", + "subtitles.entity.squid.death": "Squid dies", + "subtitles.entity.squid.hurt": "Squid hurts", + "subtitles.entity.squid.squirt": "Squid shoots ink", + "subtitles.entity.stray.ambient": "Stray rattles", + "subtitles.entity.stray.death": "Stray dies", + "subtitles.entity.stray.hurt": "Stray hurts", + "subtitles.entity.tnt.primed": "TNT fizzes", + "subtitles.entity.turtle.ambient_land": "Turtle chirps", + "subtitles.entity.turtle.lay_egg": "Turtle lays egg", + "subtitles.entity.turtle.egg_hatch": "Turtle egg hatches", + "subtitles.entity.turtle.egg_crack": "Turtle egg cracks", + "subtitles.entity.turtle.egg_break": "Turtle egg breaks", + "subtitles.entity.turtle.hurt": "Turtle hurts", + "subtitles.entity.turtle.hurt_baby": "Turtle baby hurts", + "subtitles.entity.turtle.death": "Turtle dies", + "subtitles.entity.turtle.death_baby": "Turtle baby dies", + "subtitles.entity.turtle.swim": "Turtle swims", + "subtitles.entity.turtle.shamble": "Turtle shambles", + "subtitles.entity.turtle.shamble_baby": "Turtle baby shambles", + "subtitles.entity.vex.ambient": "Vex vexes", + "subtitles.entity.vex.charge": "Vex shrieks", + "subtitles.entity.vex.death": "Vex dies", + "subtitles.entity.vex.hurt": "Vex hurts", + "subtitles.entity.villager.ambient": "Villager mumbles", + "subtitles.entity.villager.celebrate": "Villager cheers", + "subtitles.entity.villager.death": "Villager dies", + "subtitles.entity.villager.hurt": "Villager hurts", + "subtitles.entity.villager.no": "Villager disagrees", + "subtitles.entity.villager.trade": "Villager trades", + "subtitles.entity.villager.yes": "Villager agrees", + "subtitles.entity.villager.work_armorer": "Armorer works", + "subtitles.entity.villager.work_butcher": "Butcher works", + "subtitles.entity.villager.work_cartographer": "Cartographer works", + "subtitles.entity.villager.work_cleric": "Cleric works", + "subtitles.entity.villager.work_farmer": "Farmer works", + "subtitles.entity.villager.work_fisherman": "Fisherman works", + "subtitles.entity.villager.work_fletcher": "Fletcher works", + "subtitles.entity.villager.work_leatherworker": "Leatherworker works", + "subtitles.entity.villager.work_librarian": "Librarian works", + "subtitles.entity.villager.work_mason": "Mason works", + "subtitles.entity.villager.work_shepherd": "Shepherd works", + "subtitles.entity.villager.work_toolsmith": "Toolsmith works", + "subtitles.entity.villager.work_weaponsmith": "Weaponsmith works", + "subtitles.entity.vindicator.ambient": "Vindicator mutters", + "subtitles.entity.vindicator.celebrate": "Vindicator cheers", + "subtitles.entity.vindicator.death": "Vindicator dies", + "subtitles.entity.vindicator.hurt": "Vindicator hurts", + "subtitles.entity.wandering_trader.ambient": "Wandering Trader mumbles", + "subtitles.entity.wandering_trader.death": "Wandering Trader dies", + "subtitles.entity.wandering_trader.hurt": "Wandering Trader hurts", + "subtitles.entity.wandering_trader.no": "Wandering Trader disagrees", + "subtitles.entity.wandering_trader.trade": "Wandering Trader trades", + "subtitles.entity.wandering_trader.yes": "Wandering Trader agrees", + "subtitles.entity.witch.ambient": "Witch giggles", + "subtitles.entity.witch.celebrate": "Witch cheers", + "subtitles.entity.witch.death": "Witch dies", + "subtitles.entity.witch.drink": "Witch drinks", + "subtitles.entity.witch.hurt": "Witch hurts", + "subtitles.entity.witch.throw": "Witch throws", + "subtitles.entity.wither.ambient": "Wither angers", + "subtitles.entity.wither.death": "Wither dies", + "subtitles.entity.wither.hurt": "Wither hurts", + "subtitles.entity.wither.shoot": "Wither attacks", + "subtitles.entity.wither.spawn": "Wither released", + "subtitles.entity.wither_skeleton.ambient": "Wither Skeleton rattles", + "subtitles.entity.wither_skeleton.death": "Wither Skeleton dies", + "subtitles.entity.wither_skeleton.hurt": "Wither Skeleton hurts", + "subtitles.entity.wolf.ambient": "Wolf pants", + "subtitles.entity.wolf.death": "Wolf dies", + "subtitles.entity.wolf.growl": "Wolf growls", + "subtitles.entity.wolf.hurt": "Wolf hurts", + "subtitles.entity.wolf.shake": "Wolf shakes", + "subtitles.entity.zombie.ambient": "Zombie groans", + "subtitles.entity.zombie.converted_to_drowned": "Zombie converted to Drowned", + "subtitles.entity.zombie.death": "Zombie dies", + "subtitles.entity.zombie.hurt": "Zombie hurts", + "subtitles.entity.zombie.infect": "Zombie infects", + "subtitles.entity.zombie_horse.ambient": "Zombie Horse cries", + "subtitles.entity.zombie_horse.death": "Zombie Horse dies", + "subtitles.entity.zombie_horse.hurt": "Zombie Horse hurts", + "subtitles.entity.zombie_pigman.ambient": "Zombie Pigman grunts", + "subtitles.entity.zombie_pigman.angry": "Zombie Pigman angers", + "subtitles.entity.zombie_pigman.death": "Zombie Pigman dies", + "subtitles.entity.zombie_pigman.hurt": "Zombie Pigman hurts", + "subtitles.entity.zombie_villager.ambient": "Zombie Villager groans", + "subtitles.entity.zombie_villager.converted": "Zombie vociferates", + "subtitles.entity.zombie_villager.cure": "Zombie snuffles", + "subtitles.entity.zombie_villager.death": "Zombie Villager dies", + "subtitles.entity.zombie_villager.hurt": "Zombie Villager hurts", + "subtitles.event.raid.horn": "Ominous horn blares", + "subtitles.item.axe.strip": "Debarking log", + "subtitles.item.armor.equip": "Gear equips", + "subtitles.item.armor.equip_chain": "Chain armor jingles", + "subtitles.item.armor.equip_diamond": "Diamond armor clangs", + "subtitles.item.armor.equip_elytra": "Elytra rustle", + "subtitles.item.armor.equip_gold": "Gold armor clinks", + "subtitles.item.armor.equip_iron": "Iron armor clanks", + "subtitles.item.armor.equip_leather": "Leather armor rustles", + "subtitles.item.armor.equip_turtle": "Turtle shell thunks", + "subtitles.item.bottle.fill": "Bottle fills", + "subtitles.item.bucket.empty": "Bucket empties", + "subtitles.item.bucket.fill": "Bucket fills", + "subtitles.item.chorus_fruit.teleport": "Player teleports", + "subtitles.item.crop.plant": "Crop planted", + "subtitles.item.crossbow.charge": "Crossbow charges up", + "subtitles.item.crossbow.hit": "Arrow hits", + "subtitles.item.crossbow.load": "Crossbow loads", + "subtitles.item.crossbow.shoot": "Crossbow fires", + "subtitles.item.firecharge.use": "Fireball whooshes", + "subtitles.item.flintandsteel.use": "Flint and Steel click", + "subtitles.item.hoe.till": "Hoe tills", + "subtitles.item.nether_wart.plant": "Crop planted", + "subtitles.item.shears.shear": "Shears click", + "subtitles.item.shield.block": "Shield blocks", + "subtitles.item.shovel.flatten": "Shovel flattens", + "subtitles.item.berries.pick": "Berries pop", + "subtitles.item.totem.use": "Totem activates", + "subtitles.item.trident.hit": "Trident stabs", + "subtitles.item.trident.hit_ground": "Trident vibrates", + "subtitles.item.trident.return": "Trident returns", + "subtitles.item.trident.riptide": "Trident zooms", + "subtitles.item.trident.throw": "Trident clangs", + "subtitles.item.trident.thunder": "Trident thunder cracks", + "subtitles.weather.rain": "Rain falls", + "subtitles.item.book.page_turn": "Page rustles", + "subtitles.item.book.put": "Book thumps", + "debug.prefix": "[Debug]:", + "debug.reload_chunks.help": "F3 + A = Reload chunks", + "debug.show_hitboxes.help": "F3 + B = Show hitboxes", + "debug.clear_chat.help": "F3 + D = Clear chat", + "debug.cycle_renderdistance.help": "F3 + F = Cycle render distance (Shift to invert)", + "debug.chunk_boundaries.help": "F3 + G = Show chunk boundaries", + "debug.advanced_tooltips.help": "F3 + H = Advanced tooltips", + "debug.creative_spectator.help": "F3 + N = Cycle creative <-> spectator", + "debug.pause_focus.help": "F3 + P = Pause on lost focus", + "debug.help.help": "F3 + Q = Show this list", + "debug.reload_resourcepacks.help": "F3 + T = Reload resource packs", + "debug.copy_location.help": "F3 + C = Copy location as /tp command, hold F3 + C to crash the game", + "debug.inspect.help": "F3 + I = Copy entity or block data to clipboard", + "debug.copy_location.message": "Copied location to clipboard", + "debug.inspect.server.block": "Copied server-side block data to clipboard", + "debug.inspect.server.entity": "Copied server-side entity data to clipboard", + "debug.inspect.client.block": "Copied client-side block data to clipboard", + "debug.inspect.client.entity": "Copied client-side entity data to clipboard", + "debug.reload_chunks.message": "Reloading all chunks", + "debug.show_hitboxes.on": "Hitboxes: shown", + "debug.show_hitboxes.off": "Hitboxes: hidden", + "debug.cycle_renderdistance.message": "Render Distance: %s", + "debug.chunk_boundaries.on": "Chunk borders: shown", + "debug.chunk_boundaries.off": "Chunk borders: hidden", + "debug.advanced_tooltips.on": "Advanced tooltips: shown", + "debug.advanced_tooltips.off": "Advanced tooltips: hidden", + "debug.creative_spectator.error": "Unable to switch gamemode, no permission", + "debug.pause_focus.on": "Pause on lost focus: enabled", + "debug.pause_focus.off": "Pause on lost focus: disabled", + "debug.help.message": "Key bindings:", + "debug.reload_resourcepacks.message": "Reloaded resource packs", + "debug.crash.message": "F3 + C is held down. This will crash the game unless released.", + "debug.crash.warning": "Crashing in %s...", + "resourcepack.downloading": "Downloading Resource Pack", + "resourcepack.requesting": "Making Request...", + "resourcepack.progress": "Downloading file (%s MB)...", + "tutorial.move.title": "Move with %s, %s, %s and %s", + "tutorial.move.description": "Jump with %s", + "tutorial.look.title": "Look around", + "tutorial.look.description": "Use your mouse to turn", + "tutorial.find_tree.title": "Find a tree", + "tutorial.find_tree.description": "Punch it to collect wood", + "tutorial.punch_tree.title": "Destroy the tree", + "tutorial.punch_tree.description": "Hold down %s", + "tutorial.open_inventory.title": "Open your inventory", + "tutorial.open_inventory.description": "Press %s", + "tutorial.craft_planks.title": "Craft wooden planks", + "tutorial.craft_planks.description": "The recipe book can help", + "advancements.adventure.adventuring_time.title": "Adventuring Time", + "advancements.adventure.adventuring_time.description": "Discover every biome", + "advancements.adventure.arbalistic.title": "Arbalistic", + "advancements.adventure.arbalistic.description": "Kill five unique mobs with one crossbow shot", + "advancements.adventure.hero_of_the_village.title": "Hero of the Village", + "advancements.adventure.hero_of_the_village.description": "Successfully defend a village from a raid", + "advancements.adventure.kill_all_mobs.title": "Monsters Hunted", + "advancements.adventure.kill_all_mobs.description": "Kill one of every hostile monster", + "advancements.adventure.kill_a_mob.title": "Monster Hunter", + "advancements.adventure.kill_a_mob.description": "Kill any hostile monster", + "advancements.adventure.ol_betsy.title": "Ol' Betsy", + "advancements.adventure.ol_betsy.description": "Shoot a crossbow", + "advancements.adventure.root.title": "Adventure", + "advancements.adventure.root.description": "Adventure, exploration and combat", + "advancements.adventure.shoot_arrow.title": "Take Aim", + "advancements.adventure.shoot_arrow.description": "Shoot something with a bow and arrow", + "advancements.adventure.sleep_in_bed.title": "Sweet Dreams", + "advancements.adventure.sleep_in_bed.description": "Change your respawn point", + "advancements.adventure.sniper_duel.title": "Sniper Duel", + "advancements.adventure.sniper_duel.description": "Kill a Skeleton from at least 50 meters away", + "advancements.adventure.summon_iron_golem.title": "Hired Help", + "advancements.adventure.summon_iron_golem.description": "Summon an Iron Golem to help defend a village", + "advancements.adventure.totem_of_undying.title": "Postmortal", + "advancements.adventure.totem_of_undying.description": "Use a Totem of Undying to cheat death", + "advancements.adventure.trade.title": "What a Deal!", + "advancements.adventure.trade.description": "Successfully trade with a Villager", + "advancements.adventure.throw_trident.title": "A Throwaway Joke", + "advancements.adventure.throw_trident.description": "Throw a trident at something.\nNote: Throwing away your only weapon is not a good idea.", + "advancements.adventure.two_birds_one_arrow.title": "Two Birds, One Arrow", + "advancements.adventure.two_birds_one_arrow.description": "Kill two Phantoms with a piercing arrow", + "advancements.adventure.very_very_frightening.title": "Very Very Frightening", + "advancements.adventure.very_very_frightening.description": "Strike a Villager with lightning", + "advancements.adventure.voluntary_exile.title": "Voluntary Exile", + "advancements.adventure.voluntary_exile.description": "Kill a raid captain.\nMaybe consider staying away from villages for the time being...", + "advancements.adventure.whos_the_pillager_now.title": "Who's the Pillager Now?", + "advancements.adventure.whos_the_pillager_now.description": "Give a Pillager a taste of their own medicine", + "advancements.husbandry.root.title": "Husbandry", + "advancements.husbandry.root.description": "The world is full of friends and food", + "advancements.husbandry.breed_an_animal.title": "The Parrots and the Bats", + "advancements.husbandry.breed_an_animal.description": "Breed two animals together", + "advancements.husbandry.fishy_business.title": "Fishy Business", + "advancements.husbandry.fishy_business.description": "Catch a fish", + "advancements.husbandry.tactical_fishing.title": "Tactical Fishing", + "advancements.husbandry.tactical_fishing.description": "Catch a fish... without a fishing rod!", + "advancements.husbandry.breed_all_animals.title": "Two by Two", + "advancements.husbandry.breed_all_animals.description": "Breed all the animals!", + "advancements.husbandry.tame_an_animal.title": "Best Friends Forever", + "advancements.husbandry.tame_an_animal.description": "Tame an animal", + "advancements.husbandry.plant_seed.title": "A Seedy Place", + "advancements.husbandry.plant_seed.description": "Plant a seed and watch it grow", + "advancements.husbandry.break_diamond_hoe.title": "Serious Dedication", + "advancements.husbandry.break_diamond_hoe.description": "Completely use up a diamond hoe, and then reevaluate your life choices", + "advancements.husbandry.balanced_diet.title": "A Balanced Diet", + "advancements.husbandry.balanced_diet.description": "Eat everything that is edible, even if it's not good for you", + "advancements.husbandry.complete_catalogue.title":"A Complete Catalogue", + "advancements.husbandry.complete_catalogue.description":"Tame all cat variants!", + "advancements.end.dragon_breath.title": "You Need a Mint", + "advancements.end.dragon_breath.description": "Collect dragon's breath in a glass bottle", + "advancements.end.dragon_egg.title": "The Next Generation", + "advancements.end.dragon_egg.description": "Hold the Dragon Egg", + "advancements.end.elytra.title": "Sky's the Limit", + "advancements.end.elytra.description": "Find Elytra", + "advancements.end.enter_end_gateway.title": "Remote Getaway", + "advancements.end.enter_end_gateway.description": "Escape the island", + "advancements.end.find_end_city.title": "The City at the End of the Game", + "advancements.end.find_end_city.description": "Go on in, what could happen?", + "advancements.end.kill_dragon.title": "Free the End", + "advancements.end.kill_dragon.description": "Good luck", + "advancements.end.levitate.title": "Great View From Up Here", + "advancements.end.levitate.description": "Levitate up 50 blocks from the attacks of a Shulker", + "advancements.end.respawn_dragon.title": "The End... Again...", + "advancements.end.respawn_dragon.description": "Respawn the Ender Dragon", + "advancements.end.root.title": "The End", + "advancements.end.root.description": "Or the beginning?", + "advancements.nether.brew_potion.title": "Local Brewery", + "advancements.nether.brew_potion.description": "Brew a potion", + "advancements.nether.all_potions.title": "A Furious Cocktail", + "advancements.nether.all_potions.description": "Have every potion effect applied at the same time", + "advancements.nether.all_effects.title": "How Did We Get Here?", + "advancements.nether.all_effects.description": "Have every effect applied at the same time", + "advancements.nether.create_beacon.title": "Bring Home the Beacon", + "advancements.nether.create_beacon.description": "Construct and place a Beacon", + "advancements.nether.create_full_beacon.title": "Beaconator", + "advancements.nether.create_full_beacon.description": "Bring a beacon to full power", + "advancements.nether.find_fortress.title": "A Terrible Fortress", + "advancements.nether.find_fortress.description": "Break your way into a Nether Fortress", + "advancements.nether.get_wither_skull.title": "Spooky Scary Skeleton", + "advancements.nether.get_wither_skull.description": "Obtain a Wither Skeleton's skull", + "advancements.nether.obtain_blaze_rod.title": "Into Fire", + "advancements.nether.obtain_blaze_rod.description": "Relieve a Blaze of its rod", + "advancements.nether.return_to_sender.title": "Return to Sender", + "advancements.nether.return_to_sender.description": "Destroy a Ghast with a fireball", + "advancements.nether.root.title": "Nether", + "advancements.nether.root.description": "Bring summer clothes", + "advancements.nether.summon_wither.title": "Withering Heights", + "advancements.nether.summon_wither.description": "Summon the Wither", + "advancements.nether.fast_travel.title": "Subspace Bubble", + "advancements.nether.fast_travel.description": "Use the Nether to travel 7 km in the Overworld", + "advancements.nether.uneasy_alliance.title": "Uneasy Alliance", + "advancements.nether.uneasy_alliance.description": "Rescue a Ghast from the Nether, bring it safely home to the Overworld... and then kill it", + "advancements.story.cure_zombie_villager.title": "Zombie Doctor", + "advancements.story.cure_zombie_villager.description": "Weaken and then cure a Zombie Villager", + "advancements.story.deflect_arrow.title": "Not Today, Thank You", + "advancements.story.deflect_arrow.description": "Deflect an arrow with a shield", + "advancements.story.enchant_item.title": "Enchanter", + "advancements.story.enchant_item.description": "Enchant an item at an Enchanting Table", + "advancements.story.enter_the_end.title": "The End?", + "advancements.story.enter_the_end.description": "Enter the End Portal", + "advancements.story.enter_the_nether.title": "We Need to Go Deeper", + "advancements.story.enter_the_nether.description": "Build, light and enter a Nether Portal", + "advancements.story.follow_ender_eye.title": "Eye Spy", + "advancements.story.follow_ender_eye.description": "Follow an Eye of Ender", + "advancements.story.form_obsidian.title": "Ice Bucket Challenge", + "advancements.story.form_obsidian.description": "Form and mine a block of Obsidian", + "advancements.story.iron_tools.title": "Isn't It Iron Pick", + "advancements.story.iron_tools.description": "Upgrade your pickaxe", + "advancements.story.lava_bucket.title": "Hot Stuff", + "advancements.story.lava_bucket.description": "Fill a bucket with lava", + "advancements.story.mine_diamond.title": "Diamonds!", + "advancements.story.mine_diamond.description": "Acquire diamonds", + "advancements.story.mine_stone.title": "Stone Age", + "advancements.story.mine_stone.description": "Mine stone with your new pickaxe", + "advancements.story.obtain_armor.title": "Suit Up", + "advancements.story.obtain_armor.description": "Protect yourself with a piece of iron armor", + "advancements.story.root.title": "Minecraft", + "advancements.story.root.description": "The heart and story of the game", + "advancements.story.shiny_gear.title": "Cover Me With Diamonds", + "advancements.story.shiny_gear.description": "Diamond armor saves lives", + "advancements.story.smelt_iron.title": "Acquire Hardware", + "advancements.story.smelt_iron.description": "Smelt an iron ingot", + "advancements.story.upgrade_tools.title": "Getting an Upgrade", + "advancements.story.upgrade_tools.description": "Construct a better pickaxe", + "team.visibility.always": "Always", + "team.visibility.never": "Never", + "team.visibility.hideForOtherTeams": "Hide for other teams", + "team.visibility.hideForOwnTeam": "Hide for own team", + "team.collision.always": "Always", + "team.collision.never": "Never", + "team.collision.pushOtherTeams": "Push other teams", + "team.collision.pushOwnTeam": "Push own team", + "argument.entity.selector.nearestPlayer": "Nearest player", + "argument.entity.selector.randomPlayer": "Random player", + "argument.entity.selector.allPlayers": "All players", + "argument.entity.selector.allEntities": "All entities", + "argument.entity.selector.self": "Current entity", + "argument.entity.options.name.description": "Entity name", + "argument.entity.options.distance.description": "Distance to entity", + "argument.entity.options.level.description": "Experience level", + "argument.entity.options.x.description": "x position", + "argument.entity.options.y.description": "y position", + "argument.entity.options.z.description": "z position", + "argument.entity.options.dx.description": "Entities between x and x + dx", + "argument.entity.options.dy.description": "Entities between y and y + dy", + "argument.entity.options.dz.description": "Entities between z and z + dz", + "argument.entity.options.x_rotation.description": "Entity's x rotation", + "argument.entity.options.y_rotation.description": "Entity's y rotation", + "argument.entity.options.limit.description": "Maximum number of entities to return", + "argument.entity.options.sort.description": "Sort the entities", + "argument.entity.options.gamemode.description": "Players with gamemode", + "argument.entity.options.team.description": "Entities on team", + "argument.entity.options.type.description": "Entities of type", + "argument.entity.options.tag.description": "Entities with tag", + "argument.entity.options.nbt.description": "Entities with NBT", + "argument.entity.options.scores.description": "Entities with scores", + "argument.entity.options.advancements.description": "Players with advancements", + "command.failed": "An unexpected error occurred trying to execute that command", + "command.context.here": "<--[HERE]", + "commands.publish.started": "Local game hosted on port %s", + "commands.publish.failed": "Unable to host local game", + "commands.advancement.advancementNotFound": "No advancement was found by the name '%1$s'", + "commands.advancement.criterionNotFound": "The advancement %1$s does not contain the criterion '%2$s'", + "commands.advancement.grant.one.to.one.success": "Granted the advancement %s to %s", + "commands.advancement.grant.one.to.one.failure": "Couldn't grant advancement %s to %s as they already have it", + "commands.advancement.grant.one.to.many.success": "Granted the advancement %s to %s players", + "commands.advancement.grant.one.to.many.failure": "Couldn't grant advancement %s to %s players as they already have it", + "commands.advancement.grant.many.to.one.success": "Granted %s advancements to %s", + "commands.advancement.grant.many.to.one.failure": "Couldn't grant %s advancements to %s as they already have them", + "commands.advancement.grant.many.to.many.success": "Granted %s advancements to %s players", + "commands.advancement.grant.many.to.many.failure": "Couldn't grant %s advancements to %s players as they already have them", + "commands.advancement.grant.criterion.to.one.success": "Granted criterion '%s' of advancement %s to %s", + "commands.advancement.grant.criterion.to.one.failure": "Couldn't grant criterion '%s' of advancement %s to %s as they already have it", + "commands.advancement.grant.criterion.to.many.success": "Granted criterion '%s' of advancement %s to %s players", + "commands.advancement.grant.criterion.to.many.failure": "Couldn't grant criterion '%s' of advancement %s to %s players as they already have it", + "commands.advancement.revoke.one.to.one.success": "Revoked the advancement %s from %s", + "commands.advancement.revoke.one.to.one.failure": "Couldn't revoke advancement %s from %s as they don't have it", + "commands.advancement.revoke.one.to.many.success": "Revoked the advancement %s from %s players", + "commands.advancement.revoke.one.to.many.failure": "Couldn't revoke advancement %s from %s players as they don't have it", + "commands.advancement.revoke.many.to.one.success": "Revoked %s advancements from %s", + "commands.advancement.revoke.many.to.one.failure": "Couldn't revoke %s advancements from %s as they don't have them", + "commands.advancement.revoke.many.to.many.success": "Revoked %s advancements from %s players", + "commands.advancement.revoke.many.to.many.failure": "Couldn't revoke %s advancements from %s players as they don't have them", + "commands.advancement.revoke.criterion.to.one.success": "Revoked criterion '%s' of advancement %s from %s", + "commands.advancement.revoke.criterion.to.one.failure": "Couldn't revoke criterion '%s' of advancement %s from %s as they don't have it", + "commands.advancement.revoke.criterion.to.many.success": "Revoked criterion '%s' of advancement %s from %s players", + "commands.advancement.revoke.criterion.to.many.failure": "Couldn't revoke criterion '%s' of advancement %s from %s players as they don't have it", + "commands.forceload.added.failure": "No chunks were marked for force loading", + "commands.forceload.added.single": "Marked chunk %s in %s to be force loaded", + "commands.forceload.added.multiple": "Marked %s chunks in %s from %s to %s to be force loaded", + "commands.forceload.query.success": "Chunk at %s in %s is marked for force loading", + "commands.forceload.query.failure": "Chunk at %s in %s is not marked for force loading", + "commands.forceload.list.single": "A force loaded chunk was found in %s at: %s", + "commands.forceload.list.multiple": "%s force loaded chunks were found in %s at: %s", + "commands.forceload.added.none": "No force loaded chunks were found in %s", + "commands.forceload.removed.all": "Unmarked all force loaded chunks in %s", + "commands.forceload.removed.failure": "No chunks were removed from force loading", + "commands.forceload.removed.single": "Unmarked chunk %s in %s for force loading", + "commands.forceload.removed.multiple": "Unmarked %s chunks in %s from %s to %s for force loading", + "commands.forceload.toobig": "Too many chunks in the specified area (maximum %s, specified %s)", + "commands.clear.success.single": "Removed %s items from player %s", + "commands.clear.success.multiple": "Removed %s items from %s players", + "commands.clear.test.single": "Found %s matching items on player %s", + "commands.clear.test.multiple": "Found %s matching items on %s players", + "commands.clone.success": "Successfully cloned %s blocks", + "commands.debug.started": "Started debug profiling", + "commands.debug.stopped": "Stopped debug profiling after %s seconds and %s ticks (%s ticks per second)", + "commands.defaultgamemode.success": "The default game mode is now %s", + "commands.difficulty.success": "The difficulty has been set to %s", + "commands.difficulty.query": "The difficulty is %s", + "commands.drop.no_held_items": "Entity can't hold any items", + "commands.drop.no_loot_table": "Entity %s has no loot table", + "commands.drop.success.single": "Dropped %s * %s", + "commands.drop.success.single_with_table": "Dropped %s * %s from loot table %s", + "commands.drop.success.multiple": "Dropped %s items", + "commands.drop.success.multiple_with_table": "Dropped %s items from loot table %s", + "commands.effect.give.success.single": "Applied effect %s to %s", + "commands.effect.give.success.multiple": "Applied effect %s to %s targets", + "commands.effect.clear.everything.success.single": "Removed every effect from %s", + "commands.effect.clear.everything.success.multiple": "Removed every effect from %s targets", + "commands.effect.clear.specific.success.single": "Removed effect %s from %s", + "commands.effect.clear.specific.success.multiple": "Removed effect %s from %s targets", + "commands.enchant.success.single": "Applied enchantment %s to %s's item", + "commands.enchant.success.multiple": "Applied enchantment %s to %s entities", + "commands.experience.add.points.success.single": "Gave %s experience points to %s", + "commands.experience.add.points.success.multiple": "Gave %s experience points to %s players", + "commands.experience.add.levels.success.single": "Gave %s experience levels to %s", + "commands.experience.add.levels.success.multiple": "Gave %s experience levels to %s players", + "commands.experience.set.points.success.single": "Set %s experience points on %s", + "commands.experience.set.points.success.multiple": "Set %s experience points on %s players", + "commands.experience.set.levels.success.single": "Set %s experience levels on %s", + "commands.experience.set.levels.success.multiple": "Set %s experience levels on %s players", + "commands.experience.query.points": "%s has %s experience points", + "commands.experience.query.levels": "%s has %s experience levels", + "commands.fill.success": "Successfully filled %s blocks", + "commands.function.success.single": "Executed %s commands from function '%s'", + "commands.function.success.multiple": "Executed %s commands from %s functions", + "commands.give.success.single": "Gave %s %s to %s", + "commands.give.success.multiple": "Gave %s %s to %s players", + "commands.playsound.success.single": "Played sound %s to %s", + "commands.playsound.success.multiple": "Played sound %s to %s players", + "commands.publish.success": "Multiplayer game is now hosted on port %s", + "commands.list.players": "There are %s of a max %s players online: %s", + "commands.kill.success.single": "Killed %s", + "commands.kill.success.multiple": "Killed %s entities", + "commands.kick.success": "Kicked %s: %s", + "commands.locate.success": "The nearest %s is at %s (%s blocks away)", + "commands.message.display.outgoing": "You whisper to %s: %s", + "commands.message.display.incoming": "%s whispers to you: %s", + "commands.op.success": "Made %s a server operator", + "commands.deop.success": "Made %s no longer a server operator", + "commands.ban.success": "Banned %s: %s", + "commands.pardon.success": "Unbanned %s", + "commands.particle.success": "Displaying particle %s", + "commands.seed.success": "Seed: %s", + "commands.stop.stopping": "Stopping the server", + "commands.time.query": "The time is %s", + "commands.time.set": "Set the time to %s", + "commands.schedule.created.function": "Scheduled function '%s' in %s ticks at gametime %s", + "commands.schedule.created.tag": "Scheduled tag '%s' in %s ticks at gametime %s", + "commands.schedule.same_tick": "Can't schedule for current tick", + "commands.gamemode.success.self": "Set own game mode to %s", + "commands.gamemode.success.other": "Set %s's game mode to %s", + "commands.gamerule.query": "Gamerule %s is currently set to: %s", + "commands.gamerule.set": "Gamerule %s is now set to: %s", + "commands.save.disabled": "Automatic saving is now disabled", + "commands.save.enabled": "Automatic saving is now enabled", + "commands.save.saving": "Saving the game (this may take a moment!)", + "commands.save.success": "Saved the game", + "commands.setidletimeout.success": "The player idle timeout is now %s minutes", + "commands.banlist.none": "There are no bans", + "commands.banlist.list": "There are %s bans:", + "commands.banlist.entry": "%s was banned by %s: %s", + "commands.bossbar.create.success": "Created custom bossbar %s", + "commands.bossbar.remove.success": "Removed custom bossbar %s", + "commands.bossbar.list.bars.none": "There are no custom bossbars active", + "commands.bossbar.list.bars.some": "There are %s custom bossbars active: %s", + "commands.bossbar.set.players.success.none": "Custom bossbar %s no longer has any players", + "commands.bossbar.set.players.success.some": "Custom bossbar %s now has %s players: %s", + "commands.bossbar.set.name.success": "Custom bossbar %s has been renamed", + "commands.bossbar.set.color.success": "Custom bossbar %s has changed color", + "commands.bossbar.set.style.success": "Custom bossbar %s has changed style", + "commands.bossbar.set.value.success": "Custom bossbar %s has changed value to %s", + "commands.bossbar.set.max.success": "Custom bossbar %s has changed maximum to %s", + "commands.bossbar.set.visible.success.visible": "Custom bossbar %s is now visible", + "commands.bossbar.set.visible.success.hidden": "Custom bossbar %s is now hidden", + "commands.bossbar.get.value": "Custom bossbar %s has a value of %s", + "commands.bossbar.get.max": "Custom bossbar %s has a maximum of %s", + "commands.bossbar.get.visible.visible": "Custom bossbar %s is currently shown", + "commands.bossbar.get.visible.hidden": "Custom bossbar %s is currently hidden", + "commands.bossbar.get.players.none": "Custom bossbar %s has no players currently online", + "commands.bossbar.get.players.some": "Custom bossbar %s has %s players currently online: %s", + "commands.recipe.give.success.single": "Unlocked %s recipes for %s", + "commands.recipe.give.success.multiple": "Unlocked %s recipes for %s players", + "commands.recipe.take.success.single": "Took %s recipes from %s", + "commands.recipe.take.success.multiple": "Took %s recipes from %s players", + "commands.summon.success": "Summoned new %s", + "commands.whitelist.enabled": "Whitelist is now turned on", + "commands.whitelist.disabled": "Whitelist is now turned off", + "commands.whitelist.none": "There are no whitelisted players", + "commands.whitelist.list": "There are %s whitelisted players: %s", + "commands.whitelist.add.success": "Added %s to the whitelist", + "commands.whitelist.remove.success": "Removed %s from the whitelist", + "commands.whitelist.reloaded": "Reloaded the whitelist", + "commands.weather.set.clear": "Set the weather to clear", + "commands.weather.set.rain": "Set the weather to rain", + "commands.weather.set.thunder": "Set the weather to rain & thunder", + "commands.spawnpoint.success.single": "Set spawn point to %s, %s, %s for %s", + "commands.spawnpoint.success.multiple": "Set spawn point to %s, %s, %s for %s players", + "commands.stopsound.success.source.sound": "Stopped sound '%s' on source '%s'", + "commands.stopsound.success.source.any": "Stopped all '%s' sounds", + "commands.stopsound.success.sourceless.sound": "Stopped sound '%s'", + "commands.stopsound.success.sourceless.any": "Stopped all sounds", + "commands.setworldspawn.success": "Set the world spawn point to %s, %s, %s", + "commands.spreadplayers.success.teams": "Spread %s teams around %s, %s with an average distance of %s blocks apart", + "commands.spreadplayers.success.entities": "Spread %s players around %s, %s with an average distance of %s blocks apart", + "commands.setblock.success": "Changed the block at %s, %s, %s", + "commands.banip.success": "Banned IP %s: %s", + "commands.banip.info": "This ban affects %s players: %s", + "commands.pardonip.success": "Unbanned IP %s", + "commands.teleport.success.entity.single": "Teleported %s to %s", + "commands.teleport.success.entity.multiple": "Teleported %s entities to %s", + "commands.teleport.success.location.single": "Teleported %s to %s, %s, %s", + "commands.teleport.success.location.multiple": "Teleported %s entities to %s, %s, %s", + "commands.title.cleared.single": "Cleared titles for %s", + "commands.title.cleared.multiple": "Cleared titles for %s players", + "commands.title.reset.single": "Reset title options for %s", + "commands.title.reset.multiple": "Reset title options for %s players", + "commands.title.show.title.single": "Showing new title for %s", + "commands.title.show.title.multiple": "Showing new title for %s players", + "commands.title.show.subtitle.single": "Showing new subtitle for %s", + "commands.title.show.subtitle.multiple": "Showing new subtitle for %s players", + "commands.title.show.actionbar.single": "Showing new actionbar title for %s", + "commands.title.show.actionbar.multiple": "Showing new actionbar title for %s players", + "commands.title.times.single": "Changed title display times for %s", + "commands.title.times.multiple": "Changed title display times for %s players", + "commands.worldborder.set.grow": "Growing the world border to %s blocks wide over %s seconds", + "commands.worldborder.set.shrink": "Shrinking the world border to %s blocks wide over %s seconds", + "commands.worldborder.set.immediate": "Set the world border to %s blocks wide", + "commands.worldborder.center.success": "Set the center of the world border to %s, %s", + "commands.worldborder.get": "The world border is currently %s blocks wide", + "commands.worldborder.damage.buffer.success": "Set the world border damage buffer to %s blocks", + "commands.worldborder.damage.amount.success": "Set the world border damage time to %s seconds", + "commands.worldborder.warning.time.success": "Set the world border warning time to %s seconds", + "commands.worldborder.warning.distance.success": "Set the world border warning distance to %s blocks", + "commands.replaceitem.block.success": "Replaced a slot at %s, %s, %s with %s", + "commands.replaceitem.entity.success.single": "Replaced a slot on %s with %s", + "commands.replaceitem.entity.success.multiple": "Replaced a slot on %s entities with %s", + "commands.tag.add.success.single": "Added tag '%s' to %s", + "commands.tag.add.success.multiple": "Added tag '%s' to %s entities", + "commands.tag.remove.success.single": "Removed tag '%s' from %s", + "commands.tag.remove.success.multiple": "Removed tag '%s' from %s entities", + "commands.tag.list.single.empty": "%s has no tags", + "commands.tag.list.single.success": "%s has %s tags: %s", + "commands.tag.list.multiple.empty": "There are no tags on the %s entities", + "commands.tag.list.multiple.success": "The %s entities have %s total tags: %s", + "commands.team.list.members.empty": "There are no members on team %s", + "commands.team.list.members.success": "Team %s has %s members: %s", + "commands.team.list.teams.empty": "There are no teams", + "commands.team.list.teams.success": "There are %s teams: %s", + "commands.team.add.success": "Created team %s", + "commands.team.remove.success": "Removed team %s", + "commands.team.empty.success": "Removed %s members from team %s", + "commands.team.option.color.success": "Updated the color for team %s to %s", + "commands.team.option.name.success": "Updated team %s name", + "commands.team.option.friendlyfire.enabled": "Enabled friendly fire for team %s", + "commands.team.option.friendlyfire.disabled": "Disabled friendly fire for team %s", + "commands.team.option.seeFriendlyInvisibles.enabled": "Team %s can now see invisible teammates", + "commands.team.option.seeFriendlyInvisibles.disabled": "Team %s can no longer see invisible teammates", + "commands.team.option.nametagVisibility.success": "Nametag visibility for team %s is now \"%s\"", + "commands.team.option.deathMessageVisibility.success": "Death message visibility for team %s is now \"%s\"", + "commands.team.option.collisionRule.success": "Collision rule for team %s is now \"%s\"", + "commands.team.option.prefix.success": "Team prefix set to %s", + "commands.team.option.suffix.success": "Team suffix set to %s", + "commands.team.join.success.single": "Added %s to team %s", + "commands.team.join.success.multiple": "Added %s members to team %s", + "commands.team.leave.success.single": "Removed %s from any team", + "commands.team.leave.success.multiple": "Removed %s members from any team", + "commands.trigger.simple.success": "Triggered %s", + "commands.trigger.add.success": "Triggered %s (added %s to value)", + "commands.trigger.set.success": "Triggered %s (set value to %s)", + "commands.scoreboard.objectives.list.empty": "There are no objectives", + "commands.scoreboard.objectives.list.success": "There are %s objectives: %s", + "commands.scoreboard.objectives.add.success": "Created new objective %s", + "commands.scoreboard.objectives.remove.success": "Removed objective %s", + "commands.scoreboard.objectives.display.cleared": "Cleared any objectives in display slot %s", + "commands.scoreboard.objectives.display.set": "Set display slot %s to show objective %s", + "commands.scoreboard.objectives.modify.displayname": "Changed objective %s display name to %s", + "commands.scoreboard.objectives.modify.rendertype": "Changed objective %s render type", + "commands.scoreboard.players.list.empty": "There are no tracked entities", + "commands.scoreboard.players.list.success": "There are %s tracked entities: %s", + "commands.scoreboard.players.list.entity.empty": "%s has no scores to show", + "commands.scoreboard.players.list.entity.success": "%s has %s scores:", + "commands.scoreboard.players.list.entity.entry": "%s: %s", + "commands.scoreboard.players.set.success.single": "Set %s for %s to %s", + "commands.scoreboard.players.set.success.multiple": "Set %s for %s entities to %s", + "commands.scoreboard.players.add.success.single": "Added %s to %s for %s (now %s)", + "commands.scoreboard.players.add.success.multiple": "Added %s to %s for %s entities", + "commands.scoreboard.players.remove.success.single": "Removed %s from %s for %s (now %s)", + "commands.scoreboard.players.remove.success.multiple": "Removed %s from %s for %s entities", + "commands.scoreboard.players.reset.all.single": "Reset all scores for %s", + "commands.scoreboard.players.reset.all.multiple": "Reset all scores for %s entities", + "commands.scoreboard.players.reset.specific.single": "Reset %s for %s", + "commands.scoreboard.players.reset.specific.multiple": "Reset %s for %s entities", + "commands.scoreboard.players.enable.success.single": "Enabled trigger %s for %s", + "commands.scoreboard.players.enable.success.multiple": "Enabled trigger %s for %s entities", + "commands.scoreboard.players.operation.success.single": "Set %s for %s to %s", + "commands.scoreboard.players.operation.success.multiple": "Updated %s for %s entities", + "commands.scoreboard.players.get.success": "%s has %s %s", + "commands.reload.success": "Reloading!", + "commands.data.entity.modified": "Modified entity data of %s", + "commands.data.entity.query": "%s has the following entity data: %s", + "commands.data.entity.get": "%s on %s after scale factor of %s is %s", + "commands.data.block.modified": "Modified block data of %s, %s, %s", + "commands.data.block.query": "%s, %s, %s has the following block data: %s", + "commands.data.block.get": "%s on block %s, %s, %s after scale factor of %s is %s", + "commands.datapack.list.enabled.success": "There are %s data packs enabled: %s", + "commands.datapack.list.enabled.none": "There are no data packs enabled", + "commands.datapack.list.available.success": "There are %s data packs available: %s", + "commands.datapack.list.available.none": "There are no more data packs available", + "commands.datapack.enable.success": "Enabled data pack %s", + "commands.datapack.disable.success": "Disabled data pack %s", + "argument.range.empty": "Expected value or range of values", + "argument.range.ints": "Only whole numbers allowed, not decimals", + "argument.range.swapped": "Min cannot be bigger than max", + "permissions.requires.player": "A player is required to run this command here", + "permissions.requires.entity": "An entity is required to run this command here", + "argument.entity.toomany": "Only one entity is allowed, but the provided selector allows more than one", + "argument.player.toomany": "Only one player is allowed, but the provided selector allows more than one", + "argument.player.entities": "Only players may be affected by this command, but the provided selector includes entities", + "argument.entity.notfound.entity": "No entity was found", + "argument.entity.notfound.player": "No player was found", + "argument.player.unknown": "That player does not exist", + "arguments.nbtpath.node.invalid": "Invalid NBT path element", + "arguments.nbtpath.nothing_found": "Found no elements matching %s", + "arguments.operation.invalid": "Invalid operation", + "arguments.operation.div0": "Cannot divide by zero", + "argument.scoreHolder.empty": "No relevant score holders could be found", + "argument.block.tag.disallowed": "Tags aren't allowed here, only actual blocks", + "argument.block.property.unclosed": "Expected closing ] for block state properties", + "argument.pos.unloaded": "That position is not loaded", + "argument.pos.outofworld": "That position is out of this world!", + "argument.rotation.incomplete": "Incomplete (expected 2 coordinates)", + "arguments.swizzle.invalid": "Invalid swizzle, expected combination of 'x', 'y' and 'z'", + "argument.pos2d.incomplete": "Incomplete (expected 2 coordinates)", + "argument.pos3d.incomplete": "Incomplete (expected 3 coordinates)", + "argument.pos.mixed": "Cannot mix world & local coordinates (everything must either use ^ or not)", + "argument.pos.missing.double": "Expected a coordinate", + "argument.pos.missing.int": "Expected a block position", + "argument.item.tag.disallowed": "Tags aren't allowed here, only actual items", + "argument.entity.invalid": "Invalid name or UUID", + "argument.entity.selector.missing": "Missing selector type", + "argument.entity.selector.not_allowed": "Selector not allowed", + "argument.entity.options.unterminated": "Expected end of options", + "argument.entity.options.distance.negative": "Distance cannot be negative", + "argument.entity.options.level.negative": "Level shouldn't be negative", + "argument.entity.options.limit.toosmall": "Limit must be at least 1", + "argument.nbt.trailing": "Unexpected trailing data", + "argument.nbt.expected.key": "Expected key", + "argument.nbt.expected.value": "Expected value", + "argument.id.invalid": "Invalid ID", + "argument.time.invalid_unit": "Invalid unit", + "argument.time.invalid_tick_count": "Tick count must be non-negative", + "commands.banip.invalid": "Invalid IP address or unknown player", + "commands.banip.failed": "Nothing changed. That IP is already banned", + "commands.ban.failed": "Nothing changed. The player is already banned", + "commands.bossbar.set.players.unchanged": "Nothing changed. Those players are already on the bossbar with nobody to add or remove", + "commands.bossbar.set.name.unchanged": "Nothing changed. That's already the name of this bossbar", + "commands.bossbar.set.color.unchanged": "Nothing changed. That's already the color of this bossbar", + "commands.bossbar.set.style.unchanged": "Nothing changed. That's already the style of this bossbar", + "commands.bossbar.set.value.unchanged": "Nothing changed. That's already the value of this bossbar", + "commands.bossbar.set.max.unchanged": "Nothing changed. That's already the max of this bossbar", + "commands.bossbar.set.visibility.unchanged.hidden": "Nothing changed. The bossbar is already hidden", + "commands.bossbar.set.visibility.unchanged.visible": "Nothing changed. The bossbar is already visible", + "commands.clone.overlap": "The source and destination areas cannot overlap", + "commands.clone.failed": "No blocks were cloned", + "commands.debug.notRunning": "The debug profiler hasn't started", + "commands.debug.alreadyRunning": "The debug profiler is already started", + "commands.deop.failed": "Nothing changed. The player is not an operator", + "commands.effect.give.failed": "Unable to apply this effect (target is either immune to effects, or has something stronger)", + "commands.effect.clear.everything.failed": "Target has no effects to remove", + "commands.effect.clear.specific.failed": "Target doesn't have the requested effect", + "commands.enchant.failed": "Nothing changed. Targets either have no item in their hands or the enchantment could not be applied", + "commands.experience.set.points.invalid": "Cannot set experience points above the maximum points for the player's current level", + "commands.fill.failed": "No blocks were filled", + "commands.help.failed": "Unknown command or insufficient permissions", + "commands.locate.failed": "Could not find that structure nearby", + "commands.op.failed": "Nothing changed. The player already is an operator", + "commands.pardon.failed": "Nothing changed. The player isn't banned", + "commands.pardonip.invalid": "Invalid IP address", + "commands.pardonip.failed": "Nothing changed. That IP isn't banned", + "commands.particle.failed": "The particle was not visible for anybody", + "commands.playsound.failed": "The sound is too far away to be heard", + "commands.recipe.give.failed": "No new recipes were learned", + "commands.recipe.take.failed": "No recipes could be forgotten", + "commands.replaceitem.block.failed": "The target block is not a container", + "commands.replaceitem.slot.inapplicable": "The target does not have slot %s", + "commands.replaceitem.entity.failed": "Could not put %s in slot %s", + "commands.save.failed": "Unable to save the game (is there enough disk space?)", + "commands.save.alreadyOff": "Saving is already turned off", + "commands.save.alreadyOn": "Saving is already turned on", + "commands.scoreboard.objectives.add.duplicate": "An objective already exists by that name", + "commands.scoreboard.objectives.display.alreadyEmpty": "Nothing changed. That display slot is already empty", + "commands.scoreboard.objectives.display.alreadySet": "Nothing changed. That display slot is already showing that objective", + "commands.scoreboard.players.enable.failed": "Nothing changed. That trigger is already enabled", + "commands.scoreboard.players.enable.invalid": "Enable only works on trigger-objectives", + "commands.setblock.failed": "Could not set the block", + "commands.summon.failed": "Unable to summon entity", + "commands.tag.add.failed": "Target either already has the tag or has too many tags", + "commands.tag.remove.failed": "Target does not have this tag", + "commands.team.add.duplicate": "A team already exists by that name", + "commands.team.empty.unchanged": "Nothing changed. That team is already empty", + "commands.team.option.color.unchanged": "Nothing changed. That team already has that color", + "commands.team.option.name.unchanged": "Nothing changed. That team already has that name", + "commands.team.option.friendlyfire.alreadyEnabled": "Nothing changed. Friendly fire is already enabled for that team", + "commands.team.option.friendlyfire.alreadyDisabled": "Nothing changed. Friendly fire is already disabled for that team", + "commands.team.option.seeFriendlyInvisibles.alreadyEnabled": "Nothing changed. That team can already see invisible teammates", + "commands.team.option.seeFriendlyInvisibles.alreadyDisabled": "Nothing changed. That team already can't see invisible teammates", + "commands.team.option.nametagVisibility.unchanged": "Nothing changed. Nametag visibility is already that value", + "commands.team.option.deathMessageVisibility.unchanged": "Nothing changed. Death message visibility is already that value", + "commands.team.option.collisionRule.unchanged": "Nothing changed. Collision rule is already that value", + "commands.trigger.failed.unprimed": "You cannot trigger this objective yet", + "commands.trigger.failed.invalid": "You can only trigger objectives that are 'trigger' type", + "commands.whitelist.alreadyOn": "Whitelist is already turned on", + "commands.whitelist.alreadyOff": "Whitelist is already turned off", + "commands.whitelist.add.failed": "Player is already whitelisted", + "commands.whitelist.remove.failed": "Player is not whitelisted", + "commands.worldborder.center.failed": "Nothing changed. The world border is already centered there", + "commands.worldborder.set.failed.nochange": "Nothing changed. The world border is already that size", + "commands.worldborder.set.failed.small.": "World border cannot be smaller than 1 block wide", + "commands.worldborder.set.failed.big.": "World border cannot be bigger than 60,000,000 blocks wide", + "commands.worldborder.warning.time.failed": "Nothing changed. The world border warning is already that amount of time", + "commands.worldborder.warning.distance.failed": "Nothing changed. The world border warning is already that distance", + "commands.worldborder.damage.buffer.failed": "Nothing changed. The world border damage buffer is already that distance", + "commands.worldborder.damage.amount.failed": "Nothing changed. The world border damage is already that amount", + "commands.data.block.invalid": "The target block is not a block entity", + "commands.data.merge.failed": "Nothing changed, the specified properties already have these values", + "commands.data.modify.expected_list": "Expected list, got: %s", + "commands.data.modify.expected_object": "Expected object, got: %s", + "commands.data.modify.invalid_index": "Invalid list index: %s", + "commands.data.get.multiple": "This argument accepts a single NBT value", + "commands.data.entity.invalid": "Unable to modify player data", + "commands.teammsg.failed.noteam": "You must be on a team to message your team", + "argument.color.invalid": "Unknown color '%s'", + "argument.dimension.invalid": "Unknown dimension '%s'", + "argument.component.invalid": "Invalid chat component: %s", + "argument.anchor.invalid": "Invalid entity anchor position %s", + "enchantment.unknown": "Unknown enchantment: %s", + "lectern.take_book": "Take Book", + "effect.effectNotFound": "Unknown effect: %s", + "arguments.objective.notFound": "Unknown scoreboard objective '%s'", + "arguments.objective.readonly": "Scoreboard objective '%s' is read-only", + "commands.scoreboard.objectives.add.longName": "Objective names cannot be longer than %s characters", + "argument.criteria.invalid": "Unknown criteria '%s'", + "particle.notFound": "Unknown particle: %s", + "argument.id.unknown": "Unknown ID: %s", + "advancement.advancementNotFound": "Unknown advancement: %s", + "recipe.notFound": "Unknown recipe: %s", + "entity.notFound": "Unknown entity: %s", + "argument.scoreboardDisplaySlot.invalid": "Unknown display slot '%s'", + "slot.unknown": "Unknown slot '%s'", + "team.notFound": "Unknown team '%s'", + "arguments.block.tag.unknown": "Unknown block tag '%s'", + "argument.block.id.invalid": "Unknown block type '%s'", + "argument.block.property.unknown": "Block %s does not have property '%s'", + "argument.block.property.duplicate": "Property '%s' can only be set once for block %s", + "argument.block.property.invalid": "Block %s does not accept '%s' for %s property", + "argument.block.property.novalue": "Expected value for property '%s' on block %s", + "arguments.function.tag.unknown": "Unknown function tag '%s'", + "arguments.function.unknown": "Unknown function %s", + "arguments.item.overstacked": "%s can only stack up to %s", + "argument.item.id.invalid": "Unknown item '%s'", + "arguments.item.tag.unknown": "Unknown item tag '%s'", + "argument.entity.selector.unknown": "Unknown selector type '%s'", + "argument.entity.options.valueless": "Expected value for option '%s'", + "argument.entity.options.unknown": "Unknown option '%s'", + "argument.entity.options.inapplicable": "Option '%s' isn't applicable here", + "argument.entity.options.sort.irreversible": "Invalid or unknown sort type '%s'", + "argument.entity.options.mode.invalid": "Invalid or unknown game mode '%s'", + "argument.entity.options.type.invalid": "Invalid or unknown entity type '%s'", + "argument.nbt.list.mixed": "Can't insert %s into list of %s", + "argument.nbt.array.mixed": "Can't insert %s into %s", + "argument.nbt.array.invalid": "Invalid array type '%s'", + "commands.bossbar.create.failed": "A bossbar already exists with the ID '%s'", + "commands.bossbar.unknown": "No bossbar exists with the ID '%s'", + "clear.failed.single": "No items were found on player %s", + "clear.failed.multiple": "No items were found on %s players", + "commands.clone.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.datapack.unknown": "Unknown data pack '%s'", + "commands.datapack.enable.failed": "Pack '%s' is already enabled!", + "commands.datapack.disable.failed": "Pack '%s' is not enabled!", + "commands.difficulty.failure": "The difficulty did not change; it is already set to %s", + "commands.enchant.failed.entity": "%s is not a valid entity for this command", + "commands.enchant.failed.itemless": "%s is not holding any item", + "commands.enchant.failed.incompatible": "%s cannot support that enchantment", + "commands.enchant.failed.level": "%s is higher than the maximum level of %s supported by that enchantment", + "commands.execute.blocks.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.execute.conditional.pass": "Test passed", + "commands.execute.conditional.pass_count": "Test passed, count: %s", + "commands.execute.conditional.fail": "Test failed", + "commands.execute.conditional.fail_count": "Test failed, count: %s", + "commands.fill.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.publish.alreadyPublished": "Multiplayer game is already hosted on port %s", + "commands.scoreboard.players.get.null": "Can't get value of %s for %s; none is set", + "commands.spreadplayers.failed.teams": "Could not spread %s teams around %s, %s (too many entities for space - try using spread of at most %s)", + "commands.spreadplayers.failed.entities": "Could not spread %s entities around %s, %s (too many entities for space - try using spread of at most %s)", + "commands.team.add.longName": "Team names cannot be longer than %s characters", + "commands.data.get.invalid": "Can't get %s; only numeric tags are allowed", + "commands.data.get.unknown": "Can't get %s; tag doesn't exist", + "argument.double.low": "Double must not be less than %s, found %s", + "argument.double.big": "Double must not be more than %s, found %s", + "argument.float.low": "Float must not be less than %s, found %s", + "argument.float.big": "Float must not be more than %s, found %s", + "argument.integer.low": "Integer must not be less than %s, found %s", + "argument.integer.big": "Integer must not be more than %s, found %s", + "argument.long.low": "Long must not be less than %s, found %s", + "argument.long.big": "Long must not be more than %s, found %s", + "argument.literal.incorrect": "Expected literal %s", + "parsing.quote.expected.start": "Expected quote to start a string", + "parsing.quote.expected.end": "Unclosed quoted string", + "parsing.quote.escape": "Invalid escape sequence '\\%s' in quoted string", + "parsing.bool.invalid": "Invalid boolean, expected 'true' or 'false' but found '%s'", + "parsing.int.invalid": "Invalid integer '%s'", + "parsing.int.expected": "Expected integer", + "parsing.long.invalid": "Invalid long '%s'", + "parsing.long.expected": "Expected long", + "command.exception": "Could not parse command: %s", + "parsing.double.invalid": "Invalid double '%s'", + "parsing.double.expected": "Expected double", + "parsing.float.invalid": "Invalid float '%s'", + "parsing.float.expected": "Expected float", + "parsing.bool.expected": "Expected boolean", + "parsing.expected": "Expected '%s'", + "command.unknown.command": "Unknown command", + "command.unknown.argument": "Incorrect argument for command", + "command.expected.separator": "Expected whitespace to end one argument, but found trailing data", + "biome.minecraft.beach": "Beach", + "biome.minecraft.birch_forest": "Birch Forest", + "biome.minecraft.birch_forest_hills": "Birch Forest Hills", + "biome.minecraft.snowy_beach": "Snowy Beach", + "biome.minecraft.cold_ocean": "Cold Ocean", + "biome.minecraft.deep_cold_ocean": "Deep Cold Ocean", + "biome.minecraft.deep_frozen_ocean": "Deep Frozen Ocean", + "biome.minecraft.deep_lukewarm_ocean": "Deep Lukewarm Ocean", + "biome.minecraft.deep_ocean": "Deep Ocean", + "biome.minecraft.deep_warm_ocean": "Deep Warm Ocean", + "biome.minecraft.desert": "Desert", + "biome.minecraft.desert_hills": "Desert Hills", + "biome.minecraft.mountains": "Mountains", + "biome.minecraft.wooded_mountains": "Wooded Mountains", + "biome.minecraft.forest": "Forest", + "biome.minecraft.wooded_hills": "Wooded Hills", + "biome.minecraft.frozen_ocean": "Frozen Ocean", + "biome.minecraft.frozen_river": "Frozen River", + "biome.minecraft.nether": "Nether", + "biome.minecraft.snowy_tundra": "Snowy Tundra", + "biome.minecraft.snowy_mountains": "Snowy Mountains", + "biome.minecraft.jungle_edge": "Jungle Edge", + "biome.minecraft.jungle_hills": "Jungle Hills", + "biome.minecraft.jungle": "Jungle", + "biome.minecraft.lukewarm_ocean": "Lukewarm Ocean", + "biome.minecraft.badlands_plateau": "Badlands Plateau", + "biome.minecraft.badlands": "Badlands", + "biome.minecraft.wooded_badlands_plateau": "Wooded Badlands Plateau", + "biome.minecraft.mushroom_fields": "Mushroom Fields", + "biome.minecraft.mushroom_field_shore": "Mushroom Field Shore", + "biome.minecraft.tall_birch_hills": "Tall Birch Hills", + "biome.minecraft.tall_birch_forest": "Tall Birch Forest", + "biome.minecraft.desert_lakes": "Desert Lakes", + "biome.minecraft.gravelly_mountains": "Gravelly Mountains", + "biome.minecraft.modified_gravelly_mountains": "Gravelly Mountains+", + "biome.minecraft.flower_forest": "Flower Forest", + "biome.minecraft.ice_spikes": "Ice Spikes", + "biome.minecraft.modified_jungle_edge": "Modified Jungle Edge", + "biome.minecraft.modified_jungle": "Modified Jungle", + "biome.minecraft.modified_badlands_plateau": "Modified Badlands Plateau", + "biome.minecraft.eroded_badlands": "Eroded Badlands", + "biome.minecraft.modified_wooded_badlands_plateau": "Modified Wooded Badlands Plateau", + "biome.minecraft.sunflower_plains": "Sunflower Plains", + "biome.minecraft.giant_spruce_taiga_hills": "Giant Spruce Taiga Hills", + "biome.minecraft.giant_spruce_taiga": "Giant Spruce Taiga", + "biome.minecraft.dark_forest_hills": "Dark Forest Hills", + "biome.minecraft.shattered_savanna": "Shattered Savanna", + "biome.minecraft.shattered_savanna_plateau": "Shattered Savanna Plateau", + "biome.minecraft.swamp_hills": "Swamp Hills", + "biome.minecraft.snowy_taiga_mountains": "Snowy Taiga Mountains", + "biome.minecraft.taiga_mountains": "Taiga Mountains", + "biome.minecraft.ocean": "Ocean", + "biome.minecraft.plains": "Plains", + "biome.minecraft.giant_tree_taiga_hills": "Giant Tree Taiga Hills", + "biome.minecraft.giant_tree_taiga": "Giant Tree Taiga", + "biome.minecraft.river": "River", + "biome.minecraft.dark_forest": "Dark Forest", + "biome.minecraft.savanna_plateau": "Savanna Plateau", + "biome.minecraft.savanna": "Savanna", + "biome.minecraft.end_barrens": "End Barrens", + "biome.minecraft.end_highlands": "End Highlands", + "biome.minecraft.small_end_islands": "Small End Islands", + "biome.minecraft.end_midlands": "End Midlands", + "biome.minecraft.the_end": "The End", + "biome.minecraft.mountain_edge": "Mountain Edge", + "biome.minecraft.stone_shore": "Stone Shore", + "biome.minecraft.swamp": "Swamp", + "biome.minecraft.snowy_taiga": "Snowy Taiga", + "biome.minecraft.snowy_taiga_hills": "Snowy Taiga Hills", + "biome.minecraft.taiga_hills": "Taiga Hills", + "biome.minecraft.taiga": "Taiga", + "biome.minecraft.the_void": "The Void", + "biome.minecraft.warm_ocean": "Warm Ocean", + "biome.minecraft.bamboo_jungle": "Bamboo Jungle", + "biome.minecraft.bamboo_jungle_hills": "Bamboo Jungle Hills", + "generator.minecraft.surface": "Surface", + "generator.minecraft.caves": "Caves", + "generator.minecraft.floating_islands": "Floating Islands", + "realms.missing.module.error.text": "Realms could not be opened right now, please try again later", + "realms.missing.snapshot.error.text": "Realms is currently not supported in snapshots", + "color.minecraft.white": "White", + "color.minecraft.orange": "Orange", + "color.minecraft.magenta": "Magenta", + "color.minecraft.light_blue": "Light Blue", + "color.minecraft.yellow": "Yellow", + "color.minecraft.lime": "Lime", + "color.minecraft.pink": "Pink", + "color.minecraft.gray": "Gray", + "color.minecraft.light_gray": "Light Gray", + "color.minecraft.cyan": "Cyan", + "color.minecraft.purple": "Purple", + "color.minecraft.blue": "Blue", + "color.minecraft.brown": "Brown", + "color.minecraft.green": "Green", + "color.minecraft.red": "Red", + "color.minecraft.black": "Black" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14/particles.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/particles.json new file mode 100644 index 00000000..0402e3b2 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/particles.json @@ -0,0 +1,234 @@ +[ + { + "id": 0, + "name": "ambient_entity_effect" + }, + { + "id": 1, + "name": "angry_villager" + }, + { + "id": 2, + "name": "barrier" + }, + { + "id": 3, + "name": "block" + }, + { + "id": 4, + "name": "bubble" + }, + { + "id": 5, + "name": "cloud" + }, + { + "id": 6, + "name": "crit" + }, + { + "id": 7, + "name": "damage_indicator" + }, + { + "id": 8, + "name": "dragon_breath" + }, + { + "id": 9, + "name": "dripping_lava" + }, + { + "id": 10, + "name": "falling_lava" + }, + { + "id": 11, + "name": "landing_lava" + }, + { + "id": 12, + "name": "dripping_water" + }, + { + "id": 13, + "name": "falling_water" + }, + { + "id": 14, + "name": "dust" + }, + { + "id": 15, + "name": "effect" + }, + { + "id": 16, + "name": "elder_guardian" + }, + { + "id": 17, + "name": "enchanted_hit" + }, + { + "id": 18, + "name": "enchant" + }, + { + "id": 19, + "name": "end_rod" + }, + { + "id": 20, + "name": "entity_effect" + }, + { + "id": 21, + "name": "explosion_emitter" + }, + { + "id": 22, + "name": "explosion" + }, + { + "id": 23, + "name": "falling_dust" + }, + { + "id": 24, + "name": "firework" + }, + { + "id": 25, + "name": "fishing" + }, + { + "id": 26, + "name": "flame" + }, + { + "id": 27, + "name": "flash" + }, + { + "id": 28, + "name": "happy_villager" + }, + { + "id": 29, + "name": "composter" + }, + { + "id": 30, + "name": "heart" + }, + { + "id": 31, + "name": "instant_effect" + }, + { + "id": 32, + "name": "item" + }, + { + "id": 33, + "name": "item_slime" + }, + { + "id": 34, + "name": "item_snowball" + }, + { + "id": 35, + "name": "large_smoke" + }, + { + "id": 36, + "name": "lava" + }, + { + "id": 37, + "name": "mycelium" + }, + { + "id": 38, + "name": "note" + }, + { + "id": 39, + "name": "poof" + }, + { + "id": 40, + "name": "portal" + }, + { + "id": 41, + "name": "rain" + }, + { + "id": 42, + "name": "smoke" + }, + { + "id": 43, + "name": "sneeze" + }, + { + "id": 44, + "name": "spit" + }, + { + "id": 45, + "name": "squid_ink" + }, + { + "id": 46, + "name": "sweep_attack" + }, + { + "id": 47, + "name": "totem_of_undying" + }, + { + "id": 48, + "name": "underwater" + }, + { + "id": 49, + "name": "splash" + }, + { + "id": 50, + "name": "witch" + }, + { + "id": 51, + "name": "bubble_pop" + }, + { + "id": 52, + "name": "current_down" + }, + { + "id": 53, + "name": "bubble_column_up" + }, + { + "id": 54, + "name": "nautilus" + }, + { + "id": 55, + "name": "dolphin" + }, + { + "id": 56, + "name": "campfire_cosy_smoke" + }, + { + "id": 57, + "name": "campfire_signal_smoke" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/protocol.json new file mode 100644 index 00000000..92f482a9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/protocol.json @@ -0,0 +1,5021 @@ +{ + "types": { + "varint": "native", + "optvarint": "varint", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "14": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "23": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "32": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle", + "16": [ + "container",[ + { + "name": "villagerType", + "type": "varint" + }, + { + "name": "villagerProfession", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ], + "17": "optvarint", + "18": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "difficultyLocked", + "type": "bool" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "inventoryType", + "type": "varint" + }, + { + "name": "windowTitle", + "type": "string" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_open_horse_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "nbSlots", + "type": "varint" + }, + { + "name": "entityId", + "type": "i32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "heightmaps", + "type": "nbt" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_update_light": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + }, + { + "name": "skyLightMask", + "type": "varint" + }, + { + "name": "blockLightMask", + "type": "varint" + }, + { + "name": "emptySkyLightMask", + "type": "varint" + }, + { + "name": "emptyBlockLightMask", + "type": "varint" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "viewDistance", + "type": "varint" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_trade_list": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "trades", + "type": [ + "array", + { + "countType": "u8", + "type": ["container", [ + { + "name": "inputItem1", + "type": "slot" + }, + { + "name": "outputItem", + "type": "slot" + }, + { + "name": "inputItem2", + "type": ["option", "slot"] + }, + { + "name": "tradeDisabled", + "type": "bool" + }, + { + "name": "nbTradeUses", + "type": "i32" + }, + { + "name": "maximumNbTradeUses", + "type": "i32" + }, + { + "name": "xp", + "type": "i32" + }, + { + "name": "specialPrice", + "type": "i32" + }, + { + "name": "priceMultiplier", + "type": "f32" + } + ]] + } + ] + }, + { + "name": "villagerLevel", + "type": "varint" + }, + { + "name": "experience", + "type": "varint" + }, + { + "name": "isRegularVillager", + "type": "bool" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_book": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_update_view_position": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + } + ] + ], + "packet_update_view_distance": [ + "container", + [ + { + "name": "viewDistance", + "type": "varint" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "type", + "type": "string" + }, + { + "name": "recipeId", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "minecraft:crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_special_armordye": "void", + "minecraft:crafting_special_bookcloning": "void", + "minecraft:crafting_special_mapcloning": "void", + "minecraft:crafting_special_mapextending": "void", + "minecraft:crafting_special_firework_rocket": "void", + "minecraft:crafting_special_firework_star": "void", + "minecraft:crafting_special_firework_star_fade": "void", + "minecraft:crafting_special_repairitem": "void", + "minecraft:crafting_special_tippedarrow": "void", + "minecraft:crafting_special_bannerduplicate": "void", + "minecraft:crafting_special_banneraddpattern": "void", + "minecraft:crafting_special_shielddecoration": "void", + "minecraft:crafting_special_shulkerboxcoloring": "void", + "minecraft:crafting_special_suspiciousstew": "void", + "minecraft:smelting": "minecraft_smelting_format", + "minecraft:blasting": "minecraft_smelting_format", + "minecraft:smoking": "minecraft_smelting_format", + "minecraft:campfire_cooking": "minecraft_smelting_format", + "minecraft:stonecutting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "minecraft_smelting_format": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + }, + { + "name": "entityTags", + "type": "tags" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "chat", + "0x0f": "multi_block_change", + "0x10": "tab_complete", + "0x11": "declare_commands", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "open_horse_window", + "0x20": "keep_alive", + "0x21": "map_chunk", + "0x22": "world_event", + "0x23": "world_particles", + "0x24": "update_light", + "0x25": "login", + "0x26": "map", + "0x27": "trade_list", + "0x28": "rel_entity_move", + "0x29": "entity_move_look", + "0x2a": "entity_look", + "0x2b": "entity", + "0x2c": "vehicle_move", + "0x2d": "open_book", + "0x2e": "open_window", + "0x2f": "open_sign_entity", + "0x30": "craft_recipe_response", + "0x31": "abilities", + "0x32": "combat_event", + "0x33": "player_info", + "0x34": "face_player", + "0x35": "position", + "0x36": "unlock_recipes", + "0x37": "entity_destroy", + "0x38": "remove_entity_effect", + "0x39": "resource_pack_send", + "0x3a": "respawn", + "0x3b": "entity_head_rotation", + "0x3c": "select_advancement_tab", + "0x3d": "world_border", + "0x3e": "camera", + "0x3f": "held_item_slot", + "0x40": "update_view_position", + "0x41": "update_view_distance", + "0x42": "scoreboard_display_objective", + "0x43": "entity_metadata", + "0x44": "attach_entity", + "0x45": "entity_velocity", + "0x46": "entity_equipment", + "0x47": "experience", + "0x48": "update_health", + "0x49": "scoreboard_objective", + "0x4a": "set_passengers", + "0x4b": "teams", + "0x4c": "scoreboard_score", + "0x4d": "spawn_position", + "0x4e": "update_time", + "0x4f": "title", + "0x50": "entity_sound_effect", + "0x51": "sound_effect", + "0x52": "stop_sound", + "0x53": "playerlist_header", + "0x54": "nbt_query_response", + "0x55": "collect", + "0x56": "entity_teleport", + "0x57": "advancements", + "0x58": "entity_update_attributes", + "0x59": "entity_effect", + "0x5a": "declare_recipes", + "0x5b": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "open_horse_window": "packet_open_horse_window", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "update_light": "packet_update_light", + "login": "packet_login", + "map": "packet_map", + "trade_list": "packet_trade_list", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_book": "packet_open_book", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "update_view_position": "packet_update_view_position", + "update_view_distance": "packet_update_view_distance", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "entity_sound_effect": "packet_entity_sound_effect", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "newDifficulty", + "type": "u8" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_lock_difficulty": [ + "container", + [ + { + "name": "locked", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + }, + { + "name": "blastingBookOpen", + "type": "bool" + }, + { + "name": "blastingFilter", + "type": "bool" + }, + { + "name": "smokingBookOpen", + "type": "bool" + }, + { + "name": "smokingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_jigsaw_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "attachmentType", + "type": "string" + }, + { + "name": "targetPool", + "type": "string" + }, + { + "name": "finalState", + "type": "string" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + }, + { + "name": "insideBlock", + "type": "bool" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "set_difficulty", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "tab_complete", + "0x07": "transaction", + "0x08": "enchant_item", + "0x09": "window_click", + "0x0a": "close_window", + "0x0b": "custom_payload", + "0x0c": "edit_book", + "0x0d": "query_entity_nbt", + "0x0e": "use_entity", + "0x0f": "keep_alive", + "0x10": "lock_difficulty", + "0x11": "position", + "0x12": "position_look", + "0x13": "look", + "0x14": "flying", + "0x15": "vehicle_move", + "0x16": "steer_boat", + "0x17": "pick_item", + "0x18": "craft_recipe_request", + "0x19": "abilities", + "0x1a": "block_dig", + "0x1b": "entity_action", + "0x1c": "steer_vehicle", + "0x1d": "crafting_book_data", + "0x1e": "name_item", + "0x1f": "resource_pack_receive", + "0x20": "advancement_tab", + "0x21": "select_trade", + "0x22": "set_beacon_effect", + "0x23": "held_item_slot", + "0x24": "update_command_block", + "0x25": "update_command_block_minecart", + "0x26": "set_creative_slot", + "0x27": "update_jigsaw_block", + "0x28": "update_structure_block", + "0x29": "update_sign", + "0x2a": "arm_animation", + "0x2b": "spectate", + "0x2c": "block_place", + "0x2d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "set_difficulty": "packet_set_difficulty", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "lock_difficulty": "packet_lock_difficulty", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_jigsaw_block": "packet_update_jigsaw_block", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14/recipes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/recipes.json new file mode 100644 index 00000000..c534696a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/recipes.json @@ -0,0 +1,18483 @@ +{ + "2": [ + { + "ingredients": [ + 4, + 781 + ], + "result": { + "count": 1, + "id": 2 + } + } + ], + "3": [ + { + "inShape": [ + [ + 2, + 2 + ], + [ + 2, + 2 + ] + ], + "result": { + "count": 4, + "id": 3 + } + } + ], + "4": [ + { + "inShape": [ + [ + 781, + 12 + ], + [ + 12, + 781 + ] + ], + "result": { + "count": 2, + "id": 4 + } + } + ], + "5": [ + { + "inShape": [ + [ + 4, + 4 + ], + [ + 4, + 4 + ] + ], + "result": { + "count": 4, + "id": 5 + } + } + ], + "6": [ + { + "ingredients": [ + 4, + 12 + ], + "result": { + "count": 2, + "id": 6 + } + } + ], + "7": [ + { + "inShape": [ + [ + 6, + 6 + ], + [ + 6, + 6 + ] + ], + "result": { + "count": 4, + "id": 7 + } + } + ], + "10": [ + { + "inShape": [ + [ + 28, + 9 + ], + [ + 9, + 28 + ] + ], + "result": { + "count": 4, + "id": 10 + } + } + ], + "13": [ + { + "ingredients": [ + 32 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 50 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 38 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 44 + ], + "result": { + "count": 4, + "id": 13 + } + } + ], + "14": [ + { + "ingredients": [ + 33 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 51 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 39 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 45 + ], + "result": { + "count": 4, + "id": 14 + } + } + ], + "15": [ + { + "ingredients": [ + 34 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 52 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 40 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 46 + ], + "result": { + "count": 4, + "id": 15 + } + } + ], + "16": [ + { + "ingredients": [ + 35 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 53 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 41 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 47 + ], + "result": { + "count": 4, + "id": 16 + } + } + ], + "17": [ + { + "ingredients": [ + 36 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 54 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 42 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 48 + ], + "result": { + "count": 4, + "id": 17 + } + } + ], + "18": [ + { + "ingredients": [ + 37 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 55 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 43 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 49 + ], + "result": { + "count": 4, + "id": 18 + } + } + ], + "50": [ + { + "inShape": [ + [ + 32, + 32 + ], + [ + 32, + 32 + ] + ], + "result": { + "count": 3, + "id": 50 + } + } + ], + "51": [ + { + "inShape": [ + [ + 33, + 33 + ], + [ + 33, + 33 + ] + ], + "result": { + "count": 3, + "id": 51 + } + } + ], + "52": [ + { + "inShape": [ + [ + 34, + 34 + ], + [ + 34, + 34 + ] + ], + "result": { + "count": 3, + "id": 52 + } + } + ], + "53": [ + { + "inShape": [ + [ + 35, + 35 + ], + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 53 + } + } + ], + "54": [ + { + "inShape": [ + [ + 36, + 36 + ], + [ + 36, + 36 + ] + ], + "result": { + "count": 3, + "id": 54 + } + } + ], + "55": [ + { + "inShape": [ + [ + 37, + 37 + ], + [ + 37, + 37 + ] + ], + "result": { + "count": 3, + "id": 55 + } + } + ], + "66": [ + { + "inShape": [ + [ + 635, + 635, + 635 + ], + [ + 635, + 635, + 635 + ], + [ + 635, + 635, + 635 + ] + ], + "result": { + "count": 1, + "id": 66 + } + } + ], + "67": [ + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 525, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 67 + } + } + ], + "68": [ + { + "inShape": [ + [ + 26, + 26 + ], + [ + 26, + 26 + ] + ], + "result": { + "count": 1, + "id": 68 + } + } + ], + "69": [ + { + "inShape": [ + [ + 123 + ], + [ + 123 + ] + ], + "result": { + "count": 1, + "id": 69 + } + } + ], + "70": [ + { + "inShape": [ + [ + 68, + 68 + ], + [ + 68, + 68 + ] + ], + "result": { + "count": 4, + "id": 70 + } + } + ], + "71": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 600, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 600, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 600, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 600, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 600, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 600, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 71 + } + } + ], + "72": [ + { + "inShape": [ + [ + 531, + 600, + 531 + ], + [ + 531, + 545, + 531 + ], + [ + 531, + null, + 531 + ] + ], + "result": { + "count": 6, + "id": 72 + } + } + ], + "73": [ + { + "inShape": [ + [ + 530, + 600, + 530 + ], + [ + 530, + 165, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 6, + "id": 73 + } + } + ], + "74": [ + { + "inShape": [ + [ + 81 + ], + [ + 617 + ] + ], + "result": { + "count": 1, + "id": 74 + } + } + ], + "81": [ + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 81 + } + } + ], + "82": [ + { + "inShape": [ + [ + 552, + 552 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 82 + } + } + ], + "83": [ + { + "ingredients": [ + 645, + 82 + ], + "result": { + "count": 1, + "id": 83 + } + } + ], + "84": [ + { + "ingredients": [ + 644, + 82 + ], + "result": { + "count": 1, + "id": 84 + } + } + ], + "85": [ + { + "ingredients": [ + 643, + 82 + ], + "result": { + "count": 1, + "id": 85 + } + } + ], + "86": [ + { + "ingredients": [ + 642, + 82 + ], + "result": { + "count": 1, + "id": 86 + } + } + ], + "87": [ + { + "ingredients": [ + 641, + 82 + ], + "result": { + "count": 1, + "id": 87 + } + } + ], + "88": [ + { + "ingredients": [ + 640, + 82 + ], + "result": { + "count": 1, + "id": 88 + } + } + ], + "89": [ + { + "ingredients": [ + 639, + 82 + ], + "result": { + "count": 1, + "id": 89 + } + } + ], + "90": [ + { + "ingredients": [ + 638, + 82 + ], + "result": { + "count": 1, + "id": 90 + } + } + ], + "91": [ + { + "ingredients": [ + 637, + 82 + ], + "result": { + "count": 1, + "id": 91 + } + } + ], + "92": [ + { + "ingredients": [ + 636, + 82 + ], + "result": { + "count": 1, + "id": 92 + } + } + ], + "93": [ + { + "ingredients": [ + 647, + 82 + ], + "result": { + "count": 1, + "id": 93 + } + } + ], + "94": [ + { + "ingredients": [ + 648, + 82 + ], + "result": { + "count": 1, + "id": 94 + } + } + ], + "95": [ + { + "ingredients": [ + 633, + 82 + ], + "result": { + "count": 1, + "id": 95 + } + } + ], + "96": [ + { + "ingredients": [ + 632, + 82 + ], + "result": { + "count": 1, + "id": 96 + } + } + ], + "97": [ + { + "ingredients": [ + 649, + 82 + ], + "result": { + "count": 1, + "id": 97 + } + } + ], + "113": [ + { + "inShape": [ + [ + 531, + 531, + 531 + ], + [ + 531, + 531, + 531 + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 113 + } + } + ], + "114": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + 530, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 114 + } + } + ], + "115": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 6, + "id": 115 + } + } + ], + "116": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 6, + "id": 116 + } + } + ], + "117": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 6, + "id": 117 + } + } + ], + "118": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 6, + "id": 118 + } + } + ], + "119": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 6, + "id": 119 + } + } + ], + "120": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 6, + "id": 120 + } + } + ], + "121": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ] + ], + "result": { + "count": 6, + "id": 121 + } + } + ], + "122": [ + { + "inShape": [ + [ + 140, + 140, + 140 + ] + ], + "result": { + "count": 6, + "id": 122 + } + } + ], + "123": [ + { + "inShape": [ + [ + 68, + 68, + 68 + ] + ], + "result": { + "count": 6, + "id": 123 + } + }, + { + "inShape": [ + [ + 69, + 69, + 69 + ] + ], + "result": { + "count": 6, + "id": 123 + } + } + ], + "124": [ + { + "inShape": [ + [ + 70, + 70, + 70 + ] + ], + "result": { + "count": 6, + "id": 124 + } + } + ], + "126": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 6, + "id": 126 + } + } + ], + "127": [ + { + "inShape": [ + [ + 141, + 141, + 141 + ] + ], + "result": { + "count": 6, + "id": 127 + } + } + ], + "128": [ + { + "inShape": [ + [ + 205, + 205, + 205 + ] + ], + "result": { + "count": 6, + "id": 128 + } + } + ], + "129": [ + { + "inShape": [ + [ + 226, + 226, + 226 + ] + ], + "result": { + "count": 6, + "id": 129 + } + } + ], + "130": [ + { + "inShape": [ + [ + 275, + 275, + 275 + ] + ], + "result": { + "count": 6, + "id": 130 + } + }, + { + "inShape": [ + [ + 276, + 276, + 276 + ] + ], + "result": { + "count": 6, + "id": 130 + } + }, + { + "inShape": [ + [ + 277, + 277, + 277 + ] + ], + "result": { + "count": 6, + "id": 130 + } + } + ], + "131": [ + { + "inShape": [ + [ + 368, + 368, + 368 + ] + ], + "result": { + "count": 6, + "id": 131 + } + }, + { + "inShape": [ + [ + 369, + 369, + 369 + ] + ], + "result": { + "count": 6, + "id": 131 + } + } + ], + "132": [ + { + "inShape": [ + [ + 370, + 370, + 370 + ] + ], + "result": { + "count": 6, + "id": 132 + } + } + ], + "133": [ + { + "inShape": [ + [ + 150, + 150, + 150 + ] + ], + "result": { + "count": 6, + "id": 133 + } + }, + { + "inShape": [ + [ + 151, + 151, + 151 + ] + ], + "result": { + "count": 6, + "id": 133 + } + } + ], + "134": [ + { + "inShape": [ + [ + 361, + 361, + 361 + ] + ], + "result": { + "count": 6, + "id": 134 + } + } + ], + "135": [ + { + "inShape": [ + [ + 362, + 362, + 362 + ] + ], + "result": { + "count": 6, + "id": 135 + } + } + ], + "136": [ + { + "inShape": [ + [ + 363, + 363, + 363 + ] + ], + "result": { + "count": 6, + "id": 136 + } + } + ], + "141": [ + { + "inShape": [ + [ + 609, + 609 + ], + [ + 609, + 609 + ] + ], + "result": { + "count": 1, + "id": 141 + } + } + ], + "142": [ + { + "inShape": [ + [ + 554, + 26, + 554 + ], + [ + 26, + 554, + 26 + ], + [ + 554, + 26, + 554 + ] + ], + "result": { + "count": 1, + "id": 142 + } + }, + { + "inShape": [ + [ + 554, + 27, + 554 + ], + [ + 27, + 554, + 27 + ], + [ + 554, + 27, + 554 + ] + ], + "result": { + "count": 1, + "id": 142 + } + } + ], + "143": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 616, + 616, + 616 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 616, + 616, + 616 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 616, + 616, + 616 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 616, + 616, + 616 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 616, + 616, + 616 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 616, + 616, + 616 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 143 + } + } + ], + "144": [ + { + "ingredients": [ + 12, + 215 + ], + "result": { + "count": 1, + "id": 144 + } + } + ], + "146": [ + { + "inShape": [ + [ + 545 + ], + [ + 527 + ] + ], + "result": { + "count": 4, + "id": 146 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 528 + ] + ], + "result": { + "count": 4, + "id": 146 + } + } + ], + "147": [ + { + "inShape": [ + [ + 819 + ], + [ + 683 + ] + ], + "result": { + "count": 4, + "id": 147 + } + } + ], + "150": [ + { + "inShape": [ + [ + 819, + 819 + ], + [ + 819, + 819 + ] + ], + "result": { + "count": 4, + "id": 150 + } + } + ], + "151": [ + { + "inShape": [ + [ + 133 + ], + [ + 133 + ] + ], + "result": { + "count": 1, + "id": 151 + } + } + ], + "152": [ + { + "inShape": [ + [ + 150, + 150, + 150 + ], + [ + 150, + 150, + null + ], + [ + 150, + null, + null + ] + ], + "result": { + "count": 4, + "id": 152 + } + }, + { + "inShape": [ + [ + 151, + 151, + 151 + ], + [ + 151, + 151, + null + ], + [ + 151, + null, + null + ] + ], + "result": { + "count": 4, + "id": 152 + } + } + ], + "154": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + null + ], + [ + 13, + null, + null + ] + ], + "result": { + "count": 4, + "id": 154 + } + } + ], + "155": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 155 + } + } + ], + "157": [ + { + "inShape": [ + [ + 529, + 529, + 529 + ], + [ + 529, + 529, + 529 + ], + [ + 529, + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 157 + } + } + ], + "158": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 158 + } + } + ], + "160": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + null, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 160 + } + } + ], + "161": [ + { + "inShape": [ + [ + 545, + null, + 545 + ], + [ + 545, + 545, + 545 + ], + [ + 545, + null, + 545 + ] + ], + "result": { + "count": 3, + "id": 161 + } + } + ], + "162": [ + { + "inShape": [ + [ + 530, + null, + 530 + ], + [ + 530, + 545, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 16, + "id": 162 + } + } + ], + "163": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + 12, + null + ], + [ + 12, + null, + null + ] + ], + "result": { + "count": 4, + "id": 163 + } + } + ], + "164": [ + { + "inShape": [ + [ + 12 + ], + [ + 545 + ] + ], + "result": { + "count": 1, + "id": 164 + } + } + ], + "165": [ + { + "inShape": [ + [ + 1, + 1 + ] + ], + "result": { + "count": 1, + "id": 165 + } + } + ], + "166": [ + { + "inShape": [ + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 166 + } + } + ], + "167": [ + { + "inShape": [ + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 167 + } + } + ], + "168": [ + { + "inShape": [ + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 168 + } + } + ], + "169": [ + { + "inShape": [ + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 169 + } + } + ], + "170": [ + { + "inShape": [ + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 170 + } + } + ], + "171": [ + { + "inShape": [ + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 171 + } + } + ], + "173": [ + { + "inShape": [ + [ + 545 + ], + [ + 600 + ] + ], + "result": { + "count": 1, + "id": 173 + } + } + ], + "174": [ + { + "ingredients": [ + 1 + ], + "result": { + "count": 1, + "id": 174 + } + } + ], + "175": [ + { + "inShape": [ + [ + 177, + 177, + 177 + ] + ], + "result": { + "count": 6, + "id": 175 + } + } + ], + "177": [ + { + "inShape": [ + [ + 601, + 601 + ], + [ + 601, + 601 + ] + ], + "result": { + "count": 1, + "id": 177 + } + } + ], + "179": [ + { + "inShape": [ + [ + 610, + 610 + ], + [ + 610, + 610 + ] + ], + "result": { + "count": 1, + "id": 179 + } + } + ], + "180": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 529, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 529, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 529, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 529, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 529, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 529, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 180 + } + } + ], + "181": [ + { + "inShape": [ + [ + 13, + 545, + 13 + ], + [ + 13, + 545, + 13 + ] + ], + "result": { + "count": 3, + "id": 181 + } + } + ], + "182": [ + { + "inShape": [ + [ + 14, + 545, + 14 + ], + [ + 14, + 545, + 14 + ] + ], + "result": { + "count": 3, + "id": 182 + } + } + ], + "183": [ + { + "inShape": [ + [ + 15, + 545, + 15 + ], + [ + 15, + 545, + 15 + ] + ], + "result": { + "count": 3, + "id": 183 + } + } + ], + "184": [ + { + "inShape": [ + [ + 16, + 545, + 16 + ], + [ + 16, + 545, + 16 + ] + ], + "result": { + "count": 3, + "id": 184 + } + } + ], + "185": [ + { + "inShape": [ + [ + 17, + 545, + 17 + ], + [ + 17, + 545, + 17 + ] + ], + "result": { + "count": 3, + "id": 185 + } + } + ], + "186": [ + { + "inShape": [ + [ + 18, + 545, + 18 + ], + [ + 18, + 545, + 18 + ] + ], + "result": { + "count": 3, + "id": 186 + } + } + ], + "191": [ + { + "inShape": [ + [ + 624, + 624 + ], + [ + 624, + 624 + ] + ], + "result": { + "count": 1, + "id": 191 + } + } + ], + "192": [ + { + "inShape": [ + [ + 146 + ], + [ + 188 + ] + ], + "result": { + "count": 1, + "id": 192 + } + } + ], + "193": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 2, + "id": 193 + } + } + ], + "194": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 2, + "id": 194 + } + } + ], + "195": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 2, + "id": 195 + } + } + ], + "196": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 2, + "id": 196 + } + } + ], + "197": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 2, + "id": 197 + } + } + ], + "198": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 2, + "id": 198 + } + } + ], + "205": [ + { + "inShape": [ + [ + 1, + 1 + ], + [ + 1, + 1 + ] + ], + "result": { + "count": 4, + "id": 205 + } + } + ], + "206": [ + { + "ingredients": [ + 205, + 215 + ], + "result": { + "count": 1, + "id": 206 + } + } + ], + "208": [ + { + "inShape": [ + [ + 128 + ], + [ + 128 + ] + ], + "result": { + "count": 1, + "id": 208 + } + } + ], + "212": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 16, + "id": 212 + } + } + ], + "213": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 16, + "id": 213 + } + } + ], + "214": [ + { + "inShape": [ + [ + 673, + 673, + 673 + ], + [ + 673, + 673, + 673 + ], + [ + 673, + 673, + 673 + ] + ], + "result": { + "count": 1, + "id": 214 + } + } + ], + "216": [ + { + "inShape": [ + [ + 545, + 13, + 545 + ], + [ + 545, + 13, + 545 + ] + ], + "result": { + "count": 1, + "id": 216 + } + } + ], + "217": [ + { + "inShape": [ + [ + 545, + 14, + 545 + ], + [ + 545, + 14, + 545 + ] + ], + "result": { + "count": 1, + "id": 217 + } + } + ], + "218": [ + { + "inShape": [ + [ + 545, + 15, + 545 + ], + [ + 545, + 15, + 545 + ] + ], + "result": { + "count": 1, + "id": 218 + } + } + ], + "219": [ + { + "inShape": [ + [ + 545, + 16, + 545 + ], + [ + 545, + 16, + 545 + ] + ], + "result": { + "count": 1, + "id": 219 + } + } + ], + "220": [ + { + "inShape": [ + [ + 545, + 17, + 545 + ], + [ + 545, + 17, + 545 + ] + ], + "result": { + "count": 1, + "id": 220 + } + } + ], + "221": [ + { + "inShape": [ + [ + 545, + 18, + 545 + ], + [ + 545, + 18, + 545 + ] + ], + "result": { + "count": 1, + "id": 221 + } + } + ], + "222": [ + { + "inShape": [ + [ + 141, + 141, + 141 + ], + [ + 141, + 141, + null + ], + [ + 141, + null, + null + ] + ], + "result": { + "count": 4, + "id": 222 + } + } + ], + "223": [ + { + "inShape": [ + [ + 205, + 205, + 205 + ], + [ + 205, + 205, + null + ], + [ + 205, + null, + null + ] + ], + "result": { + "count": 4, + "id": 223 + } + } + ], + "226": [ + { + "inShape": [ + [ + 780, + 780 + ], + [ + 780, + 780 + ] + ], + "result": { + "count": 1, + "id": 226 + } + } + ], + "227": [ + { + "inShape": [ + [ + 226, + 780, + 226 + ], + [ + 226, + 780, + 226 + ] + ], + "result": { + "count": 6, + "id": 227 + } + } + ], + "228": [ + { + "inShape": [ + [ + 226, + 226, + 226 + ], + [ + 226, + 226, + null + ], + [ + 226, + null, + null + ] + ], + "result": { + "count": 4, + "id": 228 + } + } + ], + "229": [ + { + "inShape": [ + [ + 145, + 145, + 145 + ], + [ + 529, + 145, + 529 + ], + [ + null, + 616, + null + ] + ], + "result": { + "count": 1, + "id": 229 + } + } + ], + "232": [ + { + "inShape": [ + [ + 231, + 231 + ], + [ + 231, + 231 + ] + ], + "result": { + "count": 4, + "id": 232 + } + } + ], + "234": [ + { + "inShape": [ + [ + null, + 600, + null + ], + [ + 600, + 191, + 600 + ], + [ + null, + 600, + null + ] + ], + "result": { + "count": 1, + "id": 234 + } + } + ], + "235": [ + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 68, + 68, + null + ], + [ + 68, + null, + null + ] + ], + "result": { + "count": 4, + "id": 235 + } + }, + { + "inShape": [ + [ + 69, + 69, + 69 + ], + [ + 69, + 69, + null + ], + [ + 69, + null, + null + ] + ], + "result": { + "count": 4, + "id": 235 + } + }, + { + "inShape": [ + [ + 70, + 70, + 70 + ], + [ + 70, + 70, + null + ], + [ + 70, + null, + null + ] + ], + "result": { + "count": 4, + "id": 235 + } + } + ], + "237": [ + { + "inShape": [ + [ + 145, + 145, + 145 + ], + [ + 145, + 695, + 145 + ], + [ + 145, + 145, + 145 + ] + ], + "result": { + "count": 1, + "id": 237 + } + } + ], + "238": [ + { + "inShape": [ + [ + 13 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 14 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 15 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 16 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 17 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 18 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + } + ], + "239": [ + { + "inShape": [ + [ + 759, + 759, + 759 + ], + [ + 759, + 759, + 759 + ], + [ + 759, + 759, + 759 + ] + ], + "result": { + "count": 1, + "id": 239 + } + } + ], + "240": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + null + ], + [ + 14, + null, + null + ] + ], + "result": { + "count": 4, + "id": 240 + } + } + ], + "241": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + null + ], + [ + 15, + null, + null + ] + ], + "result": { + "count": 4, + "id": 241 + } + } + ], + "242": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + null + ], + [ + 16, + null, + null + ] + ], + "result": { + "count": 4, + "id": 242 + } + } + ], + "244": [ + { + "inShape": [ + [ + 145, + 145, + 145 + ], + [ + 64, + 775, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 244 + } + } + ], + "245": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 6, + "id": 245 + } + } + ], + "246": [ + { + "inShape": [ + [ + 144, + 144, + 144 + ], + [ + 144, + 144, + 144 + ] + ], + "result": { + "count": 6, + "id": 246 + } + } + ], + "247": [ + { + "inShape": [ + [ + 141, + 141, + 141 + ], + [ + 141, + 141, + 141 + ] + ], + "result": { + "count": 6, + "id": 247 + } + } + ], + "248": [ + { + "inShape": [ + [ + 361, + 361, + 361 + ], + [ + 361, + 361, + 361 + ] + ], + "result": { + "count": 6, + "id": 248 + } + } + ], + "249": [ + { + "inShape": [ + [ + 368, + 368, + 368 + ], + [ + 368, + 368, + 368 + ] + ], + "result": { + "count": 6, + "id": 249 + } + } + ], + "250": [ + { + "inShape": [ + [ + 206, + 206, + 206 + ], + [ + 206, + 206, + 206 + ] + ], + "result": { + "count": 6, + "id": 250 + } + } + ], + "251": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ], + [ + 2, + 2, + 2 + ] + ], + "result": { + "count": 6, + "id": 251 + } + } + ], + "252": [ + { + "inShape": [ + [ + 205, + 205, + 205 + ], + [ + 205, + 205, + 205 + ] + ], + "result": { + "count": 6, + "id": 252 + } + } + ], + "253": [ + { + "inShape": [ + [ + 226, + 226, + 226 + ], + [ + 226, + 226, + 226 + ] + ], + "result": { + "count": 6, + "id": 253 + } + } + ], + "254": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ], + [ + 6, + 6, + 6 + ] + ], + "result": { + "count": 6, + "id": 254 + } + } + ], + "255": [ + { + "inShape": [ + [ + 376, + 376, + 376 + ], + [ + 376, + 376, + 376 + ] + ], + "result": { + "count": 6, + "id": 255 + } + } + ], + "256": [ + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 68, + 68, + 68 + ] + ], + "result": { + "count": 6, + "id": 256 + } + } + ], + "257": [ + { + "inShape": [ + [ + 232, + 232, + 232 + ], + [ + 232, + 232, + 232 + ] + ], + "result": { + "count": 6, + "id": 257 + } + } + ], + "258": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 258 + } + } + ], + "259": [ + { + "ingredients": [ + 13 + ], + "result": { + "count": 1, + "id": 259 + } + } + ], + "260": [ + { + "ingredients": [ + 14 + ], + "result": { + "count": 1, + "id": 260 + } + } + ], + "261": [ + { + "ingredients": [ + 15 + ], + "result": { + "count": 1, + "id": 261 + } + } + ], + "262": [ + { + "ingredients": [ + 16 + ], + "result": { + "count": 1, + "id": 262 + } + } + ], + "263": [ + { + "ingredients": [ + 17 + ], + "result": { + "count": 1, + "id": 263 + } + } + ], + "264": [ + { + "ingredients": [ + 18 + ], + "result": { + "count": 1, + "id": 264 + } + } + ], + "265": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + null, + 530, + null + ], + [ + 114, + 114, + 114 + ] + ], + "result": { + "count": 1, + "id": 265 + } + } + ], + "268": [ + { + "ingredients": [ + 155, + 238 + ], + "result": { + "count": 1, + "id": 268 + } + } + ], + "269": [ + { + "inShape": [ + [ + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 269 + } + } + ], + "270": [ + { + "inShape": [ + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 270 + } + } + ], + "271": [ + { + "inShape": [ + [ + 115, + 115, + 115 + ], + [ + 781, + 781, + 781 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 116, + 116, + 116 + ], + [ + 781, + 781, + 781 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 117, + 117, + 117 + ], + [ + 781, + 781, + 781 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 118, + 118, + 118 + ], + [ + 781, + 781, + 781 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 119, + 119, + 119 + ], + [ + 781, + 781, + 781 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 120, + 120, + 120 + ], + [ + 781, + 781, + 781 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + } + ], + "272": [ + { + "inShape": [ + [ + 600, + 600, + 600 + ], + [ + 600, + 600, + 600 + ], + [ + 600, + 600, + 600 + ] + ], + "result": { + "count": 1, + "id": 272 + } + } + ], + "274": [ + { + "inShape": [ + [ + null, + 530, + null + ], + [ + 530, + 155, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 274 + } + } + ], + "275": [ + { + "inShape": [ + [ + 130 + ], + [ + 130 + ] + ], + "result": { + "count": 1, + "id": 275 + } + } + ], + "276": [ + { + "inShape": [ + [ + 781, + 781 + ], + [ + 781, + 781 + ] + ], + "result": { + "count": 1, + "id": 276 + } + } + ], + "277": [ + { + "inShape": [ + [ + 276 + ], + [ + 276 + ] + ], + "result": { + "count": 2, + "id": 277 + } + } + ], + "278": [ + { + "inShape": [ + [ + 275, + 275, + 275 + ], + [ + 275, + 275, + null + ], + [ + 275, + null, + null + ] + ], + "result": { + "count": 4, + "id": 278 + } + }, + { + "inShape": [ + [ + 276, + 276, + 276 + ], + [ + 276, + 276, + null + ], + [ + 276, + null, + null + ] + ], + "result": { + "count": 4, + "id": 278 + } + }, + { + "inShape": [ + [ + 277, + 277, + 277 + ], + [ + 277, + 277, + null + ], + [ + 277, + null, + null + ] + ], + "result": { + "count": 4, + "id": 278 + } + } + ], + "279": [ + { + "inShape": [ + [ + 530, + 545, + 530 + ], + [ + 530, + 173, + 530 + ], + [ + 530, + 545, + 530 + ] + ], + "result": { + "count": 6, + "id": 279 + } + } + ], + "280": [ + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + null, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 280 + } + } + ], + "281": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 650, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 281 + } + } + ], + "282": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 645, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 282 + } + } + ], + "283": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 644, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 283 + } + } + ], + "284": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 643, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 284 + } + } + ], + "285": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 642, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 285 + } + } + ], + "286": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 641, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 286 + } + } + ], + "287": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 640, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 287 + } + } + ], + "288": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 639, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 288 + } + } + ], + "289": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 638, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 289 + } + } + ], + "290": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 637, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 290 + } + } + ], + "291": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 636, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 291 + } + } + ], + "292": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 647, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 292 + } + } + ], + "293": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 648, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 293 + } + } + ], + "294": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 633, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 294 + } + } + ], + "295": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 632, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 295 + } + } + ], + "296": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 649, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 296 + } + } + ], + "298": [ + { + "inShape": [ + [ + 530, + 530 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 298 + } + } + ], + "299": [ + { + "inShape": [ + [ + 561, + 561, + 561 + ], + [ + 561, + 561, + 561 + ], + [ + 561, + 561, + 561 + ] + ], + "result": { + "count": 1, + "id": 299 + } + } + ], + "300": [ + { + "inShape": [ + [ + 82, + 82 + ] + ], + "result": { + "count": 3, + "id": 300 + } + } + ], + "301": [ + { + "inShape": [ + [ + 83, + 83 + ] + ], + "result": { + "count": 3, + "id": 301 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 645, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 301 + } + } + ], + "302": [ + { + "inShape": [ + [ + 84, + 84 + ] + ], + "result": { + "count": 3, + "id": 302 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 644, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 302 + } + } + ], + "303": [ + { + "inShape": [ + [ + 85, + 85 + ] + ], + "result": { + "count": 3, + "id": 303 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 643, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 303 + } + } + ], + "304": [ + { + "inShape": [ + [ + 86, + 86 + ] + ], + "result": { + "count": 3, + "id": 304 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 642, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 304 + } + } + ], + "305": [ + { + "inShape": [ + [ + 87, + 87 + ] + ], + "result": { + "count": 3, + "id": 305 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 641, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 305 + } + } + ], + "306": [ + { + "inShape": [ + [ + 88, + 88 + ] + ], + "result": { + "count": 3, + "id": 306 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 640, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 306 + } + } + ], + "307": [ + { + "inShape": [ + [ + 89, + 89 + ] + ], + "result": { + "count": 3, + "id": 307 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 639, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 307 + } + } + ], + "308": [ + { + "inShape": [ + [ + 90, + 90 + ] + ], + "result": { + "count": 3, + "id": 308 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 638, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 308 + } + } + ], + "309": [ + { + "inShape": [ + [ + 91, + 91 + ] + ], + "result": { + "count": 3, + "id": 309 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 637, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 309 + } + } + ], + "310": [ + { + "inShape": [ + [ + 92, + 92 + ] + ], + "result": { + "count": 3, + "id": 310 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 636, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 310 + } + } + ], + "311": [ + { + "inShape": [ + [ + 93, + 93 + ] + ], + "result": { + "count": 3, + "id": 311 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 647, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 311 + } + } + ], + "312": [ + { + "inShape": [ + [ + 94, + 94 + ] + ], + "result": { + "count": 3, + "id": 312 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 648, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 312 + } + } + ], + "313": [ + { + "inShape": [ + [ + 95, + 95 + ] + ], + "result": { + "count": 3, + "id": 313 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 633, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 313 + } + } + ], + "314": [ + { + "inShape": [ + [ + 96, + 96 + ] + ], + "result": { + "count": 3, + "id": 314 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 632, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 314 + } + } + ], + "315": [ + { + "inShape": [ + [ + 97, + 97 + ] + ], + "result": { + "count": 3, + "id": 315 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 649, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 315 + } + } + ], + "317": [ + { + "inShape": [ + [ + 527, + 527, + 527 + ], + [ + 527, + 527, + 527 + ], + [ + 527, + 527, + 527 + ] + ], + "result": { + "count": 1, + "id": 317 + } + } + ], + "318": [ + { + "ingredients": [ + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176 + ], + "result": { + "count": 1, + "id": 318 + } + } + ], + "319": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + null + ], + [ + 17, + null, + null + ] + ], + "result": { + "count": 4, + "id": 319 + } + } + ], + "320": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + null + ], + [ + 18, + null, + null + ] + ], + "result": { + "count": 4, + "id": 320 + } + } + ], + "321": [ + { + "inShape": [ + [ + 617, + 617, + 617 + ], + [ + 617, + 617, + 617 + ], + [ + 617, + 617, + 617 + ] + ], + "result": { + "count": 1, + "id": 321 + } + } + ], + "329": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 650, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 329 + } + } + ], + "330": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 645, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 330 + } + } + ], + "331": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 644, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 331 + } + } + ], + "332": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 643, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 332 + } + } + ], + "333": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 642, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 333 + } + } + ], + "334": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 641, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 334 + } + } + ], + "335": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 640, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 335 + } + } + ], + "336": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 639, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 336 + } + } + ], + "337": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 638, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 337 + } + } + ], + "338": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 637, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 338 + } + } + ], + "339": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 636, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 339 + } + } + ], + "340": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 647, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 340 + } + } + ], + "341": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 648, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 341 + } + } + ], + "342": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 633, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 342 + } + } + ], + "343": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 632, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 343 + } + } + ], + "344": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 649, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 344 + } + } + ], + "345": [ + { + "inShape": [ + [ + 329, + 329, + 329 + ], + [ + 329, + 329, + 329 + ] + ], + "result": { + "count": 16, + "id": 345 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 650, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 345 + } + } + ], + "346": [ + { + "inShape": [ + [ + 330, + 330, + 330 + ], + [ + 330, + 330, + 330 + ] + ], + "result": { + "count": 16, + "id": 346 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 645, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 346 + } + } + ], + "347": [ + { + "inShape": [ + [ + 331, + 331, + 331 + ], + [ + 331, + 331, + 331 + ] + ], + "result": { + "count": 16, + "id": 347 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 644, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 347 + } + } + ], + "348": [ + { + "inShape": [ + [ + 332, + 332, + 332 + ], + [ + 332, + 332, + 332 + ] + ], + "result": { + "count": 16, + "id": 348 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 643, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 348 + } + } + ], + "349": [ + { + "inShape": [ + [ + 333, + 333, + 333 + ], + [ + 333, + 333, + 333 + ] + ], + "result": { + "count": 16, + "id": 349 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 642, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 349 + } + } + ], + "350": [ + { + "inShape": [ + [ + 334, + 334, + 334 + ], + [ + 334, + 334, + 334 + ] + ], + "result": { + "count": 16, + "id": 350 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 641, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 350 + } + } + ], + "351": [ + { + "inShape": [ + [ + 335, + 335, + 335 + ], + [ + 335, + 335, + 335 + ] + ], + "result": { + "count": 16, + "id": 351 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 640, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 351 + } + } + ], + "352": [ + { + "inShape": [ + [ + 336, + 336, + 336 + ], + [ + 336, + 336, + 336 + ] + ], + "result": { + "count": 16, + "id": 352 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 639, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 352 + } + } + ], + "353": [ + { + "inShape": [ + [ + 337, + 337, + 337 + ], + [ + 337, + 337, + 337 + ] + ], + "result": { + "count": 16, + "id": 353 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 638, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 353 + } + } + ], + "354": [ + { + "inShape": [ + [ + 338, + 338, + 338 + ], + [ + 338, + 338, + 338 + ] + ], + "result": { + "count": 16, + "id": 354 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 637, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 354 + } + } + ], + "355": [ + { + "inShape": [ + [ + 339, + 339, + 339 + ], + [ + 339, + 339, + 339 + ] + ], + "result": { + "count": 16, + "id": 355 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 636, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 355 + } + } + ], + "356": [ + { + "inShape": [ + [ + 340, + 340, + 340 + ], + [ + 340, + 340, + 340 + ] + ], + "result": { + "count": 16, + "id": 356 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 647, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 356 + } + } + ], + "357": [ + { + "inShape": [ + [ + 341, + 341, + 341 + ], + [ + 341, + 341, + 341 + ] + ], + "result": { + "count": 16, + "id": 357 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 648, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 357 + } + } + ], + "358": [ + { + "inShape": [ + [ + 342, + 342, + 342 + ], + [ + 342, + 342, + 342 + ] + ], + "result": { + "count": 16, + "id": 358 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 633, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 358 + } + } + ], + "359": [ + { + "inShape": [ + [ + 343, + 343, + 343 + ], + [ + 343, + 343, + 343 + ] + ], + "result": { + "count": 16, + "id": 359 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 632, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 359 + } + } + ], + "360": [ + { + "inShape": [ + [ + 344, + 344, + 344 + ], + [ + 344, + 344, + 344 + ] + ], + "result": { + "count": 16, + "id": 360 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 649, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 360 + } + } + ], + "361": [ + { + "inShape": [ + [ + 784, + 784 + ], + [ + 784, + 784 + ] + ], + "result": { + "count": 1, + "id": 361 + } + } + ], + "362": [ + { + "inShape": [ + [ + 784, + 784, + 784 + ], + [ + 784, + 784, + 784 + ], + [ + 784, + 784, + 784 + ] + ], + "result": { + "count": 1, + "id": 362 + } + } + ], + "363": [ + { + "inShape": [ + [ + 784, + 784, + 784 + ], + [ + 784, + 631, + 784 + ], + [ + 784, + 784, + 784 + ] + ], + "result": { + "count": 1, + "id": 363 + } + } + ], + "364": [ + { + "inShape": [ + [ + 361, + 361, + 361 + ], + [ + 361, + 361, + null + ], + [ + 361, + null, + null + ] + ], + "result": { + "count": 4, + "id": 364 + } + } + ], + "365": [ + { + "inShape": [ + [ + 362, + 362, + 362 + ], + [ + 362, + 362, + null + ], + [ + 362, + null, + null + ] + ], + "result": { + "count": 4, + "id": 365 + } + } + ], + "366": [ + { + "inShape": [ + [ + 363, + 363, + 363 + ], + [ + 363, + 363, + null + ], + [ + 363, + null, + null + ] + ], + "result": { + "count": 4, + "id": 366 + } + } + ], + "367": [ + { + "inShape": [ + [ + 784, + 785, + 784 + ], + [ + 785, + 785, + 785 + ], + [ + 784, + 785, + 784 + ] + ], + "result": { + "count": 1, + "id": 367 + } + } + ], + "368": [ + { + "inShape": [ + [ + 27, + 27 + ], + [ + 27, + 27 + ] + ], + "result": { + "count": 1, + "id": 368 + } + } + ], + "369": [ + { + "inShape": [ + [ + 131 + ], + [ + 131 + ] + ], + "result": { + "count": 1, + "id": 369 + } + } + ], + "370": [ + { + "inShape": [ + [ + 368, + 368 + ], + [ + 368, + 368 + ] + ], + "result": { + "count": 4, + "id": 370 + } + } + ], + "371": [ + { + "inShape": [ + [ + 368, + 368, + 368 + ], + [ + 368, + 368, + null + ], + [ + 368, + null, + null + ] + ], + "result": { + "count": 4, + "id": 371 + } + }, + { + "inShape": [ + [ + 369, + 369, + 369 + ], + [ + 369, + 369, + null + ], + [ + 369, + null, + null + ] + ], + "result": { + "count": 4, + "id": 371 + } + }, + { + "inShape": [ + [ + 370, + 370, + 370 + ], + [ + 370, + 370, + null + ], + [ + 370, + null, + null + ] + ], + "result": { + "count": 4, + "id": 371 + } + } + ], + "374": [ + { + "inShape": [ + [ + 692, + 692 + ], + [ + 692, + 692 + ] + ], + "result": { + "count": 1, + "id": 374 + } + } + ], + "375": [ + { + "inShape": [ + [ + 686, + 686, + 686 + ], + [ + 686, + 686, + 686 + ], + [ + 686, + 686, + 686 + ] + ], + "result": { + "count": 1, + "id": 375 + } + } + ], + "376": [ + { + "inShape": [ + [ + 686, + 780 + ], + [ + 780, + 686 + ] + ], + "result": { + "count": 1, + "id": 376 + } + } + ], + "377": [ + { + "inShape": [ + [ + 646, + 646, + 646 + ], + [ + 646, + 646, + 646 + ], + [ + 646, + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 377 + } + } + ], + "379": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 600, + 600, + 781 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 379 + } + } + ], + "380": [ + { + "inShape": [ + [ + 836 + ], + [ + 155 + ], + [ + 836 + ] + ], + "result": { + "count": 1, + "id": 380 + } + } + ], + "429": [ + { + "ingredients": [ + 650, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 429 + } + } + ], + "430": [ + { + "ingredients": [ + 645, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 430 + } + } + ], + "431": [ + { + "ingredients": [ + 644, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 431 + } + } + ], + "432": [ + { + "ingredients": [ + 643, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 432 + } + } + ], + "433": [ + { + "ingredients": [ + 642, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 433 + } + } + ], + "434": [ + { + "ingredients": [ + 641, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 434 + } + } + ], + "435": [ + { + "ingredients": [ + 640, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 435 + } + } + ], + "436": [ + { + "ingredients": [ + 639, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 436 + } + } + ], + "437": [ + { + "ingredients": [ + 638, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 437 + } + } + ], + "438": [ + { + "ingredients": [ + 637, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 438 + } + } + ], + "439": [ + { + "ingredients": [ + 636, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 439 + } + } + ], + "440": [ + { + "ingredients": [ + 647, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 440 + } + } + ], + "441": [ + { + "ingredients": [ + 648, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 441 + } + } + ], + "442": [ + { + "ingredients": [ + 633, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 442 + } + } + ], + "443": [ + { + "ingredients": [ + 632, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 443 + } + } + ], + "444": [ + { + "ingredients": [ + 649, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 444 + } + } + ], + "476": [ + { + "inShape": [ + [ + 318, + 318, + 318 + ], + [ + 318, + 318, + 318 + ], + [ + 318, + 318, + 318 + ] + ], + "result": { + "count": 1, + "id": 476 + } + } + ], + "477": [ + { + "inShape": [ + [ + 854, + 854, + 854 + ], + [ + 854, + 855, + 854 + ], + [ + 854, + 854, + 854 + ] + ], + "result": { + "count": 1, + "id": 477 + } + } + ], + "478": [ + { + "inShape": [ + [ + 3, + 3, + 3 + ], + [ + 3, + 3, + null + ], + [ + 3, + null, + null + ] + ], + "result": { + "count": 4, + "id": 478 + } + } + ], + "479": [ + { + "inShape": [ + [ + 138, + 138, + 138 + ], + [ + 138, + 138, + null + ], + [ + 138, + null, + null + ] + ], + "result": { + "count": 4, + "id": 479 + } + } + ], + "480": [ + { + "inShape": [ + [ + 206, + 206, + 206 + ], + [ + 206, + 206, + null + ], + [ + 206, + null, + null + ] + ], + "result": { + "count": 4, + "id": 480 + } + } + ], + "481": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 5, + null + ], + [ + 5, + null, + null + ] + ], + "result": { + "count": 4, + "id": 481 + } + } + ], + "482": [ + { + "inShape": [ + [ + 144, + 144, + 144 + ], + [ + 144, + 144, + null + ], + [ + 144, + null, + null + ] + ], + "result": { + "count": 4, + "id": 482 + } + } + ], + "483": [ + { + "inShape": [ + [ + 232, + 232, + 232 + ], + [ + 232, + 232, + null + ], + [ + 232, + null, + null + ] + ], + "result": { + "count": 4, + "id": 483 + } + } + ], + "484": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 1, + 1, + null + ], + [ + 1, + null, + null + ] + ], + "result": { + "count": 4, + "id": 484 + } + } + ], + "485": [ + { + "inShape": [ + [ + 139, + 139, + 139 + ], + [ + 139, + 139, + null + ], + [ + 139, + null, + null + ] + ], + "result": { + "count": 4, + "id": 485 + } + } + ], + "486": [ + { + "inShape": [ + [ + 137, + 137, + 137 + ], + [ + 137, + 137, + null + ], + [ + 137, + null, + null + ] + ], + "result": { + "count": 4, + "id": 486 + } + } + ], + "487": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ], + [ + 2, + 2, + null + ], + [ + 2, + null, + null + ] + ], + "result": { + "count": 4, + "id": 487 + } + } + ], + "488": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ], + [ + 6, + 6, + null + ], + [ + 6, + null, + null + ] + ], + "result": { + "count": 4, + "id": 488 + } + } + ], + "489": [ + { + "inShape": [ + [ + 376, + 376, + 376 + ], + [ + 376, + 376, + null + ], + [ + 376, + null, + null + ] + ], + "result": { + "count": 4, + "id": 489 + } + } + ], + "490": [ + { + "inShape": [ + [ + 7, + 7, + 7 + ], + [ + 7, + 7, + null + ], + [ + 7, + null, + null + ] + ], + "result": { + "count": 4, + "id": 490 + } + } + ], + "491": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + null + ], + [ + 4, + null, + null + ] + ], + "result": { + "count": 4, + "id": 491 + } + } + ], + "492": [ + { + "inShape": [ + [ + 3, + 3, + 3 + ] + ], + "result": { + "count": 6, + "id": 492 + } + } + ], + "493": [ + { + "inShape": [ + [ + 138, + 138, + 138 + ] + ], + "result": { + "count": 6, + "id": 493 + } + } + ], + "494": [ + { + "inShape": [ + [ + 206, + 206, + 206 + ] + ], + "result": { + "count": 6, + "id": 494 + } + } + ], + "495": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 6, + "id": 495 + } + } + ], + "496": [ + { + "inShape": [ + [ + 144, + 144, + 144 + ] + ], + "result": { + "count": 6, + "id": 496 + } + } + ], + "497": [ + { + "inShape": [ + [ + 232, + 232, + 232 + ] + ], + "result": { + "count": 6, + "id": 497 + } + } + ], + "498": [ + { + "inShape": [ + [ + 139, + 139, + 139 + ] + ], + "result": { + "count": 6, + "id": 498 + } + } + ], + "499": [ + { + "inShape": [ + [ + 137, + 137, + 137 + ] + ], + "result": { + "count": 6, + "id": 499 + } + } + ], + "500": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ] + ], + "result": { + "count": 6, + "id": 500 + } + } + ], + "501": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ] + ], + "result": { + "count": 6, + "id": 501 + } + } + ], + "502": [ + { + "inShape": [ + [ + 376, + 376, + 376 + ] + ], + "result": { + "count": 6, + "id": 502 + } + } + ], + "503": [ + { + "inShape": [ + [ + 7, + 7, + 7 + ] + ], + "result": { + "count": 6, + "id": 503 + } + } + ], + "504": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 504 + } + } + ], + "505": [ + { + "inShape": [ + [ + 614, + null, + 614 + ], + [ + 614, + null, + 614 + ], + [ + 614, + 552, + 614 + ] + ], + "result": { + "count": 6, + "id": 505 + } + } + ], + "506": [ + { + "inShape": [ + [ + 530, + 530 + ], + [ + 530, + 530 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 3, + "id": 506 + } + } + ], + "507": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 3, + "id": 507 + } + } + ], + "508": [ + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 3, + "id": 508 + } + } + ], + "509": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 3, + "id": 509 + } + } + ], + "510": [ + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 3, + "id": 510 + } + } + ], + "511": [ + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 3, + "id": 511 + } + } + ], + "512": [ + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 3, + "id": 512 + } + } + ], + "513": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 173, + 600, + 173 + ] + ], + "result": { + "count": 1, + "id": 513 + } + } + ], + "514": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 173, + 781, + 173 + ], + [ + null, + 173, + null + ] + ], + "result": { + "count": 1, + "id": 514 + } + } + ], + "517": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 181, + null, + 181 + ], + [ + 181, + null, + 181 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 181, + null, + 181 + ], + [ + 181, + null, + 181 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 181, + null, + 181 + ], + [ + 181, + null, + 181 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 181, + null, + 181 + ], + [ + 181, + null, + 181 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 181, + null, + 181 + ], + [ + 181, + null, + 181 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 181, + null, + 181 + ], + [ + 181, + null, + 181 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 185, + null, + 185 + ], + [ + 185, + null, + 185 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 185, + null, + 185 + ], + [ + 185, + null, + 185 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 185, + null, + 185 + ], + [ + 185, + null, + 185 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 185, + null, + 185 + ], + [ + 185, + null, + 185 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 185, + null, + 185 + ], + [ + 185, + null, + 185 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 185, + null, + 185 + ], + [ + 185, + null, + 185 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 186, + null, + 186 + ], + [ + 186, + null, + 186 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 186, + null, + 186 + ], + [ + 186, + null, + 186 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 186, + null, + 186 + ], + [ + 186, + null, + 186 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 186, + null, + 186 + ], + [ + 186, + null, + 186 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 186, + null, + 186 + ], + [ + 186, + null, + 186 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 186, + null, + 186 + ], + [ + 186, + null, + 186 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 182, + null, + 182 + ], + [ + 182, + null, + 182 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 182, + null, + 182 + ], + [ + 182, + null, + 182 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 182, + null, + 182 + ], + [ + 182, + null, + 182 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 182, + null, + 182 + ], + [ + 182, + null, + 182 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 182, + null, + 182 + ], + [ + 182, + null, + 182 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 182, + null, + 182 + ], + [ + 182, + null, + 182 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 183, + null, + 183 + ], + [ + 183, + null, + 183 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 183, + null, + 183 + ], + [ + 183, + null, + 183 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 183, + null, + 183 + ], + [ + 183, + null, + 183 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 183, + null, + 183 + ], + [ + 183, + null, + 183 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 183, + null, + 183 + ], + [ + 183, + null, + 183 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 183, + null, + 183 + ], + [ + 183, + null, + 183 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 184, + null, + 184 + ], + [ + 184, + null, + 184 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 184, + null, + 184 + ], + [ + 184, + null, + 184 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 184, + null, + 184 + ], + [ + 184, + null, + 184 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 184, + null, + 184 + ], + [ + 184, + null, + 184 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 184, + null, + 184 + ], + [ + 184, + null, + 184 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 184, + null, + 184 + ], + [ + 184, + null, + 184 + ] + ], + "result": { + "count": 1, + "id": 517 + } + } + ], + "518": [ + { + "inShape": [ + [ + 519, + null, + 519 + ], + [ + 519, + 519, + 519 + ] + ], + "result": { + "count": 1, + "id": 518 + } + } + ], + "520": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 1, + "id": 520 + } + } + ], + "521": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 521 + } + } + ], + "522": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 530, + 545 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 522 + } + } + ], + "523": [ + { + "ingredients": [ + 530, + 583 + ], + "result": { + "count": 1, + "id": 523 + } + } + ], + "525": [ + { + "inShape": [ + [ + null, + 545, + 552 + ], + [ + 545, + null, + 552 + ], + [ + null, + 545, + 552 + ] + ], + "result": { + "count": 1, + "id": 525 + } + } + ], + "526": [ + { + "inShape": [ + [ + 553 + ], + [ + 545 + ], + [ + 583 + ] + ], + "result": { + "count": 4, + "id": 526 + } + } + ], + "527": [ + { + "ingredients": [ + 317 + ], + "result": { + "count": 9, + "id": 527 + } + } + ], + "529": [ + { + "ingredients": [ + 157 + ], + "result": { + "count": 9, + "id": 529 + } + } + ], + "530": [ + { + "ingredients": [ + 114 + ], + "result": { + "count": 9, + "id": 530 + } + }, + { + "inShape": [ + [ + 837, + 837, + 837 + ], + [ + 837, + 837, + 837 + ], + [ + 837, + 837, + 837 + ] + ], + "result": { + "count": 1, + "id": 530 + } + } + ], + "531": [ + { + "ingredients": [ + 113 + ], + "result": { + "count": 9, + "id": 531 + } + }, + { + "inShape": [ + [ + 685, + 685, + 685 + ], + [ + 685, + 685, + 685 + ], + [ + 685, + 685, + 685 + ] + ], + "result": { + "count": 1, + "id": 531 + } + } + ], + "532": [ + { + "inShape": [ + [ + 545 + ], + [ + 530 + ], + [ + 530 + ] + ], + "result": { + "count": 1, + "id": 532 + } + } + ], + "533": [ + { + "inShape": [ + [ + 545 + ], + [ + 13 + ], + [ + 13 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 14 + ], + [ + 14 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 15 + ], + [ + 15 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 16 + ], + [ + 16 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 17 + ], + [ + 17 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 18 + ], + [ + 18 + ] + ], + "result": { + "count": 1, + "id": 533 + } + } + ], + "534": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 13 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 14 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 15 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 16 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 17 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 18 + ] + ], + "result": { + "count": 1, + "id": 534 + } + } + ], + "535": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 535 + } + } + ], + "536": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 13, + 545 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 14, + 545 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 15, + 545 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 16, + 545 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 17, + 545 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 18, + 545 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 536 + } + } + ], + "537": [ + { + "inShape": [ + [ + 545 + ], + [ + 12 + ], + [ + 12 + ] + ], + "result": { + "count": 1, + "id": 537 + } + } + ], + "538": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 12 + ] + ], + "result": { + "count": 1, + "id": 538 + } + } + ], + "539": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 539 + } + } + ], + "540": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 12, + 545 + ], + [ + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 540 + } + } + ], + "541": [ + { + "inShape": [ + [ + 545 + ], + [ + 529 + ], + [ + 529 + ] + ], + "result": { + "count": 1, + "id": 541 + } + } + ], + "542": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 529 + ] + ], + "result": { + "count": 1, + "id": 542 + } + } + ], + "543": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 529, + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 543 + } + } + ], + "544": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 529, + 545 + ], + [ + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 544 + } + } + ], + "545": [ + { + "inShape": [ + [ + 13 + ], + [ + 13 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 14 + ], + [ + 14 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 15 + ], + [ + 15 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 16 + ], + [ + 16 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 17 + ], + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 18 + ], + [ + 18 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 614 + ], + [ + 614 + ] + ], + "result": { + "count": 1, + "id": 545 + } + } + ], + "546": [ + { + "inShape": [ + [ + null, + 13, + null + ], + [ + 13, + null, + 13 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 14, + null + ], + [ + 14, + null, + 14 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 15, + null + ], + [ + 15, + null, + 15 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 16, + null + ], + [ + 16, + null, + 16 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 17, + null + ], + [ + 17, + null, + 17 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 18, + null + ], + [ + 18, + null, + 18 + ] + ], + "result": { + "count": 4, + "id": 546 + } + } + ], + "547": [ + { + "ingredients": [ + 111, + 112, + 546 + ], + "result": { + "count": 1, + "id": 547 + } + } + ], + "548": [ + { + "inShape": [ + [ + 545 + ], + [ + 531 + ], + [ + 531 + ] + ], + "result": { + "count": 1, + "id": 548 + } + } + ], + "549": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 531 + ] + ], + "result": { + "count": 1, + "id": 549 + } + } + ], + "550": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 550 + } + } + ], + "551": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 531, + 545 + ], + [ + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 551 + } + } + ], + "555": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 555 + } + } + ], + "556": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 556 + } + } + ], + "557": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 557 + } + } + ], + "558": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 558 + } + } + ], + "559": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 559 + } + } + ], + "561": [ + { + "ingredients": [ + 299 + ], + "result": { + "count": 9, + "id": 561 + } + } + ], + "562": [ + { + "inShape": [ + [ + 561, + 561, + 561 + ] + ], + "result": { + "count": 1, + "id": 562 + } + } + ], + "563": [ + { + "inShape": [ + [ + 603, + null, + 603 + ], + [ + 603, + 603, + 603 + ] + ], + "result": { + "count": 1, + "id": 563 + } + } + ], + "564": [ + { + "inShape": [ + [ + 603, + 603, + 603 + ], + [ + 603, + 603, + 603 + ], + [ + 603, + null, + 603 + ] + ], + "result": { + "count": 1, + "id": 564 + } + } + ], + "565": [ + { + "inShape": [ + [ + 603, + null, + 603 + ], + [ + 603, + null, + 603 + ], + [ + 603, + 603, + 603 + ] + ], + "result": { + "count": 1, + "id": 565 + } + } + ], + "566": [ + { + "inShape": [ + [ + 603, + null, + 603 + ], + [ + 603, + null, + 603 + ] + ], + "result": { + "count": 1, + "id": 566 + } + } + ], + "571": [ + { + "inShape": [ + [ + 530, + null, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 571 + } + } + ], + "572": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + 530, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 572 + } + } + ], + "573": [ + { + "inShape": [ + [ + 530, + null, + 530 + ], + [ + 530, + null, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 573 + } + } + ], + "574": [ + { + "inShape": [ + [ + 530, + null, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 574 + } + } + ], + "575": [ + { + "inShape": [ + [ + 529, + null, + 529 + ], + [ + 529, + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 575 + } + } + ], + "576": [ + { + "inShape": [ + [ + 529, + 529, + 529 + ], + [ + 529, + 529, + 529 + ], + [ + 529, + null, + 529 + ] + ], + "result": { + "count": 1, + "id": 576 + } + } + ], + "577": [ + { + "inShape": [ + [ + 529, + null, + 529 + ], + [ + 529, + null, + 529 + ], + [ + 529, + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 577 + } + } + ], + "578": [ + { + "inShape": [ + [ + 529, + null, + 529 + ], + [ + 529, + null, + 529 + ] + ], + "result": { + "count": 1, + "id": 578 + } + } + ], + "579": [ + { + "inShape": [ + [ + 531, + null, + 531 + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 579 + } + } + ], + "580": [ + { + "inShape": [ + [ + 531, + 531, + 531 + ], + [ + 531, + 531, + 531 + ], + [ + 531, + null, + 531 + ] + ], + "result": { + "count": 1, + "id": 580 + } + } + ], + "581": [ + { + "inShape": [ + [ + 531, + null, + 531 + ], + [ + 531, + null, + 531 + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 581 + } + } + ], + "582": [ + { + "inShape": [ + [ + 531, + null, + 531 + ], + [ + 531, + null, + 531 + ] + ], + "result": { + "count": 1, + "id": 582 + } + } + ], + "586": [ + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 82, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 83, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 84, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 85, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 86, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 87, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 88, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 89, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 90, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 91, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 92, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 93, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 94, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 95, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 96, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 97, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + } + ], + "587": [ + { + "inShape": [ + [ + 531, + 531, + 531 + ], + [ + 531, + 524, + 531 + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 587 + } + } + ], + "589": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 3, + "id": 589 + } + } + ], + "590": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 3, + "id": 590 + } + } + ], + "591": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 3, + "id": 591 + } + } + ], + "592": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 3, + "id": 592 + } + } + ], + "593": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 3, + "id": 593 + } + } + ], + "594": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 3, + "id": 594 + } + } + ], + "595": [ + { + "inShape": [ + [ + null, + 530, + null + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 595 + } + } + ], + "598": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 598 + } + } + ], + "600": [ + { + "ingredients": [ + 272 + ], + "result": { + "count": 9, + "id": 600 + } + } + ], + "602": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + null, + 13 + ] + ], + "result": { + "count": 1, + "id": 602 + } + } + ], + "603": [ + { + "inShape": [ + [ + 790, + 790 + ], + [ + 790, + 790 + ] + ], + "result": { + "count": 1, + "id": 603 + } + } + ], + "613": [ + { + "ingredients": [ + 674, + 674, + 674, + 674, + 674, + 674, + 674, + 674, + 674 + ], + "result": { + "count": 1, + "id": 613 + } + } + ], + "615": [ + { + "inShape": [ + [ + 611, + 611, + 611 + ] + ], + "result": { + "count": 3, + "id": 615 + } + } + ], + "616": [ + { + "ingredients": [ + 615, + 615, + 615, + 603 + ], + "result": { + "count": 1, + "id": 616 + } + } + ], + "617": [ + { + "ingredients": [ + 321 + ], + "result": { + "count": 9, + "id": 617 + } + } + ], + "618": [ + { + "inShape": [ + [ + 598 + ], + [ + 155 + ] + ], + "result": { + "count": 1, + "id": 618 + } + } + ], + "619": [ + { + "inShape": [ + [ + 598 + ], + [ + 160 + ] + ], + "result": { + "count": 1, + "id": 619 + } + } + ], + "621": [ + { + "inShape": [ + [ + null, + 530, + null + ], + [ + 530, + 600, + 530 + ], + [ + null, + 530, + null + ] + ], + "result": { + "count": 1, + "id": 621 + } + } + ], + "622": [ + { + "inShape": [ + [ + 545, + null, + 552 + ], + [ + null, + 545, + 552 + ], + [ + null, + null, + 545 + ] + ], + "result": { + "count": 1, + "id": 622 + } + } + ], + "623": [ + { + "inShape": [ + [ + null, + 531, + null + ], + [ + 531, + 600, + 531 + ], + [ + null, + 531, + null + ] + ], + "result": { + "count": 1, + "id": 623 + } + } + ], + "632": [ + { + "ingredients": [ + 820 + ], + "result": { + "count": 1, + "id": 632 + } + }, + { + "ingredients": [ + 99 + ], + "result": { + "count": 1, + "id": 632 + } + }, + { + "ingredients": [ + 325 + ], + "result": { + "count": 2, + "id": 632 + } + }, + { + "ingredients": [ + 103 + ], + "result": { + "count": 1, + "id": 632 + } + } + ], + "635": [ + { + "ingredients": [ + 66 + ], + "result": { + "count": 9, + "id": 635 + } + } + ], + "636": [ + { + "ingredients": [ + 647, + 632 + ], + "result": { + "count": 2, + "id": 636 + } + } + ], + "637": [ + { + "ingredients": [ + 647, + 633 + ], + "result": { + "count": 2, + "id": 637 + } + } + ], + "638": [ + { + "ingredients": [ + 102 + ], + "result": { + "count": 1, + "id": 638 + } + }, + { + "ingredients": [ + 649, + 650, + 650 + ], + "result": { + "count": 3, + "id": 638 + } + }, + { + "ingredients": [ + 639, + 650 + ], + "result": { + "count": 2, + "id": 638 + } + }, + { + "ingredients": [ + 107 + ], + "result": { + "count": 1, + "id": 638 + } + }, + { + "ingredients": [ + 105 + ], + "result": { + "count": 1, + "id": 638 + } + } + ], + "639": [ + { + "ingredients": [ + 649, + 650 + ], + "result": { + "count": 2, + "id": 639 + } + } + ], + "640": [ + { + "ingredients": [ + 326 + ], + "result": { + "count": 2, + "id": 640 + } + }, + { + "ingredients": [ + 106 + ], + "result": { + "count": 1, + "id": 640 + } + }, + { + "ingredients": [ + 632, + 650 + ], + "result": { + "count": 2, + "id": 640 + } + } + ], + "641": [ + { + "ingredients": [ + 633, + 650 + ], + "result": { + "count": 2, + "id": 641 + } + } + ], + "642": [ + { + "ingredients": [ + 98 + ], + "result": { + "count": 1, + "id": 642 + } + }, + { + "ingredients": [ + 323 + ], + "result": { + "count": 2, + "id": 642 + } + } + ], + "643": [ + { + "ingredients": [ + 100 + ], + "result": { + "count": 1, + "id": 643 + } + }, + { + "ingredients": [ + 647, + 650 + ], + "result": { + "count": 2, + "id": 643 + } + } + ], + "644": [ + { + "ingredients": [ + 101 + ], + "result": { + "count": 1, + "id": 644 + } + }, + { + "ingredients": [ + 647, + 632, + 640 + ], + "result": { + "count": 3, + "id": 644 + } + }, + { + "ingredients": [ + 647, + 632, + 632, + 650 + ], + "result": { + "count": 4, + "id": 644 + } + }, + { + "ingredients": [ + 324 + ], + "result": { + "count": 2, + "id": 644 + } + }, + { + "ingredients": [ + 636, + 640 + ], + "result": { + "count": 2, + "id": 644 + } + } + ], + "645": [ + { + "ingredients": [ + 104 + ], + "result": { + "count": 1, + "id": 645 + } + }, + { + "ingredients": [ + 632, + 642 + ], + "result": { + "count": 2, + "id": 645 + } + } + ], + "646": [ + { + "ingredients": [ + 651 + ], + "result": { + "count": 3, + "id": 646 + } + }, + { + "ingredients": [ + 377 + ], + "result": { + "count": 9, + "id": 646 + } + } + ], + "647": [ + { + "ingredients": [ + 635 + ], + "result": { + "count": 1, + "id": 647 + } + }, + { + "ingredients": [ + 108 + ], + "result": { + "count": 1, + "id": 647 + } + } + ], + "648": [ + { + "ingredients": [ + 634 + ], + "result": { + "count": 1, + "id": 648 + } + } + ], + "649": [ + { + "ingredients": [ + 631 + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "ingredients": [ + 110 + ], + "result": { + "count": 1, + "id": 649 + } + } + ], + "650": [ + { + "ingredients": [ + 646 + ], + "result": { + "count": 1, + "id": 650 + } + }, + { + "ingredients": [ + 109 + ], + "result": { + "count": 1, + "id": 650 + } + } + ], + "652": [ + { + "ingredients": [ + 611 + ], + "result": { + "count": 1, + "id": 652 + } + } + ], + "653": [ + { + "inShape": [ + [ + 561, + 561, + 561 + ], + [ + 652, + 620, + 652 + ], + [ + 604, + 604, + 604 + ] + ], + "result": { + "count": 1, + "id": 653 + } + } + ], + "654": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + } + ], + "655": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "ingredients": [ + 654, + 645 + ], + "result": { + "count": 1, + "id": 655 + } + } + ], + "656": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "ingredients": [ + 654, + 644 + ], + "result": { + "count": 1, + "id": 656 + } + } + ], + "657": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "ingredients": [ + 654, + 643 + ], + "result": { + "count": 1, + "id": 657 + } + } + ], + "658": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "ingredients": [ + 654, + 642 + ], + "result": { + "count": 1, + "id": 658 + } + } + ], + "659": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "ingredients": [ + 654, + 641 + ], + "result": { + "count": 1, + "id": 659 + } + } + ], + "660": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "ingredients": [ + 654, + 640 + ], + "result": { + "count": 1, + "id": 660 + } + } + ], + "661": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "ingredients": [ + 654, + 639 + ], + "result": { + "count": 1, + "id": 661 + } + } + ], + "662": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "ingredients": [ + 654, + 638 + ], + "result": { + "count": 1, + "id": 662 + } + } + ], + "663": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "ingredients": [ + 654, + 637 + ], + "result": { + "count": 1, + "id": 663 + } + } + ], + "664": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "ingredients": [ + 654, + 636 + ], + "result": { + "count": 1, + "id": 664 + } + } + ], + "665": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "ingredients": [ + 654, + 647 + ], + "result": { + "count": 1, + "id": 665 + } + } + ], + "666": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "ingredients": [ + 654, + 648 + ], + "result": { + "count": 1, + "id": 666 + } + } + ], + "667": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "ingredients": [ + 654, + 633 + ], + "result": { + "count": 1, + "id": 667 + } + } + ], + "668": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "ingredients": [ + 654, + 632 + ], + "result": { + "count": 1, + "id": 668 + } + } + ], + "669": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "ingredients": [ + 654, + 649 + ], + "result": { + "count": 1, + "id": 669 + } + } + ], + "670": [ + { + "inShape": [ + [ + 561, + 634, + 561 + ] + ], + "result": { + "count": 8, + "id": 670 + } + } + ], + "672": [ + { + "inShape": [ + [ + 530, + null + ], + [ + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 672 + } + } + ], + "674": [ + { + "ingredients": [ + 613 + ], + "result": { + "count": 9, + "id": 674 + } + } + ], + "675": [ + { + "ingredients": [ + 187 + ], + "result": { + "count": 4, + "id": 675 + } + } + ], + "676": [ + { + "ingredients": [ + 673 + ], + "result": { + "count": 1, + "id": 676 + } + } + ], + "685": [ + { + "ingredients": [ + 531 + ], + "result": { + "count": 9, + "id": 685 + } + } + ], + "688": [ + { + "inShape": [ + [ + null, + 64, + null + ], + [ + 64, + null, + 64 + ] + ], + "result": { + "count": 3, + "id": 688 + } + } + ], + "690": [ + { + "ingredients": [ + 689, + 111, + 652 + ], + "result": { + "count": 1, + "id": 690 + } + } + ], + "691": [ + { + "ingredients": [ + 683 + ], + "result": { + "count": 2, + "id": 691 + } + } + ], + "692": [ + { + "ingredients": [ + 691, + 617 + ], + "result": { + "count": 1, + "id": 692 + } + } + ], + "693": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + null, + 683, + null + ] + ], + "result": { + "count": 1, + "id": 693 + } + } + ], + "694": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + null, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 694 + } + } + ], + "695": [ + { + "ingredients": [ + 682, + 691 + ], + "result": { + "count": 1, + "id": 695 + } + } + ], + "696": [ + { + "inShape": [ + [ + 685, + 685, + 685 + ], + [ + 685, + 673, + 685 + ], + [ + 685, + 685, + 685 + ] + ], + "result": { + "count": 1, + "id": 696 + } + } + ], + "756": [ + { + "ingredients": [ + 554, + 691, + 527 + ], + "result": { + "count": 3, + "id": 756 + } + }, + { + "ingredients": [ + 554, + 691, + 528 + ], + "result": { + "count": 3, + "id": 756 + } + } + ], + "757": [ + { + "ingredients": [ + 616, + 631, + 553 + ], + "result": { + "count": 1, + "id": 757 + } + } + ], + "759": [ + { + "ingredients": [ + 239 + ], + "result": { + "count": 9, + "id": 759 + } + } + ], + "760": [ + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 603, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 760 + } + } + ], + "761": [ + { + "inShape": [ + [ + null, + 609, + null + ], + [ + 609, + null, + 609 + ] + ], + "result": { + "count": 1, + "id": 761 + } + } + ], + "766": [ + { + "inShape": [ + [ + 615, + 615, + 615 + ], + [ + 615, + 621, + 615 + ], + [ + 615, + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 766 + } + } + ], + "767": [ + { + "inShape": [ + [ + 685, + 685, + 685 + ], + [ + 685, + 762, + 685 + ], + [ + 685, + 685, + 685 + ] + ], + "result": { + "count": 1, + "id": 767 + } + } + ], + "774": [ + { + "inShape": [ + [ + null, + 762 + ], + [ + 622, + null + ] + ], + "result": { + "count": 1, + "id": 774 + } + } + ], + "776": [ + { + "ingredients": [ + 187, + 652, + 620 + ], + "result": { + "count": 1, + "id": 776 + } + } + ], + "782": [ + { + "inShape": [ + [ + 598 + ], + [ + 142 + ] + ], + "result": { + "count": 1, + "id": 782 + } + } + ], + "783": [ + { + "inShape": [ + [ + 598 + ], + [ + 274 + ] + ], + "result": { + "count": 1, + "id": 783 + } + } + ], + "788": [ + { + "ingredients": [ + 764, + 787, + 546, + 762, + 111 + ], + "result": { + "count": 1, + "id": 788 + } + }, + { + "ingredients": [ + 764, + 787, + 546, + 762, + 112 + ], + "result": { + "count": 1, + "id": 788 + } + } + ], + "791": [ + { + "inShape": [ + [ + 545, + 122, + 545 + ], + [ + null, + 545, + null + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 791 + } + } + ], + "795": [ + { + "inShape": [ + [ + 603, + null, + 603 + ], + [ + 603, + 603, + 603 + ], + [ + 603, + null, + 603 + ] + ], + "result": { + "count": 1, + "id": 795 + } + } + ], + "796": [ + { + "inShape": [ + [ + null, + null, + 552 + ], + [ + 552, + 617, + null + ], + [ + 552, + 552, + null + ] + ], + "result": { + "count": 2, + "id": 796 + } + } + ], + "801": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 82, + 82, + 82 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 801 + } + } + ], + "802": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 83, + 83, + 83 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 802 + } + } + ], + "803": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 84, + 84, + 84 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 803 + } + } + ], + "804": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 85, + 85, + 85 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 804 + } + } + ], + "805": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 86, + 86, + 86 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 805 + } + } + ], + "806": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 87, + 87, + 87 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 806 + } + } + ], + "807": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 88, + 88, + 88 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 807 + } + } + ], + "808": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 89, + 89, + 89 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 808 + } + } + ], + "809": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 90, + 90, + 90 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 809 + } + } + ], + "810": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 91, + 91, + 91 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 810 + } + } + ], + "811": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 92, + 92, + 92 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 811 + } + } + ], + "812": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 93, + 93, + 93 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 812 + } + } + ], + "813": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 94, + 94, + 94 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 813 + } + } + ], + "814": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 95, + 95, + 95 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 814 + } + } + ], + "815": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 96, + 96, + 96 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 815 + } + } + ], + "816": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 97, + 97, + 97 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 816 + } + } + ], + "817": [ + { + "inShape": [ + [ + 64, + 684, + 64 + ], + [ + 64, + 695, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 817 + } + } + ], + "822": [ + { + "ingredients": [ + 546, + 820, + 820, + 820, + 820, + 820, + 820 + ], + "result": { + "count": 1, + "id": 822 + } + } + ], + "825": [ + { + "inShape": [ + [ + null, + 624, + null + ], + [ + 624, + 526, + 624 + ], + [ + null, + 624, + null + ] + ], + "result": { + "count": 2, + "id": 825 + } + } + ], + "828": [ + { + "inShape": [ + [ + null, + 13, + null + ], + [ + 13, + 13, + 13 + ], + [ + 13, + 530, + 13 + ] + ], + "result": { + "count": 1, + "id": 828 + } + }, + { + "inShape": [ + [ + null, + 14, + null + ], + [ + 14, + 14, + 14 + ], + [ + 14, + 530, + 14 + ] + ], + "result": { + "count": 1, + "id": 828 + } + }, + { + "inShape": [ + [ + null, + 15, + null + ], + [ + 15, + 15, + 15 + ], + [ + 15, + 530, + 15 + ] + ], + "result": { + "count": 1, + "id": 828 + } + }, + { + "inShape": [ + [ + null, + 16, + null + ], + [ + 16, + 16, + 16 + ], + [ + 16, + 530, + 16 + ] + ], + "result": { + "count": 1, + "id": 828 + } + }, + { + "inShape": [ + [ + null, + 17, + null + ], + [ + 17, + 17, + 17 + ], + [ + 17, + 530, + 17 + ] + ], + "result": { + "count": 1, + "id": 828 + } + }, + { + "inShape": [ + [ + null, + 18, + null + ], + [ + 18, + 18, + 18 + ], + [ + 18, + 530, + 18 + ] + ], + "result": { + "count": 1, + "id": 828 + } + } + ], + "830": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + null, + 14 + ] + ], + "result": { + "count": 1, + "id": 830 + } + } + ], + "831": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + null, + 15 + ] + ], + "result": { + "count": 1, + "id": 831 + } + } + ], + "832": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + null, + 16 + ] + ], + "result": { + "count": 1, + "id": 832 + } + } + ], + "833": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + null, + 17 + ] + ], + "result": { + "count": 1, + "id": 833 + } + } + ], + "834": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + null, + 18 + ] + ], + "result": { + "count": 1, + "id": 834 + } + } + ], + "837": [ + { + "ingredients": [ + 530 + ], + "result": { + "count": 9, + "id": 837 + } + } + ], + "856": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 552, + 238, + 552 + ], + [ + 545, + 530, + 545 + ] + ], + "result": { + "count": 1, + "id": 856 + } + } + ], + "858": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 858 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 858 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 858 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 858 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 858 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 858 + } + } + ], + "859": [ + { + "ingredients": [ + 615, + 107 + ], + "result": { + "count": 1, + "id": 859 + } + } + ], + "860": [ + { + "ingredients": [ + 615, + 772 + ], + "result": { + "count": 1, + "id": 860 + } + } + ], + "861": [ + { + "ingredients": [ + 615, + 769 + ], + "result": { + "count": 1, + "id": 861 + } + } + ], + "862": [ + { + "ingredients": [ + 615, + 588 + ], + "result": { + "count": 1, + "id": 862 + } + } + ], + "864": [ + { + "inShape": [ + [ + 13, + 115, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 115, + 13 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 13, + 116, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 116, + 13 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 13, + 117, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 117, + 13 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 13, + 118, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 118, + 13 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 13, + 119, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 119, + 13 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 13, + 120, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 120, + 13 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 14, + 115, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 115, + 14 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 14, + 116, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 116, + 14 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 14, + 117, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 117, + 14 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 14, + 118, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 118, + 14 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 14, + 119, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 119, + 14 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 14, + 120, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 120, + 14 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 15, + 115, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 115, + 15 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 15, + 116, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 116, + 15 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 15, + 117, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 117, + 15 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 15, + 118, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 118, + 15 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 15, + 119, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 119, + 15 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 15, + 120, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 120, + 15 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 16, + 115, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 115, + 16 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 16, + 116, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 116, + 16 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 16, + 117, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 117, + 16 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 16, + 118, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 118, + 16 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 16, + 119, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 119, + 16 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 16, + 120, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 120, + 16 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 17, + 115, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 115, + 17 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 17, + 116, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 116, + 17 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 17, + 117, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 117, + 17 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 17, + 118, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 118, + 17 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 17, + 119, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 119, + 17 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 17, + 120, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 120, + 17 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 18, + 115, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 115, + 18 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 18, + 116, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 116, + 18 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 18, + 117, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 117, + 18 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 18, + 118, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 118, + 18 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 18, + 119, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 119, + 18 + ] + ], + "result": { + "count": 1, + "id": 864 + } + }, + { + "inShape": [ + [ + 18, + 120, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 120, + 18 + ] + ], + "result": { + "count": 1, + "id": 864 + } + } + ], + "865": [ + { + "inShape": [ + [ + null, + 37, + null + ], + [ + 37, + 160, + 37 + ], + [ + null, + 37, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 55, + null + ], + [ + 55, + 160, + 55 + ], + [ + null, + 55, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 43, + null + ], + [ + 43, + 160, + 43 + ], + [ + null, + 43, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 49, + null + ], + [ + 49, + 160, + 49 + ], + [ + null, + 49, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 32, + null + ], + [ + 32, + 160, + 32 + ], + [ + null, + 32, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 50, + null + ], + [ + 50, + 160, + 50 + ], + [ + null, + 50, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 38, + null + ], + [ + 38, + 160, + 38 + ], + [ + null, + 38, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 44, + null + ], + [ + 44, + 160, + 44 + ], + [ + null, + 44, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 36, + null + ], + [ + 36, + 160, + 36 + ], + [ + null, + 36, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 54, + null + ], + [ + 54, + 160, + 54 + ], + [ + null, + 54, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 42, + null + ], + [ + 42, + 160, + 42 + ], + [ + null, + 42, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 48, + null + ], + [ + 48, + 160, + 48 + ], + [ + null, + 48, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 34, + null + ], + [ + 34, + 160, + 34 + ], + [ + null, + 34, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 52, + null + ], + [ + 52, + 160, + 52 + ], + [ + null, + 52, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 40, + null + ], + [ + 40, + 160, + 40 + ], + [ + null, + 40, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 46, + null + ], + [ + 46, + 160, + 46 + ], + [ + null, + 46, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 35, + null + ], + [ + 35, + 160, + 35 + ], + [ + null, + 35, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 53, + null + ], + [ + 53, + 160, + 53 + ], + [ + null, + 53, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 41, + null + ], + [ + 41, + 160, + 41 + ], + [ + null, + 41, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 47, + null + ], + [ + 47, + 160, + 47 + ], + [ + null, + 47, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 33, + null + ], + [ + 33, + 160, + 33 + ], + [ + null, + 33, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 51, + null + ], + [ + 51, + 160, + 51 + ], + [ + null, + 51, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 39, + null + ], + [ + 39, + 160, + 39 + ], + [ + null, + 39, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + null, + 45, + null + ], + [ + 45, + 160, + 45 + ], + [ + null, + 45, + null + ] + ], + "result": { + "count": 1, + "id": 865 + } + } + ], + "866": [ + { + "inShape": [ + [ + 140, + 140, + 140 + ], + [ + 530, + 160, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 866 + } + } + ], + "867": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 867 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 867 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 867 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 867 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 867 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 867 + } + } + ], + "868": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 868 + } + } + ], + "869": [ + { + "inShape": [ + [ + 13, + null, + 13 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 14, + null, + 14 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 15, + null, + 15 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 16, + null, + 16 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 17, + null, + 17 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 18, + null, + 18 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 869 + } + } + ], + "870": [ + { + "inShape": [ + [ + null, + 115, + null + ], + [ + null, + 143, + null + ], + [ + 115, + 115, + 115 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + null, + 116, + null + ], + [ + null, + 143, + null + ], + [ + 116, + 116, + 116 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + null, + 117, + null + ], + [ + null, + 143, + null + ], + [ + 117, + 117, + 117 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + null, + 118, + null + ], + [ + null, + 143, + null + ], + [ + 118, + 118, + 118 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + null, + 119, + null + ], + [ + null, + 143, + null + ], + [ + 119, + 119, + 119 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + null, + 120, + null + ], + [ + null, + 143, + null + ], + [ + 120, + 120, + 120 + ] + ], + "result": { + "count": 1, + "id": 870 + } + } + ], + "871": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 871 + } + } + ], + "872": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + null, + 530, + null + ] + ], + "result": { + "count": 1, + "id": 872 + } + } + ], + "874": [ + { + "inShape": [ + [ + 837, + 837, + 837 + ], + [ + 837, + 146, + 837 + ], + [ + 837, + 837, + 837 + ] + ], + "result": { + "count": 1, + "id": 874 + } + } + ], + "876": [ + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 55, + 55, + 55 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 55, + 55, + 55 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 32, + 32, + 32 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 32, + 32, + 32 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 50, + 50, + 50 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 50, + 50, + 50 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 54, + 54, + 54 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 54, + 54, + 54 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 34, + 34, + 34 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 34, + 34, + 34 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 52, + 52, + 52 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 52, + 52, + 52 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 53, + 53, + 53 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 53, + 53, + 53 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 47, + 47, + 47 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 47, + 47, + 47 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 33, + 33, + 33 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 33, + 33, + 33 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 51, + 51, + 51 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 51, + 51, + 51 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 876 + } + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.14/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/version.json new file mode 100644 index 00000000..b5707816 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.14/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.14", + "version": 477, + "majorVersion": "1.14" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.1/commands.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.1/commands.json new file mode 100644 index 00000000..e2d2cbf9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.1/commands.json @@ -0,0 +1,13611 @@ +{ + "root": { + "type": "root", + "name": "root", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "advancement", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "grant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "revoke", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "base", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modifier", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply_base", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "ban", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ban-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "banlist", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ips", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "visible", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "blue", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "green", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pink", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "purple", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "red", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "white", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "yellow", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "max", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ] + }, + { + "type": "literal", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "style", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "notched_10", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_12", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_20", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_6", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "progress", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "visible", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "visible", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxCount", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "clone", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "begin", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "filtered", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "datapack", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "disable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "after", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "before", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "first", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "last", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "available", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "enabled", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ] + }, + { + "type": "literal", + "name": "debug", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "report", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "start", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "defaultgamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "deop", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "difficulty", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "easy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hard", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "peaceful", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "effect", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "seconds", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amplifier", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "hideParticles", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + } + } + } + ], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "enchant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "enchantment", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "level", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_enchantment", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "execute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "align", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "axes", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:swizzle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "anchored", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "at", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "if", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "in", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "dimension", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:dimension", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "positioned", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rotated", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "rot", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "run", + "executable": false, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "store", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "result", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "success", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "unless", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "experience", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "fill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hollow", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "outline", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forceload", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "gamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "gamerule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "announceAdvancements", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "commandBlockOutput", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableElytraMovementCheck", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableRaids", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doDaylightCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doEntityDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doFireTick", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doImmediateRespawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doInsomnia", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doLimitedCrafting", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobLoot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doPatrolSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTileDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTraderSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doWeatherCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "drowningDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fallDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fireDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forgiveDeadPlayers", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "keepInventory", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "logAdminCommands", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxCommandChainLength", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxEntityCramming", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mobGriefing", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "naturalRegeneration", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "randomTickSpeed", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "reducedDebugInfo", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "sendCommandFeedback", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "showDeathMessages", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnRadius", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spectatorsGenerateChunks", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "universalAnger", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "help", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "command", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "kick", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "uuids", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "bastion_remnant", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "buried_treasure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "desert_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "endcity", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "fortress", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "igloo", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "jungle_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mansion", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mineshaft", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "monument", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "nether_fossil", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ocean_ruin", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pillager_outpost", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ruined_portal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "shipwreck", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stronghold", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "swamp_hut", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "village", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locatebiome", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "biome", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "spawn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "me", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "action", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "msg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "op", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "particle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "delta", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "speed", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:particle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "playsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ambient", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "publish", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "port", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + } + } + } + ] + }, + { + "type": "literal", + "name": "recipe", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "take", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replaceitem", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "save-all", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "flush", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "save-off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "save-on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "say", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "schedule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "scoreboard", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "objectives", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criteria", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective_criteria", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "displayname", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rendertype", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "hearts", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "integer", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setdisplay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:scoreboard_slot", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:operation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "reset", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "seed", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "setblock", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setidletimeout", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minutes", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "setworldspawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnpoint", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectate", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "player", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "spreadplayers", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "spreadDistance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxRange", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "under", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxHeight", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stopsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ambient", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "summon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity_summon", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tag", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "empty", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "join", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "leave", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "collisionRule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOwnTeam", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:color", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "deathMessageVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "displayName", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "friendlyFire", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "nametagVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "prefix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "prefix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "seeFriendlyInvisibles", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "suffix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "suffix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "teammsg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "teleport", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "tell", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tellraw", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "daytime", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "gametime", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "midnight", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "night", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "noon", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "actionbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reset", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "subtitle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "times", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeIn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "stay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeOut", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tm", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "trigger", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "w", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "rain", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "thunder", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "whitelist", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "worldborder", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "damage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "amount", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "damagePerBlock", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "buffer", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "warning", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "distance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "xp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + } + ] + }, + "parsers": [ + { + "parser": "minecraft:resource_location", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + }, + "examples": [ + "word", + "words with spaces", + "\\\" and symbols\\\"" + ] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + }, + "examples": [ + "@a" + ] + }, + { + "parser": "brigadier:double", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + }, + "examples": [ + "\\\"quoted phrase\\\"", + "word", + "" + ] + }, + { + "parser": "minecraft:uuid", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:message", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:game_profile", + "modifier": null, + "examples": [ + "Player", + "0123", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "@e" + ] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "word" + }, + "examples": [ + "word", + "word_with_underscore" + ] + }, + { + "parser": "minecraft:component", + "modifier": null, + "examples": [ + "\"hello world\"", + "\"\"", + "\"{\"text\":\"hello world\"}\"", + "[\"\"]" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + }, + "examples": [ + "1" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + }, + "examples": [ + "0", + "1" + ] + }, + { + "parser": "brigadier:bool", + "modifier": null, + "examples": [ + "true", + "false" + ] + }, + { + "parser": "minecraft:item_predicate", + "modifier": null, + "examples": [ + "stick", + "minecraft:stick", + "#stick", + "diamond_sword{ench:[{id:16,lvl:5}]}" + ] + }, + { + "parser": "minecraft:block_predicate", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "#stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:block_pos", + "modifier": null, + "examples": [ + "0 0 0", + "~ ~ ~", + "^ ^ ^", + "^1 ^ ^-5", + "~0.5 ~1 ~-5" + ] + }, + { + "parser": "minecraft:nbt_path", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_compound_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:integer", + "modifier": null, + "examples": [ + "1", + "0", + "10" + ] + }, + { + "parser": "minecraft:mob_effect", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + }, + "examples": [ + "@e", + "@e[type=cow]", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "Player" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + }, + "examples": [ + "0", + "255" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + }, + "examples": [ + "1", + "1000000" + ] + }, + { + "parser": "minecraft:item_enchantment", + "modifier": null, + "examples": [ + "unbreaking", + "minecraft:slik_touch" + ] + }, + { + "parser": "minecraft:swizzle", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_anchor", + "modifier": null, + "examples": [ + "eyes", + "feet" + ] + }, + { + "parser": "minecraft:vec3", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + }, + "examples": [] + }, + { + "parser": "minecraft:int_range", + "modifier": null, + "examples": [ + "0..5", + "0", + "-5", + "-100..", + "..100" + ] + }, + { + "parser": "minecraft:dimension", + "modifier": null, + "examples": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end", + "overworld", + "the_end", + "the_nether" + ] + }, + { + "parser": "minecraft:rotation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + }, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:block_state", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:column_pos", + "modifier": null, + "examples": [ + "0 0", + "~ ~", + "~1 ~-2", + "^ ^", + "^-1 ^0" + ] + }, + { + "parser": "minecraft:function", + "modifier": null, + "examples": [ + "foo", + "foo:bar", + "#foo" + ] + }, + { + "parser": "minecraft:item_stack", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:item_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + }, + "examples": [ + "0.0", + "0", + "1", + "0.01" + ] + }, + { + "parser": "minecraft:particle", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + }, + "examples": [ + "0.0", + "0", + "1", + "1.0", + "0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + }, + "examples": [ + "0", + "2", + "1.0", + "2.0" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + }, + "examples": [ + "0", + "65535" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + }, + "examples": [ + "1", + "64" + ] + }, + { + "parser": "minecraft:time", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective_criteria", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:scoreboard_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:operation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:angle", + "modifier": null, + "examples": [ + "0", + "~", + "~-0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + }, + "examples": [ + "1", + "1.0", + "1.000" + ] + }, + { + "parser": "minecraft:vec2", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_summon", + "modifier": null, + "examples": [ + "minecraft:pig", + "cow" + ] + }, + { + "parser": "minecraft:team", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:color", + "modifier": null, + "examples": [ + "aqua", + "black", + "blue", + "dark_aqua", + "dark_blue", + "dark_gray", + "dark_green", + "dark_purple", + "dark_red", + "gold", + "gray", + "green", + "light_purple", + "red", + "reset", + "yellow", + "white" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + }, + "examples": [ + "0", + "1000000" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + }, + "examples": [] + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.1/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.1/protocol.json new file mode 100644 index 00000000..a58a802c --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.1/protocol.json @@ -0,0 +1,5072 @@ +{ + "types": { + "varint": "native", + "optvarint": "varint", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "14": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "23": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "32": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle", + "16": [ + "container",[ + { + "name": "villagerType", + "type": "varint" + }, + { + "name": "villagerProfession", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ], + "17": "optvarint", + "18": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "difficultyLocked", + "type": "bool" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "inventoryType", + "type": "varint" + }, + { + "name": "windowTitle", + "type": "string" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_open_horse_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "nbSlots", + "type": "varint" + }, + { + "name": "entityId", + "type": "i32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "heightmaps", + "type": "nbt" + }, + { + "name": "biomes", + "type": [ + "switch", + { + "compareTo": "groundUp", + "fields": { + "false": "void", + "true": ["array", { + "count": 1024, + "type": "i32" + }] + } + } + ] + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_update_light": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + }, + { + "name": "skyLightMask", + "type": "varint" + }, + { + "name": "blockLightMask", + "type": "varint" + }, + { + "name": "emptySkyLightMask", + "type": "varint" + }, + { + "name": "emptyBlockLightMask", + "type": "varint" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "viewDistance", + "type": "varint" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + }, + { + "name": "enableRespawnScreen", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_trade_list": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "trades", + "type": [ + "array", + { + "countType": "u8", + "type": ["container", [ + { + "name": "inputItem1", + "type": "slot" + }, + { + "name": "outputItem", + "type": "slot" + }, + { + "name": "inputItem2", + "type": ["option", "slot"] + }, + { + "name": "tradeDisabled", + "type": "bool" + }, + { + "name": "nbTradeUses", + "type": "i32" + }, + { + "name": "maximumNbTradeUses", + "type": "i32" + }, + { + "name": "xp", + "type": "i32" + }, + { + "name": "specialPrice", + "type": "i32" + }, + { + "name": "priceMultiplier", + "type": "f32" + }, + { + "name": "demand", + "type": "i32" + } + ]] + } + ] + }, + { + "name": "villagerLevel", + "type": "varint" + }, + { + "name": "experience", + "type": "varint" + }, + { + "name": "isRegularVillager", + "type": "bool" + }, + { + "name": "canRestock", + "type": "bool" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_book": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_update_view_position": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + } + ] + ], + "packet_update_view_distance": [ + "container", + [ + { + "name": "viewDistance", + "type": "varint" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "type", + "type": "string" + }, + { + "name": "recipeId", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "minecraft:crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_special_armordye": "void", + "minecraft:crafting_special_bookcloning": "void", + "minecraft:crafting_special_mapcloning": "void", + "minecraft:crafting_special_mapextending": "void", + "minecraft:crafting_special_firework_rocket": "void", + "minecraft:crafting_special_firework_star": "void", + "minecraft:crafting_special_firework_star_fade": "void", + "minecraft:crafting_special_repairitem": "void", + "minecraft:crafting_special_tippedarrow": "void", + "minecraft:crafting_special_bannerduplicate": "void", + "minecraft:crafting_special_banneraddpattern": "void", + "minecraft:crafting_special_shielddecoration": "void", + "minecraft:crafting_special_shulkerboxcoloring": "void", + "minecraft:crafting_special_suspiciousstew": "void", + "minecraft:smelting": "minecraft_smelting_format", + "minecraft:blasting": "minecraft_smelting_format", + "minecraft:smoking": "minecraft_smelting_format", + "minecraft:campfire_cooking": "minecraft_smelting_format", + "minecraft:stonecutting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "minecraft_smelting_format": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + }, + { + "name": "entityTags", + "type": "tags" + } + ] + ], + "packet_acknowledge_player_digging": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "block", + "type": "varint" + }, + { + "name": "status", + "type": "varint" + }, + { + "name": "successful", + "type": "bool" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "acknowledge_player_digging", + "0x09": "block_break_animation", + "0x0a": "tile_entity_data", + "0x0b": "block_action", + "0x0c": "block_change", + "0x0d": "boss_bar", + "0x0e": "difficulty", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "tab_complete", + "0x12": "declare_commands", + "0x13": "transaction", + "0x14": "close_window", + "0x15": "window_items", + "0x16": "craft_progress_bar", + "0x17": "set_slot", + "0x18": "set_cooldown", + "0x19": "custom_payload", + "0x1a": "named_sound_effect", + "0x1b": "kick_disconnect", + "0x1c": "entity_status", + "0x1d": "explosion", + "0x1e": "unload_chunk", + "0x1f": "game_state_change", + "0x20": "open_horse_window", + "0x21": "keep_alive", + "0x22": "map_chunk", + "0x23": "world_event", + "0x24": "world_particles", + "0x25": "update_light", + "0x26": "login", + "0x27": "map", + "0x28": "trade_list", + "0x29": "rel_entity_move", + "0x2a": "entity_move_look", + "0x2b": "entity_look", + "0x2c": "entity", + "0x2d": "vehicle_move", + "0x2e": "open_book", + "0x2f": "open_window", + "0x30": "open_sign_entity", + "0x31": "craft_recipe_response", + "0x32": "abilities", + "0x33": "combat_event", + "0x34": "player_info", + "0x35": "face_player", + "0x36": "position", + "0x37": "unlock_recipes", + "0x38": "entity_destroy", + "0x39": "remove_entity_effect", + "0x3a": "resource_pack_send", + "0x3b": "respawn", + "0x3c": "entity_head_rotation", + "0x3d": "select_advancement_tab", + "0x3e": "world_border", + "0x3f": "camera", + "0x40": "held_item_slot", + "0x41": "update_view_position", + "0x42": "update_view_distance", + "0x43": "scoreboard_display_objective", + "0x44": "entity_metadata", + "0x45": "attach_entity", + "0x46": "entity_velocity", + "0x47": "entity_equipment", + "0x48": "experience", + "0x49": "update_health", + "0x4a": "scoreboard_objective", + "0x4b": "set_passengers", + "0x4c": "teams", + "0x4d": "scoreboard_score", + "0x4e": "spawn_position", + "0x4f": "update_time", + "0x50": "title", + "0x51": "entity_sound_effect", + "0x52": "sound_effect", + "0x53": "stop_sound", + "0x54": "playerlist_header", + "0x55": "nbt_query_response", + "0x56": "collect", + "0x57": "entity_teleport", + "0x58": "advancements", + "0x59": "entity_update_attributes", + "0x5a": "entity_effect", + "0x5b": "declare_recipes", + "0x5c": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "open_horse_window": "packet_open_horse_window", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "update_light": "packet_update_light", + "login": "packet_login", + "map": "packet_map", + "trade_list": "packet_trade_list", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_book": "packet_open_book", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "update_view_position": "packet_update_view_position", + "update_view_distance": "packet_update_view_distance", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "entity_sound_effect": "packet_entity_sound_effect", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags", + "acknowledge_player_digging": "packet_acknowledge_player_digging" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "newDifficulty", + "type": "u8" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_lock_difficulty": [ + "container", + [ + { + "name": "locked", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + }, + { + "name": "blastingBookOpen", + "type": "bool" + }, + { + "name": "blastingFilter", + "type": "bool" + }, + { + "name": "smokingBookOpen", + "type": "bool" + }, + { + "name": "smokingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_jigsaw_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "attachmentType", + "type": "string" + }, + { + "name": "targetPool", + "type": "string" + }, + { + "name": "finalState", + "type": "string" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + }, + { + "name": "insideBlock", + "type": "bool" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "set_difficulty", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "tab_complete", + "0x07": "transaction", + "0x08": "enchant_item", + "0x09": "window_click", + "0x0a": "close_window", + "0x0b": "custom_payload", + "0x0c": "edit_book", + "0x0d": "query_entity_nbt", + "0x0e": "use_entity", + "0x0f": "keep_alive", + "0x10": "lock_difficulty", + "0x11": "position", + "0x12": "position_look", + "0x13": "look", + "0x14": "flying", + "0x15": "vehicle_move", + "0x16": "steer_boat", + "0x17": "pick_item", + "0x18": "craft_recipe_request", + "0x19": "abilities", + "0x1a": "block_dig", + "0x1b": "entity_action", + "0x1c": "steer_vehicle", + "0x1d": "crafting_book_data", + "0x1e": "name_item", + "0x1f": "resource_pack_receive", + "0x20": "advancement_tab", + "0x21": "select_trade", + "0x22": "set_beacon_effect", + "0x23": "held_item_slot", + "0x24": "update_command_block", + "0x25": "update_command_block_minecart", + "0x26": "set_creative_slot", + "0x27": "update_jigsaw_block", + "0x28": "update_structure_block", + "0x29": "update_sign", + "0x2a": "arm_animation", + "0x2b": "spectate", + "0x2c": "block_place", + "0x2d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "set_difficulty": "packet_set_difficulty", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "lock_difficulty": "packet_lock_difficulty", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_jigsaw_block": "packet_update_jigsaw_block", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.1/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.1/version.json new file mode 100644 index 00000000..f92af2ba --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.1/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.15.1", + "version": 575, + "majorVersion": "1.15" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/biomes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/biomes.json new file mode 100644 index 00000000..8966a51a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/biomes.json @@ -0,0 +1,527 @@ +[ + { + "id": 0, + "name": "ocean", + "displayName": "Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 1, + "name": "plains", + "displayName": "Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 2, + "name": "desert", + "displayName": "Desert", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 3, + "name": "mountains", + "displayName": "Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 4, + "name": "forest", + "displayName": "Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 5, + "name": "taiga", + "displayName": "Taiga", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 6, + "name": "swamp", + "displayName": "Swamp", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 7, + "name": "river", + "displayName": "River", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 8, + "name": "nether", + "displayName": "Nether", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 9, + "name": "the_end", + "displayName": "The End", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 10, + "name": "frozen_ocean", + "displayName": "Frozen Ocean", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 11, + "name": "frozen_river", + "displayName": "Frozen River", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 12, + "name": "snowy_tundra", + "displayName": "Snowy Tundra", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 13, + "name": "snowy_mountains", + "displayName": "Snowy Mountains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 14, + "name": "mushroom_fields", + "displayName": "Mushroom Fields", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 15, + "name": "mushroom_field_shore", + "displayName": "Mushroom Field Shore", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 16, + "name": "beach", + "displayName": "Beach", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 17, + "name": "desert_hills", + "displayName": "Desert Hills", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 18, + "name": "wooded_hills", + "displayName": "Wooded Hills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 19, + "name": "taiga_hills", + "displayName": "Taiga Hills", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 20, + "name": "mountain_edge", + "displayName": "Mountain Edge", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 21, + "name": "jungle", + "displayName": "Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 22, + "name": "jungle_hills", + "displayName": "Jungle Hills", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 23, + "name": "jungle_edge", + "displayName": "Jungle Edge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 24, + "name": "deep_ocean", + "displayName": "Deep Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 25, + "name": "stone_shore", + "displayName": "Stone Shore", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 26, + "name": "snowy_beach", + "displayName": "Snowy Beach", + "rainfall": 0.3, + "temperature": 0.05 + }, + { + "id": 27, + "name": "birch_forest", + "displayName": "Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 28, + "name": "birch_forest_hills", + "displayName": "Birch Forest Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 29, + "name": "dark_forest", + "displayName": "Dark Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 30, + "name": "snowy_taiga", + "displayName": "Snowy Taiga", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 31, + "name": "snowy_taiga_hills", + "displayName": "Snowy Taiga Hills", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 32, + "name": "giant_tree_taiga", + "displayName": "Giant Tree Taiga", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 33, + "name": "giant_tree_taiga_hills", + "displayName": "Giant Tree Taiga Hills", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 34, + "name": "wooded_mountains", + "displayName": "Wooded Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 35, + "name": "savanna", + "displayName": "Savanna", + "rainfall": 0, + "temperature": 1.2 + }, + { + "id": 36, + "name": "savanna_plateau", + "displayName": "Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 37, + "name": "badlands", + "displayName": "Badlands", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 38, + "name": "wooded_badlands_plateau", + "displayName": "Wooded Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 39, + "name": "badlands_plateau", + "displayName": "Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 40, + "name": "small_end_islands", + "displayName": "Small End Islands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 41, + "name": "end_midlands", + "displayName": "End Midlands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 42, + "name": "end_highlands", + "displayName": "End Highlands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 43, + "name": "end_barrens", + "displayName": "End Barrens", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 44, + "name": "warm_ocean", + "displayName": "Warm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 45, + "name": "lukewarm_ocean", + "displayName": "Lukewarm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 46, + "name": "cold_ocean", + "displayName": "Cold Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 47, + "name": "deep_warm_ocean", + "displayName": "Deep Warm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 48, + "name": "deep_lukewarm_ocean", + "displayName": "Deep Lukewarm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 49, + "name": "deep_cold_ocean", + "displayName": "Deep Cold Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 50, + "name": "deep_frozen_ocean", + "displayName": "Deep Frozen Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 127, + "name": "the_void", + "displayName": "The Void", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 129, + "name": "sunflower_plains", + "displayName": "Sunflower Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 130, + "name": "desert_lakes", + "displayName": "Desert Lakes", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 131, + "name": "gravelly_mountains", + "displayName": "Gravelly Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 132, + "name": "flower_forest", + "displayName": "Flower Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 133, + "name": "taiga_mountains", + "displayName": "Taiga Mountains", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 134, + "name": "swamp_hills", + "displayName": "Swamp Hills", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 140, + "name": "ice_spikes", + "displayName": "Ice Spikes", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 149, + "name": "modified_jungle", + "displayName": "Modified Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 151, + "name": "modified_jungle_edge", + "displayName": "Modified Jungle Edge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 155, + "name": "tall_birch_forest", + "displayName": "Tall Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 156, + "name": "tall_birch_hills", + "displayName": "Tall Birch Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 157, + "name": "dark_forest_hills", + "displayName": "Dark Forest Hills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 158, + "name": "snowy_taiga_mountains", + "displayName": "Snowy Taiga Mountains", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 160, + "name": "giant_spruce_taiga", + "displayName": "Giant Spruce Taiga", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 161, + "name": "giant_spruce_taiga_hills", + "displayName": "Giant Spruce Taiga Hills", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 162, + "name": "modified_gravelly_mountains", + "displayName": "Gravelly Mountains+", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 163, + "name": "shattered_savanna", + "displayName": "Shattered Savanna", + "rainfall": 0, + "temperature": 1.1 + }, + { + "id": 164, + "name": "shattered_savanna_plateau", + "displayName": "Shattered Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 165, + "name": "eroded_badlands", + "displayName": "Eroded Badlands", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 166, + "name": "modified_wooded_badlands_plateau", + "displayName": "Modified Wooded Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 167, + "name": "modified_badlands_plateau", + "displayName": "Modified Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 168, + "name": "bamboo_jungle", + "displayName": "Bamboo Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 169, + "name": "bamboo_jungle_hills", + "displayName": "Bamboo Jungle Hills", + "rainfall": 0.9, + "temperature": 0.95 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/blockCollisionShapes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/blockCollisionShapes.json new file mode 100644 index 00000000..fc6da168 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/blockCollisionShapes.json @@ -0,0 +1,950 @@ +{"blocks":{"air":0, +"stone":1, +"granite":1, +"polished_granite":1, +"diorite":1, +"polished_diorite":1, +"andesite":1, +"polished_andesite":1, +"grass_block":1, +"dirt":1, +"coarse_dirt":1, +"podzol":1, +"cobblestone":1, +"oak_planks":1, +"spruce_planks":1, +"birch_planks":1, +"jungle_planks":1, +"acacia_planks":1, +"dark_oak_planks":1, +"oak_sapling":0, +"spruce_sapling":0, +"birch_sapling":0, +"jungle_sapling":0, +"acacia_sapling":0, +"dark_oak_sapling":0, +"bedrock":1, +"water":0, +"lava":0, +"sand":1, +"red_sand":1, +"gravel":1, +"gold_ore":1, +"iron_ore":1, +"coal_ore":1, +"oak_log":1, +"spruce_log":1, +"birch_log":1, +"jungle_log":1, +"acacia_log":1, +"dark_oak_log":1, +"stripped_spruce_log":1, +"stripped_birch_log":1, +"stripped_jungle_log":1, +"stripped_acacia_log":1, +"stripped_dark_oak_log":1, +"stripped_oak_log":1, +"oak_wood":1, +"spruce_wood":1, +"birch_wood":1, +"jungle_wood":1, +"acacia_wood":1, +"dark_oak_wood":1, +"stripped_oak_wood":1, +"stripped_spruce_wood":1, +"stripped_birch_wood":1, +"stripped_jungle_wood":1, +"stripped_acacia_wood":1, +"stripped_dark_oak_wood":1, +"oak_leaves":1, +"spruce_leaves":1, +"birch_leaves":1, +"jungle_leaves":1, +"acacia_leaves":1, +"dark_oak_leaves":1, +"sponge":1, +"wet_sponge":1, +"glass":1, +"lapis_ore":1, +"lapis_block":1, +"dispenser":1, +"sandstone":1, +"chiseled_sandstone":1, +"cut_sandstone":1, +"note_block":1, +"white_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"orange_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"magenta_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"light_blue_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"yellow_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"lime_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"pink_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"gray_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"light_gray_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"cyan_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"purple_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"blue_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"brown_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"green_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"red_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"black_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"powered_rail":0, +"detector_rail":0, +"sticky_piston":[6,7,8,9,10,11,1,1,1,1,1,1], +"cobweb":0, +"grass":0, +"fern":0, +"dead_bush":0, +"seagrass":0, +"tall_seagrass":0, +"piston":[6,7,8,9,10,11,1,1,1,1,1,1], +"piston_head":[13,13,12,12,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23], +"white_wool":1, +"orange_wool":1, +"magenta_wool":1, +"light_blue_wool":1, +"yellow_wool":1, +"lime_wool":1, +"pink_wool":1, +"gray_wool":1, +"light_gray_wool":1, +"cyan_wool":1, +"purple_wool":1, +"blue_wool":1, +"brown_wool":1, +"green_wool":1, +"red_wool":1, +"black_wool":1, +"moving_piston":0, +"dandelion":0, +"poppy":0, +"blue_orchid":0, +"allium":0, +"azure_bluet":0, +"red_tulip":0, +"orange_tulip":0, +"white_tulip":0, +"pink_tulip":0, +"oxeye_daisy":0, +"cornflower":0, +"wither_rose":0, +"lily_of_the_valley":0, +"brown_mushroom":0, +"red_mushroom":0, +"gold_block":1, +"iron_block":1, +"bricks":1, +"tnt":1, +"bookshelf":1, +"mossy_cobblestone":1, +"obsidian":1, +"torch":0, +"wall_torch":0, +"fire":0, +"spawner":1, +"oak_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"chest":[48,48,49,49,50,50,48,48,50,50,49,49,48,48,51,51,52,52,48,48,52,52,51,51], +"redstone_wire":0, +"diamond_ore":1, +"diamond_block":1, +"crafting_table":1, +"wheat":0, +"farmland":53, +"furnace":1, +"oak_sign":0, +"spruce_sign":0, +"birch_sign":0, +"acacia_sign":0, +"jungle_sign":0, +"dark_oak_sign":0, +"oak_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"ladder":[54,54,57,57,56,56,55,55], +"rail":0, +"cobblestone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"oak_wall_sign":0, +"spruce_wall_sign":0, +"birch_wall_sign":0, +"acacia_wall_sign":0, +"jungle_wall_sign":0, +"dark_oak_wall_sign":0, +"lever":0, +"stone_pressure_plate":0, +"iron_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"oak_pressure_plate":0, +"spruce_pressure_plate":0, +"birch_pressure_plate":0, +"jungle_pressure_plate":0, +"acacia_pressure_plate":0, +"dark_oak_pressure_plate":0, +"redstone_ore":1, +"redstone_torch":0, +"redstone_wall_torch":0, +"stone_button":0, +"snow":[0,58,59,60,61,62,10,63], +"ice":1, +"snow_block":1, +"cactus":64, +"clay":1, +"sugar_cane":0, +"jukebox":1, +"oak_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"pumpkin":1, +"netherrack":1, +"soul_sand":63, +"glowstone":1, +"nether_portal":0, +"carved_pumpkin":1, +"jack_o_lantern":1, +"cake":[81,82,83,84,85,86,87], +"repeater":58, +"white_stained_glass":1, +"orange_stained_glass":1, +"magenta_stained_glass":1, +"light_blue_stained_glass":1, +"yellow_stained_glass":1, +"lime_stained_glass":1, +"pink_stained_glass":1, +"gray_stained_glass":1, +"light_gray_stained_glass":1, +"cyan_stained_glass":1, +"purple_stained_glass":1, +"blue_stained_glass":1, +"brown_stained_glass":1, +"green_stained_glass":1, +"red_stained_glass":1, +"black_stained_glass":1, +"oak_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"spruce_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"birch_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"jungle_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"acacia_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"dark_oak_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"stone_bricks":1, +"mossy_stone_bricks":1, +"cracked_stone_bricks":1, +"chiseled_stone_bricks":1, +"infested_stone":1, +"infested_cobblestone":1, +"infested_stone_bricks":1, +"infested_mossy_stone_bricks":1, +"infested_cracked_stone_bricks":1, +"infested_chiseled_stone_bricks":1, +"brown_mushroom_block":1, +"red_mushroom_block":1, +"mushroom_stem":1, +"iron_bars":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"melon":1, +"attached_pumpkin_stem":0, +"attached_melon_stem":0, +"pumpkin_stem":0, +"melon_stem":0, +"vine":0, +"oak_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"stone_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"mycelium":1, +"lily_pad":106, +"nether_bricks":1, +"nether_brick_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"nether_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"nether_wart":0, +"enchanting_table":10, +"brewing_stand":107, +"cauldron":108, +"end_portal":0, +"end_portal_frame":[110,110,110,110,109,109,109,109], +"end_stone":1, +"dragon_egg":111, +"redstone_lamp":1, +"cocoa":[112,113,114,115,116,117,118,119,120,121,122,123], +"sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"emerald_ore":1, +"ender_chest":48, +"tripwire_hook":0, +"tripwire":0, +"emerald_block":1, +"spruce_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"birch_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"jungle_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"command_block":1, +"beacon":1, +"cobblestone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"mossy_cobblestone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"flower_pot":156, +"potted_oak_sapling":156, +"potted_spruce_sapling":156, +"potted_birch_sapling":156, +"potted_jungle_sapling":156, +"potted_acacia_sapling":156, +"potted_dark_oak_sapling":156, +"potted_fern":156, +"potted_dandelion":156, +"potted_poppy":156, +"potted_blue_orchid":156, +"potted_allium":156, +"potted_azure_bluet":156, +"potted_red_tulip":156, +"potted_orange_tulip":156, +"potted_white_tulip":156, +"potted_pink_tulip":156, +"potted_oxeye_daisy":156, +"potted_cornflower":156, +"potted_lily_of_the_valley":156, +"potted_wither_rose":156, +"potted_red_mushroom":156, +"potted_brown_mushroom":156, +"potted_dead_bush":156, +"potted_cactus":156, +"carrots":0, +"potatoes":0, +"oak_button":0, +"spruce_button":0, +"birch_button":0, +"jungle_button":0, +"acacia_button":0, +"dark_oak_button":0, +"skeleton_skull":157, +"skeleton_wall_skull":[158,159,160,161], +"wither_skeleton_skull":157, +"wither_skeleton_wall_skull":[158,159,160,161], +"zombie_head":157, +"zombie_wall_head":[158,159,160,161], +"player_head":157, +"player_wall_head":[158,159,160,161], +"creeper_head":157, +"creeper_wall_head":[158,159,160,161], +"dragon_head":157, +"dragon_wall_head":[158,159,160,161], +"anvil":[162,162,163,163], +"chipped_anvil":[162,162,163,163], +"damaged_anvil":[162,162,163,163], +"trapped_chest":[48,48,49,49,50,50,48,48,50,50,49,49,48,48,51,51,52,52,48,48,52,52,51,51], +"light_weighted_pressure_plate":0, +"heavy_weighted_pressure_plate":0, +"comparator":58, +"daylight_detector":60, +"redstone_block":1, +"nether_quartz_ore":1, +"hopper":[164,165,166,167,168,164,165,166,167,168], +"quartz_block":1, +"chiseled_quartz_block":1, +"quartz_pillar":1, +"quartz_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"activator_rail":0, +"dropper":1, +"white_terracotta":1, +"orange_terracotta":1, +"magenta_terracotta":1, +"light_blue_terracotta":1, +"yellow_terracotta":1, +"lime_terracotta":1, +"pink_terracotta":1, +"gray_terracotta":1, +"light_gray_terracotta":1, +"cyan_terracotta":1, +"purple_terracotta":1, +"blue_terracotta":1, +"brown_terracotta":1, +"green_terracotta":1, +"red_terracotta":1, +"black_terracotta":1, +"white_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"orange_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"magenta_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"light_blue_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"yellow_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"lime_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"pink_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"gray_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"light_gray_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"cyan_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"purple_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"blue_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"brown_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"green_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"red_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"black_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"acacia_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"dark_oak_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"slime_block":1, +"barrier":1, +"iron_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"prismarine":1, +"prismarine_bricks":1, +"dark_prismarine":1, +"prismarine_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"prismarine_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"dark_prismarine_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"prismarine_slab":[169,169,61,61,1,1], +"prismarine_brick_slab":[169,169,61,61,1,1], +"dark_prismarine_slab":[169,169,61,61,1,1], +"sea_lantern":1, +"hay_block":1, +"white_carpet":170, +"orange_carpet":170, +"magenta_carpet":170, +"light_blue_carpet":170, +"yellow_carpet":170, +"lime_carpet":170, +"pink_carpet":170, +"gray_carpet":170, +"light_gray_carpet":170, +"cyan_carpet":170, +"purple_carpet":170, +"blue_carpet":170, +"brown_carpet":170, +"green_carpet":170, +"red_carpet":170, +"black_carpet":170, +"terracotta":1, +"coal_block":1, +"packed_ice":1, +"sunflower":0, +"lilac":0, +"rose_bush":0, +"peony":0, +"tall_grass":0, +"large_fern":0, +"white_banner":0, +"orange_banner":0, +"magenta_banner":0, +"light_blue_banner":0, +"yellow_banner":0, +"lime_banner":0, +"pink_banner":0, +"gray_banner":0, +"light_gray_banner":0, +"cyan_banner":0, +"purple_banner":0, +"blue_banner":0, +"brown_banner":0, +"green_banner":0, +"red_banner":0, +"black_banner":0, +"white_wall_banner":0, +"orange_wall_banner":0, +"magenta_wall_banner":0, +"light_blue_wall_banner":0, +"yellow_wall_banner":0, +"lime_wall_banner":0, +"pink_wall_banner":0, +"gray_wall_banner":0, +"light_gray_wall_banner":0, +"cyan_wall_banner":0, +"purple_wall_banner":0, +"blue_wall_banner":0, +"brown_wall_banner":0, +"green_wall_banner":0, +"red_wall_banner":0, +"black_wall_banner":0, +"red_sandstone":1, +"chiseled_red_sandstone":1, +"cut_red_sandstone":1, +"red_sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"oak_slab":[169,169,61,61,1,1], +"spruce_slab":[169,169,61,61,1,1], +"birch_slab":[169,169,61,61,1,1], +"jungle_slab":[169,169,61,61,1,1], +"acacia_slab":[169,169,61,61,1,1], +"dark_oak_slab":[169,169,61,61,1,1], +"stone_slab":[169,169,61,61,1,1], +"smooth_stone_slab":[169,169,61,61,1,1], +"sandstone_slab":[169,169,61,61,1,1], +"cut_sandstone_slab":[169,169,61,61,1,1], +"petrified_oak_slab":[169,169,61,61,1,1], +"cobblestone_slab":[169,169,61,61,1,1], +"brick_slab":[169,169,61,61,1,1], +"stone_brick_slab":[169,169,61,61,1,1], +"nether_brick_slab":[169,169,61,61,1,1], +"quartz_slab":[169,169,61,61,1,1], +"red_sandstone_slab":[169,169,61,61,1,1], +"cut_red_sandstone_slab":[169,169,61,61,1,1], +"purpur_slab":[169,169,61,61,1,1], +"smooth_stone":1, +"smooth_sandstone":1, +"smooth_quartz":1, +"smooth_red_sandstone":1, +"spruce_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"birch_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"jungle_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"acacia_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"dark_oak_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"spruce_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"birch_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"jungle_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"acacia_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"dark_oak_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"spruce_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"birch_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"jungle_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"acacia_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"dark_oak_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"end_rod":[172,173,172,173,171,171], +"chorus_plant":[175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,174], +"chorus_flower":1, +"purpur_block":1, +"purpur_pillar":1, +"purpur_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"end_stone_bricks":1, +"beetroots":0, +"grass_path":53, +"end_gateway":0, +"repeating_command_block":1, +"chain_command_block":1, +"frosted_ice":1, +"magma_block":1, +"nether_wart_block":1, +"red_nether_bricks":1, +"bone_block":1, +"structure_void":0, +"observer":1, +"shulker_box":1, +"white_shulker_box":1, +"orange_shulker_box":1, +"magenta_shulker_box":1, +"light_blue_shulker_box":1, +"yellow_shulker_box":1, +"lime_shulker_box":1, +"pink_shulker_box":1, +"gray_shulker_box":1, +"light_gray_shulker_box":1, +"cyan_shulker_box":1, +"purple_shulker_box":1, +"blue_shulker_box":1, +"brown_shulker_box":1, +"green_shulker_box":1, +"red_shulker_box":1, +"black_shulker_box":1, +"white_glazed_terracotta":1, +"orange_glazed_terracotta":1, +"magenta_glazed_terracotta":1, +"light_blue_glazed_terracotta":1, +"yellow_glazed_terracotta":1, +"lime_glazed_terracotta":1, +"pink_glazed_terracotta":1, +"gray_glazed_terracotta":1, +"light_gray_glazed_terracotta":1, +"cyan_glazed_terracotta":1, +"purple_glazed_terracotta":1, +"blue_glazed_terracotta":1, +"brown_glazed_terracotta":1, +"green_glazed_terracotta":1, +"red_glazed_terracotta":1, +"black_glazed_terracotta":1, +"white_concrete":1, +"orange_concrete":1, +"magenta_concrete":1, +"light_blue_concrete":1, +"yellow_concrete":1, +"lime_concrete":1, +"pink_concrete":1, +"gray_concrete":1, +"light_gray_concrete":1, +"cyan_concrete":1, +"purple_concrete":1, +"blue_concrete":1, +"brown_concrete":1, +"green_concrete":1, +"red_concrete":1, +"black_concrete":1, +"white_concrete_powder":1, +"orange_concrete_powder":1, +"magenta_concrete_powder":1, +"light_blue_concrete_powder":1, +"yellow_concrete_powder":1, +"lime_concrete_powder":1, +"pink_concrete_powder":1, +"gray_concrete_powder":1, +"light_gray_concrete_powder":1, +"cyan_concrete_powder":1, +"purple_concrete_powder":1, +"blue_concrete_powder":1, +"brown_concrete_powder":1, +"green_concrete_powder":1, +"red_concrete_powder":1, +"black_concrete_powder":1, +"kelp":0, +"kelp_plant":0, +"dried_kelp_block":1, +"turtle_egg":[238,238,238,239,239,239,239,239,239,239,239,239], +"dead_tube_coral_block":1, +"dead_brain_coral_block":1, +"dead_bubble_coral_block":1, +"dead_fire_coral_block":1, +"dead_horn_coral_block":1, +"tube_coral_block":1, +"brain_coral_block":1, +"bubble_coral_block":1, +"fire_coral_block":1, +"horn_coral_block":1, +"dead_tube_coral":0, +"dead_brain_coral":0, +"dead_bubble_coral":0, +"dead_fire_coral":0, +"dead_horn_coral":0, +"tube_coral":0, +"brain_coral":0, +"bubble_coral":0, +"fire_coral":0, +"horn_coral":0, +"dead_tube_coral_fan":0, +"dead_brain_coral_fan":0, +"dead_bubble_coral_fan":0, +"dead_fire_coral_fan":0, +"dead_horn_coral_fan":0, +"tube_coral_fan":0, +"brain_coral_fan":0, +"bubble_coral_fan":0, +"fire_coral_fan":0, +"horn_coral_fan":0, +"dead_tube_coral_wall_fan":0, +"dead_brain_coral_wall_fan":0, +"dead_bubble_coral_wall_fan":0, +"dead_fire_coral_wall_fan":0, +"dead_horn_coral_wall_fan":0, +"tube_coral_wall_fan":0, +"brain_coral_wall_fan":0, +"bubble_coral_wall_fan":0, +"fire_coral_wall_fan":0, +"horn_coral_wall_fan":0, +"sea_pickle":[240,240,241,241,242,242,243,243], +"blue_ice":1, +"conduit":244, +"bamboo_sapling":0, +"bamboo":245, +"potted_bamboo":156, +"void_air":0, +"cave_air":0, +"bubble_column":0, +"polished_granite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"smooth_red_sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"mossy_stone_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"polished_diorite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"mossy_cobblestone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"end_stone_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"stone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"smooth_sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"smooth_quartz_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"granite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"andesite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"red_nether_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"polished_andesite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"diorite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"polished_granite_slab":[169,169,61,61,1,1], +"smooth_red_sandstone_slab":[169,169,61,61,1,1], +"mossy_stone_brick_slab":[169,169,61,61,1,1], +"polished_diorite_slab":[169,169,61,61,1,1], +"mossy_cobblestone_slab":[169,169,61,61,1,1], +"end_stone_brick_slab":[169,169,61,61,1,1], +"smooth_sandstone_slab":[169,169,61,61,1,1], +"smooth_quartz_slab":[169,169,61,61,1,1], +"granite_slab":[169,169,61,61,1,1], +"andesite_slab":[169,169,61,61,1,1], +"red_nether_brick_slab":[169,169,61,61,1,1], +"polished_andesite_slab":[169,169,61,61,1,1], +"diorite_slab":[169,169,61,61,1,1], +"brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"prismarine_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"red_sandstone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"mossy_stone_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"granite_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"stone_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"nether_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"andesite_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"red_nether_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"sandstone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"end_stone_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"diorite_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"scaffolding":246, +"loom":1, +"barrel":1, +"smoker":1, +"blast_furnace":1, +"cartography_table":1, +"fletching_table":1, +"grindstone":[248,248,249,249,247,250,251,252,253,253,254,254], +"lectern":255, +"smithing_table":1, +"stonecutter":256, +"bell":[257,257,257,257,258,258,258,258,259,259,259,259,259,259,259,259,260,260,261,261,262,262,263,263,264,264,264,264,265,265,265,265], +"lantern":[267,266], +"campfire":268, +"sweet_berry_bush":0, +"structure_block":1, +"jigsaw":1, +"composter":269, +"bee_nest":1, +"beehive":1, +"honey_block":64, +"honeycomb_block":1}, +"shapes":{"0":[], +"1":[[0.0,0.0,0.0,1.0,1.0,1.0]], +"2":[[0.0,0.0,0.8125,0.1875,0.5625,1.0],[0.0,0.1875,0.0,1.0,0.5625,0.8125],[0.1875,0.1875,0.8125,1.0,0.5625,1.0],[0.8125,0.0,0.8125,1.0,0.1875,1.0]], +"3":[[0.0,0.0,0.0,0.1875,0.5625,0.1875],[0.0,0.1875,0.1875,1.0,0.5625,1.0],[0.1875,0.1875,0.0,1.0,0.5625,0.1875],[0.8125,0.0,0.0,1.0,0.1875,0.1875]], +"4":[[0.0,0.0,0.0,0.1875,0.5625,0.1875],[0.0,0.0,0.8125,0.1875,0.5625,1.0],[0.0,0.1875,0.1875,1.0,0.5625,0.8125],[0.1875,0.1875,0.0,1.0,0.5625,0.1875],[0.1875,0.1875,0.8125,1.0,0.5625,1.0]], +"5":[[0.0,0.1875,0.0,1.0,0.5625,1.0],[0.8125,0.0,0.0,1.0,0.1875,0.1875],[0.8125,0.0,0.8125,1.0,0.1875,1.0]], +"6":[[0.0,0.0,0.25,1.0,1.0,1.0]], +"7":[[0.0,0.0,0.0,0.75,1.0,1.0]], +"8":[[0.0,0.0,0.0,1.0,1.0,0.75]], +"9":[[0.25,0.0,0.0,1.0,1.0,1.0]], +"10":[[0.0,0.0,0.0,1.0,0.75,1.0]], +"11":[[0.0,0.25,0.0,1.0,1.0,1.0]], +"12":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]], +"13":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.0]], +"14":[[0.0,0.375,0.375,1.0,0.625,0.625],[0.75,0.0,0.0,1.0,0.375,1.0],[0.75,0.375,0.0,1.0,1.0,0.375],[0.75,0.375,0.625,1.0,1.0,1.0],[0.75,0.625,0.375,1.0,1.0,0.625]], +"15":[[-0.25,0.375,0.375,1.0,0.625,0.625],[0.75,0.0,0.0,1.0,0.375,1.0],[0.75,0.375,0.0,1.0,1.0,0.375],[0.75,0.375,0.625,1.0,1.0,1.0],[0.75,0.625,0.375,1.0,1.0,0.625]], +"16":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,0.0,0.625,0.625,0.75]], +"17":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]], +"18":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.0,0.625,0.625]], +"19":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]], +"20":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,0.0,0.375,0.625,0.75,0.625]], +"21":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]], +"22":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.0,0.625]], +"23":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]], +"24":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"25":[[0.0,0.0,0.0,1.0,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0]], +"26":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.0,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"27":[[0.0,0.0,0.0,1.0,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.0,0.5,1.0,0.5,1.0]], +"28":[[0.0,0.0,0.0,0.5,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"29":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,0.5]], +"30":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"31":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"32":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,0.5]], +"33":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"34":[[0.0,0.0,0.5,1.0,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"35":[[0.0,0.0,0.5,1.0,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.0,0.0,1.0,0.5,0.5]], +"36":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.0,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"37":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.5,1.0,0.5,1.0]], +"38":[[0.0,0.0,0.5,0.5,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"39":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]], +"40":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"41":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0],[0.5,0.5,0.5,1.0,1.0,1.0]], +"42":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.5,1.0,1.0,1.0]], +"43":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,0.5,1.0,1.0]], +"44":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"45":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]], +"46":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]], +"47":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"48":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]], +"49":[[0.0625,0.0,0.0625,1.0,0.875,0.9375]], +"50":[[0.0,0.0,0.0625,0.9375,0.875,0.9375]], +"51":[[0.0625,0.0,0.0,0.9375,0.875,0.9375]], +"52":[[0.0625,0.0,0.0625,0.9375,0.875,1.0]], +"53":[[0.0,0.0,0.0,1.0,0.9375,1.0]], +"54":[[0.0,0.0,0.8125,1.0,1.0,1.0]], +"55":[[0.0,0.0,0.0,0.1875,1.0,1.0]], +"56":[[0.8125,0.0,0.0,1.0,1.0,1.0]], +"57":[[0.0,0.0,0.0,1.0,1.0,0.1875]], +"58":[[0.0,0.0,0.0,1.0,0.125,1.0]], +"59":[[0.0,0.0,0.0,1.0,0.25,1.0]], +"60":[[0.0,0.0,0.0,1.0,0.375,1.0]], +"61":[[0.0,0.0,0.0,1.0,0.5,1.0]], +"62":[[0.0,0.0,0.0,1.0,0.625,1.0]], +"63":[[0.0,0.0,0.0,1.0,0.875,1.0]], +"64":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]], +"65":[[0.375,0.0,0.375,0.625,1.5,0.625]], +"66":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375],[0.375,0.0,0.625,0.625,1.5,1.0]], +"67":[[0.375,0.0,0.0,0.625,1.5,1.0],[0.625,0.0,0.375,1.0,1.5,0.625]], +"68":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375]], +"69":[[0.375,0.0,0.0,0.625,1.5,0.625],[0.625,0.0,0.375,1.0,1.5,0.625]], +"70":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.625,0.625,1.5,1.0]], +"71":[[0.375,0.0,0.375,0.625,1.5,1.0],[0.625,0.0,0.375,1.0,1.5,0.625]], +"72":[[0.0,0.0,0.375,1.0,1.5,0.625]], +"73":[[0.375,0.0,0.375,1.0,1.5,0.625]], +"74":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375],[0.375,0.0,0.625,0.625,1.5,1.0]], +"75":[[0.375,0.0,0.0,0.625,1.5,1.0]], +"76":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375]], +"77":[[0.375,0.0,0.0,0.625,1.5,0.625]], +"78":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.625,0.625,1.5,1.0]], +"79":[[0.375,0.0,0.375,0.625,1.5,1.0]], +"80":[[0.0,0.0,0.375,0.625,1.5,0.625]], +"81":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]], +"82":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]], +"83":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]], +"84":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]], +"85":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]], +"86":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]], +"87":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]], +"88":[[0.0,0.0,0.0,1.0,0.1875,1.0]], +"89":[[0.0,0.8125,0.0,1.0,1.0,1.0]], +"90":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]], +"91":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"92":[[0.4375,0.0,0.0,0.5625,1.0,1.0],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"93":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375]], +"94":[[0.4375,0.0,0.0,0.5625,1.0,0.5625],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"95":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"96":[[0.4375,0.0,0.4375,0.5625,1.0,1.0],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"97":[[0.0,0.0,0.4375,1.0,1.0,0.5625]], +"98":[[0.4375,0.0,0.4375,1.0,1.0,0.5625]], +"99":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"100":[[0.4375,0.0,0.0,0.5625,1.0,1.0]], +"101":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375]], +"102":[[0.4375,0.0,0.0,0.5625,1.0,0.5625]], +"103":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"104":[[0.4375,0.0,0.4375,0.5625,1.0,1.0]], +"105":[[0.0,0.0,0.4375,0.5625,1.0,0.5625]], +"106":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]], +"107":[[0.0625,0.0,0.0625,0.9375,0.125,0.9375],[0.4375,0.125,0.4375,0.5625,0.875,0.5625]], +"108":[[0.0,0.0,0.0,0.125,1.0,0.25],[0.0,0.0,0.75,0.125,1.0,1.0],[0.0,0.1875,0.25,1.0,0.25,0.75],[0.0,0.25,0.25,0.125,1.0,0.75],[0.125,0.0,0.0,0.25,1.0,0.125],[0.125,0.0,0.875,0.25,1.0,1.0],[0.125,0.1875,0.125,1.0,0.25,0.25],[0.125,0.1875,0.75,1.0,0.25,0.875],[0.25,0.1875,0.0,1.0,1.0,0.125],[0.25,0.1875,0.875,1.0,1.0,1.0],[0.75,0.0,0.0,1.0,0.1875,0.125],[0.75,0.0,0.875,1.0,0.1875,1.0],[0.875,0.0,0.125,1.0,0.1875,0.25],[0.875,0.0,0.75,1.0,0.1875,0.875],[0.875,0.25,0.125,1.0,1.0,0.875]], +"109":[[0.0,0.0,0.0,1.0,0.8125,1.0]], +"110":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.25,0.8125,0.25,0.75,1.0,0.75]], +"111":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]], +"112":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]], +"113":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]], +"114":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]], +"115":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]], +"116":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]], +"117":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]], +"118":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]], +"119":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]], +"120":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]], +"121":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]], +"122":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]], +"123":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]], +"124":[[0.25,0.0,0.25,0.75,1.5,0.75]], +"125":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"126":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"127":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"128":[[0.3125,0.0,0.0,0.6875,1.5,1.0],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"129":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"130":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"131":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125]], +"132":[[0.3125,0.0,0.0,0.6875,1.5,0.6875],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"133":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"134":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"135":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"136":[[0.3125,0.0,0.3125,0.6875,1.5,1.0],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"137":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75]], +"138":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"139":[[0.0,0.0,0.3125,1.0,1.5,0.6875]], +"140":[[0.3125,0.0,0.3125,1.0,1.5,0.6875]], +"141":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"142":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"143":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"144":[[0.3125,0.0,0.0,0.6875,1.5,1.0]], +"145":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"146":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"147":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125]], +"148":[[0.3125,0.0,0.0,0.6875,1.5,0.6875]], +"149":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"150":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"151":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"152":[[0.3125,0.0,0.3125,0.6875,1.5,1.0]], +"153":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75]], +"154":[[0.0,0.0,0.3125,0.6875,1.5,0.6875]], +"155":[[0.5,0.0,0.5,0.5,1.5,0.5]], +"156":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]], +"157":[[0.25,0.0,0.25,0.75,0.5,0.75]], +"158":[[0.25,0.25,0.5,0.75,0.75,1.0]], +"159":[[0.25,0.25,0.0,0.75,0.75,0.5]], +"160":[[0.5,0.25,0.25,1.0,0.75,0.75]], +"161":[[0.0,0.25,0.25,0.5,0.75,0.75]], +"162":[[0.125,0.0,0.125,0.875,0.25,0.875],[0.1875,0.625,0.0,0.8125,1.0,1.0],[0.25,0.25,0.1875,0.75,0.3125,0.8125],[0.375,0.3125,0.25,0.625,0.625,0.75]], +"163":[[0.0,0.625,0.1875,1.0,1.0,0.8125],[0.125,0.0,0.125,0.875,0.25,0.875],[0.1875,0.25,0.25,0.8125,0.3125,0.75],[0.25,0.3125,0.375,0.75,0.625,0.625]], +"164":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.0,0.375,0.625,0.25,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"165":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.25,0.0,0.625,0.5,0.25],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"166":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.25,0.75,0.625,0.5,1.0],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"167":[[0.0,0.25,0.375,0.75,0.5,0.625],[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.375],[0.25,0.25,0.625,0.75,0.625,0.75],[0.25,0.5,0.375,0.75,0.625,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"168":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.75,0.25,0.375,1.0,0.5,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"169":[[0.0,0.5,0.0,1.0,1.0,1.0]], +"170":[[0.0,0.0,0.0,1.0,0.0625,1.0]], +"171":[[0.375,0.0,0.375,0.625,1.0,0.625]], +"172":[[0.375,0.375,0.0,0.625,0.625,1.0]], +"173":[[0.0,0.375,0.375,1.0,0.625,0.625]], +"174":[[0.1875,0.1875,0.1875,0.8125,0.8125,0.8125]], +"175":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"176":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"177":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"178":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"179":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"180":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"181":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"182":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"183":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"184":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"185":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"186":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"187":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"188":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"189":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125]], +"190":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"191":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"192":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"193":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"194":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"195":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"196":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"197":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"198":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"199":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"200":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"201":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"202":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"203":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"204":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125]], +"205":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125]], +"206":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125]], +"207":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"208":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"209":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"210":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"211":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"212":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"213":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"214":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"215":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"216":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"217":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"218":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"219":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"220":[[0.1875,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"221":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125]], +"222":[[0.1875,0.1875,0.1875,1.0,0.8125,0.8125]], +"223":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"224":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"225":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"226":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0]], +"227":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"228":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"229":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"230":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125]], +"231":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"232":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"233":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"234":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0]], +"235":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"236":[[0.1875,0.1875,0.1875,0.8125,1.0,0.8125]], +"237":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125]], +"238":[[0.1875,0.0,0.1875,0.75,0.4375,0.75]], +"239":[[0.0625,0.0,0.0625,0.9375,0.4375,0.9375]], +"240":[[0.375,0.0,0.375,0.625,0.375,0.625]], +"241":[[0.1875,0.0,0.1875,0.8125,0.375,0.8125]], +"242":[[0.125,0.0,0.125,0.875,0.375,0.875]], +"243":[[0.125,0.0,0.125,0.875,0.4375,0.875]], +"244":[[0.3125,0.3125,0.3125,0.6875,0.6875,0.6875]], +"245":[[0.15625,0.0,0.15625,0.34375,1.0,0.34375]], +"246":[[0.0,0.0,0.0,0.125,1.0,0.125],[0.0,0.0,0.875,0.125,1.0,1.0],[0.0,0.875,0.125,1.0,1.0,0.875],[0.125,0.875,0.0,1.0,1.0,0.125],[0.125,0.875,0.875,1.0,1.0,1.0],[0.875,0.0,0.0,1.0,0.875,0.125],[0.875,0.0,0.875,1.0,0.875,1.0]], +"247":[[0.125,0.3125,0.1875,0.875,0.6875,0.5625],[0.125,0.375,0.5625,0.25,0.625,1.0],[0.25,0.125,0.0,0.75,0.3125,0.75],[0.25,0.3125,0.0,0.75,0.875,0.1875],[0.25,0.3125,0.5625,0.75,0.875,0.75],[0.25,0.6875,0.1875,0.75,0.875,0.5625],[0.75,0.375,0.5625,0.875,0.625,1.0]], +"248":[[0.125,0.0,0.375,0.25,0.8125,0.625],[0.125,0.4375,0.3125,0.875,0.8125,0.375],[0.125,0.4375,0.625,0.875,0.8125,0.6875],[0.25,0.25,0.125,0.75,0.4375,0.875],[0.25,0.4375,0.125,0.75,1.0,0.3125],[0.25,0.4375,0.375,0.875,0.8125,0.625],[0.25,0.4375,0.6875,0.75,1.0,0.875],[0.25,0.8125,0.3125,0.75,1.0,0.6875],[0.75,0.0,0.375,0.875,0.4375,0.625]], +"249":[[0.125,0.25,0.25,0.875,1.0,0.75],[0.3125,0.4375,0.125,0.6875,0.8125,0.25],[0.3125,0.4375,0.75,0.6875,0.8125,0.875],[0.375,0.0,0.125,0.625,0.4375,0.25],[0.375,0.0,0.75,0.625,0.4375,0.875]], +"250":[[0.125,0.3125,0.4375,0.875,0.6875,0.8125],[0.125,0.375,0.0,0.25,0.625,0.4375],[0.25,0.125,0.25,0.75,0.3125,1.0],[0.25,0.3125,0.25,0.75,0.875,0.4375],[0.25,0.3125,0.8125,0.75,0.875,1.0],[0.25,0.6875,0.4375,0.75,0.875,0.8125],[0.75,0.375,0.0,0.875,0.625,0.4375]], +"251":[[0.0,0.125,0.25,0.75,0.875,0.75],[0.1875,0.3125,0.125,0.5625,0.6875,0.25],[0.1875,0.3125,0.75,0.5625,0.6875,0.875],[0.5625,0.375,0.125,1.0,0.625,0.25],[0.5625,0.375,0.75,1.0,0.625,0.875]], +"252":[[0.0,0.375,0.125,0.8125,0.625,0.25],[0.0,0.375,0.75,0.8125,0.625,0.875],[0.25,0.125,0.25,1.0,0.875,0.75],[0.4375,0.3125,0.125,0.8125,0.375,0.25],[0.4375,0.3125,0.75,0.8125,0.375,0.875],[0.4375,0.625,0.125,0.8125,0.6875,0.25],[0.4375,0.625,0.75,0.8125,0.6875,0.875]], +"253":[[0.125,0.1875,0.3125,0.875,0.5625,0.6875],[0.125,0.5625,0.375,0.875,0.75,0.625],[0.125,0.75,0.375,0.25,1.0,0.625],[0.25,0.0,0.125,0.75,0.1875,0.875],[0.25,0.1875,0.125,0.75,0.75,0.3125],[0.25,0.1875,0.6875,0.75,0.75,0.875],[0.25,0.5625,0.3125,0.75,0.75,0.375],[0.25,0.5625,0.625,0.75,0.75,0.6875],[0.75,0.75,0.375,0.875,1.0,0.625]], +"254":[[0.125,0.0,0.25,0.875,0.75,0.75],[0.3125,0.1875,0.125,0.6875,0.5625,0.25],[0.3125,0.1875,0.75,0.6875,0.5625,0.875],[0.375,0.5625,0.125,0.625,1.0,0.25],[0.375,0.5625,0.75,0.625,1.0,0.875]], +"255":[[0.0,0.0,0.0,1.0,0.125,1.0],[0.25,0.125,0.25,0.75,0.875,0.75]], +"256":[[0.0,0.0,0.0,1.0,0.5625,1.0]], +"257":[[0.0,0.0,0.25,1.0,1.0,0.75]], +"258":[[0.25,0.0,0.0,0.75,1.0,1.0]], +"259":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.4375,0.5625,1.0,0.5625]], +"260":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.0,0.5625,0.9375,0.8125]], +"261":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.1875,0.5625,0.9375,1.0]], +"262":[[0.0,0.8125,0.4375,0.8125,0.9375,0.5625],[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875]], +"263":[[0.1875,0.8125,0.4375,1.0,0.9375,0.5625],[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875]], +"264":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.0,0.5625,0.9375,1.0]], +"265":[[0.0,0.8125,0.4375,1.0,0.9375,0.5625],[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875]], +"266":[[0.3125,0.0,0.3125,0.6875,0.4375,0.6875],[0.375,0.4375,0.375,0.625,0.5625,0.625]], +"267":[[0.3125,0.0625,0.3125,0.6875,0.5,0.6875],[0.375,0.5,0.375,0.625,0.625,0.625]], +"268":[[0.0,0.0,0.0,1.0,0.4375,1.0]], +"269":[[0.0,0.0,0.0,1.0,0.125,1.0],[0.0,0.125,0.0,0.125,1.0,1.0],[0.125,0.125,0.0,1.0,1.0,0.125],[0.125,0.125,0.875,1.0,1.0,1.0],[0.875,0.125,0.125,1.0,1.0,0.875]]}} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/blockLoot.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/blockLoot.json new file mode 100644 index 00000000..315ad49f --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/blockLoot.json @@ -0,0 +1,8928 @@ +[ + { + "block": "acacia_button", + "drops": [ + { + "item": "acacia_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_door", + "drops": [ + { + "item": "acacia_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_fence", + "drops": [ + { + "item": "acacia_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_fence_gate", + "drops": [ + { + "item": "acacia_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_leaves", + "drops": [ + { + "item": "acacia_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "acacia_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_log", + "drops": [ + { + "item": "acacia_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_planks", + "drops": [ + { + "item": "acacia_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_pressure_plate", + "drops": [ + { + "item": "acacia_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_sapling", + "drops": [ + { + "item": "acacia_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_sign", + "drops": [ + { + "item": "acacia_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_slab", + "drops": [ + { + "item": "acacia_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "acacia_stairs", + "drops": [ + { + "item": "acacia_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_trapdoor", + "drops": [ + { + "item": "acacia_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_wood", + "drops": [ + { + "item": "acacia_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "activator_rail", + "drops": [ + { + "item": "activator_rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "allium", + "drops": [ + { + "item": "allium", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "andesite", + "drops": [ + { + "item": "andesite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "andesite_slab", + "drops": [ + { + "item": "andesite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "andesite_stairs", + "drops": [ + { + "item": "andesite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "andesite_wall", + "drops": [ + { + "item": "andesite_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "anvil", + "drops": [ + { + "item": "anvil", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "attached_melon_stem", + "drops": [ + { + "item": "melon_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "attached_pumpkin_stem", + "drops": [ + { + "item": "pumpkin_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "azure_bluet", + "drops": [ + { + "item": "azure_bluet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bamboo", + "drops": [ + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bamboo_sapling", + "drops": [ + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "barrel", + "drops": [ + { + "item": "barrel", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "beacon", + "drops": [ + { + "item": "beacon", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bee_nest", + "drops": [ + { + "item": "bee_nest", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "beehive", + "drops": [ + { + "item": "beehive", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "beehive", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "beetroots", + "drops": [ + { + "item": "beetroot", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 3 + }, + { + "item": "beetroot_seeds", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "beetroot_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 3 + } + ] + }, + { + "block": "bell", + "drops": [ + { + "item": "bell", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_button", + "drops": [ + { + "item": "birch_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_door", + "drops": [ + { + "item": "birch_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_fence", + "drops": [ + { + "item": "birch_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_fence_gate", + "drops": [ + { + "item": "birch_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_leaves", + "drops": [ + { + "item": "birch_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "birch_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_log", + "drops": [ + { + "item": "birch_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_planks", + "drops": [ + { + "item": "birch_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_pressure_plate", + "drops": [ + { + "item": "birch_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_sapling", + "drops": [ + { + "item": "birch_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_sign", + "drops": [ + { + "item": "birch_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_slab", + "drops": [ + { + "item": "birch_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "birch_stairs", + "drops": [ + { + "item": "birch_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_trapdoor", + "drops": [ + { + "item": "birch_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_wood", + "drops": [ + { + "item": "birch_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_banner", + "drops": [ + { + "item": "black_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_bed", + "drops": [ + { + "item": "black_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_carpet", + "drops": [ + { + "item": "black_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_concrete", + "drops": [ + { + "item": "black_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_concrete_powder", + "drops": [ + { + "item": "black_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_glazed_terracotta", + "drops": [ + { + "item": "black_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_shulker_box", + "drops": [ + { + "item": "black_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_stained_glass", + "drops": [ + { + "item": "black_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "black_stained_glass_pane", + "drops": [ + { + "item": "black_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "black_terracotta", + "drops": [ + { + "item": "black_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_wool", + "drops": [ + { + "item": "black_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blast_furnace", + "drops": [ + { + "item": "blast_furnace", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_banner", + "drops": [ + { + "item": "blue_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_bed", + "drops": [ + { + "item": "blue_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_carpet", + "drops": [ + { + "item": "blue_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_concrete", + "drops": [ + { + "item": "blue_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_concrete_powder", + "drops": [ + { + "item": "blue_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_glazed_terracotta", + "drops": [ + { + "item": "blue_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_ice", + "drops": [ + { + "item": "blue_ice", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "blue_orchid", + "drops": [ + { + "item": "blue_orchid", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_shulker_box", + "drops": [ + { + "item": "blue_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_stained_glass", + "drops": [ + { + "item": "blue_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "blue_stained_glass_pane", + "drops": [ + { + "item": "blue_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "blue_terracotta", + "drops": [ + { + "item": "blue_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_wool", + "drops": [ + { + "item": "blue_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bone_block", + "drops": [ + { + "item": "bone_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bookshelf", + "drops": [ + { + "item": "bookshelf", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "book", + "dropChance": 0.5, + "stackSizeRange": [ + 3, + 3 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "brain_coral", + "drops": [ + { + "item": "brain_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brain_coral_block", + "drops": [ + { + "item": "brain_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_brain_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "brain_coral_fan", + "drops": [ + { + "item": "brain_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brewing_stand", + "drops": [ + { + "item": "brewing_stand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brick_slab", + "drops": [ + { + "item": "brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "brick_stairs", + "drops": [ + { + "item": "brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brick_wall", + "drops": [ + { + "item": "brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bricks", + "drops": [ + { + "item": "bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_banner", + "drops": [ + { + "item": "brown_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_bed", + "drops": [ + { + "item": "brown_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_carpet", + "drops": [ + { + "item": "brown_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_concrete", + "drops": [ + { + "item": "brown_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_concrete_powder", + "drops": [ + { + "item": "brown_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_glazed_terracotta", + "drops": [ + { + "item": "brown_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_mushroom", + "drops": [ + { + "item": "brown_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_mushroom_block", + "drops": [ + { + "item": "brown_mushroom_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "brown_mushroom", + "dropChance": 0.5, + "stackSizeRange": [ + 0, + null + ], + "noSilkTouch": true + } + ] + }, + { + "block": "brown_shulker_box", + "drops": [ + { + "item": "brown_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_stained_glass", + "drops": [ + { + "item": "brown_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brown_stained_glass_pane", + "drops": [ + { + "item": "brown_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brown_terracotta", + "drops": [ + { + "item": "brown_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_wool", + "drops": [ + { + "item": "brown_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bubble_coral", + "drops": [ + { + "item": "bubble_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "bubble_coral_block", + "drops": [ + { + "item": "bubble_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_bubble_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "bubble_coral_fan", + "drops": [ + { + "item": "bubble_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "cactus", + "drops": [ + { + "item": "cactus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cake", + "drops": [] + }, + { + "block": "campfire", + "drops": [ + { + "item": "campfire", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "charcoal", + "dropChance": 0.5, + "stackSizeRange": [ + 2, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "carrots", + "drops": [ + { + "item": "carrot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "carrot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 7 + } + ] + }, + { + "block": "cartography_table", + "drops": [ + { + "item": "cartography_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "carved_pumpkin", + "drops": [ + { + "item": "carved_pumpkin", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cauldron", + "drops": [ + { + "item": "cauldron", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chest", + "drops": [ + { + "item": "chest", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chipped_anvil", + "drops": [ + { + "item": "chipped_anvil", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_quartz_block", + "drops": [ + { + "item": "chiseled_quartz_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_red_sandstone", + "drops": [ + { + "item": "chiseled_red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_sandstone", + "drops": [ + { + "item": "chiseled_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_stone_bricks", + "drops": [ + { + "item": "chiseled_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chorus_flower", + "drops": [ + { + "item": "chorus_flower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chorus_plant", + "drops": [ + { + "item": "chorus_fruit", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "clay", + "drops": [ + { + "item": "clay", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "clay_ball", + "dropChance": 0.5, + "stackSizeRange": [ + 4, + 4 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "coal_block", + "drops": [ + { + "item": "coal_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "coal_ore", + "drops": [ + { + "item": "coal_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "coal", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "coarse_dirt", + "drops": [ + { + "item": "coarse_dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobblestone", + "drops": [ + { + "item": "cobblestone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobblestone_slab", + "drops": [ + { + "item": "cobblestone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "cobblestone_stairs", + "drops": [ + { + "item": "cobblestone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobblestone_wall", + "drops": [ + { + "item": "cobblestone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobweb", + "drops": [ + { + "item": "cobweb", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "string", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cocoa", + "drops": [ + { + "item": "cocoa_beans", + "dropChance": 1, + "stackSizeRange": [ + 3, + 3 + ] + } + ] + }, + { + "block": "comparator", + "drops": [ + { + "item": "comparator", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "composter", + "drops": [ + { + "item": "composter", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "conduit", + "drops": [ + { + "item": "conduit", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cornflower", + "drops": [ + { + "item": "cornflower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cracked_stone_bricks", + "drops": [ + { + "item": "cracked_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crafting_table", + "drops": [ + { + "item": "crafting_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "creeper_head", + "drops": [ + { + "item": "creeper_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cut_red_sandstone", + "drops": [ + { + "item": "cut_red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cut_red_sandstone_slab", + "drops": [ + { + "item": "cut_red_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "cut_sandstone", + "drops": [ + { + "item": "cut_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cut_sandstone_slab", + "drops": [ + { + "item": "cut_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "cyan_banner", + "drops": [ + { + "item": "cyan_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_bed", + "drops": [ + { + "item": "cyan_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_carpet", + "drops": [ + { + "item": "cyan_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_concrete", + "drops": [ + { + "item": "cyan_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_concrete_powder", + "drops": [ + { + "item": "cyan_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_glazed_terracotta", + "drops": [ + { + "item": "cyan_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_shulker_box", + "drops": [ + { + "item": "cyan_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_stained_glass", + "drops": [ + { + "item": "cyan_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "cyan_stained_glass_pane", + "drops": [ + { + "item": "cyan_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "cyan_terracotta", + "drops": [ + { + "item": "cyan_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_wool", + "drops": [ + { + "item": "cyan_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "damaged_anvil", + "drops": [ + { + "item": "damaged_anvil", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dandelion", + "drops": [ + { + "item": "dandelion", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_button", + "drops": [ + { + "item": "dark_oak_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_door", + "drops": [ + { + "item": "dark_oak_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_fence", + "drops": [ + { + "item": "dark_oak_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_fence_gate", + "drops": [ + { + "item": "dark_oak_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_leaves", + "drops": [ + { + "item": "dark_oak_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dark_oak_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "apple", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_log", + "drops": [ + { + "item": "dark_oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_planks", + "drops": [ + { + "item": "dark_oak_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_pressure_plate", + "drops": [ + { + "item": "dark_oak_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_sapling", + "drops": [ + { + "item": "dark_oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_sign", + "drops": [ + { + "item": "dark_oak_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_slab", + "drops": [ + { + "item": "dark_oak_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "dark_oak_stairs", + "drops": [ + { + "item": "dark_oak_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_trapdoor", + "drops": [ + { + "item": "dark_oak_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_wood", + "drops": [ + { + "item": "dark_oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_prismarine", + "drops": [ + { + "item": "dark_prismarine", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_prismarine_slab", + "drops": [ + { + "item": "dark_prismarine_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "dark_prismarine_stairs", + "drops": [ + { + "item": "dark_prismarine_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "daylight_detector", + "drops": [ + { + "item": "daylight_detector", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_brain_coral", + "drops": [ + { + "item": "dead_brain_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_brain_coral_block", + "drops": [ + { + "item": "dead_brain_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_brain_coral_fan", + "drops": [ + { + "item": "dead_brain_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_bubble_coral", + "drops": [ + { + "item": "dead_bubble_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_bubble_coral_block", + "drops": [ + { + "item": "dead_bubble_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_bubble_coral_fan", + "drops": [ + { + "item": "dead_bubble_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_bush", + "drops": [ + { + "item": "dead_bush", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_fire_coral", + "drops": [ + { + "item": "dead_fire_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_fire_coral_block", + "drops": [ + { + "item": "dead_fire_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_fire_coral_fan", + "drops": [ + { + "item": "dead_fire_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_horn_coral", + "drops": [ + { + "item": "dead_horn_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_horn_coral_block", + "drops": [ + { + "item": "dead_horn_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_horn_coral_fan", + "drops": [ + { + "item": "dead_horn_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_tube_coral", + "drops": [ + { + "item": "dead_tube_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_tube_coral_block", + "drops": [ + { + "item": "dead_tube_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_tube_coral_fan", + "drops": [ + { + "item": "dead_tube_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "detector_rail", + "drops": [ + { + "item": "detector_rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diamond_block", + "drops": [ + { + "item": "diamond_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diamond_ore", + "drops": [ + { + "item": "diamond_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "diamond", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "diorite", + "drops": [ + { + "item": "diorite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diorite_slab", + "drops": [ + { + "item": "diorite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "diorite_stairs", + "drops": [ + { + "item": "diorite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diorite_wall", + "drops": [ + { + "item": "diorite_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dirt", + "drops": [ + { + "item": "dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dispenser", + "drops": [ + { + "item": "dispenser", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dragon_egg", + "drops": [ + { + "item": "dragon_egg", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dragon_head", + "drops": [ + { + "item": "dragon_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dried_kelp_block", + "drops": [ + { + "item": "dried_kelp_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dropper", + "drops": [ + { + "item": "dropper", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "emerald_block", + "drops": [ + { + "item": "emerald_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "emerald_ore", + "drops": [ + { + "item": "emerald_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "emerald", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "enchanting_table", + "drops": [ + { + "item": "enchanting_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_rod", + "drops": [ + { + "item": "end_rod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone", + "drops": [ + { + "item": "end_stone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone_brick_slab", + "drops": [ + { + "item": "end_stone_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "end_stone_brick_stairs", + "drops": [ + { + "item": "end_stone_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone_brick_wall", + "drops": [ + { + "item": "end_stone_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone_bricks", + "drops": [ + { + "item": "end_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "ender_chest", + "drops": [ + { + "item": "ender_chest", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "obsidian", + "dropChance": 0.5, + "stackSizeRange": [ + 8, + 8 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "farmland", + "drops": [ + { + "item": "dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "fern", + "drops": [ + { + "item": "fern", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "fire_coral", + "drops": [ + { + "item": "fire_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "fire_coral_block", + "drops": [ + { + "item": "fire_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_fire_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "fire_coral_fan", + "drops": [ + { + "item": "fire_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "fletching_table", + "drops": [ + { + "item": "fletching_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "flower_pot", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "frosted_ice", + "drops": [] + }, + { + "block": "furnace", + "drops": [ + { + "item": "furnace", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "glass", + "drops": [ + { + "item": "glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "glass_pane", + "drops": [ + { + "item": "glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "glowstone", + "drops": [ + { + "item": "glowstone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "glowstone_dust", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "gold_block", + "drops": [ + { + "item": "gold_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gold_ore", + "drops": [ + { + "item": "gold_ore", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "granite", + "drops": [ + { + "item": "granite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "granite_slab", + "drops": [ + { + "item": "granite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "granite_stairs", + "drops": [ + { + "item": "granite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "granite_wall", + "drops": [ + { + "item": "granite_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "grass", + "drops": [ + { + "item": "grass", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "grass_block", + "drops": [ + { + "item": "grass_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dirt", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "grass_path", + "drops": [ + { + "item": "dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gravel", + "drops": [ + { + "item": "gravel", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "flint", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + }, + { + "item": "gravel", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "gray_banner", + "drops": [ + { + "item": "gray_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_bed", + "drops": [ + { + "item": "gray_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_carpet", + "drops": [ + { + "item": "gray_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_concrete", + "drops": [ + { + "item": "gray_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_concrete_powder", + "drops": [ + { + "item": "gray_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_glazed_terracotta", + "drops": [ + { + "item": "gray_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_shulker_box", + "drops": [ + { + "item": "gray_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_stained_glass", + "drops": [ + { + "item": "gray_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "gray_stained_glass_pane", + "drops": [ + { + "item": "gray_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "gray_terracotta", + "drops": [ + { + "item": "gray_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_wool", + "drops": [ + { + "item": "gray_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_banner", + "drops": [ + { + "item": "green_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_bed", + "drops": [ + { + "item": "green_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_carpet", + "drops": [ + { + "item": "green_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_concrete", + "drops": [ + { + "item": "green_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_concrete_powder", + "drops": [ + { + "item": "green_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_glazed_terracotta", + "drops": [ + { + "item": "green_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_shulker_box", + "drops": [ + { + "item": "green_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_stained_glass", + "drops": [ + { + "item": "green_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "green_stained_glass_pane", + "drops": [ + { + "item": "green_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "green_terracotta", + "drops": [ + { + "item": "green_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_wool", + "drops": [ + { + "item": "green_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "grindstone", + "drops": [ + { + "item": "grindstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "hay_block", + "drops": [ + { + "item": "hay_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "heavy_weighted_pressure_plate", + "drops": [ + { + "item": "heavy_weighted_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "honey_block", + "drops": [ + { + "item": "honey_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "honeycomb_block", + "drops": [ + { + "item": "honeycomb_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "hopper", + "drops": [ + { + "item": "hopper", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "horn_coral", + "drops": [ + { + "item": "horn_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "horn_coral_block", + "drops": [ + { + "item": "horn_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_horn_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "horn_coral_fan", + "drops": [ + { + "item": "horn_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "ice", + "drops": [ + { + "item": "ice", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_chiseled_stone_bricks", + "drops": [ + { + "item": "chiseled_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_cobblestone", + "drops": [ + { + "item": "cobblestone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_cracked_stone_bricks", + "drops": [ + { + "item": "cracked_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_mossy_stone_bricks", + "drops": [ + { + "item": "mossy_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_stone", + "drops": [ + { + "item": "stone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_stone_bricks", + "drops": [ + { + "item": "stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "iron_bars", + "drops": [ + { + "item": "iron_bars", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_block", + "drops": [ + { + "item": "iron_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_door", + "drops": [ + { + "item": "iron_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_ore", + "drops": [ + { + "item": "iron_ore", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_trapdoor", + "drops": [ + { + "item": "iron_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jack_o_lantern", + "drops": [ + { + "item": "jack_o_lantern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jukebox", + "drops": [ + { + "item": "jukebox", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_button", + "drops": [ + { + "item": "jungle_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_door", + "drops": [ + { + "item": "jungle_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_fence", + "drops": [ + { + "item": "jungle_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_fence_gate", + "drops": [ + { + "item": "jungle_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_leaves", + "drops": [ + { + "item": "jungle_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "jungle_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_log", + "drops": [ + { + "item": "jungle_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_planks", + "drops": [ + { + "item": "jungle_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_pressure_plate", + "drops": [ + { + "item": "jungle_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_sapling", + "drops": [ + { + "item": "jungle_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_sign", + "drops": [ + { + "item": "jungle_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_slab", + "drops": [ + { + "item": "jungle_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "jungle_stairs", + "drops": [ + { + "item": "jungle_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_trapdoor", + "drops": [ + { + "item": "jungle_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_wood", + "drops": [ + { + "item": "jungle_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "kelp", + "drops": [ + { + "item": "kelp", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "kelp_plant", + "drops": [ + { + "item": "kelp", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "ladder", + "drops": [ + { + "item": "ladder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lantern", + "drops": [ + { + "item": "lantern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lapis_block", + "drops": [ + { + "item": "lapis_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lapis_ore", + "drops": [ + { + "item": "lapis_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "lapis_lazuli", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "large_fern", + "drops": [ + { + "item": "fern", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lectern", + "drops": [ + { + "item": "lectern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lever", + "drops": [ + { + "item": "lever", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_banner", + "drops": [ + { + "item": "light_blue_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_bed", + "drops": [ + { + "item": "light_blue_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_carpet", + "drops": [ + { + "item": "light_blue_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_concrete", + "drops": [ + { + "item": "light_blue_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_concrete_powder", + "drops": [ + { + "item": "light_blue_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_glazed_terracotta", + "drops": [ + { + "item": "light_blue_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_shulker_box", + "drops": [ + { + "item": "light_blue_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_stained_glass", + "drops": [ + { + "item": "light_blue_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_blue_stained_glass_pane", + "drops": [ + { + "item": "light_blue_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_blue_terracotta", + "drops": [ + { + "item": "light_blue_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_wool", + "drops": [ + { + "item": "light_blue_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_banner", + "drops": [ + { + "item": "light_gray_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_bed", + "drops": [ + { + "item": "light_gray_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_carpet", + "drops": [ + { + "item": "light_gray_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_concrete", + "drops": [ + { + "item": "light_gray_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_concrete_powder", + "drops": [ + { + "item": "light_gray_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_glazed_terracotta", + "drops": [ + { + "item": "light_gray_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_shulker_box", + "drops": [ + { + "item": "light_gray_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_stained_glass", + "drops": [ + { + "item": "light_gray_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_gray_stained_glass_pane", + "drops": [ + { + "item": "light_gray_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_gray_terracotta", + "drops": [ + { + "item": "light_gray_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_wool", + "drops": [ + { + "item": "light_gray_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_weighted_pressure_plate", + "drops": [ + { + "item": "light_weighted_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lilac", + "drops": [ + { + "item": "lilac", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lily_of_the_valley", + "drops": [ + { + "item": "lily_of_the_valley", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lily_pad", + "drops": [ + { + "item": "lily_pad", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_banner", + "drops": [ + { + "item": "lime_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_bed", + "drops": [ + { + "item": "lime_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_carpet", + "drops": [ + { + "item": "lime_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_concrete", + "drops": [ + { + "item": "lime_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_concrete_powder", + "drops": [ + { + "item": "lime_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_glazed_terracotta", + "drops": [ + { + "item": "lime_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_shulker_box", + "drops": [ + { + "item": "lime_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_stained_glass", + "drops": [ + { + "item": "lime_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "lime_stained_glass_pane", + "drops": [ + { + "item": "lime_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "lime_terracotta", + "drops": [ + { + "item": "lime_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_wool", + "drops": [ + { + "item": "lime_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "loom", + "drops": [ + { + "item": "loom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_banner", + "drops": [ + { + "item": "magenta_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_bed", + "drops": [ + { + "item": "magenta_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_carpet", + "drops": [ + { + "item": "magenta_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_concrete", + "drops": [ + { + "item": "magenta_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_concrete_powder", + "drops": [ + { + "item": "magenta_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_glazed_terracotta", + "drops": [ + { + "item": "magenta_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_shulker_box", + "drops": [ + { + "item": "magenta_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_stained_glass", + "drops": [ + { + "item": "magenta_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "magenta_stained_glass_pane", + "drops": [ + { + "item": "magenta_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "magenta_terracotta", + "drops": [ + { + "item": "magenta_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_wool", + "drops": [ + { + "item": "magenta_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magma_block", + "drops": [ + { + "item": "magma_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "melon", + "drops": [ + { + "item": "melon", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "melon_slice", + "dropChance": 0.5, + "stackSizeRange": [ + null, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "melon_stem", + "drops": [ + { + "item": "melon_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_cobblestone", + "drops": [ + { + "item": "mossy_cobblestone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_cobblestone_slab", + "drops": [ + { + "item": "mossy_cobblestone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "mossy_cobblestone_stairs", + "drops": [ + { + "item": "mossy_cobblestone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_cobblestone_wall", + "drops": [ + { + "item": "mossy_cobblestone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_stone_brick_slab", + "drops": [ + { + "item": "mossy_stone_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "mossy_stone_brick_stairs", + "drops": [ + { + "item": "mossy_stone_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_stone_brick_wall", + "drops": [ + { + "item": "mossy_stone_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_stone_bricks", + "drops": [ + { + "item": "mossy_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mushroom_stem", + "drops": [ + { + "item": "mushroom_stem", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "mycelium", + "drops": [ + { + "item": "mycelium", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dirt", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "nether_brick_fence", + "drops": [ + { + "item": "nether_brick_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_brick_slab", + "drops": [ + { + "item": "nether_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "nether_brick_stairs", + "drops": [ + { + "item": "nether_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_brick_wall", + "drops": [ + { + "item": "nether_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_bricks", + "drops": [ + { + "item": "nether_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_quartz_ore", + "drops": [ + { + "item": "nether_quartz_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "quartz", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "nether_wart", + "drops": [ + { + "item": "nether_wart", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_wart_block", + "drops": [ + { + "item": "nether_wart_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "netherrack", + "drops": [ + { + "item": "netherrack", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "note_block", + "drops": [ + { + "item": "note_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_button", + "drops": [ + { + "item": "oak_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_door", + "drops": [ + { + "item": "oak_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_fence", + "drops": [ + { + "item": "oak_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_fence_gate", + "drops": [ + { + "item": "oak_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_leaves", + "drops": [ + { + "item": "oak_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "oak_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "apple", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_log", + "drops": [ + { + "item": "oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_planks", + "drops": [ + { + "item": "oak_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_pressure_plate", + "drops": [ + { + "item": "oak_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_sapling", + "drops": [ + { + "item": "oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_sign", + "drops": [ + { + "item": "oak_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_slab", + "drops": [ + { + "item": "oak_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "oak_stairs", + "drops": [ + { + "item": "oak_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_trapdoor", + "drops": [ + { + "item": "oak_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_wood", + "drops": [ + { + "item": "oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "observer", + "drops": [ + { + "item": "observer", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "obsidian", + "drops": [ + { + "item": "obsidian", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_banner", + "drops": [ + { + "item": "orange_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_bed", + "drops": [ + { + "item": "orange_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_carpet", + "drops": [ + { + "item": "orange_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_concrete", + "drops": [ + { + "item": "orange_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_concrete_powder", + "drops": [ + { + "item": "orange_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_glazed_terracotta", + "drops": [ + { + "item": "orange_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_shulker_box", + "drops": [ + { + "item": "orange_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_stained_glass", + "drops": [ + { + "item": "orange_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "orange_stained_glass_pane", + "drops": [ + { + "item": "orange_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "orange_terracotta", + "drops": [ + { + "item": "orange_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_tulip", + "drops": [ + { + "item": "orange_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_wool", + "drops": [ + { + "item": "orange_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oxeye_daisy", + "drops": [ + { + "item": "oxeye_daisy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "packed_ice", + "drops": [ + { + "item": "packed_ice", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "peony", + "drops": [ + { + "item": "peony", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "petrified_oak_slab", + "drops": [ + { + "item": "petrified_oak_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "pink_banner", + "drops": [ + { + "item": "pink_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_bed", + "drops": [ + { + "item": "pink_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_carpet", + "drops": [ + { + "item": "pink_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_concrete", + "drops": [ + { + "item": "pink_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_concrete_powder", + "drops": [ + { + "item": "pink_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_glazed_terracotta", + "drops": [ + { + "item": "pink_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_shulker_box", + "drops": [ + { + "item": "pink_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_stained_glass", + "drops": [ + { + "item": "pink_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "pink_stained_glass_pane", + "drops": [ + { + "item": "pink_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "pink_terracotta", + "drops": [ + { + "item": "pink_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_tulip", + "drops": [ + { + "item": "pink_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_wool", + "drops": [ + { + "item": "pink_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "piston", + "drops": [ + { + "item": "piston", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "player_head", + "drops": [ + { + "item": "player_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "podzol", + "drops": [ + { + "item": "podzol", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dirt", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "polished_andesite", + "drops": [ + { + "item": "polished_andesite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_andesite_slab", + "drops": [ + { + "item": "polished_andesite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_andesite_stairs", + "drops": [ + { + "item": "polished_andesite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_diorite", + "drops": [ + { + "item": "polished_diorite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_diorite_slab", + "drops": [ + { + "item": "polished_diorite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_diorite_stairs", + "drops": [ + { + "item": "polished_diorite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_granite", + "drops": [ + { + "item": "polished_granite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_granite_slab", + "drops": [ + { + "item": "polished_granite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_granite_stairs", + "drops": [ + { + "item": "polished_granite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "poppy", + "drops": [ + { + "item": "poppy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potatoes", + "drops": [ + { + "item": "potato", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "potato", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 7 + }, + { + "item": "poisonous_potato", + "dropChance": 0.02, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 7 + } + ] + }, + { + "block": "potted_acacia_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "acacia_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_allium", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "allium", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_azure_bluet", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "azure_bluet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_bamboo", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_birch_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "birch_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_blue_orchid", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "blue_orchid", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_brown_mushroom", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "brown_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_cactus", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cactus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_cornflower", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cornflower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_dandelion", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dandelion", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_dark_oak_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dark_oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_dead_bush", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dead_bush", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_fern", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "fern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_jungle_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "jungle_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_lily_of_the_valley", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "lily_of_the_valley", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_oak_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_orange_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "orange_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_oxeye_daisy", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "oxeye_daisy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_pink_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "pink_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_poppy", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "poppy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_red_mushroom", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "red_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_red_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "red_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_spruce_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spruce_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_white_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "white_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_wither_rose", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wither_rose", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "powered_rail", + "drops": [ + { + "item": "powered_rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine", + "drops": [ + { + "item": "prismarine", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_brick_slab", + "drops": [ + { + "item": "prismarine_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "prismarine_brick_stairs", + "drops": [ + { + "item": "prismarine_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_bricks", + "drops": [ + { + "item": "prismarine_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_slab", + "drops": [ + { + "item": "prismarine_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "prismarine_stairs", + "drops": [ + { + "item": "prismarine_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_wall", + "drops": [ + { + "item": "prismarine_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pumpkin", + "drops": [ + { + "item": "pumpkin", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pumpkin_stem", + "drops": [ + { + "item": "pumpkin_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_banner", + "drops": [ + { + "item": "purple_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_bed", + "drops": [ + { + "item": "purple_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_carpet", + "drops": [ + { + "item": "purple_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_concrete", + "drops": [ + { + "item": "purple_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_concrete_powder", + "drops": [ + { + "item": "purple_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_glazed_terracotta", + "drops": [ + { + "item": "purple_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_shulker_box", + "drops": [ + { + "item": "purple_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_stained_glass", + "drops": [ + { + "item": "purple_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "purple_stained_glass_pane", + "drops": [ + { + "item": "purple_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "purple_terracotta", + "drops": [ + { + "item": "purple_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_wool", + "drops": [ + { + "item": "purple_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purpur_block", + "drops": [ + { + "item": "purpur_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purpur_pillar", + "drops": [ + { + "item": "purpur_pillar", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purpur_slab", + "drops": [ + { + "item": "purpur_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "purpur_stairs", + "drops": [ + { + "item": "purpur_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "quartz_block", + "drops": [ + { + "item": "quartz_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "quartz_pillar", + "drops": [ + { + "item": "quartz_pillar", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "quartz_slab", + "drops": [ + { + "item": "quartz_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "quartz_stairs", + "drops": [ + { + "item": "quartz_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "rail", + "drops": [ + { + "item": "rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_banner", + "drops": [ + { + "item": "red_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_bed", + "drops": [ + { + "item": "red_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_carpet", + "drops": [ + { + "item": "red_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_concrete", + "drops": [ + { + "item": "red_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_concrete_powder", + "drops": [ + { + "item": "red_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_glazed_terracotta", + "drops": [ + { + "item": "red_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_mushroom", + "drops": [ + { + "item": "red_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_mushroom_block", + "drops": [ + { + "item": "red_mushroom_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "red_mushroom", + "dropChance": 0.5, + "stackSizeRange": [ + 0, + null + ], + "noSilkTouch": true + } + ] + }, + { + "block": "red_nether_brick_slab", + "drops": [ + { + "item": "red_nether_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "red_nether_brick_stairs", + "drops": [ + { + "item": "red_nether_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_nether_brick_wall", + "drops": [ + { + "item": "red_nether_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_nether_bricks", + "drops": [ + { + "item": "red_nether_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sand", + "drops": [ + { + "item": "red_sand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sandstone", + "drops": [ + { + "item": "red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sandstone_slab", + "drops": [ + { + "item": "red_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "red_sandstone_stairs", + "drops": [ + { + "item": "red_sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sandstone_wall", + "drops": [ + { + "item": "red_sandstone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_shulker_box", + "drops": [ + { + "item": "red_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_stained_glass", + "drops": [ + { + "item": "red_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "red_stained_glass_pane", + "drops": [ + { + "item": "red_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "red_terracotta", + "drops": [ + { + "item": "red_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_tulip", + "drops": [ + { + "item": "red_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_wool", + "drops": [ + { + "item": "red_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_block", + "drops": [ + { + "item": "redstone_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_lamp", + "drops": [ + { + "item": "redstone_lamp", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_ore", + "drops": [ + { + "item": "redstone_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "redstone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "redstone_torch", + "drops": [ + { + "item": "redstone_torch", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_wire", + "drops": [ + { + "item": "redstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "repeater", + "drops": [ + { + "item": "repeater", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "rose_bush", + "drops": [ + { + "item": "rose_bush", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sand", + "drops": [ + { + "item": "sand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sandstone", + "drops": [ + { + "item": "sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sandstone_slab", + "drops": [ + { + "item": "sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "sandstone_stairs", + "drops": [ + { + "item": "sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sandstone_wall", + "drops": [ + { + "item": "sandstone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "scaffolding", + "drops": [ + { + "item": "scaffolding", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sea_lantern", + "drops": [ + { + "item": "sea_lantern", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "prismarine_crystals", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "sea_pickle", + "drops": [ + { + "item": "sea_pickle", + "dropChance": 1, + "stackSizeRange": [ + 4, + 4 + ] + } + ] + }, + { + "block": "seagrass", + "drops": [ + { + "item": "seagrass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "shulker_box", + "drops": [ + { + "item": "shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "skeleton_skull", + "drops": [ + { + "item": "skeleton_skull", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "slime_block", + "drops": [ + { + "item": "slime_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smithing_table", + "drops": [ + { + "item": "smithing_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smoker", + "drops": [ + { + "item": "smoker", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_quartz", + "drops": [ + { + "item": "smooth_quartz", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_quartz_slab", + "drops": [ + { + "item": "smooth_quartz_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "smooth_quartz_stairs", + "drops": [ + { + "item": "smooth_quartz_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_red_sandstone", + "drops": [ + { + "item": "smooth_red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_red_sandstone_slab", + "drops": [ + { + "item": "smooth_red_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "smooth_red_sandstone_stairs", + "drops": [ + { + "item": "smooth_red_sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_sandstone", + "drops": [ + { + "item": "smooth_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_sandstone_slab", + "drops": [ + { + "item": "smooth_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "smooth_sandstone_stairs", + "drops": [ + { + "item": "smooth_sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_stone", + "drops": [ + { + "item": "smooth_stone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_stone_slab", + "drops": [ + { + "item": "smooth_stone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "snow", + "drops": [ + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 2, + 2 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 3, + 3 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 4, + 4 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 5, + 5 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 6, + 6 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 7, + 7 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 8, + 8 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 2, + 2 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 3, + 3 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 4, + 4 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 5, + 5 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 6, + 6 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 7, + 7 + ] + }, + { + "item": "snow_block", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "snow_block", + "drops": [ + { + "item": "snow_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "snowball", + "dropChance": 0.5, + "stackSizeRange": [ + 4, + 4 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "soul_sand", + "drops": [ + { + "item": "soul_sand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spawner", + "drops": [] + }, + { + "block": "sponge", + "drops": [ + { + "item": "sponge", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_button", + "drops": [ + { + "item": "spruce_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_door", + "drops": [ + { + "item": "spruce_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_fence", + "drops": [ + { + "item": "spruce_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_fence_gate", + "drops": [ + { + "item": "spruce_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_leaves", + "drops": [ + { + "item": "spruce_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spruce_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_log", + "drops": [ + { + "item": "spruce_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_planks", + "drops": [ + { + "item": "spruce_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_pressure_plate", + "drops": [ + { + "item": "spruce_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_sapling", + "drops": [ + { + "item": "spruce_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_sign", + "drops": [ + { + "item": "spruce_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_slab", + "drops": [ + { + "item": "spruce_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "spruce_stairs", + "drops": [ + { + "item": "spruce_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_trapdoor", + "drops": [ + { + "item": "spruce_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_wood", + "drops": [ + { + "item": "spruce_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sticky_piston", + "drops": [ + { + "item": "sticky_piston", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone", + "drops": [ + { + "item": "stone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "cobblestone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "stone_brick_slab", + "drops": [ + { + "item": "stone_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "stone_brick_stairs", + "drops": [ + { + "item": "stone_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_brick_wall", + "drops": [ + { + "item": "stone_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_bricks", + "drops": [ + { + "item": "stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_button", + "drops": [ + { + "item": "stone_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_pressure_plate", + "drops": [ + { + "item": "stone_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_slab", + "drops": [ + { + "item": "stone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "stone_stairs", + "drops": [ + { + "item": "stone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stonecutter", + "drops": [ + { + "item": "stonecutter", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_acacia_log", + "drops": [ + { + "item": "stripped_acacia_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_acacia_wood", + "drops": [ + { + "item": "stripped_acacia_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_birch_log", + "drops": [ + { + "item": "stripped_birch_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_birch_wood", + "drops": [ + { + "item": "stripped_birch_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_dark_oak_log", + "drops": [ + { + "item": "stripped_dark_oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_dark_oak_wood", + "drops": [ + { + "item": "stripped_dark_oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_jungle_log", + "drops": [ + { + "item": "stripped_jungle_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_jungle_wood", + "drops": [ + { + "item": "stripped_jungle_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_oak_log", + "drops": [ + { + "item": "stripped_oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_oak_wood", + "drops": [ + { + "item": "stripped_oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_spruce_log", + "drops": [ + { + "item": "stripped_spruce_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_spruce_wood", + "drops": [ + { + "item": "stripped_spruce_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sugar_cane", + "drops": [ + { + "item": "sugar_cane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sunflower", + "drops": [ + { + "item": "sunflower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sweet_berry_bush", + "drops": [ + { + "item": "sweet_berries", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 3 + }, + { + "item": "sweet_berries", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 2 + } + ] + }, + { + "block": "tall_grass", + "drops": [ + { + "item": "grass", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tall_seagrass", + "drops": [ + { + "item": "seagrass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "terracotta", + "drops": [ + { + "item": "terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tnt", + "drops": [ + { + "item": "tnt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "torch", + "drops": [ + { + "item": "torch", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "trapped_chest", + "drops": [ + { + "item": "trapped_chest", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tripwire", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tripwire_hook", + "drops": [ + { + "item": "tripwire_hook", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tube_coral", + "drops": [ + { + "item": "tube_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "tube_coral_block", + "drops": [ + { + "item": "tube_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_tube_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "tube_coral_fan", + "drops": [ + { + "item": "tube_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "turtle_egg", + "drops": [ + { + "item": "turtle_egg", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "vine", + "drops": [ + { + "item": "vine", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wet_sponge", + "drops": [ + { + "item": "wet_sponge", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wheat", + "drops": [ + { + "item": "wheat", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 7 + }, + { + "item": "wheat_seeds", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 7 + } + ] + }, + { + "block": "white_banner", + "drops": [ + { + "item": "white_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_bed", + "drops": [ + { + "item": "white_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_carpet", + "drops": [ + { + "item": "white_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_concrete", + "drops": [ + { + "item": "white_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_concrete_powder", + "drops": [ + { + "item": "white_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_glazed_terracotta", + "drops": [ + { + "item": "white_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_shulker_box", + "drops": [ + { + "item": "white_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_stained_glass", + "drops": [ + { + "item": "white_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "white_stained_glass_pane", + "drops": [ + { + "item": "white_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "white_terracotta", + "drops": [ + { + "item": "white_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_tulip", + "drops": [ + { + "item": "white_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_wool", + "drops": [ + { + "item": "white_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wither_rose", + "drops": [ + { + "item": "wither_rose", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wither_skeleton_skull", + "drops": [ + { + "item": "wither_skeleton_skull", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_banner", + "drops": [ + { + "item": "yellow_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_bed", + "drops": [ + { + "item": "yellow_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_carpet", + "drops": [ + { + "item": "yellow_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_concrete", + "drops": [ + { + "item": "yellow_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_concrete_powder", + "drops": [ + { + "item": "yellow_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_glazed_terracotta", + "drops": [ + { + "item": "yellow_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_shulker_box", + "drops": [ + { + "item": "yellow_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_stained_glass", + "drops": [ + { + "item": "yellow_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "yellow_stained_glass_pane", + "drops": [ + { + "item": "yellow_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "yellow_terracotta", + "drops": [ + { + "item": "yellow_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_wool", + "drops": [ + { + "item": "yellow_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "zombie_head", + "drops": [ + { + "item": "zombie_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/blocks.json new file mode 100644 index 00000000..8f819d22 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/blocks.json @@ -0,0 +1,22283 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "minStateId": 0, + "maxStateId": 0, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "minStateId": 1, + "maxStateId": 1, + "states": [], + "drops": [ + 1, + 12 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 1 + }, + { + "id": 2, + "displayName": "Granite", + "name": "granite", + "hardness": 1.5, + "minStateId": 2, + "maxStateId": 2, + "states": [], + "drops": [ + 2 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 2 + }, + { + "id": 3, + "displayName": "Polished Granite", + "name": "polished_granite", + "hardness": 1.5, + "minStateId": 3, + "maxStateId": 3, + "states": [], + "drops": [ + 3 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 3 + }, + { + "id": 4, + "displayName": "Diorite", + "name": "diorite", + "hardness": 1.5, + "minStateId": 4, + "maxStateId": 4, + "states": [], + "drops": [ + 4 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4 + }, + { + "id": 5, + "displayName": "Polished Diorite", + "name": "polished_diorite", + "hardness": 1.5, + "minStateId": 5, + "maxStateId": 5, + "states": [], + "drops": [ + 5 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5 + }, + { + "id": 6, + "displayName": "Andesite", + "name": "andesite", + "hardness": 1.5, + "minStateId": 6, + "maxStateId": 6, + "states": [], + "drops": [ + 6 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6 + }, + { + "id": 7, + "displayName": "Polished Andesite", + "name": "polished_andesite", + "hardness": 1.5, + "minStateId": 7, + "maxStateId": 7, + "states": [], + "drops": [ + 7 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7 + }, + { + "id": 8, + "displayName": "Grass Block", + "name": "grass_block", + "hardness": 0.6, + "minStateId": 8, + "maxStateId": 9, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 8, + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9 + }, + { + "id": 9, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "minStateId": 10, + "maxStateId": 10, + "states": [], + "drops": [ + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 10 + }, + { + "id": 10, + "displayName": "Coarse Dirt", + "name": "coarse_dirt", + "hardness": 0.5, + "minStateId": 11, + "maxStateId": 11, + "states": [], + "drops": [ + 10 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 11 + }, + { + "id": 11, + "displayName": "Podzol", + "name": "podzol", + "hardness": 0.5, + "minStateId": 12, + "maxStateId": 13, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 11, + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 13 + }, + { + "id": 12, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "minStateId": 14, + "maxStateId": 14, + "states": [], + "drops": [ + 12 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 14 + }, + { + "id": 13, + "displayName": "Oak Planks", + "name": "oak_planks", + "hardness": 2, + "minStateId": 15, + "maxStateId": 15, + "states": [], + "drops": [ + 13 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15 + }, + { + "id": 14, + "displayName": "Spruce Planks", + "name": "spruce_planks", + "hardness": 2, + "minStateId": 16, + "maxStateId": 16, + "states": [], + "drops": [ + 14 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 16 + }, + { + "id": 15, + "displayName": "Birch Planks", + "name": "birch_planks", + "hardness": 2, + "minStateId": 17, + "maxStateId": 17, + "states": [], + "drops": [ + 15 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 17 + }, + { + "id": 16, + "displayName": "Jungle Planks", + "name": "jungle_planks", + "hardness": 2, + "minStateId": 18, + "maxStateId": 18, + "states": [], + "drops": [ + 16 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 18 + }, + { + "id": 17, + "displayName": "Acacia Planks", + "name": "acacia_planks", + "hardness": 2, + "minStateId": 19, + "maxStateId": 19, + "states": [], + "drops": [ + 17 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 19 + }, + { + "id": 18, + "displayName": "Dark Oak Planks", + "name": "dark_oak_planks", + "hardness": 2, + "minStateId": 20, + "maxStateId": 20, + "states": [], + "drops": [ + 18 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 20 + }, + { + "id": 19, + "displayName": "Oak Sapling", + "name": "oak_sapling", + "hardness": 0, + "minStateId": 21, + "maxStateId": 22, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 19 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 21 + }, + { + "id": 20, + "displayName": "Spruce Sapling", + "name": "spruce_sapling", + "hardness": 0, + "minStateId": 23, + "maxStateId": 24, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 20 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 23 + }, + { + "id": 21, + "displayName": "Birch Sapling", + "name": "birch_sapling", + "hardness": 0, + "minStateId": 25, + "maxStateId": 26, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 21 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 25 + }, + { + "id": 22, + "displayName": "Jungle Sapling", + "name": "jungle_sapling", + "hardness": 0, + "minStateId": 27, + "maxStateId": 28, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 22 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 27 + }, + { + "id": 23, + "displayName": "Acacia Sapling", + "name": "acacia_sapling", + "hardness": 0, + "minStateId": 29, + "maxStateId": 30, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 23 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 29 + }, + { + "id": 24, + "displayName": "Dark Oak Sapling", + "name": "dark_oak_sapling", + "hardness": 0, + "minStateId": 31, + "maxStateId": 32, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 24 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 31 + }, + { + "id": 25, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "minStateId": 33, + "maxStateId": 33, + "states": [], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 33 + }, + { + "id": 26, + "displayName": "Water", + "name": "water", + "hardness": 100, + "minStateId": 34, + "maxStateId": 49, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 16 + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 2, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 34 + }, + { + "id": 27, + "displayName": "Lava", + "name": "lava", + "hardness": 100, + "minStateId": 50, + "maxStateId": 65, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 16 + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 50 + }, + { + "id": 28, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "minStateId": 66, + "maxStateId": 66, + "states": [], + "drops": [ + 26 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "material": "dirt", + "defaultState": 66 + }, + { + "id": 29, + "displayName": "Red Sand", + "name": "red_sand", + "hardness": 0.5, + "minStateId": 67, + "maxStateId": 67, + "states": [], + "drops": [ + 27 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "material": "dirt", + "defaultState": 67 + }, + { + "id": 30, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "minStateId": 68, + "maxStateId": 68, + "states": [], + "drops": [ + 28, + 583 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 68 + }, + { + "id": 31, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "minStateId": 69, + "maxStateId": 69, + "states": [], + "drops": [ + 29 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "543": true + }, + "defaultState": 69 + }, + { + "id": 32, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "minStateId": 70, + "maxStateId": 70, + "states": [], + "drops": [ + 30 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "539": true, + "543": true + }, + "defaultState": 70 + }, + { + "id": 33, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "minStateId": 71, + "maxStateId": 71, + "states": [], + "drops": [ + 31, + 527 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 71 + }, + { + "id": 34, + "displayName": "Oak Log", + "name": "oak_log", + "hardness": 2, + "minStateId": 72, + "maxStateId": 74, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 32 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 73 + }, + { + "id": 35, + "displayName": "Spruce Log", + "name": "spruce_log", + "hardness": 2, + "minStateId": 75, + "maxStateId": 77, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 33 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 76 + }, + { + "id": 36, + "displayName": "Birch Log", + "name": "birch_log", + "hardness": 2, + "minStateId": 78, + "maxStateId": 80, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 34 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 79 + }, + { + "id": 37, + "displayName": "Jungle Log", + "name": "jungle_log", + "hardness": 2, + "minStateId": 81, + "maxStateId": 83, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 35 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 82 + }, + { + "id": 38, + "displayName": "Acacia Log", + "name": "acacia_log", + "hardness": 2, + "minStateId": 84, + "maxStateId": 86, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 36 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 85 + }, + { + "id": 39, + "displayName": "Dark Oak Log", + "name": "dark_oak_log", + "hardness": 2, + "minStateId": 87, + "maxStateId": 89, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 37 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 88 + }, + { + "id": 40, + "displayName": "Stripped Spruce Log", + "name": "stripped_spruce_log", + "hardness": 2, + "minStateId": 90, + "maxStateId": 92, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 39 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 91 + }, + { + "id": 41, + "displayName": "Stripped Birch Log", + "name": "stripped_birch_log", + "hardness": 2, + "minStateId": 93, + "maxStateId": 95, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 40 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 94 + }, + { + "id": 42, + "displayName": "Stripped Jungle Log", + "name": "stripped_jungle_log", + "hardness": 2, + "minStateId": 96, + "maxStateId": 98, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 41 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 97 + }, + { + "id": 43, + "displayName": "Stripped Acacia Log", + "name": "stripped_acacia_log", + "hardness": 2, + "minStateId": 99, + "maxStateId": 101, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 42 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 100 + }, + { + "id": 44, + "displayName": "Stripped Dark Oak Log", + "name": "stripped_dark_oak_log", + "hardness": 2, + "minStateId": 102, + "maxStateId": 104, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 43 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 103 + }, + { + "id": 45, + "displayName": "Stripped Oak Log", + "name": "stripped_oak_log", + "hardness": 2, + "minStateId": 105, + "maxStateId": 107, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 38 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 106 + }, + { + "id": 46, + "displayName": "Oak Wood", + "name": "oak_wood", + "hardness": 2, + "minStateId": 108, + "maxStateId": 110, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 50 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 109 + }, + { + "id": 47, + "displayName": "Spruce Wood", + "name": "spruce_wood", + "hardness": 2, + "minStateId": 111, + "maxStateId": 113, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 51 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 112 + }, + { + "id": 48, + "displayName": "Birch Wood", + "name": "birch_wood", + "hardness": 2, + "minStateId": 114, + "maxStateId": 116, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 52 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 115 + }, + { + "id": 49, + "displayName": "Jungle Wood", + "name": "jungle_wood", + "hardness": 2, + "minStateId": 117, + "maxStateId": 119, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 53 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 118 + }, + { + "id": 50, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "hardness": 2, + "minStateId": 120, + "maxStateId": 122, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 54 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 121 + }, + { + "id": 51, + "displayName": "Dark Oak Wood", + "name": "dark_oak_wood", + "hardness": 2, + "minStateId": 123, + "maxStateId": 125, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 55 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 124 + }, + { + "id": 52, + "displayName": "Stripped Oak Wood", + "name": "stripped_oak_wood", + "hardness": 2, + "minStateId": 126, + "maxStateId": 128, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 44 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 127 + }, + { + "id": 53, + "displayName": "Stripped Spruce Wood", + "name": "stripped_spruce_wood", + "hardness": 2, + "minStateId": 129, + "maxStateId": 131, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 45 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 130 + }, + { + "id": 54, + "displayName": "Stripped Birch Wood", + "name": "stripped_birch_wood", + "hardness": 2, + "minStateId": 132, + "maxStateId": 134, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 46 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 133 + }, + { + "id": 55, + "displayName": "Stripped Jungle Wood", + "name": "stripped_jungle_wood", + "hardness": 2, + "minStateId": 135, + "maxStateId": 137, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 47 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 136 + }, + { + "id": 56, + "displayName": "Stripped Acacia Wood", + "name": "stripped_acacia_wood", + "hardness": 2, + "minStateId": 138, + "maxStateId": 140, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 48 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 139 + }, + { + "id": 57, + "displayName": "Stripped Dark Oak Wood", + "name": "stripped_dark_oak_wood", + "hardness": 2, + "minStateId": 141, + "maxStateId": 143, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 49 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 142 + }, + { + "id": 58, + "displayName": "Oak Leaves", + "name": "oak_leaves", + "hardness": 0.2, + "minStateId": 144, + "maxStateId": 157, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 672, + 56, + 19, + 545, + 524 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 157 + }, + { + "id": 59, + "displayName": "Spruce Leaves", + "name": "spruce_leaves", + "hardness": 0.2, + "minStateId": 158, + "maxStateId": 171, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 672, + 57, + 20, + 545 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 171 + }, + { + "id": 60, + "displayName": "Birch Leaves", + "name": "birch_leaves", + "hardness": 0.2, + "minStateId": 172, + "maxStateId": 185, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 672, + 58, + 21, + 545 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 185 + }, + { + "id": 61, + "displayName": "Jungle Leaves", + "name": "jungle_leaves", + "hardness": 0.2, + "minStateId": 186, + "maxStateId": 199, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 672, + 59, + 22, + 545 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 199 + }, + { + "id": 62, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "hardness": 0.2, + "minStateId": 200, + "maxStateId": 213, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 672, + 60, + 23, + 545 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 213 + }, + { + "id": 63, + "displayName": "Dark Oak Leaves", + "name": "dark_oak_leaves", + "hardness": 0.2, + "minStateId": 214, + "maxStateId": 227, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 672, + 61, + 24, + 545, + 524 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 227 + }, + { + "id": 64, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "minStateId": 228, + "maxStateId": 228, + "states": [], + "drops": [ + 62 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 228 + }, + { + "id": 65, + "displayName": "Wet Sponge", + "name": "wet_sponge", + "hardness": 0.6, + "minStateId": 229, + "maxStateId": 229, + "states": [], + "drops": [ + 63 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 229 + }, + { + "id": 66, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "minStateId": 230, + "maxStateId": 230, + "states": [], + "drops": [ + 64 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 230 + }, + { + "id": 67, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "hardness": 3, + "minStateId": 231, + "maxStateId": 231, + "states": [], + "drops": [ + 65, + 635 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "539": true, + "543": true + }, + "defaultState": 231 + }, + { + "id": 68, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "hardness": 3, + "minStateId": 232, + "maxStateId": 232, + "states": [], + "drops": [ + 66 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "539": true, + "543": true + }, + "defaultState": 232 + }, + { + "id": 69, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "minStateId": 233, + "maxStateId": 244, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "triggered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 67 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 234 + }, + { + "id": 70, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "minStateId": 245, + "maxStateId": 245, + "states": [], + "drops": [ + 68 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 245 + }, + { + "id": 71, + "displayName": "Chiseled Sandstone", + "name": "chiseled_sandstone", + "hardness": 0.8, + "minStateId": 246, + "maxStateId": 246, + "states": [], + "drops": [ + 69 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 246 + }, + { + "id": 72, + "displayName": "Cut Sandstone", + "name": "cut_sandstone", + "hardness": 0.8, + "minStateId": 247, + "maxStateId": 247, + "states": [], + "drops": [ + 70 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 247 + }, + { + "id": 73, + "displayName": "Note Block", + "name": "note_block", + "hardness": 0.8, + "minStateId": 248, + "maxStateId": 1047, + "states": [ + { + "name": "instrument", + "type": "enum", + "num_values": 16, + "values": [ + "harp", + "basedrum", + "snare", + "hat", + "bass", + "flute", + "bell", + "guitar", + "chime", + "xylophone", + "iron_xylophone", + "cow_bell", + "didgeridoo", + "bit", + "banjo", + "pling" + ] + }, + { + "name": "note", + "type": "int", + "num_values": 25 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 71 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 249 + }, + { + "id": 74, + "displayName": "White Bed", + "name": "white_bed", + "hardness": 0.2, + "minStateId": 1048, + "maxStateId": 1063, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 654 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1051 + }, + { + "id": 75, + "displayName": "Orange Bed", + "name": "orange_bed", + "hardness": 0.2, + "minStateId": 1064, + "maxStateId": 1079, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 655 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1067 + }, + { + "id": 76, + "displayName": "Magenta Bed", + "name": "magenta_bed", + "hardness": 0.2, + "minStateId": 1080, + "maxStateId": 1095, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 656 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1083 + }, + { + "id": 77, + "displayName": "Light Blue Bed", + "name": "light_blue_bed", + "hardness": 0.2, + "minStateId": 1096, + "maxStateId": 1111, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 657 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1099 + }, + { + "id": 78, + "displayName": "Yellow Bed", + "name": "yellow_bed", + "hardness": 0.2, + "minStateId": 1112, + "maxStateId": 1127, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 658 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1115 + }, + { + "id": 79, + "displayName": "Lime Bed", + "name": "lime_bed", + "hardness": 0.2, + "minStateId": 1128, + "maxStateId": 1143, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 659 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1131 + }, + { + "id": 80, + "displayName": "Pink Bed", + "name": "pink_bed", + "hardness": 0.2, + "minStateId": 1144, + "maxStateId": 1159, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 660 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1147 + }, + { + "id": 81, + "displayName": "Gray Bed", + "name": "gray_bed", + "hardness": 0.2, + "minStateId": 1160, + "maxStateId": 1175, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 661 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1163 + }, + { + "id": 82, + "displayName": "Light Gray Bed", + "name": "light_gray_bed", + "hardness": 0.2, + "minStateId": 1176, + "maxStateId": 1191, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 662 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1179 + }, + { + "id": 83, + "displayName": "Cyan Bed", + "name": "cyan_bed", + "hardness": 0.2, + "minStateId": 1192, + "maxStateId": 1207, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 663 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1195 + }, + { + "id": 84, + "displayName": "Purple Bed", + "name": "purple_bed", + "hardness": 0.2, + "minStateId": 1208, + "maxStateId": 1223, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 664 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1211 + }, + { + "id": 85, + "displayName": "Blue Bed", + "name": "blue_bed", + "hardness": 0.2, + "minStateId": 1224, + "maxStateId": 1239, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 665 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1227 + }, + { + "id": 86, + "displayName": "Brown Bed", + "name": "brown_bed", + "hardness": 0.2, + "minStateId": 1240, + "maxStateId": 1255, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 666 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1243 + }, + { + "id": 87, + "displayName": "Green Bed", + "name": "green_bed", + "hardness": 0.2, + "minStateId": 1256, + "maxStateId": 1271, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 667 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1259 + }, + { + "id": 88, + "displayName": "Red Bed", + "name": "red_bed", + "hardness": 0.2, + "minStateId": 1272, + "maxStateId": 1287, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 668 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1275 + }, + { + "id": 89, + "displayName": "Black Bed", + "name": "black_bed", + "hardness": 0.2, + "minStateId": 1288, + "maxStateId": 1303, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 669 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1291 + }, + { + "id": 90, + "displayName": "Powered Rail", + "name": "powered_rail", + "hardness": 0.7, + "minStateId": 1304, + "maxStateId": 1315, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 72 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 1310 + }, + { + "id": 91, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "minStateId": 1316, + "maxStateId": 1327, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 73 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 1322 + }, + { + "id": 92, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "hardness": 0.5, + "minStateId": 1328, + "maxStateId": 1339, + "states": [ + { + "name": "extended", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 74 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1334 + }, + { + "id": 93, + "displayName": "Cobweb", + "name": "cobweb", + "hardness": 4, + "minStateId": 1340, + "maxStateId": 1340, + "states": [], + "drops": [ + 672, + 75, + 552 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "web", + "harvestTools": { + "532": true, + "533": true, + "537": true, + "541": true, + "548": true, + "672": true + }, + "defaultState": 1340 + }, + { + "id": 94, + "displayName": "Grass", + "name": "grass", + "hardness": 0, + "minStateId": 1341, + "maxStateId": 1341, + "states": [], + "drops": [ + 672, + 76, + 560 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1341 + }, + { + "id": 95, + "displayName": "Fern", + "name": "fern", + "hardness": 0, + "minStateId": 1342, + "maxStateId": 1342, + "states": [], + "drops": [ + 672, + 77, + 560 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1342 + }, + { + "id": 96, + "displayName": "Dead Bush", + "name": "dead_bush", + "hardness": 0, + "minStateId": 1343, + "maxStateId": 1343, + "states": [], + "drops": [ + 672, + 78, + 545 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1343 + }, + { + "id": 97, + "displayName": "Seagrass", + "name": "seagrass", + "hardness": 0, + "minStateId": 1344, + "maxStateId": 1344, + "states": [], + "drops": [ + 79, + 672 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1344 + }, + { + "id": 98, + "displayName": "Tall Seagrass", + "name": "tall_seagrass", + "hardness": 0, + "minStateId": 1345, + "maxStateId": 1346, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 79, + 672 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1346 + }, + { + "id": 99, + "displayName": "Piston", + "name": "piston", + "hardness": 0.5, + "minStateId": 1347, + "maxStateId": 1358, + "states": [ + { + "name": "extended", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 81 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1353 + }, + { + "id": 100, + "displayName": "Piston Head", + "name": "piston_head", + "hardness": 0.5, + "minStateId": 1359, + "maxStateId": 1382, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "short", + "type": "bool", + "num_values": 2 + }, + { + "name": "type", + "type": "enum", + "num_values": 2, + "values": [ + "normal", + "sticky" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1361 + }, + { + "id": 101, + "displayName": "White Wool", + "name": "white_wool", + "hardness": 0.8, + "minStateId": 1383, + "maxStateId": 1383, + "states": [], + "drops": [ + 82 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1383 + }, + { + "id": 102, + "displayName": "Orange Wool", + "name": "orange_wool", + "hardness": 0.8, + "minStateId": 1384, + "maxStateId": 1384, + "states": [], + "drops": [ + 83 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1384 + }, + { + "id": 103, + "displayName": "Magenta Wool", + "name": "magenta_wool", + "hardness": 0.8, + "minStateId": 1385, + "maxStateId": 1385, + "states": [], + "drops": [ + 84 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1385 + }, + { + "id": 104, + "displayName": "Light Blue Wool", + "name": "light_blue_wool", + "hardness": 0.8, + "minStateId": 1386, + "maxStateId": 1386, + "states": [], + "drops": [ + 85 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1386 + }, + { + "id": 105, + "displayName": "Yellow Wool", + "name": "yellow_wool", + "hardness": 0.8, + "minStateId": 1387, + "maxStateId": 1387, + "states": [], + "drops": [ + 86 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1387 + }, + { + "id": 106, + "displayName": "Lime Wool", + "name": "lime_wool", + "hardness": 0.8, + "minStateId": 1388, + "maxStateId": 1388, + "states": [], + "drops": [ + 87 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1388 + }, + { + "id": 107, + "displayName": "Pink Wool", + "name": "pink_wool", + "hardness": 0.8, + "minStateId": 1389, + "maxStateId": 1389, + "states": [], + "drops": [ + 88 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1389 + }, + { + "id": 108, + "displayName": "Gray Wool", + "name": "gray_wool", + "hardness": 0.8, + "minStateId": 1390, + "maxStateId": 1390, + "states": [], + "drops": [ + 89 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1390 + }, + { + "id": 109, + "displayName": "Light Gray Wool", + "name": "light_gray_wool", + "hardness": 0.8, + "minStateId": 1391, + "maxStateId": 1391, + "states": [], + "drops": [ + 90 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1391 + }, + { + "id": 110, + "displayName": "Cyan Wool", + "name": "cyan_wool", + "hardness": 0.8, + "minStateId": 1392, + "maxStateId": 1392, + "states": [], + "drops": [ + 91 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1392 + }, + { + "id": 111, + "displayName": "Purple Wool", + "name": "purple_wool", + "hardness": 0.8, + "minStateId": 1393, + "maxStateId": 1393, + "states": [], + "drops": [ + 92 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1393 + }, + { + "id": 112, + "displayName": "Blue Wool", + "name": "blue_wool", + "hardness": 0.8, + "minStateId": 1394, + "maxStateId": 1394, + "states": [], + "drops": [ + 93 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1394 + }, + { + "id": 113, + "displayName": "Brown Wool", + "name": "brown_wool", + "hardness": 0.8, + "minStateId": 1395, + "maxStateId": 1395, + "states": [], + "drops": [ + 94 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1395 + }, + { + "id": 114, + "displayName": "Green Wool", + "name": "green_wool", + "hardness": 0.8, + "minStateId": 1396, + "maxStateId": 1396, + "states": [], + "drops": [ + 95 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1396 + }, + { + "id": 115, + "displayName": "Red Wool", + "name": "red_wool", + "hardness": 0.8, + "minStateId": 1397, + "maxStateId": 1397, + "states": [], + "drops": [ + 96 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1397 + }, + { + "id": 116, + "displayName": "Black Wool", + "name": "black_wool", + "hardness": 0.8, + "minStateId": 1398, + "maxStateId": 1398, + "states": [], + "drops": [ + 97 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1398 + }, + { + "id": 117, + "displayName": "Moving Piston", + "name": "moving_piston", + "hardness": null, + "minStateId": 1399, + "maxStateId": 1410, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 2, + "values": [ + "normal", + "sticky" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1399 + }, + { + "id": 118, + "displayName": "Dandelion", + "name": "dandelion", + "hardness": 0, + "minStateId": 1411, + "maxStateId": 1411, + "states": [], + "drops": [ + 98 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1411 + }, + { + "id": 119, + "displayName": "Poppy", + "name": "poppy", + "hardness": 0, + "minStateId": 1412, + "maxStateId": 1412, + "states": [], + "drops": [ + 99 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1412 + }, + { + "id": 120, + "displayName": "Blue Orchid", + "name": "blue_orchid", + "hardness": 0, + "minStateId": 1413, + "maxStateId": 1413, + "states": [], + "drops": [ + 100 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1413 + }, + { + "id": 121, + "displayName": "Allium", + "name": "allium", + "hardness": 0, + "minStateId": 1414, + "maxStateId": 1414, + "states": [], + "drops": [ + 101 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1414 + }, + { + "id": 122, + "displayName": "Azure Bluet", + "name": "azure_bluet", + "hardness": 0, + "minStateId": 1415, + "maxStateId": 1415, + "states": [], + "drops": [ + 102 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1415 + }, + { + "id": 123, + "displayName": "Red Tulip", + "name": "red_tulip", + "hardness": 0, + "minStateId": 1416, + "maxStateId": 1416, + "states": [], + "drops": [ + 103 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1416 + }, + { + "id": 124, + "displayName": "Orange Tulip", + "name": "orange_tulip", + "hardness": 0, + "minStateId": 1417, + "maxStateId": 1417, + "states": [], + "drops": [ + 104 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1417 + }, + { + "id": 125, + "displayName": "White Tulip", + "name": "white_tulip", + "hardness": 0, + "minStateId": 1418, + "maxStateId": 1418, + "states": [], + "drops": [ + 105 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1418 + }, + { + "id": 126, + "displayName": "Pink Tulip", + "name": "pink_tulip", + "hardness": 0, + "minStateId": 1419, + "maxStateId": 1419, + "states": [], + "drops": [ + 106 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1419 + }, + { + "id": 127, + "displayName": "Oxeye Daisy", + "name": "oxeye_daisy", + "hardness": 0, + "minStateId": 1420, + "maxStateId": 1420, + "states": [], + "drops": [ + 107 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1420 + }, + { + "id": 128, + "displayName": "Cornflower", + "name": "cornflower", + "hardness": 0, + "minStateId": 1421, + "maxStateId": 1421, + "states": [], + "drops": [ + 108 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1421 + }, + { + "id": 129, + "displayName": "Wither Rose", + "name": "wither_rose", + "hardness": 0, + "minStateId": 1422, + "maxStateId": 1422, + "states": [], + "drops": [ + 110 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1422 + }, + { + "id": 130, + "displayName": "Lily of the Valley", + "name": "lily_of_the_valley", + "hardness": 0, + "minStateId": 1423, + "maxStateId": 1423, + "states": [], + "drops": [ + 109 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1423 + }, + { + "id": 131, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "minStateId": 1424, + "maxStateId": 1424, + "states": [], + "drops": [ + 111 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 1, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1424 + }, + { + "id": 132, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "minStateId": 1425, + "maxStateId": 1425, + "states": [], + "drops": [ + 112 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 1, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1425 + }, + { + "id": 133, + "displayName": "Block of Gold", + "name": "gold_block", + "hardness": 3, + "minStateId": 1426, + "maxStateId": 1426, + "states": [], + "drops": [ + 113 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "543": true + }, + "defaultState": 1426 + }, + { + "id": 134, + "displayName": "Block of Iron", + "name": "iron_block", + "hardness": 5, + "minStateId": 1427, + "maxStateId": 1427, + "states": [], + "drops": [ + 114 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "539": true, + "543": true + }, + "defaultState": 1427 + }, + { + "id": 135, + "displayName": "Bricks", + "name": "bricks", + "hardness": 2, + "minStateId": 1428, + "maxStateId": 1428, + "states": [], + "drops": [ + 141 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 1428 + }, + { + "id": 136, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "minStateId": 1429, + "maxStateId": 1430, + "states": [ + { + "name": "unstable", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 142 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1430 + }, + { + "id": 137, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "minStateId": 1431, + "maxStateId": 1431, + "states": [], + "drops": [ + 143, + 616 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 1431 + }, + { + "id": 138, + "displayName": "Mossy Cobblestone", + "name": "mossy_cobblestone", + "hardness": 2, + "minStateId": 1432, + "maxStateId": 1432, + "states": [], + "drops": [ + 144 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 1432 + }, + { + "id": 139, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "minStateId": 1433, + "maxStateId": 1433, + "states": [], + "drops": [ + 145 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "543": true + }, + "defaultState": 1433 + }, + { + "id": 140, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "minStateId": 1434, + "maxStateId": 1434, + "states": [], + "drops": [ + 146 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 14, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1434 + }, + { + "id": 141, + "displayName": "Wall Torch", + "name": "wall_torch", + "hardness": 0, + "minStateId": 1435, + "maxStateId": 1438, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 14, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1435 + }, + { + "id": 142, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "minStateId": 1439, + "maxStateId": 1950, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 1470 + }, + { + "id": 143, + "displayName": "Spawner", + "name": "spawner", + "hardness": 5, + "minStateId": 1951, + "maxStateId": 1951, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 1951 + }, + { + "id": 144, + "displayName": "Oak Stairs", + "name": "oak_stairs", + "hardness": 2, + "minStateId": 1952, + "maxStateId": 2031, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 154 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 1963 + }, + { + "id": 145, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "minStateId": 2032, + "maxStateId": 2055, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "single", + "left", + "right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 155 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 2033 + }, + { + "id": 146, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "hardness": 0, + "minStateId": 2056, + "maxStateId": 3351, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "power", + "type": "int", + "num_values": 16 + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + } + ], + "drops": [ + 600 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3216 + }, + { + "id": 147, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "minStateId": 3352, + "maxStateId": 3352, + "states": [], + "drops": [ + 156, + 529 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "543": true + }, + "defaultState": 3352 + }, + { + "id": 148, + "displayName": "Block of Diamond", + "name": "diamond_block", + "hardness": 5, + "minStateId": 3353, + "maxStateId": 3353, + "states": [], + "drops": [ + 157 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "543": true + }, + "defaultState": 3353 + }, + { + "id": 149, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "minStateId": 3354, + "maxStateId": 3354, + "states": [], + "drops": [ + 158 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3354 + }, + { + "id": 150, + "displayName": "Wheat Crops", + "name": "wheat", + "hardness": 0, + "minStateId": 3355, + "maxStateId": 3362, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 561, + 560 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 3355 + }, + { + "id": 151, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "minStateId": 3363, + "maxStateId": 3370, + "states": [ + { + "name": "moisture", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 9 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3363 + }, + { + "id": 152, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "minStateId": 3371, + "maxStateId": 3378, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 160 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 13, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 3372 + }, + { + "id": 153, + "displayName": "Oak Sign", + "name": "oak_sign", + "hardness": 1, + "minStateId": 3379, + "maxStateId": 3410, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 589 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3380 + }, + { + "id": 154, + "displayName": "Spruce Sign", + "name": "spruce_sign", + "hardness": 1, + "minStateId": 3411, + "maxStateId": 3442, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 590 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3412 + }, + { + "id": 155, + "displayName": "Birch Sign", + "name": "birch_sign", + "hardness": 1, + "minStateId": 3443, + "maxStateId": 3474, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 591 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3444 + }, + { + "id": 156, + "displayName": "Acacia Sign", + "name": "acacia_sign", + "hardness": 1, + "minStateId": 3475, + "maxStateId": 3506, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 593 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3476 + }, + { + "id": 157, + "displayName": "Jungle Sign", + "name": "jungle_sign", + "hardness": 1, + "minStateId": 3507, + "maxStateId": 3538, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 592 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3508 + }, + { + "id": 158, + "displayName": "Dark Oak Sign", + "name": "dark_oak_sign", + "hardness": 1, + "minStateId": 3539, + "maxStateId": 3570, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 594 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3540 + }, + { + "id": 159, + "displayName": "Oak Door", + "name": "oak_door", + "hardness": 3, + "minStateId": 3571, + "maxStateId": 3634, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 507 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3582 + }, + { + "id": 160, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "minStateId": 3635, + "maxStateId": 3642, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 161 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3636 + }, + { + "id": 161, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "minStateId": 3643, + "maxStateId": 3652, + "states": [ + { + "name": "shape", + "type": "enum", + "num_values": 10, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south", + "south_east", + "south_west", + "north_west", + "north_east" + ] + } + ], + "drops": [ + 162 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 3643 + }, + { + "id": 162, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "hardness": 2, + "minStateId": 3653, + "maxStateId": 3732, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 163 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 3664 + }, + { + "id": 163, + "displayName": "Oak Wall Sign", + "name": "oak_wall_sign", + "hardness": 1, + "minStateId": 3733, + "maxStateId": 3740, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3734 + }, + { + "id": 164, + "displayName": "Spruce Wall Sign", + "name": "spruce_wall_sign", + "hardness": 1, + "minStateId": 3741, + "maxStateId": 3748, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3742 + }, + { + "id": 165, + "displayName": "Birch Wall Sign", + "name": "birch_wall_sign", + "hardness": 1, + "minStateId": 3749, + "maxStateId": 3756, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3750 + }, + { + "id": 166, + "displayName": "Acacia Wall Sign", + "name": "acacia_wall_sign", + "hardness": 1, + "minStateId": 3757, + "maxStateId": 3764, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3758 + }, + { + "id": 167, + "displayName": "Jungle Wall Sign", + "name": "jungle_wall_sign", + "hardness": 1, + "minStateId": 3765, + "maxStateId": 3772, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3766 + }, + { + "id": 168, + "displayName": "Dark Oak Wall Sign", + "name": "dark_oak_wall_sign", + "hardness": 1, + "minStateId": 3773, + "maxStateId": 3780, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3774 + }, + { + "id": 169, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "minStateId": 3781, + "maxStateId": 3804, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 164 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3790 + }, + { + "id": 170, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "minStateId": 3805, + "maxStateId": 3806, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 165 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 3806 + }, + { + "id": 171, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "minStateId": 3807, + "maxStateId": 3870, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 506 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 3818 + }, + { + "id": 172, + "displayName": "Oak Pressure Plate", + "name": "oak_pressure_plate", + "hardness": 0.5, + "minStateId": 3871, + "maxStateId": 3872, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 166 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3872 + }, + { + "id": 173, + "displayName": "Spruce Pressure Plate", + "name": "spruce_pressure_plate", + "hardness": 0.5, + "minStateId": 3873, + "maxStateId": 3874, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 167 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3874 + }, + { + "id": 174, + "displayName": "Birch Pressure Plate", + "name": "birch_pressure_plate", + "hardness": 0.5, + "minStateId": 3875, + "maxStateId": 3876, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 168 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3876 + }, + { + "id": 175, + "displayName": "Jungle Pressure Plate", + "name": "jungle_pressure_plate", + "hardness": 0.5, + "minStateId": 3877, + "maxStateId": 3878, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 169 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3878 + }, + { + "id": 176, + "displayName": "Acacia Pressure Plate", + "name": "acacia_pressure_plate", + "hardness": 0.5, + "minStateId": 3879, + "maxStateId": 3880, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 170 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3880 + }, + { + "id": 177, + "displayName": "Dark Oak Pressure Plate", + "name": "dark_oak_pressure_plate", + "hardness": 0.5, + "minStateId": 3881, + "maxStateId": 3882, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 171 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3882 + }, + { + "id": 178, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "minStateId": 3883, + "maxStateId": 3884, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 172, + 600 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 9, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "543": true + }, + "defaultState": 3884 + }, + { + "id": 179, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "hardness": 0, + "minStateId": 3885, + "maxStateId": 3886, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 173 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 7, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3885 + }, + { + "id": 180, + "displayName": "Redstone Wall Torch", + "name": "redstone_wall_torch", + "hardness": 0, + "minStateId": 3887, + "maxStateId": 3894, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 7, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3887 + }, + { + "id": 181, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "minStateId": 3895, + "maxStateId": 3918, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 174 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 3904 + }, + { + "id": 182, + "displayName": "Snow", + "name": "snow", + "hardness": 0.1, + "minStateId": 3919, + "maxStateId": 3926, + "states": [ + { + "name": "layers", + "type": "enum", + "num_values": 8, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8" + ] + } + ], + "drops": [ + 175, + 601, + 177 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "harvestTools": { + "520": true, + "534": true, + "538": true, + "542": true, + "549": true + }, + "defaultState": 3919 + }, + { + "id": 183, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "minStateId": 3927, + "maxStateId": 3927, + "states": [], + "drops": [ + 176 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 3927 + }, + { + "id": 184, + "displayName": "Snow Block", + "name": "snow_block", + "hardness": 0.2, + "minStateId": 3928, + "maxStateId": 3928, + "states": [], + "drops": [ + 177, + 601 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "harvestTools": { + "520": true, + "534": true, + "538": true, + "542": true, + "549": true + }, + "defaultState": 3928 + }, + { + "id": 185, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "minStateId": 3929, + "maxStateId": 3944, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 178 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3929 + }, + { + "id": 186, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "minStateId": 3945, + "maxStateId": 3945, + "states": [], + "drops": [ + 179, + 610 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3945 + }, + { + "id": 187, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "hardness": 0, + "minStateId": 3946, + "maxStateId": 3961, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 611 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 3946 + }, + { + "id": 188, + "displayName": "Jukebox", + "name": "jukebox", + "hardness": 2, + "minStateId": 3962, + "maxStateId": 3963, + "states": [ + { + "name": "has_record", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 180 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3963 + }, + { + "id": 189, + "displayName": "Oak Fence", + "name": "oak_fence", + "hardness": 2, + "minStateId": 3964, + "maxStateId": 3995, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 181 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3995 + }, + { + "id": 190, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "minStateId": 3996, + "maxStateId": 3996, + "states": [], + "drops": [ + 187 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3996 + }, + { + "id": 191, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "minStateId": 3997, + "maxStateId": 3997, + "states": [], + "drops": [ + 189 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 3997 + }, + { + "id": 192, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "minStateId": 3998, + "maxStateId": 3998, + "states": [], + "drops": [ + 190 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3998 + }, + { + "id": 193, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "minStateId": 3999, + "maxStateId": 3999, + "states": [], + "drops": [ + 191, + 624 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3999 + }, + { + "id": 194, + "displayName": "Nether Portal", + "name": "nether_portal", + "hardness": null, + "minStateId": 4000, + "maxStateId": 4001, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 2, + "values": [ + "x", + "z" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 11, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 4000 + }, + { + "id": 195, + "displayName": "Carved Pumpkin", + "name": "carved_pumpkin", + "hardness": 1, + "minStateId": 4002, + "maxStateId": 4005, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 188 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4002 + }, + { + "id": 196, + "displayName": "Jack o'Lantern", + "name": "jack_o_lantern", + "hardness": 1, + "minStateId": 4006, + "maxStateId": 4009, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 192 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4006 + }, + { + "id": 197, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "minStateId": 4010, + "maxStateId": 4016, + "states": [ + { + "name": "bites", + "type": "int", + "num_values": 7 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 4010 + }, + { + "id": 198, + "displayName": "Redstone Repeater", + "name": "repeater", + "hardness": 0, + "minStateId": 4017, + "maxStateId": 4080, + "states": [ + { + "name": "delay", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "locked", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 513 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4020 + }, + { + "id": 199, + "displayName": "White Stained Glass", + "name": "white_stained_glass", + "hardness": 0.3, + "minStateId": 4081, + "maxStateId": 4081, + "states": [], + "drops": [ + 329 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4081 + }, + { + "id": 200, + "displayName": "Orange Stained Glass", + "name": "orange_stained_glass", + "hardness": 0.3, + "minStateId": 4082, + "maxStateId": 4082, + "states": [], + "drops": [ + 330 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4082 + }, + { + "id": 201, + "displayName": "Magenta Stained Glass", + "name": "magenta_stained_glass", + "hardness": 0.3, + "minStateId": 4083, + "maxStateId": 4083, + "states": [], + "drops": [ + 331 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4083 + }, + { + "id": 202, + "displayName": "Light Blue Stained Glass", + "name": "light_blue_stained_glass", + "hardness": 0.3, + "minStateId": 4084, + "maxStateId": 4084, + "states": [], + "drops": [ + 332 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4084 + }, + { + "id": 203, + "displayName": "Yellow Stained Glass", + "name": "yellow_stained_glass", + "hardness": 0.3, + "minStateId": 4085, + "maxStateId": 4085, + "states": [], + "drops": [ + 333 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4085 + }, + { + "id": 204, + "displayName": "Lime Stained Glass", + "name": "lime_stained_glass", + "hardness": 0.3, + "minStateId": 4086, + "maxStateId": 4086, + "states": [], + "drops": [ + 334 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4086 + }, + { + "id": 205, + "displayName": "Pink Stained Glass", + "name": "pink_stained_glass", + "hardness": 0.3, + "minStateId": 4087, + "maxStateId": 4087, + "states": [], + "drops": [ + 335 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4087 + }, + { + "id": 206, + "displayName": "Gray Stained Glass", + "name": "gray_stained_glass", + "hardness": 0.3, + "minStateId": 4088, + "maxStateId": 4088, + "states": [], + "drops": [ + 336 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4088 + }, + { + "id": 207, + "displayName": "Light Gray Stained Glass", + "name": "light_gray_stained_glass", + "hardness": 0.3, + "minStateId": 4089, + "maxStateId": 4089, + "states": [], + "drops": [ + 337 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4089 + }, + { + "id": 208, + "displayName": "Cyan Stained Glass", + "name": "cyan_stained_glass", + "hardness": 0.3, + "minStateId": 4090, + "maxStateId": 4090, + "states": [], + "drops": [ + 338 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4090 + }, + { + "id": 209, + "displayName": "Purple Stained Glass", + "name": "purple_stained_glass", + "hardness": 0.3, + "minStateId": 4091, + "maxStateId": 4091, + "states": [], + "drops": [ + 339 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4091 + }, + { + "id": 210, + "displayName": "Blue Stained Glass", + "name": "blue_stained_glass", + "hardness": 0.3, + "minStateId": 4092, + "maxStateId": 4092, + "states": [], + "drops": [ + 340 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4092 + }, + { + "id": 211, + "displayName": "Brown Stained Glass", + "name": "brown_stained_glass", + "hardness": 0.3, + "minStateId": 4093, + "maxStateId": 4093, + "states": [], + "drops": [ + 341 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4093 + }, + { + "id": 212, + "displayName": "Green Stained Glass", + "name": "green_stained_glass", + "hardness": 0.3, + "minStateId": 4094, + "maxStateId": 4094, + "states": [], + "drops": [ + 342 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4094 + }, + { + "id": 213, + "displayName": "Red Stained Glass", + "name": "red_stained_glass", + "hardness": 0.3, + "minStateId": 4095, + "maxStateId": 4095, + "states": [], + "drops": [ + 343 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4095 + }, + { + "id": 214, + "displayName": "Black Stained Glass", + "name": "black_stained_glass", + "hardness": 0.3, + "minStateId": 4096, + "maxStateId": 4096, + "states": [], + "drops": [ + 344 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4096 + }, + { + "id": 215, + "displayName": "Oak Trapdoor", + "name": "oak_trapdoor", + "hardness": 3, + "minStateId": 4097, + "maxStateId": 4160, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 193 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4112 + }, + { + "id": 216, + "displayName": "Spruce Trapdoor", + "name": "spruce_trapdoor", + "hardness": 3, + "minStateId": 4161, + "maxStateId": 4224, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 194 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4176 + }, + { + "id": 217, + "displayName": "Birch Trapdoor", + "name": "birch_trapdoor", + "hardness": 3, + "minStateId": 4225, + "maxStateId": 4288, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 195 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4240 + }, + { + "id": 218, + "displayName": "Jungle Trapdoor", + "name": "jungle_trapdoor", + "hardness": 3, + "minStateId": 4289, + "maxStateId": 4352, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 196 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4304 + }, + { + "id": 219, + "displayName": "Acacia Trapdoor", + "name": "acacia_trapdoor", + "hardness": 3, + "minStateId": 4353, + "maxStateId": 4416, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 197 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4368 + }, + { + "id": 220, + "displayName": "Dark Oak Trapdoor", + "name": "dark_oak_trapdoor", + "hardness": 3, + "minStateId": 4417, + "maxStateId": 4480, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 198 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4432 + }, + { + "id": 221, + "displayName": "Stone Bricks", + "name": "stone_bricks", + "hardness": 1.5, + "minStateId": 4481, + "maxStateId": 4481, + "states": [], + "drops": [ + 205 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4481 + }, + { + "id": 222, + "displayName": "Mossy Stone Bricks", + "name": "mossy_stone_bricks", + "hardness": 1.5, + "minStateId": 4482, + "maxStateId": 4482, + "states": [], + "drops": [ + 206 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4482 + }, + { + "id": 223, + "displayName": "Cracked Stone Bricks", + "name": "cracked_stone_bricks", + "hardness": 1.5, + "minStateId": 4483, + "maxStateId": 4483, + "states": [], + "drops": [ + 207 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4483 + }, + { + "id": 224, + "displayName": "Chiseled Stone Bricks", + "name": "chiseled_stone_bricks", + "hardness": 1.5, + "minStateId": 4484, + "maxStateId": 4484, + "states": [], + "drops": [ + 208 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4484 + }, + { + "id": 225, + "displayName": "Infested Stone", + "name": "infested_stone", + "hardness": 0, + "minStateId": 4485, + "maxStateId": 4485, + "states": [], + "drops": [ + 1 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4485 + }, + { + "id": 226, + "displayName": "Infested Cobblestone", + "name": "infested_cobblestone", + "hardness": 0, + "minStateId": 4486, + "maxStateId": 4486, + "states": [], + "drops": [ + 12 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4486 + }, + { + "id": 227, + "displayName": "Infested Stone Bricks", + "name": "infested_stone_bricks", + "hardness": 0, + "minStateId": 4487, + "maxStateId": 4487, + "states": [], + "drops": [ + 205 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4487 + }, + { + "id": 228, + "displayName": "Infested Mossy Stone Bricks", + "name": "infested_mossy_stone_bricks", + "hardness": 0, + "minStateId": 4488, + "maxStateId": 4488, + "states": [], + "drops": [ + 206 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4488 + }, + { + "id": 229, + "displayName": "Infested Cracked Stone Bricks", + "name": "infested_cracked_stone_bricks", + "hardness": 0, + "minStateId": 4489, + "maxStateId": 4489, + "states": [], + "drops": [ + 207 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4489 + }, + { + "id": 230, + "displayName": "Infested Chiseled Stone Bricks", + "name": "infested_chiseled_stone_bricks", + "hardness": 0, + "minStateId": 4490, + "maxStateId": 4490, + "states": [], + "drops": [ + 208 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4490 + }, + { + "id": 231, + "displayName": "Brown Mushroom Block", + "name": "brown_mushroom_block", + "hardness": 0.2, + "minStateId": 4491, + "maxStateId": 4554, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 209, + 111 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4491 + }, + { + "id": 232, + "displayName": "Red Mushroom Block", + "name": "red_mushroom_block", + "hardness": 0.2, + "minStateId": 4555, + "maxStateId": 4618, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 210, + 112 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4555 + }, + { + "id": 233, + "displayName": "Mushroom Stem", + "name": "mushroom_stem", + "hardness": 0.2, + "minStateId": 4619, + "maxStateId": 4682, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 211 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4619 + }, + { + "id": 234, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "minStateId": 4683, + "maxStateId": 4714, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 212 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4714 + }, + { + "id": 235, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "minStateId": 4715, + "maxStateId": 4746, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 213 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4746 + }, + { + "id": 236, + "displayName": "Melon", + "name": "melon", + "hardness": 1, + "minStateId": 4747, + "maxStateId": 4747, + "states": [], + "drops": [ + 214, + 673 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4747 + }, + { + "id": 237, + "displayName": "Attached Pumpkin Stem", + "name": "attached_pumpkin_stem", + "hardness": 0, + "minStateId": 4748, + "maxStateId": 4751, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 675 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4748 + }, + { + "id": 238, + "displayName": "Attached Melon Stem", + "name": "attached_melon_stem", + "hardness": 0, + "minStateId": 4752, + "maxStateId": 4755, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 676 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4752 + }, + { + "id": 239, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "minStateId": 4756, + "maxStateId": 4763, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 675 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4756 + }, + { + "id": 240, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "minStateId": 4764, + "maxStateId": 4771, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 676 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4764 + }, + { + "id": 241, + "displayName": "Vines", + "name": "vine", + "hardness": 0.2, + "minStateId": 4772, + "maxStateId": 4803, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 215, + 672 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4803 + }, + { + "id": 242, + "displayName": "Oak Fence Gate", + "name": "oak_fence_gate", + "hardness": 2, + "minStateId": 4804, + "maxStateId": 4835, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 216 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4811 + }, + { + "id": 243, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 2, + "minStateId": 4836, + "maxStateId": 4915, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 222 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4847 + }, + { + "id": 244, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 1.5, + "minStateId": 4916, + "maxStateId": 4995, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 223 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4927 + }, + { + "id": 245, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "minStateId": 4996, + "maxStateId": 4997, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 224, + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 4997 + }, + { + "id": 246, + "displayName": "Lily Pad", + "name": "lily_pad", + "hardness": 0, + "minStateId": 4998, + "maxStateId": 4998, + "states": [], + "drops": [ + 225 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4998 + }, + { + "id": 247, + "displayName": "Nether Bricks", + "name": "nether_bricks", + "hardness": 2, + "minStateId": 4999, + "maxStateId": 4999, + "states": [], + "drops": [ + 226 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 4999 + }, + { + "id": 248, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "minStateId": 5000, + "maxStateId": 5031, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 227 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5031 + }, + { + "id": 249, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 2, + "minStateId": 5032, + "maxStateId": 5111, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 228 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5043 + }, + { + "id": 250, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "minStateId": 5112, + "maxStateId": 5115, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 686 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 5112 + }, + { + "id": 251, + "displayName": "Enchanting Table", + "name": "enchanting_table", + "hardness": 5, + "minStateId": 5116, + "maxStateId": 5116, + "states": [], + "drops": [ + 229 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5116 + }, + { + "id": 252, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "minStateId": 5117, + "maxStateId": 5124, + "states": [ + { + "name": "has_bottle_0", + "type": "bool", + "num_values": 2 + }, + { + "name": "has_bottle_1", + "type": "bool", + "num_values": 2 + }, + { + "name": "has_bottle_2", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 693 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 1, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5124 + }, + { + "id": 253, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "minStateId": 5125, + "maxStateId": 5128, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 694 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5125 + }, + { + "id": 254, + "displayName": "End Portal", + "name": "end_portal", + "hardness": null, + "minStateId": 5129, + "maxStateId": 5129, + "states": [], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 5129 + }, + { + "id": 255, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "hardness": null, + "minStateId": 5130, + "maxStateId": 5137, + "states": [ + { + "name": "eye", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 1, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5134 + }, + { + "id": 256, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "minStateId": 5138, + "maxStateId": 5138, + "states": [], + "drops": [ + 231 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5138 + }, + { + "id": 257, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "hardness": 3, + "minStateId": 5139, + "maxStateId": 5139, + "states": [], + "drops": [ + 233 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5139 + }, + { + "id": 258, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "hardness": 0.3, + "minStateId": 5140, + "maxStateId": 5141, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 234 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5141 + }, + { + "id": 259, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "minStateId": 5142, + "maxStateId": 5153, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 3 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 634 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 5142 + }, + { + "id": 260, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0.8, + "minStateId": 5154, + "maxStateId": 5233, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 235 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5165 + }, + { + "id": 261, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "minStateId": 5234, + "maxStateId": 5234, + "states": [], + "drops": [ + 236, + 760 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "543": true + }, + "defaultState": 5234 + }, + { + "id": 262, + "displayName": "Ender Chest", + "name": "ender_chest", + "hardness": 22.5, + "minStateId": 5235, + "maxStateId": 5242, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 237, + 145 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5236 + }, + { + "id": 263, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "minStateId": 5243, + "maxStateId": 5258, + "states": [ + { + "name": "attached", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 238 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 5252 + }, + { + "id": 264, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "minStateId": 5259, + "maxStateId": 5386, + "states": [ + { + "name": "attached", + "type": "bool", + "num_values": 2 + }, + { + "name": "disarmed", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 552 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 5386 + }, + { + "id": 265, + "displayName": "Block of Emerald", + "name": "emerald_block", + "hardness": 5, + "minStateId": 5387, + "maxStateId": 5387, + "states": [], + "drops": [ + 239 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "543": true + }, + "defaultState": 5387 + }, + { + "id": 266, + "displayName": "Spruce Stairs", + "name": "spruce_stairs", + "hardness": 2, + "minStateId": 5388, + "maxStateId": 5467, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 240 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5399 + }, + { + "id": 267, + "displayName": "Birch Stairs", + "name": "birch_stairs", + "hardness": 2, + "minStateId": 5468, + "maxStateId": 5547, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 241 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5479 + }, + { + "id": 268, + "displayName": "Jungle Stairs", + "name": "jungle_stairs", + "hardness": 2, + "minStateId": 5548, + "maxStateId": 5627, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 242 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5559 + }, + { + "id": 269, + "displayName": "Command Block", + "name": "command_block", + "hardness": null, + "minStateId": 5628, + "maxStateId": 5639, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5634 + }, + { + "id": 270, + "displayName": "Beacon", + "name": "beacon", + "hardness": 3, + "minStateId": 5640, + "maxStateId": 5640, + "states": [], + "drops": [ + 244 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5640 + }, + { + "id": 271, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 2, + "minStateId": 5641, + "maxStateId": 5704, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 245 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5700 + }, + { + "id": 272, + "displayName": "Mossy Cobblestone Wall", + "name": "mossy_cobblestone_wall", + "hardness": 2, + "minStateId": 5705, + "maxStateId": 5768, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 246 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 5764 + }, + { + "id": 273, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "minStateId": 5769, + "maxStateId": 5769, + "states": [], + "drops": [ + 762 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5769 + }, + { + "id": 274, + "displayName": "Potted Oak Sapling", + "name": "potted_oak_sapling", + "hardness": 0, + "minStateId": 5770, + "maxStateId": 5770, + "states": [], + "drops": [ + 762, + 19 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5770 + }, + { + "id": 275, + "displayName": "Potted Spruce Sapling", + "name": "potted_spruce_sapling", + "hardness": 0, + "minStateId": 5771, + "maxStateId": 5771, + "states": [], + "drops": [ + 762, + 20 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5771 + }, + { + "id": 276, + "displayName": "Potted Birch Sapling", + "name": "potted_birch_sapling", + "hardness": 0, + "minStateId": 5772, + "maxStateId": 5772, + "states": [], + "drops": [ + 762, + 21 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5772 + }, + { + "id": 277, + "displayName": "Potted Jungle Sapling", + "name": "potted_jungle_sapling", + "hardness": 0, + "minStateId": 5773, + "maxStateId": 5773, + "states": [], + "drops": [ + 762, + 22 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5773 + }, + { + "id": 278, + "displayName": "Potted Acacia Sapling", + "name": "potted_acacia_sapling", + "hardness": 0, + "minStateId": 5774, + "maxStateId": 5774, + "states": [], + "drops": [ + 762, + 23 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5774 + }, + { + "id": 279, + "displayName": "Potted Dark Oak Sapling", + "name": "potted_dark_oak_sapling", + "hardness": 0, + "minStateId": 5775, + "maxStateId": 5775, + "states": [], + "drops": [ + 762, + 24 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5775 + }, + { + "id": 280, + "displayName": "Potted Fern", + "name": "potted_fern", + "hardness": 0, + "minStateId": 5776, + "maxStateId": 5776, + "states": [], + "drops": [ + 762, + 77 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5776 + }, + { + "id": 281, + "displayName": "Potted Dandelion", + "name": "potted_dandelion", + "hardness": 0, + "minStateId": 5777, + "maxStateId": 5777, + "states": [], + "drops": [ + 762, + 98 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 5777 + }, + { + "id": 282, + "displayName": "Potted Poppy", + "name": "potted_poppy", + "hardness": 0, + "minStateId": 5778, + "maxStateId": 5778, + "states": [], + "drops": [ + 762, + 99 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5778 + }, + { + "id": 283, + "displayName": "Potted Blue Orchid", + "name": "potted_blue_orchid", + "hardness": 0, + "minStateId": 5779, + "maxStateId": 5779, + "states": [], + "drops": [ + 762, + 100 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5779 + }, + { + "id": 284, + "displayName": "Potted Allium", + "name": "potted_allium", + "hardness": 0, + "minStateId": 5780, + "maxStateId": 5780, + "states": [], + "drops": [ + 762, + 101 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5780 + }, + { + "id": 285, + "displayName": "Potted Azure Bluet", + "name": "potted_azure_bluet", + "hardness": 0, + "minStateId": 5781, + "maxStateId": 5781, + "states": [], + "drops": [ + 762, + 102 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5781 + }, + { + "id": 286, + "displayName": "Potted Red Tulip", + "name": "potted_red_tulip", + "hardness": 0, + "minStateId": 5782, + "maxStateId": 5782, + "states": [], + "drops": [ + 762, + 103 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5782 + }, + { + "id": 287, + "displayName": "Potted Orange Tulip", + "name": "potted_orange_tulip", + "hardness": 0, + "minStateId": 5783, + "maxStateId": 5783, + "states": [], + "drops": [ + 762, + 104 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5783 + }, + { + "id": 288, + "displayName": "Potted White Tulip", + "name": "potted_white_tulip", + "hardness": 0, + "minStateId": 5784, + "maxStateId": 5784, + "states": [], + "drops": [ + 762, + 105 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5784 + }, + { + "id": 289, + "displayName": "Potted Pink Tulip", + "name": "potted_pink_tulip", + "hardness": 0, + "minStateId": 5785, + "maxStateId": 5785, + "states": [], + "drops": [ + 762, + 106 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5785 + }, + { + "id": 290, + "displayName": "Potted Oxeye Daisy", + "name": "potted_oxeye_daisy", + "hardness": 0, + "minStateId": 5786, + "maxStateId": 5786, + "states": [], + "drops": [ + 762, + 107 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5786 + }, + { + "id": 291, + "displayName": "Potted Cornflower", + "name": "potted_cornflower", + "hardness": 0, + "minStateId": 5787, + "maxStateId": 5787, + "states": [], + "drops": [ + 762, + 108 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5787 + }, + { + "id": 292, + "displayName": "Potted Lily of the Valley", + "name": "potted_lily_of_the_valley", + "hardness": 0, + "minStateId": 5788, + "maxStateId": 5788, + "states": [], + "drops": [ + 762, + 109 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5788 + }, + { + "id": 293, + "displayName": "Potted Wither Rose", + "name": "potted_wither_rose", + "hardness": 0, + "minStateId": 5789, + "maxStateId": 5789, + "states": [], + "drops": [ + 762, + 110 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5789 + }, + { + "id": 294, + "displayName": "Potted Red Mushroom", + "name": "potted_red_mushroom", + "hardness": 0, + "minStateId": 5790, + "maxStateId": 5790, + "states": [], + "drops": [ + 762, + 112 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5790 + }, + { + "id": 295, + "displayName": "Potted Brown Mushroom", + "name": "potted_brown_mushroom", + "hardness": 0, + "minStateId": 5791, + "maxStateId": 5791, + "states": [], + "drops": [ + 762, + 111 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5791 + }, + { + "id": 296, + "displayName": "Potted Dead Bush", + "name": "potted_dead_bush", + "hardness": 0, + "minStateId": 5792, + "maxStateId": 5792, + "states": [], + "drops": [ + 762, + 78 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5792 + }, + { + "id": 297, + "displayName": "Potted Cactus", + "name": "potted_cactus", + "hardness": 0, + "minStateId": 5793, + "maxStateId": 5793, + "states": [], + "drops": [ + 762, + 178 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5793 + }, + { + "id": 298, + "displayName": "Carrots", + "name": "carrots", + "hardness": 0, + "minStateId": 5794, + "maxStateId": 5801, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 763 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 5794 + }, + { + "id": 299, + "displayName": "Potatoes", + "name": "potatoes", + "hardness": 0, + "minStateId": 5802, + "maxStateId": 5809, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 764, + 766 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 5802 + }, + { + "id": 300, + "displayName": "Oak Button", + "name": "oak_button", + "hardness": 0.5, + "minStateId": 5810, + "maxStateId": 5833, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 259 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5819 + }, + { + "id": 301, + "displayName": "Spruce Button", + "name": "spruce_button", + "hardness": 0.5, + "minStateId": 5834, + "maxStateId": 5857, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 260 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5843 + }, + { + "id": 302, + "displayName": "Birch Button", + "name": "birch_button", + "hardness": 0.5, + "minStateId": 5858, + "maxStateId": 5881, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 261 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5867 + }, + { + "id": 303, + "displayName": "Jungle Button", + "name": "jungle_button", + "hardness": 0.5, + "minStateId": 5882, + "maxStateId": 5905, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 262 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5891 + }, + { + "id": 304, + "displayName": "Acacia Button", + "name": "acacia_button", + "hardness": 0.5, + "minStateId": 5906, + "maxStateId": 5929, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 263 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5915 + }, + { + "id": 305, + "displayName": "Dark Oak Button", + "name": "dark_oak_button", + "hardness": 0.5, + "minStateId": 5930, + "maxStateId": 5953, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 264 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 5939 + }, + { + "id": 306, + "displayName": "Skeleton Skull", + "name": "skeleton_skull", + "hardness": 1, + "minStateId": 5954, + "maxStateId": 5969, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 769 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5954 + }, + { + "id": 307, + "displayName": "Skeleton Wall Skull", + "name": "skeleton_wall_skull", + "hardness": 1, + "minStateId": 5970, + "maxStateId": 5973, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5970 + }, + { + "id": 308, + "displayName": "Wither Skeleton Skull", + "name": "wither_skeleton_skull", + "hardness": 1, + "minStateId": 5974, + "maxStateId": 5989, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 770 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5974 + }, + { + "id": 309, + "displayName": "Wither Skeleton Wall Skull", + "name": "wither_skeleton_wall_skull", + "hardness": 1, + "minStateId": 5990, + "maxStateId": 5993, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5990 + }, + { + "id": 310, + "displayName": "Zombie Head", + "name": "zombie_head", + "hardness": 1, + "minStateId": 5994, + "maxStateId": 6009, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 772 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5994 + }, + { + "id": 311, + "displayName": "Zombie Wall Head", + "name": "zombie_wall_head", + "hardness": 1, + "minStateId": 6010, + "maxStateId": 6013, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6010 + }, + { + "id": 312, + "displayName": "Player Head", + "name": "player_head", + "hardness": 1, + "minStateId": 6014, + "maxStateId": 6029, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 771 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6014 + }, + { + "id": 313, + "displayName": "Player Wall Head", + "name": "player_wall_head", + "hardness": 1, + "minStateId": 6030, + "maxStateId": 6033, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6030 + }, + { + "id": 314, + "displayName": "Creeper Head", + "name": "creeper_head", + "hardness": 1, + "minStateId": 6034, + "maxStateId": 6049, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 773 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6034 + }, + { + "id": 315, + "displayName": "Creeper Wall Head", + "name": "creeper_wall_head", + "hardness": 1, + "minStateId": 6050, + "maxStateId": 6053, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6050 + }, + { + "id": 316, + "displayName": "Dragon Head", + "name": "dragon_head", + "hardness": 1, + "minStateId": 6054, + "maxStateId": 6069, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 774 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6054 + }, + { + "id": 317, + "displayName": "Dragon Wall Head", + "name": "dragon_wall_head", + "hardness": 1, + "minStateId": 6070, + "maxStateId": 6073, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6070 + }, + { + "id": 318, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "minStateId": 6074, + "maxStateId": 6077, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 265 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6074 + }, + { + "id": 319, + "displayName": "Chipped Anvil", + "name": "chipped_anvil", + "hardness": 5, + "minStateId": 6078, + "maxStateId": 6081, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 266 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6078 + }, + { + "id": 320, + "displayName": "Damaged Anvil", + "name": "damaged_anvil", + "hardness": 5, + "minStateId": 6082, + "maxStateId": 6085, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 267 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6082 + }, + { + "id": 321, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "minStateId": 6086, + "maxStateId": 6109, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "single", + "left", + "right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 268 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6087 + }, + { + "id": 322, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "hardness": 0.5, + "minStateId": 6110, + "maxStateId": 6125, + "states": [ + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 269 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6110 + }, + { + "id": 323, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "hardness": 0.5, + "minStateId": 6126, + "maxStateId": 6141, + "states": [ + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 270 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6126 + }, + { + "id": 324, + "displayName": "Redstone Comparator", + "name": "comparator", + "hardness": 0, + "minStateId": 6142, + "maxStateId": 6157, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "mode", + "type": "enum", + "num_values": 2, + "values": [ + "compare", + "subtract" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 514 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6143 + }, + { + "id": 325, + "displayName": "Daylight Detector", + "name": "daylight_detector", + "hardness": 0.2, + "minStateId": 6158, + "maxStateId": 6189, + "states": [ + { + "name": "inverted", + "type": "bool", + "num_values": 2 + }, + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 271 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6174 + }, + { + "id": 326, + "displayName": "Block of Redstone", + "name": "redstone_block", + "hardness": 5, + "minStateId": 6190, + "maxStateId": 6190, + "states": [], + "drops": [ + 272 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6190 + }, + { + "id": 327, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "hardness": 3, + "minStateId": 6191, + "maxStateId": 6191, + "states": [], + "drops": [ + 273, + 782 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6191 + }, + { + "id": 328, + "displayName": "Hopper", + "name": "hopper", + "hardness": 3, + "minStateId": 6192, + "maxStateId": 6201, + "states": [ + { + "name": "enabled", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 5, + "values": [ + "down", + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 274 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6192 + }, + { + "id": 329, + "displayName": "Block of Quartz", + "name": "quartz_block", + "hardness": 0.8, + "minStateId": 6202, + "maxStateId": 6202, + "states": [], + "drops": [ + 276 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6202 + }, + { + "id": 330, + "displayName": "Chiseled Quartz Block", + "name": "chiseled_quartz_block", + "hardness": 0.8, + "minStateId": 6203, + "maxStateId": 6203, + "states": [], + "drops": [ + 275 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6203 + }, + { + "id": 331, + "displayName": "Quartz Pillar", + "name": "quartz_pillar", + "hardness": 0.8, + "minStateId": 6204, + "maxStateId": 6206, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 277 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6205 + }, + { + "id": 332, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0.8, + "minStateId": 6207, + "maxStateId": 6286, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 278 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6218 + }, + { + "id": 333, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "minStateId": 6287, + "maxStateId": 6298, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 279 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 6293 + }, + { + "id": 334, + "displayName": "Dropper", + "name": "dropper", + "hardness": 3.5, + "minStateId": 6299, + "maxStateId": 6310, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "triggered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 280 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6300 + }, + { + "id": 335, + "displayName": "White Terracotta", + "name": "white_terracotta", + "hardness": 1.25, + "minStateId": 6311, + "maxStateId": 6311, + "states": [], + "drops": [ + 281 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6311 + }, + { + "id": 336, + "displayName": "Orange Terracotta", + "name": "orange_terracotta", + "hardness": 1.25, + "minStateId": 6312, + "maxStateId": 6312, + "states": [], + "drops": [ + 282 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6312 + }, + { + "id": 337, + "displayName": "Magenta Terracotta", + "name": "magenta_terracotta", + "hardness": 1.25, + "minStateId": 6313, + "maxStateId": 6313, + "states": [], + "drops": [ + 283 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6313 + }, + { + "id": 338, + "displayName": "Light Blue Terracotta", + "name": "light_blue_terracotta", + "hardness": 1.25, + "minStateId": 6314, + "maxStateId": 6314, + "states": [], + "drops": [ + 284 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6314 + }, + { + "id": 339, + "displayName": "Yellow Terracotta", + "name": "yellow_terracotta", + "hardness": 1.25, + "minStateId": 6315, + "maxStateId": 6315, + "states": [], + "drops": [ + 285 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6315 + }, + { + "id": 340, + "displayName": "Lime Terracotta", + "name": "lime_terracotta", + "hardness": 1.25, + "minStateId": 6316, + "maxStateId": 6316, + "states": [], + "drops": [ + 286 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6316 + }, + { + "id": 341, + "displayName": "Pink Terracotta", + "name": "pink_terracotta", + "hardness": 1.25, + "minStateId": 6317, + "maxStateId": 6317, + "states": [], + "drops": [ + 287 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6317 + }, + { + "id": 342, + "displayName": "Gray Terracotta", + "name": "gray_terracotta", + "hardness": 1.25, + "minStateId": 6318, + "maxStateId": 6318, + "states": [], + "drops": [ + 288 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6318 + }, + { + "id": 343, + "displayName": "Light Gray Terracotta", + "name": "light_gray_terracotta", + "hardness": 1.25, + "minStateId": 6319, + "maxStateId": 6319, + "states": [], + "drops": [ + 289 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6319 + }, + { + "id": 344, + "displayName": "Cyan Terracotta", + "name": "cyan_terracotta", + "hardness": 1.25, + "minStateId": 6320, + "maxStateId": 6320, + "states": [], + "drops": [ + 290 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6320 + }, + { + "id": 345, + "displayName": "Purple Terracotta", + "name": "purple_terracotta", + "hardness": 1.25, + "minStateId": 6321, + "maxStateId": 6321, + "states": [], + "drops": [ + 291 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6321 + }, + { + "id": 346, + "displayName": "Blue Terracotta", + "name": "blue_terracotta", + "hardness": 1.25, + "minStateId": 6322, + "maxStateId": 6322, + "states": [], + "drops": [ + 292 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6322 + }, + { + "id": 347, + "displayName": "Brown Terracotta", + "name": "brown_terracotta", + "hardness": 1.25, + "minStateId": 6323, + "maxStateId": 6323, + "states": [], + "drops": [ + 293 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6323 + }, + { + "id": 348, + "displayName": "Green Terracotta", + "name": "green_terracotta", + "hardness": 1.25, + "minStateId": 6324, + "maxStateId": 6324, + "states": [], + "drops": [ + 294 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6324 + }, + { + "id": 349, + "displayName": "Red Terracotta", + "name": "red_terracotta", + "hardness": 1.25, + "minStateId": 6325, + "maxStateId": 6325, + "states": [], + "drops": [ + 295 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6325 + }, + { + "id": 350, + "displayName": "Black Terracotta", + "name": "black_terracotta", + "hardness": 1.25, + "minStateId": 6326, + "maxStateId": 6326, + "states": [], + "drops": [ + 296 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 6326 + }, + { + "id": 351, + "displayName": "White Stained Glass Pane", + "name": "white_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6327, + "maxStateId": 6358, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 345 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6358 + }, + { + "id": 352, + "displayName": "Orange Stained Glass Pane", + "name": "orange_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6359, + "maxStateId": 6390, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 346 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6390 + }, + { + "id": 353, + "displayName": "Magenta Stained Glass Pane", + "name": "magenta_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6391, + "maxStateId": 6422, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 347 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6422 + }, + { + "id": 354, + "displayName": "Light Blue Stained Glass Pane", + "name": "light_blue_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6423, + "maxStateId": 6454, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 348 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6454 + }, + { + "id": 355, + "displayName": "Yellow Stained Glass Pane", + "name": "yellow_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6455, + "maxStateId": 6486, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 349 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6486 + }, + { + "id": 356, + "displayName": "Lime Stained Glass Pane", + "name": "lime_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6487, + "maxStateId": 6518, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 350 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6518 + }, + { + "id": 357, + "displayName": "Pink Stained Glass Pane", + "name": "pink_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6519, + "maxStateId": 6550, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 351 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6550 + }, + { + "id": 358, + "displayName": "Gray Stained Glass Pane", + "name": "gray_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6551, + "maxStateId": 6582, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 352 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6582 + }, + { + "id": 359, + "displayName": "Light Gray Stained Glass Pane", + "name": "light_gray_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6583, + "maxStateId": 6614, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 353 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6614 + }, + { + "id": 360, + "displayName": "Cyan Stained Glass Pane", + "name": "cyan_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6615, + "maxStateId": 6646, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 354 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6646 + }, + { + "id": 361, + "displayName": "Purple Stained Glass Pane", + "name": "purple_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6647, + "maxStateId": 6678, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 355 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6678 + }, + { + "id": 362, + "displayName": "Blue Stained Glass Pane", + "name": "blue_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6679, + "maxStateId": 6710, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 356 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6710 + }, + { + "id": 363, + "displayName": "Brown Stained Glass Pane", + "name": "brown_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6711, + "maxStateId": 6742, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 357 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6742 + }, + { + "id": 364, + "displayName": "Green Stained Glass Pane", + "name": "green_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6743, + "maxStateId": 6774, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 358 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6774 + }, + { + "id": 365, + "displayName": "Red Stained Glass Pane", + "name": "red_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6775, + "maxStateId": 6806, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 359 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6806 + }, + { + "id": 366, + "displayName": "Black Stained Glass Pane", + "name": "black_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6807, + "maxStateId": 6838, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 360 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6838 + }, + { + "id": 367, + "displayName": "Acacia Stairs", + "name": "acacia_stairs", + "hardness": 2, + "minStateId": 6839, + "maxStateId": 6918, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 319 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6850 + }, + { + "id": 368, + "displayName": "Dark Oak Stairs", + "name": "dark_oak_stairs", + "hardness": 2, + "minStateId": 6919, + "maxStateId": 6998, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 320 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6930 + }, + { + "id": 369, + "displayName": "Slime Block", + "name": "slime_block", + "hardness": 0, + "minStateId": 6999, + "maxStateId": 6999, + "states": [], + "drops": [ + 321 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6999 + }, + { + "id": 370, + "displayName": "Barrier", + "name": "barrier", + "hardness": null, + "minStateId": 7000, + "maxStateId": 7000, + "states": [], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7000 + }, + { + "id": 371, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "minStateId": 7001, + "maxStateId": 7064, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 298 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7016 + }, + { + "id": 372, + "displayName": "Prismarine", + "name": "prismarine", + "hardness": 1.5, + "minStateId": 7065, + "maxStateId": 7065, + "states": [], + "drops": [ + 361 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7065 + }, + { + "id": 373, + "displayName": "Prismarine Bricks", + "name": "prismarine_bricks", + "hardness": 1.5, + "minStateId": 7066, + "maxStateId": 7066, + "states": [], + "drops": [ + 362 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7066 + }, + { + "id": 374, + "displayName": "Dark Prismarine", + "name": "dark_prismarine", + "hardness": 1.5, + "minStateId": 7067, + "maxStateId": 7067, + "states": [], + "drops": [ + 363 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7067 + }, + { + "id": 375, + "displayName": "Prismarine Stairs", + "name": "prismarine_stairs", + "hardness": 1.5, + "minStateId": 7068, + "maxStateId": 7147, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 364 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7079 + }, + { + "id": 376, + "displayName": "Prismarine Brick Stairs", + "name": "prismarine_brick_stairs", + "hardness": 1.5, + "minStateId": 7148, + "maxStateId": 7227, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 365 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7159 + }, + { + "id": 377, + "displayName": "Dark Prismarine Stairs", + "name": "dark_prismarine_stairs", + "hardness": 1.5, + "minStateId": 7228, + "maxStateId": 7307, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 366 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7239 + }, + { + "id": 378, + "displayName": "Prismarine Slab", + "name": "prismarine_slab", + "hardness": 1.5, + "minStateId": 7308, + "maxStateId": 7313, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 134 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7311 + }, + { + "id": 379, + "displayName": "Prismarine Brick Slab", + "name": "prismarine_brick_slab", + "hardness": 1.5, + "minStateId": 7314, + "maxStateId": 7319, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 135 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7317 + }, + { + "id": 380, + "displayName": "Dark Prismarine Slab", + "name": "dark_prismarine_slab", + "hardness": 1.5, + "minStateId": 7320, + "maxStateId": 7325, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 136 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7323 + }, + { + "id": 381, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "hardness": 0.3, + "minStateId": 7326, + "maxStateId": 7326, + "states": [], + "drops": [ + 367, + 786 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7326 + }, + { + "id": 382, + "displayName": "Hay Bale", + "name": "hay_block", + "hardness": 0.5, + "minStateId": 7327, + "maxStateId": 7329, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 299 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7328 + }, + { + "id": 383, + "displayName": "White Carpet", + "name": "white_carpet", + "hardness": 0.1, + "minStateId": 7330, + "maxStateId": 7330, + "states": [], + "drops": [ + 300 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7330 + }, + { + "id": 384, + "displayName": "Orange Carpet", + "name": "orange_carpet", + "hardness": 0.1, + "minStateId": 7331, + "maxStateId": 7331, + "states": [], + "drops": [ + 301 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7331 + }, + { + "id": 385, + "displayName": "Magenta Carpet", + "name": "magenta_carpet", + "hardness": 0.1, + "minStateId": 7332, + "maxStateId": 7332, + "states": [], + "drops": [ + 302 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7332 + }, + { + "id": 386, + "displayName": "Light Blue Carpet", + "name": "light_blue_carpet", + "hardness": 0.1, + "minStateId": 7333, + "maxStateId": 7333, + "states": [], + "drops": [ + 303 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7333 + }, + { + "id": 387, + "displayName": "Yellow Carpet", + "name": "yellow_carpet", + "hardness": 0.1, + "minStateId": 7334, + "maxStateId": 7334, + "states": [], + "drops": [ + 304 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7334 + }, + { + "id": 388, + "displayName": "Lime Carpet", + "name": "lime_carpet", + "hardness": 0.1, + "minStateId": 7335, + "maxStateId": 7335, + "states": [], + "drops": [ + 305 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7335 + }, + { + "id": 389, + "displayName": "Pink Carpet", + "name": "pink_carpet", + "hardness": 0.1, + "minStateId": 7336, + "maxStateId": 7336, + "states": [], + "drops": [ + 306 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7336 + }, + { + "id": 390, + "displayName": "Gray Carpet", + "name": "gray_carpet", + "hardness": 0.1, + "minStateId": 7337, + "maxStateId": 7337, + "states": [], + "drops": [ + 307 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7337 + }, + { + "id": 391, + "displayName": "Light Gray Carpet", + "name": "light_gray_carpet", + "hardness": 0.1, + "minStateId": 7338, + "maxStateId": 7338, + "states": [], + "drops": [ + 308 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7338 + }, + { + "id": 392, + "displayName": "Cyan Carpet", + "name": "cyan_carpet", + "hardness": 0.1, + "minStateId": 7339, + "maxStateId": 7339, + "states": [], + "drops": [ + 309 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7339 + }, + { + "id": 393, + "displayName": "Purple Carpet", + "name": "purple_carpet", + "hardness": 0.1, + "minStateId": 7340, + "maxStateId": 7340, + "states": [], + "drops": [ + 310 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7340 + }, + { + "id": 394, + "displayName": "Blue Carpet", + "name": "blue_carpet", + "hardness": 0.1, + "minStateId": 7341, + "maxStateId": 7341, + "states": [], + "drops": [ + 311 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7341 + }, + { + "id": 395, + "displayName": "Brown Carpet", + "name": "brown_carpet", + "hardness": 0.1, + "minStateId": 7342, + "maxStateId": 7342, + "states": [], + "drops": [ + 312 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7342 + }, + { + "id": 396, + "displayName": "Green Carpet", + "name": "green_carpet", + "hardness": 0.1, + "minStateId": 7343, + "maxStateId": 7343, + "states": [], + "drops": [ + 313 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7343 + }, + { + "id": 397, + "displayName": "Red Carpet", + "name": "red_carpet", + "hardness": 0.1, + "minStateId": 7344, + "maxStateId": 7344, + "states": [], + "drops": [ + 314 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7344 + }, + { + "id": 398, + "displayName": "Black Carpet", + "name": "black_carpet", + "hardness": 0.1, + "minStateId": 7345, + "maxStateId": 7345, + "states": [], + "drops": [ + 315 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7345 + }, + { + "id": 399, + "displayName": "Terracotta", + "name": "terracotta", + "hardness": 1.25, + "minStateId": 7346, + "maxStateId": 7346, + "states": [], + "drops": [ + 316 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7346 + }, + { + "id": 400, + "displayName": "Block of Coal", + "name": "coal_block", + "hardness": 5, + "minStateId": 7347, + "maxStateId": 7347, + "states": [], + "drops": [ + 317 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7347 + }, + { + "id": 401, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "minStateId": 7348, + "maxStateId": 7348, + "states": [], + "drops": [ + 318 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 7348 + }, + { + "id": 402, + "displayName": "Sunflower", + "name": "sunflower", + "hardness": 0, + "minStateId": 7349, + "maxStateId": 7350, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 323 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7350 + }, + { + "id": 403, + "displayName": "Lilac", + "name": "lilac", + "hardness": 0, + "minStateId": 7351, + "maxStateId": 7352, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 324 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7352 + }, + { + "id": 404, + "displayName": "Rose Bush", + "name": "rose_bush", + "hardness": 0, + "minStateId": 7353, + "maxStateId": 7354, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 325 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7354 + }, + { + "id": 405, + "displayName": "Peony", + "name": "peony", + "hardness": 0, + "minStateId": 7355, + "maxStateId": 7356, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 326 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7356 + }, + { + "id": 406, + "displayName": "Tall Grass", + "name": "tall_grass", + "hardness": 0, + "minStateId": 7357, + "maxStateId": 7358, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 672, + 76, + 327, + 560 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7358 + }, + { + "id": 407, + "displayName": "Large Fern", + "name": "large_fern", + "hardness": 0, + "minStateId": 7359, + "maxStateId": 7360, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 672, + 77, + 328, + 560 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7360 + }, + { + "id": 408, + "displayName": "White Banner", + "name": "white_banner", + "hardness": 1, + "minStateId": 7361, + "maxStateId": 7376, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 802 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7361 + }, + { + "id": 409, + "displayName": "Orange Banner", + "name": "orange_banner", + "hardness": 1, + "minStateId": 7377, + "maxStateId": 7392, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 803 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7377 + }, + { + "id": 410, + "displayName": "Magenta Banner", + "name": "magenta_banner", + "hardness": 1, + "minStateId": 7393, + "maxStateId": 7408, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 804 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7393 + }, + { + "id": 411, + "displayName": "Light Blue Banner", + "name": "light_blue_banner", + "hardness": 1, + "minStateId": 7409, + "maxStateId": 7424, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 805 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7409 + }, + { + "id": 412, + "displayName": "Yellow Banner", + "name": "yellow_banner", + "hardness": 1, + "minStateId": 7425, + "maxStateId": 7440, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 806 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7425 + }, + { + "id": 413, + "displayName": "Lime Banner", + "name": "lime_banner", + "hardness": 1, + "minStateId": 7441, + "maxStateId": 7456, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 807 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7441 + }, + { + "id": 414, + "displayName": "Pink Banner", + "name": "pink_banner", + "hardness": 1, + "minStateId": 7457, + "maxStateId": 7472, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 808 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7457 + }, + { + "id": 415, + "displayName": "Gray Banner", + "name": "gray_banner", + "hardness": 1, + "minStateId": 7473, + "maxStateId": 7488, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 809 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7473 + }, + { + "id": 416, + "displayName": "Light Gray Banner", + "name": "light_gray_banner", + "hardness": 1, + "minStateId": 7489, + "maxStateId": 7504, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 810 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7489 + }, + { + "id": 417, + "displayName": "Cyan Banner", + "name": "cyan_banner", + "hardness": 1, + "minStateId": 7505, + "maxStateId": 7520, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 811 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7505 + }, + { + "id": 418, + "displayName": "Purple Banner", + "name": "purple_banner", + "hardness": 1, + "minStateId": 7521, + "maxStateId": 7536, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 812 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7521 + }, + { + "id": 419, + "displayName": "Blue Banner", + "name": "blue_banner", + "hardness": 1, + "minStateId": 7537, + "maxStateId": 7552, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 813 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7537 + }, + { + "id": 420, + "displayName": "Brown Banner", + "name": "brown_banner", + "hardness": 1, + "minStateId": 7553, + "maxStateId": 7568, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 814 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7553 + }, + { + "id": 421, + "displayName": "Green Banner", + "name": "green_banner", + "hardness": 1, + "minStateId": 7569, + "maxStateId": 7584, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 815 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7569 + }, + { + "id": 422, + "displayName": "Red Banner", + "name": "red_banner", + "hardness": 1, + "minStateId": 7585, + "maxStateId": 7600, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 816 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7585 + }, + { + "id": 423, + "displayName": "Black Banner", + "name": "black_banner", + "hardness": 1, + "minStateId": 7601, + "maxStateId": 7616, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 817 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7601 + }, + { + "id": 424, + "displayName": "White wall banner", + "name": "white_wall_banner", + "hardness": 1, + "minStateId": 7617, + "maxStateId": 7620, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7617 + }, + { + "id": 425, + "displayName": "Orange wall banner", + "name": "orange_wall_banner", + "hardness": 1, + "minStateId": 7621, + "maxStateId": 7624, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7621 + }, + { + "id": 426, + "displayName": "Magenta wall banner", + "name": "magenta_wall_banner", + "hardness": 1, + "minStateId": 7625, + "maxStateId": 7628, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7625 + }, + { + "id": 427, + "displayName": "Light blue wall banner", + "name": "light_blue_wall_banner", + "hardness": 1, + "minStateId": 7629, + "maxStateId": 7632, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7629 + }, + { + "id": 428, + "displayName": "Yellow wall banner", + "name": "yellow_wall_banner", + "hardness": 1, + "minStateId": 7633, + "maxStateId": 7636, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7633 + }, + { + "id": 429, + "displayName": "Lime wall banner", + "name": "lime_wall_banner", + "hardness": 1, + "minStateId": 7637, + "maxStateId": 7640, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7637 + }, + { + "id": 430, + "displayName": "Pink wall banner", + "name": "pink_wall_banner", + "hardness": 1, + "minStateId": 7641, + "maxStateId": 7644, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7641 + }, + { + "id": 431, + "displayName": "Gray wall banner", + "name": "gray_wall_banner", + "hardness": 1, + "minStateId": 7645, + "maxStateId": 7648, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7645 + }, + { + "id": 432, + "displayName": "Light gray wall banner", + "name": "light_gray_wall_banner", + "hardness": 1, + "minStateId": 7649, + "maxStateId": 7652, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7649 + }, + { + "id": 433, + "displayName": "Cyan wall banner", + "name": "cyan_wall_banner", + "hardness": 1, + "minStateId": 7653, + "maxStateId": 7656, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7653 + }, + { + "id": 434, + "displayName": "Purple wall banner", + "name": "purple_wall_banner", + "hardness": 1, + "minStateId": 7657, + "maxStateId": 7660, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7657 + }, + { + "id": 435, + "displayName": "Blue wall banner", + "name": "blue_wall_banner", + "hardness": 1, + "minStateId": 7661, + "maxStateId": 7664, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7661 + }, + { + "id": 436, + "displayName": "Brown wall banner", + "name": "brown_wall_banner", + "hardness": 1, + "minStateId": 7665, + "maxStateId": 7668, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7665 + }, + { + "id": 437, + "displayName": "Green wall banner", + "name": "green_wall_banner", + "hardness": 1, + "minStateId": 7669, + "maxStateId": 7672, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7669 + }, + { + "id": 438, + "displayName": "Red wall banner", + "name": "red_wall_banner", + "hardness": 1, + "minStateId": 7673, + "maxStateId": 7676, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7673 + }, + { + "id": 439, + "displayName": "Black wall banner", + "name": "black_wall_banner", + "hardness": 1, + "minStateId": 7677, + "maxStateId": 7680, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7677 + }, + { + "id": 440, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "hardness": 0.8, + "minStateId": 7681, + "maxStateId": 7681, + "states": [], + "drops": [ + 368 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7681 + }, + { + "id": 441, + "displayName": "Chiseled Red Sandstone", + "name": "chiseled_red_sandstone", + "hardness": 0.8, + "minStateId": 7682, + "maxStateId": 7682, + "states": [], + "drops": [ + 369 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7682 + }, + { + "id": 442, + "displayName": "Cut Red Sandstone", + "name": "cut_red_sandstone", + "hardness": 0.8, + "minStateId": 7683, + "maxStateId": 7683, + "states": [], + "drops": [ + 370 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7683 + }, + { + "id": 443, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "hardness": 0.8, + "minStateId": 7684, + "maxStateId": 7763, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 371 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7695 + }, + { + "id": 444, + "displayName": "Oak Slab", + "name": "oak_slab", + "hardness": 2, + "minStateId": 7764, + "maxStateId": 7769, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 115 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7767 + }, + { + "id": 445, + "displayName": "Spruce Slab", + "name": "spruce_slab", + "hardness": 2, + "minStateId": 7770, + "maxStateId": 7775, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 116 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7773 + }, + { + "id": 446, + "displayName": "Birch Slab", + "name": "birch_slab", + "hardness": 2, + "minStateId": 7776, + "maxStateId": 7781, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 117 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7779 + }, + { + "id": 447, + "displayName": "Jungle Slab", + "name": "jungle_slab", + "hardness": 2, + "minStateId": 7782, + "maxStateId": 7787, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 118 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7785 + }, + { + "id": 448, + "displayName": "Acacia Slab", + "name": "acacia_slab", + "hardness": 2, + "minStateId": 7788, + "maxStateId": 7793, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 119 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7791 + }, + { + "id": 449, + "displayName": "Dark Oak Slab", + "name": "dark_oak_slab", + "hardness": 2, + "minStateId": 7794, + "maxStateId": 7799, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 120 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7797 + }, + { + "id": 450, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "minStateId": 7800, + "maxStateId": 7805, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 121 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7803 + }, + { + "id": 451, + "displayName": "Smooth Stone Slab", + "name": "smooth_stone_slab", + "hardness": 2, + "minStateId": 7806, + "maxStateId": 7811, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 122 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7809 + }, + { + "id": 452, + "displayName": "Sandstone Slab", + "name": "sandstone_slab", + "hardness": 2, + "minStateId": 7812, + "maxStateId": 7817, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 123 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7815 + }, + { + "id": 453, + "displayName": "Cut Sandstone Slab", + "name": "cut_sandstone_slab", + "hardness": 2, + "minStateId": 7818, + "maxStateId": 7823, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 124 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7821 + }, + { + "id": 454, + "displayName": "Petrified Oak Slab", + "name": "petrified_oak_slab", + "hardness": 2, + "minStateId": 7824, + "maxStateId": 7829, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 125 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7827 + }, + { + "id": 455, + "displayName": "Cobblestone Slab", + "name": "cobblestone_slab", + "hardness": 2, + "minStateId": 7830, + "maxStateId": 7835, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 126 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7833 + }, + { + "id": 456, + "displayName": "Brick Slab", + "name": "brick_slab", + "hardness": 2, + "minStateId": 7836, + "maxStateId": 7841, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 127 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7839 + }, + { + "id": 457, + "displayName": "Stone Brick Slab", + "name": "stone_brick_slab", + "hardness": 2, + "minStateId": 7842, + "maxStateId": 7847, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 128 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7845 + }, + { + "id": 458, + "displayName": "Nether Brick Slab", + "name": "nether_brick_slab", + "hardness": 2, + "minStateId": 7848, + "maxStateId": 7853, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 129 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7851 + }, + { + "id": 459, + "displayName": "Quartz Slab", + "name": "quartz_slab", + "hardness": 2, + "minStateId": 7854, + "maxStateId": 7859, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 130 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7857 + }, + { + "id": 460, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "hardness": 2, + "minStateId": 7860, + "maxStateId": 7865, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 131 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7863 + }, + { + "id": 461, + "displayName": "Cut Red Sandstone Slab", + "name": "cut_red_sandstone_slab", + "hardness": 2, + "minStateId": 7866, + "maxStateId": 7871, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 132 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7869 + }, + { + "id": 462, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "hardness": 2, + "minStateId": 7872, + "maxStateId": 7877, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 133 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7875 + }, + { + "id": 463, + "displayName": "Smooth Stone", + "name": "smooth_stone", + "hardness": 2, + "minStateId": 7878, + "maxStateId": 7878, + "states": [], + "drops": [ + 140 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7878 + }, + { + "id": 464, + "displayName": "Smooth Sandstone", + "name": "smooth_sandstone", + "hardness": 2, + "minStateId": 7879, + "maxStateId": 7879, + "states": [], + "drops": [ + 139 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7879 + }, + { + "id": 465, + "displayName": "Smooth Quartz", + "name": "smooth_quartz", + "hardness": 2, + "minStateId": 7880, + "maxStateId": 7880, + "states": [], + "drops": [ + 137 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7880 + }, + { + "id": 466, + "displayName": "Smooth Red Sandstone", + "name": "smooth_red_sandstone", + "hardness": 2, + "minStateId": 7881, + "maxStateId": 7881, + "states": [], + "drops": [ + 138 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 7881 + }, + { + "id": 467, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "hardness": 2, + "minStateId": 7882, + "maxStateId": 7913, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 217 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7889 + }, + { + "id": 468, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "hardness": 2, + "minStateId": 7914, + "maxStateId": 7945, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 218 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7921 + }, + { + "id": 469, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "hardness": 2, + "minStateId": 7946, + "maxStateId": 7977, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 219 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7953 + }, + { + "id": 470, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "hardness": 2, + "minStateId": 7978, + "maxStateId": 8009, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 220 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7985 + }, + { + "id": 471, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "hardness": 2, + "minStateId": 8010, + "maxStateId": 8041, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 221 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8017 + }, + { + "id": 472, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "hardness": 2, + "minStateId": 8042, + "maxStateId": 8073, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 182 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8073 + }, + { + "id": 473, + "displayName": "Birch Fence", + "name": "birch_fence", + "hardness": 2, + "minStateId": 8074, + "maxStateId": 8105, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 183 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8105 + }, + { + "id": 474, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "hardness": 2, + "minStateId": 8106, + "maxStateId": 8137, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 184 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8137 + }, + { + "id": 475, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "hardness": 2, + "minStateId": 8138, + "maxStateId": 8169, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 185 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8169 + }, + { + "id": 476, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "hardness": 2, + "minStateId": 8170, + "maxStateId": 8201, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 186 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8201 + }, + { + "id": 477, + "displayName": "Spruce Door", + "name": "spruce_door", + "hardness": 3, + "minStateId": 8202, + "maxStateId": 8265, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 508 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8213 + }, + { + "id": 478, + "displayName": "Birch Door", + "name": "birch_door", + "hardness": 3, + "minStateId": 8266, + "maxStateId": 8329, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 509 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8277 + }, + { + "id": 479, + "displayName": "Jungle Door", + "name": "jungle_door", + "hardness": 3, + "minStateId": 8330, + "maxStateId": 8393, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 510 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8341 + }, + { + "id": 480, + "displayName": "Acacia Door", + "name": "acacia_door", + "hardness": 3, + "minStateId": 8394, + "maxStateId": 8457, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 511 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8405 + }, + { + "id": 481, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "hardness": 3, + "minStateId": 8458, + "maxStateId": 8521, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 512 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8469 + }, + { + "id": 482, + "displayName": "End Rod", + "name": "end_rod", + "hardness": 0, + "minStateId": 8522, + "maxStateId": 8527, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 147 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 14, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8526 + }, + { + "id": 483, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "hardness": 0.4, + "minStateId": 8528, + "maxStateId": 8591, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 819 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8591 + }, + { + "id": 484, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "hardness": 0.4, + "minStateId": 8592, + "maxStateId": 8597, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 6 + } + ], + "drops": [ + 149 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8592 + }, + { + "id": 485, + "displayName": "Purpur Block", + "name": "purpur_block", + "hardness": 1.5, + "minStateId": 8598, + "maxStateId": 8598, + "states": [], + "drops": [ + 150 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8598 + }, + { + "id": 486, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "hardness": 1.5, + "minStateId": 8599, + "maxStateId": 8601, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 151 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8600 + }, + { + "id": 487, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "hardness": 1.5, + "minStateId": 8602, + "maxStateId": 8681, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 152 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8613 + }, + { + "id": 488, + "displayName": "End Stone Bricks", + "name": "end_stone_bricks", + "hardness": 3, + "minStateId": 8682, + "maxStateId": 8682, + "states": [], + "drops": [ + 232 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8682 + }, + { + "id": 489, + "displayName": "Beetroots", + "name": "beetroots", + "hardness": 0, + "minStateId": 8683, + "maxStateId": 8686, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 821, + 822 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8683 + }, + { + "id": 490, + "displayName": "Grass Path", + "name": "grass_path", + "hardness": 0.65, + "minStateId": 8687, + "maxStateId": 8687, + "states": [], + "drops": [ + 9 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8687 + }, + { + "id": 491, + "displayName": "End Gateway", + "name": "end_gateway", + "hardness": null, + "minStateId": 8688, + "maxStateId": 8688, + "states": [], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 8688 + }, + { + "id": 492, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "hardness": null, + "minStateId": 8689, + "maxStateId": 8700, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8695 + }, + { + "id": 493, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "hardness": null, + "minStateId": 8701, + "maxStateId": 8712, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8707 + }, + { + "id": 494, + "displayName": "Frosted Ice", + "name": "frosted_ice", + "hardness": 0.5, + "minStateId": 8713, + "maxStateId": 8716, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 2, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "defaultState": 8713 + }, + { + "id": 495, + "displayName": "Magma Block", + "name": "magma_block", + "hardness": 0.5, + "minStateId": 8717, + "maxStateId": 8717, + "states": [], + "drops": [ + 374 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8717 + }, + { + "id": 496, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "hardness": 1, + "minStateId": 8718, + "maxStateId": 8718, + "states": [], + "drops": [ + 375 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8718 + }, + { + "id": 497, + "displayName": "Red Nether Bricks", + "name": "red_nether_bricks", + "hardness": 2, + "minStateId": 8719, + "maxStateId": 8719, + "states": [], + "drops": [ + 376 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8719 + }, + { + "id": 498, + "displayName": "Bone Block", + "name": "bone_block", + "hardness": 2, + "minStateId": 8720, + "maxStateId": 8722, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 377 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8721 + }, + { + "id": 499, + "displayName": "Structure Void", + "name": "structure_void", + "hardness": 0, + "minStateId": 8723, + "maxStateId": 8723, + "states": [], + "drops": [], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8723 + }, + { + "id": 500, + "displayName": "Observer", + "name": "observer", + "hardness": 3, + "minStateId": 8724, + "maxStateId": 8735, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 379 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8729 + }, + { + "id": 501, + "displayName": "Shulker Box", + "name": "shulker_box", + "hardness": 2, + "minStateId": 8736, + "maxStateId": 8741, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 380 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8740 + }, + { + "id": 502, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "hardness": 2, + "minStateId": 8742, + "maxStateId": 8747, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 381 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8746 + }, + { + "id": 503, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "hardness": 2, + "minStateId": 8748, + "maxStateId": 8753, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 382 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8752 + }, + { + "id": 504, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "hardness": 2, + "minStateId": 8754, + "maxStateId": 8759, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 383 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8758 + }, + { + "id": 505, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "hardness": 2, + "minStateId": 8760, + "maxStateId": 8765, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 384 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8764 + }, + { + "id": 506, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "hardness": 2, + "minStateId": 8766, + "maxStateId": 8771, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 385 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8770 + }, + { + "id": 507, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "hardness": 2, + "minStateId": 8772, + "maxStateId": 8777, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 386 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8776 + }, + { + "id": 508, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "hardness": 2, + "minStateId": 8778, + "maxStateId": 8783, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 387 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8782 + }, + { + "id": 509, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "hardness": 2, + "minStateId": 8784, + "maxStateId": 8789, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 388 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8788 + }, + { + "id": 510, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "hardness": 2, + "minStateId": 8790, + "maxStateId": 8795, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 389 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8794 + }, + { + "id": 511, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "hardness": 2, + "minStateId": 8796, + "maxStateId": 8801, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 390 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8800 + }, + { + "id": 512, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "hardness": 2, + "minStateId": 8802, + "maxStateId": 8807, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 391 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8806 + }, + { + "id": 513, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "hardness": 2, + "minStateId": 8808, + "maxStateId": 8813, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 392 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8812 + }, + { + "id": 514, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "hardness": 2, + "minStateId": 8814, + "maxStateId": 8819, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 393 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8818 + }, + { + "id": 515, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "hardness": 2, + "minStateId": 8820, + "maxStateId": 8825, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 394 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8824 + }, + { + "id": 516, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "hardness": 2, + "minStateId": 8826, + "maxStateId": 8831, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 395 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8830 + }, + { + "id": 517, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "hardness": 2, + "minStateId": 8832, + "maxStateId": 8837, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 396 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 8836 + }, + { + "id": 518, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8838, + "maxStateId": 8841, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 397 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8838 + }, + { + "id": 519, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8842, + "maxStateId": 8845, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 398 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8842 + }, + { + "id": 520, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8846, + "maxStateId": 8849, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 399 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8846 + }, + { + "id": 521, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8850, + "maxStateId": 8853, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 400 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8850 + }, + { + "id": 522, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8854, + "maxStateId": 8857, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 401 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8854 + }, + { + "id": 523, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8858, + "maxStateId": 8861, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 402 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8858 + }, + { + "id": 524, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8862, + "maxStateId": 8865, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 403 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8862 + }, + { + "id": 525, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8866, + "maxStateId": 8869, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 404 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8866 + }, + { + "id": 526, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8870, + "maxStateId": 8873, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 405 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8870 + }, + { + "id": 527, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8874, + "maxStateId": 8877, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 406 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8874 + }, + { + "id": 528, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8878, + "maxStateId": 8881, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 407 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8878 + }, + { + "id": 529, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8882, + "maxStateId": 8885, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 408 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8882 + }, + { + "id": 530, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8886, + "maxStateId": 8889, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 409 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8886 + }, + { + "id": 531, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8890, + "maxStateId": 8893, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 410 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8890 + }, + { + "id": 532, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8894, + "maxStateId": 8897, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 411 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8894 + }, + { + "id": 533, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "hardness": 1.4, + "minStateId": 8898, + "maxStateId": 8901, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 412 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8898 + }, + { + "id": 534, + "displayName": "White Concrete", + "name": "white_concrete", + "hardness": 1.8, + "minStateId": 8902, + "maxStateId": 8902, + "states": [], + "drops": [ + 413 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8902 + }, + { + "id": 535, + "displayName": "Orange Concrete", + "name": "orange_concrete", + "hardness": 1.8, + "minStateId": 8903, + "maxStateId": 8903, + "states": [], + "drops": [ + 414 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8903 + }, + { + "id": 536, + "displayName": "Magenta Concrete", + "name": "magenta_concrete", + "hardness": 1.8, + "minStateId": 8904, + "maxStateId": 8904, + "states": [], + "drops": [ + 415 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8904 + }, + { + "id": 537, + "displayName": "Light Blue Concrete", + "name": "light_blue_concrete", + "hardness": 1.8, + "minStateId": 8905, + "maxStateId": 8905, + "states": [], + "drops": [ + 416 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8905 + }, + { + "id": 538, + "displayName": "Yellow Concrete", + "name": "yellow_concrete", + "hardness": 1.8, + "minStateId": 8906, + "maxStateId": 8906, + "states": [], + "drops": [ + 417 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8906 + }, + { + "id": 539, + "displayName": "Lime Concrete", + "name": "lime_concrete", + "hardness": 1.8, + "minStateId": 8907, + "maxStateId": 8907, + "states": [], + "drops": [ + 418 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8907 + }, + { + "id": 540, + "displayName": "Pink Concrete", + "name": "pink_concrete", + "hardness": 1.8, + "minStateId": 8908, + "maxStateId": 8908, + "states": [], + "drops": [ + 419 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8908 + }, + { + "id": 541, + "displayName": "Gray Concrete", + "name": "gray_concrete", + "hardness": 1.8, + "minStateId": 8909, + "maxStateId": 8909, + "states": [], + "drops": [ + 420 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8909 + }, + { + "id": 542, + "displayName": "Light Gray Concrete", + "name": "light_gray_concrete", + "hardness": 1.8, + "minStateId": 8910, + "maxStateId": 8910, + "states": [], + "drops": [ + 421 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8910 + }, + { + "id": 543, + "displayName": "Cyan Concrete", + "name": "cyan_concrete", + "hardness": 1.8, + "minStateId": 8911, + "maxStateId": 8911, + "states": [], + "drops": [ + 422 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8911 + }, + { + "id": 544, + "displayName": "Purple Concrete", + "name": "purple_concrete", + "hardness": 1.8, + "minStateId": 8912, + "maxStateId": 8912, + "states": [], + "drops": [ + 423 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8912 + }, + { + "id": 545, + "displayName": "Blue Concrete", + "name": "blue_concrete", + "hardness": 1.8, + "minStateId": 8913, + "maxStateId": 8913, + "states": [], + "drops": [ + 424 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8913 + }, + { + "id": 546, + "displayName": "Brown Concrete", + "name": "brown_concrete", + "hardness": 1.8, + "minStateId": 8914, + "maxStateId": 8914, + "states": [], + "drops": [ + 425 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8914 + }, + { + "id": 547, + "displayName": "Green Concrete", + "name": "green_concrete", + "hardness": 1.8, + "minStateId": 8915, + "maxStateId": 8915, + "states": [], + "drops": [ + 426 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8915 + }, + { + "id": 548, + "displayName": "Red Concrete", + "name": "red_concrete", + "hardness": 1.8, + "minStateId": 8916, + "maxStateId": 8916, + "states": [], + "drops": [ + 427 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8916 + }, + { + "id": 549, + "displayName": "Black Concrete", + "name": "black_concrete", + "hardness": 1.8, + "minStateId": 8917, + "maxStateId": 8917, + "states": [], + "drops": [ + 428 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8917 + }, + { + "id": 550, + "displayName": "White Concrete Powder", + "name": "white_concrete_powder", + "hardness": 0.5, + "minStateId": 8918, + "maxStateId": 8918, + "states": [], + "drops": [ + 429 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8918 + }, + { + "id": 551, + "displayName": "Orange Concrete Powder", + "name": "orange_concrete_powder", + "hardness": 0.5, + "minStateId": 8919, + "maxStateId": 8919, + "states": [], + "drops": [ + 430 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8919 + }, + { + "id": 552, + "displayName": "Magenta Concrete Powder", + "name": "magenta_concrete_powder", + "hardness": 0.5, + "minStateId": 8920, + "maxStateId": 8920, + "states": [], + "drops": [ + 431 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8920 + }, + { + "id": 553, + "displayName": "Light Blue Concrete Powder", + "name": "light_blue_concrete_powder", + "hardness": 0.5, + "minStateId": 8921, + "maxStateId": 8921, + "states": [], + "drops": [ + 432 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8921 + }, + { + "id": 554, + "displayName": "Yellow Concrete Powder", + "name": "yellow_concrete_powder", + "hardness": 0.5, + "minStateId": 8922, + "maxStateId": 8922, + "states": [], + "drops": [ + 433 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8922 + }, + { + "id": 555, + "displayName": "Lime Concrete Powder", + "name": "lime_concrete_powder", + "hardness": 0.5, + "minStateId": 8923, + "maxStateId": 8923, + "states": [], + "drops": [ + 434 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8923 + }, + { + "id": 556, + "displayName": "Pink Concrete Powder", + "name": "pink_concrete_powder", + "hardness": 0.5, + "minStateId": 8924, + "maxStateId": 8924, + "states": [], + "drops": [ + 435 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8924 + }, + { + "id": 557, + "displayName": "Gray Concrete Powder", + "name": "gray_concrete_powder", + "hardness": 0.5, + "minStateId": 8925, + "maxStateId": 8925, + "states": [], + "drops": [ + 436 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8925 + }, + { + "id": 558, + "displayName": "Light Gray Concrete Powder", + "name": "light_gray_concrete_powder", + "hardness": 0.5, + "minStateId": 8926, + "maxStateId": 8926, + "states": [], + "drops": [ + 437 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8926 + }, + { + "id": 559, + "displayName": "Cyan Concrete Powder", + "name": "cyan_concrete_powder", + "hardness": 0.5, + "minStateId": 8927, + "maxStateId": 8927, + "states": [], + "drops": [ + 438 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8927 + }, + { + "id": 560, + "displayName": "Purple Concrete Powder", + "name": "purple_concrete_powder", + "hardness": 0.5, + "minStateId": 8928, + "maxStateId": 8928, + "states": [], + "drops": [ + 439 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8928 + }, + { + "id": 561, + "displayName": "Blue Concrete Powder", + "name": "blue_concrete_powder", + "hardness": 0.5, + "minStateId": 8929, + "maxStateId": 8929, + "states": [], + "drops": [ + 440 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8929 + }, + { + "id": 562, + "displayName": "Brown Concrete Powder", + "name": "brown_concrete_powder", + "hardness": 0.5, + "minStateId": 8930, + "maxStateId": 8930, + "states": [], + "drops": [ + 441 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8930 + }, + { + "id": 563, + "displayName": "Green Concrete Powder", + "name": "green_concrete_powder", + "hardness": 0.5, + "minStateId": 8931, + "maxStateId": 8931, + "states": [], + "drops": [ + 442 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8931 + }, + { + "id": 564, + "displayName": "Red Concrete Powder", + "name": "red_concrete_powder", + "hardness": 0.5, + "minStateId": 8932, + "maxStateId": 8932, + "states": [], + "drops": [ + 443 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8932 + }, + { + "id": 565, + "displayName": "Black Concrete Powder", + "name": "black_concrete_powder", + "hardness": 0.5, + "minStateId": 8933, + "maxStateId": 8933, + "states": [], + "drops": [ + 444 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 8933 + }, + { + "id": 566, + "displayName": "Kelp", + "name": "kelp", + "hardness": 0, + "minStateId": 8934, + "maxStateId": 8959, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 26 + } + ], + "drops": [ + 612 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8934 + }, + { + "id": 567, + "displayName": "Kelp Plant", + "name": "kelp_plant", + "hardness": 0, + "minStateId": 8960, + "maxStateId": 8960, + "states": [], + "drops": [ + 612 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8960 + }, + { + "id": 568, + "displayName": "Dried Kelp Block", + "name": "dried_kelp_block", + "hardness": 0.5, + "minStateId": 8961, + "maxStateId": 8961, + "states": [], + "drops": [ + 613 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8961 + }, + { + "id": 569, + "displayName": "Turtle Egg", + "name": "turtle_egg", + "hardness": 0.5, + "minStateId": 8962, + "maxStateId": 8973, + "states": [ + { + "name": "eggs", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "hatch", + "type": "int", + "num_values": 3 + } + ], + "drops": [ + 445 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 8962 + }, + { + "id": 570, + "displayName": "Dead Tube Coral Block", + "name": "dead_tube_coral_block", + "hardness": 1.5, + "minStateId": 8974, + "maxStateId": 8974, + "states": [], + "drops": [ + 446 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8974 + }, + { + "id": 571, + "displayName": "Dead Brain Coral Block", + "name": "dead_brain_coral_block", + "hardness": 1.5, + "minStateId": 8975, + "maxStateId": 8975, + "states": [], + "drops": [ + 447 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8975 + }, + { + "id": 572, + "displayName": "Dead Bubble Coral Block", + "name": "dead_bubble_coral_block", + "hardness": 1.5, + "minStateId": 8976, + "maxStateId": 8976, + "states": [], + "drops": [ + 448 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8976 + }, + { + "id": 573, + "displayName": "Dead Fire Coral Block", + "name": "dead_fire_coral_block", + "hardness": 1.5, + "minStateId": 8977, + "maxStateId": 8977, + "states": [], + "drops": [ + 449 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8977 + }, + { + "id": 574, + "displayName": "Dead Horn Coral Block", + "name": "dead_horn_coral_block", + "hardness": 1.5, + "minStateId": 8978, + "maxStateId": 8978, + "states": [], + "drops": [ + 450 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8978 + }, + { + "id": 575, + "displayName": "Tube Coral Block", + "name": "tube_coral_block", + "hardness": 1.5, + "minStateId": 8979, + "maxStateId": 8979, + "states": [], + "drops": [ + 451, + 446 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8979 + }, + { + "id": 576, + "displayName": "Brain Coral Block", + "name": "brain_coral_block", + "hardness": 1.5, + "minStateId": 8980, + "maxStateId": 8980, + "states": [], + "drops": [ + 452, + 447 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8980 + }, + { + "id": 577, + "displayName": "Bubble Coral Block", + "name": "bubble_coral_block", + "hardness": 1.5, + "minStateId": 8981, + "maxStateId": 8981, + "states": [], + "drops": [ + 453, + 448 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8981 + }, + { + "id": 578, + "displayName": "Fire Coral Block", + "name": "fire_coral_block", + "hardness": 1.5, + "minStateId": 8982, + "maxStateId": 8982, + "states": [], + "drops": [ + 454, + 449 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8982 + }, + { + "id": 579, + "displayName": "Horn Coral Block", + "name": "horn_coral_block", + "hardness": 1.5, + "minStateId": 8983, + "maxStateId": 8983, + "states": [], + "drops": [ + 455, + 450 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 8983 + }, + { + "id": 580, + "displayName": "Dead Tube Coral", + "name": "dead_tube_coral", + "hardness": 0, + "minStateId": 8984, + "maxStateId": 8985, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 465 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8984 + }, + { + "id": 581, + "displayName": "Dead Brain Coral", + "name": "dead_brain_coral", + "hardness": 0, + "minStateId": 8986, + "maxStateId": 8987, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 461 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8986 + }, + { + "id": 582, + "displayName": "Dead Bubble Coral", + "name": "dead_bubble_coral", + "hardness": 0, + "minStateId": 8988, + "maxStateId": 8989, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 462 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8988 + }, + { + "id": 583, + "displayName": "Dead Fire Coral", + "name": "dead_fire_coral", + "hardness": 0, + "minStateId": 8990, + "maxStateId": 8991, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 463 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8990 + }, + { + "id": 584, + "displayName": "Dead Horn Coral", + "name": "dead_horn_coral", + "hardness": 0, + "minStateId": 8992, + "maxStateId": 8993, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 464 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8992 + }, + { + "id": 585, + "displayName": "Tube Coral", + "name": "tube_coral", + "hardness": 0, + "minStateId": 8994, + "maxStateId": 8995, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 456 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8994 + }, + { + "id": 586, + "displayName": "Brain Coral", + "name": "brain_coral", + "hardness": 0, + "minStateId": 8996, + "maxStateId": 8997, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 457 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8996 + }, + { + "id": 587, + "displayName": "Bubble Coral", + "name": "bubble_coral", + "hardness": 0, + "minStateId": 8998, + "maxStateId": 8999, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 458 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 8998 + }, + { + "id": 588, + "displayName": "Fire Coral", + "name": "fire_coral", + "hardness": 0, + "minStateId": 9000, + "maxStateId": 9001, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 459 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9000 + }, + { + "id": 589, + "displayName": "Horn Coral", + "name": "horn_coral", + "hardness": 0, + "minStateId": 9002, + "maxStateId": 9003, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 460 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9002 + }, + { + "id": 590, + "displayName": "Dead Tube Coral Fan", + "name": "dead_tube_coral_fan", + "hardness": 0, + "minStateId": 9004, + "maxStateId": 9005, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 471 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9004 + }, + { + "id": 591, + "displayName": "Dead Brain Coral Fan", + "name": "dead_brain_coral_fan", + "hardness": 0, + "minStateId": 9006, + "maxStateId": 9007, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 472 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9006 + }, + { + "id": 592, + "displayName": "Dead Bubble Coral Fan", + "name": "dead_bubble_coral_fan", + "hardness": 0, + "minStateId": 9008, + "maxStateId": 9009, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 473 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9008 + }, + { + "id": 593, + "displayName": "Dead Fire Coral Fan", + "name": "dead_fire_coral_fan", + "hardness": 0, + "minStateId": 9010, + "maxStateId": 9011, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 474 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9010 + }, + { + "id": 594, + "displayName": "Dead Horn Coral Fan", + "name": "dead_horn_coral_fan", + "hardness": 0, + "minStateId": 9012, + "maxStateId": 9013, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 475 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9012 + }, + { + "id": 595, + "displayName": "Tube Coral Fan", + "name": "tube_coral_fan", + "hardness": 0, + "minStateId": 9014, + "maxStateId": 9015, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 466 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9014 + }, + { + "id": 596, + "displayName": "Brain Coral Fan", + "name": "brain_coral_fan", + "hardness": 0, + "minStateId": 9016, + "maxStateId": 9017, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 467 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9016 + }, + { + "id": 597, + "displayName": "Bubble Coral Fan", + "name": "bubble_coral_fan", + "hardness": 0, + "minStateId": 9018, + "maxStateId": 9019, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 468 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9018 + }, + { + "id": 598, + "displayName": "Fire Coral Fan", + "name": "fire_coral_fan", + "hardness": 0, + "minStateId": 9020, + "maxStateId": 9021, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 469 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9020 + }, + { + "id": 599, + "displayName": "Horn Coral Fan", + "name": "horn_coral_fan", + "hardness": 0, + "minStateId": 9022, + "maxStateId": 9023, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 470 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9022 + }, + { + "id": 600, + "displayName": "Dead Tube Coral Wall Fan", + "name": "dead_tube_coral_wall_fan", + "hardness": 0, + "minStateId": 9024, + "maxStateId": 9031, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9024 + }, + { + "id": 601, + "displayName": "Dead Brain Coral Wall Fan", + "name": "dead_brain_coral_wall_fan", + "hardness": 0, + "minStateId": 9032, + "maxStateId": 9039, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9032 + }, + { + "id": 602, + "displayName": "Dead Bubble Coral Wall Fan", + "name": "dead_bubble_coral_wall_fan", + "hardness": 0, + "minStateId": 9040, + "maxStateId": 9047, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9040 + }, + { + "id": 603, + "displayName": "Dead Fire Coral Wall Fan", + "name": "dead_fire_coral_wall_fan", + "hardness": 0, + "minStateId": 9048, + "maxStateId": 9055, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9048 + }, + { + "id": 604, + "displayName": "Dead Horn Coral Wall Fan", + "name": "dead_horn_coral_wall_fan", + "hardness": 0, + "minStateId": 9056, + "maxStateId": 9063, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9056 + }, + { + "id": 605, + "displayName": "Tube Coral Wall Fan", + "name": "tube_coral_wall_fan", + "hardness": 0, + "minStateId": 9064, + "maxStateId": 9071, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9064 + }, + { + "id": 606, + "displayName": "Brain Coral Wall Fan", + "name": "brain_coral_wall_fan", + "hardness": 0, + "minStateId": 9072, + "maxStateId": 9079, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9072 + }, + { + "id": 607, + "displayName": "Bubble Coral Wall Fan", + "name": "bubble_coral_wall_fan", + "hardness": 0, + "minStateId": 9080, + "maxStateId": 9087, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9080 + }, + { + "id": 608, + "displayName": "Fire Coral Wall Fan", + "name": "fire_coral_wall_fan", + "hardness": 0, + "minStateId": 9088, + "maxStateId": 9095, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9088 + }, + { + "id": 609, + "displayName": "Horn Coral Wall Fan", + "name": "horn_coral_wall_fan", + "hardness": 0, + "minStateId": 9096, + "maxStateId": 9103, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9096 + }, + { + "id": 610, + "displayName": "Sea Pickle", + "name": "sea_pickle", + "hardness": 0, + "minStateId": 9104, + "maxStateId": 9111, + "states": [ + { + "name": "pickles", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 80 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9104 + }, + { + "id": 611, + "displayName": "Blue Ice", + "name": "blue_ice", + "hardness": 2.8, + "minStateId": 9112, + "maxStateId": 9112, + "states": [], + "drops": [ + 476 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9112 + }, + { + "id": 612, + "displayName": "Conduit", + "name": "conduit", + "hardness": 3, + "minStateId": 9113, + "maxStateId": 9114, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 477 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 9113 + }, + { + "id": 613, + "displayName": "Bamboo Sapling", + "name": "bamboo_sapling", + "hardness": 1, + "minStateId": 9115, + "maxStateId": 9115, + "states": [], + "drops": [ + 614 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9115 + }, + { + "id": 614, + "displayName": "Bamboo", + "name": "bamboo", + "hardness": 1, + "minStateId": 9116, + "maxStateId": 9127, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 2 + }, + { + "name": "leaves", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "small", + "large" + ] + }, + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 614 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9116 + }, + { + "id": 615, + "displayName": "Potted Bamboo", + "name": "potted_bamboo", + "hardness": 0, + "minStateId": 9128, + "maxStateId": 9128, + "states": [], + "drops": [ + 762, + 614 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9128 + }, + { + "id": 616, + "displayName": "Void Air", + "name": "void_air", + "hardness": 0, + "minStateId": 9129, + "maxStateId": 9129, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 9129 + }, + { + "id": 617, + "displayName": "Cave Air", + "name": "cave_air", + "hardness": 0, + "minStateId": 9130, + "maxStateId": 9130, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 9130 + }, + { + "id": 618, + "displayName": "Bubble Column", + "name": "bubble_column", + "hardness": 0, + "minStateId": 9131, + "maxStateId": 9132, + "states": [ + { + "name": "drag", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 9131 + }, + { + "id": 619, + "displayName": "Polished Granite Stairs", + "name": "polished_granite_stairs", + "hardness": 1.5, + "minStateId": 9133, + "maxStateId": 9212, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 478 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9144 + }, + { + "id": 620, + "displayName": "Smooth Red Sandstone Stairs", + "name": "smooth_red_sandstone_stairs", + "hardness": 2, + "minStateId": 9213, + "maxStateId": 9292, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 479 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9224 + }, + { + "id": 621, + "displayName": "Mossy Stone Brick Stairs", + "name": "mossy_stone_brick_stairs", + "hardness": 1.5, + "minStateId": 9293, + "maxStateId": 9372, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 480 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9304 + }, + { + "id": 622, + "displayName": "Polished Diorite Stairs", + "name": "polished_diorite_stairs", + "hardness": 1.5, + "minStateId": 9373, + "maxStateId": 9452, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 481 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9384 + }, + { + "id": 623, + "displayName": "Mossy Cobblestone Stairs", + "name": "mossy_cobblestone_stairs", + "hardness": 2, + "minStateId": 9453, + "maxStateId": 9532, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 482 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9464 + }, + { + "id": 624, + "displayName": "End Stone Brick Stairs", + "name": "end_stone_brick_stairs", + "hardness": 3, + "minStateId": 9533, + "maxStateId": 9612, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 483 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9544 + }, + { + "id": 625, + "displayName": "Stone Stairs", + "name": "stone_stairs", + "hardness": 1.5, + "minStateId": 9613, + "maxStateId": 9692, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 484 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9624 + }, + { + "id": 626, + "displayName": "Smooth Sandstone Stairs", + "name": "smooth_sandstone_stairs", + "hardness": 2, + "minStateId": 9693, + "maxStateId": 9772, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 485 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9704 + }, + { + "id": 627, + "displayName": "Smooth Quartz Stairs", + "name": "smooth_quartz_stairs", + "hardness": 2, + "minStateId": 9773, + "maxStateId": 9852, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 486 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9784 + }, + { + "id": 628, + "displayName": "Granite Stairs", + "name": "granite_stairs", + "hardness": 1.5, + "minStateId": 9853, + "maxStateId": 9932, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 487 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9864 + }, + { + "id": 629, + "displayName": "Andesite Stairs", + "name": "andesite_stairs", + "hardness": 1.5, + "minStateId": 9933, + "maxStateId": 10012, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 488 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9944 + }, + { + "id": 630, + "displayName": "Red Nether Brick Stairs", + "name": "red_nether_brick_stairs", + "hardness": 2, + "minStateId": 10013, + "maxStateId": 10092, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 489 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10024 + }, + { + "id": 631, + "displayName": "Polished Andesite Stairs", + "name": "polished_andesite_stairs", + "hardness": 1.5, + "minStateId": 10093, + "maxStateId": 10172, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 490 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10104 + }, + { + "id": 632, + "displayName": "Diorite Stairs", + "name": "diorite_stairs", + "hardness": 1.5, + "minStateId": 10173, + "maxStateId": 10252, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 491 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10184 + }, + { + "id": 633, + "displayName": "Polished Granite Slab", + "name": "polished_granite_slab", + "hardness": 1.5, + "minStateId": 10253, + "maxStateId": 10258, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 492 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10256 + }, + { + "id": 634, + "displayName": "Smooth Red Sandstone Slab", + "name": "smooth_red_sandstone_slab", + "hardness": 2, + "minStateId": 10259, + "maxStateId": 10264, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 493 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10262 + }, + { + "id": 635, + "displayName": "Mossy Stone Brick Slab", + "name": "mossy_stone_brick_slab", + "hardness": 1.5, + "minStateId": 10265, + "maxStateId": 10270, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 494 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10268 + }, + { + "id": 636, + "displayName": "Polished Diorite Slab", + "name": "polished_diorite_slab", + "hardness": 1.5, + "minStateId": 10271, + "maxStateId": 10276, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 495 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10274 + }, + { + "id": 637, + "displayName": "Mossy Cobblestone Slab", + "name": "mossy_cobblestone_slab", + "hardness": 2, + "minStateId": 10277, + "maxStateId": 10282, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 496 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10280 + }, + { + "id": 638, + "displayName": "End Stone Brick Slab", + "name": "end_stone_brick_slab", + "hardness": 3, + "minStateId": 10283, + "maxStateId": 10288, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 497 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10286 + }, + { + "id": 639, + "displayName": "Smooth Sandstone Slab", + "name": "smooth_sandstone_slab", + "hardness": 2, + "minStateId": 10289, + "maxStateId": 10294, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 498 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10292 + }, + { + "id": 640, + "displayName": "Smooth Quartz Slab", + "name": "smooth_quartz_slab", + "hardness": 2, + "minStateId": 10295, + "maxStateId": 10300, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 499 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10298 + }, + { + "id": 641, + "displayName": "Granite Slab", + "name": "granite_slab", + "hardness": 1.5, + "minStateId": 10301, + "maxStateId": 10306, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 500 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10304 + }, + { + "id": 642, + "displayName": "Andesite Slab", + "name": "andesite_slab", + "hardness": 1.5, + "minStateId": 10307, + "maxStateId": 10312, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 501 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10310 + }, + { + "id": 643, + "displayName": "Red Nether Brick Slab", + "name": "red_nether_brick_slab", + "hardness": 2, + "minStateId": 10313, + "maxStateId": 10318, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 502 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10316 + }, + { + "id": 644, + "displayName": "Polished Andesite Slab", + "name": "polished_andesite_slab", + "hardness": 1.5, + "minStateId": 10319, + "maxStateId": 10324, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 503 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10322 + }, + { + "id": 645, + "displayName": "Diorite Slab", + "name": "diorite_slab", + "hardness": 1.5, + "minStateId": 10325, + "maxStateId": 10330, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 504 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10328 + }, + { + "id": 646, + "displayName": "Brick Wall", + "name": "brick_wall", + "hardness": 2, + "minStateId": 10331, + "maxStateId": 10394, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 247 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10390 + }, + { + "id": 647, + "displayName": "Prismarine Wall", + "name": "prismarine_wall", + "hardness": 1.5, + "minStateId": 10395, + "maxStateId": 10458, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 248 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10454 + }, + { + "id": 648, + "displayName": "Red Sandstone Wall", + "name": "red_sandstone_wall", + "hardness": 0.8, + "minStateId": 10459, + "maxStateId": 10522, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 249 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10518 + }, + { + "id": 649, + "displayName": "Mossy Stone Brick Wall", + "name": "mossy_stone_brick_wall", + "hardness": 1.5, + "minStateId": 10523, + "maxStateId": 10586, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 250 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10582 + }, + { + "id": 650, + "displayName": "Granite Wall", + "name": "granite_wall", + "hardness": 1.5, + "minStateId": 10587, + "maxStateId": 10650, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 251 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10646 + }, + { + "id": 651, + "displayName": "Stone Brick Wall", + "name": "stone_brick_wall", + "hardness": 1.5, + "minStateId": 10651, + "maxStateId": 10714, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 252 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10710 + }, + { + "id": 652, + "displayName": "Nether Brick Wall", + "name": "nether_brick_wall", + "hardness": 2, + "minStateId": 10715, + "maxStateId": 10778, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 253 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10774 + }, + { + "id": 653, + "displayName": "Andesite Wall", + "name": "andesite_wall", + "hardness": 1.5, + "minStateId": 10779, + "maxStateId": 10842, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 254 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10838 + }, + { + "id": 654, + "displayName": "Red Nether Brick Wall", + "name": "red_nether_brick_wall", + "hardness": 2, + "minStateId": 10843, + "maxStateId": 10906, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 255 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10902 + }, + { + "id": 655, + "displayName": "Sandstone Wall", + "name": "sandstone_wall", + "hardness": 0.8, + "minStateId": 10907, + "maxStateId": 10970, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 256 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 10966 + }, + { + "id": 656, + "displayName": "End Stone Brick Wall", + "name": "end_stone_brick_wall", + "hardness": 3, + "minStateId": 10971, + "maxStateId": 11034, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 257 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 11030 + }, + { + "id": 657, + "displayName": "Diorite Wall", + "name": "diorite_wall", + "hardness": 1.5, + "minStateId": 11035, + "maxStateId": 11098, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 258 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 11094 + }, + { + "id": 658, + "displayName": "Scaffolding", + "name": "scaffolding", + "hardness": 0, + "minStateId": 11099, + "maxStateId": 11130, + "states": [ + { + "name": "bottom", + "type": "bool", + "num_values": 2 + }, + { + "name": "distance", + "type": "int", + "num_values": 8 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 505 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 11130 + }, + { + "id": 659, + "displayName": "Loom", + "name": "loom", + "hardness": 2.5, + "minStateId": 11131, + "maxStateId": 11134, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 859 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 11131 + }, + { + "id": 660, + "displayName": "Barrel", + "name": "barrel", + "hardness": 2.5, + "minStateId": 11135, + "maxStateId": 11146, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 865 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 11136 + }, + { + "id": 661, + "displayName": "Smoker", + "name": "smoker", + "hardness": 3.5, + "minStateId": 11147, + "maxStateId": 11154, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 866 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 11148 + }, + { + "id": 662, + "displayName": "Blast Furnace", + "name": "blast_furnace", + "hardness": 3.5, + "minStateId": 11155, + "maxStateId": 11162, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 867 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 11156 + }, + { + "id": 663, + "displayName": "Cartography Table", + "name": "cartography_table", + "hardness": 2.5, + "minStateId": 11163, + "maxStateId": 11163, + "states": [], + "drops": [ + 868 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 11163 + }, + { + "id": 664, + "displayName": "Fletching Table", + "name": "fletching_table", + "hardness": 2.5, + "minStateId": 11164, + "maxStateId": 11164, + "states": [], + "drops": [ + 869 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 11164 + }, + { + "id": 665, + "displayName": "Grindstone", + "name": "grindstone", + "hardness": 2, + "minStateId": 11165, + "maxStateId": 11176, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 870 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 11169 + }, + { + "id": 666, + "displayName": "Lectern", + "name": "lectern", + "hardness": 2.5, + "minStateId": 11177, + "maxStateId": 11192, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "has_book", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 871 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 11180 + }, + { + "id": 667, + "displayName": "Smithing Table", + "name": "smithing_table", + "hardness": 2.5, + "minStateId": 11193, + "maxStateId": 11193, + "states": [], + "drops": [ + 872 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 11193 + }, + { + "id": 668, + "displayName": "Stonecutter", + "name": "stonecutter", + "hardness": 3.5, + "minStateId": 11194, + "maxStateId": 11197, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 873 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 11194 + }, + { + "id": 669, + "displayName": "Bell", + "name": "bell", + "hardness": 5, + "minStateId": 11198, + "maxStateId": 11229, + "states": [ + { + "name": "attachment", + "type": "enum", + "num_values": 4, + "values": [ + "floor", + "ceiling", + "single_wall", + "double_wall" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 874 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 11199 + }, + { + "id": 670, + "displayName": "Lantern", + "name": "lantern", + "hardness": 3.5, + "minStateId": 11230, + "maxStateId": 11231, + "states": [ + { + "name": "hanging", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 875 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "521": true, + "535": true, + "539": true, + "543": true, + "550": true + }, + "defaultState": 11231 + }, + { + "id": 671, + "displayName": "Campfire", + "name": "campfire", + "hardness": 2, + "minStateId": 11232, + "maxStateId": 11263, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + }, + { + "name": "signal_fire", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 877, + 528 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "material": "UNKNOWN_MATERIAL", + "defaultState": 11235 + }, + { + "id": 672, + "displayName": "Sweet Berry Bush", + "name": "sweet_berry_bush", + "hardness": 0, + "minStateId": 11264, + "maxStateId": 11267, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 876 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 11264 + }, + { + "id": 673, + "displayName": "Structure Block", + "name": "structure_block", + "hardness": null, + "minStateId": 11268, + "maxStateId": 11271, + "states": [ + { + "name": "mode", + "type": "enum", + "num_values": 4, + "values": [ + "save", + "load", + "corner", + "data" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 11268 + }, + { + "id": 674, + "displayName": "Jigsaw Block", + "name": "jigsaw", + "hardness": null, + "minStateId": 11272, + "maxStateId": 11277, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 11276 + }, + { + "id": 675, + "displayName": "Composter", + "name": "composter", + "hardness": 0.6, + "minStateId": 11278, + "maxStateId": 11286, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 9 + } + ], + "drops": [ + 517, + 646 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 11278 + }, + { + "id": 676, + "displayName": "Bee Nest", + "name": "bee_nest", + "hardness": 0.3, + "minStateId": 11287, + "maxStateId": 11310, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "honey_level", + "type": "int", + "num_values": 6 + } + ], + "drops": [ + 879 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 11287 + }, + { + "id": 677, + "displayName": "Beehive", + "name": "beehive", + "hardness": 0.6, + "minStateId": 11311, + "maxStateId": 11334, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "honey_level", + "type": "int", + "num_values": 6 + } + ], + "drops": [ + 880 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "UNKNOWN_MATERIAL", + "defaultState": 11311 + }, + { + "id": 678, + "displayName": "Honey Block", + "name": "honey_block", + "hardness": 0, + "minStateId": 11335, + "maxStateId": 11335, + "states": [], + "drops": [ + 882 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "defaultState": 11335 + }, + { + "id": 679, + "displayName": "Honeycomb Block", + "name": "honeycomb_block", + "hardness": 0.6, + "minStateId": 11336, + "maxStateId": 11336, + "states": [], + "drops": [ + 883 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "defaultState": 11336 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/commands.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/commands.json new file mode 100644 index 00000000..e2d2cbf9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/commands.json @@ -0,0 +1,13611 @@ +{ + "root": { + "type": "root", + "name": "root", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "advancement", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "grant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "revoke", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "base", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modifier", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply_base", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "ban", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ban-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "banlist", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ips", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "visible", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "blue", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "green", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pink", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "purple", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "red", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "white", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "yellow", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "max", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ] + }, + { + "type": "literal", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "style", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "notched_10", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_12", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_20", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_6", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "progress", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "visible", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "visible", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxCount", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "clone", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "begin", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "filtered", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "datapack", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "disable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "after", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "before", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "first", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "last", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "available", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "enabled", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ] + }, + { + "type": "literal", + "name": "debug", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "report", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "start", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "defaultgamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "deop", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "difficulty", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "easy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hard", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "peaceful", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "effect", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "seconds", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amplifier", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "hideParticles", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + } + } + } + ], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "enchant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "enchantment", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "level", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_enchantment", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "execute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "align", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "axes", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:swizzle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "anchored", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "at", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "if", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "in", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "dimension", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:dimension", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "positioned", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rotated", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "rot", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "run", + "executable": false, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "store", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "result", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "success", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "unless", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "experience", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "fill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hollow", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "outline", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forceload", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "gamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "gamerule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "announceAdvancements", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "commandBlockOutput", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableElytraMovementCheck", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableRaids", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doDaylightCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doEntityDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doFireTick", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doImmediateRespawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doInsomnia", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doLimitedCrafting", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobLoot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doPatrolSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTileDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTraderSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doWeatherCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "drowningDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fallDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fireDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forgiveDeadPlayers", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "keepInventory", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "logAdminCommands", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxCommandChainLength", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxEntityCramming", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mobGriefing", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "naturalRegeneration", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "randomTickSpeed", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "reducedDebugInfo", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "sendCommandFeedback", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "showDeathMessages", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnRadius", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spectatorsGenerateChunks", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "universalAnger", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "help", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "command", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "kick", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "uuids", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "bastion_remnant", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "buried_treasure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "desert_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "endcity", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "fortress", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "igloo", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "jungle_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mansion", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mineshaft", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "monument", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "nether_fossil", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ocean_ruin", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pillager_outpost", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ruined_portal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "shipwreck", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stronghold", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "swamp_hut", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "village", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locatebiome", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "biome", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "spawn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "me", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "action", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "msg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "op", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "particle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "delta", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "speed", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:particle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "playsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ambient", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "publish", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "port", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + } + } + } + ] + }, + { + "type": "literal", + "name": "recipe", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "take", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replaceitem", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "save-all", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "flush", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "save-off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "save-on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "say", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "schedule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "scoreboard", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "objectives", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criteria", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective_criteria", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "displayname", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rendertype", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "hearts", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "integer", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setdisplay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:scoreboard_slot", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:operation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "reset", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "seed", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "setblock", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setidletimeout", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minutes", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "setworldspawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnpoint", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectate", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "player", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "spreadplayers", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "spreadDistance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxRange", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "under", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxHeight", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stopsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ambient", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "summon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity_summon", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tag", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "empty", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "join", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "leave", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "collisionRule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOwnTeam", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:color", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "deathMessageVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "displayName", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "friendlyFire", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "nametagVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "prefix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "prefix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "seeFriendlyInvisibles", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "suffix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "suffix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "teammsg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "teleport", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "tell", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tellraw", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "daytime", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "gametime", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "midnight", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "night", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "noon", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "actionbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reset", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "subtitle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "times", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeIn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "stay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeOut", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tm", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "trigger", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "w", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "rain", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "thunder", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "whitelist", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "worldborder", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "damage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "amount", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "damagePerBlock", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "buffer", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "warning", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "distance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "xp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + } + ] + }, + "parsers": [ + { + "parser": "minecraft:resource_location", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + }, + "examples": [ + "word", + "words with spaces", + "\\\" and symbols\\\"" + ] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + }, + "examples": [ + "@a" + ] + }, + { + "parser": "brigadier:double", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + }, + "examples": [ + "\\\"quoted phrase\\\"", + "word", + "" + ] + }, + { + "parser": "minecraft:uuid", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:message", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:game_profile", + "modifier": null, + "examples": [ + "Player", + "0123", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "@e" + ] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "word" + }, + "examples": [ + "word", + "word_with_underscore" + ] + }, + { + "parser": "minecraft:component", + "modifier": null, + "examples": [ + "\"hello world\"", + "\"\"", + "\"{\"text\":\"hello world\"}\"", + "[\"\"]" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + }, + "examples": [ + "1" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + }, + "examples": [ + "0", + "1" + ] + }, + { + "parser": "brigadier:bool", + "modifier": null, + "examples": [ + "true", + "false" + ] + }, + { + "parser": "minecraft:item_predicate", + "modifier": null, + "examples": [ + "stick", + "minecraft:stick", + "#stick", + "diamond_sword{ench:[{id:16,lvl:5}]}" + ] + }, + { + "parser": "minecraft:block_predicate", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "#stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:block_pos", + "modifier": null, + "examples": [ + "0 0 0", + "~ ~ ~", + "^ ^ ^", + "^1 ^ ^-5", + "~0.5 ~1 ~-5" + ] + }, + { + "parser": "minecraft:nbt_path", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_compound_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:integer", + "modifier": null, + "examples": [ + "1", + "0", + "10" + ] + }, + { + "parser": "minecraft:mob_effect", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + }, + "examples": [ + "@e", + "@e[type=cow]", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "Player" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + }, + "examples": [ + "0", + "255" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + }, + "examples": [ + "1", + "1000000" + ] + }, + { + "parser": "minecraft:item_enchantment", + "modifier": null, + "examples": [ + "unbreaking", + "minecraft:slik_touch" + ] + }, + { + "parser": "minecraft:swizzle", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_anchor", + "modifier": null, + "examples": [ + "eyes", + "feet" + ] + }, + { + "parser": "minecraft:vec3", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + }, + "examples": [] + }, + { + "parser": "minecraft:int_range", + "modifier": null, + "examples": [ + "0..5", + "0", + "-5", + "-100..", + "..100" + ] + }, + { + "parser": "minecraft:dimension", + "modifier": null, + "examples": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end", + "overworld", + "the_end", + "the_nether" + ] + }, + { + "parser": "minecraft:rotation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + }, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:block_state", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:column_pos", + "modifier": null, + "examples": [ + "0 0", + "~ ~", + "~1 ~-2", + "^ ^", + "^-1 ^0" + ] + }, + { + "parser": "minecraft:function", + "modifier": null, + "examples": [ + "foo", + "foo:bar", + "#foo" + ] + }, + { + "parser": "minecraft:item_stack", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:item_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + }, + "examples": [ + "0.0", + "0", + "1", + "0.01" + ] + }, + { + "parser": "minecraft:particle", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + }, + "examples": [ + "0.0", + "0", + "1", + "1.0", + "0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + }, + "examples": [ + "0", + "2", + "1.0", + "2.0" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + }, + "examples": [ + "0", + "65535" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + }, + "examples": [ + "1", + "64" + ] + }, + { + "parser": "minecraft:time", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective_criteria", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:scoreboard_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:operation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:angle", + "modifier": null, + "examples": [ + "0", + "~", + "~-0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + }, + "examples": [ + "1", + "1.0", + "1.000" + ] + }, + { + "parser": "minecraft:vec2", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_summon", + "modifier": null, + "examples": [ + "minecraft:pig", + "cow" + ] + }, + { + "parser": "minecraft:team", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:color", + "modifier": null, + "examples": [ + "aqua", + "black", + "blue", + "dark_aqua", + "dark_blue", + "dark_gray", + "dark_green", + "dark_purple", + "dark_red", + "gold", + "gray", + "green", + "light_purple", + "red", + "reset", + "yellow", + "white" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + }, + "examples": [ + "0", + "1000000" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + }, + "examples": [] + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/effects.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/effects.json new file mode 100644 index 00000000..3725cdf0 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/effects.json @@ -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" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/entities.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/entities.json new file mode 100644 index 00000000..bb7fdd0b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/entities.json @@ -0,0 +1,1032 @@ +[ + { + "id": 0, + "internalId": 0, + "name": "area_effect_cloud", + "displayName": "Area Effect Cloud", + "width": 6, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 1, + "internalId": 1, + "name": "armor_stand", + "displayName": "Armor Stand", + "width": 0.5, + "height": 1.975, + "type": "mob", + "category": "Immobile" + }, + { + "id": 2, + "internalId": 2, + "name": "arrow", + "displayName": "Arrow", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 3, + "internalId": 3, + "name": "bat", + "displayName": "Bat", + "width": 0.5, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 4, + "internalId": 4, + "name": "bee", + "displayName": "Bee", + "width": 0.7, + "height": 0.6, + "type": "UNKNOWN", + "category": "UNKNOWN" + }, + { + "id": 5, + "internalId": 5, + "name": "blaze", + "displayName": "Blaze", + "width": 0.6, + "height": 1.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 6, + "internalId": 6, + "name": "boat", + "displayName": "Boat", + "width": 1.375, + "height": 0.5625, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 7, + "internalId": 7, + "name": "cat", + "displayName": "Cat", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 8, + "internalId": 8, + "name": "cave_spider", + "displayName": "Cave Spider", + "width": 0.7, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 9, + "internalId": 9, + "name": "chicken", + "displayName": "Chicken", + "width": 0.4, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 10, + "internalId": 10, + "name": "cod", + "displayName": "Cod", + "width": 0.5, + "height": 0.3, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 11, + "internalId": 11, + "name": "cow", + "displayName": "Cow", + "width": 0.9, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 12, + "internalId": 12, + "name": "creeper", + "displayName": "Creeper", + "width": 0.6, + "height": 1.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 13, + "internalId": 13, + "name": "donkey", + "displayName": "Donkey", + "width": 1.39648, + "height": 1.5, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 14, + "internalId": 14, + "name": "dolphin", + "displayName": "Dolphin", + "width": 0.9, + "height": 0.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 15, + "internalId": 15, + "name": "dragon_fireball", + "displayName": "Dragon Fireball", + "width": 1, + "height": 1, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 16, + "internalId": 16, + "name": "drowned", + "displayName": "Drowned", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 17, + "internalId": 17, + "name": "elder_guardian", + "displayName": "Elder Guardian", + "width": 1.9975, + "height": 1.9975, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 18, + "internalId": 18, + "name": "end_crystal", + "displayName": "End Crystal", + "width": 2, + "height": 2, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 19, + "internalId": 19, + "name": "ender_dragon", + "displayName": "Ender Dragon", + "width": 16, + "height": 8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 20, + "internalId": 20, + "name": "enderman", + "displayName": "Enderman", + "width": 0.6, + "height": 2.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 21, + "internalId": 21, + "name": "endermite", + "displayName": "Endermite", + "width": 0.4, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 22, + "internalId": 22, + "name": "evoker_fangs", + "displayName": "Evoker Fangs", + "width": 0.5, + "height": 0.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 23, + "internalId": 23, + "name": "evoker", + "displayName": "Evoker", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 24, + "internalId": 24, + "name": "experience_orb", + "displayName": "Experience Orb", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 25, + "internalId": 25, + "name": "eye_of_ender", + "displayName": "Eye of Ender", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 26, + "internalId": 26, + "name": "falling_block", + "displayName": "Falling Block", + "width": 0.98, + "height": 0.98, + "type": "mob", + "category": "Blocks" + }, + { + "id": 27, + "internalId": 27, + "name": "firework_rocket", + "displayName": "Firework Rocket", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 28, + "internalId": 28, + "name": "fox", + "displayName": "Fox", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 29, + "internalId": 29, + "name": "ghast", + "displayName": "Ghast", + "width": 4, + "height": 4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 30, + "internalId": 30, + "name": "giant", + "displayName": "Giant", + "width": 3.6, + "height": 12, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 31, + "internalId": 31, + "name": "guardian", + "displayName": "Guardian", + "width": 0.85, + "height": 0.85, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 32, + "internalId": 32, + "name": "horse", + "displayName": "Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 33, + "internalId": 33, + "name": "husk", + "displayName": "Husk", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 34, + "internalId": 34, + "name": "illusioner", + "displayName": "Illusioner", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 35, + "internalId": 35, + "name": "item", + "displayName": "Item", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Drops" + }, + { + "id": 36, + "internalId": 36, + "name": "item_frame", + "displayName": "Item Frame", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 37, + "internalId": 37, + "name": "fireball", + "displayName": "Fireball", + "width": 1, + "height": 1, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 38, + "internalId": 38, + "name": "leash_knot", + "displayName": "Leash Knot", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 39, + "internalId": 39, + "name": "llama", + "displayName": "Llama", + "width": 0.9, + "height": 1.87, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 40, + "internalId": 40, + "name": "llama_spit", + "displayName": "Llama Spit", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 41, + "internalId": 41, + "name": "magma_cube", + "displayName": "Magma Cube", + "width": 2.04, + "height": 2.04, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 42, + "internalId": 42, + "name": "minecart", + "displayName": "Minecart", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 43, + "internalId": 43, + "name": "chest_minecart", + "displayName": "Minecart with Chest", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 44, + "internalId": 44, + "name": "command_block_minecart", + "displayName": "Minecart with Command Block", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 45, + "internalId": 45, + "name": "furnace_minecart", + "displayName": "Minecart with Furnace", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 46, + "internalId": 46, + "name": "hopper_minecart", + "displayName": "Minecart with Hopper", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 47, + "internalId": 47, + "name": "spawner_minecart", + "displayName": "Minecart with Spawner", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 48, + "internalId": 48, + "name": "tnt_minecart", + "displayName": "Minecart with TNT", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 49, + "internalId": 49, + "name": "mule", + "displayName": "Mule", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 50, + "internalId": 50, + "name": "mooshroom", + "displayName": "Mooshroom", + "width": 0.9, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 51, + "internalId": 51, + "name": "ocelot", + "displayName": "Ocelot", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 52, + "internalId": 52, + "name": "painting", + "displayName": "Painting", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 53, + "internalId": 53, + "name": "panda", + "displayName": "Panda", + "width": 1.3, + "height": 1.25, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 54, + "internalId": 54, + "name": "parrot", + "displayName": "Parrot", + "width": 0.5, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 55, + "internalId": 55, + "name": "pig", + "displayName": "Pig", + "width": 0.9, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 56, + "internalId": 56, + "name": "pufferfish", + "displayName": "Pufferfish", + "width": 0.7, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 57, + "internalId": 57, + "name": "zombie_pigman", + "displayName": "Zombie Pigman", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 58, + "internalId": 58, + "name": "polar_bear", + "displayName": "Polar Bear", + "width": 1.4, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 59, + "internalId": 59, + "name": "tnt", + "displayName": "Primed TNT", + "width": 0.98, + "height": 0.98, + "type": "mob", + "category": "Blocks" + }, + { + "id": 60, + "internalId": 60, + "name": "rabbit", + "displayName": "Rabbit", + "width": 0.4, + "height": 0.5, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 61, + "internalId": 61, + "name": "salmon", + "displayName": "Salmon", + "width": 0.7, + "height": 0.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 62, + "internalId": 62, + "name": "sheep", + "displayName": "Sheep", + "width": 0.9, + "height": 1.3, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 63, + "internalId": 63, + "name": "shulker", + "displayName": "Shulker", + "width": 1, + "height": 1, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 64, + "internalId": 64, + "name": "shulker_bullet", + "displayName": "Shulker Bullet", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 65, + "internalId": 65, + "name": "silverfish", + "displayName": "Silverfish", + "width": 0.4, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 66, + "internalId": 66, + "name": "skeleton", + "displayName": "Skeleton", + "width": 0.6, + "height": 1.99, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 67, + "internalId": 67, + "name": "skeleton_horse", + "displayName": "Skeleton Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 68, + "internalId": 68, + "name": "slime", + "displayName": "Slime", + "width": 2.04, + "height": 2.04, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 69, + "internalId": 69, + "name": "small_fireball", + "displayName": "Small Fireball", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 70, + "internalId": 70, + "name": "snow_golem", + "displayName": "Snow Golem", + "width": 0.7, + "height": 1.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 71, + "internalId": 71, + "name": "snowball", + "displayName": "Snowball", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 72, + "internalId": 72, + "name": "spectral_arrow", + "displayName": "Spectral Arrow", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 73, + "internalId": 73, + "name": "spider", + "displayName": "Spider", + "width": 1.4, + "height": 0.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 74, + "internalId": 74, + "name": "squid", + "displayName": "Squid", + "width": 0.8, + "height": 0.8, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 75, + "internalId": 75, + "name": "stray", + "displayName": "Stray", + "width": 0.6, + "height": 1.99, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 76, + "internalId": 76, + "name": "trader_llama", + "displayName": "Trader Llama", + "width": 0.9, + "height": 1.87, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 77, + "internalId": 77, + "name": "tropical_fish", + "displayName": "Tropical Fish", + "width": 0.5, + "height": 0.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 78, + "internalId": 78, + "name": "turtle", + "displayName": "Turtle", + "width": 1.2, + "height": 0.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 79, + "internalId": 79, + "name": "egg", + "displayName": "Thrown Egg", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 80, + "internalId": 80, + "name": "ender_pearl", + "displayName": "Thrown Ender Pearl", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 81, + "internalId": 81, + "name": "experience_bottle", + "displayName": "Thrown Bottle o' Enchanting", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 82, + "internalId": 82, + "name": "potion", + "displayName": "Potion", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 83, + "internalId": 83, + "name": "trident", + "displayName": "Trident", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 84, + "internalId": 84, + "name": "vex", + "displayName": "Vex", + "width": 0.4, + "height": 0.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 85, + "internalId": 85, + "name": "villager", + "displayName": "Villager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 86, + "internalId": 86, + "name": "iron_golem", + "displayName": "Iron Golem", + "width": 1.4, + "height": 2.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 87, + "internalId": 87, + "name": "vindicator", + "displayName": "Vindicator", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 88, + "internalId": 88, + "name": "pillager", + "displayName": "Pillager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 89, + "internalId": 89, + "name": "wandering_trader", + "displayName": "Wandering Trader", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 90, + "internalId": 90, + "name": "witch", + "displayName": "Witch", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 91, + "internalId": 91, + "name": "wither", + "displayName": "Wither", + "width": 0.9, + "height": 3.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 92, + "internalId": 92, + "name": "wither_skeleton", + "displayName": "Wither Skeleton", + "width": 0.7, + "height": 2.4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 93, + "internalId": 93, + "name": "wither_skull", + "displayName": "Wither Skull", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 94, + "internalId": 94, + "name": "wolf", + "displayName": "Wolf", + "width": 0.6, + "height": 0.85, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 95, + "internalId": 95, + "name": "zombie", + "displayName": "Zombie", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 96, + "internalId": 96, + "name": "zombie_horse", + "displayName": "Zombie Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 97, + "internalId": 97, + "name": "zombie_villager", + "displayName": "Zombie Villager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 98, + "internalId": 98, + "name": "phantom", + "displayName": "Phantom", + "width": 0.9, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 99, + "internalId": 99, + "name": "ravager", + "displayName": "Ravager", + "width": 1.95, + "height": 2.2, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 100, + "internalId": 100, + "name": "lightning_bolt", + "displayName": "Lightning Bolt", + "width": 0, + "height": 0, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 101, + "internalId": 101, + "name": "player", + "displayName": "Player", + "width": 0.6, + "height": 1.8, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 102, + "internalId": 102, + "name": "fishing_bobber", + "displayName": "Fishing Bobber", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "UNKNOWN" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/entityLoot.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/entityLoot.json new file mode 100644 index 00000000..e1484eb0 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/entityLoot.json @@ -0,0 +1,1093 @@ +[ + { + "entity": "armor_stand", + "drops": [] + }, + { + "entity": "bat", + "drops": [] + }, + { + "entity": "bee", + "drops": [] + }, + { + "entity": "blaze", + "drops": [ + { + "item": "blaze_rod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "cat", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "cave_spider", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spider_eye", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "chicken", + "drops": [ + { + "item": "feather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "chicken", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "cod", + "drops": [ + { + "item": "cod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "cow", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "beef", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "creeper", + "drops": [ + { + "item": "gunpowder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "dolphin", + "drops": [ + { + "item": "cod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "donkey", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "drowned", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gold_ingot", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "elder_guardian", + "drops": [ + { + "item": "prismarine_shard", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cod", + "dropChance": 0.6, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "prismarine_crystals", + "dropChance": 0.4, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wet_sponge", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "ender_dragon", + "drops": [] + }, + { + "entity": "enderman", + "drops": [ + { + "item": "ender_pearl", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "endermite", + "drops": [] + }, + { + "entity": "evoker", + "drops": [ + { + "item": "totem_of_undying", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "emerald", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "fox", + "drops": [] + }, + { + "entity": "ghast", + "drops": [ + { + "item": "ghast_tear", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gunpowder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "giant", + "drops": [] + }, + { + "entity": "guardian", + "drops": [ + { + "item": "prismarine_shard", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cod", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "prismarine_crystals", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "horse", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "husk", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "carrot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "potato", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "illusioner", + "drops": [] + }, + { + "entity": "iron_golem", + "drops": [ + { + "item": "poppy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "llama", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "magma_cube", + "drops": [ + { + "item": "magma_cream", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "mooshroom", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "beef", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "mule", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "ocelot", + "drops": [] + }, + { + "entity": "panda", + "drops": [ + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "parrot", + "drops": [ + { + "item": "feather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "phantom", + "drops": [ + { + "item": "phantom_membrane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "pig", + "drops": [ + { + "item": "porkchop", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "pillager", + "drops": [] + }, + { + "entity": "player", + "drops": [] + }, + { + "entity": "polar_bear", + "drops": [ + { + "item": "cod", + "dropChance": 0.75, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "salmon", + "dropChance": 0.25, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "pufferfish", + "drops": [ + { + "item": "pufferfish", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "rabbit", + "drops": [ + { + "item": "rabbit_hide", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "rabbit", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "rabbit_foot", + "dropChance": 0.1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "ravager", + "drops": [ + { + "item": "saddle", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "salmon", + "drops": [ + { + "item": "salmon", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "sheep", + "drops": [ + { + "item": "mutton", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "shulker", + "drops": [ + { + "item": "shulker_shell", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "silverfish", + "drops": [] + }, + { + "entity": "skeleton", + "drops": [ + { + "item": "arrow", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "skeleton_horse", + "drops": [ + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "slime", + "drops": [ + { + "item": "slime_ball", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "snow_golem", + "drops": [ + { + "item": "snowball", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "spider", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spider_eye", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "squid", + "drops": [ + { + "item": "ink_sac", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "stray", + "drops": [ + { + "item": "arrow", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "tipped_arrow", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "trader_llama", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "tropical_fish", + "drops": [ + { + "item": "tropical_fish", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "turtle", + "drops": [ + { + "item": "seagrass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bowl", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "vex", + "drops": [] + }, + { + "entity": "villager", + "drops": [] + }, + { + "entity": "vindicator", + "drops": [ + { + "item": "emerald", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "wandering_trader", + "drops": [] + }, + { + "entity": "witch", + "drops": [ + { + "item": "glowstone_dust", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "sugar", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "redstone", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spider_eye", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "glass_bottle", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gunpowder", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 0.25, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "wither", + "drops": [] + }, + { + "entity": "wither_skeleton", + "drops": [ + { + "item": "coal", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wither_skeleton_skull", + "dropChance": 0.025, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "wolf", + "drops": [] + }, + { + "entity": "zombie", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "carrot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "potato", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "zombie_horse", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "zombie_pigman", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gold_nugget", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gold_ingot", + "dropChance": 0.025, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "zombie_villager", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "carrot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "potato", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/foods.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/foods.json new file mode 100644 index 00000000..dde9c7a8 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/foods.json @@ -0,0 +1,402 @@ +[ + { + "id": 524, + "displayName": "Apple", + "name": "apple", + "stackSize": 64, + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 547, + "displayName": "Mushroom Stew", + "name": "mushroom_stew", + "stackSize": 1, + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 562, + "displayName": "Bread", + "name": "bread", + "stackSize": 64, + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 584, + "displayName": "Raw Porkchop", + "name": "porkchop", + "stackSize": 64, + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 585, + "displayName": "Cooked Porkchop", + "name": "cooked_porkchop", + "stackSize": 64, + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 587, + "displayName": "Golden Apple", + "name": "golden_apple", + "stackSize": 64, + "foodPoints": 4, + "saturation": 9.6, + "effectiveQuality": 13.6, + "saturationRatio": 2.4 + }, + { + "id": 588, + "displayName": "Enchanted Golden Apple", + "name": "enchanted_golden_apple", + "stackSize": 64, + "foodPoints": 4, + "saturation": 9.6, + "effectiveQuality": 13.6, + "saturationRatio": 2.4 + }, + { + "id": 625, + "displayName": "Raw Cod", + "name": "cod", + "stackSize": 64, + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 626, + "displayName": "Raw Salmon", + "name": "salmon", + "stackSize": 64, + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 627, + "displayName": "Tropical Fish", + "name": "tropical_fish", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.2, + "effectiveQuality": 1.2, + "saturationRatio": 0.2 + }, + { + "id": 628, + "displayName": "Pufferfish", + "name": "pufferfish", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.2, + "effectiveQuality": 1.2, + "saturationRatio": 0.2 + }, + { + "id": 629, + "displayName": "Cooked Cod", + "name": "cooked_cod", + "stackSize": 64, + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 630, + "displayName": "Cooked Salmon", + "name": "cooked_salmon", + "stackSize": 64, + "foodPoints": 6, + "saturation": 9.6, + "effectiveQuality": 15.6, + "saturationRatio": 1.5999999999999999 + }, + { + "id": 653, + "displayName": "Cake", + "name": "cake", + "stackSize": 1, + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 670, + "displayName": "Cookie", + "name": "cookie", + "stackSize": 64, + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 673, + "displayName": "Melon Slice", + "name": "melon_slice", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 674, + "displayName": "Dried Kelp", + "name": "dried_kelp", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.6, + "effectiveQuality": 1.6, + "saturationRatio": 0.6 + }, + { + "id": 677, + "displayName": "Raw Beef", + "name": "beef", + "stackSize": 64, + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 678, + "displayName": "Steak", + "name": "cooked_beef", + "stackSize": 64, + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 679, + "displayName": "Raw Chicken", + "name": "chicken", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 680, + "displayName": "Cooked Chicken", + "name": "cooked_chicken", + "stackSize": 64, + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 681, + "displayName": "Rotten Flesh", + "name": "rotten_flesh", + "stackSize": 64, + "foodPoints": 4, + "saturation": 0.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.2 + }, + { + "id": 689, + "displayName": "Spider Eye", + "name": "spider_eye", + "stackSize": 64, + "foodPoints": 2, + "saturation": 3.2, + "effectiveQuality": 5.2, + "saturationRatio": 1.6 + }, + { + "id": 763, + "displayName": "Carrot", + "name": "carrot", + "stackSize": 64, + "foodPoints": 3, + "saturation": 3.6, + "effectiveQuality": 6.6, + "saturationRatio": 1.2 + }, + { + "id": 764, + "displayName": "Potato", + "name": "potato", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.6, + "effectiveQuality": 1.6, + "saturationRatio": 0.6 + }, + { + "id": 765, + "displayName": "Baked Potato", + "name": "baked_potato", + "stackSize": 64, + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 766, + "displayName": "Poisonous Potato", + "name": "poisonous_potato", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 768, + "displayName": "Golden Carrot", + "name": "golden_carrot", + "stackSize": 64, + "foodPoints": 6, + "saturation": 14.4, + "effectiveQuality": 20.4, + "saturationRatio": 2.4 + }, + { + "id": 777, + "displayName": "Pumpkin Pie", + "name": "pumpkin_pie", + "stackSize": 64, + "foodPoints": 8, + "saturation": 4.8, + "effectiveQuality": 12.8, + "saturationRatio": 0.6 + }, + { + "id": 787, + "displayName": "Raw Rabbit", + "name": "rabbit", + "stackSize": 64, + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 788, + "displayName": "Cooked Rabbit", + "name": "cooked_rabbit", + "stackSize": 64, + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 789, + "displayName": "Rabbit Stew", + "name": "rabbit_stew", + "stackSize": 1, + "foodPoints": 10, + "saturation": 12, + "effectiveQuality": 22, + "saturationRatio": 1.2 + }, + { + "id": 800, + "displayName": "Raw Mutton", + "name": "mutton", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 801, + "displayName": "Cooked Mutton", + "name": "cooked_mutton", + "stackSize": 64, + "foodPoints": 6, + "saturation": 9.6, + "effectiveQuality": 15.6, + "saturationRatio": 1.5999999999999999 + }, + { + "id": 819, + "displayName": "Chorus Fruit", + "name": "chorus_fruit", + "stackSize": 64, + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 821, + "displayName": "Beetroot", + "name": "beetroot", + "stackSize": 64, + "foodPoints": 1, + "saturation": 1.2, + "effectiveQuality": 2.2, + "saturationRatio": 1.2 + }, + { + "id": 823, + "displayName": "Beetroot Soup", + "name": "beetroot_soup", + "stackSize": 1, + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 858, + "displayName": "Suspicious Stew", + "name": "suspicious_stew", + "stackSize": 1, + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 876, + "displayName": "Sweet Berries", + "name": "sweet_berries", + "stackSize": 64, + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 881, + "displayName": "Honey Bottle", + "name": "honey_bottle", + "stackSize": 16, + "foodPoints": 6, + "saturation": 1.2, + "effectiveQuality": 7.2, + "saturationRatio": 0.19999999999999998 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/instruments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/instruments.json new file mode 100644 index 00000000..471d4f29 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/instruments.json @@ -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": "guiter" + }, + { + "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" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/items.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/items.json new file mode 100644 index 00000000..b14a3436 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/items.json @@ -0,0 +1,5306 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Granite", + "name": "granite", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Polished Granite", + "name": "polished_granite", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Diorite", + "name": "diorite", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Polished Diorite", + "name": "polished_diorite", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Andesite", + "name": "andesite", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Polished Andesite", + "name": "polished_andesite", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Grass Block", + "name": "grass_block", + "stackSize": 64 + }, + { + "id": 9, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Coarse Dirt", + "name": "coarse_dirt", + "stackSize": 64 + }, + { + "id": 11, + "displayName": "Podzol", + "name": "podzol", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Oak Planks", + "name": "oak_planks", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Spruce Planks", + "name": "spruce_planks", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Birch Planks", + "name": "birch_planks", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Jungle Planks", + "name": "jungle_planks", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Acacia Planks", + "name": "acacia_planks", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Dark Oak Planks", + "name": "dark_oak_planks", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Oak Sapling", + "name": "oak_sapling", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Spruce Sapling", + "name": "spruce_sapling", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Birch Sapling", + "name": "birch_sapling", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Jungle Sapling", + "name": "jungle_sapling", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Acacia Sapling", + "name": "acacia_sapling", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Dark Oak Sapling", + "name": "dark_oak_sapling", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 26, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Red Sand", + "name": "red_sand", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 29, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Oak Log", + "name": "oak_log", + "stackSize": 64 + }, + { + "id": 33, + "displayName": "Spruce Log", + "name": "spruce_log", + "stackSize": 64 + }, + { + "id": 34, + "displayName": "Birch Log", + "name": "birch_log", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Jungle Log", + "name": "jungle_log", + "stackSize": 64 + }, + { + "id": 36, + "displayName": "Acacia Log", + "name": "acacia_log", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Dark Oak Log", + "name": "dark_oak_log", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Stripped Oak Log", + "name": "stripped_oak_log", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Stripped Spruce Log", + "name": "stripped_spruce_log", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Stripped Birch Log", + "name": "stripped_birch_log", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Stripped Jungle Log", + "name": "stripped_jungle_log", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Stripped Acacia Log", + "name": "stripped_acacia_log", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Stripped Dark Oak Log", + "name": "stripped_dark_oak_log", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Stripped Oak Wood", + "name": "stripped_oak_wood", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Stripped Spruce Wood", + "name": "stripped_spruce_wood", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "Stripped Birch Wood", + "name": "stripped_birch_wood", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Stripped Jungle Wood", + "name": "stripped_jungle_wood", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Stripped Acacia Wood", + "name": "stripped_acacia_wood", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Stripped Dark Oak Wood", + "name": "stripped_dark_oak_wood", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Oak Wood", + "name": "oak_wood", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Spruce Wood", + "name": "spruce_wood", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Birch Wood", + "name": "birch_wood", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Jungle Wood", + "name": "jungle_wood", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Dark Oak Wood", + "name": "dark_oak_wood", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Oak Leaves", + "name": "oak_leaves", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Spruce Leaves", + "name": "spruce_leaves", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Birch Leaves", + "name": "birch_leaves", + "stackSize": 64 + }, + { + "id": 59, + "displayName": "Jungle Leaves", + "name": "jungle_leaves", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Dark Oak Leaves", + "name": "dark_oak_leaves", + "stackSize": 64 + }, + { + "id": 62, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 63, + "displayName": "Wet Sponge", + "name": "wet_sponge", + "stackSize": 64 + }, + { + "id": 64, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 68, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Chiseled Sandstone", + "name": "chiseled_sandstone", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Cut Sandstone", + "name": "cut_sandstone", + "stackSize": 64 + }, + { + "id": 71, + "displayName": "Note Block", + "name": "note_block", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Powered Rail", + "name": "powered_rail", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 74, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Cobweb", + "name": "cobweb", + "stackSize": 64 + }, + { + "id": 76, + "displayName": "Grass", + "name": "grass", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Fern", + "name": "fern", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Dead Bush", + "name": "dead_bush", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Seagrass", + "name": "seagrass", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Sea Pickle", + "name": "sea_pickle", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Piston", + "name": "piston", + "stackSize": 64 + }, + { + "id": 82, + "displayName": "White Wool", + "name": "white_wool", + "stackSize": 64 + }, + { + "id": 83, + "displayName": "Orange Wool", + "name": "orange_wool", + "stackSize": 64 + }, + { + "id": 84, + "displayName": "Magenta Wool", + "name": "magenta_wool", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Light Blue Wool", + "name": "light_blue_wool", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Yellow Wool", + "name": "yellow_wool", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Lime Wool", + "name": "lime_wool", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Pink Wool", + "name": "pink_wool", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Gray Wool", + "name": "gray_wool", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Light Gray Wool", + "name": "light_gray_wool", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Cyan Wool", + "name": "cyan_wool", + "stackSize": 64 + }, + { + "id": 92, + "displayName": "Purple Wool", + "name": "purple_wool", + "stackSize": 64 + }, + { + "id": 93, + "displayName": "Blue Wool", + "name": "blue_wool", + "stackSize": 64 + }, + { + "id": 94, + "displayName": "Brown Wool", + "name": "brown_wool", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "Green Wool", + "name": "green_wool", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Red Wool", + "name": "red_wool", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Black Wool", + "name": "black_wool", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Dandelion", + "name": "dandelion", + "stackSize": 64 + }, + { + "id": 99, + "displayName": "Poppy", + "name": "poppy", + "stackSize": 64 + }, + { + "id": 100, + "displayName": "Blue Orchid", + "name": "blue_orchid", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Allium", + "name": "allium", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Azure Bluet", + "name": "azure_bluet", + "stackSize": 64 + }, + { + "id": 103, + "displayName": "Red Tulip", + "name": "red_tulip", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Orange Tulip", + "name": "orange_tulip", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "White Tulip", + "name": "white_tulip", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Pink Tulip", + "name": "pink_tulip", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Oxeye Daisy", + "name": "oxeye_daisy", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Cornflower", + "name": "cornflower", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Lily of the Valley", + "name": "lily_of_the_valley", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Wither Rose", + "name": "wither_rose", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 112, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Block of Gold", + "name": "gold_block", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Block of Iron", + "name": "iron_block", + "stackSize": 64 + }, + { + "id": 115, + "displayName": "Oak Slab", + "name": "oak_slab", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Spruce Slab", + "name": "spruce_slab", + "stackSize": 64 + }, + { + "id": 117, + "displayName": "Birch Slab", + "name": "birch_slab", + "stackSize": 64 + }, + { + "id": 118, + "displayName": "Jungle Slab", + "name": "jungle_slab", + "stackSize": 64 + }, + { + "id": 119, + "displayName": "Acacia Slab", + "name": "acacia_slab", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "Dark Oak Slab", + "name": "dark_oak_slab", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 122, + "displayName": "Smooth Stone Slab", + "name": "smooth_stone_slab", + "stackSize": 64 + }, + { + "id": 123, + "displayName": "Sandstone Slab", + "name": "sandstone_slab", + "stackSize": 64 + }, + { + "id": 124, + "displayName": "Cut Sandstone Slab", + "name": "cut_sandstone_slab", + "stackSize": 64 + }, + { + "id": 125, + "displayName": "Petrified Oak Slab", + "name": "petrified_oak_slab", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Cobblestone Slab", + "name": "cobblestone_slab", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Brick Slab", + "name": "brick_slab", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Stone Brick Slab", + "name": "stone_brick_slab", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Nether Brick Slab", + "name": "nether_brick_slab", + "stackSize": 64 + }, + { + "id": 130, + "displayName": "Quartz Slab", + "name": "quartz_slab", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Cut Red Sandstone Slab", + "name": "cut_red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Prismarine Slab", + "name": "prismarine_slab", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Prismarine Brick Slab", + "name": "prismarine_brick_slab", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "Dark Prismarine Slab", + "name": "dark_prismarine_slab", + "stackSize": 64 + }, + { + "id": 137, + "displayName": "Smooth Quartz", + "name": "smooth_quartz", + "stackSize": 64 + }, + { + "id": 138, + "displayName": "Smooth Red Sandstone", + "name": "smooth_red_sandstone", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Smooth Sandstone", + "name": "smooth_sandstone", + "stackSize": 64 + }, + { + "id": 140, + "displayName": "Smooth Stone", + "name": "smooth_stone", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "Bricks", + "name": "bricks", + "stackSize": 64 + }, + { + "id": 142, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 144, + "displayName": "Mossy Cobblestone", + "name": "mossy_cobblestone", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "End Rod", + "name": "end_rod", + "stackSize": 64 + }, + { + "id": 148, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "stackSize": 64 + }, + { + "id": 149, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "stackSize": 64 + }, + { + "id": 150, + "displayName": "Purpur Block", + "name": "purpur_block", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Spawner", + "name": "spawner", + "stackSize": 64 + }, + { + "id": 154, + "displayName": "Oak Stairs", + "name": "oak_stairs", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Block of Diamond", + "name": "diamond_block", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 160, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 165, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 166, + "displayName": "Oak Pressure Plate", + "name": "oak_pressure_plate", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "Spruce Pressure Plate", + "name": "spruce_pressure_plate", + "stackSize": 64 + }, + { + "id": 168, + "displayName": "Birch Pressure Plate", + "name": "birch_pressure_plate", + "stackSize": 64 + }, + { + "id": 169, + "displayName": "Jungle Pressure Plate", + "name": "jungle_pressure_plate", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Acacia Pressure Plate", + "name": "acacia_pressure_plate", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Dark Oak Pressure Plate", + "name": "dark_oak_pressure_plate", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 176, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 177, + "displayName": "Snow Block", + "name": "snow_block", + "stackSize": 64 + }, + { + "id": 178, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 179, + "displayName": "Clay", + "name": "clay", + "stackSize": 64 + }, + { + "id": 180, + "displayName": "Jukebox", + "name": "jukebox", + "stackSize": 64 + }, + { + "id": 181, + "displayName": "Oak Fence", + "name": "oak_fence", + "stackSize": 64 + }, + { + "id": 182, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "stackSize": 64 + }, + { + "id": 183, + "displayName": "Birch Fence", + "name": "birch_fence", + "stackSize": 64 + }, + { + "id": 184, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "stackSize": 64 + }, + { + "id": 185, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "stackSize": 64 + }, + { + "id": 186, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "stackSize": 64 + }, + { + "id": 187, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 188, + "displayName": "Carved Pumpkin", + "name": "carved_pumpkin", + "stackSize": 64 + }, + { + "id": 189, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 190, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 191, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 192, + "displayName": "Jack o'Lantern", + "name": "jack_o_lantern", + "stackSize": 64 + }, + { + "id": 193, + "displayName": "Oak Trapdoor", + "name": "oak_trapdoor", + "stackSize": 64 + }, + { + "id": 194, + "displayName": "Spruce Trapdoor", + "name": "spruce_trapdoor", + "stackSize": 64 + }, + { + "id": 195, + "displayName": "Birch Trapdoor", + "name": "birch_trapdoor", + "stackSize": 64 + }, + { + "id": 196, + "displayName": "Jungle Trapdoor", + "name": "jungle_trapdoor", + "stackSize": 64 + }, + { + "id": 197, + "displayName": "Acacia Trapdoor", + "name": "acacia_trapdoor", + "stackSize": 64 + }, + { + "id": 198, + "displayName": "Dark Oak Trapdoor", + "name": "dark_oak_trapdoor", + "stackSize": 64 + }, + { + "id": 199, + "displayName": "Infested Stone", + "name": "infested_stone", + "stackSize": 64 + }, + { + "id": 200, + "displayName": "Infested Cobblestone", + "name": "infested_cobblestone", + "stackSize": 64 + }, + { + "id": 201, + "displayName": "Infested Stone Bricks", + "name": "infested_stone_bricks", + "stackSize": 64 + }, + { + "id": 202, + "displayName": "Infested Mossy Stone Bricks", + "name": "infested_mossy_stone_bricks", + "stackSize": 64 + }, + { + "id": 203, + "displayName": "Infested Cracked Stone Bricks", + "name": "infested_cracked_stone_bricks", + "stackSize": 64 + }, + { + "id": 204, + "displayName": "Infested Chiseled Stone Bricks", + "name": "infested_chiseled_stone_bricks", + "stackSize": 64 + }, + { + "id": 205, + "displayName": "Stone Bricks", + "name": "stone_bricks", + "stackSize": 64 + }, + { + "id": 206, + "displayName": "Mossy Stone Bricks", + "name": "mossy_stone_bricks", + "stackSize": 64 + }, + { + "id": 207, + "displayName": "Cracked Stone Bricks", + "name": "cracked_stone_bricks", + "stackSize": 64 + }, + { + "id": 208, + "displayName": "Chiseled Stone Bricks", + "name": "chiseled_stone_bricks", + "stackSize": 64 + }, + { + "id": 209, + "displayName": "Brown Mushroom Block", + "name": "brown_mushroom_block", + "stackSize": 64 + }, + { + "id": 210, + "displayName": "Red Mushroom Block", + "name": "red_mushroom_block", + "stackSize": 64 + }, + { + "id": 211, + "displayName": "Mushroom Stem", + "name": "mushroom_stem", + "stackSize": 64 + }, + { + "id": 212, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 213, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 214, + "displayName": "Melon", + "name": "melon", + "stackSize": 64 + }, + { + "id": 215, + "displayName": "Vines", + "name": "vine", + "stackSize": 64 + }, + { + "id": 216, + "displayName": "Oak Fence Gate", + "name": "oak_fence_gate", + "stackSize": 64 + }, + { + "id": 217, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64 + }, + { + "id": 218, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64 + }, + { + "id": 219, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64 + }, + { + "id": 220, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64 + }, + { + "id": 221, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64 + }, + { + "id": 222, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 223, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 224, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 225, + "displayName": "Lily Pad", + "name": "lily_pad", + "stackSize": 64 + }, + { + "id": 226, + "displayName": "Nether Bricks", + "name": "nether_bricks", + "stackSize": 64 + }, + { + "id": 227, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 228, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 229, + "displayName": "Enchanting Table", + "name": "enchanting_table", + "stackSize": 64 + }, + { + "id": 230, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 231, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 232, + "displayName": "End Stone Bricks", + "name": "end_stone_bricks", + "stackSize": 64 + }, + { + "id": 233, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "stackSize": 64 + }, + { + "id": 234, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 235, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 236, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 237, + "displayName": "Ender Chest", + "name": "ender_chest", + "stackSize": 64 + }, + { + "id": 238, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 239, + "displayName": "Block of Emerald", + "name": "emerald_block", + "stackSize": 64 + }, + { + "id": 240, + "displayName": "Spruce Stairs", + "name": "spruce_stairs", + "stackSize": 64 + }, + { + "id": 241, + "displayName": "Birch Stairs", + "name": "birch_stairs", + "stackSize": 64 + }, + { + "id": 242, + "displayName": "Jungle Stairs", + "name": "jungle_stairs", + "stackSize": 64 + }, + { + "id": 243, + "displayName": "Command Block", + "name": "command_block", + "stackSize": 64 + }, + { + "id": 244, + "displayName": "Beacon", + "name": "beacon", + "stackSize": 64 + }, + { + "id": 245, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 246, + "displayName": "Mossy Cobblestone Wall", + "name": "mossy_cobblestone_wall", + "stackSize": 64 + }, + { + "id": 247, + "displayName": "Brick Wall", + "name": "brick_wall", + "stackSize": 64 + }, + { + "id": 248, + "displayName": "Prismarine Wall", + "name": "prismarine_wall", + "stackSize": 64 + }, + { + "id": 249, + "displayName": "Red Sandstone Wall", + "name": "red_sandstone_wall", + "stackSize": 64 + }, + { + "id": 250, + "displayName": "Mossy Stone Brick Wall", + "name": "mossy_stone_brick_wall", + "stackSize": 64 + }, + { + "id": 251, + "displayName": "Granite Wall", + "name": "granite_wall", + "stackSize": 64 + }, + { + "id": 252, + "displayName": "Stone Brick Wall", + "name": "stone_brick_wall", + "stackSize": 64 + }, + { + "id": 253, + "displayName": "Nether Brick Wall", + "name": "nether_brick_wall", + "stackSize": 64 + }, + { + "id": 254, + "displayName": "Andesite Wall", + "name": "andesite_wall", + "stackSize": 64 + }, + { + "id": 255, + "displayName": "Red Nether Brick Wall", + "name": "red_nether_brick_wall", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Sandstone Wall", + "name": "sandstone_wall", + "stackSize": 64 + }, + { + "id": 257, + "displayName": "End Stone Brick Wall", + "name": "end_stone_brick_wall", + "stackSize": 64 + }, + { + "id": 258, + "displayName": "Diorite Wall", + "name": "diorite_wall", + "stackSize": 64 + }, + { + "id": 259, + "displayName": "Oak Button", + "name": "oak_button", + "stackSize": 64 + }, + { + "id": 260, + "displayName": "Spruce Button", + "name": "spruce_button", + "stackSize": 64 + }, + { + "id": 261, + "displayName": "Birch Button", + "name": "birch_button", + "stackSize": 64 + }, + { + "id": 262, + "displayName": "Jungle Button", + "name": "jungle_button", + "stackSize": 64 + }, + { + "id": 263, + "displayName": "Acacia Button", + "name": "acacia_button", + "stackSize": 64 + }, + { + "id": 264, + "displayName": "Dark Oak Button", + "name": "dark_oak_button", + "stackSize": 64 + }, + { + "id": 265, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 266, + "displayName": "Chipped Anvil", + "name": "chipped_anvil", + "stackSize": 64 + }, + { + "id": 267, + "displayName": "Damaged Anvil", + "name": "damaged_anvil", + "stackSize": 64 + }, + { + "id": 268, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 269, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 270, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 271, + "displayName": "Daylight Detector", + "name": "daylight_detector", + "stackSize": 64 + }, + { + "id": 272, + "displayName": "Block of Redstone", + "name": "redstone_block", + "stackSize": 64 + }, + { + "id": 273, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "stackSize": 64 + }, + { + "id": 274, + "displayName": "Hopper", + "name": "hopper", + "stackSize": 64 + }, + { + "id": 275, + "displayName": "Chiseled Quartz Block", + "name": "chiseled_quartz_block", + "stackSize": 64 + }, + { + "id": 276, + "displayName": "Block of Quartz", + "name": "quartz_block", + "stackSize": 64 + }, + { + "id": 277, + "displayName": "Quartz Pillar", + "name": "quartz_pillar", + "stackSize": 64 + }, + { + "id": 278, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 279, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 280, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64 + }, + { + "id": 281, + "displayName": "White Terracotta", + "name": "white_terracotta", + "stackSize": 64 + }, + { + "id": 282, + "displayName": "Orange Terracotta", + "name": "orange_terracotta", + "stackSize": 64 + }, + { + "id": 283, + "displayName": "Magenta Terracotta", + "name": "magenta_terracotta", + "stackSize": 64 + }, + { + "id": 284, + "displayName": "Light Blue Terracotta", + "name": "light_blue_terracotta", + "stackSize": 64 + }, + { + "id": 285, + "displayName": "Yellow Terracotta", + "name": "yellow_terracotta", + "stackSize": 64 + }, + { + "id": 286, + "displayName": "Lime Terracotta", + "name": "lime_terracotta", + "stackSize": 64 + }, + { + "id": 287, + "displayName": "Pink Terracotta", + "name": "pink_terracotta", + "stackSize": 64 + }, + { + "id": 288, + "displayName": "Gray Terracotta", + "name": "gray_terracotta", + "stackSize": 64 + }, + { + "id": 289, + "displayName": "Light Gray Terracotta", + "name": "light_gray_terracotta", + "stackSize": 64 + }, + { + "id": 290, + "displayName": "Cyan Terracotta", + "name": "cyan_terracotta", + "stackSize": 64 + }, + { + "id": 291, + "displayName": "Purple Terracotta", + "name": "purple_terracotta", + "stackSize": 64 + }, + { + "id": 292, + "displayName": "Blue Terracotta", + "name": "blue_terracotta", + "stackSize": 64 + }, + { + "id": 293, + "displayName": "Brown Terracotta", + "name": "brown_terracotta", + "stackSize": 64 + }, + { + "id": 294, + "displayName": "Green Terracotta", + "name": "green_terracotta", + "stackSize": 64 + }, + { + "id": 295, + "displayName": "Red Terracotta", + "name": "red_terracotta", + "stackSize": 64 + }, + { + "id": 296, + "displayName": "Black Terracotta", + "name": "black_terracotta", + "stackSize": 64 + }, + { + "id": 297, + "displayName": "Barrier", + "name": "barrier", + "stackSize": 64 + }, + { + "id": 298, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 299, + "displayName": "Hay Bale", + "name": "hay_block", + "stackSize": 64 + }, + { + "id": 300, + "displayName": "White Carpet", + "name": "white_carpet", + "stackSize": 64 + }, + { + "id": 301, + "displayName": "Orange Carpet", + "name": "orange_carpet", + "stackSize": 64 + }, + { + "id": 302, + "displayName": "Magenta Carpet", + "name": "magenta_carpet", + "stackSize": 64 + }, + { + "id": 303, + "displayName": "Light Blue Carpet", + "name": "light_blue_carpet", + "stackSize": 64 + }, + { + "id": 304, + "displayName": "Yellow Carpet", + "name": "yellow_carpet", + "stackSize": 64 + }, + { + "id": 305, + "displayName": "Lime Carpet", + "name": "lime_carpet", + "stackSize": 64 + }, + { + "id": 306, + "displayName": "Pink Carpet", + "name": "pink_carpet", + "stackSize": 64 + }, + { + "id": 307, + "displayName": "Gray Carpet", + "name": "gray_carpet", + "stackSize": 64 + }, + { + "id": 308, + "displayName": "Light Gray Carpet", + "name": "light_gray_carpet", + "stackSize": 64 + }, + { + "id": 309, + "displayName": "Cyan Carpet", + "name": "cyan_carpet", + "stackSize": 64 + }, + { + "id": 310, + "displayName": "Purple Carpet", + "name": "purple_carpet", + "stackSize": 64 + }, + { + "id": 311, + "displayName": "Blue Carpet", + "name": "blue_carpet", + "stackSize": 64 + }, + { + "id": 312, + "displayName": "Brown Carpet", + "name": "brown_carpet", + "stackSize": 64 + }, + { + "id": 313, + "displayName": "Green Carpet", + "name": "green_carpet", + "stackSize": 64 + }, + { + "id": 314, + "displayName": "Red Carpet", + "name": "red_carpet", + "stackSize": 64 + }, + { + "id": 315, + "displayName": "Black Carpet", + "name": "black_carpet", + "stackSize": 64 + }, + { + "id": 316, + "displayName": "Terracotta", + "name": "terracotta", + "stackSize": 64 + }, + { + "id": 317, + "displayName": "Block of Coal", + "name": "coal_block", + "stackSize": 64 + }, + { + "id": 318, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 319, + "displayName": "Acacia Stairs", + "name": "acacia_stairs", + "stackSize": 64 + }, + { + "id": 320, + "displayName": "Dark Oak Stairs", + "name": "dark_oak_stairs", + "stackSize": 64 + }, + { + "id": 321, + "displayName": "Slime Block", + "name": "slime_block", + "stackSize": 64 + }, + { + "id": 322, + "displayName": "Grass Path", + "name": "grass_path", + "stackSize": 64 + }, + { + "id": 323, + "displayName": "Sunflower", + "name": "sunflower", + "stackSize": 64 + }, + { + "id": 324, + "displayName": "Lilac", + "name": "lilac", + "stackSize": 64 + }, + { + "id": 325, + "displayName": "Rose Bush", + "name": "rose_bush", + "stackSize": 64 + }, + { + "id": 326, + "displayName": "Peony", + "name": "peony", + "stackSize": 64 + }, + { + "id": 327, + "displayName": "Tall Grass", + "name": "tall_grass", + "stackSize": 64 + }, + { + "id": 328, + "displayName": "Large Fern", + "name": "large_fern", + "stackSize": 64 + }, + { + "id": 329, + "displayName": "White Stained Glass", + "name": "white_stained_glass", + "stackSize": 64 + }, + { + "id": 330, + "displayName": "Orange Stained Glass", + "name": "orange_stained_glass", + "stackSize": 64 + }, + { + "id": 331, + "displayName": "Magenta Stained Glass", + "name": "magenta_stained_glass", + "stackSize": 64 + }, + { + "id": 332, + "displayName": "Light Blue Stained Glass", + "name": "light_blue_stained_glass", + "stackSize": 64 + }, + { + "id": 333, + "displayName": "Yellow Stained Glass", + "name": "yellow_stained_glass", + "stackSize": 64 + }, + { + "id": 334, + "displayName": "Lime Stained Glass", + "name": "lime_stained_glass", + "stackSize": 64 + }, + { + "id": 335, + "displayName": "Pink Stained Glass", + "name": "pink_stained_glass", + "stackSize": 64 + }, + { + "id": 336, + "displayName": "Gray Stained Glass", + "name": "gray_stained_glass", + "stackSize": 64 + }, + { + "id": 337, + "displayName": "Light Gray Stained Glass", + "name": "light_gray_stained_glass", + "stackSize": 64 + }, + { + "id": 338, + "displayName": "Cyan Stained Glass", + "name": "cyan_stained_glass", + "stackSize": 64 + }, + { + "id": 339, + "displayName": "Purple Stained Glass", + "name": "purple_stained_glass", + "stackSize": 64 + }, + { + "id": 340, + "displayName": "Blue Stained Glass", + "name": "blue_stained_glass", + "stackSize": 64 + }, + { + "id": 341, + "displayName": "Brown Stained Glass", + "name": "brown_stained_glass", + "stackSize": 64 + }, + { + "id": 342, + "displayName": "Green Stained Glass", + "name": "green_stained_glass", + "stackSize": 64 + }, + { + "id": 343, + "displayName": "Red Stained Glass", + "name": "red_stained_glass", + "stackSize": 64 + }, + { + "id": 344, + "displayName": "Black Stained Glass", + "name": "black_stained_glass", + "stackSize": 64 + }, + { + "id": 345, + "displayName": "White Stained Glass Pane", + "name": "white_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 346, + "displayName": "Orange Stained Glass Pane", + "name": "orange_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 347, + "displayName": "Magenta Stained Glass Pane", + "name": "magenta_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 348, + "displayName": "Light Blue Stained Glass Pane", + "name": "light_blue_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 349, + "displayName": "Yellow Stained Glass Pane", + "name": "yellow_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 350, + "displayName": "Lime Stained Glass Pane", + "name": "lime_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 351, + "displayName": "Pink Stained Glass Pane", + "name": "pink_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 352, + "displayName": "Gray Stained Glass Pane", + "name": "gray_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 353, + "displayName": "Light Gray Stained Glass Pane", + "name": "light_gray_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 354, + "displayName": "Cyan Stained Glass Pane", + "name": "cyan_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 355, + "displayName": "Purple Stained Glass Pane", + "name": "purple_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 356, + "displayName": "Blue Stained Glass Pane", + "name": "blue_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 357, + "displayName": "Brown Stained Glass Pane", + "name": "brown_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 358, + "displayName": "Green Stained Glass Pane", + "name": "green_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 359, + "displayName": "Red Stained Glass Pane", + "name": "red_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 360, + "displayName": "Black Stained Glass Pane", + "name": "black_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 361, + "displayName": "Prismarine", + "name": "prismarine", + "stackSize": 64 + }, + { + "id": 362, + "displayName": "Prismarine Bricks", + "name": "prismarine_bricks", + "stackSize": 64 + }, + { + "id": 363, + "displayName": "Dark Prismarine", + "name": "dark_prismarine", + "stackSize": 64 + }, + { + "id": 364, + "displayName": "Prismarine Stairs", + "name": "prismarine_stairs", + "stackSize": 64 + }, + { + "id": 365, + "displayName": "Prismarine Brick Stairs", + "name": "prismarine_brick_stairs", + "stackSize": 64 + }, + { + "id": 366, + "displayName": "Dark Prismarine Stairs", + "name": "dark_prismarine_stairs", + "stackSize": 64 + }, + { + "id": 367, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "stackSize": 64 + }, + { + "id": 368, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "stackSize": 64 + }, + { + "id": 369, + "displayName": "Chiseled Red Sandstone", + "name": "chiseled_red_sandstone", + "stackSize": 64 + }, + { + "id": 370, + "displayName": "Cut Red Sandstone", + "name": "cut_red_sandstone", + "stackSize": 64 + }, + { + "id": 371, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 372, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "stackSize": 64 + }, + { + "id": 373, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "stackSize": 64 + }, + { + "id": 374, + "displayName": "Magma Block", + "name": "magma_block", + "stackSize": 64 + }, + { + "id": 375, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "stackSize": 64 + }, + { + "id": 376, + "displayName": "Red Nether Bricks", + "name": "red_nether_bricks", + "stackSize": 64 + }, + { + "id": 377, + "displayName": "Bone Block", + "name": "bone_block", + "stackSize": 64 + }, + { + "id": 378, + "displayName": "Structure Void", + "name": "structure_void", + "stackSize": 64 + }, + { + "id": 379, + "displayName": "Observer", + "name": "observer", + "stackSize": 64 + }, + { + "id": 380, + "displayName": "Shulker Box", + "name": "shulker_box", + "stackSize": 1 + }, + { + "id": 381, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "stackSize": 1 + }, + { + "id": 382, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "stackSize": 1 + }, + { + "id": 383, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "stackSize": 1 + }, + { + "id": 384, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "stackSize": 1 + }, + { + "id": 385, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "stackSize": 1 + }, + { + "id": 386, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "stackSize": 1 + }, + { + "id": 387, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "stackSize": 1 + }, + { + "id": 388, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "stackSize": 1 + }, + { + "id": 389, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "stackSize": 1 + }, + { + "id": 390, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "stackSize": 1 + }, + { + "id": 391, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "stackSize": 1 + }, + { + "id": 392, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "stackSize": 1 + }, + { + "id": 393, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "stackSize": 1 + }, + { + "id": 394, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "stackSize": 1 + }, + { + "id": 395, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "stackSize": 1 + }, + { + "id": 396, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "stackSize": 1 + }, + { + "id": 397, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 398, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 399, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 400, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 401, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 402, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 403, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 404, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 405, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 406, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 407, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 408, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 409, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 410, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 411, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 412, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 413, + "displayName": "White Concrete", + "name": "white_concrete", + "stackSize": 64 + }, + { + "id": 414, + "displayName": "Orange Concrete", + "name": "orange_concrete", + "stackSize": 64 + }, + { + "id": 415, + "displayName": "Magenta Concrete", + "name": "magenta_concrete", + "stackSize": 64 + }, + { + "id": 416, + "displayName": "Light Blue Concrete", + "name": "light_blue_concrete", + "stackSize": 64 + }, + { + "id": 417, + "displayName": "Yellow Concrete", + "name": "yellow_concrete", + "stackSize": 64 + }, + { + "id": 418, + "displayName": "Lime Concrete", + "name": "lime_concrete", + "stackSize": 64 + }, + { + "id": 419, + "displayName": "Pink Concrete", + "name": "pink_concrete", + "stackSize": 64 + }, + { + "id": 420, + "displayName": "Gray Concrete", + "name": "gray_concrete", + "stackSize": 64 + }, + { + "id": 421, + "displayName": "Light Gray Concrete", + "name": "light_gray_concrete", + "stackSize": 64 + }, + { + "id": 422, + "displayName": "Cyan Concrete", + "name": "cyan_concrete", + "stackSize": 64 + }, + { + "id": 423, + "displayName": "Purple Concrete", + "name": "purple_concrete", + "stackSize": 64 + }, + { + "id": 424, + "displayName": "Blue Concrete", + "name": "blue_concrete", + "stackSize": 64 + }, + { + "id": 425, + "displayName": "Brown Concrete", + "name": "brown_concrete", + "stackSize": 64 + }, + { + "id": 426, + "displayName": "Green Concrete", + "name": "green_concrete", + "stackSize": 64 + }, + { + "id": 427, + "displayName": "Red Concrete", + "name": "red_concrete", + "stackSize": 64 + }, + { + "id": 428, + "displayName": "Black Concrete", + "name": "black_concrete", + "stackSize": 64 + }, + { + "id": 429, + "displayName": "White Concrete Powder", + "name": "white_concrete_powder", + "stackSize": 64 + }, + { + "id": 430, + "displayName": "Orange Concrete Powder", + "name": "orange_concrete_powder", + "stackSize": 64 + }, + { + "id": 431, + "displayName": "Magenta Concrete Powder", + "name": "magenta_concrete_powder", + "stackSize": 64 + }, + { + "id": 432, + "displayName": "Light Blue Concrete Powder", + "name": "light_blue_concrete_powder", + "stackSize": 64 + }, + { + "id": 433, + "displayName": "Yellow Concrete Powder", + "name": "yellow_concrete_powder", + "stackSize": 64 + }, + { + "id": 434, + "displayName": "Lime Concrete Powder", + "name": "lime_concrete_powder", + "stackSize": 64 + }, + { + "id": 435, + "displayName": "Pink Concrete Powder", + "name": "pink_concrete_powder", + "stackSize": 64 + }, + { + "id": 436, + "displayName": "Gray Concrete Powder", + "name": "gray_concrete_powder", + "stackSize": 64 + }, + { + "id": 437, + "displayName": "Light Gray Concrete Powder", + "name": "light_gray_concrete_powder", + "stackSize": 64 + }, + { + "id": 438, + "displayName": "Cyan Concrete Powder", + "name": "cyan_concrete_powder", + "stackSize": 64 + }, + { + "id": 439, + "displayName": "Purple Concrete Powder", + "name": "purple_concrete_powder", + "stackSize": 64 + }, + { + "id": 440, + "displayName": "Blue Concrete Powder", + "name": "blue_concrete_powder", + "stackSize": 64 + }, + { + "id": 441, + "displayName": "Brown Concrete Powder", + "name": "brown_concrete_powder", + "stackSize": 64 + }, + { + "id": 442, + "displayName": "Green Concrete Powder", + "name": "green_concrete_powder", + "stackSize": 64 + }, + { + "id": 443, + "displayName": "Red Concrete Powder", + "name": "red_concrete_powder", + "stackSize": 64 + }, + { + "id": 444, + "displayName": "Black Concrete Powder", + "name": "black_concrete_powder", + "stackSize": 64 + }, + { + "id": 445, + "displayName": "Turtle Egg", + "name": "turtle_egg", + "stackSize": 64 + }, + { + "id": 446, + "displayName": "Dead Tube Coral Block", + "name": "dead_tube_coral_block", + "stackSize": 64 + }, + { + "id": 447, + "displayName": "Dead Brain Coral Block", + "name": "dead_brain_coral_block", + "stackSize": 64 + }, + { + "id": 448, + "displayName": "Dead Bubble Coral Block", + "name": "dead_bubble_coral_block", + "stackSize": 64 + }, + { + "id": 449, + "displayName": "Dead Fire Coral Block", + "name": "dead_fire_coral_block", + "stackSize": 64 + }, + { + "id": 450, + "displayName": "Dead Horn Coral Block", + "name": "dead_horn_coral_block", + "stackSize": 64 + }, + { + "id": 451, + "displayName": "Tube Coral Block", + "name": "tube_coral_block", + "stackSize": 64 + }, + { + "id": 452, + "displayName": "Brain Coral Block", + "name": "brain_coral_block", + "stackSize": 64 + }, + { + "id": 453, + "displayName": "Bubble Coral Block", + "name": "bubble_coral_block", + "stackSize": 64 + }, + { + "id": 454, + "displayName": "Fire Coral Block", + "name": "fire_coral_block", + "stackSize": 64 + }, + { + "id": 455, + "displayName": "Horn Coral Block", + "name": "horn_coral_block", + "stackSize": 64 + }, + { + "id": 456, + "displayName": "Tube Coral", + "name": "tube_coral", + "stackSize": 64 + }, + { + "id": 457, + "displayName": "Brain Coral", + "name": "brain_coral", + "stackSize": 64 + }, + { + "id": 458, + "displayName": "Bubble Coral", + "name": "bubble_coral", + "stackSize": 64 + }, + { + "id": 459, + "displayName": "Fire Coral", + "name": "fire_coral", + "stackSize": 64 + }, + { + "id": 460, + "displayName": "Horn Coral", + "name": "horn_coral", + "stackSize": 64 + }, + { + "id": 461, + "displayName": "Dead Brain Coral", + "name": "dead_brain_coral", + "stackSize": 64 + }, + { + "id": 462, + "displayName": "Dead Bubble Coral", + "name": "dead_bubble_coral", + "stackSize": 64 + }, + { + "id": 463, + "displayName": "Dead Fire Coral", + "name": "dead_fire_coral", + "stackSize": 64 + }, + { + "id": 464, + "displayName": "Dead Horn Coral", + "name": "dead_horn_coral", + "stackSize": 64 + }, + { + "id": 465, + "displayName": "Dead Tube Coral", + "name": "dead_tube_coral", + "stackSize": 64 + }, + { + "id": 466, + "displayName": "Tube Coral Fan", + "name": "tube_coral_fan", + "stackSize": 64 + }, + { + "id": 467, + "displayName": "Brain Coral Fan", + "name": "brain_coral_fan", + "stackSize": 64 + }, + { + "id": 468, + "displayName": "Bubble Coral Fan", + "name": "bubble_coral_fan", + "stackSize": 64 + }, + { + "id": 469, + "displayName": "Fire Coral Fan", + "name": "fire_coral_fan", + "stackSize": 64 + }, + { + "id": 470, + "displayName": "Horn Coral Fan", + "name": "horn_coral_fan", + "stackSize": 64 + }, + { + "id": 471, + "displayName": "Dead Tube Coral Fan", + "name": "dead_tube_coral_fan", + "stackSize": 64 + }, + { + "id": 472, + "displayName": "Dead Brain Coral Fan", + "name": "dead_brain_coral_fan", + "stackSize": 64 + }, + { + "id": 473, + "displayName": "Dead Bubble Coral Fan", + "name": "dead_bubble_coral_fan", + "stackSize": 64 + }, + { + "id": 474, + "displayName": "Dead Fire Coral Fan", + "name": "dead_fire_coral_fan", + "stackSize": 64 + }, + { + "id": 475, + "displayName": "Dead Horn Coral Fan", + "name": "dead_horn_coral_fan", + "stackSize": 64 + }, + { + "id": 476, + "displayName": "Blue Ice", + "name": "blue_ice", + "stackSize": 64 + }, + { + "id": 477, + "displayName": "Conduit", + "name": "conduit", + "stackSize": 64 + }, + { + "id": 478, + "displayName": "Polished Granite Stairs", + "name": "polished_granite_stairs", + "stackSize": 64 + }, + { + "id": 479, + "displayName": "Smooth Red Sandstone Stairs", + "name": "smooth_red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 480, + "displayName": "Mossy Stone Brick Stairs", + "name": "mossy_stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 481, + "displayName": "Polished Diorite Stairs", + "name": "polished_diorite_stairs", + "stackSize": 64 + }, + { + "id": 482, + "displayName": "Mossy Cobblestone Stairs", + "name": "mossy_cobblestone_stairs", + "stackSize": 64 + }, + { + "id": 483, + "displayName": "End Stone Brick Stairs", + "name": "end_stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 484, + "displayName": "Stone Stairs", + "name": "stone_stairs", + "stackSize": 64 + }, + { + "id": 485, + "displayName": "Smooth Sandstone Stairs", + "name": "smooth_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 486, + "displayName": "Smooth Quartz Stairs", + "name": "smooth_quartz_stairs", + "stackSize": 64 + }, + { + "id": 487, + "displayName": "Granite Stairs", + "name": "granite_stairs", + "stackSize": 64 + }, + { + "id": 488, + "displayName": "Andesite Stairs", + "name": "andesite_stairs", + "stackSize": 64 + }, + { + "id": 489, + "displayName": "Red Nether Brick Stairs", + "name": "red_nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 490, + "displayName": "Polished Andesite Stairs", + "name": "polished_andesite_stairs", + "stackSize": 64 + }, + { + "id": 491, + "displayName": "Diorite Stairs", + "name": "diorite_stairs", + "stackSize": 64 + }, + { + "id": 492, + "displayName": "Polished Granite Slab", + "name": "polished_granite_slab", + "stackSize": 64 + }, + { + "id": 493, + "displayName": "Smooth Red Sandstone Slab", + "name": "smooth_red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 494, + "displayName": "Mossy Stone Brick Slab", + "name": "mossy_stone_brick_slab", + "stackSize": 64 + }, + { + "id": 495, + "displayName": "Polished Diorite Slab", + "name": "polished_diorite_slab", + "stackSize": 64 + }, + { + "id": 496, + "displayName": "Mossy Cobblestone Slab", + "name": "mossy_cobblestone_slab", + "stackSize": 64 + }, + { + "id": 497, + "displayName": "End Stone Brick Slab", + "name": "end_stone_brick_slab", + "stackSize": 64 + }, + { + "id": 498, + "displayName": "Smooth Sandstone Slab", + "name": "smooth_sandstone_slab", + "stackSize": 64 + }, + { + "id": 499, + "displayName": "Smooth Quartz Slab", + "name": "smooth_quartz_slab", + "stackSize": 64 + }, + { + "id": 500, + "displayName": "Granite Slab", + "name": "granite_slab", + "stackSize": 64 + }, + { + "id": 501, + "displayName": "Andesite Slab", + "name": "andesite_slab", + "stackSize": 64 + }, + { + "id": 502, + "displayName": "Red Nether Brick Slab", + "name": "red_nether_brick_slab", + "stackSize": 64 + }, + { + "id": 503, + "displayName": "Polished Andesite Slab", + "name": "polished_andesite_slab", + "stackSize": 64 + }, + { + "id": 504, + "displayName": "Diorite Slab", + "name": "diorite_slab", + "stackSize": 64 + }, + { + "id": 505, + "displayName": "Scaffolding", + "name": "scaffolding", + "stackSize": 64 + }, + { + "id": 506, + "displayName": "Iron Door", + "name": "iron_door", + "stackSize": 64 + }, + { + "id": 507, + "displayName": "Oak Door", + "name": "oak_door", + "stackSize": 64 + }, + { + "id": 508, + "displayName": "Spruce Door", + "name": "spruce_door", + "stackSize": 64 + }, + { + "id": 509, + "displayName": "Birch Door", + "name": "birch_door", + "stackSize": 64 + }, + { + "id": 510, + "displayName": "Jungle Door", + "name": "jungle_door", + "stackSize": 64 + }, + { + "id": 511, + "displayName": "Acacia Door", + "name": "acacia_door", + "stackSize": 64 + }, + { + "id": 512, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "stackSize": 64 + }, + { + "id": 513, + "displayName": "Redstone Repeater", + "name": "repeater", + "stackSize": 64 + }, + { + "id": 514, + "displayName": "Redstone Comparator", + "name": "comparator", + "stackSize": 64 + }, + { + "id": 515, + "displayName": "Structure Block", + "name": "structure_block", + "stackSize": 64 + }, + { + "id": 516, + "displayName": "Jigsaw Block", + "name": "jigsaw", + "stackSize": 64 + }, + { + "id": 517, + "displayName": "Composter", + "name": "composter", + "stackSize": 64 + }, + { + "id": 518, + "displayName": "Turtle Shell", + "name": "turtle_helmet", + "stackSize": 1 + }, + { + "id": 519, + "displayName": "Scute", + "name": "scute", + "stackSize": 64 + }, + { + "id": 520, + "displayName": "Iron Shovel", + "name": "iron_shovel", + "stackSize": 1 + }, + { + "id": 521, + "displayName": "Iron Pickaxe", + "name": "iron_pickaxe", + "stackSize": 1 + }, + { + "id": 522, + "displayName": "Iron Axe", + "name": "iron_axe", + "stackSize": 1 + }, + { + "id": 523, + "displayName": "Flint and Steel", + "name": "flint_and_steel", + "stackSize": 1 + }, + { + "id": 524, + "displayName": "Apple", + "name": "apple", + "stackSize": 64 + }, + { + "id": 525, + "displayName": "Bow", + "name": "bow", + "stackSize": 1 + }, + { + "id": 526, + "displayName": "Arrow", + "name": "arrow", + "stackSize": 64 + }, + { + "id": 527, + "displayName": "Coal", + "name": "coal", + "stackSize": 64 + }, + { + "id": 528, + "displayName": "Charcoal", + "name": "charcoal", + "stackSize": 64 + }, + { + "id": 529, + "displayName": "Diamond", + "name": "diamond", + "stackSize": 64 + }, + { + "id": 530, + "displayName": "Iron Ingot", + "name": "iron_ingot", + "stackSize": 64 + }, + { + "id": 531, + "displayName": "Gold Ingot", + "name": "gold_ingot", + "stackSize": 64 + }, + { + "id": 532, + "displayName": "Iron Sword", + "name": "iron_sword", + "stackSize": 1 + }, + { + "id": 533, + "displayName": "Wooden Sword", + "name": "wooden_sword", + "stackSize": 1 + }, + { + "id": 534, + "displayName": "Wooden Shovel", + "name": "wooden_shovel", + "stackSize": 1 + }, + { + "id": 535, + "displayName": "Wooden Pickaxe", + "name": "wooden_pickaxe", + "stackSize": 1 + }, + { + "id": 536, + "displayName": "Wooden Axe", + "name": "wooden_axe", + "stackSize": 1 + }, + { + "id": 537, + "displayName": "Stone Sword", + "name": "stone_sword", + "stackSize": 1 + }, + { + "id": 538, + "displayName": "Stone Shovel", + "name": "stone_shovel", + "stackSize": 1 + }, + { + "id": 539, + "displayName": "Stone Pickaxe", + "name": "stone_pickaxe", + "stackSize": 1 + }, + { + "id": 540, + "displayName": "Stone Axe", + "name": "stone_axe", + "stackSize": 1 + }, + { + "id": 541, + "displayName": "Diamond Sword", + "name": "diamond_sword", + "stackSize": 1 + }, + { + "id": 542, + "displayName": "Diamond Shovel", + "name": "diamond_shovel", + "stackSize": 1 + }, + { + "id": 543, + "displayName": "Diamond Pickaxe", + "name": "diamond_pickaxe", + "stackSize": 1 + }, + { + "id": 544, + "displayName": "Diamond Axe", + "name": "diamond_axe", + "stackSize": 1 + }, + { + "id": 545, + "displayName": "Stick", + "name": "stick", + "stackSize": 64 + }, + { + "id": 546, + "displayName": "Bowl", + "name": "bowl", + "stackSize": 64 + }, + { + "id": 547, + "displayName": "Mushroom Stew", + "name": "mushroom_stew", + "stackSize": 1 + }, + { + "id": 548, + "displayName": "Golden Sword", + "name": "golden_sword", + "stackSize": 1 + }, + { + "id": 549, + "displayName": "Golden Shovel", + "name": "golden_shovel", + "stackSize": 1 + }, + { + "id": 550, + "displayName": "Golden Pickaxe", + "name": "golden_pickaxe", + "stackSize": 1 + }, + { + "id": 551, + "displayName": "Golden Axe", + "name": "golden_axe", + "stackSize": 1 + }, + { + "id": 552, + "displayName": "String", + "name": "string", + "stackSize": 64 + }, + { + "id": 553, + "displayName": "Feather", + "name": "feather", + "stackSize": 64 + }, + { + "id": 554, + "displayName": "Gunpowder", + "name": "gunpowder", + "stackSize": 64 + }, + { + "id": 555, + "displayName": "Wooden Hoe", + "name": "wooden_hoe", + "stackSize": 1 + }, + { + "id": 556, + "displayName": "Stone Hoe", + "name": "stone_hoe", + "stackSize": 1 + }, + { + "id": 557, + "displayName": "Iron Hoe", + "name": "iron_hoe", + "stackSize": 1 + }, + { + "id": 558, + "displayName": "Diamond Hoe", + "name": "diamond_hoe", + "stackSize": 1 + }, + { + "id": 559, + "displayName": "Golden Hoe", + "name": "golden_hoe", + "stackSize": 1 + }, + { + "id": 560, + "displayName": "Wheat Seeds", + "name": "wheat_seeds", + "stackSize": 64 + }, + { + "id": 561, + "displayName": "Wheat", + "name": "wheat", + "stackSize": 64 + }, + { + "id": 562, + "displayName": "Bread", + "name": "bread", + "stackSize": 64 + }, + { + "id": 563, + "displayName": "Leather Cap", + "name": "leather_helmet", + "stackSize": 1 + }, + { + "id": 564, + "displayName": "Leather Tunic", + "name": "leather_chestplate", + "stackSize": 1 + }, + { + "id": 565, + "displayName": "Leather Pants", + "name": "leather_leggings", + "stackSize": 1 + }, + { + "id": 566, + "displayName": "Leather Boots", + "name": "leather_boots", + "stackSize": 1 + }, + { + "id": 567, + "displayName": "Chainmail Helmet", + "name": "chainmail_helmet", + "stackSize": 1 + }, + { + "id": 568, + "displayName": "Chainmail Chestplate", + "name": "chainmail_chestplate", + "stackSize": 1 + }, + { + "id": 569, + "displayName": "Chainmail Leggings", + "name": "chainmail_leggings", + "stackSize": 1 + }, + { + "id": 570, + "displayName": "Chainmail Boots", + "name": "chainmail_boots", + "stackSize": 1 + }, + { + "id": 571, + "displayName": "Iron Helmet", + "name": "iron_helmet", + "stackSize": 1 + }, + { + "id": 572, + "displayName": "Iron Chestplate", + "name": "iron_chestplate", + "stackSize": 1 + }, + { + "id": 573, + "displayName": "Iron Leggings", + "name": "iron_leggings", + "stackSize": 1 + }, + { + "id": 574, + "displayName": "Iron Boots", + "name": "iron_boots", + "stackSize": 1 + }, + { + "id": 575, + "displayName": "Diamond Helmet", + "name": "diamond_helmet", + "stackSize": 1 + }, + { + "id": 576, + "displayName": "Diamond Chestplate", + "name": "diamond_chestplate", + "stackSize": 1 + }, + { + "id": 577, + "displayName": "Diamond Leggings", + "name": "diamond_leggings", + "stackSize": 1 + }, + { + "id": 578, + "displayName": "Diamond Boots", + "name": "diamond_boots", + "stackSize": 1 + }, + { + "id": 579, + "displayName": "Golden Helmet", + "name": "golden_helmet", + "stackSize": 1 + }, + { + "id": 580, + "displayName": "Golden Chestplate", + "name": "golden_chestplate", + "stackSize": 1 + }, + { + "id": 581, + "displayName": "Golden Leggings", + "name": "golden_leggings", + "stackSize": 1 + }, + { + "id": 582, + "displayName": "Golden Boots", + "name": "golden_boots", + "stackSize": 1 + }, + { + "id": 583, + "displayName": "Flint", + "name": "flint", + "stackSize": 64 + }, + { + "id": 584, + "displayName": "Raw Porkchop", + "name": "porkchop", + "stackSize": 64 + }, + { + "id": 585, + "displayName": "Cooked Porkchop", + "name": "cooked_porkchop", + "stackSize": 64 + }, + { + "id": 586, + "displayName": "Painting", + "name": "painting", + "stackSize": 64 + }, + { + "id": 587, + "displayName": "Golden Apple", + "name": "golden_apple", + "stackSize": 64 + }, + { + "id": 588, + "displayName": "Enchanted Golden Apple", + "name": "enchanted_golden_apple", + "stackSize": 64 + }, + { + "id": 589, + "displayName": "Oak Sign", + "name": "oak_sign", + "stackSize": 16 + }, + { + "id": 590, + "displayName": "Spruce Sign", + "name": "spruce_sign", + "stackSize": 16 + }, + { + "id": 591, + "displayName": "Birch Sign", + "name": "birch_sign", + "stackSize": 16 + }, + { + "id": 592, + "displayName": "Jungle Sign", + "name": "jungle_sign", + "stackSize": 16 + }, + { + "id": 593, + "displayName": "Acacia Sign", + "name": "acacia_sign", + "stackSize": 16 + }, + { + "id": 594, + "displayName": "Dark Oak Sign", + "name": "dark_oak_sign", + "stackSize": 16 + }, + { + "id": 595, + "displayName": "Bucket", + "name": "bucket", + "stackSize": 16 + }, + { + "id": 596, + "displayName": "Water Bucket", + "name": "water_bucket", + "stackSize": 1 + }, + { + "id": 597, + "displayName": "Lava Bucket", + "name": "lava_bucket", + "stackSize": 1 + }, + { + "id": 598, + "displayName": "Minecart", + "name": "minecart", + "stackSize": 1 + }, + { + "id": 599, + "displayName": "Saddle", + "name": "saddle", + "stackSize": 1 + }, + { + "id": 600, + "displayName": "Redstone Dust", + "name": "redstone", + "stackSize": 64 + }, + { + "id": 601, + "displayName": "Snowball", + "name": "snowball", + "stackSize": 16 + }, + { + "id": 602, + "displayName": "Oak Boat", + "name": "oak_boat", + "stackSize": 1 + }, + { + "id": 603, + "displayName": "Leather", + "name": "leather", + "stackSize": 64 + }, + { + "id": 604, + "displayName": "Milk Bucket", + "name": "milk_bucket", + "stackSize": 1 + }, + { + "id": 605, + "displayName": "Bucket of Pufferfish", + "name": "pufferfish_bucket", + "stackSize": 1 + }, + { + "id": 606, + "displayName": "Bucket of Salmon", + "name": "salmon_bucket", + "stackSize": 1 + }, + { + "id": 607, + "displayName": "Bucket of Cod", + "name": "cod_bucket", + "stackSize": 1 + }, + { + "id": 608, + "displayName": "Bucket of Tropical Fish", + "name": "tropical_fish_bucket", + "stackSize": 1 + }, + { + "id": 609, + "displayName": "Brick", + "name": "brick", + "stackSize": 64 + }, + { + "id": 610, + "displayName": "Clay", + "name": "clay_ball", + "stackSize": 64 + }, + { + "id": 611, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "stackSize": 64 + }, + { + "id": 612, + "displayName": "Kelp", + "name": "kelp", + "stackSize": 64 + }, + { + "id": 613, + "displayName": "Dried Kelp Block", + "name": "dried_kelp_block", + "stackSize": 64 + }, + { + "id": 614, + "displayName": "Bamboo", + "name": "bamboo", + "stackSize": 64 + }, + { + "id": 615, + "displayName": "Paper", + "name": "paper", + "stackSize": 64 + }, + { + "id": 616, + "displayName": "Book", + "name": "book", + "stackSize": 64 + }, + { + "id": 617, + "displayName": "Slimeball", + "name": "slime_ball", + "stackSize": 64 + }, + { + "id": 618, + "displayName": "Minecart with Chest", + "name": "chest_minecart", + "stackSize": 1 + }, + { + "id": 619, + "displayName": "Minecart with Furnace", + "name": "furnace_minecart", + "stackSize": 1 + }, + { + "id": 620, + "displayName": "Egg", + "name": "egg", + "stackSize": 16 + }, + { + "id": 621, + "displayName": "Compass", + "name": "compass", + "stackSize": 64 + }, + { + "id": 622, + "displayName": "Fishing Rod", + "name": "fishing_rod", + "stackSize": 1 + }, + { + "id": 623, + "displayName": "Clock", + "name": "clock", + "stackSize": 64 + }, + { + "id": 624, + "displayName": "Glowstone Dust", + "name": "glowstone_dust", + "stackSize": 64 + }, + { + "id": 625, + "displayName": "Raw Cod", + "name": "cod", + "stackSize": 64 + }, + { + "id": 626, + "displayName": "Raw Salmon", + "name": "salmon", + "stackSize": 64 + }, + { + "id": 627, + "displayName": "Tropical Fish", + "name": "tropical_fish", + "stackSize": 64 + }, + { + "id": 628, + "displayName": "Pufferfish", + "name": "pufferfish", + "stackSize": 64 + }, + { + "id": 629, + "displayName": "Cooked Cod", + "name": "cooked_cod", + "stackSize": 64 + }, + { + "id": 630, + "displayName": "Cooked Salmon", + "name": "cooked_salmon", + "stackSize": 64 + }, + { + "id": 631, + "displayName": "Ink Sac", + "name": "ink_sac", + "stackSize": 64 + }, + { + "id": 632, + "displayName": "Red Dye", + "name": "red_dye", + "stackSize": 64 + }, + { + "id": 633, + "displayName": "Green Dye", + "name": "green_dye", + "stackSize": 64 + }, + { + "id": 634, + "displayName": "Cocoa Beans", + "name": "cocoa_beans", + "stackSize": 64 + }, + { + "id": 635, + "displayName": "Lapis Lazuli", + "name": "lapis_lazuli", + "stackSize": 64 + }, + { + "id": 636, + "displayName": "Purple Dye", + "name": "purple_dye", + "stackSize": 64 + }, + { + "id": 637, + "displayName": "Cyan Dye", + "name": "cyan_dye", + "stackSize": 64 + }, + { + "id": 638, + "displayName": "Light Gray Dye", + "name": "light_gray_dye", + "stackSize": 64 + }, + { + "id": 639, + "displayName": "Gray Dye", + "name": "gray_dye", + "stackSize": 64 + }, + { + "id": 640, + "displayName": "Pink Dye", + "name": "pink_dye", + "stackSize": 64 + }, + { + "id": 641, + "displayName": "Lime Dye", + "name": "lime_dye", + "stackSize": 64 + }, + { + "id": 642, + "displayName": "Yellow Dye", + "name": "yellow_dye", + "stackSize": 64 + }, + { + "id": 643, + "displayName": "Light Blue Dye", + "name": "light_blue_dye", + "stackSize": 64 + }, + { + "id": 644, + "displayName": "Magenta Dye", + "name": "magenta_dye", + "stackSize": 64 + }, + { + "id": 645, + "displayName": "Orange Dye", + "name": "orange_dye", + "stackSize": 64 + }, + { + "id": 646, + "displayName": "Bone Meal", + "name": "bone_meal", + "stackSize": 64 + }, + { + "id": 647, + "displayName": "Blue Dye", + "name": "blue_dye", + "stackSize": 64 + }, + { + "id": 648, + "displayName": "Brown Dye", + "name": "brown_dye", + "stackSize": 64 + }, + { + "id": 649, + "displayName": "Black Dye", + "name": "black_dye", + "stackSize": 64 + }, + { + "id": 650, + "displayName": "White Dye", + "name": "white_dye", + "stackSize": 64 + }, + { + "id": 651, + "displayName": "Bone", + "name": "bone", + "stackSize": 64 + }, + { + "id": 652, + "displayName": "Sugar", + "name": "sugar", + "stackSize": 64 + }, + { + "id": 653, + "displayName": "Cake", + "name": "cake", + "stackSize": 1 + }, + { + "id": 654, + "displayName": "White Bed", + "name": "white_bed", + "stackSize": 1 + }, + { + "id": 655, + "displayName": "Orange Bed", + "name": "orange_bed", + "stackSize": 1 + }, + { + "id": 656, + "displayName": "Magenta Bed", + "name": "magenta_bed", + "stackSize": 1 + }, + { + "id": 657, + "displayName": "Light Blue Bed", + "name": "light_blue_bed", + "stackSize": 1 + }, + { + "id": 658, + "displayName": "Yellow Bed", + "name": "yellow_bed", + "stackSize": 1 + }, + { + "id": 659, + "displayName": "Lime Bed", + "name": "lime_bed", + "stackSize": 1 + }, + { + "id": 660, + "displayName": "Pink Bed", + "name": "pink_bed", + "stackSize": 1 + }, + { + "id": 661, + "displayName": "Gray Bed", + "name": "gray_bed", + "stackSize": 1 + }, + { + "id": 662, + "displayName": "Light Gray Bed", + "name": "light_gray_bed", + "stackSize": 1 + }, + { + "id": 663, + "displayName": "Cyan Bed", + "name": "cyan_bed", + "stackSize": 1 + }, + { + "id": 664, + "displayName": "Purple Bed", + "name": "purple_bed", + "stackSize": 1 + }, + { + "id": 665, + "displayName": "Blue Bed", + "name": "blue_bed", + "stackSize": 1 + }, + { + "id": 666, + "displayName": "Brown Bed", + "name": "brown_bed", + "stackSize": 1 + }, + { + "id": 667, + "displayName": "Green Bed", + "name": "green_bed", + "stackSize": 1 + }, + { + "id": 668, + "displayName": "Red Bed", + "name": "red_bed", + "stackSize": 1 + }, + { + "id": 669, + "displayName": "Black Bed", + "name": "black_bed", + "stackSize": 1 + }, + { + "id": 670, + "displayName": "Cookie", + "name": "cookie", + "stackSize": 64 + }, + { + "id": 671, + "displayName": "Map", + "name": "filled_map", + "stackSize": 64 + }, + { + "id": 672, + "displayName": "Shears", + "name": "shears", + "stackSize": 1 + }, + { + "id": 673, + "displayName": "Melon Slice", + "name": "melon_slice", + "stackSize": 64 + }, + { + "id": 674, + "displayName": "Dried Kelp", + "name": "dried_kelp", + "stackSize": 64 + }, + { + "id": 675, + "displayName": "Pumpkin Seeds", + "name": "pumpkin_seeds", + "stackSize": 64 + }, + { + "id": 676, + "displayName": "Melon Seeds", + "name": "melon_seeds", + "stackSize": 64 + }, + { + "id": 677, + "displayName": "Raw Beef", + "name": "beef", + "stackSize": 64 + }, + { + "id": 678, + "displayName": "Steak", + "name": "cooked_beef", + "stackSize": 64 + }, + { + "id": 679, + "displayName": "Raw Chicken", + "name": "chicken", + "stackSize": 64 + }, + { + "id": 680, + "displayName": "Cooked Chicken", + "name": "cooked_chicken", + "stackSize": 64 + }, + { + "id": 681, + "displayName": "Rotten Flesh", + "name": "rotten_flesh", + "stackSize": 64 + }, + { + "id": 682, + "displayName": "Ender Pearl", + "name": "ender_pearl", + "stackSize": 16 + }, + { + "id": 683, + "displayName": "Blaze Rod", + "name": "blaze_rod", + "stackSize": 64 + }, + { + "id": 684, + "displayName": "Ghast Tear", + "name": "ghast_tear", + "stackSize": 64 + }, + { + "id": 685, + "displayName": "Gold Nugget", + "name": "gold_nugget", + "stackSize": 64 + }, + { + "id": 686, + "displayName": "Nether Wart", + "name": "nether_wart", + "stackSize": 64 + }, + { + "id": 687, + "displayName": "Potion", + "name": "potion", + "stackSize": 1 + }, + { + "id": 688, + "displayName": "Glass Bottle", + "name": "glass_bottle", + "stackSize": 64 + }, + { + "id": 689, + "displayName": "Spider Eye", + "name": "spider_eye", + "stackSize": 64 + }, + { + "id": 690, + "displayName": "Fermented Spider Eye", + "name": "fermented_spider_eye", + "stackSize": 64 + }, + { + "id": 691, + "displayName": "Blaze Powder", + "name": "blaze_powder", + "stackSize": 64 + }, + { + "id": 692, + "displayName": "Magma Cream", + "name": "magma_cream", + "stackSize": 64 + }, + { + "id": 693, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "stackSize": 64 + }, + { + "id": 694, + "displayName": "Cauldron", + "name": "cauldron", + "stackSize": 64 + }, + { + "id": 695, + "displayName": "Eye of Ender", + "name": "ender_eye", + "stackSize": 64 + }, + { + "id": 696, + "displayName": "Glistering Melon Slice", + "name": "glistering_melon_slice", + "stackSize": 64 + }, + { + "id": 697, + "displayName": "Bat Spawn Egg", + "name": "bat_spawn_egg", + "stackSize": 64 + }, + { + "id": 698, + "displayName": "Bee Spawn Egg", + "name": "bee_spawn_egg", + "stackSize": 64 + }, + { + "id": 699, + "displayName": "Blaze Spawn Egg", + "name": "blaze_spawn_egg", + "stackSize": 64 + }, + { + "id": 700, + "displayName": "Cat Spawn Egg", + "name": "cat_spawn_egg", + "stackSize": 64 + }, + { + "id": 701, + "displayName": "Cave Spider Spawn Egg", + "name": "cave_spider_spawn_egg", + "stackSize": 64 + }, + { + "id": 702, + "displayName": "Chicken Spawn Egg", + "name": "chicken_spawn_egg", + "stackSize": 64 + }, + { + "id": 703, + "displayName": "Cod Spawn Egg", + "name": "cod_spawn_egg", + "stackSize": 64 + }, + { + "id": 704, + "displayName": "Cow Spawn Egg", + "name": "cow_spawn_egg", + "stackSize": 64 + }, + { + "id": 705, + "displayName": "Creeper Spawn Egg", + "name": "creeper_spawn_egg", + "stackSize": 64 + }, + { + "id": 706, + "displayName": "Dolphin Spawn Egg", + "name": "dolphin_spawn_egg", + "stackSize": 64 + }, + { + "id": 707, + "displayName": "Donkey Spawn Egg", + "name": "donkey_spawn_egg", + "stackSize": 64 + }, + { + "id": 708, + "displayName": "Drowned Spawn Egg", + "name": "drowned_spawn_egg", + "stackSize": 64 + }, + { + "id": 709, + "displayName": "Elder Guardian Spawn Egg", + "name": "elder_guardian_spawn_egg", + "stackSize": 64 + }, + { + "id": 710, + "displayName": "Enderman Spawn Egg", + "name": "enderman_spawn_egg", + "stackSize": 64 + }, + { + "id": 711, + "displayName": "Endermite Spawn Egg", + "name": "endermite_spawn_egg", + "stackSize": 64 + }, + { + "id": 712, + "displayName": "Evoker Spawn Egg", + "name": "evoker_spawn_egg", + "stackSize": 64 + }, + { + "id": 713, + "displayName": "Fox Spawn Egg", + "name": "fox_spawn_egg", + "stackSize": 64 + }, + { + "id": 714, + "displayName": "Ghast Spawn Egg", + "name": "ghast_spawn_egg", + "stackSize": 64 + }, + { + "id": 715, + "displayName": "Guardian Spawn Egg", + "name": "guardian_spawn_egg", + "stackSize": 64 + }, + { + "id": 716, + "displayName": "Horse Spawn Egg", + "name": "horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 717, + "displayName": "Husk Spawn Egg", + "name": "husk_spawn_egg", + "stackSize": 64 + }, + { + "id": 718, + "displayName": "Llama Spawn Egg", + "name": "llama_spawn_egg", + "stackSize": 64 + }, + { + "id": 719, + "displayName": "Magma Cube Spawn Egg", + "name": "magma_cube_spawn_egg", + "stackSize": 64 + }, + { + "id": 720, + "displayName": "Mooshroom Spawn Egg", + "name": "mooshroom_spawn_egg", + "stackSize": 64 + }, + { + "id": 721, + "displayName": "Mule Spawn Egg", + "name": "mule_spawn_egg", + "stackSize": 64 + }, + { + "id": 722, + "displayName": "Ocelot Spawn Egg", + "name": "ocelot_spawn_egg", + "stackSize": 64 + }, + { + "id": 723, + "displayName": "Panda Spawn Egg", + "name": "panda_spawn_egg", + "stackSize": 64 + }, + { + "id": 724, + "displayName": "Parrot Spawn Egg", + "name": "parrot_spawn_egg", + "stackSize": 64 + }, + { + "id": 725, + "displayName": "Phantom Spawn Egg", + "name": "phantom_spawn_egg", + "stackSize": 64 + }, + { + "id": 726, + "displayName": "Pig Spawn Egg", + "name": "pig_spawn_egg", + "stackSize": 64 + }, + { + "id": 727, + "displayName": "Pillager Spawn Egg", + "name": "pillager_spawn_egg", + "stackSize": 64 + }, + { + "id": 728, + "displayName": "Polar Bear Spawn Egg", + "name": "polar_bear_spawn_egg", + "stackSize": 64 + }, + { + "id": 729, + "displayName": "Pufferfish Spawn Egg", + "name": "pufferfish_spawn_egg", + "stackSize": 64 + }, + { + "id": 730, + "displayName": "Rabbit Spawn Egg", + "name": "rabbit_spawn_egg", + "stackSize": 64 + }, + { + "id": 731, + "displayName": "Ravager Spawn Egg", + "name": "ravager_spawn_egg", + "stackSize": 64 + }, + { + "id": 732, + "displayName": "Salmon Spawn Egg", + "name": "salmon_spawn_egg", + "stackSize": 64 + }, + { + "id": 733, + "displayName": "Sheep Spawn Egg", + "name": "sheep_spawn_egg", + "stackSize": 64 + }, + { + "id": 734, + "displayName": "Shulker Spawn Egg", + "name": "shulker_spawn_egg", + "stackSize": 64 + }, + { + "id": 735, + "displayName": "Silverfish Spawn Egg", + "name": "silverfish_spawn_egg", + "stackSize": 64 + }, + { + "id": 736, + "displayName": "Skeleton Spawn Egg", + "name": "skeleton_spawn_egg", + "stackSize": 64 + }, + { + "id": 737, + "displayName": "Skeleton Horse Spawn Egg", + "name": "skeleton_horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 738, + "displayName": "Slime Spawn Egg", + "name": "slime_spawn_egg", + "stackSize": 64 + }, + { + "id": 739, + "displayName": "Spider Spawn Egg", + "name": "spider_spawn_egg", + "stackSize": 64 + }, + { + "id": 740, + "displayName": "Squid Spawn Egg", + "name": "squid_spawn_egg", + "stackSize": 64 + }, + { + "id": 741, + "displayName": "Stray Spawn Egg", + "name": "stray_spawn_egg", + "stackSize": 64 + }, + { + "id": 742, + "displayName": "Trader Llama Spawn Egg", + "name": "trader_llama_spawn_egg", + "stackSize": 64 + }, + { + "id": 743, + "displayName": "Tropical Fish Spawn Egg", + "name": "tropical_fish_spawn_egg", + "stackSize": 64 + }, + { + "id": 744, + "displayName": "Turtle Spawn Egg", + "name": "turtle_spawn_egg", + "stackSize": 64 + }, + { + "id": 745, + "displayName": "Vex Spawn Egg", + "name": "vex_spawn_egg", + "stackSize": 64 + }, + { + "id": 746, + "displayName": "Villager Spawn Egg", + "name": "villager_spawn_egg", + "stackSize": 64 + }, + { + "id": 747, + "displayName": "Vindicator Spawn Egg", + "name": "vindicator_spawn_egg", + "stackSize": 64 + }, + { + "id": 748, + "displayName": "Wandering Trader Spawn Egg", + "name": "wandering_trader_spawn_egg", + "stackSize": 64 + }, + { + "id": 749, + "displayName": "Witch Spawn Egg", + "name": "witch_spawn_egg", + "stackSize": 64 + }, + { + "id": 750, + "displayName": "Wither Skeleton Spawn Egg", + "name": "wither_skeleton_spawn_egg", + "stackSize": 64 + }, + { + "id": 751, + "displayName": "Wolf Spawn Egg", + "name": "wolf_spawn_egg", + "stackSize": 64 + }, + { + "id": 752, + "displayName": "Zombie Spawn Egg", + "name": "zombie_spawn_egg", + "stackSize": 64 + }, + { + "id": 753, + "displayName": "Zombie Horse Spawn Egg", + "name": "zombie_horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 754, + "displayName": "Zombie Pigman Spawn Egg", + "name": "zombie_pigman_spawn_egg", + "stackSize": 64 + }, + { + "id": 755, + "displayName": "Zombie Villager Spawn Egg", + "name": "zombie_villager_spawn_egg", + "stackSize": 64 + }, + { + "id": 756, + "displayName": "Bottle o' Enchanting", + "name": "experience_bottle", + "stackSize": 64 + }, + { + "id": 757, + "displayName": "Fire Charge", + "name": "fire_charge", + "stackSize": 64 + }, + { + "id": 758, + "displayName": "Book and Quill", + "name": "writable_book", + "stackSize": 1 + }, + { + "id": 759, + "displayName": "Written Book", + "name": "written_book", + "stackSize": 16 + }, + { + "id": 760, + "displayName": "Emerald", + "name": "emerald", + "stackSize": 64 + }, + { + "id": 761, + "displayName": "Item Frame", + "name": "item_frame", + "stackSize": 64 + }, + { + "id": 762, + "displayName": "Flower Pot", + "name": "flower_pot", + "stackSize": 64 + }, + { + "id": 763, + "displayName": "Carrot", + "name": "carrot", + "stackSize": 64 + }, + { + "id": 764, + "displayName": "Potato", + "name": "potato", + "stackSize": 64 + }, + { + "id": 765, + "displayName": "Baked Potato", + "name": "baked_potato", + "stackSize": 64 + }, + { + "id": 766, + "displayName": "Poisonous Potato", + "name": "poisonous_potato", + "stackSize": 64 + }, + { + "id": 767, + "displayName": "Empty Map", + "name": "map", + "stackSize": 64 + }, + { + "id": 768, + "displayName": "Golden Carrot", + "name": "golden_carrot", + "stackSize": 64 + }, + { + "id": 769, + "displayName": "Skeleton Skull", + "name": "skeleton_skull", + "stackSize": 64 + }, + { + "id": 770, + "displayName": "Wither Skeleton Skull", + "name": "wither_skeleton_skull", + "stackSize": 64 + }, + { + "id": 771, + "displayName": "Player Head", + "name": "player_head", + "stackSize": 64 + }, + { + "id": 772, + "displayName": "Zombie Head", + "name": "zombie_head", + "stackSize": 64 + }, + { + "id": 773, + "displayName": "Creeper Head", + "name": "creeper_head", + "stackSize": 64 + }, + { + "id": 774, + "displayName": "Dragon Head", + "name": "dragon_head", + "stackSize": 64 + }, + { + "id": 775, + "displayName": "Carrot on a Stick", + "name": "carrot_on_a_stick", + "stackSize": 1 + }, + { + "id": 776, + "displayName": "Nether Star", + "name": "nether_star", + "stackSize": 64 + }, + { + "id": 777, + "displayName": "Pumpkin Pie", + "name": "pumpkin_pie", + "stackSize": 64 + }, + { + "id": 778, + "displayName": "Firework Rocket", + "name": "firework_rocket", + "stackSize": 64 + }, + { + "id": 779, + "displayName": "Firework Star", + "name": "firework_star", + "stackSize": 64 + }, + { + "id": 780, + "displayName": "Enchanted Book", + "name": "enchanted_book", + "stackSize": 1 + }, + { + "id": 781, + "displayName": "Nether Brick", + "name": "nether_brick", + "stackSize": 64 + }, + { + "id": 782, + "displayName": "Nether Quartz", + "name": "quartz", + "stackSize": 64 + }, + { + "id": 783, + "displayName": "Minecart with TNT", + "name": "tnt_minecart", + "stackSize": 1 + }, + { + "id": 784, + "displayName": "Minecart with Hopper", + "name": "hopper_minecart", + "stackSize": 1 + }, + { + "id": 785, + "displayName": "Prismarine Shard", + "name": "prismarine_shard", + "stackSize": 64 + }, + { + "id": 786, + "displayName": "Prismarine Crystals", + "name": "prismarine_crystals", + "stackSize": 64 + }, + { + "id": 787, + "displayName": "Raw Rabbit", + "name": "rabbit", + "stackSize": 64 + }, + { + "id": 788, + "displayName": "Cooked Rabbit", + "name": "cooked_rabbit", + "stackSize": 64 + }, + { + "id": 789, + "displayName": "Rabbit Stew", + "name": "rabbit_stew", + "stackSize": 1 + }, + { + "id": 790, + "displayName": "Rabbit's Foot", + "name": "rabbit_foot", + "stackSize": 64 + }, + { + "id": 791, + "displayName": "Rabbit Hide", + "name": "rabbit_hide", + "stackSize": 64 + }, + { + "id": 792, + "displayName": "Armor Stand", + "name": "armor_stand", + "stackSize": 16 + }, + { + "id": 793, + "displayName": "Iron Horse Armor", + "name": "iron_horse_armor", + "stackSize": 1 + }, + { + "id": 794, + "displayName": "Golden Horse Armor", + "name": "golden_horse_armor", + "stackSize": 1 + }, + { + "id": 795, + "displayName": "Diamond Horse Armor", + "name": "diamond_horse_armor", + "stackSize": 1 + }, + { + "id": 796, + "displayName": "Leather Horse Armor", + "name": "leather_horse_armor", + "stackSize": 1 + }, + { + "id": 797, + "displayName": "Lead", + "name": "lead", + "stackSize": 64 + }, + { + "id": 798, + "displayName": "Name Tag", + "name": "name_tag", + "stackSize": 64 + }, + { + "id": 799, + "displayName": "Minecart with Command Block", + "name": "command_block_minecart", + "stackSize": 1 + }, + { + "id": 800, + "displayName": "Raw Mutton", + "name": "mutton", + "stackSize": 64 + }, + { + "id": 801, + "displayName": "Cooked Mutton", + "name": "cooked_mutton", + "stackSize": 64 + }, + { + "id": 802, + "displayName": "White Banner", + "name": "white_banner", + "stackSize": 16 + }, + { + "id": 803, + "displayName": "Orange Banner", + "name": "orange_banner", + "stackSize": 16 + }, + { + "id": 804, + "displayName": "Magenta Banner", + "name": "magenta_banner", + "stackSize": 16 + }, + { + "id": 805, + "displayName": "Light Blue Banner", + "name": "light_blue_banner", + "stackSize": 16 + }, + { + "id": 806, + "displayName": "Yellow Banner", + "name": "yellow_banner", + "stackSize": 16 + }, + { + "id": 807, + "displayName": "Lime Banner", + "name": "lime_banner", + "stackSize": 16 + }, + { + "id": 808, + "displayName": "Pink Banner", + "name": "pink_banner", + "stackSize": 16 + }, + { + "id": 809, + "displayName": "Gray Banner", + "name": "gray_banner", + "stackSize": 16 + }, + { + "id": 810, + "displayName": "Light Gray Banner", + "name": "light_gray_banner", + "stackSize": 16 + }, + { + "id": 811, + "displayName": "Cyan Banner", + "name": "cyan_banner", + "stackSize": 16 + }, + { + "id": 812, + "displayName": "Purple Banner", + "name": "purple_banner", + "stackSize": 16 + }, + { + "id": 813, + "displayName": "Blue Banner", + "name": "blue_banner", + "stackSize": 16 + }, + { + "id": 814, + "displayName": "Brown Banner", + "name": "brown_banner", + "stackSize": 16 + }, + { + "id": 815, + "displayName": "Green Banner", + "name": "green_banner", + "stackSize": 16 + }, + { + "id": 816, + "displayName": "Red Banner", + "name": "red_banner", + "stackSize": 16 + }, + { + "id": 817, + "displayName": "Black Banner", + "name": "black_banner", + "stackSize": 16 + }, + { + "id": 818, + "displayName": "End Crystal", + "name": "end_crystal", + "stackSize": 64 + }, + { + "id": 819, + "displayName": "Chorus Fruit", + "name": "chorus_fruit", + "stackSize": 64 + }, + { + "id": 820, + "displayName": "Popped Chorus Fruit", + "name": "popped_chorus_fruit", + "stackSize": 64 + }, + { + "id": 821, + "displayName": "Beetroot", + "name": "beetroot", + "stackSize": 64 + }, + { + "id": 822, + "displayName": "Beetroot Seeds", + "name": "beetroot_seeds", + "stackSize": 64 + }, + { + "id": 823, + "displayName": "Beetroot Soup", + "name": "beetroot_soup", + "stackSize": 1 + }, + { + "id": 824, + "displayName": "Dragon's Breath", + "name": "dragon_breath", + "stackSize": 64 + }, + { + "id": 825, + "displayName": "Splash Potion", + "name": "splash_potion", + "stackSize": 1 + }, + { + "id": 826, + "displayName": "Spectral Arrow", + "name": "spectral_arrow", + "stackSize": 64 + }, + { + "id": 827, + "displayName": "Tipped Arrow", + "name": "tipped_arrow", + "stackSize": 64 + }, + { + "id": 828, + "displayName": "Lingering Potion", + "name": "lingering_potion", + "stackSize": 1 + }, + { + "id": 829, + "displayName": "Shield", + "name": "shield", + "stackSize": 1 + }, + { + "id": 830, + "displayName": "Elytra", + "name": "elytra", + "stackSize": 1 + }, + { + "id": 831, + "displayName": "Spruce Boat", + "name": "spruce_boat", + "stackSize": 1 + }, + { + "id": 832, + "displayName": "Birch Boat", + "name": "birch_boat", + "stackSize": 1 + }, + { + "id": 833, + "displayName": "Jungle Boat", + "name": "jungle_boat", + "stackSize": 1 + }, + { + "id": 834, + "displayName": "Acacia Boat", + "name": "acacia_boat", + "stackSize": 1 + }, + { + "id": 835, + "displayName": "Dark Oak Boat", + "name": "dark_oak_boat", + "stackSize": 1 + }, + { + "id": 836, + "displayName": "Totem of Undying", + "name": "totem_of_undying", + "stackSize": 1 + }, + { + "id": 837, + "displayName": "Shulker Shell", + "name": "shulker_shell", + "stackSize": 64 + }, + { + "id": 838, + "displayName": "Iron Nugget", + "name": "iron_nugget", + "stackSize": 64 + }, + { + "id": 839, + "displayName": "Knowledge Book", + "name": "knowledge_book", + "stackSize": 1 + }, + { + "id": 840, + "displayName": "Debug Stick", + "name": "debug_stick", + "stackSize": 1 + }, + { + "id": 841, + "displayName": "13 Disc", + "name": "music_disc_13", + "stackSize": 1 + }, + { + "id": 842, + "displayName": "Cat Disc", + "name": "music_disc_cat", + "stackSize": 1 + }, + { + "id": 843, + "displayName": "Blocks Disc", + "name": "music_disc_blocks", + "stackSize": 1 + }, + { + "id": 844, + "displayName": "Chirp Disc", + "name": "music_disc_chirp", + "stackSize": 1 + }, + { + "id": 845, + "displayName": "Far Disc", + "name": "music_disc_far", + "stackSize": 1 + }, + { + "id": 846, + "displayName": "Mall Disc", + "name": "music_disc_mall", + "stackSize": 1 + }, + { + "id": 847, + "displayName": "Mellohi Disc", + "name": "music_disc_mellohi", + "stackSize": 1 + }, + { + "id": 848, + "displayName": "Stal Disc", + "name": "music_disc_stal", + "stackSize": 1 + }, + { + "id": 849, + "displayName": "Strad Disc", + "name": "music_disc_strad", + "stackSize": 1 + }, + { + "id": 850, + "displayName": "Ward Disc", + "name": "music_disc_ward", + "stackSize": 1 + }, + { + "id": 851, + "displayName": "11 Disc", + "name": "music_disc_11", + "stackSize": 1 + }, + { + "id": 852, + "displayName": "Wait Disc", + "name": "music_disc_wait", + "stackSize": 1 + }, + { + "id": 853, + "displayName": "Trident", + "name": "trident", + "stackSize": 1 + }, + { + "id": 854, + "displayName": "Phantom Membrane", + "name": "phantom_membrane", + "stackSize": 64 + }, + { + "id": 855, + "displayName": "Nautilus Shell", + "name": "nautilus_shell", + "stackSize": 64 + }, + { + "id": 856, + "displayName": "Heart of the Sea", + "name": "heart_of_the_sea", + "stackSize": 64 + }, + { + "id": 857, + "displayName": "Crossbow", + "name": "crossbow", + "stackSize": 1 + }, + { + "id": 858, + "displayName": "Suspicious Stew", + "name": "suspicious_stew", + "stackSize": 1 + }, + { + "id": 859, + "displayName": "Loom", + "name": "loom", + "stackSize": 64 + }, + { + "id": 860, + "displayName": "Banner Pattern", + "name": "flower_banner_pattern", + "stackSize": 1 + }, + { + "id": 861, + "displayName": "Banner Pattern", + "name": "creeper_banner_pattern", + "stackSize": 1 + }, + { + "id": 862, + "displayName": "Banner Pattern", + "name": "skull_banner_pattern", + "stackSize": 1 + }, + { + "id": 863, + "displayName": "Banner Pattern", + "name": "mojang_banner_pattern", + "stackSize": 1 + }, + { + "id": 864, + "displayName": "Banner Pattern", + "name": "globe_banner_pattern", + "stackSize": 1 + }, + { + "id": 865, + "displayName": "Barrel", + "name": "barrel", + "stackSize": 64 + }, + { + "id": 866, + "displayName": "Smoker", + "name": "smoker", + "stackSize": 64 + }, + { + "id": 867, + "displayName": "Blast Furnace", + "name": "blast_furnace", + "stackSize": 64 + }, + { + "id": 868, + "displayName": "Cartography Table", + "name": "cartography_table", + "stackSize": 64 + }, + { + "id": 869, + "displayName": "Fletching Table", + "name": "fletching_table", + "stackSize": 64 + }, + { + "id": 870, + "displayName": "Grindstone", + "name": "grindstone", + "stackSize": 64 + }, + { + "id": 871, + "displayName": "Lectern", + "name": "lectern", + "stackSize": 64 + }, + { + "id": 872, + "displayName": "Smithing Table", + "name": "smithing_table", + "stackSize": 64 + }, + { + "id": 873, + "displayName": "Stonecutter", + "name": "stonecutter", + "stackSize": 64 + }, + { + "id": 874, + "displayName": "Bell", + "name": "bell", + "stackSize": 64 + }, + { + "id": 875, + "displayName": "Lantern", + "name": "lantern", + "stackSize": 64 + }, + { + "id": 876, + "displayName": "Sweet Berries", + "name": "sweet_berries", + "stackSize": 64 + }, + { + "id": 877, + "displayName": "Campfire", + "name": "campfire", + "stackSize": 64 + }, + { + "id": 878, + "displayName": "Honeycomb", + "name": "honeycomb", + "stackSize": 64 + }, + { + "id": 879, + "displayName": "Bee Nest", + "name": "bee_nest", + "stackSize": 64 + }, + { + "id": 880, + "displayName": "Beehive", + "name": "beehive", + "stackSize": 64 + }, + { + "id": 881, + "displayName": "Honey Bottle", + "name": "honey_bottle", + "stackSize": 16 + }, + { + "id": 882, + "displayName": "Honey Block", + "name": "honey_block", + "stackSize": 64 + }, + { + "id": 883, + "displayName": "Honeycomb Block", + "name": "honeycomb_block", + "stackSize": 64 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/language.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/language.json new file mode 100644 index 00000000..ae0b45fe --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/language.json @@ -0,0 +1,4389 @@ +{ + "language.name": "English", + "language.region": "United States", + "language.code": "en_us", + "narrator.button.accessibility": "Accessibility", + "narrator.button.language": "Language", + "narrator.button.difficulty_lock": "Difficulty lock", + "narrator.button.difficulty_lock.unlocked": "Unlocked", + "narrator.button.difficulty_lock.locked": "Locked", + "narrator.screen.title": "Title Screen", + "narrator.controls.reset": "Reset %s button", + "narrator.controls.bound": "%s is bound to %s", + "narrator.controls.unbound": "%s is not bound", + "narrator.select": "Selected: %s", + "narrator.select.world": "Selected %s, last played: %s, %s, %s, version: %s", + "narrator.loading": "Loading: %s", + "narrator.loading.done": "Done", + "narrator.joining": "Joining", + "narration.suggestion.tooltip": "Selected suggestion %d out of %d: %s (%s)", + "narration.suggestion": "Selected suggestion %d out of %d: %s", + "gui.done": "Done", + "gui.cancel": "Cancel", + "gui.back": "Back", + "gui.toTitle": "Back to title screen", + "gui.toMenu": "Back to server list", + "gui.up": "Up", + "gui.down": "Down", + "gui.yes": "Yes", + "gui.no": "No", + "gui.none": "None", + "gui.all": "All", + "gui.ok": "Ok", + "gui.proceed": "Proceed", + "gui.recipebook.moreRecipes": "Right Click for more", + "gui.recipebook.toggleRecipes.all": "Showing all", + "gui.recipebook.toggleRecipes.craftable": "Showing craftable", + "gui.recipebook.toggleRecipes.smeltable": "Showing smeltable", + "gui.recipebook.toggleRecipes.blastable": "Showing blastable", + "gui.recipebook.toggleRecipes.smokable": "Showing smokable", + "gui.narrate.button": "%s button", + "gui.narrate.slider": "%s slider", + "gui.narrate.editBox": "%s edit box: %s", + "translation.test.none": "Hello, world!", + "translation.test.complex": "Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!", + "translation.test.escape": "%%s %%%s %%%%s %%%%%s", + "translation.test.invalid": "hi %", + "translation.test.invalid2": "hi % s", + "translation.test.args": "%s %s", + "translation.test.world": "world", + "menu.game": "Game Menu", + "menu.singleplayer": "Singleplayer", + "menu.multiplayer": "Multiplayer", + "menu.online": "Minecraft Realms", + "menu.options": "Options...", + "menu.quit": "Quit Game", + "menu.returnToMenu": "Save and Quit to Title", + "menu.disconnect": "Disconnect", + "menu.returnToGame": "Back to Game", + "menu.generatingLevel": "Generating world", + "menu.loadingLevel": "Loading world", + "menu.savingLevel": "Saving world", + "menu.working": "Working...", + "menu.savingChunks": "Saving chunks", + "menu.preparingSpawn": "Preparing spawn area: %s%%", + "menu.loadingForcedChunks": "Loading forced chunks for dimension %s", + "menu.generatingTerrain": "Building terrain", + "menu.convertingLevel": "Converting world", + "menu.respawning": "Respawning", + "menu.shareToLan": "Open to LAN", + "menu.sendFeedback": "Give Feedback", + "menu.reportBugs": "Report Bugs", + "menu.paused": "Game paused", + "menu.modded": " (Modded)", + "optimizeWorld.confirm.title": "Optimize world", + "optimizeWorld.confirm.description": "This will attempt to optimize your world by making sure all data is stored in the most recent game format. This can take a very long time, depending on your world. Once done, your world may play faster but will no longer be compatible with older versions of the game. Are you sure you wish to proceed?", + "optimizeWorld.title": "Optimizing World '%s'", + "optimizeWorld.stage.counting": "Counting chunks...", + "optimizeWorld.stage.upgrading": "Upgrading all chunks...", + "optimizeWorld.stage.finished": "Finishing up...", + "optimizeWorld.stage.failed": "Failed! :(", + "optimizeWorld.info.converted": "Upgraded chunks: %s", + "optimizeWorld.info.skipped": "Skipped chunks: %s", + "optimizeWorld.info.total": "Total chunks: %s", + "selectWorld.title": "Select World", + "selectWorld.search": "search for worlds", + "selectWorld.empty": "empty", + "selectWorld.world": "World", + "selectWorld.select": "Play Selected World", + "selectWorld.create": "Create New World", + "selectWorld.recreate": "Re-Create", + "selectWorld.createDemo": "Play New Demo World", + "selectWorld.delete": "Delete", + "selectWorld.edit": "Edit", + "selectWorld.edit.title": "Edit World", + "selectWorld.edit.resetIcon": "Reset Icon", + "selectWorld.edit.openFolder": "Open World Folder", + "selectWorld.edit.save": "Save", + "selectWorld.edit.backup": "Make Backup", + "selectWorld.edit.backupFolder": "Open Backups Folder", + "selectWorld.edit.backupFailed": "Backup failed", + "selectWorld.edit.backupCreated": "Backed up: %s", + "selectWorld.edit.backupSize": "size: %s MB", + "selectWorld.edit.optimize": "Optimize World", + "selectWorld.deleteQuestion": "Are you sure you want to delete this world?", + "selectWorld.deleteWarning": "'%s' will be lost forever! (A long time!)", + "selectWorld.deleteButton": "Delete", + "selectWorld.conversion": "Must be converted!", + "selectWorld.newWorld": "New World", + "selectWorld.enterName": "World Name", + "selectWorld.resultFolder": "Will be saved in:", + "selectWorld.enterSeed": "Seed for the world generator", + "selectWorld.seedInfo": "Leave blank for a random seed", + "selectWorld.cheats": "Cheats", + "selectWorld.customizeType": "Customize", + "selectWorld.version": "Version:", + "selectWorld.versionUnknown": "unknown", + "selectWorld.versionQuestion": "Do you really want to load this world?", + "selectWorld.versionWarning": "This world was last played in version %s and loading it in this version could cause corruption!", + "selectWorld.versionJoinButton": "Load Anyway", + "selectWorld.backupQuestion": "Do you really want to load this world?", + "selectWorld.backupWarning": "This world was last played in version %s; you are on version %s. Please make a backup in case you experience world corruptions!", + "selectWorld.backupQuestion.customized": "Customized worlds are no longer supported", + "selectWorld.backupWarning.customized": "Unfortunately, we do not support customized worlds in this version of Minecraft. We can still load this world and keep everything the way it was, but any newly generated terrain will no longer be customized. We're sorry for the inconvenience!", + "selectWorld.backupEraseCache": "Erase cached data", + "selectWorld.backupJoinConfirmButton": "Backup and load", + "selectWorld.backupJoinSkipButton": "I know what I'm doing!", + "selectWorld.tooltip.fromNewerVersion1": "World was saved in a newer version,", + "selectWorld.tooltip.fromNewerVersion2": "loading this world could cause problems!", + "selectWorld.tooltip.snapshot1": "Don't forget to backup this world", + "selectWorld.tooltip.snapshot2": "before you load it in this snapshot.", + "selectWorld.tooltip.unsupported": "This world is no longer supported and can only be played in %s", + "selectWorld.unable_to_load": "Unable to load worlds", + "selectWorld.futureworld.error.title": "An error occured!", + "selectWorld.futureworld.error.text": "Something went wrong while trying to load a world from a future version. This was a risky operation to begin with, sorry it didn't work.", + "selectWorld.recreate.error.title": "An error occured!", + "selectWorld.recreate.error.text": "Something went wrong while trying to recreate a world.", + "selectWorld.recreate.customized.title": "Customized worlds are no longer supported", + "selectWorld.recreate.customized.text": "Customized worlds are no longer supported in this version of Minecraft. We can try to recreate it with the same seed and properties, but any terrain customizations will be lost. We're sorry for the inconvenience!", + "selectWorld.load_folder_access": "Unable to read or access folder where game worlds are saved!", + "createWorld.customize.presets": "Presets", + "createWorld.customize.presets.title": "Select a Preset", + "createWorld.customize.presets.select": "Use Preset", + "createWorld.customize.presets.share": "Want to share your preset with someone? Use the below box!", + "createWorld.customize.presets.list": "Alternatively, here's some we made earlier!", + "createWorld.customize.flat.title": "Superflat Customization", + "createWorld.customize.flat.tile": "Layer Material", + "createWorld.customize.flat.height": "Height", + "createWorld.customize.flat.removeLayer": "Remove Layer", + "createWorld.customize.flat.layer.top": "Top - %s", + "createWorld.customize.flat.layer": "%s", + "createWorld.customize.flat.layer.bottom": "Bottom - %s", + "createWorld.customize.buffet.title": "Buffet world customization", + "createWorld.customize.buffet.generatortype": "World generator:", + "createWorld.customize.buffet.generator": "Please select a generator type", + "createWorld.customize.buffet.biome": "Please select a biome", + "createWorld.customize.preset.classic_flat": "Classic Flat", + "createWorld.customize.preset.tunnelers_dream": "Tunnelers' Dream", + "createWorld.customize.preset.water_world": "Water World", + "createWorld.customize.preset.overworld": "Overworld", + "createWorld.customize.preset.snowy_kingdom": "Snowy Kingdom", + "createWorld.customize.preset.bottomless_pit": "Bottomless Pit", + "createWorld.customize.preset.desert": "Desert", + "createWorld.customize.preset.redstone_ready": "Redstone Ready", + "createWorld.customize.preset.the_void": "The Void", + "createWorld.customize.custom.page0": "Basic Settings", + "createWorld.customize.custom.page1": "Ore Settings", + "createWorld.customize.custom.page2": "Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.page3": "Extra Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.randomize": "Randomize", + "createWorld.customize.custom.prev": "Previous Page", + "createWorld.customize.custom.next": "Next Page", + "createWorld.customize.custom.defaults": "Defaults", + "createWorld.customize.custom.confirm1": "This will overwrite your current", + "createWorld.customize.custom.confirm2": "settings and cannot be undone.", + "createWorld.customize.custom.confirmTitle": "Warning!", + "createWorld.customize.custom.mainNoiseScaleX": "Main Noise Scale X", + "createWorld.customize.custom.mainNoiseScaleY": "Main Noise Scale Y", + "createWorld.customize.custom.mainNoiseScaleZ": "Main Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleX": "Depth Noise Scale X", + "createWorld.customize.custom.depthNoiseScaleZ": "Depth Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleExponent": "Depth Noise Exponent", + "createWorld.customize.custom.baseSize": "Depth Base Size", + "createWorld.customize.custom.coordinateScale": "Coordinate Scale", + "createWorld.customize.custom.heightScale": "Height Scale", + "createWorld.customize.custom.stretchY": "Height Stretch", + "createWorld.customize.custom.upperLimitScale": "Upper Limit Scale", + "createWorld.customize.custom.lowerLimitScale": "Lower Limit Scale", + "createWorld.customize.custom.biomeDepthWeight": "Biome Depth Weight", + "createWorld.customize.custom.biomeDepthOffset": "Biome Depth Offset", + "createWorld.customize.custom.biomeScaleWeight": "Biome Scale Weight", + "createWorld.customize.custom.biomeScaleOffset": "Biome Scale Offset", + "createWorld.customize.custom.seaLevel": "Sea Level", + "createWorld.customize.custom.useCaves": "Caves", + "createWorld.customize.custom.useStrongholds": "Strongholds", + "createWorld.customize.custom.useVillages": "Villages", + "createWorld.customize.custom.useMineShafts": "Mineshafts", + "createWorld.customize.custom.useTemples": "Temples", + "createWorld.customize.custom.useOceanRuins": "Ocean Ruins", + "createWorld.customize.custom.useMonuments": "Ocean Monuments", + "createWorld.customize.custom.useMansions": "Woodland Mansions", + "createWorld.customize.custom.useRavines": "Ravines", + "createWorld.customize.custom.useDungeons": "Dungeons", + "createWorld.customize.custom.dungeonChance": "Dungeon Count", + "createWorld.customize.custom.useWaterLakes": "Water Lakes", + "createWorld.customize.custom.waterLakeChance": "Water Lake Rarity", + "createWorld.customize.custom.useLavaLakes": "Lava Lakes", + "createWorld.customize.custom.lavaLakeChance": "Lava Lake Rarity", + "createWorld.customize.custom.useLavaOceans": "Lava Oceans", + "createWorld.customize.custom.fixedBiome": "Biome", + "createWorld.customize.custom.biomeSize": "Biome Size", + "createWorld.customize.custom.riverSize": "River Size", + "createWorld.customize.custom.size": "Spawn Size", + "createWorld.customize.custom.count": "Spawn Tries", + "createWorld.customize.custom.minHeight": "Min. Height", + "createWorld.customize.custom.maxHeight": "Max. Height", + "createWorld.customize.custom.center": "Center Height", + "createWorld.customize.custom.spread": "Spread Height", + "createWorld.customize.custom.presets.title": "Customize World Presets", + "createWorld.customize.custom.presets": "Presets", + "createWorld.customize.custom.preset.waterWorld": "Water World", + "createWorld.customize.custom.preset.isleLand": "Isle Land", + "createWorld.customize.custom.preset.caveDelight": "Caver's Delight", + "createWorld.customize.custom.preset.mountains": "Mountain Madness", + "createWorld.customize.custom.preset.drought": "Drought", + "createWorld.customize.custom.preset.caveChaos": "Caves of Chaos", + "createWorld.customize.custom.preset.goodLuck": "Good Luck", + "gameMode.survival": "Survival Mode", + "gameMode.creative": "Creative Mode", + "gameMode.adventure": "Adventure Mode", + "gameMode.spectator": "Spectator Mode", + "gameMode.hardcore": "Hardcore Mode!", + "gameMode.changed": "Your game mode has been updated to %s", + "spectatorMenu.previous_page": "Previous Page", + "spectatorMenu.next_page": "Next Page", + "spectatorMenu.close": "Close Menu", + "spectatorMenu.teleport": "Teleport to Player", + "spectatorMenu.teleport.prompt": "Select a player to teleport to", + "spectatorMenu.team_teleport": "Teleport to Team Member", + "spectatorMenu.team_teleport.prompt": "Select a team to teleport to", + "spectatorMenu.root.prompt": "Press a key to select a command, and again to use it.", + "selectWorld.gameMode": "Game Mode", + "selectWorld.gameMode.survival": "Survival", + "selectWorld.gameMode.survival.line1": "Search for resources, crafting, gain", + "selectWorld.gameMode.survival.line2": "levels, health and hunger", + "selectWorld.gameMode.creative": "Creative", + "selectWorld.gameMode.creative.line1": "Unlimited resources, free flying and", + "selectWorld.gameMode.creative.line2": "destroy blocks instantly", + "selectWorld.gameMode.spectator": "Spectator", + "selectWorld.gameMode.spectator.line1": "You can look but don't touch", + "selectWorld.gameMode.spectator.line2": "", + "selectWorld.gameMode.hardcore": "Hardcore", + "selectWorld.gameMode.hardcore.line1": "Same as survival mode, locked at hardest", + "selectWorld.gameMode.hardcore.line2": "difficulty, and one life only", + "selectWorld.gameMode.adventure": "Adventure", + "selectWorld.gameMode.adventure.line1": "Same as survival mode, but blocks can't", + "selectWorld.gameMode.adventure.line2": "be added or removed", + "selectWorld.moreWorldOptions": "More World Options...", + "selectWorld.mapFeatures": "Generate Structures:", + "selectWorld.mapFeatures.info": "Villages, dungeons etc", + "selectWorld.mapType": "World Type:", + "selectWorld.mapType.normal": "Normal", + "selectWorld.allowCommands": "Allow Cheats:", + "selectWorld.allowCommands.info": "Commands like /gamemode, /experience", + "selectWorld.hardcoreMode": "Hardcore:", + "selectWorld.hardcoreMode.info": "World is deleted upon death", + "selectWorld.bonusItems": "Bonus Chest:", + "generator.default": "Default", + "generator.flat": "Superflat", + "generator.largeBiomes": "Large Biomes", + "generator.amplified": "AMPLIFIED", + "generator.customized": "Customized", + "generator.debug_all_block_states": "Debug Mode", + "generator.amplified.info": "Notice: Just for fun, requires beefy computer", + "generator.buffet": "Buffet", + "selectServer.title": "Select Server", + "selectServer.empty": "empty", + "selectServer.select": "Join Server", + "selectServer.direct": "Direct Connect", + "selectServer.edit": "Edit", + "selectServer.delete": "Delete", + "selectServer.add": "Add Server", + "selectServer.defaultName": "Minecraft Server", + "selectServer.deleteQuestion": "Are you sure you want to remove this server?", + "selectServer.deleteWarning": "'%s' will be lost forever! (A long time!)", + "selectServer.deleteButton": "Delete", + "selectServer.refresh": "Refresh", + "selectServer.hiddenAddress": "(Hidden)", + "addServer.title": "Edit Server Info", + "addServer.enterName": "Server Name", + "addServer.enterIp": "Server Address", + "addServer.add": "Done", + "addServer.hideAddress": "Hide Address", + "addServer.resourcePack": "Server Resource Packs", + "addServer.resourcePack.enabled": "Enabled", + "addServer.resourcePack.disabled": "Disabled", + "addServer.resourcePack.prompt": "Prompt", + "lanServer.title": "LAN World", + "lanServer.scanning": "Scanning for games on your local network", + "lanServer.start": "Start LAN World", + "lanServer.otherPlayers": "Settings for Other Players", + "mcoServer.title": "Minecraft Online World", + "multiplayerWarning.header": "Online play is not rated", + "multiplayerWarning.message": "During online play you may be exposed to chat messages or other types of user generated content that has not been rated, and may not be suitable for all ages.", + "multiplayerWarning.check": "Do not show this screen again", + "multiplayer.title": "Play Multiplayer", + "multiplayer.connect": "Connect", + "multiplayer.ipinfo": "Enter the IP of a server to connect to it:", + "multiplayer.texturePrompt.line1": "This server recommends the use of a custom resource pack.", + "multiplayer.texturePrompt.line2": "Would you like to download and install it automagically?", + "multiplayer.downloadingTerrain": "Loading terrain...", + "multiplayer.downloadingStats": "Downloading statistics...", + "multiplayer.stopSleeping": "Leave Bed", + "multiplayer.message_not_delivered": "Can't deliver chat message starting with %s, check server logs", + "multiplayer.player.joined": "%s joined the game", + "multiplayer.player.joined.renamed": "%s (formerly known as %s) joined the game", + "multiplayer.player.left": "%s left the game", + "multiplayer.status.and_more": "... and %s more ...", + "multiplayer.status.cancelled": "Cancelled", + "multiplayer.status.cannot_connect": "Can't connect to server", + "multiplayer.status.cannot_resolve": "Can't resolve hostname", + "multiplayer.status.client_out_of_date": "Client out of date!", + "multiplayer.status.finished": "Finished", + "multiplayer.status.no_connection": "(no connection)", + "multiplayer.status.old": "Old", + "multiplayer.status.pinging": "Pinging...", + "multiplayer.status.quitting": "Quitting", + "multiplayer.status.server_out_of_date": "Server out of date!", + "multiplayer.status.unknown": "???", + "multiplayer.status.unrequested": "Received unrequested status", + "multiplayer.status.request_handled": "Status requst has been handled", + "multiplayer.disconnect.authservers_down": "Authentication servers are down. Please try again later, sorry!", + "multiplayer.disconnect.banned": "You are banned from this server", + "multiplayer.disconnect.banned.reason": "You are banned from this server.\nReason: %s", + "multiplayer.disconnect.banned.expiration": "\nYour ban will be removed on %s", + "multiplayer.disconnect.banned_ip.reason": "Your IP address is banned from this server.\nReason: %s", + "multiplayer.disconnect.banned_ip.expiration": "\nYour ban will be removed on %s", + "multiplayer.disconnect.duplicate_login": "You logged in from another location", + "multiplayer.disconnect.flying": "Flying is not enabled on this server", + "multiplayer.disconnect.generic": "Disconnected", + "multiplayer.disconnect.idling": "You have been idle for too long!", + "multiplayer.disconnect.illegal_characters": "Illegal characters in chat", + "multiplayer.disconnect.invalid_entity_attacked": "Attempting to attack an invalid entity", + "multiplayer.disconnect.invalid_player_movement": "Invalid move player packet received", + "multiplayer.disconnect.invalid_vehicle_movement": "Invalid move vehicle packet received", + "multiplayer.disconnect.ip_banned": "You have been IP banned from this server", + "multiplayer.disconnect.kicked": "Kicked by an operator", + "multiplayer.disconnect.outdated_client": "Outdated client! Please use %s", + "multiplayer.disconnect.outdated_server": "Outdated server! I'm still on %s", + "multiplayer.disconnect.server_shutdown": "Server closed", + "multiplayer.disconnect.slow_login": "Took too long to log in", + "multiplayer.disconnect.unverified_username": "Failed to verify username!", + "multiplayer.disconnect.not_whitelisted": "You are not white-listed on this server!", + "multiplayer.disconnect.server_full": "The server is full!", + "multiplayer.disconnect.name_taken": "That name is already taken", + "multiplayer.disconnect.unexpected_query_response": "Unexpected custom data from client", + "chat.editBox": "chat", + "chat.cannotSend": "Cannot send chat message", + "chat.type.text": "<%s> %s", + "chat.type.text.narrate": "%s says %s", + "chat.type.emote": "* %s %s", + "chat.type.announcement": "[%s] %s", + "chat.type.admin": "[%s: %s]", + "chat.type.advancement.task": "%s has made the advancement %s", + "chat.type.advancement.challenge": "%s has completed the challenge %s", + "chat.type.advancement.goal": "%s has reached the goal %s", + "chat.type.team.text": "%s <%s> %s", + "chat.type.team.sent": "-> %s <%s> %s", + "chat.type.team.hover": "Message Team", + "chat.link.confirm": "Are you sure you want to open the following website?", + "chat.link.warning": "Never open links from people that you don't trust!", + "chat.copy": "Copy to Clipboard", + "chat.copy.click": "Click to copy to Clipboard", + "chat.link.confirmTrusted": "Do you want to open this link or copy it to your clipboard?", + "chat.link.open": "Open in Browser", + "chat.coordinates": "%s, %s, %s", + "chat.coordinates.tooltip": "Click to teleport", + "menu.playdemo": "Play Demo World", + "menu.resetdemo": "Reset Demo World", + "demo.day.1": "This demo will last five game days, do your best!", + "demo.day.2": "Day Two", + "demo.day.3": "Day Three", + "demo.day.4": "Day Four", + "demo.day.5": "This is your last day!", + "demo.day.warning": "Your time is almost up!", + "demo.day.6": "You have passed your fifth day, use %s to save a screenshot of your creation", + "demo.reminder": "The demo time has expired, buy the game to continue or start a new world!", + "demo.remainingTime": "Remaining time: %s", + "demo.demoExpired": "Demo time's up!", + "demo.help.movement": "Use the %1$s, %2$s, %3$s, %4$s keys and the mouse to move around", + "demo.help.movementShort": "Move by pressing the %1$s, %2$s, %3$s, %4$s keys", + "demo.help.movementMouse": "Look around using the mouse", + "demo.help.jump": "Jump by pressing the %1$s key", + "demo.help.inventory": "Use the %1$s key to open your inventory", + "demo.help.title": "Minecraft Demo Mode", + "demo.help.fullWrapped": "This demo will last 5 ingame days (about 1 hour and 40 minutes of real time). Check the advancements for hints! Have fun!", + "demo.help.buy": "Purchase Now!", + "demo.help.later": "Continue Playing!", + "connect.connecting": "Connecting to the server...", + "connect.aborted": "Aborted", + "connect.authorizing": "Logging in...", + "connect.negotiating": "Negotiating...", + "connect.encrypting": "Encrypting...", + "connect.joining": "Joining world...", + "connect.failed": "Failed to connect to the server", + "disconnect.genericReason": "%s", + "disconnect.disconnected": "Disconnected by Server", + "disconnect.lost": "Connection Lost", + "disconnect.kicked": "Was kicked from the game", + "disconnect.timeout": "Timed out", + "disconnect.closed": "Connection closed", + "disconnect.loginFailed": "Failed to log in", + "disconnect.loginFailedInfo": "Failed to log in: %s", + "disconnect.loginFailedInfo.serversUnavailable": "The authentication servers are currently down for maintenance.", + "disconnect.loginFailedInfo.invalidSession": "Invalid session (Try restarting your game and the launcher)", + "disconnect.quitting": "Quitting", + "disconnect.endOfStream": "End of stream", + "disconnect.overflow": "Buffer overflow", + "disconnect.spam": "Kicked for spamming", + "soundCategory.master": "Master Volume", + "soundCategory.music": "Music", + "soundCategory.record": "Jukebox/Note Blocks", + "soundCategory.weather": "Weather", + "soundCategory.hostile": "Hostile Creatures", + "soundCategory.neutral": "Friendly Creatures", + "soundCategory.player": "Players", + "soundCategory.block": "Blocks", + "soundCategory.ambient": "Ambient/Environment", + "soundCategory.voice": "Voice/Speech", + "record.nowPlaying": "Now playing: %s", + "options.off": "OFF", + "options.on": "ON", + "options.visible": "Shown", + "options.hidden": "Hidden", + "options.title": "Options", + "options.controls": "Controls...", + "options.video": "Video Settings...", + "options.language": "Language...", + "options.sounds": "Music & Sounds...", + "options.sounds.title": "Music & Sound Options", + "options.languageWarning": "Language translations may not be 100%% accurate", + "options.videoTitle": "Video Settings", + "options.mouse_settings": "Mouse Settings...", + "options.mouse_settings.title": "Mouse Settings", + "options.customizeTitle": "Customize World Settings", + "options.music": "Music", + "options.sound": "Sound", + "options.invertMouse": "Invert Mouse", + "options.fov": "FOV", + "options.fov.min": "Normal", + "options.fov.max": "Quake Pro", + "options.biomeBlendRadius": "Biome Blend", + "options.biomeBlendRadius.1": "OFF (Fastest)", + "options.biomeBlendRadius.3": "3x3 (Fast)", + "options.biomeBlendRadius.5": "5x5 (Normal)", + "options.biomeBlendRadius.7": "7x7 (High)", + "options.biomeBlendRadius.9": "9x9 (Very High)", + "options.biomeBlendRadius.11": "11x11 (Extreme)", + "options.biomeBlendRadius.13": "13x13 (Showoff)", + "options.biomeBlendRadius.15": "15x15 (Maximum)", + "options.gamma": "Brightness", + "options.gamma.min": "Moody", + "options.gamma.max": "Bright", + "options.sensitivity": "Sensitivity", + "options.sensitivity.min": "*yawn*", + "options.sensitivity.max": "HYPERSPEED!!!", + "options.renderDistance": "Render Distance", + "options.viewBobbing": "View Bobbing", + "options.ao": "Smooth Lighting", + "options.ao.off": "OFF", + "options.ao.min": "Minimum", + "options.ao.max": "Maximum", + "options.anaglyph": "3D Anaglyph", + "options.chunks": "%s chunks", + "options.framerate": "%s fps", + "options.framerateLimit": "Max Framerate", + "options.framerateLimit.max": "Unlimited", + "options.difficulty": "Difficulty", + "options.difficulty.peaceful": "Peaceful", + "options.difficulty.easy": "Easy", + "options.difficulty.normal": "Normal", + "options.difficulty.hard": "Hard", + "options.difficulty.hardcore": "Hardcore", + "options.graphics": "Graphics", + "options.graphics.fancy": "Fancy", + "options.graphics.fast": "Fast", + "options.clouds.fancy": "Fancy", + "options.clouds.fast": "Fast", + "options.guiScale": "GUI Scale", + "options.guiScale.auto": "Auto", + "options.renderClouds": "Clouds", + "options.particles": "Particles", + "options.particles.all": "All", + "options.particles.decreased": "Decreased", + "options.particles.minimal": "Minimal", + "options.multiplayer.title": "Multiplayer Settings...", + "options.chat.title": "Chat Settings...", + "options.chat.visibility": "Chat", + "options.chat.visibility.full": "Shown", + "options.chat.visibility.system": "Commands Only", + "options.chat.visibility.hidden": "Hidden", + "options.chat.color": "Colors", + "options.chat.opacity": "Chat Text Opacity", + "options.chat.links": "Web Links", + "options.chat.links.prompt": "Prompt on Links", + "options.chat.scale": "Scale", + "options.chat.width": "Width", + "options.chat.height.focused": "Focused Height", + "options.chat.height.unfocused": "Unfocused Height", + "options.accessibility.title": "Accessibility Settings...", + "options.accessibility.text_background": "Text Background", + "options.accessibility.text_background.chat": "Chat", + "options.accessibility.text_background.everywhere": "Everywhere", + "options.accessibility.text_background_opacity": "Text Background Opacity", + "options.key.toggle": "Toggle", + "options.key.hold": "Hold", + "options.skinCustomisation": "Skin Customization...", + "options.skinCustomisation.title": "Skin Customization", + "options.modelPart.cape": "Cape", + "options.modelPart.hat": "Hat", + "options.modelPart.jacket": "Jacket", + "options.modelPart.left_sleeve": "Left Sleeve", + "options.modelPart.right_sleeve": "Right Sleeve", + "options.modelPart.left_pants_leg": "Left Pants Leg", + "options.modelPart.right_pants_leg": "Right Pants Leg", + "options.snooper": "Allow Snooper", + "options.snooper.view": "Snooper Settings...", + "options.snooper.title": "Feed us data!", + "options.snooper.desc": "We always want to improve Minecraft and, to help us do that, we'd like to collect some information. This lets us know what hardware to support and where the big problems are. It also gives us a sense of the size of our active player base, so we know if we're doing a good job. You can view all the information we collect below. If you want to opt out then you can simply toggle it off!", + "options.resourcepack": "Resource Packs...", + "options.fullscreen": "Fullscreen", + "options.vsync": "Use VSync", + "options.vbo": "Use VBOs", + "options.touchscreen": "Touchscreen Mode", + "options.reducedDebugInfo": "Reduced Debug Info", + "options.entityShadows": "Entity Shadows", + "options.mainHand": "Main Hand", + "options.mainHand.left": "Left", + "options.mainHand.right": "Right", + "options.attackIndicator": "Attack Indicator", + "options.attack.crosshair": "Crosshair", + "options.attack.hotbar": "Hotbar", + "options.showSubtitles": "Show Subtitles", + "options.realmsNotifications": "Realms Notifications", + "options.autoJump": "Auto-Jump", + "options.autoSuggestCommands": "Command Suggestions", + "options.discrete_mouse_scroll": "Discrete Scrolling", + "options.mouseWheelSensitivity": "Scroll Sensitivity", + "options.rawMouseInput": "Raw Input", + "options.narrator": "Narrator", + "options.narrator.off": "OFF", + "options.narrator.all": "Narrates all", + "options.narrator.chat": "Narrates chat", + "options.narrator.system": "Narrates system", + "options.narrator.notavailable": "Not available", + "options.fullscreen.resolution": "Fullscreen Resolution", + "options.fullscreen.unavailable": "Setting unavailable", + "options.fullscreen.current": "Current", + "options.mipmapLevels": "Mipmap Levels", + "options.forceUnicodeFont": "Force Unicode Font", + "narrator.toast.disabled": "Narrator Disabled", + "narrator.toast.enabled": "Narrator Enabled", + "difficulty.lock.title": "Lock World Difficulty", + "difficulty.lock.question": "Are you sure you want to lock the difficulty of this world? This will set this world to always be %1$s, and you will never be able to change that again.", + "title.oldgl.eol.line1": "Old graphics card detected; this WILL prevent you from", + "title.oldgl.eol.line2": "playing future updates as OpenGL 2.0 will be required!", + "title.oldgl.deprecation.line1": "Old graphics card detected; this may prevent you from", + "title.oldgl.deprecation.line2": "playing in the future as OpenGL 3.2 will be required!", + "controls.title": "Controls", + "controls.reset": "Reset", + "controls.resetAll": "Reset Keys", + "key.sprint": "Sprint", + "key.forward": "Walk Forwards", + "key.left": "Strafe Left", + "key.back": "Walk Backwards", + "key.right": "Strafe Right", + "key.jump": "Jump", + "key.inventory": "Open/Close Inventory", + "key.drop": "Drop Selected Item", + "key.swapHands": "Swap Item In Hands", + "key.chat": "Open Chat", + "key.sneak": "Sneak", + "key.playerlist": "List Players", + "key.attack": "Attack/Destroy", + "key.use": "Use Item/Place Block", + "key.pickItem": "Pick Block", + "key.command": "Open Command", + "key.screenshot": "Take Screenshot", + "key.togglePerspective": "Toggle Perspective", + "key.smoothCamera": "Toggle Cinematic Camera", + "key.fullscreen": "Toggle Fullscreen", + "key.spectatorOutlines": "Highlight Players (Spectators)", + "key.hotbar.1": "Hotbar Slot 1", + "key.hotbar.2": "Hotbar Slot 2", + "key.hotbar.3": "Hotbar Slot 3", + "key.hotbar.4": "Hotbar Slot 4", + "key.hotbar.5": "Hotbar Slot 5", + "key.hotbar.6": "Hotbar Slot 6", + "key.hotbar.7": "Hotbar Slot 7", + "key.hotbar.8": "Hotbar Slot 8", + "key.hotbar.9": "Hotbar Slot 9", + "key.saveToolbarActivator": "Save Toolbar Activator", + "key.loadToolbarActivator": "Load Toolbar Activator", + "key.advancements": "Advancements", + "key.categories.movement": "Movement", + "key.categories.misc": "Miscellaneous", + "key.categories.multiplayer": "Multiplayer", + "key.categories.gameplay": "Gameplay", + "key.categories.ui": "Game Interface", + "key.categories.inventory": "Inventory", + "key.categories.creative": "Creative Mode", + "key.mouse.left": "Left Button", + "key.mouse.right": "Right Button", + "key.mouse.middle": "Middle Button", + "key.mouse": "Button %1$s", + "key.keyboard.unknown": "Not bound", + "key.keyboard.apostrophe": "'", + "key.keyboard.backslash": "\\", + "key.keyboard.backspace": "Backspace", + "key.keyboard.comma": ",", + "key.keyboard.delete": "Delete", + "key.keyboard.end": "End", + "key.keyboard.enter": "Enter", + "key.keyboard.equal": "=", + "key.keyboard.escape": "Escape", + "key.keyboard.f1": "F1", + "key.keyboard.f2": "F2", + "key.keyboard.f3": "F3", + "key.keyboard.f4": "F4", + "key.keyboard.f5": "F5", + "key.keyboard.f6": "F6", + "key.keyboard.f7": "F7", + "key.keyboard.f8": "F8", + "key.keyboard.f9": "F9", + "key.keyboard.f10": "F10", + "key.keyboard.f11": "F11", + "key.keyboard.f12": "F12", + "key.keyboard.f13": "F13", + "key.keyboard.f14": "F14", + "key.keyboard.f15": "F15", + "key.keyboard.f16": "F16", + "key.keyboard.f17": "F17", + "key.keyboard.f18": "F18", + "key.keyboard.f19": "F19", + "key.keyboard.f20": "F20", + "key.keyboard.f21": "F21", + "key.keyboard.f22": "F22", + "key.keyboard.f23": "F23", + "key.keyboard.f24": "F24", + "key.keyboard.f25": "F25", + "key.keyboard.grave.accent": "`", + "key.keyboard.home": "Home", + "key.keyboard.insert": "Insert", + "key.keyboard.keypad.0": "Keypad 0", + "key.keyboard.keypad.1": "Keypad 1", + "key.keyboard.keypad.2": "Keypad 2", + "key.keyboard.keypad.3": "Keypad 3", + "key.keyboard.keypad.4": "Keypad 4", + "key.keyboard.keypad.5": "Keypad 5", + "key.keyboard.keypad.6": "Keypad 6", + "key.keyboard.keypad.7": "Keypad 7", + "key.keyboard.keypad.8": "Keypad 8", + "key.keyboard.keypad.9": "Keypad 9", + "key.keyboard.keypad.add": "Keypad +", + "key.keyboard.keypad.decimal": "Keypad Decimal", + "key.keyboard.keypad.enter": "Keypad Enter", + "key.keyboard.keypad.equal": "Keypad =", + "key.keyboard.keypad.multiply": "Keypad *", + "key.keyboard.keypad.divide": "Keypad /", + "key.keyboard.keypad.subtract": "Keypad -", + "key.keyboard.left.bracket": "[", + "key.keyboard.right.bracket": "]", + "key.keyboard.minus": "-", + "key.keyboard.num.lock": "Num Lock", + "key.keyboard.caps.lock": "Caps Lock", + "key.keyboard.scroll.lock": "Scroll Lock", + "key.keyboard.page.down": "Page Down", + "key.keyboard.page.up": "Page Up", + "key.keyboard.pause": "Pause", + "key.keyboard.period": ".", + "key.keyboard.left.control": "Left Control", + "key.keyboard.right.control": "Right Control", + "key.keyboard.left.alt": "Left Alt", + "key.keyboard.right.alt": "Right Alt", + "key.keyboard.left.shift": "Left Shift", + "key.keyboard.right.shift": "Right Shift", + "key.keyboard.left.win": "Left Win", + "key.keyboard.right.win": "Right Win", + "key.keyboard.semicolon": ";", + "key.keyboard.slash": "/", + "key.keyboard.space": "Space", + "key.keyboard.tab": "Tab", + "key.keyboard.up": "Up Arrow", + "key.keyboard.down": "Down Arrow", + "key.keyboard.left": "Left Arrow", + "key.keyboard.right": "Right Arrow", + "key.keyboard.menu": "Menu", + "key.keyboard.print.screen": "Print Screen", + "key.keyboard.world.1": "World 1", + "key.keyboard.world.2": "World 2", + "resourcePack.openFolder": "Open Resource Pack Folder", + "resourcePack.title": "Select Resource Packs", + "resourcePack.available.title": "Available Resource Packs", + "resourcePack.selected.title": "Selected Resource Packs", + "resourcePack.folderInfo": "(Place resource pack files here)", + "resourcePack.incompatible": "Incompatible", + "resourcePack.incompatible.old": "(Made for an older version of Minecraft)", + "resourcePack.incompatible.new": "(Made for a newer version of Minecraft)", + "resourcePack.incompatible.confirm.title": "Are you sure you want to load this resource pack?", + "resourcePack.incompatible.confirm.old": "This resource pack was made for an older version of Minecraft and may no longer work correctly.", + "resourcePack.incompatible.confirm.new": "This resource pack was made for a newer version of Minecraft and may no longer work correctly.", + "resourcePack.server.name": "World Specific Resources", + "resourcePack.broken_assets": "BROKEN ASSETS DETECTED", + "resourcePack.load_fail": "Resource reload failed", + "sign.edit": "Edit sign message", + "book.pageIndicator": "Page %1$s of %2$s", + "book.byAuthor": "by %1$s", + "book.signButton": "Sign", + "book.editTitle": "Enter Book Title:", + "book.finalizeButton": "Sign and Close", + "book.finalizeWarning": "Note! When you sign the book, it will no longer be editable.", + "book.generation.0": "Original", + "book.generation.1": "Copy of original", + "book.generation.2": "Copy of a copy", + "book.generation.3": "Tattered", + "book.invalid.tag": "* Invalid book tag *", + "merchant.deprecated": "Villagers restock up to two times per day.", + "merchant.current_level": "Trader's current level", + "merchant.next_level": "Trader's next level", + "merchant.level.1": "Novice", + "merchant.level.2": "Apprentice", + "merchant.level.3": "Journeyman", + "merchant.level.4": "Expert", + "merchant.level.5": "Master", + "merchant.trades": "Trades", + "block.minecraft.air": "Air", + "block.minecraft.barrier": "Barrier", + "block.minecraft.stone": "Stone", + "block.minecraft.granite": "Granite", + "block.minecraft.polished_granite": "Polished Granite", + "block.minecraft.diorite": "Diorite", + "block.minecraft.polished_diorite": "Polished Diorite", + "block.minecraft.andesite": "Andesite", + "block.minecraft.polished_andesite": "Polished Andesite", + "block.minecraft.hay_block": "Hay Bale", + "block.minecraft.grass_block": "Grass Block", + "block.minecraft.dirt": "Dirt", + "block.minecraft.coarse_dirt": "Coarse Dirt", + "block.minecraft.podzol": "Podzol", + "block.minecraft.cobblestone": "Cobblestone", + "block.minecraft.oak_planks": "Oak Planks", + "block.minecraft.spruce_planks": "Spruce Planks", + "block.minecraft.birch_planks": "Birch Planks", + "block.minecraft.jungle_planks": "Jungle Planks", + "block.minecraft.acacia_planks": "Acacia Planks", + "block.minecraft.dark_oak_planks": "Dark Oak Planks", + "block.minecraft.oak_sapling": "Oak Sapling", + "block.minecraft.spruce_sapling": "Spruce Sapling", + "block.minecraft.birch_sapling": "Birch Sapling", + "block.minecraft.jungle_sapling": "Jungle Sapling", + "block.minecraft.acacia_sapling": "Acacia Sapling", + "block.minecraft.dark_oak_sapling": "Dark Oak Sapling", + "block.minecraft.oak_door": "Oak Door", + "block.minecraft.spruce_door": "Spruce Door", + "block.minecraft.birch_door": "Birch Door", + "block.minecraft.jungle_door": "Jungle Door", + "block.minecraft.acacia_door": "Acacia Door", + "block.minecraft.dark_oak_door": "Dark Oak Door", + "block.minecraft.bedrock": "Bedrock", + "block.minecraft.water": "Water", + "block.minecraft.lava": "Lava", + "block.minecraft.flowing_water": "Flowing Water", + "block.minecraft.flowing_lava": "Flowing Lava", + "block.minecraft.sand": "Sand", + "block.minecraft.red_sand": "Red Sand", + "block.minecraft.sandstone": "Sandstone", + "block.minecraft.chiseled_sandstone": "Chiseled Sandstone", + "block.minecraft.cut_sandstone": "Cut Sandstone", + "block.minecraft.red_sandstone": "Red Sandstone", + "block.minecraft.chiseled_red_sandstone": "Chiseled Red Sandstone", + "block.minecraft.cut_red_sandstone": "Cut Red Sandstone", + "block.minecraft.gravel": "Gravel", + "block.minecraft.gold_ore": "Gold Ore", + "block.minecraft.iron_ore": "Iron Ore", + "block.minecraft.coal_ore": "Coal Ore", + "block.minecraft.oak_wood": "Oak Wood", + "block.minecraft.spruce_wood": "Spruce Wood", + "block.minecraft.birch_wood": "Birch Wood", + "block.minecraft.jungle_wood": "Jungle Wood", + "block.minecraft.acacia_wood": "Acacia Wood", + "block.minecraft.dark_oak_wood": "Dark Oak Wood", + "block.minecraft.oak_log": "Oak Log", + "block.minecraft.spruce_log": "Spruce Log", + "block.minecraft.birch_log": "Birch Log", + "block.minecraft.jungle_log": "Jungle Log", + "block.minecraft.acacia_log": "Acacia Log", + "block.minecraft.dark_oak_log": "Dark Oak Log", + "block.minecraft.stripped_oak_log": "Stripped Oak Log", + "block.minecraft.stripped_spruce_log": "Stripped Spruce Log", + "block.minecraft.stripped_birch_log": "Stripped Birch Log", + "block.minecraft.stripped_jungle_log": "Stripped Jungle Log", + "block.minecraft.stripped_acacia_log": "Stripped Acacia Log", + "block.minecraft.stripped_dark_oak_log": "Stripped Dark Oak Log", + "block.minecraft.stripped_oak_wood": "Stripped Oak Wood", + "block.minecraft.stripped_spruce_wood": "Stripped Spruce Wood", + "block.minecraft.stripped_birch_wood": "Stripped Birch Wood", + "block.minecraft.stripped_jungle_wood": "Stripped Jungle Wood", + "block.minecraft.stripped_acacia_wood": "Stripped Acacia Wood", + "block.minecraft.stripped_dark_oak_wood": "Stripped Dark Oak Wood", + "block.minecraft.oak_leaves": "Oak Leaves", + "block.minecraft.spruce_leaves": "Spruce Leaves", + "block.minecraft.birch_leaves": "Birch Leaves", + "block.minecraft.jungle_leaves": "Jungle Leaves", + "block.minecraft.acacia_leaves": "Acacia Leaves", + "block.minecraft.dark_oak_leaves": "Dark Oak Leaves", + "block.minecraft.dead_bush": "Dead Bush", + "block.minecraft.grass": "Grass", + "block.minecraft.fern": "Fern", + "block.minecraft.sponge": "Sponge", + "block.minecraft.wet_sponge": "Wet Sponge", + "block.minecraft.glass": "Glass", + "block.minecraft.kelp_plant": "Kelp Plant", + "block.minecraft.kelp": "Kelp", + "block.minecraft.dried_kelp_block": "Dried Kelp Block", + "block.minecraft.white_stained_glass": "White Stained Glass", + "block.minecraft.orange_stained_glass": "Orange Stained Glass", + "block.minecraft.magenta_stained_glass": "Magenta Stained Glass", + "block.minecraft.light_blue_stained_glass": "Light Blue Stained Glass", + "block.minecraft.yellow_stained_glass": "Yellow Stained Glass", + "block.minecraft.lime_stained_glass": "Lime Stained Glass", + "block.minecraft.pink_stained_glass": "Pink Stained Glass", + "block.minecraft.gray_stained_glass": "Gray Stained Glass", + "block.minecraft.light_gray_stained_glass": "Light Gray Stained Glass", + "block.minecraft.cyan_stained_glass": "Cyan Stained Glass", + "block.minecraft.purple_stained_glass": "Purple Stained Glass", + "block.minecraft.blue_stained_glass": "Blue Stained Glass", + "block.minecraft.brown_stained_glass": "Brown Stained Glass", + "block.minecraft.green_stained_glass": "Green Stained Glass", + "block.minecraft.red_stained_glass": "Red Stained Glass", + "block.minecraft.black_stained_glass": "Black Stained Glass", + "block.minecraft.white_stained_glass_pane": "White Stained Glass Pane", + "block.minecraft.orange_stained_glass_pane": "Orange Stained Glass Pane", + "block.minecraft.magenta_stained_glass_pane": "Magenta Stained Glass Pane", + "block.minecraft.light_blue_stained_glass_pane": "Light Blue Stained Glass Pane", + "block.minecraft.yellow_stained_glass_pane": "Yellow Stained Glass Pane", + "block.minecraft.lime_stained_glass_pane": "Lime Stained Glass Pane", + "block.minecraft.pink_stained_glass_pane": "Pink Stained Glass Pane", + "block.minecraft.gray_stained_glass_pane": "Gray Stained Glass Pane", + "block.minecraft.light_gray_stained_glass_pane": "Light Gray Stained Glass Pane", + "block.minecraft.cyan_stained_glass_pane": "Cyan Stained Glass Pane", + "block.minecraft.purple_stained_glass_pane": "Purple Stained Glass Pane", + "block.minecraft.blue_stained_glass_pane": "Blue Stained Glass Pane", + "block.minecraft.brown_stained_glass_pane": "Brown Stained Glass Pane", + "block.minecraft.green_stained_glass_pane": "Green Stained Glass Pane", + "block.minecraft.red_stained_glass_pane": "Red Stained Glass Pane", + "block.minecraft.black_stained_glass_pane": "Black Stained Glass Pane", + "block.minecraft.glass_pane": "Glass Pane", + "block.minecraft.dandelion": "Dandelion", + "block.minecraft.poppy": "Poppy", + "block.minecraft.blue_orchid": "Blue Orchid", + "block.minecraft.allium": "Allium", + "block.minecraft.azure_bluet": "Azure Bluet", + "block.minecraft.red_tulip": "Red Tulip", + "block.minecraft.orange_tulip": "Orange Tulip", + "block.minecraft.white_tulip": "White Tulip", + "block.minecraft.pink_tulip": "Pink Tulip", + "block.minecraft.oxeye_daisy": "Oxeye Daisy", + "block.minecraft.cornflower": "Cornflower", + "block.minecraft.lily_of_the_valley": "Lily of the Valley", + "block.minecraft.wither_rose": "Wither Rose", + "block.minecraft.sunflower": "Sunflower", + "block.minecraft.lilac": "Lilac", + "block.minecraft.tall_grass": "Tall Grass", + "block.minecraft.tall_seagrass": "Tall Seagrass", + "block.minecraft.large_fern": "Large Fern", + "block.minecraft.rose_bush": "Rose Bush", + "block.minecraft.peony": "Peony", + "block.minecraft.seagrass": "Seagrass", + "block.minecraft.sea_pickle": "Sea Pickle", + "block.minecraft.brown_mushroom": "Brown Mushroom", + "block.minecraft.red_mushroom_block": "Red Mushroom Block", + "block.minecraft.brown_mushroom_block": "Brown Mushroom Block", + "block.minecraft.mushroom_stem": "Mushroom Stem", + "block.minecraft.gold_block": "Block of Gold", + "block.minecraft.iron_block": "Block of Iron", + "block.minecraft.smooth_stone": "Smooth Stone", + "block.minecraft.smooth_sandstone": "Smooth Sandstone", + "block.minecraft.smooth_red_sandstone": "Smooth Red Sandstone", + "block.minecraft.smooth_quartz": "Smooth Quartz", + "block.minecraft.stone_slab": "Stone Slab", + "block.minecraft.smooth_stone_slab": "Smooth Stone Slab", + "block.minecraft.sandstone_slab": "Sandstone Slab", + "block.minecraft.red_sandstone_slab": "Red Sandstone Slab", + "block.minecraft.cut_sandstone_slab": "Cut Sandstone Slab", + "block.minecraft.cut_red_sandstone_slab": "Cut Red Sandstone Slab", + "block.minecraft.petrified_oak_slab": "Petrified Oak Slab", + "block.minecraft.cobblestone_slab": "Cobblestone Slab", + "block.minecraft.brick_slab": "Brick Slab", + "block.minecraft.stone_brick_slab": "Stone Brick Slab", + "block.minecraft.nether_brick_slab": "Nether Brick Slab", + "block.minecraft.quartz_slab": "Quartz Slab", + "block.minecraft.oak_slab": "Oak Slab", + "block.minecraft.spruce_slab": "Spruce Slab", + "block.minecraft.birch_slab": "Birch Slab", + "block.minecraft.jungle_slab": "Jungle Slab", + "block.minecraft.acacia_slab": "Acacia Slab", + "block.minecraft.dark_oak_slab": "Dark Oak Slab", + "block.minecraft.dark_prismarine_slab": "Dark Prismarine Slab", + "block.minecraft.prismarine_slab": "Prismarine Slab", + "block.minecraft.prismarine_brick_slab": "Prismarine Brick Slab", + "block.minecraft.bricks": "Bricks", + "block.minecraft.tnt": "TNT", + "block.minecraft.bookshelf": "Bookshelf", + "block.minecraft.mossy_cobblestone": "Mossy Cobblestone", + "block.minecraft.obsidian": "Obsidian", + "block.minecraft.torch": "Torch", + "block.minecraft.wall_torch": "Wall Torch", + "block.minecraft.fire": "Fire", + "block.minecraft.spawner": "Spawner", + "block.minecraft.oak_stairs": "Oak Stairs", + "block.minecraft.spruce_stairs": "Spruce Stairs", + "block.minecraft.birch_stairs": "Birch Stairs", + "block.minecraft.jungle_stairs": "Jungle Stairs", + "block.minecraft.acacia_stairs": "Acacia Stairs", + "block.minecraft.dark_oak_stairs": "Dark Oak Stairs", + "block.minecraft.dark_prismarine_stairs": "Dark Prismarine Stairs", + "block.minecraft.prismarine_stairs": "Prismarine Stairs", + "block.minecraft.prismarine_brick_stairs": "Prismarine Brick Stairs", + "block.minecraft.chest": "Chest", + "block.minecraft.trapped_chest": "Trapped Chest", + "block.minecraft.redstone_wire": "Redstone Wire", + "block.minecraft.diamond_ore": "Diamond Ore", + "block.minecraft.coal_block": "Block of Coal", + "block.minecraft.diamond_block": "Block of Diamond", + "block.minecraft.crafting_table": "Crafting Table", + "block.minecraft.wheat": "Wheat Crops", + "block.minecraft.farmland": "Farmland", + "block.minecraft.furnace": "Furnace", + "block.minecraft.oak_sign": "Oak Sign", + "block.minecraft.spruce_sign": "Spruce Sign", + "block.minecraft.birch_sign": "Birch Sign", + "block.minecraft.acacia_sign": "Acacia Sign", + "block.minecraft.jungle_sign": "Jungle Sign", + "block.minecraft.dark_oak_sign": "Dark Oak Sign", + "block.minecraft.oak_wall_sign": "Oak Wall Sign", + "block.minecraft.spruce_wall_sign": "Spruce Wall Sign", + "block.minecraft.birch_wall_sign": "Birch Wall Sign", + "block.minecraft.acacia_wall_sign": "Acacia Wall Sign", + "block.minecraft.jungle_wall_sign": "Jungle Wall Sign", + "block.minecraft.dark_oak_wall_sign": "Dark Oak Wall Sign", + "block.minecraft.ladder": "Ladder", + "block.minecraft.scaffolding": "Scaffolding", + "block.minecraft.rail": "Rail", + "block.minecraft.powered_rail": "Powered Rail", + "block.minecraft.activator_rail": "Activator Rail", + "block.minecraft.detector_rail": "Detector Rail", + "block.minecraft.cobblestone_stairs": "Cobblestone Stairs", + "block.minecraft.sandstone_stairs": "Sandstone Stairs", + "block.minecraft.red_sandstone_stairs": "Red Sandstone Stairs", + "block.minecraft.lever": "Lever", + "block.minecraft.stone_pressure_plate": "Stone Pressure Plate", + "block.minecraft.oak_pressure_plate": "Oak Pressure Plate", + "block.minecraft.spruce_pressure_plate": "Spruce Pressure Plate", + "block.minecraft.birch_pressure_plate": "Birch Pressure Plate", + "block.minecraft.jungle_pressure_plate": "Jungle Pressure Plate", + "block.minecraft.acacia_pressure_plate": "Acacia Pressure Plate", + "block.minecraft.dark_oak_pressure_plate": "Dark Oak Pressure Plate", + "block.minecraft.light_weighted_pressure_plate": "Light Weighted Pressure Plate", + "block.minecraft.heavy_weighted_pressure_plate": "Heavy Weighted Pressure Plate", + "block.minecraft.iron_door": "Iron Door", + "block.minecraft.redstone_ore": "Redstone Ore", + "block.minecraft.redstone_torch": "Redstone Torch", + "block.minecraft.redstone_wall_torch": "Redstone Wall Torch", + "block.minecraft.stone_button": "Stone Button", + "block.minecraft.oak_button": "Oak Button", + "block.minecraft.spruce_button": "Spruce Button", + "block.minecraft.birch_button": "Birch Button", + "block.minecraft.jungle_button": "Jungle Button", + "block.minecraft.acacia_button": "Acacia Button", + "block.minecraft.dark_oak_button": "Dark Oak Button", + "block.minecraft.snow": "Snow", + "block.minecraft.white_carpet": "White Carpet", + "block.minecraft.orange_carpet": "Orange Carpet", + "block.minecraft.magenta_carpet": "Magenta Carpet", + "block.minecraft.light_blue_carpet": "Light Blue Carpet", + "block.minecraft.yellow_carpet": "Yellow Carpet", + "block.minecraft.lime_carpet": "Lime Carpet", + "block.minecraft.pink_carpet": "Pink Carpet", + "block.minecraft.gray_carpet": "Gray Carpet", + "block.minecraft.light_gray_carpet": "Light Gray Carpet", + "block.minecraft.cyan_carpet": "Cyan Carpet", + "block.minecraft.purple_carpet": "Purple Carpet", + "block.minecraft.blue_carpet": "Blue Carpet", + "block.minecraft.brown_carpet": "Brown Carpet", + "block.minecraft.green_carpet": "Green Carpet", + "block.minecraft.red_carpet": "Red Carpet", + "block.minecraft.black_carpet": "Black Carpet", + "block.minecraft.ice": "Ice", + "block.minecraft.frosted_ice": "Frosted Ice", + "block.minecraft.packed_ice": "Packed Ice", + "block.minecraft.blue_ice": "Blue Ice", + "block.minecraft.cactus": "Cactus", + "block.minecraft.clay": "Clay", + "block.minecraft.white_terracotta": "White Terracotta", + "block.minecraft.orange_terracotta": "Orange Terracotta", + "block.minecraft.magenta_terracotta": "Magenta Terracotta", + "block.minecraft.light_blue_terracotta": "Light Blue Terracotta", + "block.minecraft.yellow_terracotta": "Yellow Terracotta", + "block.minecraft.lime_terracotta": "Lime Terracotta", + "block.minecraft.pink_terracotta": "Pink Terracotta", + "block.minecraft.gray_terracotta": "Gray Terracotta", + "block.minecraft.light_gray_terracotta": "Light Gray Terracotta", + "block.minecraft.cyan_terracotta": "Cyan Terracotta", + "block.minecraft.purple_terracotta": "Purple Terracotta", + "block.minecraft.blue_terracotta": "Blue Terracotta", + "block.minecraft.brown_terracotta": "Brown Terracotta", + "block.minecraft.green_terracotta": "Green Terracotta", + "block.minecraft.red_terracotta": "Red Terracotta", + "block.minecraft.black_terracotta": "Black Terracotta", + "block.minecraft.terracotta": "Terracotta", + "block.minecraft.sugar_cane": "Sugar Cane", + "block.minecraft.jukebox": "Jukebox", + "block.minecraft.oak_fence": "Oak Fence", + "block.minecraft.spruce_fence": "Spruce Fence", + "block.minecraft.birch_fence": "Birch Fence", + "block.minecraft.jungle_fence": "Jungle Fence", + "block.minecraft.dark_oak_fence": "Dark Oak Fence", + "block.minecraft.acacia_fence": "Acacia Fence", + "block.minecraft.oak_fence_gate": "Oak Fence Gate", + "block.minecraft.spruce_fence_gate": "Spruce Fence Gate", + "block.minecraft.birch_fence_gate": "Birch Fence Gate", + "block.minecraft.jungle_fence_gate": "Jungle Fence Gate", + "block.minecraft.dark_oak_fence_gate": "Dark Oak Fence Gate", + "block.minecraft.acacia_fence_gate": "Acacia Fence Gate", + "block.minecraft.pumpkin_stem": "Pumpkin Stem", + "block.minecraft.attached_pumpkin_stem": "Attached Pumpkin Stem", + "block.minecraft.pumpkin": "Pumpkin", + "block.minecraft.carved_pumpkin": "Carved Pumpkin", + "block.minecraft.jack_o_lantern": "Jack o'Lantern", + "block.minecraft.netherrack": "Netherrack", + "block.minecraft.soul_sand": "Soul Sand", + "block.minecraft.glowstone": "Glowstone", + "block.minecraft.nether_portal": "Nether Portal", + "block.minecraft.white_wool": "White Wool", + "block.minecraft.orange_wool": "Orange Wool", + "block.minecraft.magenta_wool": "Magenta Wool", + "block.minecraft.light_blue_wool": "Light Blue Wool", + "block.minecraft.yellow_wool": "Yellow Wool", + "block.minecraft.lime_wool": "Lime Wool", + "block.minecraft.pink_wool": "Pink Wool", + "block.minecraft.gray_wool": "Gray Wool", + "block.minecraft.light_gray_wool": "Light Gray Wool", + "block.minecraft.cyan_wool": "Cyan Wool", + "block.minecraft.purple_wool": "Purple Wool", + "block.minecraft.blue_wool": "Blue Wool", + "block.minecraft.brown_wool": "Brown Wool", + "block.minecraft.green_wool": "Green Wool", + "block.minecraft.red_wool": "Red Wool", + "block.minecraft.black_wool": "Black Wool", + "block.minecraft.lapis_ore": "Lapis Lazuli Ore", + "block.minecraft.lapis_block": "Lapis Lazuli Block", + "block.minecraft.dispenser": "Dispenser", + "block.minecraft.dropper": "Dropper", + "block.minecraft.note_block": "Note Block", + "block.minecraft.cake": "Cake", + "block.minecraft.bed": "Bed", + "block.minecraft.bed.occupied": "This bed is occupied", + "block.minecraft.bed.obstructed": "This bed is obstructed", + "block.minecraft.bed.no_sleep": "You can sleep only at night and during thunderstorms", + "block.minecraft.bed.too_far_away": "You may not rest now; the bed is too far away", + "block.minecraft.bed.not_safe": "You may not rest now; there are monsters nearby", + "block.minecraft.bed.not_valid": "Your home bed was missing or obstructed", + "block.minecraft.bed.set_spawn": "Respawn point set", + "block.minecraft.oak_trapdoor": "Oak Trapdoor", + "block.minecraft.spruce_trapdoor": "Spruce Trapdoor", + "block.minecraft.birch_trapdoor": "Birch Trapdoor", + "block.minecraft.jungle_trapdoor": "Jungle Trapdoor", + "block.minecraft.acacia_trapdoor": "Acacia Trapdoor", + "block.minecraft.dark_oak_trapdoor": "Dark Oak Trapdoor", + "block.minecraft.iron_trapdoor": "Iron Trapdoor", + "block.minecraft.cobweb": "Cobweb", + "block.minecraft.stone_bricks": "Stone Bricks", + "block.minecraft.mossy_stone_bricks": "Mossy Stone Bricks", + "block.minecraft.cracked_stone_bricks": "Cracked Stone Bricks", + "block.minecraft.chiseled_stone_bricks": "Chiseled Stone Bricks", + "block.minecraft.infested_stone": "Infested Stone", + "block.minecraft.infested_cobblestone": "Infested Cobblestone", + "block.minecraft.infested_stone_bricks": "Infested Stone Bricks", + "block.minecraft.infested_mossy_stone_bricks": "Infested Mossy Stone Bricks", + "block.minecraft.infested_cracked_stone_bricks": "Infested Cracked Stone Bricks", + "block.minecraft.infested_chiseled_stone_bricks": "Infested Chiseled Stone Bricks", + "block.minecraft.piston": "Piston", + "block.minecraft.sticky_piston": "Sticky Piston", + "block.minecraft.iron_bars": "Iron Bars", + "block.minecraft.melon": "Melon", + "block.minecraft.brick_stairs": "Brick Stairs", + "block.minecraft.stone_brick_stairs": "Stone Brick Stairs", + "block.minecraft.vine": "Vines", + "block.minecraft.nether_bricks": "Nether Bricks", + "block.minecraft.nether_brick_fence": "Nether Brick Fence", + "block.minecraft.nether_brick_stairs": "Nether Brick Stairs", + "block.minecraft.nether_wart": "Nether Wart", + "block.minecraft.cauldron": "Cauldron", + "block.minecraft.enchanting_table": "Enchanting Table", + "block.minecraft.anvil": "Anvil", + "block.minecraft.chipped_anvil": "Chipped Anvil", + "block.minecraft.damaged_anvil": "Damaged Anvil", + "block.minecraft.end_stone": "End Stone", + "block.minecraft.end_portal_frame": "End Portal Frame", + "block.minecraft.mycelium": "Mycelium", + "block.minecraft.lily_pad": "Lily Pad", + "block.minecraft.dragon_egg": "Dragon Egg", + "block.minecraft.redstone_lamp": "Redstone Lamp", + "block.minecraft.cocoa": "Cocoa", + "block.minecraft.ender_chest": "Ender Chest", + "block.minecraft.emerald_ore": "Emerald Ore", + "block.minecraft.emerald_block": "Block of Emerald", + "block.minecraft.redstone_block": "Block of Redstone", + "block.minecraft.tripwire": "Tripwire", + "block.minecraft.tripwire_hook": "Tripwire Hook", + "block.minecraft.command_block": "Command Block", + "block.minecraft.repeating_command_block": "Repeating Command Block", + "block.minecraft.chain_command_block": "Chain Command Block", + "block.minecraft.beacon": "Beacon", + "block.minecraft.beacon.primary": "Primary Power", + "block.minecraft.beacon.secondary": "Secondary Power", + "block.minecraft.cobblestone_wall": "Cobblestone Wall", + "block.minecraft.mossy_cobblestone_wall": "Mossy Cobblestone Wall", + "block.minecraft.carrots": "Carrots", + "block.minecraft.potatoes": "Potatoes", + "block.minecraft.daylight_detector": "Daylight Detector", + "block.minecraft.nether_quartz_ore": "Nether Quartz Ore", + "block.minecraft.hopper": "Hopper", + "block.minecraft.quartz_block": "Block of Quartz", + "block.minecraft.chiseled_quartz_block": "Chiseled Quartz Block", + "block.minecraft.quartz_pillar": "Quartz Pillar", + "block.minecraft.quartz_stairs": "Quartz Stairs", + "block.minecraft.slime_block": "Slime Block", + "block.minecraft.prismarine": "Prismarine", + "block.minecraft.prismarine_bricks": "Prismarine Bricks", + "block.minecraft.dark_prismarine": "Dark Prismarine", + "block.minecraft.sea_lantern": "Sea Lantern", + "block.minecraft.end_rod": "End Rod", + "block.minecraft.chorus_plant": "Chorus Plant", + "block.minecraft.chorus_flower": "Chorus Flower", + "block.minecraft.purpur_block": "Purpur Block", + "block.minecraft.purpur_pillar": "Purpur Pillar", + "block.minecraft.purpur_stairs": "Purpur Stairs", + "block.minecraft.purpur_slab": "Purpur Slab", + "block.minecraft.end_stone_bricks": "End Stone Bricks", + "block.minecraft.beetroots": "Beetroots", + "block.minecraft.grass_path": "Grass Path", + "block.minecraft.magma_block": "Magma Block", + "block.minecraft.nether_wart_block": "Nether Wart Block", + "block.minecraft.red_nether_bricks": "Red Nether Bricks", + "block.minecraft.bone_block": "Bone Block", + "block.minecraft.observer": "Observer", + "block.minecraft.shulker_box": "Shulker Box", + "block.minecraft.white_shulker_box": "White Shulker Box", + "block.minecraft.orange_shulker_box": "Orange Shulker Box", + "block.minecraft.magenta_shulker_box": "Magenta Shulker Box", + "block.minecraft.light_blue_shulker_box": "Light Blue Shulker Box", + "block.minecraft.yellow_shulker_box": "Yellow Shulker Box", + "block.minecraft.lime_shulker_box": "Lime Shulker Box", + "block.minecraft.pink_shulker_box": "Pink Shulker Box", + "block.minecraft.gray_shulker_box": "Gray Shulker Box", + "block.minecraft.light_gray_shulker_box": "Light Gray Shulker Box", + "block.minecraft.cyan_shulker_box": "Cyan Shulker Box", + "block.minecraft.purple_shulker_box": "Purple Shulker Box", + "block.minecraft.blue_shulker_box": "Blue Shulker Box", + "block.minecraft.brown_shulker_box": "Brown Shulker Box", + "block.minecraft.green_shulker_box": "Green Shulker Box", + "block.minecraft.red_shulker_box": "Red Shulker Box", + "block.minecraft.black_shulker_box": "Black Shulker Box", + "block.minecraft.white_glazed_terracotta": "White Glazed Terracotta", + "block.minecraft.orange_glazed_terracotta": "Orange Glazed Terracotta", + "block.minecraft.magenta_glazed_terracotta": "Magenta Glazed Terracotta", + "block.minecraft.light_blue_glazed_terracotta": "Light Blue Glazed Terracotta", + "block.minecraft.yellow_glazed_terracotta": "Yellow Glazed Terracotta", + "block.minecraft.lime_glazed_terracotta": "Lime Glazed Terracotta", + "block.minecraft.pink_glazed_terracotta": "Pink Glazed Terracotta", + "block.minecraft.gray_glazed_terracotta": "Gray Glazed Terracotta", + "block.minecraft.light_gray_glazed_terracotta": "Light Gray Glazed Terracotta", + "block.minecraft.cyan_glazed_terracotta": "Cyan Glazed Terracotta", + "block.minecraft.purple_glazed_terracotta": "Purple Glazed Terracotta", + "block.minecraft.blue_glazed_terracotta": "Blue Glazed Terracotta", + "block.minecraft.brown_glazed_terracotta": "Brown Glazed Terracotta", + "block.minecraft.green_glazed_terracotta": "Green Glazed Terracotta", + "block.minecraft.red_glazed_terracotta": "Red Glazed Terracotta", + "block.minecraft.black_glazed_terracotta": "Black Glazed Terracotta", + "block.minecraft.black_concrete": "Black Concrete", + "block.minecraft.red_concrete": "Red Concrete", + "block.minecraft.green_concrete": "Green Concrete", + "block.minecraft.brown_concrete": "Brown Concrete", + "block.minecraft.blue_concrete": "Blue Concrete", + "block.minecraft.purple_concrete": "Purple Concrete", + "block.minecraft.cyan_concrete": "Cyan Concrete", + "block.minecraft.light_gray_concrete": "Light Gray Concrete", + "block.minecraft.gray_concrete": "Gray Concrete", + "block.minecraft.pink_concrete": "Pink Concrete", + "block.minecraft.lime_concrete": "Lime Concrete", + "block.minecraft.yellow_concrete": "Yellow Concrete", + "block.minecraft.light_blue_concrete": "Light Blue Concrete", + "block.minecraft.magenta_concrete": "Magenta Concrete", + "block.minecraft.orange_concrete": "Orange Concrete", + "block.minecraft.white_concrete": "White Concrete", + "block.minecraft.black_concrete_powder": "Black Concrete Powder", + "block.minecraft.red_concrete_powder": "Red Concrete Powder", + "block.minecraft.green_concrete_powder": "Green Concrete Powder", + "block.minecraft.brown_concrete_powder": "Brown Concrete Powder", + "block.minecraft.blue_concrete_powder": "Blue Concrete Powder", + "block.minecraft.purple_concrete_powder": "Purple Concrete Powder", + "block.minecraft.cyan_concrete_powder": "Cyan Concrete Powder", + "block.minecraft.light_gray_concrete_powder": "Light Gray Concrete Powder", + "block.minecraft.gray_concrete_powder": "Gray Concrete Powder", + "block.minecraft.pink_concrete_powder": "Pink Concrete Powder", + "block.minecraft.lime_concrete_powder": "Lime Concrete Powder", + "block.minecraft.yellow_concrete_powder": "Yellow Concrete Powder", + "block.minecraft.light_blue_concrete_powder": "Light Blue Concrete Powder", + "block.minecraft.magenta_concrete_powder": "Magenta Concrete Powder", + "block.minecraft.orange_concrete_powder": "Orange Concrete Powder", + "block.minecraft.white_concrete_powder": "White Concrete Powder", + "block.minecraft.turtle_egg": "Turtle Egg", + "block.minecraft.two_turtle_eggs": "Two Turtle Eggs", + "block.minecraft.three_turtle_eggs": "Three Turtle Eggs", + "block.minecraft.four_turtle_eggs": "Four Turtle Eggs", + "block.minecraft.banner": "Banner", + "block.minecraft.wall_banner": "Wall Banner", + "block.minecraft.piston_head": "Piston Head", + "block.minecraft.moving_piston": "Moving Piston", + "block.minecraft.red_mushroom": "Red Mushroom", + "block.minecraft.snow_block": "Snow Block", + "block.minecraft.attached_melon_stem": "Attached Melon Stem", + "block.minecraft.melon_stem": "Melon Stem", + "block.minecraft.brewing_stand": "Brewing Stand", + "block.minecraft.end_portal": "End Portal", + "block.minecraft.flower_pot": "Flower Pot", + "block.minecraft.potted_oak_sapling": "Potted Oak Sapling", + "block.minecraft.potted_spruce_sapling": "Potted Spruce Sapling", + "block.minecraft.potted_birch_sapling": "Potted Birch Sapling", + "block.minecraft.potted_jungle_sapling": "Potted Jungle Sapling", + "block.minecraft.potted_acacia_sapling": "Potted Acacia Sapling", + "block.minecraft.potted_dark_oak_sapling": "Potted Dark Oak Sapling", + "block.minecraft.potted_fern": "Potted Fern", + "block.minecraft.potted_dandelion": "Potted Dandelion", + "block.minecraft.potted_poppy": "Potted Poppy", + "block.minecraft.potted_blue_orchid": "Potted Blue Orchid", + "block.minecraft.potted_allium": "Potted Allium", + "block.minecraft.potted_azure_bluet": "Potted Azure Bluet", + "block.minecraft.potted_red_tulip": "Potted Red Tulip", + "block.minecraft.potted_orange_tulip": "Potted Orange Tulip", + "block.minecraft.potted_white_tulip": "Potted White Tulip", + "block.minecraft.potted_pink_tulip": "Potted Pink Tulip", + "block.minecraft.potted_oxeye_daisy": "Potted Oxeye Daisy", + "block.minecraft.potted_cornflower": "Potted Cornflower", + "block.minecraft.potted_lily_of_the_valley": "Potted Lily of the Valley", + "block.minecraft.potted_wither_rose": "Potted Wither Rose", + "block.minecraft.potted_red_mushroom": "Potted Red Mushroom", + "block.minecraft.potted_brown_mushroom": "Potted Brown Mushroom", + "block.minecraft.potted_dead_bush": "Potted Dead Bush", + "block.minecraft.potted_cactus": "Potted Cactus", + "block.minecraft.potted_bamboo": "Potted Bamboo", + "block.minecraft.skeleton_wall_skull": "Skeleton Wall Skull", + "block.minecraft.skeleton_skull": "Skeleton Skull", + "block.minecraft.wither_skeleton_wall_skull": "Wither Skeleton Wall Skull", + "block.minecraft.wither_skeleton_skull": "Wither Skeleton Skull", + "block.minecraft.zombie_wall_head": "Zombie Wall Head", + "block.minecraft.zombie_head": "Zombie Head", + "block.minecraft.player_wall_head": "Player Wall Head", + "block.minecraft.player_head": "Player Head", + "block.minecraft.player_head.named": "%s's Head", + "block.minecraft.creeper_wall_head": "Creeper Wall Head", + "block.minecraft.creeper_head": "Creeper Head", + "block.minecraft.dragon_wall_head": "Dragon Wall Head", + "block.minecraft.dragon_head": "Dragon Head", + "block.minecraft.end_gateway": "End Gateway", + "block.minecraft.structure_void": "Structure Void", + "block.minecraft.structure_block": "Structure Block", + "block.minecraft.void_air": "Void Air", + "block.minecraft.cave_air": "Cave Air", + "block.minecraft.bubble_column": "Bubble Column", + "block.minecraft.dead_tube_coral_block": "Dead Tube Coral Block", + "block.minecraft.dead_brain_coral_block": "Dead Brain Coral Block", + "block.minecraft.dead_bubble_coral_block": "Dead Bubble Coral Block", + "block.minecraft.dead_fire_coral_block": "Dead Fire Coral Block", + "block.minecraft.dead_horn_coral_block": "Dead Horn Coral Block", + "block.minecraft.tube_coral_block": "Tube Coral Block", + "block.minecraft.brain_coral_block": "Brain Coral Block", + "block.minecraft.bubble_coral_block": "Bubble Coral Block", + "block.minecraft.fire_coral_block": "Fire Coral Block", + "block.minecraft.horn_coral_block": "Horn Coral Block", + "block.minecraft.tube_coral": "Tube Coral", + "block.minecraft.brain_coral": "Brain Coral", + "block.minecraft.bubble_coral": "Bubble Coral", + "block.minecraft.fire_coral": "Fire Coral", + "block.minecraft.horn_coral": "Horn Coral", + "block.minecraft.dead_tube_coral": "Dead Tube Coral", + "block.minecraft.dead_brain_coral": "Dead Brain Coral", + "block.minecraft.dead_bubble_coral": "Dead Bubble Coral", + "block.minecraft.dead_fire_coral": "Dead Fire Coral", + "block.minecraft.dead_horn_coral": "Dead Horn Coral", + "block.minecraft.tube_coral_fan": "Tube Coral Fan", + "block.minecraft.brain_coral_fan": "Brain Coral Fan", + "block.minecraft.bubble_coral_fan": "Bubble Coral Fan", + "block.minecraft.fire_coral_fan": "Fire Coral Fan", + "block.minecraft.horn_coral_fan": "Horn Coral Fan", + "block.minecraft.dead_tube_coral_fan": "Dead Tube Coral Fan", + "block.minecraft.dead_brain_coral_fan": "Dead Brain Coral Fan", + "block.minecraft.dead_bubble_coral_fan": "Dead Bubble Coral Fan", + "block.minecraft.dead_fire_coral_fan": "Dead Fire Coral Fan", + "block.minecraft.dead_horn_coral_fan": "Dead Horn Coral Fan", + "block.minecraft.tube_coral_wall_fan": "Tube Coral Wall Fan", + "block.minecraft.brain_coral_wall_fan": "Brain Coral Wall Fan", + "block.minecraft.bubble_coral_wall_fan": "Bubble Coral Wall Fan", + "block.minecraft.fire_coral_wall_fan": "Fire Coral Wall Fan", + "block.minecraft.horn_coral_wall_fan": "Horn Coral Wall Fan", + "block.minecraft.dead_tube_coral_wall_fan": "Dead Tube Coral Wall Fan", + "block.minecraft.dead_brain_coral_wall_fan": "Dead Brain Coral Wall Fan", + "block.minecraft.dead_bubble_coral_wall_fan": "Dead Bubble Coral Wall Fan", + "block.minecraft.dead_fire_coral_wall_fan": "Dead Fire Coral Wall Fan", + "block.minecraft.dead_horn_coral_wall_fan": "Dead Horn Coral Wall Fan", + "block.minecraft.loom": "Loom", + "block.minecraft.conduit": "Conduit", + "block.minecraft.bamboo": "Bamboo", + "block.minecraft.bamboo_sapling": "Bamboo Sapling", + "block.minecraft.jigsaw": "Jigsaw Block", + "block.minecraft.composter": "Composter", + "block.minecraft.polished_granite_stairs": "Polished Granite Stairs", + "block.minecraft.smooth_red_sandstone_stairs": "Smooth Red Sandstone Stairs", + "block.minecraft.mossy_stone_brick_stairs": "Mossy Stone Brick Stairs", + "block.minecraft.polished_diorite_stairs": "Polished Diorite Stairs", + "block.minecraft.mossy_cobblestone_stairs": "Mossy Cobblestone Stairs", + "block.minecraft.end_stone_brick_stairs": "End Stone Brick Stairs", + "block.minecraft.stone_stairs": "Stone Stairs", + "block.minecraft.smooth_sandstone_stairs": "Smooth Sandstone Stairs", + "block.minecraft.smooth_quartz_stairs": "Smooth Quartz Stairs", + "block.minecraft.granite_stairs": "Granite Stairs", + "block.minecraft.andesite_stairs": "Andesite Stairs", + "block.minecraft.red_nether_brick_stairs": "Red Nether Brick Stairs", + "block.minecraft.polished_andesite_stairs": "Polished Andesite Stairs", + "block.minecraft.diorite_stairs": "Diorite Stairs", + "block.minecraft.polished_granite_slab": "Polished Granite Slab", + "block.minecraft.smooth_red_sandstone_slab": "Smooth Red Sandstone Slab", + "block.minecraft.mossy_stone_brick_slab": "Mossy Stone Brick Slab", + "block.minecraft.polished_diorite_slab": "Polished Diorite Slab", + "block.minecraft.mossy_cobblestone_slab": "Mossy Cobblestone Slab", + "block.minecraft.end_stone_brick_slab": "End Stone Brick Slab", + "block.minecraft.smooth_sandstone_slab": "Smooth Sandstone Slab", + "block.minecraft.smooth_quartz_slab": "Smooth Quartz Slab", + "block.minecraft.granite_slab": "Granite Slab", + "block.minecraft.andesite_slab": "Andesite Slab", + "block.minecraft.red_nether_brick_slab": "Red Nether Brick Slab", + "block.minecraft.polished_andesite_slab": "Polished Andesite Slab", + "block.minecraft.diorite_slab": "Diorite Slab", + "block.minecraft.brick_wall": "Brick Wall", + "block.minecraft.prismarine_wall": "Prismarine Wall", + "block.minecraft.red_sandstone_wall": "Red Sandstone Wall", + "block.minecraft.mossy_stone_brick_wall": "Mossy Stone Brick Wall", + "block.minecraft.granite_wall": "Granite Wall", + "block.minecraft.stone_brick_wall": "Stone Brick Wall", + "block.minecraft.nether_brick_wall": "Nether Brick Wall", + "block.minecraft.andesite_wall": "Andesite Wall", + "block.minecraft.red_nether_brick_wall": "Red Nether Brick Wall", + "block.minecraft.sandstone_wall": "Sandstone Wall", + "block.minecraft.end_stone_brick_wall": "End Stone Brick Wall", + "block.minecraft.diorite_wall": "Diorite Wall", + "block.minecraft.barrel": "Barrel", + "block.minecraft.smoker": "Smoker", + "block.minecraft.blast_furnace": "Blast Furnace", + "block.minecraft.cartography_table": "Cartography Table", + "block.minecraft.fletching_table": "Fletching Table", + "block.minecraft.smithing_table": "Smithing Table", + "block.minecraft.grindstone": "Grindstone", + "block.minecraft.lectern": "Lectern", + "block.minecraft.stonecutter": "Stonecutter", + "block.minecraft.bell": "Bell", + "block.minecraft.ominous_banner": "Ominous Banner", + "block.minecraft.lantern": "Lantern", + "block.minecraft.sweet_berry_bush": "Sweet Berry Bush", + "block.minecraft.campfire": "Campfire", + "block.minecraft.beehive": "Beehive", + "block.minecraft.bee_nest": "Bee Nest", + "block.minecraft.honey_block": "Honey Block", + "block.minecraft.honeycomb_block": "Honeycomb Block", + "item.minecraft.name_tag": "Name Tag", + "item.minecraft.lead": "Lead", + "item.minecraft.iron_shovel": "Iron Shovel", + "item.minecraft.iron_pickaxe": "Iron Pickaxe", + "item.minecraft.iron_axe": "Iron Axe", + "item.minecraft.flint_and_steel": "Flint and Steel", + "item.minecraft.apple": "Apple", + "item.minecraft.cookie": "Cookie", + "item.minecraft.bow": "Bow", + "item.minecraft.arrow": "Arrow", + "item.minecraft.spectral_arrow": "Spectral Arrow", + "item.minecraft.tipped_arrow": "Tipped Arrow", + "item.minecraft.dried_kelp": "Dried Kelp", + "item.minecraft.coal": "Coal", + "item.minecraft.charcoal": "Charcoal", + "item.minecraft.diamond": "Diamond", + "item.minecraft.emerald": "Emerald", + "item.minecraft.iron_ingot": "Iron Ingot", + "item.minecraft.gold_ingot": "Gold Ingot", + "item.minecraft.iron_sword": "Iron Sword", + "item.minecraft.wooden_sword": "Wooden Sword", + "item.minecraft.wooden_shovel": "Wooden Shovel", + "item.minecraft.wooden_pickaxe": "Wooden Pickaxe", + "item.minecraft.wooden_axe": "Wooden Axe", + "item.minecraft.stone_sword": "Stone Sword", + "item.minecraft.stone_shovel": "Stone Shovel", + "item.minecraft.stone_pickaxe": "Stone Pickaxe", + "item.minecraft.stone_axe": "Stone Axe", + "item.minecraft.diamond_sword": "Diamond Sword", + "item.minecraft.diamond_shovel": "Diamond Shovel", + "item.minecraft.diamond_pickaxe": "Diamond Pickaxe", + "item.minecraft.diamond_axe": "Diamond Axe", + "item.minecraft.stick": "Stick", + "item.minecraft.bowl": "Bowl", + "item.minecraft.mushroom_stew": "Mushroom Stew", + "item.minecraft.golden_sword": "Golden Sword", + "item.minecraft.golden_shovel": "Golden Shovel", + "item.minecraft.golden_pickaxe": "Golden Pickaxe", + "item.minecraft.golden_axe": "Golden Axe", + "item.minecraft.string": "String", + "item.minecraft.feather": "Feather", + "item.minecraft.gunpowder": "Gunpowder", + "item.minecraft.wooden_hoe": "Wooden Hoe", + "item.minecraft.stone_hoe": "Stone Hoe", + "item.minecraft.iron_hoe": "Iron Hoe", + "item.minecraft.diamond_hoe": "Diamond Hoe", + "item.minecraft.golden_hoe": "Golden Hoe", + "item.minecraft.wheat_seeds": "Wheat Seeds", + "item.minecraft.pumpkin_seeds": "Pumpkin Seeds", + "item.minecraft.melon_seeds": "Melon Seeds", + "item.minecraft.melon_slice": "Melon Slice", + "item.minecraft.wheat": "Wheat", + "item.minecraft.bread": "Bread", + "item.minecraft.leather_helmet": "Leather Cap", + "item.minecraft.leather_chestplate": "Leather Tunic", + "item.minecraft.leather_leggings": "Leather Pants", + "item.minecraft.leather_boots": "Leather Boots", + "item.minecraft.chainmail_helmet": "Chainmail Helmet", + "item.minecraft.chainmail_chestplate": "Chainmail Chestplate", + "item.minecraft.chainmail_leggings": "Chainmail Leggings", + "item.minecraft.chainmail_boots": "Chainmail Boots", + "item.minecraft.iron_helmet": "Iron Helmet", + "item.minecraft.iron_chestplate": "Iron Chestplate", + "item.minecraft.iron_leggings": "Iron Leggings", + "item.minecraft.iron_boots": "Iron Boots", + "item.minecraft.diamond_helmet": "Diamond Helmet", + "item.minecraft.diamond_chestplate": "Diamond Chestplate", + "item.minecraft.diamond_leggings": "Diamond Leggings", + "item.minecraft.diamond_boots": "Diamond Boots", + "item.minecraft.golden_helmet": "Golden Helmet", + "item.minecraft.golden_chestplate": "Golden Chestplate", + "item.minecraft.golden_leggings": "Golden Leggings", + "item.minecraft.golden_boots": "Golden Boots", + "item.minecraft.flint": "Flint", + "item.minecraft.porkchop": "Raw Porkchop", + "item.minecraft.cooked_porkchop": "Cooked Porkchop", + "item.minecraft.chicken": "Raw Chicken", + "item.minecraft.cooked_chicken": "Cooked Chicken", + "item.minecraft.mutton": "Raw Mutton", + "item.minecraft.cooked_mutton": "Cooked Mutton", + "item.minecraft.rabbit": "Raw Rabbit", + "item.minecraft.cooked_rabbit": "Cooked Rabbit", + "item.minecraft.rabbit_stew": "Rabbit Stew", + "item.minecraft.rabbit_foot": "Rabbit's Foot", + "item.minecraft.rabbit_hide": "Rabbit Hide", + "item.minecraft.beef": "Raw Beef", + "item.minecraft.cooked_beef": "Steak", + "item.minecraft.painting": "Painting", + "item.minecraft.item_frame": "Item Frame", + "item.minecraft.golden_apple": "Golden Apple", + "item.minecraft.enchanted_golden_apple": "Enchanted Golden Apple", + "item.minecraft.sign": "Sign", + "item.minecraft.bucket": "Bucket", + "item.minecraft.water_bucket": "Water Bucket", + "item.minecraft.lava_bucket": "Lava Bucket", + "item.minecraft.pufferfish_bucket": "Bucket of Pufferfish", + "item.minecraft.salmon_bucket": "Bucket of Salmon", + "item.minecraft.cod_bucket": "Bucket of Cod", + "item.minecraft.tropical_fish_bucket": "Bucket of Tropical Fish", + "item.minecraft.minecart": "Minecart", + "item.minecraft.saddle": "Saddle", + "item.minecraft.redstone": "Redstone Dust", + "item.minecraft.snowball": "Snowball", + "item.minecraft.oak_boat": "Oak Boat", + "item.minecraft.spruce_boat": "Spruce Boat", + "item.minecraft.birch_boat": "Birch Boat", + "item.minecraft.jungle_boat": "Jungle Boat", + "item.minecraft.acacia_boat": "Acacia Boat", + "item.minecraft.dark_oak_boat": "Dark Oak Boat", + "item.minecraft.leather": "Leather", + "item.minecraft.milk_bucket": "Milk Bucket", + "item.minecraft.brick": "Brick", + "item.minecraft.clay_ball": "Clay", + "item.minecraft.paper": "Paper", + "item.minecraft.book": "Book", + "item.minecraft.slime_ball": "Slimeball", + "item.minecraft.chest_minecart": "Minecart with Chest", + "item.minecraft.furnace_minecart": "Minecart with Furnace", + "item.minecraft.tnt_minecart": "Minecart with TNT", + "item.minecraft.hopper_minecart": "Minecart with Hopper", + "item.minecraft.command_block_minecart": "Minecart with Command Block", + "item.minecraft.egg": "Egg", + "item.minecraft.compass": "Compass", + "item.minecraft.fishing_rod": "Fishing Rod", + "item.minecraft.clock": "Clock", + "item.minecraft.glowstone_dust": "Glowstone Dust", + "item.minecraft.cod": "Raw Cod", + "item.minecraft.salmon": "Raw Salmon", + "item.minecraft.pufferfish": "Pufferfish", + "item.minecraft.tropical_fish": "Tropical Fish", + "item.minecraft.cooked_cod": "Cooked Cod", + "item.minecraft.cooked_salmon": "Cooked Salmon", + "item.minecraft.music_disc_13": "Music Disc", + "item.minecraft.music_disc_cat": "Music Disc", + "item.minecraft.music_disc_blocks": "Music Disc", + "item.minecraft.music_disc_chirp": "Music Disc", + "item.minecraft.music_disc_far": "Music Disc", + "item.minecraft.music_disc_mall": "Music Disc", + "item.minecraft.music_disc_mellohi": "Music Disc", + "item.minecraft.music_disc_stal": "Music Disc", + "item.minecraft.music_disc_strad": "Music Disc", + "item.minecraft.music_disc_ward": "Music Disc", + "item.minecraft.music_disc_11": "Music Disc", + "item.minecraft.music_disc_wait": "Music Disc", + "item.minecraft.music_disc_13.desc": "C418 - 13", + "item.minecraft.music_disc_cat.desc": "C418 - cat", + "item.minecraft.music_disc_blocks.desc": "C418 - blocks", + "item.minecraft.music_disc_chirp.desc": "C418 - chirp", + "item.minecraft.music_disc_far.desc": "C418 - far", + "item.minecraft.music_disc_mall.desc": "C418 - mall", + "item.minecraft.music_disc_mellohi.desc": "C418 - mellohi", + "item.minecraft.music_disc_stal.desc": "C418 - stal", + "item.minecraft.music_disc_strad.desc": "C418 - strad", + "item.minecraft.music_disc_ward.desc": "C418 - ward", + "item.minecraft.music_disc_11.desc": "C418 - 11", + "item.minecraft.music_disc_wait.desc": "C418 - wait", + "item.minecraft.bone": "Bone", + "item.minecraft.ink_sac": "Ink Sac", + "item.minecraft.red_dye": "Red Dye", + "item.minecraft.green_dye": "Green Dye", + "item.minecraft.cocoa_beans": "Cocoa Beans", + "item.minecraft.lapis_lazuli": "Lapis Lazuli", + "item.minecraft.purple_dye": "Purple Dye", + "item.minecraft.cyan_dye": "Cyan Dye", + "item.minecraft.light_gray_dye": "Light Gray Dye", + "item.minecraft.gray_dye": "Gray Dye", + "item.minecraft.pink_dye": "Pink Dye", + "item.minecraft.lime_dye": "Lime Dye", + "item.minecraft.yellow_dye": "Yellow Dye", + "item.minecraft.light_blue_dye": "Light Blue Dye", + "item.minecraft.magenta_dye": "Magenta Dye", + "item.minecraft.orange_dye": "Orange Dye", + "item.minecraft.bone_meal": "Bone Meal", + "item.minecraft.blue_dye": "Blue Dye", + "item.minecraft.black_dye": "Black Dye", + "item.minecraft.brown_dye": "Brown Dye", + "item.minecraft.white_dye": "White Dye", + "item.minecraft.sugar": "Sugar", + "block.minecraft.black_bed": "Black Bed", + "block.minecraft.red_bed": "Red Bed", + "block.minecraft.green_bed": "Green Bed", + "block.minecraft.brown_bed": "Brown Bed", + "block.minecraft.blue_bed": "Blue Bed", + "block.minecraft.purple_bed": "Purple Bed", + "block.minecraft.cyan_bed": "Cyan Bed", + "block.minecraft.light_gray_bed": "Light Gray Bed", + "block.minecraft.gray_bed": "Gray Bed", + "block.minecraft.pink_bed": "Pink Bed", + "block.minecraft.lime_bed": "Lime Bed", + "block.minecraft.yellow_bed": "Yellow Bed", + "block.minecraft.light_blue_bed": "Light Blue Bed", + "block.minecraft.magenta_bed": "Magenta Bed", + "block.minecraft.orange_bed": "Orange Bed", + "block.minecraft.white_bed": "White Bed", + "block.minecraft.repeater": "Redstone Repeater", + "block.minecraft.comparator": "Redstone Comparator", + "item.minecraft.filled_map": "Map", + "item.minecraft.shears": "Shears", + "item.minecraft.rotten_flesh": "Rotten Flesh", + "item.minecraft.ender_pearl": "Ender Pearl", + "item.minecraft.blaze_rod": "Blaze Rod", + "item.minecraft.ghast_tear": "Ghast Tear", + "item.minecraft.nether_wart": "Nether Wart", + "item.minecraft.potion": "Potion", + "item.minecraft.splash_potion": "Splash Potion", + "item.minecraft.lingering_potion": "Lingering Potion", + "item.minecraft.end_crystal": "End Crystal", + "item.minecraft.gold_nugget": "Gold Nugget", + "item.minecraft.glass_bottle": "Glass Bottle", + "item.minecraft.spider_eye": "Spider Eye", + "item.minecraft.fermented_spider_eye": "Fermented Spider Eye", + "item.minecraft.blaze_powder": "Blaze Powder", + "item.minecraft.magma_cream": "Magma Cream", + "item.minecraft.cauldron": "Cauldron", + "item.minecraft.brewing_stand": "Brewing Stand", + "item.minecraft.ender_eye": "Eye of Ender", + "item.minecraft.glistering_melon_slice": "Glistering Melon Slice", + "item.minecraft.bat_spawn_egg": "Bat Spawn Egg", + "item.minecraft.bee_spawn_egg": "Bee Spawn Egg", + "item.minecraft.blaze_spawn_egg": "Blaze Spawn Egg", + "item.minecraft.cat_spawn_egg": "Cat Spawn Egg", + "item.minecraft.cave_spider_spawn_egg": "Cave Spider Spawn Egg", + "item.minecraft.chicken_spawn_egg": "Chicken Spawn Egg", + "item.minecraft.cod_spawn_egg": "Cod Spawn Egg", + "item.minecraft.cow_spawn_egg": "Cow Spawn Egg", + "item.minecraft.creeper_spawn_egg": "Creeper Spawn Egg", + "item.minecraft.dolphin_spawn_egg": "Dolphin Spawn Egg", + "item.minecraft.donkey_spawn_egg": "Donkey Spawn Egg", + "item.minecraft.drowned_spawn_egg": "Drowned Spawn Egg", + "item.minecraft.elder_guardian_spawn_egg": "Elder Guardian Spawn Egg", + "item.minecraft.enderman_spawn_egg": "Enderman Spawn Egg", + "item.minecraft.endermite_spawn_egg": "Endermite Spawn Egg", + "item.minecraft.evoker_spawn_egg": "Evoker Spawn Egg", + "item.minecraft.ghast_spawn_egg": "Ghast Spawn Egg", + "item.minecraft.guardian_spawn_egg": "Guardian Spawn Egg", + "item.minecraft.horse_spawn_egg": "Horse Spawn Egg", + "item.minecraft.husk_spawn_egg": "Husk Spawn Egg", + "item.minecraft.ravager_spawn_egg": "Ravager Spawn Egg", + "item.minecraft.llama_spawn_egg": "Llama Spawn Egg", + "item.minecraft.magma_cube_spawn_egg": "Magma Cube Spawn Egg", + "item.minecraft.mooshroom_spawn_egg": "Mooshroom Spawn Egg", + "item.minecraft.mule_spawn_egg": "Mule Spawn Egg", + "item.minecraft.ocelot_spawn_egg": "Ocelot Spawn Egg", + "item.minecraft.panda_spawn_egg": "Panda Spawn Egg", + "item.minecraft.parrot_spawn_egg": "Parrot Spawn Egg", + "item.minecraft.pig_spawn_egg": "Pig Spawn Egg", + "item.minecraft.pillager_spawn_egg": "Pillager Spawn Egg", + "item.minecraft.phantom_spawn_egg": "Phantom Spawn Egg", + "item.minecraft.polar_bear_spawn_egg": "Polar Bear Spawn Egg", + "item.minecraft.pufferfish_spawn_egg": "Pufferfish Spawn Egg", + "item.minecraft.rabbit_spawn_egg": "Rabbit Spawn Egg", + "item.minecraft.fox_spawn_egg": "Fox Spawn Egg", + "item.minecraft.salmon_spawn_egg": "Salmon Spawn Egg", + "item.minecraft.sheep_spawn_egg": "Sheep Spawn Egg", + "item.minecraft.shulker_spawn_egg": "Shulker Spawn Egg", + "item.minecraft.silverfish_spawn_egg": "Silverfish Spawn Egg", + "item.minecraft.skeleton_spawn_egg": "Skeleton Spawn Egg", + "item.minecraft.skeleton_horse_spawn_egg": "Skeleton Horse Spawn Egg", + "item.minecraft.slime_spawn_egg": "Slime Spawn Egg", + "item.minecraft.spider_spawn_egg": "Spider Spawn Egg", + "item.minecraft.squid_spawn_egg": "Squid Spawn Egg", + "item.minecraft.stray_spawn_egg": "Stray Spawn Egg", + "item.minecraft.trader_llama_spawn_egg": "Trader Llama Spawn Egg", + "item.minecraft.tropical_fish_spawn_egg": "Tropical Fish Spawn Egg", + "item.minecraft.turtle_spawn_egg": "Turtle Spawn Egg", + "item.minecraft.vex_spawn_egg": "Vex Spawn Egg", + "item.minecraft.villager_spawn_egg": "Villager Spawn Egg", + "item.minecraft.wandering_trader_spawn_egg": "Wandering Trader Spawn Egg", + "item.minecraft.vindicator_spawn_egg": "Vindicator Spawn Egg", + "item.minecraft.witch_spawn_egg": "Witch Spawn Egg", + "item.minecraft.wither_skeleton_spawn_egg": "Wither Skeleton Spawn Egg", + "item.minecraft.wolf_spawn_egg": "Wolf Spawn Egg", + "item.minecraft.zombie_spawn_egg": "Zombie Spawn Egg", + "item.minecraft.zombie_horse_spawn_egg": "Zombie Horse Spawn Egg", + "item.minecraft.zombie_pigman_spawn_egg": "Zombie Pigman Spawn Egg", + "item.minecraft.zombie_villager_spawn_egg": "Zombie Villager Spawn Egg", + "item.minecraft.experience_bottle": "Bottle o' Enchanting", + "item.minecraft.fire_charge": "Fire Charge", + "item.minecraft.writable_book": "Book and Quill", + "item.minecraft.written_book": "Written Book", + "item.minecraft.flower_pot": "Flower Pot", + "item.minecraft.map": "Empty Map", + "item.minecraft.carrot": "Carrot", + "item.minecraft.golden_carrot": "Golden Carrot", + "item.minecraft.potato": "Potato", + "item.minecraft.baked_potato": "Baked Potato", + "item.minecraft.poisonous_potato": "Poisonous Potato", + "item.minecraft.skeleton_skull": "Skeleton Skull", + "item.minecraft.wither_skeleton_skull": "Wither Skeleton Skull", + "item.minecraft.zombie_head": "Zombie Head", + "item.minecraft.creeper_head": "Creeper Head", + "item.minecraft.dragon_head": "Dragon Head", + "item.minecraft.carrot_on_a_stick": "Carrot on a Stick", + "item.minecraft.nether_star": "Nether Star", + "item.minecraft.pumpkin_pie": "Pumpkin Pie", + "item.minecraft.enchanted_book": "Enchanted Book", + "item.minecraft.firework_rocket": "Firework Rocket", + "item.minecraft.firework_rocket.flight": "Flight Duration:", + "item.minecraft.firework_star": "Firework Star", + "item.minecraft.firework_star.black": "Black", + "item.minecraft.firework_star.red": "Red", + "item.minecraft.firework_star.green": "Green", + "item.minecraft.firework_star.brown": "Brown", + "item.minecraft.firework_star.blue": "Blue", + "item.minecraft.firework_star.purple": "Purple", + "item.minecraft.firework_star.cyan": "Cyan", + "item.minecraft.firework_star.light_gray": "Light Gray", + "item.minecraft.firework_star.gray": "Gray", + "item.minecraft.firework_star.pink": "Pink", + "item.minecraft.firework_star.lime": "Lime", + "item.minecraft.firework_star.yellow": "Yellow", + "item.minecraft.firework_star.light_blue": "Light Blue", + "item.minecraft.firework_star.magenta": "Magenta", + "item.minecraft.firework_star.orange": "Orange", + "item.minecraft.firework_star.white": "White", + "item.minecraft.firework_star.custom_color": "Custom", + "item.minecraft.firework_star.fade_to": "Fade to", + "item.minecraft.firework_star.flicker": "Twinkle", + "item.minecraft.firework_star.trail": "Trail", + "item.minecraft.firework_star.shape.small_ball": "Small Ball", + "item.minecraft.firework_star.shape.large_ball": "Large Ball", + "item.minecraft.firework_star.shape.star": "Star-shaped", + "item.minecraft.firework_star.shape.creeper": "Creeper-shaped", + "item.minecraft.firework_star.shape.burst": "Burst", + "item.minecraft.firework_star.shape": "Unknown Shape", + "item.minecraft.nether_brick": "Nether Brick", + "item.minecraft.quartz": "Nether Quartz", + "item.minecraft.armor_stand": "Armor Stand", + "item.minecraft.iron_horse_armor": "Iron Horse Armor", + "item.minecraft.golden_horse_armor": "Golden Horse Armor", + "item.minecraft.diamond_horse_armor": "Diamond Horse Armor", + "item.minecraft.leather_horse_armor": "Leather Horse Armor", + "item.minecraft.prismarine_shard": "Prismarine Shard", + "item.minecraft.prismarine_crystals": "Prismarine Crystals", + "item.minecraft.chorus_fruit": "Chorus Fruit", + "item.minecraft.popped_chorus_fruit": "Popped Chorus Fruit", + "item.minecraft.beetroot": "Beetroot", + "item.minecraft.beetroot_seeds": "Beetroot Seeds", + "item.minecraft.beetroot_soup": "Beetroot Soup", + "item.minecraft.dragon_breath": "Dragon's Breath", + "item.minecraft.elytra": "Elytra", + "item.minecraft.totem_of_undying": "Totem of Undying", + "item.minecraft.shulker_shell": "Shulker Shell", + "item.minecraft.iron_nugget": "Iron Nugget", + "item.minecraft.knowledge_book": "Knowledge Book", + "item.minecraft.debug_stick": "Debug Stick", + "item.minecraft.debug_stick.empty": "%s has no properties", + "item.minecraft.debug_stick.update": "\"%s\" to %s", + "item.minecraft.debug_stick.select": "selected \"%s\" (%s)", + "item.minecraft.trident": "Trident", + "item.minecraft.scute": "Scute", + "item.minecraft.turtle_helmet": "Turtle Shell", + "item.minecraft.phantom_membrane": "Phantom Membrane", + "item.minecraft.nautilus_shell": "Nautilus Shell", + "item.minecraft.heart_of_the_sea": "Heart of the Sea", + "item.minecraft.crossbow": "Crossbow", + "item.minecraft.crossbow.projectile": "Projectile:", + "item.minecraft.suspicious_stew": "Suspicious Stew", + "item.minecraft.creeper_banner_pattern": "Banner Pattern", + "item.minecraft.skull_banner_pattern": "Banner Pattern", + "item.minecraft.flower_banner_pattern": "Banner Pattern", + "item.minecraft.mojang_banner_pattern": "Banner Pattern", + "item.minecraft.globe_banner_pattern": "Banner Pattern", + "item.minecraft.creeper_banner_pattern.desc": "Creeper Charge", + "item.minecraft.skull_banner_pattern.desc": "Skull Charge", + "item.minecraft.flower_banner_pattern.desc": "Flower Charge", + "item.minecraft.mojang_banner_pattern.desc": "Thing", + "item.minecraft.globe_banner_pattern.desc": "Globe", + "item.minecraft.sweet_berries": "Sweet Berries", + "item.minecraft.honey_bottle": "Honey Bottle", + "item.minecraft.honeycomb": "Honeycomb", + "container.inventory": "Inventory", + "container.hopper": "Item Hopper", + "container.crafting": "Crafting", + "container.dispenser": "Dispenser", + "container.dropper": "Dropper", + "container.furnace": "Furnace", + "container.enchant": "Enchant", + "container.smoker": "Smoker", + "container.lectern": "Lectern", + "container.blast_furnace": "Blast Furnace", + "container.enchant.lapis.one": "1 Lapis Lazuli", + "container.enchant.lapis.many": "%s Lapis Lazuli", + "container.enchant.level.one": "1 Enchantment Level", + "container.enchant.level.many": "%s Enchantment Levels", + "container.enchant.level.requirement": "Level requirement: %s", + "container.enchant.clue": "%s . . . ?", + "container.repair": "Repair & Name", + "container.repair.cost": "Enchantment Cost: %1$s", + "container.repair.expensive": "Too Expensive!", + "container.creative": "Item Selection", + "container.brewing": "Brewing Stand", + "container.chest": "Chest", + "container.chestDouble": "Large Chest", + "container.enderchest": "Ender Chest", + "container.beacon": "Beacon", + "container.shulkerBox": "Shulker Box", + "container.shulkerBox.more": "and %s more...", + "container.barrel": "Barrel", + "container.spectatorCantOpen": "Unable to open. Loot not generated yet.", + "container.isLocked": "%s is locked!", + "container.loom": "Loom", + "container.grindstone_title": "Repair & Disenchant", + "container.cartography_table": "Cartography Table", + "container.stonecutter": "Stonecutter", + "structure_block.invalid_structure_name": "Invalid structure name '%s'", + "structure_block.save_success": "Structure saved as '%s'", + "structure_block.save_failure": "Unable to save structure '%s'", + "structure_block.load_success": "Structure loaded from '%s'", + "structure_block.load_prepare": "Structure '%s' position prepared", + "structure_block.load_not_found": "Structure '%s' is not available", + "structure_block.size_success": "Size successfully detected for '%s'", + "structure_block.size_failure": "Unable to detect structure size. Add corners with matching structure names", + "structure_block.mode.save": "Save", + "structure_block.mode.load": "Load", + "structure_block.mode.data": "Data", + "structure_block.mode.corner": "Corner", + "structure_block.hover.save": "Save: %s", + "structure_block.hover.load": "Load: %s", + "structure_block.hover.data": "Data: %s", + "structure_block.hover.corner": "Corner: %s", + "structure_block.mode_info.save": "Save mode - write to file", + "structure_block.mode_info.load": "Load mode - load from file", + "structure_block.mode_info.data": "Data mode - game logic marker", + "structure_block.mode_info.corner": "Corner mode - placement and size marker", + "structure_block.structure_name": "Structure Name", + "structure_block.custom_data": "Custom Data Tag Name", + "structure_block.position": "Relative Position", + "structure_block.position.x": "relative Position x", + "structure_block.position.y": "relative position y", + "structure_block.position.z": "relative position z", + "structure_block.size": "Structure Size", + "structure_block.size.x": "structure size x", + "structure_block.size.y": "structure size y", + "structure_block.size.z": "structure size z", + "structure_block.integrity": "Structure Integrity and Seed", + "structure_block.integrity.integrity": "Structure Integrity", + "structure_block.integrity.seed": "Structure Seed", + "structure_block.include_entities": "Include entities:", + "structure_block.detect_size": "Detect structure size and position:", + "structure_block.button.detect_size": "DETECT", + "structure_block.button.save": "SAVE", + "structure_block.button.load": "LOAD", + "structure_block.show_air": "Show invisible blocks:", + "structure_block.show_boundingbox": "Show bounding box:", + "jigsaw_block.target_pool": "Target pool:", + "jigsaw_block.attachement_type": "Attachment type:", + "jigsaw_block.final_state": "Turns into:", + "item.dyed": "Dyed", + "item.unbreakable": "Unbreakable", + "item.canBreak": "Can break:", + "item.canPlace": "Can be placed on:", + "item.color": "Color: %s", + "item.nbt_tags": "NBT: %s tag(s)", + "item.durability": "Durability: %s / %s", + "filled_map.mansion": "Woodland Explorer Map", + "filled_map.monument": "Ocean Explorer Map", + "filled_map.buried_treasure": "Buried Treasure Map", + "filled_map.unknown": "Unknown Map", + "filled_map.id": "Id #%s", + "filled_map.level": "(Level %s/%s)", + "filled_map.scale": "Scaling at 1:%s", + "filled_map.locked": "Locked", + "entity.minecraft.area_effect_cloud": "Area Effect Cloud", + "entity.minecraft.armor_stand": "Armor Stand", + "entity.minecraft.arrow": "Arrow", + "entity.minecraft.bat": "Bat", + "entity.minecraft.bee": "Bee", + "entity.minecraft.blaze": "Blaze", + "entity.minecraft.boat": "Boat", + "entity.minecraft.cat": "Cat", + "entity.minecraft.cave_spider": "Cave Spider", + "entity.minecraft.chest_minecart": "Minecart with Chest", + "entity.minecraft.chicken": "Chicken", + "entity.minecraft.command_block_minecart": "Minecart with Command Block", + "entity.minecraft.cod": "Cod", + "entity.minecraft.cow": "Cow", + "entity.minecraft.creeper": "Creeper", + "entity.minecraft.dolphin": "Dolphin", + "entity.minecraft.donkey": "Donkey", + "entity.minecraft.drowned": "Drowned", + "entity.minecraft.dragon_fireball": "Dragon Fireball", + "entity.minecraft.egg": "Thrown Egg", + "entity.minecraft.elder_guardian": "Elder Guardian", + "entity.minecraft.end_crystal": "End Crystal", + "entity.minecraft.ender_dragon": "Ender Dragon", + "entity.minecraft.ender_pearl": "Thrown Ender Pearl", + "entity.minecraft.enderman": "Enderman", + "entity.minecraft.endermite": "Endermite", + "entity.minecraft.evoker_fangs": "Evoker Fangs", + "entity.minecraft.evoker": "Evoker", + "entity.minecraft.eye_of_ender": "Eye of Ender", + "entity.minecraft.falling_block": "Falling Block", + "entity.minecraft.fireball": "Fireball", + "entity.minecraft.firework_rocket": "Firework Rocket", + "entity.minecraft.fishing_bobber": "Fishing Bobber", + "entity.minecraft.fox": "Fox", + "entity.minecraft.furnace_minecart": "Minecart with Furnace", + "entity.minecraft.ghast": "Ghast", + "entity.minecraft.giant": "Giant", + "entity.minecraft.guardian": "Guardian", + "entity.minecraft.hopper_minecart": "Minecart with Hopper", + "entity.minecraft.horse": "Horse", + "entity.minecraft.husk": "Husk", + "entity.minecraft.ravager": "Ravager", + "entity.minecraft.illusioner": "Illusioner", + "entity.minecraft.item": "Item", + "entity.minecraft.item_frame": "Item Frame", + "entity.minecraft.killer_bunny": "The Killer Bunny", + "entity.minecraft.leash_knot": "Leash Knot", + "entity.minecraft.lightning_bolt": "Lightning Bolt", + "entity.minecraft.llama": "Llama", + "entity.minecraft.llama_spit": "Llama Spit", + "entity.minecraft.magma_cube": "Magma Cube", + "entity.minecraft.minecart": "Minecart", + "entity.minecraft.mooshroom": "Mooshroom", + "entity.minecraft.mule": "Mule", + "entity.minecraft.ocelot": "Ocelot", + "entity.minecraft.painting": "Painting", + "entity.minecraft.panda": "Panda", + "entity.minecraft.parrot": "Parrot", + "entity.minecraft.phantom": "Phantom", + "entity.minecraft.pig": "Pig", + "entity.minecraft.pillager": "Pillager", + "entity.minecraft.player": "Player", + "entity.minecraft.polar_bear": "Polar Bear", + "entity.minecraft.potion": "Potion", + "entity.minecraft.pufferfish": "Pufferfish", + "entity.minecraft.rabbit": "Rabbit", + "entity.minecraft.salmon": "Salmon", + "entity.minecraft.sheep": "Sheep", + "entity.minecraft.shulker": "Shulker", + "entity.minecraft.shulker_bullet": "Shulker Bullet", + "entity.minecraft.silverfish": "Silverfish", + "entity.minecraft.skeleton": "Skeleton", + "entity.minecraft.skeleton_horse": "Skeleton Horse", + "entity.minecraft.slime": "Slime", + "entity.minecraft.small_fireball": "Small Fireball", + "entity.minecraft.snowball": "Snowball", + "entity.minecraft.snow_golem": "Snow Golem", + "entity.minecraft.spawner_minecart": "Minecart with Spawner", + "entity.minecraft.spectral_arrow": "Spectral Arrow", + "entity.minecraft.spider": "Spider", + "entity.minecraft.squid": "Squid", + "entity.minecraft.stray": "Stray", + "entity.minecraft.tnt": "Primed TNT", + "entity.minecraft.tnt_minecart": "Minecart with TNT", + "entity.minecraft.trader_llama": "Trader Llama", + "entity.minecraft.trident": "Trident", + "entity.minecraft.tropical_fish": "Tropical Fish", + "entity.minecraft.tropical_fish.predefined.0": "Anemone", + "entity.minecraft.tropical_fish.predefined.1": "Black Tang", + "entity.minecraft.tropical_fish.predefined.2": "Blue Tang", + "entity.minecraft.tropical_fish.predefined.3": "Butterflyfish", + "entity.minecraft.tropical_fish.predefined.4": "Cichlid", + "entity.minecraft.tropical_fish.predefined.5": "Clownfish", + "entity.minecraft.tropical_fish.predefined.6": "Cotton Candy Betta", + "entity.minecraft.tropical_fish.predefined.7": "Dottyback", + "entity.minecraft.tropical_fish.predefined.8": "Emperor Red Snapper", + "entity.minecraft.tropical_fish.predefined.9": "Goatfish", + "entity.minecraft.tropical_fish.predefined.10": "Moorish Idol", + "entity.minecraft.tropical_fish.predefined.11": "Ornate Butterflyfish", + "entity.minecraft.tropical_fish.predefined.12": "Parrotfish", + "entity.minecraft.tropical_fish.predefined.13": "Queen Angelfish", + "entity.minecraft.tropical_fish.predefined.14": "Red Cichlid", + "entity.minecraft.tropical_fish.predefined.15": "Red Lipped Blenny", + "entity.minecraft.tropical_fish.predefined.16": "Red Snapper", + "entity.minecraft.tropical_fish.predefined.17": "Threadfin", + "entity.minecraft.tropical_fish.predefined.18": "Tomato Clownfish", + "entity.minecraft.tropical_fish.predefined.19": "Triggerfish", + "entity.minecraft.tropical_fish.predefined.20": "Yellowtail Parrotfish", + "entity.minecraft.tropical_fish.predefined.21": "Yellow Tang", + "entity.minecraft.tropical_fish.type.flopper": "Flopper", + "entity.minecraft.tropical_fish.type.stripey": "Stripey", + "entity.minecraft.tropical_fish.type.glitter": "Glitter", + "entity.minecraft.tropical_fish.type.blockfish": "Blockfish", + "entity.minecraft.tropical_fish.type.betty": "Betty", + "entity.minecraft.tropical_fish.type.clayfish": "Clayfish", + "entity.minecraft.tropical_fish.type.kob": "Kob", + "entity.minecraft.tropical_fish.type.sunstreak": "SunStreak", + "entity.minecraft.tropical_fish.type.snooper": "Snooper", + "entity.minecraft.tropical_fish.type.dasher": "Dasher", + "entity.minecraft.tropical_fish.type.brinely": "Brinely", + "entity.minecraft.tropical_fish.type.spotty": "Spotty", + "entity.minecraft.turtle": "Turtle", + "entity.minecraft.vex": "Vex", + "entity.minecraft.villager.armorer": "Armorer", + "entity.minecraft.villager.butcher": "Butcher", + "entity.minecraft.villager.cartographer": "Cartographer", + "entity.minecraft.villager.cleric": "Cleric", + "entity.minecraft.villager.farmer": "Farmer", + "entity.minecraft.villager.fisherman": "Fisherman", + "entity.minecraft.villager.fletcher": "Fletcher", + "entity.minecraft.villager.leatherworker": "Leatherworker", + "entity.minecraft.villager.librarian": "Librarian", + "entity.minecraft.villager.mason": "Mason", + "entity.minecraft.villager.none": "Villager", + "entity.minecraft.villager.nitwit": "Nitwit", + "entity.minecraft.villager.shepherd": "Shepherd", + "entity.minecraft.villager.toolsmith": "Toolsmith", + "entity.minecraft.villager.weaponsmith": "Weaponsmith", + "entity.minecraft.villager": "Villager", + "entity.minecraft.wandering_trader": "Wandering Trader", + "entity.minecraft.iron_golem": "Iron Golem", + "entity.minecraft.vindicator": "Vindicator", + "entity.minecraft.witch": "Witch", + "entity.minecraft.wither": "Wither", + "entity.minecraft.wither_skeleton": "Wither Skeleton", + "entity.minecraft.wither_skull": "Wither Skull", + "entity.minecraft.wolf": "Wolf", + "entity.minecraft.experience_bottle": "Thrown Bottle o' Enchanting", + "entity.minecraft.experience_orb": "Experience Orb", + "entity.minecraft.zombie": "Zombie", + "entity.minecraft.zombie_horse": "Zombie Horse", + "entity.minecraft.zombie_pigman": "Zombie Pigman", + "entity.minecraft.zombie_villager": "Zombie Villager", + "death.fell.accident.ladder": "%1$s fell off a ladder", + "death.fell.accident.vines": "%1$s fell off some vines", + "death.fell.accident.water": "%1$s fell out of the water", + "death.fell.accident.generic": "%1$s fell from a high place", + "death.fell.killer": "%1$s was doomed to fall", + "death.fell.assist": "%1$s was doomed to fall by %2$s", + "death.fell.assist.item": "%1$s was doomed to fall by %2$s using %3$s", + "death.fell.finish": "%1$s fell too far and was finished by %2$s", + "death.fell.finish.item": "%1$s fell too far and was finished by %2$s using %3$s", + "death.attack.lightningBolt": "%1$s was struck by lightning", + "death.attack.lightningBolt.player": "%1$s was struck by lightning whilst fighting %2$s", + "death.attack.inFire": "%1$s went up in flames", + "death.attack.inFire.player": "%1$s walked into fire whilst fighting %2$s", + "death.attack.onFire": "%1$s burned to death", + "death.attack.onFire.player": "%1$s was burnt to a crisp whilst fighting %2$s", + "death.attack.lava": "%1$s tried to swim in lava", + "death.attack.lava.player": "%1$s tried to swim in lava to escape %2$s", + "death.attack.hotFloor": "%1$s discovered the floor was lava", + "death.attack.hotFloor.player": "%1$s walked into danger zone due to %2$s", + "death.attack.inWall": "%1$s suffocated in a wall", + "death.attack.inWall.player": "%1$s suffocated in a wall whilst fighting %2$s", + "death.attack.cramming": "%1$s was squished too much", + "death.attack.cramming.player": "%1$s was squashed by %2$s", + "death.attack.drown": "%1$s drowned", + "death.attack.drown.player": "%1$s drowned whilst trying to escape %2$s", + "death.attack.starve": "%1$s starved to death", + "death.attack.starve.player": "%1$s starved to death whilst fighting %2$s", + "death.attack.cactus": "%1$s was pricked to death", + "death.attack.cactus.player": "%1$s walked into a cactus whilst trying to escape %2$s", + "death.attack.generic": "%1$s died", + "death.attack.generic.player": "%1$s died because of %2$s", + "death.attack.explosion": "%1$s blew up", + "death.attack.explosion.player": "%1$s was blown up by %2$s", + "death.attack.explosion.player.item": "%1$s was blown up by %2$s using %3$s", + "death.attack.magic": "%1$s was killed by magic", + "death.attack.even_more_magic": "%1$s was killed by even more magic", + "death.attack.message_too_long": "Actually, message was too long to deliver fully. Sorry! Here's stripped version: %s", + "death.attack.wither": "%1$s withered away", + "death.attack.wither.player": "%1$s withered away whilst fighting %2$s", + "death.attack.anvil": "%1$s was squashed by a falling anvil", + "death.attack.anvil.player": "%1$s was squashed by a falling anvil whilst fighting %2$s", + "death.attack.fallingBlock": "%1$s was squashed by a falling block", + "death.attack.fallingBlock.player": "%1$s was squashed by a falling block whilst fighting %2$s", + "death.attack.mob": "%1$s was slain by %2$s", + "death.attack.mob.item": "%1$s was slain by %2$s using %3$s", + "death.attack.player": "%1$s was slain by %2$s", + "death.attack.player.item": "%1$s was slain by %2$s using %3$s", + "death.attack.arrow": "%1$s was shot by %2$s", + "death.attack.arrow.item": "%1$s was shot by %2$s using %3$s", + "death.attack.fireball": "%1$s was fireballed by %2$s", + "death.attack.fireball.item": "%1$s was fireballed by %2$s using %3$s", + "death.attack.thrown": "%1$s was pummeled by %2$s", + "death.attack.thrown.item": "%1$s was pummeled by %2$s using %3$s", + "death.attack.indirectMagic": "%1$s was killed by %2$s using magic", + "death.attack.indirectMagic.item": "%1$s was killed by %2$s using %3$s", + "death.attack.thorns": "%1$s was killed trying to hurt %2$s", + "death.attack.thorns.item": "%1$s was killed by %3$s trying to hurt %2$s", + "death.attack.trident": "%1$s was impaled by %2$s", + "death.attack.trident.item": "%1$s was impaled by %2$s with %3$s", + "death.attack.fall": "%1$s hit the ground too hard", + "death.attack.fall.player": "%1$s hit the ground too hard whilst trying to escape %2$s", + "death.attack.outOfWorld": "%1$s fell out of the world", + "death.attack.outOfWorld.player": "%1$s didn't want to live in the same world as %2$s", + "death.attack.dragonBreath": "%1$s was roasted in dragon breath", + "death.attack.dragonBreath.player": "%1$s was roasted in dragon breath by %2$s", + "death.attack.flyIntoWall": "%1$s experienced kinetic energy", + "death.attack.flyIntoWall.player": "%1$s experienced kinetic energy whilst trying to escape %2$s", + "death.attack.fireworks": "%1$s went off with a bang", + "death.attack.fireworks.player": "%1$s went off with a bang whilst fighting %2$s", + "death.attack.netherBed.message": "%1$s was killed by %2$s", + "death.attack.netherBed.link": "Intentional Game Design", + "death.attack.sweetBerryBush": "%1$s was poked to death by a sweet berry bush", + "death.attack.sweetBerryBush.player": "%1$s was poked to death by a sweet berry bush whilst trying to escape %2$s", + "death.attack.sting": "%1$s was stung to death", + "death.attack.sting.player": "%1$s was stung to death by %2$s", + "deathScreen.respawn": "Respawn", + "deathScreen.spectate": "Spectate world", + "deathScreen.titleScreen": "Title screen", + "deathScreen.score": "Score", + "deathScreen.title.hardcore": "Game over!", + "deathScreen.title": "You died!", + "deathScreen.quit.confirm": "Are you sure you want to quit?", + "effect.none": "No Effects", + "effect.minecraft.speed": "Speed", + "effect.minecraft.slowness": "Slowness", + "effect.minecraft.haste": "Haste", + "effect.minecraft.mining_fatigue": "Mining Fatigue", + "effect.minecraft.strength": "Strength", + "effect.minecraft.instant_health": "Instant Health", + "effect.minecraft.instant_damage": "Instant Damage", + "effect.minecraft.jump_boost": "Jump Boost", + "effect.minecraft.nausea": "Nausea", + "effect.minecraft.regeneration": "Regeneration", + "effect.minecraft.resistance": "Resistance", + "effect.minecraft.fire_resistance": "Fire Resistance", + "effect.minecraft.water_breathing": "Water Breathing", + "effect.minecraft.invisibility": "Invisibility", + "effect.minecraft.blindness": "Blindness", + "effect.minecraft.night_vision": "Night Vision", + "effect.minecraft.hunger": "Hunger", + "effect.minecraft.weakness": "Weakness", + "effect.minecraft.poison": "Poison", + "effect.minecraft.wither": "Wither", + "effect.minecraft.health_boost": "Health Boost", + "effect.minecraft.absorption": "Absorption", + "effect.minecraft.saturation": "Saturation", + "effect.minecraft.glowing": "Glowing", + "effect.minecraft.luck": "Luck", + "effect.minecraft.unluck": "Bad Luck", + "effect.minecraft.levitation": "Levitation", + "effect.minecraft.slow_falling": "Slow Falling", + "effect.minecraft.conduit_power": "Conduit Power", + "effect.minecraft.dolphins_grace": "Dolphin's Grace", + "effect.minecraft.bad_omen": "Bad Omen", + "effect.minecraft.hero_of_the_village": "Hero of the Village", + "event.minecraft.raid": "Raid", + "event.minecraft.raid.raiders_remaining": "Raiders remaining: %s", + "event.minecraft.raid.victory": "Victory", + "event.minecraft.raid.defeat": "Defeat", + "item.minecraft.tipped_arrow.effect.empty": "Uncraftable Tipped Arrow", + "item.minecraft.tipped_arrow.effect.water": "Arrow of Splashing", + "item.minecraft.tipped_arrow.effect.mundane": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.thick": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.awkward": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.night_vision": "Arrow of Night Vision", + "item.minecraft.tipped_arrow.effect.invisibility": "Arrow of Invisibility", + "item.minecraft.tipped_arrow.effect.leaping": "Arrow of Leaping", + "item.minecraft.tipped_arrow.effect.fire_resistance": "Arrow of Fire Resistance", + "item.minecraft.tipped_arrow.effect.swiftness": "Arrow of Swiftness", + "item.minecraft.tipped_arrow.effect.slowness": "Arrow of Slowness", + "item.minecraft.tipped_arrow.effect.water_breathing": "Arrow of Water Breathing", + "item.minecraft.tipped_arrow.effect.healing": "Arrow of Healing", + "item.minecraft.tipped_arrow.effect.harming": "Arrow of Harming", + "item.minecraft.tipped_arrow.effect.poison": "Arrow of Poison", + "item.minecraft.tipped_arrow.effect.regeneration": "Arrow of Regeneration", + "item.minecraft.tipped_arrow.effect.strength": "Arrow of Strength", + "item.minecraft.tipped_arrow.effect.weakness": "Arrow of Weakness", + "item.minecraft.tipped_arrow.effect.levitation": "Arrow of Levitation", + "item.minecraft.tipped_arrow.effect.luck": "Arrow of Luck", + "item.minecraft.tipped_arrow.effect.turtle_master": "Arrow of the Turtle Master", + "item.minecraft.tipped_arrow.effect.slow_falling": "Arrow of Slow Falling", + "potion.whenDrank": "When Applied:", + "item.minecraft.potion.effect.empty": "Uncraftable Potion", + "item.minecraft.potion.effect.water": "Water Bottle", + "item.minecraft.potion.effect.mundane": "Mundane Potion", + "item.minecraft.potion.effect.thick": "Thick Potion", + "item.minecraft.potion.effect.awkward": "Awkward Potion", + "item.minecraft.potion.effect.night_vision": "Potion of Night Vision", + "item.minecraft.potion.effect.invisibility": "Potion of Invisibility", + "item.minecraft.potion.effect.leaping": "Potion of Leaping", + "item.minecraft.potion.effect.fire_resistance": "Potion of Fire Resistance", + "item.minecraft.potion.effect.swiftness": "Potion of Swiftness", + "item.minecraft.potion.effect.slowness": "Potion of Slowness", + "item.minecraft.potion.effect.water_breathing": "Potion of Water Breathing", + "item.minecraft.potion.effect.healing": "Potion of Healing", + "item.minecraft.potion.effect.harming": "Potion of Harming", + "item.minecraft.potion.effect.poison": "Potion of Poison", + "item.minecraft.potion.effect.regeneration": "Potion of Regeneration", + "item.minecraft.potion.effect.strength": "Potion of Strength", + "item.minecraft.potion.effect.weakness": "Potion of Weakness", + "item.minecraft.potion.effect.levitation": "Potion of Levitation", + "item.minecraft.potion.effect.luck": "Potion of Luck", + "item.minecraft.potion.effect.turtle_master": "Potion of the Turtle Master", + "item.minecraft.potion.effect.slow_falling": "Potion of Slow Falling", + "item.minecraft.splash_potion.effect.empty": "Splash Uncraftable Potion", + "item.minecraft.splash_potion.effect.water": "Splash Water Bottle", + "item.minecraft.splash_potion.effect.mundane": "Mundane Splash Potion", + "item.minecraft.splash_potion.effect.thick": "Thick Splash Potion", + "item.minecraft.splash_potion.effect.awkward": "Awkward Splash Potion", + "item.minecraft.splash_potion.effect.night_vision": "Splash Potion of Night Vision", + "item.minecraft.splash_potion.effect.invisibility": "Splash Potion of Invisibility", + "item.minecraft.splash_potion.effect.leaping": "Splash Potion of Leaping", + "item.minecraft.splash_potion.effect.fire_resistance": "Splash Potion of Fire Resistance", + "item.minecraft.splash_potion.effect.swiftness": "Splash Potion of Swiftness", + "item.minecraft.splash_potion.effect.slowness": "Splash Potion of Slowness", + "item.minecraft.splash_potion.effect.water_breathing": "Splash Potion of Water Breathing", + "item.minecraft.splash_potion.effect.healing": "Splash Potion of Healing", + "item.minecraft.splash_potion.effect.harming": "Splash Potion of Harming", + "item.minecraft.splash_potion.effect.poison": "Splash Potion of Poison", + "item.minecraft.splash_potion.effect.regeneration": "Splash Potion of Regeneration", + "item.minecraft.splash_potion.effect.strength": "Splash Potion of Strength", + "item.minecraft.splash_potion.effect.weakness": "Splash Potion of Weakness", + "item.minecraft.splash_potion.effect.levitation": "Splash Potion of Levitation", + "item.minecraft.splash_potion.effect.luck": "Splash Potion of Luck", + "item.minecraft.splash_potion.effect.turtle_master": "Splash Potion of the Turtle Master", + "item.minecraft.splash_potion.effect.slow_falling": "Splash Potion of Slow Falling", + "item.minecraft.lingering_potion.effect.empty": "Lingering Uncraftable Potion", + "item.minecraft.lingering_potion.effect.water": "Lingering Water Bottle", + "item.minecraft.lingering_potion.effect.mundane": "Mundane Lingering Potion", + "item.minecraft.lingering_potion.effect.thick": "Thick Lingering Potion", + "item.minecraft.lingering_potion.effect.awkward": "Awkward Lingering Potion", + "item.minecraft.lingering_potion.effect.night_vision": "Lingering Potion of Night Vision", + "item.minecraft.lingering_potion.effect.invisibility": "Lingering Potion of Invisibility", + "item.minecraft.lingering_potion.effect.leaping": "Lingering Potion of Leaping", + "item.minecraft.lingering_potion.effect.fire_resistance": "Lingering Potion of Fire Resistance", + "item.minecraft.lingering_potion.effect.swiftness": "Lingering Potion of Swiftness", + "item.minecraft.lingering_potion.effect.slowness": "Lingering Potion of Slowness", + "item.minecraft.lingering_potion.effect.water_breathing": "Lingering Potion of Water Breathing", + "item.minecraft.lingering_potion.effect.healing": "Lingering Potion of Healing", + "item.minecraft.lingering_potion.effect.harming": "Lingering Potion of Harming", + "item.minecraft.lingering_potion.effect.poison": "Lingering Potion of Poison", + "item.minecraft.lingering_potion.effect.regeneration": "Lingering Potion of Regeneration", + "item.minecraft.lingering_potion.effect.strength": "Lingering Potion of Strength", + "item.minecraft.lingering_potion.effect.weakness": "Lingering Potion of Weakness", + "item.minecraft.lingering_potion.effect.levitation": "Lingering Potion of Levitation", + "item.minecraft.lingering_potion.effect.luck": "Lingering Potion of Luck", + "item.minecraft.lingering_potion.effect.turtle_master": "Lingering Potion of the Turtle Master", + "item.minecraft.lingering_potion.effect.slow_falling": "Lingering Potion of Slow Falling", + "potion.potency.0": "", + "potion.potency.1": "II", + "potion.potency.2": "III", + "potion.potency.3": "IV", + "potion.potency.4": "V", + "potion.potency.5": "VI", + "enchantment.minecraft.sharpness": "Sharpness", + "enchantment.minecraft.smite": "Smite", + "enchantment.minecraft.bane_of_arthropods": "Bane of Arthropods", + "enchantment.minecraft.knockback": "Knockback", + "enchantment.minecraft.fire_aspect": "Fire Aspect", + "enchantment.minecraft.sweeping": "Sweeping Edge", + "enchantment.minecraft.protection": "Protection", + "enchantment.minecraft.fire_protection": "Fire Protection", + "enchantment.minecraft.feather_falling": "Feather Falling", + "enchantment.minecraft.blast_protection": "Blast Protection", + "enchantment.minecraft.projectile_protection": "Projectile Protection", + "enchantment.minecraft.respiration": "Respiration", + "enchantment.minecraft.aqua_affinity": "Aqua Affinity", + "enchantment.minecraft.depth_strider": "Depth Strider", + "enchantment.minecraft.frost_walker": "Frost Walker", + "enchantment.minecraft.efficiency": "Efficiency", + "enchantment.minecraft.silk_touch": "Silk Touch", + "enchantment.minecraft.unbreaking": "Unbreaking", + "enchantment.minecraft.looting": "Looting", + "enchantment.minecraft.fortune": "Fortune", + "enchantment.minecraft.luck_of_the_sea": "Luck of the Sea", + "enchantment.minecraft.lure": "Lure", + "enchantment.minecraft.power": "Power", + "enchantment.minecraft.flame": "Flame", + "enchantment.minecraft.punch": "Punch", + "enchantment.minecraft.infinity": "Infinity", + "enchantment.minecraft.thorns": "Thorns", + "enchantment.minecraft.mending": "Mending", + "enchantment.minecraft.binding_curse": "Curse of Binding", + "enchantment.minecraft.vanishing_curse": "Curse of Vanishing", + "enchantment.minecraft.loyalty": "Loyalty", + "enchantment.minecraft.impaling": "Impaling", + "enchantment.minecraft.riptide": "Riptide", + "enchantment.minecraft.channeling": "Channeling", + "enchantment.minecraft.multishot": "Multishot", + "enchantment.minecraft.quick_charge": "Quick Charge", + "enchantment.minecraft.piercing": "Piercing", + "enchantment.level.1": "I", + "enchantment.level.2": "II", + "enchantment.level.3": "III", + "enchantment.level.4": "IV", + "enchantment.level.5": "V", + "enchantment.level.6": "VI", + "enchantment.level.7": "VII", + "enchantment.level.8": "VIII", + "enchantment.level.9": "IX", + "enchantment.level.10": "X", + "gui.advancements": "Advancements", + "gui.stats": "Statistics", + "advancements.empty": "There doesn't seem to be anything here...", + "advancements.toast.task": "Advancement Made!", + "advancements.toast.challenge": "Challenge Complete!", + "advancements.toast.goal": "Goal Reached!", + "stats.tooltip.type.statistic": "Statistic", + "stat.generalButton": "General", + "stat.blocksButton": "Blocks", + "stat.itemsButton": "Items", + "stat.mobsButton": "Mobs", + "stat_type.minecraft.mined": "Times Mined", + "stat_type.minecraft.crafted": "Times Crafted", + "stat_type.minecraft.used": "Times Used", + "stat_type.minecraft.broken": "Times Broken", + "stat_type.minecraft.picked_up": "Picked Up", + "stat_type.minecraft.dropped": "Dropped", + "stat_type.minecraft.killed": "You killed %s %s", + "stat_type.minecraft.killed.none": "You have never killed %s", + "stat_type.minecraft.killed_by": "%s killed you %s time(s)", + "stat_type.minecraft.killed_by.none": "You have never been killed by %s", + "stat.minecraft.animals_bred": "Animals Bred", + "stat.minecraft.aviate_one_cm": "Distance by Elytra", + "stat.minecraft.clean_armor": "Armor Pieces Cleaned", + "stat.minecraft.clean_banner": "Banners Cleaned", + "stat.minecraft.clean_shulker_box": "Shulker Boxes Cleaned", + "stat.minecraft.climb_one_cm": "Distance Climbed", + "stat.minecraft.bell_ring": "Bells Rung", + "stat.minecraft.boat_one_cm": "Distance by Boat", + "stat.minecraft.crouch_one_cm": "Distance Crouched", + "stat.minecraft.damage_dealt": "Damage Dealt", + "stat.minecraft.damage_dealt_absorbed": "Damage Dealt (Absorbed)", + "stat.minecraft.damage_dealt_resisted": "Damage Dealt (Resisted)", + "stat.minecraft.damage_taken": "Damage Taken", + "stat.minecraft.damage_blocked_by_shield": "Damage Blocked by Shield", + "stat.minecraft.damage_absorbed": "Damage Absorbed", + "stat.minecraft.damage_resisted": "Damage Resisted", + "stat.minecraft.deaths": "Number of Deaths", + "stat.minecraft.walk_under_water_one_cm": "Distance Walked under Water", + "stat.minecraft.drop": "Items Dropped", + "stat.minecraft.eat_cake_slice": "Cake Slices Eaten", + "stat.minecraft.enchant_item": "Items Enchanted", + "stat.minecraft.fall_one_cm": "Distance Fallen", + "stat.minecraft.fill_cauldron": "Cauldrons Filled", + "stat.minecraft.fish_caught": "Fish Caught", + "stat.minecraft.fly_one_cm": "Distance Flown", + "stat.minecraft.horse_one_cm": "Distance by Horse", + "stat.minecraft.inspect_dispenser": "Dispensers Searched", + "stat.minecraft.inspect_dropper": "Droppers Searched", + "stat.minecraft.inspect_hopper": "Hoppers Searched", + "stat.minecraft.interact_with_anvil": "Interactions with Anvil", + "stat.minecraft.interact_with_beacon": "Interactions with Beacon", + "stat.minecraft.interact_with_brewingstand": "Interactions with Brewing Stand", + "stat.minecraft.interact_with_campfire": "Interactions with Campfire", + "stat.minecraft.interact_with_cartography_table": "Interactions with Cartography Table", + "stat.minecraft.interact_with_crafting_table": "Interactions with Crafting Table", + "stat.minecraft.interact_with_furnace": "Interactions with Furnace", + "stat.minecraft.interact_with_grindstone": "Interactions with Grindstone", + "stat.minecraft.interact_with_lectern": "Interactions with Lectern", + "stat.minecraft.interact_with_loom": "Interactions with Loom", + "stat.minecraft.interact_with_blast_furnace": "Interactions with Blast Furnace", + "stat.minecraft.interact_with_smoker": "Interactions with Smoker", + "stat.minecraft.interact_with_stonecutter": "Interactions with Stonecutter", + "stat.minecraft.jump": "Jumps", + "stat.minecraft.junk_fished": "Junk Fished", + "stat.minecraft.leave_game": "Games Quit", + "stat.minecraft.minecart_one_cm": "Distance by Minecart", + "stat.minecraft.mob_kills": "Mob Kills", + "stat.minecraft.open_barrel": "Barrels Opened", + "stat.minecraft.open_chest": "Chests Opened", + "stat.minecraft.open_enderchest": "Ender Chests Opened", + "stat.minecraft.open_shulker_box": "Shulker Boxes Opened", + "stat.minecraft.pig_one_cm": "Distance by Pig", + "stat.minecraft.player_kills": "Player Kills", + "stat.minecraft.play_noteblock": "Note Blocks Played", + "stat.minecraft.play_one_minute": "Time Played", + "stat.minecraft.play_record": "Music Discs Played", + "stat.minecraft.pot_flower": "Plants Potted", + "stat.minecraft.raid_trigger": "Raids Triggered", + "stat.minecraft.raid_win": "Raids Won", + "stat.minecraft.ring_bell": "Bells Rung", + "stat.minecraft.sleep_in_bed": "Times Slept in a Bed", + "stat.minecraft.sneak_time": "Sneak Time", + "stat.minecraft.sprint_one_cm": "Distance Sprinted", + "stat.minecraft.walk_on_water_one_cm": "Distance Walked on Water", + "stat.minecraft.swim_one_cm": "Distance Swum", + "stat.minecraft.talked_to_villager": "Talked to Villagers", + "stat.minecraft.time_since_rest": "Since Last Rest", + "stat.minecraft.time_since_death": "Since Last Death", + "stat.minecraft.traded_with_villager": "Traded with Villagers", + "stat.minecraft.treasure_fished": "Treasure Fished", + "stat.minecraft.trigger_trapped_chest": "Trapped Chests Triggered", + "stat.minecraft.tune_noteblock": "Note Blocks Tuned", + "stat.minecraft.use_cauldron": "Water Taken from Cauldron", + "stat.minecraft.walk_one_cm": "Distance Walked", + "recipe.toast.title": "New Recipes Unlocked!", + "recipe.toast.description": "Check your recipe book", + "itemGroup.buildingBlocks": "Building Blocks", + "itemGroup.decorations": "Decoration Blocks", + "itemGroup.redstone": "Redstone", + "itemGroup.transportation": "Transportation", + "itemGroup.misc": "Miscellaneous", + "itemGroup.search": "Search Items", + "itemGroup.food": "Foodstuffs", + "itemGroup.tools": "Tools", + "itemGroup.combat": "Combat", + "itemGroup.brewing": "Brewing", + "itemGroup.materials": "Materials", + "itemGroup.inventory": "Survival Inventory", + "itemGroup.hotbar": "Saved Toolbars", + "inventory.binSlot": "Destroy Item", + "inventory.hotbarSaved": "Item toolbar saved (restore with %1$s+%2$s)", + "inventory.hotbarInfo": "Save toolbar with %1$s+%2$s", + "advMode.setCommand": "Set Console Command for Block", + "advMode.setCommand.success": "Command set: %s", + "advMode.command": "Console Command", + "advMode.nearestPlayer": "Use \"@p\" to target nearest player", + "advMode.randomPlayer": "Use \"@r\" to target random player", + "advMode.allPlayers": "Use \"@a\" to target all players", + "advMode.allEntities": "Use \"@e\" to target all entities", + "advMode.self": "Use \"@s\" to target the executing entity", + "advMode.previousOutput": "Previous Output", + "advMode.mode.sequence": "Chain", + "advMode.mode.auto": "Repeat", + "advMode.mode.redstone": "Impulse", + "advMode.mode.conditional": "Conditional", + "advMode.mode.unconditional": "Unconditional", + "advMode.mode.redstoneTriggered": "Needs Redstone", + "advMode.mode.autoexec.bat": "Always Active", + "advMode.notEnabled": "Command blocks are not enabled on this server", + "advMode.notAllowed": "Must be an opped player in creative mode", + "mount.onboard": "Press %1$s to dismount", + "build.tooHigh": "Height limit for building is %s blocks", + "item.modifiers.mainhand": "When in main hand:", + "item.modifiers.offhand": "When in off hand:", + "item.modifiers.feet": "When on feet:", + "item.modifiers.legs": "When on legs:", + "item.modifiers.chest": "When on body:", + "item.modifiers.head": "When on head:", + "attribute.modifier.plus.0": "+%s %s", + "attribute.modifier.plus.1": "+%s%% %s", + "attribute.modifier.plus.2": "+%s%% %s", + "attribute.modifier.take.0": "-%s %s", + "attribute.modifier.take.1": "-%s%% %s", + "attribute.modifier.take.2": "-%s%% %s", + "attribute.modifier.equals.0": "%s %s", + "attribute.modifier.equals.1": "%s%% %s", + "attribute.modifier.equals.2": "%s%% %s", + "attribute.name.horse.jumpStrength": "Horse Jump Strength", + "attribute.name.zombie.spawnReinforcements": "Zombie Reinforcements", + "attribute.name.generic.maxHealth": "Max Health", + "attribute.name.generic.followRange": "Mob Follow Range", + "attribute.name.generic.knockbackResistance": "Knockback Resistance", + "attribute.name.generic.movementSpeed": "Speed", + "attribute.name.generic.attackDamage": "Attack Damage", + "attribute.name.generic.attackSpeed": "Attack Speed", + "attribute.name.generic.luck": "Luck", + "attribute.name.generic.armor": "Armor", + "attribute.name.generic.armorToughness": "Armor Toughness", + "screenshot.success": "Saved screenshot as %s", + "screenshot.failure": "Couldn't save screenshot: %s", + "block.minecraft.black_banner": "Black Banner", + "block.minecraft.red_banner": "Red Banner", + "block.minecraft.green_banner": "Green Banner", + "block.minecraft.brown_banner": "Brown Banner", + "block.minecraft.blue_banner": "Blue Banner", + "block.minecraft.purple_banner": "Purple Banner", + "block.minecraft.cyan_banner": "Cyan Banner", + "block.minecraft.light_gray_banner": "Light Gray Banner", + "block.minecraft.gray_banner": "Gray Banner", + "block.minecraft.pink_banner": "Pink Banner", + "block.minecraft.lime_banner": "Lime Banner", + "block.minecraft.yellow_banner": "Yellow Banner", + "block.minecraft.light_blue_banner": "Light Blue Banner", + "block.minecraft.magenta_banner": "Magenta Banner", + "block.minecraft.orange_banner": "Orange Banner", + "block.minecraft.white_banner": "White Banner", + "item.minecraft.shield": "Shield", + "item.minecraft.shield.black": "Black Shield", + "item.minecraft.shield.red": "Red Shield", + "item.minecraft.shield.green": "Green Shield", + "item.minecraft.shield.brown": "Brown Shield", + "item.minecraft.shield.blue": "Blue Shield", + "item.minecraft.shield.purple": "Purple Shield", + "item.minecraft.shield.cyan": "Cyan Shield", + "item.minecraft.shield.light_gray": "Light Gray Shield", + "item.minecraft.shield.gray": "Gray Shield", + "item.minecraft.shield.pink": "Pink Shield", + "item.minecraft.shield.lime": "Lime Shield", + "item.minecraft.shield.yellow": "Yellow Shield", + "item.minecraft.shield.light_blue": "Light Blue Shield", + "item.minecraft.shield.magenta": "Magenta Shield", + "item.minecraft.shield.orange": "Orange Shield", + "item.minecraft.shield.white": "White Shield", + "block.minecraft.banner.square_bottom_left.black": "Black Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.red": "Red Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.green": "Green Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.brown": "Brown Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.blue": "Blue Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.purple": "Purple Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.cyan": "Cyan Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.light_gray": "Light Gray Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.gray": "Gray Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.pink": "Pink Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.lime": "Lime Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.yellow": "Yellow Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.light_blue": "Light Blue Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.magenta": "Magenta Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.orange": "Orange Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.white": "White Base Dexter Canton", + "block.minecraft.banner.square_bottom_right.black": "Black Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.red": "Red Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.green": "Green Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.brown": "Brown Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.blue": "Blue Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.purple": "Purple Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.cyan": "Cyan Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.light_gray": "Light Gray Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.gray": "Gray Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.pink": "Pink Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.lime": "Lime Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.yellow": "Yellow Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.light_blue": "Light Blue Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.magenta": "Magenta Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.orange": "Orange Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.white": "White Base Sinister Canton", + "block.minecraft.banner.square_top_left.black": "Black Chief Dexter Canton", + "block.minecraft.banner.square_top_left.red": "Red Chief Dexter Canton", + "block.minecraft.banner.square_top_left.green": "Green Chief Dexter Canton", + "block.minecraft.banner.square_top_left.brown": "Brown Chief Dexter Canton", + "block.minecraft.banner.square_top_left.blue": "Blue Chief Dexter Canton", + "block.minecraft.banner.square_top_left.purple": "Purple Chief Dexter Canton", + "block.minecraft.banner.square_top_left.cyan": "Cyan Chief Dexter Canton", + "block.minecraft.banner.square_top_left.light_gray": "Light Gray Chief Dexter Canton", + "block.minecraft.banner.square_top_left.gray": "Gray Chief Dexter Canton", + "block.minecraft.banner.square_top_left.pink": "Pink Chief Dexter Canton", + "block.minecraft.banner.square_top_left.lime": "Lime Chief Dexter Canton", + "block.minecraft.banner.square_top_left.yellow": "Yellow Chief Dexter Canton", + "block.minecraft.banner.square_top_left.light_blue": "Light Blue Chief Dexter Canton", + "block.minecraft.banner.square_top_left.magenta": "Magenta Chief Dexter Canton", + "block.minecraft.banner.square_top_left.orange": "Orange Chief Dexter Canton", + "block.minecraft.banner.square_top_left.white": "White Chief Dexter Canton", + "block.minecraft.banner.square_top_right.black": "Black Chief Sinister Canton", + "block.minecraft.banner.square_top_right.red": "Red Chief Sinister Canton", + "block.minecraft.banner.square_top_right.green": "Green Chief Sinister Canton", + "block.minecraft.banner.square_top_right.brown": "Brown Chief Sinister Canton", + "block.minecraft.banner.square_top_right.blue": "Blue Chief Sinister Canton", + "block.minecraft.banner.square_top_right.purple": "Purple Chief Sinister Canton", + "block.minecraft.banner.square_top_right.cyan": "Cyan Chief Sinister Canton", + "block.minecraft.banner.square_top_right.light_gray": "Light Gray Chief Sinister Canton", + "block.minecraft.banner.square_top_right.gray": "Gray Chief Sinister Canton", + "block.minecraft.banner.square_top_right.pink": "Pink Chief Sinister Canton", + "block.minecraft.banner.square_top_right.lime": "Lime Chief Sinister Canton", + "block.minecraft.banner.square_top_right.yellow": "Yellow Chief Sinister Canton", + "block.minecraft.banner.square_top_right.light_blue": "Light Blue Chief Sinister Canton", + "block.minecraft.banner.square_top_right.magenta": "Magenta Chief Sinister Canton", + "block.minecraft.banner.square_top_right.orange": "Orange Chief Sinister Canton", + "block.minecraft.banner.square_top_right.white": "White Chief Sinister Canton", + "block.minecraft.banner.stripe_bottom.black": "Black Base", + "block.minecraft.banner.stripe_bottom.red": "Red Base", + "block.minecraft.banner.stripe_bottom.green": "Green Base", + "block.minecraft.banner.stripe_bottom.brown": "Brown Base", + "block.minecraft.banner.stripe_bottom.blue": "Blue Base", + "block.minecraft.banner.stripe_bottom.purple": "Purple Base", + "block.minecraft.banner.stripe_bottom.cyan": "Cyan Base", + "block.minecraft.banner.stripe_bottom.light_gray": "Light Gray Base", + "block.minecraft.banner.stripe_bottom.gray": "Gray Base", + "block.minecraft.banner.stripe_bottom.pink": "Pink Base", + "block.minecraft.banner.stripe_bottom.lime": "Lime Base", + "block.minecraft.banner.stripe_bottom.yellow": "Yellow Base", + "block.minecraft.banner.stripe_bottom.light_blue": "Light Blue Base", + "block.minecraft.banner.stripe_bottom.magenta": "Magenta Base", + "block.minecraft.banner.stripe_bottom.orange": "Orange Base", + "block.minecraft.banner.stripe_bottom.white": "White Base", + "block.minecraft.banner.stripe_top.black": "Black Chief", + "block.minecraft.banner.stripe_top.red": "Red Chief", + "block.minecraft.banner.stripe_top.green": "Green Chief", + "block.minecraft.banner.stripe_top.brown": "Brown Chief", + "block.minecraft.banner.stripe_top.blue": "Blue Chief", + "block.minecraft.banner.stripe_top.purple": "Purple Chief", + "block.minecraft.banner.stripe_top.cyan": "Cyan Chief", + "block.minecraft.banner.stripe_top.light_gray": "Light Gray Chief", + "block.minecraft.banner.stripe_top.gray": "Gray Chief", + "block.minecraft.banner.stripe_top.pink": "Pink Chief", + "block.minecraft.banner.stripe_top.lime": "Lime Chief", + "block.minecraft.banner.stripe_top.yellow": "Yellow Chief", + "block.minecraft.banner.stripe_top.light_blue": "Light Blue Chief", + "block.minecraft.banner.stripe_top.magenta": "Magenta Chief", + "block.minecraft.banner.stripe_top.orange": "Orange Chief", + "block.minecraft.banner.stripe_top.white": "White Chief", + "block.minecraft.banner.stripe_left.black": "Black Pale Dexter", + "block.minecraft.banner.stripe_left.red": "Red Pale Dexter", + "block.minecraft.banner.stripe_left.green": "Green Pale Dexter", + "block.minecraft.banner.stripe_left.brown": "Brown Pale Dexter", + "block.minecraft.banner.stripe_left.blue": "Blue Pale Dexter", + "block.minecraft.banner.stripe_left.purple": "Purple Pale Dexter", + "block.minecraft.banner.stripe_left.cyan": "Cyan Pale Dexter", + "block.minecraft.banner.stripe_left.light_gray": "Light Gray Pale Dexter", + "block.minecraft.banner.stripe_left.gray": "Gray Pale Dexter", + "block.minecraft.banner.stripe_left.pink": "Pink Pale Dexter", + "block.minecraft.banner.stripe_left.lime": "Lime Pale Dexter", + "block.minecraft.banner.stripe_left.yellow": "Yellow Pale Dexter", + "block.minecraft.banner.stripe_left.light_blue": "Light Blue Pale Dexter", + "block.minecraft.banner.stripe_left.magenta": "Magenta Pale Dexter", + "block.minecraft.banner.stripe_left.orange": "Orange Pale Dexter", + "block.minecraft.banner.stripe_left.white": "White Pale Dexter", + "block.minecraft.banner.stripe_right.black": "Black Pale Sinister", + "block.minecraft.banner.stripe_right.red": "Red Pale Sinister", + "block.minecraft.banner.stripe_right.green": "Green Pale Sinister", + "block.minecraft.banner.stripe_right.brown": "Brown Pale Sinister", + "block.minecraft.banner.stripe_right.blue": "Blue Pale Sinister", + "block.minecraft.banner.stripe_right.purple": "Purple Pale Sinister", + "block.minecraft.banner.stripe_right.cyan": "Cyan Pale Sinister", + "block.minecraft.banner.stripe_right.light_gray": "Light Gray Pale Sinister", + "block.minecraft.banner.stripe_right.gray": "Gray Pale Sinister", + "block.minecraft.banner.stripe_right.pink": "Pink Pale Sinister", + "block.minecraft.banner.stripe_right.lime": "Lime Pale Sinister", + "block.minecraft.banner.stripe_right.yellow": "Yellow Pale Sinister", + "block.minecraft.banner.stripe_right.light_blue": "Light Blue Pale Sinister", + "block.minecraft.banner.stripe_right.magenta": "Magenta Pale Sinister", + "block.minecraft.banner.stripe_right.orange": "Orange Pale Sinister", + "block.minecraft.banner.stripe_right.white": "White Pale Sinister", + "block.minecraft.banner.stripe_center.black": "Black Pale", + "block.minecraft.banner.stripe_center.red": "Red Pale", + "block.minecraft.banner.stripe_center.green": "Green Pale", + "block.minecraft.banner.stripe_center.brown": "Brown Pale", + "block.minecraft.banner.stripe_center.blue": "Blue Pale", + "block.minecraft.banner.stripe_center.purple": "Purple Pale", + "block.minecraft.banner.stripe_center.cyan": "Cyan Pale", + "block.minecraft.banner.stripe_center.light_gray": "Light Gray Pale", + "block.minecraft.banner.stripe_center.gray": "Gray Pale", + "block.minecraft.banner.stripe_center.pink": "Pink Pale", + "block.minecraft.banner.stripe_center.lime": "Lime Pale", + "block.minecraft.banner.stripe_center.yellow": "Yellow Pale", + "block.minecraft.banner.stripe_center.light_blue": "Light Blue Pale", + "block.minecraft.banner.stripe_center.magenta": "Magenta Pale", + "block.minecraft.banner.stripe_center.orange": "Orange Pale", + "block.minecraft.banner.stripe_center.white": "White Pale", + "block.minecraft.banner.stripe_middle.black": "Black Fess", + "block.minecraft.banner.stripe_middle.red": "Red Fess", + "block.minecraft.banner.stripe_middle.green": "Green Fess", + "block.minecraft.banner.stripe_middle.brown": "Brown Fess", + "block.minecraft.banner.stripe_middle.blue": "Blue Fess", + "block.minecraft.banner.stripe_middle.purple": "Purple Fess", + "block.minecraft.banner.stripe_middle.cyan": "Cyan Fess", + "block.minecraft.banner.stripe_middle.light_gray": "Light Gray Fess", + "block.minecraft.banner.stripe_middle.gray": "Gray Fess", + "block.minecraft.banner.stripe_middle.pink": "Pink Fess", + "block.minecraft.banner.stripe_middle.lime": "Lime Fess", + "block.minecraft.banner.stripe_middle.yellow": "Yellow Fess", + "block.minecraft.banner.stripe_middle.light_blue": "Light Blue Fess", + "block.minecraft.banner.stripe_middle.magenta": "Magenta Fess", + "block.minecraft.banner.stripe_middle.orange": "Orange Fess", + "block.minecraft.banner.stripe_middle.white": "White Fess", + "block.minecraft.banner.stripe_downright.black": "Black Bend", + "block.minecraft.banner.stripe_downright.red": "Red Bend", + "block.minecraft.banner.stripe_downright.green": "Green Bend", + "block.minecraft.banner.stripe_downright.brown": "Brown Bend", + "block.minecraft.banner.stripe_downright.blue": "Blue Bend", + "block.minecraft.banner.stripe_downright.purple": "Purple Bend", + "block.minecraft.banner.stripe_downright.cyan": "Cyan Bend", + "block.minecraft.banner.stripe_downright.light_gray": "Light Gray Bend", + "block.minecraft.banner.stripe_downright.gray": "Gray Bend", + "block.minecraft.banner.stripe_downright.pink": "Pink Bend", + "block.minecraft.banner.stripe_downright.lime": "Lime Bend", + "block.minecraft.banner.stripe_downright.yellow": "Yellow Bend", + "block.minecraft.banner.stripe_downright.light_blue": "Light Blue Bend", + "block.minecraft.banner.stripe_downright.magenta": "Magenta Bend", + "block.minecraft.banner.stripe_downright.orange": "Orange Bend", + "block.minecraft.banner.stripe_downright.white": "White Bend", + "block.minecraft.banner.stripe_downleft.black": "Black Bend Sinister", + "block.minecraft.banner.stripe_downleft.red": "Red Bend Sinister", + "block.minecraft.banner.stripe_downleft.green": "Green Bend Sinister", + "block.minecraft.banner.stripe_downleft.brown": "Brown Bend Sinister", + "block.minecraft.banner.stripe_downleft.blue": "Blue Bend Sinister", + "block.minecraft.banner.stripe_downleft.purple": "Purple Bend Sinister", + "block.minecraft.banner.stripe_downleft.cyan": "Cyan Bend Sinister", + "block.minecraft.banner.stripe_downleft.light_gray": "Light Gray Bend Sinister", + "block.minecraft.banner.stripe_downleft.gray": "Gray Bend Sinister", + "block.minecraft.banner.stripe_downleft.pink": "Pink Bend Sinister", + "block.minecraft.banner.stripe_downleft.lime": "Lime Bend Sinister", + "block.minecraft.banner.stripe_downleft.yellow": "Yellow Bend Sinister", + "block.minecraft.banner.stripe_downleft.light_blue": "Light Blue Bend Sinister", + "block.minecraft.banner.stripe_downleft.magenta": "Magenta Bend Sinister", + "block.minecraft.banner.stripe_downleft.orange": "Orange Bend Sinister", + "block.minecraft.banner.stripe_downleft.white": "White Bend Sinister", + "block.minecraft.banner.small_stripes.black": "Black Paly", + "block.minecraft.banner.small_stripes.red": "Red Paly", + "block.minecraft.banner.small_stripes.green": "Green Paly", + "block.minecraft.banner.small_stripes.brown": "Brown Paly", + "block.minecraft.banner.small_stripes.blue": "Blue Paly", + "block.minecraft.banner.small_stripes.purple": "Purple Paly", + "block.minecraft.banner.small_stripes.cyan": "Cyan Paly", + "block.minecraft.banner.small_stripes.light_gray": "Light Gray Paly", + "block.minecraft.banner.small_stripes.gray": "Gray Paly", + "block.minecraft.banner.small_stripes.pink": "Pink Paly", + "block.minecraft.banner.small_stripes.lime": "Lime Paly", + "block.minecraft.banner.small_stripes.yellow": "Yellow Paly", + "block.minecraft.banner.small_stripes.light_blue": "Light Blue Paly", + "block.minecraft.banner.small_stripes.magenta": "Magenta Paly", + "block.minecraft.banner.small_stripes.orange": "Orange Paly", + "block.minecraft.banner.small_stripes.white": "White Paly", + "block.minecraft.banner.cross.black": "Black Saltire", + "block.minecraft.banner.cross.red": "Red Saltire", + "block.minecraft.banner.cross.green": "Green Saltire", + "block.minecraft.banner.cross.brown": "Brown Saltire", + "block.minecraft.banner.cross.blue": "Blue Saltire", + "block.minecraft.banner.cross.purple": "Purple Saltire", + "block.minecraft.banner.cross.cyan": "Cyan Saltire", + "block.minecraft.banner.cross.light_gray": "Light Gray Saltire", + "block.minecraft.banner.cross.gray": "Gray Saltire", + "block.minecraft.banner.cross.pink": "Pink Saltire", + "block.minecraft.banner.cross.lime": "Lime Saltire", + "block.minecraft.banner.cross.yellow": "Yellow Saltire", + "block.minecraft.banner.cross.light_blue": "Light Blue Saltire", + "block.minecraft.banner.cross.magenta": "Magenta Saltire", + "block.minecraft.banner.cross.orange": "Orange Saltire", + "block.minecraft.banner.cross.white": "White Saltire", + "block.minecraft.banner.triangle_bottom.black": "Black Chevron", + "block.minecraft.banner.triangle_bottom.red": "Red Chevron", + "block.minecraft.banner.triangle_bottom.green": "Green Chevron", + "block.minecraft.banner.triangle_bottom.brown": "Brown Chevron", + "block.minecraft.banner.triangle_bottom.blue": "Blue Chevron", + "block.minecraft.banner.triangle_bottom.purple": "Purple Chevron", + "block.minecraft.banner.triangle_bottom.cyan": "Cyan Chevron", + "block.minecraft.banner.triangle_bottom.light_gray": "Light Gray Chevron", + "block.minecraft.banner.triangle_bottom.gray": "Gray Chevron", + "block.minecraft.banner.triangle_bottom.pink": "Pink Chevron", + "block.minecraft.banner.triangle_bottom.lime": "Lime Chevron", + "block.minecraft.banner.triangle_bottom.yellow": "Yellow Chevron", + "block.minecraft.banner.triangle_bottom.light_blue": "Light Blue Chevron", + "block.minecraft.banner.triangle_bottom.magenta": "Magenta Chevron", + "block.minecraft.banner.triangle_bottom.orange": "Orange Chevron", + "block.minecraft.banner.triangle_bottom.white": "White Chevron", + "block.minecraft.banner.triangle_top.black": "Black Inverted Chevron", + "block.minecraft.banner.triangle_top.red": "Red Inverted Chevron", + "block.minecraft.banner.triangle_top.green": "Green Inverted Chevron", + "block.minecraft.banner.triangle_top.brown": "Brown Inverted Chevron", + "block.minecraft.banner.triangle_top.blue": "Blue Inverted Chevron", + "block.minecraft.banner.triangle_top.purple": "Purple Inverted Chevron", + "block.minecraft.banner.triangle_top.cyan": "Cyan Inverted Chevron", + "block.minecraft.banner.triangle_top.light_gray": "Light Gray Inverted Chevron", + "block.minecraft.banner.triangle_top.gray": "Gray Inverted Chevron", + "block.minecraft.banner.triangle_top.pink": "Pink Inverted Chevron", + "block.minecraft.banner.triangle_top.lime": "Lime Inverted Chevron", + "block.minecraft.banner.triangle_top.yellow": "Yellow Inverted Chevron", + "block.minecraft.banner.triangle_top.light_blue": "Light Blue Inverted Chevron", + "block.minecraft.banner.triangle_top.magenta": "Magenta Inverted Chevron", + "block.minecraft.banner.triangle_top.orange": "Orange Inverted Chevron", + "block.minecraft.banner.triangle_top.white": "White Inverted Chevron", + "block.minecraft.banner.triangles_bottom.black": "Black Base Indented", + "block.minecraft.banner.triangles_bottom.red": "Red Base Indented", + "block.minecraft.banner.triangles_bottom.green": "Green Base Indented", + "block.minecraft.banner.triangles_bottom.brown": "Brown Base Indented", + "block.minecraft.banner.triangles_bottom.blue": "Blue Base Indented", + "block.minecraft.banner.triangles_bottom.purple": "Purple Base Indented", + "block.minecraft.banner.triangles_bottom.cyan": "Cyan Base Indented", + "block.minecraft.banner.triangles_bottom.light_gray": "Light Gray Base Indented", + "block.minecraft.banner.triangles_bottom.gray": "Gray Base Indented", + "block.minecraft.banner.triangles_bottom.pink": "Pink Base Indented", + "block.minecraft.banner.triangles_bottom.lime": "Lime Base Indented", + "block.minecraft.banner.triangles_bottom.yellow": "Yellow Base Indented", + "block.minecraft.banner.triangles_bottom.light_blue": "Light Blue Base Indented", + "block.minecraft.banner.triangles_bottom.magenta": "Magenta Base Indented", + "block.minecraft.banner.triangles_bottom.orange": "Orange Base Indented", + "block.minecraft.banner.triangles_bottom.white": "White Base Indented", + "block.minecraft.banner.triangles_top.black": "Black Chief Indented", + "block.minecraft.banner.triangles_top.red": "Red Chief Indented", + "block.minecraft.banner.triangles_top.green": "Green Chief Indented", + "block.minecraft.banner.triangles_top.brown": "Brown Chief Indented", + "block.minecraft.banner.triangles_top.blue": "Blue Chief Indented", + "block.minecraft.banner.triangles_top.purple": "Purple Chief Indented", + "block.minecraft.banner.triangles_top.cyan": "Cyan Chief Indented", + "block.minecraft.banner.triangles_top.light_gray": "Light Gray Chief Indented", + "block.minecraft.banner.triangles_top.gray": "Gray Chief Indented", + "block.minecraft.banner.triangles_top.pink": "Pink Chief Indented", + "block.minecraft.banner.triangles_top.lime": "Lime Chief Indented", + "block.minecraft.banner.triangles_top.yellow": "Yellow Chief Indented", + "block.minecraft.banner.triangles_top.light_blue": "Light Blue Chief Indented", + "block.minecraft.banner.triangles_top.magenta": "Magenta Chief Indented", + "block.minecraft.banner.triangles_top.orange": "Orange Chief Indented", + "block.minecraft.banner.triangles_top.white": "White Chief Indented", + "block.minecraft.banner.diagonal_left.black": "Black Per Bend Sinister", + "block.minecraft.banner.diagonal_left.red": "Red Per Bend Sinister", + "block.minecraft.banner.diagonal_left.green": "Green Per Bend Sinister", + "block.minecraft.banner.diagonal_left.brown": "Brown Per Bend Sinister", + "block.minecraft.banner.diagonal_left.blue": "Blue Per Bend Sinister", + "block.minecraft.banner.diagonal_left.purple": "Purple Per Bend Sinister", + "block.minecraft.banner.diagonal_left.cyan": "Cyan Per Bend Sinister", + "block.minecraft.banner.diagonal_left.light_gray": "Light Gray Per Bend Sinister", + "block.minecraft.banner.diagonal_left.gray": "Gray Per Bend Sinister", + "block.minecraft.banner.diagonal_left.pink": "Pink Per Bend Sinister", + "block.minecraft.banner.diagonal_left.lime": "Lime Per Bend Sinister", + "block.minecraft.banner.diagonal_left.yellow": "Yellow Per Bend Sinister", + "block.minecraft.banner.diagonal_left.light_blue": "Light Blue Per Bend Sinister", + "block.minecraft.banner.diagonal_left.magenta": "Magenta Per Bend Sinister", + "block.minecraft.banner.diagonal_left.orange": "Orange Per Bend Sinister", + "block.minecraft.banner.diagonal_left.white": "White Per Bend Sinister", + "block.minecraft.banner.diagonal_right.black": "Black Per Bend", + "block.minecraft.banner.diagonal_right.red": "Red Per Bend", + "block.minecraft.banner.diagonal_right.green": "Green Per Bend", + "block.minecraft.banner.diagonal_right.brown": "Brown Per Bend", + "block.minecraft.banner.diagonal_right.blue": "Blue Per Bend", + "block.minecraft.banner.diagonal_right.purple": "Purple Per Bend", + "block.minecraft.banner.diagonal_right.cyan": "Cyan Per Bend", + "block.minecraft.banner.diagonal_right.light_gray": "Light Gray Per Bend", + "block.minecraft.banner.diagonal_right.gray": "Gray Per Bend", + "block.minecraft.banner.diagonal_right.pink": "Pink Per Bend", + "block.minecraft.banner.diagonal_right.lime": "Lime Per Bend", + "block.minecraft.banner.diagonal_right.yellow": "Yellow Per Bend", + "block.minecraft.banner.diagonal_right.light_blue": "Light Blue Per Bend", + "block.minecraft.banner.diagonal_right.magenta": "Magenta Per Bend", + "block.minecraft.banner.diagonal_right.orange": "Orange Per Bend", + "block.minecraft.banner.diagonal_right.white": "White Per Bend", + "block.minecraft.banner.diagonal_up_left.black": "Black Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.red": "Red Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.green": "Green Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.brown": "Brown Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.blue": "Blue Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.purple": "Purple Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.cyan": "Cyan Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.light_gray": "Light Gray Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.gray": "Gray Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.pink": "Pink Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.lime": "Lime Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.yellow": "Yellow Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.light_blue": "Light Blue Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.magenta": "Magenta Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.orange": "Orange Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.white": "White Per Bend Inverted", + "block.minecraft.banner.diagonal_up_right.black": "Black Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.red": "Red Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.green": "Green Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.brown": "Brown Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.blue": "Blue Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.purple": "Purple Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.cyan": "Cyan Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.light_gray": "Light Gray Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.gray": "Gray Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.pink": "Pink Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.lime": "Lime Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.yellow": "Yellow Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.light_blue": "Light Blue Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.magenta": "Magenta Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.orange": "Orange Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.white": "White Per Bend Sinister Inverted", + "block.minecraft.banner.circle.black": "Black Roundel", + "block.minecraft.banner.circle.red": "Red Roundel", + "block.minecraft.banner.circle.green": "Green Roundel", + "block.minecraft.banner.circle.brown": "Brown Roundel", + "block.minecraft.banner.circle.blue": "Blue Roundel", + "block.minecraft.banner.circle.purple": "Purple Roundel", + "block.minecraft.banner.circle.cyan": "Cyan Roundel", + "block.minecraft.banner.circle.light_gray": "Light Gray Roundel", + "block.minecraft.banner.circle.gray": "Gray Roundel", + "block.minecraft.banner.circle.pink": "Pink Roundel", + "block.minecraft.banner.circle.lime": "Lime Roundel", + "block.minecraft.banner.circle.yellow": "Yellow Roundel", + "block.minecraft.banner.circle.light_blue": "Light Blue Roundel", + "block.minecraft.banner.circle.magenta": "Magenta Roundel", + "block.minecraft.banner.circle.orange": "Orange Roundel", + "block.minecraft.banner.circle.white": "White Roundel", + "block.minecraft.banner.rhombus.black": "Black Lozenge", + "block.minecraft.banner.rhombus.red": "Red Lozenge", + "block.minecraft.banner.rhombus.green": "Green Lozenge", + "block.minecraft.banner.rhombus.brown": "Brown Lozenge", + "block.minecraft.banner.rhombus.blue": "Blue Lozenge", + "block.minecraft.banner.rhombus.purple": "Purple Lozenge", + "block.minecraft.banner.rhombus.cyan": "Cyan Lozenge", + "block.minecraft.banner.rhombus.light_gray": "Light Gray Lozenge", + "block.minecraft.banner.rhombus.gray": "Gray Lozenge", + "block.minecraft.banner.rhombus.pink": "Pink Lozenge", + "block.minecraft.banner.rhombus.lime": "Lime Lozenge", + "block.minecraft.banner.rhombus.yellow": "Yellow Lozenge", + "block.minecraft.banner.rhombus.light_blue": "Light Blue Lozenge", + "block.minecraft.banner.rhombus.magenta": "Magenta Lozenge", + "block.minecraft.banner.rhombus.orange": "Orange Lozenge", + "block.minecraft.banner.rhombus.white": "White Lozenge", + "block.minecraft.banner.half_vertical.black": "Black Per Pale", + "block.minecraft.banner.half_vertical.red": "Red Per Pale", + "block.minecraft.banner.half_vertical.green": "Green Per Pale", + "block.minecraft.banner.half_vertical.brown": "Brown Per Pale", + "block.minecraft.banner.half_vertical.blue": "Blue Per Pale", + "block.minecraft.banner.half_vertical.purple": "Purple Per Pale", + "block.minecraft.banner.half_vertical.cyan": "Cyan Per Pale", + "block.minecraft.banner.half_vertical.light_gray": "Light Gray Per Pale", + "block.minecraft.banner.half_vertical.gray": "Gray Per Pale", + "block.minecraft.banner.half_vertical.pink": "Pink Per Pale", + "block.minecraft.banner.half_vertical.lime": "Lime Per Pale", + "block.minecraft.banner.half_vertical.yellow": "Yellow Per Pale", + "block.minecraft.banner.half_vertical.light_blue": "Light Blue Per Pale", + "block.minecraft.banner.half_vertical.magenta": "Magenta Per Pale", + "block.minecraft.banner.half_vertical.orange": "Orange Per Pale", + "block.minecraft.banner.half_vertical.white": "White Per Pale", + "block.minecraft.banner.half_horizontal.black": "Black Per Fess", + "block.minecraft.banner.half_horizontal.red": "Red Per Fess", + "block.minecraft.banner.half_horizontal.green": "Green Per Fess", + "block.minecraft.banner.half_horizontal.brown": "Brown Per Fess", + "block.minecraft.banner.half_horizontal.blue": "Blue Per Fess", + "block.minecraft.banner.half_horizontal.purple": "Purple Per Fess", + "block.minecraft.banner.half_horizontal.cyan": "Cyan Per Fess", + "block.minecraft.banner.half_horizontal.light_gray": "Light Gray Per Fess", + "block.minecraft.banner.half_horizontal.gray": "Gray Per Fess", + "block.minecraft.banner.half_horizontal.pink": "Pink Per Fess", + "block.minecraft.banner.half_horizontal.lime": "Lime Per Fess", + "block.minecraft.banner.half_horizontal.yellow": "Yellow Per Fess", + "block.minecraft.banner.half_horizontal.light_blue": "Light Blue Per Fess", + "block.minecraft.banner.half_horizontal.magenta": "Magenta Per Fess", + "block.minecraft.banner.half_horizontal.orange": "Orange Per Fess", + "block.minecraft.banner.half_horizontal.white": "White Per Fess", + "block.minecraft.banner.half_vertical_right.black": "Black Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.red": "Red Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.green": "Green Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.brown": "Brown Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.blue": "Blue Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.purple": "Purple Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.cyan": "Cyan Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.light_gray": "Light Gray Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.gray": "Gray Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.pink": "Pink Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.lime": "Lime Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.yellow": "Yellow Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.light_blue": "Light Blue Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.magenta": "Magenta Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.orange": "Orange Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.white": "White Per Pale Inverted", + "block.minecraft.banner.half_horizontal_bottom.black": "Black Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.red": "Red Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.green": "Green Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.brown": "Brown Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.blue": "Blue Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.purple": "Purple Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.cyan": "Cyan Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.light_gray": "Light Gray Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.gray": "Gray Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.pink": "Pink Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.lime": "Lime Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.yellow": "Yellow Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.light_blue": "Light Blue Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.magenta": "Magenta Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.orange": "Orange Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.white": "White Per Fess Inverted", + "block.minecraft.banner.creeper.black": "Black Creeper Charge", + "block.minecraft.banner.creeper.red": "Red Creeper Charge", + "block.minecraft.banner.creeper.green": "Green Creeper Charge", + "block.minecraft.banner.creeper.brown": "Brown Creeper Charge", + "block.minecraft.banner.creeper.blue": "Blue Creeper Charge", + "block.minecraft.banner.creeper.purple": "Purple Creeper Charge", + "block.minecraft.banner.creeper.cyan": "Cyan Creeper Charge", + "block.minecraft.banner.creeper.light_gray": "Light Gray Creeper Charge", + "block.minecraft.banner.creeper.gray": "Gray Creeper Charge", + "block.minecraft.banner.creeper.pink": "Pink Creeper Charge", + "block.minecraft.banner.creeper.lime": "Lime Creeper Charge", + "block.minecraft.banner.creeper.yellow": "Yellow Creeper Charge", + "block.minecraft.banner.creeper.light_blue": "Light Blue Creeper Charge", + "block.minecraft.banner.creeper.magenta": "Magenta Creeper Charge", + "block.minecraft.banner.creeper.orange": "Orange Creeper Charge", + "block.minecraft.banner.creeper.white": "White Creeper Charge", + "block.minecraft.banner.bricks.black": "Black Field Masoned", + "block.minecraft.banner.bricks.red": "Red Field Masoned", + "block.minecraft.banner.bricks.green": "Green Field Masoned", + "block.minecraft.banner.bricks.brown": "Brown Field Masoned", + "block.minecraft.banner.bricks.blue": "Blue Field Masoned", + "block.minecraft.banner.bricks.purple": "Purple Field Masoned", + "block.minecraft.banner.bricks.cyan": "Cyan Field Masoned", + "block.minecraft.banner.bricks.light_gray": "Light Gray Field Masoned", + "block.minecraft.banner.bricks.gray": "Gray Field Masoned", + "block.minecraft.banner.bricks.pink": "Pink Field Masoned", + "block.minecraft.banner.bricks.lime": "Lime Field Masoned", + "block.minecraft.banner.bricks.yellow": "Yellow Field Masoned", + "block.minecraft.banner.bricks.light_blue": "Light Blue Field Masoned", + "block.minecraft.banner.bricks.magenta": "Magenta Field Masoned", + "block.minecraft.banner.bricks.orange": "Orange Field Masoned", + "block.minecraft.banner.bricks.white": "White Field Masoned", + "block.minecraft.banner.gradient.black": "Black Gradient", + "block.minecraft.banner.gradient.red": "Red Gradient", + "block.minecraft.banner.gradient.green": "Green Gradient", + "block.minecraft.banner.gradient.brown": "Brown Gradient", + "block.minecraft.banner.gradient.blue": "Blue Gradient", + "block.minecraft.banner.gradient.purple": "Purple Gradient", + "block.minecraft.banner.gradient.cyan": "Cyan Gradient", + "block.minecraft.banner.gradient.light_gray": "Light Gray Gradient", + "block.minecraft.banner.gradient.gray": "Gray Gradient", + "block.minecraft.banner.gradient.pink": "Pink Gradient", + "block.minecraft.banner.gradient.lime": "Lime Gradient", + "block.minecraft.banner.gradient.yellow": "Yellow Gradient", + "block.minecraft.banner.gradient.light_blue": "Light Blue Gradient", + "block.minecraft.banner.gradient.magenta": "Magenta Gradient", + "block.minecraft.banner.gradient.orange": "Orange Gradient", + "block.minecraft.banner.gradient.white": "White Gradient", + "block.minecraft.banner.gradient_up.black": "Black Base Gradient", + "block.minecraft.banner.gradient_up.red": "Red Base Gradient", + "block.minecraft.banner.gradient_up.green": "Green Base Gradient", + "block.minecraft.banner.gradient_up.brown": "Brown Base Gradient", + "block.minecraft.banner.gradient_up.blue": "Blue Base Gradient", + "block.minecraft.banner.gradient_up.purple": "Purple Base Gradient", + "block.minecraft.banner.gradient_up.cyan": "Cyan Base Gradient", + "block.minecraft.banner.gradient_up.light_gray": "Light Gray Base Gradient", + "block.minecraft.banner.gradient_up.gray": "Gray Base Gradient", + "block.minecraft.banner.gradient_up.pink": "Pink Base Gradient", + "block.minecraft.banner.gradient_up.lime": "Lime Base Gradient", + "block.minecraft.banner.gradient_up.yellow": "Yellow Base Gradient", + "block.minecraft.banner.gradient_up.light_blue": "Light Blue Base Gradient", + "block.minecraft.banner.gradient_up.magenta": "Magenta Base Gradient", + "block.minecraft.banner.gradient_up.orange": "Orange Base Gradient", + "block.minecraft.banner.gradient_up.white": "White Base Gradient", + "block.minecraft.banner.skull.black": "Black Skull Charge", + "block.minecraft.banner.skull.red": "Red Skull Charge", + "block.minecraft.banner.skull.green": "Green Skull Charge", + "block.minecraft.banner.skull.brown": "Brown Skull Charge", + "block.minecraft.banner.skull.blue": "Blue Skull Charge", + "block.minecraft.banner.skull.purple": "Purple Skull Charge", + "block.minecraft.banner.skull.cyan": "Cyan Skull Charge", + "block.minecraft.banner.skull.light_gray": "Light Gray Skull Charge", + "block.minecraft.banner.skull.gray": "Gray Skull Charge", + "block.minecraft.banner.skull.pink": "Pink Skull Charge", + "block.minecraft.banner.skull.lime": "Lime Skull Charge", + "block.minecraft.banner.skull.yellow": "Yellow Skull Charge", + "block.minecraft.banner.skull.light_blue": "Light Blue Skull Charge", + "block.minecraft.banner.skull.magenta": "Magenta Skull Charge", + "block.minecraft.banner.skull.orange": "Orange Skull Charge", + "block.minecraft.banner.skull.white": "White Skull Charge", + "block.minecraft.banner.flower.black": "Black Flower Charge", + "block.minecraft.banner.flower.red": "Red Flower Charge", + "block.minecraft.banner.flower.green": "Green Flower Charge", + "block.minecraft.banner.flower.brown": "Brown Flower Charge", + "block.minecraft.banner.flower.blue": "Blue Flower Charge", + "block.minecraft.banner.flower.purple": "Purple Flower Charge", + "block.minecraft.banner.flower.cyan": "Cyan Flower Charge", + "block.minecraft.banner.flower.light_gray": "Light Gray Flower Charge", + "block.minecraft.banner.flower.gray": "Gray Flower Charge", + "block.minecraft.banner.flower.pink": "Pink Flower Charge", + "block.minecraft.banner.flower.lime": "Lime Flower Charge", + "block.minecraft.banner.flower.yellow": "Yellow Flower Charge", + "block.minecraft.banner.flower.light_blue": "Light Blue Flower Charge", + "block.minecraft.banner.flower.magenta": "Magenta Flower Charge", + "block.minecraft.banner.flower.orange": "Orange Flower Charge", + "block.minecraft.banner.flower.white": "White Flower Charge", + "block.minecraft.banner.border.black": "Black Bordure", + "block.minecraft.banner.border.red": "Red Bordure", + "block.minecraft.banner.border.green": "Green Bordure", + "block.minecraft.banner.border.brown": "Brown Bordure", + "block.minecraft.banner.border.blue": "Blue Bordure", + "block.minecraft.banner.border.purple": "Purple Bordure", + "block.minecraft.banner.border.cyan": "Cyan Bordure", + "block.minecraft.banner.border.light_gray": "Light Gray Bordure", + "block.minecraft.banner.border.gray": "Gray Bordure", + "block.minecraft.banner.border.pink": "Pink Bordure", + "block.minecraft.banner.border.lime": "Lime Bordure", + "block.minecraft.banner.border.yellow": "Yellow Bordure", + "block.minecraft.banner.border.light_blue": "Light Blue Bordure", + "block.minecraft.banner.border.magenta": "Magenta Bordure", + "block.minecraft.banner.border.orange": "Orange Bordure", + "block.minecraft.banner.border.white": "White Bordure", + "block.minecraft.banner.curly_border.black": "Black Bordure Indented", + "block.minecraft.banner.curly_border.red": "Red Bordure Indented", + "block.minecraft.banner.curly_border.green": "Green Bordure Indented", + "block.minecraft.banner.curly_border.brown": "Brown Bordure Indented", + "block.minecraft.banner.curly_border.blue": "Blue Bordure Indented", + "block.minecraft.banner.curly_border.purple": "Purple Bordure Indented", + "block.minecraft.banner.curly_border.cyan": "Cyan Bordure Indented", + "block.minecraft.banner.curly_border.light_gray": "Light Gray Bordure Indented", + "block.minecraft.banner.curly_border.gray": "Gray Bordure Indented", + "block.minecraft.banner.curly_border.pink": "Pink Bordure Indented", + "block.minecraft.banner.curly_border.lime": "Lime Bordure Indented", + "block.minecraft.banner.curly_border.yellow": "Yellow Bordure Indented", + "block.minecraft.banner.curly_border.light_blue": "Light Blue Bordure Indented", + "block.minecraft.banner.curly_border.magenta": "Magenta Bordure Indented", + "block.minecraft.banner.curly_border.orange": "Orange Bordure Indented", + "block.minecraft.banner.curly_border.white": "White Bordure Indented", + "block.minecraft.banner.mojang.black": "Black Thing", + "block.minecraft.banner.mojang.red": "Red Thing", + "block.minecraft.banner.mojang.green": "Green Thing", + "block.minecraft.banner.mojang.brown": "Brown Thing", + "block.minecraft.banner.mojang.blue": "Blue Thing", + "block.minecraft.banner.mojang.purple": "Purple Thing", + "block.minecraft.banner.mojang.cyan": "Cyan Thing", + "block.minecraft.banner.mojang.light_gray": "Light Gray Thing", + "block.minecraft.banner.mojang.gray": "Gray Thing", + "block.minecraft.banner.mojang.pink": "Pink Thing", + "block.minecraft.banner.mojang.lime": "Lime Thing", + "block.minecraft.banner.mojang.yellow": "Yellow Thing", + "block.minecraft.banner.mojang.light_blue": "Light Blue Thing", + "block.minecraft.banner.mojang.magenta": "Magenta Thing", + "block.minecraft.banner.mojang.orange": "Orange Thing", + "block.minecraft.banner.mojang.white": "White Thing", + "block.minecraft.banner.straight_cross.black": "Black Cross", + "block.minecraft.banner.straight_cross.red": "Red Cross", + "block.minecraft.banner.straight_cross.green": "Green Cross", + "block.minecraft.banner.straight_cross.brown": "Brown Cross", + "block.minecraft.banner.straight_cross.blue": "Blue Cross", + "block.minecraft.banner.straight_cross.purple": "Purple Cross", + "block.minecraft.banner.straight_cross.cyan": "Cyan Cross", + "block.minecraft.banner.straight_cross.light_gray": "Light Gray Cross", + "block.minecraft.banner.straight_cross.gray": "Gray Cross", + "block.minecraft.banner.straight_cross.pink": "Pink Cross", + "block.minecraft.banner.straight_cross.lime": "Lime Cross", + "block.minecraft.banner.straight_cross.yellow": "Yellow Cross", + "block.minecraft.banner.straight_cross.light_blue": "Light Blue Cross", + "block.minecraft.banner.straight_cross.magenta": "Magenta Cross", + "block.minecraft.banner.straight_cross.orange": "Orange Cross", + "block.minecraft.banner.straight_cross.white": "White Cross", + "block.minecraft.banner.globe.black": "Black Globe", + "block.minecraft.banner.globe.red": "Red Globe", + "block.minecraft.banner.globe.green": "Green Globe", + "block.minecraft.banner.globe.brown": "Brown Globe", + "block.minecraft.banner.globe.blue": "Blue Globe", + "block.minecraft.banner.globe.purple": "Purple Globe", + "block.minecraft.banner.globe.cyan": "Cyan Globe", + "block.minecraft.banner.globe.light_gray": "Light Gray Globe", + "block.minecraft.banner.globe.gray": "Gray Globe", + "block.minecraft.banner.globe.pink": "Pink Globe", + "block.minecraft.banner.globe.lime": "Lime Globe", + "block.minecraft.banner.globe.yellow": "Yellow Globe", + "block.minecraft.banner.globe.light_blue": "Light Blue Globe", + "block.minecraft.banner.globe.magenta": "Magenta Globe", + "block.minecraft.banner.globe.orange": "Orange Globe", + "block.minecraft.banner.globe.white": "White Globe", + "subtitles.ambient.cave": "Eerie noise", + "subtitles.block.anvil.destroy": "Anvil destroyed", + "subtitles.block.anvil.land": "Anvil landed", + "subtitles.block.anvil.use": "Anvil used", + "subtitles.block.barrel.close": "Barrel closes", + "subtitles.block.barrel.open": "Barrel opens", + "subtitles.block.beehive.enter": "Bee enters hive", + "subtitles.block.beehive.exit": "Bee leaves hive", + "subtitles.block.beehive.drip": "Honey drips", + "subtitles.block.beehive.work": "Bees work", + "subtitles.block.beehive.shear": "Shears scrape", + "subtitles.block.bell.use": "Bell rings", + "subtitles.block.bell.resonate": "Bell resonates", + "subtitles.block.blastfurnace.fire_crackle": "Blast furnace crackles", + "subtitles.block.brewing_stand.brew": "Brewing Stand bubbles", + "subtitles.block.bubble_column.bubble_pop": "Bubbles pop", + "subtitles.block.bubble_column.upwards_ambient": "Bubbles flow", + "subtitles.block.bubble_column.upwards_inside": "Bubbles woosh", + "subtitles.block.bubble_column.whirlpool_ambient": "Bubbles whirl", + "subtitles.block.bubble_column.whirlpool_inside": "Bubbles zoom", + "subtitles.block.button.click": "Button clicks", + "subtitles.block.campfire.crackle": "Campfire crackles", + "subtitles.block.chest.close": "Chest closes", + "subtitles.block.chest.locked": "Chest locked", + "subtitles.block.chest.open": "Chest opens", + "subtitles.block.chorus_flower.death": "Chorus Flower withers", + "subtitles.block.chorus_flower.grow": "Chorus Flower grows", + "subtitles.block.comparator.click": "Comparator clicks", + "subtitles.block.dispenser.dispense": "Dispensed item", + "subtitles.block.dispenser.fail": "Dispenser failed", + "subtitles.block.door.toggle": "Door creaks", + "subtitles.block.fence_gate.toggle": "Fence Gate creaks", + "subtitles.block.fire.ambient": "Fire crackles", + "subtitles.block.fire.extinguish": "Fire extinguished", + "subtitles.block.furnace.fire_crackle": "Furnace crackles", + "subtitles.block.generic.break": "Block broken", + "subtitles.block.generic.footsteps": "Footsteps", + "subtitles.block.generic.hit": "Block breaking", + "subtitles.block.generic.place": "Block placed", + "subtitles.block.grindstone.use": "Grindstone used", + "subtitles.block.honey_block.slide": "Sliding down a honey block", + "subtitles.block.iron_trapdoor.close": "Trapdoor opens", + "subtitles.block.iron_trapdoor.open": "Trapdoor closes", + "subtitles.block.lava.ambient": "Lava pops", + "subtitles.block.lava.extinguish": "Lava hisses", + "subtitles.block.lever.click": "Lever clicks", + "subtitles.block.note_block.note": "Note Block plays", + "subtitles.block.piston.move": "Piston moves", + "subtitles.block.portal.ambient": "Portal whooshes", + "subtitles.block.pressure_plate.click": "Pressure Plate clicks", + "subtitles.block.redstone_torch.burnout": "Torch fizzes", + "subtitles.block.shulker_box.close": "Shulker closes", + "subtitles.block.shulker_box.open": "Shulker opens", + "subtitles.block.smoker.smoke": "Smoker smokes", + "subtitles.block.trapdoor.toggle": "Trapdoor creaks", + "subtitles.block.tripwire.attach": "Tripwire attaches", + "subtitles.block.tripwire.click": "Tripwire clicks", + "subtitles.block.tripwire.detach": "Tripwire detaches", + "subtitles.block.water.ambient": "Water flows", + "subtitles.enchant.thorns.hit": "Thorns prick", + "subtitles.entity.armor_stand.fall": "Something fell", + "subtitles.entity.arrow.hit": "Arrow hits", + "subtitles.entity.arrow.hit_player": "Player hit", + "subtitles.entity.arrow.shoot": "Arrow fired", + "subtitles.entity.bat.ambient": "Bat screeches", + "subtitles.entity.bat.death": "Bat dies", + "subtitles.entity.bat.hurt": "Bat hurts", + "subtitles.entity.bat.takeoff": "Bat takes off", + "subtitles.entity.bee.ambient": "Bee buzzes", + "subtitles.entity.bee.death": "Bee dies", + "subtitles.entity.bee.hurt": "Bee hurts", + "subtitles.entity.bee.loop": "Bee buzzes", + "subtitles.entity.bee.loop_aggressive": "Bee buzzes angrily", + "subtitles.entity.bee.pollinate": "Bee buzzes happily", + "subtitles.entity.bee.sting": "Bee stings", + "subtitles.entity.blaze.ambient": "Blaze breathes", + "subtitles.entity.blaze.burn": "Blaze crackles", + "subtitles.entity.blaze.death": "Blaze dies", + "subtitles.entity.blaze.hurt": "Blaze hurts", + "subtitles.entity.blaze.shoot": "Blaze shoots", + "subtitles.entity.fishing_bobber.splash": "Fishing Bobber splashes", + "subtitles.entity.fishing_bobber.throw": "Bobber thrown", + "subtitles.entity.cat.ambient": "Cat meows", + "subtitles.entity.cat.death": "Cat dies", + "subtitles.entity.cat.hurt": "Cat hurts", + "subtitles.entity.chicken.ambient": "Chicken clucks", + "subtitles.entity.chicken.death": "Chicken dies", + "subtitles.entity.chicken.egg": "Chicken plops", + "subtitles.entity.chicken.hurt": "Chicken hurts", + "subtitles.entity.parrot.ambient": "Parrot talks", + "subtitles.entity.parrot.death": "Parrot dies", + "subtitles.entity.parrot.eats": "Parrot eats", + "subtitles.entity.parrot.hurts": "Parrot hurts", + "subtitles.entity.parrot.imitate.blaze": "Parrot breathes", + "subtitles.entity.parrot.imitate.creeper": "Parrot hisses", + "subtitles.entity.parrot.imitate.drowned": "Parrot gurgles", + "subtitles.entity.parrot.imitate.elder_guardian": "Parrot flaps", + "subtitles.entity.parrot.imitate.ender_dragon": "Parrot roars", + "subtitles.entity.parrot.imitate.endermite": "Parrot scuttles", + "subtitles.entity.parrot.imitate.evoker": "Parrot murmurs", + "subtitles.entity.parrot.imitate.ghast": "Parrot cries", + "subtitles.entity.parrot.imitate.guardian": "Parrot moans", + "subtitles.entity.parrot.imitate.husk": "Parrot groans", + "subtitles.entity.parrot.imitate.illusioner": "Parrot murmurs", + "subtitles.entity.parrot.imitate.magma_cube": "Parrot squishes", + "subtitles.entity.parrot.imitate.phantom": "Parrot screeches", + "subtitles.entity.parrot.imitate.pillager": "Parrot murmurs", + "subtitles.entity.parrot.imitate.ravager": "Parrot grunts", + "subtitles.entity.parrot.imitate.shulker": "Parrot lurks", + "subtitles.entity.parrot.imitate.silverfish": "Parrot hisses", + "subtitles.entity.parrot.imitate.skeleton": "Parrot rattles", + "subtitles.entity.parrot.imitate.slime": "Parrot squishes", + "subtitles.entity.parrot.imitate.spider": "Parrot hisses", + "subtitles.entity.parrot.imitate.stray": "Parrot rattles", + "subtitles.entity.parrot.imitate.vex": "Parrot vexes", + "subtitles.entity.parrot.imitate.vindicator": "Parrot mutters", + "subtitles.entity.parrot.imitate.witch": "Parrot giggles", + "subtitles.entity.parrot.imitate.wither": "Parrot angers", + "subtitles.entity.parrot.imitate.wither_skeleton": "Parrot rattles", + "subtitles.entity.parrot.imitate.zombie": "Parrot groans", + "subtitles.entity.parrot.imitate.zombie_villager": "Parrot groans", + "subtitles.entity.cod.death": "Cod dies", + "subtitles.entity.cod.flop": "Cod flops", + "subtitles.entity.cod.hurt": "Cod hurts", + "subtitles.entity.cow.ambient": "Cow moos", + "subtitles.entity.cow.death": "Cow dies", + "subtitles.entity.cow.hurt": "Cow hurts", + "subtitles.entity.cow.milk": "Cow gets milked", + "subtitles.entity.creeper.death": "Creeper dies", + "subtitles.entity.creeper.hurt": "Creeper hurts", + "subtitles.entity.creeper.primed": "Creeper hisses", + "subtitles.entity.dolphin.ambient": "Dolphin chirps", + "subtitles.entity.dolphin.ambient_water": "Dolphin whistles", + "subtitles.entity.dolphin.attack": "Dolphin attacks", + "subtitles.entity.dolphin.death": "Dolphin dies", + "subtitles.entity.dolphin.eat": "Dolphin eats", + "subtitles.entity.dolphin.hurt": "Dolphin hurts", + "subtitles.entity.dolphin.jump": "Dolphin jumps", + "subtitles.entity.dolphin.play": "Dolphin plays", + "subtitles.entity.dolphin.splash": "Dolphin splashes", + "subtitles.entity.dolphin.swim": "Dolphin swims", + "subtitles.entity.donkey.ambient": "Donkey hee-haws", + "subtitles.entity.donkey.angry": "Donkey neighs", + "subtitles.entity.donkey.chest": "Donkey Chest equips", + "subtitles.entity.donkey.death": "Donkey dies", + "subtitles.entity.donkey.hurt": "Donkey hurts", + "subtitles.entity.drowned.ambient": "Drowned gurgles", + "subtitles.entity.drowned.death": "Drowned dies", + "subtitles.entity.drowned.hurt": "Drowned hurts", + "subtitles.entity.drowned.shoot": "Drowned throws Trident", + "subtitles.entity.drowned.step": "Drowned steps", + "subtitles.entity.drowned.swim": "Drowned swims", + "subtitles.entity.egg.throw": "Egg flies", + "subtitles.entity.elder_guardian.ambient_land": "Elder Guardian flaps", + "subtitles.entity.elder_guardian.ambient": "Elder Guardian moans", + "subtitles.entity.elder_guardian.curse": "Elder Guardian curses", + "subtitles.entity.elder_guardian.death": "Elder Guardian dies", + "subtitles.entity.elder_guardian.flop": "Elder Guardian flops", + "subtitles.entity.elder_guardian.hurt": "Elder Guardian hurts", + "subtitles.entity.ender_dragon.ambient": "Dragon roars", + "subtitles.entity.ender_dragon.death": "Dragon dies", + "subtitles.entity.ender_dragon.flap": "Dragon flaps", + "subtitles.entity.ender_dragon.growl": "Dragon growls", + "subtitles.entity.ender_dragon.hurt": "Dragon hurts", + "subtitles.entity.ender_dragon.shoot": "Dragon shoots", + "subtitles.entity.ender_eye.launch": "Eye of Ender shoots", + "subtitles.entity.enderman.ambient": "Enderman vwoops", + "subtitles.entity.enderman.death": "Enderman dies", + "subtitles.entity.enderman.hurt": "Enderman hurts", + "subtitles.entity.enderman.stare": "Enderman cries out", + "subtitles.entity.enderman.teleport": "Enderman teleports", + "subtitles.entity.endermite.ambient": "Endermite scuttles", + "subtitles.entity.endermite.death": "Endermite dies", + "subtitles.entity.endermite.hurt": "Endermite hurts", + "subtitles.entity.ender_pearl.throw": "Ender Pearl flies", + "subtitles.entity.evoker_fangs.attack": "Fangs snap", + "subtitles.entity.evoker.ambient": "Evoker murmurs", + "subtitles.entity.evoker.cast_spell": "Evoker casts spell", + "subtitles.entity.evoker.celebrate": "Evoker cheers", + "subtitles.entity.evoker.death": "Evoker dies", + "subtitles.entity.evoker.hurt": "Evoker hurts", + "subtitles.entity.evoker.prepare_attack": "Evoker prepares attack", + "subtitles.entity.evoker.prepare_summon": "Evoker prepares summoning", + "subtitles.entity.evoker.prepare_wololo": "Evoker prepares charming", + "subtitles.entity.experience_orb.pickup": "Experience gained", + "subtitles.entity.firework_rocket.blast": "Firework blasts", + "subtitles.entity.firework_rocket.launch": "Firework launches", + "subtitles.entity.firework_rocket.twinkle": "Firework twinkles", + "subtitles.entity.fox.aggro": "Fox angers", + "subtitles.entity.fox.ambient": "Fox squeaks", + "subtitles.entity.fox.bite": "Fox bites", + "subtitles.entity.fox.death": "Fox dies", + "subtitles.entity.fox.eat": "Fox eats", + "subtitles.entity.fox.hurt": "Fox hurts", + "subtitles.entity.fox.screech": "Fox screeches", + "subtitles.entity.fox.sleep": "Fox snores", + "subtitles.entity.fox.sniff": "Fox sniffs", + "subtitles.entity.fox.spit": "Fox spits", + "subtitles.entity.generic.big_fall": "Something fell", + "subtitles.entity.generic.burn": "Burning", + "subtitles.entity.generic.death": "Dying", + "subtitles.entity.generic.drink": "Sipping", + "subtitles.entity.generic.eat": "Eating", + "subtitles.entity.generic.explode": "Explosion", + "subtitles.entity.generic.extinguish_fire": "Fire extinguishes", + "subtitles.entity.generic.hurt": "Something hurts", + "subtitles.entity.generic.small_fall": "Something trips", + "subtitles.entity.generic.splash": "Splashing", + "subtitles.entity.generic.swim": "Swimming", + "subtitles.entity.ghast.ambient": "Ghast cries", + "subtitles.entity.ghast.death": "Ghast dies", + "subtitles.entity.ghast.hurt": "Ghast hurts", + "subtitles.entity.ghast.shoot": "Ghast shoots", + "subtitles.entity.guardian.ambient_land": "Guardian flaps", + "subtitles.entity.guardian.ambient": "Guardian moans", + "subtitles.entity.guardian.attack": "Guardian shoots", + "subtitles.entity.guardian.death": "Guardian dies", + "subtitles.entity.guardian.flop": "Guardian flops", + "subtitles.entity.guardian.hurt": "Guardian hurts", + "subtitles.entity.horse.ambient": "Horse neighs", + "subtitles.entity.horse.angry": "Horse neighs", + "subtitles.entity.horse.armor": "Horse armor equips", + "subtitles.entity.horse.breathe": "Horse breathes", + "subtitles.entity.horse.death": "Horse dies", + "subtitles.entity.horse.eat": "Horse eats", + "subtitles.entity.horse.gallop": "Horse gallops", + "subtitles.entity.horse.hurt": "Horse hurts", + "subtitles.entity.horse.jump": "Horse jumps", + "subtitles.entity.horse.saddle": "Saddle equips", + "subtitles.entity.husk.ambient": "Husk groans", + "subtitles.entity.husk.converted_to_zombie": "Husk converted to Zombie", + "subtitles.entity.husk.death": "Husk dies", + "subtitles.entity.husk.hurt": "Husk hurts", + "subtitles.entity.illusioner.ambient": "Illusioner murmurs", + "subtitles.entity.illusioner.cast_spell": "Illusioner casts spell", + "subtitles.entity.illusioner.death": "Illusioner dies", + "subtitles.entity.illusioner.hurt": "Illusioner hurts", + "subtitles.entity.illusioner.mirror_move": "Illusioner displaces", + "subtitles.entity.illusioner.prepare_blindness": "Illusioner prepares blindness", + "subtitles.entity.illusioner.prepare_mirror": "Illusioner prepares mirror image", + "subtitles.entity.iron_golem.attack": "Iron Golem attacks", + "subtitles.entity.iron_golem.damage": "Iron Golem breaks", + "subtitles.entity.iron_golem.death": "Iron Golem dies", + "subtitles.entity.iron_golem.hurt": "Iron Golem hurts", + "subtitles.entity.iron_golem.repair": "Iron Golem repaired", + "subtitles.entity.item.break": "Item breaks", + "subtitles.entity.item.pickup": "Item plops", + "subtitles.entity.item_frame.add_item": "Item Frame fills", + "subtitles.entity.item_frame.break": "Item Frame breaks", + "subtitles.entity.item_frame.place": "Item Frame placed", + "subtitles.entity.item_frame.remove_item": "Item Frame empties", + "subtitles.entity.item_frame.rotate_item": "Item Frame clicks", + "subtitles.entity.leash_knot.break": "Leash knot breaks", + "subtitles.entity.leash_knot.place": "Leash knot tied", + "subtitles.entity.lightning_bolt.impact": "Lightning strikes", + "subtitles.entity.lightning_bolt.thunder": "Thunder roars", + "subtitles.entity.llama.ambient": "Llama bleats", + "subtitles.entity.llama.angry": "Llama bleats angrily", + "subtitles.entity.llama.chest": "Llama Chest equips", + "subtitles.entity.llama.death": "Llama dies", + "subtitles.entity.llama.eat": "Llama eats", + "subtitles.entity.llama.hurt": "Llama hurts", + "subtitles.entity.llama.spit": "Llama spits", + "subtitles.entity.llama.step": "Llama steps", + "subtitles.entity.llama.swag": "Llama is decorated", + "subtitles.entity.ravager.step": "Ravager steps", + "subtitles.entity.ravager.stunned": "Ravager stunned", + "subtitles.entity.ravager.roar": "Ravager roars", + "subtitles.entity.ravager.attack": "Ravager bites", + "subtitles.entity.ravager.death": "Ravager dies", + "subtitles.entity.ravager.hurt": "Ravager hurts", + "subtitles.entity.ravager.ambient": "Ravager grunts", + "subtitles.entity.ravager.celebrate": "Ravager cheers", + "subtitles.entity.magma_cube.death": "Magma Cube dies", + "subtitles.entity.magma_cube.hurt": "Magma Cube hurts", + "subtitles.entity.magma_cube.squish": "Magma Cube squishes", + "subtitles.entity.minecart.riding": "Minecart rolls", + "subtitles.entity.mooshroom.convert": "Mooshroom transforms", + "subtitles.entity.mooshroom.eat": "Mooshroom eats", + "subtitles.entity.mooshroom.milk": "Mooshroom gets milked", + "subtitles.entity.mooshroom.suspicious_milk": "Mooshroom gets milked suspiciously", + "subtitles.entity.mule.ambient": "Mule hee-haws", + "subtitles.entity.mule.chest": "Mule Chest equips", + "subtitles.entity.mule.death": "Mule dies", + "subtitles.entity.mule.hurt": "Mule hurts", + "subtitles.entity.panda.ambient": "Panda pants", + "subtitles.entity.panda.pre_sneeze": "Panda's nose tickles", + "subtitles.entity.panda.sneeze": "Panda sneezes", + "subtitles.entity.panda.death": "Panda dies", + "subtitles.entity.panda.eat": "Panda eats", + "subtitles.entity.panda.step": "Panda steps", + "subtitles.entity.panda.cant_breed": "Panda bleats", + "subtitles.entity.panda.aggressive_ambient": "Panda huffs", + "subtitles.entity.panda.worried_ambient": "Panda whimpers", + "subtitles.entity.panda.hurt": "Panda hurts", + "subtitles.entity.panda.bite": "Panda bites", + "subtitles.entity.painting.break": "Painting breaks", + "subtitles.entity.painting.place": "Painting placed", + "subtitles.entity.phantom.ambient": "Phantom screeches", + "subtitles.entity.phantom.bite": "Phantom bites", + "subtitles.entity.phantom.death": "Phantom dies", + "subtitles.entity.phantom.flap": "Phantom flaps", + "subtitles.entity.phantom.hurt": "Phantom hurts", + "subtitles.entity.phantom.swoop": "Phantom swoops", + "subtitles.entity.pig.ambient": "Pig oinks", + "subtitles.entity.pig.death": "Pig dies", + "subtitles.entity.pig.hurt": "Pig hurts", + "subtitles.entity.pig.saddle": "Saddle equips", + "subtitles.entity.pillager.ambient": "Pillager murmurs", + "subtitles.entity.pillager.celebrate": "Pillager cheers", + "subtitles.entity.pillager.death": "Pillager dies", + "subtitles.entity.pillager.hurt": "Pillager hurts", + "subtitles.entity.player.burp": "Burp", + "subtitles.entity.player.death": "Player dies", + "subtitles.entity.player.hurt": "Player hurts", + "subtitles.entity.player.levelup": "Player dings", + "subtitles.entity.polar_bear.ambient": "Polar Bear groans", + "subtitles.entity.polar_bear.ambient_baby": "Polar Bear hums", + "subtitles.entity.polar_bear.death": "Polar Bear dies", + "subtitles.entity.polar_bear.hurt": "Polar Bear hurts", + "subtitles.entity.polar_bear.warning": "Polar Bear roars", + "subtitles.entity.potion.splash": "Bottle smashes", + "subtitles.entity.potion.throw": "Bottle thrown", + "subtitles.entity.puffer_fish.blow_out": "Pufferfish deflates", + "subtitles.entity.puffer_fish.blow_up": "Pufferfish inflates", + "subtitles.entity.puffer_fish.death": "Pufferfish dies", + "subtitles.entity.puffer_fish.flop": "Pufferfish flops", + "subtitles.entity.puffer_fish.hurt": "Pufferfish hurts", + "subtitles.entity.puffer_fish.sting": "Pufferfish stings", + "subtitles.entity.rabbit.ambient": "Rabbit squeaks", + "subtitles.entity.rabbit.attack": "Rabbit attacks", + "subtitles.entity.rabbit.death": "Rabbit dies", + "subtitles.entity.rabbit.hurt": "Rabbit hurts", + "subtitles.entity.rabbit.jump": "Rabbit hops", + "subtitles.entity.salmon.death": "Salmon dies", + "subtitles.entity.salmon.flop": "Salmon flops", + "subtitles.entity.salmon.hurt": "Salmon hurts", + "subtitles.entity.sheep.ambient": "Sheep baahs", + "subtitles.entity.sheep.death": "Sheep dies", + "subtitles.entity.sheep.hurt": "Sheep hurts", + "subtitles.entity.shulker.ambient": "Shulker lurks", + "subtitles.entity.shulker.close": "Shulker closes", + "subtitles.entity.shulker.death": "Shulker dies", + "subtitles.entity.shulker.hurt": "Shulker hurts", + "subtitles.entity.shulker.open": "Shulker opens", + "subtitles.entity.shulker.shoot": "Shulker shoots", + "subtitles.entity.shulker.teleport": "Shulker teleports", + "subtitles.entity.shulker_bullet.hit": "Shulker bullet explodes", + "subtitles.entity.shulker_bullet.hurt": "Shulker bullet breaks", + "subtitles.entity.silverfish.ambient": "Silverfish hisses", + "subtitles.entity.silverfish.death": "Silverfish dies", + "subtitles.entity.silverfish.hurt": "Silverfish hurts", + "subtitles.entity.skeleton.ambient": "Skeleton rattles", + "subtitles.entity.skeleton.death": "Skeleton dies", + "subtitles.entity.skeleton.hurt": "Skeleton hurts", + "subtitles.entity.skeleton.shoot": "Skeleton shoots", + "subtitles.entity.skeleton_horse.ambient": "Skeleton Horse cries", + "subtitles.entity.skeleton_horse.death": "Skeleton Horse dies", + "subtitles.entity.skeleton_horse.hurt": "Skeleton Horse hurts", + "subtitles.entity.skeleton_horse.swim": "Skeleton Horse swims", + "subtitles.entity.slime.attack": "Slime attacks", + "subtitles.entity.slime.death": "Slime dies", + "subtitles.entity.slime.hurt": "Slime hurts", + "subtitles.entity.slime.squish": "Slime squishes", + "subtitles.entity.snowball.throw": "Snowball flies", + "subtitles.entity.snow_golem.death": "Snow Golem dies", + "subtitles.entity.snow_golem.hurt": "Snow Golem hurts", + "subtitles.entity.spider.ambient": "Spider hisses", + "subtitles.entity.spider.death": "Spider dies", + "subtitles.entity.spider.hurt": "Spider hurts", + "subtitles.entity.squid.ambient": "Squid swims", + "subtitles.entity.squid.death": "Squid dies", + "subtitles.entity.squid.hurt": "Squid hurts", + "subtitles.entity.squid.squirt": "Squid shoots ink", + "subtitles.entity.stray.ambient": "Stray rattles", + "subtitles.entity.stray.death": "Stray dies", + "subtitles.entity.stray.hurt": "Stray hurts", + "subtitles.entity.tnt.primed": "TNT fizzes", + "subtitles.entity.turtle.ambient_land": "Turtle chirps", + "subtitles.entity.turtle.lay_egg": "Turtle lays egg", + "subtitles.entity.turtle.egg_hatch": "Turtle egg hatches", + "subtitles.entity.turtle.egg_crack": "Turtle egg cracks", + "subtitles.entity.turtle.egg_break": "Turtle egg breaks", + "subtitles.entity.turtle.hurt": "Turtle hurts", + "subtitles.entity.turtle.hurt_baby": "Turtle baby hurts", + "subtitles.entity.turtle.death": "Turtle dies", + "subtitles.entity.turtle.death_baby": "Turtle baby dies", + "subtitles.entity.turtle.swim": "Turtle swims", + "subtitles.entity.turtle.shamble": "Turtle shambles", + "subtitles.entity.turtle.shamble_baby": "Turtle baby shambles", + "subtitles.entity.vex.ambient": "Vex vexes", + "subtitles.entity.vex.charge": "Vex shrieks", + "subtitles.entity.vex.death": "Vex dies", + "subtitles.entity.vex.hurt": "Vex hurts", + "subtitles.entity.villager.ambient": "Villager mumbles", + "subtitles.entity.villager.celebrate": "Villager cheers", + "subtitles.entity.villager.death": "Villager dies", + "subtitles.entity.villager.hurt": "Villager hurts", + "subtitles.entity.villager.no": "Villager disagrees", + "subtitles.entity.villager.trade": "Villager trades", + "subtitles.entity.villager.yes": "Villager agrees", + "subtitles.entity.villager.work_armorer": "Armorer works", + "subtitles.entity.villager.work_butcher": "Butcher works", + "subtitles.entity.villager.work_cartographer": "Cartographer works", + "subtitles.entity.villager.work_cleric": "Cleric works", + "subtitles.entity.villager.work_farmer": "Farmer works", + "subtitles.entity.villager.work_fisherman": "Fisherman works", + "subtitles.entity.villager.work_fletcher": "Fletcher works", + "subtitles.entity.villager.work_leatherworker": "Leatherworker works", + "subtitles.entity.villager.work_librarian": "Librarian works", + "subtitles.entity.villager.work_mason": "Mason works", + "subtitles.entity.villager.work_shepherd": "Shepherd works", + "subtitles.entity.villager.work_toolsmith": "Toolsmith works", + "subtitles.entity.villager.work_weaponsmith": "Weaponsmith works", + "subtitles.entity.vindicator.ambient": "Vindicator mutters", + "subtitles.entity.vindicator.celebrate": "Vindicator cheers", + "subtitles.entity.vindicator.death": "Vindicator dies", + "subtitles.entity.vindicator.hurt": "Vindicator hurts", + "subtitles.entity.wandering_trader.ambient": "Wandering Trader mumbles", + "subtitles.entity.wandering_trader.death": "Wandering Trader dies", + "subtitles.entity.wandering_trader.hurt": "Wandering Trader hurts", + "subtitles.entity.wandering_trader.no": "Wandering Trader disagrees", + "subtitles.entity.wandering_trader.trade": "Wandering Trader trades", + "subtitles.entity.wandering_trader.yes": "Wandering Trader agrees", + "subtitles.entity.witch.ambient": "Witch giggles", + "subtitles.entity.witch.celebrate": "Witch cheers", + "subtitles.entity.witch.death": "Witch dies", + "subtitles.entity.witch.drink": "Witch drinks", + "subtitles.entity.witch.hurt": "Witch hurts", + "subtitles.entity.witch.throw": "Witch throws", + "subtitles.entity.wither.ambient": "Wither angers", + "subtitles.entity.wither.death": "Wither dies", + "subtitles.entity.wither.hurt": "Wither hurts", + "subtitles.entity.wither.shoot": "Wither attacks", + "subtitles.entity.wither.spawn": "Wither released", + "subtitles.entity.wither_skeleton.ambient": "Wither Skeleton rattles", + "subtitles.entity.wither_skeleton.death": "Wither Skeleton dies", + "subtitles.entity.wither_skeleton.hurt": "Wither Skeleton hurts", + "subtitles.entity.wolf.ambient": "Wolf pants", + "subtitles.entity.wolf.death": "Wolf dies", + "subtitles.entity.wolf.growl": "Wolf growls", + "subtitles.entity.wolf.hurt": "Wolf hurts", + "subtitles.entity.wolf.shake": "Wolf shakes", + "subtitles.entity.zombie.ambient": "Zombie groans", + "subtitles.entity.zombie.converted_to_drowned": "Zombie converted to Drowned", + "subtitles.entity.zombie.death": "Zombie dies", + "subtitles.entity.zombie.hurt": "Zombie hurts", + "subtitles.entity.zombie.infect": "Zombie infects", + "subtitles.entity.zombie_horse.ambient": "Zombie Horse cries", + "subtitles.entity.zombie_horse.death": "Zombie Horse dies", + "subtitles.entity.zombie_horse.hurt": "Zombie Horse hurts", + "subtitles.entity.zombie_pigman.ambient": "Zombie Pigman grunts", + "subtitles.entity.zombie_pigman.angry": "Zombie Pigman angers", + "subtitles.entity.zombie_pigman.death": "Zombie Pigman dies", + "subtitles.entity.zombie_pigman.hurt": "Zombie Pigman hurts", + "subtitles.entity.zombie_villager.ambient": "Zombie Villager groans", + "subtitles.entity.zombie_villager.converted": "Zombie vociferates", + "subtitles.entity.zombie_villager.cure": "Zombie snuffles", + "subtitles.entity.zombie_villager.death": "Zombie Villager dies", + "subtitles.entity.zombie_villager.hurt": "Zombie Villager hurts", + "subtitles.event.raid.horn": "Ominous horn blares", + "subtitles.item.axe.strip": "Debarking log", + "subtitles.item.armor.equip": "Gear equips", + "subtitles.item.armor.equip_chain": "Chain armor jingles", + "subtitles.item.armor.equip_diamond": "Diamond armor clangs", + "subtitles.item.armor.equip_elytra": "Elytra rustle", + "subtitles.item.armor.equip_gold": "Gold armor clinks", + "subtitles.item.armor.equip_iron": "Iron armor clanks", + "subtitles.item.armor.equip_leather": "Leather armor rustles", + "subtitles.item.armor.equip_turtle": "Turtle shell thunks", + "subtitles.item.bottle.fill": "Bottle fills", + "subtitles.item.honey_bottle.drink": "Honey gulping", + "subtitles.item.bucket.empty": "Bucket empties", + "subtitles.item.bucket.fill": "Bucket fills", + "subtitles.item.chorus_fruit.teleport": "Player teleports", + "subtitles.item.crop.plant": "Crop planted", + "subtitles.item.crossbow.charge": "Crossbow charges up", + "subtitles.item.crossbow.hit": "Arrow hits", + "subtitles.item.crossbow.load": "Crossbow loads", + "subtitles.item.crossbow.shoot": "Crossbow fires", + "subtitles.item.firecharge.use": "Fireball whooshes", + "subtitles.item.flintandsteel.use": "Flint and Steel click", + "subtitles.item.hoe.till": "Hoe tills", + "subtitles.item.nether_wart.plant": "Crop planted", + "subtitles.item.shears.shear": "Shears click", + "subtitles.item.shield.block": "Shield blocks", + "subtitles.item.shovel.flatten": "Shovel flattens", + "subtitles.item.berries.pick": "Berries pop", + "subtitles.item.totem.use": "Totem activates", + "subtitles.item.trident.hit": "Trident stabs", + "subtitles.item.trident.hit_ground": "Trident vibrates", + "subtitles.item.trident.return": "Trident returns", + "subtitles.item.trident.riptide": "Trident zooms", + "subtitles.item.trident.throw": "Trident clangs", + "subtitles.item.trident.thunder": "Trident thunder cracks", + "subtitles.weather.rain": "Rain falls", + "subtitles.item.book.page_turn": "Page rustles", + "subtitles.item.book.put": "Book thumps", + "debug.prefix": "[Debug]:", + "debug.reload_chunks.help": "F3 + A = Reload chunks", + "debug.show_hitboxes.help": "F3 + B = Show hitboxes", + "debug.clear_chat.help": "F3 + D = Clear chat", + "debug.cycle_renderdistance.help": "F3 + F = Cycle render distance (Shift to invert)", + "debug.chunk_boundaries.help": "F3 + G = Show chunk boundaries", + "debug.advanced_tooltips.help": "F3 + H = Advanced tooltips", + "debug.creative_spectator.help": "F3 + N = Cycle creative <-> spectator", + "debug.pause_focus.help": "F3 + P = Pause on lost focus", + "debug.help.help": "F3 + Q = Show this list", + "debug.reload_resourcepacks.help": "F3 + T = Reload resource packs", + "debug.pause.help": "F3 + Esc = Pause without pause menu (if pausing is possible)", + "debug.copy_location.help": "F3 + C = Copy location as /tp command, hold F3 + C to crash the game", + "debug.inspect.help": "F3 + I = Copy entity or block data to clipboard", + "debug.copy_location.message": "Copied location to clipboard", + "debug.inspect.server.block": "Copied server-side block data to clipboard", + "debug.inspect.server.entity": "Copied server-side entity data to clipboard", + "debug.inspect.client.block": "Copied client-side block data to clipboard", + "debug.inspect.client.entity": "Copied client-side entity data to clipboard", + "debug.reload_chunks.message": "Reloading all chunks", + "debug.show_hitboxes.on": "Hitboxes: shown", + "debug.show_hitboxes.off": "Hitboxes: hidden", + "debug.cycle_renderdistance.message": "Render Distance: %s", + "debug.chunk_boundaries.on": "Chunk borders: shown", + "debug.chunk_boundaries.off": "Chunk borders: hidden", + "debug.advanced_tooltips.on": "Advanced tooltips: shown", + "debug.advanced_tooltips.off": "Advanced tooltips: hidden", + "debug.creative_spectator.error": "Unable to switch gamemode, no permission", + "debug.pause_focus.on": "Pause on lost focus: enabled", + "debug.pause_focus.off": "Pause on lost focus: disabled", + "debug.help.message": "Key bindings:", + "debug.reload_resourcepacks.message": "Reloaded resource packs", + "debug.crash.message": "F3 + C is held down. This will crash the game unless released.", + "debug.crash.warning": "Crashing in %s...", + "resourcepack.downloading": "Downloading Resource Pack", + "resourcepack.requesting": "Making Request...", + "resourcepack.progress": "Downloading file (%s MB)...", + "tutorial.move.title": "Move with %s, %s, %s and %s", + "tutorial.move.description": "Jump with %s", + "tutorial.look.title": "Look around", + "tutorial.look.description": "Use your mouse to turn", + "tutorial.find_tree.title": "Find a tree", + "tutorial.find_tree.description": "Punch it to collect wood", + "tutorial.punch_tree.title": "Destroy the tree", + "tutorial.punch_tree.description": "Hold down %s", + "tutorial.open_inventory.title": "Open your inventory", + "tutorial.open_inventory.description": "Press %s", + "tutorial.craft_planks.title": "Craft wooden planks", + "tutorial.craft_planks.description": "The recipe book can help", + "advancements.adventure.adventuring_time.title": "Adventuring Time", + "advancements.adventure.adventuring_time.description": "Discover every biome", + "advancements.adventure.arbalistic.title": "Arbalistic", + "advancements.adventure.arbalistic.description": "Kill five unique mobs with one crossbow shot", + "advancements.adventure.hero_of_the_village.title": "Hero of the Village", + "advancements.adventure.hero_of_the_village.description": "Successfully defend a village from a raid", + "advancements.adventure.honey_block_slide.title": "Sticky Situation", + "advancements.adventure.honey_block_slide.description": "Jump into a Honey Block to break your fall", + "advancements.adventure.kill_all_mobs.title": "Monsters Hunted", + "advancements.adventure.kill_all_mobs.description": "Kill one of every hostile monster", + "advancements.adventure.kill_a_mob.title": "Monster Hunter", + "advancements.adventure.kill_a_mob.description": "Kill any hostile monster", + "advancements.adventure.ol_betsy.title": "Ol' Betsy", + "advancements.adventure.ol_betsy.description": "Shoot a crossbow", + "advancements.adventure.root.title": "Adventure", + "advancements.adventure.root.description": "Adventure, exploration and combat", + "advancements.adventure.shoot_arrow.title": "Take Aim", + "advancements.adventure.shoot_arrow.description": "Shoot something with a bow and arrow", + "advancements.adventure.sleep_in_bed.title": "Sweet Dreams", + "advancements.adventure.sleep_in_bed.description": "Change your respawn point", + "advancements.adventure.sniper_duel.title": "Sniper Duel", + "advancements.adventure.sniper_duel.description": "Kill a Skeleton from at least 50 meters away", + "advancements.adventure.summon_iron_golem.title": "Hired Help", + "advancements.adventure.summon_iron_golem.description": "Summon an Iron Golem to help defend a village", + "advancements.adventure.totem_of_undying.title": "Postmortal", + "advancements.adventure.totem_of_undying.description": "Use a Totem of Undying to cheat death", + "advancements.adventure.trade.title": "What a Deal!", + "advancements.adventure.trade.description": "Successfully trade with a Villager", + "advancements.adventure.throw_trident.title": "A Throwaway Joke", + "advancements.adventure.throw_trident.description": "Throw a trident at something.\nNote: Throwing away your only weapon is not a good idea.", + "advancements.adventure.two_birds_one_arrow.title": "Two Birds, One Arrow", + "advancements.adventure.two_birds_one_arrow.description": "Kill two Phantoms with a piercing arrow", + "advancements.adventure.very_very_frightening.title": "Very Very Frightening", + "advancements.adventure.very_very_frightening.description": "Strike a Villager with lightning", + "advancements.adventure.voluntary_exile.title": "Voluntary Exile", + "advancements.adventure.voluntary_exile.description": "Kill a raid captain.\nMaybe consider staying away from villages for the time being...", + "advancements.adventure.whos_the_pillager_now.title": "Who's the Pillager Now?", + "advancements.adventure.whos_the_pillager_now.description": "Give a Pillager a taste of their own medicine", + "advancements.husbandry.root.title": "Husbandry", + "advancements.husbandry.root.description": "The world is full of friends and food", + "advancements.husbandry.breed_an_animal.title": "The Parrots and the Bats", + "advancements.husbandry.breed_an_animal.description": "Breed two animals together", + "advancements.husbandry.fishy_business.title": "Fishy Business", + "advancements.husbandry.fishy_business.description": "Catch a fish", + "advancements.husbandry.tactical_fishing.title": "Tactical Fishing", + "advancements.husbandry.tactical_fishing.description": "Catch a fish... without a fishing rod!", + "advancements.husbandry.breed_all_animals.title": "Two by Two", + "advancements.husbandry.breed_all_animals.description": "Breed all the animals!", + "advancements.husbandry.tame_an_animal.title": "Best Friends Forever", + "advancements.husbandry.tame_an_animal.description": "Tame an animal", + "advancements.husbandry.plant_seed.title": "A Seedy Place", + "advancements.husbandry.plant_seed.description": "Plant a seed and watch it grow", + "advancements.husbandry.break_diamond_hoe.title": "Serious Dedication", + "advancements.husbandry.break_diamond_hoe.description": "Completely use up a diamond hoe, and then reevaluate your life choices", + "advancements.husbandry.balanced_diet.title": "A Balanced Diet", + "advancements.husbandry.balanced_diet.description": "Eat everything that is edible, even if it's not good for you", + "advancements.husbandry.complete_catalogue.title": "A Complete Catalogue", + "advancements.husbandry.complete_catalogue.description": "Tame all cat variants!", + "advancements.husbandry.safely_harvest_honey.title": "Bee Our Guest", + "advancements.husbandry.safely_harvest_honey.description": "Use a Campfire to collect Honey from a Beehive using a Bottle without aggravating the bees", + "advancements.husbandry.silk_touch_nest.title": "Total Beelocation", + "advancements.husbandry.silk_touch_nest.description": "Move a Bee Nest, with 3 bees inside, using Silk Touch", + "advancements.end.dragon_breath.title": "You Need a Mint", + "advancements.end.dragon_breath.description": "Collect dragon's breath in a glass bottle", + "advancements.end.dragon_egg.title": "The Next Generation", + "advancements.end.dragon_egg.description": "Hold the Dragon Egg", + "advancements.end.elytra.title": "Sky's the Limit", + "advancements.end.elytra.description": "Find Elytra", + "advancements.end.enter_end_gateway.title": "Remote Getaway", + "advancements.end.enter_end_gateway.description": "Escape the island", + "advancements.end.find_end_city.title": "The City at the End of the Game", + "advancements.end.find_end_city.description": "Go on in, what could happen?", + "advancements.end.kill_dragon.title": "Free the End", + "advancements.end.kill_dragon.description": "Good luck", + "advancements.end.levitate.title": "Great View From Up Here", + "advancements.end.levitate.description": "Levitate up 50 blocks from the attacks of a Shulker", + "advancements.end.respawn_dragon.title": "The End... Again...", + "advancements.end.respawn_dragon.description": "Respawn the Ender Dragon", + "advancements.end.root.title": "The End", + "advancements.end.root.description": "Or the beginning?", + "advancements.nether.brew_potion.title": "Local Brewery", + "advancements.nether.brew_potion.description": "Brew a potion", + "advancements.nether.all_potions.title": "A Furious Cocktail", + "advancements.nether.all_potions.description": "Have every potion effect applied at the same time", + "advancements.nether.all_effects.title": "How Did We Get Here?", + "advancements.nether.all_effects.description": "Have every effect applied at the same time", + "advancements.nether.create_beacon.title": "Bring Home the Beacon", + "advancements.nether.create_beacon.description": "Construct and place a Beacon", + "advancements.nether.create_full_beacon.title": "Beaconator", + "advancements.nether.create_full_beacon.description": "Bring a beacon to full power", + "advancements.nether.find_fortress.title": "A Terrible Fortress", + "advancements.nether.find_fortress.description": "Break your way into a Nether Fortress", + "advancements.nether.get_wither_skull.title": "Spooky Scary Skeleton", + "advancements.nether.get_wither_skull.description": "Obtain a Wither Skeleton's skull", + "advancements.nether.obtain_blaze_rod.title": "Into Fire", + "advancements.nether.obtain_blaze_rod.description": "Relieve a Blaze of its rod", + "advancements.nether.return_to_sender.title": "Return to Sender", + "advancements.nether.return_to_sender.description": "Destroy a Ghast with a fireball", + "advancements.nether.root.title": "Nether", + "advancements.nether.root.description": "Bring summer clothes", + "advancements.nether.summon_wither.title": "Withering Heights", + "advancements.nether.summon_wither.description": "Summon the Wither", + "advancements.nether.fast_travel.title": "Subspace Bubble", + "advancements.nether.fast_travel.description": "Use the Nether to travel 7 km in the Overworld", + "advancements.nether.uneasy_alliance.title": "Uneasy Alliance", + "advancements.nether.uneasy_alliance.description": "Rescue a Ghast from the Nether, bring it safely home to the Overworld... and then kill it", + "advancements.story.cure_zombie_villager.title": "Zombie Doctor", + "advancements.story.cure_zombie_villager.description": "Weaken and then cure a Zombie Villager", + "advancements.story.deflect_arrow.title": "Not Today, Thank You", + "advancements.story.deflect_arrow.description": "Deflect an arrow with a shield", + "advancements.story.enchant_item.title": "Enchanter", + "advancements.story.enchant_item.description": "Enchant an item at an Enchanting Table", + "advancements.story.enter_the_end.title": "The End?", + "advancements.story.enter_the_end.description": "Enter the End Portal", + "advancements.story.enter_the_nether.title": "We Need to Go Deeper", + "advancements.story.enter_the_nether.description": "Build, light and enter a Nether Portal", + "advancements.story.follow_ender_eye.title": "Eye Spy", + "advancements.story.follow_ender_eye.description": "Follow an Eye of Ender", + "advancements.story.form_obsidian.title": "Ice Bucket Challenge", + "advancements.story.form_obsidian.description": "Form and mine a block of Obsidian", + "advancements.story.iron_tools.title": "Isn't It Iron Pick", + "advancements.story.iron_tools.description": "Upgrade your pickaxe", + "advancements.story.lava_bucket.title": "Hot Stuff", + "advancements.story.lava_bucket.description": "Fill a bucket with lava", + "advancements.story.mine_diamond.title": "Diamonds!", + "advancements.story.mine_diamond.description": "Acquire diamonds", + "advancements.story.mine_stone.title": "Stone Age", + "advancements.story.mine_stone.description": "Mine stone with your new pickaxe", + "advancements.story.obtain_armor.title": "Suit Up", + "advancements.story.obtain_armor.description": "Protect yourself with a piece of iron armor", + "advancements.story.root.title": "Minecraft", + "advancements.story.root.description": "The heart and story of the game", + "advancements.story.shiny_gear.title": "Cover Me With Diamonds", + "advancements.story.shiny_gear.description": "Diamond armor saves lives", + "advancements.story.smelt_iron.title": "Acquire Hardware", + "advancements.story.smelt_iron.description": "Smelt an iron ingot", + "advancements.story.upgrade_tools.title": "Getting an Upgrade", + "advancements.story.upgrade_tools.description": "Construct a better pickaxe", + "team.visibility.always": "Always", + "team.visibility.never": "Never", + "team.visibility.hideForOtherTeams": "Hide for other teams", + "team.visibility.hideForOwnTeam": "Hide for own team", + "team.collision.always": "Always", + "team.collision.never": "Never", + "team.collision.pushOtherTeams": "Push other teams", + "team.collision.pushOwnTeam": "Push own team", + "argument.entity.selector.nearestPlayer": "Nearest player", + "argument.entity.selector.randomPlayer": "Random player", + "argument.entity.selector.allPlayers": "All players", + "argument.entity.selector.allEntities": "All entities", + "argument.entity.selector.self": "Current entity", + "argument.entity.options.name.description": "Entity name", + "argument.entity.options.distance.description": "Distance to entity", + "argument.entity.options.level.description": "Experience level", + "argument.entity.options.x.description": "x position", + "argument.entity.options.y.description": "y position", + "argument.entity.options.z.description": "z position", + "argument.entity.options.dx.description": "Entities between x and x + dx", + "argument.entity.options.dy.description": "Entities between y and y + dy", + "argument.entity.options.dz.description": "Entities between z and z + dz", + "argument.entity.options.x_rotation.description": "Entity's x rotation", + "argument.entity.options.y_rotation.description": "Entity's y rotation", + "argument.entity.options.limit.description": "Maximum number of entities to return", + "argument.entity.options.sort.description": "Sort the entities", + "argument.entity.options.gamemode.description": "Players with gamemode", + "argument.entity.options.team.description": "Entities on team", + "argument.entity.options.type.description": "Entities of type", + "argument.entity.options.tag.description": "Entities with tag", + "argument.entity.options.nbt.description": "Entities with NBT", + "argument.entity.options.scores.description": "Entities with scores", + "argument.entity.options.advancements.description": "Players with advancements", + "argument.entity.options.predicate.description": "Custom predicate", + "command.failed": "An unexpected error occurred trying to execute that command", + "command.context.here": "<--[HERE]", + "commands.publish.started": "Local game hosted on port %s", + "commands.publish.failed": "Unable to host local game", + "commands.advancement.advancementNotFound": "No advancement was found by the name '%1$s'", + "commands.advancement.criterionNotFound": "The advancement %1$s does not contain the criterion '%2$s'", + "commands.advancement.grant.one.to.one.success": "Granted the advancement %s to %s", + "commands.advancement.grant.one.to.one.failure": "Couldn't grant advancement %s to %s as they already have it", + "commands.advancement.grant.one.to.many.success": "Granted the advancement %s to %s players", + "commands.advancement.grant.one.to.many.failure": "Couldn't grant advancement %s to %s players as they already have it", + "commands.advancement.grant.many.to.one.success": "Granted %s advancements to %s", + "commands.advancement.grant.many.to.one.failure": "Couldn't grant %s advancements to %s as they already have them", + "commands.advancement.grant.many.to.many.success": "Granted %s advancements to %s players", + "commands.advancement.grant.many.to.many.failure": "Couldn't grant %s advancements to %s players as they already have them", + "commands.advancement.grant.criterion.to.one.success": "Granted criterion '%s' of advancement %s to %s", + "commands.advancement.grant.criterion.to.one.failure": "Couldn't grant criterion '%s' of advancement %s to %s as they already have it", + "commands.advancement.grant.criterion.to.many.success": "Granted criterion '%s' of advancement %s to %s players", + "commands.advancement.grant.criterion.to.many.failure": "Couldn't grant criterion '%s' of advancement %s to %s players as they already have it", + "commands.advancement.revoke.one.to.one.success": "Revoked the advancement %s from %s", + "commands.advancement.revoke.one.to.one.failure": "Couldn't revoke advancement %s from %s as they don't have it", + "commands.advancement.revoke.one.to.many.success": "Revoked the advancement %s from %s players", + "commands.advancement.revoke.one.to.many.failure": "Couldn't revoke advancement %s from %s players as they don't have it", + "commands.advancement.revoke.many.to.one.success": "Revoked %s advancements from %s", + "commands.advancement.revoke.many.to.one.failure": "Couldn't revoke %s advancements from %s as they don't have them", + "commands.advancement.revoke.many.to.many.success": "Revoked %s advancements from %s players", + "commands.advancement.revoke.many.to.many.failure": "Couldn't revoke %s advancements from %s players as they don't have them", + "commands.advancement.revoke.criterion.to.one.success": "Revoked criterion '%s' of advancement %s from %s", + "commands.advancement.revoke.criterion.to.one.failure": "Couldn't revoke criterion '%s' of advancement %s from %s as they don't have it", + "commands.advancement.revoke.criterion.to.many.success": "Revoked criterion '%s' of advancement %s from %s players", + "commands.advancement.revoke.criterion.to.many.failure": "Couldn't revoke criterion '%s' of advancement %s from %s players as they don't have it", + "commands.forceload.added.failure": "No chunks were marked for force loading", + "commands.forceload.added.single": "Marked chunk %s in %s to be force loaded", + "commands.forceload.added.multiple": "Marked %s chunks in %s from %s to %s to be force loaded", + "commands.forceload.query.success": "Chunk at %s in %s is marked for force loading", + "commands.forceload.query.failure": "Chunk at %s in %s is not marked for force loading", + "commands.forceload.list.single": "A force loaded chunk was found in %s at: %s", + "commands.forceload.list.multiple": "%s force loaded chunks were found in %s at: %s", + "commands.forceload.added.none": "No force loaded chunks were found in %s", + "commands.forceload.removed.all": "Unmarked all force loaded chunks in %s", + "commands.forceload.removed.failure": "No chunks were removed from force loading", + "commands.forceload.removed.single": "Unmarked chunk %s in %s for force loading", + "commands.forceload.removed.multiple": "Unmarked %s chunks in %s from %s to %s for force loading", + "commands.forceload.toobig": "Too many chunks in the specified area (maximum %s, specified %s)", + "commands.clear.success.single": "Removed %s items from player %s", + "commands.clear.success.multiple": "Removed %s items from %s players", + "commands.clear.test.single": "Found %s matching items on player %s", + "commands.clear.test.multiple": "Found %s matching items on %s players", + "commands.clone.success": "Successfully cloned %s blocks", + "commands.debug.started": "Started debug profiling", + "commands.debug.stopped": "Stopped debug profiling after %s seconds and %s ticks (%s ticks per second)", + "commands.debug.reportSaved": "Created debug report in %s", + "commands.debug.reportFailed": "Failed to create debug report", + "commands.defaultgamemode.success": "The default game mode is now %s", + "commands.difficulty.success": "The difficulty has been set to %s", + "commands.difficulty.query": "The difficulty is %s", + "commands.drop.no_held_items": "Entity can't hold any items", + "commands.drop.no_loot_table": "Entity %s has no loot table", + "commands.drop.success.single": "Dropped %s * %s", + "commands.drop.success.single_with_table": "Dropped %s * %s from loot table %s", + "commands.drop.success.multiple": "Dropped %s items", + "commands.drop.success.multiple_with_table": "Dropped %s items from loot table %s", + "commands.effect.give.success.single": "Applied effect %s to %s", + "commands.effect.give.success.multiple": "Applied effect %s to %s targets", + "commands.effect.clear.everything.success.single": "Removed every effect from %s", + "commands.effect.clear.everything.success.multiple": "Removed every effect from %s targets", + "commands.effect.clear.specific.success.single": "Removed effect %s from %s", + "commands.effect.clear.specific.success.multiple": "Removed effect %s from %s targets", + "commands.enchant.success.single": "Applied enchantment %s to %s's item", + "commands.enchant.success.multiple": "Applied enchantment %s to %s entities", + "commands.experience.add.points.success.single": "Gave %s experience points to %s", + "commands.experience.add.points.success.multiple": "Gave %s experience points to %s players", + "commands.experience.add.levels.success.single": "Gave %s experience levels to %s", + "commands.experience.add.levels.success.multiple": "Gave %s experience levels to %s players", + "commands.experience.set.points.success.single": "Set %s experience points on %s", + "commands.experience.set.points.success.multiple": "Set %s experience points on %s players", + "commands.experience.set.levels.success.single": "Set %s experience levels on %s", + "commands.experience.set.levels.success.multiple": "Set %s experience levels on %s players", + "commands.experience.query.points": "%s has %s experience points", + "commands.experience.query.levels": "%s has %s experience levels", + "commands.fill.success": "Successfully filled %s blocks", + "commands.function.success.single": "Executed %s commands from function '%s'", + "commands.function.success.multiple": "Executed %s commands from %s functions", + "commands.give.success.single": "Gave %s %s to %s", + "commands.give.success.multiple": "Gave %s %s to %s players", + "commands.playsound.success.single": "Played sound %s to %s", + "commands.playsound.success.multiple": "Played sound %s to %s players", + "commands.publish.success": "Multiplayer game is now hosted on port %s", + "commands.list.players": "There are %s of a max %s players online: %s", + "commands.kill.success.single": "Killed %s", + "commands.kill.success.multiple": "Killed %s entities", + "commands.kick.success": "Kicked %s: %s", + "commands.locate.success": "The nearest %s is at %s (%s blocks away)", + "commands.message.display.outgoing": "You whisper to %s: %s", + "commands.message.display.incoming": "%s whispers to you: %s", + "commands.op.success": "Made %s a server operator", + "commands.deop.success": "Made %s no longer a server operator", + "commands.ban.success": "Banned %s: %s", + "commands.pardon.success": "Unbanned %s", + "commands.particle.success": "Displaying particle %s", + "commands.seed.success": "Seed: %s", + "commands.stop.stopping": "Stopping the server", + "commands.time.query": "The time is %s", + "commands.time.set": "Set the time to %s", + "commands.schedule.created.function": "Scheduled function '%s' in %s ticks at gametime %s", + "commands.schedule.created.tag": "Scheduled tag '%s' in %s ticks at gametime %s", + "commands.schedule.cleared.success": "Removed %s schedules with id %s", + "commands.schedule.cleared.failure": "No schedules with id %s", + "commands.schedule.same_tick": "Can't schedule for current tick", + "commands.gamemode.success.self": "Set own game mode to %s", + "commands.gamemode.success.other": "Set %s's game mode to %s", + "commands.gamerule.query": "Gamerule %s is currently set to: %s", + "commands.gamerule.set": "Gamerule %s is now set to: %s", + "commands.save.disabled": "Automatic saving is now disabled", + "commands.save.enabled": "Automatic saving is now enabled", + "commands.save.saving": "Saving the game (this may take a moment!)", + "commands.save.success": "Saved the game", + "commands.setidletimeout.success": "The player idle timeout is now %s minutes", + "commands.banlist.none": "There are no bans", + "commands.banlist.list": "There are %s bans:", + "commands.banlist.entry": "%s was banned by %s: %s", + "commands.bossbar.create.success": "Created custom bossbar %s", + "commands.bossbar.remove.success": "Removed custom bossbar %s", + "commands.bossbar.list.bars.none": "There are no custom bossbars active", + "commands.bossbar.list.bars.some": "There are %s custom bossbars active: %s", + "commands.bossbar.set.players.success.none": "Custom bossbar %s no longer has any players", + "commands.bossbar.set.players.success.some": "Custom bossbar %s now has %s players: %s", + "commands.bossbar.set.name.success": "Custom bossbar %s has been renamed", + "commands.bossbar.set.color.success": "Custom bossbar %s has changed color", + "commands.bossbar.set.style.success": "Custom bossbar %s has changed style", + "commands.bossbar.set.value.success": "Custom bossbar %s has changed value to %s", + "commands.bossbar.set.max.success": "Custom bossbar %s has changed maximum to %s", + "commands.bossbar.set.visible.success.visible": "Custom bossbar %s is now visible", + "commands.bossbar.set.visible.success.hidden": "Custom bossbar %s is now hidden", + "commands.bossbar.get.value": "Custom bossbar %s has a value of %s", + "commands.bossbar.get.max": "Custom bossbar %s has a maximum of %s", + "commands.bossbar.get.visible.visible": "Custom bossbar %s is currently shown", + "commands.bossbar.get.visible.hidden": "Custom bossbar %s is currently hidden", + "commands.bossbar.get.players.none": "Custom bossbar %s has no players currently online", + "commands.bossbar.get.players.some": "Custom bossbar %s has %s players currently online: %s", + "commands.recipe.give.success.single": "Unlocked %s recipes for %s", + "commands.recipe.give.success.multiple": "Unlocked %s recipes for %s players", + "commands.recipe.take.success.single": "Took %s recipes from %s", + "commands.recipe.take.success.multiple": "Took %s recipes from %s players", + "commands.summon.success": "Summoned new %s", + "commands.whitelist.enabled": "Whitelist is now turned on", + "commands.whitelist.disabled": "Whitelist is now turned off", + "commands.whitelist.none": "There are no whitelisted players", + "commands.whitelist.list": "There are %s whitelisted players: %s", + "commands.whitelist.add.success": "Added %s to the whitelist", + "commands.whitelist.remove.success": "Removed %s from the whitelist", + "commands.whitelist.reloaded": "Reloaded the whitelist", + "commands.weather.set.clear": "Set the weather to clear", + "commands.weather.set.rain": "Set the weather to rain", + "commands.weather.set.thunder": "Set the weather to rain & thunder", + "commands.spawnpoint.success.single": "Set spawn point to %s, %s, %s for %s", + "commands.spawnpoint.success.multiple": "Set spawn point to %s, %s, %s for %s players", + "commands.stopsound.success.source.sound": "Stopped sound '%s' on source '%s'", + "commands.stopsound.success.source.any": "Stopped all '%s' sounds", + "commands.stopsound.success.sourceless.sound": "Stopped sound '%s'", + "commands.stopsound.success.sourceless.any": "Stopped all sounds", + "commands.setworldspawn.success": "Set the world spawn point to %s, %s, %s", + "commands.spreadplayers.success.teams": "Spread %s teams around %s, %s with an average distance of %s blocks apart", + "commands.spreadplayers.success.entities": "Spread %s players around %s, %s with an average distance of %s blocks apart", + "commands.setblock.success": "Changed the block at %s, %s, %s", + "commands.banip.success": "Banned IP %s: %s", + "commands.banip.info": "This ban affects %s players: %s", + "commands.pardonip.success": "Unbanned IP %s", + "commands.teleport.success.entity.single": "Teleported %s to %s", + "commands.teleport.success.entity.multiple": "Teleported %s entities to %s", + "commands.teleport.success.location.single": "Teleported %s to %s, %s, %s", + "commands.teleport.success.location.multiple": "Teleported %s entities to %s, %s, %s", + "commands.title.cleared.single": "Cleared titles for %s", + "commands.title.cleared.multiple": "Cleared titles for %s players", + "commands.title.reset.single": "Reset title options for %s", + "commands.title.reset.multiple": "Reset title options for %s players", + "commands.title.show.title.single": "Showing new title for %s", + "commands.title.show.title.multiple": "Showing new title for %s players", + "commands.title.show.subtitle.single": "Showing new subtitle for %s", + "commands.title.show.subtitle.multiple": "Showing new subtitle for %s players", + "commands.title.show.actionbar.single": "Showing new actionbar title for %s", + "commands.title.show.actionbar.multiple": "Showing new actionbar title for %s players", + "commands.title.times.single": "Changed title display times for %s", + "commands.title.times.multiple": "Changed title display times for %s players", + "commands.worldborder.set.grow": "Growing the world border to %s blocks wide over %s seconds", + "commands.worldborder.set.shrink": "Shrinking the world border to %s blocks wide over %s seconds", + "commands.worldborder.set.immediate": "Set the world border to %s blocks wide", + "commands.worldborder.center.success": "Set the center of the world border to %s, %s", + "commands.worldborder.get": "The world border is currently %s blocks wide", + "commands.worldborder.damage.buffer.success": "Set the world border damage buffer to %s blocks", + "commands.worldborder.damage.amount.success": "Set the world border damage time to %s seconds", + "commands.worldborder.warning.time.success": "Set the world border warning time to %s seconds", + "commands.worldborder.warning.distance.success": "Set the world border warning distance to %s blocks", + "commands.replaceitem.block.success": "Replaced a slot at %s, %s, %s with %s", + "commands.replaceitem.entity.success.single": "Replaced a slot on %s with %s", + "commands.replaceitem.entity.success.multiple": "Replaced a slot on %s entities with %s", + "commands.tag.add.success.single": "Added tag '%s' to %s", + "commands.tag.add.success.multiple": "Added tag '%s' to %s entities", + "commands.tag.remove.success.single": "Removed tag '%s' from %s", + "commands.tag.remove.success.multiple": "Removed tag '%s' from %s entities", + "commands.tag.list.single.empty": "%s has no tags", + "commands.tag.list.single.success": "%s has %s tags: %s", + "commands.tag.list.multiple.empty": "There are no tags on the %s entities", + "commands.tag.list.multiple.success": "The %s entities have %s total tags: %s", + "commands.team.list.members.empty": "There are no members on team %s", + "commands.team.list.members.success": "Team %s has %s members: %s", + "commands.team.list.teams.empty": "There are no teams", + "commands.team.list.teams.success": "There are %s teams: %s", + "commands.team.add.success": "Created team %s", + "commands.team.remove.success": "Removed team %s", + "commands.team.empty.success": "Removed %s members from team %s", + "commands.team.option.color.success": "Updated the color for team %s to %s", + "commands.team.option.name.success": "Updated team %s name", + "commands.team.option.friendlyfire.enabled": "Enabled friendly fire for team %s", + "commands.team.option.friendlyfire.disabled": "Disabled friendly fire for team %s", + "commands.team.option.seeFriendlyInvisibles.enabled": "Team %s can now see invisible teammates", + "commands.team.option.seeFriendlyInvisibles.disabled": "Team %s can no longer see invisible teammates", + "commands.team.option.nametagVisibility.success": "Nametag visibility for team %s is now \"%s\"", + "commands.team.option.deathMessageVisibility.success": "Death message visibility for team %s is now \"%s\"", + "commands.team.option.collisionRule.success": "Collision rule for team %s is now \"%s\"", + "commands.team.option.prefix.success": "Team prefix set to %s", + "commands.team.option.suffix.success": "Team suffix set to %s", + "commands.team.join.success.single": "Added %s to team %s", + "commands.team.join.success.multiple": "Added %s members to team %s", + "commands.team.leave.success.single": "Removed %s from any team", + "commands.team.leave.success.multiple": "Removed %s members from any team", + "commands.trigger.simple.success": "Triggered %s", + "commands.trigger.add.success": "Triggered %s (added %s to value)", + "commands.trigger.set.success": "Triggered %s (set value to %s)", + "commands.scoreboard.objectives.list.empty": "There are no objectives", + "commands.scoreboard.objectives.list.success": "There are %s objectives: %s", + "commands.scoreboard.objectives.add.success": "Created new objective %s", + "commands.scoreboard.objectives.remove.success": "Removed objective %s", + "commands.scoreboard.objectives.display.cleared": "Cleared any objectives in display slot %s", + "commands.scoreboard.objectives.display.set": "Set display slot %s to show objective %s", + "commands.scoreboard.objectives.modify.displayname": "Changed objective %s display name to %s", + "commands.scoreboard.objectives.modify.rendertype": "Changed objective %s render type", + "commands.scoreboard.players.list.empty": "There are no tracked entities", + "commands.scoreboard.players.list.success": "There are %s tracked entities: %s", + "commands.scoreboard.players.list.entity.empty": "%s has no scores to show", + "commands.scoreboard.players.list.entity.success": "%s has %s scores:", + "commands.scoreboard.players.list.entity.entry": "%s: %s", + "commands.scoreboard.players.set.success.single": "Set %s for %s to %s", + "commands.scoreboard.players.set.success.multiple": "Set %s for %s entities to %s", + "commands.scoreboard.players.add.success.single": "Added %s to %s for %s (now %s)", + "commands.scoreboard.players.add.success.multiple": "Added %s to %s for %s entities", + "commands.scoreboard.players.remove.success.single": "Removed %s from %s for %s (now %s)", + "commands.scoreboard.players.remove.success.multiple": "Removed %s from %s for %s entities", + "commands.scoreboard.players.reset.all.single": "Reset all scores for %s", + "commands.scoreboard.players.reset.all.multiple": "Reset all scores for %s entities", + "commands.scoreboard.players.reset.specific.single": "Reset %s for %s", + "commands.scoreboard.players.reset.specific.multiple": "Reset %s for %s entities", + "commands.scoreboard.players.enable.success.single": "Enabled trigger %s for %s", + "commands.scoreboard.players.enable.success.multiple": "Enabled trigger %s for %s entities", + "commands.scoreboard.players.operation.success.single": "Set %s for %s to %s", + "commands.scoreboard.players.operation.success.multiple": "Updated %s for %s entities", + "commands.scoreboard.players.get.success": "%s has %s %s", + "commands.reload.success": "Reloading!", + "commands.data.entity.modified": "Modified entity data of %s", + "commands.data.entity.query": "%s has the following entity data: %s", + "commands.data.entity.get": "%s on %s after scale factor of %s is %s", + "commands.data.block.modified": "Modified block data of %s, %s, %s", + "commands.data.block.query": "%s, %s, %s has the following block data: %s", + "commands.data.block.get": "%s on block %s, %s, %s after scale factor of %s is %s", + "commands.data.storage.modified": "Modified storage %s", + "commands.data.storage.query": "Storage %s has the following contents: %s", + "commands.data.storage.get": "%s in storage %s after scale factor of %s is %s", + "commands.datapack.list.enabled.success": "There are %s data packs enabled: %s", + "commands.datapack.list.enabled.none": "There are no data packs enabled", + "commands.datapack.list.available.success": "There are %s data packs available: %s", + "commands.datapack.list.available.none": "There are no more data packs available", + "commands.datapack.enable.success": "Enabled data pack %s", + "commands.datapack.disable.success": "Disabled data pack %s", + "commands.spectate.success.stopped": "No longer spectating an entity", + "commands.spectate.success.started": "Now spectating %s", + "commands.spectate.not_spectator": "%s is not in spectator mode", + "commands.spectate.self": "Cannot spectate yourself", + "argument.range.empty": "Expected value or range of values", + "argument.range.ints": "Only whole numbers allowed, not decimals", + "argument.range.swapped": "Min cannot be bigger than max", + "permissions.requires.player": "A player is required to run this command here", + "permissions.requires.entity": "An entity is required to run this command here", + "argument.entity.toomany": "Only one entity is allowed, but the provided selector allows more than one", + "argument.player.toomany": "Only one player is allowed, but the provided selector allows more than one", + "argument.player.entities": "Only players may be affected by this command, but the provided selector includes entities", + "argument.entity.notfound.entity": "No entity was found", + "argument.entity.notfound.player": "No player was found", + "argument.player.unknown": "That player does not exist", + "arguments.nbtpath.node.invalid": "Invalid NBT path element", + "arguments.nbtpath.nothing_found": "Found no elements matching %s", + "arguments.operation.invalid": "Invalid operation", + "arguments.operation.div0": "Cannot divide by zero", + "argument.scoreHolder.empty": "No relevant score holders could be found", + "argument.block.tag.disallowed": "Tags aren't allowed here, only actual blocks", + "argument.block.property.unclosed": "Expected closing ] for block state properties", + "argument.pos.unloaded": "That position is not loaded", + "argument.pos.outofworld": "That position is out of this world!", + "argument.rotation.incomplete": "Incomplete (expected 2 coordinates)", + "arguments.swizzle.invalid": "Invalid swizzle, expected combination of 'x', 'y' and 'z'", + "argument.pos2d.incomplete": "Incomplete (expected 2 coordinates)", + "argument.pos3d.incomplete": "Incomplete (expected 3 coordinates)", + "argument.pos.mixed": "Cannot mix world & local coordinates (everything must either use ^ or not)", + "argument.pos.missing.double": "Expected a coordinate", + "argument.pos.missing.int": "Expected a block position", + "argument.item.tag.disallowed": "Tags aren't allowed here, only actual items", + "argument.entity.invalid": "Invalid name or UUID", + "argument.entity.selector.missing": "Missing selector type", + "argument.entity.selector.not_allowed": "Selector not allowed", + "argument.entity.options.unterminated": "Expected end of options", + "argument.entity.options.distance.negative": "Distance cannot be negative", + "argument.entity.options.level.negative": "Level shouldn't be negative", + "argument.entity.options.limit.toosmall": "Limit must be at least 1", + "argument.nbt.trailing": "Unexpected trailing data", + "argument.nbt.expected.key": "Expected key", + "argument.nbt.expected.value": "Expected value", + "argument.id.invalid": "Invalid ID", + "argument.time.invalid_unit": "Invalid unit", + "argument.time.invalid_tick_count": "Tick count must be non-negative", + "commands.banip.invalid": "Invalid IP address or unknown player", + "commands.banip.failed": "Nothing changed. That IP is already banned", + "commands.ban.failed": "Nothing changed. The player is already banned", + "commands.bossbar.set.players.unchanged": "Nothing changed. Those players are already on the bossbar with nobody to add or remove", + "commands.bossbar.set.name.unchanged": "Nothing changed. That's already the name of this bossbar", + "commands.bossbar.set.color.unchanged": "Nothing changed. That's already the color of this bossbar", + "commands.bossbar.set.style.unchanged": "Nothing changed. That's already the style of this bossbar", + "commands.bossbar.set.value.unchanged": "Nothing changed. That's already the value of this bossbar", + "commands.bossbar.set.max.unchanged": "Nothing changed. That's already the max of this bossbar", + "commands.bossbar.set.visibility.unchanged.hidden": "Nothing changed. The bossbar is already hidden", + "commands.bossbar.set.visibility.unchanged.visible": "Nothing changed. The bossbar is already visible", + "commands.clone.overlap": "The source and destination areas cannot overlap", + "commands.clone.failed": "No blocks were cloned", + "commands.debug.notRunning": "The debug profiler hasn't started", + "commands.debug.alreadyRunning": "The debug profiler is already started", + "commands.deop.failed": "Nothing changed. The player is not an operator", + "commands.effect.give.failed": "Unable to apply this effect (target is either immune to effects, or has something stronger)", + "commands.effect.clear.everything.failed": "Target has no effects to remove", + "commands.effect.clear.specific.failed": "Target doesn't have the requested effect", + "commands.enchant.failed": "Nothing changed. Targets either have no item in their hands or the enchantment could not be applied", + "commands.experience.set.points.invalid": "Cannot set experience points above the maximum points for the player's current level", + "commands.fill.failed": "No blocks were filled", + "commands.help.failed": "Unknown command or insufficient permissions", + "commands.locate.failed": "Could not find that structure nearby", + "commands.op.failed": "Nothing changed. The player already is an operator", + "commands.pardon.failed": "Nothing changed. The player isn't banned", + "commands.pardonip.invalid": "Invalid IP address", + "commands.pardonip.failed": "Nothing changed. That IP isn't banned", + "commands.particle.failed": "The particle was not visible for anybody", + "commands.playsound.failed": "The sound is too far away to be heard", + "commands.recipe.give.failed": "No new recipes were learned", + "commands.recipe.take.failed": "No recipes could be forgotten", + "commands.replaceitem.block.failed": "The target block is not a container", + "commands.replaceitem.slot.inapplicable": "The target does not have slot %s", + "commands.replaceitem.entity.failed": "Could not put %s in slot %s", + "commands.save.failed": "Unable to save the game (is there enough disk space?)", + "commands.save.alreadyOff": "Saving is already turned off", + "commands.save.alreadyOn": "Saving is already turned on", + "commands.scoreboard.objectives.add.duplicate": "An objective already exists by that name", + "commands.scoreboard.objectives.display.alreadyEmpty": "Nothing changed. That display slot is already empty", + "commands.scoreboard.objectives.display.alreadySet": "Nothing changed. That display slot is already showing that objective", + "commands.scoreboard.players.enable.failed": "Nothing changed. That trigger is already enabled", + "commands.scoreboard.players.enable.invalid": "Enable only works on trigger-objectives", + "commands.setblock.failed": "Could not set the block", + "commands.summon.failed": "Unable to summon entity", + "commands.tag.add.failed": "Target either already has the tag or has too many tags", + "commands.tag.remove.failed": "Target does not have this tag", + "commands.team.add.duplicate": "A team already exists by that name", + "commands.team.empty.unchanged": "Nothing changed. That team is already empty", + "commands.team.option.color.unchanged": "Nothing changed. That team already has that color", + "commands.team.option.name.unchanged": "Nothing changed. That team already has that name", + "commands.team.option.friendlyfire.alreadyEnabled": "Nothing changed. Friendly fire is already enabled for that team", + "commands.team.option.friendlyfire.alreadyDisabled": "Nothing changed. Friendly fire is already disabled for that team", + "commands.team.option.seeFriendlyInvisibles.alreadyEnabled": "Nothing changed. That team can already see invisible teammates", + "commands.team.option.seeFriendlyInvisibles.alreadyDisabled": "Nothing changed. That team already can't see invisible teammates", + "commands.team.option.nametagVisibility.unchanged": "Nothing changed. Nametag visibility is already that value", + "commands.team.option.deathMessageVisibility.unchanged": "Nothing changed. Death message visibility is already that value", + "commands.team.option.collisionRule.unchanged": "Nothing changed. Collision rule is already that value", + "commands.trigger.failed.unprimed": "You cannot trigger this objective yet", + "commands.trigger.failed.invalid": "You can only trigger objectives that are 'trigger' type", + "commands.whitelist.alreadyOn": "Whitelist is already turned on", + "commands.whitelist.alreadyOff": "Whitelist is already turned off", + "commands.whitelist.add.failed": "Player is already whitelisted", + "commands.whitelist.remove.failed": "Player is not whitelisted", + "commands.worldborder.center.failed": "Nothing changed. The world border is already centered there", + "commands.worldborder.set.failed.nochange": "Nothing changed. The world border is already that size", + "commands.worldborder.set.failed.small.": "World border cannot be smaller than 1 block wide", + "commands.worldborder.set.failed.big.": "World border cannot be bigger than 60,000,000 blocks wide", + "commands.worldborder.warning.time.failed": "Nothing changed. The world border warning is already that amount of time", + "commands.worldborder.warning.distance.failed": "Nothing changed. The world border warning is already that distance", + "commands.worldborder.damage.buffer.failed": "Nothing changed. The world border damage buffer is already that distance", + "commands.worldborder.damage.amount.failed": "Nothing changed. The world border damage is already that amount", + "commands.data.block.invalid": "The target block is not a block entity", + "commands.data.merge.failed": "Nothing changed, the specified properties already have these values", + "commands.data.modify.expected_list": "Expected list, got: %s", + "commands.data.modify.expected_object": "Expected object, got: %s", + "commands.data.modify.invalid_index": "Invalid list index: %s", + "commands.data.get.multiple": "This argument accepts a single NBT value", + "commands.data.entity.invalid": "Unable to modify player data", + "commands.teammsg.failed.noteam": "You must be on a team to message your team", + "argument.color.invalid": "Unknown color '%s'", + "argument.dimension.invalid": "Unknown dimension '%s'", + "argument.component.invalid": "Invalid chat component: %s", + "argument.anchor.invalid": "Invalid entity anchor position %s", + "enchantment.unknown": "Unknown enchantment: %s", + "lectern.take_book": "Take Book", + "effect.effectNotFound": "Unknown effect: %s", + "arguments.objective.notFound": "Unknown scoreboard objective '%s'", + "arguments.objective.readonly": "Scoreboard objective '%s' is read-only", + "commands.scoreboard.objectives.add.longName": "Objective names cannot be longer than %s characters", + "argument.criteria.invalid": "Unknown criteria '%s'", + "particle.notFound": "Unknown particle: %s", + "argument.id.unknown": "Unknown ID: %s", + "advancement.advancementNotFound": "Unknown advancement: %s", + "recipe.notFound": "Unknown recipe: %s", + "entity.notFound": "Unknown entity: %s", + "predicate.unknown": "Unknown predicate: %s", + "argument.scoreboardDisplaySlot.invalid": "Unknown display slot '%s'", + "slot.unknown": "Unknown slot '%s'", + "team.notFound": "Unknown team '%s'", + "arguments.block.tag.unknown": "Unknown block tag '%s'", + "argument.block.id.invalid": "Unknown block type '%s'", + "argument.block.property.unknown": "Block %s does not have property '%s'", + "argument.block.property.duplicate": "Property '%s' can only be set once for block %s", + "argument.block.property.invalid": "Block %s does not accept '%s' for %s property", + "argument.block.property.novalue": "Expected value for property '%s' on block %s", + "arguments.function.tag.unknown": "Unknown function tag '%s'", + "arguments.function.unknown": "Unknown function %s", + "arguments.item.overstacked": "%s can only stack up to %s", + "argument.item.id.invalid": "Unknown item '%s'", + "arguments.item.tag.unknown": "Unknown item tag '%s'", + "argument.entity.selector.unknown": "Unknown selector type '%s'", + "argument.entity.options.valueless": "Expected value for option '%s'", + "argument.entity.options.unknown": "Unknown option '%s'", + "argument.entity.options.inapplicable": "Option '%s' isn't applicable here", + "argument.entity.options.sort.irreversible": "Invalid or unknown sort type '%s'", + "argument.entity.options.mode.invalid": "Invalid or unknown game mode '%s'", + "argument.entity.options.type.invalid": "Invalid or unknown entity type '%s'", + "argument.nbt.list.mixed": "Can't insert %s into list of %s", + "argument.nbt.array.mixed": "Can't insert %s into %s", + "argument.nbt.array.invalid": "Invalid array type '%s'", + "commands.bossbar.create.failed": "A bossbar already exists with the ID '%s'", + "commands.bossbar.unknown": "No bossbar exists with the ID '%s'", + "clear.failed.single": "No items were found on player %s", + "clear.failed.multiple": "No items were found on %s players", + "commands.clone.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.datapack.unknown": "Unknown data pack '%s'", + "commands.datapack.enable.failed": "Pack '%s' is already enabled!", + "commands.datapack.disable.failed": "Pack '%s' is not enabled!", + "commands.difficulty.failure": "The difficulty did not change; it is already set to %s", + "commands.enchant.failed.entity": "%s is not a valid entity for this command", + "commands.enchant.failed.itemless": "%s is not holding any item", + "commands.enchant.failed.incompatible": "%s cannot support that enchantment", + "commands.enchant.failed.level": "%s is higher than the maximum level of %s supported by that enchantment", + "commands.execute.blocks.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.execute.conditional.pass": "Test passed", + "commands.execute.conditional.pass_count": "Test passed, count: %s", + "commands.execute.conditional.fail": "Test failed", + "commands.execute.conditional.fail_count": "Test failed, count: %s", + "commands.fill.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.publish.alreadyPublished": "Multiplayer game is already hosted on port %s", + "commands.scoreboard.players.get.null": "Can't get value of %s for %s; none is set", + "commands.spreadplayers.failed.teams": "Could not spread %s teams around %s, %s (too many entities for space - try using spread of at most %s)", + "commands.spreadplayers.failed.entities": "Could not spread %s entities around %s, %s (too many entities for space - try using spread of at most %s)", + "commands.team.add.longName": "Team names cannot be longer than %s characters", + "commands.data.get.invalid": "Can't get %s; only numeric tags are allowed", + "commands.data.get.unknown": "Can't get %s; tag doesn't exist", + "argument.double.low": "Double must not be less than %s, found %s", + "argument.double.big": "Double must not be more than %s, found %s", + "argument.float.low": "Float must not be less than %s, found %s", + "argument.float.big": "Float must not be more than %s, found %s", + "argument.integer.low": "Integer must not be less than %s, found %s", + "argument.integer.big": "Integer must not be more than %s, found %s", + "argument.long.low": "Long must not be less than %s, found %s", + "argument.long.big": "Long must not be more than %s, found %s", + "argument.literal.incorrect": "Expected literal %s", + "parsing.quote.expected.start": "Expected quote to start a string", + "parsing.quote.expected.end": "Unclosed quoted string", + "parsing.quote.escape": "Invalid escape sequence '\\%s' in quoted string", + "parsing.bool.invalid": "Invalid boolean, expected 'true' or 'false' but found '%s'", + "parsing.int.invalid": "Invalid integer '%s'", + "parsing.int.expected": "Expected integer", + "parsing.long.invalid": "Invalid long '%s'", + "parsing.long.expected": "Expected long", + "command.exception": "Could not parse command: %s", + "parsing.double.invalid": "Invalid double '%s'", + "parsing.double.expected": "Expected double", + "parsing.float.invalid": "Invalid float '%s'", + "parsing.float.expected": "Expected float", + "parsing.bool.expected": "Expected boolean", + "parsing.expected": "Expected '%s'", + "command.unknown.command": "Unknown command", + "command.unknown.argument": "Incorrect argument for command", + "command.expected.separator": "Expected whitespace to end one argument, but found trailing data", + "biome.minecraft.beach": "Beach", + "biome.minecraft.birch_forest": "Birch Forest", + "biome.minecraft.birch_forest_hills": "Birch Forest Hills", + "biome.minecraft.snowy_beach": "Snowy Beach", + "biome.minecraft.cold_ocean": "Cold Ocean", + "biome.minecraft.deep_cold_ocean": "Deep Cold Ocean", + "biome.minecraft.deep_frozen_ocean": "Deep Frozen Ocean", + "biome.minecraft.deep_lukewarm_ocean": "Deep Lukewarm Ocean", + "biome.minecraft.deep_ocean": "Deep Ocean", + "biome.minecraft.deep_warm_ocean": "Deep Warm Ocean", + "biome.minecraft.desert": "Desert", + "biome.minecraft.desert_hills": "Desert Hills", + "biome.minecraft.mountains": "Mountains", + "biome.minecraft.wooded_mountains": "Wooded Mountains", + "biome.minecraft.forest": "Forest", + "biome.minecraft.wooded_hills": "Wooded Hills", + "biome.minecraft.frozen_ocean": "Frozen Ocean", + "biome.minecraft.frozen_river": "Frozen River", + "biome.minecraft.nether": "Nether", + "biome.minecraft.snowy_tundra": "Snowy Tundra", + "biome.minecraft.snowy_mountains": "Snowy Mountains", + "biome.minecraft.jungle_edge": "Jungle Edge", + "biome.minecraft.jungle_hills": "Jungle Hills", + "biome.minecraft.jungle": "Jungle", + "biome.minecraft.lukewarm_ocean": "Lukewarm Ocean", + "biome.minecraft.badlands_plateau": "Badlands Plateau", + "biome.minecraft.badlands": "Badlands", + "biome.minecraft.wooded_badlands_plateau": "Wooded Badlands Plateau", + "biome.minecraft.mushroom_fields": "Mushroom Fields", + "biome.minecraft.mushroom_field_shore": "Mushroom Field Shore", + "biome.minecraft.tall_birch_hills": "Tall Birch Hills", + "biome.minecraft.tall_birch_forest": "Tall Birch Forest", + "biome.minecraft.desert_lakes": "Desert Lakes", + "biome.minecraft.gravelly_mountains": "Gravelly Mountains", + "biome.minecraft.modified_gravelly_mountains": "Gravelly Mountains+", + "biome.minecraft.flower_forest": "Flower Forest", + "biome.minecraft.ice_spikes": "Ice Spikes", + "biome.minecraft.modified_jungle_edge": "Modified Jungle Edge", + "biome.minecraft.modified_jungle": "Modified Jungle", + "biome.minecraft.modified_badlands_plateau": "Modified Badlands Plateau", + "biome.minecraft.eroded_badlands": "Eroded Badlands", + "biome.minecraft.modified_wooded_badlands_plateau": "Modified Wooded Badlands Plateau", + "biome.minecraft.sunflower_plains": "Sunflower Plains", + "biome.minecraft.giant_spruce_taiga_hills": "Giant Spruce Taiga Hills", + "biome.minecraft.giant_spruce_taiga": "Giant Spruce Taiga", + "biome.minecraft.dark_forest_hills": "Dark Forest Hills", + "biome.minecraft.shattered_savanna": "Shattered Savanna", + "biome.minecraft.shattered_savanna_plateau": "Shattered Savanna Plateau", + "biome.minecraft.swamp_hills": "Swamp Hills", + "biome.minecraft.snowy_taiga_mountains": "Snowy Taiga Mountains", + "biome.minecraft.taiga_mountains": "Taiga Mountains", + "biome.minecraft.ocean": "Ocean", + "biome.minecraft.plains": "Plains", + "biome.minecraft.giant_tree_taiga_hills": "Giant Tree Taiga Hills", + "biome.minecraft.giant_tree_taiga": "Giant Tree Taiga", + "biome.minecraft.river": "River", + "biome.minecraft.dark_forest": "Dark Forest", + "biome.minecraft.savanna_plateau": "Savanna Plateau", + "biome.minecraft.savanna": "Savanna", + "biome.minecraft.end_barrens": "End Barrens", + "biome.minecraft.end_highlands": "End Highlands", + "biome.minecraft.small_end_islands": "Small End Islands", + "biome.minecraft.end_midlands": "End Midlands", + "biome.minecraft.the_end": "The End", + "biome.minecraft.mountain_edge": "Mountain Edge", + "biome.minecraft.stone_shore": "Stone Shore", + "biome.minecraft.swamp": "Swamp", + "biome.minecraft.snowy_taiga": "Snowy Taiga", + "biome.minecraft.snowy_taiga_hills": "Snowy Taiga Hills", + "biome.minecraft.taiga_hills": "Taiga Hills", + "biome.minecraft.taiga": "Taiga", + "biome.minecraft.the_void": "The Void", + "biome.minecraft.warm_ocean": "Warm Ocean", + "biome.minecraft.bamboo_jungle": "Bamboo Jungle", + "biome.minecraft.bamboo_jungle_hills": "Bamboo Jungle Hills", + "generator.minecraft.surface": "Surface", + "generator.minecraft.caves": "Caves", + "generator.minecraft.floating_islands": "Floating Islands", + "realms.missing.module.error.text": "Realms could not be opened right now, please try again later", + "realms.missing.snapshot.error.text": "Realms is currently not supported in snapshots", + "color.minecraft.white": "White", + "color.minecraft.orange": "Orange", + "color.minecraft.magenta": "Magenta", + "color.minecraft.light_blue": "Light Blue", + "color.minecraft.yellow": "Yellow", + "color.minecraft.lime": "Lime", + "color.minecraft.pink": "Pink", + "color.minecraft.gray": "Gray", + "color.minecraft.light_gray": "Light Gray", + "color.minecraft.cyan": "Cyan", + "color.minecraft.purple": "Purple", + "color.minecraft.blue": "Blue", + "color.minecraft.brown": "Brown", + "color.minecraft.green": "Green", + "color.minecraft.red": "Red", + "color.minecraft.black": "Black", + "title.singleplayer": "Singleplayer", + "title.multiplayer.realms": "Multiplayer (Realms)", + "title.multiplayer.lan": "Multiplayer (LAN)", + "title.multiplayer.other": "Multiplayer (3rd-party)" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/materials.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/materials.json new file mode 100644 index 00000000..931302de --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/materials.json @@ -0,0 +1,61 @@ +{ + "rock": { + "521": 6, + "535": 2, + "539": 4, + "543": 8, + "550": 12 + }, + "wood": { + "522": 6, + "536": 2, + "540": 4, + "544": 8, + "551": 12 + }, + "plant": { + "522": 6, + "532": 1.5, + "533": 1.5, + "536": 2, + "537": 1.5, + "540": 4, + "541": 1.5, + "544": 8, + "548": 1.5, + "551": 12 + }, + "melon": { + "532": 1.5, + "533": 1.5, + "537": 1.5, + "541": 1.5, + "548": 1.5 + }, + "leaves": { + "532": 1.5, + "533": 1.5, + "537": 1.5, + "541": 1.5, + "548": 1.5, + "672": 6 + }, + "dirt": { + "520": 6, + "534": 2, + "538": 4, + "542": 8, + "549": 12 + }, + "web": { + "532": 15, + "533": 15, + "537": 15, + "541": 15, + "548": 15, + "672": 15 + }, + "wool": { + "672": 4.8 + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/protocol.json new file mode 100644 index 00000000..a58a802c --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/protocol.json @@ -0,0 +1,5072 @@ +{ + "types": { + "varint": "native", + "optvarint": "varint", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "14": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "23": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "32": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle", + "16": [ + "container",[ + { + "name": "villagerType", + "type": "varint" + }, + { + "name": "villagerProfession", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ], + "17": "optvarint", + "18": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "difficultyLocked", + "type": "bool" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "inventoryType", + "type": "varint" + }, + { + "name": "windowTitle", + "type": "string" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_open_horse_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "nbSlots", + "type": "varint" + }, + { + "name": "entityId", + "type": "i32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "heightmaps", + "type": "nbt" + }, + { + "name": "biomes", + "type": [ + "switch", + { + "compareTo": "groundUp", + "fields": { + "false": "void", + "true": ["array", { + "count": 1024, + "type": "i32" + }] + } + } + ] + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_update_light": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + }, + { + "name": "skyLightMask", + "type": "varint" + }, + { + "name": "blockLightMask", + "type": "varint" + }, + { + "name": "emptySkyLightMask", + "type": "varint" + }, + { + "name": "emptyBlockLightMask", + "type": "varint" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "viewDistance", + "type": "varint" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + }, + { + "name": "enableRespawnScreen", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_trade_list": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "trades", + "type": [ + "array", + { + "countType": "u8", + "type": ["container", [ + { + "name": "inputItem1", + "type": "slot" + }, + { + "name": "outputItem", + "type": "slot" + }, + { + "name": "inputItem2", + "type": ["option", "slot"] + }, + { + "name": "tradeDisabled", + "type": "bool" + }, + { + "name": "nbTradeUses", + "type": "i32" + }, + { + "name": "maximumNbTradeUses", + "type": "i32" + }, + { + "name": "xp", + "type": "i32" + }, + { + "name": "specialPrice", + "type": "i32" + }, + { + "name": "priceMultiplier", + "type": "f32" + }, + { + "name": "demand", + "type": "i32" + } + ]] + } + ] + }, + { + "name": "villagerLevel", + "type": "varint" + }, + { + "name": "experience", + "type": "varint" + }, + { + "name": "isRegularVillager", + "type": "bool" + }, + { + "name": "canRestock", + "type": "bool" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_book": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_update_view_position": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + } + ] + ], + "packet_update_view_distance": [ + "container", + [ + { + "name": "viewDistance", + "type": "varint" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "type", + "type": "string" + }, + { + "name": "recipeId", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "minecraft:crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_special_armordye": "void", + "minecraft:crafting_special_bookcloning": "void", + "minecraft:crafting_special_mapcloning": "void", + "minecraft:crafting_special_mapextending": "void", + "minecraft:crafting_special_firework_rocket": "void", + "minecraft:crafting_special_firework_star": "void", + "minecraft:crafting_special_firework_star_fade": "void", + "minecraft:crafting_special_repairitem": "void", + "minecraft:crafting_special_tippedarrow": "void", + "minecraft:crafting_special_bannerduplicate": "void", + "minecraft:crafting_special_banneraddpattern": "void", + "minecraft:crafting_special_shielddecoration": "void", + "minecraft:crafting_special_shulkerboxcoloring": "void", + "minecraft:crafting_special_suspiciousstew": "void", + "minecraft:smelting": "minecraft_smelting_format", + "minecraft:blasting": "minecraft_smelting_format", + "minecraft:smoking": "minecraft_smelting_format", + "minecraft:campfire_cooking": "minecraft_smelting_format", + "minecraft:stonecutting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "minecraft_smelting_format": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + }, + { + "name": "entityTags", + "type": "tags" + } + ] + ], + "packet_acknowledge_player_digging": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "block", + "type": "varint" + }, + { + "name": "status", + "type": "varint" + }, + { + "name": "successful", + "type": "bool" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "acknowledge_player_digging", + "0x09": "block_break_animation", + "0x0a": "tile_entity_data", + "0x0b": "block_action", + "0x0c": "block_change", + "0x0d": "boss_bar", + "0x0e": "difficulty", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "tab_complete", + "0x12": "declare_commands", + "0x13": "transaction", + "0x14": "close_window", + "0x15": "window_items", + "0x16": "craft_progress_bar", + "0x17": "set_slot", + "0x18": "set_cooldown", + "0x19": "custom_payload", + "0x1a": "named_sound_effect", + "0x1b": "kick_disconnect", + "0x1c": "entity_status", + "0x1d": "explosion", + "0x1e": "unload_chunk", + "0x1f": "game_state_change", + "0x20": "open_horse_window", + "0x21": "keep_alive", + "0x22": "map_chunk", + "0x23": "world_event", + "0x24": "world_particles", + "0x25": "update_light", + "0x26": "login", + "0x27": "map", + "0x28": "trade_list", + "0x29": "rel_entity_move", + "0x2a": "entity_move_look", + "0x2b": "entity_look", + "0x2c": "entity", + "0x2d": "vehicle_move", + "0x2e": "open_book", + "0x2f": "open_window", + "0x30": "open_sign_entity", + "0x31": "craft_recipe_response", + "0x32": "abilities", + "0x33": "combat_event", + "0x34": "player_info", + "0x35": "face_player", + "0x36": "position", + "0x37": "unlock_recipes", + "0x38": "entity_destroy", + "0x39": "remove_entity_effect", + "0x3a": "resource_pack_send", + "0x3b": "respawn", + "0x3c": "entity_head_rotation", + "0x3d": "select_advancement_tab", + "0x3e": "world_border", + "0x3f": "camera", + "0x40": "held_item_slot", + "0x41": "update_view_position", + "0x42": "update_view_distance", + "0x43": "scoreboard_display_objective", + "0x44": "entity_metadata", + "0x45": "attach_entity", + "0x46": "entity_velocity", + "0x47": "entity_equipment", + "0x48": "experience", + "0x49": "update_health", + "0x4a": "scoreboard_objective", + "0x4b": "set_passengers", + "0x4c": "teams", + "0x4d": "scoreboard_score", + "0x4e": "spawn_position", + "0x4f": "update_time", + "0x50": "title", + "0x51": "entity_sound_effect", + "0x52": "sound_effect", + "0x53": "stop_sound", + "0x54": "playerlist_header", + "0x55": "nbt_query_response", + "0x56": "collect", + "0x57": "entity_teleport", + "0x58": "advancements", + "0x59": "entity_update_attributes", + "0x5a": "entity_effect", + "0x5b": "declare_recipes", + "0x5c": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "open_horse_window": "packet_open_horse_window", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "update_light": "packet_update_light", + "login": "packet_login", + "map": "packet_map", + "trade_list": "packet_trade_list", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_book": "packet_open_book", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "update_view_position": "packet_update_view_position", + "update_view_distance": "packet_update_view_distance", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "entity_sound_effect": "packet_entity_sound_effect", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags", + "acknowledge_player_digging": "packet_acknowledge_player_digging" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "newDifficulty", + "type": "u8" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_lock_difficulty": [ + "container", + [ + { + "name": "locked", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + }, + { + "name": "blastingBookOpen", + "type": "bool" + }, + { + "name": "blastingFilter", + "type": "bool" + }, + { + "name": "smokingBookOpen", + "type": "bool" + }, + { + "name": "smokingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_jigsaw_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "attachmentType", + "type": "string" + }, + { + "name": "targetPool", + "type": "string" + }, + { + "name": "finalState", + "type": "string" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + }, + { + "name": "insideBlock", + "type": "bool" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "set_difficulty", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "tab_complete", + "0x07": "transaction", + "0x08": "enchant_item", + "0x09": "window_click", + "0x0a": "close_window", + "0x0b": "custom_payload", + "0x0c": "edit_book", + "0x0d": "query_entity_nbt", + "0x0e": "use_entity", + "0x0f": "keep_alive", + "0x10": "lock_difficulty", + "0x11": "position", + "0x12": "position_look", + "0x13": "look", + "0x14": "flying", + "0x15": "vehicle_move", + "0x16": "steer_boat", + "0x17": "pick_item", + "0x18": "craft_recipe_request", + "0x19": "abilities", + "0x1a": "block_dig", + "0x1b": "entity_action", + "0x1c": "steer_vehicle", + "0x1d": "crafting_book_data", + "0x1e": "name_item", + "0x1f": "resource_pack_receive", + "0x20": "advancement_tab", + "0x21": "select_trade", + "0x22": "set_beacon_effect", + "0x23": "held_item_slot", + "0x24": "update_command_block", + "0x25": "update_command_block_minecart", + "0x26": "set_creative_slot", + "0x27": "update_jigsaw_block", + "0x28": "update_structure_block", + "0x29": "update_sign", + "0x2a": "arm_animation", + "0x2b": "spectate", + "0x2c": "block_place", + "0x2d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "set_difficulty": "packet_set_difficulty", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "lock_difficulty": "packet_lock_difficulty", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_jigsaw_block": "packet_update_jigsaw_block", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/recipes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/recipes.json new file mode 100644 index 00000000..3b64d5a7 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/recipes.json @@ -0,0 +1,18101 @@ +{ + "2": [ + { + "ingredients": [ + 4, + 782 + ], + "result": { + "count": 1, + "id": 2 + } + } + ], + "3": [ + { + "inShape": [ + [ + 2, + 2 + ], + [ + 2, + 2 + ] + ], + "result": { + "count": 4, + "id": 3 + } + } + ], + "4": [ + { + "inShape": [ + [ + 782, + 12 + ], + [ + 12, + 782 + ] + ], + "result": { + "count": 2, + "id": 4 + } + } + ], + "5": [ + { + "inShape": [ + [ + 4, + 4 + ], + [ + 4, + 4 + ] + ], + "result": { + "count": 4, + "id": 5 + } + } + ], + "6": [ + { + "ingredients": [ + 4, + 12 + ], + "result": { + "count": 2, + "id": 6 + } + } + ], + "7": [ + { + "inShape": [ + [ + 6, + 6 + ], + [ + 6, + 6 + ] + ], + "result": { + "count": 4, + "id": 7 + } + } + ], + "10": [ + { + "inShape": [ + [ + 28, + 9 + ], + [ + 9, + 28 + ] + ], + "result": { + "count": 4, + "id": 10 + } + } + ], + "13": [ + { + "ingredients": [ + 32 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 50 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 38 + ], + "result": { + "count": 4, + "id": 13 + } + }, + { + "ingredients": [ + 44 + ], + "result": { + "count": 4, + "id": 13 + } + } + ], + "14": [ + { + "ingredients": [ + 33 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 51 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 39 + ], + "result": { + "count": 4, + "id": 14 + } + }, + { + "ingredients": [ + 45 + ], + "result": { + "count": 4, + "id": 14 + } + } + ], + "15": [ + { + "ingredients": [ + 34 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 52 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 40 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 46 + ], + "result": { + "count": 4, + "id": 15 + } + } + ], + "16": [ + { + "ingredients": [ + 35 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 53 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 41 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 47 + ], + "result": { + "count": 4, + "id": 16 + } + } + ], + "17": [ + { + "ingredients": [ + 36 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 54 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 42 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 48 + ], + "result": { + "count": 4, + "id": 17 + } + } + ], + "18": [ + { + "ingredients": [ + 37 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 55 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 43 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 49 + ], + "result": { + "count": 4, + "id": 18 + } + } + ], + "44": [ + { + "inShape": [ + [ + 38, + 38 + ], + [ + 38, + 38 + ] + ], + "result": { + "count": 3, + "id": 44 + } + } + ], + "45": [ + { + "inShape": [ + [ + 39, + 39 + ], + [ + 39, + 39 + ] + ], + "result": { + "count": 3, + "id": 45 + } + } + ], + "46": [ + { + "inShape": [ + [ + 40, + 40 + ], + [ + 40, + 40 + ] + ], + "result": { + "count": 3, + "id": 46 + } + } + ], + "47": [ + { + "inShape": [ + [ + 41, + 41 + ], + [ + 41, + 41 + ] + ], + "result": { + "count": 3, + "id": 47 + } + } + ], + "48": [ + { + "inShape": [ + [ + 42, + 42 + ], + [ + 42, + 42 + ] + ], + "result": { + "count": 3, + "id": 48 + } + } + ], + "49": [ + { + "inShape": [ + [ + 43, + 43 + ], + [ + 43, + 43 + ] + ], + "result": { + "count": 3, + "id": 49 + } + } + ], + "50": [ + { + "inShape": [ + [ + 32, + 32 + ], + [ + 32, + 32 + ] + ], + "result": { + "count": 3, + "id": 50 + } + } + ], + "51": [ + { + "inShape": [ + [ + 33, + 33 + ], + [ + 33, + 33 + ] + ], + "result": { + "count": 3, + "id": 51 + } + } + ], + "52": [ + { + "inShape": [ + [ + 34, + 34 + ], + [ + 34, + 34 + ] + ], + "result": { + "count": 3, + "id": 52 + } + } + ], + "53": [ + { + "inShape": [ + [ + 35, + 35 + ], + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 53 + } + } + ], + "54": [ + { + "inShape": [ + [ + 36, + 36 + ], + [ + 36, + 36 + ] + ], + "result": { + "count": 3, + "id": 54 + } + } + ], + "55": [ + { + "inShape": [ + [ + 37, + 37 + ], + [ + 37, + 37 + ] + ], + "result": { + "count": 3, + "id": 55 + } + } + ], + "66": [ + { + "inShape": [ + [ + 635, + 635, + 635 + ], + [ + 635, + 635, + 635 + ], + [ + 635, + 635, + 635 + ] + ], + "result": { + "count": 1, + "id": 66 + } + } + ], + "67": [ + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 525, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 67 + } + } + ], + "68": [ + { + "inShape": [ + [ + 26, + 26 + ], + [ + 26, + 26 + ] + ], + "result": { + "count": 1, + "id": 68 + } + } + ], + "69": [ + { + "inShape": [ + [ + 123 + ], + [ + 123 + ] + ], + "result": { + "count": 1, + "id": 69 + } + } + ], + "70": [ + { + "inShape": [ + [ + 68, + 68 + ], + [ + 68, + 68 + ] + ], + "result": { + "count": 4, + "id": 70 + } + } + ], + "71": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 600, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 600, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 600, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 600, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 600, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 71 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 600, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 71 + } + } + ], + "72": [ + { + "inShape": [ + [ + 531, + 600, + 531 + ], + [ + 531, + 545, + 531 + ], + [ + 531, + null, + 531 + ] + ], + "result": { + "count": 6, + "id": 72 + } + } + ], + "73": [ + { + "inShape": [ + [ + 530, + 600, + 530 + ], + [ + 530, + 165, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 6, + "id": 73 + } + } + ], + "74": [ + { + "inShape": [ + [ + 81 + ], + [ + 617 + ] + ], + "result": { + "count": 1, + "id": 74 + } + } + ], + "81": [ + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 81 + } + }, + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + 530, + 12 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 81 + } + } + ], + "82": [ + { + "inShape": [ + [ + 552, + 552 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 82 + } + } + ], + "83": [ + { + "ingredients": [ + 645, + 82 + ], + "result": { + "count": 1, + "id": 83 + } + } + ], + "84": [ + { + "ingredients": [ + 644, + 82 + ], + "result": { + "count": 1, + "id": 84 + } + } + ], + "85": [ + { + "ingredients": [ + 643, + 82 + ], + "result": { + "count": 1, + "id": 85 + } + } + ], + "86": [ + { + "ingredients": [ + 642, + 82 + ], + "result": { + "count": 1, + "id": 86 + } + } + ], + "87": [ + { + "ingredients": [ + 641, + 82 + ], + "result": { + "count": 1, + "id": 87 + } + } + ], + "88": [ + { + "ingredients": [ + 640, + 82 + ], + "result": { + "count": 1, + "id": 88 + } + } + ], + "89": [ + { + "ingredients": [ + 639, + 82 + ], + "result": { + "count": 1, + "id": 89 + } + } + ], + "90": [ + { + "ingredients": [ + 638, + 82 + ], + "result": { + "count": 1, + "id": 90 + } + } + ], + "91": [ + { + "ingredients": [ + 637, + 82 + ], + "result": { + "count": 1, + "id": 91 + } + } + ], + "92": [ + { + "ingredients": [ + 636, + 82 + ], + "result": { + "count": 1, + "id": 92 + } + } + ], + "93": [ + { + "ingredients": [ + 647, + 82 + ], + "result": { + "count": 1, + "id": 93 + } + } + ], + "94": [ + { + "ingredients": [ + 648, + 82 + ], + "result": { + "count": 1, + "id": 94 + } + } + ], + "95": [ + { + "ingredients": [ + 633, + 82 + ], + "result": { + "count": 1, + "id": 95 + } + } + ], + "96": [ + { + "ingredients": [ + 632, + 82 + ], + "result": { + "count": 1, + "id": 96 + } + } + ], + "97": [ + { + "ingredients": [ + 649, + 82 + ], + "result": { + "count": 1, + "id": 97 + } + } + ], + "113": [ + { + "inShape": [ + [ + 531, + 531, + 531 + ], + [ + 531, + 531, + 531 + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 113 + } + } + ], + "114": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + 530, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 114 + } + } + ], + "115": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 6, + "id": 115 + } + } + ], + "116": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 6, + "id": 116 + } + } + ], + "117": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 6, + "id": 117 + } + } + ], + "118": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 6, + "id": 118 + } + } + ], + "119": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 6, + "id": 119 + } + } + ], + "120": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 6, + "id": 120 + } + } + ], + "121": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ] + ], + "result": { + "count": 6, + "id": 121 + } + } + ], + "122": [ + { + "inShape": [ + [ + 140, + 140, + 140 + ] + ], + "result": { + "count": 6, + "id": 122 + } + } + ], + "123": [ + { + "inShape": [ + [ + 68, + 68, + 68 + ] + ], + "result": { + "count": 6, + "id": 123 + } + }, + { + "inShape": [ + [ + 69, + 69, + 69 + ] + ], + "result": { + "count": 6, + "id": 123 + } + } + ], + "124": [ + { + "inShape": [ + [ + 70, + 70, + 70 + ] + ], + "result": { + "count": 6, + "id": 124 + } + } + ], + "126": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 6, + "id": 126 + } + } + ], + "127": [ + { + "inShape": [ + [ + 141, + 141, + 141 + ] + ], + "result": { + "count": 6, + "id": 127 + } + } + ], + "128": [ + { + "inShape": [ + [ + 205, + 205, + 205 + ] + ], + "result": { + "count": 6, + "id": 128 + } + } + ], + "129": [ + { + "inShape": [ + [ + 226, + 226, + 226 + ] + ], + "result": { + "count": 6, + "id": 129 + } + } + ], + "130": [ + { + "inShape": [ + [ + 275, + 275, + 275 + ] + ], + "result": { + "count": 6, + "id": 130 + } + }, + { + "inShape": [ + [ + 276, + 276, + 276 + ] + ], + "result": { + "count": 6, + "id": 130 + } + }, + { + "inShape": [ + [ + 277, + 277, + 277 + ] + ], + "result": { + "count": 6, + "id": 130 + } + } + ], + "131": [ + { + "inShape": [ + [ + 368, + 368, + 368 + ] + ], + "result": { + "count": 6, + "id": 131 + } + }, + { + "inShape": [ + [ + 369, + 369, + 369 + ] + ], + "result": { + "count": 6, + "id": 131 + } + } + ], + "132": [ + { + "inShape": [ + [ + 370, + 370, + 370 + ] + ], + "result": { + "count": 6, + "id": 132 + } + } + ], + "133": [ + { + "inShape": [ + [ + 150, + 150, + 150 + ] + ], + "result": { + "count": 6, + "id": 133 + } + }, + { + "inShape": [ + [ + 151, + 151, + 151 + ] + ], + "result": { + "count": 6, + "id": 133 + } + } + ], + "134": [ + { + "inShape": [ + [ + 361, + 361, + 361 + ] + ], + "result": { + "count": 6, + "id": 134 + } + } + ], + "135": [ + { + "inShape": [ + [ + 362, + 362, + 362 + ] + ], + "result": { + "count": 6, + "id": 135 + } + } + ], + "136": [ + { + "inShape": [ + [ + 363, + 363, + 363 + ] + ], + "result": { + "count": 6, + "id": 136 + } + } + ], + "141": [ + { + "inShape": [ + [ + 609, + 609 + ], + [ + 609, + 609 + ] + ], + "result": { + "count": 1, + "id": 141 + } + } + ], + "142": [ + { + "inShape": [ + [ + 554, + 26, + 554 + ], + [ + 26, + 554, + 26 + ], + [ + 554, + 26, + 554 + ] + ], + "result": { + "count": 1, + "id": 142 + } + }, + { + "inShape": [ + [ + 554, + 27, + 554 + ], + [ + 27, + 554, + 27 + ], + [ + 554, + 27, + 554 + ] + ], + "result": { + "count": 1, + "id": 142 + } + } + ], + "143": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 616, + 616, + 616 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 616, + 616, + 616 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 616, + 616, + 616 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 616, + 616, + 616 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 616, + 616, + 616 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 143 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 616, + 616, + 616 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 143 + } + } + ], + "144": [ + { + "ingredients": [ + 12, + 215 + ], + "result": { + "count": 1, + "id": 144 + } + } + ], + "146": [ + { + "inShape": [ + [ + 545 + ], + [ + 527 + ] + ], + "result": { + "count": 4, + "id": 146 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 528 + ] + ], + "result": { + "count": 4, + "id": 146 + } + } + ], + "147": [ + { + "inShape": [ + [ + 820 + ], + [ + 683 + ] + ], + "result": { + "count": 4, + "id": 147 + } + } + ], + "150": [ + { + "inShape": [ + [ + 820, + 820 + ], + [ + 820, + 820 + ] + ], + "result": { + "count": 4, + "id": 150 + } + } + ], + "151": [ + { + "inShape": [ + [ + 133 + ], + [ + 133 + ] + ], + "result": { + "count": 1, + "id": 151 + } + } + ], + "152": [ + { + "inShape": [ + [ + 150, + 150, + 150 + ], + [ + 150, + 150, + null + ], + [ + 150, + null, + null + ] + ], + "result": { + "count": 4, + "id": 152 + } + }, + { + "inShape": [ + [ + 151, + 151, + 151 + ], + [ + 151, + 151, + null + ], + [ + 151, + null, + null + ] + ], + "result": { + "count": 4, + "id": 152 + } + } + ], + "154": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + null + ], + [ + 13, + null, + null + ] + ], + "result": { + "count": 4, + "id": 154 + } + } + ], + "155": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 155 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 155 + } + } + ], + "157": [ + { + "inShape": [ + [ + 529, + 529, + 529 + ], + [ + 529, + 529, + 529 + ], + [ + 529, + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 157 + } + } + ], + "158": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 158 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 158 + } + } + ], + "160": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + null, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 160 + } + } + ], + "161": [ + { + "inShape": [ + [ + 545, + null, + 545 + ], + [ + 545, + 545, + 545 + ], + [ + 545, + null, + 545 + ] + ], + "result": { + "count": 3, + "id": 161 + } + } + ], + "162": [ + { + "inShape": [ + [ + 530, + null, + 530 + ], + [ + 530, + 545, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 16, + "id": 162 + } + } + ], + "163": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + 12, + null + ], + [ + 12, + null, + null + ] + ], + "result": { + "count": 4, + "id": 163 + } + } + ], + "164": [ + { + "inShape": [ + [ + 12 + ], + [ + 545 + ] + ], + "result": { + "count": 1, + "id": 164 + } + } + ], + "165": [ + { + "inShape": [ + [ + 1, + 1 + ] + ], + "result": { + "count": 1, + "id": 165 + } + } + ], + "166": [ + { + "inShape": [ + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 166 + } + } + ], + "167": [ + { + "inShape": [ + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 167 + } + } + ], + "168": [ + { + "inShape": [ + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 168 + } + } + ], + "169": [ + { + "inShape": [ + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 169 + } + } + ], + "170": [ + { + "inShape": [ + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 170 + } + } + ], + "171": [ + { + "inShape": [ + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 171 + } + } + ], + "173": [ + { + "inShape": [ + [ + 545 + ], + [ + 600 + ] + ], + "result": { + "count": 1, + "id": 173 + } + } + ], + "174": [ + { + "ingredients": [ + 1 + ], + "result": { + "count": 1, + "id": 174 + } + } + ], + "175": [ + { + "inShape": [ + [ + 177, + 177, + 177 + ] + ], + "result": { + "count": 6, + "id": 175 + } + } + ], + "177": [ + { + "inShape": [ + [ + 601, + 601 + ], + [ + 601, + 601 + ] + ], + "result": { + "count": 1, + "id": 177 + } + } + ], + "179": [ + { + "inShape": [ + [ + 610, + 610 + ], + [ + 610, + 610 + ] + ], + "result": { + "count": 1, + "id": 179 + } + } + ], + "180": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 529, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 529, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 529, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 529, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 529, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 529, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 180 + } + } + ], + "181": [ + { + "inShape": [ + [ + 13, + 545, + 13 + ], + [ + 13, + 545, + 13 + ] + ], + "result": { + "count": 3, + "id": 181 + } + } + ], + "182": [ + { + "inShape": [ + [ + 14, + 545, + 14 + ], + [ + 14, + 545, + 14 + ] + ], + "result": { + "count": 3, + "id": 182 + } + } + ], + "183": [ + { + "inShape": [ + [ + 15, + 545, + 15 + ], + [ + 15, + 545, + 15 + ] + ], + "result": { + "count": 3, + "id": 183 + } + } + ], + "184": [ + { + "inShape": [ + [ + 16, + 545, + 16 + ], + [ + 16, + 545, + 16 + ] + ], + "result": { + "count": 3, + "id": 184 + } + } + ], + "185": [ + { + "inShape": [ + [ + 17, + 545, + 17 + ], + [ + 17, + 545, + 17 + ] + ], + "result": { + "count": 3, + "id": 185 + } + } + ], + "186": [ + { + "inShape": [ + [ + 18, + 545, + 18 + ], + [ + 18, + 545, + 18 + ] + ], + "result": { + "count": 3, + "id": 186 + } + } + ], + "191": [ + { + "inShape": [ + [ + 624, + 624 + ], + [ + 624, + 624 + ] + ], + "result": { + "count": 1, + "id": 191 + } + } + ], + "192": [ + { + "inShape": [ + [ + 146 + ], + [ + 188 + ] + ], + "result": { + "count": 1, + "id": 192 + } + } + ], + "193": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 2, + "id": 193 + } + } + ], + "194": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 2, + "id": 194 + } + } + ], + "195": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 2, + "id": 195 + } + } + ], + "196": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 2, + "id": 196 + } + } + ], + "197": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 2, + "id": 197 + } + } + ], + "198": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 2, + "id": 198 + } + } + ], + "205": [ + { + "inShape": [ + [ + 1, + 1 + ], + [ + 1, + 1 + ] + ], + "result": { + "count": 4, + "id": 205 + } + } + ], + "206": [ + { + "ingredients": [ + 205, + 215 + ], + "result": { + "count": 1, + "id": 206 + } + } + ], + "208": [ + { + "inShape": [ + [ + 128 + ], + [ + 128 + ] + ], + "result": { + "count": 1, + "id": 208 + } + } + ], + "212": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 16, + "id": 212 + } + } + ], + "213": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 16, + "id": 213 + } + } + ], + "214": [ + { + "inShape": [ + [ + 673, + 673, + 673 + ], + [ + 673, + 673, + 673 + ], + [ + 673, + 673, + 673 + ] + ], + "result": { + "count": 1, + "id": 214 + } + } + ], + "216": [ + { + "inShape": [ + [ + 545, + 13, + 545 + ], + [ + 545, + 13, + 545 + ] + ], + "result": { + "count": 1, + "id": 216 + } + } + ], + "217": [ + { + "inShape": [ + [ + 545, + 14, + 545 + ], + [ + 545, + 14, + 545 + ] + ], + "result": { + "count": 1, + "id": 217 + } + } + ], + "218": [ + { + "inShape": [ + [ + 545, + 15, + 545 + ], + [ + 545, + 15, + 545 + ] + ], + "result": { + "count": 1, + "id": 218 + } + } + ], + "219": [ + { + "inShape": [ + [ + 545, + 16, + 545 + ], + [ + 545, + 16, + 545 + ] + ], + "result": { + "count": 1, + "id": 219 + } + } + ], + "220": [ + { + "inShape": [ + [ + 545, + 17, + 545 + ], + [ + 545, + 17, + 545 + ] + ], + "result": { + "count": 1, + "id": 220 + } + } + ], + "221": [ + { + "inShape": [ + [ + 545, + 18, + 545 + ], + [ + 545, + 18, + 545 + ] + ], + "result": { + "count": 1, + "id": 221 + } + } + ], + "222": [ + { + "inShape": [ + [ + 141, + 141, + 141 + ], + [ + 141, + 141, + null + ], + [ + 141, + null, + null + ] + ], + "result": { + "count": 4, + "id": 222 + } + } + ], + "223": [ + { + "inShape": [ + [ + 205, + 205, + 205 + ], + [ + 205, + 205, + null + ], + [ + 205, + null, + null + ] + ], + "result": { + "count": 4, + "id": 223 + } + } + ], + "226": [ + { + "inShape": [ + [ + 781, + 781 + ], + [ + 781, + 781 + ] + ], + "result": { + "count": 1, + "id": 226 + } + } + ], + "227": [ + { + "inShape": [ + [ + 226, + 781, + 226 + ], + [ + 226, + 781, + 226 + ] + ], + "result": { + "count": 6, + "id": 227 + } + } + ], + "228": [ + { + "inShape": [ + [ + 226, + 226, + 226 + ], + [ + 226, + 226, + null + ], + [ + 226, + null, + null + ] + ], + "result": { + "count": 4, + "id": 228 + } + } + ], + "229": [ + { + "inShape": [ + [ + 145, + 145, + 145 + ], + [ + 529, + 145, + 529 + ], + [ + null, + 616, + null + ] + ], + "result": { + "count": 1, + "id": 229 + } + } + ], + "232": [ + { + "inShape": [ + [ + 231, + 231 + ], + [ + 231, + 231 + ] + ], + "result": { + "count": 4, + "id": 232 + } + } + ], + "234": [ + { + "inShape": [ + [ + null, + 600, + null + ], + [ + 600, + 191, + 600 + ], + [ + null, + 600, + null + ] + ], + "result": { + "count": 1, + "id": 234 + } + } + ], + "235": [ + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 68, + 68, + null + ], + [ + 68, + null, + null + ] + ], + "result": { + "count": 4, + "id": 235 + } + }, + { + "inShape": [ + [ + 69, + 69, + 69 + ], + [ + 69, + 69, + null + ], + [ + 69, + null, + null + ] + ], + "result": { + "count": 4, + "id": 235 + } + }, + { + "inShape": [ + [ + 70, + 70, + 70 + ], + [ + 70, + 70, + null + ], + [ + 70, + null, + null + ] + ], + "result": { + "count": 4, + "id": 235 + } + } + ], + "237": [ + { + "inShape": [ + [ + 145, + 145, + 145 + ], + [ + 145, + 695, + 145 + ], + [ + 145, + 145, + 145 + ] + ], + "result": { + "count": 1, + "id": 237 + } + } + ], + "238": [ + { + "inShape": [ + [ + 13 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 14 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 15 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 16 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 17 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + }, + { + "inShape": [ + [ + 18 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 2, + "id": 238 + } + } + ], + "239": [ + { + "inShape": [ + [ + 760, + 760, + 760 + ], + [ + 760, + 760, + 760 + ], + [ + 760, + 760, + 760 + ] + ], + "result": { + "count": 1, + "id": 239 + } + } + ], + "240": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + null + ], + [ + 14, + null, + null + ] + ], + "result": { + "count": 4, + "id": 240 + } + } + ], + "241": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + null + ], + [ + 15, + null, + null + ] + ], + "result": { + "count": 4, + "id": 241 + } + } + ], + "242": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + null + ], + [ + 16, + null, + null + ] + ], + "result": { + "count": 4, + "id": 242 + } + } + ], + "244": [ + { + "inShape": [ + [ + 145, + 145, + 145 + ], + [ + 64, + 776, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 244 + } + } + ], + "245": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 6, + "id": 245 + } + } + ], + "246": [ + { + "inShape": [ + [ + 144, + 144, + 144 + ], + [ + 144, + 144, + 144 + ] + ], + "result": { + "count": 6, + "id": 246 + } + } + ], + "247": [ + { + "inShape": [ + [ + 141, + 141, + 141 + ], + [ + 141, + 141, + 141 + ] + ], + "result": { + "count": 6, + "id": 247 + } + } + ], + "248": [ + { + "inShape": [ + [ + 361, + 361, + 361 + ], + [ + 361, + 361, + 361 + ] + ], + "result": { + "count": 6, + "id": 248 + } + } + ], + "249": [ + { + "inShape": [ + [ + 368, + 368, + 368 + ], + [ + 368, + 368, + 368 + ] + ], + "result": { + "count": 6, + "id": 249 + } + } + ], + "250": [ + { + "inShape": [ + [ + 206, + 206, + 206 + ], + [ + 206, + 206, + 206 + ] + ], + "result": { + "count": 6, + "id": 250 + } + } + ], + "251": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ], + [ + 2, + 2, + 2 + ] + ], + "result": { + "count": 6, + "id": 251 + } + } + ], + "252": [ + { + "inShape": [ + [ + 205, + 205, + 205 + ], + [ + 205, + 205, + 205 + ] + ], + "result": { + "count": 6, + "id": 252 + } + } + ], + "253": [ + { + "inShape": [ + [ + 226, + 226, + 226 + ], + [ + 226, + 226, + 226 + ] + ], + "result": { + "count": 6, + "id": 253 + } + } + ], + "254": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ], + [ + 6, + 6, + 6 + ] + ], + "result": { + "count": 6, + "id": 254 + } + } + ], + "255": [ + { + "inShape": [ + [ + 376, + 376, + 376 + ], + [ + 376, + 376, + 376 + ] + ], + "result": { + "count": 6, + "id": 255 + } + } + ], + "256": [ + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 68, + 68, + 68 + ] + ], + "result": { + "count": 6, + "id": 256 + } + } + ], + "257": [ + { + "inShape": [ + [ + 232, + 232, + 232 + ], + [ + 232, + 232, + 232 + ] + ], + "result": { + "count": 6, + "id": 257 + } + } + ], + "258": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 258 + } + } + ], + "259": [ + { + "ingredients": [ + 13 + ], + "result": { + "count": 1, + "id": 259 + } + } + ], + "260": [ + { + "ingredients": [ + 14 + ], + "result": { + "count": 1, + "id": 260 + } + } + ], + "261": [ + { + "ingredients": [ + 15 + ], + "result": { + "count": 1, + "id": 261 + } + } + ], + "262": [ + { + "ingredients": [ + 16 + ], + "result": { + "count": 1, + "id": 262 + } + } + ], + "263": [ + { + "ingredients": [ + 17 + ], + "result": { + "count": 1, + "id": 263 + } + } + ], + "264": [ + { + "ingredients": [ + 18 + ], + "result": { + "count": 1, + "id": 264 + } + } + ], + "265": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + null, + 530, + null + ], + [ + 114, + 114, + 114 + ] + ], + "result": { + "count": 1, + "id": 265 + } + } + ], + "268": [ + { + "ingredients": [ + 155, + 238 + ], + "result": { + "count": 1, + "id": 268 + } + } + ], + "269": [ + { + "inShape": [ + [ + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 269 + } + } + ], + "270": [ + { + "inShape": [ + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 270 + } + } + ], + "271": [ + { + "inShape": [ + [ + 115, + 115, + 115 + ], + [ + 782, + 782, + 782 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 116, + 116, + 116 + ], + [ + 782, + 782, + 782 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 117, + 117, + 117 + ], + [ + 782, + 782, + 782 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 118, + 118, + 118 + ], + [ + 782, + 782, + 782 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 119, + 119, + 119 + ], + [ + 782, + 782, + 782 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + }, + { + "inShape": [ + [ + 120, + 120, + 120 + ], + [ + 782, + 782, + 782 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 271 + } + } + ], + "272": [ + { + "inShape": [ + [ + 600, + 600, + 600 + ], + [ + 600, + 600, + 600 + ], + [ + 600, + 600, + 600 + ] + ], + "result": { + "count": 1, + "id": 272 + } + } + ], + "274": [ + { + "inShape": [ + [ + null, + 530, + null + ], + [ + 530, + 155, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 274 + } + } + ], + "275": [ + { + "inShape": [ + [ + 130 + ], + [ + 130 + ] + ], + "result": { + "count": 1, + "id": 275 + } + } + ], + "276": [ + { + "inShape": [ + [ + 782, + 782 + ], + [ + 782, + 782 + ] + ], + "result": { + "count": 1, + "id": 276 + } + } + ], + "277": [ + { + "inShape": [ + [ + 276 + ], + [ + 276 + ] + ], + "result": { + "count": 2, + "id": 277 + } + } + ], + "278": [ + { + "inShape": [ + [ + 275, + 275, + 275 + ], + [ + 275, + 275, + null + ], + [ + 275, + null, + null + ] + ], + "result": { + "count": 4, + "id": 278 + } + }, + { + "inShape": [ + [ + 276, + 276, + 276 + ], + [ + 276, + 276, + null + ], + [ + 276, + null, + null + ] + ], + "result": { + "count": 4, + "id": 278 + } + }, + { + "inShape": [ + [ + 277, + 277, + 277 + ], + [ + 277, + 277, + null + ], + [ + 277, + null, + null + ] + ], + "result": { + "count": 4, + "id": 278 + } + } + ], + "279": [ + { + "inShape": [ + [ + 530, + 545, + 530 + ], + [ + 530, + 173, + 530 + ], + [ + 530, + 545, + 530 + ] + ], + "result": { + "count": 6, + "id": 279 + } + } + ], + "280": [ + { + "inShape": [ + [ + 12, + 600, + 12 + ], + [ + 12, + null, + 12 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 280 + } + } + ], + "281": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 650, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 281 + } + } + ], + "282": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 645, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 282 + } + } + ], + "283": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 644, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 283 + } + } + ], + "284": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 643, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 284 + } + } + ], + "285": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 642, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 285 + } + } + ], + "286": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 641, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 286 + } + } + ], + "287": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 640, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 287 + } + } + ], + "288": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 639, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 288 + } + } + ], + "289": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 638, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 289 + } + } + ], + "290": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 637, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 290 + } + } + ], + "291": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 636, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 291 + } + } + ], + "292": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 647, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 292 + } + } + ], + "293": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 648, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 293 + } + } + ], + "294": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 633, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 294 + } + } + ], + "295": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 632, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 295 + } + } + ], + "296": [ + { + "inShape": [ + [ + 316, + 316, + 316 + ], + [ + 316, + 649, + 316 + ], + [ + 316, + 316, + 316 + ] + ], + "result": { + "count": 8, + "id": 296 + } + } + ], + "298": [ + { + "inShape": [ + [ + 530, + 530 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 298 + } + } + ], + "299": [ + { + "inShape": [ + [ + 561, + 561, + 561 + ], + [ + 561, + 561, + 561 + ], + [ + 561, + 561, + 561 + ] + ], + "result": { + "count": 1, + "id": 299 + } + } + ], + "300": [ + { + "inShape": [ + [ + 82, + 82 + ] + ], + "result": { + "count": 3, + "id": 300 + } + } + ], + "301": [ + { + "inShape": [ + [ + 83, + 83 + ] + ], + "result": { + "count": 3, + "id": 301 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 645, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 301 + } + } + ], + "302": [ + { + "inShape": [ + [ + 84, + 84 + ] + ], + "result": { + "count": 3, + "id": 302 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 644, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 302 + } + } + ], + "303": [ + { + "inShape": [ + [ + 85, + 85 + ] + ], + "result": { + "count": 3, + "id": 303 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 643, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 303 + } + } + ], + "304": [ + { + "inShape": [ + [ + 86, + 86 + ] + ], + "result": { + "count": 3, + "id": 304 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 642, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 304 + } + } + ], + "305": [ + { + "inShape": [ + [ + 87, + 87 + ] + ], + "result": { + "count": 3, + "id": 305 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 641, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 305 + } + } + ], + "306": [ + { + "inShape": [ + [ + 88, + 88 + ] + ], + "result": { + "count": 3, + "id": 306 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 640, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 306 + } + } + ], + "307": [ + { + "inShape": [ + [ + 89, + 89 + ] + ], + "result": { + "count": 3, + "id": 307 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 639, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 307 + } + } + ], + "308": [ + { + "inShape": [ + [ + 90, + 90 + ] + ], + "result": { + "count": 3, + "id": 308 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 638, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 308 + } + } + ], + "309": [ + { + "inShape": [ + [ + 91, + 91 + ] + ], + "result": { + "count": 3, + "id": 309 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 637, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 309 + } + } + ], + "310": [ + { + "inShape": [ + [ + 92, + 92 + ] + ], + "result": { + "count": 3, + "id": 310 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 636, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 310 + } + } + ], + "311": [ + { + "inShape": [ + [ + 93, + 93 + ] + ], + "result": { + "count": 3, + "id": 311 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 647, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 311 + } + } + ], + "312": [ + { + "inShape": [ + [ + 94, + 94 + ] + ], + "result": { + "count": 3, + "id": 312 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 648, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 312 + } + } + ], + "313": [ + { + "inShape": [ + [ + 95, + 95 + ] + ], + "result": { + "count": 3, + "id": 313 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 633, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 313 + } + } + ], + "314": [ + { + "inShape": [ + [ + 96, + 96 + ] + ], + "result": { + "count": 3, + "id": 314 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 632, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 314 + } + } + ], + "315": [ + { + "inShape": [ + [ + 97, + 97 + ] + ], + "result": { + "count": 3, + "id": 315 + } + }, + { + "inShape": [ + [ + 300, + 300, + 300 + ], + [ + 300, + 649, + 300 + ], + [ + 300, + 300, + 300 + ] + ], + "result": { + "count": 8, + "id": 315 + } + } + ], + "317": [ + { + "inShape": [ + [ + 527, + 527, + 527 + ], + [ + 527, + 527, + 527 + ], + [ + 527, + 527, + 527 + ] + ], + "result": { + "count": 1, + "id": 317 + } + } + ], + "318": [ + { + "ingredients": [ + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176 + ], + "result": { + "count": 1, + "id": 318 + } + } + ], + "319": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + null + ], + [ + 17, + null, + null + ] + ], + "result": { + "count": 4, + "id": 319 + } + } + ], + "320": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + null + ], + [ + 18, + null, + null + ] + ], + "result": { + "count": 4, + "id": 320 + } + } + ], + "321": [ + { + "inShape": [ + [ + 617, + 617, + 617 + ], + [ + 617, + 617, + 617 + ], + [ + 617, + 617, + 617 + ] + ], + "result": { + "count": 1, + "id": 321 + } + } + ], + "329": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 650, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 329 + } + } + ], + "330": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 645, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 330 + } + } + ], + "331": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 644, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 331 + } + } + ], + "332": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 643, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 332 + } + } + ], + "333": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 642, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 333 + } + } + ], + "334": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 641, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 334 + } + } + ], + "335": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 640, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 335 + } + } + ], + "336": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 639, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 336 + } + } + ], + "337": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 638, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 337 + } + } + ], + "338": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 637, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 338 + } + } + ], + "339": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 636, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 339 + } + } + ], + "340": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 647, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 340 + } + } + ], + "341": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 648, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 341 + } + } + ], + "342": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 633, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 342 + } + } + ], + "343": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 632, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 343 + } + } + ], + "344": [ + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 64, + 649, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 8, + "id": 344 + } + } + ], + "345": [ + { + "inShape": [ + [ + 329, + 329, + 329 + ], + [ + 329, + 329, + 329 + ] + ], + "result": { + "count": 16, + "id": 345 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 650, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 345 + } + } + ], + "346": [ + { + "inShape": [ + [ + 330, + 330, + 330 + ], + [ + 330, + 330, + 330 + ] + ], + "result": { + "count": 16, + "id": 346 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 645, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 346 + } + } + ], + "347": [ + { + "inShape": [ + [ + 331, + 331, + 331 + ], + [ + 331, + 331, + 331 + ] + ], + "result": { + "count": 16, + "id": 347 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 644, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 347 + } + } + ], + "348": [ + { + "inShape": [ + [ + 332, + 332, + 332 + ], + [ + 332, + 332, + 332 + ] + ], + "result": { + "count": 16, + "id": 348 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 643, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 348 + } + } + ], + "349": [ + { + "inShape": [ + [ + 333, + 333, + 333 + ], + [ + 333, + 333, + 333 + ] + ], + "result": { + "count": 16, + "id": 349 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 642, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 349 + } + } + ], + "350": [ + { + "inShape": [ + [ + 334, + 334, + 334 + ], + [ + 334, + 334, + 334 + ] + ], + "result": { + "count": 16, + "id": 350 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 641, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 350 + } + } + ], + "351": [ + { + "inShape": [ + [ + 335, + 335, + 335 + ], + [ + 335, + 335, + 335 + ] + ], + "result": { + "count": 16, + "id": 351 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 640, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 351 + } + } + ], + "352": [ + { + "inShape": [ + [ + 336, + 336, + 336 + ], + [ + 336, + 336, + 336 + ] + ], + "result": { + "count": 16, + "id": 352 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 639, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 352 + } + } + ], + "353": [ + { + "inShape": [ + [ + 337, + 337, + 337 + ], + [ + 337, + 337, + 337 + ] + ], + "result": { + "count": 16, + "id": 353 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 638, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 353 + } + } + ], + "354": [ + { + "inShape": [ + [ + 338, + 338, + 338 + ], + [ + 338, + 338, + 338 + ] + ], + "result": { + "count": 16, + "id": 354 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 637, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 354 + } + } + ], + "355": [ + { + "inShape": [ + [ + 339, + 339, + 339 + ], + [ + 339, + 339, + 339 + ] + ], + "result": { + "count": 16, + "id": 355 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 636, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 355 + } + } + ], + "356": [ + { + "inShape": [ + [ + 340, + 340, + 340 + ], + [ + 340, + 340, + 340 + ] + ], + "result": { + "count": 16, + "id": 356 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 647, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 356 + } + } + ], + "357": [ + { + "inShape": [ + [ + 341, + 341, + 341 + ], + [ + 341, + 341, + 341 + ] + ], + "result": { + "count": 16, + "id": 357 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 648, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 357 + } + } + ], + "358": [ + { + "inShape": [ + [ + 342, + 342, + 342 + ], + [ + 342, + 342, + 342 + ] + ], + "result": { + "count": 16, + "id": 358 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 633, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 358 + } + } + ], + "359": [ + { + "inShape": [ + [ + 343, + 343, + 343 + ], + [ + 343, + 343, + 343 + ] + ], + "result": { + "count": 16, + "id": 359 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 632, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 359 + } + } + ], + "360": [ + { + "inShape": [ + [ + 344, + 344, + 344 + ], + [ + 344, + 344, + 344 + ] + ], + "result": { + "count": 16, + "id": 360 + } + }, + { + "inShape": [ + [ + 213, + 213, + 213 + ], + [ + 213, + 649, + 213 + ], + [ + 213, + 213, + 213 + ] + ], + "result": { + "count": 8, + "id": 360 + } + } + ], + "361": [ + { + "inShape": [ + [ + 785, + 785 + ], + [ + 785, + 785 + ] + ], + "result": { + "count": 1, + "id": 361 + } + } + ], + "362": [ + { + "inShape": [ + [ + 785, + 785, + 785 + ], + [ + 785, + 785, + 785 + ], + [ + 785, + 785, + 785 + ] + ], + "result": { + "count": 1, + "id": 362 + } + } + ], + "363": [ + { + "inShape": [ + [ + 785, + 785, + 785 + ], + [ + 785, + 649, + 785 + ], + [ + 785, + 785, + 785 + ] + ], + "result": { + "count": 1, + "id": 363 + } + } + ], + "364": [ + { + "inShape": [ + [ + 361, + 361, + 361 + ], + [ + 361, + 361, + null + ], + [ + 361, + null, + null + ] + ], + "result": { + "count": 4, + "id": 364 + } + } + ], + "365": [ + { + "inShape": [ + [ + 362, + 362, + 362 + ], + [ + 362, + 362, + null + ], + [ + 362, + null, + null + ] + ], + "result": { + "count": 4, + "id": 365 + } + } + ], + "366": [ + { + "inShape": [ + [ + 363, + 363, + 363 + ], + [ + 363, + 363, + null + ], + [ + 363, + null, + null + ] + ], + "result": { + "count": 4, + "id": 366 + } + } + ], + "367": [ + { + "inShape": [ + [ + 785, + 786, + 785 + ], + [ + 786, + 786, + 786 + ], + [ + 785, + 786, + 785 + ] + ], + "result": { + "count": 1, + "id": 367 + } + } + ], + "368": [ + { + "inShape": [ + [ + 27, + 27 + ], + [ + 27, + 27 + ] + ], + "result": { + "count": 1, + "id": 368 + } + } + ], + "369": [ + { + "inShape": [ + [ + 131 + ], + [ + 131 + ] + ], + "result": { + "count": 1, + "id": 369 + } + } + ], + "370": [ + { + "inShape": [ + [ + 368, + 368 + ], + [ + 368, + 368 + ] + ], + "result": { + "count": 4, + "id": 370 + } + } + ], + "371": [ + { + "inShape": [ + [ + 368, + 368, + 368 + ], + [ + 368, + 368, + null + ], + [ + 368, + null, + null + ] + ], + "result": { + "count": 4, + "id": 371 + } + }, + { + "inShape": [ + [ + 369, + 369, + 369 + ], + [ + 369, + 369, + null + ], + [ + 369, + null, + null + ] + ], + "result": { + "count": 4, + "id": 371 + } + }, + { + "inShape": [ + [ + 370, + 370, + 370 + ], + [ + 370, + 370, + null + ], + [ + 370, + null, + null + ] + ], + "result": { + "count": 4, + "id": 371 + } + } + ], + "374": [ + { + "inShape": [ + [ + 692, + 692 + ], + [ + 692, + 692 + ] + ], + "result": { + "count": 1, + "id": 374 + } + } + ], + "375": [ + { + "inShape": [ + [ + 686, + 686, + 686 + ], + [ + 686, + 686, + 686 + ], + [ + 686, + 686, + 686 + ] + ], + "result": { + "count": 1, + "id": 375 + } + } + ], + "376": [ + { + "inShape": [ + [ + 686, + 781 + ], + [ + 781, + 686 + ] + ], + "result": { + "count": 1, + "id": 376 + } + } + ], + "377": [ + { + "inShape": [ + [ + 646, + 646, + 646 + ], + [ + 646, + 646, + 646 + ], + [ + 646, + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 377 + } + } + ], + "379": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + 600, + 600, + 782 + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 379 + } + } + ], + "380": [ + { + "inShape": [ + [ + 837 + ], + [ + 155 + ], + [ + 837 + ] + ], + "result": { + "count": 1, + "id": 380 + } + } + ], + "429": [ + { + "ingredients": [ + 650, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 429 + } + } + ], + "430": [ + { + "ingredients": [ + 645, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 430 + } + } + ], + "431": [ + { + "ingredients": [ + 644, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 431 + } + } + ], + "432": [ + { + "ingredients": [ + 643, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 432 + } + } + ], + "433": [ + { + "ingredients": [ + 642, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 433 + } + } + ], + "434": [ + { + "ingredients": [ + 641, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 434 + } + } + ], + "435": [ + { + "ingredients": [ + 640, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 435 + } + } + ], + "436": [ + { + "ingredients": [ + 639, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 436 + } + } + ], + "437": [ + { + "ingredients": [ + 638, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 437 + } + } + ], + "438": [ + { + "ingredients": [ + 637, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 438 + } + } + ], + "439": [ + { + "ingredients": [ + 636, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 439 + } + } + ], + "440": [ + { + "ingredients": [ + 647, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 440 + } + } + ], + "441": [ + { + "ingredients": [ + 648, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 441 + } + } + ], + "442": [ + { + "ingredients": [ + 633, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 442 + } + } + ], + "443": [ + { + "ingredients": [ + 632, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 443 + } + } + ], + "444": [ + { + "ingredients": [ + 649, + 26, + 26, + 26, + 26, + 28, + 28, + 28, + 28 + ], + "result": { + "count": 8, + "id": 444 + } + } + ], + "476": [ + { + "inShape": [ + [ + 318, + 318, + 318 + ], + [ + 318, + 318, + 318 + ], + [ + 318, + 318, + 318 + ] + ], + "result": { + "count": 1, + "id": 476 + } + } + ], + "477": [ + { + "inShape": [ + [ + 855, + 855, + 855 + ], + [ + 855, + 856, + 855 + ], + [ + 855, + 855, + 855 + ] + ], + "result": { + "count": 1, + "id": 477 + } + } + ], + "478": [ + { + "inShape": [ + [ + 3, + 3, + 3 + ], + [ + 3, + 3, + null + ], + [ + 3, + null, + null + ] + ], + "result": { + "count": 4, + "id": 478 + } + } + ], + "479": [ + { + "inShape": [ + [ + 138, + 138, + 138 + ], + [ + 138, + 138, + null + ], + [ + 138, + null, + null + ] + ], + "result": { + "count": 4, + "id": 479 + } + } + ], + "480": [ + { + "inShape": [ + [ + 206, + 206, + 206 + ], + [ + 206, + 206, + null + ], + [ + 206, + null, + null + ] + ], + "result": { + "count": 4, + "id": 480 + } + } + ], + "481": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 5, + null + ], + [ + 5, + null, + null + ] + ], + "result": { + "count": 4, + "id": 481 + } + } + ], + "482": [ + { + "inShape": [ + [ + 144, + 144, + 144 + ], + [ + 144, + 144, + null + ], + [ + 144, + null, + null + ] + ], + "result": { + "count": 4, + "id": 482 + } + } + ], + "483": [ + { + "inShape": [ + [ + 232, + 232, + 232 + ], + [ + 232, + 232, + null + ], + [ + 232, + null, + null + ] + ], + "result": { + "count": 4, + "id": 483 + } + } + ], + "484": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 1, + 1, + null + ], + [ + 1, + null, + null + ] + ], + "result": { + "count": 4, + "id": 484 + } + } + ], + "485": [ + { + "inShape": [ + [ + 139, + 139, + 139 + ], + [ + 139, + 139, + null + ], + [ + 139, + null, + null + ] + ], + "result": { + "count": 4, + "id": 485 + } + } + ], + "486": [ + { + "inShape": [ + [ + 137, + 137, + 137 + ], + [ + 137, + 137, + null + ], + [ + 137, + null, + null + ] + ], + "result": { + "count": 4, + "id": 486 + } + } + ], + "487": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ], + [ + 2, + 2, + null + ], + [ + 2, + null, + null + ] + ], + "result": { + "count": 4, + "id": 487 + } + } + ], + "488": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ], + [ + 6, + 6, + null + ], + [ + 6, + null, + null + ] + ], + "result": { + "count": 4, + "id": 488 + } + } + ], + "489": [ + { + "inShape": [ + [ + 376, + 376, + 376 + ], + [ + 376, + 376, + null + ], + [ + 376, + null, + null + ] + ], + "result": { + "count": 4, + "id": 489 + } + } + ], + "490": [ + { + "inShape": [ + [ + 7, + 7, + 7 + ], + [ + 7, + 7, + null + ], + [ + 7, + null, + null + ] + ], + "result": { + "count": 4, + "id": 490 + } + } + ], + "491": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + null + ], + [ + 4, + null, + null + ] + ], + "result": { + "count": 4, + "id": 491 + } + } + ], + "492": [ + { + "inShape": [ + [ + 3, + 3, + 3 + ] + ], + "result": { + "count": 6, + "id": 492 + } + } + ], + "493": [ + { + "inShape": [ + [ + 138, + 138, + 138 + ] + ], + "result": { + "count": 6, + "id": 493 + } + } + ], + "494": [ + { + "inShape": [ + [ + 206, + 206, + 206 + ] + ], + "result": { + "count": 6, + "id": 494 + } + } + ], + "495": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 6, + "id": 495 + } + } + ], + "496": [ + { + "inShape": [ + [ + 144, + 144, + 144 + ] + ], + "result": { + "count": 6, + "id": 496 + } + } + ], + "497": [ + { + "inShape": [ + [ + 232, + 232, + 232 + ] + ], + "result": { + "count": 6, + "id": 497 + } + } + ], + "498": [ + { + "inShape": [ + [ + 139, + 139, + 139 + ] + ], + "result": { + "count": 6, + "id": 498 + } + } + ], + "499": [ + { + "inShape": [ + [ + 137, + 137, + 137 + ] + ], + "result": { + "count": 6, + "id": 499 + } + } + ], + "500": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ] + ], + "result": { + "count": 6, + "id": 500 + } + } + ], + "501": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ] + ], + "result": { + "count": 6, + "id": 501 + } + } + ], + "502": [ + { + "inShape": [ + [ + 376, + 376, + 376 + ] + ], + "result": { + "count": 6, + "id": 502 + } + } + ], + "503": [ + { + "inShape": [ + [ + 7, + 7, + 7 + ] + ], + "result": { + "count": 6, + "id": 503 + } + } + ], + "504": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 504 + } + } + ], + "505": [ + { + "inShape": [ + [ + 614, + null, + 614 + ], + [ + 614, + null, + 614 + ], + [ + 614, + 552, + 614 + ] + ], + "result": { + "count": 6, + "id": 505 + } + } + ], + "506": [ + { + "inShape": [ + [ + 530, + 530 + ], + [ + 530, + 530 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 3, + "id": 506 + } + } + ], + "507": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 3, + "id": 507 + } + } + ], + "508": [ + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 3, + "id": 508 + } + } + ], + "509": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 3, + "id": 509 + } + } + ], + "510": [ + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 3, + "id": 510 + } + } + ], + "511": [ + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 3, + "id": 511 + } + } + ], + "512": [ + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 3, + "id": 512 + } + } + ], + "513": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 173, + 600, + 173 + ] + ], + "result": { + "count": 1, + "id": 513 + } + } + ], + "514": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 173, + 782, + 173 + ], + [ + null, + 173, + null + ] + ], + "result": { + "count": 1, + "id": 514 + } + } + ], + "517": [ + { + "inShape": [ + [ + 115, + 115, + 115 + ], + [ + 115, + null, + 115 + ], + [ + 115, + null, + 115 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 116, + 116, + 116 + ], + [ + 116, + null, + 116 + ], + [ + 116, + null, + 116 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 117, + 117, + 117 + ], + [ + 117, + null, + 117 + ], + [ + 117, + null, + 117 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 118, + 118, + 118 + ], + [ + 118, + null, + 118 + ], + [ + 118, + null, + 118 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 119, + 119, + 119 + ], + [ + 119, + null, + 119 + ], + [ + 119, + null, + 119 + ] + ], + "result": { + "count": 1, + "id": 517 + } + }, + { + "inShape": [ + [ + 120, + 120, + 120 + ], + [ + 120, + null, + 120 + ], + [ + 120, + null, + 120 + ] + ], + "result": { + "count": 1, + "id": 517 + } + } + ], + "518": [ + { + "inShape": [ + [ + 519, + null, + 519 + ], + [ + 519, + 519, + 519 + ] + ], + "result": { + "count": 1, + "id": 518 + } + } + ], + "520": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 530 + ] + ], + "result": { + "count": 1, + "id": 520 + } + } + ], + "521": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 521 + } + } + ], + "522": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 530, + 545 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 522 + } + } + ], + "523": [ + { + "ingredients": [ + 530, + 583 + ], + "result": { + "count": 1, + "id": 523 + } + } + ], + "525": [ + { + "inShape": [ + [ + null, + 545, + 552 + ], + [ + 545, + null, + 552 + ], + [ + null, + 545, + 552 + ] + ], + "result": { + "count": 1, + "id": 525 + } + } + ], + "526": [ + { + "inShape": [ + [ + 553 + ], + [ + 545 + ], + [ + 583 + ] + ], + "result": { + "count": 4, + "id": 526 + } + } + ], + "527": [ + { + "ingredients": [ + 317 + ], + "result": { + "count": 9, + "id": 527 + } + } + ], + "529": [ + { + "ingredients": [ + 157 + ], + "result": { + "count": 9, + "id": 529 + } + } + ], + "530": [ + { + "ingredients": [ + 114 + ], + "result": { + "count": 9, + "id": 530 + } + }, + { + "inShape": [ + [ + 838, + 838, + 838 + ], + [ + 838, + 838, + 838 + ], + [ + 838, + 838, + 838 + ] + ], + "result": { + "count": 1, + "id": 530 + } + } + ], + "531": [ + { + "ingredients": [ + 113 + ], + "result": { + "count": 9, + "id": 531 + } + }, + { + "inShape": [ + [ + 685, + 685, + 685 + ], + [ + 685, + 685, + 685 + ], + [ + 685, + 685, + 685 + ] + ], + "result": { + "count": 1, + "id": 531 + } + } + ], + "532": [ + { + "inShape": [ + [ + 545 + ], + [ + 530 + ], + [ + 530 + ] + ], + "result": { + "count": 1, + "id": 532 + } + } + ], + "533": [ + { + "inShape": [ + [ + 545 + ], + [ + 13 + ], + [ + 13 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 14 + ], + [ + 14 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 15 + ], + [ + 15 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 16 + ], + [ + 16 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 17 + ], + [ + 17 + ] + ], + "result": { + "count": 1, + "id": 533 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 18 + ], + [ + 18 + ] + ], + "result": { + "count": 1, + "id": 533 + } + } + ], + "534": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 13 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 14 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 15 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 16 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 17 + ] + ], + "result": { + "count": 1, + "id": 534 + } + }, + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 18 + ] + ], + "result": { + "count": 1, + "id": 534 + } + } + ], + "535": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 535 + } + }, + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 535 + } + } + ], + "536": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 13, + 545 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 14, + 545 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 15, + 545 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 16, + 545 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 17, + 545 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 536 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + 18, + 545 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 536 + } + } + ], + "537": [ + { + "inShape": [ + [ + 545 + ], + [ + 12 + ], + [ + 12 + ] + ], + "result": { + "count": 1, + "id": 537 + } + } + ], + "538": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 12 + ] + ], + "result": { + "count": 1, + "id": 538 + } + } + ], + "539": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 12, + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 539 + } + } + ], + "540": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 12, + 545 + ], + [ + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 540 + } + } + ], + "541": [ + { + "inShape": [ + [ + 545 + ], + [ + 529 + ], + [ + 529 + ] + ], + "result": { + "count": 1, + "id": 541 + } + } + ], + "542": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 529 + ] + ], + "result": { + "count": 1, + "id": 542 + } + } + ], + "543": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 529, + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 543 + } + } + ], + "544": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 529, + 545 + ], + [ + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 544 + } + } + ], + "545": [ + { + "inShape": [ + [ + 13 + ], + [ + 13 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 14 + ], + [ + 14 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 15 + ], + [ + 15 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 16 + ], + [ + 16 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 17 + ], + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 18 + ], + [ + 18 + ] + ], + "result": { + "count": 4, + "id": 545 + } + }, + { + "inShape": [ + [ + 614 + ], + [ + 614 + ] + ], + "result": { + "count": 1, + "id": 545 + } + } + ], + "546": [ + { + "inShape": [ + [ + null, + 13, + null + ], + [ + 13, + null, + 13 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 14, + null + ], + [ + 14, + null, + 14 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 15, + null + ], + [ + 15, + null, + 15 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 16, + null + ], + [ + 16, + null, + 16 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 17, + null + ], + [ + 17, + null, + 17 + ] + ], + "result": { + "count": 4, + "id": 546 + } + }, + { + "inShape": [ + [ + null, + 18, + null + ], + [ + 18, + null, + 18 + ] + ], + "result": { + "count": 4, + "id": 546 + } + } + ], + "547": [ + { + "ingredients": [ + 111, + 112, + 546 + ], + "result": { + "count": 1, + "id": 547 + } + } + ], + "548": [ + { + "inShape": [ + [ + 545 + ], + [ + 531 + ], + [ + 531 + ] + ], + "result": { + "count": 1, + "id": 548 + } + } + ], + "549": [ + { + "inShape": [ + [ + 545 + ], + [ + 545 + ], + [ + 531 + ] + ], + "result": { + "count": 1, + "id": 549 + } + } + ], + "550": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + null, + 545, + null + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 550 + } + } + ], + "551": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + 531, + 545 + ], + [ + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 551 + } + } + ], + "555": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 555 + } + }, + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 555 + } + } + ], + "556": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 12, + 12 + ] + ], + "result": { + "count": 1, + "id": 556 + } + } + ], + "557": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 557 + } + } + ], + "558": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 558 + } + } + ], + "559": [ + { + "inShape": [ + [ + null, + 545 + ], + [ + null, + 545 + ], + [ + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 559 + } + } + ], + "561": [ + { + "ingredients": [ + 299 + ], + "result": { + "count": 9, + "id": 561 + } + } + ], + "562": [ + { + "inShape": [ + [ + 561, + 561, + 561 + ] + ], + "result": { + "count": 1, + "id": 562 + } + } + ], + "563": [ + { + "inShape": [ + [ + 603, + null, + 603 + ], + [ + 603, + 603, + 603 + ] + ], + "result": { + "count": 1, + "id": 563 + } + } + ], + "564": [ + { + "inShape": [ + [ + 603, + 603, + 603 + ], + [ + 603, + 603, + 603 + ], + [ + 603, + null, + 603 + ] + ], + "result": { + "count": 1, + "id": 564 + } + } + ], + "565": [ + { + "inShape": [ + [ + 603, + null, + 603 + ], + [ + 603, + null, + 603 + ], + [ + 603, + 603, + 603 + ] + ], + "result": { + "count": 1, + "id": 565 + } + } + ], + "566": [ + { + "inShape": [ + [ + 603, + null, + 603 + ], + [ + 603, + null, + 603 + ] + ], + "result": { + "count": 1, + "id": 566 + } + } + ], + "571": [ + { + "inShape": [ + [ + 530, + null, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 571 + } + } + ], + "572": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + 530, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 572 + } + } + ], + "573": [ + { + "inShape": [ + [ + 530, + null, + 530 + ], + [ + 530, + null, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 573 + } + } + ], + "574": [ + { + "inShape": [ + [ + 530, + null, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 574 + } + } + ], + "575": [ + { + "inShape": [ + [ + 529, + null, + 529 + ], + [ + 529, + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 575 + } + } + ], + "576": [ + { + "inShape": [ + [ + 529, + 529, + 529 + ], + [ + 529, + 529, + 529 + ], + [ + 529, + null, + 529 + ] + ], + "result": { + "count": 1, + "id": 576 + } + } + ], + "577": [ + { + "inShape": [ + [ + 529, + null, + 529 + ], + [ + 529, + null, + 529 + ], + [ + 529, + 529, + 529 + ] + ], + "result": { + "count": 1, + "id": 577 + } + } + ], + "578": [ + { + "inShape": [ + [ + 529, + null, + 529 + ], + [ + 529, + null, + 529 + ] + ], + "result": { + "count": 1, + "id": 578 + } + } + ], + "579": [ + { + "inShape": [ + [ + 531, + null, + 531 + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 579 + } + } + ], + "580": [ + { + "inShape": [ + [ + 531, + 531, + 531 + ], + [ + 531, + 531, + 531 + ], + [ + 531, + null, + 531 + ] + ], + "result": { + "count": 1, + "id": 580 + } + } + ], + "581": [ + { + "inShape": [ + [ + 531, + null, + 531 + ], + [ + 531, + null, + 531 + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 581 + } + } + ], + "582": [ + { + "inShape": [ + [ + 531, + null, + 531 + ], + [ + 531, + null, + 531 + ] + ], + "result": { + "count": 1, + "id": 582 + } + } + ], + "586": [ + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 82, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 83, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 84, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 85, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 86, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 87, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 88, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 89, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 90, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 91, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 92, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 93, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 94, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 95, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 96, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 97, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 586 + } + } + ], + "587": [ + { + "inShape": [ + [ + 531, + 531, + 531 + ], + [ + 531, + 524, + 531 + ], + [ + 531, + 531, + 531 + ] + ], + "result": { + "count": 1, + "id": 587 + } + } + ], + "589": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 13, + 13, + 13 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 3, + "id": 589 + } + } + ], + "590": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 3, + "id": 590 + } + } + ], + "591": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 3, + "id": 591 + } + } + ], + "592": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 3, + "id": 592 + } + } + ], + "593": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 3, + "id": 593 + } + } + ], + "594": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 3, + "id": 594 + } + } + ], + "595": [ + { + "inShape": [ + [ + null, + 530, + null + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 595 + } + } + ], + "598": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 598 + } + } + ], + "600": [ + { + "ingredients": [ + 272 + ], + "result": { + "count": 9, + "id": 600 + } + } + ], + "602": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 13, + null, + 13 + ] + ], + "result": { + "count": 1, + "id": 602 + } + } + ], + "603": [ + { + "inShape": [ + [ + 791, + 791 + ], + [ + 791, + 791 + ] + ], + "result": { + "count": 1, + "id": 603 + } + } + ], + "613": [ + { + "ingredients": [ + 674, + 674, + 674, + 674, + 674, + 674, + 674, + 674, + 674 + ], + "result": { + "count": 1, + "id": 613 + } + } + ], + "615": [ + { + "inShape": [ + [ + 611, + 611, + 611 + ] + ], + "result": { + "count": 3, + "id": 615 + } + } + ], + "616": [ + { + "ingredients": [ + 615, + 615, + 615, + 603 + ], + "result": { + "count": 1, + "id": 616 + } + } + ], + "617": [ + { + "ingredients": [ + 321 + ], + "result": { + "count": 9, + "id": 617 + } + } + ], + "618": [ + { + "inShape": [ + [ + 598 + ], + [ + 155 + ] + ], + "result": { + "count": 1, + "id": 618 + } + } + ], + "619": [ + { + "inShape": [ + [ + 598 + ], + [ + 160 + ] + ], + "result": { + "count": 1, + "id": 619 + } + } + ], + "621": [ + { + "inShape": [ + [ + null, + 530, + null + ], + [ + 530, + 600, + 530 + ], + [ + null, + 530, + null + ] + ], + "result": { + "count": 1, + "id": 621 + } + } + ], + "622": [ + { + "inShape": [ + [ + 545, + null, + 552 + ], + [ + null, + 545, + 552 + ], + [ + null, + null, + 545 + ] + ], + "result": { + "count": 1, + "id": 622 + } + } + ], + "623": [ + { + "inShape": [ + [ + null, + 531, + null + ], + [ + 531, + 600, + 531 + ], + [ + null, + 531, + null + ] + ], + "result": { + "count": 1, + "id": 623 + } + } + ], + "632": [ + { + "ingredients": [ + 821 + ], + "result": { + "count": 1, + "id": 632 + } + }, + { + "ingredients": [ + 99 + ], + "result": { + "count": 1, + "id": 632 + } + }, + { + "ingredients": [ + 325 + ], + "result": { + "count": 2, + "id": 632 + } + }, + { + "ingredients": [ + 103 + ], + "result": { + "count": 1, + "id": 632 + } + } + ], + "635": [ + { + "ingredients": [ + 66 + ], + "result": { + "count": 9, + "id": 635 + } + } + ], + "636": [ + { + "ingredients": [ + 647, + 632 + ], + "result": { + "count": 2, + "id": 636 + } + } + ], + "637": [ + { + "ingredients": [ + 647, + 633 + ], + "result": { + "count": 2, + "id": 637 + } + } + ], + "638": [ + { + "ingredients": [ + 102 + ], + "result": { + "count": 1, + "id": 638 + } + }, + { + "ingredients": [ + 649, + 650, + 650 + ], + "result": { + "count": 3, + "id": 638 + } + }, + { + "ingredients": [ + 639, + 650 + ], + "result": { + "count": 2, + "id": 638 + } + }, + { + "ingredients": [ + 107 + ], + "result": { + "count": 1, + "id": 638 + } + }, + { + "ingredients": [ + 105 + ], + "result": { + "count": 1, + "id": 638 + } + } + ], + "639": [ + { + "ingredients": [ + 649, + 650 + ], + "result": { + "count": 2, + "id": 639 + } + } + ], + "640": [ + { + "ingredients": [ + 326 + ], + "result": { + "count": 2, + "id": 640 + } + }, + { + "ingredients": [ + 106 + ], + "result": { + "count": 1, + "id": 640 + } + }, + { + "ingredients": [ + 632, + 650 + ], + "result": { + "count": 2, + "id": 640 + } + } + ], + "641": [ + { + "ingredients": [ + 633, + 650 + ], + "result": { + "count": 2, + "id": 641 + } + } + ], + "642": [ + { + "ingredients": [ + 98 + ], + "result": { + "count": 1, + "id": 642 + } + }, + { + "ingredients": [ + 323 + ], + "result": { + "count": 2, + "id": 642 + } + } + ], + "643": [ + { + "ingredients": [ + 100 + ], + "result": { + "count": 1, + "id": 643 + } + }, + { + "ingredients": [ + 647, + 650 + ], + "result": { + "count": 2, + "id": 643 + } + } + ], + "644": [ + { + "ingredients": [ + 101 + ], + "result": { + "count": 1, + "id": 644 + } + }, + { + "ingredients": [ + 647, + 632, + 640 + ], + "result": { + "count": 3, + "id": 644 + } + }, + { + "ingredients": [ + 647, + 632, + 632, + 650 + ], + "result": { + "count": 4, + "id": 644 + } + }, + { + "ingredients": [ + 324 + ], + "result": { + "count": 2, + "id": 644 + } + }, + { + "ingredients": [ + 636, + 640 + ], + "result": { + "count": 2, + "id": 644 + } + } + ], + "645": [ + { + "ingredients": [ + 104 + ], + "result": { + "count": 1, + "id": 645 + } + }, + { + "ingredients": [ + 632, + 642 + ], + "result": { + "count": 2, + "id": 645 + } + } + ], + "646": [ + { + "ingredients": [ + 651 + ], + "result": { + "count": 3, + "id": 646 + } + }, + { + "ingredients": [ + 377 + ], + "result": { + "count": 9, + "id": 646 + } + } + ], + "647": [ + { + "ingredients": [ + 635 + ], + "result": { + "count": 1, + "id": 647 + } + }, + { + "ingredients": [ + 108 + ], + "result": { + "count": 1, + "id": 647 + } + } + ], + "648": [ + { + "ingredients": [ + 634 + ], + "result": { + "count": 1, + "id": 648 + } + } + ], + "649": [ + { + "ingredients": [ + 631 + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "ingredients": [ + 110 + ], + "result": { + "count": 1, + "id": 649 + } + } + ], + "650": [ + { + "ingredients": [ + 646 + ], + "result": { + "count": 1, + "id": 650 + } + }, + { + "ingredients": [ + 109 + ], + "result": { + "count": 1, + "id": 650 + } + } + ], + "652": [ + { + "ingredients": [ + 881 + ], + "result": { + "count": 3, + "id": 652 + } + }, + { + "ingredients": [ + 611 + ], + "result": { + "count": 1, + "id": 652 + } + } + ], + "653": [ + { + "inShape": [ + [ + 561, + 561, + 561 + ], + [ + 652, + 620, + 652 + ], + [ + 604, + 604, + 604 + ] + ], + "result": { + "count": 1, + "id": 653 + } + } + ], + "654": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 654 + } + } + ], + "655": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 655 + } + }, + { + "ingredients": [ + 654, + 645 + ], + "result": { + "count": 1, + "id": 655 + } + } + ], + "656": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 656 + } + }, + { + "ingredients": [ + 654, + 644 + ], + "result": { + "count": 1, + "id": 656 + } + } + ], + "657": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 657 + } + }, + { + "ingredients": [ + 654, + 643 + ], + "result": { + "count": 1, + "id": 657 + } + } + ], + "658": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 658 + } + }, + { + "ingredients": [ + 654, + 642 + ], + "result": { + "count": 1, + "id": 658 + } + } + ], + "659": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 659 + } + }, + { + "ingredients": [ + 654, + 641 + ], + "result": { + "count": 1, + "id": 659 + } + } + ], + "660": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 660 + } + }, + { + "ingredients": [ + 654, + 640 + ], + "result": { + "count": 1, + "id": 660 + } + } + ], + "661": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 661 + } + }, + { + "ingredients": [ + 654, + 639 + ], + "result": { + "count": 1, + "id": 661 + } + } + ], + "662": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 662 + } + }, + { + "ingredients": [ + 654, + 638 + ], + "result": { + "count": 1, + "id": 662 + } + } + ], + "663": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 663 + } + }, + { + "ingredients": [ + 654, + 637 + ], + "result": { + "count": 1, + "id": 663 + } + } + ], + "664": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 664 + } + }, + { + "ingredients": [ + 654, + 636 + ], + "result": { + "count": 1, + "id": 664 + } + } + ], + "665": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 665 + } + }, + { + "ingredients": [ + 654, + 647 + ], + "result": { + "count": 1, + "id": 665 + } + } + ], + "666": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 666 + } + }, + { + "ingredients": [ + 654, + 648 + ], + "result": { + "count": 1, + "id": 666 + } + } + ], + "667": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 667 + } + }, + { + "ingredients": [ + 654, + 633 + ], + "result": { + "count": 1, + "id": 667 + } + } + ], + "668": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 668 + } + }, + { + "ingredients": [ + 654, + 632 + ], + "result": { + "count": 1, + "id": 668 + } + } + ], + "669": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 669 + } + }, + { + "ingredients": [ + 654, + 649 + ], + "result": { + "count": 1, + "id": 669 + } + } + ], + "670": [ + { + "inShape": [ + [ + 561, + 634, + 561 + ] + ], + "result": { + "count": 8, + "id": 670 + } + } + ], + "672": [ + { + "inShape": [ + [ + 530, + null + ], + [ + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 672 + } + } + ], + "674": [ + { + "ingredients": [ + 613 + ], + "result": { + "count": 9, + "id": 674 + } + } + ], + "675": [ + { + "ingredients": [ + 187 + ], + "result": { + "count": 4, + "id": 675 + } + } + ], + "676": [ + { + "ingredients": [ + 673 + ], + "result": { + "count": 1, + "id": 676 + } + } + ], + "685": [ + { + "ingredients": [ + 531 + ], + "result": { + "count": 9, + "id": 685 + } + } + ], + "688": [ + { + "inShape": [ + [ + null, + 64, + null + ], + [ + 64, + null, + 64 + ] + ], + "result": { + "count": 3, + "id": 688 + } + } + ], + "690": [ + { + "ingredients": [ + 689, + 111, + 652 + ], + "result": { + "count": 1, + "id": 690 + } + } + ], + "691": [ + { + "ingredients": [ + 683 + ], + "result": { + "count": 2, + "id": 691 + } + } + ], + "692": [ + { + "ingredients": [ + 691, + 617 + ], + "result": { + "count": 1, + "id": 692 + } + } + ], + "693": [ + { + "inShape": [ + [ + 12, + 12, + 12 + ], + [ + null, + 683, + null + ] + ], + "result": { + "count": 1, + "id": 693 + } + } + ], + "694": [ + { + "inShape": [ + [ + 530, + 530, + 530 + ], + [ + 530, + null, + 530 + ], + [ + 530, + null, + 530 + ] + ], + "result": { + "count": 1, + "id": 694 + } + } + ], + "695": [ + { + "ingredients": [ + 682, + 691 + ], + "result": { + "count": 1, + "id": 695 + } + } + ], + "696": [ + { + "inShape": [ + [ + 685, + 685, + 685 + ], + [ + 685, + 673, + 685 + ], + [ + 685, + 685, + 685 + ] + ], + "result": { + "count": 1, + "id": 696 + } + } + ], + "757": [ + { + "ingredients": [ + 554, + 691, + 527 + ], + "result": { + "count": 3, + "id": 757 + } + }, + { + "ingredients": [ + 554, + 691, + 528 + ], + "result": { + "count": 3, + "id": 757 + } + } + ], + "758": [ + { + "ingredients": [ + 616, + 631, + 553 + ], + "result": { + "count": 1, + "id": 758 + } + } + ], + "760": [ + { + "ingredients": [ + 239 + ], + "result": { + "count": 9, + "id": 760 + } + } + ], + "761": [ + { + "inShape": [ + [ + 545, + 545, + 545 + ], + [ + 545, + 603, + 545 + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 761 + } + } + ], + "762": [ + { + "inShape": [ + [ + null, + 609, + null + ], + [ + 609, + null, + 609 + ] + ], + "result": { + "count": 1, + "id": 762 + } + } + ], + "767": [ + { + "inShape": [ + [ + 615, + 615, + 615 + ], + [ + 615, + 621, + 615 + ], + [ + 615, + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 767 + } + } + ], + "768": [ + { + "inShape": [ + [ + 685, + 685, + 685 + ], + [ + 685, + 763, + 685 + ], + [ + 685, + 685, + 685 + ] + ], + "result": { + "count": 1, + "id": 768 + } + } + ], + "775": [ + { + "inShape": [ + [ + null, + 763 + ], + [ + 622, + null + ] + ], + "result": { + "count": 1, + "id": 775 + } + } + ], + "777": [ + { + "ingredients": [ + 187, + 652, + 620 + ], + "result": { + "count": 1, + "id": 777 + } + } + ], + "783": [ + { + "inShape": [ + [ + 598 + ], + [ + 142 + ] + ], + "result": { + "count": 1, + "id": 783 + } + } + ], + "784": [ + { + "inShape": [ + [ + 598 + ], + [ + 274 + ] + ], + "result": { + "count": 1, + "id": 784 + } + } + ], + "789": [ + { + "ingredients": [ + 765, + 788, + 546, + 763, + 111 + ], + "result": { + "count": 1, + "id": 789 + } + }, + { + "ingredients": [ + 765, + 788, + 546, + 763, + 112 + ], + "result": { + "count": 1, + "id": 789 + } + } + ], + "792": [ + { + "inShape": [ + [ + 545, + 122, + 545 + ], + [ + null, + 545, + null + ], + [ + 545, + 545, + 545 + ] + ], + "result": { + "count": 1, + "id": 792 + } + } + ], + "796": [ + { + "inShape": [ + [ + 603, + null, + 603 + ], + [ + 603, + 603, + 603 + ], + [ + 603, + null, + 603 + ] + ], + "result": { + "count": 1, + "id": 796 + } + } + ], + "797": [ + { + "inShape": [ + [ + null, + null, + 552 + ], + [ + 552, + 617, + null + ], + [ + 552, + 552, + null + ] + ], + "result": { + "count": 2, + "id": 797 + } + } + ], + "802": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 82, + 82, + 82 + ], + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 1, + "id": 802 + } + } + ], + "803": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 83, + 83, + 83 + ], + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 1, + "id": 803 + } + } + ], + "804": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 84, + 84, + 84 + ], + [ + 84, + 84, + 84 + ] + ], + "result": { + "count": 1, + "id": 804 + } + } + ], + "805": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 85, + 85, + 85 + ], + [ + 85, + 85, + 85 + ] + ], + "result": { + "count": 1, + "id": 805 + } + } + ], + "806": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 86, + 86, + 86 + ], + [ + 86, + 86, + 86 + ] + ], + "result": { + "count": 1, + "id": 806 + } + } + ], + "807": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 87, + 87, + 87 + ], + [ + 87, + 87, + 87 + ] + ], + "result": { + "count": 1, + "id": 807 + } + } + ], + "808": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 88, + 88, + 88 + ], + [ + 88, + 88, + 88 + ] + ], + "result": { + "count": 1, + "id": 808 + } + } + ], + "809": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 89, + 89, + 89 + ], + [ + 89, + 89, + 89 + ] + ], + "result": { + "count": 1, + "id": 809 + } + } + ], + "810": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 90, + 90, + 90 + ], + [ + 90, + 90, + 90 + ] + ], + "result": { + "count": 1, + "id": 810 + } + } + ], + "811": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 91, + 91, + 91 + ], + [ + 91, + 91, + 91 + ] + ], + "result": { + "count": 1, + "id": 811 + } + } + ], + "812": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 92, + 92, + 92 + ], + [ + 92, + 92, + 92 + ] + ], + "result": { + "count": 1, + "id": 812 + } + } + ], + "813": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 93, + 93, + 93 + ], + [ + 93, + 93, + 93 + ] + ], + "result": { + "count": 1, + "id": 813 + } + } + ], + "814": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 94, + 94, + 94 + ], + [ + 94, + 94, + 94 + ] + ], + "result": { + "count": 1, + "id": 814 + } + } + ], + "815": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 95, + 95, + 95 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 815 + } + } + ], + "816": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 96, + 96, + 96 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 816 + } + } + ], + "817": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 97, + 97, + 97 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 817 + } + } + ], + "818": [ + { + "inShape": [ + [ + 64, + 684, + 64 + ], + [ + 64, + 695, + 64 + ], + [ + 64, + 64, + 64 + ] + ], + "result": { + "count": 1, + "id": 818 + } + } + ], + "823": [ + { + "ingredients": [ + 546, + 821, + 821, + 821, + 821, + 821, + 821 + ], + "result": { + "count": 1, + "id": 823 + } + } + ], + "826": [ + { + "inShape": [ + [ + null, + 624, + null + ], + [ + 624, + 526, + 624 + ], + [ + null, + 624, + null + ] + ], + "result": { + "count": 2, + "id": 826 + } + } + ], + "829": [ + { + "inShape": [ + [ + null, + 13, + null + ], + [ + 13, + 13, + 13 + ], + [ + 13, + 530, + 13 + ] + ], + "result": { + "count": 1, + "id": 829 + } + }, + { + "inShape": [ + [ + null, + 14, + null + ], + [ + 14, + 14, + 14 + ], + [ + 14, + 530, + 14 + ] + ], + "result": { + "count": 1, + "id": 829 + } + }, + { + "inShape": [ + [ + null, + 15, + null + ], + [ + 15, + 15, + 15 + ], + [ + 15, + 530, + 15 + ] + ], + "result": { + "count": 1, + "id": 829 + } + }, + { + "inShape": [ + [ + null, + 16, + null + ], + [ + 16, + 16, + 16 + ], + [ + 16, + 530, + 16 + ] + ], + "result": { + "count": 1, + "id": 829 + } + }, + { + "inShape": [ + [ + null, + 17, + null + ], + [ + 17, + 17, + 17 + ], + [ + 17, + 530, + 17 + ] + ], + "result": { + "count": 1, + "id": 829 + } + }, + { + "inShape": [ + [ + null, + 18, + null + ], + [ + 18, + 18, + 18 + ], + [ + 18, + 530, + 18 + ] + ], + "result": { + "count": 1, + "id": 829 + } + } + ], + "831": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + null, + 14 + ] + ], + "result": { + "count": 1, + "id": 831 + } + } + ], + "832": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + null, + 15 + ] + ], + "result": { + "count": 1, + "id": 832 + } + } + ], + "833": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + null, + 16 + ] + ], + "result": { + "count": 1, + "id": 833 + } + } + ], + "834": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + null, + 17 + ] + ], + "result": { + "count": 1, + "id": 834 + } + } + ], + "835": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + null, + 18 + ] + ], + "result": { + "count": 1, + "id": 835 + } + } + ], + "838": [ + { + "ingredients": [ + 530 + ], + "result": { + "count": 9, + "id": 838 + } + } + ], + "857": [ + { + "inShape": [ + [ + null, + 545, + null + ], + [ + 552, + 238, + 552 + ], + [ + 545, + 530, + 545 + ] + ], + "result": { + "count": 1, + "id": 857 + } + } + ], + "859": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 859 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 859 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 859 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 859 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 859 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 552, + 552 + ] + ], + "result": { + "count": 1, + "id": 859 + } + } + ], + "860": [ + { + "ingredients": [ + 615, + 107 + ], + "result": { + "count": 1, + "id": 860 + } + } + ], + "861": [ + { + "ingredients": [ + 615, + 773 + ], + "result": { + "count": 1, + "id": 861 + } + } + ], + "862": [ + { + "ingredients": [ + 615, + 770 + ], + "result": { + "count": 1, + "id": 862 + } + } + ], + "863": [ + { + "ingredients": [ + 615, + 588 + ], + "result": { + "count": 1, + "id": 863 + } + } + ], + "865": [ + { + "inShape": [ + [ + 13, + 115, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 115, + 13 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 13, + 116, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 116, + 13 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 13, + 117, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 117, + 13 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 13, + 118, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 118, + 13 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 13, + 119, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 119, + 13 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 13, + 120, + 13 + ], + [ + 13, + null, + 13 + ], + [ + 13, + 120, + 13 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 14, + 115, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 115, + 14 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 14, + 116, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 116, + 14 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 14, + 117, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 117, + 14 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 14, + 118, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 118, + 14 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 14, + 119, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 119, + 14 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 14, + 120, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 120, + 14 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 15, + 115, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 115, + 15 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 15, + 116, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 116, + 15 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 15, + 117, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 117, + 15 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 15, + 118, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 118, + 15 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 15, + 119, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 119, + 15 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 15, + 120, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 120, + 15 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 16, + 115, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 115, + 16 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 16, + 116, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 116, + 16 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 16, + 117, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 117, + 16 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 16, + 118, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 118, + 16 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 16, + 119, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 119, + 16 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 16, + 120, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 120, + 16 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 17, + 115, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 115, + 17 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 17, + 116, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 116, + 17 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 17, + 117, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 117, + 17 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 17, + 118, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 118, + 17 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 17, + 119, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 119, + 17 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 17, + 120, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 120, + 17 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 18, + 115, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 115, + 18 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 18, + 116, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 116, + 18 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 18, + 117, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 117, + 18 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 18, + 118, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 118, + 18 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 18, + 119, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 119, + 18 + ] + ], + "result": { + "count": 1, + "id": 865 + } + }, + { + "inShape": [ + [ + 18, + 120, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 120, + 18 + ] + ], + "result": { + "count": 1, + "id": 865 + } + } + ], + "866": [ + { + "inShape": [ + [ + null, + 37, + null + ], + [ + 37, + 160, + 37 + ], + [ + null, + 37, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 55, + null + ], + [ + 55, + 160, + 55 + ], + [ + null, + 55, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 43, + null + ], + [ + 43, + 160, + 43 + ], + [ + null, + 43, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 49, + null + ], + [ + 49, + 160, + 49 + ], + [ + null, + 49, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 32, + null + ], + [ + 32, + 160, + 32 + ], + [ + null, + 32, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 50, + null + ], + [ + 50, + 160, + 50 + ], + [ + null, + 50, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 38, + null + ], + [ + 38, + 160, + 38 + ], + [ + null, + 38, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 44, + null + ], + [ + 44, + 160, + 44 + ], + [ + null, + 44, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 36, + null + ], + [ + 36, + 160, + 36 + ], + [ + null, + 36, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 54, + null + ], + [ + 54, + 160, + 54 + ], + [ + null, + 54, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 42, + null + ], + [ + 42, + 160, + 42 + ], + [ + null, + 42, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 48, + null + ], + [ + 48, + 160, + 48 + ], + [ + null, + 48, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 34, + null + ], + [ + 34, + 160, + 34 + ], + [ + null, + 34, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 52, + null + ], + [ + 52, + 160, + 52 + ], + [ + null, + 52, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 40, + null + ], + [ + 40, + 160, + 40 + ], + [ + null, + 40, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 46, + null + ], + [ + 46, + 160, + 46 + ], + [ + null, + 46, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 35, + null + ], + [ + 35, + 160, + 35 + ], + [ + null, + 35, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 53, + null + ], + [ + 53, + 160, + 53 + ], + [ + null, + 53, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 41, + null + ], + [ + 41, + 160, + 41 + ], + [ + null, + 41, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 47, + null + ], + [ + 47, + 160, + 47 + ], + [ + null, + 47, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 33, + null + ], + [ + 33, + 160, + 33 + ], + [ + null, + 33, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 51, + null + ], + [ + 51, + 160, + 51 + ], + [ + null, + 51, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 39, + null + ], + [ + 39, + 160, + 39 + ], + [ + null, + 39, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + }, + { + "inShape": [ + [ + null, + 45, + null + ], + [ + 45, + 160, + 45 + ], + [ + null, + 45, + null + ] + ], + "result": { + "count": 1, + "id": 866 + } + } + ], + "867": [ + { + "inShape": [ + [ + 140, + 140, + 140 + ], + [ + 530, + 160, + 530 + ], + [ + 530, + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 867 + } + } + ], + "868": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 868 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 615, + 615 + ] + ], + "result": { + "count": 1, + "id": 868 + } + } + ], + "869": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 869 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 869 + } + } + ], + "870": [ + { + "inShape": [ + [ + 13, + null, + 13 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + 14, + null, + 14 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + 15, + null, + 15 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + 16, + null, + 16 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + 17, + null, + 17 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 870 + } + }, + { + "inShape": [ + [ + 18, + null, + 18 + ], + [ + 545, + 121, + 545 + ] + ], + "result": { + "count": 1, + "id": 870 + } + } + ], + "871": [ + { + "inShape": [ + [ + null, + 115, + null + ], + [ + null, + 143, + null + ], + [ + 115, + 115, + 115 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + null, + 116, + null + ], + [ + null, + 143, + null + ], + [ + 116, + 116, + 116 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + null, + 117, + null + ], + [ + null, + 143, + null + ], + [ + 117, + 117, + 117 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + null, + 118, + null + ], + [ + null, + 143, + null + ], + [ + 118, + 118, + 118 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + null, + 119, + null + ], + [ + null, + 143, + null + ], + [ + 119, + 119, + 119 + ] + ], + "result": { + "count": 1, + "id": 871 + } + }, + { + "inShape": [ + [ + null, + 120, + null + ], + [ + null, + 143, + null + ], + [ + 120, + 120, + 120 + ] + ], + "result": { + "count": 1, + "id": 871 + } + } + ], + "872": [ + { + "inShape": [ + [ + 13, + 13 + ], + [ + 13, + 13 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 872 + } + }, + { + "inShape": [ + [ + 14, + 14 + ], + [ + 14, + 14 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 872 + } + }, + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 872 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 872 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 872 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 530, + 530 + ] + ], + "result": { + "count": 1, + "id": 872 + } + } + ], + "873": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + null, + 530, + null + ] + ], + "result": { + "count": 1, + "id": 873 + } + } + ], + "875": [ + { + "inShape": [ + [ + 838, + 838, + 838 + ], + [ + 838, + 146, + 838 + ], + [ + 838, + 838, + 838 + ] + ], + "result": { + "count": 1, + "id": 875 + } + } + ], + "877": [ + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 55, + 55, + 55 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 55, + 55, + 55 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 32, + 32, + 32 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 32, + 32, + 32 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 50, + 50, + 50 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 50, + 50, + 50 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 36, + 36, + 36 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 54, + 54, + 54 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 54, + 54, + 54 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 34, + 34, + 34 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 34, + 34, + 34 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 52, + 52, + 52 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 52, + 52, + 52 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 53, + 53, + 53 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 53, + 53, + 53 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 47, + 47, + 47 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 47, + 47, + 47 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 33, + 33, + 33 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 33, + 33, + 33 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 51, + 51, + 51 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 51, + 51, + 51 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 545, + 527, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 545, + 528, + 545 + ], + [ + null, + 545, + null + ] + ], + "result": { + "count": 1, + "id": 877 + } + } + ], + "880": [ + { + "inShape": [ + [ + 13, + 13, + 13 + ], + [ + 878, + 878, + 878 + ], + [ + 13, + 13, + 13 + ] + ], + "result": { + "count": 1, + "id": 880 + } + }, + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 878, + 878, + 878 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 880 + } + }, + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 878, + 878, + 878 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 880 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 878, + 878, + 878 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 880 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 878, + 878, + 878 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 880 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 878, + 878, + 878 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 880 + } + } + ], + "881": [ + { + "ingredients": [ + 882, + 688, + 688, + 688, + 688 + ], + "result": { + "count": 4, + "id": 881 + } + } + ], + "882": [ + { + "inShape": [ + [ + 881, + 881 + ], + [ + 881, + 881 + ] + ], + "result": { + "count": 1, + "id": 882 + } + } + ], + "883": [ + { + "inShape": [ + [ + 878, + 878 + ], + [ + 878, + 878 + ] + ], + "result": { + "count": 1, + "id": 883 + } + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/version.json new file mode 100644 index 00000000..ab7d3050 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.15.2", + "version": 578, + "majorVersion": "1.15" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/windows.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/windows.json new file mode 100644 index 00000000..37bdcb69 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15.2/windows.json @@ -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 + } + ] + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15/blockCollisionShapes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15/blockCollisionShapes.json new file mode 100644 index 00000000..fc6da168 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15/blockCollisionShapes.json @@ -0,0 +1,950 @@ +{"blocks":{"air":0, +"stone":1, +"granite":1, +"polished_granite":1, +"diorite":1, +"polished_diorite":1, +"andesite":1, +"polished_andesite":1, +"grass_block":1, +"dirt":1, +"coarse_dirt":1, +"podzol":1, +"cobblestone":1, +"oak_planks":1, +"spruce_planks":1, +"birch_planks":1, +"jungle_planks":1, +"acacia_planks":1, +"dark_oak_planks":1, +"oak_sapling":0, +"spruce_sapling":0, +"birch_sapling":0, +"jungle_sapling":0, +"acacia_sapling":0, +"dark_oak_sapling":0, +"bedrock":1, +"water":0, +"lava":0, +"sand":1, +"red_sand":1, +"gravel":1, +"gold_ore":1, +"iron_ore":1, +"coal_ore":1, +"oak_log":1, +"spruce_log":1, +"birch_log":1, +"jungle_log":1, +"acacia_log":1, +"dark_oak_log":1, +"stripped_spruce_log":1, +"stripped_birch_log":1, +"stripped_jungle_log":1, +"stripped_acacia_log":1, +"stripped_dark_oak_log":1, +"stripped_oak_log":1, +"oak_wood":1, +"spruce_wood":1, +"birch_wood":1, +"jungle_wood":1, +"acacia_wood":1, +"dark_oak_wood":1, +"stripped_oak_wood":1, +"stripped_spruce_wood":1, +"stripped_birch_wood":1, +"stripped_jungle_wood":1, +"stripped_acacia_wood":1, +"stripped_dark_oak_wood":1, +"oak_leaves":1, +"spruce_leaves":1, +"birch_leaves":1, +"jungle_leaves":1, +"acacia_leaves":1, +"dark_oak_leaves":1, +"sponge":1, +"wet_sponge":1, +"glass":1, +"lapis_ore":1, +"lapis_block":1, +"dispenser":1, +"sandstone":1, +"chiseled_sandstone":1, +"cut_sandstone":1, +"note_block":1, +"white_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"orange_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"magenta_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"light_blue_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"yellow_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"lime_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"pink_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"gray_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"light_gray_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"cyan_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"purple_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"blue_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"brown_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"green_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"red_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"black_bed":[3,2,3,2,2,3,2,3,4,5,4,5,5,4,5,4], +"powered_rail":0, +"detector_rail":0, +"sticky_piston":[6,7,8,9,10,11,1,1,1,1,1,1], +"cobweb":0, +"grass":0, +"fern":0, +"dead_bush":0, +"seagrass":0, +"tall_seagrass":0, +"piston":[6,7,8,9,10,11,1,1,1,1,1,1], +"piston_head":[13,13,12,12,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23], +"white_wool":1, +"orange_wool":1, +"magenta_wool":1, +"light_blue_wool":1, +"yellow_wool":1, +"lime_wool":1, +"pink_wool":1, +"gray_wool":1, +"light_gray_wool":1, +"cyan_wool":1, +"purple_wool":1, +"blue_wool":1, +"brown_wool":1, +"green_wool":1, +"red_wool":1, +"black_wool":1, +"moving_piston":0, +"dandelion":0, +"poppy":0, +"blue_orchid":0, +"allium":0, +"azure_bluet":0, +"red_tulip":0, +"orange_tulip":0, +"white_tulip":0, +"pink_tulip":0, +"oxeye_daisy":0, +"cornflower":0, +"wither_rose":0, +"lily_of_the_valley":0, +"brown_mushroom":0, +"red_mushroom":0, +"gold_block":1, +"iron_block":1, +"bricks":1, +"tnt":1, +"bookshelf":1, +"mossy_cobblestone":1, +"obsidian":1, +"torch":0, +"wall_torch":0, +"fire":0, +"spawner":1, +"oak_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"chest":[48,48,49,49,50,50,48,48,50,50,49,49,48,48,51,51,52,52,48,48,52,52,51,51], +"redstone_wire":0, +"diamond_ore":1, +"diamond_block":1, +"crafting_table":1, +"wheat":0, +"farmland":53, +"furnace":1, +"oak_sign":0, +"spruce_sign":0, +"birch_sign":0, +"acacia_sign":0, +"jungle_sign":0, +"dark_oak_sign":0, +"oak_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"ladder":[54,54,57,57,56,56,55,55], +"rail":0, +"cobblestone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"oak_wall_sign":0, +"spruce_wall_sign":0, +"birch_wall_sign":0, +"acacia_wall_sign":0, +"jungle_wall_sign":0, +"dark_oak_wall_sign":0, +"lever":0, +"stone_pressure_plate":0, +"iron_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"oak_pressure_plate":0, +"spruce_pressure_plate":0, +"birch_pressure_plate":0, +"jungle_pressure_plate":0, +"acacia_pressure_plate":0, +"dark_oak_pressure_plate":0, +"redstone_ore":1, +"redstone_torch":0, +"redstone_wall_torch":0, +"stone_button":0, +"snow":[0,58,59,60,61,62,10,63], +"ice":1, +"snow_block":1, +"cactus":64, +"clay":1, +"sugar_cane":0, +"jukebox":1, +"oak_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"pumpkin":1, +"netherrack":1, +"soul_sand":63, +"glowstone":1, +"nether_portal":0, +"carved_pumpkin":1, +"jack_o_lantern":1, +"cake":[81,82,83,84,85,86,87], +"repeater":58, +"white_stained_glass":1, +"orange_stained_glass":1, +"magenta_stained_glass":1, +"light_blue_stained_glass":1, +"yellow_stained_glass":1, +"lime_stained_glass":1, +"pink_stained_glass":1, +"gray_stained_glass":1, +"light_gray_stained_glass":1, +"cyan_stained_glass":1, +"purple_stained_glass":1, +"blue_stained_glass":1, +"brown_stained_glass":1, +"green_stained_glass":1, +"red_stained_glass":1, +"black_stained_glass":1, +"oak_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"spruce_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"birch_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"jungle_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"acacia_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"dark_oak_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"stone_bricks":1, +"mossy_stone_bricks":1, +"cracked_stone_bricks":1, +"chiseled_stone_bricks":1, +"infested_stone":1, +"infested_cobblestone":1, +"infested_stone_bricks":1, +"infested_mossy_stone_bricks":1, +"infested_cracked_stone_bricks":1, +"infested_chiseled_stone_bricks":1, +"brown_mushroom_block":1, +"red_mushroom_block":1, +"mushroom_stem":1, +"iron_bars":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"melon":1, +"attached_pumpkin_stem":0, +"attached_melon_stem":0, +"pumpkin_stem":0, +"melon_stem":0, +"vine":0, +"oak_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"stone_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"mycelium":1, +"lily_pad":106, +"nether_bricks":1, +"nether_brick_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"nether_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"nether_wart":0, +"enchanting_table":10, +"brewing_stand":107, +"cauldron":108, +"end_portal":0, +"end_portal_frame":[110,110,110,110,109,109,109,109], +"end_stone":1, +"dragon_egg":111, +"redstone_lamp":1, +"cocoa":[112,113,114,115,116,117,118,119,120,121,122,123], +"sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"emerald_ore":1, +"ender_chest":48, +"tripwire_hook":0, +"tripwire":0, +"emerald_block":1, +"spruce_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"birch_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"jungle_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"command_block":1, +"beacon":1, +"cobblestone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"mossy_cobblestone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"flower_pot":156, +"potted_oak_sapling":156, +"potted_spruce_sapling":156, +"potted_birch_sapling":156, +"potted_jungle_sapling":156, +"potted_acacia_sapling":156, +"potted_dark_oak_sapling":156, +"potted_fern":156, +"potted_dandelion":156, +"potted_poppy":156, +"potted_blue_orchid":156, +"potted_allium":156, +"potted_azure_bluet":156, +"potted_red_tulip":156, +"potted_orange_tulip":156, +"potted_white_tulip":156, +"potted_pink_tulip":156, +"potted_oxeye_daisy":156, +"potted_cornflower":156, +"potted_lily_of_the_valley":156, +"potted_wither_rose":156, +"potted_red_mushroom":156, +"potted_brown_mushroom":156, +"potted_dead_bush":156, +"potted_cactus":156, +"carrots":0, +"potatoes":0, +"oak_button":0, +"spruce_button":0, +"birch_button":0, +"jungle_button":0, +"acacia_button":0, +"dark_oak_button":0, +"skeleton_skull":157, +"skeleton_wall_skull":[158,159,160,161], +"wither_skeleton_skull":157, +"wither_skeleton_wall_skull":[158,159,160,161], +"zombie_head":157, +"zombie_wall_head":[158,159,160,161], +"player_head":157, +"player_wall_head":[158,159,160,161], +"creeper_head":157, +"creeper_wall_head":[158,159,160,161], +"dragon_head":157, +"dragon_wall_head":[158,159,160,161], +"anvil":[162,162,163,163], +"chipped_anvil":[162,162,163,163], +"damaged_anvil":[162,162,163,163], +"trapped_chest":[48,48,49,49,50,50,48,48,50,50,49,49,48,48,51,51,52,52,48,48,52,52,51,51], +"light_weighted_pressure_plate":0, +"heavy_weighted_pressure_plate":0, +"comparator":58, +"daylight_detector":60, +"redstone_block":1, +"nether_quartz_ore":1, +"hopper":[164,165,166,167,168,164,165,166,167,168], +"quartz_block":1, +"chiseled_quartz_block":1, +"quartz_pillar":1, +"quartz_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"activator_rail":0, +"dropper":1, +"white_terracotta":1, +"orange_terracotta":1, +"magenta_terracotta":1, +"light_blue_terracotta":1, +"yellow_terracotta":1, +"lime_terracotta":1, +"pink_terracotta":1, +"gray_terracotta":1, +"light_gray_terracotta":1, +"cyan_terracotta":1, +"purple_terracotta":1, +"blue_terracotta":1, +"brown_terracotta":1, +"green_terracotta":1, +"red_terracotta":1, +"black_terracotta":1, +"white_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"orange_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"magenta_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"light_blue_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"yellow_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"lime_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"pink_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"gray_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"light_gray_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"cyan_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"purple_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"blue_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"brown_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"green_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"red_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"black_stained_glass_pane":[91,92,91,92,93,94,93,94,95,96,95,96,97,98,97,98,99,100,99,100,101,102,101,102,103,104,103,104,105,90,105,90], +"acacia_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"dark_oak_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"slime_block":1, +"barrier":1, +"iron_trapdoor":[54,54,54,54,89,89,89,89,54,54,54,54,88,88,88,88,57,57,57,57,89,89,89,89,57,57,57,57,88,88,88,88,56,56,56,56,89,89,89,89,56,56,56,56,88,88,88,88,55,55,55,55,89,89,89,89,55,55,55,55,88,88,88,88], +"prismarine":1, +"prismarine_bricks":1, +"dark_prismarine":1, +"prismarine_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"prismarine_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"dark_prismarine_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"prismarine_slab":[169,169,61,61,1,1], +"prismarine_brick_slab":[169,169,61,61,1,1], +"dark_prismarine_slab":[169,169,61,61,1,1], +"sea_lantern":1, +"hay_block":1, +"white_carpet":170, +"orange_carpet":170, +"magenta_carpet":170, +"light_blue_carpet":170, +"yellow_carpet":170, +"lime_carpet":170, +"pink_carpet":170, +"gray_carpet":170, +"light_gray_carpet":170, +"cyan_carpet":170, +"purple_carpet":170, +"blue_carpet":170, +"brown_carpet":170, +"green_carpet":170, +"red_carpet":170, +"black_carpet":170, +"terracotta":1, +"coal_block":1, +"packed_ice":1, +"sunflower":0, +"lilac":0, +"rose_bush":0, +"peony":0, +"tall_grass":0, +"large_fern":0, +"white_banner":0, +"orange_banner":0, +"magenta_banner":0, +"light_blue_banner":0, +"yellow_banner":0, +"lime_banner":0, +"pink_banner":0, +"gray_banner":0, +"light_gray_banner":0, +"cyan_banner":0, +"purple_banner":0, +"blue_banner":0, +"brown_banner":0, +"green_banner":0, +"red_banner":0, +"black_banner":0, +"white_wall_banner":0, +"orange_wall_banner":0, +"magenta_wall_banner":0, +"light_blue_wall_banner":0, +"yellow_wall_banner":0, +"lime_wall_banner":0, +"pink_wall_banner":0, +"gray_wall_banner":0, +"light_gray_wall_banner":0, +"cyan_wall_banner":0, +"purple_wall_banner":0, +"blue_wall_banner":0, +"brown_wall_banner":0, +"green_wall_banner":0, +"red_wall_banner":0, +"black_wall_banner":0, +"red_sandstone":1, +"chiseled_red_sandstone":1, +"cut_red_sandstone":1, +"red_sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"oak_slab":[169,169,61,61,1,1], +"spruce_slab":[169,169,61,61,1,1], +"birch_slab":[169,169,61,61,1,1], +"jungle_slab":[169,169,61,61,1,1], +"acacia_slab":[169,169,61,61,1,1], +"dark_oak_slab":[169,169,61,61,1,1], +"stone_slab":[169,169,61,61,1,1], +"smooth_stone_slab":[169,169,61,61,1,1], +"sandstone_slab":[169,169,61,61,1,1], +"cut_sandstone_slab":[169,169,61,61,1,1], +"petrified_oak_slab":[169,169,61,61,1,1], +"cobblestone_slab":[169,169,61,61,1,1], +"brick_slab":[169,169,61,61,1,1], +"stone_brick_slab":[169,169,61,61,1,1], +"nether_brick_slab":[169,169,61,61,1,1], +"quartz_slab":[169,169,61,61,1,1], +"red_sandstone_slab":[169,169,61,61,1,1], +"cut_red_sandstone_slab":[169,169,61,61,1,1], +"purpur_slab":[169,169,61,61,1,1], +"smooth_stone":1, +"smooth_sandstone":1, +"smooth_quartz":1, +"smooth_red_sandstone":1, +"spruce_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"birch_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"jungle_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"acacia_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"dark_oak_fence_gate":[0,0,72,72,0,0,72,72,0,0,72,72,0,0,72,72,0,0,75,75,0,0,75,75,0,0,75,75,0,0,75,75], +"spruce_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"birch_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"jungle_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"acacia_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"dark_oak_fence":[66,67,66,67,68,69,68,69,70,71,70,71,72,73,72,73,74,75,74,75,76,77,76,77,78,79,78,79,80,65,80,65], +"spruce_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"birch_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"jungle_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"acacia_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"dark_oak_door":[55,55,54,54,56,56,54,54,55,55,54,54,56,56,54,54,56,56,57,57,55,55,57,57,56,56,57,57,55,55,57,57,54,54,56,56,57,57,56,56,54,54,56,56,57,57,56,56,57,57,55,55,54,54,55,55,57,57,55,55,54,54,55,55], +"end_rod":[172,173,172,173,171,171], +"chorus_plant":[175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,174], +"chorus_flower":1, +"purpur_block":1, +"purpur_pillar":1, +"purpur_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"end_stone_bricks":1, +"beetroots":0, +"grass_path":53, +"end_gateway":0, +"repeating_command_block":1, +"chain_command_block":1, +"frosted_ice":1, +"magma_block":1, +"nether_wart_block":1, +"red_nether_bricks":1, +"bone_block":1, +"structure_void":0, +"observer":1, +"shulker_box":1, +"white_shulker_box":1, +"orange_shulker_box":1, +"magenta_shulker_box":1, +"light_blue_shulker_box":1, +"yellow_shulker_box":1, +"lime_shulker_box":1, +"pink_shulker_box":1, +"gray_shulker_box":1, +"light_gray_shulker_box":1, +"cyan_shulker_box":1, +"purple_shulker_box":1, +"blue_shulker_box":1, +"brown_shulker_box":1, +"green_shulker_box":1, +"red_shulker_box":1, +"black_shulker_box":1, +"white_glazed_terracotta":1, +"orange_glazed_terracotta":1, +"magenta_glazed_terracotta":1, +"light_blue_glazed_terracotta":1, +"yellow_glazed_terracotta":1, +"lime_glazed_terracotta":1, +"pink_glazed_terracotta":1, +"gray_glazed_terracotta":1, +"light_gray_glazed_terracotta":1, +"cyan_glazed_terracotta":1, +"purple_glazed_terracotta":1, +"blue_glazed_terracotta":1, +"brown_glazed_terracotta":1, +"green_glazed_terracotta":1, +"red_glazed_terracotta":1, +"black_glazed_terracotta":1, +"white_concrete":1, +"orange_concrete":1, +"magenta_concrete":1, +"light_blue_concrete":1, +"yellow_concrete":1, +"lime_concrete":1, +"pink_concrete":1, +"gray_concrete":1, +"light_gray_concrete":1, +"cyan_concrete":1, +"purple_concrete":1, +"blue_concrete":1, +"brown_concrete":1, +"green_concrete":1, +"red_concrete":1, +"black_concrete":1, +"white_concrete_powder":1, +"orange_concrete_powder":1, +"magenta_concrete_powder":1, +"light_blue_concrete_powder":1, +"yellow_concrete_powder":1, +"lime_concrete_powder":1, +"pink_concrete_powder":1, +"gray_concrete_powder":1, +"light_gray_concrete_powder":1, +"cyan_concrete_powder":1, +"purple_concrete_powder":1, +"blue_concrete_powder":1, +"brown_concrete_powder":1, +"green_concrete_powder":1, +"red_concrete_powder":1, +"black_concrete_powder":1, +"kelp":0, +"kelp_plant":0, +"dried_kelp_block":1, +"turtle_egg":[238,238,238,239,239,239,239,239,239,239,239,239], +"dead_tube_coral_block":1, +"dead_brain_coral_block":1, +"dead_bubble_coral_block":1, +"dead_fire_coral_block":1, +"dead_horn_coral_block":1, +"tube_coral_block":1, +"brain_coral_block":1, +"bubble_coral_block":1, +"fire_coral_block":1, +"horn_coral_block":1, +"dead_tube_coral":0, +"dead_brain_coral":0, +"dead_bubble_coral":0, +"dead_fire_coral":0, +"dead_horn_coral":0, +"tube_coral":0, +"brain_coral":0, +"bubble_coral":0, +"fire_coral":0, +"horn_coral":0, +"dead_tube_coral_fan":0, +"dead_brain_coral_fan":0, +"dead_bubble_coral_fan":0, +"dead_fire_coral_fan":0, +"dead_horn_coral_fan":0, +"tube_coral_fan":0, +"brain_coral_fan":0, +"bubble_coral_fan":0, +"fire_coral_fan":0, +"horn_coral_fan":0, +"dead_tube_coral_wall_fan":0, +"dead_brain_coral_wall_fan":0, +"dead_bubble_coral_wall_fan":0, +"dead_fire_coral_wall_fan":0, +"dead_horn_coral_wall_fan":0, +"tube_coral_wall_fan":0, +"brain_coral_wall_fan":0, +"bubble_coral_wall_fan":0, +"fire_coral_wall_fan":0, +"horn_coral_wall_fan":0, +"sea_pickle":[240,240,241,241,242,242,243,243], +"blue_ice":1, +"conduit":244, +"bamboo_sapling":0, +"bamboo":245, +"potted_bamboo":156, +"void_air":0, +"cave_air":0, +"bubble_column":0, +"polished_granite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"smooth_red_sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"mossy_stone_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"polished_diorite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"mossy_cobblestone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"end_stone_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"stone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"smooth_sandstone_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"smooth_quartz_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"granite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"andesite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"red_nether_brick_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"polished_andesite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"diorite_stairs":[25,25,26,26,27,27,28,28,29,29,24,24,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,36,36,26,26,38,38,28,28,45,45,41,41,30,30,43,43,32,32,46,46,27,27,35,35,29,29,37,37,47,47,31,31,40,40,33,33,42,42], +"polished_granite_slab":[169,169,61,61,1,1], +"smooth_red_sandstone_slab":[169,169,61,61,1,1], +"mossy_stone_brick_slab":[169,169,61,61,1,1], +"polished_diorite_slab":[169,169,61,61,1,1], +"mossy_cobblestone_slab":[169,169,61,61,1,1], +"end_stone_brick_slab":[169,169,61,61,1,1], +"smooth_sandstone_slab":[169,169,61,61,1,1], +"smooth_quartz_slab":[169,169,61,61,1,1], +"granite_slab":[169,169,61,61,1,1], +"andesite_slab":[169,169,61,61,1,1], +"red_nether_brick_slab":[169,169,61,61,1,1], +"polished_andesite_slab":[169,169,61,61,1,1], +"diorite_slab":[169,169,61,61,1,1], +"brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"prismarine_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"red_sandstone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"mossy_stone_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"granite_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"stone_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"nether_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"andesite_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"red_nether_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"sandstone_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"end_stone_brick_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"diorite_wall":[125,126,125,126,127,128,127,128,129,130,129,130,131,132,131,132,133,134,133,134,135,136,135,136,137,138,137,138,139,140,139,140,141,142,141,142,143,144,143,144,145,146,145,146,147,148,147,148,149,150,149,150,151,152,151,152,153,124,153,124,154,155,154,155], +"scaffolding":246, +"loom":1, +"barrel":1, +"smoker":1, +"blast_furnace":1, +"cartography_table":1, +"fletching_table":1, +"grindstone":[248,248,249,249,247,250,251,252,253,253,254,254], +"lectern":255, +"smithing_table":1, +"stonecutter":256, +"bell":[257,257,257,257,258,258,258,258,259,259,259,259,259,259,259,259,260,260,261,261,262,262,263,263,264,264,264,264,265,265,265,265], +"lantern":[267,266], +"campfire":268, +"sweet_berry_bush":0, +"structure_block":1, +"jigsaw":1, +"composter":269, +"bee_nest":1, +"beehive":1, +"honey_block":64, +"honeycomb_block":1}, +"shapes":{"0":[], +"1":[[0.0,0.0,0.0,1.0,1.0,1.0]], +"2":[[0.0,0.0,0.8125,0.1875,0.5625,1.0],[0.0,0.1875,0.0,1.0,0.5625,0.8125],[0.1875,0.1875,0.8125,1.0,0.5625,1.0],[0.8125,0.0,0.8125,1.0,0.1875,1.0]], +"3":[[0.0,0.0,0.0,0.1875,0.5625,0.1875],[0.0,0.1875,0.1875,1.0,0.5625,1.0],[0.1875,0.1875,0.0,1.0,0.5625,0.1875],[0.8125,0.0,0.0,1.0,0.1875,0.1875]], +"4":[[0.0,0.0,0.0,0.1875,0.5625,0.1875],[0.0,0.0,0.8125,0.1875,0.5625,1.0],[0.0,0.1875,0.1875,1.0,0.5625,0.8125],[0.1875,0.1875,0.0,1.0,0.5625,0.1875],[0.1875,0.1875,0.8125,1.0,0.5625,1.0]], +"5":[[0.0,0.1875,0.0,1.0,0.5625,1.0],[0.8125,0.0,0.0,1.0,0.1875,0.1875],[0.8125,0.0,0.8125,1.0,0.1875,1.0]], +"6":[[0.0,0.0,0.25,1.0,1.0,1.0]], +"7":[[0.0,0.0,0.0,0.75,1.0,1.0]], +"8":[[0.0,0.0,0.0,1.0,1.0,0.75]], +"9":[[0.25,0.0,0.0,1.0,1.0,1.0]], +"10":[[0.0,0.0,0.0,1.0,0.75,1.0]], +"11":[[0.0,0.25,0.0,1.0,1.0,1.0]], +"12":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]], +"13":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.0]], +"14":[[0.0,0.375,0.375,1.0,0.625,0.625],[0.75,0.0,0.0,1.0,0.375,1.0],[0.75,0.375,0.0,1.0,1.0,0.375],[0.75,0.375,0.625,1.0,1.0,1.0],[0.75,0.625,0.375,1.0,1.0,0.625]], +"15":[[-0.25,0.375,0.375,1.0,0.625,0.625],[0.75,0.0,0.0,1.0,0.375,1.0],[0.75,0.375,0.0,1.0,1.0,0.375],[0.75,0.375,0.625,1.0,1.0,1.0],[0.75,0.625,0.375,1.0,1.0,0.625]], +"16":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,0.0,0.625,0.625,0.75]], +"17":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]], +"18":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.0,0.625,0.625]], +"19":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]], +"20":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,0.0,0.375,0.625,0.75,0.625]], +"21":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]], +"22":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.0,0.625]], +"23":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]], +"24":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"25":[[0.0,0.0,0.0,1.0,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0]], +"26":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.0,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"27":[[0.0,0.0,0.0,1.0,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.0,0.5,1.0,0.5,1.0]], +"28":[[0.0,0.0,0.0,0.5,1.0,0.5],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"29":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,0.5]], +"30":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"31":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"32":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,0.5]], +"33":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"34":[[0.0,0.0,0.5,1.0,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"35":[[0.0,0.0,0.5,1.0,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.0,0.0,1.0,0.5,0.5]], +"36":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.0,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"37":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.5,1.0,0.5,1.0]], +"38":[[0.0,0.0,0.5,0.5,1.0,1.0],[0.0,0.5,0.0,1.0,1.0,0.5],[0.5,0.5,0.5,1.0,1.0,1.0]], +"39":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]], +"40":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,0.5]], +"41":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0],[0.5,0.5,0.5,1.0,1.0,1.0]], +"42":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.5,1.0,1.0,1.0]], +"43":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,0.5,1.0,1.0]], +"44":[[0.0,0.0,0.0,0.5,1.0,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"45":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]], +"46":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]], +"47":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"48":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]], +"49":[[0.0625,0.0,0.0625,1.0,0.875,0.9375]], +"50":[[0.0,0.0,0.0625,0.9375,0.875,0.9375]], +"51":[[0.0625,0.0,0.0,0.9375,0.875,0.9375]], +"52":[[0.0625,0.0,0.0625,0.9375,0.875,1.0]], +"53":[[0.0,0.0,0.0,1.0,0.9375,1.0]], +"54":[[0.0,0.0,0.8125,1.0,1.0,1.0]], +"55":[[0.0,0.0,0.0,0.1875,1.0,1.0]], +"56":[[0.8125,0.0,0.0,1.0,1.0,1.0]], +"57":[[0.0,0.0,0.0,1.0,1.0,0.1875]], +"58":[[0.0,0.0,0.0,1.0,0.125,1.0]], +"59":[[0.0,0.0,0.0,1.0,0.25,1.0]], +"60":[[0.0,0.0,0.0,1.0,0.375,1.0]], +"61":[[0.0,0.0,0.0,1.0,0.5,1.0]], +"62":[[0.0,0.0,0.0,1.0,0.625,1.0]], +"63":[[0.0,0.0,0.0,1.0,0.875,1.0]], +"64":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]], +"65":[[0.375,0.0,0.375,0.625,1.5,0.625]], +"66":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375],[0.375,0.0,0.625,0.625,1.5,1.0]], +"67":[[0.375,0.0,0.0,0.625,1.5,1.0],[0.625,0.0,0.375,1.0,1.5,0.625]], +"68":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375]], +"69":[[0.375,0.0,0.0,0.625,1.5,0.625],[0.625,0.0,0.375,1.0,1.5,0.625]], +"70":[[0.0,0.0,0.375,1.0,1.5,0.625],[0.375,0.0,0.625,0.625,1.5,1.0]], +"71":[[0.375,0.0,0.375,0.625,1.5,1.0],[0.625,0.0,0.375,1.0,1.5,0.625]], +"72":[[0.0,0.0,0.375,1.0,1.5,0.625]], +"73":[[0.375,0.0,0.375,1.0,1.5,0.625]], +"74":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375],[0.375,0.0,0.625,0.625,1.5,1.0]], +"75":[[0.375,0.0,0.0,0.625,1.5,1.0]], +"76":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.0,0.625,1.5,0.375]], +"77":[[0.375,0.0,0.0,0.625,1.5,0.625]], +"78":[[0.0,0.0,0.375,0.625,1.5,0.625],[0.375,0.0,0.625,0.625,1.5,1.0]], +"79":[[0.375,0.0,0.375,0.625,1.5,1.0]], +"80":[[0.0,0.0,0.375,0.625,1.5,0.625]], +"81":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]], +"82":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]], +"83":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]], +"84":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]], +"85":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]], +"86":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]], +"87":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]], +"88":[[0.0,0.0,0.0,1.0,0.1875,1.0]], +"89":[[0.0,0.8125,0.0,1.0,1.0,1.0]], +"90":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]], +"91":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"92":[[0.4375,0.0,0.0,0.5625,1.0,1.0],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"93":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375]], +"94":[[0.4375,0.0,0.0,0.5625,1.0,0.5625],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"95":[[0.0,0.0,0.4375,1.0,1.0,0.5625],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"96":[[0.4375,0.0,0.4375,0.5625,1.0,1.0],[0.5625,0.0,0.4375,1.0,1.0,0.5625]], +"97":[[0.0,0.0,0.4375,1.0,1.0,0.5625]], +"98":[[0.4375,0.0,0.4375,1.0,1.0,0.5625]], +"99":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"100":[[0.4375,0.0,0.0,0.5625,1.0,1.0]], +"101":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.0,0.5625,1.0,0.4375]], +"102":[[0.4375,0.0,0.0,0.5625,1.0,0.5625]], +"103":[[0.0,0.0,0.4375,0.5625,1.0,0.5625],[0.4375,0.0,0.5625,0.5625,1.0,1.0]], +"104":[[0.4375,0.0,0.4375,0.5625,1.0,1.0]], +"105":[[0.0,0.0,0.4375,0.5625,1.0,0.5625]], +"106":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]], +"107":[[0.0625,0.0,0.0625,0.9375,0.125,0.9375],[0.4375,0.125,0.4375,0.5625,0.875,0.5625]], +"108":[[0.0,0.0,0.0,0.125,1.0,0.25],[0.0,0.0,0.75,0.125,1.0,1.0],[0.0,0.1875,0.25,1.0,0.25,0.75],[0.0,0.25,0.25,0.125,1.0,0.75],[0.125,0.0,0.0,0.25,1.0,0.125],[0.125,0.0,0.875,0.25,1.0,1.0],[0.125,0.1875,0.125,1.0,0.25,0.25],[0.125,0.1875,0.75,1.0,0.25,0.875],[0.25,0.1875,0.0,1.0,1.0,0.125],[0.25,0.1875,0.875,1.0,1.0,1.0],[0.75,0.0,0.0,1.0,0.1875,0.125],[0.75,0.0,0.875,1.0,0.1875,1.0],[0.875,0.0,0.125,1.0,0.1875,0.25],[0.875,0.0,0.75,1.0,0.1875,0.875],[0.875,0.25,0.125,1.0,1.0,0.875]], +"109":[[0.0,0.0,0.0,1.0,0.8125,1.0]], +"110":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.25,0.8125,0.25,0.75,1.0,0.75]], +"111":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]], +"112":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]], +"113":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]], +"114":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]], +"115":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]], +"116":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]], +"117":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]], +"118":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]], +"119":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]], +"120":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]], +"121":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]], +"122":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]], +"123":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]], +"124":[[0.25,0.0,0.25,0.75,1.5,0.75]], +"125":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"126":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"127":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"128":[[0.3125,0.0,0.0,0.6875,1.5,1.0],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"129":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"130":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"131":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125]], +"132":[[0.3125,0.0,0.0,0.6875,1.5,0.6875],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"133":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"134":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"135":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"136":[[0.3125,0.0,0.3125,0.6875,1.5,1.0],[0.6875,0.0,0.3125,1.0,1.5,0.6875]], +"137":[[0.0,0.0,0.3125,1.0,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75]], +"138":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.75,0.0,0.3125,1.0,1.5,0.6875]], +"139":[[0.0,0.0,0.3125,1.0,1.5,0.6875]], +"140":[[0.3125,0.0,0.3125,1.0,1.5,0.6875]], +"141":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"142":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"143":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"144":[[0.3125,0.0,0.0,0.6875,1.5,1.0]], +"145":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"146":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.0,0.6875,1.5,0.25]], +"147":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.0,0.6875,1.5,0.3125]], +"148":[[0.3125,0.0,0.0,0.6875,1.5,0.6875]], +"149":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"150":[[0.25,0.0,0.25,0.75,1.5,0.75],[0.3125,0.0,0.75,0.6875,1.5,1.0]], +"151":[[0.0,0.0,0.3125,0.6875,1.5,0.6875],[0.3125,0.0,0.6875,0.6875,1.5,1.0]], +"152":[[0.3125,0.0,0.3125,0.6875,1.5,1.0]], +"153":[[0.0,0.0,0.3125,0.75,1.5,0.6875],[0.25,0.0,0.25,0.75,1.5,0.3125],[0.25,0.0,0.6875,0.75,1.5,0.75]], +"154":[[0.0,0.0,0.3125,0.6875,1.5,0.6875]], +"155":[[0.5,0.0,0.5,0.5,1.5,0.5]], +"156":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]], +"157":[[0.25,0.0,0.25,0.75,0.5,0.75]], +"158":[[0.25,0.25,0.5,0.75,0.75,1.0]], +"159":[[0.25,0.25,0.0,0.75,0.75,0.5]], +"160":[[0.5,0.25,0.25,1.0,0.75,0.75]], +"161":[[0.0,0.25,0.25,0.5,0.75,0.75]], +"162":[[0.125,0.0,0.125,0.875,0.25,0.875],[0.1875,0.625,0.0,0.8125,1.0,1.0],[0.25,0.25,0.1875,0.75,0.3125,0.8125],[0.375,0.3125,0.25,0.625,0.625,0.75]], +"163":[[0.0,0.625,0.1875,1.0,1.0,0.8125],[0.125,0.0,0.125,0.875,0.25,0.875],[0.1875,0.25,0.25,0.8125,0.3125,0.75],[0.25,0.3125,0.375,0.75,0.625,0.625]], +"164":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.0,0.375,0.625,0.25,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"165":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.25,0.0,0.625,0.5,0.25],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"166":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.375,0.25,0.75,0.625,0.5,1.0],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"167":[[0.0,0.25,0.375,0.75,0.5,0.625],[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.375],[0.25,0.25,0.625,0.75,0.625,0.75],[0.25,0.5,0.375,0.75,0.625,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"168":[[0.0,0.625,0.0,1.0,0.6875,1.0],[0.0,0.6875,0.0,0.125,1.0,1.0],[0.125,0.6875,0.0,1.0,1.0,0.125],[0.125,0.6875,0.875,1.0,1.0,1.0],[0.25,0.25,0.25,0.75,0.625,0.75],[0.75,0.25,0.375,1.0,0.5,0.625],[0.875,0.6875,0.125,1.0,1.0,0.875]], +"169":[[0.0,0.5,0.0,1.0,1.0,1.0]], +"170":[[0.0,0.0,0.0,1.0,0.0625,1.0]], +"171":[[0.375,0.0,0.375,0.625,1.0,0.625]], +"172":[[0.375,0.375,0.0,0.625,0.625,1.0]], +"173":[[0.0,0.375,0.375,1.0,0.625,0.625]], +"174":[[0.1875,0.1875,0.1875,0.8125,0.8125,0.8125]], +"175":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"176":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"177":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"178":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"179":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"180":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"181":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"182":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"183":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"184":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"185":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"186":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"187":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"188":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"189":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125]], +"190":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"191":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"192":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"193":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"194":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"195":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"196":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"197":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"198":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"199":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"200":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"201":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"202":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"203":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"204":[[0.1875,0.0,0.1875,0.8125,1.0,0.8125]], +"205":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.0,0.1875,0.8125,0.1875,0.8125]], +"206":[[0.1875,0.0,0.1875,0.8125,0.8125,0.8125]], +"207":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"208":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"209":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"210":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"211":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"212":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"213":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"214":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"215":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"216":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"217":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"218":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.8125,0.1875,0.1875,1.0,0.8125,0.8125]], +"219":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"220":[[0.1875,0.1875,0.1875,1.0,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"221":[[0.0,0.1875,0.1875,1.0,0.8125,0.8125]], +"222":[[0.1875,0.1875,0.1875,1.0,0.8125,0.8125]], +"223":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"224":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"225":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"226":[[0.1875,0.1875,0.0,0.8125,0.8125,1.0]], +"227":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"228":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"229":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.0,0.8125,0.8125,0.1875]], +"230":[[0.1875,0.1875,0.0,0.8125,0.8125,0.8125]], +"231":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"232":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"233":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.1875,0.8125,0.8125,0.8125,1.0]], +"234":[[0.1875,0.1875,0.1875,0.8125,0.8125,1.0]], +"235":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125],[0.1875,0.8125,0.1875,0.8125,1.0,0.8125]], +"236":[[0.1875,0.1875,0.1875,0.8125,1.0,0.8125]], +"237":[[0.0,0.1875,0.1875,0.8125,0.8125,0.8125]], +"238":[[0.1875,0.0,0.1875,0.75,0.4375,0.75]], +"239":[[0.0625,0.0,0.0625,0.9375,0.4375,0.9375]], +"240":[[0.375,0.0,0.375,0.625,0.375,0.625]], +"241":[[0.1875,0.0,0.1875,0.8125,0.375,0.8125]], +"242":[[0.125,0.0,0.125,0.875,0.375,0.875]], +"243":[[0.125,0.0,0.125,0.875,0.4375,0.875]], +"244":[[0.3125,0.3125,0.3125,0.6875,0.6875,0.6875]], +"245":[[0.15625,0.0,0.15625,0.34375,1.0,0.34375]], +"246":[[0.0,0.0,0.0,0.125,1.0,0.125],[0.0,0.0,0.875,0.125,1.0,1.0],[0.0,0.875,0.125,1.0,1.0,0.875],[0.125,0.875,0.0,1.0,1.0,0.125],[0.125,0.875,0.875,1.0,1.0,1.0],[0.875,0.0,0.0,1.0,0.875,0.125],[0.875,0.0,0.875,1.0,0.875,1.0]], +"247":[[0.125,0.3125,0.1875,0.875,0.6875,0.5625],[0.125,0.375,0.5625,0.25,0.625,1.0],[0.25,0.125,0.0,0.75,0.3125,0.75],[0.25,0.3125,0.0,0.75,0.875,0.1875],[0.25,0.3125,0.5625,0.75,0.875,0.75],[0.25,0.6875,0.1875,0.75,0.875,0.5625],[0.75,0.375,0.5625,0.875,0.625,1.0]], +"248":[[0.125,0.0,0.375,0.25,0.8125,0.625],[0.125,0.4375,0.3125,0.875,0.8125,0.375],[0.125,0.4375,0.625,0.875,0.8125,0.6875],[0.25,0.25,0.125,0.75,0.4375,0.875],[0.25,0.4375,0.125,0.75,1.0,0.3125],[0.25,0.4375,0.375,0.875,0.8125,0.625],[0.25,0.4375,0.6875,0.75,1.0,0.875],[0.25,0.8125,0.3125,0.75,1.0,0.6875],[0.75,0.0,0.375,0.875,0.4375,0.625]], +"249":[[0.125,0.25,0.25,0.875,1.0,0.75],[0.3125,0.4375,0.125,0.6875,0.8125,0.25],[0.3125,0.4375,0.75,0.6875,0.8125,0.875],[0.375,0.0,0.125,0.625,0.4375,0.25],[0.375,0.0,0.75,0.625,0.4375,0.875]], +"250":[[0.125,0.3125,0.4375,0.875,0.6875,0.8125],[0.125,0.375,0.0,0.25,0.625,0.4375],[0.25,0.125,0.25,0.75,0.3125,1.0],[0.25,0.3125,0.25,0.75,0.875,0.4375],[0.25,0.3125,0.8125,0.75,0.875,1.0],[0.25,0.6875,0.4375,0.75,0.875,0.8125],[0.75,0.375,0.0,0.875,0.625,0.4375]], +"251":[[0.0,0.125,0.25,0.75,0.875,0.75],[0.1875,0.3125,0.125,0.5625,0.6875,0.25],[0.1875,0.3125,0.75,0.5625,0.6875,0.875],[0.5625,0.375,0.125,1.0,0.625,0.25],[0.5625,0.375,0.75,1.0,0.625,0.875]], +"252":[[0.0,0.375,0.125,0.8125,0.625,0.25],[0.0,0.375,0.75,0.8125,0.625,0.875],[0.25,0.125,0.25,1.0,0.875,0.75],[0.4375,0.3125,0.125,0.8125,0.375,0.25],[0.4375,0.3125,0.75,0.8125,0.375,0.875],[0.4375,0.625,0.125,0.8125,0.6875,0.25],[0.4375,0.625,0.75,0.8125,0.6875,0.875]], +"253":[[0.125,0.1875,0.3125,0.875,0.5625,0.6875],[0.125,0.5625,0.375,0.875,0.75,0.625],[0.125,0.75,0.375,0.25,1.0,0.625],[0.25,0.0,0.125,0.75,0.1875,0.875],[0.25,0.1875,0.125,0.75,0.75,0.3125],[0.25,0.1875,0.6875,0.75,0.75,0.875],[0.25,0.5625,0.3125,0.75,0.75,0.375],[0.25,0.5625,0.625,0.75,0.75,0.6875],[0.75,0.75,0.375,0.875,1.0,0.625]], +"254":[[0.125,0.0,0.25,0.875,0.75,0.75],[0.3125,0.1875,0.125,0.6875,0.5625,0.25],[0.3125,0.1875,0.75,0.6875,0.5625,0.875],[0.375,0.5625,0.125,0.625,1.0,0.25],[0.375,0.5625,0.75,0.625,1.0,0.875]], +"255":[[0.0,0.0,0.0,1.0,0.125,1.0],[0.25,0.125,0.25,0.75,0.875,0.75]], +"256":[[0.0,0.0,0.0,1.0,0.5625,1.0]], +"257":[[0.0,0.0,0.25,1.0,1.0,0.75]], +"258":[[0.25,0.0,0.0,0.75,1.0,1.0]], +"259":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.4375,0.5625,1.0,0.5625]], +"260":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.0,0.5625,0.9375,0.8125]], +"261":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.1875,0.5625,0.9375,1.0]], +"262":[[0.0,0.8125,0.4375,0.8125,0.9375,0.5625],[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875]], +"263":[[0.1875,0.8125,0.4375,1.0,0.9375,0.5625],[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875]], +"264":[[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875],[0.4375,0.8125,0.0,0.5625,0.9375,1.0]], +"265":[[0.0,0.8125,0.4375,1.0,0.9375,0.5625],[0.25,0.25,0.25,0.75,0.375,0.75],[0.3125,0.375,0.3125,0.6875,0.8125,0.6875]], +"266":[[0.3125,0.0,0.3125,0.6875,0.4375,0.6875],[0.375,0.4375,0.375,0.625,0.5625,0.625]], +"267":[[0.3125,0.0625,0.3125,0.6875,0.5,0.6875],[0.375,0.5,0.375,0.625,0.625,0.625]], +"268":[[0.0,0.0,0.0,1.0,0.4375,1.0]], +"269":[[0.0,0.0,0.0,1.0,0.125,1.0],[0.0,0.125,0.0,0.125,1.0,1.0],[0.125,0.125,0.0,1.0,1.0,0.125],[0.125,0.125,0.875,1.0,1.0,1.0],[0.875,0.125,0.125,1.0,1.0,0.875]]}} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15/commands.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15/commands.json new file mode 100644 index 00000000..e2d2cbf9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15/commands.json @@ -0,0 +1,13611 @@ +{ + "root": { + "type": "root", + "name": "root", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "advancement", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "grant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "revoke", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "base", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modifier", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply_base", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "ban", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ban-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "banlist", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ips", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "visible", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "blue", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "green", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pink", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "purple", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "red", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "white", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "yellow", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "max", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ] + }, + { + "type": "literal", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "style", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "notched_10", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_12", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_20", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_6", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "progress", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "visible", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "visible", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxCount", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "clone", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "begin", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "filtered", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "datapack", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "disable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "after", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "before", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "first", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "last", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "available", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "enabled", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ] + }, + { + "type": "literal", + "name": "debug", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "report", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "start", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "defaultgamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "deop", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "difficulty", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "easy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hard", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "peaceful", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "effect", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "seconds", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amplifier", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "hideParticles", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + } + } + } + ], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "enchant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "enchantment", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "level", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_enchantment", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "execute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "align", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "axes", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:swizzle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "anchored", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "at", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "if", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "in", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "dimension", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:dimension", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "positioned", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rotated", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "rot", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "run", + "executable": false, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "store", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "result", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "success", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "unless", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "experience", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "fill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hollow", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "outline", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forceload", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "gamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "gamerule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "announceAdvancements", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "commandBlockOutput", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableElytraMovementCheck", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableRaids", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doDaylightCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doEntityDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doFireTick", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doImmediateRespawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doInsomnia", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doLimitedCrafting", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobLoot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doPatrolSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTileDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTraderSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doWeatherCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "drowningDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fallDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fireDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forgiveDeadPlayers", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "keepInventory", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "logAdminCommands", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxCommandChainLength", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxEntityCramming", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mobGriefing", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "naturalRegeneration", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "randomTickSpeed", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "reducedDebugInfo", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "sendCommandFeedback", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "showDeathMessages", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnRadius", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spectatorsGenerateChunks", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "universalAnger", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "help", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "command", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "kick", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "uuids", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "bastion_remnant", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "buried_treasure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "desert_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "endcity", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "fortress", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "igloo", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "jungle_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mansion", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mineshaft", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "monument", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "nether_fossil", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ocean_ruin", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pillager_outpost", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ruined_portal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "shipwreck", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stronghold", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "swamp_hut", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "village", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locatebiome", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "biome", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "spawn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "me", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "action", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "msg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "op", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "particle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "delta", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "speed", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:particle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "playsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ambient", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "publish", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "port", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + } + } + } + ] + }, + { + "type": "literal", + "name": "recipe", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "take", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replaceitem", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "save-all", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "flush", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "save-off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "save-on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "say", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "schedule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "scoreboard", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "objectives", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criteria", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective_criteria", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "displayname", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rendertype", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "hearts", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "integer", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setdisplay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:scoreboard_slot", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:operation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "reset", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "seed", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "setblock", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setidletimeout", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minutes", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "setworldspawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnpoint", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectate", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "player", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "spreadplayers", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "spreadDistance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxRange", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "under", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxHeight", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stopsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ambient", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "summon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity_summon", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tag", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "empty", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "join", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "leave", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "collisionRule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOwnTeam", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:color", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "deathMessageVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "displayName", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "friendlyFire", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "nametagVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "prefix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "prefix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "seeFriendlyInvisibles", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "suffix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "suffix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "teammsg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "teleport", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "tell", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tellraw", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "daytime", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "gametime", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "midnight", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "night", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "noon", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "actionbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reset", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "subtitle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "times", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeIn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "stay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeOut", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tm", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "trigger", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "w", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "rain", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "thunder", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "whitelist", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "worldborder", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "damage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "amount", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "damagePerBlock", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "buffer", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "warning", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "distance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "xp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + } + ] + }, + "parsers": [ + { + "parser": "minecraft:resource_location", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + }, + "examples": [ + "word", + "words with spaces", + "\\\" and symbols\\\"" + ] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + }, + "examples": [ + "@a" + ] + }, + { + "parser": "brigadier:double", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + }, + "examples": [ + "\\\"quoted phrase\\\"", + "word", + "" + ] + }, + { + "parser": "minecraft:uuid", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:message", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:game_profile", + "modifier": null, + "examples": [ + "Player", + "0123", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "@e" + ] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "word" + }, + "examples": [ + "word", + "word_with_underscore" + ] + }, + { + "parser": "minecraft:component", + "modifier": null, + "examples": [ + "\"hello world\"", + "\"\"", + "\"{\"text\":\"hello world\"}\"", + "[\"\"]" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + }, + "examples": [ + "1" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + }, + "examples": [ + "0", + "1" + ] + }, + { + "parser": "brigadier:bool", + "modifier": null, + "examples": [ + "true", + "false" + ] + }, + { + "parser": "minecraft:item_predicate", + "modifier": null, + "examples": [ + "stick", + "minecraft:stick", + "#stick", + "diamond_sword{ench:[{id:16,lvl:5}]}" + ] + }, + { + "parser": "minecraft:block_predicate", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "#stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:block_pos", + "modifier": null, + "examples": [ + "0 0 0", + "~ ~ ~", + "^ ^ ^", + "^1 ^ ^-5", + "~0.5 ~1 ~-5" + ] + }, + { + "parser": "minecraft:nbt_path", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_compound_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:integer", + "modifier": null, + "examples": [ + "1", + "0", + "10" + ] + }, + { + "parser": "minecraft:mob_effect", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + }, + "examples": [ + "@e", + "@e[type=cow]", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "Player" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + }, + "examples": [ + "0", + "255" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + }, + "examples": [ + "1", + "1000000" + ] + }, + { + "parser": "minecraft:item_enchantment", + "modifier": null, + "examples": [ + "unbreaking", + "minecraft:slik_touch" + ] + }, + { + "parser": "minecraft:swizzle", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_anchor", + "modifier": null, + "examples": [ + "eyes", + "feet" + ] + }, + { + "parser": "minecraft:vec3", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + }, + "examples": [] + }, + { + "parser": "minecraft:int_range", + "modifier": null, + "examples": [ + "0..5", + "0", + "-5", + "-100..", + "..100" + ] + }, + { + "parser": "minecraft:dimension", + "modifier": null, + "examples": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end", + "overworld", + "the_end", + "the_nether" + ] + }, + { + "parser": "minecraft:rotation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + }, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:block_state", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:column_pos", + "modifier": null, + "examples": [ + "0 0", + "~ ~", + "~1 ~-2", + "^ ^", + "^-1 ^0" + ] + }, + { + "parser": "minecraft:function", + "modifier": null, + "examples": [ + "foo", + "foo:bar", + "#foo" + ] + }, + { + "parser": "minecraft:item_stack", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:item_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + }, + "examples": [ + "0.0", + "0", + "1", + "0.01" + ] + }, + { + "parser": "minecraft:particle", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + }, + "examples": [ + "0.0", + "0", + "1", + "1.0", + "0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + }, + "examples": [ + "0", + "2", + "1.0", + "2.0" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + }, + "examples": [ + "0", + "65535" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + }, + "examples": [ + "1", + "64" + ] + }, + { + "parser": "minecraft:time", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective_criteria", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:scoreboard_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:operation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:angle", + "modifier": null, + "examples": [ + "0", + "~", + "~-0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + }, + "examples": [ + "1", + "1.0", + "1.000" + ] + }, + { + "parser": "minecraft:vec2", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_summon", + "modifier": null, + "examples": [ + "minecraft:pig", + "cow" + ] + }, + { + "parser": "minecraft:team", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:color", + "modifier": null, + "examples": [ + "aqua", + "black", + "blue", + "dark_aqua", + "dark_blue", + "dark_gray", + "dark_green", + "dark_purple", + "dark_red", + "gold", + "gray", + "green", + "light_purple", + "red", + "reset", + "yellow", + "white" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + }, + "examples": [ + "0", + "1000000" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + }, + "examples": [] + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15/particles.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15/particles.json new file mode 100644 index 00000000..eeaf4368 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15/particles.json @@ -0,0 +1,250 @@ +[ + { + "id": 0, + "name": "ambient_entity_effect" + }, + { + "id": 1, + "name": "angry_villager" + }, + { + "id": 2, + "name": "barrier" + }, + { + "id": 3, + "name": "block" + }, + { + "id": 4, + "name": "bubble" + }, + { + "id": 5, + "name": "cloud" + }, + { + "id": 6, + "name": "crit" + }, + { + "id": 7, + "name": "damage_indicator" + }, + { + "id": 8, + "name": "dragon_breath" + }, + { + "id": 9, + "name": "dripping_lava" + }, + { + "id": 10, + "name": "falling_lava" + }, + { + "id": 11, + "name": "landing_lava" + }, + { + "id": 12, + "name": "dripping_water" + }, + { + "id": 13, + "name": "falling_water" + }, + { + "id": 14, + "name": "dust" + }, + { + "id": 15, + "name": "effect" + }, + { + "id": 16, + "name": "elder_guardian" + }, + { + "id": 17, + "name": "enchanted_hit" + }, + { + "id": 18, + "name": "enchant" + }, + { + "id": 19, + "name": "end_rod" + }, + { + "id": 20, + "name": "entity_effect" + }, + { + "id": 21, + "name": "explosion_emitter" + }, + { + "id": 22, + "name": "explosion" + }, + { + "id": 23, + "name": "falling_dust" + }, + { + "id": 24, + "name": "firework" + }, + { + "id": 25, + "name": "fishing" + }, + { + "id": 26, + "name": "flame" + }, + { + "id": 27, + "name": "flash" + }, + { + "id": 28, + "name": "happy_villager" + }, + { + "id": 29, + "name": "composter" + }, + { + "id": 30, + "name": "heart" + }, + { + "id": 31, + "name": "instant_effect" + }, + { + "id": 32, + "name": "item" + }, + { + "id": 33, + "name": "item_slime" + }, + { + "id": 34, + "name": "item_snowball" + }, + { + "id": 35, + "name": "large_smoke" + }, + { + "id": 36, + "name": "lava" + }, + { + "id": 37, + "name": "mycelium" + }, + { + "id": 38, + "name": "note" + }, + { + "id": 39, + "name": "poof" + }, + { + "id": 40, + "name": "portal" + }, + { + "id": 41, + "name": "rain" + }, + { + "id": 42, + "name": "smoke" + }, + { + "id": 43, + "name": "sneeze" + }, + { + "id": 44, + "name": "spit" + }, + { + "id": 45, + "name": "squid_ink" + }, + { + "id": 46, + "name": "sweep_attack" + }, + { + "id": 47, + "name": "totem_of_undying" + }, + { + "id": 48, + "name": "underwater" + }, + { + "id": 49, + "name": "splash" + }, + { + "id": 50, + "name": "witch" + }, + { + "id": 51, + "name": "bubble_pop" + }, + { + "id": 52, + "name": "current_down" + }, + { + "id": 53, + "name": "bubble_column_up" + }, + { + "id": 54, + "name": "nautilus" + }, + { + "id": 55, + "name": "dolphin" + }, + { + "id": 56, + "name": "campfire_cosy_smoke" + }, + { + "id": 57, + "name": "campfire_signal_smoke" + }, + { + "id": 58, + "name": "dripping_honey" + }, + { + "id": 59, + "name": "falling_honey" + }, + { + "id": 60, + "name": "landing_honey" + }, + { + "id": 61, + "name": "falling_nectar" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15/protocol.json new file mode 100644 index 00000000..a58a802c --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15/protocol.json @@ -0,0 +1,5072 @@ +{ + "types": { + "varint": "native", + "optvarint": "varint", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "14": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "23": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "32": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle", + "16": [ + "container",[ + { + "name": "villagerType", + "type": "varint" + }, + { + "name": "villagerProfession", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ], + "17": "optvarint", + "18": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "difficultyLocked", + "type": "bool" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "inventoryType", + "type": "varint" + }, + { + "name": "windowTitle", + "type": "string" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_open_horse_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "nbSlots", + "type": "varint" + }, + { + "name": "entityId", + "type": "i32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "heightmaps", + "type": "nbt" + }, + { + "name": "biomes", + "type": [ + "switch", + { + "compareTo": "groundUp", + "fields": { + "false": "void", + "true": ["array", { + "count": 1024, + "type": "i32" + }] + } + } + ] + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_update_light": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + }, + { + "name": "skyLightMask", + "type": "varint" + }, + { + "name": "blockLightMask", + "type": "varint" + }, + { + "name": "emptySkyLightMask", + "type": "varint" + }, + { + "name": "emptyBlockLightMask", + "type": "varint" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "viewDistance", + "type": "varint" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + }, + { + "name": "enableRespawnScreen", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_trade_list": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "trades", + "type": [ + "array", + { + "countType": "u8", + "type": ["container", [ + { + "name": "inputItem1", + "type": "slot" + }, + { + "name": "outputItem", + "type": "slot" + }, + { + "name": "inputItem2", + "type": ["option", "slot"] + }, + { + "name": "tradeDisabled", + "type": "bool" + }, + { + "name": "nbTradeUses", + "type": "i32" + }, + { + "name": "maximumNbTradeUses", + "type": "i32" + }, + { + "name": "xp", + "type": "i32" + }, + { + "name": "specialPrice", + "type": "i32" + }, + { + "name": "priceMultiplier", + "type": "f32" + }, + { + "name": "demand", + "type": "i32" + } + ]] + } + ] + }, + { + "name": "villagerLevel", + "type": "varint" + }, + { + "name": "experience", + "type": "varint" + }, + { + "name": "isRegularVillager", + "type": "bool" + }, + { + "name": "canRestock", + "type": "bool" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_book": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_update_view_position": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + } + ] + ], + "packet_update_view_distance": [ + "container", + [ + { + "name": "viewDistance", + "type": "varint" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "type", + "type": "string" + }, + { + "name": "recipeId", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "minecraft:crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_special_armordye": "void", + "minecraft:crafting_special_bookcloning": "void", + "minecraft:crafting_special_mapcloning": "void", + "minecraft:crafting_special_mapextending": "void", + "minecraft:crafting_special_firework_rocket": "void", + "minecraft:crafting_special_firework_star": "void", + "minecraft:crafting_special_firework_star_fade": "void", + "minecraft:crafting_special_repairitem": "void", + "minecraft:crafting_special_tippedarrow": "void", + "minecraft:crafting_special_bannerduplicate": "void", + "minecraft:crafting_special_banneraddpattern": "void", + "minecraft:crafting_special_shielddecoration": "void", + "minecraft:crafting_special_shulkerboxcoloring": "void", + "minecraft:crafting_special_suspiciousstew": "void", + "minecraft:smelting": "minecraft_smelting_format", + "minecraft:blasting": "minecraft_smelting_format", + "minecraft:smoking": "minecraft_smelting_format", + "minecraft:campfire_cooking": "minecraft_smelting_format", + "minecraft:stonecutting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "minecraft_smelting_format": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + }, + { + "name": "entityTags", + "type": "tags" + } + ] + ], + "packet_acknowledge_player_digging": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "block", + "type": "varint" + }, + { + "name": "status", + "type": "varint" + }, + { + "name": "successful", + "type": "bool" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "acknowledge_player_digging", + "0x09": "block_break_animation", + "0x0a": "tile_entity_data", + "0x0b": "block_action", + "0x0c": "block_change", + "0x0d": "boss_bar", + "0x0e": "difficulty", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "tab_complete", + "0x12": "declare_commands", + "0x13": "transaction", + "0x14": "close_window", + "0x15": "window_items", + "0x16": "craft_progress_bar", + "0x17": "set_slot", + "0x18": "set_cooldown", + "0x19": "custom_payload", + "0x1a": "named_sound_effect", + "0x1b": "kick_disconnect", + "0x1c": "entity_status", + "0x1d": "explosion", + "0x1e": "unload_chunk", + "0x1f": "game_state_change", + "0x20": "open_horse_window", + "0x21": "keep_alive", + "0x22": "map_chunk", + "0x23": "world_event", + "0x24": "world_particles", + "0x25": "update_light", + "0x26": "login", + "0x27": "map", + "0x28": "trade_list", + "0x29": "rel_entity_move", + "0x2a": "entity_move_look", + "0x2b": "entity_look", + "0x2c": "entity", + "0x2d": "vehicle_move", + "0x2e": "open_book", + "0x2f": "open_window", + "0x30": "open_sign_entity", + "0x31": "craft_recipe_response", + "0x32": "abilities", + "0x33": "combat_event", + "0x34": "player_info", + "0x35": "face_player", + "0x36": "position", + "0x37": "unlock_recipes", + "0x38": "entity_destroy", + "0x39": "remove_entity_effect", + "0x3a": "resource_pack_send", + "0x3b": "respawn", + "0x3c": "entity_head_rotation", + "0x3d": "select_advancement_tab", + "0x3e": "world_border", + "0x3f": "camera", + "0x40": "held_item_slot", + "0x41": "update_view_position", + "0x42": "update_view_distance", + "0x43": "scoreboard_display_objective", + "0x44": "entity_metadata", + "0x45": "attach_entity", + "0x46": "entity_velocity", + "0x47": "entity_equipment", + "0x48": "experience", + "0x49": "update_health", + "0x4a": "scoreboard_objective", + "0x4b": "set_passengers", + "0x4c": "teams", + "0x4d": "scoreboard_score", + "0x4e": "spawn_position", + "0x4f": "update_time", + "0x50": "title", + "0x51": "entity_sound_effect", + "0x52": "sound_effect", + "0x53": "stop_sound", + "0x54": "playerlist_header", + "0x55": "nbt_query_response", + "0x56": "collect", + "0x57": "entity_teleport", + "0x58": "advancements", + "0x59": "entity_update_attributes", + "0x5a": "entity_effect", + "0x5b": "declare_recipes", + "0x5c": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "open_horse_window": "packet_open_horse_window", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "update_light": "packet_update_light", + "login": "packet_login", + "map": "packet_map", + "trade_list": "packet_trade_list", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_book": "packet_open_book", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "update_view_position": "packet_update_view_position", + "update_view_distance": "packet_update_view_distance", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "entity_sound_effect": "packet_entity_sound_effect", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags", + "acknowledge_player_digging": "packet_acknowledge_player_digging" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "newDifficulty", + "type": "u8" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_lock_difficulty": [ + "container", + [ + { + "name": "locked", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + }, + { + "name": "blastingBookOpen", + "type": "bool" + }, + { + "name": "blastingFilter", + "type": "bool" + }, + { + "name": "smokingBookOpen", + "type": "bool" + }, + { + "name": "smokingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_jigsaw_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "attachmentType", + "type": "string" + }, + { + "name": "targetPool", + "type": "string" + }, + { + "name": "finalState", + "type": "string" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + }, + { + "name": "insideBlock", + "type": "bool" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "set_difficulty", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "tab_complete", + "0x07": "transaction", + "0x08": "enchant_item", + "0x09": "window_click", + "0x0a": "close_window", + "0x0b": "custom_payload", + "0x0c": "edit_book", + "0x0d": "query_entity_nbt", + "0x0e": "use_entity", + "0x0f": "keep_alive", + "0x10": "lock_difficulty", + "0x11": "position", + "0x12": "position_look", + "0x13": "look", + "0x14": "flying", + "0x15": "vehicle_move", + "0x16": "steer_boat", + "0x17": "pick_item", + "0x18": "craft_recipe_request", + "0x19": "abilities", + "0x1a": "block_dig", + "0x1b": "entity_action", + "0x1c": "steer_vehicle", + "0x1d": "crafting_book_data", + "0x1e": "name_item", + "0x1f": "resource_pack_receive", + "0x20": "advancement_tab", + "0x21": "select_trade", + "0x22": "set_beacon_effect", + "0x23": "held_item_slot", + "0x24": "update_command_block", + "0x25": "update_command_block_minecart", + "0x26": "set_creative_slot", + "0x27": "update_jigsaw_block", + "0x28": "update_structure_block", + "0x29": "update_sign", + "0x2a": "arm_animation", + "0x2b": "spectate", + "0x2c": "block_place", + "0x2d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "set_difficulty": "packet_set_difficulty", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "lock_difficulty": "packet_lock_difficulty", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_jigsaw_block": "packet_update_jigsaw_block", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.15/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.15/version.json new file mode 100644 index 00000000..f2a07536 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.15/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.15", + "version": 573, + "majorVersion": "1.15" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16-rc1/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16-rc1/protocol.json new file mode 100644 index 00000000..35a40dfd --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16-rc1/protocol.json @@ -0,0 +1,5141 @@ +{ + "types": { + "varint": "native", + "optvarint": "varint", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "topBitSetTerminatedArray": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "14": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "23": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "34": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle", + "16": [ + "container",[ + { + "name": "villagerType", + "type": "varint" + }, + { + "name": "villagerProfession", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ], + "17": "optvarint", + "18": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "difficultyLocked", + "type": "bool" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + }, + { + "name": "sender", + "type": "UUID" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "inventoryType", + "type": "varint" + }, + { + "name": "windowTitle", + "type": "string" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_open_horse_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "nbSlots", + "type": "varint" + }, + { + "name": "entityId", + "type": "i32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "ignoreOldData", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "heightmaps", + "type": "nbt" + }, + { + "name": "biomes", + "type": [ + "switch", + { + "compareTo": "groundUp", + "fields": { + "false": "void", + "true": ["array", { + "count": 1024, + "type": "i32" + }] + } + } + ] + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_update_light": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + }, + { + "name": "trustEdges", + "type": "bool" + }, + { + "name": "skyLightMask", + "type": "varint" + }, + { + "name": "blockLightMask", + "type": "varint" + }, + { + "name": "emptySkyLightMask", + "type": "varint" + }, + { + "name": "emptyBlockLightMask", + "type": "varint" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "previousGameMode", + "type": "u8" + }, + { + "name": "worldNames", + "type": ["array", { + "countType": "varint", + "type": "string" + }] + }, + { + "name": "dimensionCodec", + "type": "nbt" + }, + { + "name": "dimension", + "type": "string" + }, + { + "name": "worldName", + "type": "string" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "viewDistance", + "type": "varint" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + }, + { + "name": "enableRespawnScreen", + "type": "bool" + }, + { + "name": "isDebug", + "type": "bool" + }, + { + "name": "isFlat", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_trade_list": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "trades", + "type": [ + "array", + { + "countType": "u8", + "type": ["container", [ + { + "name": "inputItem1", + "type": "slot" + }, + { + "name": "outputItem", + "type": "slot" + }, + { + "name": "inputItem2", + "type": ["option", "slot"] + }, + { + "name": "tradeDisabled", + "type": "bool" + }, + { + "name": "nbTradeUses", + "type": "i32" + }, + { + "name": "maximumNbTradeUses", + "type": "i32" + }, + { + "name": "xp", + "type": "i32" + }, + { + "name": "specialPrice", + "type": "i32" + }, + { + "name": "priceMultiplier", + "type": "f32" + }, + { + "name": "demand", + "type": "i32" + } + ]] + } + ] + }, + { + "name": "villagerLevel", + "type": "varint" + }, + { + "name": "experience", + "type": "varint" + }, + { + "name": "isRegularVillager", + "type": "bool" + }, + { + "name": "canRestock", + "type": "bool" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_book": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "string" + }, + { + "name": "worldName", + "type": "string" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "previousGamemode", + "type": "u8" + }, + { + "name": "isDebug", + "type": "bool" + }, + { + "name": "isFlat", + "type": "bool" + }, + { + "name": "copyMetadata", + "type": "bool" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_update_view_position": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + } + ] + ], + "packet_update_view_distance": [ + "container", + [ + { + "name": "viewDistance", + "type": "varint" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "equipments", + "type": ["topBitSetTerminatedArray", { + "type": ["container", [ + { + "name": "slot", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ]] + }] + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "type", + "type": "string" + }, + { + "name": "recipeId", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "minecraft:crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_special_armordye": "void", + "minecraft:crafting_special_bookcloning": "void", + "minecraft:crafting_special_mapcloning": "void", + "minecraft:crafting_special_mapextending": "void", + "minecraft:crafting_special_firework_rocket": "void", + "minecraft:crafting_special_firework_star": "void", + "minecraft:crafting_special_firework_star_fade": "void", + "minecraft:crafting_special_repairitem": "void", + "minecraft:crafting_special_tippedarrow": "void", + "minecraft:crafting_special_bannerduplicate": "void", + "minecraft:crafting_special_banneraddpattern": "void", + "minecraft:crafting_special_shielddecoration": "void", + "minecraft:crafting_special_shulkerboxcoloring": "void", + "minecraft:crafting_special_suspiciousstew": "void", + "minecraft:smelting": "minecraft_smelting_format", + "minecraft:blasting": "minecraft_smelting_format", + "minecraft:smoking": "minecraft_smelting_format", + "minecraft:campfire_cooking": "minecraft_smelting_format", + "minecraft:stonecutting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:smithing": ["container",[ + { + "name": "base", + "type": "ingredient" + }, + { + "name": "addition", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "minecraft_smelting_format": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + }, + { + "name": "entityTags", + "type": "tags" + } + ] + ], + "packet_acknowledge_player_digging": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "block", + "type": "varint" + }, + { + "name": "status", + "type": "varint" + }, + { + "name": "successful", + "type": "bool" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_living", + "0x03": "spawn_entity_painting", + "0x04": "named_entity_spawn", + "0x05": "animation", + "0x06": "statistics", + "0x07": "acknowledge_player_digging", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "chat", + "0x0f": "multi_block_change", + "0x10": "tab_complete", + "0x11": "declare_commands", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "open_horse_window", + "0x20": "keep_alive", + "0x21": "map_chunk", + "0x22": "world_event", + "0x23": "world_particles", + "0x24": "update_light", + "0x25": "login", + "0x26": "map", + "0x27": "trade_list", + "0x28": "rel_entity_move", + "0x29": "entity_move_look", + "0x2a": "entity_look", + "0x2b": "entity", + "0x2c": "vehicle_move", + "0x2d": "open_book", + "0x2e": "open_window", + "0x2f": "open_sign_entity", + "0x30": "craft_recipe_response", + "0x31": "abilities", + "0x32": "combat_event", + "0x33": "player_info", + "0x34": "face_player", + "0x35": "position", + "0x36": "unlock_recipes", + "0x37": "entity_destroy", + "0x38": "remove_entity_effect", + "0x39": "resource_pack_send", + "0x3a": "respawn", + "0x3b": "entity_head_rotation", + "0x3c": "select_advancement_tab", + "0x3d": "world_border", + "0x3e": "camera", + "0x3f": "held_item_slot", + "0x40": "update_view_position", + "0x41": "update_view_distance", + "0x42": "spawn_position", + "0x43": "scoreboard_display_objective", + "0x44": "entity_metadata", + "0x45": "attach_entity", + "0x46": "entity_velocity", + "0x47": "entity_equipment", + "0x48": "experience", + "0x49": "update_health", + "0x4a": "scoreboard_objective", + "0x4b": "set_passengers", + "0x4c": "teams", + "0x4d": "scoreboard_score", + "0x4e": "update_time", + "0x4f": "title", + "0x50": "entity_sound_effect", + "0x51": "sound_effect", + "0x52": "stop_sound", + "0x53": "playerlist_header", + "0x54": "nbt_query_response", + "0x55": "collect", + "0x56": "entity_teleport", + "0x57": "advancements", + "0x58": "entity_update_attributes", + "0x59": "entity_effect", + "0x5a": "declare_recipes", + "0x5b": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "open_horse_window": "packet_open_horse_window", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "update_light": "packet_update_light", + "login": "packet_login", + "map": "packet_map", + "trade_list": "packet_trade_list", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_book": "packet_open_book", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "update_view_position": "packet_update_view_position", + "update_view_distance": "packet_update_view_distance", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "entity_sound_effect": "packet_entity_sound_effect", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags", + "acknowledge_player_digging": "packet_acknowledge_player_digging" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "newDifficulty", + "type": "u8" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "sneaking", + "type": "bool" + } + ] + ], + "packet_generate_structure": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "levels", + "type": "varint" + }, + { + "name": "keepJigsaws", + "type": "bool" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_lock_difficulty": [ + "container", + [ + { + "name": "locked", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + }, + { + "name": "blastingBookOpen", + "type": "bool" + }, + { + "name": "blastingFilter", + "type": "bool" + }, + { + "name": "smokingBookOpen", + "type": "bool" + }, + { + "name": "smokingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_jigsaw_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "target", + "type": "string" + }, + { + "name": "pool", + "type": "string" + }, + { + "name": "finalState", + "type": "string" + }, + { + "name": "jointType", + "type": "string" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + }, + { + "name": "insideBlock", + "type": "bool" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "set_difficulty", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "tab_complete", + "0x07": "transaction", + "0x08": "enchant_item", + "0x09": "window_click", + "0x0a": "close_window", + "0x0b": "custom_payload", + "0x0c": "edit_book", + "0x0d": "query_entity_nbt", + "0x0e": "use_entity", + "0x0f": "generate_structure", + "0x10": "keep_alive", + "0x11": "lock_difficulty", + "0x12": "position", + "0x13": "position_look", + "0x14": "look", + "0x15": "flying", + "0x16": "vehicle_move", + "0x17": "steer_boat", + "0x18": "pick_item", + "0x19": "craft_recipe_request", + "0x1a": "abilities", + "0x1b": "block_dig", + "0x1c": "entity_action", + "0x1d": "steer_vehicle", + "0x1e": "crafting_book_data", + "0x1f": "name_item", + "0x20": "resource_pack_receive", + "0x21": "advancement_tab", + "0x22": "select_trade", + "0x23": "set_beacon_effect", + "0x24": "held_item_slot", + "0x25": "update_command_block", + "0x26": "update_command_block_minecart", + "0x27": "set_creative_slot", + "0x28": "update_jigsaw_block", + "0x29": "update_structure_block", + "0x2a": "update_sign", + "0x2b": "arm_animation", + "0x2c": "spectate", + "0x2d": "block_place", + "0x2e": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "set_difficulty": "packet_set_difficulty", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "generate_structure": "packet_generate_structure", + "keep_alive": "packet_keep_alive", + "lock_difficulty": "packet_lock_difficulty", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_jigsaw_block": "packet_update_jigsaw_block", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16-rc1/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16-rc1/version.json new file mode 100644 index 00000000..789430a0 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16-rc1/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.16-rc1", + "version": 734, + "majorVersion": "1.16" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/biomes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/biomes.json new file mode 100644 index 00000000..4ac6f63a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/biomes.json @@ -0,0 +1,555 @@ +[ + { + "id": 0, + "name": "ocean", + "displayName": "Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 1, + "name": "plains", + "displayName": "Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 2, + "name": "desert", + "displayName": "Desert", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 3, + "name": "mountains", + "displayName": "Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 4, + "name": "forest", + "displayName": "Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 5, + "name": "taiga", + "displayName": "Taiga", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 6, + "name": "swamp", + "displayName": "Swamp", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 7, + "name": "river", + "displayName": "River", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 8, + "name": "nether_wastes", + "displayName": "Nether Wastes", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 9, + "name": "the_end", + "displayName": "The End", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 10, + "name": "frozen_ocean", + "displayName": "Frozen Ocean", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 11, + "name": "frozen_river", + "displayName": "Frozen River", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 12, + "name": "snowy_tundra", + "displayName": "Snowy Tundra", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 13, + "name": "snowy_mountains", + "displayName": "Snowy Mountains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 14, + "name": "mushroom_fields", + "displayName": "Mushroom Fields", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 15, + "name": "mushroom_field_shore", + "displayName": "Mushroom Field Shore", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 16, + "name": "beach", + "displayName": "Beach", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 17, + "name": "desert_hills", + "displayName": "Desert Hills", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 18, + "name": "wooded_hills", + "displayName": "Wooded Hills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 19, + "name": "taiga_hills", + "displayName": "Taiga Hills", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 20, + "name": "mountain_edge", + "displayName": "Mountain Edge", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 21, + "name": "jungle", + "displayName": "Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 22, + "name": "jungle_hills", + "displayName": "Jungle Hills", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 23, + "name": "jungle_edge", + "displayName": "Jungle Edge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 24, + "name": "deep_ocean", + "displayName": "Deep Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 25, + "name": "stone_shore", + "displayName": "Stone Shore", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 26, + "name": "snowy_beach", + "displayName": "Snowy Beach", + "rainfall": 0.3, + "temperature": 0.05 + }, + { + "id": 27, + "name": "birch_forest", + "displayName": "Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 28, + "name": "birch_forest_hills", + "displayName": "Birch Forest Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 29, + "name": "dark_forest", + "displayName": "Dark Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 30, + "name": "snowy_taiga", + "displayName": "Snowy Taiga", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 31, + "name": "snowy_taiga_hills", + "displayName": "Snowy Taiga Hills", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 32, + "name": "giant_tree_taiga", + "displayName": "Giant Tree Taiga", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 33, + "name": "giant_tree_taiga_hills", + "displayName": "Giant Tree Taiga Hills", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 34, + "name": "wooded_mountains", + "displayName": "Wooded Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 35, + "name": "savanna", + "displayName": "Savanna", + "rainfall": 0, + "temperature": 1.2 + }, + { + "id": 36, + "name": "savanna_plateau", + "displayName": "Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 37, + "name": "badlands", + "displayName": "Badlands", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 38, + "name": "wooded_badlands_plateau", + "displayName": "Wooded Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 39, + "name": "badlands_plateau", + "displayName": "Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 40, + "name": "small_end_islands", + "displayName": "Small End Islands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 41, + "name": "end_midlands", + "displayName": "End Midlands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 42, + "name": "end_highlands", + "displayName": "End Highlands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 43, + "name": "end_barrens", + "displayName": "End Barrens", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 44, + "name": "warm_ocean", + "displayName": "Warm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 45, + "name": "lukewarm_ocean", + "displayName": "Lukewarm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 46, + "name": "cold_ocean", + "displayName": "Cold Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 47, + "name": "deep_warm_ocean", + "displayName": "Deep Warm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 48, + "name": "deep_lukewarm_ocean", + "displayName": "Deep Lukewarm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 49, + "name": "deep_cold_ocean", + "displayName": "Deep Cold Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 50, + "name": "deep_frozen_ocean", + "displayName": "Deep Frozen Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 127, + "name": "the_void", + "displayName": "The Void", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 129, + "name": "sunflower_plains", + "displayName": "Sunflower Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 130, + "name": "desert_lakes", + "displayName": "Desert Lakes", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 131, + "name": "gravelly_mountains", + "displayName": "Gravelly Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 132, + "name": "flower_forest", + "displayName": "Flower Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 133, + "name": "taiga_mountains", + "displayName": "Taiga Mountains", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 134, + "name": "swamp_hills", + "displayName": "Swamp Hills", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 140, + "name": "ice_spikes", + "displayName": "Ice Spikes", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 149, + "name": "modified_jungle", + "displayName": "Modified Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 151, + "name": "modified_jungle_edge", + "displayName": "Modified Jungle Edge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 155, + "name": "tall_birch_forest", + "displayName": "Tall Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 156, + "name": "tall_birch_hills", + "displayName": "Tall Birch Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 157, + "name": "dark_forest_hills", + "displayName": "Dark Forest Hills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 158, + "name": "snowy_taiga_mountains", + "displayName": "Snowy Taiga Mountains", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 160, + "name": "giant_spruce_taiga", + "displayName": "Giant Spruce Taiga", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 161, + "name": "giant_spruce_taiga_hills", + "displayName": "Giant Spruce Taiga Hills", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 162, + "name": "modified_gravelly_mountains", + "displayName": "Gravelly Mountains+", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 163, + "name": "shattered_savanna", + "displayName": "Shattered Savanna", + "rainfall": 0, + "temperature": 1.1 + }, + { + "id": 164, + "name": "shattered_savanna_plateau", + "displayName": "Shattered Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 165, + "name": "eroded_badlands", + "displayName": "Eroded Badlands", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 166, + "name": "modified_wooded_badlands_plateau", + "displayName": "Modified Wooded Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 167, + "name": "modified_badlands_plateau", + "displayName": "Modified Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 168, + "name": "bamboo_jungle", + "displayName": "Bamboo Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 169, + "name": "bamboo_jungle_hills", + "displayName": "Bamboo Jungle Hills", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 170, + "name": "soul_sand_valley", + "displayName": "Soul Sand Valley", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 171, + "name": "crimson_forest", + "displayName": "Crimson Forest", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 172, + "name": "warped_forest", + "displayName": "Warped Forest", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 173, + "name": "basalt_deltas", + "displayName": "Basalt Deltas", + "rainfall": 0, + "temperature": 2 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/blockCollisionShapes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/blockCollisionShapes.json new file mode 100644 index 00000000..643b865d --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/blockCollisionShapes.json @@ -0,0 +1,1941 @@ +{ + "blocks": { + "air": 0, + "stone": 1, + "granite": 1, + "polished_granite": 1, + "diorite": 1, + "polished_diorite": 1, + "andesite": 1, + "polished_andesite": 1, + "grass_block": 1, + "dirt": 1, + "coarse_dirt": 1, + "podzol": 1, + "cobblestone": 1, + "oak_planks": 1, + "spruce_planks": 1, + "birch_planks": 1, + "jungle_planks": 1, + "acacia_planks": 1, + "dark_oak_planks": 1, + "oak_sapling": 0, + "spruce_sapling": 0, + "birch_sapling": 0, + "jungle_sapling": 0, + "acacia_sapling": 0, + "dark_oak_sapling": 0, + "bedrock": 1, + "water": 0, + "lava": 0, + "sand": 1, + "red_sand": 1, + "gravel": 1, + "gold_ore": 1, + "iron_ore": 1, + "coal_ore": 1, + "oak_log": 1, + "spruce_log": 1, + "birch_log": 1, + "jungle_log": 1, + "acacia_log": 1, + "dark_oak_log": 1, + "stripped_spruce_log": 1, + "stripped_birch_log": 1, + "stripped_jungle_log": 1, + "stripped_acacia_log": 1, + "stripped_dark_oak_log": 1, + "stripped_oak_log": 1, + "oak_wood": 1, + "spruce_wood": 1, + "birch_wood": 1, + "jungle_wood": 1, + "acacia_wood": 1, + "dark_oak_wood": 1, + "stripped_oak_wood": 1, + "stripped_spruce_wood": 1, + "stripped_birch_wood": 1, + "stripped_jungle_wood": 1, + "stripped_acacia_wood": 1, + "stripped_dark_oak_wood": 1, + "oak_leaves": 1, + "spruce_leaves": 1, + "birch_leaves": 1, + "jungle_leaves": 1, + "acacia_leaves": 1, + "dark_oak_leaves": 1, + "sponge": 1, + "wet_sponge": 1, + "glass": 1, + "lapis_ore": 1, + "lapis_block": 1, + "dispenser": 1, + "sandstone": 1, + "chiseled_sandstone": 1, + "cut_sandstone": 1, + "note_block": 1, + "white_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "orange_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "magenta_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "light_blue_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "yellow_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "lime_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "pink_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "gray_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "light_gray_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "cyan_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "purple_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "blue_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "brown_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "green_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "red_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "black_bed": [3, 2, 3, 2, 2, 3, 2, 3, 4, 5, 4, 5, 5, 4, 5, 4], + "powered_rail": 0, + "detector_rail": 0, + "sticky_piston": [6, 7, 8, 9, 10, 11, 1, 1, 1, 1, 1, 1], + "cobweb": 0, + "grass": 0, + "fern": 0, + "dead_bush": 0, + "seagrass": 0, + "tall_seagrass": 0, + "piston": [6, 7, 8, 9, 10, 11, 1, 1, 1, 1, 1, 1], + "piston_head": [13, 13, 12, 12, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23], + "white_wool": 1, + "orange_wool": 1, + "magenta_wool": 1, + "light_blue_wool": 1, + "yellow_wool": 1, + "lime_wool": 1, + "pink_wool": 1, + "gray_wool": 1, + "light_gray_wool": 1, + "cyan_wool": 1, + "purple_wool": 1, + "blue_wool": 1, + "brown_wool": 1, + "green_wool": 1, + "red_wool": 1, + "black_wool": 1, + "moving_piston": 0, + "dandelion": 0, + "poppy": 0, + "blue_orchid": 0, + "allium": 0, + "azure_bluet": 0, + "red_tulip": 0, + "orange_tulip": 0, + "white_tulip": 0, + "pink_tulip": 0, + "oxeye_daisy": 0, + "cornflower": 0, + "wither_rose": 0, + "lily_of_the_valley": 0, + "brown_mushroom": 0, + "red_mushroom": 0, + "gold_block": 1, + "iron_block": 1, + "bricks": 1, + "tnt": 1, + "bookshelf": 1, + "mossy_cobblestone": 1, + "obsidian": 1, + "torch": 0, + "wall_torch": 0, + "fire": 0, + "spawner": 1, + "oak_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "chest": [48, 48, 49, 49, 50, 50, 48, 48, 50, 50, 49, 49, 48, 48, 51, 51, 52, 52, 48, 48, 52, 52, 51, 51], + "redstone_wire": 0, + "diamond_ore": 1, + "diamond_block": 1, + "crafting_table": 1, + "wheat": 0, + "farmland": 53, + "furnace": 1, + "oak_sign": 0, + "spruce_sign": 0, + "birch_sign": 0, + "acacia_sign": 0, + "jungle_sign": 0, + "dark_oak_sign": 0, + "oak_door": [55, 55, 54, 54, 56, 56, 54, 54, 55, 55, 54, 54, 56, 56, 54, 54, 56, 56, 57, 57, 55, 55, 57, 57, 56, 56, 57, 57, 55, 55, 57, 57, 54, 54, 56, 56, 57, 57, 56, 56, 54, 54, 56, 56, 57, 57, 56, 56, 57, 57, 55, 55, 54, 54, 55, 55, 57, 57, 55, 55, 54, 54, 55, 55], + "ladder": [54, 54, 57, 57, 56, 56, 55, 55], + "rail": 0, + "cobblestone_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "oak_wall_sign": 0, + "spruce_wall_sign": 0, + "birch_wall_sign": 0, + "acacia_wall_sign": 0, + "jungle_wall_sign": 0, + "dark_oak_wall_sign": 0, + "lever": 0, + "stone_pressure_plate": 0, + "iron_door": [55, 55, 54, 54, 56, 56, 54, 54, 55, 55, 54, 54, 56, 56, 54, 54, 56, 56, 57, 57, 55, 55, 57, 57, 56, 56, 57, 57, 55, 55, 57, 57, 54, 54, 56, 56, 57, 57, 56, 56, 54, 54, 56, 56, 57, 57, 56, 56, 57, 57, 55, 55, 54, 54, 55, 55, 57, 57, 55, 55, 54, 54, 55, 55], + "oak_pressure_plate": 0, + "spruce_pressure_plate": 0, + "birch_pressure_plate": 0, + "jungle_pressure_plate": 0, + "acacia_pressure_plate": 0, + "dark_oak_pressure_plate": 0, + "redstone_ore": 1, + "redstone_torch": 0, + "redstone_wall_torch": 0, + "stone_button": 0, + "snow": [0, 58, 59, 60, 61, 62, 10, 63], + "ice": 1, + "snow_block": 1, + "cactus": 64, + "clay": 1, + "sugar_cane": 0, + "jukebox": 1, + "oak_fence": [66, 67, 66, 67, 68, 69, 68, 69, 70, 71, 70, 71, 72, 73, 72, 73, 74, 75, 74, 75, 76, 77, 76, 77, 78, 79, 78, 79, 80, 65, 80, 65], + "pumpkin": 1, + "netherrack": 1, + "soul_sand": 63, + "glowstone": 1, + "nether_portal": 0, + "carved_pumpkin": 1, + "jack_o_lantern": 1, + "cake": [81, 82, 83, 84, 85, 86, 87], + "repeater": 58, + "white_stained_glass": 1, + "orange_stained_glass": 1, + "magenta_stained_glass": 1, + "light_blue_stained_glass": 1, + "yellow_stained_glass": 1, + "lime_stained_glass": 1, + "pink_stained_glass": 1, + "gray_stained_glass": 1, + "light_gray_stained_glass": 1, + "cyan_stained_glass": 1, + "purple_stained_glass": 1, + "blue_stained_glass": 1, + "brown_stained_glass": 1, + "green_stained_glass": 1, + "red_stained_glass": 1, + "black_stained_glass": 1, + "oak_trapdoor": [54, 54, 54, 54, 89, 89, 89, 89, 54, 54, 54, 54, 88, 88, 88, 88, 57, 57, 57, 57, 89, 89, 89, 89, 57, 57, 57, 57, 88, 88, 88, 88, 56, 56, 56, 56, 89, 89, 89, 89, 56, 56, 56, 56, 88, 88, 88, 88, 55, 55, 55, 55, 89, 89, 89, 89, 55, 55, 55, 55, 88, 88, 88, 88], + "spruce_trapdoor": [54, 54, 54, 54, 89, 89, 89, 89, 54, 54, 54, 54, 88, 88, 88, 88, 57, 57, 57, 57, 89, 89, 89, 89, 57, 57, 57, 57, 88, 88, 88, 88, 56, 56, 56, 56, 89, 89, 89, 89, 56, 56, 56, 56, 88, 88, 88, 88, 55, 55, 55, 55, 89, 89, 89, 89, 55, 55, 55, 55, 88, 88, 88, 88], + "birch_trapdoor": [54, 54, 54, 54, 89, 89, 89, 89, 54, 54, 54, 54, 88, 88, 88, 88, 57, 57, 57, 57, 89, 89, 89, 89, 57, 57, 57, 57, 88, 88, 88, 88, 56, 56, 56, 56, 89, 89, 89, 89, 56, 56, 56, 56, 88, 88, 88, 88, 55, 55, 55, 55, 89, 89, 89, 89, 55, 55, 55, 55, 88, 88, 88, 88], + "jungle_trapdoor": [54, 54, 54, 54, 89, 89, 89, 89, 54, 54, 54, 54, 88, 88, 88, 88, 57, 57, 57, 57, 89, 89, 89, 89, 57, 57, 57, 57, 88, 88, 88, 88, 56, 56, 56, 56, 89, 89, 89, 89, 56, 56, 56, 56, 88, 88, 88, 88, 55, 55, 55, 55, 89, 89, 89, 89, 55, 55, 55, 55, 88, 88, 88, 88], + "acacia_trapdoor": [54, 54, 54, 54, 89, 89, 89, 89, 54, 54, 54, 54, 88, 88, 88, 88, 57, 57, 57, 57, 89, 89, 89, 89, 57, 57, 57, 57, 88, 88, 88, 88, 56, 56, 56, 56, 89, 89, 89, 89, 56, 56, 56, 56, 88, 88, 88, 88, 55, 55, 55, 55, 89, 89, 89, 89, 55, 55, 55, 55, 88, 88, 88, 88], + "dark_oak_trapdoor": [54, 54, 54, 54, 89, 89, 89, 89, 54, 54, 54, 54, 88, 88, 88, 88, 57, 57, 57, 57, 89, 89, 89, 89, 57, 57, 57, 57, 88, 88, 88, 88, 56, 56, 56, 56, 89, 89, 89, 89, 56, 56, 56, 56, 88, 88, 88, 88, 55, 55, 55, 55, 89, 89, 89, 89, 55, 55, 55, 55, 88, 88, 88, 88], + "stone_bricks": 1, + "mossy_stone_bricks": 1, + "cracked_stone_bricks": 1, + "chiseled_stone_bricks": 1, + "infested_stone": 1, + "infested_cobblestone": 1, + "infested_stone_bricks": 1, + "infested_mossy_stone_bricks": 1, + "infested_cracked_stone_bricks": 1, + "infested_chiseled_stone_bricks": 1, + "brown_mushroom_block": 1, + "red_mushroom_block": 1, + "mushroom_stem": 1, + "iron_bars": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "melon": 1, + "attached_pumpkin_stem": 0, + "attached_melon_stem": 0, + "pumpkin_stem": 0, + "melon_stem": 0, + "vine": 0, + "oak_fence_gate": [0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75], + "brick_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "stone_brick_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "mycelium": 1, + "lily_pad": 106, + "nether_bricks": 1, + "nether_brick_fence": [66, 67, 66, 67, 68, 69, 68, 69, 70, 71, 70, 71, 72, 73, 72, 73, 74, 75, 74, 75, 76, 77, 76, 77, 78, 79, 78, 79, 80, 65, 80, 65], + "nether_brick_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "nether_wart": 0, + "enchanting_table": 10, + "brewing_stand": 107, + "cauldron": 108, + "end_portal": 0, + "end_portal_frame": [110, 110, 110, 110, 109, 109, 109, 109], + "end_stone": 1, + "dragon_egg": 111, + "redstone_lamp": 1, + "cocoa": [112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123], + "sandstone_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "emerald_ore": 1, + "ender_chest": 48, + "tripwire_hook": 0, + "tripwire": 0, + "emerald_block": 1, + "spruce_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "birch_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "jungle_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "command_block": 1, + "beacon": 1, + "cobblestone_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "mossy_cobblestone_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "flower_pot": 156, + "potted_oak_sapling": 156, + "potted_spruce_sapling": 156, + "potted_birch_sapling": 156, + "potted_jungle_sapling": 156, + "potted_acacia_sapling": 156, + "potted_dark_oak_sapling": 156, + "potted_fern": 156, + "potted_dandelion": 156, + "potted_poppy": 156, + "potted_blue_orchid": 156, + "potted_allium": 156, + "potted_azure_bluet": 156, + "potted_red_tulip": 156, + "potted_orange_tulip": 156, + "potted_white_tulip": 156, + "potted_pink_tulip": 156, + "potted_oxeye_daisy": 156, + "potted_cornflower": 156, + "potted_lily_of_the_valley": 156, + "potted_wither_rose": 156, + "potted_red_mushroom": 156, + "potted_brown_mushroom": 156, + "potted_dead_bush": 156, + "potted_cactus": 156, + "carrots": 0, + "potatoes": 0, + "oak_button": 0, + "spruce_button": 0, + "birch_button": 0, + "jungle_button": 0, + "acacia_button": 0, + "dark_oak_button": 0, + "skeleton_skull": 157, + "skeleton_wall_skull": [158, 159, 160, 161], + "wither_skeleton_skull": 157, + "wither_skeleton_wall_skull": [158, 159, 160, 161], + "zombie_head": 157, + "zombie_wall_head": [158, 159, 160, 161], + "player_head": 157, + "player_wall_head": [158, 159, 160, 161], + "creeper_head": 157, + "creeper_wall_head": [158, 159, 160, 161], + "dragon_head": 157, + "dragon_wall_head": [158, 159, 160, 161], + "anvil": [162, 162, 163, 163], + "chipped_anvil": [162, 162, 163, 163], + "damaged_anvil": [162, 162, 163, 163], + "trapped_chest": [48, 48, 49, 49, 50, 50, 48, 48, 50, 50, 49, 49, 48, 48, 51, 51, 52, 52, 48, 48, 52, 52, 51, 51], + "light_weighted_pressure_plate": 0, + "heavy_weighted_pressure_plate": 0, + "comparator": 58, + "daylight_detector": 60, + "redstone_block": 1, + "nether_quartz_ore": 1, + "hopper": [164, 165, 166, 167, 168, 164, 165, 166, 167, 168], + "quartz_block": 1, + "chiseled_quartz_block": 1, + "quartz_pillar": 1, + "quartz_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "activator_rail": 0, + "dropper": 1, + "white_terracotta": 1, + "orange_terracotta": 1, + "magenta_terracotta": 1, + "light_blue_terracotta": 1, + "yellow_terracotta": 1, + "lime_terracotta": 1, + "pink_terracotta": 1, + "gray_terracotta": 1, + "light_gray_terracotta": 1, + "cyan_terracotta": 1, + "purple_terracotta": 1, + "blue_terracotta": 1, + "brown_terracotta": 1, + "green_terracotta": 1, + "red_terracotta": 1, + "black_terracotta": 1, + "white_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "orange_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "magenta_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "light_blue_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "yellow_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "lime_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "pink_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "gray_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "light_gray_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "cyan_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "purple_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "blue_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "brown_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "green_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "red_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "black_stained_glass_pane": [91, 92, 91, 92, 93, 94, 93, 94, 95, 96, 95, 96, 97, 98, 97, 98, 99, 100, 99, 100, 101, 102, 101, 102, 103, 104, 103, 104, 105, 90, 105, 90], + "acacia_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "dark_oak_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "slime_block": 1, + "barrier": 1, + "iron_trapdoor": [54, 54, 54, 54, 89, 89, 89, 89, 54, 54, 54, 54, 88, 88, 88, 88, 57, 57, 57, 57, 89, 89, 89, 89, 57, 57, 57, 57, 88, 88, 88, 88, 56, 56, 56, 56, 89, 89, 89, 89, 56, 56, 56, 56, 88, 88, 88, 88, 55, 55, 55, 55, 89, 89, 89, 89, 55, 55, 55, 55, 88, 88, 88, 88], + "prismarine": 1, + "prismarine_bricks": 1, + "dark_prismarine": 1, + "prismarine_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "prismarine_brick_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "dark_prismarine_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "prismarine_slab": [169, 169, 61, 61, 1, 1], + "prismarine_brick_slab": [169, 169, 61, 61, 1, 1], + "dark_prismarine_slab": [169, 169, 61, 61, 1, 1], + "sea_lantern": 1, + "hay_block": 1, + "white_carpet": 170, + "orange_carpet": 170, + "magenta_carpet": 170, + "light_blue_carpet": 170, + "yellow_carpet": 170, + "lime_carpet": 170, + "pink_carpet": 170, + "gray_carpet": 170, + "light_gray_carpet": 170, + "cyan_carpet": 170, + "purple_carpet": 170, + "blue_carpet": 170, + "brown_carpet": 170, + "green_carpet": 170, + "red_carpet": 170, + "black_carpet": 170, + "terracotta": 1, + "coal_block": 1, + "packed_ice": 1, + "sunflower": 0, + "lilac": 0, + "rose_bush": 0, + "peony": 0, + "tall_grass": 0, + "large_fern": 0, + "white_banner": 0, + "orange_banner": 0, + "magenta_banner": 0, + "light_blue_banner": 0, + "yellow_banner": 0, + "lime_banner": 0, + "pink_banner": 0, + "gray_banner": 0, + "light_gray_banner": 0, + "cyan_banner": 0, + "purple_banner": 0, + "blue_banner": 0, + "brown_banner": 0, + "green_banner": 0, + "red_banner": 0, + "black_banner": 0, + "white_wall_banner": 0, + "orange_wall_banner": 0, + "magenta_wall_banner": 0, + "light_blue_wall_banner": 0, + "yellow_wall_banner": 0, + "lime_wall_banner": 0, + "pink_wall_banner": 0, + "gray_wall_banner": 0, + "light_gray_wall_banner": 0, + "cyan_wall_banner": 0, + "purple_wall_banner": 0, + "blue_wall_banner": 0, + "brown_wall_banner": 0, + "green_wall_banner": 0, + "red_wall_banner": 0, + "black_wall_banner": 0, + "red_sandstone": 1, + "chiseled_red_sandstone": 1, + "cut_red_sandstone": 1, + "red_sandstone_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "oak_slab": [169, 169, 61, 61, 1, 1], + "spruce_slab": [169, 169, 61, 61, 1, 1], + "birch_slab": [169, 169, 61, 61, 1, 1], + "jungle_slab": [169, 169, 61, 61, 1, 1], + "acacia_slab": [169, 169, 61, 61, 1, 1], + "dark_oak_slab": [169, 169, 61, 61, 1, 1], + "stone_slab": [169, 169, 61, 61, 1, 1], + "smooth_stone_slab": [169, 169, 61, 61, 1, 1], + "sandstone_slab": [169, 169, 61, 61, 1, 1], + "cut_sandstone_slab": [169, 169, 61, 61, 1, 1], + "petrified_oak_slab": [169, 169, 61, 61, 1, 1], + "cobblestone_slab": [169, 169, 61, 61, 1, 1], + "brick_slab": [169, 169, 61, 61, 1, 1], + "stone_brick_slab": [169, 169, 61, 61, 1, 1], + "nether_brick_slab": [169, 169, 61, 61, 1, 1], + "quartz_slab": [169, 169, 61, 61, 1, 1], + "red_sandstone_slab": [169, 169, 61, 61, 1, 1], + "cut_red_sandstone_slab": [169, 169, 61, 61, 1, 1], + "purpur_slab": [169, 169, 61, 61, 1, 1], + "smooth_stone": 1, + "smooth_sandstone": 1, + "smooth_quartz": 1, + "smooth_red_sandstone": 1, + "spruce_fence_gate": [0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75], + "birch_fence_gate": [0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75], + "jungle_fence_gate": [0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75], + "acacia_fence_gate": [0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75], + "dark_oak_fence_gate": [0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75], + "spruce_fence": [66, 67, 66, 67, 68, 69, 68, 69, 70, 71, 70, 71, 72, 73, 72, 73, 74, 75, 74, 75, 76, 77, 76, 77, 78, 79, 78, 79, 80, 65, 80, 65], + "birch_fence": [66, 67, 66, 67, 68, 69, 68, 69, 70, 71, 70, 71, 72, 73, 72, 73, 74, 75, 74, 75, 76, 77, 76, 77, 78, 79, 78, 79, 80, 65, 80, 65], + "jungle_fence": [66, 67, 66, 67, 68, 69, 68, 69, 70, 71, 70, 71, 72, 73, 72, 73, 74, 75, 74, 75, 76, 77, 76, 77, 78, 79, 78, 79, 80, 65, 80, 65], + "acacia_fence": [66, 67, 66, 67, 68, 69, 68, 69, 70, 71, 70, 71, 72, 73, 72, 73, 74, 75, 74, 75, 76, 77, 76, 77, 78, 79, 78, 79, 80, 65, 80, 65], + "dark_oak_fence": [66, 67, 66, 67, 68, 69, 68, 69, 70, 71, 70, 71, 72, 73, 72, 73, 74, 75, 74, 75, 76, 77, 76, 77, 78, 79, 78, 79, 80, 65, 80, 65], + "spruce_door": [55, 55, 54, 54, 56, 56, 54, 54, 55, 55, 54, 54, 56, 56, 54, 54, 56, 56, 57, 57, 55, 55, 57, 57, 56, 56, 57, 57, 55, 55, 57, 57, 54, 54, 56, 56, 57, 57, 56, 56, 54, 54, 56, 56, 57, 57, 56, 56, 57, 57, 55, 55, 54, 54, 55, 55, 57, 57, 55, 55, 54, 54, 55, 55], + "birch_door": [55, 55, 54, 54, 56, 56, 54, 54, 55, 55, 54, 54, 56, 56, 54, 54, 56, 56, 57, 57, 55, 55, 57, 57, 56, 56, 57, 57, 55, 55, 57, 57, 54, 54, 56, 56, 57, 57, 56, 56, 54, 54, 56, 56, 57, 57, 56, 56, 57, 57, 55, 55, 54, 54, 55, 55, 57, 57, 55, 55, 54, 54, 55, 55], + "jungle_door": [55, 55, 54, 54, 56, 56, 54, 54, 55, 55, 54, 54, 56, 56, 54, 54, 56, 56, 57, 57, 55, 55, 57, 57, 56, 56, 57, 57, 55, 55, 57, 57, 54, 54, 56, 56, 57, 57, 56, 56, 54, 54, 56, 56, 57, 57, 56, 56, 57, 57, 55, 55, 54, 54, 55, 55, 57, 57, 55, 55, 54, 54, 55, 55], + "acacia_door": [55, 55, 54, 54, 56, 56, 54, 54, 55, 55, 54, 54, 56, 56, 54, 54, 56, 56, 57, 57, 55, 55, 57, 57, 56, 56, 57, 57, 55, 55, 57, 57, 54, 54, 56, 56, 57, 57, 56, 56, 54, 54, 56, 56, 57, 57, 56, 56, 57, 57, 55, 55, 54, 54, 55, 55, 57, 57, 55, 55, 54, 54, 55, 55], + "dark_oak_door": [55, 55, 54, 54, 56, 56, 54, 54, 55, 55, 54, 54, 56, 56, 54, 54, 56, 56, 57, 57, 55, 55, 57, 57, 56, 56, 57, 57, 55, 55, 57, 57, 54, 54, 56, 56, 57, 57, 56, 56, 54, 54, 56, 56, 57, 57, 56, 56, 57, 57, 55, 55, 54, 54, 55, 55, 57, 57, 55, 55, 54, 54, 55, 55], + "end_rod": [172, 173, 172, 173, 171, 171], + "chorus_plant": [175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 174], + "chorus_flower": 1, + "purpur_block": 1, + "purpur_pillar": 1, + "purpur_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "end_stone_bricks": 1, + "beetroots": 0, + "grass_path": 53, + "end_gateway": 0, + "repeating_command_block": 1, + "chain_command_block": 1, + "frosted_ice": 1, + "magma_block": 1, + "nether_wart_block": 1, + "red_nether_bricks": 1, + "bone_block": 1, + "structure_void": 0, + "observer": 1, + "shulker_box": 1, + "white_shulker_box": 1, + "orange_shulker_box": 1, + "magenta_shulker_box": 1, + "light_blue_shulker_box": 1, + "yellow_shulker_box": 1, + "lime_shulker_box": 1, + "pink_shulker_box": 1, + "gray_shulker_box": 1, + "light_gray_shulker_box": 1, + "cyan_shulker_box": 1, + "purple_shulker_box": 1, + "blue_shulker_box": 1, + "brown_shulker_box": 1, + "green_shulker_box": 1, + "red_shulker_box": 1, + "black_shulker_box": 1, + "white_glazed_terracotta": 1, + "orange_glazed_terracotta": 1, + "magenta_glazed_terracotta": 1, + "light_blue_glazed_terracotta": 1, + "yellow_glazed_terracotta": 1, + "lime_glazed_terracotta": 1, + "pink_glazed_terracotta": 1, + "gray_glazed_terracotta": 1, + "light_gray_glazed_terracotta": 1, + "cyan_glazed_terracotta": 1, + "purple_glazed_terracotta": 1, + "blue_glazed_terracotta": 1, + "brown_glazed_terracotta": 1, + "green_glazed_terracotta": 1, + "red_glazed_terracotta": 1, + "black_glazed_terracotta": 1, + "white_concrete": 1, + "orange_concrete": 1, + "magenta_concrete": 1, + "light_blue_concrete": 1, + "yellow_concrete": 1, + "lime_concrete": 1, + "pink_concrete": 1, + "gray_concrete": 1, + "light_gray_concrete": 1, + "cyan_concrete": 1, + "purple_concrete": 1, + "blue_concrete": 1, + "brown_concrete": 1, + "green_concrete": 1, + "red_concrete": 1, + "black_concrete": 1, + "white_concrete_powder": 1, + "orange_concrete_powder": 1, + "magenta_concrete_powder": 1, + "light_blue_concrete_powder": 1, + "yellow_concrete_powder": 1, + "lime_concrete_powder": 1, + "pink_concrete_powder": 1, + "gray_concrete_powder": 1, + "light_gray_concrete_powder": 1, + "cyan_concrete_powder": 1, + "purple_concrete_powder": 1, + "blue_concrete_powder": 1, + "brown_concrete_powder": 1, + "green_concrete_powder": 1, + "red_concrete_powder": 1, + "black_concrete_powder": 1, + "kelp": 0, + "kelp_plant": 0, + "dried_kelp_block": 1, + "turtle_egg": [238, 238, 238, 239, 239, 239, 239, 239, 239, 239, 239, 239], + "dead_tube_coral_block": 1, + "dead_brain_coral_block": 1, + "dead_bubble_coral_block": 1, + "dead_fire_coral_block": 1, + "dead_horn_coral_block": 1, + "tube_coral_block": 1, + "brain_coral_block": 1, + "bubble_coral_block": 1, + "fire_coral_block": 1, + "horn_coral_block": 1, + "dead_tube_coral": 0, + "dead_brain_coral": 0, + "dead_bubble_coral": 0, + "dead_fire_coral": 0, + "dead_horn_coral": 0, + "tube_coral": 0, + "brain_coral": 0, + "bubble_coral": 0, + "fire_coral": 0, + "horn_coral": 0, + "dead_tube_coral_fan": 0, + "dead_brain_coral_fan": 0, + "dead_bubble_coral_fan": 0, + "dead_fire_coral_fan": 0, + "dead_horn_coral_fan": 0, + "tube_coral_fan": 0, + "brain_coral_fan": 0, + "bubble_coral_fan": 0, + "fire_coral_fan": 0, + "horn_coral_fan": 0, + "dead_tube_coral_wall_fan": 0, + "dead_brain_coral_wall_fan": 0, + "dead_bubble_coral_wall_fan": 0, + "dead_fire_coral_wall_fan": 0, + "dead_horn_coral_wall_fan": 0, + "tube_coral_wall_fan": 0, + "brain_coral_wall_fan": 0, + "bubble_coral_wall_fan": 0, + "fire_coral_wall_fan": 0, + "horn_coral_wall_fan": 0, + "sea_pickle": [240, 240, 241, 241, 242, 242, 243, 243], + "blue_ice": 1, + "conduit": 244, + "bamboo_sapling": 0, + "bamboo": 245, + "potted_bamboo": 156, + "void_air": 0, + "cave_air": 0, + "bubble_column": 0, + "polished_granite_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "smooth_red_sandstone_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "mossy_stone_brick_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "polished_diorite_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "mossy_cobblestone_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "end_stone_brick_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "stone_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "smooth_sandstone_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "smooth_quartz_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "granite_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "andesite_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "red_nether_brick_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "polished_andesite_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "diorite_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "polished_granite_slab": [169, 169, 61, 61, 1, 1], + "smooth_red_sandstone_slab": [169, 169, 61, 61, 1, 1], + "mossy_stone_brick_slab": [169, 169, 61, 61, 1, 1], + "polished_diorite_slab": [169, 169, 61, 61, 1, 1], + "mossy_cobblestone_slab": [169, 169, 61, 61, 1, 1], + "end_stone_brick_slab": [169, 169, 61, 61, 1, 1], + "smooth_sandstone_slab": [169, 169, 61, 61, 1, 1], + "smooth_quartz_slab": [169, 169, 61, 61, 1, 1], + "granite_slab": [169, 169, 61, 61, 1, 1], + "andesite_slab": [169, 169, 61, 61, 1, 1], + "red_nether_brick_slab": [169, 169, 61, 61, 1, 1], + "polished_andesite_slab": [169, 169, 61, 61, 1, 1], + "diorite_slab": [169, 169, 61, 61, 1, 1], + "brick_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "prismarine_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "red_sandstone_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "mossy_stone_brick_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "granite_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "stone_brick_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "nether_brick_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "andesite_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "red_nether_brick_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "sandstone_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "end_stone_brick_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "diorite_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "scaffolding": 246, + "loom": 1, + "barrel": 1, + "smoker": 1, + "blast_furnace": 1, + "cartography_table": 1, + "fletching_table": 1, + "grindstone": [248, 248, 249, 249, 247, 250, 251, 252, 253, 253, 254, 254], + "lectern": 255, + "smithing_table": 1, + "stonecutter": 256, + "bell": [257, 257, 257, 257, 258, 258, 258, 258, 259, 259, 259, 259, 259, 259, 259, 259, 260, 260, 261, 261, 262, 262, 263, 263, 264, 264, 264, 264, 265, 265, 265, 265], + "lantern": [267, 266], + "campfire": 268, + "sweet_berry_bush": 0, + "structure_block": 1, + "jigsaw": 1, + "composter": 269, + "bee_nest": 1, + "beehive": 1, + "honey_block": 64, + "honeycomb_block": 1, + "nether_gold_ore": 1, + "soul_fire": 0, + "soul_soil": 1, + "basalt": 1, + "polished_basalt": 1, + "soul_torch": 0, + "soul_wall_torch": 0, + "chain": 270, + "soul_lantern": [267, 266], + "soul_campfire": 268, + "warped_stem": 1, + "stripped_warped_stem": 1, + "warped_hyphae": 1, + "stripped_warped_hyphae": 1, + "warped_nylium": 1, + "warped_fungus": 0, + "warped_wart_block": 1, + "warped_roots": 0, + "nether_sprouts": 0, + "crimson_stem": 1, + "stripped_crimson_stem": 1, + "crimson_hyphae": 1, + "stripped_crimson_hyphae": 1, + "crimson_nylium": 1, + "crimson_fungus": 0, + "shroomlight": 1, + "weeping_vines": 0, + "weeping_vines_plant": 0, + "twisting_vines": 0, + "twisting_vines_plant": 0, + "crimson_roots": 0, + "crimson_planks": 1, + "warped_planks": 1, + "crimson_slab": [169, 169, 61, 61, 1, 1], + "warped_slab": [169, 169, 61, 61, 1, 1], + "crimson_pressure_plate": 0, + "warped_pressure_plate": 0, + "crimson_fence": [66, 67, 66, 67, 68, 69, 68, 69, 70, 71, 70, 71, 72, 73, 72, 73, 74, 75, 74, 75, 76, 77, 76, 77, 78, 79, 78, 79, 80, 65, 80, 65], + "warped_fence": [66, 67, 66, 67, 68, 69, 68, 69, 70, 71, 70, 71, 72, 73, 72, 73, 74, 75, 74, 75, 76, 77, 76, 77, 78, 79, 78, 79, 80, 65, 80, 65], + "crimson_trapdoor": [54, 54, 54, 54, 89, 89, 89, 89, 54, 54, 54, 54, 88, 88, 88, 88, 57, 57, 57, 57, 89, 89, 89, 89, 57, 57, 57, 57, 88, 88, 88, 88, 56, 56, 56, 56, 89, 89, 89, 89, 56, 56, 56, 56, 88, 88, 88, 88, 55, 55, 55, 55, 89, 89, 89, 89, 55, 55, 55, 55, 88, 88, 88, 88], + "warped_trapdoor": [54, 54, 54, 54, 89, 89, 89, 89, 54, 54, 54, 54, 88, 88, 88, 88, 57, 57, 57, 57, 89, 89, 89, 89, 57, 57, 57, 57, 88, 88, 88, 88, 56, 56, 56, 56, 89, 89, 89, 89, 56, 56, 56, 56, 88, 88, 88, 88, 55, 55, 55, 55, 89, 89, 89, 89, 55, 55, 55, 55, 88, 88, 88, 88], + "crimson_fence_gate": [0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75], + "warped_fence_gate": [0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 72, 72, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75, 0, 0, 75, 75], + "crimson_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "warped_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "crimson_button": 0, + "warped_button": 0, + "crimson_door": [55, 55, 54, 54, 56, 56, 54, 54, 55, 55, 54, 54, 56, 56, 54, 54, 56, 56, 57, 57, 55, 55, 57, 57, 56, 56, 57, 57, 55, 55, 57, 57, 54, 54, 56, 56, 57, 57, 56, 56, 54, 54, 56, 56, 57, 57, 56, 56, 57, 57, 55, 55, 54, 54, 55, 55, 57, 57, 55, 55, 54, 54, 55, 55], + "warped_door": [55, 55, 54, 54, 56, 56, 54, 54, 55, 55, 54, 54, 56, 56, 54, 54, 56, 56, 57, 57, 55, 55, 57, 57, 56, 56, 57, 57, 55, 55, 57, 57, 54, 54, 56, 56, 57, 57, 56, 56, 54, 54, 56, 56, 57, 57, 56, 56, 57, 57, 55, 55, 54, 54, 55, 55, 57, 57, 55, 55, 54, 54, 55, 55], + "crimson_sign": 0, + "warped_sign": 0, + "crimson_wall_sign": 0, + "warped_wall_sign": 0, + "target": 1, + "netherite_block": 1, + "ancient_debris": 1, + "crying_obsidian": 1, + "respawn_anchor": 1, + "potted_crimson_fungus": 156, + "potted_warped_fungus": 156, + "potted_crimson_roots": 156, + "potted_warped_roots": 156, + "lodestone": 1, + "blackstone": 1, + "blackstone_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "blackstone_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "blackstone_slab": 1, + "polished_blackstone": 1, + "polished_blackstone_bricks": 1, + "cracked_polished_blackstone_bricks": 1, + "chiseled_polished_blackstone": 1, + "polished_blackstone_brick_slab": [169, 169, 61, 61, 1, 1], + "polished_blackstone_brick_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "polished_blackstone_brick_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "gilded_blackstone": 1, + "polished_blackstone_stairs": [25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 24, 24, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 36, 36, 26, 26, 38, 38, 28, 28, 45, 45, 41, 41, 30, 30, 43, 43, 32, 32, 46, 46, 27, 27, 35, 35, 29, 29, 37, 37, 47, 47, 31, 31, 40, 40, 33, 33, 42, 42], + "polished_blackstone_slab": [169, 169, 61, 61, 1, 1], + "polished_blackstone_pressure_plate": 0, + "polished_blackstone_button": 0, + "polished_blackstone_wall": [125, 126, 125, 126, 127, 128, 127, 128, 129, 130, 129, 130, 131, 132, 131, 132, 133, 134, 133, 134, 135, 136, 135, 136, 137, 138, 137, 138, 139, 140, 139, 140, 141, 142, 141, 142, 143, 144, 143, 144, 145, 146, 145, 146, 147, 148, 147, 148, 149, 150, 149, 150, 151, 152, 151, 152, 153, 124, 153, 124, 154, 155, 154, 155], + "chiseled_nether_bricks": 1, + "cracked_nether_bricks": 1, + "quartz_bricks": 1 + }, + "shapes": { + "0": [], + "1": [ + [0, 0, 0, 1, 1, 1] + ], + "2": [ + [0, 0, 0.8125, 0.1875, 0.5625, 1], + [0, 0.1875, 0, 1, 0.5625, 0.8125], + [0.1875, 0.1875, 0.8125, 1, 0.5625, 1], + [0.8125, 0, 0.8125, 1, 0.1875, 1] + ], + "3": [ + [0, 0, 0, 0.1875, 0.5625, 0.1875], + [0, 0.1875, 0.1875, 1, 0.5625, 1], + [0.1875, 0.1875, 0, 1, 0.5625, 0.1875], + [0.8125, 0, 0, 1, 0.1875, 0.1875] + ], + "4": [ + [0, 0, 0, 0.1875, 0.5625, 0.1875], + [0, 0, 0.8125, 0.1875, 0.5625, 1], + [0, 0.1875, 0.1875, 1, 0.5625, 0.8125], + [0.1875, 0.1875, 0, 1, 0.5625, 0.1875], + [0.1875, 0.1875, 0.8125, 1, 0.5625, 1] + ], + "5": [ + [0, 0.1875, 0, 1, 0.5625, 1], + [0.8125, 0, 0, 1, 0.1875, 0.1875], + [0.8125, 0, 0.8125, 1, 0.1875, 1] + ], + "6": [ + [0, 0, 0.25, 1, 1, 1] + ], + "7": [ + [0, 0, 0, 0.75, 1, 1] + ], + "8": [ + [0, 0, 0, 1, 1, 0.75] + ], + "9": [ + [0.25, 0, 0, 1, 1, 1] + ], + "10": [ + [0, 0, 0, 1, 0.75, 1] + ], + "11": [ + [0, 0.25, 0, 1, 1, 1] + ], + "12": [ + [0, 0, 0, 1, 1, 0.25], + [0.375, 0.375, 0.25, 0.625, 0.625, 1.25] + ], + "13": [ + [0, 0, 0, 1, 1, 0.25], + [0.375, 0.375, 0.25, 0.625, 0.625, 1] + ], + "14": [ + [0, 0.375, 0.375, 1, 0.625, 0.625], + [0.75, 0, 0, 1, 0.375, 1], + [0.75, 0.375, 0, 1, 1, 0.375], + [0.75, 0.375, 0.625, 1, 1, 1], + [0.75, 0.625, 0.375, 1, 1, 0.625] + ], + "15": [ + [-0.25, 0.375, 0.375, 1, 0.625, 0.625], + [0.75, 0, 0, 1, 0.375, 1], + [0.75, 0.375, 0, 1, 1, 0.375], + [0.75, 0.375, 0.625, 1, 1, 1], + [0.75, 0.625, 0.375, 1, 1, 0.625] + ], + "16": [ + [0, 0, 0.75, 1, 1, 1], + [0.375, 0.375, 0, 0.625, 0.625, 0.75] + ], + "17": [ + [0, 0, 0.75, 1, 1, 1], + [0.375, 0.375, -0.25, 0.625, 0.625, 0.75] + ], + "18": [ + [0, 0, 0, 0.25, 1, 1], + [0.25, 0.375, 0.375, 1, 0.625, 0.625] + ], + "19": [ + [0, 0, 0, 0.25, 1, 1], + [0.25, 0.375, 0.375, 1.25, 0.625, 0.625] + ], + "20": [ + [0, 0.75, 0, 1, 1, 1], + [0.375, 0, 0.375, 0.625, 0.75, 0.625] + ], + "21": [ + [0, 0.75, 0, 1, 1, 1], + [0.375, -0.25, 0.375, 0.625, 0.75, 0.625] + ], + "22": [ + [0, 0, 0, 1, 0.25, 1], + [0.375, 0.25, 0.375, 0.625, 1, 0.625] + ], + "23": [ + [0, 0, 0, 1, 0.25, 1], + [0.375, 0.25, 0.375, 0.625, 1.25, 0.625] + ], + "24": [ + [0, 0, 0, 1, 0.5, 1], + [0, 0.5, 0, 1, 1, 0.5] + ], + "25": [ + [0, 0, 0, 1, 1, 0.5], + [0, 0.5, 0.5, 1, 1, 1] + ], + "26": [ + [0, 0, 0, 0.5, 1, 1], + [0.5, 0, 0, 1, 1, 0.5], + [0.5, 0.5, 0.5, 1, 1, 1] + ], + "27": [ + [0, 0, 0, 1, 1, 0.5], + [0, 0.5, 0.5, 1, 1, 1], + [0.5, 0, 0.5, 1, 0.5, 1] + ], + "28": [ + [0, 0, 0, 0.5, 1, 0.5], + [0, 0.5, 0.5, 1, 1, 1], + [0.5, 0.5, 0, 1, 1, 0.5] + ], + "29": [ + [0, 0.5, 0, 1, 1, 1], + [0.5, 0, 0, 1, 0.5, 0.5] + ], + "30": [ + [0, 0, 0, 1, 0.5, 1], + [0, 0.5, 0, 0.5, 1, 1], + [0.5, 0.5, 0, 1, 1, 0.5] + ], + "31": [ + [0, 0, 0, 1, 0.5, 1], + [0, 0.5, 0, 1, 1, 0.5], + [0.5, 0.5, 0.5, 1, 1, 1] + ], + "32": [ + [0, 0, 0, 1, 0.5, 1], + [0, 0.5, 0, 0.5, 1, 0.5] + ], + "33": [ + [0, 0, 0, 1, 0.5, 1], + [0.5, 0.5, 0, 1, 1, 0.5] + ], + "34": [ + [0, 0, 0.5, 1, 1, 1], + [0, 0.5, 0, 1, 1, 0.5] + ], + "35": [ + [0, 0, 0.5, 1, 1, 1], + [0, 0.5, 0, 1, 1, 0.5], + [0.5, 0, 0, 1, 0.5, 0.5] + ], + "36": [ + [0, 0, 0, 0.5, 1, 1], + [0.5, 0, 0.5, 1, 1, 1], + [0.5, 0.5, 0, 1, 1, 0.5] + ], + "37": [ + [0, 0.5, 0, 1, 1, 1], + [0.5, 0, 0.5, 1, 0.5, 1] + ], + "38": [ + [0, 0, 0.5, 0.5, 1, 1], + [0, 0.5, 0, 1, 1, 0.5], + [0.5, 0.5, 0.5, 1, 1, 1] + ], + "39": [ + [0, 0, 0, 1, 0.5, 1], + [0, 0.5, 0.5, 1, 1, 1] + ], + "40": [ + [0, 0, 0, 1, 0.5, 1], + [0, 0.5, 0.5, 1, 1, 1], + [0.5, 0.5, 0, 1, 1, 0.5] + ], + "41": [ + [0, 0, 0, 1, 0.5, 1], + [0, 0.5, 0, 0.5, 1, 1], + [0.5, 0.5, 0.5, 1, 1, 1] + ], + "42": [ + [0, 0, 0, 1, 0.5, 1], + [0.5, 0.5, 0.5, 1, 1, 1] + ], + "43": [ + [0, 0, 0, 1, 0.5, 1], + [0, 0.5, 0.5, 0.5, 1, 1] + ], + "44": [ + [0, 0, 0, 0.5, 1, 1], + [0.5, 0.5, 0, 1, 1, 1] + ], + "45": [ + [0, 0, 0, 1, 0.5, 1], + [0, 0.5, 0, 0.5, 1, 1] + ], + "46": [ + [0, 0.5, 0, 1, 1, 1], + [0.5, 0, 0, 1, 0.5, 1] + ], + "47": [ + [0, 0, 0, 1, 0.5, 1], + [0.5, 0.5, 0, 1, 1, 1] + ], + "48": [ + [0.0625, 0, 0.0625, 0.9375, 0.875, 0.9375] + ], + "49": [ + [0.0625, 0, 0.0625, 1, 0.875, 0.9375] + ], + "50": [ + [0, 0, 0.0625, 0.9375, 0.875, 0.9375] + ], + "51": [ + [0.0625, 0, 0, 0.9375, 0.875, 0.9375] + ], + "52": [ + [0.0625, 0, 0.0625, 0.9375, 0.875, 1] + ], + "53": [ + [0, 0, 0, 1, 0.9375, 1] + ], + "54": [ + [0, 0, 0.8125, 1, 1, 1] + ], + "55": [ + [0, 0, 0, 0.1875, 1, 1] + ], + "56": [ + [0.8125, 0, 0, 1, 1, 1] + ], + "57": [ + [0, 0, 0, 1, 1, 0.1875] + ], + "58": [ + [0, 0, 0, 1, 0.125, 1] + ], + "59": [ + [0, 0, 0, 1, 0.25, 1] + ], + "60": [ + [0, 0, 0, 1, 0.375, 1] + ], + "61": [ + [0, 0, 0, 1, 0.5, 1] + ], + "62": [ + [0, 0, 0, 1, 0.625, 1] + ], + "63": [ + [0, 0, 0, 1, 0.875, 1] + ], + "64": [ + [0.0625, 0, 0.0625, 0.9375, 0.9375, 0.9375] + ], + "65": [ + [0.375, 0, 0.375, 0.625, 1.5, 0.625] + ], + "66": [ + [0, 0, 0.375, 1, 1.5, 0.625], + [0.375, 0, 0, 0.625, 1.5, 0.375], + [0.375, 0, 0.625, 0.625, 1.5, 1] + ], + "67": [ + [0.375, 0, 0, 0.625, 1.5, 1], + [0.625, 0, 0.375, 1, 1.5, 0.625] + ], + "68": [ + [0, 0, 0.375, 1, 1.5, 0.625], + [0.375, 0, 0, 0.625, 1.5, 0.375] + ], + "69": [ + [0.375, 0, 0, 0.625, 1.5, 0.625], + [0.625, 0, 0.375, 1, 1.5, 0.625] + ], + "70": [ + [0, 0, 0.375, 1, 1.5, 0.625], + [0.375, 0, 0.625, 0.625, 1.5, 1] + ], + "71": [ + [0.375, 0, 0.375, 0.625, 1.5, 1], + [0.625, 0, 0.375, 1, 1.5, 0.625] + ], + "72": [ + [0, 0, 0.375, 1, 1.5, 0.625] + ], + "73": [ + [0.375, 0, 0.375, 1, 1.5, 0.625] + ], + "74": [ + [0, 0, 0.375, 0.625, 1.5, 0.625], + [0.375, 0, 0, 0.625, 1.5, 0.375], + [0.375, 0, 0.625, 0.625, 1.5, 1] + ], + "75": [ + [0.375, 0, 0, 0.625, 1.5, 1] + ], + "76": [ + [0, 0, 0.375, 0.625, 1.5, 0.625], + [0.375, 0, 0, 0.625, 1.5, 0.375] + ], + "77": [ + [0.375, 0, 0, 0.625, 1.5, 0.625] + ], + "78": [ + [0, 0, 0.375, 0.625, 1.5, 0.625], + [0.375, 0, 0.625, 0.625, 1.5, 1] + ], + "79": [ + [0.375, 0, 0.375, 0.625, 1.5, 1] + ], + "80": [ + [0, 0, 0.375, 0.625, 1.5, 0.625] + ], + "81": [ + [0.0625, 0, 0.0625, 0.9375, 0.5, 0.9375] + ], + "82": [ + [0.1875, 0, 0.0625, 0.9375, 0.5, 0.9375] + ], + "83": [ + [0.3125, 0, 0.0625, 0.9375, 0.5, 0.9375] + ], + "84": [ + [0.4375, 0, 0.0625, 0.9375, 0.5, 0.9375] + ], + "85": [ + [0.5625, 0, 0.0625, 0.9375, 0.5, 0.9375] + ], + "86": [ + [0.6875, 0, 0.0625, 0.9375, 0.5, 0.9375] + ], + "87": [ + [0.8125, 0, 0.0625, 0.9375, 0.5, 0.9375] + ], + "88": [ + [0, 0, 0, 1, 0.1875, 1] + ], + "89": [ + [0, 0.8125, 0, 1, 1, 1] + ], + "90": [ + [0.4375, 0, 0.4375, 0.5625, 1, 0.5625] + ], + "91": [ + [0, 0, 0.4375, 1, 1, 0.5625], + [0.4375, 0, 0, 0.5625, 1, 0.4375], + [0.4375, 0, 0.5625, 0.5625, 1, 1] + ], + "92": [ + [0.4375, 0, 0, 0.5625, 1, 1], + [0.5625, 0, 0.4375, 1, 1, 0.5625] + ], + "93": [ + [0, 0, 0.4375, 1, 1, 0.5625], + [0.4375, 0, 0, 0.5625, 1, 0.4375] + ], + "94": [ + [0.4375, 0, 0, 0.5625, 1, 0.5625], + [0.5625, 0, 0.4375, 1, 1, 0.5625] + ], + "95": [ + [0, 0, 0.4375, 1, 1, 0.5625], + [0.4375, 0, 0.5625, 0.5625, 1, 1] + ], + "96": [ + [0.4375, 0, 0.4375, 0.5625, 1, 1], + [0.5625, 0, 0.4375, 1, 1, 0.5625] + ], + "97": [ + [0, 0, 0.4375, 1, 1, 0.5625] + ], + "98": [ + [0.4375, 0, 0.4375, 1, 1, 0.5625] + ], + "99": [ + [0, 0, 0.4375, 0.5625, 1, 0.5625], + [0.4375, 0, 0, 0.5625, 1, 0.4375], + [0.4375, 0, 0.5625, 0.5625, 1, 1] + ], + "100": [ + [0.4375, 0, 0, 0.5625, 1, 1] + ], + "101": [ + [0, 0, 0.4375, 0.5625, 1, 0.5625], + [0.4375, 0, 0, 0.5625, 1, 0.4375] + ], + "102": [ + [0.4375, 0, 0, 0.5625, 1, 0.5625] + ], + "103": [ + [0, 0, 0.4375, 0.5625, 1, 0.5625], + [0.4375, 0, 0.5625, 0.5625, 1, 1] + ], + "104": [ + [0.4375, 0, 0.4375, 0.5625, 1, 1] + ], + "105": [ + [0, 0, 0.4375, 0.5625, 1, 0.5625] + ], + "106": [ + [0.0625, 0, 0.0625, 0.9375, 0.09375, 0.9375] + ], + "107": [ + [0.0625, 0, 0.0625, 0.9375, 0.125, 0.9375], + [0.4375, 0.125, 0.4375, 0.5625, 0.875, 0.5625] + ], + "108": [ + [0, 0, 0, 0.125, 1, 0.25], + [0, 0, 0.75, 0.125, 1, 1], + [0, 0.1875, 0.25, 1, 0.25, 0.75], + [0, 0.25, 0.25, 0.125, 1, 0.75], + [0.125, 0, 0, 0.25, 1, 0.125], + [0.125, 0, 0.875, 0.25, 1, 1], + [0.125, 0.1875, 0.125, 1, 0.25, 0.25], + [0.125, 0.1875, 0.75, 1, 0.25, 0.875], + [0.25, 0.1875, 0, 1, 1, 0.125], + [0.25, 0.1875, 0.875, 1, 1, 1], + [0.75, 0, 0, 1, 0.1875, 0.125], + [0.75, 0, 0.875, 1, 0.1875, 1], + [0.875, 0, 0.125, 1, 0.1875, 0.25], + [0.875, 0, 0.75, 1, 0.1875, 0.875], + [0.875, 0.25, 0.125, 1, 1, 0.875] + ], + "109": [ + [0, 0, 0, 1, 0.8125, 1] + ], + "110": [ + [0, 0, 0, 1, 0.8125, 1], + [0.25, 0.8125, 0.25, 0.75, 1, 0.75] + ], + "111": [ + [0.0625, 0, 0.0625, 0.9375, 1, 0.9375] + ], + "112": [ + [0.375, 0.4375, 0.0625, 0.625, 0.75, 0.3125] + ], + "113": [ + [0.375, 0.4375, 0.6875, 0.625, 0.75, 0.9375] + ], + "114": [ + [0.0625, 0.4375, 0.375, 0.3125, 0.75, 0.625] + ], + "115": [ + [0.6875, 0.4375, 0.375, 0.9375, 0.75, 0.625] + ], + "116": [ + [0.3125, 0.3125, 0.0625, 0.6875, 0.75, 0.4375] + ], + "117": [ + [0.3125, 0.3125, 0.5625, 0.6875, 0.75, 0.9375] + ], + "118": [ + [0.0625, 0.3125, 0.3125, 0.4375, 0.75, 0.6875] + ], + "119": [ + [0.5625, 0.3125, 0.3125, 0.9375, 0.75, 0.6875] + ], + "120": [ + [0.25, 0.1875, 0.0625, 0.75, 0.75, 0.5625] + ], + "121": [ + [0.25, 0.1875, 0.4375, 0.75, 0.75, 0.9375] + ], + "122": [ + [0.0625, 0.1875, 0.25, 0.5625, 0.75, 0.75] + ], + "123": [ + [0.4375, 0.1875, 0.25, 0.9375, 0.75, 0.75] + ], + "124": [ + [0.25, 0, 0.25, 0.75, 1.5, 0.75] + ], + "125": [ + [0, 0, 0.3125, 1, 1.5, 0.6875], + [0.25, 0, 0.25, 0.75, 1.5, 0.3125], + [0.25, 0, 0.6875, 0.75, 1.5, 0.75], + [0.3125, 0, 0, 0.6875, 1.5, 0.25], + [0.3125, 0, 0.75, 0.6875, 1.5, 1] + ], + "126": [ + [0.25, 0, 0.25, 0.75, 1.5, 0.75], + [0.3125, 0, 0, 0.6875, 1.5, 0.25], + [0.3125, 0, 0.75, 0.6875, 1.5, 1], + [0.75, 0, 0.3125, 1, 1.5, 0.6875] + ], + "127": [ + [0, 0, 0.3125, 1, 1.5, 0.6875], + [0.3125, 0, 0, 0.6875, 1.5, 0.3125], + [0.3125, 0, 0.6875, 0.6875, 1.5, 1] + ], + "128": [ + [0.3125, 0, 0, 0.6875, 1.5, 1], + [0.6875, 0, 0.3125, 1, 1.5, 0.6875] + ], + "129": [ + [0, 0, 0.3125, 1, 1.5, 0.6875], + [0.25, 0, 0.25, 0.75, 1.5, 0.3125], + [0.25, 0, 0.6875, 0.75, 1.5, 0.75], + [0.3125, 0, 0, 0.6875, 1.5, 0.25] + ], + "130": [ + [0.25, 0, 0.25, 0.75, 1.5, 0.75], + [0.3125, 0, 0, 0.6875, 1.5, 0.25], + [0.75, 0, 0.3125, 1, 1.5, 0.6875] + ], + "131": [ + [0, 0, 0.3125, 1, 1.5, 0.6875], + [0.3125, 0, 0, 0.6875, 1.5, 0.3125] + ], + "132": [ + [0.3125, 0, 0, 0.6875, 1.5, 0.6875], + [0.6875, 0, 0.3125, 1, 1.5, 0.6875] + ], + "133": [ + [0, 0, 0.3125, 1, 1.5, 0.6875], + [0.25, 0, 0.25, 0.75, 1.5, 0.3125], + [0.25, 0, 0.6875, 0.75, 1.5, 0.75], + [0.3125, 0, 0.75, 0.6875, 1.5, 1] + ], + "134": [ + [0.25, 0, 0.25, 0.75, 1.5, 0.75], + [0.3125, 0, 0.75, 0.6875, 1.5, 1], + [0.75, 0, 0.3125, 1, 1.5, 0.6875] + ], + "135": [ + [0, 0, 0.3125, 1, 1.5, 0.6875], + [0.3125, 0, 0.6875, 0.6875, 1.5, 1] + ], + "136": [ + [0.3125, 0, 0.3125, 0.6875, 1.5, 1], + [0.6875, 0, 0.3125, 1, 1.5, 0.6875] + ], + "137": [ + [0, 0, 0.3125, 1, 1.5, 0.6875], + [0.25, 0, 0.25, 0.75, 1.5, 0.3125], + [0.25, 0, 0.6875, 0.75, 1.5, 0.75] + ], + "138": [ + [0.25, 0, 0.25, 0.75, 1.5, 0.75], + [0.75, 0, 0.3125, 1, 1.5, 0.6875] + ], + "139": [ + [0, 0, 0.3125, 1, 1.5, 0.6875] + ], + "140": [ + [0.3125, 0, 0.3125, 1, 1.5, 0.6875] + ], + "141": [ + [0, 0, 0.3125, 0.75, 1.5, 0.6875], + [0.25, 0, 0.25, 0.75, 1.5, 0.3125], + [0.25, 0, 0.6875, 0.75, 1.5, 0.75], + [0.3125, 0, 0, 0.6875, 1.5, 0.25], + [0.3125, 0, 0.75, 0.6875, 1.5, 1] + ], + "142": [ + [0.25, 0, 0.25, 0.75, 1.5, 0.75], + [0.3125, 0, 0, 0.6875, 1.5, 0.25], + [0.3125, 0, 0.75, 0.6875, 1.5, 1] + ], + "143": [ + [0, 0, 0.3125, 0.6875, 1.5, 0.6875], + [0.3125, 0, 0, 0.6875, 1.5, 0.3125], + [0.3125, 0, 0.6875, 0.6875, 1.5, 1] + ], + "144": [ + [0.3125, 0, 0, 0.6875, 1.5, 1] + ], + "145": [ + [0, 0, 0.3125, 0.75, 1.5, 0.6875], + [0.25, 0, 0.25, 0.75, 1.5, 0.3125], + [0.25, 0, 0.6875, 0.75, 1.5, 0.75], + [0.3125, 0, 0, 0.6875, 1.5, 0.25] + ], + "146": [ + [0.25, 0, 0.25, 0.75, 1.5, 0.75], + [0.3125, 0, 0, 0.6875, 1.5, 0.25] + ], + "147": [ + [0, 0, 0.3125, 0.6875, 1.5, 0.6875], + [0.3125, 0, 0, 0.6875, 1.5, 0.3125] + ], + "148": [ + [0.3125, 0, 0, 0.6875, 1.5, 0.6875] + ], + "149": [ + [0, 0, 0.3125, 0.75, 1.5, 0.6875], + [0.25, 0, 0.25, 0.75, 1.5, 0.3125], + [0.25, 0, 0.6875, 0.75, 1.5, 0.75], + [0.3125, 0, 0.75, 0.6875, 1.5, 1] + ], + "150": [ + [0.25, 0, 0.25, 0.75, 1.5, 0.75], + [0.3125, 0, 0.75, 0.6875, 1.5, 1] + ], + "151": [ + [0, 0, 0.3125, 0.6875, 1.5, 0.6875], + [0.3125, 0, 0.6875, 0.6875, 1.5, 1] + ], + "152": [ + [0.3125, 0, 0.3125, 0.6875, 1.5, 1] + ], + "153": [ + [0, 0, 0.3125, 0.75, 1.5, 0.6875], + [0.25, 0, 0.25, 0.75, 1.5, 0.3125], + [0.25, 0, 0.6875, 0.75, 1.5, 0.75] + ], + "154": [ + [0, 0, 0.3125, 0.6875, 1.5, 0.6875] + ], + "155": [ + [0.5, 0, 0.5, 0.5, 1.5, 0.5] + ], + "156": [ + [0.3125, 0, 0.3125, 0.6875, 0.375, 0.6875] + ], + "157": [ + [0.25, 0, 0.25, 0.75, 0.5, 0.75] + ], + "158": [ + [0.25, 0.25, 0.5, 0.75, 0.75, 1] + ], + "159": [ + [0.25, 0.25, 0, 0.75, 0.75, 0.5] + ], + "160": [ + [0.5, 0.25, 0.25, 1, 0.75, 0.75] + ], + "161": [ + [0, 0.25, 0.25, 0.5, 0.75, 0.75] + ], + "162": [ + [0.125, 0, 0.125, 0.875, 0.25, 0.875], + [0.1875, 0.625, 0, 0.8125, 1, 1], + [0.25, 0.25, 0.1875, 0.75, 0.3125, 0.8125], + [0.375, 0.3125, 0.25, 0.625, 0.625, 0.75] + ], + "163": [ + [0, 0.625, 0.1875, 1, 1, 0.8125], + [0.125, 0, 0.125, 0.875, 0.25, 0.875], + [0.1875, 0.25, 0.25, 0.8125, 0.3125, 0.75], + [0.25, 0.3125, 0.375, 0.75, 0.625, 0.625] + ], + "164": [ + [0, 0.625, 0, 1, 0.6875, 1], + [0, 0.6875, 0, 0.125, 1, 1], + [0.125, 0.6875, 0, 1, 1, 0.125], + [0.125, 0.6875, 0.875, 1, 1, 1], + [0.25, 0.25, 0.25, 0.75, 0.625, 0.75], + [0.375, 0, 0.375, 0.625, 0.25, 0.625], + [0.875, 0.6875, 0.125, 1, 1, 0.875] + ], + "165": [ + [0, 0.625, 0, 1, 0.6875, 1], + [0, 0.6875, 0, 0.125, 1, 1], + [0.125, 0.6875, 0, 1, 1, 0.125], + [0.125, 0.6875, 0.875, 1, 1, 1], + [0.25, 0.25, 0.25, 0.75, 0.625, 0.75], + [0.375, 0.25, 0, 0.625, 0.5, 0.25], + [0.875, 0.6875, 0.125, 1, 1, 0.875] + ], + "166": [ + [0, 0.625, 0, 1, 0.6875, 1], + [0, 0.6875, 0, 0.125, 1, 1], + [0.125, 0.6875, 0, 1, 1, 0.125], + [0.125, 0.6875, 0.875, 1, 1, 1], + [0.25, 0.25, 0.25, 0.75, 0.625, 0.75], + [0.375, 0.25, 0.75, 0.625, 0.5, 1], + [0.875, 0.6875, 0.125, 1, 1, 0.875] + ], + "167": [ + [0, 0.25, 0.375, 0.75, 0.5, 0.625], + [0, 0.625, 0, 1, 0.6875, 1], + [0, 0.6875, 0, 0.125, 1, 1], + [0.125, 0.6875, 0, 1, 1, 0.125], + [0.125, 0.6875, 0.875, 1, 1, 1], + [0.25, 0.25, 0.25, 0.75, 0.625, 0.375], + [0.25, 0.25, 0.625, 0.75, 0.625, 0.75], + [0.25, 0.5, 0.375, 0.75, 0.625, 0.625], + [0.875, 0.6875, 0.125, 1, 1, 0.875] + ], + "168": [ + [0, 0.625, 0, 1, 0.6875, 1], + [0, 0.6875, 0, 0.125, 1, 1], + [0.125, 0.6875, 0, 1, 1, 0.125], + [0.125, 0.6875, 0.875, 1, 1, 1], + [0.25, 0.25, 0.25, 0.75, 0.625, 0.75], + [0.75, 0.25, 0.375, 1, 0.5, 0.625], + [0.875, 0.6875, 0.125, 1, 1, 0.875] + ], + "169": [ + [0, 0.5, 0, 1, 1, 1] + ], + "170": [ + [0, 0, 0, 1, 0.0625, 1] + ], + "171": [ + [0.375, 0, 0.375, 0.625, 1, 0.625] + ], + "172": [ + [0.375, 0.375, 0, 0.625, 0.625, 1] + ], + "173": [ + [0, 0.375, 0.375, 1, 0.625, 0.625] + ], + "174": [ + [0.1875, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125] + ], + "175": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "176": [ + [0.1875, 0, 0.1875, 0.8125, 1, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1], + [0.8125, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "177": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1] + ], + "178": [ + [0.1875, 0, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1], + [0.8125, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "179": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "180": [ + [0.1875, 0, 0.1875, 0.8125, 1, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.8125, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "181": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875] + ], + "182": [ + [0.1875, 0, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.8125, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "183": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "184": [ + [0.1875, 0, 0.1875, 0.8125, 1, 0.8125], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1], + [0.8125, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "185": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1] + ], + "186": [ + [0.1875, 0, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1], + [0.8125, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "187": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "188": [ + [0.1875, 0, 0.1875, 0.8125, 1, 0.8125], + [0.8125, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "189": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125] + ], + "190": [ + [0.1875, 0, 0.1875, 0.8125, 0.8125, 0.8125], + [0.8125, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "191": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "192": [ + [0.1875, 0, 0.1875, 0.8125, 1, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1] + ], + "193": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1] + ], + "194": [ + [0.1875, 0, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1] + ], + "195": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "196": [ + [0.1875, 0, 0.1875, 0.8125, 1, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875] + ], + "197": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875] + ], + "198": [ + [0.1875, 0, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875] + ], + "199": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "200": [ + [0.1875, 0, 0.1875, 0.8125, 1, 0.8125], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1] + ], + "201": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1] + ], + "202": [ + [0.1875, 0, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1] + ], + "203": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "204": [ + [0.1875, 0, 0.1875, 0.8125, 1, 0.8125] + ], + "205": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0, 0.1875, 0.8125, 0.1875, 0.8125] + ], + "206": [ + [0.1875, 0, 0.1875, 0.8125, 0.8125, 0.8125] + ], + "207": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "208": [ + [0.1875, 0.1875, 0, 0.8125, 0.8125, 1], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125], + [0.8125, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "209": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1] + ], + "210": [ + [0.1875, 0.1875, 0, 0.8125, 0.8125, 1], + [0.8125, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "211": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "212": [ + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.8125], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125], + [0.8125, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "213": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875] + ], + "214": [ + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.8125], + [0.8125, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "215": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "216": [ + [0.1875, 0.1875, 0.1875, 0.8125, 0.8125, 1], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125], + [0.8125, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "217": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1] + ], + "218": [ + [0.1875, 0.1875, 0.1875, 0.8125, 0.8125, 1], + [0.8125, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "219": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "220": [ + [0.1875, 0.1875, 0.1875, 1, 0.8125, 0.8125], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "221": [ + [0, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "222": [ + [0.1875, 0.1875, 0.1875, 1, 0.8125, 0.8125] + ], + "223": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "224": [ + [0.1875, 0.1875, 0, 0.8125, 0.8125, 1], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "225": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1] + ], + "226": [ + [0.1875, 0.1875, 0, 0.8125, 0.8125, 1] + ], + "227": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "228": [ + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.8125], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "229": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.1875] + ], + "230": [ + [0.1875, 0.1875, 0, 0.8125, 0.8125, 0.8125] + ], + "231": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "232": [ + [0.1875, 0.1875, 0.1875, 0.8125, 0.8125, 1], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "233": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0.1875, 0.8125, 0.8125, 0.8125, 1] + ], + "234": [ + [0.1875, 0.1875, 0.1875, 0.8125, 0.8125, 1] + ], + "235": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125], + [0.1875, 0.8125, 0.1875, 0.8125, 1, 0.8125] + ], + "236": [ + [0.1875, 0.1875, 0.1875, 0.8125, 1, 0.8125] + ], + "237": [ + [0, 0.1875, 0.1875, 0.8125, 0.8125, 0.8125] + ], + "238": [ + [0.1875, 0, 0.1875, 0.75, 0.4375, 0.75] + ], + "239": [ + [0.0625, 0, 0.0625, 0.9375, 0.4375, 0.9375] + ], + "240": [ + [0.375, 0, 0.375, 0.625, 0.375, 0.625] + ], + "241": [ + [0.1875, 0, 0.1875, 0.8125, 0.375, 0.8125] + ], + "242": [ + [0.125, 0, 0.125, 0.875, 0.375, 0.875] + ], + "243": [ + [0.125, 0, 0.125, 0.875, 0.4375, 0.875] + ], + "244": [ + [0.3125, 0.3125, 0.3125, 0.6875, 0.6875, 0.6875] + ], + "245": [ + [0.15625, 0, 0.15625, 0.34375, 1, 0.34375] + ], + "246": [ + [0, 0, 0, 0.125, 1, 0.125], + [0, 0, 0.875, 0.125, 1, 1], + [0, 0.875, 0.125, 1, 1, 0.875], + [0.125, 0.875, 0, 1, 1, 0.125], + [0.125, 0.875, 0.875, 1, 1, 1], + [0.875, 0, 0, 1, 0.875, 0.125], + [0.875, 0, 0.875, 1, 0.875, 1] + ], + "247": [ + [0.125, 0.3125, 0.1875, 0.875, 0.6875, 0.5625], + [0.125, 0.375, 0.5625, 0.25, 0.625, 1], + [0.25, 0.125, 0, 0.75, 0.3125, 0.75], + [0.25, 0.3125, 0, 0.75, 0.875, 0.1875], + [0.25, 0.3125, 0.5625, 0.75, 0.875, 0.75], + [0.25, 0.6875, 0.1875, 0.75, 0.875, 0.5625], + [0.75, 0.375, 0.5625, 0.875, 0.625, 1] + ], + "248": [ + [0.125, 0, 0.375, 0.25, 0.8125, 0.625], + [0.125, 0.4375, 0.3125, 0.875, 0.8125, 0.375], + [0.125, 0.4375, 0.625, 0.875, 0.8125, 0.6875], + [0.25, 0.25, 0.125, 0.75, 0.4375, 0.875], + [0.25, 0.4375, 0.125, 0.75, 1, 0.3125], + [0.25, 0.4375, 0.375, 0.875, 0.8125, 0.625], + [0.25, 0.4375, 0.6875, 0.75, 1, 0.875], + [0.25, 0.8125, 0.3125, 0.75, 1, 0.6875], + [0.75, 0, 0.375, 0.875, 0.4375, 0.625] + ], + "249": [ + [0.125, 0.25, 0.25, 0.875, 1, 0.75], + [0.3125, 0.4375, 0.125, 0.6875, 0.8125, 0.25], + [0.3125, 0.4375, 0.75, 0.6875, 0.8125, 0.875], + [0.375, 0, 0.125, 0.625, 0.4375, 0.25], + [0.375, 0, 0.75, 0.625, 0.4375, 0.875] + ], + "250": [ + [0.125, 0.3125, 0.4375, 0.875, 0.6875, 0.8125], + [0.125, 0.375, 0, 0.25, 0.625, 0.4375], + [0.25, 0.125, 0.25, 0.75, 0.3125, 1], + [0.25, 0.3125, 0.25, 0.75, 0.875, 0.4375], + [0.25, 0.3125, 0.8125, 0.75, 0.875, 1], + [0.25, 0.6875, 0.4375, 0.75, 0.875, 0.8125], + [0.75, 0.375, 0, 0.875, 0.625, 0.4375] + ], + "251": [ + [0, 0.125, 0.25, 0.75, 0.875, 0.75], + [0.1875, 0.3125, 0.125, 0.5625, 0.6875, 0.25], + [0.1875, 0.3125, 0.75, 0.5625, 0.6875, 0.875], + [0.5625, 0.375, 0.125, 1, 0.625, 0.25], + [0.5625, 0.375, 0.75, 1, 0.625, 0.875] + ], + "252": [ + [0, 0.375, 0.125, 0.8125, 0.625, 0.25], + [0, 0.375, 0.75, 0.8125, 0.625, 0.875], + [0.25, 0.125, 0.25, 1, 0.875, 0.75], + [0.4375, 0.3125, 0.125, 0.8125, 0.375, 0.25], + [0.4375, 0.3125, 0.75, 0.8125, 0.375, 0.875], + [0.4375, 0.625, 0.125, 0.8125, 0.6875, 0.25], + [0.4375, 0.625, 0.75, 0.8125, 0.6875, 0.875] + ], + "253": [ + [0.125, 0.1875, 0.3125, 0.875, 0.5625, 0.6875], + [0.125, 0.5625, 0.375, 0.875, 0.75, 0.625], + [0.125, 0.75, 0.375, 0.25, 1, 0.625], + [0.25, 0, 0.125, 0.75, 0.1875, 0.875], + [0.25, 0.1875, 0.125, 0.75, 0.75, 0.3125], + [0.25, 0.1875, 0.6875, 0.75, 0.75, 0.875], + [0.25, 0.5625, 0.3125, 0.75, 0.75, 0.375], + [0.25, 0.5625, 0.625, 0.75, 0.75, 0.6875], + [0.75, 0.75, 0.375, 0.875, 1, 0.625] + ], + "254": [ + [0.125, 0, 0.25, 0.875, 0.75, 0.75], + [0.3125, 0.1875, 0.125, 0.6875, 0.5625, 0.25], + [0.3125, 0.1875, 0.75, 0.6875, 0.5625, 0.875], + [0.375, 0.5625, 0.125, 0.625, 1, 0.25], + [0.375, 0.5625, 0.75, 0.625, 1, 0.875] + ], + "255": [ + [0, 0, 0, 1, 0.125, 1], + [0.25, 0.125, 0.25, 0.75, 0.875, 0.75] + ], + "256": [ + [0, 0, 0, 1, 0.5625, 1] + ], + "257": [ + [0, 0, 0.25, 1, 1, 0.75] + ], + "258": [ + [0.25, 0, 0, 0.75, 1, 1] + ], + "259": [ + [0.25, 0.25, 0.25, 0.75, 0.375, 0.75], + [0.3125, 0.375, 0.3125, 0.6875, 0.8125, 0.6875], + [0.4375, 0.8125, 0.4375, 0.5625, 1, 0.5625] + ], + "260": [ + [0.25, 0.25, 0.25, 0.75, 0.375, 0.75], + [0.3125, 0.375, 0.3125, 0.6875, 0.8125, 0.6875], + [0.4375, 0.8125, 0, 0.5625, 0.9375, 0.8125] + ], + "261": [ + [0.25, 0.25, 0.25, 0.75, 0.375, 0.75], + [0.3125, 0.375, 0.3125, 0.6875, 0.8125, 0.6875], + [0.4375, 0.8125, 0.1875, 0.5625, 0.9375, 1] + ], + "262": [ + [0, 0.8125, 0.4375, 0.8125, 0.9375, 0.5625], + [0.25, 0.25, 0.25, 0.75, 0.375, 0.75], + [0.3125, 0.375, 0.3125, 0.6875, 0.8125, 0.6875] + ], + "263": [ + [0.1875, 0.8125, 0.4375, 1, 0.9375, 0.5625], + [0.25, 0.25, 0.25, 0.75, 0.375, 0.75], + [0.3125, 0.375, 0.3125, 0.6875, 0.8125, 0.6875] + ], + "264": [ + [0.25, 0.25, 0.25, 0.75, 0.375, 0.75], + [0.3125, 0.375, 0.3125, 0.6875, 0.8125, 0.6875], + [0.4375, 0.8125, 0, 0.5625, 0.9375, 1] + ], + "265": [ + [0, 0.8125, 0.4375, 1, 0.9375, 0.5625], + [0.25, 0.25, 0.25, 0.75, 0.375, 0.75], + [0.3125, 0.375, 0.3125, 0.6875, 0.8125, 0.6875] + ], + "266": [ + [0.3125, 0, 0.3125, 0.6875, 0.4375, 0.6875], + [0.375, 0.4375, 0.375, 0.625, 0.5625, 0.625] + ], + "267": [ + [0.3125, 0.0625, 0.3125, 0.6875, 0.5, 0.6875], + [0.375, 0.5, 0.375, 0.625, 0.625, 0.625] + ], + "268": [ + [0, 0, 0, 1, 0.4375, 1] + ], + "269": [ + [0, 0, 0, 1, 0.125, 1], + [0, 0.125, 0, 0.125, 1, 1], + [0.125, 0.125, 0, 1, 1, 0.125], + [0.125, 0.125, 0.875, 1, 1, 1], + [0.875, 0.125, 0.125, 1, 1, 0.875] + ], + "270": [ + [0.40625, 0, 0.40625, 0.59375, 1, 0.59375] + ] + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/blockLoot.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/blockLoot.json new file mode 100644 index 00000000..64426a03 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/blockLoot.json @@ -0,0 +1,10058 @@ +[ + { + "block": "acacia_button", + "drops": [ + { + "item": "acacia_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_door", + "drops": [ + { + "item": "acacia_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_fence", + "drops": [ + { + "item": "acacia_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_fence_gate", + "drops": [ + { + "item": "acacia_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_leaves", + "drops": [ + { + "item": "acacia_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "acacia_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_log", + "drops": [ + { + "item": "acacia_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_planks", + "drops": [ + { + "item": "acacia_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_pressure_plate", + "drops": [ + { + "item": "acacia_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_sapling", + "drops": [ + { + "item": "acacia_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_sign", + "drops": [ + { + "item": "acacia_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_slab", + "drops": [ + { + "item": "acacia_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "acacia_stairs", + "drops": [ + { + "item": "acacia_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_trapdoor", + "drops": [ + { + "item": "acacia_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_wood", + "drops": [ + { + "item": "acacia_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "activator_rail", + "drops": [ + { + "item": "activator_rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "allium", + "drops": [ + { + "item": "allium", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "ancient_debris", + "drops": [ + { + "item": "ancient_debris", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "andesite", + "drops": [ + { + "item": "andesite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "andesite_slab", + "drops": [ + { + "item": "andesite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "andesite_stairs", + "drops": [ + { + "item": "andesite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "andesite_wall", + "drops": [ + { + "item": "andesite_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "anvil", + "drops": [ + { + "item": "anvil", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "attached_melon_stem", + "drops": [ + { + "item": "melon_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "attached_pumpkin_stem", + "drops": [ + { + "item": "pumpkin_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "azure_bluet", + "drops": [ + { + "item": "azure_bluet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bamboo", + "drops": [ + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bamboo_sapling", + "drops": [ + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "barrel", + "drops": [ + { + "item": "barrel", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "basalt", + "drops": [ + { + "item": "basalt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "beacon", + "drops": [ + { + "item": "beacon", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bee_nest", + "drops": [ + { + "item": "bee_nest", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "beehive", + "drops": [ + { + "item": "beehive", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "beehive", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "beetroots", + "drops": [ + { + "item": "beetroot", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 3 + }, + { + "item": "beetroot_seeds", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "beetroot_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 3 + } + ] + }, + { + "block": "bell", + "drops": [ + { + "item": "bell", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_button", + "drops": [ + { + "item": "birch_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_door", + "drops": [ + { + "item": "birch_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_fence", + "drops": [ + { + "item": "birch_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_fence_gate", + "drops": [ + { + "item": "birch_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_leaves", + "drops": [ + { + "item": "birch_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "birch_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_log", + "drops": [ + { + "item": "birch_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_planks", + "drops": [ + { + "item": "birch_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_pressure_plate", + "drops": [ + { + "item": "birch_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_sapling", + "drops": [ + { + "item": "birch_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_sign", + "drops": [ + { + "item": "birch_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_slab", + "drops": [ + { + "item": "birch_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "birch_stairs", + "drops": [ + { + "item": "birch_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_trapdoor", + "drops": [ + { + "item": "birch_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_wood", + "drops": [ + { + "item": "birch_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_banner", + "drops": [ + { + "item": "black_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_bed", + "drops": [ + { + "item": "black_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_carpet", + "drops": [ + { + "item": "black_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_concrete", + "drops": [ + { + "item": "black_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_concrete_powder", + "drops": [ + { + "item": "black_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_glazed_terracotta", + "drops": [ + { + "item": "black_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_shulker_box", + "drops": [ + { + "item": "black_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_stained_glass", + "drops": [ + { + "item": "black_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "black_stained_glass_pane", + "drops": [ + { + "item": "black_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "black_terracotta", + "drops": [ + { + "item": "black_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_wool", + "drops": [ + { + "item": "black_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blackstone", + "drops": [ + { + "item": "blackstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blackstone_slab", + "drops": [ + { + "item": "blackstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "blackstone_stairs", + "drops": [ + { + "item": "blackstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blackstone_wall", + "drops": [ + { + "item": "blackstone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blast_furnace", + "drops": [ + { + "item": "blast_furnace", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_banner", + "drops": [ + { + "item": "blue_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_bed", + "drops": [ + { + "item": "blue_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_carpet", + "drops": [ + { + "item": "blue_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_concrete", + "drops": [ + { + "item": "blue_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_concrete_powder", + "drops": [ + { + "item": "blue_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_glazed_terracotta", + "drops": [ + { + "item": "blue_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_ice", + "drops": [ + { + "item": "blue_ice", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "blue_orchid", + "drops": [ + { + "item": "blue_orchid", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_shulker_box", + "drops": [ + { + "item": "blue_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_stained_glass", + "drops": [ + { + "item": "blue_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "blue_stained_glass_pane", + "drops": [ + { + "item": "blue_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "blue_terracotta", + "drops": [ + { + "item": "blue_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_wool", + "drops": [ + { + "item": "blue_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bone_block", + "drops": [ + { + "item": "bone_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bookshelf", + "drops": [ + { + "item": "bookshelf", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "book", + "dropChance": 0.5, + "stackSizeRange": [ + 3, + 3 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "brain_coral", + "drops": [ + { + "item": "brain_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brain_coral_block", + "drops": [ + { + "item": "brain_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_brain_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "brain_coral_fan", + "drops": [ + { + "item": "brain_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brewing_stand", + "drops": [ + { + "item": "brewing_stand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brick_slab", + "drops": [ + { + "item": "brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "brick_stairs", + "drops": [ + { + "item": "brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brick_wall", + "drops": [ + { + "item": "brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bricks", + "drops": [ + { + "item": "bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_banner", + "drops": [ + { + "item": "brown_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_bed", + "drops": [ + { + "item": "brown_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_carpet", + "drops": [ + { + "item": "brown_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_concrete", + "drops": [ + { + "item": "brown_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_concrete_powder", + "drops": [ + { + "item": "brown_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_glazed_terracotta", + "drops": [ + { + "item": "brown_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_mushroom", + "drops": [ + { + "item": "brown_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_mushroom_block", + "drops": [ + { + "item": "brown_mushroom_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "brown_mushroom", + "dropChance": 0.5, + "stackSizeRange": [ + 0, + null + ], + "noSilkTouch": true + } + ] + }, + { + "block": "brown_shulker_box", + "drops": [ + { + "item": "brown_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_stained_glass", + "drops": [ + { + "item": "brown_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brown_stained_glass_pane", + "drops": [ + { + "item": "brown_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brown_terracotta", + "drops": [ + { + "item": "brown_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_wool", + "drops": [ + { + "item": "brown_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bubble_coral", + "drops": [ + { + "item": "bubble_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "bubble_coral_block", + "drops": [ + { + "item": "bubble_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_bubble_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "bubble_coral_fan", + "drops": [ + { + "item": "bubble_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "cactus", + "drops": [ + { + "item": "cactus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cake", + "drops": [] + }, + { + "block": "campfire", + "drops": [ + { + "item": "campfire", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "charcoal", + "dropChance": 0.5, + "stackSizeRange": [ + 2, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "carrots", + "drops": [ + { + "item": "carrot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "carrot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 7 + } + ] + }, + { + "block": "cartography_table", + "drops": [ + { + "item": "cartography_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "carved_pumpkin", + "drops": [ + { + "item": "carved_pumpkin", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cauldron", + "drops": [ + { + "item": "cauldron", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chain", + "drops": [ + { + "item": "chain", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chest", + "drops": [ + { + "item": "chest", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chipped_anvil", + "drops": [ + { + "item": "chipped_anvil", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_nether_bricks", + "drops": [ + { + "item": "chiseled_nether_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_polished_blackstone", + "drops": [ + { + "item": "chiseled_polished_blackstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_quartz_block", + "drops": [ + { + "item": "chiseled_quartz_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_red_sandstone", + "drops": [ + { + "item": "chiseled_red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_sandstone", + "drops": [ + { + "item": "chiseled_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_stone_bricks", + "drops": [ + { + "item": "chiseled_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chorus_flower", + "drops": [ + { + "item": "chorus_flower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chorus_plant", + "drops": [ + { + "item": "chorus_fruit", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "clay", + "drops": [ + { + "item": "clay", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "clay_ball", + "dropChance": 0.5, + "stackSizeRange": [ + 4, + 4 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "coal_block", + "drops": [ + { + "item": "coal_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "coal_ore", + "drops": [ + { + "item": "coal_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "coal", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "coarse_dirt", + "drops": [ + { + "item": "coarse_dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobblestone", + "drops": [ + { + "item": "cobblestone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobblestone_slab", + "drops": [ + { + "item": "cobblestone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "cobblestone_stairs", + "drops": [ + { + "item": "cobblestone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobblestone_wall", + "drops": [ + { + "item": "cobblestone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobweb", + "drops": [ + { + "item": "cobweb", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "string", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cocoa", + "drops": [ + { + "item": "cocoa_beans", + "dropChance": 1, + "stackSizeRange": [ + 3, + 3 + ] + } + ] + }, + { + "block": "comparator", + "drops": [ + { + "item": "comparator", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "composter", + "drops": [ + { + "item": "composter", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "conduit", + "drops": [ + { + "item": "conduit", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cornflower", + "drops": [ + { + "item": "cornflower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cracked_nether_bricks", + "drops": [ + { + "item": "cracked_nether_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cracked_polished_blackstone_bricks", + "drops": [ + { + "item": "cracked_polished_blackstone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cracked_stone_bricks", + "drops": [ + { + "item": "cracked_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crafting_table", + "drops": [ + { + "item": "crafting_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "creeper_head", + "drops": [ + { + "item": "creeper_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_button", + "drops": [ + { + "item": "crimson_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_door", + "drops": [ + { + "item": "crimson_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_fence", + "drops": [ + { + "item": "crimson_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_fence_gate", + "drops": [ + { + "item": "crimson_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_fungus", + "drops": [ + { + "item": "crimson_fungus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_hyphae", + "drops": [ + { + "item": "crimson_hyphae", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_nylium", + "drops": [ + { + "item": "crimson_nylium", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "netherrack", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "crimson_planks", + "drops": [ + { + "item": "crimson_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_pressure_plate", + "drops": [ + { + "item": "crimson_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_roots", + "drops": [ + { + "item": "crimson_roots", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_sign", + "drops": [ + { + "item": "crimson_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_slab", + "drops": [ + { + "item": "crimson_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "crimson_stairs", + "drops": [ + { + "item": "crimson_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_stem", + "drops": [ + { + "item": "crimson_stem", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_trapdoor", + "drops": [ + { + "item": "crimson_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crying_obsidian", + "drops": [ + { + "item": "crying_obsidian", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cut_red_sandstone", + "drops": [ + { + "item": "cut_red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cut_red_sandstone_slab", + "drops": [ + { + "item": "cut_red_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "cut_sandstone", + "drops": [ + { + "item": "cut_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cut_sandstone_slab", + "drops": [ + { + "item": "cut_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "cyan_banner", + "drops": [ + { + "item": "cyan_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_bed", + "drops": [ + { + "item": "cyan_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_carpet", + "drops": [ + { + "item": "cyan_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_concrete", + "drops": [ + { + "item": "cyan_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_concrete_powder", + "drops": [ + { + "item": "cyan_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_glazed_terracotta", + "drops": [ + { + "item": "cyan_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_shulker_box", + "drops": [ + { + "item": "cyan_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_stained_glass", + "drops": [ + { + "item": "cyan_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "cyan_stained_glass_pane", + "drops": [ + { + "item": "cyan_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "cyan_terracotta", + "drops": [ + { + "item": "cyan_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_wool", + "drops": [ + { + "item": "cyan_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "damaged_anvil", + "drops": [ + { + "item": "damaged_anvil", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dandelion", + "drops": [ + { + "item": "dandelion", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_button", + "drops": [ + { + "item": "dark_oak_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_door", + "drops": [ + { + "item": "dark_oak_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_fence", + "drops": [ + { + "item": "dark_oak_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_fence_gate", + "drops": [ + { + "item": "dark_oak_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_leaves", + "drops": [ + { + "item": "dark_oak_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dark_oak_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "apple", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_log", + "drops": [ + { + "item": "dark_oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_planks", + "drops": [ + { + "item": "dark_oak_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_pressure_plate", + "drops": [ + { + "item": "dark_oak_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_sapling", + "drops": [ + { + "item": "dark_oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_sign", + "drops": [ + { + "item": "dark_oak_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_slab", + "drops": [ + { + "item": "dark_oak_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "dark_oak_stairs", + "drops": [ + { + "item": "dark_oak_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_trapdoor", + "drops": [ + { + "item": "dark_oak_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_wood", + "drops": [ + { + "item": "dark_oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_prismarine", + "drops": [ + { + "item": "dark_prismarine", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_prismarine_slab", + "drops": [ + { + "item": "dark_prismarine_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "dark_prismarine_stairs", + "drops": [ + { + "item": "dark_prismarine_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "daylight_detector", + "drops": [ + { + "item": "daylight_detector", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_brain_coral", + "drops": [ + { + "item": "dead_brain_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_brain_coral_block", + "drops": [ + { + "item": "dead_brain_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_brain_coral_fan", + "drops": [ + { + "item": "dead_brain_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_bubble_coral", + "drops": [ + { + "item": "dead_bubble_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_bubble_coral_block", + "drops": [ + { + "item": "dead_bubble_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_bubble_coral_fan", + "drops": [ + { + "item": "dead_bubble_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_bush", + "drops": [ + { + "item": "dead_bush", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_fire_coral", + "drops": [ + { + "item": "dead_fire_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_fire_coral_block", + "drops": [ + { + "item": "dead_fire_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_fire_coral_fan", + "drops": [ + { + "item": "dead_fire_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_horn_coral", + "drops": [ + { + "item": "dead_horn_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_horn_coral_block", + "drops": [ + { + "item": "dead_horn_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_horn_coral_fan", + "drops": [ + { + "item": "dead_horn_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_tube_coral", + "drops": [ + { + "item": "dead_tube_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_tube_coral_block", + "drops": [ + { + "item": "dead_tube_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_tube_coral_fan", + "drops": [ + { + "item": "dead_tube_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "detector_rail", + "drops": [ + { + "item": "detector_rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diamond_block", + "drops": [ + { + "item": "diamond_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diamond_ore", + "drops": [ + { + "item": "diamond_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "diamond", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "diorite", + "drops": [ + { + "item": "diorite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diorite_slab", + "drops": [ + { + "item": "diorite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "diorite_stairs", + "drops": [ + { + "item": "diorite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diorite_wall", + "drops": [ + { + "item": "diorite_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dirt", + "drops": [ + { + "item": "dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dispenser", + "drops": [ + { + "item": "dispenser", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dragon_egg", + "drops": [ + { + "item": "dragon_egg", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dragon_head", + "drops": [ + { + "item": "dragon_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dried_kelp_block", + "drops": [ + { + "item": "dried_kelp_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dropper", + "drops": [ + { + "item": "dropper", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "emerald_block", + "drops": [ + { + "item": "emerald_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "emerald_ore", + "drops": [ + { + "item": "emerald_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "emerald", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "enchanting_table", + "drops": [ + { + "item": "enchanting_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_rod", + "drops": [ + { + "item": "end_rod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone", + "drops": [ + { + "item": "end_stone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone_brick_slab", + "drops": [ + { + "item": "end_stone_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "end_stone_brick_stairs", + "drops": [ + { + "item": "end_stone_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone_brick_wall", + "drops": [ + { + "item": "end_stone_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone_bricks", + "drops": [ + { + "item": "end_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "ender_chest", + "drops": [ + { + "item": "ender_chest", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "obsidian", + "dropChance": 0.5, + "stackSizeRange": [ + 8, + 8 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "farmland", + "drops": [ + { + "item": "dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "fern", + "drops": [ + { + "item": "fern", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "fire", + "drops": [] + }, + { + "block": "fire_coral", + "drops": [ + { + "item": "fire_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "fire_coral_block", + "drops": [ + { + "item": "fire_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_fire_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "fire_coral_fan", + "drops": [ + { + "item": "fire_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "fletching_table", + "drops": [ + { + "item": "fletching_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "flower_pot", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "frosted_ice", + "drops": [] + }, + { + "block": "furnace", + "drops": [ + { + "item": "furnace", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gilded_blackstone", + "drops": [ + { + "item": "gilded_blackstone", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "gold_nugget", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + }, + { + "item": "gilded_blackstone", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "glass", + "drops": [ + { + "item": "glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "glass_pane", + "drops": [ + { + "item": "glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "glowstone", + "drops": [ + { + "item": "glowstone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "glowstone_dust", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "gold_block", + "drops": [ + { + "item": "gold_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gold_ore", + "drops": [ + { + "item": "gold_ore", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "granite", + "drops": [ + { + "item": "granite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "granite_slab", + "drops": [ + { + "item": "granite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "granite_stairs", + "drops": [ + { + "item": "granite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "granite_wall", + "drops": [ + { + "item": "granite_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "grass", + "drops": [ + { + "item": "grass", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "grass_block", + "drops": [ + { + "item": "grass_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dirt", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "grass_path", + "drops": [ + { + "item": "dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gravel", + "drops": [ + { + "item": "gravel", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "flint", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + }, + { + "item": "gravel", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "gray_banner", + "drops": [ + { + "item": "gray_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_bed", + "drops": [ + { + "item": "gray_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_carpet", + "drops": [ + { + "item": "gray_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_concrete", + "drops": [ + { + "item": "gray_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_concrete_powder", + "drops": [ + { + "item": "gray_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_glazed_terracotta", + "drops": [ + { + "item": "gray_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_shulker_box", + "drops": [ + { + "item": "gray_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_stained_glass", + "drops": [ + { + "item": "gray_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "gray_stained_glass_pane", + "drops": [ + { + "item": "gray_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "gray_terracotta", + "drops": [ + { + "item": "gray_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_wool", + "drops": [ + { + "item": "gray_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_banner", + "drops": [ + { + "item": "green_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_bed", + "drops": [ + { + "item": "green_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_carpet", + "drops": [ + { + "item": "green_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_concrete", + "drops": [ + { + "item": "green_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_concrete_powder", + "drops": [ + { + "item": "green_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_glazed_terracotta", + "drops": [ + { + "item": "green_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_shulker_box", + "drops": [ + { + "item": "green_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_stained_glass", + "drops": [ + { + "item": "green_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "green_stained_glass_pane", + "drops": [ + { + "item": "green_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "green_terracotta", + "drops": [ + { + "item": "green_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_wool", + "drops": [ + { + "item": "green_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "grindstone", + "drops": [ + { + "item": "grindstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "hay_block", + "drops": [ + { + "item": "hay_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "heavy_weighted_pressure_plate", + "drops": [ + { + "item": "heavy_weighted_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "honey_block", + "drops": [ + { + "item": "honey_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "honeycomb_block", + "drops": [ + { + "item": "honeycomb_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "hopper", + "drops": [ + { + "item": "hopper", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "horn_coral", + "drops": [ + { + "item": "horn_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "horn_coral_block", + "drops": [ + { + "item": "horn_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_horn_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "horn_coral_fan", + "drops": [ + { + "item": "horn_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "ice", + "drops": [ + { + "item": "ice", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_chiseled_stone_bricks", + "drops": [ + { + "item": "chiseled_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_cobblestone", + "drops": [ + { + "item": "cobblestone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_cracked_stone_bricks", + "drops": [ + { + "item": "cracked_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_mossy_stone_bricks", + "drops": [ + { + "item": "mossy_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_stone", + "drops": [ + { + "item": "stone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_stone_bricks", + "drops": [ + { + "item": "stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "iron_bars", + "drops": [ + { + "item": "iron_bars", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_block", + "drops": [ + { + "item": "iron_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_door", + "drops": [ + { + "item": "iron_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_ore", + "drops": [ + { + "item": "iron_ore", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_trapdoor", + "drops": [ + { + "item": "iron_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jack_o_lantern", + "drops": [ + { + "item": "jack_o_lantern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jukebox", + "drops": [ + { + "item": "jukebox", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_button", + "drops": [ + { + "item": "jungle_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_door", + "drops": [ + { + "item": "jungle_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_fence", + "drops": [ + { + "item": "jungle_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_fence_gate", + "drops": [ + { + "item": "jungle_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_leaves", + "drops": [ + { + "item": "jungle_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "jungle_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_log", + "drops": [ + { + "item": "jungle_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_planks", + "drops": [ + { + "item": "jungle_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_pressure_plate", + "drops": [ + { + "item": "jungle_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_sapling", + "drops": [ + { + "item": "jungle_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_sign", + "drops": [ + { + "item": "jungle_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_slab", + "drops": [ + { + "item": "jungle_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "jungle_stairs", + "drops": [ + { + "item": "jungle_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_trapdoor", + "drops": [ + { + "item": "jungle_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_wood", + "drops": [ + { + "item": "jungle_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "kelp", + "drops": [ + { + "item": "kelp", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "kelp_plant", + "drops": [ + { + "item": "kelp", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "ladder", + "drops": [ + { + "item": "ladder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lantern", + "drops": [ + { + "item": "lantern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lapis_block", + "drops": [ + { + "item": "lapis_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lapis_ore", + "drops": [ + { + "item": "lapis_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "lapis_lazuli", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "large_fern", + "drops": [ + { + "item": "fern", + "dropChance": 0.5, + "stackSizeRange": [ + 2, + 2 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lectern", + "drops": [ + { + "item": "lectern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lever", + "drops": [ + { + "item": "lever", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_banner", + "drops": [ + { + "item": "light_blue_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_bed", + "drops": [ + { + "item": "light_blue_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_carpet", + "drops": [ + { + "item": "light_blue_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_concrete", + "drops": [ + { + "item": "light_blue_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_concrete_powder", + "drops": [ + { + "item": "light_blue_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_glazed_terracotta", + "drops": [ + { + "item": "light_blue_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_shulker_box", + "drops": [ + { + "item": "light_blue_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_stained_glass", + "drops": [ + { + "item": "light_blue_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_blue_stained_glass_pane", + "drops": [ + { + "item": "light_blue_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_blue_terracotta", + "drops": [ + { + "item": "light_blue_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_wool", + "drops": [ + { + "item": "light_blue_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_banner", + "drops": [ + { + "item": "light_gray_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_bed", + "drops": [ + { + "item": "light_gray_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_carpet", + "drops": [ + { + "item": "light_gray_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_concrete", + "drops": [ + { + "item": "light_gray_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_concrete_powder", + "drops": [ + { + "item": "light_gray_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_glazed_terracotta", + "drops": [ + { + "item": "light_gray_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_shulker_box", + "drops": [ + { + "item": "light_gray_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_stained_glass", + "drops": [ + { + "item": "light_gray_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_gray_stained_glass_pane", + "drops": [ + { + "item": "light_gray_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_gray_terracotta", + "drops": [ + { + "item": "light_gray_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_wool", + "drops": [ + { + "item": "light_gray_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_weighted_pressure_plate", + "drops": [ + { + "item": "light_weighted_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lilac", + "drops": [ + { + "item": "lilac", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lily_of_the_valley", + "drops": [ + { + "item": "lily_of_the_valley", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lily_pad", + "drops": [ + { + "item": "lily_pad", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_banner", + "drops": [ + { + "item": "lime_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_bed", + "drops": [ + { + "item": "lime_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_carpet", + "drops": [ + { + "item": "lime_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_concrete", + "drops": [ + { + "item": "lime_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_concrete_powder", + "drops": [ + { + "item": "lime_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_glazed_terracotta", + "drops": [ + { + "item": "lime_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_shulker_box", + "drops": [ + { + "item": "lime_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_stained_glass", + "drops": [ + { + "item": "lime_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "lime_stained_glass_pane", + "drops": [ + { + "item": "lime_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "lime_terracotta", + "drops": [ + { + "item": "lime_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_wool", + "drops": [ + { + "item": "lime_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lodestone", + "drops": [ + { + "item": "lodestone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "loom", + "drops": [ + { + "item": "loom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_banner", + "drops": [ + { + "item": "magenta_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_bed", + "drops": [ + { + "item": "magenta_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_carpet", + "drops": [ + { + "item": "magenta_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_concrete", + "drops": [ + { + "item": "magenta_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_concrete_powder", + "drops": [ + { + "item": "magenta_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_glazed_terracotta", + "drops": [ + { + "item": "magenta_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_shulker_box", + "drops": [ + { + "item": "magenta_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_stained_glass", + "drops": [ + { + "item": "magenta_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "magenta_stained_glass_pane", + "drops": [ + { + "item": "magenta_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "magenta_terracotta", + "drops": [ + { + "item": "magenta_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_wool", + "drops": [ + { + "item": "magenta_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magma_block", + "drops": [ + { + "item": "magma_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "melon", + "drops": [ + { + "item": "melon", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "melon_slice", + "dropChance": 0.5, + "stackSizeRange": [ + null, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "melon_stem", + "drops": [ + { + "item": "melon_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_cobblestone", + "drops": [ + { + "item": "mossy_cobblestone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_cobblestone_slab", + "drops": [ + { + "item": "mossy_cobblestone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "mossy_cobblestone_stairs", + "drops": [ + { + "item": "mossy_cobblestone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_cobblestone_wall", + "drops": [ + { + "item": "mossy_cobblestone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_stone_brick_slab", + "drops": [ + { + "item": "mossy_stone_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "mossy_stone_brick_stairs", + "drops": [ + { + "item": "mossy_stone_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_stone_brick_wall", + "drops": [ + { + "item": "mossy_stone_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_stone_bricks", + "drops": [ + { + "item": "mossy_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mushroom_stem", + "drops": [ + { + "item": "mushroom_stem", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "mycelium", + "drops": [ + { + "item": "mycelium", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dirt", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "nether_brick_fence", + "drops": [ + { + "item": "nether_brick_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_brick_slab", + "drops": [ + { + "item": "nether_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "nether_brick_stairs", + "drops": [ + { + "item": "nether_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_brick_wall", + "drops": [ + { + "item": "nether_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_bricks", + "drops": [ + { + "item": "nether_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_gold_ore", + "drops": [ + { + "item": "nether_gold_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "gold_nugget", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "nether_portal", + "drops": [] + }, + { + "block": "nether_quartz_ore", + "drops": [ + { + "item": "nether_quartz_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "quartz", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "nether_sprouts", + "drops": [ + { + "item": "nether_sprouts", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_wart", + "drops": [ + { + "item": "nether_wart", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_wart_block", + "drops": [ + { + "item": "nether_wart_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "netherite_block", + "drops": [ + { + "item": "netherite_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "netherrack", + "drops": [ + { + "item": "netherrack", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "note_block", + "drops": [ + { + "item": "note_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_button", + "drops": [ + { + "item": "oak_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_door", + "drops": [ + { + "item": "oak_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_fence", + "drops": [ + { + "item": "oak_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_fence_gate", + "drops": [ + { + "item": "oak_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_leaves", + "drops": [ + { + "item": "oak_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "oak_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "apple", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_log", + "drops": [ + { + "item": "oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_planks", + "drops": [ + { + "item": "oak_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_pressure_plate", + "drops": [ + { + "item": "oak_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_sapling", + "drops": [ + { + "item": "oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_sign", + "drops": [ + { + "item": "oak_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_slab", + "drops": [ + { + "item": "oak_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "oak_stairs", + "drops": [ + { + "item": "oak_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_trapdoor", + "drops": [ + { + "item": "oak_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_wood", + "drops": [ + { + "item": "oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "observer", + "drops": [ + { + "item": "observer", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "obsidian", + "drops": [ + { + "item": "obsidian", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_banner", + "drops": [ + { + "item": "orange_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_bed", + "drops": [ + { + "item": "orange_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_carpet", + "drops": [ + { + "item": "orange_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_concrete", + "drops": [ + { + "item": "orange_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_concrete_powder", + "drops": [ + { + "item": "orange_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_glazed_terracotta", + "drops": [ + { + "item": "orange_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_shulker_box", + "drops": [ + { + "item": "orange_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_stained_glass", + "drops": [ + { + "item": "orange_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "orange_stained_glass_pane", + "drops": [ + { + "item": "orange_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "orange_terracotta", + "drops": [ + { + "item": "orange_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_tulip", + "drops": [ + { + "item": "orange_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_wool", + "drops": [ + { + "item": "orange_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oxeye_daisy", + "drops": [ + { + "item": "oxeye_daisy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "packed_ice", + "drops": [ + { + "item": "packed_ice", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "peony", + "drops": [ + { + "item": "peony", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "petrified_oak_slab", + "drops": [ + { + "item": "petrified_oak_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "pink_banner", + "drops": [ + { + "item": "pink_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_bed", + "drops": [ + { + "item": "pink_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_carpet", + "drops": [ + { + "item": "pink_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_concrete", + "drops": [ + { + "item": "pink_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_concrete_powder", + "drops": [ + { + "item": "pink_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_glazed_terracotta", + "drops": [ + { + "item": "pink_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_shulker_box", + "drops": [ + { + "item": "pink_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_stained_glass", + "drops": [ + { + "item": "pink_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "pink_stained_glass_pane", + "drops": [ + { + "item": "pink_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "pink_terracotta", + "drops": [ + { + "item": "pink_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_tulip", + "drops": [ + { + "item": "pink_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_wool", + "drops": [ + { + "item": "pink_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "piston", + "drops": [ + { + "item": "piston", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "player_head", + "drops": [ + { + "item": "player_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "podzol", + "drops": [ + { + "item": "podzol", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dirt", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "polished_andesite", + "drops": [ + { + "item": "polished_andesite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_andesite_slab", + "drops": [ + { + "item": "polished_andesite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_andesite_stairs", + "drops": [ + { + "item": "polished_andesite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_basalt", + "drops": [ + { + "item": "polished_basalt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone", + "drops": [ + { + "item": "polished_blackstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone_brick_slab", + "drops": [ + { + "item": "polished_blackstone_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_blackstone_brick_stairs", + "drops": [ + { + "item": "polished_blackstone_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone_brick_wall", + "drops": [ + { + "item": "polished_blackstone_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone_bricks", + "drops": [ + { + "item": "polished_blackstone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone_button", + "drops": [ + { + "item": "polished_blackstone_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone_pressure_plate", + "drops": [ + { + "item": "polished_blackstone_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone_slab", + "drops": [ + { + "item": "polished_blackstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_blackstone_stairs", + "drops": [ + { + "item": "polished_blackstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone_wall", + "drops": [ + { + "item": "polished_blackstone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_diorite", + "drops": [ + { + "item": "polished_diorite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_diorite_slab", + "drops": [ + { + "item": "polished_diorite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_diorite_stairs", + "drops": [ + { + "item": "polished_diorite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_granite", + "drops": [ + { + "item": "polished_granite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_granite_slab", + "drops": [ + { + "item": "polished_granite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_granite_stairs", + "drops": [ + { + "item": "polished_granite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "poppy", + "drops": [ + { + "item": "poppy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potatoes", + "drops": [ + { + "item": "potato", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "potato", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 7 + }, + { + "item": "poisonous_potato", + "dropChance": 0.02, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 7 + } + ] + }, + { + "block": "potted_acacia_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "acacia_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_allium", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "allium", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_azure_bluet", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "azure_bluet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_bamboo", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_birch_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "birch_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_blue_orchid", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "blue_orchid", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_brown_mushroom", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "brown_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_cactus", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cactus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_cornflower", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cornflower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_crimson_fungus", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "crimson_fungus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_crimson_roots", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "crimson_roots", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_dandelion", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dandelion", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_dark_oak_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dark_oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_dead_bush", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dead_bush", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_fern", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "fern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_jungle_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "jungle_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_lily_of_the_valley", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "lily_of_the_valley", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_oak_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_orange_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "orange_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_oxeye_daisy", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "oxeye_daisy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_pink_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "pink_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_poppy", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "poppy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_red_mushroom", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "red_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_red_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "red_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_spruce_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spruce_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_warped_fungus", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "warped_fungus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_warped_roots", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "warped_roots", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_white_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "white_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_wither_rose", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wither_rose", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "powered_rail", + "drops": [ + { + "item": "powered_rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine", + "drops": [ + { + "item": "prismarine", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_brick_slab", + "drops": [ + { + "item": "prismarine_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "prismarine_brick_stairs", + "drops": [ + { + "item": "prismarine_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_bricks", + "drops": [ + { + "item": "prismarine_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_slab", + "drops": [ + { + "item": "prismarine_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "prismarine_stairs", + "drops": [ + { + "item": "prismarine_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_wall", + "drops": [ + { + "item": "prismarine_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pumpkin", + "drops": [ + { + "item": "pumpkin", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pumpkin_stem", + "drops": [ + { + "item": "pumpkin_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_banner", + "drops": [ + { + "item": "purple_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_bed", + "drops": [ + { + "item": "purple_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_carpet", + "drops": [ + { + "item": "purple_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_concrete", + "drops": [ + { + "item": "purple_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_concrete_powder", + "drops": [ + { + "item": "purple_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_glazed_terracotta", + "drops": [ + { + "item": "purple_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_shulker_box", + "drops": [ + { + "item": "purple_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_stained_glass", + "drops": [ + { + "item": "purple_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "purple_stained_glass_pane", + "drops": [ + { + "item": "purple_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "purple_terracotta", + "drops": [ + { + "item": "purple_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_wool", + "drops": [ + { + "item": "purple_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purpur_block", + "drops": [ + { + "item": "purpur_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purpur_pillar", + "drops": [ + { + "item": "purpur_pillar", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purpur_slab", + "drops": [ + { + "item": "purpur_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "purpur_stairs", + "drops": [ + { + "item": "purpur_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "quartz_block", + "drops": [ + { + "item": "quartz_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "quartz_bricks", + "drops": [ + { + "item": "quartz_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "quartz_pillar", + "drops": [ + { + "item": "quartz_pillar", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "quartz_slab", + "drops": [ + { + "item": "quartz_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "quartz_stairs", + "drops": [ + { + "item": "quartz_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "rail", + "drops": [ + { + "item": "rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_banner", + "drops": [ + { + "item": "red_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_bed", + "drops": [ + { + "item": "red_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_carpet", + "drops": [ + { + "item": "red_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_concrete", + "drops": [ + { + "item": "red_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_concrete_powder", + "drops": [ + { + "item": "red_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_glazed_terracotta", + "drops": [ + { + "item": "red_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_mushroom", + "drops": [ + { + "item": "red_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_mushroom_block", + "drops": [ + { + "item": "red_mushroom_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "red_mushroom", + "dropChance": 0.5, + "stackSizeRange": [ + 0, + null + ], + "noSilkTouch": true + } + ] + }, + { + "block": "red_nether_brick_slab", + "drops": [ + { + "item": "red_nether_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "red_nether_brick_stairs", + "drops": [ + { + "item": "red_nether_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_nether_brick_wall", + "drops": [ + { + "item": "red_nether_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_nether_bricks", + "drops": [ + { + "item": "red_nether_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sand", + "drops": [ + { + "item": "red_sand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sandstone", + "drops": [ + { + "item": "red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sandstone_slab", + "drops": [ + { + "item": "red_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "red_sandstone_stairs", + "drops": [ + { + "item": "red_sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sandstone_wall", + "drops": [ + { + "item": "red_sandstone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_shulker_box", + "drops": [ + { + "item": "red_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_stained_glass", + "drops": [ + { + "item": "red_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "red_stained_glass_pane", + "drops": [ + { + "item": "red_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "red_terracotta", + "drops": [ + { + "item": "red_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_tulip", + "drops": [ + { + "item": "red_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_wool", + "drops": [ + { + "item": "red_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_block", + "drops": [ + { + "item": "redstone_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_lamp", + "drops": [ + { + "item": "redstone_lamp", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_ore", + "drops": [ + { + "item": "redstone_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "redstone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "redstone_torch", + "drops": [ + { + "item": "redstone_torch", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_wire", + "drops": [ + { + "item": "redstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "repeater", + "drops": [ + { + "item": "repeater", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "respawn_anchor", + "drops": [ + { + "item": "respawn_anchor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "rose_bush", + "drops": [ + { + "item": "rose_bush", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sand", + "drops": [ + { + "item": "sand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sandstone", + "drops": [ + { + "item": "sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sandstone_slab", + "drops": [ + { + "item": "sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "sandstone_stairs", + "drops": [ + { + "item": "sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sandstone_wall", + "drops": [ + { + "item": "sandstone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "scaffolding", + "drops": [ + { + "item": "scaffolding", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sea_lantern", + "drops": [ + { + "item": "sea_lantern", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "prismarine_crystals", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "sea_pickle", + "drops": [ + { + "item": "sea_pickle", + "dropChance": 1, + "stackSizeRange": [ + 4, + 4 + ] + } + ] + }, + { + "block": "seagrass", + "drops": [ + { + "item": "seagrass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "shroomlight", + "drops": [ + { + "item": "shroomlight", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "shulker_box", + "drops": [ + { + "item": "shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "skeleton_skull", + "drops": [ + { + "item": "skeleton_skull", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "slime_block", + "drops": [ + { + "item": "slime_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smithing_table", + "drops": [ + { + "item": "smithing_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smoker", + "drops": [ + { + "item": "smoker", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_quartz", + "drops": [ + { + "item": "smooth_quartz", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_quartz_slab", + "drops": [ + { + "item": "smooth_quartz_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "smooth_quartz_stairs", + "drops": [ + { + "item": "smooth_quartz_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_red_sandstone", + "drops": [ + { + "item": "smooth_red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_red_sandstone_slab", + "drops": [ + { + "item": "smooth_red_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "smooth_red_sandstone_stairs", + "drops": [ + { + "item": "smooth_red_sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_sandstone", + "drops": [ + { + "item": "smooth_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_sandstone_slab", + "drops": [ + { + "item": "smooth_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "smooth_sandstone_stairs", + "drops": [ + { + "item": "smooth_sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_stone", + "drops": [ + { + "item": "smooth_stone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_stone_slab", + "drops": [ + { + "item": "smooth_stone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "snow", + "drops": [ + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 2, + 2 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 3, + 3 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 4, + 4 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 5, + 5 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 6, + 6 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 7, + 7 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 8, + 8 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 2, + 2 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 3, + 3 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 4, + 4 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 5, + 5 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 6, + 6 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 7, + 7 + ] + }, + { + "item": "snow_block", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "snow_block", + "drops": [ + { + "item": "snow_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "snowball", + "dropChance": 0.5, + "stackSizeRange": [ + 4, + 4 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "soul_campfire", + "drops": [ + { + "item": "soul_campfire", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "soul_soil", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "soul_fire", + "drops": [] + }, + { + "block": "soul_lantern", + "drops": [ + { + "item": "soul_lantern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "soul_sand", + "drops": [ + { + "item": "soul_sand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "soul_soil", + "drops": [ + { + "item": "soul_soil", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "soul_torch", + "drops": [ + { + "item": "soul_torch", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spawner", + "drops": [] + }, + { + "block": "sponge", + "drops": [ + { + "item": "sponge", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_button", + "drops": [ + { + "item": "spruce_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_door", + "drops": [ + { + "item": "spruce_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_fence", + "drops": [ + { + "item": "spruce_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_fence_gate", + "drops": [ + { + "item": "spruce_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_leaves", + "drops": [ + { + "item": "spruce_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spruce_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_log", + "drops": [ + { + "item": "spruce_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_planks", + "drops": [ + { + "item": "spruce_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_pressure_plate", + "drops": [ + { + "item": "spruce_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_sapling", + "drops": [ + { + "item": "spruce_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_sign", + "drops": [ + { + "item": "spruce_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_slab", + "drops": [ + { + "item": "spruce_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "spruce_stairs", + "drops": [ + { + "item": "spruce_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_trapdoor", + "drops": [ + { + "item": "spruce_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_wood", + "drops": [ + { + "item": "spruce_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sticky_piston", + "drops": [ + { + "item": "sticky_piston", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone", + "drops": [ + { + "item": "stone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "cobblestone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "stone_brick_slab", + "drops": [ + { + "item": "stone_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "stone_brick_stairs", + "drops": [ + { + "item": "stone_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_brick_wall", + "drops": [ + { + "item": "stone_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_bricks", + "drops": [ + { + "item": "stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_button", + "drops": [ + { + "item": "stone_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_pressure_plate", + "drops": [ + { + "item": "stone_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_slab", + "drops": [ + { + "item": "stone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "stone_stairs", + "drops": [ + { + "item": "stone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stonecutter", + "drops": [ + { + "item": "stonecutter", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_acacia_log", + "drops": [ + { + "item": "stripped_acacia_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_acacia_wood", + "drops": [ + { + "item": "stripped_acacia_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_birch_log", + "drops": [ + { + "item": "stripped_birch_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_birch_wood", + "drops": [ + { + "item": "stripped_birch_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_crimson_hyphae", + "drops": [ + { + "item": "stripped_crimson_hyphae", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_crimson_stem", + "drops": [ + { + "item": "stripped_crimson_stem", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_dark_oak_log", + "drops": [ + { + "item": "stripped_dark_oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_dark_oak_wood", + "drops": [ + { + "item": "stripped_dark_oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_jungle_log", + "drops": [ + { + "item": "stripped_jungle_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_jungle_wood", + "drops": [ + { + "item": "stripped_jungle_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_oak_log", + "drops": [ + { + "item": "stripped_oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_oak_wood", + "drops": [ + { + "item": "stripped_oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_spruce_log", + "drops": [ + { + "item": "stripped_spruce_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_spruce_wood", + "drops": [ + { + "item": "stripped_spruce_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_warped_hyphae", + "drops": [ + { + "item": "stripped_warped_hyphae", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_warped_stem", + "drops": [ + { + "item": "stripped_warped_stem", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sugar_cane", + "drops": [ + { + "item": "sugar_cane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sunflower", + "drops": [ + { + "item": "sunflower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sweet_berry_bush", + "drops": [ + { + "item": "sweet_berries", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 3 + }, + { + "item": "sweet_berries", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 2 + } + ] + }, + { + "block": "tall_grass", + "drops": [ + { + "item": "grass", + "dropChance": 0.5, + "stackSizeRange": [ + 2, + 2 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tall_seagrass", + "drops": [ + { + "item": "seagrass", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "target", + "drops": [ + { + "item": "target", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "terracotta", + "drops": [ + { + "item": "terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tnt", + "drops": [ + { + "item": "tnt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "torch", + "drops": [ + { + "item": "torch", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "trapped_chest", + "drops": [ + { + "item": "trapped_chest", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tripwire", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tripwire_hook", + "drops": [ + { + "item": "tripwire_hook", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tube_coral", + "drops": [ + { + "item": "tube_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "tube_coral_block", + "drops": [ + { + "item": "tube_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_tube_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "tube_coral_fan", + "drops": [ + { + "item": "tube_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "turtle_egg", + "drops": [ + { + "item": "turtle_egg", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "twisting_vines", + "drops": [ + { + "item": "twisting_vines", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "twisting_vines_plant", + "drops": [ + { + "item": "twisting_vines", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "vine", + "drops": [ + { + "item": "vine", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_button", + "drops": [ + { + "item": "warped_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_door", + "drops": [ + { + "item": "warped_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_fence", + "drops": [ + { + "item": "warped_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_fence_gate", + "drops": [ + { + "item": "warped_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_fungus", + "drops": [ + { + "item": "warped_fungus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_hyphae", + "drops": [ + { + "item": "warped_hyphae", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_nylium", + "drops": [ + { + "item": "warped_nylium", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "netherrack", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "warped_planks", + "drops": [ + { + "item": "warped_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_pressure_plate", + "drops": [ + { + "item": "warped_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_roots", + "drops": [ + { + "item": "warped_roots", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_sign", + "drops": [ + { + "item": "warped_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_slab", + "drops": [ + { + "item": "warped_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "warped_stairs", + "drops": [ + { + "item": "warped_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_stem", + "drops": [ + { + "item": "warped_stem", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_trapdoor", + "drops": [ + { + "item": "warped_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_wart_block", + "drops": [ + { + "item": "warped_wart_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "weeping_vines", + "drops": [ + { + "item": "weeping_vines", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "weeping_vines_plant", + "drops": [ + { + "item": "weeping_vines", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wet_sponge", + "drops": [ + { + "item": "wet_sponge", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wheat", + "drops": [ + { + "item": "wheat", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 7 + }, + { + "item": "wheat_seeds", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 7 + } + ] + }, + { + "block": "white_banner", + "drops": [ + { + "item": "white_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_bed", + "drops": [ + { + "item": "white_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_carpet", + "drops": [ + { + "item": "white_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_concrete", + "drops": [ + { + "item": "white_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_concrete_powder", + "drops": [ + { + "item": "white_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_glazed_terracotta", + "drops": [ + { + "item": "white_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_shulker_box", + "drops": [ + { + "item": "white_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_stained_glass", + "drops": [ + { + "item": "white_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "white_stained_glass_pane", + "drops": [ + { + "item": "white_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "white_terracotta", + "drops": [ + { + "item": "white_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_tulip", + "drops": [ + { + "item": "white_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_wool", + "drops": [ + { + "item": "white_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wither_rose", + "drops": [ + { + "item": "wither_rose", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wither_skeleton_skull", + "drops": [ + { + "item": "wither_skeleton_skull", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_banner", + "drops": [ + { + "item": "yellow_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_bed", + "drops": [ + { + "item": "yellow_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_carpet", + "drops": [ + { + "item": "yellow_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_concrete", + "drops": [ + { + "item": "yellow_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_concrete_powder", + "drops": [ + { + "item": "yellow_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_glazed_terracotta", + "drops": [ + { + "item": "yellow_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_shulker_box", + "drops": [ + { + "item": "yellow_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_stained_glass", + "drops": [ + { + "item": "yellow_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "yellow_stained_glass_pane", + "drops": [ + { + "item": "yellow_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "yellow_terracotta", + "drops": [ + { + "item": "yellow_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_wool", + "drops": [ + { + "item": "yellow_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "zombie_head", + "drops": [ + { + "item": "zombie_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/blocks.json new file mode 100644 index 00000000..ad0c2101 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/blocks.json @@ -0,0 +1,25403 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "minStateId": 0, + "maxStateId": 0, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "minStateId": 1, + "maxStateId": 1, + "states": [], + "drops": [ + 1, + 14 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 1 + }, + { + "id": 2, + "displayName": "Granite", + "name": "granite", + "hardness": 1.5, + "minStateId": 2, + "maxStateId": 2, + "states": [], + "drops": [ + 2 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 2 + }, + { + "id": 3, + "displayName": "Polished Granite", + "name": "polished_granite", + "hardness": 1.5, + "minStateId": 3, + "maxStateId": 3, + "states": [], + "drops": [ + 3 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 3 + }, + { + "id": 4, + "displayName": "Diorite", + "name": "diorite", + "hardness": 1.5, + "minStateId": 4, + "maxStateId": 4, + "states": [], + "drops": [ + 4 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4 + }, + { + "id": 5, + "displayName": "Polished Diorite", + "name": "polished_diorite", + "hardness": 1.5, + "minStateId": 5, + "maxStateId": 5, + "states": [], + "drops": [ + 5 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 5 + }, + { + "id": 6, + "displayName": "Andesite", + "name": "andesite", + "hardness": 1.5, + "minStateId": 6, + "maxStateId": 6, + "states": [], + "drops": [ + 6 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6 + }, + { + "id": 7, + "displayName": "Polished Andesite", + "name": "polished_andesite", + "hardness": 1.5, + "minStateId": 7, + "maxStateId": 7, + "states": [], + "drops": [ + 7 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 7 + }, + { + "id": 8, + "displayName": "Grass Block", + "name": "grass_block", + "hardness": 0.6, + "minStateId": 8, + "maxStateId": 9, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 8, + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9 + }, + { + "id": 9, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "minStateId": 10, + "maxStateId": 10, + "states": [], + "drops": [ + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 10 + }, + { + "id": 10, + "displayName": "Coarse Dirt", + "name": "coarse_dirt", + "hardness": 0.5, + "minStateId": 11, + "maxStateId": 11, + "states": [], + "drops": [ + 10 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 11 + }, + { + "id": 11, + "displayName": "Podzol", + "name": "podzol", + "hardness": 0.5, + "minStateId": 12, + "maxStateId": 13, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 11, + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 13 + }, + { + "id": 12, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "minStateId": 14, + "maxStateId": 14, + "states": [], + "drops": [ + 14 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 14 + }, + { + "id": 13, + "displayName": "Oak Planks", + "name": "oak_planks", + "hardness": 2, + "minStateId": 15, + "maxStateId": 15, + "states": [], + "drops": [ + 15 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15 + }, + { + "id": 14, + "displayName": "Spruce Planks", + "name": "spruce_planks", + "hardness": 2, + "minStateId": 16, + "maxStateId": 16, + "states": [], + "drops": [ + 16 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 16 + }, + { + "id": 15, + "displayName": "Birch Planks", + "name": "birch_planks", + "hardness": 2, + "minStateId": 17, + "maxStateId": 17, + "states": [], + "drops": [ + 17 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 17 + }, + { + "id": 16, + "displayName": "Jungle Planks", + "name": "jungle_planks", + "hardness": 2, + "minStateId": 18, + "maxStateId": 18, + "states": [], + "drops": [ + 18 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 18 + }, + { + "id": 17, + "displayName": "Acacia Planks", + "name": "acacia_planks", + "hardness": 2, + "minStateId": 19, + "maxStateId": 19, + "states": [], + "drops": [ + 19 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 19 + }, + { + "id": 18, + "displayName": "Dark Oak Planks", + "name": "dark_oak_planks", + "hardness": 2, + "minStateId": 20, + "maxStateId": 20, + "states": [], + "drops": [ + 20 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 20 + }, + { + "id": 19, + "displayName": "Oak Sapling", + "name": "oak_sapling", + "hardness": 0, + "minStateId": 21, + "maxStateId": 22, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 23 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 21 + }, + { + "id": 20, + "displayName": "Spruce Sapling", + "name": "spruce_sapling", + "hardness": 0, + "minStateId": 23, + "maxStateId": 24, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 24 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 23 + }, + { + "id": 21, + "displayName": "Birch Sapling", + "name": "birch_sapling", + "hardness": 0, + "minStateId": 25, + "maxStateId": 26, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 25 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 25 + }, + { + "id": 22, + "displayName": "Jungle Sapling", + "name": "jungle_sapling", + "hardness": 0, + "minStateId": 27, + "maxStateId": 28, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 26 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 27 + }, + { + "id": 23, + "displayName": "Acacia Sapling", + "name": "acacia_sapling", + "hardness": 0, + "minStateId": 29, + "maxStateId": 30, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 27 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 29 + }, + { + "id": 24, + "displayName": "Dark Oak Sapling", + "name": "dark_oak_sapling", + "hardness": 0, + "minStateId": 31, + "maxStateId": 32, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 28 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 31 + }, + { + "id": 25, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "minStateId": 33, + "maxStateId": 33, + "states": [], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 33 + }, + { + "id": 26, + "displayName": "Water", + "name": "water", + "hardness": 100, + "minStateId": 34, + "maxStateId": 49, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 16 + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 2, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 34 + }, + { + "id": 27, + "displayName": "Lava", + "name": "lava", + "hardness": 100, + "minStateId": 50, + "maxStateId": 65, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 16 + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 50 + }, + { + "id": 28, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "minStateId": 66, + "maxStateId": 66, + "states": [], + "drops": [ + 30 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "material": "dirt", + "defaultState": 66 + }, + { + "id": 29, + "displayName": "Red Sand", + "name": "red_sand", + "hardness": 0.5, + "minStateId": 67, + "maxStateId": 67, + "states": [], + "drops": [ + 31 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "material": "dirt", + "defaultState": 67 + }, + { + "id": 30, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "minStateId": 68, + "maxStateId": 68, + "states": [], + "drops": [ + 32, + 646 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 68 + }, + { + "id": 31, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "minStateId": 69, + "maxStateId": 69, + "states": [], + "drops": [ + 33 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "597": true + }, + "defaultState": 69 + }, + { + "id": 32, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "minStateId": 70, + "maxStateId": 70, + "states": [], + "drops": [ + 34 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "593": true, + "597": true + }, + "defaultState": 70 + }, + { + "id": 33, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "minStateId": 71, + "maxStateId": 71, + "states": [], + "drops": [ + 35, + 579 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 71 + }, + { + "id": 34, + "displayName": "Nether Gold Ore", + "name": "nether_gold_ore", + "hardness": 3, + "minStateId": 72, + "maxStateId": 72, + "states": [], + "drops": [ + 36, + 747 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 72 + }, + { + "id": 35, + "displayName": "Oak Log", + "name": "oak_log", + "hardness": 2, + "minStateId": 73, + "maxStateId": 75, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 37 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 74 + }, + { + "id": 36, + "displayName": "Spruce Log", + "name": "spruce_log", + "hardness": 2, + "minStateId": 76, + "maxStateId": 78, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 38 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 77 + }, + { + "id": 37, + "displayName": "Birch Log", + "name": "birch_log", + "hardness": 2, + "minStateId": 79, + "maxStateId": 81, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 39 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 80 + }, + { + "id": 38, + "displayName": "Jungle Log", + "name": "jungle_log", + "hardness": 2, + "minStateId": 82, + "maxStateId": 84, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 40 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 83 + }, + { + "id": 39, + "displayName": "Acacia Log", + "name": "acacia_log", + "hardness": 2, + "minStateId": 85, + "maxStateId": 87, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 41 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 86 + }, + { + "id": 40, + "displayName": "Dark Oak Log", + "name": "dark_oak_log", + "hardness": 2, + "minStateId": 88, + "maxStateId": 90, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 42 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 89 + }, + { + "id": 41, + "displayName": "Stripped Spruce Log", + "name": "stripped_spruce_log", + "hardness": 2, + "minStateId": 91, + "maxStateId": 93, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 46 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 92 + }, + { + "id": 42, + "displayName": "Stripped Birch Log", + "name": "stripped_birch_log", + "hardness": 2, + "minStateId": 94, + "maxStateId": 96, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 47 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 95 + }, + { + "id": 43, + "displayName": "Stripped Jungle Log", + "name": "stripped_jungle_log", + "hardness": 2, + "minStateId": 97, + "maxStateId": 99, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 48 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 98 + }, + { + "id": 44, + "displayName": "Stripped Acacia Log", + "name": "stripped_acacia_log", + "hardness": 2, + "minStateId": 100, + "maxStateId": 102, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 49 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 101 + }, + { + "id": 45, + "displayName": "Stripped Dark Oak Log", + "name": "stripped_dark_oak_log", + "hardness": 2, + "minStateId": 103, + "maxStateId": 105, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 50 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 104 + }, + { + "id": 46, + "displayName": "Stripped Oak Log", + "name": "stripped_oak_log", + "hardness": 2, + "minStateId": 106, + "maxStateId": 108, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 45 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 107 + }, + { + "id": 47, + "displayName": "Oak Wood", + "name": "oak_wood", + "hardness": 2, + "minStateId": 109, + "maxStateId": 111, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 61 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 110 + }, + { + "id": 48, + "displayName": "Spruce Wood", + "name": "spruce_wood", + "hardness": 2, + "minStateId": 112, + "maxStateId": 114, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 62 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 113 + }, + { + "id": 49, + "displayName": "Birch Wood", + "name": "birch_wood", + "hardness": 2, + "minStateId": 115, + "maxStateId": 117, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 63 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 116 + }, + { + "id": 50, + "displayName": "Jungle Wood", + "name": "jungle_wood", + "hardness": 2, + "minStateId": 118, + "maxStateId": 120, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 64 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 119 + }, + { + "id": 51, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "hardness": 2, + "minStateId": 121, + "maxStateId": 123, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 65 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 122 + }, + { + "id": 52, + "displayName": "Dark Oak Wood", + "name": "dark_oak_wood", + "hardness": 2, + "minStateId": 124, + "maxStateId": 126, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 66 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 125 + }, + { + "id": 53, + "displayName": "Stripped Oak Wood", + "name": "stripped_oak_wood", + "hardness": 2, + "minStateId": 127, + "maxStateId": 129, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 53 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 128 + }, + { + "id": 54, + "displayName": "Stripped Spruce Wood", + "name": "stripped_spruce_wood", + "hardness": 2, + "minStateId": 130, + "maxStateId": 132, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 54 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 131 + }, + { + "id": 55, + "displayName": "Stripped Birch Wood", + "name": "stripped_birch_wood", + "hardness": 2, + "minStateId": 133, + "maxStateId": 135, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 55 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 134 + }, + { + "id": 56, + "displayName": "Stripped Jungle Wood", + "name": "stripped_jungle_wood", + "hardness": 2, + "minStateId": 136, + "maxStateId": 138, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 56 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 137 + }, + { + "id": 57, + "displayName": "Stripped Acacia Wood", + "name": "stripped_acacia_wood", + "hardness": 2, + "minStateId": 139, + "maxStateId": 141, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 57 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 140 + }, + { + "id": 58, + "displayName": "Stripped Dark Oak Wood", + "name": "stripped_dark_oak_wood", + "hardness": 2, + "minStateId": 142, + "maxStateId": 144, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 58 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 143 + }, + { + "id": 59, + "displayName": "Oak Leaves", + "name": "oak_leaves", + "hardness": 0.2, + "minStateId": 145, + "maxStateId": 158, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 734, + 69, + 23, + 599, + 576 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 158 + }, + { + "id": 60, + "displayName": "Spruce Leaves", + "name": "spruce_leaves", + "hardness": 0.2, + "minStateId": 159, + "maxStateId": 172, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 734, + 70, + 24, + 599 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 172 + }, + { + "id": 61, + "displayName": "Birch Leaves", + "name": "birch_leaves", + "hardness": 0.2, + "minStateId": 173, + "maxStateId": 186, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 734, + 71, + 25, + 599 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 186 + }, + { + "id": 62, + "displayName": "Jungle Leaves", + "name": "jungle_leaves", + "hardness": 0.2, + "minStateId": 187, + "maxStateId": 200, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 734, + 72, + 26, + 599 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 200 + }, + { + "id": 63, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "hardness": 0.2, + "minStateId": 201, + "maxStateId": 214, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 734, + 73, + 27, + 599 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 214 + }, + { + "id": 64, + "displayName": "Dark Oak Leaves", + "name": "dark_oak_leaves", + "hardness": 0.2, + "minStateId": 215, + "maxStateId": 228, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 734, + 74, + 28, + 599, + 576 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 228 + }, + { + "id": 65, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "minStateId": 229, + "maxStateId": 229, + "states": [], + "drops": [ + 75 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 229 + }, + { + "id": 66, + "displayName": "Wet Sponge", + "name": "wet_sponge", + "hardness": 0.6, + "minStateId": 230, + "maxStateId": 230, + "states": [], + "drops": [ + 76 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 230 + }, + { + "id": 67, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "minStateId": 231, + "maxStateId": 231, + "states": [], + "drops": [ + 77 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 231 + }, + { + "id": 68, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "hardness": 3, + "minStateId": 232, + "maxStateId": 232, + "states": [], + "drops": [ + 78, + 697 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "593": true, + "597": true + }, + "defaultState": 232 + }, + { + "id": 69, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "hardness": 3, + "minStateId": 233, + "maxStateId": 233, + "states": [], + "drops": [ + 79 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "593": true, + "597": true + }, + "defaultState": 233 + }, + { + "id": 70, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "minStateId": 234, + "maxStateId": 245, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "triggered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 80 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 235 + }, + { + "id": 71, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "minStateId": 246, + "maxStateId": 246, + "states": [], + "drops": [ + 81 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 246 + }, + { + "id": 72, + "displayName": "Chiseled Sandstone", + "name": "chiseled_sandstone", + "hardness": 0.8, + "minStateId": 247, + "maxStateId": 247, + "states": [], + "drops": [ + 82 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 247 + }, + { + "id": 73, + "displayName": "Cut Sandstone", + "name": "cut_sandstone", + "hardness": 0.8, + "minStateId": 248, + "maxStateId": 248, + "states": [], + "drops": [ + 83 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 248 + }, + { + "id": 74, + "displayName": "Note Block", + "name": "note_block", + "hardness": 0.8, + "minStateId": 249, + "maxStateId": 1048, + "states": [ + { + "name": "instrument", + "type": "enum", + "num_values": 16, + "values": [ + "harp", + "basedrum", + "snare", + "hat", + "bass", + "flute", + "bell", + "guitar", + "chime", + "xylophone", + "iron_xylophone", + "cow_bell", + "didgeridoo", + "bit", + "banjo", + "pling" + ] + }, + { + "name": "note", + "type": "int", + "num_values": 25 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 84 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 250 + }, + { + "id": 75, + "displayName": "White Bed", + "name": "white_bed", + "hardness": 0.2, + "minStateId": 1049, + "maxStateId": 1064, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 716 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1052 + }, + { + "id": 76, + "displayName": "Orange Bed", + "name": "orange_bed", + "hardness": 0.2, + "minStateId": 1065, + "maxStateId": 1080, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 717 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1068 + }, + { + "id": 77, + "displayName": "Magenta Bed", + "name": "magenta_bed", + "hardness": 0.2, + "minStateId": 1081, + "maxStateId": 1096, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 718 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1084 + }, + { + "id": 78, + "displayName": "Light Blue Bed", + "name": "light_blue_bed", + "hardness": 0.2, + "minStateId": 1097, + "maxStateId": 1112, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 719 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1100 + }, + { + "id": 79, + "displayName": "Yellow Bed", + "name": "yellow_bed", + "hardness": 0.2, + "minStateId": 1113, + "maxStateId": 1128, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 720 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1116 + }, + { + "id": 80, + "displayName": "Lime Bed", + "name": "lime_bed", + "hardness": 0.2, + "minStateId": 1129, + "maxStateId": 1144, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 721 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1132 + }, + { + "id": 81, + "displayName": "Pink Bed", + "name": "pink_bed", + "hardness": 0.2, + "minStateId": 1145, + "maxStateId": 1160, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 722 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1148 + }, + { + "id": 82, + "displayName": "Gray Bed", + "name": "gray_bed", + "hardness": 0.2, + "minStateId": 1161, + "maxStateId": 1176, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 723 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1164 + }, + { + "id": 83, + "displayName": "Light Gray Bed", + "name": "light_gray_bed", + "hardness": 0.2, + "minStateId": 1177, + "maxStateId": 1192, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 724 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1180 + }, + { + "id": 84, + "displayName": "Cyan Bed", + "name": "cyan_bed", + "hardness": 0.2, + "minStateId": 1193, + "maxStateId": 1208, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 725 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1196 + }, + { + "id": 85, + "displayName": "Purple Bed", + "name": "purple_bed", + "hardness": 0.2, + "minStateId": 1209, + "maxStateId": 1224, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 726 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1212 + }, + { + "id": 86, + "displayName": "Blue Bed", + "name": "blue_bed", + "hardness": 0.2, + "minStateId": 1225, + "maxStateId": 1240, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 727 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1228 + }, + { + "id": 87, + "displayName": "Brown Bed", + "name": "brown_bed", + "hardness": 0.2, + "minStateId": 1241, + "maxStateId": 1256, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 728 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1244 + }, + { + "id": 88, + "displayName": "Green Bed", + "name": "green_bed", + "hardness": 0.2, + "minStateId": 1257, + "maxStateId": 1272, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 729 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1260 + }, + { + "id": 89, + "displayName": "Red Bed", + "name": "red_bed", + "hardness": 0.2, + "minStateId": 1273, + "maxStateId": 1288, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 730 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1276 + }, + { + "id": 90, + "displayName": "Black Bed", + "name": "black_bed", + "hardness": 0.2, + "minStateId": 1289, + "maxStateId": 1304, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 731 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1292 + }, + { + "id": 91, + "displayName": "Powered Rail", + "name": "powered_rail", + "hardness": 0.7, + "minStateId": 1305, + "maxStateId": 1316, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 85 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 1311 + }, + { + "id": 92, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "minStateId": 1317, + "maxStateId": 1328, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 86 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 1323 + }, + { + "id": 93, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "hardness": 1.5, + "minStateId": 1329, + "maxStateId": 1340, + "states": [ + { + "name": "extended", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 87 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1335 + }, + { + "id": 94, + "displayName": "Cobweb", + "name": "cobweb", + "hardness": 4, + "minStateId": 1341, + "maxStateId": 1341, + "states": [], + "drops": [ + 734, + 88, + 610 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "web", + "harvestTools": { + "586": true, + "587": true, + "591": true, + "595": true, + "602": true, + "734": true + }, + "defaultState": 1341 + }, + { + "id": 95, + "displayName": "Grass", + "name": "grass", + "hardness": 0, + "minStateId": 1342, + "maxStateId": 1342, + "states": [], + "drops": [ + 734, + 89, + 619 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1342 + }, + { + "id": 96, + "displayName": "Fern", + "name": "fern", + "hardness": 0, + "minStateId": 1343, + "maxStateId": 1343, + "states": [], + "drops": [ + 734, + 90, + 619 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1343 + }, + { + "id": 97, + "displayName": "Dead Bush", + "name": "dead_bush", + "hardness": 0, + "minStateId": 1344, + "maxStateId": 1344, + "states": [], + "drops": [ + 734, + 91, + 599 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1344 + }, + { + "id": 98, + "displayName": "Seagrass", + "name": "seagrass", + "hardness": 0, + "minStateId": 1345, + "maxStateId": 1345, + "states": [], + "drops": [ + 92, + 734 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1345 + }, + { + "id": 99, + "displayName": "Tall Seagrass", + "name": "tall_seagrass", + "hardness": 0, + "minStateId": 1346, + "maxStateId": 1347, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 92, + 734 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1347 + }, + { + "id": 100, + "displayName": "Piston", + "name": "piston", + "hardness": 1.5, + "minStateId": 1348, + "maxStateId": 1359, + "states": [ + { + "name": "extended", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 94 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1354 + }, + { + "id": 101, + "displayName": "Piston Head", + "name": "piston_head", + "hardness": 1.5, + "minStateId": 1360, + "maxStateId": 1383, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "short", + "type": "bool", + "num_values": 2 + }, + { + "name": "type", + "type": "enum", + "num_values": 2, + "values": [ + "normal", + "sticky" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1362 + }, + { + "id": 102, + "displayName": "White Wool", + "name": "white_wool", + "hardness": 0.8, + "minStateId": 1384, + "maxStateId": 1384, + "states": [], + "drops": [ + 95 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1384 + }, + { + "id": 103, + "displayName": "Orange Wool", + "name": "orange_wool", + "hardness": 0.8, + "minStateId": 1385, + "maxStateId": 1385, + "states": [], + "drops": [ + 96 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1385 + }, + { + "id": 104, + "displayName": "Magenta Wool", + "name": "magenta_wool", + "hardness": 0.8, + "minStateId": 1386, + "maxStateId": 1386, + "states": [], + "drops": [ + 97 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1386 + }, + { + "id": 105, + "displayName": "Light Blue Wool", + "name": "light_blue_wool", + "hardness": 0.8, + "minStateId": 1387, + "maxStateId": 1387, + "states": [], + "drops": [ + 98 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1387 + }, + { + "id": 106, + "displayName": "Yellow Wool", + "name": "yellow_wool", + "hardness": 0.8, + "minStateId": 1388, + "maxStateId": 1388, + "states": [], + "drops": [ + 99 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1388 + }, + { + "id": 107, + "displayName": "Lime Wool", + "name": "lime_wool", + "hardness": 0.8, + "minStateId": 1389, + "maxStateId": 1389, + "states": [], + "drops": [ + 100 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1389 + }, + { + "id": 108, + "displayName": "Pink Wool", + "name": "pink_wool", + "hardness": 0.8, + "minStateId": 1390, + "maxStateId": 1390, + "states": [], + "drops": [ + 101 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1390 + }, + { + "id": 109, + "displayName": "Gray Wool", + "name": "gray_wool", + "hardness": 0.8, + "minStateId": 1391, + "maxStateId": 1391, + "states": [], + "drops": [ + 102 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1391 + }, + { + "id": 110, + "displayName": "Light Gray Wool", + "name": "light_gray_wool", + "hardness": 0.8, + "minStateId": 1392, + "maxStateId": 1392, + "states": [], + "drops": [ + 103 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1392 + }, + { + "id": 111, + "displayName": "Cyan Wool", + "name": "cyan_wool", + "hardness": 0.8, + "minStateId": 1393, + "maxStateId": 1393, + "states": [], + "drops": [ + 104 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1393 + }, + { + "id": 112, + "displayName": "Purple Wool", + "name": "purple_wool", + "hardness": 0.8, + "minStateId": 1394, + "maxStateId": 1394, + "states": [], + "drops": [ + 105 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1394 + }, + { + "id": 113, + "displayName": "Blue Wool", + "name": "blue_wool", + "hardness": 0.8, + "minStateId": 1395, + "maxStateId": 1395, + "states": [], + "drops": [ + 106 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1395 + }, + { + "id": 114, + "displayName": "Brown Wool", + "name": "brown_wool", + "hardness": 0.8, + "minStateId": 1396, + "maxStateId": 1396, + "states": [], + "drops": [ + 107 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1396 + }, + { + "id": 115, + "displayName": "Green Wool", + "name": "green_wool", + "hardness": 0.8, + "minStateId": 1397, + "maxStateId": 1397, + "states": [], + "drops": [ + 108 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1397 + }, + { + "id": 116, + "displayName": "Red Wool", + "name": "red_wool", + "hardness": 0.8, + "minStateId": 1398, + "maxStateId": 1398, + "states": [], + "drops": [ + 109 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1398 + }, + { + "id": 117, + "displayName": "Black Wool", + "name": "black_wool", + "hardness": 0.8, + "minStateId": 1399, + "maxStateId": 1399, + "states": [], + "drops": [ + 110 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1399 + }, + { + "id": 118, + "displayName": "Moving Piston", + "name": "moving_piston", + "hardness": null, + "minStateId": 1400, + "maxStateId": 1411, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 2, + "values": [ + "normal", + "sticky" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1400 + }, + { + "id": 119, + "displayName": "Dandelion", + "name": "dandelion", + "hardness": 0, + "minStateId": 1412, + "maxStateId": 1412, + "states": [], + "drops": [ + 111 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1412 + }, + { + "id": 120, + "displayName": "Poppy", + "name": "poppy", + "hardness": 0, + "minStateId": 1413, + "maxStateId": 1413, + "states": [], + "drops": [ + 112 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1413 + }, + { + "id": 121, + "displayName": "Blue Orchid", + "name": "blue_orchid", + "hardness": 0, + "minStateId": 1414, + "maxStateId": 1414, + "states": [], + "drops": [ + 113 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1414 + }, + { + "id": 122, + "displayName": "Allium", + "name": "allium", + "hardness": 0, + "minStateId": 1415, + "maxStateId": 1415, + "states": [], + "drops": [ + 114 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1415 + }, + { + "id": 123, + "displayName": "Azure Bluet", + "name": "azure_bluet", + "hardness": 0, + "minStateId": 1416, + "maxStateId": 1416, + "states": [], + "drops": [ + 115 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1416 + }, + { + "id": 124, + "displayName": "Red Tulip", + "name": "red_tulip", + "hardness": 0, + "minStateId": 1417, + "maxStateId": 1417, + "states": [], + "drops": [ + 116 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1417 + }, + { + "id": 125, + "displayName": "Orange Tulip", + "name": "orange_tulip", + "hardness": 0, + "minStateId": 1418, + "maxStateId": 1418, + "states": [], + "drops": [ + 117 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1418 + }, + { + "id": 126, + "displayName": "White Tulip", + "name": "white_tulip", + "hardness": 0, + "minStateId": 1419, + "maxStateId": 1419, + "states": [], + "drops": [ + 118 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1419 + }, + { + "id": 127, + "displayName": "Pink Tulip", + "name": "pink_tulip", + "hardness": 0, + "minStateId": 1420, + "maxStateId": 1420, + "states": [], + "drops": [ + 119 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1420 + }, + { + "id": 128, + "displayName": "Oxeye Daisy", + "name": "oxeye_daisy", + "hardness": 0, + "minStateId": 1421, + "maxStateId": 1421, + "states": [], + "drops": [ + 120 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1421 + }, + { + "id": 129, + "displayName": "Cornflower", + "name": "cornflower", + "hardness": 0, + "minStateId": 1422, + "maxStateId": 1422, + "states": [], + "drops": [ + 121 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1422 + }, + { + "id": 130, + "displayName": "Wither Rose", + "name": "wither_rose", + "hardness": 0, + "minStateId": 1423, + "maxStateId": 1423, + "states": [], + "drops": [ + 123 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1423 + }, + { + "id": 131, + "displayName": "Lily of the Valley", + "name": "lily_of_the_valley", + "hardness": 0, + "minStateId": 1424, + "maxStateId": 1424, + "states": [], + "drops": [ + 122 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1424 + }, + { + "id": 132, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "minStateId": 1425, + "maxStateId": 1425, + "states": [], + "drops": [ + 124 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 1, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1425 + }, + { + "id": 133, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "minStateId": 1426, + "maxStateId": 1426, + "states": [], + "drops": [ + 125 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 1, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1426 + }, + { + "id": 134, + "displayName": "Block of Gold", + "name": "gold_block", + "hardness": 3, + "minStateId": 1427, + "maxStateId": 1427, + "states": [], + "drops": [ + 136 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "597": true + }, + "defaultState": 1427 + }, + { + "id": 135, + "displayName": "Block of Iron", + "name": "iron_block", + "hardness": 5, + "minStateId": 1428, + "maxStateId": 1428, + "states": [], + "drops": [ + 137 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "593": true, + "597": true + }, + "defaultState": 1428 + }, + { + "id": 136, + "displayName": "Bricks", + "name": "bricks", + "hardness": 2, + "minStateId": 1429, + "maxStateId": 1429, + "states": [], + "drops": [ + 166 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 1429 + }, + { + "id": 137, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "minStateId": 1430, + "maxStateId": 1431, + "states": [ + { + "name": "unstable", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 167 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1431 + }, + { + "id": 138, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "minStateId": 1432, + "maxStateId": 1432, + "states": [], + "drops": [ + 168, + 678 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 1432 + }, + { + "id": 139, + "displayName": "Mossy Cobblestone", + "name": "mossy_cobblestone", + "hardness": 2, + "minStateId": 1433, + "maxStateId": 1433, + "states": [], + "drops": [ + 169 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 1433 + }, + { + "id": 140, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "minStateId": 1434, + "maxStateId": 1434, + "states": [], + "drops": [ + 170 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "597": true + }, + "defaultState": 1434 + }, + { + "id": 141, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "minStateId": 1435, + "maxStateId": 1435, + "states": [], + "drops": [ + 171 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 14, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1435 + }, + { + "id": 142, + "displayName": "Wall Torch", + "name": "wall_torch", + "hardness": 0, + "minStateId": 1436, + "maxStateId": 1439, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 14, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1436 + }, + { + "id": 143, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "minStateId": 1440, + "maxStateId": 1951, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 1471 + }, + { + "id": 144, + "displayName": "Soul Fire", + "name": "soul_fire", + "hardness": 0, + "minStateId": 1952, + "maxStateId": 1952, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "stackSize": 0, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 1952 + }, + { + "id": 145, + "displayName": "Spawner", + "name": "spawner", + "hardness": 5, + "minStateId": 1953, + "maxStateId": 1953, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 1953 + }, + { + "id": 146, + "displayName": "Oak Stairs", + "name": "oak_stairs", + "hardness": 0, + "minStateId": 1954, + "maxStateId": 2033, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 179 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 1965 + }, + { + "id": 147, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "minStateId": 2034, + "maxStateId": 2057, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "single", + "left", + "right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 180 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 2035 + }, + { + "id": 148, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "hardness": 0, + "minStateId": 2058, + "maxStateId": 3353, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "power", + "type": "int", + "num_values": 16 + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + } + ], + "drops": [ + 665 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3218 + }, + { + "id": 149, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "minStateId": 3354, + "maxStateId": 3354, + "states": [], + "drops": [ + 181, + 581 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "597": true + }, + "defaultState": 3354 + }, + { + "id": 150, + "displayName": "Block of Diamond", + "name": "diamond_block", + "hardness": 5, + "minStateId": 3355, + "maxStateId": 3355, + "states": [], + "drops": [ + 182 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "597": true + }, + "defaultState": 3355 + }, + { + "id": 151, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "minStateId": 3356, + "maxStateId": 3356, + "states": [], + "drops": [ + 183 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3356 + }, + { + "id": 152, + "displayName": "Wheat Crops", + "name": "wheat", + "hardness": 0, + "minStateId": 3357, + "maxStateId": 3364, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 620, + 619 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 3357 + }, + { + "id": 153, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "minStateId": 3365, + "maxStateId": 3372, + "states": [ + { + "name": "moisture", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 9 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3365 + }, + { + "id": 154, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "minStateId": 3373, + "maxStateId": 3380, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 185 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 13, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 3374 + }, + { + "id": 155, + "displayName": "Oak Sign", + "name": "oak_sign", + "hardness": 1, + "minStateId": 3381, + "maxStateId": 3412, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 652 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3382 + }, + { + "id": 156, + "displayName": "Spruce Sign", + "name": "spruce_sign", + "hardness": 1, + "minStateId": 3413, + "maxStateId": 3444, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 653 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3414 + }, + { + "id": 157, + "displayName": "Birch Sign", + "name": "birch_sign", + "hardness": 1, + "minStateId": 3445, + "maxStateId": 3476, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 654 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3446 + }, + { + "id": 158, + "displayName": "Acacia Sign", + "name": "acacia_sign", + "hardness": 1, + "minStateId": 3477, + "maxStateId": 3508, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 656 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3478 + }, + { + "id": 159, + "displayName": "Jungle Sign", + "name": "jungle_sign", + "hardness": 1, + "minStateId": 3509, + "maxStateId": 3540, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 655 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3510 + }, + { + "id": 160, + "displayName": "Dark Oak Sign", + "name": "dark_oak_sign", + "hardness": 1, + "minStateId": 3541, + "maxStateId": 3572, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 657 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3542 + }, + { + "id": 161, + "displayName": "Oak Door", + "name": "oak_door", + "hardness": 3, + "minStateId": 3573, + "maxStateId": 3636, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 558 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3584 + }, + { + "id": 162, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "minStateId": 3637, + "maxStateId": 3644, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 186 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3638 + }, + { + "id": 163, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "minStateId": 3645, + "maxStateId": 3654, + "states": [ + { + "name": "shape", + "type": "enum", + "num_values": 10, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south", + "south_east", + "south_west", + "north_west", + "north_east" + ] + } + ], + "drops": [ + 187 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 3645 + }, + { + "id": 164, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "hardness": 0, + "minStateId": 3655, + "maxStateId": 3734, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 188 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 3666 + }, + { + "id": 165, + "displayName": "Oak Wall Sign", + "name": "oak_wall_sign", + "hardness": 1, + "minStateId": 3735, + "maxStateId": 3742, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3736 + }, + { + "id": 166, + "displayName": "Spruce Wall Sign", + "name": "spruce_wall_sign", + "hardness": 1, + "minStateId": 3743, + "maxStateId": 3750, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3744 + }, + { + "id": 167, + "displayName": "Birch Wall Sign", + "name": "birch_wall_sign", + "hardness": 1, + "minStateId": 3751, + "maxStateId": 3758, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3752 + }, + { + "id": 168, + "displayName": "Acacia Wall Sign", + "name": "acacia_wall_sign", + "hardness": 1, + "minStateId": 3759, + "maxStateId": 3766, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3760 + }, + { + "id": 169, + "displayName": "Jungle Wall Sign", + "name": "jungle_wall_sign", + "hardness": 1, + "minStateId": 3767, + "maxStateId": 3774, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3768 + }, + { + "id": 170, + "displayName": "Dark Oak Wall Sign", + "name": "dark_oak_wall_sign", + "hardness": 1, + "minStateId": 3775, + "maxStateId": 3782, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3776 + }, + { + "id": 171, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "minStateId": 3783, + "maxStateId": 3806, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 189 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3792 + }, + { + "id": 172, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "minStateId": 3807, + "maxStateId": 3808, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 190 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 3808 + }, + { + "id": 173, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "minStateId": 3809, + "maxStateId": 3872, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 557 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 3820 + }, + { + "id": 174, + "displayName": "Oak Pressure Plate", + "name": "oak_pressure_plate", + "hardness": 0.5, + "minStateId": 3873, + "maxStateId": 3874, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 191 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3874 + }, + { + "id": 175, + "displayName": "Spruce Pressure Plate", + "name": "spruce_pressure_plate", + "hardness": 0.5, + "minStateId": 3875, + "maxStateId": 3876, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 192 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3876 + }, + { + "id": 176, + "displayName": "Birch Pressure Plate", + "name": "birch_pressure_plate", + "hardness": 0.5, + "minStateId": 3877, + "maxStateId": 3878, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 193 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3878 + }, + { + "id": 177, + "displayName": "Jungle Pressure Plate", + "name": "jungle_pressure_plate", + "hardness": 0.5, + "minStateId": 3879, + "maxStateId": 3880, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 194 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3880 + }, + { + "id": 178, + "displayName": "Acacia Pressure Plate", + "name": "acacia_pressure_plate", + "hardness": 0.5, + "minStateId": 3881, + "maxStateId": 3882, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 195 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3882 + }, + { + "id": 179, + "displayName": "Dark Oak Pressure Plate", + "name": "dark_oak_pressure_plate", + "hardness": 0.5, + "minStateId": 3883, + "maxStateId": 3884, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 196 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3884 + }, + { + "id": 180, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "minStateId": 3885, + "maxStateId": 3886, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 200, + 665 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 9, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "597": true + }, + "defaultState": 3886 + }, + { + "id": 181, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "hardness": 0, + "minStateId": 3887, + "maxStateId": 3888, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 201 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 7, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3887 + }, + { + "id": 182, + "displayName": "Redstone Wall Torch", + "name": "redstone_wall_torch", + "hardness": 0, + "minStateId": 3889, + "maxStateId": 3896, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 7, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3889 + }, + { + "id": 183, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "minStateId": 3897, + "maxStateId": 3920, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 304 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 3906 + }, + { + "id": 184, + "displayName": "Snow", + "name": "snow", + "hardness": 0.1, + "minStateId": 3921, + "maxStateId": 3928, + "states": [ + { + "name": "layers", + "type": "enum", + "num_values": 8, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8" + ] + } + ], + "drops": [ + 202, + 666, + 204 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "harvestTools": { + "572": true, + "588": true, + "592": true, + "596": true, + "603": true + }, + "defaultState": 3921 + }, + { + "id": 185, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "minStateId": 3929, + "maxStateId": 3929, + "states": [], + "drops": [ + 203 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 3929 + }, + { + "id": 186, + "displayName": "Snow Block", + "name": "snow_block", + "hardness": 0.2, + "minStateId": 3930, + "maxStateId": 3930, + "states": [], + "drops": [ + 204, + 666 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "harvestTools": { + "572": true, + "588": true, + "592": true, + "596": true, + "603": true + }, + "defaultState": 3930 + }, + { + "id": 187, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "minStateId": 3931, + "maxStateId": 3946, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 205 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3931 + }, + { + "id": 188, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "minStateId": 3947, + "maxStateId": 3947, + "states": [], + "drops": [ + 206, + 675 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3947 + }, + { + "id": 189, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "hardness": 0, + "minStateId": 3948, + "maxStateId": 3963, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 133 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 3948 + }, + { + "id": 190, + "displayName": "Jukebox", + "name": "jukebox", + "hardness": 2, + "minStateId": 3964, + "maxStateId": 3965, + "states": [ + { + "name": "has_record", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 207 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3965 + }, + { + "id": 191, + "displayName": "Oak Fence", + "name": "oak_fence", + "hardness": 2, + "minStateId": 3966, + "maxStateId": 3997, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 208 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3997 + }, + { + "id": 192, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "minStateId": 3998, + "maxStateId": 3998, + "states": [], + "drops": [ + 216 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3998 + }, + { + "id": 193, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "minStateId": 3999, + "maxStateId": 3999, + "states": [], + "drops": [ + 218 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 3999 + }, + { + "id": 194, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "minStateId": 4000, + "maxStateId": 4000, + "states": [], + "drops": [ + 219 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 4000 + }, + { + "id": 195, + "displayName": "Soul Soil", + "name": "soul_soil", + "hardness": 0.5, + "minStateId": 4001, + "maxStateId": 4001, + "states": [], + "drops": [ + 220 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "dirt", + "defaultState": 4001 + }, + { + "id": 196, + "displayName": "Basalt", + "name": "basalt", + "hardness": 1.25, + "minStateId": 4002, + "maxStateId": 4004, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 221 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4003 + }, + { + "id": 197, + "displayName": "Polished Basalt", + "name": "polished_basalt", + "hardness": 1.25, + "minStateId": 4005, + "maxStateId": 4007, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 222 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4006 + }, + { + "id": 198, + "displayName": "Soul Torch", + "name": "soul_torch", + "hardness": 0, + "minStateId": 4008, + "maxStateId": 4008, + "states": [], + "drops": [ + 223 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 4008 + }, + { + "id": 199, + "displayName": "Soul Wall Torch", + "name": "soul_wall_torch", + "hardness": 0, + "minStateId": 4009, + "maxStateId": 4012, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 4009 + }, + { + "id": 200, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "minStateId": 4013, + "maxStateId": 4013, + "states": [], + "drops": [ + 224, + 686 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4013 + }, + { + "id": 201, + "displayName": "Nether Portal", + "name": "nether_portal", + "hardness": null, + "minStateId": 4014, + "maxStateId": 4015, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 2, + "values": [ + "x", + "z" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 11, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 4014 + }, + { + "id": 202, + "displayName": "Carved Pumpkin", + "name": "carved_pumpkin", + "hardness": 1, + "minStateId": 4016, + "maxStateId": 4019, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 217 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4016 + }, + { + "id": 203, + "displayName": "Jack o'Lantern", + "name": "jack_o_lantern", + "hardness": 1, + "minStateId": 4020, + "maxStateId": 4023, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 225 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4020 + }, + { + "id": 204, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "minStateId": 4024, + "maxStateId": 4030, + "states": [ + { + "name": "bites", + "type": "int", + "num_values": 7 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 4024 + }, + { + "id": 205, + "displayName": "Redstone Repeater", + "name": "repeater", + "hardness": 0, + "minStateId": 4031, + "maxStateId": 4094, + "states": [ + { + "name": "delay", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "locked", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 566 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4034 + }, + { + "id": 206, + "displayName": "White Stained Glass", + "name": "white_stained_glass", + "hardness": 0.3, + "minStateId": 4095, + "maxStateId": 4095, + "states": [], + "drops": [ + 379 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4095 + }, + { + "id": 207, + "displayName": "Orange Stained Glass", + "name": "orange_stained_glass", + "hardness": 0.3, + "minStateId": 4096, + "maxStateId": 4096, + "states": [], + "drops": [ + 380 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4096 + }, + { + "id": 208, + "displayName": "Magenta Stained Glass", + "name": "magenta_stained_glass", + "hardness": 0.3, + "minStateId": 4097, + "maxStateId": 4097, + "states": [], + "drops": [ + 381 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4097 + }, + { + "id": 209, + "displayName": "Light Blue Stained Glass", + "name": "light_blue_stained_glass", + "hardness": 0.3, + "minStateId": 4098, + "maxStateId": 4098, + "states": [], + "drops": [ + 382 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4098 + }, + { + "id": 210, + "displayName": "Yellow Stained Glass", + "name": "yellow_stained_glass", + "hardness": 0.3, + "minStateId": 4099, + "maxStateId": 4099, + "states": [], + "drops": [ + 383 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4099 + }, + { + "id": 211, + "displayName": "Lime Stained Glass", + "name": "lime_stained_glass", + "hardness": 0.3, + "minStateId": 4100, + "maxStateId": 4100, + "states": [], + "drops": [ + 384 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4100 + }, + { + "id": 212, + "displayName": "Pink Stained Glass", + "name": "pink_stained_glass", + "hardness": 0.3, + "minStateId": 4101, + "maxStateId": 4101, + "states": [], + "drops": [ + 385 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4101 + }, + { + "id": 213, + "displayName": "Gray Stained Glass", + "name": "gray_stained_glass", + "hardness": 0.3, + "minStateId": 4102, + "maxStateId": 4102, + "states": [], + "drops": [ + 386 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4102 + }, + { + "id": 214, + "displayName": "Light Gray Stained Glass", + "name": "light_gray_stained_glass", + "hardness": 0.3, + "minStateId": 4103, + "maxStateId": 4103, + "states": [], + "drops": [ + 387 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4103 + }, + { + "id": 215, + "displayName": "Cyan Stained Glass", + "name": "cyan_stained_glass", + "hardness": 0.3, + "minStateId": 4104, + "maxStateId": 4104, + "states": [], + "drops": [ + 388 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4104 + }, + { + "id": 216, + "displayName": "Purple Stained Glass", + "name": "purple_stained_glass", + "hardness": 0.3, + "minStateId": 4105, + "maxStateId": 4105, + "states": [], + "drops": [ + 389 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4105 + }, + { + "id": 217, + "displayName": "Blue Stained Glass", + "name": "blue_stained_glass", + "hardness": 0.3, + "minStateId": 4106, + "maxStateId": 4106, + "states": [], + "drops": [ + 390 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4106 + }, + { + "id": 218, + "displayName": "Brown Stained Glass", + "name": "brown_stained_glass", + "hardness": 0.3, + "minStateId": 4107, + "maxStateId": 4107, + "states": [], + "drops": [ + 391 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4107 + }, + { + "id": 219, + "displayName": "Green Stained Glass", + "name": "green_stained_glass", + "hardness": 0.3, + "minStateId": 4108, + "maxStateId": 4108, + "states": [], + "drops": [ + 392 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4108 + }, + { + "id": 220, + "displayName": "Red Stained Glass", + "name": "red_stained_glass", + "hardness": 0.3, + "minStateId": 4109, + "maxStateId": 4109, + "states": [], + "drops": [ + 393 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4109 + }, + { + "id": 221, + "displayName": "Black Stained Glass", + "name": "black_stained_glass", + "hardness": 0.3, + "minStateId": 4110, + "maxStateId": 4110, + "states": [], + "drops": [ + 394 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4110 + }, + { + "id": 222, + "displayName": "Oak Trapdoor", + "name": "oak_trapdoor", + "hardness": 3, + "minStateId": 4111, + "maxStateId": 4174, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 226 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4126 + }, + { + "id": 223, + "displayName": "Spruce Trapdoor", + "name": "spruce_trapdoor", + "hardness": 3, + "minStateId": 4175, + "maxStateId": 4238, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 227 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4190 + }, + { + "id": 224, + "displayName": "Birch Trapdoor", + "name": "birch_trapdoor", + "hardness": 3, + "minStateId": 4239, + "maxStateId": 4302, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 228 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4254 + }, + { + "id": 225, + "displayName": "Jungle Trapdoor", + "name": "jungle_trapdoor", + "hardness": 3, + "minStateId": 4303, + "maxStateId": 4366, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 229 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4318 + }, + { + "id": 226, + "displayName": "Acacia Trapdoor", + "name": "acacia_trapdoor", + "hardness": 3, + "minStateId": 4367, + "maxStateId": 4430, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 230 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4382 + }, + { + "id": 227, + "displayName": "Dark Oak Trapdoor", + "name": "dark_oak_trapdoor", + "hardness": 3, + "minStateId": 4431, + "maxStateId": 4494, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 231 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4446 + }, + { + "id": 228, + "displayName": "Stone Bricks", + "name": "stone_bricks", + "hardness": 1.5, + "minStateId": 4495, + "maxStateId": 4495, + "states": [], + "drops": [ + 240 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4495 + }, + { + "id": 229, + "displayName": "Mossy Stone Bricks", + "name": "mossy_stone_bricks", + "hardness": 1.5, + "minStateId": 4496, + "maxStateId": 4496, + "states": [], + "drops": [ + 241 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4496 + }, + { + "id": 230, + "displayName": "Cracked Stone Bricks", + "name": "cracked_stone_bricks", + "hardness": 1.5, + "minStateId": 4497, + "maxStateId": 4497, + "states": [], + "drops": [ + 242 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4497 + }, + { + "id": 231, + "displayName": "Chiseled Stone Bricks", + "name": "chiseled_stone_bricks", + "hardness": 1.5, + "minStateId": 4498, + "maxStateId": 4498, + "states": [], + "drops": [ + 243 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4498 + }, + { + "id": 232, + "displayName": "Infested Stone", + "name": "infested_stone", + "hardness": 0, + "minStateId": 4499, + "maxStateId": 4499, + "states": [], + "drops": [ + 1 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4499 + }, + { + "id": 233, + "displayName": "Infested Cobblestone", + "name": "infested_cobblestone", + "hardness": 0, + "minStateId": 4500, + "maxStateId": 4500, + "states": [], + "drops": [ + 14 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4500 + }, + { + "id": 234, + "displayName": "Infested Stone Bricks", + "name": "infested_stone_bricks", + "hardness": 0, + "minStateId": 4501, + "maxStateId": 4501, + "states": [], + "drops": [ + 240 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4501 + }, + { + "id": 235, + "displayName": "Infested Mossy Stone Bricks", + "name": "infested_mossy_stone_bricks", + "hardness": 0, + "minStateId": 4502, + "maxStateId": 4502, + "states": [], + "drops": [ + 241 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4502 + }, + { + "id": 236, + "displayName": "Infested Cracked Stone Bricks", + "name": "infested_cracked_stone_bricks", + "hardness": 0, + "minStateId": 4503, + "maxStateId": 4503, + "states": [], + "drops": [ + 242 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4503 + }, + { + "id": 237, + "displayName": "Infested Chiseled Stone Bricks", + "name": "infested_chiseled_stone_bricks", + "hardness": 0, + "minStateId": 4504, + "maxStateId": 4504, + "states": [], + "drops": [ + 243 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4504 + }, + { + "id": 238, + "displayName": "Brown Mushroom Block", + "name": "brown_mushroom_block", + "hardness": 0.2, + "minStateId": 4505, + "maxStateId": 4568, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 244, + 124 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4505 + }, + { + "id": 239, + "displayName": "Red Mushroom Block", + "name": "red_mushroom_block", + "hardness": 0.2, + "minStateId": 4569, + "maxStateId": 4632, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 245, + 125 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4569 + }, + { + "id": 240, + "displayName": "Mushroom Stem", + "name": "mushroom_stem", + "hardness": 0.2, + "minStateId": 4633, + "maxStateId": 4696, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 246 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4633 + }, + { + "id": 241, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "minStateId": 4697, + "maxStateId": 4728, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 247 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4728 + }, + { + "id": 242, + "displayName": "Chain", + "name": "chain", + "hardness": 5, + "minStateId": 4729, + "maxStateId": 4730, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 248 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4730 + }, + { + "id": 243, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "minStateId": 4731, + "maxStateId": 4762, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 249 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4762 + }, + { + "id": 244, + "displayName": "Melon", + "name": "melon", + "hardness": 1, + "minStateId": 4763, + "maxStateId": 4763, + "states": [], + "drops": [ + 250, + 735 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4763 + }, + { + "id": 245, + "displayName": "Attached Pumpkin Stem", + "name": "attached_pumpkin_stem", + "hardness": 0, + "minStateId": 4764, + "maxStateId": 4767, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 737 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4764 + }, + { + "id": 246, + "displayName": "Attached Melon Stem", + "name": "attached_melon_stem", + "hardness": 0, + "minStateId": 4768, + "maxStateId": 4771, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 738 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4768 + }, + { + "id": 247, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "minStateId": 4772, + "maxStateId": 4779, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 737 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4772 + }, + { + "id": 248, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "minStateId": 4780, + "maxStateId": 4787, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 738 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4780 + }, + { + "id": 249, + "displayName": "Vines", + "name": "vine", + "hardness": 0.2, + "minStateId": 4788, + "maxStateId": 4819, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 251, + 734 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4819 + }, + { + "id": 250, + "displayName": "Oak Fence Gate", + "name": "oak_fence_gate", + "hardness": 2, + "minStateId": 4820, + "maxStateId": 4851, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 252 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4827 + }, + { + "id": 251, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 0, + "minStateId": 4852, + "maxStateId": 4931, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 260 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4863 + }, + { + "id": 252, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 0, + "minStateId": 4932, + "maxStateId": 5011, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 261 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 4943 + }, + { + "id": 253, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "minStateId": 5012, + "maxStateId": 5013, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 262, + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 5013 + }, + { + "id": 254, + "displayName": "Lily Pad", + "name": "lily_pad", + "hardness": 0, + "minStateId": 5014, + "maxStateId": 5014, + "states": [], + "drops": [ + 263 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 5014 + }, + { + "id": 255, + "displayName": "Nether Bricks", + "name": "nether_bricks", + "hardness": 2, + "minStateId": 5015, + "maxStateId": 5015, + "states": [], + "drops": [ + 264 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 5015 + }, + { + "id": 256, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "minStateId": 5016, + "maxStateId": 5047, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 267 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 5047 + }, + { + "id": 257, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 0, + "minStateId": 5048, + "maxStateId": 5127, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 268 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 5059 + }, + { + "id": 258, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "minStateId": 5128, + "maxStateId": 5131, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 748 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 5128 + }, + { + "id": 259, + "displayName": "Enchanting Table", + "name": "enchanting_table", + "hardness": 5, + "minStateId": 5132, + "maxStateId": 5132, + "states": [], + "drops": [ + 269 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 5132 + }, + { + "id": 260, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "minStateId": 5133, + "maxStateId": 5140, + "states": [ + { + "name": "has_bottle_0", + "type": "bool", + "num_values": 2 + }, + { + "name": "has_bottle_1", + "type": "bool", + "num_values": 2 + }, + { + "name": "has_bottle_2", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 755 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 1, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 5140 + }, + { + "id": 261, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "minStateId": 5141, + "maxStateId": 5144, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 756 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 5141 + }, + { + "id": 262, + "displayName": "End Portal", + "name": "end_portal", + "hardness": null, + "minStateId": 5145, + "maxStateId": 5145, + "states": [], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 5145 + }, + { + "id": 263, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "hardness": null, + "minStateId": 5146, + "maxStateId": 5153, + "states": [ + { + "name": "eye", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 1, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5150 + }, + { + "id": 264, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "minStateId": 5154, + "maxStateId": 5154, + "states": [], + "drops": [ + 271 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 5154 + }, + { + "id": 265, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "hardness": 3, + "minStateId": 5155, + "maxStateId": 5155, + "states": [], + "drops": [ + 273 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5155 + }, + { + "id": 266, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "hardness": 0.3, + "minStateId": 5156, + "maxStateId": 5157, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 274 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5157 + }, + { + "id": 267, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "minStateId": 5158, + "maxStateId": 5169, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 3 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 696 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 5158 + }, + { + "id": 268, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0, + "minStateId": 5170, + "maxStateId": 5249, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 275 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 5181 + }, + { + "id": 269, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "minStateId": 5250, + "maxStateId": 5250, + "states": [], + "drops": [ + 276, + 826 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "597": true + }, + "defaultState": 5250 + }, + { + "id": 270, + "displayName": "Ender Chest", + "name": "ender_chest", + "hardness": 22.5, + "minStateId": 5251, + "maxStateId": 5258, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 277, + 170 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 5252 + }, + { + "id": 271, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "minStateId": 5259, + "maxStateId": 5274, + "states": [ + { + "name": "attached", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 278 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 5268 + }, + { + "id": 272, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "minStateId": 5275, + "maxStateId": 5402, + "states": [ + { + "name": "attached", + "type": "bool", + "num_values": 2 + }, + { + "name": "disarmed", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 610 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 5402 + }, + { + "id": 273, + "displayName": "Block of Emerald", + "name": "emerald_block", + "hardness": 5, + "minStateId": 5403, + "maxStateId": 5403, + "states": [], + "drops": [ + 279 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "597": true + }, + "defaultState": 5403 + }, + { + "id": 274, + "displayName": "Spruce Stairs", + "name": "spruce_stairs", + "hardness": 0, + "minStateId": 5404, + "maxStateId": 5483, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 280 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5415 + }, + { + "id": 275, + "displayName": "Birch Stairs", + "name": "birch_stairs", + "hardness": 0, + "minStateId": 5484, + "maxStateId": 5563, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 281 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5495 + }, + { + "id": 276, + "displayName": "Jungle Stairs", + "name": "jungle_stairs", + "hardness": 0, + "minStateId": 5564, + "maxStateId": 5643, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 282 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5575 + }, + { + "id": 277, + "displayName": "Command Block", + "name": "command_block", + "hardness": null, + "minStateId": 5644, + "maxStateId": 5655, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5650 + }, + { + "id": 278, + "displayName": "Beacon", + "name": "beacon", + "hardness": 3, + "minStateId": 5656, + "maxStateId": 5656, + "states": [], + "drops": [ + 286 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5656 + }, + { + "id": 279, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 0, + "minStateId": 5657, + "maxStateId": 5980, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 287 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 5660 + }, + { + "id": 280, + "displayName": "Mossy Cobblestone Wall", + "name": "mossy_cobblestone_wall", + "hardness": 0, + "minStateId": 5981, + "maxStateId": 6304, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 288 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 5984 + }, + { + "id": 281, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "minStateId": 6305, + "maxStateId": 6305, + "states": [], + "drops": [ + 828 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6305 + }, + { + "id": 282, + "displayName": "Potted Oak Sapling", + "name": "potted_oak_sapling", + "hardness": 0, + "minStateId": 6306, + "maxStateId": 6306, + "states": [], + "drops": [ + 828, + 23 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6306 + }, + { + "id": 283, + "displayName": "Potted Spruce Sapling", + "name": "potted_spruce_sapling", + "hardness": 0, + "minStateId": 6307, + "maxStateId": 6307, + "states": [], + "drops": [ + 828, + 24 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6307 + }, + { + "id": 284, + "displayName": "Potted Birch Sapling", + "name": "potted_birch_sapling", + "hardness": 0, + "minStateId": 6308, + "maxStateId": 6308, + "states": [], + "drops": [ + 828, + 25 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6308 + }, + { + "id": 285, + "displayName": "Potted Jungle Sapling", + "name": "potted_jungle_sapling", + "hardness": 0, + "minStateId": 6309, + "maxStateId": 6309, + "states": [], + "drops": [ + 828, + 26 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6309 + }, + { + "id": 286, + "displayName": "Potted Acacia Sapling", + "name": "potted_acacia_sapling", + "hardness": 0, + "minStateId": 6310, + "maxStateId": 6310, + "states": [], + "drops": [ + 828, + 27 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6310 + }, + { + "id": 287, + "displayName": "Potted Dark Oak Sapling", + "name": "potted_dark_oak_sapling", + "hardness": 0, + "minStateId": 6311, + "maxStateId": 6311, + "states": [], + "drops": [ + 828, + 28 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6311 + }, + { + "id": 288, + "displayName": "Potted Fern", + "name": "potted_fern", + "hardness": 0, + "minStateId": 6312, + "maxStateId": 6312, + "states": [], + "drops": [ + 828, + 90 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6312 + }, + { + "id": 289, + "displayName": "Potted Dandelion", + "name": "potted_dandelion", + "hardness": 0, + "minStateId": 6313, + "maxStateId": 6313, + "states": [], + "drops": [ + 828, + 111 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 6313 + }, + { + "id": 290, + "displayName": "Potted Poppy", + "name": "potted_poppy", + "hardness": 0, + "minStateId": 6314, + "maxStateId": 6314, + "states": [], + "drops": [ + 828, + 112 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6314 + }, + { + "id": 291, + "displayName": "Potted Blue Orchid", + "name": "potted_blue_orchid", + "hardness": 0, + "minStateId": 6315, + "maxStateId": 6315, + "states": [], + "drops": [ + 828, + 113 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6315 + }, + { + "id": 292, + "displayName": "Potted Allium", + "name": "potted_allium", + "hardness": 0, + "minStateId": 6316, + "maxStateId": 6316, + "states": [], + "drops": [ + 828, + 114 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6316 + }, + { + "id": 293, + "displayName": "Potted Azure Bluet", + "name": "potted_azure_bluet", + "hardness": 0, + "minStateId": 6317, + "maxStateId": 6317, + "states": [], + "drops": [ + 828, + 115 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6317 + }, + { + "id": 294, + "displayName": "Potted Red Tulip", + "name": "potted_red_tulip", + "hardness": 0, + "minStateId": 6318, + "maxStateId": 6318, + "states": [], + "drops": [ + 828, + 116 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6318 + }, + { + "id": 295, + "displayName": "Potted Orange Tulip", + "name": "potted_orange_tulip", + "hardness": 0, + "minStateId": 6319, + "maxStateId": 6319, + "states": [], + "drops": [ + 828, + 117 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6319 + }, + { + "id": 296, + "displayName": "Potted White Tulip", + "name": "potted_white_tulip", + "hardness": 0, + "minStateId": 6320, + "maxStateId": 6320, + "states": [], + "drops": [ + 828, + 118 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6320 + }, + { + "id": 297, + "displayName": "Potted Pink Tulip", + "name": "potted_pink_tulip", + "hardness": 0, + "minStateId": 6321, + "maxStateId": 6321, + "states": [], + "drops": [ + 828, + 119 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6321 + }, + { + "id": 298, + "displayName": "Potted Oxeye Daisy", + "name": "potted_oxeye_daisy", + "hardness": 0, + "minStateId": 6322, + "maxStateId": 6322, + "states": [], + "drops": [ + 828, + 120 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6322 + }, + { + "id": 299, + "displayName": "Potted Cornflower", + "name": "potted_cornflower", + "hardness": 0, + "minStateId": 6323, + "maxStateId": 6323, + "states": [], + "drops": [ + 828, + 121 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6323 + }, + { + "id": 300, + "displayName": "Potted Lily of the Valley", + "name": "potted_lily_of_the_valley", + "hardness": 0, + "minStateId": 6324, + "maxStateId": 6324, + "states": [], + "drops": [ + 828, + 122 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6324 + }, + { + "id": 301, + "displayName": "Potted Wither Rose", + "name": "potted_wither_rose", + "hardness": 0, + "minStateId": 6325, + "maxStateId": 6325, + "states": [], + "drops": [ + 828, + 123 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6325 + }, + { + "id": 302, + "displayName": "Potted Red Mushroom", + "name": "potted_red_mushroom", + "hardness": 0, + "minStateId": 6326, + "maxStateId": 6326, + "states": [], + "drops": [ + 828, + 125 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6326 + }, + { + "id": 303, + "displayName": "Potted Brown Mushroom", + "name": "potted_brown_mushroom", + "hardness": 0, + "minStateId": 6327, + "maxStateId": 6327, + "states": [], + "drops": [ + 828, + 124 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6327 + }, + { + "id": 304, + "displayName": "Potted Dead Bush", + "name": "potted_dead_bush", + "hardness": 0, + "minStateId": 6328, + "maxStateId": 6328, + "states": [], + "drops": [ + 828, + 91 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6328 + }, + { + "id": 305, + "displayName": "Potted Cactus", + "name": "potted_cactus", + "hardness": 0, + "minStateId": 6329, + "maxStateId": 6329, + "states": [], + "drops": [ + 828, + 205 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6329 + }, + { + "id": 306, + "displayName": "Carrots", + "name": "carrots", + "hardness": 0, + "minStateId": 6330, + "maxStateId": 6337, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 829 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 6330 + }, + { + "id": 307, + "displayName": "Potatoes", + "name": "potatoes", + "hardness": 0, + "minStateId": 6338, + "maxStateId": 6345, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 830, + 832 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 6338 + }, + { + "id": 308, + "displayName": "Oak Button", + "name": "oak_button", + "hardness": 0.5, + "minStateId": 6346, + "maxStateId": 6369, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 305 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 6355 + }, + { + "id": 309, + "displayName": "Spruce Button", + "name": "spruce_button", + "hardness": 0.5, + "minStateId": 6370, + "maxStateId": 6393, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 306 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 6379 + }, + { + "id": 310, + "displayName": "Birch Button", + "name": "birch_button", + "hardness": 0.5, + "minStateId": 6394, + "maxStateId": 6417, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 307 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 6403 + }, + { + "id": 311, + "displayName": "Jungle Button", + "name": "jungle_button", + "hardness": 0.5, + "minStateId": 6418, + "maxStateId": 6441, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 308 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 6427 + }, + { + "id": 312, + "displayName": "Acacia Button", + "name": "acacia_button", + "hardness": 0.5, + "minStateId": 6442, + "maxStateId": 6465, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 309 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 6451 + }, + { + "id": 313, + "displayName": "Dark Oak Button", + "name": "dark_oak_button", + "hardness": 0.5, + "minStateId": 6466, + "maxStateId": 6489, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 310 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 6475 + }, + { + "id": 314, + "displayName": "Skeleton Skull", + "name": "skeleton_skull", + "hardness": 1, + "minStateId": 6490, + "maxStateId": 6505, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 835 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6490 + }, + { + "id": 315, + "displayName": "Skeleton Wall Skull", + "name": "skeleton_wall_skull", + "hardness": 1, + "minStateId": 6506, + "maxStateId": 6509, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6506 + }, + { + "id": 316, + "displayName": "Wither Skeleton Skull", + "name": "wither_skeleton_skull", + "hardness": 1, + "minStateId": 6510, + "maxStateId": 6525, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 836 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6510 + }, + { + "id": 317, + "displayName": "Wither Skeleton Wall Skull", + "name": "wither_skeleton_wall_skull", + "hardness": 1, + "minStateId": 6526, + "maxStateId": 6529, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "defaultState": 6526 + }, + { + "id": 318, + "displayName": "Zombie Head", + "name": "zombie_head", + "hardness": 1, + "minStateId": 6530, + "maxStateId": 6545, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 838 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6530 + }, + { + "id": 319, + "displayName": "Zombie Wall Head", + "name": "zombie_wall_head", + "hardness": 1, + "minStateId": 6546, + "maxStateId": 6549, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6546 + }, + { + "id": 320, + "displayName": "Player Head", + "name": "player_head", + "hardness": 1, + "minStateId": 6550, + "maxStateId": 6565, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 837 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6550 + }, + { + "id": 321, + "displayName": "Player Wall Head", + "name": "player_wall_head", + "hardness": 1, + "minStateId": 6566, + "maxStateId": 6569, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6566 + }, + { + "id": 322, + "displayName": "Creeper Head", + "name": "creeper_head", + "hardness": 1, + "minStateId": 6570, + "maxStateId": 6585, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 839 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6570 + }, + { + "id": 323, + "displayName": "Creeper Wall Head", + "name": "creeper_wall_head", + "hardness": 1, + "minStateId": 6586, + "maxStateId": 6589, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6586 + }, + { + "id": 324, + "displayName": "Dragon Head", + "name": "dragon_head", + "hardness": 1, + "minStateId": 6590, + "maxStateId": 6605, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 840 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6590 + }, + { + "id": 325, + "displayName": "Dragon Wall Head", + "name": "dragon_wall_head", + "hardness": 1, + "minStateId": 6606, + "maxStateId": 6609, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6606 + }, + { + "id": 326, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "minStateId": 6610, + "maxStateId": 6613, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 314 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6610 + }, + { + "id": 327, + "displayName": "Chipped Anvil", + "name": "chipped_anvil", + "hardness": 5, + "minStateId": 6614, + "maxStateId": 6617, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 315 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6614 + }, + { + "id": 328, + "displayName": "Damaged Anvil", + "name": "damaged_anvil", + "hardness": 5, + "minStateId": 6618, + "maxStateId": 6621, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 316 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6618 + }, + { + "id": 329, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "minStateId": 6622, + "maxStateId": 6645, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "single", + "left", + "right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 317 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6623 + }, + { + "id": 330, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "hardness": 0.5, + "minStateId": 6646, + "maxStateId": 6661, + "states": [ + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 318 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6646 + }, + { + "id": 331, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "hardness": 0.5, + "minStateId": 6662, + "maxStateId": 6677, + "states": [ + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 319 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6662 + }, + { + "id": 332, + "displayName": "Redstone Comparator", + "name": "comparator", + "hardness": 0, + "minStateId": 6678, + "maxStateId": 6693, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "mode", + "type": "enum", + "num_values": 2, + "values": [ + "compare", + "subtract" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 567 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6679 + }, + { + "id": 333, + "displayName": "Daylight Detector", + "name": "daylight_detector", + "hardness": 0.2, + "minStateId": 6694, + "maxStateId": 6725, + "states": [ + { + "name": "inverted", + "type": "bool", + "num_values": 2 + }, + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 320 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6710 + }, + { + "id": 334, + "displayName": "Block of Redstone", + "name": "redstone_block", + "hardness": 5, + "minStateId": 6726, + "maxStateId": 6726, + "states": [], + "drops": [ + 321 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6726 + }, + { + "id": 335, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "hardness": 3, + "minStateId": 6727, + "maxStateId": 6727, + "states": [], + "drops": [ + 322, + 849 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6727 + }, + { + "id": 336, + "displayName": "Hopper", + "name": "hopper", + "hardness": 3, + "minStateId": 6728, + "maxStateId": 6737, + "states": [ + { + "name": "enabled", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 5, + "values": [ + "down", + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 323 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6728 + }, + { + "id": 337, + "displayName": "Block of Quartz", + "name": "quartz_block", + "hardness": 0.8, + "minStateId": 6738, + "maxStateId": 6738, + "states": [], + "drops": [ + 325 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6738 + }, + { + "id": 338, + "displayName": "Chiseled Quartz Block", + "name": "chiseled_quartz_block", + "hardness": 0.8, + "minStateId": 6739, + "maxStateId": 6739, + "states": [], + "drops": [ + 324 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6739 + }, + { + "id": 339, + "displayName": "Quartz Pillar", + "name": "quartz_pillar", + "hardness": 0.8, + "minStateId": 6740, + "maxStateId": 6742, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 327 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6741 + }, + { + "id": 340, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0, + "minStateId": 6743, + "maxStateId": 6822, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 328 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6754 + }, + { + "id": 341, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "minStateId": 6823, + "maxStateId": 6834, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 329 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 6829 + }, + { + "id": 342, + "displayName": "Dropper", + "name": "dropper", + "hardness": 3.5, + "minStateId": 6835, + "maxStateId": 6846, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "triggered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 330 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6836 + }, + { + "id": 343, + "displayName": "White Terracotta", + "name": "white_terracotta", + "hardness": 1.25, + "minStateId": 6847, + "maxStateId": 6847, + "states": [], + "drops": [ + 331 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6847 + }, + { + "id": 344, + "displayName": "Orange Terracotta", + "name": "orange_terracotta", + "hardness": 1.25, + "minStateId": 6848, + "maxStateId": 6848, + "states": [], + "drops": [ + 332 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6848 + }, + { + "id": 345, + "displayName": "Magenta Terracotta", + "name": "magenta_terracotta", + "hardness": 1.25, + "minStateId": 6849, + "maxStateId": 6849, + "states": [], + "drops": [ + 333 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6849 + }, + { + "id": 346, + "displayName": "Light Blue Terracotta", + "name": "light_blue_terracotta", + "hardness": 1.25, + "minStateId": 6850, + "maxStateId": 6850, + "states": [], + "drops": [ + 334 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6850 + }, + { + "id": 347, + "displayName": "Yellow Terracotta", + "name": "yellow_terracotta", + "hardness": 1.25, + "minStateId": 6851, + "maxStateId": 6851, + "states": [], + "drops": [ + 335 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6851 + }, + { + "id": 348, + "displayName": "Lime Terracotta", + "name": "lime_terracotta", + "hardness": 1.25, + "minStateId": 6852, + "maxStateId": 6852, + "states": [], + "drops": [ + 336 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6852 + }, + { + "id": 349, + "displayName": "Pink Terracotta", + "name": "pink_terracotta", + "hardness": 1.25, + "minStateId": 6853, + "maxStateId": 6853, + "states": [], + "drops": [ + 337 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6853 + }, + { + "id": 350, + "displayName": "Gray Terracotta", + "name": "gray_terracotta", + "hardness": 1.25, + "minStateId": 6854, + "maxStateId": 6854, + "states": [], + "drops": [ + 338 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6854 + }, + { + "id": 351, + "displayName": "Light Gray Terracotta", + "name": "light_gray_terracotta", + "hardness": 1.25, + "minStateId": 6855, + "maxStateId": 6855, + "states": [], + "drops": [ + 339 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6855 + }, + { + "id": 352, + "displayName": "Cyan Terracotta", + "name": "cyan_terracotta", + "hardness": 1.25, + "minStateId": 6856, + "maxStateId": 6856, + "states": [], + "drops": [ + 340 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6856 + }, + { + "id": 353, + "displayName": "Purple Terracotta", + "name": "purple_terracotta", + "hardness": 1.25, + "minStateId": 6857, + "maxStateId": 6857, + "states": [], + "drops": [ + 341 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6857 + }, + { + "id": 354, + "displayName": "Blue Terracotta", + "name": "blue_terracotta", + "hardness": 1.25, + "minStateId": 6858, + "maxStateId": 6858, + "states": [], + "drops": [ + 342 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6858 + }, + { + "id": 355, + "displayName": "Brown Terracotta", + "name": "brown_terracotta", + "hardness": 1.25, + "minStateId": 6859, + "maxStateId": 6859, + "states": [], + "drops": [ + 343 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6859 + }, + { + "id": 356, + "displayName": "Green Terracotta", + "name": "green_terracotta", + "hardness": 1.25, + "minStateId": 6860, + "maxStateId": 6860, + "states": [], + "drops": [ + 344 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6860 + }, + { + "id": 357, + "displayName": "Red Terracotta", + "name": "red_terracotta", + "hardness": 1.25, + "minStateId": 6861, + "maxStateId": 6861, + "states": [], + "drops": [ + 345 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6861 + }, + { + "id": 358, + "displayName": "Black Terracotta", + "name": "black_terracotta", + "hardness": 1.25, + "minStateId": 6862, + "maxStateId": 6862, + "states": [], + "drops": [ + 346 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 6862 + }, + { + "id": 359, + "displayName": "White Stained Glass Pane", + "name": "white_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6863, + "maxStateId": 6894, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 395 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6894 + }, + { + "id": 360, + "displayName": "Orange Stained Glass Pane", + "name": "orange_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6895, + "maxStateId": 6926, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 396 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6926 + }, + { + "id": 361, + "displayName": "Magenta Stained Glass Pane", + "name": "magenta_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6927, + "maxStateId": 6958, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 397 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6958 + }, + { + "id": 362, + "displayName": "Light Blue Stained Glass Pane", + "name": "light_blue_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6959, + "maxStateId": 6990, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 398 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6990 + }, + { + "id": 363, + "displayName": "Yellow Stained Glass Pane", + "name": "yellow_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6991, + "maxStateId": 7022, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 399 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7022 + }, + { + "id": 364, + "displayName": "Lime Stained Glass Pane", + "name": "lime_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7023, + "maxStateId": 7054, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 400 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7054 + }, + { + "id": 365, + "displayName": "Pink Stained Glass Pane", + "name": "pink_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7055, + "maxStateId": 7086, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 401 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7086 + }, + { + "id": 366, + "displayName": "Gray Stained Glass Pane", + "name": "gray_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7087, + "maxStateId": 7118, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 402 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7118 + }, + { + "id": 367, + "displayName": "Light Gray Stained Glass Pane", + "name": "light_gray_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7119, + "maxStateId": 7150, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 403 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7150 + }, + { + "id": 368, + "displayName": "Cyan Stained Glass Pane", + "name": "cyan_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7151, + "maxStateId": 7182, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 404 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7182 + }, + { + "id": 369, + "displayName": "Purple Stained Glass Pane", + "name": "purple_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7183, + "maxStateId": 7214, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 405 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7214 + }, + { + "id": 370, + "displayName": "Blue Stained Glass Pane", + "name": "blue_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7215, + "maxStateId": 7246, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 406 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7246 + }, + { + "id": 371, + "displayName": "Brown Stained Glass Pane", + "name": "brown_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7247, + "maxStateId": 7278, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 407 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7278 + }, + { + "id": 372, + "displayName": "Green Stained Glass Pane", + "name": "green_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7279, + "maxStateId": 7310, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 408 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7310 + }, + { + "id": 373, + "displayName": "Red Stained Glass Pane", + "name": "red_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7311, + "maxStateId": 7342, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 409 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7342 + }, + { + "id": 374, + "displayName": "Black Stained Glass Pane", + "name": "black_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7343, + "maxStateId": 7374, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 410 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7374 + }, + { + "id": 375, + "displayName": "Acacia Stairs", + "name": "acacia_stairs", + "hardness": 0, + "minStateId": 7375, + "maxStateId": 7454, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 369 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7386 + }, + { + "id": 376, + "displayName": "Dark Oak Stairs", + "name": "dark_oak_stairs", + "hardness": 0, + "minStateId": 7455, + "maxStateId": 7534, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 370 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7466 + }, + { + "id": 377, + "displayName": "Slime Block", + "name": "slime_block", + "hardness": 0, + "minStateId": 7535, + "maxStateId": 7535, + "states": [], + "drops": [ + 371 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7535 + }, + { + "id": 378, + "displayName": "Barrier", + "name": "barrier", + "hardness": null, + "minStateId": 7536, + "maxStateId": 7536, + "states": [], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7536 + }, + { + "id": 379, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "minStateId": 7537, + "maxStateId": 7600, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 348 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 7552 + }, + { + "id": 380, + "displayName": "Prismarine", + "name": "prismarine", + "hardness": 1.5, + "minStateId": 7601, + "maxStateId": 7601, + "states": [], + "drops": [ + 411 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 7601 + }, + { + "id": 381, + "displayName": "Prismarine Bricks", + "name": "prismarine_bricks", + "hardness": 1.5, + "minStateId": 7602, + "maxStateId": 7602, + "states": [], + "drops": [ + 412 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 7602 + }, + { + "id": 382, + "displayName": "Dark Prismarine", + "name": "dark_prismarine", + "hardness": 1.5, + "minStateId": 7603, + "maxStateId": 7603, + "states": [], + "drops": [ + 413 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 7603 + }, + { + "id": 383, + "displayName": "Prismarine Stairs", + "name": "prismarine_stairs", + "hardness": 0, + "minStateId": 7604, + "maxStateId": 7683, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 414 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 7615 + }, + { + "id": 384, + "displayName": "Prismarine Brick Stairs", + "name": "prismarine_brick_stairs", + "hardness": 0, + "minStateId": 7684, + "maxStateId": 7763, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 415 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 7695 + }, + { + "id": 385, + "displayName": "Dark Prismarine Stairs", + "name": "dark_prismarine_stairs", + "hardness": 0, + "minStateId": 7764, + "maxStateId": 7843, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 416 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 7775 + }, + { + "id": 386, + "displayName": "Prismarine Slab", + "name": "prismarine_slab", + "hardness": 1.5, + "minStateId": 7844, + "maxStateId": 7849, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 159 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 7847 + }, + { + "id": 387, + "displayName": "Prismarine Brick Slab", + "name": "prismarine_brick_slab", + "hardness": 1.5, + "minStateId": 7850, + "maxStateId": 7855, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 160 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 7853 + }, + { + "id": 388, + "displayName": "Dark Prismarine Slab", + "name": "dark_prismarine_slab", + "hardness": 1.5, + "minStateId": 7856, + "maxStateId": 7861, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 161 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 7859 + }, + { + "id": 389, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "hardness": 0.3, + "minStateId": 7862, + "maxStateId": 7862, + "states": [], + "drops": [ + 417, + 853 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7862 + }, + { + "id": 390, + "displayName": "Hay Bale", + "name": "hay_block", + "hardness": 0.5, + "minStateId": 7863, + "maxStateId": 7865, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 349 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7864 + }, + { + "id": 391, + "displayName": "White Carpet", + "name": "white_carpet", + "hardness": 0.1, + "minStateId": 7866, + "maxStateId": 7866, + "states": [], + "drops": [ + 350 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7866 + }, + { + "id": 392, + "displayName": "Orange Carpet", + "name": "orange_carpet", + "hardness": 0.1, + "minStateId": 7867, + "maxStateId": 7867, + "states": [], + "drops": [ + 351 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7867 + }, + { + "id": 393, + "displayName": "Magenta Carpet", + "name": "magenta_carpet", + "hardness": 0.1, + "minStateId": 7868, + "maxStateId": 7868, + "states": [], + "drops": [ + 352 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7868 + }, + { + "id": 394, + "displayName": "Light Blue Carpet", + "name": "light_blue_carpet", + "hardness": 0.1, + "minStateId": 7869, + "maxStateId": 7869, + "states": [], + "drops": [ + 353 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7869 + }, + { + "id": 395, + "displayName": "Yellow Carpet", + "name": "yellow_carpet", + "hardness": 0.1, + "minStateId": 7870, + "maxStateId": 7870, + "states": [], + "drops": [ + 354 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7870 + }, + { + "id": 396, + "displayName": "Lime Carpet", + "name": "lime_carpet", + "hardness": 0.1, + "minStateId": 7871, + "maxStateId": 7871, + "states": [], + "drops": [ + 355 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7871 + }, + { + "id": 397, + "displayName": "Pink Carpet", + "name": "pink_carpet", + "hardness": 0.1, + "minStateId": 7872, + "maxStateId": 7872, + "states": [], + "drops": [ + 356 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7872 + }, + { + "id": 398, + "displayName": "Gray Carpet", + "name": "gray_carpet", + "hardness": 0.1, + "minStateId": 7873, + "maxStateId": 7873, + "states": [], + "drops": [ + 357 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7873 + }, + { + "id": 399, + "displayName": "Light Gray Carpet", + "name": "light_gray_carpet", + "hardness": 0.1, + "minStateId": 7874, + "maxStateId": 7874, + "states": [], + "drops": [ + 358 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7874 + }, + { + "id": 400, + "displayName": "Cyan Carpet", + "name": "cyan_carpet", + "hardness": 0.1, + "minStateId": 7875, + "maxStateId": 7875, + "states": [], + "drops": [ + 359 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7875 + }, + { + "id": 401, + "displayName": "Purple Carpet", + "name": "purple_carpet", + "hardness": 0.1, + "minStateId": 7876, + "maxStateId": 7876, + "states": [], + "drops": [ + 360 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7876 + }, + { + "id": 402, + "displayName": "Blue Carpet", + "name": "blue_carpet", + "hardness": 0.1, + "minStateId": 7877, + "maxStateId": 7877, + "states": [], + "drops": [ + 361 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7877 + }, + { + "id": 403, + "displayName": "Brown Carpet", + "name": "brown_carpet", + "hardness": 0.1, + "minStateId": 7878, + "maxStateId": 7878, + "states": [], + "drops": [ + 362 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7878 + }, + { + "id": 404, + "displayName": "Green Carpet", + "name": "green_carpet", + "hardness": 0.1, + "minStateId": 7879, + "maxStateId": 7879, + "states": [], + "drops": [ + 363 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7879 + }, + { + "id": 405, + "displayName": "Red Carpet", + "name": "red_carpet", + "hardness": 0.1, + "minStateId": 7880, + "maxStateId": 7880, + "states": [], + "drops": [ + 364 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7880 + }, + { + "id": 406, + "displayName": "Black Carpet", + "name": "black_carpet", + "hardness": 0.1, + "minStateId": 7881, + "maxStateId": 7881, + "states": [], + "drops": [ + 365 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7881 + }, + { + "id": 407, + "displayName": "Terracotta", + "name": "terracotta", + "hardness": 1.25, + "minStateId": 7882, + "maxStateId": 7882, + "states": [], + "drops": [ + 366 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 7882 + }, + { + "id": 408, + "displayName": "Block of Coal", + "name": "coal_block", + "hardness": 5, + "minStateId": 7883, + "maxStateId": 7883, + "states": [], + "drops": [ + 367 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 7883 + }, + { + "id": 409, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "minStateId": 7884, + "maxStateId": 7884, + "states": [], + "drops": [ + 368 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 7884 + }, + { + "id": 410, + "displayName": "Sunflower", + "name": "sunflower", + "hardness": 0, + "minStateId": 7885, + "maxStateId": 7886, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 373 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7886 + }, + { + "id": 411, + "displayName": "Lilac", + "name": "lilac", + "hardness": 0, + "minStateId": 7887, + "maxStateId": 7888, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 374 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7888 + }, + { + "id": 412, + "displayName": "Rose Bush", + "name": "rose_bush", + "hardness": 0, + "minStateId": 7889, + "maxStateId": 7890, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 375 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7890 + }, + { + "id": 413, + "displayName": "Peony", + "name": "peony", + "hardness": 0, + "minStateId": 7891, + "maxStateId": 7892, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 376 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 7892 + }, + { + "id": 414, + "displayName": "Tall Grass", + "name": "tall_grass", + "hardness": 0, + "minStateId": 7893, + "maxStateId": 7894, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 734, + 89, + 619, + 377 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7894 + }, + { + "id": 415, + "displayName": "Large Fern", + "name": "large_fern", + "hardness": 0, + "minStateId": 7895, + "maxStateId": 7896, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 734, + 90, + 619, + 378 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7896 + }, + { + "id": 416, + "displayName": "White Banner", + "name": "white_banner", + "hardness": 1, + "minStateId": 7897, + "maxStateId": 7912, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 869 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7897 + }, + { + "id": 417, + "displayName": "Orange Banner", + "name": "orange_banner", + "hardness": 1, + "minStateId": 7913, + "maxStateId": 7928, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 870 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7913 + }, + { + "id": 418, + "displayName": "Magenta Banner", + "name": "magenta_banner", + "hardness": 1, + "minStateId": 7929, + "maxStateId": 7944, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 871 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7929 + }, + { + "id": 419, + "displayName": "Light Blue Banner", + "name": "light_blue_banner", + "hardness": 1, + "minStateId": 7945, + "maxStateId": 7960, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 872 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7945 + }, + { + "id": 420, + "displayName": "Yellow Banner", + "name": "yellow_banner", + "hardness": 1, + "minStateId": 7961, + "maxStateId": 7976, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 873 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7961 + }, + { + "id": 421, + "displayName": "Lime Banner", + "name": "lime_banner", + "hardness": 1, + "minStateId": 7977, + "maxStateId": 7992, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 874 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7977 + }, + { + "id": 422, + "displayName": "Pink Banner", + "name": "pink_banner", + "hardness": 1, + "minStateId": 7993, + "maxStateId": 8008, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 875 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7993 + }, + { + "id": 423, + "displayName": "Gray Banner", + "name": "gray_banner", + "hardness": 1, + "minStateId": 8009, + "maxStateId": 8024, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 876 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8009 + }, + { + "id": 424, + "displayName": "Light Gray Banner", + "name": "light_gray_banner", + "hardness": 1, + "minStateId": 8025, + "maxStateId": 8040, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 877 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8025 + }, + { + "id": 425, + "displayName": "Cyan Banner", + "name": "cyan_banner", + "hardness": 1, + "minStateId": 8041, + "maxStateId": 8056, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 878 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8041 + }, + { + "id": 426, + "displayName": "Purple Banner", + "name": "purple_banner", + "hardness": 1, + "minStateId": 8057, + "maxStateId": 8072, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 879 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8057 + }, + { + "id": 427, + "displayName": "Blue Banner", + "name": "blue_banner", + "hardness": 1, + "minStateId": 8073, + "maxStateId": 8088, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 880 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8073 + }, + { + "id": 428, + "displayName": "Brown Banner", + "name": "brown_banner", + "hardness": 1, + "minStateId": 8089, + "maxStateId": 8104, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 881 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8089 + }, + { + "id": 429, + "displayName": "Green Banner", + "name": "green_banner", + "hardness": 1, + "minStateId": 8105, + "maxStateId": 8120, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 882 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8105 + }, + { + "id": 430, + "displayName": "Red Banner", + "name": "red_banner", + "hardness": 1, + "minStateId": 8121, + "maxStateId": 8136, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 883 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8121 + }, + { + "id": 431, + "displayName": "Black Banner", + "name": "black_banner", + "hardness": 1, + "minStateId": 8137, + "maxStateId": 8152, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 884 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8137 + }, + { + "id": 432, + "displayName": "White wall banner", + "name": "white_wall_banner", + "hardness": 1, + "minStateId": 8153, + "maxStateId": 8156, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8153 + }, + { + "id": 433, + "displayName": "Orange wall banner", + "name": "orange_wall_banner", + "hardness": 1, + "minStateId": 8157, + "maxStateId": 8160, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8157 + }, + { + "id": 434, + "displayName": "Magenta wall banner", + "name": "magenta_wall_banner", + "hardness": 1, + "minStateId": 8161, + "maxStateId": 8164, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8161 + }, + { + "id": 435, + "displayName": "Light blue wall banner", + "name": "light_blue_wall_banner", + "hardness": 1, + "minStateId": 8165, + "maxStateId": 8168, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8165 + }, + { + "id": 436, + "displayName": "Yellow wall banner", + "name": "yellow_wall_banner", + "hardness": 1, + "minStateId": 8169, + "maxStateId": 8172, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8169 + }, + { + "id": 437, + "displayName": "Lime wall banner", + "name": "lime_wall_banner", + "hardness": 1, + "minStateId": 8173, + "maxStateId": 8176, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8173 + }, + { + "id": 438, + "displayName": "Pink wall banner", + "name": "pink_wall_banner", + "hardness": 1, + "minStateId": 8177, + "maxStateId": 8180, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8177 + }, + { + "id": 439, + "displayName": "Gray wall banner", + "name": "gray_wall_banner", + "hardness": 1, + "minStateId": 8181, + "maxStateId": 8184, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8181 + }, + { + "id": 440, + "displayName": "Light gray wall banner", + "name": "light_gray_wall_banner", + "hardness": 1, + "minStateId": 8185, + "maxStateId": 8188, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8185 + }, + { + "id": 441, + "displayName": "Cyan wall banner", + "name": "cyan_wall_banner", + "hardness": 1, + "minStateId": 8189, + "maxStateId": 8192, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8189 + }, + { + "id": 442, + "displayName": "Purple wall banner", + "name": "purple_wall_banner", + "hardness": 1, + "minStateId": 8193, + "maxStateId": 8196, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8193 + }, + { + "id": 443, + "displayName": "Blue wall banner", + "name": "blue_wall_banner", + "hardness": 1, + "minStateId": 8197, + "maxStateId": 8200, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8197 + }, + { + "id": 444, + "displayName": "Brown wall banner", + "name": "brown_wall_banner", + "hardness": 1, + "minStateId": 8201, + "maxStateId": 8204, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8201 + }, + { + "id": 445, + "displayName": "Green wall banner", + "name": "green_wall_banner", + "hardness": 1, + "minStateId": 8205, + "maxStateId": 8208, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8205 + }, + { + "id": 446, + "displayName": "Red wall banner", + "name": "red_wall_banner", + "hardness": 1, + "minStateId": 8209, + "maxStateId": 8212, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8209 + }, + { + "id": 447, + "displayName": "Black wall banner", + "name": "black_wall_banner", + "hardness": 1, + "minStateId": 8213, + "maxStateId": 8216, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8213 + }, + { + "id": 448, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "hardness": 0.8, + "minStateId": 8217, + "maxStateId": 8217, + "states": [], + "drops": [ + 418 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8217 + }, + { + "id": 449, + "displayName": "Chiseled Red Sandstone", + "name": "chiseled_red_sandstone", + "hardness": 0.8, + "minStateId": 8218, + "maxStateId": 8218, + "states": [], + "drops": [ + 419 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8218 + }, + { + "id": 450, + "displayName": "Cut Red Sandstone", + "name": "cut_red_sandstone", + "hardness": 0.8, + "minStateId": 8219, + "maxStateId": 8219, + "states": [], + "drops": [ + 420 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8219 + }, + { + "id": 451, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "hardness": 0, + "minStateId": 8220, + "maxStateId": 8299, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 421 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8231 + }, + { + "id": 452, + "displayName": "Oak Slab", + "name": "oak_slab", + "hardness": 2, + "minStateId": 8300, + "maxStateId": 8305, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 138 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8303 + }, + { + "id": 453, + "displayName": "Spruce Slab", + "name": "spruce_slab", + "hardness": 2, + "minStateId": 8306, + "maxStateId": 8311, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 139 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8309 + }, + { + "id": 454, + "displayName": "Birch Slab", + "name": "birch_slab", + "hardness": 2, + "minStateId": 8312, + "maxStateId": 8317, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 140 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8315 + }, + { + "id": 455, + "displayName": "Jungle Slab", + "name": "jungle_slab", + "hardness": 2, + "minStateId": 8318, + "maxStateId": 8323, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 141 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8321 + }, + { + "id": 456, + "displayName": "Acacia Slab", + "name": "acacia_slab", + "hardness": 2, + "minStateId": 8324, + "maxStateId": 8329, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 142 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8327 + }, + { + "id": 457, + "displayName": "Dark Oak Slab", + "name": "dark_oak_slab", + "hardness": 2, + "minStateId": 8330, + "maxStateId": 8335, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 143 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8333 + }, + { + "id": 458, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "minStateId": 8336, + "maxStateId": 8341, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 146 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8339 + }, + { + "id": 459, + "displayName": "Smooth Stone Slab", + "name": "smooth_stone_slab", + "hardness": 2, + "minStateId": 8342, + "maxStateId": 8347, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 147 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8345 + }, + { + "id": 460, + "displayName": "Sandstone Slab", + "name": "sandstone_slab", + "hardness": 2, + "minStateId": 8348, + "maxStateId": 8353, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 148 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8351 + }, + { + "id": 461, + "displayName": "Cut Sandstone Slab", + "name": "cut_sandstone_slab", + "hardness": 2, + "minStateId": 8354, + "maxStateId": 8359, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 149 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8357 + }, + { + "id": 462, + "displayName": "Petrified Oak Slab", + "name": "petrified_oak_slab", + "hardness": 2, + "minStateId": 8360, + "maxStateId": 8365, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 150 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8363 + }, + { + "id": 463, + "displayName": "Cobblestone Slab", + "name": "cobblestone_slab", + "hardness": 2, + "minStateId": 8366, + "maxStateId": 8371, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 151 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8369 + }, + { + "id": 464, + "displayName": "Brick Slab", + "name": "brick_slab", + "hardness": 2, + "minStateId": 8372, + "maxStateId": 8377, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 152 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8375 + }, + { + "id": 465, + "displayName": "Stone Brick Slab", + "name": "stone_brick_slab", + "hardness": 2, + "minStateId": 8378, + "maxStateId": 8383, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 153 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8381 + }, + { + "id": 466, + "displayName": "Nether Brick Slab", + "name": "nether_brick_slab", + "hardness": 2, + "minStateId": 8384, + "maxStateId": 8389, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 154 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8387 + }, + { + "id": 467, + "displayName": "Quartz Slab", + "name": "quartz_slab", + "hardness": 2, + "minStateId": 8390, + "maxStateId": 8395, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 155 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8393 + }, + { + "id": 468, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "hardness": 2, + "minStateId": 8396, + "maxStateId": 8401, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 156 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8399 + }, + { + "id": 469, + "displayName": "Cut Red Sandstone Slab", + "name": "cut_red_sandstone_slab", + "hardness": 2, + "minStateId": 8402, + "maxStateId": 8407, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 157 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8405 + }, + { + "id": 470, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "hardness": 2, + "minStateId": 8408, + "maxStateId": 8413, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 158 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8411 + }, + { + "id": 471, + "displayName": "Smooth Stone", + "name": "smooth_stone", + "hardness": 2, + "minStateId": 8414, + "maxStateId": 8414, + "states": [], + "drops": [ + 165 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8414 + }, + { + "id": 472, + "displayName": "Smooth Sandstone", + "name": "smooth_sandstone", + "hardness": 2, + "minStateId": 8415, + "maxStateId": 8415, + "states": [], + "drops": [ + 164 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8415 + }, + { + "id": 473, + "displayName": "Smooth Quartz Block", + "name": "smooth_quartz", + "hardness": 2, + "minStateId": 8416, + "maxStateId": 8416, + "states": [], + "drops": [ + 162 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8416 + }, + { + "id": 474, + "displayName": "Smooth Red Sandstone", + "name": "smooth_red_sandstone", + "hardness": 2, + "minStateId": 8417, + "maxStateId": 8417, + "states": [], + "drops": [ + 163 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 8417 + }, + { + "id": 475, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "hardness": 2, + "minStateId": 8418, + "maxStateId": 8449, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 253 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8425 + }, + { + "id": 476, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "hardness": 2, + "minStateId": 8450, + "maxStateId": 8481, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 254 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8457 + }, + { + "id": 477, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "hardness": 2, + "minStateId": 8482, + "maxStateId": 8513, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 255 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8489 + }, + { + "id": 478, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "hardness": 2, + "minStateId": 8514, + "maxStateId": 8545, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 256 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8521 + }, + { + "id": 479, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "hardness": 2, + "minStateId": 8546, + "maxStateId": 8577, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 257 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8553 + }, + { + "id": 480, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "hardness": 2, + "minStateId": 8578, + "maxStateId": 8609, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 209 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8609 + }, + { + "id": 481, + "displayName": "Birch Fence", + "name": "birch_fence", + "hardness": 2, + "minStateId": 8610, + "maxStateId": 8641, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 210 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8641 + }, + { + "id": 482, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "hardness": 2, + "minStateId": 8642, + "maxStateId": 8673, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 211 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8673 + }, + { + "id": 483, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "hardness": 2, + "minStateId": 8674, + "maxStateId": 8705, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 212 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8705 + }, + { + "id": 484, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "hardness": 2, + "minStateId": 8706, + "maxStateId": 8737, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 213 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8737 + }, + { + "id": 485, + "displayName": "Spruce Door", + "name": "spruce_door", + "hardness": 3, + "minStateId": 8738, + "maxStateId": 8801, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 559 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8749 + }, + { + "id": 486, + "displayName": "Birch Door", + "name": "birch_door", + "hardness": 3, + "minStateId": 8802, + "maxStateId": 8865, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 560 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8813 + }, + { + "id": 487, + "displayName": "Jungle Door", + "name": "jungle_door", + "hardness": 3, + "minStateId": 8866, + "maxStateId": 8929, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 561 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8877 + }, + { + "id": 488, + "displayName": "Acacia Door", + "name": "acacia_door", + "hardness": 3, + "minStateId": 8930, + "maxStateId": 8993, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 562 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8941 + }, + { + "id": 489, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "hardness": 3, + "minStateId": 8994, + "maxStateId": 9057, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 563 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 9005 + }, + { + "id": 490, + "displayName": "End Rod", + "name": "end_rod", + "hardness": 0, + "minStateId": 9058, + "maxStateId": 9063, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 172 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 14, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9062 + }, + { + "id": 491, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "hardness": 0.4, + "minStateId": 9064, + "maxStateId": 9127, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 886 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9127 + }, + { + "id": 492, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "hardness": 0.4, + "minStateId": 9128, + "maxStateId": 9133, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 6 + } + ], + "drops": [ + 174 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9128 + }, + { + "id": 493, + "displayName": "Purpur Block", + "name": "purpur_block", + "hardness": 1.5, + "minStateId": 9134, + "maxStateId": 9134, + "states": [], + "drops": [ + 175 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9134 + }, + { + "id": 494, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "hardness": 1.5, + "minStateId": 9135, + "maxStateId": 9137, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 176 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9136 + }, + { + "id": 495, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "hardness": 0, + "minStateId": 9138, + "maxStateId": 9217, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 177 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9149 + }, + { + "id": 496, + "displayName": "End Stone Bricks", + "name": "end_stone_bricks", + "hardness": 3, + "minStateId": 9218, + "maxStateId": 9218, + "states": [], + "drops": [ + 272 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9218 + }, + { + "id": 497, + "displayName": "Beetroots", + "name": "beetroots", + "hardness": 0, + "minStateId": 9219, + "maxStateId": 9222, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 888, + 889 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9219 + }, + { + "id": 498, + "displayName": "Grass Path", + "name": "grass_path", + "hardness": 0.65, + "minStateId": 9223, + "maxStateId": 9223, + "states": [], + "drops": [ + 9 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9223 + }, + { + "id": 499, + "displayName": "End Gateway", + "name": "end_gateway", + "hardness": null, + "minStateId": 9224, + "maxStateId": 9224, + "states": [], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 9224 + }, + { + "id": 500, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "hardness": null, + "minStateId": 9225, + "maxStateId": 9236, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9231 + }, + { + "id": 501, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "hardness": null, + "minStateId": 9237, + "maxStateId": 9248, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9243 + }, + { + "id": 502, + "displayName": "Frosted Ice", + "name": "frosted_ice", + "hardness": 0.5, + "minStateId": 9249, + "maxStateId": 9252, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 2, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "defaultState": 9249 + }, + { + "id": 503, + "displayName": "Magma Block", + "name": "magma_block", + "hardness": 0.5, + "minStateId": 9253, + "maxStateId": 9253, + "states": [], + "drops": [ + 424 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9253 + }, + { + "id": 504, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "hardness": 1, + "minStateId": 9254, + "maxStateId": 9254, + "states": [], + "drops": [ + 425 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9254 + }, + { + "id": 505, + "displayName": "Red Nether Bricks", + "name": "red_nether_bricks", + "hardness": 2, + "minStateId": 9255, + "maxStateId": 9255, + "states": [], + "drops": [ + 427 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9255 + }, + { + "id": 506, + "displayName": "Bone Block", + "name": "bone_block", + "hardness": 2, + "minStateId": 9256, + "maxStateId": 9258, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 428 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9257 + }, + { + "id": 507, + "displayName": "Structure Void", + "name": "structure_void", + "hardness": 0, + "minStateId": 9259, + "maxStateId": 9259, + "states": [], + "drops": [], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9259 + }, + { + "id": 508, + "displayName": "Observer", + "name": "observer", + "hardness": 3, + "minStateId": 9260, + "maxStateId": 9271, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 430 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9265 + }, + { + "id": 509, + "displayName": "Shulker Box", + "name": "shulker_box", + "hardness": 2, + "minStateId": 9272, + "maxStateId": 9277, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 431 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9276 + }, + { + "id": 510, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "hardness": 2, + "minStateId": 9278, + "maxStateId": 9283, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 432 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9282 + }, + { + "id": 511, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "hardness": 2, + "minStateId": 9284, + "maxStateId": 9289, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 433 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9288 + }, + { + "id": 512, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "hardness": 2, + "minStateId": 9290, + "maxStateId": 9295, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 434 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9294 + }, + { + "id": 513, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "hardness": 2, + "minStateId": 9296, + "maxStateId": 9301, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 435 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9300 + }, + { + "id": 514, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "hardness": 2, + "minStateId": 9302, + "maxStateId": 9307, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 436 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9306 + }, + { + "id": 515, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "hardness": 2, + "minStateId": 9308, + "maxStateId": 9313, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 437 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9312 + }, + { + "id": 516, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "hardness": 2, + "minStateId": 9314, + "maxStateId": 9319, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 438 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9318 + }, + { + "id": 517, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "hardness": 2, + "minStateId": 9320, + "maxStateId": 9325, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 439 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9324 + }, + { + "id": 518, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "hardness": 2, + "minStateId": 9326, + "maxStateId": 9331, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 440 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9330 + }, + { + "id": 519, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "hardness": 2, + "minStateId": 9332, + "maxStateId": 9337, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 441 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9336 + }, + { + "id": 520, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "hardness": 2, + "minStateId": 9338, + "maxStateId": 9343, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 442 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9342 + }, + { + "id": 521, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "hardness": 2, + "minStateId": 9344, + "maxStateId": 9349, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 443 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9348 + }, + { + "id": 522, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "hardness": 2, + "minStateId": 9350, + "maxStateId": 9355, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 444 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9354 + }, + { + "id": 523, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "hardness": 2, + "minStateId": 9356, + "maxStateId": 9361, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 445 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9360 + }, + { + "id": 524, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "hardness": 2, + "minStateId": 9362, + "maxStateId": 9367, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 446 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9366 + }, + { + "id": 525, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "hardness": 2, + "minStateId": 9368, + "maxStateId": 9373, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 447 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9372 + }, + { + "id": 526, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9374, + "maxStateId": 9377, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 448 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9374 + }, + { + "id": 527, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9378, + "maxStateId": 9381, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 449 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9378 + }, + { + "id": 528, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9382, + "maxStateId": 9385, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 450 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9382 + }, + { + "id": 529, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9386, + "maxStateId": 9389, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 451 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9386 + }, + { + "id": 530, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9390, + "maxStateId": 9393, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 452 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9390 + }, + { + "id": 531, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9394, + "maxStateId": 9397, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 453 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9394 + }, + { + "id": 532, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9398, + "maxStateId": 9401, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 454 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9398 + }, + { + "id": 533, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9402, + "maxStateId": 9405, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 455 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9402 + }, + { + "id": 534, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9406, + "maxStateId": 9409, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 456 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9406 + }, + { + "id": 535, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9410, + "maxStateId": 9413, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 457 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9410 + }, + { + "id": 536, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9414, + "maxStateId": 9417, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 458 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9414 + }, + { + "id": 537, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9418, + "maxStateId": 9421, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 459 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9418 + }, + { + "id": 538, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9422, + "maxStateId": 9425, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 460 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9422 + }, + { + "id": 539, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9426, + "maxStateId": 9429, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 461 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9426 + }, + { + "id": 540, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9430, + "maxStateId": 9433, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 462 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9430 + }, + { + "id": 541, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9434, + "maxStateId": 9437, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 463 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9434 + }, + { + "id": 542, + "displayName": "White Concrete", + "name": "white_concrete", + "hardness": 1.8, + "minStateId": 9438, + "maxStateId": 9438, + "states": [], + "drops": [ + 464 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9438 + }, + { + "id": 543, + "displayName": "Orange Concrete", + "name": "orange_concrete", + "hardness": 1.8, + "minStateId": 9439, + "maxStateId": 9439, + "states": [], + "drops": [ + 465 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9439 + }, + { + "id": 544, + "displayName": "Magenta Concrete", + "name": "magenta_concrete", + "hardness": 1.8, + "minStateId": 9440, + "maxStateId": 9440, + "states": [], + "drops": [ + 466 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9440 + }, + { + "id": 545, + "displayName": "Light Blue Concrete", + "name": "light_blue_concrete", + "hardness": 1.8, + "minStateId": 9441, + "maxStateId": 9441, + "states": [], + "drops": [ + 467 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9441 + }, + { + "id": 546, + "displayName": "Yellow Concrete", + "name": "yellow_concrete", + "hardness": 1.8, + "minStateId": 9442, + "maxStateId": 9442, + "states": [], + "drops": [ + 468 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9442 + }, + { + "id": 547, + "displayName": "Lime Concrete", + "name": "lime_concrete", + "hardness": 1.8, + "minStateId": 9443, + "maxStateId": 9443, + "states": [], + "drops": [ + 469 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9443 + }, + { + "id": 548, + "displayName": "Pink Concrete", + "name": "pink_concrete", + "hardness": 1.8, + "minStateId": 9444, + "maxStateId": 9444, + "states": [], + "drops": [ + 470 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9444 + }, + { + "id": 549, + "displayName": "Gray Concrete", + "name": "gray_concrete", + "hardness": 1.8, + "minStateId": 9445, + "maxStateId": 9445, + "states": [], + "drops": [ + 471 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9445 + }, + { + "id": 550, + "displayName": "Light Gray Concrete", + "name": "light_gray_concrete", + "hardness": 1.8, + "minStateId": 9446, + "maxStateId": 9446, + "states": [], + "drops": [ + 472 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9446 + }, + { + "id": 551, + "displayName": "Cyan Concrete", + "name": "cyan_concrete", + "hardness": 1.8, + "minStateId": 9447, + "maxStateId": 9447, + "states": [], + "drops": [ + 473 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9447 + }, + { + "id": 552, + "displayName": "Purple Concrete", + "name": "purple_concrete", + "hardness": 1.8, + "minStateId": 9448, + "maxStateId": 9448, + "states": [], + "drops": [ + 474 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9448 + }, + { + "id": 553, + "displayName": "Blue Concrete", + "name": "blue_concrete", + "hardness": 1.8, + "minStateId": 9449, + "maxStateId": 9449, + "states": [], + "drops": [ + 475 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9449 + }, + { + "id": 554, + "displayName": "Brown Concrete", + "name": "brown_concrete", + "hardness": 1.8, + "minStateId": 9450, + "maxStateId": 9450, + "states": [], + "drops": [ + 476 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9450 + }, + { + "id": 555, + "displayName": "Green Concrete", + "name": "green_concrete", + "hardness": 1.8, + "minStateId": 9451, + "maxStateId": 9451, + "states": [], + "drops": [ + 477 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9451 + }, + { + "id": 556, + "displayName": "Red Concrete", + "name": "red_concrete", + "hardness": 1.8, + "minStateId": 9452, + "maxStateId": 9452, + "states": [], + "drops": [ + 478 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9452 + }, + { + "id": 557, + "displayName": "Black Concrete", + "name": "black_concrete", + "hardness": 1.8, + "minStateId": 9453, + "maxStateId": 9453, + "states": [], + "drops": [ + 479 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9453 + }, + { + "id": 558, + "displayName": "White Concrete Powder", + "name": "white_concrete_powder", + "hardness": 0.5, + "minStateId": 9454, + "maxStateId": 9454, + "states": [], + "drops": [ + 480 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9454 + }, + { + "id": 559, + "displayName": "Orange Concrete Powder", + "name": "orange_concrete_powder", + "hardness": 0.5, + "minStateId": 9455, + "maxStateId": 9455, + "states": [], + "drops": [ + 481 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9455 + }, + { + "id": 560, + "displayName": "Magenta Concrete Powder", + "name": "magenta_concrete_powder", + "hardness": 0.5, + "minStateId": 9456, + "maxStateId": 9456, + "states": [], + "drops": [ + 482 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9456 + }, + { + "id": 561, + "displayName": "Light Blue Concrete Powder", + "name": "light_blue_concrete_powder", + "hardness": 0.5, + "minStateId": 9457, + "maxStateId": 9457, + "states": [], + "drops": [ + 483 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9457 + }, + { + "id": 562, + "displayName": "Yellow Concrete Powder", + "name": "yellow_concrete_powder", + "hardness": 0.5, + "minStateId": 9458, + "maxStateId": 9458, + "states": [], + "drops": [ + 484 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9458 + }, + { + "id": 563, + "displayName": "Lime Concrete Powder", + "name": "lime_concrete_powder", + "hardness": 0.5, + "minStateId": 9459, + "maxStateId": 9459, + "states": [], + "drops": [ + 485 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9459 + }, + { + "id": 564, + "displayName": "Pink Concrete Powder", + "name": "pink_concrete_powder", + "hardness": 0.5, + "minStateId": 9460, + "maxStateId": 9460, + "states": [], + "drops": [ + 486 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9460 + }, + { + "id": 565, + "displayName": "Gray Concrete Powder", + "name": "gray_concrete_powder", + "hardness": 0.5, + "minStateId": 9461, + "maxStateId": 9461, + "states": [], + "drops": [ + 487 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9461 + }, + { + "id": 566, + "displayName": "Light Gray Concrete Powder", + "name": "light_gray_concrete_powder", + "hardness": 0.5, + "minStateId": 9462, + "maxStateId": 9462, + "states": [], + "drops": [ + 488 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9462 + }, + { + "id": 567, + "displayName": "Cyan Concrete Powder", + "name": "cyan_concrete_powder", + "hardness": 0.5, + "minStateId": 9463, + "maxStateId": 9463, + "states": [], + "drops": [ + 489 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9463 + }, + { + "id": 568, + "displayName": "Purple Concrete Powder", + "name": "purple_concrete_powder", + "hardness": 0.5, + "minStateId": 9464, + "maxStateId": 9464, + "states": [], + "drops": [ + 490 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9464 + }, + { + "id": 569, + "displayName": "Blue Concrete Powder", + "name": "blue_concrete_powder", + "hardness": 0.5, + "minStateId": 9465, + "maxStateId": 9465, + "states": [], + "drops": [ + 491 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9465 + }, + { + "id": 570, + "displayName": "Brown Concrete Powder", + "name": "brown_concrete_powder", + "hardness": 0.5, + "minStateId": 9466, + "maxStateId": 9466, + "states": [], + "drops": [ + 492 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9466 + }, + { + "id": 571, + "displayName": "Green Concrete Powder", + "name": "green_concrete_powder", + "hardness": 0.5, + "minStateId": 9467, + "maxStateId": 9467, + "states": [], + "drops": [ + 493 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9467 + }, + { + "id": 572, + "displayName": "Red Concrete Powder", + "name": "red_concrete_powder", + "hardness": 0.5, + "minStateId": 9468, + "maxStateId": 9468, + "states": [], + "drops": [ + 494 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9468 + }, + { + "id": 573, + "displayName": "Black Concrete Powder", + "name": "black_concrete_powder", + "hardness": 0.5, + "minStateId": 9469, + "maxStateId": 9469, + "states": [], + "drops": [ + 495 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9469 + }, + { + "id": 574, + "displayName": "Kelp", + "name": "kelp", + "hardness": 0, + "minStateId": 9470, + "maxStateId": 9495, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 26 + } + ], + "drops": [ + 134 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9470 + }, + { + "id": 575, + "displayName": "Kelp Plant", + "name": "kelp_plant", + "hardness": 0, + "minStateId": 9496, + "maxStateId": 9496, + "states": [], + "drops": [ + 134 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9496 + }, + { + "id": 576, + "displayName": "Dried Kelp Block", + "name": "dried_kelp_block", + "hardness": 0.5, + "minStateId": 9497, + "maxStateId": 9497, + "states": [], + "drops": [ + 676 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9497 + }, + { + "id": 577, + "displayName": "Turtle Egg", + "name": "turtle_egg", + "hardness": 0.5, + "minStateId": 9498, + "maxStateId": 9509, + "states": [ + { + "name": "eggs", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "hatch", + "type": "int", + "num_values": 3 + } + ], + "drops": [ + 496 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9498 + }, + { + "id": 578, + "displayName": "Dead Tube Coral Block", + "name": "dead_tube_coral_block", + "hardness": 1.5, + "minStateId": 9510, + "maxStateId": 9510, + "states": [], + "drops": [ + 497 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9510 + }, + { + "id": 579, + "displayName": "Dead Brain Coral Block", + "name": "dead_brain_coral_block", + "hardness": 1.5, + "minStateId": 9511, + "maxStateId": 9511, + "states": [], + "drops": [ + 498 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9511 + }, + { + "id": 580, + "displayName": "Dead Bubble Coral Block", + "name": "dead_bubble_coral_block", + "hardness": 1.5, + "minStateId": 9512, + "maxStateId": 9512, + "states": [], + "drops": [ + 499 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9512 + }, + { + "id": 581, + "displayName": "Dead Fire Coral Block", + "name": "dead_fire_coral_block", + "hardness": 1.5, + "minStateId": 9513, + "maxStateId": 9513, + "states": [], + "drops": [ + 500 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9513 + }, + { + "id": 582, + "displayName": "Dead Horn Coral Block", + "name": "dead_horn_coral_block", + "hardness": 1.5, + "minStateId": 9514, + "maxStateId": 9514, + "states": [], + "drops": [ + 501 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9514 + }, + { + "id": 583, + "displayName": "Tube Coral Block", + "name": "tube_coral_block", + "hardness": 1.5, + "minStateId": 9515, + "maxStateId": 9515, + "states": [], + "drops": [ + 502, + 497 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9515 + }, + { + "id": 584, + "displayName": "Brain Coral Block", + "name": "brain_coral_block", + "hardness": 1.5, + "minStateId": 9516, + "maxStateId": 9516, + "states": [], + "drops": [ + 503, + 498 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9516 + }, + { + "id": 585, + "displayName": "Bubble Coral Block", + "name": "bubble_coral_block", + "hardness": 1.5, + "minStateId": 9517, + "maxStateId": 9517, + "states": [], + "drops": [ + 504, + 499 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9517 + }, + { + "id": 586, + "displayName": "Fire Coral Block", + "name": "fire_coral_block", + "hardness": 1.5, + "minStateId": 9518, + "maxStateId": 9518, + "states": [], + "drops": [ + 505, + 500 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9518 + }, + { + "id": 587, + "displayName": "Horn Coral Block", + "name": "horn_coral_block", + "hardness": 1.5, + "minStateId": 9519, + "maxStateId": 9519, + "states": [], + "drops": [ + 506, + 501 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 9519 + }, + { + "id": 588, + "displayName": "Dead Tube Coral", + "name": "dead_tube_coral", + "hardness": 0, + "minStateId": 9520, + "maxStateId": 9521, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 516 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9520 + }, + { + "id": 589, + "displayName": "Dead Brain Coral", + "name": "dead_brain_coral", + "hardness": 0, + "minStateId": 9522, + "maxStateId": 9523, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 512 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9522 + }, + { + "id": 590, + "displayName": "Dead Bubble Coral", + "name": "dead_bubble_coral", + "hardness": 0, + "minStateId": 9524, + "maxStateId": 9525, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 513 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9524 + }, + { + "id": 591, + "displayName": "Dead Fire Coral", + "name": "dead_fire_coral", + "hardness": 0, + "minStateId": 9526, + "maxStateId": 9527, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 514 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9526 + }, + { + "id": 592, + "displayName": "Dead Horn Coral", + "name": "dead_horn_coral", + "hardness": 0, + "minStateId": 9528, + "maxStateId": 9529, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 515 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9528 + }, + { + "id": 593, + "displayName": "Tube Coral", + "name": "tube_coral", + "hardness": 0, + "minStateId": 9530, + "maxStateId": 9531, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 507 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9530 + }, + { + "id": 594, + "displayName": "Brain Coral", + "name": "brain_coral", + "hardness": 0, + "minStateId": 9532, + "maxStateId": 9533, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 508 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9532 + }, + { + "id": 595, + "displayName": "Bubble Coral", + "name": "bubble_coral", + "hardness": 0, + "minStateId": 9534, + "maxStateId": 9535, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 509 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9534 + }, + { + "id": 596, + "displayName": "Fire Coral", + "name": "fire_coral", + "hardness": 0, + "minStateId": 9536, + "maxStateId": 9537, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 510 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9536 + }, + { + "id": 597, + "displayName": "Horn Coral", + "name": "horn_coral", + "hardness": 0, + "minStateId": 9538, + "maxStateId": 9539, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 511 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9538 + }, + { + "id": 598, + "displayName": "Dead Tube Coral Fan", + "name": "dead_tube_coral_fan", + "hardness": 0, + "minStateId": 9540, + "maxStateId": 9541, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 522 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9540 + }, + { + "id": 599, + "displayName": "Dead Brain Coral Fan", + "name": "dead_brain_coral_fan", + "hardness": 0, + "minStateId": 9542, + "maxStateId": 9543, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 523 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9542 + }, + { + "id": 600, + "displayName": "Dead Bubble Coral Fan", + "name": "dead_bubble_coral_fan", + "hardness": 0, + "minStateId": 9544, + "maxStateId": 9545, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 524 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9544 + }, + { + "id": 601, + "displayName": "Dead Fire Coral Fan", + "name": "dead_fire_coral_fan", + "hardness": 0, + "minStateId": 9546, + "maxStateId": 9547, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 525 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9546 + }, + { + "id": 602, + "displayName": "Dead Horn Coral Fan", + "name": "dead_horn_coral_fan", + "hardness": 0, + "minStateId": 9548, + "maxStateId": 9549, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 526 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9548 + }, + { + "id": 603, + "displayName": "Tube Coral Fan", + "name": "tube_coral_fan", + "hardness": 0, + "minStateId": 9550, + "maxStateId": 9551, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 517 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9550 + }, + { + "id": 604, + "displayName": "Brain Coral Fan", + "name": "brain_coral_fan", + "hardness": 0, + "minStateId": 9552, + "maxStateId": 9553, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 518 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9552 + }, + { + "id": 605, + "displayName": "Bubble Coral Fan", + "name": "bubble_coral_fan", + "hardness": 0, + "minStateId": 9554, + "maxStateId": 9555, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 519 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9554 + }, + { + "id": 606, + "displayName": "Fire Coral Fan", + "name": "fire_coral_fan", + "hardness": 0, + "minStateId": 9556, + "maxStateId": 9557, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 520 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9556 + }, + { + "id": 607, + "displayName": "Horn Coral Fan", + "name": "horn_coral_fan", + "hardness": 0, + "minStateId": 9558, + "maxStateId": 9559, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 521 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9558 + }, + { + "id": 608, + "displayName": "Dead Tube Coral Wall Fan", + "name": "dead_tube_coral_wall_fan", + "hardness": 0, + "minStateId": 9560, + "maxStateId": 9567, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9560 + }, + { + "id": 609, + "displayName": "Dead Brain Coral Wall Fan", + "name": "dead_brain_coral_wall_fan", + "hardness": 0, + "minStateId": 9568, + "maxStateId": 9575, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9568 + }, + { + "id": 610, + "displayName": "Dead Bubble Coral Wall Fan", + "name": "dead_bubble_coral_wall_fan", + "hardness": 0, + "minStateId": 9576, + "maxStateId": 9583, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9576 + }, + { + "id": 611, + "displayName": "Dead Fire Coral Wall Fan", + "name": "dead_fire_coral_wall_fan", + "hardness": 0, + "minStateId": 9584, + "maxStateId": 9591, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9584 + }, + { + "id": 612, + "displayName": "Dead Horn Coral Wall Fan", + "name": "dead_horn_coral_wall_fan", + "hardness": 0, + "minStateId": 9592, + "maxStateId": 9599, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9592 + }, + { + "id": 613, + "displayName": "Tube Coral Wall Fan", + "name": "tube_coral_wall_fan", + "hardness": 0, + "minStateId": 9600, + "maxStateId": 9607, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9600 + }, + { + "id": 614, + "displayName": "Brain Coral Wall Fan", + "name": "brain_coral_wall_fan", + "hardness": 0, + "minStateId": 9608, + "maxStateId": 9615, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9608 + }, + { + "id": 615, + "displayName": "Bubble Coral Wall Fan", + "name": "bubble_coral_wall_fan", + "hardness": 0, + "minStateId": 9616, + "maxStateId": 9623, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9616 + }, + { + "id": 616, + "displayName": "Fire Coral Wall Fan", + "name": "fire_coral_wall_fan", + "hardness": 0, + "minStateId": 9624, + "maxStateId": 9631, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9624 + }, + { + "id": 617, + "displayName": "Horn Coral Wall Fan", + "name": "horn_coral_wall_fan", + "hardness": 0, + "minStateId": 9632, + "maxStateId": 9639, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9632 + }, + { + "id": 618, + "displayName": "Sea Pickle", + "name": "sea_pickle", + "hardness": 0, + "minStateId": 9640, + "maxStateId": 9647, + "states": [ + { + "name": "pickles", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 93 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9640 + }, + { + "id": 619, + "displayName": "Blue Ice", + "name": "blue_ice", + "hardness": 2.8, + "minStateId": 9648, + "maxStateId": 9648, + "states": [], + "drops": [ + 527 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9648 + }, + { + "id": 620, + "displayName": "Conduit", + "name": "conduit", + "hardness": 3, + "minStateId": 9649, + "maxStateId": 9650, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 528 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 9649 + }, + { + "id": 621, + "displayName": "Bamboo Shoot", + "name": "bamboo_sapling", + "hardness": 1, + "minStateId": 9651, + "maxStateId": 9651, + "states": [], + "drops": [ + 135 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9651 + }, + { + "id": 622, + "displayName": "Bamboo", + "name": "bamboo", + "hardness": 1, + "minStateId": 9652, + "maxStateId": 9663, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 2 + }, + { + "name": "leaves", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "small", + "large" + ] + }, + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 135 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9652 + }, + { + "id": 623, + "displayName": "Potted Bamboo", + "name": "potted_bamboo", + "hardness": 0, + "minStateId": 9664, + "maxStateId": 9664, + "states": [], + "drops": [ + 828, + 135 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9664 + }, + { + "id": 624, + "displayName": "Void Air", + "name": "void_air", + "hardness": 0, + "minStateId": 9665, + "maxStateId": 9665, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 9665 + }, + { + "id": 625, + "displayName": "Cave Air", + "name": "cave_air", + "hardness": 0, + "minStateId": 9666, + "maxStateId": 9666, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 9666 + }, + { + "id": 626, + "displayName": "Bubble Column", + "name": "bubble_column", + "hardness": 0, + "minStateId": 9667, + "maxStateId": 9668, + "states": [ + { + "name": "drag", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 9667 + }, + { + "id": 627, + "displayName": "Polished Granite Stairs", + "name": "polished_granite_stairs", + "hardness": 0, + "minStateId": 9669, + "maxStateId": 9748, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 529 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9680 + }, + { + "id": 628, + "displayName": "Smooth Red Sandstone Stairs", + "name": "smooth_red_sandstone_stairs", + "hardness": 0, + "minStateId": 9749, + "maxStateId": 9828, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 530 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9760 + }, + { + "id": 629, + "displayName": "Mossy Stone Brick Stairs", + "name": "mossy_stone_brick_stairs", + "hardness": 0, + "minStateId": 9829, + "maxStateId": 9908, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 531 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9840 + }, + { + "id": 630, + "displayName": "Polished Diorite Stairs", + "name": "polished_diorite_stairs", + "hardness": 0, + "minStateId": 9909, + "maxStateId": 9988, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 532 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9920 + }, + { + "id": 631, + "displayName": "Mossy Cobblestone Stairs", + "name": "mossy_cobblestone_stairs", + "hardness": 0, + "minStateId": 9989, + "maxStateId": 10068, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 533 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10000 + }, + { + "id": 632, + "displayName": "End Stone Brick Stairs", + "name": "end_stone_brick_stairs", + "hardness": 0, + "minStateId": 10069, + "maxStateId": 10148, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 534 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10080 + }, + { + "id": 633, + "displayName": "Stone Stairs", + "name": "stone_stairs", + "hardness": 0, + "minStateId": 10149, + "maxStateId": 10228, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 535 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10160 + }, + { + "id": 634, + "displayName": "Smooth Sandstone Stairs", + "name": "smooth_sandstone_stairs", + "hardness": 0, + "minStateId": 10229, + "maxStateId": 10308, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 536 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10240 + }, + { + "id": 635, + "displayName": "Smooth Quartz Stairs", + "name": "smooth_quartz_stairs", + "hardness": 0, + "minStateId": 10309, + "maxStateId": 10388, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 537 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10320 + }, + { + "id": 636, + "displayName": "Granite Stairs", + "name": "granite_stairs", + "hardness": 0, + "minStateId": 10389, + "maxStateId": 10468, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 538 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10400 + }, + { + "id": 637, + "displayName": "Andesite Stairs", + "name": "andesite_stairs", + "hardness": 0, + "minStateId": 10469, + "maxStateId": 10548, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 539 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10480 + }, + { + "id": 638, + "displayName": "Red Nether Brick Stairs", + "name": "red_nether_brick_stairs", + "hardness": 0, + "minStateId": 10549, + "maxStateId": 10628, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 540 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10560 + }, + { + "id": 639, + "displayName": "Polished Andesite Stairs", + "name": "polished_andesite_stairs", + "hardness": 0, + "minStateId": 10629, + "maxStateId": 10708, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 541 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10640 + }, + { + "id": 640, + "displayName": "Diorite Stairs", + "name": "diorite_stairs", + "hardness": 0, + "minStateId": 10709, + "maxStateId": 10788, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 542 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10720 + }, + { + "id": 641, + "displayName": "Polished Granite Slab", + "name": "polished_granite_slab", + "hardness": 0, + "minStateId": 10789, + "maxStateId": 10794, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 543 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10792 + }, + { + "id": 642, + "displayName": "Smooth Red Sandstone Slab", + "name": "smooth_red_sandstone_slab", + "hardness": 0, + "minStateId": 10795, + "maxStateId": 10800, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 544 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10798 + }, + { + "id": 643, + "displayName": "Mossy Stone Brick Slab", + "name": "mossy_stone_brick_slab", + "hardness": 0, + "minStateId": 10801, + "maxStateId": 10806, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 545 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10804 + }, + { + "id": 644, + "displayName": "Polished Diorite Slab", + "name": "polished_diorite_slab", + "hardness": 0, + "minStateId": 10807, + "maxStateId": 10812, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 546 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10810 + }, + { + "id": 645, + "displayName": "Mossy Cobblestone Slab", + "name": "mossy_cobblestone_slab", + "hardness": 0, + "minStateId": 10813, + "maxStateId": 10818, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 547 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10816 + }, + { + "id": 646, + "displayName": "End Stone Brick Slab", + "name": "end_stone_brick_slab", + "hardness": 0, + "minStateId": 10819, + "maxStateId": 10824, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 548 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10822 + }, + { + "id": 647, + "displayName": "Smooth Sandstone Slab", + "name": "smooth_sandstone_slab", + "hardness": 0, + "minStateId": 10825, + "maxStateId": 10830, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 549 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10828 + }, + { + "id": 648, + "displayName": "Smooth Quartz Slab", + "name": "smooth_quartz_slab", + "hardness": 0, + "minStateId": 10831, + "maxStateId": 10836, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 550 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10834 + }, + { + "id": 649, + "displayName": "Granite Slab", + "name": "granite_slab", + "hardness": 0, + "minStateId": 10837, + "maxStateId": 10842, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 551 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10840 + }, + { + "id": 650, + "displayName": "Andesite Slab", + "name": "andesite_slab", + "hardness": 0, + "minStateId": 10843, + "maxStateId": 10848, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 552 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10846 + }, + { + "id": 651, + "displayName": "Red Nether Brick Slab", + "name": "red_nether_brick_slab", + "hardness": 0, + "minStateId": 10849, + "maxStateId": 10854, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 553 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10852 + }, + { + "id": 652, + "displayName": "Polished Andesite Slab", + "name": "polished_andesite_slab", + "hardness": 0, + "minStateId": 10855, + "maxStateId": 10860, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 554 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10858 + }, + { + "id": 653, + "displayName": "Diorite Slab", + "name": "diorite_slab", + "hardness": 0, + "minStateId": 10861, + "maxStateId": 10866, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 555 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10864 + }, + { + "id": 654, + "displayName": "Brick Wall", + "name": "brick_wall", + "hardness": 0, + "minStateId": 10867, + "maxStateId": 11190, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 289 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 10870 + }, + { + "id": 655, + "displayName": "Prismarine Wall", + "name": "prismarine_wall", + "hardness": 0, + "minStateId": 11191, + "maxStateId": 11514, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 290 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 11194 + }, + { + "id": 656, + "displayName": "Red Sandstone Wall", + "name": "red_sandstone_wall", + "hardness": 0, + "minStateId": 11515, + "maxStateId": 11838, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 291 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 11518 + }, + { + "id": 657, + "displayName": "Mossy Stone Brick Wall", + "name": "mossy_stone_brick_wall", + "hardness": 0, + "minStateId": 11839, + "maxStateId": 12162, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 292 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 11842 + }, + { + "id": 658, + "displayName": "Granite Wall", + "name": "granite_wall", + "hardness": 0, + "minStateId": 12163, + "maxStateId": 12486, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 293 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 12166 + }, + { + "id": 659, + "displayName": "Stone Brick Wall", + "name": "stone_brick_wall", + "hardness": 0, + "minStateId": 12487, + "maxStateId": 12810, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 294 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 12490 + }, + { + "id": 660, + "displayName": "Nether Brick Wall", + "name": "nether_brick_wall", + "hardness": 0, + "minStateId": 12811, + "maxStateId": 13134, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 295 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 12814 + }, + { + "id": 661, + "displayName": "Andesite Wall", + "name": "andesite_wall", + "hardness": 0, + "minStateId": 13135, + "maxStateId": 13458, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 296 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 13138 + }, + { + "id": 662, + "displayName": "Red Nether Brick Wall", + "name": "red_nether_brick_wall", + "hardness": 0, + "minStateId": 13459, + "maxStateId": 13782, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 297 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 13462 + }, + { + "id": 663, + "displayName": "Sandstone Wall", + "name": "sandstone_wall", + "hardness": 0, + "minStateId": 13783, + "maxStateId": 14106, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 298 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 13786 + }, + { + "id": 664, + "displayName": "End Stone Brick Wall", + "name": "end_stone_brick_wall", + "hardness": 0, + "minStateId": 14107, + "maxStateId": 14430, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 299 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 14110 + }, + { + "id": 665, + "displayName": "Diorite Wall", + "name": "diorite_wall", + "hardness": 0, + "minStateId": 14431, + "maxStateId": 14754, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 300 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 14434 + }, + { + "id": 666, + "displayName": "Scaffolding", + "name": "scaffolding", + "hardness": 0, + "minStateId": 14755, + "maxStateId": 14786, + "states": [ + { + "name": "bottom", + "type": "bool", + "num_values": 2 + }, + { + "name": "distance", + "type": "int", + "num_values": 8 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 556 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 14786 + }, + { + "id": 667, + "displayName": "Loom", + "name": "loom", + "hardness": 2.5, + "minStateId": 14787, + "maxStateId": 14790, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 927 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 14787 + }, + { + "id": 668, + "displayName": "Barrel", + "name": "barrel", + "hardness": 2.5, + "minStateId": 14791, + "maxStateId": 14802, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 935 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 14792 + }, + { + "id": 669, + "displayName": "Smoker", + "name": "smoker", + "hardness": 3.5, + "minStateId": 14803, + "maxStateId": 14810, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 936 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 14804 + }, + { + "id": 670, + "displayName": "Blast Furnace", + "name": "blast_furnace", + "hardness": 3.5, + "minStateId": 14811, + "maxStateId": 14818, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 937 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 14812 + }, + { + "id": 671, + "displayName": "Cartography Table", + "name": "cartography_table", + "hardness": 2.5, + "minStateId": 14819, + "maxStateId": 14819, + "states": [], + "drops": [ + 938 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 14819 + }, + { + "id": 672, + "displayName": "Fletching Table", + "name": "fletching_table", + "hardness": 2.5, + "minStateId": 14820, + "maxStateId": 14820, + "states": [], + "drops": [ + 939 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 14820 + }, + { + "id": 673, + "displayName": "Grindstone", + "name": "grindstone", + "hardness": 2, + "minStateId": 14821, + "maxStateId": 14832, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 940 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 14825 + }, + { + "id": 674, + "displayName": "Lectern", + "name": "lectern", + "hardness": 2.5, + "minStateId": 14833, + "maxStateId": 14848, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "has_book", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 941 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 14836 + }, + { + "id": 675, + "displayName": "Smithing Table", + "name": "smithing_table", + "hardness": 2.5, + "minStateId": 14849, + "maxStateId": 14849, + "states": [], + "drops": [ + 942 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 14849 + }, + { + "id": 676, + "displayName": "Stonecutter", + "name": "stonecutter", + "hardness": 3.5, + "minStateId": 14850, + "maxStateId": 14853, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 943 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 14850 + }, + { + "id": 677, + "displayName": "Bell", + "name": "bell", + "hardness": 5, + "minStateId": 14854, + "maxStateId": 14885, + "states": [ + { + "name": "attachment", + "type": "enum", + "num_values": 4, + "values": [ + "floor", + "ceiling", + "single_wall", + "double_wall" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 944 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 14855 + }, + { + "id": 678, + "displayName": "Lantern", + "name": "lantern", + "hardness": 3.5, + "minStateId": 14886, + "maxStateId": 14887, + "states": [ + { + "name": "hanging", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 945 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 14887 + }, + { + "id": 679, + "displayName": "Soul Lantern", + "name": "soul_lantern", + "hardness": 3.5, + "minStateId": 14888, + "maxStateId": 14889, + "states": [ + { + "name": "hanging", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 946 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 14889 + }, + { + "id": 680, + "displayName": "Campfire", + "name": "campfire", + "hardness": 2, + "minStateId": 14890, + "maxStateId": 14921, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + }, + { + "name": "signal_fire", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 948, + 580 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "material": "UNKNOWN_MATERIAL", + "defaultState": 14893 + }, + { + "id": 681, + "displayName": "Soul Campfire", + "name": "soul_campfire", + "hardness": 2, + "minStateId": 14922, + "maxStateId": 14953, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + }, + { + "name": "signal_fire", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 949, + 220 + ], + "diggable": true, + "transparent": false, + "stackSize": 1, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 14925 + }, + { + "id": 682, + "displayName": "Sweet Berry Bush", + "name": "sweet_berry_bush", + "hardness": 0, + "minStateId": 14954, + "maxStateId": 14957, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 947 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 14954 + }, + { + "id": 683, + "displayName": "Warped Stem", + "name": "warped_stem", + "hardness": 2, + "minStateId": 14958, + "maxStateId": 14960, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 44 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 14959 + }, + { + "id": 684, + "displayName": "Stripped Warped Stem", + "name": "stripped_warped_stem", + "hardness": 2, + "minStateId": 14961, + "maxStateId": 14963, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 52 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 14962 + }, + { + "id": 685, + "displayName": "Warped Hyphae", + "name": "warped_hyphae", + "hardness": 2, + "minStateId": 14964, + "maxStateId": 14966, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 68 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 14965 + }, + { + "id": 686, + "displayName": "Stripped Warped Hyphae", + "name": "stripped_warped_hyphae", + "hardness": 2, + "minStateId": 14967, + "maxStateId": 14969, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 60 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 14968 + }, + { + "id": 687, + "displayName": "Warped Nylium", + "name": "warped_nylium", + "hardness": 0.4, + "minStateId": 14970, + "maxStateId": 14970, + "states": [], + "drops": [ + 13, + 218 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 14970 + }, + { + "id": 688, + "displayName": "Warped Fungus", + "name": "warped_fungus", + "hardness": 0, + "minStateId": 14971, + "maxStateId": 14971, + "states": [], + "drops": [ + 127 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 14971 + }, + { + "id": 689, + "displayName": "Warped Wart Block", + "name": "warped_wart_block", + "hardness": 1, + "minStateId": 14972, + "maxStateId": 14972, + "states": [], + "drops": [ + 426 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "harvestTools": {}, + "defaultState": 14972 + }, + { + "id": 690, + "displayName": "Warped Roots", + "name": "warped_roots", + "hardness": 0, + "minStateId": 14973, + "maxStateId": 14973, + "states": [], + "drops": [ + 129 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 14973 + }, + { + "id": 691, + "displayName": "Nether Sprouts", + "name": "nether_sprouts", + "hardness": 0, + "minStateId": 14974, + "maxStateId": 14974, + "states": [], + "drops": [ + 130, + 734 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "plant", + "defaultState": 14974 + }, + { + "id": 692, + "displayName": "Crimson Stem", + "name": "crimson_stem", + "hardness": 2, + "minStateId": 14975, + "maxStateId": 14977, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 43 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 14976 + }, + { + "id": 693, + "displayName": "Stripped Crimson Stem", + "name": "stripped_crimson_stem", + "hardness": 2, + "minStateId": 14978, + "maxStateId": 14980, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 51 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 14979 + }, + { + "id": 694, + "displayName": "Crimson Hyphae", + "name": "crimson_hyphae", + "hardness": 2, + "minStateId": 14981, + "maxStateId": 14983, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 67 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 14982 + }, + { + "id": 695, + "displayName": "Stripped Crimson Hyphae", + "name": "stripped_crimson_hyphae", + "hardness": 2, + "minStateId": 14984, + "maxStateId": 14986, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 59 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 14985 + }, + { + "id": 696, + "displayName": "Crimson Nylium", + "name": "crimson_nylium", + "hardness": 0.4, + "minStateId": 14987, + "maxStateId": 14987, + "states": [], + "drops": [ + 12, + 218 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 14987 + }, + { + "id": 697, + "displayName": "Crimson Fungus", + "name": "crimson_fungus", + "hardness": 0, + "minStateId": 14988, + "maxStateId": 14988, + "states": [], + "drops": [ + 126 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 14988 + }, + { + "id": 698, + "displayName": "Shroomlight", + "name": "shroomlight", + "hardness": 1, + "minStateId": 14989, + "maxStateId": 14989, + "states": [], + "drops": [ + 950 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "harvestTools": {}, + "defaultState": 14989 + }, + { + "id": 699, + "displayName": "Weeping Vines", + "name": "weeping_vines", + "hardness": 0, + "minStateId": 14990, + "maxStateId": 15015, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 26 + } + ], + "drops": [ + 734, + 131 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 14990 + }, + { + "id": 700, + "displayName": "Weeping Vines Plant", + "name": "weeping_vines_plant", + "hardness": 0, + "minStateId": 15016, + "maxStateId": 15016, + "states": [], + "drops": [ + 734, + 131 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 15016 + }, + { + "id": 701, + "displayName": "Twisting Vines", + "name": "twisting_vines", + "hardness": 0, + "minStateId": 15017, + "maxStateId": 15042, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 26 + } + ], + "drops": [ + 734, + 132 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 15017 + }, + { + "id": 702, + "displayName": "Twisting Vines Plant", + "name": "twisting_vines_plant", + "hardness": 0, + "minStateId": 15043, + "maxStateId": 15043, + "states": [], + "drops": [ + 734, + 132 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 15043 + }, + { + "id": 703, + "displayName": "Crimson Roots", + "name": "crimson_roots", + "hardness": 0, + "minStateId": 15044, + "maxStateId": 15044, + "states": [], + "drops": [ + 128 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 15044 + }, + { + "id": 704, + "displayName": "Crimson Planks", + "name": "crimson_planks", + "hardness": 2, + "minStateId": 15045, + "maxStateId": 15045, + "states": [], + "drops": [ + 21 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15045 + }, + { + "id": 705, + "displayName": "Warped Planks", + "name": "warped_planks", + "hardness": 2, + "minStateId": 15046, + "maxStateId": 15046, + "states": [], + "drops": [ + 22 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15046 + }, + { + "id": 706, + "displayName": "Crimson Slab", + "name": "crimson_slab", + "hardness": 2, + "minStateId": 15047, + "maxStateId": 15052, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 144 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15050 + }, + { + "id": 707, + "displayName": "Warped Slab", + "name": "warped_slab", + "hardness": 2, + "minStateId": 15053, + "maxStateId": 15058, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 145 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15056 + }, + { + "id": 708, + "displayName": "Crimson Pressure Plate", + "name": "crimson_pressure_plate", + "hardness": 0.5, + "minStateId": 15059, + "maxStateId": 15060, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 197 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 15060 + }, + { + "id": 709, + "displayName": "Warped Pressure Plate", + "name": "warped_pressure_plate", + "hardness": 0.5, + "minStateId": 15061, + "maxStateId": 15062, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 198 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 15062 + }, + { + "id": 710, + "displayName": "Crimson Fence", + "name": "crimson_fence", + "hardness": 2, + "minStateId": 15063, + "maxStateId": 15094, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 214 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15094 + }, + { + "id": 711, + "displayName": "Warped Fence", + "name": "warped_fence", + "hardness": 2, + "minStateId": 15095, + "maxStateId": 15126, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 215 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15126 + }, + { + "id": 712, + "displayName": "Crimson Trapdoor", + "name": "crimson_trapdoor", + "hardness": 3, + "minStateId": 15127, + "maxStateId": 15190, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 232 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15142 + }, + { + "id": 713, + "displayName": "Warped Trapdoor", + "name": "warped_trapdoor", + "hardness": 3, + "minStateId": 15191, + "maxStateId": 15254, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 233 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15206 + }, + { + "id": 714, + "displayName": "Crimson Fence Gate", + "name": "crimson_fence_gate", + "hardness": 2, + "minStateId": 15255, + "maxStateId": 15286, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 258 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15262 + }, + { + "id": 715, + "displayName": "Warped Fence Gate", + "name": "warped_fence_gate", + "hardness": 2, + "minStateId": 15287, + "maxStateId": 15318, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 259 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15294 + }, + { + "id": 716, + "displayName": "Crimson Stairs", + "name": "crimson_stairs", + "hardness": 0, + "minStateId": 15319, + "maxStateId": 15398, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 283 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15330 + }, + { + "id": 717, + "displayName": "Warped Stairs", + "name": "warped_stairs", + "hardness": 0, + "minStateId": 15399, + "maxStateId": 15478, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 284 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15410 + }, + { + "id": 718, + "displayName": "Crimson Button", + "name": "crimson_button", + "hardness": 0.5, + "minStateId": 15479, + "maxStateId": 15502, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 311 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 15488 + }, + { + "id": 719, + "displayName": "Warped Button", + "name": "warped_button", + "hardness": 0.5, + "minStateId": 15503, + "maxStateId": 15526, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 312 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 15512 + }, + { + "id": 720, + "displayName": "Crimson Door", + "name": "crimson_door", + "hardness": 3, + "minStateId": 15527, + "maxStateId": 15590, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 564 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15538 + }, + { + "id": 721, + "displayName": "Warped Door", + "name": "warped_door", + "hardness": 3, + "minStateId": 15591, + "maxStateId": 15654, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 565 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15602 + }, + { + "id": 722, + "displayName": "Crimson Sign", + "name": "crimson_sign", + "hardness": 1, + "minStateId": 15655, + "maxStateId": 15686, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 658 + ], + "diggable": true, + "transparent": true, + "stackSize": 16, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 15656 + }, + { + "id": 723, + "displayName": "Warped Sign", + "name": "warped_sign", + "hardness": 1, + "minStateId": 15687, + "maxStateId": 15718, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 659 + ], + "diggable": true, + "transparent": true, + "stackSize": 16, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 15688 + }, + { + "id": 724, + "displayName": "Crimson Wall Sign", + "name": "crimson_wall_sign", + "hardness": 1, + "minStateId": 15719, + "maxStateId": 15726, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "stackSize": 16, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 15720 + }, + { + "id": 725, + "displayName": "Warped Wall Sign", + "name": "warped_wall_sign", + "hardness": 1, + "minStateId": 15727, + "maxStateId": 15734, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "stackSize": 16, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "wood", + "defaultState": 15728 + }, + { + "id": 726, + "displayName": "Structure Block", + "name": "structure_block", + "hardness": null, + "minStateId": 15735, + "maxStateId": 15738, + "states": [ + { + "name": "mode", + "type": "enum", + "num_values": 4, + "values": [ + "save", + "load", + "corner", + "data" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 15735 + }, + { + "id": 727, + "displayName": "Jigsaw Block", + "name": "jigsaw", + "hardness": null, + "minStateId": 15739, + "maxStateId": 15750, + "states": [ + { + "name": "orientation", + "type": "enum", + "num_values": 12, + "values": [ + "down_east", + "down_north", + "down_south", + "down_west", + "up_east", + "up_north", + "up_south", + "up_west", + "west_up", + "east_up", + "north_up", + "south_up" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 15749 + }, + { + "id": 728, + "displayName": "Composter", + "name": "composter", + "hardness": 0.6, + "minStateId": 15751, + "maxStateId": 15759, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 9 + } + ], + "drops": [ + 934, + 708 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 15751 + }, + { + "id": 729, + "displayName": "Target", + "name": "target", + "hardness": 0.5, + "minStateId": 15760, + "maxStateId": 15775, + "states": [ + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 960 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "harvestTools": {}, + "defaultState": 15760 + }, + { + "id": 730, + "displayName": "Bee Nest", + "name": "bee_nest", + "hardness": 0.3, + "minStateId": 15776, + "maxStateId": 15799, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "honey_level", + "type": "int", + "num_values": 6 + } + ], + "drops": [ + 952 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 15776 + }, + { + "id": 731, + "displayName": "Beehive", + "name": "beehive", + "hardness": 0.6, + "minStateId": 15800, + "maxStateId": 15823, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "honey_level", + "type": "int", + "num_values": 6 + } + ], + "drops": [ + 953 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 15800 + }, + { + "id": 732, + "displayName": "Honey Block", + "name": "honey_block", + "hardness": 0, + "minStateId": 15824, + "maxStateId": 15824, + "states": [], + "drops": [ + 955 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 15824 + }, + { + "id": 733, + "displayName": "Honeycomb Block", + "name": "honeycomb_block", + "hardness": 0.6, + "minStateId": 15825, + "maxStateId": 15825, + "states": [], + "drops": [ + 956 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 15825 + }, + { + "id": 734, + "displayName": "Block of Netherite", + "name": "netherite_block", + "hardness": 50, + "minStateId": 15826, + "maxStateId": 15826, + "states": [], + "drops": [ + 958 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "597": true + }, + "defaultState": 15826 + }, + { + "id": 735, + "displayName": "Ancient Debris", + "name": "ancient_debris", + "hardness": 30, + "minStateId": 15827, + "maxStateId": 15827, + "states": [], + "drops": [ + 959 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "597": true + }, + "defaultState": 15827 + }, + { + "id": 736, + "displayName": "Crying Obsidian", + "name": "crying_obsidian", + "hardness": 50, + "minStateId": 15828, + "maxStateId": 15828, + "states": [], + "drops": [ + 961 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "597": true + }, + "defaultState": 15828 + }, + { + "id": 737, + "displayName": "Respawn Anchor", + "name": "respawn_anchor", + "hardness": 50, + "minStateId": 15829, + "maxStateId": 15833, + "states": [ + { + "name": "charges", + "type": "int", + "num_values": 5 + } + ], + "drops": [ + 974 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 2, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "597": true + }, + "defaultState": 15829 + }, + { + "id": 738, + "displayName": "Potted Crimson Fungus", + "name": "potted_crimson_fungus", + "hardness": 0, + "minStateId": 15834, + "maxStateId": 15834, + "states": [], + "drops": [ + 828, + 126 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "defaultState": 15834 + }, + { + "id": 739, + "displayName": "Potted Warped Fungus", + "name": "potted_warped_fungus", + "hardness": 0, + "minStateId": 15835, + "maxStateId": 15835, + "states": [], + "drops": [ + 828, + 127 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "defaultState": 15835 + }, + { + "id": 740, + "displayName": "Potted Crimson Roots", + "name": "potted_crimson_roots", + "hardness": 0, + "minStateId": 15836, + "maxStateId": 15836, + "states": [], + "drops": [ + 828, + 128 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "defaultState": 15836 + }, + { + "id": 741, + "displayName": "Potted Warped Roots", + "name": "potted_warped_roots", + "hardness": 0, + "minStateId": 15837, + "maxStateId": 15837, + "states": [], + "drops": [ + 828, + 129 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "defaultState": 15837 + }, + { + "id": 742, + "displayName": "Lodestone", + "name": "lodestone", + "hardness": 3.5, + "minStateId": 15838, + "maxStateId": 15838, + "states": [], + "drops": [ + 957 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 15838 + }, + { + "id": 743, + "displayName": "Blackstone", + "name": "blackstone", + "hardness": 1.5, + "minStateId": 15839, + "maxStateId": 15839, + "states": [], + "drops": [ + 962 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 15839 + }, + { + "id": 744, + "displayName": "Blackstone Stairs", + "name": "blackstone_stairs", + "hardness": 0, + "minStateId": 15840, + "maxStateId": 15919, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 964 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 15851 + }, + { + "id": 745, + "displayName": "Blackstone Wall", + "name": "blackstone_wall", + "hardness": 0, + "minStateId": 15920, + "maxStateId": 16243, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 301 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 15923 + }, + { + "id": 746, + "displayName": "Blackstone Slab", + "name": "blackstone_slab", + "hardness": 2, + "minStateId": 16244, + "maxStateId": 16249, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 963 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 16247 + }, + { + "id": 747, + "displayName": "Polished Blackstone", + "name": "polished_blackstone", + "hardness": 2, + "minStateId": 16250, + "maxStateId": 16250, + "states": [], + "drops": [ + 966 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 16250 + }, + { + "id": 748, + "displayName": "Polished Blackstone Bricks", + "name": "polished_blackstone_bricks", + "hardness": 1.5, + "minStateId": 16251, + "maxStateId": 16251, + "states": [], + "drops": [ + 970 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 16251 + }, + { + "id": 749, + "displayName": "Cracked Polished Blackstone Bricks", + "name": "cracked_polished_blackstone_bricks", + "hardness": 0, + "minStateId": 16252, + "maxStateId": 16252, + "states": [], + "drops": [ + 973 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 16252 + }, + { + "id": 750, + "displayName": "Chiseled Polished Blackstone", + "name": "chiseled_polished_blackstone", + "hardness": 1.5, + "minStateId": 16253, + "maxStateId": 16253, + "states": [], + "drops": [ + 969 + ], + "diggable": true, + "transparent": true, + "stackSize": 0, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "defaultState": 16253 + }, + { + "id": 751, + "displayName": "Polished Blackstone Brick Slab", + "name": "polished_blackstone_brick_slab", + "hardness": 2, + "minStateId": 16254, + "maxStateId": 16259, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 971 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 16257 + }, + { + "id": 752, + "displayName": "Polished Blackstone Brick Stairs", + "name": "polished_blackstone_brick_stairs", + "hardness": 0, + "minStateId": 16260, + "maxStateId": 16339, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 972 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 16271 + }, + { + "id": 753, + "displayName": "Polished Blackstone Brick Wall", + "name": "polished_blackstone_brick_wall", + "hardness": 0, + "minStateId": 16340, + "maxStateId": 16663, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 303 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 16343 + }, + { + "id": 754, + "displayName": "Gilded Blackstone", + "name": "gilded_blackstone", + "hardness": 0, + "minStateId": 16664, + "maxStateId": 16664, + "states": [], + "drops": [ + 965, + 747 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 16664 + }, + { + "id": 755, + "displayName": "Polished Blackstone Stairs", + "name": "polished_blackstone_stairs", + "hardness": 0, + "minStateId": 16665, + "maxStateId": 16744, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 968 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 16676 + }, + { + "id": 756, + "displayName": "Polished Blackstone Slab", + "name": "polished_blackstone_slab", + "hardness": 0, + "minStateId": 16745, + "maxStateId": 16750, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 967 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "wood", + "defaultState": 16748 + }, + { + "id": 757, + "displayName": "Polished Blackstone Pressure Plate", + "name": "polished_blackstone_pressure_plate", + "hardness": 0.5, + "minStateId": 16751, + "maxStateId": 16752, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 199 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 16752 + }, + { + "id": 758, + "displayName": "Polished Blackstone Button", + "name": "polished_blackstone_button", + "hardness": 0.5, + "minStateId": 16753, + "maxStateId": 16776, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 313 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "defaultState": 16762 + }, + { + "id": 759, + "displayName": "Polished Blackstone Wall", + "name": "polished_blackstone_wall", + "hardness": 0, + "minStateId": 16777, + "maxStateId": 17100, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 302 + ], + "diggable": true, + "transparent": true, + "stackSize": 64, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 16780 + }, + { + "id": 760, + "displayName": "Chiseled Nether Bricks", + "name": "chiseled_nether_bricks", + "hardness": 2, + "minStateId": 17101, + "maxStateId": 17101, + "states": [], + "drops": [ + 266 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 17101 + }, + { + "id": 761, + "displayName": "Cracked Nether Bricks", + "name": "cracked_nether_bricks", + "hardness": 2, + "minStateId": 17102, + "maxStateId": 17102, + "states": [], + "drops": [ + 265 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 17102 + }, + { + "id": 762, + "displayName": "Quartz Bricks", + "name": "quartz_bricks", + "hardness": 0, + "minStateId": 17103, + "maxStateId": 17103, + "states": [], + "drops": [ + 326 + ], + "diggable": true, + "transparent": false, + "stackSize": 64, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "573": true, + "589": true, + "593": true, + "597": true, + "604": true + }, + "defaultState": 17103 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/commands.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/commands.json new file mode 100644 index 00000000..e2d2cbf9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/commands.json @@ -0,0 +1,13611 @@ +{ + "root": { + "type": "root", + "name": "root", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "advancement", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "grant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "revoke", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "base", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modifier", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply_base", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "ban", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ban-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "banlist", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ips", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "visible", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "blue", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "green", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pink", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "purple", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "red", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "white", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "yellow", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "max", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ] + }, + { + "type": "literal", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "style", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "notched_10", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_12", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_20", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_6", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "progress", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "visible", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "visible", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxCount", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "clone", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "begin", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "filtered", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "datapack", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "disable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "after", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "before", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "first", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "last", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "available", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "enabled", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ] + }, + { + "type": "literal", + "name": "debug", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "report", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "start", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "defaultgamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "deop", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "difficulty", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "easy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hard", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "peaceful", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "effect", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "seconds", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amplifier", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "hideParticles", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + } + } + } + ], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "enchant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "enchantment", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "level", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_enchantment", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "execute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "align", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "axes", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:swizzle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "anchored", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "at", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "if", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "in", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "dimension", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:dimension", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "positioned", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rotated", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "rot", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "run", + "executable": false, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "store", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "result", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "success", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "unless", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "experience", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "fill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hollow", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "outline", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forceload", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "gamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "gamerule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "announceAdvancements", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "commandBlockOutput", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableElytraMovementCheck", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableRaids", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doDaylightCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doEntityDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doFireTick", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doImmediateRespawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doInsomnia", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doLimitedCrafting", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobLoot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doPatrolSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTileDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTraderSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doWeatherCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "drowningDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fallDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fireDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forgiveDeadPlayers", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "keepInventory", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "logAdminCommands", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxCommandChainLength", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxEntityCramming", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mobGriefing", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "naturalRegeneration", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "randomTickSpeed", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "reducedDebugInfo", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "sendCommandFeedback", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "showDeathMessages", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnRadius", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spectatorsGenerateChunks", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "universalAnger", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "help", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "command", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "kick", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "uuids", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "bastion_remnant", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "buried_treasure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "desert_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "endcity", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "fortress", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "igloo", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "jungle_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mansion", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mineshaft", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "monument", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "nether_fossil", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ocean_ruin", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pillager_outpost", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ruined_portal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "shipwreck", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stronghold", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "swamp_hut", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "village", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locatebiome", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "biome", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "spawn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "me", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "action", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "msg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "op", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "particle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "delta", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "speed", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:particle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "playsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ambient", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "publish", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "port", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + } + } + } + ] + }, + { + "type": "literal", + "name": "recipe", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "take", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replaceitem", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "save-all", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "flush", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "save-off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "save-on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "say", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "schedule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "scoreboard", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "objectives", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criteria", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective_criteria", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "displayname", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rendertype", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "hearts", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "integer", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setdisplay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:scoreboard_slot", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:operation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "reset", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "seed", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "setblock", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setidletimeout", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minutes", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "setworldspawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnpoint", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectate", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "player", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "spreadplayers", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "spreadDistance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxRange", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "under", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxHeight", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stopsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ambient", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "summon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity_summon", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tag", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "empty", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "join", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "leave", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "collisionRule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOwnTeam", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:color", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "deathMessageVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "displayName", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "friendlyFire", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "nametagVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "prefix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "prefix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "seeFriendlyInvisibles", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "suffix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "suffix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "teammsg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "teleport", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "tell", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tellraw", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "daytime", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "gametime", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "midnight", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "night", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "noon", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "actionbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reset", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "subtitle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "times", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeIn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "stay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeOut", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tm", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "trigger", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "w", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "rain", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "thunder", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "whitelist", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "worldborder", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "damage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "amount", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "damagePerBlock", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "buffer", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "warning", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "distance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "xp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + } + ] + }, + "parsers": [ + { + "parser": "minecraft:resource_location", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + }, + "examples": [ + "word", + "words with spaces", + "\\\" and symbols\\\"" + ] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + }, + "examples": [ + "@a" + ] + }, + { + "parser": "brigadier:double", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + }, + "examples": [ + "\\\"quoted phrase\\\"", + "word", + "" + ] + }, + { + "parser": "minecraft:uuid", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:message", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:game_profile", + "modifier": null, + "examples": [ + "Player", + "0123", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "@e" + ] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "word" + }, + "examples": [ + "word", + "word_with_underscore" + ] + }, + { + "parser": "minecraft:component", + "modifier": null, + "examples": [ + "\"hello world\"", + "\"\"", + "\"{\"text\":\"hello world\"}\"", + "[\"\"]" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + }, + "examples": [ + "1" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + }, + "examples": [ + "0", + "1" + ] + }, + { + "parser": "brigadier:bool", + "modifier": null, + "examples": [ + "true", + "false" + ] + }, + { + "parser": "minecraft:item_predicate", + "modifier": null, + "examples": [ + "stick", + "minecraft:stick", + "#stick", + "diamond_sword{ench:[{id:16,lvl:5}]}" + ] + }, + { + "parser": "minecraft:block_predicate", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "#stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:block_pos", + "modifier": null, + "examples": [ + "0 0 0", + "~ ~ ~", + "^ ^ ^", + "^1 ^ ^-5", + "~0.5 ~1 ~-5" + ] + }, + { + "parser": "minecraft:nbt_path", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_compound_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:integer", + "modifier": null, + "examples": [ + "1", + "0", + "10" + ] + }, + { + "parser": "minecraft:mob_effect", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + }, + "examples": [ + "@e", + "@e[type=cow]", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "Player" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + }, + "examples": [ + "0", + "255" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + }, + "examples": [ + "1", + "1000000" + ] + }, + { + "parser": "minecraft:item_enchantment", + "modifier": null, + "examples": [ + "unbreaking", + "minecraft:slik_touch" + ] + }, + { + "parser": "minecraft:swizzle", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_anchor", + "modifier": null, + "examples": [ + "eyes", + "feet" + ] + }, + { + "parser": "minecraft:vec3", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + }, + "examples": [] + }, + { + "parser": "minecraft:int_range", + "modifier": null, + "examples": [ + "0..5", + "0", + "-5", + "-100..", + "..100" + ] + }, + { + "parser": "minecraft:dimension", + "modifier": null, + "examples": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end", + "overworld", + "the_end", + "the_nether" + ] + }, + { + "parser": "minecraft:rotation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + }, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:block_state", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:column_pos", + "modifier": null, + "examples": [ + "0 0", + "~ ~", + "~1 ~-2", + "^ ^", + "^-1 ^0" + ] + }, + { + "parser": "minecraft:function", + "modifier": null, + "examples": [ + "foo", + "foo:bar", + "#foo" + ] + }, + { + "parser": "minecraft:item_stack", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:item_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + }, + "examples": [ + "0.0", + "0", + "1", + "0.01" + ] + }, + { + "parser": "minecraft:particle", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + }, + "examples": [ + "0.0", + "0", + "1", + "1.0", + "0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + }, + "examples": [ + "0", + "2", + "1.0", + "2.0" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + }, + "examples": [ + "0", + "65535" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + }, + "examples": [ + "1", + "64" + ] + }, + { + "parser": "minecraft:time", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective_criteria", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:scoreboard_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:operation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:angle", + "modifier": null, + "examples": [ + "0", + "~", + "~-0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + }, + "examples": [ + "1", + "1.0", + "1.000" + ] + }, + { + "parser": "minecraft:vec2", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_summon", + "modifier": null, + "examples": [ + "minecraft:pig", + "cow" + ] + }, + { + "parser": "minecraft:team", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:color", + "modifier": null, + "examples": [ + "aqua", + "black", + "blue", + "dark_aqua", + "dark_blue", + "dark_gray", + "dark_green", + "dark_purple", + "dark_red", + "gold", + "gray", + "green", + "light_purple", + "red", + "reset", + "yellow", + "white" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + }, + "examples": [ + "0", + "1000000" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + }, + "examples": [] + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/effects.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/effects.json new file mode 100644 index 00000000..3725cdf0 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/effects.json @@ -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" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/entities.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/entities.json new file mode 100644 index 00000000..6b35c8d9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/entities.json @@ -0,0 +1,1072 @@ +[ + { + "id": 0, + "internalId": 0, + "name": "area_effect_cloud", + "displayName": "Area Effect Cloud", + "width": 6, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 1, + "internalId": 1, + "name": "armor_stand", + "displayName": "Armor Stand", + "width": 0.5, + "height": 1.975, + "type": "mob", + "category": "Immobile" + }, + { + "id": 2, + "internalId": 2, + "name": "arrow", + "displayName": "Arrow", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 3, + "internalId": 3, + "name": "bat", + "displayName": "Bat", + "width": 0.5, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 4, + "internalId": 4, + "name": "bee", + "displayName": "Bee", + "width": 0.7, + "height": 0.6, + "type": "UNKNOWN", + "category": "UNKNOWN" + }, + { + "id": 5, + "internalId": 5, + "name": "blaze", + "displayName": "Blaze", + "width": 0.6, + "height": 1.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 6, + "internalId": 6, + "name": "boat", + "displayName": "Boat", + "width": 1.375, + "height": 0.5625, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 7, + "internalId": 7, + "name": "cat", + "displayName": "Cat", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 8, + "internalId": 8, + "name": "cave_spider", + "displayName": "Cave Spider", + "width": 0.7, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 9, + "internalId": 9, + "name": "chicken", + "displayName": "Chicken", + "width": 0.4, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 10, + "internalId": 10, + "name": "cod", + "displayName": "Cod", + "width": 0.5, + "height": 0.3, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 11, + "internalId": 11, + "name": "cow", + "displayName": "Cow", + "width": 0.9, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 12, + "internalId": 12, + "name": "creeper", + "displayName": "Creeper", + "width": 0.6, + "height": 1.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 13, + "internalId": 13, + "name": "dolphin", + "displayName": "Dolphin", + "width": 0.9, + "height": 0.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 14, + "internalId": 14, + "name": "donkey", + "displayName": "Donkey", + "width": 1.39648, + "height": 1.5, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 15, + "internalId": 15, + "name": "dragon_fireball", + "displayName": "Dragon Fireball", + "width": 1, + "height": 1, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 16, + "internalId": 16, + "name": "drowned", + "displayName": "Drowned", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 17, + "internalId": 17, + "name": "elder_guardian", + "displayName": "Elder Guardian", + "width": 1.9975, + "height": 1.9975, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 18, + "internalId": 18, + "name": "end_crystal", + "displayName": "End Crystal", + "width": 2, + "height": 2, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 19, + "internalId": 19, + "name": "ender_dragon", + "displayName": "Ender Dragon", + "width": 16, + "height": 8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 20, + "internalId": 20, + "name": "enderman", + "displayName": "Enderman", + "width": 0.6, + "height": 2.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 21, + "internalId": 21, + "name": "endermite", + "displayName": "Endermite", + "width": 0.4, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 22, + "internalId": 22, + "name": "evoker", + "displayName": "Evoker", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 23, + "internalId": 23, + "name": "evoker_fangs", + "displayName": "Evoker Fangs", + "width": 0.5, + "height": 0.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 24, + "internalId": 24, + "name": "experience_orb", + "displayName": "Experience Orb", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 25, + "internalId": 25, + "name": "eye_of_ender", + "displayName": "Eye of Ender", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 26, + "internalId": 26, + "name": "falling_block", + "displayName": "Falling Block", + "width": 0.98, + "height": 0.98, + "type": "mob", + "category": "Blocks" + }, + { + "id": 27, + "internalId": 27, + "name": "firework_rocket", + "displayName": "Firework Rocket", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 28, + "internalId": 28, + "name": "fox", + "displayName": "Fox", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 29, + "internalId": 29, + "name": "ghast", + "displayName": "Ghast", + "width": 4, + "height": 4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 30, + "internalId": 30, + "name": "giant", + "displayName": "Giant", + "width": 3.6, + "height": 12, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 31, + "internalId": 31, + "name": "guardian", + "displayName": "Guardian", + "width": 0.85, + "height": 0.85, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 32, + "internalId": 32, + "name": "hoglin", + "displayName": "Hoglin", + "width": 1.39648, + "height": 1.4, + "type": "UNKNOWN", + "category": "UNKNOWN" + }, + { + "id": 33, + "internalId": 33, + "name": "horse", + "displayName": "Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 34, + "internalId": 34, + "name": "husk", + "displayName": "Husk", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 35, + "internalId": 35, + "name": "illusioner", + "displayName": "Illusioner", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 36, + "internalId": 36, + "name": "iron_golem", + "displayName": "Iron Golem", + "width": 1.4, + "height": 2.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 37, + "internalId": 37, + "name": "item", + "displayName": "Item", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Drops" + }, + { + "id": 38, + "internalId": 38, + "name": "item_frame", + "displayName": "Item Frame", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 39, + "internalId": 39, + "name": "fireball", + "displayName": "Fireball", + "width": 1, + "height": 1, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 40, + "internalId": 40, + "name": "leash_knot", + "displayName": "Leash Knot", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 41, + "internalId": 41, + "name": "lightning_bolt", + "displayName": "Lightning Bolt", + "width": 0, + "height": 0, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 42, + "internalId": 42, + "name": "llama", + "displayName": "Llama", + "width": 0.9, + "height": 1.87, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 43, + "internalId": 43, + "name": "llama_spit", + "displayName": "Llama Spit", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 44, + "internalId": 44, + "name": "magma_cube", + "displayName": "Magma Cube", + "width": 2.04, + "height": 2.04, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 45, + "internalId": 45, + "name": "minecart", + "displayName": "Minecart", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 46, + "internalId": 46, + "name": "chest_minecart", + "displayName": "Minecart with Chest", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 47, + "internalId": 47, + "name": "command_block_minecart", + "displayName": "Minecart with Command Block", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 48, + "internalId": 48, + "name": "furnace_minecart", + "displayName": "Minecart with Furnace", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 49, + "internalId": 49, + "name": "hopper_minecart", + "displayName": "Minecart with Hopper", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 50, + "internalId": 50, + "name": "spawner_minecart", + "displayName": "Minecart with Spawner", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 51, + "internalId": 51, + "name": "tnt_minecart", + "displayName": "Minecart with TNT", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 52, + "internalId": 52, + "name": "mule", + "displayName": "Mule", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 53, + "internalId": 53, + "name": "mooshroom", + "displayName": "Mooshroom", + "width": 0.9, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 54, + "internalId": 54, + "name": "ocelot", + "displayName": "Ocelot", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 55, + "internalId": 55, + "name": "painting", + "displayName": "Painting", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 56, + "internalId": 56, + "name": "panda", + "displayName": "Panda", + "width": 1.3, + "height": 1.25, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 57, + "internalId": 57, + "name": "parrot", + "displayName": "Parrot", + "width": 0.5, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 58, + "internalId": 58, + "name": "phantom", + "displayName": "Phantom", + "width": 0.9, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 59, + "internalId": 59, + "name": "pig", + "displayName": "Pig", + "width": 0.9, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 60, + "internalId": 60, + "name": "piglin", + "displayName": "Piglin", + "width": 0.6, + "height": 1.95, + "type": "UNKNOWN", + "category": "UNKNOWN" + }, + { + "id": 61, + "internalId": 61, + "name": "pillager", + "displayName": "Pillager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 62, + "internalId": 62, + "name": "polar_bear", + "displayName": "Polar Bear", + "width": 1.4, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 63, + "internalId": 63, + "name": "tnt", + "displayName": "Primed TNT", + "width": 0.98, + "height": 0.98, + "type": "mob", + "category": "Blocks" + }, + { + "id": 64, + "internalId": 64, + "name": "pufferfish", + "displayName": "Pufferfish", + "width": 0.7, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 65, + "internalId": 65, + "name": "rabbit", + "displayName": "Rabbit", + "width": 0.4, + "height": 0.5, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 66, + "internalId": 66, + "name": "ravager", + "displayName": "Ravager", + "width": 1.95, + "height": 2.2, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 67, + "internalId": 67, + "name": "salmon", + "displayName": "Salmon", + "width": 0.7, + "height": 0.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 68, + "internalId": 68, + "name": "sheep", + "displayName": "Sheep", + "width": 0.9, + "height": 1.3, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 69, + "internalId": 69, + "name": "shulker", + "displayName": "Shulker", + "width": 1, + "height": 1, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 70, + "internalId": 70, + "name": "shulker_bullet", + "displayName": "Shulker Bullet", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 71, + "internalId": 71, + "name": "silverfish", + "displayName": "Silverfish", + "width": 0.4, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 72, + "internalId": 72, + "name": "skeleton", + "displayName": "Skeleton", + "width": 0.6, + "height": 1.99, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 73, + "internalId": 73, + "name": "skeleton_horse", + "displayName": "Skeleton Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 74, + "internalId": 74, + "name": "slime", + "displayName": "Slime", + "width": 2.04, + "height": 2.04, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 75, + "internalId": 75, + "name": "small_fireball", + "displayName": "Small Fireball", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 76, + "internalId": 76, + "name": "snow_golem", + "displayName": "Snow Golem", + "width": 0.7, + "height": 1.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 77, + "internalId": 77, + "name": "snowball", + "displayName": "Snowball", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 78, + "internalId": 78, + "name": "spectral_arrow", + "displayName": "Spectral Arrow", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 79, + "internalId": 79, + "name": "spider", + "displayName": "Spider", + "width": 1.4, + "height": 0.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 80, + "internalId": 80, + "name": "squid", + "displayName": "Squid", + "width": 0.8, + "height": 0.8, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 81, + "internalId": 81, + "name": "stray", + "displayName": "Stray", + "width": 0.6, + "height": 1.99, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 82, + "internalId": 82, + "name": "strider", + "displayName": "Strider", + "width": 0.9, + "height": 1.7, + "type": "UNKNOWN", + "category": "UNKNOWN" + }, + { + "id": 83, + "internalId": 83, + "name": "egg", + "displayName": "Thrown Egg", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 84, + "internalId": 84, + "name": "ender_pearl", + "displayName": "Thrown Ender Pearl", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 85, + "internalId": 85, + "name": "experience_bottle", + "displayName": "Thrown Bottle o' Enchanting", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 86, + "internalId": 86, + "name": "potion", + "displayName": "Potion", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 87, + "internalId": 87, + "name": "trident", + "displayName": "Trident", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 88, + "internalId": 88, + "name": "trader_llama", + "displayName": "Trader Llama", + "width": 0.9, + "height": 1.87, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 89, + "internalId": 89, + "name": "tropical_fish", + "displayName": "Tropical Fish", + "width": 0.5, + "height": 0.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 90, + "internalId": 90, + "name": "turtle", + "displayName": "Turtle", + "width": 1.2, + "height": 0.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 91, + "internalId": 91, + "name": "vex", + "displayName": "Vex", + "width": 0.4, + "height": 0.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 92, + "internalId": 92, + "name": "villager", + "displayName": "Villager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 93, + "internalId": 93, + "name": "vindicator", + "displayName": "Vindicator", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 94, + "internalId": 94, + "name": "wandering_trader", + "displayName": "Wandering Trader", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 95, + "internalId": 95, + "name": "witch", + "displayName": "Witch", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 96, + "internalId": 96, + "name": "wither", + "displayName": "Wither", + "width": 0.9, + "height": 3.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 97, + "internalId": 97, + "name": "wither_skeleton", + "displayName": "Wither Skeleton", + "width": 0.7, + "height": 2.4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 98, + "internalId": 98, + "name": "wither_skull", + "displayName": "Wither Skull", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 99, + "internalId": 99, + "name": "wolf", + "displayName": "Wolf", + "width": 0.6, + "height": 0.85, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 100, + "internalId": 100, + "name": "zoglin", + "displayName": "Zoglin", + "width": 1.39648, + "height": 1.4, + "type": "UNKNOWN", + "category": "UNKNOWN" + }, + { + "id": 101, + "internalId": 101, + "name": "zombie", + "displayName": "Zombie", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 102, + "internalId": 102, + "name": "zombie_horse", + "displayName": "Zombie Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 103, + "internalId": 103, + "name": "zombie_villager", + "displayName": "Zombie Villager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 104, + "internalId": 104, + "name": "zombified_piglin", + "displayName": "Zombified Piglin", + "width": 0.6, + "height": 1.95, + "type": "UNKNOWN", + "category": "UNKNOWN" + }, + { + "id": 105, + "internalId": 105, + "name": "player", + "displayName": "Player", + "width": 0.6, + "height": 1.8, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 106, + "internalId": 106, + "name": "fishing_bobber", + "displayName": "Fishing Bobber", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "UNKNOWN" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/entityLoot.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/entityLoot.json new file mode 100644 index 00000000..b8845597 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/entityLoot.json @@ -0,0 +1,1144 @@ +[ + { + "entity": "armor_stand", + "drops": [] + }, + { + "entity": "bat", + "drops": [] + }, + { + "entity": "bee", + "drops": [] + }, + { + "entity": "blaze", + "drops": [ + { + "item": "blaze_rod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "cat", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "cave_spider", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spider_eye", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "chicken", + "drops": [ + { + "item": "feather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "chicken", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "cod", + "drops": [ + { + "item": "cod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "cow", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "beef", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "creeper", + "drops": [ + { + "item": "gunpowder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "dolphin", + "drops": [ + { + "item": "cod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "donkey", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "drowned", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gold_ingot", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "elder_guardian", + "drops": [ + { + "item": "prismarine_shard", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cod", + "dropChance": 0.6, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "prismarine_crystals", + "dropChance": 0.4, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wet_sponge", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "ender_dragon", + "drops": [] + }, + { + "entity": "enderman", + "drops": [ + { + "item": "ender_pearl", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "endermite", + "drops": [] + }, + { + "entity": "evoker", + "drops": [ + { + "item": "totem_of_undying", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "emerald", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "fox", + "drops": [] + }, + { + "entity": "ghast", + "drops": [ + { + "item": "ghast_tear", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gunpowder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "giant", + "drops": [] + }, + { + "entity": "guardian", + "drops": [ + { + "item": "prismarine_shard", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cod", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "prismarine_crystals", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "hoglin", + "drops": [ + { + "item": "porkchop", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "horse", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "husk", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "carrot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "potato", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "illusioner", + "drops": [] + }, + { + "entity": "iron_golem", + "drops": [ + { + "item": "poppy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "llama", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "magma_cube", + "drops": [ + { + "item": "magma_cream", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "mooshroom", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "beef", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "mule", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "ocelot", + "drops": [] + }, + { + "entity": "panda", + "drops": [ + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "parrot", + "drops": [ + { + "item": "feather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "phantom", + "drops": [ + { + "item": "phantom_membrane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "pig", + "drops": [ + { + "item": "porkchop", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "piglin", + "drops": [] + }, + { + "entity": "pillager", + "drops": [] + }, + { + "entity": "player", + "drops": [] + }, + { + "entity": "polar_bear", + "drops": [ + { + "item": "cod", + "dropChance": 0.75, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "salmon", + "dropChance": 0.25, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "pufferfish", + "drops": [ + { + "item": "pufferfish", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "rabbit", + "drops": [ + { + "item": "rabbit_hide", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "rabbit", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "rabbit_foot", + "dropChance": 0.1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "ravager", + "drops": [ + { + "item": "saddle", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "salmon", + "drops": [ + { + "item": "salmon", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "sheep", + "drops": [ + { + "item": "mutton", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "shulker", + "drops": [ + { + "item": "shulker_shell", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "silverfish", + "drops": [] + }, + { + "entity": "skeleton", + "drops": [ + { + "item": "arrow", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "skeleton_horse", + "drops": [ + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "slime", + "drops": [ + { + "item": "slime_ball", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "snow_golem", + "drops": [ + { + "item": "snowball", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "spider", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spider_eye", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "squid", + "drops": [ + { + "item": "ink_sac", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "stray", + "drops": [ + { + "item": "arrow", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "tipped_arrow", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "strider", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "trader_llama", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "tropical_fish", + "drops": [ + { + "item": "tropical_fish", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "turtle", + "drops": [ + { + "item": "seagrass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bowl", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "vex", + "drops": [] + }, + { + "entity": "villager", + "drops": [] + }, + { + "entity": "vindicator", + "drops": [ + { + "item": "emerald", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "wandering_trader", + "drops": [] + }, + { + "entity": "witch", + "drops": [ + { + "item": "glowstone_dust", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "sugar", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "redstone", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spider_eye", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "glass_bottle", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gunpowder", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 0.25, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "wither", + "drops": [] + }, + { + "entity": "wither_skeleton", + "drops": [ + { + "item": "coal", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wither_skeleton_skull", + "dropChance": 0.025, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "wolf", + "drops": [] + }, + { + "entity": "zoglin", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "zombie", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "carrot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "potato", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "zombie_horse", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "zombie_villager", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "carrot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "potato", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "zombified_piglin", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gold_nugget", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gold_ingot", + "dropChance": 0.025, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/foods.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/foods.json new file mode 100644 index 00000000..5b45df59 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/foods.json @@ -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 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/instruments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/instruments.json new file mode 100644 index 00000000..471d4f29 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/instruments.json @@ -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": "guiter" + }, + { + "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" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/items.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/items.json new file mode 100644 index 00000000..6ab6402a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/items.json @@ -0,0 +1,5852 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Granite", + "name": "granite", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Polished Granite", + "name": "polished_granite", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Diorite", + "name": "diorite", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Polished Diorite", + "name": "polished_diorite", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Andesite", + "name": "andesite", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Polished Andesite", + "name": "polished_andesite", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Grass Block", + "name": "grass_block", + "stackSize": 64 + }, + { + "id": 9, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Coarse Dirt", + "name": "coarse_dirt", + "stackSize": 64 + }, + { + "id": 11, + "displayName": "Podzol", + "name": "podzol", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Crimson Nylium", + "name": "crimson_nylium", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Warped Nylium", + "name": "warped_nylium", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Oak Planks", + "name": "oak_planks", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Spruce Planks", + "name": "spruce_planks", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Birch Planks", + "name": "birch_planks", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Jungle Planks", + "name": "jungle_planks", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Acacia Planks", + "name": "acacia_planks", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Dark Oak Planks", + "name": "dark_oak_planks", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Crimson Planks", + "name": "crimson_planks", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Warped Planks", + "name": "warped_planks", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Oak Sapling", + "name": "oak_sapling", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Spruce Sapling", + "name": "spruce_sapling", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Birch Sapling", + "name": "birch_sapling", + "stackSize": 64 + }, + { + "id": 26, + "displayName": "Jungle Sapling", + "name": "jungle_sapling", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Acacia Sapling", + "name": "acacia_sapling", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Dark Oak Sapling", + "name": "dark_oak_sapling", + "stackSize": 64 + }, + { + "id": 29, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Red Sand", + "name": "red_sand", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 33, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 34, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 36, + "displayName": "Nether Gold Ore", + "name": "nether_gold_ore", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Oak Log", + "name": "oak_log", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Spruce Log", + "name": "spruce_log", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Birch Log", + "name": "birch_log", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Jungle Log", + "name": "jungle_log", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Acacia Log", + "name": "acacia_log", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Dark Oak Log", + "name": "dark_oak_log", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Crimson Stem", + "name": "crimson_stem", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Warped Stem", + "name": "warped_stem", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Stripped Oak Log", + "name": "stripped_oak_log", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "Stripped Spruce Log", + "name": "stripped_spruce_log", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Stripped Birch Log", + "name": "stripped_birch_log", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Stripped Jungle Log", + "name": "stripped_jungle_log", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Stripped Acacia Log", + "name": "stripped_acacia_log", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Stripped Dark Oak Log", + "name": "stripped_dark_oak_log", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Stripped Crimson Stem", + "name": "stripped_crimson_stem", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Stripped Warped Stem", + "name": "stripped_warped_stem", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Stripped Oak Wood", + "name": "stripped_oak_wood", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Stripped Spruce Wood", + "name": "stripped_spruce_wood", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Stripped Birch Wood", + "name": "stripped_birch_wood", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Stripped Jungle Wood", + "name": "stripped_jungle_wood", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Stripped Acacia Wood", + "name": "stripped_acacia_wood", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Stripped Dark Oak Wood", + "name": "stripped_dark_oak_wood", + "stackSize": 64 + }, + { + "id": 59, + "displayName": "Stripped Crimson Hyphae", + "name": "stripped_crimson_hyphae", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Stripped Warped Hyphae", + "name": "stripped_warped_hyphae", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Oak Wood", + "name": "oak_wood", + "stackSize": 64 + }, + { + "id": 62, + "displayName": "Spruce Wood", + "name": "spruce_wood", + "stackSize": 64 + }, + { + "id": 63, + "displayName": "Birch Wood", + "name": "birch_wood", + "stackSize": 64 + }, + { + "id": 64, + "displayName": "Jungle Wood", + "name": "jungle_wood", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Dark Oak Wood", + "name": "dark_oak_wood", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Crimson Hyphae", + "name": "crimson_hyphae", + "stackSize": 64 + }, + { + "id": 68, + "displayName": "Warped Hyphae", + "name": "warped_hyphae", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Oak Leaves", + "name": "oak_leaves", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Spruce Leaves", + "name": "spruce_leaves", + "stackSize": 64 + }, + { + "id": 71, + "displayName": "Birch Leaves", + "name": "birch_leaves", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Jungle Leaves", + "name": "jungle_leaves", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "stackSize": 64 + }, + { + "id": 74, + "displayName": "Dark Oak Leaves", + "name": "dark_oak_leaves", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 76, + "displayName": "Wet Sponge", + "name": "wet_sponge", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 82, + "displayName": "Chiseled Sandstone", + "name": "chiseled_sandstone", + "stackSize": 64 + }, + { + "id": 83, + "displayName": "Cut Sandstone", + "name": "cut_sandstone", + "stackSize": 64 + }, + { + "id": 84, + "displayName": "Note Block", + "name": "note_block", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Powered Rail", + "name": "powered_rail", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Cobweb", + "name": "cobweb", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Grass", + "name": "grass", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Fern", + "name": "fern", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Dead Bush", + "name": "dead_bush", + "stackSize": 64 + }, + { + "id": 92, + "displayName": "Seagrass", + "name": "seagrass", + "stackSize": 64 + }, + { + "id": 93, + "displayName": "Sea Pickle", + "name": "sea_pickle", + "stackSize": 64 + }, + { + "id": 94, + "displayName": "Piston", + "name": "piston", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "White Wool", + "name": "white_wool", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Orange Wool", + "name": "orange_wool", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Magenta Wool", + "name": "magenta_wool", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Light Blue Wool", + "name": "light_blue_wool", + "stackSize": 64 + }, + { + "id": 99, + "displayName": "Yellow Wool", + "name": "yellow_wool", + "stackSize": 64 + }, + { + "id": 100, + "displayName": "Lime Wool", + "name": "lime_wool", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Pink Wool", + "name": "pink_wool", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Gray Wool", + "name": "gray_wool", + "stackSize": 64 + }, + { + "id": 103, + "displayName": "Light Gray Wool", + "name": "light_gray_wool", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Cyan Wool", + "name": "cyan_wool", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "Purple Wool", + "name": "purple_wool", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Blue Wool", + "name": "blue_wool", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Brown Wool", + "name": "brown_wool", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Green Wool", + "name": "green_wool", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Red Wool", + "name": "red_wool", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Black Wool", + "name": "black_wool", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Dandelion", + "name": "dandelion", + "stackSize": 64 + }, + { + "id": 112, + "displayName": "Poppy", + "name": "poppy", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Blue Orchid", + "name": "blue_orchid", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Allium", + "name": "allium", + "stackSize": 64 + }, + { + "id": 115, + "displayName": "Azure Bluet", + "name": "azure_bluet", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Red Tulip", + "name": "red_tulip", + "stackSize": 64 + }, + { + "id": 117, + "displayName": "Orange Tulip", + "name": "orange_tulip", + "stackSize": 64 + }, + { + "id": 118, + "displayName": "White Tulip", + "name": "white_tulip", + "stackSize": 64 + }, + { + "id": 119, + "displayName": "Pink Tulip", + "name": "pink_tulip", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "Oxeye Daisy", + "name": "oxeye_daisy", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "Cornflower", + "name": "cornflower", + "stackSize": 64 + }, + { + "id": 122, + "displayName": "Lily of the Valley", + "name": "lily_of_the_valley", + "stackSize": 64 + }, + { + "id": 123, + "displayName": "Wither Rose", + "name": "wither_rose", + "stackSize": 64 + }, + { + "id": 124, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 125, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Crimson Fungus", + "name": "crimson_fungus", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Warped Fungus", + "name": "warped_fungus", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Crimson Roots", + "name": "crimson_roots", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Warped Roots", + "name": "warped_roots", + "stackSize": 64 + }, + { + "id": 130, + "displayName": "Nether Sprouts", + "name": "nether_sprouts", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Weeping Vines", + "name": "weeping_vines", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Twisting Vines", + "name": "twisting_vines", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Kelp", + "name": "kelp", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Bamboo", + "name": "bamboo", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "Block of Gold", + "name": "gold_block", + "stackSize": 64 + }, + { + "id": 137, + "displayName": "Block of Iron", + "name": "iron_block", + "stackSize": 64 + }, + { + "id": 138, + "displayName": "Oak Slab", + "name": "oak_slab", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Spruce Slab", + "name": "spruce_slab", + "stackSize": 64 + }, + { + "id": 140, + "displayName": "Birch Slab", + "name": "birch_slab", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "Jungle Slab", + "name": "jungle_slab", + "stackSize": 64 + }, + { + "id": 142, + "displayName": "Acacia Slab", + "name": "acacia_slab", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Dark Oak Slab", + "name": "dark_oak_slab", + "stackSize": 64 + }, + { + "id": 144, + "displayName": "Crimson Slab", + "name": "crimson_slab", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Warped Slab", + "name": "warped_slab", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "Smooth Stone Slab", + "name": "smooth_stone_slab", + "stackSize": 64 + }, + { + "id": 148, + "displayName": "Sandstone Slab", + "name": "sandstone_slab", + "stackSize": 64 + }, + { + "id": 149, + "displayName": "Cut Sandstone Slab", + "name": "cut_sandstone_slab", + "stackSize": 64 + }, + { + "id": 150, + "displayName": "Petrified Oak Slab", + "name": "petrified_oak_slab", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Cobblestone Slab", + "name": "cobblestone_slab", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Brick Slab", + "name": "brick_slab", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Stone Brick Slab", + "name": "stone_brick_slab", + "stackSize": 64 + }, + { + "id": 154, + "displayName": "Nether Brick Slab", + "name": "nether_brick_slab", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Quartz Slab", + "name": "quartz_slab", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Cut Red Sandstone Slab", + "name": "cut_red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Prismarine Slab", + "name": "prismarine_slab", + "stackSize": 64 + }, + { + "id": 160, + "displayName": "Prismarine Brick Slab", + "name": "prismarine_brick_slab", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Dark Prismarine Slab", + "name": "dark_prismarine_slab", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Smooth Quartz Block", + "name": "smooth_quartz", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Smooth Red Sandstone", + "name": "smooth_red_sandstone", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Smooth Sandstone", + "name": "smooth_sandstone", + "stackSize": 64 + }, + { + "id": 165, + "displayName": "Smooth Stone", + "name": "smooth_stone", + "stackSize": 64 + }, + { + "id": 166, + "displayName": "Bricks", + "name": "bricks", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 168, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 169, + "displayName": "Mossy Cobblestone", + "name": "mossy_cobblestone", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "End Rod", + "name": "end_rod", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Purpur Block", + "name": "purpur_block", + "stackSize": 64 + }, + { + "id": 176, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "stackSize": 64 + }, + { + "id": 177, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "stackSize": 64 + }, + { + "id": 178, + "displayName": "Spawner", + "name": "spawner", + "stackSize": 64 + }, + { + "id": 179, + "displayName": "Oak Stairs", + "name": "oak_stairs", + "stackSize": 64 + }, + { + "id": 180, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 181, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 182, + "displayName": "Block of Diamond", + "name": "diamond_block", + "stackSize": 64 + }, + { + "id": 183, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 184, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 185, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 186, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 187, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 188, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "stackSize": 64 + }, + { + "id": 189, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 190, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 191, + "displayName": "Oak Pressure Plate", + "name": "oak_pressure_plate", + "stackSize": 64 + }, + { + "id": 192, + "displayName": "Spruce Pressure Plate", + "name": "spruce_pressure_plate", + "stackSize": 64 + }, + { + "id": 193, + "displayName": "Birch Pressure Plate", + "name": "birch_pressure_plate", + "stackSize": 64 + }, + { + "id": 194, + "displayName": "Jungle Pressure Plate", + "name": "jungle_pressure_plate", + "stackSize": 64 + }, + { + "id": 195, + "displayName": "Acacia Pressure Plate", + "name": "acacia_pressure_plate", + "stackSize": 64 + }, + { + "id": 196, + "displayName": "Dark Oak Pressure Plate", + "name": "dark_oak_pressure_plate", + "stackSize": 64 + }, + { + "id": 197, + "displayName": "Crimson Pressure Plate", + "name": "crimson_pressure_plate", + "stackSize": 64 + }, + { + "id": 198, + "displayName": "Warped Pressure Plate", + "name": "warped_pressure_plate", + "stackSize": 64 + }, + { + "id": 199, + "displayName": "Polished Blackstone Pressure Plate", + "name": "polished_blackstone_pressure_plate", + "stackSize": 64 + }, + { + "id": 200, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 201, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 202, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 203, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 204, + "displayName": "Snow Block", + "name": "snow_block", + "stackSize": 64 + }, + { + "id": 205, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 206, + "displayName": "Clay", + "name": "clay", + "stackSize": 64 + }, + { + "id": 207, + "displayName": "Jukebox", + "name": "jukebox", + "stackSize": 64 + }, + { + "id": 208, + "displayName": "Oak Fence", + "name": "oak_fence", + "stackSize": 64 + }, + { + "id": 209, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "stackSize": 64 + }, + { + "id": 210, + "displayName": "Birch Fence", + "name": "birch_fence", + "stackSize": 64 + }, + { + "id": 211, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "stackSize": 64 + }, + { + "id": 212, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "stackSize": 64 + }, + { + "id": 213, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "stackSize": 64 + }, + { + "id": 214, + "displayName": "Crimson Fence", + "name": "crimson_fence", + "stackSize": 64 + }, + { + "id": 215, + "displayName": "Warped Fence", + "name": "warped_fence", + "stackSize": 64 + }, + { + "id": 216, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 217, + "displayName": "Carved Pumpkin", + "name": "carved_pumpkin", + "stackSize": 64 + }, + { + "id": 218, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 219, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 220, + "displayName": "Soul Soil", + "name": "soul_soil", + "stackSize": 64 + }, + { + "id": 221, + "displayName": "Basalt", + "name": "basalt", + "stackSize": 64 + }, + { + "id": 222, + "displayName": "Polished Basalt", + "name": "polished_basalt", + "stackSize": 64 + }, + { + "id": 223, + "displayName": "Soul Torch", + "name": "soul_torch", + "stackSize": 64 + }, + { + "id": 224, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 225, + "displayName": "Jack o'Lantern", + "name": "jack_o_lantern", + "stackSize": 64 + }, + { + "id": 226, + "displayName": "Oak Trapdoor", + "name": "oak_trapdoor", + "stackSize": 64 + }, + { + "id": 227, + "displayName": "Spruce Trapdoor", + "name": "spruce_trapdoor", + "stackSize": 64 + }, + { + "id": 228, + "displayName": "Birch Trapdoor", + "name": "birch_trapdoor", + "stackSize": 64 + }, + { + "id": 229, + "displayName": "Jungle Trapdoor", + "name": "jungle_trapdoor", + "stackSize": 64 + }, + { + "id": 230, + "displayName": "Acacia Trapdoor", + "name": "acacia_trapdoor", + "stackSize": 64 + }, + { + "id": 231, + "displayName": "Dark Oak Trapdoor", + "name": "dark_oak_trapdoor", + "stackSize": 64 + }, + { + "id": 232, + "displayName": "Crimson Trapdoor", + "name": "crimson_trapdoor", + "stackSize": 64 + }, + { + "id": 233, + "displayName": "Warped Trapdoor", + "name": "warped_trapdoor", + "stackSize": 64 + }, + { + "id": 234, + "displayName": "Infested Stone", + "name": "infested_stone", + "stackSize": 64 + }, + { + "id": 235, + "displayName": "Infested Cobblestone", + "name": "infested_cobblestone", + "stackSize": 64 + }, + { + "id": 236, + "displayName": "Infested Stone Bricks", + "name": "infested_stone_bricks", + "stackSize": 64 + }, + { + "id": 237, + "displayName": "Infested Mossy Stone Bricks", + "name": "infested_mossy_stone_bricks", + "stackSize": 64 + }, + { + "id": 238, + "displayName": "Infested Cracked Stone Bricks", + "name": "infested_cracked_stone_bricks", + "stackSize": 64 + }, + { + "id": 239, + "displayName": "Infested Chiseled Stone Bricks", + "name": "infested_chiseled_stone_bricks", + "stackSize": 64 + }, + { + "id": 240, + "displayName": "Stone Bricks", + "name": "stone_bricks", + "stackSize": 64 + }, + { + "id": 241, + "displayName": "Mossy Stone Bricks", + "name": "mossy_stone_bricks", + "stackSize": 64 + }, + { + "id": 242, + "displayName": "Cracked Stone Bricks", + "name": "cracked_stone_bricks", + "stackSize": 64 + }, + { + "id": 243, + "displayName": "Chiseled Stone Bricks", + "name": "chiseled_stone_bricks", + "stackSize": 64 + }, + { + "id": 244, + "displayName": "Brown Mushroom Block", + "name": "brown_mushroom_block", + "stackSize": 64 + }, + { + "id": 245, + "displayName": "Red Mushroom Block", + "name": "red_mushroom_block", + "stackSize": 64 + }, + { + "id": 246, + "displayName": "Mushroom Stem", + "name": "mushroom_stem", + "stackSize": 64 + }, + { + "id": 247, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 248, + "displayName": "Chain", + "name": "chain", + "stackSize": 64 + }, + { + "id": 249, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 250, + "displayName": "Melon", + "name": "melon", + "stackSize": 64 + }, + { + "id": 251, + "displayName": "Vines", + "name": "vine", + "stackSize": 64 + }, + { + "id": 252, + "displayName": "Oak Fence Gate", + "name": "oak_fence_gate", + "stackSize": 64 + }, + { + "id": 253, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64 + }, + { + "id": 254, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64 + }, + { + "id": 255, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64 + }, + { + "id": 257, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64 + }, + { + "id": 258, + "displayName": "Crimson Fence Gate", + "name": "crimson_fence_gate", + "stackSize": 64 + }, + { + "id": 259, + "displayName": "Warped Fence Gate", + "name": "warped_fence_gate", + "stackSize": 64 + }, + { + "id": 260, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 261, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 262, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 263, + "displayName": "Lily Pad", + "name": "lily_pad", + "stackSize": 64 + }, + { + "id": 264, + "displayName": "Nether Bricks", + "name": "nether_bricks", + "stackSize": 64 + }, + { + "id": 265, + "displayName": "Cracked Nether Bricks", + "name": "cracked_nether_bricks", + "stackSize": 64 + }, + { + "id": 266, + "displayName": "Chiseled Nether Bricks", + "name": "chiseled_nether_bricks", + "stackSize": 64 + }, + { + "id": 267, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 268, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 269, + "displayName": "Enchanting Table", + "name": "enchanting_table", + "stackSize": 64 + }, + { + "id": 270, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 271, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 272, + "displayName": "End Stone Bricks", + "name": "end_stone_bricks", + "stackSize": 64 + }, + { + "id": 273, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "stackSize": 64 + }, + { + "id": 274, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 275, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 276, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 277, + "displayName": "Ender Chest", + "name": "ender_chest", + "stackSize": 64 + }, + { + "id": 278, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 279, + "displayName": "Block of Emerald", + "name": "emerald_block", + "stackSize": 64 + }, + { + "id": 280, + "displayName": "Spruce Stairs", + "name": "spruce_stairs", + "stackSize": 64 + }, + { + "id": 281, + "displayName": "Birch Stairs", + "name": "birch_stairs", + "stackSize": 64 + }, + { + "id": 282, + "displayName": "Jungle Stairs", + "name": "jungle_stairs", + "stackSize": 64 + }, + { + "id": 283, + "displayName": "Crimson Stairs", + "name": "crimson_stairs", + "stackSize": 64 + }, + { + "id": 284, + "displayName": "Warped Stairs", + "name": "warped_stairs", + "stackSize": 64 + }, + { + "id": 285, + "displayName": "Command Block", + "name": "command_block", + "stackSize": 64 + }, + { + "id": 286, + "displayName": "Beacon", + "name": "beacon", + "stackSize": 64 + }, + { + "id": 287, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 288, + "displayName": "Mossy Cobblestone Wall", + "name": "mossy_cobblestone_wall", + "stackSize": 64 + }, + { + "id": 289, + "displayName": "Brick Wall", + "name": "brick_wall", + "stackSize": 64 + }, + { + "id": 290, + "displayName": "Prismarine Wall", + "name": "prismarine_wall", + "stackSize": 64 + }, + { + "id": 291, + "displayName": "Red Sandstone Wall", + "name": "red_sandstone_wall", + "stackSize": 64 + }, + { + "id": 292, + "displayName": "Mossy Stone Brick Wall", + "name": "mossy_stone_brick_wall", + "stackSize": 64 + }, + { + "id": 293, + "displayName": "Granite Wall", + "name": "granite_wall", + "stackSize": 64 + }, + { + "id": 294, + "displayName": "Stone Brick Wall", + "name": "stone_brick_wall", + "stackSize": 64 + }, + { + "id": 295, + "displayName": "Nether Brick Wall", + "name": "nether_brick_wall", + "stackSize": 64 + }, + { + "id": 296, + "displayName": "Andesite Wall", + "name": "andesite_wall", + "stackSize": 64 + }, + { + "id": 297, + "displayName": "Red Nether Brick Wall", + "name": "red_nether_brick_wall", + "stackSize": 64 + }, + { + "id": 298, + "displayName": "Sandstone Wall", + "name": "sandstone_wall", + "stackSize": 64 + }, + { + "id": 299, + "displayName": "End Stone Brick Wall", + "name": "end_stone_brick_wall", + "stackSize": 64 + }, + { + "id": 300, + "displayName": "Diorite Wall", + "name": "diorite_wall", + "stackSize": 64 + }, + { + "id": 301, + "displayName": "Blackstone Wall", + "name": "blackstone_wall", + "stackSize": 64 + }, + { + "id": 302, + "displayName": "Polished Blackstone Wall", + "name": "polished_blackstone_wall", + "stackSize": 64 + }, + { + "id": 303, + "displayName": "Polished Blackstone Brick Wall", + "name": "polished_blackstone_brick_wall", + "stackSize": 64 + }, + { + "id": 304, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 305, + "displayName": "Oak Button", + "name": "oak_button", + "stackSize": 64 + }, + { + "id": 306, + "displayName": "Spruce Button", + "name": "spruce_button", + "stackSize": 64 + }, + { + "id": 307, + "displayName": "Birch Button", + "name": "birch_button", + "stackSize": 64 + }, + { + "id": 308, + "displayName": "Jungle Button", + "name": "jungle_button", + "stackSize": 64 + }, + { + "id": 309, + "displayName": "Acacia Button", + "name": "acacia_button", + "stackSize": 64 + }, + { + "id": 310, + "displayName": "Dark Oak Button", + "name": "dark_oak_button", + "stackSize": 64 + }, + { + "id": 311, + "displayName": "Crimson Button", + "name": "crimson_button", + "stackSize": 64 + }, + { + "id": 312, + "displayName": "Warped Button", + "name": "warped_button", + "stackSize": 64 + }, + { + "id": 313, + "displayName": "Polished Blackstone Button", + "name": "polished_blackstone_button", + "stackSize": 64 + }, + { + "id": 314, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 315, + "displayName": "Chipped Anvil", + "name": "chipped_anvil", + "stackSize": 64 + }, + { + "id": 316, + "displayName": "Damaged Anvil", + "name": "damaged_anvil", + "stackSize": 64 + }, + { + "id": 317, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 318, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 319, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 320, + "displayName": "Daylight Detector", + "name": "daylight_detector", + "stackSize": 64 + }, + { + "id": 321, + "displayName": "Block of Redstone", + "name": "redstone_block", + "stackSize": 64 + }, + { + "id": 322, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "stackSize": 64 + }, + { + "id": 323, + "displayName": "Hopper", + "name": "hopper", + "stackSize": 64 + }, + { + "id": 324, + "displayName": "Chiseled Quartz Block", + "name": "chiseled_quartz_block", + "stackSize": 64 + }, + { + "id": 325, + "displayName": "Block of Quartz", + "name": "quartz_block", + "stackSize": 64 + }, + { + "id": 326, + "displayName": "Quartz Bricks", + "name": "quartz_bricks", + "stackSize": 64 + }, + { + "id": 327, + "displayName": "Quartz Pillar", + "name": "quartz_pillar", + "stackSize": 64 + }, + { + "id": 328, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 329, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 330, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64 + }, + { + "id": 331, + "displayName": "White Terracotta", + "name": "white_terracotta", + "stackSize": 64 + }, + { + "id": 332, + "displayName": "Orange Terracotta", + "name": "orange_terracotta", + "stackSize": 64 + }, + { + "id": 333, + "displayName": "Magenta Terracotta", + "name": "magenta_terracotta", + "stackSize": 64 + }, + { + "id": 334, + "displayName": "Light Blue Terracotta", + "name": "light_blue_terracotta", + "stackSize": 64 + }, + { + "id": 335, + "displayName": "Yellow Terracotta", + "name": "yellow_terracotta", + "stackSize": 64 + }, + { + "id": 336, + "displayName": "Lime Terracotta", + "name": "lime_terracotta", + "stackSize": 64 + }, + { + "id": 337, + "displayName": "Pink Terracotta", + "name": "pink_terracotta", + "stackSize": 64 + }, + { + "id": 338, + "displayName": "Gray Terracotta", + "name": "gray_terracotta", + "stackSize": 64 + }, + { + "id": 339, + "displayName": "Light Gray Terracotta", + "name": "light_gray_terracotta", + "stackSize": 64 + }, + { + "id": 340, + "displayName": "Cyan Terracotta", + "name": "cyan_terracotta", + "stackSize": 64 + }, + { + "id": 341, + "displayName": "Purple Terracotta", + "name": "purple_terracotta", + "stackSize": 64 + }, + { + "id": 342, + "displayName": "Blue Terracotta", + "name": "blue_terracotta", + "stackSize": 64 + }, + { + "id": 343, + "displayName": "Brown Terracotta", + "name": "brown_terracotta", + "stackSize": 64 + }, + { + "id": 344, + "displayName": "Green Terracotta", + "name": "green_terracotta", + "stackSize": 64 + }, + { + "id": 345, + "displayName": "Red Terracotta", + "name": "red_terracotta", + "stackSize": 64 + }, + { + "id": 346, + "displayName": "Black Terracotta", + "name": "black_terracotta", + "stackSize": 64 + }, + { + "id": 347, + "displayName": "Barrier", + "name": "barrier", + "stackSize": 64 + }, + { + "id": 348, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 349, + "displayName": "Hay Bale", + "name": "hay_block", + "stackSize": 64 + }, + { + "id": 350, + "displayName": "White Carpet", + "name": "white_carpet", + "stackSize": 64 + }, + { + "id": 351, + "displayName": "Orange Carpet", + "name": "orange_carpet", + "stackSize": 64 + }, + { + "id": 352, + "displayName": "Magenta Carpet", + "name": "magenta_carpet", + "stackSize": 64 + }, + { + "id": 353, + "displayName": "Light Blue Carpet", + "name": "light_blue_carpet", + "stackSize": 64 + }, + { + "id": 354, + "displayName": "Yellow Carpet", + "name": "yellow_carpet", + "stackSize": 64 + }, + { + "id": 355, + "displayName": "Lime Carpet", + "name": "lime_carpet", + "stackSize": 64 + }, + { + "id": 356, + "displayName": "Pink Carpet", + "name": "pink_carpet", + "stackSize": 64 + }, + { + "id": 357, + "displayName": "Gray Carpet", + "name": "gray_carpet", + "stackSize": 64 + }, + { + "id": 358, + "displayName": "Light Gray Carpet", + "name": "light_gray_carpet", + "stackSize": 64 + }, + { + "id": 359, + "displayName": "Cyan Carpet", + "name": "cyan_carpet", + "stackSize": 64 + }, + { + "id": 360, + "displayName": "Purple Carpet", + "name": "purple_carpet", + "stackSize": 64 + }, + { + "id": 361, + "displayName": "Blue Carpet", + "name": "blue_carpet", + "stackSize": 64 + }, + { + "id": 362, + "displayName": "Brown Carpet", + "name": "brown_carpet", + "stackSize": 64 + }, + { + "id": 363, + "displayName": "Green Carpet", + "name": "green_carpet", + "stackSize": 64 + }, + { + "id": 364, + "displayName": "Red Carpet", + "name": "red_carpet", + "stackSize": 64 + }, + { + "id": 365, + "displayName": "Black Carpet", + "name": "black_carpet", + "stackSize": 64 + }, + { + "id": 366, + "displayName": "Terracotta", + "name": "terracotta", + "stackSize": 64 + }, + { + "id": 367, + "displayName": "Block of Coal", + "name": "coal_block", + "stackSize": 64 + }, + { + "id": 368, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 369, + "displayName": "Acacia Stairs", + "name": "acacia_stairs", + "stackSize": 64 + }, + { + "id": 370, + "displayName": "Dark Oak Stairs", + "name": "dark_oak_stairs", + "stackSize": 64 + }, + { + "id": 371, + "displayName": "Slime Block", + "name": "slime_block", + "stackSize": 64 + }, + { + "id": 372, + "displayName": "Grass Path", + "name": "grass_path", + "stackSize": 64 + }, + { + "id": 373, + "displayName": "Sunflower", + "name": "sunflower", + "stackSize": 64 + }, + { + "id": 374, + "displayName": "Lilac", + "name": "lilac", + "stackSize": 64 + }, + { + "id": 375, + "displayName": "Rose Bush", + "name": "rose_bush", + "stackSize": 64 + }, + { + "id": 376, + "displayName": "Peony", + "name": "peony", + "stackSize": 64 + }, + { + "id": 377, + "displayName": "Tall Grass", + "name": "tall_grass", + "stackSize": 64 + }, + { + "id": 378, + "displayName": "Large Fern", + "name": "large_fern", + "stackSize": 64 + }, + { + "id": 379, + "displayName": "White Stained Glass", + "name": "white_stained_glass", + "stackSize": 64 + }, + { + "id": 380, + "displayName": "Orange Stained Glass", + "name": "orange_stained_glass", + "stackSize": 64 + }, + { + "id": 381, + "displayName": "Magenta Stained Glass", + "name": "magenta_stained_glass", + "stackSize": 64 + }, + { + "id": 382, + "displayName": "Light Blue Stained Glass", + "name": "light_blue_stained_glass", + "stackSize": 64 + }, + { + "id": 383, + "displayName": "Yellow Stained Glass", + "name": "yellow_stained_glass", + "stackSize": 64 + }, + { + "id": 384, + "displayName": "Lime Stained Glass", + "name": "lime_stained_glass", + "stackSize": 64 + }, + { + "id": 385, + "displayName": "Pink Stained Glass", + "name": "pink_stained_glass", + "stackSize": 64 + }, + { + "id": 386, + "displayName": "Gray Stained Glass", + "name": "gray_stained_glass", + "stackSize": 64 + }, + { + "id": 387, + "displayName": "Light Gray Stained Glass", + "name": "light_gray_stained_glass", + "stackSize": 64 + }, + { + "id": 388, + "displayName": "Cyan Stained Glass", + "name": "cyan_stained_glass", + "stackSize": 64 + }, + { + "id": 389, + "displayName": "Purple Stained Glass", + "name": "purple_stained_glass", + "stackSize": 64 + }, + { + "id": 390, + "displayName": "Blue Stained Glass", + "name": "blue_stained_glass", + "stackSize": 64 + }, + { + "id": 391, + "displayName": "Brown Stained Glass", + "name": "brown_stained_glass", + "stackSize": 64 + }, + { + "id": 392, + "displayName": "Green Stained Glass", + "name": "green_stained_glass", + "stackSize": 64 + }, + { + "id": 393, + "displayName": "Red Stained Glass", + "name": "red_stained_glass", + "stackSize": 64 + }, + { + "id": 394, + "displayName": "Black Stained Glass", + "name": "black_stained_glass", + "stackSize": 64 + }, + { + "id": 395, + "displayName": "White Stained Glass Pane", + "name": "white_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 396, + "displayName": "Orange Stained Glass Pane", + "name": "orange_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 397, + "displayName": "Magenta Stained Glass Pane", + "name": "magenta_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 398, + "displayName": "Light Blue Stained Glass Pane", + "name": "light_blue_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 399, + "displayName": "Yellow Stained Glass Pane", + "name": "yellow_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 400, + "displayName": "Lime Stained Glass Pane", + "name": "lime_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 401, + "displayName": "Pink Stained Glass Pane", + "name": "pink_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 402, + "displayName": "Gray Stained Glass Pane", + "name": "gray_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 403, + "displayName": "Light Gray Stained Glass Pane", + "name": "light_gray_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 404, + "displayName": "Cyan Stained Glass Pane", + "name": "cyan_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 405, + "displayName": "Purple Stained Glass Pane", + "name": "purple_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 406, + "displayName": "Blue Stained Glass Pane", + "name": "blue_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 407, + "displayName": "Brown Stained Glass Pane", + "name": "brown_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 408, + "displayName": "Green Stained Glass Pane", + "name": "green_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 409, + "displayName": "Red Stained Glass Pane", + "name": "red_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 410, + "displayName": "Black Stained Glass Pane", + "name": "black_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 411, + "displayName": "Prismarine", + "name": "prismarine", + "stackSize": 64 + }, + { + "id": 412, + "displayName": "Prismarine Bricks", + "name": "prismarine_bricks", + "stackSize": 64 + }, + { + "id": 413, + "displayName": "Dark Prismarine", + "name": "dark_prismarine", + "stackSize": 64 + }, + { + "id": 414, + "displayName": "Prismarine Stairs", + "name": "prismarine_stairs", + "stackSize": 64 + }, + { + "id": 415, + "displayName": "Prismarine Brick Stairs", + "name": "prismarine_brick_stairs", + "stackSize": 64 + }, + { + "id": 416, + "displayName": "Dark Prismarine Stairs", + "name": "dark_prismarine_stairs", + "stackSize": 64 + }, + { + "id": 417, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "stackSize": 64 + }, + { + "id": 418, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "stackSize": 64 + }, + { + "id": 419, + "displayName": "Chiseled Red Sandstone", + "name": "chiseled_red_sandstone", + "stackSize": 64 + }, + { + "id": 420, + "displayName": "Cut Red Sandstone", + "name": "cut_red_sandstone", + "stackSize": 64 + }, + { + "id": 421, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 422, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "stackSize": 64 + }, + { + "id": 423, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "stackSize": 64 + }, + { + "id": 424, + "displayName": "Magma Block", + "name": "magma_block", + "stackSize": 64 + }, + { + "id": 425, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "stackSize": 64 + }, + { + "id": 426, + "displayName": "Warped Wart Block", + "name": "warped_wart_block", + "stackSize": 64 + }, + { + "id": 427, + "displayName": "Red Nether Bricks", + "name": "red_nether_bricks", + "stackSize": 64 + }, + { + "id": 428, + "displayName": "Bone Block", + "name": "bone_block", + "stackSize": 64 + }, + { + "id": 429, + "displayName": "Structure Void", + "name": "structure_void", + "stackSize": 64 + }, + { + "id": 430, + "displayName": "Observer", + "name": "observer", + "stackSize": 64 + }, + { + "id": 431, + "displayName": "Shulker Box", + "name": "shulker_box", + "stackSize": 1 + }, + { + "id": 432, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "stackSize": 1 + }, + { + "id": 433, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "stackSize": 1 + }, + { + "id": 434, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "stackSize": 1 + }, + { + "id": 435, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "stackSize": 1 + }, + { + "id": 436, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "stackSize": 1 + }, + { + "id": 437, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "stackSize": 1 + }, + { + "id": 438, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "stackSize": 1 + }, + { + "id": 439, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "stackSize": 1 + }, + { + "id": 440, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "stackSize": 1 + }, + { + "id": 441, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "stackSize": 1 + }, + { + "id": 442, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "stackSize": 1 + }, + { + "id": 443, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "stackSize": 1 + }, + { + "id": 444, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "stackSize": 1 + }, + { + "id": 445, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "stackSize": 1 + }, + { + "id": 446, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "stackSize": 1 + }, + { + "id": 447, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "stackSize": 1 + }, + { + "id": 448, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 449, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 450, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 451, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 452, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 453, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 454, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 455, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 456, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 457, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 458, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 459, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 460, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 461, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 462, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 463, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 464, + "displayName": "White Concrete", + "name": "white_concrete", + "stackSize": 64 + }, + { + "id": 465, + "displayName": "Orange Concrete", + "name": "orange_concrete", + "stackSize": 64 + }, + { + "id": 466, + "displayName": "Magenta Concrete", + "name": "magenta_concrete", + "stackSize": 64 + }, + { + "id": 467, + "displayName": "Light Blue Concrete", + "name": "light_blue_concrete", + "stackSize": 64 + }, + { + "id": 468, + "displayName": "Yellow Concrete", + "name": "yellow_concrete", + "stackSize": 64 + }, + { + "id": 469, + "displayName": "Lime Concrete", + "name": "lime_concrete", + "stackSize": 64 + }, + { + "id": 470, + "displayName": "Pink Concrete", + "name": "pink_concrete", + "stackSize": 64 + }, + { + "id": 471, + "displayName": "Gray Concrete", + "name": "gray_concrete", + "stackSize": 64 + }, + { + "id": 472, + "displayName": "Light Gray Concrete", + "name": "light_gray_concrete", + "stackSize": 64 + }, + { + "id": 473, + "displayName": "Cyan Concrete", + "name": "cyan_concrete", + "stackSize": 64 + }, + { + "id": 474, + "displayName": "Purple Concrete", + "name": "purple_concrete", + "stackSize": 64 + }, + { + "id": 475, + "displayName": "Blue Concrete", + "name": "blue_concrete", + "stackSize": 64 + }, + { + "id": 476, + "displayName": "Brown Concrete", + "name": "brown_concrete", + "stackSize": 64 + }, + { + "id": 477, + "displayName": "Green Concrete", + "name": "green_concrete", + "stackSize": 64 + }, + { + "id": 478, + "displayName": "Red Concrete", + "name": "red_concrete", + "stackSize": 64 + }, + { + "id": 479, + "displayName": "Black Concrete", + "name": "black_concrete", + "stackSize": 64 + }, + { + "id": 480, + "displayName": "White Concrete Powder", + "name": "white_concrete_powder", + "stackSize": 64 + }, + { + "id": 481, + "displayName": "Orange Concrete Powder", + "name": "orange_concrete_powder", + "stackSize": 64 + }, + { + "id": 482, + "displayName": "Magenta Concrete Powder", + "name": "magenta_concrete_powder", + "stackSize": 64 + }, + { + "id": 483, + "displayName": "Light Blue Concrete Powder", + "name": "light_blue_concrete_powder", + "stackSize": 64 + }, + { + "id": 484, + "displayName": "Yellow Concrete Powder", + "name": "yellow_concrete_powder", + "stackSize": 64 + }, + { + "id": 485, + "displayName": "Lime Concrete Powder", + "name": "lime_concrete_powder", + "stackSize": 64 + }, + { + "id": 486, + "displayName": "Pink Concrete Powder", + "name": "pink_concrete_powder", + "stackSize": 64 + }, + { + "id": 487, + "displayName": "Gray Concrete Powder", + "name": "gray_concrete_powder", + "stackSize": 64 + }, + { + "id": 488, + "displayName": "Light Gray Concrete Powder", + "name": "light_gray_concrete_powder", + "stackSize": 64 + }, + { + "id": 489, + "displayName": "Cyan Concrete Powder", + "name": "cyan_concrete_powder", + "stackSize": 64 + }, + { + "id": 490, + "displayName": "Purple Concrete Powder", + "name": "purple_concrete_powder", + "stackSize": 64 + }, + { + "id": 491, + "displayName": "Blue Concrete Powder", + "name": "blue_concrete_powder", + "stackSize": 64 + }, + { + "id": 492, + "displayName": "Brown Concrete Powder", + "name": "brown_concrete_powder", + "stackSize": 64 + }, + { + "id": 493, + "displayName": "Green Concrete Powder", + "name": "green_concrete_powder", + "stackSize": 64 + }, + { + "id": 494, + "displayName": "Red Concrete Powder", + "name": "red_concrete_powder", + "stackSize": 64 + }, + { + "id": 495, + "displayName": "Black Concrete Powder", + "name": "black_concrete_powder", + "stackSize": 64 + }, + { + "id": 496, + "displayName": "Turtle Egg", + "name": "turtle_egg", + "stackSize": 64 + }, + { + "id": 497, + "displayName": "Dead Tube Coral Block", + "name": "dead_tube_coral_block", + "stackSize": 64 + }, + { + "id": 498, + "displayName": "Dead Brain Coral Block", + "name": "dead_brain_coral_block", + "stackSize": 64 + }, + { + "id": 499, + "displayName": "Dead Bubble Coral Block", + "name": "dead_bubble_coral_block", + "stackSize": 64 + }, + { + "id": 500, + "displayName": "Dead Fire Coral Block", + "name": "dead_fire_coral_block", + "stackSize": 64 + }, + { + "id": 501, + "displayName": "Dead Horn Coral Block", + "name": "dead_horn_coral_block", + "stackSize": 64 + }, + { + "id": 502, + "displayName": "Tube Coral Block", + "name": "tube_coral_block", + "stackSize": 64 + }, + { + "id": 503, + "displayName": "Brain Coral Block", + "name": "brain_coral_block", + "stackSize": 64 + }, + { + "id": 504, + "displayName": "Bubble Coral Block", + "name": "bubble_coral_block", + "stackSize": 64 + }, + { + "id": 505, + "displayName": "Fire Coral Block", + "name": "fire_coral_block", + "stackSize": 64 + }, + { + "id": 506, + "displayName": "Horn Coral Block", + "name": "horn_coral_block", + "stackSize": 64 + }, + { + "id": 507, + "displayName": "Tube Coral", + "name": "tube_coral", + "stackSize": 64 + }, + { + "id": 508, + "displayName": "Brain Coral", + "name": "brain_coral", + "stackSize": 64 + }, + { + "id": 509, + "displayName": "Bubble Coral", + "name": "bubble_coral", + "stackSize": 64 + }, + { + "id": 510, + "displayName": "Fire Coral", + "name": "fire_coral", + "stackSize": 64 + }, + { + "id": 511, + "displayName": "Horn Coral", + "name": "horn_coral", + "stackSize": 64 + }, + { + "id": 512, + "displayName": "Dead Brain Coral", + "name": "dead_brain_coral", + "stackSize": 64 + }, + { + "id": 513, + "displayName": "Dead Bubble Coral", + "name": "dead_bubble_coral", + "stackSize": 64 + }, + { + "id": 514, + "displayName": "Dead Fire Coral", + "name": "dead_fire_coral", + "stackSize": 64 + }, + { + "id": 515, + "displayName": "Dead Horn Coral", + "name": "dead_horn_coral", + "stackSize": 64 + }, + { + "id": 516, + "displayName": "Dead Tube Coral", + "name": "dead_tube_coral", + "stackSize": 64 + }, + { + "id": 517, + "displayName": "Tube Coral Fan", + "name": "tube_coral_fan", + "stackSize": 64 + }, + { + "id": 518, + "displayName": "Brain Coral Fan", + "name": "brain_coral_fan", + "stackSize": 64 + }, + { + "id": 519, + "displayName": "Bubble Coral Fan", + "name": "bubble_coral_fan", + "stackSize": 64 + }, + { + "id": 520, + "displayName": "Fire Coral Fan", + "name": "fire_coral_fan", + "stackSize": 64 + }, + { + "id": 521, + "displayName": "Horn Coral Fan", + "name": "horn_coral_fan", + "stackSize": 64 + }, + { + "id": 522, + "displayName": "Dead Tube Coral Fan", + "name": "dead_tube_coral_fan", + "stackSize": 64 + }, + { + "id": 523, + "displayName": "Dead Brain Coral Fan", + "name": "dead_brain_coral_fan", + "stackSize": 64 + }, + { + "id": 524, + "displayName": "Dead Bubble Coral Fan", + "name": "dead_bubble_coral_fan", + "stackSize": 64 + }, + { + "id": 525, + "displayName": "Dead Fire Coral Fan", + "name": "dead_fire_coral_fan", + "stackSize": 64 + }, + { + "id": 526, + "displayName": "Dead Horn Coral Fan", + "name": "dead_horn_coral_fan", + "stackSize": 64 + }, + { + "id": 527, + "displayName": "Blue Ice", + "name": "blue_ice", + "stackSize": 64 + }, + { + "id": 528, + "displayName": "Conduit", + "name": "conduit", + "stackSize": 64 + }, + { + "id": 529, + "displayName": "Polished Granite Stairs", + "name": "polished_granite_stairs", + "stackSize": 64 + }, + { + "id": 530, + "displayName": "Smooth Red Sandstone Stairs", + "name": "smooth_red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 531, + "displayName": "Mossy Stone Brick Stairs", + "name": "mossy_stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 532, + "displayName": "Polished Diorite Stairs", + "name": "polished_diorite_stairs", + "stackSize": 64 + }, + { + "id": 533, + "displayName": "Mossy Cobblestone Stairs", + "name": "mossy_cobblestone_stairs", + "stackSize": 64 + }, + { + "id": 534, + "displayName": "End Stone Brick Stairs", + "name": "end_stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 535, + "displayName": "Stone Stairs", + "name": "stone_stairs", + "stackSize": 64 + }, + { + "id": 536, + "displayName": "Smooth Sandstone Stairs", + "name": "smooth_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 537, + "displayName": "Smooth Quartz Stairs", + "name": "smooth_quartz_stairs", + "stackSize": 64 + }, + { + "id": 538, + "displayName": "Granite Stairs", + "name": "granite_stairs", + "stackSize": 64 + }, + { + "id": 539, + "displayName": "Andesite Stairs", + "name": "andesite_stairs", + "stackSize": 64 + }, + { + "id": 540, + "displayName": "Red Nether Brick Stairs", + "name": "red_nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 541, + "displayName": "Polished Andesite Stairs", + "name": "polished_andesite_stairs", + "stackSize": 64 + }, + { + "id": 542, + "displayName": "Diorite Stairs", + "name": "diorite_stairs", + "stackSize": 64 + }, + { + "id": 543, + "displayName": "Polished Granite Slab", + "name": "polished_granite_slab", + "stackSize": 64 + }, + { + "id": 544, + "displayName": "Smooth Red Sandstone Slab", + "name": "smooth_red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 545, + "displayName": "Mossy Stone Brick Slab", + "name": "mossy_stone_brick_slab", + "stackSize": 64 + }, + { + "id": 546, + "displayName": "Polished Diorite Slab", + "name": "polished_diorite_slab", + "stackSize": 64 + }, + { + "id": 547, + "displayName": "Mossy Cobblestone Slab", + "name": "mossy_cobblestone_slab", + "stackSize": 64 + }, + { + "id": 548, + "displayName": "End Stone Brick Slab", + "name": "end_stone_brick_slab", + "stackSize": 64 + }, + { + "id": 549, + "displayName": "Smooth Sandstone Slab", + "name": "smooth_sandstone_slab", + "stackSize": 64 + }, + { + "id": 550, + "displayName": "Smooth Quartz Slab", + "name": "smooth_quartz_slab", + "stackSize": 64 + }, + { + "id": 551, + "displayName": "Granite Slab", + "name": "granite_slab", + "stackSize": 64 + }, + { + "id": 552, + "displayName": "Andesite Slab", + "name": "andesite_slab", + "stackSize": 64 + }, + { + "id": 553, + "displayName": "Red Nether Brick Slab", + "name": "red_nether_brick_slab", + "stackSize": 64 + }, + { + "id": 554, + "displayName": "Polished Andesite Slab", + "name": "polished_andesite_slab", + "stackSize": 64 + }, + { + "id": 555, + "displayName": "Diorite Slab", + "name": "diorite_slab", + "stackSize": 64 + }, + { + "id": 556, + "displayName": "Scaffolding", + "name": "scaffolding", + "stackSize": 64 + }, + { + "id": 557, + "displayName": "Iron Door", + "name": "iron_door", + "stackSize": 64 + }, + { + "id": 558, + "displayName": "Oak Door", + "name": "oak_door", + "stackSize": 64 + }, + { + "id": 559, + "displayName": "Spruce Door", + "name": "spruce_door", + "stackSize": 64 + }, + { + "id": 560, + "displayName": "Birch Door", + "name": "birch_door", + "stackSize": 64 + }, + { + "id": 561, + "displayName": "Jungle Door", + "name": "jungle_door", + "stackSize": 64 + }, + { + "id": 562, + "displayName": "Acacia Door", + "name": "acacia_door", + "stackSize": 64 + }, + { + "id": 563, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "stackSize": 64 + }, + { + "id": 564, + "displayName": "Crimson Door", + "name": "crimson_door", + "stackSize": 64 + }, + { + "id": 565, + "displayName": "Warped Door", + "name": "warped_door", + "stackSize": 64 + }, + { + "id": 566, + "displayName": "Redstone Repeater", + "name": "repeater", + "stackSize": 64 + }, + { + "id": 567, + "displayName": "Redstone Comparator", + "name": "comparator", + "stackSize": 64 + }, + { + "id": 568, + "displayName": "Structure Block", + "name": "structure_block", + "stackSize": 64 + }, + { + "id": 569, + "displayName": "Jigsaw Block", + "name": "jigsaw", + "stackSize": 64 + }, + { + "id": 570, + "displayName": "Turtle Shell", + "name": "turtle_helmet", + "stackSize": 1 + }, + { + "id": 571, + "displayName": "Scute", + "name": "scute", + "stackSize": 64 + }, + { + "id": 572, + "displayName": "Iron Shovel", + "name": "iron_shovel", + "stackSize": 1 + }, + { + "id": 573, + "displayName": "Iron Pickaxe", + "name": "iron_pickaxe", + "stackSize": 1 + }, + { + "id": 574, + "displayName": "Iron Axe", + "name": "iron_axe", + "stackSize": 1 + }, + { + "id": 575, + "displayName": "Flint and Steel", + "name": "flint_and_steel", + "stackSize": 1 + }, + { + "id": 576, + "displayName": "Apple", + "name": "apple", + "stackSize": 64 + }, + { + "id": 577, + "displayName": "Bow", + "name": "bow", + "stackSize": 1 + }, + { + "id": 578, + "displayName": "Arrow", + "name": "arrow", + "stackSize": 64 + }, + { + "id": 579, + "displayName": "Coal", + "name": "coal", + "stackSize": 64 + }, + { + "id": 580, + "displayName": "Charcoal", + "name": "charcoal", + "stackSize": 64 + }, + { + "id": 581, + "displayName": "Diamond", + "name": "diamond", + "stackSize": 64 + }, + { + "id": 582, + "displayName": "Iron Ingot", + "name": "iron_ingot", + "stackSize": 64 + }, + { + "id": 583, + "displayName": "Gold Ingot", + "name": "gold_ingot", + "stackSize": 64 + }, + { + "id": 584, + "displayName": "Netherite Ingot", + "name": "netherite_ingot", + "stackSize": 64 + }, + { + "id": 585, + "displayName": "Netherite Scrap", + "name": "netherite_scrap", + "stackSize": 64 + }, + { + "id": 586, + "displayName": "Iron Sword", + "name": "iron_sword", + "stackSize": 1 + }, + { + "id": 587, + "displayName": "Wooden Sword", + "name": "wooden_sword", + "stackSize": 1 + }, + { + "id": 588, + "displayName": "Wooden Shovel", + "name": "wooden_shovel", + "stackSize": 1 + }, + { + "id": 589, + "displayName": "Wooden Pickaxe", + "name": "wooden_pickaxe", + "stackSize": 1 + }, + { + "id": 590, + "displayName": "Wooden Axe", + "name": "wooden_axe", + "stackSize": 1 + }, + { + "id": 591, + "displayName": "Stone Sword", + "name": "stone_sword", + "stackSize": 1 + }, + { + "id": 592, + "displayName": "Stone Shovel", + "name": "stone_shovel", + "stackSize": 1 + }, + { + "id": 593, + "displayName": "Stone Pickaxe", + "name": "stone_pickaxe", + "stackSize": 1 + }, + { + "id": 594, + "displayName": "Stone Axe", + "name": "stone_axe", + "stackSize": 1 + }, + { + "id": 595, + "displayName": "Diamond Sword", + "name": "diamond_sword", + "stackSize": 1 + }, + { + "id": 596, + "displayName": "Diamond Shovel", + "name": "diamond_shovel", + "stackSize": 1 + }, + { + "id": 597, + "displayName": "Diamond Pickaxe", + "name": "diamond_pickaxe", + "stackSize": 1 + }, + { + "id": 598, + "displayName": "Diamond Axe", + "name": "diamond_axe", + "stackSize": 1 + }, + { + "id": 599, + "displayName": "Stick", + "name": "stick", + "stackSize": 64 + }, + { + "id": 600, + "displayName": "Bowl", + "name": "bowl", + "stackSize": 64 + }, + { + "id": 601, + "displayName": "Mushroom Stew", + "name": "mushroom_stew", + "stackSize": 1 + }, + { + "id": 602, + "displayName": "Golden Sword", + "name": "golden_sword", + "stackSize": 1 + }, + { + "id": 603, + "displayName": "Golden Shovel", + "name": "golden_shovel", + "stackSize": 1 + }, + { + "id": 604, + "displayName": "Golden Pickaxe", + "name": "golden_pickaxe", + "stackSize": 1 + }, + { + "id": 605, + "displayName": "Golden Axe", + "name": "golden_axe", + "stackSize": 1 + }, + { + "id": 606, + "displayName": "Netherite Sword", + "name": "netherite_sword", + "stackSize": 1 + }, + { + "id": 607, + "displayName": "Netherite Shovel", + "name": "netherite_shovel", + "stackSize": 1 + }, + { + "id": 608, + "displayName": "Netherite Pickaxe", + "name": "netherite_pickaxe", + "stackSize": 1 + }, + { + "id": 609, + "displayName": "Netherite Axe", + "name": "netherite_axe", + "stackSize": 1 + }, + { + "id": 610, + "displayName": "String", + "name": "string", + "stackSize": 64 + }, + { + "id": 611, + "displayName": "Feather", + "name": "feather", + "stackSize": 64 + }, + { + "id": 612, + "displayName": "Gunpowder", + "name": "gunpowder", + "stackSize": 64 + }, + { + "id": 613, + "displayName": "Wooden Hoe", + "name": "wooden_hoe", + "stackSize": 1 + }, + { + "id": 614, + "displayName": "Stone Hoe", + "name": "stone_hoe", + "stackSize": 1 + }, + { + "id": 615, + "displayName": "Iron Hoe", + "name": "iron_hoe", + "stackSize": 1 + }, + { + "id": 616, + "displayName": "Diamond Hoe", + "name": "diamond_hoe", + "stackSize": 1 + }, + { + "id": 617, + "displayName": "Golden Hoe", + "name": "golden_hoe", + "stackSize": 1 + }, + { + "id": 618, + "displayName": "Netherite Hoe", + "name": "netherite_hoe", + "stackSize": 1 + }, + { + "id": 619, + "displayName": "Wheat Seeds", + "name": "wheat_seeds", + "stackSize": 64 + }, + { + "id": 620, + "displayName": "Wheat", + "name": "wheat", + "stackSize": 64 + }, + { + "id": 621, + "displayName": "Bread", + "name": "bread", + "stackSize": 64 + }, + { + "id": 622, + "displayName": "Leather Cap", + "name": "leather_helmet", + "stackSize": 1 + }, + { + "id": 623, + "displayName": "Leather Tunic", + "name": "leather_chestplate", + "stackSize": 1 + }, + { + "id": 624, + "displayName": "Leather Pants", + "name": "leather_leggings", + "stackSize": 1 + }, + { + "id": 625, + "displayName": "Leather Boots", + "name": "leather_boots", + "stackSize": 1 + }, + { + "id": 626, + "displayName": "Chainmail Helmet", + "name": "chainmail_helmet", + "stackSize": 1 + }, + { + "id": 627, + "displayName": "Chainmail Chestplate", + "name": "chainmail_chestplate", + "stackSize": 1 + }, + { + "id": 628, + "displayName": "Chainmail Leggings", + "name": "chainmail_leggings", + "stackSize": 1 + }, + { + "id": 629, + "displayName": "Chainmail Boots", + "name": "chainmail_boots", + "stackSize": 1 + }, + { + "id": 630, + "displayName": "Iron Helmet", + "name": "iron_helmet", + "stackSize": 1 + }, + { + "id": 631, + "displayName": "Iron Chestplate", + "name": "iron_chestplate", + "stackSize": 1 + }, + { + "id": 632, + "displayName": "Iron Leggings", + "name": "iron_leggings", + "stackSize": 1 + }, + { + "id": 633, + "displayName": "Iron Boots", + "name": "iron_boots", + "stackSize": 1 + }, + { + "id": 634, + "displayName": "Diamond Helmet", + "name": "diamond_helmet", + "stackSize": 1 + }, + { + "id": 635, + "displayName": "Diamond Chestplate", + "name": "diamond_chestplate", + "stackSize": 1 + }, + { + "id": 636, + "displayName": "Diamond Leggings", + "name": "diamond_leggings", + "stackSize": 1 + }, + { + "id": 637, + "displayName": "Diamond Boots", + "name": "diamond_boots", + "stackSize": 1 + }, + { + "id": 638, + "displayName": "Golden Helmet", + "name": "golden_helmet", + "stackSize": 1 + }, + { + "id": 639, + "displayName": "Golden Chestplate", + "name": "golden_chestplate", + "stackSize": 1 + }, + { + "id": 640, + "displayName": "Golden Leggings", + "name": "golden_leggings", + "stackSize": 1 + }, + { + "id": 641, + "displayName": "Golden Boots", + "name": "golden_boots", + "stackSize": 1 + }, + { + "id": 642, + "displayName": "Netherite Helmet", + "name": "netherite_helmet", + "stackSize": 1 + }, + { + "id": 643, + "displayName": "Netherite Chestplate", + "name": "netherite_chestplate", + "stackSize": 1 + }, + { + "id": 644, + "displayName": "Netherite Leggings", + "name": "netherite_leggings", + "stackSize": 1 + }, + { + "id": 645, + "displayName": "Netherite Boots", + "name": "netherite_boots", + "stackSize": 1 + }, + { + "id": 646, + "displayName": "Flint", + "name": "flint", + "stackSize": 64 + }, + { + "id": 647, + "displayName": "Raw Porkchop", + "name": "porkchop", + "stackSize": 64 + }, + { + "id": 648, + "displayName": "Cooked Porkchop", + "name": "cooked_porkchop", + "stackSize": 64 + }, + { + "id": 649, + "displayName": "Painting", + "name": "painting", + "stackSize": 64 + }, + { + "id": 650, + "displayName": "Golden Apple", + "name": "golden_apple", + "stackSize": 64 + }, + { + "id": 651, + "displayName": "Enchanted Golden Apple", + "name": "enchanted_golden_apple", + "stackSize": 64 + }, + { + "id": 652, + "displayName": "Oak Sign", + "name": "oak_sign", + "stackSize": 16 + }, + { + "id": 653, + "displayName": "Spruce Sign", + "name": "spruce_sign", + "stackSize": 16 + }, + { + "id": 654, + "displayName": "Birch Sign", + "name": "birch_sign", + "stackSize": 16 + }, + { + "id": 655, + "displayName": "Jungle Sign", + "name": "jungle_sign", + "stackSize": 16 + }, + { + "id": 656, + "displayName": "Acacia Sign", + "name": "acacia_sign", + "stackSize": 16 + }, + { + "id": 657, + "displayName": "Dark Oak Sign", + "name": "dark_oak_sign", + "stackSize": 16 + }, + { + "id": 658, + "displayName": "Crimson Sign", + "name": "crimson_sign", + "stackSize": 16 + }, + { + "id": 659, + "displayName": "Warped Sign", + "name": "warped_sign", + "stackSize": 16 + }, + { + "id": 660, + "displayName": "Bucket", + "name": "bucket", + "stackSize": 16 + }, + { + "id": 661, + "displayName": "Water Bucket", + "name": "water_bucket", + "stackSize": 1 + }, + { + "id": 662, + "displayName": "Lava Bucket", + "name": "lava_bucket", + "stackSize": 1 + }, + { + "id": 663, + "displayName": "Minecart", + "name": "minecart", + "stackSize": 1 + }, + { + "id": 664, + "displayName": "Saddle", + "name": "saddle", + "stackSize": 1 + }, + { + "id": 665, + "displayName": "Redstone Dust", + "name": "redstone", + "stackSize": 64 + }, + { + "id": 666, + "displayName": "Snowball", + "name": "snowball", + "stackSize": 16 + }, + { + "id": 667, + "displayName": "Oak Boat", + "name": "oak_boat", + "stackSize": 1 + }, + { + "id": 668, + "displayName": "Leather", + "name": "leather", + "stackSize": 64 + }, + { + "id": 669, + "displayName": "Milk Bucket", + "name": "milk_bucket", + "stackSize": 1 + }, + { + "id": 670, + "displayName": "Bucket of Pufferfish", + "name": "pufferfish_bucket", + "stackSize": 1 + }, + { + "id": 671, + "displayName": "Bucket of Salmon", + "name": "salmon_bucket", + "stackSize": 1 + }, + { + "id": 672, + "displayName": "Bucket of Cod", + "name": "cod_bucket", + "stackSize": 1 + }, + { + "id": 673, + "displayName": "Bucket of Tropical Fish", + "name": "tropical_fish_bucket", + "stackSize": 1 + }, + { + "id": 674, + "displayName": "Brick", + "name": "brick", + "stackSize": 64 + }, + { + "id": 675, + "displayName": "Clay Ball", + "name": "clay_ball", + "stackSize": 64 + }, + { + "id": 676, + "displayName": "Dried Kelp Block", + "name": "dried_kelp_block", + "stackSize": 64 + }, + { + "id": 677, + "displayName": "Paper", + "name": "paper", + "stackSize": 64 + }, + { + "id": 678, + "displayName": "Book", + "name": "book", + "stackSize": 64 + }, + { + "id": 679, + "displayName": "Slimeball", + "name": "slime_ball", + "stackSize": 64 + }, + { + "id": 680, + "displayName": "Minecart with Chest", + "name": "chest_minecart", + "stackSize": 1 + }, + { + "id": 681, + "displayName": "Minecart with Furnace", + "name": "furnace_minecart", + "stackSize": 1 + }, + { + "id": 682, + "displayName": "Egg", + "name": "egg", + "stackSize": 16 + }, + { + "id": 683, + "displayName": "Compass", + "name": "compass", + "stackSize": 64 + }, + { + "id": 684, + "displayName": "Fishing Rod", + "name": "fishing_rod", + "stackSize": 1 + }, + { + "id": 685, + "displayName": "Clock", + "name": "clock", + "stackSize": 64 + }, + { + "id": 686, + "displayName": "Glowstone Dust", + "name": "glowstone_dust", + "stackSize": 64 + }, + { + "id": 687, + "displayName": "Raw Cod", + "name": "cod", + "stackSize": 64 + }, + { + "id": 688, + "displayName": "Raw Salmon", + "name": "salmon", + "stackSize": 64 + }, + { + "id": 689, + "displayName": "Tropical Fish", + "name": "tropical_fish", + "stackSize": 64 + }, + { + "id": 690, + "displayName": "Pufferfish", + "name": "pufferfish", + "stackSize": 64 + }, + { + "id": 691, + "displayName": "Cooked Cod", + "name": "cooked_cod", + "stackSize": 64 + }, + { + "id": 692, + "displayName": "Cooked Salmon", + "name": "cooked_salmon", + "stackSize": 64 + }, + { + "id": 693, + "displayName": "Ink Sac", + "name": "ink_sac", + "stackSize": 64 + }, + { + "id": 694, + "displayName": "Red Dye", + "name": "red_dye", + "stackSize": 64 + }, + { + "id": 695, + "displayName": "Green Dye", + "name": "green_dye", + "stackSize": 64 + }, + { + "id": 696, + "displayName": "Cocoa Beans", + "name": "cocoa_beans", + "stackSize": 64 + }, + { + "id": 697, + "displayName": "Lapis Lazuli", + "name": "lapis_lazuli", + "stackSize": 64 + }, + { + "id": 698, + "displayName": "Purple Dye", + "name": "purple_dye", + "stackSize": 64 + }, + { + "id": 699, + "displayName": "Cyan Dye", + "name": "cyan_dye", + "stackSize": 64 + }, + { + "id": 700, + "displayName": "Light Gray Dye", + "name": "light_gray_dye", + "stackSize": 64 + }, + { + "id": 701, + "displayName": "Gray Dye", + "name": "gray_dye", + "stackSize": 64 + }, + { + "id": 702, + "displayName": "Pink Dye", + "name": "pink_dye", + "stackSize": 64 + }, + { + "id": 703, + "displayName": "Lime Dye", + "name": "lime_dye", + "stackSize": 64 + }, + { + "id": 704, + "displayName": "Yellow Dye", + "name": "yellow_dye", + "stackSize": 64 + }, + { + "id": 705, + "displayName": "Light Blue Dye", + "name": "light_blue_dye", + "stackSize": 64 + }, + { + "id": 706, + "displayName": "Magenta Dye", + "name": "magenta_dye", + "stackSize": 64 + }, + { + "id": 707, + "displayName": "Orange Dye", + "name": "orange_dye", + "stackSize": 64 + }, + { + "id": 708, + "displayName": "Bone Meal", + "name": "bone_meal", + "stackSize": 64 + }, + { + "id": 709, + "displayName": "Blue Dye", + "name": "blue_dye", + "stackSize": 64 + }, + { + "id": 710, + "displayName": "Brown Dye", + "name": "brown_dye", + "stackSize": 64 + }, + { + "id": 711, + "displayName": "Black Dye", + "name": "black_dye", + "stackSize": 64 + }, + { + "id": 712, + "displayName": "White Dye", + "name": "white_dye", + "stackSize": 64 + }, + { + "id": 713, + "displayName": "Bone", + "name": "bone", + "stackSize": 64 + }, + { + "id": 714, + "displayName": "Sugar", + "name": "sugar", + "stackSize": 64 + }, + { + "id": 715, + "displayName": "Cake", + "name": "cake", + "stackSize": 1 + }, + { + "id": 716, + "displayName": "White Bed", + "name": "white_bed", + "stackSize": 1 + }, + { + "id": 717, + "displayName": "Orange Bed", + "name": "orange_bed", + "stackSize": 1 + }, + { + "id": 718, + "displayName": "Magenta Bed", + "name": "magenta_bed", + "stackSize": 1 + }, + { + "id": 719, + "displayName": "Light Blue Bed", + "name": "light_blue_bed", + "stackSize": 1 + }, + { + "id": 720, + "displayName": "Yellow Bed", + "name": "yellow_bed", + "stackSize": 1 + }, + { + "id": 721, + "displayName": "Lime Bed", + "name": "lime_bed", + "stackSize": 1 + }, + { + "id": 722, + "displayName": "Pink Bed", + "name": "pink_bed", + "stackSize": 1 + }, + { + "id": 723, + "displayName": "Gray Bed", + "name": "gray_bed", + "stackSize": 1 + }, + { + "id": 724, + "displayName": "Light Gray Bed", + "name": "light_gray_bed", + "stackSize": 1 + }, + { + "id": 725, + "displayName": "Cyan Bed", + "name": "cyan_bed", + "stackSize": 1 + }, + { + "id": 726, + "displayName": "Purple Bed", + "name": "purple_bed", + "stackSize": 1 + }, + { + "id": 727, + "displayName": "Blue Bed", + "name": "blue_bed", + "stackSize": 1 + }, + { + "id": 728, + "displayName": "Brown Bed", + "name": "brown_bed", + "stackSize": 1 + }, + { + "id": 729, + "displayName": "Green Bed", + "name": "green_bed", + "stackSize": 1 + }, + { + "id": 730, + "displayName": "Red Bed", + "name": "red_bed", + "stackSize": 1 + }, + { + "id": 731, + "displayName": "Black Bed", + "name": "black_bed", + "stackSize": 1 + }, + { + "id": 732, + "displayName": "Cookie", + "name": "cookie", + "stackSize": 64 + }, + { + "id": 733, + "displayName": "Map", + "name": "filled_map", + "stackSize": 64 + }, + { + "id": 734, + "displayName": "Shears", + "name": "shears", + "stackSize": 1 + }, + { + "id": 735, + "displayName": "Melon Slice", + "name": "melon_slice", + "stackSize": 64 + }, + { + "id": 736, + "displayName": "Dried Kelp", + "name": "dried_kelp", + "stackSize": 64 + }, + { + "id": 737, + "displayName": "Pumpkin Seeds", + "name": "pumpkin_seeds", + "stackSize": 64 + }, + { + "id": 738, + "displayName": "Melon Seeds", + "name": "melon_seeds", + "stackSize": 64 + }, + { + "id": 739, + "displayName": "Raw Beef", + "name": "beef", + "stackSize": 64 + }, + { + "id": 740, + "displayName": "Steak", + "name": "cooked_beef", + "stackSize": 64 + }, + { + "id": 741, + "displayName": "Raw Chicken", + "name": "chicken", + "stackSize": 64 + }, + { + "id": 742, + "displayName": "Cooked Chicken", + "name": "cooked_chicken", + "stackSize": 64 + }, + { + "id": 743, + "displayName": "Rotten Flesh", + "name": "rotten_flesh", + "stackSize": 64 + }, + { + "id": 744, + "displayName": "Ender Pearl", + "name": "ender_pearl", + "stackSize": 16 + }, + { + "id": 745, + "displayName": "Blaze Rod", + "name": "blaze_rod", + "stackSize": 64 + }, + { + "id": 746, + "displayName": "Ghast Tear", + "name": "ghast_tear", + "stackSize": 64 + }, + { + "id": 747, + "displayName": "Gold Nugget", + "name": "gold_nugget", + "stackSize": 64 + }, + { + "id": 748, + "displayName": "Nether Wart", + "name": "nether_wart", + "stackSize": 64 + }, + { + "id": 749, + "displayName": "Potion", + "name": "potion", + "stackSize": 1 + }, + { + "id": 750, + "displayName": "Glass Bottle", + "name": "glass_bottle", + "stackSize": 64 + }, + { + "id": 751, + "displayName": "Spider Eye", + "name": "spider_eye", + "stackSize": 64 + }, + { + "id": 752, + "displayName": "Fermented Spider Eye", + "name": "fermented_spider_eye", + "stackSize": 64 + }, + { + "id": 753, + "displayName": "Blaze Powder", + "name": "blaze_powder", + "stackSize": 64 + }, + { + "id": 754, + "displayName": "Magma Cream", + "name": "magma_cream", + "stackSize": 64 + }, + { + "id": 755, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "stackSize": 64 + }, + { + "id": 756, + "displayName": "Cauldron", + "name": "cauldron", + "stackSize": 64 + }, + { + "id": 757, + "displayName": "Eye of Ender", + "name": "ender_eye", + "stackSize": 64 + }, + { + "id": 758, + "displayName": "Glistering Melon Slice", + "name": "glistering_melon_slice", + "stackSize": 64 + }, + { + "id": 759, + "displayName": "Bat Spawn Egg", + "name": "bat_spawn_egg", + "stackSize": 64 + }, + { + "id": 760, + "displayName": "Bee Spawn Egg", + "name": "bee_spawn_egg", + "stackSize": 64 + }, + { + "id": 761, + "displayName": "Blaze Spawn Egg", + "name": "blaze_spawn_egg", + "stackSize": 64 + }, + { + "id": 762, + "displayName": "Cat Spawn Egg", + "name": "cat_spawn_egg", + "stackSize": 64 + }, + { + "id": 763, + "displayName": "Cave Spider Spawn Egg", + "name": "cave_spider_spawn_egg", + "stackSize": 64 + }, + { + "id": 764, + "displayName": "Chicken Spawn Egg", + "name": "chicken_spawn_egg", + "stackSize": 64 + }, + { + "id": 765, + "displayName": "Cod Spawn Egg", + "name": "cod_spawn_egg", + "stackSize": 64 + }, + { + "id": 766, + "displayName": "Cow Spawn Egg", + "name": "cow_spawn_egg", + "stackSize": 64 + }, + { + "id": 767, + "displayName": "Creeper Spawn Egg", + "name": "creeper_spawn_egg", + "stackSize": 64 + }, + { + "id": 768, + "displayName": "Dolphin Spawn Egg", + "name": "dolphin_spawn_egg", + "stackSize": 64 + }, + { + "id": 769, + "displayName": "Donkey Spawn Egg", + "name": "donkey_spawn_egg", + "stackSize": 64 + }, + { + "id": 770, + "displayName": "Drowned Spawn Egg", + "name": "drowned_spawn_egg", + "stackSize": 64 + }, + { + "id": 771, + "displayName": "Elder Guardian Spawn Egg", + "name": "elder_guardian_spawn_egg", + "stackSize": 64 + }, + { + "id": 772, + "displayName": "Enderman Spawn Egg", + "name": "enderman_spawn_egg", + "stackSize": 64 + }, + { + "id": 773, + "displayName": "Endermite Spawn Egg", + "name": "endermite_spawn_egg", + "stackSize": 64 + }, + { + "id": 774, + "displayName": "Evoker Spawn Egg", + "name": "evoker_spawn_egg", + "stackSize": 64 + }, + { + "id": 775, + "displayName": "Fox Spawn Egg", + "name": "fox_spawn_egg", + "stackSize": 64 + }, + { + "id": 776, + "displayName": "Ghast Spawn Egg", + "name": "ghast_spawn_egg", + "stackSize": 64 + }, + { + "id": 777, + "displayName": "Guardian Spawn Egg", + "name": "guardian_spawn_egg", + "stackSize": 64 + }, + { + "id": 778, + "displayName": "Hoglin Spawn Egg", + "name": "hoglin_spawn_egg", + "stackSize": 64 + }, + { + "id": 779, + "displayName": "Horse Spawn Egg", + "name": "horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 780, + "displayName": "Husk Spawn Egg", + "name": "husk_spawn_egg", + "stackSize": 64 + }, + { + "id": 781, + "displayName": "Llama Spawn Egg", + "name": "llama_spawn_egg", + "stackSize": 64 + }, + { + "id": 782, + "displayName": "Magma Cube Spawn Egg", + "name": "magma_cube_spawn_egg", + "stackSize": 64 + }, + { + "id": 783, + "displayName": "Mooshroom Spawn Egg", + "name": "mooshroom_spawn_egg", + "stackSize": 64 + }, + { + "id": 784, + "displayName": "Mule Spawn Egg", + "name": "mule_spawn_egg", + "stackSize": 64 + }, + { + "id": 785, + "displayName": "Ocelot Spawn Egg", + "name": "ocelot_spawn_egg", + "stackSize": 64 + }, + { + "id": 786, + "displayName": "Panda Spawn Egg", + "name": "panda_spawn_egg", + "stackSize": 64 + }, + { + "id": 787, + "displayName": "Parrot Spawn Egg", + "name": "parrot_spawn_egg", + "stackSize": 64 + }, + { + "id": 788, + "displayName": "Phantom Spawn Egg", + "name": "phantom_spawn_egg", + "stackSize": 64 + }, + { + "id": 789, + "displayName": "Pig Spawn Egg", + "name": "pig_spawn_egg", + "stackSize": 64 + }, + { + "id": 790, + "displayName": "Piglin Spawn Egg", + "name": "piglin_spawn_egg", + "stackSize": 64 + }, + { + "id": 791, + "displayName": "Pillager Spawn Egg", + "name": "pillager_spawn_egg", + "stackSize": 64 + }, + { + "id": 792, + "displayName": "Polar Bear Spawn Egg", + "name": "polar_bear_spawn_egg", + "stackSize": 64 + }, + { + "id": 793, + "displayName": "Pufferfish Spawn Egg", + "name": "pufferfish_spawn_egg", + "stackSize": 64 + }, + { + "id": 794, + "displayName": "Rabbit Spawn Egg", + "name": "rabbit_spawn_egg", + "stackSize": 64 + }, + { + "id": 795, + "displayName": "Ravager Spawn Egg", + "name": "ravager_spawn_egg", + "stackSize": 64 + }, + { + "id": 796, + "displayName": "Salmon Spawn Egg", + "name": "salmon_spawn_egg", + "stackSize": 64 + }, + { + "id": 797, + "displayName": "Sheep Spawn Egg", + "name": "sheep_spawn_egg", + "stackSize": 64 + }, + { + "id": 798, + "displayName": "Shulker Spawn Egg", + "name": "shulker_spawn_egg", + "stackSize": 64 + }, + { + "id": 799, + "displayName": "Silverfish Spawn Egg", + "name": "silverfish_spawn_egg", + "stackSize": 64 + }, + { + "id": 800, + "displayName": "Skeleton Spawn Egg", + "name": "skeleton_spawn_egg", + "stackSize": 64 + }, + { + "id": 801, + "displayName": "Skeleton Horse Spawn Egg", + "name": "skeleton_horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 802, + "displayName": "Slime Spawn Egg", + "name": "slime_spawn_egg", + "stackSize": 64 + }, + { + "id": 803, + "displayName": "Spider Spawn Egg", + "name": "spider_spawn_egg", + "stackSize": 64 + }, + { + "id": 804, + "displayName": "Squid Spawn Egg", + "name": "squid_spawn_egg", + "stackSize": 64 + }, + { + "id": 805, + "displayName": "Stray Spawn Egg", + "name": "stray_spawn_egg", + "stackSize": 64 + }, + { + "id": 806, + "displayName": "Strider Spawn Egg", + "name": "strider_spawn_egg", + "stackSize": 64 + }, + { + "id": 807, + "displayName": "Trader Llama Spawn Egg", + "name": "trader_llama_spawn_egg", + "stackSize": 64 + }, + { + "id": 808, + "displayName": "Tropical Fish Spawn Egg", + "name": "tropical_fish_spawn_egg", + "stackSize": 64 + }, + { + "id": 809, + "displayName": "Turtle Spawn Egg", + "name": "turtle_spawn_egg", + "stackSize": 64 + }, + { + "id": 810, + "displayName": "Vex Spawn Egg", + "name": "vex_spawn_egg", + "stackSize": 64 + }, + { + "id": 811, + "displayName": "Villager Spawn Egg", + "name": "villager_spawn_egg", + "stackSize": 64 + }, + { + "id": 812, + "displayName": "Vindicator Spawn Egg", + "name": "vindicator_spawn_egg", + "stackSize": 64 + }, + { + "id": 813, + "displayName": "Wandering Trader Spawn Egg", + "name": "wandering_trader_spawn_egg", + "stackSize": 64 + }, + { + "id": 814, + "displayName": "Witch Spawn Egg", + "name": "witch_spawn_egg", + "stackSize": 64 + }, + { + "id": 815, + "displayName": "Wither Skeleton Spawn Egg", + "name": "wither_skeleton_spawn_egg", + "stackSize": 64 + }, + { + "id": 816, + "displayName": "Wolf Spawn Egg", + "name": "wolf_spawn_egg", + "stackSize": 64 + }, + { + "id": 817, + "displayName": "Zoglin Spawn Egg", + "name": "zoglin_spawn_egg", + "stackSize": 64 + }, + { + "id": 818, + "displayName": "Zombie Spawn Egg", + "name": "zombie_spawn_egg", + "stackSize": 64 + }, + { + "id": 819, + "displayName": "Zombie Horse Spawn Egg", + "name": "zombie_horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 820, + "displayName": "Zombie Villager Spawn Egg", + "name": "zombie_villager_spawn_egg", + "stackSize": 64 + }, + { + "id": 821, + "displayName": "Zombified Piglin Spawn Egg", + "name": "zombified_piglin_spawn_egg", + "stackSize": 64 + }, + { + "id": 822, + "displayName": "Bottle o' Enchanting", + "name": "experience_bottle", + "stackSize": 64 + }, + { + "id": 823, + "displayName": "Fire Charge", + "name": "fire_charge", + "stackSize": 64 + }, + { + "id": 824, + "displayName": "Book and Quill", + "name": "writable_book", + "stackSize": 1 + }, + { + "id": 825, + "displayName": "Written Book", + "name": "written_book", + "stackSize": 16 + }, + { + "id": 826, + "displayName": "Emerald", + "name": "emerald", + "stackSize": 64 + }, + { + "id": 827, + "displayName": "Item Frame", + "name": "item_frame", + "stackSize": 64 + }, + { + "id": 828, + "displayName": "Flower Pot", + "name": "flower_pot", + "stackSize": 64 + }, + { + "id": 829, + "displayName": "Carrot", + "name": "carrot", + "stackSize": 64 + }, + { + "id": 830, + "displayName": "Potato", + "name": "potato", + "stackSize": 64 + }, + { + "id": 831, + "displayName": "Baked Potato", + "name": "baked_potato", + "stackSize": 64 + }, + { + "id": 832, + "displayName": "Poisonous Potato", + "name": "poisonous_potato", + "stackSize": 64 + }, + { + "id": 833, + "displayName": "Empty Map", + "name": "map", + "stackSize": 64 + }, + { + "id": 834, + "displayName": "Golden Carrot", + "name": "golden_carrot", + "stackSize": 64 + }, + { + "id": 835, + "displayName": "Skeleton Skull", + "name": "skeleton_skull", + "stackSize": 64 + }, + { + "id": 836, + "displayName": "Wither Skeleton Skull", + "name": "wither_skeleton_skull", + "stackSize": 64 + }, + { + "id": 837, + "displayName": "Player Head", + "name": "player_head", + "stackSize": 64 + }, + { + "id": 838, + "displayName": "Zombie Head", + "name": "zombie_head", + "stackSize": 64 + }, + { + "id": 839, + "displayName": "Creeper Head", + "name": "creeper_head", + "stackSize": 64 + }, + { + "id": 840, + "displayName": "Dragon Head", + "name": "dragon_head", + "stackSize": 64 + }, + { + "id": 841, + "displayName": "Carrot on a Stick", + "name": "carrot_on_a_stick", + "stackSize": 1 + }, + { + "id": 842, + "displayName": "Warped Fungus on a Stick", + "name": "warped_fungus_on_a_stick", + "stackSize": 64 + }, + { + "id": 843, + "displayName": "Nether Star", + "name": "nether_star", + "stackSize": 64 + }, + { + "id": 844, + "displayName": "Pumpkin Pie", + "name": "pumpkin_pie", + "stackSize": 64 + }, + { + "id": 845, + "displayName": "Firework Rocket", + "name": "firework_rocket", + "stackSize": 64 + }, + { + "id": 846, + "displayName": "Firework Star", + "name": "firework_star", + "stackSize": 64 + }, + { + "id": 847, + "displayName": "Enchanted Book", + "name": "enchanted_book", + "stackSize": 1 + }, + { + "id": 848, + "displayName": "Nether Brick", + "name": "nether_brick", + "stackSize": 64 + }, + { + "id": 849, + "displayName": "Nether Quartz", + "name": "quartz", + "stackSize": 64 + }, + { + "id": 850, + "displayName": "Minecart with TNT", + "name": "tnt_minecart", + "stackSize": 1 + }, + { + "id": 851, + "displayName": "Minecart with Hopper", + "name": "hopper_minecart", + "stackSize": 1 + }, + { + "id": 852, + "displayName": "Prismarine Shard", + "name": "prismarine_shard", + "stackSize": 64 + }, + { + "id": 853, + "displayName": "Prismarine Crystals", + "name": "prismarine_crystals", + "stackSize": 64 + }, + { + "id": 854, + "displayName": "Raw Rabbit", + "name": "rabbit", + "stackSize": 64 + }, + { + "id": 855, + "displayName": "Cooked Rabbit", + "name": "cooked_rabbit", + "stackSize": 64 + }, + { + "id": 856, + "displayName": "Rabbit Stew", + "name": "rabbit_stew", + "stackSize": 1 + }, + { + "id": 857, + "displayName": "Rabbit's Foot", + "name": "rabbit_foot", + "stackSize": 64 + }, + { + "id": 858, + "displayName": "Rabbit Hide", + "name": "rabbit_hide", + "stackSize": 64 + }, + { + "id": 859, + "displayName": "Armor Stand", + "name": "armor_stand", + "stackSize": 16 + }, + { + "id": 860, + "displayName": "Iron Horse Armor", + "name": "iron_horse_armor", + "stackSize": 1 + }, + { + "id": 861, + "displayName": "Golden Horse Armor", + "name": "golden_horse_armor", + "stackSize": 1 + }, + { + "id": 862, + "displayName": "Diamond Horse Armor", + "name": "diamond_horse_armor", + "stackSize": 1 + }, + { + "id": 863, + "displayName": "Leather Horse Armor", + "name": "leather_horse_armor", + "stackSize": 1 + }, + { + "id": 864, + "displayName": "Lead", + "name": "lead", + "stackSize": 64 + }, + { + "id": 865, + "displayName": "Name Tag", + "name": "name_tag", + "stackSize": 64 + }, + { + "id": 866, + "displayName": "Minecart with Command Block", + "name": "command_block_minecart", + "stackSize": 1 + }, + { + "id": 867, + "displayName": "Raw Mutton", + "name": "mutton", + "stackSize": 64 + }, + { + "id": 868, + "displayName": "Cooked Mutton", + "name": "cooked_mutton", + "stackSize": 64 + }, + { + "id": 869, + "displayName": "White Banner", + "name": "white_banner", + "stackSize": 16 + }, + { + "id": 870, + "displayName": "Orange Banner", + "name": "orange_banner", + "stackSize": 16 + }, + { + "id": 871, + "displayName": "Magenta Banner", + "name": "magenta_banner", + "stackSize": 16 + }, + { + "id": 872, + "displayName": "Light Blue Banner", + "name": "light_blue_banner", + "stackSize": 16 + }, + { + "id": 873, + "displayName": "Yellow Banner", + "name": "yellow_banner", + "stackSize": 16 + }, + { + "id": 874, + "displayName": "Lime Banner", + "name": "lime_banner", + "stackSize": 16 + }, + { + "id": 875, + "displayName": "Pink Banner", + "name": "pink_banner", + "stackSize": 16 + }, + { + "id": 876, + "displayName": "Gray Banner", + "name": "gray_banner", + "stackSize": 16 + }, + { + "id": 877, + "displayName": "Light Gray Banner", + "name": "light_gray_banner", + "stackSize": 16 + }, + { + "id": 878, + "displayName": "Cyan Banner", + "name": "cyan_banner", + "stackSize": 16 + }, + { + "id": 879, + "displayName": "Purple Banner", + "name": "purple_banner", + "stackSize": 16 + }, + { + "id": 880, + "displayName": "Blue Banner", + "name": "blue_banner", + "stackSize": 16 + }, + { + "id": 881, + "displayName": "Brown Banner", + "name": "brown_banner", + "stackSize": 16 + }, + { + "id": 882, + "displayName": "Green Banner", + "name": "green_banner", + "stackSize": 16 + }, + { + "id": 883, + "displayName": "Red Banner", + "name": "red_banner", + "stackSize": 16 + }, + { + "id": 884, + "displayName": "Black Banner", + "name": "black_banner", + "stackSize": 16 + }, + { + "id": 885, + "displayName": "End Crystal", + "name": "end_crystal", + "stackSize": 64 + }, + { + "id": 886, + "displayName": "Chorus Fruit", + "name": "chorus_fruit", + "stackSize": 64 + }, + { + "id": 887, + "displayName": "Popped Chorus Fruit", + "name": "popped_chorus_fruit", + "stackSize": 64 + }, + { + "id": 888, + "displayName": "Beetroot", + "name": "beetroot", + "stackSize": 64 + }, + { + "id": 889, + "displayName": "Beetroot Seeds", + "name": "beetroot_seeds", + "stackSize": 64 + }, + { + "id": 890, + "displayName": "Beetroot Soup", + "name": "beetroot_soup", + "stackSize": 1 + }, + { + "id": 891, + "displayName": "Dragon's Breath", + "name": "dragon_breath", + "stackSize": 64 + }, + { + "id": 892, + "displayName": "Splash Potion", + "name": "splash_potion", + "stackSize": 1 + }, + { + "id": 893, + "displayName": "Spectral Arrow", + "name": "spectral_arrow", + "stackSize": 64 + }, + { + "id": 894, + "displayName": "Tipped Arrow", + "name": "tipped_arrow", + "stackSize": 64 + }, + { + "id": 895, + "displayName": "Lingering Potion", + "name": "lingering_potion", + "stackSize": 1 + }, + { + "id": 896, + "displayName": "Shield", + "name": "shield", + "stackSize": 1 + }, + { + "id": 897, + "displayName": "Elytra", + "name": "elytra", + "stackSize": 1 + }, + { + "id": 898, + "displayName": "Spruce Boat", + "name": "spruce_boat", + "stackSize": 1 + }, + { + "id": 899, + "displayName": "Birch Boat", + "name": "birch_boat", + "stackSize": 1 + }, + { + "id": 900, + "displayName": "Jungle Boat", + "name": "jungle_boat", + "stackSize": 1 + }, + { + "id": 901, + "displayName": "Acacia Boat", + "name": "acacia_boat", + "stackSize": 1 + }, + { + "id": 902, + "displayName": "Dark Oak Boat", + "name": "dark_oak_boat", + "stackSize": 1 + }, + { + "id": 903, + "displayName": "Totem of Undying", + "name": "totem_of_undying", + "stackSize": 1 + }, + { + "id": 904, + "displayName": "Shulker Shell", + "name": "shulker_shell", + "stackSize": 64 + }, + { + "id": 905, + "displayName": "Iron Nugget", + "name": "iron_nugget", + "stackSize": 64 + }, + { + "id": 906, + "displayName": "Knowledge Book", + "name": "knowledge_book", + "stackSize": 1 + }, + { + "id": 907, + "displayName": "Debug Stick", + "name": "debug_stick", + "stackSize": 1 + }, + { + "id": 908, + "displayName": "13 Disc", + "name": "music_disc_13", + "stackSize": 1 + }, + { + "id": 909, + "displayName": "Cat Disc", + "name": "music_disc_cat", + "stackSize": 1 + }, + { + "id": 910, + "displayName": "Blocks Disc", + "name": "music_disc_blocks", + "stackSize": 1 + }, + { + "id": 911, + "displayName": "Chirp Disc", + "name": "music_disc_chirp", + "stackSize": 1 + }, + { + "id": 912, + "displayName": "Far Disc", + "name": "music_disc_far", + "stackSize": 1 + }, + { + "id": 913, + "displayName": "Mall Disc", + "name": "music_disc_mall", + "stackSize": 1 + }, + { + "id": 914, + "displayName": "Mellohi Disc", + "name": "music_disc_mellohi", + "stackSize": 1 + }, + { + "id": 915, + "displayName": "Stal Disc", + "name": "music_disc_stal", + "stackSize": 1 + }, + { + "id": 916, + "displayName": "Strad Disc", + "name": "music_disc_strad", + "stackSize": 1 + }, + { + "id": 917, + "displayName": "Ward Disc", + "name": "music_disc_ward", + "stackSize": 1 + }, + { + "id": 918, + "displayName": "11 Disc", + "name": "music_disc_11", + "stackSize": 1 + }, + { + "id": 919, + "displayName": "Wait Disc", + "name": "music_disc_wait", + "stackSize": 1 + }, + { + "id": 920, + "displayName": "Music Disc", + "name": "music_disc_pigstep", + "stackSize": 1 + }, + { + "id": 921, + "displayName": "Trident", + "name": "trident", + "stackSize": 1 + }, + { + "id": 922, + "displayName": "Phantom Membrane", + "name": "phantom_membrane", + "stackSize": 64 + }, + { + "id": 923, + "displayName": "Nautilus Shell", + "name": "nautilus_shell", + "stackSize": 64 + }, + { + "id": 924, + "displayName": "Heart of the Sea", + "name": "heart_of_the_sea", + "stackSize": 64 + }, + { + "id": 925, + "displayName": "Crossbow", + "name": "crossbow", + "stackSize": 1 + }, + { + "id": 926, + "displayName": "Suspicious Stew", + "name": "suspicious_stew", + "stackSize": 1 + }, + { + "id": 927, + "displayName": "Loom", + "name": "loom", + "stackSize": 64 + }, + { + "id": 928, + "displayName": "Banner Pattern", + "name": "flower_banner_pattern", + "stackSize": 1 + }, + { + "id": 929, + "displayName": "Banner Pattern", + "name": "creeper_banner_pattern", + "stackSize": 1 + }, + { + "id": 930, + "displayName": "Banner Pattern", + "name": "skull_banner_pattern", + "stackSize": 1 + }, + { + "id": 931, + "displayName": "Banner Pattern", + "name": "mojang_banner_pattern", + "stackSize": 1 + }, + { + "id": 932, + "displayName": "Banner Pattern", + "name": "globe_banner_pattern", + "stackSize": 1 + }, + { + "id": 933, + "displayName": "Banner Pattern", + "name": "piglin_banner_pattern", + "stackSize": 1 + }, + { + "id": 934, + "displayName": "Composter", + "name": "composter", + "stackSize": 64 + }, + { + "id": 935, + "displayName": "Barrel", + "name": "barrel", + "stackSize": 64 + }, + { + "id": 936, + "displayName": "Smoker", + "name": "smoker", + "stackSize": 64 + }, + { + "id": 937, + "displayName": "Blast Furnace", + "name": "blast_furnace", + "stackSize": 64 + }, + { + "id": 938, + "displayName": "Cartography Table", + "name": "cartography_table", + "stackSize": 64 + }, + { + "id": 939, + "displayName": "Fletching Table", + "name": "fletching_table", + "stackSize": 64 + }, + { + "id": 940, + "displayName": "Grindstone", + "name": "grindstone", + "stackSize": 64 + }, + { + "id": 941, + "displayName": "Lectern", + "name": "lectern", + "stackSize": 64 + }, + { + "id": 942, + "displayName": "Smithing Table", + "name": "smithing_table", + "stackSize": 64 + }, + { + "id": 943, + "displayName": "Stonecutter", + "name": "stonecutter", + "stackSize": 64 + }, + { + "id": 944, + "displayName": "Bell", + "name": "bell", + "stackSize": 64 + }, + { + "id": 945, + "displayName": "Lantern", + "name": "lantern", + "stackSize": 64 + }, + { + "id": 946, + "displayName": "Soul Lantern", + "name": "soul_lantern", + "stackSize": 64 + }, + { + "id": 947, + "displayName": "Sweet Berries", + "name": "sweet_berries", + "stackSize": 64 + }, + { + "id": 948, + "displayName": "Campfire", + "name": "campfire", + "stackSize": 64 + }, + { + "id": 949, + "displayName": "Soul Campfire", + "name": "soul_campfire", + "stackSize": 64 + }, + { + "id": 950, + "displayName": "Shroomlight", + "name": "shroomlight", + "stackSize": 64 + }, + { + "id": 951, + "displayName": "Honeycomb", + "name": "honeycomb", + "stackSize": 64 + }, + { + "id": 952, + "displayName": "Bee Nest", + "name": "bee_nest", + "stackSize": 64 + }, + { + "id": 953, + "displayName": "Beehive", + "name": "beehive", + "stackSize": 64 + }, + { + "id": 954, + "displayName": "Honey Bottle", + "name": "honey_bottle", + "stackSize": 16 + }, + { + "id": 955, + "displayName": "Honey Block", + "name": "honey_block", + "stackSize": 64 + }, + { + "id": 956, + "displayName": "Honeycomb Block", + "name": "honeycomb_block", + "stackSize": 64 + }, + { + "id": 957, + "displayName": "Lodestone", + "name": "lodestone", + "stackSize": 64 + }, + { + "id": 958, + "displayName": "Block of Netherite", + "name": "netherite_block", + "stackSize": 64 + }, + { + "id": 959, + "displayName": "Ancient Debris", + "name": "ancient_debris", + "stackSize": 64 + }, + { + "id": 960, + "displayName": "Target", + "name": "target", + "stackSize": 64 + }, + { + "id": 961, + "displayName": "Crying Obsidian", + "name": "crying_obsidian", + "stackSize": 64 + }, + { + "id": 962, + "displayName": "Blackstone", + "name": "blackstone", + "stackSize": 64 + }, + { + "id": 963, + "displayName": "Blackstone Slab", + "name": "blackstone_slab", + "stackSize": 64 + }, + { + "id": 964, + "displayName": "Blackstone Stairs", + "name": "blackstone_stairs", + "stackSize": 64 + }, + { + "id": 965, + "displayName": "Gilded Blackstone", + "name": "gilded_blackstone", + "stackSize": 64 + }, + { + "id": 966, + "displayName": "Polished Blackstone", + "name": "polished_blackstone", + "stackSize": 64 + }, + { + "id": 967, + "displayName": "Polished Blackstone Slab", + "name": "polished_blackstone_slab", + "stackSize": 64 + }, + { + "id": 968, + "displayName": "Polished Blackstone Stairs", + "name": "polished_blackstone_stairs", + "stackSize": 64 + }, + { + "id": 969, + "displayName": "Chiseled Polished Blackstone", + "name": "chiseled_polished_blackstone", + "stackSize": 64 + }, + { + "id": 970, + "displayName": "Polished Blackstone Bricks", + "name": "polished_blackstone_bricks", + "stackSize": 64 + }, + { + "id": 971, + "displayName": "Polished Blackstone Brick Slab", + "name": "polished_blackstone_brick_slab", + "stackSize": 64 + }, + { + "id": 972, + "displayName": "Polished Blackstone Brick Stairs", + "name": "polished_blackstone_brick_stairs", + "stackSize": 64 + }, + { + "id": 973, + "displayName": "Cracked Polished Blackstone Bricks", + "name": "cracked_polished_blackstone_bricks", + "stackSize": 64 + }, + { + "id": 974, + "displayName": "Respawn Anchor", + "name": "respawn_anchor", + "stackSize": 64 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/language.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/language.json new file mode 100644 index 00000000..4279485f --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/language.json @@ -0,0 +1,4756 @@ +{ + "language.name": "English", + "language.region": "United States", + "language.code": "en_us", + "narrator.button.accessibility": "Accessibility", + "narrator.button.language": "Language", + "narrator.button.difficulty_lock": "Difficulty lock", + "narrator.button.difficulty_lock.unlocked": "Unlocked", + "narrator.button.difficulty_lock.locked": "Locked", + "narrator.screen.title": "Title Screen", + "narrator.controls.reset": "Reset %s button", + "narrator.controls.bound": "%s is bound to %s", + "narrator.controls.unbound": "%s is not bound", + "narrator.select": "Selected: %s", + "narrator.select.world": "Selected %s, last played: %s, %s, %s, version: %s", + "narrator.loading": "Loading: %s", + "narrator.loading.done": "Done", + "narrator.joining": "Joining", + "narration.suggestion.tooltip": "Selected suggestion %d out of %d: %s (%s)", + "narration.suggestion": "Selected suggestion %d out of %d: %s", + "gui.done": "Done", + "gui.cancel": "Cancel", + "gui.back": "Back", + "gui.toTitle": "Back to title screen", + "gui.toMenu": "Back to server list", + "gui.up": "Up", + "gui.down": "Down", + "gui.yes": "Yes", + "gui.no": "No", + "gui.none": "None", + "gui.all": "All", + "gui.ok": "Ok", + "gui.proceed": "Proceed", + "gui.recipebook.moreRecipes": "Right Click for more", + "gui.recipebook.search_hint": "Search...", + "gui.recipebook.toggleRecipes.all": "Showing all", + "gui.recipebook.toggleRecipes.craftable": "Showing craftable", + "gui.recipebook.toggleRecipes.smeltable": "Showing smeltable", + "gui.recipebook.toggleRecipes.blastable": "Showing blastable", + "gui.recipebook.toggleRecipes.smokable": "Showing smokable", + "gui.narrate.button": "%s button", + "gui.narrate.slider": "%s slider", + "gui.narrate.editBox": "%s edit box: %s", + "translation.test.none": "Hello, world!", + "translation.test.complex": "Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!", + "translation.test.escape": "%%s %%%s %%%%s %%%%%s", + "translation.test.invalid": "hi %", + "translation.test.invalid2": "hi % s", + "translation.test.args": "%s %s", + "translation.test.world": "world", + "menu.game": "Game Menu", + "menu.singleplayer": "Singleplayer", + "menu.multiplayer": "Multiplayer", + "menu.online": "Minecraft Realms", + "menu.options": "Options...", + "menu.quit": "Quit Game", + "menu.returnToMenu": "Save and Quit to Title", + "menu.disconnect": "Disconnect", + "menu.returnToGame": "Back to Game", + "menu.generatingLevel": "Generating world", + "menu.loadingLevel": "Loading world", + "menu.savingLevel": "Saving world", + "menu.working": "Working...", + "menu.savingChunks": "Saving chunks", + "menu.preparingSpawn": "Preparing spawn area: %s%%", + "menu.loadingForcedChunks": "Loading forced chunks for dimension %s", + "menu.generatingTerrain": "Building terrain", + "menu.convertingLevel": "Converting world", + "menu.respawning": "Respawning", + "menu.shareToLan": "Open to LAN", + "menu.sendFeedback": "Give Feedback", + "menu.reportBugs": "Report Bugs", + "menu.paused": "Game paused", + "menu.modded": " (Modded)", + "optimizeWorld.confirm.title": "Optimize world", + "optimizeWorld.confirm.description": "This will attempt to optimize your world by making sure all data is stored in the most recent game format. This can take a very long time, depending on your world. Once done, your world may play faster but will no longer be compatible with older versions of the game. Are you sure you wish to proceed?", + "optimizeWorld.title": "Optimizing World '%s'", + "optimizeWorld.stage.counting": "Counting chunks...", + "optimizeWorld.stage.upgrading": "Upgrading all chunks...", + "optimizeWorld.stage.finished": "Finishing up...", + "optimizeWorld.stage.failed": "Failed! :(", + "optimizeWorld.info.converted": "Upgraded chunks: %s", + "optimizeWorld.info.skipped": "Skipped chunks: %s", + "optimizeWorld.info.total": "Total chunks: %s", + "selectWorld.title": "Select World", + "selectWorld.search": "search for worlds", + "selectWorld.world": "World", + "selectWorld.select": "Play Selected World", + "selectWorld.create": "Create New World", + "selectWorld.recreate": "Re-Create", + "selectWorld.createDemo": "Play New Demo World", + "selectWorld.delete": "Delete", + "selectWorld.edit": "Edit", + "selectWorld.edit.title": "Edit World", + "selectWorld.edit.resetIcon": "Reset Icon", + "selectWorld.edit.openFolder": "Open World Folder", + "selectWorld.edit.save": "Save", + "selectWorld.edit.backup": "Make Backup", + "selectWorld.edit.backupFolder": "Open Backups Folder", + "selectWorld.edit.backupFailed": "Backup failed", + "selectWorld.edit.backupCreated": "Backed up: %s", + "selectWorld.edit.backupSize": "size: %s MB", + "selectWorld.edit.optimize": "Optimize World", + "selectWorld.edit.export_worldgen_settings": "Export World Generation Settings", + "selectWorld.edit.export_worldgen_settings.success": "Exported", + "selectWorld.edit.export_worldgen_settings.failure": "Export failed", + "selectWorld.deleteQuestion": "Are you sure you want to delete this world?", + "selectWorld.deleteWarning": "'%s' will be lost forever! (A long time!)", + "selectWorld.deleteButton": "Delete", + "selectWorld.conversion": "Must be converted!", + "selectWorld.locked": "Locked by another running instance of Minecraft", + "selectWorld.newWorld": "New World", + "selectWorld.enterName": "World Name", + "selectWorld.resultFolder": "Will be saved in:", + "selectWorld.enterSeed": "Seed for the world generator", + "selectWorld.seedInfo": "Leave blank for a random seed", + "selectWorld.cheats": "Cheats", + "selectWorld.customizeType": "Customize", + "selectWorld.version": "Version:", + "selectWorld.versionUnknown": "unknown", + "selectWorld.versionQuestion": "Do you really want to load this world?", + "selectWorld.versionWarning": "This world was last played in version %s and loading it in this version could cause corruption!", + "selectWorld.versionJoinButton": "Load Anyway", + "selectWorld.backupQuestion": "Do you really want to load this world?", + "selectWorld.backupWarning": "This world was last played in version %s; you are on version %s. Please make a backup in case you experience world corruptions!", + "selectWorld.backupQuestion.customized": "Customized worlds are no longer supported", + "selectWorld.backupWarning.customized": "Unfortunately, we do not support customized worlds in this version of Minecraft. We can still load this world and keep everything the way it was, but any newly generated terrain will no longer be customized. We're sorry for the inconvenience!", + "selectWorld.backupQuestion.experimental": "Worlds using Experimental Settings are not supported", + "selectWorld.backupWarning.experimental": "This world uses experimental settings that could stop working at any time. We cannot guarantee it will load or work. Here be dragons!", + "selectWorld.backupEraseCache": "Erase cached data", + "selectWorld.backupJoinConfirmButton": "Create Backup and Load", + "selectWorld.backupJoinSkipButton": "I know what I'm doing!", + "selectWorld.tooltip.fromNewerVersion1": "World was saved in a newer version,", + "selectWorld.tooltip.fromNewerVersion2": "loading this world could cause problems!", + "selectWorld.tooltip.snapshot1": "Don't forget to back up this world", + "selectWorld.tooltip.snapshot2": "before you load it in this snapshot.", + "selectWorld.unable_to_load": "Unable to load worlds", + "selectWorld.futureworld.error.title": "An error occurred!", + "selectWorld.futureworld.error.text": "Something went wrong while trying to load a world from a future version. This was a risky operation to begin with; sorry it didn't work.", + "selectWorld.recreate.error.title": "An error occurred!", + "selectWorld.recreate.error.text": "Something went wrong while trying to recreate a world.", + "selectWorld.recreate.customized.title": "Customized worlds are no longer supported", + "selectWorld.recreate.customized.text": "Customized worlds are no longer supported in this version of Minecraft. We can try to recreate it with the same seed and properties, but any terrain customizations will be lost. We're sorry for the inconvenience!", + "selectWorld.load_folder_access": "Unable to read or access folder where game worlds are saved!", + "selectWorld.access_failure": "Failed to access world", + "selectWorld.delete_failure": "Failed to delete world", + "selectWorld.data_read": "Reading world data...", + "createWorld.customize.presets": "Presets", + "createWorld.customize.presets.title": "Select a Preset", + "createWorld.customize.presets.select": "Use Preset", + "createWorld.customize.presets.share": "Want to share your preset with someone? Use the box below!", + "createWorld.customize.presets.list": "Alternatively, here's some we made earlier!", + "createWorld.customize.flat.title": "Superflat Customization", + "createWorld.customize.flat.tile": "Layer Material", + "createWorld.customize.flat.height": "Height", + "createWorld.customize.flat.removeLayer": "Remove Layer", + "createWorld.customize.flat.layer.top": "Top - %s", + "createWorld.customize.flat.layer": "%s", + "createWorld.customize.flat.layer.bottom": "Bottom - %s", + "createWorld.customize.buffet.title": "Buffet world customization", + "createWorld.customize.buffet.biome": "Please select a biome", + "createWorld.customize.preset.classic_flat": "Classic Flat", + "createWorld.customize.preset.tunnelers_dream": "Tunnelers' Dream", + "createWorld.customize.preset.water_world": "Water World", + "createWorld.customize.preset.overworld": "Overworld", + "createWorld.customize.preset.snowy_kingdom": "Snowy Kingdom", + "createWorld.customize.preset.bottomless_pit": "Bottomless Pit", + "createWorld.customize.preset.desert": "Desert", + "createWorld.customize.preset.redstone_ready": "Redstone Ready", + "createWorld.customize.preset.the_void": "The Void", + "createWorld.customize.custom.page0": "Basic Settings", + "createWorld.customize.custom.page1": "Ore Settings", + "createWorld.customize.custom.page2": "Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.page3": "Extra Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.randomize": "Randomize", + "createWorld.customize.custom.prev": "Previous Page", + "createWorld.customize.custom.next": "Next Page", + "createWorld.customize.custom.defaults": "Defaults", + "createWorld.customize.custom.confirm1": "This will overwrite your current", + "createWorld.customize.custom.confirm2": "settings and cannot be undone.", + "createWorld.customize.custom.confirmTitle": "Warning!", + "createWorld.customize.custom.mainNoiseScaleX": "Main Noise Scale X", + "createWorld.customize.custom.mainNoiseScaleY": "Main Noise Scale Y", + "createWorld.customize.custom.mainNoiseScaleZ": "Main Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleX": "Depth Noise Scale X", + "createWorld.customize.custom.depthNoiseScaleZ": "Depth Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleExponent": "Depth Noise Exponent", + "createWorld.customize.custom.baseSize": "Depth Base Size", + "createWorld.customize.custom.coordinateScale": "Coordinate Scale", + "createWorld.customize.custom.heightScale": "Height Scale", + "createWorld.customize.custom.stretchY": "Height Stretch", + "createWorld.customize.custom.upperLimitScale": "Upper Limit Scale", + "createWorld.customize.custom.lowerLimitScale": "Lower Limit Scale", + "createWorld.customize.custom.biomeDepthWeight": "Biome Depth Weight", + "createWorld.customize.custom.biomeDepthOffset": "Biome Depth Offset", + "createWorld.customize.custom.biomeScaleWeight": "Biome Scale Weight", + "createWorld.customize.custom.biomeScaleOffset": "Biome Scale Offset", + "createWorld.customize.custom.seaLevel": "Sea Level", + "createWorld.customize.custom.useCaves": "Caves", + "createWorld.customize.custom.useStrongholds": "Strongholds", + "createWorld.customize.custom.useVillages": "Villages", + "createWorld.customize.custom.useMineShafts": "Mineshafts", + "createWorld.customize.custom.useTemples": "Temples", + "createWorld.customize.custom.useOceanRuins": "Ocean Ruins", + "createWorld.customize.custom.useMonuments": "Ocean Monuments", + "createWorld.customize.custom.useMansions": "Woodland Mansions", + "createWorld.customize.custom.useRavines": "Ravines", + "createWorld.customize.custom.useDungeons": "Dungeons", + "createWorld.customize.custom.dungeonChance": "Dungeon Count", + "createWorld.customize.custom.useWaterLakes": "Water Lakes", + "createWorld.customize.custom.waterLakeChance": "Water Lake Rarity", + "createWorld.customize.custom.useLavaLakes": "Lava Lakes", + "createWorld.customize.custom.lavaLakeChance": "Lava Lake Rarity", + "createWorld.customize.custom.useLavaOceans": "Lava Oceans", + "createWorld.customize.custom.fixedBiome": "Biome", + "createWorld.customize.custom.biomeSize": "Biome Size", + "createWorld.customize.custom.riverSize": "River Size", + "createWorld.customize.custom.size": "Spawn Size", + "createWorld.customize.custom.count": "Spawn Tries", + "createWorld.customize.custom.minHeight": "Min. Height", + "createWorld.customize.custom.maxHeight": "Max. Height", + "createWorld.customize.custom.center": "Center Height", + "createWorld.customize.custom.spread": "Spread Height", + "createWorld.customize.custom.presets.title": "Customize World Presets", + "createWorld.customize.custom.presets": "Presets", + "createWorld.customize.custom.preset.waterWorld": "Water World", + "createWorld.customize.custom.preset.isleLand": "Isle Land", + "createWorld.customize.custom.preset.caveDelight": "Caver's Delight", + "createWorld.customize.custom.preset.mountains": "Mountain Madness", + "createWorld.customize.custom.preset.drought": "Drought", + "createWorld.customize.custom.preset.caveChaos": "Caves of Chaos", + "createWorld.customize.custom.preset.goodLuck": "Good Luck", + "createWorld.preparing": "Preparing for world creation...", + "datapackFailure.title": "Errors in currently selected datapacks prevented world from loading.\nYou can either try to load only with vanilla datapack (\"safe mode\") or go back to title screen and fix it manually.", + "datapackFailure.safeMode": "Safe Mode", + "editGamerule.title": "Edit Game Rules", + "editGamerule.default": "Default: %s", + "gameMode.survival": "Survival Mode", + "gameMode.creative": "Creative Mode", + "gameMode.adventure": "Adventure Mode", + "gameMode.spectator": "Spectator Mode", + "gameMode.hardcore": "Hardcore Mode!", + "gameMode.changed": "Your game mode has been updated to %s", + "spectatorMenu.previous_page": "Previous Page", + "spectatorMenu.next_page": "Next Page", + "spectatorMenu.close": "Close Menu", + "spectatorMenu.teleport": "Teleport to Player", + "spectatorMenu.teleport.prompt": "Select a player to teleport to", + "spectatorMenu.team_teleport": "Teleport to Team Member", + "spectatorMenu.team_teleport.prompt": "Select a team to teleport to", + "spectatorMenu.root.prompt": "Press a key to select a command, and again to use it.", + "selectWorld.gameMode": "Game Mode", + "selectWorld.gameMode.survival": "Survival", + "selectWorld.gameMode.survival.line1": "Search for resources, craft, gain", + "selectWorld.gameMode.survival.line2": "levels, health and hunger", + "selectWorld.gameMode.creative": "Creative", + "selectWorld.gameMode.creative.line1": "Unlimited resources, free flying and", + "selectWorld.gameMode.creative.line2": "destroy blocks instantly", + "selectWorld.gameMode.spectator": "Spectator", + "selectWorld.gameMode.spectator.line1": "You can look but don't touch", + "selectWorld.gameMode.spectator.line2": "", + "selectWorld.gameMode.hardcore": "Hardcore", + "selectWorld.gameMode.hardcore.line1": "Same as Survival Mode, locked at hardest", + "selectWorld.gameMode.hardcore.line2": "difficulty, and one life only", + "selectWorld.gameMode.adventure": "Adventure", + "selectWorld.gameMode.adventure.line1": "Same as Survival Mode, but blocks can't", + "selectWorld.gameMode.adventure.line2": "be added or removed", + "selectWorld.moreWorldOptions": "More World Options...", + "selectWorld.gameRules": "Game Rules", + "selectWorld.mapFeatures": "Generate Structures:", + "selectWorld.mapFeatures.info": "Villages, dungeons etc.", + "selectWorld.mapType": "World Type:", + "selectWorld.mapType.normal": "Normal", + "selectWorld.allowCommands": "Allow Cheats:", + "selectWorld.allowCommands.info": "Commands like /gamemode, /experience", + "selectWorld.dataPacks": "Data Packs", + "selectWorld.hardcoreMode": "Hardcore:", + "selectWorld.hardcoreMode.info": "World is deleted upon death", + "selectWorld.bonusItems": "Bonus Chest:", + "selectWorld.import_worldgen_settings": "Import Settings", + "selectWorld.import_worldgen_settings.select_file": "Select settings file (.json)", + "selectWorld.import_worldgen_settings.failure": "Error importing settings", + "selectWorld.import_worldgen_settings.experimental.title": "Warning! These settings are using experimental features", + "selectWorld.import_worldgen_settings.experimental.question": "These settings are experimental and could one day stop working. Do you wish to proceed?", + "selectWorld.import_worldgen_settings.deprecated.title": "Warning! These settings are using deprecated features", + "selectWorld.import_worldgen_settings.deprecated.question": "Some features used are deprecated and will stop working in the future. Do you wish to proceed?", + "generator.default": "Default", + "generator.flat": "Superflat", + "generator.large_biomes": "Large Biomes", + "generator.amplified": "AMPLIFIED", + "generator.customized": "Old Customized", + "generator.custom": "Custom", + "generator.debug_all_block_states": "Debug Mode", + "generator.amplified.info": "Notice: Just for fun! Requires a beefy computer.", + "generator.single_biome_surface": "Single Biome", + "generator.single_biome_caves": "Caves", + "generator.single_biome_floating_islands": "Floating Islands", + "selectServer.title": "Select Server", + "selectServer.select": "Join Server", + "selectServer.direct": "Direct Connection", + "selectServer.edit": "Edit", + "selectServer.delete": "Delete", + "selectServer.add": "Add Server", + "selectServer.defaultName": "Minecraft Server", + "selectServer.deleteQuestion": "Are you sure you want to remove this server?", + "selectServer.deleteWarning": "'%s' will be lost forever! (A long time!)", + "selectServer.deleteButton": "Delete", + "selectServer.refresh": "Refresh", + "selectServer.hiddenAddress": "(Hidden)", + "addServer.title": "Edit Server Info", + "addServer.enterName": "Server Name", + "addServer.enterIp": "Server Address", + "addServer.add": "Done", + "addServer.hideAddress": "Hide Address", + "addServer.resourcePack": "Server Resource Packs", + "addServer.resourcePack.enabled": "Enabled", + "addServer.resourcePack.disabled": "Disabled", + "addServer.resourcePack.prompt": "Prompt", + "lanServer.title": "LAN World", + "lanServer.scanning": "Scanning for games on your local network", + "lanServer.start": "Start LAN World", + "lanServer.otherPlayers": "Settings for Other Players", + "multiplayerWarning.header": "Caution: Third-Party Online Play", + "multiplayerWarning.message": "Caution: Online play is offered by third-party servers that are not owned, operated, or supervised by Mojang or Microsoft. During online play, you may be exposed to unmoderated chat messages or other types of user-generated content that may not be suitable for everyone.", + "multiplayerWarning.check": "Do not show this screen again", + "multiplayer.title": "Play Multiplayer", + "multiplayer.texturePrompt.line1": "This server recommends the use of a custom resource pack.", + "multiplayer.texturePrompt.line2": "Would you like to download and install it automagically?", + "multiplayer.downloadingTerrain": "Loading terrain...", + "multiplayer.downloadingStats": "Retrieving statistics...", + "multiplayer.stopSleeping": "Leave Bed", + "multiplayer.message_not_delivered": "Can't deliver chat message, check server logs: %s", + "multiplayer.player.joined": "%s joined the game", + "multiplayer.player.joined.renamed": "%s (formerly known as %s) joined the game", + "multiplayer.player.left": "%s left the game", + "multiplayer.status.and_more": "... and %s more ...", + "multiplayer.status.cancelled": "Cancelled", + "multiplayer.status.cannot_connect": "Can't connect to server", + "multiplayer.status.cannot_resolve": "Can't resolve hostname", + "multiplayer.status.client_out_of_date": "Client out of date!", + "multiplayer.status.finished": "Finished", + "multiplayer.status.no_connection": "(no connection)", + "multiplayer.status.ping": "%s ms", + "multiplayer.status.old": "Old", + "multiplayer.status.pinging": "Pinging...", + "multiplayer.status.quitting": "Quitting", + "multiplayer.status.server_out_of_date": "Server out of date!", + "multiplayer.status.unknown": "???", + "multiplayer.status.unrequested": "Received unrequested status", + "multiplayer.status.request_handled": "Status request has been handled", + "multiplayer.disconnect.authservers_down": "Authentication servers are down. Please try again later, sorry!", + "multiplayer.disconnect.banned": "You are banned from this server", + "multiplayer.disconnect.banned.reason": "You are banned from this server.\nReason: %s", + "multiplayer.disconnect.banned.expiration": "\nYour ban will be removed on %s", + "multiplayer.disconnect.banned_ip.reason": "Your IP address is banned from this server.\nReason: %s", + "multiplayer.disconnect.banned_ip.expiration": "\nYour ban will be removed on %s", + "multiplayer.disconnect.duplicate_login": "You logged in from another location", + "multiplayer.disconnect.flying": "Flying is not enabled on this server", + "multiplayer.disconnect.generic": "Disconnected", + "multiplayer.disconnect.idling": "You have been idle for too long!", + "multiplayer.disconnect.illegal_characters": "Illegal characters in chat", + "multiplayer.disconnect.invalid_entity_attacked": "Attempting to attack an invalid entity", + "multiplayer.disconnect.invalid_player_movement": "Invalid move player packet received", + "multiplayer.disconnect.invalid_vehicle_movement": "Invalid move vehicle packet received", + "multiplayer.disconnect.ip_banned": "You have been IP banned from this server", + "multiplayer.disconnect.kicked": "Kicked by an operator", + "multiplayer.disconnect.outdated_client": "Outdated client! Please use %s", + "multiplayer.disconnect.outdated_server": "Outdated server! I'm still on %s", + "multiplayer.disconnect.server_shutdown": "Server closed", + "multiplayer.disconnect.slow_login": "Took too long to log in", + "multiplayer.disconnect.unverified_username": "Failed to verify username!", + "multiplayer.disconnect.not_whitelisted": "You are not white-listed on this server!", + "multiplayer.disconnect.server_full": "The server is full!", + "multiplayer.disconnect.name_taken": "That name is already taken", + "multiplayer.disconnect.unexpected_query_response": "Unexpected custom data from client", + "chat.editBox": "chat", + "chat.cannotSend": "Cannot send chat message", + "chat.type.text": "<%s> %s", + "chat.type.text.narrate": "%s says %s", + "chat.type.emote": "* %s %s", + "chat.type.announcement": "[%s] %s", + "chat.type.admin": "[%s: %s]", + "chat.type.advancement.task": "%s has made the advancement %s", + "chat.type.advancement.challenge": "%s has completed the challenge %s", + "chat.type.advancement.goal": "%s has reached the goal %s", + "chat.type.team.text": "%s <%s> %s", + "chat.type.team.sent": "-> %s <%s> %s", + "chat.type.team.hover": "Message Team", + "chat.link.confirm": "Are you sure you want to open the following website?", + "chat.link.warning": "Never open links from people that you don't trust!", + "chat.copy": "Copy to Clipboard", + "chat.copy.click": "Click to Copy to Clipboard", + "chat.link.confirmTrusted": "Do you want to open this link or copy it to your clipboard?", + "chat.link.open": "Open in Browser", + "chat.coordinates": "%s, %s, %s", + "chat.coordinates.tooltip": "Click to teleport", + "chat.queue": "[+%s pending lines]", + "menu.playdemo": "Play Demo World", + "menu.resetdemo": "Reset Demo World", + "demo.day.1": "This demo will last five game days. Do your best!", + "demo.day.2": "Day Two", + "demo.day.3": "Day Three", + "demo.day.4": "Day Four", + "demo.day.5": "This is your last day!", + "demo.day.warning": "Your time is almost up!", + "demo.day.6": "You have passed your fifth day. Use %s to save a screenshot of your creation.", + "demo.reminder": "The demo time has expired. Buy the game to continue or start a new world!", + "demo.remainingTime": "Remaining time: %s", + "demo.demoExpired": "Demo time's up!", + "demo.help.movement": "Use the %1$s, %2$s, %3$s, %4$s keys and the mouse to move around", + "demo.help.movementShort": "Move by pressing the %1$s, %2$s, %3$s, %4$s keys", + "demo.help.movementMouse": "Look around using the mouse", + "demo.help.jump": "Jump by pressing the %1$s key", + "demo.help.inventory": "Use the %1$s key to open your inventory", + "demo.help.title": "Minecraft Demo Mode", + "demo.help.fullWrapped": "This demo will last 5 in-game days (about 1 hour and 40 minutes of real time). Check the advancements for hints! Have fun!", + "demo.help.buy": "Purchase Now!", + "demo.help.later": "Continue Playing!", + "connect.connecting": "Connecting to the server...", + "connect.aborted": "Aborted", + "connect.authorizing": "Logging in...", + "connect.negotiating": "Negotiating...", + "connect.encrypting": "Encrypting...", + "connect.joining": "Joining world...", + "connect.failed": "Failed to connect to the server", + "disconnect.genericReason": "%s", + "disconnect.disconnected": "Disconnected by Server", + "disconnect.lost": "Connection Lost", + "disconnect.kicked": "Was kicked from the game", + "disconnect.timeout": "Timed out", + "disconnect.closed": "Connection closed", + "disconnect.loginFailed": "Failed to log in", + "disconnect.loginFailedInfo": "Failed to log in: %s", + "disconnect.loginFailedInfo.serversUnavailable": "The authentication servers are currently down for maintenance.", + "disconnect.loginFailedInfo.invalidSession": "Invalid session (Try restarting your game and the launcher)", + "disconnect.quitting": "Quitting", + "disconnect.endOfStream": "End of stream", + "disconnect.overflow": "Buffer overflow", + "disconnect.spam": "Kicked for spamming", + "soundCategory.master": "Master Volume", + "soundCategory.music": "Music", + "soundCategory.record": "Jukebox/Note Blocks", + "soundCategory.weather": "Weather", + "soundCategory.hostile": "Hostile Creatures", + "soundCategory.neutral": "Friendly Creatures", + "soundCategory.player": "Players", + "soundCategory.block": "Blocks", + "soundCategory.ambient": "Ambient/Environment", + "soundCategory.voice": "Voice/Speech", + "record.nowPlaying": "Now playing: %s", + "options.off": "OFF", + "options.on": "ON", + "options.visible": "Shown", + "options.hidden": "Hidden", + "options.title": "Options", + "options.controls": "Controls...", + "options.video": "Video Settings...", + "options.language": "Language...", + "options.sounds": "Music & Sounds...", + "options.sounds.title": "Music & Sound Options", + "options.languageWarning": "Language translations may not be 100%% accurate", + "options.videoTitle": "Video Settings", + "options.mouse_settings": "Mouse Settings...", + "options.mouse_settings.title": "Mouse Settings", + "options.customizeTitle": "Customize World Settings", + "options.invertMouse": "Invert Mouse", + "options.fov": "FOV", + "options.fov.min": "Normal", + "options.fov.max": "Quake Pro", + "options.biomeBlendRadius": "Biome Blend", + "options.biomeBlendRadius.1": "OFF (Fastest)", + "options.biomeBlendRadius.3": "3x3 (Fast)", + "options.biomeBlendRadius.5": "5x5 (Normal)", + "options.biomeBlendRadius.7": "7x7 (High)", + "options.biomeBlendRadius.9": "9x9 (Very High)", + "options.biomeBlendRadius.11": "11x11 (Extreme)", + "options.biomeBlendRadius.13": "13x13 (Showoff)", + "options.biomeBlendRadius.15": "15x15 (Maximum)", + "options.gamma": "Brightness", + "options.gamma.min": "Moody", + "options.gamma.max": "Bright", + "options.sensitivity": "Sensitivity", + "options.sensitivity.min": "*yawn*", + "options.sensitivity.max": "HYPERSPEED!!!", + "options.renderDistance": "Render Distance", + "options.entityDistanceScaling": "Entity Distance", + "options.entityDistancePercent": "%s%%", + "options.viewBobbing": "View Bobbing", + "options.ao": "Smooth Lighting", + "options.ao.off": "OFF", + "options.ao.min": "Minimum", + "options.ao.max": "Maximum", + "options.chunks": "%s chunks", + "options.framerate": "%s fps", + "options.framerateLimit": "Max Framerate", + "options.framerateLimit.max": "Unlimited", + "options.difficulty": "Difficulty", + "options.difficulty.peaceful": "Peaceful", + "options.difficulty.easy": "Easy", + "options.difficulty.normal": "Normal", + "options.difficulty.hard": "Hard", + "options.difficulty.hardcore": "Hardcore", + "options.graphics": "Graphics", + "options.graphics.fabulous.tooltip": "%s graphics uses screen shaders for drawing weather, clouds and particles behind translucent blocks and water.\nThis may severely impact performance for portable devices and 4K displays.", + "options.graphics.fabulous": "Fabulous!", + "options.graphics.fancy.tooltip": "Fancy graphics balances performance and quality for the majority of machines.\nWeather, clouds and particles may not appear behind translucent blocks or water.", + "options.graphics.fancy": "Fancy", + "options.graphics.fast.tooltip": "Fast graphics reduces the amount of visible rain and snow.\nTransparency effects are disabled for various blocks such as tree-leaves.", + "options.graphics.fast": "Fast", + "options.graphics.warning.title": "Graphics Device Unsupported", + "options.graphics.warning.message": "Your graphics device is detected as unsupported for the %s graphics option.\n\nYou may ignore this and continue, however support will not be provided for your device if you choose to use %s graphics.", + "options.graphics.warning.renderer": "Renderer detected: [%s]", + "options.graphics.warning.vendor": "Vendor detected: [%s]", + "options.graphics.warning.version": "OpenGL Version detected: [%s]", + "options.graphics.warning.accept": "Continue without support", + "options.graphics.warning.cancel": "Take me back", + "options.clouds.fancy": "Fancy", + "options.clouds.fast": "Fast", + "options.guiScale": "GUI Scale", + "options.guiScale.auto": "Auto", + "options.renderClouds": "Clouds", + "options.particles": "Particles", + "options.particles.all": "All", + "options.particles.decreased": "Decreased", + "options.particles.minimal": "Minimal", + "options.multiplayer.title": "Multiplayer Settings...", + "options.chat.title": "Chat Settings...", + "options.chat.visibility": "Chat", + "options.chat.visibility.full": "Shown", + "options.chat.visibility.system": "Commands Only", + "options.chat.visibility.hidden": "Hidden", + "options.chat.color": "Colors", + "options.chat.opacity": "Chat Text Opacity", + "options.chat.line_spacing": "Line Spacing", + "options.chat.links": "Web Links", + "options.chat.links.prompt": "Prompt on Links", + "options.chat.delay_none": "Chat Delay: None", + "options.chat.delay": "Chat Delay: %s seconds", + "options.chat.scale": "Chat Text Size", + "options.chat.width": "Width", + "options.chat.height.focused": "Focused Height", + "options.chat.height.unfocused": "Unfocused Height", + "options.accessibility.title": "Accessibility Settings...", + "options.accessibility.text_background": "Text Background", + "options.accessibility.text_background.chat": "Chat", + "options.accessibility.text_background.everywhere": "Everywhere", + "options.accessibility.text_background_opacity": "Text Background Opacity", + "options.key.toggle": "Toggle", + "options.key.hold": "Hold", + "options.skinCustomisation": "Skin Customization...", + "options.skinCustomisation.title": "Skin Customization", + "options.modelPart.cape": "Cape", + "options.modelPart.hat": "Hat", + "options.modelPart.jacket": "Jacket", + "options.modelPart.left_sleeve": "Left Sleeve", + "options.modelPart.right_sleeve": "Right Sleeve", + "options.modelPart.left_pants_leg": "Left Pants Leg", + "options.modelPart.right_pants_leg": "Right Pants Leg", + "options.snooper": "Allow Snooper", + "options.snooper.view": "Snooper Settings...", + "options.snooper.title": "Feed us data!", + "options.snooper.desc": "We always want to improve Minecraft and, to help us do that, we'd like to collect some information. This lets us know what hardware to support and where the big problems are. It also gives us a sense of the size of our active player base, so we know if we're doing a good job. You can view all the information we collect below. If you want to opt out then you can simply toggle it off!", + "options.resourcepack": "Resource Packs...", + "options.fullscreen": "Fullscreen", + "options.vsync": "Use VSync", + "options.vbo": "Use VBOs", + "options.touchscreen": "Touchscreen Mode", + "options.reducedDebugInfo": "Reduced Debug Info", + "options.entityShadows": "Entity Shadows", + "options.mainHand": "Main Hand", + "options.mainHand.left": "Left", + "options.mainHand.right": "Right", + "options.attackIndicator": "Attack Indicator", + "options.attack.crosshair": "Crosshair", + "options.attack.hotbar": "Hotbar", + "options.showSubtitles": "Show Subtitles", + "options.realmsNotifications": "Realms Notifications", + "options.autoJump": "Auto-Jump", + "options.autoSuggestCommands": "Command Suggestions", + "options.discrete_mouse_scroll": "Discrete Scrolling", + "options.mouseWheelSensitivity": "Scroll Sensitivity", + "options.rawMouseInput": "Raw Input", + "options.narrator": "Narrator", + "options.narrator.off": "OFF", + "options.narrator.all": "Narrates All", + "options.narrator.chat": "Narrates Chat", + "options.narrator.system": "Narrates System", + "options.narrator.notavailable": "Not Available", + "options.fullscreen.resolution": "Fullscreen Resolution", + "options.fullscreen.unavailable": "Setting unavailable", + "options.fullscreen.current": "Current", + "options.mipmapLevels": "Mipmap Levels", + "options.forceUnicodeFont": "Force Unicode Font", + "narrator.toast.disabled": "Narrator Disabled", + "narrator.toast.enabled": "Narrator Enabled", + "difficulty.lock.title": "Lock World Difficulty", + "difficulty.lock.question": "Are you sure you want to lock the difficulty of this world? This will set this world to always be %1$s, and you will never be able to change that again.", + "title.oldgl.eol.line1": "Old graphics card detected; this WILL prevent you from", + "title.oldgl.eol.line2": "playing future updates as OpenGL 2.0 will be required!", + "title.oldgl.deprecation.line1": "Old graphics card detected; this may prevent you from", + "title.oldgl.deprecation.line2": "playing in the future as OpenGL 3.2 will be required!", + "title.multiplayer.disabled": "Multiplayer is disabled, please check your launcher settings.", + "controls.title": "Controls", + "controls.reset": "Reset", + "controls.resetAll": "Reset Keys", + "key.sprint": "Sprint", + "key.forward": "Walk Forwards", + "key.left": "Strafe Left", + "key.back": "Walk Backwards", + "key.right": "Strafe Right", + "key.jump": "Jump", + "key.inventory": "Open/Close Inventory", + "key.drop": "Drop Selected Item", + "key.swapOffhand": "Swap Item With Offhand", + "key.chat": "Open Chat", + "key.sneak": "Sneak", + "key.playerlist": "List Players", + "key.attack": "Attack/Destroy", + "key.use": "Use Item/Place Block", + "key.pickItem": "Pick Block", + "key.command": "Open Command", + "key.screenshot": "Take Screenshot", + "key.togglePerspective": "Toggle Perspective", + "key.smoothCamera": "Toggle Cinematic Camera", + "key.fullscreen": "Toggle Fullscreen", + "key.spectatorOutlines": "Highlight Players (Spectators)", + "key.hotbar.1": "Hotbar Slot 1", + "key.hotbar.2": "Hotbar Slot 2", + "key.hotbar.3": "Hotbar Slot 3", + "key.hotbar.4": "Hotbar Slot 4", + "key.hotbar.5": "Hotbar Slot 5", + "key.hotbar.6": "Hotbar Slot 6", + "key.hotbar.7": "Hotbar Slot 7", + "key.hotbar.8": "Hotbar Slot 8", + "key.hotbar.9": "Hotbar Slot 9", + "key.saveToolbarActivator": "Save Hotbar Activator", + "key.loadToolbarActivator": "Load Hotbar Activator", + "key.advancements": "Advancements", + "key.categories.movement": "Movement", + "key.categories.misc": "Miscellaneous", + "key.categories.multiplayer": "Multiplayer", + "key.categories.gameplay": "Gameplay", + "key.categories.ui": "Game Interface", + "key.categories.inventory": "Inventory", + "key.categories.creative": "Creative Mode", + "key.mouse.left": "Left Button", + "key.mouse.right": "Right Button", + "key.mouse.middle": "Middle Button", + "key.mouse": "Button %1$s", + "key.keyboard.unknown": "Not bound", + "key.keyboard.apostrophe": "'", + "key.keyboard.backslash": "\\", + "key.keyboard.backspace": "Backspace", + "key.keyboard.comma": ",", + "key.keyboard.delete": "Delete", + "key.keyboard.end": "End", + "key.keyboard.enter": "Enter", + "key.keyboard.equal": "=", + "key.keyboard.escape": "Escape", + "key.keyboard.f1": "F1", + "key.keyboard.f2": "F2", + "key.keyboard.f3": "F3", + "key.keyboard.f4": "F4", + "key.keyboard.f5": "F5", + "key.keyboard.f6": "F6", + "key.keyboard.f7": "F7", + "key.keyboard.f8": "F8", + "key.keyboard.f9": "F9", + "key.keyboard.f10": "F10", + "key.keyboard.f11": "F11", + "key.keyboard.f12": "F12", + "key.keyboard.f13": "F13", + "key.keyboard.f14": "F14", + "key.keyboard.f15": "F15", + "key.keyboard.f16": "F16", + "key.keyboard.f17": "F17", + "key.keyboard.f18": "F18", + "key.keyboard.f19": "F19", + "key.keyboard.f20": "F20", + "key.keyboard.f21": "F21", + "key.keyboard.f22": "F22", + "key.keyboard.f23": "F23", + "key.keyboard.f24": "F24", + "key.keyboard.f25": "F25", + "key.keyboard.grave.accent": "`", + "key.keyboard.home": "Home", + "key.keyboard.insert": "Insert", + "key.keyboard.keypad.0": "Keypad 0", + "key.keyboard.keypad.1": "Keypad 1", + "key.keyboard.keypad.2": "Keypad 2", + "key.keyboard.keypad.3": "Keypad 3", + "key.keyboard.keypad.4": "Keypad 4", + "key.keyboard.keypad.5": "Keypad 5", + "key.keyboard.keypad.6": "Keypad 6", + "key.keyboard.keypad.7": "Keypad 7", + "key.keyboard.keypad.8": "Keypad 8", + "key.keyboard.keypad.9": "Keypad 9", + "key.keyboard.keypad.add": "Keypad +", + "key.keyboard.keypad.decimal": "Keypad Decimal", + "key.keyboard.keypad.enter": "Keypad Enter", + "key.keyboard.keypad.equal": "Keypad =", + "key.keyboard.keypad.multiply": "Keypad *", + "key.keyboard.keypad.divide": "Keypad /", + "key.keyboard.keypad.subtract": "Keypad -", + "key.keyboard.left.bracket": "[", + "key.keyboard.right.bracket": "]", + "key.keyboard.minus": "-", + "key.keyboard.num.lock": "Num Lock", + "key.keyboard.caps.lock": "Caps Lock", + "key.keyboard.scroll.lock": "Scroll Lock", + "key.keyboard.page.down": "Page Down", + "key.keyboard.page.up": "Page Up", + "key.keyboard.pause": "Pause", + "key.keyboard.period": ".", + "key.keyboard.left.control": "Left Control", + "key.keyboard.right.control": "Right Control", + "key.keyboard.left.alt": "Left Alt", + "key.keyboard.right.alt": "Right Alt", + "key.keyboard.left.shift": "Left Shift", + "key.keyboard.right.shift": "Right Shift", + "key.keyboard.left.win": "Left Win", + "key.keyboard.right.win": "Right Win", + "key.keyboard.semicolon": ";", + "key.keyboard.slash": "/", + "key.keyboard.space": "Space", + "key.keyboard.tab": "Tab", + "key.keyboard.up": "Up Arrow", + "key.keyboard.down": "Down Arrow", + "key.keyboard.left": "Left Arrow", + "key.keyboard.right": "Right Arrow", + "key.keyboard.menu": "Menu", + "key.keyboard.print.screen": "Print Screen", + "key.keyboard.world.1": "World 1", + "key.keyboard.world.2": "World 2", + "pack.available.title": "Available", + "pack.selected.title": "Selected", + "pack.incompatible": "Incompatible", + "pack.incompatible.old": "(Made for an older version of Minecraft)", + "pack.incompatible.new": "(Made for a newer version of Minecraft)", + "pack.incompatible.confirm.title": "Are you sure you want to load this pack?", + "pack.incompatible.confirm.old": "This pack was made for an older version of Minecraft and may no longer work correctly.", + "pack.incompatible.confirm.new": "This pack was made for a newer version of Minecraft and may no longer work correctly.", + "pack.dropInfo": "Drag and drop files into this window to add packs", + "pack.dropConfirm": "Do you want to add following packs to Minecraft?", + "pack.copyFailure": "Failed to copy packs", + "pack.nameAndSource": "%s (%s)", + "pack.openFolder": "Open Pack Folder", + "pack.folderInfo": "(Place pack files here)", + "resourcePack.title": "Select Resource Packs", + "resourcePack.server.name": "World Specific Resources", + "resourcePack.broken_assets": "BROKEN ASSETS DETECTED", + "resourcePack.load_fail": "Resource reload failed", + "dataPack.title": "Select Data Packs", + "dataPack.validation.working": "Validating selected data packs...", + "dataPack.validation.failed": "Data pack validation failed!", + "dataPack.validation.back": "Go Back", + "dataPack.validation.reset": "Reset to Default", + "sign.edit": "Edit Sign Message", + "book.pageIndicator": "Page %1$s of %2$s", + "book.byAuthor": "by %1$s", + "book.signButton": "Sign", + "book.editTitle": "Enter Book Title:", + "book.finalizeButton": "Sign and Close", + "book.finalizeWarning": "Note! When you sign the book, it will no longer be editable.", + "book.generation.0": "Original", + "book.generation.1": "Copy of original", + "book.generation.2": "Copy of a copy", + "book.generation.3": "Tattered", + "book.invalid.tag": "* Invalid book tag *", + "merchant.deprecated": "Villagers restock up to two times per day.", + "merchant.current_level": "Trader's current level", + "merchant.next_level": "Trader's next level", + "merchant.level.1": "Novice", + "merchant.level.2": "Apprentice", + "merchant.level.3": "Journeyman", + "merchant.level.4": "Expert", + "merchant.level.5": "Master", + "merchant.trades": "Trades", + "block.minecraft.air": "Air", + "block.minecraft.barrier": "Barrier", + "block.minecraft.stone": "Stone", + "block.minecraft.granite": "Granite", + "block.minecraft.polished_granite": "Polished Granite", + "block.minecraft.diorite": "Diorite", + "block.minecraft.polished_diorite": "Polished Diorite", + "block.minecraft.andesite": "Andesite", + "block.minecraft.polished_andesite": "Polished Andesite", + "block.minecraft.hay_block": "Hay Bale", + "block.minecraft.grass_block": "Grass Block", + "block.minecraft.dirt": "Dirt", + "block.minecraft.coarse_dirt": "Coarse Dirt", + "block.minecraft.podzol": "Podzol", + "block.minecraft.cobblestone": "Cobblestone", + "block.minecraft.oak_planks": "Oak Planks", + "block.minecraft.spruce_planks": "Spruce Planks", + "block.minecraft.birch_planks": "Birch Planks", + "block.minecraft.jungle_planks": "Jungle Planks", + "block.minecraft.acacia_planks": "Acacia Planks", + "block.minecraft.dark_oak_planks": "Dark Oak Planks", + "block.minecraft.oak_sapling": "Oak Sapling", + "block.minecraft.spruce_sapling": "Spruce Sapling", + "block.minecraft.birch_sapling": "Birch Sapling", + "block.minecraft.jungle_sapling": "Jungle Sapling", + "block.minecraft.acacia_sapling": "Acacia Sapling", + "block.minecraft.dark_oak_sapling": "Dark Oak Sapling", + "block.minecraft.oak_door": "Oak Door", + "block.minecraft.spruce_door": "Spruce Door", + "block.minecraft.birch_door": "Birch Door", + "block.minecraft.jungle_door": "Jungle Door", + "block.minecraft.acacia_door": "Acacia Door", + "block.minecraft.dark_oak_door": "Dark Oak Door", + "block.minecraft.bedrock": "Bedrock", + "block.minecraft.water": "Water", + "block.minecraft.lava": "Lava", + "block.minecraft.sand": "Sand", + "block.minecraft.red_sand": "Red Sand", + "block.minecraft.sandstone": "Sandstone", + "block.minecraft.chiseled_sandstone": "Chiseled Sandstone", + "block.minecraft.cut_sandstone": "Cut Sandstone", + "block.minecraft.red_sandstone": "Red Sandstone", + "block.minecraft.chiseled_red_sandstone": "Chiseled Red Sandstone", + "block.minecraft.cut_red_sandstone": "Cut Red Sandstone", + "block.minecraft.gravel": "Gravel", + "block.minecraft.gold_ore": "Gold Ore", + "block.minecraft.nether_gold_ore": "Nether Gold Ore", + "block.minecraft.iron_ore": "Iron Ore", + "block.minecraft.coal_ore": "Coal Ore", + "block.minecraft.oak_wood": "Oak Wood", + "block.minecraft.spruce_wood": "Spruce Wood", + "block.minecraft.birch_wood": "Birch Wood", + "block.minecraft.jungle_wood": "Jungle Wood", + "block.minecraft.acacia_wood": "Acacia Wood", + "block.minecraft.dark_oak_wood": "Dark Oak Wood", + "block.minecraft.oak_log": "Oak Log", + "block.minecraft.spruce_log": "Spruce Log", + "block.minecraft.birch_log": "Birch Log", + "block.minecraft.jungle_log": "Jungle Log", + "block.minecraft.acacia_log": "Acacia Log", + "block.minecraft.dark_oak_log": "Dark Oak Log", + "block.minecraft.stripped_oak_log": "Stripped Oak Log", + "block.minecraft.stripped_spruce_log": "Stripped Spruce Log", + "block.minecraft.stripped_birch_log": "Stripped Birch Log", + "block.minecraft.stripped_jungle_log": "Stripped Jungle Log", + "block.minecraft.stripped_acacia_log": "Stripped Acacia Log", + "block.minecraft.stripped_dark_oak_log": "Stripped Dark Oak Log", + "block.minecraft.stripped_oak_wood": "Stripped Oak Wood", + "block.minecraft.stripped_spruce_wood": "Stripped Spruce Wood", + "block.minecraft.stripped_birch_wood": "Stripped Birch Wood", + "block.minecraft.stripped_jungle_wood": "Stripped Jungle Wood", + "block.minecraft.stripped_acacia_wood": "Stripped Acacia Wood", + "block.minecraft.stripped_dark_oak_wood": "Stripped Dark Oak Wood", + "block.minecraft.oak_leaves": "Oak Leaves", + "block.minecraft.spruce_leaves": "Spruce Leaves", + "block.minecraft.birch_leaves": "Birch Leaves", + "block.minecraft.jungle_leaves": "Jungle Leaves", + "block.minecraft.acacia_leaves": "Acacia Leaves", + "block.minecraft.dark_oak_leaves": "Dark Oak Leaves", + "block.minecraft.dead_bush": "Dead Bush", + "block.minecraft.grass": "Grass", + "block.minecraft.fern": "Fern", + "block.minecraft.sponge": "Sponge", + "block.minecraft.wet_sponge": "Wet Sponge", + "block.minecraft.glass": "Glass", + "block.minecraft.kelp_plant": "Kelp Plant", + "block.minecraft.kelp": "Kelp", + "block.minecraft.dried_kelp_block": "Dried Kelp Block", + "block.minecraft.white_stained_glass": "White Stained Glass", + "block.minecraft.orange_stained_glass": "Orange Stained Glass", + "block.minecraft.magenta_stained_glass": "Magenta Stained Glass", + "block.minecraft.light_blue_stained_glass": "Light Blue Stained Glass", + "block.minecraft.yellow_stained_glass": "Yellow Stained Glass", + "block.minecraft.lime_stained_glass": "Lime Stained Glass", + "block.minecraft.pink_stained_glass": "Pink Stained Glass", + "block.minecraft.gray_stained_glass": "Gray Stained Glass", + "block.minecraft.light_gray_stained_glass": "Light Gray Stained Glass", + "block.minecraft.cyan_stained_glass": "Cyan Stained Glass", + "block.minecraft.purple_stained_glass": "Purple Stained Glass", + "block.minecraft.blue_stained_glass": "Blue Stained Glass", + "block.minecraft.brown_stained_glass": "Brown Stained Glass", + "block.minecraft.green_stained_glass": "Green Stained Glass", + "block.minecraft.red_stained_glass": "Red Stained Glass", + "block.minecraft.black_stained_glass": "Black Stained Glass", + "block.minecraft.white_stained_glass_pane": "White Stained Glass Pane", + "block.minecraft.orange_stained_glass_pane": "Orange Stained Glass Pane", + "block.minecraft.magenta_stained_glass_pane": "Magenta Stained Glass Pane", + "block.minecraft.light_blue_stained_glass_pane": "Light Blue Stained Glass Pane", + "block.minecraft.yellow_stained_glass_pane": "Yellow Stained Glass Pane", + "block.minecraft.lime_stained_glass_pane": "Lime Stained Glass Pane", + "block.minecraft.pink_stained_glass_pane": "Pink Stained Glass Pane", + "block.minecraft.gray_stained_glass_pane": "Gray Stained Glass Pane", + "block.minecraft.light_gray_stained_glass_pane": "Light Gray Stained Glass Pane", + "block.minecraft.cyan_stained_glass_pane": "Cyan Stained Glass Pane", + "block.minecraft.purple_stained_glass_pane": "Purple Stained Glass Pane", + "block.minecraft.blue_stained_glass_pane": "Blue Stained Glass Pane", + "block.minecraft.brown_stained_glass_pane": "Brown Stained Glass Pane", + "block.minecraft.green_stained_glass_pane": "Green Stained Glass Pane", + "block.minecraft.red_stained_glass_pane": "Red Stained Glass Pane", + "block.minecraft.black_stained_glass_pane": "Black Stained Glass Pane", + "block.minecraft.glass_pane": "Glass Pane", + "block.minecraft.dandelion": "Dandelion", + "block.minecraft.poppy": "Poppy", + "block.minecraft.blue_orchid": "Blue Orchid", + "block.minecraft.allium": "Allium", + "block.minecraft.azure_bluet": "Azure Bluet", + "block.minecraft.red_tulip": "Red Tulip", + "block.minecraft.orange_tulip": "Orange Tulip", + "block.minecraft.white_tulip": "White Tulip", + "block.minecraft.pink_tulip": "Pink Tulip", + "block.minecraft.oxeye_daisy": "Oxeye Daisy", + "block.minecraft.cornflower": "Cornflower", + "block.minecraft.lily_of_the_valley": "Lily of the Valley", + "block.minecraft.wither_rose": "Wither Rose", + "block.minecraft.sunflower": "Sunflower", + "block.minecraft.lilac": "Lilac", + "block.minecraft.tall_grass": "Tall Grass", + "block.minecraft.tall_seagrass": "Tall Seagrass", + "block.minecraft.large_fern": "Large Fern", + "block.minecraft.rose_bush": "Rose Bush", + "block.minecraft.peony": "Peony", + "block.minecraft.seagrass": "Seagrass", + "block.minecraft.sea_pickle": "Sea Pickle", + "block.minecraft.brown_mushroom": "Brown Mushroom", + "block.minecraft.red_mushroom_block": "Red Mushroom Block", + "block.minecraft.brown_mushroom_block": "Brown Mushroom Block", + "block.minecraft.mushroom_stem": "Mushroom Stem", + "block.minecraft.gold_block": "Block of Gold", + "block.minecraft.iron_block": "Block of Iron", + "block.minecraft.smooth_stone": "Smooth Stone", + "block.minecraft.smooth_sandstone": "Smooth Sandstone", + "block.minecraft.smooth_red_sandstone": "Smooth Red Sandstone", + "block.minecraft.smooth_quartz": "Smooth Quartz Block", + "block.minecraft.stone_slab": "Stone Slab", + "block.minecraft.smooth_stone_slab": "Smooth Stone Slab", + "block.minecraft.sandstone_slab": "Sandstone Slab", + "block.minecraft.red_sandstone_slab": "Red Sandstone Slab", + "block.minecraft.cut_sandstone_slab": "Cut Sandstone Slab", + "block.minecraft.cut_red_sandstone_slab": "Cut Red Sandstone Slab", + "block.minecraft.petrified_oak_slab": "Petrified Oak Slab", + "block.minecraft.cobblestone_slab": "Cobblestone Slab", + "block.minecraft.brick_slab": "Brick Slab", + "block.minecraft.stone_brick_slab": "Stone Brick Slab", + "block.minecraft.nether_brick_slab": "Nether Brick Slab", + "block.minecraft.quartz_slab": "Quartz Slab", + "block.minecraft.oak_slab": "Oak Slab", + "block.minecraft.spruce_slab": "Spruce Slab", + "block.minecraft.birch_slab": "Birch Slab", + "block.minecraft.jungle_slab": "Jungle Slab", + "block.minecraft.acacia_slab": "Acacia Slab", + "block.minecraft.dark_oak_slab": "Dark Oak Slab", + "block.minecraft.dark_prismarine_slab": "Dark Prismarine Slab", + "block.minecraft.prismarine_slab": "Prismarine Slab", + "block.minecraft.prismarine_brick_slab": "Prismarine Brick Slab", + "block.minecraft.bricks": "Bricks", + "block.minecraft.tnt": "TNT", + "block.minecraft.bookshelf": "Bookshelf", + "block.minecraft.mossy_cobblestone": "Mossy Cobblestone", + "block.minecraft.obsidian": "Obsidian", + "block.minecraft.torch": "Torch", + "block.minecraft.wall_torch": "Wall Torch", + "block.minecraft.soul_torch": "Soul Torch", + "block.minecraft.soul_wall_torch": "Soul Wall Torch", + "block.minecraft.fire": "Fire", + "block.minecraft.spawner": "Spawner", + "block.minecraft.respawn_anchor": "Respawn Anchor", + "block.minecraft.oak_stairs": "Oak Stairs", + "block.minecraft.spruce_stairs": "Spruce Stairs", + "block.minecraft.birch_stairs": "Birch Stairs", + "block.minecraft.jungle_stairs": "Jungle Stairs", + "block.minecraft.acacia_stairs": "Acacia Stairs", + "block.minecraft.dark_oak_stairs": "Dark Oak Stairs", + "block.minecraft.dark_prismarine_stairs": "Dark Prismarine Stairs", + "block.minecraft.prismarine_stairs": "Prismarine Stairs", + "block.minecraft.prismarine_brick_stairs": "Prismarine Brick Stairs", + "block.minecraft.chest": "Chest", + "block.minecraft.trapped_chest": "Trapped Chest", + "block.minecraft.redstone_wire": "Redstone Wire", + "block.minecraft.diamond_ore": "Diamond Ore", + "block.minecraft.coal_block": "Block of Coal", + "block.minecraft.diamond_block": "Block of Diamond", + "block.minecraft.crafting_table": "Crafting Table", + "block.minecraft.wheat": "Wheat Crops", + "block.minecraft.farmland": "Farmland", + "block.minecraft.furnace": "Furnace", + "block.minecraft.oak_sign": "Oak Sign", + "block.minecraft.spruce_sign": "Spruce Sign", + "block.minecraft.birch_sign": "Birch Sign", + "block.minecraft.acacia_sign": "Acacia Sign", + "block.minecraft.jungle_sign": "Jungle Sign", + "block.minecraft.dark_oak_sign": "Dark Oak Sign", + "block.minecraft.oak_wall_sign": "Oak Wall Sign", + "block.minecraft.spruce_wall_sign": "Spruce Wall Sign", + "block.minecraft.birch_wall_sign": "Birch Wall Sign", + "block.minecraft.acacia_wall_sign": "Acacia Wall Sign", + "block.minecraft.jungle_wall_sign": "Jungle Wall Sign", + "block.minecraft.dark_oak_wall_sign": "Dark Oak Wall Sign", + "block.minecraft.ladder": "Ladder", + "block.minecraft.scaffolding": "Scaffolding", + "block.minecraft.rail": "Rail", + "block.minecraft.powered_rail": "Powered Rail", + "block.minecraft.activator_rail": "Activator Rail", + "block.minecraft.detector_rail": "Detector Rail", + "block.minecraft.cobblestone_stairs": "Cobblestone Stairs", + "block.minecraft.sandstone_stairs": "Sandstone Stairs", + "block.minecraft.red_sandstone_stairs": "Red Sandstone Stairs", + "block.minecraft.lever": "Lever", + "block.minecraft.stone_pressure_plate": "Stone Pressure Plate", + "block.minecraft.oak_pressure_plate": "Oak Pressure Plate", + "block.minecraft.spruce_pressure_plate": "Spruce Pressure Plate", + "block.minecraft.birch_pressure_plate": "Birch Pressure Plate", + "block.minecraft.jungle_pressure_plate": "Jungle Pressure Plate", + "block.minecraft.acacia_pressure_plate": "Acacia Pressure Plate", + "block.minecraft.dark_oak_pressure_plate": "Dark Oak Pressure Plate", + "block.minecraft.light_weighted_pressure_plate": "Light Weighted Pressure Plate", + "block.minecraft.heavy_weighted_pressure_plate": "Heavy Weighted Pressure Plate", + "block.minecraft.iron_door": "Iron Door", + "block.minecraft.redstone_ore": "Redstone Ore", + "block.minecraft.redstone_torch": "Redstone Torch", + "block.minecraft.redstone_wall_torch": "Redstone Wall Torch", + "block.minecraft.stone_button": "Stone Button", + "block.minecraft.oak_button": "Oak Button", + "block.minecraft.spruce_button": "Spruce Button", + "block.minecraft.birch_button": "Birch Button", + "block.minecraft.jungle_button": "Jungle Button", + "block.minecraft.acacia_button": "Acacia Button", + "block.minecraft.dark_oak_button": "Dark Oak Button", + "block.minecraft.snow": "Snow", + "block.minecraft.white_carpet": "White Carpet", + "block.minecraft.orange_carpet": "Orange Carpet", + "block.minecraft.magenta_carpet": "Magenta Carpet", + "block.minecraft.light_blue_carpet": "Light Blue Carpet", + "block.minecraft.yellow_carpet": "Yellow Carpet", + "block.minecraft.lime_carpet": "Lime Carpet", + "block.minecraft.pink_carpet": "Pink Carpet", + "block.minecraft.gray_carpet": "Gray Carpet", + "block.minecraft.light_gray_carpet": "Light Gray Carpet", + "block.minecraft.cyan_carpet": "Cyan Carpet", + "block.minecraft.purple_carpet": "Purple Carpet", + "block.minecraft.blue_carpet": "Blue Carpet", + "block.minecraft.brown_carpet": "Brown Carpet", + "block.minecraft.green_carpet": "Green Carpet", + "block.minecraft.red_carpet": "Red Carpet", + "block.minecraft.black_carpet": "Black Carpet", + "block.minecraft.ice": "Ice", + "block.minecraft.frosted_ice": "Frosted Ice", + "block.minecraft.packed_ice": "Packed Ice", + "block.minecraft.blue_ice": "Blue Ice", + "block.minecraft.cactus": "Cactus", + "block.minecraft.clay": "Clay", + "block.minecraft.white_terracotta": "White Terracotta", + "block.minecraft.orange_terracotta": "Orange Terracotta", + "block.minecraft.magenta_terracotta": "Magenta Terracotta", + "block.minecraft.light_blue_terracotta": "Light Blue Terracotta", + "block.minecraft.yellow_terracotta": "Yellow Terracotta", + "block.minecraft.lime_terracotta": "Lime Terracotta", + "block.minecraft.pink_terracotta": "Pink Terracotta", + "block.minecraft.gray_terracotta": "Gray Terracotta", + "block.minecraft.light_gray_terracotta": "Light Gray Terracotta", + "block.minecraft.cyan_terracotta": "Cyan Terracotta", + "block.minecraft.purple_terracotta": "Purple Terracotta", + "block.minecraft.blue_terracotta": "Blue Terracotta", + "block.minecraft.brown_terracotta": "Brown Terracotta", + "block.minecraft.green_terracotta": "Green Terracotta", + "block.minecraft.red_terracotta": "Red Terracotta", + "block.minecraft.black_terracotta": "Black Terracotta", + "block.minecraft.terracotta": "Terracotta", + "block.minecraft.sugar_cane": "Sugar Cane", + "block.minecraft.jukebox": "Jukebox", + "block.minecraft.oak_fence": "Oak Fence", + "block.minecraft.spruce_fence": "Spruce Fence", + "block.minecraft.birch_fence": "Birch Fence", + "block.minecraft.jungle_fence": "Jungle Fence", + "block.minecraft.dark_oak_fence": "Dark Oak Fence", + "block.minecraft.acacia_fence": "Acacia Fence", + "block.minecraft.oak_fence_gate": "Oak Fence Gate", + "block.minecraft.spruce_fence_gate": "Spruce Fence Gate", + "block.minecraft.birch_fence_gate": "Birch Fence Gate", + "block.minecraft.jungle_fence_gate": "Jungle Fence Gate", + "block.minecraft.dark_oak_fence_gate": "Dark Oak Fence Gate", + "block.minecraft.acacia_fence_gate": "Acacia Fence Gate", + "block.minecraft.pumpkin_stem": "Pumpkin Stem", + "block.minecraft.attached_pumpkin_stem": "Attached Pumpkin Stem", + "block.minecraft.pumpkin": "Pumpkin", + "block.minecraft.carved_pumpkin": "Carved Pumpkin", + "block.minecraft.jack_o_lantern": "Jack o'Lantern", + "block.minecraft.netherrack": "Netherrack", + "block.minecraft.soul_sand": "Soul Sand", + "block.minecraft.glowstone": "Glowstone", + "block.minecraft.nether_portal": "Nether Portal", + "block.minecraft.white_wool": "White Wool", + "block.minecraft.orange_wool": "Orange Wool", + "block.minecraft.magenta_wool": "Magenta Wool", + "block.minecraft.light_blue_wool": "Light Blue Wool", + "block.minecraft.yellow_wool": "Yellow Wool", + "block.minecraft.lime_wool": "Lime Wool", + "block.minecraft.pink_wool": "Pink Wool", + "block.minecraft.gray_wool": "Gray Wool", + "block.minecraft.light_gray_wool": "Light Gray Wool", + "block.minecraft.cyan_wool": "Cyan Wool", + "block.minecraft.purple_wool": "Purple Wool", + "block.minecraft.blue_wool": "Blue Wool", + "block.minecraft.brown_wool": "Brown Wool", + "block.minecraft.green_wool": "Green Wool", + "block.minecraft.red_wool": "Red Wool", + "block.minecraft.black_wool": "Black Wool", + "block.minecraft.lapis_ore": "Lapis Lazuli Ore", + "block.minecraft.lapis_block": "Lapis Lazuli Block", + "block.minecraft.dispenser": "Dispenser", + "block.minecraft.dropper": "Dropper", + "block.minecraft.note_block": "Note Block", + "block.minecraft.cake": "Cake", + "block.minecraft.bed.occupied": "This bed is occupied", + "block.minecraft.bed.obstructed": "This bed is obstructed", + "block.minecraft.bed.no_sleep": "You can sleep only at night or during thunderstorms", + "block.minecraft.bed.too_far_away": "You may not rest now; the bed is too far away", + "block.minecraft.bed.not_safe": "You may not rest now; there are monsters nearby", + "block.minecraft.spawn.not_valid": "You have no home bed or charged respawn anchor, or it was obstructed", + "block.minecraft.set_spawn": "Respawn point set", + "block.minecraft.oak_trapdoor": "Oak Trapdoor", + "block.minecraft.spruce_trapdoor": "Spruce Trapdoor", + "block.minecraft.birch_trapdoor": "Birch Trapdoor", + "block.minecraft.jungle_trapdoor": "Jungle Trapdoor", + "block.minecraft.acacia_trapdoor": "Acacia Trapdoor", + "block.minecraft.dark_oak_trapdoor": "Dark Oak Trapdoor", + "block.minecraft.iron_trapdoor": "Iron Trapdoor", + "block.minecraft.cobweb": "Cobweb", + "block.minecraft.stone_bricks": "Stone Bricks", + "block.minecraft.mossy_stone_bricks": "Mossy Stone Bricks", + "block.minecraft.cracked_stone_bricks": "Cracked Stone Bricks", + "block.minecraft.chiseled_stone_bricks": "Chiseled Stone Bricks", + "block.minecraft.infested_stone": "Infested Stone", + "block.minecraft.infested_cobblestone": "Infested Cobblestone", + "block.minecraft.infested_stone_bricks": "Infested Stone Bricks", + "block.minecraft.infested_mossy_stone_bricks": "Infested Mossy Stone Bricks", + "block.minecraft.infested_cracked_stone_bricks": "Infested Cracked Stone Bricks", + "block.minecraft.infested_chiseled_stone_bricks": "Infested Chiseled Stone Bricks", + "block.minecraft.piston": "Piston", + "block.minecraft.sticky_piston": "Sticky Piston", + "block.minecraft.iron_bars": "Iron Bars", + "block.minecraft.melon": "Melon", + "block.minecraft.brick_stairs": "Brick Stairs", + "block.minecraft.stone_brick_stairs": "Stone Brick Stairs", + "block.minecraft.vine": "Vines", + "block.minecraft.nether_bricks": "Nether Bricks", + "block.minecraft.nether_brick_fence": "Nether Brick Fence", + "block.minecraft.nether_brick_stairs": "Nether Brick Stairs", + "block.minecraft.nether_wart": "Nether Wart", + "block.minecraft.warped_wart_block": "Warped Wart Block", + "block.minecraft.warped_stem": "Warped Stem", + "block.minecraft.stripped_warped_stem": "Stripped Warped Stem", + "block.minecraft.warped_hyphae": "Warped Hyphae", + "block.minecraft.stripped_warped_hyphae": "Stripped Warped Hyphae", + "block.minecraft.crimson_stem": "Crimson Stem", + "block.minecraft.stripped_crimson_stem": "Stripped Crimson Stem", + "block.minecraft.crimson_hyphae": "Crimson Hyphae", + "block.minecraft.stripped_crimson_hyphae": "Stripped Crimson Hyphae", + "block.minecraft.warped_nylium": "Warped Nylium", + "block.minecraft.crimson_nylium": "Crimson Nylium", + "block.minecraft.warped_fungus": "Warped Fungus", + "block.minecraft.crimson_fungus": "Crimson Fungus", + "block.minecraft.crimson_roots": "Crimson Roots", + "block.minecraft.warped_roots": "Warped Roots", + "block.minecraft.nether_sprouts": "Nether Sprouts", + "block.minecraft.shroomlight": "Shroomlight", + "block.minecraft.weeping_vines": "Weeping Vines", + "block.minecraft.weeping_vines_plant": "Weeping Vines Plant", + "block.minecraft.twisting_vines": "Twisting Vines", + "block.minecraft.twisting_vines_plant": "Twisting Vines Plant", + "block.minecraft.soul_soil": "Soul Soil", + "block.minecraft.basalt": "Basalt", + "block.minecraft.polished_basalt": "Polished Basalt", + "block.minecraft.warped_planks": "Warped Planks", + "block.minecraft.warped_slab": "Warped Slab", + "block.minecraft.warped_pressure_plate": "Warped Pressure Plate", + "block.minecraft.warped_fence": "Warped Fence", + "block.minecraft.warped_trapdoor": "Warped Trapdoor", + "block.minecraft.warped_fence_gate": "Warped Fence Gate", + "block.minecraft.warped_stairs": "Warped Stairs", + "block.minecraft.warped_button": "Warped Button", + "block.minecraft.warped_door": "Warped Door", + "block.minecraft.warped_sign": "Warped Sign", + "block.minecraft.warped_wall_sign": "Warped Wall Sign", + "block.minecraft.crimson_planks": "Crimson Planks", + "block.minecraft.crimson_slab": "Crimson Slab", + "block.minecraft.crimson_pressure_plate": "Crimson Pressure Plate", + "block.minecraft.crimson_fence": "Crimson Fence", + "block.minecraft.crimson_trapdoor": "Crimson Trapdoor", + "block.minecraft.crimson_fence_gate": "Crimson Fence Gate", + "block.minecraft.crimson_stairs": "Crimson Stairs", + "block.minecraft.crimson_button": "Crimson Button", + "block.minecraft.crimson_door": "Crimson Door", + "block.minecraft.crimson_sign": "Crimson Sign", + "block.minecraft.crimson_wall_sign": "Crimson Wall Sign", + "block.minecraft.soul_fire": "Soul Fire", + "block.minecraft.cauldron": "Cauldron", + "block.minecraft.enchanting_table": "Enchanting Table", + "block.minecraft.anvil": "Anvil", + "block.minecraft.chipped_anvil": "Chipped Anvil", + "block.minecraft.damaged_anvil": "Damaged Anvil", + "block.minecraft.end_stone": "End Stone", + "block.minecraft.end_portal_frame": "End Portal Frame", + "block.minecraft.mycelium": "Mycelium", + "block.minecraft.lily_pad": "Lily Pad", + "block.minecraft.dragon_egg": "Dragon Egg", + "block.minecraft.redstone_lamp": "Redstone Lamp", + "block.minecraft.cocoa": "Cocoa", + "block.minecraft.ender_chest": "Ender Chest", + "block.minecraft.emerald_ore": "Emerald Ore", + "block.minecraft.emerald_block": "Block of Emerald", + "block.minecraft.redstone_block": "Block of Redstone", + "block.minecraft.tripwire": "Tripwire", + "block.minecraft.tripwire_hook": "Tripwire Hook", + "block.minecraft.command_block": "Command Block", + "block.minecraft.repeating_command_block": "Repeating Command Block", + "block.minecraft.chain_command_block": "Chain Command Block", + "block.minecraft.beacon": "Beacon", + "block.minecraft.beacon.primary": "Primary Power", + "block.minecraft.beacon.secondary": "Secondary Power", + "block.minecraft.cobblestone_wall": "Cobblestone Wall", + "block.minecraft.mossy_cobblestone_wall": "Mossy Cobblestone Wall", + "block.minecraft.carrots": "Carrots", + "block.minecraft.potatoes": "Potatoes", + "block.minecraft.daylight_detector": "Daylight Detector", + "block.minecraft.nether_quartz_ore": "Nether Quartz Ore", + "block.minecraft.hopper": "Hopper", + "block.minecraft.quartz_block": "Block of Quartz", + "block.minecraft.chiseled_quartz_block": "Chiseled Quartz Block", + "block.minecraft.quartz_pillar": "Quartz Pillar", + "block.minecraft.quartz_stairs": "Quartz Stairs", + "block.minecraft.slime_block": "Slime Block", + "block.minecraft.prismarine": "Prismarine", + "block.minecraft.prismarine_bricks": "Prismarine Bricks", + "block.minecraft.dark_prismarine": "Dark Prismarine", + "block.minecraft.sea_lantern": "Sea Lantern", + "block.minecraft.end_rod": "End Rod", + "block.minecraft.chorus_plant": "Chorus Plant", + "block.minecraft.chorus_flower": "Chorus Flower", + "block.minecraft.purpur_block": "Purpur Block", + "block.minecraft.purpur_pillar": "Purpur Pillar", + "block.minecraft.purpur_stairs": "Purpur Stairs", + "block.minecraft.purpur_slab": "Purpur Slab", + "block.minecraft.end_stone_bricks": "End Stone Bricks", + "block.minecraft.beetroots": "Beetroots", + "block.minecraft.grass_path": "Grass Path", + "block.minecraft.magma_block": "Magma Block", + "block.minecraft.nether_wart_block": "Nether Wart Block", + "block.minecraft.red_nether_bricks": "Red Nether Bricks", + "block.minecraft.bone_block": "Bone Block", + "block.minecraft.observer": "Observer", + "block.minecraft.shulker_box": "Shulker Box", + "block.minecraft.white_shulker_box": "White Shulker Box", + "block.minecraft.orange_shulker_box": "Orange Shulker Box", + "block.minecraft.magenta_shulker_box": "Magenta Shulker Box", + "block.minecraft.light_blue_shulker_box": "Light Blue Shulker Box", + "block.minecraft.yellow_shulker_box": "Yellow Shulker Box", + "block.minecraft.lime_shulker_box": "Lime Shulker Box", + "block.minecraft.pink_shulker_box": "Pink Shulker Box", + "block.minecraft.gray_shulker_box": "Gray Shulker Box", + "block.minecraft.light_gray_shulker_box": "Light Gray Shulker Box", + "block.minecraft.cyan_shulker_box": "Cyan Shulker Box", + "block.minecraft.purple_shulker_box": "Purple Shulker Box", + "block.minecraft.blue_shulker_box": "Blue Shulker Box", + "block.minecraft.brown_shulker_box": "Brown Shulker Box", + "block.minecraft.green_shulker_box": "Green Shulker Box", + "block.minecraft.red_shulker_box": "Red Shulker Box", + "block.minecraft.black_shulker_box": "Black Shulker Box", + "block.minecraft.white_glazed_terracotta": "White Glazed Terracotta", + "block.minecraft.orange_glazed_terracotta": "Orange Glazed Terracotta", + "block.minecraft.magenta_glazed_terracotta": "Magenta Glazed Terracotta", + "block.minecraft.light_blue_glazed_terracotta": "Light Blue Glazed Terracotta", + "block.minecraft.yellow_glazed_terracotta": "Yellow Glazed Terracotta", + "block.minecraft.lime_glazed_terracotta": "Lime Glazed Terracotta", + "block.minecraft.pink_glazed_terracotta": "Pink Glazed Terracotta", + "block.minecraft.gray_glazed_terracotta": "Gray Glazed Terracotta", + "block.minecraft.light_gray_glazed_terracotta": "Light Gray Glazed Terracotta", + "block.minecraft.cyan_glazed_terracotta": "Cyan Glazed Terracotta", + "block.minecraft.purple_glazed_terracotta": "Purple Glazed Terracotta", + "block.minecraft.blue_glazed_terracotta": "Blue Glazed Terracotta", + "block.minecraft.brown_glazed_terracotta": "Brown Glazed Terracotta", + "block.minecraft.green_glazed_terracotta": "Green Glazed Terracotta", + "block.minecraft.red_glazed_terracotta": "Red Glazed Terracotta", + "block.minecraft.black_glazed_terracotta": "Black Glazed Terracotta", + "block.minecraft.black_concrete": "Black Concrete", + "block.minecraft.red_concrete": "Red Concrete", + "block.minecraft.green_concrete": "Green Concrete", + "block.minecraft.brown_concrete": "Brown Concrete", + "block.minecraft.blue_concrete": "Blue Concrete", + "block.minecraft.purple_concrete": "Purple Concrete", + "block.minecraft.cyan_concrete": "Cyan Concrete", + "block.minecraft.light_gray_concrete": "Light Gray Concrete", + "block.minecraft.gray_concrete": "Gray Concrete", + "block.minecraft.pink_concrete": "Pink Concrete", + "block.minecraft.lime_concrete": "Lime Concrete", + "block.minecraft.yellow_concrete": "Yellow Concrete", + "block.minecraft.light_blue_concrete": "Light Blue Concrete", + "block.minecraft.magenta_concrete": "Magenta Concrete", + "block.minecraft.orange_concrete": "Orange Concrete", + "block.minecraft.white_concrete": "White Concrete", + "block.minecraft.black_concrete_powder": "Black Concrete Powder", + "block.minecraft.red_concrete_powder": "Red Concrete Powder", + "block.minecraft.green_concrete_powder": "Green Concrete Powder", + "block.minecraft.brown_concrete_powder": "Brown Concrete Powder", + "block.minecraft.blue_concrete_powder": "Blue Concrete Powder", + "block.minecraft.purple_concrete_powder": "Purple Concrete Powder", + "block.minecraft.cyan_concrete_powder": "Cyan Concrete Powder", + "block.minecraft.light_gray_concrete_powder": "Light Gray Concrete Powder", + "block.minecraft.gray_concrete_powder": "Gray Concrete Powder", + "block.minecraft.pink_concrete_powder": "Pink Concrete Powder", + "block.minecraft.lime_concrete_powder": "Lime Concrete Powder", + "block.minecraft.yellow_concrete_powder": "Yellow Concrete Powder", + "block.minecraft.light_blue_concrete_powder": "Light Blue Concrete Powder", + "block.minecraft.magenta_concrete_powder": "Magenta Concrete Powder", + "block.minecraft.orange_concrete_powder": "Orange Concrete Powder", + "block.minecraft.white_concrete_powder": "White Concrete Powder", + "block.minecraft.turtle_egg": "Turtle Egg", + "block.minecraft.piston_head": "Piston Head", + "block.minecraft.moving_piston": "Moving Piston", + "block.minecraft.red_mushroom": "Red Mushroom", + "block.minecraft.snow_block": "Snow Block", + "block.minecraft.attached_melon_stem": "Attached Melon Stem", + "block.minecraft.melon_stem": "Melon Stem", + "block.minecraft.brewing_stand": "Brewing Stand", + "block.minecraft.end_portal": "End Portal", + "block.minecraft.flower_pot": "Flower Pot", + "block.minecraft.potted_oak_sapling": "Potted Oak Sapling", + "block.minecraft.potted_spruce_sapling": "Potted Spruce Sapling", + "block.minecraft.potted_birch_sapling": "Potted Birch Sapling", + "block.minecraft.potted_jungle_sapling": "Potted Jungle Sapling", + "block.minecraft.potted_acacia_sapling": "Potted Acacia Sapling", + "block.minecraft.potted_dark_oak_sapling": "Potted Dark Oak Sapling", + "block.minecraft.potted_fern": "Potted Fern", + "block.minecraft.potted_dandelion": "Potted Dandelion", + "block.minecraft.potted_poppy": "Potted Poppy", + "block.minecraft.potted_blue_orchid": "Potted Blue Orchid", + "block.minecraft.potted_allium": "Potted Allium", + "block.minecraft.potted_azure_bluet": "Potted Azure Bluet", + "block.minecraft.potted_red_tulip": "Potted Red Tulip", + "block.minecraft.potted_orange_tulip": "Potted Orange Tulip", + "block.minecraft.potted_white_tulip": "Potted White Tulip", + "block.minecraft.potted_pink_tulip": "Potted Pink Tulip", + "block.minecraft.potted_oxeye_daisy": "Potted Oxeye Daisy", + "block.minecraft.potted_cornflower": "Potted Cornflower", + "block.minecraft.potted_lily_of_the_valley": "Potted Lily of the Valley", + "block.minecraft.potted_wither_rose": "Potted Wither Rose", + "block.minecraft.potted_red_mushroom": "Potted Red Mushroom", + "block.minecraft.potted_brown_mushroom": "Potted Brown Mushroom", + "block.minecraft.potted_dead_bush": "Potted Dead Bush", + "block.minecraft.potted_cactus": "Potted Cactus", + "block.minecraft.potted_bamboo": "Potted Bamboo", + "block.minecraft.potted_crimson_fungus": "Potted Crimson Fungus", + "block.minecraft.potted_warped_fungus": "Potted Warped Fungus", + "block.minecraft.potted_crimson_roots": "Potted Crimson Roots", + "block.minecraft.potted_warped_roots": "Potted Warped Roots", + "block.minecraft.skeleton_wall_skull": "Skeleton Wall Skull", + "block.minecraft.skeleton_skull": "Skeleton Skull", + "block.minecraft.wither_skeleton_wall_skull": "Wither Skeleton Wall Skull", + "block.minecraft.wither_skeleton_skull": "Wither Skeleton Skull", + "block.minecraft.zombie_wall_head": "Zombie Wall Head", + "block.minecraft.zombie_head": "Zombie Head", + "block.minecraft.player_wall_head": "Player Wall Head", + "block.minecraft.player_head": "Player Head", + "block.minecraft.player_head.named": "%s's Head", + "block.minecraft.creeper_wall_head": "Creeper Wall Head", + "block.minecraft.creeper_head": "Creeper Head", + "block.minecraft.dragon_wall_head": "Dragon Wall Head", + "block.minecraft.dragon_head": "Dragon Head", + "block.minecraft.end_gateway": "End Gateway", + "block.minecraft.structure_void": "Structure Void", + "block.minecraft.structure_block": "Structure Block", + "block.minecraft.void_air": "Void Air", + "block.minecraft.cave_air": "Cave Air", + "block.minecraft.bubble_column": "Bubble Column", + "block.minecraft.dead_tube_coral_block": "Dead Tube Coral Block", + "block.minecraft.dead_brain_coral_block": "Dead Brain Coral Block", + "block.minecraft.dead_bubble_coral_block": "Dead Bubble Coral Block", + "block.minecraft.dead_fire_coral_block": "Dead Fire Coral Block", + "block.minecraft.dead_horn_coral_block": "Dead Horn Coral Block", + "block.minecraft.tube_coral_block": "Tube Coral Block", + "block.minecraft.brain_coral_block": "Brain Coral Block", + "block.minecraft.bubble_coral_block": "Bubble Coral Block", + "block.minecraft.fire_coral_block": "Fire Coral Block", + "block.minecraft.horn_coral_block": "Horn Coral Block", + "block.minecraft.tube_coral": "Tube Coral", + "block.minecraft.brain_coral": "Brain Coral", + "block.minecraft.bubble_coral": "Bubble Coral", + "block.minecraft.fire_coral": "Fire Coral", + "block.minecraft.horn_coral": "Horn Coral", + "block.minecraft.dead_tube_coral": "Dead Tube Coral", + "block.minecraft.dead_brain_coral": "Dead Brain Coral", + "block.minecraft.dead_bubble_coral": "Dead Bubble Coral", + "block.minecraft.dead_fire_coral": "Dead Fire Coral", + "block.minecraft.dead_horn_coral": "Dead Horn Coral", + "block.minecraft.tube_coral_fan": "Tube Coral Fan", + "block.minecraft.brain_coral_fan": "Brain Coral Fan", + "block.minecraft.bubble_coral_fan": "Bubble Coral Fan", + "block.minecraft.fire_coral_fan": "Fire Coral Fan", + "block.minecraft.horn_coral_fan": "Horn Coral Fan", + "block.minecraft.dead_tube_coral_fan": "Dead Tube Coral Fan", + "block.minecraft.dead_brain_coral_fan": "Dead Brain Coral Fan", + "block.minecraft.dead_bubble_coral_fan": "Dead Bubble Coral Fan", + "block.minecraft.dead_fire_coral_fan": "Dead Fire Coral Fan", + "block.minecraft.dead_horn_coral_fan": "Dead Horn Coral Fan", + "block.minecraft.tube_coral_wall_fan": "Tube Coral Wall Fan", + "block.minecraft.brain_coral_wall_fan": "Brain Coral Wall Fan", + "block.minecraft.bubble_coral_wall_fan": "Bubble Coral Wall Fan", + "block.minecraft.fire_coral_wall_fan": "Fire Coral Wall Fan", + "block.minecraft.horn_coral_wall_fan": "Horn Coral Wall Fan", + "block.minecraft.dead_tube_coral_wall_fan": "Dead Tube Coral Wall Fan", + "block.minecraft.dead_brain_coral_wall_fan": "Dead Brain Coral Wall Fan", + "block.minecraft.dead_bubble_coral_wall_fan": "Dead Bubble Coral Wall Fan", + "block.minecraft.dead_fire_coral_wall_fan": "Dead Fire Coral Wall Fan", + "block.minecraft.dead_horn_coral_wall_fan": "Dead Horn Coral Wall Fan", + "block.minecraft.loom": "Loom", + "block.minecraft.conduit": "Conduit", + "block.minecraft.bamboo": "Bamboo", + "block.minecraft.bamboo_sapling": "Bamboo Shoot", + "block.minecraft.jigsaw": "Jigsaw Block", + "block.minecraft.composter": "Composter", + "block.minecraft.target": "Target", + "block.minecraft.polished_granite_stairs": "Polished Granite Stairs", + "block.minecraft.smooth_red_sandstone_stairs": "Smooth Red Sandstone Stairs", + "block.minecraft.mossy_stone_brick_stairs": "Mossy Stone Brick Stairs", + "block.minecraft.polished_diorite_stairs": "Polished Diorite Stairs", + "block.minecraft.mossy_cobblestone_stairs": "Mossy Cobblestone Stairs", + "block.minecraft.end_stone_brick_stairs": "End Stone Brick Stairs", + "block.minecraft.stone_stairs": "Stone Stairs", + "block.minecraft.smooth_sandstone_stairs": "Smooth Sandstone Stairs", + "block.minecraft.smooth_quartz_stairs": "Smooth Quartz Stairs", + "block.minecraft.granite_stairs": "Granite Stairs", + "block.minecraft.andesite_stairs": "Andesite Stairs", + "block.minecraft.red_nether_brick_stairs": "Red Nether Brick Stairs", + "block.minecraft.polished_andesite_stairs": "Polished Andesite Stairs", + "block.minecraft.diorite_stairs": "Diorite Stairs", + "block.minecraft.polished_granite_slab": "Polished Granite Slab", + "block.minecraft.smooth_red_sandstone_slab": "Smooth Red Sandstone Slab", + "block.minecraft.mossy_stone_brick_slab": "Mossy Stone Brick Slab", + "block.minecraft.polished_diorite_slab": "Polished Diorite Slab", + "block.minecraft.mossy_cobblestone_slab": "Mossy Cobblestone Slab", + "block.minecraft.end_stone_brick_slab": "End Stone Brick Slab", + "block.minecraft.smooth_sandstone_slab": "Smooth Sandstone Slab", + "block.minecraft.smooth_quartz_slab": "Smooth Quartz Slab", + "block.minecraft.granite_slab": "Granite Slab", + "block.minecraft.andesite_slab": "Andesite Slab", + "block.minecraft.red_nether_brick_slab": "Red Nether Brick Slab", + "block.minecraft.polished_andesite_slab": "Polished Andesite Slab", + "block.minecraft.diorite_slab": "Diorite Slab", + "block.minecraft.brick_wall": "Brick Wall", + "block.minecraft.prismarine_wall": "Prismarine Wall", + "block.minecraft.red_sandstone_wall": "Red Sandstone Wall", + "block.minecraft.mossy_stone_brick_wall": "Mossy Stone Brick Wall", + "block.minecraft.granite_wall": "Granite Wall", + "block.minecraft.stone_brick_wall": "Stone Brick Wall", + "block.minecraft.nether_brick_wall": "Nether Brick Wall", + "block.minecraft.andesite_wall": "Andesite Wall", + "block.minecraft.red_nether_brick_wall": "Red Nether Brick Wall", + "block.minecraft.sandstone_wall": "Sandstone Wall", + "block.minecraft.end_stone_brick_wall": "End Stone Brick Wall", + "block.minecraft.diorite_wall": "Diorite Wall", + "block.minecraft.barrel": "Barrel", + "block.minecraft.smoker": "Smoker", + "block.minecraft.blast_furnace": "Blast Furnace", + "block.minecraft.cartography_table": "Cartography Table", + "block.minecraft.fletching_table": "Fletching Table", + "block.minecraft.smithing_table": "Smithing Table", + "block.minecraft.grindstone": "Grindstone", + "block.minecraft.lectern": "Lectern", + "block.minecraft.stonecutter": "Stonecutter", + "block.minecraft.bell": "Bell", + "block.minecraft.ominous_banner": "Ominous Banner", + "block.minecraft.lantern": "Lantern", + "block.minecraft.soul_lantern": "Soul Lantern", + "block.minecraft.sweet_berry_bush": "Sweet Berry Bush", + "block.minecraft.campfire": "Campfire", + "block.minecraft.soul_campfire": "Soul Campfire", + "block.minecraft.beehive": "Beehive", + "block.minecraft.bee_nest": "Bee Nest", + "block.minecraft.honey_block": "Honey Block", + "block.minecraft.honeycomb_block": "Honeycomb Block", + "block.minecraft.lodestone": "Lodestone", + "block.minecraft.netherite_block": "Block of Netherite", + "block.minecraft.ancient_debris": "Ancient Debris", + "block.minecraft.crying_obsidian": "Crying Obsidian", + "block.minecraft.blackstone": "Blackstone", + "block.minecraft.blackstone_slab": "Blackstone Slab", + "block.minecraft.blackstone_stairs": "Blackstone Stairs", + "block.minecraft.blackstone_wall": "Blackstone Wall", + "block.minecraft.polished_blackstone_bricks": "Polished Blackstone Bricks", + "block.minecraft.polished_blackstone_brick_slab": "Polished Blackstone Brick Slab", + "block.minecraft.polished_blackstone_brick_stairs": "Polished Blackstone Brick Stairs", + "block.minecraft.polished_blackstone_brick_wall": "Polished Blackstone Brick Wall", + "block.minecraft.chiseled_polished_blackstone": "Chiseled Polished Blackstone", + "block.minecraft.cracked_polished_blackstone_bricks": "Cracked Polished Blackstone Bricks", + "block.minecraft.gilded_blackstone": "Gilded Blackstone", + "block.minecraft.polished_blackstone": "Polished Blackstone", + "block.minecraft.polished_blackstone_wall": "Polished Blackstone Wall", + "block.minecraft.polished_blackstone_slab": "Polished Blackstone Slab", + "block.minecraft.polished_blackstone_stairs": "Polished Blackstone Stairs", + "block.minecraft.polished_blackstone_pressure_plate": "Polished Blackstone Pressure Plate", + "block.minecraft.polished_blackstone_button": "Polished Blackstone Button", + "block.minecraft.cracked_nether_bricks": "Cracked Nether Bricks", + "block.minecraft.chiseled_nether_bricks": "Chiseled Nether Bricks", + "block.minecraft.quartz_bricks": "Quartz Bricks", + "block.minecraft.chain": "Chain", + "item.minecraft.name_tag": "Name Tag", + "item.minecraft.lead": "Lead", + "item.minecraft.iron_shovel": "Iron Shovel", + "item.minecraft.iron_pickaxe": "Iron Pickaxe", + "item.minecraft.iron_axe": "Iron Axe", + "item.minecraft.flint_and_steel": "Flint and Steel", + "item.minecraft.apple": "Apple", + "item.minecraft.cookie": "Cookie", + "item.minecraft.bow": "Bow", + "item.minecraft.arrow": "Arrow", + "item.minecraft.spectral_arrow": "Spectral Arrow", + "item.minecraft.tipped_arrow": "Tipped Arrow", + "item.minecraft.dried_kelp": "Dried Kelp", + "item.minecraft.coal": "Coal", + "item.minecraft.charcoal": "Charcoal", + "item.minecraft.diamond": "Diamond", + "item.minecraft.emerald": "Emerald", + "item.minecraft.iron_ingot": "Iron Ingot", + "item.minecraft.gold_ingot": "Gold Ingot", + "item.minecraft.iron_sword": "Iron Sword", + "item.minecraft.wooden_sword": "Wooden Sword", + "item.minecraft.wooden_shovel": "Wooden Shovel", + "item.minecraft.wooden_pickaxe": "Wooden Pickaxe", + "item.minecraft.wooden_axe": "Wooden Axe", + "item.minecraft.stone_sword": "Stone Sword", + "item.minecraft.stone_shovel": "Stone Shovel", + "item.minecraft.stone_pickaxe": "Stone Pickaxe", + "item.minecraft.stone_axe": "Stone Axe", + "item.minecraft.diamond_sword": "Diamond Sword", + "item.minecraft.diamond_shovel": "Diamond Shovel", + "item.minecraft.diamond_pickaxe": "Diamond Pickaxe", + "item.minecraft.diamond_axe": "Diamond Axe", + "item.minecraft.stick": "Stick", + "item.minecraft.bowl": "Bowl", + "item.minecraft.mushroom_stew": "Mushroom Stew", + "item.minecraft.golden_sword": "Golden Sword", + "item.minecraft.golden_shovel": "Golden Shovel", + "item.minecraft.golden_pickaxe": "Golden Pickaxe", + "item.minecraft.golden_axe": "Golden Axe", + "item.minecraft.string": "String", + "item.minecraft.feather": "Feather", + "item.minecraft.gunpowder": "Gunpowder", + "item.minecraft.wooden_hoe": "Wooden Hoe", + "item.minecraft.stone_hoe": "Stone Hoe", + "item.minecraft.iron_hoe": "Iron Hoe", + "item.minecraft.diamond_hoe": "Diamond Hoe", + "item.minecraft.golden_hoe": "Golden Hoe", + "item.minecraft.wheat_seeds": "Wheat Seeds", + "item.minecraft.pumpkin_seeds": "Pumpkin Seeds", + "item.minecraft.melon_seeds": "Melon Seeds", + "item.minecraft.melon_slice": "Melon Slice", + "item.minecraft.wheat": "Wheat", + "item.minecraft.bread": "Bread", + "item.minecraft.leather_helmet": "Leather Cap", + "item.minecraft.leather_chestplate": "Leather Tunic", + "item.minecraft.leather_leggings": "Leather Pants", + "item.minecraft.leather_boots": "Leather Boots", + "item.minecraft.chainmail_helmet": "Chainmail Helmet", + "item.minecraft.chainmail_chestplate": "Chainmail Chestplate", + "item.minecraft.chainmail_leggings": "Chainmail Leggings", + "item.minecraft.chainmail_boots": "Chainmail Boots", + "item.minecraft.iron_helmet": "Iron Helmet", + "item.minecraft.iron_chestplate": "Iron Chestplate", + "item.minecraft.iron_leggings": "Iron Leggings", + "item.minecraft.iron_boots": "Iron Boots", + "item.minecraft.diamond_helmet": "Diamond Helmet", + "item.minecraft.diamond_chestplate": "Diamond Chestplate", + "item.minecraft.diamond_leggings": "Diamond Leggings", + "item.minecraft.diamond_boots": "Diamond Boots", + "item.minecraft.golden_helmet": "Golden Helmet", + "item.minecraft.golden_chestplate": "Golden Chestplate", + "item.minecraft.golden_leggings": "Golden Leggings", + "item.minecraft.golden_boots": "Golden Boots", + "item.minecraft.flint": "Flint", + "item.minecraft.porkchop": "Raw Porkchop", + "item.minecraft.cooked_porkchop": "Cooked Porkchop", + "item.minecraft.chicken": "Raw Chicken", + "item.minecraft.cooked_chicken": "Cooked Chicken", + "item.minecraft.mutton": "Raw Mutton", + "item.minecraft.cooked_mutton": "Cooked Mutton", + "item.minecraft.rabbit": "Raw Rabbit", + "item.minecraft.cooked_rabbit": "Cooked Rabbit", + "item.minecraft.rabbit_stew": "Rabbit Stew", + "item.minecraft.rabbit_foot": "Rabbit's Foot", + "item.minecraft.rabbit_hide": "Rabbit Hide", + "item.minecraft.beef": "Raw Beef", + "item.minecraft.cooked_beef": "Steak", + "item.minecraft.painting": "Painting", + "item.minecraft.item_frame": "Item Frame", + "item.minecraft.golden_apple": "Golden Apple", + "item.minecraft.enchanted_golden_apple": "Enchanted Golden Apple", + "item.minecraft.sign": "Sign", + "item.minecraft.bucket": "Bucket", + "item.minecraft.water_bucket": "Water Bucket", + "item.minecraft.lava_bucket": "Lava Bucket", + "item.minecraft.pufferfish_bucket": "Bucket of Pufferfish", + "item.minecraft.salmon_bucket": "Bucket of Salmon", + "item.minecraft.cod_bucket": "Bucket of Cod", + "item.minecraft.tropical_fish_bucket": "Bucket of Tropical Fish", + "item.minecraft.minecart": "Minecart", + "item.minecraft.saddle": "Saddle", + "item.minecraft.redstone": "Redstone Dust", + "item.minecraft.snowball": "Snowball", + "item.minecraft.oak_boat": "Oak Boat", + "item.minecraft.spruce_boat": "Spruce Boat", + "item.minecraft.birch_boat": "Birch Boat", + "item.minecraft.jungle_boat": "Jungle Boat", + "item.minecraft.acacia_boat": "Acacia Boat", + "item.minecraft.dark_oak_boat": "Dark Oak Boat", + "item.minecraft.leather": "Leather", + "item.minecraft.milk_bucket": "Milk Bucket", + "item.minecraft.brick": "Brick", + "item.minecraft.clay_ball": "Clay Ball", + "item.minecraft.paper": "Paper", + "item.minecraft.book": "Book", + "item.minecraft.slime_ball": "Slimeball", + "item.minecraft.chest_minecart": "Minecart with Chest", + "item.minecraft.furnace_minecart": "Minecart with Furnace", + "item.minecraft.tnt_minecart": "Minecart with TNT", + "item.minecraft.hopper_minecart": "Minecart with Hopper", + "item.minecraft.command_block_minecart": "Minecart with Command Block", + "item.minecraft.egg": "Egg", + "item.minecraft.compass": "Compass", + "item.minecraft.fishing_rod": "Fishing Rod", + "item.minecraft.clock": "Clock", + "item.minecraft.glowstone_dust": "Glowstone Dust", + "item.minecraft.cod": "Raw Cod", + "item.minecraft.salmon": "Raw Salmon", + "item.minecraft.pufferfish": "Pufferfish", + "item.minecraft.tropical_fish": "Tropical Fish", + "item.minecraft.cooked_cod": "Cooked Cod", + "item.minecraft.cooked_salmon": "Cooked Salmon", + "item.minecraft.music_disc_13": "Music Disc", + "item.minecraft.music_disc_cat": "Music Disc", + "item.minecraft.music_disc_blocks": "Music Disc", + "item.minecraft.music_disc_chirp": "Music Disc", + "item.minecraft.music_disc_far": "Music Disc", + "item.minecraft.music_disc_mall": "Music Disc", + "item.minecraft.music_disc_mellohi": "Music Disc", + "item.minecraft.music_disc_stal": "Music Disc", + "item.minecraft.music_disc_strad": "Music Disc", + "item.minecraft.music_disc_ward": "Music Disc", + "item.minecraft.music_disc_11": "Music Disc", + "item.minecraft.music_disc_wait": "Music Disc", + "item.minecraft.music_disc_pigstep": "Music Disc", + "item.minecraft.music_disc_13.desc": "C418 - 13", + "item.minecraft.music_disc_cat.desc": "C418 - cat", + "item.minecraft.music_disc_blocks.desc": "C418 - blocks", + "item.minecraft.music_disc_chirp.desc": "C418 - chirp", + "item.minecraft.music_disc_far.desc": "C418 - far", + "item.minecraft.music_disc_mall.desc": "C418 - mall", + "item.minecraft.music_disc_mellohi.desc": "C418 - mellohi", + "item.minecraft.music_disc_stal.desc": "C418 - stal", + "item.minecraft.music_disc_strad.desc": "C418 - strad", + "item.minecraft.music_disc_ward.desc": "C418 - ward", + "item.minecraft.music_disc_11.desc": "C418 - 11", + "item.minecraft.music_disc_wait.desc": "C418 - wait", + "item.minecraft.music_disc_pigstep.desc": "Lena Raine - Pigstep", + "item.minecraft.bone": "Bone", + "item.minecraft.ink_sac": "Ink Sac", + "item.minecraft.red_dye": "Red Dye", + "item.minecraft.green_dye": "Green Dye", + "item.minecraft.cocoa_beans": "Cocoa Beans", + "item.minecraft.lapis_lazuli": "Lapis Lazuli", + "item.minecraft.purple_dye": "Purple Dye", + "item.minecraft.cyan_dye": "Cyan Dye", + "item.minecraft.light_gray_dye": "Light Gray Dye", + "item.minecraft.gray_dye": "Gray Dye", + "item.minecraft.pink_dye": "Pink Dye", + "item.minecraft.lime_dye": "Lime Dye", + "item.minecraft.yellow_dye": "Yellow Dye", + "item.minecraft.light_blue_dye": "Light Blue Dye", + "item.minecraft.magenta_dye": "Magenta Dye", + "item.minecraft.orange_dye": "Orange Dye", + "item.minecraft.bone_meal": "Bone Meal", + "item.minecraft.blue_dye": "Blue Dye", + "item.minecraft.black_dye": "Black Dye", + "item.minecraft.brown_dye": "Brown Dye", + "item.minecraft.white_dye": "White Dye", + "item.minecraft.sugar": "Sugar", + "block.minecraft.black_bed": "Black Bed", + "block.minecraft.red_bed": "Red Bed", + "block.minecraft.green_bed": "Green Bed", + "block.minecraft.brown_bed": "Brown Bed", + "block.minecraft.blue_bed": "Blue Bed", + "block.minecraft.purple_bed": "Purple Bed", + "block.minecraft.cyan_bed": "Cyan Bed", + "block.minecraft.light_gray_bed": "Light Gray Bed", + "block.minecraft.gray_bed": "Gray Bed", + "block.minecraft.pink_bed": "Pink Bed", + "block.minecraft.lime_bed": "Lime Bed", + "block.minecraft.yellow_bed": "Yellow Bed", + "block.minecraft.light_blue_bed": "Light Blue Bed", + "block.minecraft.magenta_bed": "Magenta Bed", + "block.minecraft.orange_bed": "Orange Bed", + "block.minecraft.white_bed": "White Bed", + "block.minecraft.repeater": "Redstone Repeater", + "block.minecraft.comparator": "Redstone Comparator", + "item.minecraft.filled_map": "Map", + "item.minecraft.shears": "Shears", + "item.minecraft.rotten_flesh": "Rotten Flesh", + "item.minecraft.ender_pearl": "Ender Pearl", + "item.minecraft.blaze_rod": "Blaze Rod", + "item.minecraft.ghast_tear": "Ghast Tear", + "item.minecraft.nether_wart": "Nether Wart", + "item.minecraft.potion": "Potion", + "item.minecraft.splash_potion": "Splash Potion", + "item.minecraft.lingering_potion": "Lingering Potion", + "item.minecraft.end_crystal": "End Crystal", + "item.minecraft.gold_nugget": "Gold Nugget", + "item.minecraft.glass_bottle": "Glass Bottle", + "item.minecraft.spider_eye": "Spider Eye", + "item.minecraft.fermented_spider_eye": "Fermented Spider Eye", + "item.minecraft.blaze_powder": "Blaze Powder", + "item.minecraft.magma_cream": "Magma Cream", + "item.minecraft.cauldron": "Cauldron", + "item.minecraft.brewing_stand": "Brewing Stand", + "item.minecraft.ender_eye": "Eye of Ender", + "item.minecraft.glistering_melon_slice": "Glistering Melon Slice", + "item.minecraft.bat_spawn_egg": "Bat Spawn Egg", + "item.minecraft.bee_spawn_egg": "Bee Spawn Egg", + "item.minecraft.blaze_spawn_egg": "Blaze Spawn Egg", + "item.minecraft.cat_spawn_egg": "Cat Spawn Egg", + "item.minecraft.cave_spider_spawn_egg": "Cave Spider Spawn Egg", + "item.minecraft.chicken_spawn_egg": "Chicken Spawn Egg", + "item.minecraft.cod_spawn_egg": "Cod Spawn Egg", + "item.minecraft.cow_spawn_egg": "Cow Spawn Egg", + "item.minecraft.creeper_spawn_egg": "Creeper Spawn Egg", + "item.minecraft.dolphin_spawn_egg": "Dolphin Spawn Egg", + "item.minecraft.donkey_spawn_egg": "Donkey Spawn Egg", + "item.minecraft.drowned_spawn_egg": "Drowned Spawn Egg", + "item.minecraft.elder_guardian_spawn_egg": "Elder Guardian Spawn Egg", + "item.minecraft.enderman_spawn_egg": "Enderman Spawn Egg", + "item.minecraft.endermite_spawn_egg": "Endermite Spawn Egg", + "item.minecraft.evoker_spawn_egg": "Evoker Spawn Egg", + "item.minecraft.ghast_spawn_egg": "Ghast Spawn Egg", + "item.minecraft.guardian_spawn_egg": "Guardian Spawn Egg", + "item.minecraft.hoglin_spawn_egg": "Hoglin Spawn Egg", + "item.minecraft.horse_spawn_egg": "Horse Spawn Egg", + "item.minecraft.husk_spawn_egg": "Husk Spawn Egg", + "item.minecraft.ravager_spawn_egg": "Ravager Spawn Egg", + "item.minecraft.llama_spawn_egg": "Llama Spawn Egg", + "item.minecraft.magma_cube_spawn_egg": "Magma Cube Spawn Egg", + "item.minecraft.mooshroom_spawn_egg": "Mooshroom Spawn Egg", + "item.minecraft.mule_spawn_egg": "Mule Spawn Egg", + "item.minecraft.ocelot_spawn_egg": "Ocelot Spawn Egg", + "item.minecraft.panda_spawn_egg": "Panda Spawn Egg", + "item.minecraft.parrot_spawn_egg": "Parrot Spawn Egg", + "item.minecraft.pig_spawn_egg": "Pig Spawn Egg", + "item.minecraft.piglin_spawn_egg": "Piglin Spawn Egg", + "item.minecraft.pillager_spawn_egg": "Pillager Spawn Egg", + "item.minecraft.phantom_spawn_egg": "Phantom Spawn Egg", + "item.minecraft.polar_bear_spawn_egg": "Polar Bear Spawn Egg", + "item.minecraft.pufferfish_spawn_egg": "Pufferfish Spawn Egg", + "item.minecraft.rabbit_spawn_egg": "Rabbit Spawn Egg", + "item.minecraft.fox_spawn_egg": "Fox Spawn Egg", + "item.minecraft.salmon_spawn_egg": "Salmon Spawn Egg", + "item.minecraft.sheep_spawn_egg": "Sheep Spawn Egg", + "item.minecraft.shulker_spawn_egg": "Shulker Spawn Egg", + "item.minecraft.silverfish_spawn_egg": "Silverfish Spawn Egg", + "item.minecraft.skeleton_spawn_egg": "Skeleton Spawn Egg", + "item.minecraft.skeleton_horse_spawn_egg": "Skeleton Horse Spawn Egg", + "item.minecraft.slime_spawn_egg": "Slime Spawn Egg", + "item.minecraft.spider_spawn_egg": "Spider Spawn Egg", + "item.minecraft.squid_spawn_egg": "Squid Spawn Egg", + "item.minecraft.stray_spawn_egg": "Stray Spawn Egg", + "item.minecraft.strider_spawn_egg": "Strider Spawn Egg", + "item.minecraft.trader_llama_spawn_egg": "Trader Llama Spawn Egg", + "item.minecraft.tropical_fish_spawn_egg": "Tropical Fish Spawn Egg", + "item.minecraft.turtle_spawn_egg": "Turtle Spawn Egg", + "item.minecraft.vex_spawn_egg": "Vex Spawn Egg", + "item.minecraft.villager_spawn_egg": "Villager Spawn Egg", + "item.minecraft.wandering_trader_spawn_egg": "Wandering Trader Spawn Egg", + "item.minecraft.vindicator_spawn_egg": "Vindicator Spawn Egg", + "item.minecraft.witch_spawn_egg": "Witch Spawn Egg", + "item.minecraft.wither_skeleton_spawn_egg": "Wither Skeleton Spawn Egg", + "item.minecraft.wolf_spawn_egg": "Wolf Spawn Egg", + "item.minecraft.zoglin_spawn_egg": "Zoglin Spawn Egg", + "item.minecraft.zombie_spawn_egg": "Zombie Spawn Egg", + "item.minecraft.zombie_horse_spawn_egg": "Zombie Horse Spawn Egg", + "item.minecraft.zombified_piglin_spawn_egg": "Zombified Piglin Spawn Egg", + "item.minecraft.zombie_villager_spawn_egg": "Zombie Villager Spawn Egg", + "item.minecraft.experience_bottle": "Bottle o' Enchanting", + "item.minecraft.fire_charge": "Fire Charge", + "item.minecraft.writable_book": "Book and Quill", + "item.minecraft.written_book": "Written Book", + "item.minecraft.flower_pot": "Flower Pot", + "item.minecraft.map": "Empty Map", + "item.minecraft.carrot": "Carrot", + "item.minecraft.golden_carrot": "Golden Carrot", + "item.minecraft.potato": "Potato", + "item.minecraft.baked_potato": "Baked Potato", + "item.minecraft.poisonous_potato": "Poisonous Potato", + "item.minecraft.carrot_on_a_stick": "Carrot on a Stick", + "item.minecraft.nether_star": "Nether Star", + "item.minecraft.pumpkin_pie": "Pumpkin Pie", + "item.minecraft.enchanted_book": "Enchanted Book", + "item.minecraft.firework_rocket": "Firework Rocket", + "item.minecraft.firework_rocket.flight": "Flight Duration:", + "item.minecraft.firework_star": "Firework Star", + "item.minecraft.firework_star.black": "Black", + "item.minecraft.firework_star.red": "Red", + "item.minecraft.firework_star.green": "Green", + "item.minecraft.firework_star.brown": "Brown", + "item.minecraft.firework_star.blue": "Blue", + "item.minecraft.firework_star.purple": "Purple", + "item.minecraft.firework_star.cyan": "Cyan", + "item.minecraft.firework_star.light_gray": "Light Gray", + "item.minecraft.firework_star.gray": "Gray", + "item.minecraft.firework_star.pink": "Pink", + "item.minecraft.firework_star.lime": "Lime", + "item.minecraft.firework_star.yellow": "Yellow", + "item.minecraft.firework_star.light_blue": "Light Blue", + "item.minecraft.firework_star.magenta": "Magenta", + "item.minecraft.firework_star.orange": "Orange", + "item.minecraft.firework_star.white": "White", + "item.minecraft.firework_star.custom_color": "Custom", + "item.minecraft.firework_star.fade_to": "Fade to", + "item.minecraft.firework_star.flicker": "Twinkle", + "item.minecraft.firework_star.trail": "Trail", + "item.minecraft.firework_star.shape.small_ball": "Small Ball", + "item.minecraft.firework_star.shape.large_ball": "Large Ball", + "item.minecraft.firework_star.shape.star": "Star-shaped", + "item.minecraft.firework_star.shape.creeper": "Creeper-shaped", + "item.minecraft.firework_star.shape.burst": "Burst", + "item.minecraft.firework_star.shape": "Unknown Shape", + "item.minecraft.nether_brick": "Nether Brick", + "item.minecraft.quartz": "Nether Quartz", + "item.minecraft.armor_stand": "Armor Stand", + "item.minecraft.iron_horse_armor": "Iron Horse Armor", + "item.minecraft.golden_horse_armor": "Golden Horse Armor", + "item.minecraft.diamond_horse_armor": "Diamond Horse Armor", + "item.minecraft.leather_horse_armor": "Leather Horse Armor", + "item.minecraft.prismarine_shard": "Prismarine Shard", + "item.minecraft.prismarine_crystals": "Prismarine Crystals", + "item.minecraft.chorus_fruit": "Chorus Fruit", + "item.minecraft.popped_chorus_fruit": "Popped Chorus Fruit", + "item.minecraft.beetroot": "Beetroot", + "item.minecraft.beetroot_seeds": "Beetroot Seeds", + "item.minecraft.beetroot_soup": "Beetroot Soup", + "item.minecraft.dragon_breath": "Dragon's Breath", + "item.minecraft.elytra": "Elytra", + "item.minecraft.totem_of_undying": "Totem of Undying", + "item.minecraft.shulker_shell": "Shulker Shell", + "item.minecraft.iron_nugget": "Iron Nugget", + "item.minecraft.knowledge_book": "Knowledge Book", + "item.minecraft.debug_stick": "Debug Stick", + "item.minecraft.debug_stick.empty": "%s has no properties", + "item.minecraft.debug_stick.update": "\"%s\" to %s", + "item.minecraft.debug_stick.select": "selected \"%s\" (%s)", + "item.minecraft.trident": "Trident", + "item.minecraft.scute": "Scute", + "item.minecraft.turtle_helmet": "Turtle Shell", + "item.minecraft.phantom_membrane": "Phantom Membrane", + "item.minecraft.nautilus_shell": "Nautilus Shell", + "item.minecraft.heart_of_the_sea": "Heart of the Sea", + "item.minecraft.crossbow": "Crossbow", + "item.minecraft.crossbow.projectile": "Projectile:", + "item.minecraft.suspicious_stew": "Suspicious Stew", + "item.minecraft.creeper_banner_pattern": "Banner Pattern", + "item.minecraft.skull_banner_pattern": "Banner Pattern", + "item.minecraft.flower_banner_pattern": "Banner Pattern", + "item.minecraft.mojang_banner_pattern": "Banner Pattern", + "item.minecraft.globe_banner_pattern": "Banner Pattern", + "item.minecraft.creeper_banner_pattern.desc": "Creeper Charge", + "item.minecraft.skull_banner_pattern.desc": "Skull Charge", + "item.minecraft.flower_banner_pattern.desc": "Flower Charge", + "item.minecraft.mojang_banner_pattern.desc": "Thing", + "item.minecraft.globe_banner_pattern.desc": "Globe", + "item.minecraft.piglin_banner_pattern": "Banner Pattern", + "item.minecraft.piglin_banner_pattern.desc": "Snout", + "item.minecraft.sweet_berries": "Sweet Berries", + "item.minecraft.honey_bottle": "Honey Bottle", + "item.minecraft.honeycomb": "Honeycomb", + "item.minecraft.lodestone_compass": "Lodestone Compass", + "item.minecraft.netherite_scrap": "Netherite Scrap", + "item.minecraft.netherite_ingot": "Netherite Ingot", + "item.minecraft.netherite_helmet": "Netherite Helmet", + "item.minecraft.netherite_chestplate": "Netherite Chestplate", + "item.minecraft.netherite_leggings": "Netherite Leggings", + "item.minecraft.netherite_boots": "Netherite Boots", + "item.minecraft.netherite_axe": "Netherite Axe", + "item.minecraft.netherite_pickaxe": "Netherite Pickaxe", + "item.minecraft.netherite_hoe": "Netherite Hoe", + "item.minecraft.netherite_shovel": "Netherite Shovel", + "item.minecraft.netherite_sword": "Netherite Sword", + "item.minecraft.warped_fungus_on_a_stick": "Warped Fungus on a Stick", + "container.inventory": "Inventory", + "container.hopper": "Item Hopper", + "container.crafting": "Crafting", + "container.dispenser": "Dispenser", + "container.dropper": "Dropper", + "container.furnace": "Furnace", + "container.enchant": "Enchant", + "container.smoker": "Smoker", + "container.lectern": "Lectern", + "container.blast_furnace": "Blast Furnace", + "container.enchant.lapis.one": "1 Lapis Lazuli", + "container.enchant.lapis.many": "%s Lapis Lazuli", + "container.enchant.level.one": "1 Enchantment Level", + "container.enchant.level.many": "%s Enchantment Levels", + "container.enchant.level.requirement": "Level requirement: %s", + "container.enchant.clue": "%s . . . ?", + "container.repair": "Repair & Name", + "container.repair.cost": "Enchantment Cost: %1$s", + "container.repair.expensive": "Too Expensive!", + "container.creative": "Item Selection", + "container.brewing": "Brewing Stand", + "container.chest": "Chest", + "container.chestDouble": "Large Chest", + "container.enderchest": "Ender Chest", + "container.beacon": "Beacon", + "container.shulkerBox": "Shulker Box", + "container.shulkerBox.more": "and %s more...", + "container.barrel": "Barrel", + "container.spectatorCantOpen": "Unable to open. Loot not generated yet.", + "container.isLocked": "%s is locked!", + "container.loom": "Loom", + "container.grindstone_title": "Repair & Disenchant", + "container.cartography_table": "Cartography Table", + "container.stonecutter": "Stonecutter", + "container.upgrade": "Upgrade Gear", + "structure_block.invalid_structure_name": "Invalid structure name '%s'", + "structure_block.save_success": "Structure saved as '%s'", + "structure_block.save_failure": "Unable to save structure '%s'", + "structure_block.load_success": "Structure loaded from '%s'", + "structure_block.load_prepare": "Structure '%s' position prepared", + "structure_block.load_not_found": "Structure '%s' is not available", + "structure_block.size_success": "Size successfully detected for '%s'", + "structure_block.size_failure": "Unable to detect structure size. Add corners with matching structure names", + "structure_block.mode.save": "Save", + "structure_block.mode.load": "Load", + "structure_block.mode.data": "Data", + "structure_block.mode.corner": "Corner", + "structure_block.hover.save": "Save: %s", + "structure_block.hover.load": "Load: %s", + "structure_block.hover.data": "Data: %s", + "structure_block.hover.corner": "Corner: %s", + "structure_block.mode_info.save": "Save mode - write to file", + "structure_block.mode_info.load": "Load mode - load from file", + "structure_block.mode_info.data": "Data mode - game logic marker", + "structure_block.mode_info.corner": "Corner mode - placement and size marker", + "structure_block.structure_name": "Structure Name", + "structure_block.custom_data": "Custom Data Tag Name", + "structure_block.position": "Relative Position", + "structure_block.position.x": "relative Position x", + "structure_block.position.y": "relative position y", + "structure_block.position.z": "relative position z", + "structure_block.size": "Structure Size", + "structure_block.size.x": "structure size x", + "structure_block.size.y": "structure size y", + "structure_block.size.z": "structure size z", + "structure_block.integrity": "Structure Integrity and Seed", + "structure_block.integrity.integrity": "Structure Integrity", + "structure_block.integrity.seed": "Structure Seed", + "structure_block.include_entities": "Include entities:", + "structure_block.detect_size": "Detect structure size and position:", + "structure_block.button.detect_size": "DETECT", + "structure_block.button.save": "SAVE", + "structure_block.button.load": "LOAD", + "structure_block.show_air": "Show invisible blocks:", + "structure_block.show_boundingbox": "Show bounding box:", + "jigsaw_block.pool": "Target pool:", + "jigsaw_block.name": "Name:", + "jigsaw_block.target": "Target name:", + "jigsaw_block.final_state": "Turns into:", + "jigsaw_block.levels": "Levels: %s", + "jigsaw_block.keep_jigsaws": "Keep Jigsaws: ", + "jigsaw_block.generate": "Generate", + "jigsaw_block.joint_label": "Joint type:", + "jigsaw_block.joint.rollable": "Rollable", + "jigsaw_block.joint.aligned": "Aligned", + "item.dyed": "Dyed", + "item.unbreakable": "Unbreakable", + "item.canBreak": "Can break:", + "item.canPlace": "Can be placed on:", + "item.color": "Color: %s", + "item.nbt_tags": "NBT: %s tag(s)", + "item.durability": "Durability: %s / %s", + "filled_map.mansion": "Woodland Explorer Map", + "filled_map.monument": "Ocean Explorer Map", + "filled_map.buried_treasure": "Buried Treasure Map", + "filled_map.unknown": "Unknown Map", + "filled_map.id": "Id #%s", + "filled_map.level": "(Level %s/%s)", + "filled_map.scale": "Scaling at 1:%s", + "filled_map.locked": "Locked", + "entity.minecraft.area_effect_cloud": "Area Effect Cloud", + "entity.minecraft.armor_stand": "Armor Stand", + "entity.minecraft.arrow": "Arrow", + "entity.minecraft.bat": "Bat", + "entity.minecraft.bee": "Bee", + "entity.minecraft.blaze": "Blaze", + "entity.minecraft.boat": "Boat", + "entity.minecraft.cat": "Cat", + "entity.minecraft.cave_spider": "Cave Spider", + "entity.minecraft.chest_minecart": "Minecart with Chest", + "entity.minecraft.chicken": "Chicken", + "entity.minecraft.command_block_minecart": "Minecart with Command Block", + "entity.minecraft.cod": "Cod", + "entity.minecraft.cow": "Cow", + "entity.minecraft.creeper": "Creeper", + "entity.minecraft.dolphin": "Dolphin", + "entity.minecraft.donkey": "Donkey", + "entity.minecraft.drowned": "Drowned", + "entity.minecraft.dragon_fireball": "Dragon Fireball", + "entity.minecraft.egg": "Thrown Egg", + "entity.minecraft.elder_guardian": "Elder Guardian", + "entity.minecraft.end_crystal": "End Crystal", + "entity.minecraft.ender_dragon": "Ender Dragon", + "entity.minecraft.ender_pearl": "Thrown Ender Pearl", + "entity.minecraft.enderman": "Enderman", + "entity.minecraft.endermite": "Endermite", + "entity.minecraft.evoker_fangs": "Evoker Fangs", + "entity.minecraft.evoker": "Evoker", + "entity.minecraft.eye_of_ender": "Eye of Ender", + "entity.minecraft.falling_block": "Falling Block", + "entity.minecraft.fireball": "Fireball", + "entity.minecraft.firework_rocket": "Firework Rocket", + "entity.minecraft.fishing_bobber": "Fishing Bobber", + "entity.minecraft.fox": "Fox", + "entity.minecraft.furnace_minecart": "Minecart with Furnace", + "entity.minecraft.ghast": "Ghast", + "entity.minecraft.giant": "Giant", + "entity.minecraft.guardian": "Guardian", + "entity.minecraft.hoglin": "Hoglin", + "entity.minecraft.hopper_minecart": "Minecart with Hopper", + "entity.minecraft.horse": "Horse", + "entity.minecraft.husk": "Husk", + "entity.minecraft.ravager": "Ravager", + "entity.minecraft.illusioner": "Illusioner", + "entity.minecraft.item": "Item", + "entity.minecraft.item_frame": "Item Frame", + "entity.minecraft.killer_bunny": "The Killer Bunny", + "entity.minecraft.leash_knot": "Leash Knot", + "entity.minecraft.lightning_bolt": "Lightning Bolt", + "entity.minecraft.llama": "Llama", + "entity.minecraft.llama_spit": "Llama Spit", + "entity.minecraft.magma_cube": "Magma Cube", + "entity.minecraft.minecart": "Minecart", + "entity.minecraft.mooshroom": "Mooshroom", + "entity.minecraft.mule": "Mule", + "entity.minecraft.ocelot": "Ocelot", + "entity.minecraft.painting": "Painting", + "entity.minecraft.panda": "Panda", + "entity.minecraft.parrot": "Parrot", + "entity.minecraft.phantom": "Phantom", + "entity.minecraft.pig": "Pig", + "entity.minecraft.piglin": "Piglin", + "entity.minecraft.pillager": "Pillager", + "entity.minecraft.player": "Player", + "entity.minecraft.polar_bear": "Polar Bear", + "entity.minecraft.potion": "Potion", + "entity.minecraft.pufferfish": "Pufferfish", + "entity.minecraft.rabbit": "Rabbit", + "entity.minecraft.salmon": "Salmon", + "entity.minecraft.sheep": "Sheep", + "entity.minecraft.shulker": "Shulker", + "entity.minecraft.shulker_bullet": "Shulker Bullet", + "entity.minecraft.silverfish": "Silverfish", + "entity.minecraft.skeleton": "Skeleton", + "entity.minecraft.skeleton_horse": "Skeleton Horse", + "entity.minecraft.slime": "Slime", + "entity.minecraft.small_fireball": "Small Fireball", + "entity.minecraft.snowball": "Snowball", + "entity.minecraft.snow_golem": "Snow Golem", + "entity.minecraft.spawner_minecart": "Minecart with Spawner", + "entity.minecraft.spectral_arrow": "Spectral Arrow", + "entity.minecraft.spider": "Spider", + "entity.minecraft.squid": "Squid", + "entity.minecraft.stray": "Stray", + "entity.minecraft.strider": "Strider", + "entity.minecraft.tnt": "Primed TNT", + "entity.minecraft.tnt_minecart": "Minecart with TNT", + "entity.minecraft.trader_llama": "Trader Llama", + "entity.minecraft.trident": "Trident", + "entity.minecraft.tropical_fish": "Tropical Fish", + "entity.minecraft.tropical_fish.predefined.0": "Anemone", + "entity.minecraft.tropical_fish.predefined.1": "Black Tang", + "entity.minecraft.tropical_fish.predefined.2": "Blue Tang", + "entity.minecraft.tropical_fish.predefined.3": "Butterflyfish", + "entity.minecraft.tropical_fish.predefined.4": "Cichlid", + "entity.minecraft.tropical_fish.predefined.5": "Clownfish", + "entity.minecraft.tropical_fish.predefined.6": "Cotton Candy Betta", + "entity.minecraft.tropical_fish.predefined.7": "Dottyback", + "entity.minecraft.tropical_fish.predefined.8": "Emperor Red Snapper", + "entity.minecraft.tropical_fish.predefined.9": "Goatfish", + "entity.minecraft.tropical_fish.predefined.10": "Moorish Idol", + "entity.minecraft.tropical_fish.predefined.11": "Ornate Butterflyfish", + "entity.minecraft.tropical_fish.predefined.12": "Parrotfish", + "entity.minecraft.tropical_fish.predefined.13": "Queen Angelfish", + "entity.minecraft.tropical_fish.predefined.14": "Red Cichlid", + "entity.minecraft.tropical_fish.predefined.15": "Red Lipped Blenny", + "entity.minecraft.tropical_fish.predefined.16": "Red Snapper", + "entity.minecraft.tropical_fish.predefined.17": "Threadfin", + "entity.minecraft.tropical_fish.predefined.18": "Tomato Clownfish", + "entity.minecraft.tropical_fish.predefined.19": "Triggerfish", + "entity.minecraft.tropical_fish.predefined.20": "Yellowtail Parrotfish", + "entity.minecraft.tropical_fish.predefined.21": "Yellow Tang", + "entity.minecraft.tropical_fish.type.flopper": "Flopper", + "entity.minecraft.tropical_fish.type.stripey": "Stripey", + "entity.minecraft.tropical_fish.type.glitter": "Glitter", + "entity.minecraft.tropical_fish.type.blockfish": "Blockfish", + "entity.minecraft.tropical_fish.type.betty": "Betty", + "entity.minecraft.tropical_fish.type.clayfish": "Clayfish", + "entity.minecraft.tropical_fish.type.kob": "Kob", + "entity.minecraft.tropical_fish.type.sunstreak": "Sunstreak", + "entity.minecraft.tropical_fish.type.snooper": "Snooper", + "entity.minecraft.tropical_fish.type.dasher": "Dasher", + "entity.minecraft.tropical_fish.type.brinely": "Brinely", + "entity.minecraft.tropical_fish.type.spotty": "Spotty", + "entity.minecraft.turtle": "Turtle", + "entity.minecraft.vex": "Vex", + "entity.minecraft.villager.armorer": "Armorer", + "entity.minecraft.villager.butcher": "Butcher", + "entity.minecraft.villager.cartographer": "Cartographer", + "entity.minecraft.villager.cleric": "Cleric", + "entity.minecraft.villager.farmer": "Farmer", + "entity.minecraft.villager.fisherman": "Fisherman", + "entity.minecraft.villager.fletcher": "Fletcher", + "entity.minecraft.villager.leatherworker": "Leatherworker", + "entity.minecraft.villager.librarian": "Librarian", + "entity.minecraft.villager.mason": "Mason", + "entity.minecraft.villager.none": "Villager", + "entity.minecraft.villager.nitwit": "Nitwit", + "entity.minecraft.villager.shepherd": "Shepherd", + "entity.minecraft.villager.toolsmith": "Toolsmith", + "entity.minecraft.villager.weaponsmith": "Weaponsmith", + "entity.minecraft.villager": "Villager", + "entity.minecraft.wandering_trader": "Wandering Trader", + "entity.minecraft.iron_golem": "Iron Golem", + "entity.minecraft.vindicator": "Vindicator", + "entity.minecraft.witch": "Witch", + "entity.minecraft.wither": "Wither", + "entity.minecraft.wither_skeleton": "Wither Skeleton", + "entity.minecraft.wither_skull": "Wither Skull", + "entity.minecraft.wolf": "Wolf", + "entity.minecraft.experience_bottle": "Thrown Bottle o' Enchanting", + "entity.minecraft.experience_orb": "Experience Orb", + "entity.minecraft.zoglin": "Zoglin", + "entity.minecraft.zombie": "Zombie", + "entity.minecraft.zombie_horse": "Zombie Horse", + "entity.minecraft.zombified_piglin": "Zombified Piglin", + "entity.minecraft.zombie_villager": "Zombie Villager", + "death.fell.accident.ladder": "%1$s fell off a ladder", + "death.fell.accident.vines": "%1$s fell off some vines", + "death.fell.accident.weeping_vines": "%1$s fell off some weeping vines", + "death.fell.accident.twisting_vines": "%1$s fell off some twisting vines", + "death.fell.accident.scaffolding": "%1$s fell off scaffolding", + "death.fell.accident.other_climbable": "%1$s fell while climbing", + "death.fell.accident.generic": "%1$s fell from a high place", + "death.fell.killer": "%1$s was doomed to fall", + "death.fell.assist": "%1$s was doomed to fall by %2$s", + "death.fell.assist.item": "%1$s was doomed to fall by %2$s using %3$s", + "death.fell.finish": "%1$s fell too far and was finished by %2$s", + "death.fell.finish.item": "%1$s fell too far and was finished by %2$s using %3$s", + "death.attack.lightningBolt": "%1$s was struck by lightning", + "death.attack.lightningBolt.player": "%1$s was struck by lightning whilst fighting %2$s", + "death.attack.inFire": "%1$s went up in flames", + "death.attack.inFire.player": "%1$s walked into fire whilst fighting %2$s", + "death.attack.onFire": "%1$s burned to death", + "death.attack.onFire.player": "%1$s was burnt to a crisp whilst fighting %2$s", + "death.attack.lava": "%1$s tried to swim in lava", + "death.attack.lava.player": "%1$s tried to swim in lava to escape %2$s", + "death.attack.hotFloor": "%1$s discovered the floor was lava", + "death.attack.hotFloor.player": "%1$s walked into danger zone due to %2$s", + "death.attack.inWall": "%1$s suffocated in a wall", + "death.attack.inWall.player": "%1$s suffocated in a wall whilst fighting %2$s", + "death.attack.cramming": "%1$s was squished too much", + "death.attack.cramming.player": "%1$s was squashed by %2$s", + "death.attack.drown": "%1$s drowned", + "death.attack.drown.player": "%1$s drowned whilst trying to escape %2$s", + "death.attack.starve": "%1$s starved to death", + "death.attack.starve.player": "%1$s starved to death whilst fighting %2$s", + "death.attack.cactus": "%1$s was pricked to death", + "death.attack.cactus.player": "%1$s walked into a cactus whilst trying to escape %2$s", + "death.attack.generic": "%1$s died", + "death.attack.generic.player": "%1$s died because of %2$s", + "death.attack.explosion": "%1$s blew up", + "death.attack.explosion.player": "%1$s was blown up by %2$s", + "death.attack.explosion.player.item": "%1$s was blown up by %2$s using %3$s", + "death.attack.magic": "%1$s was killed by magic", + "death.attack.magic.player": "%1$s was killed by magic whilst trying to escape %2$s", + "death.attack.even_more_magic": "%1$s was killed by even more magic", + "death.attack.message_too_long": "Actually, message was too long to deliver fully. Sorry! Here's stripped version: %s", + "death.attack.wither": "%1$s withered away", + "death.attack.wither.player": "%1$s withered away whilst fighting %2$s", + "death.attack.witherSkull": "%1$s was shot by a %2$s's skull", + "death.attack.anvil": "%1$s was squashed by a falling anvil", + "death.attack.anvil.player": "%1$s was squashed by a falling anvil whilst fighting %2$s", + "death.attack.fallingBlock": "%1$s was squashed by a falling block", + "death.attack.fallingBlock.player": "%1$s was squashed by a falling block whilst fighting %2$s", + "death.attack.mob": "%1$s was slain by %2$s", + "death.attack.mob.item": "%1$s was slain by %2$s using %3$s", + "death.attack.player": "%1$s was slain by %2$s", + "death.attack.player.item": "%1$s was slain by %2$s using %3$s", + "death.attack.arrow": "%1$s was shot by %2$s", + "death.attack.arrow.item": "%1$s was shot by %2$s using %3$s", + "death.attack.fireball": "%1$s was fireballed by %2$s", + "death.attack.fireball.item": "%1$s was fireballed by %2$s using %3$s", + "death.attack.thrown": "%1$s was pummeled by %2$s", + "death.attack.thrown.item": "%1$s was pummeled by %2$s using %3$s", + "death.attack.indirectMagic": "%1$s was killed by %2$s using magic", + "death.attack.indirectMagic.item": "%1$s was killed by %2$s using %3$s", + "death.attack.thorns": "%1$s was killed trying to hurt %2$s", + "death.attack.thorns.item": "%1$s was killed by %3$s trying to hurt %2$s", + "death.attack.trident": "%1$s was impaled by %2$s", + "death.attack.trident.item": "%1$s was impaled by %2$s with %3$s", + "death.attack.fall": "%1$s hit the ground too hard", + "death.attack.fall.player": "%1$s hit the ground too hard whilst trying to escape %2$s", + "death.attack.outOfWorld": "%1$s fell out of the world", + "death.attack.outOfWorld.player": "%1$s didn't want to live in the same world as %2$s", + "death.attack.dragonBreath": "%1$s was roasted in dragon breath", + "death.attack.dragonBreath.player": "%1$s was roasted in dragon breath by %2$s", + "death.attack.flyIntoWall": "%1$s experienced kinetic energy", + "death.attack.flyIntoWall.player": "%1$s experienced kinetic energy whilst trying to escape %2$s", + "death.attack.fireworks": "%1$s went off with a bang", + "death.attack.fireworks.player": "%1$s went off with a bang whilst fighting %2$s", + "death.attack.fireworks.item": "%1$s went off with a bang due to a firework fired from %3$s by %2$s", + "death.attack.badRespawnPoint.message": "%1$s was killed by %2$s", + "death.attack.badRespawnPoint.link": "Intentional Game Design", + "death.attack.sweetBerryBush": "%1$s was poked to death by a sweet berry bush", + "death.attack.sweetBerryBush.player": "%1$s was poked to death by a sweet berry bush whilst trying to escape %2$s", + "death.attack.sting": "%1$s was stung to death", + "death.attack.sting.player": "%1$s was stung to death by %2$s", + "deathScreen.respawn": "Respawn", + "deathScreen.spectate": "Spectate world", + "deathScreen.titleScreen": "Title screen", + "deathScreen.score": "Score", + "deathScreen.title.hardcore": "Game over!", + "deathScreen.title": "You died!", + "deathScreen.quit.confirm": "Are you sure you want to quit?", + "effect.none": "No Effects", + "effect.minecraft.speed": "Speed", + "effect.minecraft.slowness": "Slowness", + "effect.minecraft.haste": "Haste", + "effect.minecraft.mining_fatigue": "Mining Fatigue", + "effect.minecraft.strength": "Strength", + "effect.minecraft.instant_health": "Instant Health", + "effect.minecraft.instant_damage": "Instant Damage", + "effect.minecraft.jump_boost": "Jump Boost", + "effect.minecraft.nausea": "Nausea", + "effect.minecraft.regeneration": "Regeneration", + "effect.minecraft.resistance": "Resistance", + "effect.minecraft.fire_resistance": "Fire Resistance", + "effect.minecraft.water_breathing": "Water Breathing", + "effect.minecraft.invisibility": "Invisibility", + "effect.minecraft.blindness": "Blindness", + "effect.minecraft.night_vision": "Night Vision", + "effect.minecraft.hunger": "Hunger", + "effect.minecraft.weakness": "Weakness", + "effect.minecraft.poison": "Poison", + "effect.minecraft.wither": "Wither", + "effect.minecraft.health_boost": "Health Boost", + "effect.minecraft.absorption": "Absorption", + "effect.minecraft.saturation": "Saturation", + "effect.minecraft.glowing": "Glowing", + "effect.minecraft.luck": "Luck", + "effect.minecraft.unluck": "Bad Luck", + "effect.minecraft.levitation": "Levitation", + "effect.minecraft.slow_falling": "Slow Falling", + "effect.minecraft.conduit_power": "Conduit Power", + "effect.minecraft.dolphins_grace": "Dolphin's Grace", + "effect.minecraft.bad_omen": "Bad Omen", + "effect.minecraft.hero_of_the_village": "Hero of the Village", + "event.minecraft.raid": "Raid", + "event.minecraft.raid.raiders_remaining": "Raiders remaining: %s", + "event.minecraft.raid.victory": "Victory", + "event.minecraft.raid.defeat": "Defeat", + "item.minecraft.tipped_arrow.effect.empty": "Uncraftable Tipped Arrow", + "item.minecraft.tipped_arrow.effect.water": "Arrow of Splashing", + "item.minecraft.tipped_arrow.effect.mundane": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.thick": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.awkward": "Tipped Arrow", + "item.minecraft.tipped_arrow.effect.night_vision": "Arrow of Night Vision", + "item.minecraft.tipped_arrow.effect.invisibility": "Arrow of Invisibility", + "item.minecraft.tipped_arrow.effect.leaping": "Arrow of Leaping", + "item.minecraft.tipped_arrow.effect.fire_resistance": "Arrow of Fire Resistance", + "item.minecraft.tipped_arrow.effect.swiftness": "Arrow of Swiftness", + "item.minecraft.tipped_arrow.effect.slowness": "Arrow of Slowness", + "item.minecraft.tipped_arrow.effect.water_breathing": "Arrow of Water Breathing", + "item.minecraft.tipped_arrow.effect.healing": "Arrow of Healing", + "item.minecraft.tipped_arrow.effect.harming": "Arrow of Harming", + "item.minecraft.tipped_arrow.effect.poison": "Arrow of Poison", + "item.minecraft.tipped_arrow.effect.regeneration": "Arrow of Regeneration", + "item.minecraft.tipped_arrow.effect.strength": "Arrow of Strength", + "item.minecraft.tipped_arrow.effect.weakness": "Arrow of Weakness", + "item.minecraft.tipped_arrow.effect.levitation": "Arrow of Levitation", + "item.minecraft.tipped_arrow.effect.luck": "Arrow of Luck", + "item.minecraft.tipped_arrow.effect.turtle_master": "Arrow of the Turtle Master", + "item.minecraft.tipped_arrow.effect.slow_falling": "Arrow of Slow Falling", + "potion.whenDrank": "When Applied:", + "item.minecraft.potion.effect.empty": "Uncraftable Potion", + "item.minecraft.potion.effect.water": "Water Bottle", + "item.minecraft.potion.effect.mundane": "Mundane Potion", + "item.minecraft.potion.effect.thick": "Thick Potion", + "item.minecraft.potion.effect.awkward": "Awkward Potion", + "item.minecraft.potion.effect.night_vision": "Potion of Night Vision", + "item.minecraft.potion.effect.invisibility": "Potion of Invisibility", + "item.minecraft.potion.effect.leaping": "Potion of Leaping", + "item.minecraft.potion.effect.fire_resistance": "Potion of Fire Resistance", + "item.minecraft.potion.effect.swiftness": "Potion of Swiftness", + "item.minecraft.potion.effect.slowness": "Potion of Slowness", + "item.minecraft.potion.effect.water_breathing": "Potion of Water Breathing", + "item.minecraft.potion.effect.healing": "Potion of Healing", + "item.minecraft.potion.effect.harming": "Potion of Harming", + "item.minecraft.potion.effect.poison": "Potion of Poison", + "item.minecraft.potion.effect.regeneration": "Potion of Regeneration", + "item.minecraft.potion.effect.strength": "Potion of Strength", + "item.minecraft.potion.effect.weakness": "Potion of Weakness", + "item.minecraft.potion.effect.levitation": "Potion of Levitation", + "item.minecraft.potion.effect.luck": "Potion of Luck", + "item.minecraft.potion.effect.turtle_master": "Potion of the Turtle Master", + "item.minecraft.potion.effect.slow_falling": "Potion of Slow Falling", + "item.minecraft.splash_potion.effect.empty": "Splash Uncraftable Potion", + "item.minecraft.splash_potion.effect.water": "Splash Water Bottle", + "item.minecraft.splash_potion.effect.mundane": "Mundane Splash Potion", + "item.minecraft.splash_potion.effect.thick": "Thick Splash Potion", + "item.minecraft.splash_potion.effect.awkward": "Awkward Splash Potion", + "item.minecraft.splash_potion.effect.night_vision": "Splash Potion of Night Vision", + "item.minecraft.splash_potion.effect.invisibility": "Splash Potion of Invisibility", + "item.minecraft.splash_potion.effect.leaping": "Splash Potion of Leaping", + "item.minecraft.splash_potion.effect.fire_resistance": "Splash Potion of Fire Resistance", + "item.minecraft.splash_potion.effect.swiftness": "Splash Potion of Swiftness", + "item.minecraft.splash_potion.effect.slowness": "Splash Potion of Slowness", + "item.minecraft.splash_potion.effect.water_breathing": "Splash Potion of Water Breathing", + "item.minecraft.splash_potion.effect.healing": "Splash Potion of Healing", + "item.minecraft.splash_potion.effect.harming": "Splash Potion of Harming", + "item.minecraft.splash_potion.effect.poison": "Splash Potion of Poison", + "item.minecraft.splash_potion.effect.regeneration": "Splash Potion of Regeneration", + "item.minecraft.splash_potion.effect.strength": "Splash Potion of Strength", + "item.minecraft.splash_potion.effect.weakness": "Splash Potion of Weakness", + "item.minecraft.splash_potion.effect.levitation": "Splash Potion of Levitation", + "item.minecraft.splash_potion.effect.luck": "Splash Potion of Luck", + "item.minecraft.splash_potion.effect.turtle_master": "Splash Potion of the Turtle Master", + "item.minecraft.splash_potion.effect.slow_falling": "Splash Potion of Slow Falling", + "item.minecraft.lingering_potion.effect.empty": "Lingering Uncraftable Potion", + "item.minecraft.lingering_potion.effect.water": "Lingering Water Bottle", + "item.minecraft.lingering_potion.effect.mundane": "Mundane Lingering Potion", + "item.minecraft.lingering_potion.effect.thick": "Thick Lingering Potion", + "item.minecraft.lingering_potion.effect.awkward": "Awkward Lingering Potion", + "item.minecraft.lingering_potion.effect.night_vision": "Lingering Potion of Night Vision", + "item.minecraft.lingering_potion.effect.invisibility": "Lingering Potion of Invisibility", + "item.minecraft.lingering_potion.effect.leaping": "Lingering Potion of Leaping", + "item.minecraft.lingering_potion.effect.fire_resistance": "Lingering Potion of Fire Resistance", + "item.minecraft.lingering_potion.effect.swiftness": "Lingering Potion of Swiftness", + "item.minecraft.lingering_potion.effect.slowness": "Lingering Potion of Slowness", + "item.minecraft.lingering_potion.effect.water_breathing": "Lingering Potion of Water Breathing", + "item.minecraft.lingering_potion.effect.healing": "Lingering Potion of Healing", + "item.minecraft.lingering_potion.effect.harming": "Lingering Potion of Harming", + "item.minecraft.lingering_potion.effect.poison": "Lingering Potion of Poison", + "item.minecraft.lingering_potion.effect.regeneration": "Lingering Potion of Regeneration", + "item.minecraft.lingering_potion.effect.strength": "Lingering Potion of Strength", + "item.minecraft.lingering_potion.effect.weakness": "Lingering Potion of Weakness", + "item.minecraft.lingering_potion.effect.levitation": "Lingering Potion of Levitation", + "item.minecraft.lingering_potion.effect.luck": "Lingering Potion of Luck", + "item.minecraft.lingering_potion.effect.turtle_master": "Lingering Potion of the Turtle Master", + "item.minecraft.lingering_potion.effect.slow_falling": "Lingering Potion of Slow Falling", + "potion.potency.0": "", + "potion.potency.1": "II", + "potion.potency.2": "III", + "potion.potency.3": "IV", + "potion.potency.4": "V", + "potion.potency.5": "VI", + "enchantment.minecraft.sharpness": "Sharpness", + "enchantment.minecraft.smite": "Smite", + "enchantment.minecraft.bane_of_arthropods": "Bane of Arthropods", + "enchantment.minecraft.knockback": "Knockback", + "enchantment.minecraft.fire_aspect": "Fire Aspect", + "enchantment.minecraft.sweeping": "Sweeping Edge", + "enchantment.minecraft.protection": "Protection", + "enchantment.minecraft.fire_protection": "Fire Protection", + "enchantment.minecraft.feather_falling": "Feather Falling", + "enchantment.minecraft.blast_protection": "Blast Protection", + "enchantment.minecraft.projectile_protection": "Projectile Protection", + "enchantment.minecraft.respiration": "Respiration", + "enchantment.minecraft.aqua_affinity": "Aqua Affinity", + "enchantment.minecraft.depth_strider": "Depth Strider", + "enchantment.minecraft.frost_walker": "Frost Walker", + "enchantment.minecraft.soul_speed": "Soul Speed", + "enchantment.minecraft.efficiency": "Efficiency", + "enchantment.minecraft.silk_touch": "Silk Touch", + "enchantment.minecraft.unbreaking": "Unbreaking", + "enchantment.minecraft.looting": "Looting", + "enchantment.minecraft.fortune": "Fortune", + "enchantment.minecraft.luck_of_the_sea": "Luck of the Sea", + "enchantment.minecraft.lure": "Lure", + "enchantment.minecraft.power": "Power", + "enchantment.minecraft.flame": "Flame", + "enchantment.minecraft.punch": "Punch", + "enchantment.minecraft.infinity": "Infinity", + "enchantment.minecraft.thorns": "Thorns", + "enchantment.minecraft.mending": "Mending", + "enchantment.minecraft.binding_curse": "Curse of Binding", + "enchantment.minecraft.vanishing_curse": "Curse of Vanishing", + "enchantment.minecraft.loyalty": "Loyalty", + "enchantment.minecraft.impaling": "Impaling", + "enchantment.minecraft.riptide": "Riptide", + "enchantment.minecraft.channeling": "Channeling", + "enchantment.minecraft.multishot": "Multishot", + "enchantment.minecraft.quick_charge": "Quick Charge", + "enchantment.minecraft.piercing": "Piercing", + "enchantment.level.1": "I", + "enchantment.level.2": "II", + "enchantment.level.3": "III", + "enchantment.level.4": "IV", + "enchantment.level.5": "V", + "enchantment.level.6": "VI", + "enchantment.level.7": "VII", + "enchantment.level.8": "VIII", + "enchantment.level.9": "IX", + "enchantment.level.10": "X", + "gui.advancements": "Advancements", + "gui.stats": "Statistics", + "gui.entity_tooltip.type": "Type: %s", + "advancements.empty": "There doesn't seem to be anything here...", + "advancements.toast.task": "Advancement Made!", + "advancements.toast.challenge": "Challenge Complete!", + "advancements.toast.goal": "Goal Reached!", + "stats.tooltip.type.statistic": "Statistic", + "stat.generalButton": "General", + "stat.itemsButton": "Items", + "stat.mobsButton": "Mobs", + "stat_type.minecraft.mined": "Times Mined", + "stat_type.minecraft.crafted": "Times Crafted", + "stat_type.minecraft.used": "Times Used", + "stat_type.minecraft.broken": "Times Broken", + "stat_type.minecraft.picked_up": "Picked Up", + "stat_type.minecraft.dropped": "Dropped", + "stat_type.minecraft.killed": "You killed %s %s", + "stat_type.minecraft.killed.none": "You have never killed %s", + "stat_type.minecraft.killed_by": "%s killed you %s time(s)", + "stat_type.minecraft.killed_by.none": "You have never been killed by %s", + "stat.minecraft.animals_bred": "Animals Bred", + "stat.minecraft.aviate_one_cm": "Distance by Elytra", + "stat.minecraft.clean_armor": "Armor Pieces Cleaned", + "stat.minecraft.clean_banner": "Banners Cleaned", + "stat.minecraft.clean_shulker_box": "Shulker Boxes Cleaned", + "stat.minecraft.climb_one_cm": "Distance Climbed", + "stat.minecraft.bell_ring": "Bells Rung", + "stat.minecraft.target_hit": "Targets Hit", + "stat.minecraft.boat_one_cm": "Distance by Boat", + "stat.minecraft.crouch_one_cm": "Distance Crouched", + "stat.minecraft.damage_dealt": "Damage Dealt", + "stat.minecraft.damage_dealt_absorbed": "Damage Dealt (Absorbed)", + "stat.minecraft.damage_dealt_resisted": "Damage Dealt (Resisted)", + "stat.minecraft.damage_taken": "Damage Taken", + "stat.minecraft.damage_blocked_by_shield": "Damage Blocked by Shield", + "stat.minecraft.damage_absorbed": "Damage Absorbed", + "stat.minecraft.damage_resisted": "Damage Resisted", + "stat.minecraft.deaths": "Number of Deaths", + "stat.minecraft.walk_under_water_one_cm": "Distance Walked under Water", + "stat.minecraft.drop": "Items Dropped", + "stat.minecraft.eat_cake_slice": "Cake Slices Eaten", + "stat.minecraft.enchant_item": "Items Enchanted", + "stat.minecraft.fall_one_cm": "Distance Fallen", + "stat.minecraft.fill_cauldron": "Cauldrons Filled", + "stat.minecraft.fish_caught": "Fish Caught", + "stat.minecraft.fly_one_cm": "Distance Flown", + "stat.minecraft.horse_one_cm": "Distance by Horse", + "stat.minecraft.inspect_dispenser": "Dispensers Searched", + "stat.minecraft.inspect_dropper": "Droppers Searched", + "stat.minecraft.inspect_hopper": "Hoppers Searched", + "stat.minecraft.interact_with_anvil": "Interactions with Anvil", + "stat.minecraft.interact_with_beacon": "Interactions with Beacon", + "stat.minecraft.interact_with_brewingstand": "Interactions with Brewing Stand", + "stat.minecraft.interact_with_campfire": "Interactions with Campfire", + "stat.minecraft.interact_with_cartography_table": "Interactions with Cartography Table", + "stat.minecraft.interact_with_crafting_table": "Interactions with Crafting Table", + "stat.minecraft.interact_with_furnace": "Interactions with Furnace", + "stat.minecraft.interact_with_grindstone": "Interactions with Grindstone", + "stat.minecraft.interact_with_lectern": "Interactions with Lectern", + "stat.minecraft.interact_with_loom": "Interactions with Loom", + "stat.minecraft.interact_with_blast_furnace": "Interactions with Blast Furnace", + "stat.minecraft.interact_with_smithing_table": "Interactions with Smithing Table", + "stat.minecraft.interact_with_smoker": "Interactions with Smoker", + "stat.minecraft.interact_with_stonecutter": "Interactions with Stonecutter", + "stat.minecraft.jump": "Jumps", + "stat.minecraft.junk_fished": "Junk Fished", + "stat.minecraft.leave_game": "Games Quit", + "stat.minecraft.minecart_one_cm": "Distance by Minecart", + "stat.minecraft.mob_kills": "Mob Kills", + "stat.minecraft.open_barrel": "Barrels Opened", + "stat.minecraft.open_chest": "Chests Opened", + "stat.minecraft.open_enderchest": "Ender Chests Opened", + "stat.minecraft.open_shulker_box": "Shulker Boxes Opened", + "stat.minecraft.pig_one_cm": "Distance by Pig", + "stat.minecraft.strider_one_cm": "Distance by Strider", + "stat.minecraft.player_kills": "Player Kills", + "stat.minecraft.play_noteblock": "Note Blocks Played", + "stat.minecraft.play_one_minute": "Time Played", + "stat.minecraft.play_record": "Music Discs Played", + "stat.minecraft.pot_flower": "Plants Potted", + "stat.minecraft.raid_trigger": "Raids Triggered", + "stat.minecraft.raid_win": "Raids Won", + "stat.minecraft.ring_bell": "Bells Rung", + "stat.minecraft.sleep_in_bed": "Times Slept in a Bed", + "stat.minecraft.sneak_time": "Sneak Time", + "stat.minecraft.sprint_one_cm": "Distance Sprinted", + "stat.minecraft.walk_on_water_one_cm": "Distance Walked on Water", + "stat.minecraft.swim_one_cm": "Distance Swum", + "stat.minecraft.talked_to_villager": "Talked to Villagers", + "stat.minecraft.time_since_rest": "Time Since Last Rest", + "stat.minecraft.time_since_death": "Time Since Last Death", + "stat.minecraft.traded_with_villager": "Traded with Villagers", + "stat.minecraft.treasure_fished": "Treasure Fished", + "stat.minecraft.trigger_trapped_chest": "Trapped Chests Triggered", + "stat.minecraft.tune_noteblock": "Note Blocks Tuned", + "stat.minecraft.use_cauldron": "Water Taken from Cauldron", + "stat.minecraft.walk_one_cm": "Distance Walked", + "recipe.toast.title": "New Recipes Unlocked!", + "recipe.toast.description": "Check your recipe book", + "itemGroup.buildingBlocks": "Building Blocks", + "itemGroup.decorations": "Decoration Blocks", + "itemGroup.redstone": "Redstone", + "itemGroup.transportation": "Transportation", + "itemGroup.misc": "Miscellaneous", + "itemGroup.search": "Search Items", + "itemGroup.food": "Foodstuffs", + "itemGroup.tools": "Tools", + "itemGroup.combat": "Combat", + "itemGroup.brewing": "Brewing", + "itemGroup.materials": "Materials", + "itemGroup.inventory": "Survival Inventory", + "itemGroup.hotbar": "Saved Hotbars", + "inventory.binSlot": "Destroy Item", + "inventory.hotbarSaved": "Item hotbar saved (restore with %1$s+%2$s)", + "inventory.hotbarInfo": "Save hotbar with %1$s+%2$s", + "advMode.setCommand": "Set Console Command for Block", + "advMode.setCommand.success": "Command set: %s", + "advMode.command": "Console Command", + "advMode.nearestPlayer": "Use \"@p\" to target nearest player", + "advMode.randomPlayer": "Use \"@r\" to target random player", + "advMode.allPlayers": "Use \"@a\" to target all players", + "advMode.allEntities": "Use \"@e\" to target all entities", + "advMode.self": "Use \"@s\" to target the executing entity", + "advMode.previousOutput": "Previous Output", + "advMode.mode.sequence": "Chain", + "advMode.mode.auto": "Repeat", + "advMode.mode.redstone": "Impulse", + "advMode.mode.conditional": "Conditional", + "advMode.mode.unconditional": "Unconditional", + "advMode.mode.redstoneTriggered": "Needs Redstone", + "advMode.mode.autoexec.bat": "Always Active", + "advMode.notEnabled": "Command blocks are not enabled on this server", + "advMode.notAllowed": "Must be an opped player in creative mode", + "mount.onboard": "Press %1$s to dismount", + "build.tooHigh": "Height limit for building is %s blocks", + "item.modifiers.mainhand": "When in main hand:", + "item.modifiers.offhand": "When in off hand:", + "item.modifiers.feet": "When on feet:", + "item.modifiers.legs": "When on legs:", + "item.modifiers.chest": "When on body:", + "item.modifiers.head": "When on head:", + "attribute.unknown": "Unknown attribute", + "attribute.modifier.plus.0": "+%s %s", + "attribute.modifier.plus.1": "+%s%% %s", + "attribute.modifier.plus.2": "+%s%% %s", + "attribute.modifier.take.0": "-%s %s", + "attribute.modifier.take.1": "-%s%% %s", + "attribute.modifier.take.2": "-%s%% %s", + "attribute.modifier.equals.0": "%s %s", + "attribute.modifier.equals.1": "%s%% %s", + "attribute.modifier.equals.2": "%s%% %s", + "attribute.name.horse.jump_strength": "Horse Jump Strength", + "attribute.name.zombie.spawn_reinforcements": "Zombie Reinforcements", + "attribute.name.generic.max_health": "Max Health", + "attribute.name.generic.follow_range": "Mob Follow Range", + "attribute.name.generic.knockback_resistance": "Knockback Resistance", + "attribute.name.generic.movement_speed": "Speed", + "attribute.name.generic.flying_speed": "Flying Speed", + "attribute.name.generic.attack_damage": "Attack Damage", + "attribute.name.generic.attack_knockback": "Attack Knockback", + "attribute.name.generic.attack_speed": "Attack Speed", + "attribute.name.generic.luck": "Luck", + "attribute.name.generic.armor": "Armor", + "attribute.name.generic.armor_toughness": "Armor Toughness", + "screenshot.success": "Saved screenshot as %s", + "screenshot.failure": "Couldn't save screenshot: %s", + "block.minecraft.black_banner": "Black Banner", + "block.minecraft.red_banner": "Red Banner", + "block.minecraft.green_banner": "Green Banner", + "block.minecraft.brown_banner": "Brown Banner", + "block.minecraft.blue_banner": "Blue Banner", + "block.minecraft.purple_banner": "Purple Banner", + "block.minecraft.cyan_banner": "Cyan Banner", + "block.minecraft.light_gray_banner": "Light Gray Banner", + "block.minecraft.gray_banner": "Gray Banner", + "block.minecraft.pink_banner": "Pink Banner", + "block.minecraft.lime_banner": "Lime Banner", + "block.minecraft.yellow_banner": "Yellow Banner", + "block.minecraft.light_blue_banner": "Light Blue Banner", + "block.minecraft.magenta_banner": "Magenta Banner", + "block.minecraft.orange_banner": "Orange Banner", + "block.minecraft.white_banner": "White Banner", + "item.minecraft.shield": "Shield", + "item.minecraft.shield.black": "Black Shield", + "item.minecraft.shield.red": "Red Shield", + "item.minecraft.shield.green": "Green Shield", + "item.minecraft.shield.brown": "Brown Shield", + "item.minecraft.shield.blue": "Blue Shield", + "item.minecraft.shield.purple": "Purple Shield", + "item.minecraft.shield.cyan": "Cyan Shield", + "item.minecraft.shield.light_gray": "Light Gray Shield", + "item.minecraft.shield.gray": "Gray Shield", + "item.minecraft.shield.pink": "Pink Shield", + "item.minecraft.shield.lime": "Lime Shield", + "item.minecraft.shield.yellow": "Yellow Shield", + "item.minecraft.shield.light_blue": "Light Blue Shield", + "item.minecraft.shield.magenta": "Magenta Shield", + "item.minecraft.shield.orange": "Orange Shield", + "item.minecraft.shield.white": "White Shield", + "block.minecraft.banner.square_bottom_left.black": "Black Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.red": "Red Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.green": "Green Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.brown": "Brown Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.blue": "Blue Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.purple": "Purple Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.cyan": "Cyan Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.light_gray": "Light Gray Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.gray": "Gray Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.pink": "Pink Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.lime": "Lime Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.yellow": "Yellow Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.light_blue": "Light Blue Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.magenta": "Magenta Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.orange": "Orange Base Dexter Canton", + "block.minecraft.banner.square_bottom_left.white": "White Base Dexter Canton", + "block.minecraft.banner.square_bottom_right.black": "Black Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.red": "Red Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.green": "Green Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.brown": "Brown Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.blue": "Blue Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.purple": "Purple Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.cyan": "Cyan Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.light_gray": "Light Gray Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.gray": "Gray Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.pink": "Pink Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.lime": "Lime Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.yellow": "Yellow Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.light_blue": "Light Blue Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.magenta": "Magenta Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.orange": "Orange Base Sinister Canton", + "block.minecraft.banner.square_bottom_right.white": "White Base Sinister Canton", + "block.minecraft.banner.square_top_left.black": "Black Chief Dexter Canton", + "block.minecraft.banner.square_top_left.red": "Red Chief Dexter Canton", + "block.minecraft.banner.square_top_left.green": "Green Chief Dexter Canton", + "block.minecraft.banner.square_top_left.brown": "Brown Chief Dexter Canton", + "block.minecraft.banner.square_top_left.blue": "Blue Chief Dexter Canton", + "block.minecraft.banner.square_top_left.purple": "Purple Chief Dexter Canton", + "block.minecraft.banner.square_top_left.cyan": "Cyan Chief Dexter Canton", + "block.minecraft.banner.square_top_left.light_gray": "Light Gray Chief Dexter Canton", + "block.minecraft.banner.square_top_left.gray": "Gray Chief Dexter Canton", + "block.minecraft.banner.square_top_left.pink": "Pink Chief Dexter Canton", + "block.minecraft.banner.square_top_left.lime": "Lime Chief Dexter Canton", + "block.minecraft.banner.square_top_left.yellow": "Yellow Chief Dexter Canton", + "block.minecraft.banner.square_top_left.light_blue": "Light Blue Chief Dexter Canton", + "block.minecraft.banner.square_top_left.magenta": "Magenta Chief Dexter Canton", + "block.minecraft.banner.square_top_left.orange": "Orange Chief Dexter Canton", + "block.minecraft.banner.square_top_left.white": "White Chief Dexter Canton", + "block.minecraft.banner.square_top_right.black": "Black Chief Sinister Canton", + "block.minecraft.banner.square_top_right.red": "Red Chief Sinister Canton", + "block.minecraft.banner.square_top_right.green": "Green Chief Sinister Canton", + "block.minecraft.banner.square_top_right.brown": "Brown Chief Sinister Canton", + "block.minecraft.banner.square_top_right.blue": "Blue Chief Sinister Canton", + "block.minecraft.banner.square_top_right.purple": "Purple Chief Sinister Canton", + "block.minecraft.banner.square_top_right.cyan": "Cyan Chief Sinister Canton", + "block.minecraft.banner.square_top_right.light_gray": "Light Gray Chief Sinister Canton", + "block.minecraft.banner.square_top_right.gray": "Gray Chief Sinister Canton", + "block.minecraft.banner.square_top_right.pink": "Pink Chief Sinister Canton", + "block.minecraft.banner.square_top_right.lime": "Lime Chief Sinister Canton", + "block.minecraft.banner.square_top_right.yellow": "Yellow Chief Sinister Canton", + "block.minecraft.banner.square_top_right.light_blue": "Light Blue Chief Sinister Canton", + "block.minecraft.banner.square_top_right.magenta": "Magenta Chief Sinister Canton", + "block.minecraft.banner.square_top_right.orange": "Orange Chief Sinister Canton", + "block.minecraft.banner.square_top_right.white": "White Chief Sinister Canton", + "block.minecraft.banner.stripe_bottom.black": "Black Base", + "block.minecraft.banner.stripe_bottom.red": "Red Base", + "block.minecraft.banner.stripe_bottom.green": "Green Base", + "block.minecraft.banner.stripe_bottom.brown": "Brown Base", + "block.minecraft.banner.stripe_bottom.blue": "Blue Base", + "block.minecraft.banner.stripe_bottom.purple": "Purple Base", + "block.minecraft.banner.stripe_bottom.cyan": "Cyan Base", + "block.minecraft.banner.stripe_bottom.light_gray": "Light Gray Base", + "block.minecraft.banner.stripe_bottom.gray": "Gray Base", + "block.minecraft.banner.stripe_bottom.pink": "Pink Base", + "block.minecraft.banner.stripe_bottom.lime": "Lime Base", + "block.minecraft.banner.stripe_bottom.yellow": "Yellow Base", + "block.minecraft.banner.stripe_bottom.light_blue": "Light Blue Base", + "block.minecraft.banner.stripe_bottom.magenta": "Magenta Base", + "block.minecraft.banner.stripe_bottom.orange": "Orange Base", + "block.minecraft.banner.stripe_bottom.white": "White Base", + "block.minecraft.banner.stripe_top.black": "Black Chief", + "block.minecraft.banner.stripe_top.red": "Red Chief", + "block.minecraft.banner.stripe_top.green": "Green Chief", + "block.minecraft.banner.stripe_top.brown": "Brown Chief", + "block.minecraft.banner.stripe_top.blue": "Blue Chief", + "block.minecraft.banner.stripe_top.purple": "Purple Chief", + "block.minecraft.banner.stripe_top.cyan": "Cyan Chief", + "block.minecraft.banner.stripe_top.light_gray": "Light Gray Chief", + "block.minecraft.banner.stripe_top.gray": "Gray Chief", + "block.minecraft.banner.stripe_top.pink": "Pink Chief", + "block.minecraft.banner.stripe_top.lime": "Lime Chief", + "block.minecraft.banner.stripe_top.yellow": "Yellow Chief", + "block.minecraft.banner.stripe_top.light_blue": "Light Blue Chief", + "block.minecraft.banner.stripe_top.magenta": "Magenta Chief", + "block.minecraft.banner.stripe_top.orange": "Orange Chief", + "block.minecraft.banner.stripe_top.white": "White Chief", + "block.minecraft.banner.stripe_left.black": "Black Pale Dexter", + "block.minecraft.banner.stripe_left.red": "Red Pale Dexter", + "block.minecraft.banner.stripe_left.green": "Green Pale Dexter", + "block.minecraft.banner.stripe_left.brown": "Brown Pale Dexter", + "block.minecraft.banner.stripe_left.blue": "Blue Pale Dexter", + "block.minecraft.banner.stripe_left.purple": "Purple Pale Dexter", + "block.minecraft.banner.stripe_left.cyan": "Cyan Pale Dexter", + "block.minecraft.banner.stripe_left.light_gray": "Light Gray Pale Dexter", + "block.minecraft.banner.stripe_left.gray": "Gray Pale Dexter", + "block.minecraft.banner.stripe_left.pink": "Pink Pale Dexter", + "block.minecraft.banner.stripe_left.lime": "Lime Pale Dexter", + "block.minecraft.banner.stripe_left.yellow": "Yellow Pale Dexter", + "block.minecraft.banner.stripe_left.light_blue": "Light Blue Pale Dexter", + "block.minecraft.banner.stripe_left.magenta": "Magenta Pale Dexter", + "block.minecraft.banner.stripe_left.orange": "Orange Pale Dexter", + "block.minecraft.banner.stripe_left.white": "White Pale Dexter", + "block.minecraft.banner.stripe_right.black": "Black Pale Sinister", + "block.minecraft.banner.stripe_right.red": "Red Pale Sinister", + "block.minecraft.banner.stripe_right.green": "Green Pale Sinister", + "block.minecraft.banner.stripe_right.brown": "Brown Pale Sinister", + "block.minecraft.banner.stripe_right.blue": "Blue Pale Sinister", + "block.minecraft.banner.stripe_right.purple": "Purple Pale Sinister", + "block.minecraft.banner.stripe_right.cyan": "Cyan Pale Sinister", + "block.minecraft.banner.stripe_right.light_gray": "Light Gray Pale Sinister", + "block.minecraft.banner.stripe_right.gray": "Gray Pale Sinister", + "block.minecraft.banner.stripe_right.pink": "Pink Pale Sinister", + "block.minecraft.banner.stripe_right.lime": "Lime Pale Sinister", + "block.minecraft.banner.stripe_right.yellow": "Yellow Pale Sinister", + "block.minecraft.banner.stripe_right.light_blue": "Light Blue Pale Sinister", + "block.minecraft.banner.stripe_right.magenta": "Magenta Pale Sinister", + "block.minecraft.banner.stripe_right.orange": "Orange Pale Sinister", + "block.minecraft.banner.stripe_right.white": "White Pale Sinister", + "block.minecraft.banner.stripe_center.black": "Black Pale", + "block.minecraft.banner.stripe_center.red": "Red Pale", + "block.minecraft.banner.stripe_center.green": "Green Pale", + "block.minecraft.banner.stripe_center.brown": "Brown Pale", + "block.minecraft.banner.stripe_center.blue": "Blue Pale", + "block.minecraft.banner.stripe_center.purple": "Purple Pale", + "block.minecraft.banner.stripe_center.cyan": "Cyan Pale", + "block.minecraft.banner.stripe_center.light_gray": "Light Gray Pale", + "block.minecraft.banner.stripe_center.gray": "Gray Pale", + "block.minecraft.banner.stripe_center.pink": "Pink Pale", + "block.minecraft.banner.stripe_center.lime": "Lime Pale", + "block.minecraft.banner.stripe_center.yellow": "Yellow Pale", + "block.minecraft.banner.stripe_center.light_blue": "Light Blue Pale", + "block.minecraft.banner.stripe_center.magenta": "Magenta Pale", + "block.minecraft.banner.stripe_center.orange": "Orange Pale", + "block.minecraft.banner.stripe_center.white": "White Pale", + "block.minecraft.banner.stripe_middle.black": "Black Fess", + "block.minecraft.banner.stripe_middle.red": "Red Fess", + "block.minecraft.banner.stripe_middle.green": "Green Fess", + "block.minecraft.banner.stripe_middle.brown": "Brown Fess", + "block.minecraft.banner.stripe_middle.blue": "Blue Fess", + "block.minecraft.banner.stripe_middle.purple": "Purple Fess", + "block.minecraft.banner.stripe_middle.cyan": "Cyan Fess", + "block.minecraft.banner.stripe_middle.light_gray": "Light Gray Fess", + "block.minecraft.banner.stripe_middle.gray": "Gray Fess", + "block.minecraft.banner.stripe_middle.pink": "Pink Fess", + "block.minecraft.banner.stripe_middle.lime": "Lime Fess", + "block.minecraft.banner.stripe_middle.yellow": "Yellow Fess", + "block.minecraft.banner.stripe_middle.light_blue": "Light Blue Fess", + "block.minecraft.banner.stripe_middle.magenta": "Magenta Fess", + "block.minecraft.banner.stripe_middle.orange": "Orange Fess", + "block.minecraft.banner.stripe_middle.white": "White Fess", + "block.minecraft.banner.stripe_downright.black": "Black Bend", + "block.minecraft.banner.stripe_downright.red": "Red Bend", + "block.minecraft.banner.stripe_downright.green": "Green Bend", + "block.minecraft.banner.stripe_downright.brown": "Brown Bend", + "block.minecraft.banner.stripe_downright.blue": "Blue Bend", + "block.minecraft.banner.stripe_downright.purple": "Purple Bend", + "block.minecraft.banner.stripe_downright.cyan": "Cyan Bend", + "block.minecraft.banner.stripe_downright.light_gray": "Light Gray Bend", + "block.minecraft.banner.stripe_downright.gray": "Gray Bend", + "block.minecraft.banner.stripe_downright.pink": "Pink Bend", + "block.minecraft.banner.stripe_downright.lime": "Lime Bend", + "block.minecraft.banner.stripe_downright.yellow": "Yellow Bend", + "block.minecraft.banner.stripe_downright.light_blue": "Light Blue Bend", + "block.minecraft.banner.stripe_downright.magenta": "Magenta Bend", + "block.minecraft.banner.stripe_downright.orange": "Orange Bend", + "block.minecraft.banner.stripe_downright.white": "White Bend", + "block.minecraft.banner.stripe_downleft.black": "Black Bend Sinister", + "block.minecraft.banner.stripe_downleft.red": "Red Bend Sinister", + "block.minecraft.banner.stripe_downleft.green": "Green Bend Sinister", + "block.minecraft.banner.stripe_downleft.brown": "Brown Bend Sinister", + "block.minecraft.banner.stripe_downleft.blue": "Blue Bend Sinister", + "block.minecraft.banner.stripe_downleft.purple": "Purple Bend Sinister", + "block.minecraft.banner.stripe_downleft.cyan": "Cyan Bend Sinister", + "block.minecraft.banner.stripe_downleft.light_gray": "Light Gray Bend Sinister", + "block.minecraft.banner.stripe_downleft.gray": "Gray Bend Sinister", + "block.minecraft.banner.stripe_downleft.pink": "Pink Bend Sinister", + "block.minecraft.banner.stripe_downleft.lime": "Lime Bend Sinister", + "block.minecraft.banner.stripe_downleft.yellow": "Yellow Bend Sinister", + "block.minecraft.banner.stripe_downleft.light_blue": "Light Blue Bend Sinister", + "block.minecraft.banner.stripe_downleft.magenta": "Magenta Bend Sinister", + "block.minecraft.banner.stripe_downleft.orange": "Orange Bend Sinister", + "block.minecraft.banner.stripe_downleft.white": "White Bend Sinister", + "block.minecraft.banner.small_stripes.black": "Black Paly", + "block.minecraft.banner.small_stripes.red": "Red Paly", + "block.minecraft.banner.small_stripes.green": "Green Paly", + "block.minecraft.banner.small_stripes.brown": "Brown Paly", + "block.minecraft.banner.small_stripes.blue": "Blue Paly", + "block.minecraft.banner.small_stripes.purple": "Purple Paly", + "block.minecraft.banner.small_stripes.cyan": "Cyan Paly", + "block.minecraft.banner.small_stripes.light_gray": "Light Gray Paly", + "block.minecraft.banner.small_stripes.gray": "Gray Paly", + "block.minecraft.banner.small_stripes.pink": "Pink Paly", + "block.minecraft.banner.small_stripes.lime": "Lime Paly", + "block.minecraft.banner.small_stripes.yellow": "Yellow Paly", + "block.minecraft.banner.small_stripes.light_blue": "Light Blue Paly", + "block.minecraft.banner.small_stripes.magenta": "Magenta Paly", + "block.minecraft.banner.small_stripes.orange": "Orange Paly", + "block.minecraft.banner.small_stripes.white": "White Paly", + "block.minecraft.banner.cross.black": "Black Saltire", + "block.minecraft.banner.cross.red": "Red Saltire", + "block.minecraft.banner.cross.green": "Green Saltire", + "block.minecraft.banner.cross.brown": "Brown Saltire", + "block.minecraft.banner.cross.blue": "Blue Saltire", + "block.minecraft.banner.cross.purple": "Purple Saltire", + "block.minecraft.banner.cross.cyan": "Cyan Saltire", + "block.minecraft.banner.cross.light_gray": "Light Gray Saltire", + "block.minecraft.banner.cross.gray": "Gray Saltire", + "block.minecraft.banner.cross.pink": "Pink Saltire", + "block.minecraft.banner.cross.lime": "Lime Saltire", + "block.minecraft.banner.cross.yellow": "Yellow Saltire", + "block.minecraft.banner.cross.light_blue": "Light Blue Saltire", + "block.minecraft.banner.cross.magenta": "Magenta Saltire", + "block.minecraft.banner.cross.orange": "Orange Saltire", + "block.minecraft.banner.cross.white": "White Saltire", + "block.minecraft.banner.triangle_bottom.black": "Black Chevron", + "block.minecraft.banner.triangle_bottom.red": "Red Chevron", + "block.minecraft.banner.triangle_bottom.green": "Green Chevron", + "block.minecraft.banner.triangle_bottom.brown": "Brown Chevron", + "block.minecraft.banner.triangle_bottom.blue": "Blue Chevron", + "block.minecraft.banner.triangle_bottom.purple": "Purple Chevron", + "block.minecraft.banner.triangle_bottom.cyan": "Cyan Chevron", + "block.minecraft.banner.triangle_bottom.light_gray": "Light Gray Chevron", + "block.minecraft.banner.triangle_bottom.gray": "Gray Chevron", + "block.minecraft.banner.triangle_bottom.pink": "Pink Chevron", + "block.minecraft.banner.triangle_bottom.lime": "Lime Chevron", + "block.minecraft.banner.triangle_bottom.yellow": "Yellow Chevron", + "block.minecraft.banner.triangle_bottom.light_blue": "Light Blue Chevron", + "block.minecraft.banner.triangle_bottom.magenta": "Magenta Chevron", + "block.minecraft.banner.triangle_bottom.orange": "Orange Chevron", + "block.minecraft.banner.triangle_bottom.white": "White Chevron", + "block.minecraft.banner.triangle_top.black": "Black Inverted Chevron", + "block.minecraft.banner.triangle_top.red": "Red Inverted Chevron", + "block.minecraft.banner.triangle_top.green": "Green Inverted Chevron", + "block.minecraft.banner.triangle_top.brown": "Brown Inverted Chevron", + "block.minecraft.banner.triangle_top.blue": "Blue Inverted Chevron", + "block.minecraft.banner.triangle_top.purple": "Purple Inverted Chevron", + "block.minecraft.banner.triangle_top.cyan": "Cyan Inverted Chevron", + "block.minecraft.banner.triangle_top.light_gray": "Light Gray Inverted Chevron", + "block.minecraft.banner.triangle_top.gray": "Gray Inverted Chevron", + "block.minecraft.banner.triangle_top.pink": "Pink Inverted Chevron", + "block.minecraft.banner.triangle_top.lime": "Lime Inverted Chevron", + "block.minecraft.banner.triangle_top.yellow": "Yellow Inverted Chevron", + "block.minecraft.banner.triangle_top.light_blue": "Light Blue Inverted Chevron", + "block.minecraft.banner.triangle_top.magenta": "Magenta Inverted Chevron", + "block.minecraft.banner.triangle_top.orange": "Orange Inverted Chevron", + "block.minecraft.banner.triangle_top.white": "White Inverted Chevron", + "block.minecraft.banner.triangles_bottom.black": "Black Base Indented", + "block.minecraft.banner.triangles_bottom.red": "Red Base Indented", + "block.minecraft.banner.triangles_bottom.green": "Green Base Indented", + "block.minecraft.banner.triangles_bottom.brown": "Brown Base Indented", + "block.minecraft.banner.triangles_bottom.blue": "Blue Base Indented", + "block.minecraft.banner.triangles_bottom.purple": "Purple Base Indented", + "block.minecraft.banner.triangles_bottom.cyan": "Cyan Base Indented", + "block.minecraft.banner.triangles_bottom.light_gray": "Light Gray Base Indented", + "block.minecraft.banner.triangles_bottom.gray": "Gray Base Indented", + "block.minecraft.banner.triangles_bottom.pink": "Pink Base Indented", + "block.minecraft.banner.triangles_bottom.lime": "Lime Base Indented", + "block.minecraft.banner.triangles_bottom.yellow": "Yellow Base Indented", + "block.minecraft.banner.triangles_bottom.light_blue": "Light Blue Base Indented", + "block.minecraft.banner.triangles_bottom.magenta": "Magenta Base Indented", + "block.minecraft.banner.triangles_bottom.orange": "Orange Base Indented", + "block.minecraft.banner.triangles_bottom.white": "White Base Indented", + "block.minecraft.banner.triangles_top.black": "Black Chief Indented", + "block.minecraft.banner.triangles_top.red": "Red Chief Indented", + "block.minecraft.banner.triangles_top.green": "Green Chief Indented", + "block.minecraft.banner.triangles_top.brown": "Brown Chief Indented", + "block.minecraft.banner.triangles_top.blue": "Blue Chief Indented", + "block.minecraft.banner.triangles_top.purple": "Purple Chief Indented", + "block.minecraft.banner.triangles_top.cyan": "Cyan Chief Indented", + "block.minecraft.banner.triangles_top.light_gray": "Light Gray Chief Indented", + "block.minecraft.banner.triangles_top.gray": "Gray Chief Indented", + "block.minecraft.banner.triangles_top.pink": "Pink Chief Indented", + "block.minecraft.banner.triangles_top.lime": "Lime Chief Indented", + "block.minecraft.banner.triangles_top.yellow": "Yellow Chief Indented", + "block.minecraft.banner.triangles_top.light_blue": "Light Blue Chief Indented", + "block.minecraft.banner.triangles_top.magenta": "Magenta Chief Indented", + "block.minecraft.banner.triangles_top.orange": "Orange Chief Indented", + "block.minecraft.banner.triangles_top.white": "White Chief Indented", + "block.minecraft.banner.diagonal_left.black": "Black Per Bend Sinister", + "block.minecraft.banner.diagonal_left.red": "Red Per Bend Sinister", + "block.minecraft.banner.diagonal_left.green": "Green Per Bend Sinister", + "block.minecraft.banner.diagonal_left.brown": "Brown Per Bend Sinister", + "block.minecraft.banner.diagonal_left.blue": "Blue Per Bend Sinister", + "block.minecraft.banner.diagonal_left.purple": "Purple Per Bend Sinister", + "block.minecraft.banner.diagonal_left.cyan": "Cyan Per Bend Sinister", + "block.minecraft.banner.diagonal_left.light_gray": "Light Gray Per Bend Sinister", + "block.minecraft.banner.diagonal_left.gray": "Gray Per Bend Sinister", + "block.minecraft.banner.diagonal_left.pink": "Pink Per Bend Sinister", + "block.minecraft.banner.diagonal_left.lime": "Lime Per Bend Sinister", + "block.minecraft.banner.diagonal_left.yellow": "Yellow Per Bend Sinister", + "block.minecraft.banner.diagonal_left.light_blue": "Light Blue Per Bend Sinister", + "block.minecraft.banner.diagonal_left.magenta": "Magenta Per Bend Sinister", + "block.minecraft.banner.diagonal_left.orange": "Orange Per Bend Sinister", + "block.minecraft.banner.diagonal_left.white": "White Per Bend Sinister", + "block.minecraft.banner.diagonal_right.black": "Black Per Bend", + "block.minecraft.banner.diagonal_right.red": "Red Per Bend", + "block.minecraft.banner.diagonal_right.green": "Green Per Bend", + "block.minecraft.banner.diagonal_right.brown": "Brown Per Bend", + "block.minecraft.banner.diagonal_right.blue": "Blue Per Bend", + "block.minecraft.banner.diagonal_right.purple": "Purple Per Bend", + "block.minecraft.banner.diagonal_right.cyan": "Cyan Per Bend", + "block.minecraft.banner.diagonal_right.light_gray": "Light Gray Per Bend", + "block.minecraft.banner.diagonal_right.gray": "Gray Per Bend", + "block.minecraft.banner.diagonal_right.pink": "Pink Per Bend", + "block.minecraft.banner.diagonal_right.lime": "Lime Per Bend", + "block.minecraft.banner.diagonal_right.yellow": "Yellow Per Bend", + "block.minecraft.banner.diagonal_right.light_blue": "Light Blue Per Bend", + "block.minecraft.banner.diagonal_right.magenta": "Magenta Per Bend", + "block.minecraft.banner.diagonal_right.orange": "Orange Per Bend", + "block.minecraft.banner.diagonal_right.white": "White Per Bend", + "block.minecraft.banner.diagonal_up_left.black": "Black Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.red": "Red Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.green": "Green Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.brown": "Brown Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.blue": "Blue Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.purple": "Purple Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.cyan": "Cyan Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.light_gray": "Light Gray Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.gray": "Gray Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.pink": "Pink Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.lime": "Lime Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.yellow": "Yellow Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.light_blue": "Light Blue Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.magenta": "Magenta Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.orange": "Orange Per Bend Inverted", + "block.minecraft.banner.diagonal_up_left.white": "White Per Bend Inverted", + "block.minecraft.banner.diagonal_up_right.black": "Black Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.red": "Red Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.green": "Green Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.brown": "Brown Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.blue": "Blue Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.purple": "Purple Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.cyan": "Cyan Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.light_gray": "Light Gray Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.gray": "Gray Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.pink": "Pink Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.lime": "Lime Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.yellow": "Yellow Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.light_blue": "Light Blue Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.magenta": "Magenta Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.orange": "Orange Per Bend Sinister Inverted", + "block.minecraft.banner.diagonal_up_right.white": "White Per Bend Sinister Inverted", + "block.minecraft.banner.circle.black": "Black Roundel", + "block.minecraft.banner.circle.red": "Red Roundel", + "block.minecraft.banner.circle.green": "Green Roundel", + "block.minecraft.banner.circle.brown": "Brown Roundel", + "block.minecraft.banner.circle.blue": "Blue Roundel", + "block.minecraft.banner.circle.purple": "Purple Roundel", + "block.minecraft.banner.circle.cyan": "Cyan Roundel", + "block.minecraft.banner.circle.light_gray": "Light Gray Roundel", + "block.minecraft.banner.circle.gray": "Gray Roundel", + "block.minecraft.banner.circle.pink": "Pink Roundel", + "block.minecraft.banner.circle.lime": "Lime Roundel", + "block.minecraft.banner.circle.yellow": "Yellow Roundel", + "block.minecraft.banner.circle.light_blue": "Light Blue Roundel", + "block.minecraft.banner.circle.magenta": "Magenta Roundel", + "block.minecraft.banner.circle.orange": "Orange Roundel", + "block.minecraft.banner.circle.white": "White Roundel", + "block.minecraft.banner.rhombus.black": "Black Lozenge", + "block.minecraft.banner.rhombus.red": "Red Lozenge", + "block.minecraft.banner.rhombus.green": "Green Lozenge", + "block.minecraft.banner.rhombus.brown": "Brown Lozenge", + "block.minecraft.banner.rhombus.blue": "Blue Lozenge", + "block.minecraft.banner.rhombus.purple": "Purple Lozenge", + "block.minecraft.banner.rhombus.cyan": "Cyan Lozenge", + "block.minecraft.banner.rhombus.light_gray": "Light Gray Lozenge", + "block.minecraft.banner.rhombus.gray": "Gray Lozenge", + "block.minecraft.banner.rhombus.pink": "Pink Lozenge", + "block.minecraft.banner.rhombus.lime": "Lime Lozenge", + "block.minecraft.banner.rhombus.yellow": "Yellow Lozenge", + "block.minecraft.banner.rhombus.light_blue": "Light Blue Lozenge", + "block.minecraft.banner.rhombus.magenta": "Magenta Lozenge", + "block.minecraft.banner.rhombus.orange": "Orange Lozenge", + "block.minecraft.banner.rhombus.white": "White Lozenge", + "block.minecraft.banner.half_vertical.black": "Black Per Pale", + "block.minecraft.banner.half_vertical.red": "Red Per Pale", + "block.minecraft.banner.half_vertical.green": "Green Per Pale", + "block.minecraft.banner.half_vertical.brown": "Brown Per Pale", + "block.minecraft.banner.half_vertical.blue": "Blue Per Pale", + "block.minecraft.banner.half_vertical.purple": "Purple Per Pale", + "block.minecraft.banner.half_vertical.cyan": "Cyan Per Pale", + "block.minecraft.banner.half_vertical.light_gray": "Light Gray Per Pale", + "block.minecraft.banner.half_vertical.gray": "Gray Per Pale", + "block.minecraft.banner.half_vertical.pink": "Pink Per Pale", + "block.minecraft.banner.half_vertical.lime": "Lime Per Pale", + "block.minecraft.banner.half_vertical.yellow": "Yellow Per Pale", + "block.minecraft.banner.half_vertical.light_blue": "Light Blue Per Pale", + "block.minecraft.banner.half_vertical.magenta": "Magenta Per Pale", + "block.minecraft.banner.half_vertical.orange": "Orange Per Pale", + "block.minecraft.banner.half_vertical.white": "White Per Pale", + "block.minecraft.banner.half_horizontal.black": "Black Per Fess", + "block.minecraft.banner.half_horizontal.red": "Red Per Fess", + "block.minecraft.banner.half_horizontal.green": "Green Per Fess", + "block.minecraft.banner.half_horizontal.brown": "Brown Per Fess", + "block.minecraft.banner.half_horizontal.blue": "Blue Per Fess", + "block.minecraft.banner.half_horizontal.purple": "Purple Per Fess", + "block.minecraft.banner.half_horizontal.cyan": "Cyan Per Fess", + "block.minecraft.banner.half_horizontal.light_gray": "Light Gray Per Fess", + "block.minecraft.banner.half_horizontal.gray": "Gray Per Fess", + "block.minecraft.banner.half_horizontal.pink": "Pink Per Fess", + "block.minecraft.banner.half_horizontal.lime": "Lime Per Fess", + "block.minecraft.banner.half_horizontal.yellow": "Yellow Per Fess", + "block.minecraft.banner.half_horizontal.light_blue": "Light Blue Per Fess", + "block.minecraft.banner.half_horizontal.magenta": "Magenta Per Fess", + "block.minecraft.banner.half_horizontal.orange": "Orange Per Fess", + "block.minecraft.banner.half_horizontal.white": "White Per Fess", + "block.minecraft.banner.half_vertical_right.black": "Black Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.red": "Red Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.green": "Green Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.brown": "Brown Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.blue": "Blue Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.purple": "Purple Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.cyan": "Cyan Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.light_gray": "Light Gray Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.gray": "Gray Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.pink": "Pink Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.lime": "Lime Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.yellow": "Yellow Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.light_blue": "Light Blue Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.magenta": "Magenta Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.orange": "Orange Per Pale Inverted", + "block.minecraft.banner.half_vertical_right.white": "White Per Pale Inverted", + "block.minecraft.banner.half_horizontal_bottom.black": "Black Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.red": "Red Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.green": "Green Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.brown": "Brown Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.blue": "Blue Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.purple": "Purple Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.cyan": "Cyan Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.light_gray": "Light Gray Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.gray": "Gray Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.pink": "Pink Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.lime": "Lime Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.yellow": "Yellow Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.light_blue": "Light Blue Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.magenta": "Magenta Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.orange": "Orange Per Fess Inverted", + "block.minecraft.banner.half_horizontal_bottom.white": "White Per Fess Inverted", + "block.minecraft.banner.creeper.black": "Black Creeper Charge", + "block.minecraft.banner.creeper.red": "Red Creeper Charge", + "block.minecraft.banner.creeper.green": "Green Creeper Charge", + "block.minecraft.banner.creeper.brown": "Brown Creeper Charge", + "block.minecraft.banner.creeper.blue": "Blue Creeper Charge", + "block.minecraft.banner.creeper.purple": "Purple Creeper Charge", + "block.minecraft.banner.creeper.cyan": "Cyan Creeper Charge", + "block.minecraft.banner.creeper.light_gray": "Light Gray Creeper Charge", + "block.minecraft.banner.creeper.gray": "Gray Creeper Charge", + "block.minecraft.banner.creeper.pink": "Pink Creeper Charge", + "block.minecraft.banner.creeper.lime": "Lime Creeper Charge", + "block.minecraft.banner.creeper.yellow": "Yellow Creeper Charge", + "block.minecraft.banner.creeper.light_blue": "Light Blue Creeper Charge", + "block.minecraft.banner.creeper.magenta": "Magenta Creeper Charge", + "block.minecraft.banner.creeper.orange": "Orange Creeper Charge", + "block.minecraft.banner.creeper.white": "White Creeper Charge", + "block.minecraft.banner.bricks.black": "Black Field Masoned", + "block.minecraft.banner.bricks.red": "Red Field Masoned", + "block.minecraft.banner.bricks.green": "Green Field Masoned", + "block.minecraft.banner.bricks.brown": "Brown Field Masoned", + "block.minecraft.banner.bricks.blue": "Blue Field Masoned", + "block.minecraft.banner.bricks.purple": "Purple Field Masoned", + "block.minecraft.banner.bricks.cyan": "Cyan Field Masoned", + "block.minecraft.banner.bricks.light_gray": "Light Gray Field Masoned", + "block.minecraft.banner.bricks.gray": "Gray Field Masoned", + "block.minecraft.banner.bricks.pink": "Pink Field Masoned", + "block.minecraft.banner.bricks.lime": "Lime Field Masoned", + "block.minecraft.banner.bricks.yellow": "Yellow Field Masoned", + "block.minecraft.banner.bricks.light_blue": "Light Blue Field Masoned", + "block.minecraft.banner.bricks.magenta": "Magenta Field Masoned", + "block.minecraft.banner.bricks.orange": "Orange Field Masoned", + "block.minecraft.banner.bricks.white": "White Field Masoned", + "block.minecraft.banner.gradient.black": "Black Gradient", + "block.minecraft.banner.gradient.red": "Red Gradient", + "block.minecraft.banner.gradient.green": "Green Gradient", + "block.minecraft.banner.gradient.brown": "Brown Gradient", + "block.minecraft.banner.gradient.blue": "Blue Gradient", + "block.minecraft.banner.gradient.purple": "Purple Gradient", + "block.minecraft.banner.gradient.cyan": "Cyan Gradient", + "block.minecraft.banner.gradient.light_gray": "Light Gray Gradient", + "block.minecraft.banner.gradient.gray": "Gray Gradient", + "block.minecraft.banner.gradient.pink": "Pink Gradient", + "block.minecraft.banner.gradient.lime": "Lime Gradient", + "block.minecraft.banner.gradient.yellow": "Yellow Gradient", + "block.minecraft.banner.gradient.light_blue": "Light Blue Gradient", + "block.minecraft.banner.gradient.magenta": "Magenta Gradient", + "block.minecraft.banner.gradient.orange": "Orange Gradient", + "block.minecraft.banner.gradient.white": "White Gradient", + "block.minecraft.banner.gradient_up.black": "Black Base Gradient", + "block.minecraft.banner.gradient_up.red": "Red Base Gradient", + "block.minecraft.banner.gradient_up.green": "Green Base Gradient", + "block.minecraft.banner.gradient_up.brown": "Brown Base Gradient", + "block.minecraft.banner.gradient_up.blue": "Blue Base Gradient", + "block.minecraft.banner.gradient_up.purple": "Purple Base Gradient", + "block.minecraft.banner.gradient_up.cyan": "Cyan Base Gradient", + "block.minecraft.banner.gradient_up.light_gray": "Light Gray Base Gradient", + "block.minecraft.banner.gradient_up.gray": "Gray Base Gradient", + "block.minecraft.banner.gradient_up.pink": "Pink Base Gradient", + "block.minecraft.banner.gradient_up.lime": "Lime Base Gradient", + "block.minecraft.banner.gradient_up.yellow": "Yellow Base Gradient", + "block.minecraft.banner.gradient_up.light_blue": "Light Blue Base Gradient", + "block.minecraft.banner.gradient_up.magenta": "Magenta Base Gradient", + "block.minecraft.banner.gradient_up.orange": "Orange Base Gradient", + "block.minecraft.banner.gradient_up.white": "White Base Gradient", + "block.minecraft.banner.skull.black": "Black Skull Charge", + "block.minecraft.banner.skull.red": "Red Skull Charge", + "block.minecraft.banner.skull.green": "Green Skull Charge", + "block.minecraft.banner.skull.brown": "Brown Skull Charge", + "block.minecraft.banner.skull.blue": "Blue Skull Charge", + "block.minecraft.banner.skull.purple": "Purple Skull Charge", + "block.minecraft.banner.skull.cyan": "Cyan Skull Charge", + "block.minecraft.banner.skull.light_gray": "Light Gray Skull Charge", + "block.minecraft.banner.skull.gray": "Gray Skull Charge", + "block.minecraft.banner.skull.pink": "Pink Skull Charge", + "block.minecraft.banner.skull.lime": "Lime Skull Charge", + "block.minecraft.banner.skull.yellow": "Yellow Skull Charge", + "block.minecraft.banner.skull.light_blue": "Light Blue Skull Charge", + "block.minecraft.banner.skull.magenta": "Magenta Skull Charge", + "block.minecraft.banner.skull.orange": "Orange Skull Charge", + "block.minecraft.banner.skull.white": "White Skull Charge", + "block.minecraft.banner.flower.black": "Black Flower Charge", + "block.minecraft.banner.flower.red": "Red Flower Charge", + "block.minecraft.banner.flower.green": "Green Flower Charge", + "block.minecraft.banner.flower.brown": "Brown Flower Charge", + "block.minecraft.banner.flower.blue": "Blue Flower Charge", + "block.minecraft.banner.flower.purple": "Purple Flower Charge", + "block.minecraft.banner.flower.cyan": "Cyan Flower Charge", + "block.minecraft.banner.flower.light_gray": "Light Gray Flower Charge", + "block.minecraft.banner.flower.gray": "Gray Flower Charge", + "block.minecraft.banner.flower.pink": "Pink Flower Charge", + "block.minecraft.banner.flower.lime": "Lime Flower Charge", + "block.minecraft.banner.flower.yellow": "Yellow Flower Charge", + "block.minecraft.banner.flower.light_blue": "Light Blue Flower Charge", + "block.minecraft.banner.flower.magenta": "Magenta Flower Charge", + "block.minecraft.banner.flower.orange": "Orange Flower Charge", + "block.minecraft.banner.flower.white": "White Flower Charge", + "block.minecraft.banner.border.black": "Black Bordure", + "block.minecraft.banner.border.red": "Red Bordure", + "block.minecraft.banner.border.green": "Green Bordure", + "block.minecraft.banner.border.brown": "Brown Bordure", + "block.minecraft.banner.border.blue": "Blue Bordure", + "block.minecraft.banner.border.purple": "Purple Bordure", + "block.minecraft.banner.border.cyan": "Cyan Bordure", + "block.minecraft.banner.border.light_gray": "Light Gray Bordure", + "block.minecraft.banner.border.gray": "Gray Bordure", + "block.minecraft.banner.border.pink": "Pink Bordure", + "block.minecraft.banner.border.lime": "Lime Bordure", + "block.minecraft.banner.border.yellow": "Yellow Bordure", + "block.minecraft.banner.border.light_blue": "Light Blue Bordure", + "block.minecraft.banner.border.magenta": "Magenta Bordure", + "block.minecraft.banner.border.orange": "Orange Bordure", + "block.minecraft.banner.border.white": "White Bordure", + "block.minecraft.banner.curly_border.black": "Black Bordure Indented", + "block.minecraft.banner.curly_border.red": "Red Bordure Indented", + "block.minecraft.banner.curly_border.green": "Green Bordure Indented", + "block.minecraft.banner.curly_border.brown": "Brown Bordure Indented", + "block.minecraft.banner.curly_border.blue": "Blue Bordure Indented", + "block.minecraft.banner.curly_border.purple": "Purple Bordure Indented", + "block.minecraft.banner.curly_border.cyan": "Cyan Bordure Indented", + "block.minecraft.banner.curly_border.light_gray": "Light Gray Bordure Indented", + "block.minecraft.banner.curly_border.gray": "Gray Bordure Indented", + "block.minecraft.banner.curly_border.pink": "Pink Bordure Indented", + "block.minecraft.banner.curly_border.lime": "Lime Bordure Indented", + "block.minecraft.banner.curly_border.yellow": "Yellow Bordure Indented", + "block.minecraft.banner.curly_border.light_blue": "Light Blue Bordure Indented", + "block.minecraft.banner.curly_border.magenta": "Magenta Bordure Indented", + "block.minecraft.banner.curly_border.orange": "Orange Bordure Indented", + "block.minecraft.banner.curly_border.white": "White Bordure Indented", + "block.minecraft.banner.mojang.black": "Black Thing", + "block.minecraft.banner.mojang.red": "Red Thing", + "block.minecraft.banner.mojang.green": "Green Thing", + "block.minecraft.banner.mojang.brown": "Brown Thing", + "block.minecraft.banner.mojang.blue": "Blue Thing", + "block.minecraft.banner.mojang.purple": "Purple Thing", + "block.minecraft.banner.mojang.cyan": "Cyan Thing", + "block.minecraft.banner.mojang.light_gray": "Light Gray Thing", + "block.minecraft.banner.mojang.gray": "Gray Thing", + "block.minecraft.banner.mojang.pink": "Pink Thing", + "block.minecraft.banner.mojang.lime": "Lime Thing", + "block.minecraft.banner.mojang.yellow": "Yellow Thing", + "block.minecraft.banner.mojang.light_blue": "Light Blue Thing", + "block.minecraft.banner.mojang.magenta": "Magenta Thing", + "block.minecraft.banner.mojang.orange": "Orange Thing", + "block.minecraft.banner.mojang.white": "White Thing", + "block.minecraft.banner.straight_cross.black": "Black Cross", + "block.minecraft.banner.straight_cross.red": "Red Cross", + "block.minecraft.banner.straight_cross.green": "Green Cross", + "block.minecraft.banner.straight_cross.brown": "Brown Cross", + "block.minecraft.banner.straight_cross.blue": "Blue Cross", + "block.minecraft.banner.straight_cross.purple": "Purple Cross", + "block.minecraft.banner.straight_cross.cyan": "Cyan Cross", + "block.minecraft.banner.straight_cross.light_gray": "Light Gray Cross", + "block.minecraft.banner.straight_cross.gray": "Gray Cross", + "block.minecraft.banner.straight_cross.pink": "Pink Cross", + "block.minecraft.banner.straight_cross.lime": "Lime Cross", + "block.minecraft.banner.straight_cross.yellow": "Yellow Cross", + "block.minecraft.banner.straight_cross.light_blue": "Light Blue Cross", + "block.minecraft.banner.straight_cross.magenta": "Magenta Cross", + "block.minecraft.banner.straight_cross.orange": "Orange Cross", + "block.minecraft.banner.straight_cross.white": "White Cross", + "block.minecraft.banner.globe.black": "Black Globe", + "block.minecraft.banner.globe.red": "Red Globe", + "block.minecraft.banner.globe.green": "Green Globe", + "block.minecraft.banner.globe.brown": "Brown Globe", + "block.minecraft.banner.globe.blue": "Blue Globe", + "block.minecraft.banner.globe.purple": "Purple Globe", + "block.minecraft.banner.globe.cyan": "Cyan Globe", + "block.minecraft.banner.globe.light_gray": "Light Gray Globe", + "block.minecraft.banner.globe.gray": "Gray Globe", + "block.minecraft.banner.globe.pink": "Pink Globe", + "block.minecraft.banner.globe.lime": "Lime Globe", + "block.minecraft.banner.globe.yellow": "Yellow Globe", + "block.minecraft.banner.globe.light_blue": "Light Blue Globe", + "block.minecraft.banner.globe.magenta": "Magenta Globe", + "block.minecraft.banner.globe.orange": "Orange Globe", + "block.minecraft.banner.globe.white": "White Globe", + "block.minecraft.banner.piglin.black": "Black Snout", + "block.minecraft.banner.piglin.red": "Red Snout", + "block.minecraft.banner.piglin.green": "Green Snout", + "block.minecraft.banner.piglin.brown": "Brown Snout", + "block.minecraft.banner.piglin.blue": "Blue Snout", + "block.minecraft.banner.piglin.purple": "Purple Snout", + "block.minecraft.banner.piglin.cyan": "Cyan Snout", + "block.minecraft.banner.piglin.light_gray": "Light Gray Snout", + "block.minecraft.banner.piglin.gray": "Gray Snout", + "block.minecraft.banner.piglin.pink": "Pink Snout", + "block.minecraft.banner.piglin.lime": "Lime Snout", + "block.minecraft.banner.piglin.yellow": "Yellow Snout", + "block.minecraft.banner.piglin.light_blue": "Light Blue Snout", + "block.minecraft.banner.piglin.magenta": "Magenta Snout", + "block.minecraft.banner.piglin.orange": "Orange Snout", + "block.minecraft.banner.piglin.white": "White Snout", + "subtitles.ambient.cave": "Eerie noise", + "subtitles.block.anvil.destroy": "Anvil destroyed", + "subtitles.block.anvil.land": "Anvil landed", + "subtitles.block.anvil.use": "Anvil used", + "subtitles.block.barrel.close": "Barrel closes", + "subtitles.block.barrel.open": "Barrel opens", + "subtitles.block.beacon.activate": "Beacon activates", + "subtitles.block.beacon.ambient": "Beacon hums", + "subtitles.block.beacon.deactivate": "Beacon deactivates", + "subtitles.block.beacon.power_select": "Beacon power selected", + "subtitles.block.beehive.drip": "Honey drips", + "subtitles.block.beehive.enter": "Bee enters hive", + "subtitles.block.beehive.exit": "Bee leaves hive", + "subtitles.block.beehive.shear": "Shears scrape", + "subtitles.block.beehive.work": "Bees work", + "subtitles.block.bell.resonate": "Bell resonates", + "subtitles.block.bell.use": "Bell rings", + "subtitles.block.blastfurnace.fire_crackle": "Blast Furnace crackles", + "subtitles.block.brewing_stand.brew": "Brewing Stand bubbles", + "subtitles.block.bubble_column.bubble_pop": "Bubbles pop", + "subtitles.block.bubble_column.upwards_ambient": "Bubbles flow", + "subtitles.block.bubble_column.upwards_inside": "Bubbles woosh", + "subtitles.block.bubble_column.whirlpool_ambient": "Bubbles whirl", + "subtitles.block.bubble_column.whirlpool_inside": "Bubbles zoom", + "subtitles.block.button.click": "Button clicks", + "subtitles.block.campfire.crackle": "Campfire crackles", + "subtitles.block.chest.close": "Chest closes", + "subtitles.block.chest.locked": "Chest locked", + "subtitles.block.chest.open": "Chest opens", + "subtitles.block.chorus_flower.death": "Chorus Flower withers", + "subtitles.block.chorus_flower.grow": "Chorus Flower grows", + "subtitles.block.comparator.click": "Comparator clicks", + "subtitles.block.composter.empty": "Composter emptied", + "subtitles.block.composter.fill": "Composter filled", + "subtitles.block.composter.ready": "Composter composts", + "subtitles.block.conduit.activate": "Conduit activates", + "subtitles.block.conduit.ambient": "Conduit pulses", + "subtitles.block.conduit.attack.target": "Conduit attacks", + "subtitles.block.conduit.deactivate": "Conduit deactivates", + "subtitles.block.dispenser.dispense": "Dispensed item", + "subtitles.block.dispenser.fail": "Dispenser failed", + "subtitles.block.door.toggle": "Door creaks", + "subtitles.block.enchantment_table.use": "Enchanting Table used", + "subtitles.block.end_portal.spawn": "End Portal opens", + "subtitles.block.end_portal_frame.fill": "Eye of Ender attaches", + "subtitles.block.fence_gate.toggle": "Fence Gate creaks", + "subtitles.block.fire.ambient": "Fire crackles", + "subtitles.block.fire.extinguish": "Fire extinguished", + "subtitles.block.furnace.fire_crackle": "Furnace crackles", + "subtitles.block.generic.break": "Block broken", + "subtitles.block.generic.footsteps": "Footsteps", + "subtitles.block.generic.hit": "Block breaking", + "subtitles.block.generic.place": "Block placed", + "subtitles.block.grindstone.use": "Grindstone used", + "subtitles.block.honey_block.slide": "Sliding down a honey block", + "subtitles.block.iron_trapdoor.close": "Trapdoor closes", + "subtitles.block.iron_trapdoor.open": "Trapdoor opens", + "subtitles.block.lava.ambient": "Lava pops", + "subtitles.block.lava.extinguish": "Lava hisses", + "subtitles.block.lever.click": "Lever clicks", + "subtitles.block.note_block.note": "Note Block plays", + "subtitles.block.piston.move": "Piston moves", + "subtitles.block.portal.ambient": "Portal whooshes", + "subtitles.block.portal.travel": "Portal noise fades", + "subtitles.block.portal.trigger": "Portal noise intensifies", + "subtitles.block.pressure_plate.click": "Pressure Plate clicks", + "subtitles.block.pumpkin.carve": "Shears carve", + "subtitles.block.redstone_torch.burnout": "Torch fizzes", + "subtitles.block.respawn_anchor.ambient": "Portal whooshes", + "subtitles.block.respawn_anchor.charge": "Respawn Anchor is charged", + "subtitles.block.respawn_anchor.deplete": "Respawn Anchor depletes", + "subtitles.block.respawn_anchor.set_spawn": "Respawn Anchor sets spawn", + "subtitles.block.shulker_box.close": "Shulker closes", + "subtitles.block.shulker_box.open": "Shulker opens", + "subtitles.block.smithing_table.use": "Smithing Table used", + "subtitles.block.smoker.smoke": "Smoker smokes", + "subtitles.block.trapdoor.toggle": "Trapdoor creaks", + "subtitles.block.tripwire.attach": "Tripwire attaches", + "subtitles.block.tripwire.click": "Tripwire clicks", + "subtitles.block.tripwire.detach": "Tripwire detaches", + "subtitles.block.water.ambient": "Water flows", + "subtitles.enchant.thorns.hit": "Thorns prick", + "subtitles.entity.armor_stand.fall": "Something fell", + "subtitles.entity.arrow.hit": "Arrow hits", + "subtitles.entity.arrow.hit_player": "Player hit", + "subtitles.entity.arrow.shoot": "Arrow fired", + "subtitles.entity.bat.ambient": "Bat screeches", + "subtitles.entity.bat.death": "Bat dies", + "subtitles.entity.bat.hurt": "Bat hurts", + "subtitles.entity.bat.takeoff": "Bat takes off", + "subtitles.entity.bee.ambient": "Bee buzzes", + "subtitles.entity.bee.death": "Bee dies", + "subtitles.entity.bee.hurt": "Bee hurts", + "subtitles.entity.bee.loop": "Bee buzzes", + "subtitles.entity.bee.loop_aggressive": "Bee buzzes angrily", + "subtitles.entity.bee.pollinate": "Bee buzzes happily", + "subtitles.entity.bee.sting": "Bee stings", + "subtitles.entity.blaze.ambient": "Blaze breathes", + "subtitles.entity.blaze.burn": "Blaze crackles", + "subtitles.entity.blaze.death": "Blaze dies", + "subtitles.entity.blaze.hurt": "Blaze hurts", + "subtitles.entity.blaze.shoot": "Blaze shoots", + "subtitles.entity.boat.paddle_land": "Rowing", + "subtitles.entity.boat.paddle_water": "Rowing", + "subtitles.entity.cat.ambient": "Cat meows", + "subtitles.entity.cat.beg_for_food": "Cat begs", + "subtitles.entity.cat.death": "Cat dies", + "subtitles.entity.cat.eat": "Cat eats", + "subtitles.entity.cat.hiss": "Cat hisses", + "subtitles.entity.cat.hurt": "Cat hurts", + "subtitles.entity.cat.purr": "Cat purrs", + "subtitles.entity.chicken.ambient": "Chicken clucks", + "subtitles.entity.chicken.death": "Chicken dies", + "subtitles.entity.chicken.egg": "Chicken plops", + "subtitles.entity.chicken.hurt": "Chicken hurts", + "subtitles.entity.cod.death": "Cod dies", + "subtitles.entity.cod.flop": "Cod flops", + "subtitles.entity.cod.hurt": "Cod hurts", + "subtitles.entity.cow.ambient": "Cow moos", + "subtitles.entity.cow.death": "Cow dies", + "subtitles.entity.cow.hurt": "Cow hurts", + "subtitles.entity.cow.milk": "Cow gets milked", + "subtitles.entity.creeper.death": "Creeper dies", + "subtitles.entity.creeper.hurt": "Creeper hurts", + "subtitles.entity.creeper.primed": "Creeper hisses", + "subtitles.entity.dolphin.ambient": "Dolphin chirps", + "subtitles.entity.dolphin.ambient_water": "Dolphin whistles", + "subtitles.entity.dolphin.attack": "Dolphin attacks", + "subtitles.entity.dolphin.death": "Dolphin dies", + "subtitles.entity.dolphin.eat": "Dolphin eats", + "subtitles.entity.dolphin.hurt": "Dolphin hurts", + "subtitles.entity.dolphin.jump": "Dolphin jumps", + "subtitles.entity.dolphin.play": "Dolphin plays", + "subtitles.entity.dolphin.splash": "Dolphin splashes", + "subtitles.entity.dolphin.swim": "Dolphin swims", + "subtitles.entity.donkey.ambient": "Donkey hee-haws", + "subtitles.entity.donkey.angry": "Donkey neighs", + "subtitles.entity.donkey.chest": "Donkey Chest equips", + "subtitles.entity.donkey.death": "Donkey dies", + "subtitles.entity.donkey.eat": "Donkey eats", + "subtitles.entity.donkey.hurt": "Donkey hurts", + "subtitles.entity.drowned.ambient": "Drowned gurgles", + "subtitles.entity.drowned.ambient_water": "Drowned gurgles", + "subtitles.entity.drowned.death": "Drowned dies", + "subtitles.entity.drowned.hurt": "Drowned hurts", + "subtitles.entity.drowned.shoot": "Drowned throws Trident", + "subtitles.entity.drowned.step": "Drowned steps", + "subtitles.entity.drowned.swim": "Drowned swims", + "subtitles.entity.egg.throw": "Egg flies", + "subtitles.entity.elder_guardian.ambient": "Elder Guardian moans", + "subtitles.entity.elder_guardian.ambient_land": "Elder Guardian flaps", + "subtitles.entity.elder_guardian.curse": "Elder Guardian curses", + "subtitles.entity.elder_guardian.death": "Elder Guardian dies", + "subtitles.entity.elder_guardian.flop": "Elder Guardian flops", + "subtitles.entity.elder_guardian.hurt": "Elder Guardian hurts", + "subtitles.entity.ender_dragon.ambient": "Dragon roars", + "subtitles.entity.ender_dragon.death": "Dragon dies", + "subtitles.entity.ender_dragon.flap": "Dragon flaps", + "subtitles.entity.ender_dragon.growl": "Dragon growls", + "subtitles.entity.ender_dragon.hurt": "Dragon hurts", + "subtitles.entity.ender_dragon.shoot": "Dragon shoots", + "subtitles.entity.ender_eye.death": "Eye of Ender falls", + "subtitles.entity.ender_eye.launch": "Eye of Ender shoots", + "subtitles.entity.ender_pearl.throw": "Ender Pearl flies", + "subtitles.entity.enderman.ambient": "Enderman vwoops", + "subtitles.entity.enderman.death": "Enderman dies", + "subtitles.entity.enderman.hurt": "Enderman hurts", + "subtitles.entity.enderman.stare": "Enderman cries out", + "subtitles.entity.enderman.teleport": "Enderman teleports", + "subtitles.entity.endermite.ambient": "Endermite scuttles", + "subtitles.entity.endermite.death": "Endermite dies", + "subtitles.entity.endermite.hurt": "Endermite hurts", + "subtitles.entity.evoker.ambient": "Evoker murmurs", + "subtitles.entity.evoker.cast_spell": "Evoker casts spell", + "subtitles.entity.evoker.celebrate": "Evoker cheers", + "subtitles.entity.evoker.death": "Evoker dies", + "subtitles.entity.evoker.hurt": "Evoker hurts", + "subtitles.entity.evoker.prepare_attack": "Evoker prepares attack", + "subtitles.entity.evoker.prepare_summon": "Evoker prepares summoning", + "subtitles.entity.evoker.prepare_wololo": "Evoker prepares charming", + "subtitles.entity.evoker_fangs.attack": "Fangs snap", + "subtitles.entity.experience_orb.pickup": "Experience gained", + "subtitles.entity.firework_rocket.blast": "Firework blasts", + "subtitles.entity.firework_rocket.launch": "Firework launches", + "subtitles.entity.firework_rocket.twinkle": "Firework twinkles", + "subtitles.entity.fishing_bobber.retrieve": "Bobber retrieved", + "subtitles.entity.fishing_bobber.splash": "Fishing Bobber splashes", + "subtitles.entity.fishing_bobber.throw": "Bobber thrown", + "subtitles.entity.fox.aggro": "Fox angers", + "subtitles.entity.fox.ambient": "Fox squeaks", + "subtitles.entity.fox.bite": "Fox bites", + "subtitles.entity.fox.death": "Fox dies", + "subtitles.entity.fox.eat": "Fox eats", + "subtitles.entity.fox.hurt": "Fox hurts", + "subtitles.entity.fox.screech": "Fox screeches", + "subtitles.entity.fox.sleep": "Fox snores", + "subtitles.entity.fox.sniff": "Fox sniffs", + "subtitles.entity.fox.spit": "Fox spits", + "subtitles.entity.fox.teleport": "Fox teleports", + "subtitles.entity.generic.big_fall": "Something fell", + "subtitles.entity.generic.burn": "Burning", + "subtitles.entity.generic.death": "Dying", + "subtitles.entity.generic.drink": "Sipping", + "subtitles.entity.generic.eat": "Eating", + "subtitles.entity.generic.explode": "Explosion", + "subtitles.entity.generic.extinguish_fire": "Fire extinguishes", + "subtitles.entity.generic.hurt": "Something hurts", + "subtitles.entity.generic.small_fall": "Something trips", + "subtitles.entity.generic.splash": "Splashing", + "subtitles.entity.generic.swim": "Swimming", + "subtitles.entity.ghast.ambient": "Ghast cries", + "subtitles.entity.ghast.death": "Ghast dies", + "subtitles.entity.ghast.hurt": "Ghast hurts", + "subtitles.entity.ghast.shoot": "Ghast shoots", + "subtitles.entity.guardian.ambient": "Guardian moans", + "subtitles.entity.guardian.ambient_land": "Guardian flaps", + "subtitles.entity.guardian.attack": "Guardian shoots", + "subtitles.entity.guardian.death": "Guardian dies", + "subtitles.entity.guardian.flop": "Guardian flops", + "subtitles.entity.guardian.hurt": "Guardian hurts", + "subtitles.entity.hoglin.ambient": "Hoglin growls", + "subtitles.entity.hoglin.angry": "Hoglin growls angrily", + "subtitles.entity.hoglin.attack": "Hoglin attacks", + "subtitles.entity.hoglin.converted_to_zombified": "Hoglin converts to Zoglin", + "subtitles.entity.hoglin.death": "Hoglin dies", + "subtitles.entity.hoglin.hurt": "Hoglin hurts", + "subtitles.entity.hoglin.retreat": "Hoglin retreats", + "subtitles.entity.hoglin.step": "Hoglin steps", + "subtitles.entity.horse.ambient": "Horse neighs", + "subtitles.entity.horse.angry": "Horse neighs", + "subtitles.entity.horse.armor": "Horse armor equips", + "subtitles.entity.horse.breathe": "Horse breathes", + "subtitles.entity.horse.death": "Horse dies", + "subtitles.entity.horse.eat": "Horse eats", + "subtitles.entity.horse.gallop": "Horse gallops", + "subtitles.entity.horse.hurt": "Horse hurts", + "subtitles.entity.horse.jump": "Horse jumps", + "subtitles.entity.horse.saddle": "Saddle equips", + "subtitles.entity.husk.ambient": "Husk groans", + "subtitles.entity.husk.converted_to_zombie": "Husk converts to Zombie", + "subtitles.entity.husk.death": "Husk dies", + "subtitles.entity.husk.hurt": "Husk hurts", + "subtitles.entity.illusioner.ambient": "Illusioner murmurs", + "subtitles.entity.illusioner.cast_spell": "Illusioner casts spell", + "subtitles.entity.illusioner.death": "Illusioner dies", + "subtitles.entity.illusioner.hurt": "Illusioner hurts", + "subtitles.entity.illusioner.mirror_move": "Illusioner displaces", + "subtitles.entity.illusioner.prepare_blindness": "Illusioner prepares blindness", + "subtitles.entity.illusioner.prepare_mirror": "Illusioner prepares mirror image", + "subtitles.entity.iron_golem.attack": "Iron Golem attacks", + "subtitles.entity.iron_golem.damage": "Iron Golem breaks", + "subtitles.entity.iron_golem.death": "Iron Golem dies", + "subtitles.entity.iron_golem.hurt": "Iron Golem hurts", + "subtitles.entity.iron_golem.repair": "Iron Golem repaired", + "subtitles.entity.item.break": "Item breaks", + "subtitles.entity.item.pickup": "Item plops", + "subtitles.entity.item_frame.add_item": "Item Frame fills", + "subtitles.entity.item_frame.break": "Item Frame breaks", + "subtitles.entity.item_frame.place": "Item Frame placed", + "subtitles.entity.item_frame.remove_item": "Item Frame empties", + "subtitles.entity.item_frame.rotate_item": "Item Frame clicks", + "subtitles.entity.leash_knot.break": "Leash knot breaks", + "subtitles.entity.leash_knot.place": "Leash knot tied", + "subtitles.entity.lightning_bolt.impact": "Lightning strikes", + "subtitles.entity.lightning_bolt.thunder": "Thunder roars", + "subtitles.entity.llama.ambient": "Llama bleats", + "subtitles.entity.llama.angry": "Llama bleats angrily", + "subtitles.entity.llama.chest": "Llama Chest equips", + "subtitles.entity.llama.death": "Llama dies", + "subtitles.entity.llama.eat": "Llama eats", + "subtitles.entity.llama.hurt": "Llama hurts", + "subtitles.entity.llama.spit": "Llama spits", + "subtitles.entity.llama.step": "Llama steps", + "subtitles.entity.llama.swag": "Llama is decorated", + "subtitles.entity.magma_cube.death": "Magma Cube dies", + "subtitles.entity.magma_cube.hurt": "Magma Cube hurts", + "subtitles.entity.magma_cube.squish": "Magma Cube squishes", + "subtitles.entity.minecart.riding": "Minecart rolls", + "subtitles.entity.mooshroom.convert": "Mooshroom transforms", + "subtitles.entity.mooshroom.eat": "Mooshroom eats", + "subtitles.entity.mooshroom.milk": "Mooshroom gets milked", + "subtitles.entity.mooshroom.suspicious_milk": "Mooshroom gets milked suspiciously", + "subtitles.entity.mule.ambient": "Mule hee-haws", + "subtitles.entity.mule.angry": "Mule neighs", + "subtitles.entity.mule.chest": "Mule Chest equips", + "subtitles.entity.mule.death": "Mule dies", + "subtitles.entity.mule.eat": "Mule eats", + "subtitles.entity.mule.hurt": "Mule hurts", + "subtitles.entity.painting.break": "Painting breaks", + "subtitles.entity.painting.place": "Painting placed", + "subtitles.entity.panda.aggressive_ambient": "Panda huffs", + "subtitles.entity.panda.ambient": "Panda pants", + "subtitles.entity.panda.bite": "Panda bites", + "subtitles.entity.panda.cant_breed": "Panda bleats", + "subtitles.entity.panda.death": "Panda dies", + "subtitles.entity.panda.eat": "Panda eats", + "subtitles.entity.panda.hurt": "Panda hurts", + "subtitles.entity.panda.pre_sneeze": "Panda's nose tickles", + "subtitles.entity.panda.sneeze": "Panda sneezes", + "subtitles.entity.panda.step": "Panda steps", + "subtitles.entity.panda.worried_ambient": "Panda whimpers", + "subtitles.entity.parrot.ambient": "Parrot talks", + "subtitles.entity.parrot.death": "Parrot dies", + "subtitles.entity.parrot.eats": "Parrot eats", + "subtitles.entity.parrot.fly": "Parrot flutters", + "subtitles.entity.parrot.hurts": "Parrot hurts", + "subtitles.entity.parrot.imitate.blaze": "Parrot breathes", + "subtitles.entity.parrot.imitate.creeper": "Parrot hisses", + "subtitles.entity.parrot.imitate.drowned": "Parrot gurgles", + "subtitles.entity.parrot.imitate.elder_guardian": "Parrot flaps", + "subtitles.entity.parrot.imitate.ender_dragon": "Parrot roars", + "subtitles.entity.parrot.imitate.endermite": "Parrot scuttles", + "subtitles.entity.parrot.imitate.evoker": "Parrot murmurs", + "subtitles.entity.parrot.imitate.ghast": "Parrot cries", + "subtitles.entity.parrot.imitate.guardian": "Parrot moans", + "subtitles.entity.parrot.imitate.hoglin": "Parrot growls", + "subtitles.entity.parrot.imitate.husk": "Parrot groans", + "subtitles.entity.parrot.imitate.illusioner": "Parrot murmurs", + "subtitles.entity.parrot.imitate.magma_cube": "Parrot squishes", + "subtitles.entity.parrot.imitate.phantom": "Parrot screeches", + "subtitles.entity.parrot.imitate.piglin": "Parrot snorts", + "subtitles.entity.parrot.imitate.pillager": "Parrot murmurs", + "subtitles.entity.parrot.imitate.ravager": "Parrot grunts", + "subtitles.entity.parrot.imitate.shulker": "Parrot lurks", + "subtitles.entity.parrot.imitate.silverfish": "Parrot hisses", + "subtitles.entity.parrot.imitate.skeleton": "Parrot rattles", + "subtitles.entity.parrot.imitate.slime": "Parrot squishes", + "subtitles.entity.parrot.imitate.spider": "Parrot hisses", + "subtitles.entity.parrot.imitate.stray": "Parrot rattles", + "subtitles.entity.parrot.imitate.vex": "Parrot vexes", + "subtitles.entity.parrot.imitate.vindicator": "Parrot mutters", + "subtitles.entity.parrot.imitate.witch": "Parrot giggles", + "subtitles.entity.parrot.imitate.wither": "Parrot angers", + "subtitles.entity.parrot.imitate.wither_skeleton": "Parrot rattles", + "subtitles.entity.parrot.imitate.zoglin": "Parrot growls", + "subtitles.entity.parrot.imitate.zombie": "Parrot groans", + "subtitles.entity.parrot.imitate.zombie_villager": "Parrot groans", + "subtitles.entity.phantom.ambient": "Phantom screeches", + "subtitles.entity.phantom.bite": "Phantom bites", + "subtitles.entity.phantom.death": "Phantom dies", + "subtitles.entity.phantom.flap": "Phantom flaps", + "subtitles.entity.phantom.hurt": "Phantom hurts", + "subtitles.entity.phantom.swoop": "Phantom swoops", + "subtitles.entity.pig.ambient": "Pig oinks", + "subtitles.entity.pig.death": "Pig dies", + "subtitles.entity.pig.hurt": "Pig hurts", + "subtitles.entity.pig.saddle": "Saddle equips", + "subtitles.entity.piglin.admiring_item": "Piglin admires item", + "subtitles.entity.piglin.ambient": "Piglin snorts", + "subtitles.entity.piglin.angry": "Piglin snorts angrily", + "subtitles.entity.piglin.celebrate": "Piglin celebrates", + "subtitles.entity.piglin.converted_to_zombified": "Piglin converts to Zombified Piglin", + "subtitles.entity.piglin.death": "Piglin dies", + "subtitles.entity.piglin.hurt": "Piglin hurts", + "subtitles.entity.piglin.jealous": "Piglin snorts enviously", + "subtitles.entity.piglin.retreat": "Piglin retreats", + "subtitles.entity.piglin.step": "Piglin steps", + "subtitles.entity.pillager.ambient": "Pillager murmurs", + "subtitles.entity.pillager.celebrate": "Pillager cheers", + "subtitles.entity.pillager.death": "Pillager dies", + "subtitles.entity.pillager.hurt": "Pillager hurts", + "subtitles.entity.player.attack.crit": "Critical attack", + "subtitles.entity.player.attack.knockback": "Knockback attack", + "subtitles.entity.player.attack.strong": "Strong attack", + "subtitles.entity.player.attack.sweep": "Sweeping attack", + "subtitles.entity.player.attack.weak": "Weak attack", + "subtitles.entity.player.burp": "Burp", + "subtitles.entity.player.death": "Player dies", + "subtitles.entity.player.hurt": "Player hurts", + "subtitles.entity.player.hurt_drown": "Player drowning", + "subtitles.entity.player.hurt_on_fire": "Player burns", + "subtitles.entity.player.levelup": "Player dings", + "subtitles.entity.polar_bear.ambient": "Polar Bear groans", + "subtitles.entity.polar_bear.ambient_baby": "Polar Bear hums", + "subtitles.entity.polar_bear.death": "Polar Bear dies", + "subtitles.entity.polar_bear.hurt": "Polar Bear hurts", + "subtitles.entity.polar_bear.warning": "Polar Bear roars", + "subtitles.entity.potion.splash": "Bottle smashes", + "subtitles.entity.potion.throw": "Bottle thrown", + "subtitles.entity.puffer_fish.blow_out": "Pufferfish deflates", + "subtitles.entity.puffer_fish.blow_up": "Pufferfish inflates", + "subtitles.entity.puffer_fish.death": "Pufferfish dies", + "subtitles.entity.puffer_fish.flop": "Pufferfish flops", + "subtitles.entity.puffer_fish.hurt": "Pufferfish hurts", + "subtitles.entity.puffer_fish.sting": "Pufferfish stings", + "subtitles.entity.rabbit.ambient": "Rabbit squeaks", + "subtitles.entity.rabbit.attack": "Rabbit attacks", + "subtitles.entity.rabbit.death": "Rabbit dies", + "subtitles.entity.rabbit.hurt": "Rabbit hurts", + "subtitles.entity.rabbit.jump": "Rabbit hops", + "subtitles.entity.ravager.ambient": "Ravager grunts", + "subtitles.entity.ravager.attack": "Ravager bites", + "subtitles.entity.ravager.celebrate": "Ravager cheers", + "subtitles.entity.ravager.death": "Ravager dies", + "subtitles.entity.ravager.hurt": "Ravager hurts", + "subtitles.entity.ravager.roar": "Ravager roars", + "subtitles.entity.ravager.step": "Ravager steps", + "subtitles.entity.ravager.stunned": "Ravager stunned", + "subtitles.entity.salmon.death": "Salmon dies", + "subtitles.entity.salmon.flop": "Salmon flops", + "subtitles.entity.salmon.hurt": "Salmon hurts", + "subtitles.entity.sheep.ambient": "Sheep baahs", + "subtitles.entity.sheep.death": "Sheep dies", + "subtitles.entity.sheep.hurt": "Sheep hurts", + "subtitles.entity.shulker.ambient": "Shulker lurks", + "subtitles.entity.shulker.close": "Shulker closes", + "subtitles.entity.shulker.death": "Shulker dies", + "subtitles.entity.shulker.hurt": "Shulker hurts", + "subtitles.entity.shulker.open": "Shulker opens", + "subtitles.entity.shulker.shoot": "Shulker shoots", + "subtitles.entity.shulker.teleport": "Shulker teleports", + "subtitles.entity.shulker_bullet.hit": "Shulker bullet explodes", + "subtitles.entity.shulker_bullet.hurt": "Shulker bullet breaks", + "subtitles.entity.silverfish.ambient": "Silverfish hisses", + "subtitles.entity.silverfish.death": "Silverfish dies", + "subtitles.entity.silverfish.hurt": "Silverfish hurts", + "subtitles.entity.skeleton.ambient": "Skeleton rattles", + "subtitles.entity.skeleton.death": "Skeleton dies", + "subtitles.entity.skeleton.hurt": "Skeleton hurts", + "subtitles.entity.skeleton.shoot": "Skeleton shoots", + "subtitles.entity.skeleton_horse.ambient": "Skeleton Horse cries", + "subtitles.entity.skeleton_horse.death": "Skeleton Horse dies", + "subtitles.entity.skeleton_horse.hurt": "Skeleton Horse hurts", + "subtitles.entity.skeleton_horse.swim": "Skeleton Horse swims", + "subtitles.entity.slime.attack": "Slime attacks", + "subtitles.entity.slime.death": "Slime dies", + "subtitles.entity.slime.hurt": "Slime hurts", + "subtitles.entity.slime.squish": "Slime squishes", + "subtitles.entity.snow_golem.death": "Snow Golem dies", + "subtitles.entity.snow_golem.hurt": "Snow Golem hurts", + "subtitles.entity.snowball.throw": "Snowball flies", + "subtitles.entity.spider.ambient": "Spider hisses", + "subtitles.entity.spider.death": "Spider dies", + "subtitles.entity.spider.hurt": "Spider hurts", + "subtitles.entity.squid.ambient": "Squid swims", + "subtitles.entity.squid.death": "Squid dies", + "subtitles.entity.squid.hurt": "Squid hurts", + "subtitles.entity.squid.squirt": "Squid shoots ink", + "subtitles.entity.stray.ambient": "Stray rattles", + "subtitles.entity.stray.death": "Stray dies", + "subtitles.entity.stray.hurt": "Stray hurts", + "subtitles.entity.strider.death": "Strider dies", + "subtitles.entity.strider.eat": "Strider eats", + "subtitles.entity.strider.happy": "Strider warbles", + "subtitles.entity.strider.hurt": "Strider hurts", + "subtitles.entity.strider.idle": "Strider chirps", + "subtitles.entity.strider.retreat": "Strider retreats", + "subtitles.entity.tnt.primed": "TNT fizzes", + "subtitles.entity.tropical_fish.death": "Tropical Fish dies", + "subtitles.entity.tropical_fish.flop": "Tropical Fish flops", + "subtitles.entity.tropical_fish.hurt": "Tropical Fish hurts", + "subtitles.entity.turtle.ambient_land": "Turtle chirps", + "subtitles.entity.turtle.death": "Turtle dies", + "subtitles.entity.turtle.death_baby": "Turtle baby dies", + "subtitles.entity.turtle.egg_break": "Turtle Egg breaks", + "subtitles.entity.turtle.egg_crack": "Turtle Egg cracks", + "subtitles.entity.turtle.egg_hatch": "Turtle Egg hatches", + "subtitles.entity.turtle.hurt": "Turtle hurts", + "subtitles.entity.turtle.hurt_baby": "Turtle baby hurts", + "subtitles.entity.turtle.lay_egg": "Turtle lays egg", + "subtitles.entity.turtle.shamble": "Turtle shambles", + "subtitles.entity.turtle.shamble_baby": "Turtle baby shambles", + "subtitles.entity.turtle.swim": "Turtle swims", + "subtitles.entity.vex.ambient": "Vex vexes", + "subtitles.entity.vex.charge": "Vex shrieks", + "subtitles.entity.vex.death": "Vex dies", + "subtitles.entity.vex.hurt": "Vex hurts", + "subtitles.entity.villager.ambient": "Villager mumbles", + "subtitles.entity.villager.celebrate": "Villager cheers", + "subtitles.entity.villager.death": "Villager dies", + "subtitles.entity.villager.hurt": "Villager hurts", + "subtitles.entity.villager.no": "Villager disagrees", + "subtitles.entity.villager.trade": "Villager trades", + "subtitles.entity.villager.work_armorer": "Armorer works", + "subtitles.entity.villager.work_butcher": "Butcher works", + "subtitles.entity.villager.work_cartographer": "Cartographer works", + "subtitles.entity.villager.work_cleric": "Cleric works", + "subtitles.entity.villager.work_farmer": "Farmer works", + "subtitles.entity.villager.work_fisherman": "Fisherman works", + "subtitles.entity.villager.work_fletcher": "Fletcher works", + "subtitles.entity.villager.work_leatherworker": "Leatherworker works", + "subtitles.entity.villager.work_librarian": "Librarian works", + "subtitles.entity.villager.work_mason": "Mason works", + "subtitles.entity.villager.work_shepherd": "Shepherd works", + "subtitles.entity.villager.work_toolsmith": "Toolsmith works", + "subtitles.entity.villager.work_weaponsmith": "Weaponsmith works", + "subtitles.entity.villager.yes": "Villager agrees", + "subtitles.entity.vindicator.ambient": "Vindicator mutters", + "subtitles.entity.vindicator.celebrate": "Vindicator cheers", + "subtitles.entity.vindicator.death": "Vindicator dies", + "subtitles.entity.vindicator.hurt": "Vindicator hurts", + "subtitles.entity.wandering_trader.ambient": "Wandering Trader mumbles", + "subtitles.entity.wandering_trader.death": "Wandering Trader dies", + "subtitles.entity.wandering_trader.disappeared": "Wandering Trader disappears", + "subtitles.entity.wandering_trader.drink_milk": "Wandering Trader drinks milk", + "subtitles.entity.wandering_trader.drink_potion": "Wandering Trader drinks potion", + "subtitles.entity.wandering_trader.hurt": "Wandering Trader hurts", + "subtitles.entity.wandering_trader.no": "Wandering Trader disagrees", + "subtitles.entity.wandering_trader.reappeared": "Wandering Trader appears", + "subtitles.entity.wandering_trader.trade": "Wandering Trader trades", + "subtitles.entity.wandering_trader.yes": "Wandering Trader agrees", + "subtitles.entity.witch.ambient": "Witch giggles", + "subtitles.entity.witch.celebrate": "Witch cheers", + "subtitles.entity.witch.death": "Witch dies", + "subtitles.entity.witch.drink": "Witch drinks", + "subtitles.entity.witch.hurt": "Witch hurts", + "subtitles.entity.witch.throw": "Witch throws", + "subtitles.entity.wither.ambient": "Wither angers", + "subtitles.entity.wither.death": "Wither dies", + "subtitles.entity.wither.hurt": "Wither hurts", + "subtitles.entity.wither.shoot": "Wither attacks", + "subtitles.entity.wither.spawn": "Wither released", + "subtitles.entity.wither_skeleton.ambient": "Wither Skeleton rattles", + "subtitles.entity.wither_skeleton.death": "Wither Skeleton dies", + "subtitles.entity.wither_skeleton.hurt": "Wither Skeleton hurts", + "subtitles.entity.wolf.ambient": "Wolf pants", + "subtitles.entity.wolf.death": "Wolf dies", + "subtitles.entity.wolf.growl": "Wolf growls", + "subtitles.entity.wolf.hurt": "Wolf hurts", + "subtitles.entity.wolf.shake": "Wolf shakes", + "subtitles.entity.zoglin.ambient": "Zoglin growls", + "subtitles.entity.zoglin.angry": "Zoglin growls angrily", + "subtitles.entity.zoglin.attack": "Zoglin attacks", + "subtitles.entity.zoglin.death": "Zoglin dies", + "subtitles.entity.zoglin.hurt": "Zoglin hurts", + "subtitles.entity.zoglin.step": "Zoglin steps", + "subtitles.entity.zombie.ambient": "Zombie groans", + "subtitles.entity.zombie.attack_wooden_door": "Door shakes", + "subtitles.entity.zombie.converted_to_drowned": "Zombie converts to Drowned", + "subtitles.entity.zombie.break_wooden_door": "Door breaks", + "subtitles.entity.zombie.death": "Zombie dies", + "subtitles.entity.zombie.destroy_egg": "Turtle Egg stomped", + "subtitles.entity.zombie.hurt": "Zombie hurts", + "subtitles.entity.zombie.infect": "Zombie infects", + "subtitles.entity.zombie_horse.ambient": "Zombie Horse cries", + "subtitles.entity.zombie_horse.death": "Zombie Horse dies", + "subtitles.entity.zombie_horse.hurt": "Zombie Horse hurts", + "subtitles.entity.zombie_villager.ambient": "Zombie Villager groans", + "subtitles.entity.zombie_villager.converted": "Zombie Villager vociferates", + "subtitles.entity.zombie_villager.cure": "Zombie Villager snuffles", + "subtitles.entity.zombie_villager.death": "Zombie Villager dies", + "subtitles.entity.zombie_villager.hurt": "Zombie Villager hurts", + "subtitles.entity.zombified_piglin.ambient": "Zombified Piglin grunts", + "subtitles.entity.zombified_piglin.angry": "Zombified Piglin grunts angrily", + "subtitles.entity.zombified_piglin.death": "Zombified Piglin dies", + "subtitles.entity.zombified_piglin.hurt": "Zombified Piglin hurts", + "subtitles.event.raid.horn": "Ominous horn blares", + "subtitles.item.armor.equip": "Gear equips", + "subtitles.item.armor.equip_chain": "Chain armor jingles", + "subtitles.item.armor.equip_diamond": "Diamond armor clangs", + "subtitles.item.armor.equip_elytra": "Elytra rustle", + "subtitles.item.armor.equip_gold": "Gold armor clinks", + "subtitles.item.armor.equip_iron": "Iron armor clanks", + "subtitles.item.armor.equip_leather": "Leather armor rustles", + "subtitles.item.armor.equip_netherite": "Netherite armor clanks", + "subtitles.item.armor.equip_turtle": "Turtle shell thunks", + "subtitles.item.axe.strip": "Axe scrapes", + "subtitles.item.berries.pick": "Berries pop", + "subtitles.item.book.page_turn": "Page rustles", + "subtitles.item.book.put": "Book thumps", + "subtitles.item.bottle.empty": "Bottle empties", + "subtitles.item.bottle.fill": "Bottle fills", + "subtitles.item.bucket.empty": "Bucket empties", + "subtitles.item.bucket.fill": "Bucket fills", + "subtitles.item.bucket.fill_fish": "Fish captured", + "subtitles.item.chorus_fruit.teleport": "Player teleports", + "subtitles.item.crop.plant": "Crop planted", + "subtitles.item.crossbow.charge": "Crossbow charges up", + "subtitles.item.crossbow.hit": "Arrow hits", + "subtitles.item.crossbow.load": "Crossbow loads", + "subtitles.item.crossbow.shoot": "Crossbow fires", + "subtitles.item.firecharge.use": "Fireball whooshes", + "subtitles.item.flintandsteel.use": "Flint and Steel click", + "subtitles.item.hoe.till": "Hoe tills", + "subtitles.item.honey_bottle.drink": "Gulping", + "subtitles.item.lodestone_compass.lock": "Lodestone Compass locks onto Lodestone", + "subtitles.item.nether_wart.plant": "Crop planted", + "subtitles.item.shears.shear": "Shears click", + "subtitles.item.shield.block": "Shield blocks", + "subtitles.item.shovel.flatten": "Shovel flattens", + "subtitles.item.totem.use": "Totem activates", + "subtitles.item.trident.hit": "Trident stabs", + "subtitles.item.trident.hit_ground": "Trident vibrates", + "subtitles.item.trident.return": "Trident returns", + "subtitles.item.trident.riptide": "Trident zooms", + "subtitles.item.trident.throw": "Trident clangs", + "subtitles.item.trident.thunder": "Trident thunder cracks", + "subtitles.particle.soul_escape": "Soul escapes", + "subtitles.ui.cartography_table.take_result": "Map drawn", + "subtitles.ui.loom.take_result": "Loom used", + "subtitles.ui.stonecutter.take_result": "Stonecutter used", + "subtitles.weather.rain": "Rain falls", + "debug.prefix": "[Debug]:", + "debug.reload_chunks.help": "F3 + A = Reload chunks", + "debug.show_hitboxes.help": "F3 + B = Show hitboxes", + "debug.clear_chat.help": "F3 + D = Clear chat", + "debug.cycle_renderdistance.help": "F3 + F = Cycle render distance (Shift to invert)", + "debug.chunk_boundaries.help": "F3 + G = Show chunk boundaries", + "debug.advanced_tooltips.help": "F3 + H = Advanced tooltips", + "debug.creative_spectator.help": "F3 + N = Cycle previous gamemode <-> spectator", + "debug.pause_focus.help": "F3 + P = Pause on lost focus", + "debug.help.help": "F3 + Q = Show this list", + "debug.reload_resourcepacks.help": "F3 + T = Reload resource packs", + "debug.pause.help": "F3 + Esc = Pause without pause menu (if pausing is possible)", + "debug.copy_location.help": "F3 + C = Copy location as /tp command, hold F3 + C to crash the game", + "debug.inspect.help": "F3 + I = Copy entity or block data to clipboard", + "debug.gamemodes.help": "F3 + F4 = Open game mode switcher", + "debug.copy_location.message": "Copied location to clipboard", + "debug.inspect.server.block": "Copied server-side block data to clipboard", + "debug.inspect.server.entity": "Copied server-side entity data to clipboard", + "debug.inspect.client.block": "Copied client-side block data to clipboard", + "debug.inspect.client.entity": "Copied client-side entity data to clipboard", + "debug.reload_chunks.message": "Reloading all chunks", + "debug.show_hitboxes.on": "Hitboxes: shown", + "debug.show_hitboxes.off": "Hitboxes: hidden", + "debug.cycle_renderdistance.message": "Render Distance: %s", + "debug.chunk_boundaries.on": "Chunk borders: shown", + "debug.chunk_boundaries.off": "Chunk borders: hidden", + "debug.advanced_tooltips.on": "Advanced tooltips: shown", + "debug.advanced_tooltips.off": "Advanced tooltips: hidden", + "debug.creative_spectator.error": "Unable to switch gamemode, no permission", + "debug.gamemodes.error": "Unable to open game mode switcher, no permission", + "debug.pause_focus.on": "Pause on lost focus: enabled", + "debug.pause_focus.off": "Pause on lost focus: disabled", + "debug.help.message": "Key bindings:", + "debug.reload_resourcepacks.message": "Reloaded resource packs", + "debug.crash.message": "F3 + C is held down. This will crash the game unless released.", + "debug.crash.warning": "Crashing in %s...", + "debug.gamemodes.press_f4": "[ F4 ]", + "debug.gamemodes.select_next": "%s Next", + "resourcepack.downloading": "Downloading Resource Pack", + "resourcepack.requesting": "Making Request...", + "resourcepack.progress": "Downloading file (%s MB)...", + "tutorial.move.title": "Move with %s, %s, %s and %s", + "tutorial.move.description": "Jump with %s", + "tutorial.look.title": "Look around", + "tutorial.look.description": "Use your mouse to turn", + "tutorial.find_tree.title": "Find a tree", + "tutorial.find_tree.description": "Punch it to collect wood", + "tutorial.punch_tree.title": "Destroy the tree", + "tutorial.punch_tree.description": "Hold down %s", + "tutorial.open_inventory.title": "Open your inventory", + "tutorial.open_inventory.description": "Press %s", + "tutorial.craft_planks.title": "Craft wooden planks", + "tutorial.craft_planks.description": "The recipe book can help", + "advancements.adventure.adventuring_time.title": "Adventuring Time", + "advancements.adventure.adventuring_time.description": "Discover every biome", + "advancements.adventure.arbalistic.title": "Arbalistic", + "advancements.adventure.arbalistic.description": "Kill five unique mobs with one crossbow shot", + "advancements.adventure.bullseye.title": "Bullseye", + "advancements.adventure.bullseye.description": "Hit the bullseye of a Target block from at least 30 meters away", + "advancements.adventure.hero_of_the_village.title": "Hero of the Village", + "advancements.adventure.hero_of_the_village.description": "Successfully defend a village from a raid", + "advancements.adventure.honey_block_slide.title": "Sticky Situation", + "advancements.adventure.honey_block_slide.description": "Jump into a Honey Block to break your fall", + "advancements.adventure.kill_all_mobs.title": "Monsters Hunted", + "advancements.adventure.kill_all_mobs.description": "Kill one of every hostile monster", + "advancements.adventure.kill_a_mob.title": "Monster Hunter", + "advancements.adventure.kill_a_mob.description": "Kill any hostile monster", + "advancements.adventure.ol_betsy.title": "Ol' Betsy", + "advancements.adventure.ol_betsy.description": "Shoot a crossbow", + "advancements.adventure.root.title": "Adventure", + "advancements.adventure.root.description": "Adventure, exploration and combat", + "advancements.adventure.shoot_arrow.title": "Take Aim", + "advancements.adventure.shoot_arrow.description": "Shoot something with an arrow", + "advancements.adventure.sleep_in_bed.title": "Sweet Dreams", + "advancements.adventure.sleep_in_bed.description": "Sleep in a bed to change your respawn point", + "advancements.adventure.sniper_duel.title": "Sniper Duel", + "advancements.adventure.sniper_duel.description": "Kill a Skeleton from at least 50 meters away", + "advancements.adventure.summon_iron_golem.title": "Hired Help", + "advancements.adventure.summon_iron_golem.description": "Summon an Iron Golem to help defend a village", + "advancements.adventure.totem_of_undying.title": "Postmortal", + "advancements.adventure.totem_of_undying.description": "Use a Totem of Undying to cheat death", + "advancements.adventure.trade.title": "What a Deal!", + "advancements.adventure.trade.description": "Successfully trade with a Villager", + "advancements.adventure.throw_trident.title": "A Throwaway Joke", + "advancements.adventure.throw_trident.description": "Throw a trident at something.\nNote: Throwing away your only weapon is not a good idea.", + "advancements.adventure.two_birds_one_arrow.title": "Two Birds, One Arrow", + "advancements.adventure.two_birds_one_arrow.description": "Kill two Phantoms with a piercing arrow", + "advancements.adventure.very_very_frightening.title": "Very Very Frightening", + "advancements.adventure.very_very_frightening.description": "Strike a Villager with lightning", + "advancements.adventure.voluntary_exile.title": "Voluntary Exile", + "advancements.adventure.voluntary_exile.description": "Kill a raid captain.\nMaybe consider staying away from villages for the time being...", + "advancements.adventure.whos_the_pillager_now.title": "Who's the Pillager Now?", + "advancements.adventure.whos_the_pillager_now.description": "Give a Pillager a taste of their own medicine", + "advancements.husbandry.root.title": "Husbandry", + "advancements.husbandry.root.description": "The world is full of friends and food", + "advancements.husbandry.breed_an_animal.title": "The Parrots and the Bats", + "advancements.husbandry.breed_an_animal.description": "Breed two animals together", + "advancements.husbandry.fishy_business.title": "Fishy Business", + "advancements.husbandry.fishy_business.description": "Catch a fish", + "advancements.husbandry.tactical_fishing.title": "Tactical Fishing", + "advancements.husbandry.tactical_fishing.description": "Catch a fish... without a fishing rod!", + "advancements.husbandry.breed_all_animals.title": "Two by Two", + "advancements.husbandry.breed_all_animals.description": "Breed all the animals!", + "advancements.husbandry.tame_an_animal.title": "Best Friends Forever", + "advancements.husbandry.tame_an_animal.description": "Tame an animal", + "advancements.husbandry.plant_seed.title": "A Seedy Place", + "advancements.husbandry.plant_seed.description": "Plant a seed and watch it grow", + "advancements.husbandry.netherite_hoe.title": "Serious Dedication", + "advancements.husbandry.netherite_hoe.description": "Use a Netherite ingot to upgrade a hoe, and then reevaluate your life choices", + "advancements.husbandry.balanced_diet.title": "A Balanced Diet", + "advancements.husbandry.balanced_diet.description": "Eat everything that is edible, even if it's not good for you", + "advancements.husbandry.complete_catalogue.title": "A Complete Catalogue", + "advancements.husbandry.complete_catalogue.description": "Tame all cat variants!", + "advancements.husbandry.safely_harvest_honey.title": "Bee Our Guest", + "advancements.husbandry.safely_harvest_honey.description": "Use a Campfire to collect Honey from a Beehive using a Bottle without aggravating the bees", + "advancements.husbandry.silk_touch_nest.title": "Total Beelocation", + "advancements.husbandry.silk_touch_nest.description": "Move a Bee Nest, with 3 bees inside, using Silk Touch", + "advancements.end.dragon_breath.title": "You Need a Mint", + "advancements.end.dragon_breath.description": "Collect dragon's breath in a glass bottle", + "advancements.end.dragon_egg.title": "The Next Generation", + "advancements.end.dragon_egg.description": "Hold the Dragon Egg", + "advancements.end.elytra.title": "Sky's the Limit", + "advancements.end.elytra.description": "Find elytra", + "advancements.end.enter_end_gateway.title": "Remote Getaway", + "advancements.end.enter_end_gateway.description": "Escape the island", + "advancements.end.find_end_city.title": "The City at the End of the Game", + "advancements.end.find_end_city.description": "Go on in, what could happen?", + "advancements.end.kill_dragon.title": "Free the End", + "advancements.end.kill_dragon.description": "Good luck", + "advancements.end.levitate.title": "Great View From Up Here", + "advancements.end.levitate.description": "Levitate up 50 blocks from the attacks of a Shulker", + "advancements.end.respawn_dragon.title": "The End... Again...", + "advancements.end.respawn_dragon.description": "Respawn the Ender Dragon", + "advancements.end.root.title": "The End", + "advancements.end.root.description": "Or the beginning?", + "advancements.nether.brew_potion.title": "Local Brewery", + "advancements.nether.brew_potion.description": "Brew a potion", + "advancements.nether.all_potions.title": "A Furious Cocktail", + "advancements.nether.all_potions.description": "Have every potion effect applied at the same time", + "advancements.nether.all_effects.title": "How Did We Get Here?", + "advancements.nether.all_effects.description": "Have every effect applied at the same time", + "advancements.nether.create_beacon.title": "Bring Home the Beacon", + "advancements.nether.create_beacon.description": "Construct and place a Beacon", + "advancements.nether.create_full_beacon.title": "Beaconator", + "advancements.nether.create_full_beacon.description": "Bring a beacon to full power", + "advancements.nether.find_fortress.title": "A Terrible Fortress", + "advancements.nether.find_fortress.description": "Break your way into a Nether Fortress", + "advancements.nether.get_wither_skull.title": "Spooky Scary Skeleton", + "advancements.nether.get_wither_skull.description": "Obtain a Wither Skeleton's skull", + "advancements.nether.obtain_blaze_rod.title": "Into Fire", + "advancements.nether.obtain_blaze_rod.description": "Relieve a Blaze of its rod", + "advancements.nether.return_to_sender.title": "Return to Sender", + "advancements.nether.return_to_sender.description": "Destroy a Ghast with a fireball", + "advancements.nether.root.title": "Nether", + "advancements.nether.root.description": "Bring summer clothes", + "advancements.nether.summon_wither.title": "Withering Heights", + "advancements.nether.summon_wither.description": "Summon the Wither", + "advancements.nether.fast_travel.title": "Subspace Bubble", + "advancements.nether.fast_travel.description": "Use the Nether to travel 7 km in the Overworld", + "advancements.nether.uneasy_alliance.title": "Uneasy Alliance", + "advancements.nether.uneasy_alliance.description": "Rescue a Ghast from the Nether, bring it safely home to the Overworld... and then kill it", + "advancements.nether.obtain_ancient_debris.title": "Hidden in the Depths", + "advancements.nether.obtain_ancient_debris.description": "Obtain Ancient Debris", + "advancements.nether.netherite_armor.title": "Cover Me in Debris", + "advancements.nether.netherite_armor.description": "Get a full suit of Netherite armor", + "advancements.nether.use_lodestone.title": "Country Lode, Take Me Home", + "advancements.nether.use_lodestone.description": "Use a Compass on a Lodestone", + "advancements.nether.obtain_crying_obsidian.title": "Who is Cutting Onions?", + "advancements.nether.obtain_crying_obsidian.description": "Obtain Crying Obsidian", + "advancements.nether.charge_respawn_anchor.title": "Not Quite \"Nine\" Lives", + "advancements.nether.charge_respawn_anchor.description": "Charge a Respawn Anchor to the maximum", + "advancements.nether.ride_strider.title": "This Boat Has Legs", + "advancements.nether.ride_strider.description": "Ride a Strider with a Warped Fungus on a Stick", + "advancements.nether.explore_nether.title": "Hot Tourist Destinations", + "advancements.nether.explore_nether.description": "Explore all Nether biomes", + "advancements.nether.find_bastion.title": "Those Were the Days", + "advancements.nether.find_bastion.description": "Enter a Bastion Remnant", + "advancements.nether.loot_bastion.title": "War Pigs", + "advancements.nether.loot_bastion.description": "Loot a chest in a Bastion Remnant", + "advancements.nether.distract_piglin.title": "Oh Shiny", + "advancements.nether.distract_piglin.description": "Distract Piglins with gold", + "advancements.story.cure_zombie_villager.title": "Zombie Doctor", + "advancements.story.cure_zombie_villager.description": "Weaken and then cure a Zombie Villager", + "advancements.story.deflect_arrow.title": "Not Today, Thank You", + "advancements.story.deflect_arrow.description": "Deflect a projectile with a shield", + "advancements.story.enchant_item.title": "Enchanter", + "advancements.story.enchant_item.description": "Enchant an item at an Enchanting Table", + "advancements.story.enter_the_end.title": "The End?", + "advancements.story.enter_the_end.description": "Enter the End Portal", + "advancements.story.enter_the_nether.title": "We Need to Go Deeper", + "advancements.story.enter_the_nether.description": "Build, light and enter a Nether Portal", + "advancements.story.follow_ender_eye.title": "Eye Spy", + "advancements.story.follow_ender_eye.description": "Follow an Eye of Ender", + "advancements.story.form_obsidian.title": "Ice Bucket Challenge", + "advancements.story.form_obsidian.description": "Obtain a block of obsidian", + "advancements.story.iron_tools.title": "Isn't It Iron Pick", + "advancements.story.iron_tools.description": "Upgrade your pickaxe", + "advancements.story.lava_bucket.title": "Hot Stuff", + "advancements.story.lava_bucket.description": "Fill a bucket with lava", + "advancements.story.mine_diamond.title": "Diamonds!", + "advancements.story.mine_diamond.description": "Acquire diamonds", + "advancements.story.mine_stone.title": "Stone Age", + "advancements.story.mine_stone.description": "Mine stone with your new pickaxe", + "advancements.story.obtain_armor.title": "Suit Up", + "advancements.story.obtain_armor.description": "Protect yourself with a piece of iron armor", + "advancements.story.root.title": "Minecraft", + "advancements.story.root.description": "The heart and story of the game", + "advancements.story.shiny_gear.title": "Cover Me With Diamonds", + "advancements.story.shiny_gear.description": "Diamond armor saves lives", + "advancements.story.smelt_iron.title": "Acquire Hardware", + "advancements.story.smelt_iron.description": "Smelt an iron ingot", + "advancements.story.upgrade_tools.title": "Getting an Upgrade", + "advancements.story.upgrade_tools.description": "Construct a better pickaxe", + "team.visibility.always": "Always", + "team.visibility.never": "Never", + "team.visibility.hideForOtherTeams": "Hide for other teams", + "team.visibility.hideForOwnTeam": "Hide for own team", + "team.collision.always": "Always", + "team.collision.never": "Never", + "team.collision.pushOtherTeams": "Push other teams", + "team.collision.pushOwnTeam": "Push own team", + "argument.uuid.invalid": "Invalid UUID", + "argument.entity.selector.nearestPlayer": "Nearest player", + "argument.entity.selector.randomPlayer": "Random player", + "argument.entity.selector.allPlayers": "All players", + "argument.entity.selector.allEntities": "All entities", + "argument.entity.selector.self": "Current entity", + "argument.entity.options.name.description": "Entity name", + "argument.entity.options.distance.description": "Distance to entity", + "argument.entity.options.level.description": "Experience level", + "argument.entity.options.x.description": "x position", + "argument.entity.options.y.description": "y position", + "argument.entity.options.z.description": "z position", + "argument.entity.options.dx.description": "Entities between x and x + dx", + "argument.entity.options.dy.description": "Entities between y and y + dy", + "argument.entity.options.dz.description": "Entities between z and z + dz", + "argument.entity.options.x_rotation.description": "Entity's x rotation", + "argument.entity.options.y_rotation.description": "Entity's y rotation", + "argument.entity.options.limit.description": "Maximum number of entities to return", + "argument.entity.options.sort.description": "Sort the entities", + "argument.entity.options.gamemode.description": "Players with gamemode", + "argument.entity.options.team.description": "Entities on team", + "argument.entity.options.type.description": "Entities of type", + "argument.entity.options.tag.description": "Entities with tag", + "argument.entity.options.nbt.description": "Entities with NBT", + "argument.entity.options.scores.description": "Entities with scores", + "argument.entity.options.advancements.description": "Players with advancements", + "argument.entity.options.predicate.description": "Custom predicate", + "command.failed": "An unexpected error occurred trying to execute that command", + "command.context.here": "<--[HERE]", + "commands.publish.started": "Local game hosted on port %s", + "commands.publish.failed": "Unable to host local game", + "commands.advancement.advancementNotFound": "No advancement was found by the name '%1$s'", + "commands.advancement.criterionNotFound": "The advancement %1$s does not contain the criterion '%2$s'", + "commands.advancement.grant.one.to.one.success": "Granted the advancement %s to %s", + "commands.advancement.grant.one.to.one.failure": "Couldn't grant advancement %s to %s as they already have it", + "commands.advancement.grant.one.to.many.success": "Granted the advancement %s to %s players", + "commands.advancement.grant.one.to.many.failure": "Couldn't grant advancement %s to %s players as they already have it", + "commands.advancement.grant.many.to.one.success": "Granted %s advancements to %s", + "commands.advancement.grant.many.to.one.failure": "Couldn't grant %s advancements to %s as they already have them", + "commands.advancement.grant.many.to.many.success": "Granted %s advancements to %s players", + "commands.advancement.grant.many.to.many.failure": "Couldn't grant %s advancements to %s players as they already have them", + "commands.advancement.grant.criterion.to.one.success": "Granted criterion '%s' of advancement %s to %s", + "commands.advancement.grant.criterion.to.one.failure": "Couldn't grant criterion '%s' of advancement %s to %s as they already have it", + "commands.advancement.grant.criterion.to.many.success": "Granted criterion '%s' of advancement %s to %s players", + "commands.advancement.grant.criterion.to.many.failure": "Couldn't grant criterion '%s' of advancement %s to %s players as they already have it", + "commands.advancement.revoke.one.to.one.success": "Revoked the advancement %s from %s", + "commands.advancement.revoke.one.to.one.failure": "Couldn't revoke advancement %s from %s as they don't have it", + "commands.advancement.revoke.one.to.many.success": "Revoked the advancement %s from %s players", + "commands.advancement.revoke.one.to.many.failure": "Couldn't revoke advancement %s from %s players as they don't have it", + "commands.advancement.revoke.many.to.one.success": "Revoked %s advancements from %s", + "commands.advancement.revoke.many.to.one.failure": "Couldn't revoke %s advancements from %s as they don't have them", + "commands.advancement.revoke.many.to.many.success": "Revoked %s advancements from %s players", + "commands.advancement.revoke.many.to.many.failure": "Couldn't revoke %s advancements from %s players as they don't have them", + "commands.advancement.revoke.criterion.to.one.success": "Revoked criterion '%s' of advancement %s from %s", + "commands.advancement.revoke.criterion.to.one.failure": "Couldn't revoke criterion '%s' of advancement %s from %s as they don't have it", + "commands.advancement.revoke.criterion.to.many.success": "Revoked criterion '%s' of advancement %s from %s players", + "commands.advancement.revoke.criterion.to.many.failure": "Couldn't revoke criterion '%s' of advancement %s from %s players as they don't have it", + "commands.attribute.failed.entity": "%s is not a valid entity for this command", + "commands.attribute.failed.no_attribute": "Entity %s has no attribute %s", + "commands.attribute.failed.no_modifier": "Attribute %s for entity %s has no modifier %s", + "commands.attribute.failed.modifier_already_present": "Modifier %s is already present on attribute %s for entity %s", + "commands.attribute.value.get.success": "Value of attribute %s for entity %s is %s", + "commands.attribute.base_value.get.success": "Base value of attribute %s for entity %s is %s", + "commands.attribute.base_value.set.success": "Base value for attribute %s for entity %s set to %s", + "commands.attribute.modifier.add.success": "Added modifier %s to attribute %s for entity %s", + "commands.attribute.modifier.remove.success": "Removed modifier %s from attribute %s for entity %s", + "commands.attribute.modifier.value.get.success": "Value of modifier %s on attribute %s for entity %s is %s", + "commands.forceload.added.failure": "No chunks were marked for force loading", + "commands.forceload.added.single": "Marked chunk %s in %s to be force loaded", + "commands.forceload.added.multiple": "Marked %s chunks in %s from %s to %s to be force loaded", + "commands.forceload.query.success": "Chunk at %s in %s is marked for force loading", + "commands.forceload.query.failure": "Chunk at %s in %s is not marked for force loading", + "commands.forceload.list.single": "A force loaded chunk was found in %s at: %s", + "commands.forceload.list.multiple": "%s force loaded chunks were found in %s at: %s", + "commands.forceload.added.none": "No force loaded chunks were found in %s", + "commands.forceload.removed.all": "Unmarked all force loaded chunks in %s", + "commands.forceload.removed.failure": "No chunks were removed from force loading", + "commands.forceload.removed.single": "Unmarked chunk %s in %s for force loading", + "commands.forceload.removed.multiple": "Unmarked %s chunks in %s from %s to %s for force loading", + "commands.forceload.toobig": "Too many chunks in the specified area (maximum %s, specified %s)", + "commands.clear.success.single": "Removed %s items from player %s", + "commands.clear.success.multiple": "Removed %s items from %s players", + "commands.clear.test.single": "Found %s matching items on player %s", + "commands.clear.test.multiple": "Found %s matching items on %s players", + "commands.clone.success": "Successfully cloned %s blocks", + "commands.debug.started": "Started debug profiling", + "commands.debug.stopped": "Stopped debug profiling after %s seconds and %s ticks (%s ticks per second)", + "commands.debug.reportSaved": "Created debug report in %s", + "commands.debug.reportFailed": "Failed to create debug report", + "commands.defaultgamemode.success": "The default game mode is now %s", + "commands.difficulty.success": "The difficulty has been set to %s", + "commands.difficulty.query": "The difficulty is %s", + "commands.drop.no_held_items": "Entity can't hold any items", + "commands.drop.no_loot_table": "Entity %s has no loot table", + "commands.drop.success.single": "Dropped %s %s", + "commands.drop.success.single_with_table": "Dropped %s %s from loot table %s", + "commands.drop.success.multiple": "Dropped %s items", + "commands.drop.success.multiple_with_table": "Dropped %s items from loot table %s", + "commands.effect.give.success.single": "Applied effect %s to %s", + "commands.effect.give.success.multiple": "Applied effect %s to %s targets", + "commands.effect.clear.everything.success.single": "Removed every effect from %s", + "commands.effect.clear.everything.success.multiple": "Removed every effect from %s targets", + "commands.effect.clear.specific.success.single": "Removed effect %s from %s", + "commands.effect.clear.specific.success.multiple": "Removed effect %s from %s targets", + "commands.enchant.success.single": "Applied enchantment %s to %s's item", + "commands.enchant.success.multiple": "Applied enchantment %s to %s entities", + "commands.experience.add.points.success.single": "Gave %s experience points to %s", + "commands.experience.add.points.success.multiple": "Gave %s experience points to %s players", + "commands.experience.add.levels.success.single": "Gave %s experience levels to %s", + "commands.experience.add.levels.success.multiple": "Gave %s experience levels to %s players", + "commands.experience.set.points.success.single": "Set %s experience points on %s", + "commands.experience.set.points.success.multiple": "Set %s experience points on %s players", + "commands.experience.set.levels.success.single": "Set %s experience levels on %s", + "commands.experience.set.levels.success.multiple": "Set %s experience levels on %s players", + "commands.experience.query.points": "%s has %s experience points", + "commands.experience.query.levels": "%s has %s experience levels", + "commands.fill.success": "Successfully filled %s blocks", + "commands.function.success.single": "Executed %s commands from function '%s'", + "commands.function.success.multiple": "Executed %s commands from %s functions", + "commands.give.success.single": "Gave %s %s to %s", + "commands.give.success.multiple": "Gave %s %s to %s players", + "commands.playsound.success.single": "Played sound %s to %s", + "commands.playsound.success.multiple": "Played sound %s to %s players", + "commands.publish.success": "Multiplayer game is now hosted on port %s", + "commands.list.players": "There are %s of a max of %s players online: %s", + "commands.kill.success.single": "Killed %s", + "commands.kill.success.multiple": "Killed %s entities", + "commands.kick.success": "Kicked %s: %s", + "commands.locate.success": "The nearest %s is at %s (%s blocks away)", + "commands.locatebiome.success": "The nearest %s is at %s (%s blocks away)", + "commands.message.display.outgoing": "You whisper to %s: %s", + "commands.message.display.incoming": "%s whispers to you: %s", + "commands.op.success": "Made %s a server operator", + "commands.deop.success": "Made %s no longer a server operator", + "commands.ban.success": "Banned %s: %s", + "commands.pardon.success": "Unbanned %s", + "commands.particle.success": "Displaying particle %s", + "commands.seed.success": "Seed: %s", + "commands.stop.stopping": "Stopping the server", + "commands.time.query": "The time is %s", + "commands.time.set": "Set the time to %s", + "commands.schedule.created.function": "Scheduled function '%s' in %s ticks at gametime %s", + "commands.schedule.created.tag": "Scheduled tag '%s' in %s ticks at gametime %s", + "commands.schedule.cleared.success": "Removed %s schedules with id %s", + "commands.schedule.cleared.failure": "No schedules with id %s", + "commands.schedule.same_tick": "Can't schedule for current tick", + "commands.gamemode.success.self": "Set own game mode to %s", + "commands.gamemode.success.other": "Set %s's game mode to %s", + "commands.gamerule.query": "Gamerule %s is currently set to: %s", + "commands.gamerule.set": "Gamerule %s is now set to: %s", + "commands.save.disabled": "Automatic saving is now disabled", + "commands.save.enabled": "Automatic saving is now enabled", + "commands.save.saving": "Saving the game (this may take a moment!)", + "commands.save.success": "Saved the game", + "commands.setidletimeout.success": "The player idle timeout is now %s minutes", + "commands.banlist.none": "There are no bans", + "commands.banlist.list": "There are %s bans:", + "commands.banlist.entry": "%s was banned by %s: %s", + "commands.bossbar.create.success": "Created custom bossbar %s", + "commands.bossbar.remove.success": "Removed custom bossbar %s", + "commands.bossbar.list.bars.none": "There are no custom bossbars active", + "commands.bossbar.list.bars.some": "There are %s custom bossbars active: %s", + "commands.bossbar.set.players.success.none": "Custom bossbar %s no longer has any players", + "commands.bossbar.set.players.success.some": "Custom bossbar %s now has %s players: %s", + "commands.bossbar.set.name.success": "Custom bossbar %s has been renamed", + "commands.bossbar.set.color.success": "Custom bossbar %s has changed color", + "commands.bossbar.set.style.success": "Custom bossbar %s has changed style", + "commands.bossbar.set.value.success": "Custom bossbar %s has changed value to %s", + "commands.bossbar.set.max.success": "Custom bossbar %s has changed maximum to %s", + "commands.bossbar.set.visible.success.visible": "Custom bossbar %s is now visible", + "commands.bossbar.set.visible.success.hidden": "Custom bossbar %s is now hidden", + "commands.bossbar.get.value": "Custom bossbar %s has a value of %s", + "commands.bossbar.get.max": "Custom bossbar %s has a maximum of %s", + "commands.bossbar.get.visible.visible": "Custom bossbar %s is currently shown", + "commands.bossbar.get.visible.hidden": "Custom bossbar %s is currently hidden", + "commands.bossbar.get.players.none": "Custom bossbar %s has no players currently online", + "commands.bossbar.get.players.some": "Custom bossbar %s has %s players currently online: %s", + "commands.recipe.give.success.single": "Unlocked %s recipes for %s", + "commands.recipe.give.success.multiple": "Unlocked %s recipes for %s players", + "commands.recipe.take.success.single": "Took %s recipes from %s", + "commands.recipe.take.success.multiple": "Took %s recipes from %s players", + "commands.summon.success": "Summoned new %s", + "commands.whitelist.enabled": "Whitelist is now turned on", + "commands.whitelist.disabled": "Whitelist is now turned off", + "commands.whitelist.none": "There are no whitelisted players", + "commands.whitelist.list": "There are %s whitelisted players: %s", + "commands.whitelist.add.success": "Added %s to the whitelist", + "commands.whitelist.remove.success": "Removed %s from the whitelist", + "commands.whitelist.reloaded": "Reloaded the whitelist", + "commands.weather.set.clear": "Set the weather to clear", + "commands.weather.set.rain": "Set the weather to rain", + "commands.weather.set.thunder": "Set the weather to rain & thunder", + "commands.spawnpoint.success.single": "Set spawn point to %s, %s, %s in %s for %s", + "commands.spawnpoint.success.multiple": "Set spawn point to %s, %s, %s in %s for %s players", + "commands.stopsound.success.source.sound": "Stopped sound '%s' on source '%s'", + "commands.stopsound.success.source.any": "Stopped all '%s' sounds", + "commands.stopsound.success.sourceless.sound": "Stopped sound '%s'", + "commands.stopsound.success.sourceless.any": "Stopped all sounds", + "commands.setworldspawn.success": "Set the world spawn point to %s, %s, %s", + "commands.spreadplayers.success.teams": "Spread %s teams around %s, %s with an average distance of %s blocks apart", + "commands.spreadplayers.success.entities": "Spread %s players around %s, %s with an average distance of %s blocks apart", + "commands.setblock.success": "Changed the block at %s, %s, %s", + "commands.banip.success": "Banned IP %s: %s", + "commands.banip.info": "This ban affects %s players: %s", + "commands.pardonip.success": "Unbanned IP %s", + "commands.teleport.success.entity.single": "Teleported %s to %s", + "commands.teleport.success.entity.multiple": "Teleported %s entities to %s", + "commands.teleport.success.location.single": "Teleported %s to %s, %s, %s", + "commands.teleport.success.location.multiple": "Teleported %s entities to %s, %s, %s", + "commands.teleport.invalidPosition": "Invalid position for teleport", + "commands.title.cleared.single": "Cleared titles for %s", + "commands.title.cleared.multiple": "Cleared titles for %s players", + "commands.title.reset.single": "Reset title options for %s", + "commands.title.reset.multiple": "Reset title options for %s players", + "commands.title.show.title.single": "Showing new title for %s", + "commands.title.show.title.multiple": "Showing new title for %s players", + "commands.title.show.subtitle.single": "Showing new subtitle for %s", + "commands.title.show.subtitle.multiple": "Showing new subtitle for %s players", + "commands.title.show.actionbar.single": "Showing new actionbar title for %s", + "commands.title.show.actionbar.multiple": "Showing new actionbar title for %s players", + "commands.title.times.single": "Changed title display times for %s", + "commands.title.times.multiple": "Changed title display times for %s players", + "commands.worldborder.set.grow": "Growing the world border to %s blocks wide over %s seconds", + "commands.worldborder.set.shrink": "Shrinking the world border to %s blocks wide over %s seconds", + "commands.worldborder.set.immediate": "Set the world border to %s blocks wide", + "commands.worldborder.center.success": "Set the center of the world border to %s, %s", + "commands.worldborder.get": "The world border is currently %s blocks wide", + "commands.worldborder.damage.buffer.success": "Set the world border damage buffer to %s blocks", + "commands.worldborder.damage.amount.success": "Set the world border damage to %s per block each second", + "commands.worldborder.warning.time.success": "Set the world border warning time to %s seconds", + "commands.worldborder.warning.distance.success": "Set the world border warning distance to %s blocks", + "commands.replaceitem.block.success": "Replaced a slot at %s, %s, %s with %s", + "commands.replaceitem.entity.success.single": "Replaced a slot on %s with %s", + "commands.replaceitem.entity.success.multiple": "Replaced a slot on %s entities with %s", + "commands.tag.add.success.single": "Added tag '%s' to %s", + "commands.tag.add.success.multiple": "Added tag '%s' to %s entities", + "commands.tag.remove.success.single": "Removed tag '%s' from %s", + "commands.tag.remove.success.multiple": "Removed tag '%s' from %s entities", + "commands.tag.list.single.empty": "%s has no tags", + "commands.tag.list.single.success": "%s has %s tags: %s", + "commands.tag.list.multiple.empty": "There are no tags on the %s entities", + "commands.tag.list.multiple.success": "The %s entities have %s total tags: %s", + "commands.team.list.members.empty": "There are no members on team %s", + "commands.team.list.members.success": "Team %s has %s members: %s", + "commands.team.list.teams.empty": "There are no teams", + "commands.team.list.teams.success": "There are %s teams: %s", + "commands.team.add.success": "Created team %s", + "commands.team.remove.success": "Removed team %s", + "commands.team.empty.success": "Removed %s members from team %s", + "commands.team.option.color.success": "Updated the color for team %s to %s", + "commands.team.option.name.success": "Updated the name of team %s", + "commands.team.option.friendlyfire.enabled": "Enabled friendly fire for team %s", + "commands.team.option.friendlyfire.disabled": "Disabled friendly fire for team %s", + "commands.team.option.seeFriendlyInvisibles.enabled": "Team %s can now see invisible teammates", + "commands.team.option.seeFriendlyInvisibles.disabled": "Team %s can no longer see invisible teammates", + "commands.team.option.nametagVisibility.success": "Nametag visibility for team %s is now \"%s\"", + "commands.team.option.deathMessageVisibility.success": "Death message visibility for team %s is now \"%s\"", + "commands.team.option.collisionRule.success": "Collision rule for team %s is now \"%s\"", + "commands.team.option.prefix.success": "Team prefix set to %s", + "commands.team.option.suffix.success": "Team suffix set to %s", + "commands.team.join.success.single": "Added %s to team %s", + "commands.team.join.success.multiple": "Added %s members to team %s", + "commands.team.leave.success.single": "Removed %s from any team", + "commands.team.leave.success.multiple": "Removed %s members from any team", + "commands.trigger.simple.success": "Triggered %s", + "commands.trigger.add.success": "Triggered %s (added %s to value)", + "commands.trigger.set.success": "Triggered %s (set value to %s)", + "commands.scoreboard.objectives.list.empty": "There are no objectives", + "commands.scoreboard.objectives.list.success": "There are %s objectives: %s", + "commands.scoreboard.objectives.add.success": "Created new objective %s", + "commands.scoreboard.objectives.remove.success": "Removed objective %s", + "commands.scoreboard.objectives.display.cleared": "Cleared any objectives in display slot %s", + "commands.scoreboard.objectives.display.set": "Set display slot %s to show objective %s", + "commands.scoreboard.objectives.modify.displayname": "Changed the display name of %s to %s", + "commands.scoreboard.objectives.modify.rendertype": "Changed the render type of objective %s", + "commands.scoreboard.players.list.empty": "There are no tracked entities", + "commands.scoreboard.players.list.success": "There are %s tracked entities: %s", + "commands.scoreboard.players.list.entity.empty": "%s has no scores to show", + "commands.scoreboard.players.list.entity.success": "%s has %s scores:", + "commands.scoreboard.players.list.entity.entry": "%s: %s", + "commands.scoreboard.players.set.success.single": "Set %s for %s to %s", + "commands.scoreboard.players.set.success.multiple": "Set %s for %s entities to %s", + "commands.scoreboard.players.add.success.single": "Added %s to %s for %s (now %s)", + "commands.scoreboard.players.add.success.multiple": "Added %s to %s for %s entities", + "commands.scoreboard.players.remove.success.single": "Removed %s from %s for %s (now %s)", + "commands.scoreboard.players.remove.success.multiple": "Removed %s from %s for %s entities", + "commands.scoreboard.players.reset.all.single": "Reset all scores for %s", + "commands.scoreboard.players.reset.all.multiple": "Reset all scores for %s entities", + "commands.scoreboard.players.reset.specific.single": "Reset %s for %s", + "commands.scoreboard.players.reset.specific.multiple": "Reset %s for %s entities", + "commands.scoreboard.players.enable.success.single": "Enabled trigger %s for %s", + "commands.scoreboard.players.enable.success.multiple": "Enabled trigger %s for %s entities", + "commands.scoreboard.players.operation.success.single": "Set %s for %s to %s", + "commands.scoreboard.players.operation.success.multiple": "Updated %s for %s entities", + "commands.scoreboard.players.get.success": "%s has %s %s", + "commands.reload.success": "Reloading!", + "commands.reload.failure": "Reload failed, keeping old data", + "commands.data.entity.modified": "Modified entity data of %s", + "commands.data.entity.query": "%s has the following entity data: %s", + "commands.data.entity.get": "%s on %s after scale factor of %s is %s", + "commands.data.block.modified": "Modified block data of %s, %s, %s", + "commands.data.block.query": "%s, %s, %s has the following block data: %s", + "commands.data.block.get": "%s on block %s, %s, %s after scale factor of %s is %s", + "commands.data.storage.modified": "Modified storage %s", + "commands.data.storage.query": "Storage %s has the following contents: %s", + "commands.data.storage.get": "%s in storage %s after scale factor of %s is %s", + "commands.datapack.list.enabled.success": "There are %s data packs enabled: %s", + "commands.datapack.list.enabled.none": "There are no data packs enabled", + "commands.datapack.list.available.success": "There are %s data packs available: %s", + "commands.datapack.list.available.none": "There are no more data packs available", + "commands.datapack.modify.enable": "Enabling data pack %s", + "commands.datapack.modify.disable": "Disabling data pack %s", + "commands.spectate.success.stopped": "No longer spectating an entity", + "commands.spectate.success.started": "Now spectating %s", + "commands.spectate.not_spectator": "%s is not in spectator mode", + "commands.spectate.self": "Cannot spectate yourself", + "argument.range.empty": "Expected value or range of values", + "argument.range.ints": "Only whole numbers allowed, not decimals", + "argument.range.swapped": "Min cannot be bigger than max", + "permissions.requires.player": "A player is required to run this command here", + "permissions.requires.entity": "An entity is required to run this command here", + "argument.entity.toomany": "Only one entity is allowed, but the provided selector allows more than one", + "argument.player.toomany": "Only one player is allowed, but the provided selector allows more than one", + "argument.player.entities": "Only players may be affected by this command, but the provided selector includes entities", + "argument.entity.notfound.entity": "No entity was found", + "argument.entity.notfound.player": "No player was found", + "argument.player.unknown": "That player does not exist", + "arguments.nbtpath.node.invalid": "Invalid NBT path element", + "arguments.nbtpath.nothing_found": "Found no elements matching %s", + "arguments.operation.invalid": "Invalid operation", + "arguments.operation.div0": "Cannot divide by zero", + "argument.scoreHolder.empty": "No relevant score holders could be found", + "argument.block.tag.disallowed": "Tags aren't allowed here, only actual blocks", + "argument.block.property.unclosed": "Expected closing ] for block state properties", + "argument.pos.unloaded": "That position is not loaded", + "argument.pos.outofworld": "That position is out of this world!", + "argument.rotation.incomplete": "Incomplete (expected 2 coordinates)", + "arguments.swizzle.invalid": "Invalid swizzle, expected combination of 'x', 'y' and 'z'", + "argument.pos2d.incomplete": "Incomplete (expected 2 coordinates)", + "argument.pos3d.incomplete": "Incomplete (expected 3 coordinates)", + "argument.pos.mixed": "Cannot mix world & local coordinates (everything must either use ^ or not)", + "argument.pos.missing.double": "Expected a coordinate", + "argument.pos.missing.int": "Expected a block position", + "argument.item.tag.disallowed": "Tags aren't allowed here, only actual items", + "argument.entity.invalid": "Invalid name or UUID", + "argument.entity.selector.missing": "Missing selector type", + "argument.entity.selector.not_allowed": "Selector not allowed", + "argument.entity.options.unterminated": "Expected end of options", + "argument.entity.options.distance.negative": "Distance cannot be negative", + "argument.entity.options.level.negative": "Level shouldn't be negative", + "argument.entity.options.limit.toosmall": "Limit must be at least 1", + "argument.nbt.trailing": "Unexpected trailing data", + "argument.nbt.expected.key": "Expected key", + "argument.nbt.expected.value": "Expected value", + "argument.id.invalid": "Invalid ID", + "argument.time.invalid_unit": "Invalid unit", + "argument.time.invalid_tick_count": "Tick count must be non-negative", + "commands.banip.invalid": "Invalid IP address or unknown player", + "commands.banip.failed": "Nothing changed. That IP is already banned", + "commands.ban.failed": "Nothing changed. The player is already banned", + "commands.bossbar.set.players.unchanged": "Nothing changed. Those players are already on the bossbar with nobody to add or remove", + "commands.bossbar.set.name.unchanged": "Nothing changed. That's already the name of this bossbar", + "commands.bossbar.set.color.unchanged": "Nothing changed. That's already the color of this bossbar", + "commands.bossbar.set.style.unchanged": "Nothing changed. That's already the style of this bossbar", + "commands.bossbar.set.value.unchanged": "Nothing changed. That's already the value of this bossbar", + "commands.bossbar.set.max.unchanged": "Nothing changed. That's already the max of this bossbar", + "commands.bossbar.set.visibility.unchanged.hidden": "Nothing changed. The bossbar is already hidden", + "commands.bossbar.set.visibility.unchanged.visible": "Nothing changed. The bossbar is already visible", + "commands.clone.overlap": "The source and destination areas cannot overlap", + "commands.clone.failed": "No blocks were cloned", + "commands.debug.notRunning": "The debug profiler hasn't started", + "commands.debug.alreadyRunning": "The debug profiler is already started", + "commands.deop.failed": "Nothing changed. The player is not an operator", + "commands.effect.give.failed": "Unable to apply this effect (target is either immune to effects, or has something stronger)", + "commands.effect.clear.everything.failed": "Target has no effects to remove", + "commands.effect.clear.specific.failed": "Target doesn't have the requested effect", + "commands.enchant.failed": "Nothing changed. Targets either have no item in their hands or the enchantment could not be applied", + "commands.experience.set.points.invalid": "Cannot set experience points above the maximum points for the player's current level", + "commands.fill.failed": "No blocks were filled", + "commands.help.failed": "Unknown command or insufficient permissions", + "commands.locate.failed": "Could not find that structure nearby", + "commands.locatebiome.notFound": "Could not find a biome of type \"%s\" within reasonable distance", + "commands.locatebiome.invalid": "There is no biome with type \"%s\"", + "commands.op.failed": "Nothing changed. The player already is an operator", + "commands.pardon.failed": "Nothing changed. The player isn't banned", + "commands.pardonip.invalid": "Invalid IP address", + "commands.pardonip.failed": "Nothing changed. That IP isn't banned", + "commands.particle.failed": "The particle was not visible for anybody", + "commands.playsound.failed": "The sound is too far away to be heard", + "commands.recipe.give.failed": "No new recipes were learned", + "commands.recipe.take.failed": "No recipes could be forgotten", + "commands.replaceitem.block.failed": "The target block is not a container", + "commands.replaceitem.slot.inapplicable": "The target does not have slot %s", + "commands.replaceitem.entity.failed": "Could not put %s in slot %s", + "commands.save.failed": "Unable to save the game (is there enough disk space?)", + "commands.save.alreadyOff": "Saving is already turned off", + "commands.save.alreadyOn": "Saving is already turned on", + "commands.scoreboard.objectives.add.duplicate": "An objective already exists by that name", + "commands.scoreboard.objectives.display.alreadyEmpty": "Nothing changed. That display slot is already empty", + "commands.scoreboard.objectives.display.alreadySet": "Nothing changed. That display slot is already showing that objective", + "commands.scoreboard.players.enable.failed": "Nothing changed. That trigger is already enabled", + "commands.scoreboard.players.enable.invalid": "Enable only works on trigger-objectives", + "commands.setblock.failed": "Could not set the block", + "commands.summon.failed": "Unable to summon entity", + "commands.summon.invalidPosition": "Invalid position for summon", + "commands.tag.add.failed": "Target either already has the tag or has too many tags", + "commands.tag.remove.failed": "Target does not have this tag", + "commands.team.add.duplicate": "A team already exists by that name", + "commands.team.empty.unchanged": "Nothing changed. That team is already empty", + "commands.team.option.color.unchanged": "Nothing changed. That team already has that color", + "commands.team.option.name.unchanged": "Nothing changed. That team already has that name", + "commands.team.option.friendlyfire.alreadyEnabled": "Nothing changed. Friendly fire is already enabled for that team", + "commands.team.option.friendlyfire.alreadyDisabled": "Nothing changed. Friendly fire is already disabled for that team", + "commands.team.option.seeFriendlyInvisibles.alreadyEnabled": "Nothing changed. That team can already see invisible teammates", + "commands.team.option.seeFriendlyInvisibles.alreadyDisabled": "Nothing changed. That team already can't see invisible teammates", + "commands.team.option.nametagVisibility.unchanged": "Nothing changed. Nametag visibility is already that value", + "commands.team.option.deathMessageVisibility.unchanged": "Nothing changed. Death message visibility is already that value", + "commands.team.option.collisionRule.unchanged": "Nothing changed. Collision rule is already that value", + "commands.trigger.failed.unprimed": "You cannot trigger this objective yet", + "commands.trigger.failed.invalid": "You can only trigger objectives that are 'trigger' type", + "commands.whitelist.alreadyOn": "Whitelist is already turned on", + "commands.whitelist.alreadyOff": "Whitelist is already turned off", + "commands.whitelist.add.failed": "Player is already whitelisted", + "commands.whitelist.remove.failed": "Player is not whitelisted", + "commands.worldborder.center.failed": "Nothing changed. The world border is already centered there", + "commands.worldborder.set.failed.nochange": "Nothing changed. The world border is already that size", + "commands.worldborder.set.failed.small.": "World border cannot be smaller than 1 block wide", + "commands.worldborder.set.failed.big.": "World border cannot be bigger than 60,000,000 blocks wide", + "commands.worldborder.warning.time.failed": "Nothing changed. The world border warning is already that amount of time", + "commands.worldborder.warning.distance.failed": "Nothing changed. The world border warning is already that distance", + "commands.worldborder.damage.buffer.failed": "Nothing changed. The world border damage buffer is already that distance", + "commands.worldborder.damage.amount.failed": "Nothing changed. The world border damage is already that amount", + "commands.data.block.invalid": "The target block is not a block entity", + "commands.data.merge.failed": "Nothing changed. The specified properties already have these values", + "commands.data.modify.expected_list": "Expected list, got: %s", + "commands.data.modify.expected_object": "Expected object, got: %s", + "commands.data.modify.invalid_index": "Invalid list index: %s", + "commands.data.get.multiple": "This argument accepts a single NBT value", + "commands.data.entity.invalid": "Unable to modify player data", + "commands.teammsg.failed.noteam": "You must be on a team to message your team", + "argument.color.invalid": "Unknown color '%s'", + "argument.dimension.invalid": "Unknown dimension '%s'", + "argument.component.invalid": "Invalid chat component: %s", + "argument.anchor.invalid": "Invalid entity anchor position %s", + "enchantment.unknown": "Unknown enchantment: %s", + "lectern.take_book": "Take Book", + "effect.effectNotFound": "Unknown effect: %s", + "arguments.objective.notFound": "Unknown scoreboard objective '%s'", + "arguments.objective.readonly": "Scoreboard objective '%s' is read-only", + "commands.scoreboard.objectives.add.longName": "Objective names cannot be longer than %s characters", + "argument.criteria.invalid": "Unknown criterion '%s'", + "particle.notFound": "Unknown particle: %s", + "argument.id.unknown": "Unknown ID: %s", + "advancement.advancementNotFound": "Unknown advancement: %s", + "recipe.notFound": "Unknown recipe: %s", + "entity.notFound": "Unknown entity: %s", + "predicate.unknown": "Unknown predicate: %s", + "argument.scoreboardDisplaySlot.invalid": "Unknown display slot '%s'", + "slot.unknown": "Unknown slot '%s'", + "team.notFound": "Unknown team '%s'", + "arguments.block.tag.unknown": "Unknown block tag '%s'", + "argument.block.id.invalid": "Unknown block type '%s'", + "argument.block.property.unknown": "Block %s does not have property '%s'", + "argument.block.property.duplicate": "Property '%s' can only be set once for block %s", + "argument.block.property.invalid": "Block %s does not accept '%s' for %s property", + "argument.block.property.novalue": "Expected value for property '%s' on block %s", + "arguments.function.tag.unknown": "Unknown function tag '%s'", + "arguments.function.unknown": "Unknown function %s", + "arguments.item.overstacked": "%s can only stack up to %s", + "argument.item.id.invalid": "Unknown item '%s'", + "arguments.item.tag.unknown": "Unknown item tag '%s'", + "argument.entity.selector.unknown": "Unknown selector type '%s'", + "argument.entity.options.valueless": "Expected value for option '%s'", + "argument.entity.options.unknown": "Unknown option '%s'", + "argument.entity.options.inapplicable": "Option '%s' isn't applicable here", + "argument.entity.options.sort.irreversible": "Invalid or unknown sort type '%s'", + "argument.entity.options.mode.invalid": "Invalid or unknown game mode '%s'", + "argument.entity.options.type.invalid": "Invalid or unknown entity type '%s'", + "argument.nbt.list.mixed": "Can't insert %s into list of %s", + "argument.nbt.array.mixed": "Can't insert %s into %s", + "argument.nbt.array.invalid": "Invalid array type '%s'", + "commands.bossbar.create.failed": "A bossbar already exists with the ID '%s'", + "commands.bossbar.unknown": "No bossbar exists with the ID '%s'", + "clear.failed.single": "No items were found on player %s", + "clear.failed.multiple": "No items were found on %s players", + "commands.clone.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.datapack.unknown": "Unknown data pack '%s'", + "commands.datapack.enable.failed": "Pack '%s' is already enabled!", + "commands.datapack.disable.failed": "Pack '%s' is not enabled!", + "commands.difficulty.failure": "The difficulty did not change; it is already set to %s", + "commands.enchant.failed.entity": "%s is not a valid entity for this command", + "commands.enchant.failed.itemless": "%s is not holding any item", + "commands.enchant.failed.incompatible": "%s cannot support that enchantment", + "commands.enchant.failed.level": "%s is higher than the maximum level of %s supported by that enchantment", + "commands.execute.blocks.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.execute.conditional.pass": "Test passed", + "commands.execute.conditional.pass_count": "Test passed, count: %s", + "commands.execute.conditional.fail": "Test failed", + "commands.execute.conditional.fail_count": "Test failed, count: %s", + "commands.fill.toobig": "Too many blocks in the specified area (maximum %s, specified %s)", + "commands.publish.alreadyPublished": "Multiplayer game is already hosted on port %s", + "commands.scoreboard.players.get.null": "Can't get value of %s for %s; none is set", + "commands.spreadplayers.failed.teams": "Could not spread %s teams around %s, %s (too many entities for space - try using spread of at most %s)", + "commands.spreadplayers.failed.entities": "Could not spread %s entities around %s, %s (too many entities for space - try using spread of at most %s)", + "commands.team.add.longName": "Team names cannot be longer than %s characters", + "commands.data.get.invalid": "Can't get %s; only numeric tags are allowed", + "commands.data.get.unknown": "Can't get %s; tag doesn't exist", + "argument.double.low": "Double must not be less than %s, found %s", + "argument.double.big": "Double must not be more than %s, found %s", + "argument.float.low": "Float must not be less than %s, found %s", + "argument.float.big": "Float must not be more than %s, found %s", + "argument.integer.low": "Integer must not be less than %s, found %s", + "argument.integer.big": "Integer must not be more than %s, found %s", + "argument.long.low": "Long must not be less than %s, found %s", + "argument.long.big": "Long must not be more than %s, found %s", + "argument.literal.incorrect": "Expected literal %s", + "parsing.quote.expected.start": "Expected quote to start a string", + "parsing.quote.expected.end": "Unclosed quoted string", + "parsing.quote.escape": "Invalid escape sequence '\\%s' in quoted string", + "parsing.bool.invalid": "Invalid boolean, expected 'true' or 'false' but found '%s'", + "parsing.int.invalid": "Invalid integer '%s'", + "parsing.int.expected": "Expected integer", + "parsing.long.invalid": "Invalid long '%s'", + "parsing.long.expected": "Expected long", + "command.exception": "Could not parse command: %s", + "parsing.double.invalid": "Invalid double '%s'", + "parsing.double.expected": "Expected double", + "parsing.float.invalid": "Invalid float '%s'", + "parsing.float.expected": "Expected float", + "parsing.bool.expected": "Expected boolean", + "parsing.expected": "Expected '%s'", + "command.unknown.command": "Unknown or incomplete command, see below for error", + "command.unknown.argument": "Incorrect argument for command", + "command.expected.separator": "Expected whitespace to end one argument, but found trailing data", + "biome.minecraft.beach": "Beach", + "biome.minecraft.birch_forest": "Birch Forest", + "biome.minecraft.birch_forest_hills": "Birch Forest Hills", + "biome.minecraft.snowy_beach": "Snowy Beach", + "biome.minecraft.cold_ocean": "Cold Ocean", + "biome.minecraft.deep_cold_ocean": "Deep Cold Ocean", + "biome.minecraft.deep_frozen_ocean": "Deep Frozen Ocean", + "biome.minecraft.deep_lukewarm_ocean": "Deep Lukewarm Ocean", + "biome.minecraft.deep_ocean": "Deep Ocean", + "biome.minecraft.deep_warm_ocean": "Deep Warm Ocean", + "biome.minecraft.desert": "Desert", + "biome.minecraft.desert_hills": "Desert Hills", + "biome.minecraft.mountains": "Mountains", + "biome.minecraft.wooded_mountains": "Wooded Mountains", + "biome.minecraft.forest": "Forest", + "biome.minecraft.wooded_hills": "Wooded Hills", + "biome.minecraft.frozen_ocean": "Frozen Ocean", + "biome.minecraft.frozen_river": "Frozen River", + "biome.minecraft.nether_wastes": "Nether Wastes", + "biome.minecraft.snowy_tundra": "Snowy Tundra", + "biome.minecraft.snowy_mountains": "Snowy Mountains", + "biome.minecraft.jungle_edge": "Jungle Edge", + "biome.minecraft.jungle_hills": "Jungle Hills", + "biome.minecraft.jungle": "Jungle", + "biome.minecraft.lukewarm_ocean": "Lukewarm Ocean", + "biome.minecraft.badlands_plateau": "Badlands Plateau", + "biome.minecraft.badlands": "Badlands", + "biome.minecraft.wooded_badlands_plateau": "Wooded Badlands Plateau", + "biome.minecraft.mushroom_fields": "Mushroom Fields", + "biome.minecraft.mushroom_field_shore": "Mushroom Field Shore", + "biome.minecraft.tall_birch_hills": "Tall Birch Hills", + "biome.minecraft.tall_birch_forest": "Tall Birch Forest", + "biome.minecraft.desert_lakes": "Desert Lakes", + "biome.minecraft.gravelly_mountains": "Gravelly Mountains", + "biome.minecraft.modified_gravelly_mountains": "Gravelly Mountains+", + "biome.minecraft.flower_forest": "Flower Forest", + "biome.minecraft.ice_spikes": "Ice Spikes", + "biome.minecraft.modified_jungle_edge": "Modified Jungle Edge", + "biome.minecraft.modified_jungle": "Modified Jungle", + "biome.minecraft.modified_badlands_plateau": "Modified Badlands Plateau", + "biome.minecraft.eroded_badlands": "Eroded Badlands", + "biome.minecraft.modified_wooded_badlands_plateau": "Modified Wooded Badlands Plateau", + "biome.minecraft.sunflower_plains": "Sunflower Plains", + "biome.minecraft.giant_spruce_taiga_hills": "Giant Spruce Taiga Hills", + "biome.minecraft.giant_spruce_taiga": "Giant Spruce Taiga", + "biome.minecraft.dark_forest_hills": "Dark Forest Hills", + "biome.minecraft.shattered_savanna": "Shattered Savanna", + "biome.minecraft.shattered_savanna_plateau": "Shattered Savanna Plateau", + "biome.minecraft.swamp_hills": "Swamp Hills", + "biome.minecraft.snowy_taiga_mountains": "Snowy Taiga Mountains", + "biome.minecraft.taiga_mountains": "Taiga Mountains", + "biome.minecraft.ocean": "Ocean", + "biome.minecraft.plains": "Plains", + "biome.minecraft.giant_tree_taiga_hills": "Giant Tree Taiga Hills", + "biome.minecraft.giant_tree_taiga": "Giant Tree Taiga", + "biome.minecraft.river": "River", + "biome.minecraft.dark_forest": "Dark Forest", + "biome.minecraft.savanna_plateau": "Savanna Plateau", + "biome.minecraft.savanna": "Savanna", + "biome.minecraft.end_barrens": "End Barrens", + "biome.minecraft.end_highlands": "End Highlands", + "biome.minecraft.small_end_islands": "Small End Islands", + "biome.minecraft.end_midlands": "End Midlands", + "biome.minecraft.the_end": "The End", + "biome.minecraft.mountain_edge": "Mountain Edge", + "biome.minecraft.stone_shore": "Stone Shore", + "biome.minecraft.swamp": "Swamp", + "biome.minecraft.snowy_taiga": "Snowy Taiga", + "biome.minecraft.snowy_taiga_hills": "Snowy Taiga Hills", + "biome.minecraft.taiga_hills": "Taiga Hills", + "biome.minecraft.taiga": "Taiga", + "biome.minecraft.the_void": "The Void", + "biome.minecraft.warm_ocean": "Warm Ocean", + "biome.minecraft.bamboo_jungle": "Bamboo Jungle", + "biome.minecraft.bamboo_jungle_hills": "Bamboo Jungle Hills", + "biome.minecraft.soul_sand_valley": "Soul Sand Valley", + "biome.minecraft.warped_forest": "Warped Forest", + "biome.minecraft.crimson_forest": "Crimson Forest", + "biome.minecraft.basalt_deltas": "Basalt Deltas", + "realms.missing.module.error.text": "Realms could not be opened right now, please try again later", + "realms.missing.snapshot.error.text": "Realms is currently not supported in snapshots", + "color.minecraft.white": "White", + "color.minecraft.orange": "Orange", + "color.minecraft.magenta": "Magenta", + "color.minecraft.light_blue": "Light Blue", + "color.minecraft.yellow": "Yellow", + "color.minecraft.lime": "Lime", + "color.minecraft.pink": "Pink", + "color.minecraft.gray": "Gray", + "color.minecraft.light_gray": "Light Gray", + "color.minecraft.cyan": "Cyan", + "color.minecraft.purple": "Purple", + "color.minecraft.blue": "Blue", + "color.minecraft.brown": "Brown", + "color.minecraft.green": "Green", + "color.minecraft.red": "Red", + "color.minecraft.black": "Black", + "title.singleplayer": "Singleplayer", + "title.multiplayer.realms": "Multiplayer (Realms)", + "title.multiplayer.lan": "Multiplayer (LAN)", + "title.multiplayer.other": "Multiplayer (3rd-party Server)", + "gamerule.announceAdvancements": "Announce advancements", + "gamerule.commandBlockOutput": "Broadcast command block output", + "gamerule.disableElytraMovementCheck": "Disable elytra movement check", + "gamerule.disableRaids": "Disable raids", + "gamerule.doDaylightCycle": "Advance in-game time", + "gamerule.doEntityDrops": "Drop entity equipment", + "gamerule.doEntityDrops.description": "Controls drops from minecarts (including inventories), item frames, boats, etc.", + "gamerule.doFireTick": "Update fire", + "gamerule.doImmediateRespawn": "Respawn immediately", + "gamerule.doInsomnia": "Spawn phantoms", + "gamerule.doLimitedCrafting": "Require recipe for crafting", + "gamerule.doLimitedCrafting.description": "If enabled, players will be able to craft only unlocked recipes", + "gamerule.doMobLoot": "Drop mob loot", + "gamerule.doMobLoot.description": "Controls resource drops from mobs, including experience orbs", + "gamerule.doMobSpawning": "Spawn mobs", + "gamerule.doMobSpawning.description": "Some entities might have separate rules", + "gamerule.doPatrolSpawning": "Spawn pillager patrols", + "gamerule.doTileDrops": "Drop blocks", + "gamerule.doTileDrops.description": "Controls resource drops from blocks, including experience orbs", + "gamerule.doTraderSpawning": "Spawn wandering traders", + "gamerule.doWeatherCycle": "Update weather", + "gamerule.drowningDamage": "Deal drowning damage", + "gamerule.fallDamage": "Deal fall damage", + "gamerule.fireDamage": "Deal fire damage", + "gamerule.forgiveDeadPlayers": "Forgive dead players", + "gamerule.forgiveDeadPlayers.description": "Angered neutral mobs stop being angry when the targeted player dies nearby.", + "gamerule.keepInventory": "Keep inventory after death", + "gamerule.logAdminCommands": "Broadcast admin commands", + "gamerule.maxCommandChainLength": "Command chain size limit", + "gamerule.maxCommandChainLength.description": "Applies to command block chains and functions", + "gamerule.maxEntityCramming": "Entity cramming threshold", + "gamerule.mobGriefing": "Allow destructive mob actions", + "gamerule.naturalRegeneration": "Regenerate health", + "gamerule.randomTickSpeed": "Random tick speed rate", + "gamerule.reducedDebugInfo": "Reduce debug info", + "gamerule.reducedDebugInfo.description": "Limits contents of debug screen", + "gamerule.sendCommandFeedback": "Send command feedback", + "gamerule.showDeathMessages": "Show death messages", + "gamerule.spawnRadius": "Respawn location radius", + "gamerule.spectatorsGenerateChunks": "Allow spectators to generate terrain", + "gamerule.universalAnger": "Universal anger", + "gamerule.universalAnger.description": "Angered neutral mobs attack any nearby player, not just the player that angered them. Works best if forgiveDeadPlayers is disabled.", + "gamerule.category.chat": "Chat", + "gamerule.category.spawning": "Spawning", + "gamerule.category.updates": "World updates", + "gamerule.category.drops": "Drops", + "gamerule.category.mobs": "Mobs", + "gamerule.category.player": "Player", + "gamerule.category.misc": "Miscellaneous", + "pack.source.builtin": "built-in", + "pack.source.world": "world", + "pack.source.local": "local", + "pack.source.server": "server" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/materials.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/materials.json new file mode 100644 index 00000000..26976c96 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/materials.json @@ -0,0 +1,61 @@ +{ + "rock": { + "573": 6, + "589": 2, + "593": 4, + "597": 8, + "604": 12 + }, + "wood": { + "574": 6, + "590": 2, + "594": 4, + "598": 8, + "605": 12 + }, + "plant": { + "574": 6, + "586": 1.5, + "587": 1.5, + "590": 2, + "591": 1.5, + "594": 4, + "595": 1.5, + "598": 8, + "602": 1.5, + "605": 12 + }, + "melon": { + "586": 1.5, + "587": 1.5, + "591": 1.5, + "595": 1.5, + "602": 1.5 + }, + "leaves": { + "586": 1.5, + "587": 1.5, + "591": 1.5, + "595": 1.5, + "602": 1.5, + "734": 6 + }, + "dirt": { + "572": 6, + "588": 2, + "592": 4, + "596": 8, + "603": 12 + }, + "web": { + "586": 15, + "587": 15, + "591": 15, + "595": 15, + "602": 15, + "734": 15 + }, + "wool": { + "734": 4.8 + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/protocol.json new file mode 100644 index 00000000..35a40dfd --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/protocol.json @@ -0,0 +1,5141 @@ +{ + "types": { + "varint": "native", + "optvarint": "varint", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "topBitSetTerminatedArray": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "14": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "23": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "34": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle", + "16": [ + "container",[ + { + "name": "villagerType", + "type": "varint" + }, + { + "name": "villagerProfession", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ], + "17": "optvarint", + "18": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "difficultyLocked", + "type": "bool" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + }, + { + "name": "sender", + "type": "UUID" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "inventoryType", + "type": "varint" + }, + { + "name": "windowTitle", + "type": "string" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_open_horse_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "nbSlots", + "type": "varint" + }, + { + "name": "entityId", + "type": "i32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "ignoreOldData", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "heightmaps", + "type": "nbt" + }, + { + "name": "biomes", + "type": [ + "switch", + { + "compareTo": "groundUp", + "fields": { + "false": "void", + "true": ["array", { + "count": 1024, + "type": "i32" + }] + } + } + ] + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_update_light": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + }, + { + "name": "trustEdges", + "type": "bool" + }, + { + "name": "skyLightMask", + "type": "varint" + }, + { + "name": "blockLightMask", + "type": "varint" + }, + { + "name": "emptySkyLightMask", + "type": "varint" + }, + { + "name": "emptyBlockLightMask", + "type": "varint" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "previousGameMode", + "type": "u8" + }, + { + "name": "worldNames", + "type": ["array", { + "countType": "varint", + "type": "string" + }] + }, + { + "name": "dimensionCodec", + "type": "nbt" + }, + { + "name": "dimension", + "type": "string" + }, + { + "name": "worldName", + "type": "string" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "viewDistance", + "type": "varint" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + }, + { + "name": "enableRespawnScreen", + "type": "bool" + }, + { + "name": "isDebug", + "type": "bool" + }, + { + "name": "isFlat", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_trade_list": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "trades", + "type": [ + "array", + { + "countType": "u8", + "type": ["container", [ + { + "name": "inputItem1", + "type": "slot" + }, + { + "name": "outputItem", + "type": "slot" + }, + { + "name": "inputItem2", + "type": ["option", "slot"] + }, + { + "name": "tradeDisabled", + "type": "bool" + }, + { + "name": "nbTradeUses", + "type": "i32" + }, + { + "name": "maximumNbTradeUses", + "type": "i32" + }, + { + "name": "xp", + "type": "i32" + }, + { + "name": "specialPrice", + "type": "i32" + }, + { + "name": "priceMultiplier", + "type": "f32" + }, + { + "name": "demand", + "type": "i32" + } + ]] + } + ] + }, + { + "name": "villagerLevel", + "type": "varint" + }, + { + "name": "experience", + "type": "varint" + }, + { + "name": "isRegularVillager", + "type": "bool" + }, + { + "name": "canRestock", + "type": "bool" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_book": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "string" + }, + { + "name": "worldName", + "type": "string" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "previousGamemode", + "type": "u8" + }, + { + "name": "isDebug", + "type": "bool" + }, + { + "name": "isFlat", + "type": "bool" + }, + { + "name": "copyMetadata", + "type": "bool" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_update_view_position": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + } + ] + ], + "packet_update_view_distance": [ + "container", + [ + { + "name": "viewDistance", + "type": "varint" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "equipments", + "type": ["topBitSetTerminatedArray", { + "type": ["container", [ + { + "name": "slot", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ]] + }] + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "type", + "type": "string" + }, + { + "name": "recipeId", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "minecraft:crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_special_armordye": "void", + "minecraft:crafting_special_bookcloning": "void", + "minecraft:crafting_special_mapcloning": "void", + "minecraft:crafting_special_mapextending": "void", + "minecraft:crafting_special_firework_rocket": "void", + "minecraft:crafting_special_firework_star": "void", + "minecraft:crafting_special_firework_star_fade": "void", + "minecraft:crafting_special_repairitem": "void", + "minecraft:crafting_special_tippedarrow": "void", + "minecraft:crafting_special_bannerduplicate": "void", + "minecraft:crafting_special_banneraddpattern": "void", + "minecraft:crafting_special_shielddecoration": "void", + "minecraft:crafting_special_shulkerboxcoloring": "void", + "minecraft:crafting_special_suspiciousstew": "void", + "minecraft:smelting": "minecraft_smelting_format", + "minecraft:blasting": "minecraft_smelting_format", + "minecraft:smoking": "minecraft_smelting_format", + "minecraft:campfire_cooking": "minecraft_smelting_format", + "minecraft:stonecutting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:smithing": ["container",[ + { + "name": "base", + "type": "ingredient" + }, + { + "name": "addition", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "minecraft_smelting_format": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + }, + { + "name": "entityTags", + "type": "tags" + } + ] + ], + "packet_acknowledge_player_digging": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "block", + "type": "varint" + }, + { + "name": "status", + "type": "varint" + }, + { + "name": "successful", + "type": "bool" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_living", + "0x03": "spawn_entity_painting", + "0x04": "named_entity_spawn", + "0x05": "animation", + "0x06": "statistics", + "0x07": "acknowledge_player_digging", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "chat", + "0x0f": "multi_block_change", + "0x10": "tab_complete", + "0x11": "declare_commands", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "open_horse_window", + "0x20": "keep_alive", + "0x21": "map_chunk", + "0x22": "world_event", + "0x23": "world_particles", + "0x24": "update_light", + "0x25": "login", + "0x26": "map", + "0x27": "trade_list", + "0x28": "rel_entity_move", + "0x29": "entity_move_look", + "0x2a": "entity_look", + "0x2b": "entity", + "0x2c": "vehicle_move", + "0x2d": "open_book", + "0x2e": "open_window", + "0x2f": "open_sign_entity", + "0x30": "craft_recipe_response", + "0x31": "abilities", + "0x32": "combat_event", + "0x33": "player_info", + "0x34": "face_player", + "0x35": "position", + "0x36": "unlock_recipes", + "0x37": "entity_destroy", + "0x38": "remove_entity_effect", + "0x39": "resource_pack_send", + "0x3a": "respawn", + "0x3b": "entity_head_rotation", + "0x3c": "select_advancement_tab", + "0x3d": "world_border", + "0x3e": "camera", + "0x3f": "held_item_slot", + "0x40": "update_view_position", + "0x41": "update_view_distance", + "0x42": "spawn_position", + "0x43": "scoreboard_display_objective", + "0x44": "entity_metadata", + "0x45": "attach_entity", + "0x46": "entity_velocity", + "0x47": "entity_equipment", + "0x48": "experience", + "0x49": "update_health", + "0x4a": "scoreboard_objective", + "0x4b": "set_passengers", + "0x4c": "teams", + "0x4d": "scoreboard_score", + "0x4e": "update_time", + "0x4f": "title", + "0x50": "entity_sound_effect", + "0x51": "sound_effect", + "0x52": "stop_sound", + "0x53": "playerlist_header", + "0x54": "nbt_query_response", + "0x55": "collect", + "0x56": "entity_teleport", + "0x57": "advancements", + "0x58": "entity_update_attributes", + "0x59": "entity_effect", + "0x5a": "declare_recipes", + "0x5b": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "open_horse_window": "packet_open_horse_window", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "update_light": "packet_update_light", + "login": "packet_login", + "map": "packet_map", + "trade_list": "packet_trade_list", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_book": "packet_open_book", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "update_view_position": "packet_update_view_position", + "update_view_distance": "packet_update_view_distance", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "entity_sound_effect": "packet_entity_sound_effect", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags", + "acknowledge_player_digging": "packet_acknowledge_player_digging" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "newDifficulty", + "type": "u8" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "sneaking", + "type": "bool" + } + ] + ], + "packet_generate_structure": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "levels", + "type": "varint" + }, + { + "name": "keepJigsaws", + "type": "bool" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_lock_difficulty": [ + "container", + [ + { + "name": "locked", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + }, + { + "name": "blastingBookOpen", + "type": "bool" + }, + { + "name": "blastingFilter", + "type": "bool" + }, + { + "name": "smokingBookOpen", + "type": "bool" + }, + { + "name": "smokingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_jigsaw_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "target", + "type": "string" + }, + { + "name": "pool", + "type": "string" + }, + { + "name": "finalState", + "type": "string" + }, + { + "name": "jointType", + "type": "string" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + }, + { + "name": "insideBlock", + "type": "bool" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "set_difficulty", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "tab_complete", + "0x07": "transaction", + "0x08": "enchant_item", + "0x09": "window_click", + "0x0a": "close_window", + "0x0b": "custom_payload", + "0x0c": "edit_book", + "0x0d": "query_entity_nbt", + "0x0e": "use_entity", + "0x0f": "generate_structure", + "0x10": "keep_alive", + "0x11": "lock_difficulty", + "0x12": "position", + "0x13": "position_look", + "0x14": "look", + "0x15": "flying", + "0x16": "vehicle_move", + "0x17": "steer_boat", + "0x18": "pick_item", + "0x19": "craft_recipe_request", + "0x1a": "abilities", + "0x1b": "block_dig", + "0x1c": "entity_action", + "0x1d": "steer_vehicle", + "0x1e": "crafting_book_data", + "0x1f": "name_item", + "0x20": "resource_pack_receive", + "0x21": "advancement_tab", + "0x22": "select_trade", + "0x23": "set_beacon_effect", + "0x24": "held_item_slot", + "0x25": "update_command_block", + "0x26": "update_command_block_minecart", + "0x27": "set_creative_slot", + "0x28": "update_jigsaw_block", + "0x29": "update_structure_block", + "0x2a": "update_sign", + "0x2b": "arm_animation", + "0x2c": "spectate", + "0x2d": "block_place", + "0x2e": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "set_difficulty": "packet_set_difficulty", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "generate_structure": "packet_generate_structure", + "keep_alive": "packet_keep_alive", + "lock_difficulty": "packet_lock_difficulty", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_jigsaw_block": "packet_update_jigsaw_block", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/recipes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/recipes.json new file mode 100644 index 00000000..2c8bc39a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/recipes.json @@ -0,0 +1,23499 @@ +{ + "2": [ + { + "ingredients": [ + 4, + 849 + ], + "result": { + "count": 1, + "id": 2 + } + } + ], + "3": [ + { + "inShape": [ + [ + 2, + 2 + ], + [ + 2, + 2 + ] + ], + "result": { + "count": 4, + "id": 3 + } + } + ], + "4": [ + { + "inShape": [ + [ + 849, + 14 + ], + [ + 14, + 849 + ] + ], + "result": { + "count": 2, + "id": 4 + } + } + ], + "5": [ + { + "inShape": [ + [ + 4, + 4 + ], + [ + 4, + 4 + ] + ], + "result": { + "count": 4, + "id": 5 + } + } + ], + "6": [ + { + "ingredients": [ + 4, + 14 + ], + "result": { + "count": 2, + "id": 6 + } + } + ], + "7": [ + { + "inShape": [ + [ + 6, + 6 + ], + [ + 6, + 6 + ] + ], + "result": { + "count": 4, + "id": 7 + } + } + ], + "10": [ + { + "inShape": [ + [ + 32, + 9 + ], + [ + 9, + 32 + ] + ], + "result": { + "count": 4, + "id": 10 + } + } + ], + "15": [ + { + "ingredients": [ + 37 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 61 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 45 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 53 + ], + "result": { + "count": 4, + "id": 15 + } + } + ], + "16": [ + { + "ingredients": [ + 38 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 62 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 46 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 54 + ], + "result": { + "count": 4, + "id": 16 + } + } + ], + "17": [ + { + "ingredients": [ + 39 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 63 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 47 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 55 + ], + "result": { + "count": 4, + "id": 17 + } + } + ], + "18": [ + { + "ingredients": [ + 40 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 64 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 48 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 56 + ], + "result": { + "count": 4, + "id": 18 + } + } + ], + "19": [ + { + "ingredients": [ + 41 + ], + "result": { + "count": 4, + "id": 19 + } + }, + { + "ingredients": [ + 65 + ], + "result": { + "count": 4, + "id": 19 + } + }, + { + "ingredients": [ + 49 + ], + "result": { + "count": 4, + "id": 19 + } + }, + { + "ingredients": [ + 57 + ], + "result": { + "count": 4, + "id": 19 + } + } + ], + "20": [ + { + "ingredients": [ + 42 + ], + "result": { + "count": 4, + "id": 20 + } + }, + { + "ingredients": [ + 66 + ], + "result": { + "count": 4, + "id": 20 + } + }, + { + "ingredients": [ + 50 + ], + "result": { + "count": 4, + "id": 20 + } + }, + { + "ingredients": [ + 58 + ], + "result": { + "count": 4, + "id": 20 + } + } + ], + "21": [ + { + "ingredients": [ + 43 + ], + "result": { + "count": 4, + "id": 21 + } + }, + { + "ingredients": [ + 51 + ], + "result": { + "count": 4, + "id": 21 + } + }, + { + "ingredients": [ + 67 + ], + "result": { + "count": 4, + "id": 21 + } + }, + { + "ingredients": [ + 59 + ], + "result": { + "count": 4, + "id": 21 + } + } + ], + "22": [ + { + "ingredients": [ + 44 + ], + "result": { + "count": 4, + "id": 22 + } + }, + { + "ingredients": [ + 52 + ], + "result": { + "count": 4, + "id": 22 + } + }, + { + "ingredients": [ + 68 + ], + "result": { + "count": 4, + "id": 22 + } + }, + { + "ingredients": [ + 60 + ], + "result": { + "count": 4, + "id": 22 + } + } + ], + "53": [ + { + "inShape": [ + [ + 45, + 45 + ], + [ + 45, + 45 + ] + ], + "result": { + "count": 3, + "id": 53 + } + } + ], + "54": [ + { + "inShape": [ + [ + 46, + 46 + ], + [ + 46, + 46 + ] + ], + "result": { + "count": 3, + "id": 54 + } + } + ], + "55": [ + { + "inShape": [ + [ + 47, + 47 + ], + [ + 47, + 47 + ] + ], + "result": { + "count": 3, + "id": 55 + } + } + ], + "56": [ + { + "inShape": [ + [ + 48, + 48 + ], + [ + 48, + 48 + ] + ], + "result": { + "count": 3, + "id": 56 + } + } + ], + "57": [ + { + "inShape": [ + [ + 49, + 49 + ], + [ + 49, + 49 + ] + ], + "result": { + "count": 3, + "id": 57 + } + } + ], + "58": [ + { + "inShape": [ + [ + 50, + 50 + ], + [ + 50, + 50 + ] + ], + "result": { + "count": 3, + "id": 58 + } + } + ], + "59": [ + { + "inShape": [ + [ + 51, + 51 + ], + [ + 51, + 51 + ] + ], + "result": { + "count": 3, + "id": 59 + } + } + ], + "60": [ + { + "inShape": [ + [ + 52, + 52 + ], + [ + 52, + 52 + ] + ], + "result": { + "count": 3, + "id": 60 + } + } + ], + "61": [ + { + "inShape": [ + [ + 37, + 37 + ], + [ + 37, + 37 + ] + ], + "result": { + "count": 3, + "id": 61 + } + } + ], + "62": [ + { + "inShape": [ + [ + 38, + 38 + ], + [ + 38, + 38 + ] + ], + "result": { + "count": 3, + "id": 62 + } + } + ], + "63": [ + { + "inShape": [ + [ + 39, + 39 + ], + [ + 39, + 39 + ] + ], + "result": { + "count": 3, + "id": 63 + } + } + ], + "64": [ + { + "inShape": [ + [ + 40, + 40 + ], + [ + 40, + 40 + ] + ], + "result": { + "count": 3, + "id": 64 + } + } + ], + "65": [ + { + "inShape": [ + [ + 41, + 41 + ], + [ + 41, + 41 + ] + ], + "result": { + "count": 3, + "id": 65 + } + } + ], + "66": [ + { + "inShape": [ + [ + 42, + 42 + ], + [ + 42, + 42 + ] + ], + "result": { + "count": 3, + "id": 66 + } + } + ], + "67": [ + { + "inShape": [ + [ + 43, + 43 + ], + [ + 43, + 43 + ] + ], + "result": { + "count": 3, + "id": 67 + } + } + ], + "68": [ + { + "inShape": [ + [ + 44, + 44 + ], + [ + 44, + 44 + ] + ], + "result": { + "count": 3, + "id": 68 + } + } + ], + "79": [ + { + "inShape": [ + [ + 697, + 697, + 697 + ], + [ + 697, + 697, + 697 + ], + [ + 697, + 697, + 697 + ] + ], + "result": { + "count": 1, + "id": 79 + } + } + ], + "80": [ + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 577, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 80 + } + } + ], + "81": [ + { + "inShape": [ + [ + 30, + 30 + ], + [ + 30, + 30 + ] + ], + "result": { + "count": 1, + "id": 81 + } + } + ], + "82": [ + { + "inShape": [ + [ + 148 + ], + [ + 148 + ] + ], + "result": { + "count": 1, + "id": 82 + } + } + ], + "83": [ + { + "inShape": [ + [ + 81, + 81 + ], + [ + 81, + 81 + ] + ], + "result": { + "count": 4, + "id": 83 + } + } + ], + "84": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 665, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 84 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 665, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 84 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 665, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 84 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 665, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 84 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 19, + 665, + 19 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 84 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 665, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 84 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 21, + 665, + 21 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 84 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 22, + 665, + 22 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 84 + } + } + ], + "85": [ + { + "inShape": [ + [ + 583, + 665, + 583 + ], + [ + 583, + 599, + 583 + ], + [ + 583, + null, + 583 + ] + ], + "result": { + "count": 6, + "id": 85 + } + } + ], + "86": [ + { + "inShape": [ + [ + 582, + 665, + 582 + ], + [ + 582, + 190, + 582 + ], + [ + 582, + null, + 582 + ] + ], + "result": { + "count": 6, + "id": 86 + } + } + ], + "87": [ + { + "inShape": [ + [ + 94 + ], + [ + 679 + ] + ], + "result": { + "count": 1, + "id": 87 + } + } + ], + "94": [ + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 582, + 14 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 94 + } + }, + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 582, + 14 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 94 + } + }, + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 582, + 14 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 94 + } + }, + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 582, + 14 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 94 + } + }, + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 582, + 14 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 94 + } + }, + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 582, + 14 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 94 + } + }, + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 582, + 14 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 94 + } + }, + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 582, + 14 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 94 + } + } + ], + "95": [ + { + "inShape": [ + [ + 610, + 610 + ], + [ + 610, + 610 + ] + ], + "result": { + "count": 1, + "id": 95 + } + } + ], + "96": [ + { + "ingredients": [ + 707, + 95 + ], + "result": { + "count": 1, + "id": 96 + } + } + ], + "97": [ + { + "ingredients": [ + 706, + 95 + ], + "result": { + "count": 1, + "id": 97 + } + } + ], + "98": [ + { + "ingredients": [ + 705, + 95 + ], + "result": { + "count": 1, + "id": 98 + } + } + ], + "99": [ + { + "ingredients": [ + 704, + 95 + ], + "result": { + "count": 1, + "id": 99 + } + } + ], + "100": [ + { + "ingredients": [ + 703, + 95 + ], + "result": { + "count": 1, + "id": 100 + } + } + ], + "101": [ + { + "ingredients": [ + 702, + 95 + ], + "result": { + "count": 1, + "id": 101 + } + } + ], + "102": [ + { + "ingredients": [ + 701, + 95 + ], + "result": { + "count": 1, + "id": 102 + } + } + ], + "103": [ + { + "ingredients": [ + 700, + 95 + ], + "result": { + "count": 1, + "id": 103 + } + } + ], + "104": [ + { + "ingredients": [ + 699, + 95 + ], + "result": { + "count": 1, + "id": 104 + } + } + ], + "105": [ + { + "ingredients": [ + 698, + 95 + ], + "result": { + "count": 1, + "id": 105 + } + } + ], + "106": [ + { + "ingredients": [ + 709, + 95 + ], + "result": { + "count": 1, + "id": 106 + } + } + ], + "107": [ + { + "ingredients": [ + 710, + 95 + ], + "result": { + "count": 1, + "id": 107 + } + } + ], + "108": [ + { + "ingredients": [ + 695, + 95 + ], + "result": { + "count": 1, + "id": 108 + } + } + ], + "109": [ + { + "ingredients": [ + 694, + 95 + ], + "result": { + "count": 1, + "id": 109 + } + } + ], + "110": [ + { + "ingredients": [ + 711, + 95 + ], + "result": { + "count": 1, + "id": 110 + } + } + ], + "136": [ + { + "inShape": [ + [ + 583, + 583, + 583 + ], + [ + 583, + 583, + 583 + ], + [ + 583, + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 136 + } + } + ], + "137": [ + { + "inShape": [ + [ + 582, + 582, + 582 + ], + [ + 582, + 582, + 582 + ], + [ + 582, + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 137 + } + } + ], + "138": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 6, + "id": 138 + } + } + ], + "139": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 6, + "id": 139 + } + } + ], + "140": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 6, + "id": 140 + } + } + ], + "141": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 6, + "id": 141 + } + } + ], + "142": [ + { + "inShape": [ + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 6, + "id": 142 + } + } + ], + "143": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 6, + "id": 143 + } + } + ], + "144": [ + { + "inShape": [ + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 6, + "id": 144 + } + } + ], + "145": [ + { + "inShape": [ + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 6, + "id": 145 + } + } + ], + "146": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ] + ], + "result": { + "count": 6, + "id": 146 + } + } + ], + "147": [ + { + "inShape": [ + [ + 165, + 165, + 165 + ] + ], + "result": { + "count": 6, + "id": 147 + } + } + ], + "148": [ + { + "inShape": [ + [ + 81, + 81, + 81 + ] + ], + "result": { + "count": 6, + "id": 148 + } + }, + { + "inShape": [ + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 6, + "id": 148 + } + } + ], + "149": [ + { + "inShape": [ + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 6, + "id": 149 + } + } + ], + "151": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 6, + "id": 151 + } + } + ], + "152": [ + { + "inShape": [ + [ + 166, + 166, + 166 + ] + ], + "result": { + "count": 6, + "id": 152 + } + } + ], + "153": [ + { + "inShape": [ + [ + 240, + 240, + 240 + ] + ], + "result": { + "count": 6, + "id": 153 + } + } + ], + "154": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ] + ], + "result": { + "count": 6, + "id": 154 + } + } + ], + "155": [ + { + "inShape": [ + [ + 324, + 324, + 324 + ] + ], + "result": { + "count": 6, + "id": 155 + } + }, + { + "inShape": [ + [ + 325, + 325, + 325 + ] + ], + "result": { + "count": 6, + "id": 155 + } + }, + { + "inShape": [ + [ + 327, + 327, + 327 + ] + ], + "result": { + "count": 6, + "id": 155 + } + } + ], + "156": [ + { + "inShape": [ + [ + 418, + 418, + 418 + ] + ], + "result": { + "count": 6, + "id": 156 + } + }, + { + "inShape": [ + [ + 419, + 419, + 419 + ] + ], + "result": { + "count": 6, + "id": 156 + } + } + ], + "157": [ + { + "inShape": [ + [ + 420, + 420, + 420 + ] + ], + "result": { + "count": 6, + "id": 157 + } + } + ], + "158": [ + { + "inShape": [ + [ + 175, + 175, + 175 + ] + ], + "result": { + "count": 6, + "id": 158 + } + }, + { + "inShape": [ + [ + 176, + 176, + 176 + ] + ], + "result": { + "count": 6, + "id": 158 + } + } + ], + "159": [ + { + "inShape": [ + [ + 411, + 411, + 411 + ] + ], + "result": { + "count": 6, + "id": 159 + } + } + ], + "160": [ + { + "inShape": [ + [ + 412, + 412, + 412 + ] + ], + "result": { + "count": 6, + "id": 160 + } + } + ], + "161": [ + { + "inShape": [ + [ + 413, + 413, + 413 + ] + ], + "result": { + "count": 6, + "id": 161 + } + } + ], + "166": [ + { + "inShape": [ + [ + 674, + 674 + ], + [ + 674, + 674 + ] + ], + "result": { + "count": 1, + "id": 166 + } + } + ], + "167": [ + { + "inShape": [ + [ + 612, + 30, + 612 + ], + [ + 30, + 612, + 30 + ], + [ + 612, + 30, + 612 + ] + ], + "result": { + "count": 1, + "id": 167 + } + }, + { + "inShape": [ + [ + 612, + 31, + 612 + ], + [ + 31, + 612, + 31 + ], + [ + 612, + 31, + 612 + ] + ], + "result": { + "count": 1, + "id": 167 + } + } + ], + "168": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 678, + 678, + 678 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 168 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 678, + 678, + 678 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 168 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 678, + 678, + 678 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 168 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 678, + 678, + 678 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 168 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 678, + 678, + 678 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 168 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 678, + 678, + 678 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 168 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 678, + 678, + 678 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 168 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 678, + 678, + 678 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 168 + } + } + ], + "169": [ + { + "ingredients": [ + 14, + 251 + ], + "result": { + "count": 1, + "id": 169 + } + } + ], + "171": [ + { + "inShape": [ + [ + 599 + ], + [ + 579 + ] + ], + "result": { + "count": 4, + "id": 171 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 580 + ] + ], + "result": { + "count": 4, + "id": 171 + } + } + ], + "172": [ + { + "inShape": [ + [ + 887 + ], + [ + 745 + ] + ], + "result": { + "count": 4, + "id": 172 + } + } + ], + "175": [ + { + "inShape": [ + [ + 887, + 887 + ], + [ + 887, + 887 + ] + ], + "result": { + "count": 4, + "id": 175 + } + } + ], + "176": [ + { + "inShape": [ + [ + 158 + ], + [ + 158 + ] + ], + "result": { + "count": 1, + "id": 176 + } + } + ], + "177": [ + { + "inShape": [ + [ + 175, + 175, + 175 + ], + [ + 175, + 175, + null + ], + [ + 175, + null, + null + ] + ], + "result": { + "count": 4, + "id": 177 + } + }, + { + "inShape": [ + [ + 176, + 176, + 176 + ], + [ + 176, + 176, + null + ], + [ + 176, + null, + null + ] + ], + "result": { + "count": 4, + "id": 177 + } + } + ], + "179": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + null + ], + [ + 15, + null, + null + ] + ], + "result": { + "count": 4, + "id": 179 + } + } + ], + "180": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 180 + } + } + ], + "182": [ + { + "inShape": [ + [ + 581, + 581, + 581 + ], + [ + 581, + 581, + 581 + ], + [ + 581, + 581, + 581 + ] + ], + "result": { + "count": 1, + "id": 182 + } + } + ], + "183": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 183 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 183 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 183 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 183 + } + }, + { + "inShape": [ + [ + 19, + 19 + ], + [ + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 183 + } + }, + { + "inShape": [ + [ + 20, + 20 + ], + [ + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 183 + } + }, + { + "inShape": [ + [ + 21, + 21 + ], + [ + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 183 + } + }, + { + "inShape": [ + [ + 22, + 22 + ], + [ + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 183 + } + } + ], + "185": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 185 + } + }, + { + "inShape": [ + [ + 962, + 962, + 962 + ], + [ + 962, + null, + 962 + ], + [ + 962, + 962, + 962 + ] + ], + "result": { + "count": 1, + "id": 185 + } + } + ], + "186": [ + { + "inShape": [ + [ + 599, + null, + 599 + ], + [ + 599, + 599, + 599 + ], + [ + 599, + null, + 599 + ] + ], + "result": { + "count": 3, + "id": 186 + } + } + ], + "187": [ + { + "inShape": [ + [ + 582, + null, + 582 + ], + [ + 582, + 599, + 582 + ], + [ + 582, + null, + 582 + ] + ], + "result": { + "count": 16, + "id": 187 + } + } + ], + "188": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + null + ], + [ + 14, + null, + null + ] + ], + "result": { + "count": 4, + "id": 188 + } + } + ], + "189": [ + { + "inShape": [ + [ + 14 + ], + [ + 599 + ] + ], + "result": { + "count": 1, + "id": 189 + } + } + ], + "190": [ + { + "inShape": [ + [ + 1, + 1 + ] + ], + "result": { + "count": 1, + "id": 190 + } + } + ], + "191": [ + { + "inShape": [ + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 191 + } + } + ], + "192": [ + { + "inShape": [ + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 192 + } + } + ], + "193": [ + { + "inShape": [ + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 193 + } + } + ], + "194": [ + { + "inShape": [ + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 194 + } + } + ], + "195": [ + { + "inShape": [ + [ + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 195 + } + } + ], + "196": [ + { + "inShape": [ + [ + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 196 + } + } + ], + "197": [ + { + "inShape": [ + [ + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 197 + } + } + ], + "198": [ + { + "inShape": [ + [ + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 198 + } + } + ], + "199": [ + { + "inShape": [ + [ + 966, + 966 + ] + ], + "result": { + "count": 1, + "id": 199 + } + } + ], + "201": [ + { + "inShape": [ + [ + 599 + ], + [ + 665 + ] + ], + "result": { + "count": 1, + "id": 201 + } + } + ], + "202": [ + { + "inShape": [ + [ + 204, + 204, + 204 + ] + ], + "result": { + "count": 6, + "id": 202 + } + } + ], + "204": [ + { + "inShape": [ + [ + 666, + 666 + ], + [ + 666, + 666 + ] + ], + "result": { + "count": 1, + "id": 204 + } + } + ], + "206": [ + { + "inShape": [ + [ + 675, + 675 + ], + [ + 675, + 675 + ] + ], + "result": { + "count": 1, + "id": 206 + } + } + ], + "207": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 581, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 207 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 581, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 207 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 581, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 207 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 581, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 207 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 19, + 581, + 19 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 207 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 581, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 207 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 21, + 581, + 21 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 207 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 22, + 581, + 22 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 207 + } + } + ], + "208": [ + { + "inShape": [ + [ + 15, + 599, + 15 + ], + [ + 15, + 599, + 15 + ] + ], + "result": { + "count": 3, + "id": 208 + } + } + ], + "209": [ + { + "inShape": [ + [ + 16, + 599, + 16 + ], + [ + 16, + 599, + 16 + ] + ], + "result": { + "count": 3, + "id": 209 + } + } + ], + "210": [ + { + "inShape": [ + [ + 17, + 599, + 17 + ], + [ + 17, + 599, + 17 + ] + ], + "result": { + "count": 3, + "id": 210 + } + } + ], + "211": [ + { + "inShape": [ + [ + 18, + 599, + 18 + ], + [ + 18, + 599, + 18 + ] + ], + "result": { + "count": 3, + "id": 211 + } + } + ], + "212": [ + { + "inShape": [ + [ + 19, + 599, + 19 + ], + [ + 19, + 599, + 19 + ] + ], + "result": { + "count": 3, + "id": 212 + } + } + ], + "213": [ + { + "inShape": [ + [ + 20, + 599, + 20 + ], + [ + 20, + 599, + 20 + ] + ], + "result": { + "count": 3, + "id": 213 + } + } + ], + "214": [ + { + "inShape": [ + [ + 21, + 599, + 21 + ], + [ + 21, + 599, + 21 + ] + ], + "result": { + "count": 3, + "id": 214 + } + } + ], + "215": [ + { + "inShape": [ + [ + 22, + 599, + 22 + ], + [ + 22, + 599, + 22 + ] + ], + "result": { + "count": 3, + "id": 215 + } + } + ], + "222": [ + { + "inShape": [ + [ + 221, + 221 + ], + [ + 221, + 221 + ] + ], + "result": { + "count": 4, + "id": 222 + } + } + ], + "223": [ + { + "inShape": [ + [ + 219 + ], + [ + 599 + ], + [ + 579 + ] + ], + "result": { + "count": 4, + "id": 223 + } + }, + { + "inShape": [ + [ + 220 + ], + [ + 599 + ], + [ + 579 + ] + ], + "result": { + "count": 4, + "id": 223 + } + }, + { + "inShape": [ + [ + 219 + ], + [ + 599 + ], + [ + 580 + ] + ], + "result": { + "count": 4, + "id": 223 + } + }, + { + "inShape": [ + [ + 220 + ], + [ + 599 + ], + [ + 580 + ] + ], + "result": { + "count": 4, + "id": 223 + } + } + ], + "224": [ + { + "inShape": [ + [ + 686, + 686 + ], + [ + 686, + 686 + ] + ], + "result": { + "count": 1, + "id": 224 + } + } + ], + "225": [ + { + "inShape": [ + [ + 171 + ], + [ + 217 + ] + ], + "result": { + "count": 1, + "id": 225 + } + } + ], + "226": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 2, + "id": 226 + } + } + ], + "227": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 2, + "id": 227 + } + } + ], + "228": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 2, + "id": 228 + } + } + ], + "229": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 2, + "id": 229 + } + } + ], + "230": [ + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 2, + "id": 230 + } + } + ], + "231": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 2, + "id": 231 + } + } + ], + "232": [ + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 2, + "id": 232 + } + } + ], + "233": [ + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 2, + "id": 233 + } + } + ], + "240": [ + { + "inShape": [ + [ + 1, + 1 + ], + [ + 1, + 1 + ] + ], + "result": { + "count": 4, + "id": 240 + } + } + ], + "241": [ + { + "ingredients": [ + 240, + 251 + ], + "result": { + "count": 1, + "id": 241 + } + } + ], + "243": [ + { + "inShape": [ + [ + 153 + ], + [ + 153 + ] + ], + "result": { + "count": 1, + "id": 243 + } + } + ], + "247": [ + { + "inShape": [ + [ + 582, + 582, + 582 + ], + [ + 582, + 582, + 582 + ] + ], + "result": { + "count": 16, + "id": 247 + } + } + ], + "248": [ + { + "inShape": [ + [ + 905 + ], + [ + 582 + ], + [ + 905 + ] + ], + "result": { + "count": 1, + "id": 248 + } + } + ], + "249": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 16, + "id": 249 + } + } + ], + "250": [ + { + "inShape": [ + [ + 735, + 735, + 735 + ], + [ + 735, + 735, + 735 + ], + [ + 735, + 735, + 735 + ] + ], + "result": { + "count": 1, + "id": 250 + } + } + ], + "252": [ + { + "inShape": [ + [ + 599, + 15, + 599 + ], + [ + 599, + 15, + 599 + ] + ], + "result": { + "count": 1, + "id": 252 + } + } + ], + "253": [ + { + "inShape": [ + [ + 599, + 16, + 599 + ], + [ + 599, + 16, + 599 + ] + ], + "result": { + "count": 1, + "id": 253 + } + } + ], + "254": [ + { + "inShape": [ + [ + 599, + 17, + 599 + ], + [ + 599, + 17, + 599 + ] + ], + "result": { + "count": 1, + "id": 254 + } + } + ], + "255": [ + { + "inShape": [ + [ + 599, + 18, + 599 + ], + [ + 599, + 18, + 599 + ] + ], + "result": { + "count": 1, + "id": 255 + } + } + ], + "256": [ + { + "inShape": [ + [ + 599, + 19, + 599 + ], + [ + 599, + 19, + 599 + ] + ], + "result": { + "count": 1, + "id": 256 + } + } + ], + "257": [ + { + "inShape": [ + [ + 599, + 20, + 599 + ], + [ + 599, + 20, + 599 + ] + ], + "result": { + "count": 1, + "id": 257 + } + } + ], + "258": [ + { + "inShape": [ + [ + 599, + 21, + 599 + ], + [ + 599, + 21, + 599 + ] + ], + "result": { + "count": 1, + "id": 258 + } + } + ], + "259": [ + { + "inShape": [ + [ + 599, + 22, + 599 + ], + [ + 599, + 22, + 599 + ] + ], + "result": { + "count": 1, + "id": 259 + } + } + ], + "260": [ + { + "inShape": [ + [ + 166, + 166, + 166 + ], + [ + 166, + 166, + null + ], + [ + 166, + null, + null + ] + ], + "result": { + "count": 4, + "id": 260 + } + } + ], + "261": [ + { + "inShape": [ + [ + 240, + 240, + 240 + ], + [ + 240, + 240, + null + ], + [ + 240, + null, + null + ] + ], + "result": { + "count": 4, + "id": 261 + } + } + ], + "264": [ + { + "inShape": [ + [ + 848, + 848 + ], + [ + 848, + 848 + ] + ], + "result": { + "count": 1, + "id": 264 + } + } + ], + "266": [ + { + "inShape": [ + [ + 154 + ], + [ + 154 + ] + ], + "result": { + "count": 1, + "id": 266 + } + } + ], + "267": [ + { + "inShape": [ + [ + 264, + 848, + 264 + ], + [ + 264, + 848, + 264 + ] + ], + "result": { + "count": 6, + "id": 267 + } + } + ], + "268": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + null + ], + [ + 264, + null, + null + ] + ], + "result": { + "count": 4, + "id": 268 + } + } + ], + "269": [ + { + "inShape": [ + [ + 170, + 170, + 170 + ], + [ + 581, + 170, + 581 + ], + [ + null, + 678, + null + ] + ], + "result": { + "count": 1, + "id": 269 + } + } + ], + "272": [ + { + "inShape": [ + [ + 271, + 271 + ], + [ + 271, + 271 + ] + ], + "result": { + "count": 4, + "id": 272 + } + } + ], + "274": [ + { + "inShape": [ + [ + null, + 665, + null + ], + [ + 665, + 224, + 665 + ], + [ + null, + 665, + null + ] + ], + "result": { + "count": 1, + "id": 274 + } + } + ], + "275": [ + { + "inShape": [ + [ + 81, + 81, + 81 + ], + [ + 81, + 81, + null + ], + [ + 81, + null, + null + ] + ], + "result": { + "count": 4, + "id": 275 + } + }, + { + "inShape": [ + [ + 82, + 82, + 82 + ], + [ + 82, + 82, + null + ], + [ + 82, + null, + null + ] + ], + "result": { + "count": 4, + "id": 275 + } + }, + { + "inShape": [ + [ + 83, + 83, + 83 + ], + [ + 83, + 83, + null + ], + [ + 83, + null, + null + ] + ], + "result": { + "count": 4, + "id": 275 + } + } + ], + "277": [ + { + "inShape": [ + [ + 170, + 170, + 170 + ], + [ + 170, + 757, + 170 + ], + [ + 170, + 170, + 170 + ] + ], + "result": { + "count": 1, + "id": 277 + } + } + ], + "278": [ + { + "inShape": [ + [ + 15 + ], + [ + 599 + ], + [ + 582 + ] + ], + "result": { + "count": 2, + "id": 278 + } + }, + { + "inShape": [ + [ + 16 + ], + [ + 599 + ], + [ + 582 + ] + ], + "result": { + "count": 2, + "id": 278 + } + }, + { + "inShape": [ + [ + 17 + ], + [ + 599 + ], + [ + 582 + ] + ], + "result": { + "count": 2, + "id": 278 + } + }, + { + "inShape": [ + [ + 18 + ], + [ + 599 + ], + [ + 582 + ] + ], + "result": { + "count": 2, + "id": 278 + } + }, + { + "inShape": [ + [ + 19 + ], + [ + 599 + ], + [ + 582 + ] + ], + "result": { + "count": 2, + "id": 278 + } + }, + { + "inShape": [ + [ + 20 + ], + [ + 599 + ], + [ + 582 + ] + ], + "result": { + "count": 2, + "id": 278 + } + }, + { + "inShape": [ + [ + 21 + ], + [ + 599 + ], + [ + 582 + ] + ], + "result": { + "count": 2, + "id": 278 + } + }, + { + "inShape": [ + [ + 22 + ], + [ + 599 + ], + [ + 582 + ] + ], + "result": { + "count": 2, + "id": 278 + } + } + ], + "279": [ + { + "inShape": [ + [ + 826, + 826, + 826 + ], + [ + 826, + 826, + 826 + ], + [ + 826, + 826, + 826 + ] + ], + "result": { + "count": 1, + "id": 279 + } + } + ], + "280": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + null + ], + [ + 16, + null, + null + ] + ], + "result": { + "count": 4, + "id": 280 + } + } + ], + "281": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + null + ], + [ + 17, + null, + null + ] + ], + "result": { + "count": 4, + "id": 281 + } + } + ], + "282": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + null + ], + [ + 18, + null, + null + ] + ], + "result": { + "count": 4, + "id": 282 + } + } + ], + "283": [ + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 21, + 21, + null + ], + [ + 21, + null, + null + ] + ], + "result": { + "count": 4, + "id": 283 + } + } + ], + "284": [ + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 22, + 22, + null + ], + [ + 22, + null, + null + ] + ], + "result": { + "count": 4, + "id": 284 + } + } + ], + "286": [ + { + "inShape": [ + [ + 170, + 170, + 170 + ], + [ + 77, + 843, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 286 + } + } + ], + "287": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 6, + "id": 287 + } + } + ], + "288": [ + { + "inShape": [ + [ + 169, + 169, + 169 + ], + [ + 169, + 169, + 169 + ] + ], + "result": { + "count": 6, + "id": 288 + } + } + ], + "289": [ + { + "inShape": [ + [ + 166, + 166, + 166 + ], + [ + 166, + 166, + 166 + ] + ], + "result": { + "count": 6, + "id": 289 + } + } + ], + "290": [ + { + "inShape": [ + [ + 411, + 411, + 411 + ], + [ + 411, + 411, + 411 + ] + ], + "result": { + "count": 6, + "id": 290 + } + } + ], + "291": [ + { + "inShape": [ + [ + 418, + 418, + 418 + ], + [ + 418, + 418, + 418 + ] + ], + "result": { + "count": 6, + "id": 291 + } + } + ], + "292": [ + { + "inShape": [ + [ + 241, + 241, + 241 + ], + [ + 241, + 241, + 241 + ] + ], + "result": { + "count": 6, + "id": 292 + } + } + ], + "293": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ], + [ + 2, + 2, + 2 + ] + ], + "result": { + "count": 6, + "id": 293 + } + } + ], + "294": [ + { + "inShape": [ + [ + 240, + 240, + 240 + ], + [ + 240, + 240, + 240 + ] + ], + "result": { + "count": 6, + "id": 294 + } + } + ], + "295": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ] + ], + "result": { + "count": 6, + "id": 295 + } + } + ], + "296": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ], + [ + 6, + 6, + 6 + ] + ], + "result": { + "count": 6, + "id": 296 + } + } + ], + "297": [ + { + "inShape": [ + [ + 427, + 427, + 427 + ], + [ + 427, + 427, + 427 + ] + ], + "result": { + "count": 6, + "id": 297 + } + } + ], + "298": [ + { + "inShape": [ + [ + 81, + 81, + 81 + ], + [ + 81, + 81, + 81 + ] + ], + "result": { + "count": 6, + "id": 298 + } + } + ], + "299": [ + { + "inShape": [ + [ + 272, + 272, + 272 + ], + [ + 272, + 272, + 272 + ] + ], + "result": { + "count": 6, + "id": 299 + } + } + ], + "300": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 300 + } + } + ], + "301": [ + { + "inShape": [ + [ + 962, + 962, + 962 + ], + [ + 962, + 962, + 962 + ] + ], + "result": { + "count": 6, + "id": 301 + } + } + ], + "302": [ + { + "inShape": [ + [ + 966, + 966, + 966 + ], + [ + 966, + 966, + 966 + ] + ], + "result": { + "count": 6, + "id": 302 + } + } + ], + "303": [ + { + "inShape": [ + [ + 970, + 970, + 970 + ], + [ + 970, + 970, + 970 + ] + ], + "result": { + "count": 6, + "id": 303 + } + } + ], + "304": [ + { + "ingredients": [ + 1 + ], + "result": { + "count": 1, + "id": 304 + } + } + ], + "305": [ + { + "ingredients": [ + 15 + ], + "result": { + "count": 1, + "id": 305 + } + } + ], + "306": [ + { + "ingredients": [ + 16 + ], + "result": { + "count": 1, + "id": 306 + } + } + ], + "307": [ + { + "ingredients": [ + 17 + ], + "result": { + "count": 1, + "id": 307 + } + } + ], + "308": [ + { + "ingredients": [ + 18 + ], + "result": { + "count": 1, + "id": 308 + } + } + ], + "309": [ + { + "ingredients": [ + 19 + ], + "result": { + "count": 1, + "id": 309 + } + } + ], + "310": [ + { + "ingredients": [ + 20 + ], + "result": { + "count": 1, + "id": 310 + } + } + ], + "311": [ + { + "ingredients": [ + 21 + ], + "result": { + "count": 1, + "id": 311 + } + } + ], + "312": [ + { + "ingredients": [ + 22 + ], + "result": { + "count": 1, + "id": 312 + } + } + ], + "313": [ + { + "ingredients": [ + 966 + ], + "result": { + "count": 1, + "id": 313 + } + } + ], + "314": [ + { + "inShape": [ + [ + 582, + 582, + 582 + ], + [ + null, + 582, + null + ], + [ + 137, + 137, + 137 + ] + ], + "result": { + "count": 1, + "id": 314 + } + } + ], + "317": [ + { + "ingredients": [ + 180, + 278 + ], + "result": { + "count": 1, + "id": 317 + } + } + ], + "318": [ + { + "inShape": [ + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 318 + } + } + ], + "319": [ + { + "inShape": [ + [ + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 319 + } + } + ], + "320": [ + { + "inShape": [ + [ + 138, + 138, + 138 + ], + [ + 849, + 849, + 849 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + }, + { + "inShape": [ + [ + 139, + 139, + 139 + ], + [ + 849, + 849, + 849 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + }, + { + "inShape": [ + [ + 140, + 140, + 140 + ], + [ + 849, + 849, + 849 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + }, + { + "inShape": [ + [ + 141, + 141, + 141 + ], + [ + 849, + 849, + 849 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + }, + { + "inShape": [ + [ + 142, + 142, + 142 + ], + [ + 849, + 849, + 849 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + }, + { + "inShape": [ + [ + 143, + 143, + 143 + ], + [ + 849, + 849, + 849 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + }, + { + "inShape": [ + [ + 144, + 144, + 144 + ], + [ + 849, + 849, + 849 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + }, + { + "inShape": [ + [ + 145, + 145, + 145 + ], + [ + 849, + 849, + 849 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + } + ], + "321": [ + { + "inShape": [ + [ + 665, + 665, + 665 + ], + [ + 665, + 665, + 665 + ], + [ + 665, + 665, + 665 + ] + ], + "result": { + "count": 1, + "id": 321 + } + } + ], + "323": [ + { + "inShape": [ + [ + null, + 582, + null + ], + [ + 582, + 180, + 582 + ], + [ + 582, + null, + 582 + ] + ], + "result": { + "count": 1, + "id": 323 + } + } + ], + "324": [ + { + "inShape": [ + [ + 155 + ], + [ + 155 + ] + ], + "result": { + "count": 1, + "id": 324 + } + } + ], + "325": [ + { + "inShape": [ + [ + 849, + 849 + ], + [ + 849, + 849 + ] + ], + "result": { + "count": 1, + "id": 325 + } + } + ], + "326": [ + { + "inShape": [ + [ + 325, + 325 + ], + [ + 325, + 325 + ] + ], + "result": { + "count": 4, + "id": 326 + } + } + ], + "327": [ + { + "inShape": [ + [ + 325 + ], + [ + 325 + ] + ], + "result": { + "count": 2, + "id": 327 + } + } + ], + "328": [ + { + "inShape": [ + [ + 324, + 324, + 324 + ], + [ + 324, + 324, + null + ], + [ + 324, + null, + null + ] + ], + "result": { + "count": 4, + "id": 328 + } + }, + { + "inShape": [ + [ + 325, + 325, + 325 + ], + [ + 325, + 325, + null + ], + [ + 325, + null, + null + ] + ], + "result": { + "count": 4, + "id": 328 + } + }, + { + "inShape": [ + [ + 327, + 327, + 327 + ], + [ + 327, + 327, + null + ], + [ + 327, + null, + null + ] + ], + "result": { + "count": 4, + "id": 328 + } + } + ], + "329": [ + { + "inShape": [ + [ + 582, + 599, + 582 + ], + [ + 582, + 201, + 582 + ], + [ + 582, + 599, + 582 + ] + ], + "result": { + "count": 6, + "id": 329 + } + } + ], + "330": [ + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 330 + } + } + ], + "331": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 712, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 331 + } + } + ], + "332": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 707, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 332 + } + } + ], + "333": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 706, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 333 + } + } + ], + "334": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 705, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 334 + } + } + ], + "335": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 704, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 335 + } + } + ], + "336": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 703, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 336 + } + } + ], + "337": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 702, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 337 + } + } + ], + "338": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 701, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 338 + } + } + ], + "339": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 700, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 339 + } + } + ], + "340": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 699, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 340 + } + } + ], + "341": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 698, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 341 + } + } + ], + "342": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 709, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 342 + } + } + ], + "343": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 710, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 343 + } + } + ], + "344": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 695, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 344 + } + } + ], + "345": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 694, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 345 + } + } + ], + "346": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 711, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 346 + } + } + ], + "348": [ + { + "inShape": [ + [ + 582, + 582 + ], + [ + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 348 + } + } + ], + "349": [ + { + "inShape": [ + [ + 620, + 620, + 620 + ], + [ + 620, + 620, + 620 + ], + [ + 620, + 620, + 620 + ] + ], + "result": { + "count": 1, + "id": 349 + } + } + ], + "350": [ + { + "inShape": [ + [ + 95, + 95 + ] + ], + "result": { + "count": 3, + "id": 350 + } + } + ], + "351": [ + { + "inShape": [ + [ + 96, + 96 + ] + ], + "result": { + "count": 3, + "id": 351 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 707, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 351 + } + } + ], + "352": [ + { + "inShape": [ + [ + 97, + 97 + ] + ], + "result": { + "count": 3, + "id": 352 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 706, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 352 + } + } + ], + "353": [ + { + "inShape": [ + [ + 98, + 98 + ] + ], + "result": { + "count": 3, + "id": 353 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 705, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 353 + } + } + ], + "354": [ + { + "inShape": [ + [ + 99, + 99 + ] + ], + "result": { + "count": 3, + "id": 354 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 704, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 354 + } + } + ], + "355": [ + { + "inShape": [ + [ + 100, + 100 + ] + ], + "result": { + "count": 3, + "id": 355 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 703, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 355 + } + } + ], + "356": [ + { + "inShape": [ + [ + 101, + 101 + ] + ], + "result": { + "count": 3, + "id": 356 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 702, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 356 + } + } + ], + "357": [ + { + "inShape": [ + [ + 102, + 102 + ] + ], + "result": { + "count": 3, + "id": 357 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 701, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 357 + } + } + ], + "358": [ + { + "inShape": [ + [ + 103, + 103 + ] + ], + "result": { + "count": 3, + "id": 358 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 700, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 358 + } + } + ], + "359": [ + { + "inShape": [ + [ + 104, + 104 + ] + ], + "result": { + "count": 3, + "id": 359 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 699, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 359 + } + } + ], + "360": [ + { + "inShape": [ + [ + 105, + 105 + ] + ], + "result": { + "count": 3, + "id": 360 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 698, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 360 + } + } + ], + "361": [ + { + "inShape": [ + [ + 106, + 106 + ] + ], + "result": { + "count": 3, + "id": 361 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 709, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 361 + } + } + ], + "362": [ + { + "inShape": [ + [ + 107, + 107 + ] + ], + "result": { + "count": 3, + "id": 362 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 710, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 362 + } + } + ], + "363": [ + { + "inShape": [ + [ + 108, + 108 + ] + ], + "result": { + "count": 3, + "id": 363 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 695, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 363 + } + } + ], + "364": [ + { + "inShape": [ + [ + 109, + 109 + ] + ], + "result": { + "count": 3, + "id": 364 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 694, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 364 + } + } + ], + "365": [ + { + "inShape": [ + [ + 110, + 110 + ] + ], + "result": { + "count": 3, + "id": 365 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 711, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 365 + } + } + ], + "367": [ + { + "inShape": [ + [ + 579, + 579, + 579 + ], + [ + 579, + 579, + 579 + ], + [ + 579, + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 367 + } + } + ], + "368": [ + { + "ingredients": [ + 203, + 203, + 203, + 203, + 203, + 203, + 203, + 203, + 203 + ], + "result": { + "count": 1, + "id": 368 + } + } + ], + "369": [ + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 19, + 19, + null + ], + [ + 19, + null, + null + ] + ], + "result": { + "count": 4, + "id": 369 + } + } + ], + "370": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 20, + null + ], + [ + 20, + null, + null + ] + ], + "result": { + "count": 4, + "id": 370 + } + } + ], + "371": [ + { + "inShape": [ + [ + 679, + 679, + 679 + ], + [ + 679, + 679, + 679 + ], + [ + 679, + 679, + 679 + ] + ], + "result": { + "count": 1, + "id": 371 + } + } + ], + "379": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 712, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 379 + } + } + ], + "380": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 707, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 380 + } + } + ], + "381": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 706, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 381 + } + } + ], + "382": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 705, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 382 + } + } + ], + "383": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 704, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 383 + } + } + ], + "384": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 703, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 384 + } + } + ], + "385": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 702, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 385 + } + } + ], + "386": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 701, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 386 + } + } + ], + "387": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 700, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 387 + } + } + ], + "388": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 699, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 388 + } + } + ], + "389": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 698, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 389 + } + } + ], + "390": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 709, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 390 + } + } + ], + "391": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 710, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 391 + } + } + ], + "392": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 695, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 392 + } + } + ], + "393": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 694, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 393 + } + } + ], + "394": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 711, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 394 + } + } + ], + "395": [ + { + "inShape": [ + [ + 379, + 379, + 379 + ], + [ + 379, + 379, + 379 + ] + ], + "result": { + "count": 16, + "id": 395 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 712, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 395 + } + } + ], + "396": [ + { + "inShape": [ + [ + 380, + 380, + 380 + ], + [ + 380, + 380, + 380 + ] + ], + "result": { + "count": 16, + "id": 396 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 707, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 396 + } + } + ], + "397": [ + { + "inShape": [ + [ + 381, + 381, + 381 + ], + [ + 381, + 381, + 381 + ] + ], + "result": { + "count": 16, + "id": 397 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 706, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 397 + } + } + ], + "398": [ + { + "inShape": [ + [ + 382, + 382, + 382 + ], + [ + 382, + 382, + 382 + ] + ], + "result": { + "count": 16, + "id": 398 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 705, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 398 + } + } + ], + "399": [ + { + "inShape": [ + [ + 383, + 383, + 383 + ], + [ + 383, + 383, + 383 + ] + ], + "result": { + "count": 16, + "id": 399 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 704, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 399 + } + } + ], + "400": [ + { + "inShape": [ + [ + 384, + 384, + 384 + ], + [ + 384, + 384, + 384 + ] + ], + "result": { + "count": 16, + "id": 400 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 703, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 400 + } + } + ], + "401": [ + { + "inShape": [ + [ + 385, + 385, + 385 + ], + [ + 385, + 385, + 385 + ] + ], + "result": { + "count": 16, + "id": 401 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 702, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 401 + } + } + ], + "402": [ + { + "inShape": [ + [ + 386, + 386, + 386 + ], + [ + 386, + 386, + 386 + ] + ], + "result": { + "count": 16, + "id": 402 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 701, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 402 + } + } + ], + "403": [ + { + "inShape": [ + [ + 387, + 387, + 387 + ], + [ + 387, + 387, + 387 + ] + ], + "result": { + "count": 16, + "id": 403 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 700, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 403 + } + } + ], + "404": [ + { + "inShape": [ + [ + 388, + 388, + 388 + ], + [ + 388, + 388, + 388 + ] + ], + "result": { + "count": 16, + "id": 404 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 699, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 404 + } + } + ], + "405": [ + { + "inShape": [ + [ + 389, + 389, + 389 + ], + [ + 389, + 389, + 389 + ] + ], + "result": { + "count": 16, + "id": 405 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 698, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 405 + } + } + ], + "406": [ + { + "inShape": [ + [ + 390, + 390, + 390 + ], + [ + 390, + 390, + 390 + ] + ], + "result": { + "count": 16, + "id": 406 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 709, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 406 + } + } + ], + "407": [ + { + "inShape": [ + [ + 391, + 391, + 391 + ], + [ + 391, + 391, + 391 + ] + ], + "result": { + "count": 16, + "id": 407 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 710, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 407 + } + } + ], + "408": [ + { + "inShape": [ + [ + 392, + 392, + 392 + ], + [ + 392, + 392, + 392 + ] + ], + "result": { + "count": 16, + "id": 408 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 695, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 408 + } + } + ], + "409": [ + { + "inShape": [ + [ + 393, + 393, + 393 + ], + [ + 393, + 393, + 393 + ] + ], + "result": { + "count": 16, + "id": 409 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 694, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 409 + } + } + ], + "410": [ + { + "inShape": [ + [ + 394, + 394, + 394 + ], + [ + 394, + 394, + 394 + ] + ], + "result": { + "count": 16, + "id": 410 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 711, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 410 + } + } + ], + "411": [ + { + "inShape": [ + [ + 852, + 852 + ], + [ + 852, + 852 + ] + ], + "result": { + "count": 1, + "id": 411 + } + } + ], + "412": [ + { + "inShape": [ + [ + 852, + 852, + 852 + ], + [ + 852, + 852, + 852 + ], + [ + 852, + 852, + 852 + ] + ], + "result": { + "count": 1, + "id": 412 + } + } + ], + "413": [ + { + "inShape": [ + [ + 852, + 852, + 852 + ], + [ + 852, + 711, + 852 + ], + [ + 852, + 852, + 852 + ] + ], + "result": { + "count": 1, + "id": 413 + } + } + ], + "414": [ + { + "inShape": [ + [ + 411, + 411, + 411 + ], + [ + 411, + 411, + null + ], + [ + 411, + null, + null + ] + ], + "result": { + "count": 4, + "id": 414 + } + } + ], + "415": [ + { + "inShape": [ + [ + 412, + 412, + 412 + ], + [ + 412, + 412, + null + ], + [ + 412, + null, + null + ] + ], + "result": { + "count": 4, + "id": 415 + } + } + ], + "416": [ + { + "inShape": [ + [ + 413, + 413, + 413 + ], + [ + 413, + 413, + null + ], + [ + 413, + null, + null + ] + ], + "result": { + "count": 4, + "id": 416 + } + } + ], + "417": [ + { + "inShape": [ + [ + 852, + 853, + 852 + ], + [ + 853, + 853, + 853 + ], + [ + 852, + 853, + 852 + ] + ], + "result": { + "count": 1, + "id": 417 + } + } + ], + "418": [ + { + "inShape": [ + [ + 31, + 31 + ], + [ + 31, + 31 + ] + ], + "result": { + "count": 1, + "id": 418 + } + } + ], + "419": [ + { + "inShape": [ + [ + 156 + ], + [ + 156 + ] + ], + "result": { + "count": 1, + "id": 419 + } + } + ], + "420": [ + { + "inShape": [ + [ + 418, + 418 + ], + [ + 418, + 418 + ] + ], + "result": { + "count": 4, + "id": 420 + } + } + ], + "421": [ + { + "inShape": [ + [ + 418, + 418, + 418 + ], + [ + 418, + 418, + null + ], + [ + 418, + null, + null + ] + ], + "result": { + "count": 4, + "id": 421 + } + }, + { + "inShape": [ + [ + 419, + 419, + 419 + ], + [ + 419, + 419, + null + ], + [ + 419, + null, + null + ] + ], + "result": { + "count": 4, + "id": 421 + } + }, + { + "inShape": [ + [ + 420, + 420, + 420 + ], + [ + 420, + 420, + null + ], + [ + 420, + null, + null + ] + ], + "result": { + "count": 4, + "id": 421 + } + } + ], + "424": [ + { + "inShape": [ + [ + 754, + 754 + ], + [ + 754, + 754 + ] + ], + "result": { + "count": 1, + "id": 424 + } + } + ], + "425": [ + { + "inShape": [ + [ + 748, + 748, + 748 + ], + [ + 748, + 748, + 748 + ], + [ + 748, + 748, + 748 + ] + ], + "result": { + "count": 1, + "id": 425 + } + } + ], + "427": [ + { + "inShape": [ + [ + 748, + 848 + ], + [ + 848, + 748 + ] + ], + "result": { + "count": 1, + "id": 427 + } + } + ], + "428": [ + { + "inShape": [ + [ + 708, + 708, + 708 + ], + [ + 708, + 708, + 708 + ], + [ + 708, + 708, + 708 + ] + ], + "result": { + "count": 1, + "id": 428 + } + } + ], + "430": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 665, + 665, + 849 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 430 + } + } + ], + "431": [ + { + "inShape": [ + [ + 904 + ], + [ + 180 + ], + [ + 904 + ] + ], + "result": { + "count": 1, + "id": 431 + } + } + ], + "480": [ + { + "ingredients": [ + 712, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 480 + } + } + ], + "481": [ + { + "ingredients": [ + 707, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 481 + } + } + ], + "482": [ + { + "ingredients": [ + 706, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 482 + } + } + ], + "483": [ + { + "ingredients": [ + 705, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 483 + } + } + ], + "484": [ + { + "ingredients": [ + 704, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 484 + } + } + ], + "485": [ + { + "ingredients": [ + 703, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 485 + } + } + ], + "486": [ + { + "ingredients": [ + 702, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 486 + } + } + ], + "487": [ + { + "ingredients": [ + 701, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 487 + } + } + ], + "488": [ + { + "ingredients": [ + 700, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 488 + } + } + ], + "489": [ + { + "ingredients": [ + 699, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 489 + } + } + ], + "490": [ + { + "ingredients": [ + 698, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 490 + } + } + ], + "491": [ + { + "ingredients": [ + 709, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 491 + } + } + ], + "492": [ + { + "ingredients": [ + 710, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 492 + } + } + ], + "493": [ + { + "ingredients": [ + 695, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 493 + } + } + ], + "494": [ + { + "ingredients": [ + 694, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 494 + } + } + ], + "495": [ + { + "ingredients": [ + 711, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 495 + } + } + ], + "527": [ + { + "inShape": [ + [ + 368, + 368, + 368 + ], + [ + 368, + 368, + 368 + ], + [ + 368, + 368, + 368 + ] + ], + "result": { + "count": 1, + "id": 527 + } + } + ], + "528": [ + { + "inShape": [ + [ + 923, + 923, + 923 + ], + [ + 923, + 924, + 923 + ], + [ + 923, + 923, + 923 + ] + ], + "result": { + "count": 1, + "id": 528 + } + } + ], + "529": [ + { + "inShape": [ + [ + 3, + 3, + 3 + ], + [ + 3, + 3, + null + ], + [ + 3, + null, + null + ] + ], + "result": { + "count": 4, + "id": 529 + } + } + ], + "530": [ + { + "inShape": [ + [ + 163, + 163, + 163 + ], + [ + 163, + 163, + null + ], + [ + 163, + null, + null + ] + ], + "result": { + "count": 4, + "id": 530 + } + } + ], + "531": [ + { + "inShape": [ + [ + 241, + 241, + 241 + ], + [ + 241, + 241, + null + ], + [ + 241, + null, + null + ] + ], + "result": { + "count": 4, + "id": 531 + } + } + ], + "532": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 5, + null + ], + [ + 5, + null, + null + ] + ], + "result": { + "count": 4, + "id": 532 + } + } + ], + "533": [ + { + "inShape": [ + [ + 169, + 169, + 169 + ], + [ + 169, + 169, + null + ], + [ + 169, + null, + null + ] + ], + "result": { + "count": 4, + "id": 533 + } + } + ], + "534": [ + { + "inShape": [ + [ + 272, + 272, + 272 + ], + [ + 272, + 272, + null + ], + [ + 272, + null, + null + ] + ], + "result": { + "count": 4, + "id": 534 + } + } + ], + "535": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 1, + 1, + null + ], + [ + 1, + null, + null + ] + ], + "result": { + "count": 4, + "id": 535 + } + } + ], + "536": [ + { + "inShape": [ + [ + 164, + 164, + 164 + ], + [ + 164, + 164, + null + ], + [ + 164, + null, + null + ] + ], + "result": { + "count": 4, + "id": 536 + } + } + ], + "537": [ + { + "inShape": [ + [ + 162, + 162, + 162 + ], + [ + 162, + 162, + null + ], + [ + 162, + null, + null + ] + ], + "result": { + "count": 4, + "id": 537 + } + } + ], + "538": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ], + [ + 2, + 2, + null + ], + [ + 2, + null, + null + ] + ], + "result": { + "count": 4, + "id": 538 + } + } + ], + "539": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ], + [ + 6, + 6, + null + ], + [ + 6, + null, + null + ] + ], + "result": { + "count": 4, + "id": 539 + } + } + ], + "540": [ + { + "inShape": [ + [ + 427, + 427, + 427 + ], + [ + 427, + 427, + null + ], + [ + 427, + null, + null + ] + ], + "result": { + "count": 4, + "id": 540 + } + } + ], + "541": [ + { + "inShape": [ + [ + 7, + 7, + 7 + ], + [ + 7, + 7, + null + ], + [ + 7, + null, + null + ] + ], + "result": { + "count": 4, + "id": 541 + } + } + ], + "542": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + null + ], + [ + 4, + null, + null + ] + ], + "result": { + "count": 4, + "id": 542 + } + } + ], + "543": [ + { + "inShape": [ + [ + 3, + 3, + 3 + ] + ], + "result": { + "count": 6, + "id": 543 + } + } + ], + "544": [ + { + "inShape": [ + [ + 163, + 163, + 163 + ] + ], + "result": { + "count": 6, + "id": 544 + } + } + ], + "545": [ + { + "inShape": [ + [ + 241, + 241, + 241 + ] + ], + "result": { + "count": 6, + "id": 545 + } + } + ], + "546": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 6, + "id": 546 + } + } + ], + "547": [ + { + "inShape": [ + [ + 169, + 169, + 169 + ] + ], + "result": { + "count": 6, + "id": 547 + } + } + ], + "548": [ + { + "inShape": [ + [ + 272, + 272, + 272 + ] + ], + "result": { + "count": 6, + "id": 548 + } + } + ], + "549": [ + { + "inShape": [ + [ + 164, + 164, + 164 + ] + ], + "result": { + "count": 6, + "id": 549 + } + } + ], + "550": [ + { + "inShape": [ + [ + 162, + 162, + 162 + ] + ], + "result": { + "count": 6, + "id": 550 + } + } + ], + "551": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ] + ], + "result": { + "count": 6, + "id": 551 + } + } + ], + "552": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ] + ], + "result": { + "count": 6, + "id": 552 + } + } + ], + "553": [ + { + "inShape": [ + [ + 427, + 427, + 427 + ] + ], + "result": { + "count": 6, + "id": 553 + } + } + ], + "554": [ + { + "inShape": [ + [ + 7, + 7, + 7 + ] + ], + "result": { + "count": 6, + "id": 554 + } + } + ], + "555": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 555 + } + } + ], + "556": [ + { + "inShape": [ + [ + 135, + null, + 135 + ], + [ + 135, + null, + 135 + ], + [ + 135, + 610, + 135 + ] + ], + "result": { + "count": 6, + "id": 556 + } + } + ], + "557": [ + { + "inShape": [ + [ + 582, + 582 + ], + [ + 582, + 582 + ], + [ + 582, + 582 + ] + ], + "result": { + "count": 3, + "id": 557 + } + } + ], + "558": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 3, + "id": 558 + } + } + ], + "559": [ + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 3, + "id": 559 + } + } + ], + "560": [ + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 3, + "id": 560 + } + } + ], + "561": [ + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 3, + "id": 561 + } + } + ], + "562": [ + { + "inShape": [ + [ + 19, + 19 + ], + [ + 19, + 19 + ], + [ + 19, + 19 + ] + ], + "result": { + "count": 3, + "id": 562 + } + } + ], + "563": [ + { + "inShape": [ + [ + 20, + 20 + ], + [ + 20, + 20 + ], + [ + 20, + 20 + ] + ], + "result": { + "count": 3, + "id": 563 + } + } + ], + "564": [ + { + "inShape": [ + [ + 21, + 21 + ], + [ + 21, + 21 + ], + [ + 21, + 21 + ] + ], + "result": { + "count": 3, + "id": 564 + } + } + ], + "565": [ + { + "inShape": [ + [ + 22, + 22 + ], + [ + 22, + 22 + ], + [ + 22, + 22 + ] + ], + "result": { + "count": 3, + "id": 565 + } + } + ], + "566": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 201, + 665, + 201 + ] + ], + "result": { + "count": 1, + "id": 566 + } + } + ], + "567": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 201, + 849, + 201 + ], + [ + null, + 201, + null + ] + ], + "result": { + "count": 1, + "id": 567 + } + } + ], + "570": [ + { + "inShape": [ + [ + 571, + null, + 571 + ], + [ + 571, + 571, + 571 + ] + ], + "result": { + "count": 1, + "id": 570 + } + } + ], + "572": [ + { + "inShape": [ + [ + 599 + ], + [ + 599 + ], + [ + 582 + ] + ], + "result": { + "count": 1, + "id": 572 + } + } + ], + "573": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + null, + 599, + null + ], + [ + 582, + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 573 + } + } + ], + "574": [ + { + "inShape": [ + [ + null, + 599 + ], + [ + 582, + 599 + ], + [ + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 574 + } + } + ], + "575": [ + { + "ingredients": [ + 582, + 646 + ], + "result": { + "count": 1, + "id": 575 + } + } + ], + "577": [ + { + "inShape": [ + [ + null, + 599, + 610 + ], + [ + 599, + null, + 610 + ], + [ + null, + 599, + 610 + ] + ], + "result": { + "count": 1, + "id": 577 + } + } + ], + "578": [ + { + "inShape": [ + [ + 611 + ], + [ + 599 + ], + [ + 646 + ] + ], + "result": { + "count": 4, + "id": 578 + } + } + ], + "579": [ + { + "ingredients": [ + 367 + ], + "result": { + "count": 9, + "id": 579 + } + } + ], + "581": [ + { + "ingredients": [ + 182 + ], + "result": { + "count": 9, + "id": 581 + } + } + ], + "582": [ + { + "ingredients": [ + 137 + ], + "result": { + "count": 9, + "id": 582 + } + }, + { + "inShape": [ + [ + 905, + 905, + 905 + ], + [ + 905, + 905, + 905 + ], + [ + 905, + 905, + 905 + ] + ], + "result": { + "count": 1, + "id": 582 + } + } + ], + "583": [ + { + "ingredients": [ + 136 + ], + "result": { + "count": 9, + "id": 583 + } + }, + { + "inShape": [ + [ + 747, + 747, + 747 + ], + [ + 747, + 747, + 747 + ], + [ + 747, + 747, + 747 + ] + ], + "result": { + "count": 1, + "id": 583 + } + } + ], + "584": [ + { + "ingredients": [ + 585, + 585, + 585, + 585, + 583, + 583, + 583, + 583 + ], + "result": { + "count": 1, + "id": 584 + } + }, + { + "ingredients": [ + 958 + ], + "result": { + "count": 9, + "id": 584 + } + } + ], + "586": [ + { + "inShape": [ + [ + 599 + ], + [ + 582 + ], + [ + 582 + ] + ], + "result": { + "count": 1, + "id": 586 + } + } + ], + "587": [ + { + "inShape": [ + [ + 599 + ], + [ + 15 + ], + [ + 15 + ] + ], + "result": { + "count": 1, + "id": 587 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 16 + ], + [ + 16 + ] + ], + "result": { + "count": 1, + "id": 587 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 17 + ], + [ + 17 + ] + ], + "result": { + "count": 1, + "id": 587 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 18 + ], + [ + 18 + ] + ], + "result": { + "count": 1, + "id": 587 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 19 + ], + [ + 19 + ] + ], + "result": { + "count": 1, + "id": 587 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 20 + ], + [ + 20 + ] + ], + "result": { + "count": 1, + "id": 587 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 21 + ], + [ + 21 + ] + ], + "result": { + "count": 1, + "id": 587 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 22 + ], + [ + 22 + ] + ], + "result": { + "count": 1, + "id": 587 + } + } + ], + "588": [ + { + "inShape": [ + [ + 599 + ], + [ + 599 + ], + [ + 15 + ] + ], + "result": { + "count": 1, + "id": 588 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 599 + ], + [ + 16 + ] + ], + "result": { + "count": 1, + "id": 588 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 599 + ], + [ + 17 + ] + ], + "result": { + "count": 1, + "id": 588 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 599 + ], + [ + 18 + ] + ], + "result": { + "count": 1, + "id": 588 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 599 + ], + [ + 19 + ] + ], + "result": { + "count": 1, + "id": 588 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 599 + ], + [ + 20 + ] + ], + "result": { + "count": 1, + "id": 588 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 599 + ], + [ + 21 + ] + ], + "result": { + "count": 1, + "id": 588 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 599 + ], + [ + 22 + ] + ], + "result": { + "count": 1, + "id": 588 + } + } + ], + "589": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + null, + 599, + null + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 589 + } + }, + { + "inShape": [ + [ + null, + 599, + null + ], + [ + null, + 599, + null + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 589 + } + }, + { + "inShape": [ + [ + null, + 599, + null + ], + [ + null, + 599, + null + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 589 + } + }, + { + "inShape": [ + [ + null, + 599, + null + ], + [ + null, + 599, + null + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 589 + } + }, + { + "inShape": [ + [ + null, + 599, + null + ], + [ + null, + 599, + null + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 589 + } + }, + { + "inShape": [ + [ + null, + 599, + null + ], + [ + null, + 599, + null + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 589 + } + }, + { + "inShape": [ + [ + null, + 599, + null + ], + [ + null, + 599, + null + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 589 + } + }, + { + "inShape": [ + [ + null, + 599, + null + ], + [ + null, + 599, + null + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 589 + } + } + ], + "590": [ + { + "inShape": [ + [ + null, + 599 + ], + [ + 15, + 599 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 590 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + 16, + 599 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 590 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + 17, + 599 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 590 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + 18, + 599 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 590 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + 19, + 599 + ], + [ + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 590 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + 20, + 599 + ], + [ + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 590 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + 21, + 599 + ], + [ + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 590 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + 22, + 599 + ], + [ + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 590 + } + } + ], + "591": [ + { + "inShape": [ + [ + 599 + ], + [ + 14 + ], + [ + 14 + ] + ], + "result": { + "count": 1, + "id": 591 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 962 + ], + [ + 962 + ] + ], + "result": { + "count": 1, + "id": 591 + } + } + ], + "592": [ + { + "inShape": [ + [ + 599 + ], + [ + 599 + ], + [ + 14 + ] + ], + "result": { + "count": 1, + "id": 592 + } + }, + { + "inShape": [ + [ + 599 + ], + [ + 599 + ], + [ + 962 + ] + ], + "result": { + "count": 1, + "id": 592 + } + } + ], + "593": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + null, + 599, + null + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 593 + } + }, + { + "inShape": [ + [ + null, + 599, + null + ], + [ + null, + 599, + null + ], + [ + 962, + 962, + 962 + ] + ], + "result": { + "count": 1, + "id": 593 + } + } + ], + "594": [ + { + "inShape": [ + [ + null, + 599 + ], + [ + 14, + 599 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 594 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + 962, + 599 + ], + [ + 962, + 962 + ] + ], + "result": { + "count": 1, + "id": 594 + } + } + ], + "595": [ + { + "inShape": [ + [ + 599 + ], + [ + 581 + ], + [ + 581 + ] + ], + "result": { + "count": 1, + "id": 595 + } + } + ], + "596": [ + { + "inShape": [ + [ + 599 + ], + [ + 599 + ], + [ + 581 + ] + ], + "result": { + "count": 1, + "id": 596 + } + } + ], + "597": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + null, + 599, + null + ], + [ + 581, + 581, + 581 + ] + ], + "result": { + "count": 1, + "id": 597 + } + } + ], + "598": [ + { + "inShape": [ + [ + null, + 599 + ], + [ + 581, + 599 + ], + [ + 581, + 581 + ] + ], + "result": { + "count": 1, + "id": 598 + } + } + ], + "599": [ + { + "inShape": [ + [ + 15 + ], + [ + 15 + ] + ], + "result": { + "count": 4, + "id": 599 + } + }, + { + "inShape": [ + [ + 16 + ], + [ + 16 + ] + ], + "result": { + "count": 4, + "id": 599 + } + }, + { + "inShape": [ + [ + 17 + ], + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 599 + } + }, + { + "inShape": [ + [ + 18 + ], + [ + 18 + ] + ], + "result": { + "count": 4, + "id": 599 + } + }, + { + "inShape": [ + [ + 19 + ], + [ + 19 + ] + ], + "result": { + "count": 4, + "id": 599 + } + }, + { + "inShape": [ + [ + 20 + ], + [ + 20 + ] + ], + "result": { + "count": 4, + "id": 599 + } + }, + { + "inShape": [ + [ + 21 + ], + [ + 21 + ] + ], + "result": { + "count": 4, + "id": 599 + } + }, + { + "inShape": [ + [ + 22 + ], + [ + 22 + ] + ], + "result": { + "count": 4, + "id": 599 + } + }, + { + "inShape": [ + [ + 135 + ], + [ + 135 + ] + ], + "result": { + "count": 1, + "id": 599 + } + } + ], + "600": [ + { + "inShape": [ + [ + null, + 15, + null + ], + [ + 15, + null, + 15 + ] + ], + "result": { + "count": 4, + "id": 600 + } + }, + { + "inShape": [ + [ + null, + 16, + null + ], + [ + 16, + null, + 16 + ] + ], + "result": { + "count": 4, + "id": 600 + } + }, + { + "inShape": [ + [ + null, + 17, + null + ], + [ + 17, + null, + 17 + ] + ], + "result": { + "count": 4, + "id": 600 + } + }, + { + "inShape": [ + [ + null, + 18, + null + ], + [ + 18, + null, + 18 + ] + ], + "result": { + "count": 4, + "id": 600 + } + }, + { + "inShape": [ + [ + null, + 19, + null + ], + [ + 19, + null, + 19 + ] + ], + "result": { + "count": 4, + "id": 600 + } + }, + { + "inShape": [ + [ + null, + 20, + null + ], + [ + 20, + null, + 20 + ] + ], + "result": { + "count": 4, + "id": 600 + } + }, + { + "inShape": [ + [ + null, + 21, + null + ], + [ + 21, + null, + 21 + ] + ], + "result": { + "count": 4, + "id": 600 + } + }, + { + "inShape": [ + [ + null, + 22, + null + ], + [ + 22, + null, + 22 + ] + ], + "result": { + "count": 4, + "id": 600 + } + } + ], + "601": [ + { + "ingredients": [ + 124, + 125, + 600 + ], + "result": { + "count": 1, + "id": 601 + } + } + ], + "602": [ + { + "inShape": [ + [ + 599 + ], + [ + 583 + ], + [ + 583 + ] + ], + "result": { + "count": 1, + "id": 602 + } + } + ], + "603": [ + { + "inShape": [ + [ + 599 + ], + [ + 599 + ], + [ + 583 + ] + ], + "result": { + "count": 1, + "id": 603 + } + } + ], + "604": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + null, + 599, + null + ], + [ + 583, + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 604 + } + } + ], + "605": [ + { + "inShape": [ + [ + null, + 599 + ], + [ + 583, + 599 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 605 + } + } + ], + "613": [ + { + "inShape": [ + [ + null, + 599 + ], + [ + null, + 599 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 613 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + null, + 599 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 613 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + null, + 599 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 613 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + null, + 599 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 613 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + null, + 599 + ], + [ + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 613 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + null, + 599 + ], + [ + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 613 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + null, + 599 + ], + [ + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 613 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + null, + 599 + ], + [ + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 613 + } + } + ], + "614": [ + { + "inShape": [ + [ + null, + 599 + ], + [ + null, + 599 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 614 + } + }, + { + "inShape": [ + [ + null, + 599 + ], + [ + null, + 599 + ], + [ + 962, + 962 + ] + ], + "result": { + "count": 1, + "id": 614 + } + } + ], + "615": [ + { + "inShape": [ + [ + null, + 599 + ], + [ + null, + 599 + ], + [ + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 615 + } + } + ], + "616": [ + { + "inShape": [ + [ + null, + 599 + ], + [ + null, + 599 + ], + [ + 581, + 581 + ] + ], + "result": { + "count": 1, + "id": 616 + } + } + ], + "617": [ + { + "inShape": [ + [ + null, + 599 + ], + [ + null, + 599 + ], + [ + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 617 + } + } + ], + "620": [ + { + "ingredients": [ + 349 + ], + "result": { + "count": 9, + "id": 620 + } + } + ], + "621": [ + { + "inShape": [ + [ + 620, + 620, + 620 + ] + ], + "result": { + "count": 1, + "id": 621 + } + } + ], + "622": [ + { + "inShape": [ + [ + 668, + null, + 668 + ], + [ + 668, + 668, + 668 + ] + ], + "result": { + "count": 1, + "id": 622 + } + } + ], + "623": [ + { + "inShape": [ + [ + 668, + 668, + 668 + ], + [ + 668, + 668, + 668 + ], + [ + 668, + null, + 668 + ] + ], + "result": { + "count": 1, + "id": 623 + } + } + ], + "624": [ + { + "inShape": [ + [ + 668, + null, + 668 + ], + [ + 668, + null, + 668 + ], + [ + 668, + 668, + 668 + ] + ], + "result": { + "count": 1, + "id": 624 + } + } + ], + "625": [ + { + "inShape": [ + [ + 668, + null, + 668 + ], + [ + 668, + null, + 668 + ] + ], + "result": { + "count": 1, + "id": 625 + } + } + ], + "630": [ + { + "inShape": [ + [ + 582, + null, + 582 + ], + [ + 582, + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 630 + } + } + ], + "631": [ + { + "inShape": [ + [ + 582, + 582, + 582 + ], + [ + 582, + 582, + 582 + ], + [ + 582, + null, + 582 + ] + ], + "result": { + "count": 1, + "id": 631 + } + } + ], + "632": [ + { + "inShape": [ + [ + 582, + null, + 582 + ], + [ + 582, + null, + 582 + ], + [ + 582, + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 632 + } + } + ], + "633": [ + { + "inShape": [ + [ + 582, + null, + 582 + ], + [ + 582, + null, + 582 + ] + ], + "result": { + "count": 1, + "id": 633 + } + } + ], + "634": [ + { + "inShape": [ + [ + 581, + null, + 581 + ], + [ + 581, + 581, + 581 + ] + ], + "result": { + "count": 1, + "id": 634 + } + } + ], + "635": [ + { + "inShape": [ + [ + 581, + 581, + 581 + ], + [ + 581, + 581, + 581 + ], + [ + 581, + null, + 581 + ] + ], + "result": { + "count": 1, + "id": 635 + } + } + ], + "636": [ + { + "inShape": [ + [ + 581, + null, + 581 + ], + [ + 581, + null, + 581 + ], + [ + 581, + 581, + 581 + ] + ], + "result": { + "count": 1, + "id": 636 + } + } + ], + "637": [ + { + "inShape": [ + [ + 581, + null, + 581 + ], + [ + 581, + null, + 581 + ] + ], + "result": { + "count": 1, + "id": 637 + } + } + ], + "638": [ + { + "inShape": [ + [ + 583, + null, + 583 + ], + [ + 583, + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 638 + } + } + ], + "639": [ + { + "inShape": [ + [ + 583, + 583, + 583 + ], + [ + 583, + 583, + 583 + ], + [ + 583, + null, + 583 + ] + ], + "result": { + "count": 1, + "id": 639 + } + } + ], + "640": [ + { + "inShape": [ + [ + 583, + null, + 583 + ], + [ + 583, + null, + 583 + ], + [ + 583, + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 640 + } + } + ], + "641": [ + { + "inShape": [ + [ + 583, + null, + 583 + ], + [ + 583, + null, + 583 + ] + ], + "result": { + "count": 1, + "id": 641 + } + } + ], + "649": [ + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 95, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 96, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 97, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 98, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 99, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 100, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 101, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 102, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 103, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 104, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 105, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 106, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 107, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 108, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 109, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 110, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 649 + } + } + ], + "650": [ + { + "inShape": [ + [ + 583, + 583, + 583 + ], + [ + 583, + 576, + 583 + ], + [ + 583, + 583, + 583 + ] + ], + "result": { + "count": 1, + "id": 650 + } + } + ], + "652": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 3, + "id": 652 + } + } + ], + "653": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 3, + "id": 653 + } + } + ], + "654": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 3, + "id": 654 + } + } + ], + "655": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 3, + "id": 655 + } + } + ], + "656": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 19, + 19, + 19 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 3, + "id": 656 + } + } + ], + "657": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 20, + 20, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 3, + "id": 657 + } + } + ], + "658": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 21, + 21, + 21 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 3, + "id": 658 + } + } + ], + "659": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 22, + 22, + 22 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 3, + "id": 659 + } + } + ], + "660": [ + { + "inShape": [ + [ + null, + 582, + null + ], + [ + 582, + null, + 582 + ] + ], + "result": { + "count": 1, + "id": 660 + } + } + ], + "663": [ + { + "inShape": [ + [ + 582, + 582, + 582 + ], + [ + 582, + null, + 582 + ] + ], + "result": { + "count": 1, + "id": 663 + } + } + ], + "665": [ + { + "ingredients": [ + 321 + ], + "result": { + "count": 9, + "id": 665 + } + } + ], + "667": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + null, + 15 + ] + ], + "result": { + "count": 1, + "id": 667 + } + } + ], + "668": [ + { + "inShape": [ + [ + 858, + 858 + ], + [ + 858, + 858 + ] + ], + "result": { + "count": 1, + "id": 668 + } + } + ], + "676": [ + { + "ingredients": [ + 736, + 736, + 736, + 736, + 736, + 736, + 736, + 736, + 736 + ], + "result": { + "count": 1, + "id": 676 + } + } + ], + "677": [ + { + "inShape": [ + [ + 133, + 133, + 133 + ] + ], + "result": { + "count": 3, + "id": 677 + } + } + ], + "678": [ + { + "ingredients": [ + 677, + 677, + 677, + 668 + ], + "result": { + "count": 1, + "id": 678 + } + } + ], + "679": [ + { + "ingredients": [ + 371 + ], + "result": { + "count": 9, + "id": 679 + } + } + ], + "680": [ + { + "inShape": [ + [ + 663 + ], + [ + 180 + ] + ], + "result": { + "count": 1, + "id": 680 + } + } + ], + "681": [ + { + "inShape": [ + [ + 663 + ], + [ + 185 + ] + ], + "result": { + "count": 1, + "id": 681 + } + } + ], + "683": [ + { + "inShape": [ + [ + null, + 582, + null + ], + [ + 582, + 665, + 582 + ], + [ + null, + 582, + null + ] + ], + "result": { + "count": 1, + "id": 683 + } + } + ], + "684": [ + { + "inShape": [ + [ + 599, + null, + 610 + ], + [ + null, + 599, + 610 + ], + [ + null, + null, + 599 + ] + ], + "result": { + "count": 1, + "id": 684 + } + } + ], + "685": [ + { + "inShape": [ + [ + null, + 583, + null + ], + [ + 583, + 665, + 583 + ], + [ + null, + 583, + null + ] + ], + "result": { + "count": 1, + "id": 685 + } + } + ], + "694": [ + { + "ingredients": [ + 888 + ], + "result": { + "count": 1, + "id": 694 + } + }, + { + "ingredients": [ + 112 + ], + "result": { + "count": 1, + "id": 694 + } + }, + { + "ingredients": [ + 375 + ], + "result": { + "count": 2, + "id": 694 + } + }, + { + "ingredients": [ + 116 + ], + "result": { + "count": 1, + "id": 694 + } + } + ], + "697": [ + { + "ingredients": [ + 79 + ], + "result": { + "count": 9, + "id": 697 + } + } + ], + "698": [ + { + "ingredients": [ + 709, + 694 + ], + "result": { + "count": 2, + "id": 698 + } + } + ], + "699": [ + { + "ingredients": [ + 709, + 695 + ], + "result": { + "count": 2, + "id": 699 + } + } + ], + "700": [ + { + "ingredients": [ + 115 + ], + "result": { + "count": 1, + "id": 700 + } + }, + { + "ingredients": [ + 711, + 712, + 712 + ], + "result": { + "count": 3, + "id": 700 + } + }, + { + "ingredients": [ + 701, + 712 + ], + "result": { + "count": 2, + "id": 700 + } + }, + { + "ingredients": [ + 120 + ], + "result": { + "count": 1, + "id": 700 + } + }, + { + "ingredients": [ + 118 + ], + "result": { + "count": 1, + "id": 700 + } + } + ], + "701": [ + { + "ingredients": [ + 711, + 712 + ], + "result": { + "count": 2, + "id": 701 + } + } + ], + "702": [ + { + "ingredients": [ + 376 + ], + "result": { + "count": 2, + "id": 702 + } + }, + { + "ingredients": [ + 119 + ], + "result": { + "count": 1, + "id": 702 + } + }, + { + "ingredients": [ + 694, + 712 + ], + "result": { + "count": 2, + "id": 702 + } + } + ], + "703": [ + { + "ingredients": [ + 695, + 712 + ], + "result": { + "count": 2, + "id": 703 + } + } + ], + "704": [ + { + "ingredients": [ + 111 + ], + "result": { + "count": 1, + "id": 704 + } + }, + { + "ingredients": [ + 373 + ], + "result": { + "count": 2, + "id": 704 + } + } + ], + "705": [ + { + "ingredients": [ + 113 + ], + "result": { + "count": 1, + "id": 705 + } + }, + { + "ingredients": [ + 709, + 712 + ], + "result": { + "count": 2, + "id": 705 + } + } + ], + "706": [ + { + "ingredients": [ + 114 + ], + "result": { + "count": 1, + "id": 706 + } + }, + { + "ingredients": [ + 709, + 694, + 702 + ], + "result": { + "count": 3, + "id": 706 + } + }, + { + "ingredients": [ + 709, + 694, + 694, + 712 + ], + "result": { + "count": 4, + "id": 706 + } + }, + { + "ingredients": [ + 374 + ], + "result": { + "count": 2, + "id": 706 + } + }, + { + "ingredients": [ + 698, + 702 + ], + "result": { + "count": 2, + "id": 706 + } + } + ], + "707": [ + { + "ingredients": [ + 117 + ], + "result": { + "count": 1, + "id": 707 + } + }, + { + "ingredients": [ + 694, + 704 + ], + "result": { + "count": 2, + "id": 707 + } + } + ], + "708": [ + { + "ingredients": [ + 713 + ], + "result": { + "count": 3, + "id": 708 + } + }, + { + "ingredients": [ + 428 + ], + "result": { + "count": 9, + "id": 708 + } + } + ], + "709": [ + { + "ingredients": [ + 697 + ], + "result": { + "count": 1, + "id": 709 + } + }, + { + "ingredients": [ + 121 + ], + "result": { + "count": 1, + "id": 709 + } + } + ], + "710": [ + { + "ingredients": [ + 696 + ], + "result": { + "count": 1, + "id": 710 + } + } + ], + "711": [ + { + "ingredients": [ + 693 + ], + "result": { + "count": 1, + "id": 711 + } + }, + { + "ingredients": [ + 123 + ], + "result": { + "count": 1, + "id": 711 + } + } + ], + "712": [ + { + "ingredients": [ + 708 + ], + "result": { + "count": 1, + "id": 712 + } + }, + { + "ingredients": [ + 122 + ], + "result": { + "count": 1, + "id": 712 + } + } + ], + "714": [ + { + "ingredients": [ + 954 + ], + "result": { + "count": 3, + "id": 714 + } + }, + { + "ingredients": [ + 133 + ], + "result": { + "count": 1, + "id": 714 + } + } + ], + "715": [ + { + "inShape": [ + [ + 620, + 620, + 620 + ], + [ + 714, + 682, + 714 + ], + [ + 669, + 669, + 669 + ] + ], + "result": { + "count": 1, + "id": 715 + } + } + ], + "716": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + } + ], + "717": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "ingredients": [ + 716, + 707 + ], + "result": { + "count": 1, + "id": 717 + } + } + ], + "718": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "ingredients": [ + 716, + 706 + ], + "result": { + "count": 1, + "id": 718 + } + } + ], + "719": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "ingredients": [ + 716, + 705 + ], + "result": { + "count": 1, + "id": 719 + } + } + ], + "720": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "ingredients": [ + 716, + 704 + ], + "result": { + "count": 1, + "id": 720 + } + } + ], + "721": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "ingredients": [ + 716, + 703 + ], + "result": { + "count": 1, + "id": 721 + } + } + ], + "722": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "ingredients": [ + 716, + 702 + ], + "result": { + "count": 1, + "id": 722 + } + } + ], + "723": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "ingredients": [ + 716, + 701 + ], + "result": { + "count": 1, + "id": 723 + } + } + ], + "724": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "ingredients": [ + 716, + 700 + ], + "result": { + "count": 1, + "id": 724 + } + } + ], + "725": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "ingredients": [ + 716, + 699 + ], + "result": { + "count": 1, + "id": 725 + } + } + ], + "726": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "ingredients": [ + 716, + 698 + ], + "result": { + "count": 1, + "id": 726 + } + } + ], + "727": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "ingredients": [ + 716, + 709 + ], + "result": { + "count": 1, + "id": 727 + } + } + ], + "728": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "ingredients": [ + 716, + 710 + ], + "result": { + "count": 1, + "id": 728 + } + } + ], + "729": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "ingredients": [ + 716, + 695 + ], + "result": { + "count": 1, + "id": 729 + } + } + ], + "730": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "ingredients": [ + 716, + 694 + ], + "result": { + "count": 1, + "id": 730 + } + } + ], + "731": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "ingredients": [ + 716, + 711 + ], + "result": { + "count": 1, + "id": 731 + } + } + ], + "732": [ + { + "inShape": [ + [ + 620, + 696, + 620 + ] + ], + "result": { + "count": 8, + "id": 732 + } + } + ], + "734": [ + { + "inShape": [ + [ + 582, + null + ], + [ + null, + 582 + ] + ], + "result": { + "count": 1, + "id": 734 + } + } + ], + "736": [ + { + "ingredients": [ + 676 + ], + "result": { + "count": 9, + "id": 736 + } + } + ], + "737": [ + { + "ingredients": [ + 216 + ], + "result": { + "count": 4, + "id": 737 + } + } + ], + "738": [ + { + "ingredients": [ + 735 + ], + "result": { + "count": 1, + "id": 738 + } + } + ], + "747": [ + { + "ingredients": [ + 583 + ], + "result": { + "count": 9, + "id": 747 + } + } + ], + "750": [ + { + "inShape": [ + [ + null, + 77, + null + ], + [ + 77, + null, + 77 + ] + ], + "result": { + "count": 3, + "id": 750 + } + } + ], + "752": [ + { + "ingredients": [ + 751, + 124, + 714 + ], + "result": { + "count": 1, + "id": 752 + } + } + ], + "753": [ + { + "ingredients": [ + 745 + ], + "result": { + "count": 2, + "id": 753 + } + } + ], + "754": [ + { + "ingredients": [ + 753, + 679 + ], + "result": { + "count": 1, + "id": 754 + } + } + ], + "755": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + null, + 745, + null + ] + ], + "result": { + "count": 1, + "id": 755 + } + } + ], + "756": [ + { + "inShape": [ + [ + 582, + 582, + 582 + ], + [ + 582, + null, + 582 + ], + [ + 582, + null, + 582 + ] + ], + "result": { + "count": 1, + "id": 756 + } + } + ], + "757": [ + { + "ingredients": [ + 744, + 753 + ], + "result": { + "count": 1, + "id": 757 + } + } + ], + "758": [ + { + "inShape": [ + [ + 747, + 747, + 747 + ], + [ + 747, + 735, + 747 + ], + [ + 747, + 747, + 747 + ] + ], + "result": { + "count": 1, + "id": 758 + } + } + ], + "823": [ + { + "ingredients": [ + 612, + 753, + 579 + ], + "result": { + "count": 3, + "id": 823 + } + }, + { + "ingredients": [ + 612, + 753, + 580 + ], + "result": { + "count": 3, + "id": 823 + } + } + ], + "824": [ + { + "ingredients": [ + 678, + 693, + 611 + ], + "result": { + "count": 1, + "id": 824 + } + } + ], + "826": [ + { + "ingredients": [ + 279 + ], + "result": { + "count": 9, + "id": 826 + } + } + ], + "827": [ + { + "inShape": [ + [ + 599, + 599, + 599 + ], + [ + 599, + 668, + 599 + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 827 + } + } + ], + "828": [ + { + "inShape": [ + [ + null, + 674, + null + ], + [ + 674, + null, + 674 + ] + ], + "result": { + "count": 1, + "id": 828 + } + } + ], + "833": [ + { + "inShape": [ + [ + 677, + 677, + 677 + ], + [ + 677, + 683, + 677 + ], + [ + 677, + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 833 + } + } + ], + "834": [ + { + "inShape": [ + [ + 747, + 747, + 747 + ], + [ + 747, + 829, + 747 + ], + [ + 747, + 747, + 747 + ] + ], + "result": { + "count": 1, + "id": 834 + } + } + ], + "841": [ + { + "inShape": [ + [ + null, + 829 + ], + [ + 684, + null + ] + ], + "result": { + "count": 1, + "id": 841 + } + } + ], + "842": [ + { + "inShape": [ + [ + null, + 127 + ], + [ + 684, + null + ] + ], + "result": { + "count": 1, + "id": 842 + } + } + ], + "844": [ + { + "ingredients": [ + 216, + 714, + 682 + ], + "result": { + "count": 1, + "id": 844 + } + } + ], + "850": [ + { + "inShape": [ + [ + 663 + ], + [ + 167 + ] + ], + "result": { + "count": 1, + "id": 850 + } + } + ], + "851": [ + { + "inShape": [ + [ + 663 + ], + [ + 323 + ] + ], + "result": { + "count": 1, + "id": 851 + } + } + ], + "856": [ + { + "ingredients": [ + 831, + 855, + 600, + 829, + 124 + ], + "result": { + "count": 1, + "id": 856 + } + }, + { + "ingredients": [ + 831, + 855, + 600, + 829, + 125 + ], + "result": { + "count": 1, + "id": 856 + } + } + ], + "859": [ + { + "inShape": [ + [ + 599, + 147, + 599 + ], + [ + null, + 599, + null + ], + [ + 599, + 599, + 599 + ] + ], + "result": { + "count": 1, + "id": 859 + } + } + ], + "863": [ + { + "inShape": [ + [ + 668, + null, + 668 + ], + [ + 668, + 668, + 668 + ], + [ + 668, + null, + 668 + ] + ], + "result": { + "count": 1, + "id": 863 + } + } + ], + "864": [ + { + "inShape": [ + [ + null, + null, + 610 + ], + [ + 610, + 679, + null + ], + [ + 610, + 610, + null + ] + ], + "result": { + "count": 2, + "id": 864 + } + } + ], + "869": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 95, + 95, + 95 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 869 + } + } + ], + "870": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 96, + 96, + 96 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 870 + } + } + ], + "871": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 97, + 97, + 97 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 871 + } + } + ], + "872": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 98, + 98, + 98 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 872 + } + } + ], + "873": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 99, + 99, + 99 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 873 + } + } + ], + "874": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 100, + 100, + 100 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 874 + } + } + ], + "875": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 101, + 101, + 101 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 875 + } + } + ], + "876": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 102, + 102, + 102 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 876 + } + } + ], + "877": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 103, + 103, + 103 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 877 + } + } + ], + "878": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 104, + 104, + 104 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 878 + } + } + ], + "879": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 105, + 105, + 105 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 879 + } + } + ], + "880": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 106, + 106, + 106 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 880 + } + } + ], + "881": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 107, + 107, + 107 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 881 + } + } + ], + "882": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 108, + 108, + 108 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 882 + } + } + ], + "883": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 109, + 109, + 109 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 883 + } + } + ], + "884": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 110, + 110, + 110 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 884 + } + } + ], + "885": [ + { + "inShape": [ + [ + 77, + 746, + 77 + ], + [ + 77, + 757, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 885 + } + } + ], + "890": [ + { + "ingredients": [ + 600, + 888, + 888, + 888, + 888, + 888, + 888 + ], + "result": { + "count": 1, + "id": 890 + } + } + ], + "893": [ + { + "inShape": [ + [ + null, + 686, + null + ], + [ + 686, + 578, + 686 + ], + [ + null, + 686, + null + ] + ], + "result": { + "count": 2, + "id": 893 + } + } + ], + "896": [ + { + "inShape": [ + [ + null, + 15, + null + ], + [ + 15, + 15, + 15 + ], + [ + 15, + 582, + 15 + ] + ], + "result": { + "count": 1, + "id": 896 + } + }, + { + "inShape": [ + [ + null, + 16, + null + ], + [ + 16, + 16, + 16 + ], + [ + 16, + 582, + 16 + ] + ], + "result": { + "count": 1, + "id": 896 + } + }, + { + "inShape": [ + [ + null, + 17, + null + ], + [ + 17, + 17, + 17 + ], + [ + 17, + 582, + 17 + ] + ], + "result": { + "count": 1, + "id": 896 + } + }, + { + "inShape": [ + [ + null, + 18, + null + ], + [ + 18, + 18, + 18 + ], + [ + 18, + 582, + 18 + ] + ], + "result": { + "count": 1, + "id": 896 + } + }, + { + "inShape": [ + [ + null, + 19, + null + ], + [ + 19, + 19, + 19 + ], + [ + 19, + 582, + 19 + ] + ], + "result": { + "count": 1, + "id": 896 + } + }, + { + "inShape": [ + [ + null, + 20, + null + ], + [ + 20, + 20, + 20 + ], + [ + 20, + 582, + 20 + ] + ], + "result": { + "count": 1, + "id": 896 + } + }, + { + "inShape": [ + [ + null, + 21, + null + ], + [ + 21, + 21, + 21 + ], + [ + 21, + 582, + 21 + ] + ], + "result": { + "count": 1, + "id": 896 + } + }, + { + "inShape": [ + [ + null, + 22, + null + ], + [ + 22, + 22, + 22 + ], + [ + 22, + 582, + 22 + ] + ], + "result": { + "count": 1, + "id": 896 + } + } + ], + "898": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + null, + 16 + ] + ], + "result": { + "count": 1, + "id": 898 + } + } + ], + "899": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + null, + 17 + ] + ], + "result": { + "count": 1, + "id": 899 + } + } + ], + "900": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + null, + 18 + ] + ], + "result": { + "count": 1, + "id": 900 + } + } + ], + "901": [ + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 19, + null, + 19 + ] + ], + "result": { + "count": 1, + "id": 901 + } + } + ], + "902": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + null, + 20 + ] + ], + "result": { + "count": 1, + "id": 902 + } + } + ], + "905": [ + { + "ingredients": [ + 582 + ], + "result": { + "count": 9, + "id": 905 + } + } + ], + "925": [ + { + "inShape": [ + [ + null, + 599, + null + ], + [ + 610, + 278, + 610 + ], + [ + 599, + 582, + 599 + ] + ], + "result": { + "count": 1, + "id": 925 + } + } + ], + "927": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 610, + 610 + ] + ], + "result": { + "count": 1, + "id": 927 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 610, + 610 + ] + ], + "result": { + "count": 1, + "id": 927 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 610, + 610 + ] + ], + "result": { + "count": 1, + "id": 927 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 610, + 610 + ] + ], + "result": { + "count": 1, + "id": 927 + } + }, + { + "inShape": [ + [ + 19, + 19 + ], + [ + 610, + 610 + ] + ], + "result": { + "count": 1, + "id": 927 + } + }, + { + "inShape": [ + [ + 20, + 20 + ], + [ + 610, + 610 + ] + ], + "result": { + "count": 1, + "id": 927 + } + }, + { + "inShape": [ + [ + 21, + 21 + ], + [ + 610, + 610 + ] + ], + "result": { + "count": 1, + "id": 927 + } + }, + { + "inShape": [ + [ + 22, + 22 + ], + [ + 610, + 610 + ] + ], + "result": { + "count": 1, + "id": 927 + } + } + ], + "928": [ + { + "ingredients": [ + 677, + 120 + ], + "result": { + "count": 1, + "id": 928 + } + } + ], + "929": [ + { + "ingredients": [ + 677, + 839 + ], + "result": { + "count": 1, + "id": 929 + } + } + ], + "930": [ + { + "ingredients": [ + 677, + 836 + ], + "result": { + "count": 1, + "id": 930 + } + } + ], + "931": [ + { + "ingredients": [ + 677, + 651 + ], + "result": { + "count": 1, + "id": 931 + } + } + ], + "934": [ + { + "inShape": [ + [ + 138, + 138, + 138 + ], + [ + 138, + null, + 138 + ], + [ + 138, + null, + 138 + ] + ], + "result": { + "count": 1, + "id": 934 + } + }, + { + "inShape": [ + [ + 139, + 139, + 139 + ], + [ + 139, + null, + 139 + ], + [ + 139, + null, + 139 + ] + ], + "result": { + "count": 1, + "id": 934 + } + }, + { + "inShape": [ + [ + 140, + 140, + 140 + ], + [ + 140, + null, + 140 + ], + [ + 140, + null, + 140 + ] + ], + "result": { + "count": 1, + "id": 934 + } + }, + { + "inShape": [ + [ + 141, + 141, + 141 + ], + [ + 141, + null, + 141 + ], + [ + 141, + null, + 141 + ] + ], + "result": { + "count": 1, + "id": 934 + } + }, + { + "inShape": [ + [ + 142, + 142, + 142 + ], + [ + 142, + null, + 142 + ], + [ + 142, + null, + 142 + ] + ], + "result": { + "count": 1, + "id": 934 + } + }, + { + "inShape": [ + [ + 143, + 143, + 143 + ], + [ + 143, + null, + 143 + ], + [ + 143, + null, + 143 + ] + ], + "result": { + "count": 1, + "id": 934 + } + }, + { + "inShape": [ + [ + 144, + 144, + 144 + ], + [ + 144, + null, + 144 + ], + [ + 144, + null, + 144 + ] + ], + "result": { + "count": 1, + "id": 934 + } + }, + { + "inShape": [ + [ + 145, + 145, + 145 + ], + [ + 145, + null, + 145 + ], + [ + 145, + null, + 145 + ] + ], + "result": { + "count": 1, + "id": 934 + } + } + ], + "935": [ + { + "inShape": [ + [ + 15, + 138, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 138, + 15 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 15, + 139, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 139, + 15 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 15, + 140, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 140, + 15 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 15, + 141, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 141, + 15 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 15, + 142, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 142, + 15 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 15, + 143, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 143, + 15 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 15, + 144, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 144, + 15 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 15, + 145, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 145, + 15 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 16, + 138, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 138, + 16 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 16, + 139, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 139, + 16 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 16, + 140, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 140, + 16 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 16, + 141, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 141, + 16 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 16, + 142, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 142, + 16 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 16, + 143, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 143, + 16 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 16, + 144, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 144, + 16 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 16, + 145, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 145, + 16 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 17, + 138, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 138, + 17 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 17, + 139, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 139, + 17 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 17, + 140, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 140, + 17 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 17, + 141, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 141, + 17 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 17, + 142, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 142, + 17 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 17, + 143, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 143, + 17 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 17, + 144, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 144, + 17 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 17, + 145, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 145, + 17 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 18, + 138, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 138, + 18 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 18, + 139, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 139, + 18 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 18, + 140, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 140, + 18 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 18, + 141, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 141, + 18 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 18, + 142, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 142, + 18 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 18, + 143, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 143, + 18 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 18, + 144, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 144, + 18 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 18, + 145, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 145, + 18 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 19, + 138, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 138, + 19 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 19, + 139, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 139, + 19 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 19, + 140, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 140, + 19 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 19, + 141, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 141, + 19 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 19, + 142, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 142, + 19 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 19, + 143, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 143, + 19 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 19, + 144, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 144, + 19 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 19, + 145, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 145, + 19 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 20, + 138, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 138, + 20 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 20, + 139, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 139, + 20 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 20, + 140, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 140, + 20 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 20, + 141, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 141, + 20 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 20, + 142, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 142, + 20 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 20, + 143, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 143, + 20 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 20, + 144, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 144, + 20 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 20, + 145, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 145, + 20 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 21, + 138, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 138, + 21 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 21, + 139, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 139, + 21 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 21, + 140, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 140, + 21 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 21, + 141, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 141, + 21 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 21, + 142, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 142, + 21 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 21, + 143, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 143, + 21 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 21, + 144, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 144, + 21 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 21, + 145, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 145, + 21 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 22, + 138, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 138, + 22 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 22, + 139, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 139, + 22 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 22, + 140, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 140, + 22 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 22, + 141, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 141, + 22 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 22, + 142, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 142, + 22 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 22, + 143, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 143, + 22 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 22, + 144, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 144, + 22 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 22, + 145, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 145, + 22 + ] + ], + "result": { + "count": 1, + "id": 935 + } + } + ], + "936": [ + { + "inShape": [ + [ + null, + 42, + null + ], + [ + 42, + 185, + 42 + ], + [ + null, + 42, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 66, + null + ], + [ + 66, + 185, + 66 + ], + [ + null, + 66, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 50, + null + ], + [ + 50, + 185, + 50 + ], + [ + null, + 50, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 58, + null + ], + [ + 58, + 185, + 58 + ], + [ + null, + 58, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 37, + null + ], + [ + 37, + 185, + 37 + ], + [ + null, + 37, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 61, + null + ], + [ + 61, + 185, + 61 + ], + [ + null, + 61, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 45, + null + ], + [ + 45, + 185, + 45 + ], + [ + null, + 45, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 53, + null + ], + [ + 53, + 185, + 53 + ], + [ + null, + 53, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 41, + null + ], + [ + 41, + 185, + 41 + ], + [ + null, + 41, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 65, + null + ], + [ + 65, + 185, + 65 + ], + [ + null, + 65, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 49, + null + ], + [ + 49, + 185, + 49 + ], + [ + null, + 49, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 57, + null + ], + [ + 57, + 185, + 57 + ], + [ + null, + 57, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 39, + null + ], + [ + 39, + 185, + 39 + ], + [ + null, + 39, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 63, + null + ], + [ + 63, + 185, + 63 + ], + [ + null, + 63, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 47, + null + ], + [ + 47, + 185, + 47 + ], + [ + null, + 47, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 55, + null + ], + [ + 55, + 185, + 55 + ], + [ + null, + 55, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 40, + null + ], + [ + 40, + 185, + 40 + ], + [ + null, + 40, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 64, + null + ], + [ + 64, + 185, + 64 + ], + [ + null, + 64, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 48, + null + ], + [ + 48, + 185, + 48 + ], + [ + null, + 48, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 56, + null + ], + [ + 56, + 185, + 56 + ], + [ + null, + 56, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 38, + null + ], + [ + 38, + 185, + 38 + ], + [ + null, + 38, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 62, + null + ], + [ + 62, + 185, + 62 + ], + [ + null, + 62, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 46, + null + ], + [ + 46, + 185, + 46 + ], + [ + null, + 46, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 54, + null + ], + [ + 54, + 185, + 54 + ], + [ + null, + 54, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 43, + null + ], + [ + 43, + 185, + 43 + ], + [ + null, + 43, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 51, + null + ], + [ + 51, + 185, + 51 + ], + [ + null, + 51, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 67, + null + ], + [ + 67, + 185, + 67 + ], + [ + null, + 67, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 59, + null + ], + [ + 59, + 185, + 59 + ], + [ + null, + 59, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 44, + null + ], + [ + 44, + 185, + 44 + ], + [ + null, + 44, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 52, + null + ], + [ + 52, + 185, + 52 + ], + [ + null, + 52, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 68, + null + ], + [ + 68, + 185, + 68 + ], + [ + null, + 68, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + null, + 60, + null + ], + [ + 60, + 185, + 60 + ], + [ + null, + 60, + null + ] + ], + "result": { + "count": 1, + "id": 936 + } + } + ], + "937": [ + { + "inShape": [ + [ + 165, + 165, + 165 + ], + [ + 582, + 185, + 582 + ], + [ + 582, + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 937 + } + } + ], + "938": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 938 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 938 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 938 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 938 + } + }, + { + "inShape": [ + [ + 19, + 19 + ], + [ + 19, + 19 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 938 + } + }, + { + "inShape": [ + [ + 20, + 20 + ], + [ + 20, + 20 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 938 + } + }, + { + "inShape": [ + [ + 21, + 21 + ], + [ + 21, + 21 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 938 + } + }, + { + "inShape": [ + [ + 22, + 22 + ], + [ + 22, + 22 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 938 + } + } + ], + "939": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 939 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 939 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 939 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 939 + } + }, + { + "inShape": [ + [ + 19, + 19 + ], + [ + 19, + 19 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 939 + } + }, + { + "inShape": [ + [ + 20, + 20 + ], + [ + 20, + 20 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 939 + } + }, + { + "inShape": [ + [ + 21, + 21 + ], + [ + 21, + 21 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 939 + } + }, + { + "inShape": [ + [ + 22, + 22 + ], + [ + 22, + 22 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 939 + } + } + ], + "940": [ + { + "inShape": [ + [ + 15, + null, + 15 + ], + [ + 599, + 146, + 599 + ] + ], + "result": { + "count": 1, + "id": 940 + } + }, + { + "inShape": [ + [ + 16, + null, + 16 + ], + [ + 599, + 146, + 599 + ] + ], + "result": { + "count": 1, + "id": 940 + } + }, + { + "inShape": [ + [ + 17, + null, + 17 + ], + [ + 599, + 146, + 599 + ] + ], + "result": { + "count": 1, + "id": 940 + } + }, + { + "inShape": [ + [ + 18, + null, + 18 + ], + [ + 599, + 146, + 599 + ] + ], + "result": { + "count": 1, + "id": 940 + } + }, + { + "inShape": [ + [ + 19, + null, + 19 + ], + [ + 599, + 146, + 599 + ] + ], + "result": { + "count": 1, + "id": 940 + } + }, + { + "inShape": [ + [ + 20, + null, + 20 + ], + [ + 599, + 146, + 599 + ] + ], + "result": { + "count": 1, + "id": 940 + } + }, + { + "inShape": [ + [ + 21, + null, + 21 + ], + [ + 599, + 146, + 599 + ] + ], + "result": { + "count": 1, + "id": 940 + } + }, + { + "inShape": [ + [ + 22, + null, + 22 + ], + [ + 599, + 146, + 599 + ] + ], + "result": { + "count": 1, + "id": 940 + } + } + ], + "941": [ + { + "inShape": [ + [ + null, + 138, + null + ], + [ + null, + 168, + null + ], + [ + 138, + 138, + 138 + ] + ], + "result": { + "count": 1, + "id": 941 + } + }, + { + "inShape": [ + [ + null, + 139, + null + ], + [ + null, + 168, + null + ], + [ + 139, + 139, + 139 + ] + ], + "result": { + "count": 1, + "id": 941 + } + }, + { + "inShape": [ + [ + null, + 140, + null + ], + [ + null, + 168, + null + ], + [ + 140, + 140, + 140 + ] + ], + "result": { + "count": 1, + "id": 941 + } + }, + { + "inShape": [ + [ + null, + 141, + null + ], + [ + null, + 168, + null + ], + [ + 141, + 141, + 141 + ] + ], + "result": { + "count": 1, + "id": 941 + } + }, + { + "inShape": [ + [ + null, + 142, + null + ], + [ + null, + 168, + null + ], + [ + 142, + 142, + 142 + ] + ], + "result": { + "count": 1, + "id": 941 + } + }, + { + "inShape": [ + [ + null, + 143, + null + ], + [ + null, + 168, + null + ], + [ + 143, + 143, + 143 + ] + ], + "result": { + "count": 1, + "id": 941 + } + }, + { + "inShape": [ + [ + null, + 144, + null + ], + [ + null, + 168, + null + ], + [ + 144, + 144, + 144 + ] + ], + "result": { + "count": 1, + "id": 941 + } + }, + { + "inShape": [ + [ + null, + 145, + null + ], + [ + null, + 168, + null + ], + [ + 145, + 145, + 145 + ] + ], + "result": { + "count": 1, + "id": 941 + } + } + ], + "942": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 942 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 942 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 942 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 942 + } + }, + { + "inShape": [ + [ + 19, + 19 + ], + [ + 19, + 19 + ], + [ + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 942 + } + }, + { + "inShape": [ + [ + 20, + 20 + ], + [ + 20, + 20 + ], + [ + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 942 + } + }, + { + "inShape": [ + [ + 21, + 21 + ], + [ + 21, + 21 + ], + [ + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 942 + } + }, + { + "inShape": [ + [ + 22, + 22 + ], + [ + 22, + 22 + ], + [ + 582, + 582 + ] + ], + "result": { + "count": 1, + "id": 942 + } + } + ], + "943": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + null, + 582, + null + ] + ], + "result": { + "count": 1, + "id": 943 + } + } + ], + "945": [ + { + "inShape": [ + [ + 905, + 905, + 905 + ], + [ + 905, + 171, + 905 + ], + [ + 905, + 905, + 905 + ] + ], + "result": { + "count": 1, + "id": 945 + } + } + ], + "946": [ + { + "inShape": [ + [ + 905, + 905, + 905 + ], + [ + 905, + 223, + 905 + ], + [ + 905, + 905, + 905 + ] + ], + "result": { + "count": 1, + "id": 946 + } + } + ], + "948": [ + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 66, + 66, + 66 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 66, + 66, + 66 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 50, + 50, + 50 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 50, + 50, + 50 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 58, + 58, + 58 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 58, + 58, + 58 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 61, + 61, + 61 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 61, + 61, + 61 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 53, + 53, + 53 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 53, + 53, + 53 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 65, + 65, + 65 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 65, + 65, + 65 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 57, + 57, + 57 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 57, + 57, + 57 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 63, + 63, + 63 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 63, + 63, + 63 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 47, + 47, + 47 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 47, + 47, + 47 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 55, + 55, + 55 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 55, + 55, + 55 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 56, + 56, + 56 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 56, + 56, + 56 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 62, + 62, + 62 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 62, + 62, + 62 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 54, + 54, + 54 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 54, + 54, + 54 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 51, + 51, + 51 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 51, + 51, + 51 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 67, + 67, + 67 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 67, + 67, + 67 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 59, + 59, + 59 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 59, + 59, + 59 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 52, + 52, + 52 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 52, + 52, + 52 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 60, + 60, + 60 + ], + [ + 599, + 579, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + }, + { + "inShape": [ + [ + 60, + 60, + 60 + ], + [ + 599, + 580, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 948 + } + } + ], + "949": [ + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 66, + 66, + 66 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 66, + 66, + 66 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 50, + 50, + 50 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 50, + 50, + 50 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 58, + 58, + 58 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 58, + 58, + 58 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 61, + 61, + 61 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 61, + 61, + 61 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 53, + 53, + 53 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 53, + 53, + 53 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 65, + 65, + 65 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 65, + 65, + 65 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 57, + 57, + 57 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 57, + 57, + 57 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 63, + 63, + 63 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 63, + 63, + 63 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 47, + 47, + 47 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 47, + 47, + 47 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 55, + 55, + 55 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 55, + 55, + 55 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 56, + 56, + 56 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 56, + 56, + 56 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 62, + 62, + 62 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 62, + 62, + 62 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 54, + 54, + 54 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 54, + 54, + 54 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 51, + 51, + 51 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 51, + 51, + 51 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 67, + 67, + 67 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 67, + 67, + 67 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 59, + 59, + 59 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 59, + 59, + 59 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 52, + 52, + 52 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 52, + 52, + 52 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 60, + 60, + 60 + ], + [ + 599, + 219, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 60, + 60, + 60 + ], + [ + 599, + 220, + 599 + ], + [ + null, + 599, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + } + ], + "953": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 951, + 951, + 951 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 953 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 951, + 951, + 951 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 953 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 951, + 951, + 951 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 953 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 951, + 951, + 951 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 953 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 951, + 951, + 951 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 953 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 951, + 951, + 951 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 953 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 951, + 951, + 951 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 953 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 951, + 951, + 951 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 953 + } + } + ], + "954": [ + { + "ingredients": [ + 955, + 750, + 750, + 750, + 750 + ], + "result": { + "count": 4, + "id": 954 + } + } + ], + "955": [ + { + "inShape": [ + [ + 954, + 954 + ], + [ + 954, + 954 + ] + ], + "result": { + "count": 1, + "id": 955 + } + } + ], + "956": [ + { + "inShape": [ + [ + 951, + 951 + ], + [ + 951, + 951 + ] + ], + "result": { + "count": 1, + "id": 956 + } + } + ], + "957": [ + { + "inShape": [ + [ + 243, + 243, + 243 + ], + [ + 243, + 584, + 243 + ], + [ + 243, + 243, + 243 + ] + ], + "result": { + "count": 1, + "id": 957 + } + } + ], + "958": [ + { + "inShape": [ + [ + 584, + 584, + 584 + ], + [ + 584, + 584, + 584 + ], + [ + 584, + 584, + 584 + ] + ], + "result": { + "count": 1, + "id": 958 + } + } + ], + "960": [ + { + "inShape": [ + [ + null, + 665, + null + ], + [ + 665, + 349, + 665 + ], + [ + null, + 665, + null + ] + ], + "result": { + "count": 1, + "id": 960 + } + } + ], + "963": [ + { + "inShape": [ + [ + 962, + 962, + 962 + ] + ], + "result": { + "count": 6, + "id": 963 + } + } + ], + "964": [ + { + "inShape": [ + [ + 962, + 962, + 962 + ], + [ + 962, + 962, + null + ], + [ + 962, + null, + null + ] + ], + "result": { + "count": 4, + "id": 964 + } + } + ], + "966": [ + { + "inShape": [ + [ + 962, + 962 + ], + [ + 962, + 962 + ] + ], + "result": { + "count": 4, + "id": 966 + } + } + ], + "967": [ + { + "inShape": [ + [ + 966, + 966, + 966 + ] + ], + "result": { + "count": 6, + "id": 967 + } + } + ], + "968": [ + { + "inShape": [ + [ + 966, + 966, + 966 + ], + [ + 966, + 966, + null + ], + [ + 966, + null, + null + ] + ], + "result": { + "count": 4, + "id": 968 + } + } + ], + "969": [ + { + "inShape": [ + [ + 967 + ], + [ + 967 + ] + ], + "result": { + "count": 1, + "id": 969 + } + } + ], + "970": [ + { + "inShape": [ + [ + 966, + 966 + ], + [ + 966, + 966 + ] + ], + "result": { + "count": 4, + "id": 970 + } + } + ], + "971": [ + { + "inShape": [ + [ + 970, + 970, + 970 + ] + ], + "result": { + "count": 6, + "id": 971 + } + } + ], + "972": [ + { + "inShape": [ + [ + 970, + 970, + 970 + ], + [ + 970, + 970, + null + ], + [ + 970, + null, + null + ] + ], + "result": { + "count": 4, + "id": 972 + } + } + ], + "974": [ + { + "inShape": [ + [ + 961, + 961, + 961 + ], + [ + 224, + 224, + 224 + ], + [ + 961, + 961, + 961 + ] + ], + "result": { + "count": 1, + "id": 974 + } + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/version.json new file mode 100644 index 00000000..174dbf73 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.16.1", + "version": 736, + "majorVersion": "1.16" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/windows.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/windows.json new file mode 100644 index 00000000..37bdcb69 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.1/windows.json @@ -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 + } + ] + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/biomes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/biomes.json new file mode 100644 index 00000000..4ac6f63a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/biomes.json @@ -0,0 +1,555 @@ +[ + { + "id": 0, + "name": "ocean", + "displayName": "Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 1, + "name": "plains", + "displayName": "Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 2, + "name": "desert", + "displayName": "Desert", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 3, + "name": "mountains", + "displayName": "Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 4, + "name": "forest", + "displayName": "Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 5, + "name": "taiga", + "displayName": "Taiga", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 6, + "name": "swamp", + "displayName": "Swamp", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 7, + "name": "river", + "displayName": "River", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 8, + "name": "nether_wastes", + "displayName": "Nether Wastes", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 9, + "name": "the_end", + "displayName": "The End", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 10, + "name": "frozen_ocean", + "displayName": "Frozen Ocean", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 11, + "name": "frozen_river", + "displayName": "Frozen River", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 12, + "name": "snowy_tundra", + "displayName": "Snowy Tundra", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 13, + "name": "snowy_mountains", + "displayName": "Snowy Mountains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 14, + "name": "mushroom_fields", + "displayName": "Mushroom Fields", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 15, + "name": "mushroom_field_shore", + "displayName": "Mushroom Field Shore", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 16, + "name": "beach", + "displayName": "Beach", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 17, + "name": "desert_hills", + "displayName": "Desert Hills", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 18, + "name": "wooded_hills", + "displayName": "Wooded Hills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 19, + "name": "taiga_hills", + "displayName": "Taiga Hills", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 20, + "name": "mountain_edge", + "displayName": "Mountain Edge", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 21, + "name": "jungle", + "displayName": "Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 22, + "name": "jungle_hills", + "displayName": "Jungle Hills", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 23, + "name": "jungle_edge", + "displayName": "Jungle Edge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 24, + "name": "deep_ocean", + "displayName": "Deep Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 25, + "name": "stone_shore", + "displayName": "Stone Shore", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 26, + "name": "snowy_beach", + "displayName": "Snowy Beach", + "rainfall": 0.3, + "temperature": 0.05 + }, + { + "id": 27, + "name": "birch_forest", + "displayName": "Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 28, + "name": "birch_forest_hills", + "displayName": "Birch Forest Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 29, + "name": "dark_forest", + "displayName": "Dark Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 30, + "name": "snowy_taiga", + "displayName": "Snowy Taiga", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 31, + "name": "snowy_taiga_hills", + "displayName": "Snowy Taiga Hills", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 32, + "name": "giant_tree_taiga", + "displayName": "Giant Tree Taiga", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 33, + "name": "giant_tree_taiga_hills", + "displayName": "Giant Tree Taiga Hills", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 34, + "name": "wooded_mountains", + "displayName": "Wooded Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 35, + "name": "savanna", + "displayName": "Savanna", + "rainfall": 0, + "temperature": 1.2 + }, + { + "id": 36, + "name": "savanna_plateau", + "displayName": "Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 37, + "name": "badlands", + "displayName": "Badlands", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 38, + "name": "wooded_badlands_plateau", + "displayName": "Wooded Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 39, + "name": "badlands_plateau", + "displayName": "Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 40, + "name": "small_end_islands", + "displayName": "Small End Islands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 41, + "name": "end_midlands", + "displayName": "End Midlands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 42, + "name": "end_highlands", + "displayName": "End Highlands", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 43, + "name": "end_barrens", + "displayName": "End Barrens", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 44, + "name": "warm_ocean", + "displayName": "Warm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 45, + "name": "lukewarm_ocean", + "displayName": "Lukewarm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 46, + "name": "cold_ocean", + "displayName": "Cold Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 47, + "name": "deep_warm_ocean", + "displayName": "Deep Warm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 48, + "name": "deep_lukewarm_ocean", + "displayName": "Deep Lukewarm Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 49, + "name": "deep_cold_ocean", + "displayName": "Deep Cold Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 50, + "name": "deep_frozen_ocean", + "displayName": "Deep Frozen Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 127, + "name": "the_void", + "displayName": "The Void", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 129, + "name": "sunflower_plains", + "displayName": "Sunflower Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 130, + "name": "desert_lakes", + "displayName": "Desert Lakes", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 131, + "name": "gravelly_mountains", + "displayName": "Gravelly Mountains", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 132, + "name": "flower_forest", + "displayName": "Flower Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 133, + "name": "taiga_mountains", + "displayName": "Taiga Mountains", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 134, + "name": "swamp_hills", + "displayName": "Swamp Hills", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 140, + "name": "ice_spikes", + "displayName": "Ice Spikes", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 149, + "name": "modified_jungle", + "displayName": "Modified Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 151, + "name": "modified_jungle_edge", + "displayName": "Modified Jungle Edge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 155, + "name": "tall_birch_forest", + "displayName": "Tall Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 156, + "name": "tall_birch_hills", + "displayName": "Tall Birch Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 157, + "name": "dark_forest_hills", + "displayName": "Dark Forest Hills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 158, + "name": "snowy_taiga_mountains", + "displayName": "Snowy Taiga Mountains", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 160, + "name": "giant_spruce_taiga", + "displayName": "Giant Spruce Taiga", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 161, + "name": "giant_spruce_taiga_hills", + "displayName": "Giant Spruce Taiga Hills", + "rainfall": 0.8, + "temperature": 0.25 + }, + { + "id": 162, + "name": "modified_gravelly_mountains", + "displayName": "Gravelly Mountains+", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 163, + "name": "shattered_savanna", + "displayName": "Shattered Savanna", + "rainfall": 0, + "temperature": 1.1 + }, + { + "id": 164, + "name": "shattered_savanna_plateau", + "displayName": "Shattered Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 165, + "name": "eroded_badlands", + "displayName": "Eroded Badlands", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 166, + "name": "modified_wooded_badlands_plateau", + "displayName": "Modified Wooded Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 167, + "name": "modified_badlands_plateau", + "displayName": "Modified Badlands Plateau", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 168, + "name": "bamboo_jungle", + "displayName": "Bamboo Jungle", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 169, + "name": "bamboo_jungle_hills", + "displayName": "Bamboo Jungle Hills", + "rainfall": 0.9, + "temperature": 0.95 + }, + { + "id": 170, + "name": "soul_sand_valley", + "displayName": "Soul Sand Valley", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 171, + "name": "crimson_forest", + "displayName": "Crimson Forest", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 172, + "name": "warped_forest", + "displayName": "Warped Forest", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 173, + "name": "basalt_deltas", + "displayName": "Basalt Deltas", + "rainfall": 0, + "temperature": 2 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/blockLoot.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/blockLoot.json new file mode 100644 index 00000000..64426a03 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/blockLoot.json @@ -0,0 +1,10058 @@ +[ + { + "block": "acacia_button", + "drops": [ + { + "item": "acacia_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_door", + "drops": [ + { + "item": "acacia_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_fence", + "drops": [ + { + "item": "acacia_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_fence_gate", + "drops": [ + { + "item": "acacia_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_leaves", + "drops": [ + { + "item": "acacia_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "acacia_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_log", + "drops": [ + { + "item": "acacia_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_planks", + "drops": [ + { + "item": "acacia_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_pressure_plate", + "drops": [ + { + "item": "acacia_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_sapling", + "drops": [ + { + "item": "acacia_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_sign", + "drops": [ + { + "item": "acacia_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_slab", + "drops": [ + { + "item": "acacia_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "acacia_stairs", + "drops": [ + { + "item": "acacia_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_trapdoor", + "drops": [ + { + "item": "acacia_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "acacia_wood", + "drops": [ + { + "item": "acacia_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "activator_rail", + "drops": [ + { + "item": "activator_rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "allium", + "drops": [ + { + "item": "allium", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "ancient_debris", + "drops": [ + { + "item": "ancient_debris", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "andesite", + "drops": [ + { + "item": "andesite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "andesite_slab", + "drops": [ + { + "item": "andesite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "andesite_stairs", + "drops": [ + { + "item": "andesite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "andesite_wall", + "drops": [ + { + "item": "andesite_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "anvil", + "drops": [ + { + "item": "anvil", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "attached_melon_stem", + "drops": [ + { + "item": "melon_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "attached_pumpkin_stem", + "drops": [ + { + "item": "pumpkin_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "azure_bluet", + "drops": [ + { + "item": "azure_bluet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bamboo", + "drops": [ + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bamboo_sapling", + "drops": [ + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "barrel", + "drops": [ + { + "item": "barrel", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "basalt", + "drops": [ + { + "item": "basalt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "beacon", + "drops": [ + { + "item": "beacon", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bee_nest", + "drops": [ + { + "item": "bee_nest", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "beehive", + "drops": [ + { + "item": "beehive", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "beehive", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "beetroots", + "drops": [ + { + "item": "beetroot", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 3 + }, + { + "item": "beetroot_seeds", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "beetroot_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 3 + } + ] + }, + { + "block": "bell", + "drops": [ + { + "item": "bell", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_button", + "drops": [ + { + "item": "birch_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_door", + "drops": [ + { + "item": "birch_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_fence", + "drops": [ + { + "item": "birch_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_fence_gate", + "drops": [ + { + "item": "birch_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_leaves", + "drops": [ + { + "item": "birch_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "birch_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_log", + "drops": [ + { + "item": "birch_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_planks", + "drops": [ + { + "item": "birch_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_pressure_plate", + "drops": [ + { + "item": "birch_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_sapling", + "drops": [ + { + "item": "birch_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_sign", + "drops": [ + { + "item": "birch_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_slab", + "drops": [ + { + "item": "birch_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "birch_stairs", + "drops": [ + { + "item": "birch_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_trapdoor", + "drops": [ + { + "item": "birch_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "birch_wood", + "drops": [ + { + "item": "birch_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_banner", + "drops": [ + { + "item": "black_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_bed", + "drops": [ + { + "item": "black_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_carpet", + "drops": [ + { + "item": "black_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_concrete", + "drops": [ + { + "item": "black_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_concrete_powder", + "drops": [ + { + "item": "black_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_glazed_terracotta", + "drops": [ + { + "item": "black_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_shulker_box", + "drops": [ + { + "item": "black_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_stained_glass", + "drops": [ + { + "item": "black_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "black_stained_glass_pane", + "drops": [ + { + "item": "black_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "black_terracotta", + "drops": [ + { + "item": "black_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "black_wool", + "drops": [ + { + "item": "black_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blackstone", + "drops": [ + { + "item": "blackstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blackstone_slab", + "drops": [ + { + "item": "blackstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "blackstone_stairs", + "drops": [ + { + "item": "blackstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blackstone_wall", + "drops": [ + { + "item": "blackstone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blast_furnace", + "drops": [ + { + "item": "blast_furnace", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_banner", + "drops": [ + { + "item": "blue_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_bed", + "drops": [ + { + "item": "blue_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_carpet", + "drops": [ + { + "item": "blue_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_concrete", + "drops": [ + { + "item": "blue_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_concrete_powder", + "drops": [ + { + "item": "blue_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_glazed_terracotta", + "drops": [ + { + "item": "blue_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_ice", + "drops": [ + { + "item": "blue_ice", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "blue_orchid", + "drops": [ + { + "item": "blue_orchid", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_shulker_box", + "drops": [ + { + "item": "blue_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_stained_glass", + "drops": [ + { + "item": "blue_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "blue_stained_glass_pane", + "drops": [ + { + "item": "blue_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "blue_terracotta", + "drops": [ + { + "item": "blue_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "blue_wool", + "drops": [ + { + "item": "blue_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bone_block", + "drops": [ + { + "item": "bone_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bookshelf", + "drops": [ + { + "item": "bookshelf", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "book", + "dropChance": 0.5, + "stackSizeRange": [ + 3, + 3 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "brain_coral", + "drops": [ + { + "item": "brain_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brain_coral_block", + "drops": [ + { + "item": "brain_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_brain_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "brain_coral_fan", + "drops": [ + { + "item": "brain_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brewing_stand", + "drops": [ + { + "item": "brewing_stand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brick_slab", + "drops": [ + { + "item": "brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "brick_stairs", + "drops": [ + { + "item": "brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brick_wall", + "drops": [ + { + "item": "brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bricks", + "drops": [ + { + "item": "bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_banner", + "drops": [ + { + "item": "brown_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_bed", + "drops": [ + { + "item": "brown_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_carpet", + "drops": [ + { + "item": "brown_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_concrete", + "drops": [ + { + "item": "brown_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_concrete_powder", + "drops": [ + { + "item": "brown_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_glazed_terracotta", + "drops": [ + { + "item": "brown_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_mushroom", + "drops": [ + { + "item": "brown_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_mushroom_block", + "drops": [ + { + "item": "brown_mushroom_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "brown_mushroom", + "dropChance": 0.5, + "stackSizeRange": [ + 0, + null + ], + "noSilkTouch": true + } + ] + }, + { + "block": "brown_shulker_box", + "drops": [ + { + "item": "brown_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_stained_glass", + "drops": [ + { + "item": "brown_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brown_stained_glass_pane", + "drops": [ + { + "item": "brown_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "brown_terracotta", + "drops": [ + { + "item": "brown_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "brown_wool", + "drops": [ + { + "item": "brown_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "bubble_coral", + "drops": [ + { + "item": "bubble_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "bubble_coral_block", + "drops": [ + { + "item": "bubble_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_bubble_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "bubble_coral_fan", + "drops": [ + { + "item": "bubble_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "cactus", + "drops": [ + { + "item": "cactus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cake", + "drops": [] + }, + { + "block": "campfire", + "drops": [ + { + "item": "campfire", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "charcoal", + "dropChance": 0.5, + "stackSizeRange": [ + 2, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "carrots", + "drops": [ + { + "item": "carrot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "carrot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 7 + } + ] + }, + { + "block": "cartography_table", + "drops": [ + { + "item": "cartography_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "carved_pumpkin", + "drops": [ + { + "item": "carved_pumpkin", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cauldron", + "drops": [ + { + "item": "cauldron", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chain", + "drops": [ + { + "item": "chain", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chest", + "drops": [ + { + "item": "chest", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chipped_anvil", + "drops": [ + { + "item": "chipped_anvil", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_nether_bricks", + "drops": [ + { + "item": "chiseled_nether_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_polished_blackstone", + "drops": [ + { + "item": "chiseled_polished_blackstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_quartz_block", + "drops": [ + { + "item": "chiseled_quartz_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_red_sandstone", + "drops": [ + { + "item": "chiseled_red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_sandstone", + "drops": [ + { + "item": "chiseled_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chiseled_stone_bricks", + "drops": [ + { + "item": "chiseled_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chorus_flower", + "drops": [ + { + "item": "chorus_flower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "chorus_plant", + "drops": [ + { + "item": "chorus_fruit", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "clay", + "drops": [ + { + "item": "clay", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "clay_ball", + "dropChance": 0.5, + "stackSizeRange": [ + 4, + 4 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "coal_block", + "drops": [ + { + "item": "coal_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "coal_ore", + "drops": [ + { + "item": "coal_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "coal", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "coarse_dirt", + "drops": [ + { + "item": "coarse_dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobblestone", + "drops": [ + { + "item": "cobblestone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobblestone_slab", + "drops": [ + { + "item": "cobblestone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "cobblestone_stairs", + "drops": [ + { + "item": "cobblestone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobblestone_wall", + "drops": [ + { + "item": "cobblestone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cobweb", + "drops": [ + { + "item": "cobweb", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "string", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cocoa", + "drops": [ + { + "item": "cocoa_beans", + "dropChance": 1, + "stackSizeRange": [ + 3, + 3 + ] + } + ] + }, + { + "block": "comparator", + "drops": [ + { + "item": "comparator", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "composter", + "drops": [ + { + "item": "composter", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "conduit", + "drops": [ + { + "item": "conduit", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cornflower", + "drops": [ + { + "item": "cornflower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cracked_nether_bricks", + "drops": [ + { + "item": "cracked_nether_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cracked_polished_blackstone_bricks", + "drops": [ + { + "item": "cracked_polished_blackstone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cracked_stone_bricks", + "drops": [ + { + "item": "cracked_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crafting_table", + "drops": [ + { + "item": "crafting_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "creeper_head", + "drops": [ + { + "item": "creeper_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_button", + "drops": [ + { + "item": "crimson_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_door", + "drops": [ + { + "item": "crimson_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_fence", + "drops": [ + { + "item": "crimson_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_fence_gate", + "drops": [ + { + "item": "crimson_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_fungus", + "drops": [ + { + "item": "crimson_fungus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_hyphae", + "drops": [ + { + "item": "crimson_hyphae", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_nylium", + "drops": [ + { + "item": "crimson_nylium", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "netherrack", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "crimson_planks", + "drops": [ + { + "item": "crimson_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_pressure_plate", + "drops": [ + { + "item": "crimson_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_roots", + "drops": [ + { + "item": "crimson_roots", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_sign", + "drops": [ + { + "item": "crimson_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_slab", + "drops": [ + { + "item": "crimson_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "crimson_stairs", + "drops": [ + { + "item": "crimson_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_stem", + "drops": [ + { + "item": "crimson_stem", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crimson_trapdoor", + "drops": [ + { + "item": "crimson_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "crying_obsidian", + "drops": [ + { + "item": "crying_obsidian", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cut_red_sandstone", + "drops": [ + { + "item": "cut_red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cut_red_sandstone_slab", + "drops": [ + { + "item": "cut_red_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "cut_sandstone", + "drops": [ + { + "item": "cut_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cut_sandstone_slab", + "drops": [ + { + "item": "cut_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "cyan_banner", + "drops": [ + { + "item": "cyan_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_bed", + "drops": [ + { + "item": "cyan_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_carpet", + "drops": [ + { + "item": "cyan_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_concrete", + "drops": [ + { + "item": "cyan_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_concrete_powder", + "drops": [ + { + "item": "cyan_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_glazed_terracotta", + "drops": [ + { + "item": "cyan_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_shulker_box", + "drops": [ + { + "item": "cyan_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_stained_glass", + "drops": [ + { + "item": "cyan_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "cyan_stained_glass_pane", + "drops": [ + { + "item": "cyan_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "cyan_terracotta", + "drops": [ + { + "item": "cyan_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "cyan_wool", + "drops": [ + { + "item": "cyan_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "damaged_anvil", + "drops": [ + { + "item": "damaged_anvil", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dandelion", + "drops": [ + { + "item": "dandelion", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_button", + "drops": [ + { + "item": "dark_oak_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_door", + "drops": [ + { + "item": "dark_oak_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_fence", + "drops": [ + { + "item": "dark_oak_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_fence_gate", + "drops": [ + { + "item": "dark_oak_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_leaves", + "drops": [ + { + "item": "dark_oak_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dark_oak_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "apple", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_log", + "drops": [ + { + "item": "dark_oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_planks", + "drops": [ + { + "item": "dark_oak_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_pressure_plate", + "drops": [ + { + "item": "dark_oak_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_sapling", + "drops": [ + { + "item": "dark_oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_sign", + "drops": [ + { + "item": "dark_oak_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_slab", + "drops": [ + { + "item": "dark_oak_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "dark_oak_stairs", + "drops": [ + { + "item": "dark_oak_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_trapdoor", + "drops": [ + { + "item": "dark_oak_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_oak_wood", + "drops": [ + { + "item": "dark_oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_prismarine", + "drops": [ + { + "item": "dark_prismarine", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dark_prismarine_slab", + "drops": [ + { + "item": "dark_prismarine_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "dark_prismarine_stairs", + "drops": [ + { + "item": "dark_prismarine_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "daylight_detector", + "drops": [ + { + "item": "daylight_detector", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_brain_coral", + "drops": [ + { + "item": "dead_brain_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_brain_coral_block", + "drops": [ + { + "item": "dead_brain_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_brain_coral_fan", + "drops": [ + { + "item": "dead_brain_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_bubble_coral", + "drops": [ + { + "item": "dead_bubble_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_bubble_coral_block", + "drops": [ + { + "item": "dead_bubble_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_bubble_coral_fan", + "drops": [ + { + "item": "dead_bubble_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_bush", + "drops": [ + { + "item": "dead_bush", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_fire_coral", + "drops": [ + { + "item": "dead_fire_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_fire_coral_block", + "drops": [ + { + "item": "dead_fire_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_fire_coral_fan", + "drops": [ + { + "item": "dead_fire_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_horn_coral", + "drops": [ + { + "item": "dead_horn_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_horn_coral_block", + "drops": [ + { + "item": "dead_horn_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_horn_coral_fan", + "drops": [ + { + "item": "dead_horn_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_tube_coral", + "drops": [ + { + "item": "dead_tube_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "dead_tube_coral_block", + "drops": [ + { + "item": "dead_tube_coral_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dead_tube_coral_fan", + "drops": [ + { + "item": "dead_tube_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "detector_rail", + "drops": [ + { + "item": "detector_rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diamond_block", + "drops": [ + { + "item": "diamond_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diamond_ore", + "drops": [ + { + "item": "diamond_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "diamond", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "diorite", + "drops": [ + { + "item": "diorite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diorite_slab", + "drops": [ + { + "item": "diorite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "diorite_stairs", + "drops": [ + { + "item": "diorite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "diorite_wall", + "drops": [ + { + "item": "diorite_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dirt", + "drops": [ + { + "item": "dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dispenser", + "drops": [ + { + "item": "dispenser", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dragon_egg", + "drops": [ + { + "item": "dragon_egg", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dragon_head", + "drops": [ + { + "item": "dragon_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dried_kelp_block", + "drops": [ + { + "item": "dried_kelp_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "dropper", + "drops": [ + { + "item": "dropper", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "emerald_block", + "drops": [ + { + "item": "emerald_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "emerald_ore", + "drops": [ + { + "item": "emerald_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "emerald", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "enchanting_table", + "drops": [ + { + "item": "enchanting_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_rod", + "drops": [ + { + "item": "end_rod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone", + "drops": [ + { + "item": "end_stone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone_brick_slab", + "drops": [ + { + "item": "end_stone_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "end_stone_brick_stairs", + "drops": [ + { + "item": "end_stone_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone_brick_wall", + "drops": [ + { + "item": "end_stone_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "end_stone_bricks", + "drops": [ + { + "item": "end_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "ender_chest", + "drops": [ + { + "item": "ender_chest", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "obsidian", + "dropChance": 0.5, + "stackSizeRange": [ + 8, + 8 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "farmland", + "drops": [ + { + "item": "dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "fern", + "drops": [ + { + "item": "fern", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "fire", + "drops": [] + }, + { + "block": "fire_coral", + "drops": [ + { + "item": "fire_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "fire_coral_block", + "drops": [ + { + "item": "fire_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_fire_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "fire_coral_fan", + "drops": [ + { + "item": "fire_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "fletching_table", + "drops": [ + { + "item": "fletching_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "flower_pot", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "frosted_ice", + "drops": [] + }, + { + "block": "furnace", + "drops": [ + { + "item": "furnace", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gilded_blackstone", + "drops": [ + { + "item": "gilded_blackstone", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "gold_nugget", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + }, + { + "item": "gilded_blackstone", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "glass", + "drops": [ + { + "item": "glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "glass_pane", + "drops": [ + { + "item": "glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "glowstone", + "drops": [ + { + "item": "glowstone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "glowstone_dust", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "gold_block", + "drops": [ + { + "item": "gold_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gold_ore", + "drops": [ + { + "item": "gold_ore", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "granite", + "drops": [ + { + "item": "granite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "granite_slab", + "drops": [ + { + "item": "granite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "granite_stairs", + "drops": [ + { + "item": "granite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "granite_wall", + "drops": [ + { + "item": "granite_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "grass", + "drops": [ + { + "item": "grass", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "grass_block", + "drops": [ + { + "item": "grass_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dirt", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "grass_path", + "drops": [ + { + "item": "dirt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gravel", + "drops": [ + { + "item": "gravel", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "flint", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + }, + { + "item": "gravel", + "dropChance": 0.3333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "gray_banner", + "drops": [ + { + "item": "gray_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_bed", + "drops": [ + { + "item": "gray_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_carpet", + "drops": [ + { + "item": "gray_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_concrete", + "drops": [ + { + "item": "gray_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_concrete_powder", + "drops": [ + { + "item": "gray_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_glazed_terracotta", + "drops": [ + { + "item": "gray_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_shulker_box", + "drops": [ + { + "item": "gray_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_stained_glass", + "drops": [ + { + "item": "gray_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "gray_stained_glass_pane", + "drops": [ + { + "item": "gray_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "gray_terracotta", + "drops": [ + { + "item": "gray_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "gray_wool", + "drops": [ + { + "item": "gray_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_banner", + "drops": [ + { + "item": "green_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_bed", + "drops": [ + { + "item": "green_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_carpet", + "drops": [ + { + "item": "green_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_concrete", + "drops": [ + { + "item": "green_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_concrete_powder", + "drops": [ + { + "item": "green_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_glazed_terracotta", + "drops": [ + { + "item": "green_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_shulker_box", + "drops": [ + { + "item": "green_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_stained_glass", + "drops": [ + { + "item": "green_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "green_stained_glass_pane", + "drops": [ + { + "item": "green_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "green_terracotta", + "drops": [ + { + "item": "green_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "green_wool", + "drops": [ + { + "item": "green_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "grindstone", + "drops": [ + { + "item": "grindstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "hay_block", + "drops": [ + { + "item": "hay_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "heavy_weighted_pressure_plate", + "drops": [ + { + "item": "heavy_weighted_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "honey_block", + "drops": [ + { + "item": "honey_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "honeycomb_block", + "drops": [ + { + "item": "honeycomb_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "hopper", + "drops": [ + { + "item": "hopper", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "horn_coral", + "drops": [ + { + "item": "horn_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "horn_coral_block", + "drops": [ + { + "item": "horn_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_horn_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "horn_coral_fan", + "drops": [ + { + "item": "horn_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "ice", + "drops": [ + { + "item": "ice", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_chiseled_stone_bricks", + "drops": [ + { + "item": "chiseled_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_cobblestone", + "drops": [ + { + "item": "cobblestone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_cracked_stone_bricks", + "drops": [ + { + "item": "cracked_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_mossy_stone_bricks", + "drops": [ + { + "item": "mossy_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_stone", + "drops": [ + { + "item": "stone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "infested_stone_bricks", + "drops": [ + { + "item": "stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "iron_bars", + "drops": [ + { + "item": "iron_bars", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_block", + "drops": [ + { + "item": "iron_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_door", + "drops": [ + { + "item": "iron_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_ore", + "drops": [ + { + "item": "iron_ore", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "iron_trapdoor", + "drops": [ + { + "item": "iron_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jack_o_lantern", + "drops": [ + { + "item": "jack_o_lantern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jukebox", + "drops": [ + { + "item": "jukebox", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_button", + "drops": [ + { + "item": "jungle_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_door", + "drops": [ + { + "item": "jungle_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_fence", + "drops": [ + { + "item": "jungle_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_fence_gate", + "drops": [ + { + "item": "jungle_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_leaves", + "drops": [ + { + "item": "jungle_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "jungle_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_log", + "drops": [ + { + "item": "jungle_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_planks", + "drops": [ + { + "item": "jungle_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_pressure_plate", + "drops": [ + { + "item": "jungle_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_sapling", + "drops": [ + { + "item": "jungle_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_sign", + "drops": [ + { + "item": "jungle_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_slab", + "drops": [ + { + "item": "jungle_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "jungle_stairs", + "drops": [ + { + "item": "jungle_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_trapdoor", + "drops": [ + { + "item": "jungle_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "jungle_wood", + "drops": [ + { + "item": "jungle_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "kelp", + "drops": [ + { + "item": "kelp", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "kelp_plant", + "drops": [ + { + "item": "kelp", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "ladder", + "drops": [ + { + "item": "ladder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lantern", + "drops": [ + { + "item": "lantern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lapis_block", + "drops": [ + { + "item": "lapis_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lapis_ore", + "drops": [ + { + "item": "lapis_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "lapis_lazuli", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "large_fern", + "drops": [ + { + "item": "fern", + "dropChance": 0.5, + "stackSizeRange": [ + 2, + 2 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lectern", + "drops": [ + { + "item": "lectern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lever", + "drops": [ + { + "item": "lever", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_banner", + "drops": [ + { + "item": "light_blue_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_bed", + "drops": [ + { + "item": "light_blue_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_carpet", + "drops": [ + { + "item": "light_blue_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_concrete", + "drops": [ + { + "item": "light_blue_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_concrete_powder", + "drops": [ + { + "item": "light_blue_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_glazed_terracotta", + "drops": [ + { + "item": "light_blue_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_shulker_box", + "drops": [ + { + "item": "light_blue_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_stained_glass", + "drops": [ + { + "item": "light_blue_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_blue_stained_glass_pane", + "drops": [ + { + "item": "light_blue_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_blue_terracotta", + "drops": [ + { + "item": "light_blue_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_blue_wool", + "drops": [ + { + "item": "light_blue_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_banner", + "drops": [ + { + "item": "light_gray_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_bed", + "drops": [ + { + "item": "light_gray_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_carpet", + "drops": [ + { + "item": "light_gray_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_concrete", + "drops": [ + { + "item": "light_gray_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_concrete_powder", + "drops": [ + { + "item": "light_gray_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_glazed_terracotta", + "drops": [ + { + "item": "light_gray_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_shulker_box", + "drops": [ + { + "item": "light_gray_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_stained_glass", + "drops": [ + { + "item": "light_gray_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_gray_stained_glass_pane", + "drops": [ + { + "item": "light_gray_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "light_gray_terracotta", + "drops": [ + { + "item": "light_gray_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_gray_wool", + "drops": [ + { + "item": "light_gray_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "light_weighted_pressure_plate", + "drops": [ + { + "item": "light_weighted_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lilac", + "drops": [ + { + "item": "lilac", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lily_of_the_valley", + "drops": [ + { + "item": "lily_of_the_valley", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lily_pad", + "drops": [ + { + "item": "lily_pad", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_banner", + "drops": [ + { + "item": "lime_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_bed", + "drops": [ + { + "item": "lime_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_carpet", + "drops": [ + { + "item": "lime_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_concrete", + "drops": [ + { + "item": "lime_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_concrete_powder", + "drops": [ + { + "item": "lime_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_glazed_terracotta", + "drops": [ + { + "item": "lime_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_shulker_box", + "drops": [ + { + "item": "lime_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_stained_glass", + "drops": [ + { + "item": "lime_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "lime_stained_glass_pane", + "drops": [ + { + "item": "lime_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "lime_terracotta", + "drops": [ + { + "item": "lime_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lime_wool", + "drops": [ + { + "item": "lime_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "lodestone", + "drops": [ + { + "item": "lodestone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "loom", + "drops": [ + { + "item": "loom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_banner", + "drops": [ + { + "item": "magenta_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_bed", + "drops": [ + { + "item": "magenta_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_carpet", + "drops": [ + { + "item": "magenta_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_concrete", + "drops": [ + { + "item": "magenta_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_concrete_powder", + "drops": [ + { + "item": "magenta_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_glazed_terracotta", + "drops": [ + { + "item": "magenta_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_shulker_box", + "drops": [ + { + "item": "magenta_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_stained_glass", + "drops": [ + { + "item": "magenta_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "magenta_stained_glass_pane", + "drops": [ + { + "item": "magenta_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "magenta_terracotta", + "drops": [ + { + "item": "magenta_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magenta_wool", + "drops": [ + { + "item": "magenta_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "magma_block", + "drops": [ + { + "item": "magma_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "melon", + "drops": [ + { + "item": "melon", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "melon_slice", + "dropChance": 0.5, + "stackSizeRange": [ + null, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "melon_stem", + "drops": [ + { + "item": "melon_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_cobblestone", + "drops": [ + { + "item": "mossy_cobblestone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_cobblestone_slab", + "drops": [ + { + "item": "mossy_cobblestone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "mossy_cobblestone_stairs", + "drops": [ + { + "item": "mossy_cobblestone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_cobblestone_wall", + "drops": [ + { + "item": "mossy_cobblestone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_stone_brick_slab", + "drops": [ + { + "item": "mossy_stone_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "mossy_stone_brick_stairs", + "drops": [ + { + "item": "mossy_stone_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_stone_brick_wall", + "drops": [ + { + "item": "mossy_stone_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mossy_stone_bricks", + "drops": [ + { + "item": "mossy_stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "mushroom_stem", + "drops": [ + { + "item": "mushroom_stem", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "mycelium", + "drops": [ + { + "item": "mycelium", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dirt", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "nether_brick_fence", + "drops": [ + { + "item": "nether_brick_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_brick_slab", + "drops": [ + { + "item": "nether_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "nether_brick_stairs", + "drops": [ + { + "item": "nether_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_brick_wall", + "drops": [ + { + "item": "nether_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_bricks", + "drops": [ + { + "item": "nether_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_gold_ore", + "drops": [ + { + "item": "nether_gold_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "gold_nugget", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "nether_portal", + "drops": [] + }, + { + "block": "nether_quartz_ore", + "drops": [ + { + "item": "nether_quartz_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "quartz", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 2 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "nether_sprouts", + "drops": [ + { + "item": "nether_sprouts", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_wart", + "drops": [ + { + "item": "nether_wart", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "nether_wart_block", + "drops": [ + { + "item": "nether_wart_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "netherite_block", + "drops": [ + { + "item": "netherite_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "netherrack", + "drops": [ + { + "item": "netherrack", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "note_block", + "drops": [ + { + "item": "note_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_button", + "drops": [ + { + "item": "oak_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_door", + "drops": [ + { + "item": "oak_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_fence", + "drops": [ + { + "item": "oak_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_fence_gate", + "drops": [ + { + "item": "oak_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_leaves", + "drops": [ + { + "item": "oak_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "oak_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "apple", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_log", + "drops": [ + { + "item": "oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_planks", + "drops": [ + { + "item": "oak_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_pressure_plate", + "drops": [ + { + "item": "oak_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_sapling", + "drops": [ + { + "item": "oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_sign", + "drops": [ + { + "item": "oak_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_slab", + "drops": [ + { + "item": "oak_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "oak_stairs", + "drops": [ + { + "item": "oak_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_trapdoor", + "drops": [ + { + "item": "oak_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oak_wood", + "drops": [ + { + "item": "oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "observer", + "drops": [ + { + "item": "observer", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "obsidian", + "drops": [ + { + "item": "obsidian", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_banner", + "drops": [ + { + "item": "orange_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_bed", + "drops": [ + { + "item": "orange_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_carpet", + "drops": [ + { + "item": "orange_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_concrete", + "drops": [ + { + "item": "orange_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_concrete_powder", + "drops": [ + { + "item": "orange_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_glazed_terracotta", + "drops": [ + { + "item": "orange_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_shulker_box", + "drops": [ + { + "item": "orange_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_stained_glass", + "drops": [ + { + "item": "orange_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "orange_stained_glass_pane", + "drops": [ + { + "item": "orange_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "orange_terracotta", + "drops": [ + { + "item": "orange_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_tulip", + "drops": [ + { + "item": "orange_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "orange_wool", + "drops": [ + { + "item": "orange_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "oxeye_daisy", + "drops": [ + { + "item": "oxeye_daisy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "packed_ice", + "drops": [ + { + "item": "packed_ice", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "peony", + "drops": [ + { + "item": "peony", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "petrified_oak_slab", + "drops": [ + { + "item": "petrified_oak_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "pink_banner", + "drops": [ + { + "item": "pink_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_bed", + "drops": [ + { + "item": "pink_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_carpet", + "drops": [ + { + "item": "pink_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_concrete", + "drops": [ + { + "item": "pink_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_concrete_powder", + "drops": [ + { + "item": "pink_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_glazed_terracotta", + "drops": [ + { + "item": "pink_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_shulker_box", + "drops": [ + { + "item": "pink_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_stained_glass", + "drops": [ + { + "item": "pink_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "pink_stained_glass_pane", + "drops": [ + { + "item": "pink_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "pink_terracotta", + "drops": [ + { + "item": "pink_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_tulip", + "drops": [ + { + "item": "pink_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pink_wool", + "drops": [ + { + "item": "pink_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "piston", + "drops": [ + { + "item": "piston", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "player_head", + "drops": [ + { + "item": "player_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "podzol", + "drops": [ + { + "item": "podzol", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dirt", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "polished_andesite", + "drops": [ + { + "item": "polished_andesite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_andesite_slab", + "drops": [ + { + "item": "polished_andesite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_andesite_stairs", + "drops": [ + { + "item": "polished_andesite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_basalt", + "drops": [ + { + "item": "polished_basalt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone", + "drops": [ + { + "item": "polished_blackstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone_brick_slab", + "drops": [ + { + "item": "polished_blackstone_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_blackstone_brick_stairs", + "drops": [ + { + "item": "polished_blackstone_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone_brick_wall", + "drops": [ + { + "item": "polished_blackstone_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone_bricks", + "drops": [ + { + "item": "polished_blackstone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone_button", + "drops": [ + { + "item": "polished_blackstone_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone_pressure_plate", + "drops": [ + { + "item": "polished_blackstone_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone_slab", + "drops": [ + { + "item": "polished_blackstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_blackstone_stairs", + "drops": [ + { + "item": "polished_blackstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_blackstone_wall", + "drops": [ + { + "item": "polished_blackstone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_diorite", + "drops": [ + { + "item": "polished_diorite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_diorite_slab", + "drops": [ + { + "item": "polished_diorite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_diorite_stairs", + "drops": [ + { + "item": "polished_diorite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_granite", + "drops": [ + { + "item": "polished_granite", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "polished_granite_slab", + "drops": [ + { + "item": "polished_granite_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "polished_granite_stairs", + "drops": [ + { + "item": "polished_granite_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "poppy", + "drops": [ + { + "item": "poppy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potatoes", + "drops": [ + { + "item": "potato", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "potato", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 7 + }, + { + "item": "poisonous_potato", + "dropChance": 0.02, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 7 + } + ] + }, + { + "block": "potted_acacia_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "acacia_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_allium", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "allium", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_azure_bluet", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "azure_bluet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_bamboo", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_birch_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "birch_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_blue_orchid", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "blue_orchid", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_brown_mushroom", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "brown_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_cactus", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cactus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_cornflower", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cornflower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_crimson_fungus", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "crimson_fungus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_crimson_roots", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "crimson_roots", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_dandelion", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dandelion", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_dark_oak_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dark_oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_dead_bush", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "dead_bush", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_fern", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "fern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_jungle_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "jungle_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_lily_of_the_valley", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "lily_of_the_valley", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_oak_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "oak_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_orange_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "orange_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_oxeye_daisy", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "oxeye_daisy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_pink_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "pink_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_poppy", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "poppy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_red_mushroom", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "red_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_red_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "red_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_spruce_sapling", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spruce_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_warped_fungus", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "warped_fungus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_warped_roots", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "warped_roots", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_white_tulip", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "white_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "potted_wither_rose", + "drops": [ + { + "item": "flower_pot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wither_rose", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "powered_rail", + "drops": [ + { + "item": "powered_rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine", + "drops": [ + { + "item": "prismarine", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_brick_slab", + "drops": [ + { + "item": "prismarine_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "prismarine_brick_stairs", + "drops": [ + { + "item": "prismarine_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_bricks", + "drops": [ + { + "item": "prismarine_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_slab", + "drops": [ + { + "item": "prismarine_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "prismarine_stairs", + "drops": [ + { + "item": "prismarine_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "prismarine_wall", + "drops": [ + { + "item": "prismarine_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pumpkin", + "drops": [ + { + "item": "pumpkin", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "pumpkin_stem", + "drops": [ + { + "item": "pumpkin_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_banner", + "drops": [ + { + "item": "purple_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_bed", + "drops": [ + { + "item": "purple_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_carpet", + "drops": [ + { + "item": "purple_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_concrete", + "drops": [ + { + "item": "purple_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_concrete_powder", + "drops": [ + { + "item": "purple_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_glazed_terracotta", + "drops": [ + { + "item": "purple_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_shulker_box", + "drops": [ + { + "item": "purple_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_stained_glass", + "drops": [ + { + "item": "purple_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "purple_stained_glass_pane", + "drops": [ + { + "item": "purple_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "purple_terracotta", + "drops": [ + { + "item": "purple_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purple_wool", + "drops": [ + { + "item": "purple_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purpur_block", + "drops": [ + { + "item": "purpur_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purpur_pillar", + "drops": [ + { + "item": "purpur_pillar", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "purpur_slab", + "drops": [ + { + "item": "purpur_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "purpur_stairs", + "drops": [ + { + "item": "purpur_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "quartz_block", + "drops": [ + { + "item": "quartz_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "quartz_bricks", + "drops": [ + { + "item": "quartz_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "quartz_pillar", + "drops": [ + { + "item": "quartz_pillar", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "quartz_slab", + "drops": [ + { + "item": "quartz_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "quartz_stairs", + "drops": [ + { + "item": "quartz_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "rail", + "drops": [ + { + "item": "rail", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_banner", + "drops": [ + { + "item": "red_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_bed", + "drops": [ + { + "item": "red_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_carpet", + "drops": [ + { + "item": "red_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_concrete", + "drops": [ + { + "item": "red_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_concrete_powder", + "drops": [ + { + "item": "red_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_glazed_terracotta", + "drops": [ + { + "item": "red_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_mushroom", + "drops": [ + { + "item": "red_mushroom", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_mushroom_block", + "drops": [ + { + "item": "red_mushroom_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "red_mushroom", + "dropChance": 0.5, + "stackSizeRange": [ + 0, + null + ], + "noSilkTouch": true + } + ] + }, + { + "block": "red_nether_brick_slab", + "drops": [ + { + "item": "red_nether_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "red_nether_brick_stairs", + "drops": [ + { + "item": "red_nether_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_nether_brick_wall", + "drops": [ + { + "item": "red_nether_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_nether_bricks", + "drops": [ + { + "item": "red_nether_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sand", + "drops": [ + { + "item": "red_sand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sandstone", + "drops": [ + { + "item": "red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sandstone_slab", + "drops": [ + { + "item": "red_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "red_sandstone_stairs", + "drops": [ + { + "item": "red_sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_sandstone_wall", + "drops": [ + { + "item": "red_sandstone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_shulker_box", + "drops": [ + { + "item": "red_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_stained_glass", + "drops": [ + { + "item": "red_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "red_stained_glass_pane", + "drops": [ + { + "item": "red_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "red_terracotta", + "drops": [ + { + "item": "red_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_tulip", + "drops": [ + { + "item": "red_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "red_wool", + "drops": [ + { + "item": "red_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_block", + "drops": [ + { + "item": "redstone_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_lamp", + "drops": [ + { + "item": "redstone_lamp", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_ore", + "drops": [ + { + "item": "redstone_ore", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "redstone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "redstone_torch", + "drops": [ + { + "item": "redstone_torch", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "redstone_wire", + "drops": [ + { + "item": "redstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "repeater", + "drops": [ + { + "item": "repeater", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "respawn_anchor", + "drops": [ + { + "item": "respawn_anchor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "rose_bush", + "drops": [ + { + "item": "rose_bush", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sand", + "drops": [ + { + "item": "sand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sandstone", + "drops": [ + { + "item": "sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sandstone_slab", + "drops": [ + { + "item": "sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "sandstone_stairs", + "drops": [ + { + "item": "sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sandstone_wall", + "drops": [ + { + "item": "sandstone_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "scaffolding", + "drops": [ + { + "item": "scaffolding", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sea_lantern", + "drops": [ + { + "item": "sea_lantern", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "prismarine_crystals", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "sea_pickle", + "drops": [ + { + "item": "sea_pickle", + "dropChance": 1, + "stackSizeRange": [ + 4, + 4 + ] + } + ] + }, + { + "block": "seagrass", + "drops": [ + { + "item": "seagrass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "shroomlight", + "drops": [ + { + "item": "shroomlight", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "shulker_box", + "drops": [ + { + "item": "shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "skeleton_skull", + "drops": [ + { + "item": "skeleton_skull", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "slime_block", + "drops": [ + { + "item": "slime_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smithing_table", + "drops": [ + { + "item": "smithing_table", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smoker", + "drops": [ + { + "item": "smoker", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_quartz", + "drops": [ + { + "item": "smooth_quartz", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_quartz_slab", + "drops": [ + { + "item": "smooth_quartz_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "smooth_quartz_stairs", + "drops": [ + { + "item": "smooth_quartz_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_red_sandstone", + "drops": [ + { + "item": "smooth_red_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_red_sandstone_slab", + "drops": [ + { + "item": "smooth_red_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "smooth_red_sandstone_stairs", + "drops": [ + { + "item": "smooth_red_sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_sandstone", + "drops": [ + { + "item": "smooth_sandstone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_sandstone_slab", + "drops": [ + { + "item": "smooth_sandstone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "smooth_sandstone_stairs", + "drops": [ + { + "item": "smooth_sandstone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_stone", + "drops": [ + { + "item": "smooth_stone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "smooth_stone_slab", + "drops": [ + { + "item": "smooth_stone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "snow", + "drops": [ + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 2, + 2 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 3, + 3 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 4, + 4 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 5, + 5 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 6, + 6 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 7, + 7 + ] + }, + { + "item": "snowball", + "dropChance": 0.0625, + "stackSizeRange": [ + 8, + 8 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 2, + 2 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 3, + 3 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 4, + 4 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 5, + 5 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 6, + 6 + ] + }, + { + "item": "snow", + "dropChance": 0.0625, + "stackSizeRange": [ + 7, + 7 + ] + }, + { + "item": "snow_block", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "snow_block", + "drops": [ + { + "item": "snow_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "snowball", + "dropChance": 0.5, + "stackSizeRange": [ + 4, + 4 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "soul_campfire", + "drops": [ + { + "item": "soul_campfire", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "soul_soil", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "soul_fire", + "drops": [] + }, + { + "block": "soul_lantern", + "drops": [ + { + "item": "soul_lantern", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "soul_sand", + "drops": [ + { + "item": "soul_sand", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "soul_soil", + "drops": [ + { + "item": "soul_soil", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "soul_torch", + "drops": [ + { + "item": "soul_torch", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spawner", + "drops": [] + }, + { + "block": "sponge", + "drops": [ + { + "item": "sponge", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_button", + "drops": [ + { + "item": "spruce_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_door", + "drops": [ + { + "item": "spruce_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_fence", + "drops": [ + { + "item": "spruce_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_fence_gate", + "drops": [ + { + "item": "spruce_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_leaves", + "drops": [ + { + "item": "spruce_leaves", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spruce_sapling", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_log", + "drops": [ + { + "item": "spruce_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_planks", + "drops": [ + { + "item": "spruce_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_pressure_plate", + "drops": [ + { + "item": "spruce_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_sapling", + "drops": [ + { + "item": "spruce_sapling", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_sign", + "drops": [ + { + "item": "spruce_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_slab", + "drops": [ + { + "item": "spruce_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "spruce_stairs", + "drops": [ + { + "item": "spruce_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_trapdoor", + "drops": [ + { + "item": "spruce_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "spruce_wood", + "drops": [ + { + "item": "spruce_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sticky_piston", + "drops": [ + { + "item": "sticky_piston", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone", + "drops": [ + { + "item": "stone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "cobblestone", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "stone_brick_slab", + "drops": [ + { + "item": "stone_brick_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "stone_brick_stairs", + "drops": [ + { + "item": "stone_brick_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_brick_wall", + "drops": [ + { + "item": "stone_brick_wall", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_bricks", + "drops": [ + { + "item": "stone_bricks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_button", + "drops": [ + { + "item": "stone_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_pressure_plate", + "drops": [ + { + "item": "stone_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stone_slab", + "drops": [ + { + "item": "stone_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "stone_stairs", + "drops": [ + { + "item": "stone_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stonecutter", + "drops": [ + { + "item": "stonecutter", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_acacia_log", + "drops": [ + { + "item": "stripped_acacia_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_acacia_wood", + "drops": [ + { + "item": "stripped_acacia_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_birch_log", + "drops": [ + { + "item": "stripped_birch_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_birch_wood", + "drops": [ + { + "item": "stripped_birch_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_crimson_hyphae", + "drops": [ + { + "item": "stripped_crimson_hyphae", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_crimson_stem", + "drops": [ + { + "item": "stripped_crimson_stem", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_dark_oak_log", + "drops": [ + { + "item": "stripped_dark_oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_dark_oak_wood", + "drops": [ + { + "item": "stripped_dark_oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_jungle_log", + "drops": [ + { + "item": "stripped_jungle_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_jungle_wood", + "drops": [ + { + "item": "stripped_jungle_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_oak_log", + "drops": [ + { + "item": "stripped_oak_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_oak_wood", + "drops": [ + { + "item": "stripped_oak_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_spruce_log", + "drops": [ + { + "item": "stripped_spruce_log", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_spruce_wood", + "drops": [ + { + "item": "stripped_spruce_wood", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_warped_hyphae", + "drops": [ + { + "item": "stripped_warped_hyphae", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "stripped_warped_stem", + "drops": [ + { + "item": "stripped_warped_stem", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sugar_cane", + "drops": [ + { + "item": "sugar_cane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sunflower", + "drops": [ + { + "item": "sunflower", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "sweet_berry_bush", + "drops": [ + { + "item": "sweet_berries", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 3 + }, + { + "item": "sweet_berries", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 2 + } + ] + }, + { + "block": "tall_grass", + "drops": [ + { + "item": "grass", + "dropChance": 0.5, + "stackSizeRange": [ + 2, + 2 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 0.0625, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tall_seagrass", + "drops": [ + { + "item": "seagrass", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "target", + "drops": [ + { + "item": "target", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "terracotta", + "drops": [ + { + "item": "terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tnt", + "drops": [ + { + "item": "tnt", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "torch", + "drops": [ + { + "item": "torch", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "trapped_chest", + "drops": [ + { + "item": "trapped_chest", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tripwire", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tripwire_hook", + "drops": [ + { + "item": "tripwire_hook", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "tube_coral", + "drops": [ + { + "item": "tube_coral", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "tube_coral_block", + "drops": [ + { + "item": "tube_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "dead_tube_coral_block", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "tube_coral_fan", + "drops": [ + { + "item": "tube_coral_fan", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "turtle_egg", + "drops": [ + { + "item": "turtle_egg", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "twisting_vines", + "drops": [ + { + "item": "twisting_vines", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "twisting_vines_plant", + "drops": [ + { + "item": "twisting_vines", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "vine", + "drops": [ + { + "item": "vine", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_button", + "drops": [ + { + "item": "warped_button", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_door", + "drops": [ + { + "item": "warped_door", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_fence", + "drops": [ + { + "item": "warped_fence", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_fence_gate", + "drops": [ + { + "item": "warped_fence_gate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_fungus", + "drops": [ + { + "item": "warped_fungus", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_hyphae", + "drops": [ + { + "item": "warped_hyphae", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_nylium", + "drops": [ + { + "item": "warped_nylium", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + }, + { + "item": "netherrack", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "noSilkTouch": true + } + ] + }, + { + "block": "warped_planks", + "drops": [ + { + "item": "warped_planks", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_pressure_plate", + "drops": [ + { + "item": "warped_pressure_plate", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_roots", + "drops": [ + { + "item": "warped_roots", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_sign", + "drops": [ + { + "item": "warped_sign", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_slab", + "drops": [ + { + "item": "warped_slab", + "dropChance": 1, + "stackSizeRange": [ + 2, + 2 + ] + } + ] + }, + { + "block": "warped_stairs", + "drops": [ + { + "item": "warped_stairs", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_stem", + "drops": [ + { + "item": "warped_stem", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_trapdoor", + "drops": [ + { + "item": "warped_trapdoor", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "warped_wart_block", + "drops": [ + { + "item": "warped_wart_block", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "weeping_vines", + "drops": [ + { + "item": "weeping_vines", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "weeping_vines_plant", + "drops": [ + { + "item": "weeping_vines", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wet_sponge", + "drops": [ + { + "item": "wet_sponge", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wheat", + "drops": [ + { + "item": "wheat", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ], + "blockAge": 7 + }, + { + "item": "wheat_seeds", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wheat_seeds", + "dropChance": 1, + "stackSizeRange": [ + 1, + 4 + ], + "blockAge": 7 + } + ] + }, + { + "block": "white_banner", + "drops": [ + { + "item": "white_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_bed", + "drops": [ + { + "item": "white_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_carpet", + "drops": [ + { + "item": "white_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_concrete", + "drops": [ + { + "item": "white_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_concrete_powder", + "drops": [ + { + "item": "white_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_glazed_terracotta", + "drops": [ + { + "item": "white_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_shulker_box", + "drops": [ + { + "item": "white_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_stained_glass", + "drops": [ + { + "item": "white_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "white_stained_glass_pane", + "drops": [ + { + "item": "white_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "white_terracotta", + "drops": [ + { + "item": "white_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_tulip", + "drops": [ + { + "item": "white_tulip", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "white_wool", + "drops": [ + { + "item": "white_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wither_rose", + "drops": [ + { + "item": "wither_rose", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "wither_skeleton_skull", + "drops": [ + { + "item": "wither_skeleton_skull", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_banner", + "drops": [ + { + "item": "yellow_banner", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_bed", + "drops": [ + { + "item": "yellow_bed", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_carpet", + "drops": [ + { + "item": "yellow_carpet", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_concrete", + "drops": [ + { + "item": "yellow_concrete", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_concrete_powder", + "drops": [ + { + "item": "yellow_concrete_powder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_glazed_terracotta", + "drops": [ + { + "item": "yellow_glazed_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_shulker_box", + "drops": [ + { + "item": "yellow_shulker_box", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_stained_glass", + "drops": [ + { + "item": "yellow_stained_glass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "yellow_stained_glass_pane", + "drops": [ + { + "item": "yellow_stained_glass_pane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "silkTouch": true + } + ] + }, + { + "block": "yellow_terracotta", + "drops": [ + { + "item": "yellow_terracotta", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "yellow_wool", + "drops": [ + { + "item": "yellow_wool", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "block": "zombie_head", + "drops": [ + { + "item": "zombie_head", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/blocks.json new file mode 100644 index 00000000..7bcccf39 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/blocks.json @@ -0,0 +1,25442 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "minStateId": 0, + "maxStateId": 0, + "states": [], + "drops": [ + 0 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "minStateId": 1, + "maxStateId": 1, + "states": [], + "drops": [ + 1 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 1 + }, + { + "id": 2, + "displayName": "Granite", + "name": "granite", + "hardness": 1.5, + "minStateId": 2, + "maxStateId": 2, + "states": [], + "drops": [ + 2 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 2 + }, + { + "id": 3, + "displayName": "Polished Granite", + "name": "polished_granite", + "hardness": 1.5, + "minStateId": 3, + "maxStateId": 3, + "states": [], + "drops": [ + 3 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 3 + }, + { + "id": 4, + "displayName": "Diorite", + "name": "diorite", + "hardness": 1.5, + "minStateId": 4, + "maxStateId": 4, + "states": [], + "drops": [ + 4 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4 + }, + { + "id": 5, + "displayName": "Polished Diorite", + "name": "polished_diorite", + "hardness": 1.5, + "minStateId": 5, + "maxStateId": 5, + "states": [], + "drops": [ + 5 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 5 + }, + { + "id": 6, + "displayName": "Andesite", + "name": "andesite", + "hardness": 1.5, + "minStateId": 6, + "maxStateId": 6, + "states": [], + "drops": [ + 6 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6 + }, + { + "id": 7, + "displayName": "Polished Andesite", + "name": "polished_andesite", + "hardness": 1.5, + "minStateId": 7, + "maxStateId": 7, + "states": [], + "drops": [ + 7 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 7 + }, + { + "id": 8, + "displayName": "Grass Block", + "name": "grass_block", + "hardness": 0.6, + "minStateId": 8, + "maxStateId": 9, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 8 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9 + }, + { + "id": 9, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "minStateId": 10, + "maxStateId": 10, + "states": [], + "drops": [ + 9 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 10 + }, + { + "id": 10, + "displayName": "Coarse Dirt", + "name": "coarse_dirt", + "hardness": 0.5, + "minStateId": 11, + "maxStateId": 11, + "states": [], + "drops": [ + 10 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 11 + }, + { + "id": 11, + "displayName": "Podzol", + "name": "podzol", + "hardness": 0.5, + "minStateId": 12, + "maxStateId": 13, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 11 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 13 + }, + { + "id": 12, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "minStateId": 14, + "maxStateId": 14, + "states": [], + "drops": [ + 14 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 14 + }, + { + "id": 13, + "displayName": "Oak Planks", + "name": "oak_planks", + "hardness": 2, + "minStateId": 15, + "maxStateId": 15, + "states": [], + "drops": [ + 15 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15 + }, + { + "id": 14, + "displayName": "Spruce Planks", + "name": "spruce_planks", + "hardness": 2, + "minStateId": 16, + "maxStateId": 16, + "states": [], + "drops": [ + 16 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 16 + }, + { + "id": 15, + "displayName": "Birch Planks", + "name": "birch_planks", + "hardness": 2, + "minStateId": 17, + "maxStateId": 17, + "states": [], + "drops": [ + 17 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 17 + }, + { + "id": 16, + "displayName": "Jungle Planks", + "name": "jungle_planks", + "hardness": 2, + "minStateId": 18, + "maxStateId": 18, + "states": [], + "drops": [ + 18 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 18 + }, + { + "id": 17, + "displayName": "Acacia Planks", + "name": "acacia_planks", + "hardness": 2, + "minStateId": 19, + "maxStateId": 19, + "states": [], + "drops": [ + 19 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 19 + }, + { + "id": 18, + "displayName": "Dark Oak Planks", + "name": "dark_oak_planks", + "hardness": 2, + "minStateId": 20, + "maxStateId": 20, + "states": [], + "drops": [ + 20 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 20 + }, + { + "id": 19, + "displayName": "Oak Sapling", + "name": "oak_sapling", + "hardness": 0, + "minStateId": 21, + "maxStateId": 22, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 23 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 21 + }, + { + "id": 20, + "displayName": "Spruce Sapling", + "name": "spruce_sapling", + "hardness": 0, + "minStateId": 23, + "maxStateId": 24, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 24 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 23 + }, + { + "id": 21, + "displayName": "Birch Sapling", + "name": "birch_sapling", + "hardness": 0, + "minStateId": 25, + "maxStateId": 26, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 25 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 25 + }, + { + "id": 22, + "displayName": "Jungle Sapling", + "name": "jungle_sapling", + "hardness": 0, + "minStateId": 27, + "maxStateId": 28, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 26 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 27 + }, + { + "id": 23, + "displayName": "Acacia Sapling", + "name": "acacia_sapling", + "hardness": 0, + "minStateId": 29, + "maxStateId": 30, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 27 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 29 + }, + { + "id": 24, + "displayName": "Dark Oak Sapling", + "name": "dark_oak_sapling", + "hardness": 0, + "minStateId": 31, + "maxStateId": 32, + "states": [ + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 28 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 31 + }, + { + "id": 25, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "minStateId": 33, + "maxStateId": 33, + "states": [], + "drops": [ + 29 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 33 + }, + { + "id": 26, + "displayName": "Water", + "name": "water", + "hardness": 100, + "minStateId": 34, + "maxStateId": 49, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 16 + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 2, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 34 + }, + { + "id": 27, + "displayName": "Lava", + "name": "lava", + "hardness": 100, + "minStateId": 50, + "maxStateId": 65, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 16 + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 50 + }, + { + "id": 28, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "minStateId": 66, + "maxStateId": 66, + "states": [], + "drops": [ + 30 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "material": "dirt", + "defaultState": 66 + }, + { + "id": 29, + "displayName": "Red Sand", + "name": "red_sand", + "hardness": 0.5, + "minStateId": 67, + "maxStateId": 67, + "states": [], + "drops": [ + 31 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "material": "dirt", + "defaultState": 67 + }, + { + "id": 30, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "minStateId": 68, + "maxStateId": 68, + "states": [], + "drops": [ + 32 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 68 + }, + { + "id": 31, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "minStateId": 69, + "maxStateId": 69, + "states": [], + "drops": [ + 33 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "600": true, + "605": true + }, + "defaultState": 69 + }, + { + "id": 32, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "minStateId": 70, + "maxStateId": 70, + "states": [], + "drops": [ + 34 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "590": true, + "600": true, + "605": true + }, + "defaultState": 70 + }, + { + "id": 33, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "minStateId": 71, + "maxStateId": 71, + "states": [], + "drops": [ + 35 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 71 + }, + { + "id": 34, + "displayName": "Nether Gold Ore", + "name": "nether_gold_ore", + "hardness": 3, + "minStateId": 72, + "maxStateId": 72, + "states": [], + "drops": [ + 36 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 72 + }, + { + "id": 35, + "displayName": "Oak Log", + "name": "oak_log", + "hardness": 2, + "minStateId": 73, + "maxStateId": 75, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 37 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 74 + }, + { + "id": 36, + "displayName": "Spruce Log", + "name": "spruce_log", + "hardness": 2, + "minStateId": 76, + "maxStateId": 78, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 38 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 77 + }, + { + "id": 37, + "displayName": "Birch Log", + "name": "birch_log", + "hardness": 2, + "minStateId": 79, + "maxStateId": 81, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 39 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 80 + }, + { + "id": 38, + "displayName": "Jungle Log", + "name": "jungle_log", + "hardness": 2, + "minStateId": 82, + "maxStateId": 84, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 40 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 83 + }, + { + "id": 39, + "displayName": "Acacia Log", + "name": "acacia_log", + "hardness": 2, + "minStateId": 85, + "maxStateId": 87, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 41 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 86 + }, + { + "id": 40, + "displayName": "Dark Oak Log", + "name": "dark_oak_log", + "hardness": 2, + "minStateId": 88, + "maxStateId": 90, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 42 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 89 + }, + { + "id": 41, + "displayName": "Stripped Spruce Log", + "name": "stripped_spruce_log", + "hardness": 2, + "minStateId": 91, + "maxStateId": 93, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 46 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 92 + }, + { + "id": 42, + "displayName": "Stripped Birch Log", + "name": "stripped_birch_log", + "hardness": 2, + "minStateId": 94, + "maxStateId": 96, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 47 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 95 + }, + { + "id": 43, + "displayName": "Stripped Jungle Log", + "name": "stripped_jungle_log", + "hardness": 2, + "minStateId": 97, + "maxStateId": 99, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 48 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 98 + }, + { + "id": 44, + "displayName": "Stripped Acacia Log", + "name": "stripped_acacia_log", + "hardness": 2, + "minStateId": 100, + "maxStateId": 102, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 49 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 101 + }, + { + "id": 45, + "displayName": "Stripped Dark Oak Log", + "name": "stripped_dark_oak_log", + "hardness": 2, + "minStateId": 103, + "maxStateId": 105, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 50 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 104 + }, + { + "id": 46, + "displayName": "Stripped Oak Log", + "name": "stripped_oak_log", + "hardness": 2, + "minStateId": 106, + "maxStateId": 108, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 45 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 107 + }, + { + "id": 47, + "displayName": "Oak Wood", + "name": "oak_wood", + "hardness": 2, + "minStateId": 109, + "maxStateId": 111, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 61 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 110 + }, + { + "id": 48, + "displayName": "Spruce Wood", + "name": "spruce_wood", + "hardness": 2, + "minStateId": 112, + "maxStateId": 114, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 62 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 113 + }, + { + "id": 49, + "displayName": "Birch Wood", + "name": "birch_wood", + "hardness": 2, + "minStateId": 115, + "maxStateId": 117, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 63 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 116 + }, + { + "id": 50, + "displayName": "Jungle Wood", + "name": "jungle_wood", + "hardness": 2, + "minStateId": 118, + "maxStateId": 120, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 64 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 119 + }, + { + "id": 51, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "hardness": 2, + "minStateId": 121, + "maxStateId": 123, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 65 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 122 + }, + { + "id": 52, + "displayName": "Dark Oak Wood", + "name": "dark_oak_wood", + "hardness": 2, + "minStateId": 124, + "maxStateId": 126, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 66 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 125 + }, + { + "id": 53, + "displayName": "Stripped Oak Wood", + "name": "stripped_oak_wood", + "hardness": 2, + "minStateId": 127, + "maxStateId": 129, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 53 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 128 + }, + { + "id": 54, + "displayName": "Stripped Spruce Wood", + "name": "stripped_spruce_wood", + "hardness": 2, + "minStateId": 130, + "maxStateId": 132, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 54 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 131 + }, + { + "id": 55, + "displayName": "Stripped Birch Wood", + "name": "stripped_birch_wood", + "hardness": 2, + "minStateId": 133, + "maxStateId": 135, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 55 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 134 + }, + { + "id": 56, + "displayName": "Stripped Jungle Wood", + "name": "stripped_jungle_wood", + "hardness": 2, + "minStateId": 136, + "maxStateId": 138, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 56 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 137 + }, + { + "id": 57, + "displayName": "Stripped Acacia Wood", + "name": "stripped_acacia_wood", + "hardness": 2, + "minStateId": 139, + "maxStateId": 141, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 57 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 140 + }, + { + "id": 58, + "displayName": "Stripped Dark Oak Wood", + "name": "stripped_dark_oak_wood", + "hardness": 2, + "minStateId": 142, + "maxStateId": 144, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 58 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 143 + }, + { + "id": 59, + "displayName": "Oak Leaves", + "name": "oak_leaves", + "hardness": 0.2, + "minStateId": 145, + "maxStateId": 158, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 69 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 158 + }, + { + "id": 60, + "displayName": "Spruce Leaves", + "name": "spruce_leaves", + "hardness": 0.2, + "minStateId": 159, + "maxStateId": 172, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 70 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 172 + }, + { + "id": 61, + "displayName": "Birch Leaves", + "name": "birch_leaves", + "hardness": 0.2, + "minStateId": 173, + "maxStateId": 186, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 71 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 186 + }, + { + "id": 62, + "displayName": "Jungle Leaves", + "name": "jungle_leaves", + "hardness": 0.2, + "minStateId": 187, + "maxStateId": 200, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 72 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 200 + }, + { + "id": 63, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "hardness": 0.2, + "minStateId": 201, + "maxStateId": 214, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 73 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 214 + }, + { + "id": 64, + "displayName": "Dark Oak Leaves", + "name": "dark_oak_leaves", + "hardness": 0.2, + "minStateId": 215, + "maxStateId": 228, + "states": [ + { + "name": "distance", + "type": "enum", + "num_values": 7, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ] + }, + { + "name": "persistent", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 74 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 228 + }, + { + "id": 65, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "minStateId": 229, + "maxStateId": 229, + "states": [], + "drops": [ + 75 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 229 + }, + { + "id": 66, + "displayName": "Wet Sponge", + "name": "wet_sponge", + "hardness": 0.6, + "minStateId": 230, + "maxStateId": 230, + "states": [], + "drops": [ + 76 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 230 + }, + { + "id": 67, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "minStateId": 231, + "maxStateId": 231, + "states": [], + "drops": [ + 77 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 231 + }, + { + "id": 68, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "hardness": 3, + "minStateId": 232, + "maxStateId": 232, + "states": [], + "drops": [ + 78 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "590": true, + "600": true, + "605": true + }, + "defaultState": 232 + }, + { + "id": 69, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "hardness": 3, + "minStateId": 233, + "maxStateId": 233, + "states": [], + "drops": [ + 79 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "590": true, + "600": true, + "605": true + }, + "defaultState": 233 + }, + { + "id": 70, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "minStateId": 234, + "maxStateId": 245, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "triggered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 80 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 235 + }, + { + "id": 71, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "minStateId": 246, + "maxStateId": 246, + "states": [], + "drops": [ + 81 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 246 + }, + { + "id": 72, + "displayName": "Chiseled Sandstone", + "name": "chiseled_sandstone", + "hardness": 0.8, + "minStateId": 247, + "maxStateId": 247, + "states": [], + "drops": [ + 82 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 247 + }, + { + "id": 73, + "displayName": "Cut Sandstone", + "name": "cut_sandstone", + "hardness": 0.8, + "minStateId": 248, + "maxStateId": 248, + "states": [], + "drops": [ + 83 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 248 + }, + { + "id": 74, + "displayName": "Note Block", + "name": "note_block", + "hardness": 0.8, + "minStateId": 249, + "maxStateId": 1048, + "states": [ + { + "name": "instrument", + "type": "enum", + "num_values": 16, + "values": [ + "harp", + "basedrum", + "snare", + "hat", + "bass", + "flute", + "bell", + "guitar", + "chime", + "xylophone", + "iron_xylophone", + "cow_bell", + "didgeridoo", + "bit", + "banjo", + "pling" + ] + }, + { + "name": "note", + "type": "int", + "num_values": 25 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 84 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 250 + }, + { + "id": 75, + "displayName": "White Bed", + "name": "white_bed", + "hardness": 0.2, + "minStateId": 1049, + "maxStateId": 1064, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 716 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1052 + }, + { + "id": 76, + "displayName": "Orange Bed", + "name": "orange_bed", + "hardness": 0.2, + "minStateId": 1065, + "maxStateId": 1080, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 717 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1068 + }, + { + "id": 77, + "displayName": "Magenta Bed", + "name": "magenta_bed", + "hardness": 0.2, + "minStateId": 1081, + "maxStateId": 1096, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 718 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1084 + }, + { + "id": 78, + "displayName": "Light Blue Bed", + "name": "light_blue_bed", + "hardness": 0.2, + "minStateId": 1097, + "maxStateId": 1112, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 719 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1100 + }, + { + "id": 79, + "displayName": "Yellow Bed", + "name": "yellow_bed", + "hardness": 0.2, + "minStateId": 1113, + "maxStateId": 1128, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 720 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1116 + }, + { + "id": 80, + "displayName": "Lime Bed", + "name": "lime_bed", + "hardness": 0.2, + "minStateId": 1129, + "maxStateId": 1144, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 721 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1132 + }, + { + "id": 81, + "displayName": "Pink Bed", + "name": "pink_bed", + "hardness": 0.2, + "minStateId": 1145, + "maxStateId": 1160, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 722 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1148 + }, + { + "id": 82, + "displayName": "Gray Bed", + "name": "gray_bed", + "hardness": 0.2, + "minStateId": 1161, + "maxStateId": 1176, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 723 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1164 + }, + { + "id": 83, + "displayName": "Light Gray Bed", + "name": "light_gray_bed", + "hardness": 0.2, + "minStateId": 1177, + "maxStateId": 1192, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 724 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1180 + }, + { + "id": 84, + "displayName": "Cyan Bed", + "name": "cyan_bed", + "hardness": 0.2, + "minStateId": 1193, + "maxStateId": 1208, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 725 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1196 + }, + { + "id": 85, + "displayName": "Purple Bed", + "name": "purple_bed", + "hardness": 0.2, + "minStateId": 1209, + "maxStateId": 1224, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 726 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1212 + }, + { + "id": 86, + "displayName": "Blue Bed", + "name": "blue_bed", + "hardness": 0.2, + "minStateId": 1225, + "maxStateId": 1240, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 727 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1228 + }, + { + "id": 87, + "displayName": "Brown Bed", + "name": "brown_bed", + "hardness": 0.2, + "minStateId": 1241, + "maxStateId": 1256, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 728 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1244 + }, + { + "id": 88, + "displayName": "Green Bed", + "name": "green_bed", + "hardness": 0.2, + "minStateId": 1257, + "maxStateId": 1272, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 729 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1260 + }, + { + "id": 89, + "displayName": "Red Bed", + "name": "red_bed", + "hardness": 0.2, + "minStateId": 1273, + "maxStateId": 1288, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 730 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1276 + }, + { + "id": 90, + "displayName": "Black Bed", + "name": "black_bed", + "hardness": 0.2, + "minStateId": 1289, + "maxStateId": 1304, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "occupied", + "type": "bool", + "num_values": 2 + }, + { + "name": "part", + "type": "enum", + "num_values": 2, + "values": [ + "head", + "foot" + ] + } + ], + "drops": [ + 731 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 1292 + }, + { + "id": 91, + "displayName": "Powered Rail", + "name": "powered_rail", + "hardness": 0.7, + "minStateId": 1305, + "maxStateId": 1316, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 85 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 1311 + }, + { + "id": 92, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "minStateId": 1317, + "maxStateId": 1328, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 86 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 1323 + }, + { + "id": 93, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "hardness": 1.5, + "minStateId": 1329, + "maxStateId": 1340, + "states": [ + { + "name": "extended", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 87 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1335 + }, + { + "id": 94, + "displayName": "Cobweb", + "name": "cobweb", + "hardness": 4, + "minStateId": 1341, + "maxStateId": 1341, + "states": [], + "drops": [ + 88 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "web", + "harvestTools": { + "583": true, + "588": true, + "593": true, + "598": true, + "603": true, + "734": true + }, + "defaultState": 1341 + }, + { + "id": 95, + "displayName": "Grass", + "name": "grass", + "hardness": 0, + "minStateId": 1342, + "maxStateId": 1342, + "states": [], + "drops": [ + 89 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1342 + }, + { + "id": 96, + "displayName": "Fern", + "name": "fern", + "hardness": 0, + "minStateId": 1343, + "maxStateId": 1343, + "states": [], + "drops": [ + 90 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1343 + }, + { + "id": 97, + "displayName": "Dead Bush", + "name": "dead_bush", + "hardness": 0, + "minStateId": 1344, + "maxStateId": 1344, + "states": [], + "drops": [ + 91 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1344 + }, + { + "id": 98, + "displayName": "Seagrass", + "name": "seagrass", + "hardness": 0, + "minStateId": 1345, + "maxStateId": 1345, + "states": [], + "drops": [ + 92 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1345 + }, + { + "id": 99, + "displayName": "Tall Seagrass", + "name": "tall_seagrass", + "hardness": 0, + "minStateId": 1346, + "maxStateId": 1347, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 92 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1347 + }, + { + "id": 100, + "displayName": "Piston", + "name": "piston", + "hardness": 1.5, + "minStateId": 1348, + "maxStateId": 1359, + "states": [ + { + "name": "extended", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 94 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1354 + }, + { + "id": 101, + "displayName": "Piston Head", + "name": "piston_head", + "hardness": 1.5, + "minStateId": 1360, + "maxStateId": 1383, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "short", + "type": "bool", + "num_values": 2 + }, + { + "name": "type", + "type": "enum", + "num_values": 2, + "values": [ + "normal", + "sticky" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1362 + }, + { + "id": 102, + "displayName": "White Wool", + "name": "white_wool", + "hardness": 0.8, + "minStateId": 1384, + "maxStateId": 1384, + "states": [], + "drops": [ + 95 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1384 + }, + { + "id": 103, + "displayName": "Orange Wool", + "name": "orange_wool", + "hardness": 0.8, + "minStateId": 1385, + "maxStateId": 1385, + "states": [], + "drops": [ + 96 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1385 + }, + { + "id": 104, + "displayName": "Magenta Wool", + "name": "magenta_wool", + "hardness": 0.8, + "minStateId": 1386, + "maxStateId": 1386, + "states": [], + "drops": [ + 97 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1386 + }, + { + "id": 105, + "displayName": "Light Blue Wool", + "name": "light_blue_wool", + "hardness": 0.8, + "minStateId": 1387, + "maxStateId": 1387, + "states": [], + "drops": [ + 98 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1387 + }, + { + "id": 106, + "displayName": "Yellow Wool", + "name": "yellow_wool", + "hardness": 0.8, + "minStateId": 1388, + "maxStateId": 1388, + "states": [], + "drops": [ + 99 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1388 + }, + { + "id": 107, + "displayName": "Lime Wool", + "name": "lime_wool", + "hardness": 0.8, + "minStateId": 1389, + "maxStateId": 1389, + "states": [], + "drops": [ + 100 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1389 + }, + { + "id": 108, + "displayName": "Pink Wool", + "name": "pink_wool", + "hardness": 0.8, + "minStateId": 1390, + "maxStateId": 1390, + "states": [], + "drops": [ + 101 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1390 + }, + { + "id": 109, + "displayName": "Gray Wool", + "name": "gray_wool", + "hardness": 0.8, + "minStateId": 1391, + "maxStateId": 1391, + "states": [], + "drops": [ + 102 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1391 + }, + { + "id": 110, + "displayName": "Light Gray Wool", + "name": "light_gray_wool", + "hardness": 0.8, + "minStateId": 1392, + "maxStateId": 1392, + "states": [], + "drops": [ + 103 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1392 + }, + { + "id": 111, + "displayName": "Cyan Wool", + "name": "cyan_wool", + "hardness": 0.8, + "minStateId": 1393, + "maxStateId": 1393, + "states": [], + "drops": [ + 104 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1393 + }, + { + "id": 112, + "displayName": "Purple Wool", + "name": "purple_wool", + "hardness": 0.8, + "minStateId": 1394, + "maxStateId": 1394, + "states": [], + "drops": [ + 105 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1394 + }, + { + "id": 113, + "displayName": "Blue Wool", + "name": "blue_wool", + "hardness": 0.8, + "minStateId": 1395, + "maxStateId": 1395, + "states": [], + "drops": [ + 106 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1395 + }, + { + "id": 114, + "displayName": "Brown Wool", + "name": "brown_wool", + "hardness": 0.8, + "minStateId": 1396, + "maxStateId": 1396, + "states": [], + "drops": [ + 107 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1396 + }, + { + "id": 115, + "displayName": "Green Wool", + "name": "green_wool", + "hardness": 0.8, + "minStateId": 1397, + "maxStateId": 1397, + "states": [], + "drops": [ + 108 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1397 + }, + { + "id": 116, + "displayName": "Red Wool", + "name": "red_wool", + "hardness": 0.8, + "minStateId": 1398, + "maxStateId": 1398, + "states": [], + "drops": [ + 109 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1398 + }, + { + "id": 117, + "displayName": "Black Wool", + "name": "black_wool", + "hardness": 0.8, + "minStateId": 1399, + "maxStateId": 1399, + "states": [], + "drops": [ + 110 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wool", + "defaultState": 1399 + }, + { + "id": 118, + "displayName": "Moving Piston", + "name": "moving_piston", + "hardness": null, + "minStateId": 1400, + "maxStateId": 1411, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 2, + "values": [ + "normal", + "sticky" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1400 + }, + { + "id": 119, + "displayName": "Dandelion", + "name": "dandelion", + "hardness": 0, + "minStateId": 1412, + "maxStateId": 1412, + "states": [], + "drops": [ + 111 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1412 + }, + { + "id": 120, + "displayName": "Poppy", + "name": "poppy", + "hardness": 0, + "minStateId": 1413, + "maxStateId": 1413, + "states": [], + "drops": [ + 112 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1413 + }, + { + "id": 121, + "displayName": "Blue Orchid", + "name": "blue_orchid", + "hardness": 0, + "minStateId": 1414, + "maxStateId": 1414, + "states": [], + "drops": [ + 113 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1414 + }, + { + "id": 122, + "displayName": "Allium", + "name": "allium", + "hardness": 0, + "minStateId": 1415, + "maxStateId": 1415, + "states": [], + "drops": [ + 114 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1415 + }, + { + "id": 123, + "displayName": "Azure Bluet", + "name": "azure_bluet", + "hardness": 0, + "minStateId": 1416, + "maxStateId": 1416, + "states": [], + "drops": [ + 115 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1416 + }, + { + "id": 124, + "displayName": "Red Tulip", + "name": "red_tulip", + "hardness": 0, + "minStateId": 1417, + "maxStateId": 1417, + "states": [], + "drops": [ + 116 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1417 + }, + { + "id": 125, + "displayName": "Orange Tulip", + "name": "orange_tulip", + "hardness": 0, + "minStateId": 1418, + "maxStateId": 1418, + "states": [], + "drops": [ + 117 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1418 + }, + { + "id": 126, + "displayName": "White Tulip", + "name": "white_tulip", + "hardness": 0, + "minStateId": 1419, + "maxStateId": 1419, + "states": [], + "drops": [ + 118 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1419 + }, + { + "id": 127, + "displayName": "Pink Tulip", + "name": "pink_tulip", + "hardness": 0, + "minStateId": 1420, + "maxStateId": 1420, + "states": [], + "drops": [ + 119 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1420 + }, + { + "id": 128, + "displayName": "Oxeye Daisy", + "name": "oxeye_daisy", + "hardness": 0, + "minStateId": 1421, + "maxStateId": 1421, + "states": [], + "drops": [ + 120 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1421 + }, + { + "id": 129, + "displayName": "Cornflower", + "name": "cornflower", + "hardness": 0, + "minStateId": 1422, + "maxStateId": 1422, + "states": [], + "drops": [ + 121 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1422 + }, + { + "id": 130, + "displayName": "Wither Rose", + "name": "wither_rose", + "hardness": 0, + "minStateId": 1423, + "maxStateId": 1423, + "states": [], + "drops": [ + 123 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1423 + }, + { + "id": 131, + "displayName": "Lily of the Valley", + "name": "lily_of_the_valley", + "hardness": 0, + "minStateId": 1424, + "maxStateId": 1424, + "states": [], + "drops": [ + 122 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1424 + }, + { + "id": 132, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "minStateId": 1425, + "maxStateId": 1425, + "states": [], + "drops": [ + 124 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 1, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1425 + }, + { + "id": 133, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "minStateId": 1426, + "maxStateId": 1426, + "states": [], + "drops": [ + 125 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 1, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 1426 + }, + { + "id": 134, + "displayName": "Block of Gold", + "name": "gold_block", + "hardness": 3, + "minStateId": 1427, + "maxStateId": 1427, + "states": [], + "drops": [ + 136 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "600": true, + "605": true + }, + "defaultState": 1427 + }, + { + "id": 135, + "displayName": "Block of Iron", + "name": "iron_block", + "hardness": 5, + "minStateId": 1428, + "maxStateId": 1428, + "states": [], + "drops": [ + 137 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "590": true, + "600": true, + "605": true + }, + "defaultState": 1428 + }, + { + "id": 136, + "displayName": "Bricks", + "name": "bricks", + "hardness": 2, + "minStateId": 1429, + "maxStateId": 1429, + "states": [], + "drops": [ + 166 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 1429 + }, + { + "id": 137, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "minStateId": 1430, + "maxStateId": 1431, + "states": [ + { + "name": "unstable", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 167 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 1431 + }, + { + "id": 138, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "minStateId": 1432, + "maxStateId": 1432, + "states": [], + "drops": [ + 168 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 1432 + }, + { + "id": 139, + "displayName": "Mossy Cobblestone", + "name": "mossy_cobblestone", + "hardness": 2, + "minStateId": 1433, + "maxStateId": 1433, + "states": [], + "drops": [ + 169 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 1433 + }, + { + "id": 140, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "minStateId": 1434, + "maxStateId": 1434, + "states": [], + "drops": [ + 170 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "605": true + }, + "defaultState": 1434 + }, + { + "id": 141, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "minStateId": 1435, + "maxStateId": 1435, + "states": [], + "drops": [ + 171 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 14, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1435 + }, + { + "id": 142, + "displayName": "Wall Torch", + "name": "wall_torch", + "hardness": 0, + "minStateId": 1436, + "maxStateId": 1439, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 171 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 14, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 1436 + }, + { + "id": 143, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "minStateId": 1440, + "maxStateId": 1951, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 1471 + }, + { + "id": 144, + "displayName": "Soul Fire", + "name": "soul_fire", + "hardness": 0, + "minStateId": 1952, + "maxStateId": 1952, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 1952 + }, + { + "id": 145, + "displayName": "Spawner", + "name": "spawner", + "hardness": 5, + "minStateId": 1953, + "maxStateId": 1953, + "states": [], + "drops": [ + 178 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 1953 + }, + { + "id": 146, + "displayName": "Oak Stairs", + "name": "oak_stairs", + "hardness": 0, + "minStateId": 1954, + "maxStateId": 2033, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 179 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 1965 + }, + { + "id": 147, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "minStateId": 2034, + "maxStateId": 2057, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "single", + "left", + "right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 180 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 2035 + }, + { + "id": 148, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "hardness": 0, + "minStateId": 2058, + "maxStateId": 3353, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "power", + "type": "int", + "num_values": 16 + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "up", + "side", + "none" + ] + } + ], + "drops": [ + 665 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3218 + }, + { + "id": 149, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "minStateId": 3354, + "maxStateId": 3354, + "states": [], + "drops": [ + 181 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "600": true, + "605": true + }, + "defaultState": 3354 + }, + { + "id": 150, + "displayName": "Block of Diamond", + "name": "diamond_block", + "hardness": 5, + "minStateId": 3355, + "maxStateId": 3355, + "states": [], + "drops": [ + 182 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "600": true, + "605": true + }, + "defaultState": 3355 + }, + { + "id": 151, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "minStateId": 3356, + "maxStateId": 3356, + "states": [], + "drops": [ + 183 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3356 + }, + { + "id": 152, + "displayName": "Wheat Crops", + "name": "wheat", + "hardness": 0, + "minStateId": 3357, + "maxStateId": 3364, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 620 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 3357 + }, + { + "id": 153, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "minStateId": 3365, + "maxStateId": 3372, + "states": [ + { + "name": "moisture", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 184 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3365 + }, + { + "id": 154, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "minStateId": 3373, + "maxStateId": 3380, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 185 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 13, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 3374 + }, + { + "id": 155, + "displayName": "Oak Sign", + "name": "oak_sign", + "hardness": 1, + "minStateId": 3381, + "maxStateId": 3412, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 652 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3382 + }, + { + "id": 156, + "displayName": "Spruce Sign", + "name": "spruce_sign", + "hardness": 1, + "minStateId": 3413, + "maxStateId": 3444, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 653 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3414 + }, + { + "id": 157, + "displayName": "Birch Sign", + "name": "birch_sign", + "hardness": 1, + "minStateId": 3445, + "maxStateId": 3476, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 654 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3446 + }, + { + "id": 158, + "displayName": "Acacia Sign", + "name": "acacia_sign", + "hardness": 1, + "minStateId": 3477, + "maxStateId": 3508, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 656 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3478 + }, + { + "id": 159, + "displayName": "Jungle Sign", + "name": "jungle_sign", + "hardness": 1, + "minStateId": 3509, + "maxStateId": 3540, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 655 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3510 + }, + { + "id": 160, + "displayName": "Dark Oak Sign", + "name": "dark_oak_sign", + "hardness": 1, + "minStateId": 3541, + "maxStateId": 3572, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 657 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3542 + }, + { + "id": 161, + "displayName": "Oak Door", + "name": "oak_door", + "hardness": 3, + "minStateId": 3573, + "maxStateId": 3636, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 558 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3584 + }, + { + "id": 162, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "minStateId": 3637, + "maxStateId": 3644, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 186 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 3638 + }, + { + "id": 163, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "minStateId": 3645, + "maxStateId": 3654, + "states": [ + { + "name": "shape", + "type": "enum", + "num_values": 10, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south", + "south_east", + "south_west", + "north_west", + "north_east" + ] + } + ], + "drops": [ + 187 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 3645 + }, + { + "id": 164, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "hardness": 0, + "minStateId": 3655, + "maxStateId": 3734, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 188 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 3666 + }, + { + "id": 165, + "displayName": "Oak Wall Sign", + "name": "oak_wall_sign", + "hardness": 1, + "minStateId": 3735, + "maxStateId": 3742, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 652 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3736 + }, + { + "id": 166, + "displayName": "Spruce Wall Sign", + "name": "spruce_wall_sign", + "hardness": 1, + "minStateId": 3743, + "maxStateId": 3750, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 653 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3744 + }, + { + "id": 167, + "displayName": "Birch Wall Sign", + "name": "birch_wall_sign", + "hardness": 1, + "minStateId": 3751, + "maxStateId": 3758, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 654 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3752 + }, + { + "id": 168, + "displayName": "Acacia Wall Sign", + "name": "acacia_wall_sign", + "hardness": 1, + "minStateId": 3759, + "maxStateId": 3766, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 656 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3760 + }, + { + "id": 169, + "displayName": "Jungle Wall Sign", + "name": "jungle_wall_sign", + "hardness": 1, + "minStateId": 3767, + "maxStateId": 3774, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 655 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3768 + }, + { + "id": 170, + "displayName": "Dark Oak Wall Sign", + "name": "dark_oak_wall_sign", + "hardness": 1, + "minStateId": 3775, + "maxStateId": 3782, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 657 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 3776 + }, + { + "id": 171, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "minStateId": 3783, + "maxStateId": 3806, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 189 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3792 + }, + { + "id": 172, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "minStateId": 3807, + "maxStateId": 3808, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 190 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 3808 + }, + { + "id": 173, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "minStateId": 3809, + "maxStateId": 3872, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 557 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 3820 + }, + { + "id": 174, + "displayName": "Oak Pressure Plate", + "name": "oak_pressure_plate", + "hardness": 0.5, + "minStateId": 3873, + "maxStateId": 3874, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 191 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3874 + }, + { + "id": 175, + "displayName": "Spruce Pressure Plate", + "name": "spruce_pressure_plate", + "hardness": 0.5, + "minStateId": 3875, + "maxStateId": 3876, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 192 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3876 + }, + { + "id": 176, + "displayName": "Birch Pressure Plate", + "name": "birch_pressure_plate", + "hardness": 0.5, + "minStateId": 3877, + "maxStateId": 3878, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 193 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3878 + }, + { + "id": 177, + "displayName": "Jungle Pressure Plate", + "name": "jungle_pressure_plate", + "hardness": 0.5, + "minStateId": 3879, + "maxStateId": 3880, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 194 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3880 + }, + { + "id": 178, + "displayName": "Acacia Pressure Plate", + "name": "acacia_pressure_plate", + "hardness": 0.5, + "minStateId": 3881, + "maxStateId": 3882, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 195 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3882 + }, + { + "id": 179, + "displayName": "Dark Oak Pressure Plate", + "name": "dark_oak_pressure_plate", + "hardness": 0.5, + "minStateId": 3883, + "maxStateId": 3884, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 196 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 3884 + }, + { + "id": 180, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "minStateId": 3885, + "maxStateId": 3886, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 200 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 9, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "600": true, + "605": true + }, + "defaultState": 3886 + }, + { + "id": 181, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "hardness": 0, + "minStateId": 3887, + "maxStateId": 3888, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 201 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 7, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3887 + }, + { + "id": 182, + "displayName": "Redstone Wall Torch", + "name": "redstone_wall_torch", + "hardness": 0, + "minStateId": 3889, + "maxStateId": 3896, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 201 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 7, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 3889 + }, + { + "id": 183, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "minStateId": 3897, + "maxStateId": 3920, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 304 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 3906 + }, + { + "id": 184, + "displayName": "Snow", + "name": "snow", + "hardness": 0.1, + "minStateId": 3921, + "maxStateId": 3928, + "states": [ + { + "name": "layers", + "type": "enum", + "num_values": 8, + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8" + ] + } + ], + "drops": [ + 202 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "harvestTools": { + "584": true, + "589": true, + "594": true, + "599": true, + "604": true + }, + "defaultState": 3921 + }, + { + "id": 185, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "minStateId": 3929, + "maxStateId": 3929, + "states": [], + "drops": [ + 203 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 3929 + }, + { + "id": 186, + "displayName": "Snow Block", + "name": "snow_block", + "hardness": 0.2, + "minStateId": 3930, + "maxStateId": 3930, + "states": [], + "drops": [ + 204 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "harvestTools": { + "584": true, + "589": true, + "594": true, + "599": true, + "604": true + }, + "defaultState": 3930 + }, + { + "id": 187, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "minStateId": 3931, + "maxStateId": 3946, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 205 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3931 + }, + { + "id": 188, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "minStateId": 3947, + "maxStateId": 3947, + "states": [], + "drops": [ + 206 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 3947 + }, + { + "id": 189, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "hardness": 0, + "minStateId": 3948, + "maxStateId": 3963, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 133 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 3948 + }, + { + "id": 190, + "displayName": "Jukebox", + "name": "jukebox", + "hardness": 2, + "minStateId": 3964, + "maxStateId": 3965, + "states": [ + { + "name": "has_record", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 207 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3965 + }, + { + "id": 191, + "displayName": "Oak Fence", + "name": "oak_fence", + "hardness": 2, + "minStateId": 3966, + "maxStateId": 3997, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 208 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 3997 + }, + { + "id": 192, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "minStateId": 3998, + "maxStateId": 3998, + "states": [], + "drops": [ + 216 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 3998 + }, + { + "id": 193, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "minStateId": 3999, + "maxStateId": 3999, + "states": [], + "drops": [ + 218 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 3999 + }, + { + "id": 194, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "minStateId": 4000, + "maxStateId": 4000, + "states": [], + "drops": [ + 219 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 4000 + }, + { + "id": 195, + "displayName": "Soul Soil", + "name": "soul_soil", + "hardness": 0.5, + "minStateId": 4001, + "maxStateId": 4001, + "states": [], + "drops": [ + 220 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 4001 + }, + { + "id": 196, + "displayName": "Basalt", + "name": "basalt", + "hardness": 1.25, + "minStateId": 4002, + "maxStateId": 4004, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 221 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4003 + }, + { + "id": 197, + "displayName": "Polished Basalt", + "name": "polished_basalt", + "hardness": 1.25, + "minStateId": 4005, + "maxStateId": 4007, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 222 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4006 + }, + { + "id": 198, + "displayName": "Soul Torch", + "name": "soul_torch", + "hardness": 0, + "minStateId": 4008, + "maxStateId": 4008, + "states": [], + "drops": [ + 223 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 4008 + }, + { + "id": 199, + "displayName": "Soul Wall Torch", + "name": "soul_wall_torch", + "hardness": 0, + "minStateId": 4009, + "maxStateId": 4012, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 223 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 4009 + }, + { + "id": 200, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "minStateId": 4013, + "maxStateId": 4013, + "states": [], + "drops": [ + 224 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4013 + }, + { + "id": 201, + "displayName": "Nether Portal", + "name": "nether_portal", + "hardness": null, + "minStateId": 4014, + "maxStateId": 4015, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 2, + "values": [ + "x", + "z" + ] + } + ], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 11, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 4014 + }, + { + "id": 202, + "displayName": "Carved Pumpkin", + "name": "carved_pumpkin", + "hardness": 1, + "minStateId": 4016, + "maxStateId": 4019, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 217 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4016 + }, + { + "id": 203, + "displayName": "Jack o'Lantern", + "name": "jack_o_lantern", + "hardness": 1, + "minStateId": 4020, + "maxStateId": 4023, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 225 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4020 + }, + { + "id": 204, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "minStateId": 4024, + "maxStateId": 4030, + "states": [ + { + "name": "bites", + "type": "int", + "num_values": 7 + } + ], + "drops": [ + 715 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 4024 + }, + { + "id": 205, + "displayName": "Redstone Repeater", + "name": "repeater", + "hardness": 0, + "minStateId": 4031, + "maxStateId": 4094, + "states": [ + { + "name": "delay", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "locked", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 566 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4034 + }, + { + "id": 206, + "displayName": "White Stained Glass", + "name": "white_stained_glass", + "hardness": 0.3, + "minStateId": 4095, + "maxStateId": 4095, + "states": [], + "drops": [ + 379 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4095 + }, + { + "id": 207, + "displayName": "Orange Stained Glass", + "name": "orange_stained_glass", + "hardness": 0.3, + "minStateId": 4096, + "maxStateId": 4096, + "states": [], + "drops": [ + 380 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4096 + }, + { + "id": 208, + "displayName": "Magenta Stained Glass", + "name": "magenta_stained_glass", + "hardness": 0.3, + "minStateId": 4097, + "maxStateId": 4097, + "states": [], + "drops": [ + 381 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4097 + }, + { + "id": 209, + "displayName": "Light Blue Stained Glass", + "name": "light_blue_stained_glass", + "hardness": 0.3, + "minStateId": 4098, + "maxStateId": 4098, + "states": [], + "drops": [ + 382 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4098 + }, + { + "id": 210, + "displayName": "Yellow Stained Glass", + "name": "yellow_stained_glass", + "hardness": 0.3, + "minStateId": 4099, + "maxStateId": 4099, + "states": [], + "drops": [ + 383 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4099 + }, + { + "id": 211, + "displayName": "Lime Stained Glass", + "name": "lime_stained_glass", + "hardness": 0.3, + "minStateId": 4100, + "maxStateId": 4100, + "states": [], + "drops": [ + 384 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4100 + }, + { + "id": 212, + "displayName": "Pink Stained Glass", + "name": "pink_stained_glass", + "hardness": 0.3, + "minStateId": 4101, + "maxStateId": 4101, + "states": [], + "drops": [ + 385 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4101 + }, + { + "id": 213, + "displayName": "Gray Stained Glass", + "name": "gray_stained_glass", + "hardness": 0.3, + "minStateId": 4102, + "maxStateId": 4102, + "states": [], + "drops": [ + 386 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4102 + }, + { + "id": 214, + "displayName": "Light Gray Stained Glass", + "name": "light_gray_stained_glass", + "hardness": 0.3, + "minStateId": 4103, + "maxStateId": 4103, + "states": [], + "drops": [ + 387 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4103 + }, + { + "id": 215, + "displayName": "Cyan Stained Glass", + "name": "cyan_stained_glass", + "hardness": 0.3, + "minStateId": 4104, + "maxStateId": 4104, + "states": [], + "drops": [ + 388 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4104 + }, + { + "id": 216, + "displayName": "Purple Stained Glass", + "name": "purple_stained_glass", + "hardness": 0.3, + "minStateId": 4105, + "maxStateId": 4105, + "states": [], + "drops": [ + 389 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4105 + }, + { + "id": 217, + "displayName": "Blue Stained Glass", + "name": "blue_stained_glass", + "hardness": 0.3, + "minStateId": 4106, + "maxStateId": 4106, + "states": [], + "drops": [ + 390 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4106 + }, + { + "id": 218, + "displayName": "Brown Stained Glass", + "name": "brown_stained_glass", + "hardness": 0.3, + "minStateId": 4107, + "maxStateId": 4107, + "states": [], + "drops": [ + 391 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4107 + }, + { + "id": 219, + "displayName": "Green Stained Glass", + "name": "green_stained_glass", + "hardness": 0.3, + "minStateId": 4108, + "maxStateId": 4108, + "states": [], + "drops": [ + 392 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4108 + }, + { + "id": 220, + "displayName": "Red Stained Glass", + "name": "red_stained_glass", + "hardness": 0.3, + "minStateId": 4109, + "maxStateId": 4109, + "states": [], + "drops": [ + 393 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4109 + }, + { + "id": 221, + "displayName": "Black Stained Glass", + "name": "black_stained_glass", + "hardness": 0.3, + "minStateId": 4110, + "maxStateId": 4110, + "states": [], + "drops": [ + 394 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4110 + }, + { + "id": 222, + "displayName": "Oak Trapdoor", + "name": "oak_trapdoor", + "hardness": 3, + "minStateId": 4111, + "maxStateId": 4174, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 226 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4126 + }, + { + "id": 223, + "displayName": "Spruce Trapdoor", + "name": "spruce_trapdoor", + "hardness": 3, + "minStateId": 4175, + "maxStateId": 4238, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 227 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4190 + }, + { + "id": 224, + "displayName": "Birch Trapdoor", + "name": "birch_trapdoor", + "hardness": 3, + "minStateId": 4239, + "maxStateId": 4302, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 228 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4254 + }, + { + "id": 225, + "displayName": "Jungle Trapdoor", + "name": "jungle_trapdoor", + "hardness": 3, + "minStateId": 4303, + "maxStateId": 4366, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 229 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4318 + }, + { + "id": 226, + "displayName": "Acacia Trapdoor", + "name": "acacia_trapdoor", + "hardness": 3, + "minStateId": 4367, + "maxStateId": 4430, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 230 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4382 + }, + { + "id": 227, + "displayName": "Dark Oak Trapdoor", + "name": "dark_oak_trapdoor", + "hardness": 3, + "minStateId": 4431, + "maxStateId": 4494, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 231 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4446 + }, + { + "id": 228, + "displayName": "Stone Bricks", + "name": "stone_bricks", + "hardness": 1.5, + "minStateId": 4495, + "maxStateId": 4495, + "states": [], + "drops": [ + 240 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4495 + }, + { + "id": 229, + "displayName": "Mossy Stone Bricks", + "name": "mossy_stone_bricks", + "hardness": 1.5, + "minStateId": 4496, + "maxStateId": 4496, + "states": [], + "drops": [ + 241 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4496 + }, + { + "id": 230, + "displayName": "Cracked Stone Bricks", + "name": "cracked_stone_bricks", + "hardness": 1.5, + "minStateId": 4497, + "maxStateId": 4497, + "states": [], + "drops": [ + 242 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4497 + }, + { + "id": 231, + "displayName": "Chiseled Stone Bricks", + "name": "chiseled_stone_bricks", + "hardness": 1.5, + "minStateId": 4498, + "maxStateId": 4498, + "states": [], + "drops": [ + 243 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4498 + }, + { + "id": 232, + "displayName": "Infested Stone", + "name": "infested_stone", + "hardness": 0, + "minStateId": 4499, + "maxStateId": 4499, + "states": [], + "drops": [ + 234 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4499 + }, + { + "id": 233, + "displayName": "Infested Cobblestone", + "name": "infested_cobblestone", + "hardness": 0, + "minStateId": 4500, + "maxStateId": 4500, + "states": [], + "drops": [ + 235 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4500 + }, + { + "id": 234, + "displayName": "Infested Stone Bricks", + "name": "infested_stone_bricks", + "hardness": 0, + "minStateId": 4501, + "maxStateId": 4501, + "states": [], + "drops": [ + 236 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4501 + }, + { + "id": 235, + "displayName": "Infested Mossy Stone Bricks", + "name": "infested_mossy_stone_bricks", + "hardness": 0, + "minStateId": 4502, + "maxStateId": 4502, + "states": [], + "drops": [ + 237 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4502 + }, + { + "id": 236, + "displayName": "Infested Cracked Stone Bricks", + "name": "infested_cracked_stone_bricks", + "hardness": 0, + "minStateId": 4503, + "maxStateId": 4503, + "states": [], + "drops": [ + 238 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4503 + }, + { + "id": 237, + "displayName": "Infested Chiseled Stone Bricks", + "name": "infested_chiseled_stone_bricks", + "hardness": 0, + "minStateId": 4504, + "maxStateId": 4504, + "states": [], + "drops": [ + 239 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4504 + }, + { + "id": 238, + "displayName": "Brown Mushroom Block", + "name": "brown_mushroom_block", + "hardness": 0.2, + "minStateId": 4505, + "maxStateId": 4568, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 244 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4505 + }, + { + "id": 239, + "displayName": "Red Mushroom Block", + "name": "red_mushroom_block", + "hardness": 0.2, + "minStateId": 4569, + "maxStateId": 4632, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 245 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4569 + }, + { + "id": 240, + "displayName": "Mushroom Stem", + "name": "mushroom_stem", + "hardness": 0.2, + "minStateId": 4633, + "maxStateId": 4696, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 246 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4633 + }, + { + "id": 241, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "minStateId": 4697, + "maxStateId": 4728, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 247 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4728 + }, + { + "id": 242, + "displayName": "Chain", + "name": "chain", + "hardness": 5, + "minStateId": 4729, + "maxStateId": 4734, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 248 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4732 + }, + { + "id": 243, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "minStateId": 4735, + "maxStateId": 4766, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 249 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 4766 + }, + { + "id": 244, + "displayName": "Melon", + "name": "melon", + "hardness": 1, + "minStateId": 4767, + "maxStateId": 4767, + "states": [], + "drops": [ + 250 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 4767 + }, + { + "id": 245, + "displayName": "Attached Pumpkin Stem", + "name": "attached_pumpkin_stem", + "hardness": 0, + "minStateId": 4768, + "maxStateId": 4771, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4768 + }, + { + "id": 246, + "displayName": "Attached Melon Stem", + "name": "attached_melon_stem", + "hardness": 0, + "minStateId": 4772, + "maxStateId": 4775, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4772 + }, + { + "id": 247, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "minStateId": 4776, + "maxStateId": 4783, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 737 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4776 + }, + { + "id": 248, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "minStateId": 4784, + "maxStateId": 4791, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 738 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4784 + }, + { + "id": 249, + "displayName": "Vines", + "name": "vine", + "hardness": 0.2, + "minStateId": 4792, + "maxStateId": 4823, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 251 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 4823 + }, + { + "id": 250, + "displayName": "Oak Fence Gate", + "name": "oak_fence_gate", + "hardness": 2, + "minStateId": 4824, + "maxStateId": 4855, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 252 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 4831 + }, + { + "id": 251, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 0, + "minStateId": 4856, + "maxStateId": 4935, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 260 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4867 + }, + { + "id": 252, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 0, + "minStateId": 4936, + "maxStateId": 5015, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 261 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 4947 + }, + { + "id": 253, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "minStateId": 5016, + "maxStateId": 5017, + "states": [ + { + "name": "snowy", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 262 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 5017 + }, + { + "id": 254, + "displayName": "Lily Pad", + "name": "lily_pad", + "hardness": 0, + "minStateId": 5018, + "maxStateId": 5018, + "states": [], + "drops": [ + 263 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 5018 + }, + { + "id": 255, + "displayName": "Nether Bricks", + "name": "nether_bricks", + "hardness": 2, + "minStateId": 5019, + "maxStateId": 5019, + "states": [], + "drops": [ + 264 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 5019 + }, + { + "id": 256, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "minStateId": 5020, + "maxStateId": 5051, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 267 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 5051 + }, + { + "id": 257, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 0, + "minStateId": 5052, + "maxStateId": 5131, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 268 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 5063 + }, + { + "id": 258, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "minStateId": 5132, + "maxStateId": 5135, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 748 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 5132 + }, + { + "id": 259, + "displayName": "Enchanting Table", + "name": "enchanting_table", + "hardness": 5, + "minStateId": 5136, + "maxStateId": 5136, + "states": [], + "drops": [ + 269 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 5136 + }, + { + "id": 260, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "minStateId": 5137, + "maxStateId": 5144, + "states": [ + { + "name": "has_bottle_0", + "type": "bool", + "num_values": 2 + }, + { + "name": "has_bottle_1", + "type": "bool", + "num_values": 2 + }, + { + "name": "has_bottle_2", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 755 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 1, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 5144 + }, + { + "id": 261, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "minStateId": 5145, + "maxStateId": 5148, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 756 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 5145 + }, + { + "id": 262, + "displayName": "End Portal", + "name": "end_portal", + "hardness": null, + "minStateId": 5149, + "maxStateId": 5149, + "states": [], + "drops": [], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 5149 + }, + { + "id": 263, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "hardness": null, + "minStateId": 5150, + "maxStateId": 5157, + "states": [ + { + "name": "eye", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 270 + ], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 1, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5154 + }, + { + "id": 264, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "minStateId": 5158, + "maxStateId": 5158, + "states": [], + "drops": [ + 271 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 5158 + }, + { + "id": 265, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "hardness": 3, + "minStateId": 5159, + "maxStateId": 5159, + "states": [], + "drops": [ + 273 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5159 + }, + { + "id": 266, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "hardness": 0.3, + "minStateId": 5160, + "maxStateId": 5161, + "states": [ + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 274 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5161 + }, + { + "id": 267, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "minStateId": 5162, + "maxStateId": 5173, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 3 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 694 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 5162 + }, + { + "id": 268, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0, + "minStateId": 5174, + "maxStateId": 5253, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 275 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 5185 + }, + { + "id": 269, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "minStateId": 5254, + "maxStateId": 5254, + "states": [], + "drops": [ + 276 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "600": true, + "605": true + }, + "defaultState": 5254 + }, + { + "id": 270, + "displayName": "Ender Chest", + "name": "ender_chest", + "hardness": 22.5, + "minStateId": 5255, + "maxStateId": 5262, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 277 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 5256 + }, + { + "id": 271, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "minStateId": 5263, + "maxStateId": 5278, + "states": [ + { + "name": "attached", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 278 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 5272 + }, + { + "id": 272, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "minStateId": 5279, + "maxStateId": 5406, + "states": [ + { + "name": "attached", + "type": "bool", + "num_values": 2 + }, + { + "name": "disarmed", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 616 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 5406 + }, + { + "id": 273, + "displayName": "Block of Emerald", + "name": "emerald_block", + "hardness": 5, + "minStateId": 5407, + "maxStateId": 5407, + "states": [], + "drops": [ + 279 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "600": true, + "605": true + }, + "defaultState": 5407 + }, + { + "id": 274, + "displayName": "Spruce Stairs", + "name": "spruce_stairs", + "hardness": 0, + "minStateId": 5408, + "maxStateId": 5487, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 280 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5419 + }, + { + "id": 275, + "displayName": "Birch Stairs", + "name": "birch_stairs", + "hardness": 0, + "minStateId": 5488, + "maxStateId": 5567, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 281 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5499 + }, + { + "id": 276, + "displayName": "Jungle Stairs", + "name": "jungle_stairs", + "hardness": 0, + "minStateId": 5568, + "maxStateId": 5647, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 282 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 5579 + }, + { + "id": 277, + "displayName": "Command Block", + "name": "command_block", + "hardness": null, + "minStateId": 5648, + "maxStateId": 5659, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 285 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5654 + }, + { + "id": 278, + "displayName": "Beacon", + "name": "beacon", + "hardness": 3, + "minStateId": 5660, + "maxStateId": 5660, + "states": [], + "drops": [ + 286 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 5660 + }, + { + "id": 279, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 0, + "minStateId": 5661, + "maxStateId": 5984, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 287 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 5664 + }, + { + "id": 280, + "displayName": "Mossy Cobblestone Wall", + "name": "mossy_cobblestone_wall", + "hardness": 0, + "minStateId": 5985, + "maxStateId": 6308, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 288 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 5988 + }, + { + "id": 281, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "minStateId": 6309, + "maxStateId": 6309, + "states": [], + "drops": [ + 829 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6309 + }, + { + "id": 282, + "displayName": "Potted Oak Sapling", + "name": "potted_oak_sapling", + "hardness": 0, + "minStateId": 6310, + "maxStateId": 6310, + "states": [], + "drops": [ + 829, + 23 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6310 + }, + { + "id": 283, + "displayName": "Potted Spruce Sapling", + "name": "potted_spruce_sapling", + "hardness": 0, + "minStateId": 6311, + "maxStateId": 6311, + "states": [], + "drops": [ + 829, + 24 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6311 + }, + { + "id": 284, + "displayName": "Potted Birch Sapling", + "name": "potted_birch_sapling", + "hardness": 0, + "minStateId": 6312, + "maxStateId": 6312, + "states": [], + "drops": [ + 829, + 25 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6312 + }, + { + "id": 285, + "displayName": "Potted Jungle Sapling", + "name": "potted_jungle_sapling", + "hardness": 0, + "minStateId": 6313, + "maxStateId": 6313, + "states": [], + "drops": [ + 829, + 26 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6313 + }, + { + "id": 286, + "displayName": "Potted Acacia Sapling", + "name": "potted_acacia_sapling", + "hardness": 0, + "minStateId": 6314, + "maxStateId": 6314, + "states": [], + "drops": [ + 829, + 27 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6314 + }, + { + "id": 287, + "displayName": "Potted Dark Oak Sapling", + "name": "potted_dark_oak_sapling", + "hardness": 0, + "minStateId": 6315, + "maxStateId": 6315, + "states": [], + "drops": [ + 829, + 28 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6315 + }, + { + "id": 288, + "displayName": "Potted Fern", + "name": "potted_fern", + "hardness": 0, + "minStateId": 6316, + "maxStateId": 6316, + "states": [], + "drops": [ + 829, + 90 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6316 + }, + { + "id": 289, + "displayName": "Potted Dandelion", + "name": "potted_dandelion", + "hardness": 0, + "minStateId": 6317, + "maxStateId": 6317, + "states": [], + "drops": [ + 829, + 111 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "plant", + "defaultState": 6317 + }, + { + "id": 290, + "displayName": "Potted Poppy", + "name": "potted_poppy", + "hardness": 0, + "minStateId": 6318, + "maxStateId": 6318, + "states": [], + "drops": [ + 829, + 112 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6318 + }, + { + "id": 291, + "displayName": "Potted Blue Orchid", + "name": "potted_blue_orchid", + "hardness": 0, + "minStateId": 6319, + "maxStateId": 6319, + "states": [], + "drops": [ + 829, + 113 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6319 + }, + { + "id": 292, + "displayName": "Potted Allium", + "name": "potted_allium", + "hardness": 0, + "minStateId": 6320, + "maxStateId": 6320, + "states": [], + "drops": [ + 829, + 114 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6320 + }, + { + "id": 293, + "displayName": "Potted Azure Bluet", + "name": "potted_azure_bluet", + "hardness": 0, + "minStateId": 6321, + "maxStateId": 6321, + "states": [], + "drops": [ + 829, + 115 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6321 + }, + { + "id": 294, + "displayName": "Potted Red Tulip", + "name": "potted_red_tulip", + "hardness": 0, + "minStateId": 6322, + "maxStateId": 6322, + "states": [], + "drops": [ + 829, + 116 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6322 + }, + { + "id": 295, + "displayName": "Potted Orange Tulip", + "name": "potted_orange_tulip", + "hardness": 0, + "minStateId": 6323, + "maxStateId": 6323, + "states": [], + "drops": [ + 829, + 117 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6323 + }, + { + "id": 296, + "displayName": "Potted White Tulip", + "name": "potted_white_tulip", + "hardness": 0, + "minStateId": 6324, + "maxStateId": 6324, + "states": [], + "drops": [ + 829, + 118 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6324 + }, + { + "id": 297, + "displayName": "Potted Pink Tulip", + "name": "potted_pink_tulip", + "hardness": 0, + "minStateId": 6325, + "maxStateId": 6325, + "states": [], + "drops": [ + 829, + 119 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6325 + }, + { + "id": 298, + "displayName": "Potted Oxeye Daisy", + "name": "potted_oxeye_daisy", + "hardness": 0, + "minStateId": 6326, + "maxStateId": 6326, + "states": [], + "drops": [ + 829, + 120 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6326 + }, + { + "id": 299, + "displayName": "Potted Cornflower", + "name": "potted_cornflower", + "hardness": 0, + "minStateId": 6327, + "maxStateId": 6327, + "states": [], + "drops": [ + 829, + 121 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6327 + }, + { + "id": 300, + "displayName": "Potted Lily of the Valley", + "name": "potted_lily_of_the_valley", + "hardness": 0, + "minStateId": 6328, + "maxStateId": 6328, + "states": [], + "drops": [ + 829, + 122 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6328 + }, + { + "id": 301, + "displayName": "Potted Wither Rose", + "name": "potted_wither_rose", + "hardness": 0, + "minStateId": 6329, + "maxStateId": 6329, + "states": [], + "drops": [ + 829, + 123 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6329 + }, + { + "id": 302, + "displayName": "Potted Red Mushroom", + "name": "potted_red_mushroom", + "hardness": 0, + "minStateId": 6330, + "maxStateId": 6330, + "states": [], + "drops": [ + 829, + 125 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6330 + }, + { + "id": 303, + "displayName": "Potted Brown Mushroom", + "name": "potted_brown_mushroom", + "hardness": 0, + "minStateId": 6331, + "maxStateId": 6331, + "states": [], + "drops": [ + 829, + 124 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6331 + }, + { + "id": 304, + "displayName": "Potted Dead Bush", + "name": "potted_dead_bush", + "hardness": 0, + "minStateId": 6332, + "maxStateId": 6332, + "states": [], + "drops": [ + 829, + 91 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6332 + }, + { + "id": 305, + "displayName": "Potted Cactus", + "name": "potted_cactus", + "hardness": 0, + "minStateId": 6333, + "maxStateId": 6333, + "states": [], + "drops": [ + 829, + 205 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6333 + }, + { + "id": 306, + "displayName": "Carrots", + "name": "carrots", + "hardness": 0, + "minStateId": 6334, + "maxStateId": 6341, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 830 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 6334 + }, + { + "id": 307, + "displayName": "Potatoes", + "name": "potatoes", + "hardness": 0, + "minStateId": 6342, + "maxStateId": 6349, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 8 + } + ], + "drops": [ + 831 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 6342 + }, + { + "id": 308, + "displayName": "Oak Button", + "name": "oak_button", + "hardness": 0.5, + "minStateId": 6350, + "maxStateId": 6373, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 305 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 6359 + }, + { + "id": 309, + "displayName": "Spruce Button", + "name": "spruce_button", + "hardness": 0.5, + "minStateId": 6374, + "maxStateId": 6397, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 306 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 6383 + }, + { + "id": 310, + "displayName": "Birch Button", + "name": "birch_button", + "hardness": 0.5, + "minStateId": 6398, + "maxStateId": 6421, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 307 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 6407 + }, + { + "id": 311, + "displayName": "Jungle Button", + "name": "jungle_button", + "hardness": 0.5, + "minStateId": 6422, + "maxStateId": 6445, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 308 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 6431 + }, + { + "id": 312, + "displayName": "Acacia Button", + "name": "acacia_button", + "hardness": 0.5, + "minStateId": 6446, + "maxStateId": 6469, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 309 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 6455 + }, + { + "id": 313, + "displayName": "Dark Oak Button", + "name": "dark_oak_button", + "hardness": 0.5, + "minStateId": 6470, + "maxStateId": 6493, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 310 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "wood", + "defaultState": 6479 + }, + { + "id": 314, + "displayName": "Skeleton Skull", + "name": "skeleton_skull", + "hardness": 1, + "minStateId": 6494, + "maxStateId": 6509, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 836 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6494 + }, + { + "id": 315, + "displayName": "Skeleton Wall Skull", + "name": "skeleton_wall_skull", + "hardness": 1, + "minStateId": 6510, + "maxStateId": 6513, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 836 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6510 + }, + { + "id": 316, + "displayName": "Wither Skeleton Skull", + "name": "wither_skeleton_skull", + "hardness": 1, + "minStateId": 6514, + "maxStateId": 6529, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 837 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6514 + }, + { + "id": 317, + "displayName": "Wither Skeleton Wall Skull", + "name": "wither_skeleton_wall_skull", + "hardness": 1, + "minStateId": 6530, + "maxStateId": 6533, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 837 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6530 + }, + { + "id": 318, + "displayName": "Zombie Head", + "name": "zombie_head", + "hardness": 1, + "minStateId": 6534, + "maxStateId": 6549, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 839 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6534 + }, + { + "id": 319, + "displayName": "Zombie Wall Head", + "name": "zombie_wall_head", + "hardness": 1, + "minStateId": 6550, + "maxStateId": 6553, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 839 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6550 + }, + { + "id": 320, + "displayName": "Player Head", + "name": "player_head", + "hardness": 1, + "minStateId": 6554, + "maxStateId": 6569, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 838 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6554 + }, + { + "id": 321, + "displayName": "Player Wall Head", + "name": "player_wall_head", + "hardness": 1, + "minStateId": 6570, + "maxStateId": 6573, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 838 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6570 + }, + { + "id": 322, + "displayName": "Creeper Head", + "name": "creeper_head", + "hardness": 1, + "minStateId": 6574, + "maxStateId": 6589, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 840 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6574 + }, + { + "id": 323, + "displayName": "Creeper Wall Head", + "name": "creeper_wall_head", + "hardness": 1, + "minStateId": 6590, + "maxStateId": 6593, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 840 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6590 + }, + { + "id": 324, + "displayName": "Dragon Head", + "name": "dragon_head", + "hardness": 1, + "minStateId": 6594, + "maxStateId": 6609, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 841 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6594 + }, + { + "id": 325, + "displayName": "Dragon Wall Head", + "name": "dragon_wall_head", + "hardness": 1, + "minStateId": 6610, + "maxStateId": 6613, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 841 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6610 + }, + { + "id": 326, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "minStateId": 6614, + "maxStateId": 6617, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 314 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6614 + }, + { + "id": 327, + "displayName": "Chipped Anvil", + "name": "chipped_anvil", + "hardness": 5, + "minStateId": 6618, + "maxStateId": 6621, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 315 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6618 + }, + { + "id": 328, + "displayName": "Damaged Anvil", + "name": "damaged_anvil", + "hardness": 5, + "minStateId": 6622, + "maxStateId": 6625, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 316 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6622 + }, + { + "id": 329, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "minStateId": 6626, + "maxStateId": 6649, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "single", + "left", + "right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 317 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6627 + }, + { + "id": 330, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "hardness": 0.5, + "minStateId": 6650, + "maxStateId": 6665, + "states": [ + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 318 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6650 + }, + { + "id": 331, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "hardness": 0.5, + "minStateId": 6666, + "maxStateId": 6681, + "states": [ + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 319 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6666 + }, + { + "id": 332, + "displayName": "Redstone Comparator", + "name": "comparator", + "hardness": 0, + "minStateId": 6682, + "maxStateId": 6697, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "mode", + "type": "enum", + "num_values": 2, + "values": [ + "compare", + "subtract" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 567 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6683 + }, + { + "id": 333, + "displayName": "Daylight Detector", + "name": "daylight_detector", + "hardness": 0.2, + "minStateId": 6698, + "maxStateId": 6729, + "states": [ + { + "name": "inverted", + "type": "bool", + "num_values": 2 + }, + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 320 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 6714 + }, + { + "id": 334, + "displayName": "Block of Redstone", + "name": "redstone_block", + "hardness": 5, + "minStateId": 6730, + "maxStateId": 6730, + "states": [], + "drops": [ + 321 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6730 + }, + { + "id": 335, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "hardness": 3, + "minStateId": 6731, + "maxStateId": 6731, + "states": [], + "drops": [ + 322 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6731 + }, + { + "id": 336, + "displayName": "Hopper", + "name": "hopper", + "hardness": 3, + "minStateId": 6732, + "maxStateId": 6741, + "states": [ + { + "name": "enabled", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 5, + "values": [ + "down", + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 323 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6732 + }, + { + "id": 337, + "displayName": "Block of Quartz", + "name": "quartz_block", + "hardness": 0.8, + "minStateId": 6742, + "maxStateId": 6742, + "states": [], + "drops": [ + 325 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6742 + }, + { + "id": 338, + "displayName": "Chiseled Quartz Block", + "name": "chiseled_quartz_block", + "hardness": 0.8, + "minStateId": 6743, + "maxStateId": 6743, + "states": [], + "drops": [ + 324 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6743 + }, + { + "id": 339, + "displayName": "Quartz Pillar", + "name": "quartz_pillar", + "hardness": 0.8, + "minStateId": 6744, + "maxStateId": 6746, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 327 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6745 + }, + { + "id": 340, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0, + "minStateId": 6747, + "maxStateId": 6826, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 328 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6758 + }, + { + "id": 341, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "minStateId": 6827, + "maxStateId": 6838, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "shape", + "type": "enum", + "num_values": 6, + "values": [ + "north_south", + "east_west", + "ascending_east", + "ascending_west", + "ascending_north", + "ascending_south" + ] + } + ], + "drops": [ + 329 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "defaultState": 6833 + }, + { + "id": 342, + "displayName": "Dropper", + "name": "dropper", + "hardness": 3.5, + "minStateId": 6839, + "maxStateId": 6850, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "triggered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 330 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6840 + }, + { + "id": 343, + "displayName": "White Terracotta", + "name": "white_terracotta", + "hardness": 1.25, + "minStateId": 6851, + "maxStateId": 6851, + "states": [], + "drops": [ + 331 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6851 + }, + { + "id": 344, + "displayName": "Orange Terracotta", + "name": "orange_terracotta", + "hardness": 1.25, + "minStateId": 6852, + "maxStateId": 6852, + "states": [], + "drops": [ + 332 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6852 + }, + { + "id": 345, + "displayName": "Magenta Terracotta", + "name": "magenta_terracotta", + "hardness": 1.25, + "minStateId": 6853, + "maxStateId": 6853, + "states": [], + "drops": [ + 333 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6853 + }, + { + "id": 346, + "displayName": "Light Blue Terracotta", + "name": "light_blue_terracotta", + "hardness": 1.25, + "minStateId": 6854, + "maxStateId": 6854, + "states": [], + "drops": [ + 334 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6854 + }, + { + "id": 347, + "displayName": "Yellow Terracotta", + "name": "yellow_terracotta", + "hardness": 1.25, + "minStateId": 6855, + "maxStateId": 6855, + "states": [], + "drops": [ + 335 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6855 + }, + { + "id": 348, + "displayName": "Lime Terracotta", + "name": "lime_terracotta", + "hardness": 1.25, + "minStateId": 6856, + "maxStateId": 6856, + "states": [], + "drops": [ + 336 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6856 + }, + { + "id": 349, + "displayName": "Pink Terracotta", + "name": "pink_terracotta", + "hardness": 1.25, + "minStateId": 6857, + "maxStateId": 6857, + "states": [], + "drops": [ + 337 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6857 + }, + { + "id": 350, + "displayName": "Gray Terracotta", + "name": "gray_terracotta", + "hardness": 1.25, + "minStateId": 6858, + "maxStateId": 6858, + "states": [], + "drops": [ + 338 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6858 + }, + { + "id": 351, + "displayName": "Light Gray Terracotta", + "name": "light_gray_terracotta", + "hardness": 1.25, + "minStateId": 6859, + "maxStateId": 6859, + "states": [], + "drops": [ + 339 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6859 + }, + { + "id": 352, + "displayName": "Cyan Terracotta", + "name": "cyan_terracotta", + "hardness": 1.25, + "minStateId": 6860, + "maxStateId": 6860, + "states": [], + "drops": [ + 340 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6860 + }, + { + "id": 353, + "displayName": "Purple Terracotta", + "name": "purple_terracotta", + "hardness": 1.25, + "minStateId": 6861, + "maxStateId": 6861, + "states": [], + "drops": [ + 341 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6861 + }, + { + "id": 354, + "displayName": "Blue Terracotta", + "name": "blue_terracotta", + "hardness": 1.25, + "minStateId": 6862, + "maxStateId": 6862, + "states": [], + "drops": [ + 342 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6862 + }, + { + "id": 355, + "displayName": "Brown Terracotta", + "name": "brown_terracotta", + "hardness": 1.25, + "minStateId": 6863, + "maxStateId": 6863, + "states": [], + "drops": [ + 343 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6863 + }, + { + "id": 356, + "displayName": "Green Terracotta", + "name": "green_terracotta", + "hardness": 1.25, + "minStateId": 6864, + "maxStateId": 6864, + "states": [], + "drops": [ + 344 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6864 + }, + { + "id": 357, + "displayName": "Red Terracotta", + "name": "red_terracotta", + "hardness": 1.25, + "minStateId": 6865, + "maxStateId": 6865, + "states": [], + "drops": [ + 345 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6865 + }, + { + "id": 358, + "displayName": "Black Terracotta", + "name": "black_terracotta", + "hardness": 1.25, + "minStateId": 6866, + "maxStateId": 6866, + "states": [], + "drops": [ + 346 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 6866 + }, + { + "id": 359, + "displayName": "White Stained Glass Pane", + "name": "white_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6867, + "maxStateId": 6898, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 395 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6898 + }, + { + "id": 360, + "displayName": "Orange Stained Glass Pane", + "name": "orange_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6899, + "maxStateId": 6930, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 396 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6930 + }, + { + "id": 361, + "displayName": "Magenta Stained Glass Pane", + "name": "magenta_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6931, + "maxStateId": 6962, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 397 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6962 + }, + { + "id": 362, + "displayName": "Light Blue Stained Glass Pane", + "name": "light_blue_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6963, + "maxStateId": 6994, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 398 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 6994 + }, + { + "id": 363, + "displayName": "Yellow Stained Glass Pane", + "name": "yellow_stained_glass_pane", + "hardness": 0.3, + "minStateId": 6995, + "maxStateId": 7026, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 399 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7026 + }, + { + "id": 364, + "displayName": "Lime Stained Glass Pane", + "name": "lime_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7027, + "maxStateId": 7058, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 400 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7058 + }, + { + "id": 365, + "displayName": "Pink Stained Glass Pane", + "name": "pink_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7059, + "maxStateId": 7090, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 401 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7090 + }, + { + "id": 366, + "displayName": "Gray Stained Glass Pane", + "name": "gray_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7091, + "maxStateId": 7122, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 402 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7122 + }, + { + "id": 367, + "displayName": "Light Gray Stained Glass Pane", + "name": "light_gray_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7123, + "maxStateId": 7154, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 403 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7154 + }, + { + "id": 368, + "displayName": "Cyan Stained Glass Pane", + "name": "cyan_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7155, + "maxStateId": 7186, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 404 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7186 + }, + { + "id": 369, + "displayName": "Purple Stained Glass Pane", + "name": "purple_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7187, + "maxStateId": 7218, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 405 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7218 + }, + { + "id": 370, + "displayName": "Blue Stained Glass Pane", + "name": "blue_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7219, + "maxStateId": 7250, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 406 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7250 + }, + { + "id": 371, + "displayName": "Brown Stained Glass Pane", + "name": "brown_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7251, + "maxStateId": 7282, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 407 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7282 + }, + { + "id": 372, + "displayName": "Green Stained Glass Pane", + "name": "green_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7283, + "maxStateId": 7314, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 408 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7314 + }, + { + "id": 373, + "displayName": "Red Stained Glass Pane", + "name": "red_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7315, + "maxStateId": 7346, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 409 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7346 + }, + { + "id": 374, + "displayName": "Black Stained Glass Pane", + "name": "black_stained_glass_pane", + "hardness": 0.3, + "minStateId": 7347, + "maxStateId": 7378, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 410 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7378 + }, + { + "id": 375, + "displayName": "Acacia Stairs", + "name": "acacia_stairs", + "hardness": 0, + "minStateId": 7379, + "maxStateId": 7458, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 369 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7390 + }, + { + "id": 376, + "displayName": "Dark Oak Stairs", + "name": "dark_oak_stairs", + "hardness": 0, + "minStateId": 7459, + "maxStateId": 7538, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 370 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 7470 + }, + { + "id": 377, + "displayName": "Slime Block", + "name": "slime_block", + "hardness": 0, + "minStateId": 7539, + "maxStateId": 7539, + "states": [], + "drops": [ + 371 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7539 + }, + { + "id": 378, + "displayName": "Barrier", + "name": "barrier", + "hardness": null, + "minStateId": 7540, + "maxStateId": 7540, + "states": [], + "drops": [ + 347 + ], + "diggable": false, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7540 + }, + { + "id": 379, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "minStateId": 7541, + "maxStateId": 7604, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 348 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 7556 + }, + { + "id": 380, + "displayName": "Prismarine", + "name": "prismarine", + "hardness": 1.5, + "minStateId": 7605, + "maxStateId": 7605, + "states": [], + "drops": [ + 411 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 7605 + }, + { + "id": 381, + "displayName": "Prismarine Bricks", + "name": "prismarine_bricks", + "hardness": 1.5, + "minStateId": 7606, + "maxStateId": 7606, + "states": [], + "drops": [ + 412 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 7606 + }, + { + "id": 382, + "displayName": "Dark Prismarine", + "name": "dark_prismarine", + "hardness": 1.5, + "minStateId": 7607, + "maxStateId": 7607, + "states": [], + "drops": [ + 413 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 7607 + }, + { + "id": 383, + "displayName": "Prismarine Stairs", + "name": "prismarine_stairs", + "hardness": 0, + "minStateId": 7608, + "maxStateId": 7687, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 414 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 7619 + }, + { + "id": 384, + "displayName": "Prismarine Brick Stairs", + "name": "prismarine_brick_stairs", + "hardness": 0, + "minStateId": 7688, + "maxStateId": 7767, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 415 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 7699 + }, + { + "id": 385, + "displayName": "Dark Prismarine Stairs", + "name": "dark_prismarine_stairs", + "hardness": 0, + "minStateId": 7768, + "maxStateId": 7847, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 416 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 7779 + }, + { + "id": 386, + "displayName": "Prismarine Slab", + "name": "prismarine_slab", + "hardness": 1.5, + "minStateId": 7848, + "maxStateId": 7853, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 159 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 7851 + }, + { + "id": 387, + "displayName": "Prismarine Brick Slab", + "name": "prismarine_brick_slab", + "hardness": 1.5, + "minStateId": 7854, + "maxStateId": 7859, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 160 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 7857 + }, + { + "id": 388, + "displayName": "Dark Prismarine Slab", + "name": "dark_prismarine_slab", + "hardness": 1.5, + "minStateId": 7860, + "maxStateId": 7865, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 161 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 7863 + }, + { + "id": 389, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "hardness": 0.3, + "minStateId": 7866, + "maxStateId": 7866, + "states": [], + "drops": [ + 417 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 15, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7866 + }, + { + "id": 390, + "displayName": "Hay Bale", + "name": "hay_block", + "hardness": 0.5, + "minStateId": 7867, + "maxStateId": 7869, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 349 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7868 + }, + { + "id": 391, + "displayName": "White Carpet", + "name": "white_carpet", + "hardness": 0.1, + "minStateId": 7870, + "maxStateId": 7870, + "states": [], + "drops": [ + 350 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7870 + }, + { + "id": 392, + "displayName": "Orange Carpet", + "name": "orange_carpet", + "hardness": 0.1, + "minStateId": 7871, + "maxStateId": 7871, + "states": [], + "drops": [ + 351 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7871 + }, + { + "id": 393, + "displayName": "Magenta Carpet", + "name": "magenta_carpet", + "hardness": 0.1, + "minStateId": 7872, + "maxStateId": 7872, + "states": [], + "drops": [ + 352 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7872 + }, + { + "id": 394, + "displayName": "Light Blue Carpet", + "name": "light_blue_carpet", + "hardness": 0.1, + "minStateId": 7873, + "maxStateId": 7873, + "states": [], + "drops": [ + 353 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7873 + }, + { + "id": 395, + "displayName": "Yellow Carpet", + "name": "yellow_carpet", + "hardness": 0.1, + "minStateId": 7874, + "maxStateId": 7874, + "states": [], + "drops": [ + 354 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7874 + }, + { + "id": 396, + "displayName": "Lime Carpet", + "name": "lime_carpet", + "hardness": 0.1, + "minStateId": 7875, + "maxStateId": 7875, + "states": [], + "drops": [ + 355 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7875 + }, + { + "id": 397, + "displayName": "Pink Carpet", + "name": "pink_carpet", + "hardness": 0.1, + "minStateId": 7876, + "maxStateId": 7876, + "states": [], + "drops": [ + 356 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7876 + }, + { + "id": 398, + "displayName": "Gray Carpet", + "name": "gray_carpet", + "hardness": 0.1, + "minStateId": 7877, + "maxStateId": 7877, + "states": [], + "drops": [ + 357 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7877 + }, + { + "id": 399, + "displayName": "Light Gray Carpet", + "name": "light_gray_carpet", + "hardness": 0.1, + "minStateId": 7878, + "maxStateId": 7878, + "states": [], + "drops": [ + 358 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7878 + }, + { + "id": 400, + "displayName": "Cyan Carpet", + "name": "cyan_carpet", + "hardness": 0.1, + "minStateId": 7879, + "maxStateId": 7879, + "states": [], + "drops": [ + 359 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7879 + }, + { + "id": 401, + "displayName": "Purple Carpet", + "name": "purple_carpet", + "hardness": 0.1, + "minStateId": 7880, + "maxStateId": 7880, + "states": [], + "drops": [ + 360 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7880 + }, + { + "id": 402, + "displayName": "Blue Carpet", + "name": "blue_carpet", + "hardness": 0.1, + "minStateId": 7881, + "maxStateId": 7881, + "states": [], + "drops": [ + 361 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7881 + }, + { + "id": 403, + "displayName": "Brown Carpet", + "name": "brown_carpet", + "hardness": 0.1, + "minStateId": 7882, + "maxStateId": 7882, + "states": [], + "drops": [ + 362 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7882 + }, + { + "id": 404, + "displayName": "Green Carpet", + "name": "green_carpet", + "hardness": 0.1, + "minStateId": 7883, + "maxStateId": 7883, + "states": [], + "drops": [ + 363 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7883 + }, + { + "id": 405, + "displayName": "Red Carpet", + "name": "red_carpet", + "hardness": 0.1, + "minStateId": 7884, + "maxStateId": 7884, + "states": [], + "drops": [ + 364 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7884 + }, + { + "id": 406, + "displayName": "Black Carpet", + "name": "black_carpet", + "hardness": 0.1, + "minStateId": 7885, + "maxStateId": 7885, + "states": [], + "drops": [ + 365 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 7885 + }, + { + "id": 407, + "displayName": "Terracotta", + "name": "terracotta", + "hardness": 1.25, + "minStateId": 7886, + "maxStateId": 7886, + "states": [], + "drops": [ + 366 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 7886 + }, + { + "id": 408, + "displayName": "Block of Coal", + "name": "coal_block", + "hardness": 5, + "minStateId": 7887, + "maxStateId": 7887, + "states": [], + "drops": [ + 367 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 7887 + }, + { + "id": 409, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "minStateId": 7888, + "maxStateId": 7888, + "states": [], + "drops": [ + 368 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 7888 + }, + { + "id": 410, + "displayName": "Sunflower", + "name": "sunflower", + "hardness": 0, + "minStateId": 7889, + "maxStateId": 7890, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 373 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7890 + }, + { + "id": 411, + "displayName": "Lilac", + "name": "lilac", + "hardness": 0, + "minStateId": 7891, + "maxStateId": 7892, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 374 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7892 + }, + { + "id": 412, + "displayName": "Rose Bush", + "name": "rose_bush", + "hardness": 0, + "minStateId": 7893, + "maxStateId": 7894, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 375 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7894 + }, + { + "id": 413, + "displayName": "Peony", + "name": "peony", + "hardness": 0, + "minStateId": 7895, + "maxStateId": 7896, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 376 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 7896 + }, + { + "id": 414, + "displayName": "Tall Grass", + "name": "tall_grass", + "hardness": 0, + "minStateId": 7897, + "maxStateId": 7898, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 377 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7898 + }, + { + "id": 415, + "displayName": "Large Fern", + "name": "large_fern", + "hardness": 0, + "minStateId": 7899, + "maxStateId": 7900, + "states": [ + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + } + ], + "drops": [ + 378 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 7900 + }, + { + "id": 416, + "displayName": "White Banner", + "name": "white_banner", + "hardness": 1, + "minStateId": 7901, + "maxStateId": 7916, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 870 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7901 + }, + { + "id": 417, + "displayName": "Orange Banner", + "name": "orange_banner", + "hardness": 1, + "minStateId": 7917, + "maxStateId": 7932, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 871 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7917 + }, + { + "id": 418, + "displayName": "Magenta Banner", + "name": "magenta_banner", + "hardness": 1, + "minStateId": 7933, + "maxStateId": 7948, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 872 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7933 + }, + { + "id": 419, + "displayName": "Light Blue Banner", + "name": "light_blue_banner", + "hardness": 1, + "minStateId": 7949, + "maxStateId": 7964, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 873 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7949 + }, + { + "id": 420, + "displayName": "Yellow Banner", + "name": "yellow_banner", + "hardness": 1, + "minStateId": 7965, + "maxStateId": 7980, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 874 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7965 + }, + { + "id": 421, + "displayName": "Lime Banner", + "name": "lime_banner", + "hardness": 1, + "minStateId": 7981, + "maxStateId": 7996, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 875 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7981 + }, + { + "id": 422, + "displayName": "Pink Banner", + "name": "pink_banner", + "hardness": 1, + "minStateId": 7997, + "maxStateId": 8012, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 876 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 7997 + }, + { + "id": 423, + "displayName": "Gray Banner", + "name": "gray_banner", + "hardness": 1, + "minStateId": 8013, + "maxStateId": 8028, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 877 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8013 + }, + { + "id": 424, + "displayName": "Light Gray Banner", + "name": "light_gray_banner", + "hardness": 1, + "minStateId": 8029, + "maxStateId": 8044, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 878 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8029 + }, + { + "id": 425, + "displayName": "Cyan Banner", + "name": "cyan_banner", + "hardness": 1, + "minStateId": 8045, + "maxStateId": 8060, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 879 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8045 + }, + { + "id": 426, + "displayName": "Purple Banner", + "name": "purple_banner", + "hardness": 1, + "minStateId": 8061, + "maxStateId": 8076, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 880 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8061 + }, + { + "id": 427, + "displayName": "Blue Banner", + "name": "blue_banner", + "hardness": 1, + "minStateId": 8077, + "maxStateId": 8092, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 881 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8077 + }, + { + "id": 428, + "displayName": "Brown Banner", + "name": "brown_banner", + "hardness": 1, + "minStateId": 8093, + "maxStateId": 8108, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 882 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8093 + }, + { + "id": 429, + "displayName": "Green Banner", + "name": "green_banner", + "hardness": 1, + "minStateId": 8109, + "maxStateId": 8124, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 883 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8109 + }, + { + "id": 430, + "displayName": "Red Banner", + "name": "red_banner", + "hardness": 1, + "minStateId": 8125, + "maxStateId": 8140, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 884 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8125 + }, + { + "id": 431, + "displayName": "Black Banner", + "name": "black_banner", + "hardness": 1, + "minStateId": 8141, + "maxStateId": 8156, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 885 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8141 + }, + { + "id": 432, + "displayName": "White wall banner", + "name": "white_wall_banner", + "hardness": 1, + "minStateId": 8157, + "maxStateId": 8160, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 870 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8157 + }, + { + "id": 433, + "displayName": "Orange wall banner", + "name": "orange_wall_banner", + "hardness": 1, + "minStateId": 8161, + "maxStateId": 8164, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 871 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8161 + }, + { + "id": 434, + "displayName": "Magenta wall banner", + "name": "magenta_wall_banner", + "hardness": 1, + "minStateId": 8165, + "maxStateId": 8168, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 872 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8165 + }, + { + "id": 435, + "displayName": "Light blue wall banner", + "name": "light_blue_wall_banner", + "hardness": 1, + "minStateId": 8169, + "maxStateId": 8172, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 873 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8169 + }, + { + "id": 436, + "displayName": "Yellow wall banner", + "name": "yellow_wall_banner", + "hardness": 1, + "minStateId": 8173, + "maxStateId": 8176, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 874 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8173 + }, + { + "id": 437, + "displayName": "Lime wall banner", + "name": "lime_wall_banner", + "hardness": 1, + "minStateId": 8177, + "maxStateId": 8180, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 875 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8177 + }, + { + "id": 438, + "displayName": "Pink wall banner", + "name": "pink_wall_banner", + "hardness": 1, + "minStateId": 8181, + "maxStateId": 8184, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 876 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8181 + }, + { + "id": 439, + "displayName": "Gray wall banner", + "name": "gray_wall_banner", + "hardness": 1, + "minStateId": 8185, + "maxStateId": 8188, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 877 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8185 + }, + { + "id": 440, + "displayName": "Light gray wall banner", + "name": "light_gray_wall_banner", + "hardness": 1, + "minStateId": 8189, + "maxStateId": 8192, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 878 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8189 + }, + { + "id": 441, + "displayName": "Cyan wall banner", + "name": "cyan_wall_banner", + "hardness": 1, + "minStateId": 8193, + "maxStateId": 8196, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 879 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8193 + }, + { + "id": 442, + "displayName": "Purple wall banner", + "name": "purple_wall_banner", + "hardness": 1, + "minStateId": 8197, + "maxStateId": 8200, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 880 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8197 + }, + { + "id": 443, + "displayName": "Blue wall banner", + "name": "blue_wall_banner", + "hardness": 1, + "minStateId": 8201, + "maxStateId": 8204, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 881 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8201 + }, + { + "id": 444, + "displayName": "Brown wall banner", + "name": "brown_wall_banner", + "hardness": 1, + "minStateId": 8205, + "maxStateId": 8208, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 882 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8205 + }, + { + "id": 445, + "displayName": "Green wall banner", + "name": "green_wall_banner", + "hardness": 1, + "minStateId": 8209, + "maxStateId": 8212, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 883 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8209 + }, + { + "id": 446, + "displayName": "Red wall banner", + "name": "red_wall_banner", + "hardness": 1, + "minStateId": 8213, + "maxStateId": 8216, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 884 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8213 + }, + { + "id": 447, + "displayName": "Black wall banner", + "name": "black_wall_banner", + "hardness": 1, + "minStateId": 8217, + "maxStateId": 8220, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 885 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 8217 + }, + { + "id": 448, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "hardness": 0.8, + "minStateId": 8221, + "maxStateId": 8221, + "states": [], + "drops": [ + 418 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8221 + }, + { + "id": 449, + "displayName": "Chiseled Red Sandstone", + "name": "chiseled_red_sandstone", + "hardness": 0.8, + "minStateId": 8222, + "maxStateId": 8222, + "states": [], + "drops": [ + 419 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8222 + }, + { + "id": 450, + "displayName": "Cut Red Sandstone", + "name": "cut_red_sandstone", + "hardness": 0.8, + "minStateId": 8223, + "maxStateId": 8223, + "states": [], + "drops": [ + 420 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8223 + }, + { + "id": 451, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "hardness": 0, + "minStateId": 8224, + "maxStateId": 8303, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 421 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8235 + }, + { + "id": 452, + "displayName": "Oak Slab", + "name": "oak_slab", + "hardness": 2, + "minStateId": 8304, + "maxStateId": 8309, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 138 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8307 + }, + { + "id": 453, + "displayName": "Spruce Slab", + "name": "spruce_slab", + "hardness": 2, + "minStateId": 8310, + "maxStateId": 8315, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 139 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8313 + }, + { + "id": 454, + "displayName": "Birch Slab", + "name": "birch_slab", + "hardness": 2, + "minStateId": 8316, + "maxStateId": 8321, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 140 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8319 + }, + { + "id": 455, + "displayName": "Jungle Slab", + "name": "jungle_slab", + "hardness": 2, + "minStateId": 8322, + "maxStateId": 8327, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 141 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8325 + }, + { + "id": 456, + "displayName": "Acacia Slab", + "name": "acacia_slab", + "hardness": 2, + "minStateId": 8328, + "maxStateId": 8333, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 142 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8331 + }, + { + "id": 457, + "displayName": "Dark Oak Slab", + "name": "dark_oak_slab", + "hardness": 2, + "minStateId": 8334, + "maxStateId": 8339, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 143 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8337 + }, + { + "id": 458, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "minStateId": 8340, + "maxStateId": 8345, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 146 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8343 + }, + { + "id": 459, + "displayName": "Smooth Stone Slab", + "name": "smooth_stone_slab", + "hardness": 2, + "minStateId": 8346, + "maxStateId": 8351, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 147 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8349 + }, + { + "id": 460, + "displayName": "Sandstone Slab", + "name": "sandstone_slab", + "hardness": 2, + "minStateId": 8352, + "maxStateId": 8357, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 148 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8355 + }, + { + "id": 461, + "displayName": "Cut Sandstone Slab", + "name": "cut_sandstone_slab", + "hardness": 2, + "minStateId": 8358, + "maxStateId": 8363, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 149 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8361 + }, + { + "id": 462, + "displayName": "Petrified Oak Slab", + "name": "petrified_oak_slab", + "hardness": 2, + "minStateId": 8364, + "maxStateId": 8369, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 150 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8367 + }, + { + "id": 463, + "displayName": "Cobblestone Slab", + "name": "cobblestone_slab", + "hardness": 2, + "minStateId": 8370, + "maxStateId": 8375, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 151 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8373 + }, + { + "id": 464, + "displayName": "Brick Slab", + "name": "brick_slab", + "hardness": 2, + "minStateId": 8376, + "maxStateId": 8381, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 152 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8379 + }, + { + "id": 465, + "displayName": "Stone Brick Slab", + "name": "stone_brick_slab", + "hardness": 2, + "minStateId": 8382, + "maxStateId": 8387, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 153 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8385 + }, + { + "id": 466, + "displayName": "Nether Brick Slab", + "name": "nether_brick_slab", + "hardness": 2, + "minStateId": 8388, + "maxStateId": 8393, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 154 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8391 + }, + { + "id": 467, + "displayName": "Quartz Slab", + "name": "quartz_slab", + "hardness": 2, + "minStateId": 8394, + "maxStateId": 8399, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 155 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8397 + }, + { + "id": 468, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "hardness": 2, + "minStateId": 8400, + "maxStateId": 8405, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 156 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8403 + }, + { + "id": 469, + "displayName": "Cut Red Sandstone Slab", + "name": "cut_red_sandstone_slab", + "hardness": 2, + "minStateId": 8406, + "maxStateId": 8411, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 157 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8409 + }, + { + "id": 470, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "hardness": 2, + "minStateId": 8412, + "maxStateId": 8417, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 158 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8415 + }, + { + "id": 471, + "displayName": "Smooth Stone", + "name": "smooth_stone", + "hardness": 2, + "minStateId": 8418, + "maxStateId": 8418, + "states": [], + "drops": [ + 165 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8418 + }, + { + "id": 472, + "displayName": "Smooth Sandstone", + "name": "smooth_sandstone", + "hardness": 2, + "minStateId": 8419, + "maxStateId": 8419, + "states": [], + "drops": [ + 164 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8419 + }, + { + "id": 473, + "displayName": "Smooth Quartz Block", + "name": "smooth_quartz", + "hardness": 2, + "minStateId": 8420, + "maxStateId": 8420, + "states": [], + "drops": [ + 162 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8420 + }, + { + "id": 474, + "displayName": "Smooth Red Sandstone", + "name": "smooth_red_sandstone", + "hardness": 2, + "minStateId": 8421, + "maxStateId": 8421, + "states": [], + "drops": [ + 163 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 8421 + }, + { + "id": 475, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "hardness": 2, + "minStateId": 8422, + "maxStateId": 8453, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 253 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8429 + }, + { + "id": 476, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "hardness": 2, + "minStateId": 8454, + "maxStateId": 8485, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 254 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8461 + }, + { + "id": 477, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "hardness": 2, + "minStateId": 8486, + "maxStateId": 8517, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 255 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8493 + }, + { + "id": 478, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "hardness": 2, + "minStateId": 8518, + "maxStateId": 8549, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 256 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8525 + }, + { + "id": 479, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "hardness": 2, + "minStateId": 8550, + "maxStateId": 8581, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 257 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8557 + }, + { + "id": 480, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "hardness": 2, + "minStateId": 8582, + "maxStateId": 8613, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 209 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8613 + }, + { + "id": 481, + "displayName": "Birch Fence", + "name": "birch_fence", + "hardness": 2, + "minStateId": 8614, + "maxStateId": 8645, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 210 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8645 + }, + { + "id": 482, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "hardness": 2, + "minStateId": 8646, + "maxStateId": 8677, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 211 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8677 + }, + { + "id": 483, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "hardness": 2, + "minStateId": 8678, + "maxStateId": 8709, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 212 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8709 + }, + { + "id": 484, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "hardness": 2, + "minStateId": 8710, + "maxStateId": 8741, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 213 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8741 + }, + { + "id": 485, + "displayName": "Spruce Door", + "name": "spruce_door", + "hardness": 3, + "minStateId": 8742, + "maxStateId": 8805, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 559 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8753 + }, + { + "id": 486, + "displayName": "Birch Door", + "name": "birch_door", + "hardness": 3, + "minStateId": 8806, + "maxStateId": 8869, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 560 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8817 + }, + { + "id": 487, + "displayName": "Jungle Door", + "name": "jungle_door", + "hardness": 3, + "minStateId": 8870, + "maxStateId": 8933, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 561 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8881 + }, + { + "id": 488, + "displayName": "Acacia Door", + "name": "acacia_door", + "hardness": 3, + "minStateId": 8934, + "maxStateId": 8997, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 562 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 8945 + }, + { + "id": 489, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "hardness": 3, + "minStateId": 8998, + "maxStateId": 9061, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 563 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 9009 + }, + { + "id": 490, + "displayName": "End Rod", + "name": "end_rod", + "hardness": 0, + "minStateId": 9062, + "maxStateId": 9067, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 172 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 14, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9066 + }, + { + "id": 491, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "hardness": 0.4, + "minStateId": 9068, + "maxStateId": 9131, + "states": [ + { + "name": "down", + "type": "bool", + "num_values": 2 + }, + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 173 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9131 + }, + { + "id": 492, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "hardness": 0.4, + "minStateId": 9132, + "maxStateId": 9137, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 6 + } + ], + "drops": [ + 174 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9132 + }, + { + "id": 493, + "displayName": "Purpur Block", + "name": "purpur_block", + "hardness": 1.5, + "minStateId": 9138, + "maxStateId": 9138, + "states": [], + "drops": [ + 175 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9138 + }, + { + "id": 494, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "hardness": 1.5, + "minStateId": 9139, + "maxStateId": 9141, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 176 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9140 + }, + { + "id": 495, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "hardness": 0, + "minStateId": 9142, + "maxStateId": 9221, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 177 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9153 + }, + { + "id": 496, + "displayName": "End Stone Bricks", + "name": "end_stone_bricks", + "hardness": 3, + "minStateId": 9222, + "maxStateId": 9222, + "states": [], + "drops": [ + 272 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9222 + }, + { + "id": 497, + "displayName": "Beetroots", + "name": "beetroots", + "hardness": 0, + "minStateId": 9223, + "maxStateId": 9226, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [ + 889 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9223 + }, + { + "id": 498, + "displayName": "Grass Path", + "name": "grass_path", + "hardness": 0.65, + "minStateId": 9227, + "maxStateId": 9227, + "states": [], + "drops": [ + 372 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9227 + }, + { + "id": 499, + "displayName": "End Gateway", + "name": "end_gateway", + "hardness": null, + "minStateId": 9228, + "maxStateId": 9228, + "states": [], + "drops": [], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 15, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 9228 + }, + { + "id": 500, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "hardness": null, + "minStateId": 9229, + "maxStateId": 9240, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 422 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9235 + }, + { + "id": 501, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "hardness": null, + "minStateId": 9241, + "maxStateId": 9252, + "states": [ + { + "name": "conditional", + "type": "bool", + "num_values": 2 + }, + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 423 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9247 + }, + { + "id": 502, + "displayName": "Frosted Ice", + "name": "frosted_ice", + "hardness": 0.5, + "minStateId": 9253, + "maxStateId": 9256, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 2, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "defaultState": 9253 + }, + { + "id": 503, + "displayName": "Magma Block", + "name": "magma_block", + "hardness": 0.5, + "minStateId": 9257, + "maxStateId": 9257, + "states": [], + "drops": [ + 424 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9257 + }, + { + "id": 504, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "hardness": 1, + "minStateId": 9258, + "maxStateId": 9258, + "states": [], + "drops": [ + 425 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9258 + }, + { + "id": 505, + "displayName": "Red Nether Bricks", + "name": "red_nether_bricks", + "hardness": 2, + "minStateId": 9259, + "maxStateId": 9259, + "states": [], + "drops": [ + 427 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9259 + }, + { + "id": 506, + "displayName": "Bone Block", + "name": "bone_block", + "hardness": 2, + "minStateId": 9260, + "maxStateId": 9262, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 428 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9261 + }, + { + "id": 507, + "displayName": "Structure Void", + "name": "structure_void", + "hardness": 0, + "minStateId": 9263, + "maxStateId": 9263, + "states": [], + "drops": [ + 429 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9263 + }, + { + "id": 508, + "displayName": "Observer", + "name": "observer", + "hardness": 3, + "minStateId": 9264, + "maxStateId": 9275, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 430 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9269 + }, + { + "id": 509, + "displayName": "Shulker Box", + "name": "shulker_box", + "hardness": 2, + "minStateId": 9276, + "maxStateId": 9281, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 431 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9280 + }, + { + "id": 510, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "hardness": 2, + "minStateId": 9282, + "maxStateId": 9287, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 432 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9286 + }, + { + "id": 511, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "hardness": 2, + "minStateId": 9288, + "maxStateId": 9293, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 433 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9292 + }, + { + "id": 512, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "hardness": 2, + "minStateId": 9294, + "maxStateId": 9299, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 434 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9298 + }, + { + "id": 513, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "hardness": 2, + "minStateId": 9300, + "maxStateId": 9305, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 435 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9304 + }, + { + "id": 514, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "hardness": 2, + "minStateId": 9306, + "maxStateId": 9311, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 436 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9310 + }, + { + "id": 515, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "hardness": 2, + "minStateId": 9312, + "maxStateId": 9317, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 437 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9316 + }, + { + "id": 516, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "hardness": 2, + "minStateId": 9318, + "maxStateId": 9323, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 438 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9322 + }, + { + "id": 517, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "hardness": 2, + "minStateId": 9324, + "maxStateId": 9329, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 439 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9328 + }, + { + "id": 518, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "hardness": 2, + "minStateId": 9330, + "maxStateId": 9335, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 440 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9334 + }, + { + "id": 519, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "hardness": 2, + "minStateId": 9336, + "maxStateId": 9341, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 441 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9340 + }, + { + "id": 520, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "hardness": 2, + "minStateId": 9342, + "maxStateId": 9347, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 442 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9346 + }, + { + "id": 521, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "hardness": 2, + "minStateId": 9348, + "maxStateId": 9353, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 443 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9352 + }, + { + "id": 522, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "hardness": 2, + "minStateId": 9354, + "maxStateId": 9359, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 444 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9358 + }, + { + "id": 523, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "hardness": 2, + "minStateId": 9360, + "maxStateId": 9365, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 445 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9364 + }, + { + "id": 524, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "hardness": 2, + "minStateId": 9366, + "maxStateId": 9371, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 446 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9370 + }, + { + "id": 525, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "hardness": 2, + "minStateId": 9372, + "maxStateId": 9377, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + } + ], + "drops": [ + 447 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "defaultState": 9376 + }, + { + "id": 526, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9378, + "maxStateId": 9381, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 448 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9378 + }, + { + "id": 527, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9382, + "maxStateId": 9385, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 449 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9382 + }, + { + "id": 528, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9386, + "maxStateId": 9389, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 450 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9386 + }, + { + "id": 529, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9390, + "maxStateId": 9393, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 451 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9390 + }, + { + "id": 530, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9394, + "maxStateId": 9397, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 452 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9394 + }, + { + "id": 531, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9398, + "maxStateId": 9401, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 453 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9398 + }, + { + "id": 532, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9402, + "maxStateId": 9405, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 454 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9402 + }, + { + "id": 533, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9406, + "maxStateId": 9409, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 455 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9406 + }, + { + "id": 534, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9410, + "maxStateId": 9413, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 456 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9410 + }, + { + "id": 535, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9414, + "maxStateId": 9417, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 457 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9414 + }, + { + "id": 536, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9418, + "maxStateId": 9421, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 458 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9418 + }, + { + "id": 537, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9422, + "maxStateId": 9425, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 459 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9422 + }, + { + "id": 538, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9426, + "maxStateId": 9429, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 460 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9426 + }, + { + "id": 539, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9430, + "maxStateId": 9433, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 461 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9430 + }, + { + "id": 540, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9434, + "maxStateId": 9437, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 462 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9434 + }, + { + "id": 541, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "hardness": 1.4, + "minStateId": 9438, + "maxStateId": 9441, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 463 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9438 + }, + { + "id": 542, + "displayName": "White Concrete", + "name": "white_concrete", + "hardness": 1.8, + "minStateId": 9442, + "maxStateId": 9442, + "states": [], + "drops": [ + 464 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9442 + }, + { + "id": 543, + "displayName": "Orange Concrete", + "name": "orange_concrete", + "hardness": 1.8, + "minStateId": 9443, + "maxStateId": 9443, + "states": [], + "drops": [ + 465 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9443 + }, + { + "id": 544, + "displayName": "Magenta Concrete", + "name": "magenta_concrete", + "hardness": 1.8, + "minStateId": 9444, + "maxStateId": 9444, + "states": [], + "drops": [ + 466 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9444 + }, + { + "id": 545, + "displayName": "Light Blue Concrete", + "name": "light_blue_concrete", + "hardness": 1.8, + "minStateId": 9445, + "maxStateId": 9445, + "states": [], + "drops": [ + 467 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9445 + }, + { + "id": 546, + "displayName": "Yellow Concrete", + "name": "yellow_concrete", + "hardness": 1.8, + "minStateId": 9446, + "maxStateId": 9446, + "states": [], + "drops": [ + 468 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9446 + }, + { + "id": 547, + "displayName": "Lime Concrete", + "name": "lime_concrete", + "hardness": 1.8, + "minStateId": 9447, + "maxStateId": 9447, + "states": [], + "drops": [ + 469 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9447 + }, + { + "id": 548, + "displayName": "Pink Concrete", + "name": "pink_concrete", + "hardness": 1.8, + "minStateId": 9448, + "maxStateId": 9448, + "states": [], + "drops": [ + 470 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9448 + }, + { + "id": 549, + "displayName": "Gray Concrete", + "name": "gray_concrete", + "hardness": 1.8, + "minStateId": 9449, + "maxStateId": 9449, + "states": [], + "drops": [ + 471 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9449 + }, + { + "id": 550, + "displayName": "Light Gray Concrete", + "name": "light_gray_concrete", + "hardness": 1.8, + "minStateId": 9450, + "maxStateId": 9450, + "states": [], + "drops": [ + 472 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9450 + }, + { + "id": 551, + "displayName": "Cyan Concrete", + "name": "cyan_concrete", + "hardness": 1.8, + "minStateId": 9451, + "maxStateId": 9451, + "states": [], + "drops": [ + 473 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9451 + }, + { + "id": 552, + "displayName": "Purple Concrete", + "name": "purple_concrete", + "hardness": 1.8, + "minStateId": 9452, + "maxStateId": 9452, + "states": [], + "drops": [ + 474 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9452 + }, + { + "id": 553, + "displayName": "Blue Concrete", + "name": "blue_concrete", + "hardness": 1.8, + "minStateId": 9453, + "maxStateId": 9453, + "states": [], + "drops": [ + 475 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9453 + }, + { + "id": 554, + "displayName": "Brown Concrete", + "name": "brown_concrete", + "hardness": 1.8, + "minStateId": 9454, + "maxStateId": 9454, + "states": [], + "drops": [ + 476 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9454 + }, + { + "id": 555, + "displayName": "Green Concrete", + "name": "green_concrete", + "hardness": 1.8, + "minStateId": 9455, + "maxStateId": 9455, + "states": [], + "drops": [ + 477 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9455 + }, + { + "id": 556, + "displayName": "Red Concrete", + "name": "red_concrete", + "hardness": 1.8, + "minStateId": 9456, + "maxStateId": 9456, + "states": [], + "drops": [ + 478 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9456 + }, + { + "id": 557, + "displayName": "Black Concrete", + "name": "black_concrete", + "hardness": 1.8, + "minStateId": 9457, + "maxStateId": 9457, + "states": [], + "drops": [ + 479 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9457 + }, + { + "id": 558, + "displayName": "White Concrete Powder", + "name": "white_concrete_powder", + "hardness": 0.5, + "minStateId": 9458, + "maxStateId": 9458, + "states": [], + "drops": [ + 480 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9458 + }, + { + "id": 559, + "displayName": "Orange Concrete Powder", + "name": "orange_concrete_powder", + "hardness": 0.5, + "minStateId": 9459, + "maxStateId": 9459, + "states": [], + "drops": [ + 481 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9459 + }, + { + "id": 560, + "displayName": "Magenta Concrete Powder", + "name": "magenta_concrete_powder", + "hardness": 0.5, + "minStateId": 9460, + "maxStateId": 9460, + "states": [], + "drops": [ + 482 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9460 + }, + { + "id": 561, + "displayName": "Light Blue Concrete Powder", + "name": "light_blue_concrete_powder", + "hardness": 0.5, + "minStateId": 9461, + "maxStateId": 9461, + "states": [], + "drops": [ + 483 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9461 + }, + { + "id": 562, + "displayName": "Yellow Concrete Powder", + "name": "yellow_concrete_powder", + "hardness": 0.5, + "minStateId": 9462, + "maxStateId": 9462, + "states": [], + "drops": [ + 484 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9462 + }, + { + "id": 563, + "displayName": "Lime Concrete Powder", + "name": "lime_concrete_powder", + "hardness": 0.5, + "minStateId": 9463, + "maxStateId": 9463, + "states": [], + "drops": [ + 485 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9463 + }, + { + "id": 564, + "displayName": "Pink Concrete Powder", + "name": "pink_concrete_powder", + "hardness": 0.5, + "minStateId": 9464, + "maxStateId": 9464, + "states": [], + "drops": [ + 486 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9464 + }, + { + "id": 565, + "displayName": "Gray Concrete Powder", + "name": "gray_concrete_powder", + "hardness": 0.5, + "minStateId": 9465, + "maxStateId": 9465, + "states": [], + "drops": [ + 487 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9465 + }, + { + "id": 566, + "displayName": "Light Gray Concrete Powder", + "name": "light_gray_concrete_powder", + "hardness": 0.5, + "minStateId": 9466, + "maxStateId": 9466, + "states": [], + "drops": [ + 488 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9466 + }, + { + "id": 567, + "displayName": "Cyan Concrete Powder", + "name": "cyan_concrete_powder", + "hardness": 0.5, + "minStateId": 9467, + "maxStateId": 9467, + "states": [], + "drops": [ + 489 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9467 + }, + { + "id": 568, + "displayName": "Purple Concrete Powder", + "name": "purple_concrete_powder", + "hardness": 0.5, + "minStateId": 9468, + "maxStateId": 9468, + "states": [], + "drops": [ + 490 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9468 + }, + { + "id": 569, + "displayName": "Blue Concrete Powder", + "name": "blue_concrete_powder", + "hardness": 0.5, + "minStateId": 9469, + "maxStateId": 9469, + "states": [], + "drops": [ + 491 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9469 + }, + { + "id": 570, + "displayName": "Brown Concrete Powder", + "name": "brown_concrete_powder", + "hardness": 0.5, + "minStateId": 9470, + "maxStateId": 9470, + "states": [], + "drops": [ + 492 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9470 + }, + { + "id": 571, + "displayName": "Green Concrete Powder", + "name": "green_concrete_powder", + "hardness": 0.5, + "minStateId": 9471, + "maxStateId": 9471, + "states": [], + "drops": [ + 493 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9471 + }, + { + "id": 572, + "displayName": "Red Concrete Powder", + "name": "red_concrete_powder", + "hardness": 0.5, + "minStateId": 9472, + "maxStateId": 9472, + "states": [], + "drops": [ + 494 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9472 + }, + { + "id": 573, + "displayName": "Black Concrete Powder", + "name": "black_concrete_powder", + "hardness": 0.5, + "minStateId": 9473, + "maxStateId": 9473, + "states": [], + "drops": [ + 495 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "dirt", + "defaultState": 9473 + }, + { + "id": 574, + "displayName": "Kelp", + "name": "kelp", + "hardness": 0, + "minStateId": 9474, + "maxStateId": 9499, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 26 + } + ], + "drops": [ + 134 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9474 + }, + { + "id": 575, + "displayName": "Kelp Plant", + "name": "kelp_plant", + "hardness": 0, + "minStateId": 9500, + "maxStateId": 9500, + "states": [], + "drops": [ + 134 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9500 + }, + { + "id": 576, + "displayName": "Dried Kelp Block", + "name": "dried_kelp_block", + "hardness": 0.5, + "minStateId": 9501, + "maxStateId": 9501, + "states": [], + "drops": [ + 676 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9501 + }, + { + "id": 577, + "displayName": "Turtle Egg", + "name": "turtle_egg", + "hardness": 0.5, + "minStateId": 9502, + "maxStateId": 9513, + "states": [ + { + "name": "eggs", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "hatch", + "type": "int", + "num_values": 3 + } + ], + "drops": [ + 496 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9502 + }, + { + "id": 578, + "displayName": "Dead Tube Coral Block", + "name": "dead_tube_coral_block", + "hardness": 1.5, + "minStateId": 9514, + "maxStateId": 9514, + "states": [], + "drops": [ + 497 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9514 + }, + { + "id": 579, + "displayName": "Dead Brain Coral Block", + "name": "dead_brain_coral_block", + "hardness": 1.5, + "minStateId": 9515, + "maxStateId": 9515, + "states": [], + "drops": [ + 498 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9515 + }, + { + "id": 580, + "displayName": "Dead Bubble Coral Block", + "name": "dead_bubble_coral_block", + "hardness": 1.5, + "minStateId": 9516, + "maxStateId": 9516, + "states": [], + "drops": [ + 499 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9516 + }, + { + "id": 581, + "displayName": "Dead Fire Coral Block", + "name": "dead_fire_coral_block", + "hardness": 1.5, + "minStateId": 9517, + "maxStateId": 9517, + "states": [], + "drops": [ + 500 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9517 + }, + { + "id": 582, + "displayName": "Dead Horn Coral Block", + "name": "dead_horn_coral_block", + "hardness": 1.5, + "minStateId": 9518, + "maxStateId": 9518, + "states": [], + "drops": [ + 501 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9518 + }, + { + "id": 583, + "displayName": "Tube Coral Block", + "name": "tube_coral_block", + "hardness": 1.5, + "minStateId": 9519, + "maxStateId": 9519, + "states": [], + "drops": [ + 502 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9519 + }, + { + "id": 584, + "displayName": "Brain Coral Block", + "name": "brain_coral_block", + "hardness": 1.5, + "minStateId": 9520, + "maxStateId": 9520, + "states": [], + "drops": [ + 503 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9520 + }, + { + "id": 585, + "displayName": "Bubble Coral Block", + "name": "bubble_coral_block", + "hardness": 1.5, + "minStateId": 9521, + "maxStateId": 9521, + "states": [], + "drops": [ + 504 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9521 + }, + { + "id": 586, + "displayName": "Fire Coral Block", + "name": "fire_coral_block", + "hardness": 1.5, + "minStateId": 9522, + "maxStateId": 9522, + "states": [], + "drops": [ + 505 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9522 + }, + { + "id": 587, + "displayName": "Horn Coral Block", + "name": "horn_coral_block", + "hardness": 1.5, + "minStateId": 9523, + "maxStateId": 9523, + "states": [], + "drops": [ + 506 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 9523 + }, + { + "id": 588, + "displayName": "Dead Tube Coral", + "name": "dead_tube_coral", + "hardness": 0, + "minStateId": 9524, + "maxStateId": 9525, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 516 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9524 + }, + { + "id": 589, + "displayName": "Dead Brain Coral", + "name": "dead_brain_coral", + "hardness": 0, + "minStateId": 9526, + "maxStateId": 9527, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 512 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9526 + }, + { + "id": 590, + "displayName": "Dead Bubble Coral", + "name": "dead_bubble_coral", + "hardness": 0, + "minStateId": 9528, + "maxStateId": 9529, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 513 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9528 + }, + { + "id": 591, + "displayName": "Dead Fire Coral", + "name": "dead_fire_coral", + "hardness": 0, + "minStateId": 9530, + "maxStateId": 9531, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 514 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9530 + }, + { + "id": 592, + "displayName": "Dead Horn Coral", + "name": "dead_horn_coral", + "hardness": 0, + "minStateId": 9532, + "maxStateId": 9533, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 515 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9532 + }, + { + "id": 593, + "displayName": "Tube Coral", + "name": "tube_coral", + "hardness": 0, + "minStateId": 9534, + "maxStateId": 9535, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 507 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9534 + }, + { + "id": 594, + "displayName": "Brain Coral", + "name": "brain_coral", + "hardness": 0, + "minStateId": 9536, + "maxStateId": 9537, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 508 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9536 + }, + { + "id": 595, + "displayName": "Bubble Coral", + "name": "bubble_coral", + "hardness": 0, + "minStateId": 9538, + "maxStateId": 9539, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 509 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9538 + }, + { + "id": 596, + "displayName": "Fire Coral", + "name": "fire_coral", + "hardness": 0, + "minStateId": 9540, + "maxStateId": 9541, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 510 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9540 + }, + { + "id": 597, + "displayName": "Horn Coral", + "name": "horn_coral", + "hardness": 0, + "minStateId": 9542, + "maxStateId": 9543, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 511 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9542 + }, + { + "id": 598, + "displayName": "Dead Tube Coral Fan", + "name": "dead_tube_coral_fan", + "hardness": 0, + "minStateId": 9544, + "maxStateId": 9545, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 522 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9544 + }, + { + "id": 599, + "displayName": "Dead Brain Coral Fan", + "name": "dead_brain_coral_fan", + "hardness": 0, + "minStateId": 9546, + "maxStateId": 9547, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 523 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9546 + }, + { + "id": 600, + "displayName": "Dead Bubble Coral Fan", + "name": "dead_bubble_coral_fan", + "hardness": 0, + "minStateId": 9548, + "maxStateId": 9549, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 524 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9548 + }, + { + "id": 601, + "displayName": "Dead Fire Coral Fan", + "name": "dead_fire_coral_fan", + "hardness": 0, + "minStateId": 9550, + "maxStateId": 9551, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 525 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9550 + }, + { + "id": 602, + "displayName": "Dead Horn Coral Fan", + "name": "dead_horn_coral_fan", + "hardness": 0, + "minStateId": 9552, + "maxStateId": 9553, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 526 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9552 + }, + { + "id": 603, + "displayName": "Tube Coral Fan", + "name": "tube_coral_fan", + "hardness": 0, + "minStateId": 9554, + "maxStateId": 9555, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 517 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9554 + }, + { + "id": 604, + "displayName": "Brain Coral Fan", + "name": "brain_coral_fan", + "hardness": 0, + "minStateId": 9556, + "maxStateId": 9557, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 518 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9556 + }, + { + "id": 605, + "displayName": "Bubble Coral Fan", + "name": "bubble_coral_fan", + "hardness": 0, + "minStateId": 9558, + "maxStateId": 9559, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 519 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9558 + }, + { + "id": 606, + "displayName": "Fire Coral Fan", + "name": "fire_coral_fan", + "hardness": 0, + "minStateId": 9560, + "maxStateId": 9561, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 520 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9560 + }, + { + "id": 607, + "displayName": "Horn Coral Fan", + "name": "horn_coral_fan", + "hardness": 0, + "minStateId": 9562, + "maxStateId": 9563, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 521 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9562 + }, + { + "id": 608, + "displayName": "Dead Tube Coral Wall Fan", + "name": "dead_tube_coral_wall_fan", + "hardness": 0, + "minStateId": 9564, + "maxStateId": 9571, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 522 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9564 + }, + { + "id": 609, + "displayName": "Dead Brain Coral Wall Fan", + "name": "dead_brain_coral_wall_fan", + "hardness": 0, + "minStateId": 9572, + "maxStateId": 9579, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 523 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9572 + }, + { + "id": 610, + "displayName": "Dead Bubble Coral Wall Fan", + "name": "dead_bubble_coral_wall_fan", + "hardness": 0, + "minStateId": 9580, + "maxStateId": 9587, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 524 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9580 + }, + { + "id": 611, + "displayName": "Dead Fire Coral Wall Fan", + "name": "dead_fire_coral_wall_fan", + "hardness": 0, + "minStateId": 9588, + "maxStateId": 9595, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 525 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9588 + }, + { + "id": 612, + "displayName": "Dead Horn Coral Wall Fan", + "name": "dead_horn_coral_wall_fan", + "hardness": 0, + "minStateId": 9596, + "maxStateId": 9603, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 526 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9596 + }, + { + "id": 613, + "displayName": "Tube Coral Wall Fan", + "name": "tube_coral_wall_fan", + "hardness": 0, + "minStateId": 9604, + "maxStateId": 9611, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 517 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9604 + }, + { + "id": 614, + "displayName": "Brain Coral Wall Fan", + "name": "brain_coral_wall_fan", + "hardness": 0, + "minStateId": 9612, + "maxStateId": 9619, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 518 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9612 + }, + { + "id": 615, + "displayName": "Bubble Coral Wall Fan", + "name": "bubble_coral_wall_fan", + "hardness": 0, + "minStateId": 9620, + "maxStateId": 9627, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 519 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9620 + }, + { + "id": 616, + "displayName": "Fire Coral Wall Fan", + "name": "fire_coral_wall_fan", + "hardness": 0, + "minStateId": 9628, + "maxStateId": 9635, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 520 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9628 + }, + { + "id": 617, + "displayName": "Horn Coral Wall Fan", + "name": "horn_coral_wall_fan", + "hardness": 0, + "minStateId": 9636, + "maxStateId": 9643, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 521 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 9636 + }, + { + "id": 618, + "displayName": "Sea Pickle", + "name": "sea_pickle", + "hardness": 0, + "minStateId": 9644, + "maxStateId": 9651, + "states": [ + { + "name": "pickles", + "type": "enum", + "num_values": 4, + "values": [ + "1", + "2", + "3", + "4" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 93 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9644 + }, + { + "id": 619, + "displayName": "Blue Ice", + "name": "blue_ice", + "hardness": 2.8, + "minStateId": 9652, + "maxStateId": 9652, + "states": [], + "drops": [ + 527 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9652 + }, + { + "id": 620, + "displayName": "Conduit", + "name": "conduit", + "hardness": 3, + "minStateId": 9653, + "maxStateId": 9654, + "states": [ + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 528 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 9653 + }, + { + "id": 621, + "displayName": "Bamboo Shoot", + "name": "bamboo_sapling", + "hardness": 1, + "minStateId": 9655, + "maxStateId": 9655, + "states": [], + "drops": [], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9655 + }, + { + "id": 622, + "displayName": "Bamboo", + "name": "bamboo", + "hardness": 1, + "minStateId": 9656, + "maxStateId": 9667, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 2 + }, + { + "name": "leaves", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "small", + "large" + ] + }, + { + "name": "stage", + "type": "int", + "num_values": 2 + } + ], + "drops": [ + 135 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9656 + }, + { + "id": 623, + "displayName": "Potted Bamboo", + "name": "potted_bamboo", + "hardness": 0, + "minStateId": 9668, + "maxStateId": 9668, + "states": [], + "drops": [ + 829, + 135 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 9668 + }, + { + "id": 624, + "displayName": "Void Air", + "name": "void_air", + "hardness": 0, + "minStateId": 9669, + "maxStateId": 9669, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 9669 + }, + { + "id": 625, + "displayName": "Cave Air", + "name": "cave_air", + "hardness": 0, + "minStateId": 9670, + "maxStateId": 9670, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 9670 + }, + { + "id": 626, + "displayName": "Bubble Column", + "name": "bubble_column", + "hardness": 0, + "minStateId": 9671, + "maxStateId": 9672, + "states": [ + { + "name": "drag", + "type": "bool", + "num_values": 2 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 0, + "defaultState": 9671 + }, + { + "id": 627, + "displayName": "Polished Granite Stairs", + "name": "polished_granite_stairs", + "hardness": 0, + "minStateId": 9673, + "maxStateId": 9752, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 529 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9684 + }, + { + "id": 628, + "displayName": "Smooth Red Sandstone Stairs", + "name": "smooth_red_sandstone_stairs", + "hardness": 0, + "minStateId": 9753, + "maxStateId": 9832, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 530 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9764 + }, + { + "id": 629, + "displayName": "Mossy Stone Brick Stairs", + "name": "mossy_stone_brick_stairs", + "hardness": 0, + "minStateId": 9833, + "maxStateId": 9912, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 531 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9844 + }, + { + "id": 630, + "displayName": "Polished Diorite Stairs", + "name": "polished_diorite_stairs", + "hardness": 0, + "minStateId": 9913, + "maxStateId": 9992, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 532 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 9924 + }, + { + "id": 631, + "displayName": "Mossy Cobblestone Stairs", + "name": "mossy_cobblestone_stairs", + "hardness": 0, + "minStateId": 9993, + "maxStateId": 10072, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 533 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10004 + }, + { + "id": 632, + "displayName": "End Stone Brick Stairs", + "name": "end_stone_brick_stairs", + "hardness": 0, + "minStateId": 10073, + "maxStateId": 10152, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 534 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10084 + }, + { + "id": 633, + "displayName": "Stone Stairs", + "name": "stone_stairs", + "hardness": 0, + "minStateId": 10153, + "maxStateId": 10232, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 535 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10164 + }, + { + "id": 634, + "displayName": "Smooth Sandstone Stairs", + "name": "smooth_sandstone_stairs", + "hardness": 0, + "minStateId": 10233, + "maxStateId": 10312, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 536 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10244 + }, + { + "id": 635, + "displayName": "Smooth Quartz Stairs", + "name": "smooth_quartz_stairs", + "hardness": 0, + "minStateId": 10313, + "maxStateId": 10392, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 537 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10324 + }, + { + "id": 636, + "displayName": "Granite Stairs", + "name": "granite_stairs", + "hardness": 0, + "minStateId": 10393, + "maxStateId": 10472, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 538 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10404 + }, + { + "id": 637, + "displayName": "Andesite Stairs", + "name": "andesite_stairs", + "hardness": 0, + "minStateId": 10473, + "maxStateId": 10552, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 539 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10484 + }, + { + "id": 638, + "displayName": "Red Nether Brick Stairs", + "name": "red_nether_brick_stairs", + "hardness": 0, + "minStateId": 10553, + "maxStateId": 10632, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 540 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10564 + }, + { + "id": 639, + "displayName": "Polished Andesite Stairs", + "name": "polished_andesite_stairs", + "hardness": 0, + "minStateId": 10633, + "maxStateId": 10712, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 541 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10644 + }, + { + "id": 640, + "displayName": "Diorite Stairs", + "name": "diorite_stairs", + "hardness": 0, + "minStateId": 10713, + "maxStateId": 10792, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 542 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 10724 + }, + { + "id": 641, + "displayName": "Polished Granite Slab", + "name": "polished_granite_slab", + "hardness": 0, + "minStateId": 10793, + "maxStateId": 10798, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 543 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10796 + }, + { + "id": 642, + "displayName": "Smooth Red Sandstone Slab", + "name": "smooth_red_sandstone_slab", + "hardness": 0, + "minStateId": 10799, + "maxStateId": 10804, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 544 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10802 + }, + { + "id": 643, + "displayName": "Mossy Stone Brick Slab", + "name": "mossy_stone_brick_slab", + "hardness": 0, + "minStateId": 10805, + "maxStateId": 10810, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 545 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10808 + }, + { + "id": 644, + "displayName": "Polished Diorite Slab", + "name": "polished_diorite_slab", + "hardness": 0, + "minStateId": 10811, + "maxStateId": 10816, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 546 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10814 + }, + { + "id": 645, + "displayName": "Mossy Cobblestone Slab", + "name": "mossy_cobblestone_slab", + "hardness": 0, + "minStateId": 10817, + "maxStateId": 10822, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 547 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10820 + }, + { + "id": 646, + "displayName": "End Stone Brick Slab", + "name": "end_stone_brick_slab", + "hardness": 0, + "minStateId": 10823, + "maxStateId": 10828, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 548 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10826 + }, + { + "id": 647, + "displayName": "Smooth Sandstone Slab", + "name": "smooth_sandstone_slab", + "hardness": 0, + "minStateId": 10829, + "maxStateId": 10834, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 549 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10832 + }, + { + "id": 648, + "displayName": "Smooth Quartz Slab", + "name": "smooth_quartz_slab", + "hardness": 0, + "minStateId": 10835, + "maxStateId": 10840, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 550 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10838 + }, + { + "id": 649, + "displayName": "Granite Slab", + "name": "granite_slab", + "hardness": 0, + "minStateId": 10841, + "maxStateId": 10846, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 551 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10844 + }, + { + "id": 650, + "displayName": "Andesite Slab", + "name": "andesite_slab", + "hardness": 0, + "minStateId": 10847, + "maxStateId": 10852, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 552 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10850 + }, + { + "id": 651, + "displayName": "Red Nether Brick Slab", + "name": "red_nether_brick_slab", + "hardness": 0, + "minStateId": 10853, + "maxStateId": 10858, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 553 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10856 + }, + { + "id": 652, + "displayName": "Polished Andesite Slab", + "name": "polished_andesite_slab", + "hardness": 0, + "minStateId": 10859, + "maxStateId": 10864, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 554 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10862 + }, + { + "id": 653, + "displayName": "Diorite Slab", + "name": "diorite_slab", + "hardness": 0, + "minStateId": 10865, + "maxStateId": 10870, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 555 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10868 + }, + { + "id": 654, + "displayName": "Brick Wall", + "name": "brick_wall", + "hardness": 0, + "minStateId": 10871, + "maxStateId": 11194, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 289 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 10874 + }, + { + "id": 655, + "displayName": "Prismarine Wall", + "name": "prismarine_wall", + "hardness": 0, + "minStateId": 11195, + "maxStateId": 11518, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 290 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 11198 + }, + { + "id": 656, + "displayName": "Red Sandstone Wall", + "name": "red_sandstone_wall", + "hardness": 0, + "minStateId": 11519, + "maxStateId": 11842, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 291 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 11522 + }, + { + "id": 657, + "displayName": "Mossy Stone Brick Wall", + "name": "mossy_stone_brick_wall", + "hardness": 0, + "minStateId": 11843, + "maxStateId": 12166, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 292 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 11846 + }, + { + "id": 658, + "displayName": "Granite Wall", + "name": "granite_wall", + "hardness": 0, + "minStateId": 12167, + "maxStateId": 12490, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 293 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 12170 + }, + { + "id": 659, + "displayName": "Stone Brick Wall", + "name": "stone_brick_wall", + "hardness": 0, + "minStateId": 12491, + "maxStateId": 12814, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 294 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 12494 + }, + { + "id": 660, + "displayName": "Nether Brick Wall", + "name": "nether_brick_wall", + "hardness": 0, + "minStateId": 12815, + "maxStateId": 13138, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 295 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 12818 + }, + { + "id": 661, + "displayName": "Andesite Wall", + "name": "andesite_wall", + "hardness": 0, + "minStateId": 13139, + "maxStateId": 13462, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 296 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 13142 + }, + { + "id": 662, + "displayName": "Red Nether Brick Wall", + "name": "red_nether_brick_wall", + "hardness": 0, + "minStateId": 13463, + "maxStateId": 13786, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 297 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 13466 + }, + { + "id": 663, + "displayName": "Sandstone Wall", + "name": "sandstone_wall", + "hardness": 0, + "minStateId": 13787, + "maxStateId": 14110, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 298 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 13790 + }, + { + "id": 664, + "displayName": "End Stone Brick Wall", + "name": "end_stone_brick_wall", + "hardness": 0, + "minStateId": 14111, + "maxStateId": 14434, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 299 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 14114 + }, + { + "id": 665, + "displayName": "Diorite Wall", + "name": "diorite_wall", + "hardness": 0, + "minStateId": 14435, + "maxStateId": 14758, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 300 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 14438 + }, + { + "id": 666, + "displayName": "Scaffolding", + "name": "scaffolding", + "hardness": 0, + "minStateId": 14759, + "maxStateId": 14790, + "states": [ + { + "name": "bottom", + "type": "bool", + "num_values": 2 + }, + { + "name": "distance", + "type": "int", + "num_values": 8 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 556 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 14790 + }, + { + "id": 667, + "displayName": "Loom", + "name": "loom", + "hardness": 2.5, + "minStateId": 14791, + "maxStateId": 14794, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 928 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 14791 + }, + { + "id": 668, + "displayName": "Barrel", + "name": "barrel", + "hardness": 2.5, + "minStateId": 14795, + "maxStateId": 14806, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 6, + "values": [ + "north", + "east", + "south", + "west", + "up", + "down" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 936 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 14796 + }, + { + "id": 669, + "displayName": "Smoker", + "name": "smoker", + "hardness": 3.5, + "minStateId": 14807, + "maxStateId": 14814, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 937 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 14808 + }, + { + "id": 670, + "displayName": "Blast Furnace", + "name": "blast_furnace", + "hardness": 3.5, + "minStateId": 14815, + "maxStateId": 14822, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 938 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 14816 + }, + { + "id": 671, + "displayName": "Cartography Table", + "name": "cartography_table", + "hardness": 2.5, + "minStateId": 14823, + "maxStateId": 14823, + "states": [], + "drops": [ + 939 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 14823 + }, + { + "id": 672, + "displayName": "Fletching Table", + "name": "fletching_table", + "hardness": 2.5, + "minStateId": 14824, + "maxStateId": 14824, + "states": [], + "drops": [ + 940 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 14824 + }, + { + "id": 673, + "displayName": "Grindstone", + "name": "grindstone", + "hardness": 2, + "minStateId": 14825, + "maxStateId": 14836, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 941 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 14829 + }, + { + "id": 674, + "displayName": "Lectern", + "name": "lectern", + "hardness": 2.5, + "minStateId": 14837, + "maxStateId": 14852, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "has_book", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 942 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 14840 + }, + { + "id": 675, + "displayName": "Smithing Table", + "name": "smithing_table", + "hardness": 2.5, + "minStateId": 14853, + "maxStateId": 14853, + "states": [], + "drops": [ + 943 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 14853 + }, + { + "id": 676, + "displayName": "Stonecutter", + "name": "stonecutter", + "hardness": 3.5, + "minStateId": 14854, + "maxStateId": 14857, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + } + ], + "drops": [ + 944 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 14854 + }, + { + "id": 677, + "displayName": "Bell", + "name": "bell", + "hardness": 5, + "minStateId": 14858, + "maxStateId": 14889, + "states": [ + { + "name": "attachment", + "type": "enum", + "num_values": 4, + "values": [ + "floor", + "ceiling", + "single_wall", + "double_wall" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 945 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "defaultState": 14859 + }, + { + "id": 678, + "displayName": "Lantern", + "name": "lantern", + "hardness": 3.5, + "minStateId": 14890, + "maxStateId": 14893, + "states": [ + { + "name": "hanging", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 946 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 14893 + }, + { + "id": 679, + "displayName": "Soul Lantern", + "name": "soul_lantern", + "hardness": 3.5, + "minStateId": 14894, + "maxStateId": 14897, + "states": [ + { + "name": "hanging", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 947 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 14897 + }, + { + "id": 680, + "displayName": "Campfire", + "name": "campfire", + "hardness": 2, + "minStateId": 14898, + "maxStateId": 14929, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + }, + { + "name": "signal_fire", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 949 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "material": "UNKNOWN_MATERIAL", + "defaultState": 14901 + }, + { + "id": 681, + "displayName": "Soul Campfire", + "name": "soul_campfire", + "hardness": 2, + "minStateId": 14930, + "maxStateId": 14961, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "lit", + "type": "bool", + "num_values": 2 + }, + { + "name": "signal_fire", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 950 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 1, + "material": "wood", + "defaultState": 14933 + }, + { + "id": 682, + "displayName": "Sweet Berry Bush", + "name": "sweet_berry_bush", + "hardness": 0, + "minStateId": 14962, + "maxStateId": 14965, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 4 + } + ], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 14962 + }, + { + "id": 683, + "displayName": "Warped Stem", + "name": "warped_stem", + "hardness": 2, + "minStateId": 14966, + "maxStateId": 14968, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 44 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 14967 + }, + { + "id": 684, + "displayName": "Stripped Warped Stem", + "name": "stripped_warped_stem", + "hardness": 2, + "minStateId": 14969, + "maxStateId": 14971, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 52 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 14970 + }, + { + "id": 685, + "displayName": "Warped Hyphae", + "name": "warped_hyphae", + "hardness": 2, + "minStateId": 14972, + "maxStateId": 14974, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 68 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 14973 + }, + { + "id": 686, + "displayName": "Stripped Warped Hyphae", + "name": "stripped_warped_hyphae", + "hardness": 2, + "minStateId": 14975, + "maxStateId": 14977, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 60 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 14976 + }, + { + "id": 687, + "displayName": "Warped Nylium", + "name": "warped_nylium", + "hardness": 0.4, + "minStateId": 14978, + "maxStateId": 14978, + "states": [], + "drops": [ + 13 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 14978 + }, + { + "id": 688, + "displayName": "Warped Fungus", + "name": "warped_fungus", + "hardness": 0, + "minStateId": 14979, + "maxStateId": 14979, + "states": [], + "drops": [ + 127 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 14979 + }, + { + "id": 689, + "displayName": "Warped Wart Block", + "name": "warped_wart_block", + "hardness": 1, + "minStateId": 14980, + "maxStateId": 14980, + "states": [], + "drops": [ + 426 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": {}, + "defaultState": 14980 + }, + { + "id": 690, + "displayName": "Warped Roots", + "name": "warped_roots", + "hardness": 0, + "minStateId": 14981, + "maxStateId": 14981, + "states": [], + "drops": [ + 129 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 14981 + }, + { + "id": 691, + "displayName": "Nether Sprouts", + "name": "nether_sprouts", + "hardness": 0, + "minStateId": 14982, + "maxStateId": 14982, + "states": [], + "drops": [ + 130 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "plant", + "defaultState": 14982 + }, + { + "id": 692, + "displayName": "Crimson Stem", + "name": "crimson_stem", + "hardness": 2, + "minStateId": 14983, + "maxStateId": 14985, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 43 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 14984 + }, + { + "id": 693, + "displayName": "Stripped Crimson Stem", + "name": "stripped_crimson_stem", + "hardness": 2, + "minStateId": 14986, + "maxStateId": 14988, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 51 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 14987 + }, + { + "id": 694, + "displayName": "Crimson Hyphae", + "name": "crimson_hyphae", + "hardness": 2, + "minStateId": 14989, + "maxStateId": 14991, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 67 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 14990 + }, + { + "id": 695, + "displayName": "Stripped Crimson Hyphae", + "name": "stripped_crimson_hyphae", + "hardness": 2, + "minStateId": 14992, + "maxStateId": 14994, + "states": [ + { + "name": "axis", + "type": "enum", + "num_values": 3, + "values": [ + "x", + "y", + "z" + ] + } + ], + "drops": [ + 59 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 14993 + }, + { + "id": 696, + "displayName": "Crimson Nylium", + "name": "crimson_nylium", + "hardness": 0.4, + "minStateId": 14995, + "maxStateId": 14995, + "states": [], + "drops": [ + 12 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 14995 + }, + { + "id": 697, + "displayName": "Crimson Fungus", + "name": "crimson_fungus", + "hardness": 0, + "minStateId": 14996, + "maxStateId": 14996, + "states": [], + "drops": [ + 126 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 14996 + }, + { + "id": 698, + "displayName": "Shroomlight", + "name": "shroomlight", + "hardness": 1, + "minStateId": 14997, + "maxStateId": 14997, + "states": [], + "drops": [ + 951 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": {}, + "defaultState": 14997 + }, + { + "id": 699, + "displayName": "Weeping Vines", + "name": "weeping_vines", + "hardness": 0, + "minStateId": 14998, + "maxStateId": 15023, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 26 + } + ], + "drops": [ + 131 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 14998 + }, + { + "id": 700, + "displayName": "Weeping Vines Plant", + "name": "weeping_vines_plant", + "hardness": 0, + "minStateId": 15024, + "maxStateId": 15024, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 15024 + }, + { + "id": 701, + "displayName": "Twisting Vines", + "name": "twisting_vines", + "hardness": 0, + "minStateId": 15025, + "maxStateId": 15050, + "states": [ + { + "name": "age", + "type": "int", + "num_values": 26 + } + ], + "drops": [ + 132 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 15025 + }, + { + "id": 702, + "displayName": "Twisting Vines Plant", + "name": "twisting_vines_plant", + "hardness": 0, + "minStateId": 15051, + "maxStateId": 15051, + "states": [], + "drops": [], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 15051 + }, + { + "id": 703, + "displayName": "Crimson Roots", + "name": "crimson_roots", + "hardness": 0, + "minStateId": 15052, + "maxStateId": 15052, + "states": [], + "drops": [ + 128 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 15052 + }, + { + "id": 704, + "displayName": "Crimson Planks", + "name": "crimson_planks", + "hardness": 2, + "minStateId": 15053, + "maxStateId": 15053, + "states": [], + "drops": [ + 21 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15053 + }, + { + "id": 705, + "displayName": "Warped Planks", + "name": "warped_planks", + "hardness": 2, + "minStateId": 15054, + "maxStateId": 15054, + "states": [], + "drops": [ + 22 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15054 + }, + { + "id": 706, + "displayName": "Crimson Slab", + "name": "crimson_slab", + "hardness": 2, + "minStateId": 15055, + "maxStateId": 15060, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 144 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15058 + }, + { + "id": 707, + "displayName": "Warped Slab", + "name": "warped_slab", + "hardness": 2, + "minStateId": 15061, + "maxStateId": 15066, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 145 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15064 + }, + { + "id": 708, + "displayName": "Crimson Pressure Plate", + "name": "crimson_pressure_plate", + "hardness": 0.5, + "minStateId": 15067, + "maxStateId": 15068, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 197 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 15068 + }, + { + "id": 709, + "displayName": "Warped Pressure Plate", + "name": "warped_pressure_plate", + "hardness": 0.5, + "minStateId": 15069, + "maxStateId": 15070, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 198 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 15070 + }, + { + "id": 710, + "displayName": "Crimson Fence", + "name": "crimson_fence", + "hardness": 2, + "minStateId": 15071, + "maxStateId": 15102, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 214 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15102 + }, + { + "id": 711, + "displayName": "Warped Fence", + "name": "warped_fence", + "hardness": 2, + "minStateId": 15103, + "maxStateId": 15134, + "states": [ + { + "name": "east", + "type": "bool", + "num_values": 2 + }, + { + "name": "north", + "type": "bool", + "num_values": 2 + }, + { + "name": "south", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 215 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15134 + }, + { + "id": 712, + "displayName": "Crimson Trapdoor", + "name": "crimson_trapdoor", + "hardness": 3, + "minStateId": 15135, + "maxStateId": 15198, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 232 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15150 + }, + { + "id": 713, + "displayName": "Warped Trapdoor", + "name": "warped_trapdoor", + "hardness": 3, + "minStateId": 15199, + "maxStateId": 15262, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 233 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15214 + }, + { + "id": 714, + "displayName": "Crimson Fence Gate", + "name": "crimson_fence_gate", + "hardness": 2, + "minStateId": 15263, + "maxStateId": 15294, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 258 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15270 + }, + { + "id": 715, + "displayName": "Warped Fence Gate", + "name": "warped_fence_gate", + "hardness": 2, + "minStateId": 15295, + "maxStateId": 15326, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "in_wall", + "type": "bool", + "num_values": 2 + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 259 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15302 + }, + { + "id": 716, + "displayName": "Crimson Stairs", + "name": "crimson_stairs", + "hardness": 0, + "minStateId": 15327, + "maxStateId": 15406, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 283 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15338 + }, + { + "id": 717, + "displayName": "Warped Stairs", + "name": "warped_stairs", + "hardness": 0, + "minStateId": 15407, + "maxStateId": 15486, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 284 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15418 + }, + { + "id": 718, + "displayName": "Crimson Button", + "name": "crimson_button", + "hardness": 0.5, + "minStateId": 15487, + "maxStateId": 15510, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 311 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 15496 + }, + { + "id": 719, + "displayName": "Warped Button", + "name": "warped_button", + "hardness": 0.5, + "minStateId": 15511, + "maxStateId": 15534, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 312 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 15520 + }, + { + "id": 720, + "displayName": "Crimson Door", + "name": "crimson_door", + "hardness": 3, + "minStateId": 15535, + "maxStateId": 15598, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 564 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15546 + }, + { + "id": 721, + "displayName": "Warped Door", + "name": "warped_door", + "hardness": 3, + "minStateId": 15599, + "maxStateId": 15662, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "upper", + "lower" + ] + }, + { + "name": "hinge", + "type": "enum", + "num_values": 2, + "values": [ + "left", + "right" + ] + }, + { + "name": "open", + "type": "bool", + "num_values": 2 + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 565 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15610 + }, + { + "id": 722, + "displayName": "Crimson Sign", + "name": "crimson_sign", + "hardness": 1, + "minStateId": 15663, + "maxStateId": 15694, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 658 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 15664 + }, + { + "id": 723, + "displayName": "Warped Sign", + "name": "warped_sign", + "hardness": 1, + "minStateId": 15695, + "maxStateId": 15726, + "states": [ + { + "name": "rotation", + "type": "int", + "num_values": 16 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 659 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 15696 + }, + { + "id": 724, + "displayName": "Crimson Wall Sign", + "name": "crimson_wall_sign", + "hardness": 1, + "minStateId": 15727, + "maxStateId": 15734, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 658 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 15728 + }, + { + "id": 725, + "displayName": "Warped Wall Sign", + "name": "warped_wall_sign", + "hardness": 1, + "minStateId": 15735, + "maxStateId": 15742, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 659 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 16, + "material": "wood", + "defaultState": 15736 + }, + { + "id": 726, + "displayName": "Structure Block", + "name": "structure_block", + "hardness": null, + "minStateId": 15743, + "maxStateId": 15746, + "states": [ + { + "name": "mode", + "type": "enum", + "num_values": 4, + "values": [ + "save", + "load", + "corner", + "data" + ] + } + ], + "drops": [ + 568 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 15743 + }, + { + "id": 727, + "displayName": "Jigsaw Block", + "name": "jigsaw", + "hardness": null, + "minStateId": 15747, + "maxStateId": 15758, + "states": [ + { + "name": "orientation", + "type": "enum", + "num_values": 12, + "values": [ + "down_east", + "down_north", + "down_south", + "down_west", + "up_east", + "up_north", + "up_south", + "up_west", + "west_up", + "east_up", + "north_up", + "south_up" + ] + } + ], + "drops": [ + 569 + ], + "diggable": false, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 15757 + }, + { + "id": 728, + "displayName": "Composter", + "name": "composter", + "hardness": 0.6, + "minStateId": 15759, + "maxStateId": 15767, + "states": [ + { + "name": "level", + "type": "int", + "num_values": 9 + } + ], + "drops": [ + 935 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 15759 + }, + { + "id": 729, + "displayName": "Target", + "name": "target", + "hardness": 0.5, + "minStateId": 15768, + "maxStateId": 15783, + "states": [ + { + "name": "power", + "type": "int", + "num_values": 16 + } + ], + "drops": [ + 961 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "harvestTools": {}, + "defaultState": 15768 + }, + { + "id": 730, + "displayName": "Bee Nest", + "name": "bee_nest", + "hardness": 0.3, + "minStateId": 15784, + "maxStateId": 15807, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "honey_level", + "type": "int", + "num_values": 6 + } + ], + "drops": [ + 953 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 15784 + }, + { + "id": 731, + "displayName": "Beehive", + "name": "beehive", + "hardness": 0.6, + "minStateId": 15808, + "maxStateId": 15831, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "honey_level", + "type": "int", + "num_values": 6 + } + ], + "drops": [ + 954 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "UNKNOWN_MATERIAL", + "defaultState": 15808 + }, + { + "id": 732, + "displayName": "Honey Block", + "name": "honey_block", + "hardness": 0, + "minStateId": 15832, + "maxStateId": 15832, + "states": [], + "drops": [ + 956 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 15832 + }, + { + "id": 733, + "displayName": "Honeycomb Block", + "name": "honeycomb_block", + "hardness": 0.6, + "minStateId": 15833, + "maxStateId": 15833, + "states": [], + "drops": [ + 957 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 15833 + }, + { + "id": 734, + "displayName": "Block of Netherite", + "name": "netherite_block", + "hardness": 50, + "minStateId": 15834, + "maxStateId": 15834, + "states": [], + "drops": [ + 959 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "605": true + }, + "defaultState": 15834 + }, + { + "id": 735, + "displayName": "Ancient Debris", + "name": "ancient_debris", + "hardness": 30, + "minStateId": 15835, + "maxStateId": 15835, + "states": [], + "drops": [ + 960 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "605": true + }, + "defaultState": 15835 + }, + { + "id": 736, + "displayName": "Crying Obsidian", + "name": "crying_obsidian", + "hardness": 50, + "minStateId": 15836, + "maxStateId": 15836, + "states": [], + "drops": [ + 962 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "605": true + }, + "defaultState": 15836 + }, + { + "id": 737, + "displayName": "Respawn Anchor", + "name": "respawn_anchor", + "hardness": 50, + "minStateId": 15837, + "maxStateId": 15841, + "states": [ + { + "name": "charges", + "type": "int", + "num_values": 5 + } + ], + "drops": [ + 975 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 2, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "605": true + }, + "defaultState": 15837 + }, + { + "id": 738, + "displayName": "Potted Crimson Fungus", + "name": "potted_crimson_fungus", + "hardness": 0, + "minStateId": 15842, + "maxStateId": 15842, + "states": [], + "drops": [ + 829, + 126 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 15842 + }, + { + "id": 739, + "displayName": "Potted Warped Fungus", + "name": "potted_warped_fungus", + "hardness": 0, + "minStateId": 15843, + "maxStateId": 15843, + "states": [], + "drops": [ + 829, + 127 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 15843 + }, + { + "id": 740, + "displayName": "Potted Crimson Roots", + "name": "potted_crimson_roots", + "hardness": 0, + "minStateId": 15844, + "maxStateId": 15844, + "states": [], + "drops": [ + 829, + 128 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 15844 + }, + { + "id": 741, + "displayName": "Potted Warped Roots", + "name": "potted_warped_roots", + "hardness": 0, + "minStateId": 15845, + "maxStateId": 15845, + "states": [], + "drops": [ + 829, + 129 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "defaultState": 15845 + }, + { + "id": 742, + "displayName": "Lodestone", + "name": "lodestone", + "hardness": 3.5, + "minStateId": 15846, + "maxStateId": 15846, + "states": [], + "drops": [ + 958 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 15846 + }, + { + "id": 743, + "displayName": "Blackstone", + "name": "blackstone", + "hardness": 1.5, + "minStateId": 15847, + "maxStateId": 15847, + "states": [], + "drops": [ + 963 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 15847 + }, + { + "id": 744, + "displayName": "Blackstone Stairs", + "name": "blackstone_stairs", + "hardness": 0, + "minStateId": 15848, + "maxStateId": 15927, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 965 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 15859 + }, + { + "id": 745, + "displayName": "Blackstone Wall", + "name": "blackstone_wall", + "hardness": 0, + "minStateId": 15928, + "maxStateId": 16251, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 301 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 15931 + }, + { + "id": 746, + "displayName": "Blackstone Slab", + "name": "blackstone_slab", + "hardness": 2, + "minStateId": 16252, + "maxStateId": 16257, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 964 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 16255 + }, + { + "id": 747, + "displayName": "Polished Blackstone", + "name": "polished_blackstone", + "hardness": 2, + "minStateId": 16258, + "maxStateId": 16258, + "states": [], + "drops": [ + 967 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 16258 + }, + { + "id": 748, + "displayName": "Polished Blackstone Bricks", + "name": "polished_blackstone_bricks", + "hardness": 1.5, + "minStateId": 16259, + "maxStateId": 16259, + "states": [], + "drops": [ + 971 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 16259 + }, + { + "id": 749, + "displayName": "Cracked Polished Blackstone Bricks", + "name": "cracked_polished_blackstone_bricks", + "hardness": 0, + "minStateId": 16260, + "maxStateId": 16260, + "states": [], + "drops": [ + 974 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 16260 + }, + { + "id": 750, + "displayName": "Chiseled Polished Blackstone", + "name": "chiseled_polished_blackstone", + "hardness": 1.5, + "minStateId": 16261, + "maxStateId": 16261, + "states": [], + "drops": [ + 970 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 0, + "defaultState": 16261 + }, + { + "id": 751, + "displayName": "Polished Blackstone Brick Slab", + "name": "polished_blackstone_brick_slab", + "hardness": 2, + "minStateId": 16262, + "maxStateId": 16267, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 972 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 16265 + }, + { + "id": 752, + "displayName": "Polished Blackstone Brick Stairs", + "name": "polished_blackstone_brick_stairs", + "hardness": 0, + "minStateId": 16268, + "maxStateId": 16347, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 973 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 16279 + }, + { + "id": 753, + "displayName": "Polished Blackstone Brick Wall", + "name": "polished_blackstone_brick_wall", + "hardness": 0, + "minStateId": 16348, + "maxStateId": 16671, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 303 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 16351 + }, + { + "id": 754, + "displayName": "Gilded Blackstone", + "name": "gilded_blackstone", + "hardness": 0, + "minStateId": 16672, + "maxStateId": 16672, + "states": [], + "drops": [ + 966 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 16672 + }, + { + "id": 755, + "displayName": "Polished Blackstone Stairs", + "name": "polished_blackstone_stairs", + "hardness": 0, + "minStateId": 16673, + "maxStateId": 16752, + "states": [ + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "half", + "type": "enum", + "num_values": 2, + "values": [ + "top", + "bottom" + ] + }, + { + "name": "shape", + "type": "enum", + "num_values": 5, + "values": [ + "straight", + "inner_left", + "inner_right", + "outer_left", + "outer_right" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 969 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 16684 + }, + { + "id": 756, + "displayName": "Polished Blackstone Slab", + "name": "polished_blackstone_slab", + "hardness": 0, + "minStateId": 16753, + "maxStateId": 16758, + "states": [ + { + "name": "type", + "type": "enum", + "num_values": 3, + "values": [ + "top", + "bottom", + "double" + ] + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 968 + ], + "diggable": true, + "transparent": true, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "wood", + "defaultState": 16756 + }, + { + "id": 757, + "displayName": "Polished Blackstone Pressure Plate", + "name": "polished_blackstone_pressure_plate", + "hardness": 0.5, + "minStateId": 16759, + "maxStateId": 16760, + "states": [ + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 199 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 16760 + }, + { + "id": 758, + "displayName": "Polished Blackstone Button", + "name": "polished_blackstone_button", + "hardness": 0.5, + "minStateId": 16761, + "maxStateId": 16784, + "states": [ + { + "name": "face", + "type": "enum", + "num_values": 3, + "values": [ + "floor", + "wall", + "ceiling" + ] + }, + { + "name": "facing", + "type": "enum", + "num_values": 4, + "values": [ + "north", + "south", + "west", + "east" + ] + }, + { + "name": "powered", + "type": "bool", + "num_values": 2 + } + ], + "drops": [ + 313 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "empty", + "stackSize": 64, + "defaultState": 16770 + }, + { + "id": 759, + "displayName": "Polished Blackstone Wall", + "name": "polished_blackstone_wall", + "hardness": 0, + "minStateId": 16785, + "maxStateId": 17108, + "states": [ + { + "name": "east", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "north", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "south", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + }, + { + "name": "up", + "type": "bool", + "num_values": 2 + }, + { + "name": "waterlogged", + "type": "bool", + "num_values": 2 + }, + { + "name": "west", + "type": "enum", + "num_values": 3, + "values": [ + "none", + "low", + "tall" + ] + } + ], + "drops": [ + 302 + ], + "diggable": true, + "transparent": true, + "filterLight": 0, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 16788 + }, + { + "id": 760, + "displayName": "Chiseled Nether Bricks", + "name": "chiseled_nether_bricks", + "hardness": 2, + "minStateId": 17109, + "maxStateId": 17109, + "states": [], + "drops": [ + 266 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 17109 + }, + { + "id": 761, + "displayName": "Cracked Nether Bricks", + "name": "cracked_nether_bricks", + "hardness": 2, + "minStateId": 17110, + "maxStateId": 17110, + "states": [], + "drops": [ + 265 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 17110 + }, + { + "id": 762, + "displayName": "Quartz Bricks", + "name": "quartz_bricks", + "hardness": 0, + "minStateId": 17111, + "maxStateId": 17111, + "states": [], + "drops": [ + 326 + ], + "diggable": true, + "transparent": false, + "filterLight": 15, + "emitLight": 0, + "boundingBox": "block", + "stackSize": 64, + "material": "rock", + "harvestTools": { + "585": true, + "590": true, + "595": true, + "600": true, + "605": true + }, + "defaultState": 17111 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/commands.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/commands.json new file mode 100644 index 00000000..e2d2cbf9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/commands.json @@ -0,0 +1,13611 @@ +{ + "root": { + "type": "root", + "name": "root", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "advancement", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "grant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "revoke", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "base", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modifier", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply_base", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "ban", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ban-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "banlist", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ips", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "visible", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "blue", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "green", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pink", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "purple", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "red", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "white", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "yellow", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "max", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ] + }, + { + "type": "literal", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "style", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "notched_10", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_12", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_20", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_6", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "progress", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "visible", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "visible", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxCount", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "clone", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "begin", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "filtered", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "datapack", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "disable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "after", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "before", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "first", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "last", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "available", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "enabled", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ] + }, + { + "type": "literal", + "name": "debug", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "report", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "start", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "defaultgamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "deop", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "difficulty", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "easy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hard", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "peaceful", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "effect", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "seconds", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amplifier", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "hideParticles", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + } + } + } + ], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "enchant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "enchantment", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "level", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_enchantment", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "execute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "align", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "axes", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:swizzle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "anchored", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "at", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "if", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "in", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "dimension", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:dimension", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "positioned", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rotated", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "rot", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "run", + "executable": false, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "store", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "result", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "success", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "unless", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "experience", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "fill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hollow", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "outline", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forceload", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "gamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "gamerule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "announceAdvancements", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "commandBlockOutput", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableElytraMovementCheck", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableRaids", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doDaylightCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doEntityDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doFireTick", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doImmediateRespawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doInsomnia", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doLimitedCrafting", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobLoot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doPatrolSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTileDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTraderSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doWeatherCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "drowningDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fallDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fireDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forgiveDeadPlayers", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "keepInventory", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "logAdminCommands", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxCommandChainLength", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxEntityCramming", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mobGriefing", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "naturalRegeneration", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "randomTickSpeed", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "reducedDebugInfo", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "sendCommandFeedback", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "showDeathMessages", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnRadius", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spectatorsGenerateChunks", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "universalAnger", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "help", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "command", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "kick", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "uuids", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "bastion_remnant", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "buried_treasure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "desert_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "endcity", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "fortress", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "igloo", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "jungle_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mansion", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mineshaft", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "monument", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "nether_fossil", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ocean_ruin", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pillager_outpost", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ruined_portal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "shipwreck", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stronghold", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "swamp_hut", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "village", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locatebiome", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "biome", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "spawn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "me", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "action", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "msg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "op", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "particle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "delta", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "speed", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:particle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "playsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ambient", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "publish", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "port", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + } + } + } + ] + }, + { + "type": "literal", + "name": "recipe", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "take", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replaceitem", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "save-all", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "flush", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "save-off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "save-on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "say", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "schedule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "scoreboard", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "objectives", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criteria", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective_criteria", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "displayname", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rendertype", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "hearts", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "integer", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setdisplay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:scoreboard_slot", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:operation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "reset", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "seed", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "setblock", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setidletimeout", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minutes", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "setworldspawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnpoint", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectate", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "player", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "spreadplayers", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "spreadDistance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxRange", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "under", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxHeight", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stopsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ambient", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "summon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity_summon", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tag", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "empty", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "join", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "leave", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "collisionRule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOwnTeam", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:color", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "deathMessageVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "displayName", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "friendlyFire", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "nametagVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "prefix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "prefix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "seeFriendlyInvisibles", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "suffix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "suffix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "teammsg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "teleport", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "tell", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tellraw", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "daytime", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "gametime", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "midnight", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "night", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "noon", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "actionbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reset", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "subtitle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "times", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeIn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "stay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeOut", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tm", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "trigger", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "w", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "rain", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "thunder", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "whitelist", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "worldborder", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "damage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "amount", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "damagePerBlock", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "buffer", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "warning", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "distance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "xp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + } + ] + }, + "parsers": [ + { + "parser": "minecraft:resource_location", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + }, + "examples": [ + "word", + "words with spaces", + "\\\" and symbols\\\"" + ] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + }, + "examples": [ + "@a" + ] + }, + { + "parser": "brigadier:double", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + }, + "examples": [ + "\\\"quoted phrase\\\"", + "word", + "" + ] + }, + { + "parser": "minecraft:uuid", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:message", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:game_profile", + "modifier": null, + "examples": [ + "Player", + "0123", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "@e" + ] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "word" + }, + "examples": [ + "word", + "word_with_underscore" + ] + }, + { + "parser": "minecraft:component", + "modifier": null, + "examples": [ + "\"hello world\"", + "\"\"", + "\"{\"text\":\"hello world\"}\"", + "[\"\"]" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + }, + "examples": [ + "1" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + }, + "examples": [ + "0", + "1" + ] + }, + { + "parser": "brigadier:bool", + "modifier": null, + "examples": [ + "true", + "false" + ] + }, + { + "parser": "minecraft:item_predicate", + "modifier": null, + "examples": [ + "stick", + "minecraft:stick", + "#stick", + "diamond_sword{ench:[{id:16,lvl:5}]}" + ] + }, + { + "parser": "minecraft:block_predicate", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "#stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:block_pos", + "modifier": null, + "examples": [ + "0 0 0", + "~ ~ ~", + "^ ^ ^", + "^1 ^ ^-5", + "~0.5 ~1 ~-5" + ] + }, + { + "parser": "minecraft:nbt_path", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_compound_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:integer", + "modifier": null, + "examples": [ + "1", + "0", + "10" + ] + }, + { + "parser": "minecraft:mob_effect", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + }, + "examples": [ + "@e", + "@e[type=cow]", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "Player" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + }, + "examples": [ + "0", + "255" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + }, + "examples": [ + "1", + "1000000" + ] + }, + { + "parser": "minecraft:item_enchantment", + "modifier": null, + "examples": [ + "unbreaking", + "minecraft:slik_touch" + ] + }, + { + "parser": "minecraft:swizzle", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_anchor", + "modifier": null, + "examples": [ + "eyes", + "feet" + ] + }, + { + "parser": "minecraft:vec3", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + }, + "examples": [] + }, + { + "parser": "minecraft:int_range", + "modifier": null, + "examples": [ + "0..5", + "0", + "-5", + "-100..", + "..100" + ] + }, + { + "parser": "minecraft:dimension", + "modifier": null, + "examples": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end", + "overworld", + "the_end", + "the_nether" + ] + }, + { + "parser": "minecraft:rotation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + }, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:block_state", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:column_pos", + "modifier": null, + "examples": [ + "0 0", + "~ ~", + "~1 ~-2", + "^ ^", + "^-1 ^0" + ] + }, + { + "parser": "minecraft:function", + "modifier": null, + "examples": [ + "foo", + "foo:bar", + "#foo" + ] + }, + { + "parser": "minecraft:item_stack", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:item_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + }, + "examples": [ + "0.0", + "0", + "1", + "0.01" + ] + }, + { + "parser": "minecraft:particle", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + }, + "examples": [ + "0.0", + "0", + "1", + "1.0", + "0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + }, + "examples": [ + "0", + "2", + "1.0", + "2.0" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + }, + "examples": [ + "0", + "65535" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + }, + "examples": [ + "1", + "64" + ] + }, + { + "parser": "minecraft:time", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective_criteria", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:scoreboard_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:operation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:angle", + "modifier": null, + "examples": [ + "0", + "~", + "~-0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + }, + "examples": [ + "1", + "1.0", + "1.000" + ] + }, + { + "parser": "minecraft:vec2", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_summon", + "modifier": null, + "examples": [ + "minecraft:pig", + "cow" + ] + }, + { + "parser": "minecraft:team", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:color", + "modifier": null, + "examples": [ + "aqua", + "black", + "blue", + "dark_aqua", + "dark_blue", + "dark_gray", + "dark_green", + "dark_purple", + "dark_red", + "gold", + "gray", + "green", + "light_purple", + "red", + "reset", + "yellow", + "white" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + }, + "examples": [ + "0", + "1000000" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + }, + "examples": [] + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/entities.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/entities.json new file mode 100644 index 00000000..34be4a0b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/entities.json @@ -0,0 +1,1082 @@ +[ + { + "id": 0, + "internalId": 0, + "name": "area_effect_cloud", + "displayName": "Area Effect Cloud", + "width": 6, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 1, + "internalId": 1, + "name": "armor_stand", + "displayName": "Armor Stand", + "width": 0.5, + "height": 1.975, + "type": "mob", + "category": "Immobile" + }, + { + "id": 2, + "internalId": 2, + "name": "arrow", + "displayName": "Arrow", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 3, + "internalId": 3, + "name": "bat", + "displayName": "Bat", + "width": 0.5, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 4, + "internalId": 4, + "name": "bee", + "displayName": "Bee", + "width": 0.7, + "height": 0.6, + "type": "UNKNOWN", + "category": "UNKNOWN" + }, + { + "id": 5, + "internalId": 5, + "name": "blaze", + "displayName": "Blaze", + "width": 0.6, + "height": 1.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 6, + "internalId": 6, + "name": "boat", + "displayName": "Boat", + "width": 1.375, + "height": 0.5625, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 7, + "internalId": 7, + "name": "cat", + "displayName": "Cat", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 8, + "internalId": 8, + "name": "cave_spider", + "displayName": "Cave Spider", + "width": 0.7, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 9, + "internalId": 9, + "name": "chicken", + "displayName": "Chicken", + "width": 0.4, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 10, + "internalId": 10, + "name": "cod", + "displayName": "Cod", + "width": 0.5, + "height": 0.3, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 11, + "internalId": 11, + "name": "cow", + "displayName": "Cow", + "width": 0.9, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 12, + "internalId": 12, + "name": "creeper", + "displayName": "Creeper", + "width": 0.6, + "height": 1.7, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 13, + "internalId": 13, + "name": "dolphin", + "displayName": "Dolphin", + "width": 0.9, + "height": 0.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 14, + "internalId": 14, + "name": "donkey", + "displayName": "Donkey", + "width": 1.39648, + "height": 1.5, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 15, + "internalId": 15, + "name": "dragon_fireball", + "displayName": "Dragon Fireball", + "width": 1, + "height": 1, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 16, + "internalId": 16, + "name": "drowned", + "displayName": "Drowned", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 17, + "internalId": 17, + "name": "elder_guardian", + "displayName": "Elder Guardian", + "width": 1.9975, + "height": 1.9975, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 18, + "internalId": 18, + "name": "end_crystal", + "displayName": "End Crystal", + "width": 2, + "height": 2, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 19, + "internalId": 19, + "name": "ender_dragon", + "displayName": "Ender Dragon", + "width": 16, + "height": 8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 20, + "internalId": 20, + "name": "enderman", + "displayName": "Enderman", + "width": 0.6, + "height": 2.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 21, + "internalId": 21, + "name": "endermite", + "displayName": "Endermite", + "width": 0.4, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 22, + "internalId": 22, + "name": "evoker", + "displayName": "Evoker", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 23, + "internalId": 23, + "name": "evoker_fangs", + "displayName": "Evoker Fangs", + "width": 0.5, + "height": 0.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 24, + "internalId": 24, + "name": "experience_orb", + "displayName": "Experience Orb", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 25, + "internalId": 25, + "name": "eye_of_ender", + "displayName": "Eye of Ender", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 26, + "internalId": 26, + "name": "falling_block", + "displayName": "Falling Block", + "width": 0.98, + "height": 0.98, + "type": "mob", + "category": "Blocks" + }, + { + "id": 27, + "internalId": 27, + "name": "firework_rocket", + "displayName": "Firework Rocket", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 28, + "internalId": 28, + "name": "fox", + "displayName": "Fox", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 29, + "internalId": 29, + "name": "ghast", + "displayName": "Ghast", + "width": 4, + "height": 4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 30, + "internalId": 30, + "name": "giant", + "displayName": "Giant", + "width": 3.6, + "height": 12, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 31, + "internalId": 31, + "name": "guardian", + "displayName": "Guardian", + "width": 0.85, + "height": 0.85, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 32, + "internalId": 32, + "name": "hoglin", + "displayName": "Hoglin", + "width": 1.39648, + "height": 1.4, + "type": "UNKNOWN", + "category": "UNKNOWN" + }, + { + "id": 33, + "internalId": 33, + "name": "horse", + "displayName": "Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 34, + "internalId": 34, + "name": "husk", + "displayName": "Husk", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 35, + "internalId": 35, + "name": "illusioner", + "displayName": "Illusioner", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 36, + "internalId": 36, + "name": "iron_golem", + "displayName": "Iron Golem", + "width": 1.4, + "height": 2.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 37, + "internalId": 37, + "name": "item", + "displayName": "Item", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Drops" + }, + { + "id": 38, + "internalId": 38, + "name": "item_frame", + "displayName": "Item Frame", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 39, + "internalId": 39, + "name": "fireball", + "displayName": "Fireball", + "width": 1, + "height": 1, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 40, + "internalId": 40, + "name": "leash_knot", + "displayName": "Leash Knot", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 41, + "internalId": 41, + "name": "lightning_bolt", + "displayName": "Lightning Bolt", + "width": 0, + "height": 0, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 42, + "internalId": 42, + "name": "llama", + "displayName": "Llama", + "width": 0.9, + "height": 1.87, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 43, + "internalId": 43, + "name": "llama_spit", + "displayName": "Llama Spit", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 44, + "internalId": 44, + "name": "magma_cube", + "displayName": "Magma Cube", + "width": 2.04, + "height": 2.04, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 45, + "internalId": 45, + "name": "minecart", + "displayName": "Minecart", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 46, + "internalId": 46, + "name": "chest_minecart", + "displayName": "Minecart with Chest", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 47, + "internalId": 47, + "name": "command_block_minecart", + "displayName": "Minecart with Command Block", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 48, + "internalId": 48, + "name": "furnace_minecart", + "displayName": "Minecart with Furnace", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 49, + "internalId": 49, + "name": "hopper_minecart", + "displayName": "Minecart with Hopper", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 50, + "internalId": 50, + "name": "spawner_minecart", + "displayName": "Minecart with Spawner", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 51, + "internalId": 51, + "name": "tnt_minecart", + "displayName": "Minecart with TNT", + "width": 0.98, + "height": 0.7, + "type": "mob", + "category": "Vehicles" + }, + { + "id": 52, + "internalId": 52, + "name": "mule", + "displayName": "Mule", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 53, + "internalId": 53, + "name": "mooshroom", + "displayName": "Mooshroom", + "width": 0.9, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 54, + "internalId": 54, + "name": "ocelot", + "displayName": "Ocelot", + "width": 0.6, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 55, + "internalId": 55, + "name": "painting", + "displayName": "Painting", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Immobile" + }, + { + "id": 56, + "internalId": 56, + "name": "panda", + "displayName": "Panda", + "width": 1.3, + "height": 1.25, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 57, + "internalId": 57, + "name": "parrot", + "displayName": "Parrot", + "width": 0.5, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 58, + "internalId": 58, + "name": "phantom", + "displayName": "Phantom", + "width": 0.9, + "height": 0.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 59, + "internalId": 59, + "name": "pig", + "displayName": "Pig", + "width": 0.9, + "height": 0.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 60, + "internalId": 60, + "name": "piglin", + "displayName": "Piglin", + "width": 0.6, + "height": 1.95, + "type": "UNKNOWN", + "category": "UNKNOWN" + }, + { + "id": 61, + "internalId": 61, + "name": "piglin_brute", + "displayName": "Piglin Brute", + "width": 0.6, + "height": 1.95, + "type": "UNKNOWN", + "category": "UNKNOWN" + }, + { + "id": 62, + "internalId": 62, + "name": "pillager", + "displayName": "Pillager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 63, + "internalId": 63, + "name": "polar_bear", + "displayName": "Polar Bear", + "width": 1.4, + "height": 1.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 64, + "internalId": 64, + "name": "tnt", + "displayName": "Primed TNT", + "width": 0.98, + "height": 0.98, + "type": "mob", + "category": "Blocks" + }, + { + "id": 65, + "internalId": 65, + "name": "pufferfish", + "displayName": "Pufferfish", + "width": 0.7, + "height": 0.7, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 66, + "internalId": 66, + "name": "rabbit", + "displayName": "Rabbit", + "width": 0.4, + "height": 0.5, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 67, + "internalId": 67, + "name": "ravager", + "displayName": "Ravager", + "width": 1.95, + "height": 2.2, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 68, + "internalId": 68, + "name": "salmon", + "displayName": "Salmon", + "width": 0.7, + "height": 0.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 69, + "internalId": 69, + "name": "sheep", + "displayName": "Sheep", + "width": 0.9, + "height": 1.3, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 70, + "internalId": 70, + "name": "shulker", + "displayName": "Shulker", + "width": 1, + "height": 1, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 71, + "internalId": 71, + "name": "shulker_bullet", + "displayName": "Shulker Bullet", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 72, + "internalId": 72, + "name": "silverfish", + "displayName": "Silverfish", + "width": 0.4, + "height": 0.3, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 73, + "internalId": 73, + "name": "skeleton", + "displayName": "Skeleton", + "width": 0.6, + "height": 1.99, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 74, + "internalId": 74, + "name": "skeleton_horse", + "displayName": "Skeleton Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 75, + "internalId": 75, + "name": "slime", + "displayName": "Slime", + "width": 2.04, + "height": 2.04, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 76, + "internalId": 76, + "name": "small_fireball", + "displayName": "Small Fireball", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 77, + "internalId": 77, + "name": "snow_golem", + "displayName": "Snow Golem", + "width": 0.7, + "height": 1.9, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 78, + "internalId": 78, + "name": "snowball", + "displayName": "Snowball", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 79, + "internalId": 79, + "name": "spectral_arrow", + "displayName": "Spectral Arrow", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 80, + "internalId": 80, + "name": "spider", + "displayName": "Spider", + "width": 1.4, + "height": 0.9, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 81, + "internalId": 81, + "name": "squid", + "displayName": "Squid", + "width": 0.8, + "height": 0.8, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 82, + "internalId": 82, + "name": "stray", + "displayName": "Stray", + "width": 0.6, + "height": 1.99, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 83, + "internalId": 83, + "name": "strider", + "displayName": "Strider", + "width": 0.9, + "height": 1.7, + "type": "UNKNOWN", + "category": "UNKNOWN" + }, + { + "id": 84, + "internalId": 84, + "name": "egg", + "displayName": "Thrown Egg", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 85, + "internalId": 85, + "name": "ender_pearl", + "displayName": "Thrown Ender Pearl", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 86, + "internalId": 86, + "name": "experience_bottle", + "displayName": "Thrown Bottle o' Enchanting", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 87, + "internalId": 87, + "name": "potion", + "displayName": "Potion", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 88, + "internalId": 88, + "name": "trident", + "displayName": "Trident", + "width": 0.5, + "height": 0.5, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 89, + "internalId": 89, + "name": "trader_llama", + "displayName": "Trader Llama", + "width": 0.9, + "height": 1.87, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 90, + "internalId": 90, + "name": "tropical_fish", + "displayName": "Tropical Fish", + "width": 0.5, + "height": 0.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 91, + "internalId": 91, + "name": "turtle", + "displayName": "Turtle", + "width": 1.2, + "height": 0.4, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 92, + "internalId": 92, + "name": "vex", + "displayName": "Vex", + "width": 0.4, + "height": 0.8, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 93, + "internalId": 93, + "name": "villager", + "displayName": "Villager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 94, + "internalId": 94, + "name": "vindicator", + "displayName": "Vindicator", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 95, + "internalId": 95, + "name": "wandering_trader", + "displayName": "Wandering Trader", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 96, + "internalId": 96, + "name": "witch", + "displayName": "Witch", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 97, + "internalId": 97, + "name": "wither", + "displayName": "Wither", + "width": 0.9, + "height": 3.5, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 98, + "internalId": 98, + "name": "wither_skeleton", + "displayName": "Wither Skeleton", + "width": 0.7, + "height": 2.4, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 99, + "internalId": 99, + "name": "wither_skull", + "displayName": "Wither Skull", + "width": 0.3125, + "height": 0.3125, + "type": "mob", + "category": "Projectiles" + }, + { + "id": 100, + "internalId": 100, + "name": "wolf", + "displayName": "Wolf", + "width": 0.6, + "height": 0.85, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 101, + "internalId": 101, + "name": "zoglin", + "displayName": "Zoglin", + "width": 1.39648, + "height": 1.4, + "type": "UNKNOWN", + "category": "UNKNOWN" + }, + { + "id": 102, + "internalId": 102, + "name": "zombie", + "displayName": "Zombie", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 103, + "internalId": 103, + "name": "zombie_horse", + "displayName": "Zombie Horse", + "width": 1.39648, + "height": 1.6, + "type": "mob", + "category": "Passive mobs" + }, + { + "id": 104, + "internalId": 104, + "name": "zombie_villager", + "displayName": "Zombie Villager", + "width": 0.6, + "height": 1.95, + "type": "mob", + "category": "Hostile mobs" + }, + { + "id": 105, + "internalId": 105, + "name": "zombified_piglin", + "displayName": "Zombified Piglin", + "width": 0.6, + "height": 1.95, + "type": "UNKNOWN", + "category": "UNKNOWN" + }, + { + "id": 106, + "internalId": 106, + "name": "player", + "displayName": "Player", + "width": 0.6, + "height": 1.8, + "type": "mob", + "category": "UNKNOWN" + }, + { + "id": 107, + "internalId": 107, + "name": "fishing_bobber", + "displayName": "Fishing Bobber", + "width": 0.25, + "height": 0.25, + "type": "mob", + "category": "UNKNOWN" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/entityLoot.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/entityLoot.json new file mode 100644 index 00000000..b845c0ab --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/entityLoot.json @@ -0,0 +1,1148 @@ +[ + { + "entity": "armor_stand", + "drops": [] + }, + { + "entity": "bat", + "drops": [] + }, + { + "entity": "bee", + "drops": [] + }, + { + "entity": "blaze", + "drops": [ + { + "item": "blaze_rod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "cat", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "cave_spider", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spider_eye", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "chicken", + "drops": [ + { + "item": "feather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "chicken", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "cod", + "drops": [ + { + "item": "cod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "cow", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "beef", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "creeper", + "drops": [ + { + "item": "gunpowder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "dolphin", + "drops": [ + { + "item": "cod", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "donkey", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "drowned", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gold_ingot", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "elder_guardian", + "drops": [ + { + "item": "prismarine_shard", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cod", + "dropChance": 0.6, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "prismarine_crystals", + "dropChance": 0.4, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wet_sponge", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "ender_dragon", + "drops": [] + }, + { + "entity": "enderman", + "drops": [ + { + "item": "ender_pearl", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "endermite", + "drops": [] + }, + { + "entity": "evoker", + "drops": [ + { + "item": "totem_of_undying", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "emerald", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "fox", + "drops": [] + }, + { + "entity": "ghast", + "drops": [ + { + "item": "ghast_tear", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gunpowder", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "giant", + "drops": [] + }, + { + "entity": "guardian", + "drops": [ + { + "item": "prismarine_shard", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "cod", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "prismarine_crystals", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "hoglin", + "drops": [ + { + "item": "porkchop", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "horse", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "husk", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "carrot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "potato", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "illusioner", + "drops": [] + }, + { + "entity": "iron_golem", + "drops": [ + { + "item": "poppy", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "llama", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "magma_cube", + "drops": [ + { + "item": "magma_cream", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "mooshroom", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "beef", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "mule", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "ocelot", + "drops": [] + }, + { + "entity": "panda", + "drops": [ + { + "item": "bamboo", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "parrot", + "drops": [ + { + "item": "feather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "phantom", + "drops": [ + { + "item": "phantom_membrane", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "pig", + "drops": [ + { + "item": "porkchop", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "piglin", + "drops": [] + }, + { + "entity": "piglin_brute", + "drops": [] + }, + { + "entity": "pillager", + "drops": [] + }, + { + "entity": "player", + "drops": [] + }, + { + "entity": "polar_bear", + "drops": [ + { + "item": "cod", + "dropChance": 0.75, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "salmon", + "dropChance": 0.25, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "pufferfish", + "drops": [ + { + "item": "pufferfish", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "rabbit", + "drops": [ + { + "item": "rabbit_hide", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "rabbit", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "rabbit_foot", + "dropChance": 0.1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "ravager", + "drops": [ + { + "item": "saddle", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "salmon", + "drops": [ + { + "item": "salmon", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "sheep", + "drops": [ + { + "item": "mutton", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "shulker", + "drops": [ + { + "item": "shulker_shell", + "dropChance": 0.5, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "silverfish", + "drops": [] + }, + { + "entity": "skeleton", + "drops": [ + { + "item": "arrow", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "skeleton_horse", + "drops": [ + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "slime", + "drops": [ + { + "item": "slime_ball", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "snow_golem", + "drops": [ + { + "item": "snowball", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "spider", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spider_eye", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "squid", + "drops": [ + { + "item": "ink_sac", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "stray", + "drops": [ + { + "item": "arrow", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "tipped_arrow", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "strider", + "drops": [ + { + "item": "string", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "trader_llama", + "drops": [ + { + "item": "leather", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "tropical_fish", + "drops": [ + { + "item": "tropical_fish", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone_meal", + "dropChance": 0.05, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "turtle", + "drops": [ + { + "item": "seagrass", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bowl", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "vex", + "drops": [] + }, + { + "entity": "villager", + "drops": [] + }, + { + "entity": "vindicator", + "drops": [ + { + "item": "emerald", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "wandering_trader", + "drops": [] + }, + { + "entity": "witch", + "drops": [ + { + "item": "glowstone_dust", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "sugar", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "redstone", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "spider_eye", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "glass_bottle", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gunpowder", + "dropChance": 0.125, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "stick", + "dropChance": 0.25, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "wither", + "drops": [] + }, + { + "entity": "wither_skeleton", + "drops": [ + { + "item": "coal", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "bone", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "wither_skeleton_skull", + "dropChance": 0.025, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "wolf", + "drops": [] + }, + { + "entity": "zoglin", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "zombie", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "carrot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "potato", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "zombie_horse", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + } + ] + }, + { + "entity": "zombie_villager", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "iron_ingot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "carrot", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + }, + { + "item": "potato", + "dropChance": 0.008333333333333333, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + }, + { + "entity": "zombified_piglin", + "drops": [ + { + "item": "rotten_flesh", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gold_nugget", + "dropChance": 1, + "stackSizeRange": [ + 1, + 1 + ] + }, + { + "item": "gold_ingot", + "dropChance": 0.025, + "stackSizeRange": [ + 1, + 1 + ], + "playerKill": true + } + ] + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/items.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/items.json new file mode 100644 index 00000000..922dd15c --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/items.json @@ -0,0 +1,5858 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Granite", + "name": "granite", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Polished Granite", + "name": "polished_granite", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Diorite", + "name": "diorite", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Polished Diorite", + "name": "polished_diorite", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Andesite", + "name": "andesite", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Polished Andesite", + "name": "polished_andesite", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Grass Block", + "name": "grass_block", + "stackSize": 64 + }, + { + "id": 9, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Coarse Dirt", + "name": "coarse_dirt", + "stackSize": 64 + }, + { + "id": 11, + "displayName": "Podzol", + "name": "podzol", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Crimson Nylium", + "name": "crimson_nylium", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Warped Nylium", + "name": "warped_nylium", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Oak Planks", + "name": "oak_planks", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Spruce Planks", + "name": "spruce_planks", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Birch Planks", + "name": "birch_planks", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Jungle Planks", + "name": "jungle_planks", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Acacia Planks", + "name": "acacia_planks", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Dark Oak Planks", + "name": "dark_oak_planks", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Crimson Planks", + "name": "crimson_planks", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Warped Planks", + "name": "warped_planks", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Oak Sapling", + "name": "oak_sapling", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Spruce Sapling", + "name": "spruce_sapling", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Birch Sapling", + "name": "birch_sapling", + "stackSize": 64 + }, + { + "id": 26, + "displayName": "Jungle Sapling", + "name": "jungle_sapling", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Acacia Sapling", + "name": "acacia_sapling", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Dark Oak Sapling", + "name": "dark_oak_sapling", + "stackSize": 64 + }, + { + "id": 29, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Red Sand", + "name": "red_sand", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 33, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 34, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 36, + "displayName": "Nether Gold Ore", + "name": "nether_gold_ore", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Oak Log", + "name": "oak_log", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Spruce Log", + "name": "spruce_log", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Birch Log", + "name": "birch_log", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Jungle Log", + "name": "jungle_log", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Acacia Log", + "name": "acacia_log", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Dark Oak Log", + "name": "dark_oak_log", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Crimson Stem", + "name": "crimson_stem", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Warped Stem", + "name": "warped_stem", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Stripped Oak Log", + "name": "stripped_oak_log", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "Stripped Spruce Log", + "name": "stripped_spruce_log", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Stripped Birch Log", + "name": "stripped_birch_log", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Stripped Jungle Log", + "name": "stripped_jungle_log", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Stripped Acacia Log", + "name": "stripped_acacia_log", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Stripped Dark Oak Log", + "name": "stripped_dark_oak_log", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Stripped Crimson Stem", + "name": "stripped_crimson_stem", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Stripped Warped Stem", + "name": "stripped_warped_stem", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Stripped Oak Wood", + "name": "stripped_oak_wood", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Stripped Spruce Wood", + "name": "stripped_spruce_wood", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Stripped Birch Wood", + "name": "stripped_birch_wood", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Stripped Jungle Wood", + "name": "stripped_jungle_wood", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Stripped Acacia Wood", + "name": "stripped_acacia_wood", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Stripped Dark Oak Wood", + "name": "stripped_dark_oak_wood", + "stackSize": 64 + }, + { + "id": 59, + "displayName": "Stripped Crimson Hyphae", + "name": "stripped_crimson_hyphae", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Stripped Warped Hyphae", + "name": "stripped_warped_hyphae", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Oak Wood", + "name": "oak_wood", + "stackSize": 64 + }, + { + "id": 62, + "displayName": "Spruce Wood", + "name": "spruce_wood", + "stackSize": 64 + }, + { + "id": 63, + "displayName": "Birch Wood", + "name": "birch_wood", + "stackSize": 64 + }, + { + "id": 64, + "displayName": "Jungle Wood", + "name": "jungle_wood", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Dark Oak Wood", + "name": "dark_oak_wood", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Crimson Hyphae", + "name": "crimson_hyphae", + "stackSize": 64 + }, + { + "id": 68, + "displayName": "Warped Hyphae", + "name": "warped_hyphae", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Oak Leaves", + "name": "oak_leaves", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Spruce Leaves", + "name": "spruce_leaves", + "stackSize": 64 + }, + { + "id": 71, + "displayName": "Birch Leaves", + "name": "birch_leaves", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Jungle Leaves", + "name": "jungle_leaves", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "stackSize": 64 + }, + { + "id": 74, + "displayName": "Dark Oak Leaves", + "name": "dark_oak_leaves", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 76, + "displayName": "Wet Sponge", + "name": "wet_sponge", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 82, + "displayName": "Chiseled Sandstone", + "name": "chiseled_sandstone", + "stackSize": 64 + }, + { + "id": 83, + "displayName": "Cut Sandstone", + "name": "cut_sandstone", + "stackSize": 64 + }, + { + "id": 84, + "displayName": "Note Block", + "name": "note_block", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Powered Rail", + "name": "powered_rail", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Cobweb", + "name": "cobweb", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Grass", + "name": "grass", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Fern", + "name": "fern", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Dead Bush", + "name": "dead_bush", + "stackSize": 64 + }, + { + "id": 92, + "displayName": "Seagrass", + "name": "seagrass", + "stackSize": 64 + }, + { + "id": 93, + "displayName": "Sea Pickle", + "name": "sea_pickle", + "stackSize": 64 + }, + { + "id": 94, + "displayName": "Piston", + "name": "piston", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "White Wool", + "name": "white_wool", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Orange Wool", + "name": "orange_wool", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Magenta Wool", + "name": "magenta_wool", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Light Blue Wool", + "name": "light_blue_wool", + "stackSize": 64 + }, + { + "id": 99, + "displayName": "Yellow Wool", + "name": "yellow_wool", + "stackSize": 64 + }, + { + "id": 100, + "displayName": "Lime Wool", + "name": "lime_wool", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Pink Wool", + "name": "pink_wool", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Gray Wool", + "name": "gray_wool", + "stackSize": 64 + }, + { + "id": 103, + "displayName": "Light Gray Wool", + "name": "light_gray_wool", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Cyan Wool", + "name": "cyan_wool", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "Purple Wool", + "name": "purple_wool", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Blue Wool", + "name": "blue_wool", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Brown Wool", + "name": "brown_wool", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Green Wool", + "name": "green_wool", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Red Wool", + "name": "red_wool", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Black Wool", + "name": "black_wool", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Dandelion", + "name": "dandelion", + "stackSize": 64 + }, + { + "id": 112, + "displayName": "Poppy", + "name": "poppy", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Blue Orchid", + "name": "blue_orchid", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Allium", + "name": "allium", + "stackSize": 64 + }, + { + "id": 115, + "displayName": "Azure Bluet", + "name": "azure_bluet", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Red Tulip", + "name": "red_tulip", + "stackSize": 64 + }, + { + "id": 117, + "displayName": "Orange Tulip", + "name": "orange_tulip", + "stackSize": 64 + }, + { + "id": 118, + "displayName": "White Tulip", + "name": "white_tulip", + "stackSize": 64 + }, + { + "id": 119, + "displayName": "Pink Tulip", + "name": "pink_tulip", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "Oxeye Daisy", + "name": "oxeye_daisy", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "Cornflower", + "name": "cornflower", + "stackSize": 64 + }, + { + "id": 122, + "displayName": "Lily of the Valley", + "name": "lily_of_the_valley", + "stackSize": 64 + }, + { + "id": 123, + "displayName": "Wither Rose", + "name": "wither_rose", + "stackSize": 64 + }, + { + "id": 124, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 125, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Crimson Fungus", + "name": "crimson_fungus", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Warped Fungus", + "name": "warped_fungus", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Crimson Roots", + "name": "crimson_roots", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Warped Roots", + "name": "warped_roots", + "stackSize": 64 + }, + { + "id": 130, + "displayName": "Nether Sprouts", + "name": "nether_sprouts", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Weeping Vines", + "name": "weeping_vines", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Twisting Vines", + "name": "twisting_vines", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Kelp", + "name": "kelp", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Bamboo", + "name": "bamboo", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "Block of Gold", + "name": "gold_block", + "stackSize": 64 + }, + { + "id": 137, + "displayName": "Block of Iron", + "name": "iron_block", + "stackSize": 64 + }, + { + "id": 138, + "displayName": "Oak Slab", + "name": "oak_slab", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Spruce Slab", + "name": "spruce_slab", + "stackSize": 64 + }, + { + "id": 140, + "displayName": "Birch Slab", + "name": "birch_slab", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "Jungle Slab", + "name": "jungle_slab", + "stackSize": 64 + }, + { + "id": 142, + "displayName": "Acacia Slab", + "name": "acacia_slab", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Dark Oak Slab", + "name": "dark_oak_slab", + "stackSize": 64 + }, + { + "id": 144, + "displayName": "Crimson Slab", + "name": "crimson_slab", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Warped Slab", + "name": "warped_slab", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "Smooth Stone Slab", + "name": "smooth_stone_slab", + "stackSize": 64 + }, + { + "id": 148, + "displayName": "Sandstone Slab", + "name": "sandstone_slab", + "stackSize": 64 + }, + { + "id": 149, + "displayName": "Cut Sandstone Slab", + "name": "cut_sandstone_slab", + "stackSize": 64 + }, + { + "id": 150, + "displayName": "Petrified Oak Slab", + "name": "petrified_oak_slab", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Cobblestone Slab", + "name": "cobblestone_slab", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Brick Slab", + "name": "brick_slab", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Stone Brick Slab", + "name": "stone_brick_slab", + "stackSize": 64 + }, + { + "id": 154, + "displayName": "Nether Brick Slab", + "name": "nether_brick_slab", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Quartz Slab", + "name": "quartz_slab", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Cut Red Sandstone Slab", + "name": "cut_red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Prismarine Slab", + "name": "prismarine_slab", + "stackSize": 64 + }, + { + "id": 160, + "displayName": "Prismarine Brick Slab", + "name": "prismarine_brick_slab", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Dark Prismarine Slab", + "name": "dark_prismarine_slab", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Smooth Quartz Block", + "name": "smooth_quartz", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Smooth Red Sandstone", + "name": "smooth_red_sandstone", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Smooth Sandstone", + "name": "smooth_sandstone", + "stackSize": 64 + }, + { + "id": 165, + "displayName": "Smooth Stone", + "name": "smooth_stone", + "stackSize": 64 + }, + { + "id": 166, + "displayName": "Bricks", + "name": "bricks", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 168, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 169, + "displayName": "Mossy Cobblestone", + "name": "mossy_cobblestone", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "End Rod", + "name": "end_rod", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Purpur Block", + "name": "purpur_block", + "stackSize": 64 + }, + { + "id": 176, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "stackSize": 64 + }, + { + "id": 177, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "stackSize": 64 + }, + { + "id": 178, + "displayName": "Spawner", + "name": "spawner", + "stackSize": 64 + }, + { + "id": 179, + "displayName": "Oak Stairs", + "name": "oak_stairs", + "stackSize": 64 + }, + { + "id": 180, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 181, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 182, + "displayName": "Block of Diamond", + "name": "diamond_block", + "stackSize": 64 + }, + { + "id": 183, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 184, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 185, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 186, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 187, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 188, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "stackSize": 64 + }, + { + "id": 189, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 190, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 191, + "displayName": "Oak Pressure Plate", + "name": "oak_pressure_plate", + "stackSize": 64 + }, + { + "id": 192, + "displayName": "Spruce Pressure Plate", + "name": "spruce_pressure_plate", + "stackSize": 64 + }, + { + "id": 193, + "displayName": "Birch Pressure Plate", + "name": "birch_pressure_plate", + "stackSize": 64 + }, + { + "id": 194, + "displayName": "Jungle Pressure Plate", + "name": "jungle_pressure_plate", + "stackSize": 64 + }, + { + "id": 195, + "displayName": "Acacia Pressure Plate", + "name": "acacia_pressure_plate", + "stackSize": 64 + }, + { + "id": 196, + "displayName": "Dark Oak Pressure Plate", + "name": "dark_oak_pressure_plate", + "stackSize": 64 + }, + { + "id": 197, + "displayName": "Crimson Pressure Plate", + "name": "crimson_pressure_plate", + "stackSize": 64 + }, + { + "id": 198, + "displayName": "Warped Pressure Plate", + "name": "warped_pressure_plate", + "stackSize": 64 + }, + { + "id": 199, + "displayName": "Polished Blackstone Pressure Plate", + "name": "polished_blackstone_pressure_plate", + "stackSize": 64 + }, + { + "id": 200, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 201, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 202, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 203, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 204, + "displayName": "Snow Block", + "name": "snow_block", + "stackSize": 64 + }, + { + "id": 205, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 206, + "displayName": "Clay", + "name": "clay", + "stackSize": 64 + }, + { + "id": 207, + "displayName": "Jukebox", + "name": "jukebox", + "stackSize": 64 + }, + { + "id": 208, + "displayName": "Oak Fence", + "name": "oak_fence", + "stackSize": 64 + }, + { + "id": 209, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "stackSize": 64 + }, + { + "id": 210, + "displayName": "Birch Fence", + "name": "birch_fence", + "stackSize": 64 + }, + { + "id": 211, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "stackSize": 64 + }, + { + "id": 212, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "stackSize": 64 + }, + { + "id": 213, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "stackSize": 64 + }, + { + "id": 214, + "displayName": "Crimson Fence", + "name": "crimson_fence", + "stackSize": 64 + }, + { + "id": 215, + "displayName": "Warped Fence", + "name": "warped_fence", + "stackSize": 64 + }, + { + "id": 216, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 217, + "displayName": "Carved Pumpkin", + "name": "carved_pumpkin", + "stackSize": 64 + }, + { + "id": 218, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 219, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 220, + "displayName": "Soul Soil", + "name": "soul_soil", + "stackSize": 64 + }, + { + "id": 221, + "displayName": "Basalt", + "name": "basalt", + "stackSize": 64 + }, + { + "id": 222, + "displayName": "Polished Basalt", + "name": "polished_basalt", + "stackSize": 64 + }, + { + "id": 223, + "displayName": "Soul Torch", + "name": "soul_torch", + "stackSize": 64 + }, + { + "id": 224, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 225, + "displayName": "Jack o'Lantern", + "name": "jack_o_lantern", + "stackSize": 64 + }, + { + "id": 226, + "displayName": "Oak Trapdoor", + "name": "oak_trapdoor", + "stackSize": 64 + }, + { + "id": 227, + "displayName": "Spruce Trapdoor", + "name": "spruce_trapdoor", + "stackSize": 64 + }, + { + "id": 228, + "displayName": "Birch Trapdoor", + "name": "birch_trapdoor", + "stackSize": 64 + }, + { + "id": 229, + "displayName": "Jungle Trapdoor", + "name": "jungle_trapdoor", + "stackSize": 64 + }, + { + "id": 230, + "displayName": "Acacia Trapdoor", + "name": "acacia_trapdoor", + "stackSize": 64 + }, + { + "id": 231, + "displayName": "Dark Oak Trapdoor", + "name": "dark_oak_trapdoor", + "stackSize": 64 + }, + { + "id": 232, + "displayName": "Crimson Trapdoor", + "name": "crimson_trapdoor", + "stackSize": 64 + }, + { + "id": 233, + "displayName": "Warped Trapdoor", + "name": "warped_trapdoor", + "stackSize": 64 + }, + { + "id": 234, + "displayName": "Infested Stone", + "name": "infested_stone", + "stackSize": 64 + }, + { + "id": 235, + "displayName": "Infested Cobblestone", + "name": "infested_cobblestone", + "stackSize": 64 + }, + { + "id": 236, + "displayName": "Infested Stone Bricks", + "name": "infested_stone_bricks", + "stackSize": 64 + }, + { + "id": 237, + "displayName": "Infested Mossy Stone Bricks", + "name": "infested_mossy_stone_bricks", + "stackSize": 64 + }, + { + "id": 238, + "displayName": "Infested Cracked Stone Bricks", + "name": "infested_cracked_stone_bricks", + "stackSize": 64 + }, + { + "id": 239, + "displayName": "Infested Chiseled Stone Bricks", + "name": "infested_chiseled_stone_bricks", + "stackSize": 64 + }, + { + "id": 240, + "displayName": "Stone Bricks", + "name": "stone_bricks", + "stackSize": 64 + }, + { + "id": 241, + "displayName": "Mossy Stone Bricks", + "name": "mossy_stone_bricks", + "stackSize": 64 + }, + { + "id": 242, + "displayName": "Cracked Stone Bricks", + "name": "cracked_stone_bricks", + "stackSize": 64 + }, + { + "id": 243, + "displayName": "Chiseled Stone Bricks", + "name": "chiseled_stone_bricks", + "stackSize": 64 + }, + { + "id": 244, + "displayName": "Brown Mushroom Block", + "name": "brown_mushroom_block", + "stackSize": 64 + }, + { + "id": 245, + "displayName": "Red Mushroom Block", + "name": "red_mushroom_block", + "stackSize": 64 + }, + { + "id": 246, + "displayName": "Mushroom Stem", + "name": "mushroom_stem", + "stackSize": 64 + }, + { + "id": 247, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 248, + "displayName": "Chain", + "name": "chain", + "stackSize": 64 + }, + { + "id": 249, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 250, + "displayName": "Melon", + "name": "melon", + "stackSize": 64 + }, + { + "id": 251, + "displayName": "Vines", + "name": "vine", + "stackSize": 64 + }, + { + "id": 252, + "displayName": "Oak Fence Gate", + "name": "oak_fence_gate", + "stackSize": 64 + }, + { + "id": 253, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64 + }, + { + "id": 254, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64 + }, + { + "id": 255, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64 + }, + { + "id": 257, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64 + }, + { + "id": 258, + "displayName": "Crimson Fence Gate", + "name": "crimson_fence_gate", + "stackSize": 64 + }, + { + "id": 259, + "displayName": "Warped Fence Gate", + "name": "warped_fence_gate", + "stackSize": 64 + }, + { + "id": 260, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 261, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 262, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 263, + "displayName": "Lily Pad", + "name": "lily_pad", + "stackSize": 64 + }, + { + "id": 264, + "displayName": "Nether Bricks", + "name": "nether_bricks", + "stackSize": 64 + }, + { + "id": 265, + "displayName": "Cracked Nether Bricks", + "name": "cracked_nether_bricks", + "stackSize": 64 + }, + { + "id": 266, + "displayName": "Chiseled Nether Bricks", + "name": "chiseled_nether_bricks", + "stackSize": 64 + }, + { + "id": 267, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 268, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 269, + "displayName": "Enchanting Table", + "name": "enchanting_table", + "stackSize": 64 + }, + { + "id": 270, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 271, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 272, + "displayName": "End Stone Bricks", + "name": "end_stone_bricks", + "stackSize": 64 + }, + { + "id": 273, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "stackSize": 64 + }, + { + "id": 274, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 275, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 276, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 277, + "displayName": "Ender Chest", + "name": "ender_chest", + "stackSize": 64 + }, + { + "id": 278, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 279, + "displayName": "Block of Emerald", + "name": "emerald_block", + "stackSize": 64 + }, + { + "id": 280, + "displayName": "Spruce Stairs", + "name": "spruce_stairs", + "stackSize": 64 + }, + { + "id": 281, + "displayName": "Birch Stairs", + "name": "birch_stairs", + "stackSize": 64 + }, + { + "id": 282, + "displayName": "Jungle Stairs", + "name": "jungle_stairs", + "stackSize": 64 + }, + { + "id": 283, + "displayName": "Crimson Stairs", + "name": "crimson_stairs", + "stackSize": 64 + }, + { + "id": 284, + "displayName": "Warped Stairs", + "name": "warped_stairs", + "stackSize": 64 + }, + { + "id": 285, + "displayName": "Command Block", + "name": "command_block", + "stackSize": 64 + }, + { + "id": 286, + "displayName": "Beacon", + "name": "beacon", + "stackSize": 64 + }, + { + "id": 287, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 288, + "displayName": "Mossy Cobblestone Wall", + "name": "mossy_cobblestone_wall", + "stackSize": 64 + }, + { + "id": 289, + "displayName": "Brick Wall", + "name": "brick_wall", + "stackSize": 64 + }, + { + "id": 290, + "displayName": "Prismarine Wall", + "name": "prismarine_wall", + "stackSize": 64 + }, + { + "id": 291, + "displayName": "Red Sandstone Wall", + "name": "red_sandstone_wall", + "stackSize": 64 + }, + { + "id": 292, + "displayName": "Mossy Stone Brick Wall", + "name": "mossy_stone_brick_wall", + "stackSize": 64 + }, + { + "id": 293, + "displayName": "Granite Wall", + "name": "granite_wall", + "stackSize": 64 + }, + { + "id": 294, + "displayName": "Stone Brick Wall", + "name": "stone_brick_wall", + "stackSize": 64 + }, + { + "id": 295, + "displayName": "Nether Brick Wall", + "name": "nether_brick_wall", + "stackSize": 64 + }, + { + "id": 296, + "displayName": "Andesite Wall", + "name": "andesite_wall", + "stackSize": 64 + }, + { + "id": 297, + "displayName": "Red Nether Brick Wall", + "name": "red_nether_brick_wall", + "stackSize": 64 + }, + { + "id": 298, + "displayName": "Sandstone Wall", + "name": "sandstone_wall", + "stackSize": 64 + }, + { + "id": 299, + "displayName": "End Stone Brick Wall", + "name": "end_stone_brick_wall", + "stackSize": 64 + }, + { + "id": 300, + "displayName": "Diorite Wall", + "name": "diorite_wall", + "stackSize": 64 + }, + { + "id": 301, + "displayName": "Blackstone Wall", + "name": "blackstone_wall", + "stackSize": 64 + }, + { + "id": 302, + "displayName": "Polished Blackstone Wall", + "name": "polished_blackstone_wall", + "stackSize": 64 + }, + { + "id": 303, + "displayName": "Polished Blackstone Brick Wall", + "name": "polished_blackstone_brick_wall", + "stackSize": 64 + }, + { + "id": 304, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 305, + "displayName": "Oak Button", + "name": "oak_button", + "stackSize": 64 + }, + { + "id": 306, + "displayName": "Spruce Button", + "name": "spruce_button", + "stackSize": 64 + }, + { + "id": 307, + "displayName": "Birch Button", + "name": "birch_button", + "stackSize": 64 + }, + { + "id": 308, + "displayName": "Jungle Button", + "name": "jungle_button", + "stackSize": 64 + }, + { + "id": 309, + "displayName": "Acacia Button", + "name": "acacia_button", + "stackSize": 64 + }, + { + "id": 310, + "displayName": "Dark Oak Button", + "name": "dark_oak_button", + "stackSize": 64 + }, + { + "id": 311, + "displayName": "Crimson Button", + "name": "crimson_button", + "stackSize": 64 + }, + { + "id": 312, + "displayName": "Warped Button", + "name": "warped_button", + "stackSize": 64 + }, + { + "id": 313, + "displayName": "Polished Blackstone Button", + "name": "polished_blackstone_button", + "stackSize": 64 + }, + { + "id": 314, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 315, + "displayName": "Chipped Anvil", + "name": "chipped_anvil", + "stackSize": 64 + }, + { + "id": 316, + "displayName": "Damaged Anvil", + "name": "damaged_anvil", + "stackSize": 64 + }, + { + "id": 317, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 318, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 319, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 320, + "displayName": "Daylight Detector", + "name": "daylight_detector", + "stackSize": 64 + }, + { + "id": 321, + "displayName": "Block of Redstone", + "name": "redstone_block", + "stackSize": 64 + }, + { + "id": 322, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "stackSize": 64 + }, + { + "id": 323, + "displayName": "Hopper", + "name": "hopper", + "stackSize": 64 + }, + { + "id": 324, + "displayName": "Chiseled Quartz Block", + "name": "chiseled_quartz_block", + "stackSize": 64 + }, + { + "id": 325, + "displayName": "Block of Quartz", + "name": "quartz_block", + "stackSize": 64 + }, + { + "id": 326, + "displayName": "Quartz Bricks", + "name": "quartz_bricks", + "stackSize": 64 + }, + { + "id": 327, + "displayName": "Quartz Pillar", + "name": "quartz_pillar", + "stackSize": 64 + }, + { + "id": 328, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 329, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 330, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64 + }, + { + "id": 331, + "displayName": "White Terracotta", + "name": "white_terracotta", + "stackSize": 64 + }, + { + "id": 332, + "displayName": "Orange Terracotta", + "name": "orange_terracotta", + "stackSize": 64 + }, + { + "id": 333, + "displayName": "Magenta Terracotta", + "name": "magenta_terracotta", + "stackSize": 64 + }, + { + "id": 334, + "displayName": "Light Blue Terracotta", + "name": "light_blue_terracotta", + "stackSize": 64 + }, + { + "id": 335, + "displayName": "Yellow Terracotta", + "name": "yellow_terracotta", + "stackSize": 64 + }, + { + "id": 336, + "displayName": "Lime Terracotta", + "name": "lime_terracotta", + "stackSize": 64 + }, + { + "id": 337, + "displayName": "Pink Terracotta", + "name": "pink_terracotta", + "stackSize": 64 + }, + { + "id": 338, + "displayName": "Gray Terracotta", + "name": "gray_terracotta", + "stackSize": 64 + }, + { + "id": 339, + "displayName": "Light Gray Terracotta", + "name": "light_gray_terracotta", + "stackSize": 64 + }, + { + "id": 340, + "displayName": "Cyan Terracotta", + "name": "cyan_terracotta", + "stackSize": 64 + }, + { + "id": 341, + "displayName": "Purple Terracotta", + "name": "purple_terracotta", + "stackSize": 64 + }, + { + "id": 342, + "displayName": "Blue Terracotta", + "name": "blue_terracotta", + "stackSize": 64 + }, + { + "id": 343, + "displayName": "Brown Terracotta", + "name": "brown_terracotta", + "stackSize": 64 + }, + { + "id": 344, + "displayName": "Green Terracotta", + "name": "green_terracotta", + "stackSize": 64 + }, + { + "id": 345, + "displayName": "Red Terracotta", + "name": "red_terracotta", + "stackSize": 64 + }, + { + "id": 346, + "displayName": "Black Terracotta", + "name": "black_terracotta", + "stackSize": 64 + }, + { + "id": 347, + "displayName": "Barrier", + "name": "barrier", + "stackSize": 64 + }, + { + "id": 348, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 349, + "displayName": "Hay Bale", + "name": "hay_block", + "stackSize": 64 + }, + { + "id": 350, + "displayName": "White Carpet", + "name": "white_carpet", + "stackSize": 64 + }, + { + "id": 351, + "displayName": "Orange Carpet", + "name": "orange_carpet", + "stackSize": 64 + }, + { + "id": 352, + "displayName": "Magenta Carpet", + "name": "magenta_carpet", + "stackSize": 64 + }, + { + "id": 353, + "displayName": "Light Blue Carpet", + "name": "light_blue_carpet", + "stackSize": 64 + }, + { + "id": 354, + "displayName": "Yellow Carpet", + "name": "yellow_carpet", + "stackSize": 64 + }, + { + "id": 355, + "displayName": "Lime Carpet", + "name": "lime_carpet", + "stackSize": 64 + }, + { + "id": 356, + "displayName": "Pink Carpet", + "name": "pink_carpet", + "stackSize": 64 + }, + { + "id": 357, + "displayName": "Gray Carpet", + "name": "gray_carpet", + "stackSize": 64 + }, + { + "id": 358, + "displayName": "Light Gray Carpet", + "name": "light_gray_carpet", + "stackSize": 64 + }, + { + "id": 359, + "displayName": "Cyan Carpet", + "name": "cyan_carpet", + "stackSize": 64 + }, + { + "id": 360, + "displayName": "Purple Carpet", + "name": "purple_carpet", + "stackSize": 64 + }, + { + "id": 361, + "displayName": "Blue Carpet", + "name": "blue_carpet", + "stackSize": 64 + }, + { + "id": 362, + "displayName": "Brown Carpet", + "name": "brown_carpet", + "stackSize": 64 + }, + { + "id": 363, + "displayName": "Green Carpet", + "name": "green_carpet", + "stackSize": 64 + }, + { + "id": 364, + "displayName": "Red Carpet", + "name": "red_carpet", + "stackSize": 64 + }, + { + "id": 365, + "displayName": "Black Carpet", + "name": "black_carpet", + "stackSize": 64 + }, + { + "id": 366, + "displayName": "Terracotta", + "name": "terracotta", + "stackSize": 64 + }, + { + "id": 367, + "displayName": "Block of Coal", + "name": "coal_block", + "stackSize": 64 + }, + { + "id": 368, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 369, + "displayName": "Acacia Stairs", + "name": "acacia_stairs", + "stackSize": 64 + }, + { + "id": 370, + "displayName": "Dark Oak Stairs", + "name": "dark_oak_stairs", + "stackSize": 64 + }, + { + "id": 371, + "displayName": "Slime Block", + "name": "slime_block", + "stackSize": 64 + }, + { + "id": 372, + "displayName": "Grass Path", + "name": "grass_path", + "stackSize": 64 + }, + { + "id": 373, + "displayName": "Sunflower", + "name": "sunflower", + "stackSize": 64 + }, + { + "id": 374, + "displayName": "Lilac", + "name": "lilac", + "stackSize": 64 + }, + { + "id": 375, + "displayName": "Rose Bush", + "name": "rose_bush", + "stackSize": 64 + }, + { + "id": 376, + "displayName": "Peony", + "name": "peony", + "stackSize": 64 + }, + { + "id": 377, + "displayName": "Tall Grass", + "name": "tall_grass", + "stackSize": 64 + }, + { + "id": 378, + "displayName": "Large Fern", + "name": "large_fern", + "stackSize": 64 + }, + { + "id": 379, + "displayName": "White Stained Glass", + "name": "white_stained_glass", + "stackSize": 64 + }, + { + "id": 380, + "displayName": "Orange Stained Glass", + "name": "orange_stained_glass", + "stackSize": 64 + }, + { + "id": 381, + "displayName": "Magenta Stained Glass", + "name": "magenta_stained_glass", + "stackSize": 64 + }, + { + "id": 382, + "displayName": "Light Blue Stained Glass", + "name": "light_blue_stained_glass", + "stackSize": 64 + }, + { + "id": 383, + "displayName": "Yellow Stained Glass", + "name": "yellow_stained_glass", + "stackSize": 64 + }, + { + "id": 384, + "displayName": "Lime Stained Glass", + "name": "lime_stained_glass", + "stackSize": 64 + }, + { + "id": 385, + "displayName": "Pink Stained Glass", + "name": "pink_stained_glass", + "stackSize": 64 + }, + { + "id": 386, + "displayName": "Gray Stained Glass", + "name": "gray_stained_glass", + "stackSize": 64 + }, + { + "id": 387, + "displayName": "Light Gray Stained Glass", + "name": "light_gray_stained_glass", + "stackSize": 64 + }, + { + "id": 388, + "displayName": "Cyan Stained Glass", + "name": "cyan_stained_glass", + "stackSize": 64 + }, + { + "id": 389, + "displayName": "Purple Stained Glass", + "name": "purple_stained_glass", + "stackSize": 64 + }, + { + "id": 390, + "displayName": "Blue Stained Glass", + "name": "blue_stained_glass", + "stackSize": 64 + }, + { + "id": 391, + "displayName": "Brown Stained Glass", + "name": "brown_stained_glass", + "stackSize": 64 + }, + { + "id": 392, + "displayName": "Green Stained Glass", + "name": "green_stained_glass", + "stackSize": 64 + }, + { + "id": 393, + "displayName": "Red Stained Glass", + "name": "red_stained_glass", + "stackSize": 64 + }, + { + "id": 394, + "displayName": "Black Stained Glass", + "name": "black_stained_glass", + "stackSize": 64 + }, + { + "id": 395, + "displayName": "White Stained Glass Pane", + "name": "white_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 396, + "displayName": "Orange Stained Glass Pane", + "name": "orange_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 397, + "displayName": "Magenta Stained Glass Pane", + "name": "magenta_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 398, + "displayName": "Light Blue Stained Glass Pane", + "name": "light_blue_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 399, + "displayName": "Yellow Stained Glass Pane", + "name": "yellow_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 400, + "displayName": "Lime Stained Glass Pane", + "name": "lime_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 401, + "displayName": "Pink Stained Glass Pane", + "name": "pink_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 402, + "displayName": "Gray Stained Glass Pane", + "name": "gray_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 403, + "displayName": "Light Gray Stained Glass Pane", + "name": "light_gray_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 404, + "displayName": "Cyan Stained Glass Pane", + "name": "cyan_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 405, + "displayName": "Purple Stained Glass Pane", + "name": "purple_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 406, + "displayName": "Blue Stained Glass Pane", + "name": "blue_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 407, + "displayName": "Brown Stained Glass Pane", + "name": "brown_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 408, + "displayName": "Green Stained Glass Pane", + "name": "green_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 409, + "displayName": "Red Stained Glass Pane", + "name": "red_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 410, + "displayName": "Black Stained Glass Pane", + "name": "black_stained_glass_pane", + "stackSize": 64 + }, + { + "id": 411, + "displayName": "Prismarine", + "name": "prismarine", + "stackSize": 64 + }, + { + "id": 412, + "displayName": "Prismarine Bricks", + "name": "prismarine_bricks", + "stackSize": 64 + }, + { + "id": 413, + "displayName": "Dark Prismarine", + "name": "dark_prismarine", + "stackSize": 64 + }, + { + "id": 414, + "displayName": "Prismarine Stairs", + "name": "prismarine_stairs", + "stackSize": 64 + }, + { + "id": 415, + "displayName": "Prismarine Brick Stairs", + "name": "prismarine_brick_stairs", + "stackSize": 64 + }, + { + "id": 416, + "displayName": "Dark Prismarine Stairs", + "name": "dark_prismarine_stairs", + "stackSize": 64 + }, + { + "id": 417, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "stackSize": 64 + }, + { + "id": 418, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "stackSize": 64 + }, + { + "id": 419, + "displayName": "Chiseled Red Sandstone", + "name": "chiseled_red_sandstone", + "stackSize": 64 + }, + { + "id": 420, + "displayName": "Cut Red Sandstone", + "name": "cut_red_sandstone", + "stackSize": 64 + }, + { + "id": 421, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 422, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "stackSize": 64 + }, + { + "id": 423, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "stackSize": 64 + }, + { + "id": 424, + "displayName": "Magma Block", + "name": "magma_block", + "stackSize": 64 + }, + { + "id": 425, + "displayName": "Nether Wart Block", + "name": "nether_wart_block", + "stackSize": 64 + }, + { + "id": 426, + "displayName": "Warped Wart Block", + "name": "warped_wart_block", + "stackSize": 64 + }, + { + "id": 427, + "displayName": "Red Nether Bricks", + "name": "red_nether_bricks", + "stackSize": 64 + }, + { + "id": 428, + "displayName": "Bone Block", + "name": "bone_block", + "stackSize": 64 + }, + { + "id": 429, + "displayName": "Structure Void", + "name": "structure_void", + "stackSize": 64 + }, + { + "id": 430, + "displayName": "Observer", + "name": "observer", + "stackSize": 64 + }, + { + "id": 431, + "displayName": "Shulker Box", + "name": "shulker_box", + "stackSize": 1 + }, + { + "id": 432, + "displayName": "White Shulker Box", + "name": "white_shulker_box", + "stackSize": 1 + }, + { + "id": 433, + "displayName": "Orange Shulker Box", + "name": "orange_shulker_box", + "stackSize": 1 + }, + { + "id": 434, + "displayName": "Magenta Shulker Box", + "name": "magenta_shulker_box", + "stackSize": 1 + }, + { + "id": 435, + "displayName": "Light Blue Shulker Box", + "name": "light_blue_shulker_box", + "stackSize": 1 + }, + { + "id": 436, + "displayName": "Yellow Shulker Box", + "name": "yellow_shulker_box", + "stackSize": 1 + }, + { + "id": 437, + "displayName": "Lime Shulker Box", + "name": "lime_shulker_box", + "stackSize": 1 + }, + { + "id": 438, + "displayName": "Pink Shulker Box", + "name": "pink_shulker_box", + "stackSize": 1 + }, + { + "id": 439, + "displayName": "Gray Shulker Box", + "name": "gray_shulker_box", + "stackSize": 1 + }, + { + "id": 440, + "displayName": "Light Gray Shulker Box", + "name": "light_gray_shulker_box", + "stackSize": 1 + }, + { + "id": 441, + "displayName": "Cyan Shulker Box", + "name": "cyan_shulker_box", + "stackSize": 1 + }, + { + "id": 442, + "displayName": "Purple Shulker Box", + "name": "purple_shulker_box", + "stackSize": 1 + }, + { + "id": 443, + "displayName": "Blue Shulker Box", + "name": "blue_shulker_box", + "stackSize": 1 + }, + { + "id": 444, + "displayName": "Brown Shulker Box", + "name": "brown_shulker_box", + "stackSize": 1 + }, + { + "id": 445, + "displayName": "Green Shulker Box", + "name": "green_shulker_box", + "stackSize": 1 + }, + { + "id": 446, + "displayName": "Red Shulker Box", + "name": "red_shulker_box", + "stackSize": 1 + }, + { + "id": 447, + "displayName": "Black Shulker Box", + "name": "black_shulker_box", + "stackSize": 1 + }, + { + "id": 448, + "displayName": "White Glazed Terracotta", + "name": "white_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 449, + "displayName": "Orange Glazed Terracotta", + "name": "orange_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 450, + "displayName": "Magenta Glazed Terracotta", + "name": "magenta_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 451, + "displayName": "Light Blue Glazed Terracotta", + "name": "light_blue_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 452, + "displayName": "Yellow Glazed Terracotta", + "name": "yellow_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 453, + "displayName": "Lime Glazed Terracotta", + "name": "lime_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 454, + "displayName": "Pink Glazed Terracotta", + "name": "pink_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 455, + "displayName": "Gray Glazed Terracotta", + "name": "gray_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 456, + "displayName": "Light Gray Glazed Terracotta", + "name": "light_gray_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 457, + "displayName": "Cyan Glazed Terracotta", + "name": "cyan_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 458, + "displayName": "Purple Glazed Terracotta", + "name": "purple_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 459, + "displayName": "Blue Glazed Terracotta", + "name": "blue_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 460, + "displayName": "Brown Glazed Terracotta", + "name": "brown_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 461, + "displayName": "Green Glazed Terracotta", + "name": "green_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 462, + "displayName": "Red Glazed Terracotta", + "name": "red_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 463, + "displayName": "Black Glazed Terracotta", + "name": "black_glazed_terracotta", + "stackSize": 64 + }, + { + "id": 464, + "displayName": "White Concrete", + "name": "white_concrete", + "stackSize": 64 + }, + { + "id": 465, + "displayName": "Orange Concrete", + "name": "orange_concrete", + "stackSize": 64 + }, + { + "id": 466, + "displayName": "Magenta Concrete", + "name": "magenta_concrete", + "stackSize": 64 + }, + { + "id": 467, + "displayName": "Light Blue Concrete", + "name": "light_blue_concrete", + "stackSize": 64 + }, + { + "id": 468, + "displayName": "Yellow Concrete", + "name": "yellow_concrete", + "stackSize": 64 + }, + { + "id": 469, + "displayName": "Lime Concrete", + "name": "lime_concrete", + "stackSize": 64 + }, + { + "id": 470, + "displayName": "Pink Concrete", + "name": "pink_concrete", + "stackSize": 64 + }, + { + "id": 471, + "displayName": "Gray Concrete", + "name": "gray_concrete", + "stackSize": 64 + }, + { + "id": 472, + "displayName": "Light Gray Concrete", + "name": "light_gray_concrete", + "stackSize": 64 + }, + { + "id": 473, + "displayName": "Cyan Concrete", + "name": "cyan_concrete", + "stackSize": 64 + }, + { + "id": 474, + "displayName": "Purple Concrete", + "name": "purple_concrete", + "stackSize": 64 + }, + { + "id": 475, + "displayName": "Blue Concrete", + "name": "blue_concrete", + "stackSize": 64 + }, + { + "id": 476, + "displayName": "Brown Concrete", + "name": "brown_concrete", + "stackSize": 64 + }, + { + "id": 477, + "displayName": "Green Concrete", + "name": "green_concrete", + "stackSize": 64 + }, + { + "id": 478, + "displayName": "Red Concrete", + "name": "red_concrete", + "stackSize": 64 + }, + { + "id": 479, + "displayName": "Black Concrete", + "name": "black_concrete", + "stackSize": 64 + }, + { + "id": 480, + "displayName": "White Concrete Powder", + "name": "white_concrete_powder", + "stackSize": 64 + }, + { + "id": 481, + "displayName": "Orange Concrete Powder", + "name": "orange_concrete_powder", + "stackSize": 64 + }, + { + "id": 482, + "displayName": "Magenta Concrete Powder", + "name": "magenta_concrete_powder", + "stackSize": 64 + }, + { + "id": 483, + "displayName": "Light Blue Concrete Powder", + "name": "light_blue_concrete_powder", + "stackSize": 64 + }, + { + "id": 484, + "displayName": "Yellow Concrete Powder", + "name": "yellow_concrete_powder", + "stackSize": 64 + }, + { + "id": 485, + "displayName": "Lime Concrete Powder", + "name": "lime_concrete_powder", + "stackSize": 64 + }, + { + "id": 486, + "displayName": "Pink Concrete Powder", + "name": "pink_concrete_powder", + "stackSize": 64 + }, + { + "id": 487, + "displayName": "Gray Concrete Powder", + "name": "gray_concrete_powder", + "stackSize": 64 + }, + { + "id": 488, + "displayName": "Light Gray Concrete Powder", + "name": "light_gray_concrete_powder", + "stackSize": 64 + }, + { + "id": 489, + "displayName": "Cyan Concrete Powder", + "name": "cyan_concrete_powder", + "stackSize": 64 + }, + { + "id": 490, + "displayName": "Purple Concrete Powder", + "name": "purple_concrete_powder", + "stackSize": 64 + }, + { + "id": 491, + "displayName": "Blue Concrete Powder", + "name": "blue_concrete_powder", + "stackSize": 64 + }, + { + "id": 492, + "displayName": "Brown Concrete Powder", + "name": "brown_concrete_powder", + "stackSize": 64 + }, + { + "id": 493, + "displayName": "Green Concrete Powder", + "name": "green_concrete_powder", + "stackSize": 64 + }, + { + "id": 494, + "displayName": "Red Concrete Powder", + "name": "red_concrete_powder", + "stackSize": 64 + }, + { + "id": 495, + "displayName": "Black Concrete Powder", + "name": "black_concrete_powder", + "stackSize": 64 + }, + { + "id": 496, + "displayName": "Turtle Egg", + "name": "turtle_egg", + "stackSize": 64 + }, + { + "id": 497, + "displayName": "Dead Tube Coral Block", + "name": "dead_tube_coral_block", + "stackSize": 64 + }, + { + "id": 498, + "displayName": "Dead Brain Coral Block", + "name": "dead_brain_coral_block", + "stackSize": 64 + }, + { + "id": 499, + "displayName": "Dead Bubble Coral Block", + "name": "dead_bubble_coral_block", + "stackSize": 64 + }, + { + "id": 500, + "displayName": "Dead Fire Coral Block", + "name": "dead_fire_coral_block", + "stackSize": 64 + }, + { + "id": 501, + "displayName": "Dead Horn Coral Block", + "name": "dead_horn_coral_block", + "stackSize": 64 + }, + { + "id": 502, + "displayName": "Tube Coral Block", + "name": "tube_coral_block", + "stackSize": 64 + }, + { + "id": 503, + "displayName": "Brain Coral Block", + "name": "brain_coral_block", + "stackSize": 64 + }, + { + "id": 504, + "displayName": "Bubble Coral Block", + "name": "bubble_coral_block", + "stackSize": 64 + }, + { + "id": 505, + "displayName": "Fire Coral Block", + "name": "fire_coral_block", + "stackSize": 64 + }, + { + "id": 506, + "displayName": "Horn Coral Block", + "name": "horn_coral_block", + "stackSize": 64 + }, + { + "id": 507, + "displayName": "Tube Coral", + "name": "tube_coral", + "stackSize": 64 + }, + { + "id": 508, + "displayName": "Brain Coral", + "name": "brain_coral", + "stackSize": 64 + }, + { + "id": 509, + "displayName": "Bubble Coral", + "name": "bubble_coral", + "stackSize": 64 + }, + { + "id": 510, + "displayName": "Fire Coral", + "name": "fire_coral", + "stackSize": 64 + }, + { + "id": 511, + "displayName": "Horn Coral", + "name": "horn_coral", + "stackSize": 64 + }, + { + "id": 512, + "displayName": "Dead Brain Coral", + "name": "dead_brain_coral", + "stackSize": 64 + }, + { + "id": 513, + "displayName": "Dead Bubble Coral", + "name": "dead_bubble_coral", + "stackSize": 64 + }, + { + "id": 514, + "displayName": "Dead Fire Coral", + "name": "dead_fire_coral", + "stackSize": 64 + }, + { + "id": 515, + "displayName": "Dead Horn Coral", + "name": "dead_horn_coral", + "stackSize": 64 + }, + { + "id": 516, + "displayName": "Dead Tube Coral", + "name": "dead_tube_coral", + "stackSize": 64 + }, + { + "id": 517, + "displayName": "Tube Coral Fan", + "name": "tube_coral_fan", + "stackSize": 64 + }, + { + "id": 518, + "displayName": "Brain Coral Fan", + "name": "brain_coral_fan", + "stackSize": 64 + }, + { + "id": 519, + "displayName": "Bubble Coral Fan", + "name": "bubble_coral_fan", + "stackSize": 64 + }, + { + "id": 520, + "displayName": "Fire Coral Fan", + "name": "fire_coral_fan", + "stackSize": 64 + }, + { + "id": 521, + "displayName": "Horn Coral Fan", + "name": "horn_coral_fan", + "stackSize": 64 + }, + { + "id": 522, + "displayName": "Dead Tube Coral Fan", + "name": "dead_tube_coral_fan", + "stackSize": 64 + }, + { + "id": 523, + "displayName": "Dead Brain Coral Fan", + "name": "dead_brain_coral_fan", + "stackSize": 64 + }, + { + "id": 524, + "displayName": "Dead Bubble Coral Fan", + "name": "dead_bubble_coral_fan", + "stackSize": 64 + }, + { + "id": 525, + "displayName": "Dead Fire Coral Fan", + "name": "dead_fire_coral_fan", + "stackSize": 64 + }, + { + "id": 526, + "displayName": "Dead Horn Coral Fan", + "name": "dead_horn_coral_fan", + "stackSize": 64 + }, + { + "id": 527, + "displayName": "Blue Ice", + "name": "blue_ice", + "stackSize": 64 + }, + { + "id": 528, + "displayName": "Conduit", + "name": "conduit", + "stackSize": 64 + }, + { + "id": 529, + "displayName": "Polished Granite Stairs", + "name": "polished_granite_stairs", + "stackSize": 64 + }, + { + "id": 530, + "displayName": "Smooth Red Sandstone Stairs", + "name": "smooth_red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 531, + "displayName": "Mossy Stone Brick Stairs", + "name": "mossy_stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 532, + "displayName": "Polished Diorite Stairs", + "name": "polished_diorite_stairs", + "stackSize": 64 + }, + { + "id": 533, + "displayName": "Mossy Cobblestone Stairs", + "name": "mossy_cobblestone_stairs", + "stackSize": 64 + }, + { + "id": 534, + "displayName": "End Stone Brick Stairs", + "name": "end_stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 535, + "displayName": "Stone Stairs", + "name": "stone_stairs", + "stackSize": 64 + }, + { + "id": 536, + "displayName": "Smooth Sandstone Stairs", + "name": "smooth_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 537, + "displayName": "Smooth Quartz Stairs", + "name": "smooth_quartz_stairs", + "stackSize": 64 + }, + { + "id": 538, + "displayName": "Granite Stairs", + "name": "granite_stairs", + "stackSize": 64 + }, + { + "id": 539, + "displayName": "Andesite Stairs", + "name": "andesite_stairs", + "stackSize": 64 + }, + { + "id": 540, + "displayName": "Red Nether Brick Stairs", + "name": "red_nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 541, + "displayName": "Polished Andesite Stairs", + "name": "polished_andesite_stairs", + "stackSize": 64 + }, + { + "id": 542, + "displayName": "Diorite Stairs", + "name": "diorite_stairs", + "stackSize": 64 + }, + { + "id": 543, + "displayName": "Polished Granite Slab", + "name": "polished_granite_slab", + "stackSize": 64 + }, + { + "id": 544, + "displayName": "Smooth Red Sandstone Slab", + "name": "smooth_red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 545, + "displayName": "Mossy Stone Brick Slab", + "name": "mossy_stone_brick_slab", + "stackSize": 64 + }, + { + "id": 546, + "displayName": "Polished Diorite Slab", + "name": "polished_diorite_slab", + "stackSize": 64 + }, + { + "id": 547, + "displayName": "Mossy Cobblestone Slab", + "name": "mossy_cobblestone_slab", + "stackSize": 64 + }, + { + "id": 548, + "displayName": "End Stone Brick Slab", + "name": "end_stone_brick_slab", + "stackSize": 64 + }, + { + "id": 549, + "displayName": "Smooth Sandstone Slab", + "name": "smooth_sandstone_slab", + "stackSize": 64 + }, + { + "id": 550, + "displayName": "Smooth Quartz Slab", + "name": "smooth_quartz_slab", + "stackSize": 64 + }, + { + "id": 551, + "displayName": "Granite Slab", + "name": "granite_slab", + "stackSize": 64 + }, + { + "id": 552, + "displayName": "Andesite Slab", + "name": "andesite_slab", + "stackSize": 64 + }, + { + "id": 553, + "displayName": "Red Nether Brick Slab", + "name": "red_nether_brick_slab", + "stackSize": 64 + }, + { + "id": 554, + "displayName": "Polished Andesite Slab", + "name": "polished_andesite_slab", + "stackSize": 64 + }, + { + "id": 555, + "displayName": "Diorite Slab", + "name": "diorite_slab", + "stackSize": 64 + }, + { + "id": 556, + "displayName": "Scaffolding", + "name": "scaffolding", + "stackSize": 64 + }, + { + "id": 557, + "displayName": "Iron Door", + "name": "iron_door", + "stackSize": 64 + }, + { + "id": 558, + "displayName": "Oak Door", + "name": "oak_door", + "stackSize": 64 + }, + { + "id": 559, + "displayName": "Spruce Door", + "name": "spruce_door", + "stackSize": 64 + }, + { + "id": 560, + "displayName": "Birch Door", + "name": "birch_door", + "stackSize": 64 + }, + { + "id": 561, + "displayName": "Jungle Door", + "name": "jungle_door", + "stackSize": 64 + }, + { + "id": 562, + "displayName": "Acacia Door", + "name": "acacia_door", + "stackSize": 64 + }, + { + "id": 563, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "stackSize": 64 + }, + { + "id": 564, + "displayName": "Crimson Door", + "name": "crimson_door", + "stackSize": 64 + }, + { + "id": 565, + "displayName": "Warped Door", + "name": "warped_door", + "stackSize": 64 + }, + { + "id": 566, + "displayName": "Redstone Repeater", + "name": "repeater", + "stackSize": 64 + }, + { + "id": 567, + "displayName": "Redstone Comparator", + "name": "comparator", + "stackSize": 64 + }, + { + "id": 568, + "displayName": "Structure Block", + "name": "structure_block", + "stackSize": 64 + }, + { + "id": 569, + "displayName": "Jigsaw Block", + "name": "jigsaw", + "stackSize": 64 + }, + { + "id": 570, + "displayName": "Turtle Shell", + "name": "turtle_helmet", + "stackSize": 1 + }, + { + "id": 571, + "displayName": "Scute", + "name": "scute", + "stackSize": 64 + }, + { + "id": 572, + "displayName": "Flint and Steel", + "name": "flint_and_steel", + "stackSize": 1 + }, + { + "id": 573, + "displayName": "Apple", + "name": "apple", + "stackSize": 64 + }, + { + "id": 574, + "displayName": "Bow", + "name": "bow", + "stackSize": 1 + }, + { + "id": 575, + "displayName": "Arrow", + "name": "arrow", + "stackSize": 64 + }, + { + "id": 576, + "displayName": "Coal", + "name": "coal", + "stackSize": 64 + }, + { + "id": 577, + "displayName": "Charcoal", + "name": "charcoal", + "stackSize": 64 + }, + { + "id": 578, + "displayName": "Diamond", + "name": "diamond", + "stackSize": 64 + }, + { + "id": 579, + "displayName": "Iron Ingot", + "name": "iron_ingot", + "stackSize": 64 + }, + { + "id": 580, + "displayName": "Gold Ingot", + "name": "gold_ingot", + "stackSize": 64 + }, + { + "id": 581, + "displayName": "Netherite Ingot", + "name": "netherite_ingot", + "stackSize": 64 + }, + { + "id": 582, + "displayName": "Netherite Scrap", + "name": "netherite_scrap", + "stackSize": 64 + }, + { + "id": 583, + "displayName": "Wooden Sword", + "name": "wooden_sword", + "stackSize": 1 + }, + { + "id": 584, + "displayName": "Wooden Shovel", + "name": "wooden_shovel", + "stackSize": 1 + }, + { + "id": 585, + "displayName": "Wooden Pickaxe", + "name": "wooden_pickaxe", + "stackSize": 1 + }, + { + "id": 586, + "displayName": "Wooden Axe", + "name": "wooden_axe", + "stackSize": 1 + }, + { + "id": 587, + "displayName": "Wooden Hoe", + "name": "wooden_hoe", + "stackSize": 1 + }, + { + "id": 588, + "displayName": "Stone Sword", + "name": "stone_sword", + "stackSize": 1 + }, + { + "id": 589, + "displayName": "Stone Shovel", + "name": "stone_shovel", + "stackSize": 1 + }, + { + "id": 590, + "displayName": "Stone Pickaxe", + "name": "stone_pickaxe", + "stackSize": 1 + }, + { + "id": 591, + "displayName": "Stone Axe", + "name": "stone_axe", + "stackSize": 1 + }, + { + "id": 592, + "displayName": "Stone Hoe", + "name": "stone_hoe", + "stackSize": 1 + }, + { + "id": 593, + "displayName": "Golden Sword", + "name": "golden_sword", + "stackSize": 1 + }, + { + "id": 594, + "displayName": "Golden Shovel", + "name": "golden_shovel", + "stackSize": 1 + }, + { + "id": 595, + "displayName": "Golden Pickaxe", + "name": "golden_pickaxe", + "stackSize": 1 + }, + { + "id": 596, + "displayName": "Golden Axe", + "name": "golden_axe", + "stackSize": 1 + }, + { + "id": 597, + "displayName": "Golden Hoe", + "name": "golden_hoe", + "stackSize": 1 + }, + { + "id": 598, + "displayName": "Iron Sword", + "name": "iron_sword", + "stackSize": 1 + }, + { + "id": 599, + "displayName": "Iron Shovel", + "name": "iron_shovel", + "stackSize": 1 + }, + { + "id": 600, + "displayName": "Iron Pickaxe", + "name": "iron_pickaxe", + "stackSize": 1 + }, + { + "id": 601, + "displayName": "Iron Axe", + "name": "iron_axe", + "stackSize": 1 + }, + { + "id": 602, + "displayName": "Iron Hoe", + "name": "iron_hoe", + "stackSize": 1 + }, + { + "id": 603, + "displayName": "Diamond Sword", + "name": "diamond_sword", + "stackSize": 1 + }, + { + "id": 604, + "displayName": "Diamond Shovel", + "name": "diamond_shovel", + "stackSize": 1 + }, + { + "id": 605, + "displayName": "Diamond Pickaxe", + "name": "diamond_pickaxe", + "stackSize": 1 + }, + { + "id": 606, + "displayName": "Diamond Axe", + "name": "diamond_axe", + "stackSize": 1 + }, + { + "id": 607, + "displayName": "Diamond Hoe", + "name": "diamond_hoe", + "stackSize": 1 + }, + { + "id": 608, + "displayName": "Netherite Sword", + "name": "netherite_sword", + "stackSize": 1 + }, + { + "id": 609, + "displayName": "Netherite Shovel", + "name": "netherite_shovel", + "stackSize": 1 + }, + { + "id": 610, + "displayName": "Netherite Pickaxe", + "name": "netherite_pickaxe", + "stackSize": 1 + }, + { + "id": 611, + "displayName": "Netherite Axe", + "name": "netherite_axe", + "stackSize": 1 + }, + { + "id": 612, + "displayName": "Netherite Hoe", + "name": "netherite_hoe", + "stackSize": 1 + }, + { + "id": 613, + "displayName": "Stick", + "name": "stick", + "stackSize": 64 + }, + { + "id": 614, + "displayName": "Bowl", + "name": "bowl", + "stackSize": 64 + }, + { + "id": 615, + "displayName": "Mushroom Stew", + "name": "mushroom_stew", + "stackSize": 1 + }, + { + "id": 616, + "displayName": "String", + "name": "string", + "stackSize": 64 + }, + { + "id": 617, + "displayName": "Feather", + "name": "feather", + "stackSize": 64 + }, + { + "id": 618, + "displayName": "Gunpowder", + "name": "gunpowder", + "stackSize": 64 + }, + { + "id": 619, + "displayName": "Wheat Seeds", + "name": "wheat_seeds", + "stackSize": 64 + }, + { + "id": 620, + "displayName": "Wheat", + "name": "wheat", + "stackSize": 64 + }, + { + "id": 621, + "displayName": "Bread", + "name": "bread", + "stackSize": 64 + }, + { + "id": 622, + "displayName": "Leather Cap", + "name": "leather_helmet", + "stackSize": 1 + }, + { + "id": 623, + "displayName": "Leather Tunic", + "name": "leather_chestplate", + "stackSize": 1 + }, + { + "id": 624, + "displayName": "Leather Pants", + "name": "leather_leggings", + "stackSize": 1 + }, + { + "id": 625, + "displayName": "Leather Boots", + "name": "leather_boots", + "stackSize": 1 + }, + { + "id": 626, + "displayName": "Chainmail Helmet", + "name": "chainmail_helmet", + "stackSize": 1 + }, + { + "id": 627, + "displayName": "Chainmail Chestplate", + "name": "chainmail_chestplate", + "stackSize": 1 + }, + { + "id": 628, + "displayName": "Chainmail Leggings", + "name": "chainmail_leggings", + "stackSize": 1 + }, + { + "id": 629, + "displayName": "Chainmail Boots", + "name": "chainmail_boots", + "stackSize": 1 + }, + { + "id": 630, + "displayName": "Iron Helmet", + "name": "iron_helmet", + "stackSize": 1 + }, + { + "id": 631, + "displayName": "Iron Chestplate", + "name": "iron_chestplate", + "stackSize": 1 + }, + { + "id": 632, + "displayName": "Iron Leggings", + "name": "iron_leggings", + "stackSize": 1 + }, + { + "id": 633, + "displayName": "Iron Boots", + "name": "iron_boots", + "stackSize": 1 + }, + { + "id": 634, + "displayName": "Diamond Helmet", + "name": "diamond_helmet", + "stackSize": 1 + }, + { + "id": 635, + "displayName": "Diamond Chestplate", + "name": "diamond_chestplate", + "stackSize": 1 + }, + { + "id": 636, + "displayName": "Diamond Leggings", + "name": "diamond_leggings", + "stackSize": 1 + }, + { + "id": 637, + "displayName": "Diamond Boots", + "name": "diamond_boots", + "stackSize": 1 + }, + { + "id": 638, + "displayName": "Golden Helmet", + "name": "golden_helmet", + "stackSize": 1 + }, + { + "id": 639, + "displayName": "Golden Chestplate", + "name": "golden_chestplate", + "stackSize": 1 + }, + { + "id": 640, + "displayName": "Golden Leggings", + "name": "golden_leggings", + "stackSize": 1 + }, + { + "id": 641, + "displayName": "Golden Boots", + "name": "golden_boots", + "stackSize": 1 + }, + { + "id": 642, + "displayName": "Netherite Helmet", + "name": "netherite_helmet", + "stackSize": 1 + }, + { + "id": 643, + "displayName": "Netherite Chestplate", + "name": "netherite_chestplate", + "stackSize": 1 + }, + { + "id": 644, + "displayName": "Netherite Leggings", + "name": "netherite_leggings", + "stackSize": 1 + }, + { + "id": 645, + "displayName": "Netherite Boots", + "name": "netherite_boots", + "stackSize": 1 + }, + { + "id": 646, + "displayName": "Flint", + "name": "flint", + "stackSize": 64 + }, + { + "id": 647, + "displayName": "Raw Porkchop", + "name": "porkchop", + "stackSize": 64 + }, + { + "id": 648, + "displayName": "Cooked Porkchop", + "name": "cooked_porkchop", + "stackSize": 64 + }, + { + "id": 649, + "displayName": "Painting", + "name": "painting", + "stackSize": 64 + }, + { + "id": 650, + "displayName": "Golden Apple", + "name": "golden_apple", + "stackSize": 64 + }, + { + "id": 651, + "displayName": "Enchanted Golden Apple", + "name": "enchanted_golden_apple", + "stackSize": 64 + }, + { + "id": 652, + "displayName": "Oak Sign", + "name": "oak_sign", + "stackSize": 16 + }, + { + "id": 653, + "displayName": "Spruce Sign", + "name": "spruce_sign", + "stackSize": 16 + }, + { + "id": 654, + "displayName": "Birch Sign", + "name": "birch_sign", + "stackSize": 16 + }, + { + "id": 655, + "displayName": "Jungle Sign", + "name": "jungle_sign", + "stackSize": 16 + }, + { + "id": 656, + "displayName": "Acacia Sign", + "name": "acacia_sign", + "stackSize": 16 + }, + { + "id": 657, + "displayName": "Dark Oak Sign", + "name": "dark_oak_sign", + "stackSize": 16 + }, + { + "id": 658, + "displayName": "Crimson Sign", + "name": "crimson_sign", + "stackSize": 16 + }, + { + "id": 659, + "displayName": "Warped Sign", + "name": "warped_sign", + "stackSize": 16 + }, + { + "id": 660, + "displayName": "Bucket", + "name": "bucket", + "stackSize": 16 + }, + { + "id": 661, + "displayName": "Water Bucket", + "name": "water_bucket", + "stackSize": 1 + }, + { + "id": 662, + "displayName": "Lava Bucket", + "name": "lava_bucket", + "stackSize": 1 + }, + { + "id": 663, + "displayName": "Minecart", + "name": "minecart", + "stackSize": 1 + }, + { + "id": 664, + "displayName": "Saddle", + "name": "saddle", + "stackSize": 1 + }, + { + "id": 665, + "displayName": "Redstone Dust", + "name": "redstone", + "stackSize": 64 + }, + { + "id": 666, + "displayName": "Snowball", + "name": "snowball", + "stackSize": 16 + }, + { + "id": 667, + "displayName": "Oak Boat", + "name": "oak_boat", + "stackSize": 1 + }, + { + "id": 668, + "displayName": "Leather", + "name": "leather", + "stackSize": 64 + }, + { + "id": 669, + "displayName": "Milk Bucket", + "name": "milk_bucket", + "stackSize": 1 + }, + { + "id": 670, + "displayName": "Bucket of Pufferfish", + "name": "pufferfish_bucket", + "stackSize": 1 + }, + { + "id": 671, + "displayName": "Bucket of Salmon", + "name": "salmon_bucket", + "stackSize": 1 + }, + { + "id": 672, + "displayName": "Bucket of Cod", + "name": "cod_bucket", + "stackSize": 1 + }, + { + "id": 673, + "displayName": "Bucket of Tropical Fish", + "name": "tropical_fish_bucket", + "stackSize": 1 + }, + { + "id": 674, + "displayName": "Brick", + "name": "brick", + "stackSize": 64 + }, + { + "id": 675, + "displayName": "Clay Ball", + "name": "clay_ball", + "stackSize": 64 + }, + { + "id": 676, + "displayName": "Dried Kelp Block", + "name": "dried_kelp_block", + "stackSize": 64 + }, + { + "id": 677, + "displayName": "Paper", + "name": "paper", + "stackSize": 64 + }, + { + "id": 678, + "displayName": "Book", + "name": "book", + "stackSize": 64 + }, + { + "id": 679, + "displayName": "Slimeball", + "name": "slime_ball", + "stackSize": 64 + }, + { + "id": 680, + "displayName": "Minecart with Chest", + "name": "chest_minecart", + "stackSize": 1 + }, + { + "id": 681, + "displayName": "Minecart with Furnace", + "name": "furnace_minecart", + "stackSize": 1 + }, + { + "id": 682, + "displayName": "Egg", + "name": "egg", + "stackSize": 16 + }, + { + "id": 683, + "displayName": "Compass", + "name": "compass", + "stackSize": 64 + }, + { + "id": 684, + "displayName": "Fishing Rod", + "name": "fishing_rod", + "stackSize": 1 + }, + { + "id": 685, + "displayName": "Clock", + "name": "clock", + "stackSize": 64 + }, + { + "id": 686, + "displayName": "Glowstone Dust", + "name": "glowstone_dust", + "stackSize": 64 + }, + { + "id": 687, + "displayName": "Raw Cod", + "name": "cod", + "stackSize": 64 + }, + { + "id": 688, + "displayName": "Raw Salmon", + "name": "salmon", + "stackSize": 64 + }, + { + "id": 689, + "displayName": "Tropical Fish", + "name": "tropical_fish", + "stackSize": 64 + }, + { + "id": 690, + "displayName": "Pufferfish", + "name": "pufferfish", + "stackSize": 64 + }, + { + "id": 691, + "displayName": "Cooked Cod", + "name": "cooked_cod", + "stackSize": 64 + }, + { + "id": 692, + "displayName": "Cooked Salmon", + "name": "cooked_salmon", + "stackSize": 64 + }, + { + "id": 693, + "displayName": "Ink Sac", + "name": "ink_sac", + "stackSize": 64 + }, + { + "id": 694, + "displayName": "Cocoa Beans", + "name": "cocoa_beans", + "stackSize": 64 + }, + { + "id": 695, + "displayName": "Lapis Lazuli", + "name": "lapis_lazuli", + "stackSize": 64 + }, + { + "id": 696, + "displayName": "White Dye", + "name": "white_dye", + "stackSize": 64 + }, + { + "id": 697, + "displayName": "Orange Dye", + "name": "orange_dye", + "stackSize": 64 + }, + { + "id": 698, + "displayName": "Magenta Dye", + "name": "magenta_dye", + "stackSize": 64 + }, + { + "id": 699, + "displayName": "Light Blue Dye", + "name": "light_blue_dye", + "stackSize": 64 + }, + { + "id": 700, + "displayName": "Yellow Dye", + "name": "yellow_dye", + "stackSize": 64 + }, + { + "id": 701, + "displayName": "Lime Dye", + "name": "lime_dye", + "stackSize": 64 + }, + { + "id": 702, + "displayName": "Pink Dye", + "name": "pink_dye", + "stackSize": 64 + }, + { + "id": 703, + "displayName": "Gray Dye", + "name": "gray_dye", + "stackSize": 64 + }, + { + "id": 704, + "displayName": "Light Gray Dye", + "name": "light_gray_dye", + "stackSize": 64 + }, + { + "id": 705, + "displayName": "Cyan Dye", + "name": "cyan_dye", + "stackSize": 64 + }, + { + "id": 706, + "displayName": "Purple Dye", + "name": "purple_dye", + "stackSize": 64 + }, + { + "id": 707, + "displayName": "Blue Dye", + "name": "blue_dye", + "stackSize": 64 + }, + { + "id": 708, + "displayName": "Brown Dye", + "name": "brown_dye", + "stackSize": 64 + }, + { + "id": 709, + "displayName": "Green Dye", + "name": "green_dye", + "stackSize": 64 + }, + { + "id": 710, + "displayName": "Red Dye", + "name": "red_dye", + "stackSize": 64 + }, + { + "id": 711, + "displayName": "Black Dye", + "name": "black_dye", + "stackSize": 64 + }, + { + "id": 712, + "displayName": "Bone Meal", + "name": "bone_meal", + "stackSize": 64 + }, + { + "id": 713, + "displayName": "Bone", + "name": "bone", + "stackSize": 64 + }, + { + "id": 714, + "displayName": "Sugar", + "name": "sugar", + "stackSize": 64 + }, + { + "id": 715, + "displayName": "Cake", + "name": "cake", + "stackSize": 1 + }, + { + "id": 716, + "displayName": "White Bed", + "name": "white_bed", + "stackSize": 1 + }, + { + "id": 717, + "displayName": "Orange Bed", + "name": "orange_bed", + "stackSize": 1 + }, + { + "id": 718, + "displayName": "Magenta Bed", + "name": "magenta_bed", + "stackSize": 1 + }, + { + "id": 719, + "displayName": "Light Blue Bed", + "name": "light_blue_bed", + "stackSize": 1 + }, + { + "id": 720, + "displayName": "Yellow Bed", + "name": "yellow_bed", + "stackSize": 1 + }, + { + "id": 721, + "displayName": "Lime Bed", + "name": "lime_bed", + "stackSize": 1 + }, + { + "id": 722, + "displayName": "Pink Bed", + "name": "pink_bed", + "stackSize": 1 + }, + { + "id": 723, + "displayName": "Gray Bed", + "name": "gray_bed", + "stackSize": 1 + }, + { + "id": 724, + "displayName": "Light Gray Bed", + "name": "light_gray_bed", + "stackSize": 1 + }, + { + "id": 725, + "displayName": "Cyan Bed", + "name": "cyan_bed", + "stackSize": 1 + }, + { + "id": 726, + "displayName": "Purple Bed", + "name": "purple_bed", + "stackSize": 1 + }, + { + "id": 727, + "displayName": "Blue Bed", + "name": "blue_bed", + "stackSize": 1 + }, + { + "id": 728, + "displayName": "Brown Bed", + "name": "brown_bed", + "stackSize": 1 + }, + { + "id": 729, + "displayName": "Green Bed", + "name": "green_bed", + "stackSize": 1 + }, + { + "id": 730, + "displayName": "Red Bed", + "name": "red_bed", + "stackSize": 1 + }, + { + "id": 731, + "displayName": "Black Bed", + "name": "black_bed", + "stackSize": 1 + }, + { + "id": 732, + "displayName": "Cookie", + "name": "cookie", + "stackSize": 64 + }, + { + "id": 733, + "displayName": "Map", + "name": "filled_map", + "stackSize": 64 + }, + { + "id": 734, + "displayName": "Shears", + "name": "shears", + "stackSize": 1 + }, + { + "id": 735, + "displayName": "Melon Slice", + "name": "melon_slice", + "stackSize": 64 + }, + { + "id": 736, + "displayName": "Dried Kelp", + "name": "dried_kelp", + "stackSize": 64 + }, + { + "id": 737, + "displayName": "Pumpkin Seeds", + "name": "pumpkin_seeds", + "stackSize": 64 + }, + { + "id": 738, + "displayName": "Melon Seeds", + "name": "melon_seeds", + "stackSize": 64 + }, + { + "id": 739, + "displayName": "Raw Beef", + "name": "beef", + "stackSize": 64 + }, + { + "id": 740, + "displayName": "Steak", + "name": "cooked_beef", + "stackSize": 64 + }, + { + "id": 741, + "displayName": "Raw Chicken", + "name": "chicken", + "stackSize": 64 + }, + { + "id": 742, + "displayName": "Cooked Chicken", + "name": "cooked_chicken", + "stackSize": 64 + }, + { + "id": 743, + "displayName": "Rotten Flesh", + "name": "rotten_flesh", + "stackSize": 64 + }, + { + "id": 744, + "displayName": "Ender Pearl", + "name": "ender_pearl", + "stackSize": 16 + }, + { + "id": 745, + "displayName": "Blaze Rod", + "name": "blaze_rod", + "stackSize": 64 + }, + { + "id": 746, + "displayName": "Ghast Tear", + "name": "ghast_tear", + "stackSize": 64 + }, + { + "id": 747, + "displayName": "Gold Nugget", + "name": "gold_nugget", + "stackSize": 64 + }, + { + "id": 748, + "displayName": "Nether Wart", + "name": "nether_wart", + "stackSize": 64 + }, + { + "id": 749, + "displayName": "Potion", + "name": "potion", + "stackSize": 1 + }, + { + "id": 750, + "displayName": "Glass Bottle", + "name": "glass_bottle", + "stackSize": 64 + }, + { + "id": 751, + "displayName": "Spider Eye", + "name": "spider_eye", + "stackSize": 64 + }, + { + "id": 752, + "displayName": "Fermented Spider Eye", + "name": "fermented_spider_eye", + "stackSize": 64 + }, + { + "id": 753, + "displayName": "Blaze Powder", + "name": "blaze_powder", + "stackSize": 64 + }, + { + "id": 754, + "displayName": "Magma Cream", + "name": "magma_cream", + "stackSize": 64 + }, + { + "id": 755, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "stackSize": 64 + }, + { + "id": 756, + "displayName": "Cauldron", + "name": "cauldron", + "stackSize": 64 + }, + { + "id": 757, + "displayName": "Eye of Ender", + "name": "ender_eye", + "stackSize": 64 + }, + { + "id": 758, + "displayName": "Glistering Melon Slice", + "name": "glistering_melon_slice", + "stackSize": 64 + }, + { + "id": 759, + "displayName": "Bat Spawn Egg", + "name": "bat_spawn_egg", + "stackSize": 64 + }, + { + "id": 760, + "displayName": "Bee Spawn Egg", + "name": "bee_spawn_egg", + "stackSize": 64 + }, + { + "id": 761, + "displayName": "Blaze Spawn Egg", + "name": "blaze_spawn_egg", + "stackSize": 64 + }, + { + "id": 762, + "displayName": "Cat Spawn Egg", + "name": "cat_spawn_egg", + "stackSize": 64 + }, + { + "id": 763, + "displayName": "Cave Spider Spawn Egg", + "name": "cave_spider_spawn_egg", + "stackSize": 64 + }, + { + "id": 764, + "displayName": "Chicken Spawn Egg", + "name": "chicken_spawn_egg", + "stackSize": 64 + }, + { + "id": 765, + "displayName": "Cod Spawn Egg", + "name": "cod_spawn_egg", + "stackSize": 64 + }, + { + "id": 766, + "displayName": "Cow Spawn Egg", + "name": "cow_spawn_egg", + "stackSize": 64 + }, + { + "id": 767, + "displayName": "Creeper Spawn Egg", + "name": "creeper_spawn_egg", + "stackSize": 64 + }, + { + "id": 768, + "displayName": "Dolphin Spawn Egg", + "name": "dolphin_spawn_egg", + "stackSize": 64 + }, + { + "id": 769, + "displayName": "Donkey Spawn Egg", + "name": "donkey_spawn_egg", + "stackSize": 64 + }, + { + "id": 770, + "displayName": "Drowned Spawn Egg", + "name": "drowned_spawn_egg", + "stackSize": 64 + }, + { + "id": 771, + "displayName": "Elder Guardian Spawn Egg", + "name": "elder_guardian_spawn_egg", + "stackSize": 64 + }, + { + "id": 772, + "displayName": "Enderman Spawn Egg", + "name": "enderman_spawn_egg", + "stackSize": 64 + }, + { + "id": 773, + "displayName": "Endermite Spawn Egg", + "name": "endermite_spawn_egg", + "stackSize": 64 + }, + { + "id": 774, + "displayName": "Evoker Spawn Egg", + "name": "evoker_spawn_egg", + "stackSize": 64 + }, + { + "id": 775, + "displayName": "Fox Spawn Egg", + "name": "fox_spawn_egg", + "stackSize": 64 + }, + { + "id": 776, + "displayName": "Ghast Spawn Egg", + "name": "ghast_spawn_egg", + "stackSize": 64 + }, + { + "id": 777, + "displayName": "Guardian Spawn Egg", + "name": "guardian_spawn_egg", + "stackSize": 64 + }, + { + "id": 778, + "displayName": "Hoglin Spawn Egg", + "name": "hoglin_spawn_egg", + "stackSize": 64 + }, + { + "id": 779, + "displayName": "Horse Spawn Egg", + "name": "horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 780, + "displayName": "Husk Spawn Egg", + "name": "husk_spawn_egg", + "stackSize": 64 + }, + { + "id": 781, + "displayName": "Llama Spawn Egg", + "name": "llama_spawn_egg", + "stackSize": 64 + }, + { + "id": 782, + "displayName": "Magma Cube Spawn Egg", + "name": "magma_cube_spawn_egg", + "stackSize": 64 + }, + { + "id": 783, + "displayName": "Mooshroom Spawn Egg", + "name": "mooshroom_spawn_egg", + "stackSize": 64 + }, + { + "id": 784, + "displayName": "Mule Spawn Egg", + "name": "mule_spawn_egg", + "stackSize": 64 + }, + { + "id": 785, + "displayName": "Ocelot Spawn Egg", + "name": "ocelot_spawn_egg", + "stackSize": 64 + }, + { + "id": 786, + "displayName": "Panda Spawn Egg", + "name": "panda_spawn_egg", + "stackSize": 64 + }, + { + "id": 787, + "displayName": "Parrot Spawn Egg", + "name": "parrot_spawn_egg", + "stackSize": 64 + }, + { + "id": 788, + "displayName": "Phantom Spawn Egg", + "name": "phantom_spawn_egg", + "stackSize": 64 + }, + { + "id": 789, + "displayName": "Pig Spawn Egg", + "name": "pig_spawn_egg", + "stackSize": 64 + }, + { + "id": 790, + "displayName": "Piglin Spawn Egg", + "name": "piglin_spawn_egg", + "stackSize": 64 + }, + { + "id": 791, + "displayName": "Piglin Brute Spawn Egg", + "name": "piglin_brute_spawn_egg", + "stackSize": 64 + }, + { + "id": 792, + "displayName": "Pillager Spawn Egg", + "name": "pillager_spawn_egg", + "stackSize": 64 + }, + { + "id": 793, + "displayName": "Polar Bear Spawn Egg", + "name": "polar_bear_spawn_egg", + "stackSize": 64 + }, + { + "id": 794, + "displayName": "Pufferfish Spawn Egg", + "name": "pufferfish_spawn_egg", + "stackSize": 64 + }, + { + "id": 795, + "displayName": "Rabbit Spawn Egg", + "name": "rabbit_spawn_egg", + "stackSize": 64 + }, + { + "id": 796, + "displayName": "Ravager Spawn Egg", + "name": "ravager_spawn_egg", + "stackSize": 64 + }, + { + "id": 797, + "displayName": "Salmon Spawn Egg", + "name": "salmon_spawn_egg", + "stackSize": 64 + }, + { + "id": 798, + "displayName": "Sheep Spawn Egg", + "name": "sheep_spawn_egg", + "stackSize": 64 + }, + { + "id": 799, + "displayName": "Shulker Spawn Egg", + "name": "shulker_spawn_egg", + "stackSize": 64 + }, + { + "id": 800, + "displayName": "Silverfish Spawn Egg", + "name": "silverfish_spawn_egg", + "stackSize": 64 + }, + { + "id": 801, + "displayName": "Skeleton Spawn Egg", + "name": "skeleton_spawn_egg", + "stackSize": 64 + }, + { + "id": 802, + "displayName": "Skeleton Horse Spawn Egg", + "name": "skeleton_horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 803, + "displayName": "Slime Spawn Egg", + "name": "slime_spawn_egg", + "stackSize": 64 + }, + { + "id": 804, + "displayName": "Spider Spawn Egg", + "name": "spider_spawn_egg", + "stackSize": 64 + }, + { + "id": 805, + "displayName": "Squid Spawn Egg", + "name": "squid_spawn_egg", + "stackSize": 64 + }, + { + "id": 806, + "displayName": "Stray Spawn Egg", + "name": "stray_spawn_egg", + "stackSize": 64 + }, + { + "id": 807, + "displayName": "Strider Spawn Egg", + "name": "strider_spawn_egg", + "stackSize": 64 + }, + { + "id": 808, + "displayName": "Trader Llama Spawn Egg", + "name": "trader_llama_spawn_egg", + "stackSize": 64 + }, + { + "id": 809, + "displayName": "Tropical Fish Spawn Egg", + "name": "tropical_fish_spawn_egg", + "stackSize": 64 + }, + { + "id": 810, + "displayName": "Turtle Spawn Egg", + "name": "turtle_spawn_egg", + "stackSize": 64 + }, + { + "id": 811, + "displayName": "Vex Spawn Egg", + "name": "vex_spawn_egg", + "stackSize": 64 + }, + { + "id": 812, + "displayName": "Villager Spawn Egg", + "name": "villager_spawn_egg", + "stackSize": 64 + }, + { + "id": 813, + "displayName": "Vindicator Spawn Egg", + "name": "vindicator_spawn_egg", + "stackSize": 64 + }, + { + "id": 814, + "displayName": "Wandering Trader Spawn Egg", + "name": "wandering_trader_spawn_egg", + "stackSize": 64 + }, + { + "id": 815, + "displayName": "Witch Spawn Egg", + "name": "witch_spawn_egg", + "stackSize": 64 + }, + { + "id": 816, + "displayName": "Wither Skeleton Spawn Egg", + "name": "wither_skeleton_spawn_egg", + "stackSize": 64 + }, + { + "id": 817, + "displayName": "Wolf Spawn Egg", + "name": "wolf_spawn_egg", + "stackSize": 64 + }, + { + "id": 818, + "displayName": "Zoglin Spawn Egg", + "name": "zoglin_spawn_egg", + "stackSize": 64 + }, + { + "id": 819, + "displayName": "Zombie Spawn Egg", + "name": "zombie_spawn_egg", + "stackSize": 64 + }, + { + "id": 820, + "displayName": "Zombie Horse Spawn Egg", + "name": "zombie_horse_spawn_egg", + "stackSize": 64 + }, + { + "id": 821, + "displayName": "Zombie Villager Spawn Egg", + "name": "zombie_villager_spawn_egg", + "stackSize": 64 + }, + { + "id": 822, + "displayName": "Zombified Piglin Spawn Egg", + "name": "zombified_piglin_spawn_egg", + "stackSize": 64 + }, + { + "id": 823, + "displayName": "Bottle o' Enchanting", + "name": "experience_bottle", + "stackSize": 64 + }, + { + "id": 824, + "displayName": "Fire Charge", + "name": "fire_charge", + "stackSize": 64 + }, + { + "id": 825, + "displayName": "Book and Quill", + "name": "writable_book", + "stackSize": 1 + }, + { + "id": 826, + "displayName": "Written Book", + "name": "written_book", + "stackSize": 16 + }, + { + "id": 827, + "displayName": "Emerald", + "name": "emerald", + "stackSize": 64 + }, + { + "id": 828, + "displayName": "Item Frame", + "name": "item_frame", + "stackSize": 64 + }, + { + "id": 829, + "displayName": "Flower Pot", + "name": "flower_pot", + "stackSize": 64 + }, + { + "id": 830, + "displayName": "Carrot", + "name": "carrot", + "stackSize": 64 + }, + { + "id": 831, + "displayName": "Potato", + "name": "potato", + "stackSize": 64 + }, + { + "id": 832, + "displayName": "Baked Potato", + "name": "baked_potato", + "stackSize": 64 + }, + { + "id": 833, + "displayName": "Poisonous Potato", + "name": "poisonous_potato", + "stackSize": 64 + }, + { + "id": 834, + "displayName": "Empty Map", + "name": "map", + "stackSize": 64 + }, + { + "id": 835, + "displayName": "Golden Carrot", + "name": "golden_carrot", + "stackSize": 64 + }, + { + "id": 836, + "displayName": "Skeleton Skull", + "name": "skeleton_skull", + "stackSize": 64 + }, + { + "id": 837, + "displayName": "Wither Skeleton Skull", + "name": "wither_skeleton_skull", + "stackSize": 64 + }, + { + "id": 838, + "displayName": "Player Head", + "name": "player_head", + "stackSize": 64 + }, + { + "id": 839, + "displayName": "Zombie Head", + "name": "zombie_head", + "stackSize": 64 + }, + { + "id": 840, + "displayName": "Creeper Head", + "name": "creeper_head", + "stackSize": 64 + }, + { + "id": 841, + "displayName": "Dragon Head", + "name": "dragon_head", + "stackSize": 64 + }, + { + "id": 842, + "displayName": "Carrot on a Stick", + "name": "carrot_on_a_stick", + "stackSize": 1 + }, + { + "id": 843, + "displayName": "Warped Fungus on a Stick", + "name": "warped_fungus_on_a_stick", + "stackSize": 64 + }, + { + "id": 844, + "displayName": "Nether Star", + "name": "nether_star", + "stackSize": 64 + }, + { + "id": 845, + "displayName": "Pumpkin Pie", + "name": "pumpkin_pie", + "stackSize": 64 + }, + { + "id": 846, + "displayName": "Firework Rocket", + "name": "firework_rocket", + "stackSize": 64 + }, + { + "id": 847, + "displayName": "Firework Star", + "name": "firework_star", + "stackSize": 64 + }, + { + "id": 848, + "displayName": "Enchanted Book", + "name": "enchanted_book", + "stackSize": 1 + }, + { + "id": 849, + "displayName": "Nether Brick", + "name": "nether_brick", + "stackSize": 64 + }, + { + "id": 850, + "displayName": "Nether Quartz", + "name": "quartz", + "stackSize": 64 + }, + { + "id": 851, + "displayName": "Minecart with TNT", + "name": "tnt_minecart", + "stackSize": 1 + }, + { + "id": 852, + "displayName": "Minecart with Hopper", + "name": "hopper_minecart", + "stackSize": 1 + }, + { + "id": 853, + "displayName": "Prismarine Shard", + "name": "prismarine_shard", + "stackSize": 64 + }, + { + "id": 854, + "displayName": "Prismarine Crystals", + "name": "prismarine_crystals", + "stackSize": 64 + }, + { + "id": 855, + "displayName": "Raw Rabbit", + "name": "rabbit", + "stackSize": 64 + }, + { + "id": 856, + "displayName": "Cooked Rabbit", + "name": "cooked_rabbit", + "stackSize": 64 + }, + { + "id": 857, + "displayName": "Rabbit Stew", + "name": "rabbit_stew", + "stackSize": 1 + }, + { + "id": 858, + "displayName": "Rabbit's Foot", + "name": "rabbit_foot", + "stackSize": 64 + }, + { + "id": 859, + "displayName": "Rabbit Hide", + "name": "rabbit_hide", + "stackSize": 64 + }, + { + "id": 860, + "displayName": "Armor Stand", + "name": "armor_stand", + "stackSize": 16 + }, + { + "id": 861, + "displayName": "Iron Horse Armor", + "name": "iron_horse_armor", + "stackSize": 1 + }, + { + "id": 862, + "displayName": "Golden Horse Armor", + "name": "golden_horse_armor", + "stackSize": 1 + }, + { + "id": 863, + "displayName": "Diamond Horse Armor", + "name": "diamond_horse_armor", + "stackSize": 1 + }, + { + "id": 864, + "displayName": "Leather Horse Armor", + "name": "leather_horse_armor", + "stackSize": 1 + }, + { + "id": 865, + "displayName": "Lead", + "name": "lead", + "stackSize": 64 + }, + { + "id": 866, + "displayName": "Name Tag", + "name": "name_tag", + "stackSize": 64 + }, + { + "id": 867, + "displayName": "Minecart with Command Block", + "name": "command_block_minecart", + "stackSize": 1 + }, + { + "id": 868, + "displayName": "Raw Mutton", + "name": "mutton", + "stackSize": 64 + }, + { + "id": 869, + "displayName": "Cooked Mutton", + "name": "cooked_mutton", + "stackSize": 64 + }, + { + "id": 870, + "displayName": "White Banner", + "name": "white_banner", + "stackSize": 16 + }, + { + "id": 871, + "displayName": "Orange Banner", + "name": "orange_banner", + "stackSize": 16 + }, + { + "id": 872, + "displayName": "Magenta Banner", + "name": "magenta_banner", + "stackSize": 16 + }, + { + "id": 873, + "displayName": "Light Blue Banner", + "name": "light_blue_banner", + "stackSize": 16 + }, + { + "id": 874, + "displayName": "Yellow Banner", + "name": "yellow_banner", + "stackSize": 16 + }, + { + "id": 875, + "displayName": "Lime Banner", + "name": "lime_banner", + "stackSize": 16 + }, + { + "id": 876, + "displayName": "Pink Banner", + "name": "pink_banner", + "stackSize": 16 + }, + { + "id": 877, + "displayName": "Gray Banner", + "name": "gray_banner", + "stackSize": 16 + }, + { + "id": 878, + "displayName": "Light Gray Banner", + "name": "light_gray_banner", + "stackSize": 16 + }, + { + "id": 879, + "displayName": "Cyan Banner", + "name": "cyan_banner", + "stackSize": 16 + }, + { + "id": 880, + "displayName": "Purple Banner", + "name": "purple_banner", + "stackSize": 16 + }, + { + "id": 881, + "displayName": "Blue Banner", + "name": "blue_banner", + "stackSize": 16 + }, + { + "id": 882, + "displayName": "Brown Banner", + "name": "brown_banner", + "stackSize": 16 + }, + { + "id": 883, + "displayName": "Green Banner", + "name": "green_banner", + "stackSize": 16 + }, + { + "id": 884, + "displayName": "Red Banner", + "name": "red_banner", + "stackSize": 16 + }, + { + "id": 885, + "displayName": "Black Banner", + "name": "black_banner", + "stackSize": 16 + }, + { + "id": 886, + "displayName": "End Crystal", + "name": "end_crystal", + "stackSize": 64 + }, + { + "id": 887, + "displayName": "Chorus Fruit", + "name": "chorus_fruit", + "stackSize": 64 + }, + { + "id": 888, + "displayName": "Popped Chorus Fruit", + "name": "popped_chorus_fruit", + "stackSize": 64 + }, + { + "id": 889, + "displayName": "Beetroot", + "name": "beetroot", + "stackSize": 64 + }, + { + "id": 890, + "displayName": "Beetroot Seeds", + "name": "beetroot_seeds", + "stackSize": 64 + }, + { + "id": 891, + "displayName": "Beetroot Soup", + "name": "beetroot_soup", + "stackSize": 1 + }, + { + "id": 892, + "displayName": "Dragon's Breath", + "name": "dragon_breath", + "stackSize": 64 + }, + { + "id": 893, + "displayName": "Splash Potion", + "name": "splash_potion", + "stackSize": 1 + }, + { + "id": 894, + "displayName": "Spectral Arrow", + "name": "spectral_arrow", + "stackSize": 64 + }, + { + "id": 895, + "displayName": "Tipped Arrow", + "name": "tipped_arrow", + "stackSize": 64 + }, + { + "id": 896, + "displayName": "Lingering Potion", + "name": "lingering_potion", + "stackSize": 1 + }, + { + "id": 897, + "displayName": "Shield", + "name": "shield", + "stackSize": 1 + }, + { + "id": 898, + "displayName": "Elytra", + "name": "elytra", + "stackSize": 1 + }, + { + "id": 899, + "displayName": "Spruce Boat", + "name": "spruce_boat", + "stackSize": 1 + }, + { + "id": 900, + "displayName": "Birch Boat", + "name": "birch_boat", + "stackSize": 1 + }, + { + "id": 901, + "displayName": "Jungle Boat", + "name": "jungle_boat", + "stackSize": 1 + }, + { + "id": 902, + "displayName": "Acacia Boat", + "name": "acacia_boat", + "stackSize": 1 + }, + { + "id": 903, + "displayName": "Dark Oak Boat", + "name": "dark_oak_boat", + "stackSize": 1 + }, + { + "id": 904, + "displayName": "Totem of Undying", + "name": "totem_of_undying", + "stackSize": 1 + }, + { + "id": 905, + "displayName": "Shulker Shell", + "name": "shulker_shell", + "stackSize": 64 + }, + { + "id": 906, + "displayName": "Iron Nugget", + "name": "iron_nugget", + "stackSize": 64 + }, + { + "id": 907, + "displayName": "Knowledge Book", + "name": "knowledge_book", + "stackSize": 1 + }, + { + "id": 908, + "displayName": "Debug Stick", + "name": "debug_stick", + "stackSize": 1 + }, + { + "id": 909, + "displayName": "13 Disc", + "name": "music_disc_13", + "stackSize": 1 + }, + { + "id": 910, + "displayName": "Cat Disc", + "name": "music_disc_cat", + "stackSize": 1 + }, + { + "id": 911, + "displayName": "Blocks Disc", + "name": "music_disc_blocks", + "stackSize": 1 + }, + { + "id": 912, + "displayName": "Chirp Disc", + "name": "music_disc_chirp", + "stackSize": 1 + }, + { + "id": 913, + "displayName": "Far Disc", + "name": "music_disc_far", + "stackSize": 1 + }, + { + "id": 914, + "displayName": "Mall Disc", + "name": "music_disc_mall", + "stackSize": 1 + }, + { + "id": 915, + "displayName": "Mellohi Disc", + "name": "music_disc_mellohi", + "stackSize": 1 + }, + { + "id": 916, + "displayName": "Stal Disc", + "name": "music_disc_stal", + "stackSize": 1 + }, + { + "id": 917, + "displayName": "Strad Disc", + "name": "music_disc_strad", + "stackSize": 1 + }, + { + "id": 918, + "displayName": "Ward Disc", + "name": "music_disc_ward", + "stackSize": 1 + }, + { + "id": 919, + "displayName": "11 Disc", + "name": "music_disc_11", + "stackSize": 1 + }, + { + "id": 920, + "displayName": "Wait Disc", + "name": "music_disc_wait", + "stackSize": 1 + }, + { + "id": 921, + "displayName": "Music Disc", + "name": "music_disc_pigstep", + "stackSize": 1 + }, + { + "id": 922, + "displayName": "Trident", + "name": "trident", + "stackSize": 1 + }, + { + "id": 923, + "displayName": "Phantom Membrane", + "name": "phantom_membrane", + "stackSize": 64 + }, + { + "id": 924, + "displayName": "Nautilus Shell", + "name": "nautilus_shell", + "stackSize": 64 + }, + { + "id": 925, + "displayName": "Heart of the Sea", + "name": "heart_of_the_sea", + "stackSize": 64 + }, + { + "id": 926, + "displayName": "Crossbow", + "name": "crossbow", + "stackSize": 1 + }, + { + "id": 927, + "displayName": "Suspicious Stew", + "name": "suspicious_stew", + "stackSize": 1 + }, + { + "id": 928, + "displayName": "Loom", + "name": "loom", + "stackSize": 64 + }, + { + "id": 929, + "displayName": "Banner Pattern", + "name": "flower_banner_pattern", + "stackSize": 1 + }, + { + "id": 930, + "displayName": "Banner Pattern", + "name": "creeper_banner_pattern", + "stackSize": 1 + }, + { + "id": 931, + "displayName": "Banner Pattern", + "name": "skull_banner_pattern", + "stackSize": 1 + }, + { + "id": 932, + "displayName": "Banner Pattern", + "name": "mojang_banner_pattern", + "stackSize": 1 + }, + { + "id": 933, + "displayName": "Banner Pattern", + "name": "globe_banner_pattern", + "stackSize": 1 + }, + { + "id": 934, + "displayName": "Banner Pattern", + "name": "piglin_banner_pattern", + "stackSize": 1 + }, + { + "id": 935, + "displayName": "Composter", + "name": "composter", + "stackSize": 64 + }, + { + "id": 936, + "displayName": "Barrel", + "name": "barrel", + "stackSize": 64 + }, + { + "id": 937, + "displayName": "Smoker", + "name": "smoker", + "stackSize": 64 + }, + { + "id": 938, + "displayName": "Blast Furnace", + "name": "blast_furnace", + "stackSize": 64 + }, + { + "id": 939, + "displayName": "Cartography Table", + "name": "cartography_table", + "stackSize": 64 + }, + { + "id": 940, + "displayName": "Fletching Table", + "name": "fletching_table", + "stackSize": 64 + }, + { + "id": 941, + "displayName": "Grindstone", + "name": "grindstone", + "stackSize": 64 + }, + { + "id": 942, + "displayName": "Lectern", + "name": "lectern", + "stackSize": 64 + }, + { + "id": 943, + "displayName": "Smithing Table", + "name": "smithing_table", + "stackSize": 64 + }, + { + "id": 944, + "displayName": "Stonecutter", + "name": "stonecutter", + "stackSize": 64 + }, + { + "id": 945, + "displayName": "Bell", + "name": "bell", + "stackSize": 64 + }, + { + "id": 946, + "displayName": "Lantern", + "name": "lantern", + "stackSize": 64 + }, + { + "id": 947, + "displayName": "Soul Lantern", + "name": "soul_lantern", + "stackSize": 64 + }, + { + "id": 948, + "displayName": "Sweet Berries", + "name": "sweet_berries", + "stackSize": 64 + }, + { + "id": 949, + "displayName": "Campfire", + "name": "campfire", + "stackSize": 64 + }, + { + "id": 950, + "displayName": "Soul Campfire", + "name": "soul_campfire", + "stackSize": 64 + }, + { + "id": 951, + "displayName": "Shroomlight", + "name": "shroomlight", + "stackSize": 64 + }, + { + "id": 952, + "displayName": "Honeycomb", + "name": "honeycomb", + "stackSize": 64 + }, + { + "id": 953, + "displayName": "Bee Nest", + "name": "bee_nest", + "stackSize": 64 + }, + { + "id": 954, + "displayName": "Beehive", + "name": "beehive", + "stackSize": 64 + }, + { + "id": 955, + "displayName": "Honey Bottle", + "name": "honey_bottle", + "stackSize": 16 + }, + { + "id": 956, + "displayName": "Honey Block", + "name": "honey_block", + "stackSize": 64 + }, + { + "id": 957, + "displayName": "Honeycomb Block", + "name": "honeycomb_block", + "stackSize": 64 + }, + { + "id": 958, + "displayName": "Lodestone", + "name": "lodestone", + "stackSize": 64 + }, + { + "id": 959, + "displayName": "Block of Netherite", + "name": "netherite_block", + "stackSize": 64 + }, + { + "id": 960, + "displayName": "Ancient Debris", + "name": "ancient_debris", + "stackSize": 64 + }, + { + "id": 961, + "displayName": "Target", + "name": "target", + "stackSize": 64 + }, + { + "id": 962, + "displayName": "Crying Obsidian", + "name": "crying_obsidian", + "stackSize": 64 + }, + { + "id": 963, + "displayName": "Blackstone", + "name": "blackstone", + "stackSize": 64 + }, + { + "id": 964, + "displayName": "Blackstone Slab", + "name": "blackstone_slab", + "stackSize": 64 + }, + { + "id": 965, + "displayName": "Blackstone Stairs", + "name": "blackstone_stairs", + "stackSize": 64 + }, + { + "id": 966, + "displayName": "Gilded Blackstone", + "name": "gilded_blackstone", + "stackSize": 64 + }, + { + "id": 967, + "displayName": "Polished Blackstone", + "name": "polished_blackstone", + "stackSize": 64 + }, + { + "id": 968, + "displayName": "Polished Blackstone Slab", + "name": "polished_blackstone_slab", + "stackSize": 64 + }, + { + "id": 969, + "displayName": "Polished Blackstone Stairs", + "name": "polished_blackstone_stairs", + "stackSize": 64 + }, + { + "id": 970, + "displayName": "Chiseled Polished Blackstone", + "name": "chiseled_polished_blackstone", + "stackSize": 64 + }, + { + "id": 971, + "displayName": "Polished Blackstone Bricks", + "name": "polished_blackstone_bricks", + "stackSize": 64 + }, + { + "id": 972, + "displayName": "Polished Blackstone Brick Slab", + "name": "polished_blackstone_brick_slab", + "stackSize": 64 + }, + { + "id": 973, + "displayName": "Polished Blackstone Brick Stairs", + "name": "polished_blackstone_brick_stairs", + "stackSize": 64 + }, + { + "id": 974, + "displayName": "Cracked Polished Blackstone Bricks", + "name": "cracked_polished_blackstone_bricks", + "stackSize": 64 + }, + { + "id": 975, + "displayName": "Respawn Anchor", + "name": "respawn_anchor", + "stackSize": 64 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/loginPacket.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/loginPacket.json new file mode 100644 index 00000000..778350a3 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/loginPacket.json @@ -0,0 +1,7143 @@ +{ + "entityId": 1, + "isHardcore": false, + "gameMode": 0, + "previousGameMode": 255, + "worldNames": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end" + ], + "dimensionCodec": { + "type": "compound", + "name": "", + "value": { + "minecraft:dimension_type": { + "type": "compound", + "value": { + "type": { + "type": "string", + "value": "minecraft:dimension_type" + }, + "value": { + "type": "list", + "value": { + "type": "compound", + "value": [ + { + "name": { + "type": "string", + "value": "minecraft:overworld" + }, + "id": { + "type": "int", + "value": 0 + }, + "element": { + "type": "compound", + "value": { + "bed_works": { + "type": "byte", + "value": 1 + }, + "has_ceiling": { + "type": "byte", + "value": 0 + }, + "coordinate_scale": { + "type": "double", + "value": 1 + }, + "piglin_safe": { + "type": "byte", + "value": 0 + }, + "has_skylight": { + "type": "byte", + "value": 1 + }, + "ultrawarm": { + "type": "byte", + "value": 0 + }, + "infiniburn": { + "type": "string", + "value": "minecraft:infiniburn_overworld" + }, + "effects": { + "type": "string", + "value": "minecraft:overworld" + }, + "has_raids": { + "type": "byte", + "value": 1 + }, + "ambient_light": { + "type": "float", + "value": 0 + }, + "logical_height": { + "type": "int", + "value": 256 + }, + "natural": { + "type": "byte", + "value": 1 + }, + "respawn_anchor_works": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:overworld_caves" + }, + "id": { + "type": "int", + "value": 1 + }, + "element": { + "type": "compound", + "value": { + "bed_works": { + "type": "byte", + "value": 1 + }, + "has_ceiling": { + "type": "byte", + "value": 1 + }, + "coordinate_scale": { + "type": "double", + "value": 1 + }, + "piglin_safe": { + "type": "byte", + "value": 0 + }, + "has_skylight": { + "type": "byte", + "value": 1 + }, + "ultrawarm": { + "type": "byte", + "value": 0 + }, + "infiniburn": { + "type": "string", + "value": "minecraft:infiniburn_overworld" + }, + "effects": { + "type": "string", + "value": "minecraft:overworld" + }, + "has_raids": { + "type": "byte", + "value": 1 + }, + "ambient_light": { + "type": "float", + "value": 0 + }, + "logical_height": { + "type": "int", + "value": 256 + }, + "natural": { + "type": "byte", + "value": 1 + }, + "respawn_anchor_works": { + "type": "byte", + "value": 0 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:the_nether" + }, + "id": { + "type": "int", + "value": 2 + }, + "element": { + "type": "compound", + "value": { + "infiniburn": { + "type": "string", + "value": "minecraft:infiniburn_nether" + }, + "effects": { + "type": "string", + "value": "minecraft:the_nether" + }, + "ultrawarm": { + "type": "byte", + "value": 1 + }, + "logical_height": { + "type": "int", + "value": 128 + }, + "natural": { + "type": "byte", + "value": 0 + }, + "bed_works": { + "type": "byte", + "value": 0 + }, + "fixed_time": { + "type": "long", + "value": [ + 0, + 18000 + ] + }, + "coordinate_scale": { + "type": "double", + "value": 8 + }, + "piglin_safe": { + "type": "byte", + "value": 1 + }, + "has_skylight": { + "type": "byte", + "value": 0 + }, + "has_ceiling": { + "type": "byte", + "value": 1 + }, + "ambient_light": { + "type": "float", + "value": 0.10000000149011612 + }, + "has_raids": { + "type": "byte", + "value": 0 + }, + "respawn_anchor_works": { + "type": "byte", + "value": 1 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:the_end" + }, + "id": { + "type": "int", + "value": 3 + }, + "element": { + "type": "compound", + "value": { + "infiniburn": { + "type": "string", + "value": "minecraft:infiniburn_end" + }, + "effects": { + "type": "string", + "value": "minecraft:the_end" + }, + "ultrawarm": { + "type": "byte", + "value": 0 + }, + "logical_height": { + "type": "int", + "value": 256 + }, + "natural": { + "type": "byte", + "value": 0 + }, + "bed_works": { + "type": "byte", + "value": 0 + }, + "fixed_time": { + "type": "long", + "value": [ + 0, + 6000 + ] + }, + "coordinate_scale": { + "type": "double", + "value": 1 + }, + "piglin_safe": { + "type": "byte", + "value": 0 + }, + "has_skylight": { + "type": "byte", + "value": 0 + }, + "has_ceiling": { + "type": "byte", + "value": 0 + }, + "ambient_light": { + "type": "float", + "value": 0 + }, + "has_raids": { + "type": "byte", + "value": 1 + }, + "respawn_anchor_works": { + "type": "byte", + "value": 0 + } + } + } + } + ] + } + } + } + }, + "minecraft:worldgen/biome": { + "type": "compound", + "value": { + "type": { + "type": "string", + "value": "minecraft:worldgen/biome" + }, + "value": { + "type": "list", + "value": { + "type": "compound", + "value": [ + { + "name": { + "type": "string", + "value": "minecraft:ocean" + }, + "id": { + "type": "int", + "value": 0 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "ocean" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": -1 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8103167 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.10000000149011612 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:plains" + }, + "id": { + "type": "int", + "value": 1 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "plains" + }, + "temperature": { + "type": "float", + "value": 0.800000011920929 + }, + "downfall": { + "type": "float", + "value": 0.4000000059604645 + }, + "depth": { + "type": "float", + "value": 0.125 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7907327 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.05000000074505806 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:desert" + }, + "id": { + "type": "int", + "value": 2 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "desert" + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 0.125 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.05000000074505806 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:mountains" + }, + "id": { + "type": "int", + "value": 3 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "extreme_hills" + }, + "temperature": { + "type": "float", + "value": 0.20000000298023224 + }, + "downfall": { + "type": "float", + "value": 0.30000001192092896 + }, + "depth": { + "type": "float", + "value": 1 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8233727 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:forest" + }, + "id": { + "type": "int", + "value": 4 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "forest" + }, + "temperature": { + "type": "float", + "value": 0.699999988079071 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7972607 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:taiga" + }, + "id": { + "type": "int", + "value": 5 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "taiga" + }, + "temperature": { + "type": "float", + "value": 0.25 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + }, + "depth": { + "type": "float", + "value": 0.20000000298023224 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8233983 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:swamp" + }, + "id": { + "type": "int", + "value": 6 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "swamp" + }, + "temperature": { + "type": "float", + "value": 0.800000011920929 + }, + "downfall": { + "type": "float", + "value": 0.8999999761581421 + }, + "depth": { + "type": "float", + "value": -0.20000000298023224 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 2302743 + }, + "water_color": { + "type": "int", + "value": 6388580 + }, + "foliage_color": { + "type": "int", + "value": 6975545 + }, + "grass_color_modifier": { + "type": "string", + "value": "swamp" + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7907327 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.10000000149011612 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:river" + }, + "id": { + "type": "int", + "value": 7 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "river" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": -0.5 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8103167 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:nether_wastes" + }, + "id": { + "type": "int", + "value": 8 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "nether" + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "music": { + "type": "compound", + "value": { + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.nether.nether_wastes" + }, + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "additions_sound": { + "type": "compound", + "value": { + "sound": { + "type": "string", + "value": "minecraft:ambient.nether_wastes.additions" + }, + "tick_chance": { + "type": "double", + "value": 0.0111 + } + } + }, + "fog_color": { + "type": "int", + "value": 3344392 + }, + "ambient_sound": { + "type": "string", + "value": "minecraft:ambient.nether_wastes.loop" + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.nether_wastes.mood" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:the_end" + }, + "id": { + "type": "int", + "value": 9 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "the_end" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 10518688 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 0 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:frozen_ocean" + }, + "id": { + "type": "int", + "value": 10 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "ocean" + }, + "temperature": { + "type": "float", + "value": 0 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "temperature_modifier": { + "type": "string", + "value": "frozen" + }, + "depth": { + "type": "float", + "value": -1 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 3750089 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8364543 + } + } + }, + "precipitation": { + "type": "string", + "value": "snow" + }, + "scale": { + "type": "float", + "value": 0.10000000149011612 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:frozen_river" + }, + "id": { + "type": "int", + "value": 11 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "river" + }, + "temperature": { + "type": "float", + "value": 0 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": -0.5 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 3750089 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8364543 + } + } + }, + "precipitation": { + "type": "string", + "value": "snow" + }, + "scale": { + "type": "float", + "value": 0 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:snowy_tundra" + }, + "id": { + "type": "int", + "value": 12 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "icy" + }, + "temperature": { + "type": "float", + "value": 0 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": 0.125 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8364543 + } + } + }, + "precipitation": { + "type": "string", + "value": "snow" + }, + "scale": { + "type": "float", + "value": 0.05000000074505806 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:snowy_mountains" + }, + "id": { + "type": "int", + "value": 13 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "icy" + }, + "temperature": { + "type": "float", + "value": 0 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": 0.44999998807907104 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8364543 + } + } + }, + "precipitation": { + "type": "string", + "value": "snow" + }, + "scale": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:mushroom_fields" + }, + "id": { + "type": "int", + "value": 14 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "mushroom" + }, + "temperature": { + "type": "float", + "value": 0.8999999761581421 + }, + "downfall": { + "type": "float", + "value": 1 + }, + "depth": { + "type": "float", + "value": 0.20000000298023224 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7842047 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:mushroom_field_shore" + }, + "id": { + "type": "int", + "value": 15 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "mushroom" + }, + "temperature": { + "type": "float", + "value": 0.8999999761581421 + }, + "downfall": { + "type": "float", + "value": 1 + }, + "depth": { + "type": "float", + "value": 0 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7842047 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.02500000037252903 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:beach" + }, + "id": { + "type": "int", + "value": 16 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "beach" + }, + "temperature": { + "type": "float", + "value": 0.800000011920929 + }, + "downfall": { + "type": "float", + "value": 0.4000000059604645 + }, + "depth": { + "type": "float", + "value": 0 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7907327 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.02500000037252903 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:desert_hills" + }, + "id": { + "type": "int", + "value": 17 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "desert" + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 0.44999998807907104 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:wooded_hills" + }, + "id": { + "type": "int", + "value": 18 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "forest" + }, + "temperature": { + "type": "float", + "value": 0.699999988079071 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + }, + "depth": { + "type": "float", + "value": 0.44999998807907104 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7972607 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:taiga_hills" + }, + "id": { + "type": "int", + "value": 19 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "taiga" + }, + "temperature": { + "type": "float", + "value": 0.25 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + }, + "depth": { + "type": "float", + "value": 0.44999998807907104 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8233983 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:mountain_edge" + }, + "id": { + "type": "int", + "value": 20 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "extreme_hills" + }, + "temperature": { + "type": "float", + "value": 0.20000000298023224 + }, + "downfall": { + "type": "float", + "value": 0.30000001192092896 + }, + "depth": { + "type": "float", + "value": 0.800000011920929 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8233727 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:jungle" + }, + "id": { + "type": "int", + "value": 21 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "jungle" + }, + "temperature": { + "type": "float", + "value": 0.949999988079071 + }, + "downfall": { + "type": "float", + "value": 0.8999999761581421 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7842047 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:jungle_hills" + }, + "id": { + "type": "int", + "value": 22 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "jungle" + }, + "temperature": { + "type": "float", + "value": 0.949999988079071 + }, + "downfall": { + "type": "float", + "value": 0.8999999761581421 + }, + "depth": { + "type": "float", + "value": 0.44999998807907104 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7842047 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:jungle_edge" + }, + "id": { + "type": "int", + "value": 23 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "jungle" + }, + "temperature": { + "type": "float", + "value": 0.949999988079071 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7842047 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:deep_ocean" + }, + "id": { + "type": "int", + "value": 24 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "ocean" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": -1.7999999523162842 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8103167 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.10000000149011612 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:stone_shore" + }, + "id": { + "type": "int", + "value": 25 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "none" + }, + "temperature": { + "type": "float", + "value": 0.20000000298023224 + }, + "downfall": { + "type": "float", + "value": 0.30000001192092896 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8233727 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.800000011920929 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:snowy_beach" + }, + "id": { + "type": "int", + "value": 26 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "beach" + }, + "temperature": { + "type": "float", + "value": 0.05000000074505806 + }, + "downfall": { + "type": "float", + "value": 0.30000001192092896 + }, + "depth": { + "type": "float", + "value": 0 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4020182 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8364543 + } + } + }, + "precipitation": { + "type": "string", + "value": "snow" + }, + "scale": { + "type": "float", + "value": 0.02500000037252903 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:birch_forest" + }, + "id": { + "type": "int", + "value": 27 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "forest" + }, + "temperature": { + "type": "float", + "value": 0.6000000238418579 + }, + "downfall": { + "type": "float", + "value": 0.6000000238418579 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8037887 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:birch_forest_hills" + }, + "id": { + "type": "int", + "value": 28 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "forest" + }, + "temperature": { + "type": "float", + "value": 0.6000000238418579 + }, + "downfall": { + "type": "float", + "value": 0.6000000238418579 + }, + "depth": { + "type": "float", + "value": 0.44999998807907104 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8037887 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:dark_forest" + }, + "id": { + "type": "int", + "value": 29 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "forest" + }, + "temperature": { + "type": "float", + "value": 0.699999988079071 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "grass_color_modifier": { + "type": "string", + "value": "dark_forest" + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7972607 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:snowy_taiga" + }, + "id": { + "type": "int", + "value": 30 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "taiga" + }, + "temperature": { + "type": "float", + "value": -0.5 + }, + "downfall": { + "type": "float", + "value": 0.4000000059604645 + }, + "depth": { + "type": "float", + "value": 0.20000000298023224 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4020182 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8625919 + } + } + }, + "precipitation": { + "type": "string", + "value": "snow" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:snowy_taiga_hills" + }, + "id": { + "type": "int", + "value": 31 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "taiga" + }, + "temperature": { + "type": "float", + "value": -0.5 + }, + "downfall": { + "type": "float", + "value": 0.4000000059604645 + }, + "depth": { + "type": "float", + "value": 0.44999998807907104 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4020182 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8625919 + } + } + }, + "precipitation": { + "type": "string", + "value": "snow" + }, + "scale": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:giant_tree_taiga" + }, + "id": { + "type": "int", + "value": 32 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "taiga" + }, + "temperature": { + "type": "float", + "value": 0.30000001192092896 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + }, + "depth": { + "type": "float", + "value": 0.20000000298023224 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8168447 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:giant_tree_taiga_hills" + }, + "id": { + "type": "int", + "value": 33 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "taiga" + }, + "temperature": { + "type": "float", + "value": 0.30000001192092896 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + }, + "depth": { + "type": "float", + "value": 0.44999998807907104 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8168447 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:wooded_mountains" + }, + "id": { + "type": "int", + "value": 34 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "extreme_hills" + }, + "temperature": { + "type": "float", + "value": 0.20000000298023224 + }, + "downfall": { + "type": "float", + "value": 0.30000001192092896 + }, + "depth": { + "type": "float", + "value": 1 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8233727 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:savanna" + }, + "id": { + "type": "int", + "value": 35 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "savanna" + }, + "temperature": { + "type": "float", + "value": 1.2000000476837158 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 0.125 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7711487 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.05000000074505806 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:savanna_plateau" + }, + "id": { + "type": "int", + "value": 36 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "savanna" + }, + "temperature": { + "type": "float", + "value": 1 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 1.5 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7776511 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.02500000037252903 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:badlands" + }, + "id": { + "type": "int", + "value": 37 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "mesa" + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "grass_color": { + "type": "int", + "value": 9470285 + }, + "foliage_color": { + "type": "int", + "value": 10387789 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:wooded_badlands_plateau" + }, + "id": { + "type": "int", + "value": 38 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "mesa" + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 1.5 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "grass_color": { + "type": "int", + "value": 9470285 + }, + "foliage_color": { + "type": "int", + "value": 10387789 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.02500000037252903 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:badlands_plateau" + }, + "id": { + "type": "int", + "value": 39 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "mesa" + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 1.5 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "grass_color": { + "type": "int", + "value": 9470285 + }, + "foliage_color": { + "type": "int", + "value": 10387789 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.02500000037252903 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:small_end_islands" + }, + "id": { + "type": "int", + "value": 40 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "the_end" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 10518688 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 0 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:end_midlands" + }, + "id": { + "type": "int", + "value": 41 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "the_end" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 10518688 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 0 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:end_highlands" + }, + "id": { + "type": "int", + "value": 42 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "the_end" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 10518688 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 0 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:end_barrens" + }, + "id": { + "type": "int", + "value": 43 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "the_end" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 10518688 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 0 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:warm_ocean" + }, + "id": { + "type": "int", + "value": 44 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "ocean" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": -1 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 270131 + }, + "water_color": { + "type": "int", + "value": 4445678 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8103167 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.10000000149011612 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:lukewarm_ocean" + }, + "id": { + "type": "int", + "value": 45 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "ocean" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": -1 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 267827 + }, + "water_color": { + "type": "int", + "value": 4566514 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8103167 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.10000000149011612 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:cold_ocean" + }, + "id": { + "type": "int", + "value": 46 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "ocean" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": -1 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4020182 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8103167 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.10000000149011612 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:deep_warm_ocean" + }, + "id": { + "type": "int", + "value": 47 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "ocean" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": -1.7999999523162842 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 270131 + }, + "water_color": { + "type": "int", + "value": 4445678 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8103167 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.10000000149011612 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:deep_lukewarm_ocean" + }, + "id": { + "type": "int", + "value": 48 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "ocean" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": -1.7999999523162842 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 267827 + }, + "water_color": { + "type": "int", + "value": 4566514 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8103167 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.10000000149011612 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:deep_cold_ocean" + }, + "id": { + "type": "int", + "value": 49 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "ocean" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": -1.7999999523162842 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4020182 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8103167 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.10000000149011612 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:deep_frozen_ocean" + }, + "id": { + "type": "int", + "value": 50 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "ocean" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "temperature_modifier": { + "type": "string", + "value": "frozen" + }, + "depth": { + "type": "float", + "value": -1.7999999523162842 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 3750089 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8103167 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.10000000149011612 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:the_void" + }, + "id": { + "type": "int", + "value": 127 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "none" + }, + "temperature": { + "type": "float", + "value": 0.5 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8103167 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:sunflower_plains" + }, + "id": { + "type": "int", + "value": 129 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "plains" + }, + "temperature": { + "type": "float", + "value": 0.800000011920929 + }, + "downfall": { + "type": "float", + "value": 0.4000000059604645 + }, + "depth": { + "type": "float", + "value": 0.125 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7907327 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.05000000074505806 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:desert_lakes" + }, + "id": { + "type": "int", + "value": 130 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "desert" + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 0.22499999403953552 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.25 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:gravelly_mountains" + }, + "id": { + "type": "int", + "value": 131 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "extreme_hills" + }, + "temperature": { + "type": "float", + "value": 0.20000000298023224 + }, + "downfall": { + "type": "float", + "value": 0.30000001192092896 + }, + "depth": { + "type": "float", + "value": 1 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8233727 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:flower_forest" + }, + "id": { + "type": "int", + "value": 132 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "forest" + }, + "temperature": { + "type": "float", + "value": 0.699999988079071 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7972607 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.4000000059604645 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:taiga_mountains" + }, + "id": { + "type": "int", + "value": 133 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "taiga" + }, + "temperature": { + "type": "float", + "value": 0.25 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + }, + "depth": { + "type": "float", + "value": 0.30000001192092896 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8233983 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.4000000059604645 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:swamp_hills" + }, + "id": { + "type": "int", + "value": 134 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "swamp" + }, + "temperature": { + "type": "float", + "value": 0.800000011920929 + }, + "downfall": { + "type": "float", + "value": 0.8999999761581421 + }, + "depth": { + "type": "float", + "value": -0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 2302743 + }, + "water_color": { + "type": "int", + "value": 6388580 + }, + "foliage_color": { + "type": "int", + "value": 6975545 + }, + "grass_color_modifier": { + "type": "string", + "value": "swamp" + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7907327 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:ice_spikes" + }, + "id": { + "type": "int", + "value": 140 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "icy" + }, + "temperature": { + "type": "float", + "value": 0 + }, + "downfall": { + "type": "float", + "value": 0.5 + }, + "depth": { + "type": "float", + "value": 0.42500001192092896 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8364543 + } + } + }, + "precipitation": { + "type": "string", + "value": "snow" + }, + "scale": { + "type": "float", + "value": 0.45000001788139343 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:modified_jungle" + }, + "id": { + "type": "int", + "value": 149 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "jungle" + }, + "temperature": { + "type": "float", + "value": 0.949999988079071 + }, + "downfall": { + "type": "float", + "value": 0.8999999761581421 + }, + "depth": { + "type": "float", + "value": 0.20000000298023224 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7842047 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.4000000059604645 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:modified_jungle_edge" + }, + "id": { + "type": "int", + "value": 151 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "jungle" + }, + "temperature": { + "type": "float", + "value": 0.949999988079071 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + }, + "depth": { + "type": "float", + "value": 0.20000000298023224 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7842047 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.4000000059604645 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:tall_birch_forest" + }, + "id": { + "type": "int", + "value": 155 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "forest" + }, + "temperature": { + "type": "float", + "value": 0.6000000238418579 + }, + "downfall": { + "type": "float", + "value": 0.6000000238418579 + }, + "depth": { + "type": "float", + "value": 0.20000000298023224 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8037887 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.4000000059604645 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:tall_birch_hills" + }, + "id": { + "type": "int", + "value": 156 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "forest" + }, + "temperature": { + "type": "float", + "value": 0.6000000238418579 + }, + "downfall": { + "type": "float", + "value": 0.6000000238418579 + }, + "depth": { + "type": "float", + "value": 0.550000011920929 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8037887 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:dark_forest_hills" + }, + "id": { + "type": "int", + "value": 157 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "forest" + }, + "temperature": { + "type": "float", + "value": 0.699999988079071 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + }, + "depth": { + "type": "float", + "value": 0.20000000298023224 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "grass_color_modifier": { + "type": "string", + "value": "dark_forest" + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7972607 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.4000000059604645 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:snowy_taiga_mountains" + }, + "id": { + "type": "int", + "value": 158 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "taiga" + }, + "temperature": { + "type": "float", + "value": -0.5 + }, + "downfall": { + "type": "float", + "value": 0.4000000059604645 + }, + "depth": { + "type": "float", + "value": 0.30000001192092896 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4020182 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8625919 + } + } + }, + "precipitation": { + "type": "string", + "value": "snow" + }, + "scale": { + "type": "float", + "value": 0.4000000059604645 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:giant_spruce_taiga" + }, + "id": { + "type": "int", + "value": 160 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "taiga" + }, + "temperature": { + "type": "float", + "value": 0.25 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + }, + "depth": { + "type": "float", + "value": 0.20000000298023224 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8233983 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:giant_spruce_taiga_hills" + }, + "id": { + "type": "int", + "value": 161 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "taiga" + }, + "temperature": { + "type": "float", + "value": 0.25 + }, + "downfall": { + "type": "float", + "value": 0.800000011920929 + }, + "depth": { + "type": "float", + "value": 0.20000000298023224 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8233983 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:modified_gravelly_mountains" + }, + "id": { + "type": "int", + "value": 162 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "extreme_hills" + }, + "temperature": { + "type": "float", + "value": 0.20000000298023224 + }, + "downfall": { + "type": "float", + "value": 0.30000001192092896 + }, + "depth": { + "type": "float", + "value": 1 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 8233727 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.5 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:shattered_savanna" + }, + "id": { + "type": "int", + "value": 163 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "savanna" + }, + "temperature": { + "type": "float", + "value": 1.100000023841858 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 0.36250001192092896 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7776767 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 1.225000023841858 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:shattered_savanna_plateau" + }, + "id": { + "type": "int", + "value": 164 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "savanna" + }, + "temperature": { + "type": "float", + "value": 1 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 1.0499999523162842 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7776511 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 1.2125000953674316 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:eroded_badlands" + }, + "id": { + "type": "int", + "value": 165 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "mesa" + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "grass_color": { + "type": "int", + "value": 9470285 + }, + "foliage_color": { + "type": "int", + "value": 10387789 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:modified_wooded_badlands_plateau" + }, + "id": { + "type": "int", + "value": 166 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "mesa" + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 0.44999998807907104 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "grass_color": { + "type": "int", + "value": 9470285 + }, + "foliage_color": { + "type": "int", + "value": 10387789 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:modified_badlands_plateau" + }, + "id": { + "type": "int", + "value": 167 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "mesa" + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 0.44999998807907104 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "grass_color": { + "type": "int", + "value": 9470285 + }, + "foliage_color": { + "type": "int", + "value": 10387789 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:bamboo_jungle" + }, + "id": { + "type": "int", + "value": 168 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "jungle" + }, + "temperature": { + "type": "float", + "value": 0.949999988079071 + }, + "downfall": { + "type": "float", + "value": 0.8999999761581421 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7842047 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:bamboo_jungle_hills" + }, + "id": { + "type": "int", + "value": 169 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "jungle" + }, + "temperature": { + "type": "float", + "value": 0.949999988079071 + }, + "downfall": { + "type": "float", + "value": 0.8999999761581421 + }, + "depth": { + "type": "float", + "value": 0.44999998807907104 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "fog_color": { + "type": "int", + "value": 12638463 + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.cave" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7842047 + } + } + }, + "precipitation": { + "type": "string", + "value": "rain" + }, + "scale": { + "type": "float", + "value": 0.30000001192092896 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:soul_sand_valley" + }, + "id": { + "type": "int", + "value": 170 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "nether" + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "music": { + "type": "compound", + "value": { + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.nether.soul_sand_valley" + }, + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "additions_sound": { + "type": "compound", + "value": { + "sound": { + "type": "string", + "value": "minecraft:ambient.soul_sand_valley.additions" + }, + "tick_chance": { + "type": "double", + "value": 0.0111 + } + } + }, + "fog_color": { + "type": "int", + "value": 1787717 + }, + "particle": { + "type": "compound", + "value": { + "options": { + "type": "compound", + "value": { + "type": { + "type": "string", + "value": "minecraft:ash" + } + } + }, + "probability": { + "type": "float", + "value": 0.0062500000931322575 + } + } + }, + "ambient_sound": { + "type": "string", + "value": "minecraft:ambient.soul_sand_valley.loop" + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.soul_sand_valley.mood" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:crimson_forest" + }, + "id": { + "type": "int", + "value": 171 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "nether" + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "music": { + "type": "compound", + "value": { + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.nether.crimson_forest" + }, + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "additions_sound": { + "type": "compound", + "value": { + "sound": { + "type": "string", + "value": "minecraft:ambient.crimson_forest.additions" + }, + "tick_chance": { + "type": "double", + "value": 0.0111 + } + } + }, + "fog_color": { + "type": "int", + "value": 3343107 + }, + "particle": { + "type": "compound", + "value": { + "options": { + "type": "compound", + "value": { + "type": { + "type": "string", + "value": "minecraft:crimson_spore" + } + } + }, + "probability": { + "type": "float", + "value": 0.02500000037252903 + } + } + }, + "ambient_sound": { + "type": "string", + "value": "minecraft:ambient.crimson_forest.loop" + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.crimson_forest.mood" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:warped_forest" + }, + "id": { + "type": "int", + "value": 172 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "nether" + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 329011 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "music": { + "type": "compound", + "value": { + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.nether.warped_forest" + }, + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "additions_sound": { + "type": "compound", + "value": { + "sound": { + "type": "string", + "value": "minecraft:ambient.warped_forest.additions" + }, + "tick_chance": { + "type": "double", + "value": 0.0111 + } + } + }, + "fog_color": { + "type": "int", + "value": 1705242 + }, + "particle": { + "type": "compound", + "value": { + "options": { + "type": "compound", + "value": { + "type": { + "type": "string", + "value": "minecraft:warped_spore" + } + } + }, + "probability": { + "type": "float", + "value": 0.014279999770224094 + } + } + }, + "ambient_sound": { + "type": "string", + "value": "minecraft:ambient.warped_forest.loop" + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.warped_forest.mood" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + }, + { + "name": { + "type": "string", + "value": "minecraft:basalt_deltas" + }, + "id": { + "type": "int", + "value": 173 + }, + "element": { + "type": "compound", + "value": { + "category": { + "type": "string", + "value": "nether" + }, + "temperature": { + "type": "float", + "value": 2 + }, + "downfall": { + "type": "float", + "value": 0 + }, + "depth": { + "type": "float", + "value": 0.10000000149011612 + }, + "effects": { + "type": "compound", + "value": { + "water_fog_color": { + "type": "int", + "value": 4341314 + }, + "water_color": { + "type": "int", + "value": 4159204 + }, + "music": { + "type": "compound", + "value": { + "max_delay": { + "type": "int", + "value": 24000 + }, + "sound": { + "type": "string", + "value": "minecraft:music.nether.basalt_deltas" + }, + "replace_current_music": { + "type": "byte", + "value": 0 + }, + "min_delay": { + "type": "int", + "value": 12000 + } + } + }, + "additions_sound": { + "type": "compound", + "value": { + "sound": { + "type": "string", + "value": "minecraft:ambient.basalt_deltas.additions" + }, + "tick_chance": { + "type": "double", + "value": 0.0111 + } + } + }, + "fog_color": { + "type": "int", + "value": 6840176 + }, + "particle": { + "type": "compound", + "value": { + "options": { + "type": "compound", + "value": { + "type": { + "type": "string", + "value": "minecraft:white_ash" + } + } + }, + "probability": { + "type": "float", + "value": 0.1180933341383934 + } + } + }, + "ambient_sound": { + "type": "string", + "value": "minecraft:ambient.basalt_deltas.loop" + }, + "mood_sound": { + "type": "compound", + "value": { + "offset": { + "type": "double", + "value": 2 + }, + "sound": { + "type": "string", + "value": "minecraft:ambient.basalt_deltas.mood" + }, + "block_search_extent": { + "type": "int", + "value": 8 + }, + "tick_delay": { + "type": "int", + "value": 6000 + } + } + }, + "sky_color": { + "type": "int", + "value": 7254527 + } + } + }, + "precipitation": { + "type": "string", + "value": "none" + }, + "scale": { + "type": "float", + "value": 0.20000000298023224 + } + } + } + } + ] + } + } + } + } + } + }, + "dimension": { + "type": "compound", + "name": "", + "value": { + "bed_works": { + "type": "byte", + "value": 1 + }, + "has_ceiling": { + "type": "byte", + "value": 0 + }, + "coordinate_scale": { + "type": "double", + "value": 1 + }, + "piglin_safe": { + "type": "byte", + "value": 0 + }, + "has_skylight": { + "type": "byte", + "value": 1 + }, + "ultrawarm": { + "type": "byte", + "value": 0 + }, + "infiniburn": { + "type": "string", + "value": "minecraft:infiniburn_overworld" + }, + "effects": { + "type": "string", + "value": "minecraft:overworld" + }, + "has_raids": { + "type": "byte", + "value": 1 + }, + "ambient_light": { + "type": "float", + "value": 0 + }, + "logical_height": { + "type": "int", + "value": 256 + }, + "natural": { + "type": "byte", + "value": 1 + }, + "respawn_anchor_works": { + "type": "byte", + "value": 0 + } + } + }, + "worldName": "minecraft:overworld", + "hashedSeed": [ + -1290133862, + -1967592212 + ], + "maxPlayers": 20, + "viewDistance": 10, + "reducedDebugInfo": false, + "enableRespawnScreen": true, + "isDebug": false, + "isFlat": false +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/materials.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/materials.json new file mode 100644 index 00000000..71996955 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/materials.json @@ -0,0 +1,61 @@ +{ + "rock": { + "600": 6, + "585": 2, + "590": 4, + "605": 8, + "595": 12 + }, + "wood": { + "601": 6, + "586": 2, + "591": 4, + "606": 8, + "596": 12 + }, + "plant": { + "601": 6, + "598": 1.5, + "583": 1.5, + "586": 2, + "588": 1.5, + "591": 4, + "603": 1.5, + "606": 8, + "593": 1.5, + "596": 12 + }, + "melon": { + "598": 1.5, + "583": 1.5, + "588": 1.5, + "603": 1.5, + "593": 1.5 + }, + "leaves": { + "598": 1.5, + "583": 1.5, + "588": 1.5, + "603": 1.5, + "593": 1.5, + "734": 6 + }, + "dirt": { + "599": 6, + "584": 2, + "589": 4, + "604": 8, + "594": 12 + }, + "web": { + "598": 15, + "583": 15, + "588": 15, + "603": 15, + "593": 15, + "734": 15 + }, + "wool": { + "734": 4.8 + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/protocol.json new file mode 100644 index 00000000..67da8b74 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/protocol.json @@ -0,0 +1,5121 @@ +{ + "types": { + "varint": "native", + "optvarint": "varint", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "topBitSetTerminatedArray": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "14": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "23": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "34": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle", + "16": [ + "container",[ + { + "name": "villagerType", + "type": "varint" + }, + { + "name": "villagerProfession", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ], + "17": "optvarint", + "18": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "difficultyLocked", + "type": "bool" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + }, + { + "name": "sender", + "type": "UUID" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkCoordinates", + "type": ["bitfield", + [ + { + "name": "x", + "size": 22, + "signed": true + }, + { + "name": "z", + "size": 22, + "signed": true + }, + { + "name": "y", + "size": 20, + "signed": false + } + ] + ] + }, + { + "name": "notTrustEdges", + "type": "bool" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "inventoryType", + "type": "varint" + }, + { + "name": "windowTitle", + "type": "string" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_open_horse_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "nbSlots", + "type": "varint" + }, + { + "name": "entityId", + "type": "i32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "heightmaps", + "type": "nbt" + }, + { + "name": "biomes", + "type": [ + "switch", + { + "compareTo": "groundUp", + "fields": { + "false": "void", + "true": ["array", { + "countType": "varint", + "type": "varint" + }] + } + } + ] + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_update_light": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + }, + { + "name": "trustEdges", + "type": "bool" + }, + { + "name": "skyLightMask", + "type": "varint" + }, + { + "name": "blockLightMask", + "type": "varint" + }, + { + "name": "emptySkyLightMask", + "type": "varint" + }, + { + "name": "emptyBlockLightMask", + "type": "varint" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "isHardcore", + "type": "bool" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "previousGameMode", + "type": "u8" + }, + { + "name": "worldNames", + "type": ["array", { + "countType": "varint", + "type": "string" + }] + }, + { + "name": "dimensionCodec", + "type": "nbt" + }, + { + "name": "dimension", + "type": "nbt" + }, + { + "name": "worldName", + "type": "string" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "maxPlayers", + "type": "varint" + }, + { + "name": "viewDistance", + "type": "varint" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + }, + { + "name": "enableRespawnScreen", + "type": "bool" + }, + { + "name": "isDebug", + "type": "bool" + }, + { + "name": "isFlat", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_trade_list": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "trades", + "type": [ + "array", + { + "countType": "u8", + "type": ["container", [ + { + "name": "inputItem1", + "type": "slot" + }, + { + "name": "outputItem", + "type": "slot" + }, + { + "name": "inputItem2", + "type": ["option", "slot"] + }, + { + "name": "tradeDisabled", + "type": "bool" + }, + { + "name": "nbTradeUses", + "type": "i32" + }, + { + "name": "maximumNbTradeUses", + "type": "i32" + }, + { + "name": "xp", + "type": "i32" + }, + { + "name": "specialPrice", + "type": "i32" + }, + { + "name": "priceMultiplier", + "type": "f32" + }, + { + "name": "demand", + "type": "i32" + } + ]] + } + ] + }, + { + "name": "villagerLevel", + "type": "varint" + }, + { + "name": "experience", + "type": "varint" + }, + { + "name": "isRegularVillager", + "type": "bool" + }, + { + "name": "canRestock", + "type": "bool" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_book": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name": "blastFurnaceOpen", + "type": "bool" + }, + { + "name": "filteringBlastFurnace", + "type": "bool" + }, + { + "name": "smokerBookOpen", + "type": "bool" + }, + { + "name": "filteringSmoker", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "nbt" + }, + { + "name": "worldName", + "type": "string" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "previousGamemode", + "type": "u8" + }, + { + "name": "isDebug", + "type": "bool" + }, + { + "name": "isFlat", + "type": "bool" + }, + { + "name": "copyMetadata", + "type": "bool" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_update_view_position": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + } + ] + ], + "packet_update_view_distance": [ + "container", + [ + { + "name": "viewDistance", + "type": "varint" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "equipments", + "type": ["topBitSetTerminatedArray", { + "type": ["container", [ + { + "name": "slot", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ]] + }] + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "type", + "type": "string" + }, + { + "name": "recipeId", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "minecraft:crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_special_armordye": "void", + "minecraft:crafting_special_bookcloning": "void", + "minecraft:crafting_special_mapcloning": "void", + "minecraft:crafting_special_mapextending": "void", + "minecraft:crafting_special_firework_rocket": "void", + "minecraft:crafting_special_firework_star": "void", + "minecraft:crafting_special_firework_star_fade": "void", + "minecraft:crafting_special_repairitem": "void", + "minecraft:crafting_special_tippedarrow": "void", + "minecraft:crafting_special_bannerduplicate": "void", + "minecraft:crafting_special_banneraddpattern": "void", + "minecraft:crafting_special_shielddecoration": "void", + "minecraft:crafting_special_shulkerboxcoloring": "void", + "minecraft:crafting_special_suspiciousstew": "void", + "minecraft:smelting": "minecraft_smelting_format", + "minecraft:blasting": "minecraft_smelting_format", + "minecraft:smoking": "minecraft_smelting_format", + "minecraft:campfire_cooking": "minecraft_smelting_format", + "minecraft:stonecutting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:smithing": ["container",[ + { + "name": "base", + "type": "ingredient" + }, + { + "name": "addition", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "minecraft_smelting_format": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + }, + { + "name": "entityTags", + "type": "tags" + } + ] + ], + "packet_acknowledge_player_digging": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "block", + "type": "varint" + }, + { + "name": "status", + "type": "varint" + }, + { + "name": "successful", + "type": "bool" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_living", + "0x03": "spawn_entity_painting", + "0x04": "named_entity_spawn", + "0x05": "animation", + "0x06": "statistics", + "0x07": "acknowledge_player_digging", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "chat", + "0x0f": "tab_complete", + "0x10": "declare_commands", + "0x11": "transaction", + "0x12": "close_window", + "0x13": "window_items", + "0x14": "craft_progress_bar", + "0x15": "set_slot", + "0x16": "set_cooldown", + "0x17": "custom_payload", + "0x18": "named_sound_effect", + "0x19": "kick_disconnect", + "0x1a": "entity_status", + "0x1b": "explosion", + "0x1c": "unload_chunk", + "0x1d": "game_state_change", + "0x1e": "open_horse_window", + "0x1f": "keep_alive", + "0x20": "map_chunk", + "0x21": "world_event", + "0x22": "world_particles", + "0x23": "update_light", + "0x24": "login", + "0x25": "map", + "0x26": "trade_list", + "0x27": "rel_entity_move", + "0x28": "entity_move_look", + "0x29": "entity_look", + "0x2a": "entity", + "0x2b": "vehicle_move", + "0x2c": "open_book", + "0x2d": "open_window", + "0x2e": "open_sign_entity", + "0x2f": "craft_recipe_response", + "0x30": "abilities", + "0x31": "combat_event", + "0x32": "player_info", + "0x33": "face_player", + "0x34": "position", + "0x35": "unlock_recipes", + "0x36": "entity_destroy", + "0x37": "remove_entity_effect", + "0x38": "resource_pack_send", + "0x39": "respawn", + "0x3a": "entity_head_rotation", + "0x3b": "multi_block_change", + "0x3c": "select_advancement_tab", + "0x3d": "world_border", + "0x3e": "camera", + "0x3f": "held_item_slot", + "0x40": "update_view_position", + "0x41": "update_view_distance", + "0x42": "spawn_position", + "0x43": "scoreboard_display_objective", + "0x44": "entity_metadata", + "0x45": "attach_entity", + "0x46": "entity_velocity", + "0x47": "entity_equipment", + "0x48": "experience", + "0x49": "update_health", + "0x4a": "scoreboard_objective", + "0x4b": "set_passengers", + "0x4c": "teams", + "0x4d": "scoreboard_score", + "0x4e": "update_time", + "0x4f": "title", + "0x50": "entity_sound_effect", + "0x51": "sound_effect", + "0x52": "stop_sound", + "0x53": "playerlist_header", + "0x54": "nbt_query_response", + "0x55": "collect", + "0x56": "entity_teleport", + "0x57": "advancements", + "0x58": "entity_update_attributes", + "0x59": "entity_effect", + "0x5a": "declare_recipes", + "0x5b": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "open_horse_window": "packet_open_horse_window", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "update_light": "packet_update_light", + "login": "packet_login", + "map": "packet_map", + "trade_list": "packet_trade_list", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_book": "packet_open_book", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "update_view_position": "packet_update_view_position", + "update_view_distance": "packet_update_view_distance", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "entity_sound_effect": "packet_entity_sound_effect", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags", + "acknowledge_player_digging": "packet_acknowledge_player_digging" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "newDifficulty", + "type": "u8" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "sneaking", + "type": "bool" + } + ] + ], + "packet_generate_structure": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "levels", + "type": "varint" + }, + { + "name": "keepJigsaws", + "type": "bool" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_lock_difficulty": [ + "container", + [ + { + "name": "locked", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_displayed_recipe": [ + "container", + [ + { + "name": "recipeId", + "type": "string" + } + ] + ], + "packet_recipe_book": [ + "container", + [ + { + "name": "bookId", + "type": "varint" + }, + { + "name": "bookOpen", + "type": "bool" + }, + { + "name": "filterActive", + "type": "bool" + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_jigsaw_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "target", + "type": "string" + }, + { + "name": "pool", + "type": "string" + }, + { + "name": "finalState", + "type": "string" + }, + { + "name": "jointType", + "type": "string" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + }, + { + "name": "insideBlock", + "type": "bool" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "set_difficulty", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "tab_complete", + "0x07": "transaction", + "0x08": "enchant_item", + "0x09": "window_click", + "0x0a": "close_window", + "0x0b": "custom_payload", + "0x0c": "edit_book", + "0x0d": "query_entity_nbt", + "0x0e": "use_entity", + "0x0f": "generate_structure", + "0x10": "keep_alive", + "0x11": "lock_difficulty", + "0x12": "position", + "0x13": "position_look", + "0x14": "look", + "0x15": "flying", + "0x16": "vehicle_move", + "0x17": "steer_boat", + "0x18": "pick_item", + "0x19": "craft_recipe_request", + "0x1a": "abilities", + "0x1b": "block_dig", + "0x1c": "entity_action", + "0x1d": "steer_vehicle", + "0x1e": "displayed_recipe", + "0x1f": "recipe_book", + "0x20": "name_item", + "0x21": "resource_pack_receive", + "0x22": "advancement_tab", + "0x23": "select_trade", + "0x24": "set_beacon_effect", + "0x25": "held_item_slot", + "0x26": "update_command_block", + "0x27": "update_command_block_minecart", + "0x28": "set_creative_slot", + "0x29": "update_jigsaw_block", + "0x2a": "update_structure_block", + "0x2b": "update_sign", + "0x2c": "arm_animation", + "0x2d": "spectate", + "0x2e": "block_place", + "0x2f": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "set_difficulty": "packet_set_difficulty", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "generate_structure": "packet_generate_structure", + "keep_alive": "packet_keep_alive", + "lock_difficulty": "packet_lock_difficulty", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "displayed_recipe": "packet_displayed_recipe", + "recipe_book": "packet_recipe_book", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_jigsaw_block": "packet_update_jigsaw_block", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/recipes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/recipes.json new file mode 100644 index 00000000..86d7b914 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/recipes.json @@ -0,0 +1,23517 @@ +{ + "2": [ + { + "ingredients": [ + 4, + 850 + ], + "result": { + "count": 1, + "id": 2 + } + } + ], + "3": [ + { + "inShape": [ + [ + 2, + 2 + ], + [ + 2, + 2 + ] + ], + "result": { + "count": 4, + "id": 3 + } + } + ], + "4": [ + { + "inShape": [ + [ + 850, + 14 + ], + [ + 14, + 850 + ] + ], + "result": { + "count": 2, + "id": 4 + } + } + ], + "5": [ + { + "inShape": [ + [ + 4, + 4 + ], + [ + 4, + 4 + ] + ], + "result": { + "count": 4, + "id": 5 + } + } + ], + "6": [ + { + "ingredients": [ + 4, + 14 + ], + "result": { + "count": 2, + "id": 6 + } + } + ], + "7": [ + { + "inShape": [ + [ + 6, + 6 + ], + [ + 6, + 6 + ] + ], + "result": { + "count": 4, + "id": 7 + } + } + ], + "10": [ + { + "inShape": [ + [ + 32, + 9 + ], + [ + 9, + 32 + ] + ], + "result": { + "count": 4, + "id": 10 + } + } + ], + "15": [ + { + "ingredients": [ + 37 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 61 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 45 + ], + "result": { + "count": 4, + "id": 15 + } + }, + { + "ingredients": [ + 53 + ], + "result": { + "count": 4, + "id": 15 + } + } + ], + "16": [ + { + "ingredients": [ + 38 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 62 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 46 + ], + "result": { + "count": 4, + "id": 16 + } + }, + { + "ingredients": [ + 54 + ], + "result": { + "count": 4, + "id": 16 + } + } + ], + "17": [ + { + "ingredients": [ + 39 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 63 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 47 + ], + "result": { + "count": 4, + "id": 17 + } + }, + { + "ingredients": [ + 55 + ], + "result": { + "count": 4, + "id": 17 + } + } + ], + "18": [ + { + "ingredients": [ + 40 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 64 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 48 + ], + "result": { + "count": 4, + "id": 18 + } + }, + { + "ingredients": [ + 56 + ], + "result": { + "count": 4, + "id": 18 + } + } + ], + "19": [ + { + "ingredients": [ + 41 + ], + "result": { + "count": 4, + "id": 19 + } + }, + { + "ingredients": [ + 65 + ], + "result": { + "count": 4, + "id": 19 + } + }, + { + "ingredients": [ + 49 + ], + "result": { + "count": 4, + "id": 19 + } + }, + { + "ingredients": [ + 57 + ], + "result": { + "count": 4, + "id": 19 + } + } + ], + "20": [ + { + "ingredients": [ + 42 + ], + "result": { + "count": 4, + "id": 20 + } + }, + { + "ingredients": [ + 66 + ], + "result": { + "count": 4, + "id": 20 + } + }, + { + "ingredients": [ + 50 + ], + "result": { + "count": 4, + "id": 20 + } + }, + { + "ingredients": [ + 58 + ], + "result": { + "count": 4, + "id": 20 + } + } + ], + "21": [ + { + "ingredients": [ + 43 + ], + "result": { + "count": 4, + "id": 21 + } + }, + { + "ingredients": [ + 51 + ], + "result": { + "count": 4, + "id": 21 + } + }, + { + "ingredients": [ + 67 + ], + "result": { + "count": 4, + "id": 21 + } + }, + { + "ingredients": [ + 59 + ], + "result": { + "count": 4, + "id": 21 + } + } + ], + "22": [ + { + "ingredients": [ + 44 + ], + "result": { + "count": 4, + "id": 22 + } + }, + { + "ingredients": [ + 52 + ], + "result": { + "count": 4, + "id": 22 + } + }, + { + "ingredients": [ + 68 + ], + "result": { + "count": 4, + "id": 22 + } + }, + { + "ingredients": [ + 60 + ], + "result": { + "count": 4, + "id": 22 + } + } + ], + "53": [ + { + "inShape": [ + [ + 45, + 45 + ], + [ + 45, + 45 + ] + ], + "result": { + "count": 3, + "id": 53 + } + } + ], + "54": [ + { + "inShape": [ + [ + 46, + 46 + ], + [ + 46, + 46 + ] + ], + "result": { + "count": 3, + "id": 54 + } + } + ], + "55": [ + { + "inShape": [ + [ + 47, + 47 + ], + [ + 47, + 47 + ] + ], + "result": { + "count": 3, + "id": 55 + } + } + ], + "56": [ + { + "inShape": [ + [ + 48, + 48 + ], + [ + 48, + 48 + ] + ], + "result": { + "count": 3, + "id": 56 + } + } + ], + "57": [ + { + "inShape": [ + [ + 49, + 49 + ], + [ + 49, + 49 + ] + ], + "result": { + "count": 3, + "id": 57 + } + } + ], + "58": [ + { + "inShape": [ + [ + 50, + 50 + ], + [ + 50, + 50 + ] + ], + "result": { + "count": 3, + "id": 58 + } + } + ], + "59": [ + { + "inShape": [ + [ + 51, + 51 + ], + [ + 51, + 51 + ] + ], + "result": { + "count": 3, + "id": 59 + } + } + ], + "60": [ + { + "inShape": [ + [ + 52, + 52 + ], + [ + 52, + 52 + ] + ], + "result": { + "count": 3, + "id": 60 + } + } + ], + "61": [ + { + "inShape": [ + [ + 37, + 37 + ], + [ + 37, + 37 + ] + ], + "result": { + "count": 3, + "id": 61 + } + } + ], + "62": [ + { + "inShape": [ + [ + 38, + 38 + ], + [ + 38, + 38 + ] + ], + "result": { + "count": 3, + "id": 62 + } + } + ], + "63": [ + { + "inShape": [ + [ + 39, + 39 + ], + [ + 39, + 39 + ] + ], + "result": { + "count": 3, + "id": 63 + } + } + ], + "64": [ + { + "inShape": [ + [ + 40, + 40 + ], + [ + 40, + 40 + ] + ], + "result": { + "count": 3, + "id": 64 + } + } + ], + "65": [ + { + "inShape": [ + [ + 41, + 41 + ], + [ + 41, + 41 + ] + ], + "result": { + "count": 3, + "id": 65 + } + } + ], + "66": [ + { + "inShape": [ + [ + 42, + 42 + ], + [ + 42, + 42 + ] + ], + "result": { + "count": 3, + "id": 66 + } + } + ], + "67": [ + { + "inShape": [ + [ + 43, + 43 + ], + [ + 43, + 43 + ] + ], + "result": { + "count": 3, + "id": 67 + } + } + ], + "68": [ + { + "inShape": [ + [ + 44, + 44 + ], + [ + 44, + 44 + ] + ], + "result": { + "count": 3, + "id": 68 + } + } + ], + "79": [ + { + "inShape": [ + [ + 695, + 695, + 695 + ], + [ + 695, + 695, + 695 + ], + [ + 695, + 695, + 695 + ] + ], + "result": { + "count": 1, + "id": 79 + } + } + ], + "80": [ + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 574, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 80 + } + } + ], + "81": [ + { + "inShape": [ + [ + 30, + 30 + ], + [ + 30, + 30 + ] + ], + "result": { + "count": 1, + "id": 81 + } + } + ], + "82": [ + { + "inShape": [ + [ + 148 + ], + [ + 148 + ] + ], + "result": { + "count": 1, + "id": 82 + } + } + ], + "83": [ + { + "inShape": [ + [ + 81, + 81 + ], + [ + 81, + 81 + ] + ], + "result": { + "count": 4, + "id": 83 + } + } + ], + "84": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 665, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 84 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 665, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 84 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 665, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 84 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 665, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 84 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 19, + 665, + 19 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 84 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 665, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 84 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 21, + 665, + 21 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 84 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 22, + 665, + 22 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 84 + } + } + ], + "85": [ + { + "inShape": [ + [ + 580, + 665, + 580 + ], + [ + 580, + 613, + 580 + ], + [ + 580, + null, + 580 + ] + ], + "result": { + "count": 6, + "id": 85 + } + } + ], + "86": [ + { + "inShape": [ + [ + 579, + 665, + 579 + ], + [ + 579, + 190, + 579 + ], + [ + 579, + null, + 579 + ] + ], + "result": { + "count": 6, + "id": 86 + } + } + ], + "87": [ + { + "inShape": [ + [ + 94 + ], + [ + 679 + ] + ], + "result": { + "count": 1, + "id": 87 + } + } + ], + "94": [ + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 579, + 14 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 94 + } + }, + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 579, + 14 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 94 + } + }, + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 579, + 14 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 94 + } + }, + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 579, + 14 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 94 + } + }, + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 579, + 14 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 94 + } + }, + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 579, + 14 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 94 + } + }, + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 579, + 14 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 94 + } + }, + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + 579, + 14 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 94 + } + } + ], + "95": [ + { + "inShape": [ + [ + 616, + 616 + ], + [ + 616, + 616 + ] + ], + "result": { + "count": 1, + "id": 95 + } + } + ], + "96": [ + { + "ingredients": [ + 697, + 95 + ], + "result": { + "count": 1, + "id": 96 + } + } + ], + "97": [ + { + "ingredients": [ + 698, + 95 + ], + "result": { + "count": 1, + "id": 97 + } + } + ], + "98": [ + { + "ingredients": [ + 699, + 95 + ], + "result": { + "count": 1, + "id": 98 + } + } + ], + "99": [ + { + "ingredients": [ + 700, + 95 + ], + "result": { + "count": 1, + "id": 99 + } + } + ], + "100": [ + { + "ingredients": [ + 701, + 95 + ], + "result": { + "count": 1, + "id": 100 + } + } + ], + "101": [ + { + "ingredients": [ + 702, + 95 + ], + "result": { + "count": 1, + "id": 101 + } + } + ], + "102": [ + { + "ingredients": [ + 703, + 95 + ], + "result": { + "count": 1, + "id": 102 + } + } + ], + "103": [ + { + "ingredients": [ + 704, + 95 + ], + "result": { + "count": 1, + "id": 103 + } + } + ], + "104": [ + { + "ingredients": [ + 705, + 95 + ], + "result": { + "count": 1, + "id": 104 + } + } + ], + "105": [ + { + "ingredients": [ + 706, + 95 + ], + "result": { + "count": 1, + "id": 105 + } + } + ], + "106": [ + { + "ingredients": [ + 707, + 95 + ], + "result": { + "count": 1, + "id": 106 + } + } + ], + "107": [ + { + "ingredients": [ + 708, + 95 + ], + "result": { + "count": 1, + "id": 107 + } + } + ], + "108": [ + { + "ingredients": [ + 709, + 95 + ], + "result": { + "count": 1, + "id": 108 + } + } + ], + "109": [ + { + "ingredients": [ + 710, + 95 + ], + "result": { + "count": 1, + "id": 109 + } + } + ], + "110": [ + { + "ingredients": [ + 711, + 95 + ], + "result": { + "count": 1, + "id": 110 + } + } + ], + "136": [ + { + "inShape": [ + [ + 580, + 580, + 580 + ], + [ + 580, + 580, + 580 + ], + [ + 580, + 580, + 580 + ] + ], + "result": { + "count": 1, + "id": 136 + } + } + ], + "137": [ + { + "inShape": [ + [ + 579, + 579, + 579 + ], + [ + 579, + 579, + 579 + ], + [ + 579, + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 137 + } + } + ], + "138": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 6, + "id": 138 + } + } + ], + "139": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 6, + "id": 139 + } + } + ], + "140": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 6, + "id": 140 + } + } + ], + "141": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 6, + "id": 141 + } + } + ], + "142": [ + { + "inShape": [ + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 6, + "id": 142 + } + } + ], + "143": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 6, + "id": 143 + } + } + ], + "144": [ + { + "inShape": [ + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 6, + "id": 144 + } + } + ], + "145": [ + { + "inShape": [ + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 6, + "id": 145 + } + } + ], + "146": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ] + ], + "result": { + "count": 6, + "id": 146 + } + } + ], + "147": [ + { + "inShape": [ + [ + 165, + 165, + 165 + ] + ], + "result": { + "count": 6, + "id": 147 + } + } + ], + "148": [ + { + "inShape": [ + [ + 81, + 81, + 81 + ] + ], + "result": { + "count": 6, + "id": 148 + } + }, + { + "inShape": [ + [ + 82, + 82, + 82 + ] + ], + "result": { + "count": 6, + "id": 148 + } + } + ], + "149": [ + { + "inShape": [ + [ + 83, + 83, + 83 + ] + ], + "result": { + "count": 6, + "id": 149 + } + } + ], + "151": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 6, + "id": 151 + } + } + ], + "152": [ + { + "inShape": [ + [ + 166, + 166, + 166 + ] + ], + "result": { + "count": 6, + "id": 152 + } + } + ], + "153": [ + { + "inShape": [ + [ + 240, + 240, + 240 + ] + ], + "result": { + "count": 6, + "id": 153 + } + } + ], + "154": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ] + ], + "result": { + "count": 6, + "id": 154 + } + } + ], + "155": [ + { + "inShape": [ + [ + 324, + 324, + 324 + ] + ], + "result": { + "count": 6, + "id": 155 + } + }, + { + "inShape": [ + [ + 325, + 325, + 325 + ] + ], + "result": { + "count": 6, + "id": 155 + } + }, + { + "inShape": [ + [ + 327, + 327, + 327 + ] + ], + "result": { + "count": 6, + "id": 155 + } + } + ], + "156": [ + { + "inShape": [ + [ + 418, + 418, + 418 + ] + ], + "result": { + "count": 6, + "id": 156 + } + }, + { + "inShape": [ + [ + 419, + 419, + 419 + ] + ], + "result": { + "count": 6, + "id": 156 + } + } + ], + "157": [ + { + "inShape": [ + [ + 420, + 420, + 420 + ] + ], + "result": { + "count": 6, + "id": 157 + } + } + ], + "158": [ + { + "inShape": [ + [ + 175, + 175, + 175 + ] + ], + "result": { + "count": 6, + "id": 158 + } + }, + { + "inShape": [ + [ + 176, + 176, + 176 + ] + ], + "result": { + "count": 6, + "id": 158 + } + } + ], + "159": [ + { + "inShape": [ + [ + 411, + 411, + 411 + ] + ], + "result": { + "count": 6, + "id": 159 + } + } + ], + "160": [ + { + "inShape": [ + [ + 412, + 412, + 412 + ] + ], + "result": { + "count": 6, + "id": 160 + } + } + ], + "161": [ + { + "inShape": [ + [ + 413, + 413, + 413 + ] + ], + "result": { + "count": 6, + "id": 161 + } + } + ], + "166": [ + { + "inShape": [ + [ + 674, + 674 + ], + [ + 674, + 674 + ] + ], + "result": { + "count": 1, + "id": 166 + } + } + ], + "167": [ + { + "inShape": [ + [ + 618, + 30, + 618 + ], + [ + 30, + 618, + 30 + ], + [ + 618, + 30, + 618 + ] + ], + "result": { + "count": 1, + "id": 167 + } + }, + { + "inShape": [ + [ + 618, + 31, + 618 + ], + [ + 31, + 618, + 31 + ], + [ + 618, + 31, + 618 + ] + ], + "result": { + "count": 1, + "id": 167 + } + } + ], + "168": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 678, + 678, + 678 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 168 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 678, + 678, + 678 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 168 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 678, + 678, + 678 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 168 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 678, + 678, + 678 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 168 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 678, + 678, + 678 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 168 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 678, + 678, + 678 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 168 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 678, + 678, + 678 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 168 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 678, + 678, + 678 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 168 + } + } + ], + "169": [ + { + "ingredients": [ + 14, + 251 + ], + "result": { + "count": 1, + "id": 169 + } + } + ], + "171": [ + { + "inShape": [ + [ + 613 + ], + [ + 576 + ] + ], + "result": { + "count": 4, + "id": 171 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 577 + ] + ], + "result": { + "count": 4, + "id": 171 + } + } + ], + "172": [ + { + "inShape": [ + [ + 888 + ], + [ + 745 + ] + ], + "result": { + "count": 4, + "id": 172 + } + } + ], + "175": [ + { + "inShape": [ + [ + 888, + 888 + ], + [ + 888, + 888 + ] + ], + "result": { + "count": 4, + "id": 175 + } + } + ], + "176": [ + { + "inShape": [ + [ + 158 + ], + [ + 158 + ] + ], + "result": { + "count": 1, + "id": 176 + } + } + ], + "177": [ + { + "inShape": [ + [ + 175, + 175, + 175 + ], + [ + 175, + 175, + null + ], + [ + 175, + null, + null + ] + ], + "result": { + "count": 4, + "id": 177 + } + }, + { + "inShape": [ + [ + 176, + 176, + 176 + ], + [ + 176, + 176, + null + ], + [ + 176, + null, + null + ] + ], + "result": { + "count": 4, + "id": 177 + } + } + ], + "179": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + null + ], + [ + 15, + null, + null + ] + ], + "result": { + "count": 4, + "id": 179 + } + } + ], + "180": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 180 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 180 + } + } + ], + "182": [ + { + "inShape": [ + [ + 578, + 578, + 578 + ], + [ + 578, + 578, + 578 + ], + [ + 578, + 578, + 578 + ] + ], + "result": { + "count": 1, + "id": 182 + } + } + ], + "183": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 183 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 183 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 183 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 183 + } + }, + { + "inShape": [ + [ + 19, + 19 + ], + [ + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 183 + } + }, + { + "inShape": [ + [ + 20, + 20 + ], + [ + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 183 + } + }, + { + "inShape": [ + [ + 21, + 21 + ], + [ + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 183 + } + }, + { + "inShape": [ + [ + 22, + 22 + ], + [ + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 183 + } + } + ], + "185": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 185 + } + }, + { + "inShape": [ + [ + 963, + 963, + 963 + ], + [ + 963, + null, + 963 + ], + [ + 963, + 963, + 963 + ] + ], + "result": { + "count": 1, + "id": 185 + } + } + ], + "186": [ + { + "inShape": [ + [ + 613, + null, + 613 + ], + [ + 613, + 613, + 613 + ], + [ + 613, + null, + 613 + ] + ], + "result": { + "count": 3, + "id": 186 + } + } + ], + "187": [ + { + "inShape": [ + [ + 579, + null, + 579 + ], + [ + 579, + 613, + 579 + ], + [ + 579, + null, + 579 + ] + ], + "result": { + "count": 16, + "id": 187 + } + } + ], + "188": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + null + ], + [ + 14, + null, + null + ] + ], + "result": { + "count": 4, + "id": 188 + } + } + ], + "189": [ + { + "inShape": [ + [ + 14 + ], + [ + 613 + ] + ], + "result": { + "count": 1, + "id": 189 + } + } + ], + "190": [ + { + "inShape": [ + [ + 1, + 1 + ] + ], + "result": { + "count": 1, + "id": 190 + } + } + ], + "191": [ + { + "inShape": [ + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 191 + } + } + ], + "192": [ + { + "inShape": [ + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 192 + } + } + ], + "193": [ + { + "inShape": [ + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 193 + } + } + ], + "194": [ + { + "inShape": [ + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 194 + } + } + ], + "195": [ + { + "inShape": [ + [ + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 195 + } + } + ], + "196": [ + { + "inShape": [ + [ + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 196 + } + } + ], + "197": [ + { + "inShape": [ + [ + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 197 + } + } + ], + "198": [ + { + "inShape": [ + [ + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 198 + } + } + ], + "199": [ + { + "inShape": [ + [ + 967, + 967 + ] + ], + "result": { + "count": 1, + "id": 199 + } + } + ], + "201": [ + { + "inShape": [ + [ + 613 + ], + [ + 665 + ] + ], + "result": { + "count": 1, + "id": 201 + } + } + ], + "202": [ + { + "inShape": [ + [ + 204, + 204, + 204 + ] + ], + "result": { + "count": 6, + "id": 202 + } + } + ], + "204": [ + { + "inShape": [ + [ + 666, + 666 + ], + [ + 666, + 666 + ] + ], + "result": { + "count": 1, + "id": 204 + } + } + ], + "206": [ + { + "inShape": [ + [ + 675, + 675 + ], + [ + 675, + 675 + ] + ], + "result": { + "count": 1, + "id": 206 + } + } + ], + "207": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 578, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 207 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 578, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 207 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 578, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 207 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 578, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 207 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 19, + 578, + 19 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 207 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 578, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 207 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 21, + 578, + 21 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 207 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 22, + 578, + 22 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 207 + } + } + ], + "208": [ + { + "inShape": [ + [ + 15, + 613, + 15 + ], + [ + 15, + 613, + 15 + ] + ], + "result": { + "count": 3, + "id": 208 + } + } + ], + "209": [ + { + "inShape": [ + [ + 16, + 613, + 16 + ], + [ + 16, + 613, + 16 + ] + ], + "result": { + "count": 3, + "id": 209 + } + } + ], + "210": [ + { + "inShape": [ + [ + 17, + 613, + 17 + ], + [ + 17, + 613, + 17 + ] + ], + "result": { + "count": 3, + "id": 210 + } + } + ], + "211": [ + { + "inShape": [ + [ + 18, + 613, + 18 + ], + [ + 18, + 613, + 18 + ] + ], + "result": { + "count": 3, + "id": 211 + } + } + ], + "212": [ + { + "inShape": [ + [ + 19, + 613, + 19 + ], + [ + 19, + 613, + 19 + ] + ], + "result": { + "count": 3, + "id": 212 + } + } + ], + "213": [ + { + "inShape": [ + [ + 20, + 613, + 20 + ], + [ + 20, + 613, + 20 + ] + ], + "result": { + "count": 3, + "id": 213 + } + } + ], + "214": [ + { + "inShape": [ + [ + 21, + 613, + 21 + ], + [ + 21, + 613, + 21 + ] + ], + "result": { + "count": 3, + "id": 214 + } + } + ], + "215": [ + { + "inShape": [ + [ + 22, + 613, + 22 + ], + [ + 22, + 613, + 22 + ] + ], + "result": { + "count": 3, + "id": 215 + } + } + ], + "222": [ + { + "inShape": [ + [ + 221, + 221 + ], + [ + 221, + 221 + ] + ], + "result": { + "count": 4, + "id": 222 + } + } + ], + "223": [ + { + "inShape": [ + [ + 219 + ], + [ + 613 + ], + [ + 576 + ] + ], + "result": { + "count": 4, + "id": 223 + } + }, + { + "inShape": [ + [ + 220 + ], + [ + 613 + ], + [ + 576 + ] + ], + "result": { + "count": 4, + "id": 223 + } + }, + { + "inShape": [ + [ + 219 + ], + [ + 613 + ], + [ + 577 + ] + ], + "result": { + "count": 4, + "id": 223 + } + }, + { + "inShape": [ + [ + 220 + ], + [ + 613 + ], + [ + 577 + ] + ], + "result": { + "count": 4, + "id": 223 + } + } + ], + "224": [ + { + "inShape": [ + [ + 686, + 686 + ], + [ + 686, + 686 + ] + ], + "result": { + "count": 1, + "id": 224 + } + } + ], + "225": [ + { + "inShape": [ + [ + 171 + ], + [ + 217 + ] + ], + "result": { + "count": 1, + "id": 225 + } + } + ], + "226": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 2, + "id": 226 + } + } + ], + "227": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 2, + "id": 227 + } + } + ], + "228": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 2, + "id": 228 + } + } + ], + "229": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 2, + "id": 229 + } + } + ], + "230": [ + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 2, + "id": 230 + } + } + ], + "231": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 2, + "id": 231 + } + } + ], + "232": [ + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 2, + "id": 232 + } + } + ], + "233": [ + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 2, + "id": 233 + } + } + ], + "240": [ + { + "inShape": [ + [ + 1, + 1 + ], + [ + 1, + 1 + ] + ], + "result": { + "count": 4, + "id": 240 + } + } + ], + "241": [ + { + "ingredients": [ + 240, + 251 + ], + "result": { + "count": 1, + "id": 241 + } + } + ], + "243": [ + { + "inShape": [ + [ + 153 + ], + [ + 153 + ] + ], + "result": { + "count": 1, + "id": 243 + } + } + ], + "247": [ + { + "inShape": [ + [ + 579, + 579, + 579 + ], + [ + 579, + 579, + 579 + ] + ], + "result": { + "count": 16, + "id": 247 + } + } + ], + "248": [ + { + "inShape": [ + [ + 906 + ], + [ + 579 + ], + [ + 906 + ] + ], + "result": { + "count": 1, + "id": 248 + } + } + ], + "249": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 16, + "id": 249 + } + } + ], + "250": [ + { + "inShape": [ + [ + 735, + 735, + 735 + ], + [ + 735, + 735, + 735 + ], + [ + 735, + 735, + 735 + ] + ], + "result": { + "count": 1, + "id": 250 + } + } + ], + "252": [ + { + "inShape": [ + [ + 613, + 15, + 613 + ], + [ + 613, + 15, + 613 + ] + ], + "result": { + "count": 1, + "id": 252 + } + } + ], + "253": [ + { + "inShape": [ + [ + 613, + 16, + 613 + ], + [ + 613, + 16, + 613 + ] + ], + "result": { + "count": 1, + "id": 253 + } + } + ], + "254": [ + { + "inShape": [ + [ + 613, + 17, + 613 + ], + [ + 613, + 17, + 613 + ] + ], + "result": { + "count": 1, + "id": 254 + } + } + ], + "255": [ + { + "inShape": [ + [ + 613, + 18, + 613 + ], + [ + 613, + 18, + 613 + ] + ], + "result": { + "count": 1, + "id": 255 + } + } + ], + "256": [ + { + "inShape": [ + [ + 613, + 19, + 613 + ], + [ + 613, + 19, + 613 + ] + ], + "result": { + "count": 1, + "id": 256 + } + } + ], + "257": [ + { + "inShape": [ + [ + 613, + 20, + 613 + ], + [ + 613, + 20, + 613 + ] + ], + "result": { + "count": 1, + "id": 257 + } + } + ], + "258": [ + { + "inShape": [ + [ + 613, + 21, + 613 + ], + [ + 613, + 21, + 613 + ] + ], + "result": { + "count": 1, + "id": 258 + } + } + ], + "259": [ + { + "inShape": [ + [ + 613, + 22, + 613 + ], + [ + 613, + 22, + 613 + ] + ], + "result": { + "count": 1, + "id": 259 + } + } + ], + "260": [ + { + "inShape": [ + [ + 166, + 166, + 166 + ], + [ + 166, + 166, + null + ], + [ + 166, + null, + null + ] + ], + "result": { + "count": 4, + "id": 260 + } + } + ], + "261": [ + { + "inShape": [ + [ + 240, + 240, + 240 + ], + [ + 240, + 240, + null + ], + [ + 240, + null, + null + ] + ], + "result": { + "count": 4, + "id": 261 + } + } + ], + "264": [ + { + "inShape": [ + [ + 849, + 849 + ], + [ + 849, + 849 + ] + ], + "result": { + "count": 1, + "id": 264 + } + } + ], + "266": [ + { + "inShape": [ + [ + 154 + ], + [ + 154 + ] + ], + "result": { + "count": 1, + "id": 266 + } + } + ], + "267": [ + { + "inShape": [ + [ + 264, + 849, + 264 + ], + [ + 264, + 849, + 264 + ] + ], + "result": { + "count": 6, + "id": 267 + } + } + ], + "268": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + null + ], + [ + 264, + null, + null + ] + ], + "result": { + "count": 4, + "id": 268 + } + } + ], + "269": [ + { + "inShape": [ + [ + 170, + 170, + 170 + ], + [ + 578, + 170, + 578 + ], + [ + null, + 678, + null + ] + ], + "result": { + "count": 1, + "id": 269 + } + } + ], + "272": [ + { + "inShape": [ + [ + 271, + 271 + ], + [ + 271, + 271 + ] + ], + "result": { + "count": 4, + "id": 272 + } + } + ], + "274": [ + { + "inShape": [ + [ + null, + 665, + null + ], + [ + 665, + 224, + 665 + ], + [ + null, + 665, + null + ] + ], + "result": { + "count": 1, + "id": 274 + } + } + ], + "275": [ + { + "inShape": [ + [ + 81, + 81, + 81 + ], + [ + 81, + 81, + null + ], + [ + 81, + null, + null + ] + ], + "result": { + "count": 4, + "id": 275 + } + }, + { + "inShape": [ + [ + 82, + 82, + 82 + ], + [ + 82, + 82, + null + ], + [ + 82, + null, + null + ] + ], + "result": { + "count": 4, + "id": 275 + } + }, + { + "inShape": [ + [ + 83, + 83, + 83 + ], + [ + 83, + 83, + null + ], + [ + 83, + null, + null + ] + ], + "result": { + "count": 4, + "id": 275 + } + } + ], + "277": [ + { + "inShape": [ + [ + 170, + 170, + 170 + ], + [ + 170, + 757, + 170 + ], + [ + 170, + 170, + 170 + ] + ], + "result": { + "count": 1, + "id": 277 + } + } + ], + "278": [ + { + "inShape": [ + [ + 15 + ], + [ + 613 + ], + [ + 579 + ] + ], + "result": { + "count": 2, + "id": 278 + } + }, + { + "inShape": [ + [ + 16 + ], + [ + 613 + ], + [ + 579 + ] + ], + "result": { + "count": 2, + "id": 278 + } + }, + { + "inShape": [ + [ + 17 + ], + [ + 613 + ], + [ + 579 + ] + ], + "result": { + "count": 2, + "id": 278 + } + }, + { + "inShape": [ + [ + 18 + ], + [ + 613 + ], + [ + 579 + ] + ], + "result": { + "count": 2, + "id": 278 + } + }, + { + "inShape": [ + [ + 19 + ], + [ + 613 + ], + [ + 579 + ] + ], + "result": { + "count": 2, + "id": 278 + } + }, + { + "inShape": [ + [ + 20 + ], + [ + 613 + ], + [ + 579 + ] + ], + "result": { + "count": 2, + "id": 278 + } + }, + { + "inShape": [ + [ + 21 + ], + [ + 613 + ], + [ + 579 + ] + ], + "result": { + "count": 2, + "id": 278 + } + }, + { + "inShape": [ + [ + 22 + ], + [ + 613 + ], + [ + 579 + ] + ], + "result": { + "count": 2, + "id": 278 + } + } + ], + "279": [ + { + "inShape": [ + [ + 827, + 827, + 827 + ], + [ + 827, + 827, + 827 + ], + [ + 827, + 827, + 827 + ] + ], + "result": { + "count": 1, + "id": 279 + } + } + ], + "280": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + null + ], + [ + 16, + null, + null + ] + ], + "result": { + "count": 4, + "id": 280 + } + } + ], + "281": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + null + ], + [ + 17, + null, + null + ] + ], + "result": { + "count": 4, + "id": 281 + } + } + ], + "282": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + null + ], + [ + 18, + null, + null + ] + ], + "result": { + "count": 4, + "id": 282 + } + } + ], + "283": [ + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 21, + 21, + null + ], + [ + 21, + null, + null + ] + ], + "result": { + "count": 4, + "id": 283 + } + } + ], + "284": [ + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 22, + 22, + null + ], + [ + 22, + null, + null + ] + ], + "result": { + "count": 4, + "id": 284 + } + } + ], + "286": [ + { + "inShape": [ + [ + 170, + 170, + 170 + ], + [ + 77, + 844, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 286 + } + } + ], + "287": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 6, + "id": 287 + } + } + ], + "288": [ + { + "inShape": [ + [ + 169, + 169, + 169 + ], + [ + 169, + 169, + 169 + ] + ], + "result": { + "count": 6, + "id": 288 + } + } + ], + "289": [ + { + "inShape": [ + [ + 166, + 166, + 166 + ], + [ + 166, + 166, + 166 + ] + ], + "result": { + "count": 6, + "id": 289 + } + } + ], + "290": [ + { + "inShape": [ + [ + 411, + 411, + 411 + ], + [ + 411, + 411, + 411 + ] + ], + "result": { + "count": 6, + "id": 290 + } + } + ], + "291": [ + { + "inShape": [ + [ + 418, + 418, + 418 + ], + [ + 418, + 418, + 418 + ] + ], + "result": { + "count": 6, + "id": 291 + } + } + ], + "292": [ + { + "inShape": [ + [ + 241, + 241, + 241 + ], + [ + 241, + 241, + 241 + ] + ], + "result": { + "count": 6, + "id": 292 + } + } + ], + "293": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ], + [ + 2, + 2, + 2 + ] + ], + "result": { + "count": 6, + "id": 293 + } + } + ], + "294": [ + { + "inShape": [ + [ + 240, + 240, + 240 + ], + [ + 240, + 240, + 240 + ] + ], + "result": { + "count": 6, + "id": 294 + } + } + ], + "295": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ] + ], + "result": { + "count": 6, + "id": 295 + } + } + ], + "296": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ], + [ + 6, + 6, + 6 + ] + ], + "result": { + "count": 6, + "id": 296 + } + } + ], + "297": [ + { + "inShape": [ + [ + 427, + 427, + 427 + ], + [ + 427, + 427, + 427 + ] + ], + "result": { + "count": 6, + "id": 297 + } + } + ], + "298": [ + { + "inShape": [ + [ + 81, + 81, + 81 + ], + [ + 81, + 81, + 81 + ] + ], + "result": { + "count": 6, + "id": 298 + } + } + ], + "299": [ + { + "inShape": [ + [ + 272, + 272, + 272 + ], + [ + 272, + 272, + 272 + ] + ], + "result": { + "count": 6, + "id": 299 + } + } + ], + "300": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 300 + } + } + ], + "301": [ + { + "inShape": [ + [ + 963, + 963, + 963 + ], + [ + 963, + 963, + 963 + ] + ], + "result": { + "count": 6, + "id": 301 + } + } + ], + "302": [ + { + "inShape": [ + [ + 967, + 967, + 967 + ], + [ + 967, + 967, + 967 + ] + ], + "result": { + "count": 6, + "id": 302 + } + } + ], + "303": [ + { + "inShape": [ + [ + 971, + 971, + 971 + ], + [ + 971, + 971, + 971 + ] + ], + "result": { + "count": 6, + "id": 303 + } + } + ], + "304": [ + { + "ingredients": [ + 1 + ], + "result": { + "count": 1, + "id": 304 + } + } + ], + "305": [ + { + "ingredients": [ + 15 + ], + "result": { + "count": 1, + "id": 305 + } + } + ], + "306": [ + { + "ingredients": [ + 16 + ], + "result": { + "count": 1, + "id": 306 + } + } + ], + "307": [ + { + "ingredients": [ + 17 + ], + "result": { + "count": 1, + "id": 307 + } + } + ], + "308": [ + { + "ingredients": [ + 18 + ], + "result": { + "count": 1, + "id": 308 + } + } + ], + "309": [ + { + "ingredients": [ + 19 + ], + "result": { + "count": 1, + "id": 309 + } + } + ], + "310": [ + { + "ingredients": [ + 20 + ], + "result": { + "count": 1, + "id": 310 + } + } + ], + "311": [ + { + "ingredients": [ + 21 + ], + "result": { + "count": 1, + "id": 311 + } + } + ], + "312": [ + { + "ingredients": [ + 22 + ], + "result": { + "count": 1, + "id": 312 + } + } + ], + "313": [ + { + "ingredients": [ + 967 + ], + "result": { + "count": 1, + "id": 313 + } + } + ], + "314": [ + { + "inShape": [ + [ + 579, + 579, + 579 + ], + [ + null, + 579, + null + ], + [ + 137, + 137, + 137 + ] + ], + "result": { + "count": 1, + "id": 314 + } + } + ], + "317": [ + { + "ingredients": [ + 180, + 278 + ], + "result": { + "count": 1, + "id": 317 + } + } + ], + "318": [ + { + "inShape": [ + [ + 580, + 580 + ] + ], + "result": { + "count": 1, + "id": 318 + } + } + ], + "319": [ + { + "inShape": [ + [ + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 319 + } + } + ], + "320": [ + { + "inShape": [ + [ + 138, + 138, + 138 + ], + [ + 850, + 850, + 850 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + }, + { + "inShape": [ + [ + 139, + 139, + 139 + ], + [ + 850, + 850, + 850 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + }, + { + "inShape": [ + [ + 140, + 140, + 140 + ], + [ + 850, + 850, + 850 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + }, + { + "inShape": [ + [ + 141, + 141, + 141 + ], + [ + 850, + 850, + 850 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + }, + { + "inShape": [ + [ + 142, + 142, + 142 + ], + [ + 850, + 850, + 850 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + }, + { + "inShape": [ + [ + 143, + 143, + 143 + ], + [ + 850, + 850, + 850 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + }, + { + "inShape": [ + [ + 144, + 144, + 144 + ], + [ + 850, + 850, + 850 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + }, + { + "inShape": [ + [ + 145, + 145, + 145 + ], + [ + 850, + 850, + 850 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 320 + } + } + ], + "321": [ + { + "inShape": [ + [ + 665, + 665, + 665 + ], + [ + 665, + 665, + 665 + ], + [ + 665, + 665, + 665 + ] + ], + "result": { + "count": 1, + "id": 321 + } + } + ], + "323": [ + { + "inShape": [ + [ + null, + 579, + null + ], + [ + 579, + 180, + 579 + ], + [ + 579, + null, + 579 + ] + ], + "result": { + "count": 1, + "id": 323 + } + } + ], + "324": [ + { + "inShape": [ + [ + 155 + ], + [ + 155 + ] + ], + "result": { + "count": 1, + "id": 324 + } + } + ], + "325": [ + { + "inShape": [ + [ + 850, + 850 + ], + [ + 850, + 850 + ] + ], + "result": { + "count": 1, + "id": 325 + } + } + ], + "326": [ + { + "inShape": [ + [ + 325, + 325 + ], + [ + 325, + 325 + ] + ], + "result": { + "count": 4, + "id": 326 + } + } + ], + "327": [ + { + "inShape": [ + [ + 325 + ], + [ + 325 + ] + ], + "result": { + "count": 2, + "id": 327 + } + } + ], + "328": [ + { + "inShape": [ + [ + 324, + 324, + 324 + ], + [ + 324, + 324, + null + ], + [ + 324, + null, + null + ] + ], + "result": { + "count": 4, + "id": 328 + } + }, + { + "inShape": [ + [ + 325, + 325, + 325 + ], + [ + 325, + 325, + null + ], + [ + 325, + null, + null + ] + ], + "result": { + "count": 4, + "id": 328 + } + }, + { + "inShape": [ + [ + 327, + 327, + 327 + ], + [ + 327, + 327, + null + ], + [ + 327, + null, + null + ] + ], + "result": { + "count": 4, + "id": 328 + } + } + ], + "329": [ + { + "inShape": [ + [ + 579, + 613, + 579 + ], + [ + 579, + 201, + 579 + ], + [ + 579, + 613, + 579 + ] + ], + "result": { + "count": 6, + "id": 329 + } + } + ], + "330": [ + { + "inShape": [ + [ + 14, + 665, + 14 + ], + [ + 14, + null, + 14 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 330 + } + } + ], + "331": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 696, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 331 + } + } + ], + "332": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 697, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 332 + } + } + ], + "333": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 698, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 333 + } + } + ], + "334": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 699, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 334 + } + } + ], + "335": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 700, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 335 + } + } + ], + "336": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 701, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 336 + } + } + ], + "337": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 702, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 337 + } + } + ], + "338": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 703, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 338 + } + } + ], + "339": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 704, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 339 + } + } + ], + "340": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 705, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 340 + } + } + ], + "341": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 706, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 341 + } + } + ], + "342": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 707, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 342 + } + } + ], + "343": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 708, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 343 + } + } + ], + "344": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 709, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 344 + } + } + ], + "345": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 710, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 345 + } + } + ], + "346": [ + { + "inShape": [ + [ + 366, + 366, + 366 + ], + [ + 366, + 711, + 366 + ], + [ + 366, + 366, + 366 + ] + ], + "result": { + "count": 8, + "id": 346 + } + } + ], + "348": [ + { + "inShape": [ + [ + 579, + 579 + ], + [ + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 348 + } + } + ], + "349": [ + { + "inShape": [ + [ + 620, + 620, + 620 + ], + [ + 620, + 620, + 620 + ], + [ + 620, + 620, + 620 + ] + ], + "result": { + "count": 1, + "id": 349 + } + } + ], + "350": [ + { + "inShape": [ + [ + 95, + 95 + ] + ], + "result": { + "count": 3, + "id": 350 + } + } + ], + "351": [ + { + "inShape": [ + [ + 96, + 96 + ] + ], + "result": { + "count": 3, + "id": 351 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 697, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 351 + } + } + ], + "352": [ + { + "inShape": [ + [ + 97, + 97 + ] + ], + "result": { + "count": 3, + "id": 352 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 698, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 352 + } + } + ], + "353": [ + { + "inShape": [ + [ + 98, + 98 + ] + ], + "result": { + "count": 3, + "id": 353 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 699, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 353 + } + } + ], + "354": [ + { + "inShape": [ + [ + 99, + 99 + ] + ], + "result": { + "count": 3, + "id": 354 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 700, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 354 + } + } + ], + "355": [ + { + "inShape": [ + [ + 100, + 100 + ] + ], + "result": { + "count": 3, + "id": 355 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 701, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 355 + } + } + ], + "356": [ + { + "inShape": [ + [ + 101, + 101 + ] + ], + "result": { + "count": 3, + "id": 356 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 702, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 356 + } + } + ], + "357": [ + { + "inShape": [ + [ + 102, + 102 + ] + ], + "result": { + "count": 3, + "id": 357 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 703, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 357 + } + } + ], + "358": [ + { + "inShape": [ + [ + 103, + 103 + ] + ], + "result": { + "count": 3, + "id": 358 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 704, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 358 + } + } + ], + "359": [ + { + "inShape": [ + [ + 104, + 104 + ] + ], + "result": { + "count": 3, + "id": 359 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 705, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 359 + } + } + ], + "360": [ + { + "inShape": [ + [ + 105, + 105 + ] + ], + "result": { + "count": 3, + "id": 360 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 706, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 360 + } + } + ], + "361": [ + { + "inShape": [ + [ + 106, + 106 + ] + ], + "result": { + "count": 3, + "id": 361 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 707, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 361 + } + } + ], + "362": [ + { + "inShape": [ + [ + 107, + 107 + ] + ], + "result": { + "count": 3, + "id": 362 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 708, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 362 + } + } + ], + "363": [ + { + "inShape": [ + [ + 108, + 108 + ] + ], + "result": { + "count": 3, + "id": 363 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 709, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 363 + } + } + ], + "364": [ + { + "inShape": [ + [ + 109, + 109 + ] + ], + "result": { + "count": 3, + "id": 364 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 710, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 364 + } + } + ], + "365": [ + { + "inShape": [ + [ + 110, + 110 + ] + ], + "result": { + "count": 3, + "id": 365 + } + }, + { + "inShape": [ + [ + 350, + 350, + 350 + ], + [ + 350, + 711, + 350 + ], + [ + 350, + 350, + 350 + ] + ], + "result": { + "count": 8, + "id": 365 + } + } + ], + "367": [ + { + "inShape": [ + [ + 576, + 576, + 576 + ], + [ + 576, + 576, + 576 + ], + [ + 576, + 576, + 576 + ] + ], + "result": { + "count": 1, + "id": 367 + } + } + ], + "368": [ + { + "ingredients": [ + 203, + 203, + 203, + 203, + 203, + 203, + 203, + 203, + 203 + ], + "result": { + "count": 1, + "id": 368 + } + } + ], + "369": [ + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 19, + 19, + null + ], + [ + 19, + null, + null + ] + ], + "result": { + "count": 4, + "id": 369 + } + } + ], + "370": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 20, + null + ], + [ + 20, + null, + null + ] + ], + "result": { + "count": 4, + "id": 370 + } + } + ], + "371": [ + { + "inShape": [ + [ + 679, + 679, + 679 + ], + [ + 679, + 679, + 679 + ], + [ + 679, + 679, + 679 + ] + ], + "result": { + "count": 1, + "id": 371 + } + } + ], + "379": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 696, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 379 + } + } + ], + "380": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 697, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 380 + } + } + ], + "381": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 698, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 381 + } + } + ], + "382": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 699, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 382 + } + } + ], + "383": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 700, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 383 + } + } + ], + "384": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 701, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 384 + } + } + ], + "385": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 702, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 385 + } + } + ], + "386": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 703, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 386 + } + } + ], + "387": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 704, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 387 + } + } + ], + "388": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 705, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 388 + } + } + ], + "389": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 706, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 389 + } + } + ], + "390": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 707, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 390 + } + } + ], + "391": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 708, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 391 + } + } + ], + "392": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 709, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 392 + } + } + ], + "393": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 710, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 393 + } + } + ], + "394": [ + { + "inShape": [ + [ + 77, + 77, + 77 + ], + [ + 77, + 711, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 8, + "id": 394 + } + } + ], + "395": [ + { + "inShape": [ + [ + 379, + 379, + 379 + ], + [ + 379, + 379, + 379 + ] + ], + "result": { + "count": 16, + "id": 395 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 696, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 395 + } + } + ], + "396": [ + { + "inShape": [ + [ + 380, + 380, + 380 + ], + [ + 380, + 380, + 380 + ] + ], + "result": { + "count": 16, + "id": 396 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 697, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 396 + } + } + ], + "397": [ + { + "inShape": [ + [ + 381, + 381, + 381 + ], + [ + 381, + 381, + 381 + ] + ], + "result": { + "count": 16, + "id": 397 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 698, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 397 + } + } + ], + "398": [ + { + "inShape": [ + [ + 382, + 382, + 382 + ], + [ + 382, + 382, + 382 + ] + ], + "result": { + "count": 16, + "id": 398 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 699, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 398 + } + } + ], + "399": [ + { + "inShape": [ + [ + 383, + 383, + 383 + ], + [ + 383, + 383, + 383 + ] + ], + "result": { + "count": 16, + "id": 399 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 700, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 399 + } + } + ], + "400": [ + { + "inShape": [ + [ + 384, + 384, + 384 + ], + [ + 384, + 384, + 384 + ] + ], + "result": { + "count": 16, + "id": 400 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 701, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 400 + } + } + ], + "401": [ + { + "inShape": [ + [ + 385, + 385, + 385 + ], + [ + 385, + 385, + 385 + ] + ], + "result": { + "count": 16, + "id": 401 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 702, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 401 + } + } + ], + "402": [ + { + "inShape": [ + [ + 386, + 386, + 386 + ], + [ + 386, + 386, + 386 + ] + ], + "result": { + "count": 16, + "id": 402 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 703, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 402 + } + } + ], + "403": [ + { + "inShape": [ + [ + 387, + 387, + 387 + ], + [ + 387, + 387, + 387 + ] + ], + "result": { + "count": 16, + "id": 403 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 704, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 403 + } + } + ], + "404": [ + { + "inShape": [ + [ + 388, + 388, + 388 + ], + [ + 388, + 388, + 388 + ] + ], + "result": { + "count": 16, + "id": 404 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 705, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 404 + } + } + ], + "405": [ + { + "inShape": [ + [ + 389, + 389, + 389 + ], + [ + 389, + 389, + 389 + ] + ], + "result": { + "count": 16, + "id": 405 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 706, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 405 + } + } + ], + "406": [ + { + "inShape": [ + [ + 390, + 390, + 390 + ], + [ + 390, + 390, + 390 + ] + ], + "result": { + "count": 16, + "id": 406 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 707, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 406 + } + } + ], + "407": [ + { + "inShape": [ + [ + 391, + 391, + 391 + ], + [ + 391, + 391, + 391 + ] + ], + "result": { + "count": 16, + "id": 407 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 708, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 407 + } + } + ], + "408": [ + { + "inShape": [ + [ + 392, + 392, + 392 + ], + [ + 392, + 392, + 392 + ] + ], + "result": { + "count": 16, + "id": 408 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 709, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 408 + } + } + ], + "409": [ + { + "inShape": [ + [ + 393, + 393, + 393 + ], + [ + 393, + 393, + 393 + ] + ], + "result": { + "count": 16, + "id": 409 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 710, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 409 + } + } + ], + "410": [ + { + "inShape": [ + [ + 394, + 394, + 394 + ], + [ + 394, + 394, + 394 + ] + ], + "result": { + "count": 16, + "id": 410 + } + }, + { + "inShape": [ + [ + 249, + 249, + 249 + ], + [ + 249, + 711, + 249 + ], + [ + 249, + 249, + 249 + ] + ], + "result": { + "count": 8, + "id": 410 + } + } + ], + "411": [ + { + "inShape": [ + [ + 853, + 853 + ], + [ + 853, + 853 + ] + ], + "result": { + "count": 1, + "id": 411 + } + } + ], + "412": [ + { + "inShape": [ + [ + 853, + 853, + 853 + ], + [ + 853, + 853, + 853 + ], + [ + 853, + 853, + 853 + ] + ], + "result": { + "count": 1, + "id": 412 + } + } + ], + "413": [ + { + "inShape": [ + [ + 853, + 853, + 853 + ], + [ + 853, + 711, + 853 + ], + [ + 853, + 853, + 853 + ] + ], + "result": { + "count": 1, + "id": 413 + } + } + ], + "414": [ + { + "inShape": [ + [ + 411, + 411, + 411 + ], + [ + 411, + 411, + null + ], + [ + 411, + null, + null + ] + ], + "result": { + "count": 4, + "id": 414 + } + } + ], + "415": [ + { + "inShape": [ + [ + 412, + 412, + 412 + ], + [ + 412, + 412, + null + ], + [ + 412, + null, + null + ] + ], + "result": { + "count": 4, + "id": 415 + } + } + ], + "416": [ + { + "inShape": [ + [ + 413, + 413, + 413 + ], + [ + 413, + 413, + null + ], + [ + 413, + null, + null + ] + ], + "result": { + "count": 4, + "id": 416 + } + } + ], + "417": [ + { + "inShape": [ + [ + 853, + 854, + 853 + ], + [ + 854, + 854, + 854 + ], + [ + 853, + 854, + 853 + ] + ], + "result": { + "count": 1, + "id": 417 + } + } + ], + "418": [ + { + "inShape": [ + [ + 31, + 31 + ], + [ + 31, + 31 + ] + ], + "result": { + "count": 1, + "id": 418 + } + } + ], + "419": [ + { + "inShape": [ + [ + 156 + ], + [ + 156 + ] + ], + "result": { + "count": 1, + "id": 419 + } + } + ], + "420": [ + { + "inShape": [ + [ + 418, + 418 + ], + [ + 418, + 418 + ] + ], + "result": { + "count": 4, + "id": 420 + } + } + ], + "421": [ + { + "inShape": [ + [ + 418, + 418, + 418 + ], + [ + 418, + 418, + null + ], + [ + 418, + null, + null + ] + ], + "result": { + "count": 4, + "id": 421 + } + }, + { + "inShape": [ + [ + 419, + 419, + 419 + ], + [ + 419, + 419, + null + ], + [ + 419, + null, + null + ] + ], + "result": { + "count": 4, + "id": 421 + } + }, + { + "inShape": [ + [ + 420, + 420, + 420 + ], + [ + 420, + 420, + null + ], + [ + 420, + null, + null + ] + ], + "result": { + "count": 4, + "id": 421 + } + } + ], + "424": [ + { + "inShape": [ + [ + 754, + 754 + ], + [ + 754, + 754 + ] + ], + "result": { + "count": 1, + "id": 424 + } + } + ], + "425": [ + { + "inShape": [ + [ + 748, + 748, + 748 + ], + [ + 748, + 748, + 748 + ], + [ + 748, + 748, + 748 + ] + ], + "result": { + "count": 1, + "id": 425 + } + } + ], + "427": [ + { + "inShape": [ + [ + 748, + 849 + ], + [ + 849, + 748 + ] + ], + "result": { + "count": 1, + "id": 427 + } + } + ], + "428": [ + { + "inShape": [ + [ + 712, + 712, + 712 + ], + [ + 712, + 712, + 712 + ], + [ + 712, + 712, + 712 + ] + ], + "result": { + "count": 1, + "id": 428 + } + } + ], + "430": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + 665, + 665, + 850 + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 430 + } + } + ], + "431": [ + { + "inShape": [ + [ + 905 + ], + [ + 180 + ], + [ + 905 + ] + ], + "result": { + "count": 1, + "id": 431 + } + } + ], + "480": [ + { + "ingredients": [ + 696, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 480 + } + } + ], + "481": [ + { + "ingredients": [ + 697, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 481 + } + } + ], + "482": [ + { + "ingredients": [ + 698, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 482 + } + } + ], + "483": [ + { + "ingredients": [ + 699, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 483 + } + } + ], + "484": [ + { + "ingredients": [ + 700, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 484 + } + } + ], + "485": [ + { + "ingredients": [ + 701, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 485 + } + } + ], + "486": [ + { + "ingredients": [ + 702, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 486 + } + } + ], + "487": [ + { + "ingredients": [ + 703, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 487 + } + } + ], + "488": [ + { + "ingredients": [ + 704, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 488 + } + } + ], + "489": [ + { + "ingredients": [ + 705, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 489 + } + } + ], + "490": [ + { + "ingredients": [ + 706, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 490 + } + } + ], + "491": [ + { + "ingredients": [ + 707, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 491 + } + } + ], + "492": [ + { + "ingredients": [ + 708, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 492 + } + } + ], + "493": [ + { + "ingredients": [ + 709, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 493 + } + } + ], + "494": [ + { + "ingredients": [ + 710, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 494 + } + } + ], + "495": [ + { + "ingredients": [ + 711, + 30, + 30, + 30, + 30, + 32, + 32, + 32, + 32 + ], + "result": { + "count": 8, + "id": 495 + } + } + ], + "527": [ + { + "inShape": [ + [ + 368, + 368, + 368 + ], + [ + 368, + 368, + 368 + ], + [ + 368, + 368, + 368 + ] + ], + "result": { + "count": 1, + "id": 527 + } + } + ], + "528": [ + { + "inShape": [ + [ + 924, + 924, + 924 + ], + [ + 924, + 925, + 924 + ], + [ + 924, + 924, + 924 + ] + ], + "result": { + "count": 1, + "id": 528 + } + } + ], + "529": [ + { + "inShape": [ + [ + 3, + 3, + 3 + ], + [ + 3, + 3, + null + ], + [ + 3, + null, + null + ] + ], + "result": { + "count": 4, + "id": 529 + } + } + ], + "530": [ + { + "inShape": [ + [ + 163, + 163, + 163 + ], + [ + 163, + 163, + null + ], + [ + 163, + null, + null + ] + ], + "result": { + "count": 4, + "id": 530 + } + } + ], + "531": [ + { + "inShape": [ + [ + 241, + 241, + 241 + ], + [ + 241, + 241, + null + ], + [ + 241, + null, + null + ] + ], + "result": { + "count": 4, + "id": 531 + } + } + ], + "532": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 5, + null + ], + [ + 5, + null, + null + ] + ], + "result": { + "count": 4, + "id": 532 + } + } + ], + "533": [ + { + "inShape": [ + [ + 169, + 169, + 169 + ], + [ + 169, + 169, + null + ], + [ + 169, + null, + null + ] + ], + "result": { + "count": 4, + "id": 533 + } + } + ], + "534": [ + { + "inShape": [ + [ + 272, + 272, + 272 + ], + [ + 272, + 272, + null + ], + [ + 272, + null, + null + ] + ], + "result": { + "count": 4, + "id": 534 + } + } + ], + "535": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 1, + 1, + null + ], + [ + 1, + null, + null + ] + ], + "result": { + "count": 4, + "id": 535 + } + } + ], + "536": [ + { + "inShape": [ + [ + 164, + 164, + 164 + ], + [ + 164, + 164, + null + ], + [ + 164, + null, + null + ] + ], + "result": { + "count": 4, + "id": 536 + } + } + ], + "537": [ + { + "inShape": [ + [ + 162, + 162, + 162 + ], + [ + 162, + 162, + null + ], + [ + 162, + null, + null + ] + ], + "result": { + "count": 4, + "id": 537 + } + } + ], + "538": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ], + [ + 2, + 2, + null + ], + [ + 2, + null, + null + ] + ], + "result": { + "count": 4, + "id": 538 + } + } + ], + "539": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ], + [ + 6, + 6, + null + ], + [ + 6, + null, + null + ] + ], + "result": { + "count": 4, + "id": 539 + } + } + ], + "540": [ + { + "inShape": [ + [ + 427, + 427, + 427 + ], + [ + 427, + 427, + null + ], + [ + 427, + null, + null + ] + ], + "result": { + "count": 4, + "id": 540 + } + } + ], + "541": [ + { + "inShape": [ + [ + 7, + 7, + 7 + ], + [ + 7, + 7, + null + ], + [ + 7, + null, + null + ] + ], + "result": { + "count": 4, + "id": 541 + } + } + ], + "542": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + null + ], + [ + 4, + null, + null + ] + ], + "result": { + "count": 4, + "id": 542 + } + } + ], + "543": [ + { + "inShape": [ + [ + 3, + 3, + 3 + ] + ], + "result": { + "count": 6, + "id": 543 + } + } + ], + "544": [ + { + "inShape": [ + [ + 163, + 163, + 163 + ] + ], + "result": { + "count": 6, + "id": 544 + } + } + ], + "545": [ + { + "inShape": [ + [ + 241, + 241, + 241 + ] + ], + "result": { + "count": 6, + "id": 545 + } + } + ], + "546": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 6, + "id": 546 + } + } + ], + "547": [ + { + "inShape": [ + [ + 169, + 169, + 169 + ] + ], + "result": { + "count": 6, + "id": 547 + } + } + ], + "548": [ + { + "inShape": [ + [ + 272, + 272, + 272 + ] + ], + "result": { + "count": 6, + "id": 548 + } + } + ], + "549": [ + { + "inShape": [ + [ + 164, + 164, + 164 + ] + ], + "result": { + "count": 6, + "id": 549 + } + } + ], + "550": [ + { + "inShape": [ + [ + 162, + 162, + 162 + ] + ], + "result": { + "count": 6, + "id": 550 + } + } + ], + "551": [ + { + "inShape": [ + [ + 2, + 2, + 2 + ] + ], + "result": { + "count": 6, + "id": 551 + } + } + ], + "552": [ + { + "inShape": [ + [ + 6, + 6, + 6 + ] + ], + "result": { + "count": 6, + "id": 552 + } + } + ], + "553": [ + { + "inShape": [ + [ + 427, + 427, + 427 + ] + ], + "result": { + "count": 6, + "id": 553 + } + } + ], + "554": [ + { + "inShape": [ + [ + 7, + 7, + 7 + ] + ], + "result": { + "count": 6, + "id": 554 + } + } + ], + "555": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 555 + } + } + ], + "556": [ + { + "inShape": [ + [ + 135, + null, + 135 + ], + [ + 135, + null, + 135 + ], + [ + 135, + 616, + 135 + ] + ], + "result": { + "count": 6, + "id": 556 + } + } + ], + "557": [ + { + "inShape": [ + [ + 579, + 579 + ], + [ + 579, + 579 + ], + [ + 579, + 579 + ] + ], + "result": { + "count": 3, + "id": 557 + } + } + ], + "558": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 3, + "id": 558 + } + } + ], + "559": [ + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 3, + "id": 559 + } + } + ], + "560": [ + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 3, + "id": 560 + } + } + ], + "561": [ + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 3, + "id": 561 + } + } + ], + "562": [ + { + "inShape": [ + [ + 19, + 19 + ], + [ + 19, + 19 + ], + [ + 19, + 19 + ] + ], + "result": { + "count": 3, + "id": 562 + } + } + ], + "563": [ + { + "inShape": [ + [ + 20, + 20 + ], + [ + 20, + 20 + ], + [ + 20, + 20 + ] + ], + "result": { + "count": 3, + "id": 563 + } + } + ], + "564": [ + { + "inShape": [ + [ + 21, + 21 + ], + [ + 21, + 21 + ], + [ + 21, + 21 + ] + ], + "result": { + "count": 3, + "id": 564 + } + } + ], + "565": [ + { + "inShape": [ + [ + 22, + 22 + ], + [ + 22, + 22 + ], + [ + 22, + 22 + ] + ], + "result": { + "count": 3, + "id": 565 + } + } + ], + "566": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 201, + 665, + 201 + ] + ], + "result": { + "count": 1, + "id": 566 + } + } + ], + "567": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + 201, + 850, + 201 + ], + [ + null, + 201, + null + ] + ], + "result": { + "count": 1, + "id": 567 + } + } + ], + "570": [ + { + "inShape": [ + [ + 571, + null, + 571 + ], + [ + 571, + 571, + 571 + ] + ], + "result": { + "count": 1, + "id": 570 + } + } + ], + "572": [ + { + "ingredients": [ + 579, + 646 + ], + "result": { + "count": 1, + "id": 572 + } + } + ], + "574": [ + { + "inShape": [ + [ + null, + 613, + 616 + ], + [ + 613, + null, + 616 + ], + [ + null, + 613, + 616 + ] + ], + "result": { + "count": 1, + "id": 574 + } + } + ], + "575": [ + { + "inShape": [ + [ + 617 + ], + [ + 613 + ], + [ + 646 + ] + ], + "result": { + "count": 4, + "id": 575 + } + } + ], + "576": [ + { + "ingredients": [ + 367 + ], + "result": { + "count": 9, + "id": 576 + } + } + ], + "578": [ + { + "ingredients": [ + 182 + ], + "result": { + "count": 9, + "id": 578 + } + } + ], + "579": [ + { + "ingredients": [ + 137 + ], + "result": { + "count": 9, + "id": 579 + } + }, + { + "inShape": [ + [ + 906, + 906, + 906 + ], + [ + 906, + 906, + 906 + ], + [ + 906, + 906, + 906 + ] + ], + "result": { + "count": 1, + "id": 579 + } + } + ], + "580": [ + { + "ingredients": [ + 136 + ], + "result": { + "count": 9, + "id": 580 + } + }, + { + "inShape": [ + [ + 747, + 747, + 747 + ], + [ + 747, + 747, + 747 + ], + [ + 747, + 747, + 747 + ] + ], + "result": { + "count": 1, + "id": 580 + } + } + ], + "581": [ + { + "ingredients": [ + 582, + 582, + 582, + 582, + 580, + 580, + 580, + 580 + ], + "result": { + "count": 1, + "id": 581 + } + }, + { + "ingredients": [ + 959 + ], + "result": { + "count": 9, + "id": 581 + } + } + ], + "583": [ + { + "inShape": [ + [ + 613 + ], + [ + 15 + ], + [ + 15 + ] + ], + "result": { + "count": 1, + "id": 583 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 16 + ], + [ + 16 + ] + ], + "result": { + "count": 1, + "id": 583 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 17 + ], + [ + 17 + ] + ], + "result": { + "count": 1, + "id": 583 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 18 + ], + [ + 18 + ] + ], + "result": { + "count": 1, + "id": 583 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 19 + ], + [ + 19 + ] + ], + "result": { + "count": 1, + "id": 583 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 20 + ], + [ + 20 + ] + ], + "result": { + "count": 1, + "id": 583 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 21 + ], + [ + 21 + ] + ], + "result": { + "count": 1, + "id": 583 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 22 + ], + [ + 22 + ] + ], + "result": { + "count": 1, + "id": 583 + } + } + ], + "584": [ + { + "inShape": [ + [ + 613 + ], + [ + 613 + ], + [ + 15 + ] + ], + "result": { + "count": 1, + "id": 584 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 613 + ], + [ + 16 + ] + ], + "result": { + "count": 1, + "id": 584 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 613 + ], + [ + 17 + ] + ], + "result": { + "count": 1, + "id": 584 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 613 + ], + [ + 18 + ] + ], + "result": { + "count": 1, + "id": 584 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 613 + ], + [ + 19 + ] + ], + "result": { + "count": 1, + "id": 584 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 613 + ], + [ + 20 + ] + ], + "result": { + "count": 1, + "id": 584 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 613 + ], + [ + 21 + ] + ], + "result": { + "count": 1, + "id": 584 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 613 + ], + [ + 22 + ] + ], + "result": { + "count": 1, + "id": 584 + } + } + ], + "585": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + null, + 613, + null + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 585 + } + }, + { + "inShape": [ + [ + null, + 613, + null + ], + [ + null, + 613, + null + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 585 + } + }, + { + "inShape": [ + [ + null, + 613, + null + ], + [ + null, + 613, + null + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 585 + } + }, + { + "inShape": [ + [ + null, + 613, + null + ], + [ + null, + 613, + null + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 585 + } + }, + { + "inShape": [ + [ + null, + 613, + null + ], + [ + null, + 613, + null + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 585 + } + }, + { + "inShape": [ + [ + null, + 613, + null + ], + [ + null, + 613, + null + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 585 + } + }, + { + "inShape": [ + [ + null, + 613, + null + ], + [ + null, + 613, + null + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 585 + } + }, + { + "inShape": [ + [ + null, + 613, + null + ], + [ + null, + 613, + null + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 585 + } + } + ], + "586": [ + { + "inShape": [ + [ + null, + 613 + ], + [ + 15, + 613 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + 16, + 613 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + 17, + 613 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + 18, + 613 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + 19, + 613 + ], + [ + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + 20, + 613 + ], + [ + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + 21, + 613 + ], + [ + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 586 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + 22, + 613 + ], + [ + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 586 + } + } + ], + "587": [ + { + "inShape": [ + [ + null, + 613 + ], + [ + null, + 613 + ], + [ + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 587 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + null, + 613 + ], + [ + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 587 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + null, + 613 + ], + [ + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 587 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + null, + 613 + ], + [ + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 587 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + null, + 613 + ], + [ + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 587 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + null, + 613 + ], + [ + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 587 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + null, + 613 + ], + [ + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 587 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + null, + 613 + ], + [ + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 587 + } + } + ], + "588": [ + { + "inShape": [ + [ + 613 + ], + [ + 14 + ], + [ + 14 + ] + ], + "result": { + "count": 1, + "id": 588 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 963 + ], + [ + 963 + ] + ], + "result": { + "count": 1, + "id": 588 + } + } + ], + "589": [ + { + "inShape": [ + [ + 613 + ], + [ + 613 + ], + [ + 14 + ] + ], + "result": { + "count": 1, + "id": 589 + } + }, + { + "inShape": [ + [ + 613 + ], + [ + 613 + ], + [ + 963 + ] + ], + "result": { + "count": 1, + "id": 589 + } + } + ], + "590": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + null, + 613, + null + ], + [ + 14, + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 590 + } + }, + { + "inShape": [ + [ + null, + 613, + null + ], + [ + null, + 613, + null + ], + [ + 963, + 963, + 963 + ] + ], + "result": { + "count": 1, + "id": 590 + } + } + ], + "591": [ + { + "inShape": [ + [ + null, + 613 + ], + [ + 14, + 613 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 591 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + 963, + 613 + ], + [ + 963, + 963 + ] + ], + "result": { + "count": 1, + "id": 591 + } + } + ], + "592": [ + { + "inShape": [ + [ + null, + 613 + ], + [ + null, + 613 + ], + [ + 14, + 14 + ] + ], + "result": { + "count": 1, + "id": 592 + } + }, + { + "inShape": [ + [ + null, + 613 + ], + [ + null, + 613 + ], + [ + 963, + 963 + ] + ], + "result": { + "count": 1, + "id": 592 + } + } + ], + "593": [ + { + "inShape": [ + [ + 613 + ], + [ + 580 + ], + [ + 580 + ] + ], + "result": { + "count": 1, + "id": 593 + } + } + ], + "594": [ + { + "inShape": [ + [ + 613 + ], + [ + 613 + ], + [ + 580 + ] + ], + "result": { + "count": 1, + "id": 594 + } + } + ], + "595": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + null, + 613, + null + ], + [ + 580, + 580, + 580 + ] + ], + "result": { + "count": 1, + "id": 595 + } + } + ], + "596": [ + { + "inShape": [ + [ + null, + 613 + ], + [ + 580, + 613 + ], + [ + 580, + 580 + ] + ], + "result": { + "count": 1, + "id": 596 + } + } + ], + "597": [ + { + "inShape": [ + [ + null, + 613 + ], + [ + null, + 613 + ], + [ + 580, + 580 + ] + ], + "result": { + "count": 1, + "id": 597 + } + } + ], + "598": [ + { + "inShape": [ + [ + 613 + ], + [ + 579 + ], + [ + 579 + ] + ], + "result": { + "count": 1, + "id": 598 + } + } + ], + "599": [ + { + "inShape": [ + [ + 613 + ], + [ + 613 + ], + [ + 579 + ] + ], + "result": { + "count": 1, + "id": 599 + } + } + ], + "600": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + null, + 613, + null + ], + [ + 579, + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 600 + } + } + ], + "601": [ + { + "inShape": [ + [ + null, + 613 + ], + [ + 579, + 613 + ], + [ + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 601 + } + } + ], + "602": [ + { + "inShape": [ + [ + null, + 613 + ], + [ + null, + 613 + ], + [ + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 602 + } + } + ], + "603": [ + { + "inShape": [ + [ + 613 + ], + [ + 578 + ], + [ + 578 + ] + ], + "result": { + "count": 1, + "id": 603 + } + } + ], + "604": [ + { + "inShape": [ + [ + 613 + ], + [ + 613 + ], + [ + 578 + ] + ], + "result": { + "count": 1, + "id": 604 + } + } + ], + "605": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + null, + 613, + null + ], + [ + 578, + 578, + 578 + ] + ], + "result": { + "count": 1, + "id": 605 + } + } + ], + "606": [ + { + "inShape": [ + [ + null, + 613 + ], + [ + 578, + 613 + ], + [ + 578, + 578 + ] + ], + "result": { + "count": 1, + "id": 606 + } + } + ], + "607": [ + { + "inShape": [ + [ + null, + 613 + ], + [ + null, + 613 + ], + [ + 578, + 578 + ] + ], + "result": { + "count": 1, + "id": 607 + } + } + ], + "613": [ + { + "inShape": [ + [ + 15 + ], + [ + 15 + ] + ], + "result": { + "count": 4, + "id": 613 + } + }, + { + "inShape": [ + [ + 16 + ], + [ + 16 + ] + ], + "result": { + "count": 4, + "id": 613 + } + }, + { + "inShape": [ + [ + 17 + ], + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 613 + } + }, + { + "inShape": [ + [ + 18 + ], + [ + 18 + ] + ], + "result": { + "count": 4, + "id": 613 + } + }, + { + "inShape": [ + [ + 19 + ], + [ + 19 + ] + ], + "result": { + "count": 4, + "id": 613 + } + }, + { + "inShape": [ + [ + 20 + ], + [ + 20 + ] + ], + "result": { + "count": 4, + "id": 613 + } + }, + { + "inShape": [ + [ + 21 + ], + [ + 21 + ] + ], + "result": { + "count": 4, + "id": 613 + } + }, + { + "inShape": [ + [ + 22 + ], + [ + 22 + ] + ], + "result": { + "count": 4, + "id": 613 + } + }, + { + "inShape": [ + [ + 135 + ], + [ + 135 + ] + ], + "result": { + "count": 1, + "id": 613 + } + } + ], + "614": [ + { + "inShape": [ + [ + null, + 15, + null + ], + [ + 15, + null, + 15 + ] + ], + "result": { + "count": 4, + "id": 614 + } + }, + { + "inShape": [ + [ + null, + 16, + null + ], + [ + 16, + null, + 16 + ] + ], + "result": { + "count": 4, + "id": 614 + } + }, + { + "inShape": [ + [ + null, + 17, + null + ], + [ + 17, + null, + 17 + ] + ], + "result": { + "count": 4, + "id": 614 + } + }, + { + "inShape": [ + [ + null, + 18, + null + ], + [ + 18, + null, + 18 + ] + ], + "result": { + "count": 4, + "id": 614 + } + }, + { + "inShape": [ + [ + null, + 19, + null + ], + [ + 19, + null, + 19 + ] + ], + "result": { + "count": 4, + "id": 614 + } + }, + { + "inShape": [ + [ + null, + 20, + null + ], + [ + 20, + null, + 20 + ] + ], + "result": { + "count": 4, + "id": 614 + } + }, + { + "inShape": [ + [ + null, + 21, + null + ], + [ + 21, + null, + 21 + ] + ], + "result": { + "count": 4, + "id": 614 + } + }, + { + "inShape": [ + [ + null, + 22, + null + ], + [ + 22, + null, + 22 + ] + ], + "result": { + "count": 4, + "id": 614 + } + } + ], + "615": [ + { + "ingredients": [ + 124, + 125, + 614 + ], + "result": { + "count": 1, + "id": 615 + } + } + ], + "620": [ + { + "ingredients": [ + 349 + ], + "result": { + "count": 9, + "id": 620 + } + } + ], + "621": [ + { + "inShape": [ + [ + 620, + 620, + 620 + ] + ], + "result": { + "count": 1, + "id": 621 + } + } + ], + "622": [ + { + "inShape": [ + [ + 668, + null, + 668 + ], + [ + 668, + 668, + 668 + ] + ], + "result": { + "count": 1, + "id": 622 + } + } + ], + "623": [ + { + "inShape": [ + [ + 668, + 668, + 668 + ], + [ + 668, + 668, + 668 + ], + [ + 668, + null, + 668 + ] + ], + "result": { + "count": 1, + "id": 623 + } + } + ], + "624": [ + { + "inShape": [ + [ + 668, + null, + 668 + ], + [ + 668, + null, + 668 + ], + [ + 668, + 668, + 668 + ] + ], + "result": { + "count": 1, + "id": 624 + } + } + ], + "625": [ + { + "inShape": [ + [ + 668, + null, + 668 + ], + [ + 668, + null, + 668 + ] + ], + "result": { + "count": 1, + "id": 625 + } + } + ], + "630": [ + { + "inShape": [ + [ + 579, + null, + 579 + ], + [ + 579, + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 630 + } + } + ], + "631": [ + { + "inShape": [ + [ + 579, + 579, + 579 + ], + [ + 579, + 579, + 579 + ], + [ + 579, + null, + 579 + ] + ], + "result": { + "count": 1, + "id": 631 + } + } + ], + "632": [ + { + "inShape": [ + [ + 579, + null, + 579 + ], + [ + 579, + null, + 579 + ], + [ + 579, + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 632 + } + } + ], + "633": [ + { + "inShape": [ + [ + 579, + null, + 579 + ], + [ + 579, + null, + 579 + ] + ], + "result": { + "count": 1, + "id": 633 + } + } + ], + "634": [ + { + "inShape": [ + [ + 578, + null, + 578 + ], + [ + 578, + 578, + 578 + ] + ], + "result": { + "count": 1, + "id": 634 + } + } + ], + "635": [ + { + "inShape": [ + [ + 578, + 578, + 578 + ], + [ + 578, + 578, + 578 + ], + [ + 578, + null, + 578 + ] + ], + "result": { + "count": 1, + "id": 635 + } + } + ], + "636": [ + { + "inShape": [ + [ + 578, + null, + 578 + ], + [ + 578, + null, + 578 + ], + [ + 578, + 578, + 578 + ] + ], + "result": { + "count": 1, + "id": 636 + } + } + ], + "637": [ + { + "inShape": [ + [ + 578, + null, + 578 + ], + [ + 578, + null, + 578 + ] + ], + "result": { + "count": 1, + "id": 637 + } + } + ], + "638": [ + { + "inShape": [ + [ + 580, + null, + 580 + ], + [ + 580, + 580, + 580 + ] + ], + "result": { + "count": 1, + "id": 638 + } + } + ], + "639": [ + { + "inShape": [ + [ + 580, + 580, + 580 + ], + [ + 580, + 580, + 580 + ], + [ + 580, + null, + 580 + ] + ], + "result": { + "count": 1, + "id": 639 + } + } + ], + "640": [ + { + "inShape": [ + [ + 580, + null, + 580 + ], + [ + 580, + null, + 580 + ], + [ + 580, + 580, + 580 + ] + ], + "result": { + "count": 1, + "id": 640 + } + } + ], + "641": [ + { + "inShape": [ + [ + 580, + null, + 580 + ], + [ + 580, + null, + 580 + ] + ], + "result": { + "count": 1, + "id": 641 + } + } + ], + "649": [ + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 95, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 96, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 97, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 98, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 99, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 100, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 101, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 102, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 103, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 104, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 105, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 106, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 107, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 108, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 109, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + }, + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 110, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 649 + } + } + ], + "650": [ + { + "inShape": [ + [ + 580, + 580, + 580 + ], + [ + 580, + 573, + 580 + ], + [ + 580, + 580, + 580 + ] + ], + "result": { + "count": 1, + "id": 650 + } + } + ], + "652": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 15, + 15, + 15 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 3, + "id": 652 + } + } + ], + "653": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 16, + 16, + 16 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 3, + "id": 653 + } + } + ], + "654": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 17, + 17, + 17 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 3, + "id": 654 + } + } + ], + "655": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 18, + 18, + 18 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 3, + "id": 655 + } + } + ], + "656": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 19, + 19, + 19 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 3, + "id": 656 + } + } + ], + "657": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 20, + 20, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 3, + "id": 657 + } + } + ], + "658": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 21, + 21, + 21 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 3, + "id": 658 + } + } + ], + "659": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 22, + 22, + 22 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 3, + "id": 659 + } + } + ], + "660": [ + { + "inShape": [ + [ + null, + 579, + null + ], + [ + 579, + null, + 579 + ] + ], + "result": { + "count": 1, + "id": 660 + } + } + ], + "663": [ + { + "inShape": [ + [ + 579, + 579, + 579 + ], + [ + 579, + null, + 579 + ] + ], + "result": { + "count": 1, + "id": 663 + } + } + ], + "665": [ + { + "ingredients": [ + 321 + ], + "result": { + "count": 9, + "id": 665 + } + } + ], + "667": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 15, + null, + 15 + ] + ], + "result": { + "count": 1, + "id": 667 + } + } + ], + "668": [ + { + "inShape": [ + [ + 859, + 859 + ], + [ + 859, + 859 + ] + ], + "result": { + "count": 1, + "id": 668 + } + } + ], + "676": [ + { + "ingredients": [ + 736, + 736, + 736, + 736, + 736, + 736, + 736, + 736, + 736 + ], + "result": { + "count": 1, + "id": 676 + } + } + ], + "677": [ + { + "inShape": [ + [ + 133, + 133, + 133 + ] + ], + "result": { + "count": 3, + "id": 677 + } + } + ], + "678": [ + { + "ingredients": [ + 677, + 677, + 677, + 668 + ], + "result": { + "count": 1, + "id": 678 + } + } + ], + "679": [ + { + "ingredients": [ + 371 + ], + "result": { + "count": 9, + "id": 679 + } + } + ], + "680": [ + { + "inShape": [ + [ + 663 + ], + [ + 180 + ] + ], + "result": { + "count": 1, + "id": 680 + } + } + ], + "681": [ + { + "inShape": [ + [ + 663 + ], + [ + 185 + ] + ], + "result": { + "count": 1, + "id": 681 + } + } + ], + "683": [ + { + "inShape": [ + [ + null, + 579, + null + ], + [ + 579, + 665, + 579 + ], + [ + null, + 579, + null + ] + ], + "result": { + "count": 1, + "id": 683 + } + } + ], + "684": [ + { + "inShape": [ + [ + 613, + null, + 616 + ], + [ + null, + 613, + 616 + ], + [ + null, + null, + 613 + ] + ], + "result": { + "count": 1, + "id": 684 + } + } + ], + "685": [ + { + "inShape": [ + [ + null, + 580, + null + ], + [ + 580, + 665, + 580 + ], + [ + null, + 580, + null + ] + ], + "result": { + "count": 1, + "id": 685 + } + } + ], + "695": [ + { + "ingredients": [ + 79 + ], + "result": { + "count": 9, + "id": 695 + } + } + ], + "696": [ + { + "ingredients": [ + 712 + ], + "result": { + "count": 1, + "id": 696 + } + }, + { + "ingredients": [ + 122 + ], + "result": { + "count": 1, + "id": 696 + } + } + ], + "697": [ + { + "ingredients": [ + 117 + ], + "result": { + "count": 1, + "id": 697 + } + }, + { + "ingredients": [ + 710, + 700 + ], + "result": { + "count": 2, + "id": 697 + } + } + ], + "698": [ + { + "ingredients": [ + 114 + ], + "result": { + "count": 1, + "id": 698 + } + }, + { + "ingredients": [ + 707, + 710, + 702 + ], + "result": { + "count": 3, + "id": 698 + } + }, + { + "ingredients": [ + 707, + 710, + 710, + 696 + ], + "result": { + "count": 4, + "id": 698 + } + }, + { + "ingredients": [ + 374 + ], + "result": { + "count": 2, + "id": 698 + } + }, + { + "ingredients": [ + 706, + 702 + ], + "result": { + "count": 2, + "id": 698 + } + } + ], + "699": [ + { + "ingredients": [ + 113 + ], + "result": { + "count": 1, + "id": 699 + } + }, + { + "ingredients": [ + 707, + 696 + ], + "result": { + "count": 2, + "id": 699 + } + } + ], + "700": [ + { + "ingredients": [ + 111 + ], + "result": { + "count": 1, + "id": 700 + } + }, + { + "ingredients": [ + 373 + ], + "result": { + "count": 2, + "id": 700 + } + } + ], + "701": [ + { + "ingredients": [ + 709, + 696 + ], + "result": { + "count": 2, + "id": 701 + } + } + ], + "702": [ + { + "ingredients": [ + 376 + ], + "result": { + "count": 2, + "id": 702 + } + }, + { + "ingredients": [ + 119 + ], + "result": { + "count": 1, + "id": 702 + } + }, + { + "ingredients": [ + 710, + 696 + ], + "result": { + "count": 2, + "id": 702 + } + } + ], + "703": [ + { + "ingredients": [ + 711, + 696 + ], + "result": { + "count": 2, + "id": 703 + } + } + ], + "704": [ + { + "ingredients": [ + 115 + ], + "result": { + "count": 1, + "id": 704 + } + }, + { + "ingredients": [ + 711, + 696, + 696 + ], + "result": { + "count": 3, + "id": 704 + } + }, + { + "ingredients": [ + 703, + 696 + ], + "result": { + "count": 2, + "id": 704 + } + }, + { + "ingredients": [ + 120 + ], + "result": { + "count": 1, + "id": 704 + } + }, + { + "ingredients": [ + 118 + ], + "result": { + "count": 1, + "id": 704 + } + } + ], + "705": [ + { + "ingredients": [ + 707, + 709 + ], + "result": { + "count": 2, + "id": 705 + } + } + ], + "706": [ + { + "ingredients": [ + 707, + 710 + ], + "result": { + "count": 2, + "id": 706 + } + } + ], + "707": [ + { + "ingredients": [ + 695 + ], + "result": { + "count": 1, + "id": 707 + } + }, + { + "ingredients": [ + 121 + ], + "result": { + "count": 1, + "id": 707 + } + } + ], + "708": [ + { + "ingredients": [ + 694 + ], + "result": { + "count": 1, + "id": 708 + } + } + ], + "710": [ + { + "ingredients": [ + 889 + ], + "result": { + "count": 1, + "id": 710 + } + }, + { + "ingredients": [ + 112 + ], + "result": { + "count": 1, + "id": 710 + } + }, + { + "ingredients": [ + 375 + ], + "result": { + "count": 2, + "id": 710 + } + }, + { + "ingredients": [ + 116 + ], + "result": { + "count": 1, + "id": 710 + } + } + ], + "711": [ + { + "ingredients": [ + 693 + ], + "result": { + "count": 1, + "id": 711 + } + }, + { + "ingredients": [ + 123 + ], + "result": { + "count": 1, + "id": 711 + } + } + ], + "712": [ + { + "ingredients": [ + 713 + ], + "result": { + "count": 3, + "id": 712 + } + }, + { + "ingredients": [ + 428 + ], + "result": { + "count": 9, + "id": 712 + } + } + ], + "714": [ + { + "ingredients": [ + 955 + ], + "result": { + "count": 3, + "id": 714 + } + }, + { + "ingredients": [ + 133 + ], + "result": { + "count": 1, + "id": 714 + } + } + ], + "715": [ + { + "inShape": [ + [ + 620, + 620, + 620 + ], + [ + 714, + 682, + 714 + ], + [ + 669, + 669, + 669 + ] + ], + "result": { + "count": 1, + "id": 715 + } + } + ], + "716": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 716 + } + } + ], + "717": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 717 + } + }, + { + "ingredients": [ + 716, + 697 + ], + "result": { + "count": 1, + "id": 717 + } + } + ], + "718": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 718 + } + }, + { + "ingredients": [ + 716, + 698 + ], + "result": { + "count": 1, + "id": 718 + } + } + ], + "719": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 719 + } + }, + { + "ingredients": [ + 716, + 699 + ], + "result": { + "count": 1, + "id": 719 + } + } + ], + "720": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 720 + } + }, + { + "ingredients": [ + 716, + 700 + ], + "result": { + "count": 1, + "id": 720 + } + } + ], + "721": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 721 + } + }, + { + "ingredients": [ + 716, + 701 + ], + "result": { + "count": 1, + "id": 721 + } + } + ], + "722": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 722 + } + }, + { + "ingredients": [ + 716, + 702 + ], + "result": { + "count": 1, + "id": 722 + } + } + ], + "723": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 723 + } + }, + { + "ingredients": [ + 716, + 703 + ], + "result": { + "count": 1, + "id": 723 + } + } + ], + "724": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 724 + } + }, + { + "ingredients": [ + 716, + 704 + ], + "result": { + "count": 1, + "id": 724 + } + } + ], + "725": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 725 + } + }, + { + "ingredients": [ + 716, + 705 + ], + "result": { + "count": 1, + "id": 725 + } + } + ], + "726": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 726 + } + }, + { + "ingredients": [ + 716, + 706 + ], + "result": { + "count": 1, + "id": 726 + } + } + ], + "727": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 727 + } + }, + { + "ingredients": [ + 716, + 707 + ], + "result": { + "count": 1, + "id": 727 + } + } + ], + "728": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 728 + } + }, + { + "ingredients": [ + 716, + 708 + ], + "result": { + "count": 1, + "id": 728 + } + } + ], + "729": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 729 + } + }, + { + "ingredients": [ + 716, + 709 + ], + "result": { + "count": 1, + "id": 729 + } + } + ], + "730": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 730 + } + }, + { + "ingredients": [ + 716, + 710 + ], + "result": { + "count": 1, + "id": 730 + } + } + ], + "731": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 731 + } + }, + { + "ingredients": [ + 716, + 711 + ], + "result": { + "count": 1, + "id": 731 + } + } + ], + "732": [ + { + "inShape": [ + [ + 620, + 694, + 620 + ] + ], + "result": { + "count": 8, + "id": 732 + } + } + ], + "734": [ + { + "inShape": [ + [ + 579, + null + ], + [ + null, + 579 + ] + ], + "result": { + "count": 1, + "id": 734 + } + } + ], + "736": [ + { + "ingredients": [ + 676 + ], + "result": { + "count": 9, + "id": 736 + } + } + ], + "737": [ + { + "ingredients": [ + 216 + ], + "result": { + "count": 4, + "id": 737 + } + } + ], + "738": [ + { + "ingredients": [ + 735 + ], + "result": { + "count": 1, + "id": 738 + } + } + ], + "747": [ + { + "ingredients": [ + 580 + ], + "result": { + "count": 9, + "id": 747 + } + } + ], + "750": [ + { + "inShape": [ + [ + null, + 77, + null + ], + [ + 77, + null, + 77 + ] + ], + "result": { + "count": 3, + "id": 750 + } + } + ], + "752": [ + { + "ingredients": [ + 751, + 124, + 714 + ], + "result": { + "count": 1, + "id": 752 + } + } + ], + "753": [ + { + "ingredients": [ + 745 + ], + "result": { + "count": 2, + "id": 753 + } + } + ], + "754": [ + { + "ingredients": [ + 753, + 679 + ], + "result": { + "count": 1, + "id": 754 + } + } + ], + "755": [ + { + "inShape": [ + [ + 14, + 14, + 14 + ], + [ + null, + 745, + null + ] + ], + "result": { + "count": 1, + "id": 755 + } + }, + { + "inShape": [ + [ + 963, + 963, + 963 + ], + [ + null, + 745, + null + ] + ], + "result": { + "count": 1, + "id": 755 + } + } + ], + "756": [ + { + "inShape": [ + [ + 579, + 579, + 579 + ], + [ + 579, + null, + 579 + ], + [ + 579, + null, + 579 + ] + ], + "result": { + "count": 1, + "id": 756 + } + } + ], + "757": [ + { + "ingredients": [ + 744, + 753 + ], + "result": { + "count": 1, + "id": 757 + } + } + ], + "758": [ + { + "inShape": [ + [ + 747, + 747, + 747 + ], + [ + 747, + 735, + 747 + ], + [ + 747, + 747, + 747 + ] + ], + "result": { + "count": 1, + "id": 758 + } + } + ], + "824": [ + { + "ingredients": [ + 618, + 753, + 576 + ], + "result": { + "count": 3, + "id": 824 + } + }, + { + "ingredients": [ + 618, + 753, + 577 + ], + "result": { + "count": 3, + "id": 824 + } + } + ], + "825": [ + { + "ingredients": [ + 678, + 693, + 617 + ], + "result": { + "count": 1, + "id": 825 + } + } + ], + "827": [ + { + "ingredients": [ + 279 + ], + "result": { + "count": 9, + "id": 827 + } + } + ], + "828": [ + { + "inShape": [ + [ + 613, + 613, + 613 + ], + [ + 613, + 668, + 613 + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 828 + } + } + ], + "829": [ + { + "inShape": [ + [ + null, + 674, + null + ], + [ + 674, + null, + 674 + ] + ], + "result": { + "count": 1, + "id": 829 + } + } + ], + "834": [ + { + "inShape": [ + [ + 677, + 677, + 677 + ], + [ + 677, + 683, + 677 + ], + [ + 677, + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 834 + } + } + ], + "835": [ + { + "inShape": [ + [ + 747, + 747, + 747 + ], + [ + 747, + 830, + 747 + ], + [ + 747, + 747, + 747 + ] + ], + "result": { + "count": 1, + "id": 835 + } + } + ], + "842": [ + { + "inShape": [ + [ + null, + 830 + ], + [ + 684, + null + ] + ], + "result": { + "count": 1, + "id": 842 + } + } + ], + "843": [ + { + "inShape": [ + [ + null, + 127 + ], + [ + 684, + null + ] + ], + "result": { + "count": 1, + "id": 843 + } + } + ], + "845": [ + { + "ingredients": [ + 216, + 714, + 682 + ], + "result": { + "count": 1, + "id": 845 + } + } + ], + "851": [ + { + "inShape": [ + [ + 663 + ], + [ + 167 + ] + ], + "result": { + "count": 1, + "id": 851 + } + } + ], + "852": [ + { + "inShape": [ + [ + 663 + ], + [ + 323 + ] + ], + "result": { + "count": 1, + "id": 852 + } + } + ], + "857": [ + { + "ingredients": [ + 832, + 856, + 614, + 830, + 124 + ], + "result": { + "count": 1, + "id": 857 + } + }, + { + "ingredients": [ + 832, + 856, + 614, + 830, + 125 + ], + "result": { + "count": 1, + "id": 857 + } + } + ], + "860": [ + { + "inShape": [ + [ + 613, + 147, + 613 + ], + [ + null, + 613, + null + ], + [ + 613, + 613, + 613 + ] + ], + "result": { + "count": 1, + "id": 860 + } + } + ], + "864": [ + { + "inShape": [ + [ + 668, + null, + 668 + ], + [ + 668, + 668, + 668 + ], + [ + 668, + null, + 668 + ] + ], + "result": { + "count": 1, + "id": 864 + } + } + ], + "865": [ + { + "inShape": [ + [ + null, + null, + 616 + ], + [ + 616, + 679, + null + ], + [ + 616, + 616, + null + ] + ], + "result": { + "count": 2, + "id": 865 + } + } + ], + "870": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 95, + 95, + 95 + ], + [ + 95, + 95, + 95 + ] + ], + "result": { + "count": 1, + "id": 870 + } + } + ], + "871": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 96, + 96, + 96 + ], + [ + 96, + 96, + 96 + ] + ], + "result": { + "count": 1, + "id": 871 + } + } + ], + "872": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 97, + 97, + 97 + ], + [ + 97, + 97, + 97 + ] + ], + "result": { + "count": 1, + "id": 872 + } + } + ], + "873": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 98, + 98, + 98 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 1, + "id": 873 + } + } + ], + "874": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 99, + 99, + 99 + ], + [ + 99, + 99, + 99 + ] + ], + "result": { + "count": 1, + "id": 874 + } + } + ], + "875": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 100, + 100, + 100 + ], + [ + 100, + 100, + 100 + ] + ], + "result": { + "count": 1, + "id": 875 + } + } + ], + "876": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 101, + 101, + 101 + ], + [ + 101, + 101, + 101 + ] + ], + "result": { + "count": 1, + "id": 876 + } + } + ], + "877": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 102, + 102, + 102 + ], + [ + 102, + 102, + 102 + ] + ], + "result": { + "count": 1, + "id": 877 + } + } + ], + "878": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 103, + 103, + 103 + ], + [ + 103, + 103, + 103 + ] + ], + "result": { + "count": 1, + "id": 878 + } + } + ], + "879": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 104, + 104, + 104 + ], + [ + 104, + 104, + 104 + ] + ], + "result": { + "count": 1, + "id": 879 + } + } + ], + "880": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 105, + 105, + 105 + ], + [ + 105, + 105, + 105 + ] + ], + "result": { + "count": 1, + "id": 880 + } + } + ], + "881": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 106, + 106, + 106 + ], + [ + 106, + 106, + 106 + ] + ], + "result": { + "count": 1, + "id": 881 + } + } + ], + "882": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 107, + 107, + 107 + ], + [ + 107, + 107, + 107 + ] + ], + "result": { + "count": 1, + "id": 882 + } + } + ], + "883": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 108, + 108, + 108 + ], + [ + 108, + 108, + 108 + ] + ], + "result": { + "count": 1, + "id": 883 + } + } + ], + "884": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 109, + 109, + 109 + ], + [ + 109, + 109, + 109 + ] + ], + "result": { + "count": 1, + "id": 884 + } + } + ], + "885": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 110, + 110, + 110 + ], + [ + 110, + 110, + 110 + ] + ], + "result": { + "count": 1, + "id": 885 + } + } + ], + "886": [ + { + "inShape": [ + [ + 77, + 746, + 77 + ], + [ + 77, + 757, + 77 + ], + [ + 77, + 77, + 77 + ] + ], + "result": { + "count": 1, + "id": 886 + } + } + ], + "891": [ + { + "ingredients": [ + 614, + 889, + 889, + 889, + 889, + 889, + 889 + ], + "result": { + "count": 1, + "id": 891 + } + } + ], + "894": [ + { + "inShape": [ + [ + null, + 686, + null + ], + [ + 686, + 575, + 686 + ], + [ + null, + 686, + null + ] + ], + "result": { + "count": 2, + "id": 894 + } + } + ], + "897": [ + { + "inShape": [ + [ + null, + 15, + null + ], + [ + 15, + 15, + 15 + ], + [ + 15, + 579, + 15 + ] + ], + "result": { + "count": 1, + "id": 897 + } + }, + { + "inShape": [ + [ + null, + 16, + null + ], + [ + 16, + 16, + 16 + ], + [ + 16, + 579, + 16 + ] + ], + "result": { + "count": 1, + "id": 897 + } + }, + { + "inShape": [ + [ + null, + 17, + null + ], + [ + 17, + 17, + 17 + ], + [ + 17, + 579, + 17 + ] + ], + "result": { + "count": 1, + "id": 897 + } + }, + { + "inShape": [ + [ + null, + 18, + null + ], + [ + 18, + 18, + 18 + ], + [ + 18, + 579, + 18 + ] + ], + "result": { + "count": 1, + "id": 897 + } + }, + { + "inShape": [ + [ + null, + 19, + null + ], + [ + 19, + 19, + 19 + ], + [ + 19, + 579, + 19 + ] + ], + "result": { + "count": 1, + "id": 897 + } + }, + { + "inShape": [ + [ + null, + 20, + null + ], + [ + 20, + 20, + 20 + ], + [ + 20, + 579, + 20 + ] + ], + "result": { + "count": 1, + "id": 897 + } + }, + { + "inShape": [ + [ + null, + 21, + null + ], + [ + 21, + 21, + 21 + ], + [ + 21, + 579, + 21 + ] + ], + "result": { + "count": 1, + "id": 897 + } + }, + { + "inShape": [ + [ + null, + 22, + null + ], + [ + 22, + 22, + 22 + ], + [ + 22, + 579, + 22 + ] + ], + "result": { + "count": 1, + "id": 897 + } + } + ], + "899": [ + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 16, + null, + 16 + ] + ], + "result": { + "count": 1, + "id": 899 + } + } + ], + "900": [ + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 17, + null, + 17 + ] + ], + "result": { + "count": 1, + "id": 900 + } + } + ], + "901": [ + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 18, + null, + 18 + ] + ], + "result": { + "count": 1, + "id": 901 + } + } + ], + "902": [ + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 19, + null, + 19 + ] + ], + "result": { + "count": 1, + "id": 902 + } + } + ], + "903": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + null, + 20 + ] + ], + "result": { + "count": 1, + "id": 903 + } + } + ], + "906": [ + { + "ingredients": [ + 579 + ], + "result": { + "count": 9, + "id": 906 + } + } + ], + "926": [ + { + "inShape": [ + [ + null, + 613, + null + ], + [ + 616, + 278, + 616 + ], + [ + 613, + 579, + 613 + ] + ], + "result": { + "count": 1, + "id": 926 + } + } + ], + "928": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 616, + 616 + ] + ], + "result": { + "count": 1, + "id": 928 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 616, + 616 + ] + ], + "result": { + "count": 1, + "id": 928 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 616, + 616 + ] + ], + "result": { + "count": 1, + "id": 928 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 616, + 616 + ] + ], + "result": { + "count": 1, + "id": 928 + } + }, + { + "inShape": [ + [ + 19, + 19 + ], + [ + 616, + 616 + ] + ], + "result": { + "count": 1, + "id": 928 + } + }, + { + "inShape": [ + [ + 20, + 20 + ], + [ + 616, + 616 + ] + ], + "result": { + "count": 1, + "id": 928 + } + }, + { + "inShape": [ + [ + 21, + 21 + ], + [ + 616, + 616 + ] + ], + "result": { + "count": 1, + "id": 928 + } + }, + { + "inShape": [ + [ + 22, + 22 + ], + [ + 616, + 616 + ] + ], + "result": { + "count": 1, + "id": 928 + } + } + ], + "929": [ + { + "ingredients": [ + 677, + 120 + ], + "result": { + "count": 1, + "id": 929 + } + } + ], + "930": [ + { + "ingredients": [ + 677, + 840 + ], + "result": { + "count": 1, + "id": 930 + } + } + ], + "931": [ + { + "ingredients": [ + 677, + 837 + ], + "result": { + "count": 1, + "id": 931 + } + } + ], + "932": [ + { + "ingredients": [ + 677, + 651 + ], + "result": { + "count": 1, + "id": 932 + } + } + ], + "935": [ + { + "inShape": [ + [ + 138, + 138, + 138 + ], + [ + 138, + null, + 138 + ], + [ + 138, + null, + 138 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 139, + 139, + 139 + ], + [ + 139, + null, + 139 + ], + [ + 139, + null, + 139 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 140, + 140, + 140 + ], + [ + 140, + null, + 140 + ], + [ + 140, + null, + 140 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 141, + 141, + 141 + ], + [ + 141, + null, + 141 + ], + [ + 141, + null, + 141 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 142, + 142, + 142 + ], + [ + 142, + null, + 142 + ], + [ + 142, + null, + 142 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 143, + 143, + 143 + ], + [ + 143, + null, + 143 + ], + [ + 143, + null, + 143 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 144, + 144, + 144 + ], + [ + 144, + null, + 144 + ], + [ + 144, + null, + 144 + ] + ], + "result": { + "count": 1, + "id": 935 + } + }, + { + "inShape": [ + [ + 145, + 145, + 145 + ], + [ + 145, + null, + 145 + ], + [ + 145, + null, + 145 + ] + ], + "result": { + "count": 1, + "id": 935 + } + } + ], + "936": [ + { + "inShape": [ + [ + 15, + 138, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 138, + 15 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 15, + 139, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 139, + 15 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 15, + 140, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 140, + 15 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 15, + 141, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 141, + 15 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 15, + 142, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 142, + 15 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 15, + 143, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 143, + 15 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 15, + 144, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 144, + 15 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 15, + 145, + 15 + ], + [ + 15, + null, + 15 + ], + [ + 15, + 145, + 15 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 16, + 138, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 138, + 16 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 16, + 139, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 139, + 16 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 16, + 140, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 140, + 16 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 16, + 141, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 141, + 16 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 16, + 142, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 142, + 16 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 16, + 143, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 143, + 16 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 16, + 144, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 144, + 16 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 16, + 145, + 16 + ], + [ + 16, + null, + 16 + ], + [ + 16, + 145, + 16 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 17, + 138, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 138, + 17 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 17, + 139, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 139, + 17 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 17, + 140, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 140, + 17 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 17, + 141, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 141, + 17 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 17, + 142, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 142, + 17 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 17, + 143, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 143, + 17 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 17, + 144, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 144, + 17 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 17, + 145, + 17 + ], + [ + 17, + null, + 17 + ], + [ + 17, + 145, + 17 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 18, + 138, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 138, + 18 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 18, + 139, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 139, + 18 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 18, + 140, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 140, + 18 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 18, + 141, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 141, + 18 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 18, + 142, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 142, + 18 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 18, + 143, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 143, + 18 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 18, + 144, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 144, + 18 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 18, + 145, + 18 + ], + [ + 18, + null, + 18 + ], + [ + 18, + 145, + 18 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 19, + 138, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 138, + 19 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 19, + 139, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 139, + 19 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 19, + 140, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 140, + 19 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 19, + 141, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 141, + 19 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 19, + 142, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 142, + 19 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 19, + 143, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 143, + 19 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 19, + 144, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 144, + 19 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 19, + 145, + 19 + ], + [ + 19, + null, + 19 + ], + [ + 19, + 145, + 19 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 20, + 138, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 138, + 20 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 20, + 139, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 139, + 20 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 20, + 140, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 140, + 20 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 20, + 141, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 141, + 20 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 20, + 142, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 142, + 20 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 20, + 143, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 143, + 20 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 20, + 144, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 144, + 20 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 20, + 145, + 20 + ], + [ + 20, + null, + 20 + ], + [ + 20, + 145, + 20 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 21, + 138, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 138, + 21 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 21, + 139, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 139, + 21 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 21, + 140, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 140, + 21 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 21, + 141, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 141, + 21 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 21, + 142, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 142, + 21 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 21, + 143, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 143, + 21 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 21, + 144, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 144, + 21 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 21, + 145, + 21 + ], + [ + 21, + null, + 21 + ], + [ + 21, + 145, + 21 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 22, + 138, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 138, + 22 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 22, + 139, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 139, + 22 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 22, + 140, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 140, + 22 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 22, + 141, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 141, + 22 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 22, + 142, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 142, + 22 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 22, + 143, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 143, + 22 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 22, + 144, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 144, + 22 + ] + ], + "result": { + "count": 1, + "id": 936 + } + }, + { + "inShape": [ + [ + 22, + 145, + 22 + ], + [ + 22, + null, + 22 + ], + [ + 22, + 145, + 22 + ] + ], + "result": { + "count": 1, + "id": 936 + } + } + ], + "937": [ + { + "inShape": [ + [ + null, + 42, + null + ], + [ + 42, + 185, + 42 + ], + [ + null, + 42, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 66, + null + ], + [ + 66, + 185, + 66 + ], + [ + null, + 66, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 50, + null + ], + [ + 50, + 185, + 50 + ], + [ + null, + 50, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 58, + null + ], + [ + 58, + 185, + 58 + ], + [ + null, + 58, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 37, + null + ], + [ + 37, + 185, + 37 + ], + [ + null, + 37, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 61, + null + ], + [ + 61, + 185, + 61 + ], + [ + null, + 61, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 45, + null + ], + [ + 45, + 185, + 45 + ], + [ + null, + 45, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 53, + null + ], + [ + 53, + 185, + 53 + ], + [ + null, + 53, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 41, + null + ], + [ + 41, + 185, + 41 + ], + [ + null, + 41, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 65, + null + ], + [ + 65, + 185, + 65 + ], + [ + null, + 65, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 49, + null + ], + [ + 49, + 185, + 49 + ], + [ + null, + 49, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 57, + null + ], + [ + 57, + 185, + 57 + ], + [ + null, + 57, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 39, + null + ], + [ + 39, + 185, + 39 + ], + [ + null, + 39, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 63, + null + ], + [ + 63, + 185, + 63 + ], + [ + null, + 63, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 47, + null + ], + [ + 47, + 185, + 47 + ], + [ + null, + 47, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 55, + null + ], + [ + 55, + 185, + 55 + ], + [ + null, + 55, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 40, + null + ], + [ + 40, + 185, + 40 + ], + [ + null, + 40, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 64, + null + ], + [ + 64, + 185, + 64 + ], + [ + null, + 64, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 48, + null + ], + [ + 48, + 185, + 48 + ], + [ + null, + 48, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 56, + null + ], + [ + 56, + 185, + 56 + ], + [ + null, + 56, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 38, + null + ], + [ + 38, + 185, + 38 + ], + [ + null, + 38, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 62, + null + ], + [ + 62, + 185, + 62 + ], + [ + null, + 62, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 46, + null + ], + [ + 46, + 185, + 46 + ], + [ + null, + 46, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 54, + null + ], + [ + 54, + 185, + 54 + ], + [ + null, + 54, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 43, + null + ], + [ + 43, + 185, + 43 + ], + [ + null, + 43, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 51, + null + ], + [ + 51, + 185, + 51 + ], + [ + null, + 51, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 67, + null + ], + [ + 67, + 185, + 67 + ], + [ + null, + 67, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 59, + null + ], + [ + 59, + 185, + 59 + ], + [ + null, + 59, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 44, + null + ], + [ + 44, + 185, + 44 + ], + [ + null, + 44, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 52, + null + ], + [ + 52, + 185, + 52 + ], + [ + null, + 52, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 68, + null + ], + [ + 68, + 185, + 68 + ], + [ + null, + 68, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + }, + { + "inShape": [ + [ + null, + 60, + null + ], + [ + 60, + 185, + 60 + ], + [ + null, + 60, + null + ] + ], + "result": { + "count": 1, + "id": 937 + } + } + ], + "938": [ + { + "inShape": [ + [ + 165, + 165, + 165 + ], + [ + 579, + 185, + 579 + ], + [ + 579, + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 938 + } + } + ], + "939": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 939 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 939 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 939 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 939 + } + }, + { + "inShape": [ + [ + 19, + 19 + ], + [ + 19, + 19 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 939 + } + }, + { + "inShape": [ + [ + 20, + 20 + ], + [ + 20, + 20 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 939 + } + }, + { + "inShape": [ + [ + 21, + 21 + ], + [ + 21, + 21 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 939 + } + }, + { + "inShape": [ + [ + 22, + 22 + ], + [ + 22, + 22 + ], + [ + 677, + 677 + ] + ], + "result": { + "count": 1, + "id": 939 + } + } + ], + "940": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 940 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 940 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 940 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 940 + } + }, + { + "inShape": [ + [ + 19, + 19 + ], + [ + 19, + 19 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 940 + } + }, + { + "inShape": [ + [ + 20, + 20 + ], + [ + 20, + 20 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 940 + } + }, + { + "inShape": [ + [ + 21, + 21 + ], + [ + 21, + 21 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 940 + } + }, + { + "inShape": [ + [ + 22, + 22 + ], + [ + 22, + 22 + ], + [ + 646, + 646 + ] + ], + "result": { + "count": 1, + "id": 940 + } + } + ], + "941": [ + { + "inShape": [ + [ + 15, + null, + 15 + ], + [ + 613, + 146, + 613 + ] + ], + "result": { + "count": 1, + "id": 941 + } + }, + { + "inShape": [ + [ + 16, + null, + 16 + ], + [ + 613, + 146, + 613 + ] + ], + "result": { + "count": 1, + "id": 941 + } + }, + { + "inShape": [ + [ + 17, + null, + 17 + ], + [ + 613, + 146, + 613 + ] + ], + "result": { + "count": 1, + "id": 941 + } + }, + { + "inShape": [ + [ + 18, + null, + 18 + ], + [ + 613, + 146, + 613 + ] + ], + "result": { + "count": 1, + "id": 941 + } + }, + { + "inShape": [ + [ + 19, + null, + 19 + ], + [ + 613, + 146, + 613 + ] + ], + "result": { + "count": 1, + "id": 941 + } + }, + { + "inShape": [ + [ + 20, + null, + 20 + ], + [ + 613, + 146, + 613 + ] + ], + "result": { + "count": 1, + "id": 941 + } + }, + { + "inShape": [ + [ + 21, + null, + 21 + ], + [ + 613, + 146, + 613 + ] + ], + "result": { + "count": 1, + "id": 941 + } + }, + { + "inShape": [ + [ + 22, + null, + 22 + ], + [ + 613, + 146, + 613 + ] + ], + "result": { + "count": 1, + "id": 941 + } + } + ], + "942": [ + { + "inShape": [ + [ + null, + 138, + null + ], + [ + null, + 168, + null + ], + [ + 138, + 138, + 138 + ] + ], + "result": { + "count": 1, + "id": 942 + } + }, + { + "inShape": [ + [ + null, + 139, + null + ], + [ + null, + 168, + null + ], + [ + 139, + 139, + 139 + ] + ], + "result": { + "count": 1, + "id": 942 + } + }, + { + "inShape": [ + [ + null, + 140, + null + ], + [ + null, + 168, + null + ], + [ + 140, + 140, + 140 + ] + ], + "result": { + "count": 1, + "id": 942 + } + }, + { + "inShape": [ + [ + null, + 141, + null + ], + [ + null, + 168, + null + ], + [ + 141, + 141, + 141 + ] + ], + "result": { + "count": 1, + "id": 942 + } + }, + { + "inShape": [ + [ + null, + 142, + null + ], + [ + null, + 168, + null + ], + [ + 142, + 142, + 142 + ] + ], + "result": { + "count": 1, + "id": 942 + } + }, + { + "inShape": [ + [ + null, + 143, + null + ], + [ + null, + 168, + null + ], + [ + 143, + 143, + 143 + ] + ], + "result": { + "count": 1, + "id": 942 + } + }, + { + "inShape": [ + [ + null, + 144, + null + ], + [ + null, + 168, + null + ], + [ + 144, + 144, + 144 + ] + ], + "result": { + "count": 1, + "id": 942 + } + }, + { + "inShape": [ + [ + null, + 145, + null + ], + [ + null, + 168, + null + ], + [ + 145, + 145, + 145 + ] + ], + "result": { + "count": 1, + "id": 942 + } + } + ], + "943": [ + { + "inShape": [ + [ + 15, + 15 + ], + [ + 15, + 15 + ], + [ + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 943 + } + }, + { + "inShape": [ + [ + 16, + 16 + ], + [ + 16, + 16 + ], + [ + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 943 + } + }, + { + "inShape": [ + [ + 17, + 17 + ], + [ + 17, + 17 + ], + [ + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 943 + } + }, + { + "inShape": [ + [ + 18, + 18 + ], + [ + 18, + 18 + ], + [ + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 943 + } + }, + { + "inShape": [ + [ + 19, + 19 + ], + [ + 19, + 19 + ], + [ + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 943 + } + }, + { + "inShape": [ + [ + 20, + 20 + ], + [ + 20, + 20 + ], + [ + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 943 + } + }, + { + "inShape": [ + [ + 21, + 21 + ], + [ + 21, + 21 + ], + [ + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 943 + } + }, + { + "inShape": [ + [ + 22, + 22 + ], + [ + 22, + 22 + ], + [ + 579, + 579 + ] + ], + "result": { + "count": 1, + "id": 943 + } + } + ], + "944": [ + { + "inShape": [ + [ + 1, + 1, + 1 + ], + [ + null, + 579, + null + ] + ], + "result": { + "count": 1, + "id": 944 + } + } + ], + "946": [ + { + "inShape": [ + [ + 906, + 906, + 906 + ], + [ + 906, + 171, + 906 + ], + [ + 906, + 906, + 906 + ] + ], + "result": { + "count": 1, + "id": 946 + } + } + ], + "947": [ + { + "inShape": [ + [ + 906, + 906, + 906 + ], + [ + 906, + 223, + 906 + ], + [ + 906, + 906, + 906 + ] + ], + "result": { + "count": 1, + "id": 947 + } + } + ], + "949": [ + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 66, + 66, + 66 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 66, + 66, + 66 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 50, + 50, + 50 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 50, + 50, + 50 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 58, + 58, + 58 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 58, + 58, + 58 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 61, + 61, + 61 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 61, + 61, + 61 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 53, + 53, + 53 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 53, + 53, + 53 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 65, + 65, + 65 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 65, + 65, + 65 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 57, + 57, + 57 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 57, + 57, + 57 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 63, + 63, + 63 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 63, + 63, + 63 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 47, + 47, + 47 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 47, + 47, + 47 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 55, + 55, + 55 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 55, + 55, + 55 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 56, + 56, + 56 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 56, + 56, + 56 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 62, + 62, + 62 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 62, + 62, + 62 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 54, + 54, + 54 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 54, + 54, + 54 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 51, + 51, + 51 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 51, + 51, + 51 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 67, + 67, + 67 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 67, + 67, + 67 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 59, + 59, + 59 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 59, + 59, + 59 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 52, + 52, + 52 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 52, + 52, + 52 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 60, + 60, + 60 + ], + [ + 613, + 576, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + }, + { + "inShape": [ + [ + 60, + 60, + 60 + ], + [ + 613, + 577, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 949 + } + } + ], + "950": [ + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 66, + 66, + 66 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 66, + 66, + 66 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 50, + 50, + 50 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 50, + 50, + 50 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 58, + 58, + 58 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 58, + 58, + 58 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 37, + 37, + 37 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 61, + 61, + 61 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 61, + 61, + 61 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 53, + 53, + 53 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 53, + 53, + 53 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 65, + 65, + 65 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 65, + 65, + 65 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 57, + 57, + 57 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 57, + 57, + 57 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 39, + 39, + 39 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 63, + 63, + 63 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 63, + 63, + 63 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 47, + 47, + 47 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 47, + 47, + 47 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 55, + 55, + 55 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 55, + 55, + 55 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 40, + 40, + 40 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 64, + 64, + 64 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 56, + 56, + 56 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 56, + 56, + 56 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 38, + 38, + 38 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 62, + 62, + 62 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 62, + 62, + 62 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 46, + 46, + 46 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 54, + 54, + 54 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 54, + 54, + 54 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 43, + 43, + 43 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 51, + 51, + 51 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 51, + 51, + 51 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 67, + 67, + 67 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 67, + 67, + 67 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 59, + 59, + 59 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 59, + 59, + 59 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 44, + 44, + 44 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 52, + 52, + 52 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 52, + 52, + 52 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 68, + 68, + 68 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 60, + 60, + 60 + ], + [ + 613, + 219, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + }, + { + "inShape": [ + [ + 60, + 60, + 60 + ], + [ + 613, + 220, + 613 + ], + [ + null, + 613, + null + ] + ], + "result": { + "count": 1, + "id": 950 + } + } + ], + "954": [ + { + "inShape": [ + [ + 15, + 15, + 15 + ], + [ + 952, + 952, + 952 + ], + [ + 15, + 15, + 15 + ] + ], + "result": { + "count": 1, + "id": 954 + } + }, + { + "inShape": [ + [ + 16, + 16, + 16 + ], + [ + 952, + 952, + 952 + ], + [ + 16, + 16, + 16 + ] + ], + "result": { + "count": 1, + "id": 954 + } + }, + { + "inShape": [ + [ + 17, + 17, + 17 + ], + [ + 952, + 952, + 952 + ], + [ + 17, + 17, + 17 + ] + ], + "result": { + "count": 1, + "id": 954 + } + }, + { + "inShape": [ + [ + 18, + 18, + 18 + ], + [ + 952, + 952, + 952 + ], + [ + 18, + 18, + 18 + ] + ], + "result": { + "count": 1, + "id": 954 + } + }, + { + "inShape": [ + [ + 19, + 19, + 19 + ], + [ + 952, + 952, + 952 + ], + [ + 19, + 19, + 19 + ] + ], + "result": { + "count": 1, + "id": 954 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 952, + 952, + 952 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 1, + "id": 954 + } + }, + { + "inShape": [ + [ + 21, + 21, + 21 + ], + [ + 952, + 952, + 952 + ], + [ + 21, + 21, + 21 + ] + ], + "result": { + "count": 1, + "id": 954 + } + }, + { + "inShape": [ + [ + 22, + 22, + 22 + ], + [ + 952, + 952, + 952 + ], + [ + 22, + 22, + 22 + ] + ], + "result": { + "count": 1, + "id": 954 + } + } + ], + "955": [ + { + "ingredients": [ + 956, + 750, + 750, + 750, + 750 + ], + "result": { + "count": 4, + "id": 955 + } + } + ], + "956": [ + { + "inShape": [ + [ + 955, + 955 + ], + [ + 955, + 955 + ] + ], + "result": { + "count": 1, + "id": 956 + } + } + ], + "957": [ + { + "inShape": [ + [ + 952, + 952 + ], + [ + 952, + 952 + ] + ], + "result": { + "count": 1, + "id": 957 + } + } + ], + "958": [ + { + "inShape": [ + [ + 243, + 243, + 243 + ], + [ + 243, + 581, + 243 + ], + [ + 243, + 243, + 243 + ] + ], + "result": { + "count": 1, + "id": 958 + } + } + ], + "959": [ + { + "inShape": [ + [ + 581, + 581, + 581 + ], + [ + 581, + 581, + 581 + ], + [ + 581, + 581, + 581 + ] + ], + "result": { + "count": 1, + "id": 959 + } + } + ], + "961": [ + { + "inShape": [ + [ + null, + 665, + null + ], + [ + 665, + 349, + 665 + ], + [ + null, + 665, + null + ] + ], + "result": { + "count": 1, + "id": 961 + } + } + ], + "964": [ + { + "inShape": [ + [ + 963, + 963, + 963 + ] + ], + "result": { + "count": 6, + "id": 964 + } + } + ], + "965": [ + { + "inShape": [ + [ + 963, + 963, + 963 + ], + [ + 963, + 963, + null + ], + [ + 963, + null, + null + ] + ], + "result": { + "count": 4, + "id": 965 + } + } + ], + "967": [ + { + "inShape": [ + [ + 963, + 963 + ], + [ + 963, + 963 + ] + ], + "result": { + "count": 4, + "id": 967 + } + } + ], + "968": [ + { + "inShape": [ + [ + 967, + 967, + 967 + ] + ], + "result": { + "count": 6, + "id": 968 + } + } + ], + "969": [ + { + "inShape": [ + [ + 967, + 967, + 967 + ], + [ + 967, + 967, + null + ], + [ + 967, + null, + null + ] + ], + "result": { + "count": 4, + "id": 969 + } + } + ], + "970": [ + { + "inShape": [ + [ + 968 + ], + [ + 968 + ] + ], + "result": { + "count": 1, + "id": 970 + } + } + ], + "971": [ + { + "inShape": [ + [ + 967, + 967 + ], + [ + 967, + 967 + ] + ], + "result": { + "count": 4, + "id": 971 + } + } + ], + "972": [ + { + "inShape": [ + [ + 971, + 971, + 971 + ] + ], + "result": { + "count": 6, + "id": 972 + } + } + ], + "973": [ + { + "inShape": [ + [ + 971, + 971, + 971 + ], + [ + 971, + 971, + null + ], + [ + 971, + null, + null + ] + ], + "result": { + "count": 4, + "id": 973 + } + } + ], + "975": [ + { + "inShape": [ + [ + 962, + 962, + 962 + ], + [ + 224, + 224, + 224 + ], + [ + 962, + 962, + 962 + ] + ], + "result": { + "count": 1, + "id": 975 + } + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/version.json new file mode 100644 index 00000000..a1149f59 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.2/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.16.2", + "version": 751, + "majorVersion": "1.16" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.3/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.3/version.json new file mode 100644 index 00000000..69b29b36 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.3/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.16.3", + "version": 753, + "majorVersion": "1.16" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16.4/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.4/version.json new file mode 100644 index 00000000..acfa760f --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16.4/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.16.4", + "version": 754, + "majorVersion": "1.16" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16/commands.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16/commands.json new file mode 100644 index 00000000..e2d2cbf9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16/commands.json @@ -0,0 +1,13611 @@ +{ + "root": { + "type": "root", + "name": "root", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "advancement", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "grant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "revoke", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "everything", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "only", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criterion", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "through", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "until", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "advancement", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "attribute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "base", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modifier", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "multiply_base", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "uuid", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:uuid", + "modifier": null + } + } + ] + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "ban", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ban-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "banlist", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ips", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "visible", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "blue", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "green", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pink", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "purple", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "red", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "white", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "yellow", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "max", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ] + }, + { + "type": "literal", + "name": "name", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "style", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "notched_10", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_12", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_20", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "notched_6", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "progress", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "visible", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "visible", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxCount", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "clone", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "begin", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "filtered", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "move", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPath", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "index", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "merge", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "prepend", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePath", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_tag", + "modifier": null + } + } + ] + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "datapack", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "disable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "after", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "before", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "existing", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "first", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "last", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "available", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "enabled", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ] + }, + { + "type": "literal", + "name": "debug", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "report", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "start", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "defaultgamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "deop", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "difficulty", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "easy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hard", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "peaceful", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "effect", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "effect", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "seconds", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amplifier", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "hideParticles", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + } + } + } + ], + "parser": { + "parser": "minecraft:mob_effect", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "enchant", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "enchantment", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "level", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_enchantment", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "execute", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "align", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "axes", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:swizzle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "anchored", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "at", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "anchor", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "if", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "in", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "dimension", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:dimension", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "positioned", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rotated", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "as", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "rot", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "run", + "executable": false, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "store", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "result", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "success", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "bossbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "id", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "max", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "value", + "executable": false, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "byte", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "double", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "float", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "int", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "long", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "short", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "scale", + "executable": false, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "brigadier:double", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "unless", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "blocks", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "start", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "end", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + }, + { + "type": "literal", + "name": "masked", + "executable": true, + "redirects": [ + "execute" + ], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "data", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourcePos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "storage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "path", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:nbt_path", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "predicate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "predicate", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "score", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "<", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "<=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": ">=", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "matches", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "range", + "executable": true, + "redirects": [ + "execute" + ], + "children": [], + "parser": { + "parser": "minecraft:int_range", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "experience", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "fill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hollow", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "outline", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "filter", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:block_predicate", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forceload", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "all", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "from", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "to", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:column_pos", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "gamemode", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "adventure", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "creative", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectator", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "survival", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "gamerule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "announceAdvancements", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "commandBlockOutput", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableElytraMovementCheck", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "disableRaids", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doDaylightCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doEntityDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doFireTick", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doImmediateRespawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doInsomnia", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doLimitedCrafting", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobLoot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doMobSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doPatrolSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTileDrops", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doTraderSpawning", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "doWeatherCycle", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "drowningDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fallDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "fireDamage", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "forgiveDeadPlayers", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "keepInventory", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "logAdminCommands", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxCommandChainLength", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "maxEntityCramming", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mobGriefing", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "naturalRegeneration", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "randomTickSpeed", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "reducedDebugInfo", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "sendCommandFeedback", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "showDeathMessages", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnRadius", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spectatorsGenerateChunks", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "universalAnger", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "help", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "command", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "kick", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "reason", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "uuids", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locate", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "bastion_remnant", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "buried_treasure", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "desert_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "endcity", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "fortress", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "igloo", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "jungle_pyramid", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mansion", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "mineshaft", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "monument", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "nether_fossil", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ocean_ruin", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pillager_outpost", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "ruined_portal", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "shipwreck", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stronghold", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "swamp_hut", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "village", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "locatebiome", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "biome", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "insert", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "replace", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entities", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "count", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "spawn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetPos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "fish", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "kill", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "loot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "loot_table", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "mine", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "mainhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "offhand", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "tool", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "me", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "action", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "msg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "op", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "pardon-ip", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "particle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "delta", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "speed", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "force", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "normal", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "viewers", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:particle", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "playsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "ambient", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "volume", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pitch", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minVolume", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "publish", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "port", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + } + } + } + ] + }, + { + "type": "literal", + "name": "recipe", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "give", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "take", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "recipe", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replaceitem", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "block", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "item", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "count", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + } + } + } + ], + "parser": { + "parser": "minecraft:item_stack", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:item_slot", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "save-all", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "flush", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "save-off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "save-on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "say", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "schedule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + } + } + } + ] + }, + { + "type": "literal", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "function", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "append", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:function", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "scoreboard", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "objectives", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "criteria", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective_criteria", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "displayname", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "rendertype", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "hearts", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "integer", + "executable": true, + "redirects": [], + "children": [] + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setdisplay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "slot", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:scoreboard_slot", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "players", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "enable", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + } + } + } + ] + }, + { + "type": "literal", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targetObjective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "operation", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "source", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sourceObjective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:operation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "reset", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "score", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "seed", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "setblock", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "destroy", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "keep", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "replace", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:block_state", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "setidletimeout", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "minutes", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "setworldspawn", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "spawnpoint", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "angle", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:angle", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:block_pos", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "spectate", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "target", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "player", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "spreadplayers", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "spreadDistance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxRange", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "under", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "maxHeight", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "argument", + "name": "respectTeams", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "stop", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "stopsound", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "*", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "ambient", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "block", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "hostile", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "master", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "music", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "neutral", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "player", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "record", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "voice", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "sound", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:resource_location", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "summon", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "entity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "nbt", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:nbt_compound_tag", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity_summon", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tag", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "name", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "brigadier:string", + "modifier": { + "type": "word" + } + } + } + ] + }, + { + "type": "literal", + "name": "empty", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "join", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "leave", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "members", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + } + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "modify", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "collisionRule", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "pushOwnTeam", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "color", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:color", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "deathMessageVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "displayName", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "displayName", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "friendlyFire", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "nametagVisibility", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "always", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOtherTeams", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "hideForOwnTeam", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "never", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "prefix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "prefix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "seeFriendlyInvisibles", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "allowed", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:bool", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "suffix", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "suffix", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "team", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:team", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "teammsg", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "teleport", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "tell", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tellraw", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "daytime", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "gametime", + "executable": true, + "redirects": [], + "children": [] + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "day", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "midnight", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "night", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "noon", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:time", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "actionbar", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reset", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "subtitle", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "times", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeIn", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "stay", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "fadeOut", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "title", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "title", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:component", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "tm", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "tp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + }, + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "destination", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + }, + { + "type": "argument", + "name": "location", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "facing", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "entity", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingEntity", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "facingAnchor", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:entity_anchor", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + } + } + } + ] + }, + { + "type": "argument", + "name": "facingLocation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ] + }, + { + "type": "argument", + "name": "rotation", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:rotation", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:vec3", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + } + } + } + ] + }, + { + "type": "literal", + "name": "trigger", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "objective", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "value", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ] + } + ], + "parser": { + "parser": "minecraft:objective", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "w", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "message", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:message", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "weather", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "clear", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "rain", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + }, + { + "type": "literal", + "name": "thunder", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "duration", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "whitelist", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "list", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "off", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "on", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "reload", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "remove", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:game_profile", + "modifier": null + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "worldborder", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "center", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "pos", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "minecraft:vec2", + "modifier": null + } + } + ] + }, + { + "type": "literal", + "name": "damage", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "amount", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "damagePerBlock", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "buffer", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + } + } + } + ] + } + ] + }, + { + "type": "literal", + "name": "get", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + } + } + } + ] + }, + { + "type": "literal", + "name": "warning", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "distance", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "distance", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + }, + { + "type": "literal", + "name": "time", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "time", + "executable": true, + "redirects": [], + "children": [], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ] + } + ] + } + ] + }, + { + "type": "literal", + "name": "xp", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "add", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": null + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "query", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + } + } + } + ] + }, + { + "type": "literal", + "name": "set", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "targets", + "executable": false, + "redirects": [], + "children": [ + { + "type": "argument", + "name": "amount", + "executable": true, + "redirects": [], + "children": [ + { + "type": "literal", + "name": "levels", + "executable": true, + "redirects": [], + "children": [] + }, + { + "type": "literal", + "name": "points", + "executable": true, + "redirects": [], + "children": [] + } + ], + "parser": { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + } + } + } + ], + "parser": { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + } + } + } + ] + } + ] + } + ] + }, + "parsers": [ + { + "parser": "minecraft:resource_location", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "greedy" + }, + "examples": [ + "word", + "words with spaces", + "\\\" and symbols\\\"" + ] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "players" + }, + "examples": [ + "@a" + ] + }, + { + "parser": "brigadier:double", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "phrase" + }, + "examples": [ + "\\\"quoted phrase\\\"", + "word", + "" + ] + }, + { + "parser": "minecraft:uuid", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "entities" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:message", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:game_profile", + "modifier": null, + "examples": [ + "Player", + "0123", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "@e" + ] + }, + { + "parser": "brigadier:string", + "modifier": { + "type": "word" + }, + "examples": [ + "word", + "word_with_underscore" + ] + }, + { + "parser": "minecraft:component", + "modifier": null, + "examples": [ + "\"hello world\"", + "\"\"", + "\"{\"text\":\"hello world\"}\"", + "[\"\"]" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1 + }, + "examples": [ + "1" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0 + }, + "examples": [ + "0", + "1" + ] + }, + { + "parser": "brigadier:bool", + "modifier": null, + "examples": [ + "true", + "false" + ] + }, + { + "parser": "minecraft:item_predicate", + "modifier": null, + "examples": [ + "stick", + "minecraft:stick", + "#stick", + "diamond_sword{ench:[{id:16,lvl:5}]}" + ] + }, + { + "parser": "minecraft:block_predicate", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "#stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:block_pos", + "modifier": null, + "examples": [ + "0 0 0", + "~ ~ ~", + "^ ^ ^", + "^1 ^ ^-5", + "~0.5 ~1 ~-5" + ] + }, + { + "parser": "minecraft:nbt_path", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_compound_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:nbt_tag", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:integer", + "modifier": null, + "examples": [ + "1", + "0", + "10" + ] + }, + { + "parser": "minecraft:mob_effect", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "multiple", + "type": "entities" + }, + "examples": [ + "@e", + "@e[type=cow]", + "dd12be42-52a9-4a91-a8a1-11c01849e498", + "Player" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 255 + }, + "examples": [ + "0", + "255" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 1000000 + }, + "examples": [ + "1", + "1000000" + ] + }, + { + "parser": "minecraft:item_enchantment", + "modifier": null, + "examples": [ + "unbreaking", + "minecraft:slik_touch" + ] + }, + { + "parser": "minecraft:swizzle", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_anchor", + "modifier": null, + "examples": [ + "eyes", + "feet" + ] + }, + { + "parser": "minecraft:vec3", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "single" + }, + "examples": [] + }, + { + "parser": "minecraft:int_range", + "modifier": null, + "examples": [ + "0..5", + "0", + "-5", + "-100..", + "..100" + ] + }, + { + "parser": "minecraft:dimension", + "modifier": null, + "examples": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end", + "overworld", + "the_end", + "the_nether" + ] + }, + { + "parser": "minecraft:rotation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:score_holder", + "modifier": { + "amount": "multiple" + }, + "examples": [] + }, + { + "parser": "minecraft:entity", + "modifier": { + "amount": "single", + "type": "players" + }, + "examples": [ + "@p" + ] + }, + { + "parser": "minecraft:block_state", + "modifier": null, + "examples": [ + "stone", + "minecraft:stone", + "minecraft:redstone_wire[power=15,north=up,south=side]", + "minecraft:furnace[facing=north]{BurnTime:200}" + ] + }, + { + "parser": "minecraft:column_pos", + "modifier": null, + "examples": [ + "0 0", + "~ ~", + "~1 ~-2", + "^ ^", + "^-1 ^0" + ] + }, + { + "parser": "minecraft:function", + "modifier": null, + "examples": [ + "foo", + "foo:bar", + "#foo" + ] + }, + { + "parser": "minecraft:item_stack", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:item_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0 + }, + "examples": [ + "0.0", + "0", + "1", + "0.01" + ] + }, + { + "parser": "minecraft:particle", + "modifier": null, + "examples": [] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 1.0 + }, + "examples": [ + "0.0", + "0", + "1", + "1.0", + "0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 0.0, + "max": 2.0 + }, + "examples": [ + "0", + "2", + "1.0", + "2.0" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 65535 + }, + "examples": [ + "0", + "65535" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 1, + "max": 64 + }, + "examples": [ + "1", + "64" + ] + }, + { + "parser": "minecraft:time", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:objective_criteria", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:scoreboard_slot", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:operation", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:angle", + "modifier": null, + "examples": [ + "0", + "~", + "~-0.5" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": 1.0 + }, + "examples": [ + "1", + "1.0", + "1.000" + ] + }, + { + "parser": "minecraft:vec2", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:entity_summon", + "modifier": null, + "examples": [ + "minecraft:pig", + "cow" + ] + }, + { + "parser": "minecraft:team", + "modifier": null, + "examples": [] + }, + { + "parser": "minecraft:color", + "modifier": null, + "examples": [ + "aqua", + "black", + "blue", + "dark_aqua", + "dark_blue", + "dark_gray", + "dark_green", + "dark_purple", + "dark_red", + "gold", + "gray", + "green", + "light_purple", + "red", + "reset", + "yellow", + "white" + ] + }, + { + "parser": "brigadier:integer", + "modifier": { + "min": 0, + "max": 1000000 + }, + "examples": [ + "0", + "1000000" + ] + }, + { + "parser": "brigadier:float", + "modifier": { + "min": -60000000.0, + "max": 60000000.0 + }, + "examples": [] + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16/loginPacket.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16/loginPacket.json new file mode 100644 index 00000000..ed21495a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16/loginPacket.json @@ -0,0 +1,266 @@ +{ + "entityId": 1, + "gameMode": 0, + "previousGameMode": 255, + "worldNames": [ + "minecraft:overworld", + "minecraft:the_nether", + "minecraft:the_end" + ], + "dimensionCodec": { + "type": "compound", + "name": "", + "value": { + "dimension": { + "type": "list", + "value": { + "type": "compound", + "value": [ + { + "piglin_safe": { + "type": "byte", + "value": 0 + }, + "natural": { + "type": "byte", + "value": 1 + }, + "ambient_light": { + "type": "float", + "value": 0 + }, + "infiniburn": { + "type": "string", + "value": "minecraft:infiniburn_overworld" + }, + "respawn_anchor_works": { + "type": "byte", + "value": 0 + }, + "has_skylight": { + "type": "byte", + "value": 1 + }, + "bed_works": { + "type": "byte", + "value": 1 + }, + "has_raids": { + "type": "byte", + "value": 1 + }, + "name": { + "type": "string", + "value": "minecraft:overworld" + }, + "logical_height": { + "type": "int", + "value": 256 + }, + "shrunk": { + "type": "byte", + "value": 0 + }, + "ultrawarm": { + "type": "byte", + "value": 0 + }, + "has_ceiling": { + "type": "byte", + "value": 0 + } + }, + { + "piglin_safe": { + "type": "byte", + "value": 0 + }, + "natural": { + "type": "byte", + "value": 1 + }, + "ambient_light": { + "type": "float", + "value": 0 + }, + "infiniburn": { + "type": "string", + "value": "minecraft:infiniburn_overworld" + }, + "respawn_anchor_works": { + "type": "byte", + "value": 0 + }, + "has_skylight": { + "type": "byte", + "value": 1 + }, + "bed_works": { + "type": "byte", + "value": 1 + }, + "has_raids": { + "type": "byte", + "value": 1 + }, + "name": { + "type": "string", + "value": "minecraft:overworld_caves" + }, + "logical_height": { + "type": "int", + "value": 256 + }, + "shrunk": { + "type": "byte", + "value": 0 + }, + "ultrawarm": { + "type": "byte", + "value": 0 + }, + "has_ceiling": { + "type": "byte", + "value": 1 + } + }, + { + "piglin_safe": { + "type": "byte", + "value": 1 + }, + "natural": { + "type": "byte", + "value": 0 + }, + "ambient_light": { + "type": "float", + "value": 0.10000000149011612 + }, + "infiniburn": { + "type": "string", + "value": "minecraft:infiniburn_nether" + }, + "respawn_anchor_works": { + "type": "byte", + "value": 1 + }, + "has_skylight": { + "type": "byte", + "value": 0 + }, + "bed_works": { + "type": "byte", + "value": 0 + }, + "fixed_time": { + "type": "long", + "value": [ + 0, + 18000 + ] + }, + "has_raids": { + "type": "byte", + "value": 0 + }, + "name": { + "type": "string", + "value": "minecraft:the_nether" + }, + "logical_height": { + "type": "int", + "value": 128 + }, + "shrunk": { + "type": "byte", + "value": 1 + }, + "ultrawarm": { + "type": "byte", + "value": 1 + }, + "has_ceiling": { + "type": "byte", + "value": 1 + } + }, + { + "piglin_safe": { + "type": "byte", + "value": 0 + }, + "natural": { + "type": "byte", + "value": 0 + }, + "ambient_light": { + "type": "float", + "value": 0 + }, + "infiniburn": { + "type": "string", + "value": "minecraft:infiniburn_end" + }, + "respawn_anchor_works": { + "type": "byte", + "value": 0 + }, + "has_skylight": { + "type": "byte", + "value": 0 + }, + "bed_works": { + "type": "byte", + "value": 0 + }, + "fixed_time": { + "type": "long", + "value": [ + 0, + 6000 + ] + }, + "has_raids": { + "type": "byte", + "value": 1 + }, + "name": { + "type": "string", + "value": "minecraft:the_end" + }, + "logical_height": { + "type": "int", + "value": 256 + }, + "shrunk": { + "type": "byte", + "value": 0 + }, + "ultrawarm": { + "type": "byte", + "value": 0 + }, + "has_ceiling": { + "type": "byte", + "value": 0 + } + } + ] + } + } + } + }, + "dimension": "minecraft:overworld", + "worldName": "minecraft:overworld", + "hashedSeed": [ + -2143157199, + -1615019164 + ], + "maxPlayers": 20, + "viewDistance": 10, + "reducedDebugInfo": false, + "enableRespawnScreen": true, + "isDebug": false, + "isFlat": false +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16/particles.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16/particles.json new file mode 100644 index 00000000..4ae9a94e --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16/particles.json @@ -0,0 +1,290 @@ +[ + { + "id": 0, + "name": "ambient_entity_effect" + }, + { + "id": 1, + "name": "angry_villager" + }, + { + "id": 2, + "name": "barrier" + }, + { + "id": 3, + "name": "block" + }, + { + "id": 4, + "name": "bubble" + }, + { + "id": 5, + "name": "cloud" + }, + { + "id": 6, + "name": "crit" + }, + { + "id": 7, + "name": "damage_indicator" + }, + { + "id": 8, + "name": "dragon_breath" + }, + { + "id": 9, + "name": "dripping_lava" + }, + { + "id": 10, + "name": "falling_lava" + }, + { + "id": 11, + "name": "landing_lava" + }, + { + "id": 12, + "name": "dripping_water" + }, + { + "id": 13, + "name": "falling_water" + }, + { + "id": 14, + "name": "dust" + }, + { + "id": 15, + "name": "effect" + }, + { + "id": 16, + "name": "elder_guardian" + }, + { + "id": 17, + "name": "enchanted_hit" + }, + { + "id": 18, + "name": "enchant" + }, + { + "id": 19, + "name": "end_rod" + }, + { + "id": 20, + "name": "entity_effect" + }, + { + "id": 21, + "name": "explosion_emitter" + }, + { + "id": 22, + "name": "explosion" + }, + { + "id": 23, + "name": "falling_dust" + }, + { + "id": 24, + "name": "firework" + }, + { + "id": 25, + "name": "fishing" + }, + { + "id": 26, + "name": "flame" + }, + { + "id": 27, + "name": "soul_fire_flame" + }, + { + "id": 28, + "name": "soul" + }, + { + "id": 29, + "name": "flash" + }, + { + "id": 30, + "name": "happy_villager" + }, + { + "id": 31, + "name": "composter" + }, + { + "id": 32, + "name": "heart" + }, + { + "id": 33, + "name": "instant_effect" + }, + { + "id": 34, + "name": "item" + }, + { + "id": 35, + "name": "item_slime" + }, + { + "id": 36, + "name": "item_snowball" + }, + { + "id": 37, + "name": "large_smoke" + }, + { + "id": 38, + "name": "lava" + }, + { + "id": 39, + "name": "mycelium" + }, + { + "id": 40, + "name": "note" + }, + { + "id": 41, + "name": "poof" + }, + { + "id": 42, + "name": "portal" + }, + { + "id": 43, + "name": "rain" + }, + { + "id": 44, + "name": "smoke" + }, + { + "id": 45, + "name": "sneeze" + }, + { + "id": 46, + "name": "spit" + }, + { + "id": 47, + "name": "squid_ink" + }, + { + "id": 48, + "name": "sweep_attack" + }, + { + "id": 49, + "name": "totem_of_undying" + }, + { + "id": 50, + "name": "underwater" + }, + { + "id": 51, + "name": "splash" + }, + { + "id": 52, + "name": "witch" + }, + { + "id": 53, + "name": "bubble_pop" + }, + { + "id": 54, + "name": "current_down" + }, + { + "id": 55, + "name": "bubble_column_up" + }, + { + "id": 56, + "name": "nautilus" + }, + { + "id": 57, + "name": "dolphin" + }, + { + "id": 58, + "name": "campfire_cosy_smoke" + }, + { + "id": 59, + "name": "campfire_signal_smoke" + }, + { + "id": 60, + "name": "dripping_honey" + }, + { + "id": 61, + "name": "falling_honey" + }, + { + "id": 62, + "name": "landing_honey" + }, + { + "id": 63, + "name": "falling_nectar" + }, + { + "id": 64, + "name": "ash" + }, + { + "id": 65, + "name": "crimson_spore" + }, + { + "id": 66, + "name": "warped_spore" + }, + { + "id": 67, + "name": "dripping_obsidian_tear" + }, + { + "id": 68, + "name": "falling_obsidian_tear" + }, + { + "id": 69, + "name": "landing_obsidian_tear" + }, + { + "id": 70, + "name": "reverse_portal" + }, + { + "id": 71, + "name": "white_ash" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16/protocol.json new file mode 100644 index 00000000..35a40dfd --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16/protocol.json @@ -0,0 +1,5141 @@ +{ + "types": { + "varint": "native", + "optvarint": "varint", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "topBitSetTerminatedArray": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "14": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "23": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "34": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle", + "16": [ + "container",[ + { + "name": "villagerType", + "type": "varint" + }, + { + "name": "villagerProfession", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ], + "17": "optvarint", + "18": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "difficultyLocked", + "type": "bool" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + }, + { + "name": "sender", + "type": "UUID" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "inventoryType", + "type": "varint" + }, + { + "name": "windowTitle", + "type": "string" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_open_horse_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "nbSlots", + "type": "varint" + }, + { + "name": "entityId", + "type": "i32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "ignoreOldData", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "heightmaps", + "type": "nbt" + }, + { + "name": "biomes", + "type": [ + "switch", + { + "compareTo": "groundUp", + "fields": { + "false": "void", + "true": ["array", { + "count": 1024, + "type": "i32" + }] + } + } + ] + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_update_light": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + }, + { + "name": "trustEdges", + "type": "bool" + }, + { + "name": "skyLightMask", + "type": "varint" + }, + { + "name": "blockLightMask", + "type": "varint" + }, + { + "name": "emptySkyLightMask", + "type": "varint" + }, + { + "name": "emptyBlockLightMask", + "type": "varint" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "previousGameMode", + "type": "u8" + }, + { + "name": "worldNames", + "type": ["array", { + "countType": "varint", + "type": "string" + }] + }, + { + "name": "dimensionCodec", + "type": "nbt" + }, + { + "name": "dimension", + "type": "string" + }, + { + "name": "worldName", + "type": "string" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "viewDistance", + "type": "varint" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + }, + { + "name": "enableRespawnScreen", + "type": "bool" + }, + { + "name": "isDebug", + "type": "bool" + }, + { + "name": "isFlat", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_trade_list": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "trades", + "type": [ + "array", + { + "countType": "u8", + "type": ["container", [ + { + "name": "inputItem1", + "type": "slot" + }, + { + "name": "outputItem", + "type": "slot" + }, + { + "name": "inputItem2", + "type": ["option", "slot"] + }, + { + "name": "tradeDisabled", + "type": "bool" + }, + { + "name": "nbTradeUses", + "type": "i32" + }, + { + "name": "maximumNbTradeUses", + "type": "i32" + }, + { + "name": "xp", + "type": "i32" + }, + { + "name": "specialPrice", + "type": "i32" + }, + { + "name": "priceMultiplier", + "type": "f32" + }, + { + "name": "demand", + "type": "i32" + } + ]] + } + ] + }, + { + "name": "villagerLevel", + "type": "varint" + }, + { + "name": "experience", + "type": "varint" + }, + { + "name": "isRegularVillager", + "type": "bool" + }, + { + "name": "canRestock", + "type": "bool" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_book": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "string" + }, + { + "name": "worldName", + "type": "string" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "previousGamemode", + "type": "u8" + }, + { + "name": "isDebug", + "type": "bool" + }, + { + "name": "isFlat", + "type": "bool" + }, + { + "name": "copyMetadata", + "type": "bool" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_update_view_position": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + } + ] + ], + "packet_update_view_distance": [ + "container", + [ + { + "name": "viewDistance", + "type": "varint" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "equipments", + "type": ["topBitSetTerminatedArray", { + "type": ["container", [ + { + "name": "slot", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ]] + }] + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "type", + "type": "string" + }, + { + "name": "recipeId", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "minecraft:crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_special_armordye": "void", + "minecraft:crafting_special_bookcloning": "void", + "minecraft:crafting_special_mapcloning": "void", + "minecraft:crafting_special_mapextending": "void", + "minecraft:crafting_special_firework_rocket": "void", + "minecraft:crafting_special_firework_star": "void", + "minecraft:crafting_special_firework_star_fade": "void", + "minecraft:crafting_special_repairitem": "void", + "minecraft:crafting_special_tippedarrow": "void", + "minecraft:crafting_special_bannerduplicate": "void", + "minecraft:crafting_special_banneraddpattern": "void", + "minecraft:crafting_special_shielddecoration": "void", + "minecraft:crafting_special_shulkerboxcoloring": "void", + "minecraft:crafting_special_suspiciousstew": "void", + "minecraft:smelting": "minecraft_smelting_format", + "minecraft:blasting": "minecraft_smelting_format", + "minecraft:smoking": "minecraft_smelting_format", + "minecraft:campfire_cooking": "minecraft_smelting_format", + "minecraft:stonecutting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:smithing": ["container",[ + { + "name": "base", + "type": "ingredient" + }, + { + "name": "addition", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "minecraft_smelting_format": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + }, + { + "name": "entityTags", + "type": "tags" + } + ] + ], + "packet_acknowledge_player_digging": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "block", + "type": "varint" + }, + { + "name": "status", + "type": "varint" + }, + { + "name": "successful", + "type": "bool" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_living", + "0x03": "spawn_entity_painting", + "0x04": "named_entity_spawn", + "0x05": "animation", + "0x06": "statistics", + "0x07": "acknowledge_player_digging", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "chat", + "0x0f": "multi_block_change", + "0x10": "tab_complete", + "0x11": "declare_commands", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "open_horse_window", + "0x20": "keep_alive", + "0x21": "map_chunk", + "0x22": "world_event", + "0x23": "world_particles", + "0x24": "update_light", + "0x25": "login", + "0x26": "map", + "0x27": "trade_list", + "0x28": "rel_entity_move", + "0x29": "entity_move_look", + "0x2a": "entity_look", + "0x2b": "entity", + "0x2c": "vehicle_move", + "0x2d": "open_book", + "0x2e": "open_window", + "0x2f": "open_sign_entity", + "0x30": "craft_recipe_response", + "0x31": "abilities", + "0x32": "combat_event", + "0x33": "player_info", + "0x34": "face_player", + "0x35": "position", + "0x36": "unlock_recipes", + "0x37": "entity_destroy", + "0x38": "remove_entity_effect", + "0x39": "resource_pack_send", + "0x3a": "respawn", + "0x3b": "entity_head_rotation", + "0x3c": "select_advancement_tab", + "0x3d": "world_border", + "0x3e": "camera", + "0x3f": "held_item_slot", + "0x40": "update_view_position", + "0x41": "update_view_distance", + "0x42": "spawn_position", + "0x43": "scoreboard_display_objective", + "0x44": "entity_metadata", + "0x45": "attach_entity", + "0x46": "entity_velocity", + "0x47": "entity_equipment", + "0x48": "experience", + "0x49": "update_health", + "0x4a": "scoreboard_objective", + "0x4b": "set_passengers", + "0x4c": "teams", + "0x4d": "scoreboard_score", + "0x4e": "update_time", + "0x4f": "title", + "0x50": "entity_sound_effect", + "0x51": "sound_effect", + "0x52": "stop_sound", + "0x53": "playerlist_header", + "0x54": "nbt_query_response", + "0x55": "collect", + "0x56": "entity_teleport", + "0x57": "advancements", + "0x58": "entity_update_attributes", + "0x59": "entity_effect", + "0x5a": "declare_recipes", + "0x5b": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "open_horse_window": "packet_open_horse_window", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "update_light": "packet_update_light", + "login": "packet_login", + "map": "packet_map", + "trade_list": "packet_trade_list", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_book": "packet_open_book", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "update_view_position": "packet_update_view_position", + "update_view_distance": "packet_update_view_distance", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "entity_sound_effect": "packet_entity_sound_effect", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags", + "acknowledge_player_digging": "packet_acknowledge_player_digging" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "newDifficulty", + "type": "u8" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "sneaking", + "type": "bool" + } + ] + ], + "packet_generate_structure": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "levels", + "type": "varint" + }, + { + "name": "keepJigsaws", + "type": "bool" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_lock_difficulty": [ + "container", + [ + { + "name": "locked", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + }, + { + "name": "blastingBookOpen", + "type": "bool" + }, + { + "name": "blastingFilter", + "type": "bool" + }, + { + "name": "smokingBookOpen", + "type": "bool" + }, + { + "name": "smokingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_jigsaw_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "target", + "type": "string" + }, + { + "name": "pool", + "type": "string" + }, + { + "name": "finalState", + "type": "string" + }, + { + "name": "jointType", + "type": "string" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + }, + { + "name": "insideBlock", + "type": "bool" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "set_difficulty", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "tab_complete", + "0x07": "transaction", + "0x08": "enchant_item", + "0x09": "window_click", + "0x0a": "close_window", + "0x0b": "custom_payload", + "0x0c": "edit_book", + "0x0d": "query_entity_nbt", + "0x0e": "use_entity", + "0x0f": "generate_structure", + "0x10": "keep_alive", + "0x11": "lock_difficulty", + "0x12": "position", + "0x13": "position_look", + "0x14": "look", + "0x15": "flying", + "0x16": "vehicle_move", + "0x17": "steer_boat", + "0x18": "pick_item", + "0x19": "craft_recipe_request", + "0x1a": "abilities", + "0x1b": "block_dig", + "0x1c": "entity_action", + "0x1d": "steer_vehicle", + "0x1e": "crafting_book_data", + "0x1f": "name_item", + "0x20": "resource_pack_receive", + "0x21": "advancement_tab", + "0x22": "select_trade", + "0x23": "set_beacon_effect", + "0x24": "held_item_slot", + "0x25": "update_command_block", + "0x26": "update_command_block_minecart", + "0x27": "set_creative_slot", + "0x28": "update_jigsaw_block", + "0x29": "update_structure_block", + "0x2a": "update_sign", + "0x2b": "arm_animation", + "0x2c": "spectate", + "0x2d": "block_place", + "0x2e": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "set_difficulty": "packet_set_difficulty", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "generate_structure": "packet_generate_structure", + "keep_alive": "packet_keep_alive", + "lock_difficulty": "packet_lock_difficulty", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_jigsaw_block": "packet_update_jigsaw_block", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.16/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.16/version.json new file mode 100644 index 00000000..6a4212dc --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.16/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.16", + "version": 735, + "majorVersion": "1.16" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/biomes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/biomes.json new file mode 100644 index 00000000..21388635 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/biomes.json @@ -0,0 +1,282 @@ +[ + { + "id": 0, + "color": 112, + "name": "Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 1, + "color": 9286496, + "name": "Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 2, + "color": 16421912, + "name": "Desert", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 3, + "color": 6316128, + "name": "Extreme Hills", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 4, + "color": 353825, + "name": "Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 5, + "color": 747097, + "name": "Taiga", + "rainfall": 0.8, + "temperature": 0.05 + }, + { + "id": 6, + "color": 522674, + "name": "Swampland", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 7, + "color": 255, + "name": "River", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 8, + "color": 16711680, + "name": "Hell", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 9, + "color": 8421631, + "name": "The End", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 10, + "color": 9474208, + "name": "FrozenOcean", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 11, + "color": 10526975, + "name": "FrozenRiver", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 12, + "color": 16777215, + "name": "Ice Plains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 13, + "color": 10526880, + "name": "Ice Mountains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 14, + "color": 16711935, + "name": "MushroomIsland", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 15, + "color": 10486015, + "name": "MushroomIslandShore", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 16, + "color": 16440917, + "name": "Beach", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 17, + "color": 13786898, + "name": "DesertHills", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 18, + "color": 2250012, + "name": "ForestHills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 19, + "color": 1456435, + "name": "TaigaHills", + "rainfall": 0.7, + "temperature": 0.2 + }, + { + "id": 20, + "color": 7501978, + "name": "Extreme Hills Edge", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 21, + "color": 5470985, + "name": "Jungle", + "rainfall": 0.9, + "temperature": 1.2 + }, + { + "id": 22, + "color": 2900485, + "name": "JungleHills", + "rainfall": 0.9, + "temperature": 1.2 + }, + { + "id": 23, + "color": 6458135, + "name": "JungleEdge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 24, + "color": 48, + "name": "Deep Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 25, + "color": 10658436, + "name": "Stone Beach", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 26, + "color": 16445632, + "name": "Cold Beach", + "rainfall": 0.3, + "temperature": 0.05 + }, + { + "id": 27, + "color": 3175492, + "name": "Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 28, + "color": 2055986, + "name": "Birch Forest Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 29, + "color": 4215066, + "name": "Roofed Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 30, + "color": 3233098, + "name": "Cold Taiga", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 31, + "color": 2375478, + "name": "Cold Taiga Hills", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 32, + "color": 5858897, + "name": "Mega Taiga", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 33, + "color": 4542270, + "name": "Mega Taiga Hills", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 34, + "color": 5271632, + "name": "Extreme Hills+", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 35, + "color": 12431967, + "name": "Savanna", + "rainfall": 0, + "temperature": 1.2 + }, + { + "id": 36, + "color": 10984804, + "name": "Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 37, + "color": 14238997, + "name": "Mesa", + "rainfall": 0.5, + "temperature": 2.0 + }, + { + "id": 38, + "color": 11573093, + "name": "Mesa Plateau F", + "rainfall": 0.5, + "temperature": 2.0 + }, + { + "id": 39, + "color": 13274213, + "name": "Redwood Taiga Hills M", + "rainfall": 0.5, + "temperature": 2.0 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/blockCollisionShapes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/blockCollisionShapes.json new file mode 100644 index 00000000..b3e5f41b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/blockCollisionShapes.json @@ -0,0 +1,253 @@ +{"blocks":{"air":0, +"stone":1, +"grass":1, +"dirt":1, +"cobblestone":1, +"wood_planks":1, +"sapling":0, +"bedrock":1, +"flowing_water":0, +"water":0, +"flowing_lava":0, +"lava":0, +"sand":1, +"gravel":1, +"gold_ore":1, +"iron_ore":1, +"coal_ore":1, +"log":1, +"leaves":1, +"sponge":1, +"glass":1, +"lapis_ore":1, +"lapis_block":1, +"dispenser":1, +"sandstone":1, +"noteblock":1, +"bed":2, +"golden_rail":0, +"detector_rail":0, +"sticky_piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0], +"web":0, +"tallgrass":0, +"deadbush":0, +"piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0], +"piston_head":[10,11,9,12,13,14,0,0,10,11,9,12,13,14,0,0], +"wool":1, +"piston_extension":0, +"yellow_flower":0, +"red_flower":0, +"brown_mushroom":0, +"red_mushroom":0, +"gold_block":1, +"iron_block":1, +"double_stone_slab":1, +"stone_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"brick_block":1, +"tnt":1, +"bookshelf":1, +"mossy_cobblestone":1, +"obsidian":1, +"torch":0, +"fire":0, +"mob_spawner":1, +"oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"chest":25, +"redstone_wire":0, +"diamond_ore":1, +"diamond_block":1, +"crafting_table":1, +"wheat":0, +"farmland":26, +"furnace":1, +"lit_furnace":1, +"standing_sign":0, +"wooden_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"ladder":[27,27,27,29,30,28,27,27,27,29,30,28,27,27,27,29], +"rail":0, +"stone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"wall_sign":0, +"lever":0, +"stone_pressure_plate":0, +"iron_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"wooden_pressure_plate":0, +"redstone_ore":1, +"lit_redstone_ore":1, +"unlit_redstone_torch":0, +"redstone_torch":0, +"stone_button":0, +"snow_layer":[0,31,32,33,15,34,4,35,0,31,32,33,15,34,4,35], +"ice":1, +"snow":1, +"cactus":36, +"clay":1, +"reeds":0, +"jukebox":1, +"fence":37, +"pumpkin":1, +"netherrack":1, +"soul_sand":35, +"glowstone":1, +"portal":0, +"lit_pumpkin":1, +"cake":[38,39,40,41,42,43,44,0,0,0,0,0,0,0,0,0], +"unpowered_repeater":31, +"powered_repeater":31, +"stained_glass":1, +"trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28], +"monster_egg":1, +"stonebrick":1, +"brown_mushroom_block":1, +"red_mushroom_block":1, +"iron_bars":47, +"glass_pane":47, +"melon_block":1, +"pumpkin_stem":0, +"melon_stem":0, +"vine":0, +"fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"stone_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"mycelium":1, +"waterlily":50, +"nether_brick":1, +"nether_brick_fence":37, +"nether_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"nether_wart":0, +"enchanting_table":4, +"brewing_stand":51, +"cauldron":52, +"end_portal":0, +"end_portal_frame":[81,81,81,81,82,82,82,82,81,81,81,81,82,82,82,82], +"end_stone":1, +"dragon_egg":53, +"redstone_lamp":1, +"lit_redstone_lamp":1, +"double_wooden_slab":1, +"wooden_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"cocoa":[55,56,54,57,58,59,60,61,62,63,64,65,0,0,0,0], +"sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"emerald_ore":1, +"ender_chest":25, +"tripwire_hook":0, +"tripwire":0, +"emerald_block":1, +"spruce_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"birch_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"jungle_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"command_block":1, +"beacon":1, +"cobblestone_wall":66, +"flower_pot":67, +"carrots":0, +"potatoes":0, +"wooden_button":0, +"skull":[69,69,68,70,71,72,69,69,69,69,68,70,71,72,69,69], +"anvil":[73,74,73,74,73,74,73,74,73,74,73,74,0,0,0,0], +"trapped_chest":25, +"light_weighted_pressure_plate":0, +"heavy_weighted_pressure_plate":0, +"unpowered_comparator":31, +"powered_comparator":31, +"daylight_detector":33, +"redstone_block":1, +"quartz_ore":1, +"hopper":75, +"quartz_block":1, +"quartz_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"activator_rail":0, +"dropper":1, +"stained_hardened_clay":1, +"stained_glass_pane":47, +"leaves2":1,"log2":1,"acacia_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"dark_oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"slime":1, +"barrier":1, +"iron_trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28], +"prismarine":1, +"sea_lantern":1, +"hay_block":1, +"carpet":76, +"hardened_clay":1, +"coal_block":1, +"packed_ice":1, +"large_flowers":0}, +"shapes":{"0":[], +"1":[[0.0,0.0,0.0,1.0,1.0,1.0]], +"2":[[0.0,0.0,0.0,1.0,0.5625,1.0]], +"3":[[0.0,0.25,0.0,1.0,1.0,1.0]], +"4":[[0.0,0.0,0.0,1.0,0.75,1.0]], +"5":[[0.0,0.0,0.25,1.0,1.0,1.0]], +"6":[[0.0,0.0,0.0,1.0,1.0,0.75]], +"7":[[0.25,0.0,0.0,1.0,1.0,1.0]], +"8":[[0.0,0.0,0.0,0.75,1.0,1.0]], +"9":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]], +"10":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]], +"11":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]], +"12":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]], +"13":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]], +"14":[[0.75,0.0,0.0,1.0,1.0,1.0],[-0.25,0.375,0.375,0.75,0.625,0.625]], +"15":[[0.0,0.0,0.0,1.0,0.5,1.0]], +"16":[[0.0,0.5,0.0,1.0,1.0,1.0]], +"17":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"18":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"19":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]], +"20":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]], +"21":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]], +"22":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,0.5,0.5,1.0]], +"23":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.5,1.0,0.5,1.0]], +"24":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,0.5,0.5]], +"25":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]], +"26":[[0.0,0.0,0.0,1.0,0.9375,1.0]], +"27":[[0.0,0.0,0.8125,1.0,1.0,1.0]], +"28":[[0.0,0.0,0.0,0.1875,1.0,1.0]], +"29":[[0.0,0.0,0.0,1.0,1.0,0.1875]], +"30":[[0.8125,0.0,0.0,1.0,1.0,1.0]], +"31":[[0.0,0.0,0.0,1.0,0.125,1.0]], +"32":[[0.0,0.0,0.0,1.0,0.25,1.0]], +"33":[[0.0,0.0,0.0,1.0,0.375,1.0]], +"34":[[0.0,0.0,0.0,1.0,0.625,1.0]], +"35":[[0.0,0.0,0.0,1.0,0.875,1.0]], +"36":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]], +"37":[[0.375,0.0,0.375,0.625,1.5,0.625]], +"38":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]], +"39":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]], +"40":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]], +"41":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]], +"42":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]], +"43":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]], +"44":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]], +"45":[[0.0,0.0,0.0,1.0,0.1875,1.0]], +"46":[[0.0,0.8125,0.0,1.0,1.0,1.0]], +"47":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]], +"48":[[0.0,0.0,0.375,1.0,1.5,0.625]], +"49":[[0.375,0.0,0.0,0.625,1.5,1.0]], +"50":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]], +"51":[[0.4375,0.0,0.4375,0.5625,0.875,0.5625],[0.0,0.0,0.0,1.0,0.125,1.0]], +"52":[[0.0,0.0,0.0,1.0,0.3125,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.875,1.0,1.0,1.0]], +"53":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]], +"54":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]], +"55":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]], +"56":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]], +"57":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]], +"58":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]], +"59":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]], +"60":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]], +"61":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]], +"62":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]], +"63":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]], +"64":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]], +"65":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]], +"66":[[0.25,0.0,0.25,0.75,1.5,0.75]], +"67":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]], +"68":[[0.25,0.25,0.5,0.75,0.75,1.0]], +"69":[[0.25,0.0,0.25,0.75,0.5,0.75]], +"70":[[0.25,0.25,0.0,0.75,0.75,0.5]], +"71":[[0.5,0.25,0.25,1.0,0.75,0.75]], +"72":[[0.0,0.25,0.25,0.5,0.75,0.75]], +"73":[[0.125,0.0,0.0,0.875,1.0,1.0]], +"74":[[0.0,0.0,0.125,1.0,1.0,0.875]], +"75":[[0.0,0.0,0.0,1.0,0.625,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.0,0.0,0.875,1.0,1.0,1.0]], +"76":[[0.0,0.0,0.0,1.0,0.0625,1.0]], +"81":[[0.0,0.0,0.0,1.0,0.8125,1.0]], +"82":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.3125,0.8125,0.3125,0.6875,1.0,0.6875]]}} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/blocks.json new file mode 100644 index 00000000..f76382f4 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/blocks.json @@ -0,0 +1,3785 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone" + }, + { + "metadata": 1, + "displayName": "Granite" + }, + { + "metadata": 2, + "displayName": "Polished Granite" + }, + { + "metadata": 3, + "displayName": "Diorite" + }, + { + "metadata": 4, + "displayName": "Polished Diorite" + }, + { + "metadata": 5, + "displayName": "Andesite" + }, + { + "metadata": 6, + "displayName": "Polished Andesite" + } + ], + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Dirt" + }, + { + "metadata": 1, + "displayName": "Coarse Dirt" + }, + { + "metadata": 2, + "displayName": "Podzol" + } + ], + "drops": [ + { + "drop": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "wood_planks", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 5 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 6 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 7 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 8, + "displayName": "Water", + "name": "flowing_water", + "hardness": 100, + "stackSize": 64, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "hardness": 100, + "stackSize": 64, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 10, + "displayName": "Lava", + "name": "flowing_lava", + "hardness": 100, + "stackSize": 64, + "diggable": false, + "boundingBox": "empty", + "drops": [ + { + "drop": 10 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "hardness": 100, + "stackSize": 64, + "diggable": false, + "boundingBox": "empty", + "drops": [ + { + "drop": 11 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Sand" + }, + { + "metadata": 1, + "displayName": "Red sand" + } + ], + "drops": [ + { + "drop": 12 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 14 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 15 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 17, + "displayName": "Wood", + "name": "log", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak wood facing up/down" + }, + { + "metadata": 1, + "displayName": "Spruce wood facing up/down" + }, + { + "metadata": 2, + "displayName": "Birch wood facing up/down" + }, + { + "metadata": 3, + "displayName": "Jungle wood facing up/down" + }, + { + "metadata": 4, + "displayName": "Oak wood facing East/West" + }, + { + "metadata": 5, + "displayName": "Spruce wood facing East/West" + }, + { + "metadata": 6, + "displayName": "Birch wood facing East/West" + }, + { + "metadata": 7, + "displayName": "Jungle wood facing East/West" + }, + { + "metadata": 8, + "displayName": "Oak wood facing North/South" + }, + { + "metadata": 9, + "displayName": "Spruce wood facing North/South" + }, + { + "metadata": 10, + "displayName": "Birch wood facing North/South" + }, + { + "metadata": 11, + "displayName": "Jungle wood facing North/South" + }, + { + "metadata": 12, + "displayName": "Oak wood with only bark" + }, + { + "metadata": 13, + "displayName": "Spruce wood with only bark" + }, + { + "metadata": 14, + "displayName": "Birch wood with only bark" + }, + { + "metadata": 15, + "displayName": "Jungle wood with only bark" + } + ], + "drops": [ + { + "drop": 17 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "leaves", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Leaves" + }, + { + "metadata": 1, + "displayName": "Spruce Leaves" + }, + { + "metadata": 2, + "displayName": "Birch Leaves" + }, + { + "metadata": 3, + "displayName": "Jungle Leaves" + }, + { + "metadata": 4, + "displayName": "Oak Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Spruce Leaves (no decay)" + }, + { + "metadata": 6, + "displayName": "Birch Leaves (no decay)" + }, + { + "metadata": 7, + "displayName": "Jungle Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Oak Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Spruce Leaves (check decay)" + }, + { + "metadata": 10, + "displayName": "Birch Leaves (check decay)" + }, + { + "metadata": 11, + "displayName": "Jungle Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Oak Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Spruce Leaves (no decay and check decay)" + }, + { + "metadata": 14, + "displayName": "Birch Leaves (no decay and check decay)" + }, + { + "metadata": 15, + "displayName": "Jungle Leaves (no decay and check decay)" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 19 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 22 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 23 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth sandstone" + } + ], + "drops": [ + { + "drop": 24 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "noteblock", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 25 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 26, + "displayName": "Bed", + "name": "bed", + "hardness": 0.2, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 26 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "golden_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 27 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 28 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 29 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "web", + "hardness": 4, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "web", + "harvestTools": { + "267": true, + "268": true, + "272": true, + "276": true, + "283": true, + "359": true + }, + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 31, + "displayName": "Grass", + "name": "tallgrass", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "dirt", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "deadbush", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 32 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 33 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 34, + "displayName": "Piston Extension", + "name": "piston_head", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 34 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wool", + "variations": [ + { + "metadata": 0, + "displayName": "White Wool" + }, + { + "metadata": 1, + "displayName": "Orange Wool" + }, + { + "metadata": 2, + "displayName": "Magenta Wool" + }, + { + "metadata": 3, + "displayName": "Light blue Wool" + }, + { + "metadata": 4, + "displayName": "Yellow Wool" + }, + { + "metadata": 5, + "displayName": "Lime Wool" + }, + { + "metadata": 6, + "displayName": "Pink Wool" + }, + { + "metadata": 7, + "displayName": "Gray Wool" + }, + { + "metadata": 8, + "displayName": "Light gray Wool" + }, + { + "metadata": 9, + "displayName": "Cyan Wool" + }, + { + "metadata": 10, + "displayName": "Purple Wool" + }, + { + "metadata": 11, + "displayName": "Blue Wool" + }, + { + "metadata": 12, + "displayName": "Brown Wool" + }, + { + "metadata": 13, + "displayName": "Green Wool" + }, + { + "metadata": 14, + "displayName": "Red Wool" + }, + { + "metadata": 15, + "displayName": "Black Wool" + } + ], + "drops": [ + { + "drop": 35 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 36, + "displayName": "Block moved by Piston", + "name": "piston_extension", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 36 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "yellow_flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 37 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 38, + "displayName": "Poppy", + "name": "red_flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 38 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 39 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 40 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "gold_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 41 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "iron_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 42 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 44 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 44 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "brick_block", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 45 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 46 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "mossy_cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 48 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "278": true + }, + "drops": [ + { + "drop": 49 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 50 + } + ], + "transparent": true, + "emitLight": 14, + "filterLight": 0 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "mob_spawner", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 52 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 53 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 54 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 55 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "diamond_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 57 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 58 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 59, + "displayName": "Wheat", + "name": "wheat", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 59 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "lit_furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 62 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 63, + "displayName": "Standing Sign", + "name": "standing_sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 63 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 64, + "displayName": "Wooden Door", + "name": "wooden_door", + "hardness": 3, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 64 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 65 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 66 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "stone_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 67 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "wall_sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 68 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 69 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 70 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 71, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 71 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 72 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "lit_redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 75, + "displayName": "Redstone Torch", + "name": "unlit_redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 75 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 76, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 76 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 77 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 78, + "displayName": "Snow", + "name": "snow_layer", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 81 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 83, + "displayName": "Sugar Cane", + "name": "reeds", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 83 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 84, + "displayName": "Jukebox", + "name": "jukebox", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "no disc inserted" + }, + { + "metadata": 1, + "displayName": "contains a disc" + } + ], + "drops": [ + { + "drop": 84 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 85 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 86 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 87 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 88 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 90, + "displayName": "Nether Portal", + "name": "portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [ + { + "drop": 90 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "lit_pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 91 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 92, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 93, + "displayName": "Redstone Repeater", + "name": "unpowered_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 93 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 94, + "displayName": "Redstone Repeater", + "name": "powered_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 94 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 95, + "displayName": "Stained Glass", + "name": "stained_glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 96 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "hardness": 0.75, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Stone Monster Egg" + }, + { + "metadata": 1, + "displayName": "Cobblestone Monster Egg" + }, + { + "metadata": 2, + "displayName": "Stone Brick Monster Egg" + }, + { + "metadata": 3, + "displayName": "Mossy Stone Brick Monster Egg" + }, + { + "metadata": 4, + "displayName": "Cracked Stone Brick Monster Egg" + }, + { + "metadata": 5, + "displayName": "Chiseled Stone Brick Monster Egg" + } + ], + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 98, + "displayName": "Stone Bricks", + "name": "stonebrick", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone brick" + }, + { + "metadata": 1, + "displayName": "Mossy stone brick" + }, + { + "metadata": 2, + "displayName": "Cracked stone brick" + }, + { + "metadata": 3, + "displayName": "Chiseled stone brick" + } + ], + "drops": [ + { + "drop": 98 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 99, + "displayName": "Huge Brown Mushroom", + "name": "brown_mushroom_block", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 100, + "displayName": "Huge Red Mushroom", + "name": "red_mushroom_block", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 101 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 104 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 105 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vine", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 106 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 107 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 108 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 109 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "waterlily", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 111 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 112 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [ + { + "drop": 113 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 114 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 115, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchanting_table", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 116 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 117, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 117 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 118, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 118 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 119, + "displayName": "End Portal", + "name": "end_portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [ + { + "drop": 119 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 120, + "displayName": "End Portal Block", + "name": "end_portal_frame", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 120 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 121 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 122, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 122 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 123, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 123 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 124, + "displayName": "Redstone Lamp", + "name": "lit_redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 124 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 125, + "displayName": "Double Wooden Slab", + "name": "double_wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 44 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 126, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 44 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 128 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 130, + "displayName": "Ender Chest", + "name": "ender_chest", + "hardness": 22.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 131 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 132 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "emerald_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 133 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 134 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 135 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 136 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 137, + "displayName": "Command Block", + "name": "command_block", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 137 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 138, + "displayName": "Beacon", + "name": "beacon", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 138 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Cobblestone Wall" + }, + { + "metadata": 1, + "displayName": "Mossy Cobblestone Wall" + } + ], + "drops": [ + { + "drop": 139 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 140, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 140 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 141 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 142 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 143 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 144, + "displayName": "Mob Head", + "name": "skull", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ], + "drops": [ + { + "drop": 144 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 145 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 146 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 147, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 147 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 148, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 148 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 149, + "displayName": "Redstone Comparator", + "name": "unpowered_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 149 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 150, + "displayName": "Redstone Comparator", + "name": "powered_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 150 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_detector", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 151 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "redstone_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 152 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "quartz_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 154, + "displayName": "Hopper", + "name": "hopper", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 154 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "quartz_block", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Block of Quartz" + }, + { + "metadata": 1, + "displayName": "Chiseled Quartz Block" + }, + { + "metadata": 2, + "displayName": "Pillar Quartz Block (vertical)" + }, + { + "metadata": 3, + "displayName": "Pillar Quartz Block (north-south)" + }, + { + "metadata": 4, + "displayName": "Pillar Quartz Block (east-west)" + } + ], + "drops": [ + { + "drop": 155 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 156 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 157, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 157 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 158, + "displayName": "Dropper", + "name": "dropper", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 158 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 159 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 160, + "displayName": "Stained Glass Pane", + "name": "stained_glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 161, + "displayName": "Leaves", + "name": "leaves2", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "leaves", + "variations": [ + { + "metadata": 0, + "displayName": "Acacia Leaves" + }, + { + "metadata": 1, + "displayName": "Dark Oak Leaves" + }, + { + "metadata": 4, + "displayName": "Acacia Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Dark Oak Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Acacia Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Dark Oak Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Acacia Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Dark Oak Leaves (no decay and check decay)" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 162, + "displayName": "Wood", + "name": "log2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Acacia wood facing up/down" + }, + { + "metadata": 1, + "displayName": "Dark Oak wood facing up/down" + }, + { + "metadata": 4, + "displayName": "Acacia wood facing East/West" + }, + { + "metadata": 5, + "displayName": "Dark Oak wood facing East/West" + }, + { + "metadata": 8, + "displayName": "Acacia wood facing North/South" + }, + { + "metadata": 9, + "displayName": "Dark Oak wood facing North/South" + }, + { + "metadata": 12, + "displayName": "Acacia wood with only bark" + }, + { + "metadata": 13, + "displayName": "Dark Oak wood with only bark" + } + ], + "drops": [ + { + "drop": 162 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 163 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 164 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 165 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 166, + "displayName": "Barrier", + "name": "barrier", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 167 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 168, + "displayName": "Prismarine", + "name": "prismarine", + "hardness": 1.5, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "variations": [ + { + "metadata": 0, + "displayName": "Prismarine" + }, + { + "metadata": 1, + "displayName": "Prismarine Bricks" + }, + { + "metadata": 2, + "displayName": "Dark Prismarine" + } + ], + "drops": [ + { + "drop": 168 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 169, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "hardness": 0.3, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 169 + } + ], + "transparent": false, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 170, + "displayName": "Hay Block", + "name": "hay_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 170 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "hardness": 0.1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 171 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 172 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "coal_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 173 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 175, + "displayName": "Large Flowers", + "name": "large_flowers", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 175 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/effects.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/effects.json new file mode 100644 index 00000000..0b885b51 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/effects.json @@ -0,0 +1,140 @@ +[ + { + "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" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/enchantments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/enchantments.json new file mode 100644 index 00000000..2f522a4c --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/enchantments.json @@ -0,0 +1,127 @@ +[ + { + "id": 0, + "name": "protection", + "displayName": "Protection" + }, + { + "id": 1, + "name": "fire_protection", + "displayName": "Fire Protection" + }, + { + "id": 2, + "name": "feather_falling", + "displayName": "Feather Falling" + }, + { + "id": 3, + "name": "blast_protection", + "displayName": "Blast Protection" + }, + { + "id": 4, + "name": "projectile_protection", + "displayName": "Projectile Protection" + }, + { + "id": 5, + "name": "respiration", + "displayName": "Respiration" + }, + { + "id": 6, + "name": "aqua_affinity", + "displayName": "Aqua Affinity" + }, + { + "id": 7, + "name": "thorns", + "displayName": "Thorns" + }, + { + "id": 8, + "name": "depth_strider", + "displayName": "Depth Strider" + }, + { + "id": 16, + "name": "sharpness", + "displayName": "Sharpness" + }, + { + "id": 17, + "name": "smite", + "displayName": "Smite" + }, + { + "id": 18, + "name": "bane_of_arthropods", + "displayName": "Bane of Arthropods" + }, + { + "id": 19, + "name": "knockback", + "displayName": "Knockback" + }, + { + "id": 20, + "name": "fire_aspect", + "displayName": "Fire Aspect" + }, + { + "id": 21, + "name": "looting", + "displayName": "Looting" + }, + { + "id": 32, + "name": "efficiency", + "displayName": "Efficiency" + }, + { + "id": 33, + "name": "silk_touch", + "displayName": "Silk Touch" + }, + { + "id": 34, + "name": "unbreaking", + "displayName": "Unbreaking" + }, + { + "id": 35, + "name": "fortune", + "displayName": "Fortune" + }, + { + "id": 48, + "name": "power", + "displayName": "Power" + }, + { + "id": 49, + "name": "punch", + "displayName": "Punch" + }, + { + "id": 50, + "name": "flame", + "displayName": "Flame" + }, + { + "id": 51, + "name": "infinity", + "displayName": "Infinity" + }, + { + "id": 61, + "name": "luck_of_the_sea", + "displayName": "Luck of the Sea" + }, + { + "id": 62, + "name": "lure", + "displayName": "Lure" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/entities.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/entities.json new file mode 100644 index 00000000..27a65703 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/entities.json @@ -0,0 +1,500 @@ +[ + { + "id": 50, + "internalId": 50, + "name": "Creeper", + "displayName": "Creeper", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 51, + "internalId": 51, + "name": "Skeleton", + "displayName": "Skeleton", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 52, + "internalId": 52, + "name": "Spider", + "displayName": "Spider", + "type": "mob", + "width": 1.4, + "height": 0.9, + "category": "Hostile mobs" + }, + { + "id": 53, + "internalId": 53, + "name": "Giant", + "displayName": "Giant", + "type": "mob", + "width": 3.6, + "height": 10.8, + "category": "Hostile mobs" + }, + { + "id": 54, + "internalId": 54, + "name": "Zombie", + "displayName": "Zombie", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 55, + "internalId": 55, + "name": "Slime", + "displayName": "Slime", + "type": "mob", + "width": 0.6, + "height": 0.6, + "category": "Hostile mobs" + }, + { + "id": 56, + "internalId": 56, + "name": "Ghast", + "displayName": "Ghast", + "type": "mob", + "width": 4, + "height": 4, + "category": "Hostile mobs" + }, + { + "id": 57, + "internalId": 57, + "name": "PigZombie", + "displayName": "Zombie Pigman", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 58, + "internalId": 58, + "name": "Enderman", + "displayName": "Enderman", + "type": "mob", + "width": null, + "height": null, + "category": "Hostile mobs" + }, + { + "id": 59, + "internalId": 59, + "name": "CaveSpider", + "displayName": "Cave Spider", + "type": "mob", + "width": null, + "height": null, + "category": "Hostile mobs" + }, + { + "id": 60, + "internalId": 60, + "name": "Silverfish", + "displayName": "Silverfish", + "type": "mob", + "width": null, + "height": null, + "category": "Hostile mobs" + }, + { + "id": 61, + "internalId": 61, + "name": "Blaze", + "displayName": "Blaze", + "type": "mob", + "width": null, + "height": null, + "category": "Hostile mobs" + }, + { + "id": 62, + "internalId": 62, + "name": "LavaSlime", + "displayName": "Magma Cube", + "type": "mob", + "width": 0.6, + "height": 0.6, + "category": "Hostile mobs" + }, + { + "id": 63, + "internalId": 63, + "name": "EnderDragon", + "displayName": "Ender Dragon", + "type": "mob", + "width": null, + "height": null, + "category": "Hostile mobs" + }, + { + "id": 64, + "internalId": 64, + "name": "WitherBoss", + "displayName": "Wither", + "type": "mob", + "width": null, + "height": null, + "category": "Hostile mobs" + }, + { + "id": 65, + "internalId": 65, + "name": "Bat", + "displayName": "Bat", + "type": "mob", + "width": null, + "height": null, + "category": "Passive mobs" + }, + { + "id": 66, + "internalId": 66, + "name": "Witch", + "displayName": "Witch", + "type": "mob", + "width": null, + "height": null, + "category": "Hostile mobs" + }, + { + "id": 90, + "internalId": 90, + "name": "Pig", + "displayName": "Pig", + "type": "mob", + "width": 0.9, + "height": 0.9, + "category": "Passive mobs" + }, + { + "id": 91, + "internalId": 91, + "name": "Sheep", + "displayName": "Sheep", + "type": "mob", + "width": 0.6, + "height": 1.3, + "category": "Passive mobs" + }, + { + "id": 92, + "internalId": 92, + "name": "Cow", + "displayName": "Cow", + "type": "mob", + "width": 0.9, + "height": 1.3, + "category": "Passive mobs" + }, + { + "id": 93, + "internalId": 93, + "name": "Chicken", + "displayName": "Chicken", + "type": "mob", + "width": 0.3, + "height": 0.4, + "category": "Passive mobs" + }, + { + "id": 94, + "internalId": 94, + "name": "Squid", + "displayName": "Squid", + "type": "mob", + "width": 0.95, + "height": 0.95, + "category": "Passive mobs" + }, + { + "id": 95, + "internalId": 95, + "name": "Wolf", + "displayName": "Wolf", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Passive mobs" + }, + { + "id": 96, + "internalId": 96, + "name": "MushroomCow", + "displayName": "Mooshroom", + "type": "mob", + "width": null, + "height": null, + "category": "Passive mobs" + }, + { + "id": 97, + "internalId": 97, + "name": "SnowMan", + "displayName": "Snow Golem", + "type": "mob", + "width": null, + "height": null, + "category": "Passive mobs" + }, + { + "id": 98, + "internalId": 98, + "name": "Ozelot", + "displayName": "Ocelot", + "type": "mob", + "width": null, + "height": null, + "category": "Passive mobs" + }, + { + "id": 99, + "internalId": 99, + "name": "VillagerGolem", + "displayName": "Iron Golem", + "type": "mob", + "width": null, + "height": null, + "category": "Passive mobs" + }, + { + "id": 100, + "internalId": 100, + "name": "EntityHorse", + "displayName": "Horse", + "type": "mob", + "width": null, + "height": null, + "category": "Passive mobs" + }, + { + "id": 120, + "internalId": 120, + "name": "Villager", + "displayName": "Villager", + "type": "mob", + "width": null, + "height": null, + "category": "NPCs" + }, + { + "id": 1, + "internalId": 41, + "name": "Boat", + "displayName": "Boat", + "type": "object", + "width": 1.5, + "height": 0.6, + "category": "Vehicles" + }, + { + "id": 2, + "internalId": 1, + "name": "Item", + "displayName": "Dropped item", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Drops" + }, + { + "id": 10, + "internalId": 42, + "name": "MinecartRideable", + "displayName": "Minecart", + "type": "object", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 11, + "internalId": 42, + "name": "MinecartRideable", + "displayName": "Minecart", + "type": "object", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 12, + "internalId": 42, + "name": "MinecartRideable", + "displayName": "Minecart", + "type": "object", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 50, + "internalId": 20, + "name": "PrimedTnt", + "displayName": "Primed TNT", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 51, + "internalId": 200, + "name": "EnderCrystal", + "displayName": "Ender Crystal", + "type": "object", + "width": 2, + "height": 2, + "category": "Immobile" + }, + { + "id": 60, + "internalId": 10, + "name": "Arrow", + "displayName": "Shot arrow", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 61, + "internalId": 11, + "name": "Snowball", + "displayName": "Thrown snowball", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 62, + "internalId": 90, + "name": "Pig", + "displayName": "Pig", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Passive mobs" + }, + { + "id": 63, + "internalId": 12, + "name": "Fireball", + "displayName": "Ghast fireball", + "type": "object", + "width": 1, + "height": 1, + "category": "Projectiles" + }, + { + "id": 64, + "internalId": 13, + "name": "SmallFireball", + "displayName": "Blaze fireball", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 65, + "internalId": 14, + "name": "ThrownEnderpearl", + "displayName": "Thrown Ender Pearl", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 66, + "internalId": 19, + "name": "WitherSkull", + "displayName": "Wither Skull", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 70, + "internalId": 21, + "name": "FallingSand", + "displayName": "Falling block", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 71, + "internalId": 18, + "name": "ItemFrame", + "displayName": "Item Frame", + "type": "object", + "width": null, + "height": null, + "category": "Immobile" + }, + { + "id": 72, + "internalId": 15, + "name": "EyeOfEnderSignal", + "displayName": "Thrown Eye of Ender", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 73, + "internalId": 16, + "name": "ThrownPotion", + "displayName": "Thrown splash potion", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 74, + "internalId": 21, + "name": "FallingSand", + "displayName": "Falling block", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 75, + "internalId": 17, + "name": "ThrownExpBottle", + "displayName": "Thrown Bottle o' Enchanting", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 90, + "name": "Fishing Float", + "displayName": "Fishing Float", + "type": "object", + "width": 0.25, + "height": 0.25 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/foods.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/foods.json new file mode 100644 index 00000000..9ad96ee8 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/foods.json @@ -0,0 +1,282 @@ +[ + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "stackSize": 64, + "foodPoints": 4, + "saturation": 4.8, + "effectiveQuality": 8.8, + "saturationRatio": 1.2 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.6, + "effectiveQuality": 1.6, + "saturationRatio": 0.6 + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple", + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "porkchop", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop", + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ], + "foodPoints": 4, + "saturation": 9.6, + "effectiveQuality": 13.6, + "saturationRatio": 2.4 + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "fish", + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake", + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie", + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "beef", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "cooked_beef", + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "chicken", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh", + "foodPoints": 4, + "saturation": 0.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.2 + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye", + "foodPoints": 2, + "saturation": 3.2, + "effectiveQuality": 5.2, + "saturationRatio": 1.6 + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot", + "foodPoints": 6, + "saturation": 14.4, + "effectiveQuality": 20.4, + "saturationRatio": 2.4 + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie", + "foodPoints": 8, + "saturation": 4.8, + "effectiveQuality": 12.8, + "saturationRatio": 0.6 + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "rabbit", + "foodPoints": 2, + "saturation": 1.8, + "effectiveQuality": 3.8, + "saturationRatio": 0.9 + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew", + "foodPoints": 10, + "saturation": 12, + "effectiveQuality": 22, + "saturationRatio": 1.2 + }, + { + "id": 423, + "displayName": "Raw Mutton", + "stackSize": 64, + "name": "mutton", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 424, + "displayName": "Cooked Mutton", + "stackSize": 64, + "name": "cooked_mutton", + "foodPoints": 6, + "saturation": 9.6, + "effectiveQuality": 15.6, + "saturationRatio": 1.5999999999999999 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/instruments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/instruments.json new file mode 100644 index 00000000..d877f189 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/instruments.json @@ -0,0 +1,22 @@ +[ + { + "id": 0, + "name": "harp" + }, + { + "id": 1, + "name": "doubleBass" + }, + { + "id": 2, + "name": "snareDrum" + }, + { + "id": 3, + "name": "sticks" + }, + { + "id": 4, + "name": "bassDrum" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/items.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/items.json new file mode 100644 index 00000000..45b47c3c --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/items.json @@ -0,0 +1,2186 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 64 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "wood_planks", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Water", + "name": "flowing_water", + "stackSize": 64 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Lava", + "name": "flowing_lava", + "stackSize": 64 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Wood", + "name": "log", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "noteblock", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "golden_rail", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "web", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Grass", + "name": "tallgrass", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "deadbush", + "stackSize": 64 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "stackSize": 64 + }, + { + "id": 34, + "displayName": "Piston Extension", + "name": "piston_head", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "stackSize": 64 + }, + { + "id": 36, + "displayName": "Block moved by Piston", + "name": "piston_extension", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "yellow_flower", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Poppy", + "name": "red_flower", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "gold_block", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "iron_block", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "brick_block", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "mossy_cobblestone", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "mob_spawner", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_stairs", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "diamond_block", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "lit_furnace", + "stackSize": 64 + }, + { + "id": 63, + "displayName": "Standing Sign", + "name": "standing_sign", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "stone_stairs", + "stackSize": 64 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "wall_sign", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "lit_redstone_ore", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Redstone Torch", + "name": "unlit_redstone_torch", + "stackSize": 64 + }, + { + "id": 76, + "displayName": "Redstone Torch", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Snow", + "name": "snow_layer", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "stackSize": 64 + }, + { + "id": 84, + "displayName": "Jukebox", + "name": "jukebox", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Nether Portal", + "name": "portal", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "lit_pumpkin", + "stackSize": 64 + }, + { + "id": 93, + "displayName": "Redstone Repeater", + "name": "unpowered_repeater", + "stackSize": 64 + }, + { + "id": 94, + "displayName": "Redstone Repeater", + "name": "powered_repeater", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "Stained Glass", + "name": "stained_glass", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Stone Bricks", + "name": "stonebrick", + "stackSize": 64 + }, + { + "id": 99, + "displayName": "Huge Brown Mushroom", + "name": "brown_mushroom_block", + "stackSize": 64 + }, + { + "id": 100, + "displayName": "Huge Red Mushroom", + "name": "red_mushroom_block", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vine", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "waterlily", + "stackSize": 64 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchanting_table", + "stackSize": 64 + }, + { + "id": 119, + "displayName": "End Portal", + "name": "end_portal", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "End Portal Block", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 122, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "stackSize": 64 + }, + { + "id": 123, + "displayName": "Redstone Lamp", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 124, + "displayName": "Redstone Lamp", + "name": "lit_redstone_lamp", + "stackSize": 64 + }, + { + "id": 125, + "displayName": "Double Wooden Slab", + "name": "double_wooden_slab", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 130, + "displayName": "Ender Chest", + "name": "ender_chest", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "emerald_block", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_stairs", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_stairs", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_stairs", + "stackSize": 64 + }, + { + "id": 137, + "displayName": "Command Block", + "name": "command_block", + "stackSize": 64 + }, + { + "id": 138, + "displayName": "Beacon", + "name": "beacon", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "stackSize": 64 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "Light Weighted Pressure Plate", + "name": "light_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 148, + "displayName": "Heavy Weighted Pressure Plate", + "name": "heavy_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 149, + "displayName": "Redstone Comparator", + "name": "unpowered_comparator", + "stackSize": 64 + }, + { + "id": 150, + "displayName": "Redstone Comparator", + "name": "powered_comparator", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_detector", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "redstone_block", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "quartz_ore", + "stackSize": 64 + }, + { + "id": 154, + "displayName": "Hopper", + "name": "hopper", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "quartz_block", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_hardened_clay", + "stackSize": 64 + }, + { + "id": 160, + "displayName": "Stained Glass Pane", + "name": "stained_glass_pane", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Leaves", + "name": "leaves2", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Wood", + "name": "log2", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_stairs", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_stairs", + "stackSize": 64 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime", + "stackSize": 64 + }, + { + "id": 166, + "displayName": "Barrier", + "name": "barrier", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 168, + "displayName": "Prismarine", + "name": "prismarine", + "stackSize": 64 + }, + { + "id": 169, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Hay Block", + "name": "hay_block", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "coal_block", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Large Flowers", + "name": "large_flowers", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Iron Shovel", + "stackSize": 1, + "name": "iron_shovel" + }, + { + "id": 257, + "displayName": "Iron Pickaxe", + "stackSize": 1, + "name": "iron_pickaxe" + }, + { + "id": 258, + "displayName": "Iron Axe", + "stackSize": 1, + "name": "iron_axe" + }, + { + "id": 259, + "displayName": "Flint and Steel", + "stackSize": 1, + "name": "flint_and_steel" + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple" + }, + { + "id": 261, + "displayName": "Bow", + "stackSize": 1, + "name": "bow" + }, + { + "id": 262, + "displayName": "Arrow", + "stackSize": 64, + "name": "arrow" + }, + { + "id": 263, + "displayName": "Coal", + "stackSize": 64, + "name": "coal", + "variations": [ + { + "metadata": 0, + "displayName": "Coal" + }, + { + "metadata": 1, + "displayName": "Charcoal" + } + ] + }, + { + "id": 264, + "displayName": "Diamond", + "stackSize": 64, + "name": "diamond" + }, + { + "id": 265, + "displayName": "Iron Ingot", + "stackSize": 64, + "name": "iron_ingot" + }, + { + "id": 266, + "displayName": "Gold Ingot", + "stackSize": 64, + "name": "gold_ingot" + }, + { + "id": 267, + "displayName": "Iron Sword", + "stackSize": 1, + "name": "iron_sword" + }, + { + "id": 268, + "displayName": "Wooden Sword", + "stackSize": 1, + "name": "wooden_sword" + }, + { + "id": 269, + "displayName": "Wooden Shovel", + "stackSize": 1, + "name": "wooden_shovel" + }, + { + "id": 270, + "displayName": "Wooden Pickaxe", + "stackSize": 1, + "name": "wooden_pickaxe" + }, + { + "id": 271, + "displayName": "Wooden Axe", + "stackSize": 1, + "name": "wooden_axe" + }, + { + "id": 272, + "displayName": "Stone Sword", + "stackSize": 1, + "name": "stone_sword" + }, + { + "id": 273, + "displayName": "Stone Shovel", + "stackSize": 1, + "name": "stone_shovel" + }, + { + "id": 274, + "displayName": "Stone Pickaxe", + "stackSize": 1, + "name": "stone_pickaxe" + }, + { + "id": 275, + "displayName": "Stone Axe", + "stackSize": 1, + "name": "stone_axe" + }, + { + "id": 276, + "displayName": "Diamond Sword", + "stackSize": 1, + "name": "diamond_sword" + }, + { + "id": 277, + "displayName": "Diamond Shovel", + "stackSize": 1, + "name": "diamond_shovel" + }, + { + "id": 278, + "displayName": "Diamond Pickaxe", + "stackSize": 1, + "name": "diamond_pickaxe" + }, + { + "id": 279, + "displayName": "Diamond Axe", + "stackSize": 1, + "name": "diamond_axe" + }, + { + "id": 280, + "displayName": "Stick", + "stackSize": 64, + "name": "stick" + }, + { + "id": 281, + "displayName": "Bowl", + "stackSize": 64, + "name": "bowl" + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew" + }, + { + "id": 283, + "displayName": "Golden Sword", + "stackSize": 1, + "name": "golden_sword" + }, + { + "id": 284, + "displayName": "Golden Shovel", + "stackSize": 1, + "name": "golden_shovel" + }, + { + "id": 285, + "displayName": "Golden Pickaxe", + "stackSize": 1, + "name": "golden_pickaxe" + }, + { + "id": 286, + "displayName": "Golden Axe", + "stackSize": 1, + "name": "golden_axe" + }, + { + "id": 287, + "displayName": "String", + "stackSize": 64, + "name": "string" + }, + { + "id": 288, + "displayName": "Feather", + "stackSize": 64, + "name": "feather" + }, + { + "id": 289, + "displayName": "Gunpowder", + "stackSize": 64, + "name": "gunpowder" + }, + { + "id": 290, + "displayName": "Wooden Hoe", + "stackSize": 1, + "name": "wooden_hoe" + }, + { + "id": 291, + "displayName": "Stone Hoe", + "stackSize": 1, + "name": "stone_hoe" + }, + { + "id": 292, + "displayName": "Iron Hoe", + "stackSize": 1, + "name": "iron_hoe" + }, + { + "id": 293, + "displayName": "Diamond Hoe", + "stackSize": 1, + "name": "diamond_hoe" + }, + { + "id": 294, + "displayName": "Golden Hoe", + "stackSize": 1, + "name": "golden_hoe" + }, + { + "id": 295, + "displayName": "Seeds", + "stackSize": 64, + "name": "wheat_seeds" + }, + { + "id": 296, + "displayName": "Wheat", + "stackSize": 64, + "name": "wheat" + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread" + }, + { + "id": 298, + "displayName": "Leather Cap", + "stackSize": 1, + "name": "leather_helmet" + }, + { + "id": 299, + "displayName": "Leather Tunic", + "stackSize": 1, + "name": "leather_chestplate" + }, + { + "id": 300, + "displayName": "Leather Pants", + "stackSize": 1, + "name": "leather_leggings" + }, + { + "id": 301, + "displayName": "Leather Boots", + "stackSize": 1, + "name": "leather_boots" + }, + { + "id": 302, + "displayName": "Chain Helmet", + "stackSize": 1, + "name": "chainmail_helmet" + }, + { + "id": 303, + "displayName": "Chain Tunic", + "stackSize": 1, + "name": "chainmail_chestplate" + }, + { + "id": 304, + "displayName": "Chain Leggings", + "stackSize": 1, + "name": "chainmail_leggings" + }, + { + "id": 305, + "displayName": "Chain Boots", + "stackSize": 1, + "name": "chainmail_boots" + }, + { + "id": 306, + "displayName": "Iron Helmet", + "stackSize": 1, + "name": "iron_helmet" + }, + { + "id": 307, + "displayName": "Iron Chestplate", + "stackSize": 1, + "name": "iron_chestplate" + }, + { + "id": 308, + "displayName": "Iron Leggings", + "stackSize": 1, + "name": "iron_leggings" + }, + { + "id": 309, + "displayName": "Iron Boots", + "stackSize": 1, + "name": "iron_boots" + }, + { + "id": 310, + "displayName": "Diamond Helmet", + "stackSize": 1, + "name": "diamond_helmet" + }, + { + "id": 311, + "displayName": "Diamond Chestplate", + "stackSize": 1, + "name": "diamond_chestplate" + }, + { + "id": 312, + "displayName": "Diamond Leggings", + "stackSize": 1, + "name": "diamond_leggings" + }, + { + "id": 313, + "displayName": "Diamond Boots", + "stackSize": 1, + "name": "diamond_boots" + }, + { + "id": 314, + "displayName": "Golden Helmet", + "stackSize": 1, + "name": "golden_helmet" + }, + { + "id": 315, + "displayName": "Golden Chestplate", + "stackSize": 1, + "name": "golden_chestplate" + }, + { + "id": 316, + "displayName": "Golden Leggings", + "stackSize": 1, + "name": "golden_leggings" + }, + { + "id": 317, + "displayName": "Golden Boots", + "stackSize": 1, + "name": "golden_boots" + }, + { + "id": 318, + "displayName": "Flint", + "stackSize": 64, + "name": "flint" + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "porkchop" + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop" + }, + { + "id": 321, + "displayName": "Painting", + "stackSize": 64, + "name": "painting" + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ] + }, + { + "id": 323, + "displayName": "Sign", + "stackSize": 16, + "name": "sign" + }, + { + "id": 324, + "displayName": "Wooden Door", + "stackSize": 1, + "name": "wooden_door" + }, + { + "id": 325, + "displayName": "Bucket", + "stackSize": 16, + "name": "bucket" + }, + { + "id": 326, + "displayName": "Water Bucket", + "stackSize": 64, + "name": "water_bucket" + }, + { + "id": 327, + "displayName": "Lava Bucket", + "stackSize": 64, + "name": "lava_bucket" + }, + { + "id": 328, + "displayName": "Minecart", + "stackSize": 1, + "name": "minecart" + }, + { + "id": 329, + "displayName": "Saddle", + "stackSize": 1, + "name": "saddle" + }, + { + "id": 330, + "displayName": "Iron Door", + "stackSize": 1, + "name": "iron_door" + }, + { + "id": 331, + "displayName": "Redstone", + "stackSize": 64, + "name": "redstone" + }, + { + "id": 332, + "displayName": "Snowball", + "stackSize": 16, + "name": "snowball" + }, + { + "id": 333, + "displayName": "Boat", + "stackSize": 1, + "name": "boat" + }, + { + "id": 334, + "displayName": "Leather", + "stackSize": 64, + "name": "leather" + }, + { + "id": 335, + "displayName": "Milk", + "stackSize": 1, + "name": "milk_bucket" + }, + { + "id": 336, + "displayName": "Brick", + "stackSize": 64, + "name": "brick" + }, + { + "id": 337, + "displayName": "Clay", + "stackSize": 64, + "name": "clay_ball" + }, + { + "id": 338, + "displayName": "Sugar Cane", + "stackSize": 64, + "name": "reeds" + }, + { + "id": 339, + "displayName": "Paper", + "stackSize": 64, + "name": "paper" + }, + { + "id": 340, + "displayName": "Book", + "stackSize": 64, + "name": "book" + }, + { + "id": 341, + "displayName": "Slimeball", + "stackSize": 64, + "name": "slime_ball" + }, + { + "id": 342, + "displayName": "Minecart with Chest", + "stackSize": 1, + "name": "chest_minecart" + }, + { + "id": 343, + "displayName": "Minecart with Furnace", + "stackSize": 1, + "name": "furnace_minecart" + }, + { + "id": 344, + "displayName": "Egg", + "stackSize": 16, + "name": "egg" + }, + { + "id": 345, + "displayName": "Compass", + "stackSize": 64, + "name": "compass" + }, + { + "id": 346, + "displayName": "Fishing Rod", + "stackSize": 1, + "name": "fishing_rod" + }, + { + "id": 347, + "displayName": "Clock", + "stackSize": 64, + "name": "clock" + }, + { + "id": 348, + "displayName": "Glowstone Dust", + "stackSize": 64, + "name": "glowstone_dust" + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "fish" + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish" + }, + { + "id": 351, + "displayName": "Dye", + "stackSize": 64, + "name": "dye", + "variations": [ + { + "metadata": 0, + "displayName": "Ink Sac" + }, + { + "metadata": 1, + "displayName": "Rose Red" + }, + { + "metadata": 2, + "displayName": "Cactus Green" + }, + { + "metadata": 3, + "displayName": "Cocoa Beans" + }, + { + "metadata": 4, + "displayName": "Lapis Lazuli" + }, + { + "metadata": 5, + "displayName": "Purple Dye" + }, + { + "metadata": 6, + "displayName": "Cyan Dye" + }, + { + "metadata": 7, + "displayName": "Light Gray Dye" + }, + { + "metadata": 8, + "displayName": "Gray Dye" + }, + { + "metadata": 9, + "displayName": "Pink Dye" + }, + { + "metadata": 10, + "displayName": "Lime Dye" + }, + { + "metadata": 11, + "displayName": "Dandelion Yellow" + }, + { + "metadata": 12, + "displayName": "Light Blue Dye" + }, + { + "metadata": 13, + "displayName": "Magenta Dye" + }, + { + "metadata": 14, + "displayName": "Orange Dye" + }, + { + "metadata": 15, + "displayName": "Bone Meal" + } + ] + }, + { + "id": 352, + "displayName": "Bone", + "stackSize": 64, + "name": "bone" + }, + { + "id": 353, + "displayName": "Sugar", + "stackSize": 64, + "name": "sugar" + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake" + }, + { + "id": 355, + "displayName": "Bed", + "stackSize": 1, + "name": "bed" + }, + { + "id": 356, + "displayName": "Redstone Repeater", + "stackSize": 64, + "name": "repeater" + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie" + }, + { + "id": 358, + "displayName": "Map", + "stackSize": 64, + "name": "filled_map" + }, + { + "id": 359, + "displayName": "Shears", + "stackSize": 1, + "name": "shears" + }, + { + "id": 360, + "displayName": "Melon", + "stackSize": 64, + "name": "melon" + }, + { + "id": 361, + "displayName": "Pumpkin Seeds", + "stackSize": 64, + "name": "pumpkin_seeds" + }, + { + "id": 362, + "displayName": "Melon Seeds", + "stackSize": 64, + "name": "melon_seeds" + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "beef" + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "cooked_beef" + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "chicken" + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken" + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh" + }, + { + "id": 368, + "displayName": "Ender Pearl", + "stackSize": 16, + "name": "ender_pearl" + }, + { + "id": 369, + "displayName": "Blaze Rod", + "stackSize": 64, + "name": "blaze_rod" + }, + { + "id": 370, + "displayName": "Ghast Tear", + "stackSize": 64, + "name": "ghast_tear" + }, + { + "id": 371, + "displayName": "Gold Nugget", + "stackSize": 64, + "name": "gold_nugget" + }, + { + "id": 372, + "displayName": "Nether Wart", + "stackSize": 64, + "name": "nether_wart" + }, + { + "id": 373, + "displayName": "Potion", + "stackSize": 1, + "name": "potion" + }, + { + "id": 374, + "displayName": "Glass Bottle", + "stackSize": 64, + "name": "glass_bottle" + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye" + }, + { + "id": 376, + "displayName": "Fermented Spider Eye", + "stackSize": 64, + "name": "fermented_spider_eye" + }, + { + "id": 377, + "displayName": "Blaze Powder", + "stackSize": 64, + "name": "blaze_powder" + }, + { + "id": 378, + "displayName": "Magma Cream", + "stackSize": 64, + "name": "magma_cream" + }, + { + "id": 379, + "displayName": "Brewing Stand", + "stackSize": 64, + "name": "brewing_stand" + }, + { + "id": 380, + "displayName": "Cauldron", + "stackSize": 64, + "name": "cauldron" + }, + { + "id": 381, + "displayName": "Eye of Ender", + "stackSize": 64, + "name": "eye_of_ender" + }, + { + "id": 382, + "displayName": "Glistering Melon", + "stackSize": 64, + "name": "speckled_melon" + }, + { + "id": 383, + "displayName": "Spawn Egg", + "stackSize": 64, + "name": "spawn_egg" + }, + { + "id": 384, + "displayName": "Bottle o' Enchanting", + "stackSize": 64, + "name": "experience_bottle" + }, + { + "id": 385, + "displayName": "Fire Charge", + "stackSize": 64, + "name": "fire_charge" + }, + { + "id": 386, + "displayName": "Book and Quill", + "stackSize": 1, + "name": "writable_book" + }, + { + "id": 387, + "displayName": "Written Book", + "stackSize": 16, + "name": "written_book" + }, + { + "id": 388, + "displayName": "Emerald", + "stackSize": 64, + "name": "emerald" + }, + { + "id": 389, + "displayName": "Item Frame", + "stackSize": 64, + "name": "item_frame" + }, + { + "id": 390, + "displayName": "Flower Pot", + "stackSize": 64, + "name": "flower_pot" + }, + { + "id": 391, + "displayName": "Carrot", + "stackSize": 64, + "name": "carrot" + }, + { + "id": 392, + "displayName": "Potato", + "stackSize": 64, + "name": "potato" + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato" + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato" + }, + { + "id": 395, + "displayName": "Empty Map", + "stackSize": 64, + "name": "map" + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot" + }, + { + "id": 397, + "displayName": "Mob head", + "stackSize": 64, + "name": "skull", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ] + }, + { + "id": 398, + "displayName": "Carrot on a Stick", + "stackSize": 1, + "name": "carrot_on_a_stick" + }, + { + "id": 399, + "displayName": "Nether Star", + "stackSize": 64, + "name": "nether_star" + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie" + }, + { + "id": 401, + "displayName": "Firework Rocket", + "stackSize": 64, + "name": "fireworks" + }, + { + "id": 402, + "displayName": "Firework Star", + "stackSize": 64, + "name": "firework_charge" + }, + { + "id": 403, + "displayName": "Enchanted Book", + "stackSize": 1, + "name": "enchanted_book" + }, + { + "id": 404, + "displayName": "Redstone Comparator", + "stackSize": 64, + "name": "comparator" + }, + { + "id": 405, + "displayName": "Nether Brick", + "stackSize": 64, + "name": "netherbrick" + }, + { + "id": 406, + "displayName": "Nether Quartz", + "stackSize": 64, + "name": "quartz" + }, + { + "id": 407, + "displayName": "Minecart with TNT", + "stackSize": 1, + "name": "tnt_minecart" + }, + { + "id": 408, + "displayName": "Minecart with Hopper", + "stackSize": 1, + "name": "hopper_minecart" + }, + { + "id": 409, + "displayName": "Prismarine Shard", + "stackSize": 64, + "name": "prismarine_shard" + }, + { + "id": 410, + "displayName": "Prismarine Crystals", + "stackSize": 64, + "name": "prismarine_crystals" + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "rabbit" + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit" + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew" + }, + { + "id": 414, + "displayName": "Rabbit's Foot", + "stackSize": 64, + "name": "rabbit_foot" + }, + { + "id": 415, + "displayName": "Rabbit Hide", + "stackSize": 64, + "name": "rabbit_hide" + }, + { + "id": 417, + "displayName": "Iron Horse Armor", + "stackSize": 1, + "name": "iron_horse_armor" + }, + { + "id": 418, + "displayName": "Golden Horse Armor", + "stackSize": 1, + "name": "golden_horse_armor" + }, + { + "id": 419, + "displayName": "Diamond Horse Armor", + "stackSize": 1, + "name": "diamond_horse_armor" + }, + { + "id": 420, + "displayName": "Lead", + "stackSize": 64, + "name": "lead" + }, + { + "id": 421, + "displayName": "Name Tag", + "stackSize": 64, + "name": "name_tag" + }, + { + "id": 422, + "displayName": "Minecart with Command Block", + "stackSize": 1, + "name": "command_block_minecart" + }, + { + "id": 423, + "displayName": "Raw Mutton", + "stackSize": 64, + "name": "mutton" + }, + { + "id": 424, + "displayName": "Cooked Mutton", + "stackSize": 64, + "name": "cooked_mutton" + }, + { + "id": 425, + "displayName": "Banner", + "stackSize": 16, + "name": "banner" + }, + { + "id": 2256, + "displayName": "13 Disc", + "stackSize": 1, + "name": "record_13" + }, + { + "id": 2257, + "displayName": "cat Disc", + "stackSize": 1, + "name": "record_cat" + }, + { + "id": 2258, + "displayName": "blocks Disc", + "stackSize": 1, + "name": "record_blocks" + }, + { + "id": 2259, + "displayName": "chirp Disc", + "stackSize": 1, + "name": "record_chirp" + }, + { + "id": 2260, + "displayName": "far Disc", + "stackSize": 1, + "name": "record_far" + }, + { + "id": 2261, + "displayName": "mall Disc", + "stackSize": 1, + "name": "record_mall" + }, + { + "id": 2262, + "displayName": "mellohi Disc", + "stackSize": 1, + "name": "record_mellohi" + }, + { + "id": 2263, + "displayName": "stal Disc", + "stackSize": 1, + "name": "record_stal" + }, + { + "id": 2264, + "displayName": "strad Disc", + "stackSize": 1, + "name": "record_strad" + }, + { + "id": 2265, + "displayName": "ward Disc", + "stackSize": 1, + "name": "record_ward" + }, + { + "id": 2266, + "displayName": "11 Disc", + "stackSize": 1, + "name": "record_11" + }, + { + "id": 2267, + "displayName": "wait Disc", + "stackSize": 1, + "name": "record_wait" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/language.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/language.json new file mode 100644 index 00000000..212f8a83 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/language.json @@ -0,0 +1,1579 @@ +{ + "language.name": "English", + "language.region": "US", + "language.code": "en_US", + "gui.done": "Done", + "gui.cancel": "Cancel", + "gui.back": "Back", + "gui.toMenu": "Back to title screen", + "gui.up": "Up", + "gui.down": "Down", + "gui.yes": "Yes", + "gui.no": "No", + "translation.test.none": "Hello, world!", + "translation.test.complex": "Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!", + "translation.test.escape": "%%s %%%s %%%%s %%%%%s", + "translation.test.invalid": "hi %", + "translation.test.invalid2": "hi % s", + "translation.test.args": "%s %s", + "translation.test.world": "world", + "menu.singleplayer": "Singleplayer", + "menu.multiplayer": "Multiplayer", + "menu.online": "Minecraft Realms", + "menu.options": "Options...", + "menu.quit": "Quit Game", + "menu.returnToMenu": "Save and Quit to Title", + "menu.disconnect": "Disconnect", + "menu.returnToGame": "Back to Game", + "menu.switchingLevel": "Switching worlds", + "menu.generatingLevel": "Generating world", + "menu.loadingLevel": "Loading world", + "menu.generatingTerrain": "Building terrain", + "menu.convertingLevel": "Converting world", + "menu.simulating": "Simulating the world for a bit", + "menu.respawning": "Respawning", + "menu.shareToLan": "Open to LAN", + "selectWorld.title": "Select World", + "selectWorld.empty": "empty", + "selectWorld.world": "World", + "selectWorld.select": "Play Selected World", + "selectWorld.create": "Create New World", + "selectWorld.recreate": "Re-Create", + "selectWorld.createDemo": "Play New Demo World", + "selectWorld.delete": "Delete", + "selectWorld.rename": "Rename", + "selectWorld.deleteQuestion": "Are you sure you want to delete this world?", + "selectWorld.deleteWarning": "will be lost forever! (A long time!)", + "selectWorld.deleteButton": "Delete", + "selectWorld.renameButton": "Rename", + "selectWorld.renameTitle": "Rename World", + "selectWorld.conversion": "Must be converted!", + "selectWorld.newWorld": "New World", + "selectWorld.newWorld.copyOf": "Copy of %s", + "selectWorld.enterName": "World Name", + "selectWorld.resultFolder": "Will be saved in:", + "selectWorld.enterSeed": "Seed for the World Generator", + "selectWorld.seedInfo": "Leave blank for a random seed", + "selectWorld.cheats": "Cheats", + "selectWorld.customizeType": "Customize", + "createWorld.customize.presets": "Presets", + "createWorld.customize.presets.title": "Select a Preset", + "createWorld.customize.presets.select": "Use Preset", + "createWorld.customize.presets.share": "Want to share your preset with someone? Use the below box!", + "createWorld.customize.presets.list": "Alternatively, here's some we made earlier!", + "createWorld.customize.flat.title": "Superflat Customization", + "createWorld.customize.flat.tile": "Layer Material", + "createWorld.customize.flat.height": "Height", + "createWorld.customize.flat.addLayer": "Add Layer", + "createWorld.customize.flat.editLayer": "Edit Layer", + "createWorld.customize.flat.removeLayer": "Remove Layer", + "createWorld.customize.flat.layer.top": "Top - %d", + "createWorld.customize.flat.layer": "%d", + "createWorld.customize.flat.layer.bottom": "Bottom - %d", + "gameMode.survival": "Survival Mode", + "gameMode.creative": "Creative Mode", + "gameMode.adventure": "Adventure Mode", + "gameMode.hardcore": "Hardcore Mode!", + "gameMode.changed": "Your game mode has been updated", + "selectWorld.gameMode": "Game Mode", + "selectWorld.gameMode.survival": "Survival", + "selectWorld.gameMode.survival.line1": "Search for resources, crafting, gain", + "selectWorld.gameMode.survival.line2": "levels, health and hunger", + "selectWorld.gameMode.creative": "Creative", + "selectWorld.gameMode.creative.line1": "Unlimited resources, free flying and", + "selectWorld.gameMode.creative.line2": "destroy blocks instantly", + "selectWorld.gameMode.hardcore": "Hardcore", + "selectWorld.gameMode.hardcore.line1": "Same as survival mode, locked at hardest", + "selectWorld.gameMode.hardcore.line2": "difficulty, and one life only", + "selectWorld.gameMode.adventure": "Adventure", + "selectWorld.gameMode.adventure.line1": "Same as survival mode, but blocks can't", + "selectWorld.gameMode.adventure.line2": "be added or removed", + "selectWorld.moreWorldOptions": "More World Options...", + "selectWorld.mapFeatures": "Generate Structures:", + "selectWorld.mapFeatures.info": "Villages, dungeons etc", + "selectWorld.mapType": "World Type:", + "selectWorld.mapType.normal": "Normal", + "selectWorld.allowCommands": "Allow Cheats:", + "selectWorld.allowCommands.info": "Commands like /gamemode, /xp", + "selectWorld.hardcoreMode": "Hardcore:", + "selectWorld.hardcoreMode.info": "World is deleted upon death", + "selectWorld.bonusItems": "Bonus Chest:", + "generator.default": "Default", + "generator.flat": "Superflat", + "generator.largeBiomes": "Large Biomes", + "generator.amplified": "AMPLIFIED", + "generator.amplified.info": "Notice: Just for fun, requires beefy computer", + "selectServer.title": "Select Server", + "selectServer.empty": "empty", + "selectServer.select": "Join Server", + "selectServer.direct": "Direct Connect", + "selectServer.edit": "Edit", + "selectServer.delete": "Delete", + "selectServer.add": "Add server", + "selectServer.defaultName": "Minecraft Server", + "selectServer.deleteQuestion": "Are you sure you want to remove this server?", + "selectServer.deleteWarning": "will be lost forever! (A long time!)", + "selectServer.deleteButton": "Delete", + "selectServer.refresh": "Refresh", + "selectServer.hiddenAddress": "(Hidden)", + "addServer.title": "Edit Server Info", + "addServer.enterName": "Server Name", + "addServer.enterIp": "Server Address", + "addServer.add": "Done", + "addServer.hideAddress": "Hide Address", + "lanServer.title": "LAN World", + "lanServer.scanning": "Scanning for games on your local network", + "lanServer.start": "Start LAN World", + "lanServer.otherPlayers": "Settings for Other Players", + "mcoServer.title": "Minecraft Online World", + "multiplayer.title": "Play Multiplayer", + "multiplayer.connect": "Connect", + "multiplayer.info1": "Minecraft Multiplayer is currently not finished, but there", + "multiplayer.info2": "is some buggy early testing going on.", + "multiplayer.ipinfo": "Enter the IP of a server to connect to it:", + "multiplayer.texturePrompt.line1": "This server recommends the use of a custom resource pack.", + "multiplayer.texturePrompt.line2": "Would you like to download and install it automagically?", + "multiplayer.downloadingTerrain": "Downloading terrain", + "multiplayer.downloadingStats": "Downloading statistics & achievements...", + "multiplayer.stopSleeping": "Leave Bed", + "multiplayer.player.joined": "%s joined the game", + "multiplayer.player.left": "%s left the game", + "chat.cannotSend": "Cannot send chat message", + "chat.type.text": "<%s> %s", + "chat.type.emote": "* %s %s", + "chat.type.announcement": "[%s] %s", + "chat.type.admin": "[%s: %s]", + "chat.type.achievement": "%s has just earned the achievement %s", + "chat.link.confirm": "Are you sure you want to open the following website?", + "chat.link.warning": "Never open links from people that you don't trust!", + "chat.copy": "Copy to Clipboard", + "chat.link.confirmTrusted": "Do you want to open this link or copy it to your clipboard?", + "chat.link.open": "Open in browser", + "menu.playdemo": "Play Demo World", + "menu.resetdemo": "Reset Demo World", + "demo.day.1": "This demo will last five game days, do your best!", + "demo.day.2": "Day Two", + "demo.day.3": "Day Three", + "demo.day.4": "Day Four", + "demo.day.5": "This is your last day!", + "demo.day.warning": "Your time is almost up!", + "demo.day.6": "You have passed your fifth day, use F2 to save a screenshot of your creation", + "demo.reminder": "The demo time has expired, buy the game to continue or start a new world!", + "demo.remainingTime": "Remaining time: %s", + "demo.demoExpired": "Demo time's up!", + "demo.help.movement": "Use %1$s, %2$s, %3$s, %4$s and the mouse to move around", + "demo.help.movementShort": "Move by pressing %1$s, %2$s, %3$s, %4$s", + "demo.help.movementMouse": "Look around using the mouse", + "demo.help.jump": "Jump by pressing %1$s", + "demo.help.inventory": "Use %1$s to open your inventory", + "demo.help.title": "Minecraft Demo Mode", + "demo.help.fullWrapped": "This demo will last 5 ingame days (about 1 hour and 40 minutes of real time). Check the achievements for hints! Have fun!", + "demo.help.buy": "Purchase Now!", + "demo.help.later": "Continue Playing!", + "connect.connecting": "Connecting to the server...", + "connect.authorizing": "Logging in...", + "connect.failed": "Failed to connect to the server", + "disconnect.genericReason": "%s", + "disconnect.disconnected": "Disconnected by Server", + "disconnect.lost": "Connection Lost", + "disconnect.kicked": "Was kicked from the game", + "disconnect.timeout": "Timed out", + "disconnect.closed": "Connection closed", + "disconnect.loginFailed": "Failed to login", + "disconnect.loginFailedInfo": "Failed to login: %s", + "disconnect.loginFailedInfo.serversUnavailable": "The authentication are currently down for maintenance.", + "disconnect.loginFailedInfo.invalidSession": "Invalid session (Try restarting your game)", + "disconnect.quitting": "Quitting", + "disconnect.endOfStream": "End of stream", + "disconnect.overflow": "Buffer overflow", + "disconnect.spam": "Kicked for spamming", + "soundCategory.master": "Master Volume", + "soundCategory.music": "Music", + "soundCategory.record": "Jukebox/Noteblocks", + "soundCategory.weather": "Weather", + "soundCategory.hostile": "Hostile Creatures", + "soundCategory.neutral": "Friendly Creatures", + "soundCategory.player": "Players", + "soundCategory.block": "Blocks", + "soundCategory.ambient": "Ambient/Environment", + "options.off": "OFF", + "options.on": "ON", + "options.visible": "Shown", + "options.hidden": "Hidden", + "options.title": "Options", + "options.controls": "Controls...", + "options.video": "Video Settings...", + "options.language": "Language...", + "options.sounds": "Music & Sounds...", + "options.sounds.title": "Music & Sound Options", + "options.languageWarning": "Language translations may not be 100%% accurate", + "options.videoTitle": "Video Settings", + "options.music": "Music", + "options.sound": "Sound", + "options.invertMouse": "Invert Mouse", + "options.fov": "FOV", + "options.fov.min": "Normal", + "options.fov.max": "Quake Pro", + "options.saturation": "Saturation", + "options.gamma": "Brightness", + "options.gamma.min": "Moody", + "options.gamma.max": "Bright", + "options.sensitivity": "Sensitivity", + "options.sensitivity.min": "*yawn*", + "options.sensitivity.max": "HYPERSPEED!!!", + "options.renderDistance": "Render Distance", + "options.renderDistance.tiny": "Tiny", + "options.renderDistance.short": "Short", + "options.renderDistance.normal": "Normal", + "options.renderDistance.far": "Far", + "options.viewBobbing": "View Bobbing", + "options.ao": "Smooth Lighting", + "options.ao.off": "OFF", + "options.ao.min": "Minimum", + "options.ao.max": "Maximum", + "options.anaglyph": "3D Anaglyph", + "options.framerateLimit": "Max Framerate", + "options.framerateLimit.max": "Unlimited", + "options.difficulty": "Difficulty", + "options.difficulty.peaceful": "Peaceful", + "options.difficulty.easy": "Easy", + "options.difficulty.normal": "Normal", + "options.difficulty.hard": "Hard", + "options.difficulty.hardcore": "Hardcore", + "options.graphics": "Graphics", + "options.graphics.fancy": "Fancy", + "options.graphics.fast": "Fast", + "options.guiScale": "GUI Scale", + "options.guiScale.auto": "Auto", + "options.guiScale.small": "Small", + "options.guiScale.normal": "Normal", + "options.guiScale.large": "Large", + "options.advancedOpengl": "Advanced OpenGL", + "options.fboEnable": "Enable FBOs", + "options.postProcessEnable": "Enable Post-Processing", + "options.aoDesc0": "Enable faux ambient occlusion on blocks.", + "options.framerateLimitDesc0": "Selects the maximum frame rate:", + "options.framerateLimitDesc1": "35fps, 120fps, or 200+fps.", + "options.viewBobbingDesc0": "Enables view-bob when moving.", + "options.renderCloudsDesc0": "Enables the rendering of clouds.", + "options.graphicsDesc0": "'Fancy': Enables extra transparency.", + "options.graphicsDesc1": "'Fast': Suggested for lower-end hardware.", + "options.renderDistanceDesc0": "Maximum render distance. Smaller values", + "options.renderDistanceDesc1": "run better on lower-end hardware.", + "options.particlesDesc0": "Selects the overall amount of particles.", + "options.particlesDesc1": "On lower-end hardware, less is better.", + "options.advancedOpenglDesc0": "Enables occlusion queries. On AMD and Intel", + "options.advancedOpenglDesc1": "hardware, this may decrease performance.", + "options.fboEnableDesc0": "Enables the use of Framebuffer Objects.", + "options.fboEnableDesc1": "Necessary for certain Minecraft features.", + "options.postProcessEnableDesc0": "Enables post-processing. Disabling will", + "options.postProcessEnableDesc1": "result in reduction in Awesome Levels.", + "options.renderClouds": "Clouds", + "options.qualityButton": "Video Quality Settings...", + "options.qualityVideoTitle": "Video Quality Settings", + "options.performanceButton": "Video Performance Settings...", + "options.performanceVideoTitle": "Video Performance Settings", + "options.advancedButton": "Advanced Video Settings...", + "options.advancedVideoTitle": "Advanced Video Settings", + "options.postButton": "Post-Processing Settings...", + "options.postVideoTitle": "Post-Processing Settings", + "options.farWarning1": "A 64 bit Java installation is recommended", + "options.farWarning2": "for 'Far' render distance (you have 32 bit)", + "options.particles": "Particles", + "options.particles.all": "All", + "options.particles.decreased": "Decreased", + "options.particles.minimal": "Minimal", + "options.multiplayer.title": "Multiplayer Settings...", + "options.chat.title": "Chat Settings...", + "options.chat.visibility": "Chat", + "options.chat.visibility.full": "Shown", + "options.chat.visibility.system": "Commands Only", + "options.chat.visibility.hidden": "Hidden", + "options.chat.color": "Colors", + "options.chat.opacity": "Opacity", + "options.chat.links": "Web Links", + "options.chat.links.prompt": "Prompt on Links", + "options.chat.scale": "Scale", + "options.chat.width": "Width", + "options.chat.height.focused": "Focused Height", + "options.chat.height.unfocused": "Unfocused Height", + "options.showCape": "Show Cape", + "options.serverTextures": "Server Textures", + "options.snooper": "Allow Snooper", + "options.snooper.view": "Snooper Settings...", + "options.snooper.title": "Machine Specs Collection", + "options.snooper.desc": "We want to collect information about your machine to help improve Minecraft by knowing what we can support and where the biggest problems are. All of this information is completely anonymous and viewable below. We promise we won't do anything bad with this data, but if you want to opt out then feel free to toggle it off!", + "options.resourcepack": "Resource Packs...", + "options.fullscreen": "Fullscreen", + "options.vsync": "Use VSync", + "options.touchscreen": "Touchscreen Mode", + "options.mipmapLevels": "Mipmap Levels", + "options.anisotropicFiltering": "Anisotropic Filtering", + "options.forceUnicodeFont": "Force Unicode Font", + "controls.title": "Controls", + "controls.reset": "Reset", + "controls.resetAll": "Reset Keys", + "key.sprint": "Sprint", + "key.forward": "Walk Forwards", + "key.left": "Strafe Left", + "key.back": "Walk Backwards", + "key.right": "Strafe Right", + "key.jump": "Jump", + "key.inventory": "Inventory", + "key.drop": "Drop Item", + "key.chat": "Open Chat", + "key.sneak": "Sneak", + "key.playerlist": "List Players", + "key.attack": "Attack/Destroy", + "key.use": "Use Item/Place Block", + "key.pickItem": "Pick Block", + "key.mouseButton": "Button %1$s", + "key.command": "Open Command", + "key.screenshot": "Take Screenshot", + "key.togglePerspective": "Toggle Perspective", + "key.smoothCamera": "Toggle Cinematic Camera", + "key.hotbar.1": "Hotbar Slot 1", + "key.hotbar.2": "Hotbar Slot 2", + "key.hotbar.3": "Hotbar Slot 3", + "key.hotbar.4": "Hotbar Slot 4", + "key.hotbar.5": "Hotbar Slot 5", + "key.hotbar.6": "Hotbar Slot 6", + "key.hotbar.7": "Hotbar Slot 7", + "key.hotbar.8": "Hotbar Slot 8", + "key.hotbar.9": "Hotbar Slot 9", + "key.categories.movement": "Movement", + "key.categories.misc": "Miscellaneous", + "key.categories.multiplayer": "Multiplayer", + "key.categories.gameplay": "Gameplay", + "key.categories.ui": "Game Interface", + "key.categories.inventory": "Inventory", + "resourcePack.openFolder": "Open resource pack folder", + "resourcePack.title": "Select Resource Packs", + "resourcePack.available.title": "Available Resource Packs", + "resourcePack.selected.title": "Selected Resource Packs", + "resourcePack.folderInfo": "(Place resource pack files here)", + "book.pageIndicator": "Page %1$s of %2$s", + "book.byAuthor": "by %1$s", + "book.signButton": "Sign", + "book.editTitle": "Enter Book Title:", + "book.finalizeButton": "Sign and Close", + "book.finalizeWarning": "Note! When you sign the book, it will no longer be editable.", + "tile.stone.name": "Stone", + "tile.hayBlock.name": "Hay Bale", + "tile.grass.name": "Grass Block", + "tile.dirt.default.name": "Dirt", + "tile.dirt.podzol.name": "Podzol", + "tile.stonebrick.name": "Cobblestone", + "tile.wood.name": "Wooden Planks", + "tile.wood.oak.name": "Oak Wood Planks", + "tile.wood.spruce.name": "Spruce Wood Planks", + "tile.wood.birch.name": "Birch Wood Planks", + "tile.wood.jungle.name": "Jungle Wood Planks", + "tile.wood.acacia.name": "Acacia Wood Planks", + "tile.wood.big_oak.name": "Dark Oak Wood Planks", + "tile.sapling.oak.name": "Oak Sapling", + "tile.sapling.spruce.name": "Spruce Sapling", + "tile.sapling.birch.name": "Birch Sapling", + "tile.sapling.jungle.name": "Jungle Sapling", + "tile.sapling.acacia.name": "Acacia Sapling", + "tile.sapling.roofed_oak.name": "Dark Oak Sapling", + "tile.deadbush.name": "Dead Bush", + "tile.bedrock.name": "Bedrock", + "tile.water.name": "Water", + "tile.lava.name": "Lava", + "tile.sand.default.name": "Sand", + "tile.sand.red.name": "Red Sand", + "tile.sandStone.name": "Sandstone", + "tile.sandStone.default.name": "Sandstone", + "tile.sandStone.chiseled.name": "Chiseled Sandstone", + "tile.sandStone.smooth.name": "Smooth Sandstone", + "tile.gravel.name": "Gravel", + "tile.oreGold.name": "Gold Ore", + "tile.oreIron.name": "Iron Ore", + "tile.oreCoal.name": "Coal Ore", + "tile.log.name": "Wood", + "tile.log.oak.name": "Oak Wood", + "tile.log.spruce.name": "Spruce Wood", + "tile.log.birch.name": "Birch Wood", + "tile.log.jungle.name": "Jungle Wood", + "tile.log.acacia.name": "Acacia Wood", + "tile.log.big_oak.name": "Dark Oak Wood", + "tile.leaves.name": "Leaves", + "tile.leaves.oak.name": "Oak Leaves", + "tile.leaves.spruce.name": "Spruce Leaves", + "tile.leaves.birch.name": "Birch Leaves", + "tile.leaves.jungle.name": "Jungle Leaves", + "tile.leaves.acacia.name": "Acacia Leaves", + "tile.leaves.big_oak.name": "Dark Oak Leaves", + "tile.tallgrass.name": "Grass", + "tile.tallgrass.shrub.name": "Shrub", + "tile.tallgrass.grass.name": "Grass", + "tile.tallgrass.fern.name": "Fern", + "tile.sponge.name": "Sponge", + "tile.glass.name": "Glass", + "tile.stainedGlass.black.name": "Black Stained Glass", + "tile.stainedGlass.red.name": "Red Stained Glass", + "tile.stainedGlass.green.name": "Green Stained Glass", + "tile.stainedGlass.brown.name": "Brown Stained Glass", + "tile.stainedGlass.blue.name": "Blue Stained Glass", + "tile.stainedGlass.purple.name": "Purple Stained Glass", + "tile.stainedGlass.cyan.name": "Cyan Stained Glass", + "tile.stainedGlass.silver.name": "Light Gray Stained Glass", + "tile.stainedGlass.gray.name": "Gray Stained Glass", + "tile.stainedGlass.pink.name": "Pink Stained Glass", + "tile.stainedGlass.lime.name": "Lime Stained Glass", + "tile.stainedGlass.yellow.name": "Yellow Stained Glass", + "tile.stainedGlass.lightBlue.name": "Light Blue Stained Glass", + "tile.stainedGlass.magenta.name": "Magenta Stained Glass", + "tile.stainedGlass.orange.name": "Orange Stained Glass", + "tile.stainedGlass.white.name": "White Stained Glass", + "tile.thinStainedGlass.black.name": "Black Stained Glass Pane", + "tile.thinStainedGlass.red.name": "Red Stained Glass Pane", + "tile.thinStainedGlass.green.name": "Green Stained Glass Pane", + "tile.thinStainedGlass.brown.name": "Brown Stained Glass Pane", + "tile.thinStainedGlass.blue.name": "Blue Stained Glass Pane", + "tile.thinStainedGlass.purple.name": "Purple Stained Glass Pane", + "tile.thinStainedGlass.cyan.name": "Cyan Stained Glass Pane", + "tile.thinStainedGlass.silver.name": "Light Gray Stained Glass Pane", + "tile.thinStainedGlass.gray.name": "Gray Stained Glass Pane", + "tile.thinStainedGlass.pink.name": "Pink Stained Glass Pane", + "tile.thinStainedGlass.lime.name": "Lime Stained Glass Pane", + "tile.thinStainedGlass.yellow.name": "Yellow Stained Glass Pane", + "tile.thinStainedGlass.lightBlue.name": "Light Blue Stained Glass Pane", + "tile.thinStainedGlass.magenta.name": "Magenta Stained Glass Pane", + "tile.thinStainedGlass.orange.name": "Orange Stained Glass Pane", + "tile.thinStainedGlass.white.name": "White Stained Glass Pane", + "tile.thinGlass.name": "Glass Pane", + "tile.cloth.name": "Wool", + "tile.flower1.dandelion.name": "Dandelion", + "tile.flower2.poppy.name": "Poppy", + "tile.flower2.blueOrchid.name": "Blue Orchid", + "tile.flower2.allium.name": "Allium", + "tile.flower2.houstonia.name": "Azure Bluet", + "tile.flower2.tulipRed.name": "Red Tulip", + "tile.flower2.tulipOrange.name": "Orange Tulip", + "tile.flower2.tulipWhite.name": "White Tulip", + "tile.flower2.tulipPink.name": "Pink Tulip", + "tile.flower2.oxeyeDaisy.name": "Oxeye Daisy", + "tile.doublePlant.sunflower.name": "Sunflower", + "tile.doublePlant.syringa.name": "Lilac", + "tile.doublePlant.grass.name": "Double Tallgrass", + "tile.doublePlant.fern.name": "Large Fern", + "tile.doublePlant.rose.name": "Rose Bush", + "tile.doublePlant.paeonia.name": "Peony", + "tile.mushroom.name": "Mushroom", + "tile.blockGold.name": "Block of Gold", + "tile.blockIron.name": "Block of Iron", + "tile.stoneSlab.stone.name": "Stone Slab", + "tile.stoneSlab.sand.name": "Sandstone Slab", + "tile.stoneSlab.wood.name": "Wooden Slab", + "tile.stoneSlab.cobble.name": "Cobblestone Slab", + "tile.stoneSlab.brick.name": "Bricks Slab", + "tile.stoneSlab.smoothStoneBrick.name": "Stone Bricks Slab", + "tile.stoneSlab.netherBrick.name": "Nether Brick Slab", + "tile.stoneSlab.quartz.name": "Quartz Slab", + "tile.woodSlab.oak.name": "Oak Wood Slab", + "tile.woodSlab.spruce.name": "Spruce Wood Slab", + "tile.woodSlab.birch.name": "Birch Wood Slab", + "tile.woodSlab.jungle.name": "Jungle Wood Slab", + "tile.woodSlab.acacia.name": "Acacia Wood Slab", + "tile.woodSlab.big_oak.name": "Dark Oak Wood Slab", + "tile.brick.name": "Bricks", + "tile.tnt.name": "TNT", + "tile.bookshelf.name": "Bookshelf", + "tile.stoneMoss.name": "Moss Stone", + "tile.obsidian.name": "Obsidian", + "tile.torch.name": "Torch", + "tile.fire.name": "Fire", + "tile.mobSpawner.name": "Monster Spawner", + "tile.stairsWood.name": "Oak Wood Stairs", + "tile.stairsWoodSpruce.name": "Spruce Wood Stairs", + "tile.stairsWoodBirch.name": "Birch Wood Stairs", + "tile.stairsWoodJungle.name": "Jungle Wood Stairs", + "tile.stairsWoodAcacia.name": "Acacia Wood Stairs", + "tile.stairsWoodDarkOak.name": "Dark Oak Wood Stairs", + "tile.chest.name": "Chest", + "tile.chestTrap.name": "Trapped Chest", + "tile.redstoneDust.name": "Redstone Dust", + "tile.oreDiamond.name": "Diamond Ore", + "tile.blockCoal.name": "Block of Coal", + "tile.blockDiamond.name": "Block of Diamond", + "tile.workbench.name": "Crafting Table", + "tile.crops.name": "Crops", + "tile.farmland.name": "Farmland", + "tile.furnace.name": "Furnace", + "tile.sign.name": "Sign", + "tile.doorWood.name": "Wooden Door", + "tile.ladder.name": "Ladder", + "tile.rail.name": "Rail", + "tile.goldenRail.name": "Powered Rail", + "tile.activatorRail.name": "Activator Rail", + "tile.detectorRail.name": "Detector Rail", + "tile.stairsStone.name": "Stone Stairs", + "tile.stairsSandStone.name": "Sandstone Stairs", + "tile.lever.name": "Lever", + "tile.pressurePlate.name": "Pressure Plate", + "tile.weightedPlate_light.name": "Weighted Pressure Plate (Light)", + "tile.weightedPlate_heavy.name": "Weighted Pressure Plate (Heavy)", + "tile.doorIron.name": "Iron Door", + "tile.oreRedstone.name": "Redstone Ore", + "tile.notGate.name": "Redstone Torch", + "tile.button.name": "Button", + "tile.snow.name": "Snow", + "tile.woolCarpet.black.name": "Black Carpet", + "tile.woolCarpet.red.name": "Red Carpet", + "tile.woolCarpet.green.name": "Green Carpet", + "tile.woolCarpet.brown.name": "Brown Carpet", + "tile.woolCarpet.blue.name": "Blue Carpet", + "tile.woolCarpet.purple.name": "Purple Carpet", + "tile.woolCarpet.cyan.name": "Cyan Carpet", + "tile.woolCarpet.silver.name": "Light Gray Carpet", + "tile.woolCarpet.gray.name": "Gray Carpet", + "tile.woolCarpet.pink.name": "Pink Carpet", + "tile.woolCarpet.lime.name": "Lime Carpet", + "tile.woolCarpet.yellow.name": "Yellow Carpet", + "tile.woolCarpet.lightBlue.name": "Light Blue Carpet", + "tile.woolCarpet.magenta.name": "Magenta Carpet", + "tile.woolCarpet.orange.name": "Orange Carpet", + "tile.woolCarpet.white.name": "Carpet", + "tile.ice.name": "Ice", + "tile.icePacked.name": "Packed Ice", + "tile.cactus.name": "Cactus", + "tile.clay.name": "Clay", + "tile.clayHardenedStained.black.name": "Black Stained Clay", + "tile.clayHardenedStained.red.name": "Red Stained Clay", + "tile.clayHardenedStained.green.name": "Green Stained Clay", + "tile.clayHardenedStained.brown.name": "Brown Stained Clay", + "tile.clayHardenedStained.blue.name": "Blue Stained Clay", + "tile.clayHardenedStained.purple.name": "Purple Stained Clay", + "tile.clayHardenedStained.cyan.name": "Cyan Stained Clay", + "tile.clayHardenedStained.silver.name": "Light Gray Stained Clay", + "tile.clayHardenedStained.gray.name": "Gray Stained Clay", + "tile.clayHardenedStained.pink.name": "Pink Stained Clay", + "tile.clayHardenedStained.lime.name": "Lime Stained Clay", + "tile.clayHardenedStained.yellow.name": "Yellow Stained Clay", + "tile.clayHardenedStained.lightBlue.name": "Light Blue Stained Clay", + "tile.clayHardenedStained.magenta.name": "Magenta Stained Clay", + "tile.clayHardenedStained.orange.name": "Orange Stained Clay", + "tile.clayHardenedStained.white.name": "White Stained Clay", + "tile.clayHardened.name": "Hardened Clay", + "tile.reeds.name": "Sugar cane", + "tile.jukebox.name": "Jukebox", + "tile.fence.name": "Fence", + "tile.fenceGate.name": "Fence Gate", + "tile.pumpkin.name": "Pumpkin", + "tile.litpumpkin.name": "Jack o'Lantern", + "tile.hellrock.name": "Netherrack", + "tile.hellsand.name": "Soul Sand", + "tile.lightgem.name": "Glowstone", + "tile.portal.name": "Portal", + "tile.cloth.black.name": "Black Wool", + "tile.cloth.red.name": "Red Wool", + "tile.cloth.green.name": "Green Wool", + "tile.cloth.brown.name": "Brown Wool", + "tile.cloth.blue.name": "Blue Wool", + "tile.cloth.purple.name": "Purple Wool", + "tile.cloth.cyan.name": "Cyan Wool", + "tile.cloth.silver.name": "Light Gray Wool", + "tile.cloth.gray.name": "Gray Wool", + "tile.cloth.pink.name": "Pink Wool", + "tile.cloth.lime.name": "Lime Wool", + "tile.cloth.yellow.name": "Yellow Wool", + "tile.cloth.lightBlue.name": "Light Blue Wool", + "tile.cloth.magenta.name": "Magenta Wool", + "tile.cloth.orange.name": "Orange Wool", + "tile.cloth.white.name": "Wool", + "tile.oreLapis.name": "Lapis Lazuli Ore", + "tile.blockLapis.name": "Lapis Lazuli Block", + "tile.dispenser.name": "Dispenser", + "tile.dropper.name": "Dropper", + "tile.musicBlock.name": "Note Block", + "tile.cake.name": "Cake", + "tile.bed.name": "Bed", + "tile.bed.occupied": "This bed is occupied", + "tile.bed.noSleep": "You can only sleep at night", + "tile.bed.notSafe": "You may not rest now, there are monsters nearby", + "tile.bed.notValid": "Your home bed was missing or obstructed", + "tile.lockedchest.name": "Locked chest", + "tile.trapdoor.name": "Trapdoor", + "tile.web.name": "Cobweb", + "tile.stonebricksmooth.name": "Stone Bricks", + "tile.stonebricksmooth.default.name": "Stone Bricks", + "tile.stonebricksmooth.mossy.name": "Mossy Stone Bricks", + "tile.stonebricksmooth.cracked.name": "Cracked Stone Bricks", + "tile.stonebricksmooth.chiseled.name": "Chiseled Stone Bricks", + "tile.monsterStoneEgg.stone.name": "Stone Monster Egg", + "tile.monsterStoneEgg.cobble.name": "Cobblestone Monster Egg", + "tile.monsterStoneEgg.brick.name": "Stone Brick Monster Egg", + "tile.monsterStoneEgg.mossybrick.name": "Mossy Stone Brick Monster Egg", + "tile.monsterStoneEgg.crackedbrick.name": "Cracked Stone Brick Monster Egg", + "tile.monsterStoneEgg.chiseledbrick.name": "Chiseled Stone Brick Monster Egg", + "tile.pistonBase.name": "Piston", + "tile.pistonStickyBase.name": "Sticky Piston", + "tile.fenceIron.name": "Iron Bars", + "tile.melon.name": "Melon", + "tile.stairsBrick.name": "Brick Stairs", + "tile.stairsStoneBrickSmooth.name": "Stone Brick Stairs", + "tile.vine.name": "Vines", + "tile.netherBrick.name": "Nether Brick", + "tile.netherFence.name": "Nether Brick Fence", + "tile.stairsNetherBrick.name": "Nether Brick Stairs", + "tile.netherStalk.name": "Nether Wart", + "tile.cauldron.name": "Cauldron", + "tile.enchantmentTable.name": "Enchantment Table", + "tile.anvil.name": "Anvil", + "tile.anvil.intact.name": "Anvil", + "tile.anvil.slightlyDamaged.name": "Slightly Damaged Anvil", + "tile.anvil.veryDamaged.name": "Very Damaged Anvil", + "tile.whiteStone.name": "End Stone", + "tile.endPortalFrame.name": "End Portal", + "tile.mycel.name": "Mycelium", + "tile.waterlily.name": "Lily Pad", + "tile.dragonEgg.name": "Dragon Egg", + "tile.redstoneLight.name": "Redstone Lamp", + "tile.cocoa.name": "Cocoa", + "tile.enderChest.name": "Ender Chest", + "tile.oreRuby.name": "Ruby Ore", + "tile.oreEmerald.name": "Emerald Ore", + "tile.blockEmerald.name": "Block of Emerald", + "tile.blockRedstone.name": "Block of Redstone", + "tile.tripWire.name": "Tripwire", + "tile.tripWireSource.name": "Tripwire Hook", + "tile.commandBlock.name": "Command Block", + "tile.beacon.name": "Beacon", + "tile.beacon.primary": "Primary Power", + "tile.beacon.secondary": "Secondary Power", + "tile.cobbleWall.normal.name": "Cobblestone Wall", + "tile.cobbleWall.mossy.name": "Mossy Cobblestone Wall", + "tile.carrots.name": "Carrots", + "tile.potatoes.name": "Potatoes", + "tile.daylightDetector.name": "Daylight Sensor", + "tile.netherquartz.name": "Nether Quartz Ore", + "tile.hopper.name": "Hopper", + "tile.quartzBlock.default.name": "Block of Quartz", + "tile.quartzBlock.chiseled.name": "Chiseled Quartz Block", + "tile.quartzBlock.lines.name": "Pillar Quartz Block", + "tile.stairsQuartz.name": "Quartz Stairs", + "item.nameTag.name": "Name Tag", + "item.leash.name": "Lead", + "item.shovelIron.name": "Iron Shovel", + "item.pickaxeIron.name": "Iron Pickaxe", + "item.hatchetIron.name": "Iron Axe", + "item.flintAndSteel.name": "Flint and Steel", + "item.apple.name": "Apple", + "item.cookie.name": "Cookie", + "item.bow.name": "Bow", + "item.arrow.name": "Arrow", + "item.coal.name": "Coal", + "item.charcoal.name": "Charcoal", + "item.diamond.name": "Diamond", + "item.emerald.name": "Emerald", + "item.ingotIron.name": "Iron Ingot", + "item.ingotGold.name": "Gold Ingot", + "item.swordIron.name": "Iron Sword", + "item.swordWood.name": "Wooden Sword", + "item.shovelWood.name": "Wooden Shovel", + "item.pickaxeWood.name": "Wooden Pickaxe", + "item.hatchetWood.name": "Wooden Axe", + "item.swordStone.name": "Stone Sword", + "item.shovelStone.name": "Stone Shovel", + "item.pickaxeStone.name": "Stone Pickaxe", + "item.hatchetStone.name": "Stone Axe", + "item.swordDiamond.name": "Diamond Sword", + "item.shovelDiamond.name": "Diamond Shovel", + "item.pickaxeDiamond.name": "Diamond Pickaxe", + "item.hatchetDiamond.name": "Diamond Axe", + "item.stick.name": "Stick", + "item.bowl.name": "Bowl", + "item.mushroomStew.name": "Mushroom Stew", + "item.swordGold.name": "Golden Sword", + "item.shovelGold.name": "Golden Shovel", + "item.pickaxeGold.name": "Golden Pickaxe", + "item.hatchetGold.name": "Golden Axe", + "item.string.name": "String", + "item.feather.name": "Feather", + "item.sulphur.name": "Gunpowder", + "item.hoeWood.name": "Wooden Hoe", + "item.hoeStone.name": "Stone Hoe", + "item.hoeIron.name": "Iron Hoe", + "item.hoeDiamond.name": "Diamond Hoe", + "item.hoeGold.name": "Golden Hoe", + "item.seeds.name": "Seeds", + "item.seeds_pumpkin.name": "Pumpkin Seeds", + "item.seeds_melon.name": "Melon Seeds", + "item.melon.name": "Melon", + "item.wheat.name": "Wheat", + "item.bread.name": "Bread", + "item.helmetCloth.name": "Leather Cap", + "item.chestplateCloth.name": "Leather Tunic", + "item.leggingsCloth.name": "Leather Pants", + "item.bootsCloth.name": "Leather Boots", + "item.helmetChain.name": "Chain Helmet", + "item.chestplateChain.name": "Chain Chestplate", + "item.leggingsChain.name": "Chain Leggings", + "item.bootsChain.name": "Chain Boots", + "item.helmetIron.name": "Iron Helmet", + "item.chestplateIron.name": "Iron Chestplate", + "item.leggingsIron.name": "Iron Leggings", + "item.bootsIron.name": "Iron Boots", + "item.helmetDiamond.name": "Diamond Helmet", + "item.chestplateDiamond.name": "Diamond Chestplate", + "item.leggingsDiamond.name": "Diamond Leggings", + "item.bootsDiamond.name": "Diamond Boots", + "item.helmetGold.name": "Golden Helmet", + "item.chestplateGold.name": "Golden Chestplate", + "item.leggingsGold.name": "Golden Leggings", + "item.bootsGold.name": "Golden Boots", + "item.flint.name": "Flint", + "item.porkchopRaw.name": "Raw Porkchop", + "item.porkchopCooked.name": "Cooked Porkchop", + "item.chickenRaw.name": "Raw Chicken", + "item.chickenCooked.name": "Cooked Chicken", + "item.beefRaw.name": "Raw Beef", + "item.beefCooked.name": "Steak", + "item.painting.name": "Painting", + "item.frame.name": "Item Frame", + "item.appleGold.name": "Golden Apple", + "item.sign.name": "Sign", + "item.doorWood.name": "Wooden Door", + "item.bucket.name": "Bucket", + "item.bucketWater.name": "Water Bucket", + "item.bucketLava.name": "Lava Bucket", + "item.minecart.name": "Minecart", + "item.saddle.name": "Saddle", + "item.doorIron.name": "Iron Door", + "item.redstone.name": "Redstone", + "item.snowball.name": "Snowball", + "item.boat.name": "Boat", + "item.leather.name": "Leather", + "item.milk.name": "Milk", + "item.brick.name": "Brick", + "item.clay.name": "Clay", + "item.reeds.name": "Sugar Canes", + "item.paper.name": "Paper", + "item.book.name": "Book", + "item.slimeball.name": "Slimeball", + "item.minecartChest.name": "Minecart with Chest", + "item.minecartFurnace.name": "Minecart with Furnace", + "item.minecartTnt.name": "Minecart with TNT", + "item.minecartHopper.name": "Minecart with Hopper", + "item.minecartCommandBlock.name": "Minecart with Command Block", + "item.egg.name": "Egg", + "item.compass.name": "Compass", + "item.fishingRod.name": "Fishing Rod", + "item.clock.name": "Clock", + "item.yellowDust.name": "Glowstone Dust", + "item.fish.cod.raw.name": "Raw Fish", + "item.fish.salmon.raw.name": "Raw Salmon", + "item.fish.pufferfish.raw.name": "Pufferfish", + "item.fish.clownfish.raw.name": "Clownfish", + "item.fish.cod.cooked.name": "Cooked Fish", + "item.fish.salmon.cooked.name": "Cooked Salmon", + "item.record.name": "Music Disc", + "item.bone.name": "Bone", + "item.dyePowder.black.name": "Ink Sac", + "item.dyePowder.red.name": "Rose Red", + "item.dyePowder.green.name": "Cactus Green", + "item.dyePowder.brown.name": "Cocoa Beans", + "item.dyePowder.blue.name": "Lapis Lazuli", + "item.dyePowder.purple.name": "Purple Dye", + "item.dyePowder.cyan.name": "Cyan Dye", + "item.dyePowder.silver.name": "Light Gray Dye", + "item.dyePowder.gray.name": "Gray Dye", + "item.dyePowder.pink.name": "Pink Dye", + "item.dyePowder.lime.name": "Lime Dye", + "item.dyePowder.yellow.name": "Dandelion Yellow", + "item.dyePowder.lightBlue.name": "Light Blue Dye", + "item.dyePowder.magenta.name": "Magenta Dye", + "item.dyePowder.orange.name": "Orange Dye", + "item.dyePowder.white.name": "Bone Meal", + "item.sugar.name": "Sugar", + "item.cake.name": "Cake", + "item.bed.name": "Bed", + "item.diode.name": "Redstone Repeater", + "item.comparator.name": "Redstone Comparator", + "item.map.name": "Map", + "item.leaves.name": "Leaves", + "item.shears.name": "Shears", + "item.rottenFlesh.name": "Rotten Flesh", + "item.enderPearl.name": "Ender Pearl", + "item.blazeRod.name": "Blaze Rod", + "item.ghastTear.name": "Ghast Tear", + "item.netherStalkSeeds.name": "Nether Wart", + "item.potion.name": "Potion", + "item.emptyPotion.name": "Water Bottle", + "item.goldNugget.name": "Gold Nugget", + "item.glassBottle.name": "Glass Bottle", + "item.spiderEye.name": "Spider Eye", + "item.fermentedSpiderEye.name": "Fermented Spider Eye", + "item.blazePowder.name": "Blaze Powder", + "item.magmaCream.name": "Magma Cream", + "item.cauldron.name": "Cauldron", + "item.brewingStand.name": "Brewing Stand", + "item.eyeOfEnder.name": "Eye of Ender", + "item.speckledMelon.name": "Glistering Melon", + "item.monsterPlacer.name": "Spawn", + "item.expBottle.name": "Bottle o' Enchanting", + "item.fireball.name": "Fire Charge", + "item.writingBook.name": "Book and Quill", + "item.writtenBook.name": "Written Book", + "item.ruby.name": "Ruby", + "item.flowerPot.name": "Flower Pot", + "item.emptyMap.name": "Empty Map", + "item.carrots.name": "Carrot", + "item.carrotGolden.name": "Golden Carrot", + "item.potato.name": "Potato", + "item.potatoBaked.name": "Baked Potato", + "item.potatoPoisonous.name": "Poisonous Potato", + "item.skull.skeleton.name": "Skeleton Skull", + "item.skull.wither.name": "Wither Skeleton Skull", + "item.skull.zombie.name": "Zombie Head", + "item.skull.char.name": "Head", + "item.skull.player.name": "%s's Head", + "item.skull.creeper.name": "Creeper Head", + "item.carrotOnAStick.name": "Carrot on a Stick", + "item.netherStar.name": "Nether Star", + "item.pumpkinPie.name": "Pumpkin Pie", + "item.enchantedBook.name": "Enchanted Book", + "item.fireworks.name": "Firework Rocket", + "item.fireworks.flight": "Flight Duration:", + "item.fireworksCharge.name": "Firework Star", + "item.fireworksCharge.black": "Black", + "item.fireworksCharge.red": "Red", + "item.fireworksCharge.green": "Green", + "item.fireworksCharge.brown": "Brown", + "item.fireworksCharge.blue": "Blue", + "item.fireworksCharge.purple": "Purple", + "item.fireworksCharge.cyan": "Cyan", + "item.fireworksCharge.silver": "Light Gray", + "item.fireworksCharge.gray": "Gray", + "item.fireworksCharge.pink": "Pink", + "item.fireworksCharge.lime": "Lime", + "item.fireworksCharge.yellow": "Yellow", + "item.fireworksCharge.lightBlue": "Light Blue", + "item.fireworksCharge.magenta": "Magenta", + "item.fireworksCharge.orange": "Orange", + "item.fireworksCharge.white": "White", + "item.fireworksCharge.customColor": "Custom", + "item.fireworksCharge.fadeTo": "Fade to", + "item.fireworksCharge.flicker": "Twinkle", + "item.fireworksCharge.trail": "Trail", + "item.fireworksCharge.type.0": "Small Ball", + "item.fireworksCharge.type.1": "Large Ball", + "item.fireworksCharge.type.2": "Star-shaped", + "item.fireworksCharge.type.3": "Creeper-shaped", + "item.fireworksCharge.type.4": "Burst", + "item.fireworksCharge.type": "Unknown Shape", + "item.netherbrick.name": "Nether Brick", + "item.netherquartz.name": "Nether Quartz", + "item.horsearmormetal.name": "Iron Horse Armor", + "item.horsearmorgold.name": "Gold Horse Armor", + "item.horsearmordiamond.name": "Diamond Horse Armor", + "container.inventory": "Inventory", + "container.hopper": "Item Hopper", + "container.crafting": "Crafting", + "container.dispenser": "Dispenser", + "container.dropper": "Dropper", + "container.furnace": "Furnace", + "container.enchant": "Enchant", + "container.repair": "Repair & Name", + "container.repair.cost": "Enchantment Cost: %1$d", + "container.repair.expensive": "Too Expensive!", + "container.creative": "Item Selection", + "container.brewing": "Brewing Stand", + "container.chest": "Chest", + "container.chestDouble": "Large Chest", + "container.minecart": "Minecart", + "container.enderchest": "Ender Chest", + "item.dyed": "Dyed", + "item.unbreakable": "Unbreakable", + "entity.Item.name": "Item", + "entity.XPOrb.name": "Experience Orb", + "entity.SmallFireball.name": "Small Fireball", + "entity.Fireball.name": "Fireball", + "entity.Arrow.name": "arrow", + "entity.Snowball.name": "Snowball", + "entity.Painting.name": "Painting", + "entity.Mob.name": "Mob", + "entity.Monster.name": "Monster", + "entity.Creeper.name": "Creeper", + "entity.Skeleton.name": "Skeleton", + "entity.Spider.name": "Spider", + "entity.Giant.name": "Giant", + "entity.Zombie.name": "Zombie", + "entity.Slime.name": "Slime", + "entity.Ghast.name": "Ghast", + "entity.PigZombie.name": "Zombie Pigman", + "entity.Enderman.name": "Enderman", + "entity.Silverfish.name": "Silverfish", + "entity.CaveSpider.name": "Cave Spider", + "entity.Blaze.name": "Blaze", + "entity.LavaSlime.name": "Magma Cube", + "entity.MushroomCow.name": "Mooshroom", + "entity.Villager.name": "Villager", + "entity.VillagerGolem.name": "Iron Golem", + "entity.SnowMan.name": "Snow Golem", + "entity.EnderDragon.name": "Ender Dragon", + "entity.WitherBoss.name": "Wither", + "entity.Witch.name": "Witch", + "entity.Pig.name": "Pig", + "entity.Sheep.name": "Sheep", + "entity.Cow.name": "Cow", + "entity.Chicken.name": "Chicken", + "entity.Squid.name": "Squid", + "entity.Wolf.name": "Wolf", + "entity.Ozelot.name": "Ocelot", + "entity.Cat.name": "Cat", + "entity.Bat.name": "Bat", + "entity.EntityHorse.name": "Horse", + "entity.horse.name": "Horse", + "entity.donkey.name": "Donkey", + "entity.mule.name": "Mule", + "entity.skeletonhorse.name": "Skeleton Horse", + "entity.zombiehorse.name": "Zombie Horse", + "entity.PrimedTnt.name": "Block of TNT", + "entity.FallingSand.name": "Falling Block", + "entity.Minecart.name": "Minecart", + "entity.Boat.name": "Boat", + "entity.generic.name": "unknown", + "death.fell.accident.ladder": "%1$s fell off a ladder", + "death.fell.accident.vines": "%1$s fell off some vines", + "death.fell.accident.water": "%1$s fell out of the water", + "death.fell.accident.generic": "%1$s fell from a high place", + "death.fell.killer": "%1$s was doomed to fall", + "death.fell.assist": "%1$s was doomed to fall by %2$s", + "death.fell.assist.item": "%1$s was doomed to fall by %2$s using %3$s", + "death.fell.finish": "%1$s fell too far and was finished by %2$s", + "death.fell.finish.item": "%1$s fell too far and was finished by %2$s using %3$s", + "death.attack.inFire": "%1$s went up in flames", + "death.attack.inFire.player": "%1$s walked into fire whilst fighting %2$s", + "death.attack.onFire": "%1$s burned to death", + "death.attack.onFire.player": "%1$s was burnt to a crisp whilst fighting %2$s", + "death.attack.lava": "%1$s tried to swim in lava", + "death.attack.lava.player": "%1$s tried to swim in lava to escape %2$s", + "death.attack.inWall": "%1$s suffocated in a wall", + "death.attack.drown": "%1$s drowned", + "death.attack.drown.player": "%1$s drowned whilst trying to escape %2$s", + "death.attack.starve": "%1$s starved to death", + "death.attack.cactus": "%1$s was pricked to death", + "death.attack.cactus.player": "%1$s walked into a cactus whilst trying to escape %2$s", + "death.attack.generic": "%1$s died", + "death.attack.explosion": "%1$s blew up", + "death.attack.explosion.player": "%1$s was blown up by %2$s", + "death.attack.magic": "%1$s was killed by magic", + "death.attack.wither": "%1$s withered away", + "death.attack.anvil": "%1$s was squashed by a falling anvil", + "death.attack.fallingBlock": "%1$s was squashed by a falling block", + "death.attack.mob": "%1$s was slain by %2$s", + "death.attack.player": "%1$s was slain by %2$s", + "death.attack.player.item": "%1$s was slain by %2$s using %3$s", + "death.attack.arrow": "%1$s was shot by %2$s", + "death.attack.arrow.item": "%1$s was shot by %2$s using %3$s", + "death.attack.fireball": "%1$s was fireballed by %2$s", + "death.attack.fireball.item": "%1$s was fireballed by %2$s using %3$s", + "death.attack.thrown": "%1$s was pummeled by %2$s", + "death.attack.thrown.item": "%1$s was pummeled by %2$s using %3$s", + "death.attack.indirectMagic": "%1$s was killed by %2$s using magic", + "death.attack.indirectMagic.item": "%1$s was killed by %2$s using %3$s", + "death.attack.thorns": "%1$s was killed trying to hurt %2$s", + "death.attack.fall": "%1$s hit the ground too hard", + "death.attack.outOfWorld": "%1$s fell out of the world", + "deathScreen.respawn": "Respawn", + "deathScreen.deleteWorld": "Delete world", + "deathScreen.titleScreen": "Title screen", + "deathScreen.score": "Score", + "deathScreen.title.hardcore": "Game over!", + "deathScreen.hardcoreInfo": "You cannot respawn in hardcore mode!", + "deathScreen.title": "You died!", + "deathScreen.leaveServer": "Leave server", + "deathScreen.quit.confirm": "Are you sure you want to quit?", + "potion.effects.whenDrank": "When Applied:", + "potion.empty": "No Effects", + "potion.moveSpeed": "Speed", + "potion.moveSlowdown": "Slowness", + "potion.digSpeed": "Haste", + "potion.digSlowDown": "Mining Fatigue", + "potion.damageBoost": "Strength", + "potion.weakness": "Weakness", + "potion.heal": "Instant Health", + "potion.harm": "Instant Damage", + "potion.jump": "Jump Boost", + "potion.confusion": "Nausea", + "potion.regeneration": "Regeneration", + "potion.resistance": "Resistance", + "potion.fireResistance": "Fire Resistance", + "potion.waterBreathing": "Water Breathing", + "potion.invisibility": "Invisibility", + "potion.blindness": "Blindness", + "potion.nightVision": "Night Vision", + "potion.hunger": "Hunger", + "potion.poison": "Poison", + "potion.wither": "Wither", + "potion.healthBoost": "Health Boost", + "potion.absorption": "Absorption", + "potion.saturation": "Saturation", + "potion.moveSpeed.postfix": "Potion of Swiftness", + "potion.moveSlowdown.postfix": "Potion of Slowness", + "potion.digSpeed.postfix": "Potion of Haste", + "potion.digSlowDown.postfix": "Potion of Dullness", + "potion.damageBoost.postfix": "Potion of Strength", + "potion.weakness.postfix": "Potion of Weakness", + "potion.heal.postfix": "Potion of Healing", + "potion.harm.postfix": "Potion of Harming", + "potion.jump.postfix": "Potion of Leaping", + "potion.confusion.postfix": "Potion of Nausea", + "potion.regeneration.postfix": "Potion of Regeneration", + "potion.resistance.postfix": "Potion of Resistance", + "potion.fireResistance.postfix": "Potion of Fire Resistance", + "potion.waterBreathing.postfix": "Potion of Water Breathing", + "potion.invisibility.postfix": "Potion of Invisibility", + "potion.blindness.postfix": "Potion of Blindness", + "potion.nightVision.postfix": "Potion of Night Vision", + "potion.hunger.postfix": "Potion of Hunger", + "potion.poison.postfix": "Potion of Poison", + "potion.wither.postfix": "Potion of Decay", + "potion.healthBoost.postfix": "Potion of Health Boost", + "potion.absorption.postfix": "Potion of Absorption", + "potion.saturation.postfix": "Potion of Saturation", + "potion.potency.1": "II", + "potion.potency.2": "III", + "potion.potency.3": "IV", + "potion.prefix.grenade": "Splash", + "potion.prefix.mundane": "Mundane", + "potion.prefix.uninteresting": "Uninteresting", + "potion.prefix.bland": "Bland", + "potion.prefix.clear": "Clear", + "potion.prefix.milky": "Milky", + "potion.prefix.diffuse": "Diffuse", + "potion.prefix.artless": "Artless", + "potion.prefix.thin": "Thin", + "potion.prefix.awkward": "Awkward", + "potion.prefix.flat": "Flat", + "potion.prefix.bulky": "Bulky", + "potion.prefix.bungling": "Bungling", + "potion.prefix.buttered": "Buttered", + "potion.prefix.smooth": "Smooth", + "potion.prefix.suave": "Suave", + "potion.prefix.debonair": "Debonair", + "potion.prefix.thick": "Thick", + "potion.prefix.elegant": "Elegant", + "potion.prefix.fancy": "Fancy", + "potion.prefix.charming": "Charming", + "potion.prefix.dashing": "Dashing", + "potion.prefix.refined": "Refined", + "potion.prefix.cordial": "Cordial", + "potion.prefix.sparkling": "Sparkling", + "potion.prefix.potent": "Potent", + "potion.prefix.foul": "Foul", + "potion.prefix.odorless": "Odorless", + "potion.prefix.rank": "Rank", + "potion.prefix.harsh": "Harsh", + "potion.prefix.acrid": "Acrid", + "potion.prefix.gross": "Gross", + "potion.prefix.stinky": "Stinky", + "enchantment.damage.all": "Sharpness", + "enchantment.damage.undead": "Smite", + "enchantment.damage.arthropods": "Bane of Arthropods", + "enchantment.knockback": "Knockback", + "enchantment.fire": "Fire Aspect", + "enchantment.protect.all": "Protection", + "enchantment.protect.fire": "Fire Protection", + "enchantment.protect.fall": "Feather Falling", + "enchantment.protect.explosion": "Blast Protection", + "enchantment.protect.projectile": "Projectile Protection", + "enchantment.oxygen": "Respiration", + "enchantment.waterWorker": "Aqua Affinity", + "enchantment.digging": "Efficiency", + "enchantment.untouching": "Silk Touch", + "enchantment.durability": "Unbreaking", + "enchantment.lootBonus": "Looting", + "enchantment.lootBonusDigger": "Fortune", + "enchantment.lootBonusFishing": "Luck of the Sea", + "enchantment.fishingSpeed": "Lure", + "enchantment.arrowDamage": "Power", + "enchantment.arrowFire": "Flame", + "enchantment.arrowKnockback": "Punch", + "enchantment.arrowInfinite": "Infinity", + "enchantment.thorns": "Thorns", + "enchantment.level.1": "I", + "enchantment.level.2": "II", + "enchantment.level.3": "III", + "enchantment.level.4": "IV", + "enchantment.level.5": "V", + "enchantment.level.6": "VI", + "enchantment.level.7": "VII", + "enchantment.level.8": "VIII", + "enchantment.level.9": "IX", + "enchantment.level.10": "X", + "gui.achievements": "Achievements", + "gui.stats": "Statistics", + "stats.tooltip.type.achievement": "Achievement", + "stats.tooltip.type.statistic": "Statistic", + "stat.generalButton": "General", + "stat.blocksButton": "Blocks", + "stat.itemsButton": "Items", + "stat.mobsButton": "Mobs", + "stat.used": "Times Used", + "stat.mined": "Times Mined", + "stat.depleted": "Times Depleted", + "stat.crafted": "Times Crafted", + "stat.entityKills": "You killed %d %s", + "stat.entityKilledBy": "%s killed you %d time(s)", + "stat.entityKills.none": "You have never killed %s", + "stat.entityKilledBy.none": "You have never been killed by %s", + "stat.startGame": "Times played", + "stat.createWorld": "Worlds created", + "stat.loadWorld": "Saves loaded", + "stat.joinMultiplayer": "Multiplayer joins", + "stat.leaveGame": "Games quit", + "stat.playOneMinute": "Minutes Played", + "stat.walkOneCm": "Distance Walked", + "stat.fallOneCm": "Distance Fallen", + "stat.swimOneCm": "Distance Swum", + "stat.flyOneCm": "Distance Flown", + "stat.climbOneCm": "Distance Climbed", + "stat.diveOneCm": "Distance Dove", + "stat.minecartOneCm": "Distance by Minecart", + "stat.boatOneCm": "Distance by Boat", + "stat.pigOneCm": "Distance by Pig", + "stat.horseOneCm": "Distance by Horse", + "stat.jump": "Jumps", + "stat.drop": "Items Dropped", + "stat.damageDealt": "Damage Dealt", + "stat.damageTaken": "Damage Taken", + "stat.deaths": "Number of Deaths", + "stat.mobKills": "Mob Kills", + "stat.animalsBred": "Animals Bred", + "stat.playerKills": "Player Kills", + "stat.fishCaught": "Fish Caught", + "stat.treasureFished": "Treasure Fished", + "stat.junkFished": "Junk Fished", + "stat.mineBlock": "%1$s Mined", + "stat.craftItem": "%1$s Crafted", + "stat.useItem": "%1$s Used", + "stat.breakItem": "%1$s Depleted", + "achievement.get": "Achievement get!", + "achievement.taken": "Taken!", + "achievement.unknown": "???", + "achievement.requires": "Requires '%1$s'", + "achievement.openInventory": "Taking Inventory", + "achievement.openInventory.desc": "Press '%1$s' to open your inventory.", + "achievement.mineWood": "Getting Wood", + "achievement.mineWood.desc": "Attack a tree until a block of wood pops out", + "achievement.buildWorkBench": "Benchmarking", + "achievement.buildWorkBench.desc": "Craft a workbench with four blocks of planks", + "achievement.buildPickaxe": "Time to Mine!", + "achievement.buildPickaxe.desc": "Use planks and sticks to make a pickaxe", + "achievement.buildFurnace": "Hot Topic", + "achievement.buildFurnace.desc": "Construct a furnace out of eight stone blocks", + "achievement.acquireIron": "Acquire Hardware", + "achievement.acquireIron.desc": "Smelt an iron ingot", + "achievement.buildHoe": "Time to Farm!", + "achievement.buildHoe.desc": "Use planks and sticks to make a hoe", + "achievement.makeBread": "Bake Bread", + "achievement.makeBread.desc": "Turn wheat into bread", + "achievement.bakeCake": "The Lie", + "achievement.bakeCake.desc": "Wheat, sugar, milk and eggs!", + "achievement.buildBetterPickaxe": "Getting an Upgrade", + "achievement.buildBetterPickaxe.desc": "Construct a better pickaxe", + "achievement.cookFish": "Delicious Fish", + "achievement.cookFish.desc": "Catch and cook fish!", + "achievement.onARail": "On A Rail", + "achievement.onARail.desc": "Travel by minecart at least 1 km from where you started", + "achievement.buildSword": "Time to Strike!", + "achievement.buildSword.desc": "Use planks and sticks to make a sword", + "achievement.killEnemy": "Monster Hunter", + "achievement.killEnemy.desc": "Attack and destroy a monster", + "achievement.killCow": "Cow Tipper", + "achievement.killCow.desc": "Harvest some leather", + "achievement.breedCow": "Repopulation", + "achievement.breedCow.desc": "Breed two cows with wheat", + "achievement.flyPig": "When Pigs Fly", + "achievement.flyPig.desc": "Fly a pig off a cliff", + "achievement.snipeSkeleton": "Sniper Duel", + "achievement.snipeSkeleton.desc": "Kill a skeleton with an arrow from more than 50 meters", + "achievement.diamonds": "DIAMONDS!", + "achievement.diamonds.desc": "Acquire diamonds with your iron tools", + "achievement.diamondsToYou": "Diamonds to you!", + "achievement.diamondsToYou.desc": "Throw diamonds at another player.", + "achievement.portal": "We Need to Go Deeper", + "achievement.portal.desc": "Build a portal to the Nether", + "achievement.ghast": "Return to Sender", + "achievement.ghast.desc": "Destroy a Ghast with a fireball", + "achievement.blazeRod": "Into Fire", + "achievement.blazeRod.desc": "Relieve a Blaze of its rod", + "achievement.potion": "Local Brewery", + "achievement.potion.desc": "Brew a potion", + "achievement.theEnd": "The End?", + "achievement.theEnd.desc": "Locate the End", + "achievement.theEnd2": "The End.", + "achievement.theEnd2.desc": "Defeat the Ender Dragon", + "achievement.spawnWither": "The Beginning?", + "achievement.spawnWither.desc": "Spawn the Wither", + "achievement.killWither": "The Beginning.", + "achievement.killWither.desc": "Kill the Wither", + "achievement.fullBeacon": "Beaconator", + "achievement.fullBeacon.desc": "Create a full beacon", + "achievement.exploreAllBiomes": "Adventuring Time", + "achievement.exploreAllBiomes.desc": "Discover all biomes", + "achievement.enchantments": "Enchanter", + "achievement.enchantments.desc": "Use a book, obsidian and diamonds to construct an enchantment table", + "achievement.overkill": "Overkill", + "achievement.overkill.desc": "Deal eight hearts of damage in a single hit", + "achievement.bookcase": "Librarian", + "achievement.bookcase.desc": "Build some bookshelves to improve your enchantment table", + "commands.generic.exception": "An unknown error occurred while attempting to perform this command", + "commands.generic.permission": "You do not have permission to use this command", + "commands.generic.syntax": "Invalid command syntax", + "commands.generic.player.notFound": "That player cannot be found", + "commands.generic.notFound": "Unknown command. Try /help for a list of commands", + "commands.generic.num.invalid": "'%s' is not a valid number", + "commands.generic.boolean.invalid": "'%s' is not true or false", + "commands.generic.num.tooSmall": "The number you have entered (%d) is too small, it must be at least %d", + "commands.generic.num.tooBig": "The number you have entered (%d) is too big, it must be at most %d", + "commands.generic.double.tooSmall": "The number you have entered (%.2f) is too small, it must be at least %.2f", + "commands.generic.double.tooBig": "The number you have entered (%.2f) is too big, it must be at most %.2f", + "commands.generic.usage": "Usage: %s", + "commands.generic.deprecatedId": "Warning: Using numeric IDs will not be supported in the future. Please use names, such as '%s'", + "commands.setidletimeout.usage": "/setidletimeout ", + "commands.setidletimeout.success": "Successfully set the idle timeout to %d minutes.", + "commands.xp.failure.widthdrawXp": "Cannot give player negative experience points", + "commands.xp.success": "Given %d experience to %s", + "commands.xp.success.levels": "Given %d levels to %s", + "commands.xp.success.negative.levels": "Taken %d levels from %s", + "commands.xp.usage": "/xp [player] OR /xp L [player]", + "commands.playsound.usage": "/playsound [x] [y] [z] [volume] [pitch] [minimumVolume]", + "commands.playsound.success": "Played sound '%s' to %s", + "commands.playsound.playerTooFar": "Player %s is too far away to hear the sound", + "commands.give.usage": "/give [amount] [data] [dataTag]", + "commands.give.notFound": "There is no such item with ID %d", + "commands.give.success": "Given %s * %d to %s", + "commands.give.tagError": "Data tag parsing failed: %s", + "commands.summon.usage": "/summon [x] [y] [z] [dataTag]", + "commands.summon.success": "Object successfully summoned", + "commands.summon.failed": "Unable to summon object", + "commands.summon.tagError": "Data tag parsing failed: %s", + "commands.summon.outOfWorld": "Cannot summon the object out of the world", + "commands.testforblock.usage": "/testforblock [dataValue] [dataTag]", + "commands.testforblock.failed.tile": "The block at %d,%d,%d is %s (expected: %s).", + "commands.testforblock.failed.data": "The block at %d,%d,%d had the data value of %s (expected: %s).", + "commands.testforblock.failed.nbt": "The block at %d,%d,%d did not have the required NBT keys.", + "commands.testforblock.failed.tileEntity": "The block at %d,%d,%d is not a tile entity and cannot support tag matching.", + "commands.testforblock.success": "Successfully found the block at %d,%d,%d.", + "commands.testforblock.outOfWorld": "Cannot test for block outside of the world", + "commands.setblock.usage": "/setblock [dataValue] [oldBlockHandling] [dataTag]", + "commands.setblock.success": "Block placed", + "commands.setblock.failed": "Unable to place block", + "commands.setblock.tagError": "Data tag parsing failed: %s", + "commands.setblock.outOfWorld": "Cannot place block outside of the world", + "commands.setblock.notFound": "There is no such block with ID/name %s", + "commands.setblock.noChange": "The block couldn't be placed", + "commands.effect.usage": "/effect [seconds] [amplifier]", + "commands.effect.notFound": "There is no such mob effect with ID %d", + "commands.effect.success": "Given %1$s (ID %2$d) * %3$d to %4$s for %5$d seconds", + "commands.effect.success.removed": "Took %1$s from %2$s", + "commands.effect.success.removed.all": "Took all effects from %s", + "commands.effect.failure.notActive": "Couldn't take %1$s from %2$s as they do not have the effect", + "commands.effect.failure.notActive.all": "Couldn't take any effects from %s as they do not have any", + "commands.enchant.usage": "/enchant [level]", + "commands.enchant.notFound": "There is no such enchantment with ID %d", + "commands.enchant.noItem": "The target doesn't hold an item", + "commands.enchant.cantEnchant": "The selected enchantment can't be added to the target item", + "commands.enchant.cantCombine": "%1$s can't be combined with %2$s", + "commands.enchant.success": "Enchanting succeeded", + "commands.clear.usage": "/clear [item] [data]", + "commands.clear.success": "Cleared the inventory of %s, removing %d items", + "commands.clear.failure": "Could not clear the inventory of %s, no items to remove", + "commands.downfall.usage": "/toggledownfall", + "commands.downfall.success": "Toggled downfall", + "commands.time.usage": "/time ", + "commands.time.added": "Added %d to the time", + "commands.time.set": "Set the time to %d", + "commands.players.usage": "/list", + "commands.players.list": "There are %d/%d players online:", + "commands.banlist.ips": "There are %d total banned IP addresses:", + "commands.banlist.players": "There are %d total banned players:", + "commands.banlist.usage": "/banlist [ips|players]", + "commands.kill.usage": "/kill", + "commands.kill.success": "Ouch! That looked like it hurt", + "commands.kick.success": "Kicked %s from the game", + "commands.kick.success.reason": "Kicked %s from the game: '%s'", + "commands.kick.usage": "/kick [reason ...]", + "commands.op.success": "Opped %s", + "commands.op.usage": "/op ", + "commands.deop.success": "De-opped %s", + "commands.deop.usage": "/deop ", + "commands.say.usage": "/say ", + "commands.ban.success": "Banned player %s", + "commands.ban.usage": "/ban [reason ...]", + "commands.unban.success": "Unbanned player %s", + "commands.unban.usage": "/pardon ", + "commands.banip.invalid": "You have entered an invalid IP address or a player that is not online", + "commands.banip.success": "Banned IP address %s", + "commands.banip.success.players": "Banned IP address %s belonging to %s", + "commands.banip.usage": "/ban-ip [reason ...]", + "commands.unbanip.invalid": "You have entered an invalid IP address", + "commands.unbanip.success": "Unbanned IP address %s", + "commands.unbanip.usage": "/pardon-ip
", + "commands.save.usage": "/save-all", + "commands.save-on.alreadyOn": "Saving is already turned on.", + "commands.save-on.usage": "/save-on", + "commands.save-off.alreadyOff": "Saving is already turned off.", + "commands.save-off.usage": "/save-off", + "commands.save.enabled": "Turned on world auto-saving", + "commands.save.disabled": "Turned off world auto-saving", + "commands.save.start": "Saving...", + "commands.save.success": "Saved the world", + "commands.save.failed": "Saving failed: %s", + "commands.stop.usage": "/stop", + "commands.stop.start": "Stopping the server", + "commands.tp.success": "Teleported %s to %s", + "commands.tp.success.coordinates": "Teleported %s to %.2f,%.2f,%.2f", + "commands.tp.usage": "/tp [target player] OR /tp [target player] ", + "commands.tp.notSameDimension": "Unable to teleport because players are not in the same dimension", + "commands.whitelist.list": "There are %d (out of %d seen) whitelisted players:", + "commands.whitelist.enabled": "Turned on the whitelist", + "commands.whitelist.disabled": "Turned off the whitelist", + "commands.whitelist.reloaded": "Reloaded the whitelist", + "commands.whitelist.add.success": "Added %s to the whitelist", + "commands.whitelist.add.usage": "/whitelist add ", + "commands.whitelist.remove.success": "Removed %s from the whitelist", + "commands.whitelist.remove.usage": "/whitelist remove ", + "commands.whitelist.usage": "/whitelist ", + "commands.scoreboard.usage": "/scoreboard ", + "commands.scoreboard.teamNotFound": "No team was found by the name '%s'", + "commands.scoreboard.objectiveNotFound": "No objective was found by the name '%s'", + "commands.scoreboard.objectiveReadOnly": "The objective '%s' is read-only and cannot be set", + "commands.scoreboard.objectives.usage": "/scoreboard objectives ", + "commands.scoreboard.objectives.setdisplay.usage": "/scoreboard objectives setdisplay [objective]", + "commands.scoreboard.objectives.setdisplay.invalidSlot": "No such display slot '%s'", + "commands.scoreboard.objectives.setdisplay.successCleared": "Cleared objective display slot '%s'", + "commands.scoreboard.objectives.setdisplay.successSet": "Set the display objective in slot '%s' to '%s'", + "commands.scoreboard.objectives.add.usage": "/scoreboard objectives add [display name ...]", + "commands.scoreboard.objectives.add.wrongType": "Invalid objective criteria type '%s'", + "commands.scoreboard.objectives.add.alreadyExists": "An objective with the name '%s' already exists", + "commands.scoreboard.objectives.add.tooLong": "The name '%s' is too long for an objective, it can be at most %d characters long", + "commands.scoreboard.objectives.add.displayTooLong": "The display name '%s' is too long for an objective, it can be at most %d characters long", + "commands.scoreboard.objectives.add.success": "Added new objective '%s' successfully", + "commands.scoreboard.objectives.remove.usage": "/scoreboard objectives remove ", + "commands.scoreboard.objectives.remove.success": "Removed objective '%s' successfully", + "commands.scoreboard.objectives.list.count": "Showing %d objective(s) on scoreboard:", + "commands.scoreboard.objectives.list.entry": "- %s: displays as '%s' and is type '%s'", + "commands.scoreboard.objectives.list.empty": "There are no objectives on the scoreboard", + "commands.scoreboard.players.usage": "/scoreboard players ", + "commands.scoreboard.players.set.success": "Set score of %s for player %s to %d", + "commands.scoreboard.players.set.usage": "/scoreboard players set ", + "commands.scoreboard.players.add.usage": "/scoreboard players add ", + "commands.scoreboard.players.remove.usage": "/scoreboard players remove ", + "commands.scoreboard.players.reset.usage": "/scoreboard players reset ", + "commands.scoreboard.players.reset.success": "Reset all scores of player %s", + "commands.scoreboard.players.list.usage": "/scoreboard players list [name]", + "commands.scoreboard.players.list.count": "Showing %d tracked players on the scoreboard:", + "commands.scoreboard.players.list.empty": "There are no tracked players on the scoreboard", + "commands.scoreboard.players.list.player.count": "Showing %d tracked objective(s) for %s:", + "commands.scoreboard.players.list.player.entry": "- %2$s: %1$d (%3$s)", + "commands.scoreboard.players.list.player.empty": "Player %s has no scores recorded", + "commands.scoreboard.teams.usage": "/scoreboard teams ", + "commands.scoreboard.teams.add.usage": "/scoreboard teams add [display name ...]", + "commands.scoreboard.teams.add.alreadyExists": "A team with the name '%s' already exists", + "commands.scoreboard.teams.add.tooLong": "The name '%s' is too long for a team, it can be at most %d characters long", + "commands.scoreboard.teams.add.displayTooLong": "The display name '%s' is too long for a team, it can be at most %d characters long", + "commands.scoreboard.teams.add.success": "Added new team '%s' successfully", + "commands.scoreboard.teams.list.usage": "/scoreboard teams list [name]", + "commands.scoreboard.teams.list.count": "Showing %d teams on the scoreboard:", + "commands.scoreboard.teams.list.entry": "- %1$s: '%2$s' has %3$d players", + "commands.scoreboard.teams.list.empty": "There are no teams registered on the scoreboard", + "commands.scoreboard.teams.list.player.count": "Showing %d player(s) in team %s:", + "commands.scoreboard.teams.list.player.entry": "- %2$s: %1$d (%3$s)", + "commands.scoreboard.teams.list.player.empty": "Team %s has no players", + "commands.scoreboard.teams.empty.usage": "/scoreboard teams empty", + "commands.scoreboard.teams.empty.alreadyEmpty": "Team %s is already empty, cannot remove nonexistant players", + "commands.scoreboard.teams.empty.success": "Removed all %d player(s) from team %s", + "commands.scoreboard.teams.remove.usage": "/scoreboard teams remove ", + "commands.scoreboard.teams.remove.success": "Removed team %s", + "commands.scoreboard.teams.join.usage": "/scoreboard teams join [player]", + "commands.scoreboard.teams.join.success": "Added %d player(s) to team %s: %s", + "commands.scoreboard.teams.join.failure": "Could not add %d player(s) to team %s: %s", + "commands.scoreboard.teams.leave.usage": "/scoreboard teams leave [player]", + "commands.scoreboard.teams.leave.success": "Removed %d player(s) from their teams: %s", + "commands.scoreboard.teams.leave.failure": "Could not remove %d player(s) from their teams: %s", + "commands.scoreboard.teams.leave.noTeam": "You are not in a team", + "commands.scoreboard.teams.option.usage": "/scoreboard teams option ", + "commands.scoreboard.teams.option.noValue": "Valid values for option %s are: %s", + "commands.scoreboard.teams.option.success": "Set option %s for team %s to %s", + "commands.gamemode.success.self": "Set own game mode to %s", + "commands.gamemode.success.other": "Set %s's game mode to %s", + "commands.gamemode.usage": "/gamemode [player]", + "commands.defaultgamemode.usage": "/defaultgamemode ", + "commands.defaultgamemode.success": "The world's default game mode is now %s", + "commands.me.usage": "/me ", + "commands.help.header": "--- Showing help page %d of %d (/help ) ---", + "commands.help.footer": "Tip: Use the key while typing a command to auto-complete the command or its arguments", + "commands.help.usage": "/help [page|command name]", + "commands.publish.usage": "/publish", + "commands.publish.started": "Local game hosted on port %s", + "commands.publish.failed": "Unable to host local game", + "commands.debug.start": "Started debug profiling", + "commands.debug.stop": "Stopped debug profiling after %.2f seconds (%d ticks)", + "commands.debug.notStarted": "Can't stop profiling when we haven't started yet!", + "commands.debug.usage": "/debug ", + "commands.tellraw.usage": "/tellraw ", + "commands.tellraw.jsonException": "Invalid json: %s", + "commands.message.usage": "/tell ", + "commands.message.sameTarget": "You can't send a private message to yourself!", + "commands.message.display.outgoing": "You whisper to %s: %s", + "commands.message.display.incoming": "%s whispers to you: %s", + "commands.difficulty.usage": "/difficulty ", + "commands.difficulty.success": "Set game difficulty to %s", + "commands.spawnpoint.usage": "/spawnpoint OR /spawnpoint OR /spawnpoint ", + "commands.spawnpoint.success": "Set %s's spawn point to (%d, %d, %d)", + "commands.setworldspawn.usage": "/setworldspawn OR /setworldspawn ", + "commands.setworldspawn.success": "Set the world spawn point to (%d, %d, %d)", + "commands.gamerule.usage": "/gamerule OR /gamerule ", + "commands.gamerule.success": "Game rule has been updated", + "commands.gamerule.norule": "No game rule called '%s' is available", + "commands.weather.usage": "/weather [duration in seconds]", + "commands.weather.clear": "Changing to clear weather", + "commands.weather.rain": "Changing to rainy weather", + "commands.weather.thunder": "Changing to rain and thunder", + "commands.testfor.usage": "/testfor ", + "commands.testfor.failed": "/testfor is only usable by commandblocks with analog output", + "commands.seed.usage": "/seed", + "commands.seed.success": "Seed: %s", + "commands.spreadplayers.usage": "/spreadplayers ", + "commands.spreadplayers.spreading.teams": "Spreading %s teams %s blocks around %s,%s (min %s blocks apart)", + "commands.spreadplayers.spreading.players": "Spreading %s players %s blocks around %s,%s (min %s blocks apart)", + "commands.spreadplayers.success.teams": "Successfully spread %s teams around %s,%s", + "commands.spreadplayers.success.players": "Successfully spread %s players around %s,%s", + "commands.spreadplayers.info.teams": "(Average distance between teams is %s blocks apart after %s iterations)", + "commands.spreadplayers.info.players": "(Average distance between players is %s blocks apart after %s iterations)", + "commands.spreadplayers.failure.teams": "Could not spread %s teams around %s,%s (too many players for space - try using spread of at most %s)", + "commands.spreadplayers.failure.players": "Could not spread %s players around %s,%s (too many players for space - try using spread of at most %s)", + "commands.achievement.usage": "/achievement give [player]", + "commands.achievement.unknownAchievement": "Unknown achievement or statistic '%s'", + "commands.achievement.give.success.all": "Successfully given all achievements to %s", + "commands.achievement.give.success.one": "Successfully given %s the stat %s", + "commands.achievement.statTooLow": "Player %s does not have the stat %s", + "itemGroup.buildingBlocks": "Building Blocks", + "itemGroup.decorations": "Decoration Blocks", + "itemGroup.redstone": "Redstone", + "itemGroup.transportation": "Transportation", + "itemGroup.misc": "Miscellaneous", + "itemGroup.search": "Search Items", + "itemGroup.food": "Foodstuffs", + "itemGroup.tools": "Tools", + "itemGroup.combat": "Combat", + "itemGroup.brewing": "Brewing", + "itemGroup.materials": "Materials", + "itemGroup.inventory": "Survival Inventory", + "inventory.binSlot": "Destroy Item", + "advMode.setCommand": "Set Console Command for Block", + "advMode.setCommand.success": "Command set: %s", + "advMode.command": "Console Command", + "advMode.nearestPlayer": "Use \"@p\" to target nearest player", + "advMode.randomPlayer": "Use \"@r\" to target random player", + "advMode.allPlayers": "Use \"@a\" to target all players", + "advMode.previousOutput": "Previous Output", + "advMode.notEnabled": "Command blocks are not enabled on this server", + "advMode.notAllowed": "Must be an opped player in creative mode", + "mco.title": "Minecraft Realms", + "mount.onboard": "Press %1$s to dismount", + "mco.terms.buttons.agree": "Agree", + "mco.terms.buttons.disagree": "Don't Agree", + "mco.terms.title": "Realms Terms of Service", + "mco.terms.sentence.1": "I agree to Minecraft Realms", + "mco.terms.sentence.2": "Terms of Service", + "mco.buy.realms.title": "Buy a Realm", + "mco.buy.realms.buy": "I want one!", + "mco.selectServer.play": "Play", + "mco.selectServer.configure": "Configure", + "mco.selectServer.leave": "Leave Realm", + "mco.selectServer.create": "Create Realm", + "mco.selectServer.buy": "Buy Realm", + "mco.selectServer.moreinfo": "More Info", + "mco.selectServer.expired": "Expired Server", + "mco.selectServer.open": "Open Server", + "mco.selectServer.closed": "Closed Server", + "mco.selectServer.locked": "Locked Server", + "mco.selectServer.expires.days": "Expires in %s days", + "mco.selectServer.expires.day": "Expires in a day", + "mco.selectServer.expires.soon": "Expires soon", + "mco.configure.world.edit.title": "Edit Realm", + "mco.configure.world.title": "Configure Realm", + "mco.configure.world.name": "Name", + "mco.configure.world.description": "Description", + "mco.configure.world.location": "Location", + "mco.configure.world.invited": "Invited", + "mco.configure.world.buttons.edit": "Edit", + "mco.configure.world.buttons.reset": "Reset Realm", + "mco.configure.world.buttons.done": "Done", + "mco.configure.world.buttons.delete": "Delete", + "mco.configure.world.buttons.open": "Open Realm", + "mco.configure.world.buttons.close": "Close Realm", + "mco.configure.world.buttons.invite": "Invite", + "mco.configure.world.buttons.uninvite": "Uninvite", + "mco.configure.world.buttons.backup": "Backups", + "mco.configure.world.buttons.subscription": "Subscription", + "mco.configure.world.invite.profile.name": "Name", + "mco.configure.world.uninvite.question": "Are you sure that you want to uninvite", + "mco.configure.world.status": "Status", + "mco.configure.world.subscription.title": "Subscription Info", + "mco.configure.world.subscription.daysleft": "Days Left", + "mco.configure.world.subscription.start": "Start Date", + "mco.configure.world.subscription.extend": "Extend Subscription", + "mco.create.world.location.title": "Locations", + "mco.create.world.location.warning": "You may not get the exact location you select", + "mco.create.world.wait": "Creating the realm...", + "mco.create.world.seed": "Seed (Optional)", + "mco.reset.world.title": "Reset Realm", + "mco.reset.world.warning": "This will permanently delete your realm!", + "mco.reset.world.seed": "Seed (Optional)", + "mco.reset.world.resetting.screen.title": "Resetting Realm...", + "mco.configure.world.close.question.line1": "Your realm will become unavailable.", + "mco.configure.world.close.question.line2": "Are you sure you want to do that?", + "mco.configure.world.leave.question.line1": "If you leave this realm you won't see it unless invited again", + "mco.configure.world.leave.question.line2": "Are you sure you want to do that?", + "mco.configure.world.reset.question.line1": "Your realm will be regenerated and your current realm will be lost", + "mco.configure.world.reset.question.line2": "Are you sure you want to do that?", + "mco.configure.world.restore.question.line1": "Your realm will be restored to date", + "mco.configure.world.restore.question.line2": "Are you sure you want to do that?", + "mco.configure.world.restore.download.question.line1": "You will be redirected to your default browser to download your world map.", + "mco.configure.world.restore.download.question.line2": "Do you want to continue?", + "mco.more.info.question.line1": "You will be redirected to your default browser to see the page.", + "mco.more.info.question.line2": "Do you want to continue?", + "mco.connect.connecting": "Connecting to the online server...", + "mco.connect.authorizing": "Logging in...", + "mco.connect.failed": "Failed to connect to the online server", + "mco.create.world": "Create", + "mco.client.outdated.title": "Client Outdated!", + "mco.client.outdated.msg": "Your client is outdated, please consider updating it to use Realms", + "mco.backup.title": "Backups", + "mco.backup.button.restore": "Restore", + "mco.backup.restoring": "Restoring your realm", + "mco.backup.button.download": "Download Latest", + "mco.template.title": "Realm Templates", + "mco.template.button.select": "Select", + "mco.template.default.name": "Select Template (Optional)", + "mco.template.name": "Template", + "mco.invites.button.accept": "Accept", + "mco.invites.button.reject": "Reject", + "mco.invites.title": "Pending Invitations", + "mco.invites.pending": "New invitations!", + "mco.invites.nopending": "No pending invitations!", + "build.tooHigh": "Height limit for building is %s blocks", + "attribute.modifier.plus.0": "+%d %s", + "attribute.modifier.plus.1": "+%d%% %s", + "attribute.modifier.plus.2": "+%d%% %s", + "attribute.modifier.take.0": "-%d %s", + "attribute.modifier.take.1": "-%d%% %s", + "attribute.modifier.take.2": "-%d%% %s", + "attribute.name.horse.jumpStrength": "Horse Jump Strength", + "attribute.name.zombie.spawnReinforcements": "Zombie Reinforcements", + "attribute.name.generic.maxHealth": "Max Health", + "attribute.name.generic.followRange": "Mob Follow Range", + "attribute.name.generic.knockbackResistance": "Knockback Resistance", + "attribute.name.generic.movementSpeed": "Speed", + "attribute.name.generic.attackDamage": "Attack Damage", + "screenshot.success": "Saved screenshot as %s", + "screenshot.failure": "Couldn't save screenshot: %s" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/materials.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/materials.json new file mode 100644 index 00000000..69c797e0 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/materials.json @@ -0,0 +1,61 @@ +{ + "rock": { + "257": 6, + "270": 2, + "274": 4, + "278": 8, + "285": 12 + }, + "wood": { + "258": 6, + "271": 2, + "275": 4, + "279": 8, + "286": 12 + }, + "plant": { + "258": 6, + "267": 1.5, + "268": 1.5, + "271": 2, + "272": 1.5, + "275": 4, + "276": 1.5, + "279": 8, + "283": 1.5, + "286": 12 + }, + "melon": { + "267": 1.5, + "268": 1.5, + "272": 1.5, + "276": 1.5, + "283": 1.5 + }, + "leaves": { + "267": 1.5, + "268": 1.5, + "272": 1.5, + "276": 1.5, + "283": 1.5, + "359": 6 + }, + "dirt": { + "256": 6, + "269": 2, + "273": 4, + "277": 8, + "284": 12 + }, + "web": { + "267": 15, + "268": 15, + "272": 15, + "276": 15, + "283": 15, + "359": 15 + }, + "wool": { + "359": 4.8 + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/particles.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/particles.json new file mode 100644 index 00000000..c4ccc065 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/particles.json @@ -0,0 +1,170 @@ +[ + { + "id": 0, + "name": "explode" + }, + { + "id": 1, + "name": "largeexplode" + }, + { + "id": 2, + "name": "hugeexplosion" + }, + { + "id": 3, + "name": "fireworksSpark" + }, + { + "id": 4, + "name": "bubble" + }, + { + "id": 5, + "name": "splash" + }, + { + "id": 6, + "name": "wake" + }, + { + "id": 7, + "name": "suspended" + }, + { + "id": 8, + "name": "depthsuspend" + }, + { + "id": 9, + "name": "crit" + }, + { + "id": 10, + "name": "magicCrit" + }, + { + "id": 11, + "name": "smoke" + }, + { + "id": 12, + "name": "largesmoke" + }, + { + "id": 13, + "name": "spell" + }, + { + "id": 14, + "name": "instantSpell" + }, + { + "id": 15, + "name": "mobSpell" + }, + { + "id": 16, + "name": "mobSpellAmbient" + }, + { + "id": 17, + "name": "witchMagic" + }, + { + "id": 18, + "name": "dripWater" + }, + { + "id": 19, + "name": "dripLava" + }, + { + "id": 20, + "name": "angryVillager" + }, + { + "id": 21, + "name": "happyVillager" + }, + { + "id": 22, + "name": "townaura" + }, + { + "id": 23, + "name": "note" + }, + { + "id": 24, + "name": "portal" + }, + { + "id": 25, + "name": "enchantmenttable" + }, + { + "id": 26, + "name": "flame" + }, + { + "id": 27, + "name": "lava" + }, + { + "id": 28, + "name": "footstep" + }, + { + "id": 29, + "name": "cloud" + }, + { + "id": 30, + "name": "reddust" + }, + { + "id": 31, + "name": "snowballpoof" + }, + { + "id": 32, + "name": "snowshovel" + }, + { + "id": 33, + "name": "slime" + }, + { + "id": 34, + "name": "heart" + }, + { + "id": 35, + "name": "barrier" + }, + { + "id": 36, + "name": "iconcrack_" + }, + { + "id": 37, + "name": "blockcrack_" + }, + { + "id": 38, + "name": "blockdust_" + }, + { + "id": 39, + "name": "droplet" + }, + { + "id": 40, + "name": "take" + }, + { + "id": 41, + "name": "mobappearance" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/protocol.json new file mode 100644 index 00000000..bb36be47 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/protocol.json @@ -0,0 +1,2917 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "compressedNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "compressedNbt" + } + ] + ] + } + ] + } + ] + ], + "position_iii": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + } + ] + ], + "position_isi": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i16" + }, + { + "name": "z", + "type": "i32" + } + ] + ], + "position_ibi": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "z", + "type": "i32" + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "i16", + "2": "i32", + "3": "f32", + "4": "string", + "5": "slot", + "6": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + } + ] + ], + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ] + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 127, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "bitfield", + [ + { + "name": "type", + "size": 3, + "signed": false + }, + { + "name": "key", + "size": 5, + "signed": false + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "i16" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "i16" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "i16" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "i16" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i32" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i8" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position_iii" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "i16" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "location", + "type": "position_ibi" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "string" + }, + { + "name": "playerName", + "type": "string" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": "string" + } + ] + ] + } + ] + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "currentItem", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "i32" + }, + { + "name": "collectorEntityId", + "type": "i32" + } + ] + ], + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": [ + "container", + [ + { + "name": "intField", + "type": "i32" + }, + { + "name": "velocityX", + "type": [ + "switch", + { + "compareTo": "intField", + "fields": { + "0": "void" + }, + "default": "i16" + } + ] + }, + { + "name": "velocityY", + "type": [ + "switch", + { + "compareTo": "intField", + "fields": { + "0": "void" + }, + "default": "i16" + } + ] + }, + { + "name": "velocityZ", + "type": [ + "switch", + { + "compareTo": "intField", + "fields": { + "0": "void" + }, + "default": "i16" + } + ] + } + ] + ] + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "u8" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position_iii" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "i8", + "type": "i32" + } + ] + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "dX", + "type": "i8" + }, + { + "name": "dY", + "type": "i8" + }, + { + "name": "dZ", + "type": "i8" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "dX", + "type": "i8" + }, + { + "name": "dY", + "type": "i8" + }, + { + "name": "dZ", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + }, + { + "name": "leash", + "type": "bool" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "i16" + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "i16" + }, + { + "name": "totalExperience", + "type": "i16" + } + ] + ], + "packet_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "i16", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "u16" + }, + { + "name": "addBitMap", + "type": "u16" + }, + { + "name": "compressedChunkData", + "type": [ + "buffer", + { + "countType": "i32" + } + ] + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "recordCount", + "type": [ + "count", + { + "type": "i16", + "countFor": "records" + } + ] + }, + { + "name": "dataLength", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "count": "recordCount", + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "bitfield", + [ + { + "name": "metadata", + "size": 4, + "signed": false + }, + { + "name": "blockId", + "size": 12, + "signed": false + } + ] + ] + }, + { + "name": "y", + "type": "u8" + }, + { + "anon": true, + "type": [ + "bitfield", + [ + { + "name": "z", + "size": 4, + "signed": false + }, + { + "name": "x", + "size": 4, + "signed": false + } + ] + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position_ibi" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "metadata", + "type": "u8" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position_isi" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position_iii" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_map_chunk_bulk": [ + "container", + [ + { + "name": "chunkColumnCount", + "type": [ + "count", + { + "type": "i16", + "countFor": "meta" + } + ] + }, + { + "name": "dataLength", + "type": [ + "count", + { + "type": "i32", + "countFor": "compressedChunkData" + } + ] + }, + { + "name": "skyLightSent", + "type": "bool" + }, + { + "name": "compressedChunkData", + "type": [ + "buffer", + { + "count": "dataLength" + } + ] + }, + { + "name": "meta", + "type": [ + "array", + { + "count": "chunkColumnCount", + "type": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "bitMap", + "type": "u16" + }, + { + "name": "addBitMap", + "type": "u16" + } + ] + ] + } + ] + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position_ibi" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleName", + "type": "string" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "u8" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "useProvidedTitle", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position_isi" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "data", + "type": [ + "buffer", + { + "countType": "i16" + } + ] + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position_isi" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "compressedNbt" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position_iii" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "playerName", + "type": "string" + }, + { + "name": "online", + "type": "bool" + }, + { + "name": "ping", + "type": "i16" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "displayText", + "type": "string" + }, + { + "name": "action", + "type": "i8" + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "i32" + } + ] + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_scoreboard_team": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "i16", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": [ + "buffer", + { + "countType": "i16" + } + ] + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "keep_alive", + "0x01": "login", + "0x02": "chat", + "0x03": "update_time", + "0x04": "entity_equipment", + "0x05": "spawn_position", + "0x06": "update_health", + "0x07": "respawn", + "0x08": "position", + "0x09": "held_item_slot", + "0x0a": "bed", + "0x0b": "animation", + "0x0c": "named_entity_spawn", + "0x0d": "collect", + "0x0e": "spawn_entity", + "0x0f": "spawn_entity_living", + "0x10": "spawn_entity_painting", + "0x11": "spawn_entity_experience_orb", + "0x12": "entity_velocity", + "0x13": "entity_destroy", + "0x14": "entity", + "0x15": "rel_entity_move", + "0x16": "entity_look", + "0x17": "entity_move_look", + "0x18": "entity_teleport", + "0x19": "entity_head_rotation", + "0x1a": "entity_status", + "0x1b": "attach_entity", + "0x1c": "entity_metadata", + "0x1d": "entity_effect", + "0x1e": "remove_entity_effect", + "0x1f": "experience", + "0x20": "update_attributes", + "0x21": "map_chunk", + "0x22": "multi_block_change", + "0x23": "block_change", + "0x24": "block_action", + "0x25": "block_break_animation", + "0x26": "map_chunk_bulk", + "0x27": "explosion", + "0x28": "world_event", + "0x29": "named_sound_effect", + "0x2a": "world_particles", + "0x2b": "game_state_change", + "0x2c": "spawn_entity_weather", + "0x2d": "open_window", + "0x2e": "close_window", + "0x2f": "set_slot", + "0x30": "window_items", + "0x31": "craft_progress_bar", + "0x32": "transaction", + "0x33": "update_sign", + "0x34": "map", + "0x35": "tile_entity_data", + "0x36": "open_sign_entity", + "0x37": "statistics", + "0x38": "player_info", + "0x39": "abilities", + "0x3a": "tab_complete", + "0x3b": "scoreboard_objective", + "0x3c": "scoreboard_score", + "0x3d": "scoreboard_display_objective", + "0x3e": "scoreboard_team", + "0x3f": "custom_payload", + "0x40": "kick_disconnect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "keep_alive": "packet_keep_alive", + "login": "packet_login", + "chat": "packet_chat", + "update_time": "packet_update_time", + "entity_equipment": "packet_entity_equipment", + "spawn_position": "packet_spawn_position", + "update_health": "packet_update_health", + "respawn": "packet_respawn", + "position": "packet_position", + "held_item_slot": "packet_held_item_slot", + "bed": "packet_bed", + "animation": "packet_animation", + "named_entity_spawn": "packet_named_entity_spawn", + "collect": "packet_collect", + "spawn_entity": "packet_spawn_entity", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "entity_velocity": "packet_entity_velocity", + "entity_destroy": "packet_entity_destroy", + "entity": "packet_entity", + "rel_entity_move": "packet_rel_entity_move", + "entity_look": "packet_entity_look", + "entity_move_look": "packet_entity_move_look", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_status": "packet_entity_status", + "attach_entity": "packet_attach_entity", + "entity_metadata": "packet_entity_metadata", + "entity_effect": "packet_entity_effect", + "remove_entity_effect": "packet_remove_entity_effect", + "experience": "packet_experience", + "update_attributes": "packet_update_attributes", + "map_chunk": "packet_map_chunk", + "multi_block_change": "packet_multi_block_change", + "block_change": "packet_block_change", + "block_action": "packet_block_action", + "block_break_animation": "packet_block_break_animation", + "map_chunk_bulk": "packet_map_chunk_bulk", + "explosion": "packet_explosion", + "world_event": "packet_world_event", + "named_sound_effect": "packet_named_sound_effect", + "world_particles": "packet_world_particles", + "game_state_change": "packet_game_state_change", + "spawn_entity_weather": "packet_spawn_entity_weather", + "open_window": "packet_open_window", + "close_window": "packet_close_window", + "set_slot": "packet_set_slot", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "transaction": "packet_transaction", + "update_sign": "packet_update_sign", + "map": "packet_map", + "tile_entity_data": "packet_tile_entity_data", + "open_sign_entity": "packet_open_sign_entity", + "statistics": "packet_statistics", + "player_info": "packet_player_info", + "abilities": "packet_abilities", + "tab_complete": "packet_tab_complete", + "scoreboard_objective": "packet_scoreboard_objective", + "scoreboard_score": "packet_scoreboard_score", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "scoreboard_team": "packet_scoreboard_team", + "custom_payload": "packet_custom_payload", + "kick_disconnect": "packet_kick_disconnect" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i32" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "i32" + }, + { + "name": "mouse", + "type": "i8" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "stance", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "stance", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position_ibi" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position_ibi" + }, + { + "name": "direction", + "type": "i8" + }, + { + "name": "heldItem", + "type": "slot" + }, + { + "name": "cursorX", + "type": "i8" + }, + { + "name": "cursorY", + "type": "i8" + }, + { + "name": "cursorZ", + "type": "i8" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "animation", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "actionId", + "type": "i8" + }, + { + "name": "jumpBoost", + "type": "i32" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "bool" + }, + { + "name": "unmount", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position_isi" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "i8" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "showCape", + "type": "bool" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "payload", + "type": "i8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": [ + "buffer", + { + "countType": "i16" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "keep_alive", + "0x01": "chat", + "0x02": "use_entity", + "0x03": "flying", + "0x04": "position", + "0x05": "look", + "0x06": "position_look", + "0x07": "block_dig", + "0x08": "block_place", + "0x09": "held_item_slot", + "0x0a": "arm_animation", + "0x0b": "entity_action", + "0x0c": "steer_vehicle", + "0x0d": "close_window", + "0x0e": "window_click", + "0x0f": "transaction", + "0x10": "set_creative_slot", + "0x11": "enchant_item", + "0x12": "update_sign", + "0x13": "abilities", + "0x14": "tab_complete", + "0x15": "settings", + "0x16": "client_command", + "0x17": "custom_payload" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "keep_alive": "packet_keep_alive", + "chat": "packet_chat", + "use_entity": "packet_use_entity", + "flying": "packet_flying", + "position": "packet_position", + "look": "packet_look", + "position_look": "packet_position_look", + "block_dig": "packet_block_dig", + "block_place": "packet_block_place", + "held_item_slot": "packet_held_item_slot", + "arm_animation": "packet_arm_animation", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "close_window": "packet_close_window", + "window_click": "packet_window_click", + "transaction": "packet_transaction", + "set_creative_slot": "packet_set_creative_slot", + "enchant_item": "packet_enchant_item", + "update_sign": "packet_update_sign", + "abilities": "packet_abilities", + "tab_complete": "packet_tab_complete", + "settings": "packet_settings", + "client_command": "packet_client_command", + "custom_payload": "packet_custom_payload" + } + } + ] + } + ] + ] + } + } + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/version.json new file mode 100644 index 00000000..7f603571 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/version.json @@ -0,0 +1,5 @@ +{ + "version":5, + "minecraftVersion":"1.7.10", + "majorVersion":"1.7" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.7/windows.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/windows.json new file mode 100644 index 00000000..58dbe3fa --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.7/windows.json @@ -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": 3 + }, + { + "name": "result", + "index": 0, + "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 + } + ] + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/biomes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/biomes.json new file mode 100644 index 00000000..21388635 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/biomes.json @@ -0,0 +1,282 @@ +[ + { + "id": 0, + "color": 112, + "name": "Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 1, + "color": 9286496, + "name": "Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 2, + "color": 16421912, + "name": "Desert", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 3, + "color": 6316128, + "name": "Extreme Hills", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 4, + "color": 353825, + "name": "Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 5, + "color": 747097, + "name": "Taiga", + "rainfall": 0.8, + "temperature": 0.05 + }, + { + "id": 6, + "color": 522674, + "name": "Swampland", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 7, + "color": 255, + "name": "River", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 8, + "color": 16711680, + "name": "Hell", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 9, + "color": 8421631, + "name": "The End", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 10, + "color": 9474208, + "name": "FrozenOcean", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 11, + "color": 10526975, + "name": "FrozenRiver", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 12, + "color": 16777215, + "name": "Ice Plains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 13, + "color": 10526880, + "name": "Ice Mountains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 14, + "color": 16711935, + "name": "MushroomIsland", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 15, + "color": 10486015, + "name": "MushroomIslandShore", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 16, + "color": 16440917, + "name": "Beach", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 17, + "color": 13786898, + "name": "DesertHills", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 18, + "color": 2250012, + "name": "ForestHills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 19, + "color": 1456435, + "name": "TaigaHills", + "rainfall": 0.7, + "temperature": 0.2 + }, + { + "id": 20, + "color": 7501978, + "name": "Extreme Hills Edge", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 21, + "color": 5470985, + "name": "Jungle", + "rainfall": 0.9, + "temperature": 1.2 + }, + { + "id": 22, + "color": 2900485, + "name": "JungleHills", + "rainfall": 0.9, + "temperature": 1.2 + }, + { + "id": 23, + "color": 6458135, + "name": "JungleEdge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 24, + "color": 48, + "name": "Deep Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 25, + "color": 10658436, + "name": "Stone Beach", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 26, + "color": 16445632, + "name": "Cold Beach", + "rainfall": 0.3, + "temperature": 0.05 + }, + { + "id": 27, + "color": 3175492, + "name": "Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 28, + "color": 2055986, + "name": "Birch Forest Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 29, + "color": 4215066, + "name": "Roofed Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 30, + "color": 3233098, + "name": "Cold Taiga", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 31, + "color": 2375478, + "name": "Cold Taiga Hills", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 32, + "color": 5858897, + "name": "Mega Taiga", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 33, + "color": 4542270, + "name": "Mega Taiga Hills", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 34, + "color": 5271632, + "name": "Extreme Hills+", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 35, + "color": 12431967, + "name": "Savanna", + "rainfall": 0, + "temperature": 1.2 + }, + { + "id": 36, + "color": 10984804, + "name": "Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 37, + "color": 14238997, + "name": "Mesa", + "rainfall": 0.5, + "temperature": 2.0 + }, + { + "id": 38, + "color": 11573093, + "name": "Mesa Plateau F", + "rainfall": 0.5, + "temperature": 2.0 + }, + { + "id": 39, + "color": 13274213, + "name": "Redwood Taiga Hills M", + "rainfall": 0.5, + "temperature": 2.0 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/blockCollisionShapes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/blockCollisionShapes.json new file mode 100644 index 00000000..f3f3810a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/blockCollisionShapes.json @@ -0,0 +1,274 @@ +{"blocks":{"air":0, +"stone":1, +"grass":1, +"dirt":1, +"cobblestone":1, +"planks":1, +"sapling":0, +"bedrock":1, +"flowing_water":0, +"water":0, +"flowing_lava":0, +"lava":0, +"sand":1, +"gravel":1, +"gold_ore":1, +"iron_ore":1, +"coal_ore":1, +"log":1, +"leaves":1, +"sponge":1, +"glass":1, +"lapis_ore":1, +"lapis_block":1, +"dispenser":1, +"sandstone":1, +"noteblock":1, +"bed":2, +"golden_rail":0, +"detector_rail":0, +"sticky_piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0], +"web":0, +"tallgrass":0, +"deadbush":0, +"piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0], +"piston_head":[10,11,9,12,13,14,0,0,10,11,9,12,13,14,0,0], +"wool":1, +"piston_extension":0, +"yellow_flower":0, +"red_flower":0, +"brown_mushroom":0, +"red_mushroom":0, +"gold_block":1, +"iron_block":1, +"double_stone_slab":1, +"stone_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"brick_block":1, +"tnt":1, +"bookshelf":1, +"mossy_cobblestone":1, +"obsidian":1, +"torch":0, +"fire":0, +"mob_spawner":1, +"oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"chest":25, +"redstone_wire":0, +"diamond_ore":1, +"diamond_block":1, +"crafting_table":1, +"wheat":0, +"farmland":26, +"furnace":1, +"lit_furnace":1, +"standing_sign":0, +"wooden_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"ladder":[27,27,27,29,30,28,27,27,27,29,30,28,27,27,27,29], +"rail":0, +"stone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"wall_sign":0, +"lever":0, +"stone_pressure_plate":0, +"iron_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"wooden_pressure_plate":0, +"redstone_ore":1, +"lit_redstone_ore":1, +"unlit_redstone_torch":0, +"redstone_torch":0, +"stone_button":0, +"snow_layer":[0,31,32,33,15,34,4,35,0,31,32,33,15,34,4,35], +"ice":1, +"snow":1, +"cactus":36, +"clay":1, +"reeds":0, +"jukebox":1, +"fence":37, +"pumpkin":1, +"netherrack":1, +"soul_sand":35, +"glowstone":1, +"portal":0, +"lit_pumpkin":1, +"cake":[38,39,40,41,42,43,44,0,0,0,0,0,0,0,0,0], +"unpowered_repeater":31, +"powered_repeater":31, +"stained_glass":1, +"trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28], +"monster_egg":1, +"stonebrick":1, +"brown_mushroom_block":1, +"red_mushroom_block":1, +"iron_bars":47, +"glass_pane":47, +"melon_block":1, +"pumpkin_stem":0, +"melon_stem":0, +"vine":0, +"fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"stone_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"mycelium":1, +"waterlily":50, +"nether_brick":1, +"nether_brick_fence":37, +"nether_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"nether_wart":0, +"enchanting_table":4, +"brewing_stand":51, +"cauldron":52, +"end_portal":0, +"end_portal_frame":[81,81,81,81,82,82,82,82,81,81,81,81,82,82,82,82], +"end_stone":1, +"dragon_egg":53, +"redstone_lamp":1, +"lit_redstone_lamp":1, +"double_wooden_slab":1, +"wooden_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"cocoa":[55,56,54,57,58,59,60,61,62,63,64,65,0,0,0,0], +"sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"emerald_ore":1, +"ender_chest":25, +"tripwire_hook":0, +"tripwire":0, +"emerald_block":1, +"spruce_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"birch_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"jungle_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"command_block":1, +"beacon":1, +"cobblestone_wall":66, +"flower_pot":67, +"carrots":0, +"potatoes":0, +"wooden_button":0, +"skull":[69,69,68,70,71,72,69,69,69,69,68,70,71,72,69,69], +"anvil":[73,74,73,74,73,74,73,74,73,74,73,74,0,0,0,0], +"trapped_chest":25, +"light_weighted_pressure_plate":0, +"heavy_weighted_pressure_plate":0, +"unpowered_comparator":31, +"powered_comparator":31, +"daylight_detector":33, +"redstone_block":1, +"quartz_ore":1, +"hopper":75, +"quartz_block":1, +"quartz_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"activator_rail":0, +"dropper":1, +"stained_hardened_clay":1, +"stained_glass_pane":47, +"leaves2":1,"log2":1,"acacia_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"dark_oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"slime":1, +"barrier":1, +"iron_trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28], +"prismarine":1, +"sea_lantern":1, +"hay_block":1, +"carpet":76, +"hardened_clay":1, +"coal_block":1, +"packed_ice":1, +"double_plant":0, +"standing_banner":0, +"wall_banner":0, +"daylight_detector_inverted":33, +"red_sandstone":1, +"red_sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"double_stone_slab2":1,"stone_slab2":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"spruce_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"birch_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"jungle_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"dark_oak_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"acacia_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"spruce_fence":37, +"birch_fence":37, +"jungle_fence":37, +"dark_oak_fence":37, +"acacia_fence":37, +"spruce_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"birch_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"jungle_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"acacia_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"dark_oak_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28]}, +"shapes":{"0":[], +"1":[[0.0,0.0,0.0,1.0,1.0,1.0]], +"2":[[0.0,0.0,0.0,1.0,0.5625,1.0]], +"3":[[0.0,0.25,0.0,1.0,1.0,1.0]], +"4":[[0.0,0.0,0.0,1.0,0.75,1.0]], +"5":[[0.0,0.0,0.25,1.0,1.0,1.0]], +"6":[[0.0,0.0,0.0,1.0,1.0,0.75]], +"7":[[0.25,0.0,0.0,1.0,1.0,1.0]], +"8":[[0.0,0.0,0.0,0.75,1.0,1.0]], +"9":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]], +"10":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]], +"11":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]], +"12":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]], +"13":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]], +"14":[[0.75,0.0,0.0,1.0,1.0,1.0],[-0.25,0.375,0.375,0.75,0.625,0.625]], +"15":[[0.0,0.0,0.0,1.0,0.5,1.0]], +"16":[[0.0,0.5,0.0,1.0,1.0,1.0]], +"17":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"18":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"19":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]], +"20":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]], +"21":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]], +"22":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,0.5,0.5,1.0]], +"23":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.5,1.0,0.5,1.0]], +"24":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,0.5,0.5]], +"25":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]], +"26":[[0.0,0.0,0.0,1.0,0.9375,1.0]], +"27":[[0.0,0.0,0.8125,1.0,1.0,1.0]], +"28":[[0.0,0.0,0.0,0.1875,1.0,1.0]], +"29":[[0.0,0.0,0.0,1.0,1.0,0.1875]], +"30":[[0.8125,0.0,0.0,1.0,1.0,1.0]], +"31":[[0.0,0.0,0.0,1.0,0.125,1.0]], +"32":[[0.0,0.0,0.0,1.0,0.25,1.0]], +"33":[[0.0,0.0,0.0,1.0,0.375,1.0]], +"34":[[0.0,0.0,0.0,1.0,0.625,1.0]], +"35":[[0.0,0.0,0.0,1.0,0.875,1.0]], +"36":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]], +"37":[[0.375,0.0,0.375,0.625,1.5,0.625]], +"38":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]], +"39":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]], +"40":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]], +"41":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]], +"42":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]], +"43":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]], +"44":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]], +"45":[[0.0,0.0,0.0,1.0,0.1875,1.0]], +"46":[[0.0,0.8125,0.0,1.0,1.0,1.0]], +"47":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]], +"48":[[0.0,0.0,0.375,1.0,1.5,0.625]], +"49":[[0.375,0.0,0.0,0.625,1.5,1.0]], +"50":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]], +"51":[[0.4375,0.0,0.4375,0.5625,0.875,0.5625],[0.0,0.0,0.0,1.0,0.125,1.0]], +"52":[[0.0,0.0,0.0,1.0,0.3125,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.875,1.0,1.0,1.0]], +"53":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]], +"54":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]], +"55":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]], +"56":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]], +"57":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]], +"58":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]], +"59":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]], +"60":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]], +"61":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]], +"62":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]], +"63":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]], +"64":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]], +"65":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]], +"66":[[0.25,0.0,0.25,0.75,1.5,0.75]], +"67":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]], +"68":[[0.25,0.25,0.5,0.75,0.75,1.0]], +"69":[[0.25,0.0,0.25,0.75,0.5,0.75]], +"70":[[0.25,0.25,0.0,0.75,0.75,0.5]], +"71":[[0.5,0.25,0.25,1.0,0.75,0.75]], +"72":[[0.0,0.25,0.25,0.5,0.75,0.75]], +"73":[[0.125,0.0,0.0,0.875,1.0,1.0]], +"74":[[0.0,0.0,0.125,1.0,1.0,0.875]], +"75":[[0.0,0.0,0.0,1.0,0.625,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.0,0.0,0.875,1.0,1.0,1.0]], +"76":[[0.0,0.0,0.0,1.0,0.0625,1.0]], +"81":[[0.0,0.0,0.0,1.0,0.8125,1.0]], +"82":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.3125,0.8125,0.3125,0.6875,1.0,0.6875]]}} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/blocks.json new file mode 100644 index 00000000..eb3f04ba --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/blocks.json @@ -0,0 +1,5165 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone" + }, + { + "metadata": 1, + "displayName": "Granite" + }, + { + "metadata": 2, + "displayName": "Polished Granite" + }, + { + "metadata": 3, + "displayName": "Diorite" + }, + { + "metadata": 4, + "displayName": "Polished Diorite" + }, + { + "metadata": 5, + "displayName": "Andesite" + }, + { + "metadata": 6, + "displayName": "Polished Andesite" + } + ], + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Dirt" + }, + { + "metadata": 1, + "displayName": "Coarse Dirt" + }, + { + "metadata": 2, + "displayName": "Podzol" + } + ], + "drops": [ + { + "drop": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "planks", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Wood Planks" + }, + { + "metadata": 1, + "displayName": "Spruce Wood Planks" + }, + { + "metadata": 2, + "displayName": "Birch Wood Planks" + }, + { + "metadata": 3, + "displayName": "Jungle Wood Planks" + }, + { + "metadata": 4, + "displayName": "Acacia Wood Planks" + }, + { + "metadata": 5, + "displayName": "Dark Oak Wood Planks" + } + ], + "drops": [ + { + "drop": 5 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 6 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 7 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 8, + "displayName": "Water", + "name": "flowing_water", + "hardness": 100, + "stackSize": 64, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "hardness": 100, + "stackSize": 64, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 10, + "displayName": "Lava", + "name": "flowing_lava", + "hardness": 100, + "stackSize": 64, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "hardness": 100, + "stackSize": 64, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Sand" + }, + { + "metadata": 1, + "displayName": "Red sand" + } + ], + "drops": [ + { + "drop": 12 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 13, + "minCount": 0.9 + }, + { + "drop": 318, + "minCount": 0.1 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 14 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 15 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 263, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 17, + "displayName": "Wood", + "name": "log", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak wood facing up/down" + }, + { + "metadata": 1, + "displayName": "Spruce wood facing up/down" + }, + { + "metadata": 2, + "displayName": "Birch wood facing up/down" + }, + { + "metadata": 3, + "displayName": "Jungle wood facing up/down" + }, + { + "metadata": 4, + "displayName": "Oak wood facing East/West" + }, + { + "metadata": 5, + "displayName": "Spruce wood facing East/West" + }, + { + "metadata": 6, + "displayName": "Birch wood facing East/West" + }, + { + "metadata": 7, + "displayName": "Jungle wood facing East/West" + }, + { + "metadata": 8, + "displayName": "Oak wood facing North/South" + }, + { + "metadata": 9, + "displayName": "Spruce wood facing North/South" + }, + { + "metadata": 10, + "displayName": "Birch wood facing North/South" + }, + { + "metadata": 11, + "displayName": "Jungle wood facing North/South" + }, + { + "metadata": 12, + "displayName": "Oak wood with only bark" + }, + { + "metadata": 13, + "displayName": "Spruce wood with only bark" + }, + { + "metadata": 14, + "displayName": "Birch wood with only bark" + }, + { + "metadata": 15, + "displayName": "Jungle wood with only bark" + } + ], + "drops": [ + { + "drop": 17 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "leaves", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Leaves" + }, + { + "metadata": 1, + "displayName": "Spruce Leaves" + }, + { + "metadata": 2, + "displayName": "Birch Leaves" + }, + { + "metadata": 3, + "displayName": "Jungle Leaves" + }, + { + "metadata": 4, + "displayName": "Oak Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Spruce Leaves (no decay)" + }, + { + "metadata": 6, + "displayName": "Birch Leaves (no decay)" + }, + { + "metadata": 7, + "displayName": "Jungle Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Oak Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Spruce Leaves (check decay)" + }, + { + "metadata": 10, + "displayName": "Birch Leaves (check decay)" + }, + { + "metadata": 11, + "displayName": "Jungle Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Oak Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Spruce Leaves (no decay and check decay)" + }, + { + "metadata": 14, + "displayName": "Birch Leaves (no decay and check decay)" + }, + { + "metadata": 15, + "displayName": "Jungle Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Sponge" + }, + { + "metadata": 1, + "displayName": "Wet Sponge" + } + ], + "drops": [ + { + "drop": 19 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": { + "id": 351, + "metadata": 4 + }, + "minCount": 4, + "maxCount": 8 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 22 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 23 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth sandstone" + } + ], + "drops": [ + { + "drop": 24 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "noteblock", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 25 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 26, + "displayName": "Bed", + "name": "bed", + "hardness": 0.2, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 26 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "golden_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 27 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 28 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 29 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "web", + "hardness": 4, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "web", + "harvestTools": { + "267": true, + "268": true, + "272": true, + "276": true, + "283": true, + "359": true + }, + "drops": [ + { + "drop": 287 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 31, + "displayName": "Grass", + "name": "tallgrass", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Shrub" + }, + { + "metadata": 1, + "displayName": "Tall Grass" + }, + { + "metadata": 2, + "displayName": "Fern" + } + ], + "drops": [ + { + "drop": 295, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "deadbush", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 32 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 33 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 34, + "displayName": "Piston Head", + "name": "piston_head", + "hardness": 0.5, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 34 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wool", + "variations": [ + { + "metadata": 0, + "displayName": "White Wool" + }, + { + "metadata": 1, + "displayName": "Orange Wool" + }, + { + "metadata": 2, + "displayName": "Magenta Wool" + }, + { + "metadata": 3, + "displayName": "Light blue Wool" + }, + { + "metadata": 4, + "displayName": "Yellow Wool" + }, + { + "metadata": 5, + "displayName": "Lime Wool" + }, + { + "metadata": 6, + "displayName": "Pink Wool" + }, + { + "metadata": 7, + "displayName": "Gray Wool" + }, + { + "metadata": 8, + "displayName": "Light gray Wool" + }, + { + "metadata": 9, + "displayName": "Cyan Wool" + }, + { + "metadata": 10, + "displayName": "Purple Wool" + }, + { + "metadata": 11, + "displayName": "Blue Wool" + }, + { + "metadata": 12, + "displayName": "Brown Wool" + }, + { + "metadata": 13, + "displayName": "Green Wool" + }, + { + "metadata": 14, + "displayName": "Red Wool" + }, + { + "metadata": 15, + "displayName": "Black Wool" + } + ], + "drops": [ + { + "drop": 35 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 36, + "displayName": "Block moved by Piston", + "name": "piston_extension", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [ + { + "drop": 36 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "yellow_flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 37 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 38, + "displayName": "Poppy", + "name": "red_flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Poppy" + }, + { + "metadata": 1, + "displayName": "Blue Orchid" + }, + { + "metadata": 2, + "displayName": "Allium" + }, + { + "metadata": 3, + "displayName": "Azure Bluet" + }, + { + "metadata": 4, + "displayName": "Red Tulip" + }, + { + "metadata": 5, + "displayName": "Orange Tulip" + }, + { + "metadata": 6, + "displayName": "White Tulip" + }, + { + "metadata": 7, + "displayName": "Pink Tulip" + }, + { + "metadata": 8, + "displayName": "Oxeye Daisy" + } + ], + "drops": [ + { + "drop": 38 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 39 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 40 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "gold_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 41 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "iron_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 42 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Stone Slab" + }, + { + "metadata": 1, + "displayName": "Double Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "Double (Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Double Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Double Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Double Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Double Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Double Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Stone Slab" + }, + { + "metadata": 9, + "displayName": "Smooth Double Sandstone Slab" + }, + { + "metadata": 15, + "displayName": "Tile Double Quartz Slab (note the underside)" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone Slab" + }, + { + "metadata": 1, + "displayName": "Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "(Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Upper Stone Slab" + }, + { + "metadata": 9, + "displayName": "Upper Sandstone Slab" + }, + { + "metadata": 10, + "displayName": "Upper (Stone) Wooden Slab" + }, + { + "metadata": 11, + "displayName": "Upper Cobblestone Slab" + }, + { + "metadata": 12, + "displayName": "Upper Bricks Slab" + }, + { + "metadata": 13, + "displayName": "Upper Stone Brick Slab" + }, + { + "metadata": 14, + "displayName": "Upper Nether Brick Slab" + }, + { + "metadata": 15, + "displayName": "Upper Quartz Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "brick_block", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 45 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Drops a TNT item when broken" + }, + { + "metadata": 1, + "displayName": "Activates when broken" + } + ], + "drops": [ + { + "drop": 46 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 340, + "minCount": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "mossy_cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 48 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "278": true + }, + "drops": [ + { + "drop": 49 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Torch facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Torch facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Torch facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Torch facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Torch facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 50 + } + ], + "transparent": true, + "emitLight": 14, + "filterLight": 0 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "mob_spawner", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 52 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 53 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 54 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 55 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 264 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "diamond_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 57 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 58 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 59, + "displayName": "Wheat", + "name": "wheat", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 296 + }, + { + "drop": 295, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "lit_furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 62 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 63, + "displayName": "Standing Sign", + "name": "standing_sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 63 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 64, + "displayName": "Oak Door", + "name": "wooden_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 64 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 65 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 66 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "stone_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 67 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "wall_sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 68 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 69 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 70 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 71, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 71 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 72 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "lit_redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "unlit_redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Redstone Torch (inactive) facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Redstone Torch (inactive) facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Redstone Torch (inactive) facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Redstone Torch (inactive) facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Redstone Torch (inactive) facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 75 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 76, + "displayName": "Redstone Torch (active)", + "name": "redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Redstone Torch (active) facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Redstone Torch (active) facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Redstone Torch (active) facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Redstone Torch (active) facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Redstone Torch (active) facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 76 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 77 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 78, + "displayName": "Snow (layer)", + "name": "snow_layer", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "One layer, 2 pixels thick" + }, + { + "metadata": 1, + "displayName": "Two layers, 4 pixels thick" + }, + { + "metadata": 2, + "displayName": "Three layers, 6 pixels thick" + }, + { + "metadata": 3, + "displayName": "Four layers, 8 pixels thick" + }, + { + "metadata": 4, + "displayName": "Five layers, 10 pixels thick" + }, + { + "metadata": 5, + "displayName": "Six layers, 12 pixels thick" + }, + { + "metadata": 6, + "displayName": "Seven layers, 14 pixels thick" + }, + { + "metadata": 7, + "displayName": "Eight layers, 16 pixels thick" + } + ], + "drops": [ + { + "drop": 332, + "minCount": 2, + "maxCount": 9 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "drops": [ + { + "drop": 332, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 81 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 337, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 83, + "displayName": "Sugar Cane", + "name": "reeds", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 83 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 84, + "displayName": "Jukebox", + "name": "jukebox", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "No disc inserted" + }, + { + "metadata": 1, + "displayName": "Contains a disc" + } + ], + "drops": [ + { + "drop": 84 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 85 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 86 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 87 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 88 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 348, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 90, + "displayName": "Nether Portal", + "name": "portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [ + { + "drop": 90 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "lit_pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 91 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 92, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 93, + "displayName": "Redstone Repeater (inactive)", + "name": "unpowered_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 93 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 94, + "displayName": "Redstone Repeater (active)", + "name": "powered_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 94 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 95, + "displayName": "Stained Glass", + "name": "stained_glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 96 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "hardness": 0.75, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Stone Monster Egg" + }, + { + "metadata": 1, + "displayName": "Cobblestone Monster Egg" + }, + { + "metadata": 2, + "displayName": "Stone Brick Monster Egg" + }, + { + "metadata": 3, + "displayName": "Mossy Stone Brick Monster Egg" + }, + { + "metadata": 4, + "displayName": "Cracked Stone Brick Monster Egg" + }, + { + "metadata": 5, + "displayName": "Chiseled Stone Brick Monster Egg" + } + ], + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 98, + "displayName": "Stone Bricks", + "name": "stonebrick", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone brick" + }, + { + "metadata": 1, + "displayName": "Mossy stone brick" + }, + { + "metadata": 2, + "displayName": "Cracked stone brick" + }, + { + "metadata": 3, + "displayName": "Chiseled stone brick" + } + ], + "drops": [ + { + "drop": 98 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 99, + "displayName": "Brown Mushroom (block)", + "name": "brown_mushroom_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 40, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 100, + "displayName": "Red Mushroom (block)", + "name": "red_mushroom_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 40, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 101 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 360, + "minCount": 3, + "maxCount": 7 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 104 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 105 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vine", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 106 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 107 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 108 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 109 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "waterlily", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 111 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 112 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 113 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 114 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 115, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 372 + }, + { + "drop": 372, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchanting_table", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 116 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 117, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 117 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 118, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 118 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 119, + "displayName": "End Portal", + "name": "end_portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [ + { + "drop": 119 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 120, + "displayName": "End Portal Block", + "name": "end_portal_frame", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 120 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 121 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 122, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 122 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 123, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 123 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 124, + "displayName": "Redstone Lamp (active)", + "name": "lit_redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 124 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 125, + "displayName": "Double Wooden Slab", + "name": "double_wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Double Oak Wood Slab" + }, + { + "metadata": 1, + "displayName": "Double Spruce Wood Slab" + }, + { + "metadata": 2, + "displayName": "Double Birch Wood Slab" + }, + { + "metadata": 3, + "displayName": "Double Jungle Wood Slab" + }, + { + "metadata": 4, + "displayName": "Double Acacia Wood Slab" + }, + { + "metadata": 5, + "displayName": "Double Dark Oak Wood Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 126, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Wood Slab" + }, + { + "metadata": 1, + "displayName": "Spruce Wood Slab" + }, + { + "metadata": 2, + "displayName": "Birch Wood Slab" + }, + { + "metadata": 3, + "displayName": "Jungle Wood Slab" + }, + { + "metadata": 4, + "displayName": "Acacia Wood Slab" + }, + { + "metadata": 5, + "displayName": "Dark Oak Wood Slab" + }, + { + "metadata": 8, + "displayName": "Upper Oak Wood Slab" + }, + { + "metadata": 9, + "displayName": "Upper Spruce Wood Slab" + }, + { + "metadata": 10, + "displayName": "Upper Birch Wood Slab" + }, + { + "metadata": 11, + "displayName": "Upper Jungle Wood Slab" + }, + { + "metadata": 12, + "displayName": "Upper Acacia Wood Slab" + }, + { + "metadata": 13, + "displayName": "Upper Dark Oak Wood Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": { + "id": 351, + "metadata": 3 + } + }, + { + "drop": { + "id": 351, + "metadata": 3 + }, + "minCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 128 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 388 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 130, + "displayName": "Ender Chest", + "name": "ender_chest", + "hardness": 22.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 49, + "minCount": 8 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 131 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 132 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "emerald_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 133 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 134 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 135 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 136 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 137, + "displayName": "Command Block", + "name": "command_block", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 137 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 138, + "displayName": "Beacon", + "name": "beacon", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 138 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Cobblestone Wall" + }, + { + "metadata": 1, + "displayName": "Mossy Cobblestone Wall" + } + ], + "drops": [ + { + "drop": 139 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 140, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Empty Flower Pot" + }, + { + "metadata": 1, + "displayName": "Poppy Flower Pot" + }, + { + "metadata": 2, + "displayName": "Dandelion Flower Pot" + }, + { + "metadata": 3, + "displayName": "Oak sapling Flower Pot" + }, + { + "metadata": 4, + "displayName": "Spruce sapling Flower Pot" + }, + { + "metadata": 5, + "displayName": "Birch sapling Flower Pot" + }, + { + "metadata": 6, + "displayName": "Jungle sapling Flower Pot" + }, + { + "metadata": 7, + "displayName": "Red mushroom Flower Pot" + }, + { + "metadata": 8, + "displayName": "Brown mushroom Flower Pot" + }, + { + "metadata": 9, + "displayName": "Cactus Flower Pot" + }, + { + "metadata": 10, + "displayName": "Dead bush Flower Pot" + }, + { + "metadata": 11, + "displayName": "Fern Flower Pot" + }, + { + "metadata": 12, + "displayName": "Acacia sapling Flower Pot" + }, + { + "metadata": 13, + "displayName": "Dark oak sapling Flower Pot" + } + ], + "drops": [ + { + "drop": 140 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 141 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 142 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 143 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 144, + "displayName": "Mob head", + "name": "skull", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ], + "drops": [ + { + "drop": 144 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Anvil" + }, + { + "metadata": 1, + "displayName": "Slightly Damaged Anvil" + }, + { + "metadata": 2, + "displayName": "Very Damaged Anvil" + }, + { + "metadata": 3, + "displayName": "Anvil (North/South)" + }, + { + "metadata": 4, + "displayName": "Anvil (East/West)" + }, + { + "metadata": 5, + "displayName": "Anvil (South/North)" + }, + { + "metadata": 6, + "displayName": "Anvil (West/East)" + }, + { + "metadata": 7, + "displayName": "Slightly Damaged Anvil (North/South)" + }, + { + "metadata": 8, + "displayName": "Slightly Damaged Anvil (East/West)" + }, + { + "metadata": 9, + "displayName": "Slightly Damaged Anvil (West/East)" + }, + { + "metadata": 10, + "displayName": "Slightly Damaged Anvil (South/North)" + }, + { + "metadata": 11, + "displayName": "Very Damaged Anvil (North/South)" + }, + { + "metadata": 12, + "displayName": "Very Damaged Anvil (East/West)" + }, + { + "metadata": 13, + "displayName": "Very Damaged Anvil (West/East)" + }, + { + "metadata": 14, + "displayName": "Very Damaged Anvil (South/North)" + } + ], + "drops": [ + { + "drop": 145 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 146 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "light_weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 147 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 148, + "displayName": "Weighted Pressure Plate (Heavy)", + "name": "heavy_weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 148 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 149, + "displayName": "Redstone Comparator", + "name": "unpowered_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 149 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 150, + "displayName": "Redstone Comparator (deprecated)", + "name": "powered_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 150 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_detector", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 151 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "redstone_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 152 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "quartz_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 406 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 154, + "displayName": "Hopper", + "name": "hopper", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 154 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "quartz_block", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Block of Quartz" + }, + { + "metadata": 1, + "displayName": "Chiseled Quartz Block" + }, + { + "metadata": 2, + "displayName": "Pillar Quartz Block (vertical)" + }, + { + "metadata": 3, + "displayName": "Pillar Quartz Block (north-south)" + }, + { + "metadata": 4, + "displayName": "Pillar Quartz Block (east-west)" + } + ], + "drops": [ + { + "drop": 155 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 156 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 157, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 157 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 158, + "displayName": "Dropper", + "name": "dropper", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 158 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 159 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 160, + "displayName": "Stained Glass Pane", + "name": "stained_glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 161, + "displayName": "Leaves (Acacia/Dark Oak)", + "name": "leaves2", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "leaves", + "variations": [ + { + "metadata": 0, + "displayName": "Acacia Leaves" + }, + { + "metadata": 1, + "displayName": "Dark Oak Leaves" + }, + { + "metadata": 4, + "displayName": "Acacia Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Dark Oak Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Acacia Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Dark Oak Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Acacia Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Dark Oak Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 162, + "displayName": "Wood (Acacia/Dark Oak)", + "name": "log2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Acacia wood facing up/down" + }, + { + "metadata": 1, + "displayName": "Dark Oak wood facing up/down" + }, + { + "metadata": 4, + "displayName": "Acacia wood facing East/West" + }, + { + "metadata": 5, + "displayName": "Dark Oak wood facing East/West" + }, + { + "metadata": 8, + "displayName": "Acacia wood facing North/South" + }, + { + "metadata": 9, + "displayName": "Dark Oak wood facing North/South" + }, + { + "metadata": 12, + "displayName": "Acacia wood with only bark" + }, + { + "metadata": 13, + "displayName": "Dark Oak wood with only bark" + } + ], + "drops": [ + { + "drop": 162 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 163 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 164 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 165 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 166, + "displayName": "Barrier", + "name": "barrier", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 167 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 168, + "displayName": "Prismarine", + "name": "prismarine", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Prismarine" + }, + { + "metadata": 1, + "displayName": "Prismarine Bricks" + }, + { + "metadata": 2, + "displayName": "Dark Prismarine" + } + ], + "drops": [ + { + "drop": 168 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 169, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 410, + "minCount": 2, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_block", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 170 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "hardness": 0.1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Carpet" + }, + { + "metadata": 1, + "displayName": "Orange Carpet" + }, + { + "metadata": 2, + "displayName": "Magenta Carpet" + }, + { + "metadata": 3, + "displayName": "Light Blue Carpet" + }, + { + "metadata": 4, + "displayName": "Yellow Carpet" + }, + { + "metadata": 5, + "displayName": "Lime Carpet" + }, + { + "metadata": 6, + "displayName": "Pink Carpet" + }, + { + "metadata": 7, + "displayName": "Gray Carpet" + }, + { + "metadata": 8, + "displayName": "Light Gray Carpet" + }, + { + "metadata": 9, + "displayName": "Cyan Carpet" + }, + { + "metadata": 10, + "displayName": "Purple Carpet" + }, + { + "metadata": 11, + "displayName": "Blue Carpet" + }, + { + "metadata": 12, + "displayName": "Brown Carpet" + }, + { + "metadata": 13, + "displayName": "Green Carpet" + }, + { + "metadata": 14, + "displayName": "Red Carpet" + }, + { + "metadata": 15, + "displayName": "Black Carpet" + } + ], + "drops": [ + { + "drop": 171 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 172 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "coal_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 173 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 175, + "displayName": "Large Flowers", + "name": "double_plant", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Sunflower" + }, + { + "metadata": 1, + "displayName": "Lilac" + }, + { + "metadata": 2, + "displayName": "Double Tallgrass" + }, + { + "metadata": 3, + "displayName": "Large Fern" + }, + { + "metadata": 4, + "displayName": "Rose Bush" + }, + { + "metadata": 5, + "displayName": "Peony" + }, + { + "metadata": 8, + "displayName": "Top Half of any Large Plant; low three bits 0x7 are derived from the block below." + } + ], + "drops": [ + { + "drop": 175 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 176, + "displayName": "Standing Banner", + "name": "standing_banner", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 176 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 177, + "displayName": "Wall Banner", + "name": "wall_banner", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 177 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "daylight_detector_inverted", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 178 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 179, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth sandstone" + } + ], + "drops": [ + { + "drop": 179 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 180, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 180 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 181, + "displayName": "Double Red Sandstone Slab", + "name": "double_stone_slab2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Red Sandstone Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Red Sandstone Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 182, + "displayName": "Red Sandstone Slab", + "name": "stone_slab2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Red Sandstone Slab" + }, + { + "metadata": 8, + "displayName": "Upper Red Sandstone Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 183 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 184 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 185 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 186 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 187 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 188, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 188 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 189, + "displayName": "Birch Fence", + "name": "birch_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 189 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 190, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 190 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 191, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 191 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 192, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 192 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 193, + "displayName": "Spruce Door", + "name": "spruce_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 193 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 194, + "displayName": "Birch Door", + "name": "birch_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 194 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 195, + "displayName": "Jungle Door", + "name": "jungle_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 195 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 196, + "displayName": "Acacia Door", + "name": "acacia_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 196 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 197, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 197 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/effects.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/effects.json new file mode 100644 index 00000000..0b885b51 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/effects.json @@ -0,0 +1,140 @@ +[ + { + "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" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/enchantments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/enchantments.json new file mode 100644 index 00000000..2f522a4c --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/enchantments.json @@ -0,0 +1,127 @@ +[ + { + "id": 0, + "name": "protection", + "displayName": "Protection" + }, + { + "id": 1, + "name": "fire_protection", + "displayName": "Fire Protection" + }, + { + "id": 2, + "name": "feather_falling", + "displayName": "Feather Falling" + }, + { + "id": 3, + "name": "blast_protection", + "displayName": "Blast Protection" + }, + { + "id": 4, + "name": "projectile_protection", + "displayName": "Projectile Protection" + }, + { + "id": 5, + "name": "respiration", + "displayName": "Respiration" + }, + { + "id": 6, + "name": "aqua_affinity", + "displayName": "Aqua Affinity" + }, + { + "id": 7, + "name": "thorns", + "displayName": "Thorns" + }, + { + "id": 8, + "name": "depth_strider", + "displayName": "Depth Strider" + }, + { + "id": 16, + "name": "sharpness", + "displayName": "Sharpness" + }, + { + "id": 17, + "name": "smite", + "displayName": "Smite" + }, + { + "id": 18, + "name": "bane_of_arthropods", + "displayName": "Bane of Arthropods" + }, + { + "id": 19, + "name": "knockback", + "displayName": "Knockback" + }, + { + "id": 20, + "name": "fire_aspect", + "displayName": "Fire Aspect" + }, + { + "id": 21, + "name": "looting", + "displayName": "Looting" + }, + { + "id": 32, + "name": "efficiency", + "displayName": "Efficiency" + }, + { + "id": 33, + "name": "silk_touch", + "displayName": "Silk Touch" + }, + { + "id": 34, + "name": "unbreaking", + "displayName": "Unbreaking" + }, + { + "id": 35, + "name": "fortune", + "displayName": "Fortune" + }, + { + "id": 48, + "name": "power", + "displayName": "Power" + }, + { + "id": 49, + "name": "punch", + "displayName": "Punch" + }, + { + "id": 50, + "name": "flame", + "displayName": "Flame" + }, + { + "id": 51, + "name": "infinity", + "displayName": "Infinity" + }, + { + "id": 61, + "name": "luck_of_the_sea", + "displayName": "Luck of the Sea" + }, + { + "id": 62, + "name": "lure", + "displayName": "Lure" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/entities.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/entities.json new file mode 100644 index 00000000..0c3f10eb --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/entities.json @@ -0,0 +1,580 @@ +[ + { + "id": 48, + "internalId": 48, + "name": "Mob", + "displayName": "Mob", + "type": "mob", + "width": null, + "height": null, + "category": "Generic" + }, + { + "id": 49, + "internalId": 49, + "name": "Monster", + "displayName": "Monster", + "type": "mob", + "width": null, + "height": null, + "category": "Generic" + }, + { + "id": 50, + "internalId": 50, + "name": "Creeper", + "displayName": "Creeper", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 51, + "internalId": 51, + "name": "Skeleton", + "displayName": "Skeleton", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 52, + "internalId": 52, + "name": "Spider", + "displayName": "Spider", + "type": "mob", + "width": 1.4, + "height": 0.9, + "category": "Hostile mobs" + }, + { + "id": 53, + "internalId": 53, + "name": "Giant", + "displayName": "Giant", + "type": "mob", + "width": 3.5999999999999996, + "height": 10.8, + "category": "Hostile mobs" + }, + { + "id": 54, + "internalId": 54, + "name": "Zombie", + "displayName": "Zombie", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 55, + "internalId": 55, + "name": "Slime", + "displayName": "Slime", + "type": "mob", + "width": 0.51000005, + "height": 0.51000005, + "category": "Hostile mobs" + }, + { + "id": 56, + "internalId": 56, + "name": "Ghast", + "displayName": "Ghast", + "type": "mob", + "width": 4, + "height": 4, + "category": "Hostile mobs" + }, + { + "id": 57, + "internalId": 57, + "name": "PigZombie", + "displayName": "Zombie Pigman", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 58, + "internalId": 58, + "name": "Enderman", + "displayName": "Enderman", + "type": "mob", + "width": 0.6, + "height": 2.9, + "category": "Hostile mobs" + }, + { + "id": 59, + "internalId": 59, + "name": "CaveSpider", + "displayName": "Cave Spider", + "type": "mob", + "width": 0.7, + "height": 0.5, + "category": "Hostile mobs" + }, + { + "id": 60, + "internalId": 60, + "name": "Silverfish", + "displayName": "Silverfish", + "type": "mob", + "width": 0.4, + "height": 0.3, + "category": "Hostile mobs" + }, + { + "id": 61, + "internalId": 61, + "name": "Blaze", + "displayName": "Blaze", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 62, + "internalId": 62, + "name": "LavaSlime", + "displayName": "Magma Cube", + "type": "mob", + "width": 0.51000005, + "height": 0.51000005, + "category": "Hostile mobs" + }, + { + "id": 63, + "internalId": 63, + "name": "EnderDragon", + "displayName": "Ender Dragon", + "type": "mob", + "width": 16, + "height": 8, + "category": "Hostile mobs" + }, + { + "id": 64, + "internalId": 64, + "name": "WitherBoss", + "displayName": "Wither", + "type": "mob", + "width": 0.9, + "height": 3.5, + "category": "Hostile mobs" + }, + { + "id": 65, + "internalId": 65, + "name": "Bat", + "displayName": "Bat", + "type": "mob", + "width": 0.5, + "height": 0.9, + "category": "Passive mobs" + }, + { + "id": 66, + "internalId": 66, + "name": "Witch", + "displayName": "Witch", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 67, + "internalId": 67, + "name": "Endermite", + "displayName": "Endermite", + "type": "mob", + "width": 0.4, + "height": 0.3, + "category": "Hostile mobs" + }, + { + "id": 68, + "internalId": 68, + "name": "Guardian", + "displayName": "Guardian", + "type": "mob", + "width": 0.85, + "height": 0.85, + "category": "Hostile mobs" + }, + { + "id": 90, + "internalId": 90, + "name": "Pig", + "displayName": "Pig", + "type": "mob", + "width": 0.9, + "height": 0.9, + "category": "Passive mobs" + }, + { + "id": 91, + "internalId": 91, + "name": "Sheep", + "displayName": "Sheep", + "type": "mob", + "width": 0.9, + "height": 1.3, + "category": "Passive mobs" + }, + { + "id": 92, + "internalId": 92, + "name": "Cow", + "displayName": "Cow", + "type": "mob", + "width": 0.9, + "height": 1.3, + "category": "Passive mobs" + }, + { + "id": 93, + "internalId": 93, + "name": "Chicken", + "displayName": "Chicken", + "type": "mob", + "width": 0.4, + "height": 0.7, + "category": "Passive mobs" + }, + { + "id": 94, + "internalId": 94, + "name": "Squid", + "displayName": "Squid", + "type": "mob", + "width": 0.95, + "height": 0.95, + "category": "Passive mobs" + }, + { + "id": 95, + "internalId": 95, + "name": "Wolf", + "displayName": "Wolf", + "type": "mob", + "width": 0.6, + "height": 0.8, + "category": "Passive mobs" + }, + { + "id": 96, + "internalId": 96, + "name": "MushroomCow", + "displayName": "Mooshroom", + "type": "mob", + "width": 0.9, + "height": 1.3, + "category": "Passive mobs" + }, + { + "id": 97, + "internalId": 97, + "name": "SnowMan", + "displayName": "Snow Golem", + "type": "mob", + "width": 0.7, + "height": 1.9, + "category": "Passive mobs" + }, + { + "id": 98, + "internalId": 98, + "name": "Ozelot", + "displayName": "Ocelot", + "type": "mob", + "width": 0.6, + "height": 0.8, + "category": "Passive mobs" + }, + { + "id": 99, + "internalId": 99, + "name": "VillagerGolem", + "displayName": "Iron Golem", + "type": "mob", + "width": 1.4, + "height": 2.9, + "category": "Passive mobs" + }, + { + "id": 100, + "internalId": 100, + "name": "EntityHorse", + "displayName": "Horse", + "type": "mob", + "width": 1.4, + "height": 1.6, + "category": "Passive mobs" + }, + { + "id": 101, + "internalId": 101, + "name": "Rabbit", + "displayName": "Rabbit", + "type": "mob", + "width": 0.6, + "height": 0.7, + "category": "Passive mobs" + }, + { + "id": 120, + "internalId": 120, + "name": "Villager", + "displayName": "Villager", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "NPCs" + }, + { + "id": 1, + "internalId": 41, + "name": "Boat", + "displayName": "Boat", + "type": "object", + "width": 1.5, + "height": 0.6, + "category": "Vehicles" + }, + { + "id": 2, + "internalId": 1, + "name": "Item", + "displayName": "Dropped item", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Drops" + }, + { + "id": 10, + "internalId": 42, + "name": "MinecartRideable", + "displayName": "Minecart", + "type": "object", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 11, + "internalId": 42, + "name": "MinecartRideable", + "displayName": "Minecart", + "type": "object", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 12, + "internalId": 42, + "name": "MinecartRideable", + "displayName": "Minecart", + "type": "object", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 50, + "internalId": 20, + "name": "PrimedTnt", + "displayName": "Primed TNT", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 51, + "internalId": 200, + "name": "EnderCrystal", + "displayName": "Ender Crystal", + "type": "object", + "width": 2, + "height": 2, + "category": "Immobile" + }, + { + "id": 60, + "internalId": 10, + "name": "Arrow", + "displayName": "Shot arrow", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 61, + "internalId": 11, + "name": "Snowball", + "displayName": "Thrown snowball", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 62, + "internalId": 7, + "name": "ThrownEgg", + "displayName": "Thrown egg", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 63, + "internalId": 12, + "name": "Fireball", + "displayName": "Ghast fireball", + "type": "object", + "width": 1, + "height": 1, + "category": "Projectiles" + }, + { + "id": 64, + "internalId": 13, + "name": "SmallFireball", + "displayName": "Blaze fireball", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 65, + "internalId": 14, + "name": "ThrownEnderpearl", + "displayName": "Thrown Ender Pearl", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 66, + "internalId": 19, + "name": "WitherSkull", + "displayName": "Wither Skull", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 70, + "internalId": 21, + "name": "FallingSand", + "displayName": "Falling block", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 71, + "internalId": 18, + "name": "ItemFrame", + "displayName": "Item Frame", + "type": "object", + "width": null, + "height": null, + "category": "Immobile" + }, + { + "id": 72, + "internalId": 15, + "name": "EyeOfEnderSignal", + "displayName": "Thrown Eye of Ender", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 73, + "internalId": 16, + "name": "ThrownPotion", + "displayName": "Thrown splash potion", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 74, + "internalId": 21, + "name": "FallingSand", + "displayName": "Falling block", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 75, + "internalId": 17, + "name": "ThrownExpBottle", + "displayName": "Thrown Bottle o' Enchanting", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 76, + "internalId": 22, + "name": "FireworksRocketEntity", + "displayName": "Firework Rocket", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 77, + "internalId": 8, + "name": "LeashKnot", + "displayName": "Lead knot", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Immobile" + }, + { + "id": 78, + "internalId": 30, + "name": "ArmorStand", + "displayName": "Armor Stand", + "type": "object", + "width": 0.5, + "height": 2, + "category": "Immobile" + }, + { + "id": 90, + "name": "Fishing Float", + "displayName": "Fishing Float", + "type": "object", + "width": 0.25, + "height": 0.25 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/foods.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/foods.json new file mode 100644 index 00000000..13698eaa --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/foods.json @@ -0,0 +1,310 @@ +[ + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "stackSize": 64, + "foodPoints": 3, + "saturation": 4.8, + "effectiveQuality": 7.8, + "saturationRatio": 1.5999999999999999 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.6, + "effectiveQuality": 1.6, + "saturationRatio": 0.6 + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple", + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "porkchop", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop", + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ], + "foodPoints": 4, + "saturation": 9.6, + "effectiveQuality": 13.6, + "saturationRatio": 2.4 + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + } + ], + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake", + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie", + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "beef", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "cooked_beef", + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "chicken", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh", + "foodPoints": 4, + "saturation": 0.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.2 + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye", + "foodPoints": 2, + "saturation": 3.2, + "effectiveQuality": 5.2, + "saturationRatio": 1.6 + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato", + "foodPoints": 5, + "saturation": 7.2, + "effectiveQuality": 12.2, + "saturationRatio": 1.44 + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot", + "foodPoints": 6, + "saturation": 14.4, + "effectiveQuality": 20.4, + "saturationRatio": 2.4 + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie", + "foodPoints": 8, + "saturation": 4.8, + "effectiveQuality": 12.8, + "saturationRatio": 0.6 + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "rabbit", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew", + "foodPoints": 10, + "saturation": 12, + "effectiveQuality": 22, + "saturationRatio": 1.2 + }, + { + "id": 423, + "displayName": "Raw Mutton", + "stackSize": 64, + "name": "mutton", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 424, + "displayName": "Cooked Mutton", + "stackSize": 64, + "name": "cooked_mutton", + "foodPoints": 6, + "saturation": 9.6, + "effectiveQuality": 15.6, + "saturationRatio": 1.5999999999999999 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/instruments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/instruments.json new file mode 100644 index 00000000..d877f189 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/instruments.json @@ -0,0 +1,22 @@ +[ + { + "id": 0, + "name": "harp" + }, + { + "id": 1, + "name": "doubleBass" + }, + { + "id": 2, + "name": "snareDrum" + }, + { + "id": 3, + "name": "sticks" + }, + { + "id": 4, + "name": "bassDrum" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/items.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/items.json new file mode 100644 index 00000000..4c8b528d --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/items.json @@ -0,0 +1,2400 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 64 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "planks", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Water", + "name": "flowing_water", + "stackSize": 64 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Lava", + "name": "flowing_lava", + "stackSize": 64 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Wood", + "name": "log", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "noteblock", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "golden_rail", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "web", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Grass", + "name": "tallgrass", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "deadbush", + "stackSize": 64 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "stackSize": 64 + }, + { + "id": 34, + "displayName": "Piston Head", + "name": "piston_head", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "stackSize": 64 + }, + { + "id": 36, + "displayName": "Block moved by Piston", + "name": "piston_extension", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "yellow_flower", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Poppy", + "name": "red_flower", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "gold_block", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "iron_block", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "brick_block", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "mossy_cobblestone", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "mob_spawner", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_stairs", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "diamond_block", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "lit_furnace", + "stackSize": 64 + }, + { + "id": 63, + "displayName": "Standing Sign", + "name": "standing_sign", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "stone_stairs", + "stackSize": 64 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "wall_sign", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "lit_redstone_ore", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "unlit_redstone_torch", + "stackSize": 64 + }, + { + "id": 76, + "displayName": "Redstone Torch (active)", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Snow (layer)", + "name": "snow_layer", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "stackSize": 64 + }, + { + "id": 84, + "displayName": "Jukebox", + "name": "jukebox", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Nether Portal", + "name": "portal", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "lit_pumpkin", + "stackSize": 64 + }, + { + "id": 93, + "displayName": "Redstone Repeater (inactive)", + "name": "unpowered_repeater", + "stackSize": 64 + }, + { + "id": 94, + "displayName": "Redstone Repeater (active)", + "name": "powered_repeater", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "Stained Glass", + "name": "stained_glass", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Stone Bricks", + "name": "stonebrick", + "stackSize": 64 + }, + { + "id": 99, + "displayName": "Brown Mushroom (block)", + "name": "brown_mushroom_block", + "stackSize": 64 + }, + { + "id": 100, + "displayName": "Red Mushroom (block)", + "name": "red_mushroom_block", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vine", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "waterlily", + "stackSize": 64 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchanting_table", + "stackSize": 64 + }, + { + "id": 119, + "displayName": "End Portal", + "name": "end_portal", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "End Portal Block", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 122, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "stackSize": 64 + }, + { + "id": 123, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 124, + "displayName": "Redstone Lamp (active)", + "name": "lit_redstone_lamp", + "stackSize": 64 + }, + { + "id": 125, + "displayName": "Double Wooden Slab", + "name": "double_wooden_slab", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 130, + "displayName": "Ender Chest", + "name": "ender_chest", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "emerald_block", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_stairs", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_stairs", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_stairs", + "stackSize": 64 + }, + { + "id": 137, + "displayName": "Command Block", + "name": "command_block", + "stackSize": 64 + }, + { + "id": 138, + "displayName": "Beacon", + "name": "beacon", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "stackSize": 64 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "light_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 148, + "displayName": "Weighted Pressure Plate (Heavy)", + "name": "heavy_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 149, + "displayName": "Redstone Comparator", + "name": "unpowered_comparator", + "stackSize": 64 + }, + { + "id": 150, + "displayName": "Redstone Comparator (deprecated)", + "name": "powered_comparator", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_detector", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "redstone_block", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "quartz_ore", + "stackSize": 64 + }, + { + "id": 154, + "displayName": "Hopper", + "name": "hopper", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "quartz_block", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_hardened_clay", + "stackSize": 64 + }, + { + "id": 160, + "displayName": "Stained Glass Pane", + "name": "stained_glass_pane", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Leaves (Acacia/Dark Oak)", + "name": "leaves2", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Wood (Acacia/Dark Oak)", + "name": "log2", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_stairs", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_stairs", + "stackSize": 64 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime", + "stackSize": 64 + }, + { + "id": 166, + "displayName": "Barrier", + "name": "barrier", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 168, + "displayName": "Prismarine", + "name": "prismarine", + "stackSize": 64 + }, + { + "id": 169, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_block", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "coal_block", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Large Flowers", + "name": "double_plant", + "stackSize": 64 + }, + { + "id": 176, + "displayName": "Standing Banner", + "name": "standing_banner", + "stackSize": 64 + }, + { + "id": 177, + "displayName": "Wall Banner", + "name": "wall_banner", + "stackSize": 64 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "daylight_detector_inverted", + "stackSize": 64 + }, + { + "id": 179, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "stackSize": 64 + }, + { + "id": 180, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 181, + "displayName": "Double Red Sandstone Slab", + "name": "double_stone_slab2", + "stackSize": 64 + }, + { + "id": 182, + "displayName": "Red Sandstone Slab", + "name": "stone_slab2", + "stackSize": 64 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64 + }, + { + "id": 188, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "stackSize": 64 + }, + { + "id": 189, + "displayName": "Birch Fence", + "name": "birch_fence", + "stackSize": 64 + }, + { + "id": 190, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "stackSize": 64 + }, + { + "id": 191, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "stackSize": 64 + }, + { + "id": 192, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Iron Shovel", + "stackSize": 1, + "name": "iron_shovel" + }, + { + "id": 257, + "displayName": "Iron Pickaxe", + "stackSize": 1, + "name": "iron_pickaxe" + }, + { + "id": 258, + "displayName": "Iron Axe", + "stackSize": 1, + "name": "iron_axe" + }, + { + "id": 259, + "displayName": "Flint and Steel", + "stackSize": 1, + "name": "flint_and_steel" + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple" + }, + { + "id": 261, + "displayName": "Bow", + "stackSize": 1, + "name": "bow" + }, + { + "id": 262, + "displayName": "Arrow", + "stackSize": 64, + "name": "arrow" + }, + { + "id": 263, + "displayName": "Coal", + "stackSize": 64, + "name": "coal", + "variations": [ + { + "metadata": 0, + "displayName": "Coal" + }, + { + "metadata": 1, + "displayName": "Charcoal" + } + ] + }, + { + "id": 264, + "displayName": "Diamond", + "stackSize": 64, + "name": "diamond" + }, + { + "id": 265, + "displayName": "Iron Ingot", + "stackSize": 64, + "name": "iron_ingot" + }, + { + "id": 266, + "displayName": "Gold Ingot", + "stackSize": 64, + "name": "gold_ingot" + }, + { + "id": 267, + "displayName": "Iron Sword", + "stackSize": 1, + "name": "iron_sword" + }, + { + "id": 268, + "displayName": "Wooden Sword", + "stackSize": 1, + "name": "wooden_sword" + }, + { + "id": 269, + "displayName": "Wooden Shovel", + "stackSize": 1, + "name": "wooden_shovel" + }, + { + "id": 270, + "displayName": "Wooden Pickaxe", + "stackSize": 1, + "name": "wooden_pickaxe" + }, + { + "id": 271, + "displayName": "Wooden Axe", + "stackSize": 1, + "name": "wooden_axe" + }, + { + "id": 272, + "displayName": "Stone Sword", + "stackSize": 1, + "name": "stone_sword" + }, + { + "id": 273, + "displayName": "Stone Shovel", + "stackSize": 1, + "name": "stone_shovel" + }, + { + "id": 274, + "displayName": "Stone Pickaxe", + "stackSize": 1, + "name": "stone_pickaxe" + }, + { + "id": 275, + "displayName": "Stone Axe", + "stackSize": 1, + "name": "stone_axe" + }, + { + "id": 276, + "displayName": "Diamond Sword", + "stackSize": 1, + "name": "diamond_sword" + }, + { + "id": 277, + "displayName": "Diamond Shovel", + "stackSize": 1, + "name": "diamond_shovel" + }, + { + "id": 278, + "displayName": "Diamond Pickaxe", + "stackSize": 1, + "name": "diamond_pickaxe" + }, + { + "id": 279, + "displayName": "Diamond Axe", + "stackSize": 1, + "name": "diamond_axe" + }, + { + "id": 280, + "displayName": "Stick", + "stackSize": 64, + "name": "stick" + }, + { + "id": 281, + "displayName": "Bowl", + "stackSize": 64, + "name": "bowl" + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew" + }, + { + "id": 283, + "displayName": "Golden Sword", + "stackSize": 1, + "name": "golden_sword" + }, + { + "id": 284, + "displayName": "Golden Shovel", + "stackSize": 1, + "name": "golden_shovel" + }, + { + "id": 285, + "displayName": "Golden Pickaxe", + "stackSize": 1, + "name": "golden_pickaxe" + }, + { + "id": 286, + "displayName": "Golden Axe", + "stackSize": 1, + "name": "golden_axe" + }, + { + "id": 287, + "displayName": "String", + "stackSize": 64, + "name": "string" + }, + { + "id": 288, + "displayName": "Feather", + "stackSize": 64, + "name": "feather" + }, + { + "id": 289, + "displayName": "Gunpowder", + "stackSize": 64, + "name": "gunpowder" + }, + { + "id": 290, + "displayName": "Wooden Hoe", + "stackSize": 1, + "name": "wooden_hoe" + }, + { + "id": 291, + "displayName": "Stone Hoe", + "stackSize": 1, + "name": "stone_hoe" + }, + { + "id": 292, + "displayName": "Iron Hoe", + "stackSize": 1, + "name": "iron_hoe" + }, + { + "id": 293, + "displayName": "Diamond Hoe", + "stackSize": 1, + "name": "diamond_hoe" + }, + { + "id": 294, + "displayName": "Golden Hoe", + "stackSize": 1, + "name": "golden_hoe" + }, + { + "id": 295, + "displayName": "Seeds", + "stackSize": 64, + "name": "wheat_seeds" + }, + { + "id": 296, + "displayName": "Wheat", + "stackSize": 64, + "name": "wheat" + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread" + }, + { + "id": 298, + "displayName": "Leather Cap", + "stackSize": 1, + "name": "leather_helmet" + }, + { + "id": 299, + "displayName": "Leather Tunic", + "stackSize": 1, + "name": "leather_chestplate" + }, + { + "id": 300, + "displayName": "Leather Pants", + "stackSize": 1, + "name": "leather_leggings" + }, + { + "id": 301, + "displayName": "Leather Boots", + "stackSize": 1, + "name": "leather_boots" + }, + { + "id": 302, + "displayName": "Chain Helmet", + "stackSize": 1, + "name": "chainmail_helmet" + }, + { + "id": 303, + "displayName": "Chain Chestplate", + "stackSize": 1, + "name": "chainmail_chestplate" + }, + { + "id": 304, + "displayName": "Chain Leggings", + "stackSize": 1, + "name": "chainmail_leggings" + }, + { + "id": 305, + "displayName": "Chain Boots", + "stackSize": 1, + "name": "chainmail_boots" + }, + { + "id": 306, + "displayName": "Iron Helmet", + "stackSize": 1, + "name": "iron_helmet" + }, + { + "id": 307, + "displayName": "Iron Chestplate", + "stackSize": 1, + "name": "iron_chestplate" + }, + { + "id": 308, + "displayName": "Iron Leggings", + "stackSize": 1, + "name": "iron_leggings" + }, + { + "id": 309, + "displayName": "Iron Boots", + "stackSize": 1, + "name": "iron_boots" + }, + { + "id": 310, + "displayName": "Diamond Helmet", + "stackSize": 1, + "name": "diamond_helmet" + }, + { + "id": 311, + "displayName": "Diamond Chestplate", + "stackSize": 1, + "name": "diamond_chestplate" + }, + { + "id": 312, + "displayName": "Diamond Leggings", + "stackSize": 1, + "name": "diamond_leggings" + }, + { + "id": 313, + "displayName": "Diamond Boots", + "stackSize": 1, + "name": "diamond_boots" + }, + { + "id": 314, + "displayName": "Golden Helmet", + "stackSize": 1, + "name": "golden_helmet" + }, + { + "id": 315, + "displayName": "Golden Chestplate", + "stackSize": 1, + "name": "golden_chestplate" + }, + { + "id": 316, + "displayName": "Golden Leggings", + "stackSize": 1, + "name": "golden_leggings" + }, + { + "id": 317, + "displayName": "Golden Boots", + "stackSize": 1, + "name": "golden_boots" + }, + { + "id": 318, + "displayName": "Flint", + "stackSize": 64, + "name": "flint" + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "porkchop" + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop" + }, + { + "id": 321, + "displayName": "Painting", + "stackSize": 64, + "name": "painting" + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ] + }, + { + "id": 323, + "displayName": "Sign", + "stackSize": 16, + "name": "sign" + }, + { + "id": 324, + "displayName": "Oak Door", + "stackSize": 64, + "name": "wooden_door" + }, + { + "id": 325, + "displayName": "Bucket", + "stackSize": 16, + "name": "bucket" + }, + { + "id": 326, + "displayName": "Water Bucket", + "stackSize": 64, + "name": "water_bucket" + }, + { + "id": 327, + "displayName": "Lava Bucket", + "stackSize": 64, + "name": "lava_bucket" + }, + { + "id": 328, + "displayName": "Minecart", + "stackSize": 1, + "name": "minecart" + }, + { + "id": 329, + "displayName": "Saddle", + "stackSize": 1, + "name": "saddle" + }, + { + "id": 330, + "displayName": "Iron Door", + "stackSize": 64, + "name": "iron_door" + }, + { + "id": 331, + "displayName": "Redstone", + "stackSize": 64, + "name": "redstone" + }, + { + "id": 332, + "displayName": "Snowball", + "stackSize": 16, + "name": "snowball" + }, + { + "id": 333, + "displayName": "Boat", + "stackSize": 1, + "name": "boat" + }, + { + "id": 334, + "displayName": "Leather", + "stackSize": 64, + "name": "leather" + }, + { + "id": 335, + "displayName": "Milk", + "stackSize": 1, + "name": "milk_bucket" + }, + { + "id": 336, + "displayName": "Brick", + "stackSize": 64, + "name": "brick" + }, + { + "id": 337, + "displayName": "Clay", + "stackSize": 64, + "name": "clay_ball" + }, + { + "id": 338, + "displayName": "Sugar Cane", + "stackSize": 64, + "name": "reeds" + }, + { + "id": 339, + "displayName": "Paper", + "stackSize": 64, + "name": "paper" + }, + { + "id": 340, + "displayName": "Book", + "stackSize": 64, + "name": "book" + }, + { + "id": 341, + "displayName": "Slimeball", + "stackSize": 64, + "name": "slime_ball" + }, + { + "id": 342, + "displayName": "Minecart with Chest", + "stackSize": 1, + "name": "chest_minecart" + }, + { + "id": 343, + "displayName": "Minecart with Furnace", + "stackSize": 1, + "name": "furnace_minecart" + }, + { + "id": 344, + "displayName": "Egg", + "stackSize": 16, + "name": "egg" + }, + { + "id": 345, + "displayName": "Compass", + "stackSize": 64, + "name": "compass" + }, + { + "id": 346, + "displayName": "Fishing Rod", + "stackSize": 1, + "name": "fishing_rod" + }, + { + "id": 347, + "displayName": "Clock", + "stackSize": 64, + "name": "clock" + }, + { + "id": 348, + "displayName": "Glowstone Dust", + "stackSize": 64, + "name": "glowstone_dust" + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + } + ] + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish" + }, + { + "id": 351, + "displayName": "Dye", + "stackSize": 64, + "name": "dye", + "variations": [ + { + "metadata": 0, + "displayName": "Ink Sac" + }, + { + "metadata": 1, + "displayName": "Rose Red" + }, + { + "metadata": 2, + "displayName": "Cactus Green" + }, + { + "metadata": 3, + "displayName": "Cocoa Beans" + }, + { + "metadata": 4, + "displayName": "Lapis Lazuli" + }, + { + "metadata": 5, + "displayName": "Purple Dye" + }, + { + "metadata": 6, + "displayName": "Cyan Dye" + }, + { + "metadata": 7, + "displayName": "Light Gray Dye" + }, + { + "metadata": 8, + "displayName": "Gray Dye" + }, + { + "metadata": 9, + "displayName": "Pink Dye" + }, + { + "metadata": 10, + "displayName": "Lime Dye" + }, + { + "metadata": 11, + "displayName": "Dandelion Yellow" + }, + { + "metadata": 12, + "displayName": "Light Blue Dye" + }, + { + "metadata": 13, + "displayName": "Magenta Dye" + }, + { + "metadata": 14, + "displayName": "Orange Dye" + }, + { + "metadata": 15, + "displayName": "Bone Meal" + } + ] + }, + { + "id": 352, + "displayName": "Bone", + "stackSize": 64, + "name": "bone" + }, + { + "id": 353, + "displayName": "Sugar", + "stackSize": 64, + "name": "sugar" + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake" + }, + { + "id": 355, + "displayName": "Bed", + "stackSize": 1, + "name": "bed" + }, + { + "id": 356, + "displayName": "Redstone Repeater", + "stackSize": 64, + "name": "repeater" + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie" + }, + { + "id": 358, + "displayName": "Map", + "stackSize": 64, + "name": "filled_map" + }, + { + "id": 359, + "displayName": "Shears", + "stackSize": 1, + "name": "shears" + }, + { + "id": 360, + "displayName": "Melon", + "stackSize": 64, + "name": "melon" + }, + { + "id": 361, + "displayName": "Pumpkin Seeds", + "stackSize": 64, + "name": "pumpkin_seeds" + }, + { + "id": 362, + "displayName": "Melon Seeds", + "stackSize": 64, + "name": "melon_seeds" + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "beef" + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "cooked_beef" + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "chicken" + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken" + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh" + }, + { + "id": 368, + "displayName": "Ender Pearl", + "stackSize": 16, + "name": "ender_pearl" + }, + { + "id": 369, + "displayName": "Blaze Rod", + "stackSize": 64, + "name": "blaze_rod" + }, + { + "id": 370, + "displayName": "Ghast Tear", + "stackSize": 64, + "name": "ghast_tear" + }, + { + "id": 371, + "displayName": "Gold Nugget", + "stackSize": 64, + "name": "gold_nugget" + }, + { + "id": 372, + "displayName": "Nether Wart", + "stackSize": 64, + "name": "nether_wart" + }, + { + "id": 373, + "displayName": "Potion", + "stackSize": 1, + "name": "potion" + }, + { + "id": 374, + "displayName": "Glass Bottle", + "stackSize": 64, + "name": "glass_bottle" + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye" + }, + { + "id": 376, + "displayName": "Fermented Spider Eye", + "stackSize": 64, + "name": "fermented_spider_eye" + }, + { + "id": 377, + "displayName": "Blaze Powder", + "stackSize": 64, + "name": "blaze_powder" + }, + { + "id": 378, + "displayName": "Magma Cream", + "stackSize": 64, + "name": "magma_cream" + }, + { + "id": 379, + "displayName": "Brewing Stand", + "stackSize": 64, + "name": "brewing_stand" + }, + { + "id": 380, + "displayName": "Cauldron", + "stackSize": 64, + "name": "cauldron" + }, + { + "id": 381, + "displayName": "Eye of Ender", + "stackSize": 64, + "name": "ender_eye" + }, + { + "id": 382, + "displayName": "Glistering Melon", + "stackSize": 64, + "name": "speckled_melon" + }, + { + "id": 383, + "displayName": "Spawn Egg", + "stackSize": 64, + "name": "spawn_egg" + }, + { + "id": 384, + "displayName": "Bottle o' Enchanting", + "stackSize": 64, + "name": "experience_bottle" + }, + { + "id": 385, + "displayName": "Fire Charge", + "stackSize": 64, + "name": "fire_charge" + }, + { + "id": 386, + "displayName": "Book and Quill", + "stackSize": 1, + "name": "writable_book" + }, + { + "id": 387, + "displayName": "Written Book", + "stackSize": 16, + "name": "written_book" + }, + { + "id": 388, + "displayName": "Emerald", + "stackSize": 64, + "name": "emerald" + }, + { + "id": 389, + "displayName": "Item Frame", + "stackSize": 64, + "name": "item_frame" + }, + { + "id": 390, + "displayName": "Flower Pot", + "stackSize": 64, + "name": "flower_pot", + "variations": [ + { + "metadata": 0, + "displayName": "Empty Flower Pot" + }, + { + "metadata": 1, + "displayName": "Poppy Flower Pot" + }, + { + "metadata": 2, + "displayName": "Dandelion Flower Pot" + }, + { + "metadata": 3, + "displayName": "Oak sapling Flower Pot" + }, + { + "metadata": 4, + "displayName": "Spruce sapling Flower Pot" + }, + { + "metadata": 5, + "displayName": "Birch sapling Flower Pot" + }, + { + "metadata": 6, + "displayName": "Jungle sapling Flower Pot" + }, + { + "metadata": 7, + "displayName": "Red mushroom Flower Pot" + }, + { + "metadata": 8, + "displayName": "Brown mushroom Flower Pot" + }, + { + "metadata": 9, + "displayName": "Cactus Flower Pot" + }, + { + "metadata": 10, + "displayName": "Dead bush Flower Pot" + }, + { + "metadata": 11, + "displayName": "Fern Flower Pot" + }, + { + "metadata": 12, + "displayName": "Acacia sapling Flower Pot" + }, + { + "metadata": 13, + "displayName": "Dark oak sapling Flower Pot" + } + ] + }, + { + "id": 391, + "displayName": "Carrot", + "stackSize": 64, + "name": "carrot" + }, + { + "id": 392, + "displayName": "Potato", + "stackSize": 64, + "name": "potato" + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato" + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato" + }, + { + "id": 395, + "displayName": "Empty Map", + "stackSize": 64, + "name": "map" + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot" + }, + { + "id": 397, + "displayName": "Mob head", + "stackSize": 64, + "name": "skull", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ] + }, + { + "id": 398, + "displayName": "Carrot on a Stick", + "stackSize": 1, + "name": "carrot_on_a_stick" + }, + { + "id": 399, + "displayName": "Nether Star", + "stackSize": 64, + "name": "nether_star" + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie" + }, + { + "id": 401, + "displayName": "Firework Rocket", + "stackSize": 64, + "name": "fireworks" + }, + { + "id": 402, + "displayName": "Firework Star", + "stackSize": 64, + "name": "firework_charge" + }, + { + "id": 403, + "displayName": "Enchanted Book", + "stackSize": 1, + "name": "enchanted_book" + }, + { + "id": 404, + "displayName": "Redstone Comparator", + "stackSize": 64, + "name": "comparator" + }, + { + "id": 405, + "displayName": "Nether Brick", + "stackSize": 64, + "name": "netherbrick" + }, + { + "id": 406, + "displayName": "Nether Quartz", + "stackSize": 64, + "name": "quartz" + }, + { + "id": 407, + "displayName": "Minecart with TNT", + "stackSize": 1, + "name": "tnt_minecart" + }, + { + "id": 408, + "displayName": "Minecart with Hopper", + "stackSize": 1, + "name": "hopper_minecart" + }, + { + "id": 409, + "displayName": "Prismarine Shard", + "stackSize": 64, + "name": "prismarine_shard" + }, + { + "id": 410, + "displayName": "Prismarine Crystals", + "stackSize": 64, + "name": "prismarine_crystals" + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "rabbit" + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit" + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew" + }, + { + "id": 414, + "displayName": "Rabbit's Foot", + "stackSize": 64, + "name": "rabbit_foot" + }, + { + "id": 415, + "displayName": "Rabbit Hide", + "stackSize": 64, + "name": "rabbit_hide" + }, + { + "id": 416, + "displayName": "Armor Stand", + "stackSize": 16, + "name": "armor_stand" + }, + { + "id": 417, + "displayName": "Iron Horse Armor", + "stackSize": 1, + "name": "iron_horse_armor" + }, + { + "id": 418, + "displayName": "Golden Horse Armor", + "stackSize": 1, + "name": "golden_horse_armor" + }, + { + "id": 419, + "displayName": "Diamond Horse Armor", + "stackSize": 1, + "name": "diamond_horse_armor" + }, + { + "id": 420, + "displayName": "Lead", + "stackSize": 64, + "name": "lead" + }, + { + "id": 421, + "displayName": "Name Tag", + "stackSize": 64, + "name": "name_tag" + }, + { + "id": 422, + "displayName": "Minecart with Command Block", + "stackSize": 1, + "name": "command_block_minecart" + }, + { + "id": 423, + "displayName": "Raw Mutton", + "stackSize": 64, + "name": "mutton" + }, + { + "id": 424, + "displayName": "Cooked Mutton", + "stackSize": 64, + "name": "cooked_mutton" + }, + { + "id": 425, + "displayName": "Banner", + "stackSize": 16, + "name": "banner" + }, + { + "id": 427, + "displayName": "Spruce Door", + "stackSize": 64, + "name": "spruce_door" + }, + { + "id": 428, + "displayName": "Birch Door", + "stackSize": 64, + "name": "birch_door" + }, + { + "id": 429, + "displayName": "Jungle Door", + "stackSize": 64, + "name": "jungle_door" + }, + { + "id": 430, + "displayName": "Acacia Door", + "stackSize": 64, + "name": "acacia_door" + }, + { + "id": 431, + "displayName": "Dark Oak Door", + "stackSize": 64, + "name": "dark_oak_door" + }, + { + "id": 2256, + "displayName": "13 Disc", + "stackSize": 1, + "name": "record_13" + }, + { + "id": 2257, + "displayName": "Cat Disc", + "stackSize": 1, + "name": "record_cat" + }, + { + "id": 2258, + "displayName": "Blocks Disc", + "stackSize": 1, + "name": "record_blocks" + }, + { + "id": 2259, + "displayName": "Chirp Disc", + "stackSize": 1, + "name": "record_chirp" + }, + { + "id": 2260, + "displayName": "Far Disc", + "stackSize": 1, + "name": "record_far" + }, + { + "id": 2261, + "displayName": "Mall Disc", + "stackSize": 1, + "name": "record_mall" + }, + { + "id": 2262, + "displayName": "Mellohi Disc", + "stackSize": 1, + "name": "record_mellohi" + }, + { + "id": 2263, + "displayName": "Stal Disc", + "stackSize": 1, + "name": "record_stal" + }, + { + "id": 2264, + "displayName": "Strad Disc", + "stackSize": 1, + "name": "record_strad" + }, + { + "id": 2265, + "displayName": "Ward Disc", + "stackSize": 1, + "name": "record_ward" + }, + { + "id": 2266, + "displayName": "11 Disc", + "stackSize": 1, + "name": "record_11" + }, + { + "id": 2267, + "displayName": "Wait Disc", + "stackSize": 1, + "name": "record_wait" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/language.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/language.json new file mode 100644 index 00000000..50aa365a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/language.json @@ -0,0 +1,2552 @@ +{ + "language.name": "English", + "language.region": "US", + "language.code": "en_US", + "gui.done": "Done", + "gui.cancel": "Cancel", + "gui.back": "Back", + "gui.toTitle": "Back to title screen", + "gui.toMenu": "Back to server list", + "gui.up": "Up", + "gui.down": "Down", + "gui.yes": "Yes", + "gui.no": "No", + "gui.none": "None", + "gui.all": "All", + "translation.test.none": "Hello, world!", + "translation.test.complex": "Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!", + "translation.test.escape": "%%s %%%s %%%%s %%%%%s", + "translation.test.invalid": "hi %", + "translation.test.invalid2": "hi % s", + "translation.test.args": "%s %s", + "translation.test.world": "world", + "menu.game": "Game menu", + "menu.singleplayer": "Singleplayer", + "menu.multiplayer": "Multiplayer", + "menu.online": "Minecraft Realms", + "menu.options": "Options...", + "menu.quit": "Quit Game", + "menu.returnToMenu": "Save and Quit to Title", + "menu.disconnect": "Disconnect", + "menu.returnToGame": "Back to Game", + "menu.switchingLevel": "Switching worlds", + "menu.generatingLevel": "Generating world", + "menu.loadingLevel": "Loading world", + "menu.generatingTerrain": "Building terrain", + "menu.convertingLevel": "Converting world", + "menu.simulating": "Simulating the world for a bit", + "menu.respawning": "Respawning", + "menu.shareToLan": "Open to LAN", + "selectWorld.title": "Select World", + "selectWorld.empty": "empty", + "selectWorld.world": "World", + "selectWorld.select": "Play Selected World", + "selectWorld.create": "Create New World", + "selectWorld.recreate": "Re-Create", + "selectWorld.createDemo": "Play New Demo World", + "selectWorld.delete": "Delete", + "selectWorld.rename": "Rename", + "selectWorld.deleteQuestion": "Are you sure you want to delete this world?", + "selectWorld.deleteWarning": "will be lost forever! (A long time!)", + "selectWorld.deleteButton": "Delete", + "selectWorld.renameButton": "Rename", + "selectWorld.renameTitle": "Rename World", + "selectWorld.conversion": "Must be converted!", + "selectWorld.newWorld": "New World", + "selectWorld.newWorld.copyOf": "Copy of %s", + "selectWorld.enterName": "World Name", + "selectWorld.resultFolder": "Will be saved in:", + "selectWorld.enterSeed": "Seed for the World Generator", + "selectWorld.seedInfo": "Leave blank for a random seed", + "selectWorld.cheats": "Cheats", + "selectWorld.customizeType": "Customize", + "createWorld.customize.presets": "Presets", + "createWorld.customize.presets.title": "Select a Preset", + "createWorld.customize.presets.select": "Use Preset", + "createWorld.customize.presets.share": "Want to share your preset with someone? Use the below box!", + "createWorld.customize.presets.list": "Alternatively, here's some we made earlier!", + "createWorld.customize.flat.title": "Superflat Customization", + "createWorld.customize.flat.tile": "Layer Material", + "createWorld.customize.flat.height": "Height", + "createWorld.customize.flat.addLayer": "Add Layer", + "createWorld.customize.flat.editLayer": "Edit Layer", + "createWorld.customize.flat.removeLayer": "Remove Layer", + "createWorld.customize.flat.layer.top": "Top - %d", + "createWorld.customize.flat.layer": "%d", + "createWorld.customize.flat.layer.bottom": "Bottom - %d", + "createWorld.customize.custom.page0": "Basic Settings", + "createWorld.customize.custom.page1": "Ore Settings", + "createWorld.customize.custom.page2": "Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.page3": "Extra Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.randomize": "Randomize", + "createWorld.customize.custom.prev": "Previous Page", + "createWorld.customize.custom.next": "Next Page", + "createWorld.customize.custom.defaults": "Defaults", + "createWorld.customize.custom.confirm1": "This will overwrite your current", + "createWorld.customize.custom.confirm2": "settings and cannot be undone.", + "createWorld.customize.custom.confirmTitle": "Warning!", + "createWorld.customize.custom.mainNoiseScaleX": "Main Noise Scale X", + "createWorld.customize.custom.mainNoiseScaleY": "Main Noise Scale Y", + "createWorld.customize.custom.mainNoiseScaleZ": "Main Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleX": "Depth Noise Scale X", + "createWorld.customize.custom.depthNoiseScaleZ": "Depth Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleExponent": "Depth Noise Exponent", + "createWorld.customize.custom.baseSize": "Depth Base Size", + "createWorld.customize.custom.coordinateScale": "Coordinate Scale", + "createWorld.customize.custom.heightScale": "Height Scale", + "createWorld.customize.custom.stretchY": "Height Stretch", + "createWorld.customize.custom.upperLimitScale": "Upper Limit Scale", + "createWorld.customize.custom.lowerLimitScale": "Lower Limit Scale", + "createWorld.customize.custom.biomeDepthWeight": "Biome Depth Weight", + "createWorld.customize.custom.biomeDepthOffset": "Biome Depth Offset", + "createWorld.customize.custom.biomeScaleWeight": "Biome Scale Weight", + "createWorld.customize.custom.biomeScaleOffset": "Biome Scale Offset", + "createWorld.customize.custom.seaLevel": "Sea Level", + "createWorld.customize.custom.useCaves": "Caves", + "createWorld.customize.custom.useStrongholds": "Strongholds", + "createWorld.customize.custom.useVillages": "Villages", + "createWorld.customize.custom.useMineShafts": "Mineshafts", + "createWorld.customize.custom.useTemples": "Temples", + "createWorld.customize.custom.useMonuments": "Ocean Monuments", + "createWorld.customize.custom.useRavines": "Ravines", + "createWorld.customize.custom.useDungeons": "Dungeons", + "createWorld.customize.custom.dungeonChance": "Dungeon Count", + "createWorld.customize.custom.useWaterLakes": "Water Lakes", + "createWorld.customize.custom.waterLakeChance": "Water Lake Rarity", + "createWorld.customize.custom.useLavaLakes": "Lava Lakes", + "createWorld.customize.custom.lavaLakeChance": "Lava Lake Rarity", + "createWorld.customize.custom.useLavaOceans": "Lava Oceans", + "createWorld.customize.custom.fixedBiome": "Biome", + "createWorld.customize.custom.biomeSize": "Biome Size", + "createWorld.customize.custom.riverSize": "River Size", + "createWorld.customize.custom.size": " Spawn Size", + "createWorld.customize.custom.count": " Spawn Tries", + "createWorld.customize.custom.minHeight": " Min. Height", + "createWorld.customize.custom.maxHeight": " Max. Height", + "createWorld.customize.custom.center": " Center Height", + "createWorld.customize.custom.spread": " Spread Height", + "createWorld.customize.custom.presets.title": "Customize World Presets", + "createWorld.customize.custom.presets": "Presets", + "createWorld.customize.custom.preset.waterWorld": "Water World", + "createWorld.customize.custom.preset.isleLand": "Isle Land", + "createWorld.customize.custom.preset.caveDelight": "Caver's Delight", + "createWorld.customize.custom.preset.mountains": "Mountain Madness", + "createWorld.customize.custom.preset.drought": "Drought", + "createWorld.customize.custom.preset.caveChaos": "Caves of Chaos", + "createWorld.customize.custom.preset.goodLuck": "Good Luck", + "gameMode.survival": "Survival Mode", + "gameMode.creative": "Creative Mode", + "gameMode.adventure": "Adventure Mode", + "gameMode.spectator": "Spectator Mode", + "gameMode.hardcore": "Hardcore Mode!", + "gameMode.changed": "Your game mode has been updated", + "selectWorld.gameMode": "Game Mode", + "selectWorld.gameMode.survival": "Survival", + "selectWorld.gameMode.survival.line1": "Search for resources, crafting, gain", + "selectWorld.gameMode.survival.line2": "levels, health and hunger", + "selectWorld.gameMode.creative": "Creative", + "selectWorld.gameMode.creative.line1": "Unlimited resources, free flying and", + "selectWorld.gameMode.creative.line2": "destroy blocks instantly", + "selectWorld.gameMode.spectator": "Spectator", + "selectWorld.gameMode.spectator.line1": "You can look but don't touch", + "selectWorld.gameMode.hardcore": "Hardcore", + "selectWorld.gameMode.hardcore.line1": "Same as survival mode, locked at hardest", + "selectWorld.gameMode.hardcore.line2": "difficulty, and one life only", + "selectWorld.gameMode.adventure": "Adventure", + "selectWorld.gameMode.adventure.line1": "Same as survival mode, but blocks can't", + "selectWorld.gameMode.adventure.line2": "be added or removed", + "selectWorld.moreWorldOptions": "More World Options...", + "selectWorld.mapFeatures": "Generate Structures:", + "selectWorld.mapFeatures.info": "Villages, dungeons etc", + "selectWorld.mapType": "World Type:", + "selectWorld.mapType.normal": "Normal", + "selectWorld.allowCommands": "Allow Cheats:", + "selectWorld.allowCommands.info": "Commands like /gamemode, /xp", + "selectWorld.hardcoreMode": "Hardcore:", + "selectWorld.hardcoreMode.info": "World is deleted upon death", + "selectWorld.bonusItems": "Bonus Chest:", + "generator.default": "Default", + "generator.flat": "Superflat", + "generator.largeBiomes": "Large Biomes", + "generator.amplified": "AMPLIFIED", + "generator.customized": "Customized", + "generator.debug_all_block_states": "Debug Mode", + "generator.amplified.info": "Notice: Just for fun, requires beefy computer", + "selectServer.title": "Select Server", + "selectServer.empty": "empty", + "selectServer.select": "Join Server", + "selectServer.direct": "Direct Connect", + "selectServer.edit": "Edit", + "selectServer.delete": "Delete", + "selectServer.add": "Add server", + "selectServer.defaultName": "Minecraft Server", + "selectServer.deleteQuestion": "Are you sure you want to remove this server?", + "selectServer.deleteWarning": "will be lost forever! (A long time!)", + "selectServer.deleteButton": "Delete", + "selectServer.refresh": "Refresh", + "selectServer.hiddenAddress": "(Hidden)", + "addServer.title": "Edit Server Info", + "addServer.enterName": "Server Name", + "addServer.enterIp": "Server Address", + "addServer.add": "Done", + "addServer.hideAddress": "Hide Address", + "addServer.resourcePack": "Server Resource Packs", + "addServer.resourcePack.enabled": "Enabled", + "addServer.resourcePack.disabled": "Disabled", + "addServer.resourcePack.prompt": "Prompt", + "lanServer.title": "LAN World", + "lanServer.scanning": "Scanning for games on your local network", + "lanServer.start": "Start LAN World", + "lanServer.otherPlayers": "Settings for Other Players", + "mcoServer.title": "Minecraft Online World", + "multiplayer.title": "Play Multiplayer", + "multiplayer.connect": "Connect", + "multiplayer.info1": "Minecraft Multiplayer is currently not finished, but there", + "multiplayer.info2": "is some buggy early testing going on.", + "multiplayer.ipinfo": "Enter the IP of a server to connect to it:", + "multiplayer.texturePrompt.line1": "This server recommends the use of a custom resource pack.", + "multiplayer.texturePrompt.line2": "Would you like to download and install it automagically?", + "multiplayer.downloadingTerrain": "Downloading terrain", + "multiplayer.downloadingStats": "Downloading statistics & achievements...", + "multiplayer.stopSleeping": "Leave Bed", + "multiplayer.player.joined": "%s joined the game", + "multiplayer.player.joined.renamed": "%s (formerly known as %s) joined the game", + "multiplayer.player.left": "%s left the game", + "chat.cannotSend": "Cannot send chat message", + "chat.type.text": "<%s> %s", + "chat.type.emote": "* %s %s", + "chat.type.announcement": "[%s] %s", + "chat.type.admin": "[%s: %s]", + "chat.type.achievement": "%s has just earned the achievement %s", + "chat.type.achievement.taken": "%s has lost the achievement %s", + "chat.link.confirm": "Are you sure you want to open the following website?", + "chat.link.warning": "Never open links from people that you don't trust!", + "chat.copy": "Copy to Clipboard", + "chat.link.confirmTrusted": "Do you want to open this link or copy it to your clipboard?", + "chat.link.open": "Open in browser", + "chat.stream.text": "(%s) <%s> %s", + "chat.stream.emote": "(%s) * %s %s", + "menu.playdemo": "Play Demo World", + "menu.resetdemo": "Reset Demo World", + "demo.day.1": "This demo will last five game days, do your best!", + "demo.day.2": "Day Two", + "demo.day.3": "Day Three", + "demo.day.4": "Day Four", + "demo.day.5": "This is your last day!", + "demo.day.warning": "Your time is almost up!", + "demo.day.6": "You have passed your fifth day, use F2 to save a screenshot of your creation", + "demo.reminder": "The demo time has expired, buy the game to continue or start a new world!", + "demo.remainingTime": "Remaining time: %s", + "demo.demoExpired": "Demo time's up!", + "demo.help.movement": "Use %1$s, %2$s, %3$s, %4$s and the mouse to move around", + "demo.help.movementShort": "Move by pressing %1$s, %2$s, %3$s, %4$s", + "demo.help.movementMouse": "Look around using the mouse", + "demo.help.jump": "Jump by pressing %1$s", + "demo.help.inventory": "Use %1$s to open your inventory", + "demo.help.title": "Minecraft Demo Mode", + "demo.help.fullWrapped": "This demo will last 5 ingame days (about 1 hour and 40 minutes of real time). Check the achievements for hints! Have fun!", + "demo.help.buy": "Purchase Now!", + "demo.help.later": "Continue Playing!", + "connect.connecting": "Connecting to the server...", + "connect.authorizing": "Logging in...", + "connect.failed": "Failed to connect to the server", + "disconnect.genericReason": "%s", + "disconnect.disconnected": "Disconnected by Server", + "disconnect.lost": "Connection Lost", + "disconnect.kicked": "Was kicked from the game", + "disconnect.timeout": "Timed out", + "disconnect.closed": "Connection closed", + "disconnect.loginFailed": "Failed to login", + "disconnect.loginFailedInfo": "Failed to login: %s", + "disconnect.loginFailedInfo.serversUnavailable": "The authentication servers are currently down for maintenance.", + "disconnect.loginFailedInfo.invalidSession": "Invalid session (Try restarting your game)", + "disconnect.quitting": "Quitting", + "disconnect.endOfStream": "End of stream", + "disconnect.overflow": "Buffer overflow", + "disconnect.spam": "Kicked for spamming", + "soundCategory.master": "Master Volume", + "soundCategory.music": "Music", + "soundCategory.record": "Jukebox/Noteblocks", + "soundCategory.weather": "Weather", + "soundCategory.hostile": "Hostile Creatures", + "soundCategory.neutral": "Friendly Creatures", + "soundCategory.player": "Players", + "soundCategory.block": "Blocks", + "soundCategory.ambient": "Ambient/Environment", + "record.nowPlaying": "Now playing: %s", + "options.off": "OFF", + "options.on": "ON", + "options.visible": "Shown", + "options.hidden": "Hidden", + "options.title": "Options", + "options.controls": "Controls...", + "options.video": "Video Settings...", + "options.language": "Language...", + "options.stream": "Broadcast Settings...", + "options.sounds": "Music & Sounds...", + "options.sounds.title": "Music & Sound Options", + "options.languageWarning": "Language translations may not be 100%% accurate", + "options.videoTitle": "Video Settings", + "options.customizeTitle": "Customize World Settings", + "options.music": "Music", + "options.sound": "Sound", + "options.invertMouse": "Invert Mouse", + "options.fov": "FOV", + "options.fov.min": "Normal", + "options.fov.max": "Quake Pro", + "options.saturation": "Saturation", + "options.gamma": "Brightness", + "options.gamma.min": "Moody", + "options.gamma.max": "Bright", + "options.sensitivity": "Sensitivity", + "options.sensitivity.min": "*yawn*", + "options.sensitivity.max": "HYPERSPEED!!!", + "options.renderDistance": "Render Distance", + "options.renderDistance.tiny": "Tiny", + "options.renderDistance.short": "Short", + "options.renderDistance.normal": "Normal", + "options.renderDistance.far": "Far", + "options.viewBobbing": "View Bobbing", + "options.ao": "Smooth Lighting", + "options.ao.off": "OFF", + "options.ao.min": "Minimum", + "options.ao.max": "Maximum", + "options.anaglyph": "3D Anaglyph", + "options.framerateLimit": "Max Framerate", + "options.framerateLimit.max": "Unlimited", + "options.difficulty": "Difficulty", + "options.difficulty.peaceful": "Peaceful", + "options.difficulty.easy": "Easy", + "options.difficulty.normal": "Normal", + "options.difficulty.hard": "Hard", + "options.difficulty.hardcore": "Hardcore", + "options.graphics": "Graphics", + "options.graphics.fancy": "Fancy", + "options.graphics.fast": "Fast", + "options.guiScale": "GUI Scale", + "options.guiScale.auto": "Auto", + "options.guiScale.small": "Small", + "options.guiScale.normal": "Normal", + "options.guiScale.large": "Large", + "options.advancedOpengl": "Advanced OpenGL", + "options.fboEnable": "Enable FBOs", + "options.postProcessEnable": "Enable Post-Processing", + "options.renderClouds": "Clouds", + "options.qualityButton": "Video Quality Settings...", + "options.qualityVideoTitle": "Video Quality Settings", + "options.performanceButton": "Video Performance Settings...", + "options.performanceVideoTitle": "Video Performance Settings", + "options.advancedButton": "Advanced Video Settings...", + "options.advancedVideoTitle": "Advanced Video Settings", + "options.postButton": "Post-Processing Settings...", + "options.postVideoTitle": "Post-Processing Settings", + "options.farWarning1": "A 64 bit Java installation is recommended", + "options.farWarning2": "for 'Far' render distance (you have 32 bit)", + "options.particles": "Particles", + "options.particles.all": "All", + "options.particles.decreased": "Decreased", + "options.particles.minimal": "Minimal", + "options.multiplayer.title": "Multiplayer Settings...", + "options.chat.title": "Chat Settings...", + "options.chat.visibility": "Chat", + "options.chat.visibility.full": "Shown", + "options.chat.visibility.system": "Commands Only", + "options.chat.visibility.hidden": "Hidden", + "options.chat.color": "Colors", + "options.chat.opacity": "Opacity", + "options.chat.links": "Web Links", + "options.chat.links.prompt": "Prompt on Links", + "options.chat.scale": "Scale", + "options.chat.width": "Width", + "options.chat.height.focused": "Focused Height", + "options.chat.height.unfocused": "Unfocused Height", + "options.skinCustomisation": "Skin Customization...", + "options.skinCustomisation.title": "Skin Customization", + "options.modelPart.cape": "Cape", + "options.modelPart.hat": "Hat", + "options.modelPart.jacket": "Jacket", + "options.modelPart.left_sleeve": "Left Sleeve", + "options.modelPart.right_sleeve": "Right Sleeve", + "options.modelPart.left_pants_leg": "Left Pants Leg", + "options.modelPart.right_pants_leg": "Right Pants Leg", + "options.snooper": "Allow Snooper", + "options.snooper.view": "Snooper Settings...", + "options.snooper.title": "Machine Specs Collection", + "options.snooper.desc": "We want to collect information about your machine to help improve Minecraft by knowing what we can support and where the biggest problems are. All of this information is completely anonymous and viewable below. We promise we won't do anything bad with this data, but if you want to opt out then feel free to toggle it off!", + "options.resourcepack": "Resource Packs...", + "options.fullscreen": "Fullscreen", + "options.vsync": "Use VSync", + "options.vbo": "Use VBOs", + "options.touchscreen": "Touchscreen Mode", + "options.blockAlternatives": "Alternate Blocks", + "options.reducedDebugInfo": "Reduced Debug Info", + "options.entityShadows": "Entity Shadows", + "options.mipmapLevels": "Mipmap Levels", + "options.forceUnicodeFont": "Force Unicode Font", + "options.stream.title": "Twitch Broadcast Settings", + "options.stream.bytesPerPixel": "Quality", + "options.stream.micVolumne": "Mic Volume", + "options.stream.micToggleBehavior": "Push To", + "options.stream.mic_toggle.mute": "Mute", + "options.stream.mic_toggle.talk": "Talk", + "options.stream.systemVolume": "System Volume", + "options.stream.kbps": "Bandwidth", + "options.stream.fps": "Framerate", + "options.stream.sendMetadata": "Send Metadata", + "options.stream.compression": "Compression", + "options.stream.compression.low": "Low", + "options.stream.compression.medium": "Medium", + "options.stream.compression.high": "High", + "options.stream.estimation": "Estimated resolution: %dx%d", + "options.stream.changes": "You may need to restart your stream for these changes to take place.", + "options.stream.ingestSelection": "Broadcast Server List", + "options.stream.ingest.title": "Twitch Broadcast Servers", + "options.stream.ingest.reset": "Reset Preference", + "options.stream.chat.title": "Twitch Chat Settings", + "options.stream.chat.enabled": "Enable", + "options.stream.chat.enabled.streaming": "Whilst Streaming", + "options.stream.chat.enabled.always": "Always", + "options.stream.chat.enabled.never": "Never", + "options.stream.chat.userFilter": "User Filter", + "options.stream.chat.userFilter.all": "All Viewers", + "options.stream.chat.userFilter.subs": "Subscribers", + "options.stream.chat.userFilter.mods": "Moderators", + "difficulty.lock.title": "Lock World Difficulty", + "difficulty.lock.question": "Are you sure you want to lock the difficulty of this world? This will set this world to always be %1$s, and you will never be able to change that again.", + "title.oldgl1": "Old graphics card detected; this may prevent you from", + "title.oldgl2": "playing in the future as OpenGL 2.0 will be required.", + "controls.title": "Controls", + "controls.reset": "Reset", + "controls.resetAll": "Reset Keys", + "key.sprint": "Sprint", + "key.forward": "Walk Forwards", + "key.left": "Strafe Left", + "key.back": "Walk Backwards", + "key.right": "Strafe Right", + "key.jump": "Jump", + "key.inventory": "Inventory", + "key.drop": "Drop Item", + "key.chat": "Open Chat", + "key.sneak": "Sneak", + "key.playerlist": "List Players", + "key.attack": "Attack/Destroy", + "key.use": "Use Item/Place Block", + "key.pickItem": "Pick Block", + "key.mouseButton": "Button %1$s", + "key.command": "Open Command", + "key.screenshot": "Take Screenshot", + "key.togglePerspective": "Toggle Perspective", + "key.smoothCamera": "Toggle Cinematic Camera", + "key.fullscreen": "Toggle Fullscreen", + "key.spectatorOutlines": "Highlight Players (Spectators)", + "key.hotbar.1": "Hotbar Slot 1", + "key.hotbar.2": "Hotbar Slot 2", + "key.hotbar.3": "Hotbar Slot 3", + "key.hotbar.4": "Hotbar Slot 4", + "key.hotbar.5": "Hotbar Slot 5", + "key.hotbar.6": "Hotbar Slot 6", + "key.hotbar.7": "Hotbar Slot 7", + "key.hotbar.8": "Hotbar Slot 8", + "key.hotbar.9": "Hotbar Slot 9", + "key.streamStartStop": "Start/Stop Stream", + "key.streamPauseUnpause": "Pause/Unpause Stream", + "key.streamCommercial": "Show Stream Commercials", + "key.streamToggleMic": "Push To Talk/Mute", + "key.categories.movement": "Movement", + "key.categories.misc": "Miscellaneous", + "key.categories.multiplayer": "Multiplayer", + "key.categories.gameplay": "Gameplay", + "key.categories.ui": "Game Interface", + "key.categories.inventory": "Inventory", + "key.categories.stream": "Streaming", + "resourcePack.openFolder": "Open resource pack folder", + "resourcePack.title": "Select Resource Packs", + "resourcePack.available.title": "Available Resource Packs", + "resourcePack.selected.title": "Selected Resource Packs", + "resourcePack.folderInfo": "(Place resource pack files here)", + "resourcePack.incompatible": "Incompatible", + "resourcePack.incompatible.old": "(Made for an older version of Minecraft)", + "resourcePack.incompatible.new": "(Made for a newer version of Minecraft)", + "resourcePack.incompatible.confirm.title": "Are you sure you want to load this resource pack?", + "resourcePack.incompatible.confirm.old": "This resource pack was made for an older version of Minecraft and may no longer work correctly.", + "resourcePack.incompatible.confirm.new": "This resource pack was made for a newer version of Minecraft and may no longer work correctly.", + "sign.edit": "Edit sign message", + "book.pageIndicator": "Page %1$s of %2$s", + "book.byAuthor": "by %1$s", + "book.signButton": "Sign", + "book.editTitle": "Enter Book Title:", + "book.finalizeButton": "Sign and Close", + "book.finalizeWarning": "Note! When you sign the book, it will no longer be editable.", + "book.generation.0": "Original", + "book.generation.1": "Copy of original", + "book.generation.2": "Copy of a copy", + "book.generation.3": "Tattered", + "merchant.deprecated": "Trade something else to unlock!", + "tile.barrier.name": "Barrier", + "tile.stone.stone.name": "Stone", + "tile.stone.granite.name": "Granite", + "tile.stone.graniteSmooth.name": "Polished Granite", + "tile.stone.diorite.name": "Diorite", + "tile.stone.dioriteSmooth.name": "Polished Diorite", + "tile.stone.andesite.name": "Andesite", + "tile.stone.andesiteSmooth.name": "Polished Andesite", + "tile.hayBlock.name": "Hay Bale", + "tile.grass.name": "Grass Block", + "tile.dirt.name": "Dirt", + "tile.dirt.default.name": "Dirt", + "tile.dirt.coarse.name": "Coarse Dirt", + "tile.dirt.podzol.name": "Podzol", + "tile.stonebrick.name": "Cobblestone", + "tile.wood.name": "Wooden Planks", + "tile.wood.oak.name": "Oak Wood Planks", + "tile.wood.spruce.name": "Spruce Wood Planks", + "tile.wood.birch.name": "Birch Wood Planks", + "tile.wood.jungle.name": "Jungle Wood Planks", + "tile.wood.acacia.name": "Acacia Wood Planks", + "tile.wood.big_oak.name": "Dark Oak Wood Planks", + "tile.sapling.oak.name": "Oak Sapling", + "tile.sapling.spruce.name": "Spruce Sapling", + "tile.sapling.birch.name": "Birch Sapling", + "tile.sapling.jungle.name": "Jungle Sapling", + "tile.sapling.acacia.name": "Acacia Sapling", + "tile.sapling.big_oak.name": "Dark Oak Sapling", + "tile.deadbush.name": "Dead Bush", + "tile.bedrock.name": "Bedrock", + "tile.water.name": "Water", + "tile.lava.name": "Lava", + "tile.sand.name": "Sand", + "tile.sand.default.name": "Sand", + "tile.sand.red.name": "Red Sand", + "tile.sandStone.name": "Sandstone", + "tile.sandStone.default.name": "Sandstone", + "tile.sandStone.chiseled.name": "Chiseled Sandstone", + "tile.sandStone.smooth.name": "Smooth Sandstone", + "tile.redSandStone.name": "Red Sandstone", + "tile.redSandStone.default.name": "Red Sandstone", + "tile.redSandStone.chiseled.name": "Chiseled Red Sandstone", + "tile.redSandStone.smooth.name": "Smooth Red Sandstone", + "tile.gravel.name": "Gravel", + "tile.oreGold.name": "Gold Ore", + "tile.oreIron.name": "Iron Ore", + "tile.oreCoal.name": "Coal Ore", + "tile.log.name": "Wood", + "tile.log.oak.name": "Oak Wood", + "tile.log.spruce.name": "Spruce Wood", + "tile.log.birch.name": "Birch Wood", + "tile.log.jungle.name": "Jungle Wood", + "tile.log.acacia.name": "Acacia Wood", + "tile.log.big_oak.name": "Dark Oak Wood", + "tile.leaves.name": "Leaves", + "tile.leaves.oak.name": "Oak Leaves", + "tile.leaves.spruce.name": "Spruce Leaves", + "tile.leaves.birch.name": "Birch Leaves", + "tile.leaves.jungle.name": "Jungle Leaves", + "tile.leaves.acacia.name": "Acacia Leaves", + "tile.leaves.big_oak.name": "Dark Oak Leaves", + "tile.tallgrass.name": "Grass", + "tile.tallgrass.shrub.name": "Shrub", + "tile.tallgrass.grass.name": "Grass", + "tile.tallgrass.fern.name": "Fern", + "tile.sponge.dry.name": "Sponge", + "tile.sponge.wet.name": "Wet Sponge", + "tile.glass.name": "Glass", + "tile.stainedGlass.name": "Stained Glass", + "tile.stainedGlass.black.name": "Black Stained Glass", + "tile.stainedGlass.red.name": "Red Stained Glass", + "tile.stainedGlass.green.name": "Green Stained Glass", + "tile.stainedGlass.brown.name": "Brown Stained Glass", + "tile.stainedGlass.blue.name": "Blue Stained Glass", + "tile.stainedGlass.purple.name": "Purple Stained Glass", + "tile.stainedGlass.cyan.name": "Cyan Stained Glass", + "tile.stainedGlass.silver.name": "Light Gray Stained Glass", + "tile.stainedGlass.gray.name": "Gray Stained Glass", + "tile.stainedGlass.pink.name": "Pink Stained Glass", + "tile.stainedGlass.lime.name": "Lime Stained Glass", + "tile.stainedGlass.yellow.name": "Yellow Stained Glass", + "tile.stainedGlass.lightBlue.name": "Light Blue Stained Glass", + "tile.stainedGlass.magenta.name": "Magenta Stained Glass", + "tile.stainedGlass.orange.name": "Orange Stained Glass", + "tile.stainedGlass.white.name": "White Stained Glass", + "tile.thinStainedGlass.name": "Stained Glass Pane", + "tile.thinStainedGlass.black.name": "Black Stained Glass Pane", + "tile.thinStainedGlass.red.name": "Red Stained Glass Pane", + "tile.thinStainedGlass.green.name": "Green Stained Glass Pane", + "tile.thinStainedGlass.brown.name": "Brown Stained Glass Pane", + "tile.thinStainedGlass.blue.name": "Blue Stained Glass Pane", + "tile.thinStainedGlass.purple.name": "Purple Stained Glass Pane", + "tile.thinStainedGlass.cyan.name": "Cyan Stained Glass Pane", + "tile.thinStainedGlass.silver.name": "Light Gray Stained Glass Pane", + "tile.thinStainedGlass.gray.name": "Gray Stained Glass Pane", + "tile.thinStainedGlass.pink.name": "Pink Stained Glass Pane", + "tile.thinStainedGlass.lime.name": "Lime Stained Glass Pane", + "tile.thinStainedGlass.yellow.name": "Yellow Stained Glass Pane", + "tile.thinStainedGlass.lightBlue.name": "Light Blue Stained Glass Pane", + "tile.thinStainedGlass.magenta.name": "Magenta Stained Glass Pane", + "tile.thinStainedGlass.orange.name": "Orange Stained Glass Pane", + "tile.thinStainedGlass.white.name": "White Stained Glass Pane", + "tile.thinGlass.name": "Glass Pane", + "tile.cloth.name": "Wool", + "tile.flower1.name": "Flower", + "tile.flower1.dandelion.name": "Dandelion", + "tile.flower2.name": "Flower", + "tile.flower2.poppy.name": "Poppy", + "tile.flower2.blueOrchid.name": "Blue Orchid", + "tile.flower2.allium.name": "Allium", + "tile.flower2.houstonia.name": "Azure Bluet", + "tile.flower2.tulipRed.name": "Red Tulip", + "tile.flower2.tulipOrange.name": "Orange Tulip", + "tile.flower2.tulipWhite.name": "White Tulip", + "tile.flower2.tulipPink.name": "Pink Tulip", + "tile.flower2.oxeyeDaisy.name": "Oxeye Daisy", + "tile.doublePlant.name": "Plant", + "tile.doublePlant.sunflower.name": "Sunflower", + "tile.doublePlant.syringa.name": "Lilac", + "tile.doublePlant.grass.name": "Double Tallgrass", + "tile.doublePlant.fern.name": "Large Fern", + "tile.doublePlant.rose.name": "Rose Bush", + "tile.doublePlant.paeonia.name": "Peony", + "tile.mushroom.name": "Mushroom", + "tile.blockGold.name": "Block of Gold", + "tile.blockIron.name": "Block of Iron", + "tile.stoneSlab.name": "Stone Slab", + "tile.stoneSlab.stone.name": "Stone Slab", + "tile.stoneSlab.sand.name": "Sandstone Slab", + "tile.stoneSlab.wood.name": "Wooden Slab", + "tile.stoneSlab.cobble.name": "Cobblestone Slab", + "tile.stoneSlab.brick.name": "Bricks Slab", + "tile.stoneSlab.smoothStoneBrick.name": "Stone Bricks Slab", + "tile.stoneSlab.netherBrick.name": "Nether Brick Slab", + "tile.stoneSlab.quartz.name": "Quartz Slab", + "tile.stoneSlab2.red_sandstone.name": "Red Sandstone Slab", + "tile.woodSlab.name": "Wood Slab", + "tile.woodSlab.oak.name": "Oak Wood Slab", + "tile.woodSlab.spruce.name": "Spruce Wood Slab", + "tile.woodSlab.birch.name": "Birch Wood Slab", + "tile.woodSlab.jungle.name": "Jungle Wood Slab", + "tile.woodSlab.acacia.name": "Acacia Wood Slab", + "tile.woodSlab.big_oak.name": "Dark Oak Wood Slab", + "tile.brick.name": "Bricks", + "tile.tnt.name": "TNT", + "tile.bookshelf.name": "Bookshelf", + "tile.stoneMoss.name": "Moss Stone", + "tile.obsidian.name": "Obsidian", + "tile.torch.name": "Torch", + "tile.fire.name": "Fire", + "tile.mobSpawner.name": "Monster Spawner", + "tile.stairsWood.name": "Oak Wood Stairs", + "tile.stairsWoodSpruce.name": "Spruce Wood Stairs", + "tile.stairsWoodBirch.name": "Birch Wood Stairs", + "tile.stairsWoodJungle.name": "Jungle Wood Stairs", + "tile.stairsWoodAcacia.name": "Acacia Wood Stairs", + "tile.stairsWoodDarkOak.name": "Dark Oak Wood Stairs", + "tile.chest.name": "Chest", + "tile.chestTrap.name": "Trapped Chest", + "tile.redstoneDust.name": "Redstone Dust", + "tile.oreDiamond.name": "Diamond Ore", + "tile.blockCoal.name": "Block of Coal", + "tile.blockDiamond.name": "Block of Diamond", + "tile.workbench.name": "Crafting Table", + "tile.crops.name": "Crops", + "tile.farmland.name": "Farmland", + "tile.furnace.name": "Furnace", + "tile.sign.name": "Sign", + "tile.doorWood.name": "Wooden Door", + "tile.ladder.name": "Ladder", + "tile.rail.name": "Rail", + "tile.goldenRail.name": "Powered Rail", + "tile.activatorRail.name": "Activator Rail", + "tile.detectorRail.name": "Detector Rail", + "tile.stairsStone.name": "Cobblestone Stairs", + "tile.stairsSandStone.name": "Sandstone Stairs", + "tile.stairsRedSandStone.name": "Red Sandstone Stairs", + "tile.lever.name": "Lever", + "tile.pressurePlateStone.name": "Stone Pressure Plate", + "tile.pressurePlateWood.name": "Wooden Pressure Plate", + "tile.weightedPlate_light.name": "Weighted Pressure Plate (Light)", + "tile.weightedPlate_heavy.name": "Weighted Pressure Plate (Heavy)", + "tile.doorIron.name": "Iron Door", + "tile.oreRedstone.name": "Redstone Ore", + "tile.notGate.name": "Redstone Torch", + "tile.button.name": "Button", + "tile.snow.name": "Snow", + "tile.woolCarpet.name": "Carpet", + "tile.woolCarpet.black.name": "Black Carpet", + "tile.woolCarpet.red.name": "Red Carpet", + "tile.woolCarpet.green.name": "Green Carpet", + "tile.woolCarpet.brown.name": "Brown Carpet", + "tile.woolCarpet.blue.name": "Blue Carpet", + "tile.woolCarpet.purple.name": "Purple Carpet", + "tile.woolCarpet.cyan.name": "Cyan Carpet", + "tile.woolCarpet.silver.name": "Light Gray Carpet", + "tile.woolCarpet.gray.name": "Gray Carpet", + "tile.woolCarpet.pink.name": "Pink Carpet", + "tile.woolCarpet.lime.name": "Lime Carpet", + "tile.woolCarpet.yellow.name": "Yellow Carpet", + "tile.woolCarpet.lightBlue.name": "Light Blue Carpet", + "tile.woolCarpet.magenta.name": "Magenta Carpet", + "tile.woolCarpet.orange.name": "Orange Carpet", + "tile.woolCarpet.white.name": "Carpet", + "tile.ice.name": "Ice", + "tile.icePacked.name": "Packed Ice", + "tile.cactus.name": "Cactus", + "tile.clay.name": "Clay", + "tile.clayHardenedStained.name": "Stained Clay", + "tile.clayHardenedStained.black.name": "Black Stained Clay", + "tile.clayHardenedStained.red.name": "Red Stained Clay", + "tile.clayHardenedStained.green.name": "Green Stained Clay", + "tile.clayHardenedStained.brown.name": "Brown Stained Clay", + "tile.clayHardenedStained.blue.name": "Blue Stained Clay", + "tile.clayHardenedStained.purple.name": "Purple Stained Clay", + "tile.clayHardenedStained.cyan.name": "Cyan Stained Clay", + "tile.clayHardenedStained.silver.name": "Light Gray Stained Clay", + "tile.clayHardenedStained.gray.name": "Gray Stained Clay", + "tile.clayHardenedStained.pink.name": "Pink Stained Clay", + "tile.clayHardenedStained.lime.name": "Lime Stained Clay", + "tile.clayHardenedStained.yellow.name": "Yellow Stained Clay", + "tile.clayHardenedStained.lightBlue.name": "Light Blue Stained Clay", + "tile.clayHardenedStained.magenta.name": "Magenta Stained Clay", + "tile.clayHardenedStained.orange.name": "Orange Stained Clay", + "tile.clayHardenedStained.white.name": "White Stained Clay", + "tile.clayHardened.name": "Hardened Clay", + "tile.reeds.name": "Sugar cane", + "tile.jukebox.name": "Jukebox", + "tile.fence.name": "Oak Fence", + "tile.spruceFence.name": "Spruce Fence", + "tile.birchFence.name": "Birch Fence", + "tile.jungleFence.name": "Jungle Fence", + "tile.darkOakFence.name": "Dark Oak Fence", + "tile.acaciaFence.name": "Acacia Fence", + "tile.fenceGate.name": "Oak Fence Gate", + "tile.spruceFenceGate.name": "Spruce Fence Gate", + "tile.birchFenceGate.name": "Birch Fence Gate", + "tile.jungleFenceGate.name": "Jungle Fence Gate", + "tile.darkOakFenceGate.name": "Dark Oak Fence Gate", + "tile.acaciaFenceGate.name": "Acacia Fence Gate", + "tile.pumpkinStem.name": "Pumpkin Stem", + "tile.pumpkin.name": "Pumpkin", + "tile.litpumpkin.name": "Jack o'Lantern", + "tile.hellrock.name": "Netherrack", + "tile.hellsand.name": "Soul Sand", + "tile.lightgem.name": "Glowstone", + "tile.portal.name": "Portal", + "tile.cloth.black.name": "Black Wool", + "tile.cloth.red.name": "Red Wool", + "tile.cloth.green.name": "Green Wool", + "tile.cloth.brown.name": "Brown Wool", + "tile.cloth.blue.name": "Blue Wool", + "tile.cloth.purple.name": "Purple Wool", + "tile.cloth.cyan.name": "Cyan Wool", + "tile.cloth.silver.name": "Light Gray Wool", + "tile.cloth.gray.name": "Gray Wool", + "tile.cloth.pink.name": "Pink Wool", + "tile.cloth.lime.name": "Lime Wool", + "tile.cloth.yellow.name": "Yellow Wool", + "tile.cloth.lightBlue.name": "Light Blue Wool", + "tile.cloth.magenta.name": "Magenta Wool", + "tile.cloth.orange.name": "Orange Wool", + "tile.cloth.white.name": "Wool", + "tile.oreLapis.name": "Lapis Lazuli Ore", + "tile.blockLapis.name": "Lapis Lazuli Block", + "tile.dispenser.name": "Dispenser", + "tile.dropper.name": "Dropper", + "tile.musicBlock.name": "Note Block", + "tile.cake.name": "Cake", + "tile.bed.name": "Bed", + "tile.bed.occupied": "This bed is occupied", + "tile.bed.noSleep": "You can only sleep at night", + "tile.bed.notSafe": "You may not rest now, there are monsters nearby", + "tile.bed.notValid": "Your home bed was missing or obstructed", + "tile.lockedchest.name": "Locked chest", + "tile.trapdoor.name": "Wooden Trapdoor", + "tile.ironTrapdoor.name": "Iron Trapdoor", + "tile.web.name": "Cobweb", + "tile.stonebricksmooth.name": "Stone Bricks", + "tile.stonebricksmooth.default.name": "Stone Bricks", + "tile.stonebricksmooth.mossy.name": "Mossy Stone Bricks", + "tile.stonebricksmooth.cracked.name": "Cracked Stone Bricks", + "tile.stonebricksmooth.chiseled.name": "Chiseled Stone Bricks", + "tile.monsterStoneEgg.name": "Stone Monster Egg", + "tile.monsterStoneEgg.stone.name": "Stone Monster Egg", + "tile.monsterStoneEgg.cobble.name": "Cobblestone Monster Egg", + "tile.monsterStoneEgg.brick.name": "Stone Brick Monster Egg", + "tile.monsterStoneEgg.mossybrick.name": "Mossy Stone Brick Monster Egg", + "tile.monsterStoneEgg.crackedbrick.name": "Cracked Stone Brick Monster Egg", + "tile.monsterStoneEgg.chiseledbrick.name": "Chiseled Stone Brick Monster Egg", + "tile.pistonBase.name": "Piston", + "tile.pistonStickyBase.name": "Sticky Piston", + "tile.fenceIron.name": "Iron Bars", + "tile.melon.name": "Melon", + "tile.stairsBrick.name": "Brick Stairs", + "tile.stairsStoneBrickSmooth.name": "Stone Brick Stairs", + "tile.vine.name": "Vines", + "tile.netherBrick.name": "Nether Brick", + "tile.netherFence.name": "Nether Brick Fence", + "tile.stairsNetherBrick.name": "Nether Brick Stairs", + "tile.netherStalk.name": "Nether Wart", + "tile.cauldron.name": "Cauldron", + "tile.enchantmentTable.name": "Enchantment Table", + "tile.anvil.name": "Anvil", + "tile.anvil.intact.name": "Anvil", + "tile.anvil.slightlyDamaged.name": "Slightly Damaged Anvil", + "tile.anvil.veryDamaged.name": "Very Damaged Anvil", + "tile.whiteStone.name": "End Stone", + "tile.endPortalFrame.name": "End Portal", + "tile.mycel.name": "Mycelium", + "tile.waterlily.name": "Lily Pad", + "tile.dragonEgg.name": "Dragon Egg", + "tile.redstoneLight.name": "Redstone Lamp", + "tile.cocoa.name": "Cocoa", + "tile.enderChest.name": "Ender Chest", + "tile.oreRuby.name": "Ruby Ore", + "tile.oreEmerald.name": "Emerald Ore", + "tile.blockEmerald.name": "Block of Emerald", + "tile.blockRedstone.name": "Block of Redstone", + "tile.tripWire.name": "Tripwire", + "tile.tripWireSource.name": "Tripwire Hook", + "tile.commandBlock.name": "Command Block", + "tile.beacon.name": "Beacon", + "tile.beacon.primary": "Primary Power", + "tile.beacon.secondary": "Secondary Power", + "tile.cobbleWall.normal.name": "Cobblestone Wall", + "tile.cobbleWall.mossy.name": "Mossy Cobblestone Wall", + "tile.carrots.name": "Carrots", + "tile.potatoes.name": "Potatoes", + "tile.daylightDetector.name": "Daylight Sensor", + "tile.netherquartz.name": "Nether Quartz Ore", + "tile.hopper.name": "Hopper", + "tile.quartzBlock.name": "Block of Quartz", + "tile.quartzBlock.default.name": "Block of Quartz", + "tile.quartzBlock.chiseled.name": "Chiseled Quartz Block", + "tile.quartzBlock.lines.name": "Pillar Quartz Block", + "tile.stairsQuartz.name": "Quartz Stairs", + "tile.slime.name": "Slime Block", + "tile.prismarine.rough.name": "Prismarine", + "tile.prismarine.bricks.name": "Prismarine Bricks", + "tile.prismarine.dark.name": "Dark Prismarine", + "tile.seaLantern.name": "Sea Lantern", + "item.nameTag.name": "Name Tag", + "item.leash.name": "Lead", + "item.shovelIron.name": "Iron Shovel", + "item.pickaxeIron.name": "Iron Pickaxe", + "item.hatchetIron.name": "Iron Axe", + "item.flintAndSteel.name": "Flint and Steel", + "item.apple.name": "Apple", + "item.cookie.name": "Cookie", + "item.bow.name": "Bow", + "item.arrow.name": "Arrow", + "item.coal.name": "Coal", + "item.charcoal.name": "Charcoal", + "item.diamond.name": "Diamond", + "item.emerald.name": "Emerald", + "item.ingotIron.name": "Iron Ingot", + "item.ingotGold.name": "Gold Ingot", + "item.swordIron.name": "Iron Sword", + "item.swordWood.name": "Wooden Sword", + "item.shovelWood.name": "Wooden Shovel", + "item.pickaxeWood.name": "Wooden Pickaxe", + "item.hatchetWood.name": "Wooden Axe", + "item.swordStone.name": "Stone Sword", + "item.shovelStone.name": "Stone Shovel", + "item.pickaxeStone.name": "Stone Pickaxe", + "item.hatchetStone.name": "Stone Axe", + "item.swordDiamond.name": "Diamond Sword", + "item.shovelDiamond.name": "Diamond Shovel", + "item.pickaxeDiamond.name": "Diamond Pickaxe", + "item.hatchetDiamond.name": "Diamond Axe", + "item.stick.name": "Stick", + "item.bowl.name": "Bowl", + "item.mushroomStew.name": "Mushroom Stew", + "item.swordGold.name": "Golden Sword", + "item.shovelGold.name": "Golden Shovel", + "item.pickaxeGold.name": "Golden Pickaxe", + "item.hatchetGold.name": "Golden Axe", + "item.string.name": "String", + "item.feather.name": "Feather", + "item.sulphur.name": "Gunpowder", + "item.hoeWood.name": "Wooden Hoe", + "item.hoeStone.name": "Stone Hoe", + "item.hoeIron.name": "Iron Hoe", + "item.hoeDiamond.name": "Diamond Hoe", + "item.hoeGold.name": "Golden Hoe", + "item.seeds.name": "Seeds", + "item.seeds_pumpkin.name": "Pumpkin Seeds", + "item.seeds_melon.name": "Melon Seeds", + "item.melon.name": "Melon", + "item.wheat.name": "Wheat", + "item.bread.name": "Bread", + "item.helmetCloth.name": "Leather Cap", + "item.chestplateCloth.name": "Leather Tunic", + "item.leggingsCloth.name": "Leather Pants", + "item.bootsCloth.name": "Leather Boots", + "item.helmetChain.name": "Chain Helmet", + "item.chestplateChain.name": "Chain Chestplate", + "item.leggingsChain.name": "Chain Leggings", + "item.bootsChain.name": "Chain Boots", + "item.helmetIron.name": "Iron Helmet", + "item.chestplateIron.name": "Iron Chestplate", + "item.leggingsIron.name": "Iron Leggings", + "item.bootsIron.name": "Iron Boots", + "item.helmetDiamond.name": "Diamond Helmet", + "item.chestplateDiamond.name": "Diamond Chestplate", + "item.leggingsDiamond.name": "Diamond Leggings", + "item.bootsDiamond.name": "Diamond Boots", + "item.helmetGold.name": "Golden Helmet", + "item.chestplateGold.name": "Golden Chestplate", + "item.leggingsGold.name": "Golden Leggings", + "item.bootsGold.name": "Golden Boots", + "item.flint.name": "Flint", + "item.porkchopRaw.name": "Raw Porkchop", + "item.porkchopCooked.name": "Cooked Porkchop", + "item.chickenRaw.name": "Raw Chicken", + "item.chickenCooked.name": "Cooked Chicken", + "item.muttonRaw.name": "Raw Mutton", + "item.muttonCooked.name": "Cooked Mutton", + "item.rabbitRaw.name": "Raw Rabbit", + "item.rabbitCooked.name": "Cooked Rabbit", + "item.rabbitStew.name": "Rabbit Stew", + "item.rabbitFoot.name": "Rabbit's Foot", + "item.rabbitHide.name": "Rabbit Hide", + "item.beefRaw.name": "Raw Beef", + "item.beefCooked.name": "Steak", + "item.painting.name": "Painting", + "item.frame.name": "Item Frame", + "item.appleGold.name": "Golden Apple", + "item.sign.name": "Sign", + "item.doorOak.name": "Oak Door", + "item.doorSpruce.name": "Spruce Door", + "item.doorBirch.name": "Birch Door", + "item.doorJungle.name": "Jungle Door", + "item.doorAcacia.name": "Acacia Door", + "item.doorDarkOak.name": "Dark Oak Door", + "item.bucket.name": "Bucket", + "item.bucketWater.name": "Water Bucket", + "item.bucketLava.name": "Lava Bucket", + "item.minecart.name": "Minecart", + "item.saddle.name": "Saddle", + "item.doorIron.name": "Iron Door", + "item.redstone.name": "Redstone", + "item.snowball.name": "Snowball", + "item.boat.name": "Boat", + "item.leather.name": "Leather", + "item.milk.name": "Milk", + "item.brick.name": "Brick", + "item.clay.name": "Clay", + "item.reeds.name": "Sugar Canes", + "item.paper.name": "Paper", + "item.book.name": "Book", + "item.slimeball.name": "Slimeball", + "item.minecartChest.name": "Minecart with Chest", + "item.minecartFurnace.name": "Minecart with Furnace", + "item.minecartTnt.name": "Minecart with TNT", + "item.minecartHopper.name": "Minecart with Hopper", + "item.minecartCommandBlock.name": "Minecart with Command Block", + "item.egg.name": "Egg", + "item.compass.name": "Compass", + "item.fishingRod.name": "Fishing Rod", + "item.clock.name": "Clock", + "item.yellowDust.name": "Glowstone Dust", + "item.fish.cod.raw.name": "Raw Fish", + "item.fish.salmon.raw.name": "Raw Salmon", + "item.fish.pufferfish.raw.name": "Pufferfish", + "item.fish.clownfish.raw.name": "Clownfish", + "item.fish.cod.cooked.name": "Cooked Fish", + "item.fish.salmon.cooked.name": "Cooked Salmon", + "item.record.name": "Music Disc", + "item.record.13.desc": "C418 - 13", + "item.record.cat.desc": "C418 - cat", + "item.record.blocks.desc": "C418 - blocks", + "item.record.chirp.desc": "C418 - chirp", + "item.record.far.desc": "C418 - far", + "item.record.mall.desc": "C418 - mall", + "item.record.mellohi.desc": "C418 - mellohi", + "item.record.stal.desc": "C418 - stal", + "item.record.strad.desc": "C418 - strad", + "item.record.ward.desc": "C418 - ward", + "item.record.11.desc": "C418 - 11", + "item.record.wait.desc": "C418 - wait", + "item.bone.name": "Bone", + "item.dyePowder.black.name": "Ink Sac", + "item.dyePowder.red.name": "Rose Red", + "item.dyePowder.green.name": "Cactus Green", + "item.dyePowder.brown.name": "Cocoa Beans", + "item.dyePowder.blue.name": "Lapis Lazuli", + "item.dyePowder.purple.name": "Purple Dye", + "item.dyePowder.cyan.name": "Cyan Dye", + "item.dyePowder.silver.name": "Light Gray Dye", + "item.dyePowder.gray.name": "Gray Dye", + "item.dyePowder.pink.name": "Pink Dye", + "item.dyePowder.lime.name": "Lime Dye", + "item.dyePowder.yellow.name": "Dandelion Yellow", + "item.dyePowder.lightBlue.name": "Light Blue Dye", + "item.dyePowder.magenta.name": "Magenta Dye", + "item.dyePowder.orange.name": "Orange Dye", + "item.dyePowder.white.name": "Bone Meal", + "item.sugar.name": "Sugar", + "item.cake.name": "Cake", + "item.bed.name": "Bed", + "item.diode.name": "Redstone Repeater", + "item.comparator.name": "Redstone Comparator", + "item.map.name": "Map", + "item.leaves.name": "Leaves", + "item.shears.name": "Shears", + "item.rottenFlesh.name": "Rotten Flesh", + "item.enderPearl.name": "Ender Pearl", + "item.blazeRod.name": "Blaze Rod", + "item.ghastTear.name": "Ghast Tear", + "item.netherStalkSeeds.name": "Nether Wart", + "item.potion.name": "Potion", + "item.emptyPotion.name": "Water Bottle", + "item.goldNugget.name": "Gold Nugget", + "item.glassBottle.name": "Glass Bottle", + "item.spiderEye.name": "Spider Eye", + "item.fermentedSpiderEye.name": "Fermented Spider Eye", + "item.blazePowder.name": "Blaze Powder", + "item.magmaCream.name": "Magma Cream", + "item.cauldron.name": "Cauldron", + "item.brewingStand.name": "Brewing Stand", + "item.eyeOfEnder.name": "Eye of Ender", + "item.speckledMelon.name": "Glistering Melon", + "item.monsterPlacer.name": "Spawn", + "item.expBottle.name": "Bottle o' Enchanting", + "item.fireball.name": "Fire Charge", + "item.writingBook.name": "Book and Quill", + "item.writtenBook.name": "Written Book", + "item.ruby.name": "Ruby", + "item.flowerPot.name": "Flower Pot", + "item.emptyMap.name": "Empty Map", + "item.carrots.name": "Carrot", + "item.carrotGolden.name": "Golden Carrot", + "item.potato.name": "Potato", + "item.potatoBaked.name": "Baked Potato", + "item.potatoPoisonous.name": "Poisonous Potato", + "item.skull.skeleton.name": "Skeleton Skull", + "item.skull.wither.name": "Wither Skeleton Skull", + "item.skull.zombie.name": "Zombie Head", + "item.skull.char.name": "Head", + "item.skull.player.name": "%s's Head", + "item.skull.creeper.name": "Creeper Head", + "item.carrotOnAStick.name": "Carrot on a Stick", + "item.netherStar.name": "Nether Star", + "item.pumpkinPie.name": "Pumpkin Pie", + "item.enchantedBook.name": "Enchanted Book", + "item.fireworks.name": "Firework Rocket", + "item.fireworks.flight": "Flight Duration:", + "item.fireworksCharge.name": "Firework Star", + "item.fireworksCharge.black": "Black", + "item.fireworksCharge.red": "Red", + "item.fireworksCharge.green": "Green", + "item.fireworksCharge.brown": "Brown", + "item.fireworksCharge.blue": "Blue", + "item.fireworksCharge.purple": "Purple", + "item.fireworksCharge.cyan": "Cyan", + "item.fireworksCharge.silver": "Light Gray", + "item.fireworksCharge.gray": "Gray", + "item.fireworksCharge.pink": "Pink", + "item.fireworksCharge.lime": "Lime", + "item.fireworksCharge.yellow": "Yellow", + "item.fireworksCharge.lightBlue": "Light Blue", + "item.fireworksCharge.magenta": "Magenta", + "item.fireworksCharge.orange": "Orange", + "item.fireworksCharge.white": "White", + "item.fireworksCharge.customColor": "Custom", + "item.fireworksCharge.fadeTo": "Fade to", + "item.fireworksCharge.flicker": "Twinkle", + "item.fireworksCharge.trail": "Trail", + "item.fireworksCharge.type.0": "Small Ball", + "item.fireworksCharge.type.1": "Large Ball", + "item.fireworksCharge.type.2": "Star-shaped", + "item.fireworksCharge.type.3": "Creeper-shaped", + "item.fireworksCharge.type.4": "Burst", + "item.fireworksCharge.type": "Unknown Shape", + "item.netherbrick.name": "Nether Brick", + "item.netherquartz.name": "Nether Quartz", + "item.armorStand.name": "Armor Stand", + "item.horsearmormetal.name": "Iron Horse Armor", + "item.horsearmorgold.name": "Gold Horse Armor", + "item.horsearmordiamond.name": "Diamond Horse Armor", + "item.prismarineShard.name": "Prismarine Shard", + "item.prismarineCrystals.name": "Prismarine Crystals", + "container.inventory": "Inventory", + "container.hopper": "Item Hopper", + "container.crafting": "Crafting", + "container.dispenser": "Dispenser", + "container.dropper": "Dropper", + "container.furnace": "Furnace", + "container.enchant": "Enchant", + "container.enchant.lapis.one": "1 Lapis Lazuli", + "container.enchant.lapis.many": "%d Lapis Lazuli", + "container.enchant.level.one": "1 Enchantment Level", + "container.enchant.level.many": "%d Enchantment Levels", + "container.enchant.clue": "%s . . . ?", + "container.repair": "Repair & Name", + "container.repair.cost": "Enchantment Cost: %1$d", + "container.repair.expensive": "Too Expensive!", + "container.creative": "Item Selection", + "container.brewing": "Brewing Stand", + "container.chest": "Chest", + "container.chestDouble": "Large Chest", + "container.minecart": "Minecart", + "container.enderchest": "Ender Chest", + "container.beacon": "Beacon", + "container.isLocked": "%s is locked!", + "item.dyed": "Dyed", + "item.unbreakable": "Unbreakable", + "item.canBreak": "Can break:", + "item.canPlace": "Can be placed on:", + "entity.Item.name": "Item", + "entity.XPOrb.name": "Experience Orb", + "entity.SmallFireball.name": "Small Fireball", + "entity.Fireball.name": "Fireball", + "entity.ThrownPotion.name": "Potion", + "entity.Arrow.name": "Arrow", + "entity.Snowball.name": "Snowball", + "entity.Painting.name": "Painting", + "entity.ArmorStand.name": "Armor Stand", + "entity.Mob.name": "Mob", + "entity.Monster.name": "Monster", + "entity.Creeper.name": "Creeper", + "entity.Skeleton.name": "Skeleton", + "entity.Spider.name": "Spider", + "entity.Giant.name": "Giant", + "entity.Zombie.name": "Zombie", + "entity.Slime.name": "Slime", + "entity.Ghast.name": "Ghast", + "entity.PigZombie.name": "Zombie Pigman", + "entity.Enderman.name": "Enderman", + "entity.Endermite.name": "Endermite", + "entity.Silverfish.name": "Silverfish", + "entity.CaveSpider.name": "Cave Spider", + "entity.Blaze.name": "Blaze", + "entity.LavaSlime.name": "Magma Cube", + "entity.MushroomCow.name": "Mooshroom", + "entity.Villager.name": "Villager", + "entity.VillagerGolem.name": "Iron Golem", + "entity.SnowMan.name": "Snow Golem", + "entity.EnderDragon.name": "Ender Dragon", + "entity.WitherBoss.name": "Wither", + "entity.Witch.name": "Witch", + "entity.Guardian.name": "Guardian", + "entity.Villager.farmer": "Farmer", + "entity.Villager.fisherman": "Fisherman", + "entity.Villager.shepherd": "Shepherd", + "entity.Villager.fletcher": "Fletcher", + "entity.Villager.librarian": "Librarian", + "entity.Villager.cleric": "Cleric", + "entity.Villager.armor": "Armorer", + "entity.Villager.weapon": "Weapon Smith", + "entity.Villager.tool": "Tool Smith", + "entity.Villager.butcher": "Butcher", + "entity.Villager.leather": "Leatherworker", + "entity.Pig.name": "Pig", + "entity.Sheep.name": "Sheep", + "entity.Cow.name": "Cow", + "entity.Chicken.name": "Chicken", + "entity.Squid.name": "Squid", + "entity.Wolf.name": "Wolf", + "entity.Ozelot.name": "Ocelot", + "entity.Cat.name": "Cat", + "entity.Bat.name": "Bat", + "entity.EntityHorse.name": "Horse", + "entity.horse.name": "Horse", + "entity.donkey.name": "Donkey", + "entity.mule.name": "Mule", + "entity.skeletonhorse.name": "Skeleton Horse", + "entity.zombiehorse.name": "Zombie Horse", + "entity.Rabbit.name": "Rabbit", + "entity.KillerBunny.name": "The Killer Bunny", + "entity.PrimedTnt.name": "Block of TNT", + "entity.FallingSand.name": "Falling Block", + "entity.Minecart.name": "Minecart", + "entity.Boat.name": "Boat", + "entity.generic.name": "unknown", + "death.fell.accident.ladder": "%1$s fell off a ladder", + "death.fell.accident.vines": "%1$s fell off some vines", + "death.fell.accident.water": "%1$s fell out of the water", + "death.fell.accident.generic": "%1$s fell from a high place", + "death.fell.killer": "%1$s was doomed to fall", + "death.fell.assist": "%1$s was doomed to fall by %2$s", + "death.fell.assist.item": "%1$s was doomed to fall by %2$s using %3$s", + "death.fell.finish": "%1$s fell too far and was finished by %2$s", + "death.fell.finish.item": "%1$s fell too far and was finished by %2$s using %3$s", + "death.attack.lightningBolt": "%1$s was struck by lightning", + "death.attack.inFire": "%1$s went up in flames", + "death.attack.inFire.player": "%1$s walked into fire whilst fighting %2$s", + "death.attack.onFire": "%1$s burned to death", + "death.attack.onFire.player": "%1$s was burnt to a crisp whilst fighting %2$s", + "death.attack.lava": "%1$s tried to swim in lava", + "death.attack.lava.player": "%1$s tried to swim in lava to escape %2$s", + "death.attack.inWall": "%1$s suffocated in a wall", + "death.attack.drown": "%1$s drowned", + "death.attack.drown.player": "%1$s drowned whilst trying to escape %2$s", + "death.attack.starve": "%1$s starved to death", + "death.attack.cactus": "%1$s was pricked to death", + "death.attack.cactus.player": "%1$s walked into a cactus whilst trying to escape %2$s", + "death.attack.generic": "%1$s died", + "death.attack.explosion": "%1$s blew up", + "death.attack.explosion.player": "%1$s was blown up by %2$s", + "death.attack.magic": "%1$s was killed by magic", + "death.attack.wither": "%1$s withered away", + "death.attack.anvil": "%1$s was squashed by a falling anvil", + "death.attack.fallingBlock": "%1$s was squashed by a falling block", + "death.attack.mob": "%1$s was slain by %2$s", + "death.attack.player": "%1$s was slain by %2$s", + "death.attack.player.item": "%1$s was slain by %2$s using %3$s", + "death.attack.arrow": "%1$s was shot by %2$s", + "death.attack.arrow.item": "%1$s was shot by %2$s using %3$s", + "death.attack.fireball": "%1$s was fireballed by %2$s", + "death.attack.fireball.item": "%1$s was fireballed by %2$s using %3$s", + "death.attack.thrown": "%1$s was pummeled by %2$s", + "death.attack.thrown.item": "%1$s was pummeled by %2$s using %3$s", + "death.attack.indirectMagic": "%1$s was killed by %2$s using magic", + "death.attack.indirectMagic.item": "%1$s was killed by %2$s using %3$s", + "death.attack.thorns": "%1$s was killed trying to hurt %2$s", + "death.attack.fall": "%1$s hit the ground too hard", + "death.attack.outOfWorld": "%1$s fell out of the world", + "deathScreen.respawn": "Respawn", + "deathScreen.deleteWorld": "Delete world", + "deathScreen.titleScreen": "Title screen", + "deathScreen.score": "Score", + "deathScreen.title.hardcore": "Game over!", + "deathScreen.hardcoreInfo": "You cannot respawn in hardcore mode!", + "deathScreen.title": "You died!", + "deathScreen.leaveServer": "Leave server", + "deathScreen.quit.confirm": "Are you sure you want to quit?", + "potion.effects.whenDrank": "When Applied:", + "potion.empty": "No Effects", + "potion.moveSpeed": "Speed", + "potion.moveSlowdown": "Slowness", + "potion.digSpeed": "Haste", + "potion.digSlowDown": "Mining Fatigue", + "potion.damageBoost": "Strength", + "potion.heal": "Instant Health", + "potion.harm": "Instant Damage", + "potion.jump": "Jump Boost", + "potion.confusion": "Nausea", + "potion.regeneration": "Regeneration", + "potion.resistance": "Resistance", + "potion.fireResistance": "Fire Resistance", + "potion.waterBreathing": "Water Breathing", + "potion.invisibility": "Invisibility", + "potion.blindness": "Blindness", + "potion.nightVision": "Night Vision", + "potion.hunger": "Hunger", + "potion.weakness": "Weakness", + "potion.poison": "Poison", + "potion.wither": "Wither", + "potion.healthBoost": "Health Boost", + "potion.absorption": "Absorption", + "potion.saturation": "Saturation", + "potion.moveSpeed.postfix": "Potion of Swiftness", + "potion.moveSlowdown.postfix": "Potion of Slowness", + "potion.digSpeed.postfix": "Potion of Haste", + "potion.digSlowDown.postfix": "Potion of Dullness", + "potion.damageBoost.postfix": "Potion of Strength", + "potion.weakness.postfix": "Potion of Weakness", + "potion.heal.postfix": "Potion of Healing", + "potion.harm.postfix": "Potion of Harming", + "potion.jump.postfix": "Potion of Leaping", + "potion.confusion.postfix": "Potion of Nausea", + "potion.regeneration.postfix": "Potion of Regeneration", + "potion.resistance.postfix": "Potion of Resistance", + "potion.fireResistance.postfix": "Potion of Fire Resistance", + "potion.waterBreathing.postfix": "Potion of Water Breathing", + "potion.invisibility.postfix": "Potion of Invisibility", + "potion.blindness.postfix": "Potion of Blindness", + "potion.nightVision.postfix": "Potion of Night Vision", + "potion.hunger.postfix": "Potion of Hunger", + "potion.poison.postfix": "Potion of Poison", + "potion.wither.postfix": "Potion of Decay", + "potion.healthBoost.postfix": "Potion of Health Boost", + "potion.absorption.postfix": "Potion of Absorption", + "potion.saturation.postfix": "Potion of Saturation", + "potion.potency.1": "II", + "potion.potency.2": "III", + "potion.potency.3": "IV", + "potion.prefix.grenade": "Splash", + "potion.prefix.mundane": "Mundane", + "potion.prefix.uninteresting": "Uninteresting", + "potion.prefix.bland": "Bland", + "potion.prefix.clear": "Clear", + "potion.prefix.milky": "Milky", + "potion.prefix.diffuse": "Diffuse", + "potion.prefix.artless": "Artless", + "potion.prefix.thin": "Thin", + "potion.prefix.awkward": "Awkward", + "potion.prefix.flat": "Flat", + "potion.prefix.bulky": "Bulky", + "potion.prefix.bungling": "Bungling", + "potion.prefix.buttered": "Buttered", + "potion.prefix.smooth": "Smooth", + "potion.prefix.suave": "Suave", + "potion.prefix.debonair": "Debonair", + "potion.prefix.thick": "Thick", + "potion.prefix.elegant": "Elegant", + "potion.prefix.fancy": "Fancy", + "potion.prefix.charming": "Charming", + "potion.prefix.dashing": "Dashing", + "potion.prefix.refined": "Refined", + "potion.prefix.cordial": "Cordial", + "potion.prefix.sparkling": "Sparkling", + "potion.prefix.potent": "Potent", + "potion.prefix.foul": "Foul", + "potion.prefix.odorless": "Odorless", + "potion.prefix.rank": "Rank", + "potion.prefix.harsh": "Harsh", + "potion.prefix.acrid": "Acrid", + "potion.prefix.gross": "Gross", + "potion.prefix.stinky": "Stinky", + "enchantment.damage.all": "Sharpness", + "enchantment.damage.undead": "Smite", + "enchantment.damage.arthropods": "Bane of Arthropods", + "enchantment.knockback": "Knockback", + "enchantment.fire": "Fire Aspect", + "enchantment.protect.all": "Protection", + "enchantment.protect.fire": "Fire Protection", + "enchantment.protect.fall": "Feather Falling", + "enchantment.protect.explosion": "Blast Protection", + "enchantment.protect.projectile": "Projectile Protection", + "enchantment.oxygen": "Respiration", + "enchantment.waterWorker": "Aqua Affinity", + "enchantment.waterWalker": "Depth Strider", + "enchantment.digging": "Efficiency", + "enchantment.untouching": "Silk Touch", + "enchantment.durability": "Unbreaking", + "enchantment.lootBonus": "Looting", + "enchantment.lootBonusDigger": "Fortune", + "enchantment.lootBonusFishing": "Luck of the Sea", + "enchantment.fishingSpeed": "Lure", + "enchantment.arrowDamage": "Power", + "enchantment.arrowFire": "Flame", + "enchantment.arrowKnockback": "Punch", + "enchantment.arrowInfinite": "Infinity", + "enchantment.thorns": "Thorns", + "enchantment.level.1": "I", + "enchantment.level.2": "II", + "enchantment.level.3": "III", + "enchantment.level.4": "IV", + "enchantment.level.5": "V", + "enchantment.level.6": "VI", + "enchantment.level.7": "VII", + "enchantment.level.8": "VIII", + "enchantment.level.9": "IX", + "enchantment.level.10": "X", + "gui.achievements": "Achievements", + "gui.stats": "Statistics", + "stats.tooltip.type.achievement": "Achievement", + "stats.tooltip.type.statistic": "Statistic", + "stat.generalButton": "General", + "stat.blocksButton": "Blocks", + "stat.itemsButton": "Items", + "stat.mobsButton": "Mobs", + "stat.used": "Times Used", + "stat.mined": "Times Mined", + "stat.depleted": "Times Depleted", + "stat.crafted": "Times Crafted", + "stat.entityKills": "You killed %d %s", + "stat.entityKilledBy": "%s killed you %d time(s)", + "stat.entityKills.none": "You have never killed %s", + "stat.entityKilledBy.none": "You have never been killed by %s", + "stat.startGame": "Times played", + "stat.createWorld": "Worlds created", + "stat.loadWorld": "Saves loaded", + "stat.joinMultiplayer": "Multiplayer joins", + "stat.leaveGame": "Games quit", + "stat.playOneMinute": "Minutes Played", + "stat.timeSinceDeath": "Since Last Death", + "stat.walkOneCm": "Distance Walked", + "stat.crouchOneCm": "Distance Crouched", + "stat.sprintOneCm": "Distance Sprinted", + "stat.fallOneCm": "Distance Fallen", + "stat.swimOneCm": "Distance Swum", + "stat.flyOneCm": "Distance Flown", + "stat.climbOneCm": "Distance Climbed", + "stat.diveOneCm": "Distance Dove", + "stat.minecartOneCm": "Distance by Minecart", + "stat.boatOneCm": "Distance by Boat", + "stat.pigOneCm": "Distance by Pig", + "stat.horseOneCm": "Distance by Horse", + "stat.jump": "Jumps", + "stat.drop": "Items Dropped", + "stat.damageDealt": "Damage Dealt", + "stat.damageTaken": "Damage Taken", + "stat.deaths": "Number of Deaths", + "stat.mobKills": "Mob Kills", + "stat.animalsBred": "Animals Bred", + "stat.playerKills": "Player Kills", + "stat.fishCaught": "Fish Caught", + "stat.treasureFished": "Treasure Fished", + "stat.junkFished": "Junk Fished", + "stat.talkedToVillager": "Talked to Villagers", + "stat.tradedWithVillager": "Traded with Villagers", + "stat.cakeSlicesEaten": "Cake Slices Eaten", + "stat.cauldronFilled": "Cauldrons Filled", + "stat.cauldronUsed": "Water Taken from Cauldron", + "stat.armorCleaned": "Armor Pieces Cleaned", + "stat.bannerCleaned": "Banners Cleaned", + "stat.brewingstandInteraction": "Interactions with Brewing Stand", + "stat.beaconInteraction": "Interactions with Beacon", + "stat.dropperInspected": "Droppers Searched", + "stat.hopperInspected": "Hoppers Searched", + "stat.dispenserInspected": "Dispensers Searched", + "stat.noteblockPlayed": "Noteblocks played", + "stat.noteblockTuned": "Noteblocks tuned", + "stat.flowerPotted": "Plants potted", + "stat.trappedChestTriggered": "Trapped Chests Triggered", + "stat.enderchestOpened": "Ender Chests Opened", + "stat.itemEnchanted": "Items Enchanted", + "stat.recordPlayed": "Records Played", + "stat.furnaceInteraction": "Interactions with Furnace", + "stat.workbenchInteraction": "Interactions with Crafting Table", + "stat.chestOpened": "Chests Opened", + "stat.mineBlock": "%1$s Mined", + "stat.craftItem": "%1$s Crafted", + "stat.useItem": "%1$s Used", + "stat.breakItem": "%1$s Depleted", + "achievement.get": "Achievement get!", + "achievement.taken": "Taken!", + "achievement.unknown": "???", + "achievement.requires": "Requires '%1$s'", + "achievement.openInventory": "Taking Inventory", + "achievement.openInventory.desc": "Press '%1$s' to open your inventory.", + "achievement.mineWood": "Getting Wood", + "achievement.mineWood.desc": "Attack a tree until a block of wood pops out", + "achievement.buildWorkBench": "Benchmarking", + "achievement.buildWorkBench.desc": "Craft a workbench with four blocks of planks", + "achievement.buildPickaxe": "Time to Mine!", + "achievement.buildPickaxe.desc": "Use planks and sticks to make a pickaxe", + "achievement.buildFurnace": "Hot Topic", + "achievement.buildFurnace.desc": "Construct a furnace out of eight stone blocks", + "achievement.acquireIron": "Acquire Hardware", + "achievement.acquireIron.desc": "Smelt an iron ingot", + "achievement.buildHoe": "Time to Farm!", + "achievement.buildHoe.desc": "Use planks and sticks to make a hoe", + "achievement.makeBread": "Bake Bread", + "achievement.makeBread.desc": "Turn wheat into bread", + "achievement.bakeCake": "The Lie", + "achievement.bakeCake.desc": "Wheat, sugar, milk and eggs!", + "achievement.buildBetterPickaxe": "Getting an Upgrade", + "achievement.buildBetterPickaxe.desc": "Construct a better pickaxe", + "achievement.overpowered": "Overpowered", + "achievement.overpowered.desc": "Build a Notch apple", + "achievement.cookFish": "Delicious Fish", + "achievement.cookFish.desc": "Catch and cook fish!", + "achievement.onARail": "On A Rail", + "achievement.onARail.desc": "Travel by minecart at least 1 km from where you started", + "achievement.buildSword": "Time to Strike!", + "achievement.buildSword.desc": "Use planks and sticks to make a sword", + "achievement.killEnemy": "Monster Hunter", + "achievement.killEnemy.desc": "Attack and destroy a monster", + "achievement.killCow": "Cow Tipper", + "achievement.killCow.desc": "Harvest some leather", + "achievement.breedCow": "Repopulation", + "achievement.breedCow.desc": "Breed two cows with wheat", + "achievement.flyPig": "When Pigs Fly", + "achievement.flyPig.desc": "Fly a pig off a cliff", + "achievement.snipeSkeleton": "Sniper Duel", + "achievement.snipeSkeleton.desc": "Kill a skeleton with an arrow from more than 50 meters", + "achievement.diamonds": "DIAMONDS!", + "achievement.diamonds.desc": "Acquire diamonds with your iron tools", + "achievement.diamondsToYou": "Diamonds to you!", + "achievement.diamondsToYou.desc": "Throw diamonds at another player.", + "achievement.portal": "We Need to Go Deeper", + "achievement.portal.desc": "Build a portal to the Nether", + "achievement.ghast": "Return to Sender", + "achievement.ghast.desc": "Destroy a Ghast with a fireball", + "achievement.blazeRod": "Into Fire", + "achievement.blazeRod.desc": "Relieve a Blaze of its rod", + "achievement.potion": "Local Brewery", + "achievement.potion.desc": "Brew a potion", + "achievement.theEnd": "The End?", + "achievement.theEnd.desc": "Locate the End", + "achievement.theEnd2": "The End.", + "achievement.theEnd2.desc": "Defeat the Ender Dragon", + "achievement.spawnWither": "The Beginning?", + "achievement.spawnWither.desc": "Spawn the Wither", + "achievement.killWither": "The Beginning.", + "achievement.killWither.desc": "Kill the Wither", + "achievement.fullBeacon": "Beaconator", + "achievement.fullBeacon.desc": "Create a full beacon", + "achievement.exploreAllBiomes": "Adventuring Time", + "achievement.exploreAllBiomes.desc": "Discover all biomes", + "achievement.enchantments": "Enchanter", + "achievement.enchantments.desc": "Use a book, obsidian and diamonds to construct an enchantment table", + "achievement.overkill": "Overkill", + "achievement.overkill.desc": "Deal nine hearts of damage in a single hit", + "achievement.bookcase": "Librarian", + "achievement.bookcase.desc": "Build some bookshelves to improve your enchantment table", + "commands.generic.exception": "An unknown error occurred while attempting to perform this command", + "commands.generic.permission": "You do not have permission to use this command", + "commands.generic.syntax": "Invalid command syntax", + "commands.generic.player.notFound": "That player cannot be found", + "commands.generic.entity.notFound": "That entity cannot be found", + "commands.generic.entity.invalidUuid": "The entity UUID provided is in an invalid format", + "commands.generic.entity.invalidType": "Entity type '%s' is invalid", + "commands.generic.notFound": "Unknown command. Try /help for a list of commands", + "commands.generic.parameter.invalid": "'%s' is not a valid parameter", + "commands.generic.num.invalid": "'%s' is not a valid number", + "commands.generic.boolean.invalid": "'%s' is not true or false", + "commands.generic.num.tooSmall": "The number you have entered (%d) is too small, it must be at least %d", + "commands.generic.num.tooBig": "The number you have entered (%d) is too big, it must be at most %d", + "commands.generic.double.tooSmall": "The number you have entered (%.2f) is too small, it must be at least %.2f", + "commands.generic.double.tooBig": "The number you have entered (%.2f) is too big, it must be at most %.2f", + "commands.generic.usage": "Usage: %s", + "commands.setidletimeout.usage": "/setidletimeout ", + "commands.setidletimeout.success": "Successfully set the idle timeout to %d minutes.", + "commands.xp.failure.widthdrawXp": "Cannot give player negative experience points", + "commands.xp.success": "Given %d experience to %s", + "commands.xp.success.levels": "Given %d levels to %s", + "commands.xp.success.negative.levels": "Taken %d levels from %s", + "commands.xp.usage": "/xp [player] OR /xp L [player]", + "commands.playsound.usage": "/playsound [x] [y] [z] [volume] [pitch] [minimumVolume]", + "commands.playsound.success": "Played sound '%s' to %s", + "commands.playsound.playerTooFar": "Player %s is too far away to hear the sound", + "commands.give.usage": "/give [amount] [data] [dataTag]", + "commands.give.item.notFound": "There is no such item with name %d", + "commands.give.block.notFound": "There is no such block with name %d", + "commands.give.success": "Given %s * %d to %s", + "commands.give.tagError": "Data tag parsing failed: %s", + "commands.replaceitem.usage": "/replaceitem ...", + "commands.replaceitem.entity.usage": "/replaceitem entity [amount] [data] [dataTag]", + "commands.replaceitem.block.usage": "/replaceitem block [amount] [data] [dataTag]", + "commands.replaceitem.tagError": "Data tag parsing failed: %s", + "commands.replaceitem.noContainer": "Block at %d, %d, %d is not a container", + "commands.replaceitem.failed": "Could not replace slot %d with %d * %s", + "commands.replaceitem.success": "Replaced slot %d with %d * %s", + "commands.stats.usage": "/stats ...", + "commands.stats.entity.usage": "/stats entity ", + "commands.stats.entity.set.usage": "/stats entity set ", + "commands.stats.entity.clear.usage": "/stats entity clear ", + "commands.stats.block.usage": "/stats block ...", + "commands.stats.block.set.usage": "/stats block set ", + "commands.stats.block.clear.usage": "/stats block clear ", + "commands.stats.noCompatibleBlock": "Block at %d, %d, %d can not track stats", + "commands.stats.failed": "Invalid parameters", + "commands.stats.cleared": "Cleared %s stats", + "commands.stats.success": "Storing %s stats in %s on %s", + "commands.summon.usage": "/summon [x] [y] [z] [dataTag]", + "commands.summon.success": "Object successfully summoned", + "commands.summon.failed": "Unable to summon object", + "commands.summon.tagError": "Data tag parsing failed: %s", + "commands.summon.outOfWorld": "Cannot summon the object out of the world", + "commands.testforblock.usage": "/testforblock [dataValue] [dataTag]", + "commands.testforblock.failed.tile": "The block at %d,%d,%d is %s (expected: %s).", + "commands.testforblock.failed.data": "The block at %d,%d,%d had the data value of %s (expected: %s).", + "commands.testforblock.failed.nbt": "The block at %d,%d,%d did not have the required NBT keys.", + "commands.testforblock.failed.tileEntity": "The block at %d,%d,%d is not a tile entity and cannot support tag matching.", + "commands.testforblock.success": "Successfully found the block at %d,%d,%d.", + "commands.testforblock.outOfWorld": "Cannot test for block outside of the world", + "commands.setblock.usage": "/setblock [dataValue] [oldBlockHandling] [dataTag]", + "commands.setblock.success": "Block placed", + "commands.setblock.failed": "Unable to place block", + "commands.setblock.tagError": "Data tag parsing failed: %s", + "commands.setblock.outOfWorld": "Cannot place block outside of the world", + "commands.setblock.notFound": "There is no such block with ID/name %s", + "commands.setblock.noChange": "The block couldn't be placed", + "commands.fill.usage": "/fill [dataValue] [oldBlockHandling] [dataTag]", + "commands.fill.outOfWorld": "Cannot place blocks outside of the world", + "commands.fill.tagError": "Data tag parsing failed: %s", + "commands.fill.success": "%d blocks filled", + "commands.fill.failed": "No blocks filled", + "commands.fill.tooManyBlocks": "Too many blocks in the specified area (%d > %d)", + "commands.clone.usage": "/clone [maskMode] [cloneMode]", + "commands.clone.outOfWorld": "Cannot access blocks outside of the world", + "commands.clone.noOverlap": "Source and destination can not overlap", + "commands.clone.success": "%d blocks cloned", + "commands.clone.failed": "No blocks cloned", + "commands.clone.tooManyBlocks": "Too many blocks in the specified area (%d > %d)", + "commands.compare.usage": "/testforblocks [mode]", + "commands.compare.outOfWorld": "Cannot access blocks outside of the world", + "commands.compare.failed": "Source and destination are not identical", + "commands.compare.success": "%d blocks compared", + "commands.compare.tooManyBlocks": "Too many blocks in the specified area (%d > %d)", + "commands.blockdata.usage": "/blockdata ", + "commands.blockdata.success": "Block data updated to: %s", + "commands.blockdata.tagError": "Data tag parsing failed: %s", + "commands.blockdata.outOfWorld": "Cannot change block outside of the world", + "commands.blockdata.notValid": "The target block is not a data holder block", + "commands.blockdata.failed": "The data tag did not change: %s", + "commands.entitydata.usage": "/entitydata ", + "commands.entitydata.success": "Entity data updated to: %s", + "commands.entitydata.tagError": "Data tag parsing failed: %s", + "commands.entitydata.noPlayers": "%s is a player and cannot be changed", + "commands.entitydata.failed": "The data tag did not change: %s", + "commands.effect.usage": "/effect [seconds] [amplifier] [hideParticles] OR /effect clear", + "commands.effect.notFound": "There is no such mob effect with ID %d", + "commands.effect.success": "Given %1$s (ID %2$d) * %3$d to %4$s for %5$d seconds", + "commands.effect.success.removed": "Took %1$s from %2$s", + "commands.effect.success.removed.all": "Took all effects from %s", + "commands.effect.failure.notActive": "Couldn't take %1$s from %2$s as they do not have the effect", + "commands.effect.failure.notActive.all": "Couldn't take any effects from %s as they do not have any", + "commands.enchant.usage": "/enchant [level]", + "commands.enchant.notFound": "There is no such enchantment with ID %d", + "commands.enchant.noItem": "The target doesn't hold an item", + "commands.enchant.cantEnchant": "The selected enchantment can't be added to the target item", + "commands.enchant.cantCombine": "%1$s can't be combined with %2$s", + "commands.enchant.success": "Enchanting succeeded", + "commands.particle.usage": "/particle [count] [mode]", + "commands.particle.success": "Playing effect %s for %d times", + "commands.particle.notFound": "Unknown effect name (%s)", + "commands.clear.usage": "/clear [player] [item] [data] [maxCount] [dataTag]", + "commands.clear.success": "Cleared the inventory of %s, removing %d items", + "commands.clear.testing": "%s has %d items that match the criteria", + "commands.clear.failure": "Could not clear the inventory of %s, no items to remove", + "commands.clear.tagError": "Data tag parsing failed: %s", + "commands.downfall.usage": "/toggledownfall", + "commands.downfall.success": "Toggled downfall", + "commands.time.usage": "/time ", + "commands.time.added": "Added %d to the time", + "commands.time.set": "Set the time to %d", + "commands.time.query": "Time is %d", + "commands.players.usage": "/list", + "commands.players.list": "There are %d/%d players online:", + "commands.banlist.ips": "There are %d total banned IP addresses:", + "commands.banlist.players": "There are %d total banned players:", + "commands.banlist.usage": "/banlist [ips|players]", + "commands.kill.usage": "/kill [player|entity]", + "commands.kill.successful": "Killed %s", + "commands.kick.success": "Kicked %s from the game", + "commands.kick.success.reason": "Kicked %s from the game: '%s'", + "commands.kick.usage": "/kick [reason ...]", + "commands.op.success": "Opped %s", + "commands.op.failed": "Could not op %s", + "commands.op.usage": "/op ", + "commands.deop.success": "De-opped %s", + "commands.deop.failed": "Could not de-op %s", + "commands.deop.usage": "/deop ", + "commands.say.usage": "/say ", + "commands.ban.success": "Banned player %s", + "commands.ban.failed": "Could not ban player %s", + "commands.ban.usage": "/ban [reason ...]", + "commands.unban.success": "Unbanned player %s", + "commands.unban.failed": "Could not unban player %s", + "commands.unban.usage": "/pardon ", + "commands.banip.invalid": "You have entered an invalid IP address or a player that is not online", + "commands.banip.success": "Banned IP address %s", + "commands.banip.success.players": "Banned IP address %s belonging to %s", + "commands.banip.usage": "/ban-ip [reason ...]", + "commands.unbanip.invalid": "You have entered an invalid IP address", + "commands.unbanip.success": "Unbanned IP address %s", + "commands.unbanip.usage": "/pardon-ip
", + "commands.save.usage": "/save-all", + "commands.save-on.alreadyOn": "Saving is already turned on.", + "commands.save-on.usage": "/save-on", + "commands.save-off.alreadyOff": "Saving is already turned off.", + "commands.save-off.usage": "/save-off", + "commands.save.enabled": "Turned on world auto-saving", + "commands.save.disabled": "Turned off world auto-saving", + "commands.save.start": "Saving...", + "commands.save.success": "Saved the world", + "commands.save.failed": "Saving failed: %s", + "commands.stop.usage": "/stop", + "commands.stop.start": "Stopping the server", + "commands.tp.success": "Teleported %s to %s", + "commands.tp.success.coordinates": "Teleported %s to %s, %s, %s", + "commands.tp.usage": "/tp [target player] OR /tp [target player] [ ]", + "commands.tp.notSameDimension": "Unable to teleport because players are not in the same dimension", + "commands.whitelist.list": "There are %d (out of %d seen) whitelisted players:", + "commands.whitelist.enabled": "Turned on the whitelist", + "commands.whitelist.disabled": "Turned off the whitelist", + "commands.whitelist.reloaded": "Reloaded the whitelist", + "commands.whitelist.add.success": "Added %s to the whitelist", + "commands.whitelist.add.failed": "Could not add %s to the whitelist", + "commands.whitelist.add.usage": "/whitelist add ", + "commands.whitelist.remove.success": "Removed %s from the whitelist", + "commands.whitelist.remove.failed": "Could not remove %s from the whitelist", + "commands.whitelist.remove.usage": "/whitelist remove ", + "commands.whitelist.usage": "/whitelist ", + "commands.scoreboard.usage": "/scoreboard ...", + "commands.scoreboard.noMultiWildcard": "Only one user wildcard allowed", + "commands.scoreboard.allMatchesFailed": "All matches failed", + "commands.scoreboard.teamNotFound": "No team was found by the name '%s'", + "commands.scoreboard.objectiveNotFound": "No objective was found by the name '%s'", + "commands.scoreboard.objectiveReadOnly": "The objective '%s' is read-only and cannot be set", + "commands.scoreboard.objectives.usage": "/scoreboard objectives ...", + "commands.scoreboard.objectives.setdisplay.usage": "/scoreboard objectives setdisplay [objective]", + "commands.scoreboard.objectives.setdisplay.invalidSlot": "No such display slot '%s'", + "commands.scoreboard.objectives.setdisplay.successCleared": "Cleared objective display slot '%s'", + "commands.scoreboard.objectives.setdisplay.successSet": "Set the display objective in slot '%s' to '%s'", + "commands.scoreboard.objectives.add.usage": "/scoreboard objectives add [display name ...]", + "commands.scoreboard.objectives.add.wrongType": "Invalid objective criteria type '%s'", + "commands.scoreboard.objectives.add.alreadyExists": "An objective with the name '%s' already exists", + "commands.scoreboard.objectives.add.tooLong": "The name '%s' is too long for an objective, it can be at most %d characters long", + "commands.scoreboard.objectives.add.displayTooLong": "The display name '%s' is too long for an objective, it can be at most %d characters long", + "commands.scoreboard.objectives.add.success": "Added new objective '%s' successfully", + "commands.scoreboard.objectives.remove.usage": "/scoreboard objectives remove ", + "commands.scoreboard.objectives.remove.success": "Removed objective '%s' successfully", + "commands.scoreboard.objectives.list.count": "Showing %d objective(s) on scoreboard:", + "commands.scoreboard.objectives.list.entry": "- %s: displays as '%s' and is type '%s'", + "commands.scoreboard.objectives.list.empty": "There are no objectives on the scoreboard", + "commands.scoreboard.players.usage": "/scoreboard players ...", + "commands.scoreboard.players.name.tooLong": "The name '%s' is too long for a player, it can be at most %d characters long", + "commands.scoreboard.players.set.success": "Set score of %s for player %s to %d", + "commands.scoreboard.players.set.tagMismatch": "The dataTag does not match for %s", + "commands.scoreboard.players.set.tagError": "Could not parse dataTag, reason: %s", + "commands.scoreboard.players.set.usage": "/scoreboard players set [dataTag]", + "commands.scoreboard.players.add.usage": "/scoreboard players add [dataTag]", + "commands.scoreboard.players.remove.usage": "/scoreboard players remove [dataTag]", + "commands.scoreboard.players.reset.usage": "/scoreboard players reset [objective]", + "commands.scoreboard.players.reset.success": "Reset scores of player %s", + "commands.scoreboard.players.resetscore.success": "Reset score %s of player %s", + "commands.scoreboard.players.list.usage": "/scoreboard players list [name]", + "commands.scoreboard.players.list.count": "Showing %d tracked players on the scoreboard:", + "commands.scoreboard.players.list.empty": "There are no tracked players on the scoreboard", + "commands.scoreboard.players.list.player.count": "Showing %d tracked objective(s) for %s:", + "commands.scoreboard.players.list.player.entry": "- %2$s: %1$d (%3$s)", + "commands.scoreboard.players.list.player.empty": "Player %s has no scores recorded", + "commands.scoreboard.players.enable.usage": "/scoreboard players enable ", + "commands.scoreboard.players.enable.success": "Enabled trigger %s for %s", + "commands.scoreboard.players.enable.noTrigger": "Objective %s is not a trigger", + "commands.scoreboard.players.test.usage": "/scoreboard players test ", + "commands.scoreboard.players.test.notFound": "No %s score for %s found", + "commands.scoreboard.players.test.failed": "Score %d is NOT in range %d to %d", + "commands.scoreboard.players.test.success": "Score %d is in range %d to %d", + "commands.scoreboard.players.operation.usage": "/scoreboard players operation ", + "commands.scoreboard.players.operation.notFound": "No %s score for %s found", + "commands.scoreboard.players.operation.invalidOperation": "Invalid operation %s", + "commands.scoreboard.players.operation.success": "Operation applied successfully", + "commands.scoreboard.teams.usage": "/scoreboard teams ...", + "commands.scoreboard.teams.add.usage": "/scoreboard teams add [display name ...]", + "commands.scoreboard.teams.add.alreadyExists": "A team with the name '%s' already exists", + "commands.scoreboard.teams.add.tooLong": "The name '%s' is too long for a team, it can be at most %d characters long", + "commands.scoreboard.teams.add.displayTooLong": "The display name '%s' is too long for a team, it can be at most %d characters long", + "commands.scoreboard.teams.add.success": "Added new team '%s' successfully", + "commands.scoreboard.teams.list.usage": "/scoreboard teams list [name]", + "commands.scoreboard.teams.list.count": "Showing %d teams on the scoreboard:", + "commands.scoreboard.teams.list.entry": "- %1$s: '%2$s' has %3$d players", + "commands.scoreboard.teams.list.empty": "There are no teams registered on the scoreboard", + "commands.scoreboard.teams.list.player.count": "Showing %d player(s) in team %s:", + "commands.scoreboard.teams.list.player.entry": "- %2$s: %1$d (%3$s)", + "commands.scoreboard.teams.list.player.empty": "Team %s has no players", + "commands.scoreboard.teams.empty.usage": "/scoreboard teams empty ", + "commands.scoreboard.teams.empty.alreadyEmpty": "Team %s is already empty, cannot remove nonexistant players", + "commands.scoreboard.teams.empty.success": "Removed all %d player(s) from team %s", + "commands.scoreboard.teams.remove.usage": "/scoreboard teams remove ", + "commands.scoreboard.teams.remove.success": "Removed team %s", + "commands.scoreboard.teams.join.usage": "/scoreboard teams join [player]", + "commands.scoreboard.teams.join.success": "Added %d player(s) to team %s: %s", + "commands.scoreboard.teams.join.failure": "Could not add %d player(s) to team %s: %s", + "commands.scoreboard.teams.leave.usage": "/scoreboard teams leave [player]", + "commands.scoreboard.teams.leave.success": "Removed %d player(s) from their teams: %s", + "commands.scoreboard.teams.leave.failure": "Could not remove %d player(s) from their teams: %s", + "commands.scoreboard.teams.leave.noTeam": "You are not in a team", + "commands.scoreboard.teams.option.usage": "/scoreboard teams option ", + "commands.scoreboard.teams.option.noValue": "Valid values for option %s are: %s", + "commands.scoreboard.teams.option.success": "Set option %s for team %s to %s", + "commands.execute.usage": "/execute OR /execute detect ", + "commands.execute.allInvocationsFailed": "All invocations failed: '%s'", + "commands.execute.failed": "Failed to execute '%s' as %s", + "commands.gamemode.success.self": "Set own game mode to %s", + "commands.gamemode.success.other": "Set %s's game mode to %s", + "commands.gamemode.usage": "/gamemode [player]", + "commands.defaultgamemode.usage": "/defaultgamemode ", + "commands.defaultgamemode.success": "The world's default game mode is now %s", + "commands.me.usage": "/me ", + "commands.help.header": "--- Showing help page %d of %d (/help ) ---", + "commands.help.footer": "Tip: Use the key while typing a command to auto-complete the command or its arguments", + "commands.help.usage": "/help [page|command name]", + "commands.trigger.usage": "/trigger ", + "commands.trigger.invalidObjective": "Invalid trigger name %s", + "commands.trigger.invalidMode": "Invalid trigger mode %s", + "commands.trigger.disabled": "Trigger %s is not enabled", + "commands.trigger.invalidPlayer": "Only players can use the /trigger command", + "commands.trigger.success": "Trigger %s changed with %s %s", + "commands.publish.usage": "/publish", + "commands.publish.started": "Local game hosted on port %s", + "commands.publish.failed": "Unable to host local game", + "commands.debug.start": "Started debug profiling", + "commands.debug.stop": "Stopped debug profiling after %.2f seconds (%d ticks)", + "commands.debug.notStarted": "Can't stop profiling when we haven't started yet!", + "commands.debug.usage": "/debug ", + "commands.chunkinfo.usage": "/chunkinfo [ ]", + "commands.chunkinfo.location": "Chunk location: (%d, %d, %d)", + "commands.chunkinfo.noChunk": "No chunk found at chunk position %d, %d, %d", + "commands.chunkinfo.notEmpty": "Chunk is not empty.", + "commands.chunkinfo.empty": "Chunk is empty.", + "commands.chunkinfo.notCompiled": "Chunk is not compiled.", + "commands.chunkinfo.compiled": "Chunk is compiled.", + "commands.chunkinfo.hasNoRenderableLayers": "Chunk has no renderable layers.", + "commands.chunkinfo.hasLayers": "Chunk has layers: %s", + "commands.chunkinfo.isEmpty": "Chunk has empty layers: %s", + "commands.chunkinfo.vertices": "%s layer's buffer contains %d vertices", + "commands.chunkinfo.data": "First 64 vertices are: %s", + "commands.tellraw.usage": "/tellraw ", + "commands.tellraw.jsonException": "Invalid json: %s", + "commands.message.usage": "/tell ", + "commands.message.sameTarget": "You can't send a private message to yourself!", + "commands.message.display.outgoing": "You whisper to %s: %s", + "commands.message.display.incoming": "%s whispers to you: %s", + "commands.difficulty.usage": "/difficulty ", + "commands.difficulty.success": "Set game difficulty to %s", + "commands.spawnpoint.usage": "/spawnpoint [player] [ ]", + "commands.spawnpoint.success": "Set %s's spawn point to (%d, %d, %d)", + "commands.setworldspawn.usage": "/setworldspawn [ ]", + "commands.setworldspawn.success": "Set the world spawn point to (%d, %d, %d)", + "commands.gamerule.usage": "/gamerule [value]", + "commands.gamerule.success": "Game rule has been updated", + "commands.gamerule.norule": "No game rule called '%s' is available", + "commands.gamerule.nopermission": "Only server owners can change '%s'", + "commands.weather.usage": "/weather [duration in seconds]", + "commands.weather.clear": "Changing to clear weather", + "commands.weather.rain": "Changing to rainy weather", + "commands.weather.thunder": "Changing to rain and thunder", + "commands.testfor.usage": "/testfor [dataTag]", + "commands.testfor.failure": "%s did not match the required data structure", + "commands.testfor.success": "Found %s", + "commands.testfor.tagError": "Data tag parsing failed: %s", + "commands.seed.usage": "/seed", + "commands.seed.success": "Seed: %s", + "commands.spreadplayers.usage": "/spreadplayers ", + "commands.spreadplayers.spreading.teams": "Spreading %s teams %s blocks around %s,%s (min %s blocks apart)", + "commands.spreadplayers.spreading.players": "Spreading %s players %s blocks around %s,%s (min %s blocks apart)", + "commands.spreadplayers.success.teams": "Successfully spread %s teams around %s,%s", + "commands.spreadplayers.success.players": "Successfully spread %s players around %s,%s", + "commands.spreadplayers.info.teams": "(Average distance between teams is %s blocks apart after %s iterations)", + "commands.spreadplayers.info.players": "(Average distance between players is %s blocks apart after %s iterations)", + "commands.spreadplayers.failure.teams": "Could not spread %s teams around %s,%s (too many players for space - try using spread of at most %s)", + "commands.spreadplayers.failure.players": "Could not spread %s players around %s,%s (too many players for space - try using spread of at most %s)", + "commands.achievement.usage": "/achievement [player]", + "commands.achievement.unknownAchievement": "Unknown achievement or statistic '%s'", + "commands.achievement.alreadyHave": "Player %s already has achievement %s", + "commands.achievement.dontHave": "Player %s doesn't have achievement %s", + "commands.achievement.give.success.all": "Successfully given all achievements to %s", + "commands.achievement.give.success.one": "Successfully given %s the stat %s", + "commands.achievement.take.success.all": "Successfully taken all achievements from %s", + "commands.achievement.take.success.one": "Successfully taken the stat %s from %s", + "commands.achievement.statTooLow": "Player %s does not have the stat %s", + "commands.worldborder.usage": "/worldborder ...", + "commands.worldborder.add.usage": "/worldborder add [timeInSeconds]", + "commands.worldborder.set.usage": "/worldborder set [timeInSeconds]", + "commands.worldborder.set.success": "Set world border to %s blocks wide (from %s blocks)", + "commands.worldborder.get.success": "World border is currently %s blocks wide", + "commands.worldborder.setSlowly.shrink.success": "Shrinking world border to %s blocks wide (down from %s blocks) over %s seconds", + "commands.worldborder.setSlowly.grow.success": "Growing world border to %s blocks wide (up from %s blocks) over %s seconds", + "commands.worldborder.center.usage": "/worldborder center ", + "commands.worldborder.center.success": "Set world border center to %s,%s", + "commands.worldborder.damage.usage": "/worldborder damage ", + "commands.worldborder.damage.buffer.usage": "/worldborder damage buffer ", + "commands.worldborder.damage.buffer.success": "Set world border damage buffer to %s blocks (from %s blocks)", + "commands.worldborder.damage.amount.usage": "/worldborder damage amount ", + "commands.worldborder.damage.amount.success": "Set world border damage amount to %s per block (from %s per block)", + "commands.worldborder.warning.usage": "/worldborder warning ", + "commands.worldborder.warning.time.usage": "/worldborder warning time ", + "commands.worldborder.warning.time.success": "Set world border warning to %s seconds away (from %s seconds)", + "commands.worldborder.warning.distance.usage": "/worldborder warning distance ", + "commands.worldborder.warning.distance.success": "Set world border warning to %s blocks away (from %s blocks)", + "commands.title.usage": "/title ...", + "commands.title.usage.title": "/title title|subtitle ", + "commands.title.usage.clear": "/title clear|reset", + "commands.title.usage.times": "/title times ", + "commands.title.success": "Title command successfully executed", + "itemGroup.buildingBlocks": "Building Blocks", + "itemGroup.decorations": "Decoration Blocks", + "itemGroup.redstone": "Redstone", + "itemGroup.transportation": "Transportation", + "itemGroup.misc": "Miscellaneous", + "itemGroup.search": "Search Items", + "itemGroup.food": "Foodstuffs", + "itemGroup.tools": "Tools", + "itemGroup.combat": "Combat", + "itemGroup.brewing": "Brewing", + "itemGroup.materials": "Materials", + "itemGroup.inventory": "Survival Inventory", + "inventory.binSlot": "Destroy Item", + "advMode.setCommand": "Set Console Command for Block", + "advMode.setCommand.success": "Command set: %s", + "advMode.command": "Console Command", + "advMode.nearestPlayer": "Use \"@p\" to target nearest player", + "advMode.randomPlayer": "Use \"@r\" to target random player", + "advMode.allPlayers": "Use \"@a\" to target all players", + "advMode.allEntities": "Use \"@e\" to target all entities", + "advMode.previousOutput": "Previous Output", + "advMode.notEnabled": "Command blocks are not enabled on this server", + "advMode.notAllowed": "Must be an opped player in creative mode", + "mount.onboard": "Press %1$s to dismount", + "build.tooHigh": "Height limit for building is %s blocks", + "attribute.modifier.plus.0": "+%d %s", + "attribute.modifier.plus.1": "+%d%% %s", + "attribute.modifier.plus.2": "+%d%% %s", + "attribute.modifier.take.0": "-%d %s", + "attribute.modifier.take.1": "-%d%% %s", + "attribute.modifier.take.2": "-%d%% %s", + "attribute.name.horse.jumpStrength": "Horse Jump Strength", + "attribute.name.zombie.spawnReinforcements": "Zombie Reinforcements", + "attribute.name.generic.maxHealth": "Max Health", + "attribute.name.generic.followRange": "Mob Follow Range", + "attribute.name.generic.knockbackResistance": "Knockback Resistance", + "attribute.name.generic.movementSpeed": "Speed", + "attribute.name.generic.attackDamage": "Attack Damage", + "screenshot.success": "Saved screenshot as %s", + "screenshot.failure": "Couldn't save screenshot: %s", + "stream.user.mode.moderator": "Moderator", + "stream.user.mode.moderator.self": "Moderator on your channel", + "stream.user.mode.moderator.other": "Moderator on %s's channel", + "stream.user.mode.broadcaster": "Broadcaster", + "stream.user.mode.broadcaster.self": "Broadcaster (You!)", + "stream.user.mode.broadcaster.other": "Broadcaster", + "stream.user.mode.administrator": "Twitch Administrator", + "stream.user.mode.staff": "Twitch Staff", + "stream.user.mode.banned": "Banned", + "stream.user.mode.banned.self": "Banned on your channel", + "stream.user.mode.banned.other": "Banned on %s's channel", + "stream.user.subscription.subscriber": "Subscriber", + "stream.user.subscription.subscriber.self": "Subscriber to your channel", + "stream.user.subscription.subscriber.other": "Subscriber to %s's channel", + "stream.user.subscription.turbo": "Twitch Turbo", + "stream.unavailable.title": "Twitch Broadcasting Unavailable", + "stream.unavailable.report_to_mojang": "Report to Mojang", + "stream.confirm_start": "Are you sure you want to start broadcasting?", + "stream.unavailable.account_not_bound": "Before you can broadcast Minecraft through Twitch, you will need to link your Twitch account on mojang.com. Would you like to do that now?", + "stream.unavailable.account_not_bound.okay": "Link Accounts", + "stream.unavailable.account_not_migrated": "Before you can broadcast Minecraft through Twitch, you will need to migrate your Minecraft account to a Mojang account. Would you like to do that now?", + "stream.unavailable.account_not_migrated.okay": "Migrate Account", + "stream.unavailable.failed_auth": "Authentication to Twitch failed. Please go to mojang.com and rebind your Twitch account.", + "stream.unavailable.failed_auth.okay": "Rebind Accounts", + "stream.unavailable.failed_auth_error": "Unable to authenticate to Twitch. Please try again later.", + "stream.unavailable.initialization_failure": "Unable to initialize the Twitch SDK.", + "stream.unavailable.initialization_failure.extra": "(Reason: %s)", + "stream.unavailable.library_arch_mismatch": "The custom java version used to launch Minecraft has a different architecture than the one used to run the launcher. Please make sure these are the same, either 32-bit or 64-bit for both.", + "stream.unavailable.library_failure": "Unable to load the libraries needed for the integrated Twitch broadcasting service.", + "stream.unavailable.no_fbo": "Your video card needs to support at least OpenGL version 3.0 or support Framebuffer Objects via an extension to use the integrated Twitch broadcasting.", + "stream.unavailable.no_fbo.version": "You are currently using: %s", + "stream.unavailable.no_fbo.blend": "Separate blending support via EXT is: %s", + "stream.unavailable.no_fbo.arb": "Framebuffer object support via ARB is: %s", + "stream.unavailable.no_fbo.ext": "Framebuffer object support via EXT is: %s", + "stream.unavailable.not_supported.windows": "Unfortunately the integrated Twitch broadcasting requires a newer version of Windows than you are on. You must have at least Windows Vista or newer.", + "stream.unavailable.not_supported.mac": "Unfortunately the integrated Twitch broadcasting on Mac requires a version of OSX newer than the one you are on. You must use 10.7 (Mac OS X Lion) or newer to be able to use this service. Would you like to visit apple.com to learn about upgrading?", + "stream.unavailable.not_supported.mac.okay": "Upgrade", + "stream.unavailable.not_supported.other": "Unfortunately the integrated Twitch broadcasting service requires Windows (Vista or newer) or Mac OS X (10.7/Lion or newer)", + "stream.unavailable.unknown": "Unfortunately you cannot broadcast to Twitch at this time. And we don't know why :'(", + "stream.unavailable.unknown.chat": "Could not start stream: %s", + "stream.unavailable.soundflower.chat": "Soundflower is required to be able to stream on Mac. %s", + "stream.unavailable.soundflower.chat.link": "Please click here to install it.", + "stream.userinfo.chatTooltip": "Click to manage user", + "stream.userinfo.timeout": "Timeout", + "stream.userinfo.ban": "Ban", + "stream.userinfo.unban": "Unban", + "stream.userinfo.mod": "Promote to Moderator", + "stream.userinfo.unmod": "Demote from Moderator", + "item.banner.black.name": "Black Banner", + "item.banner.red.name": "Red Banner", + "item.banner.green.name": "Green Banner", + "item.banner.brown.name": "Brown Banner", + "item.banner.blue.name": "Blue Banner", + "item.banner.purple.name": "Purple Banner", + "item.banner.cyan.name": "Cyan Banner", + "item.banner.silver.name": "Light Gray Banner", + "item.banner.gray.name": "Gray Banner", + "item.banner.pink.name": "Pink Banner", + "item.banner.lime.name": "Lime Banner", + "item.banner.yellow.name": "Yellow Banner", + "item.banner.lightBlue.name": "Light Blue Banner", + "item.banner.magenta.name": "Magenta Banner", + "item.banner.orange.name": "Orange Banner", + "item.banner.white.name": "White Banner", + "item.banner.square_bottom_left.black": "Black Base Dexter Canton", + "item.banner.square_bottom_left.red": "Red Base Dexter Canton", + "item.banner.square_bottom_left.green": "Green Base Dexter Canton", + "item.banner.square_bottom_left.brown": "Brown Base Dexter Canton", + "item.banner.square_bottom_left.blue": "Blue Base Dexter Canton", + "item.banner.square_bottom_left.purple": "Purple Base Dexter Canton", + "item.banner.square_bottom_left.cyan": "Cyan Base Dexter Canton", + "item.banner.square_bottom_left.silver": "Light Gray Base Dexter Canton", + "item.banner.square_bottom_left.gray": "Gray Base Dexter Canton", + "item.banner.square_bottom_left.pink": "Pink Base Dexter Canton", + "item.banner.square_bottom_left.lime": "Lime Base Dexter Canton", + "item.banner.square_bottom_left.yellow": "Yellow Base Dexter Canton", + "item.banner.square_bottom_left.lightBlue": "Light Blue Base Dexter Canton", + "item.banner.square_bottom_left.magenta": "Magenta Base Dexter Canton", + "item.banner.square_bottom_left.orange": "Orange Base Dexter Canton", + "item.banner.square_bottom_left.white": "White Base Dexter Canton", + "item.banner.square_bottom_right.black": "Black Base Sinister Canton", + "item.banner.square_bottom_right.red": "Red Base Sinister Canton", + "item.banner.square_bottom_right.green": "Green Base Sinister Canton", + "item.banner.square_bottom_right.brown": "Brown Base Sinister Canton", + "item.banner.square_bottom_right.blue": "Blue Base Sinister Canton", + "item.banner.square_bottom_right.purple": "Purple Base Sinister Canton", + "item.banner.square_bottom_right.cyan": "Cyan Base Sinister Canton", + "item.banner.square_bottom_right.silver": "Light Gray Base Sinister Canton", + "item.banner.square_bottom_right.gray": "Gray Base Sinister Canton", + "item.banner.square_bottom_right.pink": "Pink Base Sinister Canton", + "item.banner.square_bottom_right.lime": "Lime Base Sinister Canton", + "item.banner.square_bottom_right.yellow": "Yellow Base Sinister Canton", + "item.banner.square_bottom_right.lightBlue": "Light Blue Base Sinister Canton", + "item.banner.square_bottom_right.magenta": "Magenta Base Sinister Canton", + "item.banner.square_bottom_right.orange": "Orange Base Sinister Canton", + "item.banner.square_bottom_right.white": "White Base Sinister Canton", + "item.banner.square_top_left.black": "Black Chief Dexter Canton", + "item.banner.square_top_left.red": "Red Chief Dexter Canton", + "item.banner.square_top_left.green": "Green Chief Dexter Canton", + "item.banner.square_top_left.brown": "Brown Chief Dexter Canton", + "item.banner.square_top_left.blue": "Blue Chief Dexter Canton", + "item.banner.square_top_left.purple": "Purple Chief Dexter Canton", + "item.banner.square_top_left.cyan": "Cyan Chief Dexter Canton", + "item.banner.square_top_left.silver": "Light Gray Chief Dexter Canton", + "item.banner.square_top_left.gray": "Gray Chief Dexter Canton", + "item.banner.square_top_left.pink": "Pink Chief Dexter Canton", + "item.banner.square_top_left.lime": "Lime Chief Dexter Canton", + "item.banner.square_top_left.yellow": "Yellow Chief Dexter Canton", + "item.banner.square_top_left.lightBlue": "Light Blue Chief Dexter Canton", + "item.banner.square_top_left.magenta": "Magenta Chief Dexter Canton", + "item.banner.square_top_left.orange": "Orange Chief Dexter Canton", + "item.banner.square_top_left.white": "White Chief Dexter Canton", + "item.banner.square_top_right.black": "Black Chief Sinister Canton", + "item.banner.square_top_right.red": "Red Chief Sinister Canton", + "item.banner.square_top_right.green": "Green Chief Sinister Canton", + "item.banner.square_top_right.brown": "Brown Chief Sinister Canton", + "item.banner.square_top_right.blue": "Blue Chief Sinister Canton", + "item.banner.square_top_right.purple": "Purple Chief Sinister Canton", + "item.banner.square_top_right.cyan": "Cyan Chief Sinister Canton", + "item.banner.square_top_right.silver": "Light Gray Chief Sinister Canton", + "item.banner.square_top_right.gray": "Gray Chief Sinister Canton", + "item.banner.square_top_right.pink": "Pink Chief Sinister Canton", + "item.banner.square_top_right.lime": "Lime Chief Sinister Canton", + "item.banner.square_top_right.yellow": "Yellow Chief Sinister Canton", + "item.banner.square_top_right.lightBlue": "Light Blue Chief Sinister Canton", + "item.banner.square_top_right.magenta": "Magenta Chief Sinister Canton", + "item.banner.square_top_right.orange": "Orange Chief Sinister Canton", + "item.banner.square_top_right.white": "White Chief Sinister Canton", + "item.banner.stripe_bottom.black": "Black Base Fess", + "item.banner.stripe_bottom.red": "Red Base Fess", + "item.banner.stripe_bottom.green": "Green Base Fess", + "item.banner.stripe_bottom.brown": "Brown Base Fess", + "item.banner.stripe_bottom.blue": "Blue Base Fess", + "item.banner.stripe_bottom.purple": "Purple Base Fess", + "item.banner.stripe_bottom.cyan": "Cyan Base Fess", + "item.banner.stripe_bottom.silver": "Light Gray Base Fess", + "item.banner.stripe_bottom.gray": "Gray Base Fess", + "item.banner.stripe_bottom.pink": "Pink Base Fess", + "item.banner.stripe_bottom.lime": "Lime Base Fess", + "item.banner.stripe_bottom.yellow": "Yellow Base Fess", + "item.banner.stripe_bottom.lightBlue": "Light Blue Base Fess", + "item.banner.stripe_bottom.magenta": "Magenta Base Fess", + "item.banner.stripe_bottom.orange": "Orange Base Fess", + "item.banner.stripe_bottom.white": "White Base Fess", + "item.banner.stripe_top.black": "Black Chief Fess", + "item.banner.stripe_top.red": "Red Chief Fess", + "item.banner.stripe_top.green": "Green Chief Fess", + "item.banner.stripe_top.brown": "Brown Chief Fess", + "item.banner.stripe_top.blue": "Blue Chief Fess", + "item.banner.stripe_top.purple": "Purple Chief Fess", + "item.banner.stripe_top.cyan": "Cyan Chief Fess", + "item.banner.stripe_top.silver": "Light Gray Chief Fess", + "item.banner.stripe_top.gray": "Gray Chief Fess", + "item.banner.stripe_top.pink": "Pink Chief Fess", + "item.banner.stripe_top.lime": "Lime Chief Fess", + "item.banner.stripe_top.yellow": "Yellow Chief Fess", + "item.banner.stripe_top.lightBlue": "Light Blue Chief Fess", + "item.banner.stripe_top.magenta": "Magenta Chief Fess", + "item.banner.stripe_top.orange": "Orange Chief Fess", + "item.banner.stripe_top.white": "White Chief Fess", + "item.banner.stripe_left.black": "Black Pale Dexter", + "item.banner.stripe_left.red": "Red Pale Dexter", + "item.banner.stripe_left.green": "Green Pale Dexter", + "item.banner.stripe_left.brown": "Brown Pale Dexter", + "item.banner.stripe_left.blue": "Blue Pale Dexter", + "item.banner.stripe_left.purple": "Purple Pale Dexter", + "item.banner.stripe_left.cyan": "Cyan Pale Dexter", + "item.banner.stripe_left.silver": "Light Gray Pale Dexter", + "item.banner.stripe_left.gray": "Gray Pale Dexter", + "item.banner.stripe_left.pink": "Pink Pale Dexter", + "item.banner.stripe_left.lime": "Lime Pale Dexter", + "item.banner.stripe_left.yellow": "Yellow Pale Dexter", + "item.banner.stripe_left.lightBlue": "Light Blue Pale Dexter", + "item.banner.stripe_left.magenta": "Magenta Pale Dexter", + "item.banner.stripe_left.orange": "Orange Pale Dexter", + "item.banner.stripe_left.white": "White Pale Dexter", + "item.banner.stripe_right.black": "Black Pale Sinister", + "item.banner.stripe_right.red": "Red Pale Sinister", + "item.banner.stripe_right.green": "Green Pale Sinister", + "item.banner.stripe_right.brown": "Brown Pale Sinister", + "item.banner.stripe_right.blue": "Blue Pale Sinister", + "item.banner.stripe_right.purple": "Purple Pale Sinister", + "item.banner.stripe_right.cyan": "Cyan Pale Sinister", + "item.banner.stripe_right.silver": "Light Gray Pale Sinister", + "item.banner.stripe_right.gray": "Gray Pale Sinister", + "item.banner.stripe_right.pink": "Pink Pale Sinister", + "item.banner.stripe_right.lime": "Lime Pale Sinister", + "item.banner.stripe_right.yellow": "Yellow Pale Sinister", + "item.banner.stripe_right.lightBlue": "Light Blue Pale Sinister", + "item.banner.stripe_right.magenta": "Magenta Pale Sinister", + "item.banner.stripe_right.orange": "Orange Pale Sinister", + "item.banner.stripe_right.white": "White Pale Sinister", + "item.banner.stripe_center.black": "Black Pale", + "item.banner.stripe_center.red": "Red Pale", + "item.banner.stripe_center.green": "Green Pale", + "item.banner.stripe_center.brown": "Brown Pale", + "item.banner.stripe_center.blue": "Blue Pale", + "item.banner.stripe_center.purple": "Purple Pale", + "item.banner.stripe_center.cyan": "Cyan Pale", + "item.banner.stripe_center.silver": "Light Gray Pale", + "item.banner.stripe_center.gray": "Gray Pale", + "item.banner.stripe_center.pink": "Pink Pale", + "item.banner.stripe_center.lime": "Lime Pale", + "item.banner.stripe_center.yellow": "Yellow Pale", + "item.banner.stripe_center.lightBlue": "Light Blue Pale", + "item.banner.stripe_center.magenta": "Magenta Pale", + "item.banner.stripe_center.orange": "Orange Pale", + "item.banner.stripe_center.white": "White Pale", + "item.banner.stripe_middle.black": "Black Fess", + "item.banner.stripe_middle.red": "Red Fess", + "item.banner.stripe_middle.green": "Green Fess", + "item.banner.stripe_middle.brown": "Brown Fess", + "item.banner.stripe_middle.blue": "Blue Fess", + "item.banner.stripe_middle.purple": "Purple Fess", + "item.banner.stripe_middle.cyan": "Cyan Fess", + "item.banner.stripe_middle.silver": "Light Gray Fess", + "item.banner.stripe_middle.gray": "Gray Fess", + "item.banner.stripe_middle.pink": "Pink Fess", + "item.banner.stripe_middle.lime": "Lime Fess", + "item.banner.stripe_middle.yellow": "Yellow Fess", + "item.banner.stripe_middle.lightBlue": "Light Blue Fess", + "item.banner.stripe_middle.magenta": "Magenta Fess", + "item.banner.stripe_middle.orange": "Orange Fess", + "item.banner.stripe_middle.white": "White Fess", + "item.banner.stripe_downright.black": "Black Bend", + "item.banner.stripe_downright.red": "Red Bend", + "item.banner.stripe_downright.green": "Green Bend", + "item.banner.stripe_downright.brown": "Brown Bend", + "item.banner.stripe_downright.blue": "Blue Bend", + "item.banner.stripe_downright.purple": "Purple Bend", + "item.banner.stripe_downright.cyan": "Cyan Bend", + "item.banner.stripe_downright.silver": "Light Gray Bend", + "item.banner.stripe_downright.gray": "Gray Bend", + "item.banner.stripe_downright.pink": "Pink Bend", + "item.banner.stripe_downright.lime": "Lime Bend", + "item.banner.stripe_downright.yellow": "Yellow Bend", + "item.banner.stripe_downright.lightBlue": "Light Blue Bend", + "item.banner.stripe_downright.magenta": "Magenta Bend", + "item.banner.stripe_downright.orange": "Orange Bend", + "item.banner.stripe_downright.white": "White Bend", + "item.banner.stripe_downleft.black": "Black Bend Sinister", + "item.banner.stripe_downleft.red": "Red Bend Sinister", + "item.banner.stripe_downleft.green": "Green Bend Sinister", + "item.banner.stripe_downleft.brown": "Brown Bend Sinister", + "item.banner.stripe_downleft.blue": "Blue Bend Sinister", + "item.banner.stripe_downleft.purple": "Purple Bend Sinister", + "item.banner.stripe_downleft.cyan": "Cyan Bend Sinister", + "item.banner.stripe_downleft.silver": "Light Gray Bend Sinister", + "item.banner.stripe_downleft.gray": "Gray Bend Sinister", + "item.banner.stripe_downleft.pink": "Pink Bend Sinister", + "item.banner.stripe_downleft.lime": "Lime Bend Sinister", + "item.banner.stripe_downleft.yellow": "Yellow Bend Sinister", + "item.banner.stripe_downleft.lightBlue": "Light Blue Bend Sinister", + "item.banner.stripe_downleft.magenta": "Magenta Bend Sinister", + "item.banner.stripe_downleft.orange": "Orange Bend Sinister", + "item.banner.stripe_downleft.white": "White Bend Sinister", + "item.banner.small_stripes.black": "Black Paly", + "item.banner.small_stripes.red": "Red Paly", + "item.banner.small_stripes.green": "Green Paly", + "item.banner.small_stripes.brown": "Brown Paly", + "item.banner.small_stripes.blue": "Blue Paly", + "item.banner.small_stripes.purple": "Purple Paly", + "item.banner.small_stripes.cyan": "Cyan Paly", + "item.banner.small_stripes.silver": "Light Gray Paly", + "item.banner.small_stripes.gray": "Gray Paly", + "item.banner.small_stripes.pink": "Pink Paly", + "item.banner.small_stripes.lime": "Lime Paly", + "item.banner.small_stripes.yellow": "Yellow Paly", + "item.banner.small_stripes.lightBlue": "Light Blue Paly", + "item.banner.small_stripes.magenta": "Magenta Paly", + "item.banner.small_stripes.orange": "Orange Paly", + "item.banner.small_stripes.white": "White Paly", + "item.banner.cross.black": "Black Saltire", + "item.banner.cross.red": "Red Saltire", + "item.banner.cross.green": "Green Saltire", + "item.banner.cross.brown": "Brown Saltire", + "item.banner.cross.blue": "Blue Saltire", + "item.banner.cross.purple": "Purple Saltire", + "item.banner.cross.cyan": "Cyan Saltire", + "item.banner.cross.silver": "Light Gray Saltire", + "item.banner.cross.gray": "Gray Saltire", + "item.banner.cross.pink": "Pink Saltire", + "item.banner.cross.lime": "Lime Saltire", + "item.banner.cross.yellow": "Yellow Saltire", + "item.banner.cross.lightBlue": "Light Blue Saltire", + "item.banner.cross.magenta": "Magenta Saltire", + "item.banner.cross.orange": "Orange Saltire", + "item.banner.cross.white": "White Saltire", + "item.banner.triangle_bottom.black": "Black Chevron", + "item.banner.triangle_bottom.red": "Red Chevron", + "item.banner.triangle_bottom.green": "Green Chevron", + "item.banner.triangle_bottom.brown": "Brown Chevron", + "item.banner.triangle_bottom.blue": "Blue Chevron", + "item.banner.triangle_bottom.purple": "Purple Chevron", + "item.banner.triangle_bottom.cyan": "Cyan Chevron", + "item.banner.triangle_bottom.silver": "Light Gray Chevron", + "item.banner.triangle_bottom.gray": "Gray Chevron", + "item.banner.triangle_bottom.pink": "Pink Chevron", + "item.banner.triangle_bottom.lime": "Lime Chevron", + "item.banner.triangle_bottom.yellow": "Yellow Chevron", + "item.banner.triangle_bottom.lightBlue": "Light Blue Chevron", + "item.banner.triangle_bottom.magenta": "Magenta Chevron", + "item.banner.triangle_bottom.orange": "Orange Chevron", + "item.banner.triangle_bottom.white": "White Chevron", + "item.banner.triangle_top.black": "Black Inverted Chevron", + "item.banner.triangle_top.red": "Red Inverted Chevron", + "item.banner.triangle_top.green": "Green Inverted Chevron", + "item.banner.triangle_top.brown": "Brown Inverted Chevron", + "item.banner.triangle_top.blue": "Blue Inverted Chevron", + "item.banner.triangle_top.purple": "Purple Inverted Chevron", + "item.banner.triangle_top.cyan": "Cyan Inverted Chevron", + "item.banner.triangle_top.silver": "Light Gray Inverted Chevron", + "item.banner.triangle_top.gray": "Gray Inverted Chevron", + "item.banner.triangle_top.pink": "Pink Inverted Chevron", + "item.banner.triangle_top.lime": "Lime Inverted Chevron", + "item.banner.triangle_top.yellow": "Yellow Inverted Chevron", + "item.banner.triangle_top.lightBlue": "Light Blue Inverted Chevron", + "item.banner.triangle_top.magenta": "Magenta Inverted Chevron", + "item.banner.triangle_top.orange": "Orange Inverted Chevron", + "item.banner.triangle_top.white": "White Inverted Chevron", + "item.banner.triangles_bottom.black": "Black Base Indented", + "item.banner.triangles_bottom.red": "Red Base Indented", + "item.banner.triangles_bottom.green": "Green Base Indented", + "item.banner.triangles_bottom.brown": "Brown Base Indented", + "item.banner.triangles_bottom.blue": "Blue Base Indented", + "item.banner.triangles_bottom.purple": "Purple Base Indented", + "item.banner.triangles_bottom.cyan": "Cyan Base Indented", + "item.banner.triangles_bottom.silver": "Light Gray Base Indented", + "item.banner.triangles_bottom.gray": "Gray Base Indented", + "item.banner.triangles_bottom.pink": "Pink Base Indented", + "item.banner.triangles_bottom.lime": "Lime Base Indented", + "item.banner.triangles_bottom.yellow": "Yellow Base Indented", + "item.banner.triangles_bottom.lightBlue": "Light Blue Base Indented", + "item.banner.triangles_bottom.magenta": "Magenta Base Indented", + "item.banner.triangles_bottom.orange": "Orange Base Indented", + "item.banner.triangles_bottom.white": "White Base Indented", + "item.banner.triangles_top.black": "Black Chief Indented", + "item.banner.triangles_top.red": "Red Chief Indented", + "item.banner.triangles_top.green": "Green Chief Indented", + "item.banner.triangles_top.brown": "Brown Chief Indented", + "item.banner.triangles_top.blue": "Blue Chief Indented", + "item.banner.triangles_top.purple": "Purple Chief Indented", + "item.banner.triangles_top.cyan": "Cyan Chief Indented", + "item.banner.triangles_top.silver": "Light Gray Chief Indented", + "item.banner.triangles_top.gray": "Gray Chief Indented", + "item.banner.triangles_top.pink": "Pink Chief Indented", + "item.banner.triangles_top.lime": "Lime Chief Indented", + "item.banner.triangles_top.yellow": "Yellow Chief Indented", + "item.banner.triangles_top.lightBlue": "Light Blue Chief Indented", + "item.banner.triangles_top.magenta": "Magenta Chief Indented", + "item.banner.triangles_top.orange": "Orange Chief Indented", + "item.banner.triangles_top.white": "White Chief Indented", + "item.banner.diagonal_left.black": "Black Per Bend Sinister", + "item.banner.diagonal_left.red": "Red Per Bend Sinister", + "item.banner.diagonal_left.green": "Green Per Bend Sinister", + "item.banner.diagonal_left.brown": "Brown Per Bend Sinister", + "item.banner.diagonal_left.blue": "Blue Per Bend Sinister", + "item.banner.diagonal_left.purple": "Purple Per Bend Sinister", + "item.banner.diagonal_left.cyan": "Cyan Per Bend Sinister", + "item.banner.diagonal_left.silver": "Light Gray Per Bend Sinister", + "item.banner.diagonal_left.gray": "Gray Per Bend Sinister", + "item.banner.diagonal_left.pink": "Pink Per Bend Sinister", + "item.banner.diagonal_left.lime": "Lime Per Bend Sinister", + "item.banner.diagonal_left.yellow": "Yellow Per Bend Sinister", + "item.banner.diagonal_left.lightBlue": "Light Blue Per Bend Sinister", + "item.banner.diagonal_left.magenta": "Magenta Per Bend Sinister", + "item.banner.diagonal_left.orange": "Orange Per Bend Sinister", + "item.banner.diagonal_left.white": "White Per Bend Sinister", + "item.banner.diagonal_right.black": "Black Per Bend", + "item.banner.diagonal_right.red": "Red Per Bend", + "item.banner.diagonal_right.green": "Green Per Bend", + "item.banner.diagonal_right.brown": "Brown Per Bend", + "item.banner.diagonal_right.blue": "Blue Per Bend", + "item.banner.diagonal_right.purple": "Purple Per Bend", + "item.banner.diagonal_right.cyan": "Cyan Per Bend", + "item.banner.diagonal_right.silver": "Light Gray Per Bend", + "item.banner.diagonal_right.gray": "Gray Per Bend", + "item.banner.diagonal_right.pink": "Pink Per Bend", + "item.banner.diagonal_right.lime": "Lime Per Bend", + "item.banner.diagonal_right.yellow": "Yellow Per Bend", + "item.banner.diagonal_right.lightBlue": "Light Blue Per Bend", + "item.banner.diagonal_right.magenta": "Magenta Per Bend", + "item.banner.diagonal_right.orange": "Orange Per Bend", + "item.banner.diagonal_right.white": "White Per Bend", + "item.banner.diagonal_up_left.black": "Black Per Bend Inverted", + "item.banner.diagonal_up_left.red": "Red Per Bend Inverted", + "item.banner.diagonal_up_left.green": "Green Per Bend Inverted", + "item.banner.diagonal_up_left.brown": "Brown Per Bend Inverted", + "item.banner.diagonal_up_left.blue": "Blue Per Bend Inverted", + "item.banner.diagonal_up_left.purple": "Purple Per Bend Inverted", + "item.banner.diagonal_up_left.cyan": "Cyan Per Bend Inverted", + "item.banner.diagonal_up_left.silver": "Light Gray Per Bend Inverted", + "item.banner.diagonal_up_left.gray": "Gray Per Bend Inverted", + "item.banner.diagonal_up_left.pink": "Pink Per Bend Inverted", + "item.banner.diagonal_up_left.lime": "Lime Per Bend Inverted", + "item.banner.diagonal_up_left.yellow": "Yellow Per Bend Inverted", + "item.banner.diagonal_up_left.lightBlue": "Light Blue Per Bend Inverted", + "item.banner.diagonal_up_left.magenta": "Magenta Per Bend Inverted", + "item.banner.diagonal_up_left.orange": "Orange Per Bend Inverted", + "item.banner.diagonal_up_left.white": "White Per Bend Inverted", + "item.banner.diagonal_up_right.black": "Black Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.red": "Red Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.green": "Green Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.brown": "Brown Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.blue": "Blue Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.purple": "Purple Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.cyan": "Cyan Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.silver": "Light Gray Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.gray": "Gray Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.pink": "Pink Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.lime": "Lime Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.yellow": "Yellow Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.lightBlue": "Light Blue Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.magenta": "Magenta Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.orange": "Orange Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.white": "White Per Bend Sinister Inverted", + "item.banner.circle.black": "Black Roundel", + "item.banner.circle.red": "Red Roundel", + "item.banner.circle.green": "Green Roundel", + "item.banner.circle.brown": "Brown Roundel", + "item.banner.circle.blue": "Blue Roundel", + "item.banner.circle.purple": "Purple Roundel", + "item.banner.circle.cyan": "Cyan Roundel", + "item.banner.circle.silver": "Light Gray Roundel", + "item.banner.circle.gray": "Gray Roundel", + "item.banner.circle.pink": "Pink Roundel", + "item.banner.circle.lime": "Lime Roundel", + "item.banner.circle.yellow": "Yellow Roundel", + "item.banner.circle.lightBlue": "Light Blue Roundel", + "item.banner.circle.magenta": "Magenta Roundel", + "item.banner.circle.orange": "Orange Roundel", + "item.banner.circle.white": "White Roundel", + "item.banner.rhombus.black": "Black Lozenge", + "item.banner.rhombus.red": "Red Lozenge", + "item.banner.rhombus.green": "Green Lozenge", + "item.banner.rhombus.brown": "Brown Lozenge", + "item.banner.rhombus.blue": "Blue Lozenge", + "item.banner.rhombus.purple": "Purple Lozenge", + "item.banner.rhombus.cyan": "Cyan Lozenge", + "item.banner.rhombus.silver": "Light Gray Lozenge", + "item.banner.rhombus.gray": "Gray Lozenge", + "item.banner.rhombus.pink": "Pink Lozenge", + "item.banner.rhombus.lime": "Lime Lozenge", + "item.banner.rhombus.yellow": "Yellow Lozenge", + "item.banner.rhombus.lightBlue": "Light Blue Lozenge", + "item.banner.rhombus.magenta": "Magenta Lozenge", + "item.banner.rhombus.orange": "Orange Lozenge", + "item.banner.rhombus.white": "White Lozenge", + "item.banner.half_vertical.black": "Black Per Pale", + "item.banner.half_vertical.red": "Red Per Pale", + "item.banner.half_vertical.green": "Green Per Pale", + "item.banner.half_vertical.brown": "Brown Per Pale", + "item.banner.half_vertical.blue": "Blue Per Pale", + "item.banner.half_vertical.purple": "Purple Per Pale", + "item.banner.half_vertical.cyan": "Cyan Per Pale", + "item.banner.half_vertical.silver": "Light Gray Per Pale", + "item.banner.half_vertical.gray": "Gray Per Pale", + "item.banner.half_vertical.pink": "Pink Per Pale", + "item.banner.half_vertical.lime": "Lime Per Pale", + "item.banner.half_vertical.yellow": "Yellow Per Pale", + "item.banner.half_vertical.lightBlue": "Light Blue Per Pale", + "item.banner.half_vertical.magenta": "Magenta Per Pale", + "item.banner.half_vertical.orange": "Orange Per Pale", + "item.banner.half_vertical.white": "White Per Pale", + "item.banner.half_horizontal.black": "Black Per Fess", + "item.banner.half_horizontal.red": "Red Per Fess", + "item.banner.half_horizontal.green": "Green Per Fess", + "item.banner.half_horizontal.brown": "Brown Per Fess", + "item.banner.half_horizontal.blue": "Blue Per Fess", + "item.banner.half_horizontal.purple": "Purple Per Fess", + "item.banner.half_horizontal.cyan": "Cyan Per Fess", + "item.banner.half_horizontal.silver": "Light Gray Per Fess", + "item.banner.half_horizontal.gray": "Gray Per Fess", + "item.banner.half_horizontal.pink": "Pink Per Fess", + "item.banner.half_horizontal.lime": "Lime Per Fess", + "item.banner.half_horizontal.yellow": "Yellow Per Fess", + "item.banner.half_horizontal.lightBlue": "Light Blue Per Fess", + "item.banner.half_horizontal.magenta": "Magenta Per Fess", + "item.banner.half_horizontal.orange": "Orange Per Fess", + "item.banner.half_horizontal.white": "White Per Fess", + "item.banner.half_vertical_right.black": "Black Per Pale Inverted", + "item.banner.half_vertical_right.red": "Red Per Pale Inverted", + "item.banner.half_vertical_right.green": "Green Per Pale Inverted", + "item.banner.half_vertical_right.brown": "Brown Per Pale Inverted", + "item.banner.half_vertical_right.blue": "Blue Per Pale Inverted", + "item.banner.half_vertical_right.purple": "Purple Per Pale Inverted", + "item.banner.half_vertical_right.cyan": "Cyan Per Pale Inverted", + "item.banner.half_vertical_right.silver": "Light Gray Per Pale Inverted", + "item.banner.half_vertical_right.gray": "Gray Per Pale Inverted", + "item.banner.half_vertical_right.pink": "Pink Per Pale Inverted", + "item.banner.half_vertical_right.lime": "Lime Per Pale Inverted", + "item.banner.half_vertical_right.yellow": "Yellow Per Pale Inverted", + "item.banner.half_vertical_right.lightBlue": "Light Blue Per Pale Inverted", + "item.banner.half_vertical_right.magenta": "Magenta Per Pale Inverted", + "item.banner.half_vertical_right.orange": "Orange Per Pale Inverted", + "item.banner.half_vertical_right.white": "White Per Pale Inverted", + "item.banner.half_horizontal_bottom.black": "Black Per Fess Inverted", + "item.banner.half_horizontal_bottom.red": "Red Per Fess Inverted", + "item.banner.half_horizontal_bottom.green": "Green Per Fess Inverted", + "item.banner.half_horizontal_bottom.brown": "Brown Per Fess Inverted", + "item.banner.half_horizontal_bottom.blue": "Blue Per Fess Inverted", + "item.banner.half_horizontal_bottom.purple": "Purple Per Fess Inverted", + "item.banner.half_horizontal_bottom.cyan": "Cyan Per Fess Inverted", + "item.banner.half_horizontal_bottom.silver": "Light Gray Per Fess Inverted", + "item.banner.half_horizontal_bottom.gray": "Gray Per Fess Inverted", + "item.banner.half_horizontal_bottom.pink": "Pink Per Fess Inverted", + "item.banner.half_horizontal_bottom.lime": "Lime Per Fess Inverted", + "item.banner.half_horizontal_bottom.yellow": "Yellow Per Fess Inverted", + "item.banner.half_horizontal_bottom.lightBlue": "Light Blue Per Fess Inverted", + "item.banner.half_horizontal_bottom.magenta": "Magenta Per Fess Inverted", + "item.banner.half_horizontal_bottom.orange": "Orange Per Fess Inverted", + "item.banner.half_horizontal_bottom.white": "White Per Fess Inverted", + "item.banner.creeper.black": "Black Creeper Charge", + "item.banner.creeper.red": "Red Creeper Charge", + "item.banner.creeper.green": "Green Creeper Charge", + "item.banner.creeper.brown": "Brown Creeper Charge", + "item.banner.creeper.blue": "Blue Creeper Charge", + "item.banner.creeper.purple": "Purple Creeper Charge", + "item.banner.creeper.cyan": "Cyan Creeper Charge", + "item.banner.creeper.silver": "Light Gray Creeper Charge", + "item.banner.creeper.gray": "Gray Creeper Charge", + "item.banner.creeper.pink": "Pink Creeper Charge", + "item.banner.creeper.lime": "Lime Creeper Charge", + "item.banner.creeper.yellow": "Yellow Creeper Charge", + "item.banner.creeper.lightBlue": "Light Blue Creeper Charge", + "item.banner.creeper.magenta": "Magenta Creeper Charge", + "item.banner.creeper.orange": "Orange Creeper Charge", + "item.banner.creeper.white": "White Creeper Charge", + "item.banner.bricks.black": "Black Field Masoned", + "item.banner.bricks.red": "Red Field Masoned", + "item.banner.bricks.green": "Green Field Masoned", + "item.banner.bricks.brown": "Brown Field Masoned", + "item.banner.bricks.blue": "Blue Field Masoned", + "item.banner.bricks.purple": "Purple Field Masoned", + "item.banner.bricks.cyan": "Cyan Field Masoned", + "item.banner.bricks.silver": "Light Gray Field Masoned", + "item.banner.bricks.gray": "Gray Field Masoned", + "item.banner.bricks.pink": "Pink Field Masoned", + "item.banner.bricks.lime": "Lime Field Masoned", + "item.banner.bricks.yellow": "Yellow Field Masoned", + "item.banner.bricks.lightBlue": "Light Blue Field Masoned", + "item.banner.bricks.magenta": "Magenta Field Masoned", + "item.banner.bricks.orange": "Orange Field Masoned", + "item.banner.bricks.white": "White Field Masoned", + "item.banner.gradient.black": "Black Gradient", + "item.banner.gradient.red": "Red Gradient", + "item.banner.gradient.green": "Green Gradient", + "item.banner.gradient.brown": "Brown Gradient", + "item.banner.gradient.blue": "Blue Gradient", + "item.banner.gradient.purple": "Purple Gradient", + "item.banner.gradient.cyan": "Cyan Gradient", + "item.banner.gradient.silver": "Light Gray Gradient", + "item.banner.gradient.gray": "Gray Gradient", + "item.banner.gradient.pink": "Pink Gradient", + "item.banner.gradient.lime": "Lime Gradient", + "item.banner.gradient.yellow": "Yellow Gradient", + "item.banner.gradient.lightBlue": "Light Blue Gradient", + "item.banner.gradient.magenta": "Magenta Gradient", + "item.banner.gradient.orange": "Orange Gradient", + "item.banner.gradient.white": "White Gradient", + "item.banner.gradient_up.black": "Black Base Gradient", + "item.banner.gradient_up.red": "Red Base Gradient", + "item.banner.gradient_up.green": "Green Base Gradient", + "item.banner.gradient_up.brown": "Brown Base Gradient", + "item.banner.gradient_up.blue": "Blue Base Gradient", + "item.banner.gradient_up.purple": "Purple Base Gradient", + "item.banner.gradient_up.cyan": "Cyan Base Gradient", + "item.banner.gradient_up.silver": "Light Gray Base Gradient", + "item.banner.gradient_up.gray": "Gray Base Gradient", + "item.banner.gradient_up.pink": "Pink Base Gradient", + "item.banner.gradient_up.lime": "Lime Base Gradient", + "item.banner.gradient_up.yellow": "Yellow Base Gradient", + "item.banner.gradient_up.lightBlue": "Light Blue Base Gradient", + "item.banner.gradient_up.magenta": "Magenta Base Gradient", + "item.banner.gradient_up.orange": "Orange Base Gradient", + "item.banner.gradient_up.white": "White Base Gradient", + "item.banner.skull.black": "Black Skull Charge", + "item.banner.skull.red": "Red Skull Charge", + "item.banner.skull.green": "Green Skull Charge", + "item.banner.skull.brown": "Brown Skull Charge", + "item.banner.skull.blue": "Blue Skull Charge", + "item.banner.skull.purple": "Purple Skull Charge", + "item.banner.skull.cyan": "Cyan Skull Charge", + "item.banner.skull.silver": "Light Gray Skull Charge", + "item.banner.skull.gray": "Gray Skull Charge", + "item.banner.skull.pink": "Pink Skull Charge", + "item.banner.skull.lime": "Lime Skull Charge", + "item.banner.skull.yellow": "Yellow Skull Charge", + "item.banner.skull.lightBlue": "Light Blue Skull Charge", + "item.banner.skull.magenta": "Magenta Skull Charge", + "item.banner.skull.orange": "Orange Skull Charge", + "item.banner.skull.white": "White Skull Charge", + "item.banner.flower.black": "Black Flower Charge", + "item.banner.flower.red": "Red Flower Charge", + "item.banner.flower.green": "Green Flower Charge", + "item.banner.flower.brown": "Brown Flower Charge", + "item.banner.flower.blue": "Blue Flower Charge", + "item.banner.flower.purple": "Purple Flower Charge", + "item.banner.flower.cyan": "Cyan Flower Charge", + "item.banner.flower.silver": "Light Gray Flower Charge", + "item.banner.flower.gray": "Gray Flower Charge", + "item.banner.flower.pink": "Pink Flower Charge", + "item.banner.flower.lime": "Lime Flower Charge", + "item.banner.flower.yellow": "Yellow Flower Charge", + "item.banner.flower.lightBlue": "Light Blue Flower Charge", + "item.banner.flower.magenta": "Magenta Flower Charge", + "item.banner.flower.orange": "Orange Flower Charge", + "item.banner.flower.white": "White Flower Charge", + "item.banner.border.black": "Black Bordure", + "item.banner.border.red": "Red Bordure", + "item.banner.border.green": "Green Bordure", + "item.banner.border.brown": "Brown Bordure", + "item.banner.border.blue": "Blue Bordure", + "item.banner.border.purple": "Purple Bordure", + "item.banner.border.cyan": "Cyan Bordure", + "item.banner.border.silver": "Light Gray Bordure", + "item.banner.border.gray": "Gray Bordure", + "item.banner.border.pink": "Pink Bordure", + "item.banner.border.lime": "Lime Bordure", + "item.banner.border.yellow": "Yellow Bordure", + "item.banner.border.lightBlue": "Light Blue Bordure", + "item.banner.border.magenta": "Magenta Bordure", + "item.banner.border.orange": "Orange Bordure", + "item.banner.border.white": "White Bordure", + "item.banner.curly_border.black": "Black Bordure Indented", + "item.banner.curly_border.red": "Red Bordure Indented", + "item.banner.curly_border.green": "Green Bordure Indented", + "item.banner.curly_border.brown": "Brown Bordure Indented", + "item.banner.curly_border.blue": "Blue Bordure Indented", + "item.banner.curly_border.purple": "Purple Bordure Indented", + "item.banner.curly_border.cyan": "Cyan Bordure Indented", + "item.banner.curly_border.silver": "Light Gray Bordure Indented", + "item.banner.curly_border.gray": "Gray Bordure Indented", + "item.banner.curly_border.pink": "Pink Bordure Indented", + "item.banner.curly_border.lime": "Lime Bordure Indented", + "item.banner.curly_border.yellow": "Yellow Bordure Indented", + "item.banner.curly_border.lightBlue": "Light Blue Bordure Indented", + "item.banner.curly_border.magenta": "Magenta Bordure Indented", + "item.banner.curly_border.orange": "Orange Bordure Indented", + "item.banner.curly_border.white": "White Bordure Indented", + "item.banner.mojang.black": "Black Thing", + "item.banner.mojang.red": "Red Thing", + "item.banner.mojang.green": "Green Thing", + "item.banner.mojang.brown": "Brown Thing", + "item.banner.mojang.blue": "Blue Thing", + "item.banner.mojang.purple": "Purple Thing", + "item.banner.mojang.cyan": "Cyan Thing", + "item.banner.mojang.silver": "Light Gray Thing", + "item.banner.mojang.gray": "Gray Thing", + "item.banner.mojang.pink": "Pink Thing", + "item.banner.mojang.lime": "Lime Thing", + "item.banner.mojang.yellow": "Yellow Thing", + "item.banner.mojang.lightBlue": "Light Blue Thing", + "item.banner.mojang.magenta": "Magenta Thing", + "item.banner.mojang.orange": "Orange Thing", + "item.banner.mojang.white": "White Thing", + "item.banner.straight_cross.black": "Black Cross", + "item.banner.straight_cross.red": "Red Cross", + "item.banner.straight_cross.green": "Green Cross", + "item.banner.straight_cross.brown": "Brown Cross", + "item.banner.straight_cross.blue": "Blue Cross", + "item.banner.straight_cross.purple": "Purple Cross", + "item.banner.straight_cross.cyan": "Cyan Cross", + "item.banner.straight_cross.silver": "Light Gray Cross", + "item.banner.straight_cross.gray": "Gray Cross", + "item.banner.straight_cross.pink": "Pink Cross", + "item.banner.straight_cross.lime": "Lime Cross", + "item.banner.straight_cross.yellow": "Yellow Cross", + "item.banner.straight_cross.lightBlue": "Light Blue Cross", + "item.banner.straight_cross.magenta": "Magenta Cross", + "item.banner.straight_cross.orange": "Orange Cross", + "item.banner.straight_cross.white": "White Cross" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/materials.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/materials.json new file mode 100644 index 00000000..69c797e0 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/materials.json @@ -0,0 +1,61 @@ +{ + "rock": { + "257": 6, + "270": 2, + "274": 4, + "278": 8, + "285": 12 + }, + "wood": { + "258": 6, + "271": 2, + "275": 4, + "279": 8, + "286": 12 + }, + "plant": { + "258": 6, + "267": 1.5, + "268": 1.5, + "271": 2, + "272": 1.5, + "275": 4, + "276": 1.5, + "279": 8, + "283": 1.5, + "286": 12 + }, + "melon": { + "267": 1.5, + "268": 1.5, + "272": 1.5, + "276": 1.5, + "283": 1.5 + }, + "leaves": { + "267": 1.5, + "268": 1.5, + "272": 1.5, + "276": 1.5, + "283": 1.5, + "359": 6 + }, + "dirt": { + "256": 6, + "269": 2, + "273": 4, + "277": 8, + "284": 12 + }, + "web": { + "267": 15, + "268": 15, + "272": 15, + "276": 15, + "283": 15, + "359": 15 + }, + "wool": { + "359": 4.8 + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/particles.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/particles.json new file mode 100644 index 00000000..c4ccc065 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/particles.json @@ -0,0 +1,170 @@ +[ + { + "id": 0, + "name": "explode" + }, + { + "id": 1, + "name": "largeexplode" + }, + { + "id": 2, + "name": "hugeexplosion" + }, + { + "id": 3, + "name": "fireworksSpark" + }, + { + "id": 4, + "name": "bubble" + }, + { + "id": 5, + "name": "splash" + }, + { + "id": 6, + "name": "wake" + }, + { + "id": 7, + "name": "suspended" + }, + { + "id": 8, + "name": "depthsuspend" + }, + { + "id": 9, + "name": "crit" + }, + { + "id": 10, + "name": "magicCrit" + }, + { + "id": 11, + "name": "smoke" + }, + { + "id": 12, + "name": "largesmoke" + }, + { + "id": 13, + "name": "spell" + }, + { + "id": 14, + "name": "instantSpell" + }, + { + "id": 15, + "name": "mobSpell" + }, + { + "id": 16, + "name": "mobSpellAmbient" + }, + { + "id": 17, + "name": "witchMagic" + }, + { + "id": 18, + "name": "dripWater" + }, + { + "id": 19, + "name": "dripLava" + }, + { + "id": 20, + "name": "angryVillager" + }, + { + "id": 21, + "name": "happyVillager" + }, + { + "id": 22, + "name": "townaura" + }, + { + "id": 23, + "name": "note" + }, + { + "id": 24, + "name": "portal" + }, + { + "id": 25, + "name": "enchantmenttable" + }, + { + "id": 26, + "name": "flame" + }, + { + "id": 27, + "name": "lava" + }, + { + "id": 28, + "name": "footstep" + }, + { + "id": 29, + "name": "cloud" + }, + { + "id": 30, + "name": "reddust" + }, + { + "id": 31, + "name": "snowballpoof" + }, + { + "id": 32, + "name": "snowshovel" + }, + { + "id": 33, + "name": "slime" + }, + { + "id": 34, + "name": "heart" + }, + { + "id": 35, + "name": "barrier" + }, + { + "id": 36, + "name": "iconcrack_" + }, + { + "id": 37, + "name": "blockcrack_" + }, + { + "id": 38, + "name": "blockdust_" + }, + { + "id": 39, + "name": "droplet" + }, + { + "id": 40, + "name": "take" + }, + { + "id": 41, + "name": "mobappearance" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/protocol.json new file mode 100644 index 00000000..6b32fa1a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/protocol.json @@ -0,0 +1,3383 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "i16", + "2": "i32", + "3": "f32", + "4": "string", + "5": "slot", + "6": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + } + ] + ], + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ] + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 127, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "bitfield", + [ + { + "name": "type", + "size": 3, + "signed": false + }, + { + "name": "key", + "size": 5, + "signed": false + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i8" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "currentItem", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + } + ] + ], + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": [ + "container", + [ + { + "name": "intField", + "type": "i32" + }, + { + "name": "velocityX", + "type": [ + "switch", + { + "compareTo": "intField", + "fields": { + "0": "void" + }, + "default": "i16" + } + ] + }, + { + "name": "velocityY", + "type": [ + "switch", + { + "compareTo": "intField", + "fields": { + "0": "void" + }, + "default": "i16" + } + ] + }, + { + "name": "velocityZ", + "type": [ + "switch", + { + "compareTo": "intField", + "fields": { + "0": "void" + }, + "default": "i16" + } + ] + } + ] + ] + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "u8" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i8" + }, + { + "name": "dY", + "type": "i8" + }, + { + "name": "dZ", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i8" + }, + { + "name": "dY", + "type": "i8" + }, + { + "name": "dZ", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + }, + { + "name": "leash", + "type": "bool" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "bool" + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "u16" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_map_chunk_bulk": [ + "container", + [ + { + "name": "skyLightSent", + "type": "bool" + }, + { + "name": "meta", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "bitMap", + "type": "u16" + } + ] + ] + } + ] + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_scoreboard_team": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_compression": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_update_entity_nbt": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "tag", + "type": "nbt" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "keep_alive", + "0x01": "login", + "0x02": "chat", + "0x03": "update_time", + "0x04": "entity_equipment", + "0x05": "spawn_position", + "0x06": "update_health", + "0x07": "respawn", + "0x08": "position", + "0x09": "held_item_slot", + "0x0a": "bed", + "0x0b": "animation", + "0x0c": "named_entity_spawn", + "0x0d": "collect", + "0x0e": "spawn_entity", + "0x0f": "spawn_entity_living", + "0x10": "spawn_entity_painting", + "0x11": "spawn_entity_experience_orb", + "0x12": "entity_velocity", + "0x13": "entity_destroy", + "0x14": "entity", + "0x15": "rel_entity_move", + "0x16": "entity_look", + "0x17": "entity_move_look", + "0x18": "entity_teleport", + "0x19": "entity_head_rotation", + "0x1a": "entity_status", + "0x1b": "attach_entity", + "0x1c": "entity_metadata", + "0x1d": "entity_effect", + "0x1e": "remove_entity_effect", + "0x1f": "experience", + "0x20": "update_attributes", + "0x21": "map_chunk", + "0x22": "multi_block_change", + "0x23": "block_change", + "0x24": "block_action", + "0x25": "block_break_animation", + "0x26": "map_chunk_bulk", + "0x27": "explosion", + "0x28": "world_event", + "0x29": "named_sound_effect", + "0x2a": "world_particles", + "0x2b": "game_state_change", + "0x2c": "spawn_entity_weather", + "0x2d": "open_window", + "0x2e": "close_window", + "0x2f": "set_slot", + "0x30": "window_items", + "0x31": "craft_progress_bar", + "0x32": "transaction", + "0x33": "update_sign", + "0x34": "map", + "0x35": "tile_entity_data", + "0x36": "open_sign_entity", + "0x37": "statistics", + "0x38": "player_info", + "0x39": "abilities", + "0x3a": "tab_complete", + "0x3b": "scoreboard_objective", + "0x3c": "scoreboard_score", + "0x3d": "scoreboard_display_objective", + "0x3e": "scoreboard_team", + "0x3f": "custom_payload", + "0x40": "kick_disconnect", + "0x41": "difficulty", + "0x42": "combat_event", + "0x43": "camera", + "0x44": "world_border", + "0x45": "title", + "0x46": "set_compression", + "0x47": "playerlist_header", + "0x48": "resource_pack_send", + "0x49": "update_entity_nbt" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "keep_alive": "packet_keep_alive", + "login": "packet_login", + "chat": "packet_chat", + "update_time": "packet_update_time", + "entity_equipment": "packet_entity_equipment", + "spawn_position": "packet_spawn_position", + "update_health": "packet_update_health", + "respawn": "packet_respawn", + "position": "packet_position", + "held_item_slot": "packet_held_item_slot", + "bed": "packet_bed", + "animation": "packet_animation", + "named_entity_spawn": "packet_named_entity_spawn", + "collect": "packet_collect", + "spawn_entity": "packet_spawn_entity", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "entity_velocity": "packet_entity_velocity", + "entity_destroy": "packet_entity_destroy", + "entity": "packet_entity", + "rel_entity_move": "packet_rel_entity_move", + "entity_look": "packet_entity_look", + "entity_move_look": "packet_entity_move_look", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_status": "packet_entity_status", + "attach_entity": "packet_attach_entity", + "entity_metadata": "packet_entity_metadata", + "entity_effect": "packet_entity_effect", + "remove_entity_effect": "packet_remove_entity_effect", + "experience": "packet_experience", + "update_attributes": "packet_update_attributes", + "map_chunk": "packet_map_chunk", + "multi_block_change": "packet_multi_block_change", + "block_change": "packet_block_change", + "block_action": "packet_block_action", + "block_break_animation": "packet_block_break_animation", + "map_chunk_bulk": "packet_map_chunk_bulk", + "explosion": "packet_explosion", + "world_event": "packet_world_event", + "named_sound_effect": "packet_named_sound_effect", + "world_particles": "packet_world_particles", + "game_state_change": "packet_game_state_change", + "spawn_entity_weather": "packet_spawn_entity_weather", + "open_window": "packet_open_window", + "close_window": "packet_close_window", + "set_slot": "packet_set_slot", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "transaction": "packet_transaction", + "update_sign": "packet_update_sign", + "map": "packet_map", + "tile_entity_data": "packet_tile_entity_data", + "open_sign_entity": "packet_open_sign_entity", + "statistics": "packet_statistics", + "player_info": "packet_player_info", + "abilities": "packet_abilities", + "tab_complete": "packet_tab_complete", + "scoreboard_objective": "packet_scoreboard_objective", + "scoreboard_score": "packet_scoreboard_score", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "scoreboard_team": "packet_scoreboard_team", + "custom_payload": "packet_custom_payload", + "kick_disconnect": "packet_kick_disconnect", + "difficulty": "packet_difficulty", + "combat_event": "packet_combat_event", + "camera": "packet_camera", + "world_border": "packet_world_border", + "title": "packet_title", + "set_compression": "packet_set_compression", + "playerlist_header": "packet_playerlist_header", + "resource_pack_send": "packet_resource_pack_send", + "update_entity_nbt": "packet_update_entity_nbt" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "i8" + }, + { + "name": "heldItem", + "type": "slot" + }, + { + "name": "cursorX", + "type": "i8" + }, + { + "name": "cursorY", + "type": "i8" + }, + { + "name": "cursorZ", + "type": "i8" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_arm_animation": [ + "container", + [] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "block", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "i8" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "payload", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "hash", + "type": "string" + }, + { + "name": "result", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "keep_alive", + "0x01": "chat", + "0x02": "use_entity", + "0x03": "flying", + "0x04": "position", + "0x05": "look", + "0x06": "position_look", + "0x07": "block_dig", + "0x08": "block_place", + "0x09": "held_item_slot", + "0x0a": "arm_animation", + "0x0b": "entity_action", + "0x0c": "steer_vehicle", + "0x0d": "close_window", + "0x0e": "window_click", + "0x0f": "transaction", + "0x10": "set_creative_slot", + "0x11": "enchant_item", + "0x12": "update_sign", + "0x13": "abilities", + "0x14": "tab_complete", + "0x15": "settings", + "0x16": "client_command", + "0x17": "custom_payload", + "0x18": "spectate", + "0x19": "resource_pack_receive" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "keep_alive": "packet_keep_alive", + "chat": "packet_chat", + "use_entity": "packet_use_entity", + "flying": "packet_flying", + "position": "packet_position", + "look": "packet_look", + "position_look": "packet_position_look", + "block_dig": "packet_block_dig", + "block_place": "packet_block_place", + "held_item_slot": "packet_held_item_slot", + "arm_animation": "packet_arm_animation", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "close_window": "packet_close_window", + "window_click": "packet_window_click", + "transaction": "packet_transaction", + "set_creative_slot": "packet_set_creative_slot", + "enchant_item": "packet_enchant_item", + "update_sign": "packet_update_sign", + "abilities": "packet_abilities", + "tab_complete": "packet_tab_complete", + "settings": "packet_settings", + "client_command": "packet_client_command", + "custom_payload": "packet_custom_payload", + "spectate": "packet_spectate", + "resource_pack_receive": "packet_resource_pack_receive" + } + } + ] + } + ] + ] + } + } + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/recipes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/recipes.json new file mode 100644 index 00000000..eb035567 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/recipes.json @@ -0,0 +1,26871 @@ +{ + "1": [ + { + "ingredients": [ + { + "id": 1, + "metadata": 3 + }, + 4 + ], + "result": { + "count": 2, + "id": 1, + "metadata": 5 + } + }, + { + "inShape": [ + [ + { + "id": 1, + "metadata": 5 + }, + { + "id": 1, + "metadata": 5 + } + ], + [ + { + "id": 1, + "metadata": 5 + }, + { + "id": 1, + "metadata": 5 + } + ] + ], + "result": { + "count": 4, + "id": 1, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 4, + 406 + ], + [ + 406, + 4 + ] + ], + "result": { + "count": 2, + "id": 1, + "metadata": 3 + } + }, + { + "inShape": [ + [ + { + "id": 1, + "metadata": 3 + }, + { + "id": 1, + "metadata": 3 + } + ], + [ + { + "id": 1, + "metadata": 3 + }, + { + "id": 1, + "metadata": 3 + } + ] + ], + "result": { + "count": 4, + "id": 1, + "metadata": 4 + } + }, + { + "ingredients": [ + { + "id": 1, + "metadata": 3 + }, + 406 + ], + "result": { + "count": 1, + "id": 1, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 1, + "metadata": 1 + }, + { + "id": 1, + "metadata": 1 + } + ], + [ + { + "id": 1, + "metadata": 1 + }, + { + "id": 1, + "metadata": 1 + } + ] + ], + "result": { + "count": 4, + "id": 1, + "metadata": 2 + } + } + ], + "3": [ + { + "inShape": [ + [ + { + "id": 3, + "metadata": 0 + }, + 13 + ], + [ + 13, + { + "id": 3, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 3, + "metadata": 1 + } + } + ], + "5": [ + { + "inShape": [ + [ + { + "id": 17, + "metadata": 12 + } + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 17, + "metadata": 13 + } + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 17, + "metadata": 14 + } + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 17, + "metadata": 15 + } + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 3 + } + }, + { + "inShape": [ + [ + { + "id": 162, + "metadata": 12 + } + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 4 + } + }, + { + "inShape": [ + [ + { + "id": 162, + "metadata": 13 + } + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 5 + } + } + ], + "22": [ + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 22, + "metadata": 0 + } + } + ], + "23": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 261, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 23, + "metadata": 0 + } + } + ], + "24": [ + { + "inShape": [ + [ + { + "id": 12, + "metadata": 0 + }, + { + "id": 12, + "metadata": 0 + } + ], + [ + { + "id": 12, + "metadata": 0 + }, + { + "id": 12, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 24, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 24, + "metadata": 0 + }, + { + "id": 24, + "metadata": 0 + } + ], + [ + { + "id": 24, + "metadata": 0 + }, + { + "id": 24, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 24, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 1 + } + ], + [ + { + "id": 44, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 24, + "metadata": 1 + } + } + ], + "25": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 331, + 5 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 25, + "metadata": 0 + } + } + ], + "27": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + 280, + 266 + ], + [ + 266, + 331, + 266 + ] + ], + "result": { + "count": 6, + "id": 27, + "metadata": 0 + } + } + ], + "28": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 70, + 265 + ], + [ + 265, + 331, + 265 + ] + ], + "result": { + "count": 6, + "id": 28, + "metadata": 0 + } + } + ], + "29": [ + { + "inShape": [ + [ + 341 + ], + [ + 33 + ] + ], + "result": { + "count": 1, + "id": 29, + "metadata": 0 + } + } + ], + "33": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 4, + 265, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 33, + "metadata": 0 + } + } + ], + "35": [ + { + "inShape": [ + [ + 287, + 287 + ], + [ + 287, + 287 + ] + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 14 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 13 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 12 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 11 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 10 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 9 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 8 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 7 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 6 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 5 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 4 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 3 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 2 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 0 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + } + ], + "41": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 41, + "metadata": 0 + } + } + ], + "42": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 42, + "metadata": 0 + } + } + ], + "44": [ + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 24, + 24, + 24 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 5 + } + }, + { + "inShape": [ + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 155, + 155, + 155 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 7 + } + } + ], + "45": [ + { + "inShape": [ + [ + 336, + 336 + ], + [ + 336, + 336 + ] + ], + "result": { + "count": 1, + "id": 45, + "metadata": 0 + } + } + ], + "46": [ + { + "inShape": [ + [ + 289, + 12, + 289 + ], + [ + 12, + 289, + 12 + ], + [ + 289, + 12, + 289 + ] + ], + "result": { + "count": 1, + "id": 46, + "metadata": 0 + } + } + ], + "47": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 340, + 340, + 340 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 47, + "metadata": 0 + } + } + ], + "48": [ + { + "ingredients": [ + 4, + 106 + ], + "result": { + "count": 1, + "id": 48, + "metadata": 0 + } + } + ], + "50": [ + { + "inShape": [ + [ + 263 + ], + [ + 280 + ] + ], + "result": { + "count": 4, + "id": 50, + "metadata": 0 + } + } + ], + "53": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 0 + } + ], + [ + null, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 53, + "metadata": 0 + } + } + ], + "54": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + null, + 5 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 54, + "metadata": 0 + } + } + ], + "57": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ] + ], + "result": { + "count": 1, + "id": 57, + "metadata": 0 + } + } + ], + "58": [ + { + "inShape": [ + [ + 5, + 5 + ], + [ + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 58, + "metadata": 0 + } + } + ], + "61": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + null, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 1, + "id": 61, + "metadata": 0 + } + } + ], + "65": [ + { + "inShape": [ + [ + 280, + null, + 280 + ], + [ + 280, + 280, + 280 + ], + [ + 280, + null, + 280 + ] + ], + "result": { + "count": 3, + "id": 65, + "metadata": 0 + } + } + ], + "66": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 280, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 16, + "id": 66, + "metadata": 0 + } + } + ], + "67": [ + { + "inShape": [ + [ + null, + null, + 4 + ], + [ + null, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 4, + "id": 67, + "metadata": 0 + } + } + ], + "69": [ + { + "inShape": [ + [ + 280 + ], + [ + 4 + ] + ], + "result": { + "count": 1, + "id": 69, + "metadata": 0 + } + } + ], + "70": [ + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 70, + "metadata": 0 + } + } + ], + "72": [ + { + "inShape": [ + [ + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 72, + "metadata": 0 + } + } + ], + "75": [ + { + "inShape": [ + [ + 331 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 75, + "metadata": 0 + } + } + ], + "77": [ + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 77, + "metadata": 0 + } + } + ], + "78": [ + { + "inShape": [ + [ + 80, + 80, + 80 + ] + ], + "result": { + "count": 6, + "id": 78, + "metadata": 0 + } + } + ], + "80": [ + { + "inShape": [ + [ + 332, + 332 + ], + [ + 332, + 332 + ] + ], + "result": { + "count": 1, + "id": 80, + "metadata": 0 + } + } + ], + "82": [ + { + "inShape": [ + [ + 337, + 337 + ], + [ + 337, + 337 + ] + ], + "result": { + "count": 1, + "id": 82, + "metadata": 0 + } + } + ], + "84": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 264, + 5 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 84, + "metadata": 0 + } + } + ], + "85": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + 280, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + 280, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 3, + "id": 85, + "metadata": 0 + } + } + ], + "89": [ + { + "inShape": [ + [ + 348, + 348 + ], + [ + 348, + 348 + ] + ], + "result": { + "count": 1, + "id": 89, + "metadata": 0 + } + } + ], + "91": [ + { + "inShape": [ + [ + 86 + ], + [ + 50 + ] + ], + "result": { + "count": 1, + "id": 91, + "metadata": 0 + } + } + ], + "95": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 15 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 14 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 13 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 2 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 12 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 11 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 10 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 5 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 9 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 8 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 7 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 7 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 8 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 6 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 9 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 5 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 10 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 4 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 11 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 3 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 12 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 2 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 13 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 1 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 14 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 0 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 15 + } + } + ], + "96": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 2, + "id": 96, + "metadata": 0 + } + } + ], + "98": [ + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ], + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 98, + "metadata": 0 + } + }, + { + "ingredients": [ + 98, + 106 + ], + "result": { + "count": 1, + "id": 98, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 5 + } + ], + [ + { + "id": 44, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 98, + "metadata": 3 + } + } + ], + "101": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 16, + "id": 101, + "metadata": 0 + } + } + ], + "102": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 16, + "id": 102, + "metadata": 0 + } + } + ], + "103": [ + { + "inShape": [ + [ + 360, + 360, + 360 + ], + [ + 360, + 360, + 360 + ], + [ + 360, + 360, + 360 + ] + ], + "result": { + "count": 1, + "id": 103, + "metadata": 0 + } + } + ], + "107": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 0 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 0 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 107, + "metadata": 0 + } + } + ], + "108": [ + { + "inShape": [ + [ + null, + null, + 45 + ], + [ + null, + 45, + 45 + ], + [ + 45, + 45, + 45 + ] + ], + "result": { + "count": 4, + "id": 108, + "metadata": 0 + } + } + ], + "109": [ + { + "inShape": [ + [ + null, + null, + 98 + ], + [ + null, + 98, + 98 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 4, + "id": 109, + "metadata": 0 + } + } + ], + "113": [ + { + "inShape": [ + [ + 405, + 405, + 405 + ], + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 6, + "id": 113, + "metadata": 0 + } + } + ], + "114": [ + { + "inShape": [ + [ + null, + null, + 405 + ], + [ + null, + 405, + 405 + ], + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 4, + "id": 114, + "metadata": 0 + } + } + ], + "116": [ + { + "inShape": [ + [ + null, + 340, + null + ], + [ + 264, + 49, + 264 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 116, + "metadata": 0 + } + } + ], + "123": [ + { + "inShape": [ + [ + null, + 331, + null + ], + [ + 331, + 89, + 331 + ], + [ + null, + 331, + null + ] + ], + "result": { + "count": 1, + "id": 123, + "metadata": 0 + } + } + ], + "126": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 3 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 4 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 5 + } + } + ], + "128": [ + { + "inShape": [ + [ + null, + null, + 24 + ], + [ + null, + 24, + 24 + ], + [ + 24, + 24, + 24 + ] + ], + "result": { + "count": 4, + "id": 128, + "metadata": 0 + } + } + ], + "130": [ + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 49, + 381, + 49 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 130, + "metadata": 0 + } + } + ], + "131": [ + { + "inShape": [ + [ + 265 + ], + [ + 280 + ], + [ + 5 + ] + ], + "result": { + "count": 2, + "id": 131, + "metadata": 0 + } + } + ], + "133": [ + { + "inShape": [ + [ + 388, + 388, + 388 + ], + [ + 388, + 388, + 388 + ], + [ + 388, + 388, + 388 + ] + ], + "result": { + "count": 1, + "id": 133, + "metadata": 0 + } + } + ], + "134": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 1 + } + ], + [ + null, + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ], + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ] + ], + "result": { + "count": 4, + "id": 134, + "metadata": 0 + } + } + ], + "135": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 2 + } + ], + [ + null, + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ], + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ] + ], + "result": { + "count": 4, + "id": 135, + "metadata": 0 + } + } + ], + "136": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 3 + } + ], + [ + null, + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ], + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ] + ], + "result": { + "count": 4, + "id": 136, + "metadata": 0 + } + } + ], + "138": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 399, + 20 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 138, + "metadata": 0 + } + } + ], + "139": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 139, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 48, + 48, + 48 + ] + ], + "result": { + "count": 6, + "id": 139, + "metadata": 1 + } + } + ], + "143": [ + { + "inShape": [ + [ + 5 + ] + ], + "result": { + "count": 1, + "id": 143, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + } + ], + [ + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 143, + "metadata": 0 + } + } + ], + "145": [ + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + null, + 265, + null + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 145, + "metadata": 0 + } + } + ], + "146": [ + { + "inShape": [ + [ + 131, + 54 + ] + ], + "result": { + "count": 1, + "id": 146, + "metadata": 0 + } + } + ], + "147": [ + { + "inShape": [ + [ + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 147, + "metadata": 0 + } + } + ], + "148": [ + { + "inShape": [ + [ + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 148, + "metadata": 0 + } + } + ], + "151": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 406, + 406, + 406 + ], + [ + 126, + 126, + 126 + ] + ], + "result": { + "count": 1, + "id": 151, + "metadata": 0 + } + } + ], + "152": [ + { + "inShape": [ + [ + 331, + 331, + 331 + ], + [ + 331, + 331, + 331 + ], + [ + 331, + 331, + 331 + ] + ], + "result": { + "count": 1, + "id": 152, + "metadata": 0 + } + } + ], + "154": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 54, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 154, + "metadata": 0 + } + } + ], + "155": [ + { + "inShape": [ + [ + 406, + 406 + ], + [ + 406, + 406 + ] + ], + "result": { + "count": 1, + "id": 155, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 7 + } + ], + [ + { + "id": 44, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 155, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 155, + "metadata": 0 + } + ], + [ + { + "id": 155, + "metadata": 0 + } + ] + ], + "result": { + "count": 2, + "id": 155, + "metadata": 0 + } + } + ], + "156": [ + { + "inShape": [ + [ + null, + null, + 155 + ], + [ + null, + 155, + 155 + ], + [ + 155, + 155, + 155 + ] + ], + "result": { + "count": 4, + "id": 156, + "metadata": 0 + } + } + ], + "157": [ + { + "inShape": [ + [ + 265, + 280, + 265 + ], + [ + 265, + 75, + 265 + ], + [ + 265, + 280, + 265 + ] + ], + "result": { + "count": 6, + "id": 157, + "metadata": 0 + } + } + ], + "158": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + null, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 158, + "metadata": 0 + } + } + ], + "159": [ + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 15 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 14 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 13 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 2 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 12 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 11 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 10 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 5 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 9 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 8 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 7 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 7 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 8 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 6 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 9 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 5 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 10 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 4 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 11 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 3 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 12 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 2 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 13 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 1 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 14 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 0 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 159, + "metadata": 15 + } + } + ], + "160": [ + { + "inShape": [ + [ + { + "id": 95, + "metadata": 0 + }, + { + "id": 95, + "metadata": 0 + }, + { + "id": 95, + "metadata": 0 + } + ], + [ + { + "id": 95, + "metadata": 0 + }, + { + "id": 95, + "metadata": 0 + }, + { + "id": 95, + "metadata": 0 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 1 + }, + { + "id": 95, + "metadata": 1 + }, + { + "id": 95, + "metadata": 1 + } + ], + [ + { + "id": 95, + "metadata": 1 + }, + { + "id": 95, + "metadata": 1 + }, + { + "id": 95, + "metadata": 1 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 2 + }, + { + "id": 95, + "metadata": 2 + }, + { + "id": 95, + "metadata": 2 + } + ], + [ + { + "id": 95, + "metadata": 2 + }, + { + "id": 95, + "metadata": 2 + }, + { + "id": 95, + "metadata": 2 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 3 + }, + { + "id": 95, + "metadata": 3 + }, + { + "id": 95, + "metadata": 3 + } + ], + [ + { + "id": 95, + "metadata": 3 + }, + { + "id": 95, + "metadata": 3 + }, + { + "id": 95, + "metadata": 3 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 3 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 4 + }, + { + "id": 95, + "metadata": 4 + }, + { + "id": 95, + "metadata": 4 + } + ], + [ + { + "id": 95, + "metadata": 4 + }, + { + "id": 95, + "metadata": 4 + }, + { + "id": 95, + "metadata": 4 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 4 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 5 + }, + { + "id": 95, + "metadata": 5 + }, + { + "id": 95, + "metadata": 5 + } + ], + [ + { + "id": 95, + "metadata": 5 + }, + { + "id": 95, + "metadata": 5 + }, + { + "id": 95, + "metadata": 5 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 5 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 6 + }, + { + "id": 95, + "metadata": 6 + }, + { + "id": 95, + "metadata": 6 + } + ], + [ + { + "id": 95, + "metadata": 6 + }, + { + "id": 95, + "metadata": 6 + }, + { + "id": 95, + "metadata": 6 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 6 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 7 + }, + { + "id": 95, + "metadata": 7 + }, + { + "id": 95, + "metadata": 7 + } + ], + [ + { + "id": 95, + "metadata": 7 + }, + { + "id": 95, + "metadata": 7 + }, + { + "id": 95, + "metadata": 7 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 7 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 8 + }, + { + "id": 95, + "metadata": 8 + }, + { + "id": 95, + "metadata": 8 + } + ], + [ + { + "id": 95, + "metadata": 8 + }, + { + "id": 95, + "metadata": 8 + }, + { + "id": 95, + "metadata": 8 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 8 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 9 + }, + { + "id": 95, + "metadata": 9 + }, + { + "id": 95, + "metadata": 9 + } + ], + [ + { + "id": 95, + "metadata": 9 + }, + { + "id": 95, + "metadata": 9 + }, + { + "id": 95, + "metadata": 9 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 9 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 10 + }, + { + "id": 95, + "metadata": 10 + }, + { + "id": 95, + "metadata": 10 + } + ], + [ + { + "id": 95, + "metadata": 10 + }, + { + "id": 95, + "metadata": 10 + }, + { + "id": 95, + "metadata": 10 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 10 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 11 + }, + { + "id": 95, + "metadata": 11 + }, + { + "id": 95, + "metadata": 11 + } + ], + [ + { + "id": 95, + "metadata": 11 + }, + { + "id": 95, + "metadata": 11 + }, + { + "id": 95, + "metadata": 11 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 11 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 12 + }, + { + "id": 95, + "metadata": 12 + }, + { + "id": 95, + "metadata": 12 + } + ], + [ + { + "id": 95, + "metadata": 12 + }, + { + "id": 95, + "metadata": 12 + }, + { + "id": 95, + "metadata": 12 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 12 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 13 + }, + { + "id": 95, + "metadata": 13 + }, + { + "id": 95, + "metadata": 13 + } + ], + [ + { + "id": 95, + "metadata": 13 + }, + { + "id": 95, + "metadata": 13 + }, + { + "id": 95, + "metadata": 13 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 13 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 14 + }, + { + "id": 95, + "metadata": 14 + }, + { + "id": 95, + "metadata": 14 + } + ], + [ + { + "id": 95, + "metadata": 14 + }, + { + "id": 95, + "metadata": 14 + }, + { + "id": 95, + "metadata": 14 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 14 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + } + ], + [ + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 15 + } + } + ], + "163": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 4 + } + ], + [ + null, + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ], + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ] + ], + "result": { + "count": 4, + "id": 163, + "metadata": 0 + } + } + ], + "164": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 4, + "id": 164, + "metadata": 0 + } + } + ], + "165": [ + { + "inShape": [ + [ + 341, + 341, + 341 + ], + [ + 341, + 341, + 341 + ], + [ + 341, + 341, + 341 + ] + ], + "result": { + "count": 1, + "id": 165, + "metadata": 0 + } + } + ], + "167": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 167, + "metadata": 0 + } + } + ], + "168": [ + { + "inShape": [ + [ + 409, + 409 + ], + [ + 409, + 409 + ] + ], + "result": { + "count": 1, + "id": 168, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 409, + 409, + 409 + ], + [ + 409, + 409, + 409 + ], + [ + 409, + 409, + 409 + ] + ], + "result": { + "count": 1, + "id": 168, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 409, + 409, + 409 + ], + [ + 409, + { + "id": 351, + "metadata": 0 + }, + 409 + ], + [ + 409, + 409, + 409 + ] + ], + "result": { + "count": 1, + "id": 168, + "metadata": 2 + } + } + ], + "169": [ + { + "inShape": [ + [ + 409, + 410, + 409 + ], + [ + 410, + 410, + 410 + ], + [ + 409, + 410, + 409 + ] + ], + "result": { + "count": 1, + "id": 169, + "metadata": 0 + } + } + ], + "170": [ + { + "inShape": [ + [ + 296, + 296, + 296 + ], + [ + 296, + 296, + 296 + ], + [ + 296, + 296, + 296 + ] + ], + "result": { + "count": 1, + "id": 170, + "metadata": 0 + } + } + ], + "171": [ + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 2 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 5 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 7 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 8 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 9 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 10 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 11 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 12 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 13 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 14 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 15 + } + } + ], + "173": [ + { + "inShape": [ + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ], + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ], + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 173, + "metadata": 0 + } + } + ], + "179": [ + { + "inShape": [ + [ + { + "id": 12, + "metadata": 1 + }, + { + "id": 12, + "metadata": 1 + } + ], + [ + { + "id": 12, + "metadata": 1 + }, + { + "id": 12, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 179, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 179, + "metadata": 0 + }, + { + "id": 179, + "metadata": 0 + } + ], + [ + { + "id": 179, + "metadata": 0 + }, + { + "id": 179, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 179, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 182, + "metadata": 0 + } + ], + [ + { + "id": 182, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 179, + "metadata": 1 + } + } + ], + "180": [ + { + "inShape": [ + [ + null, + null, + 179 + ], + [ + null, + 179, + 179 + ], + [ + 179, + 179, + 179 + ] + ], + "result": { + "count": 4, + "id": 180, + "metadata": 0 + } + } + ], + "182": [ + { + "inShape": [ + [ + 179, + 179, + 179 + ] + ], + "result": { + "count": 6, + "id": 182, + "metadata": 0 + } + } + ], + "183": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 1 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 1 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 183, + "metadata": 0 + } + } + ], + "184": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 2 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 2 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 184, + "metadata": 0 + } + } + ], + "185": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 3 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 3 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 185, + "metadata": 0 + } + } + ], + "186": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 5 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 5 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 186, + "metadata": 0 + } + } + ], + "187": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 4 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 4 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 187, + "metadata": 0 + } + } + ], + "188": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 1 + }, + 280, + { + "id": 5, + "metadata": 1 + } + ], + [ + { + "id": 5, + "metadata": 1 + }, + 280, + { + "id": 5, + "metadata": 1 + } + ] + ], + "result": { + "count": 3, + "id": 188, + "metadata": 0 + } + } + ], + "189": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 2 + }, + 280, + { + "id": 5, + "metadata": 2 + } + ], + [ + { + "id": 5, + "metadata": 2 + }, + 280, + { + "id": 5, + "metadata": 2 + } + ] + ], + "result": { + "count": 3, + "id": 189, + "metadata": 0 + } + } + ], + "190": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 3 + }, + 280, + { + "id": 5, + "metadata": 3 + } + ], + [ + { + "id": 5, + "metadata": 3 + }, + 280, + { + "id": 5, + "metadata": 3 + } + ] + ], + "result": { + "count": 3, + "id": 190, + "metadata": 0 + } + } + ], + "191": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + 280, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + 280, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 3, + "id": 191, + "metadata": 0 + } + } + ], + "192": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 4 + }, + 280, + { + "id": 5, + "metadata": 4 + } + ], + [ + { + "id": 5, + "metadata": 4 + }, + 280, + { + "id": 5, + "metadata": 4 + } + ] + ], + "result": { + "count": 3, + "id": 192, + "metadata": 0 + } + } + ], + "256": [ + { + "inShape": [ + [ + 265 + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 256, + "metadata": 0 + } + }, + { + "ingredients": [ + 256, + 256 + ], + "result": { + "count": 1, + "id": 256, + "metadata": 0 + } + } + ], + "257": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 257, + "metadata": 0 + } + }, + { + "ingredients": [ + 257, + 257 + ], + "result": { + "count": 1, + "id": 257, + "metadata": 0 + } + } + ], + "258": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + 265, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 258, + "metadata": 0 + } + }, + { + "ingredients": [ + 258, + 258 + ], + "result": { + "count": 1, + "id": 258, + "metadata": 0 + } + } + ], + "259": [ + { + "ingredients": [ + 265, + 318 + ], + "result": { + "count": 1, + "id": 259, + "metadata": 0 + } + }, + { + "ingredients": [ + 259, + 259 + ], + "result": { + "count": 1, + "id": 259, + "metadata": 0 + } + } + ], + "261": [ + { + "inShape": [ + [ + null, + 280, + 287 + ], + [ + 280, + null, + 287 + ], + [ + null, + 280, + 287 + ] + ], + "result": { + "count": 1, + "id": 261, + "metadata": 0 + } + }, + { + "ingredients": [ + 261, + 261 + ], + "result": { + "count": 1, + "id": 261, + "metadata": 0 + } + } + ], + "262": [ + { + "inShape": [ + [ + 318 + ], + [ + 280 + ], + [ + 288 + ] + ], + "result": { + "count": 4, + "id": 262, + "metadata": 0 + } + } + ], + "263": [ + { + "inShape": [ + [ + 173 + ] + ], + "result": { + "count": 9, + "id": 263, + "metadata": 0 + } + } + ], + "264": [ + { + "inShape": [ + [ + 57 + ] + ], + "result": { + "count": 9, + "id": 264, + "metadata": 0 + } + } + ], + "265": [ + { + "inShape": [ + [ + 42 + ] + ], + "result": { + "count": 9, + "id": 265, + "metadata": 0 + } + } + ], + "266": [ + { + "inShape": [ + [ + 41 + ] + ], + "result": { + "count": 9, + "id": 266, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 371, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 266, + "metadata": 0 + } + } + ], + "267": [ + { + "inShape": [ + [ + 265 + ], + [ + 265 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 267, + "metadata": 0 + } + }, + { + "ingredients": [ + 267, + 267 + ], + "result": { + "count": 1, + "id": 267, + "metadata": 0 + } + } + ], + "268": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + } + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 268, + "metadata": 0 + } + }, + { + "ingredients": [ + 268, + 268 + ], + "result": { + "count": 1, + "id": 268, + "metadata": 0 + } + } + ], + "269": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + } + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 269, + "metadata": 0 + } + }, + { + "ingredients": [ + 269, + 269 + ], + "result": { + "count": 1, + "id": 269, + "metadata": 0 + } + } + ], + "270": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 270, + "metadata": 0 + } + }, + { + "ingredients": [ + 270, + 270 + ], + "result": { + "count": 1, + "id": 270, + "metadata": 0 + } + } + ], + "271": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 271, + "metadata": 0 + } + }, + { + "ingredients": [ + 271, + 271 + ], + "result": { + "count": 1, + "id": 271, + "metadata": 0 + } + } + ], + "272": [ + { + "inShape": [ + [ + 4 + ], + [ + 4 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 272, + "metadata": 0 + } + }, + { + "ingredients": [ + 272, + 272 + ], + "result": { + "count": 1, + "id": 272, + "metadata": 0 + } + } + ], + "273": [ + { + "inShape": [ + [ + 4 + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 273, + "metadata": 0 + } + }, + { + "ingredients": [ + 273, + 273 + ], + "result": { + "count": 1, + "id": 273, + "metadata": 0 + } + } + ], + "274": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 274, + "metadata": 0 + } + }, + { + "ingredients": [ + 274, + 274 + ], + "result": { + "count": 1, + "id": 274, + "metadata": 0 + } + } + ], + "275": [ + { + "inShape": [ + [ + 4, + 4 + ], + [ + 4, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 275, + "metadata": 0 + } + }, + { + "ingredients": [ + 275, + 275 + ], + "result": { + "count": 1, + "id": 275, + "metadata": 0 + } + } + ], + "276": [ + { + "inShape": [ + [ + 264 + ], + [ + 264 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 276, + "metadata": 0 + } + }, + { + "ingredients": [ + 276, + 276 + ], + "result": { + "count": 1, + "id": 276, + "metadata": 0 + } + } + ], + "277": [ + { + "inShape": [ + [ + 264 + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 277, + "metadata": 0 + } + }, + { + "ingredients": [ + 277, + 277 + ], + "result": { + "count": 1, + "id": 277, + "metadata": 0 + } + } + ], + "278": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 278, + "metadata": 0 + } + }, + { + "ingredients": [ + 278, + 278 + ], + "result": { + "count": 1, + "id": 278, + "metadata": 0 + } + } + ], + "279": [ + { + "inShape": [ + [ + 264, + 264 + ], + [ + 264, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 279, + "metadata": 0 + } + }, + { + "ingredients": [ + 279, + 279 + ], + "result": { + "count": 1, + "id": 279, + "metadata": 0 + } + } + ], + "280": [ + { + "inShape": [ + [ + 5 + ], + [ + 5 + ] + ], + "result": { + "count": 4, + "id": 280, + "metadata": 0 + } + } + ], + "281": [ + { + "inShape": [ + [ + 5, + null, + 5 + ], + [ + null, + 5, + null + ] + ], + "result": { + "count": 4, + "id": 281, + "metadata": 0 + } + } + ], + "282": [ + { + "ingredients": [ + 40, + 39, + 281 + ], + "result": { + "count": 1, + "id": 282, + "metadata": 0 + } + } + ], + "283": [ + { + "inShape": [ + [ + 266 + ], + [ + 266 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 283, + "metadata": 0 + } + }, + { + "ingredients": [ + 283, + 283 + ], + "result": { + "count": 1, + "id": 283, + "metadata": 0 + } + } + ], + "284": [ + { + "inShape": [ + [ + 266 + ], + [ + 280 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 284, + "metadata": 0 + } + }, + { + "ingredients": [ + 284, + 284 + ], + "result": { + "count": 1, + "id": 284, + "metadata": 0 + } + } + ], + "285": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + null, + 280, + null + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 285, + "metadata": 0 + } + }, + { + "ingredients": [ + 285, + 285 + ], + "result": { + "count": 1, + "id": 285, + "metadata": 0 + } + } + ], + "286": [ + { + "inShape": [ + [ + 266, + 266 + ], + [ + 266, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 286, + "metadata": 0 + } + }, + { + "ingredients": [ + 286, + 286 + ], + "result": { + "count": 1, + "id": 286, + "metadata": 0 + } + } + ], + "290": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 290, + "metadata": 0 + } + }, + { + "ingredients": [ + 290, + 290 + ], + "result": { + "count": 1, + "id": 290, + "metadata": 0 + } + } + ], + "291": [ + { + "inShape": [ + [ + 4, + 4 + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 291, + "metadata": 0 + } + }, + { + "ingredients": [ + 291, + 291 + ], + "result": { + "count": 1, + "id": 291, + "metadata": 0 + } + } + ], + "292": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 292, + "metadata": 0 + } + }, + { + "ingredients": [ + 292, + 292 + ], + "result": { + "count": 1, + "id": 292, + "metadata": 0 + } + } + ], + "293": [ + { + "inShape": [ + [ + 264, + 264 + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 293, + "metadata": 0 + } + }, + { + "ingredients": [ + 293, + 293 + ], + "result": { + "count": 1, + "id": 293, + "metadata": 0 + } + } + ], + "294": [ + { + "inShape": [ + [ + 266, + 266 + ], + [ + null, + 280 + ], + [ + null, + 280 + ] + ], + "result": { + "count": 1, + "id": 294, + "metadata": 0 + } + }, + { + "ingredients": [ + 294, + 294 + ], + "result": { + "count": 1, + "id": 294, + "metadata": 0 + } + } + ], + "296": [ + { + "inShape": [ + [ + 170 + ] + ], + "result": { + "count": 9, + "id": 296, + "metadata": 0 + } + } + ], + "297": [ + { + "inShape": [ + [ + 296, + 296, + 296 + ] + ], + "result": { + "count": 1, + "id": 297, + "metadata": 0 + } + } + ], + "298": [ + { + "inShape": [ + [ + 334, + 334, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 298, + "metadata": 0 + } + }, + { + "ingredients": [ + 298, + 298 + ], + "result": { + "count": 1, + "id": 298, + "metadata": 0 + } + } + ], + "299": [ + { + "inShape": [ + [ + 334, + null, + 334 + ], + [ + 334, + 334, + 334 + ], + [ + 334, + 334, + 334 + ] + ], + "result": { + "count": 1, + "id": 299, + "metadata": 0 + } + }, + { + "ingredients": [ + 299, + 299 + ], + "result": { + "count": 1, + "id": 299, + "metadata": 0 + } + } + ], + "300": [ + { + "inShape": [ + [ + 334, + 334, + 334 + ], + [ + 334, + null, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 300, + "metadata": 0 + } + }, + { + "ingredients": [ + 300, + 300 + ], + "result": { + "count": 1, + "id": 300, + "metadata": 0 + } + } + ], + "301": [ + { + "inShape": [ + [ + 334, + null, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 301, + "metadata": 0 + } + }, + { + "ingredients": [ + 301, + 301 + ], + "result": { + "count": 1, + "id": 301, + "metadata": 0 + } + } + ], + "302": [ + { + "ingredients": [ + 302, + 302 + ], + "result": { + "count": 1, + "id": 302, + "metadata": 0 + } + } + ], + "303": [ + { + "ingredients": [ + 303, + 303 + ], + "result": { + "count": 1, + "id": 303, + "metadata": 0 + } + } + ], + "304": [ + { + "ingredients": [ + 304, + 304 + ], + "result": { + "count": 1, + "id": 304, + "metadata": 0 + } + } + ], + "305": [ + { + "ingredients": [ + 305, + 305 + ], + "result": { + "count": 1, + "id": 305, + "metadata": 0 + } + } + ], + "306": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 306, + "metadata": 0 + } + }, + { + "ingredients": [ + 306, + 306 + ], + "result": { + "count": 1, + "id": 306, + "metadata": 0 + } + } + ], + "307": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 307, + "metadata": 0 + } + }, + { + "ingredients": [ + 307, + 307 + ], + "result": { + "count": 1, + "id": 307, + "metadata": 0 + } + } + ], + "308": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 308, + "metadata": 0 + } + }, + { + "ingredients": [ + 308, + 308 + ], + "result": { + "count": 1, + "id": 308, + "metadata": 0 + } + } + ], + "309": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 309, + "metadata": 0 + } + }, + { + "ingredients": [ + 309, + 309 + ], + "result": { + "count": 1, + "id": 309, + "metadata": 0 + } + } + ], + "310": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 310, + "metadata": 0 + } + }, + { + "ingredients": [ + 310, + 310 + ], + "result": { + "count": 1, + "id": 310, + "metadata": 0 + } + } + ], + "311": [ + { + "inShape": [ + [ + 264, + null, + 264 + ], + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ] + ], + "result": { + "count": 1, + "id": 311, + "metadata": 0 + } + }, + { + "ingredients": [ + 311, + 311 + ], + "result": { + "count": 1, + "id": 311, + "metadata": 0 + } + } + ], + "312": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + null, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 312, + "metadata": 0 + } + }, + { + "ingredients": [ + 312, + 312 + ], + "result": { + "count": 1, + "id": 312, + "metadata": 0 + } + } + ], + "313": [ + { + "inShape": [ + [ + 264, + null, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 313, + "metadata": 0 + } + }, + { + "ingredients": [ + 313, + 313 + ], + "result": { + "count": 1, + "id": 313, + "metadata": 0 + } + } + ], + "314": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 314, + "metadata": 0 + } + }, + { + "ingredients": [ + 314, + 314 + ], + "result": { + "count": 1, + "id": 314, + "metadata": 0 + } + } + ], + "315": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 315, + "metadata": 0 + } + }, + { + "ingredients": [ + 315, + 315 + ], + "result": { + "count": 1, + "id": 315, + "metadata": 0 + } + } + ], + "316": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + null, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 316, + "metadata": 0 + } + }, + { + "ingredients": [ + 316, + 316 + ], + "result": { + "count": 1, + "id": 316, + "metadata": 0 + } + } + ], + "317": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 317, + "metadata": 0 + } + }, + { + "ingredients": [ + 317, + 317 + ], + "result": { + "count": 1, + "id": 317, + "metadata": 0 + } + } + ], + "321": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + 280, + 35, + 280 + ], + [ + 280, + 280, + 280 + ] + ], + "result": { + "count": 1, + "id": 321, + "metadata": 0 + } + } + ], + "322": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + 260, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 322, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 41, + 41, + 41 + ], + [ + 41, + 260, + 41 + ], + [ + 41, + 41, + 41 + ] + ], + "result": { + "count": 1, + "id": 322, + "metadata": 1 + } + } + ], + "323": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 5, + 5 + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 3, + "id": 323, + "metadata": 0 + } + } + ], + "324": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 3, + "id": 324, + "metadata": 0 + } + } + ], + "325": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 325, + "metadata": 0 + } + } + ], + "328": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 328, + "metadata": 0 + } + } + ], + "330": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + 265, + 265 + ], + [ + 265, + 265 + ] + ], + "result": { + "count": 3, + "id": 330, + "metadata": 0 + } + } + ], + "331": [ + { + "inShape": [ + [ + 152 + ] + ], + "result": { + "count": 9, + "id": 331, + "metadata": 0 + } + } + ], + "333": [ + { + "inShape": [ + [ + 5, + null, + 5 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 333, + "metadata": 0 + } + } + ], + "334": [ + { + "inShape": [ + [ + 415, + 415 + ], + [ + 415, + 415 + ] + ], + "result": { + "count": 1, + "id": 334, + "metadata": 0 + } + } + ], + "339": [ + { + "inShape": [ + [ + 338, + 338, + 338 + ] + ], + "result": { + "count": 3, + "id": 339, + "metadata": 0 + } + } + ], + "340": [ + { + "ingredients": [ + 339, + 339, + 339, + 334 + ], + "result": { + "count": 1, + "id": 340, + "metadata": 0 + } + } + ], + "341": [ + { + "inShape": [ + [ + 165 + ] + ], + "result": { + "count": 9, + "id": 341, + "metadata": 0 + } + } + ], + "342": [ + { + "inShape": [ + [ + 54 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 342, + "metadata": 0 + } + } + ], + "343": [ + { + "inShape": [ + [ + 61 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 343, + "metadata": 0 + } + } + ], + "345": [ + { + "inShape": [ + [ + null, + 265, + null + ], + [ + 265, + 331, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 345, + "metadata": 0 + } + } + ], + "346": [ + { + "inShape": [ + [ + null, + null, + 280 + ], + [ + null, + 280, + 287 + ], + [ + 280, + null, + 287 + ] + ], + "result": { + "count": 1, + "id": 346, + "metadata": 0 + } + }, + { + "ingredients": [ + 346, + 346 + ], + "result": { + "count": 1, + "id": 346, + "metadata": 0 + } + } + ], + "347": [ + { + "inShape": [ + [ + null, + 266, + null + ], + [ + 266, + 331, + 266 + ], + [ + null, + 266, + null + ] + ], + "result": { + "count": 1, + "id": 347, + "metadata": 0 + } + } + ], + "351": [ + { + "ingredients": [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 8 + } + }, + { + "inShape": [ + [ + 37 + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 11 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 0 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 11 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 2 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 6 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 10 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 5 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 12 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 12 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 9 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 5 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 9 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 9 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 14 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 11 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 14 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 13 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 1 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 9 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 4, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 4 + } + ], + "result": { + "count": 3, + "id": 351, + "metadata": 13 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 4 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 38 + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 7 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 3, + "id": 351, + "metadata": 7 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 7 + } + }, + { + "inShape": [ + [ + 22 + ] + ], + "result": { + "count": 9, + "id": 351, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 352 + ] + ], + "result": { + "count": 3, + "id": 351, + "metadata": 15 + } + } + ], + "353": [ + { + "inShape": [ + [ + 338 + ] + ], + "result": { + "count": 1, + "id": 353, + "metadata": 0 + } + } + ], + "354": [ + { + "inShape": [ + [ + 335, + 335, + 335 + ], + [ + 353, + 344, + 353 + ], + [ + 296, + 296, + 296 + ] + ], + "outShape": [ + [ + 325, + 325, + 325 + ], + [ + null, + null, + null + ], + [ + null, + null, + null + ] + ], + "result": { + "count": 1, + "id": 354, + "metadata": 0 + } + } + ], + "355": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 355, + "metadata": 0 + } + } + ], + "356": [ + { + "inShape": [ + [ + 75, + 331, + 75 + ], + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 356, + "metadata": 0 + } + } + ], + "357": [ + { + "inShape": [ + [ + 296, + { + "id": 351, + "metadata": 3 + }, + 296 + ] + ], + "result": { + "count": 8, + "id": 357, + "metadata": 0 + } + } + ], + "358": [ + { + "inShape": [ + [ + 339, + 339, + 339 + ], + [ + 339, + 358, + 339 + ], + [ + 339, + 339, + 339 + ] + ], + "result": { + "count": 1, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 358, + 395 + ], + "result": { + "count": 2, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 358, + 395, + 395 + ], + "result": { + "count": 3, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 358, + 395, + 395, + 395 + ], + "result": { + "count": 4, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 358, + 395, + 395, + 395 + ], + "result": { + "count": 5, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 395, + 358, + 395, + 395, + 395 + ], + "result": { + "count": 6, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 395, + 395, + 358, + 395, + 395, + 395 + ], + "result": { + "count": 7, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 395, + 395, + 358, + 395, + 395, + 395, + 395 + ], + "result": { + "count": 8, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 395, + 395, + 358, + 395, + 395, + 395, + 395, + 395 + ], + "result": { + "count": 9, + "id": 358, + "metadata": 0 + } + } + ], + "359": [ + { + "inShape": [ + [ + null, + 265 + ], + [ + 265, + null + ] + ], + "result": { + "count": 1, + "id": 359, + "metadata": 0 + } + }, + { + "ingredients": [ + 359, + 359 + ], + "result": { + "count": 1, + "id": 359, + "metadata": 0 + } + } + ], + "361": [ + { + "inShape": [ + [ + 86 + ] + ], + "result": { + "count": 4, + "id": 361, + "metadata": 0 + } + } + ], + "362": [ + { + "inShape": [ + [ + 360 + ] + ], + "result": { + "count": 1, + "id": 362, + "metadata": 0 + } + } + ], + "371": [ + { + "inShape": [ + [ + 266 + ] + ], + "result": { + "count": 9, + "id": 371, + "metadata": 0 + } + } + ], + "374": [ + { + "inShape": [ + [ + 20, + null, + 20 + ], + [ + null, + 20, + null + ] + ], + "result": { + "count": 3, + "id": 374, + "metadata": 0 + } + } + ], + "376": [ + { + "ingredients": [ + 39, + 353, + 375 + ], + "result": { + "count": 1, + "id": 376, + "metadata": 0 + } + } + ], + "377": [ + { + "inShape": [ + [ + 369 + ] + ], + "result": { + "count": 2, + "id": 377, + "metadata": 0 + } + } + ], + "378": [ + { + "ingredients": [ + 377, + 341 + ], + "result": { + "count": 1, + "id": 378, + "metadata": 0 + } + } + ], + "379": [ + { + "inShape": [ + [ + null, + 369, + null + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 1, + "id": 379, + "metadata": 0 + } + } + ], + "380": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 380, + "metadata": 0 + } + } + ], + "381": [ + { + "ingredients": [ + 377, + 368 + ], + "result": { + "count": 1, + "id": 381, + "metadata": 0 + } + } + ], + "382": [ + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 360, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 382, + "metadata": 0 + } + } + ], + "385": [ + { + "ingredients": [ + 377, + 263, + 289 + ], + "result": { + "count": 3, + "id": 385, + "metadata": 0 + } + } + ], + "386": [ + { + "ingredients": [ + 340, + { + "id": 351, + "metadata": 0 + }, + 288 + ], + "result": { + "count": 1, + "id": 386, + "metadata": 0 + } + } + ], + "387": [ + { + "ingredients": [ + 386, + 387 + ], + "result": { + "count": 1, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 387, + 386 + ], + "result": { + "count": 2, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 387, + 386, + 386 + ], + "result": { + "count": 3, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 4, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 5, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 6, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386, + 386 + ], + "result": { + "count": 7, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386, + 386, + 386 + ], + "result": { + "count": 8, + "id": 387, + "metadata": 0 + } + } + ], + "388": [ + { + "inShape": [ + [ + 133 + ] + ], + "result": { + "count": 9, + "id": 388, + "metadata": 0 + } + } + ], + "389": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + 280, + 334, + 280 + ], + [ + 280, + 280, + 280 + ] + ], + "result": { + "count": 1, + "id": 389, + "metadata": 0 + } + } + ], + "390": [ + { + "inShape": [ + [ + 336, + null, + 336 + ], + [ + null, + 336, + null + ] + ], + "result": { + "count": 1, + "id": 390, + "metadata": 0 + } + } + ], + "395": [ + { + "inShape": [ + [ + 339, + 339, + 339 + ], + [ + 339, + 345, + 339 + ], + [ + 339, + 339, + 339 + ] + ], + "result": { + "count": 1, + "id": 395, + "metadata": 0 + } + } + ], + "396": [ + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 391, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 396, + "metadata": 0 + } + } + ], + "398": [ + { + "inShape": [ + [ + 346, + null + ], + [ + null, + 391 + ] + ], + "result": { + "count": 1, + "id": 398, + "metadata": 0 + } + }, + { + "ingredients": [ + 398, + 398 + ], + "result": { + "count": 1, + "id": 398, + "metadata": 0 + } + } + ], + "400": [ + { + "ingredients": [ + 86, + 353, + 344 + ], + "result": { + "count": 1, + "id": 400, + "metadata": 0 + } + } + ], + "401": [ + { + "ingredients": [ + 339, + 289 + ], + "result": { + "count": 1, + "id": 401, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + 339, + 289 + ], + "result": { + "count": 1, + "id": 401, + "metadata": 0 + } + } + ], + "402": [ + { + "ingredients": [ + 289, + 351, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + 351 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + } + ], + "404": [ + { + "inShape": [ + [ + null, + 75, + null + ], + [ + 75, + 406, + 75 + ], + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 404, + "metadata": 0 + } + } + ], + "405": [ + { + "inShape": [ + [ + 405, + 405 + ], + [ + 405, + 405 + ] + ], + "result": { + "count": 1, + "id": 405, + "metadata": 0 + } + } + ], + "407": [ + { + "inShape": [ + [ + 46 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 407, + "metadata": 0 + } + } + ], + "408": [ + { + "inShape": [ + [ + 154 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 408, + "metadata": 0 + } + } + ], + "413": [ + { + "inShape": [ + [ + null, + 412, + null + ], + [ + 391, + 393, + 39 + ], + [ + null, + 281, + null + ] + ], + "result": { + "count": 1, + "id": 413, + "metadata": 0 + } + } + ], + "416": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + null, + 280, + null + ], + [ + 280, + { + "id": 44, + "metadata": 0 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 416, + "metadata": 0 + } + } + ], + "420": [ + { + "inShape": [ + [ + 287, + 287, + null + ], + [ + 287, + 341, + null + ], + [ + null, + null, + 287 + ] + ], + "result": { + "count": 2, + "id": 420, + "metadata": 0 + } + } + ], + "425": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 35, + 35, + 35 + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 425, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + 425, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + 425, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + 425, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + 425, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + 425, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + 425, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + 425, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + 425, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + 425, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + 425, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + 425, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + 425, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + 425, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + 425, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + 425, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + 425, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + 425, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + 425, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + 425, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + 425, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + 425, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + 425, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + 425, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + 425, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + 425, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + 425, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + 425, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + 425, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + 425, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + 425, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 1 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + } + ], + "426": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ], + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ], + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ] + ], + "result": { + "count": 3, + "id": 426, + "metadata": 0 + } + } + ], + "427": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ], + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ], + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ] + ], + "result": { + "count": 3, + "id": 427, + "metadata": 0 + } + } + ], + "428": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ], + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ], + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ] + ], + "result": { + "count": 3, + "id": 428, + "metadata": 0 + } + } + ], + "429": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ], + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ], + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ] + ], + "result": { + "count": 3, + "id": 429, + "metadata": 0 + } + } + ], + "430": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 3, + "id": 430, + "metadata": 0 + } + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/version.json new file mode 100644 index 00000000..49f15ae4 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/version.json @@ -0,0 +1,5 @@ +{ + "version":47, + "minecraftVersion":"1.8.8", + "majorVersion":"1.8" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.8/windows.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/windows.json new file mode 100644 index 00000000..58dbe3fa --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.8/windows.json @@ -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": 3 + }, + { + "name": "result", + "index": 0, + "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 + } + ] + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9.1-pre2/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9.1-pre2/protocol.json new file mode 100644 index 00000000..357e511b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9.1-pre2/protocol.json @@ -0,0 +1,3593 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "u8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "tab_complete", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "transaction", + "0x12": "close_window", + "0x13": "open_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "keep_alive", + "0x20": "map_chunk", + "0x21": "world_event", + "0x22": "world_particles", + "0x23": "login", + "0x24": "map", + "0x25": "rel_entity_move", + "0x26": "entity_move_look", + "0x27": "entity_look", + "0x28": "entity", + "0x29": "vehicle_move", + "0x2a": "open_sign_entity", + "0x2b": "abilities", + "0x2c": "combat_event", + "0x2d": "player_info", + "0x2e": "position", + "0x2f": "bed", + "0x30": "entity_destroy", + "0x31": "remove_entity_effect", + "0x32": "resource_pack_send", + "0x33": "respawn", + "0x34": "entity_head_rotation", + "0x35": "world_border", + "0x36": "camera", + "0x37": "held_item_slot", + "0x38": "scoreboard_display_objective", + "0x39": "entity_metadata", + "0x3a": "attach_entity", + "0x3b": "entity_velocity", + "0x3c": "entity_equipment", + "0x3d": "experience", + "0x3e": "update_health", + "0x3f": "scoreboard_objective", + "0x40": "set_passengers", + "0x41": "teams", + "0x42": "scoreboard_score", + "0x43": "spawn_position", + "0x44": "update_time", + "0x45": "title", + "0x46": "update_sign", + "0x47": "sound_effect", + "0x48": "playerlist_header", + "0x49": "collect", + "0x4a": "entity_teleport", + "0x4b": "entity_update_attributes", + "0x4c": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "update_sign": "packet_update_sign", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "hash", + "type": "string" + }, + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "i8" + }, + { + "name": "cursorY", + "type": "i8" + }, + { + "name": "cursorZ", + "type": "i8" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "tab_complete", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "transaction", + "0x06": "enchant_item", + "0x07": "window_click", + "0x08": "close_window", + "0x09": "custom_payload", + "0x0a": "use_entity", + "0x0b": "keep_alive", + "0x0c": "position", + "0x0d": "position_look", + "0x0e": "look", + "0x0f": "flying", + "0x10": "vehicle_move", + "0x11": "steer_boat", + "0x12": "abilities", + "0x13": "block_dig", + "0x14": "entity_action", + "0x15": "steer_vehicle", + "0x16": "resource_pack_receive", + "0x17": "held_item_slot", + "0x18": "set_creative_slot", + "0x19": "update_sign", + "0x1a": "arm_animation", + "0x1b": "spectate", + "0x1c": "block_place", + "0x1d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9.1-pre2/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9.1-pre2/version.json new file mode 100644 index 00000000..1c62d697 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9.1-pre2/version.json @@ -0,0 +1,5 @@ +{ + "version":108, + "minecraftVersion":"1.9.1-pre2", + "majorVersion":"1.9" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9.2/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9.2/protocol.json new file mode 100644 index 00000000..357e511b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9.2/protocol.json @@ -0,0 +1,3593 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "u8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "tab_complete", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "transaction", + "0x12": "close_window", + "0x13": "open_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "keep_alive", + "0x20": "map_chunk", + "0x21": "world_event", + "0x22": "world_particles", + "0x23": "login", + "0x24": "map", + "0x25": "rel_entity_move", + "0x26": "entity_move_look", + "0x27": "entity_look", + "0x28": "entity", + "0x29": "vehicle_move", + "0x2a": "open_sign_entity", + "0x2b": "abilities", + "0x2c": "combat_event", + "0x2d": "player_info", + "0x2e": "position", + "0x2f": "bed", + "0x30": "entity_destroy", + "0x31": "remove_entity_effect", + "0x32": "resource_pack_send", + "0x33": "respawn", + "0x34": "entity_head_rotation", + "0x35": "world_border", + "0x36": "camera", + "0x37": "held_item_slot", + "0x38": "scoreboard_display_objective", + "0x39": "entity_metadata", + "0x3a": "attach_entity", + "0x3b": "entity_velocity", + "0x3c": "entity_equipment", + "0x3d": "experience", + "0x3e": "update_health", + "0x3f": "scoreboard_objective", + "0x40": "set_passengers", + "0x41": "teams", + "0x42": "scoreboard_score", + "0x43": "spawn_position", + "0x44": "update_time", + "0x45": "title", + "0x46": "update_sign", + "0x47": "sound_effect", + "0x48": "playerlist_header", + "0x49": "collect", + "0x4a": "entity_teleport", + "0x4b": "entity_update_attributes", + "0x4c": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "update_sign": "packet_update_sign", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "hash", + "type": "string" + }, + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "i8" + }, + { + "name": "cursorY", + "type": "i8" + }, + { + "name": "cursorZ", + "type": "i8" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "tab_complete", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "transaction", + "0x06": "enchant_item", + "0x07": "window_click", + "0x08": "close_window", + "0x09": "custom_payload", + "0x0a": "use_entity", + "0x0b": "keep_alive", + "0x0c": "position", + "0x0d": "position_look", + "0x0e": "look", + "0x0f": "flying", + "0x10": "vehicle_move", + "0x11": "steer_boat", + "0x12": "abilities", + "0x13": "block_dig", + "0x14": "entity_action", + "0x15": "steer_vehicle", + "0x16": "resource_pack_receive", + "0x17": "held_item_slot", + "0x18": "set_creative_slot", + "0x19": "update_sign", + "0x1a": "arm_animation", + "0x1b": "spectate", + "0x1c": "block_place", + "0x1d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9.2/protocolComments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9.2/protocolComments.json new file mode 100644 index 00000000..0cc92414 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9.2/protocolComments.json @@ -0,0 +1,2531 @@ +{ + "handshaking": { + "toClient": {}, + "toServer": { + "set_protocol": { + "before": [ + "", + "This causes the server to switch into the target state.", + "" + ], + "after": [ + "" + ], + "id": "0x00" + }, + "legacy_server_list_ping": { + "before": [ + "", + "{{Warning|This packet uses a nonstandard format. It is never length-prefixed, and the packet ID is an Unsigned Byte instead of a VarInt.}}", + "", + "While not technically part of the current protocol, legacy clients may send this packet to initiate [[Server List Ping]], and modern servers should handle it correctly.", + "" + ], + "after": [ + "", + "See [[Server List Ping#1.6]] for the details of the protocol that follows this packet.", + "" + ], + "id": "0xfe" + } + } + }, + "status": { + "toClient": { + "server_info": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x00" + }, + "ping": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x01" + } + }, + "toServer": { + "ping_start": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x00" + }, + "ping": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x01" + } + } + }, + "login": { + "toClient": { + "disconnect": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x00" + }, + "encryption_begin": { + "before": [ + "" + ], + "after": [ + "", + "See [[Protocol Encryption]] for details.", + "" + ], + "id": "0x01" + }, + "success": { + "before": [ + "" + ], + "after": [ + "", + "This packet switches the connection state to [[#Play|play]].", + "" + ], + "id": "0x02" + }, + "compress": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x03" + } + }, + "toServer": { + "login_start": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x00" + }, + "encryption_begin": { + "before": [ + "" + ], + "after": [ + "", + "See [[Protocol Encryption]] for details.", + "", + "[[Category:Protocol Details]]", + "[[Category:Minecraft Modern]]" + ], + "id": "0x01" + } + } + }, + "play": { + "toClient": { + "spawn_entity": { + "before": [ + "", + "Sent by the server when a vehicle or other object is created.", + "" + ], + "after": [ + "" + ], + "id": "0x00" + }, + "spawn_entity_experience_orb": { + "before": [ + "", + "Spawns one or more experience orbs.", + "" + ], + "after": [ + "" + ], + "id": "0x01" + }, + "spawn_entity_weather": { + "before": [ + "", + "With this packet, the server notifies the client of thunderbolts striking within a 512 block radius around the player. The coordinates specify where exactly the thunderbolt strikes.", + "" + ], + "after": [ + "" + ], + "id": "0x02" + }, + "spawn_entity_living": { + "before": [ + "", + "Sent by the server when a mob entity is spawned.", + "" + ], + "after": [ + "" + ], + "id": "0x03" + }, + "spawn_entity_painting": { + "before": [ + "", + "This packet shows location, name, and type of painting.", + "" + ], + "after": [ + "", + "Calculating the center of an image: given a (width × height) grid of cells, with (0, 0) being the top left corner, the center is (max(0, width / 2 - 1), height / 2). E.g. (1, 0) for a 2×1 painting, or (1, 2) for a 4×4 painting.", + "" + ], + "id": "0x04" + }, + "named_entity_spawn": { + "before": [ + "", + "This packet is sent by the server when a player comes into visible range, ''not'' when a player joins.", + "", + "This packet must be sent after the [[#Player List Item|Player List Item]] ([[#Play|Play]], 0x38, clientbound) packet that adds the player data for the client to use when spawning a player. If the Player List Item for the player spawned by this packet is not present when this packet arrives, Notchian clients will not spawn the player entity. The Player List Item packet includes skin/cape data.", + "", + "Servers can, however, safely spawn player entities for players not in visible range. The client appears to handle it correctly.", + "" + ], + "after": [ + "", + "When in {{Minecraft Wiki|Serve.properties#online-mode|online mode}}, the UUIDs must be valid and have valid skin blobs. In offline mode, UUID v3 is used.", + "", + "For NPCs UUID v2 should be used. Note:", + "", + " <+Grum> i will never confirm this as a feature you know that :)", + "", + "In an example UUID, xxxxxxxx-xxxx-Yxxx-xxxx-xxxxxxxxxxxx, the UUID version is specified by Y. So, for UUID v3, Y will always be 3, and for UUID v2, Y will always be 2.", + "" + ], + "id": "0x05" + }, + "animation": { + "before": [ + "", + "Sent whenever an entity should change animation.", + "" + ], + "after": [ + "", + "Animation can be one of the following values:", + "", + "{| class=\"wikitable\"", + " ! ID", + " ! Animation", + " |-", + " | 0", + " | Swing main arm", + " |-", + " | 1", + " | Take damage", + " |-", + " | 2", + " | Leave bed", + " |-", + " | 3", + " | Swing offhand", + " |-", + " | 4", + " | Critical effect", + " |-", + " | 5", + " | Magic critical effect", + " |}", + "" + ], + "id": "0x06" + }, + "statistics": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x07" + }, + "block_break_animation": { + "before": [ + "", + "0–9 are the displayable destroy stages and each other number means that there is no animation on this coordinate.", + "", + "Block break animations can still be applied on air; the animation will remain visible although there is no block being broken. However, if this is applied to a transparent block, odd graphical effects may happen, including water losing its transparency. (An effect similar to this can be seen in normal gameplay when breaking ice blocks)", + "", + "If you need to display several break animations at the same time you have to give each of them a unique Entity ID.", + "" + ], + "after": [ + "" + ], + "id": "0x08" + }, + "tile_entity_data": { + "before": [ + "", + "Essentially a block update on a block entity.", + "" + ], + "after": [ + "", + "''Action'' field:", + "", + "* '''1''': Set SpawnPotentials of a mob spawner", + "* '''2''': Set command block text (command and last execution status)", + "* '''3''': Set the level, primary, and secondary powers of a beacon", + "* '''4''': Set rotation and skin of mob head", + "* '''5''': Set type of flower in flower pot", + "* '''6''': Set base color and patterns on a banner", + "* '''7''': Set the data for a Structure tile entity", + "* '''8''': Set the destination for a end gateway", + "" + ], + "id": "0x09" + }, + "block_action": { + "before": [ + "", + "This packet is used for a number of things:", + "", + "* Chests opening and closing", + "* Pistons pushing and pulling", + "* Note blocks playing", + "* Updating beacons", + "", + "See also: [[Block Actions]] ", + "" + ], + "after": [ + "" + ], + "id": "0x0a" + }, + "block_change": { + "before": [ + "", + "Fired whenever a block is changed within the render distance.", + "" + ], + "after": [ + "" + ], + "id": "0x0b" + }, + "boss_bar": { + "before": [ + "" + ], + "after": [ + "", + "{| class=\"wikitable\"", + " ! ID", + " ! Color", + " |-", + " | 0", + " | Pink", + " |-", + " | 1", + " | Blue", + " |-", + " | 2", + " | Red", + " |-", + " | 3", + " | Green", + " |-", + " | 4", + " | Yellow", + " |-", + " | 5", + " | Purple", + " |-", + " | 6", + " | White", + " |}", + "", + "{| class=\"wikitable\"", + " ! ID", + " ! Type of division", + " |-", + " | 0", + " | No division", + " |-", + " | 1", + " | 6 notches", + " |-", + " | 2", + " | 10 notches", + " |-", + " | 3", + " | 12 notches", + " |-", + " | 4", + " | 20 notches", + " |}", + "" + ], + "id": "0x0c" + }, + "difficulty": { + "before": [ + "", + "Changes the difficulty setting in the client's option menu", + "" + ], + "after": [ + "" + ], + "id": "0x0d" + }, + "tab_complete": { + "before": [ + "", + "The server responds with a list of auto-completions of the last word sent to it. In the case of regular chat, this is a player username. Command names and parameters are also supported.", + "" + ], + "after": [ + "" + ], + "id": "0x0e" + }, + "chat": { + "before": [ + "", + "Identifying the difference between Chat/System Message is important as it helps respect the user's chat visibility options. While Position 2 accepts json formatting it will not display, old style formatting works", + "" + ], + "after": [ + "" + ], + "id": "0x0f" + }, + "multi_block_change": { + "before": [ + "", + "Fired whenever 2 or more blocks are changed within the same chunk on the same tick.", + "" + ], + "after": [ + "", + "To decode the position into a world position:", + "", + "", + "worldX = (horizPos >> 4 & 15) + (chunkX * 16);", + "worldY = vertPos;", + "worldZ = (horizPos & 15) + (chunkZ * 16);", + "", + "" + ], + "id": "0x10" + }, + "transaction": { + "before": [ + "", + "A packet from the server indicating whether a request from the client was accepted, or whether there was a conflict (due to lag).", + "" + ], + "after": [ + "" + ], + "id": "0x11" + }, + "close_window": { + "before": [ + "", + "This packet is sent from the server to the client when a window is forcibly closed, such as when a chest is destroyed while it's open.", + "", + "Note, notchian clients send a close window packet with Window ID 0 to close their inventory even though there is never an [[#Open Window|Open Window]] packet for inventory. ", + "" + ], + "after": [ + "" + ], + "id": "0x12" + }, + "open_window": { + "before": [ + "", + "This is sent to the client when it should open an inventory, such as a chest, workbench, or furnace. This message is not sent anywhere for clients opening their own inventory.", + "" + ], + "after": [ + "", + "See [[Inventory]] for further information.", + "" + ], + "id": "0x13" + }, + "window_items": { + "before": [ + "[[File:Inventory-slots.png|thumb|The inventory slots]]", + "", + "Sent by the server when items in multiple slots (in a window) are added/removed. This includes the main inventory, equipped armour and crafting slots.", + "" + ], + "after": [ + "", + "See [[Inventory#Windows|inventory windows]] for further information about how slots are indexed.", + "" + ], + "id": "0x14" + }, + "craft_progress_bar": { + "before": [ + "", + "This packet is used to inform the client that part of a GUI window should be updated.", + "" + ], + "after": [ + "", + "The meaning of the Property field depends on the type of the window. The following table shows the known combinations of window type and property, and how the value is to be interpreted.", + "", + "{| class=\"wikitable\"", + " |-", + " ! Window type", + " ! Property", + " ! Value", + " |-", + " |rowspan=\"4\"| Furnace", + " | 0: Fire icon (fuel left)", + " | counting from fuel burn time down to 0 (in-game ticks)", + " |-", + " | 1: Maximum fuel burn time", + " | fuel burn time or 0 (in-game ticks)", + " |-", + " | 2: Progress arrow", + " | 0–200 (in-game ticks)", + " |-", + " | 3: Maximum progress", + " | always 200", + " |-", + " |rowspan=\"7\"| Enchantment Table", + " | 0: Level requirement for top enchantment slot", + " |rowspan=\"3\"| The enchantment's xp level requirement", + " |-", + " | 1: Level requirement for middle enchantment slot", + " |-", + " | 2: Level requirement for bottom enchantment slot", + " |-", + " | 3: The seed for generating the enchantments view for the client", + " | Unknown", + " |-", + " | 4: Enchantment shown on mouse hover over top enchantment slot", + " |rowspan=\"3\"| The enchantment id (set to -1 to hide it)", + " |-", + " | 5: Enchantment shown on mouse hover over middle enchantment slot", + " |-", + " | 6: Enchantment shown on mouse hover over bottom enchantment slot", + " |-", + " |rowspan=\"3\"| Beacon", + " | 0: Power level", + " | Unknown", + " |-", + " | 1: First potion effect", + " | Unknown", + " |-", + " | 2: Second potion effect", + " | Unknown", + " |-", + " | Anvil", + " | 0: Repair cost", + " | The repair's cost in xp levels", + " |-", + " | Brewing Stand", + " | 0: Brew time", + " | 0–400, with 400 making the arrow empty, and 0 making the arrow full", + " |}", + "" + ], + "id": "0x15" + }, + "set_slot": { + "before": [ + "", + "Sent by the server when an item in a slot (in a window) is added/removed.", + "" + ], + "after": [ + "", + "To set the cursor (the item currently dragged with the mouse), use -1 as Window ID and as Slot.", + "", + "This packet can only be used to edit the hotbar of the player's inventory if window ID is set to 0 (slots 36 through 44). If the window ID is set to -2, then any slot in the inventory can be used but no add item animation will be played.", + "" + ], + "id": "0x16" + }, + "set_cooldown": { + "before": [ + "", + "Applies a cooldown period to an item type.", + "" + ], + "after": [ + "" + ], + "id": "0x17" + }, + "custom_payload": { + "before": [ + "", + "Mods and plugins can use this to send their data. Minecraft itself uses a number of [[plugin channel]]s. These internal channels are prefixed with MC|.", + "", + "More documentation on this: [http://dinnerbone.com/blog/2012/01/13/minecraft-plugin-channels-messaging/ http://dinnerbone.com/blog/2012/01/13/minecraft-plugin-channels-messaging/]", + "" + ], + "after": [ + "" + ], + "id": "0x18" + }, + "named_sound_effect": { + "before": [ + "{{See also|#Sound Effect}}", + "", + "Used to play a sound effect on the client. Custom sounds may be added by resource packs.", + "" + ], + "after": [ + "" + ], + "id": "0x19" + }, + "kick_disconnect": { + "before": [ + "", + "Sent by the server before it disconnects a client. The client assumes that the server has already closed the connection by the time the packet arrives.", + "" + ], + "after": [ + "" + ], + "id": "0x1a" + }, + "entity_status": { + "before": [ + "" + ], + "after": [ + "", + "{| class=\"wikitable\"", + " |-", + " ! Entity Status", + " ! Meaning", + " |-", + " | 0", + " | Spawn tipped arrow particle effects", + " |-", + " | 1", + " | Reset a mob spawner minecart's timer (unused by the client?)", + " |-", + " | 1", + " | Create rabbit running particles", + " |-", + " | 2", + " | Entity hurt animation", + " |-", + " | 3", + " | Entity died animation", + " |-", + " | 4", + " | Iron Golem throwing up arms", + " |-", + " | 6", + " | Wolf/Ocelot/Horse taming — Spawn “heart” particles", + " |-", + " | 7", + " | Wolf/Ocelot/Horse tamed — Spawn “smoke” particles", + " |-", + " | 8", + " | Wolf shaking water — Trigger the shaking animation", + " |-", + " | 9", + " | Mark item use as finished (ie, eating finished, drinking finished)", + " |-", + " | 10", + " | Sheep eating grass", + " |-", + " | 10", + " | Ignite TNT minecart", + " |-", + " | 11", + " | Iron Golem handing over a rose", + " |-", + " | 12", + " | Villager mating — Spawn “heart” particles", + " |-", + " | 13", + " | Spawn particles indicating that a villager is angry and seeking revenge", + " |-", + " | 14", + " | Spawn happy particles near a villager", + " |-", + " | 15", + " | Witch animation — Spawn “magic” particles", + " |-", + " | 16", + " | Play zombie converting into a villager sound", + " |-", + " | 17", + " | Firework exploding", + " |-", + " | 18", + " | Animal in love (ready to mate) — Spawn “heart” particles", + " |-", + " | 19", + " | Reset squid rotation", + " |-", + " | 20", + " | Spawn explosion particle — works for some living entities", + " |-", + " | 21", + " | Play guardian sound — works for every entity", + " |-", + " | 22", + " | Enables reduced {{Minecraft Wiki|Debug screen|debug}} for the given player", + " |-", + " | 23", + " | Disables reduced {{Minecraft Wiki|Debug screen|debug}} for the given player", + " |-", + " | 24–28", + " | Sets the {{Minecraft Wiki|Server.properties#op-permission-level|op permission level}} 0–4 for the connected player", + " |-", + " | 29", + " | Shield block sound", + " |-", + " | 30", + " | Shield break sound", + " |-", + " | 31", + " | For a fishing rod bobber, if the hooked entity is this player, tug that player toward the caster of the rod", + " |-", + " | 32", + " | Armorstand hit sound", + " |-", + " | 33", + " | Entity hurt due to thorns (play thorns sound, perform normal hurt animation)", + " |}", + "" + ], + "id": "0x1b" + }, + "explosion": { + "before": [ + "", + "Sent when an explosion occurs (creepers, TNT, and ghast fireballs).", + "", + "Each block in Records is set to air. Coordinates for each axis in record is int(X) + record.x", + "" + ], + "after": [ + "" + ], + "id": "0x1c" + }, + "unload_chunk": { + "before": [ + "", + "Tells the client to unload a chunk column.", + "" + ], + "after": [ + "" + ], + "id": "0x1d" + }, + "game_state_change": { + "before": [ + "", + "Used for a wide variety of game state things, from weather to bed use to game mode to demo messages.", + "" + ], + "after": [ + "", + "''Reason codes'':", + "", + "{| class=\"wikitable\"", + " ! Reason", + " ! Effect", + " ! Value", + " |-", + " | 0", + " | Invalid Bed", + " | Would be used to switch between messages, but the only used message is 0 for invalid bed", + " |-", + " | 1", + " | End raining", + " | ", + " |-", + " | 2", + " | Begin raining", + " | ", + " |-", + " | 3", + " | Change game mode", + " | 0: Survival, 1: Creative, 2: Adventure, 3: Spectator", + " |-", + " | 4", + " | Exit end", + " | 0: Immediately send Client Status of respawn without showing end credits; 1: Show end credits and respawn at the end (or when esc is pressed). 1 is sent if the player has not yet received the \"The end?\" achievement, while if they do have it 0 is used.", + " |-", + " | 5", + " | Demo message", + " | 0: Show welcome to demo screen, 101: Tell movement controls, 102: Tell jump control, 103: Tell inventory control", + " |- ", + " | 6", + " | Arrow hitting player", + " | Appears to be played when an arrow strikes another player in Multiplayer", + " |-", + " | 7", + " | Fade value", + " | The current darkness value. 1 = Dark, 0 = Bright, Setting the value higher causes the game to change color and freeze", + " |-", + " | 8", + " | Fade time", + " | Time in ticks for the sky to fade", + " |-", + " | 10", + " | Play elder guardian mob appearance (effect and sound)", + " | ", + " |}", + "" + ], + "id": "0x1e" + }, + "keep_alive": { + "before": [ + "", + "The server will frequently send out a keep-alive, each containing a random ID. The client must respond with the same packet. If the client does not respond to them for over 30 seconds, the server kicks the client. Vice versa, if the server does not send any keep-alives for 20 seconds, the client will disconnect and yields a \"Timed out\" exception.", + "" + ], + "after": [ + "" + ], + "id": "0x1f" + }, + "map_chunk": { + "before": [ + "{{See also|#Unload Chunk}}", + "", + "The server only sends skylight information for chunk pillars in the {{Minecraft Wiki|Overworld}}, it's up to the client to know in which dimenison the player is currently located. You can also infer this information from the primary bitmask and the amount of uncompressed bytes sent.", + "" + ], + "after": [ + "" + ], + "id": "0x20" + }, + "world_event": { + "before": [ + "", + "Sent when a client is to play a sound or particle effect.", + "", + "By default, the Minecraft client adjusts the volume of sound effects based on distance. The final boolean field is used to disable this, and instead the effect is played from 2 blocks away in the correct direction. Currently this is only used for effect 1023 (wither spawn) and effect 1028 (enderdragon death); it is ignored on other effects.", + "" + ], + "after": [ + "", + "Effect IDs:", + "", + "{| class=\"wikitable\"", + " ! ID", + " ! Name", + " ! Data", + " |-", + " !colspan=\"3\"| Sound", + " |-", + " | 1000", + " | Dispenser dispenses", + " | ", + " |-", + " | 1001", + " | Dispenser fails to dispense", + " | ", + " |-", + " | 1002", + " | Dispenser shoots", + " | ", + " |-", + " | 1003", + " | Ender eye launched", + " | ", + " |-", + " | 1004", + " | Firework shot", + " | ", + " |-", + " | 1005", + " | Iron door opened", + " | ", + " |-", + " | 1006", + " | Wooden door opened", + " | ", + " |-", + " | 1007", + " | Wooden trapdoor opened", + " | ", + " |-", + " | 1008", + " | Fence gate opened", + " | ", + " |-", + " | 1009", + " | Fire extinguished", + " | ", + " |-", + " | 1010", + " | Play record", + " | {{Minecraft Wiki|Music Discs|Record ID}}", + " |-", + " | 1011", + " | Iron door closed", + " | ", + " |-", + " | 1012", + " | Wooden door closed", + " | ", + " |-", + " | 1013", + " | Wooden trapdoor closed", + " | ", + " |-", + " | 1014", + " | Fence gate closed", + " | ", + " |-", + " | 1015", + " | Ghast warns", + " | ", + " |-", + " | 1016", + " | Ghast shoots", + " | ", + " |-", + " | 1017", + " | Enderdragon shoots", + " | ", + " |-", + " | 1018", + " | Blaze shoots", + " | ", + " |-", + " | 1019", + " | Zombie attacks wood door", + " | ", + " |-", + " | 1020", + " | Zombie attacks iron door", + " | ", + " |-", + " | 1021", + " | Zombie breaks wood door", + " |", + " |-", + " | 1022", + " | Wither breaks block", + " |", + " |-", + " | 1023", + " | Wither spawned", + " | ", + " |-", + " | 1024", + " | Wither shoots", + " |", + " |-", + " | 1025", + " | Bat takes off", + " |", + " |-", + " | 1026", + " | Zombie infects", + " |", + " |-", + " | 1027", + " | Zombie villager converted", + " |", + " |-", + " | 1028", + " | Ender dragon death", + " |", + " |-", + " | 1029", + " | Anvil destroyed", + " | ", + " |-", + " | 1030", + " | Anvil used", + " | ", + " |-", + " | 1031", + " | Anvil landed", + " |", + " |-", + " | 1032", + " | Portal travel", + " | ", + " |-", + " | 1033", + " | Chorus flower grown", + " |", + " |-", + " | 1034", + " | Chorus flower died", + " | ", + " |-", + " | 1035", + " | Brewing stand brewed", + " |", + " |-", + " | 1036", + " | Iron trapdoor opened", + " | ", + " |-", + " | 1037", + " | Iron trapdoor closed", + " |", + " |-", + " !colspan=\"3\"| Particle", + " |-", + " | 2000", + " | Spawns 10 smoke particles, e.g. from a fire", + " | Direction, see below", + " |-", + " | 2001", + " | Block break + block break sound", + " | {{Minecraft Wiki|Data values|Block ID}}", + " |-", + " | 2002", + " | Splash potion. Particle effect + glass break sound.", + " | [http://minecraft.gamepedia.com/Data_values#Potions Potion ID]", + " |-", + " | 2003", + " | Eye of Ender entity break animation — particles and sound", + " | ", + " |-", + " | 2004", + " | Mob spawn particle effect: smoke + flames", + " | ", + " |-", + " | 2005", + " | Bonemeal particles", + " | How many particles to spawn (if set to 0, 15 are spawned)", + " |-", + " | 2006", + " | Dragon breath", + " |", + " |-", + " | 3000", + " | End gateway spawn", + " | ", + " |-", + " | 3001", + " | Enderdragon growl", + " |", + " |}", + "", + "Smoke directions:", + "", + "{| class=\"wikitable\"", + " ! ID", + " ! Direction", + " |-", + " | 0", + " | South-East", + " |-", + " | 1", + " | South", + " |-", + " | 2", + " | South-West", + " |-", + " | 3", + " | East", + " |-", + " | 4", + " | (Up or middle ?)", + " |-", + " | 5", + " | West", + " |-", + " | 6", + " | North-East", + " |-", + " | 7", + " | North", + " |-", + " | 8", + " | North-West", + " |}", + "" + ], + "id": "0x21" + }, + "world_particles": { + "before": [ + "", + "Displays the named particle", + "" + ], + "after": [ + "", + "Particle IDs:", + "", + "{| class=\"wikitable\"", + " |-", + " ! Particle Name", + " ! Particle ID", + " |-", + " | explode", + " | 0", + " |-", + " | largeexplosion", + " | 1", + " |-", + " | hugeexplosion", + " | 2", + " |-", + " | fireworksSpark", + " | 3", + " |-", + " | bubble", + " | 4", + " |-", + " | splash", + " | 5", + " |-", + " | wake", + " | 6", + " |-", + " | suspended", + " | 7", + " |-", + " | depthsuspend", + " | 8", + " |-", + " | crit", + " | 9", + " |-", + " | magicCrit", + " | 10", + " |-", + " | smoke", + " | 11", + " |-", + " | largesmoke", + " | 12", + " |-", + " | spell", + " | 13", + " |-", + " | instantSpell", + " | 14", + " |-", + " | mobSpell", + " | 15", + " |-", + " | mobSpellAmbient", + " | 16", + " |-", + " | witchMagic", + " | 17", + " |-", + " | dripWater", + " | 18", + " |-", + " | dripLava", + " | 19", + " |-", + " | angryVillager", + " | 20", + " |-", + " | happyVillager", + " | 21", + " |-", + " | townaura", + " | 22", + " |-", + " | note", + " | 23", + " |-", + " | portal", + " | 24", + " |-", + " | enchantmenttable", + " | 25", + " |-", + " | flame", + " | 26", + " |-", + " | lava", + " | 27", + " |-", + " | footstep", + " | 28", + " |-", + " | cloud", + " | 29", + " |-", + " | reddust", + " | 30", + " |-", + " | snowballpoof", + " | 31", + " |-", + " | snowshovel", + " | 32", + " |-", + " | slime", + " | 33", + " |-", + " | heart", + " | 34", + " |-", + " | barrier", + " | 35", + " |-", + " | iconcrack_(id)_(data)", + " | 36", + " |-", + " | blockcrack_(id+(data<<12))", + " | 37", + " |-", + " | blockdust_(id)", + " | 38", + " |-", + " | droplet", + " | 39", + " |-", + " | take", + " | 40", + " |-", + " | mobappearance", + " | 41", + " |-", + " | dragonbreath", + " | 42", + " |-", + " | endrod", + " | 43", + " |-", + " | damageindicator", + " | 44", + " |-", + " | sweepattack", + " | 45", + " |}", + "" + ], + "id": "0x22" + }, + "login": { + "before": [ + "", + "See [[Protocol Encryption]] for information on logging in.", + "" + ], + "after": [ + "" + ], + "id": "0x23" + }, + "map": { + "before": [ + "", + "Updates a rectangular area on a {{Minecraft Wiki|map}} item.", + "" + ], + "after": [ + "" + ], + "id": "0x24" + }, + "rel_entity_move": { + "before": [ + "", + "This packet is sent by the server when an entity moves less then 8 blocks; if an entity moves more than 8 blocks [[#Entity Teleport|Entity Teleport]] ([[#Play|Play]], 0x4A, clientbound) should be sent instead.", + "", + "This packet allows at most 8 blocks movement in any direction, because short range is from -32768 to 32767. And 32768 / (128 * 32) = 8.", + "" + ], + "after": [ + "" + ], + "id": "0x25" + }, + "entity_move_look": { + "before": [ + "", + "This packet is sent by the server when an entity rotates and moves. Since a short range is limited from -32768 to 32767, and movement is offset of fixed-point numbers, this packet allows at most 8 blocks movement in any direction. (-32768 / (32 * 128) == -8)", + "" + ], + "after": [ + "" + ], + "id": "0x26" + }, + "entity_look": { + "before": [ + "", + "This packet is sent by the server when an entity rotates.", + "" + ], + "after": [ + "" + ], + "id": "0x27" + }, + "entity": { + "before": [ + "", + "This packet may be used to initialize an entity.", + "", + "For player entities, either this packet or any move/look packet is sent every game tick. So the meaning of this packet is basically that the entity did not move/look since the last such packet.", + "" + ], + "after": [ + "" + ], + "id": "0x28" + }, + "vehicle_move": { + "before": [ + "", + "Note that all fields use absolute positioning and do not allow for relative positioning.", + "" + ], + "after": [ + "" + ], + "id": "0x29" + }, + "open_sign_entity": { + "before": [ + "", + "Sent when the client has placed a sign and is allowed to send [[#Update Sign 2|Update Sign]].", + "" + ], + "after": [ + "" + ], + "id": "0x2a" + }, + "abilities": { + "before": [ + "", + "The latter 2 floats are used to indicate the field of view and flying speed respectively, while the first byte is used to determine the value of 4 booleans.", + "" + ], + "after": [ + "", + "About the flags:", + "", + "{| class=\"wikitable\"", + " |-", + " ! Field", + " ! Bit", + " |-", + " | Invulnerable", + " | 0x01", + " |-", + " | Flying", + " | 0x02", + " |-", + " | Allow Flying", + " | 0x04", + " |-", + " | Creative Mode", + " | 0x08", + " |}", + "" + ], + "id": "0x2b" + }, + "combat_event": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x2c" + }, + "player_info": { + "before": [ + "", + "Sent by the server to update the user list ( in the client).", + "" + ], + "after": [ + "", + "The Property field looks as in the response of [[Mojang API#UUID -> Profile + Skin/Cape]], except of course using the protocol format instead of JSON. That is, each player will usually have one property with Name “textures” and Value being a base64-encoded JSON string as documented at [[Mojang API#UUID -> Profile + Skin/Cape]]. An empty properties array is also acceptable, and will cause clients to display the player with one of the two default skins depending on UUID.", + "" + ], + "id": "0x2d" + }, + "position": { + "before": [ + "", + "Updates the player's position on the server. This packet will also close the “Downloading Terrain” screen when joining/respawning.", + "", + "If the distance between the last known position of the player on the server and the new position set by this packet is greater than 100 meters, the client will be kicked for “You moved too quickly :( (Hacking?)”.", + "", + "Also if the fixed-point number of X or Z is set greater than 3.2E7D the client will be kicked for “Illegal position”.", + "", + "Yaw is measured in degrees, and does not follow classical trigonometry rules. The unit circle of yaw on the XZ-plane starts at (0, 1) and turns counterclockwise, with 90 at (-1, 0), 180 at (0, -1) and 270 at (1, 0). Additionally, yaw is not clamped to between 0 and 360 degrees; any number is valid, including negative numbers and numbers greater than 360.", + "", + "Pitch is measured in degrees, where 0 is looking straight ahead, -90 is looking straight up, and 90 is looking straight down.", + "" + ], + "after": [ + "", + "About the Flags field:", + "", + " It's a bitfield, X/Y/Z/Y_ROT/X_ROT. If X is set, the x value is relative and not absolute.", + "", + "{| class=\"wikitable\"", + " |-", + " ! Field", + " ! Bit", + " |-", + " | X", + " | 0x01", + " |-", + " | Y", + " | 0x02", + " |-", + " | Z", + " | 0x04", + " |-", + " | Y_ROT", + " | 0x08", + " |-", + " | X_ROT", + " | 0x10", + " |}", + "" + ], + "id": "0x2e" + }, + "bed": { + "before": [ + "", + "This packet tells that a player goes to bed.", + "", + "The client with the matching Entity ID will go into bed mode.", + "", + "This Packet is sent to all nearby players including the one sent to bed.", + "" + ], + "after": [ + "" + ], + "id": "0x2f" + }, + "entity_destroy": { + "before": [ + "", + "Sent by the server when a list of entities is to be destroyed on the client.", + "" + ], + "after": [ + "" + ], + "id": "0x30" + }, + "remove_entity_effect": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x31" + }, + "resource_pack_send": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x32" + }, + "respawn": { + "before": [ + "", + "To change the player's dimension (overworld/nether/end), send them a respawn packet with the appropriate dimension, followed by prechunks/chunks for the new dimension, and finally a position and look packet. You do not need to unload chunks, the client will do it automatically.", + "" + ], + "after": [ + "", + "{{Warning2|Avoid changing player's dimension to same dimension they were already in unless they are dead. If you change the dimension to one they are already in, weird bugs can occur, such as the player being unable to attack other players in new world (until they die and respawn).", + "", + "If you must respawn a player in the same dimension without killing them, send two respawn packets, one to a different world and then another to the world you want. You do not need to complete the first respawn; it only matters that you send two packets.}}", + "" + ], + "id": "0x33" + }, + "entity_head_rotation": { + "before": [ + "", + "Changes the direction an entity's head is facing.", + "" + ], + "after": [ + "" + ], + "id": "0x34" + }, + "world_border": { + "before": [ + "" + ], + "after": [ + "", + "The Notchian client determines how solid to display the warning by comparing to whichever is higher, the warning distance or whichever is lower, the distance from the current diameter to the target diameter or the place the border will be after warningTime seconds. In pseudocode:", + "", + "", + "distance = max(min(resizeSpeed * 1000 * warningTime, abs(targetDiameter - currentDiameter)), warningDistance);", + "if (playerDistance < distance) {", + " warning = 1.0 - playerDistance / distance;", + "} else {", + " warning = 0.0;", + "}", + "", + "" + ], + "id": "0x35" + }, + "camera": { + "before": [ + "", + "Sets the entity that the player renders from. This is normally used when the player left-clicks an entity while in spectator mode.", + "", + "The player's camera will move with the entity and look where it is looking. The entity is often another player, but can be any type of entity. The player is unable to move this entity (move packets will act as if they are coming from the other entity).", + "", + "If the given entity is not loaded by the player, this packet is ignored. To return control to the player, send this packet with their entity ID.", + "", + "The Notchian server resets this (sends it back to the default entity) whenever the spectated entity is killed or the player sneaks, but only if they were spectating an entity. It also sends this packet whenever the player switches out of spectator mode (even if they weren't spectating an entity).", + "" + ], + "after": [ + "", + "The notchian also loads certain shaders for given entities:", + "", + "* Creeper → shaders/post/creeper.json", + "* Spider (and cave spider) → shaders/post/spider.json", + "* Enderman → shaders/post/invert.json", + "* Anything else → the current shader is unloaded", + "" + ], + "id": "0x36" + }, + "held_item_slot": { + "before": [ + "", + "Sent to change the player's slot selection.", + "" + ], + "after": [ + "" + ], + "id": "0x37" + }, + "scoreboard_display_objective": { + "before": [ + "", + "This is sent to the client when it should display a scoreboard.", + "" + ], + "after": [ + "" + ], + "id": "0x38" + }, + "entity_metadata": { + "before": [ + "", + "Updates one or more [[Entities#Entity Metadata Format|metadata]] properties for an existing entity. Any properties not included in the Metadata field are left unchanged.", + "" + ], + "after": [ + "" + ], + "id": "0x39" + }, + "attach_entity": { + "before": [ + "", + "This packet is sent when an entity has been {{Minecraft Wiki|Lead|leashed}} to another entity.", + "" + ], + "after": [ + "" + ], + "id": "0x3a" + }, + "entity_velocity": { + "before": [ + "", + "Velocity is believed to be in units of 1/8000 of a block per server tick (50ms); for example, -1343 would move (-1343 / 8000) = −0.167875 blocks per tick (or −3,3575 blocks per second).", + "" + ], + "after": [ + "" + ], + "id": "0x3b" + }, + "entity_equipment": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x3c" + }, + "experience": { + "before": [ + "", + "Sent by the server when the client should change experience levels.", + "" + ], + "after": [ + "" + ], + "id": "0x3d" + }, + "update_health": { + "before": [ + "", + "Sent by the server to update/set the health of the player it is sent to.", + "", + "Food {{Minecraft Wiki|Food#Hunger vs. Saturation|saturation}} acts as a food “overcharge”. Food values will not decrease while the saturation is over zero. Players logging in automatically get a saturation of 5.0. Eating food increases the saturation as well as the food bar.", + "" + ], + "after": [ + "" + ], + "id": "0x3e" + }, + "scoreboard_objective": { + "before": [ + "", + "This is sent to the client when it should create a new {{Minecraft Wiki|scoreboard}} objective or remove one.", + "" + ], + "after": [ + "" + ], + "id": "0x3f" + }, + "set_passengers": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x40" + }, + "teams": { + "before": [ + "", + "Creates and updates teams.", + "" + ], + "after": [ + "" + ], + "id": "0x41" + }, + "scoreboard_score": { + "before": [ + "", + "This is sent to the client when it should update a scoreboard item. ", + "" + ], + "after": [ + "" + ], + "id": "0x42" + }, + "spawn_position": { + "before": [ + "", + "Sent by the server after login to specify the coordinates of the spawn point (the point at which players spawn at, and which the compass points to). It can be sent at any time to update the point compasses point at.", + "" + ], + "after": [ + "" + ], + "id": "0x43" + }, + "update_time": { + "before": [ + "", + "Time is based on ticks, where 20 ticks happen every second. There are 24000 ticks in a day, making Minecraft days exactly 20 minutes long.", + "", + "The time of day is based on the timestamp modulo 24000. 0 is sunrise, 6000 is noon, 12000 is sunset, and 18000 is midnight.", + "", + "The default SMP server increments the time by 20 every second.", + "" + ], + "after": [ + "" + ], + "id": "0x44" + }, + "title": { + "before": [ + "" + ], + "after": [ + "", + "“Hide” makes the title disappear, but if you run times again the same title will appear. “Reset” erases the text.", + "", + "The title is visible on screen for Fade In + Stay + Fade Out ticks.", + "" + ], + "id": "0x45" + }, + "update_sign": { + "before": [ + "", + "This message is sent from the server to the client whenever a sign is discovered or created. This message is NOT sent when a sign is destroyed or unloaded.", + "" + ], + "after": [ + "" + ], + "id": "0x46" + }, + "sound_effect": { + "before": [ + "", + "This packet is used to play a number of [http://pokechu22.github.io/Burger/1.9.html#sounds hardcoded sound events]. For custom sounds, use [[#Named Sound Effect|Named Sound Effect]] ([[#Play|Play]], 0x19, clientbound).", + "" + ], + "after": [ + "" + ], + "id": "0x47" + }, + "playerlist_header": { + "before": [ + "", + "This packet may be used by custom servers to display additional information above/below the player list. It is never sent by the Notchian server.", + "" + ], + "after": [ + "" + ], + "id": "0x48" + }, + "collect": { + "before": [ + "", + "Sent by the server when someone picks up an item lying on the ground — its sole purpose appears to be the animation of the item flying towards you. It doesn't destroy the entity in the client memory, and it doesn't add it to your inventory. The server only checks for items to be picked up after each [[#Player Position|Player Position]] (and [[#Player Position And Look|Player Position And Look]]) packet sent by the client.", + "" + ], + "after": [ + "" + ], + "id": "0x49" + }, + "entity_teleport": { + "before": [ + "", + "This packet is sent by the server when an entity moves more than 4 blocks.", + "" + ], + "after": [ + "" + ], + "id": "0x4a" + }, + "entity_update_attributes": { + "before": [ + "", + "Sets {{Minecraft Wiki|Attribute|attributes}} on the given entity.", + "" + ], + "after": [ + "", + "Known Key values (see also {{Minecraft Wiki|Attribute#Modifiers}}):", + "", + "{| class=\"wikitable\"", + " |-", + " ! Key", + " ! Default", + " ! Min", + " ! Max", + " ! Label", + " |-", + " | generic.maxHealth", + " | 20.0", + " | 0.0", + " | 1024.0", + " | Max Health", + " |-", + " | generic.followRange", + " | 32.0", + " | 0.0", + " | 2048.0", + " | Follow Range", + " |-", + " | generic.knockbackResistance", + " | 0.0 ", + " | 0.0", + " | 1.0", + " | Knockback Resistance", + " |-", + " | generic.movementSpeed", + " | 0.699999988079071", + " | 0.0", + " | 1024.0", + " | Movement Speed", + " |-", + " | generic.attackDamage", + " | 2.0", + " | 0.0", + " | 2048.0", + " | Attack Damage", + " |-", + " | generic.attackSpeed", + " | 4.0", + " | 0.0", + " | 1024.0", + " | Attack Speed", + " |-", + " | horse.jumpStrength", + " | 0.7", + " | 0.0", + " | 2.0", + " | Jump Strength", + " |-", + " | zombie.spawnReinforcements", + " | 0.0", + " | 0.0", + " | 1.0", + " | Spawn Reinforcements Chance", + " |}", + "", + "''Modifier Data'' structure:", + "", + "{| class=\"wikitable\"", + " |-", + " ! Field Name", + " ! Field Type", + " ! Notes", + " |-", + " | UUID", + " | UUID", + " | ", + " |-", + " | Amount", + " | Double", + " | May be positive or negative", + " |-", + " | Operation", + " | Byte", + " | See below", + " |}", + "", + "The operation controls how the base value of the modifier is changed.", + "", + "* 0: Add/subtract amount", + "* 1: Add/subtract amount percent of the current value", + "* 2: Multiply by amount percent", + "", + "All of the 0's are applied first, and then the 1's, and then the 2's.", + "" + ], + "id": "0x4b" + }, + "entity_effect": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x4c" + } + }, + "toServer": { + "teleport_confirm": { + "before": [ + "", + "Sent by client as confirmation of [[#Player Position And Look (clientbound)|Player Position And Look]] ([[#Play|Play]], 0x2E, clientbound).", + "" + ], + "after": [ + "" + ], + "id": "0x00" + }, + "tab_complete": { + "before": [ + "", + "Sent when the user presses ''tab'' while writing text.", + "" + ], + "after": [ + "" + ], + "id": "0x01" + }, + "chat": { + "before": [ + "", + "Used to send a chat message to the server. The message may not be longer than 100 characters or else the server will kick the client.", + "", + "If the message starts with a /, the server will attempt to interpret it as a command. Otherwise, the server will broadcast the same chat message to all players on the server (including the player that sent the message), prepended with player's name. Specifically, it will respond with a translate [[chat]] component, \"chat.type.text\" with the first parameter set to the display name of the player (including some chat component logic to support clicking the name to send a PM) and the second parameter set to the message.", + "" + ], + "after": [ + "" + ], + "id": "0x02" + }, + "client_command": { + "before": [ + "", + "Sent when the client is ready to complete login and when the client is ready to respawn after death.", + "" + ], + "after": [ + "", + "''Action ID'' values:", + "", + "{| class=\"wikitable\"", + " |-", + " ! Action ID", + " ! Action", + " |-", + " | 0", + " | Perform respawn", + " |-", + " | 1", + " | Request stats", + " |-", + " | 2", + " | Open inventory", + " |}", + "" + ], + "id": "0x03" + }, + "settings": { + "before": [ + "", + "Sent when the player connects, or when settings are changed.", + "" + ], + "after": [ + "", + "''Displayed Skin Parts'' flags:", + "", + "* Bit 0 (0x01): Cape enabled", + "* Bit 1 (0x02): Jacket enabled", + "* Bit 2 (0x04): Left Sleeve enabled", + "* Bit 3 (0x08): Right Sleeve enabled", + "* Bit 4 (0x10): Left Pants Leg enabled", + "* Bit 5 (0x20): Right Pants Leg enabled", + "* Bit 6 (0x40): Hat enabled", + "", + "The most significant bit (bit 7, 0x80) appears to be unused.", + "" + ], + "id": "0x04" + }, + "transaction": { + "before": [ + "", + "If a transaction sent by the client was not accepted, the server will reply with a [[#Confirm Transaction|Confirm Transaction]] ([[#Play|Play]], 0x32, clientbound) packet with the Accepted field set to false. When this happens, the client must reflect the packet to apologize (as with movement), otherwise the server ignores any successive transactions.", + "" + ], + "after": [ + "" + ], + "id": "0x05" + }, + "enchant_item": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x06" + }, + "window_click": { + "before": [ + "", + "This packet is sent by the player when it clicks on a slot in a window.", + "" + ], + "after": [ + "", + "See [[Inventory]] for further information about how slots are indexed.", + "", + "When right-clicking on a stack of items, half the stack will be picked up and half left in the slot. If the stack is an odd number, the half left in the slot will be smaller of the amounts.", + "", + "The distinct type of click performed by the client is determined by the combination of the Mode and Button fields.", + "", + "{| class=\"wikitable\"", + " ! Mode", + " ! Button", + " ! Slot", + " ! Trigger", + " |-", + " !rowspan=\"2\"| 0", + " | 0", + " | Normal", + " | Left mouse click", + " |-", + " | 1", + " | Normal", + " | Right mouse click", + " |-", + " !rowspan=\"2\"| 1", + " | 0", + " | Normal", + " | Shift + left mouse click", + " |-", + " | 1", + " | Normal", + " | Shift + right mouse click ''(identical behavior)''", + " |-", + " !rowspan=\"5\"| 2", + " | 0", + " | Normal", + " | Number key 1", + " |-", + " | 1", + " | Normal", + " | Number key 2", + " |-", + " | 2", + " | Normal", + " | Number key 3", + " |-", + " | ⋮", + " | ⋮", + " | ⋮", + " |-", + " | 8", + " | Normal", + " | Number key 9", + " |-", + " !rowspan=\"1\"| 3", + " | 2", + " | Normal", + " | Middle click", + " |-", + " !rowspan=\"4\"| 4", + " | 0", + " | Normal*", + " | Drop key (Q) (* Clicked item is different, see above)", + " |-", + " | 1", + " | Normal*", + " | Ctrl + Drop key (Ctrl-Q) ''(drops full stack)''", + " |-", + " | 0", + " | -999", + " | Left click outside inventory holding nothing ''(no-op)''", + " |-", + " | 1", + " | -999", + " | Right click outside inventory holding nothing ''(no-op)''", + " |-", + " !rowspan=\"6\"| 5", + " | 0", + " | -999", + " | Starting left mouse drag ''(or middle mouse)''", + " |-", + " | 4", + " | -999", + " | Starting right mouse drag", + " |-", + " | 1", + " | Normal", + " | Add slot for left-mouse drag", + " |-", + " | 5", + " | Normal", + " | Add slot for right-mouse drag", + " |-", + " | 2", + " | -999", + " | Ending left mouse drag", + " |-", + " | 6", + " | -999", + " | Ending right mouse drag", + " |-", + " ! 6", + " | 0", + " | Normal", + " | Double click", + " |}", + "", + "Starting from version 1.5, “painting mode” is available for use in inventory windows. It is done by picking up stack of something (more than 1 item), then holding mouse button (left, right or middle) and dragging held stack over empty (or same type in case of right button) slots. In that case client sends the following to server after mouse button release (omitting first pickup packet which is sent as usual):", + "", + "# packet with mode 5, slot -999, button (0 for left | 4 for right);", + "# packet for every slot painted on, mode is still 5, button (1 | 5);", + "# packet with mode 5, slot -999, button (2 | 6);", + "", + "If any of the painting packets other than the “progress” ones are sent out of order (for example, a start, some slots, then another start; or a left-click in the middle) the painting status will be reset.", + "", + "The server will send back a [[#Confirm Transaction|Confirm Transaction]] packet. If the click was not accepted, the client must reflect that packet before sending more [[#Click Window|Click Window]] packets, otherwise the server will reject them silently. The Notchian server also sends a [[#Window Items|Window Items]] packet for the open window and [[#Set Slot|Set Slot]] packets for the clicked and cursor slot, but only when the click was not accepted, probably to resynchronize client and server.", + "" + ], + "id": "0x07" + }, + "close_window": { + "before": [ + "", + "This packet is sent by the client when closing a window.", + "", + "Notchian clients send a Close Window packet with Window ID 0 to close their inventory even though there is never an [[#Open Window|Open Window]] packet for the inventory.", + "" + ], + "after": [ + "" + ], + "id": "0x08" + }, + "custom_payload": { + "before": [ + "", + "Mods and plugins can use this to send their data. Minecraft itself uses a number of [[plugin channel]]s. These internal channels are prefixed with MC|.", + "", + "More documentation on this: [http://dinnerbone.com/blog/2012/01/13/minecraft-plugin-channels-messaging/ http://dinnerbone.com/blog/2012/01/13/minecraft-plugin-channels-messaging/]", + "", + "Note that the length of Data is known only from the packet length, since the packet has no length field of any kind.", + "" + ], + "after": [ + "" + ], + "id": "0x09" + }, + "use_entity": { + "before": [ + "", + "This packet is sent from the client to the server when the client attacks or right-clicks another entity (a player, minecart, etc).", + "", + "A Notchian server only accepts this packet if the entity being attacked/used is visible without obstruction and within a 4-unit radius of the player's position.", + "", + "Note that middle-click in creative mode is interpreted by the client and sent as a [[#Creative Inventory Action|Creative Inventory Action]] packet instead.", + "" + ], + "after": [ + "" + ], + "id": "0x0a" + }, + "keep_alive": { + "before": [ + "", + "The server will frequently send out a keep-alive, each containing a random ID. The client must respond with the same packet.", + "" + ], + "after": [ + "" + ], + "id": "0x0b" + }, + "position": { + "before": [ + "", + "Updates the player's XYZ position on the server.", + "", + "Checking for moving too fast is achieved like this:", + "", + "* Each server tick, the player's current position is stored", + "* When a player moves, the changes in x, y, and z coordinates are compared with the positions from the previous tick (Δx, Δy, Δz)", + "* Total movement distance squared is computed as Δx² + Δy² + Δz²", + "* The expected movement distance squared is computed as velocityX² + veloctyY² + velocityZ²", + "* If the total movement distance squared value minus the expected movement distance squared value is more than 100 (300 if the player is using an elytra), they are moving too fast.", + "", + "If the player is moving too fast, it will be logged that \" moved too quickly! \" followed by the change in x, y, and z, and the player will be teleported back to their current (before this packet) serverside position.", + "", + "Also, if the absolute value of X or the absolute value of Z is a value greater than 3.2×107, or X, Y, or Z are not finite (either positive infinity, negative infinity, or NaN), the client will be kicked for “Invalid move player packet received”.", + "" + ], + "after": [ + "" + ], + "id": "0x0c" + }, + "position_look": { + "before": [ + "", + "A combination of [[#Player Look|Player Look]] and [[#Player Position|Player Position]].", + "" + ], + "after": [ + "" + ], + "id": "0x0d" + }, + "look": { + "before": [ + "[[File:Minecraft-trig-yaw.png|thumb|The unit circle for yaw]]", + "[[File:Yaw.png|thumb|The unit circle of yaw, redrawn]]", + "", + "Updates the direction the player is looking in.", + "", + "Yaw is measured in degrees, and does not follow classical trigonometry rules. The unit circle of yaw on the XZ-plane starts at (0, 1) and turns counterclockwise, with 90 at (-1, 0), 180 at (0,-1) and 270 at (1, 0). Additionally, yaw is not clamped to between 0 and 360 degrees; any number is valid, including negative numbers and numbers greater than 360.", + "", + "Pitch is measured in degrees, where 0 is looking straight ahead, -90 is looking straight up, and 90 is looking straight down.", + "", + "The yaw and pitch of player (in degrees), standing at point (x0, y0, z0) and looking towards point (x, y, z) one can be calculated with:", + "", + " dx = x-x0", + " dy = y-y0", + " dz = z-z0", + " r = sqrt( dx*dx + dy*dy + dz*dz )", + " yaw = -atan2(dx,dz)/PI*180", + " if yaw < 0 then", + " yaw = 360 - yaw", + " pitch = -arcsin(dy/r)/PI*180", + "", + "You can get a unit vector from a given yaw/pitch via:", + "", + " x = -cos(pitch) * sin(yaw)", + " y = -sin(pitch)", + " z = cos(pitch) * cos(yaw)", + "" + ], + "after": [ + "" + ], + "id": "0x0e" + }, + "flying": { + "before": [ + "", + "This packet as well as [[#Player Position|Player Position]] ([[#Play|Play]], 0x04, serverbound), [[#Player Look|Player Look]] ([[#Play|Play]], 0x05, serverbound), and [[#Player Position And Look 2|Player Position And Look]] ([[#Play|Play]], 0x06, serverbound) are called the “serverbound movement packets”. At least one of them must be sent on each tick to ensure that servers will update things like player health correctly. Vanilla clients will send Player Position once every 20 ticks even for a stationary player, and Player on every other tick.", + "", + "This packet is used to indicate whether the player is on ground (walking/swimming), or airborne (jumping/falling).", + "", + "When dropping from sufficient height, fall damage is applied when this state goes from false to true. The amount of damage applied is based on the point where it last changed from true to false. Note that there are several movement related packets containing this state.", + "" + ], + "after": [ + "" + ], + "id": "0x0f" + }, + "vehicle_move": { + "before": [ + "", + "Sent when a player moves in a vehicle. Fields are the same as in [[#Player Position And Look (serverbound)|Player Position And Look]] ([[#Play|Play]], 0x2E, serverbound). Note that all fields use absolute positioning and do not allow for relative positioning.", + "" + ], + "after": [ + "" + ], + "id": "0x10" + }, + "steer_boat": { + "before": [ + "", + "Used to ''visually'' update whether boat paddles are turning. The server will update the [[Entities#Boat|Boat entity metadata]] to match the values here.", + "" + ], + "after": [ + "", + "Right paddle turning is set to true when the left button or forward button is held; left paddle turning is set to true when the right button or forward button is set to true.", + "" + ], + "id": "0x11" + }, + "abilities": { + "before": [ + "", + "The latter 2 bytes are used to indicate the walking and flying speeds respectively, while the first byte is used to determine the value of 4 booleans.", + "", + "The vanilla client sends this packet when the player starts/stops flying with the Flags parameter changed accordingly. All other parameters are ignored by the vanilla server.", + "" + ], + "after": [ + "" + ], + "id": "0x12" + }, + "block_dig": { + "before": [ + "", + "Sent when the player mines a block. A Notchian server only accepts digging packets with coordinates within a 6-unit radius between the center of the block and 1.5 units from the player's feet (''not'' their eyes).", + "" + ], + "after": [ + "", + "Status can be one of seven values:", + "", + "{| class=\"wikitable\"", + " ! Value", + " ! Meaning", + " ! Notes", + " |-", + " | 0", + " | Started digging", + " | ", + " |-", + " | 1", + " | Cancelled digging", + " | Sent when the player lets go of the Mine Block key (default: left click)", + " |-", + " | 2", + " | Finished digging", + " | Sent when the client thinks it is finished", + " |-", + " | 3", + " | Drop item stack", + " | Triggered by using the Drop Item key (default: Q) with the modifier to drop the entire selected stack (default: depends on OS). Location is always set to 0/0/0, Face is always set to -Y.", + " |-", + " | 4", + " | Drop item", + " | Triggered by using the Drop Item key (default: Q). Location is always set to 0/0/0, Face is always set to -Y.", + " |-", + " | 5", + " | Shoot arrow / finish eating", + " | Location is always set to 0/0/0, Face is always set to Special.", + " |-", + " | 6", + " | Swap item in hand", + " | Used to swap or assign an item to the second hand. Location is always set to 0/0/0, Face is always set to -Y.", + " |}", + "", + "The Face field can be one of the following values, representing the face being hit (or the Special value used for “shoot arrow / finish eating”):", + "", + "{| class=\"wikitable\"", + " |-", + " ! Value", + " ! Offset", + " ! Face", + " |-", + " | 0", + " | -Y", + " | Bottom", + " |-", + " | 1", + " | +Y", + " | Top", + " |-", + " | 2", + " | -Z", + " | North", + " |-", + " | 3", + " | +Z", + " | South", + " |-", + " | 4", + " | -X", + " | West", + " |-", + " | 5", + " | +X", + " | East", + " |-", + " | 255", + " | —", + " | Special", + " |}", + "" + ], + "id": "0x13" + }, + "entity_action": { + "before": [ + "", + "Sent by the client to indicate that it has performed certain actions: sneaking (crouching), sprinting, exiting a bed, jumping with a horse, and opening a horse's inventory while riding it.", + "" + ], + "after": [ + "", + "Action ID can be one of the following values:", + "", + "{| class=\"wikitable\"", + " ! ID", + " ! Action", + " |-", + " | 0", + " | Start sneaking", + " |-", + " | 1", + " | Stop sneaking", + " |-", + " | 2", + " | Leave bed", + " |-", + " | 3", + " | Start sprinting", + " |-", + " | 4", + " | Stop sprinting", + " |-", + " | 5", + " | Start jump with horse", + " |-", + " | 6", + " | Stop jump with horse", + " |-", + " | 7", + " | Open horse inventory", + " |-", + " | 8", + " | Start flying with elytra", + " |}", + "", + "Leave bed is only sent when the “Leave Bed” button is clicked on the sleep GUI, not when waking up due today time.", + "", + "Open horse inventory is only sent when pressing the inventory key (default: E) while on a horse — all other methods of opening a horse's inventory (involving right-clicking or shift-right-clicking it) do not use this packet.", + "", + "“Open inventory” is now sent via the [[#Client Status|Client Status]] ([[#Play|Play]], 0x03, serverbound) packet.", + "" + ], + "id": "0x14" + }, + "steer_vehicle": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x15" + }, + "resource_pack_receive": { + "before": [ + "" + ], + "after": [ + "" + ], + "id": "0x16" + }, + "held_item_slot": { + "before": [ + "", + "Sent when the player changes the slot selection", + "" + ], + "after": [ + "" + ], + "id": "0x17" + }, + "set_creative_slot": { + "before": [ + "", + "While the user is in the standard inventory (i.e., not a crafting bench) in Creative mode, the player will send this packet.", + "", + "Clicking in the creative inventory menu is quite different from non-creative inventory management. Picking up an item with the mouse actually deletes the item from the server, and placing an item into a slot or dropping it out of the inventory actually tells the server to create the item from scratch. (This can be verified by clicking an item that you don't mind deleting, then severing the connection to the server; the item will be nowhere to be found when you log back in.) As a result of this implementation strategy, the \"Destroy Item\" slot is just a client-side implementation detail that means \"I don't intend to recreate this item.\". Additionally, the long listings of items (by category, etc.) are a client-side interface for choosing which item to create. Picking up an item from such listings sends no packets to the server; only when you put it somewhere does it tell the server to create the item in that location.", + "", + "This action can be described as \"set inventory slot\". Picking up an item sets the slot to item ID -1. Placing an item into an inventory slot sets the slot to the specified item. Dropping an item (by clicking outside the window) effectively sets slot -1 to the specified item, which causes the server to spawn the item entity, etc.. All other inventory slots are numbered the same as the non-creative inventory (including slots for the 2x2 crafting menu, even though they aren't visible in the vanilla client).", + "" + ], + "after": [ + "" + ], + "id": "0x18" + }, + "update_sign": { + "before": [ + "", + "This message is sent from the client to the server when the “Done” button is pushed after placing a sign.", + "", + "The server only accepts this packet after [[#Open Sign Editor|Open Sign Editor]] ([[#Play|Play]], 0x2A, clientbound), otherwise this packet is silently ignored.", + "" + ], + "after": [ + "" + ], + "id": "0x19" + }, + "arm_animation": { + "before": [ + "", + "Sent when the player's arm swings.", + "" + ], + "after": [ + "" + ], + "id": "0x1a" + }, + "spectate": { + "before": [ + "", + "Teleports the player to the given entity. The player must be in spectator mode.", + "", + "The Notchian client only uses this to teleport to players, but it appears to accept any type of entity. The entity does not need to be in the same dimension as the player; if necessary, the player will be respawned in the right world. If the given entity cannot be found (or isn't loaded), this packet will be ignored. It will also be ignored if the player attempts to teleport to themselves.", + "" + ], + "after": [ + "" + ], + "id": "0x1b" + }, + "block_place": { + "before": [ + "" + ], + "after": [ + "", + "In normal operation (i.e. placing a block), this packet is sent once, with the values set normally.", + "", + "The Cursor Position X/Y/Z fields (also known as in-block coordinates) are calculated using raytracing. The unit corresponds to one pixel in the default resource pack. For example, let's say a slab is being placed against the south face of a full block. The Cursor Position X will be higher if the player was pointing near the right (east) edge of the face, lower if pointing near the left. The Cursor Position Y will be used to determine whether it will appear as a bottom slab (values 0–7) or as a top slab (values 8–15). The Cursor Position Z should be 15 since the player was looking at the southernmost part of the block.", + "", + "This packet has a special case where X, Y, Z, and Face are all -1. (Note that Y is unsigned so set to 255.) This special packet indicates that the currently held item for the player should have its state updated such as eating food, pulling back bows, using buckets, etc.", + "", + "Special note on using buckets: When using buckets, the Notchian client might send two packets: first a normal and then a special case. The first normal packet is sent when you're looking at a block (e.g. the water you want to scoop up). This normal packet does not appear to do anything with a Notchian server. The second, special case packet appears to perform the action — based on current position/orientation and with a distance check — it appears that buckets can only be used within a radius of 6 units.", + "" + ], + "id": "0x1c" + }, + "use_item": { + "before": [ + "", + "Sent when pressing the Use Item key (default: right click) with an item in hand.", + "" + ], + "after": [ + "" + ], + "id": "0x1d" + } + } + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9.2/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9.2/version.json new file mode 100644 index 00000000..8c914819 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9.2/version.json @@ -0,0 +1,5 @@ +{ + "version":109, + "minecraftVersion":"1.9.2", + "majorVersion":"1.9" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9.4/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9.4/protocol.json new file mode 100644 index 00000000..66ccbb39 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9.4/protocol.json @@ -0,0 +1,3575 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "u8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "tab_complete", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "transaction", + "0x12": "close_window", + "0x13": "open_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "keep_alive", + "0x20": "map_chunk", + "0x21": "world_event", + "0x22": "world_particles", + "0x23": "login", + "0x24": "map", + "0x25": "rel_entity_move", + "0x26": "entity_move_look", + "0x27": "entity_look", + "0x28": "entity", + "0x29": "vehicle_move", + "0x2a": "open_sign_entity", + "0x2b": "abilities", + "0x2c": "combat_event", + "0x2d": "player_info", + "0x2e": "position", + "0x2f": "bed", + "0x30": "entity_destroy", + "0x31": "remove_entity_effect", + "0x32": "resource_pack_send", + "0x33": "respawn", + "0x34": "entity_head_rotation", + "0x35": "world_border", + "0x36": "camera", + "0x37": "held_item_slot", + "0x38": "scoreboard_display_objective", + "0x39": "entity_metadata", + "0x3a": "attach_entity", + "0x3b": "entity_velocity", + "0x3c": "entity_equipment", + "0x3d": "experience", + "0x3e": "update_health", + "0x3f": "scoreboard_objective", + "0x40": "set_passengers", + "0x41": "teams", + "0x42": "scoreboard_score", + "0x43": "spawn_position", + "0x44": "update_time", + "0x45": "title", + "0x46": "sound_effect", + "0x47": "playerlist_header", + "0x48": "collect", + "0x49": "entity_teleport", + "0x4a": "entity_update_attributes", + "0x4b": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "hash", + "type": "string" + }, + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "i8" + }, + { + "name": "cursorY", + "type": "i8" + }, + { + "name": "cursorZ", + "type": "i8" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "tab_complete", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "transaction", + "0x06": "enchant_item", + "0x07": "window_click", + "0x08": "close_window", + "0x09": "custom_payload", + "0x0a": "use_entity", + "0x0b": "keep_alive", + "0x0c": "position", + "0x0d": "position_look", + "0x0e": "look", + "0x0f": "flying", + "0x10": "vehicle_move", + "0x11": "steer_boat", + "0x12": "abilities", + "0x13": "block_dig", + "0x14": "entity_action", + "0x15": "steer_vehicle", + "0x16": "resource_pack_receive", + "0x17": "held_item_slot", + "0x18": "set_creative_slot", + "0x19": "update_sign", + "0x1a": "arm_animation", + "0x1b": "spectate", + "0x1c": "block_place", + "0x1d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9.4/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9.4/version.json new file mode 100644 index 00000000..e942de70 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9.4/version.json @@ -0,0 +1,5 @@ +{ + "version":110, + "minecraftVersion":"1.9.4", + "majorVersion":"1.9" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/biomes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/biomes.json new file mode 100644 index 00000000..21388635 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/biomes.json @@ -0,0 +1,282 @@ +[ + { + "id": 0, + "color": 112, + "name": "Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 1, + "color": 9286496, + "name": "Plains", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 2, + "color": 16421912, + "name": "Desert", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 3, + "color": 6316128, + "name": "Extreme Hills", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 4, + "color": 353825, + "name": "Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 5, + "color": 747097, + "name": "Taiga", + "rainfall": 0.8, + "temperature": 0.05 + }, + { + "id": 6, + "color": 522674, + "name": "Swampland", + "rainfall": 0.9, + "temperature": 0.8 + }, + { + "id": 7, + "color": 255, + "name": "River", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 8, + "color": 16711680, + "name": "Hell", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 9, + "color": 8421631, + "name": "The End", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 10, + "color": 9474208, + "name": "FrozenOcean", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 11, + "color": 10526975, + "name": "FrozenRiver", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 12, + "color": 16777215, + "name": "Ice Plains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 13, + "color": 10526880, + "name": "Ice Mountains", + "rainfall": 0.5, + "temperature": 0 + }, + { + "id": 14, + "color": 16711935, + "name": "MushroomIsland", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 15, + "color": 10486015, + "name": "MushroomIslandShore", + "rainfall": 1, + "temperature": 0.9 + }, + { + "id": 16, + "color": 16440917, + "name": "Beach", + "rainfall": 0.4, + "temperature": 0.8 + }, + { + "id": 17, + "color": 13786898, + "name": "DesertHills", + "rainfall": 0, + "temperature": 2 + }, + { + "id": 18, + "color": 2250012, + "name": "ForestHills", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 19, + "color": 1456435, + "name": "TaigaHills", + "rainfall": 0.7, + "temperature": 0.2 + }, + { + "id": 20, + "color": 7501978, + "name": "Extreme Hills Edge", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 21, + "color": 5470985, + "name": "Jungle", + "rainfall": 0.9, + "temperature": 1.2 + }, + { + "id": 22, + "color": 2900485, + "name": "JungleHills", + "rainfall": 0.9, + "temperature": 1.2 + }, + { + "id": 23, + "color": 6458135, + "name": "JungleEdge", + "rainfall": 0.8, + "temperature": 0.95 + }, + { + "id": 24, + "color": 48, + "name": "Deep Ocean", + "rainfall": 0.5, + "temperature": 0.5 + }, + { + "id": 25, + "color": 10658436, + "name": "Stone Beach", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 26, + "color": 16445632, + "name": "Cold Beach", + "rainfall": 0.3, + "temperature": 0.05 + }, + { + "id": 27, + "color": 3175492, + "name": "Birch Forest", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 28, + "color": 2055986, + "name": "Birch Forest Hills", + "rainfall": 0.6, + "temperature": 0.6 + }, + { + "id": 29, + "color": 4215066, + "name": "Roofed Forest", + "rainfall": 0.8, + "temperature": 0.7 + }, + { + "id": 30, + "color": 3233098, + "name": "Cold Taiga", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 31, + "color": 2375478, + "name": "Cold Taiga Hills", + "rainfall": 0.4, + "temperature": -0.5 + }, + { + "id": 32, + "color": 5858897, + "name": "Mega Taiga", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 33, + "color": 4542270, + "name": "Mega Taiga Hills", + "rainfall": 0.8, + "temperature": 0.3 + }, + { + "id": 34, + "color": 5271632, + "name": "Extreme Hills+", + "rainfall": 0.3, + "temperature": 0.2 + }, + { + "id": 35, + "color": 12431967, + "name": "Savanna", + "rainfall": 0, + "temperature": 1.2 + }, + { + "id": 36, + "color": 10984804, + "name": "Savanna Plateau", + "rainfall": 0, + "temperature": 1 + }, + { + "id": 37, + "color": 14238997, + "name": "Mesa", + "rainfall": 0.5, + "temperature": 2.0 + }, + { + "id": 38, + "color": 11573093, + "name": "Mesa Plateau F", + "rainfall": 0.5, + "temperature": 2.0 + }, + { + "id": 39, + "color": 13274213, + "name": "Redwood Taiga Hills M", + "rainfall": 0.5, + "temperature": 2.0 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/blockCollisionShapes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/blockCollisionShapes.json new file mode 100644 index 00000000..4028289a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/blockCollisionShapes.json @@ -0,0 +1,294 @@ +{"blocks":{"air":0, +"stone":1, +"grass":1, +"dirt":1, +"cobblestone":1, +"planks":1, +"sapling":0, +"bedrock":1, +"flowing_water":0, +"water":0, +"flowing_lava":0, +"lava":0, +"sand":1, +"gravel":1, +"gold_ore":1, +"iron_ore":1, +"coal_ore":1, +"log":1, +"leaves":1, +"sponge":1, +"glass":1, +"lapis_ore":1, +"lapis_block":1, +"dispenser":1, +"sandstone":1, +"noteblock":1, +"bed":2, +"golden_rail":0, +"detector_rail":0, +"sticky_piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0], +"web":0, +"tallgrass":0, +"deadbush":0, +"piston":[1,1,1,1,1,1,0,0,3,4,5,6,7,8,0,0], +"piston_head":[10,11,9,12,13,14,0,0,10,11,9,12,13,14,0,0], +"wool":1, +"piston_extension":0, +"yellow_flower":0, +"red_flower":0, +"brown_mushroom":0, +"red_mushroom":0, +"gold_block":1, +"iron_block":1, +"double_stone_slab":1, +"stone_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"brick_block":1, +"tnt":1, +"bookshelf":1, +"mossy_cobblestone":1, +"obsidian":1, +"torch":0, +"fire":0, +"mob_spawner":1, +"oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"chest":25, +"redstone_wire":0, +"diamond_ore":1, +"diamond_block":1, +"crafting_table":1, +"wheat":0, +"farmland":26, +"furnace":1, +"lit_furnace":1, +"standing_sign":0, +"wooden_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"ladder":[27,27,27,29,30,28,27,27,27,29,30,28,27,27,27,29], +"rail":0, +"stone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"wall_sign":0, +"lever":0, +"stone_pressure_plate":0, +"iron_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"wooden_pressure_plate":0, +"redstone_ore":1, +"lit_redstone_ore":1, +"unlit_redstone_torch":0, +"redstone_torch":0, +"stone_button":0, +"snow_layer":[0,31,32,33,15,34,4,35,0,31,32,33,15,34,4,35], +"ice":1, +"snow":1, +"cactus":36, +"clay":1, +"reeds":0, +"jukebox":1, +"fence":37, +"pumpkin":1, +"netherrack":1, +"soul_sand":35, +"glowstone":1, +"portal":0, +"lit_pumpkin":1, +"cake":[38,39,40,41,42,43,44,0,0,0,0,0,0,0,0,0], +"unpowered_repeater":31, +"powered_repeater":31, +"stained_glass":1, +"trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28], +"monster_egg":1, +"stonebrick":1, +"brown_mushroom_block":1, +"red_mushroom_block":1, +"iron_bars":47, +"glass_pane":47, +"melon_block":1, +"pumpkin_stem":0, +"melon_stem":0, +"vine":0, +"fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"stone_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"mycelium":1, +"waterlily":50, +"nether_brick":1, +"nether_brick_fence":37, +"nether_brick_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"nether_wart":0, +"enchanting_table":4, +"brewing_stand":51, +"cauldron":52, +"end_portal":0, +"end_portal_frame":[81,81,81,81,82,82,82,82,81,81,81,81,82,82,82,82], +"end_stone":1, +"dragon_egg":53, +"redstone_lamp":1, +"lit_redstone_lamp":1, +"double_wooden_slab":1, +"wooden_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"cocoa":[55,56,54,57,58,59,60,61,62,63,64,65,0,0,0,0], +"sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"emerald_ore":1, +"ender_chest":25, +"tripwire_hook":0, +"tripwire":0, +"emerald_block":1, +"spruce_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"birch_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"jungle_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"command_block":1, +"beacon":1, +"cobblestone_wall":66, +"flower_pot":67, +"carrots":0, +"potatoes":0, +"wooden_button":0, +"skull":[69,69,68,70,71,72,69,69,69,69,68,70,71,72,69,69], +"anvil":[73,74,73,74,73,74,73,74,73,74,73,74,0,0,0,0], +"trapped_chest":25, +"light_weighted_pressure_plate":0, +"heavy_weighted_pressure_plate":0, +"unpowered_comparator":31, +"powered_comparator":31, +"daylight_detector":33, +"redstone_block":1, +"quartz_ore":1, +"hopper":75, +"quartz_block":1, +"quartz_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"activator_rail":0, +"dropper":1, +"stained_hardened_clay":1, +"stained_glass_pane":47, +"leaves2":1,"log2":1,"acacia_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"dark_oak_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"slime":1, +"barrier":1, +"iron_trapdoor":[45,45,45,45,27,29,30,28,46,46,46,46,27,29,30,28], +"prismarine":1, +"sea_lantern":1, +"hay_block":1, +"carpet":76, +"hardened_clay":1, +"coal_block":1, +"packed_ice":1, +"double_plant":0, +"standing_banner":0, +"wall_banner":0, +"daylight_detector_inverted":33, +"red_sandstone":1, +"red_sandstone_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"double_stone_slab2":1,"stone_slab2":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"spruce_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"birch_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"jungle_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"dark_oak_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"acacia_fence_gate":[48,49,48,49,0,0,0,0,48,49,48,49,0,0,0,0], +"spruce_fence":37, +"birch_fence":37, +"jungle_fence":37, +"dark_oak_fence":37, +"acacia_fence":37, +"spruce_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"birch_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"jungle_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"acacia_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"dark_oak_door":[28,29,30,27,29,30,27,28,28,29,30,27,29,30,27,28], +"end_rod":[77,77,78,78,79,79,77,77,78,78,79,79,77,77,78,78], +"chorus_plant":80, +"chorus_flower":1, +"purpur_block":1, +"purpur_pillar":1, +"purpur_stairs":[18,19,20,17,21,22,23,24,18,19,20,17,21,22,23,24], +"purpur_double_slab":1, +"purpur_slab":[15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16], +"end_bricks":1, +"beetroots":0, +"grass_path":26, +"end_gateway":0, +"repeating_command_block":1, +"chain_command_block":1, +"frosted_ice":1, +"structure_block":1}, +"shapes":{"0":[], +"1":[[0.0,0.0,0.0,1.0,1.0,1.0]], +"2":[[0.0,0.0,0.0,1.0,0.5625,1.0]], +"3":[[0.0,0.25,0.0,1.0,1.0,1.0]], +"4":[[0.0,0.0,0.0,1.0,0.75,1.0]], +"5":[[0.0,0.0,0.25,1.0,1.0,1.0]], +"6":[[0.0,0.0,0.0,1.0,1.0,0.75]], +"7":[[0.25,0.0,0.0,1.0,1.0,1.0]], +"8":[[0.0,0.0,0.0,0.75,1.0,1.0]], +"9":[[0.0,0.0,0.0,1.0,1.0,0.25],[0.375,0.375,0.25,0.625,0.625,1.25]], +"10":[[0.0,0.0,0.0,1.0,0.25,1.0],[0.375,0.25,0.375,0.625,1.25,0.625]], +"11":[[0.0,0.75,0.0,1.0,1.0,1.0],[0.375,-0.25,0.375,0.625,0.75,0.625]], +"12":[[0.0,0.0,0.75,1.0,1.0,1.0],[0.375,0.375,-0.25,0.625,0.625,0.75]], +"13":[[0.0,0.0,0.0,0.25,1.0,1.0],[0.25,0.375,0.375,1.25,0.625,0.625]], +"14":[[0.75,0.0,0.0,1.0,1.0,1.0],[-0.25,0.375,0.375,0.75,0.625,0.625]], +"15":[[0.0,0.0,0.0,1.0,0.5,1.0]], +"16":[[0.0,0.5,0.0,1.0,1.0,1.0]], +"17":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,1.0,1.0,0.5]], +"18":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.5,0.5,0.0,1.0,1.0,1.0]], +"19":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.0,0.5,1.0,1.0]], +"20":[[0.0,0.0,0.0,1.0,0.5,1.0],[0.0,0.5,0.5,1.0,1.0,1.0]], +"21":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.5,0.0,0.0,1.0,0.5,1.0]], +"22":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,0.5,0.5,1.0]], +"23":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.5,1.0,0.5,1.0]], +"24":[[0.0,0.5,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,0.5,0.5]], +"25":[[0.0625,0.0,0.0625,0.9375,0.875,0.9375]], +"26":[[0.0,0.0,0.0,1.0,0.9375,1.0]], +"27":[[0.0,0.0,0.8125,1.0,1.0,1.0]], +"28":[[0.0,0.0,0.0,0.1875,1.0,1.0]], +"29":[[0.0,0.0,0.0,1.0,1.0,0.1875]], +"30":[[0.8125,0.0,0.0,1.0,1.0,1.0]], +"31":[[0.0,0.0,0.0,1.0,0.125,1.0]], +"32":[[0.0,0.0,0.0,1.0,0.25,1.0]], +"33":[[0.0,0.0,0.0,1.0,0.375,1.0]], +"34":[[0.0,0.0,0.0,1.0,0.625,1.0]], +"35":[[0.0,0.0,0.0,1.0,0.875,1.0]], +"36":[[0.0625,0.0,0.0625,0.9375,0.9375,0.9375]], +"37":[[0.375,0.0,0.375,0.625,1.5,0.625]], +"38":[[0.0625,0.0,0.0625,0.9375,0.5,0.9375]], +"39":[[0.1875,0.0,0.0625,0.9375,0.5,0.9375]], +"40":[[0.3125,0.0,0.0625,0.9375,0.5,0.9375]], +"41":[[0.4375,0.0,0.0625,0.9375,0.5,0.9375]], +"42":[[0.5625,0.0,0.0625,0.9375,0.5,0.9375]], +"43":[[0.6875,0.0,0.0625,0.9375,0.5,0.9375]], +"44":[[0.8125,0.0,0.0625,0.9375,0.5,0.9375]], +"45":[[0.0,0.0,0.0,1.0,0.1875,1.0]], +"46":[[0.0,0.8125,0.0,1.0,1.0,1.0]], +"47":[[0.4375,0.0,0.4375,0.5625,1.0,0.5625]], +"48":[[0.0,0.0,0.375,1.0,1.5,0.625]], +"49":[[0.375,0.0,0.0,0.625,1.5,1.0]], +"50":[[0.0625,0.0,0.0625,0.9375,0.09375,0.9375]], +"51":[[0.4375,0.0,0.4375,0.5625,0.875,0.5625],[0.0,0.0,0.0,1.0,0.125,1.0]], +"52":[[0.0,0.0,0.0,1.0,0.3125,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.875,1.0,1.0,1.0]], +"53":[[0.0625,0.0,0.0625,0.9375,1.0,0.9375]], +"54":[[0.375,0.4375,0.0625,0.625,0.75,0.3125]], +"55":[[0.375,0.4375,0.6875,0.625,0.75,0.9375]], +"56":[[0.0625,0.4375,0.375,0.3125,0.75,0.625]], +"57":[[0.6875,0.4375,0.375,0.9375,0.75,0.625]], +"58":[[0.3125,0.3125,0.5625,0.6875,0.75,0.9375]], +"59":[[0.0625,0.3125,0.3125,0.4375,0.75,0.6875]], +"60":[[0.3125,0.3125,0.0625,0.6875,0.75,0.4375]], +"61":[[0.5625,0.3125,0.3125,0.9375,0.75,0.6875]], +"62":[[0.25,0.1875,0.4375,0.75,0.75,0.9375]], +"63":[[0.0625,0.1875,0.25,0.5625,0.75,0.75]], +"64":[[0.25,0.1875,0.0625,0.75,0.75,0.5625]], +"65":[[0.4375,0.1875,0.25,0.9375,0.75,0.75]], +"66":[[0.25,0.0,0.25,0.75,1.5,0.75]], +"67":[[0.3125,0.0,0.3125,0.6875,0.375,0.6875]], +"68":[[0.25,0.25,0.5,0.75,0.75,1.0]], +"69":[[0.25,0.0,0.25,0.75,0.5,0.75]], +"70":[[0.25,0.25,0.0,0.75,0.75,0.5]], +"71":[[0.5,0.25,0.25,1.0,0.75,0.75]], +"72":[[0.0,0.25,0.25,0.5,0.75,0.75]], +"73":[[0.125,0.0,0.0,0.875,1.0,1.0]], +"74":[[0.0,0.0,0.125,1.0,1.0,0.875]], +"75":[[0.0,0.0,0.0,1.0,0.625,1.0],[0.0,0.0,0.0,0.125,1.0,1.0],[0.875,0.0,0.0,1.0,1.0,1.0],[0.0,0.0,0.0,1.0,1.0,0.125],[0.0,0.0,0.875,1.0,1.0,1.0]], +"76":[[0.0,0.0,0.0,1.0,0.0625,1.0]], +"77":[[0.375,0.0,0.375,0.625,1.0,0.625]], +"78":[[0.375,0.375,0.0,0.625,0.625,1.0]], +"79":[[0.0,0.375,0.375,1.0,0.625,0.625]], +"80":[[0.1875,0.1875,0.1875,0.8125,0.8125,0.8125]], +"81":[[0.0,0.0,0.0,1.0,0.8125,1.0]], +"82":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.3125,0.8125,0.3125,0.6875,1.0,0.6875]]}} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/blocks.json new file mode 100644 index 00000000..cbd80f7e --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/blocks.json @@ -0,0 +1,5672 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone" + }, + { + "metadata": 1, + "displayName": "Granite" + }, + { + "metadata": 2, + "displayName": "Polished Granite" + }, + { + "metadata": 3, + "displayName": "Diorite" + }, + { + "metadata": 4, + "displayName": "Polished Diorite" + }, + { + "metadata": 5, + "displayName": "Andesite" + }, + { + "metadata": 6, + "displayName": "Polished Andesite" + } + ], + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Dirt" + }, + { + "metadata": 1, + "displayName": "Coarse Dirt" + }, + { + "metadata": 2, + "displayName": "Podzol" + } + ], + "drops": [ + { + "drop": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "planks", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Wood Planks" + }, + { + "metadata": 1, + "displayName": "Spruce Wood Planks" + }, + { + "metadata": 2, + "displayName": "Birch Wood Planks" + }, + { + "metadata": 3, + "displayName": "Jungle Wood Planks" + }, + { + "metadata": 4, + "displayName": "Acacia Wood Planks" + }, + { + "metadata": 5, + "displayName": "Dark Oak Wood Planks" + } + ], + "drops": [ + { + "drop": 5 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 6 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 8, + "displayName": "Water", + "name": "flowing_water", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 10, + "displayName": "Lava", + "name": "flowing_lava", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Sand" + }, + { + "metadata": 1, + "displayName": "Red sand" + } + ], + "drops": [ + { + "drop": 12 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 13, + "minCount": 0.9 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 14 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 15 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 263, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 17, + "displayName": "Wood", + "name": "log", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 17 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "leaves", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Leaves" + }, + { + "metadata": 1, + "displayName": "Spruce Leaves" + }, + { + "metadata": 2, + "displayName": "Birch Leaves" + }, + { + "metadata": 3, + "displayName": "Jungle Leaves" + }, + { + "metadata": 4, + "displayName": "Oak Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Spruce Leaves (no decay)" + }, + { + "metadata": 6, + "displayName": "Birch Leaves (no decay)" + }, + { + "metadata": 7, + "displayName": "Jungle Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Oak Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Spruce Leaves (check decay)" + }, + { + "metadata": 10, + "displayName": "Birch Leaves (check decay)" + }, + { + "metadata": 11, + "displayName": "Jungle Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Oak Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Spruce Leaves (no decay and check decay)" + }, + { + "metadata": 14, + "displayName": "Birch Leaves (no decay and check decay)" + }, + { + "metadata": 15, + "displayName": "Jungle Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Sponge" + }, + { + "metadata": 1, + "displayName": "Wet Sponge" + } + ], + "drops": [ + { + "drop": 19 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": { + "id": 351, + "metadata": 4 + }, + "minCount": 4, + "maxCount": 8 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 22 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 23 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth sandstone" + } + ], + "drops": [ + { + "drop": 24 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "noteblock", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 25 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 26, + "displayName": "Bed", + "name": "bed", + "hardness": 0.2, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 26 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "golden_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 27 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 28 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 29 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "web", + "hardness": 4, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "web", + "harvestTools": { + "267": true, + "268": true, + "272": true, + "276": true, + "283": true, + "359": true + }, + "drops": [ + { + "drop": 287 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 31, + "displayName": "Grass", + "name": "tallgrass", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Shrub" + }, + { + "metadata": 1, + "displayName": "Tall Grass" + }, + { + "metadata": 2, + "displayName": "Fern" + } + ], + "drops": [ + { + "drop": 295, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "deadbush", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 280, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 33 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 34, + "displayName": "Piston Head", + "name": "piston_head", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 34 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wool", + "variations": [ + { + "metadata": 0, + "displayName": "White Wool" + }, + { + "metadata": 1, + "displayName": "Orange Wool" + }, + { + "metadata": 2, + "displayName": "Magenta Wool" + }, + { + "metadata": 3, + "displayName": "Light blue Wool" + }, + { + "metadata": 4, + "displayName": "Yellow Wool" + }, + { + "metadata": 5, + "displayName": "Lime Wool" + }, + { + "metadata": 6, + "displayName": "Pink Wool" + }, + { + "metadata": 7, + "displayName": "Gray Wool" + }, + { + "metadata": 8, + "displayName": "Light gray Wool" + }, + { + "metadata": 9, + "displayName": "Cyan Wool" + }, + { + "metadata": 10, + "displayName": "Purple Wool" + }, + { + "metadata": 11, + "displayName": "Blue Wool" + }, + { + "metadata": 12, + "displayName": "Brown Wool" + }, + { + "metadata": 13, + "displayName": "Green Wool" + }, + { + "metadata": 14, + "displayName": "Red Wool" + }, + { + "metadata": 15, + "displayName": "Black Wool" + } + ], + "drops": [ + { + "drop": 35 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 36, + "displayName": "Block moved by Piston", + "name": "piston_extension", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 36 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "yellow_flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 37 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 38, + "displayName": "Poppy", + "name": "red_flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Poppy" + }, + { + "metadata": 1, + "displayName": "Blue Orchid" + }, + { + "metadata": 2, + "displayName": "Allium" + }, + { + "metadata": 3, + "displayName": "Azure Bluet" + }, + { + "metadata": 4, + "displayName": "Red Tulip" + }, + { + "metadata": 5, + "displayName": "Orange Tulip" + }, + { + "metadata": 6, + "displayName": "White Tulip" + }, + { + "metadata": 7, + "displayName": "Pink Tulip" + }, + { + "metadata": 8, + "displayName": "Oxeye Daisy" + } + ], + "drops": [ + { + "drop": 38 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 39 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 40 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "gold_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 41 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "iron_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 42 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Stone Slab" + }, + { + "metadata": 1, + "displayName": "Double Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "Double (Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Double Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Double Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Double Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Double Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Double Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Stone Slab" + }, + { + "metadata": 9, + "displayName": "Smooth Double Sandstone Slab" + }, + { + "metadata": 15, + "displayName": "Tile Double Quartz Slab (note the underside)" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone Slab" + }, + { + "metadata": 1, + "displayName": "Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "(Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Upper Stone Slab" + }, + { + "metadata": 9, + "displayName": "Upper Sandstone Slab" + }, + { + "metadata": 10, + "displayName": "Upper (Stone) Wooden Slab" + }, + { + "metadata": 11, + "displayName": "Upper Cobblestone Slab" + }, + { + "metadata": 12, + "displayName": "Upper Bricks Slab" + }, + { + "metadata": 13, + "displayName": "Upper Stone Brick Slab" + }, + { + "metadata": 14, + "displayName": "Upper Nether Brick Slab" + }, + { + "metadata": 15, + "displayName": "Upper Quartz Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "brick_block", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 45 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Drops a TNT item when broken" + }, + { + "metadata": 1, + "displayName": "Activates when broken" + } + ], + "drops": [ + { + "drop": 46 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 340, + "minCount": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "mossy_cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 48 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "278": true + }, + "drops": [ + { + "drop": 49 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Torch facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Torch facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Torch facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Torch facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Torch facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 50 + } + ], + "transparent": true, + "emitLight": 14, + "filterLight": 0 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "mob_spawner", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 53 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 54 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 55 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 264 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "diamond_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 57 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 58 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 59, + "displayName": "Wheat", + "name": "wheat", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 295 + }, + { + "drop": 295, + "minCount": 0, + "maxCount": 3 + }, + { + "drop": 296 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "lit_furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 63, + "displayName": "Standing Sign", + "name": "standing_sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 63 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 64, + "displayName": "Oak Door", + "name": "wooden_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 64 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 65 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 66 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "stone_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 67 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "wall_sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 68 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 69 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 70 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 71, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 71 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 72 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "lit_redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "unlit_redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Redstone Torch (inactive) facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Redstone Torch (inactive) facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Redstone Torch (inactive) facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Redstone Torch (inactive) facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Redstone Torch (inactive) facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 75 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 76, + "displayName": "Redstone Torch (active)", + "name": "redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Redstone Torch (active) facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Redstone Torch (active) facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Redstone Torch (active) facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Redstone Torch (active) facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Redstone Torch (active) facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 76 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 77 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 78, + "displayName": "Snow (layer)", + "name": "snow_layer", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "One layer, 2 pixels thick" + }, + { + "metadata": 1, + "displayName": "Two layers, 4 pixels thick" + }, + { + "metadata": 2, + "displayName": "Three layers, 6 pixels thick" + }, + { + "metadata": 3, + "displayName": "Four layers, 8 pixels thick" + }, + { + "metadata": 4, + "displayName": "Five layers, 10 pixels thick" + }, + { + "metadata": 5, + "displayName": "Six layers, 12 pixels thick" + }, + { + "metadata": 6, + "displayName": "Seven layers, 14 pixels thick" + }, + { + "metadata": 7, + "displayName": "Eight layers, 16 pixels thick" + } + ], + "drops": [ + { + "drop": 332, + "minCount": 2, + "maxCount": 9 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "drops": [ + { + "drop": 332, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 81 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 337, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 83, + "displayName": "Sugar Cane", + "name": "reeds", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 83 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 84, + "displayName": "Jukebox", + "name": "jukebox", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "No disc inserted" + }, + { + "metadata": 1, + "displayName": "Contains a disc" + } + ], + "drops": [ + { + "drop": 84 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 85 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 86 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 87 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 88 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 348, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 90, + "displayName": "Nether Portal", + "name": "portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 11, + "filterLight": 0 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "lit_pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 91 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 92, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 93, + "displayName": "Redstone Repeater (inactive)", + "name": "unpowered_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 93 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 94, + "displayName": "Redstone Repeater (active)", + "name": "powered_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 94 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 95, + "displayName": "Stained Glass", + "name": "stained_glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Stained Glass" + }, + { + "metadata": 1, + "displayName": "Orange Stained Glass" + }, + { + "metadata": 2, + "displayName": "Magenta Stained Glass" + }, + { + "metadata": 3, + "displayName": "Light Blue Stained Glass" + }, + { + "metadata": 4, + "displayName": "Yellow Stained Glass" + }, + { + "metadata": 5, + "displayName": "Lime Stained Glass" + }, + { + "metadata": 6, + "displayName": "Pink Stained Glass" + }, + { + "metadata": 7, + "displayName": "Gray Stained Glass" + }, + { + "metadata": 8, + "displayName": "Light Gray Stained Glass" + }, + { + "metadata": 9, + "displayName": "Cyan Stained Glass" + }, + { + "metadata": 10, + "displayName": "Purple Stained Glass" + }, + { + "metadata": 11, + "displayName": "Blue Stained Glass" + }, + { + "metadata": 12, + "displayName": "Brown Stained Glass" + }, + { + "metadata": 13, + "displayName": "Green Stained Glass" + }, + { + "metadata": 14, + "displayName": "Red Stained Glass" + }, + { + "metadata": 15, + "displayName": "Black Stained Glass" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 96 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "hardness": 0.75, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Stone Monster Egg" + }, + { + "metadata": 1, + "displayName": "Cobblestone Monster Egg" + }, + { + "metadata": 2, + "displayName": "Stone Brick Monster Egg" + }, + { + "metadata": 3, + "displayName": "Mossy Stone Brick Monster Egg" + }, + { + "metadata": 4, + "displayName": "Cracked Stone Brick Monster Egg" + }, + { + "metadata": 5, + "displayName": "Chiseled Stone Brick Monster Egg" + } + ], + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 98, + "displayName": "Stone Bricks", + "name": "stonebrick", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone brick" + }, + { + "metadata": 1, + "displayName": "Mossy stone brick" + }, + { + "metadata": 2, + "displayName": "Cracked stone brick" + }, + { + "metadata": 3, + "displayName": "Chiseled stone brick" + } + ], + "drops": [ + { + "drop": 98 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 99, + "displayName": "Brown Mushroom (block)", + "name": "brown_mushroom_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 40, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 100, + "displayName": "Red Mushroom (block)", + "name": "red_mushroom_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 40, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 101 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 360, + "minCount": 3, + "maxCount": 7 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 361, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 362, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vine", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 106 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 107 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 108 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 109 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "waterlily", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 111 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 112 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 113 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 114 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 115, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 372 + }, + { + "drop": 372, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchanting_table", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 116 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 117, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 117 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 118, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 118 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 119, + "displayName": "End Portal", + "name": "end_portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 120, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 120 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 121 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 122, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 122 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 123, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 123 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 124, + "displayName": "Redstone Lamp (active)", + "name": "lit_redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 124 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 125, + "displayName": "Double Wooden Slab", + "name": "double_wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Double Oak Wood Slab" + }, + { + "metadata": 1, + "displayName": "Double Spruce Wood Slab" + }, + { + "metadata": 2, + "displayName": "Double Birch Wood Slab" + }, + { + "metadata": 3, + "displayName": "Double Jungle Wood Slab" + }, + { + "metadata": 4, + "displayName": "Double Acacia Wood Slab" + }, + { + "metadata": 5, + "displayName": "Double Dark Oak Wood Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 126, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Wood Slab" + }, + { + "metadata": 1, + "displayName": "Spruce Wood Slab" + }, + { + "metadata": 2, + "displayName": "Birch Wood Slab" + }, + { + "metadata": 3, + "displayName": "Jungle Wood Slab" + }, + { + "metadata": 4, + "displayName": "Acacia Wood Slab" + }, + { + "metadata": 5, + "displayName": "Dark Oak Wood Slab" + }, + { + "metadata": 8, + "displayName": "Upper Oak Wood Slab" + }, + { + "metadata": 9, + "displayName": "Upper Spruce Wood Slab" + }, + { + "metadata": 10, + "displayName": "Upper Birch Wood Slab" + }, + { + "metadata": 11, + "displayName": "Upper Jungle Wood Slab" + }, + { + "metadata": 12, + "displayName": "Upper Acacia Wood Slab" + }, + { + "metadata": 13, + "displayName": "Upper Dark Oak Wood Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": { + "id": 351, + "metadata": 3 + } + }, + { + "drop": { + "id": 351, + "metadata": 3 + }, + "minCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 128 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 388 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 130, + "displayName": "Ender Chest", + "name": "ender_chest", + "hardness": 22.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 49, + "minCount": 8 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 131 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 132 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "emerald_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 133 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 134 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 135 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 136 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 137, + "displayName": "Command Block", + "name": "command_block", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 137 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 138, + "displayName": "Beacon", + "name": "beacon", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 138 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Cobblestone Wall" + }, + { + "metadata": 1, + "displayName": "Mossy Cobblestone Wall" + } + ], + "drops": [ + { + "drop": 139 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 140, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Empty Flower Pot" + }, + { + "metadata": 1, + "displayName": "Poppy Flower Pot" + }, + { + "metadata": 2, + "displayName": "Dandelion Flower Pot" + }, + { + "metadata": 3, + "displayName": "Oak sapling Flower Pot" + }, + { + "metadata": 4, + "displayName": "Spruce sapling Flower Pot" + }, + { + "metadata": 5, + "displayName": "Birch sapling Flower Pot" + }, + { + "metadata": 6, + "displayName": "Jungle sapling Flower Pot" + }, + { + "metadata": 7, + "displayName": "Red mushroom Flower Pot" + }, + { + "metadata": 8, + "displayName": "Brown mushroom Flower Pot" + }, + { + "metadata": 9, + "displayName": "Cactus Flower Pot" + }, + { + "metadata": 10, + "displayName": "Dead bush Flower Pot" + }, + { + "metadata": 11, + "displayName": "Fern Flower Pot" + }, + { + "metadata": 12, + "displayName": "Acacia sapling Flower Pot" + }, + { + "metadata": 13, + "displayName": "Dark oak sapling Flower Pot" + } + ], + "drops": [ + { + "drop": 140 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 141 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 142 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 143 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 144, + "displayName": "Mob head", + "name": "skull", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ], + "drops": [ + { + "drop": 144 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Anvil" + }, + { + "metadata": 1, + "displayName": "Slightly Damaged Anvil" + }, + { + "metadata": 2, + "displayName": "Very Damaged Anvil" + }, + { + "metadata": 3, + "displayName": "Anvil (North/South)" + }, + { + "metadata": 4, + "displayName": "Anvil (East/West)" + }, + { + "metadata": 5, + "displayName": "Anvil (South/North)" + }, + { + "metadata": 6, + "displayName": "Anvil (West/East)" + }, + { + "metadata": 7, + "displayName": "Slightly Damaged Anvil (North/South)" + }, + { + "metadata": 8, + "displayName": "Slightly Damaged Anvil (East/West)" + }, + { + "metadata": 9, + "displayName": "Slightly Damaged Anvil (West/East)" + }, + { + "metadata": 10, + "displayName": "Slightly Damaged Anvil (South/North)" + }, + { + "metadata": 11, + "displayName": "Very Damaged Anvil (North/South)" + }, + { + "metadata": 12, + "displayName": "Very Damaged Anvil (East/West)" + }, + { + "metadata": 13, + "displayName": "Very Damaged Anvil (West/East)" + }, + { + "metadata": 14, + "displayName": "Very Damaged Anvil (South/North)" + } + ], + "drops": [ + { + "drop": 145 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 146 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "light_weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 147 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 148, + "displayName": "Weighted Pressure Plate (Heavy)", + "name": "heavy_weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 148 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 149, + "displayName": "Redstone Comparator", + "name": "unpowered_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 149 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 150, + "displayName": "Redstone Comparator (deprecated)", + "name": "powered_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 150 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_detector", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 151 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "redstone_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 152 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "quartz_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 406 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 154, + "displayName": "Hopper", + "name": "hopper", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 154 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "quartz_block", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Block of Quartz" + }, + { + "metadata": 1, + "displayName": "Chiseled Quartz Block" + }, + { + "metadata": 2, + "displayName": "Pillar Quartz Block (vertical)" + }, + { + "metadata": 3, + "displayName": "Pillar Quartz Block (north-south)" + }, + { + "metadata": 4, + "displayName": "Pillar Quartz Block (east-west)" + } + ], + "drops": [ + { + "drop": 155 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 156 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 157, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 157 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 158, + "displayName": "Dropper", + "name": "dropper", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 158 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White stained clay" + }, + { + "metadata": 1, + "displayName": "Orange stained clay" + }, + { + "metadata": 2, + "displayName": "Magenta stained clay" + }, + { + "metadata": 3, + "displayName": "Light blue stained clay" + }, + { + "metadata": 4, + "displayName": "Yellow stained clay" + }, + { + "metadata": 5, + "displayName": "Lime stained clay" + }, + { + "metadata": 6, + "displayName": "Pink stained clay" + }, + { + "metadata": 7, + "displayName": "Gray stained clay" + }, + { + "metadata": 8, + "displayName": "Light gray stained clay" + }, + { + "metadata": 9, + "displayName": "Cyan stained clay" + }, + { + "metadata": 10, + "displayName": "Purple stained clay" + }, + { + "metadata": 11, + "displayName": "Blue stained clay" + }, + { + "metadata": 12, + "displayName": "Brown stained clay" + }, + { + "metadata": 13, + "displayName": "Green stained clay" + }, + { + "metadata": 14, + "displayName": "Red stained clay" + }, + { + "metadata": 15, + "displayName": "Black stained clay" + } + ], + "drops": [ + { + "drop": 159 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 160, + "displayName": "Stained Glass Pane", + "name": "stained_glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Stained Glass Pane" + }, + { + "metadata": 1, + "displayName": "Orange Stained Glass Pane" + }, + { + "metadata": 2, + "displayName": "Magenta Stained Glass Pane" + }, + { + "metadata": 3, + "displayName": "Light Blue Stained Glass Pane" + }, + { + "metadata": 4, + "displayName": "Yellow Stained Glass Pane" + }, + { + "metadata": 5, + "displayName": "Lime Stained Glass Pane" + }, + { + "metadata": 6, + "displayName": "Pink Stained Glass Pane" + }, + { + "metadata": 7, + "displayName": "Gray Stained Glass Pane" + }, + { + "metadata": 8, + "displayName": "Light Gray Stained Glass Pane" + }, + { + "metadata": 9, + "displayName": "Cyan Stained Glass Pane" + }, + { + "metadata": 10, + "displayName": "Purple Stained Glass Pane" + }, + { + "metadata": 11, + "displayName": "Blue Stained Glass Pane" + }, + { + "metadata": 12, + "displayName": "Brown Stained Glass Pane" + }, + { + "metadata": 13, + "displayName": "Green Stained Glass Pane" + }, + { + "metadata": 14, + "displayName": "Red Stained Glass Pane" + }, + { + "metadata": 15, + "displayName": "Black Stained Glass Pane" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 161, + "displayName": "Leaves (Acacia/Dark Oak)", + "name": "leaves2", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "leaves", + "variations": [ + { + "metadata": 0, + "displayName": "Acacia Leaves" + }, + { + "metadata": 1, + "displayName": "Dark Oak Leaves" + }, + { + "metadata": 4, + "displayName": "Acacia Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Dark Oak Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Acacia Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Dark Oak Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Acacia Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Dark Oak Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 162, + "displayName": "Wood (Acacia/Dark Oak)", + "name": "log2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 162 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 163 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 164 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 165 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 166, + "displayName": "Barrier", + "name": "barrier", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 167 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 168, + "displayName": "Prismarine", + "name": "prismarine", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Prismarine" + }, + { + "metadata": 1, + "displayName": "Prismarine Bricks" + }, + { + "metadata": 2, + "displayName": "Dark Prismarine" + } + ], + "drops": [ + { + "drop": 168 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 169, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 410, + "minCount": 2, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_block", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 170 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "hardness": 0.1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Carpet" + }, + { + "metadata": 1, + "displayName": "Orange Carpet" + }, + { + "metadata": 2, + "displayName": "Magenta Carpet" + }, + { + "metadata": 3, + "displayName": "Light Blue Carpet" + }, + { + "metadata": 4, + "displayName": "Yellow Carpet" + }, + { + "metadata": 5, + "displayName": "Lime Carpet" + }, + { + "metadata": 6, + "displayName": "Pink Carpet" + }, + { + "metadata": 7, + "displayName": "Gray Carpet" + }, + { + "metadata": 8, + "displayName": "Light Gray Carpet" + }, + { + "metadata": 9, + "displayName": "Cyan Carpet" + }, + { + "metadata": 10, + "displayName": "Purple Carpet" + }, + { + "metadata": 11, + "displayName": "Blue Carpet" + }, + { + "metadata": 12, + "displayName": "Brown Carpet" + }, + { + "metadata": 13, + "displayName": "Green Carpet" + }, + { + "metadata": 14, + "displayName": "Red Carpet" + }, + { + "metadata": 15, + "displayName": "Black Carpet" + } + ], + "drops": [ + { + "drop": 171 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White stained clay" + }, + { + "metadata": 1, + "displayName": "Orange stained clay" + }, + { + "metadata": 2, + "displayName": "Magenta stained clay" + }, + { + "metadata": 3, + "displayName": "Light blue stained clay" + }, + { + "metadata": 4, + "displayName": "Yellow stained clay" + }, + { + "metadata": 5, + "displayName": "Lime stained clay" + }, + { + "metadata": 6, + "displayName": "Pink stained clay" + }, + { + "metadata": 7, + "displayName": "Gray stained clay" + }, + { + "metadata": 8, + "displayName": "Light gray stained clay" + }, + { + "metadata": 9, + "displayName": "Cyan stained clay" + }, + { + "metadata": 10, + "displayName": "Purple stained clay" + }, + { + "metadata": 11, + "displayName": "Blue stained clay" + }, + { + "metadata": 12, + "displayName": "Brown stained clay" + }, + { + "metadata": 13, + "displayName": "Green stained clay" + }, + { + "metadata": 14, + "displayName": "Red stained clay" + }, + { + "metadata": 15, + "displayName": "Black stained clay" + } + ], + "drops": [ + { + "drop": 172 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "coal_block", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 173 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 175, + "displayName": "Large Flowers", + "name": "double_plant", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Sunflower" + }, + { + "metadata": 1, + "displayName": "Lilac" + }, + { + "metadata": 2, + "displayName": "Double Tallgrass" + }, + { + "metadata": 3, + "displayName": "Large Fern" + }, + { + "metadata": 4, + "displayName": "Rose Bush" + }, + { + "metadata": 5, + "displayName": "Peony" + }, + { + "metadata": 8, + "displayName": "Top Half of any Large Plant; low three bits 0x7 are derived from the block below." + } + ], + "drops": [ + { + "drop": 175 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 176, + "displayName": "Standing Banner", + "name": "standing_banner", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 176 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 177, + "displayName": "Wall Banner", + "name": "wall_banner", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 177 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "daylight_detector_inverted", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 178 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 179, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Red Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled Red Sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth Red Sandstone" + } + ], + "drops": [ + { + "drop": 179 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 180, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 180 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 181, + "displayName": "Double Red Sandstone Slab", + "name": "double_stone_slab2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Red Sandstone Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Red Sandstone Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 182, + "displayName": "Red Sandstone Slab", + "name": "stone_slab2", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Red Sandstone Slab" + }, + { + "metadata": 8, + "displayName": "Upper Red Sandstone Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 183 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 184 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 185 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 186 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 187 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 188, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 188 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 189, + "displayName": "Birch Fence", + "name": "birch_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 189 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 190, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 190 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 191, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 191 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 192, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 192 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 193, + "displayName": "Spruce Door", + "name": "spruce_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 193 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 194, + "displayName": "Birch Door", + "name": "birch_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 194 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 195, + "displayName": "Jungle Door", + "name": "jungle_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 195 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 196, + "displayName": "Acacia Door", + "name": "acacia_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 196 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 197, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 197 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 198, + "displayName": "End Rod", + "name": "end_rod", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "End Rod facing down" + }, + { + "metadata": 1, + "displayName": "End Rod facing up" + }, + { + "metadata": 2, + "displayName": "End Rod facing north" + }, + { + "metadata": 3, + "displayName": "End Rod facing south" + }, + { + "metadata": 4, + "displayName": "End Rod facing west" + }, + { + "metadata": 5, + "displayName": "End Rod facing east" + } + ], + "drops": [ + { + "drop": 198 + } + ], + "transparent": false, + "emitLight": 14, + "filterLight": 15 + }, + { + "id": 199, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 432, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 200, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 200 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 201, + "displayName": "Purpur Block", + "name": "purpur_block", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 201 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 202, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 202 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 203, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 203 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 204, + "displayName": "Purpur Double Slab", + "name": "purpur_double_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 205, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 206, + "displayName": "End Stone Bricks", + "name": "end_bricks", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 206 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 207, + "displayName": "Beetroot Seeds", + "name": "beetroots", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 208, + "displayName": "Grass Path", + "name": "grass_path", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 209, + "displayName": "End Gateway", + "name": "end_gateway", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 209 + } + ], + "transparent": false, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 210, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 210 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 211, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 211 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 212, + "displayName": "Frosted Ice", + "name": "frosted_ice", + "hardness": 0.5, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 255, + "displayName": "Structure Block", + "name": "structure_block", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Save" + }, + { + "metadata": 1, + "displayName": "Load" + }, + { + "metadata": 2, + "displayName": "Corner" + }, + { + "metadata": 3, + "displayName": "Data" + } + ], + "drops": [], + "transparent": false, + "emitLight": 15, + "filterLight": 15 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/effects.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/effects.json new file mode 100644 index 00000000..4aaa8e57 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/effects.json @@ -0,0 +1,164 @@ +[ + { + "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" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/enchantments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/enchantments.json new file mode 100644 index 00000000..50492225 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/enchantments.json @@ -0,0 +1,137 @@ +[ + { + "id": 0, + "name": "protection", + "displayName": "Protection" + }, + { + "id": 1, + "name": "fire_protection", + "displayName": "Fire Protection" + }, + { + "id": 2, + "name": "feather_falling", + "displayName": "Feather Falling" + }, + { + "id": 3, + "name": "blast_protection", + "displayName": "Blast Protection" + }, + { + "id": 4, + "name": "projectile_protection", + "displayName": "Projectile Protection" + }, + { + "id": 5, + "name": "respiration", + "displayName": "Respiration" + }, + { + "id": 6, + "name": "aqua_affinity", + "displayName": "Aqua Affinity" + }, + { + "id": 7, + "name": "thorns", + "displayName": "Thorns" + }, + { + "id": 8, + "name": "depth_strider", + "displayName": "Depth Strider" + }, + { + "id": 9, + "name": "frost_walker", + "displayName": "Frost Walker" + }, + { + "id": 16, + "name": "sharpness", + "displayName": "Sharpness" + }, + { + "id": 17, + "name": "smite", + "displayName": "Smite" + }, + { + "id": 18, + "name": "bane_of_arthropods", + "displayName": "Bane of Arthropods" + }, + { + "id": 19, + "name": "knockback", + "displayName": "Knockback" + }, + { + "id": 20, + "name": "fire_aspect", + "displayName": "Fire Aspect" + }, + { + "id": 21, + "name": "looting", + "displayName": "Looting" + }, + { + "id": 32, + "name": "efficiency", + "displayName": "Efficiency" + }, + { + "id": 33, + "name": "silk_touch", + "displayName": "Silk Touch" + }, + { + "id": 34, + "name": "unbreaking", + "displayName": "Unbreaking" + }, + { + "id": 35, + "name": "fortune", + "displayName": "Fortune" + }, + { + "id": 48, + "name": "power", + "displayName": "Power" + }, + { + "id": 49, + "name": "punch", + "displayName": "Punch" + }, + { + "id": 50, + "name": "flame", + "displayName": "Flame" + }, + { + "id": 51, + "name": "infinity", + "displayName": "Infinity" + }, + { + "id": 61, + "name": "luck_of_the_sea", + "displayName": "Luck of the Sea" + }, + { + "id": 62, + "name": "lure", + "displayName": "Lure" + }, + { + "id": 70, + "name": "mending", + "displayName": "Mending" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/entities.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/entities.json new file mode 100644 index 00000000..63dcf404 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/entities.json @@ -0,0 +1,638 @@ +[ + { + "id": 48, + "internalId": 48, + "name": "Mob", + "displayName": "Mob", + "type": "mob", + "width": null, + "height": null, + "category": "Generic" + }, + { + "id": 49, + "internalId": 49, + "name": "Monster", + "displayName": "Monster", + "type": "mob", + "width": null, + "height": null, + "category": "Generic" + }, + { + "id": 50, + "internalId": 50, + "name": "Creeper", + "displayName": "Creeper", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 51, + "internalId": 51, + "name": "Skeleton", + "displayName": "Skeleton", + "type": "mob", + "width": 0.6, + "height": 1.95, + "category": "Hostile mobs" + }, + { + "id": 52, + "internalId": 52, + "name": "Spider", + "displayName": "Spider", + "type": "mob", + "width": 1.4, + "height": 0.9, + "category": "Hostile mobs" + }, + { + "id": 53, + "internalId": 53, + "name": "Giant", + "displayName": "Giant", + "type": "mob", + "width": 3.5999999999999996, + "height": 10.8, + "category": "Hostile mobs" + }, + { + "id": 54, + "internalId": 54, + "name": "Zombie", + "displayName": "Zombie", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 55, + "internalId": 55, + "name": "Slime", + "displayName": "Slime", + "type": "mob", + "width": 0.51000005, + "height": 0.51000005, + "category": "Hostile mobs" + }, + { + "id": 56, + "internalId": 56, + "name": "Ghast", + "displayName": "Ghast", + "type": "mob", + "width": 4, + "height": 4, + "category": "Hostile mobs" + }, + { + "id": 57, + "internalId": 57, + "name": "PigZombie", + "displayName": "Zombie Pigman", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 58, + "internalId": 58, + "name": "Enderman", + "displayName": "Enderman", + "type": "mob", + "width": 0.6, + "height": 2.9, + "category": "Hostile mobs" + }, + { + "id": 59, + "internalId": 59, + "name": "CaveSpider", + "displayName": "Cave Spider", + "type": "mob", + "width": 0.7, + "height": 0.5, + "category": "Hostile mobs" + }, + { + "id": 60, + "internalId": 60, + "name": "Silverfish", + "displayName": "Silverfish", + "type": "mob", + "width": 0.4, + "height": 0.3, + "category": "Hostile mobs" + }, + { + "id": 61, + "internalId": 61, + "name": "Blaze", + "displayName": "Blaze", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 62, + "internalId": 62, + "name": "LavaSlime", + "displayName": "Magma Cube", + "type": "mob", + "width": 0.51000005, + "height": 0.51000005, + "category": "Hostile mobs" + }, + { + "id": 63, + "internalId": 63, + "name": "EnderDragon", + "displayName": "Ender Dragon", + "type": "mob", + "width": 16, + "height": 8, + "category": "Hostile mobs" + }, + { + "id": 64, + "internalId": 64, + "name": "WitherBoss", + "displayName": "Wither", + "type": "mob", + "width": 0.9, + "height": 3.5, + "category": "Hostile mobs" + }, + { + "id": 65, + "internalId": 65, + "name": "Bat", + "displayName": "Bat", + "type": "mob", + "width": 0.5, + "height": 0.9, + "category": "Passive mobs" + }, + { + "id": 66, + "internalId": 66, + "name": "Witch", + "displayName": "Witch", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "Hostile mobs" + }, + { + "id": 67, + "internalId": 67, + "name": "Endermite", + "displayName": "Endermite", + "type": "mob", + "width": 0.4, + "height": 0.3, + "category": "Hostile mobs" + }, + { + "id": 68, + "internalId": 68, + "name": "Guardian", + "displayName": "Guardian", + "type": "mob", + "width": 0.85, + "height": 0.85, + "category": "Hostile mobs" + }, + { + "id": 69, + "internalId": 69, + "name": "Shulker", + "displayName": "Shulker", + "type": "mob", + "width": 1, + "height": 1, + "category": "Hostile mobs" + }, + { + "id": 90, + "internalId": 90, + "name": "Pig", + "displayName": "Pig", + "type": "mob", + "width": 0.9, + "height": 0.9, + "category": "Passive mobs" + }, + { + "id": 91, + "internalId": 91, + "name": "Sheep", + "displayName": "Sheep", + "type": "mob", + "width": 0.9, + "height": 1.3, + "category": "Passive mobs" + }, + { + "id": 92, + "internalId": 92, + "name": "Cow", + "displayName": "Cow", + "type": "mob", + "width": 0.9, + "height": 1.3, + "category": "Passive mobs" + }, + { + "id": 93, + "internalId": 93, + "name": "Chicken", + "displayName": "Chicken", + "type": "mob", + "width": 0.4, + "height": 0.7, + "category": "Passive mobs" + }, + { + "id": 94, + "internalId": 94, + "name": "Squid", + "displayName": "Squid", + "type": "mob", + "width": 0.95, + "height": 0.95, + "category": "Passive mobs" + }, + { + "id": 95, + "internalId": 95, + "name": "Wolf", + "displayName": "Wolf", + "type": "mob", + "width": 0.6, + "height": 0.8, + "category": "Passive mobs" + }, + { + "id": 96, + "internalId": 96, + "name": "MushroomCow", + "displayName": "Mooshroom", + "type": "mob", + "width": 0.9, + "height": 1.3, + "category": "Passive mobs" + }, + { + "id": 97, + "internalId": 97, + "name": "SnowMan", + "displayName": "Snow Golem", + "type": "mob", + "width": 0.7, + "height": 1.9, + "category": "Passive mobs" + }, + { + "id": 98, + "internalId": 98, + "name": "Ozelot", + "displayName": "Ocelot", + "type": "mob", + "width": 0.6, + "height": 0.8, + "category": "Passive mobs" + }, + { + "id": 99, + "internalId": 99, + "name": "VillagerGolem", + "displayName": "Iron Golem", + "type": "mob", + "width": 1.4, + "height": 2.9, + "category": "Passive mobs" + }, + { + "id": 100, + "internalId": 100, + "name": "EntityHorse", + "displayName": "Horse", + "type": "mob", + "width": 1.4, + "height": 1.6, + "category": "Passive mobs" + }, + { + "id": 101, + "internalId": 101, + "name": "Rabbit", + "displayName": "Rabbit", + "type": "mob", + "width": 0.6, + "height": 0.7, + "category": "Passive mobs" + }, + { + "id": 120, + "internalId": 120, + "name": "Villager", + "displayName": "Villager", + "type": "mob", + "width": 0.6, + "height": 1.8, + "category": "NPCs" + }, + { + "id": 1, + "internalId": 41, + "name": "Boat", + "displayName": "Boat", + "type": "object", + "width": 1.5, + "height": 0.6, + "category": "Vehicles" + }, + { + "id": 2, + "internalId": 1, + "name": "Item", + "displayName": "Dropped item", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Drops" + }, + { + "id": 3, + "internalId": 2, + "name": "XPOrb", + "displayName": "Experience Orb", + "type": "object", + "width": null, + "height": null, + "category": "Drops" + }, + { + "id": 10, + "internalId": 42, + "name": "MinecartRideable", + "displayName": "Minecart", + "type": "object", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 11, + "internalId": 42, + "name": "MinecartRideable", + "displayName": "Minecart", + "type": "object", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 12, + "internalId": 42, + "name": "MinecartRideable", + "displayName": "Minecart", + "type": "object", + "width": 0.98, + "height": 0.7, + "category": "Vehicles" + }, + { + "id": 50, + "internalId": 20, + "name": "PrimedTnt", + "displayName": "Primed TNT", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 51, + "internalId": 200, + "name": "EnderCrystal", + "displayName": "Ender Crystal", + "type": "object", + "width": 2, + "height": 2, + "category": "Immobile" + }, + { + "id": 60, + "internalId": 10, + "name": "Arrow", + "displayName": "Shot arrow", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 61, + "internalId": 11, + "name": "Snowball", + "displayName": "Thrown snowball", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 62, + "internalId": 7, + "name": "ThrownEgg", + "displayName": "Thrown egg", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 63, + "internalId": 12, + "name": "Fireball", + "displayName": "Ghast fireball", + "type": "object", + "width": 1, + "height": 1, + "category": "Projectiles" + }, + { + "id": 64, + "internalId": 13, + "name": "SmallFireball", + "displayName": "Blaze fireball", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 65, + "internalId": 14, + "name": "ThrownEnderpearl", + "displayName": "Thrown Ender Pearl", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 66, + "internalId": 19, + "name": "WitherSkull", + "displayName": "Wither Skull", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Projectiles" + }, + { + "id": 67, + "internalId": 69, + "name": "Shulker", + "displayName": "Shulker", + "type": "object", + "width": 0.3125, + "height": 0.3125, + "category": "Hostile mobs" + }, + { + "id": 70, + "internalId": 21, + "name": "FallingSand", + "displayName": "Falling block", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 71, + "internalId": 18, + "name": "ItemFrame", + "displayName": "Item Frame", + "type": "object", + "width": null, + "height": null, + "category": "Immobile" + }, + { + "id": 72, + "internalId": 15, + "name": "EyeOfEnderSignal", + "displayName": "Thrown Eye of Ender", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 73, + "internalId": 16, + "name": "ThrownPotion", + "displayName": "Thrown splash potion", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 74, + "internalId": 21, + "name": "FallingSand", + "displayName": "Falling block", + "type": "object", + "width": 0.98, + "height": 0.98, + "category": "Blocks" + }, + { + "id": 75, + "internalId": 17, + "name": "ThrownExpBottle", + "displayName": "Thrown Bottle o' Enchanting", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 76, + "internalId": 22, + "name": "FireworksRocketEntity", + "displayName": "Firework Rocket", + "type": "object", + "width": 0.25, + "height": 0.25, + "category": "Projectiles" + }, + { + "id": 77, + "internalId": 8, + "name": "LeashKnot", + "displayName": "Lead knot", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Immobile" + }, + { + "id": 78, + "internalId": 30, + "name": "ArmorStand", + "displayName": "Armor Stand", + "type": "object", + "width": 0.5, + "height": 2, + "category": "Immobile" + }, + { + "id": 90, + "name": "Fishing Float", + "displayName": "Fishing Float", + "type": "object", + "width": 0.25, + "height": 0.25 + }, + { + "id": 91, + "internalId": 10, + "name": "Arrow", + "displayName": "Shot arrow", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 92, + "internalId": 10, + "name": "Arrow", + "displayName": "Shot arrow", + "type": "object", + "width": 0.5, + "height": 0.5, + "category": "Projectiles" + }, + { + "id": 93, + "name": "Dragon Fireball", + "displayName": "Dragon Fireball", + "type": "object", + "width": 0.3125, + "height": 0.3125 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/foods.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/foods.json new file mode 100644 index 00000000..53dd0c12 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/foods.json @@ -0,0 +1,340 @@ +[ + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "stackSize": 64, + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "stackSize": 64, + "foodPoints": 3, + "saturation": 4.8, + "effectiveQuality": 7.8, + "saturationRatio": 1.5999999999999999 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "stackSize": 64, + "foodPoints": 1, + "saturation": 0.6, + "effectiveQuality": 1.6, + "saturationRatio": 0.6 + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple", + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "porkchop", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop", + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ], + "foodPoints": 4, + "saturation": 9.6, + "effectiveQuality": 13.6, + "saturationRatio": 2.4 + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + } + ], + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake", + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie", + "foodPoints": 2, + "saturation": 0.4, + "effectiveQuality": 2.4, + "saturationRatio": 0.2 + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "beef", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "cooked_beef", + "foodPoints": 8, + "saturation": 12.8, + "effectiveQuality": 20.8, + "saturationRatio": 1.6 + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "chicken", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh", + "foodPoints": 4, + "saturation": 0.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.2 + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye", + "foodPoints": 2, + "saturation": 3.2, + "effectiveQuality": 5.2, + "saturationRatio": 1.6 + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato", + "foodPoints": 5, + "saturation": 7.2, + "effectiveQuality": 12.2, + "saturationRatio": 1.44 + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot", + "foodPoints": 6, + "saturation": 14.4, + "effectiveQuality": 20.4, + "saturationRatio": 2.4 + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie", + "foodPoints": 8, + "saturation": 4.8, + "effectiveQuality": 12.8, + "saturationRatio": 0.6 + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "rabbit", + "foodPoints": 3, + "saturation": 1.8, + "effectiveQuality": 4.8, + "saturationRatio": 0.6 + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit", + "foodPoints": 5, + "saturation": 6, + "effectiveQuality": 11, + "saturationRatio": 1.2 + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew", + "foodPoints": 10, + "saturation": 12, + "effectiveQuality": 22, + "saturationRatio": 1.2 + }, + { + "id": 423, + "displayName": "Raw Mutton", + "stackSize": 64, + "name": "mutton", + "foodPoints": 2, + "saturation": 1.2, + "effectiveQuality": 3.2, + "saturationRatio": 0.6 + }, + { + "id": 424, + "displayName": "Cooked Mutton", + "stackSize": 64, + "name": "cooked_mutton", + "foodPoints": 6, + "saturation": 9.6, + "effectiveQuality": 15.6, + "saturationRatio": 1.5999999999999999 + }, + { + "id": 432, + "displayName": "Chorus Fruit", + "stackSize": 64, + "name": "chorus_fruit", + "foodPoints": 4, + "saturation": 2.4, + "effectiveQuality": 6.4, + "saturationRatio": 0.6 + }, + { + "id": 434, + "displayName": "Beetroot", + "stackSize": 64, + "name": "beetroot", + "foodPoints": 1, + "saturation": 1.2, + "effectiveQuality": 2.2, + "saturationRatio": 1.2 + }, + { + "id": 436, + "displayName": "Beetroot Soup", + "stackSize": 1, + "name": "beetroot_soup", + "foodPoints": 6, + "saturation": 7.2, + "effectiveQuality": 13.2, + "saturationRatio": 1.2 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/instruments.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/instruments.json new file mode 100644 index 00000000..d877f189 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/instruments.json @@ -0,0 +1,22 @@ +[ + { + "id": 0, + "name": "harp" + }, + { + "id": 1, + "name": "doubleBass" + }, + { + "id": 2, + "name": "snareDrum" + }, + { + "id": 3, + "name": "sticks" + }, + { + "id": 4, + "name": "bassDrum" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/items.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/items.json new file mode 100644 index 00000000..d3b22675 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/items.json @@ -0,0 +1,2604 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 64 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "planks", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Water", + "name": "flowing_water", + "stackSize": 64 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Lava", + "name": "flowing_lava", + "stackSize": 64 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Wood", + "name": "log", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_ore", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_block", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "noteblock", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "golden_rail", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "web", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Grass", + "name": "tallgrass", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "deadbush", + "stackSize": 64 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "stackSize": 64 + }, + { + "id": 34, + "displayName": "Piston Head", + "name": "piston_head", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "stackSize": 64 + }, + { + "id": 36, + "displayName": "Block moved by Piston", + "name": "piston_extension", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "yellow_flower", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Poppy", + "name": "red_flower", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "gold_block", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "iron_block", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "brick_block", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "mossy_cobblestone", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "mob_spawner", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_stairs", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "diamond_block", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "lit_furnace", + "stackSize": 64 + }, + { + "id": 63, + "displayName": "Standing Sign", + "name": "standing_sign", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "stone_stairs", + "stackSize": 64 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "wall_sign", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "lit_redstone_ore", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "unlit_redstone_torch", + "stackSize": 64 + }, + { + "id": 76, + "displayName": "Redstone Torch (active)", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Snow (layer)", + "name": "snow_layer", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "stackSize": 64 + }, + { + "id": 84, + "displayName": "Jukebox", + "name": "jukebox", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Nether Portal", + "name": "portal", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "lit_pumpkin", + "stackSize": 64 + }, + { + "id": 93, + "displayName": "Redstone Repeater (inactive)", + "name": "unpowered_repeater", + "stackSize": 64 + }, + { + "id": 94, + "displayName": "Redstone Repeater (active)", + "name": "powered_repeater", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "Stained Glass", + "name": "stained_glass", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Stone Bricks", + "name": "stonebrick", + "stackSize": 64 + }, + { + "id": 99, + "displayName": "Brown Mushroom (block)", + "name": "brown_mushroom_block", + "stackSize": 64 + }, + { + "id": 100, + "displayName": "Red Mushroom (block)", + "name": "red_mushroom_block", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon_block", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vine", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "waterlily", + "stackSize": 64 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchanting_table", + "stackSize": 64 + }, + { + "id": 119, + "displayName": "End Portal", + "name": "end_portal", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 122, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "stackSize": 64 + }, + { + "id": 123, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 124, + "displayName": "Redstone Lamp (active)", + "name": "lit_redstone_lamp", + "stackSize": 64 + }, + { + "id": 125, + "displayName": "Double Wooden Slab", + "name": "double_wooden_slab", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 130, + "displayName": "Ender Chest", + "name": "ender_chest", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "emerald_block", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_stairs", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_stairs", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_stairs", + "stackSize": 64 + }, + { + "id": 137, + "displayName": "Command Block", + "name": "command_block", + "stackSize": 64 + }, + { + "id": 138, + "displayName": "Beacon", + "name": "beacon", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "Carrot", + "name": "carrots", + "stackSize": 64 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potatoes", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "light_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 148, + "displayName": "Weighted Pressure Plate (Heavy)", + "name": "heavy_weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 149, + "displayName": "Redstone Comparator", + "name": "unpowered_comparator", + "stackSize": 64 + }, + { + "id": 150, + "displayName": "Redstone Comparator (deprecated)", + "name": "powered_comparator", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_detector", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "redstone_block", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "quartz_ore", + "stackSize": 64 + }, + { + "id": 154, + "displayName": "Hopper", + "name": "hopper", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "quartz_block", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_hardened_clay", + "stackSize": 64 + }, + { + "id": 160, + "displayName": "Stained Glass Pane", + "name": "stained_glass_pane", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Leaves (Acacia/Dark Oak)", + "name": "leaves2", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Wood (Acacia/Dark Oak)", + "name": "log2", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_stairs", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_stairs", + "stackSize": 64 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime", + "stackSize": 64 + }, + { + "id": 166, + "displayName": "Barrier", + "name": "barrier", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 168, + "displayName": "Prismarine", + "name": "prismarine", + "stackSize": 64 + }, + { + "id": 169, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_block", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "coal_block", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Large Flowers", + "name": "double_plant", + "stackSize": 64 + }, + { + "id": 176, + "displayName": "Standing Banner", + "name": "standing_banner", + "stackSize": 64 + }, + { + "id": 177, + "displayName": "Wall Banner", + "name": "wall_banner", + "stackSize": 64 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "daylight_detector_inverted", + "stackSize": 64 + }, + { + "id": 179, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "stackSize": 64 + }, + { + "id": 180, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 181, + "displayName": "Double Red Sandstone Slab", + "name": "double_stone_slab2", + "stackSize": 64 + }, + { + "id": 182, + "displayName": "Red Sandstone Slab", + "name": "stone_slab2", + "stackSize": 64 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64 + }, + { + "id": 188, + "displayName": "Spruce Fence", + "name": "spruce_fence", + "stackSize": 64 + }, + { + "id": 189, + "displayName": "Birch Fence", + "name": "birch_fence", + "stackSize": 64 + }, + { + "id": 190, + "displayName": "Jungle Fence", + "name": "jungle_fence", + "stackSize": 64 + }, + { + "id": 191, + "displayName": "Dark Oak Fence", + "name": "dark_oak_fence", + "stackSize": 64 + }, + { + "id": 192, + "displayName": "Acacia Fence", + "name": "acacia_fence", + "stackSize": 64 + }, + { + "id": 198, + "displayName": "End Rod", + "name": "end_rod", + "stackSize": 64 + }, + { + "id": 199, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "stackSize": 64 + }, + { + "id": 200, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "stackSize": 64 + }, + { + "id": 201, + "displayName": "Purpur Block", + "name": "purpur_block", + "stackSize": 64 + }, + { + "id": 202, + "displayName": "Purpur Pillar", + "name": "purpur_pillar", + "stackSize": 64 + }, + { + "id": 203, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "stackSize": 64 + }, + { + "id": 204, + "displayName": "Purpur Double Slab", + "name": "purpur_double_slab", + "stackSize": 64 + }, + { + "id": 205, + "displayName": "Purpur Slab", + "name": "purpur_slab", + "stackSize": 64 + }, + { + "id": 206, + "displayName": "End Stone Bricks", + "name": "end_bricks", + "stackSize": 64 + }, + { + "id": 207, + "displayName": "Beetroot Seeds", + "name": "beetroots", + "stackSize": 64 + }, + { + "id": 208, + "displayName": "Grass Path", + "name": "grass_path", + "stackSize": 64 + }, + { + "id": 209, + "displayName": "End Gateway", + "name": "end_gateway", + "stackSize": 64 + }, + { + "id": 210, + "displayName": "Repeating Command Block", + "name": "repeating_command_block", + "stackSize": 64 + }, + { + "id": 211, + "displayName": "Chain Command Block", + "name": "chain_command_block", + "stackSize": 64 + }, + { + "id": 212, + "displayName": "Frosted Ice", + "name": "frosted_ice", + "stackSize": 64 + }, + { + "id": 255, + "displayName": "Structure Block", + "name": "structure_block", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Iron Shovel", + "stackSize": 1, + "name": "iron_shovel" + }, + { + "id": 257, + "displayName": "Iron Pickaxe", + "stackSize": 1, + "name": "iron_pickaxe" + }, + { + "id": 258, + "displayName": "Iron Axe", + "stackSize": 1, + "name": "iron_axe" + }, + { + "id": 259, + "displayName": "Flint and Steel", + "stackSize": 1, + "name": "flint_and_steel" + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple" + }, + { + "id": 261, + "displayName": "Bow", + "stackSize": 1, + "name": "bow" + }, + { + "id": 262, + "displayName": "Arrow", + "stackSize": 64, + "name": "arrow" + }, + { + "id": 263, + "displayName": "Coal", + "stackSize": 64, + "name": "coal", + "variations": [ + { + "metadata": 0, + "displayName": "Coal" + }, + { + "metadata": 1, + "displayName": "Charcoal" + } + ] + }, + { + "id": 264, + "displayName": "Diamond", + "stackSize": 64, + "name": "diamond" + }, + { + "id": 265, + "displayName": "Iron Ingot", + "stackSize": 64, + "name": "iron_ingot" + }, + { + "id": 266, + "displayName": "Gold Ingot", + "stackSize": 64, + "name": "gold_ingot" + }, + { + "id": 267, + "displayName": "Iron Sword", + "stackSize": 1, + "name": "iron_sword" + }, + { + "id": 268, + "displayName": "Wooden Sword", + "stackSize": 1, + "name": "wooden_sword" + }, + { + "id": 269, + "displayName": "Wooden Shovel", + "stackSize": 1, + "name": "wooden_shovel" + }, + { + "id": 270, + "displayName": "Wooden Pickaxe", + "stackSize": 1, + "name": "wooden_pickaxe" + }, + { + "id": 271, + "displayName": "Wooden Axe", + "stackSize": 1, + "name": "wooden_axe" + }, + { + "id": 272, + "displayName": "Stone Sword", + "stackSize": 1, + "name": "stone_sword" + }, + { + "id": 273, + "displayName": "Stone Shovel", + "stackSize": 1, + "name": "stone_shovel" + }, + { + "id": 274, + "displayName": "Stone Pickaxe", + "stackSize": 1, + "name": "stone_pickaxe" + }, + { + "id": 275, + "displayName": "Stone Axe", + "stackSize": 1, + "name": "stone_axe" + }, + { + "id": 276, + "displayName": "Diamond Sword", + "stackSize": 1, + "name": "diamond_sword" + }, + { + "id": 277, + "displayName": "Diamond Shovel", + "stackSize": 1, + "name": "diamond_shovel" + }, + { + "id": 278, + "displayName": "Diamond Pickaxe", + "stackSize": 1, + "name": "diamond_pickaxe" + }, + { + "id": 279, + "displayName": "Diamond Axe", + "stackSize": 1, + "name": "diamond_axe" + }, + { + "id": 280, + "displayName": "Stick", + "stackSize": 64, + "name": "stick" + }, + { + "id": 281, + "displayName": "Bowl", + "stackSize": 64, + "name": "bowl" + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew" + }, + { + "id": 283, + "displayName": "Golden Sword", + "stackSize": 1, + "name": "golden_sword" + }, + { + "id": 284, + "displayName": "Golden Shovel", + "stackSize": 1, + "name": "golden_shovel" + }, + { + "id": 285, + "displayName": "Golden Pickaxe", + "stackSize": 1, + "name": "golden_pickaxe" + }, + { + "id": 286, + "displayName": "Golden Axe", + "stackSize": 1, + "name": "golden_axe" + }, + { + "id": 287, + "displayName": "String", + "stackSize": 64, + "name": "string" + }, + { + "id": 288, + "displayName": "Feather", + "stackSize": 64, + "name": "feather" + }, + { + "id": 289, + "displayName": "Gunpowder", + "stackSize": 64, + "name": "gunpowder" + }, + { + "id": 290, + "displayName": "Wooden Hoe", + "stackSize": 1, + "name": "wooden_hoe" + }, + { + "id": 291, + "displayName": "Stone Hoe", + "stackSize": 1, + "name": "stone_hoe" + }, + { + "id": 292, + "displayName": "Iron Hoe", + "stackSize": 1, + "name": "iron_hoe" + }, + { + "id": 293, + "displayName": "Diamond Hoe", + "stackSize": 1, + "name": "diamond_hoe" + }, + { + "id": 294, + "displayName": "Golden Hoe", + "stackSize": 1, + "name": "golden_hoe" + }, + { + "id": 295, + "displayName": "Seeds", + "stackSize": 64, + "name": "wheat_seeds" + }, + { + "id": 296, + "displayName": "Wheat", + "stackSize": 64, + "name": "wheat" + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread" + }, + { + "id": 298, + "displayName": "Leather Cap", + "stackSize": 1, + "name": "leather_helmet" + }, + { + "id": 299, + "displayName": "Leather Tunic", + "stackSize": 1, + "name": "leather_chestplate" + }, + { + "id": 300, + "displayName": "Leather Pants", + "stackSize": 1, + "name": "leather_leggings" + }, + { + "id": 301, + "displayName": "Leather Boots", + "stackSize": 1, + "name": "leather_boots" + }, + { + "id": 302, + "displayName": "Chain Helmet", + "stackSize": 1, + "name": "chainmail_helmet" + }, + { + "id": 303, + "displayName": "Chain Chestplate", + "stackSize": 1, + "name": "chainmail_chestplate" + }, + { + "id": 304, + "displayName": "Chain Leggings", + "stackSize": 1, + "name": "chainmail_leggings" + }, + { + "id": 305, + "displayName": "Chain Boots", + "stackSize": 1, + "name": "chainmail_boots" + }, + { + "id": 306, + "displayName": "Iron Helmet", + "stackSize": 1, + "name": "iron_helmet" + }, + { + "id": 307, + "displayName": "Iron Chestplate", + "stackSize": 1, + "name": "iron_chestplate" + }, + { + "id": 308, + "displayName": "Iron Leggings", + "stackSize": 1, + "name": "iron_leggings" + }, + { + "id": 309, + "displayName": "Iron Boots", + "stackSize": 1, + "name": "iron_boots" + }, + { + "id": 310, + "displayName": "Diamond Helmet", + "stackSize": 1, + "name": "diamond_helmet" + }, + { + "id": 311, + "displayName": "Diamond Chestplate", + "stackSize": 1, + "name": "diamond_chestplate" + }, + { + "id": 312, + "displayName": "Diamond Leggings", + "stackSize": 1, + "name": "diamond_leggings" + }, + { + "id": 313, + "displayName": "Diamond Boots", + "stackSize": 1, + "name": "diamond_boots" + }, + { + "id": 314, + "displayName": "Golden Helmet", + "stackSize": 1, + "name": "golden_helmet" + }, + { + "id": 315, + "displayName": "Golden Chestplate", + "stackSize": 1, + "name": "golden_chestplate" + }, + { + "id": 316, + "displayName": "Golden Leggings", + "stackSize": 1, + "name": "golden_leggings" + }, + { + "id": 317, + "displayName": "Golden Boots", + "stackSize": 1, + "name": "golden_boots" + }, + { + "id": 318, + "displayName": "Flint", + "stackSize": 64, + "name": "flint" + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "porkchop" + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop" + }, + { + "id": 321, + "displayName": "Painting", + "stackSize": 64, + "name": "painting" + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ] + }, + { + "id": 323, + "displayName": "Sign", + "stackSize": 16, + "name": "sign" + }, + { + "id": 324, + "displayName": "Oak Door", + "stackSize": 64, + "name": "wooden_door" + }, + { + "id": 325, + "displayName": "Bucket", + "stackSize": 16, + "name": "bucket" + }, + { + "id": 326, + "displayName": "Water Bucket", + "stackSize": 1, + "name": "water_bucket" + }, + { + "id": 327, + "displayName": "Lava Bucket", + "stackSize": 1, + "name": "lava_bucket" + }, + { + "id": 328, + "displayName": "Minecart", + "stackSize": 1, + "name": "minecart" + }, + { + "id": 329, + "displayName": "Saddle", + "stackSize": 1, + "name": "saddle" + }, + { + "id": 330, + "displayName": "Iron Door", + "stackSize": 64, + "name": "iron_door" + }, + { + "id": 331, + "displayName": "Redstone", + "stackSize": 64, + "name": "redstone" + }, + { + "id": 332, + "displayName": "Snowball", + "stackSize": 16, + "name": "snowball" + }, + { + "id": 333, + "displayName": "Boat", + "stackSize": 1, + "name": "boat" + }, + { + "id": 334, + "displayName": "Leather", + "stackSize": 64, + "name": "leather" + }, + { + "id": 335, + "displayName": "Milk", + "stackSize": 1, + "name": "milk_bucket" + }, + { + "id": 336, + "displayName": "Brick", + "stackSize": 64, + "name": "brick" + }, + { + "id": 337, + "displayName": "Clay", + "stackSize": 64, + "name": "clay_ball" + }, + { + "id": 338, + "displayName": "Sugar Cane", + "stackSize": 64, + "name": "reeds" + }, + { + "id": 339, + "displayName": "Paper", + "stackSize": 64, + "name": "paper" + }, + { + "id": 340, + "displayName": "Book", + "stackSize": 64, + "name": "book" + }, + { + "id": 341, + "displayName": "Slimeball", + "stackSize": 64, + "name": "slime_ball" + }, + { + "id": 342, + "displayName": "Minecart with Chest", + "stackSize": 1, + "name": "chest_minecart" + }, + { + "id": 343, + "displayName": "Minecart with Furnace", + "stackSize": 1, + "name": "furnace_minecart" + }, + { + "id": 344, + "displayName": "Egg", + "stackSize": 16, + "name": "egg" + }, + { + "id": 345, + "displayName": "Compass", + "stackSize": 64, + "name": "compass" + }, + { + "id": 346, + "displayName": "Fishing Rod", + "stackSize": 1, + "name": "fishing_rod" + }, + { + "id": 347, + "displayName": "Clock", + "stackSize": 64, + "name": "clock" + }, + { + "id": 348, + "displayName": "Glowstone Dust", + "stackSize": 64, + "name": "glowstone_dust" + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + } + ] + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish" + }, + { + "id": 351, + "displayName": "Dye", + "stackSize": 64, + "name": "dye", + "variations": [ + { + "metadata": 0, + "displayName": "Ink Sac" + }, + { + "metadata": 1, + "displayName": "Rose Red" + }, + { + "metadata": 2, + "displayName": "Cactus Green" + }, + { + "metadata": 3, + "displayName": "Cocoa Beans" + }, + { + "metadata": 4, + "displayName": "Lapis Lazuli" + }, + { + "metadata": 5, + "displayName": "Purple Dye" + }, + { + "metadata": 6, + "displayName": "Cyan Dye" + }, + { + "metadata": 7, + "displayName": "Light Gray Dye" + }, + { + "metadata": 8, + "displayName": "Gray Dye" + }, + { + "metadata": 9, + "displayName": "Pink Dye" + }, + { + "metadata": 10, + "displayName": "Lime Dye" + }, + { + "metadata": 11, + "displayName": "Dandelion Yellow" + }, + { + "metadata": 12, + "displayName": "Light Blue Dye" + }, + { + "metadata": 13, + "displayName": "Magenta Dye" + }, + { + "metadata": 14, + "displayName": "Orange Dye" + }, + { + "metadata": 15, + "displayName": "Bone Meal" + } + ] + }, + { + "id": 352, + "displayName": "Bone", + "stackSize": 64, + "name": "bone" + }, + { + "id": 353, + "displayName": "Sugar", + "stackSize": 64, + "name": "sugar" + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake" + }, + { + "id": 355, + "displayName": "Bed", + "stackSize": 1, + "name": "bed" + }, + { + "id": 356, + "displayName": "Redstone Repeater", + "stackSize": 64, + "name": "repeater" + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie" + }, + { + "id": 358, + "displayName": "Map", + "stackSize": 64, + "name": "filled_map" + }, + { + "id": 359, + "displayName": "Shears", + "stackSize": 1, + "name": "shears" + }, + { + "id": 360, + "displayName": "Melon", + "stackSize": 64, + "name": "melon" + }, + { + "id": 361, + "displayName": "Pumpkin Seeds", + "stackSize": 64, + "name": "pumpkin_seeds" + }, + { + "id": 362, + "displayName": "Melon Seeds", + "stackSize": 64, + "name": "melon_seeds" + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "beef" + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "cooked_beef" + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "chicken" + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken" + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh" + }, + { + "id": 368, + "displayName": "Ender Pearl", + "stackSize": 16, + "name": "ender_pearl" + }, + { + "id": 369, + "displayName": "Blaze Rod", + "stackSize": 64, + "name": "blaze_rod" + }, + { + "id": 370, + "displayName": "Ghast Tear", + "stackSize": 64, + "name": "ghast_tear" + }, + { + "id": 371, + "displayName": "Gold Nugget", + "stackSize": 64, + "name": "gold_nugget" + }, + { + "id": 372, + "displayName": "Nether Wart", + "stackSize": 64, + "name": "nether_wart" + }, + { + "id": 373, + "displayName": "Potion", + "stackSize": 1, + "name": "potion" + }, + { + "id": 374, + "displayName": "Glass Bottle", + "stackSize": 64, + "name": "glass_bottle" + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye" + }, + { + "id": 376, + "displayName": "Fermented Spider Eye", + "stackSize": 64, + "name": "fermented_spider_eye" + }, + { + "id": 377, + "displayName": "Blaze Powder", + "stackSize": 64, + "name": "blaze_powder" + }, + { + "id": 378, + "displayName": "Magma Cream", + "stackSize": 64, + "name": "magma_cream" + }, + { + "id": 379, + "displayName": "Brewing Stand", + "stackSize": 64, + "name": "brewing_stand" + }, + { + "id": 380, + "displayName": "Cauldron", + "stackSize": 64, + "name": "cauldron" + }, + { + "id": 381, + "displayName": "Eye of Ender", + "stackSize": 64, + "name": "ender_eye" + }, + { + "id": 382, + "displayName": "Glistering Melon", + "stackSize": 64, + "name": "speckled_melon" + }, + { + "id": 383, + "displayName": "Spawn Egg", + "stackSize": 64, + "name": "spawn_egg" + }, + { + "id": 384, + "displayName": "Bottle o' Enchanting", + "stackSize": 64, + "name": "experience_bottle" + }, + { + "id": 385, + "displayName": "Fire Charge", + "stackSize": 64, + "name": "fire_charge" + }, + { + "id": 386, + "displayName": "Book and Quill", + "stackSize": 1, + "name": "writable_book" + }, + { + "id": 387, + "displayName": "Written Book", + "stackSize": 16, + "name": "written_book" + }, + { + "id": 388, + "displayName": "Emerald", + "stackSize": 64, + "name": "emerald" + }, + { + "id": 389, + "displayName": "Item Frame", + "stackSize": 64, + "name": "item_frame" + }, + { + "id": 390, + "displayName": "Flower Pot", + "stackSize": 64, + "name": "flower_pot", + "variations": [ + { + "metadata": 0, + "displayName": "Empty Flower Pot" + }, + { + "metadata": 1, + "displayName": "Poppy Flower Pot" + }, + { + "metadata": 2, + "displayName": "Dandelion Flower Pot" + }, + { + "metadata": 3, + "displayName": "Oak sapling Flower Pot" + }, + { + "metadata": 4, + "displayName": "Spruce sapling Flower Pot" + }, + { + "metadata": 5, + "displayName": "Birch sapling Flower Pot" + }, + { + "metadata": 6, + "displayName": "Jungle sapling Flower Pot" + }, + { + "metadata": 7, + "displayName": "Red mushroom Flower Pot" + }, + { + "metadata": 8, + "displayName": "Brown mushroom Flower Pot" + }, + { + "metadata": 9, + "displayName": "Cactus Flower Pot" + }, + { + "metadata": 10, + "displayName": "Dead bush Flower Pot" + }, + { + "metadata": 11, + "displayName": "Fern Flower Pot" + }, + { + "metadata": 12, + "displayName": "Acacia sapling Flower Pot" + }, + { + "metadata": 13, + "displayName": "Dark oak sapling Flower Pot" + } + ] + }, + { + "id": 391, + "displayName": "Carrot", + "stackSize": 64, + "name": "carrot" + }, + { + "id": 392, + "displayName": "Potato", + "stackSize": 64, + "name": "potato" + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato" + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato" + }, + { + "id": 395, + "displayName": "Empty Map", + "stackSize": 64, + "name": "map" + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot" + }, + { + "id": 397, + "displayName": "Mob head", + "stackSize": 64, + "name": "skull", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ] + }, + { + "id": 398, + "displayName": "Carrot on a Stick", + "stackSize": 1, + "name": "carrot_on_a_stick" + }, + { + "id": 399, + "displayName": "Nether Star", + "stackSize": 64, + "name": "nether_star" + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie" + }, + { + "id": 401, + "displayName": "Firework Rocket", + "stackSize": 64, + "name": "fireworks" + }, + { + "id": 402, + "displayName": "Firework Star", + "stackSize": 64, + "name": "firework_charge" + }, + { + "id": 403, + "displayName": "Enchanted Book", + "stackSize": 1, + "name": "enchanted_book" + }, + { + "id": 404, + "displayName": "Redstone Comparator", + "stackSize": 64, + "name": "comparator" + }, + { + "id": 405, + "displayName": "Nether Brick", + "stackSize": 64, + "name": "netherbrick" + }, + { + "id": 406, + "displayName": "Nether Quartz", + "stackSize": 64, + "name": "quartz" + }, + { + "id": 407, + "displayName": "Minecart with TNT", + "stackSize": 1, + "name": "tnt_minecart" + }, + { + "id": 408, + "displayName": "Minecart with Hopper", + "stackSize": 1, + "name": "hopper_minecart" + }, + { + "id": 409, + "displayName": "Prismarine Shard", + "stackSize": 64, + "name": "prismarine_shard" + }, + { + "id": 410, + "displayName": "Prismarine Crystals", + "stackSize": 64, + "name": "prismarine_crystals" + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "rabbit" + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit" + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew" + }, + { + "id": 414, + "displayName": "Rabbit's Foot", + "stackSize": 64, + "name": "rabbit_foot" + }, + { + "id": 415, + "displayName": "Rabbit Hide", + "stackSize": 64, + "name": "rabbit_hide" + }, + { + "id": 416, + "displayName": "Armor Stand", + "stackSize": 16, + "name": "armor_stand" + }, + { + "id": 417, + "displayName": "Iron Horse Armor", + "stackSize": 1, + "name": "iron_horse_armor" + }, + { + "id": 418, + "displayName": "Golden Horse Armor", + "stackSize": 1, + "name": "golden_horse_armor" + }, + { + "id": 419, + "displayName": "Diamond Horse Armor", + "stackSize": 1, + "name": "diamond_horse_armor" + }, + { + "id": 420, + "displayName": "Lead", + "stackSize": 64, + "name": "lead" + }, + { + "id": 421, + "displayName": "Name Tag", + "stackSize": 64, + "name": "name_tag" + }, + { + "id": 422, + "displayName": "Minecart with Command Block", + "stackSize": 1, + "name": "command_block_minecart" + }, + { + "id": 423, + "displayName": "Raw Mutton", + "stackSize": 64, + "name": "mutton" + }, + { + "id": 424, + "displayName": "Cooked Mutton", + "stackSize": 64, + "name": "cooked_mutton" + }, + { + "id": 425, + "displayName": "Banner", + "stackSize": 16, + "name": "banner" + }, + { + "id": 426, + "displayName": "End Crystal", + "stackSize": 64, + "name": "end_crystal" + }, + { + "id": 427, + "displayName": "Spruce Door", + "stackSize": 64, + "name": "spruce_door" + }, + { + "id": 428, + "displayName": "Birch Door", + "stackSize": 64, + "name": "birch_door" + }, + { + "id": 429, + "displayName": "Jungle Door", + "stackSize": 64, + "name": "jungle_door" + }, + { + "id": 430, + "displayName": "Acacia Door", + "stackSize": 64, + "name": "acacia_door" + }, + { + "id": 431, + "displayName": "Dark Oak Door", + "stackSize": 64, + "name": "dark_oak_door" + }, + { + "id": 432, + "displayName": "Chorus Fruit", + "stackSize": 64, + "name": "chorus_fruit" + }, + { + "id": 433, + "displayName": "Popped Chorus Fruit", + "stackSize": 64, + "name": "chorus_fruit_popped" + }, + { + "id": 434, + "displayName": "Beetroot", + "stackSize": 64, + "name": "beetroot" + }, + { + "id": 435, + "displayName": "Beetroot Seeds", + "stackSize": 64, + "name": "beetroot_seeds" + }, + { + "id": 436, + "displayName": "Beetroot Soup", + "stackSize": 1, + "name": "beetroot_soup" + }, + { + "id": 437, + "displayName": "Dragon's Breath", + "stackSize": 64, + "name": "dragon_breath" + }, + { + "id": 438, + "displayName": "Splash Potion", + "stackSize": 1, + "name": "splash_potion" + }, + { + "id": 439, + "displayName": "Spectral Arrow", + "stackSize": 64, + "name": "spectral_arrow" + }, + { + "id": 440, + "displayName": "Tipped Arrow", + "stackSize": 64, + "name": "tipped_arrow" + }, + { + "id": 441, + "displayName": "Lingering Potion", + "stackSize": 1, + "name": "lingering_potion" + }, + { + "id": 442, + "displayName": "Shield", + "stackSize": 1, + "name": "shield" + }, + { + "id": 443, + "displayName": "Elytra", + "stackSize": 1, + "name": "elytra" + }, + { + "id": 444, + "displayName": "Spruce Boat", + "stackSize": 1, + "name": "spruce_boat" + }, + { + "id": 445, + "displayName": "Birch Boat", + "stackSize": 1, + "name": "birch_boat" + }, + { + "id": 446, + "displayName": "Jungle Boat", + "stackSize": 1, + "name": "jungle_boat" + }, + { + "id": 447, + "displayName": "Acacia Boat", + "stackSize": 1, + "name": "acacia_boat" + }, + { + "id": 448, + "displayName": "Dark Oak Boat", + "stackSize": 1, + "name": "dark_oak_boat" + }, + { + "id": 2256, + "displayName": "13 Disc", + "stackSize": 1, + "name": "record_13" + }, + { + "id": 2257, + "displayName": "Cat Disc", + "stackSize": 1, + "name": "record_cat" + }, + { + "id": 2258, + "displayName": "Blocks Disc", + "stackSize": 1, + "name": "record_blocks" + }, + { + "id": 2259, + "displayName": "Chirp Disc", + "stackSize": 1, + "name": "record_chirp" + }, + { + "id": 2260, + "displayName": "Far Disc", + "stackSize": 1, + "name": "record_far" + }, + { + "id": 2261, + "displayName": "Mall Disc", + "stackSize": 1, + "name": "record_mall" + }, + { + "id": 2262, + "displayName": "Mellohi Disc", + "stackSize": 1, + "name": "record_mellohi" + }, + { + "id": 2263, + "displayName": "Stal Disc", + "stackSize": 1, + "name": "record_stal" + }, + { + "id": 2264, + "displayName": "Strad Disc", + "stackSize": 1, + "name": "record_strad" + }, + { + "id": 2265, + "displayName": "Ward Disc", + "stackSize": 1, + "name": "record_ward" + }, + { + "id": 2266, + "displayName": "11 Disc", + "stackSize": 1, + "name": "record_11" + }, + { + "id": 2267, + "displayName": "Wait Disc", + "stackSize": 1, + "name": "record_wait" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/language.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/language.json new file mode 100644 index 00000000..c88d818b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/language.json @@ -0,0 +1,2860 @@ +{ + "language.name": "English", + "language.region": "US", + "language.code": "en_US", + "gui.done": "Done", + "gui.cancel": "Cancel", + "gui.back": "Back", + "gui.toTitle": "Back to title screen", + "gui.toMenu": "Back to server list", + "gui.up": "Up", + "gui.down": "Down", + "gui.yes": "Yes", + "gui.no": "No", + "gui.none": "None", + "gui.all": "All", + "translation.test.none": "Hello, world!", + "translation.test.complex": "Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!", + "translation.test.escape": "%%s %%%s %%%%s %%%%%s", + "translation.test.invalid": "hi %", + "translation.test.invalid2": "hi % s", + "translation.test.args": "%s %s", + "translation.test.world": "world", + "menu.game": "Game menu", + "menu.singleplayer": "Singleplayer", + "menu.multiplayer": "Multiplayer", + "menu.online": "Minecraft Realms", + "menu.options": "Options...", + "menu.quit": "Quit Game", + "menu.returnToMenu": "Save and Quit to Title", + "menu.disconnect": "Disconnect", + "menu.returnToGame": "Back to Game", + "menu.switchingLevel": "Switching worlds", + "menu.generatingLevel": "Generating world", + "menu.loadingLevel": "Loading world", + "menu.generatingTerrain": "Building terrain", + "menu.convertingLevel": "Converting world", + "menu.simulating": "Simulating the world for a bit", + "menu.respawning": "Respawning", + "menu.shareToLan": "Open to LAN", + "selectWorld.title": "Select World", + "selectWorld.empty": "empty", + "selectWorld.world": "World", + "selectWorld.select": "Play Selected World", + "selectWorld.create": "Create New World", + "selectWorld.recreate": "Re-Create", + "selectWorld.createDemo": "Play New Demo World", + "selectWorld.delete": "Delete", + "selectWorld.edit": "Edit", + "selectWorld.edit.title": "Edit World", + "selectWorld.edit.resetIcon": "Reset Icon", + "selectWorld.edit.openFolder": "Open Folder", + "selectWorld.edit.save": "Save World", + "selectWorld.deleteQuestion": "Are you sure you want to delete this world?", + "selectWorld.deleteWarning": "will be lost forever! (A long time!)", + "selectWorld.deleteButton": "Delete", + "selectWorld.conversion": "Must be converted!", + "selectWorld.newWorld": "New World", + "selectWorld.newWorld.copyOf": "Copy of %s", + "selectWorld.enterName": "World Name", + "selectWorld.resultFolder": "Will be saved in:", + "selectWorld.enterSeed": "Seed for the World Generator", + "selectWorld.seedInfo": "Leave blank for a random seed", + "selectWorld.cheats": "Cheats", + "selectWorld.customizeType": "Customize", + "selectWorld.version": "Version:", + "selectWorld.versionUnknown": "unknown", + "selectWorld.versionQuestion": "Do you really want to load this world?", + "selectWorld.versionWarning": "This world was saved in version '%s' and loading it in this version could cause corruption!", + "selectWorld.versionJoinButton": "Use anyway", + "selectWorld.tooltip.fromNewerVersion1": "World was saved in a newer version,", + "selectWorld.tooltip.fromNewerVersion2": "loading this world could cause problems!", + "selectWorld.tooltip.snapshot1": "Don't forget to backup this world", + "selectWorld.tooltip.snapshot2": "before you load it in this snapshot.", + "createWorld.customize.presets": "Presets", + "createWorld.customize.presets.title": "Select a Preset", + "createWorld.customize.presets.select": "Use Preset", + "createWorld.customize.presets.share": "Want to share your preset with someone? Use the below box!", + "createWorld.customize.presets.list": "Alternatively, here's some we made earlier!", + "createWorld.customize.flat.title": "Superflat Customization", + "createWorld.customize.flat.tile": "Layer Material", + "createWorld.customize.flat.height": "Height", + "createWorld.customize.flat.addLayer": "Add Layer", + "createWorld.customize.flat.editLayer": "Edit Layer", + "createWorld.customize.flat.removeLayer": "Remove Layer", + "createWorld.customize.flat.layer.top": "Top - %d", + "createWorld.customize.flat.layer": "%d", + "createWorld.customize.flat.layer.bottom": "Bottom - %d", + "createWorld.customize.flat.air": "Air", + "createWorld.customize.custom.page0": "Basic Settings", + "createWorld.customize.custom.page1": "Ore Settings", + "createWorld.customize.custom.page2": "Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.page3": "Extra Advanced Settings (Expert Users Only!)", + "createWorld.customize.custom.randomize": "Randomize", + "createWorld.customize.custom.prev": "Previous Page", + "createWorld.customize.custom.next": "Next Page", + "createWorld.customize.custom.defaults": "Defaults", + "createWorld.customize.custom.confirm1": "This will overwrite your current", + "createWorld.customize.custom.confirm2": "settings and cannot be undone.", + "createWorld.customize.custom.confirmTitle": "Warning!", + "createWorld.customize.custom.mainNoiseScaleX": "Main Noise Scale X", + "createWorld.customize.custom.mainNoiseScaleY": "Main Noise Scale Y", + "createWorld.customize.custom.mainNoiseScaleZ": "Main Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleX": "Depth Noise Scale X", + "createWorld.customize.custom.depthNoiseScaleZ": "Depth Noise Scale Z", + "createWorld.customize.custom.depthNoiseScaleExponent": "Depth Noise Exponent", + "createWorld.customize.custom.baseSize": "Depth Base Size", + "createWorld.customize.custom.coordinateScale": "Coordinate Scale", + "createWorld.customize.custom.heightScale": "Height Scale", + "createWorld.customize.custom.stretchY": "Height Stretch", + "createWorld.customize.custom.upperLimitScale": "Upper Limit Scale", + "createWorld.customize.custom.lowerLimitScale": "Lower Limit Scale", + "createWorld.customize.custom.biomeDepthWeight": "Biome Depth Weight", + "createWorld.customize.custom.biomeDepthOffset": "Biome Depth Offset", + "createWorld.customize.custom.biomeScaleWeight": "Biome Scale Weight", + "createWorld.customize.custom.biomeScaleOffset": "Biome Scale Offset", + "createWorld.customize.custom.seaLevel": "Sea Level", + "createWorld.customize.custom.useCaves": "Caves", + "createWorld.customize.custom.useStrongholds": "Strongholds", + "createWorld.customize.custom.useVillages": "Villages", + "createWorld.customize.custom.useMineShafts": "Mineshafts", + "createWorld.customize.custom.useTemples": "Temples", + "createWorld.customize.custom.useMonuments": "Ocean Monuments", + "createWorld.customize.custom.useRavines": "Ravines", + "createWorld.customize.custom.useDungeons": "Dungeons", + "createWorld.customize.custom.dungeonChance": "Dungeon Count", + "createWorld.customize.custom.useWaterLakes": "Water Lakes", + "createWorld.customize.custom.waterLakeChance": "Water Lake Rarity", + "createWorld.customize.custom.useLavaLakes": "Lava Lakes", + "createWorld.customize.custom.lavaLakeChance": "Lava Lake Rarity", + "createWorld.customize.custom.useLavaOceans": "Lava Oceans", + "createWorld.customize.custom.fixedBiome": "Biome", + "createWorld.customize.custom.biomeSize": "Biome Size", + "createWorld.customize.custom.riverSize": "River Size", + "createWorld.customize.custom.size": " Spawn Size", + "createWorld.customize.custom.count": " Spawn Tries", + "createWorld.customize.custom.minHeight": " Min. Height", + "createWorld.customize.custom.maxHeight": " Max. Height", + "createWorld.customize.custom.center": " Center Height", + "createWorld.customize.custom.spread": " Spread Height", + "createWorld.customize.custom.presets.title": "Customize World Presets", + "createWorld.customize.custom.presets": "Presets", + "createWorld.customize.custom.preset.waterWorld": "Water World", + "createWorld.customize.custom.preset.isleLand": "Isle Land", + "createWorld.customize.custom.preset.caveDelight": "Caver's Delight", + "createWorld.customize.custom.preset.mountains": "Mountain Madness", + "createWorld.customize.custom.preset.drought": "Drought", + "createWorld.customize.custom.preset.caveChaos": "Caves of Chaos", + "createWorld.customize.custom.preset.goodLuck": "Good Luck", + "gameMode.survival": "Survival Mode", + "gameMode.creative": "Creative Mode", + "gameMode.adventure": "Adventure Mode", + "gameMode.spectator": "Spectator Mode", + "gameMode.hardcore": "Hardcore Mode!", + "gameMode.changed": "Your game mode has been updated to %s", + "selectWorld.gameMode": "Game Mode", + "selectWorld.gameMode.survival": "Survival", + "selectWorld.gameMode.survival.line1": "Search for resources, crafting, gain", + "selectWorld.gameMode.survival.line2": "levels, health and hunger", + "selectWorld.gameMode.creative": "Creative", + "selectWorld.gameMode.creative.line1": "Unlimited resources, free flying and", + "selectWorld.gameMode.creative.line2": "destroy blocks instantly", + "selectWorld.gameMode.spectator": "Spectator", + "selectWorld.gameMode.spectator.line1": "You can look but don't touch", + "selectWorld.gameMode.hardcore": "Hardcore", + "selectWorld.gameMode.hardcore.line1": "Same as survival mode, locked at hardest", + "selectWorld.gameMode.hardcore.line2": "difficulty, and one life only", + "selectWorld.gameMode.adventure": "Adventure", + "selectWorld.gameMode.adventure.line1": "Same as survival mode, but blocks can't", + "selectWorld.gameMode.adventure.line2": "be added or removed", + "selectWorld.moreWorldOptions": "More World Options...", + "selectWorld.mapFeatures": "Generate Structures:", + "selectWorld.mapFeatures.info": "Villages, dungeons etc", + "selectWorld.mapType": "World Type:", + "selectWorld.mapType.normal": "Normal", + "selectWorld.allowCommands": "Allow Cheats:", + "selectWorld.allowCommands.info": "Commands like /gamemode, /xp", + "selectWorld.hardcoreMode": "Hardcore:", + "selectWorld.hardcoreMode.info": "World is deleted upon death", + "selectWorld.bonusItems": "Bonus Chest:", + "generator.default": "Default", + "generator.flat": "Superflat", + "generator.largeBiomes": "Large Biomes", + "generator.amplified": "AMPLIFIED", + "generator.customized": "Customized", + "generator.debug_all_block_states": "Debug Mode", + "generator.amplified.info": "Notice: Just for fun, requires beefy computer", + "selectServer.title": "Select Server", + "selectServer.empty": "empty", + "selectServer.select": "Join Server", + "selectServer.direct": "Direct Connect", + "selectServer.edit": "Edit", + "selectServer.delete": "Delete", + "selectServer.add": "Add server", + "selectServer.defaultName": "Minecraft Server", + "selectServer.deleteQuestion": "Are you sure you want to remove this server?", + "selectServer.deleteWarning": "will be lost forever! (A long time!)", + "selectServer.deleteButton": "Delete", + "selectServer.refresh": "Refresh", + "selectServer.hiddenAddress": "(Hidden)", + "addServer.title": "Edit Server Info", + "addServer.enterName": "Server Name", + "addServer.enterIp": "Server Address", + "addServer.add": "Done", + "addServer.hideAddress": "Hide Address", + "addServer.resourcePack": "Server Resource Packs", + "addServer.resourcePack.enabled": "Enabled", + "addServer.resourcePack.disabled": "Disabled", + "addServer.resourcePack.prompt": "Prompt", + "lanServer.title": "LAN World", + "lanServer.scanning": "Scanning for games on your local network", + "lanServer.start": "Start LAN World", + "lanServer.otherPlayers": "Settings for Other Players", + "mcoServer.title": "Minecraft Online World", + "multiplayer.title": "Play Multiplayer", + "multiplayer.connect": "Connect", + "multiplayer.info1": "Minecraft Multiplayer is currently not finished, but there", + "multiplayer.info2": "is some buggy early testing going on.", + "multiplayer.ipinfo": "Enter the IP of a server to connect to it:", + "multiplayer.texturePrompt.line1": "This server recommends the use of a custom resource pack.", + "multiplayer.texturePrompt.line2": "Would you like to download and install it automagically?", + "multiplayer.downloadingTerrain": "Downloading terrain", + "multiplayer.downloadingStats": "Downloading statistics & achievements...", + "multiplayer.stopSleeping": "Leave Bed", + "multiplayer.player.joined": "%s joined the game", + "multiplayer.player.joined.renamed": "%s (formerly known as %s) joined the game", + "multiplayer.player.left": "%s left the game", + "chat.cannotSend": "Cannot send chat message", + "chat.type.text": "<%s> %s", + "chat.type.emote": "* %s %s", + "chat.type.announcement": "[%s] %s", + "chat.type.admin": "[%s: %s]", + "chat.type.achievement": "%s has just earned the achievement %s", + "chat.type.achievement.taken": "%s has lost the achievement %s", + "chat.link.confirm": "Are you sure you want to open the following website?", + "chat.link.warning": "Never open links from people that you don't trust!", + "chat.copy": "Copy to Clipboard", + "chat.link.confirmTrusted": "Do you want to open this link or copy it to your clipboard?", + "chat.link.open": "Open in browser", + "menu.playdemo": "Play Demo World", + "menu.resetdemo": "Reset Demo World", + "demo.day.1": "This demo will last five game days, do your best!", + "demo.day.2": "Day Two", + "demo.day.3": "Day Three", + "demo.day.4": "Day Four", + "demo.day.5": "This is your last day!", + "demo.day.warning": "Your time is almost up!", + "demo.day.6": "You have passed your fifth day, use F2 to save a screenshot of your creation", + "demo.reminder": "The demo time has expired, buy the game to continue or start a new world!", + "demo.remainingTime": "Remaining time: %s", + "demo.demoExpired": "Demo time's up!", + "demo.help.movement": "Use %1$s, %2$s, %3$s, %4$s and the mouse to move around", + "demo.help.movementShort": "Move by pressing %1$s, %2$s, %3$s, %4$s", + "demo.help.movementMouse": "Look around using the mouse", + "demo.help.jump": "Jump by pressing %1$s", + "demo.help.inventory": "Use %1$s to open your inventory", + "demo.help.title": "Minecraft Demo Mode", + "demo.help.fullWrapped": "This demo will last 5 ingame days (about 1 hour and 40 minutes of real time). Check the achievements for hints! Have fun!", + "demo.help.buy": "Purchase Now!", + "demo.help.later": "Continue Playing!", + "connect.connecting": "Connecting to the server...", + "connect.authorizing": "Logging in...", + "connect.failed": "Failed to connect to the server", + "disconnect.genericReason": "%s", + "disconnect.disconnected": "Disconnected by Server", + "disconnect.lost": "Connection Lost", + "disconnect.kicked": "Was kicked from the game", + "disconnect.timeout": "Timed out", + "disconnect.closed": "Connection closed", + "disconnect.loginFailed": "Failed to login", + "disconnect.loginFailedInfo": "Failed to login: %s", + "disconnect.loginFailedInfo.serversUnavailable": "The authentication servers are currently down for maintenance.", + "disconnect.loginFailedInfo.invalidSession": "Invalid session (Try restarting your game)", + "disconnect.quitting": "Quitting", + "disconnect.endOfStream": "End of stream", + "disconnect.overflow": "Buffer overflow", + "disconnect.spam": "Kicked for spamming", + "soundCategory.master": "Master Volume", + "soundCategory.music": "Music", + "soundCategory.record": "Jukebox/Noteblocks", + "soundCategory.weather": "Weather", + "soundCategory.hostile": "Hostile Creatures", + "soundCategory.neutral": "Friendly Creatures", + "soundCategory.player": "Players", + "soundCategory.block": "Blocks", + "soundCategory.ambient": "Ambient/Environment", + "soundCategory.voice": "Voice/Speech", + "record.nowPlaying": "Now playing: %s", + "options.off": "OFF", + "options.on": "ON", + "options.visible": "Shown", + "options.hidden": "Hidden", + "options.title": "Options", + "options.controls": "Controls...", + "options.video": "Video Settings...", + "options.language": "Language...", + "options.sounds": "Music & Sounds...", + "options.sounds.title": "Music & Sound Options", + "options.languageWarning": "Language translations may not be 100%% accurate", + "options.videoTitle": "Video Settings", + "options.customizeTitle": "Customize World Settings", + "options.music": "Music", + "options.sound": "Sound", + "options.invertMouse": "Invert Mouse", + "options.fov": "FOV", + "options.fov.min": "Normal", + "options.fov.max": "Quake Pro", + "options.saturation": "Saturation", + "options.gamma": "Brightness", + "options.gamma.min": "Moody", + "options.gamma.max": "Bright", + "options.sensitivity": "Sensitivity", + "options.sensitivity.min": "*yawn*", + "options.sensitivity.max": "HYPERSPEED!!!", + "options.renderDistance": "Render Distance", + "options.renderDistance.tiny": "Tiny", + "options.renderDistance.short": "Short", + "options.renderDistance.normal": "Normal", + "options.renderDistance.far": "Far", + "options.viewBobbing": "View Bobbing", + "options.ao": "Smooth Lighting", + "options.ao.off": "OFF", + "options.ao.min": "Minimum", + "options.ao.max": "Maximum", + "options.anaglyph": "3D Anaglyph", + "options.framerateLimit": "Max Framerate", + "options.framerateLimit.max": "Unlimited", + "options.difficulty": "Difficulty", + "options.difficulty.peaceful": "Peaceful", + "options.difficulty.easy": "Easy", + "options.difficulty.normal": "Normal", + "options.difficulty.hard": "Hard", + "options.difficulty.hardcore": "Hardcore", + "options.graphics": "Graphics", + "options.graphics.fancy": "Fancy", + "options.graphics.fast": "Fast", + "options.guiScale": "GUI Scale", + "options.guiScale.auto": "Auto", + "options.guiScale.small": "Small", + "options.guiScale.normal": "Normal", + "options.guiScale.large": "Large", + "options.advancedOpengl": "Advanced OpenGL", + "options.fboEnable": "Enable FBOs", + "options.postProcessEnable": "Enable Post-Processing", + "options.renderClouds": "Clouds", + "options.qualityButton": "Video Quality Settings...", + "options.qualityVideoTitle": "Video Quality Settings", + "options.performanceButton": "Video Performance Settings...", + "options.performanceVideoTitle": "Video Performance Settings", + "options.advancedButton": "Advanced Video Settings...", + "options.advancedVideoTitle": "Advanced Video Settings", + "options.postButton": "Post-Processing Settings...", + "options.postVideoTitle": "Post-Processing Settings", + "options.farWarning1": "A 64 bit Java installation is recommended", + "options.farWarning2": "for 'Far' render distance (you have 32 bit)", + "options.particles": "Particles", + "options.particles.all": "All", + "options.particles.decreased": "Decreased", + "options.particles.minimal": "Minimal", + "options.multiplayer.title": "Multiplayer Settings...", + "options.chat.title": "Chat Settings...", + "options.chat.visibility": "Chat", + "options.chat.visibility.full": "Shown", + "options.chat.visibility.system": "Commands Only", + "options.chat.visibility.hidden": "Hidden", + "options.chat.color": "Colors", + "options.chat.opacity": "Opacity", + "options.chat.links": "Web Links", + "options.chat.links.prompt": "Prompt on Links", + "options.chat.scale": "Scale", + "options.chat.width": "Width", + "options.chat.height.focused": "Focused Height", + "options.chat.height.unfocused": "Unfocused Height", + "options.skinCustomisation": "Skin Customization...", + "options.skinCustomisation.title": "Skin Customization", + "options.modelPart.cape": "Cape", + "options.modelPart.hat": "Hat", + "options.modelPart.jacket": "Jacket", + "options.modelPart.left_sleeve": "Left Sleeve", + "options.modelPart.right_sleeve": "Right Sleeve", + "options.modelPart.left_pants_leg": "Left Pants Leg", + "options.modelPart.right_pants_leg": "Right Pants Leg", + "options.snooper": "Allow Snooper", + "options.snooper.view": "Snooper Settings...", + "options.snooper.title": "Machine Specs Collection", + "options.snooper.desc": "We want to collect information about your machine to help improve Minecraft by knowing what we can support and where the biggest problems are. All of this information is completely anonymous and viewable below. We promise we won't do anything bad with this data, but if you want to opt out then feel free to toggle it off!", + "options.resourcepack": "Resource Packs...", + "options.fullscreen": "Fullscreen", + "options.vsync": "Use VSync", + "options.vbo": "Use VBOs", + "options.touchscreen": "Touchscreen Mode", + "options.reducedDebugInfo": "Reduced Debug Info", + "options.entityShadows": "Entity Shadows", + "options.mainHand": "Main Hand", + "options.mainHand.left": "Left", + "options.mainHand.right": "Right", + "options.attackIndicator": "Attack Indicator", + "options.attack.crosshair": "Crosshair", + "options.attack.hotbar": "Hotbar", + "options.showSubtitles": "Show Subtitles", + "options.realmsNotifications": "Realms Notifications", + "options.mipmapLevels": "Mipmap Levels", + "options.forceUnicodeFont": "Force Unicode Font", + "difficulty.lock.title": "Lock World Difficulty", + "difficulty.lock.question": "Are you sure you want to lock the difficulty of this world? This will set this world to always be %1$s, and you will never be able to change that again.", + "title.oldgl1": "Old graphics card detected; this may prevent you from", + "title.oldgl2": "playing in the future as OpenGL 2.0 will be required.", + "controls.title": "Controls", + "controls.reset": "Reset", + "controls.resetAll": "Reset Keys", + "key.sprint": "Sprint", + "key.forward": "Walk Forwards", + "key.left": "Strafe Left", + "key.back": "Walk Backwards", + "key.right": "Strafe Right", + "key.jump": "Jump", + "key.inventory": "Open/Close Inventory", + "key.drop": "Drop Selected Item", + "key.swapHands": "Swap Item In Hands", + "key.chat": "Open Chat", + "key.sneak": "Sneak", + "key.playerlist": "List Players", + "key.attack": "Attack/Destroy", + "key.use": "Use Item/Place Block", + "key.pickItem": "Pick Block", + "key.mouseButton": "Button %1$s", + "key.command": "Open Command", + "key.screenshot": "Take Screenshot", + "key.togglePerspective": "Toggle Perspective", + "key.smoothCamera": "Toggle Cinematic Camera", + "key.fullscreen": "Toggle Fullscreen", + "key.spectatorOutlines": "Highlight Players (Spectators)", + "key.hotbar.1": "Hotbar Slot 1", + "key.hotbar.2": "Hotbar Slot 2", + "key.hotbar.3": "Hotbar Slot 3", + "key.hotbar.4": "Hotbar Slot 4", + "key.hotbar.5": "Hotbar Slot 5", + "key.hotbar.6": "Hotbar Slot 6", + "key.hotbar.7": "Hotbar Slot 7", + "key.hotbar.8": "Hotbar Slot 8", + "key.hotbar.9": "Hotbar Slot 9", + "key.categories.movement": "Movement", + "key.categories.misc": "Miscellaneous", + "key.categories.multiplayer": "Multiplayer", + "key.categories.gameplay": "Gameplay", + "key.categories.ui": "Game Interface", + "key.categories.inventory": "Inventory", + "resourcePack.openFolder": "Open resource pack folder", + "resourcePack.title": "Select Resource Packs", + "resourcePack.available.title": "Available Resource Packs", + "resourcePack.selected.title": "Selected Resource Packs", + "resourcePack.folderInfo": "(Place resource pack files here)", + "resourcePack.incompatible": "Incompatible", + "resourcePack.incompatible.old": "(Made for an older version of Minecraft)", + "resourcePack.incompatible.new": "(Made for a newer version of Minecraft)", + "resourcePack.incompatible.confirm.title": "Are you sure you want to load this resource pack?", + "resourcePack.incompatible.confirm.old": "This resource pack was made for an older version of Minecraft and may no longer work correctly.", + "resourcePack.incompatible.confirm.new": "This resource pack was made for a newer version of Minecraft and may no longer work correctly.", + "sign.edit": "Edit sign message", + "book.pageIndicator": "Page %1$s of %2$s", + "book.byAuthor": "by %1$s", + "book.signButton": "Sign", + "book.editTitle": "Enter Book Title:", + "book.finalizeButton": "Sign and Close", + "book.finalizeWarning": "Note! When you sign the book, it will no longer be editable.", + "book.generation.0": "Original", + "book.generation.1": "Copy of original", + "book.generation.2": "Copy of a copy", + "book.generation.3": "Tattered", + "merchant.deprecated": "Trade something else to unlock!", + "tile.barrier.name": "Barrier", + "tile.stone.stone.name": "Stone", + "tile.stone.granite.name": "Granite", + "tile.stone.graniteSmooth.name": "Polished Granite", + "tile.stone.diorite.name": "Diorite", + "tile.stone.dioriteSmooth.name": "Polished Diorite", + "tile.stone.andesite.name": "Andesite", + "tile.stone.andesiteSmooth.name": "Polished Andesite", + "tile.hayBlock.name": "Hay Bale", + "tile.grass.name": "Grass Block", + "tile.dirt.name": "Dirt", + "tile.dirt.default.name": "Dirt", + "tile.dirt.coarse.name": "Coarse Dirt", + "tile.dirt.podzol.name": "Podzol", + "tile.stonebrick.name": "Cobblestone", + "tile.wood.name": "Wooden Planks", + "tile.wood.oak.name": "Oak Wood Planks", + "tile.wood.spruce.name": "Spruce Wood Planks", + "tile.wood.birch.name": "Birch Wood Planks", + "tile.wood.jungle.name": "Jungle Wood Planks", + "tile.wood.acacia.name": "Acacia Wood Planks", + "tile.wood.big_oak.name": "Dark Oak Wood Planks", + "tile.sapling.oak.name": "Oak Sapling", + "tile.sapling.spruce.name": "Spruce Sapling", + "tile.sapling.birch.name": "Birch Sapling", + "tile.sapling.jungle.name": "Jungle Sapling", + "tile.sapling.acacia.name": "Acacia Sapling", + "tile.sapling.big_oak.name": "Dark Oak Sapling", + "tile.deadbush.name": "Dead Bush", + "tile.bedrock.name": "Bedrock", + "tile.water.name": "Water", + "tile.lava.name": "Lava", + "tile.sand.name": "Sand", + "tile.sand.default.name": "Sand", + "tile.sand.red.name": "Red Sand", + "tile.sandStone.name": "Sandstone", + "tile.sandStone.default.name": "Sandstone", + "tile.sandStone.chiseled.name": "Chiseled Sandstone", + "tile.sandStone.smooth.name": "Smooth Sandstone", + "tile.redSandStone.name": "Red Sandstone", + "tile.redSandStone.default.name": "Red Sandstone", + "tile.redSandStone.chiseled.name": "Chiseled Red Sandstone", + "tile.redSandStone.smooth.name": "Smooth Red Sandstone", + "tile.gravel.name": "Gravel", + "tile.oreGold.name": "Gold Ore", + "tile.oreIron.name": "Iron Ore", + "tile.oreCoal.name": "Coal Ore", + "tile.log.name": "Wood", + "tile.log.oak.name": "Oak Wood", + "tile.log.spruce.name": "Spruce Wood", + "tile.log.birch.name": "Birch Wood", + "tile.log.jungle.name": "Jungle Wood", + "tile.log.acacia.name": "Acacia Wood", + "tile.log.big_oak.name": "Dark Oak Wood", + "tile.leaves.name": "Leaves", + "tile.leaves.oak.name": "Oak Leaves", + "tile.leaves.spruce.name": "Spruce Leaves", + "tile.leaves.birch.name": "Birch Leaves", + "tile.leaves.jungle.name": "Jungle Leaves", + "tile.leaves.acacia.name": "Acacia Leaves", + "tile.leaves.big_oak.name": "Dark Oak Leaves", + "tile.tallgrass.name": "Grass", + "tile.tallgrass.shrub.name": "Shrub", + "tile.tallgrass.grass.name": "Grass", + "tile.tallgrass.fern.name": "Fern", + "tile.sponge.dry.name": "Sponge", + "tile.sponge.wet.name": "Wet Sponge", + "tile.glass.name": "Glass", + "tile.stainedGlass.name": "Stained Glass", + "tile.stainedGlass.black.name": "Black Stained Glass", + "tile.stainedGlass.red.name": "Red Stained Glass", + "tile.stainedGlass.green.name": "Green Stained Glass", + "tile.stainedGlass.brown.name": "Brown Stained Glass", + "tile.stainedGlass.blue.name": "Blue Stained Glass", + "tile.stainedGlass.purple.name": "Purple Stained Glass", + "tile.stainedGlass.cyan.name": "Cyan Stained Glass", + "tile.stainedGlass.silver.name": "Light Gray Stained Glass", + "tile.stainedGlass.gray.name": "Gray Stained Glass", + "tile.stainedGlass.pink.name": "Pink Stained Glass", + "tile.stainedGlass.lime.name": "Lime Stained Glass", + "tile.stainedGlass.yellow.name": "Yellow Stained Glass", + "tile.stainedGlass.lightBlue.name": "Light Blue Stained Glass", + "tile.stainedGlass.magenta.name": "Magenta Stained Glass", + "tile.stainedGlass.orange.name": "Orange Stained Glass", + "tile.stainedGlass.white.name": "White Stained Glass", + "tile.thinStainedGlass.name": "Stained Glass Pane", + "tile.thinStainedGlass.black.name": "Black Stained Glass Pane", + "tile.thinStainedGlass.red.name": "Red Stained Glass Pane", + "tile.thinStainedGlass.green.name": "Green Stained Glass Pane", + "tile.thinStainedGlass.brown.name": "Brown Stained Glass Pane", + "tile.thinStainedGlass.blue.name": "Blue Stained Glass Pane", + "tile.thinStainedGlass.purple.name": "Purple Stained Glass Pane", + "tile.thinStainedGlass.cyan.name": "Cyan Stained Glass Pane", + "tile.thinStainedGlass.silver.name": "Light Gray Stained Glass Pane", + "tile.thinStainedGlass.gray.name": "Gray Stained Glass Pane", + "tile.thinStainedGlass.pink.name": "Pink Stained Glass Pane", + "tile.thinStainedGlass.lime.name": "Lime Stained Glass Pane", + "tile.thinStainedGlass.yellow.name": "Yellow Stained Glass Pane", + "tile.thinStainedGlass.lightBlue.name": "Light Blue Stained Glass Pane", + "tile.thinStainedGlass.magenta.name": "Magenta Stained Glass Pane", + "tile.thinStainedGlass.orange.name": "Orange Stained Glass Pane", + "tile.thinStainedGlass.white.name": "White Stained Glass Pane", + "tile.thinGlass.name": "Glass Pane", + "tile.cloth.name": "Wool", + "tile.flower1.name": "Flower", + "tile.flower1.dandelion.name": "Dandelion", + "tile.flower2.name": "Flower", + "tile.flower2.poppy.name": "Poppy", + "tile.flower2.blueOrchid.name": "Blue Orchid", + "tile.flower2.allium.name": "Allium", + "tile.flower2.houstonia.name": "Azure Bluet", + "tile.flower2.tulipRed.name": "Red Tulip", + "tile.flower2.tulipOrange.name": "Orange Tulip", + "tile.flower2.tulipWhite.name": "White Tulip", + "tile.flower2.tulipPink.name": "Pink Tulip", + "tile.flower2.oxeyeDaisy.name": "Oxeye Daisy", + "tile.doublePlant.name": "Plant", + "tile.doublePlant.sunflower.name": "Sunflower", + "tile.doublePlant.syringa.name": "Lilac", + "tile.doublePlant.grass.name": "Double Tallgrass", + "tile.doublePlant.fern.name": "Large Fern", + "tile.doublePlant.rose.name": "Rose Bush", + "tile.doublePlant.paeonia.name": "Peony", + "tile.mushroom.name": "Mushroom", + "tile.blockGold.name": "Block of Gold", + "tile.blockIron.name": "Block of Iron", + "tile.stoneSlab.name": "Stone Slab", + "tile.stoneSlab.stone.name": "Stone Slab", + "tile.stoneSlab.sand.name": "Sandstone Slab", + "tile.stoneSlab.wood.name": "Wooden Slab", + "tile.stoneSlab.cobble.name": "Cobblestone Slab", + "tile.stoneSlab.brick.name": "Bricks Slab", + "tile.stoneSlab.smoothStoneBrick.name": "Stone Bricks Slab", + "tile.stoneSlab.netherBrick.name": "Nether Brick Slab", + "tile.stoneSlab.quartz.name": "Quartz Slab", + "tile.stoneSlab2.red_sandstone.name": "Red Sandstone Slab", + "tile.woodSlab.name": "Wood Slab", + "tile.woodSlab.oak.name": "Oak Wood Slab", + "tile.woodSlab.spruce.name": "Spruce Wood Slab", + "tile.woodSlab.birch.name": "Birch Wood Slab", + "tile.woodSlab.jungle.name": "Jungle Wood Slab", + "tile.woodSlab.acacia.name": "Acacia Wood Slab", + "tile.woodSlab.big_oak.name": "Dark Oak Wood Slab", + "tile.brick.name": "Bricks", + "tile.tnt.name": "TNT", + "tile.bookshelf.name": "Bookshelf", + "tile.stoneMoss.name": "Moss Stone", + "tile.obsidian.name": "Obsidian", + "tile.torch.name": "Torch", + "tile.fire.name": "Fire", + "tile.mobSpawner.name": "Monster Spawner", + "tile.stairsWood.name": "Oak Wood Stairs", + "tile.stairsWoodSpruce.name": "Spruce Wood Stairs", + "tile.stairsWoodBirch.name": "Birch Wood Stairs", + "tile.stairsWoodJungle.name": "Jungle Wood Stairs", + "tile.stairsWoodAcacia.name": "Acacia Wood Stairs", + "tile.stairsWoodDarkOak.name": "Dark Oak Wood Stairs", + "tile.chest.name": "Chest", + "tile.chestTrap.name": "Trapped Chest", + "tile.redstoneDust.name": "Redstone Dust", + "tile.oreDiamond.name": "Diamond Ore", + "tile.blockCoal.name": "Block of Coal", + "tile.blockDiamond.name": "Block of Diamond", + "tile.workbench.name": "Crafting Table", + "tile.crops.name": "Crops", + "tile.farmland.name": "Farmland", + "tile.furnace.name": "Furnace", + "tile.sign.name": "Sign", + "tile.doorWood.name": "Wooden Door", + "tile.ladder.name": "Ladder", + "tile.rail.name": "Rail", + "tile.goldenRail.name": "Powered Rail", + "tile.activatorRail.name": "Activator Rail", + "tile.detectorRail.name": "Detector Rail", + "tile.stairsStone.name": "Cobblestone Stairs", + "tile.stairsSandStone.name": "Sandstone Stairs", + "tile.stairsRedSandStone.name": "Red Sandstone Stairs", + "tile.lever.name": "Lever", + "tile.pressurePlateStone.name": "Stone Pressure Plate", + "tile.pressurePlateWood.name": "Wooden Pressure Plate", + "tile.weightedPlate_light.name": "Weighted Pressure Plate (Light)", + "tile.weightedPlate_heavy.name": "Weighted Pressure Plate (Heavy)", + "tile.doorIron.name": "Iron Door", + "tile.oreRedstone.name": "Redstone Ore", + "tile.notGate.name": "Redstone Torch", + "tile.button.name": "Button", + "tile.snow.name": "Snow", + "tile.woolCarpet.name": "Carpet", + "tile.woolCarpet.black.name": "Black Carpet", + "tile.woolCarpet.red.name": "Red Carpet", + "tile.woolCarpet.green.name": "Green Carpet", + "tile.woolCarpet.brown.name": "Brown Carpet", + "tile.woolCarpet.blue.name": "Blue Carpet", + "tile.woolCarpet.purple.name": "Purple Carpet", + "tile.woolCarpet.cyan.name": "Cyan Carpet", + "tile.woolCarpet.silver.name": "Light Gray Carpet", + "tile.woolCarpet.gray.name": "Gray Carpet", + "tile.woolCarpet.pink.name": "Pink Carpet", + "tile.woolCarpet.lime.name": "Lime Carpet", + "tile.woolCarpet.yellow.name": "Yellow Carpet", + "tile.woolCarpet.lightBlue.name": "Light Blue Carpet", + "tile.woolCarpet.magenta.name": "Magenta Carpet", + "tile.woolCarpet.orange.name": "Orange Carpet", + "tile.woolCarpet.white.name": "Carpet", + "tile.ice.name": "Ice", + "tile.frostedIce.name": "Frosted Ice", + "tile.icePacked.name": "Packed Ice", + "tile.cactus.name": "Cactus", + "tile.clay.name": "Clay", + "tile.clayHardenedStained.name": "Stained Clay", + "tile.clayHardenedStained.black.name": "Black Stained Clay", + "tile.clayHardenedStained.red.name": "Red Stained Clay", + "tile.clayHardenedStained.green.name": "Green Stained Clay", + "tile.clayHardenedStained.brown.name": "Brown Stained Clay", + "tile.clayHardenedStained.blue.name": "Blue Stained Clay", + "tile.clayHardenedStained.purple.name": "Purple Stained Clay", + "tile.clayHardenedStained.cyan.name": "Cyan Stained Clay", + "tile.clayHardenedStained.silver.name": "Light Gray Stained Clay", + "tile.clayHardenedStained.gray.name": "Gray Stained Clay", + "tile.clayHardenedStained.pink.name": "Pink Stained Clay", + "tile.clayHardenedStained.lime.name": "Lime Stained Clay", + "tile.clayHardenedStained.yellow.name": "Yellow Stained Clay", + "tile.clayHardenedStained.lightBlue.name": "Light Blue Stained Clay", + "tile.clayHardenedStained.magenta.name": "Magenta Stained Clay", + "tile.clayHardenedStained.orange.name": "Orange Stained Clay", + "tile.clayHardenedStained.white.name": "White Stained Clay", + "tile.clayHardened.name": "Hardened Clay", + "tile.reeds.name": "Sugar cane", + "tile.jukebox.name": "Jukebox", + "tile.fence.name": "Oak Fence", + "tile.spruceFence.name": "Spruce Fence", + "tile.birchFence.name": "Birch Fence", + "tile.jungleFence.name": "Jungle Fence", + "tile.darkOakFence.name": "Dark Oak Fence", + "tile.acaciaFence.name": "Acacia Fence", + "tile.fenceGate.name": "Oak Fence Gate", + "tile.spruceFenceGate.name": "Spruce Fence Gate", + "tile.birchFenceGate.name": "Birch Fence Gate", + "tile.jungleFenceGate.name": "Jungle Fence Gate", + "tile.darkOakFenceGate.name": "Dark Oak Fence Gate", + "tile.acaciaFenceGate.name": "Acacia Fence Gate", + "tile.pumpkinStem.name": "Pumpkin Stem", + "tile.pumpkin.name": "Pumpkin", + "tile.litpumpkin.name": "Jack o'Lantern", + "tile.hellrock.name": "Netherrack", + "tile.hellsand.name": "Soul Sand", + "tile.lightgem.name": "Glowstone", + "tile.portal.name": "Portal", + "tile.cloth.black.name": "Black Wool", + "tile.cloth.red.name": "Red Wool", + "tile.cloth.green.name": "Green Wool", + "tile.cloth.brown.name": "Brown Wool", + "tile.cloth.blue.name": "Blue Wool", + "tile.cloth.purple.name": "Purple Wool", + "tile.cloth.cyan.name": "Cyan Wool", + "tile.cloth.silver.name": "Light Gray Wool", + "tile.cloth.gray.name": "Gray Wool", + "tile.cloth.pink.name": "Pink Wool", + "tile.cloth.lime.name": "Lime Wool", + "tile.cloth.yellow.name": "Yellow Wool", + "tile.cloth.lightBlue.name": "Light Blue Wool", + "tile.cloth.magenta.name": "Magenta Wool", + "tile.cloth.orange.name": "Orange Wool", + "tile.cloth.white.name": "Wool", + "tile.oreLapis.name": "Lapis Lazuli Ore", + "tile.blockLapis.name": "Lapis Lazuli Block", + "tile.dispenser.name": "Dispenser", + "tile.dropper.name": "Dropper", + "tile.musicBlock.name": "Note Block", + "tile.cake.name": "Cake", + "tile.bed.name": "Bed", + "tile.bed.occupied": "This bed is occupied", + "tile.bed.noSleep": "You can only sleep at night", + "tile.bed.notSafe": "You may not rest now, there are monsters nearby", + "tile.bed.notValid": "Your home bed was missing or obstructed", + "tile.lockedchest.name": "Locked chest", + "tile.trapdoor.name": "Wooden Trapdoor", + "tile.ironTrapdoor.name": "Iron Trapdoor", + "tile.web.name": "Cobweb", + "tile.stonebricksmooth.name": "Stone Bricks", + "tile.stonebricksmooth.default.name": "Stone Bricks", + "tile.stonebricksmooth.mossy.name": "Mossy Stone Bricks", + "tile.stonebricksmooth.cracked.name": "Cracked Stone Bricks", + "tile.stonebricksmooth.chiseled.name": "Chiseled Stone Bricks", + "tile.monsterStoneEgg.name": "Stone Monster Egg", + "tile.monsterStoneEgg.stone.name": "Stone Monster Egg", + "tile.monsterStoneEgg.cobble.name": "Cobblestone Monster Egg", + "tile.monsterStoneEgg.brick.name": "Stone Brick Monster Egg", + "tile.monsterStoneEgg.mossybrick.name": "Mossy Stone Brick Monster Egg", + "tile.monsterStoneEgg.crackedbrick.name": "Cracked Stone Brick Monster Egg", + "tile.monsterStoneEgg.chiseledbrick.name": "Chiseled Stone Brick Monster Egg", + "tile.pistonBase.name": "Piston", + "tile.pistonStickyBase.name": "Sticky Piston", + "tile.fenceIron.name": "Iron Bars", + "tile.melon.name": "Melon", + "tile.stairsBrick.name": "Brick Stairs", + "tile.stairsStoneBrickSmooth.name": "Stone Brick Stairs", + "tile.vine.name": "Vines", + "tile.netherBrick.name": "Nether Brick", + "tile.netherFence.name": "Nether Brick Fence", + "tile.stairsNetherBrick.name": "Nether Brick Stairs", + "tile.netherStalk.name": "Nether Wart", + "tile.cauldron.name": "Cauldron", + "tile.enchantmentTable.name": "Enchantment Table", + "tile.anvil.name": "Anvil", + "tile.anvil.intact.name": "Anvil", + "tile.anvil.slightlyDamaged.name": "Slightly Damaged Anvil", + "tile.anvil.veryDamaged.name": "Very Damaged Anvil", + "tile.whiteStone.name": "End Stone", + "tile.endPortalFrame.name": "End Portal", + "tile.mycel.name": "Mycelium", + "tile.waterlily.name": "Lily Pad", + "tile.dragonEgg.name": "Dragon Egg", + "tile.redstoneLight.name": "Redstone Lamp", + "tile.cocoa.name": "Cocoa", + "tile.enderChest.name": "Ender Chest", + "tile.oreRuby.name": "Ruby Ore", + "tile.oreEmerald.name": "Emerald Ore", + "tile.blockEmerald.name": "Block of Emerald", + "tile.blockRedstone.name": "Block of Redstone", + "tile.tripWire.name": "Tripwire", + "tile.tripWireSource.name": "Tripwire Hook", + "tile.commandBlock.name": "Command Block", + "tile.repeatingCommandBlock.name": "Repeating Command Block", + "tile.chainCommandBlock.name": "Chain Command Block", + "tile.beacon.name": "Beacon", + "tile.beacon.primary": "Primary Power", + "tile.beacon.secondary": "Secondary Power", + "tile.cobbleWall.normal.name": "Cobblestone Wall", + "tile.cobbleWall.mossy.name": "Mossy Cobblestone Wall", + "tile.carrots.name": "Carrots", + "tile.potatoes.name": "Potatoes", + "tile.daylightDetector.name": "Daylight Sensor", + "tile.netherquartz.name": "Nether Quartz Ore", + "tile.hopper.name": "Hopper", + "tile.quartzBlock.name": "Block of Quartz", + "tile.quartzBlock.default.name": "Block of Quartz", + "tile.quartzBlock.chiseled.name": "Chiseled Quartz Block", + "tile.quartzBlock.lines.name": "Pillar Quartz Block", + "tile.stairsQuartz.name": "Quartz Stairs", + "tile.slime.name": "Slime Block", + "tile.prismarine.rough.name": "Prismarine", + "tile.prismarine.bricks.name": "Prismarine Bricks", + "tile.prismarine.dark.name": "Dark Prismarine", + "tile.seaLantern.name": "Sea Lantern", + "tile.endRod.name": "End Rod", + "tile.chorusPlant.name": "Chorus Plant", + "tile.chorusFlower.name": "Chorus Flower", + "tile.purpurBlock.name": "Purpur Block", + "tile.purpurPillar.name": "Purpur Pillar", + "tile.stairsPurpur.name": "Purpur Stairs", + "tile.purpurSlab.name": "Purpur Slab", + "tile.endBricks.name": "End Stone Bricks", + "tile.beetroots.name": "Beetroots", + "tile.grassPath.name": "Grass Path", + "tile.structureBlock.name": "Structure Block", + "item.nameTag.name": "Name Tag", + "item.leash.name": "Lead", + "item.shovelIron.name": "Iron Shovel", + "item.pickaxeIron.name": "Iron Pickaxe", + "item.hatchetIron.name": "Iron Axe", + "item.flintAndSteel.name": "Flint and Steel", + "item.apple.name": "Apple", + "item.cookie.name": "Cookie", + "item.bow.name": "Bow", + "item.arrow.name": "Arrow", + "item.spectral_arrow.name": "Spectral Arrow", + "item.tipped_arrow.name": "Tipped Arrow", + "item.coal.name": "Coal", + "item.charcoal.name": "Charcoal", + "item.diamond.name": "Diamond", + "item.emerald.name": "Emerald", + "item.ingotIron.name": "Iron Ingot", + "item.ingotGold.name": "Gold Ingot", + "item.swordIron.name": "Iron Sword", + "item.swordWood.name": "Wooden Sword", + "item.shovelWood.name": "Wooden Shovel", + "item.pickaxeWood.name": "Wooden Pickaxe", + "item.hatchetWood.name": "Wooden Axe", + "item.swordStone.name": "Stone Sword", + "item.shovelStone.name": "Stone Shovel", + "item.pickaxeStone.name": "Stone Pickaxe", + "item.hatchetStone.name": "Stone Axe", + "item.swordDiamond.name": "Diamond Sword", + "item.shovelDiamond.name": "Diamond Shovel", + "item.pickaxeDiamond.name": "Diamond Pickaxe", + "item.hatchetDiamond.name": "Diamond Axe", + "item.stick.name": "Stick", + "item.bowl.name": "Bowl", + "item.mushroomStew.name": "Mushroom Stew", + "item.swordGold.name": "Golden Sword", + "item.shovelGold.name": "Golden Shovel", + "item.pickaxeGold.name": "Golden Pickaxe", + "item.hatchetGold.name": "Golden Axe", + "item.string.name": "String", + "item.feather.name": "Feather", + "item.sulphur.name": "Gunpowder", + "item.hoeWood.name": "Wooden Hoe", + "item.hoeStone.name": "Stone Hoe", + "item.hoeIron.name": "Iron Hoe", + "item.hoeDiamond.name": "Diamond Hoe", + "item.hoeGold.name": "Golden Hoe", + "item.seeds.name": "Seeds", + "item.seeds_pumpkin.name": "Pumpkin Seeds", + "item.seeds_melon.name": "Melon Seeds", + "item.melon.name": "Melon", + "item.wheat.name": "Wheat", + "item.bread.name": "Bread", + "item.helmetCloth.name": "Leather Cap", + "item.chestplateCloth.name": "Leather Tunic", + "item.leggingsCloth.name": "Leather Pants", + "item.bootsCloth.name": "Leather Boots", + "item.helmetChain.name": "Chain Helmet", + "item.chestplateChain.name": "Chain Chestplate", + "item.leggingsChain.name": "Chain Leggings", + "item.bootsChain.name": "Chain Boots", + "item.helmetIron.name": "Iron Helmet", + "item.chestplateIron.name": "Iron Chestplate", + "item.leggingsIron.name": "Iron Leggings", + "item.bootsIron.name": "Iron Boots", + "item.helmetDiamond.name": "Diamond Helmet", + "item.chestplateDiamond.name": "Diamond Chestplate", + "item.leggingsDiamond.name": "Diamond Leggings", + "item.bootsDiamond.name": "Diamond Boots", + "item.helmetGold.name": "Golden Helmet", + "item.chestplateGold.name": "Golden Chestplate", + "item.leggingsGold.name": "Golden Leggings", + "item.bootsGold.name": "Golden Boots", + "item.flint.name": "Flint", + "item.porkchopRaw.name": "Raw Porkchop", + "item.porkchopCooked.name": "Cooked Porkchop", + "item.chickenRaw.name": "Raw Chicken", + "item.chickenCooked.name": "Cooked Chicken", + "item.muttonRaw.name": "Raw Mutton", + "item.muttonCooked.name": "Cooked Mutton", + "item.rabbitRaw.name": "Raw Rabbit", + "item.rabbitCooked.name": "Cooked Rabbit", + "item.rabbitStew.name": "Rabbit Stew", + "item.rabbitFoot.name": "Rabbit's Foot", + "item.rabbitHide.name": "Rabbit Hide", + "item.beefRaw.name": "Raw Beef", + "item.beefCooked.name": "Steak", + "item.painting.name": "Painting", + "item.frame.name": "Item Frame", + "item.appleGold.name": "Golden Apple", + "item.sign.name": "Sign", + "item.doorOak.name": "Oak Door", + "item.doorSpruce.name": "Spruce Door", + "item.doorBirch.name": "Birch Door", + "item.doorJungle.name": "Jungle Door", + "item.doorAcacia.name": "Acacia Door", + "item.doorDarkOak.name": "Dark Oak Door", + "item.bucket.name": "Bucket", + "item.bucketWater.name": "Water Bucket", + "item.bucketLava.name": "Lava Bucket", + "item.minecart.name": "Minecart", + "item.saddle.name": "Saddle", + "item.doorIron.name": "Iron Door", + "item.redstone.name": "Redstone", + "item.snowball.name": "Snowball", + "item.boat.oak.name": "Oak Boat", + "item.boat.spruce.name": "Spruce Boat", + "item.boat.birch.name": "Birch Boat", + "item.boat.jungle.name": "Jungle Boat", + "item.boat.acacia.name": "Acacia Boat", + "item.boat.dark_oak.name": "Dark Oak Boat", + "item.leather.name": "Leather", + "item.milk.name": "Milk", + "item.brick.name": "Brick", + "item.clay.name": "Clay", + "item.reeds.name": "Sugar Canes", + "item.paper.name": "Paper", + "item.book.name": "Book", + "item.slimeball.name": "Slimeball", + "item.minecartChest.name": "Minecart with Chest", + "item.minecartFurnace.name": "Minecart with Furnace", + "item.minecartTnt.name": "Minecart with TNT", + "item.minecartHopper.name": "Minecart with Hopper", + "item.minecartCommandBlock.name": "Minecart with Command Block", + "item.egg.name": "Egg", + "item.compass.name": "Compass", + "item.fishingRod.name": "Fishing Rod", + "item.clock.name": "Clock", + "item.yellowDust.name": "Glowstone Dust", + "item.fish.cod.raw.name": "Raw Fish", + "item.fish.salmon.raw.name": "Raw Salmon", + "item.fish.pufferfish.raw.name": "Pufferfish", + "item.fish.clownfish.raw.name": "Clownfish", + "item.fish.cod.cooked.name": "Cooked Fish", + "item.fish.salmon.cooked.name": "Cooked Salmon", + "item.record.name": "Music Disc", + "item.record.13.desc": "C418 - 13", + "item.record.cat.desc": "C418 - cat", + "item.record.blocks.desc": "C418 - blocks", + "item.record.chirp.desc": "C418 - chirp", + "item.record.far.desc": "C418 - far", + "item.record.mall.desc": "C418 - mall", + "item.record.mellohi.desc": "C418 - mellohi", + "item.record.stal.desc": "C418 - stal", + "item.record.strad.desc": "C418 - strad", + "item.record.ward.desc": "C418 - ward", + "item.record.11.desc": "C418 - 11", + "item.record.wait.desc": "C418 - wait", + "item.bone.name": "Bone", + "item.dyePowder.black.name": "Ink Sac", + "item.dyePowder.red.name": "Rose Red", + "item.dyePowder.green.name": "Cactus Green", + "item.dyePowder.brown.name": "Cocoa Beans", + "item.dyePowder.blue.name": "Lapis Lazuli", + "item.dyePowder.purple.name": "Purple Dye", + "item.dyePowder.cyan.name": "Cyan Dye", + "item.dyePowder.silver.name": "Light Gray Dye", + "item.dyePowder.gray.name": "Gray Dye", + "item.dyePowder.pink.name": "Pink Dye", + "item.dyePowder.lime.name": "Lime Dye", + "item.dyePowder.yellow.name": "Dandelion Yellow", + "item.dyePowder.lightBlue.name": "Light Blue Dye", + "item.dyePowder.magenta.name": "Magenta Dye", + "item.dyePowder.orange.name": "Orange Dye", + "item.dyePowder.white.name": "Bone Meal", + "item.sugar.name": "Sugar", + "item.cake.name": "Cake", + "item.bed.name": "Bed", + "item.diode.name": "Redstone Repeater", + "item.comparator.name": "Redstone Comparator", + "item.map.name": "Map", + "item.leaves.name": "Leaves", + "item.shears.name": "Shears", + "item.rottenFlesh.name": "Rotten Flesh", + "item.enderPearl.name": "Ender Pearl", + "item.blazeRod.name": "Blaze Rod", + "item.ghastTear.name": "Ghast Tear", + "item.netherStalkSeeds.name": "Nether Wart", + "item.potion.name": "Potion", + "item.end_crystal.name": "End Crystal", + "item.goldNugget.name": "Gold Nugget", + "item.glassBottle.name": "Glass Bottle", + "item.spiderEye.name": "Spider Eye", + "item.fermentedSpiderEye.name": "Fermented Spider Eye", + "item.blazePowder.name": "Blaze Powder", + "item.magmaCream.name": "Magma Cream", + "item.cauldron.name": "Cauldron", + "item.brewingStand.name": "Brewing Stand", + "item.eyeOfEnder.name": "Eye of Ender", + "item.speckledMelon.name": "Glistering Melon", + "item.monsterPlacer.name": "Spawn", + "item.expBottle.name": "Bottle o' Enchanting", + "item.fireball.name": "Fire Charge", + "item.writingBook.name": "Book and Quill", + "item.writtenBook.name": "Written Book", + "item.ruby.name": "Ruby", + "item.flowerPot.name": "Flower Pot", + "item.emptyMap.name": "Empty Map", + "item.carrots.name": "Carrot", + "item.carrotGolden.name": "Golden Carrot", + "item.potato.name": "Potato", + "item.potatoBaked.name": "Baked Potato", + "item.potatoPoisonous.name": "Poisonous Potato", + "item.skull.skeleton.name": "Skeleton Skull", + "item.skull.wither.name": "Wither Skeleton Skull", + "item.skull.zombie.name": "Zombie Head", + "item.skull.char.name": "Head", + "item.skull.player.name": "%s's Head", + "item.skull.creeper.name": "Creeper Head", + "item.skull.dragon.name": "Dragon Head", + "item.carrotOnAStick.name": "Carrot on a Stick", + "item.netherStar.name": "Nether Star", + "item.pumpkinPie.name": "Pumpkin Pie", + "item.enchantedBook.name": "Enchanted Book", + "item.fireworks.name": "Firework Rocket", + "item.fireworks.flight": "Flight Duration:", + "item.fireworksCharge.name": "Firework Star", + "item.fireworksCharge.black": "Black", + "item.fireworksCharge.red": "Red", + "item.fireworksCharge.green": "Green", + "item.fireworksCharge.brown": "Brown", + "item.fireworksCharge.blue": "Blue", + "item.fireworksCharge.purple": "Purple", + "item.fireworksCharge.cyan": "Cyan", + "item.fireworksCharge.silver": "Light Gray", + "item.fireworksCharge.gray": "Gray", + "item.fireworksCharge.pink": "Pink", + "item.fireworksCharge.lime": "Lime", + "item.fireworksCharge.yellow": "Yellow", + "item.fireworksCharge.lightBlue": "Light Blue", + "item.fireworksCharge.magenta": "Magenta", + "item.fireworksCharge.orange": "Orange", + "item.fireworksCharge.white": "White", + "item.fireworksCharge.customColor": "Custom", + "item.fireworksCharge.fadeTo": "Fade to", + "item.fireworksCharge.flicker": "Twinkle", + "item.fireworksCharge.trail": "Trail", + "item.fireworksCharge.type.0": "Small Ball", + "item.fireworksCharge.type.1": "Large Ball", + "item.fireworksCharge.type.2": "Star-shaped", + "item.fireworksCharge.type.3": "Creeper-shaped", + "item.fireworksCharge.type.4": "Burst", + "item.fireworksCharge.type": "Unknown Shape", + "item.netherbrick.name": "Nether Brick", + "item.netherquartz.name": "Nether Quartz", + "item.armorStand.name": "Armor Stand", + "item.horsearmormetal.name": "Iron Horse Armor", + "item.horsearmorgold.name": "Gold Horse Armor", + "item.horsearmordiamond.name": "Diamond Horse Armor", + "item.prismarineShard.name": "Prismarine Shard", + "item.prismarineCrystals.name": "Prismarine Crystals", + "item.chorusFruit.name": "Chorus Fruit", + "item.chorusFruitPopped.name": "Popped Chorus Fruit", + "item.beetroot.name": "Beetroot", + "item.beetroot_seeds.name": "Beetroot Seeds", + "item.beetroot_soup.name": "Beetroot Soup", + "item.dragon_breath.name": "Dragon's Breath", + "item.elytra.name": "Elytra", + "container.inventory": "Inventory", + "container.hopper": "Item Hopper", + "container.crafting": "Crafting", + "container.dispenser": "Dispenser", + "container.dropper": "Dropper", + "container.furnace": "Furnace", + "container.enchant": "Enchant", + "container.enchant.lapis.one": "1 Lapis Lazuli", + "container.enchant.lapis.many": "%d Lapis Lazuli", + "container.enchant.level.one": "1 Enchantment Level", + "container.enchant.level.many": "%d Enchantment Levels", + "container.enchant.clue": "%s . . . ?", + "container.repair": "Repair & Name", + "container.repair.cost": "Enchantment Cost: %1$d", + "container.repair.expensive": "Too Expensive!", + "container.creative": "Item Selection", + "container.brewing": "Brewing Stand", + "container.chest": "Chest", + "container.chestDouble": "Large Chest", + "container.enderchest": "Ender Chest", + "container.beacon": "Beacon", + "container.spectatorCantOpen": "Unable to open. Loot not generated yet.", + "container.isLocked": "%s is locked!", + "item.dyed": "Dyed", + "item.unbreakable": "Unbreakable", + "item.canBreak": "Can break:", + "item.canPlace": "Can be placed on:", + "entity.Item.name": "Item", + "entity.XPOrb.name": "Experience Orb", + "entity.SmallFireball.name": "Small Fireball", + "entity.Fireball.name": "Fireball", + "entity.DragonFireball.name": "Dragon Fireball", + "entity.ThrownPotion.name": "Potion", + "entity.Arrow.name": "Arrow", + "entity.Snowball.name": "Snowball", + "entity.Painting.name": "Painting", + "entity.ArmorStand.name": "Armor Stand", + "entity.Mob.name": "Mob", + "entity.Monster.name": "Monster", + "entity.Creeper.name": "Creeper", + "entity.Skeleton.name": "Skeleton", + "entity.Spider.name": "Spider", + "entity.Giant.name": "Giant", + "entity.Zombie.name": "Zombie", + "entity.Slime.name": "Slime", + "entity.Ghast.name": "Ghast", + "entity.PigZombie.name": "Zombie Pigman", + "entity.Enderman.name": "Enderman", + "entity.Endermite.name": "Endermite", + "entity.Silverfish.name": "Silverfish", + "entity.CaveSpider.name": "Cave Spider", + "entity.Blaze.name": "Blaze", + "entity.LavaSlime.name": "Magma Cube", + "entity.MushroomCow.name": "Mooshroom", + "entity.Villager.name": "Villager", + "entity.VillagerGolem.name": "Iron Golem", + "entity.SnowMan.name": "Snow Golem", + "entity.EnderDragon.name": "Ender Dragon", + "entity.WitherBoss.name": "Wither", + "entity.Witch.name": "Witch", + "entity.Guardian.name": "Guardian", + "entity.Shulker.name": "Shulker", + "entity.Villager.farmer": "Farmer", + "entity.Villager.fisherman": "Fisherman", + "entity.Villager.shepherd": "Shepherd", + "entity.Villager.fletcher": "Fletcher", + "entity.Villager.librarian": "Librarian", + "entity.Villager.cleric": "Cleric", + "entity.Villager.armor": "Armorer", + "entity.Villager.weapon": "Weapon Smith", + "entity.Villager.tool": "Tool Smith", + "entity.Villager.butcher": "Butcher", + "entity.Villager.leather": "Leatherworker", + "entity.Pig.name": "Pig", + "entity.Sheep.name": "Sheep", + "entity.Cow.name": "Cow", + "entity.Chicken.name": "Chicken", + "entity.Squid.name": "Squid", + "entity.Wolf.name": "Wolf", + "entity.Ozelot.name": "Ocelot", + "entity.Cat.name": "Cat", + "entity.Bat.name": "Bat", + "entity.EntityHorse.name": "Horse", + "entity.horse.name": "Horse", + "entity.donkey.name": "Donkey", + "entity.mule.name": "Mule", + "entity.skeletonhorse.name": "Skeleton Horse", + "entity.zombiehorse.name": "Zombie Horse", + "entity.Rabbit.name": "Rabbit", + "entity.KillerBunny.name": "The Killer Bunny", + "entity.PrimedTnt.name": "Block of TNT", + "entity.FallingSand.name": "Falling Block", + "entity.Minecart.name": "Minecart", + "entity.MinecartHopper.name": "Minecart with Hopper", + "entity.MinecartChest.name": "Minecart with Chest", + "entity.Boat.name": "Boat", + "entity.generic.name": "unknown", + "death.fell.accident.ladder": "%1$s fell off a ladder", + "death.fell.accident.vines": "%1$s fell off some vines", + "death.fell.accident.water": "%1$s fell out of the water", + "death.fell.accident.generic": "%1$s fell from a high place", + "death.fell.killer": "%1$s was doomed to fall", + "death.fell.assist": "%1$s was doomed to fall by %2$s", + "death.fell.assist.item": "%1$s was doomed to fall by %2$s using %3$s", + "death.fell.finish": "%1$s fell too far and was finished by %2$s", + "death.fell.finish.item": "%1$s fell too far and was finished by %2$s using %3$s", + "death.attack.lightningBolt": "%1$s was struck by lightning", + "death.attack.inFire": "%1$s went up in flames", + "death.attack.inFire.player": "%1$s walked into fire whilst fighting %2$s", + "death.attack.onFire": "%1$s burned to death", + "death.attack.onFire.player": "%1$s was burnt to a crisp whilst fighting %2$s", + "death.attack.lava": "%1$s tried to swim in lava", + "death.attack.lava.player": "%1$s tried to swim in lava to escape %2$s", + "death.attack.inWall": "%1$s suffocated in a wall", + "death.attack.drown": "%1$s drowned", + "death.attack.drown.player": "%1$s drowned whilst trying to escape %2$s", + "death.attack.starve": "%1$s starved to death", + "death.attack.cactus": "%1$s was pricked to death", + "death.attack.cactus.player": "%1$s walked into a cactus whilst trying to escape %2$s", + "death.attack.generic": "%1$s died", + "death.attack.explosion": "%1$s blew up", + "death.attack.explosion.player": "%1$s was blown up by %2$s", + "death.attack.magic": "%1$s was killed by magic", + "death.attack.wither": "%1$s withered away", + "death.attack.anvil": "%1$s was squashed by a falling anvil", + "death.attack.fallingBlock": "%1$s was squashed by a falling block", + "death.attack.mob": "%1$s was slain by %2$s", + "death.attack.player": "%1$s was slain by %2$s", + "death.attack.player.item": "%1$s was slain by %2$s using %3$s", + "death.attack.arrow": "%1$s was shot by %2$s", + "death.attack.arrow.item": "%1$s was shot by %2$s using %3$s", + "death.attack.fireball": "%1$s was fireballed by %2$s", + "death.attack.fireball.item": "%1$s was fireballed by %2$s using %3$s", + "death.attack.thrown": "%1$s was pummeled by %2$s", + "death.attack.thrown.item": "%1$s was pummeled by %2$s using %3$s", + "death.attack.indirectMagic": "%1$s was killed by %2$s using magic", + "death.attack.indirectMagic.item": "%1$s was killed by %2$s using %3$s", + "death.attack.thorns": "%1$s was killed trying to hurt %2$s", + "death.attack.fall": "%1$s hit the ground too hard", + "death.attack.outOfWorld": "%1$s fell out of the world", + "death.attack.dragonBreath": "%1$s was roasted in dragon breath", + "death.attack.flyIntoWall": "%1$s experienced kinetic energy", + "deathScreen.respawn": "Respawn", + "deathScreen.spectate": "Spectate world", + "deathScreen.deleteWorld": "Delete world", + "deathScreen.titleScreen": "Title screen", + "deathScreen.score": "Score", + "deathScreen.title.hardcore": "Game over!", + "deathScreen.title": "You died!", + "deathScreen.leaveServer": "Leave server", + "deathScreen.quit.confirm": "Are you sure you want to quit?", + "effect.none": "No Effects", + "effect.moveSpeed": "Speed", + "effect.moveSlowdown": "Slowness", + "effect.digSpeed": "Haste", + "effect.digSlowDown": "Mining Fatigue", + "effect.damageBoost": "Strength", + "effect.heal": "Instant Health", + "effect.harm": "Instant Damage", + "effect.jump": "Jump Boost", + "effect.confusion": "Nausea", + "effect.regeneration": "Regeneration", + "effect.resistance": "Resistance", + "effect.fireResistance": "Fire Resistance", + "effect.waterBreathing": "Water Breathing", + "effect.invisibility": "Invisibility", + "effect.blindness": "Blindness", + "effect.nightVision": "Night Vision", + "effect.hunger": "Hunger", + "effect.weakness": "Weakness", + "effect.poison": "Poison", + "effect.wither": "Wither", + "effect.healthBoost": "Health Boost", + "effect.absorption": "Absorption", + "effect.saturation": "Saturation", + "effect.glowing": "Glowing", + "effect.luck": "Luck", + "effect.unluck": "Bad Luck", + "effect.levitation": "Levitation", + "tipped_arrow.effect.empty": "Tipped Arrow", + "tipped_arrow.effect.water": "Arrow of Splashing", + "tipped_arrow.effect.mundane": "Tipped Arrow", + "tipped_arrow.effect.thick": "Tipped Arrow", + "tipped_arrow.effect.awkward": "Tipped Arrow", + "tipped_arrow.effect.night_vision": "Arrow of Night Vision", + "tipped_arrow.effect.invisibility": "Arrow of Invisibility", + "tipped_arrow.effect.leaping": "Arrow of Leaping", + "tipped_arrow.effect.fire_resistance": "Arrow of Fire Resistance", + "tipped_arrow.effect.swiftness": "Arrow of Swiftness", + "tipped_arrow.effect.slowness": "Arrow of Slowness", + "tipped_arrow.effect.water_breathing": "Arrow of Water Breathing", + "tipped_arrow.effect.healing": "Arrow of Healing", + "tipped_arrow.effect.harming": "Arrow of Harming", + "tipped_arrow.effect.poison": "Arrow of Poison", + "tipped_arrow.effect.regeneration": "Arrow of Regeneration", + "tipped_arrow.effect.strength": "Arrow of Strength", + "tipped_arrow.effect.weakness": "Arrow of Weakness", + "tipped_arrow.effect.levitation": "Arrow of Levitation", + "tipped_arrow.effect.luck": "Arrow of Luck", + "potion.whenDrank": "When Applied:", + "potion.effect.empty": "Uncraftable Potion", + "potion.effect.water": "Water Bottle", + "potion.effect.mundane": "Mundane Potion", + "potion.effect.thick": "Thick Potion", + "potion.effect.awkward": "Awkward Potion", + "potion.effect.night_vision": "Potion of Night Vision", + "potion.effect.invisibility": "Potion of Invisibility", + "potion.effect.leaping": "Potion of Leaping", + "potion.effect.fire_resistance": "Potion of Fire Resistance", + "potion.effect.swiftness": "Potion of Swiftness", + "potion.effect.slowness": "Potion of Slowness", + "potion.effect.water_breathing": "Potion of Water Breathing", + "potion.effect.healing": "Potion of Healing", + "potion.effect.harming": "Potion of Harming", + "potion.effect.poison": "Potion of Poison", + "potion.effect.regeneration": "Potion of Regeneration", + "potion.effect.strength": "Potion of Strength", + "potion.effect.weakness": "Potion of Weakness", + "potion.effect.levitation": "Potion of Levitation", + "potion.effect.luck": "Potion of Luck", + "splash_potion.effect.empty": "Splash Uncraftable Potion", + "splash_potion.effect.water": "Splash Water Bottle", + "splash_potion.effect.mundane": "Mundane Splash Potion", + "splash_potion.effect.thick": "Thick Splash Potion", + "splash_potion.effect.awkward": "Awkward Splash Potion", + "splash_potion.effect.night_vision": "Splash Potion of Night Vision", + "splash_potion.effect.invisibility": "Splash Potion of Invisibility", + "splash_potion.effect.leaping": "Splash Potion of Leaping", + "splash_potion.effect.fire_resistance": "Splash Potion of Fire Resistance", + "splash_potion.effect.swiftness": "Splash Potion of Swiftness", + "splash_potion.effect.slowness": "Splash Potion of Slowness", + "splash_potion.effect.water_breathing": "Splash Potion of Water Breathing", + "splash_potion.effect.healing": "Splash Potion of Healing", + "splash_potion.effect.harming": "Splash Potion of Harming", + "splash_potion.effect.poison": "Splash Potion of Poison", + "splash_potion.effect.regeneration": "Splash Potion of Regeneration", + "splash_potion.effect.strength": "Splash Potion of Strength", + "splash_potion.effect.weakness": "Splash Potion of Weakness", + "splash_potion.effect.levitation": "Splash Potion of Levitation", + "splash_potion.effect.luck": "Splash Potion of Luck", + "lingering_potion.effect.empty": "Lingering Uncraftable Potion", + "lingering_potion.effect.water": "Lingering Water Bottle", + "lingering_potion.effect.mundane": "Mundane Lingering Potion", + "lingering_potion.effect.thick": "Thick Lingering Potion", + "lingering_potion.effect.awkward": "Awkward Lingering Potion", + "lingering_potion.effect.night_vision": "Lingering Potion of Night Vision", + "lingering_potion.effect.invisibility": "Lingering Potion of Invisibility", + "lingering_potion.effect.leaping": "Lingering Potion of Leaping", + "lingering_potion.effect.fire_resistance": "Lingering Potion of Fire Resistance", + "lingering_potion.effect.swiftness": "Lingering Potion of Swiftness", + "lingering_potion.effect.slowness": "Lingering Potion of Slowness", + "lingering_potion.effect.water_breathing": "Lingering Potion of Water Breathing", + "lingering_potion.effect.healing": "Lingering Potion of Healing", + "lingering_potion.effect.harming": "Lingering Potion of Harming", + "lingering_potion.effect.poison": "Lingering Potion of Poison", + "lingering_potion.effect.regeneration": "Lingering Potion of Regeneration", + "lingering_potion.effect.strength": "Lingering Potion of Strength", + "lingering_potion.effect.weakness": "Lingering Potion of Weakness", + "lingering_potion.effect.levitation": "Lingering Potion of Levitation", + "lingering_potion.effect.luck": "Lingering Potion of Luck", + "potion.potency.1": "II", + "potion.potency.2": "III", + "enchantment.damage.all": "Sharpness", + "enchantment.damage.undead": "Smite", + "enchantment.damage.arthropods": "Bane of Arthropods", + "enchantment.knockback": "Knockback", + "enchantment.fire": "Fire Aspect", + "enchantment.protect.all": "Protection", + "enchantment.protect.fire": "Fire Protection", + "enchantment.protect.fall": "Feather Falling", + "enchantment.protect.explosion": "Blast Protection", + "enchantment.protect.projectile": "Projectile Protection", + "enchantment.oxygen": "Respiration", + "enchantment.waterWorker": "Aqua Affinity", + "enchantment.waterWalker": "Depth Strider", + "enchantment.frostWalker": "Frost Walker", + "enchantment.digging": "Efficiency", + "enchantment.untouching": "Silk Touch", + "enchantment.durability": "Unbreaking", + "enchantment.lootBonus": "Looting", + "enchantment.lootBonusDigger": "Fortune", + "enchantment.lootBonusFishing": "Luck of the Sea", + "enchantment.fishingSpeed": "Lure", + "enchantment.arrowDamage": "Power", + "enchantment.arrowFire": "Flame", + "enchantment.arrowKnockback": "Punch", + "enchantment.arrowInfinite": "Infinity", + "enchantment.thorns": "Thorns", + "enchantment.mending": "Mending", + "enchantment.level.1": "I", + "enchantment.level.2": "II", + "enchantment.level.3": "III", + "enchantment.level.4": "IV", + "enchantment.level.5": "V", + "enchantment.level.6": "VI", + "enchantment.level.7": "VII", + "enchantment.level.8": "VIII", + "enchantment.level.9": "IX", + "enchantment.level.10": "X", + "gui.achievements": "Achievements", + "gui.stats": "Statistics", + "stats.tooltip.type.achievement": "Achievement", + "stats.tooltip.type.statistic": "Statistic", + "stat.generalButton": "General", + "stat.blocksButton": "Blocks", + "stat.itemsButton": "Items", + "stat.mobsButton": "Mobs", + "stat.used": "Times Used", + "stat.mined": "Times Mined", + "stat.depleted": "Times Depleted", + "stat.crafted": "Times Crafted", + "stat.entityKills": "You killed %d %s", + "stat.entityKilledBy": "%s killed you %d time(s)", + "stat.entityKills.none": "You have never killed %s", + "stat.entityKilledBy.none": "You have never been killed by %s", + "stat.startGame": "Times played", + "stat.createWorld": "Worlds created", + "stat.loadWorld": "Saves loaded", + "stat.joinMultiplayer": "Multiplayer joins", + "stat.leaveGame": "Games quit", + "stat.playOneMinute": "Minutes Played", + "stat.timeSinceDeath": "Since Last Death", + "stat.sneakTime": "Sneak Time", + "stat.walkOneCm": "Distance Walked", + "stat.crouchOneCm": "Distance Crouched", + "stat.sprintOneCm": "Distance Sprinted", + "stat.fallOneCm": "Distance Fallen", + "stat.swimOneCm": "Distance Swum", + "stat.flyOneCm": "Distance Flown", + "stat.climbOneCm": "Distance Climbed", + "stat.diveOneCm": "Distance Dove", + "stat.minecartOneCm": "Distance by Minecart", + "stat.boatOneCm": "Distance by Boat", + "stat.pigOneCm": "Distance by Pig", + "stat.horseOneCm": "Distance by Horse", + "stat.aviateOneCm": "Distance by Elytra", + "stat.jump": "Jumps", + "stat.drop": "Items Dropped", + "stat.dropped": "Dropped", + "stat.pickup": "Picked Up", + "stat.damageDealt": "Damage Dealt", + "stat.damageTaken": "Damage Taken", + "stat.deaths": "Number of Deaths", + "stat.mobKills": "Mob Kills", + "stat.animalsBred": "Animals Bred", + "stat.playerKills": "Player Kills", + "stat.fishCaught": "Fish Caught", + "stat.treasureFished": "Treasure Fished", + "stat.junkFished": "Junk Fished", + "stat.talkedToVillager": "Talked to Villagers", + "stat.tradedWithVillager": "Traded with Villagers", + "stat.cakeSlicesEaten": "Cake Slices Eaten", + "stat.cauldronFilled": "Cauldrons Filled", + "stat.cauldronUsed": "Water Taken from Cauldron", + "stat.armorCleaned": "Armor Pieces Cleaned", + "stat.bannerCleaned": "Banners Cleaned", + "stat.brewingstandInteraction": "Interactions with Brewing Stand", + "stat.beaconInteraction": "Interactions with Beacon", + "stat.dropperInspected": "Droppers Searched", + "stat.hopperInspected": "Hoppers Searched", + "stat.dispenserInspected": "Dispensers Searched", + "stat.noteblockPlayed": "Noteblocks played", + "stat.noteblockTuned": "Noteblocks tuned", + "stat.flowerPotted": "Plants potted", + "stat.trappedChestTriggered": "Trapped Chests Triggered", + "stat.enderchestOpened": "Ender Chests Opened", + "stat.itemEnchanted": "Items Enchanted", + "stat.recordPlayed": "Records Played", + "stat.furnaceInteraction": "Interactions with Furnace", + "stat.workbenchInteraction": "Interactions with Crafting Table", + "stat.chestOpened": "Chests Opened", + "stat.sleepInBed": "Times Slept in a Bed", + "stat.mineBlock": "%1$s Mined", + "stat.craftItem": "%1$s Crafted", + "stat.useItem": "%1$s Used", + "stat.breakItem": "%1$s Depleted", + "achievement.get": "Achievement get!", + "achievement.taken": "Taken!", + "achievement.unknown": "???", + "achievement.requires": "Requires '%1$s'", + "achievement.openInventory": "Taking Inventory", + "achievement.openInventory.desc": "Press '%1$s' to open your inventory.", + "achievement.mineWood": "Getting Wood", + "achievement.mineWood.desc": "Attack a tree until a block of wood pops out", + "achievement.buildWorkBench": "Benchmarking", + "achievement.buildWorkBench.desc": "Craft a workbench with four blocks of planks", + "achievement.buildPickaxe": "Time to Mine!", + "achievement.buildPickaxe.desc": "Use planks and sticks to make a pickaxe", + "achievement.buildFurnace": "Hot Topic", + "achievement.buildFurnace.desc": "Construct a furnace out of eight stone blocks", + "achievement.acquireIron": "Acquire Hardware", + "achievement.acquireIron.desc": "Smelt an iron ingot", + "achievement.buildHoe": "Time to Farm!", + "achievement.buildHoe.desc": "Use planks and sticks to make a hoe", + "achievement.makeBread": "Bake Bread", + "achievement.makeBread.desc": "Turn wheat into bread", + "achievement.bakeCake": "The Lie", + "achievement.bakeCake.desc": "Wheat, sugar, milk and eggs!", + "achievement.buildBetterPickaxe": "Getting an Upgrade", + "achievement.buildBetterPickaxe.desc": "Construct a better pickaxe", + "achievement.overpowered": "Overpowered", + "achievement.overpowered.desc": "Eat a Notch apple", + "achievement.cookFish": "Delicious Fish", + "achievement.cookFish.desc": "Catch and cook fish!", + "achievement.onARail": "On A Rail", + "achievement.onARail.desc": "Travel by minecart at least 1 km from where you started", + "achievement.buildSword": "Time to Strike!", + "achievement.buildSword.desc": "Use planks and sticks to make a sword", + "achievement.killEnemy": "Monster Hunter", + "achievement.killEnemy.desc": "Attack and destroy a monster", + "achievement.killCow": "Cow Tipper", + "achievement.killCow.desc": "Harvest some leather", + "achievement.breedCow": "Repopulation", + "achievement.breedCow.desc": "Breed two cows with wheat", + "achievement.flyPig": "When Pigs Fly", + "achievement.flyPig.desc": "Fly a pig off a cliff", + "achievement.snipeSkeleton": "Sniper Duel", + "achievement.snipeSkeleton.desc": "Kill a skeleton with an arrow from more than 50 meters", + "achievement.diamonds": "DIAMONDS!", + "achievement.diamonds.desc": "Acquire diamonds with your iron tools", + "achievement.diamondsToYou": "Diamonds to you!", + "achievement.diamondsToYou.desc": "Throw diamonds at another player.", + "achievement.portal": "We Need to Go Deeper", + "achievement.portal.desc": "Build a portal to the Nether", + "achievement.ghast": "Return to Sender", + "achievement.ghast.desc": "Destroy a Ghast with a fireball", + "achievement.blazeRod": "Into Fire", + "achievement.blazeRod.desc": "Relieve a Blaze of its rod", + "achievement.potion": "Local Brewery", + "achievement.potion.desc": "Brew a potion", + "achievement.theEnd": "The End?", + "achievement.theEnd.desc": "Locate the End", + "achievement.theEnd2": "The End.", + "achievement.theEnd2.desc": "Defeat the Ender Dragon", + "achievement.spawnWither": "The Beginning?", + "achievement.spawnWither.desc": "Spawn the Wither", + "achievement.killWither": "The Beginning.", + "achievement.killWither.desc": "Kill the Wither", + "achievement.fullBeacon": "Beaconator", + "achievement.fullBeacon.desc": "Create a full beacon", + "achievement.exploreAllBiomes": "Adventuring Time", + "achievement.exploreAllBiomes.desc": "Discover all biomes", + "achievement.enchantments": "Enchanter", + "achievement.enchantments.desc": "Use a book, obsidian and diamonds to construct an enchantment table", + "achievement.overkill": "Overkill", + "achievement.overkill.desc": "Deal nine hearts of damage in a single hit", + "achievement.bookcase": "Librarian", + "achievement.bookcase.desc": "Build some bookshelves to improve your enchantment table", + "commands.generic.exception": "An unknown error occurred while attempting to perform this command", + "commands.generic.permission": "You do not have permission to use this command", + "commands.generic.syntax": "Invalid command syntax", + "commands.generic.player.notFound": "That player cannot be found", + "commands.generic.entity.notFound": "That entity cannot be found", + "commands.generic.entity.invalidUuid": "The entity UUID provided is in an invalid format", + "commands.generic.entity.invalidType": "Entity type '%s' is invalid", + "commands.generic.notFound": "Unknown command. Try /help for a list of commands", + "commands.generic.parameter.invalid": "'%s' is not a valid parameter", + "commands.generic.num.invalid": "'%s' is not a valid number", + "commands.generic.boolean.invalid": "'%s' is not true or false", + "commands.generic.num.tooSmall": "The number you have entered (%d) is too small, it must be at least %d", + "commands.generic.num.tooBig": "The number you have entered (%d) is too big, it must be at most %d", + "commands.generic.double.tooSmall": "The number you have entered (%.2f) is too small, it must be at least %.2f", + "commands.generic.double.tooBig": "The number you have entered (%.2f) is too big, it must be at most %.2f", + "commands.generic.usage": "Usage: %s", + "commands.setidletimeout.usage": "/setidletimeout ", + "commands.setidletimeout.success": "Successfully set the idle timeout to %d minutes.", + "commands.xp.failure.widthdrawXp": "Cannot give player negative experience points", + "commands.xp.success": "Given %d experience to %s", + "commands.xp.success.levels": "Given %d levels to %s", + "commands.xp.success.negative.levels": "Taken %d levels from %s", + "commands.xp.usage": "/xp [player] OR /xp L [player]", + "commands.playsound.usage": "/playsound [x] [y] [z] [volume] [pitch] [minimumVolume]", + "commands.playsound.success": "Played sound '%s' to %s", + "commands.playsound.playerTooFar": "Player %s is too far away to hear the sound", + "commands.playsound.unknownSoundSource": "Source %s is unknown", + "commands.give.usage": "/give [amount] [data] [dataTag]", + "commands.give.item.notFound": "There is no such item with name %d", + "commands.give.block.notFound": "There is no such block with name %d", + "commands.give.success": "Given %s * %d to %s", + "commands.give.tagError": "Data tag parsing failed: %s", + "commands.replaceitem.usage": "/replaceitem ...", + "commands.replaceitem.entity.usage": "/replaceitem entity [amount] [data] [dataTag]", + "commands.replaceitem.block.usage": "/replaceitem block [amount] [data] [dataTag]", + "commands.replaceitem.tagError": "Data tag parsing failed: %s", + "commands.replaceitem.noContainer": "Block at %d, %d, %d is not a container", + "commands.replaceitem.failed": "Could not replace slot %d with %d * %s", + "commands.replaceitem.success": "Replaced slot %d with %d * %s", + "commands.stats.usage": "/stats ...", + "commands.stats.entity.usage": "/stats entity ", + "commands.stats.entity.set.usage": "/stats entity set ", + "commands.stats.entity.clear.usage": "/stats entity clear ", + "commands.stats.block.usage": "/stats block ...", + "commands.stats.block.set.usage": "/stats block set ", + "commands.stats.block.clear.usage": "/stats block clear ", + "commands.stats.noCompatibleBlock": "Block at %d, %d, %d can not track stats", + "commands.stats.failed": "Invalid parameters", + "commands.stats.cleared": "Cleared %s stats", + "commands.stats.success": "Storing %s stats in %s on %s", + "commands.summon.usage": "/summon [x] [y] [z] [dataTag]", + "commands.summon.success": "Object successfully summoned", + "commands.summon.failed": "Unable to summon object", + "commands.summon.tagError": "Data tag parsing failed: %s", + "commands.summon.outOfWorld": "Cannot summon the object out of the world", + "commands.testforblock.usage": "/testforblock [dataValue] [dataTag]", + "commands.testforblock.failed.tile": "The block at %d,%d,%d is %s (expected: %s).", + "commands.testforblock.failed.data": "The block at %d,%d,%d had the data value of %s (expected: %s).", + "commands.testforblock.failed.nbt": "The block at %d,%d,%d did not have the required NBT keys.", + "commands.testforblock.failed.tileEntity": "The block at %d,%d,%d is not a tile entity and cannot support tag matching.", + "commands.testforblock.success": "Successfully found the block at %d,%d,%d.", + "commands.testforblock.outOfWorld": "Cannot test for block outside of the world", + "commands.setblock.usage": "/setblock [dataValue] [oldBlockHandling] [dataTag]", + "commands.setblock.success": "Block placed", + "commands.setblock.failed": "Unable to place block", + "commands.setblock.tagError": "Data tag parsing failed: %s", + "commands.setblock.outOfWorld": "Cannot place block outside of the world", + "commands.setblock.notFound": "There is no such block with ID/name %s", + "commands.setblock.noChange": "The block couldn't be placed", + "commands.fill.usage": "/fill [dataValue] [oldBlockHandling] [dataTag]", + "commands.fill.outOfWorld": "Cannot place blocks outside of the world", + "commands.fill.tagError": "Data tag parsing failed: %s", + "commands.fill.success": "%d blocks filled", + "commands.fill.failed": "No blocks filled", + "commands.fill.tooManyBlocks": "Too many blocks in the specified area (%d > %d)", + "commands.clone.usage": "/clone [maskMode] [cloneMode]", + "commands.clone.outOfWorld": "Cannot access blocks outside of the world", + "commands.clone.noOverlap": "Source and destination can not overlap", + "commands.clone.success": "%d blocks cloned", + "commands.clone.failed": "No blocks cloned", + "commands.clone.tooManyBlocks": "Too many blocks in the specified area (%d > %d)", + "commands.compare.usage": "/testforblocks [mode]", + "commands.compare.outOfWorld": "Cannot access blocks outside of the world", + "commands.compare.failed": "Source and destination are not identical", + "commands.compare.success": "%d blocks compared", + "commands.compare.tooManyBlocks": "Too many blocks in the specified area (%d > %d)", + "commands.blockdata.usage": "/blockdata ", + "commands.blockdata.success": "Block data updated to: %s", + "commands.blockdata.tagError": "Data tag parsing failed: %s", + "commands.blockdata.outOfWorld": "Cannot change block outside of the world", + "commands.blockdata.notValid": "The target block is not a data holder block", + "commands.blockdata.failed": "The data tag did not change: %s", + "commands.entitydata.usage": "/entitydata ", + "commands.entitydata.success": "Entity data updated to: %s", + "commands.entitydata.tagError": "Data tag parsing failed: %s", + "commands.entitydata.noPlayers": "%s is a player and cannot be changed", + "commands.entitydata.failed": "The data tag did not change: %s", + "commands.effect.usage": "/effect [seconds] [amplifier] [hideParticles] OR /effect clear", + "commands.effect.notFound": "There is no such mob effect with ID %d", + "commands.effect.success": "Given %1$s (ID %2$d) * %3$d to %4$s for %5$d seconds", + "commands.effect.success.removed": "Took %1$s from %2$s", + "commands.effect.success.removed.all": "Took all effects from %s", + "commands.effect.failure.notActive": "Couldn't take %1$s from %2$s as they do not have the effect", + "commands.effect.failure.notActive.all": "Couldn't take any effects from %s as they do not have any", + "commands.enchant.usage": "/enchant [level]", + "commands.enchant.notFound": "There is no such enchantment with ID %d", + "commands.enchant.noItem": "The target doesn't hold an item", + "commands.enchant.cantEnchant": "The selected enchantment can't be added to the target item", + "commands.enchant.cantCombine": "%1$s can't be combined with %2$s", + "commands.enchant.success": "Enchanting succeeded", + "commands.particle.usage": "/particle [count] [mode] [player] [params]", + "commands.particle.success": "Playing effect %s for %d times", + "commands.particle.notFound": "Unknown effect name (%s)", + "commands.particle.invalidParam": "Invalid param given (%s)", + "commands.clear.usage": "/clear [player] [item] [data] [maxCount] [dataTag]", + "commands.clear.success": "Cleared the inventory of %s, removing %d items", + "commands.clear.testing": "%s has %d items that match the criteria", + "commands.clear.failure": "Could not clear the inventory of %s, no items to remove", + "commands.clear.tagError": "Data tag parsing failed: %s", + "commands.downfall.usage": "/toggledownfall", + "commands.downfall.success": "Toggled downfall", + "commands.time.usage": "/time ", + "commands.time.added": "Added %d to the time", + "commands.time.set": "Set the time to %d", + "commands.time.query": "Time is %d", + "commands.players.usage": "/list", + "commands.players.list": "There are %d/%d players online:", + "commands.banlist.ips": "There are %d total banned IP addresses:", + "commands.banlist.players": "There are %d total banned players:", + "commands.banlist.usage": "/banlist [ips|players]", + "commands.kill.usage": "/kill [player|entity]", + "commands.kill.successful": "Killed %s", + "commands.kick.success": "Kicked %s from the game", + "commands.kick.success.reason": "Kicked %s from the game: '%s'", + "commands.kick.usage": "/kick [reason ...]", + "commands.op.success": "Opped %s", + "commands.op.failed": "Could not op %s", + "commands.op.usage": "/op ", + "commands.deop.success": "De-opped %s", + "commands.deop.failed": "Could not de-op %s", + "commands.deop.usage": "/deop ", + "commands.say.usage": "/say ", + "commands.ban.success": "Banned player %s", + "commands.ban.failed": "Could not ban player %s", + "commands.ban.usage": "/ban [reason ...]", + "commands.unban.success": "Unbanned player %s", + "commands.unban.failed": "Could not unban player %s", + "commands.unban.usage": "/pardon ", + "commands.banip.invalid": "You have entered an invalid IP address or a player that is not online", + "commands.banip.success": "Banned IP address %s", + "commands.banip.success.players": "Banned IP address %s belonging to %s", + "commands.banip.usage": "/ban-ip [reason ...]", + "commands.unbanip.invalid": "You have entered an invalid IP address", + "commands.unbanip.success": "Unbanned IP address %s", + "commands.unbanip.usage": "/pardon-ip
", + "commands.save.usage": "/save-all", + "commands.save-on.alreadyOn": "Saving is already turned on.", + "commands.save-on.usage": "/save-on", + "commands.save-off.alreadyOff": "Saving is already turned off.", + "commands.save-off.usage": "/save-off", + "commands.save.enabled": "Turned on world auto-saving", + "commands.save.disabled": "Turned off world auto-saving", + "commands.save.start": "Saving...", + "commands.save.success": "Saved the world", + "commands.save.failed": "Saving failed: %s", + "commands.stop.usage": "/stop", + "commands.stop.start": "Stopping the server", + "commands.tp.success": "Teleported %s to %s", + "commands.tp.success.coordinates": "Teleported %s to %s, %s, %s", + "commands.tp.usage": "/tp [target player] OR /tp [target player] [ ]", + "commands.tp.notSameDimension": "Unable to teleport because players are not in the same dimension", + "commands.whitelist.list": "There are %d (out of %d seen) whitelisted players:", + "commands.whitelist.enabled": "Turned on the whitelist", + "commands.whitelist.disabled": "Turned off the whitelist", + "commands.whitelist.reloaded": "Reloaded the whitelist", + "commands.whitelist.add.success": "Added %s to the whitelist", + "commands.whitelist.add.failed": "Could not add %s to the whitelist", + "commands.whitelist.add.usage": "/whitelist add ", + "commands.whitelist.remove.success": "Removed %s from the whitelist", + "commands.whitelist.remove.failed": "Could not remove %s from the whitelist", + "commands.whitelist.remove.usage": "/whitelist remove ", + "commands.whitelist.usage": "/whitelist ", + "commands.scoreboard.usage": "/scoreboard ...", + "commands.scoreboard.noMultiWildcard": "Only one user wildcard allowed", + "commands.scoreboard.allMatchesFailed": "All matches failed", + "commands.scoreboard.teamNotFound": "No team was found by the name '%s'", + "commands.scoreboard.objectiveNotFound": "No objective was found by the name '%s'", + "commands.scoreboard.objectiveReadOnly": "The objective '%s' is read-only and cannot be set", + "commands.scoreboard.objectives.usage": "/scoreboard objectives ...", + "commands.scoreboard.objectives.setdisplay.usage": "/scoreboard objectives setdisplay [objective]", + "commands.scoreboard.objectives.setdisplay.invalidSlot": "No such display slot '%s'", + "commands.scoreboard.objectives.setdisplay.successCleared": "Cleared objective display slot '%s'", + "commands.scoreboard.objectives.setdisplay.successSet": "Set the display objective in slot '%s' to '%s'", + "commands.scoreboard.objectives.add.usage": "/scoreboard objectives add [display name ...]", + "commands.scoreboard.objectives.add.wrongType": "Invalid objective criteria type '%s'", + "commands.scoreboard.objectives.add.alreadyExists": "An objective with the name '%s' already exists", + "commands.scoreboard.objectives.add.tooLong": "The name '%s' is too long for an objective, it can be at most %d characters long", + "commands.scoreboard.objectives.add.displayTooLong": "The display name '%s' is too long for an objective, it can be at most %d characters long", + "commands.scoreboard.objectives.add.success": "Added new objective '%s' successfully", + "commands.scoreboard.objectives.remove.usage": "/scoreboard objectives remove ", + "commands.scoreboard.objectives.remove.success": "Removed objective '%s' successfully", + "commands.scoreboard.objectives.list.count": "Showing %d objective(s) on scoreboard:", + "commands.scoreboard.objectives.list.entry": "- %s: displays as '%s' and is type '%s'", + "commands.scoreboard.objectives.list.empty": "There are no objectives on the scoreboard", + "commands.scoreboard.players.usage": "/scoreboard players ...", + "commands.scoreboard.players.name.tooLong": "The name '%s' is too long for a player, it can be at most %d characters long", + "commands.scoreboard.players.set.success": "Set score of %s for player %s to %d", + "commands.scoreboard.players.set.tagMismatch": "The dataTag does not match for %s", + "commands.scoreboard.players.set.tagError": "Could not parse dataTag, reason: %s", + "commands.scoreboard.players.set.usage": "/scoreboard players set [dataTag]", + "commands.scoreboard.players.add.usage": "/scoreboard players add [dataTag]", + "commands.scoreboard.players.remove.usage": "/scoreboard players remove [dataTag]", + "commands.scoreboard.players.reset.usage": "/scoreboard players reset [objective]", + "commands.scoreboard.players.reset.success": "Reset scores of player %s", + "commands.scoreboard.players.resetscore.success": "Reset score %s of player %s", + "commands.scoreboard.players.list.usage": "/scoreboard players list [name]", + "commands.scoreboard.players.list.count": "Showing %d tracked players on the scoreboard:", + "commands.scoreboard.players.list.empty": "There are no tracked players on the scoreboard", + "commands.scoreboard.players.list.player.count": "Showing %d tracked objective(s) for %s:", + "commands.scoreboard.players.list.player.entry": "- %2$s: %1$d (%3$s)", + "commands.scoreboard.players.list.player.empty": "Player %s has no scores recorded", + "commands.scoreboard.players.enable.usage": "/scoreboard players enable ", + "commands.scoreboard.players.enable.success": "Enabled trigger %s for %s", + "commands.scoreboard.players.enable.noTrigger": "Objective %s is not a trigger", + "commands.scoreboard.players.test.usage": "/scoreboard players test ", + "commands.scoreboard.players.test.notFound": "No %s score for %s found", + "commands.scoreboard.players.test.failed": "Score %d is NOT in range %d to %d", + "commands.scoreboard.players.test.success": "Score %d is in range %d to %d", + "commands.scoreboard.players.operation.usage": "/scoreboard players operation ", + "commands.scoreboard.players.operation.notFound": "No %s score for %s found", + "commands.scoreboard.players.operation.invalidOperation": "Invalid operation %s", + "commands.scoreboard.players.operation.success": "Operation applied successfully", + "commands.scoreboard.players.tag.usage": "/scoreboard players tag [dataTag]", + "commands.scoreboard.players.tag.tagMismatch": "The dataTag does not match for %s", + "commands.scoreboard.players.tag.tooMany": "Can't add more than %d tags to an entity", + "commands.scoreboard.players.tag.notFound": "Entity didn't have the %s tag", + "commands.scoreboard.players.tag.success.add": "Tag %s added", + "commands.scoreboard.players.tag.success.remove": "Tag %s removed", + "commands.scoreboard.players.tag.list": "Tags on entity %s are:", + "commands.scoreboard.teams.usage": "/scoreboard teams ...", + "commands.scoreboard.teams.add.usage": "/scoreboard teams add [display name ...]", + "commands.scoreboard.teams.add.alreadyExists": "A team with the name '%s' already exists", + "commands.scoreboard.teams.add.tooLong": "The name '%s' is too long for a team, it can be at most %d characters long", + "commands.scoreboard.teams.add.displayTooLong": "The display name '%s' is too long for a team, it can be at most %d characters long", + "commands.scoreboard.teams.add.success": "Added new team '%s' successfully", + "commands.scoreboard.teams.list.usage": "/scoreboard teams list [name]", + "commands.scoreboard.teams.list.count": "Showing %d teams on the scoreboard:", + "commands.scoreboard.teams.list.entry": "- %1$s: '%2$s' has %3$d players", + "commands.scoreboard.teams.list.empty": "There are no teams registered on the scoreboard", + "commands.scoreboard.teams.list.player.count": "Showing %d player(s) in team %s:", + "commands.scoreboard.teams.list.player.entry": "- %2$s: %1$d (%3$s)", + "commands.scoreboard.teams.list.player.empty": "Team %s has no players", + "commands.scoreboard.teams.empty.usage": "/scoreboard teams empty ", + "commands.scoreboard.teams.empty.alreadyEmpty": "Team %s is already empty, cannot remove nonexistant players", + "commands.scoreboard.teams.empty.success": "Removed all %d player(s) from team %s", + "commands.scoreboard.teams.remove.usage": "/scoreboard teams remove ", + "commands.scoreboard.teams.remove.success": "Removed team %s", + "commands.scoreboard.teams.join.usage": "/scoreboard teams join [player]", + "commands.scoreboard.teams.join.success": "Added %d player(s) to team %s: %s", + "commands.scoreboard.teams.join.failure": "Could not add %d player(s) to team %s: %s", + "commands.scoreboard.teams.leave.usage": "/scoreboard teams leave [player]", + "commands.scoreboard.teams.leave.success": "Removed %d player(s) from their teams: %s", + "commands.scoreboard.teams.leave.failure": "Could not remove %d player(s) from their teams: %s", + "commands.scoreboard.teams.leave.noTeam": "You are not in a team", + "commands.scoreboard.teams.option.usage": "/scoreboard teams option ", + "commands.scoreboard.teams.option.noValue": "Valid values for option %s are: %s", + "commands.scoreboard.teams.option.success": "Set option %s for team %s to %s", + "commands.execute.usage": "/execute OR /execute detect ", + "commands.execute.allInvocationsFailed": "All invocations failed: '%s'", + "commands.execute.failed": "Failed to execute '%s' as %s", + "commands.gamemode.success.self": "Set own game mode to %s", + "commands.gamemode.success.other": "Set %s's game mode to %s", + "commands.gamemode.usage": "/gamemode [player]", + "commands.defaultgamemode.usage": "/defaultgamemode ", + "commands.defaultgamemode.success": "The world's default game mode is now %s", + "commands.me.usage": "/me ", + "commands.help.header": "--- Showing help page %d of %d (/help ) ---", + "commands.help.footer": "Tip: Use the key while typing a command to auto-complete the command or its arguments", + "commands.help.usage": "/help [page|command name]", + "commands.trigger.usage": "/trigger ", + "commands.trigger.invalidObjective": "Invalid trigger name %s", + "commands.trigger.invalidMode": "Invalid trigger mode %s", + "commands.trigger.disabled": "Trigger %s is not enabled", + "commands.trigger.invalidPlayer": "Only players can use the /trigger command", + "commands.trigger.success": "Trigger %s changed with %s %s", + "commands.publish.usage": "/publish", + "commands.publish.started": "Local game hosted on port %s", + "commands.publish.failed": "Unable to host local game", + "commands.debug.start": "Started debug profiling", + "commands.debug.stop": "Stopped debug profiling after %.2f seconds (%d ticks)", + "commands.debug.notStarted": "Can't stop profiling when we haven't started yet!", + "commands.debug.usage": "/debug ", + "commands.chunkinfo.usage": "/chunkinfo [ ]", + "commands.chunkinfo.location": "Chunk location: (%d, %d, %d)", + "commands.chunkinfo.noChunk": "No chunk found at chunk position %d, %d, %d", + "commands.chunkinfo.notEmpty": "Chunk is not empty.", + "commands.chunkinfo.empty": "Chunk is empty.", + "commands.chunkinfo.notCompiled": "Chunk is not compiled.", + "commands.chunkinfo.compiled": "Chunk is compiled.", + "commands.chunkinfo.hasNoRenderableLayers": "Chunk has no renderable layers.", + "commands.chunkinfo.hasLayers": "Chunk has layers: %s", + "commands.chunkinfo.isEmpty": "Chunk has empty layers: %s", + "commands.chunkinfo.vertices": "%s layer's buffer contains %d vertices", + "commands.chunkinfo.data": "First 64 vertices are: %s", + "commands.tellraw.usage": "/tellraw ", + "commands.tellraw.jsonException": "Invalid json: %s", + "commands.message.usage": "/tell ", + "commands.message.sameTarget": "You can't send a private message to yourself!", + "commands.message.display.outgoing": "You whisper to %s: %s", + "commands.message.display.incoming": "%s whispers to you: %s", + "commands.difficulty.usage": "/difficulty ", + "commands.difficulty.success": "Set game difficulty to %s", + "commands.spawnpoint.usage": "/spawnpoint [player] [ ]", + "commands.spawnpoint.success": "Set %s's spawn point to (%d, %d, %d)", + "commands.setworldspawn.usage": "/setworldspawn [ ]", + "commands.setworldspawn.success": "Set the world spawn point to (%d, %d, %d)", + "commands.gamerule.usage": "/gamerule [value]", + "commands.gamerule.success": "Game rule %s has been updated to %s", + "commands.gamerule.norule": "No game rule called '%s' is available", + "commands.gamerule.nopermission": "Only server owners can change '%s'", + "commands.weather.usage": "/weather [duration in seconds]", + "commands.weather.clear": "Changing to clear weather", + "commands.weather.rain": "Changing to rainy weather", + "commands.weather.thunder": "Changing to rain and thunder", + "commands.testfor.usage": "/testfor [dataTag]", + "commands.testfor.failure": "%s did not match the required data structure", + "commands.testfor.success": "Found %s", + "commands.testfor.tagError": "Data tag parsing failed: %s", + "commands.seed.usage": "/seed", + "commands.seed.success": "Seed: %s", + "commands.spreadplayers.usage": "/spreadplayers ", + "commands.spreadplayers.spreading.teams": "Spreading %s teams %s blocks around %s,%s (min %s blocks apart)", + "commands.spreadplayers.spreading.players": "Spreading %s players %s blocks around %s,%s (min %s blocks apart)", + "commands.spreadplayers.success.teams": "Successfully spread %s teams around %s,%s", + "commands.spreadplayers.success.players": "Successfully spread %s players around %s,%s", + "commands.spreadplayers.info.teams": "(Average distance between teams is %s blocks apart after %s iterations)", + "commands.spreadplayers.info.players": "(Average distance between players is %s blocks apart after %s iterations)", + "commands.spreadplayers.failure.teams": "Could not spread %s teams around %s,%s (too many players for space - try using spread of at most %s)", + "commands.spreadplayers.failure.players": "Could not spread %s players around %s,%s (too many players for space - try using spread of at most %s)", + "commands.achievement.usage": "/achievement [player]", + "commands.achievement.unknownAchievement": "Unknown achievement or statistic '%s'", + "commands.achievement.alreadyHave": "Player %s already has achievement %s", + "commands.achievement.dontHave": "Player %s doesn't have achievement %s", + "commands.achievement.give.success.all": "Successfully given all achievements to %s", + "commands.achievement.give.success.one": "Successfully given %s the stat %s", + "commands.achievement.take.success.all": "Successfully taken all achievements from %s", + "commands.achievement.take.success.one": "Successfully taken the stat %s from %s", + "commands.achievement.statTooLow": "Player %s does not have the stat %s", + "commands.worldborder.usage": "/worldborder ...", + "commands.worldborder.add.usage": "/worldborder add [timeInSeconds]", + "commands.worldborder.set.usage": "/worldborder set [timeInSeconds]", + "commands.worldborder.set.success": "Set world border to %s blocks wide (from %s blocks)", + "commands.worldborder.get.success": "World border is currently %s blocks wide", + "commands.worldborder.setSlowly.shrink.success": "Shrinking world border to %s blocks wide (down from %s blocks) over %s seconds", + "commands.worldborder.setSlowly.grow.success": "Growing world border to %s blocks wide (up from %s blocks) over %s seconds", + "commands.worldborder.center.usage": "/worldborder center ", + "commands.worldborder.center.success": "Set world border center to %s,%s", + "commands.worldborder.damage.usage": "/worldborder damage ", + "commands.worldborder.damage.buffer.usage": "/worldborder damage buffer ", + "commands.worldborder.damage.buffer.success": "Set world border damage buffer to %s blocks (from %s blocks)", + "commands.worldborder.damage.amount.usage": "/worldborder damage amount ", + "commands.worldborder.damage.amount.success": "Set world border damage amount to %s per block (from %s per block)", + "commands.worldborder.warning.usage": "/worldborder warning ", + "commands.worldborder.warning.time.usage": "/worldborder warning time ", + "commands.worldborder.warning.time.success": "Set world border warning to %s seconds away (from %s seconds)", + "commands.worldborder.warning.distance.usage": "/worldborder warning distance ", + "commands.worldborder.warning.distance.success": "Set world border warning to %s blocks away (from %s blocks)", + "commands.title.usage": "/title ...", + "commands.title.usage.title": "/title title|subtitle ", + "commands.title.usage.clear": "/title clear|reset", + "commands.title.usage.times": "/title times ", + "commands.title.success": "Title command successfully executed", + "commands.stopsound.usage": "/stopsound [source] [sound]", + "commands.stopsound.unknownSoundSource": "Source %s is unknown", + "commands.stopsound.success.individualSound": "Stopped sound '%s' with source '%s' for %s", + "commands.stopsound.success.soundSource": "Stopped source '%s' for %s", + "commands.stopsound.success.all": "Stopped all sounds for %s", + "itemGroup.buildingBlocks": "Building Blocks", + "itemGroup.decorations": "Decoration Blocks", + "itemGroup.redstone": "Redstone", + "itemGroup.transportation": "Transportation", + "itemGroup.misc": "Miscellaneous", + "itemGroup.search": "Search Items", + "itemGroup.food": "Foodstuffs", + "itemGroup.tools": "Tools", + "itemGroup.combat": "Combat", + "itemGroup.brewing": "Brewing", + "itemGroup.materials": "Materials", + "itemGroup.inventory": "Survival Inventory", + "inventory.binSlot": "Destroy Item", + "advMode.setCommand": "Set Console Command for Block", + "advMode.setCommand.success": "Command set: %s", + "advMode.command": "Console Command", + "advMode.nearestPlayer": "Use \"@p\" to target nearest player", + "advMode.randomPlayer": "Use \"@r\" to target random player", + "advMode.allPlayers": "Use \"@a\" to target all players", + "advMode.allEntities": "Use \"@e\" to target all entities", + "advMode.previousOutput": "Previous Output", + "advMode.mode.sequence": "Chain", + "advMode.mode.auto": "Repeat", + "advMode.mode.redstone": "Impulse", + "advMode.mode.conditional": "Conditional", + "advMode.mode.unconditional": "Unconditional", + "advMode.mode.redstoneTriggered": "Needs Redstone", + "advMode.mode.autoexec.bat": "Always Active", + "advMode.notEnabled": "Command blocks are not enabled on this server", + "advMode.notAllowed": "Must be an opped player in creative mode", + "mount.onboard": "Press %1$s to dismount", + "build.tooHigh": "Height limit for building is %s blocks", + "item.modifiers.mainhand": "When in main hand:", + "item.modifiers.offhand": "When in off hand:", + "item.modifiers.feet": "When on feet:", + "item.modifiers.legs": "When on legs:", + "item.modifiers.chest": "When on body:", + "item.modifiers.head": "When on head:", + "attribute.modifier.plus.0": "+%d %s", + "attribute.modifier.plus.1": "+%d%% %s", + "attribute.modifier.plus.2": "+%d%% %s", + "attribute.modifier.take.0": "-%d %s", + "attribute.modifier.take.1": "-%d%% %s", + "attribute.modifier.take.2": "-%d%% %s", + "attribute.modifier.equals.0": "%d %s", + "attribute.modifier.equals.1": "%d%% %s", + "attribute.modifier.equals.2": "%d%% %s", + "attribute.name.horse.jumpStrength": "Horse Jump Strength", + "attribute.name.zombie.spawnReinforcements": "Zombie Reinforcements", + "attribute.name.generic.maxHealth": "Max Health", + "attribute.name.generic.followRange": "Mob Follow Range", + "attribute.name.generic.knockbackResistance": "Knockback Resistance", + "attribute.name.generic.movementSpeed": "Speed", + "attribute.name.generic.attackDamage": "Attack Damage", + "attribute.name.generic.attackSpeed": "Attack Speed", + "attribute.name.generic.luck": "Luck", + "attribute.name.generic.armor": "Armor", + "attribute.name.generic.armorToughness": "Armor Toughness", + "screenshot.success": "Saved screenshot as %s", + "screenshot.failure": "Couldn't save screenshot: %s", + "item.banner.black.name": "Black Banner", + "item.banner.red.name": "Red Banner", + "item.banner.green.name": "Green Banner", + "item.banner.brown.name": "Brown Banner", + "item.banner.blue.name": "Blue Banner", + "item.banner.purple.name": "Purple Banner", + "item.banner.cyan.name": "Cyan Banner", + "item.banner.silver.name": "Light Gray Banner", + "item.banner.gray.name": "Gray Banner", + "item.banner.pink.name": "Pink Banner", + "item.banner.lime.name": "Lime Banner", + "item.banner.yellow.name": "Yellow Banner", + "item.banner.lightBlue.name": "Light Blue Banner", + "item.banner.magenta.name": "Magenta Banner", + "item.banner.orange.name": "Orange Banner", + "item.banner.white.name": "White Banner", + "item.shield.name": "Shield", + "item.shield.black.name": "Black Shield", + "item.shield.red.name": "Red Shield", + "item.shield.green.name": "Green Shield", + "item.shield.brown.name": "Brown Shield", + "item.shield.blue.name": "Blue Shield", + "item.shield.purple.name": "Purple Shield", + "item.shield.cyan.name": "Cyan Shield", + "item.shield.silver.name": "Light Gray Shield", + "item.shield.gray.name": "Gray Shield", + "item.shield.pink.name": "Pink Shield", + "item.shield.lime.name": "Lime Shield", + "item.shield.yellow.name": "Yellow Shield", + "item.shield.lightBlue.name": "Light Blue Shield", + "item.shield.magenta.name": "Magenta Shield", + "item.shield.orange.name": "Orange Shield", + "item.shield.white.name": "White Shield", + "item.banner.square_bottom_left.black": "Black Base Dexter Canton", + "item.banner.square_bottom_left.red": "Red Base Dexter Canton", + "item.banner.square_bottom_left.green": "Green Base Dexter Canton", + "item.banner.square_bottom_left.brown": "Brown Base Dexter Canton", + "item.banner.square_bottom_left.blue": "Blue Base Dexter Canton", + "item.banner.square_bottom_left.purple": "Purple Base Dexter Canton", + "item.banner.square_bottom_left.cyan": "Cyan Base Dexter Canton", + "item.banner.square_bottom_left.silver": "Light Gray Base Dexter Canton", + "item.banner.square_bottom_left.gray": "Gray Base Dexter Canton", + "item.banner.square_bottom_left.pink": "Pink Base Dexter Canton", + "item.banner.square_bottom_left.lime": "Lime Base Dexter Canton", + "item.banner.square_bottom_left.yellow": "Yellow Base Dexter Canton", + "item.banner.square_bottom_left.lightBlue": "Light Blue Base Dexter Canton", + "item.banner.square_bottom_left.magenta": "Magenta Base Dexter Canton", + "item.banner.square_bottom_left.orange": "Orange Base Dexter Canton", + "item.banner.square_bottom_left.white": "White Base Dexter Canton", + "item.banner.square_bottom_right.black": "Black Base Sinister Canton", + "item.banner.square_bottom_right.red": "Red Base Sinister Canton", + "item.banner.square_bottom_right.green": "Green Base Sinister Canton", + "item.banner.square_bottom_right.brown": "Brown Base Sinister Canton", + "item.banner.square_bottom_right.blue": "Blue Base Sinister Canton", + "item.banner.square_bottom_right.purple": "Purple Base Sinister Canton", + "item.banner.square_bottom_right.cyan": "Cyan Base Sinister Canton", + "item.banner.square_bottom_right.silver": "Light Gray Base Sinister Canton", + "item.banner.square_bottom_right.gray": "Gray Base Sinister Canton", + "item.banner.square_bottom_right.pink": "Pink Base Sinister Canton", + "item.banner.square_bottom_right.lime": "Lime Base Sinister Canton", + "item.banner.square_bottom_right.yellow": "Yellow Base Sinister Canton", + "item.banner.square_bottom_right.lightBlue": "Light Blue Base Sinister Canton", + "item.banner.square_bottom_right.magenta": "Magenta Base Sinister Canton", + "item.banner.square_bottom_right.orange": "Orange Base Sinister Canton", + "item.banner.square_bottom_right.white": "White Base Sinister Canton", + "item.banner.square_top_left.black": "Black Chief Dexter Canton", + "item.banner.square_top_left.red": "Red Chief Dexter Canton", + "item.banner.square_top_left.green": "Green Chief Dexter Canton", + "item.banner.square_top_left.brown": "Brown Chief Dexter Canton", + "item.banner.square_top_left.blue": "Blue Chief Dexter Canton", + "item.banner.square_top_left.purple": "Purple Chief Dexter Canton", + "item.banner.square_top_left.cyan": "Cyan Chief Dexter Canton", + "item.banner.square_top_left.silver": "Light Gray Chief Dexter Canton", + "item.banner.square_top_left.gray": "Gray Chief Dexter Canton", + "item.banner.square_top_left.pink": "Pink Chief Dexter Canton", + "item.banner.square_top_left.lime": "Lime Chief Dexter Canton", + "item.banner.square_top_left.yellow": "Yellow Chief Dexter Canton", + "item.banner.square_top_left.lightBlue": "Light Blue Chief Dexter Canton", + "item.banner.square_top_left.magenta": "Magenta Chief Dexter Canton", + "item.banner.square_top_left.orange": "Orange Chief Dexter Canton", + "item.banner.square_top_left.white": "White Chief Dexter Canton", + "item.banner.square_top_right.black": "Black Chief Sinister Canton", + "item.banner.square_top_right.red": "Red Chief Sinister Canton", + "item.banner.square_top_right.green": "Green Chief Sinister Canton", + "item.banner.square_top_right.brown": "Brown Chief Sinister Canton", + "item.banner.square_top_right.blue": "Blue Chief Sinister Canton", + "item.banner.square_top_right.purple": "Purple Chief Sinister Canton", + "item.banner.square_top_right.cyan": "Cyan Chief Sinister Canton", + "item.banner.square_top_right.silver": "Light Gray Chief Sinister Canton", + "item.banner.square_top_right.gray": "Gray Chief Sinister Canton", + "item.banner.square_top_right.pink": "Pink Chief Sinister Canton", + "item.banner.square_top_right.lime": "Lime Chief Sinister Canton", + "item.banner.square_top_right.yellow": "Yellow Chief Sinister Canton", + "item.banner.square_top_right.lightBlue": "Light Blue Chief Sinister Canton", + "item.banner.square_top_right.magenta": "Magenta Chief Sinister Canton", + "item.banner.square_top_right.orange": "Orange Chief Sinister Canton", + "item.banner.square_top_right.white": "White Chief Sinister Canton", + "item.banner.stripe_bottom.black": "Black Base Fess", + "item.banner.stripe_bottom.red": "Red Base Fess", + "item.banner.stripe_bottom.green": "Green Base Fess", + "item.banner.stripe_bottom.brown": "Brown Base Fess", + "item.banner.stripe_bottom.blue": "Blue Base Fess", + "item.banner.stripe_bottom.purple": "Purple Base Fess", + "item.banner.stripe_bottom.cyan": "Cyan Base Fess", + "item.banner.stripe_bottom.silver": "Light Gray Base Fess", + "item.banner.stripe_bottom.gray": "Gray Base Fess", + "item.banner.stripe_bottom.pink": "Pink Base Fess", + "item.banner.stripe_bottom.lime": "Lime Base Fess", + "item.banner.stripe_bottom.yellow": "Yellow Base Fess", + "item.banner.stripe_bottom.lightBlue": "Light Blue Base Fess", + "item.banner.stripe_bottom.magenta": "Magenta Base Fess", + "item.banner.stripe_bottom.orange": "Orange Base Fess", + "item.banner.stripe_bottom.white": "White Base Fess", + "item.banner.stripe_top.black": "Black Chief Fess", + "item.banner.stripe_top.red": "Red Chief Fess", + "item.banner.stripe_top.green": "Green Chief Fess", + "item.banner.stripe_top.brown": "Brown Chief Fess", + "item.banner.stripe_top.blue": "Blue Chief Fess", + "item.banner.stripe_top.purple": "Purple Chief Fess", + "item.banner.stripe_top.cyan": "Cyan Chief Fess", + "item.banner.stripe_top.silver": "Light Gray Chief Fess", + "item.banner.stripe_top.gray": "Gray Chief Fess", + "item.banner.stripe_top.pink": "Pink Chief Fess", + "item.banner.stripe_top.lime": "Lime Chief Fess", + "item.banner.stripe_top.yellow": "Yellow Chief Fess", + "item.banner.stripe_top.lightBlue": "Light Blue Chief Fess", + "item.banner.stripe_top.magenta": "Magenta Chief Fess", + "item.banner.stripe_top.orange": "Orange Chief Fess", + "item.banner.stripe_top.white": "White Chief Fess", + "item.banner.stripe_left.black": "Black Pale Dexter", + "item.banner.stripe_left.red": "Red Pale Dexter", + "item.banner.stripe_left.green": "Green Pale Dexter", + "item.banner.stripe_left.brown": "Brown Pale Dexter", + "item.banner.stripe_left.blue": "Blue Pale Dexter", + "item.banner.stripe_left.purple": "Purple Pale Dexter", + "item.banner.stripe_left.cyan": "Cyan Pale Dexter", + "item.banner.stripe_left.silver": "Light Gray Pale Dexter", + "item.banner.stripe_left.gray": "Gray Pale Dexter", + "item.banner.stripe_left.pink": "Pink Pale Dexter", + "item.banner.stripe_left.lime": "Lime Pale Dexter", + "item.banner.stripe_left.yellow": "Yellow Pale Dexter", + "item.banner.stripe_left.lightBlue": "Light Blue Pale Dexter", + "item.banner.stripe_left.magenta": "Magenta Pale Dexter", + "item.banner.stripe_left.orange": "Orange Pale Dexter", + "item.banner.stripe_left.white": "White Pale Dexter", + "item.banner.stripe_right.black": "Black Pale Sinister", + "item.banner.stripe_right.red": "Red Pale Sinister", + "item.banner.stripe_right.green": "Green Pale Sinister", + "item.banner.stripe_right.brown": "Brown Pale Sinister", + "item.banner.stripe_right.blue": "Blue Pale Sinister", + "item.banner.stripe_right.purple": "Purple Pale Sinister", + "item.banner.stripe_right.cyan": "Cyan Pale Sinister", + "item.banner.stripe_right.silver": "Light Gray Pale Sinister", + "item.banner.stripe_right.gray": "Gray Pale Sinister", + "item.banner.stripe_right.pink": "Pink Pale Sinister", + "item.banner.stripe_right.lime": "Lime Pale Sinister", + "item.banner.stripe_right.yellow": "Yellow Pale Sinister", + "item.banner.stripe_right.lightBlue": "Light Blue Pale Sinister", + "item.banner.stripe_right.magenta": "Magenta Pale Sinister", + "item.banner.stripe_right.orange": "Orange Pale Sinister", + "item.banner.stripe_right.white": "White Pale Sinister", + "item.banner.stripe_center.black": "Black Pale", + "item.banner.stripe_center.red": "Red Pale", + "item.banner.stripe_center.green": "Green Pale", + "item.banner.stripe_center.brown": "Brown Pale", + "item.banner.stripe_center.blue": "Blue Pale", + "item.banner.stripe_center.purple": "Purple Pale", + "item.banner.stripe_center.cyan": "Cyan Pale", + "item.banner.stripe_center.silver": "Light Gray Pale", + "item.banner.stripe_center.gray": "Gray Pale", + "item.banner.stripe_center.pink": "Pink Pale", + "item.banner.stripe_center.lime": "Lime Pale", + "item.banner.stripe_center.yellow": "Yellow Pale", + "item.banner.stripe_center.lightBlue": "Light Blue Pale", + "item.banner.stripe_center.magenta": "Magenta Pale", + "item.banner.stripe_center.orange": "Orange Pale", + "item.banner.stripe_center.white": "White Pale", + "item.banner.stripe_middle.black": "Black Fess", + "item.banner.stripe_middle.red": "Red Fess", + "item.banner.stripe_middle.green": "Green Fess", + "item.banner.stripe_middle.brown": "Brown Fess", + "item.banner.stripe_middle.blue": "Blue Fess", + "item.banner.stripe_middle.purple": "Purple Fess", + "item.banner.stripe_middle.cyan": "Cyan Fess", + "item.banner.stripe_middle.silver": "Light Gray Fess", + "item.banner.stripe_middle.gray": "Gray Fess", + "item.banner.stripe_middle.pink": "Pink Fess", + "item.banner.stripe_middle.lime": "Lime Fess", + "item.banner.stripe_middle.yellow": "Yellow Fess", + "item.banner.stripe_middle.lightBlue": "Light Blue Fess", + "item.banner.stripe_middle.magenta": "Magenta Fess", + "item.banner.stripe_middle.orange": "Orange Fess", + "item.banner.stripe_middle.white": "White Fess", + "item.banner.stripe_downright.black": "Black Bend", + "item.banner.stripe_downright.red": "Red Bend", + "item.banner.stripe_downright.green": "Green Bend", + "item.banner.stripe_downright.brown": "Brown Bend", + "item.banner.stripe_downright.blue": "Blue Bend", + "item.banner.stripe_downright.purple": "Purple Bend", + "item.banner.stripe_downright.cyan": "Cyan Bend", + "item.banner.stripe_downright.silver": "Light Gray Bend", + "item.banner.stripe_downright.gray": "Gray Bend", + "item.banner.stripe_downright.pink": "Pink Bend", + "item.banner.stripe_downright.lime": "Lime Bend", + "item.banner.stripe_downright.yellow": "Yellow Bend", + "item.banner.stripe_downright.lightBlue": "Light Blue Bend", + "item.banner.stripe_downright.magenta": "Magenta Bend", + "item.banner.stripe_downright.orange": "Orange Bend", + "item.banner.stripe_downright.white": "White Bend", + "item.banner.stripe_downleft.black": "Black Bend Sinister", + "item.banner.stripe_downleft.red": "Red Bend Sinister", + "item.banner.stripe_downleft.green": "Green Bend Sinister", + "item.banner.stripe_downleft.brown": "Brown Bend Sinister", + "item.banner.stripe_downleft.blue": "Blue Bend Sinister", + "item.banner.stripe_downleft.purple": "Purple Bend Sinister", + "item.banner.stripe_downleft.cyan": "Cyan Bend Sinister", + "item.banner.stripe_downleft.silver": "Light Gray Bend Sinister", + "item.banner.stripe_downleft.gray": "Gray Bend Sinister", + "item.banner.stripe_downleft.pink": "Pink Bend Sinister", + "item.banner.stripe_downleft.lime": "Lime Bend Sinister", + "item.banner.stripe_downleft.yellow": "Yellow Bend Sinister", + "item.banner.stripe_downleft.lightBlue": "Light Blue Bend Sinister", + "item.banner.stripe_downleft.magenta": "Magenta Bend Sinister", + "item.banner.stripe_downleft.orange": "Orange Bend Sinister", + "item.banner.stripe_downleft.white": "White Bend Sinister", + "item.banner.small_stripes.black": "Black Paly", + "item.banner.small_stripes.red": "Red Paly", + "item.banner.small_stripes.green": "Green Paly", + "item.banner.small_stripes.brown": "Brown Paly", + "item.banner.small_stripes.blue": "Blue Paly", + "item.banner.small_stripes.purple": "Purple Paly", + "item.banner.small_stripes.cyan": "Cyan Paly", + "item.banner.small_stripes.silver": "Light Gray Paly", + "item.banner.small_stripes.gray": "Gray Paly", + "item.banner.small_stripes.pink": "Pink Paly", + "item.banner.small_stripes.lime": "Lime Paly", + "item.banner.small_stripes.yellow": "Yellow Paly", + "item.banner.small_stripes.lightBlue": "Light Blue Paly", + "item.banner.small_stripes.magenta": "Magenta Paly", + "item.banner.small_stripes.orange": "Orange Paly", + "item.banner.small_stripes.white": "White Paly", + "item.banner.cross.black": "Black Saltire", + "item.banner.cross.red": "Red Saltire", + "item.banner.cross.green": "Green Saltire", + "item.banner.cross.brown": "Brown Saltire", + "item.banner.cross.blue": "Blue Saltire", + "item.banner.cross.purple": "Purple Saltire", + "item.banner.cross.cyan": "Cyan Saltire", + "item.banner.cross.silver": "Light Gray Saltire", + "item.banner.cross.gray": "Gray Saltire", + "item.banner.cross.pink": "Pink Saltire", + "item.banner.cross.lime": "Lime Saltire", + "item.banner.cross.yellow": "Yellow Saltire", + "item.banner.cross.lightBlue": "Light Blue Saltire", + "item.banner.cross.magenta": "Magenta Saltire", + "item.banner.cross.orange": "Orange Saltire", + "item.banner.cross.white": "White Saltire", + "item.banner.triangle_bottom.black": "Black Chevron", + "item.banner.triangle_bottom.red": "Red Chevron", + "item.banner.triangle_bottom.green": "Green Chevron", + "item.banner.triangle_bottom.brown": "Brown Chevron", + "item.banner.triangle_bottom.blue": "Blue Chevron", + "item.banner.triangle_bottom.purple": "Purple Chevron", + "item.banner.triangle_bottom.cyan": "Cyan Chevron", + "item.banner.triangle_bottom.silver": "Light Gray Chevron", + "item.banner.triangle_bottom.gray": "Gray Chevron", + "item.banner.triangle_bottom.pink": "Pink Chevron", + "item.banner.triangle_bottom.lime": "Lime Chevron", + "item.banner.triangle_bottom.yellow": "Yellow Chevron", + "item.banner.triangle_bottom.lightBlue": "Light Blue Chevron", + "item.banner.triangle_bottom.magenta": "Magenta Chevron", + "item.banner.triangle_bottom.orange": "Orange Chevron", + "item.banner.triangle_bottom.white": "White Chevron", + "item.banner.triangle_top.black": "Black Inverted Chevron", + "item.banner.triangle_top.red": "Red Inverted Chevron", + "item.banner.triangle_top.green": "Green Inverted Chevron", + "item.banner.triangle_top.brown": "Brown Inverted Chevron", + "item.banner.triangle_top.blue": "Blue Inverted Chevron", + "item.banner.triangle_top.purple": "Purple Inverted Chevron", + "item.banner.triangle_top.cyan": "Cyan Inverted Chevron", + "item.banner.triangle_top.silver": "Light Gray Inverted Chevron", + "item.banner.triangle_top.gray": "Gray Inverted Chevron", + "item.banner.triangle_top.pink": "Pink Inverted Chevron", + "item.banner.triangle_top.lime": "Lime Inverted Chevron", + "item.banner.triangle_top.yellow": "Yellow Inverted Chevron", + "item.banner.triangle_top.lightBlue": "Light Blue Inverted Chevron", + "item.banner.triangle_top.magenta": "Magenta Inverted Chevron", + "item.banner.triangle_top.orange": "Orange Inverted Chevron", + "item.banner.triangle_top.white": "White Inverted Chevron", + "item.banner.triangles_bottom.black": "Black Base Indented", + "item.banner.triangles_bottom.red": "Red Base Indented", + "item.banner.triangles_bottom.green": "Green Base Indented", + "item.banner.triangles_bottom.brown": "Brown Base Indented", + "item.banner.triangles_bottom.blue": "Blue Base Indented", + "item.banner.triangles_bottom.purple": "Purple Base Indented", + "item.banner.triangles_bottom.cyan": "Cyan Base Indented", + "item.banner.triangles_bottom.silver": "Light Gray Base Indented", + "item.banner.triangles_bottom.gray": "Gray Base Indented", + "item.banner.triangles_bottom.pink": "Pink Base Indented", + "item.banner.triangles_bottom.lime": "Lime Base Indented", + "item.banner.triangles_bottom.yellow": "Yellow Base Indented", + "item.banner.triangles_bottom.lightBlue": "Light Blue Base Indented", + "item.banner.triangles_bottom.magenta": "Magenta Base Indented", + "item.banner.triangles_bottom.orange": "Orange Base Indented", + "item.banner.triangles_bottom.white": "White Base Indented", + "item.banner.triangles_top.black": "Black Chief Indented", + "item.banner.triangles_top.red": "Red Chief Indented", + "item.banner.triangles_top.green": "Green Chief Indented", + "item.banner.triangles_top.brown": "Brown Chief Indented", + "item.banner.triangles_top.blue": "Blue Chief Indented", + "item.banner.triangles_top.purple": "Purple Chief Indented", + "item.banner.triangles_top.cyan": "Cyan Chief Indented", + "item.banner.triangles_top.silver": "Light Gray Chief Indented", + "item.banner.triangles_top.gray": "Gray Chief Indented", + "item.banner.triangles_top.pink": "Pink Chief Indented", + "item.banner.triangles_top.lime": "Lime Chief Indented", + "item.banner.triangles_top.yellow": "Yellow Chief Indented", + "item.banner.triangles_top.lightBlue": "Light Blue Chief Indented", + "item.banner.triangles_top.magenta": "Magenta Chief Indented", + "item.banner.triangles_top.orange": "Orange Chief Indented", + "item.banner.triangles_top.white": "White Chief Indented", + "item.banner.diagonal_left.black": "Black Per Bend Sinister", + "item.banner.diagonal_left.red": "Red Per Bend Sinister", + "item.banner.diagonal_left.green": "Green Per Bend Sinister", + "item.banner.diagonal_left.brown": "Brown Per Bend Sinister", + "item.banner.diagonal_left.blue": "Blue Per Bend Sinister", + "item.banner.diagonal_left.purple": "Purple Per Bend Sinister", + "item.banner.diagonal_left.cyan": "Cyan Per Bend Sinister", + "item.banner.diagonal_left.silver": "Light Gray Per Bend Sinister", + "item.banner.diagonal_left.gray": "Gray Per Bend Sinister", + "item.banner.diagonal_left.pink": "Pink Per Bend Sinister", + "item.banner.diagonal_left.lime": "Lime Per Bend Sinister", + "item.banner.diagonal_left.yellow": "Yellow Per Bend Sinister", + "item.banner.diagonal_left.lightBlue": "Light Blue Per Bend Sinister", + "item.banner.diagonal_left.magenta": "Magenta Per Bend Sinister", + "item.banner.diagonal_left.orange": "Orange Per Bend Sinister", + "item.banner.diagonal_left.white": "White Per Bend Sinister", + "item.banner.diagonal_right.black": "Black Per Bend", + "item.banner.diagonal_right.red": "Red Per Bend", + "item.banner.diagonal_right.green": "Green Per Bend", + "item.banner.diagonal_right.brown": "Brown Per Bend", + "item.banner.diagonal_right.blue": "Blue Per Bend", + "item.banner.diagonal_right.purple": "Purple Per Bend", + "item.banner.diagonal_right.cyan": "Cyan Per Bend", + "item.banner.diagonal_right.silver": "Light Gray Per Bend", + "item.banner.diagonal_right.gray": "Gray Per Bend", + "item.banner.diagonal_right.pink": "Pink Per Bend", + "item.banner.diagonal_right.lime": "Lime Per Bend", + "item.banner.diagonal_right.yellow": "Yellow Per Bend", + "item.banner.diagonal_right.lightBlue": "Light Blue Per Bend", + "item.banner.diagonal_right.magenta": "Magenta Per Bend", + "item.banner.diagonal_right.orange": "Orange Per Bend", + "item.banner.diagonal_right.white": "White Per Bend", + "item.banner.diagonal_up_left.black": "Black Per Bend Inverted", + "item.banner.diagonal_up_left.red": "Red Per Bend Inverted", + "item.banner.diagonal_up_left.green": "Green Per Bend Inverted", + "item.banner.diagonal_up_left.brown": "Brown Per Bend Inverted", + "item.banner.diagonal_up_left.blue": "Blue Per Bend Inverted", + "item.banner.diagonal_up_left.purple": "Purple Per Bend Inverted", + "item.banner.diagonal_up_left.cyan": "Cyan Per Bend Inverted", + "item.banner.diagonal_up_left.silver": "Light Gray Per Bend Inverted", + "item.banner.diagonal_up_left.gray": "Gray Per Bend Inverted", + "item.banner.diagonal_up_left.pink": "Pink Per Bend Inverted", + "item.banner.diagonal_up_left.lime": "Lime Per Bend Inverted", + "item.banner.diagonal_up_left.yellow": "Yellow Per Bend Inverted", + "item.banner.diagonal_up_left.lightBlue": "Light Blue Per Bend Inverted", + "item.banner.diagonal_up_left.magenta": "Magenta Per Bend Inverted", + "item.banner.diagonal_up_left.orange": "Orange Per Bend Inverted", + "item.banner.diagonal_up_left.white": "White Per Bend Inverted", + "item.banner.diagonal_up_right.black": "Black Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.red": "Red Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.green": "Green Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.brown": "Brown Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.blue": "Blue Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.purple": "Purple Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.cyan": "Cyan Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.silver": "Light Gray Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.gray": "Gray Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.pink": "Pink Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.lime": "Lime Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.yellow": "Yellow Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.lightBlue": "Light Blue Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.magenta": "Magenta Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.orange": "Orange Per Bend Sinister Inverted", + "item.banner.diagonal_up_right.white": "White Per Bend Sinister Inverted", + "item.banner.circle.black": "Black Roundel", + "item.banner.circle.red": "Red Roundel", + "item.banner.circle.green": "Green Roundel", + "item.banner.circle.brown": "Brown Roundel", + "item.banner.circle.blue": "Blue Roundel", + "item.banner.circle.purple": "Purple Roundel", + "item.banner.circle.cyan": "Cyan Roundel", + "item.banner.circle.silver": "Light Gray Roundel", + "item.banner.circle.gray": "Gray Roundel", + "item.banner.circle.pink": "Pink Roundel", + "item.banner.circle.lime": "Lime Roundel", + "item.banner.circle.yellow": "Yellow Roundel", + "item.banner.circle.lightBlue": "Light Blue Roundel", + "item.banner.circle.magenta": "Magenta Roundel", + "item.banner.circle.orange": "Orange Roundel", + "item.banner.circle.white": "White Roundel", + "item.banner.rhombus.black": "Black Lozenge", + "item.banner.rhombus.red": "Red Lozenge", + "item.banner.rhombus.green": "Green Lozenge", + "item.banner.rhombus.brown": "Brown Lozenge", + "item.banner.rhombus.blue": "Blue Lozenge", + "item.banner.rhombus.purple": "Purple Lozenge", + "item.banner.rhombus.cyan": "Cyan Lozenge", + "item.banner.rhombus.silver": "Light Gray Lozenge", + "item.banner.rhombus.gray": "Gray Lozenge", + "item.banner.rhombus.pink": "Pink Lozenge", + "item.banner.rhombus.lime": "Lime Lozenge", + "item.banner.rhombus.yellow": "Yellow Lozenge", + "item.banner.rhombus.lightBlue": "Light Blue Lozenge", + "item.banner.rhombus.magenta": "Magenta Lozenge", + "item.banner.rhombus.orange": "Orange Lozenge", + "item.banner.rhombus.white": "White Lozenge", + "item.banner.half_vertical.black": "Black Per Pale", + "item.banner.half_vertical.red": "Red Per Pale", + "item.banner.half_vertical.green": "Green Per Pale", + "item.banner.half_vertical.brown": "Brown Per Pale", + "item.banner.half_vertical.blue": "Blue Per Pale", + "item.banner.half_vertical.purple": "Purple Per Pale", + "item.banner.half_vertical.cyan": "Cyan Per Pale", + "item.banner.half_vertical.silver": "Light Gray Per Pale", + "item.banner.half_vertical.gray": "Gray Per Pale", + "item.banner.half_vertical.pink": "Pink Per Pale", + "item.banner.half_vertical.lime": "Lime Per Pale", + "item.banner.half_vertical.yellow": "Yellow Per Pale", + "item.banner.half_vertical.lightBlue": "Light Blue Per Pale", + "item.banner.half_vertical.magenta": "Magenta Per Pale", + "item.banner.half_vertical.orange": "Orange Per Pale", + "item.banner.half_vertical.white": "White Per Pale", + "item.banner.half_horizontal.black": "Black Per Fess", + "item.banner.half_horizontal.red": "Red Per Fess", + "item.banner.half_horizontal.green": "Green Per Fess", + "item.banner.half_horizontal.brown": "Brown Per Fess", + "item.banner.half_horizontal.blue": "Blue Per Fess", + "item.banner.half_horizontal.purple": "Purple Per Fess", + "item.banner.half_horizontal.cyan": "Cyan Per Fess", + "item.banner.half_horizontal.silver": "Light Gray Per Fess", + "item.banner.half_horizontal.gray": "Gray Per Fess", + "item.banner.half_horizontal.pink": "Pink Per Fess", + "item.banner.half_horizontal.lime": "Lime Per Fess", + "item.banner.half_horizontal.yellow": "Yellow Per Fess", + "item.banner.half_horizontal.lightBlue": "Light Blue Per Fess", + "item.banner.half_horizontal.magenta": "Magenta Per Fess", + "item.banner.half_horizontal.orange": "Orange Per Fess", + "item.banner.half_horizontal.white": "White Per Fess", + "item.banner.half_vertical_right.black": "Black Per Pale Inverted", + "item.banner.half_vertical_right.red": "Red Per Pale Inverted", + "item.banner.half_vertical_right.green": "Green Per Pale Inverted", + "item.banner.half_vertical_right.brown": "Brown Per Pale Inverted", + "item.banner.half_vertical_right.blue": "Blue Per Pale Inverted", + "item.banner.half_vertical_right.purple": "Purple Per Pale Inverted", + "item.banner.half_vertical_right.cyan": "Cyan Per Pale Inverted", + "item.banner.half_vertical_right.silver": "Light Gray Per Pale Inverted", + "item.banner.half_vertical_right.gray": "Gray Per Pale Inverted", + "item.banner.half_vertical_right.pink": "Pink Per Pale Inverted", + "item.banner.half_vertical_right.lime": "Lime Per Pale Inverted", + "item.banner.half_vertical_right.yellow": "Yellow Per Pale Inverted", + "item.banner.half_vertical_right.lightBlue": "Light Blue Per Pale Inverted", + "item.banner.half_vertical_right.magenta": "Magenta Per Pale Inverted", + "item.banner.half_vertical_right.orange": "Orange Per Pale Inverted", + "item.banner.half_vertical_right.white": "White Per Pale Inverted", + "item.banner.half_horizontal_bottom.black": "Black Per Fess Inverted", + "item.banner.half_horizontal_bottom.red": "Red Per Fess Inverted", + "item.banner.half_horizontal_bottom.green": "Green Per Fess Inverted", + "item.banner.half_horizontal_bottom.brown": "Brown Per Fess Inverted", + "item.banner.half_horizontal_bottom.blue": "Blue Per Fess Inverted", + "item.banner.half_horizontal_bottom.purple": "Purple Per Fess Inverted", + "item.banner.half_horizontal_bottom.cyan": "Cyan Per Fess Inverted", + "item.banner.half_horizontal_bottom.silver": "Light Gray Per Fess Inverted", + "item.banner.half_horizontal_bottom.gray": "Gray Per Fess Inverted", + "item.banner.half_horizontal_bottom.pink": "Pink Per Fess Inverted", + "item.banner.half_horizontal_bottom.lime": "Lime Per Fess Inverted", + "item.banner.half_horizontal_bottom.yellow": "Yellow Per Fess Inverted", + "item.banner.half_horizontal_bottom.lightBlue": "Light Blue Per Fess Inverted", + "item.banner.half_horizontal_bottom.magenta": "Magenta Per Fess Inverted", + "item.banner.half_horizontal_bottom.orange": "Orange Per Fess Inverted", + "item.banner.half_horizontal_bottom.white": "White Per Fess Inverted", + "item.banner.creeper.black": "Black Creeper Charge", + "item.banner.creeper.red": "Red Creeper Charge", + "item.banner.creeper.green": "Green Creeper Charge", + "item.banner.creeper.brown": "Brown Creeper Charge", + "item.banner.creeper.blue": "Blue Creeper Charge", + "item.banner.creeper.purple": "Purple Creeper Charge", + "item.banner.creeper.cyan": "Cyan Creeper Charge", + "item.banner.creeper.silver": "Light Gray Creeper Charge", + "item.banner.creeper.gray": "Gray Creeper Charge", + "item.banner.creeper.pink": "Pink Creeper Charge", + "item.banner.creeper.lime": "Lime Creeper Charge", + "item.banner.creeper.yellow": "Yellow Creeper Charge", + "item.banner.creeper.lightBlue": "Light Blue Creeper Charge", + "item.banner.creeper.magenta": "Magenta Creeper Charge", + "item.banner.creeper.orange": "Orange Creeper Charge", + "item.banner.creeper.white": "White Creeper Charge", + "item.banner.bricks.black": "Black Field Masoned", + "item.banner.bricks.red": "Red Field Masoned", + "item.banner.bricks.green": "Green Field Masoned", + "item.banner.bricks.brown": "Brown Field Masoned", + "item.banner.bricks.blue": "Blue Field Masoned", + "item.banner.bricks.purple": "Purple Field Masoned", + "item.banner.bricks.cyan": "Cyan Field Masoned", + "item.banner.bricks.silver": "Light Gray Field Masoned", + "item.banner.bricks.gray": "Gray Field Masoned", + "item.banner.bricks.pink": "Pink Field Masoned", + "item.banner.bricks.lime": "Lime Field Masoned", + "item.banner.bricks.yellow": "Yellow Field Masoned", + "item.banner.bricks.lightBlue": "Light Blue Field Masoned", + "item.banner.bricks.magenta": "Magenta Field Masoned", + "item.banner.bricks.orange": "Orange Field Masoned", + "item.banner.bricks.white": "White Field Masoned", + "item.banner.gradient.black": "Black Gradient", + "item.banner.gradient.red": "Red Gradient", + "item.banner.gradient.green": "Green Gradient", + "item.banner.gradient.brown": "Brown Gradient", + "item.banner.gradient.blue": "Blue Gradient", + "item.banner.gradient.purple": "Purple Gradient", + "item.banner.gradient.cyan": "Cyan Gradient", + "item.banner.gradient.silver": "Light Gray Gradient", + "item.banner.gradient.gray": "Gray Gradient", + "item.banner.gradient.pink": "Pink Gradient", + "item.banner.gradient.lime": "Lime Gradient", + "item.banner.gradient.yellow": "Yellow Gradient", + "item.banner.gradient.lightBlue": "Light Blue Gradient", + "item.banner.gradient.magenta": "Magenta Gradient", + "item.banner.gradient.orange": "Orange Gradient", + "item.banner.gradient.white": "White Gradient", + "item.banner.gradient_up.black": "Black Base Gradient", + "item.banner.gradient_up.red": "Red Base Gradient", + "item.banner.gradient_up.green": "Green Base Gradient", + "item.banner.gradient_up.brown": "Brown Base Gradient", + "item.banner.gradient_up.blue": "Blue Base Gradient", + "item.banner.gradient_up.purple": "Purple Base Gradient", + "item.banner.gradient_up.cyan": "Cyan Base Gradient", + "item.banner.gradient_up.silver": "Light Gray Base Gradient", + "item.banner.gradient_up.gray": "Gray Base Gradient", + "item.banner.gradient_up.pink": "Pink Base Gradient", + "item.banner.gradient_up.lime": "Lime Base Gradient", + "item.banner.gradient_up.yellow": "Yellow Base Gradient", + "item.banner.gradient_up.lightBlue": "Light Blue Base Gradient", + "item.banner.gradient_up.magenta": "Magenta Base Gradient", + "item.banner.gradient_up.orange": "Orange Base Gradient", + "item.banner.gradient_up.white": "White Base Gradient", + "item.banner.skull.black": "Black Skull Charge", + "item.banner.skull.red": "Red Skull Charge", + "item.banner.skull.green": "Green Skull Charge", + "item.banner.skull.brown": "Brown Skull Charge", + "item.banner.skull.blue": "Blue Skull Charge", + "item.banner.skull.purple": "Purple Skull Charge", + "item.banner.skull.cyan": "Cyan Skull Charge", + "item.banner.skull.silver": "Light Gray Skull Charge", + "item.banner.skull.gray": "Gray Skull Charge", + "item.banner.skull.pink": "Pink Skull Charge", + "item.banner.skull.lime": "Lime Skull Charge", + "item.banner.skull.yellow": "Yellow Skull Charge", + "item.banner.skull.lightBlue": "Light Blue Skull Charge", + "item.banner.skull.magenta": "Magenta Skull Charge", + "item.banner.skull.orange": "Orange Skull Charge", + "item.banner.skull.white": "White Skull Charge", + "item.banner.flower.black": "Black Flower Charge", + "item.banner.flower.red": "Red Flower Charge", + "item.banner.flower.green": "Green Flower Charge", + "item.banner.flower.brown": "Brown Flower Charge", + "item.banner.flower.blue": "Blue Flower Charge", + "item.banner.flower.purple": "Purple Flower Charge", + "item.banner.flower.cyan": "Cyan Flower Charge", + "item.banner.flower.silver": "Light Gray Flower Charge", + "item.banner.flower.gray": "Gray Flower Charge", + "item.banner.flower.pink": "Pink Flower Charge", + "item.banner.flower.lime": "Lime Flower Charge", + "item.banner.flower.yellow": "Yellow Flower Charge", + "item.banner.flower.lightBlue": "Light Blue Flower Charge", + "item.banner.flower.magenta": "Magenta Flower Charge", + "item.banner.flower.orange": "Orange Flower Charge", + "item.banner.flower.white": "White Flower Charge", + "item.banner.border.black": "Black Bordure", + "item.banner.border.red": "Red Bordure", + "item.banner.border.green": "Green Bordure", + "item.banner.border.brown": "Brown Bordure", + "item.banner.border.blue": "Blue Bordure", + "item.banner.border.purple": "Purple Bordure", + "item.banner.border.cyan": "Cyan Bordure", + "item.banner.border.silver": "Light Gray Bordure", + "item.banner.border.gray": "Gray Bordure", + "item.banner.border.pink": "Pink Bordure", + "item.banner.border.lime": "Lime Bordure", + "item.banner.border.yellow": "Yellow Bordure", + "item.banner.border.lightBlue": "Light Blue Bordure", + "item.banner.border.magenta": "Magenta Bordure", + "item.banner.border.orange": "Orange Bordure", + "item.banner.border.white": "White Bordure", + "item.banner.curly_border.black": "Black Bordure Indented", + "item.banner.curly_border.red": "Red Bordure Indented", + "item.banner.curly_border.green": "Green Bordure Indented", + "item.banner.curly_border.brown": "Brown Bordure Indented", + "item.banner.curly_border.blue": "Blue Bordure Indented", + "item.banner.curly_border.purple": "Purple Bordure Indented", + "item.banner.curly_border.cyan": "Cyan Bordure Indented", + "item.banner.curly_border.silver": "Light Gray Bordure Indented", + "item.banner.curly_border.gray": "Gray Bordure Indented", + "item.banner.curly_border.pink": "Pink Bordure Indented", + "item.banner.curly_border.lime": "Lime Bordure Indented", + "item.banner.curly_border.yellow": "Yellow Bordure Indented", + "item.banner.curly_border.lightBlue": "Light Blue Bordure Indented", + "item.banner.curly_border.magenta": "Magenta Bordure Indented", + "item.banner.curly_border.orange": "Orange Bordure Indented", + "item.banner.curly_border.white": "White Bordure Indented", + "item.banner.mojang.black": "Black Thing", + "item.banner.mojang.red": "Red Thing", + "item.banner.mojang.green": "Green Thing", + "item.banner.mojang.brown": "Brown Thing", + "item.banner.mojang.blue": "Blue Thing", + "item.banner.mojang.purple": "Purple Thing", + "item.banner.mojang.cyan": "Cyan Thing", + "item.banner.mojang.silver": "Light Gray Thing", + "item.banner.mojang.gray": "Gray Thing", + "item.banner.mojang.pink": "Pink Thing", + "item.banner.mojang.lime": "Lime Thing", + "item.banner.mojang.yellow": "Yellow Thing", + "item.banner.mojang.lightBlue": "Light Blue Thing", + "item.banner.mojang.magenta": "Magenta Thing", + "item.banner.mojang.orange": "Orange Thing", + "item.banner.mojang.white": "White Thing", + "item.banner.straight_cross.black": "Black Cross", + "item.banner.straight_cross.red": "Red Cross", + "item.banner.straight_cross.green": "Green Cross", + "item.banner.straight_cross.brown": "Brown Cross", + "item.banner.straight_cross.blue": "Blue Cross", + "item.banner.straight_cross.purple": "Purple Cross", + "item.banner.straight_cross.cyan": "Cyan Cross", + "item.banner.straight_cross.silver": "Light Gray Cross", + "item.banner.straight_cross.gray": "Gray Cross", + "item.banner.straight_cross.pink": "Pink Cross", + "item.banner.straight_cross.lime": "Lime Cross", + "item.banner.straight_cross.yellow": "Yellow Cross", + "item.banner.straight_cross.lightBlue": "Light Blue Cross", + "item.banner.straight_cross.magenta": "Magenta Cross", + "item.banner.straight_cross.orange": "Orange Cross", + "item.banner.straight_cross.white": "White Cross", + "subtitles.ambient.cave": "Eerie noise", + "subtitles.block.anvil.destroy": "Anvil destroyed", + "subtitles.block.anvil.land": "Anvil landed", + "subtitles.block.anvil.use": "Anvil used", + "subtitles.block.brewing_stand.brew": "Brewing Stand bubbles", + "subtitles.block.button.click": "Button clicks", + "subtitles.block.chest.close": "Chest closes", + "subtitles.block.chest.locked": "Chest locked", + "subtitles.block.chest.open": "Chest opens", + "subtitles.block.chorus_flower.death": "Chorus Flower withers", + "subtitles.block.chorus_flower.grow": "Chorus Flower grows", + "subtitles.block.comparator.click": "Comparator clicks", + "subtitles.block.dispenser.dispense": "Dispensed item", + "subtitles.block.dispenser.fail": "Dispenser failed", + "subtitles.block.door.toggle": "Door creaks", + "subtitles.block.fence_gate.toggle": "Fence Gate creaks", + "subtitles.block.fire.ambient": "Fire crackles", + "subtitles.block.fire.extinguish": "Fire extinguished", + "subtitles.block.furnace.fire_crackle": "Furnace crackles", + "subtitles.block.generic.break": "Block broken", + "subtitles.block.generic.footsteps": "Footsteps", + "subtitles.block.generic.hit": "Block breaking", + "subtitles.block.generic.place": "Block placed", + "subtitles.block.iron_trapdoor.close": "Trapdoor opens", + "subtitles.block.iron_trapdoor.open": "Trapdoor closes", + "subtitles.block.lava.ambient": "Lava pops", + "subtitles.block.lava.extinguish": "Lava hisses", + "subtitles.block.lever.click": "Lever clicks", + "subtitles.block.note.note": "Noteblock plays", + "subtitles.block.piston.move": "Piston moves", + "subtitles.block.portal.ambient": "Portal whooshes", + "subtitles.block.pressure_plate.click": "Pressure Plate clicks", + "subtitles.block.redstone_torch.burnout": "Torch fizzes", + "subtitles.block.trapdoor.toggle": "Trapdoor creaks", + "subtitles.block.tripwire.attach": "Tripwire attaches", + "subtitles.block.tripwire.click": "Tripwire clicks", + "subtitles.block.tripwire.detach": "Tripwire detaches", + "subtitles.block.water.ambient": "Water flows", + "subtitles.enchant.thorns.hit": "Thorns prick", + "subtitles.entity.armorstand.fall": "Something fell", + "subtitles.entity.arrow.hit": "Arrow hits", + "subtitles.entity.arrow.hit_player": "Player hit", + "subtitles.entity.arrow.shoot": "Arrow fired", + "subtitles.entity.bat.ambient": "Bat screeches", + "subtitles.entity.bat.death": "Bat dies", + "subtitles.entity.bat.hurt": "Bat hurts", + "subtitles.entity.bat.takeoff": "Bat takes off", + "subtitles.entity.blaze.ambient": "Blaze breathes", + "subtitles.entity.blaze.burn": "Blaze crackles", + "subtitles.entity.blaze.death": "Blaze dies", + "subtitles.entity.blaze.hurt": "Blaze hurts", + "subtitles.entity.blaze.shoot": "Blaze shoots", + "subtitles.entity.bobber.splash": "Fishing hook splashes", + "subtitles.entity.bobber.throw": "Bobber thrown", + "subtitles.entity.cat.ambient": "Cat meows", + "subtitles.entity.cat.death": "Cat dies", + "subtitles.entity.cat.hurt": "Cat hurts", + "subtitles.entity.chicken.ambient": "Chicken clucks", + "subtitles.entity.chicken.death": "Chicken dies", + "subtitles.entity.chicken.egg": "Chicken plops", + "subtitles.entity.chicken.hurt": "Chicken hurts", + "subtitles.entity.cow.ambient": "Cow moos", + "subtitles.entity.cow.death": "Cow dies", + "subtitles.entity.cow.hurt": "Cow hurts", + "subtitles.entity.cow.milk": "Cow gets milked", + "subtitles.entity.creeper.death": "Creeper dies", + "subtitles.entity.creeper.hurt": "Creeper hurts", + "subtitles.entity.creeper.primed": "Creeper hisses", + "subtitles.entity.donkey.ambient": "Donkey hee-haws", + "subtitles.entity.donkey.angry": "Donkey neighs", + "subtitles.entity.donkey.chest": "Donkey Chest equips", + "subtitles.entity.donkey.death": "Donkey dies", + "subtitles.entity.donkey.hurt": "Donkey hurts", + "subtitles.entity.egg.throw": "Egg flies", + "subtitles.entity.enderdragon.ambient": "Dragon roars", + "subtitles.entity.enderdragon.death": "Dragon dies", + "subtitles.entity.enderdragon.flap": "Dragon flaps", + "subtitles.entity.enderdragon.growl": "Dragon growls", + "subtitles.entity.enderdragon.hurt": "Dragon hurts", + "subtitles.entity.enderdragon.shoot": "Dragon shoots", + "subtitles.entity.endereye.launch": "Eye of Ender shoots", + "subtitles.entity.enderman.ambient": "Enderman vwoops", + "subtitles.entity.enderman.death": "Enderman dies", + "subtitles.entity.enderman.hurt": "Enderman hurts", + "subtitles.entity.enderman.stare": "Enderman cries out", + "subtitles.entity.enderman.teleport": "Enderman teleports", + "subtitles.entity.endermite.ambient": "Endermite scuttles", + "subtitles.entity.endermite.death": "Endermite dies", + "subtitles.entity.endermite.hurt": "Endermite hurts", + "subtitles.entity.enderpearl.throw": "Ender Pearl flies", + "subtitles.entity.experience_orb.pickup": "Experience gained", + "subtitles.entity.firework.blast": "Firework blasts", + "subtitles.entity.firework.launch": "Firework launches", + "subtitles.entity.firework.twinkle": "Firework twinkles", + "subtitles.entity.generic.big_fall": "Something fell", + "subtitles.entity.generic.burn": "Burning", + "subtitles.entity.generic.death": "Dying", + "subtitles.entity.generic.drink": "Sipping", + "subtitles.entity.generic.eat": "Eating", + "subtitles.entity.generic.explode": "Explosion", + "subtitles.entity.generic.extinguish_fire": "Fire extinguishes", + "subtitles.entity.generic.hurt": "Something hurts", + "subtitles.entity.generic.small_fall": "Something tripped", + "subtitles.entity.generic.splash": "Splashing", + "subtitles.entity.generic.swim": "Swimming", + "subtitles.entity.ghast.ambient": "Ghast cries", + "subtitles.entity.ghast.death": "Ghast dies", + "subtitles.entity.ghast.hurt": "Ghast hurts", + "subtitles.entity.ghast.shoot": "Ghast shoots", + "subtitles.entity.guardian.ambient.land": "Guardian flaps", + "subtitles.entity.guardian.ambient": "Guardian moans", + "subtitles.entity.guardian.attack": "Guardian shoots", + "subtitles.entity.guardian.curse": "Guardian curses", + "subtitles.entity.guardian.death": "Guardian dies", + "subtitles.entity.guardian.flop": "Guardian flops", + "subtitles.entity.guardian.hurt": "Guardian hurts", + "subtitles.entity.horse.ambient": "Horse neighs", + "subtitles.entity.horse.angry": "Horse neighs", + "subtitles.entity.horse.armor": "Horse armor equips", + "subtitles.entity.horse.breathe": "Horse breathes", + "subtitles.entity.horse.death": "Horse dies", + "subtitles.entity.horse.eat": "Horse eats", + "subtitles.entity.horse.gallop": "Horse gallops", + "subtitles.entity.horse.hurt": "Horse hurts", + "subtitles.entity.horse.jump": "Horse jumps", + "subtitles.entity.horse.saddle": "Saddle equips", + "subtitles.entity.iron_golem.attack": "Iron Golem attacks", + "subtitles.entity.iron_golem.death": "Iron Golem dies", + "subtitles.entity.iron_golem.hurt": "Iron Golem hurts", + "subtitles.entity.item.break": "Item breaks", + "subtitles.entity.item.pickup": "Item plops", + "subtitles.entity.itemframe.add_item": "Item Frame fills", + "subtitles.entity.itemframe.break": "Item Frame breaks", + "subtitles.entity.itemframe.place": "Item Frame placed", + "subtitles.entity.itemframe.remove_item": "Item Frame empties", + "subtitles.entity.itemframe.rotate_item": "Item Frame clicks", + "subtitles.entity.leashknot.break": "Leash knot breaks", + "subtitles.entity.leashknot.place": "Leash knot tied", + "subtitles.entity.lightning.impact": "Lighting strikes", + "subtitles.entity.lightning.thunder": "Thunder roars", + "subtitles.entity.magmacube.death": "Magma Cube dies", + "subtitles.entity.magmacube.hurt": "Magma Cube hurts", + "subtitles.entity.magmacube.squish": "Magma Cube squishes", + "subtitles.entity.minecart.riding": "Minecart rolls", + "subtitles.entity.mule.ambient": "Mule hee-haws", + "subtitles.entity.mule.death": "Mule dies", + "subtitles.entity.mule.hurt": "Mule hurts", + "subtitles.entity.painting.break": "Painting breaks", + "subtitles.entity.painting.place": "Painting placed", + "subtitles.entity.pig.ambient": "Pig oinks", + "subtitles.entity.pig.death": "Pig dies", + "subtitles.entity.pig.hurt": "Pig hurts", + "subtitles.entity.pig.saddle": "Saddle equips", + "subtitles.entity.player.burp": "Burp", + "subtitles.entity.player.death": "Player dies", + "subtitles.entity.player.hurt": "Player hurts", + "subtitles.entity.player.levelup": "Player dings", + "subtitles.entity.potion.splash": "Bottle smashes", + "subtitles.entity.potion.throw": "Bottle thrown", + "subtitles.entity.rabbit.ambient": "Rabbit squeaks", + "subtitles.entity.rabbit.attack": "Rabbit attacks", + "subtitles.entity.rabbit.death": "Rabbit dies", + "subtitles.entity.rabbit.hurt": "Rabbit hurts", + "subtitles.entity.rabbit.jump": "Rabbit hops", + "subtitles.entity.sheep.ambient": "Sheep baahs", + "subtitles.entity.sheep.death": "Sheep dies", + "subtitles.entity.sheep.hurt": "Sheep hurts", + "subtitles.entity.shulker.ambient": "Shulker lurks", + "subtitles.entity.shulker.close": "Shulker closes", + "subtitles.entity.shulker.death": "Shulker dies", + "subtitles.entity.shulker.hurt": "Shulker hurts", + "subtitles.entity.shulker.open": "Shulker opens", + "subtitles.entity.shulker.shoot": "Shulker shoots", + "subtitles.entity.shulker.teleport": "Shulker teleports", + "subtitles.entity.shulker_bullet.hit": "Shulker bullet explodes", + "subtitles.entity.shulker_bullet.hurt": "Shulker bullet breaks", + "subtitles.entity.silverfish.ambient": "Silverfish hisses", + "subtitles.entity.silverfish.death": "Silverfish dies", + "subtitles.entity.silverfish.hurt": "Silverfish hurts", + "subtitles.entity.skeleton.ambient": "Skeleton rattles", + "subtitles.entity.skeleton.death": "Skeleton dies", + "subtitles.entity.skeleton.hurt": "Skeleton hurts", + "subtitles.entity.skeleton.shoot": "Skeleton shoots", + "subtitles.entity.skeleton_horse.ambient": "Skeleton Horse cries", + "subtitles.entity.skeleton_horse.death": "Skeleton Horse dies", + "subtitles.entity.skeleton_horse.hurt": "Skeleton Horse hurts", + "subtitles.entity.slime.attack": "Slime attacks", + "subtitles.entity.slime.death": "Slime dies", + "subtitles.entity.slime.hurt": "Slime hurts", + "subtitles.entity.slime.squish": "Slime squishes", + "subtitles.entity.snowball.throw": "Snowball flies", + "subtitles.entity.snowman.death": "Snow Golem dies", + "subtitles.entity.snowman.hurt": "Snow Golem hurts", + "subtitles.entity.spider.ambient": "Spider hisses", + "subtitles.entity.spider.death": "Spider dies", + "subtitles.entity.spider.hurt": "Spider hurts", + "subtitles.entity.squid.ambient": "Squid swims", + "subtitles.entity.squid.death": "Squid dies", + "subtitles.entity.squid.hurt": "Squid hurts", + "subtitles.entity.tnt.primed": "TNT fizzes", + "subtitles.entity.villager.ambient": "Villager mumbles", + "subtitles.entity.villager.death": "Villager dies", + "subtitles.entity.villager.hurt": "Villager hurts", + "subtitles.entity.villager.no": "Villager disagrees", + "subtitles.entity.villager.trading": "Villager trades", + "subtitles.entity.villager.yes": "Villager agrees", + "subtitles.entity.witch.ambient": "Witch giggles", + "subtitles.entity.witch.death": "Witch dies", + "subtitles.entity.witch.drink": "Witch drinks", + "subtitles.entity.witch.hurt": "Witch hurts", + "subtitles.entity.witch.throw": "Witch throws", + "subtitles.entity.wither.ambient": "Wither angers", + "subtitles.entity.wither.death": "Wither dies", + "subtitles.entity.wither.hurt": "Wither hurts", + "subtitles.entity.wither.shoot": "Wither attacks", + "subtitles.entity.wither.spawn": "Wither released", + "subtitles.entity.wolf.ambient": "Wolf pants", + "subtitles.entity.wolf.death": "Wolf dies", + "subtitles.entity.wolf.growl": "Wolf growls", + "subtitles.entity.wolf.hurt": "Wolf hurts", + "subtitles.entity.wolf.shake": "Wolf shakes", + "subtitles.entity.zombie.ambient": "Zombie groans", + "subtitles.entity.zombie.death": "Zombie dies", + "subtitles.entity.zombie.hurt": "Zombie hurts", + "subtitles.entity.zombie.infect": "Zombie infects", + "subtitles.entity.zombie_horse.ambient": "Zombie Horse cries", + "subtitles.entity.zombie_horse.death": "Zombie Horse dies", + "subtitles.entity.zombie_horse.hurt": "Zombie Horse hurts", + "subtitles.entity.zombie_pigman.ambient": "Zombie Pigman grunts", + "subtitles.entity.zombie_pigman.angry": "Zombie Pigman angers", + "subtitles.entity.zombie_pigman.death": "Zombie Pigman dies", + "subtitles.entity.zombie_pigman.hurt": "Zombie Pigman hurts", + "subtitles.entity.zombie_villager.converted": "Zombie vociferates", + "subtitles.entity.zombie_villager.cure": "Zombie snuffles", + "subtitles.item.armor.equip": "Gear equipped", + "subtitles.item.armor.equip_chain": "Chain armor jingles", + "subtitles.item.armor.equip_diamond": "Diamond armor clangs", + "subtitles.item.armor.equip_gold": "Gold armor clinks", + "subtitles.item.armor.equip_iron": "Iron armor clanks", + "subtitles.item.armor.equip_leather": "Leather armor rustles", + "subtitles.item.bottle.fill": "Bottle fills", + "subtitles.item.bucket.empty": "Bucket empties", + "subtitles.item.bucket.fill": "Bucket fills", + "subtitles.item.chorus_fruit.teleport": "Player teleports", + "subtitles.item.firecharge.use": "Fireball whooshes", + "subtitles.item.flintandsteel.use": "Flint and Steel click", + "subtitles.item.hoe.till": "Hoe tills", + "subtitles.item.shear": "Shears click", + "subtitles.item.shield.block": "Shield blocks", + "subtitles.item.shovel.flatten": "Shovel flattens", + "subtitles.weather.rain": "Rain falls" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/materials.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/materials.json new file mode 100644 index 00000000..69c797e0 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/materials.json @@ -0,0 +1,61 @@ +{ + "rock": { + "257": 6, + "270": 2, + "274": 4, + "278": 8, + "285": 12 + }, + "wood": { + "258": 6, + "271": 2, + "275": 4, + "279": 8, + "286": 12 + }, + "plant": { + "258": 6, + "267": 1.5, + "268": 1.5, + "271": 2, + "272": 1.5, + "275": 4, + "276": 1.5, + "279": 8, + "283": 1.5, + "286": 12 + }, + "melon": { + "267": 1.5, + "268": 1.5, + "272": 1.5, + "276": 1.5, + "283": 1.5 + }, + "leaves": { + "267": 1.5, + "268": 1.5, + "272": 1.5, + "276": 1.5, + "283": 1.5, + "359": 6 + }, + "dirt": { + "256": 6, + "269": 2, + "273": 4, + "277": 8, + "284": 12 + }, + "web": { + "267": 15, + "268": 15, + "272": 15, + "276": 15, + "283": 15, + "359": 15 + }, + "wool": { + "359": 4.8 + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/particles.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/particles.json new file mode 100644 index 00000000..b2d0372b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/particles.json @@ -0,0 +1,186 @@ +[ + { + "id": 0, + "name": "explode" + }, + { + "id": 1, + "name": "largeexplode" + }, + { + "id": 2, + "name": "hugeexplosion" + }, + { + "id": 3, + "name": "fireworksSpark" + }, + { + "id": 4, + "name": "bubble" + }, + { + "id": 5, + "name": "splash" + }, + { + "id": 6, + "name": "wake" + }, + { + "id": 7, + "name": "suspended" + }, + { + "id": 8, + "name": "depthsuspend" + }, + { + "id": 9, + "name": "crit" + }, + { + "id": 10, + "name": "magicCrit" + }, + { + "id": 11, + "name": "smoke" + }, + { + "id": 12, + "name": "largesmoke" + }, + { + "id": 13, + "name": "spell" + }, + { + "id": 14, + "name": "instantSpell" + }, + { + "id": 15, + "name": "mobSpell" + }, + { + "id": 16, + "name": "mobSpellAmbient" + }, + { + "id": 17, + "name": "witchMagic" + }, + { + "id": 18, + "name": "dripWater" + }, + { + "id": 19, + "name": "dripLava" + }, + { + "id": 20, + "name": "angryVillager" + }, + { + "id": 21, + "name": "happyVillager" + }, + { + "id": 22, + "name": "townaura" + }, + { + "id": 23, + "name": "note" + }, + { + "id": 24, + "name": "portal" + }, + { + "id": 25, + "name": "enchantmenttable" + }, + { + "id": 26, + "name": "flame" + }, + { + "id": 27, + "name": "lava" + }, + { + "id": 28, + "name": "footstep" + }, + { + "id": 29, + "name": "cloud" + }, + { + "id": 30, + "name": "reddust" + }, + { + "id": 31, + "name": "snowballpoof" + }, + { + "id": 32, + "name": "snowshovel" + }, + { + "id": 33, + "name": "slime" + }, + { + "id": 34, + "name": "heart" + }, + { + "id": 35, + "name": "barrier" + }, + { + "id": 36, + "name": "iconcrack" + }, + { + "id": 37, + "name": "blockcrack" + }, + { + "id": 38, + "name": "blockdust" + }, + { + "id": 39, + "name": "droplet" + }, + { + "id": 40, + "name": "take" + }, + { + "id": 41, + "name": "mobappearance" + }, + { + "id": 42, + "name": "dragonbreath" + }, + { + "id": 43, + "name": "endRod" + }, + { + "id": 44, + "name": "damageIndicator" + }, + { + "id": 45, + "name": "sweepAttack" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/protocol.json new file mode 100644 index 00000000..f8a7d95b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/protocol.json @@ -0,0 +1,3593 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "u8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i8" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "tab_complete", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "transaction", + "0x12": "close_window", + "0x13": "open_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "keep_alive", + "0x20": "map_chunk", + "0x21": "world_event", + "0x22": "world_particles", + "0x23": "login", + "0x24": "map", + "0x25": "rel_entity_move", + "0x26": "entity_move_look", + "0x27": "entity_look", + "0x28": "entity", + "0x29": "vehicle_move", + "0x2a": "open_sign_entity", + "0x2b": "abilities", + "0x2c": "combat_event", + "0x2d": "player_info", + "0x2e": "position", + "0x2f": "bed", + "0x30": "entity_destroy", + "0x31": "remove_entity_effect", + "0x32": "resource_pack_send", + "0x33": "respawn", + "0x34": "entity_head_rotation", + "0x35": "world_border", + "0x36": "camera", + "0x37": "held_item_slot", + "0x38": "scoreboard_display_objective", + "0x39": "entity_metadata", + "0x3a": "attach_entity", + "0x3b": "entity_velocity", + "0x3c": "entity_equipment", + "0x3d": "experience", + "0x3e": "update_health", + "0x3f": "scoreboard_objective", + "0x40": "set_passengers", + "0x41": "teams", + "0x42": "scoreboard_score", + "0x43": "spawn_position", + "0x44": "update_time", + "0x45": "title", + "0x46": "update_sign", + "0x47": "sound_effect", + "0x48": "playerlist_header", + "0x49": "collect", + "0x4a": "entity_teleport", + "0x4b": "entity_update_attributes", + "0x4c": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "update_sign": "packet_update_sign", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "hash", + "type": "string" + }, + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "i8" + }, + { + "name": "cursorY", + "type": "i8" + }, + { + "name": "cursorZ", + "type": "i8" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "tab_complete", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "transaction", + "0x06": "enchant_item", + "0x07": "window_click", + "0x08": "close_window", + "0x09": "custom_payload", + "0x0a": "use_entity", + "0x0b": "keep_alive", + "0x0c": "position", + "0x0d": "position_look", + "0x0e": "look", + "0x0f": "flying", + "0x10": "vehicle_move", + "0x11": "steer_boat", + "0x12": "abilities", + "0x13": "block_dig", + "0x14": "entity_action", + "0x15": "steer_vehicle", + "0x16": "resource_pack_receive", + "0x17": "held_item_slot", + "0x18": "set_creative_slot", + "0x19": "update_sign", + "0x1a": "arm_animation", + "0x1b": "spectate", + "0x1c": "block_place", + "0x1d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/recipes.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/recipes.json new file mode 100644 index 00000000..c5da99f4 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/recipes.json @@ -0,0 +1,27415 @@ +{ + "1": [ + { + "ingredients": [ + { + "id": 1, + "metadata": 3 + }, + 406 + ], + "result": { + "count": 1, + "id": 1, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 1, + "metadata": 1 + }, + { + "id": 1, + "metadata": 1 + } + ], + [ + { + "id": 1, + "metadata": 1 + }, + { + "id": 1, + "metadata": 1 + } + ] + ], + "result": { + "count": 4, + "id": 1, + "metadata": 2 + } + }, + { + "ingredients": [ + { + "id": 1, + "metadata": 3 + }, + 4 + ], + "result": { + "count": 2, + "id": 1, + "metadata": 5 + } + }, + { + "inShape": [ + [ + { + "id": 1, + "metadata": 5 + }, + { + "id": 1, + "metadata": 5 + } + ], + [ + { + "id": 1, + "metadata": 5 + }, + { + "id": 1, + "metadata": 5 + } + ] + ], + "result": { + "count": 4, + "id": 1, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 4, + 406 + ], + [ + 406, + 4 + ] + ], + "result": { + "count": 2, + "id": 1, + "metadata": 3 + } + }, + { + "inShape": [ + [ + { + "id": 1, + "metadata": 3 + }, + { + "id": 1, + "metadata": 3 + } + ], + [ + { + "id": 1, + "metadata": 3 + }, + { + "id": 1, + "metadata": 3 + } + ] + ], + "result": { + "count": 4, + "id": 1, + "metadata": 4 + } + } + ], + "3": [ + { + "inShape": [ + [ + { + "id": 3, + "metadata": 0 + }, + 13 + ], + [ + 13, + { + "id": 3, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 3, + "metadata": 1 + } + } + ], + "5": [ + { + "inShape": [ + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 2 + } + }, + { + "inShape": [ + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 17 + ] + ], + "result": { + "count": 4, + "id": 5, + "metadata": 5 + } + } + ], + "22": [ + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 22, + "metadata": 0 + } + } + ], + "23": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 261, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 23, + "metadata": 0 + } + } + ], + "24": [ + { + "inShape": [ + [ + { + "id": 12, + "metadata": 0 + }, + { + "id": 12, + "metadata": 0 + } + ], + [ + { + "id": 12, + "metadata": 0 + }, + { + "id": 12, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 24, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 24, + "metadata": 0 + }, + { + "id": 24, + "metadata": 0 + } + ], + [ + { + "id": 24, + "metadata": 0 + }, + { + "id": 24, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 24, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 1 + } + ], + [ + { + "id": 44, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 24, + "metadata": 1 + } + } + ], + "25": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 331, + 5 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 25, + "metadata": 0 + } + } + ], + "27": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + 280, + 266 + ], + [ + 266, + 331, + 266 + ] + ], + "result": { + "count": 6, + "id": 27, + "metadata": 0 + } + } + ], + "28": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 70, + 265 + ], + [ + 265, + 331, + 265 + ] + ], + "result": { + "count": 6, + "id": 28, + "metadata": 0 + } + } + ], + "29": [ + { + "inShape": [ + [ + 341 + ], + [ + 33 + ] + ], + "result": { + "count": 1, + "id": 29, + "metadata": 0 + } + } + ], + "33": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 4, + 265, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 33, + "metadata": 0 + } + } + ], + "35": [ + { + "inShape": [ + [ + 287, + 287 + ], + [ + 287, + 287 + ] + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 14 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 13 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 12 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 11 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 10 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 9 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 8 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 7 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 6 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 5 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 4 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 3 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 2 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + }, + { + "ingredients": [ + 35, + { + "id": 351, + "metadata": 0 + } + ], + "result": { + "count": 1, + "id": 35, + "metadata": 0 + } + } + ], + "41": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 41, + "metadata": 0 + } + } + ], + "42": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 42, + "metadata": 0 + } + } + ], + "44": [ + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 24, + 24, + 24 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 45, + 45, + 45 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 5 + } + }, + { + "inShape": [ + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 155, + 155, + 155 + ] + ], + "result": { + "count": 6, + "id": 44, + "metadata": 7 + } + } + ], + "45": [ + { + "inShape": [ + [ + 336, + 336 + ], + [ + 336, + 336 + ] + ], + "result": { + "count": 1, + "id": 45, + "metadata": 0 + } + } + ], + "46": [ + { + "inShape": [ + [ + 289, + 12, + 289 + ], + [ + 12, + 289, + 12 + ], + [ + 289, + 12, + 289 + ] + ], + "result": { + "count": 1, + "id": 46, + "metadata": 0 + } + } + ], + "47": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 340, + 340, + 340 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 47, + "metadata": 0 + } + } + ], + "48": [ + { + "ingredients": [ + 4, + 106 + ], + "result": { + "count": 1, + "id": 48, + "metadata": 0 + } + } + ], + "50": [ + { + "inShape": [ + [ + 263 + ], + [ + 280 + ] + ], + "result": { + "count": 4, + "id": 50, + "metadata": 0 + } + } + ], + "53": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 0 + } + ], + [ + null, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 53, + "metadata": 0 + } + } + ], + "54": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + null, + 5 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 54, + "metadata": 0 + } + } + ], + "57": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ] + ], + "result": { + "count": 1, + "id": 57, + "metadata": 0 + } + } + ], + "58": [ + { + "inShape": [ + [ + 5, + 5 + ], + [ + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 58, + "metadata": 0 + } + } + ], + "61": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + null, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 1, + "id": 61, + "metadata": 0 + } + } + ], + "65": [ + { + "inShape": [ + [ + 280, + null, + 280 + ], + [ + 280, + 280, + 280 + ], + [ + 280, + null, + 280 + ] + ], + "result": { + "count": 3, + "id": 65, + "metadata": 0 + } + } + ], + "66": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 280, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 16, + "id": 66, + "metadata": 0 + } + } + ], + "67": [ + { + "inShape": [ + [ + null, + null, + 4 + ], + [ + null, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 4, + "id": 67, + "metadata": 0 + } + } + ], + "69": [ + { + "inShape": [ + [ + 280 + ], + [ + 4 + ] + ], + "result": { + "count": 1, + "id": 69, + "metadata": 0 + } + } + ], + "70": [ + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 70, + "metadata": 0 + } + } + ], + "72": [ + { + "inShape": [ + [ + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 72, + "metadata": 0 + } + } + ], + "75": [ + { + "inShape": [ + [ + 331 + ], + [ + 280 + ] + ], + "result": { + "count": 1, + "id": 75, + "metadata": 0 + } + } + ], + "77": [ + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 77, + "metadata": 0 + } + } + ], + "78": [ + { + "inShape": [ + [ + 80, + 80, + 80 + ] + ], + "result": { + "count": 6, + "id": 78, + "metadata": 0 + } + } + ], + "80": [ + { + "inShape": [ + [ + 332, + 332 + ], + [ + 332, + 332 + ] + ], + "result": { + "count": 1, + "id": 80, + "metadata": 0 + } + } + ], + "82": [ + { + "inShape": [ + [ + 337, + 337 + ], + [ + 337, + 337 + ] + ], + "result": { + "count": 1, + "id": 82, + "metadata": 0 + } + } + ], + "84": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 264, + 5 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 84, + "metadata": 0 + } + } + ], + "85": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + 280, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + 280, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 3, + "id": 85, + "metadata": 0 + } + } + ], + "89": [ + { + "inShape": [ + [ + 348, + 348 + ], + [ + 348, + 348 + ] + ], + "result": { + "count": 1, + "id": 89, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 348, + 348, + 348 + ], + [ + 348, + 348, + 348 + ], + [ + 348, + 348, + 348 + ] + ], + "result": { + "count": 1, + "id": 89, + "metadata": 0 + } + } + ], + "91": [ + { + "inShape": [ + [ + 86 + ], + [ + 50 + ] + ], + "result": { + "count": 1, + "id": 91, + "metadata": 0 + } + } + ], + "95": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 15 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 14 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 13 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 2 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 12 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 11 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 10 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 5 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 9 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 8 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 7 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 7 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 8 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 6 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 9 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 5 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 10 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 4 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 11 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 3 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 12 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 2 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 13 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 1 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 14 + } + }, + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + { + "id": 351, + "metadata": 0 + }, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 8, + "id": 95, + "metadata": 15 + } + } + ], + "96": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 2, + "id": 96, + "metadata": 0 + } + } + ], + "98": [ + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ], + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 98, + "metadata": 0 + } + }, + { + "ingredients": [ + 98, + 106 + ], + "result": { + "count": 1, + "id": 98, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 5 + } + ], + [ + { + "id": 44, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 98, + "metadata": 3 + } + } + ], + "101": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 16, + "id": 101, + "metadata": 0 + } + } + ], + "102": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 20, + 20 + ] + ], + "result": { + "count": 16, + "id": 102, + "metadata": 0 + } + } + ], + "103": [ + { + "inShape": [ + [ + 360, + 360, + 360 + ], + [ + 360, + 360, + 360 + ], + [ + 360, + 360, + 360 + ] + ], + "result": { + "count": 1, + "id": 103, + "metadata": 0 + } + } + ], + "107": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 0 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 0 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 107, + "metadata": 0 + } + } + ], + "108": [ + { + "inShape": [ + [ + null, + null, + 45 + ], + [ + null, + 45, + 45 + ], + [ + 45, + 45, + 45 + ] + ], + "result": { + "count": 4, + "id": 108, + "metadata": 0 + } + } + ], + "109": [ + { + "inShape": [ + [ + null, + null, + 98 + ], + [ + null, + 98, + 98 + ], + [ + 98, + 98, + 98 + ] + ], + "result": { + "count": 4, + "id": 109, + "metadata": 0 + } + } + ], + "113": [ + { + "inShape": [ + [ + 405, + 405, + 405 + ], + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 6, + "id": 113, + "metadata": 0 + } + } + ], + "114": [ + { + "inShape": [ + [ + null, + null, + 405 + ], + [ + null, + 405, + 405 + ], + [ + 405, + 405, + 405 + ] + ], + "result": { + "count": 4, + "id": 114, + "metadata": 0 + } + } + ], + "116": [ + { + "inShape": [ + [ + null, + 340, + null + ], + [ + 264, + 49, + 264 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 116, + "metadata": 0 + } + } + ], + "123": [ + { + "inShape": [ + [ + null, + 331, + null + ], + [ + 331, + 89, + 331 + ], + [ + null, + 331, + null + ] + ], + "result": { + "count": 1, + "id": 123, + "metadata": 0 + } + } + ], + "126": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 3 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 4 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 6, + "id": 126, + "metadata": 5 + } + } + ], + "128": [ + { + "inShape": [ + [ + null, + null, + 24 + ], + [ + null, + 24, + 24 + ], + [ + 24, + 24, + 24 + ] + ], + "result": { + "count": 4, + "id": 128, + "metadata": 0 + } + } + ], + "130": [ + { + "inShape": [ + [ + 49, + 49, + 49 + ], + [ + 49, + 381, + 49 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 130, + "metadata": 0 + } + } + ], + "131": [ + { + "inShape": [ + [ + 265 + ], + [ + 280 + ], + [ + 5 + ] + ], + "result": { + "count": 2, + "id": 131, + "metadata": 0 + } + } + ], + "133": [ + { + "inShape": [ + [ + 388, + 388, + 388 + ], + [ + 388, + 388, + 388 + ], + [ + 388, + 388, + 388 + ] + ], + "result": { + "count": 1, + "id": 133, + "metadata": 0 + } + } + ], + "134": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 1 + } + ], + [ + null, + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ], + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ] + ], + "result": { + "count": 4, + "id": 134, + "metadata": 0 + } + } + ], + "135": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 2 + } + ], + [ + null, + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ], + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ] + ], + "result": { + "count": 4, + "id": 135, + "metadata": 0 + } + } + ], + "136": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 3 + } + ], + [ + null, + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ], + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ] + ], + "result": { + "count": 4, + "id": 136, + "metadata": 0 + } + } + ], + "138": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 399, + 20 + ], + [ + 49, + 49, + 49 + ] + ], + "result": { + "count": 1, + "id": 138, + "metadata": 0 + } + } + ], + "139": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 6, + "id": 139, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 48, + 48, + 48 + ], + [ + 48, + 48, + 48 + ] + ], + "result": { + "count": 6, + "id": 139, + "metadata": 1 + } + } + ], + "143": [ + { + "inShape": [ + [ + 5 + ] + ], + "result": { + "count": 1, + "id": 143, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 1, + "metadata": 0 + } + ], + [ + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 143, + "metadata": 0 + } + } + ], + "145": [ + { + "inShape": [ + [ + 42, + 42, + 42 + ], + [ + null, + 265, + null + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 145, + "metadata": 0 + } + } + ], + "146": [ + { + "ingredients": [ + 131, + 54 + ], + "result": { + "count": 1, + "id": 146, + "metadata": 0 + } + } + ], + "147": [ + { + "inShape": [ + [ + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 147, + "metadata": 0 + } + } + ], + "148": [ + { + "inShape": [ + [ + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 148, + "metadata": 0 + } + } + ], + "151": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 406, + 406, + 406 + ], + [ + 126, + 126, + 126 + ] + ], + "result": { + "count": 1, + "id": 151, + "metadata": 0 + } + } + ], + "152": [ + { + "inShape": [ + [ + 331, + 331, + 331 + ], + [ + 331, + 331, + 331 + ], + [ + 331, + 331, + 331 + ] + ], + "result": { + "count": 1, + "id": 152, + "metadata": 0 + } + } + ], + "154": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 54, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 154, + "metadata": 0 + } + } + ], + "155": [ + { + "inShape": [ + [ + 406, + 406 + ], + [ + 406, + 406 + ] + ], + "result": { + "count": 1, + "id": 155, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 44, + "metadata": 7 + } + ], + [ + { + "id": 44, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 155, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 155, + "metadata": 0 + } + ], + [ + { + "id": 155, + "metadata": 0 + } + ] + ], + "result": { + "count": 2, + "id": 155, + "metadata": 0 + } + } + ], + "156": [ + { + "inShape": [ + [ + null, + null, + 155 + ], + [ + null, + 155, + 155 + ], + [ + 155, + 155, + 155 + ] + ], + "result": { + "count": 4, + "id": 156, + "metadata": 0 + } + } + ], + "157": [ + { + "inShape": [ + [ + 265, + 280, + 265 + ], + [ + 265, + 75, + 265 + ], + [ + 265, + 280, + 265 + ] + ], + "result": { + "count": 6, + "id": 157, + "metadata": 0 + } + } + ], + "158": [ + { + "inShape": [ + [ + 4, + 4, + 4 + ], + [ + 4, + null, + 4 + ], + [ + 4, + 331, + 4 + ] + ], + "result": { + "count": 1, + "id": 158, + "metadata": 0 + } + } + ], + "160": [ + { + "inShape": [ + [ + { + "id": 95, + "metadata": 0 + }, + { + "id": 95, + "metadata": 0 + }, + { + "id": 95, + "metadata": 0 + } + ], + [ + { + "id": 95, + "metadata": 0 + }, + { + "id": 95, + "metadata": 0 + }, + { + "id": 95, + "metadata": 0 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 1 + }, + { + "id": 95, + "metadata": 1 + }, + { + "id": 95, + "metadata": 1 + } + ], + [ + { + "id": 95, + "metadata": 1 + }, + { + "id": 95, + "metadata": 1 + }, + { + "id": 95, + "metadata": 1 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 2 + }, + { + "id": 95, + "metadata": 2 + }, + { + "id": 95, + "metadata": 2 + } + ], + [ + { + "id": 95, + "metadata": 2 + }, + { + "id": 95, + "metadata": 2 + }, + { + "id": 95, + "metadata": 2 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 3 + }, + { + "id": 95, + "metadata": 3 + }, + { + "id": 95, + "metadata": 3 + } + ], + [ + { + "id": 95, + "metadata": 3 + }, + { + "id": 95, + "metadata": 3 + }, + { + "id": 95, + "metadata": 3 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 3 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 4 + }, + { + "id": 95, + "metadata": 4 + }, + { + "id": 95, + "metadata": 4 + } + ], + [ + { + "id": 95, + "metadata": 4 + }, + { + "id": 95, + "metadata": 4 + }, + { + "id": 95, + "metadata": 4 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 4 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 5 + }, + { + "id": 95, + "metadata": 5 + }, + { + "id": 95, + "metadata": 5 + } + ], + [ + { + "id": 95, + "metadata": 5 + }, + { + "id": 95, + "metadata": 5 + }, + { + "id": 95, + "metadata": 5 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 5 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 6 + }, + { + "id": 95, + "metadata": 6 + }, + { + "id": 95, + "metadata": 6 + } + ], + [ + { + "id": 95, + "metadata": 6 + }, + { + "id": 95, + "metadata": 6 + }, + { + "id": 95, + "metadata": 6 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 6 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 7 + }, + { + "id": 95, + "metadata": 7 + }, + { + "id": 95, + "metadata": 7 + } + ], + [ + { + "id": 95, + "metadata": 7 + }, + { + "id": 95, + "metadata": 7 + }, + { + "id": 95, + "metadata": 7 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 7 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 8 + }, + { + "id": 95, + "metadata": 8 + }, + { + "id": 95, + "metadata": 8 + } + ], + [ + { + "id": 95, + "metadata": 8 + }, + { + "id": 95, + "metadata": 8 + }, + { + "id": 95, + "metadata": 8 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 8 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 9 + }, + { + "id": 95, + "metadata": 9 + }, + { + "id": 95, + "metadata": 9 + } + ], + [ + { + "id": 95, + "metadata": 9 + }, + { + "id": 95, + "metadata": 9 + }, + { + "id": 95, + "metadata": 9 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 9 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 10 + }, + { + "id": 95, + "metadata": 10 + }, + { + "id": 95, + "metadata": 10 + } + ], + [ + { + "id": 95, + "metadata": 10 + }, + { + "id": 95, + "metadata": 10 + }, + { + "id": 95, + "metadata": 10 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 10 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 11 + }, + { + "id": 95, + "metadata": 11 + }, + { + "id": 95, + "metadata": 11 + } + ], + [ + { + "id": 95, + "metadata": 11 + }, + { + "id": 95, + "metadata": 11 + }, + { + "id": 95, + "metadata": 11 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 11 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 12 + }, + { + "id": 95, + "metadata": 12 + }, + { + "id": 95, + "metadata": 12 + } + ], + [ + { + "id": 95, + "metadata": 12 + }, + { + "id": 95, + "metadata": 12 + }, + { + "id": 95, + "metadata": 12 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 12 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 13 + }, + { + "id": 95, + "metadata": 13 + }, + { + "id": 95, + "metadata": 13 + } + ], + [ + { + "id": 95, + "metadata": 13 + }, + { + "id": 95, + "metadata": 13 + }, + { + "id": 95, + "metadata": 13 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 13 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 14 + }, + { + "id": 95, + "metadata": 14 + }, + { + "id": 95, + "metadata": 14 + } + ], + [ + { + "id": 95, + "metadata": 14 + }, + { + "id": 95, + "metadata": 14 + }, + { + "id": 95, + "metadata": 14 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 14 + } + }, + { + "inShape": [ + [ + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + } + ], + [ + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + }, + { + "id": 95, + "metadata": 15 + } + ] + ], + "result": { + "count": 16, + "id": 160, + "metadata": 15 + } + } + ], + "163": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 4 + } + ], + [ + null, + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ], + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ] + ], + "result": { + "count": 4, + "id": 163, + "metadata": 0 + } + } + ], + "164": [ + { + "inShape": [ + [ + null, + null, + { + "id": 5, + "metadata": 5 + } + ], + [ + null, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 4, + "id": 164, + "metadata": 0 + } + } + ], + "165": [ + { + "inShape": [ + [ + 341, + 341, + 341 + ], + [ + 341, + 341, + 341 + ], + [ + 341, + 341, + 341 + ] + ], + "result": { + "count": 1, + "id": 165, + "metadata": 0 + } + } + ], + "167": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 167, + "metadata": 0 + } + } + ], + "168": [ + { + "inShape": [ + [ + 409, + 409 + ], + [ + 409, + 409 + ] + ], + "result": { + "count": 1, + "id": 168, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 409, + 409, + 409 + ], + [ + 409, + 409, + 409 + ], + [ + 409, + 409, + 409 + ] + ], + "result": { + "count": 1, + "id": 168, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 409, + 409, + 409 + ], + [ + 409, + { + "id": 351, + "metadata": 0 + }, + 409 + ], + [ + 409, + 409, + 409 + ] + ], + "result": { + "count": 1, + "id": 168, + "metadata": 2 + } + } + ], + "169": [ + { + "inShape": [ + [ + 409, + 410, + 409 + ], + [ + 410, + 410, + 410 + ], + [ + 409, + 410, + 409 + ] + ], + "result": { + "count": 1, + "id": 169, + "metadata": 0 + } + } + ], + "170": [ + { + "inShape": [ + [ + 296, + 296, + 296 + ], + [ + 296, + 296, + 296 + ], + [ + 296, + 296, + 296 + ] + ], + "result": { + "count": 1, + "id": 170, + "metadata": 0 + } + } + ], + "171": [ + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 2 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 5 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 7 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 8 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 9 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 10 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 11 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 12 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 13 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 14 + } + }, + { + "inShape": [ + [ + 35, + 35 + ] + ], + "result": { + "count": 3, + "id": 171, + "metadata": 15 + } + } + ], + "172": [ + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 15 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 14 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 13 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 2 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 12 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 3 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 11 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 10 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 5 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 9 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 8 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 7 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 7 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 8 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 6 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 9 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 5 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 10 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 4 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 11 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 3 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 12 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 2 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 13 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 1 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 14 + } + }, + { + "inShape": [ + [ + 172, + 172, + 172 + ], + [ + 172, + { + "id": 351, + "metadata": 0 + }, + 172 + ], + [ + 172, + 172, + 172 + ] + ], + "result": { + "count": 8, + "id": 172, + "metadata": 15 + } + } + ], + "173": [ + { + "inShape": [ + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ], + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ], + [ + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + }, + { + "id": 263, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 173, + "metadata": 0 + } + } + ], + "179": [ + { + "inShape": [ + [ + { + "id": 12, + "metadata": 1 + }, + { + "id": 12, + "metadata": 1 + } + ], + [ + { + "id": 12, + "metadata": 1 + }, + { + "id": 12, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 179, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 179, + "metadata": 0 + }, + { + "id": 179, + "metadata": 0 + } + ], + [ + { + "id": 179, + "metadata": 0 + }, + { + "id": 179, + "metadata": 0 + } + ] + ], + "result": { + "count": 4, + "id": 179, + "metadata": 2 + } + }, + { + "inShape": [ + [ + { + "id": 182, + "metadata": 0 + } + ], + [ + { + "id": 182, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 179, + "metadata": 1 + } + } + ], + "180": [ + { + "inShape": [ + [ + null, + null, + 179 + ], + [ + null, + 179, + 179 + ], + [ + 179, + 179, + 179 + ] + ], + "result": { + "count": 4, + "id": 180, + "metadata": 0 + } + } + ], + "182": [ + { + "inShape": [ + [ + 179, + 179, + 179 + ] + ], + "result": { + "count": 6, + "id": 182, + "metadata": 0 + } + } + ], + "183": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 1 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 1 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 183, + "metadata": 0 + } + } + ], + "184": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 2 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 2 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 184, + "metadata": 0 + } + } + ], + "185": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 3 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 3 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 185, + "metadata": 0 + } + } + ], + "186": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 5 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 5 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 186, + "metadata": 0 + } + } + ], + "187": [ + { + "inShape": [ + [ + 280, + { + "id": 5, + "metadata": 4 + }, + 280 + ], + [ + 280, + { + "id": 5, + "metadata": 4 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 187, + "metadata": 0 + } + } + ], + "188": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 1 + }, + 280, + { + "id": 5, + "metadata": 1 + } + ], + [ + { + "id": 5, + "metadata": 1 + }, + 280, + { + "id": 5, + "metadata": 1 + } + ] + ], + "result": { + "count": 3, + "id": 188, + "metadata": 0 + } + } + ], + "189": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 2 + }, + 280, + { + "id": 5, + "metadata": 2 + } + ], + [ + { + "id": 5, + "metadata": 2 + }, + 280, + { + "id": 5, + "metadata": 2 + } + ] + ], + "result": { + "count": 3, + "id": 189, + "metadata": 0 + } + } + ], + "190": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 3 + }, + 280, + { + "id": 5, + "metadata": 3 + } + ], + [ + { + "id": 5, + "metadata": 3 + }, + 280, + { + "id": 5, + "metadata": 3 + } + ] + ], + "result": { + "count": 3, + "id": 190, + "metadata": 0 + } + } + ], + "191": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + 280, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + 280, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 3, + "id": 191, + "metadata": 0 + } + } + ], + "192": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 4 + }, + 280, + { + "id": 5, + "metadata": 4 + } + ], + [ + { + "id": 5, + "metadata": 4 + }, + 280, + { + "id": 5, + "metadata": 4 + } + ] + ], + "result": { + "count": 3, + "id": 192, + "metadata": 0 + } + } + ], + "198": [ + { + "inShape": [ + [ + 369 + ], + [ + 433 + ] + ], + "result": { + "count": 4, + "id": 198, + "metadata": 0 + } + } + ], + "201": [ + { + "inShape": [ + [ + 433, + 433 + ], + [ + 433, + 433 + ] + ], + "result": { + "count": 4, + "id": 201, + "metadata": 0 + } + } + ], + "202": [ + { + "inShape": [ + [ + 205 + ], + [ + 205 + ] + ], + "result": { + "count": 1, + "id": 202, + "metadata": 0 + } + } + ], + "203": [ + { + "inShape": [ + [ + null, + null, + 201 + ], + [ + null, + 201, + 201 + ], + [ + 201, + 201, + 201 + ] + ], + "result": { + "count": 4, + "id": 203, + "metadata": 0 + } + } + ], + "205": [ + { + "inShape": [ + [ + 201, + 201, + 201 + ] + ], + "result": { + "count": 6, + "id": 205, + "metadata": 0 + } + } + ], + "256": [ + { + "ingredients": [ + 256, + 256 + ], + "result": { + "count": 1, + "id": 256, + "metadata": 0 + } + } + ], + "257": [ + { + "ingredients": [ + 257, + 257 + ], + "result": { + "count": 1, + "id": 257, + "metadata": 0 + } + } + ], + "258": [ + { + "ingredients": [ + 258, + 258 + ], + "result": { + "count": 1, + "id": 258, + "metadata": 0 + } + } + ], + "259": [ + { + "ingredients": [ + 265, + 318 + ], + "result": { + "count": 1, + "id": 259, + "metadata": 0 + } + }, + { + "ingredients": [ + 259, + 259 + ], + "result": { + "count": 1, + "id": 259, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 265, + null + ], + [ + null, + 318 + ] + ], + "result": { + "count": 1, + "id": 259, + "metadata": 0 + } + } + ], + "261": [ + { + "inShape": [ + [ + null, + 280, + 287 + ], + [ + 280, + null, + 287 + ], + [ + null, + 280, + 287 + ] + ], + "result": { + "count": 1, + "id": 261, + "metadata": 0 + } + }, + { + "ingredients": [ + 261, + 261 + ], + "result": { + "count": 1, + "id": 261, + "metadata": 0 + } + } + ], + "262": [ + { + "inShape": [ + [ + 318 + ], + [ + 280 + ], + [ + 288 + ] + ], + "result": { + "count": 4, + "id": 262, + "metadata": 0 + } + } + ], + "263": [ + { + "inShape": [ + [ + 173 + ] + ], + "result": { + "count": 9, + "id": 263, + "metadata": 0 + } + } + ], + "264": [ + { + "inShape": [ + [ + 57 + ] + ], + "result": { + "count": 9, + "id": 264, + "metadata": 0 + } + } + ], + "265": [ + { + "inShape": [ + [ + 42 + ] + ], + "result": { + "count": 9, + "id": 265, + "metadata": 0 + } + } + ], + "266": [ + { + "inShape": [ + [ + 41 + ] + ], + "result": { + "count": 9, + "id": 266, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 371, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 266, + "metadata": 0 + } + } + ], + "267": [ + { + "ingredients": [ + 267, + 267 + ], + "result": { + "count": 1, + "id": 267, + "metadata": 0 + } + } + ], + "268": [ + { + "ingredients": [ + 268, + 268 + ], + "result": { + "count": 1, + "id": 268, + "metadata": 0 + } + } + ], + "269": [ + { + "ingredients": [ + 269, + 269 + ], + "result": { + "count": 1, + "id": 269, + "metadata": 0 + } + } + ], + "270": [ + { + "ingredients": [ + 270, + 270 + ], + "result": { + "count": 1, + "id": 270, + "metadata": 0 + } + } + ], + "271": [ + { + "ingredients": [ + 271, + 271 + ], + "result": { + "count": 1, + "id": 271, + "metadata": 0 + } + } + ], + "272": [ + { + "ingredients": [ + 272, + 272 + ], + "result": { + "count": 1, + "id": 272, + "metadata": 0 + } + } + ], + "273": [ + { + "ingredients": [ + 273, + 273 + ], + "result": { + "count": 1, + "id": 273, + "metadata": 0 + } + } + ], + "274": [ + { + "ingredients": [ + 274, + 274 + ], + "result": { + "count": 1, + "id": 274, + "metadata": 0 + } + } + ], + "275": [ + { + "ingredients": [ + 275, + 275 + ], + "result": { + "count": 1, + "id": 275, + "metadata": 0 + } + } + ], + "276": [ + { + "ingredients": [ + 276, + 276 + ], + "result": { + "count": 1, + "id": 276, + "metadata": 0 + } + } + ], + "277": [ + { + "ingredients": [ + 277, + 277 + ], + "result": { + "count": 1, + "id": 277, + "metadata": 0 + } + } + ], + "278": [ + { + "ingredients": [ + 278, + 278 + ], + "result": { + "count": 1, + "id": 278, + "metadata": 0 + } + } + ], + "279": [ + { + "ingredients": [ + 279, + 279 + ], + "result": { + "count": 1, + "id": 279, + "metadata": 0 + } + } + ], + "280": [ + { + "inShape": [ + [ + 5 + ], + [ + 5 + ] + ], + "result": { + "count": 4, + "id": 280, + "metadata": 0 + } + } + ], + "281": [ + { + "inShape": [ + [ + 5, + null, + 5 + ], + [ + null, + 5, + null + ] + ], + "result": { + "count": 4, + "id": 281, + "metadata": 0 + } + } + ], + "282": [ + { + "ingredients": [ + 40, + 39, + 281 + ], + "result": { + "count": 1, + "id": 282, + "metadata": 0 + } + } + ], + "283": [ + { + "ingredients": [ + 283, + 283 + ], + "result": { + "count": 1, + "id": 283, + "metadata": 0 + } + } + ], + "284": [ + { + "ingredients": [ + 284, + 284 + ], + "result": { + "count": 1, + "id": 284, + "metadata": 0 + } + } + ], + "285": [ + { + "ingredients": [ + 285, + 285 + ], + "result": { + "count": 1, + "id": 285, + "metadata": 0 + } + } + ], + "286": [ + { + "ingredients": [ + 286, + 286 + ], + "result": { + "count": 1, + "id": 286, + "metadata": 0 + } + } + ], + "290": [ + { + "ingredients": [ + 290, + 290 + ], + "result": { + "count": 1, + "id": 290, + "metadata": 0 + } + } + ], + "291": [ + { + "ingredients": [ + 291, + 291 + ], + "result": { + "count": 1, + "id": 291, + "metadata": 0 + } + } + ], + "292": [ + { + "ingredients": [ + 292, + 292 + ], + "result": { + "count": 1, + "id": 292, + "metadata": 0 + } + } + ], + "293": [ + { + "ingredients": [ + 293, + 293 + ], + "result": { + "count": 1, + "id": 293, + "metadata": 0 + } + } + ], + "294": [ + { + "ingredients": [ + 294, + 294 + ], + "result": { + "count": 1, + "id": 294, + "metadata": 0 + } + } + ], + "296": [ + { + "inShape": [ + [ + 170 + ] + ], + "result": { + "count": 9, + "id": 296, + "metadata": 0 + } + } + ], + "297": [ + { + "inShape": [ + [ + 296, + 296, + 296 + ] + ], + "result": { + "count": 1, + "id": 297, + "metadata": 0 + } + } + ], + "298": [ + { + "inShape": [ + [ + 334, + 334, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 298, + "metadata": 0 + } + }, + { + "ingredients": [ + 298, + 298 + ], + "result": { + "count": 1, + "id": 298, + "metadata": 0 + } + } + ], + "299": [ + { + "inShape": [ + [ + 334, + null, + 334 + ], + [ + 334, + 334, + 334 + ], + [ + 334, + 334, + 334 + ] + ], + "result": { + "count": 1, + "id": 299, + "metadata": 0 + } + }, + { + "ingredients": [ + 299, + 299 + ], + "result": { + "count": 1, + "id": 299, + "metadata": 0 + } + } + ], + "300": [ + { + "inShape": [ + [ + 334, + 334, + 334 + ], + [ + 334, + null, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 300, + "metadata": 0 + } + }, + { + "ingredients": [ + 300, + 300 + ], + "result": { + "count": 1, + "id": 300, + "metadata": 0 + } + } + ], + "301": [ + { + "inShape": [ + [ + 334, + null, + 334 + ], + [ + 334, + null, + 334 + ] + ], + "result": { + "count": 1, + "id": 301, + "metadata": 0 + } + }, + { + "ingredients": [ + 301, + 301 + ], + "result": { + "count": 1, + "id": 301, + "metadata": 0 + } + } + ], + "302": [ + { + "ingredients": [ + 302, + 302 + ], + "result": { + "count": 1, + "id": 302, + "metadata": 0 + } + } + ], + "303": [ + { + "ingredients": [ + 303, + 303 + ], + "result": { + "count": 1, + "id": 303, + "metadata": 0 + } + } + ], + "304": [ + { + "ingredients": [ + 304, + 304 + ], + "result": { + "count": 1, + "id": 304, + "metadata": 0 + } + } + ], + "305": [ + { + "ingredients": [ + 305, + 305 + ], + "result": { + "count": 1, + "id": 305, + "metadata": 0 + } + } + ], + "306": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 306, + "metadata": 0 + } + }, + { + "ingredients": [ + 306, + 306 + ], + "result": { + "count": 1, + "id": 306, + "metadata": 0 + } + } + ], + "307": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 307, + "metadata": 0 + } + }, + { + "ingredients": [ + 307, + 307 + ], + "result": { + "count": 1, + "id": 307, + "metadata": 0 + } + } + ], + "308": [ + { + "inShape": [ + [ + 265, + 265, + 265 + ], + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 308, + "metadata": 0 + } + }, + { + "ingredients": [ + 308, + 308 + ], + "result": { + "count": 1, + "id": 308, + "metadata": 0 + } + } + ], + "309": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ] + ], + "result": { + "count": 1, + "id": 309, + "metadata": 0 + } + }, + { + "ingredients": [ + 309, + 309 + ], + "result": { + "count": 1, + "id": 309, + "metadata": 0 + } + } + ], + "310": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 310, + "metadata": 0 + } + }, + { + "ingredients": [ + 310, + 310 + ], + "result": { + "count": 1, + "id": 310, + "metadata": 0 + } + } + ], + "311": [ + { + "inShape": [ + [ + 264, + null, + 264 + ], + [ + 264, + 264, + 264 + ], + [ + 264, + 264, + 264 + ] + ], + "result": { + "count": 1, + "id": 311, + "metadata": 0 + } + }, + { + "ingredients": [ + 311, + 311 + ], + "result": { + "count": 1, + "id": 311, + "metadata": 0 + } + } + ], + "312": [ + { + "inShape": [ + [ + 264, + 264, + 264 + ], + [ + 264, + null, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 312, + "metadata": 0 + } + }, + { + "ingredients": [ + 312, + 312 + ], + "result": { + "count": 1, + "id": 312, + "metadata": 0 + } + } + ], + "313": [ + { + "inShape": [ + [ + 264, + null, + 264 + ], + [ + 264, + null, + 264 + ] + ], + "result": { + "count": 1, + "id": 313, + "metadata": 0 + } + }, + { + "ingredients": [ + 313, + 313 + ], + "result": { + "count": 1, + "id": 313, + "metadata": 0 + } + } + ], + "314": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 314, + "metadata": 0 + } + }, + { + "ingredients": [ + 314, + 314 + ], + "result": { + "count": 1, + "id": 314, + "metadata": 0 + } + } + ], + "315": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + 266, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 315, + "metadata": 0 + } + }, + { + "ingredients": [ + 315, + 315 + ], + "result": { + "count": 1, + "id": 315, + "metadata": 0 + } + } + ], + "316": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + null, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 316, + "metadata": 0 + } + }, + { + "ingredients": [ + 316, + 316 + ], + "result": { + "count": 1, + "id": 316, + "metadata": 0 + } + } + ], + "317": [ + { + "inShape": [ + [ + 266, + null, + 266 + ], + [ + 266, + null, + 266 + ] + ], + "result": { + "count": 1, + "id": 317, + "metadata": 0 + } + }, + { + "ingredients": [ + 317, + 317 + ], + "result": { + "count": 1, + "id": 317, + "metadata": 0 + } + } + ], + "321": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + 280, + 35, + 280 + ], + [ + 280, + 280, + 280 + ] + ], + "result": { + "count": 1, + "id": 321, + "metadata": 0 + } + } + ], + "322": [ + { + "inShape": [ + [ + 266, + 266, + 266 + ], + [ + 266, + 260, + 266 + ], + [ + 266, + 266, + 266 + ] + ], + "result": { + "count": 1, + "id": 322, + "metadata": 0 + } + } + ], + "323": [ + { + "inShape": [ + [ + 5, + 5, + 5 + ], + [ + 5, + 5, + 5 + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 3, + "id": 323, + "metadata": 0 + } + } + ], + "324": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 3, + "id": 324, + "metadata": 0 + } + } + ], + "325": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 325, + "metadata": 0 + } + } + ], + "328": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 328, + "metadata": 0 + } + } + ], + "330": [ + { + "inShape": [ + [ + 265, + 265 + ], + [ + 265, + 265 + ], + [ + 265, + 265 + ] + ], + "result": { + "count": 3, + "id": 330, + "metadata": 0 + } + } + ], + "331": [ + { + "inShape": [ + [ + 152 + ] + ], + "result": { + "count": 9, + "id": 331, + "metadata": 0 + } + } + ], + "333": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + null, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 333, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 5, + "metadata": 0 + }, + 269, + { + "id": 5, + "metadata": 0 + } + ], + [ + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + }, + { + "id": 5, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 333, + "metadata": 0 + } + } + ], + "334": [ + { + "inShape": [ + [ + 415, + 415 + ], + [ + 415, + 415 + ] + ], + "result": { + "count": 1, + "id": 334, + "metadata": 0 + } + } + ], + "339": [ + { + "inShape": [ + [ + 338, + 338, + 338 + ] + ], + "result": { + "count": 3, + "id": 339, + "metadata": 0 + } + } + ], + "340": [ + { + "ingredients": [ + 339, + 339, + 339, + 334 + ], + "result": { + "count": 1, + "id": 340, + "metadata": 0 + } + } + ], + "341": [ + { + "inShape": [ + [ + 165 + ] + ], + "result": { + "count": 9, + "id": 341, + "metadata": 0 + } + } + ], + "342": [ + { + "inShape": [ + [ + 54 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 342, + "metadata": 0 + } + } + ], + "343": [ + { + "inShape": [ + [ + 61 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 343, + "metadata": 0 + } + } + ], + "345": [ + { + "inShape": [ + [ + null, + 265, + null + ], + [ + 265, + 331, + 265 + ], + [ + null, + 265, + null + ] + ], + "result": { + "count": 1, + "id": 345, + "metadata": 0 + } + } + ], + "346": [ + { + "inShape": [ + [ + null, + null, + 280 + ], + [ + null, + 280, + 287 + ], + [ + 280, + null, + 287 + ] + ], + "result": { + "count": 1, + "id": 346, + "metadata": 0 + } + }, + { + "ingredients": [ + 346, + 346 + ], + "result": { + "count": 1, + "id": 346, + "metadata": 0 + } + } + ], + "347": [ + { + "inShape": [ + [ + null, + 266, + null + ], + [ + 266, + 331, + 266 + ], + [ + null, + 266, + null + ] + ], + "result": { + "count": 1, + "id": 347, + "metadata": 0 + } + } + ], + "351": [ + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 2 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 6 + } + }, + { + "inShape": [ + [ + 37 + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 11 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 0 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 11 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 8 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 10 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 12 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 12 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 5 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 9 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 5 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 9 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 9 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 13 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 1 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 9 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 4, + "id": 351, + "metadata": 13 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 4 + } + ], + "result": { + "count": 3, + "id": 351, + "metadata": 13 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 14 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 11 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 14 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 38, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + { + "id": 175, + "metadata": 4 + } + ] + ], + "result": { + "count": 2, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 434 + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 1 + } + }, + { + "inShape": [ + [ + 38 + ] + ], + "result": { + "count": 1, + "id": 351, + "metadata": 7 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 3, + "id": 351, + "metadata": 7 + } + }, + { + "ingredients": [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 2, + "id": 351, + "metadata": 7 + } + }, + { + "inShape": [ + [ + 22 + ] + ], + "result": { + "count": 9, + "id": 351, + "metadata": 4 + } + }, + { + "inShape": [ + [ + 352 + ] + ], + "result": { + "count": 3, + "id": 351, + "metadata": 15 + } + } + ], + "353": [ + { + "inShape": [ + [ + 338 + ] + ], + "result": { + "count": 1, + "id": 353, + "metadata": 0 + } + } + ], + "354": [ + { + "inShape": [ + [ + 335, + 335, + 335 + ], + [ + 353, + 344, + 353 + ], + [ + 296, + 296, + 296 + ] + ], + "outShape": [ + [ + 325, + 325, + 325 + ], + [ + null, + null, + null + ], + [ + null, + null, + null + ] + ], + "result": { + "count": 1, + "id": 354, + "metadata": 0 + } + } + ], + "355": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 5, + 5, + 5 + ] + ], + "result": { + "count": 1, + "id": 355, + "metadata": 0 + } + } + ], + "356": [ + { + "inShape": [ + [ + 75, + 331, + 75 + ], + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 356, + "metadata": 0 + } + } + ], + "357": [ + { + "inShape": [ + [ + 296, + { + "id": 351, + "metadata": 3 + }, + 296 + ] + ], + "result": { + "count": 8, + "id": 357, + "metadata": 0 + } + } + ], + "358": [ + { + "inShape": [ + [ + 339, + 339, + 339 + ], + [ + 339, + 358, + 339 + ], + [ + 339, + 339, + 339 + ] + ], + "result": { + "count": 1, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 358, + 395 + ], + "result": { + "count": 2, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 358, + 395, + 395 + ], + "result": { + "count": 3, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 358, + 395, + 395, + 395 + ], + "result": { + "count": 4, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 358, + 395, + 395, + 395 + ], + "result": { + "count": 5, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 395, + 358, + 395, + 395, + 395 + ], + "result": { + "count": 6, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 395, + 395, + 358, + 395, + 395, + 395 + ], + "result": { + "count": 7, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 395, + 395, + 358, + 395, + 395, + 395, + 395 + ], + "result": { + "count": 8, + "id": 358, + "metadata": 0 + } + }, + { + "ingredients": [ + 395, + 395, + 395, + 358, + 395, + 395, + 395, + 395, + 395 + ], + "result": { + "count": 9, + "id": 358, + "metadata": 0 + } + } + ], + "359": [ + { + "inShape": [ + [ + null, + 265 + ], + [ + 265, + null + ] + ], + "result": { + "count": 1, + "id": 359, + "metadata": 0 + } + }, + { + "ingredients": [ + 359, + 359 + ], + "result": { + "count": 1, + "id": 359, + "metadata": 0 + } + } + ], + "361": [ + { + "inShape": [ + [ + 86 + ] + ], + "result": { + "count": 4, + "id": 361, + "metadata": 0 + } + } + ], + "362": [ + { + "inShape": [ + [ + 360 + ] + ], + "result": { + "count": 1, + "id": 362, + "metadata": 0 + } + } + ], + "371": [ + { + "inShape": [ + [ + 266 + ] + ], + "result": { + "count": 9, + "id": 371, + "metadata": 0 + } + } + ], + "374": [ + { + "inShape": [ + [ + 20, + null, + 20 + ], + [ + null, + 20, + null + ] + ], + "result": { + "count": 3, + "id": 374, + "metadata": 0 + } + } + ], + "376": [ + { + "ingredients": [ + 39, + 353, + 375 + ], + "result": { + "count": 1, + "id": 376, + "metadata": 0 + } + } + ], + "377": [ + { + "inShape": [ + [ + 369 + ] + ], + "result": { + "count": 2, + "id": 377, + "metadata": 0 + } + } + ], + "378": [ + { + "ingredients": [ + 377, + 341 + ], + "result": { + "count": 1, + "id": 378, + "metadata": 0 + } + } + ], + "379": [ + { + "inShape": [ + [ + null, + 369, + null + ], + [ + 4, + 4, + 4 + ] + ], + "result": { + "count": 1, + "id": 379, + "metadata": 0 + } + } + ], + "380": [ + { + "inShape": [ + [ + 265, + null, + 265 + ], + [ + 265, + null, + 265 + ], + [ + 265, + 265, + 265 + ] + ], + "result": { + "count": 1, + "id": 380, + "metadata": 0 + } + } + ], + "381": [ + { + "ingredients": [ + 377, + 368 + ], + "result": { + "count": 1, + "id": 381, + "metadata": 0 + } + } + ], + "382": [ + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 360, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 382, + "metadata": 0 + } + } + ], + "385": [ + { + "ingredients": [ + 377, + 263, + 289 + ], + "result": { + "count": 3, + "id": 385, + "metadata": 0 + } + } + ], + "386": [ + { + "ingredients": [ + 340, + { + "id": 351, + "metadata": 0 + }, + 288 + ], + "result": { + "count": 1, + "id": 386, + "metadata": 0 + } + } + ], + "387": [ + { + "ingredients": [ + 386, + 387 + ], + "result": { + "count": 1, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 387, + 386 + ], + "result": { + "count": 2, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 387, + 386, + 386 + ], + "result": { + "count": 3, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 4, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 5, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386 + ], + "result": { + "count": 6, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386, + 386 + ], + "result": { + "count": 7, + "id": 387, + "metadata": 0 + } + }, + { + "ingredients": [ + 386, + 386, + 386, + 386, + 387, + 386, + 386, + 386, + 386 + ], + "result": { + "count": 8, + "id": 387, + "metadata": 0 + } + } + ], + "388": [ + { + "inShape": [ + [ + 133 + ] + ], + "result": { + "count": 9, + "id": 388, + "metadata": 0 + } + } + ], + "389": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + 280, + 334, + 280 + ], + [ + 280, + 280, + 280 + ] + ], + "result": { + "count": 1, + "id": 389, + "metadata": 0 + } + } + ], + "390": [ + { + "inShape": [ + [ + 336, + null, + 336 + ], + [ + null, + 336, + null + ] + ], + "result": { + "count": 1, + "id": 390, + "metadata": 0 + } + } + ], + "395": [ + { + "inShape": [ + [ + 339, + 339, + 339 + ], + [ + 339, + 345, + 339 + ], + [ + 339, + 339, + 339 + ] + ], + "result": { + "count": 1, + "id": 395, + "metadata": 0 + } + } + ], + "396": [ + { + "inShape": [ + [ + 371, + 371, + 371 + ], + [ + 371, + 391, + 371 + ], + [ + 371, + 371, + 371 + ] + ], + "result": { + "count": 1, + "id": 396, + "metadata": 0 + } + } + ], + "398": [ + { + "inShape": [ + [ + 346, + null + ], + [ + null, + 391 + ] + ], + "result": { + "count": 1, + "id": 398, + "metadata": 0 + } + }, + { + "ingredients": [ + 398, + 398 + ], + "result": { + "count": 1, + "id": 398, + "metadata": 0 + } + } + ], + "400": [ + { + "ingredients": [ + 86, + 353, + 344 + ], + "result": { + "count": 1, + "id": 400, + "metadata": 0 + } + } + ], + "401": [ + { + "ingredients": [ + 339, + 289 + ], + "result": { + "count": 1, + "id": 401, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + 339, + 289 + ], + "result": { + "count": 1, + "id": 401, + "metadata": 0 + } + } + ], + "402": [ + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 15 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 14 + }, + 348 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 13 + }, + { + "id": 397, + "metadata": 3 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 12 + }, + 371 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 11 + }, + 288 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 10 + }, + 385 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 9 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 8 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 7 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 6 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 5 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 4 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 3 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 2 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 1 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 289, + { + "id": 351, + "metadata": 0 + }, + 264 + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 15 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 14 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 13 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 12 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 11 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 10 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 9 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 8 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 7 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 6 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 5 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 4 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 3 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 2 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 1 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + }, + { + "ingredients": [ + 402, + { + "id": 351, + "metadata": 0 + } + ], + "result": { + "count": 1, + "id": 402, + "metadata": 0 + } + } + ], + "404": [ + { + "inShape": [ + [ + null, + 75, + null + ], + [ + 75, + 406, + 75 + ], + [ + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + }, + { + "id": 1, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 404, + "metadata": 0 + } + } + ], + "405": [ + { + "inShape": [ + [ + 405, + 405 + ], + [ + 405, + 405 + ] + ], + "result": { + "count": 1, + "id": 405, + "metadata": 0 + } + } + ], + "407": [ + { + "inShape": [ + [ + 46 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 407, + "metadata": 0 + } + } + ], + "408": [ + { + "inShape": [ + [ + 154 + ], + [ + 328 + ] + ], + "result": { + "count": 1, + "id": 408, + "metadata": 0 + } + } + ], + "413": [ + { + "inShape": [ + [ + null, + 412, + null + ], + [ + 391, + 393, + 40 + ], + [ + null, + 281, + null + ] + ], + "result": { + "count": 1, + "id": 413, + "metadata": 0 + } + } + ], + "416": [ + { + "inShape": [ + [ + 280, + 280, + 280 + ], + [ + null, + 280, + null + ], + [ + 280, + { + "id": 44, + "metadata": 0 + }, + 280 + ] + ], + "result": { + "count": 1, + "id": 416, + "metadata": 0 + } + } + ], + "420": [ + { + "inShape": [ + [ + 287, + 287, + null + ], + [ + 287, + 341, + null + ], + [ + null, + null, + 287 + ] + ], + "result": { + "count": 2, + "id": 420, + "metadata": 0 + } + } + ], + "425": [ + { + "inShape": [ + [ + 35, + 35, + 35 + ], + [ + 35, + 35, + 35 + ], + [ + null, + 280, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 425, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + null, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + 425, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + 425, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + 425, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + 425, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + 425, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + 425, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + 425, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + 425, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + 425, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + 425, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + 425, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + 425, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + 425, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + 425, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + 425, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + 425, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + 425, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + 425, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + 425, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + 425, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + 425, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + 425, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + 425, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + 425, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + 425, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + 425, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + 425, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + 425, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + 425, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + 425, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + 425, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + 425, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + null + ], + [ + null, + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + null + ], + [ + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + null, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + null, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + null, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + null, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + null, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + null, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + null, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + null, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + null, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + null, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + null, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + null, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + null, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + null, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + null, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + null, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + 425, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + } + ], + [ + 425 + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ], + [ + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + }, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ], + [ + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + }, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ], + [ + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + }, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ], + [ + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + }, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ], + [ + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + }, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ], + [ + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + }, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ], + [ + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + }, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ], + [ + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ], + [ + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + }, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ], + [ + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + }, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ], + [ + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + }, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ], + [ + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ], + [ + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + }, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ], + [ + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + }, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ], + [ + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 106, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + 45, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 15 + }, + null + ], + [ + { + "id": 351, + "metadata": 15 + }, + 425, + { + "id": 351, + "metadata": 15 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 14 + }, + null + ], + [ + { + "id": 351, + "metadata": 14 + }, + 425, + { + "id": 351, + "metadata": 14 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 13 + }, + null + ], + [ + { + "id": 351, + "metadata": 13 + }, + 425, + { + "id": 351, + "metadata": 13 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 12 + }, + null + ], + [ + { + "id": 351, + "metadata": 12 + }, + 425, + { + "id": 351, + "metadata": 12 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 11 + }, + null + ], + [ + { + "id": 351, + "metadata": 11 + }, + 425, + { + "id": 351, + "metadata": 11 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 10 + }, + null + ], + [ + { + "id": 351, + "metadata": 10 + }, + 425, + { + "id": 351, + "metadata": 10 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 9 + }, + null + ], + [ + { + "id": 351, + "metadata": 9 + }, + 425, + { + "id": 351, + "metadata": 9 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 8 + }, + null + ], + [ + { + "id": 351, + "metadata": 8 + }, + 425, + { + "id": 351, + "metadata": 8 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 7 + }, + null + ], + [ + { + "id": 351, + "metadata": 7 + }, + 425, + { + "id": 351, + "metadata": 7 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 6 + }, + null + ], + [ + { + "id": 351, + "metadata": 6 + }, + 425, + { + "id": 351, + "metadata": 6 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 5 + }, + null + ], + [ + { + "id": 351, + "metadata": 5 + }, + 425, + { + "id": 351, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 4 + }, + null + ], + [ + { + "id": 351, + "metadata": 4 + }, + 425, + { + "id": 351, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 3 + }, + null + ], + [ + { + "id": 351, + "metadata": 3 + }, + 425, + { + "id": 351, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 2 + }, + null + ], + [ + { + "id": 351, + "metadata": 2 + }, + 425, + { + "id": 351, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 1 + }, + null + ], + [ + { + "id": 351, + "metadata": 1 + }, + 425, + { + "id": 351, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "inShape": [ + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + null, + { + "id": 351, + "metadata": 0 + }, + null + ], + [ + { + "id": 351, + "metadata": 0 + }, + 425, + { + "id": 351, + "metadata": 0 + } + ] + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 4 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 397, + "metadata": 1 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 38, + "metadata": 8 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 15 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 14 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 13 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 12 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 11 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 10 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 9 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 8 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 7 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 6 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 5 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 4 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 3 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 2 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 1 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + }, + { + "ingredients": [ + { + "id": 322, + "metadata": 0 + }, + { + "id": 351, + "metadata": 0 + }, + 425 + ], + "result": { + "count": 1, + "id": 425, + "metadata": 0 + } + } + ], + "426": [ + { + "inShape": [ + [ + 20, + 20, + 20 + ], + [ + 20, + 381, + 20 + ], + [ + 20, + 370, + 20 + ] + ], + "result": { + "count": 1, + "id": 426, + "metadata": 0 + } + } + ], + "427": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ], + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ], + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ] + ], + "result": { + "count": 3, + "id": 427, + "metadata": 0 + } + } + ], + "428": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ], + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ], + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ] + ], + "result": { + "count": 3, + "id": 428, + "metadata": 0 + } + } + ], + "429": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ], + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ], + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ] + ], + "result": { + "count": 3, + "id": 429, + "metadata": 0 + } + } + ], + "430": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ], + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ], + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ] + ], + "result": { + "count": 3, + "id": 430, + "metadata": 0 + } + } + ], + "431": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 3, + "id": 431, + "metadata": 0 + } + } + ], + "439": [ + { + "inShape": [ + [ + null, + 348, + null + ], + [ + 348, + 262, + 348 + ], + [ + null, + 348, + null + ] + ], + "result": { + "count": 2, + "id": 439, + "metadata": 0 + } + } + ], + "442": [ + { + "inShape": [ + [ + 5, + 265, + 5 + ], + [ + 5, + 5, + 5 + ], + [ + null, + 5, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "ingredients": [ + 442, + 442 + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "ingredients": [ + 442, + 425 + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + { + "id": 5, + "metadata": 0 + }, + null + ], + [ + 35, + { + "id": 5, + "metadata": 0 + }, + 265 + ], + [ + 35, + { + "id": 5, + "metadata": 0 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + { + "id": 5, + "metadata": 1 + }, + null + ], + [ + 35, + { + "id": 5, + "metadata": 1 + }, + 265 + ], + [ + 35, + { + "id": 5, + "metadata": 1 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + { + "id": 5, + "metadata": 2 + }, + null + ], + [ + 35, + { + "id": 5, + "metadata": 2 + }, + 265 + ], + [ + 35, + { + "id": 5, + "metadata": 2 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + { + "id": 5, + "metadata": 3 + }, + null + ], + [ + 35, + { + "id": 5, + "metadata": 3 + }, + 265 + ], + [ + 35, + { + "id": 5, + "metadata": 3 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + { + "id": 5, + "metadata": 4 + }, + null + ], + [ + 35, + { + "id": 5, + "metadata": 4 + }, + 265 + ], + [ + 35, + { + "id": 5, + "metadata": 4 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + }, + { + "inShape": [ + [ + 35, + { + "id": 5, + "metadata": 5 + }, + null + ], + [ + 35, + { + "id": 5, + "metadata": 5 + }, + 265 + ], + [ + 35, + { + "id": 5, + "metadata": 5 + }, + null + ] + ], + "result": { + "count": 1, + "id": 442, + "metadata": 0 + } + } + ], + "443": [ + { + "ingredients": [ + 443, + 443 + ], + "result": { + "count": 1, + "id": 443, + "metadata": 0 + } + } + ], + "444": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 1 + }, + null, + { + "id": 5, + "metadata": 1 + } + ], + [ + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + }, + { + "id": 5, + "metadata": 1 + } + ] + ], + "result": { + "count": 1, + "id": 444, + "metadata": 0 + } + } + ], + "445": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 2 + }, + null, + { + "id": 5, + "metadata": 2 + } + ], + [ + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + }, + { + "id": 5, + "metadata": 2 + } + ] + ], + "result": { + "count": 1, + "id": 445, + "metadata": 0 + } + } + ], + "446": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 3 + }, + null, + { + "id": 5, + "metadata": 3 + } + ], + [ + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + }, + { + "id": 5, + "metadata": 3 + } + ] + ], + "result": { + "count": 1, + "id": 446, + "metadata": 0 + } + } + ], + "447": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 4 + }, + null, + { + "id": 5, + "metadata": 4 + } + ], + [ + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + }, + { + "id": 5, + "metadata": 4 + } + ] + ], + "result": { + "count": 1, + "id": 447, + "metadata": 0 + } + } + ], + "448": [ + { + "inShape": [ + [ + { + "id": 5, + "metadata": 5 + }, + null, + { + "id": 5, + "metadata": 5 + } + ], + [ + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + }, + { + "id": 5, + "metadata": 5 + } + ] + ], + "result": { + "count": 1, + "id": 448, + "metadata": 0 + } + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/version.json new file mode 100644 index 00000000..fde6784d --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/version.json @@ -0,0 +1,5 @@ +{ + "version":107, + "minecraftVersion":"1.9", + "majorVersion":"1.9" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/1.9/windows.json b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/windows.json new file mode 100644 index 00000000..37bdcb69 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/1.9/windows.json @@ -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 + } + ] + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/15w40b/particles.json b/node_modules/minecraft-data/minecraft-data/data/pc/15w40b/particles.json new file mode 100644 index 00000000..1ab550ca --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/15w40b/particles.json @@ -0,0 +1,186 @@ +[ + { + "id": 0, + "name": "explode" + }, + { + "id": 1, + "name": "largeexplode" + }, + { + "id": 2, + "name": "hugeexplosion" + }, + { + "id": 3, + "name": "fireworksSpark" + }, + { + "id": 4, + "name": "bubble" + }, + { + "id": 5, + "name": "splash" + }, + { + "id": 6, + "name": "wake" + }, + { + "id": 7, + "name": "suspended" + }, + { + "id": 8, + "name": "depthsuspend" + }, + { + "id": 9, + "name": "crit" + }, + { + "id": 10, + "name": "magicCrit" + }, + { + "id": 11, + "name": "smoke" + }, + { + "id": 12, + "name": "largesmoke" + }, + { + "id": 13, + "name": "spell" + }, + { + "id": 14, + "name": "instantSpell" + }, + { + "id": 15, + "name": "mobSpell" + }, + { + "id": 16, + "name": "mobSpellAmbient" + }, + { + "id": 17, + "name": "witchMagic" + }, + { + "id": 18, + "name": "dripWater" + }, + { + "id": 19, + "name": "dripLava" + }, + { + "id": 20, + "name": "angryVillager" + }, + { + "id": 21, + "name": "happyVillager" + }, + { + "id": 22, + "name": "townaura" + }, + { + "id": 23, + "name": "note" + }, + { + "id": 24, + "name": "portal" + }, + { + "id": 25, + "name": "enchantmenttable" + }, + { + "id": 26, + "name": "flame" + }, + { + "id": 27, + "name": "lava" + }, + { + "id": 28, + "name": "footstep" + }, + { + "id": 29, + "name": "cloud" + }, + { + "id": 30, + "name": "reddust" + }, + { + "id": 31, + "name": "snowballpoof" + }, + { + "id": 32, + "name": "snowshovel" + }, + { + "id": 33, + "name": "slime" + }, + { + "id": 34, + "name": "heart" + }, + { + "id": 35, + "name": "barrier" + }, + { + "id": 36, + "name": "iconcrack_" + }, + { + "id": 37, + "name": "blockcrack_" + }, + { + "id": 38, + "name": "blockdust_" + }, + { + "id": 39, + "name": "droplet" + }, + { + "id": 40, + "name": "take" + }, + { + "id": 41, + "name": "mobappearance" + }, + { + "id": 42, + "name": "dragonbreath" + }, + { + "id": 43, + "name": "endRod" + }, + { + "id": 44, + "name": "damageIndicator" + }, + { + "id": 45, + "name": "sweepAttack" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/15w40b/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/15w40b/protocol.json new file mode 100644 index 00000000..147f2232 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/15w40b/protocol.json @@ -0,0 +1,3456 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i8" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + } + ] + ], + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "u8" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i8" + }, + { + "name": "dY", + "type": "i8" + }, + { + "name": "dZ", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i8" + }, + { + "name": "dY", + "type": "i8" + }, + { + "name": "dZ", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + }, + { + "name": "leash", + "type": "bool" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "bool" + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "u8" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_scoreboard_team": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_compression": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x1f": "keep_alive", + "0x24": "login", + "0x0f": "chat", + "0x43": "update_time", + "0x3c": "entity_equipment", + "0x42": "spawn_position", + "0x3e": "update_health", + "0x33": "respawn", + "0x2e": "position", + "0x37": "held_item_slot", + "0x2f": "bed", + "0x06": "animation", + "0x05": "named_entity_spawn", + "0x47": "collect", + "0x00": "spawn_entity", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x01": "spawn_entity_experience_orb", + "0x3b": "entity_velocity", + "0x30": "entity_destroy", + "0x29": "entity", + "0x26": "rel_entity_move", + "0x28": "entity_look", + "0x27": "entity_move_look", + "0x48": "entity_teleport", + "0x34": "entity_head_rotation", + "0x1a": "entity_status", + "0x3a": "attach_entity", + "0x39": "entity_metadata", + "0x4a": "entity_effect", + "0x31": "remove_entity_effect", + "0x3d": "experience", + "0x49": "update_attributes", + "0x20": "map_chunk", + "0x10": "multi_block_change", + "0x0b": "block_change", + "0x0a": "block_action", + "0x08": "block_break_animation", + "0x1b": "explosion", + "0x21": "world_event", + "0x23": "named_sound_effect", + "0x22": "world_particles", + "0x1e": "game_state_change", + "0x02": "spawn_entity_weather", + "0x13": "open_window", + "0x12": "close_window", + "0x16": "set_slot", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x11": "transaction", + "0x45": "update_sign", + "0x25": "map", + "0x09": "tile_entity_data", + "0x2a": "open_sign_entity", + "0x07": "statistics", + "0x2d": "player_info", + "0x2b": "abilities", + "0x0e": "tab_complete", + "0x3f": "scoreboard_objective", + "0x41": "scoreboard_score", + "0x38": "scoreboard_display_objective", + "0x40": "scoreboard_team", + "0x18": "custom_payload", + "0x19": "kick_disconnect", + "0x0d": "difficulty", + "0x2c": "combat_event", + "0x36": "camera", + "0x35": "world_border", + "0x44": "title", + "0x1d": "set_compression", + "0x46": "playerlist_header", + "0x32": "resource_pack_send", + "0x0c": "boss_bar", + "0x17": "set_cooldown", + "0x1c": "unload_chunk" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "keep_alive": "packet_keep_alive", + "login": "packet_login", + "chat": "packet_chat", + "update_time": "packet_update_time", + "entity_equipment": "packet_entity_equipment", + "spawn_position": "packet_spawn_position", + "update_health": "packet_update_health", + "respawn": "packet_respawn", + "position": "packet_position", + "held_item_slot": "packet_held_item_slot", + "bed": "packet_bed", + "animation": "packet_animation", + "named_entity_spawn": "packet_named_entity_spawn", + "collect": "packet_collect", + "spawn_entity": "packet_spawn_entity", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "entity_velocity": "packet_entity_velocity", + "entity_destroy": "packet_entity_destroy", + "entity": "packet_entity", + "rel_entity_move": "packet_rel_entity_move", + "entity_look": "packet_entity_look", + "entity_move_look": "packet_entity_move_look", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_status": "packet_entity_status", + "attach_entity": "packet_attach_entity", + "entity_metadata": "packet_entity_metadata", + "entity_effect": "packet_entity_effect", + "remove_entity_effect": "packet_remove_entity_effect", + "experience": "packet_experience", + "update_attributes": "packet_update_attributes", + "map_chunk": "packet_map_chunk", + "multi_block_change": "packet_multi_block_change", + "block_change": "packet_block_change", + "block_action": "packet_block_action", + "block_break_animation": "packet_block_break_animation", + "explosion": "packet_explosion", + "world_event": "packet_world_event", + "named_sound_effect": "packet_named_sound_effect", + "world_particles": "packet_world_particles", + "game_state_change": "packet_game_state_change", + "spawn_entity_weather": "packet_spawn_entity_weather", + "open_window": "packet_open_window", + "close_window": "packet_close_window", + "set_slot": "packet_set_slot", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "transaction": "packet_transaction", + "update_sign": "packet_update_sign", + "map": "packet_map", + "tile_entity_data": "packet_tile_entity_data", + "open_sign_entity": "packet_open_sign_entity", + "statistics": "packet_statistics", + "player_info": "packet_player_info", + "abilities": "packet_abilities", + "tab_complete": "packet_tab_complete", + "scoreboard_objective": "packet_scoreboard_objective", + "scoreboard_score": "packet_scoreboard_score", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "scoreboard_team": "packet_scoreboard_team", + "custom_payload": "packet_custom_payload", + "kick_disconnect": "packet_kick_disconnect", + "difficulty": "packet_difficulty", + "combat_event": "packet_combat_event", + "camera": "packet_camera", + "world_border": "packet_world_border", + "title": "packet_title", + "set_compression": "packet_set_compression", + "playerlist_header": "packet_playerlist_header", + "resource_pack_send": "packet_resource_pack_send", + "boss_bar": "packet_boss_bar", + "set_cooldown": "packet_set_cooldown", + "unload_chunk": "packet_unload_chunk" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "i8" + }, + { + "name": "cursorY", + "type": "i8" + }, + { + "name": "cursorZ", + "type": "i8" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "block", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "payload", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "hash", + "type": "string" + }, + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x0a": "keep_alive", + "0x01": "chat", + "0x09": "use_entity", + "0x0e": "flying", + "0x0b": "position", + "0x0d": "look", + "0x0c": "position_look", + "0x10": "block_dig", + "0x19": "block_place", + "0x14": "held_item_slot", + "0x17": "arm_animation", + "0x11": "entity_action", + "0x12": "steer_vehicle", + "0x07": "close_window", + "0x06": "window_click", + "0x04": "transaction", + "0x15": "set_creative_slot", + "0x05": "enchant_item", + "0x16": "update_sign", + "0x0f": "abilities", + "0x00": "tab_complete", + "0x03": "settings", + "0x02": "client_command", + "0x08": "custom_payload", + "0x18": "spectate", + "0x13": "resource_pack_receive", + "0x1a": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "keep_alive": "packet_keep_alive", + "chat": "packet_chat", + "use_entity": "packet_use_entity", + "flying": "packet_flying", + "position": "packet_position", + "look": "packet_look", + "position_look": "packet_position_look", + "block_dig": "packet_block_dig", + "block_place": "packet_block_place", + "held_item_slot": "packet_held_item_slot", + "arm_animation": "packet_arm_animation", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "close_window": "packet_close_window", + "window_click": "packet_window_click", + "transaction": "packet_transaction", + "set_creative_slot": "packet_set_creative_slot", + "enchant_item": "packet_enchant_item", + "update_sign": "packet_update_sign", + "abilities": "packet_abilities", + "tab_complete": "packet_tab_complete", + "settings": "packet_settings", + "client_command": "packet_client_command", + "custom_payload": "packet_custom_payload", + "spectate": "packet_spectate", + "resource_pack_receive": "packet_resource_pack_receive", + "use_item": "packet_use_item" + } + } + ] + } + ] + ] + } + } + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/15w40b/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/15w40b/version.json new file mode 100644 index 00000000..d726b80f --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/15w40b/version.json @@ -0,0 +1,5 @@ +{ + "version":76, + "minecraftVersion":"15w40b", + "majorVersion":"1.9" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/16w20a/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/16w20a/protocol.json new file mode 100644 index 00000000..7d27f394 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/16w20a/protocol.json @@ -0,0 +1,3575 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "u8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "tab_complete", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "transaction", + "0x12": "close_window", + "0x13": "open_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "keep_alive", + "0x20": "map_chunk", + "0x21": "world_event", + "0x22": "world_particles", + "0x23": "login", + "0x24": "map", + "0x25": "rel_entity_move", + "0x26": "entity_move_look", + "0x27": "entity_look", + "0x28": "entity", + "0x29": "vehicle_move", + "0x2a": "open_sign_entity", + "0x2b": "abilities", + "0x2c": "combat_event", + "0x2d": "player_info", + "0x2e": "position", + "0x2f": "bed", + "0x30": "entity_destroy", + "0x31": "remove_entity_effect", + "0x32": "resource_pack_send", + "0x33": "respawn", + "0x34": "entity_head_rotation", + "0x35": "world_border", + "0x36": "camera", + "0x37": "held_item_slot", + "0x38": "scoreboard_display_objective", + "0x39": "entity_metadata", + "0x3a": "attach_entity", + "0x3b": "entity_velocity", + "0x3c": "entity_equipment", + "0x3d": "experience", + "0x3e": "update_health", + "0x3f": "scoreboard_objective", + "0x40": "set_passengers", + "0x41": "teams", + "0x42": "scoreboard_score", + "0x43": "spawn_position", + "0x44": "update_time", + "0x45": "title", + "0x46": "sound_effect", + "0x47": "playerlist_header", + "0x48": "collect", + "0x49": "entity_teleport", + "0x4a": "entity_update_attributes", + "0x4b": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "hash", + "type": "string" + }, + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "i8" + }, + { + "name": "cursorY", + "type": "i8" + }, + { + "name": "cursorZ", + "type": "i8" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "tab_complete", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "transaction", + "0x06": "enchant_item", + "0x07": "window_click", + "0x08": "close_window", + "0x09": "custom_payload", + "0x0a": "use_entity", + "0x0b": "keep_alive", + "0x0c": "position", + "0x0d": "position_look", + "0x0e": "look", + "0x0f": "flying", + "0x10": "vehicle_move", + "0x11": "steer_boat", + "0x12": "abilities", + "0x13": "block_dig", + "0x14": "entity_action", + "0x15": "steer_vehicle", + "0x16": "resource_pack_receive", + "0x17": "held_item_slot", + "0x18": "set_creative_slot", + "0x19": "update_sign", + "0x1a": "arm_animation", + "0x1b": "spectate", + "0x1c": "block_place", + "0x1d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/16w20a/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/16w20a/version.json new file mode 100644 index 00000000..49b0bf8d --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/16w20a/version.json @@ -0,0 +1,5 @@ +{ + "version":201, + "minecraftVersion":"16w20a", + "majorVersion":"1.10" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/16w35a/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/16w35a/protocol.json new file mode 100644 index 00000000..a1668ea8 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/16w35a/protocol.json @@ -0,0 +1,3575 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "tab_complete", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "transaction", + "0x12": "close_window", + "0x13": "open_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "keep_alive", + "0x20": "map_chunk", + "0x21": "world_event", + "0x22": "world_particles", + "0x23": "login", + "0x24": "map", + "0x25": "rel_entity_move", + "0x26": "entity_move_look", + "0x27": "entity_look", + "0x28": "entity", + "0x29": "vehicle_move", + "0x2a": "open_sign_entity", + "0x2b": "abilities", + "0x2c": "combat_event", + "0x2d": "player_info", + "0x2e": "position", + "0x2f": "bed", + "0x30": "entity_destroy", + "0x31": "remove_entity_effect", + "0x32": "resource_pack_send", + "0x33": "respawn", + "0x34": "entity_head_rotation", + "0x35": "world_border", + "0x36": "camera", + "0x37": "held_item_slot", + "0x38": "scoreboard_display_objective", + "0x39": "entity_metadata", + "0x3a": "attach_entity", + "0x3b": "entity_velocity", + "0x3c": "entity_equipment", + "0x3d": "experience", + "0x3e": "update_health", + "0x3f": "scoreboard_objective", + "0x40": "set_passengers", + "0x41": "teams", + "0x42": "scoreboard_score", + "0x43": "spawn_position", + "0x44": "update_time", + "0x45": "title", + "0x46": "sound_effect", + "0x47": "playerlist_header", + "0x48": "collect", + "0x49": "entity_teleport", + "0x4a": "entity_update_attributes", + "0x4b": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "i8" + }, + { + "name": "cursorY", + "type": "i8" + }, + { + "name": "cursorZ", + "type": "i8" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "tab_complete", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "transaction", + "0x06": "enchant_item", + "0x07": "window_click", + "0x08": "close_window", + "0x09": "custom_payload", + "0x0a": "use_entity", + "0x0b": "keep_alive", + "0x0c": "position", + "0x0d": "position_look", + "0x0e": "look", + "0x0f": "flying", + "0x10": "vehicle_move", + "0x11": "steer_boat", + "0x12": "abilities", + "0x13": "block_dig", + "0x14": "entity_action", + "0x15": "steer_vehicle", + "0x16": "resource_pack_receive", + "0x17": "held_item_slot", + "0x18": "set_creative_slot", + "0x19": "update_sign", + "0x1a": "arm_animation", + "0x1b": "spectate", + "0x1c": "block_place", + "0x1d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/16w35a/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/16w35a/version.json new file mode 100644 index 00000000..53bd9601 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/16w35a/version.json @@ -0,0 +1,5 @@ +{ + "version":304, + "minecraftVersion": "16w35a", + "majorVersion": "1.11" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/17w15a/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/17w15a/protocol.json new file mode 100644 index 00000000..406e278e --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/17w15a/protocol.json @@ -0,0 +1,3914 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint", + "13": "nbt" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "varint" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "backgroundTexture", + "type": [ + "option", + "string" + ] + }, + { + "name": "xCord", + "type": "varint" + }, + { + "name": "yCord", + "type": "varint" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "notification", + "type": "bool" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "recipes", + "type": [ + "array", + { + "countType":"varint", + "type":[ + "container", + [ + { + "name": "identifier", + "type": "string" + }, + { + "name": "isUnlocked", + "type": "bool" + }, + { + "name": "hasBeenDisplayed", + "type": "bool" + } + ] + ] + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "soundId", + "type": "varint" + }, + { + "name": "parrottedEntityType", + "type": "string" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "advancements", + "0x09": "block_break_animation", + "0x0a": "tile_entity_data", + "0x0b": "block_action", + "0x0c": "block_change", + "0x0d": "boss_bar", + "0x0e": "difficulty", + "0x0f": "tab_complete", + "0x10": "chat", + "0x11": "multi_block_change", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "open_window", + "0x15": "window_items", + "0x16": "craft_progress_bar", + "0x17": "set_slot", + "0x18": "set_cooldown", + "0x19": "custom_payload", + "0x1a": "named_sound_effect", + "0x1b": "kick_disconnect", + "0x1c": "entity_status", + "0x1d": "explosion", + "0x1e": "unload_chunk", + "0x1f": "game_state_change", + "0x20": "keep_alive", + "0x21": "map_chunk", + "0x22": "world_event", + "0x23": "world_particles", + "0x24": "login", + "0x25": "map", + "0x26": "rel_entity_move", + "0x27": "entity_move_look", + "0x28": "entity_look", + "0x29": "entity", + "0x2a": "vehicle_move", + "0x2b": "open_sign_entity", + "0x2c": "abilities", + "0x2d": "combat_event", + "0x2e": "player_info", + "0x2f": "position", + "0x30": "bed", + "0x31": "unlock_recipes", + "0x32": "entity_destroy", + "0x33": "remove_entity_effect", + "0x34": "resource_pack_send", + "0x35": "respawn", + "0x36": "entity_head_rotation", + "0x37": "world_border", + "0x38": "camera", + "0x39": "held_item_slot", + "0x3a": "scoreboard_display_objective", + "0x3b": "entity_metadata", + "0x3c": "attach_entity", + "0x3d": "entity_velocity", + "0x3e": "entity_equipment", + "0x3f": "experience", + "0x40": "update_health", + "0x41": "scoreboard_objective", + "0x42": "set_passengers", + "0x43": "teams", + "0x44": "scoreboard_score", + "0x45": "spawn_position", + "0x46": "update_time", + "0x47": "title", + "0x48": "sound_effect", + "0x49": "playerlist_header", + "0x4a": "collect", + "0x4b": "entity_teleport", + "0x4c": "entity_update_attributes", + "0x4d": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_prepare_crafting_grid": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "actionNumber", + "type": "u16" + }, + { + "name": "returnEntry", + "type": [ + "array", + { + "countType":"u8", + "type": [ + "container", + [ + { + "name": "item", + "type": "slot" + }, + { + "name": "craftingSlot", + "type": "u8" + }, + { + "name": "playerSlot", + "type": "u8" + } + ] + ] + } + ] + }, + { + "name": "prepareEntry", + "type": [ + "array", + { + "countType":"u8", + "type":[ + "container", + [ + { + "name": "item", + "type": "slot" + }, + { + "name": "craftingSlot", + "type": "u8" + }, + { + "name": "playerSlot", + "type": "u8" + } + ] + ] + } + ] + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "u32" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "1":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "2": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "prepare_crafting_grid", + "0x02": "tab_complete", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "transaction", + "0x07": "enchant_item", + "0x08": "window_click", + "0x09": "close_window", + "0x0a": "custom_payload", + "0x0b": "use_entity", + "0x0c": "keep_alive", + "0x0d": "position", + "0x0e": "position_look", + "0x0f": "look", + "0x10": "flying", + "0x11": "vehicle_move", + "0x12": "steer_boat", + "0x13": "abilities", + "0x14": "block_dig", + "0x15": "entity_action", + "0x16": "steer_vehicle", + "0x17": "crafting_book_data", + "0x18": "resource_pack_receive", + "0x19": "held_item_slot", + "0x1a": "set_creative_slot", + "0x1b": "update_sign", + "0x1c": "arm_animation", + "0x1d": "spectate", + "0x1e": "block_place", + "0x1f": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "prepare_crafting_grid": "packet_prepare_crafting_grid", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/17w15a/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/17w15a/version.json new file mode 100644 index 00000000..e41f8583 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/17w15a/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "17w15a", + "version":321, + "majorVersion": "1.12" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/17w18b/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/17w18b/protocol.json new file mode 100644 index 00000000..ca1c6522 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/17w18b/protocol.json @@ -0,0 +1,3908 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint", + "13": "nbt" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "backgroundTexture", + "type": [ + "option", + "string" + ] + }, + { + "name":"showToast", + "type":"bool" + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":["array",{"count":2,"type":"varint"}], + "37":["array",{"count":1,"type":"varint"}], + "38":["array",{"count":1,"type":"varint"}] + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "i16" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"i32" + } + ] + }, + { + "name":"recipes2", + "type":[ + "array", + { + "countType":"varint", + "type":"i32" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "advancements", + "0x09": "block_break_animation", + "0x0a": "tile_entity_data", + "0x0b": "block_action", + "0x0c": "block_change", + "0x0d": "boss_bar", + "0x0e": "difficulty", + "0x0f": "tab_complete", + "0x10": "chat", + "0x11": "multi_block_change", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "open_window", + "0x15": "window_items", + "0x16": "craft_progress_bar", + "0x17": "set_slot", + "0x18": "set_cooldown", + "0x19": "custom_payload", + "0x1a": "named_sound_effect", + "0x1b": "kick_disconnect", + "0x1c": "entity_status", + "0x1d": "explosion", + "0x1e": "unload_chunk", + "0x1f": "game_state_change", + "0x20": "keep_alive", + "0x21": "map_chunk", + "0x22": "world_event", + "0x23": "world_particles", + "0x24": "login", + "0x25": "map", + "0x26": "rel_entity_move", + "0x27": "entity_move_look", + "0x28": "entity_look", + "0x29": "entity", + "0x2a": "vehicle_move", + "0x2b": "open_sign_entity", + "0x2c": "abilities", + "0x2d": "combat_event", + "0x2e": "player_info", + "0x2f": "position", + "0x30": "bed", + "0x31": "unlock_recipes", + "0x32": "entity_destroy", + "0x33": "remove_entity_effect", + "0x34": "resource_pack_send", + "0x35": "respawn", + "0x36": "entity_head_rotation", + "0x37": "world_border", + "0x38": "camera", + "0x39": "held_item_slot", + "0x3a": "scoreboard_display_objective", + "0x3b": "entity_metadata", + "0x3c": "attach_entity", + "0x3d": "entity_velocity", + "0x3e": "entity_equipment", + "0x3f": "experience", + "0x40": "update_health", + "0x41": "scoreboard_objective", + "0x42": "set_passengers", + "0x43": "teams", + "0x44": "scoreboard_score", + "0x45": "spawn_position", + "0x46": "update_time", + "0x47": "title", + "0x48": "sound_effect", + "0x49": "playerlist_header", + "0x4a": "collect", + "0x4b": "entity_teleport", + "0x4c": "entity_update_attributes", + "0x4d": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_prepare_crafting_grid": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "actionNumber", + "type": "u16" + }, + { + "name": "returnEntry", + "type": [ + "array", + { + "countType":"u16", + "type": [ + "container", + [ + { + "name": "item", + "type": "slot" + }, + { + "name": "craftingSlot", + "type": "u8" + }, + { + "name": "playerSlot", + "type": "u8" + } + ] + ] + } + ] + }, + { + "name": "prepareEntry", + "type": [ + "array", + { + "countType":"u16", + "type":[ + "container", + [ + { + "name": "item", + "type": "slot" + }, + { + "name": "craftingSlot", + "type": "u8" + }, + { + "name": "playerSlot", + "type": "u8" + } + ] + ] + } + ] + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "varint" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "u32" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "1":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "2": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "prepare_crafting_grid", + "0x02": "tab_complete", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "transaction", + "0x07": "enchant_item", + "0x08": "window_click", + "0x09": "close_window", + "0x0a": "custom_payload", + "0x0b": "use_entity", + "0x0c": "keep_alive", + "0x0d": "position", + "0x0e": "position_look", + "0x0f": "look", + "0x10": "flying", + "0x11": "vehicle_move", + "0x12": "steer_boat", + "0x13": "abilities", + "0x14": "block_dig", + "0x15": "entity_action", + "0x16": "steer_vehicle", + "0x17": "crafting_book_data", + "0x18": "resource_pack_receive", + "0x19": "held_item_slot", + "0x1a": "set_creative_slot", + "0x1b": "update_sign", + "0x1c": "arm_animation", + "0x1d": "spectate", + "0x1e": "block_place", + "0x1f": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "prepare_crafting_grid": "packet_prepare_crafting_grid", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/17w18b/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/17w18b/version.json new file mode 100644 index 00000000..6206a1ef --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/17w18b/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "17w18b", + "version":327, + "majorVersion": "1.12" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/17w50a/particles.json b/node_modules/minecraft-data/minecraft-data/data/pc/17w50a/particles.json new file mode 100644 index 00000000..b024cc1c --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/17w50a/particles.json @@ -0,0 +1,178 @@ +[ + { + "id": 0, + "name": "ambient_entity_effect" + }, + { + "id": 1, + "name": "angry_villager" + }, + { + "id": 2, + "name": "barrier" + }, + { + "id": 3, + "name": "block" + }, + { + "id": 4, + "name": "bubble" + }, + { + "id": 5, + "name": "cloud" + }, + { + "id": 6, + "name": "crit" + }, + { + "id": 7, + "name": "damage_indicator" + }, + { + "id": 8, + "name": "dragon_breath" + }, + { + "id": 9, + "name": "dripping_lava" + }, + { + "id": 10, + "name": "dripping_water" + }, + { + "id": 11, + "name": "dust" + }, + { + "id": 12, + "name": "effect" + }, + { + "id": 13, + "name": "elder_guardian" + }, + { + "id": 14, + "name": "enchanted_hit" + }, + { + "id": 15, + "name": "enchant" + }, + { + "id": 16, + "name": "end_rod" + }, + { + "id": 17, + "name": "entity_effect" + }, + { + "id": 18, + "name": "explosion_emitter" + }, + { + "id": 19, + "name": "explosion" + }, + { + "id": 20, + "name": "falling_dust" + }, + { + "id": 21, + "name": "firework" + }, + { + "id": 22, + "name": "fishing" + }, + { + "id": 23, + "name": "flame" + }, + { + "id": 24, + "name": "happy_villager" + }, + { + "id": 25, + "name": "heart" + }, + { + "id": 26, + "name": "instant_effect" + }, + { + "id": 27, + "name": "item" + }, + { + "id": 28, + "name": "item_slime" + }, + { + "id": 29, + "name": "item_snowball" + }, + { + "id": 30, + "name": "large_smoke" + }, + { + "id": 31, + "name": "lava" + }, + { + "id": 32, + "name": "mycelium" + }, + { + "id": 33, + "name": "note" + }, + { + "id": 34, + "name": "poof" + }, + { + "id": 35, + "name": "portal" + }, + { + "id": 36, + "name": "rain" + }, + { + "id": 37, + "name": "smoke" + }, + { + "id": 38, + "name": "spit" + }, + { + "id": 39, + "name": "sweep_attack" + }, + { + "id": 40, + "name": "totem_of_undying" + }, + { + "id": 41, + "name": "underwater" + }, + { + "id": 42, + "name": "splash" + }, + { + "id": 43, + "name": "witch" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/17w50a/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/17w50a/protocol.json new file mode 100644 index 00000000..62a08bfb --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/17w50a/protocol.json @@ -0,0 +1,4295 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "-1": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint", + "13": "nbt" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "unknown1", + "type": "varint" + }, + { + "name": "unknown2", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": ["switch",{ + "compareTo":"particleId", + "fields":{ + "36":"slot", + "37":"varint", + "38":"varint", + "46":"varint" + }, + "default":"void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "recipeId", + "type": "string" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": ["array",{ + "countType":"varint", + "type": "slot" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": ["array",{ + "countType":"varint", + "type": "slot" + }] + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "crafting_special_armordye": "void", + "crafting_special_bookcloning": "void", + "crafting_special_mapcloning": "void", + "crafting_special_mapextending": "void", + "crafting_special_firework_rocket": "void", + "crafting_special_firework_star": "void", + "crafting_special_firework_star_fade": "void", + "crafting_special_repairitem": "void", + "crafting_special_tippedarrow": "void", + "crafting_special_bannerduplicate": "void", + "crafting_special_banneraddpattern": "void", + "crafting_special_shielddecoration": "void", + "crafting_special_shulkerboxcoloring": "void" + } + }] + } + ]] + }] + } + ] + ], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "chat", + "0x0f": "multi_block_change", + "0x10": "tab_complete", + "0x11": "declare_commands", + "0x12": "transaction", + "0x13": "close_window", + "0x14": "open_window", + "0x15": "window_items", + "0x16": "craft_progress_bar", + "0x17": "set_slot", + "0x18": "set_cooldown", + "0x19": "custom_payload", + "0x1a": "named_sound_effect", + "0x1b": "kick_disconnect", + "0x1c": "entity_status", + "0x1d": "explosion", + "0x1e": "unload_chunk", + "0x1f": "game_state_change", + "0x20": "keep_alive", + "0x21": "map_chunk", + "0x22": "world_event", + "0x23": "world_particles", + "0x24": "login", + "0x25": "map", + "0x26": "entity", + "0x27": "rel_entity_move", + "0x28": "entity_move_look", + "0x29": "entity_look", + "0x2a": "vehicle_move", + "0x2b": "open_sign_entity", + "0x2c": "craft_recipe_response", + "0x2d": "abilities", + "0x2e": "combat_event", + "0x2f": "player_info", + "0x30": "position", + "0x31": "bed", + "0x32": "unlock_recipes", + "0x33": "entity_destroy", + "0x34": "remove_entity_effect", + "0x35": "resource_pack_send", + "0x36": "respawn", + "0x37": "entity_head_rotation", + "0x38": "select_advancement_tab", + "0x39": "world_border", + "0x3a": "camera", + "0x3b": "held_item_slot", + "0x3c": "scoreboard_display_objective", + "0x3d": "entity_metadata", + "0x3e": "attach_entity", + "0x3f": "entity_velocity", + "0x40": "entity_equipment", + "0x41": "experience", + "0x42": "update_health", + "0x43": "scoreboard_objective", + "0x44": "set_passengers", + "0x45": "teams", + "0x46": "scoreboard_score", + "0x47": "spawn_position", + "0x48": "update_time", + "0x49": "title", + "0x4a": "stop_sound", + "0x4b": "sound_effect", + "0x4c": "playerlist_header", + "0x4d": "collect", + "0x4e": "entity_teleport", + "0x4f": "advancements", + "0x50": "entity_update_attributes", + "0x51": "entity_effect", + "0x52": "declare_recipes", + "0x53": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "i32" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "chat", + "0x02": "client_command", + "0x03": "settings", + "0x04": "tab_complete", + "0x05": "transaction", + "0x06": "enchant_item", + "0x07": "window_click", + "0x08": "close_window", + "0x09": "custom_payload", + "0x0a": "use_entity", + "0x0b": "keep_alive", + "0x0c": "flying", + "0x0d": "position", + "0x0e": "position_look", + "0x0f": "look", + "0x10": "vehicle_move", + "0x11": "steer_boat", + "0x12": "craft_recipe_request", + "0x13": "abilities", + "0x14": "block_dig", + "0x15": "entity_action", + "0x16": "steer_vehicle", + "0x17": "crafting_book_data", + "0x18": "resource_pack_receive", + "0x19": "advancement_tab", + "0x1a": "held_item_slot", + "0x1b": "set_creative_slot", + "0x1c": "update_sign", + "0x1d": "arm_animation", + "0x1e": "spectate", + "0x1f": "block_place", + "0x20": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/17w50a/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/17w50a/version.json new file mode 100644 index 00000000..effe836b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/17w50a/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "17w50a", + "version":351, + "majorVersion": "1.13" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/20w13b/particles.json b/node_modules/minecraft-data/minecraft-data/data/pc/20w13b/particles.json new file mode 100644 index 00000000..11deccda --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/20w13b/particles.json @@ -0,0 +1,286 @@ +[ + { + "id": 0, + "name": "ambient_entity_effect" + }, + { + "id": 1, + "name": "angry_villager" + }, + { + "id": 2, + "name": "barrier" + }, + { + "id": 3, + "name": "block" + }, + { + "id": 4, + "name": "bubble" + }, + { + "id": 5, + "name": "cloud" + }, + { + "id": 6, + "name": "crit" + }, + { + "id": 7, + "name": "damage_indicator" + }, + { + "id": 8, + "name": "dragon_breath" + }, + { + "id": 9, + "name": "dripping_lava" + }, + { + "id": 10, + "name": "falling_lava" + }, + { + "id": 11, + "name": "landing_lava" + }, + { + "id": 12, + "name": "dripping_water" + }, + { + "id": 13, + "name": "falling_water" + }, + { + "id": 14, + "name": "dust" + }, + { + "id": 15, + "name": "effect" + }, + { + "id": 16, + "name": "elder_guardian" + }, + { + "id": 17, + "name": "enchanted_hit" + }, + { + "id": 18, + "name": "enchant" + }, + { + "id": 19, + "name": "end_rod" + }, + { + "id": 20, + "name": "entity_effect" + }, + { + "id": 21, + "name": "explosion_emitter" + }, + { + "id": 22, + "name": "explosion" + }, + { + "id": 23, + "name": "falling_dust" + }, + { + "id": 24, + "name": "firework" + }, + { + "id": 25, + "name": "fishing" + }, + { + "id": 26, + "name": "flame" + }, + { + "id": 27, + "name": "soul_fire_flame" + }, + { + "id": 28, + "name": "soul" + }, + { + "id": 29, + "name": "flash" + }, + { + "id": 30, + "name": "happy_villager" + }, + { + "id": 31, + "name": "composter" + }, + { + "id": 32, + "name": "heart" + }, + { + "id": 33, + "name": "instant_effect" + }, + { + "id": 34, + "name": "item" + }, + { + "id": 35, + "name": "item_slime" + }, + { + "id": 36, + "name": "item_snowball" + }, + { + "id": 37, + "name": "large_smoke" + }, + { + "id": 38, + "name": "lava" + }, + { + "id": 39, + "name": "mycelium" + }, + { + "id": 40, + "name": "note" + }, + { + "id": 41, + "name": "poof" + }, + { + "id": 42, + "name": "portal" + }, + { + "id": 43, + "name": "rain" + }, + { + "id": 44, + "name": "smoke" + }, + { + "id": 45, + "name": "sneeze" + }, + { + "id": 46, + "name": "spit" + }, + { + "id": 47, + "name": "squid_ink" + }, + { + "id": 48, + "name": "sweep_attack" + }, + { + "id": 49, + "name": "totem_of_undying" + }, + { + "id": 50, + "name": "underwater" + }, + { + "id": 51, + "name": "splash" + }, + { + "id": 52, + "name": "witch" + }, + { + "id": 53, + "name": "bubble_pop" + }, + { + "id": 54, + "name": "current_down" + }, + { + "id": 55, + "name": "bubble_column_up" + }, + { + "id": 56, + "name": "nautilus" + }, + { + "id": 57, + "name": "dolphin" + }, + { + "id": 58, + "name": "campfire_cosy_smoke" + }, + { + "id": 59, + "name": "campfire_signal_smoke" + }, + { + "id": 60, + "name": "dripping_honey" + }, + { + "id": 61, + "name": "falling_honey" + }, + { + "id": 62, + "name": "landing_honey" + }, + { + "id": 63, + "name": "falling_nectar" + }, + { + "id": 64, + "name": "ash" + }, + { + "id": 65, + "name": "crimson_spore" + }, + { + "id": 66, + "name": "warped_spore" + }, + { + "id": 67, + "name": "dripping_obsidian_tear" + }, + { + "id": 68, + "name": "falling_obsidian_tear" + }, + { + "id": 69, + "name": "landing_obsidian_tear" + }, + { + "id": 70, + "name": "reverse_portal" + } +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/20w13b/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pc/20w13b/protocol.json new file mode 100644 index 00000000..8f46010b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/20w13b/protocol.json @@ -0,0 +1,5080 @@ +{ + "types": { + "varint": "native", + "optvarint": "varint", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "UUID": "native", + "option": "native", + "entityMetadataLoop": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "slot": [ + "container", + [ + { + "name": "present", + "type": "bool" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "present", + "fields": { + "false": "void", + "true": [ + "container", + [ + + { + "name": "itemId", + "type": "varint" + }, + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ] + } + } + ] + } + ] + ], + "particle": [ + "container", + [ + { + "name": "particleId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "particleData": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "3": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "14": [ + "container", [ + { + "name": "red", + "type": "f32" + }, + { + "name": "green", + "type": "f32" + }, + { + "name": "blue", + "type": "f32" + }, + { + "name": "scale", + "type": "f32" + } + ] + ], + "23": [ + "container", [ + { + "name": "blockState", + "type": "varint" + } + ] + ], + "34": [ + "container", [ + { + "name": "item", + "type": "slot" + } + ] + ] + }, + "default": "void" + } + ], + "ingredient": [ + "array", + { + "countType": "varint", + "type": "slot" + } + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": [ + "option", + "string" + ], + "6": "slot", + "7": "bool", + "8": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "9": "position", + "10": [ + "option", + "position" + ], + "11": "varint", + "12": [ + "option", + "UUID" + ], + "13": "varint", + "14": "nbt", + "15": "particle", + "16": [ + "container",[ + { + "name": "villagerType", + "type": "varint" + }, + { + "name": "villagerProfession", + "type": "varint" + }, + { + "name": "level", + "type": "varint" + } + ] + ], + "17": "optvarint", + "18": "varint" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "varint" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + }, + "handshaking": { + "toClient": { + "types": { + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": {} + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": {} + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_set_protocol": [ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": "string" + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "packet_legacy_server_list_ping": [ + "container", + [ + { + "name": "payload", + "type": "u8" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "set_protocol", + "0xfe": "legacy_server_list_ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "set_protocol": "packet_set_protocol", + "legacy_server_list_ping": "packet_legacy_server_list_ping" + } + } + ] + } + ] + ] + } + } + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "serverId", + "type": "string" + }, + { + "name": "publicKey", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet_login_plugin_request": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress", + "0x04": "login_plugin_request" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress", + "login_plugin_request": "packet_login_plugin_request" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_login_plugin_response": [ + "container", + [ + { + "name": "messageId", + "type": "varint" + }, + { + "name": "data", + "type": [ + "option", + "restBuffer" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "login_start", + "0x01": "encryption_begin", + "0x02": "login_plugin_response" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "login_start": "packet_login_start", + "encryption_begin": "packet_encryption_begin", + "login_plugin_response": "packet_login_plugin_response" + } + } + ] + } + ] + ] + } + } + }, + "play": { + "toClient": { + "types": { + "packet_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "categoryId", + "type": "varint" + }, + { + "name": "statisticId", + "type": "varint" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "_unused", "size": 29, "signed": false }, + { "name": "hidden", "size": 1, "signed": false }, + { "name": "show_toast", "size": 1, "signed": false }, + { "name": "has_background_texture", "size": 1, "signed": false } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "difficultyLocked", + "type": "bool" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "start", + "type": "varint" + }, + { + "name": "length", + "type": "varint" + }, + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": ["container",[ + { + "name": "match", + "type": "string" + }, + { + "name": "tooltip", + "type": [ + "option", + "string" + ] + } + ]] + } + ] + } + ] + ], + "packet_declare_commands": [ + "container", + [ + { + "name": "nodes", + "type": ["array", { + "countType": "varint", + "type": ["container",[ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 3, "signed": false }, + { "name": "has_custom_suggestions", "size": 1, "signed": false }, + { "name": "has_redirect_node", "size": 1, "signed": false }, + { "name": "has_command", "size": 1, "signed": false }, + { "name": "command_node_type", "size": 2, "signed": false } + ] + ] + }, + { + "name": "children", + "type": ["array", + { + "countType": "varint", + "type": "varint" + }] + }, + { + "name": "redirectNode", + "type": ["switch", + { + "compareTo": "flags/has_redirect_node", + "fields": { + "1":"varint" + }, + "default": "void" + }] + }, + { + "name": "extraNodeData", + "type": ["switch", + { + "compareTo": "flags/command_node_type", + "fields": { + "0": "void", + "1": "string", + "2": ["container", [ + { + "name": "name", + "type": "string" + }, + { + "name": "parser", + "type": "string" + }, + { + "name": "properties", + "type": ["switch",{ + "compareTo": "parser", + "fields": { + "brigadier:bool": "void", + "brigadier:double": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f64" + }, + "default": "void" + }] + } + ]], + "brigadier:float": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"f32" + }, + "default": "void" + }] + } + ]], + "brigadier:integer": ["container", [ + { + "name": "flags", + "type": [ + "bitfield", + [ + { "name": "unused", "size": 6, "signed": false }, + { "name": "max_present", "size": 1, "signed": false }, + { "name": "min_present", "size": 1, "signed": false } + ] + ] + }, + { + "name": "min", + "type":["switch",{ + "compareTo":"flags/min_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + }, + { + "name": "max", + "type":["switch",{ + "compareTo":"flags/max_present", + "fields":{ + "1":"i32" + }, + "default": "void" + }] + } + ]], + "brigadier:string": "varint", + "minecraft:entity": "i8", + "minecraft:score_holder": "i8" + }, + "default": "void" + }] + }, + { + "name": "suggests", + "type": ["switch", { + "compareTo": "../flags/has_custom_suggestions", + "fields": { + "1": "string" + }, + "default": "void" + }] + } + ]] + } + }] + } + ]] + }] + }, + { + "name": "rootIndex", + "type": "varint" + } + ] + ], + "packet_face_player": [ + "container", + [ + { + "name": "feet_eyes", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "isEntity", + "type": "bool" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entity_feet_eyes", + "type": [ + "switch", + { + "compareTo": "isEntity", + "fields": { + "true": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_nbt_query_response": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "nbt", + "type": "nbt" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "inventoryType", + "type": "varint" + }, + { + "name": "windowTitle", + "type": "string" + } + ] + ], + "packet_window_items": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "items", + "type": [ + "array", + { + "countType": "i16", + "type": "slot" + } + ] + } + ] + ], + "packet_craft_progress_bar": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "packet_explosion": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "affectedBlockOffsets", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "playerMotionX", + "type": "f32" + }, + { + "name": "playerMotionY", + "type": "f32" + }, + { + "name": "playerMotionZ", + "type": "f32" + } + ] + ], + "packet_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_open_horse_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "nbSlots", + "type": "varint" + }, + { + "name": "entityId", + "type": "i32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "heightmaps", + "type": "nbt" + }, + { + "name": "biomes", + "type": [ + "switch", + { + "compareTo": "groundUp", + "fields": { + "false": "void", + "true": ["array", { + "count": 1024, + "type": "i32" + }] + } + } + ] + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array",{ + "countType":"varint", + "type":"nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "offsetX", + "type": "f32" + }, + { + "name": "offsetY", + "type": "f32" + }, + { + "name": "offsetZ", + "type": "f32" + }, + { + "name": "particleData", + "type": "f32" + }, + { + "name": "particles", + "type": "i32" + }, + { + "name": "data", + "type": [ + "particleData", + { + "compareTo": "particleId" + } + ] + } + ] + ], + "packet_update_light": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + }, + { + "name": "skyLightMask", + "type": "varint" + }, + { + "name": "blockLightMask", + "type": "varint" + }, + { + "name": "emptySkyLightMask", + "type": "varint" + }, + { + "name": "emptyBlockLightMask", + "type": "varint" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "viewDistance", + "type": "varint" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + }, + { + "name": "enableRespawnScreen", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "locked", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "direction", + "type": "u8" + }, + { + "name": "displayName", + "type": ["option", "string"] + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_trade_list": [ + "container", + [ + { + "name": "windowId", + "type": "varint" + }, + { + "name": "trades", + "type": [ + "array", + { + "countType": "u8", + "type": ["container", [ + { + "name": "inputItem1", + "type": "slot" + }, + { + "name": "outputItem", + "type": "slot" + }, + { + "name": "inputItem2", + "type": ["option", "slot"] + }, + { + "name": "tradeDisabled", + "type": "bool" + }, + { + "name": "nbTradeUses", + "type": "i32" + }, + { + "name": "maximumNbTradeUses", + "type": "i32" + }, + { + "name": "xp", + "type": "i32" + }, + { + "name": "specialPrice", + "type": "i32" + }, + { + "name": "priceMultiplier", + "type": "f32" + }, + { + "name": "demand", + "type": "i32" + } + ]] + } + ] + }, + { + "name": "villagerLevel", + "type": "varint" + }, + { + "name": "experience", + "type": "varint" + }, + { + "name": "isRegularVillager", + "type": "bool" + }, + { + "name": "canRestock", + "type": "bool" + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_book": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "UUID", + "type": "UUID" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "string" + }, + "default": "void" + } + ] + }, + { + "name": "properties", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + "default": "void" + } + ] + }, + { + "name": "gamemode", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "ping", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "displayName", + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "0": [ + "option", + "string" + ], + "3": [ + "option", + "string" + ] + }, + "default": "void" + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "filteringSmeltable", + "type": "bool" + }, + { + "name":"recipes1", + "type":[ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + { + "name":"recipes2", + "type":[ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType":"varint", + "type":"string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "hashedSeed", + "type": "i64" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varint", + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_update_view_position": [ + "container", + [ + { + "name": "chunkX", + "type": "varint" + }, + { + "name": "chunkZ", + "type": "varint" + } + ] + ], + "packet_update_view_distance": [ + "container", + [ + { + "name": "viewDistance", + "type": "varint" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocityX", + "type": "i16" + }, + { + "name": "velocityY", + "type": "i16" + }, + { + "name": "velocityZ", + "type": "i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "container", + [ + { + "name": "team", + "type": "string" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "friendlyFire", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "formatting", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "prefix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "suffix", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_stop_sound": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "source", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "varint", + "1": "varint" + }, + "default": "void" + }] + }, + { + "name": "sound", + "type": ["switch",{ + "compareTo":"flags", + "fields": { + "3": "string", + "2": "string" + }, + "default": "void" + }] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet_declare_recipes": [ + "container", + [ + { + "name": "recipes", + "type": ["array",{ + "countType": "varint", + "type":["container",[ + { + "name": "type", + "type": "string" + }, + { + "name": "recipeId", + "type": "string" + }, + { + "name": "data", + "type": ["switch", { + "compareTo": "type", + "fields": { + "minecraft:crafting_shapeless": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "countType": "varint", + "type": "ingredient" + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_shaped": ["container",[ + { + "name": "width", + "type": "varint" + }, + { + "name": "height", + "type": "varint" + }, + { + "name": "group", + "type": "string" + }, + { + "name": "ingredients", + "type": ["array",{ + "count": "width", + "type": ["array",{ + "count": "height", + "type": "ingredient" + }] + }] + }, + { + "name": "result", + "type": "slot" + } + ]], + "minecraft:crafting_special_armordye": "void", + "minecraft:crafting_special_bookcloning": "void", + "minecraft:crafting_special_mapcloning": "void", + "minecraft:crafting_special_mapextending": "void", + "minecraft:crafting_special_firework_rocket": "void", + "minecraft:crafting_special_firework_star": "void", + "minecraft:crafting_special_firework_star_fade": "void", + "minecraft:crafting_special_repairitem": "void", + "minecraft:crafting_special_tippedarrow": "void", + "minecraft:crafting_special_bannerduplicate": "void", + "minecraft:crafting_special_banneraddpattern": "void", + "minecraft:crafting_special_shielddecoration": "void", + "minecraft:crafting_special_shulkerboxcoloring": "void", + "minecraft:crafting_special_suspiciousstew": "void", + "minecraft:smelting": "minecraft_smelting_format", + "minecraft:blasting": "minecraft_smelting_format", + "minecraft:smoking": "minecraft_smelting_format", + "minecraft:campfire_cooking": "minecraft_smelting_format", + "minecraft:stonecutting": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + } + ]] + } + }] + } + ]] + }] + } + ] + ], + "minecraft_smelting_format": ["container",[ + { + "name": "group", + "type": "string" + }, + { + "name": "ingredient", + "type": "ingredient" + }, + { + "name": "result", + "type": "slot" + }, + { + "name": "experience", + "type": "f32" + }, + { + "name": "cookTime", + "type": "varint" + } + ]], + "tags":["array",{ + "countType": "varint", + "type": ["container", [ + { + "name": "tagName", + "type": "string" + }, + { + "name": "entries", + "type": ["array",{ + "countType": "varint", + "type": "varint" + }] + } + ]] + }], + "packet_tags": [ + "container", + [ + { + "name": "blockTags", + "type": "tags" + }, + { + "name": "itemTags", + "type": "tags" + }, + { + "name": "fluidTags", + "type": "tags" + }, + { + "name": "entityTags", + "type": "tags" + } + ] + ], + "packet_acknowledge_player_digging": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "block", + "type": "varint" + }, + { + "name": "status", + "type": "varint" + }, + { + "name": "successful", + "type": "bool" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "acknowledge_player_digging", + "0x09": "block_break_animation", + "0x0a": "tile_entity_data", + "0x0b": "block_action", + "0x0c": "block_change", + "0x0d": "boss_bar", + "0x0e": "difficulty", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "tab_complete", + "0x12": "declare_commands", + "0x13": "transaction", + "0x14": "close_window", + "0x15": "window_items", + "0x16": "craft_progress_bar", + "0x17": "set_slot", + "0x18": "set_cooldown", + "0x19": "custom_payload", + "0x1a": "named_sound_effect", + "0x1b": "kick_disconnect", + "0x1c": "entity_status", + "0x1d": "explosion", + "0x1e": "unload_chunk", + "0x1f": "game_state_change", + "0x20": "open_horse_window", + "0x21": "keep_alive", + "0x22": "map_chunk", + "0x23": "world_event", + "0x24": "world_particles", + "0x25": "update_light", + "0x26": "login", + "0x27": "map", + "0x28": "trade_list", + "0x29": "rel_entity_move", + "0x2a": "entity_move_look", + "0x2b": "entity_look", + "0x2c": "entity", + "0x2d": "vehicle_move", + "0x2e": "open_book", + "0x2f": "open_window", + "0x30": "open_sign_entity", + "0x31": "craft_recipe_response", + "0x32": "abilities", + "0x33": "combat_event", + "0x34": "player_info", + "0x35": "face_player", + "0x36": "position", + "0x37": "unlock_recipes", + "0x38": "entity_destroy", + "0x39": "remove_entity_effect", + "0x3a": "resource_pack_send", + "0x3b": "respawn", + "0x3c": "entity_head_rotation", + "0x3d": "select_advancement_tab", + "0x3e": "world_border", + "0x3f": "camera", + "0x40": "held_item_slot", + "0x41": "update_view_position", + "0x42": "update_view_distance", + "0x43": "spawn_position", + "0x44": "scoreboard_display_objective", + "0x45": "entity_metadata", + "0x46": "attach_entity", + "0x47": "entity_velocity", + "0x48": "entity_equipment", + "0x49": "experience", + "0x4a": "update_health", + "0x4b": "scoreboard_objective", + "0x4c": "set_passengers", + "0x4d": "teams", + "0x4e": "scoreboard_score", + "0x4f": "update_time", + "0x50": "title", + "0x51": "entity_sound_effect", + "0x52": "sound_effect", + "0x53": "stop_sound", + "0x54": "playerlist_header", + "0x55": "nbt_query_response", + "0x56": "collect", + "0x57": "entity_teleport", + "0x58": "advancements", + "0x59": "entity_update_attributes", + "0x5a": "entity_effect", + "0x5b": "declare_recipes", + "0x5c": "tags" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "declare_commands": "packet_declare_commands", + "face_player": "packet_face_player", + "nbt_query_response": "packet_nbt_query_response", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "open_horse_window": "packet_open_horse_window", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "update_light": "packet_update_light", + "login": "packet_login", + "map": "packet_map", + "trade_list": "packet_trade_list", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_book": "packet_open_book", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "update_view_position": "packet_update_view_position", + "update_view_distance": "packet_update_view_distance", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "entity_sound_effect": "packet_entity_sound_effect", + "stop_sound": "packet_stop_sound", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab", + "declare_recipes": "packet_declare_recipes", + "tags": "packet_tags", + "acknowledge_player_digging": "packet_acknowledge_player_digging" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_query_block_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "newDifficulty", + "type": "u8" + } + ] + ], + "packet_edit_book": [ + "container", + [ + { + "name": "new_book", + "type": "slot" + }, + { + "name": "signing", + "type": "bool" + }, + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_query_entity_nbt": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_pick_item": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_name_item": [ + "container", + [ + { + "name": "name", + "type": "string" + } + ] + ], + "packet_select_trade": [ + "container", + [ + { + "name": "slot", + "type": "varint" + } + ] + ], + "packet_set_beacon_effect": [ + "container", + [ + { + "name": "primary_effect", + "type": "varint" + }, + { + "name": "secondary_effect", + "type": "varint" + } + ] + ], + "packet_update_command_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "command", + "type": "string" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_update_command_block_minecart": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "command", + "type": "string" + } + , + { + "name": "track_output", + "type": "bool" + } + ] + ], + "packet_update_structure_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "mode", + "type": "varint" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "offset_x", + "type": "u8" + }, + { + "name": "offset_y", + "type": "u8" + }, + { + "name": "offset_z", + "type": "u8" + }, + { + "name": "size_x", + "type": "u8" + }, + { + "name": "size_y", + "type": "u8" + }, + { + "name": "size_z", + "type": "u8" + }, + { + "name": "mirror", + "type": "varint" + }, + { + "name": "rotation", + "type": "varint" + }, + { + "name": "metadata", + "type": "string" + }, + { + "name": "integrity", + "type": "f32" + }, + { + "name": "seed", + "type": "varint" + }, + { + "name": "flags", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "transactionId", + "type": "varint" + }, + { + "name": "text", + "type": "string" + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_lock_difficulty": [ + "container", + [ + { + "name": "locked", + "type": "bool" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "string" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "i8" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon":true, + "type":[ + "switch", + { + "compareTo":"type", + "fields":{ + "0":[ + "container", + [ + { + "name": "displayedRecipe", + "type": "string" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + }, + { + "name": "smeltingBookOpen", + "type": "bool" + }, + { + "name": "smeltingFilter", + "type": "bool" + }, + { + "name": "blastingBookOpen", + "type": "bool" + }, + { + "name": "blastingFilter", + "type": "bool" + }, + { + "name": "smokingBookOpen", + "type": "bool" + }, + { + "name": "smokingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_jigsaw_block": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "target", + "type": "string" + }, + { + "name": "pool", + "type": "string" + }, + { + "name": "finalState", + "type": "string" + }, + { + "name": "jointType", + "type": "string" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "hand", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + }, + { + "name": "insideBlock", + "type": "bool" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo":"action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "query_block_nbt", + "0x02": "set_difficulty", + "0x03": "chat", + "0x04": "client_command", + "0x05": "settings", + "0x06": "tab_complete", + "0x07": "transaction", + "0x08": "enchant_item", + "0x09": "window_click", + "0x0a": "close_window", + "0x0b": "custom_payload", + "0x0c": "edit_book", + "0x0d": "query_entity_nbt", + "0x0e": "use_entity", + "0x0f": "keep_alive", + "0x10": "lock_difficulty", + "0x11": "position", + "0x12": "position_look", + "0x13": "look", + "0x14": "flying", + "0x15": "vehicle_move", + "0x16": "steer_boat", + "0x17": "pick_item", + "0x18": "craft_recipe_request", + "0x19": "abilities", + "0x1a": "block_dig", + "0x1b": "entity_action", + "0x1c": "steer_vehicle", + "0x1d": "crafting_book_data", + "0x1e": "name_item", + "0x1f": "resource_pack_receive", + "0x20": "advancement_tab", + "0x21": "select_trade", + "0x22": "set_beacon_effect", + "0x23": "held_item_slot", + "0x24": "update_command_block", + "0x25": "update_command_block_minecart", + "0x26": "set_creative_slot", + "0x27": "update_jigsaw_block", + "0x28": "update_structure_block", + "0x29": "update_sign", + "0x2a": "arm_animation", + "0x2b": "spectate", + "0x2c": "block_place", + "0x2d": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "query_block_nbt": "packet_query_block_nbt", + "set_difficulty": "packet_set_difficulty", + "edit_book": "packet_edit_book", + "query_entity_nbt": "packet_query_entity_nbt", + "pick_item": "packet_pick_item", + "name_item": "packet_name_item", + "select_trade": "packet_select_trade", + "set_beacon_effect": "packet_set_beacon_effect", + "update_command_block": "packet_update_command_block", + "update_command_block_minecart": "packet_update_command_block_minecart", + "update_structure_block": "packet_update_structure_block", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "lock_difficulty": "packet_lock_difficulty", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_jigsaw_block": "packet_update_jigsaw_block", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/20w13b/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/20w13b/version.json new file mode 100644 index 00000000..4211be5e --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/20w13b/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "20w13b", + "version": 709, + "majorVersion": "1.16" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/20w14a/version.json b/node_modules/minecraft-data/minecraft-data/data/pc/20w14a/version.json new file mode 100644 index 00000000..2fa3ce96 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/20w14a/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "20w14a", + "version": 710, + "majorVersion": "1.16" +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/common/protocolVersions.json b/node_modules/minecraft-data/minecraft-data/data/pc/common/protocolVersions.json new file mode 100644 index 00000000..bf2696eb --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/common/protocolVersions.json @@ -0,0 +1,3373 @@ +[ + { + "minecraftVersion": "20w46a", + "version": 1073741830, + "dataVersion": 2682, + "usesNetty": true, + "majorVersion": "1.17" + }, + { + "minecraftVersion": "20w45a", + "version": 1073741829, + "dataVersion": 2681, + "usesNetty": true, + "majorVersion": "1.17" + }, + { + "minecraftVersion": "1.16.4", + "version": 754, + "dataVersion": 2584, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16.4-rc1", + "version": 1073741827, + "dataVersion": 2583, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16.4-pre2", + "version": 1073741826, + "dataVersion": 2582, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16.4-pre1", + "version": 1073741825, + "dataVersion": 2581, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16.3", + "version": 753, + "dataVersion": 2580, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16.3-rc1", + "version": 752, + "dataVersion": 2579, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16.2", + "version": 751, + "dataVersion": 2578, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16.2-rc2", + "version": 750, + "dataVersion": 2577, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16.2-rc1", + "version": 749, + "dataVersion": 2576, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16.2-pre3", + "version": 748, + "dataVersion": 2575, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16.2-pre2", + "version": 746, + "dataVersion": 2574, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16.2-pre1", + "version": 744, + "dataVersion": 2573, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w30a", + "version": 743, + "dataVersion": 2572, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w29a", + "version": 741, + "dataVersion": 2571, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w28a", + "version": 740, + "dataVersion": 2570, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w27a", + "version": 738, + "dataVersion": 2569, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16.1", + "version": 736, + "dataVersion": 2567, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16", + "version": 735, + "dataVersion": 2566, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16-rc1", + "version": 734, + "dataVersion": 2565, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16-pre8", + "version": 733, + "dataVersion": 2564, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16-pre7", + "version": 732, + "dataVersion": 2563, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16-pre6", + "version": 730, + "dataVersion": 2562, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16-pre5", + "version": 729, + "dataVersion": 2561, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16-pre4", + "version": 727, + "dataVersion": 2560, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16-pre3", + "version": 725, + "dataVersion": 2559, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16-pre2", + "version": 722, + "dataVersion": 2557, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.16-pre1", + "version": 721, + "dataVersion": 2556, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w22a", + "version": 719, + "dataVersion": 2555, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w21a", + "version": 718, + "dataVersion": 2554, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w20b", + "version": 717, + "dataVersion": 2537, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w20a", + "version": 716, + "dataVersion": 2536, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w19a", + "version": 715, + "dataVersion": 2534, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w18a", + "version": 714, + "dataVersion": 2532, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w17a", + "version": 713, + "dataVersion": 2529, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w16a", + "version": 712, + "dataVersion": 2526, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w15a", + "version": 711, + "dataVersion": 2525, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w14a", + "version": 710, + "dataVersion": 2524, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w14infinite", + "version": 709, + "dataVersion": 2522, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w13b", + "version": 709, + "dataVersion": 2521, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w13a", + "version": 708, + "dataVersion": 2520, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w12a", + "version": 707, + "dataVersion": 2515, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w11a", + "version": 706, + "dataVersion": 2513, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w10a", + "version": 705, + "dataVersion": 2512, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w09a", + "version": 704, + "dataVersion": 2510, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w08a", + "version": 703, + "dataVersion": 2507, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w07a", + "version": 702, + "dataVersion": 2506, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "20w06a", + "version": 701, + "dataVersion": 2504, + "usesNetty": true, + "majorVersion": "1.16" + }, + { + "minecraftVersion": "1.15.2", + "version": 578, + "dataVersion": 2230, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "1.15.2-pre2", + "version": 577, + "dataVersion": 2229, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "1.15.2-pre1", + "version": 576, + "dataVersion": 2228, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "1.15.1", + "version": 575, + "dataVersion": 2227, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "1.15.1-pre1", + "version": 574, + "dataVersion": 2226, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "1.15", + "version": 573, + "dataVersion": 2225, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "1.15-pre7", + "version": 572, + "dataVersion": 2224, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "1.15-pre6", + "version": 571, + "dataVersion": 2223, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "1.15-pre5", + "version": 570, + "dataVersion": 2222, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "1.15-pre4", + "version": 569, + "dataVersion": 2221, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "1.15-pre3", + "version": 567, + "dataVersion": 2220, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "1.15-pre2", + "version": 566, + "dataVersion": 2219, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "1.15-pre1", + "version": 565, + "dataVersion": 2218, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w46b", + "version": 564, + "dataVersion": 2217, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w46a", + "version": 563, + "dataVersion": 2216, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w45b", + "version": 562, + "dataVersion": 2215, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w45a", + "version": 561, + "dataVersion": 2214, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w44a", + "version": 560, + "dataVersion": 2213, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w42a", + "version": 559, + "dataVersion": 2212, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w41a", + "version": 558, + "dataVersion": 2210, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w40a", + "version": 557, + "dataVersion": 2208, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w39a", + "version": 556, + "dataVersion": 2207, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w38b", + "version": 555, + "dataVersion": 2206, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w38a", + "version": 554, + "dataVersion": 2205, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w37a", + "version": 553, + "dataVersion": 2204, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w36a", + "version": 552, + "dataVersion": 2203, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w35a", + "version": 551, + "dataVersion": 2201, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "19w34a", + "version": 550, + "dataVersion": 2200, + "usesNetty": true, + "majorVersion": "1.15" + }, + { + "minecraftVersion": "1.14.4", + "version": 498, + "dataVersion": 1976, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.4-pre7", + "version": 497, + "dataVersion": 1975, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.4-pre6", + "version": 496, + "dataVersion": 1974, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.4-pre5", + "version": 495, + "dataVersion": 1973, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.4-pre4", + "version": 494, + "dataVersion": 1972, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.4-pre3", + "version": 493, + "dataVersion": 1971, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.4-pre2", + "version": 492, + "dataVersion": 1970, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.4-pre1", + "version": 491, + "dataVersion": 1969, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.3", + "version": 490, + "dataVersion": 1968, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.3-pre4", + "version": 489, + "dataVersion": 1967, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.3-pre3", + "version": 488, + "dataVersion": 1966, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.3-pre2", + "version": 487, + "dataVersion": 1965, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.3-pre1", + "version": 486, + "dataVersion": 1964, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.2", + "version": 485, + "dataVersion": 1963, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.2-pre4", + "version": 484, + "dataVersion": 1962, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.2-pre3", + "version": 483, + "dataVersion": 1960, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.2-pre2", + "version": 482, + "dataVersion": 1959, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.2-pre1", + "version": 481, + "dataVersion": 1958, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.1", + "version": 480, + "dataVersion": 1957, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.1-pre2", + "version": 479, + "dataVersion": 1956, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14.1-pre1", + "version": 478, + "dataVersion": 1955, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14", + "version": 477, + "dataVersion": 1952, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14-pre5", + "version": 476, + "dataVersion": 1951, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14-pre4", + "version": 475, + "dataVersion": 1950, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14-pre3", + "version": 474, + "dataVersion": 1949, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14-pre2", + "version": 473, + "dataVersion": 1948, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.14-pre1", + "version": 472, + "dataVersion": 1947, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w14b", + "version": 471, + "dataVersion": 1945, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w14a", + "version": 470, + "dataVersion": 1944, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w13b", + "version": 469, + "dataVersion": 1943, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w13a", + "version": 468, + "dataVersion": 1942, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w12b", + "version": 467, + "dataVersion": 1941, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w12a", + "version": 466, + "dataVersion": 1940, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w11b", + "version": 465, + "dataVersion": 1938, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w11a", + "version": 464, + "dataVersion": 1937, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w09a", + "version": 463, + "dataVersion": 1935, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w08b", + "version": 462, + "dataVersion": 1934, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w08a", + "version": 461, + "dataVersion": 1933, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w07a", + "version": 460, + "dataVersion": 1932, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w06a", + "version": 459, + "dataVersion": 1931, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w05a", + "version": 458, + "dataVersion": 1930, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w04b", + "version": 457, + "dataVersion": 1927, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w04a", + "version": 456, + "dataVersion": 1926, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w03c", + "version": 455, + "dataVersion": 1924, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w03b", + "version": 454, + "dataVersion": 1923, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w03a", + "version": 453, + "dataVersion": 1922, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "19w02a", + "version": 452, + "dataVersion": 1921, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "18w50a", + "version": 451, + "dataVersion": 1919, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "18w49a", + "version": 450, + "dataVersion": 1916, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "18w48b", + "version": 449, + "dataVersion": 1915, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "18w48a", + "version": 448, + "dataVersion": 1914, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "18w47b", + "version": 447, + "dataVersion": 1913, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "18w47a", + "version": 446, + "dataVersion": 1912, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "18w46a", + "version": 445, + "dataVersion": 1910, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "18w45a", + "version": 444, + "dataVersion": 1908, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "18w44a", + "version": 443, + "dataVersion": 1907, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "18w43c", + "version": 442, + "dataVersion": 1903, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "18w43b", + "version": 441, + "dataVersion": 1902, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "18w43a", + "version": 441, + "dataVersion": 1902, + "usesNetty": true, + "majorVersion": "1.14" + }, + { + "minecraftVersion": "1.13.2", + "version": 404, + "dataVersion": 1631, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13.2-pre2", + "version": 403, + "dataVersion": 1630, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13.2-pre1", + "version": 402, + "dataVersion": 1629, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13.1", + "version": 401, + "dataVersion": 1628, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13.1-pre2", + "version": 400, + "dataVersion": 1627, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13.1-pre1", + "version": 399, + "dataVersion": 1626, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w33a", + "version": 398, + "dataVersion": 1625, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w32a", + "version": 397, + "dataVersion": 1623, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w31a", + "version": 396, + "dataVersion": 1622, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w30b", + "version": 395, + "dataVersion": 1621, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w30a", + "version": 394, + "dataVersion": 1620, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13", + "version": 393, + "dataVersion": 1519, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13-pre10", + "version": 392, + "dataVersion": 1518, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13-pre9", + "version": 391, + "dataVersion": 1517, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13-pre8", + "version": 390, + "dataVersion": 1516, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13-pre7", + "version": 389, + "dataVersion": 1513, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13-pre6", + "version": 388, + "dataVersion": 1512, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13-pre5", + "version": 387, + "dataVersion": 1511, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13-pre4", + "version": 386, + "dataVersion": 1504, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13-pre3", + "version": 385, + "dataVersion": 1503, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13-pre2", + "version": 384, + "dataVersion": 1502, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.13-pre1", + "version": 383, + "dataVersion": 1501, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w22c", + "version": 382, + "dataVersion": 1499, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w22b", + "version": 381, + "dataVersion": 1498, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w22a", + "version": 380, + "dataVersion": 1497, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w21b", + "version": 379, + "dataVersion": 1496, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w21a", + "version": 378, + "dataVersion": 1495, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w20c", + "version": 377, + "dataVersion": 1493, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w20b", + "version": 376, + "dataVersion": 1491, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w20a", + "version": 375, + "dataVersion": 1489, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w19b", + "version": 374, + "dataVersion": 1485, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w19a", + "version": 373, + "dataVersion": 1484, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w16a", + "version": 372, + "dataVersion": 1483, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w15a", + "version": 371, + "dataVersion": 1482, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w14b", + "version": 370, + "dataVersion": 1481, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w14a", + "version": 369, + "dataVersion": 1479, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w11a", + "version": 368, + "dataVersion": 1478, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w10d", + "version": 367, + "dataVersion": 1477, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w10c", + "version": 366, + "dataVersion": 1476, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w10b", + "version": 365, + "dataVersion": 1474, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w10a", + "version": 364, + "dataVersion": 1473, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w09a", + "version": 363, + "dataVersion": 1472, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w08b", + "version": 362, + "dataVersion": 1471, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w08a", + "version": 361, + "dataVersion": 1470, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w07c", + "version": 360, + "dataVersion": 1469, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w07b", + "version": 359, + "dataVersion": 1468, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w07a", + "version": 358, + "dataVersion": 1467, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w06a", + "version": 357, + "dataVersion": 1466, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w05a", + "version": 356, + "dataVersion": 1464, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w03b", + "version": 355, + "dataVersion": 1463, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w03a", + "version": 354, + "dataVersion": 1462, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w02a", + "version": 353, + "dataVersion": 1461, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "18w01a", + "version": 352, + "dataVersion": 1459, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "17w50a", + "version": 351, + "dataVersion": 1457, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "17w49b", + "version": 350, + "dataVersion": 1455, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "17w49a", + "version": 349, + "dataVersion": 1454, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "17w48a", + "version": 348, + "dataVersion": 1453, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "17w47b", + "version": 347, + "dataVersion": 1452, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "17w47a", + "version": 346, + "dataVersion": 1451, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "17w46a", + "version": 345, + "dataVersion": 1449, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "17w45b", + "version": 344, + "dataVersion": 1448, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "17w45a", + "version": 343, + "dataVersion": 1447, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "17w43b", + "version": 342, + "dataVersion": 1445, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "17w43a", + "version": 341, + "dataVersion": 1444, + "usesNetty": true, + "majorVersion": "1.13" + }, + { + "minecraftVersion": "1.12.2", + "version": 340, + "dataVersion": 1343, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "1.12.2-pre2", + "version": 339, + "dataVersion": 1342, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "1.12.2-pre1", + "version": 339, + "dataVersion": 1341, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "1.12.1", + "version": 338, + "dataVersion": 1241, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "1.12.1-pre1", + "version": 337, + "dataVersion": 1240, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "17w31a", + "version": 336, + "dataVersion": 1239, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "1.12", + "version": 335, + "dataVersion": 1139, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "1.12-pre7", + "version": 334, + "dataVersion": 1138, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "1.12-pre6", + "version": 333, + "dataVersion": 1137, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "1.12-pre5", + "version": 332, + "dataVersion": 1136, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "1.12-pre4", + "version": 331, + "dataVersion": 1135, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "1.12-pre3", + "version": 330, + "dataVersion": 1134, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "1.12-pre2", + "version": 329, + "dataVersion": 1133, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "1.12-pre1", + "version": 328, + "dataVersion": 1132, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "17w18b", + "version": 327, + "dataVersion": 1131, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "17w18a", + "version": 326, + "dataVersion": 1130, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "17w17b", + "version": 325, + "dataVersion": 1129, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "17w17a", + "version": 324, + "dataVersion": 1128, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "17w16b", + "version": 323, + "dataVersion": 1127, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "17w16a", + "version": 322, + "dataVersion": 1126, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "17w15a", + "version": 321, + "dataVersion": 1125, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "17w14a", + "version": 320, + "dataVersion": 1124, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "17w13b", + "version": 319, + "dataVersion": 1123, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "17w13a", + "version": 318, + "dataVersion": 1122, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "17w06a", + "version": 317, + "dataVersion": 1022, + "usesNetty": true, + "majorVersion": "1.12" + }, + { + "minecraftVersion": "1.11.2", + "version": 316, + "dataVersion": 922, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "1.11.1", + "version": 316, + "dataVersion": 921, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w50a", + "version": 316, + "dataVersion": 920, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "1.11", + "version": 315, + "dataVersion": 819, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "1.11-pre1", + "version": 314, + "dataVersion": 818, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w44a", + "version": 313, + "dataVersion": 817, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w43a", + "version": 313, + "dataVersion": 817, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w42a", + "version": 312, + "dataVersion": 815, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w41a", + "version": 311, + "dataVersion": 814, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w40a", + "version": 310, + "dataVersion": 813, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w39c", + "version": 309, + "dataVersion": 812, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w39b", + "version": 308, + "dataVersion": 811, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w39a", + "version": 307, + "dataVersion": 809, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w38a", + "version": 306, + "dataVersion": 807, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w36a", + "version": 305, + "dataVersion": 805, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w35a", + "version": 304, + "dataVersion": 803, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w33a", + "version": 303, + "dataVersion": 802, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w32b", + "version": 302, + "dataVersion": 801, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "16w32a", + "version": 301, + "dataVersion": 800, + "usesNetty": true, + "majorVersion": "1.11" + }, + { + "minecraftVersion": "1.10.2", + "version": 210, + "dataVersion": 512, + "usesNetty": true, + "majorVersion": "1.10" + }, + { + "minecraftVersion": "1.10.1", + "version": 210, + "dataVersion": 511, + "usesNetty": true, + "majorVersion": "1.10" + }, + { + "minecraftVersion": "1.10", + "version": 210, + "dataVersion": 510, + "usesNetty": true, + "majorVersion": "1.10" + }, + { + "minecraftVersion": "1.10-pre2", + "version": 205, + "dataVersion": 507, + "usesNetty": true, + "majorVersion": "1.10" + }, + { + "minecraftVersion": "1.10-pre1", + "version": 204, + "dataVersion": 506, + "usesNetty": true, + "majorVersion": "1.10" + }, + { + "minecraftVersion": "16w21b", + "version": 203, + "dataVersion": 504, + "usesNetty": true, + "majorVersion": "1.10" + }, + { + "minecraftVersion": "16w21a", + "version": 202, + "dataVersion": 503, + "usesNetty": true, + "majorVersion": "1.10" + }, + { + "minecraftVersion": "16w20a", + "version": 201, + "dataVersion": 501, + "usesNetty": true, + "majorVersion": "1.10" + }, + { + "minecraftVersion": "1.9.4", + "version": 110, + "dataVersion": 184, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9.3", + "version": 110, + "dataVersion": 183, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9.3-pre3", + "version": 110, + "dataVersion": 182, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9.3-pre2", + "version": 110, + "dataVersion": 181, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9.3-pre1", + "version": 109, + "dataVersion": 180, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "16w15b", + "version": 109, + "dataVersion": 179, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "16w15a", + "version": 109, + "dataVersion": 178, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "16w14a", + "version": 109, + "dataVersion": 177, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9.2", + "version": 109, + "dataVersion": 176, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9.1", + "version": 108, + "dataVersion": 175, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9.1-pre3", + "version": 108, + "dataVersion": 172, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9.1-pre3", + "version": 108, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9.1-pre2", + "version": 108, + "dataVersion": 171, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9.1-pre1", + "version": 107, + "dataVersion": 170, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9", + "version": 107, + "dataVersion": 169, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9-pre4", + "version": 106, + "dataVersion": 168, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9-pre3", + "version": 105, + "dataVersion": 167, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9-pre2", + "version": 104, + "dataVersion": 165, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.9-pre1", + "version": 103, + "dataVersion": 164, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "16w07b", + "version": 102, + "dataVersion": 163, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "16w07a", + "version": 101, + "dataVersion": 162, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "16w06a", + "version": 100, + "dataVersion": 161, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "16w05b", + "version": 99, + "dataVersion": 160, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "16w05a", + "version": 98, + "dataVersion": 159, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "16w04a", + "version": 97, + "dataVersion": 158, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "16w03a", + "version": 96, + "dataVersion": 157, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "16w02a", + "version": 95, + "dataVersion": 156, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w51b", + "version": 94, + "dataVersion": 155, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w51a", + "version": 93, + "dataVersion": 154, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w50a", + "version": 92, + "dataVersion": 153, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w49b", + "version": 91, + "dataVersion": 152, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w49a", + "version": 90, + "dataVersion": 151, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w47c", + "version": 89, + "dataVersion": 150, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w47b", + "version": 88, + "dataVersion": 149, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w47a", + "version": 87, + "dataVersion": 148, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w46a", + "version": 86, + "dataVersion": 146, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w45a", + "version": 85, + "dataVersion": 145, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w44b", + "version": 84, + "dataVersion": 143, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w44a", + "version": 83, + "dataVersion": 142, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w43c", + "version": 82, + "dataVersion": 141, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w43b", + "version": 81, + "dataVersion": 140, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w43a", + "version": 80, + "dataVersion": 139, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w42a", + "version": 79, + "dataVersion": 138, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w41b", + "version": 78, + "dataVersion": 137, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w41a", + "version": 77, + "dataVersion": 136, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w40b", + "version": 76, + "dataVersion": 134, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w40a", + "version": 75, + "dataVersion": 133, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w39c", + "version": 74, + "dataVersion": 132, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w39b", + "version": 74, + "dataVersion": 131, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w39a", + "version": 74, + "dataVersion": 130, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w38b", + "version": 73, + "dataVersion": 129, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w38a", + "version": 72, + "dataVersion": 128, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w37a", + "version": 71, + "dataVersion": 127, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w36d", + "version": 70, + "dataVersion": 126, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w36c", + "version": 69, + "dataVersion": 125, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w36b", + "version": 68, + "dataVersion": 124, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w36a", + "version": 67, + "dataVersion": 123, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w35e", + "version": 66, + "dataVersion": 122, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w35d", + "version": 65, + "dataVersion": 121, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w35c", + "version": 64, + "dataVersion": 120, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w35b", + "version": 63, + "dataVersion": 119, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w35a", + "version": 62, + "dataVersion": 118, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w34d", + "version": 61, + "dataVersion": 117, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w34c", + "version": 60, + "dataVersion": 116, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w34b", + "version": 59, + "dataVersion": 115, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w34a", + "version": 58, + "dataVersion": 114, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w33c", + "version": 57, + "dataVersion": 112, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w33b", + "version": 56, + "dataVersion": 111, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w33a", + "version": 55, + "dataVersion": 111, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w32c", + "version": 54, + "dataVersion": 104, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w32b", + "version": 53, + "dataVersion": 103, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w32a", + "version": 52, + "dataVersion": 100, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w31c", + "version": 51, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w31b", + "version": 50, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w31a", + "version": 49, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "15w14a", + "version": 48, + "usesNetty": true, + "majorVersion": "1.9" + }, + { + "minecraftVersion": "1.8.9", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.8", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.7", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.6", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.5", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.4", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.3", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.2", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.2-pre7", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.2-pre6", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.2-pre5", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.2-pre4", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.2-pre3", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.2-pre2", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.2-pre1", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.1", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.1-pre5", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.1-pre4", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.1-pre3", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.1-pre2", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8.1-pre1", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8", + "version": 47, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8-pre3", + "version": 46, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8-pre2", + "version": 45, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.8-pre1", + "version": 44, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w34d", + "version": 43, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w34c", + "version": 42, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w34b", + "version": 41, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w34a", + "version": 40, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w33c", + "version": 39, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w33b", + "version": 38, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w33a", + "version": 37, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w32d", + "version": 36, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w32c", + "version": 35, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w32b", + "version": 34, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w32a", + "version": 33, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w31a", + "version": 32, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w30c", + "version": 31, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w30b", + "version": 30, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w30a", + "version": 30, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w29b", + "version": 29, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w29a", + "version": 29, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w28b", + "version": 28, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w28a", + "version": 27, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w27b", + "version": 26, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w27a", + "version": 26, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w26c", + "version": 25, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w26b", + "version": 24, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w26a", + "version": 23, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w25b", + "version": 22, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w25a", + "version": 21, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w21b", + "version": 20, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w21a", + "version": 19, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w20b", + "version": 18, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w20a", + "version": 18, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w19a", + "version": 17, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w18b", + "version": 16, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w18a", + "version": 16, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w17a", + "version": 15, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w11b", + "version": 14, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w11a", + "version": 14, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w10c", + "version": 13, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w10b", + "version": 13, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w10a", + "version": 13, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w08a", + "version": 12, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w07a", + "version": 11, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w06b", + "version": 10, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w06a", + "version": 10, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w05b", + "version": 9, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w05a", + "version": 9, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w04b", + "version": 8, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w04a", + "version": 7, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w03b", + "version": 6, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w03a", + "version": 6, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w02c", + "version": 5, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w02b", + "version": 5, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "14w02a", + "version": 5, + "usesNetty": true, + "majorVersion": "1.8" + }, + { + "minecraftVersion": "1.7.10", + "version": 5, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.10-pre4", + "version": 5, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.10-pre3", + "version": 5, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.10-pre2", + "version": 5, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.10-pre1", + "version": 5, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.9", + "version": 5, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.8", + "version": 5, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.7", + "version": 5, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.6", + "version": 5, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.6-pre2", + "version": 5, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.6-pre1", + "version": 5, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.5", + "version": 4, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.4", + "version": 4, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.3-pre", + "version": 4, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "13w49a", + "version": 4, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "13w48b", + "version": 4, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "13w48a", + "version": 4, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "13w47e", + "version": 4, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "13w47d", + "version": 4, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "13w47c", + "version": 4, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "13w47b", + "version": 4, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "13w47a", + "version": 4, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.2", + "version": 4, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7.1-pre", + "version": 3, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.7-pre", + "version": 3, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "13w43a", + "version": 2, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "13w42b", + "version": 1, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "13w42a", + "version": 1, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "13w41b", + "version": 0, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "13w41a", + "version": 0, + "usesNetty": true, + "majorVersion": "1.7" + }, + { + "minecraftVersion": "1.6.4", + "version": 78, + "dataVersion": 137, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "1.6.2", + "version": 74, + "dataVersion": 132, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "1.6.1", + "version": 73, + "dataVersion": 129, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "1.6-pre", + "version": 72, + "dataVersion": 128, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w26a", + "version": 72, + "dataVersion": 128, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w25c", + "version": 71, + "dataVersion": 127, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w25b", + "version": 71, + "dataVersion": 127, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w25a", + "version": 71, + "dataVersion": 127, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w24b", + "version": 70, + "dataVersion": 126, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w24a", + "version": 69, + "dataVersion": 125, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w23b", + "version": 68, + "dataVersion": 124, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w23a", + "version": 67, + "dataVersion": 123, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w22a", + "version": 67, + "dataVersion": 123, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w21b", + "version": 67, + "dataVersion": 123, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w21a", + "version": 67, + "dataVersion": 123, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w19a", + "version": 66, + "dataVersion": 122, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w18a", + "version": 65, + "dataVersion": 121, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w17a", + "version": 64, + "dataVersion": 120, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "13w16b", + "version": 63, + "dataVersion": 119, + "usesNetty": false, + "majorVersion": "1.6" + }, + { + "minecraftVersion": "1.5.2", + "version": 61, + "dataVersion": 117, + "usesNetty": false, + "majorVersion": "1.5" + }, + { + "minecraftVersion": "1.5.1", + "version": 60, + "dataVersion": 116, + "usesNetty": false, + "majorVersion": "1.5" + }, + { + "minecraftVersion": "1.5", + "version": 60, + "dataVersion": 116, + "usesNetty": false, + "majorVersion": "1.5" + }, + { + "minecraftVersion": "13w09b", + "version": 59, + "dataVersion": 115, + "usesNetty": false, + "majorVersion": "1.5" + }, + { + "minecraftVersion": "13w06a", + "version": 58, + "dataVersion": 114, + "usesNetty": false, + "majorVersion": "1.5" + }, + { + "minecraftVersion": "13w05b", + "version": 57, + "dataVersion": 112, + "usesNetty": false, + "majorVersion": "1.5" + }, + { + "minecraftVersion": "13w05a", + "version": 56, + "dataVersion": 111, + "usesNetty": false, + "majorVersion": "1.5" + }, + { + "minecraftVersion": "13w04a", + "version": 55, + "dataVersion": 111, + "usesNetty": false, + "majorVersion": "1.5" + }, + { + "minecraftVersion": "13w03a", + "version": 54, + "dataVersion": 104, + "usesNetty": false, + "majorVersion": "1.5" + }, + { + "minecraftVersion": "13w02a", + "version": 53, + "dataVersion": 103, + "usesNetty": false, + "majorVersion": "1.5" + }, + { + "minecraftVersion": "13w01a", + "version": 52, + "dataVersion": 100, + "usesNetty": false, + "majorVersion": "1.5" + }, + { + "minecraftVersion": "1.4.7", + "version": 51, + "usesNetty": false, + "majorVersion": "1.4" + }, + { + "minecraftVersion": "1.4.6", + "version": 51, + "usesNetty": false, + "majorVersion": "1.4" + }, + { + "minecraftVersion": "12w49a", + "version": 50, + "usesNetty": false, + "majorVersion": "1.4" + }, + { + "minecraftVersion": "1.4.5", + "version": 49, + "usesNetty": false, + "majorVersion": "1.4" + }, + { + "minecraftVersion": "1.4.4", + "version": 49, + "usesNetty": false, + "majorVersion": "1.4" + }, + { + "minecraftVersion": "1.4.3-pre", + "version": 48, + "usesNetty": false, + "majorVersion": "1.4" + }, + { + "minecraftVersion": "1.4.2", + "version": 47, + "usesNetty": false, + "majorVersion": "1.4" + }, + { + "minecraftVersion": "12w41a", + "version": 46, + "usesNetty": false, + "majorVersion": "1.4" + }, + { + "minecraftVersion": "12w40a", + "version": 45, + "usesNetty": false, + "majorVersion": "1.4" + }, + { + "minecraftVersion": "12w34b", + "version": 42, + "usesNetty": false, + "majorVersion": "1.4" + }, + { + "minecraftVersion": "12w34a", + "version": 41, + "usesNetty": false, + "majorVersion": "1.4" + }, + { + "minecraftVersion": "12w32a", + "version": 40, + "usesNetty": false, + "majorVersion": "1.4" + }, + { + "minecraftVersion": "1.3.2", + "version": 39, + "usesNetty": false, + "majorVersion": "1.3" + }, + { + "minecraftVersion": "1.3.1", + "version": 39, + "usesNetty": false, + "majorVersion": "1.3" + }, + { + "minecraftVersion": "12w27a", + "version": 38, + "usesNetty": false, + "majorVersion": "1.3" + }, + { + "minecraftVersion": "12w26a", + "version": 37, + "usesNetty": false, + "majorVersion": "1.3" + }, + { + "minecraftVersion": "12w25a", + "version": 37, + "usesNetty": false, + "majorVersion": "1.3" + }, + { + "minecraftVersion": "12w24a", + "version": 36, + "usesNetty": false, + "majorVersion": "1.3" + }, + { + "minecraftVersion": "12w23a", + "version": 35, + "usesNetty": false, + "majorVersion": "1.3" + }, + { + "minecraftVersion": "12w22a", + "version": 34, + "usesNetty": false, + "majorVersion": "1.3" + }, + { + "minecraftVersion": "12w21ab", + "version": 33, + "usesNetty": false, + "majorVersion": "1.3" + }, + { + "minecraftVersion": "12w19a", + "version": 32, + "usesNetty": false, + "majorVersion": "1.3" + }, + { + "minecraftVersion": "12w18a", + "version": 32, + "usesNetty": false, + "majorVersion": "1.3" + }, + { + "minecraftVersion": "12w17a", + "version": 31, + "usesNetty": false, + "majorVersion": "1.3" + }, + { + "minecraftVersion": "12w16a", + "version": 30, + "usesNetty": false, + "majorVersion": "1.3" + }, + { + "minecraftVersion": "1.2.5", + "version": 29, + "usesNetty": false, + "majorVersion": "1.2" + }, + { + "minecraftVersion": "1.2.4", + "version": 29, + "usesNetty": false, + "majorVersion": "1.2" + }, + { + "minecraftVersion": "1.2.3", + "version": 28, + "usesNetty": false, + "majorVersion": "1.2" + }, + { + "minecraftVersion": "1.2.2", + "version": 28, + "usesNetty": false, + "majorVersion": "1.2" + }, + { + "minecraftVersion": "1.2.1", + "version": 28, + "usesNetty": false, + "majorVersion": "1.2" + }, + { + "minecraftVersion": "12w07a", + "version": 27, + "usesNetty": false, + "majorVersion": "1.2" + }, + { + "minecraftVersion": "12w06a", + "version": 25, + "usesNetty": false, + "majorVersion": "1.2" + }, + { + "minecraftVersion": "12w01a", + "version": 24, + "usesNetty": false, + "majorVersion": "1.2" + }, + { + "minecraftVersion": "12w03a", + "version": 24, + "usesNetty": false, + "majorVersion": "1.2" + }, + { + "minecraftVersion": "12w04a", + "version": 24, + "usesNetty": false, + "majorVersion": "1.2" + }, + { + "minecraftVersion": "12w05a", + "version": 24, + "usesNetty": false, + "majorVersion": "1.2" + }, + { + "minecraftVersion": "1.1", + "version": 23, + "usesNetty": false, + "majorVersion": "1.1" + }, + { + "minecraftVersion": "1.0.0", + "version": 22, + "usesNetty": false, + "majorVersion": "1.0" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pc/common/versions.json b/node_modules/minecraft-data/minecraft-data/data/pc/common/versions.json new file mode 100644 index 00000000..f6363330 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pc/common/versions.json @@ -0,0 +1,45 @@ +[ + "0.30c", + "1.7", + "1.8", + "15w40b", + "1.9", + "1.9.1-pre2", + "1.9.2", + "1.9.4", + "16w20a", + "1.10-pre1", + "1.10", + "1.10.1", + "1.10.2", + "16w35a", + "1.11", + "1.11.2", + "17w15a", + "17w18b", + "1.12-pre4", + "1.12", + "1.12.1", + "1.12.2", + "17w50a", + "1.13", + "1.13.1", + "1.13.2-pre1", + "1.13.2-pre2", + "1.13.2", + "1.14", + "1.14.1", + "1.14.3", + "1.14.4", + "1.15", + "1.15.1", + "1.15.2", + "20w13b", + "20w14a", + "1.16-rc1", + "1.16", + "1.16.1", + "1.16.2", + "1.16.3", + "1.16.4" +] diff --git a/node_modules/minecraft-data/minecraft-data/data/pe/0.14/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pe/0.14/blocks.json new file mode 100644 index 00000000..f87f4d04 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pe/0.14/blocks.json @@ -0,0 +1,4512 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone" + }, + { + "metadata": 1, + "displayName": "Granite" + }, + { + "metadata": 2, + "displayName": "Polished Granite" + }, + { + "metadata": 3, + "displayName": "Diorite" + }, + { + "metadata": 4, + "displayName": "Polished Diorite" + }, + { + "metadata": 5, + "displayName": "Andesite" + }, + { + "metadata": 6, + "displayName": "Polished Andesite" + } + ], + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass_block", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Dirt" + }, + { + "metadata": 1, + "displayName": "Coarse Dirt" + }, + { + "metadata": 2, + "displayName": "Podzol" + } + ], + "drops": [ + { + "drop": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "wood_planks", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Wood Planks" + }, + { + "metadata": 1, + "displayName": "Spruce Wood Planks" + }, + { + "metadata": 2, + "displayName": "Birch Wood Planks" + }, + { + "metadata": 3, + "displayName": "Jungle Wood Planks" + }, + { + "metadata": 4, + "displayName": "Acacia Wood Planks" + }, + { + "metadata": 5, + "displayName": "Dark Oak Wood Planks" + } + ], + "drops": [ + { + "drop": 5 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 6 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 8, + "displayName": "Water", + "name": "water", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 10, + "displayName": "Lava", + "name": "lava", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Sand" + }, + { + "metadata": 1, + "displayName": "Red sand" + } + ], + "drops": [ + { + "drop": 12 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 13, + "minCount": 0.9 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 14 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 15 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 263, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 17, + "displayName": "Wood", + "name": "wood", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 17 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "leaves", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Leaves" + }, + { + "metadata": 1, + "displayName": "Spruce Leaves" + }, + { + "metadata": 2, + "displayName": "Birch Leaves" + }, + { + "metadata": 3, + "displayName": "Jungle Leaves" + }, + { + "metadata": 4, + "displayName": "Oak Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Spruce Leaves (no decay)" + }, + { + "metadata": 6, + "displayName": "Birch Leaves (no decay)" + }, + { + "metadata": 7, + "displayName": "Jungle Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Oak Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Spruce Leaves (check decay)" + }, + { + "metadata": 10, + "displayName": "Birch Leaves (check decay)" + }, + { + "metadata": 11, + "displayName": "Jungle Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Oak Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Spruce Leaves (no decay and check decay)" + }, + { + "metadata": 14, + "displayName": "Birch Leaves (no decay and check decay)" + }, + { + "metadata": 15, + "displayName": "Jungle Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Sponge" + }, + { + "metadata": 1, + "displayName": "Wet Sponge" + } + ], + "drops": [ + { + "drop": 19 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Stained Glass" + }, + { + "metadata": 1, + "displayName": "Orange Stained Glass" + }, + { + "metadata": 2, + "displayName": "Magenta Stained Glass" + }, + { + "metadata": 3, + "displayName": "Light Blue Stained Glass" + }, + { + "metadata": 4, + "displayName": "Yellow Stained Glass" + }, + { + "metadata": 5, + "displayName": "Lime Stained Glass" + }, + { + "metadata": 6, + "displayName": "Pink Stained Glass" + }, + { + "metadata": 7, + "displayName": "Gray Stained Glass" + }, + { + "metadata": 8, + "displayName": "Light Gray Stained Glass" + }, + { + "metadata": 9, + "displayName": "Cyan Stained Glass" + }, + { + "metadata": 10, + "displayName": "Purple Stained Glass" + }, + { + "metadata": 11, + "displayName": "Blue Stained Glass" + }, + { + "metadata": 12, + "displayName": "Brown Stained Glass" + }, + { + "metadata": 13, + "displayName": "Green Stained Glass" + }, + { + "metadata": 14, + "displayName": "Red Stained Glass" + }, + { + "metadata": 15, + "displayName": "Black Stained Glass" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_lazuli_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": { + "id": 351, + "metadata": 4 + }, + "minCount": 4, + "maxCount": 8 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_lazuli_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 22 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 23 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth sandstone" + } + ], + "drops": [ + { + "drop": 24 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "note_block", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 25 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 26, + "displayName": "Bed", + "name": "bed", + "hardness": 0.2, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 26 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "powered_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 27 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 28 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "cobweb", + "hardness": 4, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "web", + "harvestTools": { + "267": true, + "268": true, + "272": true, + "276": true, + "283": true, + "359": true + }, + "drops": [ + { + "drop": 287 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 31, + "displayName": "Tall Grass", + "name": "tall_grass", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Shrub" + }, + { + "metadata": 1, + "displayName": "Tall Grass" + }, + { + "metadata": 2, + "displayName": "Fern" + } + ], + "drops": [ + { + "drop": 295, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "dead_bush", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 280, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wool", + "drops": [ + { + "drop": 35 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "dandelion", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 37 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 38, + "displayName": "Flower", + "name": "flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Poppy" + }, + { + "metadata": 1, + "displayName": "Blue Orchid" + }, + { + "metadata": 2, + "displayName": "Allium" + }, + { + "metadata": 3, + "displayName": "Azure Bluet" + }, + { + "metadata": 4, + "displayName": "Red Tulip" + }, + { + "metadata": 5, + "displayName": "Orange Tulip" + }, + { + "metadata": 6, + "displayName": "White Tulip" + }, + { + "metadata": 7, + "displayName": "Pink Tulip" + }, + { + "metadata": 8, + "displayName": "Oxeye Daisy" + } + ], + "drops": [ + { + "drop": 38 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 39 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 40 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "block_of_gold", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 41 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "block_of_iron", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 42 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Stone Slab" + }, + { + "metadata": 1, + "displayName": "Double Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "Double (Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Double Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Double Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Double Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Double Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Double Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Stone Slab" + }, + { + "metadata": 9, + "displayName": "Smooth Double Sandstone Slab" + }, + { + "metadata": 15, + "displayName": "Tile Double Quartz Slab (note the underside)" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone Slab" + }, + { + "metadata": 1, + "displayName": "Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "(Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Upper Stone Slab" + }, + { + "metadata": 9, + "displayName": "Upper Sandstone Slab" + }, + { + "metadata": 10, + "displayName": "Upper (Stone) Wooden Slab" + }, + { + "metadata": 11, + "displayName": "Upper Cobblestone Slab" + }, + { + "metadata": 12, + "displayName": "Upper Bricks Slab" + }, + { + "metadata": 13, + "displayName": "Upper Stone Brick Slab" + }, + { + "metadata": 14, + "displayName": "Upper Nether Brick Slab" + }, + { + "metadata": 15, + "displayName": "Upper Quartz Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "bricks", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 45 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Drops a TNT item when broken" + }, + { + "metadata": 1, + "displayName": "Activates when broken" + } + ], + "drops": [ + { + "drop": 46 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 340, + "minCount": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "moss_stone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 48 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "278": true + }, + "drops": [ + { + "drop": 49 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 50 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "monster_spawner", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 53 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 54 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 55 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 264 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "block_of_diamond", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 57 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 58 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 59, + "displayName": "Crops", + "name": "crops", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 59 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 63, + "displayName": "Sign", + "name": "sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 63 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 64, + "displayName": "Wooden Door", + "name": "wooden_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 64 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 65 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 66 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 67 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 68 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 69 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 70 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 71, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 71 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 72 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 75 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 76, + "displayName": "Redstone Torch (active)", + "name": "redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 76 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 77 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 78, + "displayName": "Top Snow", + "name": "top_snow", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "One layer, 2 pixels thick" + }, + { + "metadata": 1, + "displayName": "Two layers, 4 pixels thick" + }, + { + "metadata": 2, + "displayName": "Three layers, 6 pixels thick" + }, + { + "metadata": 3, + "displayName": "Four layers, 8 pixels thick" + }, + { + "metadata": 4, + "displayName": "Five layers, 10 pixels thick" + }, + { + "metadata": 5, + "displayName": "Six layers, 12 pixels thick" + }, + { + "metadata": 6, + "displayName": "Seven layers, 14 pixels thick" + }, + { + "metadata": 7, + "displayName": "Eight layers, 16 pixels thick" + } + ], + "drops": [ + { + "drop": 332, + "minCount": 2, + "maxCount": 9 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "drops": [ + { + "drop": 332, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 81 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 337, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 83, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 83 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 85 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 86 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 87 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 88 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 348, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 90, + "displayName": "Portal", + "name": "portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 90 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "jack_o'lantern", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 91 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 92, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "stackSize": 1, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 93, + "displayName": "Redstone Repeater (inactive)", + "name": "redstone_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 93 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 94, + "displayName": "Redstone Repeater (active)", + "name": "redstone_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 94 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 95, + "displayName": "Invisible Bedrock", + "name": "invisible_bedrock", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 95 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 96 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "hardness": 0.75, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Stone Monster Egg" + }, + { + "metadata": 1, + "displayName": "Cobblestone Monster Egg" + }, + { + "metadata": 2, + "displayName": "Stone Brick Monster Egg" + }, + { + "metadata": 3, + "displayName": "Mossy Stone Brick Monster Egg" + }, + { + "metadata": 4, + "displayName": "Cracked Stone Brick Monster Egg" + }, + { + "metadata": 5, + "displayName": "Chiseled Stone Brick Monster Egg" + } + ], + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 98, + "displayName": "Stone Brick", + "name": "stone_brick", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone brick" + }, + { + "metadata": 1, + "displayName": "Mossy stone brick" + }, + { + "metadata": 2, + "displayName": "Cracked stone brick" + }, + { + "metadata": 3, + "displayName": "Chiseled stone brick" + } + ], + "drops": [ + { + "drop": 98 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 99, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 40, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 100, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 40, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 101 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 360, + "minCount": 3, + "maxCount": 7 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 361, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 362, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vines", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 106 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 107 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 108 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 109 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "lily_pad", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 111 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 112 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 113 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 114 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 115, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 372 + }, + { + "drop": 372, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchantment_table", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 116 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 117, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 117 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 118, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 118 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 120, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 120 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 121 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 122, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 122 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 123, + "displayName": "Redstone Lamp (active)", + "name": "redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 123 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 126, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 126 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": { + "id": 351, + "metadata": 3 + } + }, + { + "drop": { + "id": 351, + "metadata": 3 + }, + "minCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 128 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 388 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 131 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 132 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "block_of_emerald", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 133 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 134 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 135 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 136 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Cobblestone Wall" + }, + { + "metadata": 1, + "displayName": "Mossy Cobblestone Wall" + } + ], + "drops": [ + { + "drop": 139 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 140, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Empty Flower Pot" + }, + { + "metadata": 1, + "displayName": "Poppy Flower Pot" + }, + { + "metadata": 2, + "displayName": "Dandelion Flower Pot" + }, + { + "metadata": 3, + "displayName": "Oak sapling Flower Pot" + }, + { + "metadata": 4, + "displayName": "Spruce sapling Flower Pot" + }, + { + "metadata": 5, + "displayName": "Birch sapling Flower Pot" + }, + { + "metadata": 6, + "displayName": "Jungle sapling Flower Pot" + }, + { + "metadata": 7, + "displayName": "Red mushroom Flower Pot" + }, + { + "metadata": 8, + "displayName": "Brown mushroom Flower Pot" + }, + { + "metadata": 9, + "displayName": "Cactus Flower Pot" + }, + { + "metadata": 10, + "displayName": "Dead bush Flower Pot" + }, + { + "metadata": 11, + "displayName": "Fern Flower Pot" + }, + { + "metadata": 12, + "displayName": "Acacia sapling Flower Pot" + }, + { + "metadata": 13, + "displayName": "Dark oak sapling Flower Pot" + } + ], + "drops": [ + { + "drop": 140 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 141, + "displayName": "Carrots", + "name": "carrots", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 141 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potato", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 142 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 143 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 144, + "displayName": "Mob head", + "name": "mob_head", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ], + "drops": [ + { + "drop": 144 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Anvil" + }, + { + "metadata": 1, + "displayName": "Slightly Damaged Anvil" + }, + { + "metadata": 2, + "displayName": "Very Damaged Anvil" + }, + { + "metadata": 3, + "displayName": "Anvil (North/South)" + }, + { + "metadata": 4, + "displayName": "Anvil (East/West)" + }, + { + "metadata": 5, + "displayName": "Anvil (South/North)" + }, + { + "metadata": 6, + "displayName": "Anvil (West/East)" + }, + { + "metadata": 7, + "displayName": "Slightly Damaged Anvil (North/South)" + }, + { + "metadata": 8, + "displayName": "Slightly Damaged Anvil (East/West)" + }, + { + "metadata": 9, + "displayName": "Slightly Damaged Anvil (West/East)" + }, + { + "metadata": 10, + "displayName": "Slightly Damaged Anvil (South/North)" + }, + { + "metadata": 11, + "displayName": "Very Damaged Anvil (North/South)" + }, + { + "metadata": 12, + "displayName": "Very Damaged Anvil (East/West)" + }, + { + "metadata": 13, + "displayName": "Very Damaged Anvil (West/East)" + }, + { + "metadata": 14, + "displayName": "Very Damaged Anvil (South/North)" + } + ], + "drops": [ + { + "drop": 145 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 146 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 147 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 148, + "displayName": "Weighted Pressure Plate (Heavy)", + "name": "weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 148 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_sensor", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 151 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "block_of_redstone", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 152 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 406 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "block_of_quartz", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Block of Quartz" + }, + { + "metadata": 1, + "displayName": "Chiseled Quartz Block" + }, + { + "metadata": 2, + "displayName": "Pillar Quartz Block (vertical)" + }, + { + "metadata": 3, + "displayName": "Pillar Quartz Block (north-south)" + }, + { + "metadata": 4, + "displayName": "Pillar Quartz Block (east-west)" + } + ], + "drops": [ + { + "drop": 155 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 156 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 157, + "displayName": "Wooden Double Slab", + "name": "wooden_double_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 158, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White stained clay" + }, + { + "metadata": 1, + "displayName": "Orange stained clay" + }, + { + "metadata": 2, + "displayName": "Magenta stained clay" + }, + { + "metadata": 3, + "displayName": "Light blue stained clay" + }, + { + "metadata": 4, + "displayName": "Yellow stained clay" + }, + { + "metadata": 5, + "displayName": "Lime stained clay" + }, + { + "metadata": 6, + "displayName": "Pink stained clay" + }, + { + "metadata": 7, + "displayName": "Gray stained clay" + }, + { + "metadata": 8, + "displayName": "Light gray stained clay" + }, + { + "metadata": 9, + "displayName": "Cyan stained clay" + }, + { + "metadata": 10, + "displayName": "Purple stained clay" + }, + { + "metadata": 11, + "displayName": "Blue stained clay" + }, + { + "metadata": 12, + "displayName": "Brown stained clay" + }, + { + "metadata": 13, + "displayName": "Green stained clay" + }, + { + "metadata": 14, + "displayName": "Red stained clay" + }, + { + "metadata": 15, + "displayName": "Black stained clay" + } + ], + "drops": [ + { + "drop": 159 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 161, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Acacia Leaves" + }, + { + "metadata": 1, + "displayName": "Dark Oak Leaves" + }, + { + "metadata": 4, + "displayName": "Acacia Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Dark Oak Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Acacia Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Dark Oak Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Acacia Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Dark Oak Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 162, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 162 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 163 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 164 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 167 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_bale", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 170 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "hardness": 0.1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Carpet" + }, + { + "metadata": 1, + "displayName": "Orange Carpet" + }, + { + "metadata": 2, + "displayName": "Magenta Carpet" + }, + { + "metadata": 3, + "displayName": "Light Blue Carpet" + }, + { + "metadata": 4, + "displayName": "Yellow Carpet" + }, + { + "metadata": 5, + "displayName": "Lime Carpet" + }, + { + "metadata": 6, + "displayName": "Pink Carpet" + }, + { + "metadata": 7, + "displayName": "Gray Carpet" + }, + { + "metadata": 8, + "displayName": "Light Gray Carpet" + }, + { + "metadata": 9, + "displayName": "Cyan Carpet" + }, + { + "metadata": 10, + "displayName": "Purple Carpet" + }, + { + "metadata": 11, + "displayName": "Blue Carpet" + }, + { + "metadata": 12, + "displayName": "Brown Carpet" + }, + { + "metadata": 13, + "displayName": "Green Carpet" + }, + { + "metadata": 14, + "displayName": "Red Carpet" + }, + { + "metadata": 15, + "displayName": "Black Carpet" + } + ], + "drops": [ + { + "drop": 171 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White stained clay" + }, + { + "metadata": 1, + "displayName": "Orange stained clay" + }, + { + "metadata": 2, + "displayName": "Magenta stained clay" + }, + { + "metadata": 3, + "displayName": "Light blue stained clay" + }, + { + "metadata": 4, + "displayName": "Yellow stained clay" + }, + { + "metadata": 5, + "displayName": "Lime stained clay" + }, + { + "metadata": 6, + "displayName": "Pink stained clay" + }, + { + "metadata": 7, + "displayName": "Gray stained clay" + }, + { + "metadata": 8, + "displayName": "Light gray stained clay" + }, + { + "metadata": 9, + "displayName": "Cyan stained clay" + }, + { + "metadata": 10, + "displayName": "Purple stained clay" + }, + { + "metadata": 11, + "displayName": "Blue stained clay" + }, + { + "metadata": 12, + "displayName": "Brown stained clay" + }, + { + "metadata": 13, + "displayName": "Green stained clay" + }, + { + "metadata": 14, + "displayName": "Red stained clay" + }, + { + "metadata": 15, + "displayName": "Black stained clay" + } + ], + "drops": [ + { + "drop": 172 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "block_of_coal", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 173 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 175, + "displayName": "Sunflower", + "name": "sunflower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Sunflower" + }, + { + "metadata": 1, + "displayName": "Lilac" + }, + { + "metadata": 2, + "displayName": "Double Tallgrass" + }, + { + "metadata": 3, + "displayName": "Large Fern" + }, + { + "metadata": 4, + "displayName": "Rose Bush" + }, + { + "metadata": 5, + "displayName": "Peony" + }, + { + "metadata": 8, + "displayName": "Top Half of any Large Plant; low three bits 0x7 are derived from the block below." + } + ], + "drops": [ + { + "drop": 175 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "inverted_daylight_sensor", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 178 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 183 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 184 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 185 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 186 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 187 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 198, + "displayName": "Grass Path", + "name": "grass_path", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 199, + "displayName": "Item Frame", + "name": "item_frame", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 243, + "displayName": "Podzol", + "name": "podzol", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Dirt" + }, + { + "metadata": 1, + "displayName": "Coarse Dirt" + }, + { + "metadata": 2, + "displayName": "Podzol" + } + ], + "drops": [ + { + "drop": { + "id": 3, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 244, + "displayName": "Beetroot", + "name": "beetroot", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 244 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 245, + "displayName": "Stonecutter", + "name": "stonecutter", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 245 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 246, + "displayName": "Glowing Obsidian", + "name": "glowing_obsidian", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "278": true + }, + "drops": [], + "transparent": false, + "emitLight": 12, + "filterLight": 15 + }, + { + "id": 247, + "displayName": "Nether Reactor Core", + "name": "nether_reactor_core", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 264, + "minCount": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 248, + "displayName": "Update Game Block (update!)", + "name": "update_game_block", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 248 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 249, + "displayName": "Update Game Block (ate!upd)", + "name": "update_game_block", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 249 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 255, + "displayName": "info_reserved6", + "name": "info_reserved6", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 255 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pe/0.14/items.json b/node_modules/minecraft-data/minecraft-data/data/pe/0.14/items.json new file mode 100644 index 00000000..52f2fd14 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pe/0.14/items.json @@ -0,0 +1,1908 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 64 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass_block", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "wood_planks", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Water", + "name": "water", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Lava", + "name": "lava", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Wood", + "name": "wood", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_lazuli_ore", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_lazuli_block", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "note_block", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "powered_rail", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "cobweb", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Tall Grass", + "name": "tall_grass", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "dead_bush", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "dandelion", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Flower", + "name": "flower", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "block_of_gold", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "block_of_iron", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "bricks", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "moss_stone", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "monster_spawner", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_wood_stairs", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "block_of_diamond", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 59, + "displayName": "Crops", + "name": "crops", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Top Snow", + "name": "top_snow", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Portal", + "name": "portal", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "jack_o'lantern", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "Invisible Bedrock", + "name": "invisible_bedrock", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Stone Brick", + "name": "stone_brick", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vines", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "lily_pad", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchantment_table", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 122, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "block_of_emerald", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_wood_stairs", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_wood_stairs", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_wood_stairs", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "Carrots", + "name": "carrots", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_sensor", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "block_of_redstone", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "block_of_quartz", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Wooden Double Slab", + "name": "wooden_double_slab", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_clay", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_wood_stairs", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_wood_stairs", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_bale", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "block_of_coal", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Sunflower", + "name": "sunflower", + "stackSize": 64 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "inverted_daylight_sensor", + "stackSize": 64 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64 + }, + { + "id": 198, + "displayName": "Grass Path", + "name": "grass_path", + "stackSize": 64 + }, + { + "id": 199, + "displayName": "Item Frame", + "name": "item_frame", + "stackSize": 64 + }, + { + "id": 243, + "displayName": "Podzol", + "name": "podzol", + "stackSize": 64 + }, + { + "id": 245, + "displayName": "Stonecutter", + "name": "stonecutter", + "stackSize": 64 + }, + { + "id": 246, + "displayName": "Glowing Obsidian", + "name": "glowing_obsidian", + "stackSize": 64 + }, + { + "id": 247, + "displayName": "Nether Reactor Core", + "name": "nether_reactor_core", + "stackSize": 64 + }, + { + "id": 248, + "displayName": "Update Game Block (update!)", + "name": "update_game_block", + "stackSize": 64 + }, + { + "id": 255, + "displayName": "info_reserved6", + "name": "info_reserved6", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Iron Shovel", + "stackSize": 1, + "name": "iron_shovel" + }, + { + "id": 257, + "displayName": "Iron Pickaxe", + "stackSize": 1, + "name": "iron_pickaxe" + }, + { + "id": 258, + "displayName": "Iron Axe", + "stackSize": 1, + "name": "iron_axe" + }, + { + "id": 259, + "displayName": "Flint and Steel", + "stackSize": 1, + "name": "flint_and_steel" + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple" + }, + { + "id": 261, + "displayName": "Bow", + "stackSize": 1, + "name": "bow" + }, + { + "id": 262, + "displayName": "Arrow", + "stackSize": 64, + "name": "arrow" + }, + { + "id": 263, + "displayName": "Coal", + "stackSize": 64, + "name": "coal", + "variations": [ + { + "metadata": 0, + "displayName": "Coal" + }, + { + "metadata": 1, + "displayName": "Charcoal" + } + ] + }, + { + "id": 264, + "displayName": "Diamond", + "stackSize": 64, + "name": "diamond" + }, + { + "id": 265, + "displayName": "Iron Ingot", + "stackSize": 64, + "name": "iron_ingot" + }, + { + "id": 266, + "displayName": "Gold Ingot", + "stackSize": 64, + "name": "gold_ingot" + }, + { + "id": 267, + "displayName": "Iron Sword", + "stackSize": 1, + "name": "iron_sword" + }, + { + "id": 268, + "displayName": "Wooden Sword", + "stackSize": 1, + "name": "wooden_sword" + }, + { + "id": 269, + "displayName": "Wooden Shovel", + "stackSize": 1, + "name": "wooden_shovel" + }, + { + "id": 270, + "displayName": "Wooden Pickaxe", + "stackSize": 1, + "name": "wooden_pickaxe" + }, + { + "id": 271, + "displayName": "Wooden Axe", + "stackSize": 1, + "name": "wooden_axe" + }, + { + "id": 272, + "displayName": "Stone Sword", + "stackSize": 1, + "name": "stone_sword" + }, + { + "id": 273, + "displayName": "Stone Shovel", + "stackSize": 1, + "name": "stone_shovel" + }, + { + "id": 274, + "displayName": "Stone Pickaxe", + "stackSize": 1, + "name": "stone_pickaxe" + }, + { + "id": 275, + "displayName": "Stone Axe", + "stackSize": 1, + "name": "stone_axe" + }, + { + "id": 276, + "displayName": "Diamond Sword", + "stackSize": 1, + "name": "diamond_sword" + }, + { + "id": 277, + "displayName": "Diamond Shovel", + "stackSize": 1, + "name": "diamond_shovel" + }, + { + "id": 278, + "displayName": "Diamond Pickaxe", + "stackSize": 1, + "name": "diamond_pickaxe" + }, + { + "id": 279, + "displayName": "Diamond Axe", + "stackSize": 1, + "name": "diamond_axe" + }, + { + "id": 280, + "displayName": "Stick", + "stackSize": 64, + "name": "stick" + }, + { + "id": 281, + "displayName": "Bowl", + "stackSize": 64, + "name": "bowl" + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew" + }, + { + "id": 283, + "displayName": "Gold Sword", + "stackSize": 1, + "name": "gold_sword" + }, + { + "id": 284, + "displayName": "Gold Shovel", + "stackSize": 1, + "name": "gold_shovel" + }, + { + "id": 285, + "displayName": "Gold Pickaxe", + "stackSize": 1, + "name": "gold_pickaxe" + }, + { + "id": 286, + "displayName": "Gold Axe", + "stackSize": 1, + "name": "gold_axe" + }, + { + "id": 287, + "displayName": "String", + "stackSize": 64, + "name": "string" + }, + { + "id": 288, + "displayName": "Feather", + "stackSize": 64, + "name": "feather" + }, + { + "id": 289, + "displayName": "Gunpowder", + "stackSize": 64, + "name": "gunpowder" + }, + { + "id": 290, + "displayName": "Wooden Hoe", + "stackSize": 1, + "name": "wooden_hoe" + }, + { + "id": 291, + "displayName": "Stone Hoe", + "stackSize": 1, + "name": "stone_hoe" + }, + { + "id": 292, + "displayName": "Iron Hoe", + "stackSize": 1, + "name": "iron_hoe" + }, + { + "id": 293, + "displayName": "Diamond Hoe", + "stackSize": 1, + "name": "diamond_hoe" + }, + { + "id": 294, + "displayName": " Gold Hoe", + "stackSize": 1, + "name": "gold_hoe" + }, + { + "id": 295, + "displayName": "Seeds", + "stackSize": 64, + "name": "seeds" + }, + { + "id": 296, + "displayName": "Wheat", + "stackSize": 64, + "name": "wheat" + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread" + }, + { + "id": 298, + "displayName": "Leather Cap", + "stackSize": 1, + "name": "leather_cap" + }, + { + "id": 299, + "displayName": "Leather Tunic", + "stackSize": 1, + "name": "leather_tunic" + }, + { + "id": 300, + "displayName": "Leather Pants", + "stackSize": 1, + "name": "leather_pants" + }, + { + "id": 301, + "displayName": "Leather Boots", + "stackSize": 1, + "name": "leather_boots" + }, + { + "id": 302, + "displayName": "Chain Helmet", + "stackSize": 1, + "name": "chain_helmet" + }, + { + "id": 303, + "displayName": "Chain Chestplate", + "stackSize": 1, + "name": "chain_chestplate" + }, + { + "id": 304, + "displayName": "Chain Leggings", + "stackSize": 1, + "name": "chain_leggings" + }, + { + "id": 305, + "displayName": "Chain Boots", + "stackSize": 1, + "name": "chain_boots" + }, + { + "id": 306, + "displayName": "Iron Helmet", + "stackSize": 1, + "name": "iron_helmet" + }, + { + "id": 307, + "displayName": "Iron Chestplate", + "stackSize": 1, + "name": "iron_chestplate" + }, + { + "id": 308, + "displayName": "Iron Leggings", + "stackSize": 1, + "name": "iron_leggings" + }, + { + "id": 309, + "displayName": "Iron Boots", + "stackSize": 1, + "name": "iron_boots" + }, + { + "id": 310, + "displayName": "Diamond Helmet", + "stackSize": 1, + "name": "diamond_helmet" + }, + { + "id": 311, + "displayName": "Diamond Chestplate", + "stackSize": 1, + "name": "diamond_chestplate" + }, + { + "id": 312, + "displayName": "Diamond Leggings", + "stackSize": 1, + "name": "diamond_leggings" + }, + { + "id": 313, + "displayName": "Diamond Boots", + "stackSize": 1, + "name": "diamond_boots" + }, + { + "id": 314, + "displayName": "Golden Helmet", + "stackSize": 1, + "name": "golden_helmet" + }, + { + "id": 315, + "displayName": "Golden Chestplate", + "stackSize": 1, + "name": "golden_chestplate" + }, + { + "id": 316, + "displayName": "Golden Leggings", + "stackSize": 1, + "name": "golden_leggings" + }, + { + "id": 317, + "displayName": "Golden Boots", + "stackSize": 1, + "name": "golden_boots" + }, + { + "id": 318, + "displayName": "Flint", + "stackSize": 64, + "name": "flint" + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "raw_porkchop" + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop" + }, + { + "id": 321, + "displayName": "Painting", + "stackSize": 64, + "name": "painting" + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ] + }, + { + "id": 323, + "displayName": "Sign", + "stackSize": 16, + "name": "sign" + }, + { + "id": 324, + "displayName": "Wooden Door", + "stackSize": 64, + "name": "wooden_door" + }, + { + "id": 325, + "displayName": "Bucket", + "stackSize": 16, + "name": "bucket" + }, + { + "id": 328, + "displayName": "Minecart", + "stackSize": 1, + "name": "minecart" + }, + { + "id": 329, + "displayName": "Saddle", + "stackSize": 1, + "name": "saddle" + }, + { + "id": 330, + "displayName": "Iron Door", + "stackSize": 64, + "name": "iron_door" + }, + { + "id": 331, + "displayName": "Redstone", + "stackSize": 64, + "name": "redstone" + }, + { + "id": 332, + "displayName": "Snowball", + "stackSize": 16, + "name": "snowball" + }, + { + "id": 333, + "displayName": "Boat", + "stackSize": 1, + "name": "boat" + }, + { + "id": 334, + "displayName": "Leather", + "stackSize": 64, + "name": "leather" + }, + { + "id": 336, + "displayName": "Brick", + "stackSize": 64, + "name": "brick" + }, + { + "id": 337, + "displayName": "Clay", + "stackSize": 64, + "name": "clay" + }, + { + "id": 338, + "displayName": "Sugar Cane", + "stackSize": 64, + "name": "sugar_cane" + }, + { + "id": 339, + "displayName": "Paper", + "stackSize": 64, + "name": "paper" + }, + { + "id": 340, + "displayName": "Book", + "stackSize": 64, + "name": "book" + }, + { + "id": 341, + "displayName": "Slimeball", + "stackSize": 64, + "name": "slimeball" + }, + { + "id": 344, + "displayName": "Egg", + "stackSize": 16, + "name": "egg" + }, + { + "id": 345, + "displayName": "Compass", + "stackSize": 64, + "name": "compass" + }, + { + "id": 346, + "displayName": "Fishing Rod", + "stackSize": 1, + "name": "fishing_rod" + }, + { + "id": 347, + "displayName": "Clock", + "stackSize": 64, + "name": "clock" + }, + { + "id": 348, + "displayName": "Glowstone Dust", + "stackSize": 64, + "name": "glowstone_dust" + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "raw_fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + } + ] + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish" + }, + { + "id": 351, + "displayName": "Dye", + "stackSize": 64, + "name": "dye", + "variations": [ + { + "metadata": 0, + "displayName": "Ink Sac" + }, + { + "metadata": 1, + "displayName": "Rose Red" + }, + { + "metadata": 2, + "displayName": "Cactus Green" + }, + { + "metadata": 3, + "displayName": "Cocoa Beans" + }, + { + "metadata": 4, + "displayName": "Lapis Lazuli" + }, + { + "metadata": 5, + "displayName": "Purple Dye" + }, + { + "metadata": 6, + "displayName": "Cyan Dye" + }, + { + "metadata": 7, + "displayName": "Light Gray Dye" + }, + { + "metadata": 8, + "displayName": "Gray Dye" + }, + { + "metadata": 9, + "displayName": "Pink Dye" + }, + { + "metadata": 10, + "displayName": "Lime Dye" + }, + { + "metadata": 11, + "displayName": "Dandelion Yellow" + }, + { + "metadata": 12, + "displayName": "Light Blue Dye" + }, + { + "metadata": 13, + "displayName": "Magenta Dye" + }, + { + "metadata": 14, + "displayName": "Orange Dye" + }, + { + "metadata": 15, + "displayName": "Bone Meal" + } + ] + }, + { + "id": 352, + "displayName": "Bone", + "stackSize": 64, + "name": "bone" + }, + { + "id": 353, + "displayName": "Sugar", + "stackSize": 64, + "name": "sugar" + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake" + }, + { + "id": 355, + "displayName": "Bed", + "stackSize": 1, + "name": "bed" + }, + { + "id": 356, + "displayName": "Redstone Repeater", + "stackSize": 64, + "name": "redstone_repeater" + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie" + }, + { + "id": 359, + "displayName": "Shears", + "stackSize": 1, + "name": "shears" + }, + { + "id": 360, + "displayName": "Melon", + "stackSize": 64, + "name": "melon" + }, + { + "id": 361, + "displayName": "Pumpkin Seeds", + "stackSize": 64, + "name": "pumpkin_seeds" + }, + { + "id": 362, + "displayName": "Melon Seeds", + "stackSize": 64, + "name": "melon_seeds" + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "raw_beef" + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "steak" + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "raw_chicken" + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken" + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh" + }, + { + "id": 369, + "displayName": "Blaze Rod", + "stackSize": 64, + "name": "blaze_rod" + }, + { + "id": 370, + "displayName": "Ghast Tear", + "stackSize": 64, + "name": "ghast_tear" + }, + { + "id": 371, + "displayName": "Gold Nugget", + "stackSize": 64, + "name": "gold_nugget" + }, + { + "id": 372, + "displayName": "Nether Wart", + "stackSize": 64, + "name": "nether_wart" + }, + { + "id": 373, + "displayName": "Potion", + "stackSize": 1, + "name": "potion" + }, + { + "id": 374, + "displayName": "Glass Bottle", + "stackSize": 64, + "name": "glass_bottle" + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye" + }, + { + "id": 376, + "displayName": "Fermented Spider Eye", + "stackSize": 64, + "name": "fermented_spider_eye" + }, + { + "id": 377, + "displayName": "Blaze Powder", + "stackSize": 64, + "name": "blaze_powder" + }, + { + "id": 378, + "displayName": "Magma Cream", + "stackSize": 64, + "name": "magma_cream" + }, + { + "id": 379, + "displayName": "Brewing Stand", + "stackSize": 64, + "name": "brewing_stand" + }, + { + "id": 380, + "displayName": "Cauldron", + "stackSize": 64, + "name": "cauldron" + }, + { + "id": 382, + "displayName": "Glistering Melon", + "stackSize": 64, + "name": "glistering_melon" + }, + { + "id": 383, + "displayName": "Spawn Egg", + "stackSize": 64, + "name": "spawn_egg" + }, + { + "id": 384, + "displayName": "Bottle o' Enchanting", + "stackSize": 64, + "name": "bottle_o'_enchanting" + }, + { + "id": 388, + "displayName": "Emerald", + "stackSize": 64, + "name": "emerald" + }, + { + "id": 390, + "displayName": "Flower Pot", + "stackSize": 64, + "name": "flower_pot", + "variations": [ + { + "metadata": 0, + "displayName": "Empty Flower Pot" + }, + { + "metadata": 1, + "displayName": "Poppy Flower Pot" + }, + { + "metadata": 2, + "displayName": "Dandelion Flower Pot" + }, + { + "metadata": 3, + "displayName": "Oak sapling Flower Pot" + }, + { + "metadata": 4, + "displayName": "Spruce sapling Flower Pot" + }, + { + "metadata": 5, + "displayName": "Birch sapling Flower Pot" + }, + { + "metadata": 6, + "displayName": "Jungle sapling Flower Pot" + }, + { + "metadata": 7, + "displayName": "Red mushroom Flower Pot" + }, + { + "metadata": 8, + "displayName": "Brown mushroom Flower Pot" + }, + { + "metadata": 9, + "displayName": "Cactus Flower Pot" + }, + { + "metadata": 10, + "displayName": "Dead bush Flower Pot" + }, + { + "metadata": 11, + "displayName": "Fern Flower Pot" + }, + { + "metadata": 12, + "displayName": "Acacia sapling Flower Pot" + }, + { + "metadata": 13, + "displayName": "Dark oak sapling Flower Pot" + } + ] + }, + { + "id": 391, + "displayName": "Carrot", + "stackSize": 64, + "name": "carrot" + }, + { + "id": 392, + "displayName": "Potato", + "stackSize": 64, + "name": "potato" + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato" + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato" + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot" + }, + { + "id": 397, + "displayName": "Mob head", + "stackSize": 64, + "name": "mob_head", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ] + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie" + }, + { + "id": 403, + "displayName": "Enchanted Book", + "stackSize": 1, + "name": "enchanted_book" + }, + { + "id": 405, + "displayName": "Nether Brick", + "stackSize": 64, + "name": "nether_brick" + }, + { + "id": 406, + "displayName": "Nether Quartz", + "stackSize": 64, + "name": "nether_quartz" + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "raw_rabbit" + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit" + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew" + }, + { + "id": 414, + "displayName": "Rabbit's Foot", + "stackSize": 64, + "name": "rabbit's_foot" + }, + { + "id": 415, + "displayName": "Rabbit Hide", + "stackSize": 64, + "name": "rabbit_hide" + }, + { + "id": 438, + "displayName": "Splash Potion", + "stackSize": 1, + "name": "splash_potion" + }, + { + "id": 457, + "displayName": "Beetroot", + "stackSize": 64, + "name": "beetroot" + }, + { + "id": 458, + "displayName": "Beetroot Seeds", + "stackSize": 64, + "name": "beetroot_seeds" + }, + { + "id": 459, + "displayName": "Beetroot Soup", + "stackSize": 1, + "name": "beetroot_soup" + }, + { + "id": 498, + "displayName": "Camera", + "stackSize": 64, + "name": "camera" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pe/0.14/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pe/0.14/protocol.json new file mode 100644 index 00000000..00c90ceb --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pe/0.14/protocol.json @@ -0,0 +1,1977 @@ +{ + "types": { + "uuid":"native", + "shapelessRecipe":"native", + "shapedRecipe":"native", + "furnaceRecipe":"native", + "furnaceRecipeData":"native", + "enchantList":"native", + "restBuffer":"native", + "ipAddress":"native", + "string": [ + "pstring", + { + "countType": "i16" + } + ], + "lstring": [ + "pstring", + { + "countType": "li16" + } + ], + "shapeless_recipe": [ + "container", + [ + { + "name": "ingredientList", + "type": [ + "array", + { + "countType": "i32", + "type": "slot" + } + ] + }, + { + "name": "resultCount", + "type": "i32" + }, + { + "name": "slot", + "type": "slot" + }, + { + "name": "id", + "type": "uuid" + } + ] + ], + "shaped_recipe": [ + "container", + [ + { + "name": "width", + "type": [ + "count", + { + "type": "i32", + "countFor": "shape" + } + ] + }, + { + "name": "height", + "type": [ + "count", + { + "type": "i32", + "countFor": "shape/0" + } + ] + }, + { + "name": "shape", + "type": [ + "array", + { + "count": "width", + "type": [ + "array", + { + "count": "height", + "type": "slot" + } + ] + } + ] + }, + { + "name": "resultCount", + "type": "i32" + }, + { + "name": "slot", + "type": "slot" + }, + { + "name": "id", + "type": "uuid" + } + ] + ], + "furnace_recipe": [ + "container", + [ + { + "name": "meta", + "type": "i16" + }, + { + "name": "id", + "type": "i16" + }, + { + "name": "result", + "type": "slot" + } + ] + ], + "furnace_recipe_data": [ + "container", + [ + { + "name": "id", + "type": "i16" + }, + { + "name": "meta", + "type": "i16" + }, + { + "name": "result", + "type": "slot" + } + ] + ], + "enchant_list": [ + "array", + { + "countType": "i8", + "type": [ + "container", + [ + { + "name": "cost", + "type": "i32" + }, + { + "name": "enchantments", + "type": [ + "array", + { + "countType": "i8", + "type": [ + "container", + [ + { + "name": "id", + "type": "i32" + }, + { + "name": "level", + "type": "i32" + } + ] + ] + } + ] + }, + { + "name": "name", + "type": "string" + } + ] + ] + } + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "li8", + "1": "li16", + "2": "li32", + "3": "lf32", + "4": "lstring", + "5": [ + "container", + [ + { + "name": "blockId", + "type": "li16" + }, + { + "name": "itemCount", + "type": "li8" + }, + { + "name": "itemDamage", + "type": "li16" + } + ] + ], + "6": [ + "container", + [ + { + "name": "x", + "type": "li32" + }, + { + "name": "y", + "type": "li32" + }, + { + "name": "z", + "type": "li32" + } + ] + ], + "7": [ + "container", + [ + { + "name": "pitch", + "type": "lf32" + }, + { + "name": "yaw", + "type": "lf32" + }, + { + "name": "roll", + "type": "lf32" + } + ] + ], + "8": "li64" + } + } + ], + "metadatadictionary": [ + "entityMetadataLoop", + { + "endVal": 127, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "bitfield", + [ + { + "name": "type", + "size": 3, + "signed": false + }, + { + "name": "key", + "size": 5, + "signed": false + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "0": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": [ + "buffer", + { + "countType": "li16" + } + ] + } + ] + ] + } + ] + } + ] + ], + "itemstacks": [ + "array", + { + "countType": "i16", + "type": [ + "container", + [ + { + "name": "slot", + "type": "slot" + } + ] + ] + } + ], + "skin": [ + "container", + [ + { + "name": "skinType", + "type": "string" + }, + { + "name": "texture", + "type": [ + "buffer", + { + "countType": "i16" + } + ] + } + ] + ], + "blockrecords": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "blockId", + "type": "i8" + }, + { + "anon": true, + "type": [ + "bitfield", + [ + { + "name": "blockData", + "size": 4, + "signed": false + }, + { + "name": "flags", + "size": 4, + "signed": false + } + ] + ] + } + ] + ] + } + ], + "records": [ + "array", + { + "countType": "i16", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ], + "playerattributes": [ + "array", + { + "countType": "i16", + "type": [ + "container", + [ + { + "name": "minValue", + "type": "f32" + }, + { + "name": "maxValue", + "type": "f32" + }, + { + "name": "id", + "type": "f32" + }, + { + "name": "name", + "type": "string" + } + ] + ] + } + ], + "entitymotions": [ + "array", + { + "countType": "i16", + "type": [ + "container", + [ + { + "name": "eid", + "type": "i64" + }, + { + "name": "motX", + "type": "f32" + }, + { + "name": "motY", + "type": "f32" + }, + { + "name": "motZ", + "type": "f32" + } + ] + ] + } + ], + "vector3": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + } + ] + ], + "blockcoordinates": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + } + ] + ], + "entitylocations": [ + "array", + { + "countType": "i16", + "type": [ + "container", + [ + { + "name": "eid", + "type": "i64" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "headYaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ] + } + ], + "encapsulated_packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "u8", + "mappings": { + "0x8e": "mcpe" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "mcpe": "mcpe_packet" + } + } + ] + } + ] + ], + "mcpe_packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "u8", + "mappings": { + "0x04": "id_detect_lost_connections", + "0x14": "id_no_free_incoming_connections", + "0x17": "id_connection_banned", + "0x1A": "id_ip_recently_connected", + "0x8f": "game_login", + "0x90": "player_status", + "0x91": "disconnect", + "0x92": "batch", + "0x93": "text", + "0x94": "set_time", + "0x95": "start_game", + "0x96": "add_player", + "0x97": "remove_player", + "0x98": "add_entity", + "0x99": "remove_entity", + "0x9a": "add_item_entity", + "0x9b": "take_item_entity", + "0x9c": "move_entity", + "0x9d": "move_player", + "0x9e": "remove_block", + "0x9f": "update_block", + "0xa0": "add_painting", + "0xa1": "explode", + "0xa2": "level_event", + "0xa3": "tile_event", + "0xa4": "entity_event", + "0xa5": "mob_effect", + "0xa6": "update_attributes", + "0xa7": "player_equipment", + "0xa8": "player_armor_equipment", + "0xa9": "interact", + "0xaa": "use_item", + "0xab": "player_action", + "0xac": "hurt_armor", + "0xad": "set_entity_data", + "0xae": "set_entity_motion", + "0xaf": "set_entity_link", + "0xb0": "set_health", + "0xb1": "set_spawn_position", + "0xb2": "animate", + "0xb3": "respawn", + "0xb4": "drop_item", + "0xb5": "container_open", + "0xb6": "container_close", + "0xb7": "container_set_slot", + "0xb8": "container_set_data", + "0xb9": "container_set_content", + "0xba": "crafting_data", + "0xbb": "crafting_event", + "0xbc": "adventure_settings", + "0xbd": "tile_entity_data", + "0xbf": "full_chunk_data", + "0xc0": "set_difficulty", + "0xc3": "player_list", + "0xc8": "request_chunk_radius", + "0xc9": "chunk_radius_update", + "0x1b": "transfer", + "0xc5": "spawn_experience_orb" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "id_detect_lost_connections": "packet_id_detect_lost_connections", + "id_no_free_incoming_connections": "packet_id_no_free_incoming_connections", + "id_connection_banned": "packet_id_connection_banned", + "id_ip_recently_connected": "packet_id_ip_recently_connected", + "game_login": "packet_game_login", + "player_status": "packet_player_status", + "disconnect": "packet_disconnect", + "batch": "packet_batch", + "text": "packet_text", + "set_time": "packet_set_time", + "start_game": "packet_start_game", + "add_player": "packet_add_player", + "remove_player": "packet_remove_player", + "add_entity": "packet_add_entity", + "remove_entity": "packet_remove_entity", + "add_item_entity": "packet_add_item_entity", + "take_item_entity": "packet_take_item_entity", + "move_entity": "packet_move_entity", + "move_player": "packet_move_player", + "remove_block": "packet_remove_block", + "update_block": "packet_update_block", + "add_painting": "packet_add_painting", + "explode": "packet_explode", + "level_event": "packet_level_event", + "tile_event": "packet_tile_event", + "entity_event": "packet_entity_event", + "mob_effect": "packet_mob_effect", + "update_attributes": "packet_update_attributes", + "player_equipment": "packet_player_equipment", + "player_armor_equipment": "packet_player_armor_equipment", + "interact": "packet_interact", + "use_item": "packet_use_item", + "player_action": "packet_player_action", + "hurt_armor": "packet_hurt_armor", + "set_entity_data": "packet_set_entity_data", + "set_entity_motion": "packet_set_entity_motion", + "set_entity_link": "packet_set_entity_link", + "set_health": "packet_set_health", + "set_spawn_position": "packet_set_spawn_position", + "animate": "packet_animate", + "respawn": "packet_respawn", + "drop_item": "packet_drop_item", + "container_open": "packet_container_open", + "container_close": "packet_container_close", + "container_set_slot": "packet_container_set_slot", + "container_set_data": "packet_container_set_data", + "container_set_content": "packet_container_set_content", + "crafting_data": "packet_crafting_data", + "crafting_event": "packet_crafting_event", + "adventure_settings": "packet_adventure_settings", + "tile_entity_data": "packet_tile_entity_data", + "full_chunk_data": "packet_full_chunk_data", + "set_difficulty": "packet_set_difficulty", + "player_list": "packet_player_list", + "request_chunk_radius": "packet_request_chunk_radius", + "chunk_radius_update": "packet_chunk_radius_update", + "transfer": "packet_transfer", + "spawn_experience_orb": "packet_spawn_experience_orb" + } + } + ] + } + ] + ], + "packet_id_detect_lost_connections": [ + "container", + [] + ], + "packet_id_no_free_incoming_connections": [ + "container", + [] + ], + "packet_id_connection_banned": [ + "container", + [] + ], + "packet_id_ip_recently_connected": [ + "container", + [] + ], + "packet_game_login": [ + "container", + [ + { + "name": "username", + "type": "string" + }, + { + "name": "protocol", + "type": "i32" + }, + { + "name": "protocol2", + "type": "i32" + }, + { + "name": "clientId", + "type": "i64" + }, + { + "name": "clientUuid", + "type": "uuid" + }, + { + "name": "serverAddress", + "type": "string" + }, + { + "name": "clientSecret", + "type": [ + "buffer", + { + "countType": "i16" + } + ] + }, + { + "name": "skin", + "type": "skin" + } + ] + ], + "packet_player_status": [ + "container", + [ + { + "name": "status", + "type": "i32" + } + ] + ], + "packet_disconnect": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_batch": [ + "container", + [ + { + "name": "payload", + "type": [ + "buffer", + { + "countType": "i32" + } + ] + } + ] + ], + "packet_text": [ + "container", + [ + { + "name": "type", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "type", + "fields": { + "1": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "type", + "fields": { + "0": "string", + "1": "string", + "2": "string", + "3": "string", + "4": "string", + "5": "string" + } + } + ] + }, + { + "name": "parameters", + "type": [ + "switch", + { + "compareTo": "type", + "fields": { + "2": [ + "array", + { + "countType": "i8", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_time": [ + "container", + [ + { + "name": "time", + "type": "i32" + }, + { + "name": "started", + "type": "i8" + } + ] + ], + "packet_start_game": [ + "container", + [ + { + "name": "seed", + "type": "i32" + }, + { + "name": "dimension", + "type": "i8" + }, + { + "name": "generator", + "type": "i32" + }, + { + "name": "gamemode", + "type": "i32" + }, + { + "name": "entityId", + "type": "i64" + }, + { + "name": "spawnX", + "type": "i32" + }, + { + "name": "spawnY", + "type": "i32" + }, + { + "name": "spawnZ", + "type": "i32" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "isLoadedInCreative", + "type": "bool" + }, + { + "name": "dayCycleStopTime", + "type": "i8" + }, + { + "name": "eduMode", + "type": "bool" + }, + { + "name": "unknown", + "type": "string" + } + ] + ], + "packet_add_player": [ + "container", + [ + { + "name": "uuid", + "type": "uuid" + }, + { + "name": "username", + "type": "string" + }, + { + "name": "entityId", + "type": "i64" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "speedX", + "type": "f32" + }, + { + "name": "speedY", + "type": "f32" + }, + { + "name": "speedZ", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "headYaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "item", + "type": "slot" + }, + { + "name": "metadata", + "type": "metadatadictionary" + } + ] + ], + "packet_remove_player": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "clientUuid", + "type": "uuid" + } + ] + ], + "packet_add_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "entityType", + "type": "i32" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "speedX", + "type": "f32" + }, + { + "name": "speedY", + "type": "f32" + }, + { + "name": "speedZ", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "metadata", + "type": "metadatadictionary" + }, + { + "name": "links", + "type": "i16" + } + ] + ], + "packet_remove_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + } + ] + ], + "packet_add_item_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "item", + "type": "slot" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "speedX", + "type": "f32" + }, + { + "name": "speedY", + "type": "f32" + }, + { + "name": "speedZ", + "type": "f32" + } + ] + ], + "packet_take_item_entity": [ + "container", + [ + { + "name": "target", + "type": "i64" + }, + { + "name": "entityId", + "type": "i64" + } + ] + ], + "packet_move_entity": [ + "container", + [ + { + "name": "entities", + "type": "entitylocations" + } + ] + ], + "packet_move_player": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "headYaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "onGround", + "type": "i8" + } + ] + ], + "packet_remove_block": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "y", + "type": "i8" + } + ] + ], + "packet_update_block": [ + "container", + [ + { + "name": "blocks", + "type": "blockrecords" + } + ] + ], + "packet_add_painting": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "direction", + "type": "i32" + }, + { + "name": "title", + "type": "string" + } + ] + ], + "packet_explode": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "records", + "type": "records" + } + ] + ], + "packet_level_event": [ + "container", + [ + { + "name": "eventId", + "type": "i16" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "data", + "type": "i32" + } + ] + ], + "packet_tile_event": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "case1", + "type": "i32" + }, + { + "name": "case2", + "type": "i32" + } + ] + ], + "packet_entity_event": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "eventId", + "type": "i8" + } + ] + ], + "packet_mob_effect": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "eventId", + "type": "i8" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "particles", + "type": "i8" + }, + { + "name": "duration", + "type": "i32" + } + ] + ], + "packet_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "attributes", + "type": "playerattributes" + } + ] + ], + "packet_player_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "item", + "type": "slot" + }, + { + "name": "slot", + "type": "i8" + }, + { + "name": "selectedSlot", + "type": "i8" + } + ] + ], + "packet_player_armor_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "helmet", + "type": "slot" + }, + { + "name": "chestplate", + "type": "slot" + }, + { + "name": "leggings", + "type": "slot" + }, + { + "name": "boots", + "type": "slot" + } + ] + ], + "packet_interact": [ + "container", + [ + { + "name": "actionId", + "type": "i8" + }, + { + "name": "targetEntityId", + "type": "i64" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "blockcoordinates", + "type": "blockcoordinates" + }, + { + "name": "face", + "type": "i8" + }, + { + "name": "facecoordinates", + "type": "vector3" + }, + { + "name": "playerposition", + "type": "vector3" + }, + { + "name": "slot", + "type": "i32" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_player_action": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "actionId", + "type": "i32" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "face", + "type": "i32" + } + ] + ], + "packet_hurt_armor": [ + "container", + [ + { + "name": "health", + "type": "i8" + } + ] + ], + "packet_set_entity_data": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "metadata", + "type": "metadatadictionary" + } + ] + ], + "packet_set_entity_motion": [ + "container", + [ + { + "name": "entities", + "type": "entitymotions" + } + ] + ], + "packet_set_entity_link": [ + "container", + [ + { + "name": "riderId", + "type": "i64" + }, + { + "name": "riddenId", + "type": "i64" + }, + { + "name": "linkType", + "type": "i8" + } + ] + ], + "packet_set_health": [ + "container", + [ + { + "name": "health", + "type": "i32" + } + ] + ], + "packet_set_spawn_position": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + } + ] + ], + "packet_animate": [ + "container", + [ + { + "name": "actionId", + "type": "i8" + }, + { + "name": "entityId", + "type": "i64" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + } + ] + ], + "packet_drop_item": [ + "container", + [ + { + "name": "itemtype", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_container_open": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "slotCount", + "type": "i16" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + } + ] + ], + "packet_container_close": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + } + ] + ], + "packet_container_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "unknown", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_container_set_data": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_container_set_content": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slotData", + "type": "itemstacks" + }, + { + "name": "hotbarData", + "type": [ + "switch", + { + "compareTo": "windowId", + "fields": { + "0": [ + "array", + { + "countType": "i16", + "type": [ + "container", + [ + { + "name": "slot", + "type": "i32" + } + ] + ] + } + ] + }, + "default": "i16" + } + ] + } + ] + ], + "packet_crafting_data": [ + "container", + [ + { + "name": "recipes", + "type": [ + "container", + [ + { + "name": "entryType", + "type": "i32" + }, + { + "name": "recipe", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "switch", + { + "compareTo": "entryType", + "fields": { + "0": "shapelessRecipe", + "1": "shapedRecipe", + "2": "furnaceRecipe", + "3": "furnaceRecipeData", + "4": "enchantList" + }, + "default": "void" + } + ] + } + ] + } + ] + ] + }, + { + "name": "cleanRecipes", + "type": "i8" + } + ] + ], + "packet_crafting_event": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipeType", + "type": "i32" + }, + { + "name": "recipeId", + "type": "uuid" + }, + { + "name": "input", + "type": "itemstacks" + }, + { + "name": "result", + "type": "itemstacks" + } + ] + ], + "packet_adventure_settings": [ + "container", + [ + { + "name": "flags", + "type": "i32" + }, + { + "name": "userPermission", + "type": "i32" + }, + { + "name": "globalPermission", + "type": "i32" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "namedtag", + "type": "restBuffer" + } + ] + ], + "packet_full_chunk_data": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "order", + "type": "i8" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "i32" + } + ] + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "i32" + } + ] + ], + "packet_player_list": [ + "container", + [ + { + "name": "type", + "type": "i8" + }, + { + "name": "entries", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "switch", + { + "compareTo": "type", + "fields": { + "0": [ + "container", + [ + { + "name": "clientUuid", + "type": "uuid" + }, + { + "name": "entityId", + "type": "i64" + }, + { + "name": "displayName", + "type": "string" + }, + { + "name": "skin", + "type": "skin" + } + ] + ], + "1": [ + "container", + [ + { + "name": "clientUuid", + "type": "uuid" + } + ] + ] + } + } + ] + } + ] + } + ] + ], + "packet_request_chunk_radius": [ + "container", + [ + { + "name": "chunkRadius", + "type": "i32" + } + ] + ], + "packet_chunk_radius_update": [ + "container", + [ + { + "name": "chunkRadius", + "type": "i32" + } + ] + ], + "packet_transfer": [ + "container", + [ + { + "name": "endpoint", + "type": "ipAddress" + } + ] + ], + "packet_spawn_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "count", + "type": "i32" + } + ] + ] + } +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pe/0.14/version.json b/node_modules/minecraft-data/minecraft-data/data/pe/0.14/version.json new file mode 100644 index 00000000..fb467f0a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pe/0.14/version.json @@ -0,0 +1,5 @@ +{ + "version":70, + "minecraftVersion":"0.14.3", + "majorVersion":"0.14" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pe/0.15/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pe/0.15/blocks.json new file mode 100644 index 00000000..07902ad6 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pe/0.15/blocks.json @@ -0,0 +1,5005 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone" + }, + { + "metadata": 1, + "displayName": "Granite" + }, + { + "metadata": 2, + "displayName": "Polished Granite" + }, + { + "metadata": 3, + "displayName": "Diorite" + }, + { + "metadata": 4, + "displayName": "Polished Diorite" + }, + { + "metadata": 5, + "displayName": "Andesite" + }, + { + "metadata": 6, + "displayName": "Polished Andesite" + } + ], + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass_block", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 243, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Dirt" + }, + { + "metadata": 1, + "displayName": "Coarse Dirt" + }, + { + "metadata": 2, + "displayName": "Podzol" + } + ], + "drops": [ + { + "drop": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "wood_planks", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Wood Planks" + }, + { + "metadata": 1, + "displayName": "Spruce Wood Planks" + }, + { + "metadata": 2, + "displayName": "Birch Wood Planks" + }, + { + "metadata": 3, + "displayName": "Jungle Wood Planks" + }, + { + "metadata": 4, + "displayName": "Acacia Wood Planks" + }, + { + "metadata": 5, + "displayName": "Dark Oak Wood Planks" + } + ], + "drops": [ + { + "drop": 5 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 6 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 8, + "displayName": "Water", + "name": "water", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 10, + "displayName": "Lava", + "name": "lava", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Sand" + }, + { + "metadata": 1, + "displayName": "Red sand" + } + ], + "drops": [ + { + "drop": 12 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 13, + "minCount": 0.9 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 14 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 15 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 263, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 17, + "displayName": "Wood", + "name": "wood", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 17 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Leaves" + }, + { + "metadata": 1, + "displayName": "Spruce Leaves" + }, + { + "metadata": 2, + "displayName": "Birch Leaves" + }, + { + "metadata": 3, + "displayName": "Jungle Leaves" + }, + { + "metadata": 4, + "displayName": "Oak Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Spruce Leaves (no decay)" + }, + { + "metadata": 6, + "displayName": "Birch Leaves (no decay)" + }, + { + "metadata": 7, + "displayName": "Jungle Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Oak Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Spruce Leaves (check decay)" + }, + { + "metadata": 10, + "displayName": "Birch Leaves (check decay)" + }, + { + "metadata": 11, + "displayName": "Jungle Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Oak Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Spruce Leaves (no decay and check decay)" + }, + { + "metadata": 14, + "displayName": "Birch Leaves (no decay and check decay)" + }, + { + "metadata": 15, + "displayName": "Jungle Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Sponge" + }, + { + "metadata": 1, + "displayName": "Wet Sponge" + } + ], + "drops": [ + { + "drop": 19 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Stained Glass" + }, + { + "metadata": 1, + "displayName": "Orange Stained Glass" + }, + { + "metadata": 2, + "displayName": "Magenta Stained Glass" + }, + { + "metadata": 3, + "displayName": "Light Blue Stained Glass" + }, + { + "metadata": 4, + "displayName": "Yellow Stained Glass" + }, + { + "metadata": 5, + "displayName": "Lime Stained Glass" + }, + { + "metadata": 6, + "displayName": "Pink Stained Glass" + }, + { + "metadata": 7, + "displayName": "Gray Stained Glass" + }, + { + "metadata": 8, + "displayName": "Light Gray Stained Glass" + }, + { + "metadata": 9, + "displayName": "Cyan Stained Glass" + }, + { + "metadata": 10, + "displayName": "Purple Stained Glass" + }, + { + "metadata": 11, + "displayName": "Blue Stained Glass" + }, + { + "metadata": 12, + "displayName": "Brown Stained Glass" + }, + { + "metadata": 13, + "displayName": "Green Stained Glass" + }, + { + "metadata": 14, + "displayName": "Red Stained Glass" + }, + { + "metadata": 15, + "displayName": "Black Stained Glass" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_lazuli_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": { + "id": 351, + "metadata": 4 + }, + "minCount": 4, + "maxCount": 8 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_lazuli_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 22 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 23 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth sandstone" + } + ], + "drops": [ + { + "drop": 24 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "note_block", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 25 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 26, + "displayName": "Bed", + "name": "bed", + "hardness": 0.2, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 26 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "powered_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 27 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 28 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 29 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "cobweb", + "hardness": 4, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "web", + "harvestTools": { + "267": true, + "268": true, + "272": true, + "276": true, + "283": true, + "359": true + }, + "drops": [ + { + "drop": 287 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 31, + "displayName": "Tall Grass", + "name": "tall_grass", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Shrub" + }, + { + "metadata": 1, + "displayName": "Tall Grass" + }, + { + "metadata": 2, + "displayName": "Fern" + } + ], + "drops": [ + { + "drop": 295, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "dead_bush", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 280, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 33 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 34, + "displayName": "Piston Head", + "name": "piston_head", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 34 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wool", + "drops": [ + { + "drop": 35 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "dandelion", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 37 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 38, + "displayName": "Flower", + "name": "flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Poppy" + }, + { + "metadata": 1, + "displayName": "Blue Orchid" + }, + { + "metadata": 2, + "displayName": "Allium" + }, + { + "metadata": 3, + "displayName": "Azure Bluet" + }, + { + "metadata": 4, + "displayName": "Red Tulip" + }, + { + "metadata": 5, + "displayName": "Orange Tulip" + }, + { + "metadata": 6, + "displayName": "White Tulip" + }, + { + "metadata": 7, + "displayName": "Pink Tulip" + }, + { + "metadata": 8, + "displayName": "Oxeye Daisy" + } + ], + "drops": [ + { + "drop": 38 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 39 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 40 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "block_of_gold", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 41 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "block_of_iron", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 42 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Stone Slab" + }, + { + "metadata": 1, + "displayName": "Double Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "Double (Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Double Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Double Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Double Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Double Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Double Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Stone Slab" + }, + { + "metadata": 9, + "displayName": "Smooth Double Sandstone Slab" + }, + { + "metadata": 15, + "displayName": "Tile Double Quartz Slab (note the underside)" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone Slab" + }, + { + "metadata": 1, + "displayName": "Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "(Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Upper Stone Slab" + }, + { + "metadata": 9, + "displayName": "Upper Sandstone Slab" + }, + { + "metadata": 10, + "displayName": "Upper (Stone) Wooden Slab" + }, + { + "metadata": 11, + "displayName": "Upper Cobblestone Slab" + }, + { + "metadata": 12, + "displayName": "Upper Bricks Slab" + }, + { + "metadata": 13, + "displayName": "Upper Stone Brick Slab" + }, + { + "metadata": 14, + "displayName": "Upper Nether Brick Slab" + }, + { + "metadata": 15, + "displayName": "Upper Quartz Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "bricks", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 45 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Drops a TNT item when broken" + }, + { + "metadata": 1, + "displayName": "Activates when broken" + } + ], + "drops": [ + { + "drop": 46 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 340, + "minCount": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "moss_stone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 48 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "278": true + }, + "drops": [ + { + "drop": 49 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 50 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "monster_spawner", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 53 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 54 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 331 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 264 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "block_of_diamond", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 57 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 58 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 59, + "displayName": "Crops", + "name": "crops", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 59 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 243, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 63, + "displayName": "Sign", + "name": "sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 323 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 64, + "displayName": "Wooden Door", + "name": "wooden_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 64 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 65 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 66 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 67 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 323 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 69 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 70 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 71, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 71 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 72 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 75 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 76, + "displayName": "Redstone Torch (active)", + "name": "redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 76 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 77 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 78, + "displayName": "Top Snow", + "name": "top_snow", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "One layer, 2 pixels thick" + }, + { + "metadata": 1, + "displayName": "Two layers, 4 pixels thick" + }, + { + "metadata": 2, + "displayName": "Three layers, 6 pixels thick" + }, + { + "metadata": 3, + "displayName": "Four layers, 8 pixels thick" + }, + { + "metadata": 4, + "displayName": "Five layers, 10 pixels thick" + }, + { + "metadata": 5, + "displayName": "Six layers, 12 pixels thick" + }, + { + "metadata": 6, + "displayName": "Seven layers, 14 pixels thick" + }, + { + "metadata": 7, + "displayName": "Eight layers, 16 pixels thick" + } + ], + "drops": [ + { + "drop": 332, + "minCount": 2, + "maxCount": 9 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "drops": [ + { + "drop": 332, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 81 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 337, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 83, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 83 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 85 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 86 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 87 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 88 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 348, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 90, + "displayName": "Portal", + "name": "portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 90 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "jack_o'lantern", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 91 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 92, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "stackSize": 1, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 93, + "displayName": "Redstone Repeater (inactive)", + "name": "redstone_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 356 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 94, + "displayName": "Redstone Repeater (active)", + "name": "redstone_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 356 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 95, + "displayName": "Invisible Bedrock", + "name": "invisible_bedrock", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 95 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 96 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "hardness": 0.75, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Stone Monster Egg" + }, + { + "metadata": 1, + "displayName": "Cobblestone Monster Egg" + }, + { + "metadata": 2, + "displayName": "Stone Brick Monster Egg" + }, + { + "metadata": 3, + "displayName": "Mossy Stone Brick Monster Egg" + }, + { + "metadata": 4, + "displayName": "Cracked Stone Brick Monster Egg" + }, + { + "metadata": 5, + "displayName": "Chiseled Stone Brick Monster Egg" + } + ], + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 98, + "displayName": "Stone Brick", + "name": "stone_brick", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone brick" + }, + { + "metadata": 1, + "displayName": "Mossy stone brick" + }, + { + "metadata": 2, + "displayName": "Cracked stone brick" + }, + { + "metadata": 3, + "displayName": "Chiseled stone brick" + } + ], + "drops": [ + { + "drop": 98 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 99, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 100, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 100, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 100, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 101 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 360, + "minCount": 3, + "maxCount": 7 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 361, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 362, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vines", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 106 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 107 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 108 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 109 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 243, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "lily_pad", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 111 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 112 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 113 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 114 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 115, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 372 + }, + { + "drop": 372, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchantment_table", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 116 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 117, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 379 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 118, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 380 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 120, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 120 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 121 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 123, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 123 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 124, + "displayName": "Redstone Lamp (active)", + "name": "redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 124 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 125, + "displayName": "Dropper", + "name": "dropper", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 125 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 126, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 126 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": { + "id": 351, + "metadata": 3 + } + }, + { + "drop": { + "id": 351, + "metadata": 3 + }, + "minCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 128 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 388 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 131 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 287 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "block_of_emerald", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 133 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 134 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 135 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 136 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Cobblestone Wall" + }, + { + "metadata": 1, + "displayName": "Mossy Cobblestone Wall" + } + ], + "drops": [ + { + "drop": 139 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 140, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Empty Flower Pot" + }, + { + "metadata": 1, + "displayName": "Poppy Flower Pot" + }, + { + "metadata": 2, + "displayName": "Dandelion Flower Pot" + }, + { + "metadata": 3, + "displayName": "Oak sapling Flower Pot" + }, + { + "metadata": 4, + "displayName": "Spruce sapling Flower Pot" + }, + { + "metadata": 5, + "displayName": "Birch sapling Flower Pot" + }, + { + "metadata": 6, + "displayName": "Jungle sapling Flower Pot" + }, + { + "metadata": 7, + "displayName": "Red mushroom Flower Pot" + }, + { + "metadata": 8, + "displayName": "Brown mushroom Flower Pot" + }, + { + "metadata": 9, + "displayName": "Cactus Flower Pot" + }, + { + "metadata": 10, + "displayName": "Dead bush Flower Pot" + }, + { + "metadata": 11, + "displayName": "Fern Flower Pot" + }, + { + "metadata": 12, + "displayName": "Acacia sapling Flower Pot" + }, + { + "metadata": 13, + "displayName": "Dark oak sapling Flower Pot" + } + ], + "drops": [ + { + "drop": 140 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 141, + "displayName": "Carrots", + "name": "carrots", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 141 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potato", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 142 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 143 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 144, + "displayName": "Mob head", + "name": "mob_head", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ], + "drops": [ + { + "drop": 144 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Anvil" + }, + { + "metadata": 1, + "displayName": "Slightly Damaged Anvil" + }, + { + "metadata": 2, + "displayName": "Very Damaged Anvil" + }, + { + "metadata": 3, + "displayName": "Anvil (North/South)" + }, + { + "metadata": 4, + "displayName": "Anvil (East/West)" + }, + { + "metadata": 5, + "displayName": "Anvil (South/North)" + }, + { + "metadata": 6, + "displayName": "Anvil (West/East)" + }, + { + "metadata": 7, + "displayName": "Slightly Damaged Anvil (North/South)" + }, + { + "metadata": 8, + "displayName": "Slightly Damaged Anvil (East/West)" + }, + { + "metadata": 9, + "displayName": "Slightly Damaged Anvil (West/East)" + }, + { + "metadata": 10, + "displayName": "Slightly Damaged Anvil (South/North)" + }, + { + "metadata": 11, + "displayName": "Very Damaged Anvil (North/South)" + }, + { + "metadata": 12, + "displayName": "Very Damaged Anvil (East/West)" + }, + { + "metadata": 13, + "displayName": "Very Damaged Anvil (West/East)" + }, + { + "metadata": 14, + "displayName": "Very Damaged Anvil (South/North)" + } + ], + "drops": [ + { + "drop": 145 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 146 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 147 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 148, + "displayName": "Weighted Pressure Plate (Heavy)", + "name": "weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 148 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 149, + "displayName": "Redstone Comparator (unpowered)", + "name": "redstone_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 404 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 150, + "displayName": "Redstone Comparator (powered)", + "name": "redstone_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 404 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_sensor", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 151 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "block_of_redstone", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 152 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 406 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 154, + "displayName": "Hopper", + "name": "hopper", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 154 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "block_of_quartz", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Block of Quartz" + }, + { + "metadata": 1, + "displayName": "Chiseled Quartz Block" + }, + { + "metadata": 2, + "displayName": "Pillar Quartz Block (vertical)" + }, + { + "metadata": 3, + "displayName": "Pillar Quartz Block (north-south)" + }, + { + "metadata": 4, + "displayName": "Pillar Quartz Block (east-west)" + } + ], + "drops": [ + { + "drop": 155 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 156 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 157, + "displayName": "Wooden Double Slab", + "name": "wooden_double_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 158, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White hardened clay" + }, + { + "metadata": 1, + "displayName": "Orange hardened clay" + }, + { + "metadata": 2, + "displayName": "Magenta hardened clay" + }, + { + "metadata": 3, + "displayName": "Light blue hardened clay" + }, + { + "metadata": 4, + "displayName": "Yellow hardened clay" + }, + { + "metadata": 5, + "displayName": "Lime hardened clay" + }, + { + "metadata": 6, + "displayName": "Pink hardened clay" + }, + { + "metadata": 7, + "displayName": "Gray hardened clay" + }, + { + "metadata": 8, + "displayName": "Light gray hardened clay" + }, + { + "metadata": 9, + "displayName": "Cyan hardened clay" + }, + { + "metadata": 10, + "displayName": "Purple hardened clay" + }, + { + "metadata": 11, + "displayName": "Blue hardened clay" + }, + { + "metadata": 12, + "displayName": "Brown hardened clay" + }, + { + "metadata": 13, + "displayName": "Green hardened clay" + }, + { + "metadata": 14, + "displayName": "Red hardened clay" + }, + { + "metadata": 15, + "displayName": "Black hardened clay" + } + ], + "drops": [ + { + "drop": 159 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 161, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Acacia Leaves" + }, + { + "metadata": 1, + "displayName": "Dark Oak Leaves" + }, + { + "metadata": 4, + "displayName": "Acacia Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Dark Oak Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Acacia Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Dark Oak Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Acacia Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Dark Oak Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 162, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 162 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 163 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 164 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 165 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 167 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_bale", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 170 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "hardness": 0.1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Carpet" + }, + { + "metadata": 1, + "displayName": "Orange Carpet" + }, + { + "metadata": 2, + "displayName": "Magenta Carpet" + }, + { + "metadata": 3, + "displayName": "Light Blue Carpet" + }, + { + "metadata": 4, + "displayName": "Yellow Carpet" + }, + { + "metadata": 5, + "displayName": "Lime Carpet" + }, + { + "metadata": 6, + "displayName": "Pink Carpet" + }, + { + "metadata": 7, + "displayName": "Gray Carpet" + }, + { + "metadata": 8, + "displayName": "Light Gray Carpet" + }, + { + "metadata": 9, + "displayName": "Cyan Carpet" + }, + { + "metadata": 10, + "displayName": "Purple Carpet" + }, + { + "metadata": 11, + "displayName": "Blue Carpet" + }, + { + "metadata": 12, + "displayName": "Brown Carpet" + }, + { + "metadata": 13, + "displayName": "Green Carpet" + }, + { + "metadata": 14, + "displayName": "Red Carpet" + }, + { + "metadata": 15, + "displayName": "Black Carpet" + } + ], + "drops": [ + { + "drop": 171 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White hardened clay" + }, + { + "metadata": 1, + "displayName": "Orange hardened clay" + }, + { + "metadata": 2, + "displayName": "Magenta hardened clay" + }, + { + "metadata": 3, + "displayName": "Light blue hardened clay" + }, + { + "metadata": 4, + "displayName": "Yellow hardened clay" + }, + { + "metadata": 5, + "displayName": "Lime hardened clay" + }, + { + "metadata": 6, + "displayName": "Pink hardened clay" + }, + { + "metadata": 7, + "displayName": "Gray hardened clay" + }, + { + "metadata": 8, + "displayName": "Light gray hardened clay" + }, + { + "metadata": 9, + "displayName": "Cyan hardened clay" + }, + { + "metadata": 10, + "displayName": "Purple hardened clay" + }, + { + "metadata": 11, + "displayName": "Blue hardened clay" + }, + { + "metadata": 12, + "displayName": "Brown hardened clay" + }, + { + "metadata": 13, + "displayName": "Green hardened clay" + }, + { + "metadata": 14, + "displayName": "Red hardened clay" + }, + { + "metadata": 15, + "displayName": "Black hardened clay" + } + ], + "drops": [ + { + "drop": 172 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "block_of_coal", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 173 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 175, + "displayName": "Sunflower", + "name": "sunflower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Sunflower" + }, + { + "metadata": 1, + "displayName": "Lilac" + }, + { + "metadata": 2, + "displayName": "Double Tallgrass" + }, + { + "metadata": 3, + "displayName": "Large Fern" + }, + { + "metadata": 4, + "displayName": "Rose Bush" + }, + { + "metadata": 5, + "displayName": "Peony" + }, + { + "metadata": 8, + "displayName": "Top Half of any Large Plant; low three bits 0x7 are derived from the block below." + } + ], + "drops": [ + { + "drop": 175 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "inverted_daylight_sensor", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 178 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 179, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Red Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled Red Sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth Red Sandstone" + } + ], + "drops": [ + { + "drop": 179 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 180, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 180 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 181, + "displayName": "Double Red Sandstone Slab", + "name": "double_red_sandstone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Red Sandstone Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Red Sandstone Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 182, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Red Sandstone Slab" + }, + { + "metadata": 8, + "displayName": "Upper Red Sandstone Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 183 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 184 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 185 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 186 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 187 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 193, + "displayName": "Spruce Door", + "name": "spruce_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 193 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 194, + "displayName": "Birch Door", + "name": "birch_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 194 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 195, + "displayName": "Jungle Door", + "name": "jungle_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 195 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 196, + "displayName": "Acacia Door", + "name": "acacia_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 196 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 197, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 197 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 198, + "displayName": "Grass Path", + "name": "grass_path", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 199, + "displayName": "Item Frame", + "name": "item_frame", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 243, + "displayName": "Podzol", + "name": "podzol", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Dirt" + }, + { + "metadata": 1, + "displayName": "Coarse Dirt" + }, + { + "metadata": 2, + "displayName": "Podzol" + } + ], + "drops": [ + { + "drop": { + "id": 243, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 244, + "displayName": "Beetroot", + "name": "beetroot", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 244 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 245, + "displayName": "Stonecutter", + "name": "stonecutter", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [ + { + "drop": 245 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 246, + "displayName": "Glowing Obsidian", + "name": "glowing_obsidian", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "278": true + }, + "drops": [], + "transparent": false, + "emitLight": 12, + "filterLight": 15 + }, + { + "id": 247, + "displayName": "Nether Reactor Core", + "name": "nether_reactor_core", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 264, + "minCount": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 248, + "displayName": "Update Game Block (update!)", + "name": "update_game_block", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 248 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 249, + "displayName": "Update Game Block (ate!upd)", + "name": "update_game_block", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 249 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 250, + "displayName": "Block moved by Piston", + "name": "block_moved_by_piston", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 250 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 251, + "displayName": "Observer", + "name": "observer", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 251 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 255, + "displayName": "info_reserved6", + "name": "info_reserved6", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 255 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pe/0.15/items.json b/node_modules/minecraft-data/minecraft-data/data/pe/0.15/items.json new file mode 100644 index 00000000..aaa7f38d --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pe/0.15/items.json @@ -0,0 +1,2152 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 64 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass_block", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "wood_planks", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Water", + "name": "water", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Lava", + "name": "lava", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Wood", + "name": "wood", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_lazuli_ore", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_lazuli_block", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "note_block", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "powered_rail", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "cobweb", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Tall Grass", + "name": "tall_grass", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "dead_bush", + "stackSize": 64 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "stackSize": 64 + }, + { + "id": 34, + "displayName": "Piston Head", + "name": "piston_head", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "dandelion", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Flower", + "name": "flower", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "block_of_gold", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "block_of_iron", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "bricks", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "moss_stone", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "monster_spawner", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_wood_stairs", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "block_of_diamond", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 59, + "displayName": "Crops", + "name": "crops", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Top Snow", + "name": "top_snow", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Portal", + "name": "portal", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "jack_o'lantern", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "Invisible Bedrock", + "name": "invisible_bedrock", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Stone Brick", + "name": "stone_brick", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vines", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "lily_pad", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchantment_table", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 123, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 125, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "block_of_emerald", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_wood_stairs", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_wood_stairs", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_wood_stairs", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "Carrots", + "name": "carrots", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 149, + "displayName": "Redstone Comparator (unpowered)", + "name": "redstone_comparator", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_sensor", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "block_of_redstone", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "block_of_quartz", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Wooden Double Slab", + "name": "wooden_double_slab", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_clay", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_wood_stairs", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_wood_stairs", + "stackSize": 64 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime_block", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_bale", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "block_of_coal", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Sunflower", + "name": "sunflower", + "stackSize": 64 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "inverted_daylight_sensor", + "stackSize": 64 + }, + { + "id": 179, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "stackSize": 64 + }, + { + "id": 180, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 181, + "displayName": "Double Red Sandstone Slab", + "name": "double_red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 182, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64 + }, + { + "id": 198, + "displayName": "Grass Path", + "name": "grass_path", + "stackSize": 64 + }, + { + "id": 243, + "displayName": "Podzol", + "name": "podzol", + "stackSize": 64 + }, + { + "id": 245, + "displayName": "Stonecutter", + "name": "stonecutter", + "stackSize": 64 + }, + { + "id": 246, + "displayName": "Glowing Obsidian", + "name": "glowing_obsidian", + "stackSize": 64 + }, + { + "id": 247, + "displayName": "Nether Reactor Core", + "name": "nether_reactor_core", + "stackSize": 64 + }, + { + "id": 248, + "displayName": "Update Game Block (update!)", + "name": "update_game_block", + "stackSize": 64 + }, + { + "id": 250, + "displayName": "Block moved by Piston", + "name": "block_moved_by_piston", + "stackSize": 64 + }, + { + "id": 251, + "displayName": "Observer", + "name": "observer", + "stackSize": 64 + }, + { + "id": 255, + "displayName": "info_reserved6", + "name": "info_reserved6", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Iron Shovel", + "stackSize": 1, + "name": "iron_shovel" + }, + { + "id": 257, + "displayName": "Iron Pickaxe", + "stackSize": 1, + "name": "iron_pickaxe" + }, + { + "id": 258, + "displayName": "Iron Axe", + "stackSize": 1, + "name": "iron_axe" + }, + { + "id": 259, + "displayName": "Flint and Steel", + "stackSize": 1, + "name": "flint_and_steel" + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple" + }, + { + "id": 261, + "displayName": "Bow", + "stackSize": 1, + "name": "bow" + }, + { + "id": 262, + "displayName": "Arrow", + "stackSize": 64, + "name": "arrow" + }, + { + "id": 263, + "displayName": "Coal", + "stackSize": 64, + "name": "coal", + "variations": [ + { + "metadata": 0, + "displayName": "Coal" + }, + { + "metadata": 1, + "displayName": "Charcoal" + } + ] + }, + { + "id": 264, + "displayName": "Diamond", + "stackSize": 64, + "name": "diamond" + }, + { + "id": 265, + "displayName": "Iron Ingot", + "stackSize": 64, + "name": "iron_ingot" + }, + { + "id": 266, + "displayName": "Gold Ingot", + "stackSize": 64, + "name": "gold_ingot" + }, + { + "id": 267, + "displayName": "Iron Sword", + "stackSize": 1, + "name": "iron_sword" + }, + { + "id": 268, + "displayName": "Wooden Sword", + "stackSize": 1, + "name": "wooden_sword" + }, + { + "id": 269, + "displayName": "Wooden Shovel", + "stackSize": 1, + "name": "wooden_shovel" + }, + { + "id": 270, + "displayName": "Wooden Pickaxe", + "stackSize": 1, + "name": "wooden_pickaxe" + }, + { + "id": 271, + "displayName": "Wooden Axe", + "stackSize": 1, + "name": "wooden_axe" + }, + { + "id": 272, + "displayName": "Stone Sword", + "stackSize": 1, + "name": "stone_sword" + }, + { + "id": 273, + "displayName": "Stone Shovel", + "stackSize": 1, + "name": "stone_shovel" + }, + { + "id": 274, + "displayName": "Stone Pickaxe", + "stackSize": 1, + "name": "stone_pickaxe" + }, + { + "id": 275, + "displayName": "Stone Axe", + "stackSize": 1, + "name": "stone_axe" + }, + { + "id": 276, + "displayName": "Diamond Sword", + "stackSize": 1, + "name": "diamond_sword" + }, + { + "id": 277, + "displayName": "Diamond Shovel", + "stackSize": 1, + "name": "diamond_shovel" + }, + { + "id": 278, + "displayName": "Diamond Pickaxe", + "stackSize": 1, + "name": "diamond_pickaxe" + }, + { + "id": 279, + "displayName": "Diamond Axe", + "stackSize": 1, + "name": "diamond_axe" + }, + { + "id": 280, + "displayName": "Stick", + "stackSize": 64, + "name": "stick" + }, + { + "id": 281, + "displayName": "Bowl", + "stackSize": 64, + "name": "bowl" + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew" + }, + { + "id": 283, + "displayName": "Golden Sword", + "stackSize": 1, + "name": "golden_sword" + }, + { + "id": 284, + "displayName": "Golden Shovel", + "stackSize": 1, + "name": "golden_shovel" + }, + { + "id": 285, + "displayName": "Golden Pickaxe", + "stackSize": 1, + "name": "golden_pickaxe" + }, + { + "id": 286, + "displayName": "Golden Axe", + "stackSize": 1, + "name": "golden_axe" + }, + { + "id": 287, + "displayName": "String", + "stackSize": 64, + "name": "string" + }, + { + "id": 288, + "displayName": "Feather", + "stackSize": 64, + "name": "feather" + }, + { + "id": 289, + "displayName": "Gunpowder", + "stackSize": 64, + "name": "gunpowder" + }, + { + "id": 290, + "displayName": "Wooden Hoe", + "stackSize": 1, + "name": "wooden_hoe" + }, + { + "id": 291, + "displayName": "Stone Hoe", + "stackSize": 1, + "name": "stone_hoe" + }, + { + "id": 292, + "displayName": "Iron Hoe", + "stackSize": 1, + "name": "iron_hoe" + }, + { + "id": 293, + "displayName": "Diamond Hoe", + "stackSize": 1, + "name": "diamond_hoe" + }, + { + "id": 294, + "displayName": "Golden Hoe", + "stackSize": 1, + "name": "golden_hoe" + }, + { + "id": 295, + "displayName": "Seeds", + "stackSize": 64, + "name": "seeds" + }, + { + "id": 296, + "displayName": "Wheat", + "stackSize": 64, + "name": "wheat" + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread" + }, + { + "id": 298, + "displayName": "Leather Cap", + "stackSize": 1, + "name": "leather_cap" + }, + { + "id": 299, + "displayName": "Leather Tunic", + "stackSize": 1, + "name": "leather_tunic" + }, + { + "id": 300, + "displayName": "Leather Pants", + "stackSize": 1, + "name": "leather_pants" + }, + { + "id": 301, + "displayName": "Leather Boots", + "stackSize": 1, + "name": "leather_boots" + }, + { + "id": 302, + "displayName": "Chain Helmet", + "stackSize": 1, + "name": "chain_helmet" + }, + { + "id": 303, + "displayName": "Chain Chestplate", + "stackSize": 1, + "name": "chain_chestplate" + }, + { + "id": 304, + "displayName": "Chain Leggings", + "stackSize": 1, + "name": "chain_leggings" + }, + { + "id": 305, + "displayName": "Chain Boots", + "stackSize": 1, + "name": "chain_boots" + }, + { + "id": 306, + "displayName": "Iron Helmet", + "stackSize": 1, + "name": "iron_helmet" + }, + { + "id": 307, + "displayName": "Iron Chestplate", + "stackSize": 1, + "name": "iron_chestplate" + }, + { + "id": 308, + "displayName": "Iron Leggings", + "stackSize": 1, + "name": "iron_leggings" + }, + { + "id": 309, + "displayName": "Iron Boots", + "stackSize": 1, + "name": "iron_boots" + }, + { + "id": 310, + "displayName": "Diamond Helmet", + "stackSize": 1, + "name": "diamond_helmet" + }, + { + "id": 311, + "displayName": "Diamond Chestplate", + "stackSize": 1, + "name": "diamond_chestplate" + }, + { + "id": 312, + "displayName": "Diamond Leggings", + "stackSize": 1, + "name": "diamond_leggings" + }, + { + "id": 313, + "displayName": "Diamond Boots", + "stackSize": 1, + "name": "diamond_boots" + }, + { + "id": 314, + "displayName": "Golden Helmet", + "stackSize": 1, + "name": "golden_helmet" + }, + { + "id": 315, + "displayName": "Golden Chestplate", + "stackSize": 1, + "name": "golden_chestplate" + }, + { + "id": 316, + "displayName": "Golden Leggings", + "stackSize": 1, + "name": "golden_leggings" + }, + { + "id": 317, + "displayName": "Golden Boots", + "stackSize": 1, + "name": "golden_boots" + }, + { + "id": 318, + "displayName": "Flint", + "stackSize": 64, + "name": "flint" + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "raw_porkchop" + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop" + }, + { + "id": 321, + "displayName": "Painting", + "stackSize": 64, + "name": "painting" + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ] + }, + { + "id": 323, + "displayName": "Sign", + "stackSize": 16, + "name": "sign" + }, + { + "id": 324, + "displayName": "Wooden Door", + "stackSize": 64, + "name": "wooden_door" + }, + { + "id": 325, + "displayName": "Bucket", + "stackSize": 16, + "name": "bucket" + }, + { + "id": 328, + "displayName": "Minecart", + "stackSize": 1, + "name": "minecart" + }, + { + "id": 329, + "displayName": "Saddle", + "stackSize": 1, + "name": "saddle" + }, + { + "id": 330, + "displayName": "Iron Door", + "stackSize": 64, + "name": "iron_door" + }, + { + "id": 331, + "displayName": "Redstone", + "stackSize": 64, + "name": "redstone" + }, + { + "id": 332, + "displayName": "Snowball", + "stackSize": 16, + "name": "snowball" + }, + { + "id": 333, + "displayName": "Boat", + "stackSize": 1, + "name": "boat" + }, + { + "id": 334, + "displayName": "Leather", + "stackSize": 64, + "name": "leather" + }, + { + "id": 336, + "displayName": "Brick", + "stackSize": 64, + "name": "brick" + }, + { + "id": 337, + "displayName": "Clay", + "stackSize": 64, + "name": "clay" + }, + { + "id": 338, + "displayName": "Sugar Cane", + "stackSize": 64, + "name": "sugar_cane" + }, + { + "id": 339, + "displayName": "Paper", + "stackSize": 64, + "name": "paper" + }, + { + "id": 340, + "displayName": "Book", + "stackSize": 64, + "name": "book" + }, + { + "id": 341, + "displayName": "Slimeball", + "stackSize": 64, + "name": "slimeball" + }, + { + "id": 342, + "displayName": "Minecart with Chest", + "stackSize": 1, + "name": "minecart_with_chest" + }, + { + "id": 344, + "displayName": "Egg", + "stackSize": 16, + "name": "egg" + }, + { + "id": 345, + "displayName": "Compass", + "stackSize": 64, + "name": "compass" + }, + { + "id": 346, + "displayName": "Fishing Rod", + "stackSize": 1, + "name": "fishing_rod" + }, + { + "id": 347, + "displayName": "Clock", + "stackSize": 64, + "name": "clock" + }, + { + "id": 348, + "displayName": "Glowstone Dust", + "stackSize": 64, + "name": "glowstone_dust" + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "raw_fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + } + ] + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish" + }, + { + "id": 351, + "displayName": "Dye", + "stackSize": 64, + "name": "dye", + "variations": [ + { + "metadata": 0, + "displayName": "Ink Sac" + }, + { + "metadata": 1, + "displayName": "Rose Red" + }, + { + "metadata": 2, + "displayName": "Cactus Green" + }, + { + "metadata": 3, + "displayName": "Cocoa Beans" + }, + { + "metadata": 4, + "displayName": "Lapis Lazuli" + }, + { + "metadata": 5, + "displayName": "Purple Dye" + }, + { + "metadata": 6, + "displayName": "Cyan Dye" + }, + { + "metadata": 7, + "displayName": "Light Gray Dye" + }, + { + "metadata": 8, + "displayName": "Gray Dye" + }, + { + "metadata": 9, + "displayName": "Pink Dye" + }, + { + "metadata": 10, + "displayName": "Lime Dye" + }, + { + "metadata": 11, + "displayName": "Dandelion Yellow" + }, + { + "metadata": 12, + "displayName": "Light Blue Dye" + }, + { + "metadata": 13, + "displayName": "Magenta Dye" + }, + { + "metadata": 14, + "displayName": "Orange Dye" + }, + { + "metadata": 15, + "displayName": "Bone Meal" + } + ] + }, + { + "id": 352, + "displayName": "Bone", + "stackSize": 64, + "name": "bone" + }, + { + "id": 353, + "displayName": "Sugar", + "stackSize": 64, + "name": "sugar" + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake" + }, + { + "id": 355, + "displayName": "Bed", + "stackSize": 1, + "name": "bed" + }, + { + "id": 356, + "displayName": "Redstone Repeater", + "stackSize": 64, + "name": "redstone_repeater" + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie" + }, + { + "id": 358, + "displayName": "Filled Map", + "stackSize": 64, + "name": "filled_map" + }, + { + "id": 359, + "displayName": "Shears", + "stackSize": 1, + "name": "shears" + }, + { + "id": 360, + "displayName": "Melon", + "stackSize": 64, + "name": "melon" + }, + { + "id": 361, + "displayName": "Pumpkin Seeds", + "stackSize": 64, + "name": "pumpkin_seeds" + }, + { + "id": 362, + "displayName": "Melon Seeds", + "stackSize": 64, + "name": "melon_seeds" + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "raw_beef" + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "steak" + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "raw_chicken" + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken" + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh" + }, + { + "id": 369, + "displayName": "Blaze Rod", + "stackSize": 64, + "name": "blaze_rod" + }, + { + "id": 370, + "displayName": "Ghast Tear", + "stackSize": 64, + "name": "ghast_tear" + }, + { + "id": 371, + "displayName": "Gold Nugget", + "stackSize": 64, + "name": "gold_nugget" + }, + { + "id": 372, + "displayName": "Nether Wart", + "stackSize": 64, + "name": "nether_wart" + }, + { + "id": 373, + "displayName": "Potion", + "stackSize": 1, + "name": "potion" + }, + { + "id": 374, + "displayName": "Glass Bottle", + "stackSize": 64, + "name": "glass_bottle" + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye" + }, + { + "id": 376, + "displayName": "Fermented Spider Eye", + "stackSize": 64, + "name": "fermented_spider_eye" + }, + { + "id": 377, + "displayName": "Blaze Powder", + "stackSize": 64, + "name": "blaze_powder" + }, + { + "id": 378, + "displayName": "Magma Cream", + "stackSize": 64, + "name": "magma_cream" + }, + { + "id": 379, + "displayName": "Brewing Stand", + "stackSize": 64, + "name": "brewing_stand" + }, + { + "id": 380, + "displayName": "Cauldron", + "stackSize": 64, + "name": "cauldron" + }, + { + "id": 382, + "displayName": "Glistering Melon", + "stackSize": 64, + "name": "glistering_melon" + }, + { + "id": 383, + "displayName": "Spawn Egg", + "stackSize": 64, + "name": "spawn_egg" + }, + { + "id": 384, + "displayName": "Bottle o' Enchanting", + "stackSize": 64, + "name": "bottle_o'_enchanting" + }, + { + "id": 385, + "displayName": "Fire Charge", + "stackSize": 64, + "name": "fire_charge" + }, + { + "id": 388, + "displayName": "Emerald", + "stackSize": 64, + "name": "emerald" + }, + { + "id": 389, + "displayName": "Item Frame", + "stackSize": 64, + "name": "item_frame" + }, + { + "id": 390, + "displayName": "Flower Pot", + "stackSize": 64, + "name": "flower_pot", + "variations": [ + { + "metadata": 0, + "displayName": "Empty Flower Pot" + }, + { + "metadata": 1, + "displayName": "Poppy Flower Pot" + }, + { + "metadata": 2, + "displayName": "Dandelion Flower Pot" + }, + { + "metadata": 3, + "displayName": "Oak sapling Flower Pot" + }, + { + "metadata": 4, + "displayName": "Spruce sapling Flower Pot" + }, + { + "metadata": 5, + "displayName": "Birch sapling Flower Pot" + }, + { + "metadata": 6, + "displayName": "Jungle sapling Flower Pot" + }, + { + "metadata": 7, + "displayName": "Red mushroom Flower Pot" + }, + { + "metadata": 8, + "displayName": "Brown mushroom Flower Pot" + }, + { + "metadata": 9, + "displayName": "Cactus Flower Pot" + }, + { + "metadata": 10, + "displayName": "Dead bush Flower Pot" + }, + { + "metadata": 11, + "displayName": "Fern Flower Pot" + }, + { + "metadata": 12, + "displayName": "Acacia sapling Flower Pot" + }, + { + "metadata": 13, + "displayName": "Dark oak sapling Flower Pot" + } + ] + }, + { + "id": 391, + "displayName": "Carrot", + "stackSize": 64, + "name": "carrot" + }, + { + "id": 392, + "displayName": "Potato", + "stackSize": 64, + "name": "potato" + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato" + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato" + }, + { + "id": 395, + "displayName": "Empty Map", + "stackSize": 64, + "name": "map" + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot" + }, + { + "id": 397, + "displayName": "Mob head", + "stackSize": 64, + "name": "mob_head", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ] + }, + { + "id": 398, + "displayName": "Carrot on a Stick", + "stackSize": 1, + "name": "carrot_on_a_stick" + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie" + }, + { + "id": 403, + "displayName": "Enchanted Book", + "stackSize": 1, + "name": "enchanted_book" + }, + { + "id": 404, + "displayName": "Redstone Comparator", + "stackSize": 64, + "name": "comparator" + }, + { + "id": 405, + "displayName": "Nether Brick", + "stackSize": 64, + "name": "nether_brick" + }, + { + "id": 406, + "displayName": "Nether Quartz", + "stackSize": 64, + "name": "nether_quartz" + }, + { + "id": 407, + "displayName": "Minecart with TNT", + "stackSize": 1, + "name": "minecart_with_tnt" + }, + { + "id": 408, + "displayName": "Minecart with Hopper", + "stackSize": 1, + "name": "minecart_with_hopper" + }, + { + "id": 410, + "displayName": "Hopper", + "stackSize": 64, + "name": "hopper" + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "raw_rabbit" + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit" + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew" + }, + { + "id": 414, + "displayName": "Rabbit's Foot", + "stackSize": 64, + "name": "rabbit's_foot" + }, + { + "id": 415, + "displayName": "Rabbit Hide", + "stackSize": 64, + "name": "rabbit_hide" + }, + { + "id": 416, + "displayName": "Leather Horse Armor", + "stackSize": 1, + "name": "leather_horse_armor" + }, + { + "id": 417, + "displayName": "Iron Horse Armor", + "stackSize": 1, + "name": "iron_horse_armor" + }, + { + "id": 418, + "displayName": "Golden Horse Armor", + "stackSize": 1, + "name": "golden_horse_armor" + }, + { + "id": 419, + "displayName": "Diamond Horse Armor", + "stackSize": 1, + "name": "diamond_horse_armor" + }, + { + "id": 420, + "displayName": "Lead", + "stackSize": 64, + "name": "lead" + }, + { + "id": 421, + "displayName": "Name Tag", + "stackSize": 64, + "name": "name_tag" + }, + { + "id": 423, + "displayName": "Raw Mutton", + "stackSize": 64, + "name": "mutton" + }, + { + "id": 424, + "displayName": "Cooked Mutton", + "stackSize": 64, + "name": "cooked_mutton" + }, + { + "id": 427, + "displayName": "Spruce Door", + "stackSize": 64, + "name": "spruce_door" + }, + { + "id": 428, + "displayName": "Birch Door", + "stackSize": 64, + "name": "birch_door" + }, + { + "id": 429, + "displayName": "Jungle Door", + "stackSize": 64, + "name": "jungle_door" + }, + { + "id": 430, + "displayName": "Acacia Door", + "stackSize": 64, + "name": "acacia_door" + }, + { + "id": 431, + "displayName": "Dark Oak Door", + "stackSize": 64, + "name": "dark_oak_door" + }, + { + "id": 438, + "displayName": "Splash Potion", + "stackSize": 1, + "name": "splash_potion" + }, + { + "id": 457, + "displayName": "Beetroot", + "stackSize": 64, + "name": "beetroot" + }, + { + "id": 458, + "displayName": "Beetroot Seeds", + "stackSize": 64, + "name": "beetroot_seeds" + }, + { + "id": 459, + "displayName": "Beetroot Soup", + "stackSize": 1, + "name": "beetroot_soup" + }, + { + "id": 460, + "displayName": "Raw Salmon", + "stackSize": 64, + "name": "raw_salmon" + }, + { + "id": 461, + "displayName": "Clownfish", + "stackSize": 64, + "name": "clownfish" + }, + { + "id": 462, + "displayName": "Pufferfish", + "stackSize": 64, + "name": "pufferfish" + }, + { + "id": 463, + "displayName": "Cooked Salmon", + "stackSize": 64, + "name": "cooked_salmon" + }, + { + "id": 466, + "displayName": "Enchanted Golden Apple", + "stackSize": 64, + "name": "enchanted_golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ] + }, + { + "id": 498, + "displayName": "Camera", + "stackSize": 64, + "name": "camera" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pe/0.15/protocol.json b/node_modules/minecraft-data/minecraft-data/data/pe/0.15/protocol.json new file mode 100644 index 00000000..d3c3a194 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pe/0.15/protocol.json @@ -0,0 +1,1966 @@ +{ + "types": { + "uuid":"native", + "shapelessRecipe":"native", + "shapedRecipe":"native", + "furnaceRecipe":"native", + "furnaceRecipeData":"native", + "enchantList":"native", + "restBuffer":"native", + "ipAddress":"native", + "string": [ + "pstring", + { + "countType":"i16" + } + ], + "lstring": [ + "pstring", + { + "countType":"li16" + } + ], + "shapeless_recipe": [ + "container", + [ + { + "name":"ingredientList", + "type": + [ + "array", + { + "countType":"i32", + "type":"slot" + } + ] + }, + { + "name": "resultCount", + "type": "i32" + }, + { + "name": "slot", + "type": "slot" + }, + { + "name": "id", + "type": "uuid" + } + ] + ], + "shaped_recipe": [ + "container", + [ + { + "name": "width", + "type": [ + "count", { + "type": "i32", + "countFor": "shape" + } + ] + }, + { + "name": "height", + "type": [ + "count", + { + "type": "i32", + "countFor": "shape/0" + } + ] + }, + { + "name": "shape", + "type": [ + "array", + { + "count": "width", + "type": [ + "array", + { + "count": "height", + "type": "slot" + } + ] + } + ] + }, + { + "name": "resultCount", + "type": "i32" + }, + { + "name": "slot", + "type": "slot" + }, + { + "name": "id", + "type": "uuid" + } + ] + ], + "furnace_recipe": [ + "container", + [ + { + "name": "meta", + "type": "i16" + }, + { + "name": "id", + "type": "i16" + }, + { + "name": "result", + "type": "slot" + } + ] + ], + "furnace_recipe_data": [ + "container", + [ + { + "name": "id", + "type": "i16" + }, + { + "name": "meta", + "type": "i16" + }, + { + "name": "result", + "type": "slot" + } + ] + ], + "enchant_list": [ + "array", + { + "countType": "i8", + "type": [ + "container", + [ + { + "name": "cost", + "type": "i32" + }, + { + "name": "enchantments", + "type": [ + "array", + { + "countType": "i8", + "type": [ + "container", + [ + { + "name": "id", + "type": "i32" + }, + { + "name": "level", + "type": "i32" + } + ] + ] + } + ] + }, + { + "name": "name", + "type": "string" + } + ] + ] + } + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "li8", + "1": "li16", + "2": "li32", + "3": "lf32", + "4": "lstring", + "5": ["container",[ + { + "name":"blockId", + "type":"li16" + }, + { + "name":"itemCount", + "type":"li8" + }, + { + "name":"itemDamage", + "type":"li16" + } + ]], + "6": [ + "container", + [ + { + "name": "x", + "type": "li32" + }, + { + "name": "y", + "type": "li32" + }, + { + "name": "z", + "type": "li32" + } + ] + ], + "7": [ + "container", + [ + { + "name": "pitch", + "type": "lf32" + }, + { + "name": "yaw", + "type": "lf32" + }, + { + "name": "roll", + "type": "lf32" + } + ] + ], + "8": "li64" + } + } + ], + "metadatadictionary": [ + "entityMetadataLoop", + { + "endVal": 127, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "bitfield", + [ + { + "name": "type", + "size": 3, + "signed": false + }, + { + "name": "key", + "size": 5, + "signed": false + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ], + "slot": [ + "container", + [ + { + "name": "blockId", + "type": "i16" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "blockId", + "fields": { + "0": "void" + }, + "default": [ + "container", + [ + { + "name": "itemCount", + "type": "i8" + }, + { + "name": "itemDamage", + "type": "i16" + }, + { + "name": "nbtData", + "type": ["buffer",{"countType":"li16"}] + } + ] + ] + } + ] + } + ] + ], + "itemstacks": [ + "array", + { + "countType":"i16", + "type": [ + "container", + [ + { + "name": "slot", + "type": "itemstacks" + } + ] + ] + } + ], + "skin": [ + "container", + [ + { + "name": "skin_type", + "type": "string" + }, + { + "name": "texture", + "type": ["buffer",{"countType":"i16"}] + } + ] + ], + "blockrecords": [ + "array", + { + "countType":"i32", + "type": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "blockId", + "type": "i8" + }, + { + "anon": true, + "type": [ + "bitfield", + [ + { + "name": "blockData", + "size": 4, + "signed": false + }, + { + "name": "flags", + "size": 4, + "signed": false + } + ] + ] + } + ] + ] + } + ], + "records": [ + "array", + { + "countType":"i16", + "type": [ + "container", + [ + { + "name": "x", + "type": "i8" + }, + { + "name": "y", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ], + "playerattributes": [ + "array", + { + "countType":"i16", + "type": [ + "container", + [ + { + "name": "minValue", + "type": "f32" + }, + { + "name": "maxValue", + "type": "f32" + }, + { + "name": "id", + "type": "f32" + }, + { + "name": "name", + "type": "string" + } + ] + ] + } + ], + "entitymotions": [ + "array", + { + "countType":"i16", + "type": [ + "container", + [ + { + "name": "eid", + "type": "i64" + }, + { + "name": "motX", + "type": "f32" + }, + { + "name": "motY", + "type": "f32" + }, + { + "name": "motZ", + "type": "f32" + } + ] + ] + } + ], + "vector3": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + } + ] + ], + "blockcoordinates": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + } + ] + ], + "entitylocations": [ + "array", + { + "countType":"i16", + "type": [ + "container", + [ + { + "name": "eid", + "type": "i64" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "headYaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ] + } + ], + "encapsulated_packet":[ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "u8", + "mappings": { + "0xfe": "mcpe" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "mcpe":"mcpe_packet" + } + } + ] + } + ] + ], + "mcpe_packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "u8", + "mappings": { + "0x03": "server_to_client_handshake", + "0x04": "client_to_server_handshake", + "0x01": "game_login", + "0x02": "player_status", + "0x05": "disconnect", + "0x06": "batch", + "0x07": "text", + "0x08": "set_time", + "0x09": "start_game", + "0x0a": "add_player", + "0x0b": "remove_player", + "0x0c": "add_entity", + "0x0d": "remove_entity", + "0x0e": "add_item_entity", + "0x0f": "take_item_entity", + "0x10": "move_entity", + "0x11": "move_player", + "0x12": "remove_block", + "0x13": "update_block", + "0x14": "add_painting", + "0x15": "explode", + "0x16": "level_event", + "0x17": "tile_event", + "0x18": "entity_event", + "0x19": "mob_effect", + "0x1a": "update_attributes", + "0x1b": "player_equipment", + "0x1c": "player_armor_equipment", + "0x1d": "interact", + "0x1e": "use_item", + "0x1f": "player_action", + "0x20": "hurt_armor", + "0x21": "set_entity_data", + "0x22": "set_entity_motion", + "0x23": "set_entity_link", + "0x24": "set_health", + "0x25": "set_spawn_position", + "0x26": "animate", + "0x27": "respawn", + "0x28": "drop_item", + "0x29": "container_open", + "0x2a": "container_close", + "0x2b": "container_set_slot", + "0x2c": "container_set_data", + "0x2d": "container_set_content", + "0x2e": "crafting_data", + "0x2f": "crafting_event", + "0x30": "adventure_settings", + "0x31": "tile_entity_data", + "0x32": "player_input", + "0x33": "full_chunk_data", + "0x34": "set_difficulty", + "0x37": "player_list", + "0x3c": "request_chunk_radius", + "0x3d": "chunk_radius_update", + "0x3a": "spawn_experience_orb", + "0x3f": "replace_selected_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_to_client_handshake": "packet_server_to_client_handshake", + "client_to_server_handshake": "packet_client_to_server_handshake", + "game_login": "packet_game_login", + "player_status": "packet_player_status", + "disconnect": "packet_disconnect", + "batch": "packet_batch", + "text": "packet_text", + "set_time": "packet_set_time", + "start_game": "packet_start_game", + "add_player": "packet_add_player", + "remove_player": "packet_remove_player", + "add_entity": "packet_add_entity", + "remove_entity": "packet_remove_entity", + "add_item_entity": "packet_add_item_entity", + "take_item_entity": "packet_take_item_entity", + "move_entity": "packet_move_entity", + "move_player": "packet_move_player", + "remove_block": "packet_remove_block", + "update_block": "packet_update_block", + "add_painting": "packet_add_painting", + "explode": "packet_explode", + "level_event": "packet_level_event", + "tile_event": "packet_tile_event", + "entity_event": "packet_entity_event", + "mob_effect": "packet_mob_effect", + "update_attributes": "packet_update_attributes", + "player_equipment": "packet_player_equipment", + "player_armor_equipment": "packet_player_armor_equipment", + "interact": "packet_interact", + "use_item": "packet_use_item", + "player_action": "packet_player_action", + "hurt_armor": "packet_hurt_armor", + "set_entity_data": "packet_set_entity_data", + "set_entity_motion": "packet_set_entity_motion", + "set_entity_link": "packet_set_entity_link", + "set_health": "packet_set_health", + "set_spawn_position": "packet_set_spawn_position", + "animate": "packet_animate", + "respawn": "packet_respawn", + "drop_item": "packet_drop_item", + "container_open": "packet_container_open", + "container_close": "packet_container_close", + "container_set_slot": "packet_container_set_slot", + "container_set_data": "packet_container_set_data", + "container_set_content": "packet_container_set_content", + "crafting_data": "packet_crafting_data", + "crafting_event": "packet_crafting_event", + "adventure_settings": "packet_adventure_settings", + "tile_entity_data": "packet_tile_entity_data", + "full_chunk_data": "packet_full_chunk_data", + "set_difficulty": "packet_set_difficulty", + "player_list": "packet_player_list", + "request_chunk_radius": "packet_request_chunk_radius", + "chunk_radius_update": "packet_chunk_radius_update", + "transfer": "packet_transfer", + "spawn_experience_orb": "packet_spawn_experience_orb", + "replace_selected_item": "packet_replace_selected_item" + } + } + ] + } + ] + ], + "packet_id_detect_lost_connections": [ + "container", + [] + ], + "packet_id_no_free_incoming_connections": [ + "container", + [] + ], + "packet_id_connection_banned": [ + "container", + [] + ], + "packet_id_ip_recently_connected": [ + "container", + [] + ], + "packet_server_to_client_handshake": [ + "container", + [ + { + "name": "publicKey", + "type": "string" + }, + { + "name": "serverToken", + "type": "string" + } + ] + ], + "packet_client_to_server_handshake": [ + "container", + [ + ] + ], + "packet_game_login": [ + "container", + [ + { + "name": "protocol", + "type": "i32" + }, + { + "name": "body", + "type": ["buffer",{"countType":"i32"}] + } + ] + ], + "packet_player_status": [ + "container", + [ + { + "name": "status", + "type": "i32" + } + ] + ], + "packet_disconnect": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_batch": [ + "container", + [ + { + "name": "payload", + "type":["buffer",{"countType":"i32"}] + } + ] + ], + "packet_text": [ + "container", + [ + { + "name": "type", + "type": "i8" + }, + { + "name": "name", + "type": [ + "switch", + { + "compareTo": "type", + "fields": { + "1": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "type", + "fields": { + "0": "string", + "1": "string", + "2": "string", + "3": "string", + "4": "string", + "5": "string" + } + } + ] + }, + { + "name": "parameters", + "type": [ + "switch", + { + "compareTo": "type", + "fields":{ + "2":[ + "array", { + "countType":"i8", + "type":"string" + } + ] + }, + "default":"void" + } + ] + } + ] + ], + "packet_set_time": [ + "container", + [ + { + "name": "time", + "type": "i32" + }, + { + "name": "started", + "type": "i8" + } + ] + ], + "packet_start_game": [ + "container", + [ + { + "name": "seed", + "type": "i32" + }, + { + "name": "dimension", + "type": "i8" + }, + { + "name": "generator", + "type": "i32" + }, + { + "name": "gamemode", + "type": "i8" + }, + { + "name": "entityId", + "type": "i64" + }, + { + "name": "spawnX", + "type": "i32" + }, + { + "name": "spawnY", + "type": "i32" + }, + { + "name": "spawnZ", + "type": "i32" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "isLoadedInCreative", + "type": "bool" + }, + { + "name": "dayCycleStopTime", + "type": "i8" + }, + { + "name": "eduMode", + "type": "bool" + }, + { + "name": "worldName", + "type": "string" + } + ] + ], + "packet_add_player": [ + "container", + [ + { + "name": "uuid", + "type": "uuid" + }, + { + "name": "username", + "type": "string" + }, + { + "name": "entityId", + "type": "i64" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "speedX", + "type": "f32" + }, + { + "name": "speedY", + "type": "f32" + }, + { + "name": "speedZ", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "headYaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "item", + "type": "slot" + }, + { + "name": "metadata", + "type": "metadatadictionary" + } + ] + ], + "packet_remove_player": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "clientUuid", + "type": "uuid" + } + ] + ], + "packet_add_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "entityType", + "type": "i32" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "speedX", + "type": "f32" + }, + { + "name": "speedY", + "type": "f32" + }, + { + "name": "speedZ", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "metadata", + "type": "metadatadictionary" + }, + { + "name": "links", + "type": "i16" + } + ] + ], + "packet_remove_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + } + ] + ], + "packet_add_item_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "item", + "type": "slot" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "speedX", + "type": "f32" + }, + { + "name": "speedY", + "type": "f32" + }, + { + "name": "speedZ", + "type": "f32" + } + ] + ], + "packet_take_item_entity": [ + "container", + [ + { + "name": "target", + "type": "i64" + }, + { + "name": "entityId", + "type": "i64" + } + ] + ], + "packet_move_entity": [ + "container", + [ + { + "name": "entities", + "type": "entitylocations" + } + ] + ], + "packet_move_player": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "headYaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "onGround", + "type": "i8" + } + ] + ], + "packet_remove_block": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "y", + "type": "i8" + } + ] + ], + "packet_update_block": [ + "container", + [ + { + "name": "blocks", + "type": "blockrecords" + } + ] + ], + "packet_add_painting": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "direction", + "type": "i32" + }, + { + "name": "title", + "type": "string" + } + ] + ], + "packet_explode": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "radius", + "type": "f32" + }, + { + "name": "records", + "type": "records" + } + ] + ], + "packet_level_event": [ + "container", + [ + { + "name": "eventId", + "type": "i16" + }, + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + }, + { + "name": "data", + "type": "i32" + } + ] + ], + "packet_tile_event": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "case1", + "type": "i32" + }, + { + "name": "case2", + "type": "i32" + } + ] + ], + "packet_entity_event": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "eventId", + "type": "i8" + } + ] + ], + "packet_mob_effect": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "eventId", + "type": "i8" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "particles", + "type": "i8" + }, + { + "name": "duration", + "type": "i32" + } + ] + ], + "packet_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "attributes", + "type": "playerattributes" + } + ] + ], + "packet_player_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "item", + "type": "slot" + }, + { + "name": "slot", + "type": "i8" + }, + { + "name": "selectedSlot", + "type": "i8" + } + ] + ], + "packet_player_armor_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "helmet", + "type": "slot" + }, + { + "name": "chestplate", + "type": "slot" + }, + { + "name": "leggings", + "type": "slot" + }, + { + "name": "boots", + "type": "slot" + } + ] + ], + "packet_interact": [ + "container", + [ + { + "name": "actionId", + "type": "i8" + }, + { + "name": "targetEntityId", + "type": "i64" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "blockcoordinates", + "type": "blockcoordinates" + }, + { + "name": "face", + "type": "i8" + }, + { + "name": "facecoordinates", + "type": "vector3" + }, + { + "name": "playerposition", + "type": "vector3" + }, + { + "name": "slot", + "type": "i32" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_player_action": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "actionId", + "type": "i32" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "face", + "type": "i32" + } + ] + ], + "packet_hurt_armor": [ + "container", + [ + { + "name": "health", + "type": "i8" + } + ] + ], + "packet_set_entity_data": [ + "container", + [ + { + "name": "entity_id", + "type": "i64" + }, + { + "name": "metadata", + "type": "metadatadictionary" + } + ] + ], + "packet_set_entity_motion": [ + "container", + [ + { + "name": "entities", + "type": "entitymotions" + } + ] + ], + "packet_set_entity_link": [ + "container", + [ + { + "name": "riderId", + "type": "i64" + }, + { + "name": "riddenId", + "type": "i64" + }, + { + "name": "linkType", + "type": "i8" + } + ] + ], + "packet_set_health": [ + "container", + [ + { + "name": "health", + "type": "i32" + } + ] + ], + "packet_set_spawn_position": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + } + ] + ], + "packet_animate": [ + "container", + [ + { + "name": "actionId", + "type": "i8" + }, + { + "name": "entityId", + "type": "i64" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "x", + "type": "f32" + }, + { + "name": "y", + "type": "f32" + }, + { + "name": "z", + "type": "f32" + } + ] + ], + "packet_drop_item": [ + "container", + [ + { + "name": "itemtype", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_container_open": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "slotCount", + "type": "i16" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + } + ] + ], + "packet_container_close": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + } + ] + ], + "packet_container_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "unknown", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_container_set_data": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "property", + "type": "i16" + }, + { + "name": "value", + "type": "i16" + } + ] + ], + "packet_container_set_content": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slotData", + "type": "itemstacks" + }, + { + "name": "hotbarData", + "type": [ + "switch", + { + "compareTo": "windowId", + "fields": { + "0": [ + "array", + { + "countType":"i16", + "type": [ + "container", + [ + { + "name": "slot", + "type": "i32" + } + ] + ] + } + ] + }, + "default": "i16" + } + ] + } + ] + ], + "packet_crafting_data": [ + "container", + [ + { + "name": "recipes", + "type": [ + "container", + [ + { + "name": "entryType", + "type": "i32" + }, + { + "name": "recipe", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "switch", + { + "compareTo": "entryType", + "fields": { + "0": "shapelessRecipe", + "1": "shapedRecipe", + "2": "furnaceRecipe", + "3": "furnaceRecipeData", + "4": "enchantList" + }, + "default":"void" + } + ] + } + ] + } + ] + ] + }, + { + "name": "cleanRecipes", + "type": "i8" + } + ] + ], + "packet_crafting_event": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipeType", + "type": "i32" + }, + { + "name": "recipeId", + "type": "uuid" + }, + { + "name": "input", + "type": "itemstacks" + }, + { + "name": "result", + "type": "itemstacks" + } + ] + ], + "packet_adventure_settings": [ + "container", + [ + { + "name": "flags", + "type": "i32" + }, + { + "name": "userPermission", + "type": "i32" + }, + { + "name": "globalPermission", + "type": "i32" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "namedtag", + "type": "restBuffer" + } + ] + ], + "packet_player_input": [ + "container", + [ + { + "name": "motionX", + "type": "f32" + }, + { + "name": "motionZ", + "type": "f32" + }, + { + "name": "flags", + "type": "i16" + } + ] + ], + "packet_full_chunk_data": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "order", + "type": "i8" + }, + { + "name": "chunkData", + "type":["buffer",{"countType":"i32"}] + } + ] + ], + "packet_set_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "i32" + } + ] + ], + "packet_player_list": [ + "container", + [ + { + "name": "type", + "type": "i8" + }, + { + "name": "entries", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "switch", + { + "compareTo": "type", + "fields": { + "0": [ + "container", + [ + { + "name": "clientUuid", + "type": "uuid" + }, + { + "name": "entityId", + "type": "i64" + }, + { + "name": "displayName", + "type": "string" + }, + { + "name": "skin", + "type": "skin" + } + ] + ], + "1": [ + "container", + [ + { + "name": "clientUuid", + "type": "uuid" + } + ] + ] + } + } + ] + } + ] + } + ] + ], + "packet_request_chunk_radius": [ + "container", + [ + { + "name": "chunkRadius", + "type": "i32" + } + ] + ], + "packet_chunk_radius_update": [ + "container", + [ + { + "name": "chunkRadius", + "type": "i32" + } + ] + ], + "packet_transfer": [ + "container", + [ + { + "name": "endpoint", + "type": "ipAddress" + } + ] + ], + "packet_spawn_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "i64" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "count", + "type": "i32" + } + ] + ], + "packet_replace_selected_item": [ + "container", + [ + { + "name": "slot", + "type": "slot" + } + ] + ] + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pe/0.15/version.json b/node_modules/minecraft-data/minecraft-data/data/pe/0.15/version.json new file mode 100644 index 00000000..331b7923 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pe/0.15/version.json @@ -0,0 +1,5 @@ +{ + "version":82, + "minecraftVersion":"0.15.6", + "majorVersion":"0.15" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pe/1.0/blocks.json b/node_modules/minecraft-data/minecraft-data/data/pe/1.0/blocks.json new file mode 100644 index 00000000..35b52010 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pe/1.0/blocks.json @@ -0,0 +1,5464 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 0 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass_block", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 243, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Dirt" + }, + { + "metadata": 1, + "displayName": "Coarse Dirt" + }, + { + "metadata": 2, + "displayName": "Podzol" + } + ], + "drops": [ + { + "drop": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "wood_planks", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Wood Planks" + }, + { + "metadata": 1, + "displayName": "Spruce Wood Planks" + }, + { + "metadata": 2, + "displayName": "Birch Wood Planks" + }, + { + "metadata": 3, + "displayName": "Jungle Wood Planks" + }, + { + "metadata": 4, + "displayName": "Acacia Wood Planks" + }, + { + "metadata": 5, + "displayName": "Dark Oak Wood Planks" + } + ], + "drops": [ + { + "drop": 5 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 6 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 8, + "displayName": "Water", + "name": "water", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 9, + "displayName": "Stationary Water", + "name": "water", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 2 + }, + { + "id": 10, + "displayName": "Lava", + "name": "lava", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 11, + "displayName": "Stationary Lava", + "name": "lava", + "hardness": 100, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Sand" + }, + { + "metadata": 1, + "displayName": "Red sand" + } + ], + "drops": [ + { + "drop": 12 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 13, + "minCount": 0.9 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 14 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 15 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 263, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 17, + "displayName": "Wood", + "name": "wood", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 17 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Oak Leaves" + }, + { + "metadata": 1, + "displayName": "Spruce Leaves" + }, + { + "metadata": 2, + "displayName": "Birch Leaves" + }, + { + "metadata": 3, + "displayName": "Jungle Leaves" + }, + { + "metadata": 4, + "displayName": "Oak Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Spruce Leaves (no decay)" + }, + { + "metadata": 6, + "displayName": "Birch Leaves (no decay)" + }, + { + "metadata": 7, + "displayName": "Jungle Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Oak Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Spruce Leaves (check decay)" + }, + { + "metadata": 10, + "displayName": "Birch Leaves (check decay)" + }, + { + "metadata": 11, + "displayName": "Jungle Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Oak Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Spruce Leaves (no decay and check decay)" + }, + { + "metadata": 14, + "displayName": "Birch Leaves (no decay and check decay)" + }, + { + "metadata": 15, + "displayName": "Jungle Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Sponge" + }, + { + "metadata": 1, + "displayName": "Wet Sponge" + } + ], + "drops": [ + { + "drop": 19 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Stained Glass" + }, + { + "metadata": 1, + "displayName": "Orange Stained Glass" + }, + { + "metadata": 2, + "displayName": "Magenta Stained Glass" + }, + { + "metadata": 3, + "displayName": "Light Blue Stained Glass" + }, + { + "metadata": 4, + "displayName": "Yellow Stained Glass" + }, + { + "metadata": 5, + "displayName": "Lime Stained Glass" + }, + { + "metadata": 6, + "displayName": "Pink Stained Glass" + }, + { + "metadata": 7, + "displayName": "Gray Stained Glass" + }, + { + "metadata": 8, + "displayName": "Light Gray Stained Glass" + }, + { + "metadata": 9, + "displayName": "Cyan Stained Glass" + }, + { + "metadata": 10, + "displayName": "Purple Stained Glass" + }, + { + "metadata": 11, + "displayName": "Blue Stained Glass" + }, + { + "metadata": 12, + "displayName": "Brown Stained Glass" + }, + { + "metadata": 13, + "displayName": "Green Stained Glass" + }, + { + "metadata": 14, + "displayName": "Red Stained Glass" + }, + { + "metadata": 15, + "displayName": "Black Stained Glass" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_lazuli_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": { + "id": 351, + "metadata": 4 + }, + "minCount": 4, + "maxCount": 8 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_lazuli_block", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 22 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 23 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth sandstone" + } + ], + "drops": [ + { + "drop": 24 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "note_block", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 25 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 26, + "displayName": "Bed", + "name": "bed", + "hardness": 0.2, + "stackSize": 1, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 26 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "powered_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 27 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 28 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 29 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "cobweb", + "hardness": 4, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "web", + "harvestTools": { + "267": true, + "268": true, + "272": true, + "276": true, + "283": true, + "359": true + }, + "drops": [ + { + "drop": 287 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 31, + "displayName": "Tall Grass", + "name": "tall_grass", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Shrub" + }, + { + "metadata": 1, + "displayName": "Tall Grass" + }, + { + "metadata": 2, + "displayName": "Fern" + } + ], + "drops": [ + { + "drop": 295, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "dead_bush", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 280, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 33 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 34, + "displayName": "Piston Head", + "name": "piston_head", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 34 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wool", + "drops": [ + { + "drop": 35 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "dandelion", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 37 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 38, + "displayName": "Flower", + "name": "flower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Poppy" + }, + { + "metadata": 1, + "displayName": "Blue Orchid" + }, + { + "metadata": 2, + "displayName": "Allium" + }, + { + "metadata": 3, + "displayName": "Azure Bluet" + }, + { + "metadata": 4, + "displayName": "Red Tulip" + }, + { + "metadata": 5, + "displayName": "Orange Tulip" + }, + { + "metadata": 6, + "displayName": "White Tulip" + }, + { + "metadata": 7, + "displayName": "Pink Tulip" + }, + { + "metadata": 8, + "displayName": "Oxeye Daisy" + } + ], + "drops": [ + { + "drop": 38 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 39 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 40 + } + ], + "transparent": false, + "emitLight": 1, + "filterLight": 15 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "block_of_gold", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 41 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "block_of_iron", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "274": true, + "278": true + }, + "drops": [ + { + "drop": 42 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Stone Slab" + }, + { + "metadata": 1, + "displayName": "Double Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "Double (Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Double Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Double Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Double Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Double Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Double Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Stone Slab" + }, + { + "metadata": 9, + "displayName": "Smooth Double Sandstone Slab" + }, + { + "metadata": 15, + "displayName": "Tile Double Quartz Slab (note the underside)" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone Slab" + }, + { + "metadata": 1, + "displayName": "Sandstone Slab" + }, + { + "metadata": 2, + "displayName": "(Stone) Wooden Slab" + }, + { + "metadata": 3, + "displayName": "Cobblestone Slab" + }, + { + "metadata": 4, + "displayName": "Bricks Slab" + }, + { + "metadata": 5, + "displayName": "Stone Brick Slab" + }, + { + "metadata": 6, + "displayName": "Nether Brick Slab" + }, + { + "metadata": 7, + "displayName": "Quartz Slab" + }, + { + "metadata": 8, + "displayName": "Upper Stone Slab" + }, + { + "metadata": 9, + "displayName": "Upper Sandstone Slab" + }, + { + "metadata": 10, + "displayName": "Upper (Stone) Wooden Slab" + }, + { + "metadata": 11, + "displayName": "Upper Cobblestone Slab" + }, + { + "metadata": 12, + "displayName": "Upper Bricks Slab" + }, + { + "metadata": 13, + "displayName": "Upper Stone Brick Slab" + }, + { + "metadata": 14, + "displayName": "Upper Nether Brick Slab" + }, + { + "metadata": 15, + "displayName": "Upper Quartz Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "bricks", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 45 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Drops a TNT item when broken" + }, + { + "metadata": 1, + "displayName": "Activates when broken" + } + ], + "drops": [ + { + "drop": 46 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 340, + "minCount": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "moss_stone", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 48 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "hardness": 50, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "278": true + }, + "drops": [ + { + "drop": 49 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 50 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "monster_spawner", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 53 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 54 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 331 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 264 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "block_of_diamond", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 57 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 58 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 59, + "displayName": "Crops", + "name": "crops", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 59 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 243, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 62, + "displayName": "Burning Furnace", + "name": "furnace", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 61 + } + ], + "transparent": true, + "emitLight": 13, + "filterLight": 0 + }, + { + "id": 63, + "displayName": "Sign", + "name": "sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 323 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 64, + "displayName": "Wooden Door", + "name": "wooden_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 64 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 65 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 66 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 67 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 68, + "displayName": "Wall Sign", + "name": "sign", + "hardness": 1, + "stackSize": 16, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 323 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 69 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 70 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 71, + "displayName": "Iron Door", + "name": "iron_door", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 71 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 72 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 74, + "displayName": "Glowing Redstone Ore", + "name": "redstone_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 331, + "minCount": 4, + "maxCount": 5 + } + ], + "transparent": true, + "emitLight": 9, + "filterLight": 0 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 75 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 76, + "displayName": "Redstone Torch (active)", + "name": "redstone_torch", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "variations": [ + { + "metadata": 0, + "displayName": "Facing east (attached to a block to its west)" + }, + { + "metadata": 1, + "displayName": "Facing west (attached to a block to its east)" + }, + { + "metadata": 2, + "displayName": "Facing south (attached to a block to its north)" + }, + { + "metadata": 3, + "displayName": "Facing north (attached to a block to its south)" + }, + { + "metadata": 4, + "displayName": "Facing up (attached to a block beneath it)" + } + ], + "drops": [ + { + "drop": 76 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 77 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 78, + "displayName": "Top Snow", + "name": "top_snow", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "drops": [ + { + "drop": 332, + "minCount": 2, + "maxCount": 9 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "harvestTools": { + "256": true, + "269": true, + "273": true, + "277": true, + "284": true + }, + "drops": [ + { + "drop": 332, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 81 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 82, + "displayName": "Clay", + "name": "clay", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 337, + "minCount": 4 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 83, + "displayName": "Sugar Cane", + "name": "sugar_cane", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 83 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 85 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 86 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 87 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": 88 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 348, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 90, + "displayName": "Portal", + "name": "portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 90 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "jack_o'lantern", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 91 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 92, + "displayName": "Cake", + "name": "cake", + "hardness": 0.5, + "stackSize": 1, + "diggable": true, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 93, + "displayName": "Redstone Repeater (inactive)", + "name": "redstone_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 356 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 94, + "displayName": "Redstone Repeater (active)", + "name": "redstone_repeater", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 356 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 95, + "displayName": "Invisible Bedrock", + "name": "invisible_bedrock", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 95 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 96 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "hardness": 0.75, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Stone Monster Egg" + }, + { + "metadata": 1, + "displayName": "Cobblestone Monster Egg" + }, + { + "metadata": 2, + "displayName": "Stone Brick Monster Egg" + }, + { + "metadata": 3, + "displayName": "Mossy Stone Brick Monster Egg" + }, + { + "metadata": 4, + "displayName": "Cracked Stone Brick Monster Egg" + }, + { + "metadata": 5, + "displayName": "Chiseled Stone Brick Monster Egg" + } + ], + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 98, + "displayName": "Stone Brick", + "name": "stone_brick", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Stone brick" + }, + { + "metadata": 1, + "displayName": "Mossy stone brick" + }, + { + "metadata": 2, + "displayName": "Cracked stone brick" + }, + { + "metadata": 3, + "displayName": "Chiseled stone brick" + } + ], + "drops": [ + { + "drop": 98 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 99, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 100, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 100, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Pores on all sides" + }, + { + "metadata": 1, + "displayName": "Cap texture on top, west and north" + }, + { + "metadata": 2, + "displayName": "Cap texture on top and north" + }, + { + "metadata": 3, + "displayName": "Cap texture on top, north and east" + }, + { + "metadata": 4, + "displayName": "Cap texture on top and west" + }, + { + "metadata": 5, + "displayName": "Cap texture on top" + }, + { + "metadata": 6, + "displayName": "Cap texture on top and east" + }, + { + "metadata": 7, + "displayName": "Cap texture on top, south and west" + }, + { + "metadata": 8, + "displayName": "Cap texture on top and south" + }, + { + "metadata": 9, + "displayName": "Cap texture on top, east and south" + }, + { + "metadata": 10, + "displayName": "Stem texture on all four sides, pores on top and bottom" + }, + { + "metadata": 14, + "displayName": "Cap texture on all six sides" + }, + { + "metadata": 15, + "displayName": "Stem texture on all six sides" + } + ], + "drops": [ + { + "drop": 100, + "minCount": 0, + "maxCount": 2 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 101 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 103, + "displayName": "Melon", + "name": "melon", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 360, + "minCount": 3, + "maxCount": 7 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 361, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 362, + "minCount": 0, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vines", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 106 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 107 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 108 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 109 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "drops": [ + { + "drop": { + "id": 243, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "lily_pad", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": 111 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 112, + "displayName": "Nether Brick", + "name": "nether_brick", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 112 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 113 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 114 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 115, + "displayName": "Nether Wart", + "name": "nether_wart", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 372 + }, + { + "drop": 372, + "minCount": 2, + "maxCount": 4 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchantment_table", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 116 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 117, + "displayName": "Brewing Stand", + "name": "brewing_stand", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 379 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 118, + "displayName": "Cauldron", + "name": "cauldron", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 380 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 119, + "displayName": "End Portal", + "name": "end_portal", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 120, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "hardness": null, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [ + { + "drop": 120 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 121 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 122, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 122 + } + ], + "transparent": true, + "emitLight": 1, + "filterLight": 0 + }, + { + "id": 123, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 123 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 124, + "displayName": "Redstone Lamp (active)", + "name": "redstone_lamp", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 124 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 125, + "displayName": "Dropper", + "name": "dropper", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 125 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 126, + "displayName": "Activator Rail", + "name": "activator_rail", + "hardness": 0.7, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "drops": [ + { + "drop": 126 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [ + { + "drop": { + "id": 351, + "metadata": 3 + } + }, + { + "drop": { + "id": 351, + "metadata": 3 + }, + "minCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 128 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 388 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 130, + "displayName": "Ender Chest", + "name": "ender_chest", + "hardness": 22.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 49, + "minCount": 8 + } + ], + "transparent": true, + "emitLight": 7, + "filterLight": 0 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 131 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "drops": [ + { + "drop": 287 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "block_of_emerald", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "278": true + }, + "drops": [ + { + "drop": 133 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 134 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 135 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 136 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 138, + "displayName": "Beacon", + "name": "beacon", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 138 + } + ], + "transparent": true, + "emitLight": 15, + "filterLight": 0 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Cobblestone Wall" + }, + { + "metadata": 1, + "displayName": "Mossy Cobblestone Wall" + } + ], + "drops": [ + { + "drop": 139 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 140, + "displayName": "Flower Pot", + "name": "flower_pot", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Empty Flower Pot" + }, + { + "metadata": 1, + "displayName": "Poppy Flower Pot" + }, + { + "metadata": 2, + "displayName": "Dandelion Flower Pot" + }, + { + "metadata": 3, + "displayName": "Oak sapling Flower Pot" + }, + { + "metadata": 4, + "displayName": "Spruce sapling Flower Pot" + }, + { + "metadata": 5, + "displayName": "Birch sapling Flower Pot" + }, + { + "metadata": 6, + "displayName": "Jungle sapling Flower Pot" + }, + { + "metadata": 7, + "displayName": "Red mushroom Flower Pot" + }, + { + "metadata": 8, + "displayName": "Brown mushroom Flower Pot" + }, + { + "metadata": 9, + "displayName": "Cactus Flower Pot" + }, + { + "metadata": 10, + "displayName": "Dead bush Flower Pot" + }, + { + "metadata": 11, + "displayName": "Fern Flower Pot" + }, + { + "metadata": 12, + "displayName": "Acacia sapling Flower Pot" + }, + { + "metadata": 13, + "displayName": "Dark oak sapling Flower Pot" + } + ], + "drops": [ + { + "drop": 140 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 141, + "displayName": "Carrots", + "name": "carrots", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 141 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 142, + "displayName": "Potato", + "name": "potato", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 142 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "wood", + "drops": [ + { + "drop": 143 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 144, + "displayName": "Mob head", + "name": "mob_head", + "hardness": 1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ], + "drops": [ + { + "drop": 144 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Anvil" + }, + { + "metadata": 1, + "displayName": "Slightly Damaged Anvil" + }, + { + "metadata": 2, + "displayName": "Very Damaged Anvil" + }, + { + "metadata": 3, + "displayName": "Anvil (North/South)" + }, + { + "metadata": 4, + "displayName": "Anvil (East/West)" + }, + { + "metadata": 5, + "displayName": "Anvil (South/North)" + }, + { + "metadata": 6, + "displayName": "Anvil (West/East)" + }, + { + "metadata": 7, + "displayName": "Slightly Damaged Anvil (North/South)" + }, + { + "metadata": 8, + "displayName": "Slightly Damaged Anvil (East/West)" + }, + { + "metadata": 9, + "displayName": "Slightly Damaged Anvil (West/East)" + }, + { + "metadata": 10, + "displayName": "Slightly Damaged Anvil (South/North)" + }, + { + "metadata": 11, + "displayName": "Very Damaged Anvil (North/South)" + }, + { + "metadata": 12, + "displayName": "Very Damaged Anvil (East/West)" + }, + { + "metadata": 13, + "displayName": "Very Damaged Anvil (West/East)" + }, + { + "metadata": 14, + "displayName": "Very Damaged Anvil (South/North)" + } + ], + "drops": [ + { + "drop": 145 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "hardness": 2.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 146 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 147 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 148, + "displayName": "Weighted Pressure Plate (Heavy)", + "name": "weighted_pressure_plate", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 148 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 149, + "displayName": "Redstone Comparator (unpowered)", + "name": "redstone_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 404 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 150, + "displayName": "Redstone Comparator (powered)", + "name": "redstone_comparator", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 404 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_sensor", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 151 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "block_of_redstone", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 152 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 406 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 154, + "displayName": "Hopper", + "name": "hopper", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 154 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "block_of_quartz", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Block of Quartz" + }, + { + "metadata": 1, + "displayName": "Chiseled Quartz Block" + }, + { + "metadata": 2, + "displayName": "Pillar Quartz Block (vertical)" + }, + { + "metadata": 3, + "displayName": "Pillar Quartz Block (north-south)" + }, + { + "metadata": 4, + "displayName": "Pillar Quartz Block (east-west)" + } + ], + "drops": [ + { + "drop": 155 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 156 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 157, + "displayName": "Wooden Double Slab", + "name": "wooden_double_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 158, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White hardened clay" + }, + { + "metadata": 1, + "displayName": "Orange hardened clay" + }, + { + "metadata": 2, + "displayName": "Magenta hardened clay" + }, + { + "metadata": 3, + "displayName": "Light blue hardened clay" + }, + { + "metadata": 4, + "displayName": "Yellow hardened clay" + }, + { + "metadata": 5, + "displayName": "Lime hardened clay" + }, + { + "metadata": 6, + "displayName": "Pink hardened clay" + }, + { + "metadata": 7, + "displayName": "Gray hardened clay" + }, + { + "metadata": 8, + "displayName": "Light gray hardened clay" + }, + { + "metadata": 9, + "displayName": "Cyan hardened clay" + }, + { + "metadata": 10, + "displayName": "Purple hardened clay" + }, + { + "metadata": 11, + "displayName": "Blue hardened clay" + }, + { + "metadata": 12, + "displayName": "Brown hardened clay" + }, + { + "metadata": 13, + "displayName": "Green hardened clay" + }, + { + "metadata": 14, + "displayName": "Red hardened clay" + }, + { + "metadata": 15, + "displayName": "Black hardened clay" + } + ], + "drops": [ + { + "drop": 159 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 160, + "displayName": "Stained Glass Pane", + "name": "stained_glass_pane", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Stained Glass Pane" + }, + { + "metadata": 1, + "displayName": "Orange Stained Glass Pane" + }, + { + "metadata": 2, + "displayName": "Magenta Stained Glass Pane" + }, + { + "metadata": 3, + "displayName": "Light Blue Stained Glass Pane" + }, + { + "metadata": 4, + "displayName": "Yellow Stained Glass Pane" + }, + { + "metadata": 5, + "displayName": "Lime Stained Glass Pane" + }, + { + "metadata": 6, + "displayName": "Pink Stained Glass Pane" + }, + { + "metadata": 7, + "displayName": "Gray Stained Glass Pane" + }, + { + "metadata": 8, + "displayName": "Light Gray Stained Glass Pane" + }, + { + "metadata": 9, + "displayName": "Cyan Stained Glass Pane" + }, + { + "metadata": 10, + "displayName": "Purple Stained Glass Pane" + }, + { + "metadata": 11, + "displayName": "Blue Stained Glass Pane" + }, + { + "metadata": 12, + "displayName": "Brown Stained Glass Pane" + }, + { + "metadata": 13, + "displayName": "Green Stained Glass Pane" + }, + { + "metadata": 14, + "displayName": "Red Stained Glass Pane" + }, + { + "metadata": 15, + "displayName": "Black Stained Glass Pane" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 161, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Acacia Leaves" + }, + { + "metadata": 1, + "displayName": "Dark Oak Leaves" + }, + { + "metadata": 4, + "displayName": "Acacia Leaves (no decay)" + }, + { + "metadata": 5, + "displayName": "Dark Oak Leaves (no decay)" + }, + { + "metadata": 8, + "displayName": "Acacia Leaves (check decay)" + }, + { + "metadata": 9, + "displayName": "Dark Oak Leaves (check decay)" + }, + { + "metadata": 12, + "displayName": "Acacia Leaves (no decay and check decay)" + }, + { + "metadata": 13, + "displayName": "Dark Oak Leaves (no decay and check decay)" + } + ], + "drops": [ + { + "drop": 6, + "minCount": 0, + "maxCount": 1 + }, + { + "drop": 260, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 162, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 162 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 163 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_wood_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 164 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime_block", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 165 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 167 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 168, + "displayName": "Prismarine", + "name": "prismarine", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Prismarine" + }, + { + "metadata": 1, + "displayName": "Prismarine Bricks" + }, + { + "metadata": 2, + "displayName": "Dark Prismarine" + } + ], + "drops": [ + { + "drop": 168 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 169, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 422, + "minCount": 2, + "maxCount": 3 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_bale", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 170 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "hardness": 0.1, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Carpet" + }, + { + "metadata": 1, + "displayName": "Orange Carpet" + }, + { + "metadata": 2, + "displayName": "Magenta Carpet" + }, + { + "metadata": 3, + "displayName": "Light Blue Carpet" + }, + { + "metadata": 4, + "displayName": "Yellow Carpet" + }, + { + "metadata": 5, + "displayName": "Lime Carpet" + }, + { + "metadata": 6, + "displayName": "Pink Carpet" + }, + { + "metadata": 7, + "displayName": "Gray Carpet" + }, + { + "metadata": 8, + "displayName": "Light Gray Carpet" + }, + { + "metadata": 9, + "displayName": "Cyan Carpet" + }, + { + "metadata": 10, + "displayName": "Purple Carpet" + }, + { + "metadata": 11, + "displayName": "Blue Carpet" + }, + { + "metadata": 12, + "displayName": "Brown Carpet" + }, + { + "metadata": 13, + "displayName": "Green Carpet" + }, + { + "metadata": 14, + "displayName": "Red Carpet" + }, + { + "metadata": 15, + "displayName": "Black Carpet" + } + ], + "drops": [ + { + "drop": 171 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "hardness": 1.25, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "White hardened clay" + }, + { + "metadata": 1, + "displayName": "Orange hardened clay" + }, + { + "metadata": 2, + "displayName": "Magenta hardened clay" + }, + { + "metadata": 3, + "displayName": "Light blue hardened clay" + }, + { + "metadata": 4, + "displayName": "Yellow hardened clay" + }, + { + "metadata": 5, + "displayName": "Lime hardened clay" + }, + { + "metadata": 6, + "displayName": "Pink hardened clay" + }, + { + "metadata": 7, + "displayName": "Gray hardened clay" + }, + { + "metadata": 8, + "displayName": "Light gray hardened clay" + }, + { + "metadata": 9, + "displayName": "Cyan hardened clay" + }, + { + "metadata": 10, + "displayName": "Purple hardened clay" + }, + { + "metadata": 11, + "displayName": "Blue hardened clay" + }, + { + "metadata": 12, + "displayName": "Brown hardened clay" + }, + { + "metadata": 13, + "displayName": "Green hardened clay" + }, + { + "metadata": 14, + "displayName": "Red hardened clay" + }, + { + "metadata": 15, + "displayName": "Black hardened clay" + } + ], + "drops": [ + { + "drop": 172 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "block_of_coal", + "hardness": 5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 173 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 175, + "displayName": "Sunflower", + "name": "sunflower", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "variations": [ + { + "metadata": 0, + "displayName": "Sunflower" + }, + { + "metadata": 1, + "displayName": "Lilac" + }, + { + "metadata": 2, + "displayName": "Double Tallgrass" + }, + { + "metadata": 3, + "displayName": "Large Fern" + }, + { + "metadata": 4, + "displayName": "Rose Bush" + }, + { + "metadata": 5, + "displayName": "Peony" + }, + { + "metadata": 8, + "displayName": "Top Half of any Large Plant; low three bits 0x7 are derived from the block below." + } + ], + "drops": [ + { + "drop": 175 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "inverted_daylight_sensor", + "hardness": 0.2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 178 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 179, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Red Sandstone" + }, + { + "metadata": 1, + "displayName": "Chiseled Red Sandstone" + }, + { + "metadata": 2, + "displayName": "Smooth Red Sandstone" + } + ], + "drops": [ + { + "drop": 179 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 180, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "hardness": 0.8, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 180 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 181, + "displayName": "Double Red Sandstone Slab", + "name": "double_red_sandstone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Double Red Sandstone Slab" + }, + { + "metadata": 8, + "displayName": "Smooth Double Red Sandstone Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 182, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "variations": [ + { + "metadata": 0, + "displayName": "Red Sandstone Slab" + }, + { + "metadata": 8, + "displayName": "Upper Red Sandstone Slab" + } + ], + "drops": [ + { + "drop": { + "id": 44, + "metadata": 0 + } + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 183 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 184 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 185 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 186 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 187 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 193, + "displayName": "Spruce Door", + "name": "spruce_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 193 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 194, + "displayName": "Birch Door", + "name": "birch_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 194 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 195, + "displayName": "Jungle Door", + "name": "jungle_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 195 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 196, + "displayName": "Acacia Door", + "name": "acacia_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 196 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 197, + "displayName": "Dark Oak Door", + "name": "dark_oak_door", + "hardness": 3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [ + { + "drop": 197 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 198, + "displayName": "Grass Path", + "name": "grass_path", + "hardness": 0.6, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "plant", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 199, + "displayName": "Item Frame", + "name": "item_frame", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "wood", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 200, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 200 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 201, + "displayName": "Purpur Block", + "name": "purpur_block", + "hardness": 1.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 201 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 203, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "hardness": 2, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 203 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 206, + "displayName": "End Bricks", + "name": "end_bricks", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 206 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 208, + "displayName": "End Rod", + "name": "end_rod", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "Facing down" + }, + { + "metadata": 1, + "displayName": "Facing up" + }, + { + "metadata": 2, + "displayName": "Facing north" + }, + { + "metadata": 3, + "displayName": "Facing south" + }, + { + "metadata": 4, + "displayName": "Facing west" + }, + { + "metadata": 5, + "displayName": "Facing east" + } + ], + "drops": [ + { + "drop": 208 + } + ], + "transparent": false, + "emitLight": 14, + "filterLight": 15 + }, + { + "id": 209, + "displayName": "End Gateway", + "name": "end_gateway", + "hardness": null, + "stackSize": 0, + "diggable": false, + "boundingBox": "empty", + "drops": [], + "transparent": false, + "emitLight": 15, + "filterLight": 15 + }, + { + "id": 240, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "hardness": 0.4, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 432, + "minCount": 0, + "maxCount": 1 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 241, + "displayName": "Stained Glass", + "name": "stained_glass", + "hardness": 0.3, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "variations": [ + { + "metadata": 0, + "displayName": "White Stained Glass" + }, + { + "metadata": 1, + "displayName": "Orange Stained Glass" + }, + { + "metadata": 2, + "displayName": "Magenta Stained Glass" + }, + { + "metadata": 3, + "displayName": "Light Blue Stained Glass" + }, + { + "metadata": 4, + "displayName": "Yellow Stained Glass" + }, + { + "metadata": 5, + "displayName": "Lime Stained Glass" + }, + { + "metadata": 6, + "displayName": "Pink Stained Glass" + }, + { + "metadata": 7, + "displayName": "Gray Stained Glass" + }, + { + "metadata": 8, + "displayName": "Light Gray Stained Glass" + }, + { + "metadata": 9, + "displayName": "Cyan Stained Glass" + }, + { + "metadata": 10, + "displayName": "Purple Stained Glass" + }, + { + "metadata": 11, + "displayName": "Blue Stained Glass" + }, + { + "metadata": 12, + "displayName": "Brown Stained Glass" + }, + { + "metadata": 13, + "displayName": "Green Stained Glass" + }, + { + "metadata": 14, + "displayName": "Red Stained Glass" + }, + { + "metadata": 15, + "displayName": "Black Stained Glass" + } + ], + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 243, + "displayName": "Podzol", + "name": "podzol", + "hardness": 0.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "dirt", + "variations": [ + { + "metadata": 0, + "displayName": "Dirt" + }, + { + "metadata": 1, + "displayName": "Coarse Dirt" + }, + { + "metadata": 2, + "displayName": "Podzol" + } + ], + "drops": [ + { + "drop": { + "id": 243, + "metadata": 0 + } + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 244, + "displayName": "Beetroot", + "name": "beetroot", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "empty", + "material": "plant", + "drops": [ + { + "drop": 244 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 245, + "displayName": "Stonecutter", + "name": "stonecutter", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "material": "rock", + "drops": [ + { + "drop": 245 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 246, + "displayName": "Glowing Obsidian", + "name": "glowing_obsidian", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "278": true + }, + "drops": [], + "transparent": false, + "emitLight": 12, + "filterLight": 15 + }, + { + "id": 247, + "displayName": "Nether Reactor Core", + "name": "nether_reactor_core", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 264, + "minCount": 3 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 248, + "displayName": "Update Game Block (update!)", + "name": "update_game_block", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 248 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 249, + "displayName": "Update Game Block (ate!upd)", + "name": "update_game_block", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 249 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 250, + "displayName": "Block moved by Piston", + "name": "block_moved_by_piston", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 250 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 251, + "displayName": "Observer", + "name": "observer", + "hardness": 3.5, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "harvestTools": { + "257": true, + "270": true, + "274": true, + "278": true, + "285": true + }, + "drops": [ + { + "drop": 251 + } + ], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 255, + "displayName": "reserved6", + "name": "reserved6", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 255 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 210, + "displayName": "Allow", + "name": "allow", + "hardness": 0, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 211, + "displayName": "Deny", + "name": "deny", + "hardness": 0, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 212, + "displayName": "Border Block", + "name": "border_block", + "hardness": 0, + "stackSize": 64, + "diggable": false, + "boundingBox": "block", + "drops": [], + "transparent": true, + "emitLight": 0, + "filterLight": 0 + }, + { + "id": 230, + "displayName": "Chalkboard", + "name": "chalkboard", + "hardness": 0, + "stackSize": 0, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 230 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + }, + { + "id": 242, + "displayName": "Camera", + "name": "camera", + "hardness": 0, + "stackSize": 64, + "diggable": true, + "boundingBox": "block", + "drops": [ + { + "drop": 242 + } + ], + "transparent": false, + "emitLight": 0, + "filterLight": 15 + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pe/1.0/items.json b/node_modules/minecraft-data/minecraft-data/data/pe/1.0/items.json new file mode 100644 index 00000000..9d6040c8 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pe/1.0/items.json @@ -0,0 +1,2344 @@ +[ + { + "id": 0, + "displayName": "Air", + "name": "air", + "stackSize": 64 + }, + { + "id": 1, + "displayName": "Stone", + "name": "stone", + "stackSize": 64 + }, + { + "id": 2, + "displayName": "Grass Block", + "name": "grass_block", + "stackSize": 64 + }, + { + "id": 3, + "displayName": "Dirt", + "name": "dirt", + "stackSize": 64 + }, + { + "id": 4, + "displayName": "Cobblestone", + "name": "cobblestone", + "stackSize": 64 + }, + { + "id": 5, + "displayName": "Wood Planks", + "name": "wood_planks", + "stackSize": 64 + }, + { + "id": 6, + "displayName": "Sapling", + "name": "sapling", + "stackSize": 64 + }, + { + "id": 7, + "displayName": "Bedrock", + "name": "bedrock", + "stackSize": 64 + }, + { + "id": 8, + "displayName": "Water", + "name": "water", + "stackSize": 64 + }, + { + "id": 10, + "displayName": "Lava", + "name": "lava", + "stackSize": 64 + }, + { + "id": 12, + "displayName": "Sand", + "name": "sand", + "stackSize": 64 + }, + { + "id": 13, + "displayName": "Gravel", + "name": "gravel", + "stackSize": 64 + }, + { + "id": 14, + "displayName": "Gold Ore", + "name": "gold_ore", + "stackSize": 64 + }, + { + "id": 15, + "displayName": "Iron Ore", + "name": "iron_ore", + "stackSize": 64 + }, + { + "id": 16, + "displayName": "Coal Ore", + "name": "coal_ore", + "stackSize": 64 + }, + { + "id": 17, + "displayName": "Wood", + "name": "wood", + "stackSize": 64 + }, + { + "id": 18, + "displayName": "Leaves", + "name": "leaves", + "stackSize": 64 + }, + { + "id": 19, + "displayName": "Sponge", + "name": "sponge", + "stackSize": 64 + }, + { + "id": 20, + "displayName": "Glass", + "name": "glass", + "stackSize": 64 + }, + { + "id": 21, + "displayName": "Lapis Lazuli Ore", + "name": "lapis_lazuli_ore", + "stackSize": 64 + }, + { + "id": 22, + "displayName": "Lapis Lazuli Block", + "name": "lapis_lazuli_block", + "stackSize": 64 + }, + { + "id": 23, + "displayName": "Dispenser", + "name": "dispenser", + "stackSize": 64 + }, + { + "id": 24, + "displayName": "Sandstone", + "name": "sandstone", + "stackSize": 64 + }, + { + "id": 25, + "displayName": "Note Block", + "name": "note_block", + "stackSize": 64 + }, + { + "id": 27, + "displayName": "Powered Rail", + "name": "powered_rail", + "stackSize": 64 + }, + { + "id": 28, + "displayName": "Detector Rail", + "name": "detector_rail", + "stackSize": 64 + }, + { + "id": 29, + "displayName": "Sticky Piston", + "name": "sticky_piston", + "stackSize": 64 + }, + { + "id": 30, + "displayName": "Cobweb", + "name": "cobweb", + "stackSize": 64 + }, + { + "id": 31, + "displayName": "Tall Grass", + "name": "tall_grass", + "stackSize": 64 + }, + { + "id": 32, + "displayName": "Dead Bush", + "name": "dead_bush", + "stackSize": 64 + }, + { + "id": 33, + "displayName": "Piston", + "name": "piston", + "stackSize": 64 + }, + { + "id": 34, + "displayName": "Piston Head", + "name": "piston_head", + "stackSize": 64 + }, + { + "id": 35, + "displayName": "Wool", + "name": "wool", + "stackSize": 64 + }, + { + "id": 37, + "displayName": "Dandelion", + "name": "dandelion", + "stackSize": 64 + }, + { + "id": 38, + "displayName": "Flower", + "name": "flower", + "stackSize": 64 + }, + { + "id": 39, + "displayName": "Brown Mushroom", + "name": "brown_mushroom", + "stackSize": 64 + }, + { + "id": 40, + "displayName": "Red Mushroom", + "name": "red_mushroom", + "stackSize": 64 + }, + { + "id": 41, + "displayName": "Block of Gold", + "name": "block_of_gold", + "stackSize": 64 + }, + { + "id": 42, + "displayName": "Block of Iron", + "name": "block_of_iron", + "stackSize": 64 + }, + { + "id": 43, + "displayName": "Double Stone Slab", + "name": "double_stone_slab", + "stackSize": 64 + }, + { + "id": 44, + "displayName": "Stone Slab", + "name": "stone_slab", + "stackSize": 64 + }, + { + "id": 45, + "displayName": "Bricks", + "name": "bricks", + "stackSize": 64 + }, + { + "id": 46, + "displayName": "TNT", + "name": "tnt", + "stackSize": 64 + }, + { + "id": 47, + "displayName": "Bookshelf", + "name": "bookshelf", + "stackSize": 64 + }, + { + "id": 48, + "displayName": "Moss Stone", + "name": "moss_stone", + "stackSize": 64 + }, + { + "id": 49, + "displayName": "Obsidian", + "name": "obsidian", + "stackSize": 64 + }, + { + "id": 50, + "displayName": "Torch", + "name": "torch", + "stackSize": 64 + }, + { + "id": 51, + "displayName": "Fire", + "name": "fire", + "stackSize": 64 + }, + { + "id": 52, + "displayName": "Monster Spawner", + "name": "monster_spawner", + "stackSize": 64 + }, + { + "id": 53, + "displayName": "Oak Wood Stairs", + "name": "oak_wood_stairs", + "stackSize": 64 + }, + { + "id": 54, + "displayName": "Chest", + "name": "chest", + "stackSize": 64 + }, + { + "id": 55, + "displayName": "Redstone Wire", + "name": "redstone_wire", + "stackSize": 64 + }, + { + "id": 56, + "displayName": "Diamond Ore", + "name": "diamond_ore", + "stackSize": 64 + }, + { + "id": 57, + "displayName": "Block of Diamond", + "name": "block_of_diamond", + "stackSize": 64 + }, + { + "id": 58, + "displayName": "Crafting Table", + "name": "crafting_table", + "stackSize": 64 + }, + { + "id": 59, + "displayName": "Crops", + "name": "crops", + "stackSize": 64 + }, + { + "id": 60, + "displayName": "Farmland", + "name": "farmland", + "stackSize": 64 + }, + { + "id": 61, + "displayName": "Furnace", + "name": "furnace", + "stackSize": 64 + }, + { + "id": 65, + "displayName": "Ladder", + "name": "ladder", + "stackSize": 64 + }, + { + "id": 66, + "displayName": "Rail", + "name": "rail", + "stackSize": 64 + }, + { + "id": 67, + "displayName": "Cobblestone Stairs", + "name": "cobblestone_stairs", + "stackSize": 64 + }, + { + "id": 69, + "displayName": "Lever", + "name": "lever", + "stackSize": 64 + }, + { + "id": 70, + "displayName": "Stone Pressure Plate", + "name": "stone_pressure_plate", + "stackSize": 64 + }, + { + "id": 72, + "displayName": "Wooden Pressure Plate", + "name": "wooden_pressure_plate", + "stackSize": 64 + }, + { + "id": 73, + "displayName": "Redstone Ore", + "name": "redstone_ore", + "stackSize": 64 + }, + { + "id": 75, + "displayName": "Redstone Torch (inactive)", + "name": "redstone_torch", + "stackSize": 64 + }, + { + "id": 77, + "displayName": "Stone Button", + "name": "stone_button", + "stackSize": 64 + }, + { + "id": 78, + "displayName": "Top Snow", + "name": "top_snow", + "stackSize": 64 + }, + { + "id": 79, + "displayName": "Ice", + "name": "ice", + "stackSize": 64 + }, + { + "id": 80, + "displayName": "Snow", + "name": "snow", + "stackSize": 64 + }, + { + "id": 81, + "displayName": "Cactus", + "name": "cactus", + "stackSize": 64 + }, + { + "id": 85, + "displayName": "Fence", + "name": "fence", + "stackSize": 64 + }, + { + "id": 86, + "displayName": "Pumpkin", + "name": "pumpkin", + "stackSize": 64 + }, + { + "id": 87, + "displayName": "Netherrack", + "name": "netherrack", + "stackSize": 64 + }, + { + "id": 88, + "displayName": "Soul Sand", + "name": "soul_sand", + "stackSize": 64 + }, + { + "id": 89, + "displayName": "Glowstone", + "name": "glowstone", + "stackSize": 64 + }, + { + "id": 90, + "displayName": "Portal", + "name": "portal", + "stackSize": 64 + }, + { + "id": 91, + "displayName": "Jack o'Lantern", + "name": "jack_o'lantern", + "stackSize": 64 + }, + { + "id": 95, + "displayName": "Invisible Bedrock", + "name": "invisible_bedrock", + "stackSize": 64 + }, + { + "id": 96, + "displayName": "Trapdoor", + "name": "trapdoor", + "stackSize": 64 + }, + { + "id": 97, + "displayName": "Monster Egg", + "name": "monster_egg", + "stackSize": 64 + }, + { + "id": 98, + "displayName": "Stone Brick", + "name": "stone_brick", + "stackSize": 64 + }, + { + "id": 101, + "displayName": "Iron Bars", + "name": "iron_bars", + "stackSize": 64 + }, + { + "id": 102, + "displayName": "Glass Pane", + "name": "glass_pane", + "stackSize": 64 + }, + { + "id": 104, + "displayName": "Pumpkin Stem", + "name": "pumpkin_stem", + "stackSize": 64 + }, + { + "id": 105, + "displayName": "Melon Stem", + "name": "melon_stem", + "stackSize": 64 + }, + { + "id": 106, + "displayName": "Vines", + "name": "vines", + "stackSize": 64 + }, + { + "id": 107, + "displayName": "Fence Gate", + "name": "fence_gate", + "stackSize": 64 + }, + { + "id": 108, + "displayName": "Brick Stairs", + "name": "brick_stairs", + "stackSize": 64 + }, + { + "id": 109, + "displayName": "Stone Brick Stairs", + "name": "stone_brick_stairs", + "stackSize": 64 + }, + { + "id": 110, + "displayName": "Mycelium", + "name": "mycelium", + "stackSize": 64 + }, + { + "id": 111, + "displayName": "Lily Pad", + "name": "lily_pad", + "stackSize": 64 + }, + { + "id": 113, + "displayName": "Nether Brick Fence", + "name": "nether_brick_fence", + "stackSize": 64 + }, + { + "id": 114, + "displayName": "Nether Brick Stairs", + "name": "nether_brick_stairs", + "stackSize": 64 + }, + { + "id": 116, + "displayName": "Enchantment Table", + "name": "enchantment_table", + "stackSize": 64 + }, + { + "id": 119, + "displayName": "End Portal", + "name": "end_portal", + "stackSize": 64 + }, + { + "id": 120, + "displayName": "End Portal Frame", + "name": "end_portal_frame", + "stackSize": 64 + }, + { + "id": 121, + "displayName": "End Stone", + "name": "end_stone", + "stackSize": 64 + }, + { + "id": 122, + "displayName": "Dragon Egg", + "name": "dragon_egg", + "stackSize": 64 + }, + { + "id": 123, + "displayName": "Redstone Lamp (inactive)", + "name": "redstone_lamp", + "stackSize": 64 + }, + { + "id": 125, + "displayName": "Dropper", + "name": "dropper", + "stackSize": 64 + }, + { + "id": 126, + "displayName": "Activator Rail", + "name": "activator_rail", + "stackSize": 64 + }, + { + "id": 127, + "displayName": "Cocoa", + "name": "cocoa", + "stackSize": 64 + }, + { + "id": 128, + "displayName": "Sandstone Stairs", + "name": "sandstone_stairs", + "stackSize": 64 + }, + { + "id": 129, + "displayName": "Emerald Ore", + "name": "emerald_ore", + "stackSize": 64 + }, + { + "id": 130, + "displayName": "Ender Chest", + "name": "ender_chest", + "stackSize": 64 + }, + { + "id": 131, + "displayName": "Tripwire Hook", + "name": "tripwire_hook", + "stackSize": 64 + }, + { + "id": 132, + "displayName": "Tripwire", + "name": "tripwire", + "stackSize": 64 + }, + { + "id": 133, + "displayName": "Block of Emerald", + "name": "block_of_emerald", + "stackSize": 64 + }, + { + "id": 134, + "displayName": "Spruce Wood Stairs", + "name": "spruce_wood_stairs", + "stackSize": 64 + }, + { + "id": 135, + "displayName": "Birch Wood Stairs", + "name": "birch_wood_stairs", + "stackSize": 64 + }, + { + "id": 136, + "displayName": "Jungle Wood Stairs", + "name": "jungle_wood_stairs", + "stackSize": 64 + }, + { + "id": 138, + "displayName": "Beacon", + "name": "beacon", + "stackSize": 64 + }, + { + "id": 139, + "displayName": "Cobblestone Wall", + "name": "cobblestone_wall", + "stackSize": 64 + }, + { + "id": 141, + "displayName": "Carrots", + "name": "carrots", + "stackSize": 64 + }, + { + "id": 143, + "displayName": "Wooden Button", + "name": "wooden_button", + "stackSize": 64 + }, + { + "id": 145, + "displayName": "Anvil", + "name": "anvil", + "stackSize": 64 + }, + { + "id": 146, + "displayName": "Trapped Chest", + "name": "trapped_chest", + "stackSize": 64 + }, + { + "id": 147, + "displayName": "Weighted Pressure Plate (Light)", + "name": "weighted_pressure_plate", + "stackSize": 64 + }, + { + "id": 149, + "displayName": "Redstone Comparator (unpowered)", + "name": "redstone_comparator", + "stackSize": 64 + }, + { + "id": 151, + "displayName": "Daylight Sensor", + "name": "daylight_sensor", + "stackSize": 64 + }, + { + "id": 152, + "displayName": "Block of Redstone", + "name": "block_of_redstone", + "stackSize": 64 + }, + { + "id": 153, + "displayName": "Nether Quartz Ore", + "name": "nether_quartz_ore", + "stackSize": 64 + }, + { + "id": 155, + "displayName": "Block of Quartz", + "name": "block_of_quartz", + "stackSize": 64 + }, + { + "id": 156, + "displayName": "Quartz Stairs", + "name": "quartz_stairs", + "stackSize": 64 + }, + { + "id": 157, + "displayName": "Wooden Double Slab", + "name": "wooden_double_slab", + "stackSize": 64 + }, + { + "id": 158, + "displayName": "Wooden Slab", + "name": "wooden_slab", + "stackSize": 64 + }, + { + "id": 159, + "displayName": "Stained Clay", + "name": "stained_clay", + "stackSize": 64 + }, + { + "id": 160, + "displayName": "Stained Glass Pane", + "name": "stained_glass_pane", + "stackSize": 64 + }, + { + "id": 161, + "displayName": "Acacia Leaves", + "name": "acacia_leaves", + "stackSize": 64 + }, + { + "id": 162, + "displayName": "Acacia Wood", + "name": "acacia_wood", + "stackSize": 64 + }, + { + "id": 163, + "displayName": "Acacia Wood Stairs", + "name": "acacia_wood_stairs", + "stackSize": 64 + }, + { + "id": 164, + "displayName": "Dark Oak Wood Stairs", + "name": "dark_oak_wood_stairs", + "stackSize": 64 + }, + { + "id": 165, + "displayName": "Slime Block", + "name": "slime_block", + "stackSize": 64 + }, + { + "id": 167, + "displayName": "Iron Trapdoor", + "name": "iron_trapdoor", + "stackSize": 64 + }, + { + "id": 168, + "displayName": "Prismarine", + "name": "prismarine", + "stackSize": 64 + }, + { + "id": 169, + "displayName": "Sea Lantern", + "name": "sea_lantern", + "stackSize": 64 + }, + { + "id": 170, + "displayName": "Hay Bale", + "name": "hay_bale", + "stackSize": 64 + }, + { + "id": 171, + "displayName": "Carpet", + "name": "carpet", + "stackSize": 64 + }, + { + "id": 172, + "displayName": "Hardened Clay", + "name": "hardened_clay", + "stackSize": 64 + }, + { + "id": 173, + "displayName": "Block of Coal", + "name": "block_of_coal", + "stackSize": 64 + }, + { + "id": 174, + "displayName": "Packed Ice", + "name": "packed_ice", + "stackSize": 64 + }, + { + "id": 175, + "displayName": "Sunflower", + "name": "sunflower", + "stackSize": 64 + }, + { + "id": 178, + "displayName": "Inverted Daylight Sensor", + "name": "inverted_daylight_sensor", + "stackSize": 64 + }, + { + "id": 179, + "displayName": "Red Sandstone", + "name": "red_sandstone", + "stackSize": 64 + }, + { + "id": 180, + "displayName": "Red Sandstone Stairs", + "name": "red_sandstone_stairs", + "stackSize": 64 + }, + { + "id": 181, + "displayName": "Double Red Sandstone Slab", + "name": "double_red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 182, + "displayName": "Red Sandstone Slab", + "name": "red_sandstone_slab", + "stackSize": 64 + }, + { + "id": 183, + "displayName": "Spruce Fence Gate", + "name": "spruce_fence_gate", + "stackSize": 64 + }, + { + "id": 184, + "displayName": "Birch Fence Gate", + "name": "birch_fence_gate", + "stackSize": 64 + }, + { + "id": 185, + "displayName": "Jungle Fence Gate", + "name": "jungle_fence_gate", + "stackSize": 64 + }, + { + "id": 186, + "displayName": "Dark Oak Fence Gate", + "name": "dark_oak_fence_gate", + "stackSize": 64 + }, + { + "id": 187, + "displayName": "Acacia Fence Gate", + "name": "acacia_fence_gate", + "stackSize": 64 + }, + { + "id": 198, + "displayName": "Grass Path", + "name": "grass_path", + "stackSize": 64 + }, + { + "id": 200, + "displayName": "Chorus Flower", + "name": "chorus_flower", + "stackSize": 64 + }, + { + "id": 201, + "displayName": "Purpur Block", + "name": "purpur_block", + "stackSize": 64 + }, + { + "id": 203, + "displayName": "Purpur Stairs", + "name": "purpur_stairs", + "stackSize": 64 + }, + { + "id": 206, + "displayName": "End Bricks", + "name": "end_bricks", + "stackSize": 64 + }, + { + "id": 208, + "displayName": "End Rod", + "name": "end_rod", + "stackSize": 64 + }, + { + "id": 209, + "displayName": "End Gateway", + "name": "end_gateway", + "stackSize": 64 + }, + { + "id": 210, + "displayName": "Allow", + "name": "allow", + "stackSize": 64 + }, + { + "id": 211, + "displayName": "Deny", + "name": "deny", + "stackSize": 64 + }, + { + "id": 212, + "displayName": "Border Block", + "name": "border_block", + "stackSize": 64 + }, + { + "id": 240, + "displayName": "Chorus Plant", + "name": "chorus_plant", + "stackSize": 64 + }, + { + "id": 241, + "displayName": "Stained Glass", + "name": "stained_glass", + "stackSize": 64 + }, + { + "id": 243, + "displayName": "Podzol", + "name": "podzol", + "stackSize": 64 + }, + { + "id": 245, + "displayName": "Stonecutter", + "name": "stonecutter", + "stackSize": 64 + }, + { + "id": 246, + "displayName": "Glowing Obsidian", + "name": "glowing_obsidian", + "stackSize": 64 + }, + { + "id": 247, + "displayName": "Nether Reactor Core", + "name": "nether_reactor_core", + "stackSize": 64 + }, + { + "id": 248, + "displayName": "Update Game Block (update!)", + "name": "update_game_block", + "stackSize": 64 + }, + { + "id": 250, + "displayName": "Block moved by Piston", + "name": "block_moved_by_piston", + "stackSize": 64 + }, + { + "id": 251, + "displayName": "Observer", + "name": "observer", + "stackSize": 64 + }, + { + "id": 255, + "displayName": "reserved6", + "name": "reserved6", + "stackSize": 64 + }, + { + "id": 256, + "displayName": "Iron Shovel", + "stackSize": 1, + "name": "iron_shovel" + }, + { + "id": 257, + "displayName": "Iron Pickaxe", + "stackSize": 1, + "name": "iron_pickaxe" + }, + { + "id": 258, + "displayName": "Iron Axe", + "stackSize": 1, + "name": "iron_axe" + }, + { + "id": 259, + "displayName": "Flint and Steel", + "stackSize": 1, + "name": "flint_and_steel" + }, + { + "id": 260, + "displayName": "Apple", + "stackSize": 64, + "name": "apple" + }, + { + "id": 261, + "displayName": "Bow", + "stackSize": 1, + "name": "bow" + }, + { + "id": 262, + "displayName": "Arrow", + "stackSize": 64, + "name": "arrow" + }, + { + "id": 263, + "displayName": "Coal", + "stackSize": 64, + "name": "coal", + "variations": [ + { + "metadata": 0, + "displayName": "Coal" + }, + { + "metadata": 1, + "displayName": "Charcoal" + } + ] + }, + { + "id": 264, + "displayName": "Diamond", + "stackSize": 64, + "name": "diamond" + }, + { + "id": 265, + "displayName": "Iron Ingot", + "stackSize": 64, + "name": "iron_ingot" + }, + { + "id": 266, + "displayName": "Gold Ingot", + "stackSize": 64, + "name": "gold_ingot" + }, + { + "id": 267, + "displayName": "Iron Sword", + "stackSize": 1, + "name": "iron_sword" + }, + { + "id": 268, + "displayName": "Wooden Sword", + "stackSize": 1, + "name": "wooden_sword" + }, + { + "id": 269, + "displayName": "Wooden Shovel", + "stackSize": 1, + "name": "wooden_shovel" + }, + { + "id": 270, + "displayName": "Wooden Pickaxe", + "stackSize": 1, + "name": "wooden_pickaxe" + }, + { + "id": 271, + "displayName": "Wooden Axe", + "stackSize": 1, + "name": "wooden_axe" + }, + { + "id": 272, + "displayName": "Stone Sword", + "stackSize": 1, + "name": "stone_sword" + }, + { + "id": 273, + "displayName": "Stone Shovel", + "stackSize": 1, + "name": "stone_shovel" + }, + { + "id": 274, + "displayName": "Stone Pickaxe", + "stackSize": 1, + "name": "stone_pickaxe" + }, + { + "id": 275, + "displayName": "Stone Axe", + "stackSize": 1, + "name": "stone_axe" + }, + { + "id": 276, + "displayName": "Diamond Sword", + "stackSize": 1, + "name": "diamond_sword" + }, + { + "id": 277, + "displayName": "Diamond Shovel", + "stackSize": 1, + "name": "diamond_shovel" + }, + { + "id": 278, + "displayName": "Diamond Pickaxe", + "stackSize": 1, + "name": "diamond_pickaxe" + }, + { + "id": 279, + "displayName": "Diamond Axe", + "stackSize": 1, + "name": "diamond_axe" + }, + { + "id": 280, + "displayName": "Stick", + "stackSize": 64, + "name": "stick" + }, + { + "id": 281, + "displayName": "Bowl", + "stackSize": 64, + "name": "bowl" + }, + { + "id": 282, + "displayName": "Mushroom Stew", + "stackSize": 1, + "name": "mushroom_stew" + }, + { + "id": 283, + "displayName": "Golden Sword", + "stackSize": 1, + "name": "golden_sword" + }, + { + "id": 284, + "displayName": "Golden Shovel", + "stackSize": 1, + "name": "golden_shovel" + }, + { + "id": 285, + "displayName": "Golden Pickaxe", + "stackSize": 1, + "name": "golden_pickaxe" + }, + { + "id": 286, + "displayName": "Golden Axe", + "stackSize": 1, + "name": "golden_axe" + }, + { + "id": 287, + "displayName": "String", + "stackSize": 64, + "name": "string" + }, + { + "id": 288, + "displayName": "Feather", + "stackSize": 64, + "name": "feather" + }, + { + "id": 289, + "displayName": "Gunpowder", + "stackSize": 64, + "name": "gunpowder" + }, + { + "id": 290, + "displayName": "Wooden Hoe", + "stackSize": 1, + "name": "wooden_hoe" + }, + { + "id": 291, + "displayName": "Stone Hoe", + "stackSize": 1, + "name": "stone_hoe" + }, + { + "id": 292, + "displayName": "Iron Hoe", + "stackSize": 1, + "name": "iron_hoe" + }, + { + "id": 293, + "displayName": "Diamond Hoe", + "stackSize": 1, + "name": "diamond_hoe" + }, + { + "id": 294, + "displayName": "Golden Hoe", + "stackSize": 1, + "name": "golden_hoe" + }, + { + "id": 295, + "displayName": "Seeds", + "stackSize": 64, + "name": "seeds" + }, + { + "id": 296, + "displayName": "Wheat", + "stackSize": 64, + "name": "wheat" + }, + { + "id": 297, + "displayName": "Bread", + "stackSize": 64, + "name": "bread" + }, + { + "id": 298, + "displayName": "Leather Cap", + "stackSize": 1, + "name": "leather_cap" + }, + { + "id": 299, + "displayName": "Leather Tunic", + "stackSize": 1, + "name": "leather_tunic" + }, + { + "id": 300, + "displayName": "Leather Pants", + "stackSize": 1, + "name": "leather_pants" + }, + { + "id": 301, + "displayName": "Leather Boots", + "stackSize": 1, + "name": "leather_boots" + }, + { + "id": 302, + "displayName": "Chain Helmet", + "stackSize": 1, + "name": "chain_helmet" + }, + { + "id": 303, + "displayName": "Chain Chestplate", + "stackSize": 1, + "name": "chain_chestplate" + }, + { + "id": 304, + "displayName": "Chain Leggings", + "stackSize": 1, + "name": "chain_leggings" + }, + { + "id": 305, + "displayName": "Chain Boots", + "stackSize": 1, + "name": "chain_boots" + }, + { + "id": 306, + "displayName": "Iron Helmet", + "stackSize": 1, + "name": "iron_helmet" + }, + { + "id": 307, + "displayName": "Iron Chestplate", + "stackSize": 1, + "name": "iron_chestplate" + }, + { + "id": 308, + "displayName": "Iron Leggings", + "stackSize": 1, + "name": "iron_leggings" + }, + { + "id": 309, + "displayName": "Iron Boots", + "stackSize": 1, + "name": "iron_boots" + }, + { + "id": 310, + "displayName": "Diamond Helmet", + "stackSize": 1, + "name": "diamond_helmet" + }, + { + "id": 311, + "displayName": "Diamond Chestplate", + "stackSize": 1, + "name": "diamond_chestplate" + }, + { + "id": 312, + "displayName": "Diamond Leggings", + "stackSize": 1, + "name": "diamond_leggings" + }, + { + "id": 313, + "displayName": "Diamond Boots", + "stackSize": 1, + "name": "diamond_boots" + }, + { + "id": 314, + "displayName": "Golden Helmet", + "stackSize": 1, + "name": "golden_helmet" + }, + { + "id": 315, + "displayName": "Golden Chestplate", + "stackSize": 1, + "name": "golden_chestplate" + }, + { + "id": 316, + "displayName": "Golden Leggings", + "stackSize": 1, + "name": "golden_leggings" + }, + { + "id": 317, + "displayName": "Golden Boots", + "stackSize": 1, + "name": "golden_boots" + }, + { + "id": 318, + "displayName": "Flint", + "stackSize": 64, + "name": "flint" + }, + { + "id": 319, + "displayName": "Raw Porkchop", + "stackSize": 64, + "name": "raw_porkchop" + }, + { + "id": 320, + "displayName": "Cooked Porkchop", + "stackSize": 64, + "name": "cooked_porkchop" + }, + { + "id": 321, + "displayName": "Painting", + "stackSize": 64, + "name": "painting" + }, + { + "id": 322, + "displayName": "Golden Apple", + "stackSize": 64, + "name": "golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ] + }, + { + "id": 323, + "displayName": "Sign", + "stackSize": 16, + "name": "sign" + }, + { + "id": 324, + "displayName": "Wooden Door", + "stackSize": 64, + "name": "wooden_door" + }, + { + "id": 325, + "displayName": "Bucket", + "stackSize": 16, + "name": "bucket" + }, + { + "id": 328, + "displayName": "Minecart", + "stackSize": 1, + "name": "minecart" + }, + { + "id": 329, + "displayName": "Saddle", + "stackSize": 1, + "name": "saddle" + }, + { + "id": 330, + "displayName": "Iron Door", + "stackSize": 64, + "name": "iron_door" + }, + { + "id": 331, + "displayName": "Redstone", + "stackSize": 64, + "name": "redstone" + }, + { + "id": 332, + "displayName": "Snowball", + "stackSize": 16, + "name": "snowball" + }, + { + "id": 333, + "displayName": "Boat", + "stackSize": 1, + "name": "boat" + }, + { + "id": 334, + "displayName": "Leather", + "stackSize": 64, + "name": "leather" + }, + { + "id": 336, + "displayName": "Brick", + "stackSize": 64, + "name": "brick" + }, + { + "id": 337, + "displayName": "Clay", + "stackSize": 64, + "name": "clay" + }, + { + "id": 338, + "displayName": "Sugar Cane", + "stackSize": 64, + "name": "sugar_cane" + }, + { + "id": 339, + "displayName": "Paper", + "stackSize": 64, + "name": "paper" + }, + { + "id": 340, + "displayName": "Book", + "stackSize": 64, + "name": "book" + }, + { + "id": 341, + "displayName": "Slimeball", + "stackSize": 64, + "name": "slimeball" + }, + { + "id": 342, + "displayName": "Minecart with Chest", + "stackSize": 1, + "name": "minecart_with_chest" + }, + { + "id": 344, + "displayName": "Egg", + "stackSize": 16, + "name": "egg" + }, + { + "id": 345, + "displayName": "Compass", + "stackSize": 64, + "name": "compass" + }, + { + "id": 346, + "displayName": "Fishing Rod", + "stackSize": 1, + "name": "fishing_rod" + }, + { + "id": 347, + "displayName": "Clock", + "stackSize": 64, + "name": "clock" + }, + { + "id": 348, + "displayName": "Glowstone Dust", + "stackSize": 64, + "name": "glowstone_dust" + }, + { + "id": 349, + "displayName": "Raw Fish", + "stackSize": 64, + "name": "raw_fish", + "variations": [ + { + "metadata": 0, + "displayName": "Raw Fish" + }, + { + "metadata": 1, + "displayName": "Raw Salmon" + }, + { + "metadata": 2, + "displayName": "Clownfish" + }, + { + "metadata": 3, + "displayName": "Pufferfish" + } + ] + }, + { + "id": 350, + "displayName": "Cooked Fish", + "stackSize": 64, + "name": "cooked_fish" + }, + { + "id": 351, + "displayName": "Dye", + "stackSize": 64, + "name": "dye", + "variations": [ + { + "metadata": 0, + "displayName": "Ink Sac" + }, + { + "metadata": 1, + "displayName": "Rose Red" + }, + { + "metadata": 2, + "displayName": "Cactus Green" + }, + { + "metadata": 3, + "displayName": "Cocoa Beans" + }, + { + "metadata": 4, + "displayName": "Lapis Lazuli" + }, + { + "metadata": 5, + "displayName": "Purple Dye" + }, + { + "metadata": 6, + "displayName": "Cyan Dye" + }, + { + "metadata": 7, + "displayName": "Light Gray Dye" + }, + { + "metadata": 8, + "displayName": "Gray Dye" + }, + { + "metadata": 9, + "displayName": "Pink Dye" + }, + { + "metadata": 10, + "displayName": "Lime Dye" + }, + { + "metadata": 11, + "displayName": "Dandelion Yellow" + }, + { + "metadata": 12, + "displayName": "Light Blue Dye" + }, + { + "metadata": 13, + "displayName": "Magenta Dye" + }, + { + "metadata": 14, + "displayName": "Orange Dye" + }, + { + "metadata": 15, + "displayName": "Bone Meal" + } + ] + }, + { + "id": 352, + "displayName": "Bone", + "stackSize": 64, + "name": "bone" + }, + { + "id": 353, + "displayName": "Sugar", + "stackSize": 64, + "name": "sugar" + }, + { + "id": 354, + "displayName": "Cake", + "stackSize": 1, + "name": "cake" + }, + { + "id": 355, + "displayName": "Bed", + "stackSize": 1, + "name": "bed" + }, + { + "id": 356, + "displayName": "Redstone Repeater", + "stackSize": 64, + "name": "redstone_repeater" + }, + { + "id": 357, + "displayName": "Cookie", + "stackSize": 64, + "name": "cookie" + }, + { + "id": 358, + "displayName": "Filled Map", + "stackSize": 64, + "name": "filled_map" + }, + { + "id": 359, + "displayName": "Shears", + "stackSize": 1, + "name": "shears" + }, + { + "id": 360, + "displayName": "Melon", + "stackSize": 64, + "name": "melon" + }, + { + "id": 361, + "displayName": "Pumpkin Seeds", + "stackSize": 64, + "name": "pumpkin_seeds" + }, + { + "id": 362, + "displayName": "Melon Seeds", + "stackSize": 64, + "name": "melon_seeds" + }, + { + "id": 363, + "displayName": "Raw Beef", + "stackSize": 64, + "name": "raw_beef" + }, + { + "id": 364, + "displayName": "Steak", + "stackSize": 64, + "name": "steak" + }, + { + "id": 365, + "displayName": "Raw Chicken", + "stackSize": 64, + "name": "raw_chicken" + }, + { + "id": 366, + "displayName": "Cooked Chicken", + "stackSize": 64, + "name": "cooked_chicken" + }, + { + "id": 367, + "displayName": "Rotten Flesh", + "stackSize": 64, + "name": "rotten_flesh" + }, + { + "id": 368, + "displayName": "Ender Pearl", + "stackSize": 16, + "name": "ender_pearl" + }, + { + "id": 369, + "displayName": "Blaze Rod", + "stackSize": 64, + "name": "blaze_rod" + }, + { + "id": 370, + "displayName": "Ghast Tear", + "stackSize": 64, + "name": "ghast_tear" + }, + { + "id": 371, + "displayName": "Gold Nugget", + "stackSize": 64, + "name": "gold_nugget" + }, + { + "id": 372, + "displayName": "Nether Wart", + "stackSize": 64, + "name": "nether_wart" + }, + { + "id": 373, + "displayName": "Potion", + "stackSize": 1, + "name": "potion" + }, + { + "id": 374, + "displayName": "Glass Bottle", + "stackSize": 64, + "name": "glass_bottle" + }, + { + "id": 375, + "displayName": "Spider Eye", + "stackSize": 64, + "name": "spider_eye" + }, + { + "id": 376, + "displayName": "Fermented Spider Eye", + "stackSize": 64, + "name": "fermented_spider_eye" + }, + { + "id": 377, + "displayName": "Blaze Powder", + "stackSize": 64, + "name": "blaze_powder" + }, + { + "id": 378, + "displayName": "Magma Cream", + "stackSize": 64, + "name": "magma_cream" + }, + { + "id": 379, + "displayName": "Brewing Stand", + "stackSize": 64, + "name": "brewing_stand" + }, + { + "id": 380, + "displayName": "Cauldron", + "stackSize": 64, + "name": "cauldron" + }, + { + "id": 381, + "displayName": "Eye of Ender", + "stackSize": 64, + "name": "eye_of_ender" + }, + { + "id": 382, + "displayName": "Glistering Melon", + "stackSize": 64, + "name": "glistering_melon" + }, + { + "id": 383, + "displayName": "Spawn Egg", + "stackSize": 64, + "name": "spawn_egg" + }, + { + "id": 384, + "displayName": "Bottle o' Enchanting", + "stackSize": 64, + "name": "bottle_o'_enchanting" + }, + { + "id": 385, + "displayName": "Fire Charge", + "stackSize": 64, + "name": "fire_charge" + }, + { + "id": 388, + "displayName": "Emerald", + "stackSize": 64, + "name": "emerald" + }, + { + "id": 389, + "displayName": "Item Frame", + "stackSize": 64, + "name": "item_frame" + }, + { + "id": 390, + "displayName": "Flower Pot", + "stackSize": 64, + "name": "flower_pot", + "variations": [ + { + "metadata": 0, + "displayName": "Empty Flower Pot" + }, + { + "metadata": 1, + "displayName": "Poppy Flower Pot" + }, + { + "metadata": 2, + "displayName": "Dandelion Flower Pot" + }, + { + "metadata": 3, + "displayName": "Oak sapling Flower Pot" + }, + { + "metadata": 4, + "displayName": "Spruce sapling Flower Pot" + }, + { + "metadata": 5, + "displayName": "Birch sapling Flower Pot" + }, + { + "metadata": 6, + "displayName": "Jungle sapling Flower Pot" + }, + { + "metadata": 7, + "displayName": "Red mushroom Flower Pot" + }, + { + "metadata": 8, + "displayName": "Brown mushroom Flower Pot" + }, + { + "metadata": 9, + "displayName": "Cactus Flower Pot" + }, + { + "metadata": 10, + "displayName": "Dead bush Flower Pot" + }, + { + "metadata": 11, + "displayName": "Fern Flower Pot" + }, + { + "metadata": 12, + "displayName": "Acacia sapling Flower Pot" + }, + { + "metadata": 13, + "displayName": "Dark oak sapling Flower Pot" + } + ] + }, + { + "id": 391, + "displayName": "Carrot", + "stackSize": 64, + "name": "carrot" + }, + { + "id": 392, + "displayName": "Potato", + "stackSize": 64, + "name": "potato" + }, + { + "id": 393, + "displayName": "Baked Potato", + "stackSize": 64, + "name": "baked_potato" + }, + { + "id": 394, + "displayName": "Poisonous Potato", + "stackSize": 64, + "name": "poisonous_potato" + }, + { + "id": 395, + "displayName": "Empty Map", + "stackSize": 64, + "name": "map" + }, + { + "id": 396, + "displayName": "Golden Carrot", + "stackSize": 64, + "name": "golden_carrot" + }, + { + "id": 397, + "displayName": "Mob head", + "stackSize": 64, + "name": "mob_head", + "variations": [ + { + "metadata": 0, + "displayName": "Skeleton Skull" + }, + { + "metadata": 1, + "displayName": "Wither Skeleton Skull" + }, + { + "metadata": 2, + "displayName": "Zombie Head" + }, + { + "metadata": 3, + "displayName": "Head" + }, + { + "metadata": 4, + "displayName": "Creeper Head" + } + ] + }, + { + "id": 398, + "displayName": "Carrot on a Stick", + "stackSize": 1, + "name": "carrot_on_a_stick" + }, + { + "id": 399, + "displayName": "Nether Star", + "stackSize": 64, + "name": "nether_star" + }, + { + "id": 400, + "displayName": "Pumpkin Pie", + "stackSize": 64, + "name": "pumpkin_pie" + }, + { + "id": 403, + "displayName": "Enchanted Book", + "stackSize": 1, + "name": "enchanted_book" + }, + { + "id": 404, + "displayName": "Redstone Comparator", + "stackSize": 64, + "name": "comparator" + }, + { + "id": 405, + "displayName": "Nether Brick", + "stackSize": 64, + "name": "nether_brick" + }, + { + "id": 406, + "displayName": "Nether Quartz", + "stackSize": 64, + "name": "nether_quartz" + }, + { + "id": 407, + "displayName": "Minecart with TNT", + "stackSize": 1, + "name": "minecart_with_tnt" + }, + { + "id": 408, + "displayName": "Minecart with Hopper", + "stackSize": 1, + "name": "minecart_with_hopper" + }, + { + "id": 409, + "displayName": "Prismarine Shard", + "stackSize": 64, + "name": "prismarine_shard" + }, + { + "id": 410, + "displayName": "Hopper", + "stackSize": 64, + "name": "hopper" + }, + { + "id": 411, + "displayName": "Raw Rabbit", + "stackSize": 64, + "name": "raw_rabbit" + }, + { + "id": 412, + "displayName": "Cooked Rabbit", + "stackSize": 64, + "name": "cooked_rabbit" + }, + { + "id": 413, + "displayName": "Rabbit Stew", + "stackSize": 1, + "name": "rabbit_stew" + }, + { + "id": 414, + "displayName": "Rabbit's Foot", + "stackSize": 64, + "name": "rabbit's_foot" + }, + { + "id": 415, + "displayName": "Rabbit Hide", + "stackSize": 64, + "name": "rabbit_hide" + }, + { + "id": 416, + "displayName": "Leather Horse Armor", + "stackSize": 1, + "name": "leather_horse_armor" + }, + { + "id": 417, + "displayName": "Iron Horse Armor", + "stackSize": 1, + "name": "iron_horse_armor" + }, + { + "id": 418, + "displayName": "Golden Horse Armor", + "stackSize": 1, + "name": "golden_horse_armor" + }, + { + "id": 419, + "displayName": "Diamond Horse Armor", + "stackSize": 1, + "name": "diamond_horse_armor" + }, + { + "id": 420, + "displayName": "Lead", + "stackSize": 64, + "name": "lead" + }, + { + "id": 421, + "displayName": "Name Tag", + "stackSize": 64, + "name": "name_tag" + }, + { + "id": 422, + "displayName": "Prismarine Crystals", + "stackSize": 64, + "name": "prismarine_crystals" + }, + { + "id": 423, + "displayName": "Raw Mutton", + "stackSize": 64, + "name": "mutton" + }, + { + "id": 424, + "displayName": "Cooked Mutton", + "stackSize": 64, + "name": "cooked_mutton" + }, + { + "id": 426, + "displayName": "End Crystal", + "stackSize": 64, + "name": "end_crystal" + }, + { + "id": 427, + "displayName": "Spruce Door", + "stackSize": 64, + "name": "spruce_door" + }, + { + "id": 428, + "displayName": "Birch Door", + "stackSize": 64, + "name": "birch_door" + }, + { + "id": 429, + "displayName": "Jungle Door", + "stackSize": 64, + "name": "jungle_door" + }, + { + "id": 430, + "displayName": "Acacia Door", + "stackSize": 64, + "name": "acacia_door" + }, + { + "id": 431, + "displayName": "Dark Oak Door", + "stackSize": 64, + "name": "dark_oak_door" + }, + { + "id": 432, + "displayName": "Chorus Fruit", + "stackSize": 64, + "name": "chorus_fruit" + }, + { + "id": 433, + "displayName": "Popped Chorus Fruit", + "stackSize": 64, + "name": "popped_chorus_fruit" + }, + { + "id": 437, + "displayName": "Dragon's Breath", + "stackSize": 64, + "name": "dragon's_breath" + }, + { + "id": 438, + "displayName": "Splash Potion", + "stackSize": 1, + "name": "splash_potion" + }, + { + "id": 441, + "displayName": "Lingering Potion", + "stackSize": 1, + "name": "lingering_potion" + }, + { + "id": 444, + "displayName": "Elytra", + "stackSize": 1, + "name": "elytra" + }, + { + "id": 445, + "displayName": "Shulker Shell", + "stackSize": 64, + "name": "shulker_shell" + }, + { + "id": 454, + "displayName": "Chalkboard", + "stackSize": 0, + "name": "chalkboard" + }, + { + "id": 456, + "displayName": "Portfolio", + "stackSize": 0, + "name": "portfolio" + }, + { + "id": 457, + "displayName": "Beetroot", + "stackSize": 64, + "name": "beetroot" + }, + { + "id": 458, + "displayName": "Beetroot Seeds", + "stackSize": 64, + "name": "beetroot_seeds" + }, + { + "id": 459, + "displayName": "Beetroot Soup", + "stackSize": 1, + "name": "beetroot_soup" + }, + { + "id": 460, + "displayName": "Raw Salmon", + "stackSize": 64, + "name": "raw_salmon" + }, + { + "id": 461, + "displayName": "Clownfish", + "stackSize": 64, + "name": "clownfish" + }, + { + "id": 462, + "displayName": "Pufferfish", + "stackSize": 64, + "name": "pufferfish" + }, + { + "id": 463, + "displayName": "Cooked Salmon", + "stackSize": 64, + "name": "cooked_salmon" + }, + { + "id": 466, + "displayName": "Enchanted Golden Apple", + "stackSize": 64, + "name": "enchanted_golden_apple", + "variations": [ + { + "metadata": 0, + "displayName": "Golden Apple" + }, + { + "metadata": 1, + "displayName": "Enchanted Golden Apple" + } + ] + }, + { + "id": 498, + "displayName": "Camera", + "stackSize": 64, + "name": "camera" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pe/1.0/version.json b/node_modules/minecraft-data/minecraft-data/data/pe/1.0/version.json new file mode 100644 index 00000000..03f42ba4 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pe/1.0/version.json @@ -0,0 +1,5 @@ +{ + "version":100, + "minecraftVersion":"1.0.0", + "majorVersion":"1.0" +} diff --git a/node_modules/minecraft-data/minecraft-data/data/pe/common/protocolVersions.json b/node_modules/minecraft-data/minecraft-data/data/pe/common/protocolVersions.json new file mode 100644 index 00000000..d2386281 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pe/common/protocolVersions.json @@ -0,0 +1,17 @@ +[ + { + "version":100, + "minecraftVersion":"1.0.0", + "majorVersion":"1.0" + }, + { + "version":82, + "minecraftVersion":"0.15.6", + "majorVersion":"0.15" + }, + { + "version":70, + "minecraftVersion":"0.14.3", + "majorVersion":"0.14" + } +] \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/data/pe/common/versions.json b/node_modules/minecraft-data/minecraft-data/data/pe/common/versions.json new file mode 100644 index 00000000..f2959012 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/data/pe/common/versions.json @@ -0,0 +1,5 @@ +[ + "0.14", + "0.15", + "1.0" +] diff --git a/node_modules/minecraft-data/minecraft-data/doc/add-data-new-version.md b/node_modules/minecraft-data/minecraft-data/doc/add-data-new-version.md new file mode 100644 index 00000000..9649746e --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/doc/add-data-new-version.md @@ -0,0 +1,24 @@ +# How to add data for a new version ? + +## Protocol + +Follow https://wiki.vg/Pre-release_protocol + +## Blocks, Items, Entities, Recipes + +use https://github.com/PrismarineJS/burger-extractor + +## Block collison shape + +https://github.com/PrismarineJS/minecraft-data/blob/master/doc/blockCollisionShapes.md#data-source + +## Loot table + +https://github.com/PrismarineJS/minecraft-jar-extractor#block-loot-table-extractor + +## WIP + +This guide is WIP, more information will be added here + + +If something doesn't work, look at the list of extractors for ideas https://github.com/PrismarineJS/minecraft-data#extraction diff --git a/node_modules/minecraft-data/minecraft-data/doc/blockCollisionShapes.md b/node_modules/minecraft-data/minecraft-data/doc/blockCollisionShapes.md new file mode 100644 index 00000000..d2b78ab5 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/doc/blockCollisionShapes.md @@ -0,0 +1,73 @@ +# Block Collision Shapes + +Documentation for the block collision shapes data in `blockCollisionShapes.json`. + +## Collision Boxes + +Collision boxes are the axis-aligned bounding boxes that are checked when colliding entities and blocks. +They can differ from the hitbox, which is the box that is checked when clicking a block. +The full collision shape of a block state can be composed of multiple such boxes, for example stairs or brewing stands. + +The way collision boxes are stored/computed has changed with The Flattening. +Until 1.12, a block's collision box also depended on the blocks around it, +e.g., cobblestone walls change their collision box if there's a solid block to N/S/E/W/above. +Starting with 1.13 the colision boxes seem to only depend on the block state itself. + +`blockCollisionShapes.json` does not encode any of the neighbor block dependent collision box behavior. +It assumes all surrounding blocks are air, so it is only fully accurate for 1.13 and later. +For 1.12 and earlier, it is accurate for any blocks that don't depend on their neighbors. +For the neighbor dependent blocks it still serves as a better approximation than the previously available "full block"/"empty block" data in `blocks.json`. + +## Data Format + +The data are split into two collections, as a compromise between file size and consumer implementation simplicity. +`shapes` contains the actual shape coordinates, and `blocks` references these shapes to allow deduplication of data shared by several blocks. + +### `blocks` + +The `blocks` collection assigns each block (by string id) either an array of shape ids (one per block state) +or, if all block states have the same shape, just specifies that shape id instead of the array. + +```js +"blocks":{ +"rail":0, // Although not standardized, 0 usually is the "empty" shape (no collision). +"furnace":1, // all furnace states have the shape of id 1 (here: full block) +"oak_slab":[169,169,61,61,1,1], // six block states (upper/lower/double slab and subtypes), referencing the shape ids 169, 61, and 1. +``` + +### `shapes` + +A shape consists of zero or more axis-aligned bounding boxes. +The `shapes` collection assigns each shape id the list of its boxes. + +Each box is an array of the block-local coordinates in the order: west, bottom, north, east, top, south; +or x_min, y_min, z_min, x_max, y_max, z_max. +Here block-local means that if the block was at 0,0,0 the box coordinates would match the world coordinates. + +Some blocks reach out of the 1x1x1 box, notably fences and piston heads. +The latter can thus have negative coordinate entries. + +```js +"shapes":{ +"0":[], // Although not standardized, 0 usually is the "empty" shape (no collision). +"1":[[0.0,0.0,0.0,1.0,1.0,1.0]], // full block: single box from (0, 0, 0) to (1, 1, 1) +"61":[[0.0,0.0,0.0,1.0,0.5,1.0]], // lower half slab: from (0, 0, 0) to (1, 0.5, 1) +"110":[[0.0,0.0,0.0,1.0,0.8125,1.0],[0.25,0.8125,0.25,0.75,1.0,0.75]], +// shape 110 (referenced in end_portal_frame) consists of two boxes: +// - the lower part of the block, up to y=0.8125 +// - the eye: from y=0.8125 to y=1, from x&z=0.25 to 0.75 +``` + +## Usage Examples + +- [Java](https://github.com/Gjum/McDataExtracting/blob/04b573572c/src/main/java/mcextract/BlockCollisionBoxStorage.java) +- [Kotlin](https://github.com/Gjum/Botlin/blob/83a024e76dc76998e04fece55a2454678420c7e7/src/main/kotlin/com/github/gjum/minecraft/botlin/data/BlockInfo.kt#L96-L135) + +## Data Source + +Because the way that block collision boxes are stored/computed has changed between versions, there are multiple versions of the extraction code: +[1.12.2](https://github.com/Gjum/McDataExtracting/blob/85b564a2c00aa2e88b5b9bd6246f13df39cf215a/src/main/java/mcextract/Main.java#L87-L162), +[1.14.4](https://github.com/Gjum/McDataExtracting/blob/ff8fa51759/src/main/java/mcextract/Main.java#L57-L117), +[1.15](https://github.com/Gjum/McDataExtracting/blob/04b573572c4ccdaedab15383567c98dd63178f97/src/main/java/mcextract/Main.java#L57-L117). + +In 1.12.2, the extraction failed for the `end_portal_frame` block, so it was added manually to the JSON file. diff --git a/node_modules/minecraft-data/minecraft-data/doc/history.md b/node_modules/minecraft-data/minecraft-data/doc/history.md new file mode 100644 index 00000000..2eb4e3cf --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/doc/history.md @@ -0,0 +1,338 @@ +## 2.70.1 +* fix 1.16.2 block.json file (thanks @DeltaEvo) + +## 2.70.0 +* 1.16.4 support + +## 2.69.0 +* add example login packet (required in new versions) (thanks @GroobleDierne) + +## 2.68.1 +* add command to datapath file + +## 2.68.0 +* 1.16.3 support (same as 1.16.2) +* command entries + +## 2.67.0 +* use stack size range property in loots +* fix enchantments in recent versions + +## 2.66.0 +* add loottable information (thanks @TheDudeFromCI) +* add more 1.16.2 data (thanks @DrakoTrogdor) + +## 2.65.0 +* fix particle type (thanks @nickelpro) +* 1.16.2 (thanks @nickelpro) + +## 2.64.0 +* add particles (thanks @nickelpro) + +## 2.63.0 +* update instruments.json from 1.13 onward (thanks @Naomi) +* add correct drops for 1.13 onward (thanks @TheDudeFromCI) +* various protocol fix (thanks @nickelpro) + +## 2.62.1 +* fix items 1.16.1 + +## 2.62.0 +* add foods data (thanks @AppDevMichael) + +## 2.61.0 +* extract proper states + default state from minecraft generator (thanks @Karang) + +## 2.60.0 +* full 1.16 support (thanks @AppDevMichael) + +## 2.59.0 +* 1.16.1 protocol support (thanks @Health123) + +## 2.58.0 +* 1.16 support + +## 2.57.0 +* fix abilities and recipes packets for 1.16-rc1 + +## 2.56.0 +* add 1.16-rc1 support + +## 2.55.0 +* entity metadata type is a varint since 1.13 + +## 2.54.0 +* complete items.json files all version (thanks @Karang) + +## 2.53.0 +* point to other version files for 1.15, 1.15.1, 1.14 and 1.14.1 + +## 2.52.0 +* fix and add block shapes for more versions (thanks @Karang) + +## 2.51.0 +* more 1.15.2 data (thanks @uncovery) + +## 2.50.0 +* fix for elyctra (thanks @Mstrodl) +* more 1.14.4 data + +## 2.49.0 +* fix 1.14.4 blocks (and tests) + +## 2.48.0 +* fix bounding boxes (@Karang) +* fix some categories (@ImHarvol) + +## 2.47.0 +* add biomes, blocks, entities, items and recipes for 1.14.4 + +## 2.46.0 +* fix entities for 1.13 + +## 2.45.0 +* fix grass bounding box for 1.13 +* last 1.16 snapshots support + +## 2.44.0 +* small fix to success packet for 20w13b + +## 2.43.0 +* Provide block collision shapes (thanks @Gjum) +* support snapshot 20w13b of 1.16 (thanks @sbh1311) + +## 2.42.0 +* Fix mushrooms' bounding boxes (thanks @IdanHo) +* 1.15.2 protocol support + +## 2.41.0 +* 1.15 protocol support + +## 2.40.0 +* 1.15.1 protocol support +* various data corrections for blocks (thanks @kemesa7) +* fix stack sizes (thanks @timmyRS) +* add item durability (thanks @timmyRS) + +## 2.39.0 +* 1.14.4 support + +## 2.38.0 +* 1.14.3 support + +## 2.37.5 +* fix intfield -> objectData in spawn_entity in all versions > 1.8 + +## 2.37.4 +* add protocol to 1.14 + +## 2.37.3 +* fix stonecutting in declare_recipes 1.14.1 : only one ingredient + +## 2.37.2 +* u32 -> i32 in 1.14 + +## 2.37.1 +* add missing version file in 1.14.1 and 1.14 + +## 2.37.0 +* fix redstone +* fix some block properties +* 1.14 support : protocol.json and some of the data : not everything is there yet + +## 2.36.0 +* fix team prefix and suffix in 1.13 + +## 2.35.0 +* add block state data for 1.13 and 1.13.2 + +## 2.34.0 +* support 1.13.2-pre2 and 1.13.2 + +## 2.33.0 +* fix version definition for 1.13.2-pre1 + +## 2.32.0 +* support 1.13.2-pre1 + +## 2.31.0 +* fix 1.13.1 datapath + +## 2.30.0 +* update ajv, mocha and standard + +## 2.29.0 +* full 1.13 and 1.13.1 support (thanks @lluiscab for doing this) + +## 2.28.0 +* support of 1.13.1 protocol + +## 2.27.0 +* support of 1.13 protocol + +## 2.26.0 +* move js tests to standard + +## 2.25.0 +* fix packet_title starting from 1.11 (see http://wiki.vg/index.php?title=Protocol&oldid=8543#Title) + +## 2.24.0 +* fix brigadier:string parser properties + +## 2.23.0 +* some fixes for 17w50a protocol + +## 2.22.0 +* mcpc 17w50a support (first supported 1.13 snapshot) + +## 2.21.0 +* mcpc 1.12.2 support + +## 2.20.0 +* mcpc 1.12.1 support + +## 2.19.0 +* add language data + +## 2.18.0 +* mcpc 1.12 : add all the data (in addition to protocol) + +## 2.17.0 +* mcpc 1.12 support + +## 2.16.0 +* supports 1.12-pre4 + +## 2.15.0 +* supports 17w18b + +## 2.14.0 +* supports 17w15a + +## 2.13.2 +* correct file names + +## 2.13.1 + +* fix id for custom_payload in 1.11.2 + +## 2.13.0 + +* protocol_comments -> protocolComments + +## 2.12.0 + +* add protocol comments + +## 2.11.0 + +* add dataPaths file + +## 2.10.0 + +* complete 1.11 data + +## 2.9.0 + +* mcpc 1.11.2 support + +## 2.8.0 + +* mcpe 1.0 support (except the protocol) + +## 2.7.0 + +* 1.11 support (only the protocol) + +## 2.6.0 + +* add classic blocks (thanks @mhsjlw) + +## 2.5.0 + +* add 16w35a +* add enchantments data + +## 2.4.0 + +* fix spelling error in protocol.json (catagory) +* add mcpe 0.15 protocol, blocks and items and update mcpe versions file +* add mcpc 1.10.1 and 1.10.2 and update mcpc versions file + +## 2.3.1 + +* fix 1.10 version + +## 2.3.0 + +* add 1.10 data + +## 2.2.0 + + * add license + * add pe protocol + +## 2.1.0 + + * add 1.10-pre1 + +## 2.0.0 + + * fix minecraftVersion in 16w20a + * add a regex to validate the version strings + * add pe blocks.json and items.json + * BREAKING : move all pc data to pc dir + +## 1.1.0 + + * add 1.10 support (16w20a) + +## 1.0.0 + + * lot of minecraft version added + * improve entities.json + * add windows.json + * other improvements : see commits log + +## 1.8-0.1.0 + * first version after the versions split + * move js files to tools/js + * use countType in protocol.json + +## 0.4.0 + * add some basic (to be used for manual updating) protocol extractors + * import protocol.json from node-minecraft-protocol for version 1.8 of minecraft + +## 0.3.0 + * remove id indexing from biomes, blocks, entities, items and instruments : let users (for examples node-minecraft-data) provide their indexing (by id, name,...) + +## 0.2.1 + * entities is now in the API + +## 0.2.0 + * update blocks, entities, items and recipes enums with new wiki extractors + * add entities displayName + * add drops in blocks + * add metadata variations in blocks and drops + * update recipes with variations of blocks and items + * amount -> count and meta -> metadata in recipes + * reorganize and improve wiki extractors + +## 0.1.1 + * some new wiki extractors : beginning of work for blocks, entities + * fix some recipes + * add entities.json file + +## 0.1.0 + * add json schemas to check the enums schemas + * use circle ci the check the enums schemas automatically + * add docson documentation for the schemas + * change the format of recipes + * add doc/recipes.md + +## 0.0.1 + + * first version + * enums in enums/ + * scripts to audit and generate the enums in bin/ + * support minecraft 1.8 with some missing data diff --git a/node_modules/minecraft-data/minecraft-data/doc/make-a-new-wrapper.md b/node_modules/minecraft-data/minecraft-data/doc/make-a-new-wrapper.md new file mode 100644 index 00000000..2d3baeed --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/doc/make-a-new-wrapper.md @@ -0,0 +1,20 @@ +# Making a new wrapper + +minecraft-data has currently a few wrapper (see the list in the README) for several languages. +If you want to use minecraft-data in a new language, you might want to create a wrapper for that language. + +Here is a simple way to do it : + +* create a git repo +* add minecraft-data as a submodule : + `git submodule add https://github.com/PrismarineJS/minecraft-data.git` +* add code in your language to read the json files +* add some code to index the data by name, by id to provide an api like +[api.md](https://github.com/PrismarineJS/node-minecraft-data/blob/master/doc/api.md) +* add some readme and doc to explain that api +* add a basic example +* add files to package your module (for example in js it's a package.json, in python a setup.py) +* publish it + +If it makes sense to generate files of your language from the data instead of dynamically reading the .json, + feel free to do it (example of that in [ProtocolGen](https://github.com/Johni0702/ProtocolGen) for java) \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/doc/recipes.md b/node_modules/minecraft-data/minecraft-data/doc/recipes.md new file mode 100644 index 00000000..7a806a30 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/doc/recipes.md @@ -0,0 +1,151 @@ +# Recipes +Documentation for the recipes json schema + +### Items + +An item can be represented different ways. + +A single **numerical ID** or `null`. +**Examples:** +- `1` for any item with ID `1` +- `null` for empty + +A **list** of `id` and `metadata`. +This is preferred if there are many items at once, e.g. in a shape. +**Example:** `[1, 2]` for any count of Polished Granite + +A **dictionary** of at least `id`, optionally `metadata` and `count`. +This is preferred if there are not many items at once, e.g. `result` in a recipe. +**Examples:** +- `{"id": 1}` for any item with ID `1` +- `{"id": 1, "metadata": 3}` for any count of Diorite +- `{"id": 1, "metadata": 2, "count": 4}` for 4 Polished Granite + +### Shapes + +A shape is a list of rows, which are lists of items. +There must be at least one row with at least one item in it. +All rows must have the same length. +Empty rows at the beginning or end of a shape may be omitted. +Empty colums at the end may also be omitted. +When an item can be crafted in a 2x2 grid, the shape may not be larger than 2x2. + +**Examples:** + +Stick: + + [ + [5], + [5] + ] + or + [ + [5, null], + [5, null] + ] + +Stonebricks: + + [ + [1, 1], + [1, 1] + ] + +Polished Granite: + + [ + [[1,1], [1,1]], + [[1,1], [1,1]] + ] + or + [ + [{"id": 1, "metadata": 1}, {"id": 1, "metadata": 1}], + [{"id": 1, "metadata": 1}, {"id": 1, "metadata": 1}] + ] + +### Recipes + +A shaped recipe is a dictionary of `result`, `inShape` and optionally `outShape`. +A shapeless recipe is a dictionary of `result` and `ingredients`. +`inShape` and `outShape` are shapes, as specified [above](#Shapes). +`ingredients` is a list of items. +`result` is a single item. +Items may be in any of the representations [above](#Items). +`outShape` must be of the same dimensions as `inShape`. + +### File format + +The file is in JSON format. +At the top level is a dictionary of quoted numerical item IDs. +Each ID maps to a list of recipes. +There may be multiple different recipes per item (same ID and metadata). +The recipes may not be sorted. + +**Example:** + +```js +{ + "1": [ + { // Polished Granite + "result": {"id": 1, "metadata": 2, "count": 4}, + "inShape": [ + [[1,1], [1,1]], + [[1,1], [1,1]] + ] + }, + { // Polished Diorite + "result": {"id": 1, "metadata": 4, "count": 4}, + "inShape": [ + [[1,3], [1,3]], + [[1,3], [1,3]] + ] + } + ], + "5": [ + { + "result": {"id": 5, "metadata": -1, "count": 4}, + "inShape": [ + [17] + ] + } + ], + "280": [ + { + "result": {"id": 280, "metadata": -1, "count": 4}, + "inShape": [ + [5], + [5] + ] + } + ], + "354": [ // cake + { + "result": 354, + "inShape": [ + [335, 335, 335], + [353, 344, 353], + [296, 296, 296] + ], + "outShape": [ + [ 325, 325, 325], + [null, null, null], + [null, null, null] + ] + } + ], + "378": [ // magma cream + { + "result": 378, + "ingredients": [341, 377] + } + ] +} +``` + +## Example implementations + +- [Python](https://gist.github.com/Gjum/9c0491aad1c8ec8d6f38#file-recipe-py) + +## Json schema +The [json schema](https://github.com/PrismarineJS/minecraft-data/blob/master/enums_schemas/recipes_schema.json) automatically +checks whether the recipes.json respects that format, see the [visualization](http://prismarinejs.github.io/minecraft-data/) here. \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/schemas/biomes_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/biomes_schema.json new file mode 100644 index 00000000..e275aa4d --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/biomes_schema.json @@ -0,0 +1,49 @@ +{ + "title": "biomes", + "type": "array", + "uniqueItems": true, + "items" : { + "title": "biome", + "type": "object", + "properties": { + "id": { + "description": "The unique identifier for a biome", + "type": "integer", + "minimum": 0 + }, + "name": { + "description": "The name of a biome", + "type": "string" + }, + "color": { + "description": "The color in a biome", + "type": "integer", + "minimum": 0 + }, + "displayName": { + "description": "The display name of a biome", + "type": "string", + "pattern": "\\S+" + }, + "rainfall": { + "description": "How much rain there is in a biome", + "type": "number", + "minimum": 0, + "maximum": 1 + }, + "temperature": { + "description": "An indicator for the temperature in a biome", + "type": "number", + "minimum": -1, + "maximum": 2 + } + }, + "required": [ + "id", + "name", + "rainfall", + "temperature" + ], + "additionalProperties": false + } +} diff --git a/node_modules/minecraft-data/minecraft-data/schemas/blockCollisionShapes_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/blockCollisionShapes_schema.json new file mode 100644 index 00000000..2c89de62 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/blockCollisionShapes_schema.json @@ -0,0 +1,52 @@ +{ + "title": "blockCollisionShapes", + "type": "object", + "additionalProperties": false, + "required": [ + "blocks", + "shapes" + ], + "properties": { + "blocks": { + "description": "Each block's collision shape id(s).", + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "description": "The shape id shared by all block states of this block.", + "type": "number", + "minimum": 0 + }, + { + "description": "The shape ids of each block state of this block.", + "type": "array", + "minItems": 1, + "items": { + "type": "number", + "minimum": 0 + } + } + ] + } + }, + "shapes": { + "description": "Collision shapes by id, each shape being composed of a list of collision boxes.", + "type": "object", + "additionalProperties": { + "description": "The boxes of this shape.", + "type": "array", + "items": { + "description": "The min/max x/y/z corner coordinates of this box.", + "type": "array", + "minItems": 6, + "maxItems": 6, + "items": { + "type": "number", + "minimum": -0.25, + "maximum": 1.5 + } + } + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/schemas/blockLoot_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/blockLoot_schema.json new file mode 100644 index 00000000..7412b674 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/blockLoot_schema.json @@ -0,0 +1,62 @@ +{ + "title": "blockLoot", + "type": "array", + "uniqueItems": true, + "items": { + "title": "blockLootEntry", + "type": "object", + "properties": { + "block": { + "description": "The name of the block", + "type": "string", + "pattern": "\\S+" + }, + "drops": { + "description": "The list of item drops", + "type": "array", + "uniqueItems": true, + "items": { + "title": "itemDrop", + "type": "object", + "properties": { + "item": { + "description": "The name of the item being dropped", + "type": "string" + }, + "dropChance": { + "description": "The percent chance of the item drop to occur", + "type": "number" + }, + "stackSizeRange": { + "description": "The min/max of number of items in this item drop stack", + "type": "array" + }, + "blockAge": { + "description": "The required age of the block for the item drop to occur", + "type": "number" + }, + "silkTouch": { + "description": "If silk touch is required", + "type": "boolean" + }, + "noSilkTouch": { + "description": "If not having silk touch is required", + "type": "boolean" + } + }, + "required": [ + "item", + "dropChance", + "stackSizeRange" + ], + "additionalProperties": false + } + } + }, + "required": [ + "block", + "drops" + ], + "additionalProperties": false + } +} diff --git a/node_modules/minecraft-data/minecraft-data/schemas/blocks_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/blocks_schema.json new file mode 100644 index 00000000..de133f6b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/blocks_schema.json @@ -0,0 +1,211 @@ +{ + "title": "blocks", + "type": "array", + "uniqueItems": true, + "items": { + "title": "block", + "type": "object", + "properties": { + "id": { + "description": "The unique identifier for a block", + "type": "integer", + "minimum": 0 + }, + "displayName": { + "description": "The display name of a block", + "type": "string" + }, + "name": { + "description": "The name of a block", + "type": "string", + "pattern": "\\S+" + }, + "hardness": { + "description": "Hardness of a block", + "type": [ + "number", + "null" + ], + "minimum": 0 + }, + "stackSize": { + "description": "Stack size for a block", + "type": "integer", + "minimum": 0 + }, + "diggable": { + "description": "true if a block is diggable", + "type": "boolean" + }, + "boundingBox": { + "description": "BoundingBox of a block", + "enum": [ + "block", + "empty" + ] + }, + "material": { + "description": "Material of a block", + "type": "string" + }, + "harvestTools": { + "description": "Using one of these tools is required to harvest a block, without that you get a 3.33x time penalty.", + "type": "object", + "patternProperties": { + "^[0-9]+$": {"type": "boolean"} + } + }, + "variations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "metadata": { + "type": "integer", + "minimum": 0 + }, + "displayName": { + "type": "string" + } + }, + "required": [ + "metadata", + "displayName" + ], + "additionalProperties": false + } + }, + "states": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "description": "The name of the property", + "type": "string" + }, + "type": { + "description": "The type of the property", + "type": "string", + "enum": ["enum", "bool", "int"] + }, + "values": { + "description": "The possible values of the property", + "type": "array" + }, + "num_values": { + "description": "The number of possible values", + "type": "number", + "minimum": 1 + } + }, + "required": [ + "name", + "type", + "num_values" + ], + "additionalProperties": false + } + }, + "drops": { + "type": "array", + "items": { + "oneOf" : [ + { + "type": ["integer"] + }, + { + "type": "object", + "properties": { + "minCount": { + "type": "number", + "minimum": 0, + "description": "minimum number or chance, default : 1" + }, + "maxCount": { + "type": "number", + "minimum": 0, + "description": "maximum number or chance, default : minCount" + }, + "drop": { + "oneOf": [ + { + "type": ["integer"] + }, + { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0 + }, + "metadata": { + "type": "integer", + "minimum": 0 + } + }, + "required": [ + "id", + "metadata" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "drop" + ], + "additionalProperties": false + } + ] + } + }, + "transparent": { + "description": "true if a block is transparent", + "type": "boolean" + }, + "emitLight": { + "description": "Light emitted by that block", + "type": "integer", + "minimum": 0, + "maximum": 15 + }, + "filterLight": { + "description": "Light filtered by that block", + "type": "integer", + "minimum": 0, + "maximum": 15 + }, + "minStateId": { + "description": "Minimum state id", + "type": "integer", + "minimum": 0 + }, + "maxStateId": { + "description": "Maximum state id", + "type": "integer", + "minimum": 0 + }, + "defaultState": { + "description": "Default state id", + "type": "integer", + "minimum": 0 + } + }, + "required": [ + "id", + "displayName", + "name", + "hardness", + "stackSize", + "diggable", + "boundingBox", + "drops", + "transparent", + "emitLight", + "filterLight" + ], + "additionalProperties": false + } +} diff --git a/node_modules/minecraft-data/minecraft-data/schemas/commands_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/commands_schema.json new file mode 100644 index 00000000..618b47ad --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/commands_schema.json @@ -0,0 +1,134 @@ +{ + "$id": "https://example.com/person.schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + + "definitions": { + + "RootNode" : { + "type" : "object", + "properties": { + "type" : {"enum": ["root"]}, + "name" : {"type" : "string"}, + "executable" : {"type" : "boolean"}, + "redirects" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "children" : { + "type" : "array", + "items" : { + "oneOf" : [ + {"$ref": "#/definitions/LiteralNode"}, + {"$ref": "#/definitions/ArgumentNode"} + ] + } + } + }, + "required": ["type","name", "executable","redirects","children"] + }, + + "LiteralNode" : { + "type" : "object", + "properties": { + "type" : {"enum": ["literal"]}, + "name" : {"type" : "string"}, + "executable" : {"type" : "boolean"}, + "redirects" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "children" : { + "type" : "array", + "items" : { + "oneOf" : [ + {"$ref": "#/definitions/LiteralNode"}, + {"$ref": "#/definitions/ArgumentNode"} + ] + } + } + }, + "required": ["type","name", "executable","redirects","children"] + }, + + "ArgumentNode" : { + "type" : "object", + "properties": { + "type" : {"enum": ["argument"]}, + "name" : {"type" : "string"}, + "executable" : {"type" : "boolean"}, + "redirects" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "children" : { + "type" : "array", + "items" : { + "oneOf" : [ + {"$ref": "#/definitions/LiteralNode"}, + {"$ref": "#/definitions/ArgumentNode"} + ] + } + }, + + "parser" : { + "type" : "object", + "properties" : { + "parser" : { + "type" : "string" + }, + "modifier" : { + "type" : ["object","null"] + } + } + } + }, + "required": ["type","name", "executable","redirects","children"] + }, + + "ParserInfo" : { + "type" : "object", + "properties": { + + "parser" : { + "type" : "string" + }, + "modifier" : { + "type" : ["object", "null"] + }, + "examples" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + }, + + "required": ["parser","modifier","examples"] + } + + + }, + + + "type" : "object", + "properties": { + "graph" : { + "$ref": "#/definitions/RootNode" + }, + "parsers" : { + "type" : "array", + "items" : { + "$ref": "#/definitions/ParserInfo" + } + } + }, + "required": ["root","parsers"] + + +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/schemas/effects_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/effects_schema.json new file mode 100644 index 00000000..47be4b92 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/effects_schema.json @@ -0,0 +1,31 @@ +{ + "title": "effects", + "type": "array", + "uniqueItems": true, + "items" : { + "title": "effect", + "type": "object", + "properties": { + "id": { + "description": "The unique identifier for an effect", + "type": "integer", + "minimum": 0 + }, + "displayName": { + "description": "The display name of an effect", + "type": "string" + }, + "name": { + "description": "The name of an effect", + "type": "string", + "pattern": "\\S+" + }, + "type": { + "description": "Whether an effect is positive or negative", + "enum": [ "good","bad" ] + } + }, + "required": ["id", "displayName", "type", "name"], + "additionalProperties":false + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/schemas/enchantments_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/enchantments_schema.json new file mode 100644 index 00000000..9847f9ea --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/enchantments_schema.json @@ -0,0 +1,31 @@ +{ + "title": "enchantments", + "type": "array", + "uniqueItems": true, + "items" : { + "title": "enchantment", + "type": "object", + "properties": { + "id": { + "description": "The unique identifier for an enchantment", + "type": "integer", + "minimum": 0 + }, + "name": { + "description": "The name of an enchantment", + "type": "string", + "pattern": "\\S+" + }, + "displayName": { + "description": "The display name of an enchantment", + "type": "string" + } + }, + "required": [ + "id", + "name", + "displayName" + ], + "additionalProperties": false + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/schemas/entities_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/entities_schema.json new file mode 100644 index 00000000..ca48e1a9 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/entities_schema.json @@ -0,0 +1,61 @@ +{ + "title": "entities", + "type": "array", + "uniqueItems": true, + "items" : { + "title": "entity", + "type": "object", + "properties": { + "id": { + "description": "The unique identifier for an entity", + "type": "integer", + "minimum": 0 + }, + "internalId":{ + "description": "The internal id of an entity : used in eggs metadata for example", + "type": "integer", + "minimum": 0 + }, + "displayName": { + "description": "The display name of an entity", + "type": "string" + }, + "name": { + "description": "The name of an entity", + "type": "string", + "pattern": "\\S+" + }, + "type": { + "description": "The type of an entity", + "type": "string" + }, + "width": { + "description": "The width of the entity", + "type": [ + "number", + "null" + ] + }, + "height": { + "description": "The height of the entity", + "type": [ + "number", + "null" + ] + }, + "category": { + "description": "The category of an entity : a semantic category", + "type": "string" + } + }, + "required": [ + "id", + "displayName", + "name", + "type", + "width", + "height" + ], + "additionalProperties": false + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/schemas/entityLoot_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/entityLoot_schema.json new file mode 100644 index 00000000..fa2a85c2 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/entityLoot_schema.json @@ -0,0 +1,54 @@ +{ + "title": "entityLoot", + "type": "array", + "uniqueItems": true, + "items": { + "title": "entityLootEntry", + "type": "object", + "properties": { + "entity": { + "description": "The name of the entity", + "type": "string", + "pattern": "\\S+" + }, + "drops": { + "description": "The list of item drops", + "type": "array", + "uniqueItems": true, + "items": { + "title": "itemDrop", + "type": "object", + "properties": { + "item": { + "description": "The name of the item being dropped", + "type": "string" + }, + "dropChance": { + "description": "The percent chance of the item drop to occur", + "type": "number" + }, + "stackSizeRange": { + "description": "The min/max of number of items in this item drop stack", + "type": "array" + }, + "playerKill": { + "description": "If a player killer is required", + "type": "boolean" + } + }, + "required": [ + "item", + "dropChance", + "stackSizeRange" + ], + "additionalProperties": false + } + } + }, + "required": [ + "entity", + "drops" + ], + "additionalProperties": false + } +} diff --git a/node_modules/minecraft-data/minecraft-data/schemas/foods_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/foods_schema.json new file mode 100644 index 00000000..777db019 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/foods_schema.json @@ -0,0 +1,71 @@ +{ + "title": "foods", + "type": "array", + "uniqueItems": true, + "items" : { + "title": "food", + "type": "object", + "properties": { + "id": { + "description": "The unique identifier for an item", + "type": "integer", + "minimum": 0 + }, + "displayName": { + "description": "The display name of an item", + "type": "string" + }, + "stackSize": { + "description": "Stack size for an item", + "type": "integer", + "minimum": 0 + }, + "name": { + "description": "The name of an item", + "type": "string", + "pattern": "\\S+" + }, + "foodPoints": { + "description": "The amount of food points the food item replenishes", + "type": "number", + "minimum": 0 + }, + "saturation":{ + "description": "The amount of saturation points the food restores", + "type": "number", + "minimum": 0 + }, + "effectiveQuality":{ + "description": "The effective quality of the food item", + "type": "number", + "minimum": 0 + }, + "saturationRatio":{ + "description": "The saturation ratio of the food item", + "type": "number", + "minimum": 0 + }, + "variations" : { + "type" : "array", + "items": { + "type" : "object", + "properties": { + "metadata":{ + "type":"integer", + "minimum": 0 + }, + "displayName":{ + "type":"string" + } + }, + "required": ["metadata", "displayName"], + "additionalProperties":false + } + } + + }, + "required": ["id", "displayName", "stackSize", "name", "foodPoints", "saturation", "effectiveQuality", "saturationRatio"], + "additionalProperties":false + } + } + \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/schemas/instruments_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/instruments_schema.json new file mode 100644 index 00000000..e387bdbb --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/instruments_schema.json @@ -0,0 +1,26 @@ +{ + "title": "instruments", + "type": "array", + "uniqueItems": true, + "items" : { + "title": "instrument", + "type": "object", + "properties": { + "id": { + "description": "The unique identifier for an instrument", + "type": "integer", + "minimum": 0 + }, + "name": { + "description": "The name of an instrument", + "type": "string", + "pattern": "\\S+" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/schemas/items_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/items_schema.json new file mode 100644 index 00000000..598efc6e --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/items_schema.json @@ -0,0 +1,54 @@ +{ + "title": "items", + "type": "array", + "uniqueItems": true, + "items" : { + "title": "item", + "type": "object", + "properties": { + "id": { + "description": "The unique identifier for an item", + "type": "integer", + "minimum": 0 + }, + "displayName": { + "description": "The display name of an item", + "type": "string" + }, + "stackSize": { + "description": "Stack size for an item", + "type": "integer", + "minimum": 0 + }, + "name": { + "description": "The name of an item", + "type": "string", + "pattern": "\\S+" + }, + "variations" : { + "type" : "array", + "items": { + "type" : "object", + "properties": { + "metadata":{ + "type":"integer", + "minimum": 0 + }, + "displayName":{ + "type":"string" + } + }, + "required": ["metadata", "displayName"], + "additionalProperties":false + } + }, + "durability": { + "description": "The durability of an item", + "type": ["integer", "null"], + "minimum": 0 + } + }, + "required": ["id", "displayName", "stackSize", "name"], + "additionalProperties":false + } +} diff --git a/node_modules/minecraft-data/minecraft-data/schemas/language_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/language_schema.json new file mode 100644 index 00000000..254bff7f --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/language_schema.json @@ -0,0 +1,11 @@ +{ + "title": "en_us", + "type": "object", + "uniqueItems": true, + "patternProperties" : { + "^[a-zA-Z.0-9_-]+$": { + "type": "string" + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/schemas/materials_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/materials_schema.json new file mode 100644 index 00000000..2a7309a6 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/materials_schema.json @@ -0,0 +1,16 @@ +{ + "title": "materials", + "type": "object", + "uniqueItems": true, + "patternProperties" : { + "^[a-z]+$": { + "title": "material", + "type": "object", + "patternProperties": { + "^[0-9]+$": { "type": "number" } + }, + "additionalProperties": false + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/schemas/particles_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/particles_schema.json new file mode 100644 index 00000000..4df41d1d --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/particles_schema.json @@ -0,0 +1,21 @@ +{ + "title": "particles", + "type": "array", + "uniqueItems": true, + "items": { + "title": "particle", + "type": "object", + "properties": { + "id": { + "description": "The unique identifier for a particle", + "type": "integer", + "minimum": 0 + }, + "name": { + "description": "The name of a particle", + "type": "string", + "pattern": "\\S+" + } + } + } +} diff --git a/node_modules/minecraft-data/minecraft-data/schemas/protocolVersions_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/protocolVersions_schema.json new file mode 100644 index 00000000..b95882e4 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/protocolVersions_schema.json @@ -0,0 +1,35 @@ +{ + "title": "protocolVersions", + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "version": { + "description": "The protocol version", + "type": "integer" + }, + "dataVersion": { + "type": "integer" + }, + "minecraftVersion": { + "type": "string", + "pattern": "([0-9]+\\.[0-9]+(\\.[0-9]+)?[a-z]?(-pre[0-9]+)?)|([0-9]{2}w[0-9]{2}[a-z])" + }, + "majorVersion": { + "type": "string", + "pattern": "[0-9]+\\.[0-9]+[a-z]?" + }, + "usesNetty": { + "type": "boolean" + } + }, + "required": [ + "version", + "minecraftVersion", + "majorVersion" + ], + "additionalProperties": false + } +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/schemas/protocol_types/entity_metadata_item.json b/node_modules/minecraft-data/minecraft-data/schemas/protocol_types/entity_metadata_item.json new file mode 100644 index 00000000..c63b5de2 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/protocol_types/entity_metadata_item.json @@ -0,0 +1,15 @@ +{ + "title": "entityMetadataItem", + "type": "array", + "items": [ + { "enum": ["entityMetadataItem"] }, + { + "type": "object", + "properties": { + "compareTo":{"$ref": "definitions#/definitions/contextualizedFieldName"} + }, + "required": ["compareTo"], + "additionalProperties": false + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/schemas/protocol_types/entity_metadata_loop.json b/node_modules/minecraft-data/minecraft-data/schemas/protocol_types/entity_metadata_loop.json new file mode 100644 index 00000000..d505d86b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/protocol_types/entity_metadata_loop.json @@ -0,0 +1,16 @@ +{ + "title": "entityMetadataLoop", + "type": "array", + "items": [ + { "enum": ["entityMetadataLoop"] }, + { + "type": "object", + "properties": { + "endVal": { "type": "number" }, + "type": {"$ref": "dataType"} + }, + "required": ["endVal", "type"], + "additionalProperties": false + } + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/schemas/recipes_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/recipes_schema.json new file mode 100644 index 00000000..9c20443a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/recipes_schema.json @@ -0,0 +1,100 @@ +{ + "title": "recipes", + "description":"A dictionary of quoted numerical item IDs. Each ID maps to a list of recipes. There may be multiple different recipes per item (same ID and metadata). The recipes may not be sorted.", + "definitions": { + "id": { + "type":["integer","null"], + "description":"A single numerical ID or null." + }, + "metadata": {"type":"integer"}, + "count": {"type":"integer"}, + "id_metadata_array":{ + "type":"array", + "title":"[id,metadata]", + "description":"A list of id and metadata. This is preferred if there are many items at once, e.g. in a shape.", + "items":[ + {"$ref" : "#/definitions/id"}, + {"$ref" : "#/definitions/metadata"} + ], + "additionalItems": false + }, + "id_metadata_count_object":{ + "type":"object", + "title":"{id:1,metadata:1,count:1}", + "description":"A dictionary of at least id, optionally metadata and count. This is preferred if there are not many items at once, e.g. result in a recipe.", + "properties":{ + "id":{"$ref" : "#/definitions/id"}, + "metadata":{"$ref" : "#/definitions/metadata"}, + "count":{"$ref" : "#/definitions/count"} + }, + "required": ["id"], + "additionalProperties":false + }, + "recipeItem":{ + "title":"recipe item", + "description":"An item can be represented different ways.", + "oneOf":[ + {"$ref": "#/definitions/id"}, + {"$ref": "#/definitions/id_metadata_array"}, + {"$ref": "#/definitions/id_metadata_count_object"} + ] + }, + "shapeRow":{ + "type": "array", + "minItems": 1, + "maxItems": 3, + "items": {"$ref" : "#/definitions/recipeItem"} + }, + "shape": { + "type": "array", + "description":"A shape is a list of rows, which are lists of items. There must be at least one row with at least one item in it. All rows must have the same length. Empty rows at the beginning or end of a shape may be omitted. Empty colums at the end may also be omitted. When an item can be crafted in a 2x2 grid, the shape may not be larger than 2x2.", + "minItems": 1, + "maxItems": 3, + "items": {"$ref" : "#/definitions/shapeRow"} + }, + "ingredients": { + "type": "array", + "minItems": 1, + "items": {"$ref" : "#/definitions/recipeItem"} + }, + "shaped_recipe": { + "title":"shaped recipe", + "description":"A shaped recipe is a dictionary of result, inShape and optionally outShape", + "type": "object", + "properties": { + "result":{"$ref" : "#/definitions/recipeItem"}, + "inShape":{"$ref" : "#/definitions/shape"}, + "outShape":{"$ref" : "#/definitions/shape"} + }, + "required":["result","inShape"], + "additionalProperties":false + }, + "shapeless_recipe": { + "title":"shapeless recipe", + "description":"A shapeless recipe is a dictionary of result and ingredients", + "type": "object", + "properties": { + "result":{"$ref" : "#/definitions/recipeItem"}, + "ingredients":{"$ref" : "#/definitions/ingredients"} + }, + "required":["result","ingredients"], + "additionalProperties":false + }, + "recipe": { + "oneOf":[ + {"$ref" : "#/definitions/shaped_recipe"}, + {"$ref" : "#/definitions/shapeless_recipe"} + ] + } + }, + "type": "object", + "uniqueItems": true, + "patternProperties" : { + "^[0-9]+$": { + "type": "array", + "uniqueItems": true, + "items": {"$ref" : "#/definitions/recipe"} + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/schemas/version_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/version_schema.json new file mode 100644 index 00000000..851a213b --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/version_schema.json @@ -0,0 +1,20 @@ +{ + "title": "version", + "type": "object", + "uniqueItems": true, + "properties": { + "version": { + "description": "The protocol version", + "type": "integer" + }, + "minecraftVersion": { + "type": "string", + "pattern": "([0-9]+\\.[0-9]+(\\.[0-9]+)?[a-z]?(-pre[0-9]+)?)|([0-9]{2}w[0-9]{2}[a-z])" + }, + "majorVersion": { + "type": "string", + "pattern": "[0-9]+\\.[0-9]+[a-z]?" + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/node_modules/minecraft-data/minecraft-data/schemas/windows_schema.json b/node_modules/minecraft-data/minecraft-data/schemas/windows_schema.json new file mode 100644 index 00000000..c878ce35 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/schemas/windows_schema.json @@ -0,0 +1,78 @@ +{ + "title": "windows", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "title": "window", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "The unique identifier for the window", + "type": "string" + }, + "name": { + "description": "The default displayed name of the window", + "type": "string" + }, + "slots": { + "description": "The slots displayed in the window", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "description": "A slot or slot range in the window", + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "The name of the slot or slot range", + "type": "string" + }, + "index": { + "description": "The position of the slot or begin of the slot range", + "type": "integer", + "minimum": 0 + }, + "size": { + "description": "The size of the slot range", + "type": "integer", + "minimum": 0 + } + }, + "required": [ + "name", + "index" + ] + }, + "additionalItems":false + }, + "properties": { + "description": "Names of the properties of the window", + "type": "array", + "minItems": 1, + "items": { + "type": "string" + }, + "additionalItems":false + }, + "openedWith" : { + "type":"array", + "items":{ + "type":"object", + "properties":{ + "type":{"enum":["item","entity","block"]}, + "id":{"type":"integer"} + }, + "required":["type","id"], + "additionalProperties":false + } + } + }, + "required": [ + "id", + "name" + ] + } +} diff --git a/node_modules/minecraft-data/minecraft-data/tools/js/package.json b/node_modules/minecraft-data/minecraft-data/tools/js/package.json new file mode 100644 index 00000000..2b1fb7df --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/tools/js/package.json @@ -0,0 +1,17 @@ +{ + "name": "minecraft-data-tools", + "private": true, + "description": "minecraft-data tools", + "scripts": { + "test": "mocha --reporter spec", + "lint": "standard", + "fix": "standard --fix", + "pretest": "npm run lint" + }, + "dependencies": { + "ajv": "^6.5.4", + "mocha": "5.2.0", + "protodef-validator": "^1.2.2", + "standard": "^12.0.1" + } +} diff --git a/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_blockitems.js b/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_blockitems.js new file mode 100644 index 00000000..e81df86a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_blockitems.js @@ -0,0 +1,48 @@ +/* eslint-env mocha */ + +const fs = require('fs') +const path = require('path') + +require('./version_iterator')(function (p, versionString) { + describe('audit blockitems ' + versionString, function () { + it('audit blockitems', function () { + const itemsFile = path.join(p, 'items.json') + if (!fs.existsSync(itemsFile)) return + const items = require(itemsFile) + + const blocksFile = path.join(p, 'blocks.json') + if (!fs.existsSync(blocksFile)) return + const blocks = require(blocksFile) + + if (items[0].id === 0) return + + let rewriteItems = false + for (const block of blocks) { + let blockitem = null + for (const item of items) { + if (item.name === block.name) { + blockitem = item + break + } + } + if (!blockitem) { + console.log('Missing item for block ' + block.name) + rewriteItems = true + items.push({ + id: block.id, + displayName: block.displayName, + name: block.name, + stackSize: 64 + }) + } + } + + items.sort((a, b) => { return a.id - b.id }) + + // Automatically fix item data, if necessary + if (rewriteItems) { + fs.writeFileSync(itemsFile, JSON.stringify(items, null, 2)) + } + }) + }) +}) diff --git a/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_blocks.js b/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_blocks.js new file mode 100644 index 00000000..81c98963 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_blocks.js @@ -0,0 +1,58 @@ +/* eslint-env mocha */ + +const fs = require('fs') +const path = require('path') + +// checks for duplicates names and jumps in ids + +require('./version_iterator')(function (p, versionString) { + describe('audit blocks ' + versionString, function () { + it('audit blocks', function () { + let blocks + const pFile = path.join(p, 'blocks.json') + if (fs.existsSync(pFile)) { + blocks = require(pFile) + } else { + console.log('No blocks for version ' + versionString) + } + if (blocks) { + const all = [] + blocks.forEach(block => { + all[block.id] = block + }) + + const displayNames = {} + const names = {} + for (let i = 0; i < all.length; ++i) { + const block = all[i] + if (block) { + if (block.displayName == null) { + console.log('Missing displayName:', i) + } else { + const otherBlock = displayNames[block.displayName] + if (otherBlock) { + console.log('Duplicate displayName:', otherBlock.id, 'and', block.id, + 'both share', block.displayName) + } else { + displayNames[block.displayName] = block + } + } + if (block.name == null) { + console.log('Missing name:', i) + } else { + const otherBlock = names[block.name] + if (otherBlock) { + console.log('Duplicate name:', otherBlock.id, 'and', block.id, + 'both share', block.name) + } else { + names[block.name] = block + } + } + } else { + console.log('Missing:', i) + } + } + } + }) + }) +}) diff --git a/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_items.js b/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_items.js new file mode 100644 index 00000000..fa9810ee --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_items.js @@ -0,0 +1,54 @@ +/* eslint-env mocha */ + +const fs = require('fs') +const path = require('path') + +// checks for duplicates names and jumps in ids + +require('./version_iterator')(function (p, versionString) { + describe('audit items ' + versionString, function () { + it('audit items', function () { + let items + const pFile = path.join(p, 'items.json') + if (fs.existsSync(pFile)) { + items = require(pFile) + } else { + console.log('No items for version ' + versionString) + } + if (items) { + const displayNames = {} + const names = {} + let lastItemId = 0 + items.forEach(item => { + if (item.displayName == null) { + console.log('Missing displayName:', item.id) + } else { + const otherBlock = displayNames[item.displayName] + if (otherBlock) { + console.log('Duplicate displayName:', otherBlock.id, 'and', item.id, + 'both share', item.displayName) + } else { + displayNames[item.displayName] = item + } + } + if (item.name == null) { + console.log('Missing name:', item.id) + } else { + const otherBlock = names[item.name] + if (otherBlock) { + console.log('Duplicate name:', otherBlock.id, 'and', item.id, + 'both share', item.name) + } else { + names[item.name] = item + } + } + const delta = item.id - lastItemId + if (delta !== 1) { + console.log('jump from', lastItemId, 'to', item.id) + } + lastItemId = item.id + }) + } + }) + }) +}) diff --git a/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_recipes.js b/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_recipes.js new file mode 100644 index 00000000..c79ec53a --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_recipes.js @@ -0,0 +1,43 @@ +/* eslint-env mocha */ + +const fs = require('fs') +const path = require('path') + +// counts the number of recipes with a shape, without one and with an outShape + +require('./version_iterator')(function (p, versionString) { + describe('audit recipes ' + versionString, function () { + it('audit recipes', function () { + let recipes + const pFile = path.join(p, 'recipes.json') + if (fs.existsSync(pFile)) { + recipes = require(pFile) + } else { + console.log('No recipes for version ' + versionString) + } + if (recipes) { + let shapeCount = 0 + let shapelessCount = 0 + let outShapeCount = 0 + Object.keys(recipes).forEach(key => { + const list = recipes[key] + for (let i = 0; i < list.length; ++i) { + const recipe = list[i] + if (recipe.inShape != null) { + shapeCount += 1 + } else if (recipe.ingredients != null) { + shapelessCount += 1 + } else { + console.log('inShape or ingredients required:', key) + } + if (recipe.outShape) outShapeCount += 1 + } + }) + + console.log('normal recipes:', shapeCount) + console.log('shapeless recipes:', shapelessCount) + console.log('how many have an outShape:', outShapeCount) + } + }) + }) +}) diff --git a/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_shapes.js b/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_shapes.js new file mode 100644 index 00000000..33b59ac2 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/tools/js/test/audit_shapes.js @@ -0,0 +1,94 @@ +/* eslint-env mocha */ + +const fs = require('fs') +const path = require('path') + +// checks if bounding boxes data in blocks.json is consistent with blockCollisionShapes.json + +require('./version_iterator')(function (p, versionString) { + describe('audit block shapes ' + versionString, function () { + const blockFile = path.join(p, 'blocks.json') + if (!fs.existsSync(blockFile)) { + return // Only audit shape where block exists + } + it('audit bb', function () { + const shapeFile = path.join(p, 'blockCollisionShapes.json') + if (!fs.existsSync(shapeFile)) { + console.log('No collision shapes for version ' + versionString) + return + } + + const blocks = require(blockFile) + const shapes = require(shapeFile) + + const blockByName = {} + + // Check bijection between blocks and shapes + + // Check that every block have a shape + blocks.forEach(block => { + blockByName[block.name] = block + const shape = shapes.blocks[block.name] + if (shape === undefined) { + console.log('missing shape for block: ' + block.name) + } + }) + + // Check that every shape have a block + for (const key of Object.keys(shapes.blocks)) { + const block = blockByName[key] + if (block === undefined) { + console.log('missing block for shape: ' + key) + } + } + + // Check every shape is present + const usedShapes = {} + for (let value of Object.values(shapes.blocks)) { + if (!(value instanceof Array)) value = [value] + for (let shape of value) { + if (shapes.shapes[shape] === undefined) { + console.log('missing shape: ' + shape) + } + usedShapes[shape] = true + } + } + + // Check every shape is used + for (const key of Object.keys(shapes.shapes)) { + if (!usedShapes[key]) { + console.log('unused shape: ' + key) + } + } + + // Check block bounding box is consistent with shape + let rewriteBlocks = false + blocks.forEach(block => { + blockByName[block.name] = block + const shape = shapes.blocks[block.name] + if (shape !== undefined) { + if (block.boundingBox === 'empty') { + if (shape !== 0) { + console.log('Inconsistent BB for block ' + block.name + ' (expected empty got ' + shape + ')') + block.boundingBox = 'block' + rewriteBlocks = true + } + } else if (block.boundingBox === 'block') { + if (shape === 0) { + console.log('Inconsistent BB for block ' + block.name + ' (expected block got ' + shape + ')') + block.boundingBox = 'empty' + rewriteBlocks = true + } + } else { + console.log('Unknown BB: ' + block.boundingBox + ' for block ' + block.name) + } + } + }) + + // Automatically fix block data, if necessary + if (rewriteBlocks) { + fs.writeFileSync(blockFile, JSON.stringify(blocks, null, 2)) + } + }) + }) +}) diff --git a/node_modules/minecraft-data/minecraft-data/tools/js/test/test.js b/node_modules/minecraft-data/minecraft-data/tools/js/test/test.js new file mode 100644 index 00000000..ecb5f5b3 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/tools/js/test/test.js @@ -0,0 +1,59 @@ +/* eslint-env mocha */ + +const assert = require('assert') +const fs = require('fs') +const path = require('path') + +const Ajv = require('ajv') +const v = new Ajv({ verbose: true }) + +const Validator = require('protodef-validator') + +Error.stackTraceLimit = 0 + +const data = ['biomes', 'commands', 'instruments', 'items', 'materials', 'blocks', 'blockCollisionShapes', 'recipes', 'windows', 'entities', 'protocol', 'version', 'effects', 'enchantments', 'language', 'foods', 'particles', 'blockLoot', 'entityLoot'] + +require('./version_iterator')(function (p, versionString) { + describe('minecraft-data schemas ' + versionString, function () { + this.timeout(60 * 1000) + data.forEach(function (dataName) { + let instance + const pFile = path.join(p, dataName + '.json') + if (fs.existsSync(pFile)) { + instance = require(pFile) + } + if (instance) { + it(dataName + '.json is valid', function () { + if (dataName === 'protocol') { + const validator = new Validator() + + validator.addType('entityMetadataItem', require('../../../schemas/protocol_types/entity_metadata_item.json')) + validator.addType('entityMetadataLoop', require('../../../schemas/protocol_types/entity_metadata_loop.json')) + validator.validateProtocol(instance) + } else { + const schema = require('../../../schemas/' + dataName + '_schema.json') + const valid = v.validate(schema, instance) + assert.ok(valid, JSON.stringify(v.errors, null, 2)) + } + }) + } + }) + }) +}) + +const commonData = ['protocolVersions'] +const minecraftTypes = ['pc', 'pe'] + +minecraftTypes.forEach(function (type) { + describe('minecraft-data schemas of common data of ' + type, function () { + this.timeout(60 * 1000) + commonData.forEach(function (dataName) { + it(dataName + '.json is valid', function () { + const instance = require('../../../data/' + type + '/common/' + dataName + '.json') + const schema = require('../../../schemas/' + dataName + '_schema.json') + const valid = v.validate(schema, instance) + assert.ok(valid, JSON.stringify(v.errors, null, 2)) + }) + }) + }) +}) diff --git a/node_modules/minecraft-data/minecraft-data/tools/js/test/version_iterator.js b/node_modules/minecraft-data/minecraft-data/tools/js/test/version_iterator.js new file mode 100644 index 00000000..4e69ba77 --- /dev/null +++ b/node_modules/minecraft-data/minecraft-data/tools/js/test/version_iterator.js @@ -0,0 +1,14 @@ +module.exports = forEach + +const path = require('path') + +const minecraftTypes = ['pc', 'pe'] + +function forEach (f) { + minecraftTypes.forEach(function (type) { + const versions = require('../../../data/' + type + '/common/versions') + versions.forEach(function (version) { + f(path.join(__dirname, '../../../data', type, version), type + ' ' + version) + }) + }) +} diff --git a/node_modules/minecraft-data/package.json b/node_modules/minecraft-data/package.json new file mode 100644 index 00000000..e528aa12 --- /dev/null +++ b/node_modules/minecraft-data/package.json @@ -0,0 +1,76 @@ +{ + "_from": "minecraft-data@^2.70.0", + "_id": "minecraft-data@2.70.2", + "_inBundle": false, + "_integrity": "sha512-BM7I0/pbe4dyl9lgshGf/KtIhq6aHoED+7ByRb68dJgK988UHSmwAde4k3UCX3RMKM3dr+Tprs91wAxC2YuGwQ==", + "_location": "/minecraft-data", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "minecraft-data@^2.70.0", + "name": "minecraft-data", + "escapedName": "minecraft-data", + "rawSpec": "^2.70.0", + "saveSpec": null, + "fetchSpec": "^2.70.0" + }, + "_requiredBy": [ + "/minecraft-protocol", + "/mineflayer", + "/prismarine-chat", + "/prismarine-chunk" + ], + "_resolved": "https://registry.npmjs.org/minecraft-data/-/minecraft-data-2.70.2.tgz", + "_shasum": "83f20c4e9f7689e72abb7dd154446f4424a37b3f", + "_spec": "minecraft-data@^2.70.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\mineflayer", + "author": { + "name": "Romain Beaumont", + "email": "romain.rom1@gmail.com" + }, + "bugs": { + "url": "https://github.com/PrismarineJS/node-minecraft-data/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "Provide easy access to minecraft data in node.js", + "devDependencies": { + "@types/node": "^14.0.14", + "json-schema-to-typescript": "^9.1.0", + "mocha": "^8.0.1", + "require-self": "^0.2.3", + "standard": "^16.0.1", + "typescript": "^4.0.2" + }, + "homepage": "https://github.com/PrismarineJS/node-minecraft-data#readme", + "keywords": [ + "minecraft", + "data", + "node.js" + ], + "license": "MIT", + "main": "index.js", + "name": "minecraft-data", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/PrismarineJS/node-minecraft-data.git" + }, + "scripts": { + "fix": "standard --fix", + "generate:data": "./bin/generate_data.js", + "generate:types": "node typings/generate-typings.js", + "lint": "standard", + "prepublish": "require-self && npm run generate:data && npm run generate:types", + "test": "require-self && npm run generate:data && npm run lint && npm run test:types && mocha", + "test:types": "tsc typings/test-typings && node typings/test-typings.js" + }, + "standard": { + "ignore": [ + "minecraft-data/**/*.js" + ] + }, + "tonicExampleFilename": "example.js", + "version": "2.70.2" +} diff --git a/node_modules/minecraft-data/test/load.js b/node_modules/minecraft-data/test/load.js new file mode 100644 index 00000000..633fffe4 --- /dev/null +++ b/node_modules/minecraft-data/test/load.js @@ -0,0 +1,11 @@ +/* eslint-env mocha */ + +describe('load', () => { + it('loads the lib', () => { + require('minecraft-data') + require('../example') + }) + it('run the example', () => { + require('../example') + }) +}) diff --git a/node_modules/minecraft-data/tsconfig.json b/node_modules/minecraft-data/tsconfig.json new file mode 100644 index 00000000..539a40c2 --- /dev/null +++ b/node_modules/minecraft-data/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": false, + "strictFunctionTypes": true, + "forceConsistentCasingInFileNames": true, + "types": ["node"] + }, + "files": [ + "index.d.ts", + "typings/test-typings.ts" + ] +} \ No newline at end of file diff --git a/node_modules/minecraft-data/typings/generate-typings.js b/node_modules/minecraft-data/typings/generate-typings.js new file mode 100644 index 00000000..c30af3b0 --- /dev/null +++ b/node_modules/minecraft-data/typings/generate-typings.js @@ -0,0 +1,40 @@ +const { compileFromFile } = require('json-schema-to-typescript') +const path = require('path') +const fs = require('fs') + +const templateTypings = fs.readFileSync(path.resolve(__dirname, './index-template.d.ts'), 'utf8') + +// Recursively get path of all files in a directory +function walkSync (dir, filelist = []) { + const files = fs.readdirSync(dir) + files.forEach(function (file) { + if (fs.statSync(path.join(dir, file)).isDirectory()) { + filelist = walkSync(path.join(dir, file), filelist) + } else { + filelist.push(path.join(dir, file)) + } + }) + return filelist +} + +async function generate () { + let typingString = 'declare namespace MinecraftData {\n\n' + typingString += (await Promise.all(walkSync(path.resolve(__dirname, '../minecraft-data/schemas')).map(async (schemaPath) => { + if (schemaPath.includes('protocol_types')) return + return (await compileFromFile(schemaPath, { + bannerComment: '' + // declareExternallyReferenced: false + })).replace(/export /g, '') + }))).join('\n\n').split('\n').map(line => ' ' + line).join('\n') + + typingString += templateTypings.split('\n').map(line => ' ' + line).join('\n') + typingString += '\n}\n\n' // Close namespace + typingString += 'declare function MinecraftData(version: string | number): MinecraftData.IndexedData;\n' + typingString += 'export = MinecraftData' + + fs.writeFileSync(path.resolve(__dirname, '../index.d.ts'), typingString) +} + +generate() + .then(() => console.log('Generated index.d.ts')) + .catch(e => { console.error(e.stack) }) diff --git a/node_modules/minecraft-data/typings/index-template.d.ts b/node_modules/minecraft-data/typings/index-template.d.ts new file mode 100644 index 00000000..8443540a --- /dev/null +++ b/node_modules/minecraft-data/typings/index-template.d.ts @@ -0,0 +1,96 @@ + +export interface VersionSet { + pc: { [version: string]: Version }; + pe: { [version: string]: Version }; +} + +export interface SupportedVersions { + pc: string[]; + pe: string[]; +} + +export interface Schemas { + biomes: any; + blocks: any; + effects: any; + entities: any; + instruments: any; + items: any; + materials: any; + protocol: any; + protocolVersions: any; + recipes: any; + version: any; + windows: any; + foods: any; + blockLoot: any; + entityLoot: any; +} + +export interface IndexedData { + blocks: { [id: number]: Block; }; + blocksByName: { [name: string]: Block; }; + blocksArray: Block[]; + + items: { [id: number]: Item; }; + itemsByName: { [name: string]: Item; }; + itemsArray: Item[]; + + foods: { [id: number]: Food; }; + foodsByName: { [name: string]: Food; }; + foodsArray: Food[]; + foodsByFoodPoints: { [foodPoints: number]: Food; }; + foodsBySaturation: { [saturation: number]: Food; }; + + biomes: { [id: number]: Biome; }; + biomesArray: Biome[]; + + recipes: { [id: number]: Recipe; }; + + instruments: { [id: number]: Instrument; }; + instrumentsArray: Instrument[]; + + materials: { [name: string]: Material }; + + mobs: { [id: number]: Entity; }; + objects: { [id: number]: Entity; }; + entitiesByName: { [name: string]: Entity; }; + entitiesArray: Entity[]; + + enchantments: { [id: number]: Enchantment; }; + enchantmentsByName: { [name: string]: Enchantment; }; + enchantmentsArray: Enchantment[]; + + protocol: any; + protocolComments: any; + + findItemOrBlockById(id: number): Block | Item; + findItemOrBlockByName(name: string): Block | Item; + + windows: { [id: number]: Window; }; + windowsByName: { [name: string]: Window; }; + windowsArray: Window[]; + + effects: { [id: number]: Effect; }; + effectsByName: { [name: string]: Effect; }; + effectsArray: Effect[]; + + version: Version; + + type: string; + + language: { [key: string]: string }; + + blockLoot: { [id: number]: BlockLoot; }; + blockLootByName: { [name: string]: BlockLoot; }; + + entityLoot: { [id: number]: EntityLoot; }; + entityLootByName: { [name: string]: EntityLoot; }; +} + +const versions: Version[]; +const versionsByMinecraftVersion: VersionSet; +const preNettyVersionsByProtocolVersion: VersionSet; +const postNettyVersionsByProtocolVersion: VersionSet; +const supportedVersions: SupportedVersions; +const schemas: Schemas; \ No newline at end of file diff --git a/node_modules/minecraft-data/typings/test-typings.ts b/node_modules/minecraft-data/typings/test-typings.ts new file mode 100644 index 00000000..d58750e0 --- /dev/null +++ b/node_modules/minecraft-data/typings/test-typings.ts @@ -0,0 +1,45 @@ +import getMcData = require('../'); +const mcData = getMcData('1.8.8'); +import { IndexedData } from '../' + +const test: Partial = { + type: 'test' +} + +console.log(mcData.blocksByName['stone']); +console.log(mcData.windows['minecraft:brewing_stand']); +console.log(mcData.version); +console.log(mcData.effectsByName['Haste']); + +console.log(mcData.mobs[62]); +console.log(mcData.objects[62]); + +console.log(getMcData.versionsByMinecraftVersion['pc']['1.8.8']); + +console.log(getMcData.versionsByMinecraftVersion['pc']['15w40b']); + +console.log(getMcData.preNettyVersionsByProtocolVersion['pc'][47]); + +console.log(getMcData.postNettyVersionsByProtocolVersion['pc'][47][0]); + +console.log(getMcData(47).version); + +console.log(getMcData('1.8').version); + +console.log(getMcData('15w40b').version); + +console.log(getMcData('0.30c').version); + +console.log(getMcData('pe_0.14').version); + +console.log(getMcData('pc_1.9').blocksByName['dirt']); +console.log(getMcData('pe_0.14').blocksByName['podzol']); +console.log(getMcData('pe_0.14').type); + +console.log(getMcData('1.8').enchantments[5]); + +console.log(getMcData.supportedVersions.pc); + +console.log(getMcData.schemas.blocks); + +console.log(getMcData('1.12').language['options.sensitivity.max']); diff --git a/node_modules/minecraft-folder-path/.jshintrc b/node_modules/minecraft-folder-path/.jshintrc new file mode 100644 index 00000000..2b6f469f --- /dev/null +++ b/node_modules/minecraft-folder-path/.jshintrc @@ -0,0 +1,3 @@ +{ + "esversion": 6 +} diff --git a/node_modules/minecraft-folder-path/.npmignore b/node_modules/minecraft-folder-path/.npmignore new file mode 100644 index 00000000..30237ea0 --- /dev/null +++ b/node_modules/minecraft-folder-path/.npmignore @@ -0,0 +1,42 @@ + +# Created by https://www.gitignore.io/api/node + +### Node ### +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules +jspm_packages + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history diff --git a/node_modules/minecraft-folder-path/LICENSE b/node_modules/minecraft-folder-path/LICENSE new file mode 100644 index 00000000..c66b072f --- /dev/null +++ b/node_modules/minecraft-folder-path/LICENSE @@ -0,0 +1,7 @@ +Copyright (c) 2016 Simon Meusel + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/minecraft-folder-path/README.md b/node_modules/minecraft-folder-path/README.md new file mode 100644 index 00000000..62e92a33 --- /dev/null +++ b/node_modules/minecraft-folder-path/README.md @@ -0,0 +1,31 @@ +# minecraft-folder-path +📂NPM package for retrieving the minecraft folder path + +## Get the path of minecraft + +```javascript +console.log(require('minecraft-folder-path')); +``` + +## Output + +### On Linux + > ~/.minecraft + +### On Mac + > ~/Library/Application Support/minecraft + +### On Windows + > %appdata%/.minecraft + +#### Note that the path will be absolute, so `~` will be replaced with the actual user dir and `%appdata%` with the actual path + +## License (MIT) + +Copyright (c) 2016 Simon Meusel + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/minecraft-folder-path/index.js b/node_modules/minecraft-folder-path/index.js new file mode 100644 index 00000000..a77e2105 --- /dev/null +++ b/node_modules/minecraft-folder-path/index.js @@ -0,0 +1,21 @@ +const path = require('path'); +const os = require('os'); + +let folder = ""; + +switch (os.type()) { + case 'Darwin': + folder = path.join(os.homedir(), '/Library/Application Support/minecraft'); + break; + + case 'win32': + case 'Windows_NT': + folder = path.join(require('user-settings-dir')(), '.minecraft'); + break; + + default: + folder = path.join(os.homedir(), '.minecraft'); + break; +} + +module.exports = folder; diff --git a/node_modules/minecraft-folder-path/package.json b/node_modules/minecraft-folder-path/package.json new file mode 100644 index 00000000..250b6cbe --- /dev/null +++ b/node_modules/minecraft-folder-path/package.json @@ -0,0 +1,58 @@ +{ + "_from": "minecraft-folder-path@^1.1.0", + "_id": "minecraft-folder-path@1.1.0", + "_inBundle": false, + "_integrity": "sha512-Qee3g4DjXIPdioUtXPXrsrIBb2CqC+dS9LD9yoWVhHEJo+c0xbzndHE0k9KWVJDo+sK3Kb106V0Xvsov9vqQMw==", + "_location": "/minecraft-folder-path", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "minecraft-folder-path@^1.1.0", + "name": "minecraft-folder-path", + "escapedName": "minecraft-folder-path", + "rawSpec": "^1.1.0", + "saveSpec": null, + "fetchSpec": "^1.1.0" + }, + "_requiredBy": [ + "/minecraft-protocol" + ], + "_resolved": "https://registry.npmjs.org/minecraft-folder-path/-/minecraft-folder-path-1.1.0.tgz", + "_shasum": "a5865efac1e529bbaa886668fb08d03f5052bf93", + "_spec": "minecraft-folder-path@^1.1.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\minecraft-protocol", + "author": { + "name": "Simon Meusel" + }, + "bugs": { + "url": "https://github.com/simonmeusel/minecraft-folder-path/issues" + }, + "bundleDependencies": false, + "dependencies": { + "user-settings-dir": "0.0.3" + }, + "deprecated": false, + "description": "NPM package for retrieving the minecraft folder path", + "homepage": "https://github.com/simonmeusel/minecraft-folder-path#readme", + "keywords": [ + "Minecraft", + "Folder", + "Path", + ".minecraft", + "osx", + "windows", + "linux" + ], + "license": "MIT", + "main": "index.js", + "name": "minecraft-folder-path", + "repository": { + "type": "git", + "url": "git+https://github.com/simonmeusel/minecraft-folder-path.git" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "version": "1.1.0" +} diff --git a/node_modules/minecraft-protocol/.github/ISSUE_TEMPLATE/bug_report.md b/node_modules/minecraft-protocol/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..6dfecf5e --- /dev/null +++ b/node_modules/minecraft-protocol/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,29 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: possible bug +assignees: '' + +--- + +[ ] The [FAQ](https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/docs/FAQ.md) doesn't contain a resolution to my issue + +## Versions + - minecraft-protocol: #.#.# + - server: vanilla/spigot/paper #.#.# + - node: #.#.# + +## Detailed description of a problem +A clear and concise description of what the problem is. + +## Current code +```js + +``` + +## Expected behavior +A clear and concise description of what you expected to happen. + +## Additional context +Add any other context about the problem here. diff --git a/node_modules/minecraft-protocol/.github/ISSUE_TEMPLATE/feature_request.md b/node_modules/minecraft-protocol/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..bbcbbe7d --- /dev/null +++ b/node_modules/minecraft-protocol/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/node_modules/minecraft-protocol/.github/workflows/ci.yml b/node_modules/minecraft-protocol/.github/workflows/ci.yml new file mode 100644 index 00000000..52de8634 --- /dev/null +++ b/node_modules/minecraft-protocol/.github/workflows/ci.yml @@ -0,0 +1,34 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [14.x] + mcVersionIndex: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: Setup Java JDK + uses: actions/setup-java@v1.4.3 + with: + java-version: 1.8 + java-package: jre + - run: npm install + - env: + CIRCLE_NODE_INDEX: ${{ matrix.mcVersionIndex }} + CIRCLE_NODE_TOTAL: 10 + run: npm test diff --git a/node_modules/minecraft-protocol/.github/workflows/npm-publish.yml b/node_modules/minecraft-protocol/.github/workflows/npm-publish.yml new file mode 100644 index 00000000..7e90156f --- /dev/null +++ b/node_modules/minecraft-protocol/.github/workflows/npm-publish.yml @@ -0,0 +1,25 @@ +name: npm-publish +on: + push: + branches: + - master # Change this to your default branch +jobs: + npm-publish: + name: npm-publish + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@master + - name: Set up Node.js + uses: actions/setup-node@master + with: + node-version: 10.0.0 + - name: Publish if version has been updated + uses: pascalgn/npm-publish-action@4f4bf159e299f65d21cd1cbd96fc5d53228036df + with: # All of theses inputs are optional + tag_name: "%s" + tag_message: "%s" + commit_pattern: "^Release (\\S+)" + env: # More info about the environment variables in the README + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this as is, it's automatically generated + NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} # You need to set this in your repo settings diff --git a/node_modules/minecraft-protocol/.gitpod.yml b/node_modules/minecraft-protocol/.gitpod.yml new file mode 100644 index 00000000..38fc373b --- /dev/null +++ b/node_modules/minecraft-protocol/.gitpod.yml @@ -0,0 +1,2 @@ +tasks: +- command: npm install diff --git a/node_modules/minecraft-protocol/LICENSE b/node_modules/minecraft-protocol/LICENSE new file mode 100644 index 00000000..5343f9a5 --- /dev/null +++ b/node_modules/minecraft-protocol/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2020, PrismarineJS +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/minecraft-protocol/README.md b/node_modules/minecraft-protocol/README.md new file mode 100644 index 00000000..b72fa7e6 --- /dev/null +++ b/node_modules/minecraft-protocol/README.md @@ -0,0 +1,179 @@ +# minecraft protocol +[![NPM version](https://img.shields.io/npm/v/minecraft-protocol.svg)](https://www.npmjs.com/package/minecraft-protocol) +[![Build Status](https://github.com/PrismarineJS/node-minecraft-protocol/workflows/CI/badge.svg)](https://github.com/PrismarineJS/node-minecraft-protocol/actions?query=workflow%3A%22CI%22) +[![Discord](https://img.shields.io/badge/chat-on%20discord-brightgreen.svg)](https://discord.gg/GsEFRM8) +[![Gitter](https://img.shields.io/badge/chat-on%20gitter-brightgreen.svg)](https://gitter.im/PrismarineJS/general) +[![Irc](https://img.shields.io/badge/chat-on%20irc-brightgreen.svg)](https://irc.gitter.im/) + +[![Try it on gitpod](https://img.shields.io/badge/try-on%20gitpod-brightgreen.svg)](https://gitpod.io/#https://github.com/PrismarineJS/node-minecraft-protocol) + +Parse and serialize minecraft packets, plus authentication and encryption. + +## Features + + * Supports Minecraft PC version 1.7.10, 1.8.8, 1.9 (15w40b, 1.9, 1.9.1-pre2, 1.9.2, 1.9.4), + 1.10 (16w20a, 1.10-pre1, 1.10, 1.10.1, 1.10.2), 1.11 (16w35a, 1.11, 1.11.2), 1.12 (17w15a, 17w18b, 1.12-pre4, 1.12, 1.12.1, 1.12.2), and 1.13 (17w50a, 1.13, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2), 1.14 (1.14, 1.14.1, 1.14.3, 1.14.4) + , 1.15 (1.15, 1.15.1, 1.15.2) and 1.16 (20w13b, 20w14a, 1.16-rc1, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4) + * Parses all packets and emits events with packet fields as JavaScript + objects. + * Send a packet by supplying fields as a JavaScript object. + * Client + - Authenticating and logging in + - Encryption + - Compression + - Both online and offline mode + - Respond to keep-alive packets. + - Ping a server for status + * Server + - Online/Offline mode + - Encryption + - Compression + - Handshake + - Keep-alive checking + - Ping status + * Robust test coverage. + * Optimized for rapidly staying up to date with Minecraft protocol updates. + +Want to contribute on something important for PrismarineJS ? go to https://github.com/PrismarineJS/mineflayer/wiki/Big-Prismarine-projects + +## Third Party Plugins + +node-minecraft-protocol is pluggable. + +* [minecraft-protocol-forge](https://github.com/PrismarineJS/node-minecraft-protocol-forge) add forge support to minecraft-protocol + +## Projects Using node-minecraft-protocol + + * [mineflayer](https://github.com/PrismarineJS/mineflayer/) - create minecraft + bots with a stable, high level API. + * [mcserve](https://github.com/andrewrk/mcserve) - runs and monitors your + minecraft server, provides real-time web interface, allow your users to + create bots. + * [flying-squid](https://github.com/PrismarineJS/flying-squid) create minecraft + servers with a high level API, also a minecraft server by itself. + * [pakkit](https://github.com/Heath123/pakkit) To monitor your packets + * [minecraft-packet-debugger](https://github.com/wvffle/minecraft-packet-debugger) to easily debug your minecraft packets + +## Usage + +### Echo client example + +```js +var mc = require('minecraft-protocol'); +var client = mc.createClient({ + host: "localhost", // optional + port: 25565, // optional + username: "email@example.com", + password: "12345678", + auth: 'mojang' // optional; by default uses mojang, if using a microsoft account, set to 'microsoft' +}); +client.on('chat', function(packet) { + // Listen for chat messages and echo them back. + var jsonMsg = JSON.parse(packet.message); + if(jsonMsg.translate == 'chat.type.announcement' || jsonMsg.translate == 'chat.type.text') { + var username = jsonMsg.with[0].text; + var msg = jsonMsg.with[1]; + if(username === client.username) return; + client.write('chat', {message: msg.text}); + } +}); +``` + +If the server is in offline mode, you may leave out the `password` option. + +### Hello World server example + +```js +var mc = require('minecraft-protocol'); +var server = mc.createServer({ + 'online-mode': true, // optional + encryption: true, // optional + host: '0.0.0.0', // optional + port: 25565, // optional + version: '1.16.3' +}); +const mcData = require('minecraft-data')(server.version) + +server.on('login', function(client) { + + let loginPacket = mcData.loginPacket + + client.write('login', { + entityId: client.id, + isHardcore: false, + gameMode: 0, + previousGameMode: 255, + worldNames: loginPacket.worldNames, + dimensionCodec: loginPacket.dimensionCodec, + dimension: loginPacket.dimension, + worldName: 'minecraft:overworld', + hashedSeed: [0, 0], + maxPlayers: server.maxPlayers, + viewDistance: 10, + reducedDebugInfo: false, + enableRespawnScreen: true, + isDebug: false, + isFlat: false + }); + client.write('position', { + x: 0, + y: 1.62, + z: 0, + yaw: 0, + pitch: 0, + flags: 0x00 + }); + var msg = { + translate: 'chat.type.announcement', + "with": [ + 'Server', + 'Hello, world!' + ] + }; + client.write("chat", { message: JSON.stringify(msg), position: 0, sender: '0' }); +}); +``` + +## Installation + +`npm install minecraft-protocol` + +## Documentation + +See [doc](API.md) +See [faq](FAQ.md) + + +## Testing + +* Ensure your system has the `java` executable in `PATH`. +* `MC_SERVER_JAR_DIR=some/path/to/store/minecraft/server/ MC_USERNAME=email@example.com MC_PASSWORD=password npm test` + +## Debugging + +You can enable some protocol debugging output using `DEBUG` environment variable: + +```bash +DEBUG="minecraft-protocol" node [...] +``` + +On windows : +``` +set DEBUG=minecraft-protocol +node your_script.js +``` + +## Contribute + +Please read https://github.com/PrismarineJS/prismarine-contribute + +## History + +See [history](HISTORY.md) + +## Related + +* [node-rcon](https://github.com/pushrax/node-rcon) can be used to access the rcon server in the minecraft server +* [map-colors][aresmapcolor] can be used to convert any image into a buffer of minecraft compatible colors + +[aresmapcolor]: https://github.com/AresRPG/aresrpg-map-colors diff --git a/node_modules/minecraft-protocol/docs/.nojekyll b/node_modules/minecraft-protocol/docs/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/node_modules/minecraft-protocol/docs/API.md b/node_modules/minecraft-protocol/docs/API.md new file mode 100644 index 00000000..a71628ed --- /dev/null +++ b/node_modules/minecraft-protocol/docs/API.md @@ -0,0 +1,260 @@ +# Documentation + +## mc.createServer(options) + +Returns a `Server` instance and starts listening. All clients will be +automatically logged in and validated against mojang's auth. + +`options` is an object containing the properties : + * port : default to 25565 + * host : default to undefined which means listen to all available ipv4 and ipv6 adresses + (see https://nodejs.org/api/net.html#net_server_listen_port_host_backlog_callback for details) + * kickTimeout : default to `10*1000` (10s), kick client that doesn't answer to keepalive after that time + * checkTimeoutInterval : default to `4*1000` (4s), send keepalive packet at that period + * online-mode : default to true + * beforePing : allow customisation of the answer to ping the server does. + It takes a function with argument response and client, response is the default json response, and client is client who sent a ping. + It can take as third argument a callback. If the callback is passed, the function should pass its result to the callback, if not it should return. + * motd : default to "A Minecraft server" + * maxPlayers : default to 20 + * keepAlive : send keep alive packets : default to true + * version : 1.8 or 1.9 : default to 1.8 + * customPackets (optional) : an object index by version/state/direction/name, see client_custom_packet for an example + * errorHandler : A way to override the default error handler for client errors. A function that takes a Client and an error. + The default kicks the client. + * hideErrors : do not display errors, default to false + * agent : a http agent that can be used to set proxy settings for yggdrasil authentication confirmation (see proxy-agent on npm) + +## mc.Server(version,[customPackets]) + +Create a server instance for `version` of minecraft. + +### server.onlineModeExceptions + +This is a plain old JavaScript object. Add a key with the username you want to +be exempt from online mode or offline mode (whatever mode the server is in). + +Make sure the entries in this object are all lower case. + +### server.clients + +Javascript object mapping a `Client` from a clientId. + +### server.playerCount + +The amount of players currently present on the server. + +### server.maxPlayers + +The maximum amount of players allowed on the server. + +### server.motd + +The motd that is sent to the player when he is pinging the server + +### server.favicon + +A base64 data string representing the favicon that will appear next to the server +on the mojang client's multiplayer list. + +### `connection` event + +Called when a client connects, but before any login has happened. Takes a +`Client` parameter. + +### `login` event + +Called when a client is logged in against server. Takes a `Client` parameter. + + +## mc.createClient(options) + +Returns a `Client` instance and perform login. + +`options` is an object containing the properties : + * username + * port : default to 25565 + * password : can be omitted (if the tokens and profilesFolder are also omitted then it tries to connect in offline mode) + * host : default to localhost + * clientToken : generated if a password is given + * accessToken : generated if a password or microsoft account is given + * auth : the type of auth server to use, either 'microsoft' or 'mojang'. default to 'mojang' + * authServer : auth server, default to https://authserver.mojang.com + * sessionServer : session server, default to https://sessionserver.mojang.com + * keepAlive : send keep alive packets : default to true + * closeTimeout : end the connection after this delay in milliseconds if server doesn't answer to ping, default to `120*1000` + * noPongTimeout : after the server opened the connection, wait for a default of `5*1000` after pinging and answers without the latency + * checkTimeoutInterval : default to `30*1000` (30s), check if keepalive received at that period, disconnect otherwise. + * version : 1.8 or 1.9 or false (to auto-negotiate): default to 1.8 + * customPackets (optional) : an object index by version/state/direction/name, see client_custom_packet for an example + * hideErrors : do not display errors, default to false + * skipValidation : do not try to validate given session, defaults to false + * stream : a stream to use as connection + * connect : a function taking the client as parameter and that should client.setSocket(socket) + and client.emit('connect') when appropriate (see the proxy examples for an example of use) + * agent : a http agent that can be used to set proxy settings for yggdrasil authentication (see proxy-agent on npm) + * profilesFolder : the path to the folder that contains your `launcher_profiles.json`. defaults to your minecraft folder if it exists, otherwise the local directory. set to `false` to disable managing profiles + +## mc.Client(isServer,version,[customPackets]) + +Create a new client, if `isServer` is true then it is a server-side client, otherwise it's a client-side client. +Takes a minecraft `version` as second argument. + +### client.write(name, params) + +write a packet + +### client.end(reason, fullReason) + +Ends the connection with `reason` or `fullReason` +If `fullReason` is not defined, then the `reason` will be used. + +`fullReason` is a JSON object, which represents [chat](https://wiki.vg/Chat) message. + +### client.state + +The internal state that is used to figure out which protocol state we are in during +packet parsing. This is one of the protocol.states. + +### client.isServer + +True if this is a connection going from the server to the client, +False if it is a connection from client to server. + + +### client.socket + +Returns the internal nodejs Socket used to communicate with this client. + +### client.uuid + +A string representation of the client's UUID. Note that UUIDs are unique for +each players, while playerNames, as of 1.7.7, are not unique and can change. + +### client.username + +The user's username. + +### client.session + +The user's session, as returned by the Yggdrasil system. (only client-side) + +### client.profile + +The player's profile, as returned by the Yggdrasil system. (only server-side) + +### client.latency + +The latency of the client, in ms. Updated at each keep alive. + +### `packet` event + +Called with every packet parsed. Takes three params, the JSON data we parsed, +, the packet metadata (name, state) and the initial buffer + +### `raw` event + +Called with every packet, but as a buffer. Takes two params, the buffer +and the packet metadata (name, state) + +### `state` event + +Called when the protocol changes state. Takes the new state and old state as +parameters. + +### `session` event + +Called when user authentication is resolved. Takes session data as parameter. + +### per-packet events + +Check out the [minecraft-data docs](https://prismarinejs.github.io/minecraft-data/?v=1.8&d=protocol) to know the event names and data field names. + + +### client.writeChannel(channel, params) + +write a packet to a plugin channel + + +### client.registerChannel(name, typeDefinition, [custom]) + +Register a channel `name` using the protodef `typeDefinition` and sending the register packet if `custom` is true. + +Start emitting channel events of the given name on the client object. + +### client.unregisterChannel(name, [custom]) + +Unregister a channel `name` and send the unregister packet if `custom` is true. + + +## Not Immediately Obvious Data Type Formats + +Note : almost all data formats can be understood by looking at + [minecraft-data docs](https://prismarinejs.github.io/minecraft-data/?v=1.8&d=protocol) + or [minecraft-data protocol.json](https://github.com/PrismarineJS/minecraft-data/blob/master/data/1.8/protocol.json) + +### entityMetadata + +Value looks like this: + +```js +[ + {type: 1, value: 2, key: 3}, + {type: 2, value: 3, key: 4}, + ... +] +``` + +Where the key is the numeric metadata key and the value is the value of the +correct data type. You can figure out the types [here](http://wiki.vg/Entities#Entity_Metadata_Format) + + +## mc.ping(options, callback) + +Ping a minecraft server and retrieve information about it + +`callback(err, pingResults)` + +`pingResults`: + +## Old version + * `prefix` + * `protocol` + * `version` + * `motd` + * `playerCount` + * `maxPlayers` + +## New version + * `description` + * `players` + * `max` + * `online` + * `sample` + * `id` + * `name` + * `version` + * `name` + * `protocol` + * `favicon` + * `latency` + + +## mc.states + +The minecraft protocol states. + +## mc.supportedVersions + +The supported minecraft versions. + +## mc.createSerializer({ state = states.HANDSHAKING, isServer = false , version}) + +Returns a minecraft protocol [serializer](https://github.com/roblabla/ProtoDef#serializerprotomaintype) for these parameters. + + +## mc.createDeserializer({ state = states.HANDSHAKING, isServer = false, packetsToParse = {"packet": true}, version }) + +Returns a minecraft protocol [deserializer](https://github.com/roblabla/ProtoDef#parserprotomaintype) for these parameters. + + diff --git a/node_modules/minecraft-protocol/docs/CNAME b/node_modules/minecraft-protocol/docs/CNAME new file mode 100644 index 00000000..cb9ce860 --- /dev/null +++ b/node_modules/minecraft-protocol/docs/CNAME @@ -0,0 +1 @@ +node-minecraft-protocol.prismarine.js.org diff --git a/node_modules/minecraft-protocol/docs/FAQ.md b/node_modules/minecraft-protocol/docs/FAQ.md new file mode 100644 index 00000000..eac88a4b --- /dev/null +++ b/node_modules/minecraft-protocol/docs/FAQ.md @@ -0,0 +1,20 @@ +## FAQ + +This Frequently Asked Question document is meant to help people for the most common things. + +### How to hide errors ? + +Use `hideErrors: true` in createClient options +You may also choose to add these listeners : +```js +client.on('error', () => {}) +client.on('end', () => {}) +``` + +### How can I make a proxy with this ? + +* Check out our WIP proxy lib https://github.com/PrismarineJS/prismarine-proxy +* See this example https://github.com/PrismarineJS/node-minecraft-protocol/tree/master/examples/proxy +* Read this issue https://github.com/PrismarineJS/node-minecraft-protocol/issues/712 +* check out https://github.com/Heath123/pakkit +* Check out this app https://github.com/wvffle/minecraft-packet-debugger diff --git a/node_modules/minecraft-protocol/docs/HISTORY.md b/node_modules/minecraft-protocol/docs/HISTORY.md new file mode 100644 index 00000000..e81ca4c5 --- /dev/null +++ b/node_modules/minecraft-protocol/docs/HISTORY.md @@ -0,0 +1,543 @@ +# History + +## 1.21.0 + +* Integrate Authentication for Microsoft Accounts (thanks @Kashalls) + +## 1.20.2 + +* add back token auth now that mineflayer is fixed + +## 1.20.1 + +* Temporarily revert token auth to fix a bug + +## 1.20.0 + +* Add token auth like the vanilla launcher (save the token) (thanks @ph0t0shop) +* Only use fullReason for the disconnect packet (thanks @DeltaEvo) +* End the serializer instead of unpiping streams (thanks @DeltaEvo) + +## 1.19.0 + +* make auto version more robust by giving up after 5s if no answer to ping is given but the version is returned + +## 1.18.0 + +* client.end with full reason (thanks @redcarti) +* allow immediate shutdown when client is ended (thanks @Svebran) + +## 1.17.0 + +* minecraft 1.16.2 and 1.16.3 support + +## 1.16.0 + +* add buffer to packet event + +## 1.15.0 + +* options for ping timeout and custom auth server + +## 1.14.0 + +* electron support using aes-js (thanks @IdanHo) +* prevent ping hanging if server never replies + +## 1.13.0 + +* minecraft 1.16 support + +## 1.12.4 + +* better hide errors + +## 1.12.3 + +* handle SRV record failure better (useful for tcp shield) + +## 1.12.2 + +* make SRV record correctly propagate host to serverHost field (fix for tcp shield) + +## 1.12.1 + +* fix for some servers in tcpdns (thanks @FTOH) + +## 1.12.0 + +* use protodef compiler, making node-minecraft-protocol 10x faster, thanks for this huge improvement @Karang + +## 1.11.0 + +* proxy support in auth (thanks @IdanHo) + +## 1.10.0 + +* 1.15 support +* socket end timeout (thanks @matthi4s) +* add connect and close to types (thanks @ShayBox) + +## 1.9.4 + +* add reference to node types in typescript types + +## 1.9.3 + +* handle both max-players and maxPlayers in createServer options + +## 1.9.2 + +* check whether version is supported in server auto version detection + +## 1.9.1 + +* throw an unsupported protocol version in createServer when asking for an unsupported version + +## 1.9.0 + +* 1.14.1 support + +## 1.8.3 + +* 1.13.2 tested and supported +* add skipValidation flag for authentication thanks @vlakreeh +* fix compression.js (use Z_SYNC_FLUSH) thanks @lefela4 + +## 1.8.2 + +* fix tcp_dns.js checking for SRV lookup + +## 1.8.1 + +* update mcdata : fix loadpath bug for 1.13.1 + +## 1.8.0 + +* 1.13.1 support +* better tests + +## 1.7.0 + +* 1.13 support (thanks @lluiscab) +* fix autoversion bug +* fix srv record resolution + +## 1.6.0 + +* added session data to session event +* add hideError option + +## 1.5.3 + +* make decompression more reliable : print an error if a server send a wrong packet instead of crashing +* change codestyle to standard + +## 1.5.2 + +* fix issue with auth.js +* Increase checkoutTimeoutInterval default to 30s in client + +## 1.5.1 + +* Update autoVersion.js to emit errors instead of throwing +* update mcdata and protodef for fixes : packet_title fix + packet_title fixes + +## 1.5.0 + +* support 17w50a (first 1.13 snapshot supported) +* full packet parser for better parsing errors + +## 1.4.1 + +* lock yggdrasil until issue with 1.1.0 is fixed +* support 1.12.1 + +## 1.4.0 + +* add http and socks proxy example and related fixes +* remove ursa, use node-rsa and node crypto module instead +* modularize createServer +* dynamic version detection for the server + +## 1.3.2 + +* fix autoversion in online mode + +## 1.3.1 + +* improve autoversion support +* fix tests + +## 1.3.0 + +* 1.12 support + +## 1.2.0 + +* some 1.12 snapshots support +* disable validator for protocol (use too much memory and cpu, and already validated in mcdata tests) +* Added a errorHandler option to createServer. + +## 1.1.3 + +* requires node 6 + +## 1.1.2 + +* use last protodef + +## 1.1.1 + +* update to yggdrasil 0.2.0 +* Fix the REGISTER channel type + +## 1.1.0 + +* added plugin channel support (thanks @plexigras) +* add doc for client.end + +## 1.0.1 + +* a small fix to autoversion + +## 1.0.0 + +* update prismarine-nbt +* fixed options.favicon in createServer +* enable strict mode +* update to minecraft-data 2.0.0 +* finally move to a major version + +## 0.19.6 + +* update mcwrap +* use caret in dependencies +* use debug package + +## 0.19.5 + +* check if e.field is defined when completing serializer/deserializer errors + +## 0.19.4 + +* fix spawn_painting in 1.9 + +## 0.19.3 + +* update mcdata again : u8 not byte + +## 0.19.2 + +* some fixes in 1.9 protocol + +## 0.19.1 + +* update mcdata, support 1.9 release + +## 0.19.0 + +* update minecraft-data, support 1.9-pre4 + +## 0.18.3 + +* update protodef and minecraft-data for new protocol schema + +## 0.18.2 + +* update protodef +* custom packets +* fix tab_complete in 1.9 + +## 0.18.1 + +* update protodef dependency + +## 0.18.0 + +* Supports Minecraft version 1.7.10, 1.8.8 and 1.9 (15w40b and 16w05b) +* improve auto version detection + +## 0.17.2 + +* fix readUUID + +## 0.17.1 + +* use correct default timeout value : 30 for the server, 20 for the client +* fix a small dependency error + +## 0.17.0 + +* requires node>=4 +* big refactor of createClient : split in several modules (thanks @deathcap) +* stop using es7 +* make it easy to create client plugins (and create minecraft-protocol-forge) (thanks @deathcap) +* use babel6 +* add dynamic version support in client +* update minecraft-data + +## 0.16.6 + +* fix latency before the first keep alive + +## 0.16.5 + +* initialize latency to 0 + +## 0.16.4 + + * add client.latency (thanks @netraameht) + +## 0.16.3 + + * update protodef : fix bug in switch + * don't write after end and unpipe everything when ending + +## 0.16.2 + + * update protodef version which fix a bug in writeOption + +## 0.16.1 + + * add checkTimeoutInterval to createClient + * parse nbt in all packets (in particular tile_entity_data and update_entity_nbt) + +## 0.16.0 + + * cross version support exposed : version option in createClient and createServer + * expose createSerializer and createDeserializer, createPacketBuffer and parsePacketData are now available in serializer/parser instances (BREAKING CHANGE) + * stop exposing packetFields, packetNames, packetIds, packetStates. That data is available by requiring minecraft-data package (BREAKING CHANGE) + * don't expose version anymore but supportedVersions (BREAKING CHANGE) + * use node-yggdrasil : index.js now doesn't expose yggdrasil, use node-yggdrasil directly if needed (BREAKING CHANGE) + * createServers's beforePing option can now takes an async function + * enable compression by default in createServer + * update ursa to get node4 (and node5) compatibility + * lot of internal changes : using the new general serializing/parsing library ProtoDef + * fix compression in proxy example + * fix gamemode3 in proxy + * generate the same uuidv3 than the vanilla server does in offline mode + +## 0.15.0 + + * UUIDs are now strings instead of arrays. (BREAKING CHANGE) + * Server clients have a new property, client.profile, containing the result + of the yggdrasil authentication + * Protocol.json now lives in minecraft-data + * Don't bubble up errors from client to server. (BREAKING CHANGE). If you want + to catch the client errors, you need to add an error listener on that client. + The old behavior was confusing, error-prone and undocumented ! + * Add keepAlive option to createServer, in order to optionally disable it. + * Lots of low-level changes to allow minecraft-data to be more generic. + * NMP code is able to work with both 1.8 and 1.9 data with the same code, + opening a path for cross-versioning. + * The packet events now take two parameters : `function (packetData, packetMetadata)` + * `packetMetadata` contains the packet name, id and state (more may be added later) + * `packetData` contains the actual data content + +## 0.14.0 + + * Huge rewrite of the internals, using transform streams, which eliminates two + classes of problems from node-minecraft-protocol : + * Uncatchable errors being triggered inside the protocol parser + * Packets ariving out of order, causing several race conditions + * All the attributes that were previously exposed via `mc.protocol` are now directly + attached to the `mc` object, e.g. `mc.protocol.states` => `mc.states`. This is + prone to further changes. + * open_window now reports the entityId correctly for horses + * Properly handle the set_compression packet + * Fix small bug in scoreboard_team and player_info packets causing crashes + * Fix the login implementation logging out people from their launchers. + +## 0.13.4 + + * Added hook to modify server ping (thanks [Brian Schlenker](https://github.com/bschlenk)) + * Exposed the Client class to the browser, after removing node-specific details + * Fixed the examples + * Silenced the "DID NOT PARSE THE WHOLE THING" debug message, and made it print more useful info + * Updated ursa-purejs dependency, which in turned fixed windows version of node-minecraft-protocol. + +## 0.13.3 + + * Fixed readPosition for negative packets (thanks [rom1504](https://github.com/rom1504)) + +## 0.13.2 + + * Fixed particle packet. + * Fixed release. 0.13.1 release was missing an entire folder. + +## 0.13.1 + + * Externalized rsa-wrap library to its own npm module, named ursa-native + * Fixed broken bed-related packets (thanks [rom1504](https://github.com/rom1504)) + +## 0.13.0 + + * Updated protocol version to support 1.8.1 (thanks [wtfaremyinitials](https://github.com/wtfaremyinitials)) + * Lots of changes in how some formats are handled. + * Crypto now defaults to a pure-js library if URSA is missing, making the lib easier to use on windows. + * Fix a bug in yggdrasil handling of sessions, making reloading a session impossible (thanks [Frase](https://github.com/mrfrase3)) + * Set noDelay on the TCP streams, making the bot a lot less laggy. + +## 0.12.3 + + * Fix for/in used over array, causing glitches with augmented Array prototypes (thanks [pelikhan](https://github.com/pelikhan)) + +## 0.12.2 + + * Updated protocol version to support 1.7.10 + * Some bug fixes in parser (thanks [Luke Young](https://github.com/innoying)) + * 'raw' event to catch all raw buffers (thanks [deathcap](https://github.com/deathcap)) + * Misc bug fixes + +## 0.12.1 + + * Updated protocol version to support 1.7.6 + +## 0.12.0 + + * Updated protocol version to support 1.7.2 + * Overhaul the serializer backend to be more general-purpose and future-proof. + * Support listening packets by name (thanks [deathcap](https://github.com/deathcap)) + * Support reading/writing a raw buffer to the socket. + +## 0.11.6 + + * Updated protocol version to support 1.6.4 (thanks [Matt Bell](https://github.com/mappum)) + +## 0.11.5 + + * Fix handling of some conditional fields (thanks [Florian Wesch](https://github.com/dividuum)) + +## 0.11.4 + + * Chat packet string max length fix (thanks [Robin Lambertz](https://github.com/roblabla)) + +## 0.11.3 + + * packet 0x2c: packet writing fixed, UUID format simplified, tests updated + +## 0.11.2 + + * 1.6.2 support fixes: updated 0x2c packets to include `elementList` and added 0x85 *Tile Editor Open* packets + +## 0.11.1 + + * support minecraft protocol 1.6.2 / protocol version 74 (thanks [Matt Bell](https://github.com/mappum)) + +## 0.11.0 + + * support minecraft protocol 1.6.1 / protocol version 73 (thanks [Matt Bell](https://github.com/mappum)) + * *note:* chat packets have a new format (see [the examples](https://github.com/andrewrk/node-minecraft-protocol/tree/master/examples) for how to upgrade). + +## 0.10.1 + + * support minecraft protocol 1.5.2 / protocol version 61 + +## 0.10.0 + + * Added SRV record support when connecting to a server (thanks [Matt Stith](https://github.com/stith)) + * 0x66: `shift` renamed to `mode` and changed from bool to byte + +## 0.9.0 + + * 0xce: create changed from bool to byte (thanks [Robin Lambertz](https://github.com/roblabla)) + +## 0.8.1 + + * fix buffer length checking bug in readSlot() (thanks [Xabier de Zuazo](https://github.com/zuazo)) + * fix C2 calculation bug (fixed #35) (thanks [Xabier de Zuazo](https://github.com/zuazo)) + * fix oob Buffer at readEntityMetadata (fixed #40) (thanks [Xabier de Zuazo](https://github.com/zuazo)) + +## 0.8.0 + + * fix remaining bugs for 1.5.1 protocol (thanks [Xabier de Zuazo](https://github.com/zuazo)) + * writing packets is 6% faster (thanks [Matt Bell](https://github.com/mappum)) + +## 0.7.9 + + * support minecraft protocol 1.5 / protocol version 60 (thanks [Matt Bell](https://github.com/mappum)) + +## 0.7.8 + + * server: ability to change `motd` and `maxPlayers` + * server: fix incorrect `playerCount` + +## 0.7.7 + + * server: fix crash when client disconnects quickly + +## 0.7.6 + + * onlineModeExceptions are all lowercase now. fixes security hole. + +## 0.7.5 + + * server: add `onlineModeExceptions`. When server is in: + - online mode: these usernames are exempt from online mode. + - offline mode: these usernames must authenticate. + +## 0.7.4 + + * server: online mode: don't log in client until username verification + +## 0.7.3 + + * revert removing socket delays to reduce latency as it was causing + errors and test failures. + * server: Client now emits more predictable 'end' events. + +## 0.7.2 + + * fix objectData writer. This fixes sending an 0x17 packet. + +## 0.7.1 + + * remove socket delays to reduce latency. (thanks [Matt Bell](https://github.com/mappum)) + +## 0.7.0 + + * `createServer`: rename `encryption-enabled` option to `encryption` to stay + consistent with the examples. (thanks [Robin Lambertz](https://github.com/roblabla)) + * `createClient`: don't require both `email` and `username`. + - The `username` and `password` arguments are used to authenticate with the + official minecraft servers and determine the case-correct username. If + you have migrated your user account to a mojang login, `username` looks + like an email address. + - If you leave out the `password` argument, `username` is used to connect + directly to the server. In this case you will get kicked if the server is + in online mode. + +## 0.6.7 + +Emit 'error' event instead of crashing when other computers abuse the +minecraft protocol. + +Big thanks to [Robin Lambertz](https://github.com/roblabla) for this release. + +## 0.6.6 + + * ping: fix calling callback twice when server sends kick + * server: send a kick packet when kicking clients. (thanks [Robin Lambertz](https://github.com/roblabla)) + * ping: include latency property (thanks [Jan Buschtöns](https://github.com/silvinci)) + +## 0.6.5 + + * createServer: allow empty options + * server: support online mode and encryption (thanks [Robin Lambertz](https://github.com/roblabla)) + +## 0.6.4 + + * Allow minecraft username instead of mojang email. (thanks [Robin Lambertz](https://github.com/roblabla)) + +## 0.6.3 + + * y values when only 1 byte are always unsigned + +## 0.6.2 + + * 0x0e: change face to unsigned byte + +## 0.6.1 + + * 0x0d: fix incorrectly swapped stance and y diff --git a/node_modules/minecraft-protocol/docs/README.md b/node_modules/minecraft-protocol/docs/README.md new file mode 100644 index 00000000..b72fa7e6 --- /dev/null +++ b/node_modules/minecraft-protocol/docs/README.md @@ -0,0 +1,179 @@ +# minecraft protocol +[![NPM version](https://img.shields.io/npm/v/minecraft-protocol.svg)](https://www.npmjs.com/package/minecraft-protocol) +[![Build Status](https://github.com/PrismarineJS/node-minecraft-protocol/workflows/CI/badge.svg)](https://github.com/PrismarineJS/node-minecraft-protocol/actions?query=workflow%3A%22CI%22) +[![Discord](https://img.shields.io/badge/chat-on%20discord-brightgreen.svg)](https://discord.gg/GsEFRM8) +[![Gitter](https://img.shields.io/badge/chat-on%20gitter-brightgreen.svg)](https://gitter.im/PrismarineJS/general) +[![Irc](https://img.shields.io/badge/chat-on%20irc-brightgreen.svg)](https://irc.gitter.im/) + +[![Try it on gitpod](https://img.shields.io/badge/try-on%20gitpod-brightgreen.svg)](https://gitpod.io/#https://github.com/PrismarineJS/node-minecraft-protocol) + +Parse and serialize minecraft packets, plus authentication and encryption. + +## Features + + * Supports Minecraft PC version 1.7.10, 1.8.8, 1.9 (15w40b, 1.9, 1.9.1-pre2, 1.9.2, 1.9.4), + 1.10 (16w20a, 1.10-pre1, 1.10, 1.10.1, 1.10.2), 1.11 (16w35a, 1.11, 1.11.2), 1.12 (17w15a, 17w18b, 1.12-pre4, 1.12, 1.12.1, 1.12.2), and 1.13 (17w50a, 1.13, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2), 1.14 (1.14, 1.14.1, 1.14.3, 1.14.4) + , 1.15 (1.15, 1.15.1, 1.15.2) and 1.16 (20w13b, 20w14a, 1.16-rc1, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4) + * Parses all packets and emits events with packet fields as JavaScript + objects. + * Send a packet by supplying fields as a JavaScript object. + * Client + - Authenticating and logging in + - Encryption + - Compression + - Both online and offline mode + - Respond to keep-alive packets. + - Ping a server for status + * Server + - Online/Offline mode + - Encryption + - Compression + - Handshake + - Keep-alive checking + - Ping status + * Robust test coverage. + * Optimized for rapidly staying up to date with Minecraft protocol updates. + +Want to contribute on something important for PrismarineJS ? go to https://github.com/PrismarineJS/mineflayer/wiki/Big-Prismarine-projects + +## Third Party Plugins + +node-minecraft-protocol is pluggable. + +* [minecraft-protocol-forge](https://github.com/PrismarineJS/node-minecraft-protocol-forge) add forge support to minecraft-protocol + +## Projects Using node-minecraft-protocol + + * [mineflayer](https://github.com/PrismarineJS/mineflayer/) - create minecraft + bots with a stable, high level API. + * [mcserve](https://github.com/andrewrk/mcserve) - runs and monitors your + minecraft server, provides real-time web interface, allow your users to + create bots. + * [flying-squid](https://github.com/PrismarineJS/flying-squid) create minecraft + servers with a high level API, also a minecraft server by itself. + * [pakkit](https://github.com/Heath123/pakkit) To monitor your packets + * [minecraft-packet-debugger](https://github.com/wvffle/minecraft-packet-debugger) to easily debug your minecraft packets + +## Usage + +### Echo client example + +```js +var mc = require('minecraft-protocol'); +var client = mc.createClient({ + host: "localhost", // optional + port: 25565, // optional + username: "email@example.com", + password: "12345678", + auth: 'mojang' // optional; by default uses mojang, if using a microsoft account, set to 'microsoft' +}); +client.on('chat', function(packet) { + // Listen for chat messages and echo them back. + var jsonMsg = JSON.parse(packet.message); + if(jsonMsg.translate == 'chat.type.announcement' || jsonMsg.translate == 'chat.type.text') { + var username = jsonMsg.with[0].text; + var msg = jsonMsg.with[1]; + if(username === client.username) return; + client.write('chat', {message: msg.text}); + } +}); +``` + +If the server is in offline mode, you may leave out the `password` option. + +### Hello World server example + +```js +var mc = require('minecraft-protocol'); +var server = mc.createServer({ + 'online-mode': true, // optional + encryption: true, // optional + host: '0.0.0.0', // optional + port: 25565, // optional + version: '1.16.3' +}); +const mcData = require('minecraft-data')(server.version) + +server.on('login', function(client) { + + let loginPacket = mcData.loginPacket + + client.write('login', { + entityId: client.id, + isHardcore: false, + gameMode: 0, + previousGameMode: 255, + worldNames: loginPacket.worldNames, + dimensionCodec: loginPacket.dimensionCodec, + dimension: loginPacket.dimension, + worldName: 'minecraft:overworld', + hashedSeed: [0, 0], + maxPlayers: server.maxPlayers, + viewDistance: 10, + reducedDebugInfo: false, + enableRespawnScreen: true, + isDebug: false, + isFlat: false + }); + client.write('position', { + x: 0, + y: 1.62, + z: 0, + yaw: 0, + pitch: 0, + flags: 0x00 + }); + var msg = { + translate: 'chat.type.announcement', + "with": [ + 'Server', + 'Hello, world!' + ] + }; + client.write("chat", { message: JSON.stringify(msg), position: 0, sender: '0' }); +}); +``` + +## Installation + +`npm install minecraft-protocol` + +## Documentation + +See [doc](API.md) +See [faq](FAQ.md) + + +## Testing + +* Ensure your system has the `java` executable in `PATH`. +* `MC_SERVER_JAR_DIR=some/path/to/store/minecraft/server/ MC_USERNAME=email@example.com MC_PASSWORD=password npm test` + +## Debugging + +You can enable some protocol debugging output using `DEBUG` environment variable: + +```bash +DEBUG="minecraft-protocol" node [...] +``` + +On windows : +``` +set DEBUG=minecraft-protocol +node your_script.js +``` + +## Contribute + +Please read https://github.com/PrismarineJS/prismarine-contribute + +## History + +See [history](HISTORY.md) + +## Related + +* [node-rcon](https://github.com/pushrax/node-rcon) can be used to access the rcon server in the minecraft server +* [map-colors][aresmapcolor] can be used to convert any image into a buffer of minecraft compatible colors + +[aresmapcolor]: https://github.com/AresRPG/aresrpg-map-colors diff --git a/node_modules/minecraft-protocol/docs/_sidebar.md b/node_modules/minecraft-protocol/docs/_sidebar.md new file mode 100644 index 00000000..85de633f --- /dev/null +++ b/node_modules/minecraft-protocol/docs/_sidebar.md @@ -0,0 +1,6 @@ +- [Introduction](/) +- [API](API.md) +- [FAQ](FAQ.md) +- [History](HISTORY.md) +- [Protocol documentation](http://minecraft-data.prismarine.js.org/?d=protocol) +- [Wiki.vg](https://wiki.vg/Protocol) \ No newline at end of file diff --git a/node_modules/minecraft-protocol/docs/index.html b/node_modules/minecraft-protocol/docs/index.html new file mode 100644 index 00000000..46d65131 --- /dev/null +++ b/node_modules/minecraft-protocol/docs/index.html @@ -0,0 +1,24 @@ + + + + + node-minecraft-protocol - Parse and serialize minecraft packets, plus authentication and encryption. + + + + + + +
+ + + + \ No newline at end of file diff --git a/node_modules/minecraft-protocol/examples/client_auto/client_auto.js b/node_modules/minecraft-protocol/examples/client_auto/client_auto.js new file mode 100644 index 00000000..8697f0db --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_auto/client_auto.js @@ -0,0 +1,32 @@ +'use strict' + +const mc = require('minecraft-protocol') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node echo.js [] []') + process.exit(1) +} + +const client = mc.createClient({ + version: false, + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'echo', + password: process.argv[5] +}) + +client.on('connect', function () { + console.info('connected') +}) +client.on('disconnect', function (packet) { + console.log('disconnected: ' + packet.reason) +}) +client.on('chat', function (packet) { + const jsonMsg = JSON.parse(packet.message) + if (jsonMsg.translate === 'chat.type.announcement' || jsonMsg.translate === 'chat.type.text') { + const username = jsonMsg.with[0].text + const msg = jsonMsg.with[1] + if (username === client.username) return + client.write('chat', { message: msg }) + } +}) diff --git a/node_modules/minecraft-protocol/examples/client_auto/package.json b/node_modules/minecraft-protocol/examples/client_auto/package.json new file mode 100644 index 00000000..56fcdf26 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_auto/package.json @@ -0,0 +1,8 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "dependencies": { + }, + "description": "A node-minecraft-protocol example" +} diff --git a/node_modules/minecraft-protocol/examples/client_channel/client_channel.js b/node_modules/minecraft-protocol/examples/client_channel/client_channel.js new file mode 100644 index 00000000..5d257e14 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_channel/client_channel.js @@ -0,0 +1,22 @@ +const mc = require('minecraft-protocol') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node client_channel.js [] []') + process.exit(1) +} + +const client = mc.createClient({ + version: false, + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'test', + password: process.argv[5] +}) + +client.registerChannel('MC|Brand', ['string', []]) +client.on('MC|Brand', console.log) + +client.on('login', function () { + client.writeChannel('MC|Brand', 'vanilla') +}) +client.on('error', console.log) diff --git a/node_modules/minecraft-protocol/examples/client_channel/package.json b/node_modules/minecraft-protocol/examples/client_channel/package.json new file mode 100644 index 00000000..56fcdf26 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_channel/package.json @@ -0,0 +1,8 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "dependencies": { + }, + "description": "A node-minecraft-protocol example" +} diff --git a/node_modules/minecraft-protocol/examples/client_chat/client_chat.js b/node_modules/minecraft-protocol/examples/client_chat/client_chat.js new file mode 100644 index 00000000..362a9e0e --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_chat/client_chat.js @@ -0,0 +1,106 @@ +const readline = require('readline') +const mc = require('minecraft-protocol') +const states = mc.states + +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + terminal: false +}) + +function printHelp () { + console.log('usage: node client_chat.js []') +} + +if (process.argv.length < 5) { + console.log('Too few arguments!') + printHelp() + process.exit(1) +} + +process.argv.forEach(function (val) { + if (val === '-h') { + printHelp() + process.exit(0) + } +}) + +let host = process.argv[2] +let port = parseInt(process.argv[3]) +const user = process.argv[4] +const passwd = process.argv[5] + +let ChatMessage + +if (host.indexOf(':') !== -1) { + port = host.substring(host.indexOf(':') + 1) + host = host.substring(0, host.indexOf(':')) +} + +console.log('connecting to ' + host + ':' + port) +console.log('user: ' + user) + +const client = mc.createClient({ + host: host, + port: port, + username: user, + password: passwd +}) + +client.on('kick_disconnect', function (packet) { + console.info('Kicked for ' + packet.reason) + process.exit(1) +}) + +const chats = [] + +client.on('connect', function () { + ChatMessage = require('prismarine-chat')(client.version) + console.info('Successfully connected to ' + host + ':' + port) +}) + +client.on('disconnect', function (packet) { + console.log('disconnected: ' + packet.reason) +}) + +client.on('end', function () { + console.log('Connection lost') + process.exit() +}) + +client.on('error', function (err) { + console.log('Error occured') + console.log(err) + process.exit(1) +}) + +client.on('state', function (newState) { + if (newState === states.PLAY) { + chats.forEach(function (chat) { + client.write('chat', { message: chat }) + }) + } +}) + +rl.on('line', function (line) { + if (line === '') { + return + } else if (line === '/quit') { + console.info('Disconnected from ' + host + ':' + port) + client.end() + return + } else if (line === '/end') { + console.info('Forcibly ended client') + process.exit(0) + } + if (!client.write('chat', { message: line })) { + chats.push(line) + } +}) + +client.on('chat', function (packet) { + if (!ChatMessage) return // Return if ChatMessage is not loaded yet. + const j = JSON.parse(packet.message) + const chat = new ChatMessage(j) + console.info(chat.toAnsi()) +}) diff --git a/node_modules/minecraft-protocol/examples/client_chat/package.json b/node_modules/minecraft-protocol/examples/client_chat/package.json new file mode 100644 index 00000000..fc2d37b5 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_chat/package.json @@ -0,0 +1,9 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "dependencies": { + "prismarine-chat": "^1.0.2" + }, + "description": "A node-minecraft-protocol example" +} diff --git a/node_modules/minecraft-protocol/examples/client_custom_channel/client_custom_channel.js b/node_modules/minecraft-protocol/examples/client_custom_channel/client_custom_channel.js new file mode 100644 index 00000000..6c130dcf --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_custom_channel/client_custom_channel.js @@ -0,0 +1,24 @@ +const mc = require('minecraft-protocol') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node client_channel.js [] []') + process.exit(1) +} + +const client = mc.createClient({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'test', + password: process.argv[5], + version: '1.10' +}) + +client.on('login', onlogin) +client.on('error', console.log) + +function onlogin () { + client.registerChannel('CUSTOM|ChannelOne', ['i32', []], true) + client.registerChannel('CUSTOM|ChannelTwo', ['i32', []], true) + client.writeChannel('CUSTOM|ChannelOne', 4) + client.on('CUSTOM|ChannelTwo', console.log) +} diff --git a/node_modules/minecraft-protocol/examples/client_custom_channel/package.json b/node_modules/minecraft-protocol/examples/client_custom_channel/package.json new file mode 100644 index 00000000..56fcdf26 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_custom_channel/package.json @@ -0,0 +1,8 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "dependencies": { + }, + "description": "A node-minecraft-protocol example" +} diff --git a/node_modules/minecraft-protocol/examples/client_custom_packets/client_custom_packets.js b/node_modules/minecraft-protocol/examples/client_custom_packets/client_custom_packets.js new file mode 100644 index 00000000..3c29d651 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_custom_packets/client_custom_packets.js @@ -0,0 +1,85 @@ +const mc = require('minecraft-protocol') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node echo.js [] []') + process.exit(1) +} + +const customPackets = { + 1.8: { + play: { + toClient: { + types: { + packet_custom_name: [ + 'container', [ + { + name: 'age', + type: 'i64' + }, + { + name: 'time', + type: 'i64' + } + ] + ], + packet: [ + 'container', + [ + { + name: 'name', + type: [ + 'mapper', + { + type: 'varint', + mappings: { + '0x7A': 'custom_name' + } + } + ] + }, + { + name: 'params', + type: [ + 'switch', + { + compareTo: 'name', + fields: { + custom_name: 'packet_custom_name' + } + } + ] + } + ] + ] + } + } + } + } +} + +const client = mc.createClient({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'echo', + password: process.argv[5], + customPackets: customPackets +}) + +client.on('connect', function () { + console.info('connected') +}) +client.on('disconnect', function (packet) { + console.log('disconnected: ' + packet.reason) +}) +client.on('end', function () { + console.log('Connection lost') +}) + +client.on('login', function () { + client.deserializer.write(Buffer.from('7A0000000000909327fffffffffffffc18', 'hex')) + console.log('login') +}) + +client.on('custom_name', function (packet) { + console.log(packet) +}) diff --git a/node_modules/minecraft-protocol/examples/client_custom_packets/package.json b/node_modules/minecraft-protocol/examples/client_custom_packets/package.json new file mode 100644 index 00000000..56fcdf26 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_custom_packets/package.json @@ -0,0 +1,8 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "dependencies": { + }, + "description": "A node-minecraft-protocol example" +} diff --git a/node_modules/minecraft-protocol/examples/client_echo/client_echo.js b/node_modules/minecraft-protocol/examples/client_echo/client_echo.js new file mode 100644 index 00000000..e40ad24b --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_echo/client_echo.js @@ -0,0 +1,35 @@ +const mc = require('minecraft-protocol') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node echo.js []') + process.exit(1) +} + +const client = mc.createClient({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'echo' +}) +client.on('error', function (err) { + console.error(err) +}) + +client.on('connect', function () { + console.info('connected') +}) +client.on('disconnect', function (packet) { + console.log('disconnected: ' + packet.reason) +}) +client.on('end', function () { + console.log('Connection lost') +}) +client.on('chat', function (packet) { + const jsonMsg = JSON.parse(packet.message) + if (jsonMsg.translate === 'chat.type.announcement' || jsonMsg.translate === 'chat.type.text') { + const username = jsonMsg.with[0].text + const msg = jsonMsg.with[1] + if (username === client.username) return + if (msg.text) client.write('chat', { message: msg.text }) + else client.write('chat', { message: msg }) + } +}) diff --git a/node_modules/minecraft-protocol/examples/client_echo/package.json b/node_modules/minecraft-protocol/examples/client_echo/package.json new file mode 100644 index 00000000..56fcdf26 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_echo/package.json @@ -0,0 +1,8 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "dependencies": { + }, + "description": "A node-minecraft-protocol example" +} diff --git a/node_modules/minecraft-protocol/examples/client_electron/README.md b/node_modules/minecraft-protocol/examples/client_electron/README.md new file mode 100644 index 00000000..c31e3780 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_electron/README.md @@ -0,0 +1,4 @@ +# client_electron + +* npm install +* npm start diff --git a/node_modules/minecraft-protocol/examples/client_electron/Window.js b/node_modules/minecraft-protocol/examples/client_electron/Window.js new file mode 100644 index 00000000..563edb56 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_electron/Window.js @@ -0,0 +1,33 @@ +'use strict' + +const { BrowserWindow } = require('electron') + +// default window settings +const defaultProps = { + width: 500, + height: 800, + show: false, + + // update for electron V5+ + webPreferences: { + nodeIntegration: true + } +} + +class Window extends BrowserWindow { + constructor ({ file, ...windowSettings }) { + // calls new BrowserWindow with these props + super({ ...defaultProps, ...windowSettings }) + + // load the html and open devtools + this.loadFile(file) + // this.webContents.openDevTools() + + // gracefully show when ready to prevent flickering + this.once('ready-to-show', () => { + this.show() + }) + } +} + +module.exports = Window diff --git a/node_modules/minecraft-protocol/examples/client_electron/main.js b/node_modules/minecraft-protocol/examples/client_electron/main.js new file mode 100644 index 00000000..a73823bb --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_electron/main.js @@ -0,0 +1,43 @@ +'use strict' + +const path = require('path') +const { app, ipcMain } = require('electron') +const mc = require('minecraft-protocol') + +const Window = require('./Window') + +require('electron-reload')(__dirname) + +function main () { + const mainWindow = new Window({ + file: path.join('renderer', 'index.html') + }) + + mainWindow.once('show', () => { + }) + + ipcMain.on('connect', (e, data) => { + const client = mc.createClient(data) + client.on('login', () => mainWindow.send('content', 'connected')) + let chat = '' + + client.on('chat', function (packet) { + const jsonMsg = JSON.parse(packet.message) + if (jsonMsg.translate === 'chat.type.announcement' || jsonMsg.translate === 'chat.type.text') { + const username = jsonMsg.with[0].text + const msg = jsonMsg.with[1] + chat += `${username} > ${msg}
` + mainWindow.send('content', chat) + } + }) + ipcMain.on('chat', (e, chat2) => { + client.write('chat', { message: chat2 }) + }) + }) +} + +app.on('ready', main) + +app.on('window-all-closed', function () { + app.quit() +}) diff --git a/node_modules/minecraft-protocol/examples/client_electron/package.json b/node_modules/minecraft-protocol/examples/client_electron/package.json new file mode 100644 index 00000000..8187c019 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_electron/package.json @@ -0,0 +1,14 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "description": "A node-minecraft-protocol example", + "main": "main.js", + "scripts": { + "start": "electron ." + }, + "dependencies": { + "electron": "^9.1.2", + "electron-reload": "^1.5.0" + } +} diff --git a/node_modules/minecraft-protocol/examples/client_electron/renderer/index.html b/node_modules/minecraft-protocol/examples/client_electron/renderer/index.html new file mode 100644 index 00000000..4297130e --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_electron/renderer/index.html @@ -0,0 +1,24 @@ + + + + + + client electron + + + + + Host:
+ Port:
+ Username:
+ Password:
+ +
+
Not connected

+ Message:
+
+ + + + + diff --git a/node_modules/minecraft-protocol/examples/client_electron/renderer/index.js b/node_modules/minecraft-protocol/examples/client_electron/renderer/index.js new file mode 100644 index 00000000..f959c698 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_electron/renderer/index.js @@ -0,0 +1,38 @@ +'use strict' + +const { ipcRenderer } = require('electron') + +function setContent (content) { + const contentItem = document.getElementById('content') + + contentItem.innerHTML = content +} + +document.getElementById('connect').addEventListener('click', () => { + setContent('connecting...') + const data = { + host: document.getElementById('host').value, + port: parseInt(document.getElementById('port').value), + username: document.getElementById('username').value, + password: document.getElementById('password').value === '' ? undefined : document.getElementById('password').value + } + ipcRenderer.send('connect', data) +}) + +function chat () { + ipcRenderer.send('chat', document.getElementById('chat').value) + document.getElementById('chat').value = '' +} +document.getElementById('chat').addEventListener('keyup', function onEvent (e) { + if (e.keyCode === 13) { + chat() + } +}) + +document.getElementById('send').addEventListener('click', () => { + chat() +}) + +ipcRenderer.on('content', (event, content) => { + setContent(content) +}) diff --git a/node_modules/minecraft-protocol/examples/client_http_proxy/client_http_proxy.js b/node_modules/minecraft-protocol/examples/client_http_proxy/client_http_proxy.js new file mode 100644 index 00000000..66f5df62 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_http_proxy/client_http_proxy.js @@ -0,0 +1,50 @@ +const mc = require('minecraft-protocol') +const Http = require('http') +const ProxyAgent = require('proxy-agent') + +if (process.argv.length < 6 || process.argv.length > 8) { + console.log('Usage : node client_http_proxy.js [] []') + process.exit(1) +} + +const proxyHost = process.argv[4] +const proxyPort = process.argv[5] + +const client = mc.createClient({ + connect: (client) => { + const req = Http.request({ + host: proxyHost, + port: proxyPort, + method: 'CONNECT', + path: process.argv[2] + ':' + parseInt(process.argv[3]) + }) + req.end() + + req.on('connect', (res, stream) => { + client.setSocket(stream) + client.emit('connect') + }) + }, + agent: new ProxyAgent({ protocol: 'http', host: proxyHost, port: proxyPort }), + username: process.argv[6] ? process.argv[6] : 'echo', + password: process.argv[7] +}) + +client.on('connect', function () { + console.info('connected') +}) +client.on('disconnect', function (packet) { + console.log('disconnected: ' + packet.reason) +}) +client.on('end', function () { + console.log('Connection lost') +}) +client.on('chat', function (packet) { + const jsonMsg = JSON.parse(packet.message) + if (jsonMsg.translate === 'chat.type.announcement' || jsonMsg.translate === 'chat.type.text') { + const username = jsonMsg.with[0].text + const msg = jsonMsg.with[1] + if (username === client.username) return + client.write('chat', { message: msg }) + } +}) diff --git a/node_modules/minecraft-protocol/examples/client_http_proxy/package.json b/node_modules/minecraft-protocol/examples/client_http_proxy/package.json new file mode 100644 index 00000000..bbdc5134 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_http_proxy/package.json @@ -0,0 +1,9 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "dependencies": { + "proxy-agent": "^3.1.1" + }, + "description": "A node-minecraft-protocol example" +} diff --git a/node_modules/minecraft-protocol/examples/client_microsoft_auth/client_microsoft_auth.js b/node_modules/minecraft-protocol/examples/client_microsoft_auth/client_microsoft_auth.js new file mode 100644 index 00000000..fdbae692 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_microsoft_auth/client_microsoft_auth.js @@ -0,0 +1,32 @@ +'use strict' + +const mc = require('minecraft-protocol') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node echo.js [] []') + process.exit(1) +} + +const client = mc.createClient({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4], // your microsoft account email + password: process.argv[5], // your microsoft account password + auth: 'microsoft' // This option must be present and set to 'microsoft' to use Microsoft Account Authentication. Failure to do so will result in yggdrasil throwing invalid account information. +}) + +client.on('connect', function () { + console.info('connected') +}) +client.on('disconnect', function (packet) { + console.log('disconnected: ' + packet.reason) +}) +client.on('chat', function (packet) { + const jsonMsg = JSON.parse(packet.message) + if (jsonMsg.translate === 'chat.type.announcement' || jsonMsg.translate === 'chat.type.text') { + const username = jsonMsg.with[0].text + const msg = jsonMsg.with[1] + if (username === client.username) return + client.write('chat', { message: msg }) + } +}) diff --git a/node_modules/minecraft-protocol/examples/client_microsoft_auth/package.json b/node_modules/minecraft-protocol/examples/client_microsoft_auth/package.json new file mode 100644 index 00000000..56fcdf26 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_microsoft_auth/package.json @@ -0,0 +1,8 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "dependencies": { + }, + "description": "A node-minecraft-protocol example" +} diff --git a/node_modules/minecraft-protocol/examples/client_socks_proxy/client_socks_proxy.js b/node_modules/minecraft-protocol/examples/client_socks_proxy/client_socks_proxy.js new file mode 100644 index 00000000..e17c9afc --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_socks_proxy/client_socks_proxy.js @@ -0,0 +1,58 @@ +const mc = require('minecraft-protocol') +const socks = require('socks').SocksClient +const ProxyAgent = require('proxy-agent') + +if (process.argv.length < 6 || process.argv.length > 8) { + console.log('Usage : node client_socks_proxy.js [] []') + process.exit(1) +} + +const proxyHost = process.argv[4] +const proxyPort = process.argv[5] + +const client = mc.createClient({ + connect: client => { + socks.createConnection({ + proxy: { + host: proxyHost, + port: parseInt(proxyPort), + type: 5 + }, + command: 'connect', + destination: { + host: process.argv[2], + port: parseInt(process.argv[3]) + } + }, (err, info) => { + if (err) { + console.log(err) + return + } + + client.setSocket(info.socket) + client.emit('connect') + }) + }, + agent: new ProxyAgent({ protocol: 'socks5:', host: proxyHost, port: proxyPort }), + username: process.argv[6] ? process.argv[6] : 'echo', + password: process.argv[7] +}) + +client.on('connect', function () { + console.info('connected') +}) +client.on('disconnect', function (packet) { + console.log('disconnected: ' + packet.reason) +}) +client.on('end', function () { + console.log('Connection lost') +}) +client.on('chat', function (packet) { + const jsonMsg = JSON.parse(packet.message) + if (jsonMsg.translate === 'chat.type.announcement' || jsonMsg.translate === 'chat.type.text') { + const username = jsonMsg.with[0].text + const msg = jsonMsg.with[1] + if (username === client.username) return + client.write('chat', { message: msg }) + } +}) diff --git a/node_modules/minecraft-protocol/examples/client_socks_proxy/package.json b/node_modules/minecraft-protocol/examples/client_socks_proxy/package.json new file mode 100644 index 00000000..0f4f54f8 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/client_socks_proxy/package.json @@ -0,0 +1,10 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "dependencies": { + "proxy-agent": "^3.1.1", + "socks": "^2.3.3" + }, + "description": "A node-minecraft-protocol example" +} diff --git a/node_modules/minecraft-protocol/examples/proxy/README.md b/node_modules/minecraft-protocol/examples/proxy/README.md new file mode 100644 index 00000000..7b0926ef --- /dev/null +++ b/node_modules/minecraft-protocol/examples/proxy/README.md @@ -0,0 +1,30 @@ +# node-minecraft-protocol proxy + +A proxy, create a nmp server, if you connect to that server with a client, it creates a nmp client which connect to the server you initially provided. + +## Usage + +1. start server locally +2. start client locally + +(you can download them both using `npm install -g minecraft-wrap` and `downloadMinecraft` command) + +3. Start the proxy + +``` +usage: node proxy.js [...] +options: + --dump name + print to stdout messages with the specified name. + --dump-all + print to stdout all messages, except those specified with -x. + -x name + do not print messages with this name. + name + a packet name as defined in protocol.json +examples: + node proxy.js --dump-all -x keep_alive -x update_time -x entity_velocity -x rel_entity_move -x entity_look -x entity_move_look -x entity_teleport -x entity_head_rotation -x position localhost 1.8 + print all messages except for some of the most prolific. + node examples/proxy.js --dump open_window --dump close_window --dump set_slot --dump window_items --dump craft_progress_bar --dump transaction --dump close_window --dump window_click --dump set_creative_slot --dump enchant_item localhost 1.8 + print messages relating to inventory management. +``` diff --git a/node_modules/minecraft-protocol/examples/proxy/package.json b/node_modules/minecraft-protocol/examples/proxy/package.json new file mode 100644 index 00000000..15e86aa0 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/proxy/package.json @@ -0,0 +1,9 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "dependencies": { + "buffer-equal": "0.0.2" + }, + "description": "A node-minecraft-protocol example" +} diff --git a/node_modules/minecraft-protocol/examples/proxy/proxy.js b/node_modules/minecraft-protocol/examples/proxy/proxy.js new file mode 100644 index 00000000..499c4a5f --- /dev/null +++ b/node_modules/minecraft-protocol/examples/proxy/proxy.js @@ -0,0 +1,179 @@ +const mc = require('minecraft-protocol') + +const states = mc.states +function printHelpAndExit (exitCode) { + console.log('usage: node proxy.js [...] ') + console.log('options:') + console.log(' --dump name') + console.log(' print to stdout messages with the specified name.') + console.log(' --dump-all') + console.log(' print to stdout all messages, except those specified with -x.') + console.log(' -x name') + console.log(' do not print messages with this name.') + console.log(' name') + console.log(' a packet name as defined in protocol.json') + console.log('examples:') + console.log(' node proxy.js --dump-all -x keep_alive -x update_time -x entity_velocity -x rel_entity_move -x entity_look -x entity_move_look -x entity_teleport -x entity_head_rotation -x position localhost 1.8') + console.log(' print all messages except for some of the most prolific.') + console.log(' node examples/proxy.js --dump open_window --dump close_window --dump set_slot --dump window_items --dump craft_progress_bar --dump transaction --dump close_window --dump window_click --dump set_creative_slot --dump enchant_item localhost 1.8') + console.log(' print messages relating to inventory management.') + + process.exit(exitCode) +} + +if (process.argv.length < 4) { + console.log('Too few arguments!') + printHelpAndExit(1) +} + +process.argv.forEach(function (val) { + if (val === '-h') { + printHelpAndExit(0) + } +}) + +const args = process.argv.slice(2) +let host +let port = 25565 +let version + +let printAllNames = false +const printNameWhitelist = {} +const printNameBlacklist = {}; +(function () { + let i = 0 + for (i = 0; i < args.length; i++) { + const option = args[i] + if (!/^-/.test(option)) break + if (option === '--dump-all') { + printAllNames = true + continue + } + i++ + const name = args[i] + if (option === '--dump') { + printNameWhitelist[name] = 'io' + } else if (option === '-x') { + printNameBlacklist[name] = 'io' + } else { + printHelpAndExit(1) + } + } + if (!(i + 2 <= args.length && args.length <= i + 4)) printHelpAndExit(1) + host = args[i++] + version = args[i++] +})() + +if (host.indexOf(':') !== -1) { + port = host.substring(host.indexOf(':') + 1) + host = host.substring(0, host.indexOf(':')) +} + +const srv = mc.createServer({ + 'online-mode': false, + port: 25566, + keepAlive: false, + version: version +}) +srv.on('login', function (client) { + const addr = client.socket.remoteAddress + console.log('Incoming connection', '(' + addr + ')') + let endedClient = false + let endedTargetClient = false + client.on('end', function () { + endedClient = true + console.log('Connection closed by client', '(' + addr + ')') + if (!endedTargetClient) { targetClient.end('End') } + }) + client.on('error', function (err) { + endedClient = true + console.log('Connection error by client', '(' + addr + ')') + console.log(err.stack) + if (!endedTargetClient) { targetClient.end('Error') } + }) + const targetClient = mc.createClient({ + host: host, + port: port, + username: client.username, + keepAlive: false, + version: version + }) + client.on('packet', function (data, meta) { + if (targetClient.state === states.PLAY && meta.state === states.PLAY) { + if (shouldDump(meta.name, 'o')) { + console.log('client->server:', + client.state + ' ' + meta.name + ' :', + JSON.stringify(data)) + } + if (!endedTargetClient) { targetClient.write(meta.name, data) } + } + }) + targetClient.on('packet', function (data, meta) { + if (meta.state === states.PLAY && client.state === states.PLAY) { + if (shouldDump(meta.name, 'i')) { + console.log('client<-server:', + targetClient.state + '.' + meta.name + ' :' + + JSON.stringify(data)) + } + if (!endedClient) { + client.write(meta.name, data) + if (meta.name === 'set_compression') { + client.compressionThreshold = data.threshold + } // Set compression + } + } + }) + const bufferEqual = require('buffer-equal') + targetClient.on('raw', function (buffer, meta) { + if (client.state !== states.PLAY || meta.state !== states.PLAY) { return } + const packetData = targetClient.deserializer.parsePacketBuffer(buffer).data.params + const packetBuff = client.serializer.createPacketBuffer({ name: meta.name, params: packetData }) + if (!bufferEqual(buffer, packetBuff)) { + console.log('client<-server: Error in packet ' + meta.state + '.' + meta.name) + console.log('received buffer', buffer.toString('hex')) + console.log('produced buffer', packetBuff.toString('hex')) + console.log('received length', buffer.length) + console.log('produced length', packetBuff.length) + } + /* if (client.state === states.PLAY && brokenPackets.indexOf(packetId.value) !=== -1) + { + console.log(`client<-server: raw packet); + console.log(packetData); + if (!endedClient) + client.writeRaw(buffer); + } */ + }) + client.on('raw', function (buffer, meta) { + if (meta.state !== states.PLAY || targetClient.state !== states.PLAY) { return } + const packetData = client.deserializer.parsePacketBuffer(buffer).data.params + const packetBuff = targetClient.serializer.createPacketBuffer({ name: meta.name, params: packetData }) + if (!bufferEqual(buffer, packetBuff)) { + console.log('client->server: Error in packet ' + meta.state + '.' + meta.name) + console.log('received buffer', buffer.toString('hex')) + console.log('produced buffer', packetBuff.toString('hex')) + console.log('received length', buffer.length) + console.log('produced length', packetBuff.length) + } + }) + targetClient.on('end', function () { + endedTargetClient = true + console.log('Connection closed by server', '(' + addr + ')') + if (!endedClient) { client.end('End') } + }) + targetClient.on('error', function (err) { + endedTargetClient = true + console.log('Connection error by server', '(' + addr + ') ', err) + console.log(err.stack) + if (!endedClient) { client.end('Error') } + }) +}) + +function shouldDump (name, direction) { + if (matches(printNameBlacklist[name])) return false + if (printAllNames) return true + return matches(printNameWhitelist[name]) + + function matches (result) { + return result !== undefined && result !== null && result.indexOf(direction) !== -1 + } +} diff --git a/node_modules/minecraft-protocol/examples/server/package.json b/node_modules/minecraft-protocol/examples/server/package.json new file mode 100644 index 00000000..56fcdf26 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/server/package.json @@ -0,0 +1,8 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "dependencies": { + }, + "description": "A node-minecraft-protocol example" +} diff --git a/node_modules/minecraft-protocol/examples/server/server.js b/node_modules/minecraft-protocol/examples/server/server.js new file mode 100644 index 00000000..1475dc00 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/server/server.js @@ -0,0 +1,89 @@ +const mc = require('minecraft-protocol') + +const options = { + motd: 'Vox Industries', + 'max-players': 127, + port: 25565, + 'online-mode': false +} + +const server = mc.createServer(options) +const mcData = require('minecraft-data')(server.version) +const loginPacket = mcData.loginPacket + +server.on('login', function (client) { + broadcast(client.username + ' joined the game.') + const addr = client.socket.remoteAddress + ':' + client.socket.remotePort + console.log(client.username + ' connected', '(' + addr + ')') + + client.on('end', function () { + broadcast(client.username + ' left the game.', client) + console.log(client.username + ' disconnected', '(' + addr + ')') + }) + + // send init data so client will start rendering world + client.write('login', { + entityId: client.id, + isHardcore: false, + gameMode: 0, + previousGameMode: 255, + worldNames: loginPacket.worldNames, + dimensionCodec: loginPacket.dimensionCodec, + dimension: loginPacket.dimension, + worldName: 'minecraft:overworld', + hashedSeed: [0, 0], + maxPlayers: server.maxPlayers, + viewDistance: 10, + reducedDebugInfo: false, + enableRespawnScreen: true, + isDebug: false, + isFlat: false + }) + client.write('position', { + x: 0, + y: 256, + z: 0, + yaw: 0, + pitch: 0, + flags: 0x00 + }) + + client.on('chat', function (data) { + const message = '<' + client.username + '>' + ' ' + data.message + broadcast(message, null, client.username) + console.log(message) + }) +}) + +server.on('error', function (error) { + console.log('Error:', error) +}) + +server.on('listening', function () { + console.log('Server listening on port', server.socketServer.address().port) +}) + +function broadcast (message, exclude, username) { + let client + const translate = username ? 'chat.type.announcement' : 'chat.type.text' + username = username || 'Server' + for (const clientId in server.clients) { + if (server.clients[clientId] === undefined) continue + + client = server.clients[clientId] + if (client !== exclude) { + const msg = { + translate: translate, + with: [ + username, + message + ] + } + client.write('chat', { + message: JSON.stringify(msg), + position: 0, + sender: '0' + }) + } + } +} diff --git a/node_modules/minecraft-protocol/examples/server_channel/package.json b/node_modules/minecraft-protocol/examples/server_channel/package.json new file mode 100644 index 00000000..56fcdf26 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/server_channel/package.json @@ -0,0 +1,8 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "dependencies": { + }, + "description": "A node-minecraft-protocol example" +} diff --git a/node_modules/minecraft-protocol/examples/server_channel/server_channel.js b/node_modules/minecraft-protocol/examples/server_channel/server_channel.js new file mode 100644 index 00000000..1a549582 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/server_channel/server_channel.js @@ -0,0 +1,43 @@ +const mc = require('minecraft-protocol') + +const server = mc.createServer({ + 'online-mode': false, // optional + encryption: false, // optional + host: '0.0.0.0', // optional + port: 25565, // optional + version: '1.16' +}) +const mcData = require('minecraft-data')(server.version) +const loginPacket = mcData.loginPacket + +server.on('login', function (client) { + client.registerChannel('MC|Brand', ['string', []]) + client.on('MC|Brand', console.log) + + client.write('login', { + entityId: client.id, + isHardcore: false, + gameMode: 0, + previousGameMode: 255, + worldNames: loginPacket.worldNames, + dimensionCodec: loginPacket.dimensionCodec, + dimension: loginPacket.dimension, + worldName: 'minecraft:overworld', + hashedSeed: [0, 0], + maxPlayers: server.maxPlayers, + viewDistance: 10, + reducedDebugInfo: false, + enableRespawnScreen: true, + isDebug: false, + isFlat: false + }) + client.write('position', { + x: 0, + y: 1.62, + z: 0, + yaw: 0, + pitch: 0, + flags: 0x00 + }) + client.writeChannel('MC|Brand', 'vanilla') +}) diff --git a/node_modules/minecraft-protocol/examples/server_custom_channel/package.json b/node_modules/minecraft-protocol/examples/server_custom_channel/package.json new file mode 100644 index 00000000..56fcdf26 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/server_custom_channel/package.json @@ -0,0 +1,8 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "dependencies": { + }, + "description": "A node-minecraft-protocol example" +} diff --git a/node_modules/minecraft-protocol/examples/server_custom_channel/server_custom_channel.js b/node_modules/minecraft-protocol/examples/server_custom_channel/server_custom_channel.js new file mode 100644 index 00000000..49acbe0b --- /dev/null +++ b/node_modules/minecraft-protocol/examples/server_custom_channel/server_custom_channel.js @@ -0,0 +1,43 @@ +const mc = require('minecraft-protocol') + +const server = mc.createServer({ + 'online-mode': false, // optional + encryption: false, // optional + host: '0.0.0.0', // optional + port: 25565, // optional + version: '1.16' +}) +const mcData = require('minecraft-data')(server.version) +const loginPacket = mcData.loginPacket + +server.on('login', function (client) { + client.write('login', { + entityId: client.id, + isHardcore: false, + gameMode: 0, + previousGameMode: 255, + worldNames: loginPacket.worldNames, + dimensionCodec: loginPacket.dimensionCodec, + dimension: loginPacket.dimension, + worldName: 'minecraft:overworld', + hashedSeed: [0, 0], + maxPlayers: server.maxPlayers, + viewDistance: 10, + reducedDebugInfo: false, + enableRespawnScreen: true, + isDebug: false, + isFlat: false + }) + client.registerChannel('CUSTOM|ChannelOne', ['i32', []], true) + client.registerChannel('CUSTOM|ChannelTwo', ['i32', []], true) + client.write('position', { + x: 0, + y: 1.62, + z: 0, + yaw: 0, + pitch: 0, + flags: 0x00 + }) + client.writeChannel('CUSTOM|ChannelTwo', 10) + client.on('CUSTOM|ChannelOne', console.log) +}) diff --git a/node_modules/minecraft-protocol/examples/server_helloworld/package.json b/node_modules/minecraft-protocol/examples/server_helloworld/package.json new file mode 100644 index 00000000..56fcdf26 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/server_helloworld/package.json @@ -0,0 +1,8 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "0.0.0", + "private": true, + "dependencies": { + }, + "description": "A node-minecraft-protocol example" +} diff --git a/node_modules/minecraft-protocol/examples/server_helloworld/server_helloworld.js b/node_modules/minecraft-protocol/examples/server_helloworld/server_helloworld.js new file mode 100644 index 00000000..fc39240d --- /dev/null +++ b/node_modules/minecraft-protocol/examples/server_helloworld/server_helloworld.js @@ -0,0 +1,68 @@ +const mc = require('minecraft-protocol') + +const options = { + 'online-mode': true, + version: '1.16' +} + +const server = mc.createServer(options) +const mcData = require('minecraft-data')(server.version) +const loginPacket = mcData.loginPacket + +server.on('login', function (client) { + const addr = client.socket.remoteAddress + console.log('Incoming connection', '(' + addr + ')') + + client.on('end', function () { + console.log('Connection closed', '(' + addr + ')') + }) + + client.on('error', function (error) { + console.log('Error:', error) + }) + + // send init data so client will start rendering world + client.write('login', { + entityId: client.id, + isHardcore: false, + gameMode: 0, + previousGameMode: 255, + worldNames: loginPacket.worldNames, + dimensionCodec: loginPacket.dimensionCodec, + dimension: loginPacket.dimension, + worldName: 'minecraft:overworld', + hashedSeed: [0, 0], + maxPlayers: server.maxPlayers, + viewDistance: 10, + reducedDebugInfo: false, + enableRespawnScreen: true, + isDebug: false, + isFlat: false + }) + + client.write('position', { + x: 0, + y: 1.62, + z: 0, + yaw: 0, + pitch: 0, + flags: 0x00 + }) + + const msg = { + translate: 'chat.type.announcement', + with: [ + 'Server', + 'Hello, world!' + ] + } + client.write('chat', { message: JSON.stringify(msg), position: 0, sender: '0' }) +}) + +server.on('error', function (error) { + console.log('Error:', error) +}) + +server.on('listening', function () { + console.log('Server listening on port', server.socketServer.address().port) +}) diff --git a/node_modules/minecraft-protocol/examples/server_world/mc.js b/node_modules/minecraft-protocol/examples/server_world/mc.js new file mode 100644 index 00000000..fb336df0 --- /dev/null +++ b/node_modules/minecraft-protocol/examples/server_world/mc.js @@ -0,0 +1,67 @@ +const mc = require('minecraft-protocol') +const Chunk = require('prismarine-chunk')('1.16.3') +const Vec3 = require('vec3') +const server = mc.createServer({ + 'online-mode': true, + encryption: true, + host: '0.0.0.0', + port: 25565, + version: '1.16' +}) +const mcData = require('minecraft-data')(server.version) +const loginPacket = mcData.loginPacket +const chunk = new Chunk() + +for (let x = 0; x < 16; x++) { + for (let z = 0; z < 16; z++) { + chunk.setBlockType(new Vec3(x, 100, z), mcData.blocksByName.grass_block.id) + chunk.setBlockData(new Vec3(x, 100, z), 1) + for (let y = 0; y < 256; y++) { + chunk.setSkyLight(new Vec3(x, y, z), 15) + } + } +} + +server.on('login', function (client) { + client.write('login', { + entityId: client.id, + isHardcore: false, + gameMode: 0, + previousGameMode: 255, + worldNames: loginPacket.worldNames, + dimensionCodec: loginPacket.dimensionCodec, + dimension: loginPacket.dimension, + worldName: 'minecraft:overworld', + hashedSeed: [0, 0], + maxPlayers: server.maxPlayers, + viewDistance: 10, + reducedDebugInfo: false, + enableRespawnScreen: true, + isDebug: false, + isFlat: false + }) + client.write('map_chunk', { + x: 0, + z: 0, + groundUp: true, + biomes: chunk.dumpBiomes !== undefined ? chunk.dumpBiomes() : undefined, + heightmaps: { + type: 'compound', + name: '', + value: { + MOTION_BLOCKING: { type: 'longArray', value: new Array(36).fill([0, 0]) } + } + }, // send fake heightmap + bitMap: chunk.getMask(), + chunkData: chunk.dump(), + blockEntities: [] + }) + client.write('position', { + x: 15, + y: 101, + z: 15, + yaw: 137, + pitch: 0, + flags: 0x00 + }) +}) diff --git a/node_modules/minecraft-protocol/examples/server_world/package.json b/node_modules/minecraft-protocol/examples/server_world/package.json new file mode 100644 index 00000000..b67be43e --- /dev/null +++ b/node_modules/minecraft-protocol/examples/server_world/package.json @@ -0,0 +1,11 @@ +{ + "name": "node-minecraft-protocol-example", + "version": "1.0.0", + "private": true, + "dependencies": { + "prismarine-chunk": "^1.7.0", + "vec3": "^0.1.3" + }, + "description": "A node-minecraft-protocol example", + "author": "Oscar Beaumont" +} diff --git a/node_modules/minecraft-protocol/package.json b/node_modules/minecraft-protocol/package.json new file mode 100644 index 00000000..2d499bee --- /dev/null +++ b/node_modules/minecraft-protocol/package.json @@ -0,0 +1,94 @@ +{ + "_from": "minecraft-protocol@^1.17.0", + "_id": "minecraft-protocol@1.21.0", + "_inBundle": false, + "_integrity": "sha512-Pb3IjJH3P2CBvHJMUVyHMtIAbkCMAlDWW2/yB12d9s4dQmXLyLiW2K87bOkjnRaoZBl9MrwrJfWcXvavGyZ/Fw==", + "_location": "/minecraft-protocol", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "minecraft-protocol@^1.17.0", + "name": "minecraft-protocol", + "escapedName": "minecraft-protocol", + "rawSpec": "^1.17.0", + "saveSpec": null, + "fetchSpec": "^1.17.0" + }, + "_requiredBy": [ + "/mineflayer" + ], + "_resolved": "https://registry.npmjs.org/minecraft-protocol/-/minecraft-protocol-1.21.0.tgz", + "_shasum": "3faa35421d204e5dfea39ca50807729bd3a825c6", + "_spec": "minecraft-protocol@^1.17.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\mineflayer", + "author": { + "name": "Andrew Kelley" + }, + "browser": "src/browser.js", + "bugs": { + "url": "https://github.com/PrismarineJS/node-minecraft-protocol/issues" + }, + "bundleDependencies": false, + "dependencies": { + "@xboxreplay/xboxlive-auth": "^3.3.0", + "aes-js": "^3.1.2", + "buffer-equal": "^1.0.0", + "debug": "^4.1.0", + "endian-toggle": "^0.0.0", + "lodash.get": "^4.1.2", + "lodash.merge": "^4.3.0", + "minecraft-data": "^2.70.0", + "minecraft-folder-path": "^1.1.0", + "node-fetch": "^2.6.1", + "node-rsa": "^0.4.2", + "prismarine-nbt": "^1.3.0", + "protodef": "^1.8.0", + "readable-stream": "^3.0.6", + "uuid-1345": "^1.0.1", + "yggdrasil": "^1.4.0" + }, + "deprecated": false, + "description": "Parse and serialize minecraft packets, plus authentication and encryption.", + "devDependencies": { + "@types/node": "^14.0.1", + "espower-loader": "^1.0.0", + "intelli-espower-loader": "^1.0.0", + "minecraft-wrap": "^1.2.3", + "mocha": "^8.0.1", + "power-assert": "^1.0.0", + "require-self": "^0.2.3", + "standard": "^16.0.1" + }, + "engines": { + "node": ">=6" + }, + "homepage": "https://github.com/PrismarineJS/node-minecraft-protocol#readme", + "keywords": [ + "minecraft", + "protocol", + "parse", + "serialize", + "packet", + "authentication", + "encrypton", + "bot" + ], + "license": "BSD-3-Clause", + "main": "src/index.js", + "name": "minecraft-protocol", + "repository": { + "type": "git", + "url": "git://github.com/PrismarineJS/node-minecraft-protocol.git" + }, + "scripts": { + "fix": "standard --fix", + "lint": "standard", + "prepare": "npm install require-self && require-self", + "prepublishOnly": "cp docs/README.md README.md", + "pretest": "npm run lint", + "test": "mocha --recursive --reporter spec --exit" + }, + "types": "src/index.d.ts", + "version": "1.21.0" +} diff --git a/node_modules/minecraft-protocol/src/browser.js b/node_modules/minecraft-protocol/src/browser.js new file mode 100644 index 00000000..4c01b24f --- /dev/null +++ b/node_modules/minecraft-protocol/src/browser.js @@ -0,0 +1,14 @@ +'use strict' + +const Client = require('./client') +const Server = require('./server') +const serializer = require('./transforms/serializer') + +module.exports = { + Client: Client, + Server: Server, + states: require('./states'), + createSerializer: serializer.createSerializer, + createDeserializer: serializer.createDeserializer, + supportedVersions: require('./version').supportedVersions +} diff --git a/node_modules/minecraft-protocol/src/client.js b/node_modules/minecraft-protocol/src/client.js new file mode 100644 index 00000000..14648119 --- /dev/null +++ b/node_modules/minecraft-protocol/src/client.js @@ -0,0 +1,237 @@ +'use strict' + +const EventEmitter = require('events').EventEmitter +const debug = require('debug')('minecraft-protocol') +const compression = require('./transforms/compression') +const framing = require('./transforms/framing') +const states = require('./states') + +const createSerializer = require('./transforms/serializer').createSerializer +const createDeserializer = require('./transforms/serializer').createDeserializer +const createCipher = require('./transforms/encryption').createCipher +const createDecipher = require('./transforms/encryption').createDecipher + +const closeTimeout = 30 * 1000 + +class Client extends EventEmitter { + constructor (isServer, version, customPackets, hideErrors = false) { + super() + this.customPackets = customPackets + this.version = version + this.isServer = !!isServer + this.splitter = framing.createSplitter() + this.packetsToParse = {} + this.compressor = null + this.framer = framing.createFramer() + this.cipher = null + this.decipher = null + this.decompressor = null + this.ended = true + this.latency = 0 + this.hideErrors = hideErrors + this.closeTimer = null + + this.state = states.HANDSHAKING + } + + get state () { + return this.protocolState + } + + setSerializer (state) { + this.serializer = createSerializer({ isServer: this.isServer, version: this.version, state: state, customPackets: this.customPackets }) + this.deserializer = createDeserializer({ + isServer: this.isServer, + version: this.version, + state: state, + packetsToParse: + this.packetsToParse, + customPackets: this.customPackets, + noErrorLogging: this.hideErrors + }) + + this.splitter.recognizeLegacyPing = state === states.HANDSHAKING + + this.serializer.on('error', (e) => { + let parts + if (e.field) { + parts = e.field.split('.') + parts.shift() + } else { parts = [] } + const serializerDirection = !this.isServer ? 'toServer' : 'toClient' + e.field = [this.protocolState, serializerDirection].concat(parts).join('.') + e.message = `Serialization error for ${e.field} : ${e.message}` + if (!this.compressor) { this.serializer.pipe(this.framer) } else { this.serializer.pipe(this.compressor) } + this.emit('error', e) + }) + + this.deserializer.on('error', (e) => { + let parts + if (e.field) { + parts = e.field.split('.') + parts.shift() + } else { parts = [] } + const deserializerDirection = this.isServer ? 'toServer' : 'toClient' + e.field = [this.protocolState, deserializerDirection].concat(parts).join('.') + e.message = `Deserialization error for ${e.field} : ${e.message}` + if (!this.compressor) { this.splitter.pipe(this.deserializer) } else { this.decompressor.pipe(this.deserializer) } + this.emit('error', e) + }) + + this.deserializer.on('data', (parsed) => { + parsed.metadata.name = parsed.data.name + parsed.data = parsed.data.params + parsed.metadata.state = state + debug('read packet ' + state + '.' + parsed.metadata.name) + const s = JSON.stringify(parsed.data, null, 2) + debug(s && s.length > 10000 ? parsed.data : s) + this.emit('packet', parsed.data, parsed.metadata, parsed.buffer) + this.emit(parsed.metadata.name, parsed.data, parsed.metadata) + this.emit('raw.' + parsed.metadata.name, parsed.buffer, parsed.metadata) + this.emit('raw', parsed.buffer, parsed.metadata) + }) + } + + set state (newProperty) { + const oldProperty = this.protocolState + this.protocolState = newProperty + + if (this.serializer) { + if (!this.compressor) { + this.serializer.unpipe() + this.splitter.unpipe(this.deserializer) + } else { + this.serializer.unpipe(this.compressor) + this.decompressor.unpipe(this.deserializer) + } + + this.serializer.removeAllListeners() + this.deserializer.removeAllListeners() + } + this.setSerializer(this.protocolState) + + if (!this.compressor) { + this.serializer.pipe(this.framer) + this.splitter.pipe(this.deserializer) + } else { + this.serializer.pipe(this.compressor) + this.decompressor.pipe(this.deserializer) + } + + this.emit('state', newProperty, oldProperty) + } + + get compressionThreshold () { + return this.compressor == null ? -2 : this.compressor.compressionThreshold + } + + set compressionThreshold (threshold) { + this.setCompressionThreshold(threshold) + } + + setSocket (socket) { + this.ended = false + + // TODO : A lot of other things needs to be done. + const endSocket = () => { + if (this.ended) return + this.ended = true + clearTimeout(this.closeTimer) + this.socket.removeListener('close', endSocket) + this.socket.removeListener('end', endSocket) + this.socket.removeListener('timeout', endSocket) + this.emit('end', this._endReason || 'SocketClosed') + } + + const onFatalError = (err) => { + this.emit('error', err) + endSocket() + } + + const onError = (err) => this.emit('error', err) + + this.socket = socket + + if (this.socket.setNoDelay) { this.socket.setNoDelay(true) } + + this.socket.on('connect', () => this.emit('connect')) + + this.socket.on('error', onFatalError) + this.socket.on('close', endSocket) + this.socket.on('end', endSocket) + this.socket.on('timeout', endSocket) + this.framer.on('error', onError) + this.splitter.on('error', onError) + + this.socket.pipe(this.splitter) + this.framer.pipe(this.socket) + } + + end (reason) { + this._endReason = reason + /* ending the serializer will end the whole chain + serializer -> framer -> socket -> splitter -> deserializer */ + if (this.serializer) { + this.serializer.end() + } else { + if (this.socket) this.socket.end() + } + if (this.socket) { + this.closeTimer = setTimeout( + this.socket.destroy.bind(this.socket), + closeTimeout + ) + } + } + + setEncryption (sharedSecret) { + if (this.cipher != null) { this.emit('error', new Error('Set encryption twice!')) } + this.cipher = createCipher(sharedSecret) + this.cipher.on('error', (err) => this.emit('error', err)) + this.framer.unpipe(this.socket) + this.framer.pipe(this.cipher).pipe(this.socket) + this.decipher = createDecipher(sharedSecret) + this.decipher.on('error', (err) => this.emit('error', err)) + this.socket.unpipe(this.splitter) + this.socket.pipe(this.decipher).pipe(this.splitter) + } + + setCompressionThreshold (threshold) { + if (this.compressor == null) { + this.compressor = compression.createCompressor(threshold) + this.compressor.on('error', (err) => this.emit('error', err)) + this.serializer.unpipe(this.framer) + this.serializer.pipe(this.compressor).pipe(this.framer) + this.decompressor = compression.createDecompressor(threshold, this.hideErrors) + this.decompressor.on('error', (err) => this.emit('error', err)) + this.splitter.unpipe(this.deserializer) + this.splitter.pipe(this.decompressor).pipe(this.deserializer) + } else { + this.decompressor.threshold = threshold + this.compressor.threshold = threshold + } + } + + write (name, params) { + if (!this.serializer.writable) { return } + debug('writing packet ' + this.state + '.' + name) + debug(params) + this.serializer.write({ name, params }) + } + + writeRaw (buffer) { + const stream = this.compressor === null ? this.framer : this.compressor + if (!stream.writable) { return } + stream.write(buffer) + } + + // TCP/IP-specific (not generic Stream) method for backwards-compatibility + connect (port, host) { + const options = { port, host } + if (!this.options) this.options = options + require('./client/tcp_dns')(this, options) + options.connect(this) + } +} + +module.exports = Client diff --git a/node_modules/minecraft-protocol/src/client/auth.js b/node_modules/minecraft-protocol/src/client/auth.js new file mode 100644 index 00000000..58d47389 --- /dev/null +++ b/node_modules/minecraft-protocol/src/client/auth.js @@ -0,0 +1,175 @@ +const UUID = require('uuid-1345') +const yggdrasil = require('yggdrasil') +const fs = require('fs').promises +const mcDefaultFolderPath = require('minecraft-folder-path') +const path = require('path') + +module.exports = async function (client, options) { + if (!options.profilesFolder && options.profilesFolder !== false) { // not defined, but not explicitly false. fallback to default + let mcFolderExists = true + try { + await fs.access(mcDefaultFolderPath) + } catch (ignoreErr) { + mcFolderExists = false + } + options.profilesFolder = mcFolderExists ? mcDefaultFolderPath : '.' // local folder if mc folder doesn't exist + } + + const yggdrasilClient = yggdrasil({ agent: options.agent, host: options.authServer || 'https://authserver.mojang.com' }) + const clientToken = options.clientToken || (options.session && options.session.clientToken) || (options.profilesFolder && (await getLauncherProfiles()).clientToken) || UUID.v4().toString().replace(/-/g, '') + const skipValidation = false || options.skipValidation + options.accessToken = null + options.haveCredentials = options.password != null || (clientToken != null && options.session != null) || (options.profilesFolder && await hasProfileCredentials()) + + async function getLauncherProfiles () { // get launcher profiles + try { + return JSON.parse(await fs.readFile(path.join(options.profilesFolder, 'launcher_profiles.json'), 'utf8')) + } catch (err) { + await fs.mkdir(options.profilesFolder, { recursive: true }) + await fs.writeFile(path.join(options.profilesFolder, 'launcher_profiles.json'), '{}') + return { authenticationDatabase: {} } + } + } + + async function hasProfileCredentials () { + try { + const auths = await getLauncherProfiles() + + const lowerUsername = options.username.toLowerCase() + return !!Object.keys(auths.authenticationDatabase).find(key => + auths.authenticationDatabase[key].username.toLowerCase() === lowerUsername || + Object.values(auths.authenticationDatabase[key].profiles)[0].displayName.toLowerCase() === lowerUsername + ) + } catch (err) { + return false + } + } + + if (options.haveCredentials) { + // make a request to get the case-correct username before connecting. + const cb = function (err, session) { + if (options.profilesFolder) { + getLauncherProfiles().then((auths) => { + try { + const lowerUsername = options.username.toLowerCase() + let profile = Object.keys(auths.authenticationDatabase).find(key => + auths.authenticationDatabase[key].username.toLowerCase() === lowerUsername || + Object.values(auths.authenticationDatabase[key].profiles)[0].displayName.toLowerCase() === lowerUsername + ) + if (err) { + if (profile) { // profile is invalid, remove + delete auths.authenticationDatabase[profile] + } + } else { // successful login + if (!profile) { + profile = UUID.v4().toString().replace(/-/g, '') // create new profile + } + if (!auths.clientToken) { + auths.clientToken = clientToken + } + + if (clientToken === auths.clientToken) { // only do something when we can save a new clienttoken or they match + const oldProfileObj = auths.authenticationDatabase[profile] + const newProfileObj = { + accessToken: session.accessToken, + profiles: {}, + properties: oldProfileObj ? (oldProfileObj.properties || []) : [], + username: options.username + } + newProfileObj.profiles[session.selectedProfile.id] = { + displayName: session.selectedProfile.name + } + auths.authenticationDatabase[profile] = newProfileObj + } + } + } catch (ignoreErr) { + // again, silently fail, just don't save anything + } + fs.writeFile(path.join(options.profilesFolder, 'launcher_profiles.json'), JSON.stringify(auths, null, 2)).then(() => {}, (ignoreErr) => { + // console.warn("Couldn't save tokens:\n", err) // not any error, we just don't save the file + }) + }, (ignoreErr) => { + // console.warn("Skipped saving tokens because of error\n", err) // not any error, we just don't save the file + }) + } + + if (err) { + client.emit('error', err) + } else { + client.session = session + client.username = session.selectedProfile.name + options.accessToken = session.accessToken + client.emit('session', session) + options.connect(client) + } + } + + if (!options.session && options.profilesFolder) { + try { + const auths = await getLauncherProfiles() + + const lowerUsername = options.username.toLowerCase() + const profile = Object.keys(auths.authenticationDatabase).find(key => + auths.authenticationDatabase[key].username.toLowerCase() === lowerUsername || + Object.values(auths.authenticationDatabase[key].profiles)[0].displayName.toLowerCase() === lowerUsername + ) + + if (profile) { + const newUsername = auths.authenticationDatabase[profile].username + const uuid = Object.keys(auths.authenticationDatabase[profile].profiles)[0] + const displayName = auths.authenticationDatabase[profile].profiles[uuid].displayName + const newProfile = { + name: displayName, + id: uuid + } + + options.session = { + accessToken: auths.authenticationDatabase[profile].accessToken, + clientToken: auths.clientToken, + selectedProfile: newProfile, + availableProfiles: [newProfile] + } + options.username = newUsername + } + } catch (ignoreErr) { + // skip the error :/ + } + } + + if (options.session) { + if (!skipValidation) { + yggdrasilClient.validate(options.session.accessToken, function (err) { + if (!err) { cb(null, options.session) } else { + yggdrasilClient.refresh(options.session.accessToken, options.session.clientToken, function (err, accessToken, data) { + if (!err) { + cb(null, data) + } else if (options.username && options.password) { + yggdrasilClient.auth({ + user: options.username, + pass: options.password, + token: clientToken, + requestUser: true + }, cb) + } else { + cb(err, data) + } + }) + } + }) + } else { + // trust that the provided session is a working one + cb(null, options.session) + } + } else { + yggdrasilClient.auth({ + user: options.username, + pass: options.password, + token: clientToken + }, cb) + } + } else { + // assume the server is in offline mode and just go for it. + client.username = options.username + options.connect(client) + } +} diff --git a/node_modules/minecraft-protocol/src/client/autoVersion.js b/node_modules/minecraft-protocol/src/client/autoVersion.js new file mode 100644 index 00000000..c437ecf3 --- /dev/null +++ b/node_modules/minecraft-protocol/src/client/autoVersion.js @@ -0,0 +1,57 @@ +'use strict' + +const ping = require('../ping') +const debug = require('debug')('minecraft-protocol') +const states = require('../states') +const minecraftData = require('minecraft-data') + +module.exports = function (client, options) { + client.wait_connect = true // don't let src/client/setProtocol proceed on socket 'connect' until 'connect_allowed' + debug('pinging', options.host) + // TODO: use 0xfe ping instead for better compatibility/performance? https://github.com/deathcap/node-minecraft-ping + ping(options, function (err, response) { + if (err) { return client.emit('error', err) } + debug('ping response', response) + // TODO: could also use ping pre-connect to save description, type, max players, etc. + const motd = response.description + debug('Server description:', motd) // TODO: save + + // Pass server-reported version to protocol handler + // The version string is interpreted by https://github.com/PrismarineJS/node-minecraft-data + const brandedMinecraftVersion = response.version.name // 1.8.9, 1.7.10 + const protocolVersion = response.version.protocol// 47, 5 + const guessFromName = [brandedMinecraftVersion] + .concat(brandedMinecraftVersion.match(/((\d+\.)+\d+)/g) || []) + .map(function (version) { + return minecraftData.versionsByMinecraftVersion.pc[version] + }) + .filter(function (info) { return info }) + .sort(function (a, b) { return b.version - a.version }) + const versions = (minecraftData.postNettyVersionsByProtocolVersion.pc[protocolVersion] || []).concat(guessFromName) + if (versions.length === 0) { + client.emit('error', new Error(`unsupported/unknown protocol version: ${protocolVersion}, update minecraft-data`)) + } + const minecraftVersion = versions[0].minecraftVersion + + debug(`Server version: ${minecraftVersion}, protocol: ${protocolVersion}`) + + options.version = minecraftVersion + options.protocolVersion = protocolVersion + + // Reinitialize client object with new version TODO: move out of its constructor? + client.version = minecraftVersion + client.state = states.HANDSHAKING + + // Let other plugins such as Forge/FML (modinfo) respond to the ping response + if (client.autoVersionHooks) { + client.autoVersionHooks.forEach((hook) => { + hook(response, client, options) + }) + } + + // Finished configuring client object, let connection proceed + client.emit('connect_allowed') + client.wait_connect = false + }) + return client +} diff --git a/node_modules/minecraft-protocol/src/client/compress.js b/node_modules/minecraft-protocol/src/client/compress.js new file mode 100644 index 00000000..1f99b005 --- /dev/null +++ b/node_modules/minecraft-protocol/src/client/compress.js @@ -0,0 +1,9 @@ +module.exports = function (client, options) { + client.once('compress', onCompressionRequest) + client.on('set_compression', onCompressionRequest) + + function onCompressionRequest (packet) { + client.compressionThreshold = packet.threshold + } + // TODO: refactor with transforms/compression.js -- enable it here +} diff --git a/node_modules/minecraft-protocol/src/client/encrypt.js b/node_modules/minecraft-protocol/src/client/encrypt.js new file mode 100644 index 00000000..d66f1d15 --- /dev/null +++ b/node_modules/minecraft-protocol/src/client/encrypt.js @@ -0,0 +1,68 @@ +'use strict' + +const crypto = require('crypto') +const debug = require('debug')('minecraft-protocol') +const yggdrasil = require('yggdrasil') + +module.exports = function (client, options) { + const yggdrasilServer = yggdrasil.server({ agent: options.agent, host: options.sessionServer || 'https://sessionserver.mojang.com' }) + client.once('encryption_begin', onEncryptionKeyRequest) + + function onEncryptionKeyRequest (packet) { + crypto.randomBytes(16, gotSharedSecret) + + function gotSharedSecret (err, sharedSecret) { + if (err) { + debug(err) + client.emit('error', err) + client.end() + return + } + if (options.haveCredentials) { + joinServerRequest(onJoinServerResponse) + } else { + if (packet.serverId !== '-') { + debug('This server appears to be an online server and you are providing no password, the authentication will probably fail') + } + sendEncryptionKeyResponse() + } + + function onJoinServerResponse (err) { + if (err) { + client.emit('error', err) + client.end() + } else { + sendEncryptionKeyResponse() + } + } + + function joinServerRequest (cb) { + yggdrasilServer.join(options.accessToken, client.session.selectedProfile.id, + packet.serverId, sharedSecret, packet.publicKey, cb) + } + + function sendEncryptionKeyResponse () { + const pubKey = mcPubKeyToPem(packet.publicKey) + const encryptedSharedSecretBuffer = crypto.publicEncrypt({ key: pubKey, padding: crypto.constants.RSA_PKCS1_PADDING }, sharedSecret) + const encryptedVerifyTokenBuffer = crypto.publicEncrypt({ key: pubKey, padding: crypto.constants.RSA_PKCS1_PADDING }, packet.verifyToken) + client.write('encryption_begin', { + sharedSecret: encryptedSharedSecretBuffer, + verifyToken: encryptedVerifyTokenBuffer + }) + client.setEncryption(sharedSecret) + } + } + } +} + +function mcPubKeyToPem (mcPubKeyBuffer) { + let pem = '-----BEGIN PUBLIC KEY-----\n' + let base64PubKey = mcPubKeyBuffer.toString('base64') + const maxLineLength = 65 + while (base64PubKey.length > 0) { + pem += base64PubKey.substring(0, maxLineLength) + '\n' + base64PubKey = base64PubKey.substring(maxLineLength) + } + pem += '-----END PUBLIC KEY-----\n' + return pem +} diff --git a/node_modules/minecraft-protocol/src/client/keepalive.js b/node_modules/minecraft-protocol/src/client/keepalive.js new file mode 100644 index 00000000..f9357889 --- /dev/null +++ b/node_modules/minecraft-protocol/src/client/keepalive.js @@ -0,0 +1,22 @@ +'use strict' + +module.exports = function (client, options) { + const keepAlive = options.keepAlive == null ? true : options.keepAlive + if (!keepAlive) return + + const checkTimeoutInterval = options.checkTimeoutInterval || 30 * 1000 + + client.on('keep_alive', onKeepAlive) + + let timeout = null + + client.on('end', () => clearTimeout(timeout)) + + function onKeepAlive (packet) { + if (timeout) { clearTimeout(timeout) } + timeout = setTimeout(() => client.end(), checkTimeoutInterval) + client.write('keep_alive', { + keepAliveId: packet.keepAliveId + }) + } +} diff --git a/node_modules/minecraft-protocol/src/client/microsoftAuth.js b/node_modules/minecraft-protocol/src/client/microsoftAuth.js new file mode 100644 index 00000000..785425f8 --- /dev/null +++ b/node_modules/minecraft-protocol/src/client/microsoftAuth.js @@ -0,0 +1,72 @@ +const XboxLiveAuth = require('@xboxreplay/xboxlive-auth') +const fetch = require('node-fetch') + +const XSTSRelyingParty = 'rp://api.minecraftservices.com/' +const MinecraftServicesLogWithXbox = 'https://api.minecraftservices.com/authentication/login_with_xbox' +const MinecraftServicesEntitlement = 'https://api.minecraftservices.com/entitlements/mcstore' +const MinecraftServicesProfile = 'https://api.minecraftservices.com/minecraft/profile' + +const getFetchOptions = { + headers: { + 'Content-Type': 'application/json', + 'User-Agent': 'node-minecraft-protocol' + } +} + +/** + * Authenticates with Xbox Live, then Authenticates with Minecraft, Checks Entitlements and Gets Profile. + * @function + * @param {object} client - The client passed to protocol + * @param {object} options - Client Options + */ + +module.exports = async (client, options) => { + // Use external library to authenticate with + const XAuthResponse = await XboxLiveAuth.authenticate(options.username, options.password, { XSTSRelyingParty }) + .catch((err) => { + if (err.details) throw new Error(`Unable to authenticate with Xbox Live: ${JSON.stringify(err.details)}`) + else throw Error(err) + }) + + const MineServicesResponse = await fetch(MinecraftServicesLogWithXbox, { + method: 'post', + ...getFetchOptions, + body: JSON.stringify({ identityToken: `XBL3.0 x=${XAuthResponse.userHash};${XAuthResponse.XSTSToken}` }) + }).then(checkStatus) + + options.haveCredentials = MineServicesResponse.access_token != null + + getFetchOptions.headers.Authorization = `Bearer ${MineServicesResponse.access_token}` + const MineEntitlements = await fetch(MinecraftServicesEntitlement, getFetchOptions).then(checkStatus) + if (MineEntitlements.items.length === 0) throw Error('This user does not have any items on its accounts according to minecraft services.') + + const MinecraftProfile = await fetch(MinecraftServicesProfile, getFetchOptions).then(checkStatus) + if (!MinecraftProfile.id) throw Error('This user does not own minecraft according to minecraft services.') + + // This profile / session here could be simplified down to where it just passes the uuid of the player to encrypt.js + // That way you could remove some lines of code. It accesses client.session.selectedProfile.id so /shrug. + // - Kashalls + const profile = { + name: MinecraftProfile.name, + id: MinecraftProfile.id + } + + const session = { + accessToken: MineServicesResponse.access_token, + selectedProfile: profile, + availableProfile: [profile] + } + client.session = session + client.username = MinecraftProfile.name + options.accessToken = MineServicesResponse.access_token + client.emit('session', session) + options.connect(client) +} + +function checkStatus (res) { + if (res.ok) { // res.status >= 200 && res.status < 300 + return res.json() + } else { + throw Error(res.statusText) + } +} diff --git a/node_modules/minecraft-protocol/src/client/play.js b/node_modules/minecraft-protocol/src/client/play.js new file mode 100644 index 00000000..a5efb73c --- /dev/null +++ b/node_modules/minecraft-protocol/src/client/play.js @@ -0,0 +1,11 @@ +const states = require('../states') + +module.exports = function (client, options) { + client.once('success', onLogin) + + function onLogin (packet) { + client.state = states.PLAY + client.uuid = packet.uuid + client.username = packet.username + } +} diff --git a/node_modules/minecraft-protocol/src/client/pluginChannels.js b/node_modules/minecraft-protocol/src/client/pluginChannels.js new file mode 100644 index 00000000..0e3f385f --- /dev/null +++ b/node_modules/minecraft-protocol/src/client/pluginChannels.js @@ -0,0 +1,88 @@ +const ProtoDef = require('protodef').ProtoDef +const minecraft = require('../datatypes/minecraft') +const debug = require('debug')('minecraft-protocol') + +module.exports = function (client, options) { + const mcdata = require('minecraft-data')(options.version || require('../version').defaultVersion) + const channels = [] + const proto = new ProtoDef() + proto.addTypes(mcdata.protocol.types) + proto.addTypes(minecraft) + proto.addType('registerarr', [readDumbArr, writeDumbArr, sizeOfDumbArr]) + + client.registerChannel = registerChannel + client.unregisterChannel = unregisterChannel + client.writeChannel = writeChannel + + client.registerChannel('REGISTER', ['registerarr', []]) + client.registerChannel('UNREGISTER', ['registerarr', []]) + + function registerChannel (name, parser, custom) { + if (custom) { + client.writeChannel('REGISTER', name) + } + if (parser) proto.addType(name, parser) + channels.push(name) + if (channels.length === 1) { client.on('custom_payload', onCustomPayload) } + } + + function unregisterChannel (channel, custom) { + if (custom) { + client.writeChannel('UNREGISTER', channel) + } + const index = channels.find(function (name) { + return channel === name + }) + if (index) { + proto.types[channel] = undefined + channels.splice(index, 1) + if (channels.length === 0) { client.removeListener('custom_payload', onCustomPayload) } + } + } + + function onCustomPayload (packet) { + const channel = channels.find(function (channel) { + return channel === packet.channel + }) + if (channel) { + if (proto.types[channel]) { packet.data = proto.parsePacketBuffer(channel, packet.data).data } + debug('read custom payload ' + channel + ' ' + packet.data) + client.emit(channel, packet.data) + } + } + + function writeChannel (channel, params) { + debug('write custom payload ' + channel + ' ' + params) + client.write('custom_payload', { + channel: channel, + data: proto.createPacketBuffer(channel, params) + }) + } + + function readDumbArr (buf, offset) { + const ret = { + value: [], + size: 0 + } + let results + while (offset < buf.length) { + if (buf.indexOf(0x0, offset) === -1) { results = this.read(buf, offset, 'restBuffer', {}) } else { results = this.read(buf, offset, 'cstring', {}) } + ret.size += results.size + ret.value.push(results.value.toString()) + offset += results.size + } + return ret + } + + function writeDumbArr (value, buf, offset) { + // TODO: Remove trailing \0 + value.forEach(function (v) { + offset += this.write(v, buf, offset, 'cstring', {}) + }) + return offset + } + + function sizeOfDumbArr (value) { + return value.reduce((acc, v) => acc + this.sizeOf(v, 'cstring', {}), 0) + } +} diff --git a/node_modules/minecraft-protocol/src/client/setProtocol.js b/node_modules/minecraft-protocol/src/client/setProtocol.js new file mode 100644 index 00000000..75178208 --- /dev/null +++ b/node_modules/minecraft-protocol/src/client/setProtocol.js @@ -0,0 +1,31 @@ +'use strict' + +const states = require('../states') + +module.exports = function (client, options) { + client.on('connect', onConnect) + + function onConnect () { + if (client.wait_connect) { + client.on('connect_allowed', next) + } else { + next() + } + + function next () { + let taggedHost = options.host + if (client.tagHost) taggedHost += client.tagHost + + client.write('set_protocol', { + protocolVersion: options.protocolVersion, + serverHost: taggedHost, + serverPort: options.port, + nextState: 2 + }) + client.state = states.LOGIN + client.write('login_start', { + username: client.username + }) + } + } +} diff --git a/node_modules/minecraft-protocol/src/client/tcp_dns.js b/node_modules/minecraft-protocol/src/client/tcp_dns.js new file mode 100644 index 00000000..ff27be83 --- /dev/null +++ b/node_modules/minecraft-protocol/src/client/tcp_dns.js @@ -0,0 +1,45 @@ +const net = require('net') +const dns = require('dns') + +module.exports = function (client, options) { + // Default options + options.port = options.port || 25565 + options.host = options.host || 'localhost' + + if (!options.connect) { + options.connect = (client) => { + // Use stream if provided + if (options.stream) { + client.setSocket(options.stream) + client.emit('connect') + return + } + + // If port was not defined (defauls to 25565), host is not an ip neither localhost + if (options.port === 25565 && net.isIP(options.host) === 0 && options.host !== 'localhost') { + // Try to resolve SRV records for the comain + dns.resolveSrv('_minecraft._tcp.' + options.host, (err, addresses) => { + // Error resolving domain + if (err) { + // Could not resolve SRV lookup, connect directly + client.setSocket(net.connect(options.port, options.host)) + return + } + + // SRV Lookup resolved conrrectly + if (addresses && addresses.length > 0) { + options.host = addresses[0].name + options.port = addresses[0].port + client.setSocket(net.connect(addresses[0].port, addresses[0].name)) + } else { + // Otherwise, just connect using the provided hostname and port + client.setSocket(net.connect(options.port, options.host)) + } + }) + } else { + // Otherwise, just connect using the provided hostname and port + client.setSocket(net.connect(options.port, options.host)) + } + } + } +} diff --git a/node_modules/minecraft-protocol/src/client/versionChecking.js b/node_modules/minecraft-protocol/src/client/versionChecking.js new file mode 100644 index 00000000..b6dbd4d5 --- /dev/null +++ b/node_modules/minecraft-protocol/src/client/versionChecking.js @@ -0,0 +1,19 @@ +module.exports = function (client, options) { + client.on('disconnect', message => { + if (!message.reason) { return } + const parsed = JSON.parse(message.reason) + let text = parsed.text ? parsed.text : parsed + let versionRequired + + if (text.translate && text.translate.startsWith('multiplayer.disconnect.outdated_')) { versionRequired = text.with[0] } else { + if (text.extra) text = text.extra[0].text + versionRequired = /(?:Outdated client! Please use|Outdated server! I'm still on) (.+)/.exec(text) + versionRequired = versionRequired ? versionRequired[1] : null + } + + if (!versionRequired) { return } + client.end() + client.emit('error', new Error('This server is version ' + versionRequired + + ', you are using version ' + client.version + ', please specify the correct version in the options.')) + }) +} diff --git a/node_modules/minecraft-protocol/src/createClient.js b/node_modules/minecraft-protocol/src/createClient.js new file mode 100644 index 00000000..f6a46fab --- /dev/null +++ b/node_modules/minecraft-protocol/src/createClient.js @@ -0,0 +1,49 @@ +'use strict' + +const Client = require('./client') +const assert = require('assert') + +const encrypt = require('./client/encrypt') +const keepalive = require('./client/keepalive') +const compress = require('./client/compress') +const auth = require('./client/auth') +const microsoftAuth = require('./client/microsoftAuth') +const setProtocol = require('./client/setProtocol') +const play = require('./client/play') +const tcpDns = require('./client/tcp_dns') +const autoVersion = require('./client/autoVersion') +const pluginChannels = require('./client/pluginChannels') +const versionChecking = require('./client/versionChecking') + +module.exports = createClient + +function createClient (options) { + assert.ok(options, 'options is required') + assert.ok(options.username, 'username is required') + if (!options.version) { options.version = false } + + // TODO: avoid setting default version if autoVersion is enabled + const optVersion = options.version || require('./version').defaultVersion + const mcData = require('minecraft-data')(optVersion) + if (!mcData) throw new Error(`unsupported protocol version: ${optVersion}`) + const version = mcData.version + options.majorVersion = version.majorVersion + options.protocolVersion = version.version + const hideErrors = options.hideErrors || false + + const client = new Client(false, version.minecraftVersion, options.customPackets, hideErrors) + + tcpDns(client, options) + if (options.auth === 'microsoft') microsoftAuth(client, options) + else auth(client, options) + if (options.version === false) autoVersion(client, options) + setProtocol(client, options) + keepalive(client, options) + encrypt(client, options) + play(client, options) + compress(client, options) + pluginChannels(client, options) + versionChecking(client, options) + + return client +} diff --git a/node_modules/minecraft-protocol/src/createServer.js b/node_modules/minecraft-protocol/src/createServer.js new file mode 100644 index 00000000..ba090eb7 --- /dev/null +++ b/node_modules/minecraft-protocol/src/createServer.js @@ -0,0 +1,51 @@ +'use strict' + +const Server = require('./server') +const NodeRSA = require('node-rsa') +const plugins = [ + require('./server/handshake'), + require('./server/keepalive'), + require('./server/login'), + require('./server/ping') +] + +module.exports = createServer + +function createServer (options = {}) { + const { + host = undefined, // undefined means listen to all available ipv4 and ipv6 adresses + // (see https://nodejs.org/api/net.html#net_server_listen_port_host_backlog_callback for details) + 'server-port': serverPort, + port = serverPort || 25565, + motd = 'A Minecraft server', + 'max-players': maxPlayersOld = 20, + maxPlayers: maxPlayersNew = 20, + version, + favicon, + customPackets + } = options + + const maxPlayers = options['max-players'] !== undefined ? maxPlayersOld : maxPlayersNew + + const optVersion = version === undefined || version === false ? require('./version').defaultVersion : version + + const mcData = require('minecraft-data')(optVersion) + if (!mcData) throw new Error(`unsupported protocol version: ${optVersion}`) + const mcversion = mcData.version + const hideErrors = options.hideErrors || false + + const server = new Server(mcversion.minecraftVersion, customPackets, hideErrors) + server.mcversion = mcversion + server.motd = motd + server.maxPlayers = maxPlayers + server.playerCount = 0 + server.onlineModeExceptions = {} + server.favicon = favicon + server.serverKey = new NodeRSA({ b: 1024 }) + + server.on('connection', function (client) { + plugins.forEach(plugin => plugin(client, server, options)) + }) + server.listen(port, host) + return server +} diff --git a/node_modules/minecraft-protocol/src/datatypes/compiler-minecraft.js b/node_modules/minecraft-protocol/src/datatypes/compiler-minecraft.js new file mode 100644 index 00000000..508b2e8d --- /dev/null +++ b/node_modules/minecraft-protocol/src/datatypes/compiler-minecraft.js @@ -0,0 +1,104 @@ +const UUID = require('uuid-1345') +const minecraft = require('./minecraft') + +module.exports = { + Read: { + UUID: ['native', (buffer, offset) => { + return { + value: UUID.stringify(buffer.slice(offset, 16 + offset)), + size: 16 + } + }], + restBuffer: ['native', (buffer, offset) => { + return { + value: buffer.slice(offset), + size: buffer.length - offset + } + }], + nbt: ['native', minecraft.nbt[0]], + optionalNbt: ['native', minecraft.optionalNbt[0]], + compressedNbt: ['native', minecraft.compressedNbt[0]], + entityMetadataLoop: ['parametrizable', (compiler, { type, endVal }) => { + let code = 'let cursor = offset\n' + code += 'const data = []\n' + code += 'while (true) {\n' + code += ` if (ctx.u8(buffer, cursor).value === ${endVal}) return { value: data, size: cursor + 1 - offset }\n` + code += ' const elem = ' + compiler.callType(type, 'cursor') + '\n' + code += ' data.push(elem.value)\n' + code += ' cursor += elem.size\n' + code += '}' + return compiler.wrapCode(code) + }], + topBitSetTerminatedArray: ['parametrizable', (compiler, { type, endVal }) => { + let code = 'let cursor = offset\n' + code += 'const data = []\n' + code += 'while (true) {\n' + code += ' const item = ctx.u8(buffer, cursor).value\n' + code += ' buffer[cursor] = buffer[cursor] & 127\n' + code += ' const elem = ' + compiler.callType(type, 'cursor') + '\n' + code += ' data.push(elem.value)\n' + code += ' cursor += elem.size\n' + code += ' if ((item & 128) === 0) return { value: data, size: cursor - offset }\n' + code += '}' + return compiler.wrapCode(code) + }] + }, + Write: { + UUID: ['native', (value, buffer, offset) => { + const buf = UUID.parse(value) + buf.copy(buffer, offset) + return offset + 16 + }], + restBuffer: ['native', (value, buffer, offset) => { + value.copy(buffer, offset) + return offset + value.length + }], + nbt: ['native', minecraft.nbt[1]], + optionalNbt: ['native', minecraft.optionalNbt[1]], + compressedNbt: ['native', minecraft.compressedNbt[1]], + entityMetadataLoop: ['parametrizable', (compiler, { type, endVal }) => { + let code = 'for (const i in value) {\n' + code += ' offset = ' + compiler.callType('value[i]', type) + '\n' + code += '}\n' + code += `return offset + ctx.u8(${endVal}, buffer, offset)` + return compiler.wrapCode(code) + }], + topBitSetTerminatedArray: ['parametrizable', (compiler, { type }) => { + let code = 'let prevOffset = offset\n' + code += 'let ind = 0\n' + code += 'for (const i in value) {\n' + code += ' prevOffset = offset\n' + code += ' offset = ' + compiler.callType('value[i]', type) + '\n' + code += ' buffer[prevOffset] = ind !== value.length-1 ? (buffer[prevOffset] | 128) : buffer[prevOffset]\n' + code += ' ind++\n' + code += '}\n' + code += 'return offset' + return compiler.wrapCode(code) + }] + }, + SizeOf: { + UUID: ['native', 16], + restBuffer: ['native', (value) => { + return value.length + }], + nbt: ['native', minecraft.nbt[2]], + optionalNbt: ['native', minecraft.optionalNbt[2]], + compressedNbt: ['native', minecraft.compressedNbt[2]], + entityMetadataLoop: ['parametrizable', (compiler, { type }) => { + let code = 'let size = 1\n' + code += 'for (const i in value) {\n' + code += ' size += ' + compiler.callType('value[i]', type) + '\n' + code += '}\n' + code += 'return size' + return compiler.wrapCode(code) + }], + topBitSetTerminatedArray: ['parametrizable', (compiler, { type }) => { + let code = 'let size = 0\n' + code += 'for (const i in value) {\n' + code += ' size += ' + compiler.callType('value[i]', type) + '\n' + code += '}\n' + code += 'return size' + return compiler.wrapCode(code) + }] + } +} diff --git a/node_modules/minecraft-protocol/src/datatypes/minecraft.js b/node_modules/minecraft-protocol/src/datatypes/minecraft.js new file mode 100644 index 00000000..b9b57614 --- /dev/null +++ b/node_modules/minecraft-protocol/src/datatypes/minecraft.js @@ -0,0 +1,197 @@ +'use strict' + +const nbt = require('prismarine-nbt') +const UUID = require('uuid-1345') +const zlib = require('zlib') + +module.exports = { + UUID: [readUUID, writeUUID, 16], + nbt: [readNbt, writeNbt, sizeOfNbt], + optionalNbt: [readOptionalNbt, writeOptionalNbt, sizeOfOptionalNbt], + compressedNbt: [readCompressedNbt, writeCompressedNbt, sizeOfCompressedNbt], + restBuffer: [readRestBuffer, writeRestBuffer, sizeOfRestBuffer], + entityMetadataLoop: [readEntityMetadata, writeEntityMetadata, sizeOfEntityMetadata], + topBitSetTerminatedArray: [readTopBitSetTerminatedArray, writeTopBitSetTerminatedArray, sizeOfTopBitSetTerminatedArray] +} +const PartialReadError = require('protodef').utils.PartialReadError + +function readUUID (buffer, offset) { + if (offset + 16 > buffer.length) { throw new PartialReadError() } + return { + value: UUID.stringify(buffer.slice(offset, 16 + offset)), + size: 16 + } +} + +function writeUUID (value, buffer, offset) { + const buf = UUID.parse(value) + buf.copy(buffer, offset) + return offset + 16 +} + +function readNbt (buffer, offset) { + return nbt.proto.read(buffer, offset, 'nbt') +} + +function writeNbt (value, buffer, offset) { + return nbt.proto.write(value, buffer, offset, 'nbt') +} + +function sizeOfNbt (value) { + return nbt.proto.sizeOf(value, 'nbt') +} + +function readOptionalNbt (buffer, offset) { + if (offset + 1 > buffer.length) { throw new PartialReadError() } + if (buffer.readInt8(offset) === 0) return { size: 1 } + return nbt.proto.read(buffer, offset, 'nbt') +} + +function writeOptionalNbt (value, buffer, offset) { + if (value === undefined) { + buffer.writeInt8(0, offset) + return offset + 1 + } + return nbt.proto.write(value, buffer, offset, 'nbt') +} + +function sizeOfOptionalNbt (value) { + if (value === undefined) { return 1 } + return nbt.proto.sizeOf(value, 'nbt') +} + +// Length-prefixed compressed NBT, see differences: http://wiki.vg/index.php?title=Slot_Data&diff=6056&oldid=4753 +function readCompressedNbt (buffer, offset) { + if (offset + 2 > buffer.length) { throw new PartialReadError() } + const length = buffer.readInt16BE(offset) + if (length === -1) return { size: 2 } + if (offset + 2 + length > buffer.length) { throw new PartialReadError() } + + const compressedNbt = buffer.slice(offset + 2, offset + 2 + length) + + const nbtBuffer = zlib.gunzipSync(compressedNbt) // TODO: async + + const results = nbt.proto.read(nbtBuffer, 0, 'nbt') + return { + size: length + 2, + value: results.value + } +} + +function writeCompressedNbt (value, buffer, offset) { + if (value === undefined) { + buffer.writeInt16BE(-1, offset) + return offset + 2 + } + const nbtBuffer = Buffer.alloc(sizeOfNbt(value)) + nbt.proto.write(value, nbtBuffer, 0, 'nbt') + + const compressedNbt = zlib.gzipSync(nbtBuffer) // TODO: async + compressedNbt.writeUInt8(0, 9) // clear the OS field to match MC + + buffer.writeInt16BE(compressedNbt.length, offset) + compressedNbt.copy(buffer, offset + 2) + return offset + 2 + compressedNbt.length +} + +function sizeOfCompressedNbt (value) { + if (value === undefined) { return 2 } + + const nbtBuffer = Buffer.alloc(sizeOfNbt(value, 'nbt')) + nbt.proto.write(value, nbtBuffer, 0, 'nbt') + + const compressedNbt = zlib.gzipSync(nbtBuffer) // TODO: async + + return 2 + compressedNbt.length +} + +function readRestBuffer (buffer, offset) { + return { + value: buffer.slice(offset), + size: buffer.length - offset + } +} + +function writeRestBuffer (value, buffer, offset) { + value.copy(buffer, offset) + return offset + value.length +} + +function sizeOfRestBuffer (value) { + return value.length +} + +function readEntityMetadata (buffer, offset, { type, endVal }) { + let cursor = offset + const metadata = [] + let item + while (true) { + if (offset + 1 > buffer.length) { throw new PartialReadError() } + item = buffer.readUInt8(cursor) + if (item === endVal) { + return { + value: metadata, + size: cursor + 1 - offset + } + } + const results = this.read(buffer, cursor, type, {}) + metadata.push(results.value) + cursor += results.size + } +} + +function writeEntityMetadata (value, buffer, offset, { type, endVal }) { + const self = this + value.forEach(function (item) { + offset = self.write(item, buffer, offset, type, {}) + }) + buffer.writeUInt8(endVal, offset) + return offset + 1 +} + +function sizeOfEntityMetadata (value, { type }) { + let size = 1 + for (let i = 0; i < value.length; ++i) { + size += this.sizeOf(value[i], type, {}) + } + return size +} + +function readTopBitSetTerminatedArray (buffer, offset, { type }) { + let cursor = offset + const values = [] + let item + while (true) { + if (offset + 1 > buffer.length) { throw new PartialReadError() } + item = buffer.readUInt8(cursor) + buffer[cursor] = buffer[cursor] & 127 // removes top bit + const results = this.read(buffer, cursor, type, {}) + values.push(results.value) + cursor += results.size + if ((item & 128) === 0) { // check if top bit is set, if not last value + return { + value: values, + size: cursor - offset + } + } + } +} + +function writeTopBitSetTerminatedArray (value, buffer, offset, { type }) { + const self = this + let prevOffset = offset + value.forEach(function (item, i) { + prevOffset = offset + offset = self.write(item, buffer, offset, type, {}) + buffer[prevOffset] = i !== value.length - 1 ? (buffer[prevOffset] | 128) : buffer[prevOffset] // set top bit for all values but last + }) + return offset +} + +function sizeOfTopBitSetTerminatedArray (value, { type }) { + let size = 0 + for (let i = 0; i < value.length; ++i) { + size += this.sizeOf(value[i], type, {}) + } + return size +} diff --git a/node_modules/minecraft-protocol/src/index.d.ts b/node_modules/minecraft-protocol/src/index.d.ts new file mode 100644 index 00000000..c662bce9 --- /dev/null +++ b/node_modules/minecraft-protocol/src/index.d.ts @@ -0,0 +1,154 @@ +/// + +import { EventEmitter } from 'events'; +import { Socket } from 'net' +import * as Stream from 'stream' +import { Agent } from 'http' + +declare module 'minecraft-protocol' { + export class Client extends EventEmitter { + constructor(isServer: boolean, version: string, customPackets?: any) + isServer: boolean + latency: number + profile: any + session: any + socket: Socket + state: States + username: string + uuid: string + protocolVersion: number + connect(port: number, host: string): void + end(reason: string): void + registerChannel(name: string, typeDefinition: any, custom?: boolean): void + unregisterChannel(name: string): void + write(name: string, params: any): void + writeRaw(buffer: any): void + writeChannel(channel: any, params: any): void + on(event: 'error', listener: (error: Error) => void): this + on(event: 'packet', handler: (data: any, packetMeta: PacketMeta) => void): this + on(event: 'raw', handler: (data: any, packetMeta: PacketMeta) => void): this + on(event: 'session', handler: (session: any) => void): this + on(event: 'state', handler: (newState: States, oldState: States) => void): this + on(event: 'end', handler: (reason: string) => void): this + on(event: string, handler: (data: any, packetMeta: PacketMeta)=> unknown): this + } + + export interface ClientOptions { + accessToken?: string + checkTimeoutInterval?: number + clientToken?: string + customPackets?: any + hideErrors?: boolean + host?: string + keepAlive?: boolean + password?: string + port?: number + username: string + version?: string + skipValidation?: boolean + stream?: Stream + connect?: (client: Client) => void + agent?: Agent + } + + export class Server extends EventEmitter { + constructor(version: string, customPackets?: any) + clients: ClientsMap + favicon: string + maxPlayers: number + motd: string + onlineModeExceptions: object + playerCount: number + close(): void + on(event: 'connection', handler: (client: Client) => void): this + on(event: 'error', listener: (error: Error) => void): this + on(event: 'login', handler: (client: Client) => void): this + } + + export interface ServerOptions { + 'online-mode'?: boolean + checkTimeoutInterval?: number + customPackets?: any + hideErrors?: boolean + host?: string + keepAlive?: boolean + kickTimeout?: number + maxPlayers?: number + motd?: string + port?: number + version?: string + beforePing?: (response: any, client: Client, callback?: (result: any) => any) => any + errorHandler?: (client: Client, error: Error) => void + agent?: Agent + } + + export interface SerializerOptions { + customPackets: any + isServer?: boolean + state?: States + version: string + } + + enum States { + HANDSHAKING = 'handshaking', + LOGIN = 'login', + PLAY = 'play', + STATUS = 'status', + } + + export interface PacketMeta { + name: string + state: States + } + + interface ClientsMap { + [key: string]: Client + } + + export interface PingOptions { + host?: string + majorVersion?: string + port?: number + protocolVersion?: string + version?: string + } + + export interface OldPingResult { + maxPlayers: number, + motd: string + playerCount: number + prefix: string + protocol: string + version: string + } + + export interface NewPingResult { + description: string + players: { + max: number + online: number + sample: { + id: string + name: string + }[] + } + version: { + name: string + protocol: string + } + favicon: string + latency: number + } + + export const states: typeof States + export const supportedVersions: ['1.7', '1.8', '1.9', '1.10', '1.11.2', '1.12.2', '1.13.1'] + + export function createServer(options: ServerOptions): Server + export function createClient(options: ClientOptions): Client + + // TODO: Create typings on protodef to define here + export function createSerializer({ state, isServer, version, customPackets }: SerializerOptions): any + export function createDeserializer({ state, isServer, version, customPackets }: SerializerOptions): any + + export function ping(options: PingOptions, callback: (error: Error, result: OldPingResult | NewPingResult) => void): void +} diff --git a/node_modules/minecraft-protocol/src/index.js b/node_modules/minecraft-protocol/src/index.js new file mode 100644 index 00000000..ab862afc --- /dev/null +++ b/node_modules/minecraft-protocol/src/index.js @@ -0,0 +1,19 @@ +'use strict' + +const Client = require('./client') +const Server = require('./server') +const serializer = require('./transforms/serializer') +const createClient = require('./createClient') +const createServer = require('./createServer') + +module.exports = { + createClient: createClient, + createServer: createServer, + Client: Client, + Server: Server, + states: require('./states'), + createSerializer: serializer.createSerializer, + createDeserializer: serializer.createDeserializer, + ping: require('./ping'), + supportedVersions: require('./version').supportedVersions +} diff --git a/node_modules/minecraft-protocol/src/ping.js b/node_modules/minecraft-protocol/src/ping.js new file mode 100644 index 00000000..76222e98 --- /dev/null +++ b/node_modules/minecraft-protocol/src/ping.js @@ -0,0 +1,69 @@ +'use strict' + +const Client = require('./client') +const states = require('./states') +const tcpDns = require('./client/tcp_dns') + +module.exports = ping + +function ping (options, cb) { + options.host = options.host || 'localhost' + options.port = options.port || 25565 + const optVersion = options.version || require('./version').defaultVersion + const mcData = require('minecraft-data')(optVersion) + const version = mcData.version + options.majorVersion = version.majorVersion + options.protocolVersion = version.version + let closeTimer = null + options.closeTimeout = options.closeTimeout || 120 * 1000 + options.noPongTimeout = options.noPongTimeout || 5 * 1000 + + const client = new Client(false, version.minecraftVersion) + client.on('error', function (err) { + clearTimeout(closeTimer) + cb(err) + }) + + client.once('server_info', function (packet) { + const data = JSON.parse(packet.response) + const start = Date.now() + const maxTime = setTimeout(() => { + clearTimeout(closeTimer) + cb(null, data) + client.end() + }, options.noPongTimeout) + client.once('ping', function (packet) { + data.latency = Date.now() - start + clearTimeout(maxTime) + clearTimeout(closeTimer) + cb(null, data) + client.end() + }) + client.write('ping', { time: [0, 0] }) + }) + + client.on('state', function (newState) { + if (newState === states.STATUS) { client.write('ping_start', {}) } + }) + + // TODO: refactor with src/client/setProtocol.js + client.on('connect', function () { + client.write('set_protocol', { + protocolVersion: options.protocolVersion, + serverHost: options.host, + serverPort: options.port, + nextState: 1 + }) + client.state = states.STATUS + }) + + // timeout against servers that never reply while keeping + // the connection open and alive. + closeTimer = setTimeout(function () { + client.end() + cb(new Error('ETIMEDOUT')) + }, options.closeTimeout) + + tcpDns(client, options) + options.connect(client) +} diff --git a/node_modules/minecraft-protocol/src/server.js b/node_modules/minecraft-protocol/src/server.js new file mode 100644 index 00000000..24db23fd --- /dev/null +++ b/node_modules/minecraft-protocol/src/server.js @@ -0,0 +1,64 @@ +'use strict' + +const net = require('net') +const EventEmitter = require('events').EventEmitter +const Client = require('./client') +const states = require('./states') + +class Server extends EventEmitter { + constructor (version, customPackets, hideErrors = false) { + super() + this.version = version + this.socketServer = null + this.cipher = null + this.decipher = null + this.clients = {} + this.customPackets = customPackets + this.hideErrors = hideErrors + } + + listen (port, host) { + const self = this + let nextId = 0 + self.socketServer = net.createServer() + self.socketServer.on('connection', socket => { + const client = new Client(true, this.version, this.customPackets, this.hideErrors) + client._end = client.end + client.end = function end (endReason, fullReason = JSON.stringify({ text: endReason })) { + if (client.state === states.PLAY) { + client.write('kick_disconnect', { reason: fullReason }) + } else if (client.state === states.LOGIN) { + client.write('disconnect', { reason: fullReason }) + } + client._end(endReason) + } + client.id = nextId++ + self.clients[client.id] = client + client.on('end', function () { + delete self.clients[client.id] + }) + client.setSocket(socket) + self.emit('connection', client) + }) + self.socketServer.on('error', function (err) { + self.emit('error', err) + }) + self.socketServer.on('close', function () { + self.emit('close') + }) + self.socketServer.on('listening', function () { + self.emit('listening') + }) + self.socketServer.listen(port, host) + } + + close () { + Object.keys(this.clients).forEach(clientId => { + const client = this.clients[clientId] + client.end('ServerShutdown') + }) + this.socketServer.close() + } +} + +module.exports = Server diff --git a/node_modules/minecraft-protocol/src/server/handshake.js b/node_modules/minecraft-protocol/src/server/handshake.js new file mode 100644 index 00000000..12d7fa3b --- /dev/null +++ b/node_modules/minecraft-protocol/src/server/handshake.js @@ -0,0 +1,27 @@ +const states = require('../states') + +module.exports = function (client, server, { version }) { + client.once('set_protocol', onHandshake) + + function onHandshake (packet) { + client.serverHost = packet.serverHost + client.serverPort = packet.serverPort + client.protocolVersion = packet.protocolVersion + + if (version === false || version === undefined) { + if (require('minecraft-data')(client.protocolVersion)) { + client.version = client.protocolVersion + } else { + client.end('Protocol version ' + client.protocolVersion + ' is not supported') + } + } else if (client.protocolVersion !== server.mcversion.version && packet.nextState !== 1) { + client.end('Wrong protocol version, expected: ' + server.mcversion.version + ' and you are using: ' + client.protocolVersion) + } + + if (packet.nextState === 1) { + client.state = states.STATUS + } else if (packet.nextState === 2) { + client.state = states.LOGIN + } + } +} diff --git a/node_modules/minecraft-protocol/src/server/keepalive.js b/node_modules/minecraft-protocol/src/server/keepalive.js new file mode 100644 index 00000000..3ac537a2 --- /dev/null +++ b/node_modules/minecraft-protocol/src/server/keepalive.js @@ -0,0 +1,47 @@ +module.exports = function (client, server, { + kickTimeout = 30 * 1000, + checkTimeoutInterval = 4 * 1000, + keepAlive: enableKeepAlive = true +}) { + let keepAlive = false + let lastKeepAlive = null + let keepAliveTimer = null + let sendKeepAliveTime + + function keepAliveLoop () { + if (!keepAlive) { return } + + // check if the last keepAlive was too long ago (kickTimeout) + const elapsed = new Date() - lastKeepAlive + if (elapsed > kickTimeout) { + client.end('KeepAliveTimeout') + return + } + sendKeepAliveTime = new Date() + client.write('keep_alive', { + keepAliveId: Math.floor(Math.random() * 2147483648) + }) + } + + function onKeepAlive () { + if (sendKeepAliveTime) client.latency = (new Date()) - sendKeepAliveTime + lastKeepAlive = new Date() + } + + function startKeepAlive () { + keepAlive = true + lastKeepAlive = new Date() + keepAliveTimer = setInterval(keepAliveLoop, checkTimeoutInterval) + client.on('keep_alive', onKeepAlive) + } + + if (enableKeepAlive) { + client.on('state', state => { + if (state === 'play') { + startKeepAlive() + } + }) + } + + client.on('end', () => clearInterval(keepAliveTimer)) +} diff --git a/node_modules/minecraft-protocol/src/server/login.js b/node_modules/minecraft-protocol/src/server/login.js new file mode 100644 index 00000000..6c4334ed --- /dev/null +++ b/node_modules/minecraft-protocol/src/server/login.js @@ -0,0 +1,129 @@ +const UUID = require('uuid-1345') +const bufferEqual = require('buffer-equal') +const crypto = require('crypto') +const pluginChannels = require('../client/pluginChannels') +const states = require('../states') +const yggdrasil = require('yggdrasil') + +module.exports = function (client, server, options) { + const yggdrasilServer = yggdrasil.server({ agent: options.agent }) + const { + 'online-mode': onlineMode = true, + kickTimeout = 30 * 1000, + errorHandler: clientErrorHandler = (client, err) => client.end(err) + } = options + + let serverId + + client.on('error', function (err) { + clientErrorHandler(client, err) + }) + client.on('end', () => { + clearTimeout(loginKickTimer) + }) + + client.once('login_start', onLogin) + + let loginKickTimer = setTimeout(kickForNotLoggingIn, kickTimeout) + + function onLogin (packet) { + client.username = packet.username + const isException = !!server.onlineModeExceptions[client.username.toLowerCase()] + const needToVerify = (onlineMode && !isException) || (!onlineMode && isException) + if (needToVerify) { + serverId = crypto.randomBytes(4).toString('hex') + client.verifyToken = crypto.randomBytes(4) + const publicKeyStrArr = server.serverKey.exportKey('pkcs8-public-pem').split('\n') + let publicKeyStr = '' + for (let i = 1; i < publicKeyStrArr.length - 1; i++) { + publicKeyStr += publicKeyStrArr[i] + } + client.publicKey = Buffer.from(publicKeyStr, 'base64') + client.once('encryption_begin', onEncryptionKeyResponse) + client.write('encryption_begin', { + serverId: serverId, + publicKey: client.publicKey, + verifyToken: client.verifyToken + }) + } else { + loginClient() + } + } + + function kickForNotLoggingIn () { + client.end('LoginTimeout') + } + + function onEncryptionKeyResponse (packet) { + let sharedSecret + try { + const verifyToken = crypto.privateDecrypt({ key: server.serverKey.exportKey(), padding: crypto.constants.RSA_PKCS1_PADDING }, packet.verifyToken) + if (!bufferEqual(client.verifyToken, verifyToken)) { + client.end('DidNotEncryptVerifyTokenProperly') + return + } + sharedSecret = crypto.privateDecrypt({ key: server.serverKey.exportKey(), padding: crypto.constants.RSA_PKCS1_PADDING }, packet.sharedSecret) + } catch (e) { + client.end('DidNotEncryptVerifyTokenProperly') + return + } + client.setEncryption(sharedSecret) + + const isException = !!server.onlineModeExceptions[client.username.toLowerCase()] + const needToVerify = (onlineMode && !isException) || (!onlineMode && isException) + const nextStep = needToVerify ? verifyUsername : loginClient + nextStep() + + function verifyUsername () { + yggdrasilServer.hasJoined(client.username, serverId, sharedSecret, client.publicKey, function (err, profile) { + if (err) { + client.end('Failed to verify username!') + return + } + // Convert to a valid UUID until the session server updates and does + // it automatically + client.uuid = profile.id.replace(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/, '$1-$2-$3-$4-$5') + client.username = profile.name + client.profile = profile + loginClient() + }) + } + } + + // https://github.com/openjdk-mirror/jdk7u-jdk/blob/f4d80957e89a19a29bb9f9807d2a28351ed7f7df/src/share/classes/java/util/UUID.java#L163 + function javaUUID (s) { + const hash = crypto.createHash('md5') + hash.update(s, 'utf8') + const buffer = hash.digest() + buffer[6] = (buffer[6] & 0x0f) | 0x30 + buffer[8] = (buffer[8] & 0x3f) | 0x80 + return buffer + } + + function nameToMcOfflineUUID (name) { + return (new UUID(javaUUID('OfflinePlayer:' + name))).toString() + } + + function loginClient () { + const isException = !!server.onlineModeExceptions[client.username.toLowerCase()] + if (onlineMode === false || isException) { + client.uuid = nameToMcOfflineUUID(client.username) + } + if (client.protocolVersion >= 27) { // 14w28a (27) added whole-protocol compression (http://wiki.vg/Protocol_History#14w28a), earlier versions per-packet compressed TODO: refactor into minecraft-data + client.write('compress', { threshold: 256 }) // Default threshold is 256 + client.compressionThreshold = 256 + } + client.write('success', { uuid: client.uuid, username: client.username }) + client.state = states.PLAY + + clearTimeout(loginKickTimer) + loginKickTimer = null + + server.playerCount += 1 + client.once('end', function () { + server.playerCount -= 1 + }) + pluginChannels(client, options) + server.emit('login', client) + } +} diff --git a/node_modules/minecraft-protocol/src/server/ping.js b/node_modules/minecraft-protocol/src/server/ping.js new file mode 100644 index 00000000..f72fca5f --- /dev/null +++ b/node_modules/minecraft-protocol/src/server/ping.js @@ -0,0 +1,70 @@ +const endianToggle = require('endian-toggle') + +module.exports = function (client, server, { beforePing = null }) { + client.once('ping_start', onPing) + client.once('legacy_server_list_ping', onLegacyPing) + + function onPing () { + const response = { + version: { + name: server.mcversion.minecraftVersion, + protocol: server.mcversion.version + }, + players: { + max: server.maxPlayers, + online: server.playerCount, + sample: [] + }, + description: { text: server.motd }, + favicon: server.favicon + } + + function answerToPing (err, response) { + if (err) return + client.write('server_info', { response: JSON.stringify(response) }) + } + + if (beforePing) { + if (beforePing.length > 2) { + beforePing(response, client, answerToPing) + } else { + answerToPing(null, beforePing(response, client) || response) + } + } else { + answerToPing(null, response) + } + + client.once('ping', function (packet) { + client.write('ping', { time: packet.time }) + client.end() + }) + } + + function onLegacyPing (packet) { + if (packet.payload === 1) { + const pingVersion = 1 + sendPingResponse('\xa7' + [pingVersion, server.mcversion.version, server.mcversion.minecraftVersion, + server.motd, server.playerCount.toString(), server.maxPlayers.toString()].join('\0')) + } else { + // ping type 0 + sendPingResponse([server.motd, server.playerCount.toString(), server.maxPlayers.toString()].join('\xa7')) + } + + function sendPingResponse (responseString) { + function utf16be (s) { + return endianToggle(Buffer.from(s, 'utf16le'), 16) + } + + const responseBuffer = utf16be(responseString) + + const length = responseString.length // UCS2 characters, not bytes + const lengthBuffer = Buffer.alloc(2) + lengthBuffer.writeUInt16BE(length) + + const raw = Buffer.concat([Buffer.from('ff', 'hex'), lengthBuffer, responseBuffer]) + + // client.writeRaw(raw); // not raw enough, it includes length + client.socket.write(raw) + } + } +} diff --git a/node_modules/minecraft-protocol/src/states.js b/node_modules/minecraft-protocol/src/states.js new file mode 100644 index 00000000..ba4792fd --- /dev/null +++ b/node_modules/minecraft-protocol/src/states.js @@ -0,0 +1,10 @@ +'use strict' + +const states = { + HANDSHAKING: 'handshaking', + STATUS: 'status', + LOGIN: 'login', + PLAY: 'play' +} + +module.exports = states diff --git a/node_modules/minecraft-protocol/src/transforms/compression.js b/node_modules/minecraft-protocol/src/transforms/compression.js new file mode 100644 index 00000000..45b06352 --- /dev/null +++ b/node_modules/minecraft-protocol/src/transforms/compression.js @@ -0,0 +1,74 @@ +'use strict' + +const [readVarInt, writeVarInt, sizeOfVarInt] = require('protodef').types.varint +const zlib = require('zlib') +const Transform = require('readable-stream').Transform + +module.exports.createCompressor = function (threshold) { + return new Compressor(threshold) +} + +module.exports.createDecompressor = function (threshold, hideErrors) { + return new Decompressor(threshold, hideErrors) +} + +class Compressor extends Transform { + constructor (compressionThreshold = -1) { + super() + this.compressionThreshold = compressionThreshold + } + + _transform (chunk, enc, cb) { + if (chunk.length >= this.compressionThreshold) { + zlib.deflate(chunk, (err, newChunk) => { + if (err) { return cb(err) } + const buf = Buffer.alloc(sizeOfVarInt(chunk.length) + newChunk.length) + const offset = writeVarInt(chunk.length, buf, 0) + newChunk.copy(buf, offset) + this.push(buf) + return cb() + }) + } else { + const buf = Buffer.alloc(sizeOfVarInt(0) + chunk.length) + const offset = writeVarInt(0, buf, 0) + chunk.copy(buf, offset) + this.push(buf) + return cb() + } + } +} + +class Decompressor extends Transform { + constructor (compressionThreshold = -1, hideErrors = false) { + super() + this.compressionThreshold = compressionThreshold + this.hideErrors = hideErrors + } + + _transform (chunk, enc, cb) { + const { size, value, error } = readVarInt(chunk, 0) + if (error) { return cb(error) } + if (value === 0) { + this.push(chunk.slice(size)) + return cb() + } else { + zlib.unzip(chunk.slice(size), { finishFlush: 2 /* Z_SYNC_FLUSH = 2, but when using Browserify/Webpack it doesn't exist */ }, (err, newBuf) => { /** Fix by lefela4. */ + if (err) { + if (!this.hideErrors) { + console.error('problem inflating chunk') + console.error('uncompressed length ' + value) + console.error('compressed length ' + chunk.length) + console.error('hex ' + chunk.toString('hex')) + console.log(err) + } + return cb() + } + if (newBuf.length !== value && !this.hideErrors) { + console.error('uncompressed length should be ' + value + ' but is ' + newBuf.length) + } + this.push(newBuf) + return cb() + }) + } + } +} diff --git a/node_modules/minecraft-protocol/src/transforms/encryption.js b/node_modules/minecraft-protocol/src/transforms/encryption.js new file mode 100644 index 00000000..00a82013 --- /dev/null +++ b/node_modules/minecraft-protocol/src/transforms/encryption.js @@ -0,0 +1,54 @@ +const Transform = require('readable-stream').Transform +const crypto = require('crypto') +const aesjs = require('aes-js') + +function createCipher (secret) { + if (crypto.getCiphers().includes('aes-128-cfb8')) { + return crypto.createCipheriv('aes-128-cfb8', secret, secret) + } + return new Cipher(secret) +} + +function createDecipher (secret) { + if (crypto.getCiphers().includes('aes-128-cfb8')) { + return crypto.createDecipheriv('aes-128-cfb8', secret, secret) + } + return new Decipher(secret) +} + +class Cipher extends Transform { + constructor (secret) { + super() + this.aes = new aesjs.ModeOfOperation.cfb(secret, secret, 1) // eslint-disable-line new-cap + } + + _transform (chunk, enc, cb) { + try { + const res = this.aes.encrypt(chunk) + cb(null, res) + } catch (e) { + cb(e) + } + } +} + +class Decipher extends Transform { + constructor (secret) { + super() + this.aes = new aesjs.ModeOfOperation.cfb(secret, secret, 1) // eslint-disable-line new-cap + } + + _transform (chunk, enc, cb) { + try { + const res = this.aes.decrypt(chunk) + cb(null, res) + } catch (e) { + cb(e) + } + } +} + +module.exports = { + createCipher: createCipher, + createDecipher: createDecipher +} diff --git a/node_modules/minecraft-protocol/src/transforms/framing.js b/node_modules/minecraft-protocol/src/transforms/framing.js new file mode 100644 index 00000000..5dbadada --- /dev/null +++ b/node_modules/minecraft-protocol/src/transforms/framing.js @@ -0,0 +1,74 @@ +'use strict' + +const [readVarInt, writeVarInt, sizeOfVarInt] = require('protodef').types.varint +const Transform = require('readable-stream').Transform + +module.exports.createSplitter = function () { + return new Splitter() +} + +module.exports.createFramer = function () { + return new Framer() +} + +class Framer extends Transform { + _transform (chunk, enc, cb) { + const varIntSize = sizeOfVarInt(chunk.length) + const buffer = Buffer.alloc(varIntSize + chunk.length) + writeVarInt(chunk.length, buffer, 0) + chunk.copy(buffer, varIntSize) + this.push(buffer) + return cb() + } +} + +const LEGACY_PING_PACKET_ID = 0xfe + +class Splitter extends Transform { + constructor () { + super() + this.buffer = Buffer.alloc(0) + this.recognizeLegacyPing = false + } + + _transform (chunk, enc, cb) { + this.buffer = Buffer.concat([this.buffer, chunk]) + + if (this.recognizeLegacyPing && this.buffer[0] === LEGACY_PING_PACKET_ID) { + // legacy_server_list_ping packet follows a different protocol format + // prefix the encoded varint packet id for the deserializer + const header = Buffer.alloc(sizeOfVarInt(LEGACY_PING_PACKET_ID)) + writeVarInt(LEGACY_PING_PACKET_ID, header, 0) + let payload = this.buffer.slice(1) // remove 0xfe packet id + if (payload.length === 0) payload = Buffer.from('\0') // TODO: update minecraft-data to recognize a lone 0xfe, https://github.com/PrismarineJS/minecraft-data/issues/95 + this.push(Buffer.concat([header, payload])) + return cb() + } + + let offset = 0 + let value, size + let stop = false + try { + ({ value, size } = readVarInt(this.buffer, offset)) + } catch (e) { + if (!(e.partialReadError)) { + throw e + } else { stop = true } + } + if (!stop) { + while (this.buffer.length >= offset + size + value) { + try { + this.push(this.buffer.slice(offset + size, offset + size + value)) + offset += size + value; + ({ value, size } = readVarInt(this.buffer, offset)) + } catch (e) { + if (e.partialReadError) { + break + } else { throw e } + } + } + } + this.buffer = this.buffer.slice(offset) + return cb() + } +} diff --git a/node_modules/minecraft-protocol/src/transforms/serializer.js b/node_modules/minecraft-protocol/src/transforms/serializer.js new file mode 100644 index 00000000..948ac80c --- /dev/null +++ b/node_modules/minecraft-protocol/src/transforms/serializer.js @@ -0,0 +1,47 @@ +'use strict' + +const ProtoDef = require('protodef').ProtoDef +const Serializer = require('protodef').Serializer +const Parser = require('protodef').FullPacketParser +const { ProtoDefCompiler } = require('protodef').Compiler + +const minecraft = require('../datatypes/minecraft') +const states = require('../states') +const merge = require('lodash.merge') +const get = require('lodash.get') + +const protocols = {} + +function createProtocol (state, direction, version, customPackets, compiled = true) { + const key = state + ';' + direction + ';' + version + (compiled ? ';c' : '') + if (protocols[key]) { return protocols[key] } + const mcData = require('minecraft-data')(version) + + if (compiled) { + const compiler = new ProtoDefCompiler() + compiler.addTypes(require('../datatypes/compiler-minecraft')) + compiler.addProtocol(merge(mcData.protocol, get(customPackets, [mcData.version.majorVersion])), [state, direction]) + const proto = compiler.compileProtoDefSync() + protocols[key] = proto + return proto + } + + const proto = new ProtoDef(false) + proto.addTypes(minecraft) + proto.addProtocol(merge(mcData.protocol, get(customPackets, [mcData.version.majorVersion])), [state, direction]) + protocols[key] = proto + return proto +} + +function createSerializer ({ state = states.HANDSHAKING, isServer = false, version, customPackets, compiled = true } = {}) { + return new Serializer(createProtocol(state, !isServer ? 'toServer' : 'toClient', version, customPackets, compiled), 'packet') +} + +function createDeserializer ({ state = states.HANDSHAKING, isServer = false, version, customPackets, compiled = true, noErrorLogging = false } = {}) { + return new Parser(createProtocol(state, isServer ? 'toServer' : 'toClient', version, customPackets, compiled), 'packet', noErrorLogging) +} + +module.exports = { + createSerializer: createSerializer, + createDeserializer: createDeserializer +} diff --git a/node_modules/minecraft-protocol/src/version.js b/node_modules/minecraft-protocol/src/version.js new file mode 100644 index 00000000..1b28d0e6 --- /dev/null +++ b/node_modules/minecraft-protocol/src/version.js @@ -0,0 +1,6 @@ +'use strict' + +module.exports = { + defaultVersion: '1.16.4', + supportedVersions: ['1.7', '1.8', '1.9', '1.10', '1.11.2', '1.12.2', '1.13.2', '1.14.4', '1.15.2', '1.16.4'] +} diff --git a/node_modules/minecraft-protocol/test/benchmark.js b/node_modules/minecraft-protocol/test/benchmark.js new file mode 100644 index 00000000..800409e0 --- /dev/null +++ b/node_modules/minecraft-protocol/test/benchmark.js @@ -0,0 +1,52 @@ +/* eslint-env mocha */ + +const ITERATIONS = 10000 + +const mc = require('../') +const states = mc.states + +const testDataWrite = [ + { name: 'keep_alive', params: { keepAliveId: 957759560 } }, + { name: 'chat', params: { message: ' Hello World!' } }, + { name: 'position_look', params: { x: 6.5, y: 65.62, stance: 67.24, z: 7.5, yaw: 0, pitch: 0, onGround: true } } + // TODO: add more packets for better quality data +] + +const { firstVersion, lastVersion } = require('./common/parallel') +console.log({ firstVersion, lastVersion }) + +mc.supportedVersions.forEach(function (supportedVersion, i) { + if (!(i >= firstVersion && i <= lastVersion)) { return } + + const mcData = require('minecraft-data')(supportedVersion) + const version = mcData.version + describe('benchmark ' + version.minecraftVersion, function () { + this.timeout(60 * 1000) + const inputData = [] + it('bench serializing', function (done) { + const serializer = mc.createSerializer({ state: states.PLAY, isServer: false, version: version.minecraftVersion }) + let i, j + console.log('Beginning write test') + const start = Date.now() + for (i = 0; i < ITERATIONS; i++) { + for (j = 0; j < testDataWrite.length; j++) { + inputData.push(serializer.createPacketBuffer(testDataWrite[j])) + } + } + const result = (Date.now() - start) / 1000 + console.log('Finished write test in ' + result + ' seconds') + done() + }) + + it('bench parsing', function (done) { + const deserializer = mc.createDeserializer({ state: states.PLAY, isServer: true, version: version.minecraftVersion }) + console.log('Beginning read test') + const start = Date.now() + for (let j = 0; j < inputData.length; j++) { + deserializer.parsePacketBuffer(inputData[j]) + } + console.log('Finished read test in ' + (Date.now() - start) / 1000 + ' seconds') + done() + }) + }) +}) diff --git a/node_modules/minecraft-protocol/test/clientTest.js b/node_modules/minecraft-protocol/test/clientTest.js new file mode 100644 index 00000000..39797efb --- /dev/null +++ b/node_modules/minecraft-protocol/test/clientTest.js @@ -0,0 +1,260 @@ +/* eslint-env mocha */ + +const mc = require('../') +const os = require('os') +const path = require('path') +const assert = require('power-assert') +const SURVIVE_TIME = 10000 +const MC_SERVER_PATH = path.join(__dirname, 'server') + +const Wrap = require('minecraft-wrap').Wrap + +const { firstVersion, lastVersion } = require('./common/parallel') + +const download = require('minecraft-wrap').download + +mc.supportedVersions.forEach(function (supportedVersion, i) { + if (!(i >= firstVersion && i <= lastVersion)) { return } + + const PORT = Math.round(30000 + Math.random() * 20000) + const mcData = require('minecraft-data')(supportedVersion) + const version = mcData.version + const MC_SERVER_JAR_DIR = process.env.MC_SERVER_JAR_DIR || os.tmpdir() + const MC_SERVER_JAR = MC_SERVER_JAR_DIR + '/minecraft_server.' + version.minecraftVersion + '.jar' + const wrap = new Wrap(MC_SERVER_JAR, MC_SERVER_PATH + '_' + supportedVersion, { + minMem: 1024, + maxMem: 1024 + }) + wrap.on('line', function (line) { + console.log(line) + }) + + describe('client ' + version.minecraftVersion, function () { + this.timeout(10 * 60 * 1000) + + before(download.bind(null, version.minecraftVersion, MC_SERVER_JAR)) + + after(function (done) { + wrap.deleteServerData(function (err) { + if (err) { console.log(err) } + done(err) + }) + }) + + describe('offline', function () { + before(function (done) { + console.log(new Date() + 'starting server ' + version.minecraftVersion) + wrap.startServer({ + 'online-mode': 'false', + 'server-port': PORT, + motd: 'test1234', + 'max-players': 120 + }, function (err) { + if (err) { console.log(err) } + console.log(new Date() + 'started server ' + version.minecraftVersion) + done(err) + }) + }) + + after(function (done) { + console.log(new Date() + 'stopping server' + version.minecraftVersion) + wrap.stopServer(function (err) { + if (err) { console.log(err) } + console.log(new Date() + 'stopped server ' + version.minecraftVersion) + done(err) + }) + }) + + it('pings the server', function (done) { + mc.ping({ + version: version.minecraftVersion, + port: PORT + }, function (err, results) { + if (err) return done(err) + assert.ok(results.latency >= 0) + assert.ok(results.latency <= 1000) + delete results.latency + delete results.favicon // too lazy to figure it out + /* assert.deepEqual(results, { + version: { + name: '1.7.4', + protocol: 4 + }, + description: { text: "test1234" } + }); */ + done() + }) + }) + + it('connects successfully - offline mode', function (done) { + const client = mc.createClient({ + username: 'Player', + version: version.minecraftVersion, + port: PORT + }) + client.on('error', err => done(err)) + const lineListener = function (line) { + const match = line.match(/\[Server thread\/INFO\]: <(.+?)> (.+)/) + if (!match) return + assert.strictEqual(match[1], 'Player') + assert.strictEqual(match[2], 'hello everyone; I have logged in.') + wrap.writeServer('say hello\n') + } + wrap.on('line', lineListener) + let chatCount = 0 + client.on('login', function (packet) { + assert.strictEqual(packet.gameMode, 0) + client.write('chat', { + message: 'hello everyone; I have logged in.' + }) + }) + client.on('chat', function (packet) { + chatCount += 1 + assert.ok(chatCount <= 2) + const message = JSON.parse(packet.message) + if (chatCount === 1) { + assert.strictEqual(message.translate, 'chat.type.text') + assert.deepEqual(message.with[0].clickEvent, { + action: 'suggest_command', + value: mcData.version.version > 340 ? '/tell Player ' : '/msg Player ' + }) + assert.deepEqual(message.with[0].text, 'Player') + assert.strictEqual(message.with[1], 'hello everyone; I have logged in.') + } else if (chatCount === 2) { + assert.strictEqual(message.translate, 'chat.type.announcement') + assert.strictEqual(message.with[0].text ? message.with[0].text : message.with[0], 'Server') + assert.deepEqual(message.with[1].extra + ? (message.with[1].extra[0].text + ? message.with[1].extra[0].text + : message.with[1].extra[0]) + : message.with[1].text, 'hello') + wrap.removeListener('line', lineListener) + client.end() + done() + } + }) + }) + + it('does not crash for ' + SURVIVE_TIME + 'ms', function (done) { + const client = mc.createClient({ + username: 'Player', + version: version.minecraftVersion, + port: PORT + }) + client.on('error', err => done(err)) + client.on('login', function () { + client.write('chat', { + message: 'hello everyone; I have logged in.' + }) + setTimeout(function () { + client.end() + done() + }, SURVIVE_TIME) + }) + }) + + it('produce a decent error when connecting with the wrong version', function (done) { + const client = mc.createClient({ + username: 'Player', + version: version.minecraftVersion === '1.8.8' ? '1.11.2' : '1.8.8', + port: PORT + }) + client.once('error', function (err) { + if (err.message.startsWith('This server is version')) { + console.log(new Date() + 'Correctly got an error for wrong version : ' + err.message) + client.end() + done() + } else { + client.end() + done(err) + } + client.on('error', err => { + if (err.message.indexOf('ECONNRESET') === -1) { + done(err) + } + }) + }) + }) + }) + + describe('online', function () { + before(function (done) { + console.log(new Date() + 'starting server ' + version.minecraftVersion) + wrap.startServer({ + 'online-mode': 'true', + 'server-port': PORT + }, function (err) { + if (err) { console.log(err) } + console.log(new Date() + 'started server ' + version.minecraftVersion) + done(err) + }) + }) + + after(function (done) { + console.log(new Date() + 'stopping server ' + version.minecraftVersion) + wrap.stopServer(function (err) { + if (err) { console.log(err) } + console.log(new Date() + 'stopped server ' + version.minecraftVersion) + done(err) + }) + }) + + it.skip('connects successfully - online mode', function (done) { + const client = mc.createClient({ + username: process.env.MC_USERNAME, + password: process.env.MC_PASSWORD, + version: version.minecraftVersion, + port: PORT + }) + client.on('error', err => done(err)) + const lineListener = function (line) { + const match = line.match(/\[Server thread\/INFO\]: <(.+?)> (.+)/) + if (!match) return + assert.strictEqual(match[1], client.username) + assert.strictEqual(match[2], 'hello everyone; I have logged in.') + wrap.writeServer('say hello\n') + } + wrap.on('line', lineListener) + client.on('login', function (packet) { + assert.strictEqual(packet.levelType, 'default') + assert.strictEqual(packet.difficulty, 1) + assert.strictEqual(packet.dimension, 0) + assert.strictEqual(packet.gameMode, 0) + client.write('chat', { + message: 'hello everyone; I have logged in.' + }) + }) + let chatCount = 0 + client.on('chat', function (packet) { + chatCount += 1 + assert.ok(chatCount <= 2) + if (chatCount === 2) { + client.removeAllListeners('chat') + wrap.removeListener('line', lineListener) + client.end() + done() + } + }) + }) + + it('gets kicked when no credentials supplied in online mode', function (done) { + const client = mc.createClient({ + username: 'Player', + version: version.minecraftVersion, + port: PORT + }) + client.on('error', err => done(err)) + let gotKicked = false + client.on('disconnect', function (packet) { + assert.ok(packet.reason.indexOf('"Failed to verify username!"') !== -1 || packet.reason.indexOf('multiplayer.disconnect.unverified_username') !== -1) + gotKicked = true + }) + client.on('end', function () { + assert.ok(gotKicked) + client.end() + done() + }) + }) + }) + }) +}) diff --git a/node_modules/minecraft-protocol/test/common/parallel.js b/node_modules/minecraft-protocol/test/common/parallel.js new file mode 100644 index 00000000..690d6bda --- /dev/null +++ b/node_modules/minecraft-protocol/test/common/parallel.js @@ -0,0 +1,20 @@ +const nodeIndex = parseInt(process.env.CIRCLE_NODE_INDEX) +const nodeTotal = parseInt(process.env.CIRCLE_NODE_TOTAL) +const parallel = process.env.CIRCLE_NODE_INDEX !== undefined && process.env.CIRCLE_NODE_TOTAL !== undefined +const mc = require('../../') + +// expected values : +// (0,4,10) -> (0,2) +// (1,4,10) -> (3,5) +// (2,4,10) -> (6,8) +// (3,4,10) -> (9,9) +function testedRange (nodeIndex, nodeTotal, numberOfVersions) { + const nbFirsts = Math.ceil(numberOfVersions / nodeTotal) + if (nodeIndex === (nodeTotal - 1)) { return { firstVersion: nbFirsts * nodeIndex, lastVersion: numberOfVersions - 1 } } + + return { firstVersion: nodeIndex * nbFirsts, lastVersion: (nodeIndex + 1) * nbFirsts - 1 } +} +console.log({ nodeIndex, nodeTotal, versions: mc.supportedVersions.length }) +const { firstVersion, lastVersion } = parallel ? testedRange(nodeIndex, nodeTotal, mc.supportedVersions.length) : { firstVersion: 0, lastVersion: mc.supportedVersions.length - 1 } + +module.exports = { firstVersion, lastVersion } diff --git a/node_modules/minecraft-protocol/test/packetTest.js b/node_modules/minecraft-protocol/test/packetTest.js new file mode 100644 index 00000000..761a0ccf --- /dev/null +++ b/node_modules/minecraft-protocol/test/packetTest.js @@ -0,0 +1,287 @@ +/* eslint-env mocha */ + +const mc = require('../') +const Client = mc.Client +const Server = mc.Server +const net = require('net') +const assert = require('power-assert') +const getFieldInfo = require('protodef').utils.getFieldInfo +const getField = require('protodef').utils.getField + +function evalCount (count, fields) { + if (fields[count.field] in count.map) { return count.map[fields[count.field]] } + return count.default +} + +const slotValue = { + present: true, + blockId: 5, + itemCount: 56, + itemDamage: 2, + nbtData: { + type: 'compound', + name: 'test', + value: { + test1: { type: 'int', value: 4 }, + test2: { type: 'long', value: [12, 42] }, + test3: { type: 'byteArray', value: [32] }, + test4: { type: 'string', value: 'ohi' }, + test5: { type: 'list', value: { type: 'int', value: [4] } }, + test6: { type: 'compound', value: { test: { type: 'int', value: 4 } } }, + test7: { type: 'intArray', value: [12, 42] } + } + } +} + +const values = { + i32: 123456, + i16: -123, + u16: 123, + varint: 1, + i8: -10, + u8: 8, + string: 'hi hi this is my client string', + buffer: Buffer.alloc(8), + array: function (typeArgs, context) { + let count + if (typeof typeArgs.count === 'number') { + count = typeArgs.count + } else if (typeof typeArgs.count === 'object') { + count = evalCount(typeArgs.count, context) + } else if (typeArgs.count !== undefined) { + count = getField(typeArgs.count, context) + } else if (typeArgs.countType !== undefined) { + count = 1 + } + const arr = [] + while (count > 0) { + arr.push(getValue(typeArgs.type, context)) + count-- + } + return arr + }, + container: function (typeArgs, context) { + const results = { + '..': context + } + Object.keys(typeArgs).forEach(function (index) { + const v = typeArgs[index].name === 'type' && typeArgs[index].type === 'string' && typeArgs[2] !== undefined && + typeArgs[2].type !== undefined + ? (typeArgs[2].type[1].fields['minecraft:crafting_shapeless'] === undefined ? 'crafting_shapeless' : 'minecraft:crafting_shapeless') + : getValue(typeArgs[index].type, results) + if (typeArgs[index].anon) { + Object.keys(v).forEach(key => { + results[key] = v[key] + }) + } else { + results[typeArgs[index].name] = v + } + }) + delete results['..'] + return results + }, + count: 1, // TODO : might want to set this to a correct value + bool: true, + f64: 99999.2222, + f32: -333.444, + slot: slotValue, + nbt: { + type: 'compound', + name: 'test', + value: { + test1: { type: 'int', value: 4 }, + test2: { type: 'long', value: [12, 42] }, + test3: { type: 'byteArray', value: [32] }, + test4: { type: 'string', value: 'ohi' }, + test5: { type: 'list', value: { type: 'int', value: [4] } }, + test6: { type: 'compound', value: { test: { type: 'int', value: 4 } } }, + test7: { type: 'intArray', value: [12, 42] } + } + }, + optionalNbt: { + type: 'compound', + name: 'test', + value: { + test1: { type: 'int', value: 4 }, + test2: { type: 'long', value: [12, 42] }, + test3: { type: 'byteArray', value: [32] }, + test4: { type: 'string', value: 'ohi' }, + test5: { type: 'list', value: { type: 'int', value: [4] } }, + test6: { type: 'compound', value: { test: { type: 'int', value: 4 } } }, + test7: { type: 'intArray', value: [12, 42] } + } + }, + compressedNbt: { + type: 'compound', + name: 'test', + value: { + test1: { type: 'int', value: 4 }, + test2: { type: 'long', value: [12, 42] }, + test3: { type: 'byteArray', value: [32] }, + test4: { type: 'string', value: 'ohi' }, + test5: { type: 'list', value: { type: 'int', value: [4] } }, + test6: { type: 'compound', value: { test: { type: 'int', value: 4 } } }, + test7: { type: 'intArray', value: [12, 42] } + } + }, + i64: [0, 1], + u64: [0, 1], + entityMetadata: [ + { key: 17, value: 0, type: 0 } + ], + topBitSetTerminatedArray: [ + { + slot: 0, + item: slotValue + }, + { + slot: 1, + item: slotValue + } + ], + objectData: { + intField: 9, + velocityX: 1, + velocityY: 2, + velocityZ: 3 + }, + UUID: '00112233-4455-6677-8899-aabbccddeeff', + position: { x: 12, y: 100, z: 4382821 }, + position_ibi: { x: 12, y: 100, z: 4382821 }, + position_isi: { x: 12, y: 100, z: 4382821 }, + position_iii: { x: 12, y: 100, z: 4382821 }, + restBuffer: Buffer.alloc(0), + switch: function (typeArgs, context) { + const i = typeArgs.fields[getField(typeArgs.compareTo, context)] + if (i === undefined) { + if (typeArgs.default === undefined) { + throw new Error("couldn't find the field " + typeArgs.compareTo + + ' of the compareTo and the default is not defined') + } + return getValue(typeArgs.default, context) + } else { return getValue(i, context) } + }, + option: function (typeArgs, context) { + return getValue(typeArgs, context) + }, + bitfield: function (typeArgs, context) { + const results = {} + Object.keys(typeArgs).forEach(function (index) { + results[typeArgs[index].name] = 1 + }) + return results + }, + tags: [{ tagName: 'hi', entries: [1, 2, 3, 4, 5] }], + ingredient: [slotValue], + particleData: null +} + +function getValue (_type, packet) { + const fieldInfo = getFieldInfo(_type) + if (typeof values[fieldInfo.type] === 'function') { + return values[fieldInfo.type](fieldInfo.typeArgs, packet) + } else if (values[fieldInfo.type] !== undefined) { + return values[fieldInfo.type] + } else if (fieldInfo.type !== 'void') { + throw new Error('No value for type ' + fieldInfo.type) + } +} + +const { firstVersion, lastVersion } = require('./common/parallel') + +mc.supportedVersions.forEach(function (supportedVersion, i) { + if (!(i >= firstVersion && i <= lastVersion)) { return } + + const PORT = Math.round(30000 + Math.random() * 20000) + const mcData = require('minecraft-data')(supportedVersion) + const version = mcData.version + const packets = mcData.protocol + + describe('packets ' + version.minecraftVersion, function () { + let client, server, serverClient + before(function (done) { + server = new Server(version.minecraftVersion) + server.once('listening', function () { + server.once('connection', function (c) { + serverClient = c + done() + }) + client = new Client(false, version.minecraftVersion) + client.setSocket(net.connect(PORT, 'localhost')) + }) + server.listen(PORT, 'localhost') + }) + after(function (done) { + client.on('end', function () { + server.on('close', done) + server.close() + }) + client.end() + }) + let packetInfo + Object.keys(packets).filter(function (state) { return state !== 'types' }) + .forEach(function (state) { + Object.keys(packets[state]).forEach(function (direction) { + Object.keys(packets[state][direction].types) + .filter(function (packetName) { + return packetName !== 'packet' && + packetName.startsWith('packet_') + }) + .forEach(function (packetName) { + packetInfo = packets[state][direction].types[packetName] + packetInfo = packetInfo || null + it(state + ',' + (direction === 'toServer' ? 'Server' : 'Client') + 'Bound,' + packetName, + callTestPacket(packetName.substr(7), packetInfo, state, direction === 'toServer')) + }) + }) + }) + function callTestPacket (packetName, packetInfo, state, toServer) { + return function (done) { + client.state = state + serverClient.state = state + testPacket(packetName, packetInfo, state, toServer, done) + } + } + + function testPacket (packetName, packetInfo, state, toServer, done) { + // empty object uses default values + const packet = getValue(packetInfo, {}) + if (toServer) { + serverClient.once(packetName, function (receivedPacket) { + try { + assertPacketsMatch(packet, receivedPacket) + } catch (e) { + console.log(packet, receivedPacket) + throw e + } + done() + }) + client.write(packetName, packet) + } else { + client.once(packetName, function (receivedPacket) { + assertPacketsMatch(packet, receivedPacket) + done() + }) + serverClient.write(packetName, packet) + } + } + + function assertPacketsMatch (p1, p2) { + packetInfo.forEach(function (field) { + assert.deepEqual(p1[field], p2[field]) + }) + Object.keys(p1).forEach(function (field) { + if (p1[field] !== undefined) { + assert.ok(field in p2, 'field ' + field + + ' missing in p2, in p1 it has value ' + JSON.stringify(p1[field])) + } + }) + Object.keys(p2).forEach(function (field) { + if (p2[field] !== undefined) { + assert.ok(field in p1, 'field ' + field + ' missing in p1, in p2 it has value ' + + JSON.stringify(p2[field])) + } + }) + } + }) +}) diff --git a/node_modules/minecraft-protocol/test/serverTest.js b/node_modules/minecraft-protocol/test/serverTest.js new file mode 100644 index 00000000..2515189d --- /dev/null +++ b/node_modules/minecraft-protocol/test/serverTest.js @@ -0,0 +1,374 @@ +/* eslint-env mocha */ + +const mc = require('../') +const assert = require('power-assert') + +const { firstVersion, lastVersion } = require('./common/parallel') +const w = { + piglin_safe: { + type: 'byte', + value: 0 + }, + natural: { + type: 'byte', + value: 1 + }, + ambient_light: { + type: 'float', + value: 0 + }, + infiniburn: { + type: 'string', + value: 'minecraft:infiniburn_overworld' + }, + respawn_anchor_works: { + type: 'byte', + value: 0 + }, + has_skylight: { + type: 'byte', + value: 1 + }, + bed_works: { + type: 'byte', + value: 1 + }, + has_raids: { + type: 'byte', + value: 1 + }, + name: { + type: 'string', + value: 'minecraft:overworld' + }, + logical_height: { + type: 'int', + value: 256 + }, + shrunk: { + type: 'byte', + value: 0 + }, + ultrawarm: { + type: 'byte', + value: 0 + }, + has_ceiling: { + type: 'byte', + value: 0 + } +} + +mc.supportedVersions.forEach(function (supportedVersion, i) { + if (!(i >= firstVersion && i <= lastVersion)) { return } + + const PORT = Math.round(30000 + Math.random() * 20000) + const mcData = require('minecraft-data')(supportedVersion) + const version = mcData.version + + describe('mc-server ' + version.minecraftVersion, function () { + this.timeout(5000) + it('starts listening and shuts down cleanly', function (done) { + const server = mc.createServer({ + 'online-mode': false, + version: version.minecraftVersion, + port: PORT + }) + let listening = false + server.on('listening', function () { + listening = true + server.close() + }) + server.on('close', function () { + assert.ok(listening) + done() + }) + }) + it('kicks clients that do not log in', function (done) { + const server = mc.createServer({ + 'online-mode': false, + kickTimeout: 100, + checkTimeoutInterval: 10, + version: version.minecraftVersion, + port: PORT + }) + let count = 2 + server.on('connection', function (client) { + client.on('end', function (reason) { + assert.strictEqual(reason, 'LoginTimeout') + server.close() + }) + }) + server.on('close', function () { + resolve() + }) + server.on('listening', function () { + const client = new mc.Client(false, version.minecraftVersion) + client.on('end', function () { + resolve() + }) + client.connect(PORT, '127.0.0.1') + }) + + function resolve () { + count -= 1 + if (count <= 0) done() + } + }) + it('kicks clients that do not send keepalive packets', function (done) { + const server = mc.createServer({ + 'online-mode': false, + kickTimeout: 100, + checkTimeoutInterval: 10, + version: version.minecraftVersion, + port: PORT + }) + let count = 2 + server.on('connection', function (client) { + client.on('end', function (reason) { + assert.strictEqual(reason, 'KeepAliveTimeout') + server.close() + }) + }) + server.on('close', function () { + resolve() + }) + server.on('listening', function () { + const client = mc.createClient({ + username: 'superpants', + host: '127.0.0.1', + port: PORT, + keepAlive: false, + version: version.minecraftVersion + }) + client.on('end', function () { + resolve() + }) + }) + function resolve () { + count -= 1 + if (count <= 0) done() + } + }) + it('responds to ping requests', function (done) { + const server = mc.createServer({ + 'online-mode': false, + motd: 'test1234', + 'max-players': 120, + version: version.minecraftVersion, + port: PORT + }) + server.on('listening', function () { + mc.ping({ + host: '127.0.0.1', + version: version.minecraftVersion, + port: PORT + }, function (err, results) { + if (err) return done(err) + assert.ok(results.latency >= 0) + assert.ok(results.latency <= 1000) + delete results.latency + assert.deepEqual(results, { + version: { + name: version.minecraftVersion, + protocol: version.version + }, + players: { + max: 120, + online: 0, + sample: [] + }, + description: { text: 'test1234' } + }) + server.close() + }) + }) + server.on('close', done) + }) + it('clients can log in and chat', function (done) { + const server = mc.createServer({ + 'online-mode': false, + version: version.minecraftVersion, + port: PORT + }) + const username = ['player1', 'player2'] + let index = 0 + server.on('login', function (client) { + assert.notEqual(client.id, null) + assert.strictEqual(client.username, username[index++]) + broadcast(client.username + ' joined the game.') + client.on('end', function () { + broadcast(client.username + ' left the game.', client) + if (client.username === 'player2') server.close() + }) + const loginPacket = { + entityId: client.id, + levelType: 'default', + gameMode: 1, + previousGameMode: 255, + worldNames: ['minecraft:overworld'], + dimensionCodec: (version.version >= 735 ? mcData.loginPacket.dimension : { name: '', type: 'compound', value: { dimension: { type: 'list', value: { type: 'compound', value: [w] } } } }), + dimension: (version.version >= 735 ? mcData.loginPacket.dimension : 0), + worldName: 'minecraft:overworld', + hashedSeed: [0, 0], + difficulty: 2, + maxPlayers: server.maxPlayers, + reducedDebugInfo: (version.version >= 735 ? false : 0), + enableRespawnScreen: true + } + if (version.version >= 735) { // 1.16x + loginPacket.isDebug = false + loginPacket.isFlat = false + loginPacket.isHardcore = false + loginPacket.viewDistance = 10 + delete loginPacket.levelType + delete loginPacket.difficulty + } + client.write('login', loginPacket) + client.on('chat', function (packet) { + const message = '<' + client.username + '>' + ' ' + packet.message + broadcast(message) + }) + }) + server.on('close', done) + server.on('listening', function () { + const player1 = mc.createClient({ + username: 'player1', + host: '127.0.0.1', + version: version.minecraftVersion, + port: PORT + }) + player1.on('login', function (packet) { + assert.strictEqual(packet.gameMode, 1) + player1.once('chat', function (packet) { + assert.strictEqual(packet.message, '{"text":"player2 joined the game."}') + player1.once('chat', function (packet) { + assert.strictEqual(packet.message, '{"text":" hi"}') + player2.once('chat', fn) + function fn (packet) { + if (//.test(packet.message)) { + player2.once('chat', fn) + return + } + assert.strictEqual(packet.message, '{"text":" hello"}') + player1.once('chat', function (packet) { + assert.strictEqual(packet.message, '{"text":"player2 left the game."}') + player1.end() + }) + player2.end() + } + + player1.write('chat', { message: 'hello' }) + }) + player2.write('chat', { message: 'hi' }) + }) + const player2 = mc.createClient({ + username: 'player2', + host: '127.0.0.1', + version: version.minecraftVersion, + port: PORT + }) + }) + }) + + function broadcast (message, exclude) { + let client + for (const clientId in server.clients) { + if (server.clients[clientId] === undefined) continue + + client = server.clients[clientId] + if (client !== exclude) client.write('chat', { message: JSON.stringify({ text: message }), position: 0, sender: '0' }) + } + } + }) + it('kicks clients when invalid credentials', function (done) { + this.timeout(10000) + const server = mc.createServer({ + version: version.minecraftVersion, + port: PORT + }) + let count = 4 + server.on('connection', function (client) { + client.on('end', function (reason) { + resolve() + server.close() + }) + }) + server.on('close', function () { + resolve() + }) + server.on('listening', function () { + resolve() + const client = mc.createClient({ + username: 'lalalal', + host: '127.0.0.1', + version: version.minecraftVersion, + port: PORT + }) + client.on('end', function () { + resolve() + }) + }) + function resolve () { + count -= 1 + if (count <= 0) done() + } + }) + it('gives correct reason for kicking clients when shutting down', function (done) { + const server = mc.createServer({ + 'online-mode': false, + version: version.minecraftVersion, + port: PORT + }) + let count = 2 + server.on('login', function (client) { + client.on('end', function (reason) { + assert.strictEqual(reason, 'ServerShutdown') + resolve() + }) + const loginPacket = { + entityId: client.id, + levelType: 'default', + gameMode: 1, + previousGameMode: 255, + worldNames: ['minecraft:overworld'], + dimensionCodec: (version.version >= 735 ? mcData.loginPacket.dimension : { name: '', type: 'compound', value: { dimension: { type: 'list', value: { type: 'compound', value: [w] } } } }), + dimension: (version.version >= 735 ? mcData.loginPacket.dimension : 0), + worldName: 'minecraft:overworld', + hashedSeed: [0, 0], + difficulty: 2, + maxPlayers: server.maxPlayers, + reducedDebugInfo: (version.version >= 735 ? false : 0), + enableRespawnScreen: true + } + if (version.version >= 735) { // 1.16x + loginPacket.isDebug = false + loginPacket.isFlat = false + loginPacket.isHardcore = false + loginPacket.viewDistance = 10 + delete loginPacket.levelType + delete loginPacket.difficulty + } + client.write('login', loginPacket) + }) + server.on('close', function () { + resolve() + }) + server.on('listening', function () { + const client = mc.createClient({ + username: 'lalalal', + host: '127.0.0.1', + version: version.minecraftVersion, + port: PORT + }) + client.on('login', function () { + server.close() + }) + }) + function resolve () { + count -= 1 + if (count <= 0) done() + } + }) + }) +}) diff --git a/node_modules/mineflayer/.github/ISSUE_TEMPLATE/bug_report.md b/node_modules/mineflayer/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..1fa4e971 --- /dev/null +++ b/node_modules/mineflayer/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,40 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: possible bug +assignees: '' + +--- + +- [ ] The [FAQ](https://github.com/PrismarineJS/mineflayer/blob/master/docs/FAQ.md) doesn't contain a resolution to my issue + +## Versions + - mineflayer: #.#.# + - server: vanilla/spigot/paper #.#.# + - node: #.#.# + +## Detailed description of a problem +A clear and concise description of what the problem is, with as much context as possible. +What are you building? What problem are you trying to solve? + +## What did you try yet? + +Did you try any method from the API? +Did you try any example? Any error from those? + +## Your current code +```js + +/* +Some code here, replace this +*/ + + +``` + +## Expected behavior +A clear and concise description of what you expected to happen. + +## Additional context +Add any other context about the problem here. diff --git a/node_modules/mineflayer/.github/ISSUE_TEMPLATE/feature_request.md b/node_modules/mineflayer/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..61ba3ab5 --- /dev/null +++ b/node_modules/mineflayer/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: new feature +assignees: '' + +--- + +## Is your feature request related to a problem? Please describe. +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +## Describe the solution you'd like +A clear and concise description of what you want to happen. + +## Describe alternatives you've considered +A clear and concise description of any alternative solutions or features you've considered. + +## Additional context +Add any other context or screenshots about the feature request here. diff --git a/node_modules/mineflayer/.github/ISSUE_TEMPLATE/question.md b/node_modules/mineflayer/.github/ISSUE_TEMPLATE/question.md new file mode 100644 index 00000000..336e3c0c --- /dev/null +++ b/node_modules/mineflayer/.github/ISSUE_TEMPLATE/question.md @@ -0,0 +1,43 @@ +--- +name: Question +about: Ask a question +title: '' +labels: question +assignees: '' + +--- + +- [ ] I have carefully read the [FAQ](https://github.com/PrismarineJS/mineflayer/blob/master/docs/FAQ.md) and it does not contain an answer to my question. +- [ ] I have carefully read the [API documentation](https://github.com/PrismarineJS/mineflayer/blob/master/docs/api.md) and it does not contain an answer to my question. +- [ ] I have carefully read the [examples](https://github.com/PrismarineJS/mineflayer/tree/master/examples) and they do not contain an answer to my question. + + + +## Versions + - mineflayer: #.#.# + - server: vanilla/spigot/paper #.#.# + - node: #.#.# + +## Clear question +A clear question, with as much context as possible. +What are you building? What problem are you trying to solve? + +## What did you try yet? + +Did you try any method from the API? +Did you try any example? Any error from those? + +## Your current code + +Please put here any custom code you tried yet. + +```js + +/* +Some code here, replace this +*/ + +``` + +## Additional context +Add any other context about the problem here. diff --git a/node_modules/mineflayer/.github/workflows/ci.yml b/node_modules/mineflayer/.github/workflows/ci.yml new file mode 100644 index 00000000..ab29a86d --- /dev/null +++ b/node_modules/mineflayer/.github/workflows/ci.yml @@ -0,0 +1,34 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [14.x] + mcVersionIndex: [0, 1, 2, 3, 4, 5, 6, 7, 8] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1.4.4 + with: + node-version: ${{ matrix.node-version }} + - name: Setup Java JDK + uses: actions/setup-java@v1.4.3 + with: + java-version: 1.8 + java-package: jre + - run: npm install + - env: + CIRCLE_NODE_INDEX: ${{ matrix.mcVersionIndex }} + CIRCLE_NODE_TOTAL: 9 + run: npm test diff --git a/node_modules/mineflayer/.github/workflows/npm-publish.yml b/node_modules/mineflayer/.github/workflows/npm-publish.yml new file mode 100644 index 00000000..7e90156f --- /dev/null +++ b/node_modules/mineflayer/.github/workflows/npm-publish.yml @@ -0,0 +1,25 @@ +name: npm-publish +on: + push: + branches: + - master # Change this to your default branch +jobs: + npm-publish: + name: npm-publish + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@master + - name: Set up Node.js + uses: actions/setup-node@master + with: + node-version: 10.0.0 + - name: Publish if version has been updated + uses: pascalgn/npm-publish-action@4f4bf159e299f65d21cd1cbd96fc5d53228036df + with: # All of theses inputs are optional + tag_name: "%s" + tag_message: "%s" + commit_pattern: "^Release (\\S+)" + env: # More info about the environment variables in the README + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this as is, it's automatically generated + NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} # You need to set this in your repo settings diff --git a/node_modules/mineflayer/.gitpod.yml b/node_modules/mineflayer/.gitpod.yml new file mode 100644 index 00000000..38fc373b --- /dev/null +++ b/node_modules/mineflayer/.gitpod.yml @@ -0,0 +1,2 @@ +tasks: +- command: npm install diff --git a/node_modules/mineflayer/LICENSE b/node_modules/mineflayer/LICENSE new file mode 100644 index 00000000..51a13684 --- /dev/null +++ b/node_modules/mineflayer/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Andrew Kelley + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/mineflayer/README.md b/node_modules/mineflayer/README.md new file mode 100644 index 00000000..c6a51799 --- /dev/null +++ b/node_modules/mineflayer/README.md @@ -0,0 +1,249 @@ +# Mineflayer + +[![NPM version](https://badge.fury.io/js/mineflayer.svg)](http://badge.fury.io/js/mineflayer) +[![Build Status](https://github.com/PrismarineJS/mineflayer/workflows/CI/badge.svg)](https://github.com/PrismarineJS/mineflayer/actions?query=workflow%3A%22CI%22) +[![Discord](https://img.shields.io/badge/chat-on%20discord-brightgreen.svg)](https://discord.gg/GsEFRM8) +[![Gitter](https://img.shields.io/badge/chat-on%20gitter-brightgreen.svg)](https://gitter.im/PrismarineJS/general) +[![Irc](https://img.shields.io/badge/chat-on%20irc-brightgreen.svg)](https://irc.gitter.im/) +[![Issue Hunt](https://github.com/BoostIO/issuehunt-materials/blob/master/v1/issuehunt-shield-v1.svg)](https://issuehunt.io/r/PrismarineJS/mineflayer) + +[![Try it on gitpod](https://img.shields.io/badge/try-on%20gitpod-brightgreen.svg)](https://gitpod.io/#https://github.com/PrismarineJS/mineflayer) + +| 🇺🇸 [English](README.md) | 🇷🇺 [Russian](README_RU.md) | 🇪🇸 [Spanish](README_ES.md) | +|-------------------------|----------------------------|----------------------------| + +Create Minecraft bots with a powerful, stable, and high level JavaScript [API](api.md). + +First time using node.js ? You may want to start with the [tutorial](tutorial.md) + +## Features + + * Supports Minecraft 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15 and 1.16. + * Entity knowledge and tracking. + * Block knowledge. You can query the world around you. Milliseconds to find any block. + * Physics and movement - handle all bounding boxes + * Attacking entities and using vehicles. + * Inventory management. + * Crafting, chests, dispensers, enchantment tables. + * Digging and building. + * Miscellaneous stuff such as knowing your health and whether it is raining. + * Activating blocks and using items. + * Chat. + +### Roadmap + + Checkout this page to see what are our current [projects](https://github.com/PrismarineJS/mineflayer/wiki/Big-Prismarine-projects). + +## Installation + +`npm install mineflayer` + +## Documentation + +| link | description | +|---|---| +|[tutorial](tutorial.md) | Begin with node.js and mineflayer | +| [FAQ.md](FAQ.md) | Got a question ? go there first | +| [api.md](api.md) [unstable_api.md](unstable_api.md) | The full API reference | +| [history.md](history.md) | The changelog for mineflayer | +| [examples/](https://github.com/PrismarineJS/mineflayer/tree/master/examples) | Checkout all the mineflayer examples | + + +## Contribute + +Please read [CONTRIBUTING.md](CONTRIBUTING.md) and [prismarine-contribute](https://github.com/PrismarineJS/prismarine-contribute) + +## Usage + +**Videos** + +A tutorial video explaining the basic set up process for a bot can be found [here.](https://www.youtube.com/watch?v=ltWosy4Z0Kw) + +If you want to learn more, more video tutorials are [there,](https://www.youtube.com/playlist?list=PLh_alXmxHmzGy3FKbo95AkPp5D8849PEV) and the corresponding source codes for those bots is [there.](https://github.com/TheDudeFromCI/Mineflayer-Youtube-Tutorials) + +[tutorial 1](https://www.youtube.com/watch?v=ltWosy4Z0Kw) +[tutorial 2](https://www.youtube.com/watch?v=UWGSf08wQSc) +[tutorial 3](https://www.youtube.com/watch?v=ssWE0kXDGJE) +[tutorial 4](https://www.youtube.com/watch?v=walbRk20KYU) + +**Getting Started** + +Without version specified, the version of the server will be guessed automatically, you can set a specific one using the version option. +For example `version:"1.8"`. + +### Echo Example +```js +const mineflayer = require('mineflayer') + +const bot = mineflayer.createBot({ + host: 'localhost', // optional + port: 25565, // optional + username: 'email@example.com', // email and password are required only for + password: '12345678', // online-mode=true servers + version: false // false corresponds to auto version detection (that's the default), put for example "1.8.8" if you need a specific version +}) + +bot.on('chat', function (username, message) { + if (username === bot.username) return + bot.chat(message) +}) + +// Log errors and kick reasons: +bot.on('kicked', (reason, loggedIn) => console.log(reason, loggedIn)) +bot.on('error', err => console.log(err)) +``` + +### See what your bot is doing + +Thanks to [prismarine-viewer](https://github.com/PrismarineJS/prismarine-viewer) project, it's possible to display in a browser window what your bot is doing. +Just run `npm install prismarine-viewer` and add this to your bot: +```js +const mineflayerViewer = require('prismarine-viewer').mineflayer +bot.once('spawn', () => { + mineflayerViewer(bot, { port: 3007, firstPerson: true }) +}) +``` +And you'll get a *live* view looking like this: + +[viewer](https://prismarine.js.org/prismarine-viewer/) + +#### More Examples + +| example | description | +|---|---| +|[viewer](https://github.com/PrismarineJS/mineflayer/tree/master/examples/viewer) | display your bot world view in the browser | +|[pathfinder](https://github.com/Karang/mineflayer-pathfinder/blob/master/examples/test.js) | make your bot go to any location automatically | +|[chest](https://github.com/PrismarineJS/mineflayer/blob/master/examples/chest.js) | Use chests, furnaces, dispensers, enchantment tables | +|[digger](https://github.com/PrismarineJS/mineflayer/blob/master/examples/digger.js) | Learn how to create a simple bot that is capable of digging the block | +|[discord](https://github.com/PrismarineJS/mineflayer/blob/master/examples/discord.js) | connect a discord bot with a mineflayer bot | +|[jumper](https://github.com/PrismarineJS/mineflayer/blob/master/examples/jumper.js) | Learn how to move, jump, ride vehicles, attack nearby entities | + +And many mores in the [examples](https://github.com/PrismarineJS/mineflayer/tree/master/examples) folder + +### Modules + +A lot of the active development is happening inside of small npm packages which are used by mineflayer. + +#### The Node Way™ + +> "When applications are done well, they are just the really application-specific, brackish residue that can't be so easily abstracted away. All the nice, reusable components sublimate away onto github and npm where everybody can collaborate to advance the commons." — substack from ["how I write modules"](https://gist.github.com/substack/5075355) + +#### Modules + +These are the main modules that make up mineflayer: + +| module | description | +|---|---| +| [minecraft-protocol](https://github.com/PrismarineJS/node-minecraft-protocol) | Parse and serialize minecraft packets, plus authentication and encryption. +| [minecraft-data](https://github.com/PrismarineJS/minecraft-data) | Language independent module providing minecraft data for minecraft clients, servers and libraries. +| [prismarine-physics](https://github.com/PrismarineJS/prismarine-physics) | Provide the physics engine for minecraft entities +| [prismarine-chunk](https://github.com/PrismarineJS/prismarine-chunk) | A class to hold chunk data for Minecraft +| [node-vec3](https://github.com/PrismarineJS/node-vec3) | 3d vector math with robust unit tests +| [prismarine-block](https://github.com/PrismarineJS/prismarine-block) | Represent a minecraft block with its associated data +| [prismarine-chat](https://github.com/PrismarineJS/prismarine-chat) | A parser for a minecraft chat message (extracted from mineflayer) +| [node-yggdrasil](https://github.com/PrismarineJS/node-yggdrasil) | Node.js library to interact with Mojang's authentication system, known as Yggdrasil +| [prismarine-world](https://github.com/PrismarineJS/prismarine-world) | The core implementation of worlds for prismarine +| [prismarine-windows](https://github.com/PrismarineJS/prismarine-windows) | Represent minecraft windows +| [prismarine-item](https://github.com/PrismarineJS/prismarine-item) | Represent a minecraft item with its associated data +| [prismarine-nbt](https://github.com/PrismarineJS/prismarine-nbt) | An NBT parser for node-minecraft-protocol +| [prismarine-recipe](https://github.com/PrismarineJS/prismarine-recipe) | Represent minecraft recipes +| [prismarine-biome](https://github.com/PrismarineJS/prismarine-biome) | Represent a minecraft biome with its associated data +| [prismarine-entity](https://github.com/PrismarineJS/prismarine-entity) | Represent a minecraft entity + + +### Debug + +You can enable some protocol debugging output using `DEBUG` environment variable: + +```bash +DEBUG="minecraft-protocol" node [...] +``` + +On windows : +``` +set DEBUG=minecraft-protocol +node your_script.js +``` + +## Third Party Plugins + +Mineflayer is pluggable; anyone can create a plugin that adds an even +higher level API on top of Mineflayer. + +The most updated and useful are : + + * [pathfinder](https://github.com/Karang/mineflayer-pathfinder) - advanced A* pathfinding with a lot of configurable features + * [prismarine-viewer](https://github.com/PrismarineJS/prismarine-viewer) - simple web chunk viewer + * [web-inventory](https://github.com/ImHarvol/mineflayer-web-inventory) - web based inventory viewer + * [statemachine](https://github.com/TheDudeFromCI/mineflayer-statemachine) - A state machine API for more complex bot behavors + * [Armor Manager](https://github.com/G07cha/MineflayerArmorManager) - automatic armor managment + * [Collect Block](https://github.com/TheDudeFromCI/mineflayer-collectblock) - Quick and simple block collection API. + * [Dashboard](https://github.com/wvffle/mineflayer-dashboard) - Frontend dashboard for mineflayer bot + * [PVP](https://github.com/TheDudeFromCI/mineflayer-pvp) - Easy API for basic PVP and PVE. + * [auto-eat](https://github.com/LINKdiscordd/mineflayer-auto-eat) - Automatic eating of food. + * [Tool](https://github.com/TheDudeFromCI/mineflayer-tool) - A utility for automatic tool/weapon selection with a high level API. + * [Hawkeye](https://github.com/sefirosweb/minecraftHawkEye) - A utility for using auto-aim with bows. + + + But also check out : + + * [navigate](https://github.com/andrewrk/mineflayer-navigate/) - get around + easily using A* pathfinding. [YouTube Demo](https://www.youtube.com/watch?v=O6lQdmRz8eE) + * [radar](https://github.com/andrewrk/mineflayer-radar/) - web based radar + interface using canvas and socket.io. [YouTube Demo](https://www.youtube.com/watch?v=FjDmAfcVulQ) + * [blockfinder](https://github.com/Darthfett/mineflayer-blockFinder) - find blocks in the 3D world + * [scaffold](https://github.com/andrewrk/mineflayer-scaffold) - get to + a target destination even if you have to build or break blocks to do so. + [YouTube Demo](http://youtu.be/jkg6psMUSE0) + * [auto-auth](https://github.com/G07cha/MineflayerAutoAuth) - chat-based bot authentication + * [Bloodhound](https://github.com/Nixes/mineflayer-bloodhound) - determine who and what is responsible for damage to another entity + * [tps](https://github.com/SiebeDW/mineflayer-tps) - get the current tps (processed tps) + +## Projects Using Mineflayer + + * [rom1504/rbot](https://github.com/rom1504/rbot) + - [YouTube - building a spiral staircase](https://www.youtube.com/watch?v=UM1ZV5200S0) + - [YouTube - replicating a building](https://www.youtube.com/watch?v=0cQxg9uDnzA) + * [Darthfett/Helperbot](https://github.com/Darthfett/Helperbot) + * [vogonistic/voxel](https://github.com/vogonistic/mineflayer-voxel) - visualize what + the bot is up to using voxel.js + * [JonnyD/Skynet](https://github.com/JonnyD/Skynet) - log player activity onto an online API + * [MinecraftChat](https://github.com/rom1504/MinecraftChat) (last open source version, built by AlexKvazos) - Minecraft web based chat client + * [Cheese Bot](https://github.com/Minecheesecraft/Cheese-Bot) - Plugin based bot with a clean GUI. Made with Node-Webkit. http://bot.ezcha.net/ + * [Chaoscraft](https://github.com/schematical/chaoscraft) - Minecraft bot using genetic algorithms, see [its youtube videos](https://www.youtube.com/playlist?list=PLLkpLgU9B5xJ7Qy4kOyBJl5J6zsDIMceH) + * [hexatester/minetelegram](https://github.com/hexatester/minetelegram) - Minecraft - Telegram bridge, build on top of mineflayer & telegraf. + * [ProZedd/mineflayer-printer](https://github.com/ProZedd/mineflayer-printer) - Prints minecraft schematics + * [and hundreds more](https://github.com/PrismarineJS/mineflayer/network/dependents) - All the projects that github detected are using mineflayer + + +## Testing + +Some setup is required after first cloning the project but after that is done it's very easy to run them. + +### Setup + +In order to get all tests to run successfully you must first: + +1. create a new folder in which to store minecraft server jars +2. set the MC_SERVER_JAR_DIR to this folder + +Example: + +1. `mkdir server_jars` +2. `export MC_SERVER_JAR_DIR=/full/path/to/server_jars` + +Where the "/full/path/to/" is the fully qualified path name. + +### Testing everything + +Simply run: `npm test` + +### Testing specific version +Run `npm test -g `, where `` is a minecraft version like `1.12`, `1.15.2`... + +### Testing specific test +Run `npm test -g `, where `` is a name of the test like `bed`, `useChests`, `rayTrace`... + +## Licence + +[MIT](LICENCE) diff --git a/node_modules/mineflayer/docs/.nojekyll b/node_modules/mineflayer/docs/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/node_modules/mineflayer/docs/CNAME b/node_modules/mineflayer/docs/CNAME new file mode 100644 index 00000000..cb5d688f --- /dev/null +++ b/node_modules/mineflayer/docs/CNAME @@ -0,0 +1 @@ +mineflayer.prismarine.js.org \ No newline at end of file diff --git a/node_modules/mineflayer/docs/CONTRIBUTING.md b/node_modules/mineflayer/docs/CONTRIBUTING.md new file mode 100644 index 00000000..f08f78df --- /dev/null +++ b/node_modules/mineflayer/docs/CONTRIBUTING.md @@ -0,0 +1,75 @@ +# Contribute + +Mineflayer has originally been made mostly by [andrewrk](http://github.com/andrewrk) +but has since then be improved and fixed by many [contributors](https://github.com/andrewrk/mineflayer/graphs/contributors). +That's why it is important to know the best ways to contribute to mineflayer. + +## Creating tests +Mineflayer has two kind of tests : + + * [internal tests](test/internalTest.js) : tests that are done against a simple server created with node-minecraft-protocol + * [external tests](test/externalTests/) : tests that are done against the vanilla server + +The objective of these tests is to know automatically what works and what doesn't in mineflayer, so it's easier to make mineflayer work. + +### Creating an external test + +In order to add an external test now you only need to create a file in [test/externalTests](test/externalTests) + +An example : [test/externalTests/digAndBuild.js](test/externalTests/digAndBuild.js) + +That file needs to export a function returning a function or an array of function taking as parameter the bot object and a done callback, + it should contain asserts to test if the tested functionality failed. + + +## Creating a third party plugin +Mineflayer is pluggable; anyone can create a plugin that adds an even higher level API on top of Mineflayer. + +Several such third party plugins have already been [created](https://github.com/andrewrk/mineflayer#third-party-plugins) + +In order to create a new one you need to : + +1. create a new repo +2. in your index.js file, exports an init function taking in argument mineflayer ([example](https://github.com/andrewrk/mineflayer-navigate/blob/e24cb6a868ce64ae43bea2d035832c15ed01d301/index.js#L18)) +3. that function returns a inject function taking in argument the bot object ([example](https://github.com/andrewrk/mineflayer-navigate/blob/e24cb6a868ce64ae43bea2d035832c15ed01d301/index.js#L23)) +4. that inject function add functionalities to the bot object ([example](https://github.com/andrewrk/mineflayer-navigate/blob/e24cb6a868ce64ae43bea2d035832c15ed01d301/index.js#L32)) + +Since the mineflayer object is passed in parameter, that new package doesn't need to depend on mineflayer (no mineflayer dependency in the package.json) + +See a [full example](https://github.com/andrewrk/mineflayer-navigate/tree/e24cb6a868ce64ae43bea2d035832c15ed01d301) here. + +## Reporting bugs +Mineflayer works well for most usages, but it sometimes still has bugs. + +When finding one it's best to report an issue providing these information : + +* what you want to do (the objective in english) +* what you tried (the code) +* what happened +* what you expected to happen + +## Mineflayer code +Some things to think about when submitting a Pull Request or making a commit : + +### Error handling +In most cases, mineflayer shouldn't crash the bot. Even if something fails, the bot can take an alternative route to get to its objective. + +What that means is we shouldn't use `throw(new Error("error"))` but instead use the node.js convention of passing the error in the callback. + +For example : + +```js +function myfunction(param1,callback) +{ + // do stuff + if(/* everything worked*/) + callback(); + else + callback(new Error("something failed")); +} +``` + +See an other example of that in [mineflayer code](https://github.com/andrewrk/mineflayer/blob/a8736c4ea473cf1a609c5a29046c0cdad006d429/lib/plugins/bed.js#L10) + +### Updating the documentation +The table of content of docs/api.md is made with doctoc. After updating that file, you should run doctoc docs/api.md to update the table of content. diff --git a/node_modules/mineflayer/docs/FAQ.md b/node_modules/mineflayer/docs/FAQ.md new file mode 100644 index 00000000..6ddeb01f --- /dev/null +++ b/node_modules/mineflayer/docs/FAQ.md @@ -0,0 +1,52 @@ +## FAQ + +This Frequently Asked Question document is meant to help people for the most common things. + +### How to hide errors ? + +Use `hideErrors: true` in createBot options +You may also choose to add these listeners : +```js +client.on('error', () => {}) +client.on('end', () => {}) +``` + +### I'm not getting chat event on a custom server, how can I solve it ? + +Spigot servers, in particular some plugins, use custom chat formats, you need to parse it with a custom regex / parser. +Read and adapt [chatAddPattern.js](https://github.com/PrismarineJS/mineflayer/blob/master/examples/chatAddPattern.js) to make it work for your particular +chat plugin. Also read http://mineflayer.prismarine.js.org/#/tutorial?id=custom-chat + +### How can I send a command ? + +by using bot.chat + +### Is it possible to login multiple accounts using bot = mineflayer.createbot while controlling them all separately ? + +Create different bot instances by calling createBot then do different things for each, see multiple.js + +### How would I make the bot drop it's entire inventory? + +bot.inventory.items() returns an array of the bot's items. You can use a recursive function to loop through them and drop every item using bot.toss(). Click [here](https://gist.github.com/dada513/3d88f772be4224b40f9e5d1787bd63e9) to see an example + +### How do I check packets that are sent/received ? + +Enabled debug mode https://github.com/PrismarineJS/mineflayer#debug + +### I want to avoid disconnection even in case of server lag, how can I achieve this ? + +One way is to increase the [checkTimeoutInterval](https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/docs/API.md#mccreateclientoptions) option (to set in createBot) to an higher value (for example `300*1000` which is 5min instead of the default 30s). If you still get disconnected, you can auto reconnect using something like this example https://github.com/PrismarineJS/mineflayer/blob/master/examples/reconnector.js + +### How to get the lore / text of an item ? + +You can use the .nbt property of an item. prismarine-nbt nbt.simplify method may be useful + +### How can I send message from the console to the server? + +You can use a library like `repl` to read the console input and use `bot.chat` to send it. You can find an example [here.](https://github.com/PrismarineJS/mineflayer/blob/master/examples/repl.js) + +### When creating a plugin, how can I specify another plugin as a dependency? + +In the `inject()` function for your plugin, you can safely call `bot.loadPlugin(anotherPlugin)` to make sure that plugin is loaded. If the plugin was already loaded before, nothing happens. + +Note that the order in which plugins are loaded is dynamic, so you should never call another plugin in your `inject()` function. \ No newline at end of file diff --git a/node_modules/mineflayer/docs/README.md b/node_modules/mineflayer/docs/README.md new file mode 100644 index 00000000..c6a51799 --- /dev/null +++ b/node_modules/mineflayer/docs/README.md @@ -0,0 +1,249 @@ +# Mineflayer + +[![NPM version](https://badge.fury.io/js/mineflayer.svg)](http://badge.fury.io/js/mineflayer) +[![Build Status](https://github.com/PrismarineJS/mineflayer/workflows/CI/badge.svg)](https://github.com/PrismarineJS/mineflayer/actions?query=workflow%3A%22CI%22) +[![Discord](https://img.shields.io/badge/chat-on%20discord-brightgreen.svg)](https://discord.gg/GsEFRM8) +[![Gitter](https://img.shields.io/badge/chat-on%20gitter-brightgreen.svg)](https://gitter.im/PrismarineJS/general) +[![Irc](https://img.shields.io/badge/chat-on%20irc-brightgreen.svg)](https://irc.gitter.im/) +[![Issue Hunt](https://github.com/BoostIO/issuehunt-materials/blob/master/v1/issuehunt-shield-v1.svg)](https://issuehunt.io/r/PrismarineJS/mineflayer) + +[![Try it on gitpod](https://img.shields.io/badge/try-on%20gitpod-brightgreen.svg)](https://gitpod.io/#https://github.com/PrismarineJS/mineflayer) + +| 🇺🇸 [English](README.md) | 🇷🇺 [Russian](README_RU.md) | 🇪🇸 [Spanish](README_ES.md) | +|-------------------------|----------------------------|----------------------------| + +Create Minecraft bots with a powerful, stable, and high level JavaScript [API](api.md). + +First time using node.js ? You may want to start with the [tutorial](tutorial.md) + +## Features + + * Supports Minecraft 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15 and 1.16. + * Entity knowledge and tracking. + * Block knowledge. You can query the world around you. Milliseconds to find any block. + * Physics and movement - handle all bounding boxes + * Attacking entities and using vehicles. + * Inventory management. + * Crafting, chests, dispensers, enchantment tables. + * Digging and building. + * Miscellaneous stuff such as knowing your health and whether it is raining. + * Activating blocks and using items. + * Chat. + +### Roadmap + + Checkout this page to see what are our current [projects](https://github.com/PrismarineJS/mineflayer/wiki/Big-Prismarine-projects). + +## Installation + +`npm install mineflayer` + +## Documentation + +| link | description | +|---|---| +|[tutorial](tutorial.md) | Begin with node.js and mineflayer | +| [FAQ.md](FAQ.md) | Got a question ? go there first | +| [api.md](api.md) [unstable_api.md](unstable_api.md) | The full API reference | +| [history.md](history.md) | The changelog for mineflayer | +| [examples/](https://github.com/PrismarineJS/mineflayer/tree/master/examples) | Checkout all the mineflayer examples | + + +## Contribute + +Please read [CONTRIBUTING.md](CONTRIBUTING.md) and [prismarine-contribute](https://github.com/PrismarineJS/prismarine-contribute) + +## Usage + +**Videos** + +A tutorial video explaining the basic set up process for a bot can be found [here.](https://www.youtube.com/watch?v=ltWosy4Z0Kw) + +If you want to learn more, more video tutorials are [there,](https://www.youtube.com/playlist?list=PLh_alXmxHmzGy3FKbo95AkPp5D8849PEV) and the corresponding source codes for those bots is [there.](https://github.com/TheDudeFromCI/Mineflayer-Youtube-Tutorials) + +[tutorial 1](https://www.youtube.com/watch?v=ltWosy4Z0Kw) +[tutorial 2](https://www.youtube.com/watch?v=UWGSf08wQSc) +[tutorial 3](https://www.youtube.com/watch?v=ssWE0kXDGJE) +[tutorial 4](https://www.youtube.com/watch?v=walbRk20KYU) + +**Getting Started** + +Without version specified, the version of the server will be guessed automatically, you can set a specific one using the version option. +For example `version:"1.8"`. + +### Echo Example +```js +const mineflayer = require('mineflayer') + +const bot = mineflayer.createBot({ + host: 'localhost', // optional + port: 25565, // optional + username: 'email@example.com', // email and password are required only for + password: '12345678', // online-mode=true servers + version: false // false corresponds to auto version detection (that's the default), put for example "1.8.8" if you need a specific version +}) + +bot.on('chat', function (username, message) { + if (username === bot.username) return + bot.chat(message) +}) + +// Log errors and kick reasons: +bot.on('kicked', (reason, loggedIn) => console.log(reason, loggedIn)) +bot.on('error', err => console.log(err)) +``` + +### See what your bot is doing + +Thanks to [prismarine-viewer](https://github.com/PrismarineJS/prismarine-viewer) project, it's possible to display in a browser window what your bot is doing. +Just run `npm install prismarine-viewer` and add this to your bot: +```js +const mineflayerViewer = require('prismarine-viewer').mineflayer +bot.once('spawn', () => { + mineflayerViewer(bot, { port: 3007, firstPerson: true }) +}) +``` +And you'll get a *live* view looking like this: + +[viewer](https://prismarine.js.org/prismarine-viewer/) + +#### More Examples + +| example | description | +|---|---| +|[viewer](https://github.com/PrismarineJS/mineflayer/tree/master/examples/viewer) | display your bot world view in the browser | +|[pathfinder](https://github.com/Karang/mineflayer-pathfinder/blob/master/examples/test.js) | make your bot go to any location automatically | +|[chest](https://github.com/PrismarineJS/mineflayer/blob/master/examples/chest.js) | Use chests, furnaces, dispensers, enchantment tables | +|[digger](https://github.com/PrismarineJS/mineflayer/blob/master/examples/digger.js) | Learn how to create a simple bot that is capable of digging the block | +|[discord](https://github.com/PrismarineJS/mineflayer/blob/master/examples/discord.js) | connect a discord bot with a mineflayer bot | +|[jumper](https://github.com/PrismarineJS/mineflayer/blob/master/examples/jumper.js) | Learn how to move, jump, ride vehicles, attack nearby entities | + +And many mores in the [examples](https://github.com/PrismarineJS/mineflayer/tree/master/examples) folder + +### Modules + +A lot of the active development is happening inside of small npm packages which are used by mineflayer. + +#### The Node Way™ + +> "When applications are done well, they are just the really application-specific, brackish residue that can't be so easily abstracted away. All the nice, reusable components sublimate away onto github and npm where everybody can collaborate to advance the commons." — substack from ["how I write modules"](https://gist.github.com/substack/5075355) + +#### Modules + +These are the main modules that make up mineflayer: + +| module | description | +|---|---| +| [minecraft-protocol](https://github.com/PrismarineJS/node-minecraft-protocol) | Parse and serialize minecraft packets, plus authentication and encryption. +| [minecraft-data](https://github.com/PrismarineJS/minecraft-data) | Language independent module providing minecraft data for minecraft clients, servers and libraries. +| [prismarine-physics](https://github.com/PrismarineJS/prismarine-physics) | Provide the physics engine for minecraft entities +| [prismarine-chunk](https://github.com/PrismarineJS/prismarine-chunk) | A class to hold chunk data for Minecraft +| [node-vec3](https://github.com/PrismarineJS/node-vec3) | 3d vector math with robust unit tests +| [prismarine-block](https://github.com/PrismarineJS/prismarine-block) | Represent a minecraft block with its associated data +| [prismarine-chat](https://github.com/PrismarineJS/prismarine-chat) | A parser for a minecraft chat message (extracted from mineflayer) +| [node-yggdrasil](https://github.com/PrismarineJS/node-yggdrasil) | Node.js library to interact with Mojang's authentication system, known as Yggdrasil +| [prismarine-world](https://github.com/PrismarineJS/prismarine-world) | The core implementation of worlds for prismarine +| [prismarine-windows](https://github.com/PrismarineJS/prismarine-windows) | Represent minecraft windows +| [prismarine-item](https://github.com/PrismarineJS/prismarine-item) | Represent a minecraft item with its associated data +| [prismarine-nbt](https://github.com/PrismarineJS/prismarine-nbt) | An NBT parser for node-minecraft-protocol +| [prismarine-recipe](https://github.com/PrismarineJS/prismarine-recipe) | Represent minecraft recipes +| [prismarine-biome](https://github.com/PrismarineJS/prismarine-biome) | Represent a minecraft biome with its associated data +| [prismarine-entity](https://github.com/PrismarineJS/prismarine-entity) | Represent a minecraft entity + + +### Debug + +You can enable some protocol debugging output using `DEBUG` environment variable: + +```bash +DEBUG="minecraft-protocol" node [...] +``` + +On windows : +``` +set DEBUG=minecraft-protocol +node your_script.js +``` + +## Third Party Plugins + +Mineflayer is pluggable; anyone can create a plugin that adds an even +higher level API on top of Mineflayer. + +The most updated and useful are : + + * [pathfinder](https://github.com/Karang/mineflayer-pathfinder) - advanced A* pathfinding with a lot of configurable features + * [prismarine-viewer](https://github.com/PrismarineJS/prismarine-viewer) - simple web chunk viewer + * [web-inventory](https://github.com/ImHarvol/mineflayer-web-inventory) - web based inventory viewer + * [statemachine](https://github.com/TheDudeFromCI/mineflayer-statemachine) - A state machine API for more complex bot behavors + * [Armor Manager](https://github.com/G07cha/MineflayerArmorManager) - automatic armor managment + * [Collect Block](https://github.com/TheDudeFromCI/mineflayer-collectblock) - Quick and simple block collection API. + * [Dashboard](https://github.com/wvffle/mineflayer-dashboard) - Frontend dashboard for mineflayer bot + * [PVP](https://github.com/TheDudeFromCI/mineflayer-pvp) - Easy API for basic PVP and PVE. + * [auto-eat](https://github.com/LINKdiscordd/mineflayer-auto-eat) - Automatic eating of food. + * [Tool](https://github.com/TheDudeFromCI/mineflayer-tool) - A utility for automatic tool/weapon selection with a high level API. + * [Hawkeye](https://github.com/sefirosweb/minecraftHawkEye) - A utility for using auto-aim with bows. + + + But also check out : + + * [navigate](https://github.com/andrewrk/mineflayer-navigate/) - get around + easily using A* pathfinding. [YouTube Demo](https://www.youtube.com/watch?v=O6lQdmRz8eE) + * [radar](https://github.com/andrewrk/mineflayer-radar/) - web based radar + interface using canvas and socket.io. [YouTube Demo](https://www.youtube.com/watch?v=FjDmAfcVulQ) + * [blockfinder](https://github.com/Darthfett/mineflayer-blockFinder) - find blocks in the 3D world + * [scaffold](https://github.com/andrewrk/mineflayer-scaffold) - get to + a target destination even if you have to build or break blocks to do so. + [YouTube Demo](http://youtu.be/jkg6psMUSE0) + * [auto-auth](https://github.com/G07cha/MineflayerAutoAuth) - chat-based bot authentication + * [Bloodhound](https://github.com/Nixes/mineflayer-bloodhound) - determine who and what is responsible for damage to another entity + * [tps](https://github.com/SiebeDW/mineflayer-tps) - get the current tps (processed tps) + +## Projects Using Mineflayer + + * [rom1504/rbot](https://github.com/rom1504/rbot) + - [YouTube - building a spiral staircase](https://www.youtube.com/watch?v=UM1ZV5200S0) + - [YouTube - replicating a building](https://www.youtube.com/watch?v=0cQxg9uDnzA) + * [Darthfett/Helperbot](https://github.com/Darthfett/Helperbot) + * [vogonistic/voxel](https://github.com/vogonistic/mineflayer-voxel) - visualize what + the bot is up to using voxel.js + * [JonnyD/Skynet](https://github.com/JonnyD/Skynet) - log player activity onto an online API + * [MinecraftChat](https://github.com/rom1504/MinecraftChat) (last open source version, built by AlexKvazos) - Minecraft web based chat client + * [Cheese Bot](https://github.com/Minecheesecraft/Cheese-Bot) - Plugin based bot with a clean GUI. Made with Node-Webkit. http://bot.ezcha.net/ + * [Chaoscraft](https://github.com/schematical/chaoscraft) - Minecraft bot using genetic algorithms, see [its youtube videos](https://www.youtube.com/playlist?list=PLLkpLgU9B5xJ7Qy4kOyBJl5J6zsDIMceH) + * [hexatester/minetelegram](https://github.com/hexatester/minetelegram) - Minecraft - Telegram bridge, build on top of mineflayer & telegraf. + * [ProZedd/mineflayer-printer](https://github.com/ProZedd/mineflayer-printer) - Prints minecraft schematics + * [and hundreds more](https://github.com/PrismarineJS/mineflayer/network/dependents) - All the projects that github detected are using mineflayer + + +## Testing + +Some setup is required after first cloning the project but after that is done it's very easy to run them. + +### Setup + +In order to get all tests to run successfully you must first: + +1. create a new folder in which to store minecraft server jars +2. set the MC_SERVER_JAR_DIR to this folder + +Example: + +1. `mkdir server_jars` +2. `export MC_SERVER_JAR_DIR=/full/path/to/server_jars` + +Where the "/full/path/to/" is the fully qualified path name. + +### Testing everything + +Simply run: `npm test` + +### Testing specific version +Run `npm test -g `, where `` is a minecraft version like `1.12`, `1.15.2`... + +### Testing specific test +Run `npm test -g `, where `` is a name of the test like `bed`, `useChests`, `rayTrace`... + +## Licence + +[MIT](LICENCE) diff --git a/node_modules/mineflayer/docs/README_ES.md b/node_modules/mineflayer/docs/README_ES.md new file mode 100644 index 00000000..2a975e9c --- /dev/null +++ b/node_modules/mineflayer/docs/README_ES.md @@ -0,0 +1,231 @@ +# Mineflayer + +[![NPM version](https://badge.fury.io/js/mineflayer.svg)](http://badge.fury.io/js/mineflayer) +[![Build Status](https://github.com/PrismarineJS/mineflayer/workflows/CI/badge.svg)](https://github.com/PrismarineJS/mineflayer/actions?query=workflow%3A%22CI%22) +[![Discord](https://img.shields.io/badge/chat-on%20discord-brightgreen.svg)](https://discord.gg/GsEFRM8) +[![Gitter](https://img.shields.io/badge/chat-on%20gitter-brightgreen.svg)](https://gitter.im/PrismarineJS/general) +[![Irc](https://img.shields.io/badge/chat-on%20irc-brightgreen.svg)](https://irc.gitter.im/) + +[![Try it on gitpod](https://img.shields.io/badge/try-on%20gitpod-brightgreen.svg)](https://gitpod.io/#https://github.com/PrismarineJS/mineflayer) + +| 🇺🇸 [Inglés](README.md) | 🇷🇺 [Ruso](README_RU.md) | 🇪🇸 [Español](README_ES.md) | +|------------------------|-------------------------|----------------------------| + +Crea bots de Minecraft con una API JavaScript potente, estable y de alto nivel. + +¿Primera vez usando node.js? Puede que te interese empezar con el tutorial [tutorial](tutorial.md) + +## Características + + * Soporta Minecraft 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15 y 1.16. + * Rastreo e información de entidades. + * Información de bloques. Puedes solicitar información de todo lo que te rodea. + * Física y movimiento básicos: actualmente los bloques son "sólidos" o "vacíos". + * Atacar entidades y usar vehículos. + * Gestión del inventario. + * Crafteo, cofres, dispensadores, mesas de encantamiento. + * Excavar y contruir. + * Cosas diversas como conocer tu salud y si está lloviendo. + * Activar bloques y usar objetos. + * Chat. + +### Planes a futuro + +Echa un vistazo a nuestros [proyectos actuales](https://github.com/PrismarineJS/mineflayer/wiki/Big-Prismarine-projects) + +## Instalación + +`npm install mineflayer` + +## Documentación + +| link | descripción | +|---|---| +|[tutorial](tutorial.md) | Empezar con node.js y mineflayer | +| [FAQ.md](FAQ.md) | Alguna duda? Mira esto primero! | +| [api.md](api.md) [unstable_api.md](unstable_api.md) | Toda la documentación de la API | +| [history.md](history.md) | Historial de cambios de Mineflayer | +| [examples/](https://github.com/PrismarineJS/mineflayer/tree/master/examples) | Todos los ejemplos para mineflayer | + +## Contribuir + +Por favor, lee [CONTRIBUTING.md](CONTRIBUTING.md) y [prismarine-contribute](https://github.com/PrismarineJS/prismarine-contribute) + +## Uso + +**Vídeo** + +Puedes encontrar un vídeo tutorial que explica el proceso inicial para empezar un bot [aquí](https://www.youtube.com/watch?v=ltWosy4Z0Kw) (en inglés). + +**Empezando** + +Sin especificar una versión, la versión del servidor se detectará automáticamente, puedes configurar una versión específica utilizando la opción de versión. +Por ejemplo `version:" 1.8 "`. + +### Ejemplo +```js +const mineflayer = require('mineflayer') + +const bot = mineflayer.createBot({ + host: "localhost", // opcional + port: 25565, // opcional + username: "email@example.com", // el correo electrónico y contraseña sólo son necesarios + password: "12345678", // para servidores con el flag online-mode=true + version: false // el valor false implica detectar la versión automáticamente, puedes configurar una versión específica utilizando por ejemplo "1.8.8" +}) + +bot.on('chat', function (username, message) { + if (username === bot.username) return + bot.chat(message) +}) + +// Imprimir errores y la razón si eres kickeado: +bot.on('kicked', (reason, loggedIn) => console.log(reason, loggedIn)) +bot.on('error', err => console.log(err)) +``` + +### See what your bot is doing + +Gracias al proyecto [prismarine-viewer](https://github.com/PrismarineJS/prismarine-viewer), puedes ver en una pestaña del navegador qué está haciendo tu bot. +Solo tienes que ejecutar `npm install prismarine-viewer` y añadir lo siguiente a tu bot: +```js +const mineflayerViewer = require('prismarine-viewer').mineflayer +bot.once('spawn', () => { + mineflayerViewer(bot, { port: 3007, firstPerson: true }) +}) +``` +Y podrás ver una representación *en vivo* como esta: + +[viewer](https://prismarine.js.org/prismarine-viewer/) + +#### Más ejemplos + +| ejemplo | descripción | +|---|---| +|[viewer](https://github.com/PrismarineJS/mineflayer/tree/master/examples/viewer) | Visualiza lo que ve tu bot en el buscador | +|[pathfinder](https://github.com/Karang/mineflayer-pathfinder/blob/master/examples/test.js) | Haz que tu bot vaya a una ubicación automáticamente | +|[chest](https://github.com/PrismarineJS/mineflayer/blob/master/examples/chest.js) | Aprende a usar cofres, hornos, dispensadores y mesas de encantamiento | +|[digger](https://github.com/PrismarineJS/mineflayer/blob/master/examples/digger.js) | Aprende como crear un bot que pueda cavar romper un bloque | +|[discord](https://github.com/PrismarineJS/mineflayer/blob/master/examples/discord.js) | Conecta un bot de discord con un bot de mineflayer | +|[jumper](https://github.com/PrismarineJS/mineflayer/blob/master/examples/jumper.js) | Aprende a moverte, saltar, ir en vehiculos y atacar entidades cercanas | + +Puedes encontrar muchos más ejemplos en la carpeta de [ejemplos](https://github.com/PrismarineJS/mineflayer/tree/master/examples) + +### Modulos + +Una buena porcion del desarrollo se esta produciendo dentro de pequeños paquetes npm que son usados por mineflayer + +#### The Node Way™ + +> "When applications are done well, they are just the really application-specific, brackish residue that can't be so easily abstracted away. All the nice, reusable components sublimate away onto github and npm where everybody can collaborate to advance the commons." — substack from ["how I write modules"](https://gist.github.com/substack/5075355) + +#### Módulos +Estos son los módulos principales que forman mineflayer: + +| módulo | descripción | +|---|---| +| [minecraft-protocol](https://github.com/PrismarineJS/node-minecraft-protocol) | Analiza y crea paquetes de minecraft, autentificación and encriptación. +| [minecraft-data](https://github.com/PrismarineJS/minecraft-data) | Modulo independiente de lenguaje que provee datos de minecraft para clientes, servidores y librerías. +| [prismarine-physics](https://github.com/PrismarineJS/prismarine-physics) | Motor físico para las entidades de minecraft +| [prismarine-chunk](https://github.com/PrismarineJS/prismarine-chunk) | Representa un chunk de minecraft +| [node-vec3](https://github.com/PrismarineJS/node-vec3) | Matemáticas de vectores 3d con tests unitarios +| [prismarine-block](https://github.com/PrismarineJS/prismarine-block) | Representa un bloque y su información asociada en Minecraft +| [prismarine-chat](https://github.com/PrismarineJS/prismarine-chat) | Analizador de mensajes de chat (extraído de mineflayer) +| [node-yggdrasil](https://github.com/PrismarineJS/node-yggdrasil) | Librería Node.js para interactuar con el sistema de autentificación de Mojang conocido como Yggdrasil. +| [prismarine-world](https://github.com/PrismarineJS/prismarine-world) | Implementación principal de los mundos de Minecraft para Prismarine +| [prismarine-windows](https://github.com/PrismarineJS/prismarine-windows) | Representa ventanas en minecraft +| [prismarine-item](https://github.com/PrismarineJS/prismarine-item) | Representa un item y su información asociada en Minecraft +| [prismarine-nbt](https://github.com/PrismarineJS/prismarine-nbt) | Analizador de NBT para node-minecraft-protocol +| [prismarine-recipe](https://github.com/PrismarineJS/prismarine-recipe) | Representa recetas/crafteos en Minecraft +| [prismarine-biome](https://github.com/PrismarineJS/prismarine-biome) | Representa un bioma y su información asociada en Minecraft +| [prismarine-entity](https://github.com/PrismarineJS/prismarine-entity) | Representa una entidad y su información asociada en Minecraft + +### Depuración + +Puedes habilitar la depuración del protocolo utilizando la variable de entorno `DEBUG`: + +```bash +DEBUG="minecraft-protocol" node [...] +``` + +En windows : +``` +set DEBUG=minecraft-protocol +node your_script.js +``` +## Complementos de terceros + +Mineflayer tiene la capacidad de instalar complementos; cualquiera puede crear un complemento que agregue +un API de nivel superior a Mineflayer. + +Los más actualizados y útiles son: + + * [pathfinder](https://github.com/Karang/mineflayer-pathfinder) - algoritmo de busqueda A* avanzado con muchas características configurables + * [prismarine-viewer](https://github.com/PrismarineJS/prismarine-viewer) - visualizador de chunks basado en web + * [web-inventory](https://github.com/ImHarvol/mineflayer-web-inventory) - visualizador de inventario basado en web + * [statemachine](https://github.com/TheDudeFromCI/mineflayer-statemachine) - API de autómata infinito para comportamientos más complejos + * [Armor Manager](https://github.com/G07cha/MineflayerArmorManager) - gestión automática de armaduras + * [Collect Block](https://github.com/TheDudeFromCI/mineflayer-collectblock) - API rápida y simple para recolectar bloques. + * [Dashboard](https://github.com/wvffle/mineflayer-dashboard) - Panel de instrumentos para un bot de Mineflayer + + +Pero también echa un vistazo a: + + * [navigate](https://github.com/andrewrk/mineflayer-navigate/) - moverse fácilmente + utlizando el algoritmo de búsqueda A* [YouTube Demo](https://www.youtube.com/watch?v=O6lQdmRz8eE) + * [radar](https://github.com/andrewrk/mineflayer-radar/) - interfaz de radar + basada en web utilizando canvas y socket.io [YouTube Demo](https://www.youtube.com/watch?v=FjDmAfcVulQ) + * [blockfinder](https://github.com/Darthfett/mineflayer-blockFinder) - encontrar bloques en el mundo 3D + * [scaffold](https://github.com/andrewrk/mineflayer-scaffold) - moverse a un destino + específico incluso si es necesario construir o rompler bloques para lograrlo + [YouTube Demo](http://youtu.be/jkg6psMUSE0) + * [auto-auth](https://github.com/G07cha/MineflayerAutoAuth) - autenticación basada en chat + * [Bloodhound](https://github.com/Nixes/mineflayer-bloodhound) - determinar quién y qué es responsable de dañar a otra entidad + * [tps](https://github.com/SiebeDW/mineflayer-tps) - obtener los tps actuales (tps procesados) + +## Proyectos que utilizan Mineflayer + + * [rom1504/rbot](https://github.com/rom1504/rbot) + - [YouTube - building a spiral staircase](https://www.youtube.com/watch?v=UM1ZV5200S0) + - [YouTube - replicating a building](https://www.youtube.com/watch?v=0cQxg9uDnzA) + * [Darthfett/Helperbot](https://github.com/Darthfett/Helperbot) + * [vogonistic/voxel](https://github.com/vogonistic/mineflayer-voxel) - visualizar que está + haciendo el bot utilizando voxel.js + * [JonnyD/Skynet](https://github.com/JonnyD/Skynet) - registrar la actividad del jugador en una API en línea + * [MinecraftChat](https://github.com/rom1504/MinecraftChat) (última versión de código abierto, creada por AlexKvazos) - Cliente de chat en web para Minecraft + * [Cheese Bot](https://github.com/Minecheesecraft/Cheese-Bot) - bot basado en complementos con una GUI limpia. Hecho con Node-Webkit. http://bot.ezcha.net/ + * [Chaoscraft](https://github.com/schematical/chaoscraft) - bot de Minecraft usando algoritmos genéticos, ver [sus videos de youtube](https://www.youtube.com/playlist?list=PLLkpLgU9B5xJ7Qy4kOyBJl5J6zsDIMceH) + * [hexatester/minetelegram](https://github.com/hexatester/minetelegram) - puente de Telegram, construido sobre Mineflayer y Telegraf. + * [and hundreds more](https://github.com/PrismarineJS/mineflayer/network/dependents) - todos los proyectos que github detecta usando mineflayer + +## Pruebas Unitarias + +Después de clonar el proyecto, se requiere una configuración adicional para ejecutar las pruebas, pero una vez hecho esto, es muy fácil ejecutarlas + +### Preparación + +Para que todas las pruebas se ejecuten correctamente, primero debes: + +1. crear una nueva carpeta donde se ubicará el jar del servidor de Minecraft +2. definir la variable de entorno MC_SERVER_JAR_DIR para esta carpeta + +Ejemplo: + +1. `mkdir server_jars` +2. `export MC_SERVER_JAR_DIR=/full/path/to/server_jars` + +Donde "/full/path/to/" es la ruta completa. + +### Ejecutar todas las pruebas + +Simplemente ejecuta: `npm test` + +### Ejecutar pruebas para una versión específica de Minecraft +Ejecuta `npm test -g `, donde `` es una versión de minecraft, es decir, `1.12`, `1.15.2`... + +### Ejecutar una pruebas específica +Ejecuta `npm test -g `, donde `` es el nombre de la prueba que quieres ejecutar por ejemplo `bed`, `useChests`, `rayTrace`... + +## Licencia + +[MIT](LICENSE) diff --git a/node_modules/mineflayer/docs/README_RU.md b/node_modules/mineflayer/docs/README_RU.md new file mode 100644 index 00000000..1c86bbaf --- /dev/null +++ b/node_modules/mineflayer/docs/README_RU.md @@ -0,0 +1,235 @@ +# Mineflayer + +[![Версия NPM](https://badge.fury.io/js/mineflayer.svg)](http://badge.fury.io/js/mineflayer) +[![Последние изменения](https://github.com/PrismarineJS/mineflayer/workflows/CI/badge.svg)](https://github.com/PrismarineJS/mineflayer/actions?query=workflow%3A%22CI%22) +[![Discord](https://img.shields.io/badge/chat-on%20discord-brightgreen.svg)](https://discord.gg/GsEFRM8) +[![Gitter](https://img.shields.io/badge/chat-on%20gitter-brightgreen.svg)](https://gitter.im/PrismarineJS/general) +[![Irc](https://img.shields.io/badge/chat-on%20irc-brightgreen.svg)](https://irc.gitter.im/) + +[![Попробуйте на gitpod](https://img.shields.io/badge/try-on%20gitpod-brightgreen.svg)](https://gitpod.io/#https://github.com/PrismarineJS/mineflayer) + +| 🇺🇸 [English](README.md) | 🇷🇺 [Russian](README_RU.md) | 🇪🇸 [Spanish](README_ES.md) | +|-------------------------|----------------------------|----------------------------| + +Создавайте ботов Minecraft с помощью мощного, стабильного и высокоуровневого JavaScript [API](api.md). + +Первый раз используете Node.js? Начни с [этого](tutorial.md) + +## Возможности + + * Поддержка 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15 и 1.16. + * Поддержка энтити и их отслеживание + * Вы можете полностью взаимодействовать с миром. Миллисекунды на поиск любого блока + * Физика и управление + * Атака энтити и использование транспортных средств + * Взаимодействие с инвентарем + * Взаимодействие с крафтингом, сундуками, раздатчиками и чаровальными столами + * Вы можете копать и строить + * Мелкие функции, такие как отслеживание здоровья и прочие + * Активация блоков и использование предметов + * Взаимодействие с чатом + +### Наши цели + + Узнайте про наши текущие [задачи](https://github.com/PrismarineJS/mineflayer/wiki/Big-Prismarine-projects). + +## Установка + +`npm install mineflayer` + +## Документация + +| Ссылка | Описание | +|---|---| +|[Обучение](tutorial.md) | Знакомство с Node.js и Mineflayer | +| [FAQ](FAQ.md) | Появился вопрос? Найди ответ тут | +| [API](api.md) | Методы API | +| [Нестабильное API](unstable_api.md) | Нестабильный методы API | +| [Обновления](history.md) | Список изменений в обновлениях | +| [Примеры](https://github.com/PrismarineJS/mineflayer/tree/master/examples) | Примеры использования Mineflayer| + + +## Сделать вклад в развитие Mineflayer + +Прочитайте [CONTRIBUTING.md](CONTRIBUTING.md) и [prismarine-contribute](https://github.com/PrismarineJS/prismarine-contribute) + +## Использование + +**Videos** + +Обучающее видео, объясняющее базовый процесс настройки бота, можно найти [здесь](https://www.youtube.com/watch?v=ltWosy4Z0Kw) + +Если Вы хотите узнать больше, посмотрите другие видео [здесь](https://www.youtube.com/playlist?list=PLh_alXmxHmzGy3FKbo95AkPp5D8849PEV), а также посмотреть их [исходный код](https://github.com/TheDudeFromCI/Mineflayer-Youtube-Tutorials) + +[tutorial 1](https://www.youtube.com/watch?v=ltWosy4Z0Kw) +[tutorial 2](https://www.youtube.com/watch?v=UWGSf08wQSc) +[tutorial 3](https://www.youtube.com/watch?v=ssWE0kXDGJE) +[tutorial 4](https://www.youtube.com/watch?v=walbRk20KYU) + +**Перед запуском** + +Если версия не указана, она будет выбрана автоматически, исходя из поддерживаемых сервером версиях. +Например: `version:"1.8"`. + +### Простой пример +```js +const mineflayer = require('mineflayer') + +const bot = mineflayer.createBot({ + host: 'localhost', // optional + port: 25565, // optional + username: 'email@example.com', // email и password используются для + password: '12345678', // лицензионных серверов + version: false // при установленном значении false версия будет выбрана автоматически, используйте пример выше чтобы выбрать нужную версию +}) + +bot.on('chat', function (username, message) { + if (username === bot.username) return + bot.chat(message) +}) + +// Отлов ошибок и причин отключения: +bot.on('kicked', (reason, loggedIn) => console.log(reason, loggedIn)) +bot.on('error', err => console.log(err)) +``` + +### Посмотреть, что делает бот + +Спасибо репозиторию [prismarine-viewer](https://github.com/PrismarineJS/prismarine-viewer), с помощью которого можно увидеть от лица бота, что на данный момент происходит на сервере. +Установите [prismarine-viewer](https://github.com/PrismarineJS/prismarine-viewer) c помощью `npm install prismarine-viewer` и добавьте это в Ваш код: +```js +const mineflayerViewer = require('prismarine-viewer').mineflayer +bot.once('spawn', () => { + mineflayerViewer(bot, { port: 3007, firstPerson: true }) +}) +``` +После запуска вы в прямом эфире сможете наблюдать за происходящим: + +[viewer](https://prismarine.js.org/prismarine-viewer/) + +#### Больше примеров + +| Пример | Описание | +|---|---| +|[viewer](https://github.com/PrismarineJS/mineflayer/tree/master/examples/viewer) | Отобразить через браузер вид от лица бота| +|[pathfinder](https://github.com/Karang/mineflayer-pathfinder/blob/master/examples/test.js) | Передвижение бота по координатам и не только | +|[chest](https://github.com/PrismarineJS/mineflayer/blob/master/examples/chest.js) | Использование сундуков, печек, раздатчиков и чаровальных столов | +|[digger](https://github.com/PrismarineJS/mineflayer/blob/master/examples/digger.js) | Пример для создания бота-шахтёра | +|[discord](https://github.com/PrismarineJS/mineflayer/blob/master/examples/discord.js) | Создайте Discord бота | +|[jumper](https://github.com/PrismarineJS/mineflayer/blob/master/examples/jumper.js) | Научите бота передвигатся, прыгать, использовать транспортные средства, а также атаковать энтити | + +И много других примеров в данной [папке](https://github.com/PrismarineJS/mineflayer/tree/master/examples) folder + +### Модули + +Большая часть разработки происходит внутри небольших пакетов npm, которые используются mineflayer. + + +Модули, из которых состоит Mineflayer + +| module | description | +|---|---| +| [minecraft-protocol](https://github.com/PrismarineJS/node-minecraft-protocol) | Парсинг пакетов Minecraft, аутентификация и шифрование +| [minecraft-data](https://github.com/PrismarineJS/minecraft-data) | Независимый от языка модуль, предоставляющий данные Minecraft для клиента и сервера +| [prismarine-physics](https://github.com/PrismarineJS/prismarine-physics) | Взаимодействие с физикой +| [prismarine-chunk](https://github.com/PrismarineJS/prismarine-chunk) | Хранение чанков Minecraft +| [node-vec3](https://github.com/PrismarineJS/node-vec3) | векторная обработка координат +| [prismarine-block](https://github.com/PrismarineJS/prismarine-block) | Взаимодействие с блоками и их данными +| [prismarine-chat](https://github.com/PrismarineJS/prismarine-chat) | Парсер чата Minecraft (вырезана из Mineflayer) +| [node-yggdrasil](https://github.com/PrismarineJS/node-yggdrasil) | Библиотека для взаимодействия с системой аутентификации Mojang, известная как Yggdrasil +| [prismarine-world](https://github.com/PrismarineJS/prismarine-world) | Реализация миров для prismarine +| [prismarine-windows](https://github.com/PrismarineJS/prismarine-windows) | Взаимодействие с GUI +| [prismarine-item](https://github.com/PrismarineJS/prismarine-item) | Взаимодействие с предметами и их данными +| [prismarine-nbt](https://github.com/PrismarineJS/prismarine-nbt) | Парсер NBT для node-minecraft-protocol +| [prismarine-recipe](https://github.com/PrismarineJS/prismarine-recipe) | Взаимодействие с рецептами крафта +| [prismarine-biome](https://github.com/PrismarineJS/prismarine-biome) | Взаимодействие с биомами +| [prismarine-entity](https://github.com/PrismarineJS/prismarine-entity) | Взаимодействие с энтити + + +### Дебаг + +Вы можете отлавливать ошибки с помощью `DEBUG`: + +```bash +DEBUG="minecraft-protocol" node [...] +``` + +На OC Windows : +``` +set DEBUG=minecraft-protocol +node your_script.js +``` + +## Cторонние плагины: + +Mineflayer поддерживает сторонние плагины. С помощью них Вы можете +добавить новые методы API: + + * [pathfinder](https://github.com/Karang/mineflayer-pathfinder) - Поиск пути с помощью координат + * [prismarine-viewer](https://github.com/PrismarineJS/prismarine-viewer) - Простой web клиент для отслеживания активного чанка + * [web-inventory](https://github.com/ImHarvol/mineflayer-web-inventory) - Веб клиент для взаимодействия с инвентарем + * [statemachine](https://github.com/TheDudeFromCI/mineflayer-statemachine) - API с более сложной структурой для ботов + * [Armor Manager](https://github.com/G07cha/MineflayerArmorManager) - Автоматическое взаимодействие с экипировкой + * [Collect Block](https://github.com/TheDudeFromCI/mineflayer-collectblock) - Простой способ для подбора блоков + * [Dashboard](https://github.com/wvffle/mineflayer-dashboard) - Панель управления для бота + + + Также Вы можете изучить: + + * [navigate](https://github.com/andrewrk/mineflayer-navigate/) - Управление, передвижение бота [YouTube Demo](https://www.youtube.com/watch?v=O6lQdmRz8eE) + * [radar](https://github.com/andrewrk/mineflayer-radar/) - Веб радар, созданный с помощью + canvas и socket.io. [YouTube Demo](https://www.youtube.com/watch?v=FjDmAfcVulQ) + * [blockfinder](https://github.com/Darthfett/mineflayer-blockFinder) - Поиск блоков в мире + * [scaffold](https://github.com/andrewrk/mineflayer-scaffold) - Добратся до цели минуя препятствия [YouTube Demo](http://youtu.be/jkg6psMUSE0) + * [auto-auth](https://github.com/G07cha/MineflayerAutoAuth) - Аутентификация на пиратских серверах + * [Bloodhound](https://github.com/Nixes/mineflayer-bloodhound) - Отслеживание получаемого урона в пределах видимости + * [tps](https://github.com/SiebeDW/mineflayer-tps) - Получить TPS сервера + +## Проекты, созданные с помощью Mineflayer + + * [rom1504/rbot](https://github.com/rom1504/rbot) + - [YouTube - постройка спиральной лестницы](https://www.youtube.com/watch?v=UM1ZV5200S0) + - [YouTube - дублирование постройки](https://www.youtube.com/watch?v=0cQxg9uDnzA) + * [Darthfett/Helperbot](https://github.com/Darthfett/Helperbot) + * [vogonistic/voxel](https://github.com/vogonistic/mineflayer-voxel) - визуализация от первого лица бота, + созданная с помощью voxel.js + * [JonnyD/Skynet](https://github.com/JonnyD/Skynet) - отслеживание действий с собственным API + * [MinecraftChat](https://github.com/rom1504/MinecraftChat) (последняя версия с открытым исходным кодом, созданная с помощью AlexKvazos) - Веб чат сервера Minecraft + * [Cheese Bot](https://github.com/Minecheesecraft/Cheese-Bot) - Плагин с чистым GUI. Создан с помощью Node-Webkit. http://bot.ezcha.net/ + * [Chaoscraft](https://github.com/schematical/chaoscraft) - Бот Minecraft, использующий генетические алгоритмы, + посмотрите [эти видео](https://www.youtube.com/playlist?list=PLLkpLgU9B5xJ7Qy4kOyBJl5J6zsDIMceH) + * [hexatester/minetelegram](https://github.com/hexatester/minetelegram) - Мост между Minecraft и Telegram, создан при помощи Mineflayer & Telegraf. + * [и многие другие](https://github.com/PrismarineJS/mineflayer/network/dependents) - Все проекты, в которых используется Mineflayer + + +## Тестирование + +Настройка перед запуском бота + +### Установка + +In order to get all tests to run successfully you must first: + +1. Создайте папку для хранения сервера +2. Установите MC_SERVER_JAR_DIR для этой папки + +Нппример: + +1. `mkdir server_jars` +2. `export MC_SERVER_JAR_DIR=/полный/путь/до/сервера` + +Где "/полный/путь/до/сервера" - это путь к папке, в которой расположен сервер + +### Финальное тестирование + +Запустите: `npm test` + +### Тестирование с определенной версии: +Run `npm test -g `, где `` это версия Minecraft `1.12`, `1.15.2`... + +### Тестирование конкретного теста +Run `npm test -g `, где `` любое название скрипта, по типу `bed`, `useChests`, `rayTrace`... + +## Лицензия + +[MIT](LICENCE) diff --git a/node_modules/mineflayer/docs/_sidebar.md b/node_modules/mineflayer/docs/_sidebar.md new file mode 100644 index 00000000..34d14968 --- /dev/null +++ b/node_modules/mineflayer/docs/_sidebar.md @@ -0,0 +1,9 @@ +- Getting Started + - [Introduction](/) + - [API](api.md) + - [FAQ](FAQ.md) + - [Demos](demos.md) + - [Tutorial](tutorial.md) + - [Unstable API](unstable_api.md) + - [Contribute](CONTRIBUTING.md) + - [History](history.md) \ No newline at end of file diff --git a/node_modules/mineflayer/docs/api.md b/node_modules/mineflayer/docs/api.md new file mode 100644 index 00000000..75ffe955 --- /dev/null +++ b/node_modules/mineflayer/docs/api.md @@ -0,0 +1,1857 @@ + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [API](#api) + - [Enums](#enums) + - [minecraft-data](#minecraft-data) + - [mcdata.blocks](#mcdatablocks) + - [mcdata.items](#mcdataitems) + - [mcdata.materials](#mcdatamaterials) + - [mcdata.recipes](#mcdatarecipes) + - [mcdata.instruments](#mcdatainstruments) + - [mcdata.biomes](#mcdatabiomes) + - [mcdata.entities](#mcdataentities) + - [Classes](#classes) + - [vec3](#vec3) + - [mineflayer.Location](#mineflayerlocation) + - [Entity](#entity) + - [Block](#block) + - [Biome](#biome) + - [Item](#item) + - [windows.Window (base class)](#windowswindow-base-class) + - [Recipe](#recipe) + - [mineflayer.Chest](#mineflayerchest) + - [chest.window](#chestwindow) + - [chest "open"](#chest-open) + - [chest "close"](#chest-close) + - [chest "updateSlot" (oldItem, newItem)](#chest-updateslot-olditem-newitem) + - [chest.close()](#chestclose) + - [chest.deposit(itemType, metadata, count, [callback])](#chestdeposititemtype-metadata-count-callback) + - [chest.withdraw(itemType, metadata, count, [callback])](#chestwithdrawitemtype-metadata-count-callback) + - [chest.count(itemType, [metadata])](#chestcountitemtype-metadata) + - [chest.items()](#chestitems) + - [mineflayer.Furnace](#mineflayerfurnace) + - [furnace "open"](#furnace-open) + - [furnace "close"](#furnace-close) + - [furnace "update"](#furnace-update) + - [furnace "updateSlot" (oldItem, newItem)](#furnace-updateslot-olditem-newitem) + - [furnace.close()](#furnaceclose) + - [furnace.takeInput([callback])](#furnacetakeinputcallback) + - [furnace.takeFuel([callback])](#furnacetakefuelcallback) + - [furnace.takeOutput([callback])](#furnacetakeoutputcallback) + - [furnace.putInput(itemType, metadata, count, [cb])](#furnaceputinputitemtype-metadata-count-cb) + - [furnace.putFuel(itemType, metadata, count, [cb])](#furnaceputfuelitemtype-metadata-count-cb) + - [furnace.inputItem()](#furnaceinputitem) + - [furnace.fuelItem()](#furnacefuelitem) + - [furnace.outputItem()](#furnaceoutputitem) + - [furnace.fuel](#furnacefuel) + - [furnace.progress](#furnaceprogress) + - [mineflayer.Dispenser](#mineflayerdispenser) + - [dispenser "open"](#dispenser-open) + - [dispenser "close"](#dispenser-close) + - [dispenser "updateSlot" (oldItem, newItem)](#dispenser-updateslot-olditem-newitem) + - [dispenser.close()](#dispenserclose) + - [dispenser.items()](#dispenseritems) + - [dispenser.deposit(itemType, metadata, count, [callback])](#dispenserdeposititemtype-metadata-count-callback) + - [dispenser.withdraw(itemType, metadata, count, [callback])](#dispenserwithdrawitemtype-metadata-count-callback) + - [dispenser.count(itemType, [metadata])](#dispensercountitemtype-metadata) + - [mineflayer.EnchantmentTable](#mineflayerenchantmenttable) + - [enchantmentTable "open"](#enchantmenttable-open) + - [enchantmentTable "close"](#enchantmenttable-close) + - [enchantmentTable "updateSlot" (oldItem, newItem)](#enchantmenttable-updateslot-olditem-newitem) + - [enchantmentTable "ready"](#enchantmenttable-ready) + - [enchantmentTable.close()](#enchantmenttableclose) + - [enchantmentTable.targetItem()](#enchantmenttabletargetitem) + - [enchantmentTable.enchantments](#enchantmenttableenchantments) + - [enchantmentTable.enchant(choice, [callback])](#enchantmenttableenchantchoice-callback) + - [enchantmentTable.takeTargetItem([callback])](#enchantmenttabletaketargetitemcallback) + - [enchantmentTable.putTargetItem(item, [callback])](#enchantmenttableputtargetitemitem-callback) + - [mineflayer.Villager](#mineflayervillager) + - [villager "open"](#villager-open) + - [villager "close"](#villager-close) + - [villager "updateSlot" (oldItem, newItem)](#villager-updateslot-olditem-newitem) + - [villager "ready"](#villager-ready) + - [villager.close()](#villagerclose) + - [villager.trades](#villagertrades) + - [villager.trade(tradeIndex, [times], [cb])](#villagertradetradeindex-times-cb) + - [mineflayer.ScoreBoard](#mineflayerscoreboard) + - [ScoreBoard.name](#scoreboardname) + - [ScoreBoard.title](#scoreboardtitle) + - [ScoreBoard.itemsMap](#scoreboarditemsmap) + - [ScoreBoard.items](#scoreboarditems) + - [mineflayer.BossBar](#mineflayerbossbar) + - [BossBar.title](#bossbartitle) + - [BossBar.health](#bossbarhealth) + - [BossBar.dividers](#bossbardividers) + - [BossBar.entityUUID](#bossbarentityuuid) + - [BossBar.shouldDarkenSky](#bossbarshoulddarkensky) + - [BossBar.isDragonBar](#bossbarisdragonbar) + - [BossBar.createFog](#bossbarcreatefog) + - [BossBar.color](#bossbarcolor) + - [Bot](#bot) + - [mineflayer.createBot(options)](#mineflayercreatebotoptions) + - [Properties](#properties) + - [bot.world](#botworld) + - [bot.entity](#botentity) + - [bot.entities](#botentities) + - [bot.username](#botusername) + - [bot.spawnPoint](#botspawnpoint) + - [bot.game.levelType](#botgameleveltype) + - [bot.game.dimension](#botgamedimension) + - [bot.game.difficulty](#botgamedifficulty) + - [bot.game.gameMode](#botgamegamemode) + - [bot.game.hardcore](#botgamehardcore) + - [bot.game.maxPlayers](#botgamemaxplayers) + - [bot.player](#botplayer) + - [bot.players](#botplayers) + - [bot.isRaining](#botisraining) + - [bot.chatPatterns](#botchatpatterns) + - [bot.settings.chat](#botsettingschat) + - [bot.settings.colorsEnabled](#botsettingscolorsenabled) + - [bot.settings.viewDistance](#botsettingsviewdistance) + - [bot.settings.difficulty](#botsettingsdifficulty) + - [bot.settings.skinParts.showCape](#botsettingsskinpartsshowcape) + - [bot.settings.skinParts.showJacket](#botsettingsskinpartsshowjacket) + - [bot.settings.skinParts.showLeftSleeve](#botsettingsskinpartsshowleftsleeve) + - [bot.settings.skinParts.showRightSleeve](#botsettingsskinpartsshowrightsleeve) + - [bot.settings.skinParts.showLeftPants](#botsettingsskinpartsshowleftpants) + - [bot.settings.skinParts.showRightPants](#botsettingsskinpartsshowrightpants) + - [bot.settings.skinParts.showHat](#botsettingsskinpartsshowhat) + - [bot.experience.level](#botexperiencelevel) + - [bot.experience.points](#botexperiencepoints) + - [bot.experience.progress](#botexperienceprogress) + - [bot.health](#bothealth) + - [bot.food](#botfood) + - [bot.foodSaturation](#botfoodsaturation) + - [bot.physics](#botphysics) + - [bot.time.time](#bottimetime) + - [bot.time.timeOfDay](#bottimetimeofday) + - [bot.time.day](#bottimeday) + - [bot.time.isDay](#bottimeisday) + - [bot.time.moonPhase](#bottimemoonphase) + - [bot.time.age](#bottimeage) + - [bot.quickBarSlot](#botquickbarslot) + - [bot.inventory](#botinventory) + - [bot.targetDigBlock](#bottargetdigblock) + - [bot.isSleeping](#botissleeping) + - [bot.scoreboards](#botscoreboards) + - [bot.scoreboard](#botscoreboard) + - [bot.controlState](#botcontrolstate) + - [Events](#events) + - ["chat" (username, message, translate, jsonMsg, matches)](#chat-username-message-translate-jsonmsg-matches) + - ["whisper" (username, message, translate, jsonMsg, matches)](#whisper-username-message-translate-jsonmsg-matches) + - ["actionBar" (jsonMsg)](#actionbar-jsonmsg) + - ["message" (jsonMsg, position)](#message-jsonmsg-position) + - ["login"](#login) + - ["spawn"](#spawn) + - ["respawn"](#respawn) + - ["game"](#game) + - ["title"](#title) + - ["rain"](#rain) + - ["time"](#time) + - ["kicked" (reason, loggedIn)](#kicked-reason-loggedin) + - ["end"](#end) + - ["spawnReset"](#spawnreset) + - ["death"](#death) + - ["health"](#health) + - ["entitySwingArm" (entity)](#entityswingarm-entity) + - ["entityHurt" (entity)](#entityhurt-entity) + - ["entityWake" (entity)](#entitywake-entity) + - ["entityEat" (entity)](#entityeat-entity) + - ["entityCrouch" (entity)](#entitycrouch-entity) + - ["entityUncrouch" (entity)](#entityuncrouch-entity) + - ["entityEquip" (entity)](#entityequip-entity) + - ["entitySleep" (entity)](#entitysleep-entity) + - ["entitySpawn" (entity)](#entityspawn-entity) + - ["itemDrop" (entity)](#itemdrop-entity) + - ["playerCollect" (collector, collected)](#playercollect-collector-collected) + - ["entityGone" (entity)](#entitygone-entity) + - ["entityMoved" (entity)](#entitymoved-entity) + - ["entityDetach" (entity, vehicle)](#entitydetach-entity-vehicle) + - ["entityAttach" (entity, vehicle)](#entityattach-entity-vehicle) + - ["entityUpdate" (entity)](#entityupdate-entity) + - ["entityEffect" (entity, effect)](#entityeffect-entity-effect) + - ["entityEffectEnd" (entity, effect)](#entityeffectend-entity-effect) + - ["playerJoined" (player)](#playerjoined-player) + - ["playerLeft" (player)](#playerleft-player) + - ["blockUpdate" (oldBlock, newBlock)](#blockupdate-oldblock-newblock) + - ["blockUpdate:(x, y, z)" (oldBlock, newBlock)](#blockupdatex-y-z-oldblock-newblock) + - ["chunkColumnLoad" (point)](#chunkcolumnload-point) + - ["chunkColumnUnload" (point)](#chunkcolumnunload-point) + - ["soundEffectHeard" (soundName, position, volume, pitch)](#soundeffectheard-soundname-position-volume-pitch) + - ["hardcodedSoundEffectHeard" (soundId, soundCategory, position, volume, pitch)](#hardcodedsoundeffectheard-soundid-soundcategory-position-volume-pitch) + - ["noteHeard" (block, instrument, pitch)](#noteheard-block-instrument-pitch) + - ["pistonMove" (block, isPulling, direction)](#pistonmove-block-ispulling-direction) + - ["chestLidMove" (block, isOpen, block2)](#chestlidmove-block-isopen-block2) + - ["blockBreakProgressObserved" (block, destroyStage)](#blockbreakprogressobserved-block-destroystage) + - ["blockBreakProgressEnd" (block)](#blockbreakprogressend-block) + - ["diggingCompleted" (block)](#diggingcompleted-block) + - ["diggingAborted" (block)](#diggingaborted-block) + - ["move"](#move) + - ["forcedMove"](#forcedmove) + - ["mount"](#mount) + - ["dismount" (vehicle)](#dismount-vehicle) + - ["windowOpen" (window)](#windowopen-window) + - ["windowClose" (window)](#windowclose-window) + - ["sleep"](#sleep) + - ["wake"](#wake) + - ["experience"](#experience) + - ["scoreboardCreated" (scoreboard)](#scoreboardcreated-scoreboard) + - ["scoreboardDeleted" (scoreboard)](#scoreboarddeleted-scoreboard) + - ["scoreboardTitleChanged" (scoreboard)](#scoreboardtitlechanged-scoreboard) + - ["scoreUpdated" (scoreboard, item)](#scoreupdated-scoreboard-item) + - ["scoreRemoved" (scoreboard, item)](#scoreremoved-scoreboard-item) + - ["scoreboardPosition" (position, scoreboard)](#scoreboardposition-position-scoreboard) + - ["bossBarCreated" (bossBar)](#bossbarcreated-bossbar) + - ["bossBarDeleted" (bossBar)](#bossbardeleted-bossbar) + - ["bossBarUpdated" (bossBar)](#bossbarupdated-bossbar) + - ["heldItemChanged" (heldItem)](#helditemchanged-helditem) + - [Functions](#functions) + - [bot.blockAt(point, extraInfos=true)](#botblockatpoint-extrainfostrue) + - [bot.waitForChunksToLoad(cb)](#botwaitforchunkstoloadcb) + - [bot.blockInSight(maxSteps, vectorLength)](#botblockinsightmaxsteps-vectorlength) + - [bot.blockAtCursor(maxDistance=256)](#botblockatcursormaxdistance256) + - [bot.canSeeBlock(block)](#botcanseeblockblock) + - [bot.findBlocks(options)](#botfindblocksoptions) + - [bot.findBlock(options)](#botfindblockoptions) + - [bot.canDigBlock(block)](#botcandigblockblock) + - [bot.recipesFor(itemType, metadata, minResultCount, craftingTable)](#botrecipesforitemtype-metadata-minresultcount-craftingtable) + - [bot.recipesAll(itemType, metadata, craftingTable)](#botrecipesallitemtype-metadata-craftingtable) + - [bot.nearestEntity(match = (entity) => { return true })](#botnearestentitymatch--entity---return-true-) + - [Methods](#methods) + - [bot.end()](#botend) + - [bot.quit(reason)](#botquitreason) + - [bot.tabComplete(str, cb, [assumeCommand], [sendBlockInSight])](#bottabcompletestr-cb-assumecommand-sendblockinsight) + - [bot.chat(message)](#botchatmessage) + - [bot.whisper(username, message)](#botwhisperusername-message) + - [bot.chatAddPattern(pattern, chatType, description)](#botchataddpatternpattern-chattype-description) + - [bot.setSettings(options)](#botsetsettingsoptions) + - [bot.loadPlugin(plugin)](#botloadpluginplugin) + - [bot.loadPlugins(plugins)](#botloadpluginsplugins) + - [bot.sleep(bedBlock, [cb])](#botsleepbedblock-cb) + - [bot.isABed(bedBlock)](#botisabedbedblock) + - [bot.wake([cb])](#botwakecb) + - [bot.setControlState(control, state)](#botsetcontrolstatecontrol-state) + - [bot.clearControlStates()](#botclearcontrolstates) + - [bot.lookAt(point, [force], [callback])](#botlookatpoint-force-callback) + - [bot.look(yaw, pitch, [force], [callback])](#botlookyaw-pitch-force-callback) + - [bot.updateSign(block, text)](#botupdatesignblock-text) + - [bot.equip(item, destination, [callback])](#botequipitem-destination-callback) + - [bot.unequip(destination, [callback])](#botunequipdestination-callback) + - [bot.tossStack(item, [callback])](#bottossstackitem-callback) + - [bot.toss(itemType, metadata, count, [callback])](#bottossitemtype-metadata-count-callback) + - [bot.dig(block, [forceLook = true], [callback])](#botdigblock-forcelook--true-callback) + - [bot.stopDigging()](#botstopdigging) + - [bot.digTime(block)](#botdigtimeblock) + - [bot.placeBlock(referenceBlock, faceVector, cb)](#botplaceblockreferenceblock-facevector-cb) + - [bot.activateBlock(block, [callback])](#botactivateblockblock-callback) + - [bot.activateEntity(entity, [callback])](#botactivateentityentity-callback) + - [bot.activateEntityAt(entity, position, [callback])](#botactivateentityatentity-callback) + - [bot.consume(callback)](#botconsumecallback) + - [bot.fish(callback)](#botfishcallback) + - [bot.activateItem(offHand=false)](#botactivateitemoffhandfalse) + - [bot.deactivateItem()](#botdeactivateitem) + - [bot.useOn(targetEntity)](#botuseontargetentity) + - [bot.attack(entity)](#botattackentity) + - [bot.swingArm([hand])](#botswingarmhand) + - [bot.mount(entity)](#botmountentity) + - [bot.dismount()](#botdismount) + - [bot.moveVehicle(left,forward)](#botmovevehicleleftforward) + - [bot.setQuickBarSlot(slot)](#botsetquickbarslotslot) + - [bot.craft(recipe, count, craftingTable, [callback])](#botcraftrecipe-count-craftingtable-callback) + - [bot.writeBook(slot, pages, [callback])](#botwritebookslot-pages-callback) + - [bot.openChest(chestBlock or minecartchestEntity)](#botopenchestchestblock-or-minecartchestentity) + - [bot.openFurnace(furnaceBlock)](#botopenfurnacefurnaceblock) + - [bot.openDispenser(dispenserBlock)](#botopendispenserdispenserblock) + - [bot.openEnchantmentTable(enchantmentTableBlock)](#botopenenchantmenttableenchantmenttableblock) + - [bot.openVillager(villagerEntity)](#botopenvillagervillagerentity) + - [bot.trade(villagerInstance, tradeIndex, [times], [cb])](#bottradevillagerinstance-tradeindex-times-cb) + - [bot.setCommandBlock(pos, command, track_output, [mode])](#botsetcommandblockpos-command-track_output-mode) + - [bot.supportFeature(name)](#botsupportfeaturename) + - [Lower level inventory methods](#lower-level-inventory-methods) + - [bot.clickWindow(slot, mouseButton, mode, cb)](#botclickwindowslot-mousebutton-mode-cb) + - [bot.putSelectedItemRange(start, end, window, slot, cb)](#botputselecteditemrangestart-end-window-slot-cb) + - [bot.putAway(slot, cb)](#botputawayslot-cb) + - [bot.closeWindow(window)](#botclosewindowwindow) + - [bot.transfer(options, cb)](#bottransferoptions-cb) + - [bot.openBlock(block, Class)](#botopenblockblock-class) + - [bot.openEntity(entity, Class)](#botopenentityentity-class) + - [bot.moveSlotItem(sourceSlot, destSlot, cb)](#botmoveslotitemsourceslot-destslot-cb) + - [bot.updateHeldItem()](#botupdatehelditem) + - [bot.getEquipmentDestSlot(destination)](#botgetequipmentdestslotdestination) + - [bot.creative](#botcreative) + - [bot.creative.setInventorySlot(slot, item, [callback])](#botcreativesetinventoryslotslot-item-callback) + - [bot.creative.flyTo(destination, [cb])](#botcreativeflytodestination-cb) + - [bot.creative.startFlying()](#botcreativestartflying) + - [bot.creative.stopFlying()](#botcreativestopflying) + + + +# API + +## Enums + +These enums are stored in the language independent [minecraft-data](https://github.com/PrismarineJS/minecraft-data) project, + and accessed through [node-minecraft-data](https://github.com/PrismarineJS/node-minecraft-data). + +### minecraft-data +The data is available in [node-minecraft-data](https://github.com/PrismarineJS/node-minecraft-data) module + +`require('minecraft-data')(bot.version)` gives you access to it. + +### mcdata.blocks +blocks indexed by id + +### mcdata.items +items indexed by id + +### mcdata.materials + +The key is the material. The value is an object with the key as the item id +of the tool and the value as the efficiency multiplier. + +### mcdata.recipes +recipes indexed by id + +### mcdata.instruments +instruments indexed by id + +### mcdata.biomes +biomes indexed by id + +### mcdata.entities +entities indexed by id + +## Classes + +### vec3 + +See [andrewrk/node-vec3](https://github.com/andrewrk/node-vec3) + +All points in mineflayer are supplied as instances of this class. + + * x - south + * y - up + * z - west + +Functions and methods which require a point argument accept `Vec3` instances +as well as an array with 3 values, and an object with `x`, `y`, and `z` +properties. + +### mineflayer.Location + +### Entity + +Entities represent players, mobs, and objects. They are emitted +in many events, and you can access your own entity with `bot.entity`. +See [prismarine-entity](https://github.com/PrismarineJS/prismarine-entity) + +### Block + +See [prismarine-block](https://github.com/PrismarineJS/prismarine-block) + +Also `block.blockEntity` is additional field with block entity data as `Object` +```js +// sign.blockEntity +{ + x: -53, + y: 88, + z: 66, + id: 'minecraft:sign', // 'Sign' in 1.10 + Text1: { toString: Function }, // ChatMessage object + Text2: { toString: Function }, // ChatMessage object + Text3: { toString: Function }, // ChatMessage object + Text4: { toString: Function }, // ChatMessage object +} +``` + +### Biome + +See [prismarine-biome](https://github.com/PrismarineJS/prismarine-biome) + +### Item + +See [prismarine-item](https://github.com/PrismarineJS/prismarine-item) + +### windows.Window (base class) + +See [prismarine-windows](https://github.com/PrismarineJS/prismarine-windows) + +### Recipe + +See [prismarine-recipe](https://github.com/PrismarineJS/prismarine-recipe) + +### mineflayer.Chest + +Represents a single session of opening and closing a chest. +See `bot.openChest(chestBlock or minecartchestEntity)`. + +#### chest.window + +If the chest is open, this property is a `ChestWindow` instance. +If the chest is closed, this property is `null`. + +#### chest "open" + +Fires when the chest has successfully been opened. + +#### chest "close" + +Fires when the chest closes. + +#### chest "updateSlot" (oldItem, newItem) + +Fires when the chest you are looking at is updated. + +#### chest.close() + +#### chest.deposit(itemType, metadata, count, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + + * `itemType` - numerical item id + * `metadata` - numerical value. `null` means match anything. + * `count` - how many to deposit. `null` is an alias to 1. + * `callback(err)` - (optional) - called when done depositing + +#### chest.withdraw(itemType, metadata, count, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + + * `itemType` - numerical item id + * `metadata` - numerical value. `null` means match anything. + * `count` - how many to withdraw. `null` is an alias to 1. + * `callback(err)` - (optional) - called when done withdrawing + +#### chest.count(itemType, [metadata]) + +Return how many of a certain type of item are in the chest. + + * `itemType` - numerical item id + * `metadata` - (optional) numerical value. `null` means match anything. + +#### chest.items() + +Returns a list of `Item` instances from the chest. + +### mineflayer.Furnace + +See `bot.openFurnace(furnaceBlock)`. + +#### furnace "open" + +Fires when the furnace has successfully been opened. + +#### furnace "close" + +Fires when the furnace closes. + +#### furnace "update" + +Fires when `furnace.fuel` and/or `furnace.progress` update. + +#### furnace "updateSlot" (oldItem, newItem) + +Fires when a slot in the furnace you have open has updated. + +#### furnace.close() + +#### furnace.takeInput([callback]) + +This function also returns a `Promise`, with `item` as its argument upon completion. + + * `callback(err, item)` + +#### furnace.takeFuel([callback]) + +This function also returns a `Promise`, with `item` as its argument upon completion. + + * `callback(err, item)` + +#### furnace.takeOutput([callback]) + +This function also returns a `Promise`, with `item` as its argument upon completion. + + * `callback(err, item)` + +#### furnace.putInput(itemType, metadata, count, [cb]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +#### furnace.putFuel(itemType, metadata, count, [cb]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +#### furnace.inputItem() + +Returns `Item` instance which is the input. + +#### furnace.fuelItem() + +Returns `Item` instance which is the fuel. + +#### furnace.outputItem() + +Returns `Item` instance which is the output. + +#### furnace.fuel + +How much fuel is left between 0 and 1. + +#### furnace.progress + +How much cooked the input is between 0 and 1. + +### mineflayer.Dispenser + +See `bot.openDispenser(dispenserBlock)`. + +#### dispenser "open" + +Fires when the dispenser has successfully been opened. + +#### dispenser "close" + +Fires when the dispenser closes. + +#### dispenser "updateSlot" (oldItem, newItem) + +Fires when a slot in the dispenser you have open has updated. + +#### dispenser.close() + +#### dispenser.items() + +Returns a list of `Item` instances from the dispenser. + +#### dispenser.deposit(itemType, metadata, count, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + + * `itemType` - numerical item id + * `metadata` - numerical value. `null` means match anything. + * `count` - how many to deposit. `null` is an alias to 1. + * `callback(err)` - (optional) - called when done depositing + +#### dispenser.withdraw(itemType, metadata, count, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + + * `itemType` - numerical item id + * `metadata` - numerical value. `null` means match anything. + * `count` - how many to withdraw. `null` is an alias to 1. + * `callback(err)` - (optional) - called when done withdrawing + +#### dispenser.count(itemType, [metadata]) + +Return how many of a certain type of item are in the dispenser. + + * `itemType` - numerical item id + * `metadata` - (optional) numerical value. `null` means match anything. + +### mineflayer.EnchantmentTable + +See `bot.openEnchantmentTable(enchantmentTableBlock)`. + +#### enchantmentTable "open" + +Fires when the enchantment table has successfully been opened. + +#### enchantmentTable "close" + +Fires when the enchantment table closes. + +#### enchantmentTable "updateSlot" (oldItem, newItem) + +Fires when a slot in the enchantment table you have open has updated. + +#### enchantmentTable "ready" + +Fires when `enchantmentTable.enchantments` is fully populated and you +may make a selection by calling `enchantmentTable.enchant(choice)`. + +#### enchantmentTable.close() + +#### enchantmentTable.targetItem() + +Gets the target item. This is both the input and the output of the +enchantment table. + +#### enchantmentTable.enchantments + +Array of length 3 which are the 3 enchantments to choose from. +`level` can be `null` if the server has not sent the data yet. + +Looks like: + +```js +[ + { + "level": 3 + }, + { + "level": 4 + }, + { + "level": 9 + } +] +``` + +#### enchantmentTable.enchant(choice, [callback]) + +This function also returns a `Promise`, with `item` as its argument upon completion. + + * `choice` - [0-2], the index of the enchantment you want to pick. + * `callback(err, item)` - (optional) called when the item has been enchanted + +#### enchantmentTable.takeTargetItem([callback]) + +This function also returns a `Promise`, with `item` as its argument upon completion. + + * `callback(err, item)` + +#### enchantmentTable.putTargetItem(item, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + + * `callback(err)` + + #### enchantmentTable.putLapis(item, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + + * `callback(err)` + +### mineflayer.Villager + +See `bot.openVillager(villagerEntity)`. + +#### villager "open" + +Fires when the trading window has successfully been opened. + +#### villager "close" + +Fires when the trading window closes. + +#### villager "updateSlot" (oldItem, newItem) + +Fires when a slot in the trading window has updated. + +#### villager "ready" + +Fires when `villager.trades` is loaded. + +#### villager.close() + +#### villager.trades + +Array of trades. + +Looks like: + +```js +[ + { + firstInput: Item, + output: Item, + hasSecondItem: false, + secondaryInput: null, + disabled: false, + tooluses: 0, + maxTradeuses: 7 + }, + { + firstInput: Item, + output: Item, + hasSecondItem: false, + secondaryInput: null, + disabled: false, + tooluses: 0, + maxTradeuses: 7 + }, + { + firstInput: Item, + output: Item, + hasSecondItem: true, + secondaryInput: Item, + disabled: false, + tooluses: 0, + maxTradeuses: 7 + } +] +``` + +#### villager.trade(tradeIndex, [times], [cb]) +Is the same as [bot.trade(villagerInstance, tradeIndex, [times], [cb])](#bottradevillagerinstance-tradeindex-times-cb) + +### mineflayer.ScoreBoard + +#### ScoreBoard.name + +Name of the scoreboard. + +#### ScoreBoard.title + +The title of the scoreboard (does not always equal the name) + +#### ScoreBoard.itemsMap + +An object with all items in the scoreboard in it +```js +{ + wvffle: { name: 'wvffle', value: 3 }, + dzikoysk: { name: 'dzikoysk', value: 6 } +} +``` + +#### ScoreBoard.items + +An array with all sorted items in the scoreboard in it +```js +[ + { name: 'dzikoysk', value: 6 }, + { name: 'wvffle', value: 3 } +] +``` + +### mineflayer.BossBar + +#### BossBar.title + +Title of boss bar, instance of ChatMessage + +#### BossBar.health + +Percent of boss health, from `0` to `1` + +#### BossBar.dividers + +Number of boss bar dividers, one of `0`, `6`, `10`, `12`, `20` + +#### BossBar.entityUUID + +Boss bar entity uuid + +#### BossBar.shouldDarkenSky + +Determines whether or not to darken the sky + +#### BossBar.isDragonBar + +Determines whether or not boss bar is dragon bar + +#### BossBar.createFog + +Determines whether or not boss bar creates fog + +#### BossBar.color + +Determines what color the boss bar color is, one of `pink`, `blue`, `red`, `green`, `yellow`, `purple`, `white` + +## Bot + +### mineflayer.createBot(options) + +Create and return an instance of the class bot. +`options` is an object containing the optional properties : + * username : default to 'Player' + * port : default to 25565 + * password : can be omitted (if the tokens are also omitted then it tries to connect in offline mode) + * host : default to localhost + * version : default to automatically guessing the version of the server. Example of value : "1.12.2" + * clientToken : generated if a password is given + * accessToken : generated if a password is given + * logErrors : true by default, catch errors and log them + * hideErrors : false by default, do not log errors (even if logErrors is true) + * keepAlive : send keep alive packets : default to true + * checkTimeoutInterval : default to `30*1000` (30s), check if keepalive received at that period, disconnect otherwise. + * loadInternalPlugins : defaults to true + * storageBuilder : an optional function, takes as argument version and worldName and return an instance of something with the same API as prismarine-provider-anvil. Will be used to save the world. + * plugins : object : defaults to {} + - pluginName : false : don't load internal plugin with given name ie. `pluginName` + - pluginName : true : load internal plugin with given name ie. `pluginName` even though loadInternalplugins is set to false + - pluginName : external plugin inject function : loads external plugin, overrides internal plugin with given name ie. `pluginName` + * [chat](bot.settings.chat) + * [colorsEnabled](bot.settings.colorsEnabled) + * [viewDistance](bot.settings.viewDistance) + * [difficulty](bot.settings.difficulty) + * [showCape](bot.settings.skinParts.showCape) + * [showJacket](bot.settings.skinParts.showJacket) + * [showLeftSleeve](bot.settings.skinParts.showLeftSleeve) + * [showRightSleeve](bot.settings.skinParts.showRightSleeve) + * [showLeftPants](bot.settings.skinParts.showLeftPants) + * [showRigthtPants](bot.settings.skinParts.showRightPants) + * [showHat](bot.settings.skinParts.showHat) + * chatLengthLimit : the maximum amount of characters that can be sent in a single message. If this is not set, it will be 100 in < 1.11 and 256 in >= 1.11. + +### Properties + +#### bot.world + +A sync representation of the world. Check the doc at http://github.com/PrismarineJS/prismarine-world + +#### bot.entity + +Your own entity. See `Entity`. + +#### bot.entities + +All nearby entities. This object is a map of entityId to entity. + +#### bot.username + +Use this to find out your own name. + +#### bot.spawnPoint + +Coordinates to the main spawn point, where all compasses point to. + +#### bot.game.levelType + +#### bot.game.dimension + +#### bot.game.difficulty + +#### bot.game.gameMode + +#### bot.game.hardcore + +#### bot.game.maxPlayers + +### bot.player + +Bot's player object +```js +{ + username: 'player', + displayName: { toString: Function }, // ChatMessage object. + gamemode: 0, + ping: 28, + entity: entity, // null if you are too far away +} +``` + +#### bot.players + +Map of username to people playing the game. + +#### bot.isRaining + +#### bot.chatPatterns + +This is an array of pattern objects, of the following format: +{ /regex/, "chattype", "description") + * /regex/ - a regular expression pattern, that should have at least two capture groups + * 'chattype' - the type of chat the pattern matches, ex "chat" or "whisper", but can be anything. + * 'description' - description of what the pattern is for, optional. + +#### bot.settings.chat + +Choices: + + * `enabled` (default) + * `commandsOnly` + * `disabled` + +#### bot.settings.colorsEnabled + +Default true, whether or not you receive color codes in chats from the server. + +#### bot.settings.viewDistance + +Choices: + * `far` (default) + * `normal` + * `short` + * `tiny` + +#### bot.settings.difficulty + +Same as from server.properties. + +#### bot.settings.skinParts.showCape + +If you have a cape you can turn it off by setting this to false. + +#### bot.settings.skinParts.showJacket + +Set the jacket layer of the skin. + +#### bot.settings.skinParts.showLeftSleeve + +Set the left sleeve layer of the skin. + +#### bot.settings.skinParts.showRightSleeve + +Set the right sleeve layer of the skin. + +#### bot.settings.skinParts.showLeftPants + +Set the left pants layer of the skin. + +#### bot.settings.skinParts.showRightPants + +Set the right pants layer of the skin. + +#### bot.settings.skinParts.showHat + +Set the hat layer of the skin. + +#### bot.experience.level + +#### bot.experience.points + +Total experience points. + +#### bot.experience.progress + +Between 0 and 1 - amount to get to the next level. + +#### bot.health + +Number in the range [0, 20] representing the number of half-hearts. + +#### bot.food + +Number, in the range [0, 20] representing the number of half-turkey-legs. + +#### bot.foodSaturation + +Food saturation acts as a food "overcharge". Food values will not decrease +while the saturation is over zero. Players logging in automatically get a +saturation of 5.0. Eating food increases the saturation as well as the food bar. + + +#### bot.physics + +Edit these numbers to tweak gravity, jump speed, terminal velocity, etc. +Do this at your own risk. + +#### bot.time.time + +Total time of the world since day 0. + +#### bot.time.timeOfDay + +Time of the day, in ticks. + +Time is based on ticks, where 20 ticks happen every second. There are 24000 +ticks in a day, making Minecraft days exactly 20 minutes long. + +The time of day is based on the timestamp modulo 24000. 0 is sunrise, 6000 +is noon, 12000 is sunset, and 18000 is midnight. + +#### bot.time.day + +Day of the world. + +#### bot.time.isDay + +Whether it is day or not. + +Based on whether the current time of day isn't between 13000 and 23000 ticks. + +#### bot.time.moonPhase + +Phase of the moon. + +0-7 where 0 is full moon. + +#### bot.time.age + +Age of the world, in ticks. + +#### bot.quickBarSlot + +Which quick bar slot is selected (0 - 8). + +#### bot.inventory + +A [`Window`](https://github.com/PrismarineJS/prismarine-windows#windowswindow-base-class) instance representing your inventory. + +#### bot.targetDigBlock + +The `block` that you are currently digging, or `null`. + +#### bot.isSleeping + +Boolean, whether or not you are in bed. + +#### bot.scoreboards + +All scoreboards known to the bot in an object scoreboard name -> scoreboard. + +#### bot.scoreboard + +All scoreboards known to the bot in an object scoreboard displaySlot -> scoreboard. + + * `belowName` - scoreboard placed in belowName + * `sidebar` - scoreboard placed in sidebar + * `list` - scoreboard placed in list + * `0-18` - slots defined in [protocol](https://wiki.vg/Protocol#Display_Scoreboard) + +#### bot.controlState + +An object whose keys are the main control states: ['forward', 'back', 'left', 'right', 'jump', 'sprint', 'sneak']. + +Setting values for this object internally calls [bot.setControlState](#botsetcontrolstatecontrol-state). + +### Events + +#### "chat" (username, message, translate, jsonMsg, matches) + +Only emitted when a player chats publicly. + + * `username` - who said the message (compare with `bot.username` to ignore your own chat) + * `message` - stripped of all color and control characters + * `translate` - chat message type. Null for most bukkit chat messages + * `jsonMsg` - unmodified JSON message from the server + * `matches` - array of returned matches from regular expressions. May be null + +#### "whisper" (username, message, translate, jsonMsg, matches) + +Only emitted when a player chats to you privately. + + * `username` - who said the message + * `message` - stripped of all color and control characters + * `translate` - chat message type. Null for most bukkit chat messages + * `jsonMsg` - unmodified JSON message from the server + * `matches` - array of returned matches from regular expressions. May be null + +#### "actionBar" (jsonMsg) + +Emitted for every server message which appears on the Action Bar. + + * `jsonMsg` - unmodified JSON message from the server + +#### "message" (jsonMsg, position) + +Emitted for every server message, including chats. + + * `jsonMsg` - unmodified JSON message from the server + + * `position` - (>= 1.8.1): position of Chat message can be + * chat + * system + * game_info + +#### "login" + +Fires after you successfully login to the server. +You probably want to wait for the `spawn` event +before doing anything though. + +#### "spawn" + +Emitted once after you log in and spawn for the first time +and then emitted when you respawn after death. + +This is usually the event that you want to listen to +before doing anything on the server. + +#### "respawn" + +Emitted when you change dimensions and just before you spawn. +Usually you want to ignore this event and wait until the "spawn" +event instead. + +#### "game" + +Emitted when the server changes any of the game properties. + +#### "title" + +Emitted when the server sends a title + + * `text` - title's text + +#### "rain" + +Emitted when it starts or stops raining. If you join a +server where it is already raining, this event will fire. + +#### "time" + +Emitted when the server sends a time update. See `bot.time`. + +#### "kicked" (reason, loggedIn) + +Emitted when the bot is kicked from the server. `reason` +is a chat message explaining why you were kicked. `loggedIn` +is `true` if the client was kicked after successfully logging in, +or `false` if the kick occurred in the login phase. + +#### "end" + +Emitted when you are no longer connected to the server. + +#### "spawnReset" + +Fires when you cannot spawn in your bed and your spawn point gets reset. + +#### "death" + +Fires when you die. + +#### "health" + +Fires when your hp or food change. + +#### "entitySwingArm" (entity) +#### "entityHurt" (entity) +#### "entityWake" (entity) +#### "entityEat" (entity) +#### "entityCrouch" (entity) +#### "entityUncrouch" (entity) +#### "entityEquip" (entity) +#### "entitySleep" (entity) +#### "entitySpawn" (entity) +#### "itemDrop" (entity) +#### "playerCollect" (collector, collected) + +An entity picked up an item. + + * `collector` - entity that picked up the item. + * `collected` - the entity that was the item on the ground. + +#### "entityGone" (entity) +#### "entityMoved" (entity) +#### "entityDetach" (entity, vehicle) +#### "entityAttach" (entity, vehicle) + +An entity is attached to a vehicle, such as a mine cart +or boat. + + * `entity` - the entity hitching a ride + * `vehicle` - the entity that is the vehicle + +#### "entityUpdate" (entity) +#### "entityEffect" (entity, effect) +#### "entityEffectEnd" (entity, effect) +#### "playerJoined" (player) +#### "playerLeft" (player) + +#### "blockUpdate" (oldBlock, newBlock) + +Fires when a block updates. Both `oldBlock` and `newBlock` provided for +comparison. + +Note that `oldBlock` may be `null`. + +#### "blockUpdate:(x, y, z)" (oldBlock, newBlock) + +Fires for a specific point. Both `oldBlock` and `newBlock` provided for +comparison. + +Note that `oldBlock` may be `null`. + +#### "chunkColumnLoad" (point) +#### "chunkColumnUnload" (point) + +Fires when a chunk has updated. `point` is the coordinates to the corner +of the chunk with the smallest x, y, and z values. + +#### "soundEffectHeard" (soundName, position, volume, pitch) + +Fires when the client hears a named sound effect. + + * `soundName`: name of the sound effect + * `position`: a Vec3 instance where the sound originates + * `volume`: floating point volume, 1.0 is 100% + * `pitch`: integer pitch, 63 is 100% + +#### "hardcodedSoundEffectHeard" (soundId, soundCategory, position, volume, pitch) + + Fires when the client hears a hardcoded sound effect. + + * `soundId`: id of the sound effect + * `soundCategory`: category of the sound effect + * `position`: a Vec3 instance where the sound originates + * `volume`: floating point volume, 1.0 is 100% + * `pitch`: integer pitch, 63 is 100% + +#### "noteHeard" (block, instrument, pitch) + +Fires when a note block goes off somewhere. + + * `block`: a Block instance, the block that emitted the noise + * `instrument`: + - `id`: integer id + - `name`: one of [`harp`, `doubleBass`, `snareDrum`, `sticks`, `bassDrum`]. + * `pitch`: The pitch of the note (between 0-24 inclusive where 0 is the + lowest and 24 is the highest). More information about how the pitch values + correspond to notes in real life are available on the + [official Minecraft wiki](http://www.minecraftwiki.net/wiki/Note_Block). + +#### "pistonMove" (block, isPulling, direction) + +#### "chestLidMove" (block, isOpen, block2) +* `block`: a Block instance, the block whose lid opened. The right block if it's a double chest +* `isOpen`: number of players that have the chest open. 0 if it's closed +* `block2`: a Block instance, the other half of the block whose lid opened. null if it's not a double chest + +#### "blockBreakProgressObserved" (block, destroyStage) + +Fires when the client observes a block in the process of being broken. + + * `block`: a Block instance, the block being broken + * `destroyStage`: integer corresponding to the destroy progress (0-9) + +#### "blockBreakProgressEnd" (block) + +Fires when the client observes a block stops being broken. +This occurs whether the process was completed or aborted. + + * `block`: a Block instance, the block no longer being broken + +#### "diggingCompleted" (block) + + * `block` - the block that no longer exists + +#### "diggingAborted" (block) + + * `block` - the block that still exists + +#### "move" + +Fires when the bot moves. If you want the current position, use +`bot.entity.position` and for normal moves if you want the previous position, use +`bot.entity.position.minus(bot.entity.velocity)`. + +#### "forcedMove" + +Fires when the bot is force moved by the server (teleport, spawning, ...). If you want the current position, use +`bot.entity.position`. + +#### "mount" + +Fires when you mount an entity such as a minecart. To get access +to the entity, use `bot.vehicle`. + +To mount an entity, use `mount`. + +#### "dismount" (vehicle) + +Fires when you dismount from an entity. + +#### "windowOpen" (window) + +Fires when you begin using a workbench, chest, brewing stand, etc. + +#### "windowClose" (window) + +Fires when you may no longer work with a workbench, chest, etc. + +#### "sleep" + +Fires when you sleep. + +#### "wake" + +Fires when you wake up. + +#### "experience" + +Fires when `bot.experience.*` has updated. + +#### "scoreboardCreated" (scoreboard) + +Fires when a scoreboard is added. + +#### "scoreboardDeleted" (scoreboard) + +Fires when a scoreboard is deleted. + +#### "scoreboardTitleChanged" (scoreboard) + +Fires when a scoreboard's title is updated. + +#### "scoreUpdated" (scoreboard, item) + +Fires when the score of a item in a scoreboard is updated. + +#### "scoreRemoved" (scoreboard, item) + +Fires when the score of a item in a scoreboard is removed. + +#### "scoreboardPosition" (position, scoreboard) + +Fires when the position of a scoreboard is updated. + +#### "bossBarCreated" (bossBar) + +Fires when new boss bar is created. + +#### "bossBarDeleted" (bossBar) + +Fires when new boss bar is deleted. + +#### "bossBarUpdated" (bossBar) + +Fires when new boss bar is updated. + +#### "heldItemChanged" (heldItem) + +Fires when the held item is changed. + +### Functions + +#### bot.blockAt(point, extraInfos=true) + +Returns the block at `point` or `null` if that point is not loaded. If `extraInfos` set to true, also returns informations about signs, paintings and block entities (slower). +See `Block`. + +#### bot.waitForChunksToLoad(cb) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +The cb gets called when many chunks have loaded. + +#### bot.blockInSight(maxSteps, vectorLength) + +Deprecated, use `blockAtCursor` instead. + +Returns the block at which bot is looking at or `null` + * `maxSteps` - Number of steps to raytrace, defaults to 256. + * `vectorLength` - Length of raytracing vector, defaults to `5/16`. + +#### bot.blockAtCursor(maxDistance=256) + +Returns the block at which bot is looking at or `null` + * `maxDistance` - The maximum distance the block can be from the eye, defaults to 256. + +#### bot.canSeeBlock(block) + +Returns true or false depending on whether the bot can see the specified `block`. + +#### bot.findBlocks(options) + +Finds the closest blocks from the given point. + * `options` - Options for the search: + - `point` - The start position of the search (center). Default is the bot position. + - `matching` - A function that returns true if the given block is a match. Also supports this value being a block id or array of block ids. + - `useExtraInfo` - Use extra info when matching (block entities, signs, painting), 2x slower + - `maxDistance` - The furthest distance for the search, defaults to 16. + - `count` - Number of blocks to find before returning the search. Default to 1. Can return less if not enough blocks are found exploring the whole area. + +Returns an array (possibly empty) with the found block coordinates (not the blocks). The array is sorted (closest first) + +#### bot.findBlock(options) + +Alias for `bot.findBlock(options)[0]`. Return a single block or `null`. + +#### bot.canDigBlock(block) + +Returns whether `block` is diggable and within range. + +#### bot.recipesFor(itemType, metadata, minResultCount, craftingTable) + +Returns a list of `Recipe` instances that you could use to craft `itemType` +with `metadata`. + + * `itemType` - numerical item id of the thing you want to craft + * `metadata` - the numerical metadata value of the item you want to craft + `null` matches any metadata. + * `minResultCount` - based on your current inventory, any recipe from the + returned list will be able to produce this many items. `null` is an + alias for `1`. + * `craftingTable` - a `Block` instance. If `null`, only recipes that can + be performed in your inventory window will be included in the list. + +#### bot.recipesAll(itemType, metadata, craftingTable) + +The same as bot.recipesFor except that it does not check wether the bot has enough materials for the recipe. + +#### bot.nearestEntity(match = (entity) => { return true }) + +Return the nearest entity to the bot, matching the function (default to all entities). Return null if no entity is found. + +### Methods + +#### bot.end() + +End the connection with the server. + +#### bot.quit(reason) + +Gracefully disconnect from the server with the given reason (defaults to 'disconnect.quitting'). + +#### bot.tabComplete(str, cb, [assumeCommand], [sendBlockInSight]) + +This function also returns a `Promise`, with `matches` as its argument upon completion. + +Requests chat completion from the server. + * `str` - String to complete. + * `callback(matches)` + - `matches` - Array of matching strings. + * `assumeCommand` - Field sent to server, defaults to false. + * `sendBlockInSight` - Field sent to server, defaults to true. Set this option to false if you want more performance. + +#### bot.chat(message) + +Sends a publicly broadcast chat message. Breaks up big messages into multiple chat messages as necessary. + +#### bot.whisper(username, message) + +Shortcut for "/tell ". All split messages will be whispered to username. + +#### bot.chatAddPattern(pattern, chatType, description) + +Adds a regex pattern to the bot's chat matching. Useful for bukkit servers where the chat format changes a lot. + * `pattern` - regular expression to match chat + * `chatType` - the event the bot emits when the pattern matches. Eg: "chat" or "whisper" + * 'description ' - Optional, describes what the pattern is for + +#### bot.setSettings(options) + +See the `bot.settings` property. + +#### bot.loadPlugin(plugin) + +Injects a Plugin. Does nothing if the plugin is already loaded. + + * `plugin` - function + +```js +function somePlugin(bot, options) { + function someFunction() { + bot.chat('Yay!'); + } + + bot.myPlugin = {} // Good practice to namespace plugin API + bot.myPlugin.someFunction = someFunction; +} + +var bot = mineflayer.createBot(...); +bot.loadPlugin(somePlugin); +bot.once('login', function() { + bot.myPlugin.someFunction(); // Yay! +}); +``` + +#### bot.loadPlugins(plugins) + +Injects plugins see `bot.loadPlugin`. + * `plugins` - array of functions + +#### bot.hasPlugin(plugin) + +Checks if the given plugin is loaded (or scheduled to be loaded) on this bot. + +#### bot.sleep(bedBlock, [cb]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Sleep in a bed. `bedBlock` should be a `Block` instance which is a bed. `cb` can have an err parameter if the bot cannot sleep. + +#### bot.isABed(bedBlock) + +Return true if `bedBlock` is a bed + +#### bot.wake([cb]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Get out of bed. `cb` can have an err parameter if the bot cannot wake up. + +#### bot.setControlState(control, state) + +This is the main method controlling the bot movements. It works similarly to pressing keys in minecraft. +For example forward with state true will make the bot move forward. Forward with state false will make the bot stop moving forward. +You may use bot.lookAt in conjunction with this to control movement. The jumper.js example shows how to use this. + + * `control` - one of ['forward', 'back', 'left', 'right', 'jump', 'sprint', 'sneak'] + * `state` - `true` or `false` + +#### bot.clearControlStates() + +Sets all controls to off. + +#### bot.lookAt(point, [force], [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + + * `point` [Vec3](https://github.com/andrewrk/node-vec3) instance - tilts your head so that it is directly facing this point. + * `force` - See `force` in `bot.look` + * `callback()` optional, called when you are looking at `point` + +#### bot.look(yaw, pitch, [force], [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Set the direction your head is facing. + + * `yaw` - The number of radians to rotate around the vertical axis, starting + from due east. Counter clockwise. + * `pitch` - Number of radians to point up or down. 0 means straight forward. + pi / 2 means straight up. -pi / 2 means straight down. + * `force` - If present and true, skips the smooth server-side transition. + Specify this to true if you need the server to know exactly where you + are looking, such as for dropping items or shooting arrows. This is not + needed for client-side calculation such as walking direction. + * `callback()` optional, called when you are looking at `yaw` and `pitch` + +#### bot.updateSign(block, text) + +Changes the text on the sign. + +#### bot.equip(item, destination, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Equips an item from your inventory. + + * `item` - `Item` instance. See `window.items()`. + * `destination` + - `"hand"` - `null` aliases to this + - `"head"` + - `"torso"` + - `"legs"` + - `"feet"` + - `"off-hand"` - when available + * `callback(error)` - optional. called when you have successfully equipped + the item or when you learn that you have failed to equip the item. + +#### bot.unequip(destination, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Remove an article of equipment. + +#### bot.tossStack(item, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + + * `item` - the stack of items you wish to toss + * `callback(error)` - optional, called when tossing is done. if error is + truthy, you were not able to complete the toss. + +#### bot.toss(itemType, metadata, count, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + + * `itemType` - numerical id of the item you wish to toss + * `metadata` - metadata of the item you wish to toss. Use `null` + to match any metadata + * `count` - how many you want to toss. `null` is an alias for `1`. + * `callback(err)` - (optional) called once tossing is complete + +#### bot.dig(block, [forceLook = true], [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Begin digging into `block` with the currently equipped item. +See also "diggingCompleted" and "diggingAborted" events. + +Note that once you begin digging into a block, you may not +dig any other blocks until the block has been broken, or you call +`bot.stopDigging()`. + + * `block` - the block to start digging into + * `forceLook` - (optional) if true, look at the block and start mining instantly + * `callback(err)` - (optional) called when the block is broken or you + are interrupted. + +#### bot.stopDigging() + +#### bot.digTime(block) + +Tells you how long it will take to dig the block, in milliseconds. + +#### bot.placeBlock(referenceBlock, faceVector, cb) + +This function also returns a `Promise`, with `void` as its argument upon completion. + + * `referenceBlock` - the block you want to place a new block next to + * `faceVector` - one of the six cardinal directions, such as `new Vec3(0, 1, 0)` for the top face, + indicating which face of the `referenceBlock` to place the block against. + * `cb` will be called when the server confirms that the block has indeed been placed + +The new block will be placed at `referenceBlock.position.plus(faceVector)`. + +#### bot.activateBlock(block, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Punch a note block, open a door, etc. + + * `block` - the block to activate + * `callback(err)` - (optional) called when the block has been activated + +#### bot.activateEntity(entity, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Activate an entity, useful for villager for example. + + * `entity` - the entity to activate + * `callback(err)` - (optional) called when the entity has been activated + +#### bot.activateEntityAt(entity, position, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Activate an entity at the given position, useful for armor stands. + + * `entity` - the entity to activate + * `position` - the world position to click at + * `callback(err)` - (optional) called when the entity has been activated + +#### bot.consume(callback) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Eat / drink currently held item + + * `callback(error)` - called when consume ends + +#### bot.fish(callback) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Use fishing rod + + * `callback(error)` - called when fishing ends + +#### bot.activateItem(offHand=false) + +Activates the currently held item. This is how you eat, shoot bows, throw an egg, etc. +Optional parameter is `false` for main hand and `true` for off hand. + +#### bot.deactivateItem() + +Deactivates the currently held item. This is how you release an arrow, stop eating, etc. + +#### bot.useOn(targetEntity) + +Use the currently held item on an `Entity` instance. This is how you apply a saddle and +use shears. + +#### bot.attack(entity) + +Attack a player or a mob. + +#### bot.swingArm([hand]) + +Play an arm swing animation. + + * `hand` can take `left` or `right` which is arm that is animated. Default: `right` + +#### bot.mount(entity) + +Mount a vehicle. To get back out, use `bot.dismount`. + +#### bot.dismount() + +Dismounts from the vehicle you are in. + +#### bot.moveVehicle(left,forward) + +Moves the vehicle : + + * left can take -1 or 1 : -1 means right, 1 means left + * forward can take -1 or 1 : -1 means backward, 1 means forward + +All the direction are relative to where the bot is looking at + +#### bot.setQuickBarSlot(slot) + + * `slot` - 0-8 the quick bar slot to select. + +#### bot.craft(recipe, count, craftingTable, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + + * `recipe` - A `Recipe` instance. See `bot.recipesFor`. + * `count` - How many times you wish to perform the operation. + If you want to craft planks into `8` sticks, you would set + `count` to `2`. `null` is an alias for `1`. + * `craftingTable` - A `Block` instance, the crafting table you wish to + use. If the recipe does not require a crafting table, you may use + `null` for this argument. + * `callback` - (optional) Called when the crafting is complete and your + inventory is updated. + +#### bot.writeBook(slot, pages, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + + * `slot` is in inventory window coordinates (where 36 is the first quickbar slot, etc.). + * `pages` is an array of strings represents the pages. + * `callback(error)` - optional. called when the writing was successfully or an error occurred. + +#### bot.openChest(chestBlock or minecartchestEntity) + +Returns a `Chest` instance which represents the chest you are opening. + +#### bot.openFurnace(furnaceBlock) + +Returns a `Furnace` instance which represents the furnace you are opening. + +#### bot.openDispenser(dispenserBlock) + +Returns a `Dispenser` instance which represents the dispenser you are opening. + +#### bot.openEnchantmentTable(enchantmentTableBlock) + +Returns an `EnchantmentTable` instance which represents the enchantment table +you are opening. + +#### bot.openVillager(villagerEntity) + +Returns an `Villager` instance which represents the trading window you are opening. +You can listen to the `ready` event on this `Villager` to know when it's ready + +#### bot.trade(villagerInstance, tradeIndex, [times], [cb]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Uses the open `villagerInstance` to trade. + +#### bot.setCommandBlock(pos, command, [options]) + +Set a command block's properties at `pos`. +Example `options` argument: +```js +{ + mode: 2, + trackOutput: true, + conditional: false, + alwaysActive: true +} +``` +options.mode can have 3 values: 0 (SEQUENCE), 1 (AUTO), 2 (REDSTONE) +All options attributes are false by default, except mode which is 2 (as to replicate the default command block in Minecraft). + +#### bot.supportFeature(name) + +This can be used to check is a specific feature is available in the current Minecraft version. This is usually only required for handling version-specific functionality. + +The list of available features can be found inside the [./lib/features.json](https://github.com/PrismarineJS/mineflayer/blob/master/lib/features.json) file. + +### Lower level inventory methods + +These are lower level methods for the inventory, they can be useful sometimes but prefer the inventory methods presented above if you can. + +#### bot.clickWindow(slot, mouseButton, mode, cb) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Click on the current window. See details at https://wiki.vg/Protocol#Click_Window + +#### bot.putSelectedItemRange(start, end, window, slot, cb) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Put the item at `slot` in the specified range. + +#### bot.putAway(slot, cb) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Put the item at `slot` in the inventory. + +#### bot.closeWindow(window) + +Close the `window`. + +#### bot.transfer(options, cb) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Transfer some kind of item from one range to an other. `options` is an object containing : + + * `window` : the window where the item will be moved + * `itemType` : the type of the moved items + * `metadata` : the metadata of the moved items + * `sourceStart` and `sourceEnd` : the source range + * `destStart` and `destEnd` : the dest Range + +#### bot.openBlock(block, Class) + +Open a block, for example a chest. + + * `block` is the block the bot will open + * `Class` is the type of window that will be opened + +#### bot.openEntity(entity, Class) + +Open an entity with an inventory, for example a villager. + + * `entity` is the entity the bot will open + * `Class` is the type of window that will be opened + +#### bot.moveSlotItem(sourceSlot, destSlot, cb) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Move an item from `sourceSlot` to `destSlot` in the current window. + +#### bot.updateHeldItem() + +Update `bot.heldItem`. + +#### bot.getEquipmentDestSlot(destination) + +Gets the inventory equipment slot id for the given equipment destination name. + +Available destinations are: +* head +* torso +* legs +* feet +* hand +* off-hand + +### bot.creative + +This collection of apis is useful in creative mode. +Detecting and changing gamemodes is not implemented here, +but it is assumed and often required that the bot be in creative mode for these features to work. + +#### bot.creative.setInventorySlot(slot, item, [callback]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Gives the bot the specified item in the specified inventory slot. +If called twice on the same slot before first callback exceeds, first callback will have an error parameter + + * `slot` is in inventory window coordinates (where 36 is the first quickbar slot, etc.). + * `item` is a [prismarine-item](https://github.com/PrismarineJS/prismarine-item) instance specified with arbitrary metadata, nbtdata, etc. + If `item` is `null`, the item at the specified slot is deleted. + * `callback(err)` (optional) is a callback which gets fired when the servers sets the slot + +If this method changes anything, you can be notified via `bot.inventory.on("windowUpdate")`. + +#### bot.creative.flyTo(destination, [cb]) + +This function also returns a `Promise`, with `void` as its argument upon completion. + +Calls `startFlying()` and moves at a constant speed through 3d space in a straight line to the destination. +`destination` is a `Vec3`, and often the `x` and `z` coordinates will end with `.5`. +This operation will not work if there is an obstacle in the way, +so it is advised to fly very short distances at a time. + +When the bot arrives at the destination, `cb` is called. + +This method does not attempt any path finding. +It is expected that a path finding implementation will use this method to move < 2 blocks at a time. + +To resume normal physics, call `stopFlying()`. + +#### bot.creative.startFlying() + +Sets `bot.physics.gravity` to `0`. +To resume normal physics, call `stopFlying()`. + +This method is useful if you want to hover while digging the ground below you. +It is not necessary to call this function before calling `flyTo()`. + +Note that while flying, `bot.entity.velocity` will not be accurate. + +#### bot.creative.stopFlying() + +Restores `bot.physics.gravity` to it's original value. diff --git a/node_modules/mineflayer/docs/api_ru.md b/node_modules/mineflayer/docs/api_ru.md new file mode 100644 index 00000000..8bc5a24d --- /dev/null +++ b/node_modules/mineflayer/docs/api_ru.md @@ -0,0 +1,1614 @@ + + +**Содержание** *сгенерировано с помощью [DocToc](https://github.com/thlorenz/doctoc)* + +- [API](#api) + - [Enums](#enums) + - [minecraft-data](#minecraft-data) + - [mcdata.blocks](#mcdatablocks) + - [mcdata.items](#mcdataitems) + - [mcdata.materials](#mcdatamaterials) + - [mcdata.recipes](#mcdatarecipes) + - [mcdata.instruments](#mcdatainstruments) + - [mcdata.biomes](#mcdatabiomes) + - [mcdata.entities](#mcdataentities) + - [Classes](#classes) + - [vec3](#vec3) + - [mineflayer.Location](#mineflayerlocation) + - [Entity](#entity) + - [Block](#block) + - [Biome](#biome) + - [Item](#item) + - [windows.Window (base class)](#windowswindow-base-class) + - [Recipe](#recipe) + - [mineflayer.Chest](#mineflayerchest) + - [chest.window](#chestwindow) + - [chest "open"](#chest-open) + - [chest "close"](#chest-close) + - [chest "updateSlot" (oldItem, newItem)](#chest-updateslot-olditem-newitem) + - [chest.close()](#chestclose) + - [chest.deposit(itemType, metadata, count, [callback])](#chestdeposititemtype-metadata-count-callback) + - [chest.withdraw(itemType, metadata, count, [callback])](#chestwithdrawitemtype-metadata-count-callback) + - [chest.count(itemType, [metadata])](#chestcountitemtype-metadata) + - [chest.items()](#chestitems) + - [mineflayer.Furnace](#mineflayerfurnace) + - [furnace "open"](#furnace-open) + - [furnace "close"](#furnace-close) + - [furnace "update"](#furnace-update) + - [furnace "updateSlot" (oldItem, newItem)](#furnace-updateslot-olditem-newitem) + - [furnace.close()](#furnaceclose) + - [furnace.takeInput([callback])](#furnacetakeinputcallback) + - [furnace.takeFuel([callback])](#furnacetakefuelcallback) + - [furnace.takeOutput([callback])](#furnacetakeoutputcallback) + - [furnace.putInput(itemType, metadata, count, [cb])](#furnaceputinputitemtype-metadata-count-cb) + - [furnace.putFuel(itemType, metadata, count, [cb])](#furnaceputfuelitemtype-metadata-count-cb) + - [furnace.inputItem()](#furnaceinputitem) + - [furnace.fuelItem()](#furnacefuelitem) + - [furnace.outputItem()](#furnaceoutputitem) + - [furnace.fuel](#furnacefuel) + - [furnace.progress](#furnaceprogress) + - [mineflayer.Dispenser](#mineflayerdispenser) + - [dispenser "open"](#dispenser-open) + - [dispenser "close"](#dispenser-close) + - [dispenser "updateSlot" (oldItem, newItem)](#dispenser-updateslot-olditem-newitem) + - [dispenser.close()](#dispenserclose) + - [dispenser.items()](#dispenseritems) + - [dispenser.deposit(itemType, metadata, count, [callback])](#dispenserdeposititemtype-metadata-count-callback) + - [dispenser.withdraw(itemType, metadata, count, [callback])](#dispenserwithdrawitemtype-metadata-count-callback) + - [dispenser.count(itemType, [metadata])](#dispensercountitemtype-metadata) + - [mineflayer.EnchantmentTable](#mineflayerenchantmenttable) + - [enchantmentTable "open"](#enchantmenttable-open) + - [enchantmentTable "close"](#enchantmenttable-close) + - [enchantmentTable "updateSlot" (oldItem, newItem)](#enchantmenttable-updateslot-olditem-newitem) + - [enchantmentTable "ready"](#enchantmenttable-ready) + - [enchantmentTable.close()](#enchantmenttableclose) + - [enchantmentTable.targetItem()](#enchantmenttabletargetitem) + - [enchantmentTable.enchantments](#enchantmenttableenchantments) + - [enchantmentTable.enchant(choice, [callback])](#enchantmenttableenchantchoice-callback) + - [enchantmentTable.takeTargetItem([callback])](#enchantmenttabletaketargetitemcallback) + - [enchantmentTable.putTargetItem(item, [callback])](#enchantmenttableputtargetitemitem-callback) + - [mineflayer.Villager](#mineflayervillager) + - [villager "open"](#villager-open) + - [villager "close"](#villager-close) + - [villager "updateSlot" (oldItem, newItem)](#villager-updateslot-olditem-newitem) + - [villager "ready"](#villager-ready) + - [villager.close()](#villagerclose) + - [villager.trades](#villagertrades) + - [mineflayer.ScoreBoard](#mineflayerscoreboard) + - [ScoreBoard.name](#scoreboardname) + - [ScoreBoard.title](#scoreboardtitle) + - [ScoreBoard.itemsMap](#scoreboarditemsmap) + - [ScoreBoard.items](#scoreboarditems) + - [mineflayer.BossBar](#mineflayerbossbar) + - [BossBar.title](#bossbartitle) + - [BossBar.health](#bossbarhealth) + - [BossBar.dividers](#bossbardividers) + - [BossBar.entityUUID](#bossbarentityuuid) + - [BossBar.shouldDarkenSky](#bossbarshoulddarkensky) + - [BossBar.isDragonBar](#bossbarisdragonbar) + - [BossBar.createFog](#bossbarcreatefog) + - [BossBar.color](#bossbarcolor) + - [Bot](#bot) + - [mineflayer.createBot(options)](#mineflayercreatebotoptions) + - [Properties](#properties) + - [bot.entity](#botentity) + - [bot.entities](#botentities) + - [bot.username](#botusername) + - [bot.spawnPoint](#botspawnpoint) + - [bot.game.levelType](#botgameleveltype) + - [bot.game.dimension](#botgamedimension) + - [bot.game.difficulty](#botgamedifficulty) + - [bot.game.gameMode](#botgamegamemode) + - [bot.game.hardcore](#botgamehardcore) + - [bot.game.maxPlayers](#botgamemaxplayers) + - [bot.player](#botplayer) + - [bot.players](#botplayers) + - [bot.isRaining](#botisraining) + - [bot.chatPatterns](#botchatpatterns) + - [bot.settings.chat](#botsettingschat) + - [bot.settings.colorsEnabled](#botsettingscolorsenabled) + - [bot.settings.viewDistance](#botsettingsviewdistance) + - [bot.settings.difficulty](#botsettingsdifficulty) + - [bot.settings.skinParts.showCape](#botsettingsskinpartsshowcape) + - [bot.settings.skinParts.showJacket](#botsettingsskinpartsshowjacket) + - [bot.settings.skinParts.showLeftSleeve](#botsettingsskinpartsshowleftsleeve) + - [bot.settings.skinParts.showRightSleeve](#botsettingsskinpartsshowrightsleeve) + - [bot.settings.skinParts.showLeftPants](#botsettingsskinpartsshowleftpants) + - [bot.settings.skinParts.showRightPants](#botsettingsskinpartsshowrightpants) + - [bot.settings.skinParts.showHat](#botsettingsskinpartsshowhat) + - [bot.experience.level](#botexperiencelevel) + - [bot.experience.points](#botexperiencepoints) + - [bot.experience.progress](#botexperienceprogress) + - [bot.health](#bothealth) + - [bot.food](#botfood) + - [bot.foodSaturation](#botfoodsaturation) + - [bot.physics](#botphysics) + - [bot.time.day](#bottimeday) + - [bot.time.age](#bottimeage) + - [bot.quickBarSlot](#botquickbarslot) + - [bot.inventory](#botinventory) + - [bot.targetDigBlock](#bottargetdigblock) + - [bot.isSleeping](#botissleeping) + - [bot.scoreboards](#botscoreboards) + - [bot.scoreboard](#botscoreboard) + - [bot.controlState](#botcontrolstate) + - [Events](#events) + - ["chat" (username, message, translate, jsonMsg, matches)](#chat-username-message-translate-jsonmsg-matches) + - ["whisper" (username, message, translate, jsonMsg, matches)](#whisper-username-message-translate-jsonmsg-matches) + - ["actionBar" (jsonMsg)](#actionbar-jsonmsg) + - ["message" (jsonMsg, position)](#message-jsonmsg-position) + - ["login"](#login) + - ["spawn"](#spawn) + - ["respawn"](#respawn) + - ["game"](#game) + - ["title"](#title) + - ["rain"](#rain) + - ["time"](#time) + - ["kicked" (reason, loggedIn)](#kicked-reason-loggedin) + - ["end"](#end) + - ["spawnReset"](#spawnreset) + - ["death"](#death) + - ["health"](#health) + - ["entitySwingArm" (entity)](#entityswingarm-entity) + - ["entityHurt" (entity)](#entityhurt-entity) + - ["entityWake" (entity)](#entitywake-entity) + - ["entityEat" (entity)](#entityeat-entity) + - ["entityCrouch" (entity)](#entitycrouch-entity) + - ["entityUncrouch" (entity)](#entityuncrouch-entity) + - ["entityEquipmentChange" (entity)](#entityequipmentchange-entity) + - ["entitySleep" (entity)](#entitysleep-entity) + - ["entitySpawn" (entity)](#entityspawn-entity) + - ["playerCollect" (collector, collected)](#playercollect-collector-collected) + - ["entityGone" (entity)](#entitygone-entity) + - ["entityMoved" (entity)](#entitymoved-entity) + - ["entityDetach" (entity, vehicle)](#entitydetach-entity-vehicle) + - ["entityAttach" (entity, vehicle)](#entityattach-entity-vehicle) + - ["entityUpdate" (entity)](#entityupdate-entity) + - ["entityEffect" (entity, effect)](#entityeffect-entity-effect) + - ["entityEffectEnd" (entity, effect)](#entityeffectend-entity-effect) + - ["playerJoined" (player)](#playerjoined-player) + - ["playerLeft" (player)](#playerleft-player) + - ["blockUpdate" (oldBlock, newBlock)](#blockupdate-oldblock-newblock) + - ["blockUpdate:(x, y, z)" (oldBlock, newBlock)](#blockupdatex-y-z-oldblock-newblock) + - ["chunkColumnLoad" (point)](#chunkcolumnload-point) + - ["chunkColumnUnload" (point)](#chunkcolumnunload-point) + - ["soundEffectHeard" (soundName, position, volume, pitch)](#soundeffectheard-soundname-position-volume-pitch) + - ["hardcodedSoundEffectHeard" (soundId, soundCategory, position, volume, pitch)](#hardcodedsoundeffectheard-soundid-soundcategory-position-volume-pitch) + - ["noteHeard" (block, instrument, pitch)](#noteheard-block-instrument-pitch) + - ["pistonMove" (block, isPulling, direction)](#pistonmove-block-ispulling-direction) + - ["chestLidMove" (block, isOpen)](#chestlidmove-block-isopen) + - ["blockBreakProgressObserved" (block, destroyStage)](#blockbreakprogressobserved-block-destroystage) + - ["blockBreakProgressEnd" (block)](#blockbreakprogressend-block) + - ["diggingCompleted" (block)](#diggingcompleted-block) + - ["diggingAborted" (block)](#diggingaborted-block) + - ["move"](#move) + - ["forcedMove"](#forcedmove) + - ["mount"](#mount) + - ["dismount" (vehicle)](#dismount-vehicle) + - ["windowOpen" (window)](#windowopen-window) + - ["windowClose" (window)](#windowclose-window) + - ["sleep"](#sleep) + - ["wake"](#wake) + - ["experience"](#experience) + - ["scoreboardCreated" (scoreboard)](#scoreboardcreated-scoreboard) + - ["scoreboardDeleted" (scoreboard)](#scoreboarddeleted-scoreboard) + - ["scoreboardTitleChanged" (scoreboard)](#scoreboardtitlechanged-scoreboard) + - ["scoreUpdated" (scoreboard, item)](#scoreupdated-scoreboard-item) + - ["scoreRemoved" (scoreboard, item)](#scoreremoved-scoreboard-item) + - ["scoreboardPosition" (position, scoreboard)](#scoreboardposition-position-scoreboard) + - ["bossBarCreated" (bossBar)](#bossbarcreated-bossbar) + - ["bossBarDeleted" (bossBar)](#bossbardeleted-bossbar) + - ["bossBarUpdated" (bossBar)](#bossbarupdated-bossbar) + - [Functions](#functions) + - [bot.blockAt(point)](#botblockatpoint) + - [bot.blockInSight(maxSteps, vectorLength)](#botblockinsightmaxsteps-vectorlength) + - [bot.canSeeBlock(block)](#botcanseeblockblock) + - [bot.findBlock(options)](#botfindblockoptions) + - [bot.canDigBlock(block)](#botcandigblockblock) + - [bot.recipesFor(itemType, metadata, minResultCount, craftingTable)](#botrecipesforitemtype-metadata-minresultcount-craftingtable) + - [bot.recipesAll(itemType, metadata, craftingTable)](#botrecipesallitemtype-metadata-craftingtable) + - [Methods](#methods) + - [bot.end()](#botend) + - [bot.quit(reason)](#botquitreason) + - [bot.tabComplete(str, cb, [assumeCommand], [sendBlockInSight])](#bottabcompletestr-cb-assumecommand-sendblockinsight) + - [bot.chat(message)](#botchatmessage) + - [bot.whisper(username, message)](#botwhisperusername-message) + - [bot.chatAddPattern(pattern, chatType, description)](#botchataddpatternpattern-chattype-description) + - [bot.setSettings(options)](#botsetsettingsoptions) + - [bot.loadPlugin(plugin)](#botloadpluginplugin) + - [bot.loadPlugins(plugins)](#botloadpluginsplugins) + - [bot.sleep(bedBlock, [cb])](#botsleepbedblock-cb) + - [bot.isABed(bedBlock)](#botisabedbedblock) + - [bot.wake([cb])](#botwakecb) + - [bot.setControlState(control, state)](#botsetcontrolstatecontrol-state) + - [bot.clearControlStates()](#botclearcontrolstates) + - [bot.lookAt(point, [force], [callback])](#botlookatpoint-force-callback) + - [bot.look(yaw, pitch, [force], [callback])](#botlookyaw-pitch-force-callback) + - [bot.updateSign(block, text)](#botupdatesignblock-text) + - [bot.equip(item, destination, [callback])](#botequipitem-destination-callback) + - [bot.unequip(destination, [callback])](#botunequipdestination-callback) + - [bot.tossStack(item, [callback])](#bottossstackitem-callback) + - [bot.toss(itemType, metadata, count, [callback])](#bottossitemtype-metadata-count-callback) + - [bot.dig(block, [callback])](#botdigblock-callback) + - [bot.stopDigging()](#botstopdigging) + - [bot.digTime(block)](#botdigtimeblock) + - [bot.placeBlock(referenceBlock, faceVector, cb)](#botplaceblockreferenceblock-facevector-cb) + - [bot.activateBlock(block, [callback])](#botactivateblockblock-callback) + - [bot.activateEntity(entity, [callback])](#botactivateentityentity-callback) + - [bot.consume(callback)](#botconsumecallback) + - [bot.fish(callback)](#botfishcallback) + - [bot.activateItem()](#botactivateitem) + - [bot.deactivateItem()](#botdeactivateitem) + - [bot.useOn(targetEntity)](#botuseontargetentity) + - [bot.attack(entity)](#botattackentity) + - [bot.swingArm([hand])](#botswingarmhand) + - [bot.mount(entity)](#botmountentity) + - [bot.dismount()](#botdismount) + - [bot.moveVehicle(left,forward)](#botmovevehicleleftforward) + - [bot.setQuickBarSlot(slot)](#botsetquickbarslotslot) + - [bot.craft(recipe, count, craftingTable, [callback])](#botcraftrecipe-count-craftingtable-callback) + - [bot.writeBook(slot, pages, [callback])](#botwritebookslot-pages-callback) + - [bot.openChest(chestBlock or minecartchestEntity)](#botopenchestchestblock-or-minecartchestentity) + - [bot.openFurnace(furnaceBlock)](#botopenfurnacefurnaceblock) + - [bot.openDispenser(dispenserBlock)](#botopendispenserdispenserblock) + - [bot.openEnchantmentTable(enchantmentTableBlock)](#botopenenchantmenttableenchantmenttableblock) + - [bot.openVillager(villagerEntity)](#botopenvillagervillagerentity) + - [bot.trade(villagerInstance, tradeIndex, [times], [cb])](#bottradevillagerinstance-tradeindex-times-cb) + - [bot.setCommandBlock(pos, command, track_output)](#botsetcommandblockpos-command-track_output) + - [Методы инвентаря низкого уровня](#%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B8%D0%BD%D0%B2%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D1%8F-%D0%BD%D0%B8%D0%B7%D0%BA%D0%BE%D0%B3%D0%BE-%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F) + - [bot.clickWindow(slot, mouseButton, mode, cb)](#botclickwindowslot-mousebutton-mode-cb) + - [bot.putSelectedItemRange(start, end, window, slot, cb)](#botputselecteditemrangestart-end-window-slot-cb) + - [bot.putAway(slot, cb)](#botputawayslot-cb) + - [bot.closeWindow(window)](#botclosewindowwindow) + - [bot.transfer(options, cb)](#bottransferoptions-cb) + - [bot.openBlock(block, Class)](#botopenblockblock-class) + - [bot.openEntity(entity, Class)](#botopenentityentity-class) + - [bot.moveSlotItem(sourceSlot, destSlot, cb)](#botmoveslotitemsourceslot-destslot-cb) + - [bot.updateHeldItem()](#botupdatehelditem) + - [bot.creative](#botcreative) + - [bot.creative.setInventorySlot(slot, item, [callback])](#botcreativesetinventoryslotslot-item-callback) + - [bot.creative.flyTo(destination, [cb])](#botcreativeflytodestination-cb) + - [bot.creative.startFlying()](#botcreativestartflying) + - [bot.creative.stopFlying()](#botcreativestopflying) + + + +# API + +## Enums + +Эти данные хранятся не внутри библиотеки Mineflayer [minecraft-data](https://github.com/PrismarineJS/minecraft-data) , + и доступны через [node-minecraft-data](https://github.com/PrismarineJS/node-minecraft-data). + +### minecraft-data +Данные доступны в модуле [node-minecraft-data](https://github.com/PrismarineJS/node-minecraft-data) + +Используйте `require('minecraft-data')(bot.version)` + +### mcdata.blocks +Идентификация блоков по ID + +### mcdata.items +Идентификация предметов по ID + +### mcdata.materials + +Объект в качестве идентификатора элемента инструмента + +### mcdata.recipes +Идентификация крафтов по ID + +### mcdata.instruments +Идентификация инструментов по ID + +### mcdata.biomes +Идентификация биомов по ID + +### mcdata.entities +Идентификация существ по ID + +## Classes + +### vec3 + +Смотрите [andrewrk/node-vec3](https://github.com/andrewrk/node-vec3) + +Все координаты библиотеки Mineflayer используют данный класс + + * x - юг + * y - вверх + * z - запад + +Функции и методы, требующие точного аргумента, как правило, используют `Vec3`, +а также массив с тремя значениями "x", "y", "z" + +### mineflayer.Location + +### Entity + +Существами являются игроки, мобы и объекты. Вы также можете получить доступ +к своему существу, используя `bot.entity`. +Смотрите [prismarine-entity](https://github.com/PrismarineJS/prismarine-entity) + +### Block + +Смотрите [prismarine-block](https://github.com/PrismarineJS/prismarine-block) + +`block.blockEntity` является дополнительным значением с данными объекта "Object" +```js +// sign.blockEntity +{ + x: -53, + y: 88, + z: 66, + id: 'minecraft:sign', // 'Sign' в 1.10 + Text1: { toString: Function }, // ChatMessage object + Text2: { toString: Function }, // ChatMessage object + Text3: { toString: Function }, // ChatMessage object + Text4: { toString: Function }, // ChatMessage object +} +``` + +### Biome + +Смотрите [prismarine-biome](https://github.com/PrismarineJS/prismarine-biome) + +### Item + +Смотрите [prismarine-item](https://github.com/PrismarineJS/prismarine-item) + +### windows.Window (base class) + +Смотрите [prismarine-windows](https://github.com/PrismarineJS/prismarine-windows) + +### Recipe + +Смотрите [prismarine-recipe](https://github.com/PrismarineJS/prismarine-recipe) + +### mineflayer.Chest + +Предоставляет сеанс взаимодействия с сундуками ( Открытие и закрытие ) +Смотрите `bot.openChest(chestBlock or minecartchestEntity)`. + +#### chest.window + +Если сундук открыт, этим свойством является `ChestWindow`. +Если же сундук закрыт, этим свойством является `null`. + +#### chest "open" + +Срабатывает, когда сундук открыт + +#### chest "close" + +Срабатывает, когда сундук закрыт + +#### chest "updateSlot" (oldItem, newItem) + +Срабатывает, когда в просматриваемом Вами сундуке обновляются слоты + +#### chest.close() + +#### chest.deposit(itemType, metadata, count, [callback]) + + * `itemType` - ID предмета + * `metadata` - числовое значение. `null` может совпадать с чем угодно. + * `count` - количество предметов. `null` является 1 предметом + * `callback(err)` - (необязательно) - Срабатывает при успешном действии + +#### chest.withdraw(itemType, metadata, count, [callback]) + + * `itemType` - ID предмета + * `metadata` - числовое значение. `null` может совпадать с чем угодно. + * `count` - количество предметов. `null` является 1 предметом + * `callback(err)` - (необязательно) - Срабатывает при успешном действии + +#### chest.count(itemType, [metadata]) + +Возвращает количество предметов разных типов + + * `itemType` - ID предмета + * `metadata` - (необязательно) - Срабатывает при успешном действии + +#### chest.items() + +Возвращает список предметов в `Item`, которые на момент вызова находились в сундуке. + +### mineflayer.Furnace + +Смотрите `bot.openFurnace(furnaceBlock)`. + +#### furnace "open" + +Срабатывает, когда печь открыта + +#### furnace "close" + +Срабатывает, когда печь закрыта + +#### furnace "update" + +Срабатывает при обновлении `furnace.fuel` и/или обновлении `furnace.progress`. + +#### furnace "updateSlot" (oldItem, newItem) + +Срабатывает, когда в печи обновился слот для плавки + +#### furnace.close() + +#### furnace.takeInput([callback]) + + * `callback(err, item)` + +#### furnace.takeFuel([callback]) + + * `callback(err, item)` + +#### furnace.takeOutput([callback]) + + * `callback(err, item)` + +#### furnace.putInput(itemType, metadata, count, [cb]) + +#### furnace.putFuel(itemType, metadata, count, [cb]) + +#### furnace.inputItem() + +Возвращает предметы в `Item`, которые на момент вызова находились в печи. + +#### furnace.fuelItem() + +Возвращает предмет в `Item`, которые на момент вызова находились в слоте для топлива печи. + +#### furnace.outputItem() + +Возвращает предмет в `Item`, который на момент вызова был доступен для вывода + +#### furnace.fuel + +Возвращает количество топлива в печи + +#### furnace.progress + +Возвращает прогресс плавки предмета + +### mineflayer.Dispenser + +Смотрите `bot.openDispenser(dispenserBlock)`. + +#### dispenser "open" + +Срабатывает, когда раздатчик был открыт + +#### dispenser "close" + +Срабатывает, когда раздатчик был закрыт + +#### dispenser "updateSlot" (oldItem, newItem) + +Срабатывает, когда в раздатчик положили предмет + +#### dispenser.close() + +#### dispenser.items() + +Возвращает список предметов в `Item`, которые лежат в раздатчике. + +#### dispenser.deposit(itemType, metadata, count, [callback]) + + * `itemType` - ID предмета + * `metadata` - числовое значение. `null` может совпадать с чем угодно. + * `count` - количество предметов. `null` является 1 предметом + * `callback(err)` - (необязательно) - Срабатывает при успешном действии + +#### dispenser.withdraw(itemType, metadata, count, [callback]) + + * `itemType` - ID предмета + * `metadata` - числовое значение. `null` может совпадать с чем угодно. + * `count` - количество предметов. `null` является 1 предметом + * `callback(err)` - (необязательно) - Срабатывает при успешном действии + +#### dispenser.count(itemType, [metadata]) + +Возвращает число определенного предмета, находящегося в раздатчике. + + * `itemType` - numerical item id + * `metadata` - (optional) numerical value. `null` means match anything. + +### mineflayer.EnchantmentTable + +Смотрите `bot.openEnchantmentTable(enchantmentTableBlock)`. + +#### enchantmentTable "open" + +Срабатывает, когда стол зачарований был открыт + +#### enchantmentTable "close" + +Срабатывает, когда стол зачарований был закрыт + +#### enchantmentTable "updateSlot" (oldItem, newItem) + +Срабатывает, когда в стол зачарований положили предмет + +#### enchantmentTable "ready" + +Срабатывает, когда `enchantmentTable.enchantments` готов к зачарованию и вы +можете зачаровать предмет, используя `enchantmentTable.enchant(choice)`. + +#### enchantmentTable.close() + +#### enchantmentTable.targetItem() + +Возвращает текущий предмет в столе зачарования. Этот метод может использоваться как для того чтобы положить предмет, так и для того, чтобы забрать его. + +#### enchantmentTable.enchantments + +Возвращает массив из трёх зачарований, доступных для выбориа +`level` может являтся `null`, если сервер ещё не отправил данные. Это нормально. + +Пример: + +```js +[ + { + "level": 3 + }, + { + "level": 4 + }, + { + "level": 9 + } +] +``` + +#### enchantmentTable.enchant(choice, [callback]) + + * `choice` - [0-2], индекс массива (уровня зачарования), который Вы можете выбрать + * `callback(err, item)` - (необязательно) Срабатывает, когда предмет зачарован + +#### enchantmentTable.takeTargetItem([callback]) + + * `callback(err, item)` + +#### enchantmentTable.putTargetItem(item, [callback]) + + * `callback(err)` + +### mineflayer.Villager + +Смотрите `bot.openVillager(villagerEntity)`. + +#### villager "open" + +Срабатывает, когда GUI торговли открыто + +#### villager "close" + +Срабатывает, когда интерфейс торговли закрыт + +#### villager "updateSlot" (oldItem, newItem) + +Срабатывает, когда предмет был положен в ячейку для торговли + +#### villager "ready" + +Возвращает, когда `villager.trades` был загружен + +#### villager.close() + +#### villager.trades + +Массив вариантов торговли + +Пример: + +```js +[ + { + firstInput: Item, + output: Item, + hasSecondItem: false, + secondaryInput: null, + disabled: false, + tooluses: 0, + maxTradeuses: 7 + }, + { + firstInput: Item, + output: Item, + hasSecondItem: false, + secondaryInput: null, + disabled: false, + tooluses: 0, + maxTradeuses: 7 + }, + { + firstInput: Item, + output: Item, + hasSecondItem: true, + secondaryInput: Item, + disabled: false, + tooluses: 0, + maxTradeuses: 7 + } +] +``` + +### mineflayer.ScoreBoard + +#### ScoreBoard.name + +Имя скорборда + +#### ScoreBoard.title + +Название скорборда (может не совпадать с ScoreBoard.title) + +#### ScoreBoard.itemsMap + +Объект со всеми элементами скорборда +```js +{ + wvffle: { name: 'wvffle', value: 3 }, + dzikoysk: { name: 'dzikoysk', value: 6 } +} +``` + +#### ScoreBoard.items + +Массив со всеми отсортированными элементами скорборда +```js +[ + { name: 'dzikoysk', value: 6 }, + { name: 'wvffle', value: 3 } +] +``` + +### mineflayer.BossBar + +#### BossBar.title + +Название боссбара, передается в `ChatMessage` + +#### BossBar.health + +Количество здоровья от `0` до `1`. Пример: ( 0.9873 ) + +#### BossBar.dividers + +Количество ячеек, является одним числом из `0`, `6`, `10`, `12`, `20` + +#### BossBar.entityUUID + +UIID босса + +#### BossBar.shouldDarkenSky + +Определяет, стоит ли затемнять небо + +#### BossBar.isDragonBar + +Определяет, является ли боссбар - боссбаром Дракона Края + +#### BossBar.createFog + +Определяет, стоит ли создават туман + +#### BossBar.color + +Определяет цвет боссбара `pink`, `blue`, `red`, `green`, `yellow`, `purple`, `white` ("розовый", "голубой", "красный", "желтый", "фиолетовый", "белый") + +## Bot + +### mineflayer.createBot(options) + +Create and return an instance of the class bot. +`options` это объект, который содержит в себе : + * username : по умолчанию "Player" + * port : по умолчанию 25565 + * password : может быть пропущен, если подключение осуществляется к пиратскому серверу + * host : default to localhost + * version : по умолчанию установлен автоопределитель версии сервера. Пример использования : "1.12.2" + * clientToken : генерируется, если задан пароль + * accessToken : генерируется, если задан пароль + * logErrors : установлен по умолчанию, используется для отлова ошибок + * keepAlive : отправка пакета активности, по умолчанию активен + * checkTimeoutInterval : по умолчанию `30*1000` (30 сек.), не используется если не используется keepAlive + * loadInternalPlugins : по умолчанию активен + * plugins : объект : по умолчанию {} + - pluginName : false : не загружать плагин с заданным именем. `pluginName` + - pluginName : true : загрузить плагин с заданным именем. `pluginName` даже если loadInternalplugins отключен + - pluginName : external plugin inject function : загружает сторонний плагин, задает новое имя плагина при активном существущем + * [chat](bot.settings.chat) + * [colorsEnabled](bot.settings.colorsEnabled) + * [viewDistance](bot.settings.viewDistance) + * [difficulty](bot.settings.difficulty) + * [showCape](bot.settings.skinParts.showCape) + * [showJacket](bot.settings.skinParts.showJacket) + * [showLeftSleeve](bot.settings.skinParts.showLeftSleeve) + * [showRightSleeve](bot.settings.skinParts.showRightSleeve) + * [showLeftPants](bot.settings.skinParts.showLeftPants) + * [showRigthtPants](bot.settings.skinParts.showRightPants) + * [showHat](bot.settings.skinParts.showHat) + * chatLengthLimit : максимальное количество символов, отправляемое в чат. Если не установлено, будет установлено следующее: 100 в < 1.11 и 256 в >= 1.11. + +### Properties + +#### bot.entity + +Ваше собственное существо. Смотрите `Entity`. + +#### bot.entities + +Все ближайшие существа. + +#### bot.username + +Используйте это, чтобы узнать имя бота. + +#### bot.spawnPoint + +Показывает координаты спавна бота + +#### bot.game.levelType + +#### bot.game.dimension + +#### bot.game.difficulty + +#### bot.game.gameMode + +#### bot.game.hardcore + +#### bot.game.maxPlayers + +### bot.player + +Объект игрока +```js +{ + username: 'player', + displayName: { toString: Function }, // Объект ChatMessage. + gamemode: 0, + ping: 28, + entity: entity, // null, если Вы находитесь слишком далеко +} +``` + +#### bot.players + +Показывает всех игроков, которые находятся на сервере + +#### bot.isRaining + +#### bot.chatPatterns + +Массив шаблонов следующего формата: +{ /regex/, "chattype", "description") + * /regex/ - шаблон регулярного выражения, который должен иметь как минимум две группы захвата + * 'chattype' - тип чата, который может является "chat" или "whisper" + * 'description' - описание шаблона, необязательно + +#### bot.settings.chat + +Выбор: + + * `enabled` (default) + * `commandsOnly` + * `disabled` + +#### bot.settings.colorsEnabled + +По умолчанию активен, используется для отображения кодов цветов + +#### bot.settings.viewDistance + +Выбор: + * `far` (по умолчанию) + * `normal` + * `short` + * `tiny` + +#### bot.settings.difficulty + +Вернет то же, что и в server.properties. + +#### bot.settings.skinParts.showCape + +Если у вас есть плащ, вы можете отключить его, установив для него значение false. + +#### bot.settings.skinParts.showJacket + +#### bot.settings.skinParts.showLeftSleeve + +#### bot.settings.skinParts.showRightSleeve + +#### bot.settings.skinParts.showLeftPants + +#### bot.settings.skinParts.showRightPants + +#### bot.settings.skinParts.showHat + +#### bot.experience.level + +#### bot.experience.points + +Общее количество очков опыта. + +#### bot.experience.progress + +От 0 до 1 - сумма для перехода на следующий уровень. + +#### bot.health + +Число от 0 до 20. Каждое число является половиной ячейки здоровья в игре + +#### bot.food + +Число от 0 до 20. Каждое число является половиной ячейки голода в игре + +#### bot.foodSaturation + +Покажет насыщенность голода. Голод не уменьшается +если насыщенность больше нуля. Игроки, зашедшие на сервер, автоматически получают +насыщенность 5,0. Еда увеличивает как насыщенность так и голод + + +#### bot.physics + +Изменение значений скорости, отдачи, скорости прыжка и т.д +Изменяйте на свой страх и риск! + +#### bot.time.day + +Время суток в тиках. + +Время основано на тиках, где каждую секунду происходит 20 тиков. 24000 в Майнкрафте +являются 20 минутам реальной игры + +Время суток основано на тиках. 0 - восход, 6000 +полдень, 12000 - закат, а 18000 - полночь. + +#### bot.time.age + +Возраст мира в тиках + +#### bot.quickBarSlot + +Показывает, какой слот сейчас активен ( 0 - 8 ) + +#### bot.inventory + +Является `Window`, отображающий ваш инвентарь. + +#### bot.targetDigBlock + +Показывает блок, который вы сейчас копаете, или же `null`. + +#### bot.isSleeping + +Возвращает true или false, в зависимости от того, +лежите вы в кровати или нет + +#### bot.scoreboards + +Показывает все известные скорборды + +#### bot.scoreboard + +Показывает все скорборды в "Object" + + * `belowName` - скорборд размещен снизу + * `sidebar` - скорборд размещен на боковой панели + * `list` - скорборд помещен в список + * `0-18` - слоты, определенные в [протоколе](https://wiki.vg/Protocol#Display_Scoreboard) + +#### bot.controlState + +Обьект, который осуществляет управление ['forward', 'back', 'left', 'right', 'jump', 'sprint', 'sneak'] +Или же ['вперед', 'назад', 'влево', 'вправо', 'прыгнуть', 'бежать', 'сесть'] (Не использовать в методе) + +Подробнее [bot.setControlState](#botsetcontrolstatecontrol-state). + +### Events + +#### "chat" (username, message, translate, jsonMsg, matches) + +При обращении в чате + + * `username` - имя отправителя (сравните с bot.username, если вы не хотите видет собственные сообщения) + * `message` - сообщение (очищенно от всех цветовых кодов) + * `translate` - Тип сообщение. В большинстве случаев является null + * `jsonMsg` - сообщение в JSON + * `matches` - массив совпадений в регулярных выражениях. Может являтся null + +#### "whisper" (username, message, translate, jsonMsg, matches) + +При обращении в ЛС + * `username` - имя отправителя + * `message` - сообщение (очищенно от всех цветовых кодов) + * `translate` - Тип сообщение. В большинстве является null + * `jsonMsg` - сообщение в JSON + * `matches` - массив совпадений в регулярных выражениях. Может являтся null + +#### "actionBar" (jsonMsg) + +При появлении в панели действия + + * `jsonMsg` - сообщение в JSON + +#### "message" (jsonMsg, position) + +При появлении любого серверного сообщения, включая чаты + + * `jsonMsg` - сообщение в JSON + * `position` - (> = 1.8.1): положение сообщения чата может быть + * Чат + * Система + * информация об игре + +#### "login" + +Срабатывает при успешном подключении к серверу +Отличается от "spawn" + +#### "spawn" + +Выдается один раз после того, как вы вошли на сервер +и каждый раз, после смерти. + + +#### "respawn" + +Срабатывает при появлении в мире +Обычно используется вызов "spawn" + +#### "game" + +Срабатывает, если сервер меняет свойства в server.properties + +#### "title" + +Срабатывает, когда сервер отправляет заголовок + + * `text` - заголовок текста + +#### "rain" + +Срабатывает, когда начинается или прекращается дождь. Если вы присоединитесь к +серверу, на котором уже идет дождь, это событие также сработает. + +#### "time" + +Срабатывает, когда сервер принудительно обновляет время. Смотрите `bot.time`. + +#### "kicked" (reason, loggedIn) + +Срабатывает при отключении от сервера. `reason` +выводит причину отключения. `loggedIn` +является `true`, если вы были кикнуты после успешного входа в систему, +или `false`, если отключение произошло во время подключения + +#### "end" + +Срабатывает, когда вы отключены от сервера + +#### "spawnReset" + +Срабатывает, когда вы не можете заспавнится у своей кровати, и ваша точка появления сбрасывается + +#### "death" + +Срабатывает, когда вы умерли + +#### "health" + +Срабатывает, когда значения здоровья или голода изменяются + +#### "entitySwingArm" (entity) +#### "entityHurt" (entity) +#### "entityWake" (entity) +#### "entityEat" (entity) +#### "entityCrouch" (entity) +#### "entityUncrouch" (entity) +#### "entityEquipmentChange" (entity) +#### "entitySleep" (entity) +#### "entitySpawn" (entity) +#### "playerCollect" (collector, collected) + +Если существо подняло предмет + + * `collector` - существо, поднявшее предмет + * `collected` - существо, которое являлось поднятым предметом + +#### "entityGone" (entity) +#### "entityMoved" (entity) +#### "entityDetach" (entity, vehicle) +#### "entityAttach" (entity, vehicle) + +Если существо сидит в транспортном средстве, +таком как лодка, вагонетка + + * `entity` - существо, которое сидит в транспортном средстве + * `vehicle` - существо, которое является транспортным средством + +#### "entityUpdate" (entity) +#### "entityEffect" (entity, effect) +#### "entityEffectEnd" (entity, effect) +#### "playerJoined" (player) +#### "playerLeft" (player) + +#### "blockUpdate" (oldBlock, newBlock) + +Срабатывает, когда блок обновлен. `oldBlock` и` newBlock` могут сравниватся + +Стоит заметить, что `oldBlock` может быть `null`. + +#### "blockUpdate:(x, y, z)" (oldBlock, newBlock) + +Срабатывает при обновлении блока в определенном месте. `oldBlock` и` newBlock` могут сравниватся + +Стоит заметить, что `oldBlock` может быть `null`. + +#### "chunkColumnLoad" (point) +#### "chunkColumnUnload" (point) + +Fires when a chunk has updated. `point` is the coordinates to the corner +of the chunk with the smallest x, y, and z values. + +#### "soundEffectHeard" (soundName, position, volume, pitch) + +Срабатывает, когда вы слышите звуковой эффект + + * `soundName`: имя звукового эффекта + * `position`: координаты, где был проигран звук + * `volume`: уровень звука, 1.0 является 100% + * `pitch`: искажение звука, 63 является 100% + +#### "hardcodedSoundEffectHeard" (soundId, soundCategory, position, volume, pitch) + +Срабатывает, когда вы слышите сильной искаженный звуковой эффект + + * `soundId`: ID имя звукового эффекта + * `soundCategory`: категория звукового эффекта + * `position`: координаты, где был проигран звук + * `volume`: уровень звука, 1.0 является 100% + * `pitch`: Искажение звука, 63 является 100% + +#### "noteHeard" (block, instrument, pitch) + +Срабатывает, когда был проигран звук нотного блока + + * `block`: имя блока + * `instrument`: + - `id`: определенный ID + - `name`: один из видов звука [`harp`, `doubleBass`, `snareDrum`, `sticks`, `bassDrum`]. + * `pitch`: Высота ноты (от 0 до 24 включительно, где 0 - это +    самый низкий, а 24 - самый высокий). Больше информации о том можно найти на + [оффициальном Minecraft wiki](http://www.minecraftwiki.net/wiki/Note_Block). + +#### "pistonMove" (block, isPulling, direction) + +#### "chestLidMove" (block, isOpen) + +#### "blockBreakProgressObserved" (block, destroyStage) + +Срабатывает, когда вы наблюдаете процесс разрушения блока + + * `block`: имя блока, который ломается + * `destroyStage`: уровень прогресса (0 - 9) + +#### "blockBreakProgressEnd" (block) + +Срабатывает, когда процесс разрушения блока прекращен. +Происходит при прекращении разрушения блока или его полного разрушения + + * `block`: имя блока, процесс разрушения которого был прекращен + +#### "diggingCompleted" (block) + + * `block` - блок, который больше не существует + +#### "diggingAborted" (block) + + * `block` - блок, который все ещё существует + +#### "move" + +Срабатывает при движении бота. Если вы хотите узнать текущее положение, используйте +`bot.entity.position` если вы хотите узнать предыдущее положение, используйте +`bot.entity.position.minus(bot.entity.velocity)`. + +#### "forcedMove" + +Срабатывает при принудительном перемещении бота (телепорт, спавн). Если вы хотите узнать текущее положение, используйте +`bot.entity.position`. + +#### "mount" + +Срабатывает, если вы устанавливаете объект, например тележку. Чтобы получить доступ к ней, +используйте `bot.vehicle`. + +Чтобы установить её, используйте `mount`. + +#### "dismount" (vehicle) + +Срабатывает, если вы слезли с существа + +#### "windowOpen" (window) + +Срабатывает, если вы используете верстак, сундук и т.д + +#### "windowClose" (window) + +Срабатывает, если вы закрыли верстак, сундук и т.д + +#### "sleep" + +Срабатывает, если вы лягли спать + +#### "wake" + +Срабатывает, если вы проснулись + +#### "experience" + +Срабатывает, если значение `bot.experience.*` было обновлено + +#### "scoreboardCreated" (scoreboard) + +Срабатывает, если скорборд был создан + +#### "scoreboardDeleted" (scoreboard) + +Срабатывает, если скорборд был удален + +#### "scoreboardTitleChanged" (scoreboard) + +Срабатывает, если скорборд был обновлен + +#### "scoreUpdated" (scoreboard, item) + +Срабатывает, если значение в скорборде было обновлено + +#### "scoreRemoved" (scoreboard, item) + +Срабатывает, если значение в скорборде было удалено + +#### "scoreboardPosition" (position, scoreboard) + +Срабатывает, если позиция скорборда была обновлена + +#### "bossBarCreated" (bossBar) + +Срабатывает, если боссбар был создан + +#### "bossBarDeleted" (bossBar) + +Срабатывает, если боссбар был удален + +#### "bossBarUpdated" (bossBar) + +Срабатывает, если боссбар был обновлен + +### Functions + +#### bot.blockAt(point) + +Возвращает блок в `point` или `null`, если эта точка не загружена +Смотрите `Block`. + +#### bot.blockInSight(maxSteps, vectorLength) + +Возвращает блок, на который смотрит бот, либо `null` + * `maxSteps` - количество блоков, по умолчанию 256. + * `vectorLength` - длина вектора, по умолчанию `5/16`. + +#### bot.canSeeBlock(block) + +Возвращает true или false, в зависимости от того, +видит ли бот указанный блок, или нет + +#### bot.findBlock(options) + +Находит ближайший блок, указанный в точке + * `options` - Дополнительные параментры для поиска: + - `point` -Начальная точка для поиска. + - `matching` - Функция, которая возвращает true, если указанный блок найден. Значение является ID блока, или массивом ID блоков + - `maxDistance` - Максимальная дистанция поиска, по умолчанию 16. + +Это простой пример, для более полного поиска, использующего алгоритмы, + используйте [mineflayer-blockfinder](https://github.com/Darthfett/mineflayer-blockfinder), которое имеет похожее API + +#### bot.canDigBlock(block) + +Возвращает, является ли `block` ломаемым и находится в пределах диапазона + +#### bot.recipesFor(itemType, metadata, minResultCount, craftingTable) + +Возвращает список рецептов (Recipe) которые вы можете использовать для крафта +предмета(itemType) с метаданными(metadata). + + * `itemType` - ID предмета, который вы хотите создать + * `metadata` - значение метаданных создаваемого предмета, null соответствует любым метаданным + * `minResultCount` - количество создаваемого предмета, null эквивалентно 1 предмету, + присутствует проверка на количество материала, требуемого для изготовления предмета + * `craftingTable` - блок верстака, при указании null предмет создается в вашем инвентаре + +#### bot.recipesAll(itemType, metadata, craftingTable) + +То же, что и bot.recipesFor, но без проверки на количество материала, требуемого для изготовления предмета + +### Methods + +#### bot.end() + +Завершить соединение с сервером + +#### bot.quit(reason) + +Принудительно завершить соиденение по собственной причине (по умолчанию 'disconnect.quitting'). + +#### bot.tabComplete(str, cb, [assumeCommand], [sendBlockInSight]) + +Запрашивает чат севрера + * `str` - Строка для завершения + * `callback(matches)` + - `matches` - Массив с совпадениями. + * `assumeCommand` - Поле отправлено на сервер, по умолчанию отключено. + * `sendBlockInSight` - Поле отправлено на сервер, по умолчанию включено. Установите для этого параметра значение false, если вы хотите повысить производительность. + +#### bot.chat(message) + +Отправляет сообщение. При необходимости разбивает большое сообщение на несколько маленьких + +#### bot.whisper(username, message) + +Аналог "/tell <никнейм>". Все разделенные сообщения будут отправлятся пользователю + +#### bot.chatAddPattern(pattern, chatType, description) + +Добавляет шаблон чата. Полезно, если формат чата сильно меняется за счёт плагинов + * `pattern` - регулярное выражение для совпадения + * `chatType` - вид сообщения. Например: "chat" или "whisper" + * 'description' - Необязательно, описание шаблона + +#### bot.setSettings(options) + +Посмотреть значение `bot.settings`. + +#### bot.loadPlugin(plugin) + +Загрузить плагин + * `plugin` - функция + +```js +function somePlugin(bot, options) { + function someFunction() { + bot.chat('Yay!'); + } + bot.someFunction = someFunction; +} + +var bot = mineflayer.createBot(...); +bot.loadPlugin(somePlugin); +bot.once('login', function() { + bot.someFunction(); // Yay! +}); +``` + +#### bot.loadPlugins(plugins) + +О загрузке плагинов смотрите в `bot.loadPlugin`. + * `plugins` - массив функций + +#### bot.sleep(bedBlock, [cb]) + +Отправить бота спать. `bedBlock` должен являтся блоком. `cb` может иметь параментр "err", если бот не может лечь спать + +#### bot.isABed(bedBlock) + +Возвращает true если `bedBlock` является кроватью + +#### bot.wake([cb]) + +Встать с кровати. `cb` может иметь параментр "err", если бот не может встать + +#### bot.setControlState(control, state) + + * `control` - одно из ['forward', 'back', 'left', 'right', 'jump', 'sprint', 'sneak'] + * `state` - `true` или `false` + +#### bot.clearControlStates() + +Отключить элементы управления + +#### bot.lookAt(point, [force], [callback]) + + * `point` - наклонить голову к указанной точке + * `force` - Смотрите `force` в `bot.look` + * `callback()` необязательно, вызывается если вы смотрите на указанную точку + +#### bot.look(yaw, pitch, [force], [callback]) + +Установить направление головы + + * `yaw` - Количество радианов для вертикальной оси + * `pitch` - Количество радианов для поворота вверх или вниз. 0 - строго вперед. + pi / 2 - смотреть вверх. -pi / 2 - смотреть вниз + * `force` - Если установлен true, плавный переход не состоится. Укажите значение true, + для проверки на стороне сервера. Рекомендуется включать, чтобы избежать конфликтов с античитом + * `callback()` - необязательно, вызывается, если бот смотрит на указанную точку + +#### bot.updateSign(block, text) + +Обновить текст на табличке + +#### bot.equip(item, destination, [callback]) + +Надеть вещи из инвентаря + + * `item` - Предмет. Смотрите `window.items()`. + * `destination` + - `"hand"` - `null` альтернатива к этому + - `"head"` + - `"torso"` + - `"legs"` + - `"feet"` + * `callback(error)` - необязательно. вызывается при успешной экипировке, + или при ошибке + +#### bot.unequip(destination, [callback]) + +Снять предмет + +#### bot.tossStack(item, [callback]) + + * `item` - стак предмета, который вы хотите выбросить + * `callback(error)` - необязательно, вызывается если предмет выкинут, либо при ошибке + +#### bot.toss(itemType, metadata, count, [callback]) + + * `itemType` - ID предмета, который вы хотите выбросить + * `metadata` - метаданные предмета. Используйте `null` + чтобы выбрать любые метаданные + * `count` - количество предмета. null равно 1 + * `callback(err)` - (необязательно) вызывается при успешной операции + +#### bot.dig(block, [callback]) + +Начать ломать блок предметом, который экипирован в руке +Смотрите также события "diggingCompleted" и "diggingAborted". + +Обратите внимание, что вы не сможете ломать другие блоки, +пока выбранный блок не будет сломан, либо не будет вызвана функция +`bot.stopDigging()`. + + * `block` - блок, который нужно ломать + * `callback(err)` - (необязательно) вызывается если блок сломан, или операция прервана + +#### bot.stopDigging() + +#### bot.digTime(block) + +Покажет время, которое нужно потратить, чтобы сломать блок + +#### bot.placeBlock(referenceBlock, faceVector, cb) + + * `referenceBlock` - блок, который вы хотите разместить рядорм + * `faceVector` - один из шести направлений `new Vec3(0, 1, 0)`, чтобы указать сторону, + куда нужно поставить блок + * `cb` вызывается, если сервер подтвердит, что блок поставлен + +Новый блок будет размещен на координатах `referenceBlock.position.plus(faceVector)`. + +#### bot.activateBlock(block, [callback]) + +Ударить нотный блок, открыть дверь и т.д + + * `block` - активируемый блок + * `callback(err)` - (необязательно) вызывается, если блок активирован + +#### bot.activateEntity(entity, [callback]) + +Нажать на существо, например житель, или NPC + + * `entity` - активируемре существо + * `callback(err)` - (необязательно) вызывается, если существо активировано + +#### bot.consume(callback) + +Съесть/выпить предмет, который находится в руке + + * `callback(error)` - вызывается, если предмет использован + +#### bot.fish(callback) + +Использовать удочку + + * `callback(error)` - вызывается, если рыбалка окончена + +#### bot.activateItem() + +Активирует предмет, который находится в руке. Используется для выстрела из лука, бросания яиц и т.д + +#### bot.deactivateItem() + +Деактивирует предмет, который находится в руке. Например для прекращения натягивания тетевы лука и т.д + +#### bot.useOn(targetEntity) + +Использует предмет, который находится в руке на существе. Например, одеть седло или использовать ножницы + +#### bot.attack(entity) + +Атаковать игрока или моба + +#### bot.swingArm([hand]) + +Сыграть анимацию удара руки + + * `hand` может быть `left` или `right`. По умолчанию: `right` + +#### bot.mount(entity) + +Сесть в транспортное средство. + +#### bot.dismount() + +Вылезть из транспортного средства. + +#### bot.moveVehicle(left,forward) + +Двигатся в транспортном средстве: + + * по сторонам: -1 или 1 : -1 означает вправо, 1 означает влево + * вперед/назад: -1 или 1 : -1 означает назад, 1 означает вперед + +Направление относительно того, куда смотрит бот + +#### bot.setQuickBarSlot(slot) + + * `slot` - выбрать слот ( 0 - 8 ) + +#### bot.craft(recipe, count, craftingTable, [callback]) + + * `recipe` - рецепт крафта. Смотрите `bot.recipesFor`. + * `count` - количество предмета крафта + Если вы хотите скрафтить 8 досок в палки, вы должны установить + `count` в `2`. `null` является 1 + * `craftingTable` - блок верстака, при указании null предмет крафтится в вашем инвентаре + * `callback` - (необязательно) Вызыватся если крафт завершен успешно + +#### bot.writeBook(slot, pages, [callback]) + + * `slot` - слот в инвентаре ( 0 - 36) + * `pages` - массив страниц + * `callback(error)` - необязательно. вызывается если редактирование завершено, либо при вызове ошибки + +#### bot.openChest(chestBlock or minecartchestEntity) + +Открывает сундук + +#### bot.openFurnace(furnaceBlock) + +Открывает печь + +#### bot.openDispenser(dispenserBlock) + +Открывает раздатчик + +#### bot.openEnchantmentTable(enchantmentTableBlock) + +Открывает стол зачарований + +#### bot.openVillager(villagerEntity) + +Открывает торговлю с жителем + +#### bot.trade(villagerInstance, tradeIndex, [times], [cb]) + +Использует `villagerInstance` для торговли + +#### bot.setCommandBlock(pos, command, track_output) + +.Установить командный блок по координатам + +### Методы инвентаря низкого уровня + +Эти методы могут быть иногда полезны, но мы рекомендуем использовать методы, описанные выше + +#### bot.clickWindow(slot, mouseButton, mode, cb) + +Нажать на слот + +#### bot.putSelectedItemRange(start, end, window, slot, cb) + +Поместить предмет в слот в указаном диапазоне + +#### bot.putAway(slot, cb) + +Поместить предмет в слот инвентаря + +#### bot.closeWindow(window) + +Закрыть окно(GUI) + +#### bot.transfer(options, cb) + +Поместить предмет с одного диапазона в другой. `options` это объект, содержащий : + + * `window` : окно, куда требуется положить предмет + * `itemType` : тип предмета + * `metadata` : метаданные предмета + * `sourceStart` и `sourceEnd` : старый диапазон + * `destStart` и `destEnd` : новый диапазон + +#### bot.openBlock(block, Class) + +Открыть блок, например сундук + + * `block` блок, который нужен открыть + * `Class` тип окна, которое нужно открыть + +#### bot.openEntity(entity, Class) + +Открыть GUI существа, например жителя + + * `entity` существо, GUI которого нужно открыть + * `Class` тип окна, которое нужно открыть + +#### bot.moveSlotItem(sourceSlot, destSlot, cb) + +Поместить предмет со слота `sourceSlot` в слот `destSlot` в открытом окне + +#### bot.updateHeldItem() + +Обновить `bot.heldItem`. + +### bot.creative + +Данные функции использются в творческом режиме + +#### bot.creative.setInventorySlot(slot, item, [callback]) + +Дает боту указанный предмет в слоте инвентаря. Не рекомендуется +выдавать дважды в один слот + + * `slot` номер слота ( 0 -36 ) + * `item` предмет, NBT-тег +     Если `item` равен` null`, элемент в указанном слоте удаляется. + * `callback(err)` (необязательно) вызывается, если сервер одобрил выдачу предмета + +Если этот метод меняет ваш инвентарь, вы можете использовать `bot.inventory.on("windowUpdate")`. + +#### bot.creative.flyTo(destination, [cb]) + +Вызывает `startFlying()` и движется к месту назначения. +`destination` это `Vec3`, координаты `x` и `z`, которые обычно заканчиваются на `.5`. +Функция не будет рабоать, если присутствуют препятствия. +Рекомендуется отправлять на небольшие расстояния + + +Когда бот прибывает в пункт назначения, вызывается `cb`. + +Этот метод не пытается найти путь до точки. +Ожидается, что реализация поиска пути будет использовать этот метод для перемещения на <2 блоков одновременно. + +Чтобы остановить полет, используйте `stopFlying()`. + +#### bot.creative.startFlying() + +Установите `bot.physics.gravity` к `0`. +Чтобы остановить полет, используйте `stopFlying()`. + +Этот метод полезен, если вы хотите летать, копая землю под собой. +Нет необходимости вызывать эту функцию перед вызовом `flyTo()`. + +Обратите внимание, что во время полета `bot.entity.velocity` может быть не точным. + +#### bot.creative.stopFlying() + +Восстанавливает `bot.physics.gravity` к оригинальному значению. diff --git a/node_modules/mineflayer/docs/demos.md b/node_modules/mineflayer/docs/demos.md new file mode 100644 index 00000000..93825415 --- /dev/null +++ b/node_modules/mineflayer/docs/demos.md @@ -0,0 +1,19 @@ +## mineflayer-navigate + +[navigate](https://github.com/andrewrk/mineflayer-navigate/) - get around + easily using A* pathfinding + + + +## rbot + +[rom1504/rbot](https://github.com/rom1504/rbot) smart bot based on mineflayer + + + +## chaoscraft + +[Chaoscraft](https://github.com/schematical/chaoscraft) Minecraft bot using genetic algorithms + + +​ \ No newline at end of file diff --git a/node_modules/mineflayer/docs/history.md b/node_modules/mineflayer/docs/history.md new file mode 100644 index 00000000..452e27d6 --- /dev/null +++ b/node_modules/mineflayer/docs/history.md @@ -0,0 +1,720 @@ +## 2.37.1 +* Optimize lookAt promise behavior (@ph0t0shop) + +## 2.37.0 +* Promisify villager & Trader (thanks @ph0t0shop) +* protect against action id going over 32767 (@rom1504) +* fix incorrect handling of username definition (@rom1504) + +## 2.36.0 +* all async method now both return promises and take a callback (thanks @ph0t0shop for this great improvement) + +## 2.35.0 +* Extra position packet after TP +* Add blockAtCursor +* Deprecate blockInSight +* TS typing fixes + +## 2.34.0 +* 1.16.4 support + +## 2.33.0 +* block_actions fix (thanks @SpikeThatMike) +* typescript fixes (thanks @TheDudeFromCI and @NotSugden) +* add uuid by objectUUID handling (thanks @Rob9315) +* fix bed packet (thanks @imharvol) +* better plugin handling (thanks @TheDudeFromCI) + +## 2.32.0 +* 1.16.3 support (thanks @GroobleDierne and @TheDudeFromCI) +* fix bug with entity width (thanks @TheDudeFromCI) +* Add ability to call openChest on shulker boxes (thanks @efunneko) + +## 2.31.0 +* Fix furnace and add tests (thanks @ImHarvol) +* Add offhand param to d.ts (thanks @TheDudeFromCI) +* Add hasAttackCooldown feature (thanks @TheDudeFromCI) +* Add type validation for bot.chat (thanks @BlueBurgersTDD) +* Add chat position to message event (thanks @larspapen) + +## 2.30.0 +* Add support for Barrel (#1344) (thanks @ImHarvol) +* Fix attack cooldown bug (thanks @TheDudeFromCI) +* Exposed getDestSlot (thanks @TheDudeFromCI) +* Simplify setCommandBlock arguments (thanks @ImHarvol) +* hide unknown transaction warning if hideErrors option is enabled + +## 2.29.1 +* fix findblock typescript def (thanks @TheDudeFromCI) +* fix setCommandBlock for recent versions (thanks @ImHarvol) + +## 2.29.0 +* Add hand parameter to activateItem (thanks @Karang) +* remove _chunkColumn from the api (bot.world should now be used) +* Handle MC|AdvCmd misspelling (thanks @ImHarvol) + +## 2.28.1 +* fix findBlocks (thanks @Karang) + +## 2.28.0 +* add nearestEntity function (thanks @Karang) + +## 2.27.0 +* add heldItemChanged + +## 2.26.0 +* use and expose prismarine-world as bot.world +* add itemDrop event (thanks @ImHarvol) +* fix bot.fish callback (thanks @GroobleDierne) +* parse entity metadata for crouching (thanks @IdanHo) +* fix bot.time.day (thanks @Naomi-alt) +* improve find blocks options (thanks @Karang) + +## 2.25.0 +* emit chestLidMove (thanks @imharvol) +* add options for main hand selection (thanks @Colten-Covington) +* fix respawning columns issues (thanks @Karang) + +## 2.24.0 +* Fix getBlockAt when outside bounds +* Improve documentation and examples +* Add ability to change the skin parts of a bot (thanks @Naomi-alt) + +## 2.23.0 +* 1.16 support +* fix noteheard (thanks @Naomi-alt) + +## 2.22.1 +* better typedef (thanks @Konstantin) +* fix off by 1 error in findBlocks (thanks @Karang) +* physics.js look fix (thanks @thesourceoferror) +* fix chat message bracketing (thanks @Nurutomo) +* use prismarine-physics + +## 2.22.0 +* Improve digTime computation (thanks @Karang) +* expose blockEntity.raw (thanks @SiebeDW) +* improve typedef for find block options (thanks @TheDudeFromCI) + +## 2.21.0 +* don't log errors if hideErrors is true + +## 2.20.0 +* add extra infos option in find block + +## 2.19.2 +* fix ground up for 1.13->1.15 + +## 2.19.1 +* fix find block (thanks @Karang) +* improve sign parsing (thanks @cookiedragon234) + +## 2.19.0 +* much faster findBlock (thanks @Karang) + +## 2.18.0 +* fix bugs in lookAt and setQuickBarSlot +* add auto_totem example (thanks @AlexProgrammerDE) +* improve blockAt speed + +## 2.17.0 +* physics engine refactor (thanks @Karang) +* mcdata update for better 1.14 and 1.15 support + +## 2.16.0 +* use protodef compiler (thanks @Karang) +* off-hand support (thanks @Karang) +* fix type definitions (thanks @dada513) + +## 2.15.0 +* fix transfer bugs (thanks @Karang) +* add typescript definitions (thanks @IdanHo) + +## 2.14.1 +* fix openVillager + +## 2.14.0 +* 1.15 support +* russian translation (thanks @shketov) + +## 2.13.0 +* 1.14 support : more tests, refactored pwindows, feature flags (thanks @Karang) +* Look at the center of the face when placing block +* improve bot.sleep : don't sleep if mob are present (thanks @ImHarvol) + +## 2.12.0 +* 1.13 support (thanks @Karang, @hornta, @SiebeDW) +* better fishing support (thanks @hutu13879513663) + +## 2.11.0 +* Expose columns & blockEntities (thanks @SiebeDW) +* Create discord.js (thanks @SiebeDW) +* change amount of slots based on version (thanks @IdanHo) +* Fix 'respawn' event (thanks @ImHarvol) +* Add callback to creative set block (thanks @wvffle) + +## 2.10.0 +Lot of fixes from @wvffle in this release : +* more checks when digging +* expose a bot.swingArgm() function +* better toString to chat message +* fix handling of empty signs +* correct handling of entity metadata change +And some others : +* new tps plugin by @SiebeDW +* correct handling of chunk unloading by @IdanHo + +## 2.9.6 +* fix logErrors option + +## 2.9.5 +* fix logErrors + +## 2.9.4 +* enable catching and logging of errors by default + +## 2.9.3 +* fix typo in variable name actionId + +## 2.9.2 +* improve pushback (thanks @Vap0r1ze) +* more robust handling of tablist (thanks @wvffle) +* ignore (with a warning) transaction without previous click + +## 2.9.1 +* improve boss bar +* add checks in scoreboard implementation + +## 2.9.0 + +* add universal chat patterns to support more chat plugins + +## 2.8.1 + +* fix error on scoreboard removal + +## 2.8.0 + +lot of new features from @wvffle : + +* support for block entities +* improved block bars support +* add block in sight +* fix scoreboard support +* add eating support +* add tab complete support +* add fishing support +* better sign text support +* repl example + +## 2.7.5 + +* improve basic find block a bit + +## 2.7.4 + +* start the bot alive in all cases +* correct run speed and use it to limit the speed properly (thanks @CheezBarger) +* emit error instead of throwing when loading a chunk (thanks @ArcticZeroo) + +## 2.7.3 + +* use docsify for docs + +## 2.7.2 + +* don't do anything if transaction.action < 0 (fix for some non-vanilla plugins) + +## 2.7.1 + +* include fixes from pchunk, protodef and mcdata + +## 2.7.0 + +* fix cannot jump repeatedly +* fix spaces in chatmessage (thanks @Gjum) +* add bot.getControlStates (thanks @ArcticZeroo) +* Support end dimension (thanks @iRath96) +* Added sneaking option to controll states (thanks @Meldiron) +* add title event (thanks @yario-o) +* Update sound.js to include hardcoded sound effects (thanks @jeresuikkila) +* Support for the new launcher_profiles.json format (thanks @Amezylst) +* update api about checkTimeoutInterval + +## 2.6.1 + +* fix chatmessage +* add plugins to bot options to be able to disable an internal plugin + +## 2.6.0 + +* improve ChatMessage translation functionality (thanks @plexigras) +* added eslint +* es6 +* fix autoversion in online mode + +## 2.5.0 + +* don't swing arm when activating an entity +* new plugin loading api + +## 2.4.1 + +* better 1.12 support + +## 2.4.0 + +* auto version detection (thanks @plexigras) + +## 2.3.0 + +* support version 1.12 (thanks @jonathanperret) +* add example to use minecraft session file for auth (thanks @plexigras) + +## 2.2.0 + +* added book writing plugin (thanks @plexigras) +* Make sure bot.time.day is between 0 and 24000 (thanks @roblabla) +* Pass skyLightSent to Chunk.load (thanks @iRath96) + +## 2.1.1 + +* use protodef aliases to properly define channels + +## 2.1.0 + +* add bot.canSeeBlock (thanks @Nixes) +* handle unknown entities and entities sent with their internal id +* add bloodhound to plugin list +* fix chat hoverEvent for 1.9 + +## 2.0.0 + +* added support for minecraft chests (thanks @plexigras) +* cross version support : 1.8, 1.9, 1.10 and 1.11 now supported +* [BREAKING] prismarine classes (Block, Entity, Recipe, ...) are now available only by requiring them, not in mineflayer.X. It was required to make cross version possible. minecraft-data is also to be required directly and not available as mineflayer.blocks. The code depending on this should be updated, hence the major version. + +## 1.8.0 + +* add actionBar event (thanks @ArcticZeroo) +* added support for villager trading (thanks @plexigras) + +## 1.7.5 + +* bump dependencies + +## 1.7.4 + +* update minecraft-data + +## 1.7.3 + +* add callback to activateBlock + +## 1.7.2 + +* update dependencies + +## 1.7.1 + + * update minecraft-protocol, minecraft-data and protodef + +## 1.7.0 + + * listen for disconnect in login phase (thanks @deathcap) + * fix multi_block_change (thanks @Corgano) + * remove chat filter : fix utf8 in chat + * add extra tolerance for malformed sign packets (thanks @G07cha) + * adapt to new minecraft data entities format + * update minecraft-protocol to 0.17.2 + + +## 1.6.0 + + * add functionalities to use scoreboard (thanks @jakibaki) + * update to minecraft-data 0.16.3 + * 50 -> 20 tps for physics + * Remove requireindex, for browserify support + * add bot.setCommandBlock + +## 1.5.3 + + * fix entity_status + +## 1.5.2 + + * use prismarine-recipe and prismarine-windows + * use require-self to be able to do require('mineflayer') in the examples + * fix viewDistance sending + +## 1.5.1 + + * add checkTimeoutInterval to createBot + +## 1.5.0 + + * fix achievements parsing in toString() + * update to nmp 0.16 + * use prismarine-item + * add example to run multiple bots + * uuid is now a dashed string + * remove digging interruption : this doesn't happen in 1.8 servers (and caused problem in some spigot servers) + +## 1.4.0 + + * improve placeBlock : now use lookAt before placing and has a callback + * fix soulsand speed + * use new multi-version version of (node-)minecraft-data + +## 1.3.0 + + * swing arm on placing a block, look at center of block when activating a block (thanks gipsy-king) + * refactor examples (thanks Pietro210) + * add clickWindow support to ContainerWindow (thanks Gnomesley) + * fix skylight in the nether + * update node-mojangson to display unparsed text in case of error + +## 1.2.1 + + * Prevent crash when an unknown entity is spawned + * add createBot to api.md + +## 1.2.0 + + * update minecraft-protocol to 0.14.0 : several fixes (error are now catchable, packets are in-order, packets fixes, etc.) + * add ContainerWindow to support non-Vanilla plugins and add /invsee example (thanks Pietro210) + * add a callback to bot.look and bot.lookAt + * when receiving a remove effect packet : if the corresponding effect doesn't exist yet, emit an event with just the id of the effect (thanks Pietro210) + * swing arm immediately when digging (thanks gipsy-king) + * now updates bot.entity.heldItem when bot.heldItem is updated + * fix cli args in examples + * add forcedMove event + * fix equipment api + * new minecraft data version : better metadata handling + +## 1.1.2 + + * a small fix in chat.js + * add a licence file + +## 1.1.1 + + * bot.transfer is faster + * fix arm_animation + * using mojangson parser for chat hoverevent + * add chat patterns for unidentified chat messages + * fix player leaving + +## 1.1.0 + +Lot of fixes and improvements in this version in order to support mineflayer 1.8.3, including : + + * minecraft 1.8.3 support + * update minecraft protocol to 0.13.4 + * move enums data to minecraft-data + * add automatic testing with a vanilla minecraft server on circle ci + * add argv arguments to examples + * refactor inventory.js + * use new recipe format handling metadata better + * fix lot of things to support 1.8.3 including : + * block format change + * position change : y is now always at the feet of the bot + +## 1.0.0 + + * updated minecraft protocol to 0.11 (Minecraft 1.6.2 support). + * small changes in the arguments of some events: `chat`, `whisper` and `message`. See [doc/api.md](https://github.com/andrewrk/mineflayer/blob/master/doc/api.md). + +## 0.1.1 + + * updated minecraft protocol to 0.10 (Minecraft 1.5.2 support). + +## 0.1.0 + +Huge thanks to [zuazo](https://github.com/zuazo) for debugging and +eliminating the problems with 1.5.1 protocol update and node 0.10 update! + + * update minecraft-protocol to 0.9.0 - includes many fixes + * blocks: fix buffer length assertion error (thanks zuazo) + * physics: fix assertion error (thanks zuazo) + +## 0.0.35 + + * inventory: window clicking waits a bit if you have just dug + fixes a rejected transaction race condition. + +## 0.0.34 + + * inventory: equipping makes the quick bar a basic LRU cache. + This can alleviate some race conditions when trying to equip a + different tool immediately after digging. + +## 0.0.33 + + * crafting: fix shapeless recipe support + * inventory: fix several instances which could cause transaction rejected + * add missing recipes (thanks rom1504) + * `recipe.delta` data structure changed. + +## 0.0.32 + + * digging: fix crash when not holding a tool + +## 0.0.31 + + * only stationary water has a negative effect on digging + * digging: if you dig while already digging, instead of crashing, + mineflayer will cancel the in progress dig and start the new one. + * digging: in creative mode dig time is 0 + * digging interruption error has a code so you can check for it + +## 0.0.30 + + * expose the materials enum as `mineflayer.materials` + +## 0.0.29 + + * digging is faster and has less bugs + * you can stop digging with `bot.stopDigging()`. + * `bot.dig(block, [timeout], [callback])` changed to `bot.dig(block, [callback])`. + * add `bot.digTime(block)` + * add `block.material` + * add `block.harvestTools` + * add `window.emptySlotCount()` + * block and item enums are cleaned up. Every block and item has an + unambiguous `name` and `displayName`. + +## 0.0.28 + + * add missing recipe for wooden planks + * fix various crafting and inventory bugs + * unequip works with hand as a destination + +## 0.0.27 + + * add `mineflayer.Location` which can help you locate chunk boundaries + * `entity.metadata` is formatted as an object instead of an array for + easier access + * `canDigBlock` returns `false` if `block` is `null` instead of crashing. + +## 0.0.26 + + * fix `bot.heldItem` being wrong sometimes + * water and lava are not solid + +## 0.0.25 + + * `bot.equip` - wait at least a tick before calling callback + +## 0.0.24 + + * fix digging leaves not calling callback. + +## 0.0.23 + + * add enchantment table support. See `examples/chest.js` for an example. + * rename `bot.tell` to `bot.whisper` to be consistent with 'whisper' event. + (thanks Darthfett) + +## 0.0.22 + + * update vec3 to 0.1.3 + * add "whisper" chat event + +## 0.0.21 + +This release is feature-complete with the old +[C++/Qt based version of mineflayer](https://github.com/andrewrk/mineflayer/blob/cpp-qt-end). + + * add `bot.activateItem()` + * add `bot.deactivateItem()` + * add `bot.useOn(targetEntity)` + +## 0.0.20 + + * add dispenser support + - add `mineflayer.Dispenser` + - add `bot.openDispenser(dispenserBlock)` + +## 0.0.19 + + * add furnace support + - add `mineflayer.Furnace` + - add `bot.openFurnace(furnaceBlock)` + * `mineflayer.Chest`: "update" event renamed to "updateSlot" + * `bot.equip(itemType, destination, [callback])` changed to + `bot.equip(item, destination, [callback])`. Use `bot.inventory.items()` + to get a list of what items you can choose from to equip. + * fix `bot.openChest` not working for ender chests + * fix incorrectly scaled fuel percentage + * upgrade to minecraft-protocol 0.7.0 + - `mineflayer.createBot` no longer takes a `email` argument. + - The `username` and `password` arguments are used to authenticate with the + official minecraft servers and determine the case-correct username. If + you have migrated your user account to a mojang login, `username` looks + like an email address. + - If you leave out the `password` argument, `username` is used to connect + directly to the server. In this case you will get kicked if the server is + in online mode. + +## 0.0.18 + + * fix crash for some block updates + +## 0.0.17 + +recalled + +## 0.0.16 + + * add chest support + - add `mineflayer.Chest` + - add `bot.openChest(chestBlock)` + * `block.meta` renamed to `block.metadata` + * `item.meta` renamed to `item.metadata` + * fix crash when player causes entityGone message + * update to minecraft-protocol 0.6.6 + +## 0.0.15 + + * fix `bot.sleep` not working at all + * add `bot.isSleeping` + * add "sleep" event + * add "wake" event + * `bot.sleep(bedPoint)` changed to `bot.sleep(bedBlock)` + * fix `mineflayer.Recipe` not exposed + +## 0.0.14 + + * add crafting support + - add `mineflayer.windows` + - add `mineflayer.Recipe` + - `bot.inventory` is now an instance of `InventoryWindow` + - `bot.inventory.count` is no longer a map of id to count. + `Window` instances have a `count(itemType, [metadata])` method. + - `bot.inventory.quickBarSlot` moved to `bot.quickBarSlot`. + - add `'windowOpen' (window)` event + - add `'windowClose' (window)` event + - add `bot.craft(recipe, count, craftingTable, [callback])` + - add `bot.recipesFor(itemType, metadata, minResultCount, craftingTable)` + * `block.pos` renamed to `block.position`. + * `'blockUpdate' (point)` event signature changed to + `'blockUpdate' (oldBlock, newBlock)` + * `'blockUpdate:(x, y, z)'` event signature changed to + `'blockUpdate:(x, y, z)' (oldBlock, newBlock)` + * add `'diggingAborted' (block)` event + * add `bot.unequip(destination, [callback])` + * add `bot.toss(itemType, metadata, count, [callback])` + * `bot.startDigging(block)` changed to `bot.dig(block, [timeout], [callback])`. + * add `bot.activateBlock(block)` + +## 0.0.13 + + * fix `bot.equip` when already equipping the item + * fix some incorrect block physics + * add `mineflayer.recipes` enum + * fix crash when digging at a high elevation + +## 0.0.12 + + * add inventory support + - add `Item` class which is exposed on `mineflayer` + - add `bot.inventory` (see docs for more details) + - add `bot.equip(itemType, destination, [callback])` + - add `bot.tossStack(item, [callback])` + * add digging support + - add `bot.startDigging(block)` + - add `bot.canDigBlock(block)` + * blocks: add `blockUpdate:(x, y, z)` event. + * add building support + - add `bot.placeBlock(referenceBlock, faceVector)` + * add `block.painting` + * add `Painting` class which is exposed on `mineflayer` + * add experience orb support + - `entity.type` can be `orb` now + - `entity.count` is how much experience you get for collecting it + +## 0.0.11 + + * physics: skip frames instead of glitching out + * default bot name to Player - `createBot` can take no arguments now. + +## 0.0.10 + + * physics: fix bug: walking too slowly on Z axis + +## 0.0.9 + + * ability to sprint (thanks ruan942) + * fix color code stripping (thanks rom1504) + * event "onNonSpokenChat" deleted + * new event "message" which fires for all messages + * `bot.chat` no longer checks for "/tell" at the beginning + * add `bot.tell(username, message)` method + * fix crash when an entity effect occurs + +## 0.0.8 + + * chat: no longer suppress "chat" events for your own chat (thanks Darthfett). + * ability to mount / dismount vehicles and attack + * physics: fix tall grass and dead bushes treated as solid + * fix "respawn" event firing twice sometimes + * remove `bot.spawn()` and `autoSpawn` option. auto spawn is now mandatory. + * fix sending spawn packet twice on init + * fix bots spawning with their heads on backwards + * fix bots jumping when they get hit + * update player heights when they crouch + * add support for signs: `block.signText` and `bot.updateSign(block, text)` + +## 0.0.7 + + * add `bot.time.day` and `bot.time.age` and "time" event + * add `bot.entities` which is a map of the entities around you + * add `bot.look(yaw, pitch, force)` and `bot.lookAt(point, force)` + +## 0.0.6 + + * add a physics engine which understands gravity + * add jumper example, jumps whenever you chat + * add `respawn` event which fires when you die or change dimensions + * Block instances have a `boundingBox` property, which is currently either + `solid` or `empty`. + * fix `game` event to fire correctly + * `bot.game.spawnPoint` moved to `bot.spawnPoint`. + * `bot.game.players` moved to `bot.players`. + * `bot.quit` has a default reason of "disconnect.quitting" (thanks Darthfett) + +## 0.0.5 + + * unload chunks when changing dimensions + * blocks: handle all forms of block changing so that `blockAt` is always + accurate. + +## 0.0.4 + + * expose Block, Biome, and Entity + +## 0.0.3 + + * add `bot.blockAt(point)` which returns a `Block` + * add `mineflayer.blocks`, `mineflayer.biomes`, and `mineflayer.items` + * add bot `chunk` event + * fix `spawn` event and `settings.showCape` + * added chatterbox example + * changed `entityDetach` event to have a vehicle argument + * changed `entityEffectEnd` event to have an effect argument + instead of `effectId` + * fix prefixes in pseudos in chat. (thanks rom1504) + * update vec3 to 0.1.0 which uses euclidean modulus + +## 0.0.2 + + * add bot.game.spawnPoint + * add spawn support + * add rain support + * add support for getting kicked + * add settings support + * add experience support + * add bed support + * health status knowledge + * add entity tracking API diff --git a/node_modules/mineflayer/docs/index.html b/node_modules/mineflayer/docs/index.html new file mode 100644 index 00000000..3ab80027 --- /dev/null +++ b/node_modules/mineflayer/docs/index.html @@ -0,0 +1,38 @@ + + + + + mineflayer - create minecraft bots with a stable, high level API + + + + + + + + + + +
+ + + + diff --git a/node_modules/mineflayer/docs/tutorial.md b/node_modules/mineflayer/docs/tutorial.md new file mode 100644 index 00000000..cb1e876e --- /dev/null +++ b/node_modules/mineflayer/docs/tutorial.md @@ -0,0 +1,717 @@ +# Tutorial + +**Table of Contents** + +- [Basics](#basics) + - [Javascript basics](#javascript-basics) + - [Installing Node](#installing-node) + - [Javascript variables](#javascript-variables) + - [Show output](#show-output) + - [Javascript functions](#javascript-functions) + - [Javascript types](#javascript-types) + - [If-statements](#if-statements) + - [Loops](#loops) + - [Node Package manager](#node-package-manager) + - [Creating a bot](#creating-a-bot) + - [Javascript objects](#javascript-objects) + - [Logging in](#logging-in) + - [Passing along functions](#passing-along-functions) + - [Listening for an event](#listening-for-an-event) + - [Callbacks](#callbacks) + - [Correct and incorrect aproach](#correct-and-incorrect-aproach) +- [Advanced](#advanced) + - [Asynchronousy](#asynchronousy) + - [Loop over an object](#loop-over-an-object) + - [Creating an event from chat](#creating-an-event-from-chat) + - [Answer Hello Bot](#answer-hello-bot) + - [Custom Chat](#custom-chat) +- [FAQ](#faq) + - [How to run a bot on android](#how-to-run-a-bot-on-android) + - [Install Termux](#install-termux) + - [Setup](#setup) + - [Start your bot](#start-your-bot) + +## Introduction + +This tutorial will help you get started with Mineflayer, even if you know nothing about coding. +If you already know some things about Node and NPM, you can go to the [Create a bot](#creating-a-bot) section, otherwise start here. + +## Basics + +The following sections are about basics concepts you need to know to get started using Mineflayer. + +### Javascript basics + +#### Installing Node + +In this section you will learn the basics about Javascript, Node and NPM. + +Javascript, often abbreviated to JS, is a programming language designed for the web. It is what makes most interactivity on the web possible. +Node.js, often just Node, makes it possible to use Javascript outside of web browsers. + +So the first thing you have to do to get started is to install Node. You can get it [here](https://nodejs.org/en/download/). +After it is installed, open a command prompt (also known as a terminal) and then type `node -v` +If you have installed Node correctly, it should return a version number. If it says it can't find the command, try installing it again. + +Now you have Node, you could start writing code, but we need to do 1 more thing. +Javascript can be written in any basic text editor, but it is much easier if you use what is called an [Integrated development environment](https://en.wikipedia.org/wiki/Integrated_development_environment)(IDE) +An IDE will help you write code because it can give you suggestions, or tell you if your code has potential problems. A good IDE to start with is [Visual Studio Code](https://code.visualstudio.com/)(VSCode) +Once you have installed and set-up VSCode, create a new file and then save it somewhere with a name ending with `.js`, e.g. `bot.js` +This will let VSCode know we are working with Javascript, and give you the correct suggestions. + +#### Javascript variables + +Start by typing the following: + +```js +let test = 5 +``` + +This will create a new variable named `test` and assign it the value `5` +Variable are used to save data and use it later in the code. + +Now save the file so we can run the code. Open a terminal again (or a new terminal in VSCode) and navigate to the same folder the file is saved in. This can be done using the `cd` command, for example: `cd Documents\javascript` +Once your terminal is in the same folder as your Javascript file, you can run `node filename.js` +If you have done everything correctly, you should see nothing. +In the next chapter we will show you how you can 'print' things to the terminal. + +In general, it is good practice to use the `const` keyword instead of the `let` keyword when defining a variable. A variable defined with `const` can't be modified later and thus is a constant. +Javascript is then able to make your code run more efficiently because it knows it doesn't have to account for value changes for that variable. +If you want a modifiable variable, you will still have to use `let` of course. + +```js +const test = 5 +test = 10 // This line is invalid. +``` + +The second line is invallid because you can't reassign the `test` variable. + +If you want to help yourself and other people understand your code better, you can use comments. +Comments can be created using `//` and everything after that is completely ignored by Javascript. + +#### Show output + +A lot of times you want to see the current value of a variable, to make sure your program is running correctly. +You do this by printing the variables to the terminal. +In Javascript, we can do this using the `console.log()` function. + +```js +const test = 5 + +console.log(test) +``` + +Now when you save and run this code, you should finally see something: + +```txt +5 +``` + +#### Javascript functions + +Next you will learn about functions. Functions are a piece of code that can be used multiple times throughout your code. +These can be useful because you don't have to type something multiple times. + +```js +const addition = (a, b) => { + return a + b +} + +const test1 = addition(5, 10) +const test2 = addition(1, 0) + +console.log(test1) +console.log(test2) +``` + +The `=>` is used to define a function, called the arrow operator. +Before the arrow operator is the parameter list, everything between the round brackets `()` are parameters, separated by a comma. +Parameters are variables you can give to your function so that your function can work with them. +Then after the arrow operator comes the function body, this is everything between the curly brackets `{}` +This is where you put the code of the function. +Now that the function is complete, we assign it to a variable to give it a name, in this case `addition` + +As you can see, this code takes the parameters `a` and `b` and adds them together. +Then the function will return the result. +When a function is defined, the code in the function body is not yet executed. To run a function you have to call it. +You can call a function by using the name of a function followed by round brackets. In this case `addition()` +However, the `addition` function requires 2 parameters. These can be passed along by putting them inside the round brackets, comma separated: `addition(1, 2)` +When the function is done, you can imagine that the function call is replaced by whatever the function has returned. So in this case `let test1 = addition(5, 10)` will become `let test1 = result` (You will not actually see this, but this can help you understand the concept) + +Sometimes you will come across the following: `function addition() {}` This means the same thing, although `() => {}` is preferred. (If you really want to know why, look up 'javascript function vs arrow function') + +The above should output the following: + +```txt +15 +1 +``` + +#### Javascript types + +So far we have only worked with numbers, but Javascript can work with more variable types: + +- A string is a piece of text that can contain multiple characters. Strings are defined by using the quotes `''` + +```js +const string = 'This is a string' // string type +``` + +- An array is a type that can hold multiple variables inside itself. Arrays are defined by using the square brackets `[]` + +```js +const array = [1, 2, 3] // array type +``` +- Object are basically advanced arrays, you will learn more about it later in this tutorial. Their defined by curly brackets `{}` + +```js +const object = {} // object type +``` + +- Functions are also their own type. + +```js +const function = (a, b) => { return a+b } // function type +``` + +- A boolean is a type that can only be `true` or `false` + +```js +const boolean = true // boolean type +``` + +- When something is not (yet) defined, its type is `undefined` + +```js +const nothing // undefined type +const notDefined = undefined // undefined type +``` + +#### If-statements + +Sometimes you want to do different things based on a certain condition. +This can be achieved using if-statements. + +```js +const name = 'Bob' + +if (name === 'Bob') { + console.log('Your name is Bob') +} else if (name === 'Alice') { + console.log('Your name is Alice') +} else { + console.log('Your name is not Bob or Alice') +} +``` + +An if-statement is created using the `if` keyword. After that you have a condition between the round brackets `()` followed by the body between the curly brackets `{}` +A condition has to be something that computes to a boolean. +In this case it uses an equal operator `===` which will be `true` if the value in front is the same as the value after. Otherwise it will be `false` +If the condition is `true` the code in the body will be executed. +You can chain an if-statement with an else-if-statement or an else-statement. +You can have as many else-if-statements as you want, but only 1 if and else statement. +If you have an else-statement, it will be called only if all the chained statements before it are `false` + +#### Loops + +Loops are used to repeat certain code until a certain conditional is met. + +```js +let countDown = 5 + +while (countDown > 0) { + console.log(countDown) + countDown = countDown - 1 // Decrement countDown by 1 +} + +console.log('Finished!') +``` + +The above code will print the following + +```txt +5 +4 +3 +2 +1 +Finished! +``` + +The `while` loop has a condition `()` and a body `{}` +When the code reaches the loop, it will check the condition. If the condition is `true`, the code in the body will be executed. +After the end of the body is reached, the condition is checked again, and if `true`, the body executed again. +This will happen for as long as the condition check is still `true` +Each loop, this code prints the current `countDown` number, and then decrements it by 1. +After the 5th loop, the condition `0 > 0` will be `false`, and thus the code will move on. + +A `for` loop is also often used, and differs slightly from a `while` loop. + +```js +for (let countDown = 5; countDown > 0; countDown = countDown - 1) { + console.log(countDown) +} +``` + +Instead of only a condition, the for loops has 3 different parts +These parts are separated by a semi-column. +The first parts `let countDown = 5` is only executed once, at the start of the loop. +The second part `countDown > 0` is the condition, this is the same as the while loop. +The third part `countDown = countDown - 1` is executed after each loop.: + +If you want to do something for every item in an array, a `for of` loop can be useful. + +```js +const array = [1, 2, 3] + +for (const item of array) { + console.log(item) +} +``` + +A `for of` loop needs to have a variable before the `of`, this is the variable that can be used to access the current item. +The variable after the `of` needs to be something that contains other variable. These are mostly arrays, but also some objects. +The loop will execute the body for each item in the `array` and each loop the `item` variable will be the current item of the `array` + +#### Node Package manager + +The last thing you need to know is how to use the [Node Package Manager](https://www.npmjs.com/). +NPM is automatically installed when you install Node. +NPM is used to get useful packages that other people created that can do useful things for you. +You can search for packages on [their website](https://www.npmjs.com/), and then install them using the `npm install` command in your terminal. +To install Mineflayer for example, run `npm install mineflayer` + +Then, Node can access installed modules by using the `require()` function. + +```js +const mineflayer = require('mineflayer') +``` + +After this, the `mineflayer` variable can be used to access all the features of Mineflayer. + +### Creating a bot + +Now that you know the basics of Javascript, Node and NPM, you're ready to start creating your first bot! +If you don't know any of the terms above, you should go back to the [previous section](#javascript-basics) + +Below is the absolute minimum necessary to create a Mineflayer bot. + +```js +const mineflayer = require('mineflayer') + +const bot = mineflayer.createBot() +``` + +If you run this example, you'll notice that your program will not stop. If you want to stop your currently running program, press `Ctrl` + `c` +However, this bot isn't quite useful, as by default this will connect to a Minecraft server running on your machine with the port 25565. +If you want to choose which server you want your bot to connect to, you have to pass along a few options. + + +```js +const mineflayer = require('mineflayer') + +const options = { + host: 'localhost', // Change this to the ip you want. + port: 25565 // Change this to the port you want. +} + +const bot = mineflayer.createBot(options) +``` + +#### Javascript objects + +The curly brackets `{}` are used to create an object. +Objects contain what is called a key-value pair. +A key-value pair consist of a colon `:` and a key before the colon, and the value of that key after the colon. +The keys can then be used to retrieve their value. +You can have multiple key-value pairs by separating them by commas. + +```js +const object = { + number: 10, + another: 5 +} + +console.log(object.number) // This will print the value 10 +``` + +This concept is often used to create what is named 'named parameters' +The advantage of this is that you don't have to use all the options available, and their position does not matter. +The value can be anything, even other object. If the value is a function, that function is often called a method for that object. +You can also create the object in-line. + +```js +const bot = mineflayer.createBot({ host: 'localhost', port: 25565 }) +``` + +#### Logging in + +Without any parameters, the bot will have the name `Player` and can only log into offline servers. (Cracked & open-to-lan) +If you supply the `createBot` with an `username` option, it will log in with that username. (Still only in offline server) +To log into a specific account, you have to supply both the `username` and the `password` + +```js +const bot = mineflayer.createBot({ + host: 'localhost', + port: 25565, + username: `Player`, + password: `password` +}) +``` + +#### Command line arguments + +What if somebody else likes your bot and wants to use it, but uses it on a different server and with a different account? +This means that everyone has to change the server address and login settings to their preference. (And it's of course also a bad idea to share your password) +To counter this, a lot of people use command line arguments. + +```js +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4], + password: process.argv[5] +}) +``` + +As you can see, no more sensitive data in your code! But now, how do you run it? +Now, instead of starting your program with just `node filename.js` you start it with `node filename.js host port username password` +Node will automatically split the whole command line into an array, separated by spaces. +This array is `process.argv` +The data in an array can be accessed using the index of each item. The index always start at 0, so the first item can be accessed with `[0]` and in this case will be `node` etc. + +| | First item | Second item | Third Item | Fourth item | Fifth item | Sixth item | +| --- | :---: | :---: | :---: | :---: | :---: | :---: | +| Value | `node` | `filename.js` | `host` | `port` | `username` | `password` | +| Index | `[0]` | `[1]` | `[2]` | `[3]` | `[4]` | `[5]` + +### Passing along functions + +Not only basics variables like numbers and strings can be given as an argument. +Functions can also be passed as a variable. + +```js +const welcome = () => { + bot.chat('hi!') +} + +bot.once('spawn', welcome) +``` + +As you can see, the `bot.once()` method takes 2 parameters. +The first parameter is an event name, the second parameter is the function to call when that event happens. +Remember, when passing along a function, only use the name and not the round brackets `()` + +`bot.chat()` is the method for sending message to the chat. + +You can also simplify this code by using a anonymous function. +An anonymous function doesn't have a name, and is created at the position where the function name used to go. +They still have to have a parameter list `()` and a function body `{}`, even if it isn't used. + +```js +bot.once('spawn', () => { + bot.chat('hi!') +}) +``` + +### Listening for an event + +The bot object has many useful [events](http://mineflayer.prismarine.js.org/#/api?id=events). +You can listen for an event by using either `bot.on()` method or `bot.once()` method of the bot object, which takes the name of an event and a function. +To remove specific listener you can use `bot.removeListener()` method. + +- `bot.on(eventName, listener)` + Execute the `listener` function for each time the event named `eventName` triggered. +- `bot.once(eventName, listener)` + Execute the `listener` function, only once, the first time the event named `eventName` triggered. +- `bot.removeListener(eventName, listener)` + Removes the specified `listener` for the event named `eventName`. In order to use this you either need to define your function with `function myNamedFunc() {}` or put your function in a variable with `const myNamedFunc = () => {}`. You can then use `myNamedFunc` in the listener argument. + +Not only bot object, [`Chest`](http://mineflayer.prismarine.js.org/#/api?id=mineflayerchest), [`Furnace`](http://mineflayer.prismarine.js.org/#/api?id=mineflayerfurnace), [`Dispenser`](http://mineflayer.prismarine.js.org/#/api?id=mineflayerdispenser), [`EnchantmentTable`](http://mineflayer.prismarine.js.org/#/api?id=mineflayerenchantmenttable), [`Villager`](http://mineflayer.prismarine.js.org/#/api?id=mineflayervillager) object also have their own events! + +### Callbacks +A [callback](https://en.wikipedia.org/wiki/Callback_(computer_programming)) is a function that you can give to another function, that is expected to be *called back*, generally when that function ends. +In Mineflayer, callbacks are often used to handle errors. + +```js +bot.consume((error) => { + if (error) { // This checks if an error occurred. + console.log(error) + } else { + console.log('Finished consuming') + } +}) +``` + +The above code will try to consume what the bot is currently holding. +When the consuming ends, the function that is passed along is called. +We can then do other things that we want to do after. +The function could also be called when an error occurs. + +#### Correct and incorrect aproach + +Below is an example of a bot that will craft oak logs into oak planks and then into sticks. + +Incorect aproach ❌: + +```js +const plankRecipe = bot.recipesFor(5)[0] // Get the first recipe for item id 5, which is oak planks. +bot.craft(plankRecipe, 1) // ❌ start crafting oak planks. + +const stickRecipe = bot.recipesFor(280)[0] // Get the first recipe for item id 5, which is sticks. +bot.craft(stickRecipe, 1) // ❌ start crafting sticks. +``` + +Correct approach with callbacks ✔️: + +```js +const plankRecipe = bot.recipesFor(5)[0] + +bot.craft(plankRecipe, 1, null, (error) => { + // After bot.craft(plankRecipe, ...) is finished, this callback is called and we continue. ✔️ + if (error) { // Check if an error happened. + console.log(error) + } else { + const stickRecipe = bot.recipesFor(280)[0] + + bot.craft(stickRecipe, 1, null, (error) => { + // After bot.craft(stickRecipe, ...) is finished, this callback is called and we continue. ✔️ + if (error) { // Check if an error happened. + console.log(error) + } else { + bot.chat('Crafting Sticks finished') + } + }) + } +}) +``` + +The reason the incorrect approach is wrong is because when `bot.craft()` is called, the code will continue below while the bot is crafting. +By the time the code reaches the second `bot.craft()`, the first probably hasn't finished yet, which means the wanted resource is not available yet. +Using callbacks can fix this because they will only be called after the `bot.craft()` is finished. + +More on the [bot.craft()](https://mineflayer.prismarine.js.org/#/api?id=botcraftrecipe-count-craftingtable-callback) method. + +## Advanced + +The following concepts aren't necessary to create a Mineflayer bot, but they can be useful to understand and create more advanced bots. +We assume you have understood the [Basics](#basics) tutorial. + +### Asynchronousy +In Javascript, asynchronousy is an important concept. +By default, Javascript will run everything line by line, and only go to the next line if the current line is done. This is called blocking. +However, sometimes you have to do something that takes a relatively long time, and you don't want your whole program to block and wait for it to finish. + +Interacting with the filesystem is often done using asynchronousy, because reading and writing large files can take a long time. + +```js +const myPromise = new Promise((resolve, reject) => { + setTimeout( () => { + resolve("Success!") // Yay! Everything went well! + }, 1000) +}) + +myPromise.then((successMessage) => { + console.log(successMessage) +}) + +myPromise.catch((error) => { + console.log(error) +} +``` + +The above codes uses what is called a Promise. A promise promises it will eventually complete. +The function given you a promise always has 2 parameters, a `resolve` function and a `reject` function. +If the promise is successful, it will call the `resolve` function, otherwise it will call the `reject` function. +The above code uses a `setTimeout`, which calls the given function after the set amount of milliseconds, 1000 in this case. +You can then tell the promise what it should do when it succeeds with `.then(function)` or when it fails with `.catch(function)` + +The `.then` and `.catch` function can also be chained together with the promise to simplify the code. + +```js +const myPromise = new Promise((resolve, reject) => { + setTimeout( () => { + resolve("Success!") // Yay! Everything went well! + }, 1000) +}).then((successMessage) => { + console.log(successMessage) +}).catch((error) => { + console.log(error) +}) +``` + +### Loop over an object + +The `for of` loop described in the [loops](#loops) chapter can also be used to loop over an object. + +If we have the following object: + +```js +const obj = { + a: 1, + b: 2, + c: 3 +} +``` + +The following will loop over all the values of the object. + +```js +for (const value of Object.values(obj)) { + console.log(value) +} +``` + +```txt +1 +2 +3 +``` + +This will loop over all the keys of the object. + +```js +for (const key of Object.keys(obj)) { + console.log(key) +} +``` + +```txt +a +b +c +``` + +You can also loop over the keys and values at the same time. You will have to destructure the variables first, explained [here.](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment) + +```js +for (const [key, value] of Object.entries(obj)) { + console.log(key + ', ' + value); +} +``` + +```txt +a, 1 +b, 2 +c, 3 +``` + +These loops are possible because `Object.values(obj)` and `Object.keys(obj)` both return an array of the objects values and keys respectively. +`Object.entries(obj)` returns an array where each item is an array with 2 items: a key and its corresponding value. +It's important to know that, unlike the `Object.values()` and `Object.keys()` functions, the `Object.entries()` function does not guarantee that the order is the same as the order when the object was defined. + +There is also a `for in` loop. However, you will most often want to use `for of` instead of `for in` because there are key differences. +The `for in` loop loops over the keys of an object instead of the values. (The index in case it is an array) +However, it doesn't loop only over its own keys, but also keys from other object it 'inherits' from, which can be confusing or unwanted. More on this [here.](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in) +In general, you'll want to use `for of` instead of `for in` so make sure you don't confuse the two. + +### Creating an event from chat + +You can create your own event from chat using [`bot.chatAddPattern()`](http://mineflayer.prismarine.js.org/#/api?id=botchataddpatternpattern-chattype-description) method. Useful for Bukkit servers where the chat format changes a lot. +[`bot.chatAddPattern()`](http://mineflayer.prismarine.js.org/#/api?id=botchataddpatternpattern-chattype-description) method takes three arguments : + +- `pattern` - regular expression (regex) to match chat +- `chatType` - the event the bot emits when the pattern matches. e.g. "chat" or "whisper" +- `description` - Optional, describes what the pattern is for + +You can add [Groups and Range](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Groups_and_Ranges) into the `pattern`, then the listener will spread the captured groups into arguments of your callback sequentially. + +Read more about [regular expression](https://en.wikipedia.org/wiki/Regular_expression). + +Examples : + +#### Answer Hello Bot + +Here we're creating a bot that answer 'hello' from the other player. + +```js +bot.chatAddPattern( + /(helo|hello|Hello)/, + 'hello', + 'Someone says hello' +) + +const hi = () => { + bot.chat('Hi!') +} + +bot.on('hello', hi) +``` + +#### Custom chat + +Creating an event based on custom chat format. +Custom chat example: + +```txt +[Player] Player1 > Hello +[Admin] Alex > Hi +[Player] Player2 > Help me, im stuck +[Mod] Jim > On my way +``` + +```js +bot.chatAddPattern( + /^\[(.+)\] (\S+) > (.+)$/, + 'my_chat_event', + 'Custom chat event' +) + +const logger = (rank, username, message) => { + console.log(`${username} said ${message}`) +} + +bot.on('my_chat_event', logger) +``` + +Explanation on the regex `^\[(.+)\] (\S+) > (.+)$` can be found [here](https://regex101.com/r/VDUrDC/2). + +## FAQ + +### How to run a bot on android + +Here is a quick setup for running a bot on an android device using [Termux](https://termux.com/). + +#### Install Termux + +Install [Termux](https://termux.com/) and start it. + +#### Setup + +Install `Node.js`: + +```bash +pkg update -y +pkg install nodejs -y +``` + +❗️ Allow Storage permission for Termux on app settings. +Create new folder on internal storage : + +```bash +cd /sdcard +mkdir my_scripts +cd my_scripts +``` + +Install `mineflayer`: + +```bash +npm install mineflayer +``` + +Now you can copy / store all of your scripts into `my_scripts` folder inside Internal Storage. + +#### Start your bot + +To start the bot, run Node with the name of your script. + +```bash +node script_name.js +``` + +❗️ For each time opening Termux you must change the cwd into `/sdcard/my_scripts`, before starting the bot: + +```bash +cd /sdcard/my_scripts +``` diff --git a/node_modules/mineflayer/docs/unstable_api.md b/node_modules/mineflayer/docs/unstable_api.md new file mode 100644 index 00000000..903dcf94 --- /dev/null +++ b/node_modules/mineflayer/docs/unstable_api.md @@ -0,0 +1,18 @@ + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [unstable API : bot._](#unstable-api--bot_) + - [bot._client](#bot_client) + + + +# unstable API : bot._ + +These methods and classes are useful in some special cases but are not stable and can change at any moment. + +## bot._client + +`bot._client` is created using [node-minecraft-protocol](https://github.com/PrismarineJS/node-minecraft-protocol). +It handles writing and reading packet. +Its behaviour can change (for example at each new minecraft version) so it's better to use mineflayer methods if possible. \ No newline at end of file diff --git a/node_modules/mineflayer/docs/unstable_api_ru.md b/node_modules/mineflayer/docs/unstable_api_ru.md new file mode 100644 index 00000000..e198f569 --- /dev/null +++ b/node_modules/mineflayer/docs/unstable_api_ru.md @@ -0,0 +1,23 @@ + + +**Содержание** *сгенерировано с помощью [DocToc](https://github.com/thlorenz/doctoc)* + +Данный перевод был сделан добровольно, и не имеет прямого отношения к разработчикам Mineflayer. +Иногда данный перевод может быть неактуален, так как Mineflayer не стоит на месте и постоянно обновляется. +Чтобы посмотреть актуальную информацию, Вы можете посмотреть оригинальную документацию [нестабильного API](unstable_api.md). + +- [нестабильное API : bot._](#unstable-api--bot_) + - [bot._client](#bot_client) + + + +# unstable API : bot._ + +Эти методы и классы могут быть полезны в особых случаях, но являются нестабильными и могут изменятся в любой момент. + +## bot._client + +`bot._client` создан при помощи [node-minecraft-protocol](https://github.com/PrismarineJS/node-minecraft-protocol). +Он обрабатывает запись и чтение пакетов. +Работа данного метода постоянно меняется, так как версии Minecraft постоянно обновляются. +Рекомендуем использовать стандартные методы Mineflayer, если это возможно diff --git a/node_modules/mineflayer/examples/ansi.js b/node_modules/mineflayer/examples/ansi.js new file mode 100644 index 00000000..cfff945e --- /dev/null +++ b/node_modules/mineflayer/examples/ansi.js @@ -0,0 +1,22 @@ +/* + * + * A simple bot that logs everything that is said to the console. + * + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node ansi.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'ansi', + password: process.argv[5] +}) + +bot.on('message', (message) => { + console.log(message.toAnsi()) +}) diff --git a/node_modules/mineflayer/examples/anvil_saver/package.json b/node_modules/mineflayer/examples/anvil_saver/package.json new file mode 100644 index 00000000..a91391c0 --- /dev/null +++ b/node_modules/mineflayer/examples/anvil_saver/package.json @@ -0,0 +1,9 @@ +{ + "name": "mineflayer-example", + "version": "0.0.0", + "private": true, + "dependencies": { + "prismarine-provider-anvil": "^2.3.0" + }, + "description": "A mineflayer example" +} diff --git a/node_modules/mineflayer/examples/anvil_saver/saver.js b/node_modules/mineflayer/examples/anvil_saver/saver.js new file mode 100644 index 00000000..775e8428 --- /dev/null +++ b/node_modules/mineflayer/examples/anvil_saver/saver.js @@ -0,0 +1,31 @@ +/* + * This example demonstrates how to save a world with mineflayer and + * https://github.com/PrismarineJS/prismarine-provider-anvil + */ + +const mineflayer = require('mineflayer') +const fs = require('fs') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node saver.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'saver', + password: process.argv[5], + storageBuilder: ({ version, worldName }) => { + const Anvil = require('prismarine-provider-anvil').Anvil(version) + worldName = worldName.replace(/:/g, '_') + fs.mkdirSync(worldName) + return new Anvil(worldName) + } +}) + +bot.on('spawn', () => { + bot.waitForChunksToLoad(() => { + console.log('World saved!') + }) +}) diff --git a/node_modules/mineflayer/examples/armor_stand.js b/node_modules/mineflayer/examples/armor_stand.js new file mode 100644 index 00000000..2723ce99 --- /dev/null +++ b/node_modules/mineflayer/examples/armor_stand.js @@ -0,0 +1,61 @@ +/* + * This script will automaticly set if a totem is in the inventory the totem in the off-hand. + * It checks for a totem every tick. + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node armor_stand.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'armorStand', + password: process.argv[5] +}) + +bot.on('chat', async (username, message) => { + const args = message.split(' ') + if (args[0] !== 'equip' && args[0] !== 'unequip') return + + const armorStand = bot.nearestEntity(e => e.mobType === 'Armor Stand' && bot.entity.position.distanceTo(e.position) < 4) + if (!armorStand) { + bot.chat('No armor stands nearby!') + return + } + + if (args[0] === 'equip') { + let armor + + if (args[1] === 'helmet') { + armor = bot.inventory.items().find(item => item.name.includes('helmet')) + } else if (args[1] === 'chestplate') { + armor = bot.inventory.items().find(item => item.name.includes('chestplate')) + } else if (args[1] === 'leggings') { + armor = bot.inventory.items().find(item => item.name.includes('leggings')) + } else if (args[1] === 'boots') { + armor = bot.inventory.items().find(item => item.name.includes('boots')) + } + + if (!armor) { + bot.chat('I have no armor items in my inventory!') + return + } + + await bot.equip(armor, 'hand') + bot.activateEntityAt(armorStand, armorStand.position) + } else if (args[0] === 'unequip') { + await bot.unequip('hand') + if (args[1] === 'helmet') { + bot.activateEntityAt(armorStand, armorStand.position.offset(0, 1.8, 0)) + } else if (args[1] === 'chestplate') { + bot.activateEntityAt(armorStand, armorStand.position.offset(0, 1.2, 0)) + } else if (args[1] === 'leggings') { + bot.activateEntityAt(armorStand, armorStand.position.offset(0, 0.75, 0)) + } else if (args[1] === 'boots') { + bot.activateEntityAt(armorStand, armorStand.position.offset(0, 0.1, 0)) + } + } +}) diff --git a/node_modules/mineflayer/examples/auto-eat.js b/node_modules/mineflayer/examples/auto-eat.js new file mode 100644 index 00000000..e831055f --- /dev/null +++ b/node_modules/mineflayer/examples/auto-eat.js @@ -0,0 +1,35 @@ +const mineflayer = require('mineflayer') +const autoeat = require('mineflayer-auto-eat') + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: process.argv[3], + username: process.argv[4], + password: process.argv[5] +}) + +// Load the plugin +bot.loadPlugin(autoeat) + +bot.once('spawn', () => { + bot.autoEat.options = { + priority: 'foodPoints', + startAt: 14, + bannedFood: [] + } +}) +// The bot eats food automatically and emits these events when it starts eating and stops eating. + +bot.on('autoeat_started', () => { + console.log('Auto Eat started!') +}) + +bot.on('autoeat_stopped', () => { + console.log('Auto Eat stopped!') +}) + +bot.on('health', () => { + if (bot.food === 20) bot.autoEat.disable() + // Disable the plugin if the bot is at 20 food points + else bot.autoEat.enable() // Else enable the plugin again +}) diff --git a/node_modules/mineflayer/examples/auto_totem.js b/node_modules/mineflayer/examples/auto_totem.js new file mode 100644 index 00000000..7633507a --- /dev/null +++ b/node_modules/mineflayer/examples/auto_totem.js @@ -0,0 +1,30 @@ +/* + * This script will automatically set if a totem is in the inventory or the off-hand. + * It checks for a totem every tick. + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node auto_totem.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'totem', + password: process.argv[5] +}) + +bot.on('spawn', () => { + const mcData = require('minecraft-data')(bot.version) // You will know the version when the bot has spawned + const totemId = mcData.itemsByName.totem_of_undying.id // Get the correct id + if (mcData.itemsByName.totem_of_undying) { + setInterval(() => { + const totem = bot.inventory.findInventoryItem(totemId, null) + if (totem) { + bot.equip(totem, 'off-hand') + } + }, 50) + } +}) diff --git a/node_modules/mineflayer/examples/bee.js b/node_modules/mineflayer/examples/bee.js new file mode 100644 index 00000000..7b00777d --- /dev/null +++ b/node_modules/mineflayer/examples/bee.js @@ -0,0 +1,38 @@ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node bee.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'bee', + password: process.argv[5], + verbose: true +}) + +// /gamemode creative bee + +async function loop (n) { + for (let i = 0; i <= n; i++) { + const { position } = bot.entity + await bot.creative.flyTo(position.offset(Math.sin(i) * 2, 0.5, Math.cos(i) * 2)) + } + bot.chat('My flight was amazing !') +} + +bot.on('chat', async (username, message) => { + if (username === bot.username) return + switch (message) { + case 'loaded': + await bot.waitForChunksToLoad() + bot.chat('Ready!') + break + case 'fly': + bot.creative.startFlying() + loop(10) + break + } +}) diff --git a/node_modules/mineflayer/examples/block_entity.js b/node_modules/mineflayer/examples/block_entity.js new file mode 100644 index 00000000..d9f88172 --- /dev/null +++ b/node_modules/mineflayer/examples/block_entity.js @@ -0,0 +1,49 @@ +/* + * This example demonstrates how easy it is to create a bot + * that fetches monster spawners mob type + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node block_entity.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'block_entity', + password: process.argv[5] +}) + +let mcData +bot.on('inject_allowed', () => { + mcData = require('minecraft-data')(bot.version) +}) + +bot.on('message', (cm) => { + if (cm.toString().includes('spawner')) { + spawner() + } +}) + +function spawner () { + let blockName + if (bot.supportFeature('mobSpawner')) { + blockName = mcData.blocksByName.mob_spawner.id + } else if (bot.supportFeature('spawner')) { + blockName = mcData.blocksByName.spawner.id + } + const block = bot.findBlock({ + matching: blockName, + point: bot.entity.position + }) + + if (!block) { + return bot.chat('Monster spawner not found') + } + + bot.chat(`Entity type: ${block.blockEntity.SpawnData.id}`) + bot.chat(`Delay: ${block.blockEntity.Delay}`) + console.log(block.blockEntity) +} diff --git a/node_modules/mineflayer/examples/blockfinder.js b/node_modules/mineflayer/examples/blockfinder.js new file mode 100644 index 00000000..6faafe57 --- /dev/null +++ b/node_modules/mineflayer/examples/blockfinder.js @@ -0,0 +1,45 @@ +/* + * This simple bot will help you find any block + */ +const mineflayer = require('mineflayer') + +const { performance } = require('perf_hooks') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node blockfinder.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'finder', + password: process.argv[5] +}) + +bot.on('chat', async (username, message) => { + if (username === bot.username) return + + const mcData = require('minecraft-data')(bot.version) + + if (message === 'loaded') { + console.log(bot.entity.position) + await bot.waitForChunksToLoad() + bot.chat('Ready!') + } + + if (message.startsWith('find')) { + const name = message.split(' ')[1] + if (mcData.blocksByName[name] === undefined) { + bot.chat(`${name} is not a block name`) + return + } + const ids = [mcData.blocksByName[name].id] + + const startTime = performance.now() + const blocks = bot.findBlocks({ matching: ids, maxDistance: 128, count: 10 }) + const time = (performance.now() - startTime).toFixed(2) + + bot.chat(`I found ${blocks.length} ${name} blocks in ${time} ms`) + } +}) diff --git a/node_modules/mineflayer/examples/book.js b/node_modules/mineflayer/examples/book.js new file mode 100644 index 00000000..a703e5a2 --- /dev/null +++ b/node_modules/mineflayer/examples/book.js @@ -0,0 +1,60 @@ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node book.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'book', + password: process.argv[5] +}) + +const pages = [ + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', + 'Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.', + 'Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.' +].map(page => page + .split(' ') + .map((word, i) => `§${(i % 13 + 1).toString(16)}${i % 2 ? '§l' : ''}${word}`) + .join(' ')) + +bot.once('login', () => console.log('logged in')) + +bot.on('chat', (username, message) => { + if (username === bot.username) return + switch (message) { + case 'print': + print() + break + case 'write': + write() + break + case 'toss': + toss() + break + } +}) + +function toss () { + const [book] = bot.inventory.items().filter(({ name }) => name === 'writable_book') + bot.tossStack(book) +} + +async function write () { + const [book] = bot.inventory.items().filter(({ name }) => name === 'writable_book') + if (!book) { + bot.chat("I don't have a book.") + return + } + await bot.writeBook(book.slot, pages) + print() +} + +function print () { + const [book] = bot.inventory.items().filter(({ name }) => name === 'writable_book') + book.nbt.value.pages.value.value.forEach((page, i) => bot.chat(`Page ${i + 1}: ${page.replace(/§[a-z0-9]/g, '')}`)) +} diff --git a/node_modules/mineflayer/examples/chatAddPattern.js b/node_modules/mineflayer/examples/chatAddPattern.js new file mode 100644 index 00000000..9771a72b --- /dev/null +++ b/node_modules/mineflayer/examples/chatAddPattern.js @@ -0,0 +1,72 @@ +/* + * How to add chat patterns to support your own server + * + * Adding more chat patterns is really simple. + * + * Use the Vanilla Launcher with visibility set to keep the Launcher open + * so you can see the raw messages. + * + * Copy the raw message into regexr.com or otherwise write a regex statement + * to match the username and the message. + * + * Add pattern, chat type, and an optional description with bot.chatAddPattern() + * + * Below you can see an example for the skyblock.net server + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node chatAddPattern.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'chatAddPattern', + password: process.argv[5] +}) + +/* + * Add chat patterns after creating the bot like so. + * NOTE: adding patterns does NOT overwrite previous patterns, + * so if you want to use your bot in multiple servers it is safe to add + * multiple "whisper" and "chat" patterns in the same bot. + */ +bot.chatAddPattern(/^(?:\[[^\]]*\] )?([^ :]*) ?: (.*)$/, 'chat', 'Skyblock.net chat') +bot.chatAddPattern(/^\[ ?([^ ]*) -> me ?] (.*)$/, 'whisper', 'Skyblock.net whisper') + +/* + * The chat event returns username as the first regex match and message as the second match + * type argument is only used for server event messages like player joining, player disconnected, etc. + * rawMessage is the JSON object (vanillia) or the raw string (spigot/bukkit/other) the server sent. + * matches is the regex.matches object containing all matches + */ +bot.on('chat', (username, message, type, rawMessage, matches) => { + if (username === bot.username) return + console.log('Chat received!') + console.log(`Username: ${username}`) + console.log(`Message: ${message}`) + + /* + * Using the matches object, you could get the same output using + * console.log("Username: " + matches[1]); and + * console.log("Message: " + matches[2]); + */ +}) + +/* + * ADVANCED USEAGE - creating your own events! + * It is also possible to set up custom events using the chat handler. For instance: + */ +bot.chatAddPattern(/^\s?It is \[-\] ([^\s]+) first visit[^!]*!$/, 'welcome', 'Welcome message') + +/* + * This pattern will trigger a bot.on('welcome') event, with the same peramiters as described above. + * This is very useful for making a bot respond to eg Auction plugin messages directly. + * In this instance, chat messages matching this pattern would be handled like so + */ +bot.on('welcome', (username, message, type, rawMessage, matches) => { + if (username === bot.username) return + console.log(`Welcome ${username}to the server!`) +}) diff --git a/node_modules/mineflayer/examples/chatterbox.js b/node_modules/mineflayer/examples/chatterbox.js new file mode 100644 index 00000000..b476d6da --- /dev/null +++ b/node_modules/mineflayer/examples/chatterbox.js @@ -0,0 +1,234 @@ +/* + * This example demonstrates how easy it is to create a bot + * that sends chat messages whenever something interesting happens + * on the server you are connected to. + * + * Below you can find a wide range of different events you can watch + * but remember to check out the API documentation to find even more! + * + * Some events may be commented out because they are very frequent and + * may flood the chat, feel free to check them out for other purposes though. + * + * This bot also replies to some specific chat messages so you can ask him + * a few informations while you are in game. + */ +const mineflayer = require('mineflayer') +const Vec3 = require('vec3').Vec3 + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node chatterbot.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'chatterbox', + password: process.argv[5] +}) + +bot.on('chat', (username, message) => { + if (username === bot.username) return + const result = /canSee (-?[0-9]+),(-?[0-9]+),(-?[0-9]+)/.exec(message) + if (result) { + canSee(new Vec3(result[1], result[2], result[3])) + return + } + switch (message) { + case 'pos': + sayPosition(username) + break + case 'wearing': + sayEquipment() + break + case 'nick': + sayNick() + break + case 'spawn': + saySpawnPoint() + break + case 'block': + sayBlockUnder(username) + break + case 'quit': + quit(username) + break + default: + bot.chat("That's nice") + } + + function canSee (pos) { + const block = bot.blockAt(pos) + const r = bot.canSeeBlock(block) + if (r) { + bot.chat(`I can see the block of ${block.displayName} at ${pos}`) + } else { + bot.chat(`I cannot see the block of ${block.displayName} at ${pos}`) + } + } + + function sayPosition (username) { + bot.chat(`I am at ${bot.entity.position}`) + bot.chat(`You are at ${bot.players[username].entity.position}`) + } + + function sayEquipment () { + const eq = bot.players[username].entity.equipment + const eqText = [] + if (eq[0]) eqText.push(`holding a ${eq[0].displayName}`) + if (eq[1]) eqText.push(`wearing a ${eq[1].displayName} on your feet`) + if (eq[2]) eqText.push(`wearing a ${eq[2].displayName} on your legs`) + if (eq[3]) eqText.push(`wearing a ${eq[3].displayName} on your torso`) + if (eq[4]) eqText.push(`wearing a ${eq[4].displayName} on your head`) + if (eqText.length) { + bot.chat(`You are ${eqText.join(', ')}.`) + } else { + bot.chat('You are naked!') + } + } + + function saySpawnPoint () { + bot.chat(`Spawn is at ${bot.spawnPoint}`) + } + + function sayBlockUnder () { + const block = bot.blockAt(bot.players[username].entity.position.offset(0, -1, 0)) + bot.chat(`Block under you is ${block.displayName} in the ${block.biome.name} biome`) + console.log(block) + } + + function quit (username) { + bot.quit(`${username} told me to`) + } + + function sayNick () { + bot.chat(`My name is ${bot.player.displayName}`) + } +}) + +bot.on('whisper', (username, message, rawMessage) => { + console.log(`I received a message from ${username}: ${message}`) + bot.whisper(username, 'I can tell secrets too.') +}) +bot.on('nonSpokenChat', (message) => { + console.log(`Non spoken chat: ${message}`) +}) + +bot.on('login', () => { + bot.chat('Hi everyone!') +}) +bot.on('spawn', () => { + bot.chat('I spawned, watch out!') +}) +bot.on('spawnReset', (message) => { + bot.chat('Oh noez! My bed is broken.') +}) +bot.on('forcedMove', () => { + bot.chat(`I have been forced to move to ${bot.entity.position}`) +}) +bot.on('health', () => { + bot.chat(`I have ${bot.health} health and ${bot.food} food`) +}) +bot.on('death', () => { + bot.chat('I died x.x') +}) +bot.on('kicked', (reason) => { + console.log(`I got kicked for ${reason}`) +}) + +bot.on('time', () => { + bot.chat('Current time: ' + bot.time.timeOfDay) +}) +bot.on('rain', () => { + if (bot.isRaining) { + bot.chat('It started raining.') + } else { + bot.chat('It stopped raining.') + } +}) +bot.on('noteHeard', (block, instrument, pitch) => { + bot.chat(`Music for my ears! I just heard a ${instrument.name}`) +}) +bot.on('chestLidMove', (block, isOpen) => { + const action = isOpen ? 'open' : 'close' + bot.chat(`Hey, did someone just ${action} a chest?`) +}) +bot.on('pistonMove', (block, isPulling, direction) => { + const action = isPulling ? 'pulling' : 'pushing' + bot.chat(`A piston is ${action} near me, i can hear it.`) +}) + +bot.on('playerJoined', (player) => { + if (player.username !== bot.username) { + bot.chat(`Hello, ${player.username}! Welcome to the server.`) + } +}) +bot.on('playerLeft', (player) => { + if (player.username === bot.username) return + bot.chat(`Bye ${player.username}`) +}) +bot.on('playerCollect', (collector, collected) => { + if (collector.type === 'player' && collected.type === 'object') { + const rawItem = collected.metadata[10] + const item = mineflayer.Item.fromNotch(rawItem) + bot.chat(`${collector.username !== bot.username ? ("I'm so jealous. " + collector.username) : 'I '} collected ${item.count} ${item.displayName}`) + } +}) + +bot.on('entitySpawn', (entity) => { + if (entity.type === 'mob') { + console.log(`Look out! A ${entity.mobType} spawned at ${entity.position}`) + } else if (entity.type === 'player') { + bot.chat(`Look who decided to show up: ${entity.username}`) + } else if (entity.type === 'object') { + console.log(`There's a ${entity.objectType} at ${entity.position}`) + } else if (entity.type === 'global') { + bot.chat('Ooh lightning!') + } else if (entity.type === 'orb') { + bot.chat('Gimme dat exp orb!') + } +}) +bot.on('entityHurt', (entity) => { + if (entity.type === 'mob') { + bot.chat(`Haha! The ${entity.mobType} got hurt!`) + } else if (entity.type === 'player') { + bot.chat(`Aww, poor ${entity.username} got hurt. Maybe you shouldn't have a ping of ${bot.players[entity.username].ping}`) + } +}) +bot.on('entitySwingArm', (entity) => { + bot.chat(`${entity.username}, I see that your arm is working fine.`) +}) +bot.on('entityCrouch', (entity) => { + bot.chat(`${entity.username}: you so sneaky.`) +}) +bot.on('entityUncrouch', (entity) => { + bot.chat(`${entity.username}: welcome back from the land of hunchbacks.`) +}) +bot.on('entitySleep', (entity) => { + bot.chat(`Good night, ${entity.username}`) +}) +bot.on('entityWake', (entity) => { + bot.chat(`Top of the morning, ${entity.username}`) +}) +bot.on('entityEat', (entity) => { + bot.chat(`${entity.username}: OM NOM NOM NOMONOM. That's what you sound like.`) +}) +bot.on('entityAttach', (entity, vehicle) => { + if (entity.type === 'player' && vehicle.type === 'object') { + bot.chat(`Sweet, ${entity.username} is riding that ${vehicle.objectType}`) + } +}) +bot.on('entityDetach', (entity, vehicle) => { + if (entity.type === 'player' && vehicle.type === 'object') { + bot.chat(`Lame, ${entity.username} stopped riding the ${vehicle.objectType}`) + } +}) +bot.on('entityEquipmentChange', (entity) => { + console.log('entityEquipmentChange', entity) +}) +bot.on('entityEffect', (entity, effect) => { + console.log('entityEffect', entity, effect) +}) +bot.on('entityEffectEnd', (entity, effect) => { + console.log('entityEffectEnd', entity, effect) +}) diff --git a/node_modules/mineflayer/examples/chest.js b/node_modules/mineflayer/examples/chest.js new file mode 100644 index 00000000..eef22f26 --- /dev/null +++ b/node_modules/mineflayer/examples/chest.js @@ -0,0 +1,488 @@ +/* + * Watch out, this is a big one! + * + * This is a demonstration to show you how you can interact with: + * - Chests + * - Furnaces + * - Dispensers + * - Enchantment Tables + * + * and of course with your own inventory. + * + * Each of the main commands makes the bot interact with the block and open + * its window. From there you can send another set of commands to actually + * interact with the window and make awesome stuff. + * + * There's also a bonus example which shows you how to use the /invsee command + * to see what items another user has in his inventory and what items he has + * equipped. + * This last one is usually reserved to Server Ops so make sure you have the + * appropriate permission to do it or it won't work. + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node chest.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'chest', + password: process.argv[5] +}) + +let mcData +bot.once('inject_allowed', () => { + mcData = require('minecraft-data')(bot.version) +}) + +bot.on('experience', () => { + bot.chat(`I am level ${bot.experience.level}`) +}) + +bot.on('chat', (username, message) => { + if (username === bot.username) return + switch (true) { + case /^list$/.test(message): + sayItems() + break + case /^chest$/.test(message): + watchChest() + break + case /^furnace$/.test(message): + watchFurnace() + break + case /^dispenser$/.test(message): + watchDispenser() + break + case /^enchant$/.test(message): + watchEnchantmentTable() + break + case /^chestminecart$/.test(message): + watchChest(true) + break + case /^invsee \w+( \d)?$/.test(message): { + // invsee Herobrine [or] + // invsee Herobrine 1 + const command = message.split(' ') + useInvsee(command[0], command[1]) + break + } + } +}) + +function sayItems (items = bot.inventory.items()) { + const output = items.map(itemToString).join(', ') + if (output) { + bot.chat(output) + } else { + bot.chat('empty') + } +} + +function watchChest (minecart) { + let chestToOpen + if (minecart) { + chestToOpen = Object.keys(bot.entities) + .map(id => bot.entities[id]).find(e => e.entityType === mcData.entitiesByName.chest_minecart && + e.objectData.intField === 1 && + bot.entity.position.distanceTo(e.position) < 3) + if (!chestToOpen) { + bot.chat('no chest minecart found') + return + } + } else { + chestToOpen = bot.findBlock({ + matching: ['chest', 'ender_chest', 'trapped_chest'].map(name => mcData.blocksByName[name].id), + maxDistance: 6 + }) + if (!chestToOpen) { + bot.chat('no chest found') + return + } + } + const chest = bot.openChest(chestToOpen) + chest.on('open', () => { + sayItems(chest.items()) + }) + chest.on('updateSlot', (oldItem, newItem) => { + bot.chat(`chest update: ${itemToString(oldItem)} -> ${itemToString(newItem)}`) + }) + chest.on('close', () => { + bot.chat('chest closed') + }) + + bot.on('chat', onChat) + + function onChat (username, message) { + if (username === bot.username) return + const command = message.split(' ') + switch (true) { + case /^close$/.test(message): + closeChest() + break + case /^withdraw \d+ \w+$/.test(message): + // withdraw amount name + // ex: withdraw 16 stick + withdrawItem(command[2], command[1]) + break + case /^deposit \d+ \w+$/.test(message): + // deposit amount name + // ex: deposit 16 stick + depositItem(command[2], command[1]) + break + } + } + + function closeChest () { + chest.close() + bot.removeListener('chat', onChat) + } + + async function withdrawItem (name, amount) { + const item = itemByName(chest.items(), name) + if (item) { + try { + await chest.withdraw(item.type, null, amount) + bot.chat(`withdrew ${amount} ${item.name}`) + } catch (err) { + bot.chat(`unable to withdraw ${amount} ${item.name}`) + } + } else { + bot.chat(`unknown item ${name}`) + } + } + + async function depositItem (name, amount) { + const item = itemByName(bot.inventory.items(), name) + if (item) { + try { + await chest.deposit(item.type, null, amount) + bot.chat(`deposited ${amount} ${item.name}`) + } catch (err) { + bot.chat(`unable to deposit ${amount} ${item.name}`) + } + } else { + bot.chat(`unknown item ${name}`) + } + } +} + +function watchFurnace () { + const furnaceBlock = bot.findBlock({ + matching: ['furnace', 'lit_furnace'].filter(name => mcData.blocksByName[name] !== undefined).map(name => mcData.blocksByName[name].id), + maxDistance: 6 + }) + if (!furnaceBlock) { + bot.chat('no furnace found') + return + } + const furnace = bot.openFurnace(furnaceBlock) + furnace.on('open', () => { + let output = '' + output += `input: ${itemToString(furnace.inputItem())}, ` + output += `fuel: ${itemToString(furnace.fuelItem())}, ` + output += `output: ${itemToString(furnace.outputItem())}` + bot.chat(output) + }) + furnace.on('updateSlot', (oldItem, newItem) => { + bot.chat(`furnace update: ${itemToString(oldItem)} -> ${itemToString(newItem)}`) + }) + furnace.on('close', () => { + bot.chat('furnace closed') + }) + furnace.on('update', () => { + console.log(`fuel: ${Math.round(furnace.fuel * 100)}% progress: ${Math.round(furnace.progress * 100)}%`) + }) + + bot.on('chat', onChat) + + function onChat (username, message) { + if (username === bot.username) return + const command = message.split(' ') + switch (true) { + case /^close$/.test(message): + closeFurnace() + break + case /^(input|fuel) \d+ \w+$/.test(message): + // input amount name + // ex: input 32 coal + putInFurnace(command[0], command[2], command[1]) + break + case /^take (input|fuel|output)$/.test(message): + // take what + // ex: take output + takeFromFurnace(command[0]) + break + } + + function closeFurnace () { + furnace.close() + bot.removeListener('chat', onChat) + } + + function putInFurnace (where, name, amount) { + const item = itemByName(bot.inventory.items(), name) + if (item) { + const fn = { + input: furnace.putInput, + fuel: furnace.putFuel + }[where] + fn.call(furnace, item.type, null, amount, (err) => { + if (err) { + bot.chat(`unable to put ${amount} ${item.name}`) + } else { + bot.chat(`put ${amount} ${item.name}`) + } + }) + } else { + bot.chat(`unknown item ${name}`) + } + } + + function takeFromFurnace (what) { + const fn = { + input: furnace.takeInput, + fuel: furnace.takeFuel, + output: furnace.takeOutput + }[what] + fn.call(furnace, (err, item) => { + if (err) { + bot.chat(`unable to take ${item.name}`) + } else { + bot.chat(`took ${item.name}`) + } + }) + } + } +} + +function watchDispenser () { + const dispenserBlock = bot.findBlock({ + matching: ['dispenser'].map(name => mcData.blocksByName[name].id), + maxDistance: 6 + }) + if (!dispenserBlock) { + bot.chat('no dispenser found') + return + } + const dispenser = bot.openDispenser(dispenserBlock) + dispenser.on('open', () => { + sayItems(dispenser.items()) + }) + dispenser.on('updateSlot', (oldItem, newItem) => { + bot.chat(`dispenser update: ${itemToString(oldItem)} -> ${itemToString(newItem)}`) + }) + dispenser.on('close', () => { + bot.chat('dispenser closed') + }) + + bot.on('chat', onChat) + + function onChat (username, message) { + if (username === bot.username) return + const command = message.split(' ') + switch (true) { + case /^close$/.test(message): + closeDispenser() + break + case /^withdraw \d+ \w+$/.test(message): + // withdraw amount name + // ex: withdraw 16 stick + withdrawItem(command[2], command[1]) + break + case /^deposit \d+ \w+$/.test(message): + // deposit amount name + // ex: deposit 16 stick + depositItem(command[2], command[1]) + break + } + } + + function closeDispenser () { + dispenser.close() + bot.removeListener('chat', onChat) + } + + async function withdrawItem (name, amount) { + const item = itemByName(dispenser.items(), name) + if (item) { + try { + await dispenser.withdraw(item.type, null, amount) + bot.chat(`withdrew ${amount} ${item.name}`) + } catch (err) { + bot.chat(`unable to withdraw ${amount} ${item.name}`) + } + } else { + bot.chat(`unknown item ${name}`) + } + } + + async function depositItem (name, amount) { + const item = itemByName(bot.inventory.items(), name) + if (item) { + try { + await dispenser.deposit(item.type, null, amount) + bot.chat(`deposited ${amount} ${item.name}`) + } catch (err) { + bot.chat(`unable to deposit ${amount} ${item.name}`) + } + } else { + bot.chat(`unknown item ${name}`) + } + } +} + +function watchEnchantmentTable () { + const enchantTableBlock = bot.findBlock({ + matching: ['enchanting_table'].map(name => mcData.blocksByName[name].id), + maxDistance: 6 + }) + if (!enchantTableBlock) { + bot.chat('no enchantment table found') + return + } + const table = bot.openEnchantmentTable(enchantTableBlock) + table.on('open', () => { + bot.chat(itemToString(table.targetItem())) + }) + table.on('updateSlot', (oldItem, newItem) => { + bot.chat(`enchantment table update: ${itemToString(oldItem)} -> ${itemToString(newItem)}`) + }) + table.on('close', () => { + bot.chat('enchantment table closed') + }) + table.on('ready', () => { + bot.chat(`ready to enchant. choices are ${table.enchantments.map(o => o.level).join(', ')}`) + }) + + bot.on('chat', onChat) + + function onChat (username, message) { + if (username === bot.username) return + const command = message.split(' ') + switch (true) { + case /^close$/.test(message): + closeEnchantmentTable() + break + case /^put \w+$/.test(message): + // put name + // ex: put diamondsword + putItem(command[1]) + break + case /^add lapis$/.test(message): + addLapis() + break + case /^enchant \d+$/.test(message): + // enchant choice + // ex: enchant 2 + enchantItem(command[1]) + break + case /^take$/.test(message): + takeEnchantedItem() + break + } + + function closeEnchantmentTable () { + table.close() + } + + async function putItem (name) { + const item = itemByName(table.window.items(), name) + if (item) { + try { + await table.putTargetItem(item) + bot.chat(`I put ${itemToString(item)}`) + } catch (err) { + bot.chat(`error putting ${itemToString(item)}`) + } + } else { + bot.chat(`unknown item ${name}`) + } + } + + async function addLapis () { + const item = itemByType(table.window.items(), ['dye', 'purple_dye'].filter(name => mcData.itemByName[name] !== undefined) + .map(name => mcData.itemByName[name].id)) + if (item) { + try { + await table.putLapis(item) + bot.chat(`I put ${itemToString(item)}`) + } catch (err) { + bot.chat(`error putting ${itemToString(item)}`) + } + } else { + bot.chat("I don't have any lapis") + } + } + + async function enchantItem (choice) { + choice = parseInt(choice, 10) + try { + const item = await table.enchant(choice) + bot.chat(`enchanted ${itemToString(item)}`) + } catch (err) { + bot.chat('error enchanting') + } + } + + async function takeEnchantedItem () { + try { + const item = await table.takeTargetItem() + bot.chat(`got ${itemToString(item)}`) + } catch (err) { + bot.chat('error getting item') + } + } + } +} + +function useInvsee (username, showEquipment) { + bot.once('windowOpen', (window) => { + const count = window.containerItems().length + const what = showEquipment ? 'equipment' : 'inventory items' + if (count) { + bot.chat(`${username}'s ${what}:`) + sayItems(window.containerItems()) + } else { + bot.chat(`${username} has no ${what}`) + } + }) + if (showEquipment) { + // any extra parameter triggers the easter egg + // and shows the other player's equipment + bot.chat(`/invsee ${username} 1`) + } else { + bot.chat(`/invsee ${username}`) + } +} + +function itemToString (item) { + if (item) { + return `${item.name} x ${item.count}` + } else { + return '(nothing)' + } +} + +function itemByType (items, type) { + let item + let i + for (i = 0; i < items.length; ++i) { + item = items[i] + if (item && item.type === type) return item + } + return null +} + +function itemByName (items, name) { + let item + let i + for (i = 0; i < items.length; ++i) { + item = items[i] + if (item && item.name === name) return item + } + return null +} diff --git a/node_modules/mineflayer/examples/collectblock.js b/node_modules/mineflayer/examples/collectblock.js new file mode 100644 index 00000000..4cb91f6e --- /dev/null +++ b/node_modules/mineflayer/examples/collectblock.js @@ -0,0 +1,64 @@ +/** + * A quick and easy implementation of the collect block plugin. (Requires mineflayer-pathfinder and mineflayer-collectblock) + */ +const mineflayer = require('mineflayer') +const pathfinder = require('mineflayer-pathfinder').pathfinder +const collectBlock = require('mineflayer-collectblock').plugin + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node collector.js [] []') + process.exit(1) +} + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node collectBlock.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'collector', + password: process.argv[5] +}) + +// Load pathfinder and collect block plugins +bot.loadPlugin(pathfinder) +bot.loadPlugin(collectBlock) + +// Load mc data +let mcData +bot.once('spawn', () => { + mcData = require('minecraft-data')(bot.version) +}) + +// Listen for when a player says "collect [something]" in chat +bot.on('chat', (username, message) => { + const args = message.split(' ') + if (args[0] !== 'collect') return + + // Get the correct block type + const blockType = mcData.blocksByName[args[1]] + if (!blockType) { + bot.chat("I don't know any blocks with that name.") + return + } + + bot.chat('Collecting the nearest ' + blockType.name) + + // Try and find that block type in the world + const block = bot.findBlock({ + matching: blockType.id, + maxDistance: 64 + }) + + if (!block) { + bot.chat("I don't see that block nearby.") + return + } + + // Collect the block if we found one + bot.collectBlock.collect(block, err => { + if (err) bot.chat(err.message) + }) +}) diff --git a/node_modules/mineflayer/examples/command_block.js b/node_modules/mineflayer/examples/command_block.js new file mode 100644 index 00000000..f82b5374 --- /dev/null +++ b/node_modules/mineflayer/examples/command_block.js @@ -0,0 +1,36 @@ +/* + * An example on how to set and read command blocks + */ + +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node command_block.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'command_block', + password: process.argv[5] +}) + +let mcData +bot.once('inject_allowed', () => { + mcData = require('minecraft-data')(bot.version) +}) + +bot.on('chat', (username, message) => { + if (username === bot.username) return + const command = message.split(' ') + switch (true) { + case /^setCommandBlock (.+)$/.test(message): { + const commandBlock = bot.findBlock({ + matching: mcData.blocksByName.command_block.id + }) + bot.setCommandBlock(commandBlock.position, command[1], false) + break + } + } +}) diff --git a/node_modules/mineflayer/examples/digger.js b/node_modules/mineflayer/examples/digger.js new file mode 100644 index 00000000..4acb3fae --- /dev/null +++ b/node_modules/mineflayer/examples/digger.js @@ -0,0 +1,134 @@ +/* + * Never spend hours mining from ground to bedrock again! + * + * Learn how to create a simple bot that is capable of digging the block + * below his feet and then going back up by creating a dirt column to the top. + * + * As always, you can send the bot commands using chat messages, and monitor + * his inventory at any time. + * + * Remember that in survival mode he might not have enough dirt to get back up, + * so be sure to teach him a few more tricks before leaving him alone at night. + */ +const mineflayer = require('mineflayer') +const vec3 = require('vec3') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node digger.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'digger', + password: process.argv[5] +}) + +bot.on('chat', async (username, message) => { + if (username === bot.username) return + switch (message) { + case 'loaded': + await bot.waitForChunksToLoad() + bot.chat('Ready!') + break + case 'list': + sayItems() + break + case 'dig': + dig() + break + case 'build': + build() + break + case 'equip dirt': + equipDirt() + break + } +}) + +function sayItems (items = bot.inventory.items()) { + const output = items.map(itemToString).join(', ') + if (output) { + bot.chat(output) + } else { + bot.chat('empty') + } +} + +function dig () { + let target + if (bot.targetDigBlock) { + bot.chat(`already digging ${bot.targetDigBlock.name}`) + } else { + target = bot.blockAt(bot.entity.position.offset(0, -1, 0)) + if (target && bot.canDigBlock(target)) { + bot.chat(`starting to dig ${target.name}`) + bot.dig(target, onDiggingCompleted) + } else { + bot.chat('cannot dig') + } + } + + function onDiggingCompleted (err) { + if (err) { + console.log(err.stack) + return + } + bot.chat(`finished digging ${target.name}`) + } +} + +function build () { + const referenceBlock = bot.blockAt(bot.entity.position.offset(0, -1, 0)) + const jumpY = Math.floor(bot.entity.position.y) + 1.0 + bot.setControlState('jump', true) + bot.on('move', placeIfHighEnough) + + let tryCount = 0 + + function placeIfHighEnough () { + if (bot.entity.position.y > jumpY) { + bot.placeBlock(referenceBlock, vec3(0, 1, 0), (err) => { + if (err) { + tryCount++ + if (tryCount > 10) { + bot.chat(err.message) + bot.setControlState('jump', false) + bot.removeListener('move', placeIfHighEnough) + return + } + return + } + bot.setControlState('jump', false) + bot.removeListener('move', placeIfHighEnough) + bot.chat('Placing a block was successful') + }) + } + } +} + +function equipDirt () { + const mcData = require('minecraft-data')(bot.version) + let itemsByName + if (bot.supportFeature('itemsAreNotBlocks')) { + itemsByName = 'itemsByName' + } else if (bot.supportFeature('itemsAreAlsoBlocks')) { + itemsByName = 'blocksByName' + } + bot.equip(mcData[itemsByName].dirt.id, 'hand', (err) => { + if (err) { + bot.chat(`unable to equip dirt: ${err.message}`) + } else { + bot.chat('equipped dirt') + } + }) +} + +function itemToString (item) { + if (item) { + return `${item.name} x ${item.count}` + } else { + return '(nothing)' + } +} diff --git a/node_modules/mineflayer/examples/discord.js b/node_modules/mineflayer/examples/discord.js new file mode 100644 index 00000000..97af755d --- /dev/null +++ b/node_modules/mineflayer/examples/discord.js @@ -0,0 +1,57 @@ +/* + * This example is an a very simple way how to connect a discord bot with a mineflayer bot. + * For this example you will need discord.js installed. You can install with: npm install discord.js + * Note that discord.js v12 or newer is required. + * You need to do this before running this example: + * - You need a discord token + * - You need to get the id of the channel you want to use + */ + +if (process.argv.length < 6 || process.argv.length > 8) { + console.log('Usage : node discord.js [] []') + process.exit(1) +} + +// Load discord +const Discord = require('discord.js') +const client = new Discord.Client() +let channel = process.argv[3] + +// Load mineflayer +const mineflayer = require('mineflayer') +const bot = mineflayer.createBot({ + host: process.argv[4], + port: parseInt(process.argv[5]), + username: process.argv[6] || 'discord', + password: process.argv[7] +}) + +client.on('ready', () => { + console.log(`The discord bot logged in! Username: ${client.user.username}!`) + channel = client.channels.cache.get(channel) + if (!channel) { + console.log(`I could not find the channel (${process.argv[3]})!\nUsage : node discord.js [] []`) + process.exit(1) + } +}) + +// Redirect Discord messages to in-game chat +client.on('message', message => { + // Only handle messages in specified channel + if (message.channel.id !== channel.id) return + // Ignore messages from the bot itself + if (message.author.id === client.user.id) return + + bot.chat(`${message.author.username}: ${message.content}`) +}) + +// Redirect in-game messages to Discord channel +bot.on('chat', (username, message) => { + // Ignore messages from the bot itself + if (username === bot.username) return + + channel.send(`${username}: ${message}`) +}) + +// Login Discord bot +client.login(process.argv[2]) diff --git a/node_modules/mineflayer/examples/echo.js b/node_modules/mineflayer/examples/echo.js new file mode 100644 index 00000000..b7bd929b --- /dev/null +++ b/node_modules/mineflayer/examples/echo.js @@ -0,0 +1,26 @@ +/* + * This is one of the simplest examples. + * + * We created a simple bot that echoes back everything that is said on chat. + * + * It's not very useful yet, but you can use this as a starting point + * to create your own bot. + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node echo.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'echo', + password: process.argv[5] +}) + +bot.on('chat', (username, message) => { + if (username === bot.username) return + bot.chat(message) +}) diff --git a/node_modules/mineflayer/examples/farmer.js b/node_modules/mineflayer/examples/farmer.js new file mode 100644 index 00000000..80882e19 --- /dev/null +++ b/node_modules/mineflayer/examples/farmer.js @@ -0,0 +1,72 @@ +const Vec3 = require('vec3') +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node farmer.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'farmer', + password: process.argv[5] +}) + +let mcData +bot.on('inject_allowed', () => { + mcData = require('minecraft-data')(bot.version) +}) + +// To fish we have to give bot the seeds +// /give farmer wheat_seeds 64 + +function blockToSow () { + return bot.findBlock({ + point: bot.entity.position, + matching: (block) => { + if (block && block.type === mcData.blocksByName.farmland.id) { + const blockAbove = bot.blockAt(block.position.offset(0, 1, 0)) + return !blockAbove || blockAbove.type === 0 + } + + return false + } + }) +} + +function blockToHarvest () { + return bot.findBlock({ + point: bot.entity.position, + matching: (block) => { + return block && block.type === mcData.blocksByName.wheat.id && block.metadata === 7 + } + }) +} + +function loop () { + try { + const toHarvest = blockToHarvest() + if (toHarvest) { + return bot.dig(toHarvest, () => { + return setImmediate(loop) + }) + } + + const toSow = blockToSow() + if (toSow) { + return bot.equip(mcData.itemsByName.wheat_seeds.id, 'hand', () => { + bot.placeBlock(toSow, new Vec3(0, 1, 0), () => { + setImmediate(loop) + }) + }) + } + } catch (e) { + console.log(e) + } + + // None blocks to harvest or sow. Postpone next loop a bit + setTimeout(loop, 1000) +} + +bot.once('login', loop) diff --git a/node_modules/mineflayer/examples/fisherman.js b/node_modules/mineflayer/examples/fisherman.js new file mode 100644 index 00000000..c96978f3 --- /dev/null +++ b/node_modules/mineflayer/examples/fisherman.js @@ -0,0 +1,91 @@ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node fisherman.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'fisherman', + password: process.argv[5] +}) + +let mcData +bot.on('inject_allowed', () => { + mcData = require('minecraft-data')(bot.version) +}) + +// To fish we have to give bot the fishing rod and teleport bot to the water +// /give fisherman fishing_rod 1 +// /teleport fisherman ~ ~ ~ + +// To eat we have to apply hunger first +// /effect fisherman minecraft:hunger 1 255 + +bot.on('message', (cm) => { + if (cm.toString().includes('start')) { + startFishing() + } + + if (cm.toString().includes('stop')) { + stopFishing() + } + + if (cm.toString().includes('eat')) { + eat() + } +}) + +let nowFishing = false + +function onCollect (player, entity) { + if (entity.kind === 'Drops' && player === bot.entity) { + bot.removeListener('playerCollect', onCollect) + startFishing() + } +} + +async function startFishing () { + bot.chat('Fishing') + try { + await bot.equip(mcData.itemsByName.fishing_rod.id, 'hand') + } catch (err) { + return bot.chat(err.message) + } + + nowFishing = true + bot.on('playerCollect', onCollect) + + try { + await bot.fish() + } catch (err) { + bot.chat(err.message) + } + nowFishing = false +} + +function stopFishing () { + bot.removeListener('playerCollect', onCollect) + + if (nowFishing) { + bot.activateItem() + } +} + +async function eat () { + stopFishing() + + try { + await bot.equip(mcData.itemsByName.fish.id, 'hand') + } catch (err) { + return bot.chat(err.message) + } + + try { + await bot.consume() + } catch (err) { + return bot.chat(err.message) + } +} diff --git a/node_modules/mineflayer/examples/graffiti.js b/node_modules/mineflayer/examples/graffiti.js new file mode 100644 index 00000000..56c65cca --- /dev/null +++ b/node_modules/mineflayer/examples/graffiti.js @@ -0,0 +1,73 @@ +/* + * What's better than a bot that knows how to read and understands art? + * + * Learn how easy it is to interact with signs and paintings in this example. + * + * You can send commands to this bot using chat messages, the bot will + * reply by telling you the name of the nearest painting or the text written on + * the nearest sign, and you can also update signs with custom messages! + * + * To update a sign simply send a message in this format: write [your message] + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node graffiti.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'graffiti', + password: process.argv[5] +}) + +let mcData +bot.once('inject_allowed', () => { + mcData = require('minecraft-data')(bot.version) +}) + +bot.on('chat', (username, message) => { + if (username === bot.username) return + switch (true) { + case /^watch$/.test(message): + watchPaintingOrSign() + break + case /^write .+$/.test(message): + // write message + // ex: write I love diamonds + updateSign(message) + break + } +}) + +function watchPaintingOrSign () { + const paintingBlock = bot.findBlock({ + matching (block) { + return !!block.painting + } + }) + const signBlock = bot.findBlock({ + matching: ['painting', 'sign'].map(name => mcData.blocksByName[name].id) + }) + if (signBlock) { + bot.chat(`The sign says: ${signBlock.signText}`) + } else if (paintingBlock) { + bot.chat(`The painting is: ${paintingBlock.painting.name}`) + } else { + bot.chat('There are no signs or paintings near me') + } +} + +function updateSign (message) { + const signBlock = bot.findBlock({ + matching: ['painting', 'sign'].map(name => mcData.blocksByName[name].id) + }) + if (signBlock) { + bot.updateSign(signBlock, message.split(' ').slice(1).join(' ')) + bot.chat('Sign updated') + } else { + bot.chat('There are no signs near me') + } +} diff --git a/node_modules/mineflayer/examples/guard.js b/node_modules/mineflayer/examples/guard.js new file mode 100644 index 00000000..ae2a1da0 --- /dev/null +++ b/node_modules/mineflayer/examples/guard.js @@ -0,0 +1,92 @@ +/** + * This bot example shows the basic usage of the mineflayer-pvp plugin for guarding a defined area from nearby mobs. + */ + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node guard.js [] []') + process.exit(1) +} + +const mineflayer = require('mineflayer') +const { pathfinder, Movements, goals } = require('mineflayer-pathfinder') +const pvp = require('mineflayer-pvp').plugin + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'Guard', + password: process.argv[5] +}) + +bot.loadPlugin(pathfinder) +bot.loadPlugin(pvp) + +let guardPos = null + +// Assign the given location to be guarded +function guardArea (pos) { + guardPos = pos + + // We we are not currently in combat, move to the guard pos + if (!bot.pvp.target) { + moveToGuardPos() + } +} + +// Cancel all pathfinder and combat +function stopGuarding () { + guardPos = null + bot.pvp.stop() + bot.pathfinder.setGoal(null) +} + +// Pathfinder to the guard position +function moveToGuardPos () { + const mcData = require('minecraft-data')(bot.version) + bot.pathfinder.setMovements(new Movements(bot, mcData)) + bot.pathfinder.setGoal(new goals.GoalBlock(guardPos.x, guardPos.y, guardPos.z)) +} + +// Called when the bot has killed it's target. +bot.on('stoppedAttacking', () => { + if (guardPos) { + moveToGuardPos() + } +}) + +// Check for new enemies to attack +bot.on('physicTick', () => { + if (!guardPos) return // Do nothing if bot is not guarding anything + + // Only look for mobs within 16 blocks + const filter = e => e.type === 'mob' && e.position.distanceTo(bot.entity.position) < 16 && + e.mobType !== 'Armor Stand' // Mojang classifies armor stands as mobs for some reason? + + const entity = bot.nearestEntity(filter) + if (entity) { + // Start attacking + bot.pvp.attack(entity) + } +}) + +// Listen for player commands +bot.on('chat', (username, message) => { + // Guard the location the player is standing + if (message === 'guard') { + const player = bot.players[username] + + if (!player) { + bot.chat("I can't see you.") + return + } + + bot.chat('I will guard that location.') + guardArea(player.entity.position) + } + + // Stop guarding + if (message === 'stop') { + bot.chat('I will no longer guard this area.') + stopGuarding() + } +}) diff --git a/node_modules/mineflayer/examples/inventory.js b/node_modules/mineflayer/examples/inventory.js new file mode 100644 index 00000000..e7fea0de --- /dev/null +++ b/node_modules/mineflayer/examples/inventory.js @@ -0,0 +1,161 @@ +/* + * Using the inventory is one of the first things you learn in Minecraft, + * now it's time to teach your bot the same skill. + * + * Command your bot with chat messages and make him toss, equip, use items + * and even craft new items using the built-in recipe book. + * + * To learn more about the recipe system and how crafting works + * remember to read the API documentation! + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node inventory.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'inventory', + password: process.argv[5] +}) + +bot.on('chat', async (username, message) => { + if (username === bot.username) return + const command = message.split(' ') + switch (true) { + case message === 'loaded': + await bot.waitForChunksToLoad() + bot.chat('Ready!') + break + case /^list$/.test(message): + sayItems() + break + case /^toss \d+ \w+$/.test(message): + // toss amount name + // ex: toss 64 diamond + tossItem(command[2], command[1]) + break + case /^toss \w+$/.test(message): + // toss name + // ex: toss diamond + tossItem(command[1]) + break + case /^equip \w+ \w+$/.test(message): + // equip destination name + // ex: equip hand diamond + equipItem(command[2], command[1]) + break + case /^unequip \w+$/.test(message): + // unequip testination + // ex: unequip hand + unequipItem(command[1]) + break + case /^use$/.test(message): + useEquippedItem() + break + case /^craft \d+ \w+$/.test(message): + // craft amount item + // ex: craft 64 stick + craftItem(command[2], command[1]) + break + } +}) + +function sayItems (items = bot.inventory.items()) { + const output = items.map(itemToString).join(', ') + if (output) { + bot.chat(output) + } else { + bot.chat('empty') + } +} + +function tossItem (name, amount) { + amount = parseInt(amount, 10) + const item = itemByName(name) + if (!item) { + bot.chat(`I have no ${name}`) + } else if (amount) { + bot.toss(item.type, null, amount, checkIfTossed) + } else { + bot.tossStack(item, checkIfTossed) + } + + function checkIfTossed (err) { + if (err) { + bot.chat(`unable to toss: ${err.message}`) + } else if (amount) { + bot.chat(`tossed ${amount} x ${name}`) + } else { + bot.chat(`tossed ${name}`) + } + } +} + +async function equipItem (name, destination) { + const item = itemByName(name) + if (item) { + try { + await bot.equip(item, destination) + bot.chat(`equipped ${name}`) + } catch (err) { + bot.chat(`cannot equip ${name}: ${err.message}`) + } + } else { + bot.chat(`I have no ${name}`) + } +} + +async function unequipItem (destination) { + try { + await bot.unequip(destination) + bot.chat('unequipped') + } catch (err) { + bot.chat(`cannot unequip: ${err.message}`) + } +} + +function useEquippedItem () { + bot.chat('activating item') + bot.activateItem() +} + +async function craftItem (name, amount) { + amount = parseInt(amount, 10) + const item = require('minecraft-data')(bot.version).findItemOrBlockByName(name) + const craftingTable = bot.findBlock({ + matching: 58 + }) + + if (item) { + const recipe = bot.recipesFor(item.id, null, 1, craftingTable)[0] + if (recipe) { + bot.chat(`I can make ${name}`) + try { + await bot.craft(recipe, amount, craftingTable) + bot.chat(`did the recipe for ${name} ${amount} times`) + } catch (err) { + bot.chat(`error making ${name}`) + } + } else { + bot.chat(`I cannot make ${name}`) + } + } else { + bot.chat(`unknown item: ${name}`) + } +} + +function itemToString (item) { + if (item) { + return `${item.name} x ${item.count}` + } else { + return '(nothing)' + } +} + +function itemByName (name) { + return bot.inventory.items().filter(item => item.name === name)[0] +} diff --git a/node_modules/mineflayer/examples/jumper.js b/node_modules/mineflayer/examples/jumper.js new file mode 100644 index 00000000..9ccda64e --- /dev/null +++ b/node_modules/mineflayer/examples/jumper.js @@ -0,0 +1,116 @@ +/* + * Jumping is fun. Riding pigs is even funnier! + * + * Learn how to make your bot interactive with this example. + * + * This bot can move, jump, ride vehicles, attack nearby entities and much more. + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node jumper.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'jumper', + password: process.argv[5] +}) + +let target = null + +bot.on('chat', (username, message) => { + if (username === bot.username) return + target = bot.players[username].entity + let entity + switch (message) { + case 'forward': + bot.setControlState('forward', true) + break + case 'back': + bot.setControlState('back', true) + break + case 'left': + bot.setControlState('left', true) + break + case 'right': + bot.setControlState('right', true) + break + case 'sprint': + bot.setControlState('sprint', true) + break + case 'stop': + bot.clearControlStates() + break + case 'jump': + bot.setControlState('jump', true) + bot.setControlState('jump', false) + break + case 'jump a lot': + bot.setControlState('jump', true) + break + case 'stop jumping': + bot.setControlState('jump', false) + break + case 'attack': + entity = bot.nearestEntity() + if (entity) { + bot.attack(entity, true) + } else { + bot.chat('no nearby entities') + } + break + case 'mount': + entity = bot.nearestEntity((entity) => { return entity.type === 'object' }) + if (entity) { + bot.mount(entity) + } else { + bot.chat('no nearby objects') + } + break + case 'dismount': + bot.dismount() + break + case 'move vehicle forward': + bot.moveVehicle(0.0, 1.0) + break + case 'move vehicle backward': + bot.moveVehicle(0.0, -1.0) + break + case 'move vehicle left': + bot.moveVehicle(1.0, 0.0) + break + case 'move vehicle right': + bot.moveVehicle(-1.0, 0.0) + break + case 'tp': + bot.entity.position.y += 10 + break + case 'pos': + bot.chat(bot.entity.position.toString()) + break + case 'yp': + bot.chat(`Yaw ${bot.entity.yaw}, pitch: ${bot.entity.pitch}`) + break + } +}) + +bot.once('spawn', () => { + // keep your eyes on the target, so creepy! + setInterval(watchTarget, 50) + + function watchTarget () { + if (!target) return + bot.lookAt(target.position.offset(0, target.height, 0)) + } +}) + +bot.on('mount', () => { + bot.chat(`mounted ${bot.vehicle.objectType}`) +}) + +bot.on('dismount', (vehicle) => { + bot.chat(`dismounted ${vehicle.objectType}`) +}) diff --git a/node_modules/mineflayer/examples/looker.js b/node_modules/mineflayer/examples/looker.js new file mode 100644 index 00000000..bd757d3a --- /dev/null +++ b/node_modules/mineflayer/examples/looker.js @@ -0,0 +1,30 @@ +/* + * This script will automaticly look at the closest entity. + * It checks for a near entity every tick. + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node echo.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'looker', + password: process.argv[5] +}) + +bot.once('spawn', function () { + setInterval(() => { + const entity = bot.nearestEntity() + if (entity !== null) { + if (entity.type === 'player') { + bot.lookAt(entity.position.offset(0, 1.6, 0)) + } else if (entity.type === 'mob') { + bot.lookAt(entity.position) + } + } + }, 50) +}) diff --git a/node_modules/mineflayer/examples/multiple.js b/node_modules/mineflayer/examples/multiple.js new file mode 100644 index 00000000..c7090da1 --- /dev/null +++ b/node_modules/mineflayer/examples/multiple.js @@ -0,0 +1,26 @@ +const mineflayer = require('mineflayer') + +if (process.argv.length < 3 || process.argv.length > 5) { + console.log('Usage : node multiple.js ') + process.exit(1) +} + +let i = 0 +function next () { + if (i < 10) { + i++ + setTimeout(() => { + createBot(`mineflayer-bot${i}`) + next() + }, 100) + } +} +next() + +function createBot (name) { + mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: name + }) +} diff --git a/node_modules/mineflayer/examples/perfectShotBow.js b/node_modules/mineflayer/examples/perfectShotBow.js new file mode 100644 index 00000000..2aa9f2ba --- /dev/null +++ b/node_modules/mineflayer/examples/perfectShotBow.js @@ -0,0 +1,48 @@ +const mineflayer = require('mineflayer') +const minecraftHawkEye = require('minecrafthawkeye') + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'Archer', + password: process.argv[5] +}) +bot.loadPlugin(minecraftHawkEye) + +bot.on('spawn', function () { + bot.chat('/give ' + bot.username + ' bow{Enchantments:[{id:unbreaking,lvl:100}]} 1') + bot.chat('/give ' + bot.username + ' minecraft:arrow 300') + bot.chat('/time set day') + bot.chat('/kill @e[type=minecraft:arrow]') + + bot.chat('Ready!') + + // Get target for block position, use whatever you need + const target = bot.hawkEye.getPlayer() + console.log(target) + if (!target) { + return false + } + + // Auto attack every 1,2 secs until target is dead or is to far away + bot.hawkEye.autoAttack(target) + // If you force stop attack use: + // hawkEye.stop(); + + // Use one shot time with calc: + // bot.hawkEye.oneShot(target); + + // If you want to shot in XYZ position: + /* + const blockPosition = { + position: { + x: 244.5, + y: 75.5, + z: -220 + }, + isValid: true // Fake to is "alive" + } + // bot.hawkEye.oneShot(blockPosition); + // bot.hawkEye.autoAttack(blockPosition); + */ +}) diff --git a/node_modules/mineflayer/examples/quitter.js b/node_modules/mineflayer/examples/quitter.js new file mode 100644 index 00000000..a9b67710 --- /dev/null +++ b/node_modules/mineflayer/examples/quitter.js @@ -0,0 +1,26 @@ +/* + * This is one of the simplest examples. + * + * We created a simple bot that connects to a server and immediately quits. + * + * It's not very useful yet, but you can use this as a starting point + * to create your own bot. + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node quitter.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'emobot', + password: process.argv[5] +}) + +bot.once('spawn', () => { + bot.chat('Goodbye, cruel world!') + bot.quit() +}) diff --git a/node_modules/mineflayer/examples/raycast.js b/node_modules/mineflayer/examples/raycast.js new file mode 100644 index 00000000..29466491 --- /dev/null +++ b/node_modules/mineflayer/examples/raycast.js @@ -0,0 +1,29 @@ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node raycast.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'raycast', + password: process.argv[5] +}) + +bot.on('message', (cm) => { + if (cm.toString().includes('block')) { + block() + } +}) + +function block () { + const block = bot.blockInSight() + + if (!block) { + return bot.chat('Looking at Air') + } + + bot.chat(`Looking at ${block.displayName}`) +} diff --git a/node_modules/mineflayer/examples/reconnector.js b/node_modules/mineflayer/examples/reconnector.js new file mode 100644 index 00000000..6eefc2f7 --- /dev/null +++ b/node_modules/mineflayer/examples/reconnector.js @@ -0,0 +1,23 @@ +/* + * This example will automatically reconnect when it gets disconnected from the server. + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node reconnector.js [] []') + process.exit(1) +} + +function createBot () { + const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'reconnector', + password: process.argv[5] + }) + + bot.on('error', (err) => console.log(err)) + bot.on('end', createBot) +} + +createBot() diff --git a/node_modules/mineflayer/examples/repl.js b/node_modules/mineflayer/examples/repl.js new file mode 100644 index 00000000..31430b67 --- /dev/null +++ b/node_modules/mineflayer/examples/repl.js @@ -0,0 +1,23 @@ +const mineflayer = require('mineflayer') +const repl = require('repl') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node repl.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'repl', + password: process.argv[5] +}) + +bot.on('login', () => { + const r = repl.start('> ') + r.context.bot = bot + + r.on('exit', () => { + bot.end() + }) +}) diff --git a/node_modules/mineflayer/examples/scoreboard.js b/node_modules/mineflayer/examples/scoreboard.js new file mode 100644 index 00000000..3863cb5a --- /dev/null +++ b/node_modules/mineflayer/examples/scoreboard.js @@ -0,0 +1,29 @@ +/* + * A simple example to show the display board functionality + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node scoreboard.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'scoreboard', + password: process.argv[5] +}) + +// /scoreboard objectives add Kills totalKillCount +// /scoreboard objectives setDisplay sidebar Kills +bot.on('scoreboardCreated', (scoreboard) => { + bot.chat(`New scoreboard: ${scoreboard.name}, ${scoreboard.title}`) + console.log(scoreboard) +}) + +// kill a mob for this to be displayed +bot.on('scoreboardScoreUpdated', (scoreboard, updated) => { + bot.chat(`Scoreboard score : ${scoreboard.title}, ${updated.name}, ${updated.value}`) + console.log(scoreboard) +}) diff --git a/node_modules/mineflayer/examples/session.js b/node_modules/mineflayer/examples/session.js new file mode 100644 index 00000000..4325646f --- /dev/null +++ b/node_modules/mineflayer/examples/session.js @@ -0,0 +1,31 @@ +const mineflayer = require('mineflayer') +const path = require('path') + +if (process.argv.length !== 5) { + console.log('Usage : node session.js ') + process.exit(1) +} + +const profile = require(path.resolve(process.argv[4], 'launcher_profiles.json')) +const auth = profile.authenticationDatabase[profile.selectedUser.account] +const profileID = profile.selectedUser.profile + +const session = { + accessToken: auth.accessToken, + clientToken: profile.clientToken, + selectedProfile: { + id: profileID, + name: auth.profiles[profileID].displayName + } +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + session +}) + +bot.once('login', () => { + console.log('logged in') + bot.quit() +}) diff --git a/node_modules/mineflayer/examples/skin_blinker.js b/node_modules/mineflayer/examples/skin_blinker.js new file mode 100644 index 00000000..792604e9 --- /dev/null +++ b/node_modules/mineflayer/examples/skin_blinker.js @@ -0,0 +1,39 @@ +/* + * Since 1.8 the players skin can have a second layer over their whole skin. + * + * This example will toggle that layer every half second, making your skin 'blick' + * (If your bots skin has a second layer) + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node jumper.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'skin_blinker', + password: process.argv[5] +}) + +let show = true + +function toggleSkin () { + show = !show + bot.setSettings({ + skinParts: { + showJacket: show, + showHat: show, + showRightPants: show, + showLeftPants: show, + showLeftSleeve: show, + showRightSleeve: show + } + }) +} + +bot.on('spawn', () => { + setInterval(toggleSkin, 500) +}) diff --git a/node_modules/mineflayer/examples/sleeper.js b/node_modules/mineflayer/examples/sleeper.js new file mode 100644 index 00000000..25b52cdb --- /dev/null +++ b/node_modules/mineflayer/examples/sleeper.js @@ -0,0 +1,64 @@ +/* + * Even bots need to rest sometimes. + * + * That's why we created an example that demonstrates how easy it is + * to find and use a bed properly. + * + * You can ask the bot to sleep or wake up by sending a chat message. + */ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node sleeper.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'sleeper', + password: process.argv[5] +}) + +bot.on('chat', (username, message) => { + if (username === bot.username) return + switch (message) { + case 'sleep': + goToSleep() + break + case 'wakeup': + wakeUp() + break + } +}) + +bot.on('sleep', () => { + bot.chat('Good night!') +}) +bot.on('wake', () => { + bot.chat('Good morning!') +}) + +async function goToSleep () { + const bed = bot.findBlock({ + matching: block => bot.isABed(block) + }) + if (bed) { + try { + await bot.sleep(bed) + bot.chat("I'm sleeping") + } catch (err) { + bot.chat(`I can't sleep: ${err.message}`) + } + } else { + bot.chat('No nearby bed') + } +} + +async function wakeUp () { + try { + await bot.wake() + } catch (err) { + bot.chat(`I can't wake up: ${err.message}`) + } +} diff --git a/node_modules/mineflayer/examples/tab_complete.js b/node_modules/mineflayer/examples/tab_complete.js new file mode 100644 index 00000000..bea6152b --- /dev/null +++ b/node_modules/mineflayer/examples/tab_complete.js @@ -0,0 +1,31 @@ +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node tab_complete.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'tabComplete', + password: process.argv[5] +}) + +bot.on('message', (cm) => { + if (cm.toString().includes('complete')) { + const message = cm.toString() + const str = cm.toString().slice(message.indexOf('complete') + 9) + complete(str) + } +}) + +async function complete (str) { + try { + const matches = await bot.tabComplete(str) + console.log(str, matches) + bot.chat(`Matches for "${str}": ${matches.join(', ')}`) + } catch (err) { + bot.chat(err.message) + } +} diff --git a/node_modules/mineflayer/examples/trader.js b/node_modules/mineflayer/examples/trader.js new file mode 100644 index 00000000..1cefb385 --- /dev/null +++ b/node_modules/mineflayer/examples/trader.js @@ -0,0 +1,179 @@ +/* + * Even bots want to trade sometimes. + * + * That's why we created an example that demonstrates how easy it is + * to find a villager and trade. + * + * You can ask the bot to trade with a villager, display the villagers in range + * and show what trades a villager has by sending a chat message. + */ +const { once } = require('events') +const mineflayer = require('mineflayer') + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node trader.js [] []') + process.exit(1) +} +console.log('Commands :\n' + + ' show villagers\n' + + ' show inventory\n' + + ' show trades \n' + + ' trade []') + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'trader', + password: process.argv[5] +}) +let mcData +bot.once('inject_allowed', () => { + mcData = require('minecraft-data')(bot.version) +}) + +bot.on('chat', (username, message) => { + if (username === bot.username) return + const command = message.split(' ') + switch (true) { + case message === 'show villagers': + showVillagers() + break + case message === 'show inventory': + showInventory() + break + case /^show trades [0-9]+$/.test(message): + showTrades(command[2]) + break + case /^trade [0-9]+ [0-9]+( [0-9]+)?$/.test(message): + trade(command[1], command[2], command[3]) + break + } +}) + +function showVillagers () { + const villagers = Object.keys(bot.entities).map(id => bot.entities[id]).filter(e => e.entityType === mcData.entitiesByName.villager) + const closeVillagersId = villagers.filter(e => bot.entity.position.distanceTo(e.position) < 3).map(e => e.id) + bot.chat(`found ${villagers.length} villagers`) + bot.chat(`villager(s) you can trade with: ${closeVillagersId.join(', ')}`) +} + +function showInventory () { + bot.inventory.slots + .filter(item => item).forEach((item) => { + bot.chat(stringifyItem(item)) + }) +} + +async function showTrades (id) { + const e = bot.entities[id] + switch (true) { + case !e: + bot.chat(`cant find entity with id ${id}`) + break + case e.entityType !== mcData.entitiesByName.villager: + bot.chat('entity is not a villager') + break + case bot.entity.position.distanceTo(e.position) > 3: + bot.chat('villager out of reach') + break + default: { + const villager = bot.openVillager(e) + await once(villager, 'ready') + villager.close() + stringifyTrades(villager.trades).forEach((trade, i) => { + bot.chat(`${i + 1}: ${trade}`) + }) + } + } +} + +async function trade (id, index, count) { + const e = bot.entities[id] + switch (true) { + case !e: + bot.chat(`cant find entity with id ${id}`) + break + case e.entityType !== mcData.entitiesByName.villager: + bot.chat('entity is not a villager') + break + case bot.entity.position.distanceTo(e.position) > 3: + bot.chat('villager out of reach') + break + default: { + const villager = bot.openVillager(e) + await once(villager, 'ready') + const trade = villager.trades[index - 1] + count = count || trade.maxTradeuses - trade.tooluses + switch (true) { + case !trade: + villager.close() + bot.chat('trade not found') + break + case trade.disabled: + villager.close() + bot.chat('trade is disabled') + break + case trade.maxTradeuses - trade.tooluses < count: + villager.close() + bot.chat('cant trade that often') + break + case !hasResources(villager.window, trade, count): + villager.close() + bot.chat('dont have the resources to do that trade') + break + default: + bot.chat('starting to trade') + try { + await bot.trade(villager, index - 1, count) + bot.chat(`traded ${count} times`) + } catch (err) { + bot.chat('an error acured while tyring to trade') + console.log(err) + } + villager.close() + } + } + } + + function hasResources (window, trade, count) { + const first = enough(trade.firstInput, count) + const second = !trade.hasSecondItem || enough(trade.secondaryInput, count) + return first && second + + function enough (item, count) { + return window.count(item.type, item.metadata) >= item.count * count + } + } +} + +function stringifyTrades (trades) { + return trades.map((trade) => { + let text = stringifyItem(trade.firstInput) + if (trade.secondaryInput) text += ` & ${stringifyItem(trade.secondaryInput)}` + if (trade.disabled) text += ' x '; else text += ' » ' + text += stringifyItem(trade.output) + return `(${trade.tooluses}/${trade.maxTradeuses}) ${text}` + }) +} + +function stringifyItem (item) { + if (!item) return 'nothing' + let text = `${item.count} ${item.displayName}` + if (item.nbt && item.nbt.value) { + const ench = item.nbt.value.ench + const StoredEnchantments = item.nbt.value.StoredEnchantments + const Potion = item.nbt.value.Potion + const display = item.nbt.value.display + + if (Potion) text += ` of ${Potion.value.replace(/_/g, ' ').split(':')[1] || 'unknow type'}` + if (display) text += ` named ${display.value.Name.value}` + if (ench || StoredEnchantments) { + text += ` enchanted with ${(ench || StoredEnchantments).value.value.map((e) => { + const lvl = e.lvl.value + const id = e.id.value + return mcData.enchantments[id].displayName + ' ' + lvl + }).join(' ')}` + } + } + return text +} diff --git a/node_modules/mineflayer/examples/viewer/README.md b/node_modules/mineflayer/examples/viewer/README.md new file mode 100644 index 00000000..98e250f7 --- /dev/null +++ b/node_modules/mineflayer/examples/viewer/README.md @@ -0,0 +1 @@ +[viewer](https://prismarine.js.org/prismarine-viewer/) diff --git a/node_modules/mineflayer/examples/viewer/package.json b/node_modules/mineflayer/examples/viewer/package.json new file mode 100644 index 00000000..1bb8a934 --- /dev/null +++ b/node_modules/mineflayer/examples/viewer/package.json @@ -0,0 +1,9 @@ +{ + "name": "mineflayer-example", + "version": "0.0.0", + "private": true, + "dependencies": { + "prismarine-viewer": "^1.0.3" + }, + "description": "A mineflayer example" +} diff --git a/node_modules/mineflayer/examples/viewer/viewer.js b/node_modules/mineflayer/examples/viewer/viewer.js new file mode 100644 index 00000000..5b0e7636 --- /dev/null +++ b/node_modules/mineflayer/examples/viewer/viewer.js @@ -0,0 +1,25 @@ +/* + * + * A simple bot demo https://github.com/PrismarineJS/prismarine-viewer + * Start it then open your browser to http://localhost:3007 and enjoy the view + * + */ + +const mineflayer = require('mineflayer') +const mineflayerViewer = require('prismarine-viewer').mineflayer + +if (process.argv.length < 4 || process.argv.length > 6) { + console.log('Usage : node viewer.js [] []') + process.exit(1) +} + +const bot = mineflayer.createBot({ + host: process.argv[2], + port: parseInt(process.argv[3]), + username: process.argv[4] ? process.argv[4] : 'viewer', + password: process.argv[5] +}) + +bot.once('spawn', () => { + mineflayerViewer(bot, { port: 3007, firstPerson: true }) +}) diff --git a/node_modules/mineflayer/index.d.ts b/node_modules/mineflayer/index.d.ts new file mode 100644 index 00000000..c3b6faf4 --- /dev/null +++ b/node_modules/mineflayer/index.d.ts @@ -0,0 +1,788 @@ +/// +/// +/// +/// +/// +/// +/// +/// +/// + +import { EventEmitter } from "events"; +import TypedEmitter from "typed-emitter"; +import { Client, ClientOptions } from "minecraft-protocol"; +import { Vec3 } from "vec3"; +import { Item } from "prismarine-item"; +import { Window } from "prismarine-windows"; +import { Recipe } from "prismarine-recipe"; +import { Block } from "prismarine-block"; +import { Entity } from "prismarine-entity"; + +export function createBot(options: BotOptions): Bot; + +export interface BotOptions extends ClientOptions { + logErrors?: boolean; + hideErrors?: boolean; + loadInternalPlugins?: boolean; + plugins?: PluginOptions; + chat?: ChatLevel; + colorsEnabled?: boolean; + viewDistance?: ViewDistance; + mainHand?: MainHands; + difficulty?: number; + chatLengthLimit?: number; +} + +export type ChatLevel = "enabled" | "commandsOnly" | "disabled"; +export type ViewDistance = "far" | "normal" | "short" | "tiny"; +export type MainHands = "left" | "right"; + +export interface PluginOptions { + [plugin: string]: boolean | Plugin; +} + +export type Plugin = (bot: Bot, options: BotOptions) => void; + +interface BotEvents { + chat: ( + username: string, + message: string, + translate: string | null, + jsonMsg: string, + matches: Array | null + ) => void; + whisper: ( + username: string, + message: string, + translate: string | null, + jsonMsg: string, + matches: Array | null + ) => void; + actionBar: (jsonMsg: string) => void; + error: (err: Error) => void; + message: (jsonMsg: string, position: string) => void; + login: () => void; + spawn: () => void; + respawn: () => void; + game: () => void; + title: (text: string) => void; + rain: () => void; + time: () => void; + kicked: (reason: string, loggedIn: boolean) => void; + end: () => void; + spawnReset: () => void; + death: () => void; + health: () => void; + entitySwingArm: (entity: Entity) => void; + entityHurt: (entity: Entity) => void; + entityWake: (entity: Entity) => void; + entityEat: (entity: Entity) => void; + entityCrouch: (entity: Entity) => void; + entityUncrouch: (entity: Entity) => void; + entityEquip: (entity: Entity) => void; + entitySleep: (entity: Entity) => void; + entitySpawn: (entity: Entity) => void; + itemDrop: (entity: Entity) => void; + playerCollect: (collector: Entity, collected: Entity) => void; + entityGone: (entity: Entity) => void; + entityMoved: (entity: Entity) => void; + entityDetach: (entity: Entity, vehicle: Entity) => void; + entityAttach: (entity: Entity, vehicle: Entity) => void; + entityUpdate: (entity: Entity) => void; + entityEffect: (entity: Entity, effect: Effect) => void; + entityEffectEnd: (entity: Entity, effect: Effect) => void; + playerJoined: (player: Player) => void; + playerUpdated: (player: Player) => void; + playerLeft: (entity: Player) => void; + blockUpdate: (oldBlock: Block | null, newBlock: Block) => void; + 'blockUpdate:(x, y, z)': (oldBlock: Block | null, newBlock: Block) => void; + chunkColumnLoad: (entity: Vec3) => void; + chunkColumnUnload: (entity: Vec3) => void; + soundEffectHeard: ( + soundName: string, + position: Vec3, + volume: number, + pitch: number + ) => void + hardcodedSoundEffectHeard: ( + soundId: number, + soundCategory: number, + position: Vec3, + volume: number, + pitch: number + ) => void + noteHeard: (block: Block, instrument: Instrument, pitch: number) => void + pistonMove: (block: Block, isPulling: number, direction: number) => void + chestLidMove: (block: Block, isOpen: number) => void + blockBreakProgressObserved: (block: Block, destroyStage: number) => void + blockBreakProgressEnd: (block: Block) => void; + diggingCompleted: (block: Block) => void; + diggingAborted: (block: Block) => void; + move: () => void; + forcedMove: () => void; + mount: () => void; + dismount: (vehicle: Entity) => void; + windowOpen: (vehicle: Window) => void; + windowClose: (vehicle: Window) => void; + sleep: () => void; + wake: () => void; + experience: () => void; + physicTick: () => void; + scoreboardCreated: (scoreboard: ScoreBoard) => void + scoreboardDeleted: (scoreboard: ScoreBoard) => void + scoreboardTitleChanged: (scoreboard: ScoreBoard) => void + scoreUpdated: (scoreboard: ScoreBoard, item: number) => void + scoreRemoved: (scoreboard: ScoreBoard, item: number) => void + scoreboardPosition: (position: DisplaySlot, scoreboard: ScoreBoard) => void + bossBarCreated: (bossBar: BossBar) => void; + bossBarDeleted: (bossBar: BossBar) => void; + bossBarUpdated: (bossBar: BossBar) => void; +} + +export class Bot extends (EventEmitter as new () => TypedEmitter) { + username: string; + protocolVersion: string; + majorVersion: string; + version: string; + entity: Entity; + entities: { [id: string]: Entity }; + spawnPoint: Vec3; + game: GameState; + player: Player; + players: { [username: string]: Player }; + isRaining: boolean; + chatPatterns: Array; + settings: GameSettings; + experience: Experience; + health: number; + food: number; + foodSaturation: number; + physics: PhysicsOptions; + time: Time; + quickBarSlot: number; + inventory: Window; + targetDigBlock: Block; + isSleeping: boolean; + scoreboards: { [name: string]: ScoreBoard }; + scoreboard: { [slot in DisplaySlot]: ScoreBoard }; + controlState: ControlStateStatus; + creative: creativeMethods; + world: any; + _client: Client; + heldItem: Item | null; + + constructor(); + + connect(options: BotOptions): void; + + supportFeature(feature: string): boolean; + + end(): void; + + blockAt(point: Vec3): Block | null; + + blockInSight(maxSteps: number, vectorLength: number): Block | null; + + canSeeBlock(block: Block): boolean; + + findBlock(options: FindBlockOptions): Block; + + findBlocks(options: FindBlockOptions): Block[]; + + canDigBlock(block: Block): boolean; + + recipesFor( + itemType: number, + metadata: number | null, + minResultCount: number | null, + craftingTable: Block | boolean | null + ): Array; + + recipesAll( + itemType: number, + metadata: number | null, + craftingTable: Block | boolean | null + ): Array; + + quit(reason?: string): void; + + tabComplete( + str: string, + cb: (matches: Array) => void, + assumeCommand?: boolean, + sendBlockInSight?: boolean + ): Promise>; + + chat(message: string): void; + + whisper(username: string, message: string): void; + + chatAddPattern(pattern: RegExp, chatType: string, description?: string): void; + + setSettings(options: Partial): void; + + loadPlugin(plugin: Plugin): void; + + loadPlugins(plugins: Array): void; + + hasPlugin(plugin: Plugin): boolean; + + sleep(bedBlock: Block, cb?: (err?: Error) => void): Promise; + + isABed(bedBlock: Block): void; + + wake(cb?: (err?: Error) => void): Promise; + + setControlState(control: ControlState, state: boolean): void; + + clearControlStates(): void; + + lookAt(point: Vec3, force?: boolean, callback?: () => void): Promise; + + look( + yaw: number, + pitch: number, + force?: boolean, + callback?: () => void + ): Promise; + + updateSign(block: Block, text: string): void; + + equip( + item: Item, + destination: EquipmentDestination | null, + callback?: (error?: Error) => void + ): Promise; + + unequip( + destination: EquipmentDestination | null, + callback?: () => void + ): Promise; + + tossStack(item: Item, callback?: (error?: Error) => void): Promise; + + toss( + itemType: number, + metadata: number | null, + count: number | null, + callback?: (err?: Error) => void + ): Promise; + + dig(block: Block, callback?: (err?: Error) => void): Promise; + + stopDigging(): void; + + digTime(block: Block): number; + + placeBlock(referenceBlock: Block, faceVector: Vec3, cb: () => void): Promise; + + activateBlock(block: Block, callback?: (err?: Error) => void): Promise; + + activateEntity(block: Entity, callback?: (err?: Error) => void): Promise; + + activateEntityAt(block: Entity, position: Vec3, callback?: (err?: Error) => void): Promise; + + consume(callback: (err?: Error) => void): Promise; + + fish(callback: (err?: Error) => void): Promise; + + activateItem(offhand?: boolean): void; + + deactivateItem(): void; + + useOn(targetEntity: Entity): void; + + attack(entity: Entity): void; + + swingArm(hand?: "left" | "right"): void; + + mount(entity: Entity): void; + + dismount(): void; + + moveVehicle(left: number, forward: number): void; + + setQuickBarSlot(slot: number): void; + + craft( + recipe: Recipe, + count: number | null, + craftingTable: Block, + callback?: () => void + ): Promise; + + writeBook( + slot: number, + pages: Array, + callback?: (err?: Error) => void + ): Promise; + + openChest(chest: Block | Entity): Chest; + + openFurnace(furnace: Block): Furnace; + + openDispenser(dispenser: Block): Dispenser; + + openEnchantmentTable(enchantmentTable: Block): EnchantmentTable; + + openVillager( + villager: Entity + ): Villager; + + trade( + villagerInstance: Villager, + tradeIndex: string | number, + times?: number, + cb?: (err?: Error) => void + ): Promise; + + setCommandBlock(pos: Vec3, command: string, trackOutput: boolean): void; + + clickWindow( + slot: number, + mouseButton: number, + mode: number, + cb?: (err?: Error) => void + ): Promise; + + putSelectedItemRange( + start: number, + end: number, + window: Window, + slot: any, + cb?: (err?: Error) => void + ): Promise; + + putAway(slot: number, cb?: (err?: Error) => void): Promise; + + closeWindow(window: Window): void; + + transfer(options: TransferOptions, cb?: (err?: Error) => void): Promise; + + openBlock(block: Block, Class: new () => EventEmitter): void; + + openEntity(block: Entity, Class: new () => EventEmitter): void; + + moveSlotItem( + sourceSlot: number, + destSlot: number, + cb?: (err?: Error) => void + ): Promise; + + updateHeldItem(): void; + + getEquipmentDestSlot(destination: string): number; + + waitForChunksToLoad(cb?: (err?: Error) => void): Promise; + + nearestEntity(filter?: (entity: Entity) => boolean): Entity | null; +} + +export interface GameState { + levelType: LevelType; + gameMode: GameMode; + hardcore: boolean; + dimension: Dimension; + difficulty: Difficulty; + maxPlayers: number; +} + +export type LevelType = + | "default" + | "flat" + | "largeBiomes" + | "amplified" + | "customized" + | "buffet" + | "default_1_1"; +export type GameMode = "survival" | "creative" | "adventure"; +export type Dimension = "minecraft:nether" | "minecraft:overworld" | "minecraft:end"; +export type Difficulty = "peaceful" | "easy" | "normal" | "hard"; + +export interface Player { + uuid: string; + username: string; + displayName: ChatMessage; + gamemode: number; + ping: number; + entity: Entity; +} + +export class ChatMessage { + json: object; + text?: string; + translate?: string; + with?: Array; + extra?: Array; + bold: boolean; + italic: boolean; + underlined: boolean; + strikethrough: boolean; + obfuscated: boolean; + color: string; + clickEvent: object; + hoverEvent: object; + + constructor(message: ChatMessage); + + parse(): void; + + length(): number; + + getText(idx: number, lang?: { [key: string]: string }): string; + + toString(lang?: { [key: string]: string }): string; + + valueOf(): string; + + toMotd(lang?: { [key: string]: string }): string; + + toAnsi(lang: { [key: string]: string }): string; +} + +export interface ChatPattern { + pattern: RegExp; + type: string; + description: string; +} + +export interface SkinParts { + showCape: boolean; + showJacket: boolean; + showLeftSleeve: boolean; + showRightSleeve: boolean; + showLeftPants: boolean; + showRightPants: boolean; + showHat: boolean; +} + +export interface GameSettings { + chat: ChatLevel; + colorsEnabled: boolean; + viewDistance: ViewDistance; + difficulty: number; + skinParts: SkinParts; + mainHand: MainHands; +} + +export interface Experience { + level: number; + points: number; + progress: number; +} + +export interface PhysicsOptions { + maxGroundSpeed: number; + terminalVelocity: number; + walkingAcceleration: number; + gravity: number; + groundFriction: number; + playerApothem: number; + playerHeight: number; + jumpSpeed: number; + yawSpeed: number; + sprintSpeed: number; + maxGroundSpeedSoulSand: number; + maxGroundSpeedWater: number; +} + +export interface Time { + time: number; + timeOfDay: number; + day: number; + isDay: boolean; + moonPhase: number; + age: number; +} + +export interface ControlStateStatus { + forward: boolean; + back: boolean; + left: boolean; + right: boolean; + jump: boolean; + sprint: boolean; + sneak: boolean; +} + +export type ControlState = + | "forward" + | "back" + | "left" + | "right" + | "jump" + | "sprint" + | "sneak"; + +export interface Effect { + id: number; + amplifier: number; + duration: number; +} + +export interface Instrument { + id: number; + name: "harp" | "doubleBass" | "snareDrum" | "sticks" | "bassDrum"; +} + +export interface FindBlockOptions { + point?: Vec3; + matching: number | Array | ((block: Block) => boolean); + maxDistance?: number; + count?: number; + useExtraInfo?: boolean; +} + +export type EquipmentDestination = "hand" | "head" | "torso" | "legs" | "feet" | "off-hand"; + +export interface TransferOptions { + window: Window; + itemType: number; + metadata: number | null; + sourceStart: number; + sourceEnd: number; + destStart: number; + destEnd: number; +} + +export interface creativeMethods { + setInventorySlot( + slot: number, + item: Item | null, + callback?: (error?: Error) => void + ): Promise; + + flyTo(destination: Vec3, cb?: () => void): Promise; + + startFlying(): void; + + stopFlying(): void; +} + +export class Location { + floored: Vec3; + blockPoint: Vec3; + chunkCorner: Vec3; + blockIndex: number; + biomeBlockIndex: number; + chunkYIndex: number; + + constructor(absoluteVector: Vec3); +} + +export class Painting { + id: number; + position: Vec3; + name: string; + direction: Vec3; + + constructor(id: number, position: Vec3, name: string, direction: Vec3); +} + +interface StorageEvents { + open: () => void; + close: () => void; + updateSlot: (oldItem: Item | null, newItem: Item) => void; +} + +interface FurnaceEvents extends StorageEvents { + update: () => void; +} + +interface ConditionalStorageEvents extends StorageEvents { + ready: () => void; +} + +export class Chest extends (EventEmitter as new () => TypedEmitter) { + window: object | /*prismarine-windows ChestWindow*/ null; + + constructor(); + + close(): void; + + deposit( + itemType: number, + metadata: number | null, + count: number | null, + cb?: (err?: Error) => void + ): Promise; + + withdraw( + itemType: number, + metadata: number | null, + count: number | null, + cb?: (err?: Error) => void + ): Promise; + + count(itemType: number, metadata: number | null): number; + + items(): Array; +} + +export class Furnace extends (EventEmitter as new () => TypedEmitter) { + fuel: number; + progress: number; + + constructor(); + + close(): void; + + takeInput(cb: (err: Error | null, item: Item) => void): Promise; + + takeFuel(cb: (err: Error | null, item: Item) => void): Promise; + + takeOutput(cb: (err: Error | null, item: Item) => void): Promise; + + putInput( + itemType: number, + metadata: number | null, + count: number, + cb?: (err?: Error) => void + ): Promise; + + putFuel( + itemType: number, + metadata: number | null, + count: number, + cb?: (err?: Error) => void + ): Promise; + + inputItem(): Item; + + fuelItem(): Item; + + outputItem(): Item; +} + +export class Dispenser extends (EventEmitter as new () => TypedEmitter) { + constructor(); + + close(): void; + + deposit( + itemType: number, + metadata: number | null, + count: number | null, + cb?: (err?: Error) => void + ): Promise; + + withdraw( + itemType: number, + metadata: number | null, + count: number | null, + cb?: (err?: Error) => void + ): Promise; + + count(itemType: number, metadata: number | null): number; + + items(): Array; +} + +export class EnchantmentTable extends (EventEmitter as new () => TypedEmitter) { + enchantments: Array; + + constructor(); + + close(): void; + + targetItem(): Item; + + enchant( + choice: string | number, + cb?: (err: Error | null, item: Item) => void + ): Promise; + + takeTargetItem(cb?: (err: Error | null, item: Item) => void): Promise; + + putTargetItem(item: Item, cb?: (err: Error | null) => void): Promise; + + putLapis(item: Item, cb?: (err: Error | null) => void): Promise; +} + +export type Enchantment = { + level: number; +}; + +export class Villager extends (EventEmitter as new () => TypedEmitter) { + trades: Array; + + constructor(); + + close(): void; +} + +export type VillagerTrade = { + firstInput: Item; + output: Item; + hasSecondItem: boolean; + secondaryInput: Item | null; + disabled: boolean; + tooluses: number; + maxTradeuses: number; +}; + +export class ScoreBoard { + name: string; + title: string; + itemsMap: { [name: string]: ScoreBoardItem }; + items: Array; + + constructor(packet: object); + + setTitle(title: string): void; + + add(name: string, value: number): ScoreBoardItem; + + remove(name: string): ScoreBoardItem; +} + +export type ScoreBoardItem = { + name: string; + value: number; +}; + +export type DisplaySlot = + | "list" + | "sidebar" + | "belowName" + | 3 + | 4 + | 5 + | 6 + | 7 + | 8 + | 9 + | 10 + | 11 + | 12 + | 13 + | 14 + | 15 + | 16 + | 17 + | 18; + +export class BossBar { + entityUUID: string; + title: ChatMessage; + health: number; + dividers: number; + color: "pink" | "blue" | "red" | "green" | "yellow" | "purple" | "white"; + shouldDarkenSky: boolean; + isDragonBar: boolean; + shouldCreateFog: boolean; + + constructor( + uuid: string, + title: string, + health: number, + dividers: number, + color: number, + flags: number + ); +} + +export var supportedVersions: Array; +export var testedVersions: Array; + +export function supportFeature(feature: string, version: string): boolean; diff --git a/node_modules/mineflayer/index.js b/node_modules/mineflayer/index.js new file mode 100644 index 00000000..0f496a20 --- /dev/null +++ b/node_modules/mineflayer/index.js @@ -0,0 +1,134 @@ +const mc = require('minecraft-protocol') +const EventEmitter = require('events').EventEmitter +const pluginLoader = require('./lib/plugin_loader') +const supportFeature = require('./lib/supportFeature') +const plugins = { + bed: require('./lib/plugins/bed'), + title: require('./lib/plugins/title'), + block_actions: require('./lib/plugins/block_actions'), + blocks: require('./lib/plugins/blocks'), + book: require('./lib/plugins/book'), + boss_bar: require('./lib/plugins/boss_bar'), + chat: require('./lib/plugins/chat'), + chest: require('./lib/plugins/chest'), + command_block: require('./lib/plugins/command_block'), + craft: require('./lib/plugins/craft'), + creative: require('./lib/plugins/creative'), + digging: require('./lib/plugins/digging'), + dispenser: require('./lib/plugins/dispenser'), + enchantment_table: require('./lib/plugins/enchantment_table'), + entities: require('./lib/plugins/entities'), + experience: require('./lib/plugins/experience'), + furnace: require('./lib/plugins/furnace'), + game: require('./lib/plugins/game'), + health: require('./lib/plugins/health'), + inventory: require('./lib/plugins/inventory'), + kick: require('./lib/plugins/kick'), + physics: require('./lib/plugins/physics'), + rain: require('./lib/plugins/rain'), + ray_trace: require('./lib/plugins/ray_trace'), + scoreboard: require('./lib/plugins/scoreboard'), + settings: require('./lib/plugins/settings'), + simple_inventory: require('./lib/plugins/simple_inventory'), + sound: require('./lib/plugins/sound'), + spawn_point: require('./lib/plugins/spawn_point'), + tablist: require('./lib/plugins/tablist'), + time: require('./lib/plugins/time'), + villager: require('./lib/plugins/villager') +} + +const supportedVersions = require('./lib/version').supportedVersions +const testedVersions = require('./lib/version').testedVersions + +module.exports = { + createBot, + Location: require('./lib/location'), + Painting: require('./lib/painting'), + Chest: require('./lib/chest'), + Furnace: require('./lib/furnace'), + Dispenser: require('./lib/dispenser'), + EnchantmentTable: require('./lib/enchantment_table'), + ScoreBoard: require('./lib/scoreboard'), + BossBar: require('./lib/bossbar'), + supportedVersions, + testedVersions, + supportFeature +} + +function createBot (options = {}) { + options.username = options.username || 'Player' + options.version = options.version || false + options.plugins = options.plugins || {} + options.logErrors = options.logErrors === undefined ? true : options.logErrors + options.loadInternalPlugins = options.loadInternalPlugins !== false + const bot = new Bot() + if (options.logErrors) { + bot.on('error', err => { + if (!options.hideErrors) { + console.log(err) + } + }) + } + + pluginLoader(bot, options) + const internalPlugins = Object.keys(plugins) + .filter(key => { + if (typeof options.plugins[key] === 'function') return false + if (options.plugins[key] === false) return false + return options.plugins[key] || options.loadInternalPlugins + }).map(key => plugins[key]) + const externalPlugins = Object.keys(options.plugins) + .filter(key => { + return typeof options.plugins[key] === 'function' + }).map(key => options.plugins[key]) + bot.loadPlugins([...internalPlugins, ...externalPlugins]) + + bot.connect(options) + return bot +} + +class Bot extends EventEmitter { + constructor () { + super() + this._client = null + } + + connect (options) { + const self = this + self._client = mc.createClient(options) + self._client.on('connect', () => { + self.emit('connect') + }) + self._client.on('error', (err) => { + self.emit('error', err) + }) + self._client.on('end', () => { + self.emit('end') + }) + if (!self._client.wait_connect) next() + else self._client.once('connect_allowed', next) + function next () { + const version = require('minecraft-data')(self._client.version).version + if (supportedVersions.indexOf(version.majorVersion) === -1) { + throw new Error(`Version ${version.minecraftVersion} is not supported.`) + } + + const latestTestedVersion = testedVersions[testedVersions.length - 1] + const latestProtocolVersion = require('minecraft-data')(latestTestedVersion).protocolVersion + if (version.protocolVersion > latestProtocolVersion) { + throw new Error(`Version ${version.minecraftVersion} is not supported. Latest supported version is ${latestTestedVersion}.`) + } + + self.protocolVersion = version.version + self.majorVersion = version.majorVersion + self.version = version.minecraftVersion + options.version = version.minecraftVersion + self.supportFeature = feature => supportFeature(feature, version.minecraftVersion) + self.emit('inject_allowed') + } + } + + end () { + this._client.end() + } +} diff --git a/node_modules/mineflayer/lib/bossbar.js b/node_modules/mineflayer/lib/bossbar.js new file mode 100644 index 00000000..efddffe2 --- /dev/null +++ b/node_modules/mineflayer/lib/bossbar.js @@ -0,0 +1,101 @@ +let ChatMessage +const colors = ['pink', 'blue', 'red', 'green', 'yellow', 'purple', 'white'] +const divisions = [0, 6, 10, 12, 20] + +module.exports = loader + +function loader (mcVersion) { + ChatMessage = require('prismarine-chat')(mcVersion) + return BossBar +} + +class BossBar { + constructor (uuid, title, health, dividers, color, flags) { + this._entityUUID = uuid + this._title = new ChatMessage(JSON.parse(title)) + this._health = health + this._dividers = divisions[dividers] + this._color = colors[color] + this._shouldDarkenSky = flags & 0x1 + this._isDragonBar = flags & 0x2 + this._createFog = flags & 0x4 + } + + set entityUUID (uuid) { + this._entityUUID = uuid + } + + set title (title) { + this._title = new ChatMessage(JSON.parse(title)) + } + + set health (health) { + this._health = health + } + + set dividers (dividers) { + this._dividers = divisions[dividers] + } + + set color (color) { + this._color = colors[color] + } + + set flags (flags) { + this._shouldDarkenSky = flags & 0x1 + this._isDragonBar = flags & 0x2 + this._createFog = flags & 0x4 + } + + get flags () { + return (this._shouldDarkenSky) | (this._isDragonBar << 1) | (this._createFog << 2) + } + + set shouldDarkenSky (darkenSky) { + this._shouldDarkenSky = darkenSky + } + + set isDragonBar (dragonBar) { + this._isDragonBar = dragonBar + } + + get createFog () { + return this._createFog + } + + set createFog (createFog) { + this._createFog = createFog + } + + get entityUUID () { + return this._entityUUID + } + + get title () { + return this._title + } + + get health () { + return this._health + } + + get dividers () { + return this._dividers + } + + get color () { + return this._color + } + + get shouldDarkenSky () { + return this._shouldDarkenSky + } + + get isDragonBar () { + return this._isDragonBar + } + + get shouldCreateFog () { + return this._createFog + } +} diff --git a/node_modules/mineflayer/lib/chest.js b/node_modules/mineflayer/lib/chest.js new file mode 100644 index 00000000..e267cbcb --- /dev/null +++ b/node_modules/mineflayer/lib/chest.js @@ -0,0 +1,39 @@ +const EventEmitter = require('events').EventEmitter +const assert = require('assert') + +class Chest extends EventEmitter { + constructor () { + super() + + this.window = null + } + + // this function is replaced by the inventory plugin + close () { + assert.ok(false, 'override') + } + + deposit (itemType, metadata, count) { + assert.ok(false, 'override') + } + + withdraw (itemType, metadata, count) { + assert.ok(false, 'override') + } + + count (itemType, metadata) { + assert.ok(this.window) + return this.window.countRange(0, this.window.inventoryStart, itemType, metadata) + } + + items () { + assert.ok(this.window) + return this.window.itemsRange(0, this.window.inventoryStart) + } +} + +module.exports = Chest + +Chest.matchWindowType = (type) => { + return type === 'minecraft:chest' || type.startsWith('minecraft:shulker_box') || type.startsWith('minecraft:generic') +} diff --git a/node_modules/mineflayer/lib/conversions.js b/node_modules/mineflayer/lib/conversions.js new file mode 100644 index 00000000..315b4fb9 --- /dev/null +++ b/node_modules/mineflayer/lib/conversions.js @@ -0,0 +1,40 @@ +const Vec3 = require('vec3').Vec3 +const math = require('./math') +const euclideanMod = math.euclideanMod +const PI = Math.PI +const PI_2 = Math.PI * 2 +const TO_RAD = PI / 180 +const TO_DEG = 1 / TO_RAD +const FROM_NOTCH_BYTE = 360 / 256 +// From wiki.vg: Velocity is believed to be in units of 1/8000 of a block per server tick (50ms) +const FROM_NOTCH_VEL = 1 / 8000 + +exports.toRadians = toRadians +exports.toDegrees = toDegrees +exports.fromNotchianYaw = fromNotchianYaw +exports.fromNotchianPitch = fromNotchianPitch +exports.fromNotchVelocity = fromNotchVelocity +exports.toNotchianYaw = yaw => toDegrees(PI - yaw) +exports.toNotchianPitch = pitch => toDegrees(-pitch) +exports.fromNotchianYawByte = yaw => fromNotchianYaw(yaw * FROM_NOTCH_BYTE) +exports.fromNotchianPitchByte = pitch => fromNotchianPitch(pitch * FROM_NOTCH_BYTE) + +function toRadians (degrees) { + return TO_RAD * degrees +} + +function toDegrees (radians) { + return TO_DEG * radians +} + +function fromNotchianYaw (yaw) { + return euclideanMod(PI - toRadians(yaw), PI_2) +} + +function fromNotchianPitch (pitch) { + return euclideanMod(toRadians(-pitch) + PI, PI_2) - PI +} + +function fromNotchVelocity (vel) { + return new Vec3(vel.x * FROM_NOTCH_VEL, vel.y * FROM_NOTCH_VEL, vel.z * FROM_NOTCH_VEL) +} diff --git a/node_modules/mineflayer/lib/dispenser.js b/node_modules/mineflayer/lib/dispenser.js new file mode 100644 index 00000000..0ef4d10f --- /dev/null +++ b/node_modules/mineflayer/lib/dispenser.js @@ -0,0 +1,39 @@ +const EventEmitter = require('events').EventEmitter +const assert = require('assert') + +class Dispenser extends EventEmitter { + constructor () { + super() + + this.window = null + } + + // this function is replaced by the inventory plugin + close () { + assert.ok(false, 'override') + } + + deposit (itemType, metadata, count) { + assert.ok(false, 'override') + } + + withdraw (itemType, metadata, count) { + assert.ok(false, 'override') + } + + count (itemType, metadata) { + assert.ok(this.window) + return this.window.dispenserCount(itemType, metadata) + } + + items () { + assert.ok(this.window) + return this.window.dispenserItems() + } +} + +Dispenser.matchWindowType = (type) => { + return type === 'minecraft:dispenser' +} + +module.exports = Dispenser diff --git a/node_modules/mineflayer/lib/enchantment_table.js b/node_modules/mineflayer/lib/enchantment_table.js new file mode 100644 index 00000000..b75a0439 --- /dev/null +++ b/node_modules/mineflayer/lib/enchantment_table.js @@ -0,0 +1,41 @@ +const EventEmitter = require('events').EventEmitter +const assert = require('assert') + +class EnchantmentTable extends EventEmitter { + constructor () { + super() + + this.window = null + } + + // this function is replaced by the inventory plugin + close () { + assert.ok(false, 'override') + } + + targetItem () { + return this.window.slots[0] + } + + enchant () { + assert.ok(false, 'override') + } + + takeTargetItem () { + assert.ok(false, 'override') + } + + putTargetItem () { + assert.ok(false, 'override') + } + + putLapis () { + assert.ok(false, 'override') + } +} + +EnchantmentTable.matchWindowType = (type) => { + return type.startsWith('minecraft:enchant') +} + +module.exports = EnchantmentTable diff --git a/node_modules/mineflayer/lib/features.json b/node_modules/mineflayer/lib/features.json new file mode 100644 index 00000000..afeb2549 --- /dev/null +++ b/node_modules/mineflayer/lib/features.json @@ -0,0 +1,242 @@ +[ + { + "name": "mobSpawner", + "description": "spawner is called mob_spawner", + "versions": ["1.8", "1.12.2"] + }, + { + "name": "spawner", + "description": "spawner is called spawner", + "versions": ["1.13", "1.16.4"] + }, + { + "name": "blockMetadata", + "description": "block metadata is encoded in a separate metadata", + "versions": ["1.8", "1.12.2"] + }, + { + "name": "blockStateId", + "description": "block metadata is encoded as state id", + "versions": ["1.13", "1.16.4"] + }, + { + "name": "creativeSleepNearMobs", + "description": "can sleep near mobs in creative", + "versions": ["1.13", "1.16.4"] + }, + { + "name": "fixedPointPosition", + "description": "Entity positions are represented with fixed point numbers", + "versions": ["1.8", "1.8.9"] + }, + { + "name": "doublePosition", + "description": "Entity positions are represented with double", + "versions": ["1.9", "1.16.4"] + }, + { + "name": "fixedPointDelta", + "description": "Delta of position are represented with fixed point numbers", + "versions": ["1.8", "1.8.9"] + }, + { + "name": "fixedPointDelta128", + "description": "Delta of position are represented with fixed point numbers times 128", + "versions": ["1.9", "1.16.4"] + }, + { + "name": "customChannelMCPrefixed", + "description": "custom channel are prefixed by MC|", + "versions": ["1.8", "1.12.2"] + }, + { + "name": "customChannelNotPrefixed", + "description": "custom channel don't have a prefix", + "versions": ["1.13", "1.16.4"] + }, + { + "name": "useItemWithBlockPlace", + "description": "use item is done with block place packet", + "versions": ["1.8", "1.8.9"] + }, + { + "name": "useItemWithOwnPacket", + "description": "use item is done with its own packet", + "versions": ["1.9", "1.16.4"] + }, + { + "name": "blockPlaceHasHeldItem", + "description": "block_place packet has heldItem", + "versions": ["1.8", "1.8.9"] + }, + { + "name": "blockPlaceHasHandAndIntCursor", + "description": "block_place packet has hand and int cursor", + "versions": ["1.9", "1.10.2"] + }, + { + "name": "blockPlaceHasHandAndFloatCursor", + "description": "block_place packet has hand and float cursor", + "versions": ["1.11", "1.13.2"] + }, + { + "name": "blockPlaceHasInsideBlock", + "description": "block_place packet has inside block", + "versions": ["1.14", "1.16.4"] + }, + { + "name": "teleportUsesPositionPacket", + "description": "teleport is done using position packet", + "versions": ["1.8", "1.8.9"] + }, + { + "name": "positionUpdateSentEveryTick", + "description": "", + "versions": ["1.8", "1.11.2"] + }, + { + "name": "teleportUsesOwnPacket", + "description": "teleport is done using its own packet", + "versions": ["1.9", "1.16.4"] + }, + { + "name": "oneBlockForSeveralVariations", + "description": "one block of several variations", + "versions": ["1.8", "1.12.2"] + }, + { + "name": "blockSchemeIsFlat", + "description": "all variations of a packet have their own id", + "versions": ["1.13", "1.16.4"] + }, + { + "name": "tabCompleteHasNoToolTip", + "description": "tab complete doesn't have a tool tip", + "versions": ["1.8", "1.12.2"] + }, + { + "name": "tabCompleteHasAToolTip", + "description": "tab complete has a tool tip", + "versions": ["1.13", "1.16.4"] + }, + { + "name": "effectAreMinecraftPrefixed", + "description": "effect are not prefixed", + "versions": ["1.8", "1.12.2"] + }, + { + "name": "effectAreNotPrefixed", + "description": "effect are prefixed by minecraft:", + "versions": ["1.13", "1.16.4"] + }, + { + "name": "itemsAreAlsoBlocks", + "description": "items are also blocks", + "versions": ["1.8", "1.12.2"] + }, + { + "name": "itemsAreNotBlocks", + "description": "items are not block", + "versions": ["1.13", "1.16.4"] + }, + { + "name": "fishingBobberCorrectlyNamed", + "description": "the fishing hook entity is named fishing_bobber", + "versions": ["1.14", "1.16.4"] + }, + { + "name": "editBookIsPluginChannel", + "description": "book editing is handled through plugin channels", + "versions": ["1.8", "1.12.2"] + }, + { + "name": "hasEditBookPacket", + "description": "book editing is handled through a packet", + "versions": ["1.13", "1.16.4"] + }, + { + "name": "clientUpdateBookIdWhenSign", + "description": "when sending MC|BSign, item type should be written_book", + "versions": ["1.8", "1.8.9"] + }, + { + "name": "useMCTrSel", + "description": "select trade through plugin channel MC|TrSel", + "versions": ["1.8", "1.12.2"] + }, + { + "name": "useMCTrList", + "description": "receive trade list through plugin channel MC|TrList", + "versions": ["1.8", "1.12.2"] + }, + { + "name": "usetraderlist", + "description": "receive trade list through plugin channel usetrader_list", + "versions": ["1.13", "1.13.2"] + }, + { + "name": "doesntHaveOffHandSlot", + "description": "doesn't have an off-hand slot", + "versions": ["1.8", "1.8.9"] + }, + { + "name": "dimensionIsAnInt", + "description": "description is an int (an enum)", + "versions": ["1.8", "1.15.2"] + }, + { + "name": "dimensionIsAString", + "description": "description is a string", + "versions": ["1.16", "1.16.1"] + }, + { + "name": "dimensionIsAWorld", + "description": "description is a world name (string)", + "versions": ["1.16.2", "1.16.4"] + }, + { + "name": "doesntHaveChestType", + "description": "chests don't have a type property", + "versions": ["1.8", "1.12.2"] + }, + { + "name": "usesAdvCdm", + "description": "Packet MC|AdvCmd was incorrectly spelled in 1.8 as MC|AdvCdm", + "versions": ["1.8", "1.8.9"] + }, + { + "name": "usesAdvCmd", + "description": "Uses MC|AdvCmd to set command block information", + "versions": ["1.9", "1.12.2"] + }, + { + "name": "indexesVillagerRecipes", + "description": "Gives a index for each trade in a villagers metadata", + "versions": ["1.8", "1.11.2"] + }, + { + "name": "hasAttackCooldown", + "description": "If there is a cooldown after attacks to deal full damage.", + "versions": ["1.9", "1.16.4"] + }, + { + "name": "usesLoginPacket", + "description": "Uses the login packet as defined in mcData", + "versions": ["1.16", "1.16.4"] + }, + { + "name": "usesMultiblockSingleLong", + "description": "In the multi_block_change packet is stored as a single number", + "versions": ["1.16.2", "1.16.4"] + }, + { + "name": "usesMultiblock3DChunkCoords", + "description": "In the multi_block_change packet, all 3 axis coords are defined.", + "versions": ["1.16.2", "1.16.4"] + }, + { + "name": "setBlockUsesMetadataNumber", + "description": "The parameter metadata of the setblock command is a number", + "versions": ["1.8", "1.12.2"] + } +] diff --git a/node_modules/mineflayer/lib/furnace.js b/node_modules/mineflayer/lib/furnace.js new file mode 100644 index 00000000..50b9690c --- /dev/null +++ b/node_modules/mineflayer/lib/furnace.js @@ -0,0 +1,62 @@ +const EventEmitter = require('events').EventEmitter +const assert = require('assert') + +class Furnace extends EventEmitter { + constructor () { + super() + + this.window = null + this.totalFuel = null + this.fuel = null + this.fuelSeconds = null + this.totalProgress = null + this.progress = null + this.progressSeconds = null + } + + // this function is replaced by the inventory plugin + close () { + assert.ok(false, 'override') + } + + takeInput (cb) { + assert.ok(false, 'override') + } + + takeFuel (cb) { + assert.ok(false, 'override') + } + + takeOutput (cb) { + assert.ok(false, 'override') + } + + putInput (itemType, metadata, cb) { + assert.ok(false, 'override') + } + + putFuel (itemType, metadata, cb) { + assert.ok(false, 'override') + } + + inputItem () { + assert.notStrictEqual(this.window, null) + return this.window.slots[0] + } + + fuelItem () { + assert.notStrictEqual(this.window, null) + return this.window.slots[1] + } + + outputItem () { + assert.notStrictEqual(this.window, null) + return this.window.slots[2] + } +} + +module.exports = Furnace + +Furnace.matchWindowType = (type) => { + return type === 'minecraft:furnace' +} diff --git a/node_modules/mineflayer/lib/iterators.js b/node_modules/mineflayer/lib/iterators.js new file mode 100644 index 00000000..bebdcf97 --- /dev/null +++ b/node_modules/mineflayer/lib/iterators.js @@ -0,0 +1,163 @@ +const { Vec3 } = require('vec3') + +// 2D spiral iterator, useful to iterate on +// columns that are centered on bot position +class ManathanIterator { + constructor (x, y, maxDistance) { + this.maxDistance = maxDistance + this.startx = x + this.starty = y + this.x = 2 + this.y = -1 + this.layer = 1 + this.leg = -1 + } + + next () { + if (this.leg === -1) { + // use -1 as the center + this.leg = 0 + return { x: this.startx, y: this.starty } + } else if (this.leg === 0) { + if (this.maxDistance === 1) return null + this.x-- + this.y++ + if (this.x === 0) this.leg = 1 + } else if (this.leg === 1) { + this.x-- + this.y-- + if (this.y === 0) this.leg = 2 + } else if (this.leg === 2) { + this.x++ + this.y-- + if (this.x === 0) this.leg = 3 + } else if (this.leg === 3) { + this.x++ + this.y++ + if (this.y === 0) { + this.x++ + this.leg = 0 + this.layer++ + if (this.layer === this.maxDistance) { + return null + } + } + } + return new Vec3(this.startx + this.x, 0, this.starty + this.y) + } +} + +class OctahedronIterator { + constructor (start, maxDistance) { + this.start = start.floored() + this.maxDistance = maxDistance + this.apothem = 1 + this.x = -1 + this.y = -1 + this.z = -1 + this.L = this.apothem + this.R = this.L + 1 + } + + next () { + if (this.apothem > this.maxDistance) return null + this.R -= 1 + if (this.R < 0) { + this.L -= 1 + if (this.L < 0) { + this.z += 2 + if (this.z > 1) { + this.y += 2 + if (this.y > 1) { + this.x += 2 + if (this.x > 1) { + this.apothem += 1 + this.x = -1 + } + this.y = -1 + } + this.z = -1 + } + this.L = this.apothem + } + this.R = this.L + } + const X = this.x * this.R + const Y = this.y * (this.apothem - this.L) + const Z = this.z * (this.apothem - (Math.abs(X) + Math.abs(Y))) + return this.start.offset(X, Y, Z) + } +} + +const BlockFace = { + UNKNOWN: -999, + BOTTOM: 0, + TOP: 1, + NORTH: 2, + SOUTH: 3, + WEST: 4, + EAST: 5 +} + +// This iterate along a ray starting at `pos` in `dir` direction +// It steps exactly 1 block at a time, returning the block coordinates +// and the face by which the ray entered the block. +class RaycastIterator { + constructor (pos, dir, maxDistance) { + this.block = { + x: Math.floor(pos.x), + y: Math.floor(pos.y), + z: Math.floor(pos.z), + face: BlockFace.UNKNOWN + } + + this.stepX = Math.sign(dir.x) + this.stepY = Math.sign(dir.y) + this.stepZ = Math.sign(dir.z) + + this.tDeltaX = (dir.x === 0) ? Number.MAX_VALUE : Math.abs(1 / dir.x) + this.tDeltaY = (dir.y === 0) ? Number.MAX_VALUE : Math.abs(1 / dir.y) + this.tDeltaZ = (dir.z === 0) ? Number.MAX_VALUE : Math.abs(1 / dir.z) + + this.tMaxX = (dir.x === 0) ? Number.MAX_VALUE : Math.abs((this.block.x + (dir.x > 0 ? 1 : 0) - pos.x) / dir.x) + this.tMaxY = (dir.y === 0) ? Number.MAX_VALUE : Math.abs((this.block.y + (dir.y > 0 ? 1 : 0) - pos.y) / dir.y) + this.tMaxZ = (dir.z === 0) ? Number.MAX_VALUE : Math.abs((this.block.z + (dir.z > 0 ? 1 : 0) - pos.z) / dir.z) + + this.maxDistance = maxDistance + } + + next () { + if (Math.min(Math.min(this.tMaxX, this.tMaxY), this.tMaxZ) > this.maxDistance) { return null } + + if (this.tMaxX < this.tMaxY) { + if (this.tMaxX < this.tMaxZ) { + this.block.x += this.stepX + this.tMaxX += this.tDeltaX + this.block.face = this.stepX > 0 ? BlockFace.WEST : BlockFace.EAST + } else { + this.block.z += this.stepZ + this.tMaxZ += this.tDeltaZ + this.block.face = this.stepZ > 0 ? BlockFace.NORTH : BlockFace.SOUTH + } + } else { + if (this.tMaxY < this.tMaxZ) { + this.block.y += this.stepY + this.tMaxY += this.tDeltaY + this.block.face = this.stepY > 0 ? BlockFace.BOTTOM : BlockFace.TOP + } else { + this.block.z += this.stepZ + this.tMaxZ += this.tDeltaZ + this.block.face = this.stepZ > 0 ? BlockFace.NORTH : BlockFace.SOUTH + } + } + + return this.block + } +} + +module.exports = { + ManathanIterator, + OctahedronIterator, + RaycastIterator, + BlockFace +} diff --git a/node_modules/mineflayer/lib/location.js b/node_modules/mineflayer/lib/location.js new file mode 100644 index 00000000..5c88f1ce --- /dev/null +++ b/node_modules/mineflayer/lib/location.js @@ -0,0 +1,14 @@ +const { Vec3 } = require('vec3') +const CHUNK_SIZE = new Vec3(16, 16, 16) + +class Location { + constructor (absoluteVector) { + this.floored = absoluteVector.floored() + this.blockPoint = this.floored.modulus(CHUNK_SIZE) + this.chunkCorner = this.floored.minus(this.blockPoint) + this.blockIndex = this.blockPoint.x + CHUNK_SIZE.x * this.blockPoint.z + CHUNK_SIZE.x * CHUNK_SIZE.z * this.blockPoint.y + this.biomeBlockIndex = this.blockPoint.x + CHUNK_SIZE.x * this.blockPoint.z + this.chunkYIndex = Math.floor(absoluteVector.y / 16) + } +} +module.exports = Location diff --git a/node_modules/mineflayer/lib/math.js b/node_modules/mineflayer/lib/math.js new file mode 100644 index 00000000..f7d53ce6 --- /dev/null +++ b/node_modules/mineflayer/lib/math.js @@ -0,0 +1,8 @@ +exports.clamp = function clamp (min, x, max) { + return Math.max(min, Math.min(x, max)) +} + +exports.euclideanMod = function euclideanMod (numerator, denominator) { + const result = numerator % denominator + return result < 0 ? result + denominator : result +} diff --git a/node_modules/mineflayer/lib/painting.js b/node_modules/mineflayer/lib/painting.js new file mode 100644 index 00000000..4efe4c5e --- /dev/null +++ b/node_modules/mineflayer/lib/painting.js @@ -0,0 +1,7 @@ +function Painting (id, pos, name, direction) { + this.id = id + this.position = pos + this.name = name + this.direction = direction +} +module.exports = Painting diff --git a/node_modules/mineflayer/lib/plugin_loader.js b/node_modules/mineflayer/lib/plugin_loader.js new file mode 100644 index 00000000..97b5a043 --- /dev/null +++ b/node_modules/mineflayer/lib/plugin_loader.js @@ -0,0 +1,52 @@ +const assert = require('assert') + +module.exports = inject + +function inject (bot, options) { + let loaded = false + const pluginList = [] + bot.once('inject_allowed', onInjectAllowed) + + function onInjectAllowed () { + loaded = true + injectPlugins() + } + + function loadPlugin (plugin) { + assert.ok(typeof plugin === 'function', 'plugin needs to be a function') + + if (hasPlugin(plugin)) { + return + } + + pluginList.push(plugin) + + if (loaded) { + plugin(bot, options) + } + } + + function loadPlugins (plugins) { + // While type checking if already done in the other function, it's useful to do + // it here to prevent situations where only half the plugin list is loaded. + assert.ok(plugins.filter(plugin => typeof plugin === 'function').length === plugins.length, 'plugins need to be an array of functions') + + plugins.forEach((plugin) => { + loadPlugin(plugin) + }) + } + + function injectPlugins () { + pluginList.forEach((plugin) => { + plugin(bot, options) + }) + } + + function hasPlugin (plugin) { + return pluginList.indexOf(plugin) >= 0 + } + + bot.loadPlugin = loadPlugin + bot.loadPlugins = loadPlugins + bot.hasPlugin = hasPlugin +} diff --git a/node_modules/mineflayer/lib/plugins/bed.js b/node_modules/mineflayer/lib/plugins/bed.js new file mode 100644 index 00000000..ba533839 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/bed.js @@ -0,0 +1,179 @@ +const Vec3 = require('vec3').Vec3 +const { callbackify } = require('../promise_utils') + +module.exports = inject + +const CARDINAL_DIRECTIONS = ['south', 'west', 'north', 'east'] + +function inject (bot) { + bot.isSleeping = false + const mcData = require('minecraft-data')(bot.version) + + const beds = new Set(['white_bed', 'orange_bed', 'magenta_bed', 'light_blue_bed', 'yellow_bed', 'lime_bed', 'pink_bed', 'gray_bed', + 'light_gray_bed', 'cyan_bed', 'purple_bed', 'blue_bed', 'brown_bed', 'green_bed', 'red_bed', 'black_bed', 'bed']) + + function isABed (block) { + return beds.has(block.name) + } + + function parseBedMetadata (bedBlock) { + const metadata = { + part: false, // true: head, false: foot + occupied: 0, + facing: 0, // 0: south, 1: west, 2: north, 3 east + headOffset: new Vec3(0, 0, 1) + } + + if (bot.supportFeature('blockStateId')) { + const state = bedBlock.stateId - mcData.blocksByStateId[bedBlock.stateId].minStateId + const bitMetadata = state.toString(2).padStart(4, '0') // FACING (first 2 bits), PART (3rd bit), OCCUPIED (4th bit) + metadata.part = bitMetadata[3] === '0' + metadata.occupied = bitMetadata[2] === '0' + + switch (bitMetadata.slice(0, 2)) { + case '00': + metadata.facing = 2 + metadata.headOffset.set(0, 0, -1) + break + case '10': + metadata.facing = 1 + metadata.headOffset.set(-1, 0, 0) + break + case '11': + metadata.facing = 3 + metadata.headOffset.set(1, 0, 0) + } + } else if (bot.supportFeature('blockMetadata')) { + const bitMetadata = bedBlock.metadata.toString(2).padStart(4, '0') // PART (1st bit), OCCUPIED (2nd bit), FACING (last 2 bits) + metadata.part = bitMetadata[0] === '1' + metadata.occupied = bitMetadata[1] === '1' + + switch (bitMetadata.slice(2, 4)) { + case '01': + metadata.facing = 1 + metadata.headOffset.set(-1, 0, 0) + break + case '10': + metadata.facing = 2 + metadata.headOffset.set(0, 0, -1) + break + case '11': + metadata.facing = 3 + metadata.headOffset.set(1, 0, 0) + } + } + + return metadata + } + + async function wake () { + if (!bot.isSleeping) { + throw new Error('already awake') + } else { + bot._client.write('entity_action', { + entityId: bot.entity.id, + actionId: 2, + jumpBoost: 0 + }) + } + } + + async function sleep (bedBlock) { + if (!(bot.time.timeOfDay >= 12541 && bot.time.timeOfDay <= 23458)) { + throw new Error("it's not night") + } else if (bot.isSleeping) { + throw new Error('already sleeping') + } else if (!isABed(bedBlock)) { + throw new Error('wrong block : not a bed block') + } else { + const botPos = bot.entity.position.floored() + const metadata = parseBedMetadata(bedBlock) + let headPoint = bedBlock.position + + if (metadata.occupied) { + throw new Error('the bed is occupied') + } + + if (!metadata.part) { // Is foot + const upperBlock = bot.blockAt(bedBlock.position.plus(metadata.headOffset)) + + if (isABed(upperBlock)) { + headPoint = upperBlock.position + } else { + const lowerBlock = bot.blockAt(bedBlock.position.plus(metadata.headOffset.scaled(-1))) + + if (isABed(lowerBlock)) { + // If there are 2 foot parts, minecraft only lets you sleep if you click on the lower one + headPoint = bedBlock.position + bedBlock = lowerBlock + } else { + throw new Error("there's only half bed") + } + } + } + + if (!bot.canDigBlock(bedBlock)) { + throw new Error('cant click the bed') + } + + const clickRange = [2, -3, -3, 2] // [south, west, north, east] + const monsterRange = [7, -8, -8, 7] + const oppositeCardinal = (metadata.facing + 2) % CARDINAL_DIRECTIONS.length + + if (clickRange[oppositeCardinal] < 0) { + clickRange[oppositeCardinal]-- + } else { + clickRange[oppositeCardinal]++ + } + + const nwClickCorner = headPoint.offset(clickRange[1], -2, clickRange[2]) // North-West lower corner + const seClickCorner = headPoint.offset(clickRange[3], 2, clickRange[0]) // South-East upper corner + if (botPos.x > seClickCorner.x || botPos.x < nwClickCorner.x || botPos.y > seClickCorner.y || botPos.y < nwClickCorner.y || botPos.z > seClickCorner.z || botPos.z < nwClickCorner.z) { + throw new Error('the bed is too far') + } + + if (bot.gameMode !== 'creative' || bot.supportFeature('creativeSleepNearMobs')) { // If in creative mode the bot should be able to sleep even if there are monster nearby (starting in 1.13) + const nwMonsterCorner = headPoint.offset(monsterRange[1], -6, monsterRange[2]) // North-West lower corner + const seMonsterCorner = headPoint.offset(monsterRange[3], 4, monsterRange[0]) // South-East upper corner + + for (const key of Object.keys(bot.entities)) { + const entity = bot.entities[key] + if (entity.kind === 'Hostile mobs') { + const entityPos = entity.position.floored() + if (entityPos.x <= seMonsterCorner.x && entityPos.x >= nwMonsterCorner.x && entityPos.y <= seMonsterCorner.y && entityPos.y >= nwMonsterCorner.y && entityPos.z <= seMonsterCorner.z && entityPos.z >= nwMonsterCorner.z) { + throw new Error('there are monsters nearby') + } + } + } + } + + await bot.activateBlock(bedBlock) + } + } + + bot._client.on('game_state_change', (packet) => { + if (packet.reason === 0) { + // occurs when you can't spawn in your bed and your spawn point gets reset + bot.emit('spawnReset') + } + }) + + bot.on('entitySleep', (entity) => { + if (entity === bot.entity) { + bot.isSleeping = true + bot.emit('sleep') + } + }) + + bot.on('entityWake', (entity) => { + if (entity === bot.entity) { + bot.isSleeping = false + bot.emit('wake') + } + }) + + bot.parseBedMetadata = parseBedMetadata + bot.wake = callbackify(wake) + bot.sleep = callbackify(sleep) + bot.isABed = isABed +} diff --git a/node_modules/mineflayer/lib/plugins/block_actions.js b/node_modules/mineflayer/lib/plugins/block_actions.js new file mode 100644 index 00000000..14be9a06 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/block_actions.js @@ -0,0 +1,97 @@ +const Vec3 = require('vec3').Vec3 + +module.exports = inject + +const CARDINALS = { + north: new Vec3(0, 0, -1), + south: new Vec3(0, 0, 1), + west: new Vec3(-1, 0, 0), + east: new Vec3(1, 0, 0) +} + +const FACING_MAP = { + north: { west: 'right', east: 'left' }, + south: { west: 'left', east: 'right' }, + west: { north: 'left', south: 'right' }, + east: { north: 'right', south: 'left' } +} + +function inject (bot, { version }) { + const { instruments, blocks } = require('minecraft-data')(version) + + function parseChestMetadata (chestBlock) { + const chestTypes = ['single', 'right', 'left'] + + return bot.supportFeature('doesntHaveChestType') + ? { facing: Object.keys(CARDINALS)[chestBlock.metadata - 2] } + : { + waterlogged: !(chestBlock.metadata & 1), + type: chestTypes[(chestBlock.metadata >> 1) % 3], + facing: Object.keys(CARDINALS)[Math.floor(chestBlock.metadata / 6)] + } + } + + function getChestType (chestBlock) { // Returns 'single', 'right' or 'left' + if (bot.supportFeature('doesntHaveChestType')) { + const facing = parseChestMetadata(chestBlock).facing + + // We have to check if the adjacent blocks in the perpendicular cardinals are the same type + const perpendicularCardinals = Object.keys(FACING_MAP[facing]) + for (const cardinal of perpendicularCardinals) { + const cardinalOffset = CARDINALS[cardinal] + if (bot.blockAt(chestBlock.position.plus(cardinalOffset)).type === chestBlock.type) { + return FACING_MAP[cardinal][facing] + } + } + + return 'single' + } else { + return parseChestMetadata(chestBlock).type + } + } + + bot._client.on('block_action', (packet) => { + const pt = new Vec3(packet.location.x, packet.location.y, packet.location.z) + const block = bot.blockAt(pt) + + if (block === null) { return } + + const blockName = blocks[packet.blockId].name + + if (blockName === 'noteblock') { // Pre 1.13 + bot.emit('noteHeard', block, instruments[packet.byte1], packet.byte2) + } else if (blockName === 'note_block') { // 1.13 onward + bot.emit('noteHeard', block, instruments[Math.floor(block.metadata / 50)], Math.floor((block.metadata % 50) / 2)) + } else if (blockName === 'sticky_piston' || blockName === 'piston') { + bot.emit('pistonMove', block, packet.byte1, packet.byte2) + } else { + if (blockName === 'chest' || blockName === 'trapped_chest') { + const chestType = getChestType(block) + if (chestType === 'single') { // Omit left so 'chestLidMove' doesn't emit twice when it's a double chest + bot.emit('chestLidMove', block, packet.byte2, null) + } else if (chestType === 'right') { + const index = Object.values(FACING_MAP[parseChestMetadata(block).facing]).indexOf('left') + const cardinalBlock2 = Object.keys(FACING_MAP[parseChestMetadata(block).facing])[index] + const block2Position = block.position.plus(CARDINALS[cardinalBlock2]) + bot.emit('chestLidMove', block, packet.byte2, bot.blockAt(block2Position)) + } + } else { + bot.emit('chestLidMove', block, packet.byte2, null) + } + } + }) + + bot._client.on('block_break_animation', (packet) => { + const destroyStage = packet.destroyStage + const pt = new Vec3(packet.location.x, packet.location.y, packet.location.z) + const block = bot.blockAt(pt) + + if (destroyStage < 0 || destroyStage > 9) { + // http://wiki.vg/Protocol#Block_Break_Progress + // "0-9 to set it, any other value to remove it" + bot.emit('blockBreakProgressEnd', block) + } else { + bot.emit('blockBreakProgressObserved', block, destroyStage) + } + }) +} diff --git a/node_modules/mineflayer/lib/plugins/blocks.js b/node_modules/mineflayer/lib/plugins/blocks.js new file mode 100644 index 00000000..ccf4c8ae --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/blocks.js @@ -0,0 +1,507 @@ +const Vec3 = require('vec3').Vec3 +const assert = require('assert') +const Painting = require('../painting') +const Location = require('../location') +const { callbackify, sleep } = require('../promise_utils') + +const { OctahedronIterator } = require('../iterators') + +module.exports = inject + +const paintingFaceToVec = [ + new Vec3(0, 0, -1), + new Vec3(-1, 0, 0), + new Vec3(0, 0, 1), + new Vec3(1, 0, 0) +] + +const dimensionNames = { + '-1': 'minecraft:nether', + 0: 'minecraft:overworld', + 1: 'minecraft:end' +} + +function inject (bot, { version, storageBuilder }) { + const nbt = require('prismarine-nbt') + const Block = require('prismarine-block')(version) + const Chunk = require('prismarine-chunk')(version) + const ChatMessage = require('prismarine-chat')(version) + const World = require('prismarine-world')(version) + const signs = {} + const paintingsByPos = {} + const paintingsById = {} + + const blockEntities = new Map() + + function addPainting (painting) { + paintingsById[painting.id] = painting + paintingsByPos[painting.position] = painting + } + + function deletePainting (painting) { + delete paintingsById[painting.id] + delete paintingsByPos[painting.position] + } + + function addBlockEntity (nbtData) { + const blockEntity = nbt.simplify(nbtData) + const absolutePoint = new Vec3(blockEntity.x, blockEntity.y, blockEntity.z) + const loc = new Location(absolutePoint) + // Set raw nbt of blockEntity + blockEntity.raw = nbtData + // Handle signs + if (blockEntity.id === 'minecraft:sign' || blockEntity.id === 'Sign') { + const prepareJson = (i) => { + const data = blockEntity[`Text${i}`] + + if (data === null || data === '') return '' + + const json = JSON.parse(data) + if (!('text' in json)) return '' + + json.text = json.text.replace(/^"|"$/g, '') + return json + } + + blockEntity.Text1 = new ChatMessage(prepareJson(1)) + blockEntity.Text2 = new ChatMessage(prepareJson(2)) + blockEntity.Text3 = new ChatMessage(prepareJson(3)) + blockEntity.Text4 = new ChatMessage(prepareJson(4)) + + signs[loc.floored] = [ + blockEntity.Text1.toString(), + blockEntity.Text2.toString(), + blockEntity.Text3.toString(), + blockEntity.Text4.toString() + ].join('\n') + } + + blockEntities[loc.floored] = blockEntity + } + + function delColumn (chunkX, chunkZ) { + const columnCorner = new Vec3(chunkX * 16, 0, chunkZ * 16) + bot.world.unloadColumn(chunkX, chunkZ) + bot.emit('chunkColumnUnload', columnCorner) + } + + function addColumn (args) { + const columnCorner = new Vec3(args.x * 16, 0, args.z * 16) + if (!args.bitMap) { + // stop storing the chunk column + delColumn(args.x, args.z) + return + } + let column = bot.world.getColumn(args.x, args.z) + if (!column) { + column = new Chunk() + bot.world.setColumn(args.x, args.z, column) + } + + try { + column.load(args.data, args.bitMap, args.skyLightSent, args.groundUp) + if (args.biomes !== undefined) { + column.loadBiomes(args.biomes) + } + } catch (e) { + bot.emit('error', e) + return + } + + bot.emit('chunkColumnLoad', columnCorner) + } + + async function waitForChunksToLoad () { + // check 5x5 chunks around us + for (let x = -2; x <= 2; x++) { + for (let y = -2; y <= 2; y++) { + if (bot.world.getColumnAt(bot.entity.position.plus(new Vec3(x, 0, y).scaled(16))) == null) { + // keep wait + await sleep(100) + await waitForChunksToLoad() + } + } + } + } + + function getMatchingFunction (matching) { + if (typeof (matching) !== 'function') { + if (!Array.isArray(matching)) { + matching = [matching] + } + return isMatchingType + } + return matching + + function isMatchingType (block) { + return block === null ? false : matching.indexOf(block.type) >= 0 + } + } + + function isBlockInSection (section, matcher) { + if (!section) return false // section is empty, skip it (yay!) + // If the chunk use a palette we can speed up the search by first + // checking the palette which usually contains less than 20 ids + // vs checking the 4096 block of the section. If we don't have a + // match in the palette, we can skip this section. + if (section.palette) { + for (const stateId of section.palette) { + if (matcher(Block.fromStateId(stateId, 0))) { + return true // the block is in the palette + } + } + return false // skip + } + return true // global palette, the block might be in there + } + + bot.findBlocks = (options) => { + const matcher = getMatchingFunction(options.matching) + const point = (options.point || bot.entity.position).floored() + const maxDistance = options.maxDistance || 16 + const count = options.count || 1 + const useExtraInfo = options.useExtraInfo || false + const start = new Vec3(Math.floor(point.x / 16), Math.floor(point.y / 16), Math.floor(point.z / 16)) + const it = new OctahedronIterator(start, Math.ceil((maxDistance + 8) / 16)) + // the octahedron iterator can sometime go through the same section again + // we use a set to keep track of visited sections + const visitedSections = new Set() + + let blocks = [] + let startedLayer = 0 + let next = start + while (next) { + const column = bot.world.getColumn(next.x, next.z) + if (next.y >= 0 && next.y < 16 && column && !visitedSections.has(next.toString())) { + const section = column.sections[next.y] + if (isBlockInSection(section, matcher)) { + const cursor = new Vec3(0, 0, 0) + for (cursor.x = next.x * 16; cursor.x < next.x * 16 + 16; cursor.x++) { + for (cursor.y = next.y * 16; cursor.y < next.y * 16 + 16; cursor.y++) { + for (cursor.z = next.z * 16; cursor.z < next.z * 16 + 16; cursor.z++) { + const found = bot.blockAt(cursor, useExtraInfo) + if (matcher(found) && cursor.distanceTo(point) <= maxDistance) blocks.push(cursor.clone()) + } + } + } + } + visitedSections.add(next.toString()) + } + // If we started a layer, we have to finish it otherwise we might miss closer blocks + if (startedLayer !== it.apothem && blocks.length >= count) { + break + } + startedLayer = it.apothem + next = it.next() + } + blocks.sort((a, b) => { + return a.distanceTo(point) - b.distanceTo(point) + }) + // We found more blocks than needed, shorten the array to not confuse people + if (blocks.length > count) { + blocks = blocks.slice(0, count) + } + return blocks + } + + function findBlock (options) { + const blocks = bot.findBlocks(options) + if (blocks.length === 0) return null + return bot.blockAt(blocks[0]) + } + + function blockAt (absolutePoint, extraInfos = true) { + const loc = new Location(absolutePoint) + + const block = bot.world.getBlock(absolutePoint) + // null block means chunk not loaded + if (!block) return null + + block.position = loc.floored + if (extraInfos) { + block.signText = signs[loc.floored] + block.painting = paintingsByPos[loc.floored] + block.blockEntity = blockEntities[loc.floored] + } + + return block + } + + function blockIsNotEmpty (pos) { + const block = bot.blockAt(pos) + return block !== null && block.boundingBox !== 'empty' + } + + // maybe this should be moved to math.js instead? + function visiblePosition (a, b) { + let v = b.minus(a) + const t = Math.sqrt(v.x * v.x + v.y * v.y + v.z * v.z) + v = v.scaled(1 / t) + v = v.scaled(1 / 5) + const u = t * 5 + let na + for (let i = 1; i < u; i++) { + na = a.plus(v) + // check that blocks don't inhabit the same position + if (!na.floored().equals(a.floored())) { + // check block is not transparent + if (blockIsNotEmpty(na)) return false + } + a = na + } + return true + } + + // if passed in block is within line of sight to the bot, returns true + // also works on anything with a position value + function canSeeBlock (block) { + // this emits a ray from the center of the bots body to the block + if (visiblePosition(bot.entity.position.offset(0, bot.entity.height * 0.5, 0), block.position)) { + return true + } + return false + } + + function emitBlockUpdate (oldBlock, newBlock) { + bot.emit('blockUpdate', oldBlock, newBlock) + const position = oldBlock + ? oldBlock.position + : (newBlock ? newBlock.position : null) + if (position) bot.emit(`blockUpdate:${newBlock.position}`, oldBlock, newBlock) + } + + bot._client.on('unload_chunk', (packet) => { + delColumn(packet.chunkX, packet.chunkZ) + }) + + function updateBlockState (point, stateId) { + const oldBlock = blockAt(point) + const loc = new Location(point) + bot.world.setBlockStateId(point, stateId) + + const newBlock = blockAt(point) + // sometimes minecraft server sends us block updates before it sends + // us the column that the block is in. ignore this. + if (newBlock === null) { + return + } + if (oldBlock.type !== newBlock.type) { + delete blockEntities[loc.floored] + delete signs[loc.floored] + + const painting = paintingsByPos[loc.floored] + if (painting) deletePainting(painting) + } + + emitBlockUpdate(oldBlock, newBlock) + } + + bot._client.on('update_light', (packet) => { + let column = bot.world.getColumn(packet.chunkX, packet.chunkZ) + if (!column) { + column = new Chunk() + bot.world.setColumn(packet.chunkX, packet.chunkZ, column) + } + + column.loadLight(packet.data, packet.skyLightMask, packet.blockLightMask, packet.emptySkyLightMask, packet.emptyBlockLightMask) + }) + + bot._client.on('map_chunk', (packet) => { + addColumn({ + x: packet.x, + z: packet.z, + bitMap: packet.bitMap, + heightmaps: packet.heightmaps, + biomes: packet.biomes, + skyLightSent: bot.game.dimension === 'minecraft:overworld', + groundUp: packet.groundUp, + data: packet.chunkData + }) + + if (typeof packet.blockEntities !== 'undefined') { + for (const nbtData of packet.blockEntities) { + addBlockEntity(nbtData) + } + } + }) + + bot._client.on('map_chunk_bulk', (packet) => { + let offset = 0 + let meta + let i + let size + for (i = 0; i < packet.meta.length; ++i) { + meta = packet.meta[i] + size = (8192 + (packet.skyLightSent ? 2048 : 0)) * + onesInShort(meta.bitMap) + // block ids + 2048 * onesInShort(meta.bitMap) + // (two bytes per block id) + 256 // biomes + addColumn({ + x: meta.x, + z: meta.z, + bitMap: meta.bitMap, + heightmaps: packet.heightmaps, + skyLightSent: packet.skyLightSent, + groundUp: true, + data: packet.data.slice(offset, offset + size) + }) + offset += size + } + + assert.strictEqual(offset, packet.data.length) + }) + + bot._client.on('multi_block_change', (packet) => { + // multi block change + for (let i = 0; i < packet.records.length; ++i) { + const record = packet.records[i] + + let blockX, blockY, blockZ + if (bot.supportFeature('usesMultiblockSingleLong')) { + blockZ = (record >> 4) & 0x0f + blockX = (record >> 8) & 0x0f + blockY = record & 0x0f + } else { + blockZ = record.horizontalPos & 0x0f + blockX = (record.horizontalPos >> 4) & 0x0f + blockY = record.y + } + + let pt + if (bot.supportFeature('usesMultiblock3DChunkCoords')) { + pt = new Vec3(packet.chunkCoordinates.x, packet.chunkCoordinates.y, packet.chunkCoordinates.z) + } else { + pt = new Vec3(packet.chunkX, 0, packet.chunkZ) + } + + pt = pt.scale(16).offset(blockX, blockY, blockZ) + + if (bot.supportFeature('usesMultiblockSingleLong')) { + updateBlockState(pt, record >> 12) + } else { + updateBlockState(pt, record.blockId) + } + } + }) + + bot._client.on('block_change', (packet) => { + const pt = new Vec3(packet.location.x, packet.location.y, packet.location.z) + updateBlockState(pt, packet.type) + }) + + bot._client.on('explosion', (packet) => { + // explosion + const p = new Vec3(packet.x, packet.y, packet.z) + packet.affectedBlockOffsets.forEach((offset) => { + const pt = p.offset(offset.x, offset.y, offset.z) + updateBlockState(pt, 0) + }) + }) + + bot._client.on('spawn_entity_painting', (packet) => { + const pos = new Vec3(packet.location.x, packet.location.y, packet.location.z) + const painting = new Painting(packet.entityId, + pos, packet.title, paintingFaceToVec[packet.direction]) + addPainting(painting) + }) + + bot._client.on('entity_destroy', (packet) => { + // destroy entity + packet.entityIds.forEach((id) => { + const painting = paintingsById[id] + if (painting) deletePainting(painting) + }) + }) + + bot._client.on('update_sign', (packet) => { + const pos = new Vec3(packet.location.x, packet.location.y, packet.location.z) + const oldBlock = blockAt(pos) + + const prepareString = (i) => { + let text = packet[`text${i}`] + + if (text === 'null' || text === '') { + text = '""' + } + + const json = JSON.parse(text) + if (json.text) { + json.text = json.text.replace(/^"|"$/g, '') + } + + return new ChatMessage(json) + } + + signs[pos] = [ + prepareString(1), + prepareString(2), + prepareString(3), + prepareString(4) + ].join('\n') + + emitBlockUpdate(oldBlock, blockAt(pos)) + }) + + bot._client.on('tile_entity_data', (packet) => { + addBlockEntity(packet.nbtData) + }) + + bot.updateSign = (block, text) => { + const lines = text.split('\n') + if (lines.length > 4) { + bot.emit('error', new Error('too many lines for sign text')) + return + } + for (let i = 0; i < lines.length; ++i) { + if (lines[i].length > 15) { + bot.emit('error', new Error('signs have max line length 15')) + return + } + } + + bot._client.write('update_sign', { + location: block.position, + text1: JSON.stringify(lines[0]), + text2: JSON.stringify(lines[1]), + text3: JSON.stringify(lines[2]), + text4: JSON.stringify(lines[3]) + }) + } + + // if we get a respawn packet and the dimension is changed, + // unload all chunks from memory. + let dimension + + function dimensionToFolderName (dimension) { + if (bot.supportFeature('dimensionIsAnInt')) { + return dimensionNames[dimension] + } else if (bot.supportFeature('dimensionIsAString') || bot.supportFeature('dimensionIsAWorld')) { + return dimension + } + } + bot._client.on('login', (packet) => { + dimension = packet.dimension + bot.world = new World(null, storageBuilder ? storageBuilder({ version: bot.version, worldName: dimensionToFolderName(packet.dimension) }) : null).sync + }) + bot._client.on('respawn', (packet) => { + if (dimension === packet.dimension) return + dimension = packet.dimension + bot.world = new World(null, storageBuilder ? storageBuilder({ version: bot.version, worldName: dimensionToFolderName(packet.dimension) }) : null).sync + }) + + bot.findBlock = findBlock + bot.canSeeBlock = canSeeBlock + bot.blockAt = blockAt + bot._updateBlockState = updateBlockState + bot._blockEntities = blockEntities + bot.waitForChunksToLoad = callbackify(waitForChunksToLoad) +} + +function onesInShort (n) { + n = n & 0xffff + let count = 0 + for (let i = 0; i < 16; ++i) { + count = ((1 << i) & n) ? count + 1 : count + } + return count +} diff --git a/node_modules/mineflayer/lib/plugins/book.js b/node_modules/mineflayer/lib/plugins/book.js new file mode 100644 index 00000000..2650aa68 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/book.js @@ -0,0 +1,103 @@ +const assert = require('assert') +const { once } = require('events') +const { callbackify } = require('../promise_utils') + +module.exports = inject + +function inject (bot, { version }) { + const mcData = require('minecraft-data')(version) + const Item = require('prismarine-item')(version) + + let editBook + if (bot.supportFeature('editBookIsPluginChannel')) { + bot._client.registerChannel('MC|BEdit', 'slot') + bot._client.registerChannel('MC|BSign', 'slot') + editBook = (book, signing = false) => { + if (signing) bot._client.writeChannel('MC|BSign', Item.toNotch(book)) + else bot._client.writeChannel('MC|BEdit', Item.toNotch(book)) + } + } else if (bot.supportFeature('hasEditBookPacket')) { + editBook = (book, signing = false, hand = 0) => { + bot._client.write('edit_book', { + new_book: Item.toNotch(book), + signing, + hand + }) + } + } + + async function write (slot, pages, author, title, signing) { + assert.ok(slot >= 0 && slot <= 44, 'slot out of inventory range') + const book = bot.inventory.slots[slot] + assert.ok(book && book.type === mcData.itemsByName.writable_book.id, `no book found in slot ${slot}`) + const quickBarSlot = bot.quickBarSlot + const moveToQuickBar = slot < 36 + + if (moveToQuickBar) { + await bot.moveSlotItem(slot, 36) + } + + bot.setQuickBarSlot(moveToQuickBar ? 0 : slot - 36) + + const modifiedBook = await modifyBook(moveToQuickBar ? 36 : slot, pages, author, title, signing) + editBook(modifiedBook, signing) + let newItem + do { + [, newItem] = await once(bot, 'setSlot:0') + } while (newItem.slot !== slot) + + bot.setQuickBarSlot(quickBarSlot) + + if (moveToQuickBar) { + await bot.moveSlotItem(36, slot) + } + } + + async function modifyBook (slot, pages, author, title, signing) { + const book = Object.assign({}, bot.inventory.slots[slot]) + if (!book.nbt || book.nbt.type !== 'compound') { + book.nbt = { + type: 'compound', + name: '', + value: {} + } + } + if (signing) { + if (bot.supportFeature('clientUpdateBookIdWhenSign')) { + book.type = mcData.itemsByName.written_book.id + } + book.nbt.value.author = { + type: 'string', + value: author + } + book.nbt.value.title = { + type: 'string', + value: title + } + } + book.nbt.value.pages = { + type: 'list', + value: { + type: 'string', + value: pages + } + } + const response = once(bot.inventory, 'windowUpdate') + bot.inventory.updateSlot(slot, book) + let [updatedSlot] = await response + + while (updatedSlot !== slot) { + [updatedSlot] = await once(bot.inventory, 'windowUpdate') + } + + return book + } + + bot.writeBook = callbackify(async (slot, pages) => { + await write(slot, pages, null, null, false) + }) + + bot.signBook = callbackify(async (slot, pages, author, title) => { + await write(slot, pages, author, title, true) + }) +} diff --git a/node_modules/mineflayer/lib/plugins/boss_bar.js b/node_modules/mineflayer/lib/plugins/boss_bar.js new file mode 100644 index 00000000..afe1f123 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/boss_bar.js @@ -0,0 +1,52 @@ +module.exports = inject + +function inject (bot, { version }) { + const BossBar = require('../bossbar')(version) + const bars = {} + + bot._client.on('boss_bar', (packet) => { + if (packet.action === 0) { + bars[packet.entityUUID] = new BossBar( + packet.entityUUID, + packet.title, + packet.health, + packet.dividers, + packet.color, + packet.flags + ) + + bot.emit('bossBarCreated', bars[packet.entityUUID]) + } else if (packet.action === 1) { + bot.emit('bossBarDeleted', bars[packet.entityUUID]) + delete bars[packet.entityUUID] + } else { + if (!(packet.entityUUID in bars)) { + return + } + if (packet.action === 2) { + bars[packet.entityUUID].health = packet.health + } + + if (packet.action === 3) { + bars[packet.entityUUID].title = packet.title + } + + if (packet.action === 4) { + bars[packet.entityUUID].dividers = packet.dividers + bars[packet.entityUUID].color = packet.color + } + + if (packet.action === 5) { + bars[packet.entityUUID].flags = packet.flags + } + + bot.emit('bossBarUpdated', bars[packet.entityUUID]) + } + }) + + Object.defineProperty(bot, 'bossBars', { + get () { + return Object.values(bars) + } + }) +} diff --git a/node_modules/mineflayer/lib/plugins/chat.js b/node_modules/mineflayer/lib/plugins/chat.js new file mode 100644 index 00000000..61c8e4da --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/chat.js @@ -0,0 +1,140 @@ +const PROTO_VER_1_10 = require('minecraft-data')('1.10.2').version.version +const { once } = require('events') + +module.exports = inject + +function inject (bot, options) { + const CHAT_LENGTH_LIMIT = options.chatLengthLimit || ((bot.protocolVersion > PROTO_VER_1_10) ? 256 : 100) + const USERNAME_REGEX = '(?:\\(.+\\)|\\[.+\\]|.)*?(\\w+)' + + const ChatMessage = require('prismarine-chat')(bot.version) + // add an array, containing objects such as {pattern:/regex pattern/, chatType:"string", description:"string"} + // chat.pattern.type will emit an event for bot.on() of the same type, eg chatType = whisper will trigger bot.on('whisper') + bot.chatPatterns = [ + { + pattern: new RegExp(`^${USERNAME_REGEX} whispers(?: to you)?:? (.*)$`), + type: 'whisper', + description: 'Vanilla whisper' + }, + { + pattern: new RegExp(`^\\[${USERNAME_REGEX} -> \\w+\\s?\\] (.*)$`), + type: 'whisper', + description: 'Essentials whisper' + }, + { + pattern: new RegExp(`^${USERNAME_REGEX}\\s?[>:\\-»\\]\\)~]+\\s(.*)$`), + type: 'chat', + description: 'Universal chat' + } + ] + + bot.chatAddPattern = (patternValue, typeValue, descriptionValue) => { + // description is not required but recommended + if (typeof descriptionValue === 'undefined') { + descriptionValue = 'None' + } + bot.chatPatterns.push({ + pattern: patternValue, + type: typeValue, + description: descriptionValue + }) + } + + bot._client.on('chat', (packet) => { + function checkForChatPatterns (msg) { + const stringMsg = msg.toString() + let matchAny = false + // iterate through each object in chat.patterns array and test if .pattern matches + for (const { pattern, type } of bot.chatPatterns) { + // Chat pattern matches server messages so drop them + if (stringMsg.startsWith('[Server:')) break + + const match = stringMsg.match(pattern) + if (match) { + matchAny = true + bot.emit(type, ...match.slice(1), msg.translate, msg) + } + } + + if (matchAny === false) { + bot.emit('unmachedMessage', stringMsg, msg) + } + } + + let msg + try { + msg = new ChatMessage(JSON.parse(packet.message)) + } catch (e) { + msg = new ChatMessage(packet.message) + } + + const ChatPositions = { + 0: 'chat', + 1: 'system', + 2: 'game_info' + } + + const chatPosition = ChatPositions[packet.position] + + bot.emit('message', msg, chatPosition) + checkForChatPatterns(msg) + + // Position 2 is the action bar + if (packet.position === 2) bot.emit('actionBar', msg) + }) + + function chatWithHeader (header, message) { + if (typeof message !== 'string') { + throw new Error('Incorrect type! Should be a string.') + } + + const lengthLimit = CHAT_LENGTH_LIMIT - header.length + message.split('\n').forEach((subMessage) => { + if (!subMessage) return + let i + let smallMsg + for (i = 0; i < subMessage.length; i += lengthLimit) { + smallMsg = header + subMessage.substring(i, i + lengthLimit) + bot._client.write('chat', { message: smallMsg }) + } + }) + } + + async function tabComplete (text, assumeCommand = false, sendBlockInSight = true) { + let position + + if (sendBlockInSight) { + const block = bot.blockInSight() + + if (block) { + position = block.position + } + } + + bot._client.write('tab_complete', { + text, + assumeCommand, + lookedAtBlock: position + }) + + const [packet] = await once(bot._client, 'tab_complete') + return packet.matches + } + + bot.whisper = (username, message) => { + chatWithHeader(`/tell ${username} `, message) + } + bot.chat = (message) => { + chatWithHeader('', message) + } + + bot.tabComplete = callbackify(tabComplete) +} + +function callbackify (f) { // specifically for this function because cb isn't the last parameter + return function (...args) { + const cb = args[1] + args.splice(1, 1) + return f(...args).then(r => { if (cb) { cb(undefined, r) } return r }, err => { if (cb) { cb(err) } else throw err }) + } +} diff --git a/node_modules/mineflayer/lib/plugins/chest.js b/node_modules/mineflayer/lib/plugins/chest.js new file mode 100644 index 00000000..fa8316f4 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/chest.js @@ -0,0 +1,59 @@ +const Chest = require('../chest') +const assert = require('assert') +const { callbackify } = require('../promise_utils') + +module.exports = inject + +function inject (bot, { version }) { + const mcData = require('minecraft-data')(version) + + function openChest (chestToOpen) { + let chest + if (chestToOpen.constructor.name === 'Block') { + assert.ok(chestToOpen.type === mcData.blocksByName.chest.id || + chestToOpen.type === mcData.blocksByName.ender_chest.id || + chestToOpen.type === mcData.blocksByName.trapped_chest.id || + (mcData.blocksByName.barrel && chestToOpen.type === mcData.blocksByName.barrel.id) || + mcData.blocks[chestToOpen.type].name.endsWith('shulker_box')) + chest = bot.openBlock(chestToOpen, Chest) + } else if (chestToOpen.constructor.name === 'Entity') { + assert.strictEqual(chestToOpen.entityType, mcData.entitiesByName.chest_minecart.id) + assert.strictEqual(chestToOpen.objectData.intField, 1) + chest = bot.openEntity(chestToOpen, Chest) + } else { + assert.ok(false, 'chestToOpen is neither block nor entity') + } + chest.withdraw = callbackify(withdraw) + chest.deposit = callbackify(deposit) + return chest + async function deposit (itemType, metadata, count) { + const options = { + window: chest.window, + itemType, + metadata, + count, + sourceStart: chest.window.inventoryStart, + sourceEnd: chest.window.inventoryEnd, + destStart: 0, + destEnd: chest.window.inventoryStart + } + await bot.transfer(options) + } + + async function withdraw (itemType, metadata, count) { + const options = { + window: chest.window, + itemType, + metadata, + count, + sourceStart: 0, + sourceEnd: chest.window.inventoryStart, + destStart: chest.window.inventoryStart, + destEnd: chest.window.inventoryEnd + } + await bot.transfer(options) + } + } + + bot.openChest = openChest +} diff --git a/node_modules/mineflayer/lib/plugins/command_block.js b/node_modules/mineflayer/lib/plugins/command_block.js new file mode 100644 index 00000000..440c83a0 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/command_block.js @@ -0,0 +1,128 @@ +const assert = require('assert') +const ProtoDef = require('protodef').ProtoDef + +module.exports = inject + +function inject (bot) { + function setCommandBlock (pos, command, options = {}) { + assert.strictEqual(bot.player.gamemode, 1, new Error('The bot has to be in creative mode to open the command block window')) + assert.notStrictEqual(pos, null) + assert.notStrictEqual(command, null) + assert.strictEqual(bot.blockAt(pos).name, 'command_block', new Error("The block isn't a command block")) + + // Default values when a command block is placed in vanilla minecraft + options.trackOutput = options.trackOutput || false + options.conditional = options.conditional || false + options.alwaysActive = options.alwaysActive || false + options.mode = options.mode || 2 // Possible values: 0: SEQUENCE, 1: AUTO and 2: REDSTONE + + let flags = 0 + flags |= +options.trackOutput << 0 // 0x01 + flags |= +options.conditional << 1 // 0x02 + flags |= +options.alwaysActive << 2 // 0x04 + + if (bot.supportFeature('usesAdvCmd') || bot.supportFeature('usesAdvCdm')) { + const pluginChannelName = bot.supportFeature('usesAdvCdm') ? 'MC|AdvCdm' : 'MC|AdvCmd' + + const proto = new ProtoDef() + + proto.addType('string', [ + 'pstring', + { + countType: 'varint' + }]) + + proto.addType(pluginChannelName, [ + 'container', + [ + { + name: 'mode', + type: 'i8' + }, + { + name: 'x', + type: [ + 'switch', + { + compareTo: 'mode', + fields: { + 0: 'i32' + }, + default: 'void' + } + ] + }, + { + name: 'y', + type: [ + 'switch', + { + compareTo: 'mode', + fields: { + 0: 'i32' + }, + default: 'void' + } + ] + }, + { + name: 'z', + type: [ + 'switch', + { + compareTo: 'mode', + fields: { + 0: 'i32' + }, + default: 'void' + } + ] + }, + { + name: 'eid', + type: [ + 'switch', + { + compareTo: 'mode', + fields: { + 1: 'i32' + }, + default: 'void' + } + ] + }, + { + name: 'command', + type: 'string' + }, + { + name: 'trackOutput', + type: 'bool' + } + ] + ]) + + const buffer = proto.createPacketBuffer(pluginChannelName, { + mode: 0, + x: pos.x, + y: pos.y, + z: pos.z, + command, + trackOutput: options.trackOutput + }) + bot._client.write('custom_payload', { + channel: pluginChannelName, + data: buffer + }) + } else { + bot._client.write('update_command_block', { + location: pos, + command, + mode: options.mode, + flags + }) + } + } + + bot.setCommandBlock = setCommandBlock +} diff --git a/node_modules/mineflayer/lib/plugins/craft.js b/node_modules/mineflayer/lib/plugins/craft.js new file mode 100644 index 00000000..850e4877 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/craft.js @@ -0,0 +1,240 @@ +const assert = require('assert') +const { once } = require('events') +const { callbackify } = require('../promise_utils') + +module.exports = inject + +function inject (bot, { version }) { + const Item = require('prismarine-item')(version) + const Recipe = require('prismarine-recipe')(version).Recipe + + async function craft (recipe, count, craftingTable) { + assert.ok(recipe) + count = count == null ? 1 : parseInt(count, 10) + if (recipe.requiresTable && !craftingTable) { + throw new Error('recipe requires craftingTable') + } + for (let i = 0; i < count; i++) { + await craftOnce(recipe, craftingTable) + } + } + + async function craftOnce (recipe, craftingTable) { + if (craftingTable) { + bot.activateBlock(craftingTable) + const [window] = await once(bot, 'windowOpen') + if (!window.type.startsWith('minecraft:crafting')) { + throw new Error('crafting: non craftingTable used as craftingTable') + } + await startClicking(window, 3, 3) + } else { + await startClicking(bot.inventory, 2, 2) + } + + async function startClicking (window, w, h) { + const extraSlots = unusedRecipeSlots() + let ingredientIndex = 0 + let originalSourceSlot = null + let it + if (recipe.inShape) { + it = { + x: 0, + y: 0, + row: recipe.inShape[0] + } + await clickShape() + } else { + await nextIngredientsClick() + } + + function incrementShapeIterator () { + it.x += 1 + if (it.x >= it.row.length) { + it.y += 1 + if (it.y >= recipe.inShape.length) return null + it.x = 0 + it.row = recipe.inShape[it.y] + } + return it + } + + async function nextShapeClick () { + if (incrementShapeIterator()) { + await clickShape() + } else if (!recipe.ingredients) { + await putMaterialsAway() + } else { + await nextIngredientsClick() + } + } + + async function clickShape () { + const destSlot = slot(it.x, it.y) + const ingredient = it.row[it.x] + if (ingredient.id === -1) return nextShapeClick() + if (!window.selectedItem || window.selectedItem.type !== ingredient.id || + (ingredient.metadata != null && + window.selectedItem.metadata !== ingredient.metadata)) { + // we are not holding the item we need. click it. + const sourceItem = window.findInventoryItem(ingredient.id, ingredient.metadata) + if (!sourceItem) throw new Error('missing ingredient') + if (originalSourceSlot == null) originalSourceSlot = sourceItem.slot + await bot.clickWindow(sourceItem.slot, 0, 0) + } + await bot.clickWindow(destSlot, 1, 0) + await nextShapeClick() + } + + async function nextIngredientsClick () { + const ingredient = recipe.ingredients[ingredientIndex] + const destSlot = extraSlots.pop() + if (!window.selectedItem || window.selectedItem.type !== ingredient.id || + (ingredient.metadata != null && + window.selectedItem.metadata !== ingredient.metadata)) { + // we are not holding the item we need. click it. + const sourceItem = window.findInventoryItem(ingredient.id, ingredient.metadata) + if (!sourceItem) throw new Error('missing ingredient') + if (originalSourceSlot == null) originalSourceSlot = sourceItem.slot + await bot.clickWindow(sourceItem.slot, 0, 0) + } + await bot.clickWindow(destSlot, 1, 0) + if (++ingredientIndex < recipe.ingredients.length) { + await nextIngredientsClick() + } else { + await putMaterialsAway() + } + } + + async function putMaterialsAway () { + const start = window.inventoryStart + const end = window.inventoryEnd + await bot.putSelectedItemRange(start, end, window, originalSourceSlot) + await grabResult() + } + + async function grabResult () { + assert.strictEqual(window.selectedItem, null) + // put the recipe result in the output + const item = new Item(recipe.result.id, recipe.result.count, recipe.result.metadata) + window.updateSlot(0, item) + // move the result to inventory + await bot.putAway(0) + await updateOutShape() + } + + async function updateOutShape () { + if (!recipe.outShape) { + for (let i = 1; i <= w * h; i++) { + window.updateSlot(i, null) + } + closeTheWindow() + return + } + const slotsToClick = [] + let x + let y + let row + let item + let theSlot + for (y = 0; y < recipe.outShape.length; ++y) { + row = recipe.outShape[y] + for (x = 0; x < row.length; ++x) { + theSlot = slot(x, y) + if (row[x].id !== -1) { + item = new Item(row[x].id, row[x].count, row[x].metadata || null) + slotsToClick.push(theSlot) + } else { + item = null + } + window.updateSlot(theSlot, item) + } + } + theSlot = slotsToClick.pop() + while (theSlot) { + await bot.putAway(theSlot) + theSlot = slotsToClick.pop() + } + closeTheWindow() + } + + function closeTheWindow () { + bot.closeWindow(window) + } + + function slot (x, y) { + return 1 + x + w * y + } + + function unusedRecipeSlots () { + const result = [] + let x + let y + let row + if (recipe.inShape) { + for (y = 0; y < recipe.inShape.length; ++y) { + row = recipe.inShape[y] + for (x = 0; x < row.length; ++x) { + if (row[x].id === -1) result.push(slot(x, y)) + } + for (; x < w; ++x) { + result.push(slot(x, y)) + } + } + for (; y < h; ++y) { + for (x = 0; x < w; ++x) { + result.push(slot(x, y)) + } + } + } else { + for (y = 0; y < h; ++y) { + for (x = 0; x < w; ++x) { + result.push(slot(x, y)) + } + } + } + return result + } + } + } + + function recipesFor (itemType, metadata, minResultCount, craftingTable) { + minResultCount = minResultCount == null ? 1 : minResultCount + const results = [] + Recipe.find(itemType, metadata).forEach((recipe) => { + if (requirementsMetForRecipe(recipe, minResultCount, craftingTable)) { + results.push(recipe) + } + }) + return results + } + + function recipesAll (itemType, metadata, craftingTable) { + const results = [] + Recipe.find(itemType, metadata).forEach((recipe) => { + if (!recipe.requiresTable || craftingTable) { + results.push(recipe) + } + }) + return results + } + + function requirementsMetForRecipe (recipe, minResultCount, craftingTable) { + if (recipe.requiresTable && !craftingTable) return false + + // how many times we have to perform the craft to achieve minResultCount + const craftCount = Math.ceil(minResultCount / recipe.result.count) + + // false if not enough inventory to make all the ones that we want + for (let i = 0; i < recipe.delta.length; ++i) { + const d = recipe.delta[i] + if (bot.inventory.count(d.id, d.metadata) + d.count * craftCount < 0) return false + } + + // otherwise true + return true + } + + bot.craft = callbackify(craft) + bot.recipesFor = recipesFor + bot.recipesAll = recipesAll +} diff --git a/node_modules/mineflayer/lib/plugins/creative.js b/node_modules/mineflayer/lib/plugins/creative.js new file mode 100644 index 00000000..d6d1786b --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/creative.js @@ -0,0 +1,87 @@ +const assert = require('assert') +const Vec3 = require('vec3').Vec3 +const { callbackify, sleep } = require('../promise_utils') +const { once } = require('events') + +module.exports = inject + +function inject (bot, { version }) { + const Item = require('prismarine-item')(version) + + // these features only work when you are in creative mode. + bot.creative = { + setInventorySlot: callbackify(setInventorySlot), + flyTo: callbackify(flyTo), + startFlying, + stopFlying + } + + const creativeSlotsUpdates = [] + bot._client.on('set_slot', ({ windowId, slot, item }) => { + if (windowId === 0 && creativeSlotsUpdates[slot]) { + bot.emit(`set_creative_slot_${slot}`) + } + }) + + // WARN: This method should not be called twice on the same slot before first callback exceeds + async function setInventorySlot (slot, item) { + assert(slot >= 0 && slot <= 44) + + if (creativeSlotsUpdates[slot]) { + throw new Error(`Setting slot ${slot} cancelled due to calling bot.creative.setInventorySlot(${slot}, ...) again`) + } + creativeSlotsUpdates[slot] = true + + bot._client.write('set_creative_slot', { + slot, + item: Item.toNotch(item) + }) + + await once(bot, `set_creative_slot_${slot}`) + creativeSlotsUpdates[slot] = false + } + + let normalGravity = null + const flyingSpeedPerUpdate = 0.5 + + // straight line, so make sure there's a clear path. + async function flyTo (destination) { + // TODO: consider sending 0x13 + startFlying() + + let vector = destination.minus(bot.entity.position) + let magnitude = vecMagnitude(vector) + + while (magnitude > flyingSpeedPerUpdate) { + bot.physics.gravity = 0 + bot.entity.velocity = new Vec3(0, 0, 0) + + // small steps + const normalizedVector = vector.scaled(1 / magnitude) + bot.entity.position.add(normalizedVector.scaled(flyingSpeedPerUpdate)) + + await sleep(50) + + vector = destination.minus(bot.entity.position) + magnitude = vecMagnitude(vector) + } + + // last step + bot.entity.position = destination + await once(bot, 'move') + } + + function startFlying () { + if (normalGravity == null) normalGravity = bot.physics.gravity + bot.physics.gravity = 0 + } + + function stopFlying () { + bot.physics.gravity = normalGravity + } +} + +// this should be in the vector library +function vecMagnitude (vec) { + return Math.sqrt(vec.x * vec.x + vec.y * vec.y + vec.z * vec.z) +} diff --git a/node_modules/mineflayer/lib/plugins/digging.js b/node_modules/mineflayer/lib/plugins/digging.js new file mode 100644 index 00000000..c87821c1 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/digging.js @@ -0,0 +1,125 @@ +const nbt = require('prismarine-nbt') +const { performance } = require('perf_hooks') +const { createDoneTask, createTask } = require('../promise_utils') + +module.exports = inject + +function inject (bot) { + let swingInterval = null + let waitTimeout = null + + let diggingTask = createDoneTask() + + bot.targetDigBlock = null + bot.lastDigTime = null + + async function dig (block, forceLook) { + if (bot.targetDigBlock) bot.stopDigging() + await bot.lookAt(block.position.offset(0.5, 0.5, 0.5), forceLook) + diggingTask = createTask() + bot._client.write('block_dig', { + status: 0, // start digging + location: block.position, + face: 1 // hard coded to always dig from the top + }) + const waitTime = bot.digTime(block) + waitTimeout = setTimeout(finishDigging, waitTime) + bot.targetDigBlock = block + bot.swingArm() + + swingInterval = setInterval(() => { + bot.swingArm() + }, 350) + + function finishDigging () { + clearInterval(swingInterval) + clearTimeout(waitTimeout) + swingInterval = null + waitTimeout = null + bot._client.write('block_dig', { + status: 2, // finish digging + location: bot.targetDigBlock.position, + face: 1 // hard coded to always dig from the top + }) + bot.targetDigBlock = null + bot.lastDigTime = performance.now() + bot._updateBlockState(block.position, 0) + } + + const eventName = `blockUpdate:${block.position}` + bot.on(eventName, onBlockUpdate) + + await diggingTask.promise + + bot.stopDigging = () => { + if (bot.targetDigBlock === null) return + bot.removeListener(eventName, onBlockUpdate) + clearInterval(swingInterval) + clearTimeout(waitTimeout) + swingInterval = null + waitTimeout = null + bot._client.write('block_dig', { + status: 1, // cancel digging + location: bot.targetDigBlock.position, + face: 1 // hard coded to always dig from the top + }) + const block = bot.targetDigBlock + bot.targetDigBlock = null + bot.lastDigTime = performance.now() + bot.emit('diggingAborted', block) + bot.stopDigging = noop + diggingTask.cancel(new Error('Digging aborted')) + } + + function onBlockUpdate (oldBlock, newBlock) { + // vanilla server never actually interrupt digging, but some server send block update when you start digging + // so ignore block update if not air + if (newBlock.type !== 0) return + bot.removeListener(eventName, onBlockUpdate) + clearInterval(swingInterval) + clearTimeout(waitTimeout) + swingInterval = null + waitTimeout = null + bot.targetDigBlock = null + bot.lastDigTime = performance.now() + bot.emit('diggingCompleted', newBlock) + diggingTask.finish() + } + } + + function canDigBlock (block) { + return block && block.diggable && block.position.offset(0.5, 0.5, 0.5).distanceTo(bot.entity.position) < 6 + } + + function digTime (block) { + let type = null + let enchantments = [] + if (bot.heldItem) { + type = bot.heldItem.type + if (bot.heldItem.nbt) { + enchantments = nbt.simplify(bot.heldItem.nbt).Enchantments + } + } + const creative = bot.game.gameMode === 'creative' + return block.digTime(type, creative, bot.entity.isInWater, !bot.entity.onGround, enchantments, bot.entity.effects) + } + + bot.dig = callbackify(dig) + bot.stopDigging = noop + bot.canDigBlock = canDigBlock + bot.digTime = digTime +} + +function callbackify (f) { // specifically for this function because cb could be the non-last parameter + return function (...args) { + const cbIndex = typeof args[1] === 'function' ? 1 : 2 + const cb = args[cbIndex] + if (cbIndex === 1) args[1] = true + else args[1] = !!args[1] // coerce to boolean + return f(...args).then(r => { if (cb) { cb(undefined, r) } return r }, err => { if (cb) { cb(err) } else throw err }) + } +} + +function noop (err) { + if (err) throw err +} diff --git a/node_modules/mineflayer/lib/plugins/dispenser.js b/node_modules/mineflayer/lib/plugins/dispenser.js new file mode 100644 index 00000000..2e5d7773 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/dispenser.js @@ -0,0 +1,44 @@ +const assert = require('assert') +const Dispenser = require('../dispenser') +const { callbackify } = require('../promise_utils') + +module.exports = inject + +function inject (bot) { + function openDispenser (dispenserBlock) { + assert.strictEqual(dispenserBlock.name, 'dispenser') + const dispenser = bot.openBlock(dispenserBlock, Dispenser) + dispenser.deposit = callbackify(deposit) + dispenser.withdraw = callbackify(withdraw) + return dispenser + async function deposit (itemType, metadata, count) { + const options = { + window: dispenser.window, + itemType, + metadata, + count, + sourceStart: dispenser.window.inventoryStart, + sourceEnd: dispenser.window.inventoryEnd, + destStart: 0, + destEnd: dispenser.window.inventoryStart + } + await bot.transfer(options) + } + + async function withdraw (itemType, metadata, count) { + const options = { + window: dispenser.window, + itemType, + metadata, + count, + sourceStart: 0, + sourceEnd: dispenser.window.inventoryStart, + destStart: dispenser.window.inventoryStart, + destEnd: dispenser.window.inventoryEnd + } + await bot.transfer(options) + } + } + + bot.openDispenser = openDispenser +} diff --git a/node_modules/mineflayer/lib/plugins/enchantment_table.js b/node_modules/mineflayer/lib/plugins/enchantment_table.js new file mode 100644 index 00000000..516d0046 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/enchantment_table.js @@ -0,0 +1,80 @@ +const EnchantmentTable = require('../enchantment_table') +const assert = require('assert') +const { once } = require('events') +const { callbackify } = require('../promise_utils') + +module.exports = inject + +function inject (bot, { version }) { + function openEnchantmentTable (enchantmentTableBlock) { + assert.strictEqual(enchantmentTableBlock.name, 'enchanting_table') + let ready = false + const enchantmentTable = bot.openBlock(enchantmentTableBlock, EnchantmentTable) + resetEnchantmentOptions() + bot._client.on('craft_progress_bar', onUpdateWindowProperty) + enchantmentTable.on('updateSlot', onUpdateSlot) + enchantmentTable.once('close', onClose) + enchantmentTable.enchant = callbackify(enchant) + enchantmentTable.takeTargetItem = callbackify(takeTargetItem) + enchantmentTable.putTargetItem = callbackify(putTargetItem) + enchantmentTable.putLapis = callbackify(putLapis) + return enchantmentTable + function onClose () { + bot._client.removeListener('craft_progress_bar', onUpdateWindowProperty) + } + + function onUpdateWindowProperty (packet) { + if (!enchantmentTable.window) return + if (packet.windowId !== enchantmentTable.window.id) return + assert.ok(packet.property >= 0) + if (packet.property >= 3) return + const arr = enchantmentTable.enchantments + arr[packet.property].level = packet.value + if (arr[0].level && arr[1].level && arr[2].level && !ready) { + ready = true + enchantmentTable.emit('ready') + } + } + + function onUpdateSlot (oldItem, newItem) { + resetEnchantmentOptions() + } + + function resetEnchantmentOptions () { + enchantmentTable.enchantments = [{ + level: null + }, { level: null }, { + level: null + }] + ready = false + } + + async function enchant (choice) { + choice = parseInt(choice, 10) // allow string argument + assert.notStrictEqual(enchantmentTable.enchantments[choice].level, null) + bot._client.write('enchant_item', { + windowId: enchantmentTable.window.id, + enchantment: choice + }) + const [, newItem] = await once(enchantmentTable, 'updateSlot') + return newItem + } + + async function takeTargetItem () { + const item = enchantmentTable.targetItem() + assert.ok(item) + await bot.putAway(item.slot) + return item + } + + async function putTargetItem (item) { + await bot.moveSlotItem(item.slot, 0) + } + + async function putLapis (item) { + await bot.moveSlotItem(item.slot, 1) + } + } + + bot.openEnchantmentTable = openEnchantmentTable +} diff --git a/node_modules/mineflayer/lib/plugins/entities.js b/node_modules/mineflayer/lib/plugins/entities.js new file mode 100644 index 00000000..008f366f --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/entities.js @@ -0,0 +1,594 @@ +const Vec3 = require('vec3').Vec3 +const Entity = require('prismarine-entity') +const conv = require('../conversions') +const NAMED_ENTITY_HEIGHT = 1.62 +const NAMED_ENTITY_WIDTH = 0.6 +const CROUCH_HEIGHT = NAMED_ENTITY_HEIGHT - 0.08 + +module.exports = inject + +const animationEvents = { + 0: 'entitySwingArm', + 1: 'entityHurt', + 2: 'entityWake', + 3: 'entityEat', + 4: 'entityCriticalEffect', + 5: 'entityMagicCriticalEffect' +} + +const entityStatusEvents = { + 2: 'entityHurt', + 3: 'entityDead', + 6: 'entityTaming', + 7: 'entityTamed', + 8: 'entityShakingOffWater', + 10: 'entityEatingGrass' +} + +function inject (bot, { version }) { + const objects = require('minecraft-data')(version).objects + const mobs = require('minecraft-data')(version).mobs + const entitiesArray = require('minecraft-data')(version).entitiesArray + const Item = require('prismarine-item')(version) + const ChatMessage = require('prismarine-chat')(version) + + bot.findPlayer = bot.findPlayers = (filter) => { + const filterFn = (entity) => { + if (entity.type !== 'player') return false + if (filter === null) return true + if (typeof filter === 'object' && filter instanceof RegExp) { + return entity.username.search(filter) !== -1 + } else if (typeof filter === 'function') { + return filter(entity) + } else if (typeof filter === 'string') { + return entity.username.toLowerCase() === filter.toLowerCase() + } + return false + } + const resultSet = Object.keys(bot.entities) + .map(key => bot.entities[key]) + .filter(filterFn) + + if (typeof filter === 'string') { + switch (resultSet.length) { + case 0: + return null + case 1: + return resultSet[0] + default: + return resultSet + } + } + return resultSet + } + + bot.players = {} + bot.uuidToUsername = {} + bot.entities = {} + + bot.nearestEntity = (match = (entity) => { return true }) => { + let best = null + let bestDistance = Number.MAX_VALUE + + for (const entity of Object.values(bot.entities)) { + if (entity === bot.entity || !match(entity)) { + continue + } + + const dist = bot.entity.position.distanceSquared(entity.position) + if (dist < bestDistance) { + best = entity + bestDistance = dist + } + } + + return best + } + + bot._client.once('login', (packet) => { + // login + bot.entity = fetchEntity(packet.entityId) + bot.username = bot._client.username + bot.entity.username = bot._client.username + bot.entity.type = 'player' + }) + + bot._client.on('entity_equipment', (packet) => { + // entity equipment + const entity = fetchEntity(packet.entityId) + if (packet.equipments !== undefined) { + packet.equipments.forEach(equipment => entity.setEquipment(equipment.slot, equipment.item ? Item.fromNotch(equipment.item) : null)) + } else { + entity.setEquipment(packet.slot, packet.item ? Item.fromNotch(packet.item) : null) + } + bot.emit('entityEquip', entity) + }) + + bot._client.on('bed', (packet) => { + // use bed + const entity = fetchEntity(packet.entityId) + entity.position.set(packet.location.x, packet.location.y, packet.location.z) + bot.emit('entitySleep', entity) + }) + + bot._client.on('animation', (packet) => { + // animation + const entity = fetchEntity(packet.entityId) + const eventName = animationEvents[packet.animation] + if (eventName) bot.emit(eventName, entity) + }) + + bot._client.on('named_entity_spawn', (packet) => { + // in case player_info packet was not sent before named_entity_spawn : ignore named_entity_spawn (see #213) + if (packet.playerUUID in bot.uuidToUsername) { + // spawn named entity + const entity = fetchEntity(packet.entityId) + entity.type = 'player' + entity.username = bot.uuidToUsername[packet.playerUUID] + entity.uuid = packet.playerUUID + entity.dataBlobs = packet.data + if (bot.supportFeature('fixedPointPosition')) { + entity.position.set(packet.x / 32, packet.y / 32, packet.z / 32) + } else if (bot.supportFeature('doublePosition')) { + entity.position.set(packet.x, packet.y, packet.z) + } + entity.yaw = conv.fromNotchianYawByte(packet.yaw) + entity.pitch = conv.fromNotchianPitchByte(packet.pitch) + entity.height = NAMED_ENTITY_HEIGHT + entity.width = NAMED_ENTITY_WIDTH + entity.metadata = parseMetadata(packet.metadata, entity.metadata) + if (bot.players[entity.username] !== undefined && !bot.players[entity.username].entity) { + bot.players[entity.username].entity = entity + } + bot.emit('entitySpawn', entity) + } + }) + + bot.on('entityCrouch', (entity) => { + entity.height = CROUCH_HEIGHT + }) + + bot.on('entityUncrouch', (entity) => { + entity.height = NAMED_ENTITY_HEIGHT + }) + + bot._client.on('collect', (packet) => { + // collect item + const collector = fetchEntity(packet.collectorEntityId) + const collected = fetchEntity(packet.collectedEntityId) + bot.emit('playerCollect', collector, collected) + }) + + bot._client.on('spawn_entity', (packet) => { + // spawn object/vehicle + const entity = fetchEntity(packet.entityId) + let entityData = objects[packet.type] + + if (entityData === undefined) { + entityData = entitiesArray.find(entity => entity.internalId === packet.type) + } + + if (entityData) { + entity.type = 'object' + entity.objectType = entityData.displayName + entity.displayName = entityData.displayName + entity.entityType = entityData.id + entity.name = entityData.name + entity.kind = entityData.category + entity.height = entityData.height + entity.width = entityData.width + } else { + // unknown entity + entity.type = 'other' + entity.entityType = packet.type + } + + if (bot.supportFeature('fixedPointPosition')) { + entity.position.set(packet.x / 32, packet.y / 32, packet.z / 32) + } else if (bot.supportFeature('doublePosition')) { + entity.position.set(packet.x, packet.y, packet.z) + } + + entity.uuid = packet.objectUUID + entity.yaw = conv.fromNotchianYawByte(packet.yaw) + entity.pitch = conv.fromNotchianPitchByte(packet.pitch) + entity.objectData = packet.objectData + bot.emit('entitySpawn', entity) + }) + + bot._client.on('spawn_entity_experience_orb', (packet) => { + const entity = fetchEntity(packet.entityId) + entity.type = 'orb' + + if (bot.supportFeature('fixedPointPosition')) { + entity.position.set(packet.x / 32, packet.y / 32, packet.z / 32) + } else if (bot.supportFeature('doublePosition')) { + entity.position.set(packet.x, packet.y, packet.z) + } + + entity.count = packet.count + bot.emit('entitySpawn', entity) + }) + + bot._client.on('spawn_entity_living', (packet) => { + // spawn mob + const entity = fetchEntity(packet.entityId) + entity.type = 'mob' + entity.uuid = packet.entityUUID + let entityData = mobs[packet.type] + + if (entityData === undefined) { + entityData = entitiesArray.find(entity => entity.internalId === packet.type) + } + + if (entityData === undefined) { + entity.mobType = 'unknown' + entity.displayName = 'unknown' + entity.entityType = packet.type + entity.name = 'unknown' + entity.kind = 'unknown' + } else { + entity.mobType = entityData.displayName + entity.displayName = entityData.displayName + entity.entityType = entityData.id + entity.name = entityData.name + entity.kind = entityData.category + entity.height = entityData.height + entity.width = entityData.width + } + + if (bot.supportFeature('fixedPointPosition')) { + entity.position.set(packet.x / 32, packet.y / 32, packet.z / 32) + } else if (bot.supportFeature('doublePosition')) { + entity.position.set(packet.x, packet.y, packet.z) + } + + entity.yaw = conv.fromNotchianYawByte(packet.yaw) + entity.pitch = conv.fromNotchianPitchByte(packet.pitch) + entity.headPitch = conv.fromNotchianPitchByte(packet.headPitch) + + const notchVel = new Vec3(packet.velocityX, packet.velocityY, packet.velocityZ) + entity.velocity.update(conv.fromNotchVelocity(notchVel)) + entity.metadata = parseMetadata(packet.metadata, entity.metadata) + + bot.emit('entitySpawn', entity) + }) + + bot._client.on('entity_velocity', (packet) => { + // entity velocity + const entity = fetchEntity(packet.entityId) + const notchVel = new Vec3(packet.velocityX, packet.velocityY, packet.velocityZ) + entity.velocity.update(conv.fromNotchVelocity(notchVel)) + }) + + bot._client.on('entity_destroy', (packet) => { + // destroy entity + packet.entityIds.forEach((id) => { + const entity = fetchEntity(id) + bot.emit('entityGone', entity) + entity.isValid = false + if (entity.username && bot.players[entity.username]) { + bot.players[entity.username].entity = null + } + delete bot.entities[id] + }) + }) + + bot._client.on('rel_entity_move', (packet) => { + // entity relative move + const entity = fetchEntity(packet.entityId) + if (bot.supportFeature('fixedPointDelta')) { + entity.position.translate(packet.dX / 32, packet.dY / 32, packet.dZ / 32) + } else if (bot.supportFeature('fixedPointDelta128')) { + entity.position.translate(packet.dX / (128 * 32), packet.dY / (128 * 32), packet.dZ / (128 * 32)) + } + bot.emit('entityMoved', entity) + }) + + bot._client.on('entity_look', (packet) => { + // entity look + const entity = fetchEntity(packet.entityId) + entity.yaw = conv.fromNotchianYawByte(packet.yaw) + entity.pitch = conv.fromNotchianPitchByte(packet.pitch) + bot.emit('entityMoved', entity) + }) + + bot._client.on('entity_move_look', (packet) => { + // entity look and relative move + const entity = fetchEntity(packet.entityId) + if (bot.supportFeature('fixedPointDelta')) { + entity.position.translate(packet.dX / 32, packet.dY / 32, packet.dZ / 32) + } else if (bot.supportFeature('fixedPointDelta128')) { + entity.position.translate(packet.dX / (128 * 32), packet.dY / (128 * 32), packet.dZ / (128 * 32)) + } + entity.yaw = conv.fromNotchianYawByte(packet.yaw) + entity.pitch = conv.fromNotchianPitchByte(packet.pitch) + bot.emit('entityMoved', entity) + }) + + bot._client.on('entity_teleport', (packet) => { + // entity teleport + const entity = fetchEntity(packet.entityId) + if (bot.supportFeature('fixedPointPosition')) { + entity.position.set(packet.x / 32, packet.y / 32, packet.z / 32) + } + if (bot.supportFeature('doublePosition')) { + entity.position.set(packet.x, packet.y, packet.z) + } + entity.yaw = conv.fromNotchianYawByte(packet.yaw) + entity.pitch = conv.fromNotchianPitchByte(packet.pitch) + bot.emit('entityMoved', entity) + }) + + bot._client.on('entity_head_rotation', (packet) => { + // entity head look + const entity = fetchEntity(packet.entityId) + entity.headYaw = conv.fromNotchianYawByte(packet.headYaw) + bot.emit('entityMoved', entity) + }) + + bot._client.on('entity_status', (packet) => { + // entity status + const entity = fetchEntity(packet.entityId) + const eventName = entityStatusEvents[packet.entityStatus] + if (eventName) bot.emit(eventName, entity) + }) + + bot._client.on('attach_entity', (packet) => { + // attach entity + const entity = fetchEntity(packet.entityId) + if (packet.vehicleId === -1) { + const vehicle = entity.vehicle + delete entity.vehicle + bot.emit('entityDetach', entity, vehicle) + } else { + entity.vehicle = fetchEntity(packet.vehicleId) + bot.emit('entityAttach', entity, entity.vehicle) + } + }) + + bot._client.on('entity_metadata', (packet) => { + // entity metadata + const entity = fetchEntity(packet.entityId) + const metadata = parseMetadata(packet.metadata, entity.metadata) + entity.metadata = metadata + bot.emit('entityUpdate', entity) + + const typeSlot = bot.supportFeature('itemsAreAlsoBlocks') ? 5 : 6 + const slot = packet.metadata.find(e => e.type === typeSlot) + if (entity.name && (entity.name.toLowerCase() === 'item' || entity.name === 'item_stack') && slot) { + bot.emit('itemDrop', entity) + } + + const pose = packet.metadata.find(e => e.type === 18) + if (pose && pose.value === 2) { + bot.emit('entitySleep', entity) + } + + const bitField = packet.metadata.find(p => p.key === 0) + if (bitField === undefined) { + return + } + if ((bitField.value & 2) !== 0) { + entity.crouching = true + bot.emit('entityCrouch', entity) + } else if (entity.crouching) { // prevent the initial entity_metadata packet from firing off an uncrouch event + entity.crouching = false + bot.emit('entityUncrouch', entity) + } + }) + + bot._client.on('entity_effect', (packet) => { + // entity effect + const entity = fetchEntity(packet.entityId) + const effect = { + id: packet.effectId, + amplifier: packet.amplifier, + duration: packet.duration + } + entity.effects[effect.id] = effect + bot.emit('entityEffect', entity, effect) + }) + + bot._client.on('remove_entity_effect', (packet) => { + // remove entity effect + const entity = fetchEntity(packet.entityId) + let effect = entity.effects[packet.effectId] + if (effect) { + delete entity.effects[effect.id] + } else { + // unknown effect + effect = { + id: packet.effectId, + amplifier: -1, + duration: -1 + } + } + bot.emit('entityEffectEnd', entity, effect) + }) + + bot._client.on('spawn_entity_weather', (packet) => { + // spawn global entity + const entity = fetchEntity(packet.entityId) + entity.type = 'global' + entity.globalType = 'thunderbolt' + entity.uuid = packet.entityUUID + entity.position.set(packet.x / 32, packet.y / 32, packet.z / 32) + bot.emit('entitySpawn', entity) + }) + + bot.on('spawn', () => { + bot.emit('entitySpawn', bot.entity) + }) + + bot._client.on('player_info', (packet) => { + // player list item(s) + packet.data.forEach((item) => { + const playerEntity = bot.findPlayers(item.name) + let player = bot.uuidToUsername[item.UUID] ? bot.players[bot.uuidToUsername[item.UUID]] : null + if (packet.action === 0) { + let newPlayer = false + + // New Player + if (!player) { + player = bot.players[item.name] = { + username: item.name, + ping: item.ping, + uuid: item.UUID, + displayName: new ChatMessage({ text: '', extra: [{ text: item.name }] }) + } + + bot.uuidToUsername[item.UUID] = item.name + bot.emit('playerJoined', player) + newPlayer = true + } else { + // Just an Update + player.gamemode = item.gamemode + player.ping = item.ping + } + + if (item.displayName) { + player.displayName = new ChatMessage(JSON.parse(item.displayName)) + } + + player.entity = playerEntity + + if (playerEntity === bot.entity) { + bot.player = player + } + + if (!newPlayer) { + bot.emit('playerUpdated', player) + } + } else if (player) { + if (packet.action === 1) { + player.gamemode = item.gamemode + } else if (packet.action === 2) { + player.ping = item.ping + } else if (packet.action === 3 && !item.displayName) { + player.displayName = new ChatMessage({ text: '', extra: [{ text: player.username }] }) + } else if (packet.action === 3 && item.displayName) { + player.displayName = new ChatMessage(JSON.parse(item.displayName)) + } else if (packet.action === 4) { + player.entity = null + delete bot.players[player.username] + delete bot.uuidToUsername[item.UUID] + bot.emit('playerLeft', player) + return + } else { + return + } + + bot.emit('playerUpdated', player) + } + }) + }) + + // attaching to a vehicle + bot._client.on('attach_entity', (packet) => { + if (packet.entityId !== bot.entity.id) return + const vehicle = bot.vehicle + if (packet.vehicleId === -1) { + bot.vehicle = null + bot.emit('dismount', vehicle) + } else { + bot.vehicle = bot.entities[packet.vehicleId] + bot.emit('mount') + } + }) + + bot._client.on('set_passengers', ({ entityId, passengers }) => { + if (passengers[0] !== bot.entity.id) return + const vehicle = bot.vehicle + if (entityId === -1) { + bot.vehicle = null + bot.emit('dismount', vehicle) + } else { + bot.vehicle = bot.entities[entityId] + bot.emit('mount') + } + }) + + bot.swingArm = swingArm + bot.attack = attack + bot.mount = mount + bot.dismount = dismount + bot.useOn = useOn + bot.moveVehicle = moveVehicle + + function swingArm (arm = 'right') { + const hand = arm === 'right' ? 0 : 1 + bot._client.write('arm_animation', { hand }) + } + + function useOn (target) { + // TODO: check if not crouching will make make this action always use the item + useEntity(target, 0) + } + + function attack (target, swing = true) { + useEntity(target, 1) + + if (swing) { + swingArm() + } + } + + function mount (target) { + // TODO: check if crouching will make make this action always mount + useEntity(target, 0) + } + + function moveVehicle (left, forward) { + bot._client.write('steer_vehicle', { + sideways: left, + forward: forward, + jump: 0x01 + }) + } + + function dismount () { + if (bot.vehicle) { + bot._client.write('steer_vehicle', { + sideways: 0.0, + forward: 0.0, + jump: 0x02 + }) + } else { + bot.emit('error', new Error('dismount: not mounted')) + } + } + + function useEntity (target, leftClick, x, y, z) { + if (x && y && z) { + bot._client.write('use_entity', { + target: target.id, + mouse: leftClick, + x, + y, + z, + sneaking: false + }) + } else { + bot._client.write('use_entity', { + target: target.id, + mouse: leftClick, + sneaking: false + }) + } + } + + function fetchEntity (id) { + return bot.entities[id] || (bot.entities[id] = new Entity(id)) + } +} + +function parseMetadata (metadata, entityMetadata = {}) { + if (metadata !== undefined) { + for (const { key, value } of metadata) { + entityMetadata[key] = value + } + } + + return entityMetadata +} diff --git a/node_modules/mineflayer/lib/plugins/experience.js b/node_modules/mineflayer/lib/plugins/experience.js new file mode 100644 index 00000000..1c8334ac --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/experience.js @@ -0,0 +1,15 @@ +module.exports = inject + +function inject (bot) { + bot.experience = { + level: null, + points: null, + progress: null + } + bot._client.on('experience', (packet) => { + bot.experience.level = packet.level + bot.experience.points = packet.totalExperience + bot.experience.progress = packet.experienceBar + bot.emit('experience') + }) +} diff --git a/node_modules/mineflayer/lib/plugins/furnace.js b/node_modules/mineflayer/lib/plugins/furnace.js new file mode 100644 index 00000000..72574aeb --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/furnace.js @@ -0,0 +1,102 @@ +const Furnace = require('../furnace') +const assert = require('assert') +const { callbackify } = require('../promise_utils') + +module.exports = inject + +function inject (bot, { version }) { + function openFurnace (furnaceBlock) { + assert.ok(furnaceBlock.name === 'furnace' || furnaceBlock.name === 'lit_furnace') + const furnace = bot.openBlock(furnaceBlock, Furnace) + furnace.takeInput = callbackify(takeInput) + furnace.takeFuel = callbackify(takeFuel) + furnace.takeOutput = callbackify(takeOutput) + furnace.putInput = callbackify(putInput) + furnace.putFuel = callbackify(putFuel) + bot._client.on('craft_progress_bar', onUpdateWindowProperty) + furnace.once('close', onClose) + return furnace + function onClose () { + bot._client.removeListener('craft_progress_bar', onUpdateWindowProperty) + } + + function onUpdateWindowProperty (packet) { + if (!furnace.window) return + if (packet.windowId !== furnace.window.id) return + + switch (packet.property) { + case 0: // Current fuel + furnace.fuel = 0 + furnace.fuelSeconds = 0 + if (furnace.totalFuel) { + furnace.fuel = packet.value / furnace.totalFuel + furnace.fuelSeconds = furnace.fuel * furnace.totalFuelSeconds + } + break + case 1: // Total fuel + furnace.totalFuel = packet.value + furnace.totalFuelSeconds = ticksToSeconds(furnace.totalFuel) + break + case 2: // Current progress + furnace.progress = 0 + furnace.progressSeconds = 0 + if (furnace.totalProgress) { + furnace.progress = packet.value / furnace.totalProgress + furnace.progressSeconds = furnace.totalProgressSeconds - (furnace.progress * furnace.totalProgressSeconds) + } + break + case 3: // Total progress + furnace.totalProgress = packet.value + furnace.totalProgressSeconds = ticksToSeconds(furnace.totalProgress) + } + + furnace.emit('update') + } + + async function takeSomething (item) { + assert.ok(item) + await bot.putAway(item.slot) + return item + } + + async function takeInput () { + return takeSomething(furnace.inputItem()) + } + + async function takeFuel () { + return takeSomething(furnace.fuelItem()) + } + + async function takeOutput () { + return takeSomething(furnace.outputItem()) + } + + async function putSomething (destSlot, itemType, metadata, count) { + const options = { + window: furnace.window, + itemType, + metadata, + count, + sourceStart: furnace.window.inventoryStart, + sourceEnd: furnace.window.inventoryEnd, + destStart: destSlot, + destEnd: destSlot + 1 + } + await bot.transfer(options) + } + + async function putInput (itemType, metadata, count) { + await putSomething(0, itemType, metadata, count) + } + + async function putFuel (itemType, metadata, count) { + await putSomething(1, itemType, metadata, count) + } + } + + function ticksToSeconds (ticks) { + return ticks * 0.05 + } + + bot.openFurnace = openFurnace +} diff --git a/node_modules/mineflayer/lib/plugins/game.js b/node_modules/mineflayer/lib/plugins/game.js new file mode 100644 index 00000000..9ad45cbf --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/game.js @@ -0,0 +1,80 @@ +module.exports = inject + +const dimensionNames = { + '-1': 'minecraft:nether', + 0: 'minecraft:overworld', + 1: 'minecraft:end' +} + +const difficultyNames = ['peaceful', 'easy', 'normal', 'hard'] + +function inject (bot) { + bot.game = {} + + bot._client.on('login', (packet) => { + bot.game.levelType = (packet.levelType ? packet.levelType : (packet.isFlat ? 'flat' : 'default')) + bot.game.gameMode = parseGameMode(packet.gameMode) + bot.game.hardcore = parseHardcore(packet.gameMode) + if (bot.supportFeature('dimensionIsAnInt')) { + bot.game.dimension = dimensionNames[packet.dimension] + } else if (bot.supportFeature('dimensionIsAString')) { + bot.game.dimension = packet.dimension + } else if (bot.supportFeature('dimensionIsAWorld')) { + bot.game.dimension = packet.worldName + } + if (packet.viewDistance) { + bot.game.serverViewDistance = packet.viewDistance + } + bot.game.difficulty = packet.difficulty ? difficultyNames[packet.difficulty] : bot.game.difficulty + bot.game.maxPlayers = packet.maxPlayers + bot.emit('login') + bot.emit('game') + bot._client.write('held_item_slot', { slotId: 0 }) + let channel + if (bot.supportFeature('customChannelMCPrefixed')) { + channel = 'MC|Brand' + } else if (bot.supportFeature('customChannelNotPrefixed')) { + channel = 'brand' + } + bot._client.write('custom_payload', { + channel, + data: Buffer.from('\x07vanilla') + }) // varint length-prefixed string TODO: encode varint, see GH-253 + + // autoRespawn(bot); + }) + + bot._client.on('respawn', (packet) => { + bot.game.levelType = packet.levelType + if (bot.supportFeature('dimensionIsAnInt')) { + bot.game.dimension = dimensionNames[packet.dimension] + } else if (bot.supportFeature('dimensionIsAString')) { + bot.game.dimension = packet.dimension + } + bot.game.difficulty = difficultyNames[packet.difficulty] + bot.game.gameMode = parseGameMode(packet.gameMode) + bot.game.hardcore = parseHardcore(packet.gameMode) + bot.emit('game') + }) + + bot._client.on('game_state_change', (packet) => { + if (packet.reason === 3) { + bot.game.gameMode = parseGameMode(packet.gameMode) + bot.emit('game') + } + }) + + bot._client.on('difficulty', (packet) => { + bot.game.difficulty = difficultyNames[packet.difficulty] + }) +} + +const gameModes = ['survival', 'creative', 'adventure'] + +function parseGameMode (gameModeBits) { + return gameModes[(gameModeBits & 0x03)] +} + +function parseHardcore (gameModeBits) { + return !!(gameModeBits & 0x04) +} diff --git a/node_modules/mineflayer/lib/plugins/health.js b/node_modules/mineflayer/lib/plugins/health.js new file mode 100644 index 00000000..65644ac4 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/health.js @@ -0,0 +1,31 @@ +module.exports = inject + +function inject (bot) { + bot.isAlive = true + + bot._client.on('respawn', (packet) => { + bot.isAlive = false + bot.emit('respawn') + }) + + bot._client.once('update_health', (packet) => { + if (packet.health > 0) { + bot.emit('spawn') + } + }) + + bot._client.on('update_health', (packet) => { + bot.health = packet.health + bot.food = packet.food + bot.foodSaturation = packet.foodSaturation + bot.emit('health') + if (bot.health <= 0) { + bot.isAlive = false + bot.emit('death') + bot._client.write('client_command', { payload: 0 }) + } else if (bot.health > 0 && !bot.isAlive) { + bot.isAlive = true + bot.emit('spawn') + } + }) +} diff --git a/node_modules/mineflayer/lib/plugins/inventory.js b/node_modules/mineflayer/lib/plugins/inventory.js new file mode 100644 index 00000000..441de4e5 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/inventory.js @@ -0,0 +1,682 @@ +const assert = require('assert') +const Vec3 = require('vec3').Vec3 +const { once } = require('events') +const { callbackify, sleep, createDoneTask, createTask } = require('../promise_utils') + +module.exports = inject + +// ms to wait before clicking on a tool so the server can send the new +// damage information +const DIG_CLICK_TIMEOUT = 500 + +function inject (bot, { version, hideErrors }) { + const Item = require('prismarine-item')(version) + const windows = require('prismarine-windows')(version) + const mcData = require('minecraft-data')(bot.version) + + let bobberId = 90 + // Before 1.14 the bobber entity keep changing name at each version (but the id stays 90) + // 1.14 changes the id, but hopefully we can stick with the name: fishing_bobber + // the alternative would be to rename it in all version of mcData + if (bot.supportFeature('fishingBobberCorrectlyNamed')) { + bobberId = mcData.entitiesByName.fishing_bobber.id + } + + let eatingTask = createDoneTask() + let fishingTask = createDoneTask() + + let nextActionNumber = 0 + const windowClickQueue = [] + let lastFloat + let windowItems + + // 0-8, null = uninitialized + // which quick bar slot is selected + bot.quickBarSlot = null + bot.inventory = windows.createWindow(0, 'minecraft:inventory', 'Inventory') + bot.currentWindow = null + bot.heldItem = null + + bot._client.on('entity_status', (packet) => { + if (packet.entityId === bot.entity.id && packet.entityStatus === 9 && !eatingTask.done) { + eatingTask.finish() + } + }) + + bot._client.on('spawn_entity', (packet) => { + if (packet.type === bobberId && !fishingTask.done && !lastFloat) { + lastFloat = bot.entities[packet.entityId] + } + }) + + bot._client.on('world_particles', (packet) => { + if (!lastFloat || fishingTask.done) return + + const pos = lastFloat.position + if (packet.particleId === 4 && packet.particles === 6 && pos.distanceTo(new Vec3(packet.x, pos.y, packet.z)) <= 1.23) { + activateItem() + lastFloat = undefined + fishingTask.finish() + } + }) + + bot._client.on('entity_destroy', (packet) => { + if (!lastFloat) return + if (packet.entityIds.some(id => id === lastFloat.id)) { + lastFloat = undefined + fishingTask.cancel(new Error('Fishing cancelled')) + } + }) + + async function consume () { + if (!eatingTask.done) { + eatingTask.cancel(new Error('Consuming cancelled due to calling bot.consume() again')) + } + + if (bot.food === 20) { + throw new Error('Food is full') + } + + eatingTask = createTask() + + activateItem() + + await eatingTask.promise + } + + async function fish () { + if (!fishingTask.done) { + fishingTask.cancel(new Error('Fishing cancelled due to calling bot.fish() again')) + } + + fishingTask = createTask() + + activateItem() + + await fishingTask.promise + } + + function activateItem (offHand = false) { + if (bot.supportFeature('useItemWithBlockPlace')) { + bot._client.write('block_place', { + location: new Vec3(-1, 255, -1), + direction: -1, + heldItem: Item.toNotch(bot.heldItem), + cursorX: -1, + cursorY: -1, + cursorZ: -1 + }) + } else if (bot.supportFeature('useItemWithOwnPacket')) { + bot._client.write('use_item', { + hand: offHand ? 1 : 0 + }) + } + } + + function deactivateItem () { + bot._client.write('block_dig', { + status: 5, + location: new Vec3(0, 0, 0), + face: 5 + }) + } + + async function putSelectedItemRange (start, end, window, slot) { + // put the selected item back indow the slot range in window + + // try to put it in an item that already exists and just increase + // the count. + await tryToJoin() + + async function tryToJoin () { + if (!window.selectedItem) { + return + } + const item = window.findItemRange(start, end, window.selectedItem.type, + window.selectedItem.metadata, true) + if (item) { + await clickWindow(item.slot, 0, 0) + await tryToJoin() + } else { + await tryToFindEmpty() + } + } + + async function tryToFindEmpty () { + const emptySlot = window.firstEmptySlotRange(start, end) + if (emptySlot === null) { + // if there is still some leftover and slot is not null, click slot + if (slot === null) { + await tossLeftover() + } else { + await clickWindow(slot, 0, 0) + await tossLeftover() + } + } else { + await clickWindow(emptySlot, 0, 0) + } + } + + async function tossLeftover () { + if (window.selectedItem) { + await clickWindow(-999, 0, 0) + } + } + } + + async function activateBlock (block) { + // TODO: tell the server that we are not sneaking while doing this + await bot.lookAt(block.position.offset(0.5, 0.5, 0.5), false) + // place block message + if (bot.supportFeature('blockPlaceHasHeldItem')) { + bot._client.write('block_place', { + location: block.position, + direction: 1, + heldItem: Item.toNotch(bot.heldItem), + cursorX: 8, + cursorY: 8, + cursorZ: 8 + }) + } else if (bot.supportFeature('blockPlaceHasHandAndIntCursor')) { + bot._client.write('block_place', { + location: block.position, + direction: 1, + hand: 0, + cursorX: 8, + cursorY: 8, + cursorZ: 8 + }) + } else if (bot.supportFeature('blockPlaceHasHandAndFloatCursor')) { + bot._client.write('block_place', { + location: block.position, + direction: 1, + hand: 0, + cursorX: 0.5, + cursorY: 0.5, + cursorZ: 0.5 + }) + } else if (bot.supportFeature('blockPlaceHasInsideBlock')) { + bot._client.write('block_place', { + location: block.position, + direction: 1, + hand: 0, + cursorX: 0.5, + cursorY: 0.5, + cursorZ: 0.5, + insideBlock: false + }) + } + + // swing arm animation + bot.swingArm() + } + + async function activateEntity (entity) { + // TODO: tell the server that we are not sneaking while doing this + await bot.lookAt(entity.position.offset(0, 1, 0), false) + bot._client.write('use_entity', { + target: entity.id, + mouse: 0, + sneaking: false + }) + } + + async function activateEntityAt (entity, position) { + // TODO: tell the server that we are not sneaking while doing this + await bot.lookAt(position, false) + bot._client.write('use_entity', { + target: entity.id, + mouse: 2, + sneaking: false, + x: position.x - entity.position.x, + y: position.y - entity.position.y, + z: position.z - entity.position.z + }) + } + + async function transfer (options) { + const window = options.window || bot.currentWindow || bot.inventory + const itemType = options.itemType + const metadata = options.metadata + let count = options.count === null ? 1 : options.count + let firstSourceSlot = null + + // ranges + const sourceStart = options.sourceStart + const destStart = options.destStart + assert.notStrictEqual(sourceStart, null) + assert.notStrictEqual(destStart, null) + const sourceEnd = options.sourceEnd === null ? sourceStart + 1 : options.sourceEnd + const destEnd = options.destEnd === null ? destStart + 1 : options.destEnd + + await transferOne() + + async function transferOne () { + if (count === 0) { + await putSelectedItemRange(sourceStart, sourceEnd, window, firstSourceSlot) + return + } + if (!window.selectedItem || window.selectedItem.type !== itemType || + (metadata != null && window.selectedItem.metadata !== metadata)) { + // we are not holding the item we need. click it. + const sourceItem = window.findItemRange(sourceStart, sourceEnd, itemType, metadata) + if (!sourceItem) throw new Error(`missing source item ${itemType}:${metadata} in (${sourceStart},${sourceEnd})`) + if (firstSourceSlot === null) firstSourceSlot = sourceItem.slot + // number of item that can be moved from that slot + await clickWindow(sourceItem.slot, 0, 0) + } + await clickDest() + + async function clickDest () { + assert.notStrictEqual(window.selectedItem.type, null) + assert.notStrictEqual(window.selectedItem.metadata, null) + let destItem + let destSlot + // special case for tossing + if (destStart === -999) { + destSlot = -999 + } else { + // find a non full item that we can drop into + destItem = window.findItemRange(destStart, destEnd, + window.selectedItem.type, window.selectedItem.metadata, true) + // if that didn't work find an empty slot to drop into + destSlot = destItem + ? destItem.slot + : window.firstEmptySlotRange(destStart, destEnd) + // if that didn't work, give up + if (destSlot === null) { + throw new Error('destination full') + } + } + // move the maximum number of item that can be moved + const destSlotCount = destItem && destItem.count ? destItem.count : 0 + const movedItems = Math.min(window.selectedItem.stackSize - destSlotCount, window.selectedItem.count) + // if the number of item the left click moves is less than the number of item we want to move + // several at the same time (left click) + if (movedItems <= count) { + await clickWindow(destSlot, 0, 0) + // update the number of item we want to move (count) + count -= movedItems + await transferOne() + } else { + // one by one (right click) + await clickWindow(destSlot, 1, 0) + count -= 1 + await transferOne() + } + } + } + } + + function openBlock (block, Class) { + const session = new Class() + session.close = close + bot.once('windowOpen', onWindowOpen) + bot.activateBlock(block) + return session + function onWindowOpen (window) { + if (!Class.matchWindowType(window.type)) return + session.window = window + bot.once('windowClose', onClose) + bot.on(`setSlot:${window.id}`, onSetSlot) + session.emit('open') + } + + function close () { + assert.notStrictEqual(session.window, null) + closeWindow(session.window) + } + + function onClose () { + bot.removeListener(`setSlot:${session.window.id}`, onSetSlot) + session.window = null + session.emit('close') + } + + function onSetSlot (oldItem, newItem) { + if (!Item.equal(oldItem, newItem)) { + session.emit('updateSlot', oldItem, newItem) + } + } + } + + function openEntity (entity, Class) { + const session = new Class() + session.close = callbackify(close) + bot.once('windowOpen', onWindowOpen) + bot.activateEntity(entity) + return session + + function onWindowOpen (window) { + if (!Class.matchWindowType(window.type)) return + session.window = window + bot.once('windowClose', onClose) + bot.on(`setSlot:${window.id}`, onSetSlot) + session.emit('open') + } + + async function close () { + const closeEvent = once(bot, 'windowClose') + closeWindow(session.window) + await closeEvent + } + + function onClose () { + bot.removeListener(`setSlot:${session.window.id}`, onSetSlot) + session.window = null + session.emit('close') + } + + function onSetSlot (oldItem, newItem) { + if (!Item.equal(oldItem, newItem)) { + session.emit('updateSlot', oldItem, newItem) + } + } + } + + async function placeBlock (referenceBlock, faceVector) { + if (!bot.heldItem) throw new Error('must be holding an item to place a block') + // Look at the center of the face + const dx = 0.5 + faceVector.x * 0.5 + const dy = 0.5 + faceVector.y * 0.5 + const dz = 0.5 + faceVector.z * 0.5 + await bot.lookAt(referenceBlock.position.offset(dx, dy, dz), false) + // TODO: tell the server that we are sneaking while doing this + bot.swingArm() + const pos = referenceBlock.position + + if (bot.supportFeature('blockPlaceHasHeldItem')) { + bot._client.write('block_place', { + location: pos, + direction: vectorToDirection(faceVector), + heldItem: Item.toNotch(bot.heldItem), + cursorX: 8, + cursorY: 8, + cursorZ: 8 + }) + } else if (bot.supportFeature('blockPlaceHasHandAndIntCursor')) { + bot._client.write('block_place', { + location: pos, + direction: vectorToDirection(faceVector), + hand: 0, + cursorX: 8, + cursorY: 8, + cursorZ: 8 + }) + } else if (bot.supportFeature('blockPlaceHasHandAndFloatCursor')) { + bot._client.write('block_place', { + location: pos, + direction: vectorToDirection(faceVector), + hand: 0, + cursorX: 0.5, + cursorY: 0.5, + cursorZ: 0.5 + }) + } else if (bot.supportFeature('blockPlaceHasInsideBlock')) { + bot._client.write('block_place', { + location: pos, + direction: vectorToDirection(faceVector), + hand: 0, + cursorX: 0.5, + cursorY: 0.5, + cursorZ: 0.5, + insideBlock: false + }) + } + + const dest = pos.plus(faceVector) + const eventName = `blockUpdate:${dest}` + + const [oldBlock, newBlock] = await once(bot, eventName) + + if (oldBlock.type === newBlock.type) { + throw new Error(`No block has been placed : the block is still ${oldBlock.name}`) + } + } + + function createActionNumber () { + nextActionNumber = nextActionNumber === 32767 ? 1 : nextActionNumber + 1 + return nextActionNumber + } + + function updateHeldItem () { + bot.heldItem = bot.inventory.slots[bot.QUICK_BAR_START + bot.quickBarSlot] + bot.entity.heldItem = bot.heldItem + bot.emit('heldItemChanged', bot.entity.heldItem) + } + + function closeWindow (window) { + bot._client.write('close_window', { + windowId: window.id + }) + bot.currentWindow = null + bot.emit('windowClose', window) + } + + function confirmTransaction (windowId, actionId, accepted) { + // drop the queue entries for all the clicks that the server did not send + // transaction packets for. + let click = windowClickQueue.shift() + if (click === undefined) { + if (!hideErrors) { + console.log(`WARNING : unknown transaction confirmation for window ${windowId}, action ${actionId} and accepted ${accepted}`) + } + return + } + assert.ok(click.id <= actionId) + while (actionId > click.id) { + onAccepted() + click = windowClickQueue.shift() + } + assert.ok(click) + + if (accepted) { + onAccepted() + } else { + onRejected() + } + updateHeldItem() + + function onAccepted () { + const window = windowId === 0 ? bot.inventory : bot.currentWindow + if (!window || window.id !== click.windowId) return + window.acceptClick(click) + bot.emit(`confirmTransaction${click.id}`, true) + } + + function onRejected () { + bot._client.write('transaction', { + windowId: 0, + action: click.id, + accepted: false + }) + bot.emit(`confirmTransaction${click.id}`, false) + } + } + + async function clickWindow (slot, mouseButton, mode) { + // if you click on the quick bar and have dug recently, + // wait a bit + if (slot >= bot.QUICK_BAR_START && bot.lastDigTime != null) { + let timeSinceLastDig + while ((timeSinceLastDig = new Date() - bot.lastDigTime) < DIG_CLICK_TIMEOUT) { + await sleep(DIG_CLICK_TIMEOUT - timeSinceLastDig) + } + } + const window = bot.currentWindow || bot.inventory + + assert.ok(mouseButton === 0 || mouseButton === 1) + assert.strictEqual(mode, 0) + const actionId = createActionNumber() + + const click = { + slot, + mouseButton, + mode, + id: actionId, + windowId: window.id, + item: slot === -999 ? null : window.slots[slot] + } + windowClickQueue.push(click) + bot._client.write('window_click', { + windowId: window.id, + slot, + mouseButton, + action: actionId, + mode, + item: Item.toNotch(click.item) + }) + + const response = once(bot, `confirmTransaction${actionId}`) + + // notchian servers are assholes and only confirm certain transactions. + if (!window.transactionRequiresConfirmation(click)) { + // jump the gun and accept the click + confirmTransaction(window.id, actionId, true) + } + + const [success] = await response + if (!success) { + throw new Error('Server rejected transaction.') + } + } + + async function putAway (slot) { + await clickWindow(slot, 0, 0) + const window = bot.currentWindow || bot.inventory + const start = window.inventoryStart + const end = window.inventoryEnd + await putSelectedItemRange(start, end, window, null) + } + + async function moveSlotItem (sourceSlot, destSlot) { + await clickWindow(sourceSlot, 0, 0) + await clickWindow(destSlot, 0, 0) + // if we're holding an item, put it back where the source item was. + // otherwise we're done. + updateHeldItem() + if (bot.inventory.selectedItem) { + await clickWindow(sourceSlot, 0, 0) + } + } + + bot._client.on('transaction', (packet) => { + // confirm transaction + if (packet.action < 0) { + return + } + confirmTransaction(packet.windowId, packet.action, packet.accepted) + }) + + bot._client.on('held_item_slot', (packet) => { + // held item change + bot.setQuickBarSlot(packet.slot) + }) + + bot._client.on('open_window', (packet) => { + // open window + bot.currentWindow = windows.createWindow(packet.windowId, + packet.inventoryType, packet.windowTitle, packet.slotCount) + const window = bot.currentWindow + if (!windowItems || window.id !== windowItems.windowId) { + // don't emit windowOpen until we have the slot data + bot.once(`setWindowItems:${window.id}`, () => { + bot.emit('windowOpen', window) + }) + } else { + for (let i = 0; i < windowItems.items.length; ++i) { + const item = Item.fromNotch(windowItems.items[i]) + window.updateSlot(i, item) + } + updateHeldItem() + bot.emit('windowOpen', window) + } + }) + bot._client.on('open_horse_window', (packet) => { + // open window + bot.currentWindow = windows.createWindow(packet.windowId, + 'HorseWindow', 'Horse', packet.nbSlots) + const window = bot.currentWindow + if (!windowItems || window.id !== windowItems.windowId) { + // don't emit windowOpen until we have the slot data + bot.once(`setWindowItems:${window.id}`, () => { + bot.emit('windowOpen', window) + }) + } else { + for (let i = 0; i < windowItems.items.length; ++i) { + const item = Item.fromNotch(windowItems.items[i]) + window.updateSlot(i, item) + } + updateHeldItem() + bot.emit('windowOpen', window) + } + }) + bot._client.on('close_window', (packet) => { + // close window + const oldWindow = bot.currentWindow + bot.currentWindow = null + bot.emit('windowClose', oldWindow) + }) + bot._client.on('set_slot', (packet) => { + // set slot + const window = packet.windowId === 0 ? bot.inventory : bot.currentWindow + if (!window || window.id !== packet.windowId) return + const newItem = Item.fromNotch(packet.item) + const oldItem = window.slots[packet.slot] + window.updateSlot(packet.slot, newItem) + updateHeldItem() + bot.emit(`setSlot:${window.id}`, oldItem, newItem) + }) + bot._client.on('window_items', (packet) => { + const window = packet.windowId === 0 ? bot.inventory : bot.currentWindow + if (!window || window.id !== packet.windowId) { + windowItems = packet + return + } + + // set window items + for (let i = 0; i < packet.items.length; ++i) { + const item = Item.fromNotch(packet.items[i]) + window.updateSlot(i, item) + } + updateHeldItem() + bot.emit(`setWindowItems:${window.id}`) + }) + + bot.activateBlock = callbackify(activateBlock) + bot.activateEntity = callbackify(activateEntity) + bot.activateEntityAt = callbackify(activateEntityAt) + bot.placeBlock = callbackify(placeBlock) + bot.consume = callbackify(consume) + bot.fish = callbackify(fish) + bot.activateItem = activateItem + bot.deactivateItem = deactivateItem + + // not really in the public API + bot.clickWindow = callbackify(clickWindow) + bot.putSelectedItemRange = callbackify(putSelectedItemRange) + bot.putAway = callbackify(putAway) + bot.closeWindow = closeWindow + bot.transfer = callbackify(transfer) + bot.openBlock = openBlock + bot.openEntity = openEntity + bot.moveSlotItem = callbackify(moveSlotItem) + bot.updateHeldItem = updateHeldItem +} + +function vectorToDirection (v) { + if (v.y < 0) { + return 0 + } else if (v.y > 0) { + return 1 + } else if (v.z < 0) { + return 2 + } else if (v.z > 0) { + return 3 + } else if (v.x < 0) { + return 4 + } else if (v.x > 0) { + return 5 + } + assert.ok(false, `invalid direction vector ${v}`) +} diff --git a/node_modules/mineflayer/lib/plugins/kick.js b/node_modules/mineflayer/lib/plugins/kick.js new file mode 100644 index 00000000..1777a0fd --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/kick.js @@ -0,0 +1,14 @@ +module.exports = inject + +function inject (bot) { + bot._client.on('kick_disconnect', (packet) => { + bot.emit('kicked', packet.reason, true) + }) + bot._client.on('disconnect', (packet) => { + bot.emit('kicked', packet.reason, false) + }) + bot.quit = (reason) => { + reason = reason || 'disconnect.quitting' + bot._client.end(reason) + } +} diff --git a/node_modules/mineflayer/lib/plugins/physics.js b/node_modules/mineflayer/lib/plugins/physics.js new file mode 100644 index 00000000..79a5b460 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/physics.js @@ -0,0 +1,270 @@ +const Vec3 = require('vec3').Vec3 +const assert = require('assert') +const math = require('../math') +const conv = require('../conversions') +const { performance } = require('perf_hooks') +const { callbackify, createDoneTask, createTask } = require('../promise_utils') + +const { Physics, PlayerState } = require('prismarine-physics') + +module.exports = inject + +const PI = Math.PI +const PI_2 = Math.PI * 2 +const PHYSICS_INTERVAL_MS = 50 +const PHYSICS_TIMESTEP = PHYSICS_INTERVAL_MS / 1000 + +function inject (bot) { + const mcData = require('minecraft-data')(bot.version) + + const world = { getBlock: (pos) => { return bot.blockAt(pos, false) } } + const physics = Physics(mcData, world) + + bot.jumpQueued = false + bot.jumpTicks = 0 // autojump cooldown + + const controlState = { + forward: false, + back: false, + left: false, + right: false, + jump: false, + sprint: false, + sneak: false + } + let lastSentYaw = null + let doPhysicsTimer = null + let lastPhysicsFrameTime = null + let physicEnabled = false + + const lastSent = { + x: 0, + y: 0, + z: 0, + yaw: 0, + pitch: 0, + onGround: false, + time: 0 + } + + // This function should be executed each tick (every 0.05 seconds) + // How it works: https://gafferongames.com/post/fix_your_timestep/ + let timeAccumulator = 0 + function doPhysics () { + const now = performance.now() + const deltaSeconds = (now - lastPhysicsFrameTime) / 1000 + lastPhysicsFrameTime = now + + timeAccumulator += deltaSeconds + + while (timeAccumulator >= PHYSICS_TIMESTEP) { + if (physicEnabled) { + physics.simulatePlayer(new PlayerState(bot, controlState), world).apply(bot) + bot.emit('physicTick') + } + updatePosition(PHYSICS_TIMESTEP) + timeAccumulator -= PHYSICS_TIMESTEP + } + } + + function cleanup () { + clearInterval(doPhysicsTimer) + doPhysicsTimer = null + } + + function sendPacketPosition (position, onGround) { + // sends data, no logic + const oldPos = new Vec3(lastSent.x, lastSent.y, lastSent.z) + lastSent.x = position.x + lastSent.y = position.y + lastSent.z = position.z + lastSent.onGround = onGround + bot._client.write('position', lastSent) + bot.emit('move', oldPos) + } + + function sendPacketLook (yaw, pitch, onGround) { + // sends data, no logic + const oldPos = new Vec3(lastSent.x, lastSent.y, lastSent.z) + lastSent.yaw = yaw + lastSent.pitch = pitch + lastSent.onGround = onGround + bot._client.write('look', lastSent) + bot.emit('move', oldPos) + } + + function sendPacketPositionAndLook (position, yaw, pitch, onGround) { + // sends data, no logic + const oldPos = new Vec3(lastSent.x, lastSent.y, lastSent.z) + lastSent.x = position.x + lastSent.y = position.y + lastSent.z = position.z + lastSent.yaw = yaw + lastSent.pitch = pitch + lastSent.onGround = onGround + bot._client.write('position_look', lastSent) + bot.emit('move', oldPos) + } + + function deltaYaw (yaw1, yaw2) { + let dYaw = (yaw1 - yaw2) % PI_2 + if (dYaw < -PI) dYaw += PI_2 + else if (dYaw > PI) dYaw -= PI_2 + + return dYaw + } + + function updatePosition (dt) { + // If you're dead, you're probably on the ground though ... + if (!bot.isAlive) bot.entity.onGround = true + + // Increment the yaw in baby steps so that notchian clients (not the server) can keep up. + const dYaw = deltaYaw(bot.entity.yaw, lastSentYaw) + + // Vanilla doesn't clamp yaw, so we don't want to do it either + const maxDeltaYaw = dt * physics.yawSpeed + lastSentYaw += math.clamp(-maxDeltaYaw, dYaw, maxDeltaYaw) + + const yaw = conv.toNotchianYaw(lastSentYaw) + const pitch = conv.toNotchianPitch(bot.entity.pitch) + const position = bot.entity.position + const onGround = bot.entity.onGround + + // Only send a position update if necessary, select the appropriate packet + const positionUpdated = lastSent.x !== position.x || lastSent.y !== position.y || lastSent.z !== position.z + const lookUpdated = lastSent.yaw !== yaw || lastSent.pitch !== pitch + + if (positionUpdated && lookUpdated && bot.isAlive) { + sendPacketPositionAndLook(position, yaw, pitch, onGround) + } else if (positionUpdated && bot.isAlive) { + sendPacketPosition(position, onGround) + } else if (lookUpdated && bot.isAlive) { + sendPacketLook(yaw, pitch, onGround) + } else if (performance.now() - lastSent.time >= 1000) { + // Send a position packet every second, even if no update was made + sendPacketPosition(position, onGround) + lastSent.time = performance.now() + } else if (bot.supportFeature('positionUpdateSentEveryTick') && bot.isAlive) { + // For versions < 1.12, one player packet should be sent every tick + // for the server to update health correctly + bot._client.write('flying', { onGround: bot.entity.onGround }) + } + } + + bot.physics = physics + + bot.setControlState = (control, state) => { + assert.ok(control in controlState, `invalid control: ${control}`) + assert.ok(typeof state === 'boolean', `invalid state: ${state}`) + if (controlState[control] === state) return + controlState[control] = state + if (control === 'jump' && state) { + bot.jumpQueued = true + } else if (control === 'sprint') { + bot._client.write('entity_action', { + entityId: bot.entity.id, + actionId: state ? 3 : 4, + jumpBoost: 0 + }) + } else if (control === 'sneak') { + bot._client.write('entity_action', { + entityId: bot.entity.id, + actionId: state ? 0 : 1, + jumpBoost: 0 + }) + } + } + + bot.clearControlStates = () => { + for (const control in controlState) { + bot.setControlState(control, false) + } + } + + bot.controlState = {} + + for (const control of Object.keys(controlState)) { + Object.defineProperty(bot.controlState, control, { + get () { + return controlState[control] + }, + set (state) { + bot.setControlState(control, state) + return state + } + }) + } + + let lookingTask = createDoneTask() + + bot.on('move', () => { + if (!lookingTask.done && Math.abs(deltaYaw(bot.entity.yaw, lastSentYaw)) < 0.001) { + lookingTask.finish() + } + }) + + bot.look = callbackify(async (yaw, pitch, force) => { + if (!lookingTask.done) { + lookingTask.finish() // finish the previous one + } + lookingTask = createTask() + + bot.entity.yaw = yaw + bot.entity.pitch = pitch + if (force) { + lastSentYaw = yaw + return + } + + await lookingTask.promise + }) + + bot.lookAt = callbackify(async (point, force) => { + const delta = point.minus(bot.entity.position.offset(0, bot.entity.height, 0)) + const yaw = Math.atan2(-delta.x, -delta.z) + const groundDistance = Math.sqrt(delta.x * delta.x + delta.z * delta.z) + const pitch = Math.atan2(delta.y, groundDistance) + await bot.look(yaw, pitch, force) + }) + + // player position and look (clientbound) + bot._client.on('position', (packet) => { + bot.entity.height = 1.62 + bot.entity.velocity.set(0, 0, 0) + + // If flag is set, then the corresponding value is relative, else it is absolute + const pos = bot.entity.position + pos.set( + packet.flags & 1 ? (pos.x + packet.x) : packet.x, + packet.flags & 2 ? (pos.y + packet.y) : packet.y, + packet.flags & 4 ? (pos.z + packet.z) : packet.z + ) + + const newYaw = (packet.flags & 8 ? conv.toNotchianYaw(bot.entity.yaw) : 0) + packet.yaw + const newPitch = (packet.flags & 16 ? conv.toNotchianPitch(bot.entity.pitch) : 0) + packet.pitch + bot.entity.yaw = conv.fromNotchianYaw(newYaw) + bot.entity.pitch = conv.fromNotchianPitch(newPitch) + bot.entity.onGround = false + + if (bot.supportFeature('teleportUsesOwnPacket')) { + bot._client.write('teleport_confirm', { teleportId: packet.teleportId }) + // Force send an extra packet to be like vanilla client + sendPacketPositionAndLook(pos, newYaw, newPitch, bot.entity.onGround) + } + sendPacketPositionAndLook(pos, newYaw, newPitch, bot.entity.onGround) + + physicEnabled = true + bot.entity.timeSinceOnGround = 0 + lastSentYaw = bot.entity.yaw + + if (doPhysicsTimer === null) { + lastPhysicsFrameTime = performance.now() + doPhysicsTimer = setInterval(doPhysics, PHYSICS_INTERVAL_MS) + } + bot.emit('forcedMove') + }) + + bot.on('mount', () => { physicEnabled = false }) + bot.on('respawn', () => { physicEnabled = false }) + bot.on('end', cleanup) +} diff --git a/node_modules/mineflayer/lib/plugins/rain.js b/node_modules/mineflayer/lib/plugins/rain.js new file mode 100644 index 00000000..bdb4641c --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/rain.js @@ -0,0 +1,14 @@ +module.exports = inject + +function inject (bot) { + bot.isRaining = false + bot._client.on('game_state_change', (packet) => { + if (packet.reason === 1) { + bot.isRaining = true + bot.emit('rain') + } else if (packet.reason === 2) { + bot.isRaining = false + bot.emit('rain') + } + }) +} diff --git a/node_modules/mineflayer/lib/plugins/ray_trace.js b/node_modules/mineflayer/lib/plugins/ray_trace.js new file mode 100644 index 00000000..275a91c1 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/ray_trace.js @@ -0,0 +1,37 @@ +const { Vec3 } = require('vec3') +const { RaycastIterator } = require('../iterators') + +module.exports = (bot) => { + function getViewDirection (pitch, yaw) { + const csPitch = Math.cos(pitch) + const snPitch = Math.sin(pitch) + const csYaw = Math.cos(yaw) + const snYaw = Math.sin(yaw) + return new Vec3(-snYaw * csPitch, snPitch, -csYaw * csPitch) + } + + bot.blockInSight = (maxSteps = 256, vectorLength = 5 / 16) => { + console.warn('[deprecated] use bot.blockAtCursor instead') + const block = bot.blockAtCursor(maxSteps * vectorLength) + if (block) return block + } + + bot.blockAtCursor = (maxDistance = 256) => { + const { position, height, pitch, yaw } = bot.entity + + const eyePosition = position.offset(0, height, 0) + const viewDirection = getViewDirection(pitch, yaw) + + const iter = new RaycastIterator(eyePosition, viewDirection, maxDistance) + let pos = iter.next() + while (pos) { + const block = bot.blockAt(new Vec3(pos.x, pos.y, pos.z)) + // TODO: Check boundingBox of block + if (block && block.type !== 0) { + return block + } + pos = iter.next() + } + return null + } +} diff --git a/node_modules/mineflayer/lib/plugins/scoreboard.js b/node_modules/mineflayer/lib/plugins/scoreboard.js new file mode 100644 index 00000000..11300262 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/scoreboard.js @@ -0,0 +1,62 @@ +const ScoreBoard = require('../scoreboard') + +module.exports = inject + +function inject (bot) { + const scoreboards = {} + + bot._client.on('scoreboard_objective', (packet) => { + if (packet.action === 0) { + const { name } = packet + const scoreboard = new ScoreBoard(packet) + scoreboards[name] = scoreboard + + bot.emit('scoreboardCreated', scoreboard) + } + + if (packet.action === 1) { + bot.emit('scoreboardDeleted', scoreboards[packet.name]) + delete scoreboards[packet.name] + } + + if (packet.action === 2) { + scoreboards[packet.name].setTitle(packet.displayText) + bot.emit('scoreboardTitleChanged', scoreboards[packet.name]) + } + }) + + bot._client.on('scoreboard_score', (packet) => { + const scoreboard = scoreboards[packet.scoreName] + if (scoreboard !== undefined && packet.action === 0) { + const updated = scoreboard.add(packet.itemName, packet.value) + bot.emit('scoreUpdated', scoreboard, updated) + } + + if (packet.action === 1) { + if (scoreboard !== undefined) { + const removed = scoreboard.remove(packet.itemName) + return bot.emit('scoreRemoved', scoreboard, removed) + } + + for (const sb of Object.values(scoreboards)) { + if (packet.itemName in sb.itemsMap) { + const removed = sb.remove(packet.itemName) + return bot.emit('scoreRemoved', sb, removed) + } + } + } + }) + + bot._client.on('scoreboard_display_objective', (packet) => { + const { name, position } = packet + const scoreboard = scoreboards[name] + + if (scoreboard !== undefined) { + bot.emit('scoreboardPosition', position, scoreboard, ScoreBoard.positions[position]) + ScoreBoard.positions[position] = scoreboard + } + }) + + bot.scoreboards = scoreboards + bot.scoreboard = ScoreBoard.positions +} diff --git a/node_modules/mineflayer/lib/plugins/settings.js b/node_modules/mineflayer/lib/plugins/settings.js new file mode 100644 index 00000000..efa62744 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/settings.js @@ -0,0 +1,86 @@ +const assert = require('assert') + +module.exports = inject + +const chatToBits = { + enabled: 0, + commandsOnly: 1, + disabled: 2 +} + +const handToBits = { + left: 0, + right: 1 +} + +const viewDistanceToBits = { + far: 12, + normal: 10, + short: 8, + tiny: 6 +} + +function inject (bot, options) { + function setSettings (settings) { + extend(bot.settings, settings) + const chatBits = chatToBits[bot.settings.chat] + assert.ok(chatBits != null, `invalid chat setting: ${bot.settings.chat}`) + const viewDistanceBits = viewDistanceToBits[bot.settings.viewDistance] + assert.ok(viewDistanceBits != null, `invalid view distance setting: ${bot.settings.viewDistance}`) + const handBits = handToBits[bot.settings.mainHand] + assert.ok(handBits != null, `invalid main hand: ${bot.settings.mainHand}`) + bot.settings.showCape = !!bot.settings.showCape + const skinParts = bot.settings.skinParts.showCape << 0 | + bot.settings.skinParts.showJacket << 1 | + bot.settings.skinParts.showLeftSleeve << 2 | + bot.settings.skinParts.showRightSleeve << 3 | + bot.settings.skinParts.showLeftPants << 4 | + bot.settings.skinParts.showRightPants << 5 | + bot.settings.skinParts.showHat << 6 + bot._client.write('settings', { + locale: bot.settings.locale || 'en_US', + viewDistance: viewDistanceBits, + chatFlags: chatBits, + chatColors: bot.settings.colorsEnabled, + skinParts: skinParts, + mainHand: handBits + }) + } + + bot.settings = { + chat: options.chat || 'enabled', + colorsEnabled: options.colorsEnabled == null + ? true + : options.colorsEnabled, + viewDistance: options.viewDistance || 'far', + difficulty: options.difficulty == null + ? 2 + : options.difficulty, + skinParts: options.skinParts == null + ? { + showCape: true, + showJacket: true, + showLeftSleeve: true, + showRightSleeve: true, + showLeftPants: true, + showRightPants: true, + showHat: true + } + : options.skinParts, + mainHand: options.mainHand || 'right' + } + + bot._client.once('login', () => { + setSettings({}) + }) + + bot.setSettings = setSettings +} + +const hasOwn = {}.hasOwnProperty +function extend (obj, src) { + for (const key in src) { + if (hasOwn.call(src, key)) obj[key] = src[key] + } + return obj +} diff --git a/node_modules/mineflayer/lib/plugins/simple_inventory.js b/node_modules/mineflayer/lib/plugins/simple_inventory.js new file mode 100644 index 00000000..2013cb2e --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/simple_inventory.js @@ -0,0 +1,145 @@ +const assert = require('assert') +const { callbackify } = require('../promise_utils') + +module.exports = inject + +const QUICK_BAR_COUNT = 9 +const QUICK_BAR_START = 36 + +function inject (bot) { + let nextQuickBarSlot = 0 + + const armorSlots = { + head: 5, + torso: 6, + legs: 7, + feet: 8 + } + + if (!bot.supportFeature('doesntHaveOffHandSlot')) { + armorSlots['off-hand'] = 45 + } + + async function tossStack (item) { + assert.ok(item) + await bot.clickWindow(item.slot, 0, 0) + await bot.clickWindow(-999, 0, 0) + bot.closeWindow(bot.currentWindow || bot.inventory) + } + + async function toss (itemType, metadata, count) { + const window = bot.currentWindow || bot.inventory + const options = { + window, + itemType, + metadata, + count, + sourceStart: window.inventoryStart, + sourceEnd: window.inventoryEnd, + destStart: -999 + } + await bot.transfer(options) + } + + async function unequip (destination) { + if (destination === 'hand') { + await equipEmpty() + } else { + await disrobe(destination) + } + } + + function setQuickBarSlot (slot) { + assert.ok(slot >= 0) + assert.ok(slot < 9) + if (bot.quickBarSlot === slot) return + bot.quickBarSlot = slot + bot._client.write('held_item_slot', { + slotId: slot + }) + bot.updateHeldItem() + } + + async function equipEmpty () { + for (let i = 0; i < 9; ++i) { + if (!bot.inventory.slots[QUICK_BAR_START + i]) { + setQuickBarSlot(i) + return + } + } + const slot = bot.inventory.firstEmptyInventorySlot() + if (!slot) { + await bot.tossStack(bot.heldItem) + return + } + const equipSlot = QUICK_BAR_START + bot.quickBarSlot + await bot.clickWindow(equipSlot, 0, 0) + await bot.clickWindow(slot, 0, 0) + if (bot.inventory.selectedItem) { + await bot.clickWindow(-999, 0, 0) + } + } + + async function disrobe (destination) { + assert.strictEqual(bot.currentWindow, null) + const destSlot = getDestSlot(destination) + await bot.putAway(destSlot) + } + + async function equip (item, destination) { + if (typeof item === 'number') { + item = bot.inventory.findInventoryItem(item) + } + if (item == null || typeof item !== 'object') { + throw new Error('Invalid item object in equip') + } + const sourceSlot = item.slot + let destSlot = getDestSlot(destination) + + if (sourceSlot === destSlot) { + // don't need to do anything + return + } + + if (destination !== 'hand') { + await bot.moveSlotItem(sourceSlot, destSlot) + return + } + + if (destSlot >= QUICK_BAR_START && sourceSlot >= QUICK_BAR_START) { + // all we have to do is change the quick bar selection + bot.setQuickBarSlot(sourceSlot - QUICK_BAR_START) + return + } + + // find an empty slot on the quick bar to put the source item in + destSlot = bot.inventory.firstEmptySlotRange(QUICK_BAR_START, QUICK_BAR_START + QUICK_BAR_COUNT) + if (destSlot == null) { + // LRU cache for the quick bar items + destSlot = QUICK_BAR_START + nextQuickBarSlot + nextQuickBarSlot = (nextQuickBarSlot + 1) % QUICK_BAR_COUNT + } + setQuickBarSlot(destSlot - QUICK_BAR_START) + await bot.moveSlotItem(sourceSlot, destSlot) + } + + function getDestSlot (destination) { + if (destination === 'hand') { + return QUICK_BAR_START + bot.quickBarSlot + } else { + const destSlot = armorSlots[destination] + assert.ok(destSlot != null, `invalid destination: ${destination}`) + return destSlot + } + } + + bot.equip = callbackify(equip) + bot.unequip = callbackify(unequip) + bot.toss = callbackify(toss) + bot.tossStack = callbackify(tossStack) + bot.setQuickBarSlot = setQuickBarSlot + bot.getEquipmentDestSlot = getDestSlot + + // constants + bot.QUICK_BAR_START = QUICK_BAR_START +} diff --git a/node_modules/mineflayer/lib/plugins/sound.js b/node_modules/mineflayer/lib/plugins/sound.js new file mode 100644 index 00000000..86e5ebeb --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/sound.js @@ -0,0 +1,24 @@ +const Vec3 = require('vec3').Vec3 + +module.exports = inject + +function inject (bot) { + bot._client.on('named_sound_effect', (packet) => { + const soundName = packet.soundName + const pt = new Vec3(packet.x / 8, packet.y / 8, packet.z / 8) + const volume = packet.volume + const pitch = packet.pitch + + bot.emit('soundEffectHeard', soundName, pt, volume, pitch) + }) + + bot._client.on('sound_effect', (packet) => { + const soundId = packet.soundId + const soundCategory = packet.soundCategory + const pt = new Vec3(packet.x / 8, packet.y / 8, packet.z / 8) + const volume = packet.volume + const pitch = packet.pitch + + bot.emit('hardcodedSoundEffectHeard', soundId, soundCategory, pt, volume, pitch) + }) +} diff --git a/node_modules/mineflayer/lib/plugins/spawn_point.js b/node_modules/mineflayer/lib/plugins/spawn_point.js new file mode 100644 index 00000000..a5904606 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/spawn_point.js @@ -0,0 +1,11 @@ +const Vec3 = require('vec3').Vec3 + +module.exports = inject + +function inject (bot) { + bot.spawnPoint = new Vec3(0, 0, 0) + bot._client.on('spawn_position', (packet) => { + bot.spawnPoint = new Vec3(packet.location.x, packet.location.y, packet.location.z) + bot.emit('game') + }) +} diff --git a/node_modules/mineflayer/lib/plugins/tablist.js b/node_modules/mineflayer/lib/plugins/tablist.js new file mode 100644 index 00000000..b38437fd --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/tablist.js @@ -0,0 +1,26 @@ +module.exports = inject + +const escapeValueNewlines = str => { + return str.replace(/(": *"(?:\\"|[^"])+")/g, (_, match) => match.replace(/\n/g, '\\n')) +} + +function inject (bot) { + const ChatMessage = require('prismarine-chat')(bot.version) + + bot.tablist = { + header: new ChatMessage(''), + footer: new ChatMessage('') + } + + bot._client.on('playerlist_header', (packet) => { + if (packet.header) { + const header = escapeValueNewlines(packet.header) + bot.tablist.header = new ChatMessage(JSON.parse(header)) + } + + if (packet.footer) { + const footer = escapeValueNewlines(packet.footer) + bot.tablist.footer = new ChatMessage(JSON.parse(footer)) + } + }) +} diff --git a/node_modules/mineflayer/lib/plugins/time.js b/node_modules/mineflayer/lib/plugins/time.js new file mode 100644 index 00000000..866846b5 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/time.js @@ -0,0 +1,21 @@ +module.exports = inject + +function inject (bot) { + bot.time = { + day: null, + age: null + } + bot._client.on('update_time', (packet) => { + bot.time.time = longToNumber(packet.time) + bot.time.timeOfDay = bot.time.time % 24000 + bot.time.day = Math.floor(bot.time.time / 24000) + bot.time.isDay = bot.time.timeOfDay < 13000 || bot.time.timeOfDay >= 23000 + bot.time.moonPhase = bot.time.day % 8 + bot.time.age = longToNumber(packet.age) + bot.emit('time') + }) +} + +function longToNumber (arr) { + return arr[1] + 4294967296 * arr[0] +} diff --git a/node_modules/mineflayer/lib/plugins/title.js b/node_modules/mineflayer/lib/plugins/title.js new file mode 100644 index 00000000..f8714d75 --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/title.js @@ -0,0 +1,9 @@ +module.exports = inject + +function inject (bot) { + bot._client.on('title', (packet) => { + if (packet.action === 0 || packet.action === 1) { + bot.emit('title', packet.text) + } + }) +} diff --git a/node_modules/mineflayer/lib/plugins/villager.js b/node_modules/mineflayer/lib/plugins/villager.js new file mode 100644 index 00000000..0bf3d2ad --- /dev/null +++ b/node_modules/mineflayer/lib/plugins/villager.js @@ -0,0 +1,197 @@ +const Villager = require('../villager') +const assert = require('assert') +const { callbackify } = require('../promise_utils') + +module.exports = inject + +function inject (bot, { version }) { + const mcData = require('minecraft-data')(version) + const Item = require('prismarine-item')(version) + + let selectTrade + if (bot.supportFeature('useMCTrSel')) { + bot._client.registerChannel('MC|TrSel', 'i32') + selectTrade = (choice) => { + bot._client.writeChannel('MC|TrSel', choice) + } + } else { + selectTrade = (choice) => { + // This is actually not used: + // bot._client.write('select_trade', {slot: choice}) + } + } + + const tradeListSchema = [ + 'container', + [ + { type: 'i32', name: 'windowId' }, + { + name: 'trades', + type: [ + 'array', + { + countType: 'i8', + type: [ + 'container', + [ + { type: 'slot', name: 'inputItem1' }, + { type: 'slot', name: 'outputItem' }, + { type: 'bool', name: 'hasItem2' }, + { + name: 'inputItem2', + type: [ + 'switch', + { + compareTo: 'hasItem2', + fields: { + true: 'slot', + false: 'void' + } + } + ] + }, + { type: 'bool', name: 'tradeDisabled' }, + { type: 'i32', name: 'nbTradeUses' }, + { type: 'i32', name: 'maximumNbTradeUses' } + ] + ] + }] + } + ] + ] + + let tradeListPacket + if (bot.supportFeature('useMCTrList')) { + tradeListPacket = 'MC|TrList' + bot._client.registerChannel('MC|TrList', tradeListSchema) + } else if (bot.supportFeature('usetraderlist')) { + tradeListPacket = 'minecraft:trader_list' + bot._client.registerChannel('minecraft:trader_list', tradeListSchema) + } else { + tradeListPacket = 'trade_list' + } + + function openVillager (villagerEntity) { + const villagerType = mcData.entitiesByName.villager ? mcData.entitiesByName.villager.id : mcData.entitiesByName.Villager.id + assert.strictEqual(villagerEntity.entityType, villagerType) + let ready = false + + bot._client.on(tradeListPacket, gotTrades) + const villager = bot.openEntity(villagerEntity, Villager) + villager.trades = null + + villager.once('close', () => { + bot._client.removeListener(tradeListPacket, gotTrades) + }) + + villager.trade = async (index, count) => { + await bot.trade(villager, index, count) + } + + return villager + + function gotTrades (packet) { + if (!villager.window) return + if (packet.windowId !== villager.window.id) return + assert.ok(packet.trades) + villager.trades = packet.trades.map(trade => Object.assign(trade, { + inputItem1: Item.fromNotch(trade.inputItem1 || { blockId: -1 }), + inputItem2: Item.fromNotch(trade.inputItem2 || { blockId: -1 }), + outputItem: Item.fromNotch(trade.outputItem || { blockId: -1 }) + })) + if (!ready) { + ready = true + villager.emit('ready') + } + } + } + + async function trade (villager, index, count) { + const choice = parseInt(index, 10) // allow string argument + assert.notStrictEqual(villager.trades, null) + assert.notStrictEqual(villager.trades[choice], null) + const Trade = villager.trades[choice] + count = count || Trade.maximumNbTradeUses - Trade.nbTradeUses + assert.ok(Trade.maximumNbTradeUses - Trade.nbTradeUses > 0, 'trade blocked') + assert.ok(Trade.maximumNbTradeUses - Trade.nbTradeUses >= count) + + const itemCount1 = villager.window.count(Trade.inputItem1.type, Trade.inputItem1.metadata) + const hasEnoughItem1 = itemCount1 >= Trade.inputItem1.count * count + let hasEnoughItem2 = true + if (Trade.inputItem2 && Trade.inputItem2.type && Trade.inputItem2.count) { + const itemCount2 = villager.window.count(Trade.inputItem2.type, Trade.inputItem2.metadata) + hasEnoughItem2 = itemCount2 >= Trade.inputItem2.count * count + } + if (!hasEnoughItem1 || !hasEnoughItem2) { + throw new Error('Not enough items to trade') + } + + selectTrade(choice) + + for (let i = 0; i < count; i++) { + await putRequirements(villager.window, Trade, count) + villager.window.updateSlot(2, Object.assign({}, Trade.outputItem)) + await bot.putAway(2) + const [slot1, slot2] = villager.window.slots + if (slot1) { + assert.strictEqual(slot1.type, Trade.inputItem1.type) + const updatedCount1 = slot1.count - Trade.inputItem1.count + const updatedSlot1 = updatedCount1 <= 0 + ? null + : { ...slot1, count: updatedCount1 } + villager.window.updateSlot(0, updatedSlot1) + } + + if (slot2) { + assert.strictEqual(slot2.type, Trade.inputItem2.type) + const updatedCount2 = slot2.count - Trade.inputItem2.count + const updatedSlot2 = updatedCount2 <= 0 + ? null + : { ...slot2, count: updatedCount2 } + villager.window.updateSlot(1, updatedSlot2) + } + Trade.nbTradeUses++ + } + + if (Trade.maximumNbTradeUses - Trade.nbTradeUses === 0) { + Trade.tradeDisabled = true + } + } + + async function putRequirements (window, Trade, count) { + const [slot1, slot2] = window.slots + const { count: tradeCount1, stackSize: stackSize1, type: type1, metadata: metadata1 } = Trade.inputItem1 + const neededCount1 = Math.min(stackSize1, tradeCount1 * count) + + const input1 = !slot1 + ? neededCount1 + : (slot1.count < tradeCount1 ? neededCount1 - slot1.count : 0) + await deposit(window, type1, metadata1, input1, 0) + if (Trade.hasItem2) { + const { count: tradeCount2, stackSize: stackSize2, type: type2, metadata: metadata2 } = Trade.inputItem2 + const needCount2 = Math.min(stackSize2, tradeCount2 * count) + + const input2 = !slot2 + ? needCount2 + : (slot2.count < tradeCount2 ? needCount2 - slot2.count : 0) + await deposit(window, type2, metadata2, input2, 1) + } + } + + async function deposit (window, itemType, metadata, count, slot) { + const options = { + window, + itemType, + metadata, + count, + sourceStart: window.inventoryStart, + sourceEnd: window.inventoryEnd, + destStart: slot, + destEnd: slot + 1 + } + await bot.transfer(options) + } + + bot.openVillager = openVillager + bot.trade = callbackify(trade) +} diff --git a/node_modules/mineflayer/lib/promise_utils.js b/node_modules/mineflayer/lib/promise_utils.js new file mode 100644 index 00000000..90476d9a --- /dev/null +++ b/node_modules/mineflayer/lib/promise_utils.js @@ -0,0 +1,44 @@ +function callbackify (f) { + return function (...args) { + const cb = args[f.length] + return f(...args).then(r => { if (cb) { cb(undefined, r) } return r }, err => { if (cb) { cb(err) } else throw err }) + } +} + +function sleep (ms) { + return new Promise(resolve => setTimeout(resolve, ms)) +} + +function createTask () { + const task = { + done: false + } + task.promise = new Promise((resolve, reject) => { + task.cancel = (err) => { + reject(err) + task.done = true + } + task.finish = () => { + resolve() + task.done = true + } + }) + return task +} + +function createDoneTask () { + const task = { + done: true, + promise: Promise.resolve(), + cancel: () => {}, + finish: () => {} + } + return task +} + +module.exports = { + callbackify, + sleep, + createTask, + createDoneTask +} diff --git a/node_modules/mineflayer/lib/scoreboard.js b/node_modules/mineflayer/lib/scoreboard.js new file mode 100644 index 00000000..c6a5a4f1 --- /dev/null +++ b/node_modules/mineflayer/lib/scoreboard.js @@ -0,0 +1,52 @@ +const sortItems = (a, b) => { + if (a.value > b.value) return -1 + if (a.value < b.value) return 1 + return 1 +} + +class ScoreBoard { + constructor (packet) { + this.name = packet.name + this.setTitle(packet.displayText) + this.itemsMap = {} + } + + setTitle (title) { + try { + this.title = JSON.parse(title).text // version>1.13 + } catch { + this.title = title + } + } + + add (name, value) { + this.itemsMap[name] = { name, value } + return this.itemsMap[name] + } + + remove (name) { + const removed = this.itemsMap[name] + delete this.itemsMap[name] + return removed + } + + get items () { + return Object.values(this.itemsMap).sort(sortItems) + } +} + +ScoreBoard.positions = { + get list () { + return this[0] + }, + + get sidebar () { + return this[1] + }, + + get belowName () { + return this[2] + } +} + +module.exports = ScoreBoard diff --git a/node_modules/mineflayer/lib/supportFeature.js b/node_modules/mineflayer/lib/supportFeature.js new file mode 100644 index 00000000..8f8b022e --- /dev/null +++ b/node_modules/mineflayer/lib/supportFeature.js @@ -0,0 +1,27 @@ +const features = require('./features') + +const versionList = require('minecraft-data').versions.pc +const versionToIndex = Object.fromEntries(versionList.map((version, i) => [version.minecraftVersion, versionList.length - i])) +const nameToFeature = Object.fromEntries(features.map(feature => [feature.name, feature])) + +module.exports = (featureName, minecraftVersion) => { + const feature = nameToFeature[featureName] + if (feature === undefined) { + throw new Error(`Feature ${feature} doesn't exist`) + } + + const currentVer = versionToIndex[minecraftVersion] + const minVer = versionToIndex[feature.versions[0]] + const maxVer = versionToIndex[feature.versions[1]] + if (currentVer === undefined) { + throw new Error(`Version ${minecraftVersion} doesn't exist`) + } + if (minVer === undefined) { + throw new Error(`Version ${feature.versions[0]} doesn't exist`) + } + if (maxVer === undefined) { + throw new Error(`Version ${feature.versions[1]} doesn't exist`) + } + + return minVer <= currentVer && currentVer <= maxVer +} diff --git a/node_modules/mineflayer/lib/version.js b/node_modules/mineflayer/lib/version.js new file mode 100644 index 00000000..0817f4dd --- /dev/null +++ b/node_modules/mineflayer/lib/version.js @@ -0,0 +1,4 @@ +module.exports = { + supportedVersions: ['1.8', '1.9', '1.10', '1.11', '1.12', '1.13', '1.14', '1.15', '1.16'], + testedVersions: ['1.8.8', '1.9.4', '1.10.2', '1.11.2', '1.12.2', '1.13.2', '1.14.4', '1.15.2', '1.16.4'] +} diff --git a/node_modules/mineflayer/lib/villager.js b/node_modules/mineflayer/lib/villager.js new file mode 100644 index 00000000..a3d8b35e --- /dev/null +++ b/node_modules/mineflayer/lib/villager.js @@ -0,0 +1,21 @@ +const EventEmitter = require('events').EventEmitter +const assert = require('assert') + +class Villager extends EventEmitter { + constructor () { + super() + + this.window = null + } + + // this function is replaced by the inventory plugin + close () { + assert.ok(false, 'override') + } +} + +Villager.matchWindowType = (type) => { + return type === 'minecraft:villager' || type === 'minecraft:merchant' +} + +module.exports = Villager diff --git a/node_modules/mineflayer/package.json b/node_modules/mineflayer/package.json new file mode 100644 index 00000000..99e8c811 --- /dev/null +++ b/node_modules/mineflayer/package.json @@ -0,0 +1,78 @@ +{ + "_from": "mineflayer", + "_id": "mineflayer@2.37.1", + "_inBundle": false, + "_integrity": "sha512-ngPwqHxvVljWxhpeW9E4BpGJ4uKmaSEyRoM9l0mvzR6RjyAvbajesVAw47T2f2FTpY61/iwbkrDQhPzUDEUnQw==", + "_location": "/mineflayer", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "mineflayer", + "name": "mineflayer", + "escapedName": "mineflayer", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/mineflayer/-/mineflayer-2.37.1.tgz", + "_shasum": "115b7c77ab4584c488003c5aefb3f62acb991d92", + "_spec": "mineflayer", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot", + "bugs": { + "url": "https://github.com/PrismarineJS/mineflayer/issues" + }, + "bundleDependencies": false, + "dependencies": { + "minecraft-data": "^2.70.0", + "minecraft-protocol": "^1.17.0", + "prismarine-biome": "^1.1.0", + "prismarine-block": "^1.6.0", + "prismarine-chat": "^1.0.0", + "prismarine-chunk": "^1.20.3", + "prismarine-entity": "^1.0.0", + "prismarine-item": "^1.5.0", + "prismarine-physics": "^1.0.4", + "prismarine-recipe": "^1.1.0", + "prismarine-windows": "^1.5.0", + "prismarine-world": "^3.1.0", + "protodef": "^1.8.0", + "typed-emitter": "^1.2.0", + "vec3": "^0.1.6" + }, + "deprecated": false, + "description": "create minecraft bots with a stable, high level API", + "devDependencies": { + "@types/node": "^14.0.1", + "doctoc": "^1.0.0", + "minecraft-wrap": "^1.2.1", + "mocha": "^8.0.1", + "require-self": "^0.2.3", + "standard": "^16.0.1" + }, + "engines": { + "node": ">=12" + }, + "homepage": "https://github.com/PrismarineJS/mineflayer#readme", + "license": "MIT", + "main": "index.js", + "name": "mineflayer", + "repository": { + "type": "git", + "url": "git://github.com/PrismarineJS/mineflayer.git" + }, + "scripts": { + "fix": "standard --fix", + "lint": "standard", + "prepare": "npm install require-self && require-self", + "prepublishOnly": "cp docs/README.md README.md", + "pretest": "npm run lint && require-self", + "test": "mocha --reporter spec --exit" + }, + "types": "index.d.ts", + "version": "2.37.1" +} diff --git a/node_modules/minimist/.travis.yml b/node_modules/minimist/.travis.yml new file mode 100644 index 00000000..74c57bf1 --- /dev/null +++ b/node_modules/minimist/.travis.yml @@ -0,0 +1,8 @@ +language: node_js +node_js: + - "0.8" + - "0.10" + - "0.12" + - "iojs" +before_install: + - npm install -g npm@~1.4.6 diff --git a/node_modules/minimist/LICENSE b/node_modules/minimist/LICENSE new file mode 100644 index 00000000..ee27ba4b --- /dev/null +++ b/node_modules/minimist/LICENSE @@ -0,0 +1,18 @@ +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/minimist/example/parse.js b/node_modules/minimist/example/parse.js new file mode 100644 index 00000000..f7c8d498 --- /dev/null +++ b/node_modules/minimist/example/parse.js @@ -0,0 +1,2 @@ +var argv = require('../')(process.argv.slice(2)); +console.log(argv); diff --git a/node_modules/minimist/index.js b/node_modules/minimist/index.js new file mode 100644 index 00000000..d2afe5e4 --- /dev/null +++ b/node_modules/minimist/index.js @@ -0,0 +1,245 @@ +module.exports = function (args, opts) { + if (!opts) opts = {}; + + var flags = { bools : {}, strings : {}, unknownFn: null }; + + if (typeof opts['unknown'] === 'function') { + flags.unknownFn = opts['unknown']; + } + + if (typeof opts['boolean'] === 'boolean' && opts['boolean']) { + flags.allBools = true; + } else { + [].concat(opts['boolean']).filter(Boolean).forEach(function (key) { + flags.bools[key] = true; + }); + } + + var aliases = {}; + Object.keys(opts.alias || {}).forEach(function (key) { + aliases[key] = [].concat(opts.alias[key]); + aliases[key].forEach(function (x) { + aliases[x] = [key].concat(aliases[key].filter(function (y) { + return x !== y; + })); + }); + }); + + [].concat(opts.string).filter(Boolean).forEach(function (key) { + flags.strings[key] = true; + if (aliases[key]) { + flags.strings[aliases[key]] = true; + } + }); + + var defaults = opts['default'] || {}; + + var argv = { _ : [] }; + Object.keys(flags.bools).forEach(function (key) { + setArg(key, defaults[key] === undefined ? false : defaults[key]); + }); + + var notFlags = []; + + if (args.indexOf('--') !== -1) { + notFlags = args.slice(args.indexOf('--')+1); + args = args.slice(0, args.indexOf('--')); + } + + function argDefined(key, arg) { + return (flags.allBools && /^--[^=]+$/.test(arg)) || + flags.strings[key] || flags.bools[key] || aliases[key]; + } + + function setArg (key, val, arg) { + if (arg && flags.unknownFn && !argDefined(key, arg)) { + if (flags.unknownFn(arg) === false) return; + } + + var value = !flags.strings[key] && isNumber(val) + ? Number(val) : val + ; + setKey(argv, key.split('.'), value); + + (aliases[key] || []).forEach(function (x) { + setKey(argv, x.split('.'), value); + }); + } + + function setKey (obj, keys, value) { + var o = obj; + for (var i = 0; i < keys.length-1; i++) { + var key = keys[i]; + if (key === '__proto__') return; + if (o[key] === undefined) o[key] = {}; + if (o[key] === Object.prototype || o[key] === Number.prototype + || o[key] === String.prototype) o[key] = {}; + if (o[key] === Array.prototype) o[key] = []; + o = o[key]; + } + + var key = keys[keys.length - 1]; + if (key === '__proto__') return; + if (o === Object.prototype || o === Number.prototype + || o === String.prototype) o = {}; + if (o === Array.prototype) o = []; + if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') { + o[key] = value; + } + else if (Array.isArray(o[key])) { + o[key].push(value); + } + else { + o[key] = [ o[key], value ]; + } + } + + function aliasIsBoolean(key) { + return aliases[key].some(function (x) { + return flags.bools[x]; + }); + } + + for (var i = 0; i < args.length; i++) { + var arg = args[i]; + + if (/^--.+=/.test(arg)) { + // Using [\s\S] instead of . because js doesn't support the + // 'dotall' regex modifier. See: + // http://stackoverflow.com/a/1068308/13216 + var m = arg.match(/^--([^=]+)=([\s\S]*)$/); + var key = m[1]; + var value = m[2]; + if (flags.bools[key]) { + value = value !== 'false'; + } + setArg(key, value, arg); + } + else if (/^--no-.+/.test(arg)) { + var key = arg.match(/^--no-(.+)/)[1]; + setArg(key, false, arg); + } + else if (/^--.+/.test(arg)) { + var key = arg.match(/^--(.+)/)[1]; + var next = args[i + 1]; + if (next !== undefined && !/^-/.test(next) + && !flags.bools[key] + && !flags.allBools + && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, next, arg); + i++; + } + else if (/^(true|false)$/.test(next)) { + setArg(key, next === 'true', arg); + i++; + } + else { + setArg(key, flags.strings[key] ? '' : true, arg); + } + } + else if (/^-[^-]+/.test(arg)) { + var letters = arg.slice(1,-1).split(''); + + var broken = false; + for (var j = 0; j < letters.length; j++) { + var next = arg.slice(j+2); + + if (next === '-') { + setArg(letters[j], next, arg) + continue; + } + + if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) { + setArg(letters[j], next.split('=')[1], arg); + broken = true; + break; + } + + if (/[A-Za-z]/.test(letters[j]) + && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { + setArg(letters[j], next, arg); + broken = true; + break; + } + + if (letters[j+1] && letters[j+1].match(/\W/)) { + setArg(letters[j], arg.slice(j+2), arg); + broken = true; + break; + } + else { + setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg); + } + } + + var key = arg.slice(-1)[0]; + if (!broken && key !== '-') { + if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1]) + && !flags.bools[key] + && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, args[i+1], arg); + i++; + } + else if (args[i+1] && /^(true|false)$/.test(args[i+1])) { + setArg(key, args[i+1] === 'true', arg); + i++; + } + else { + setArg(key, flags.strings[key] ? '' : true, arg); + } + } + } + else { + if (!flags.unknownFn || flags.unknownFn(arg) !== false) { + argv._.push( + flags.strings['_'] || !isNumber(arg) ? arg : Number(arg) + ); + } + if (opts.stopEarly) { + argv._.push.apply(argv._, args.slice(i + 1)); + break; + } + } + } + + Object.keys(defaults).forEach(function (key) { + if (!hasKey(argv, key.split('.'))) { + setKey(argv, key.split('.'), defaults[key]); + + (aliases[key] || []).forEach(function (x) { + setKey(argv, x.split('.'), defaults[key]); + }); + } + }); + + if (opts['--']) { + argv['--'] = new Array(); + notFlags.forEach(function(key) { + argv['--'].push(key); + }); + } + else { + notFlags.forEach(function(key) { + argv._.push(key); + }); + } + + return argv; +}; + +function hasKey (obj, keys) { + var o = obj; + keys.slice(0,-1).forEach(function (key) { + o = (o[key] || {}); + }); + + var key = keys[keys.length - 1]; + return key in o; +} + +function isNumber (x) { + if (typeof x === 'number') return true; + if (/^0x[0-9a-f]+$/i.test(x)) return true; + return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); +} + diff --git a/node_modules/minimist/package.json b/node_modules/minimist/package.json new file mode 100644 index 00000000..6bfaffaf --- /dev/null +++ b/node_modules/minimist/package.json @@ -0,0 +1,73 @@ +{ + "_from": "minimist@^1.2.5", + "_id": "minimist@1.2.5", + "_inBundle": false, + "_integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "_location": "/minimist", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "minimist@^1.2.5", + "name": "minimist", + "escapedName": "minimist", + "rawSpec": "^1.2.5", + "saveSpec": null, + "fetchSpec": "^1.2.5" + }, + "_requiredBy": [ + "/json5" + ], + "_resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "_shasum": "67d66014b66a6a8aaa0c083c5fd58df4e4e97602", + "_spec": "minimist@^1.2.5", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\json5", + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "bugs": { + "url": "https://github.com/substack/minimist/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "parse argument options", + "devDependencies": { + "covert": "^1.0.0", + "tap": "~0.4.0", + "tape": "^3.5.0" + }, + "homepage": "https://github.com/substack/minimist", + "keywords": [ + "argv", + "getopt", + "parser", + "optimist" + ], + "license": "MIT", + "main": "index.js", + "name": "minimist", + "repository": { + "type": "git", + "url": "git://github.com/substack/minimist.git" + }, + "scripts": { + "coverage": "covert test/*.js", + "test": "tap test/*.js" + }, + "testling": { + "files": "test/*.js", + "browsers": [ + "ie/6..latest", + "ff/5", + "firefox/latest", + "chrome/10", + "chrome/latest", + "safari/5.1", + "safari/latest", + "opera/12" + ] + }, + "version": "1.2.5" +} diff --git a/node_modules/minimist/readme.markdown b/node_modules/minimist/readme.markdown new file mode 100644 index 00000000..5fd97ab1 --- /dev/null +++ b/node_modules/minimist/readme.markdown @@ -0,0 +1,95 @@ +# minimist + +parse argument options + +This module is the guts of optimist's argument parser without all the +fanciful decoration. + +# example + +``` js +var argv = require('minimist')(process.argv.slice(2)); +console.log(argv); +``` + +``` +$ node example/parse.js -a beep -b boop +{ _: [], a: 'beep', b: 'boop' } +``` + +``` +$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz +{ _: [ 'foo', 'bar', 'baz' ], + x: 3, + y: 4, + n: 5, + a: true, + b: true, + c: true, + beep: 'boop' } +``` + +# security + +Previous versions had a prototype pollution bug that could cause privilege +escalation in some circumstances when handling untrusted user input. + +Please use version 1.2.3 or later: https://snyk.io/vuln/SNYK-JS-MINIMIST-559764 + +# methods + +``` js +var parseArgs = require('minimist') +``` + +## var argv = parseArgs(args, opts={}) + +Return an argument object `argv` populated with the array arguments from `args`. + +`argv._` contains all the arguments that didn't have an option associated with +them. + +Numeric-looking arguments will be returned as numbers unless `opts.string` or +`opts.boolean` is set for that argument name. + +Any arguments after `'--'` will not be parsed and will end up in `argv._`. + +options can be: + +* `opts.string` - a string or array of strings argument names to always treat as +strings +* `opts.boolean` - a boolean, string or array of strings to always treat as +booleans. if `true` will treat all double hyphenated arguments without equal signs +as boolean (e.g. affects `--foo`, not `-f` or `--foo=bar`) +* `opts.alias` - an object mapping string names to strings or arrays of string +argument names to use as aliases +* `opts.default` - an object mapping string argument names to default values +* `opts.stopEarly` - when true, populate `argv._` with everything after the +first non-option +* `opts['--']` - when true, populate `argv._` with everything before the `--` +and `argv['--']` with everything after the `--`. Here's an example: + + ``` + > require('./')('one two three -- four five --six'.split(' '), { '--': true }) + { _: [ 'one', 'two', 'three' ], + '--': [ 'four', 'five', '--six' ] } + ``` + + Note that with `opts['--']` set, parsing for arguments still stops after the + `--`. + +* `opts.unknown` - a function which is invoked with a command line parameter not +defined in the `opts` configuration object. If the function returns `false`, the +unknown option is not added to `argv`. + +# install + +With [npm](https://npmjs.org) do: + +``` +npm install minimist +``` + +# license + +MIT diff --git a/node_modules/minimist/test/all_bool.js b/node_modules/minimist/test/all_bool.js new file mode 100644 index 00000000..ac835483 --- /dev/null +++ b/node_modules/minimist/test/all_bool.js @@ -0,0 +1,32 @@ +var parse = require('../'); +var test = require('tape'); + +test('flag boolean true (default all --args to boolean)', function (t) { + var argv = parse(['moo', '--honk', 'cow'], { + boolean: true + }); + + t.deepEqual(argv, { + honk: true, + _: ['moo', 'cow'] + }); + + t.deepEqual(typeof argv.honk, 'boolean'); + t.end(); +}); + +test('flag boolean true only affects double hyphen arguments without equals signs', function (t) { + var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], { + boolean: true + }); + + t.deepEqual(argv, { + honk: true, + tacos: 'good', + p: 55, + _: ['moo', 'cow'] + }); + + t.deepEqual(typeof argv.honk, 'boolean'); + t.end(); +}); diff --git a/node_modules/minimist/test/bool.js b/node_modules/minimist/test/bool.js new file mode 100644 index 00000000..5f7dbde1 --- /dev/null +++ b/node_modules/minimist/test/bool.js @@ -0,0 +1,178 @@ +var parse = require('../'); +var test = require('tape'); + +test('flag boolean default false', function (t) { + var argv = parse(['moo'], { + boolean: ['t', 'verbose'], + default: { verbose: false, t: false } + }); + + t.deepEqual(argv, { + verbose: false, + t: false, + _: ['moo'] + }); + + t.deepEqual(typeof argv.verbose, 'boolean'); + t.deepEqual(typeof argv.t, 'boolean'); + t.end(); + +}); + +test('boolean groups', function (t) { + var argv = parse([ '-x', '-z', 'one', 'two', 'three' ], { + boolean: ['x','y','z'] + }); + + t.deepEqual(argv, { + x : true, + y : false, + z : true, + _ : [ 'one', 'two', 'three' ] + }); + + t.deepEqual(typeof argv.x, 'boolean'); + t.deepEqual(typeof argv.y, 'boolean'); + t.deepEqual(typeof argv.z, 'boolean'); + t.end(); +}); +test('boolean and alias with chainable api', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var opts = { + herp: { alias: 'h', boolean: true } + }; + var aliasedArgv = parse(aliased, { + boolean: 'herp', + alias: { h: 'herp' } + }); + var propertyArgv = parse(regular, { + boolean: 'herp', + alias: { h: 'herp' } + }); + var expected = { + herp: true, + h: true, + '_': [ 'derp' ] + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +test('boolean and alias with options hash', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var opts = { + alias: { 'h': 'herp' }, + boolean: 'herp' + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + var expected = { + herp: true, + h: true, + '_': [ 'derp' ] + }; + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +test('boolean and alias array with options hash', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var alt = [ '--harp', 'derp' ]; + var opts = { + alias: { 'h': ['herp', 'harp'] }, + boolean: 'h' + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + var altPropertyArgv = parse(alt, opts); + var expected = { + harp: true, + herp: true, + h: true, + '_': [ 'derp' ] + }; + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.same(altPropertyArgv, expected); + t.end(); +}); + +test('boolean and alias using explicit true', function (t) { + var aliased = [ '-h', 'true' ]; + var regular = [ '--herp', 'true' ]; + var opts = { + alias: { h: 'herp' }, + boolean: 'h' + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + var expected = { + herp: true, + h: true, + '_': [ ] + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +// regression, see https://github.com/substack/node-optimist/issues/71 +test('boolean and --x=true', function(t) { + var parsed = parse(['--boool', '--other=true'], { + boolean: 'boool' + }); + + t.same(parsed.boool, true); + t.same(parsed.other, 'true'); + + parsed = parse(['--boool', '--other=false'], { + boolean: 'boool' + }); + + t.same(parsed.boool, true); + t.same(parsed.other, 'false'); + t.end(); +}); + +test('boolean --boool=true', function (t) { + var parsed = parse(['--boool=true'], { + default: { + boool: false + }, + boolean: ['boool'] + }); + + t.same(parsed.boool, true); + t.end(); +}); + +test('boolean --boool=false', function (t) { + var parsed = parse(['--boool=false'], { + default: { + boool: true + }, + boolean: ['boool'] + }); + + t.same(parsed.boool, false); + t.end(); +}); + +test('boolean using something similar to true', function (t) { + var opts = { boolean: 'h' }; + var result = parse(['-h', 'true.txt'], opts); + var expected = { + h: true, + '_': ['true.txt'] + }; + + t.same(result, expected); + t.end(); +}); \ No newline at end of file diff --git a/node_modules/minimist/test/dash.js b/node_modules/minimist/test/dash.js new file mode 100644 index 00000000..5a4fa5be --- /dev/null +++ b/node_modules/minimist/test/dash.js @@ -0,0 +1,31 @@ +var parse = require('../'); +var test = require('tape'); + +test('-', function (t) { + t.plan(5); + t.deepEqual(parse([ '-n', '-' ]), { n: '-', _: [] }); + t.deepEqual(parse([ '-' ]), { _: [ '-' ] }); + t.deepEqual(parse([ '-f-' ]), { f: '-', _: [] }); + t.deepEqual( + parse([ '-b', '-' ], { boolean: 'b' }), + { b: true, _: [ '-' ] } + ); + t.deepEqual( + parse([ '-s', '-' ], { string: 's' }), + { s: '-', _: [] } + ); +}); + +test('-a -- b', function (t) { + t.plan(3); + t.deepEqual(parse([ '-a', '--', 'b' ]), { a: true, _: [ 'b' ] }); + t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); + t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); +}); + +test('move arguments after the -- into their own `--` array', function(t) { + t.plan(1); + t.deepEqual( + parse([ '--name', 'John', 'before', '--', 'after' ], { '--': true }), + { name: 'John', _: [ 'before' ], '--': [ 'after' ] }); +}); diff --git a/node_modules/minimist/test/default_bool.js b/node_modules/minimist/test/default_bool.js new file mode 100644 index 00000000..780a3112 --- /dev/null +++ b/node_modules/minimist/test/default_bool.js @@ -0,0 +1,35 @@ +var test = require('tape'); +var parse = require('../'); + +test('boolean default true', function (t) { + var argv = parse([], { + boolean: 'sometrue', + default: { sometrue: true } + }); + t.equal(argv.sometrue, true); + t.end(); +}); + +test('boolean default false', function (t) { + var argv = parse([], { + boolean: 'somefalse', + default: { somefalse: false } + }); + t.equal(argv.somefalse, false); + t.end(); +}); + +test('boolean default to null', function (t) { + var argv = parse([], { + boolean: 'maybe', + default: { maybe: null } + }); + t.equal(argv.maybe, null); + var argv = parse(['--maybe'], { + boolean: 'maybe', + default: { maybe: null } + }); + t.equal(argv.maybe, true); + t.end(); + +}) diff --git a/node_modules/minimist/test/dotted.js b/node_modules/minimist/test/dotted.js new file mode 100644 index 00000000..d8b3e856 --- /dev/null +++ b/node_modules/minimist/test/dotted.js @@ -0,0 +1,22 @@ +var parse = require('../'); +var test = require('tape'); + +test('dotted alias', function (t) { + var argv = parse(['--a.b', '22'], {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); + t.equal(argv.a.b, 22); + t.equal(argv.aa.bb, 22); + t.end(); +}); + +test('dotted default', function (t) { + var argv = parse('', {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); + t.equal(argv.a.b, 11); + t.equal(argv.aa.bb, 11); + t.end(); +}); + +test('dotted default with no alias', function (t) { + var argv = parse('', {default: {'a.b': 11}}); + t.equal(argv.a.b, 11); + t.end(); +}); diff --git a/node_modules/minimist/test/kv_short.js b/node_modules/minimist/test/kv_short.js new file mode 100644 index 00000000..f813b305 --- /dev/null +++ b/node_modules/minimist/test/kv_short.js @@ -0,0 +1,16 @@ +var parse = require('../'); +var test = require('tape'); + +test('short -k=v' , function (t) { + t.plan(1); + + var argv = parse([ '-b=123' ]); + t.deepEqual(argv, { b: 123, _: [] }); +}); + +test('multi short -k=v' , function (t) { + t.plan(1); + + var argv = parse([ '-a=whatever', '-b=robots' ]); + t.deepEqual(argv, { a: 'whatever', b: 'robots', _: [] }); +}); diff --git a/node_modules/minimist/test/long.js b/node_modules/minimist/test/long.js new file mode 100644 index 00000000..5d3a1e09 --- /dev/null +++ b/node_modules/minimist/test/long.js @@ -0,0 +1,31 @@ +var test = require('tape'); +var parse = require('../'); + +test('long opts', function (t) { + t.deepEqual( + parse([ '--bool' ]), + { bool : true, _ : [] }, + 'long boolean' + ); + t.deepEqual( + parse([ '--pow', 'xixxle' ]), + { pow : 'xixxle', _ : [] }, + 'long capture sp' + ); + t.deepEqual( + parse([ '--pow=xixxle' ]), + { pow : 'xixxle', _ : [] }, + 'long capture eq' + ); + t.deepEqual( + parse([ '--host', 'localhost', '--port', '555' ]), + { host : 'localhost', port : 555, _ : [] }, + 'long captures sp' + ); + t.deepEqual( + parse([ '--host=localhost', '--port=555' ]), + { host : 'localhost', port : 555, _ : [] }, + 'long captures eq' + ); + t.end(); +}); diff --git a/node_modules/minimist/test/num.js b/node_modules/minimist/test/num.js new file mode 100644 index 00000000..2cc77f4d --- /dev/null +++ b/node_modules/minimist/test/num.js @@ -0,0 +1,36 @@ +var parse = require('../'); +var test = require('tape'); + +test('nums', function (t) { + var argv = parse([ + '-x', '1234', + '-y', '5.67', + '-z', '1e7', + '-w', '10f', + '--hex', '0xdeadbeef', + '789' + ]); + t.deepEqual(argv, { + x : 1234, + y : 5.67, + z : 1e7, + w : '10f', + hex : 0xdeadbeef, + _ : [ 789 ] + }); + t.deepEqual(typeof argv.x, 'number'); + t.deepEqual(typeof argv.y, 'number'); + t.deepEqual(typeof argv.z, 'number'); + t.deepEqual(typeof argv.w, 'string'); + t.deepEqual(typeof argv.hex, 'number'); + t.deepEqual(typeof argv._[0], 'number'); + t.end(); +}); + +test('already a number', function (t) { + var argv = parse([ '-x', 1234, 789 ]); + t.deepEqual(argv, { x : 1234, _ : [ 789 ] }); + t.deepEqual(typeof argv.x, 'number'); + t.deepEqual(typeof argv._[0], 'number'); + t.end(); +}); diff --git a/node_modules/minimist/test/parse.js b/node_modules/minimist/test/parse.js new file mode 100644 index 00000000..7b4a2a17 --- /dev/null +++ b/node_modules/minimist/test/parse.js @@ -0,0 +1,197 @@ +var parse = require('../'); +var test = require('tape'); + +test('parse args', function (t) { + t.deepEqual( + parse([ '--no-moo' ]), + { moo : false, _ : [] }, + 'no' + ); + t.deepEqual( + parse([ '-v', 'a', '-v', 'b', '-v', 'c' ]), + { v : ['a','b','c'], _ : [] }, + 'multi' + ); + t.end(); +}); + +test('comprehensive', function (t) { + t.deepEqual( + parse([ + '--name=meowmers', 'bare', '-cats', 'woo', + '-h', 'awesome', '--multi=quux', + '--key', 'value', + '-b', '--bool', '--no-meep', '--multi=baz', + '--', '--not-a-flag', 'eek' + ]), + { + c : true, + a : true, + t : true, + s : 'woo', + h : 'awesome', + b : true, + bool : true, + key : 'value', + multi : [ 'quux', 'baz' ], + meep : false, + name : 'meowmers', + _ : [ 'bare', '--not-a-flag', 'eek' ] + } + ); + t.end(); +}); + +test('flag boolean', function (t) { + var argv = parse([ '-t', 'moo' ], { boolean: 't' }); + t.deepEqual(argv, { t : true, _ : [ 'moo' ] }); + t.deepEqual(typeof argv.t, 'boolean'); + t.end(); +}); + +test('flag boolean value', function (t) { + var argv = parse(['--verbose', 'false', 'moo', '-t', 'true'], { + boolean: [ 't', 'verbose' ], + default: { verbose: true } + }); + + t.deepEqual(argv, { + verbose: false, + t: true, + _: ['moo'] + }); + + t.deepEqual(typeof argv.verbose, 'boolean'); + t.deepEqual(typeof argv.t, 'boolean'); + t.end(); +}); + +test('newlines in params' , function (t) { + var args = parse([ '-s', "X\nX" ]) + t.deepEqual(args, { _ : [], s : "X\nX" }); + + // reproduce in bash: + // VALUE="new + // line" + // node program.js --s="$VALUE" + args = parse([ "--s=X\nX" ]) + t.deepEqual(args, { _ : [], s : "X\nX" }); + t.end(); +}); + +test('strings' , function (t) { + var s = parse([ '-s', '0001234' ], { string: 's' }).s; + t.equal(s, '0001234'); + t.equal(typeof s, 'string'); + + var x = parse([ '-x', '56' ], { string: 'x' }).x; + t.equal(x, '56'); + t.equal(typeof x, 'string'); + t.end(); +}); + +test('stringArgs', function (t) { + var s = parse([ ' ', ' ' ], { string: '_' })._; + t.same(s.length, 2); + t.same(typeof s[0], 'string'); + t.same(s[0], ' '); + t.same(typeof s[1], 'string'); + t.same(s[1], ' '); + t.end(); +}); + +test('empty strings', function(t) { + var s = parse([ '-s' ], { string: 's' }).s; + t.equal(s, ''); + t.equal(typeof s, 'string'); + + var str = parse([ '--str' ], { string: 'str' }).str; + t.equal(str, ''); + t.equal(typeof str, 'string'); + + var letters = parse([ '-art' ], { + string: [ 'a', 't' ] + }); + + t.equal(letters.a, ''); + t.equal(letters.r, true); + t.equal(letters.t, ''); + + t.end(); +}); + + +test('string and alias', function(t) { + var x = parse([ '--str', '000123' ], { + string: 's', + alias: { s: 'str' } + }); + + t.equal(x.str, '000123'); + t.equal(typeof x.str, 'string'); + t.equal(x.s, '000123'); + t.equal(typeof x.s, 'string'); + + var y = parse([ '-s', '000123' ], { + string: 'str', + alias: { str: 's' } + }); + + t.equal(y.str, '000123'); + t.equal(typeof y.str, 'string'); + t.equal(y.s, '000123'); + t.equal(typeof y.s, 'string'); + t.end(); +}); + +test('slashBreak', function (t) { + t.same( + parse([ '-I/foo/bar/baz' ]), + { I : '/foo/bar/baz', _ : [] } + ); + t.same( + parse([ '-xyz/foo/bar/baz' ]), + { x : true, y : true, z : '/foo/bar/baz', _ : [] } + ); + t.end(); +}); + +test('alias', function (t) { + var argv = parse([ '-f', '11', '--zoom', '55' ], { + alias: { z: 'zoom' } + }); + t.equal(argv.zoom, 55); + t.equal(argv.z, argv.zoom); + t.equal(argv.f, 11); + t.end(); +}); + +test('multiAlias', function (t) { + var argv = parse([ '-f', '11', '--zoom', '55' ], { + alias: { z: [ 'zm', 'zoom' ] } + }); + t.equal(argv.zoom, 55); + t.equal(argv.z, argv.zoom); + t.equal(argv.z, argv.zm); + t.equal(argv.f, 11); + t.end(); +}); + +test('nested dotted objects', function (t) { + var argv = parse([ + '--foo.bar', '3', '--foo.baz', '4', + '--foo.quux.quibble', '5', '--foo.quux.o_O', + '--beep.boop' + ]); + + t.same(argv.foo, { + bar : 3, + baz : 4, + quux : { + quibble : 5, + o_O : true + } + }); + t.same(argv.beep, { boop : true }); + t.end(); +}); diff --git a/node_modules/minimist/test/parse_modified.js b/node_modules/minimist/test/parse_modified.js new file mode 100644 index 00000000..ab620dc5 --- /dev/null +++ b/node_modules/minimist/test/parse_modified.js @@ -0,0 +1,9 @@ +var parse = require('../'); +var test = require('tape'); + +test('parse with modifier functions' , function (t) { + t.plan(1); + + var argv = parse([ '-b', '123' ], { boolean: 'b' }); + t.deepEqual(argv, { b: true, _: [123] }); +}); diff --git a/node_modules/minimist/test/proto.js b/node_modules/minimist/test/proto.js new file mode 100644 index 00000000..8649107e --- /dev/null +++ b/node_modules/minimist/test/proto.js @@ -0,0 +1,44 @@ +var parse = require('../'); +var test = require('tape'); + +test('proto pollution', function (t) { + var argv = parse(['--__proto__.x','123']); + t.equal({}.x, undefined); + t.equal(argv.__proto__.x, undefined); + t.equal(argv.x, undefined); + t.end(); +}); + +test('proto pollution (array)', function (t) { + var argv = parse(['--x','4','--x','5','--x.__proto__.z','789']); + t.equal({}.z, undefined); + t.deepEqual(argv.x, [4,5]); + t.equal(argv.x.z, undefined); + t.equal(argv.x.__proto__.z, undefined); + t.end(); +}); + +test('proto pollution (number)', function (t) { + var argv = parse(['--x','5','--x.__proto__.z','100']); + t.equal({}.z, undefined); + t.equal((4).z, undefined); + t.equal(argv.x, 5); + t.equal(argv.x.z, undefined); + t.end(); +}); + +test('proto pollution (string)', function (t) { + var argv = parse(['--x','abc','--x.__proto__.z','def']); + t.equal({}.z, undefined); + t.equal('...'.z, undefined); + t.equal(argv.x, 'abc'); + t.equal(argv.x.z, undefined); + t.end(); +}); + +test('proto pollution (constructor)', function (t) { + var argv = parse(['--constructor.prototype.y','123']); + t.equal({}.y, undefined); + t.equal(argv.y, undefined); + t.end(); +}); diff --git a/node_modules/minimist/test/short.js b/node_modules/minimist/test/short.js new file mode 100644 index 00000000..d513a1c2 --- /dev/null +++ b/node_modules/minimist/test/short.js @@ -0,0 +1,67 @@ +var parse = require('../'); +var test = require('tape'); + +test('numeric short args', function (t) { + t.plan(2); + t.deepEqual(parse([ '-n123' ]), { n: 123, _: [] }); + t.deepEqual( + parse([ '-123', '456' ]), + { 1: true, 2: true, 3: 456, _: [] } + ); +}); + +test('short', function (t) { + t.deepEqual( + parse([ '-b' ]), + { b : true, _ : [] }, + 'short boolean' + ); + t.deepEqual( + parse([ 'foo', 'bar', 'baz' ]), + { _ : [ 'foo', 'bar', 'baz' ] }, + 'bare' + ); + t.deepEqual( + parse([ '-cats' ]), + { c : true, a : true, t : true, s : true, _ : [] }, + 'group' + ); + t.deepEqual( + parse([ '-cats', 'meow' ]), + { c : true, a : true, t : true, s : 'meow', _ : [] }, + 'short group next' + ); + t.deepEqual( + parse([ '-h', 'localhost' ]), + { h : 'localhost', _ : [] }, + 'short capture' + ); + t.deepEqual( + parse([ '-h', 'localhost', '-p', '555' ]), + { h : 'localhost', p : 555, _ : [] }, + 'short captures' + ); + t.end(); +}); + +test('mixed short bool and capture', function (t) { + t.same( + parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), + { + f : true, p : 555, h : 'localhost', + _ : [ 'script.js' ] + } + ); + t.end(); +}); + +test('short and long', function (t) { + t.deepEqual( + parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), + { + f : true, p : 555, h : 'localhost', + _ : [ 'script.js' ] + } + ); + t.end(); +}); diff --git a/node_modules/minimist/test/stop_early.js b/node_modules/minimist/test/stop_early.js new file mode 100644 index 00000000..bdf9fbcb --- /dev/null +++ b/node_modules/minimist/test/stop_early.js @@ -0,0 +1,15 @@ +var parse = require('../'); +var test = require('tape'); + +test('stops parsing on the first non-option when stopEarly is set', function (t) { + var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], { + stopEarly: true + }); + + t.deepEqual(argv, { + aaa: 'bbb', + _: ['ccc', '--ddd'] + }); + + t.end(); +}); diff --git a/node_modules/minimist/test/unknown.js b/node_modules/minimist/test/unknown.js new file mode 100644 index 00000000..462a36bd --- /dev/null +++ b/node_modules/minimist/test/unknown.js @@ -0,0 +1,102 @@ +var parse = require('../'); +var test = require('tape'); + +test('boolean and alias is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '-h', 'true', '--derp', 'true' ]; + var regular = [ '--herp', 'true', '-d', 'true' ]; + var opts = { + alias: { h: 'herp' }, + boolean: 'h', + unknown: unknownFn + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + + t.same(unknown, ['--derp', '-d']); + t.end(); +}); + +test('flag boolean true any double hyphen argument is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var argv = parse(['--honk', '--tacos=good', 'cow', '-p', '55'], { + boolean: true, + unknown: unknownFn + }); + t.same(unknown, ['--tacos=good', 'cow', '-p']); + t.same(argv, { + honk: true, + _: [] + }); + t.end(); +}); + +test('string and alias is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '-h', 'hello', '--derp', 'goodbye' ]; + var regular = [ '--herp', 'hello', '-d', 'moon' ]; + var opts = { + alias: { h: 'herp' }, + string: 'h', + unknown: unknownFn + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + + t.same(unknown, ['--derp', '-d']); + t.end(); +}); + +test('default and alias is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '-h', 'hello' ]; + var regular = [ '--herp', 'hello' ]; + var opts = { + default: { 'h': 'bar' }, + alias: { 'h': 'herp' }, + unknown: unknownFn + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + + t.same(unknown, []); + t.end(); + unknownFn(); // exercise fn for 100% coverage +}); + +test('value following -- is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '--bad', '--', 'good', 'arg' ]; + var opts = { + '--': true, + unknown: unknownFn + }; + var argv = parse(aliased, opts); + + t.same(unknown, ['--bad']); + t.same(argv, { + '--': ['good', 'arg'], + '_': [] + }) + t.end(); +}); diff --git a/node_modules/minimist/test/whitespace.js b/node_modules/minimist/test/whitespace.js new file mode 100644 index 00000000..8a52a58c --- /dev/null +++ b/node_modules/minimist/test/whitespace.js @@ -0,0 +1,8 @@ +var parse = require('../'); +var test = require('tape'); + +test('whitespace should be whitespace' , function (t) { + t.plan(1); + var x = parse([ '-x', '\t' ]).x; + t.equal(x, '\t'); +}); diff --git a/node_modules/mojangson/.circleci/config.yml b/node_modules/mojangson/.circleci/config.yml new file mode 100644 index 00000000..fa63dc4a --- /dev/null +++ b/node_modules/mojangson/.circleci/config.yml @@ -0,0 +1,17 @@ +version: 2 + +jobs: + build: + parallelism: 1 + docker: + - image: circleci/node:10 + steps: + - checkout + - restore_cache: + key: dependency-cache-{{ checksum "package.json" }} + - run: npm i + - save_cache: + key: dependency-cache-{{ checksum "package.json" }} + paths: + - ./node_modules + - run: npm test diff --git a/node_modules/mojangson/README.md b/node_modules/mojangson/README.md new file mode 100644 index 00000000..8de40af6 --- /dev/null +++ b/node_modules/mojangson/README.md @@ -0,0 +1,74 @@ +# node-mojangson +[![NPM version](https://badge.fury.io/js/mojangson.svg)](http://badge.fury.io/js/mojangson) [![Build Status](https://circleci.com/gh/rom1504/node-mojangson.svg?style=shield)](https://circleci.com/gh/rom1504/node-mojangson) + +node-mojangson is a mojangson parser. + +## Mojangson specification +Mojangson is mojang's variant of json. It is basically json with the following changes : + + * array can be indexed (example : `[0:"v1",1:"v2",2:"v3"]`) + * array and object can have trailing comma (example : `[5,4,3,]` and `{"a":5,"b":6,}`) + * there can be string without quote (example : `{mykey:myvalue}`) + * numbers can be suffixed by b, s, l, f, d, i or the same in upper case (example : `{number:5b}`) + * mojangson stays a superset of json : every json is a mojangson + + Reference https://minecraft.gamepedia.com/Commands#Data_tags + +## Parser +This parser is build using nearley. + +See the [grammar](grammar.ne) and the examples in the [test](test/test.js) for more information. + +## Usage +Usage example : + +```js +const mojangson = require('mojangson') +console.log(mojangson.parse('{mykey:myvalue}')) +``` + +The provided method mojangson.parse return a javascript object corresponding to the mojangson passed in input. + + +## History + +### 1.1.1 + +* Fix empty string parsing (thanks @IdanHo) + +### 1.1.0 + +* switch to nearley parser for a better handling for mojangson (thanks @Karang) + +### 1.0.0 + +* stop printing error + +### 0.2.4 + +* add support for double and int + +### 0.2.3 + +* fix release about grammar.js still containing the cli + +### 0.2.2 + +* disable jison cli to make mojangson compatible with browserify + +### 0.2.1 + +* fix state conflict due to recent trailing comma fix + +### 0.2.0 + +* Rename npm package to mojangson +* fix trailing comma in arrays + +### 0.1.1 + +* better error displaying + +### 0.1 + +* First release, basic functionnality \ No newline at end of file diff --git a/node_modules/mojangson/example.js b/node_modules/mojangson/example.js new file mode 100644 index 00000000..3bb780ab --- /dev/null +++ b/node_modules/mojangson/example.js @@ -0,0 +1,2 @@ +const mojangson = require('./') +console.log(mojangson.parse('{mykey:myvalue}')) diff --git a/node_modules/mojangson/grammar.js b/node_modules/mojangson/grammar.js new file mode 100644 index 00000000..f164320f --- /dev/null +++ b/node_modules/mojangson/grammar.js @@ -0,0 +1,114 @@ +// Generated automatically by nearley, version 2.19.7 +// http://github.com/Hardmath123/nearley +(function () { +function id(x) { return x[0]; } + + +// Because of unquoted strings, parsing can be ambiguous. +// It is more efficient to have the parser extract string +// and post-process it to retrieve numbers +function parseValue (str) { + const suffixes = "bslfdiBSLFDI" + const lastC = str.charAt(str.length - 1) + if (suffixes.indexOf(lastC) !== -1) { + const v = parseFloat(str.substring(0, str.length - 1)) + if (!isNaN(v)) return v + return str + } + const v = parseFloat(str) + if (!isNaN(v)) return v + return str +} + +function extractPair(kv, output) { + if (kv[0] !== undefined) { + output[kv[0]] = kv[1] + } +} + +function extractObject(d) { + let output = {} + extractPair(d[2], output) + for (let i in d[3]) { + extractPair(d[3][i][3], output) + } + return output +} + +function extractArray (d) { + let output = [d[2]] + for (let i in d[3]) { + output.push(d[3][i][3]) + } + return output +} + +function extractArrayPair (d) { + let output = [] + extractPair(d[2], output) + for (let i in d[3]) { + extractPair(d[3][i][3], output) + } + return output +} + +var grammar = { + Lexer: undefined, + ParserRules: [ + {"name": "_$ebnf$1", "symbols": []}, + {"name": "_$ebnf$1", "symbols": ["_$ebnf$1", "wschar"], "postprocess": function arrpush(d) {return d[0].concat([d[1]]);}}, + {"name": "_", "symbols": ["_$ebnf$1"], "postprocess": function(d) {return null;}}, + {"name": "__$ebnf$1", "symbols": ["wschar"]}, + {"name": "__$ebnf$1", "symbols": ["__$ebnf$1", "wschar"], "postprocess": function arrpush(d) {return d[0].concat([d[1]]);}}, + {"name": "__", "symbols": ["__$ebnf$1"], "postprocess": function(d) {return null;}}, + {"name": "wschar", "symbols": [/[ \t\n\v\f]/], "postprocess": id}, + {"name": "MAIN", "symbols": ["_", "JVALUE", "_"], "postprocess": (d) => d[1]}, + {"name": "JVALUE$string$1", "symbols": [{"literal":"t"}, {"literal":"r"}, {"literal":"u"}, {"literal":"e"}], "postprocess": function joiner(d) {return d.join('');}}, + {"name": "JVALUE", "symbols": ["JVALUE$string$1"], "postprocess": (d) => true}, + {"name": "JVALUE$string$2", "symbols": [{"literal":"f"}, {"literal":"a"}, {"literal":"l"}, {"literal":"s"}, {"literal":"e"}], "postprocess": function joiner(d) {return d.join('');}}, + {"name": "JVALUE", "symbols": ["JVALUE$string$2"], "postprocess": (d) => false}, + {"name": "JVALUE", "symbols": ["JOBJECT"], "postprocess": (d) => d[0]}, + {"name": "JVALUE", "symbols": [{"literal":"'"}, "_", "JOBJECT", "_", {"literal":"'"}], "postprocess": (d) => d[2]}, + {"name": "JVALUE", "symbols": ["JARRAY"], "postprocess": (d) => d[0]}, + {"name": "JVALUE", "symbols": ["STRING"], "postprocess": (d) => d[0]}, + {"name": "JVALUE$string$3", "symbols": [{"literal":"n"}, {"literal":"u"}, {"literal":"l"}, {"literal":"l"}], "postprocess": function joiner(d) {return d.join('');}}, + {"name": "JVALUE", "symbols": ["JVALUE$string$3"], "postprocess": (d) => null}, + {"name": "JOBJECT", "symbols": [{"literal":"{"}, "_", {"literal":"}"}], "postprocess": (d) => { return {} }}, + {"name": "JOBJECT$ebnf$1", "symbols": []}, + {"name": "JOBJECT$ebnf$1$subexpression$1", "symbols": ["_", {"literal":","}, "_", "PAIR"]}, + {"name": "JOBJECT$ebnf$1", "symbols": ["JOBJECT$ebnf$1", "JOBJECT$ebnf$1$subexpression$1"], "postprocess": function arrpush(d) {return d[0].concat([d[1]]);}}, + {"name": "JOBJECT$ebnf$2$subexpression$1", "symbols": ["_", {"literal":","}]}, + {"name": "JOBJECT$ebnf$2", "symbols": ["JOBJECT$ebnf$2$subexpression$1"], "postprocess": id}, + {"name": "JOBJECT$ebnf$2", "symbols": [], "postprocess": function(d) {return null;}}, + {"name": "JOBJECT", "symbols": [{"literal":"{"}, "_", "PAIR", "JOBJECT$ebnf$1", "JOBJECT$ebnf$2", {"literal":"}"}], "postprocess": extractObject}, + {"name": "JARRAY", "symbols": [{"literal":"["}, "_", {"literal":"]"}], "postprocess": (d) => []}, + {"name": "JARRAY$ebnf$1", "symbols": []}, + {"name": "JARRAY$ebnf$1$subexpression$1", "symbols": ["_", {"literal":","}, "_", "JVALUE"]}, + {"name": "JARRAY$ebnf$1", "symbols": ["JARRAY$ebnf$1", "JARRAY$ebnf$1$subexpression$1"], "postprocess": function arrpush(d) {return d[0].concat([d[1]]);}}, + {"name": "JARRAY$ebnf$2$subexpression$1", "symbols": ["_", {"literal":","}]}, + {"name": "JARRAY$ebnf$2", "symbols": ["JARRAY$ebnf$2$subexpression$1"], "postprocess": id}, + {"name": "JARRAY$ebnf$2", "symbols": [], "postprocess": function(d) {return null;}}, + {"name": "JARRAY", "symbols": [{"literal":"["}, "_", "JVALUE", "JARRAY$ebnf$1", "JARRAY$ebnf$2", "_", {"literal":"]"}], "postprocess": extractArray}, + {"name": "JARRAY$ebnf$3", "symbols": []}, + {"name": "JARRAY$ebnf$3$subexpression$1", "symbols": ["_", {"literal":","}, "_", "PAIR"]}, + {"name": "JARRAY$ebnf$3", "symbols": ["JARRAY$ebnf$3", "JARRAY$ebnf$3$subexpression$1"], "postprocess": function arrpush(d) {return d[0].concat([d[1]]);}}, + {"name": "JARRAY$ebnf$4$subexpression$1", "symbols": ["_", {"literal":","}]}, + {"name": "JARRAY$ebnf$4", "symbols": ["JARRAY$ebnf$4$subexpression$1"], "postprocess": id}, + {"name": "JARRAY$ebnf$4", "symbols": [], "postprocess": function(d) {return null;}}, + {"name": "JARRAY", "symbols": [{"literal":"["}, "_", "PAIR", "JARRAY$ebnf$3", "JARRAY$ebnf$4", "_", {"literal":"]"}], "postprocess": extractArrayPair}, + {"name": "PAIR", "symbols": ["STRING", "_", {"literal":":"}, "_", "JVALUE"], "postprocess": (d) => [d[0], d[4]]}, + {"name": "STRING$ebnf$1", "symbols": []}, + {"name": "STRING$ebnf$1", "symbols": ["STRING$ebnf$1", /[^\\"]/], "postprocess": function arrpush(d) {return d[0].concat([d[1]]);}}, + {"name": "STRING", "symbols": [{"literal":"\""}, "STRING$ebnf$1", {"literal":"\""}], "postprocess": (d) => parseValue(d[1].join(''))}, + {"name": "STRING$ebnf$2", "symbols": [/[^\"\'}\]:,\s]/]}, + {"name": "STRING$ebnf$2", "symbols": ["STRING$ebnf$2", /[^\"\'}\]:,\s]/], "postprocess": function arrpush(d) {return d[0].concat([d[1]]);}}, + {"name": "STRING", "symbols": ["STRING$ebnf$2"], "postprocess": (d) => parseValue(d[0].join(''))} +] + , ParserStart: "MAIN" +} +if (typeof module !== 'undefined'&& typeof module.exports !== 'undefined') { + module.exports = grammar; +} else { + window.grammar = grammar; +} +})(); diff --git a/node_modules/mojangson/grammar.ne b/node_modules/mojangson/grammar.ne new file mode 100644 index 00000000..55afcdd2 --- /dev/null +++ b/node_modules/mojangson/grammar.ne @@ -0,0 +1,75 @@ +@builtin "whitespace.ne" # `_` means arbitrary amount of whitespace + +MAIN -> _ JVALUE _ {% (d) => d[1] %} + +JVALUE -> "true" {% (d) => true %} + | "false" {% (d) => false %} + | JOBJECT {% (d) => d[0] %} + | "'" _ JOBJECT _ "'" {% (d) => d[2] %} + | JARRAY {% (d) => d[0] %} + | STRING {% (d) => d[0] %} + | "null" {% (d) => null %} + +JOBJECT -> "{" _ "}" {% (d) => { return {} } %} + | "{" _ PAIR ( _ "," _ PAIR):* (_ ","):? "}" {% extractObject %} + +JARRAY -> "[" _ "]" {% (d) => [] %} + | "[" _ JVALUE ( _ "," _ JVALUE):* (_ ","):? _ "]" {% extractArray %} + | "[" _ PAIR ( _ "," _ PAIR):* (_ ","):? _ "]" {% extractArrayPair %} + +PAIR -> STRING _ ":" _ JVALUE {% (d) => [d[0], d[4]] %} + +STRING -> "\"" [^\\"]:* "\"" {% (d) => parseValue(d[1].join('')) %} + | [^\"\'}\]:,\s]:+ {% (d) => parseValue(d[0].join('')) %} + +@{% + +// Because of unquoted strings, parsing can be ambiguous. +// It is more efficient to have the parser extract string +// and post-process it to retrieve numbers +function parseValue (str) { + const suffixes = "bslfdiBSLFDI" + const lastC = str.charAt(str.length - 1) + if (suffixes.indexOf(lastC) !== -1) { + const v = parseFloat(str.substring(0, str.length - 1)) + if (!isNaN(v)) return v + return str + } + const v = parseFloat(str) + if (!isNaN(v)) return v + return str +} + +function extractPair(kv, output) { + if (kv[0] !== undefined) { + output[kv[0]] = kv[1] + } +} + +function extractObject(d) { + let output = {} + extractPair(d[2], output) + for (let i in d[3]) { + extractPair(d[3][i][3], output) + } + return output +} + +function extractArray (d) { + let output = [d[2]] + for (let i in d[3]) { + output.push(d[3][i][3]) + } + return output +} + +function extractArrayPair (d) { + let output = [] + extractPair(d[2], output) + for (let i in d[3]) { + extractPair(d[3][i][3], output) + } + return output +} + +%} diff --git a/node_modules/mojangson/index.js b/node_modules/mojangson/index.js new file mode 100644 index 00000000..e2f7a556 --- /dev/null +++ b/node_modules/mojangson/index.js @@ -0,0 +1,15 @@ +const nearley = require('nearley') +const grammar = require('./grammar') + +module.exports = { + parse: (text) => { + try { + const parserNE = new nearley.Parser(nearley.Grammar.fromCompiled(grammar)) + parserNE.feed(text) + return parserNE.results[0] + } catch (e) { + e.message = `Error parsing text '${text}'` + throw e + } + } +} diff --git a/node_modules/mojangson/package.json b/node_modules/mojangson/package.json new file mode 100644 index 00000000..17f82478 --- /dev/null +++ b/node_modules/mojangson/package.json @@ -0,0 +1,61 @@ +{ + "_from": "mojangson@^1.0.0", + "_id": "mojangson@1.1.1", + "_inBundle": false, + "_integrity": "sha512-CVZDJdiiLOibTBfzpDz1m7QfWlna9yOwaVTz+wHARtlc/nb9QFLvP8OWAqaPQ14ETa4pDRGhWVN9O8pjsPjEcg==", + "_location": "/mojangson", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "mojangson@^1.0.0", + "name": "mojangson", + "escapedName": "mojangson", + "rawSpec": "^1.0.0", + "saveSpec": null, + "fetchSpec": "^1.0.0" + }, + "_requiredBy": [ + "/prismarine-chat" + ], + "_resolved": "https://registry.npmjs.org/mojangson/-/mojangson-1.1.1.tgz", + "_shasum": "1e7872b559fcbfe55b03bc609c2ccca9427d261e", + "_spec": "mojangson@^1.0.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\prismarine-chat", + "author": { + "name": "Romain Beaumont", + "email": "romain.rom1@gmail.com" + }, + "bugs": { + "url": "https://github.com/rom1504/node-mojangson/issues" + }, + "bundleDependencies": false, + "dependencies": { + "nearley": "^2.19.5" + }, + "deprecated": false, + "description": "A mojangson parser written in node.js", + "devDependencies": { + "mocha": "^7.1.2", + "standard": "^14.3.4" + }, + "homepage": "https://github.com/rom1504/node-mojangson#readme", + "keywords": [ + "mojangson" + ], + "license": "MIT", + "main": "index.js", + "name": "mojangson", + "repository": { + "type": "git", + "url": "git://github.com/rom1504/node-mojangson.git" + }, + "scripts": { + "fix": "standard --fix", + "lint": "standard", + "prepublish": "nearleyc grammar.ne -o grammar.js", + "pretest": "npm run lint", + "test": "mocha --reporter spec" + }, + "version": "1.1.1" +} diff --git a/node_modules/mojangson/test/additional.test.js b/node_modules/mojangson/test/additional.test.js new file mode 100644 index 00000000..d61d94a5 --- /dev/null +++ b/node_modules/mojangson/test/additional.test.js @@ -0,0 +1,21 @@ +/* eslint-env mocha */ + +const assert = require('assert') +const fs = require('fs') +const mojangson = require('../') + +const tests = ['test001'] + +describe('mojangson', function () { + const data = [] + for (const test of tests) { + const text = fs.readFileSync(`test/${test}.txt`, 'utf-8') + data.push([text, require(`./${test}.json`)]) + } + + data.forEach(function (a) { + it('should be equal', function () { + assert.deepStrictEqual(mojangson.parse(a[0]), a[1]) + }) + }) +}) diff --git a/node_modules/mojangson/test/test.js b/node_modules/mojangson/test/test.js new file mode 100644 index 00000000..8d27b802 --- /dev/null +++ b/node_modules/mojangson/test/test.js @@ -0,0 +1,41 @@ +/* eslint-env mocha */ + +const assert = require('assert') +const mojangson = require('../') + +describe('mojangson', function () { + var data = [ + ['{}', {}], + ['{key:value}', { key: 'value' }], + ['{key:"value"}', { key: 'value' }], + ['{key:"va,lue"}', { key: 'va,lue' }], + ['{k1:v1,k2:v2}', { k1: 'v1', k2: 'v2' }], + ['{number:0s}', { number: 0 }], + ['{number:35.765d}', { number: 35.765 }], + ['{number:35i}', { number: 35 }], + ['{number:123b}', { number: 123 }], + ['{nest:{}}', { nest: {} }], + ['{nest:{nest:{}}}', { nest: { nest: {} } }], + ['{id:35,Damage:5,Count:2,tag:{display:{Name:Testing}}}', { id: 35, Damage: 5, Count: 2, tag: { display: { Name: 'Testing' } } }], + ['{id:"minecraft:dirt",Damage:0s,Count:1b}', { id: 'minecraft:dirt', Damage: 0, Count: 1 }], + ['{key:value,}', { key: 'value' }], + ['[0:v1,1:v2]', ['v1', 'v2']], + ['[0:"§6Last Killed: None",1:"§6Last Killer: None",2:"§6Rank: §aNovice-III",3:"§6§6Elo Rating: 1000",' + + ']', + ['§6Last Killed: None', '§6Last Killer: None', '§6Rank: §aNovice-III', '§6§6Elo Rating: 1000']], + + ['{id:1s,Damage:0s,Count:1b,tag:{display:{Name:"§r§6Class' + + ': Civilian",Lore:[0:"§6Last Killed: None",1:"§6Last Killer: None",2:"§6Rank: §aNovice-III",3:"§6§6Elo Rating: 1000",' + + '],},},}', + { id: 1, Damage: 0, Count: 1, tag: { display: { Name: '§r§6Class: Civilian', Lore: ['§6Last Killed: None', '§6Last Killer: None', '§6Rank: §aNovice-III', '§6§6Elo Rating: 1000'] } } }], + ['[1,2,3]', [1, 2, 3]], + ['[1,2,3,]', [1, 2, 3]], + ['[]', []], + ['{id:"minecraft:yellow_shulker_box",Count:1b,tag:{BlockEntityTag:{CustomName:"Stacked Totems",x:0,y:0,z:0,id:"minecraft:shulker_box",Lock:""},display:{Name:"Stacked Totems"}},Damage:0s}', { id: 'minecraft:yellow_shulker_box', Count: 1, tag: { BlockEntityTag: { CustomName: 'Stacked Totems', x: 0, y: 0, z: 0, id: 'minecraft:shulker_box', Lock: '' }, display: { Name: 'Stacked Totems' } }, Damage: 0 }] + ] + data.forEach(function (a) { + it('should be equal', function () { + assert.deepStrictEqual(mojangson.parse(a[0]), a[1]) + }) + }) +}) diff --git a/node_modules/mojangson/test/test001.json b/node_modules/mojangson/test/test001.json new file mode 100644 index 00000000..4ca73610 --- /dev/null +++ b/node_modules/mojangson/test/test001.json @@ -0,0 +1,89 @@ +{ + "id": "minecraft:diamond_pickaxe", + "tag": { + "display": { + "Name": { + "text": "Кирка хлебушка" + }, + "Lore": [ + { + "text": "MLG PICKAXE DORITOS 420NOSCOPEBLAZEIT" + }, + { + "text": "OH BABY A TRIPLE MOM GET THE CAMERA" + } + ] + }, + "Enchantments": [ + { + "id": "minecraft:efficiency", + "lvl": 20 + }, + { + "id": "minecraft:fire_aspect", + "lvl": 2 + }, + { + "id": "minecraft:fortune", + "lvl": 10 + }, + { + "id": "minecraft:knockback", + "lvl": 16959 + }, + { + "id": "minecraft:looting", + "lvl": 10 + }, + { + "id": "minecraft:sharpness", + "lvl": 16959 + }, + { + "id": "minecraft:silk_touch", + "lvl": 1 + }, + { + "id": "minecraft:smite", + "lvl": 16959 + } + ], + "Unbreakable": 1, + "Damage": 0, + "AttributeModifiers": [ + { + "Name": "generic.maxHealth", + "AttributeName": "generic.maxHealth", + "Operation": 0, + "UUIDMost": 0, + "UUIDLeast": 0, + "Amount": 20 + }, + { + "Name": "generic.movementSpeed", + "AttributeName": "generic.movementSpeed", + "Operation": 0, + "UUIDMost": 0, + "UUIDLeast": 0, + "Amount": 2 + }, + { + "Name": "generic.knockbackResistance", + "AttributeName": "generic.knockbackResistance", + "Operation": 0, + "UUIDMost": 0, + "UUIDLeast": 0, + "Amount": 0.2 + }, + { + "Name": "generic.attackDamage", + "AttributeName": "generic.attackDamage", + "Operation": 0, + "UUIDMost": 0, + "UUIDLeast": 0, + "Amount": 0 + } + ] + }, + "Count": 1 +} diff --git a/node_modules/mojangson/test/test001.txt b/node_modules/mojangson/test/test001.txt new file mode 100644 index 00000000..77b0a03e --- /dev/null +++ b/node_modules/mojangson/test/test001.txt @@ -0,0 +1 @@ +{id:"minecraft:diamond_pickaxe",tag:{display:{Name:'{"text":"Кирка хлебушка"}',Lore:['{"text":"MLG PICKAXE DORITOS 420NOSCOPEBLAZEIT"}','{"text":"OH BABY A TRIPLE MOM GET THE CAMERA"}']},Enchantments:[{id:"minecraft:efficiency",lvl:20s},{id:"minecraft:fire_aspect",lvl:2s},{id:"minecraft:fortune",lvl:10s},{id:"minecraft:knockback",lvl:16959s},{id:"minecraft:looting",lvl:10s},{id:"minecraft:sharpness",lvl:16959s},{id:"minecraft:silk_touch",lvl:1s},{id:"minecraft:smite",lvl:16959s}],Unbreakable:1b,Damage:0,AttributeModifiers:[{Name:"generic.maxHealth",AttributeName:"generic.maxHealth",Operation:0,UUIDMost:0L,UUIDLeast:0L,Amount:20.0d},{Name:"generic.movementSpeed",AttributeName:"generic.movementSpeed",Operation:0,UUIDMost:0L,UUIDLeast:0L,Amount:2.0d},{Name:"generic.knockbackResistance",AttributeName:"generic.knockbackResistance",Operation:0,UUIDMost:0L,UUIDLeast:0L,Amount:0.2d},{Name:"generic.attackDamage",AttributeName:"generic.attackDamage",Operation:0,UUIDMost:0L,UUIDLeast:0L,Amount:0.0d}]},Count:1b} diff --git a/node_modules/moo/LICENSE b/node_modules/moo/LICENSE new file mode 100644 index 00000000..3810d823 --- /dev/null +++ b/node_modules/moo/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2017, Tim Radvan (tjvr) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/moo/README.md b/node_modules/moo/README.md new file mode 100644 index 00000000..367c0120 --- /dev/null +++ b/node_modules/moo/README.md @@ -0,0 +1,385 @@ +![](cow.png) + +Moo! +==== + +Moo is a highly-optimised tokenizer/lexer generator. Use it to tokenize your strings, before parsing 'em with a parser like [nearley](https://github.com/hardmath123/nearley) or whatever else you're into. + +* [Fast](#is-it-fast) +* [Convenient](#usage) +* uses [Regular Expressions](#on-regular-expressions) +* tracks [Line Numbers](#line-numbers) +* handles [Keywords](#keywords) +* supports [States](#states) +* custom [Errors](#errors) +* is even [Iterable](#iteration) +* has no dependencies +* 4KB minified + gzipped +* Moo! + +Is it fast? +----------- + +Yup! Flying-cows-and-singed-steak fast. + +Moo is the fastest JS tokenizer around. It's **~2–10x** faster than most other tokenizers; it's a **couple orders of magnitude** faster than some of the slower ones. + +Define your tokens **using regular expressions**. Moo will compile 'em down to a **single RegExp for performance**. It uses the new ES6 **sticky flag** where possible to make things faster; otherwise it falls back to an almost-as-efficient workaround. (For more than you ever wanted to know about this, read [adventures in the land of substrings and RegExps](http://mrale.ph/blog/2016/11/23/making-less-dart-faster.html).) + +You _might_ be able to go faster still by writing your lexer by hand rather than using RegExps, but that's icky. + +Oh, and it [avoids parsing RegExps by itself](https://hackernoon.com/the-madness-of-parsing-real-world-javascript-regexps-d9ee336df983#.2l8qu3l76). Because that would be horrible. + + +Usage +----- + +First, you need to do the needful: `$ npm install moo`, or whatever will ship this code to your computer. Alternatively, grab the `moo.js` file by itself and slap it into your web page via a ` +``` + +## Usage + +The example below shows how you can load the promise library (in a way that works on both client and server). It then demonstrates creating a promise from scratch. You simply call `new Promise(fn)`. There is a complete specification for what is returned by this method in [Promises/A+](http://promises-aplus.github.com/promises-spec/). + +```javascript +var Promise = require('promise'); + +var promise = new Promise(function (resolve, reject) { + get('http://www.google.com', function (err, res) { + if (err) reject(err); + else resolve(res); + }); +}); +``` + +## API + +Before all examples, you will need: + +```js +var Promise = require('promise'); +``` + +### new Promise(resolver) + +This creates and returns a new promise. `resolver` must be a function. The `resolver` function is passed two arguments: + + 1. `resolve` should be called with a single argument. If it is called with a non-promise value then the promise is fulfilled with that value. If it is called with a promise (A) then the returned promise takes on the state of that new promise (A). + 2. `reject` should be called with a single argument. The returned promise will be rejected with that argument. + +### Static Functions + + These methods are invoked by calling `Promise.methodName`. + +#### Promise.resolve(value) + +(deprecated aliases: `Promise.from(value)`, `Promise.cast(value)`) + +Converts values and foreign promises into Promises/A+ promises. If you pass it a value then it returns a Promise for that value. If you pass it something that is close to a promise (such as a jQuery attempt at a promise) it returns a Promise that takes on the state of `value` (rejected or fulfilled). + +#### Promise.all(array) + +Returns a promise for an array. If it is called with a single argument that `Array.isArray` then this returns a promise for a copy of that array with any promises replaced by their fulfilled values. Otherwise it returns a promise for an array that conatins its arguments, except with promises replaced by their resolution values. e.g. + +```js +Promise.all([Promise.from('a'), 'b', Promise.from('c')]) + .then(function (res) { + assert(res[0] === 'a') + assert(res[1] === 'b') + assert(res[2] === 'c') + }) + +Promise.all(Promise.from('a'), 'b', Promise.from('c')) + .then(function (res) { + assert(res[0] === 'a') + assert(res[1] === 'b') + assert(res[2] === 'c') + }) +``` + +#### Promise.denodeify(fn) + +_Non Standard_ + +Takes a function which accepts a node style callback and returns a new function that returns a promise instead. + +e.g. + +```javascript +var fs = require('fs') + +var read = Promise.denodeify(fs.readFile) +var write = Promise.denodeify(fs.writeFile) + +var p = read('foo.json', 'utf8') + .then(function (str) { + return write('foo.json', JSON.stringify(JSON.parse(str), null, ' '), 'utf8') + }) +``` + +#### Promise.nodeify(fn) + +_Non Standard_ + +The twin to `denodeify` is useful when you want to export an API that can be used by people who haven't learnt about the brilliance of promises yet. + +```javascript +module.exports = Promise.nodeify(awesomeAPI) +function awesomeAPI(a, b) { + return download(a, b) +} +``` + +If the last argument passed to `module.exports` is a function, then it will be treated like a node.js callback and not parsed on to the child function, otherwise the API will just return a promise. + +### Prototype Methods + +These methods are invoked on a promise instance by calling `myPromise.methodName` + +### Promise#then(onFulfilled, onRejected) + +This method follows the [Promises/A+ spec](http://promises-aplus.github.io/promises-spec/). It explains things very clearly so I recommend you read it. + +Either `onFulfilled` or `onRejected` will be called and they will not be called more than once. They will be passed a single argument and will always be called asynchronously (in the next turn of the event loop). + +If the promise is fulfilled then `onFulfilled` is called. If the promise is rejected then `onRejected` is called. + +The call to `.then` also returns a promise. If the handler that is called returns a promise, the promise returned by `.then` takes on the state of that returned promise. If the handler that is called returns a value that is not a promise, the promise returned by `.then` will be fulfilled with that value. If the handler that is called throws an exception then the promise returned by `.then` is rejected with that exception. + +#### Promise#done(onFulfilled, onRejected) + +_Non Standard_ + +The same semantics as `.then` except that it does not return a promise and any exceptions are re-thrown so that they can be logged (crashing the application in non-browser environments) + +#### Promise#nodeify(callback) + +_Non Standard_ + +If `callback` is `null` or `undefined` it just returns `this`. If `callback` is a function it is called with rejection reason as the first argument and result as the second argument (as per the node.js convention). + +This lets you write API functions that look like: + +```javascript +function awesomeAPI(foo, bar, callback) { + return internalAPI(foo, bar) + .then(parseResult) + .then(null, retryErrors) + .nodeify(callback) +} +``` + +People who use typical node.js style callbacks will be able to just pass a callback and get the expected behavior. The enlightened people can not pass a callback and will get awesome promises. + +## Extending Promises + + There are three options for extending the promises created by this library. + +### Inheritance + + You can use inheritance if you want to create your own complete promise library with this as your basic starting point, perfect if you have lots of cool features you want to add. Here is an example of a promise library called `Awesome`, which is built on top of `Promise` correctly. + +```javascript +var Promise = require('promise'); +function Awesome(fn) { + if (!(this instanceof Awesome)) return new Awesome(fn); + Promise.call(this, fn); +} +Awesome.prototype = Object.create(Promise.prototype); +Awesome.prototype.constructor = Awesome; + +//Awesome extension +Awesome.prototype.spread = function (cb) { + return this.then(function (arr) { + return cb.apply(this, arr); + }) +}; +``` + + N.B. if you fail to set the prototype and constructor properly or fail to do Promise.call, things can fail in really subtle ways. + +### Wrap + + This is the nuclear option, for when you want to start from scratch. It ensures you won't be impacted by anyone who is extending the prototype (see below). + +```javascript +function Uber(fn) { + if (!(this instanceof Uber)) return new Uber(fn); + var _prom = new Promise(fn); + this.then = _prom.then; +} + +Uber.prototype.spread = function (cb) { + return this.then(function (arr) { + return cb.apply(this, arr); + }) +}; +``` + +### Extending the Prototype + + In general, you should never extend the prototype of this promise implimenation because your extensions could easily conflict with someone elses extensions. However, this organisation will host a library of extensions which do not conflict with each other, so you can safely enable any of those. If you think of an extension that we don't provide and you want to write it, submit an issue on this repository and (if I agree) I'll set you up with a repository and give you permission to commit to it. + +## License + + MIT diff --git a/node_modules/promise/core.js b/node_modules/promise/core.js new file mode 100644 index 00000000..763bebf4 --- /dev/null +++ b/node_modules/promise/core.js @@ -0,0 +1,105 @@ +'use strict'; + +var asap = require('asap') + +module.exports = Promise +function Promise(fn) { + if (typeof this !== 'object') throw new TypeError('Promises must be constructed via new') + if (typeof fn !== 'function') throw new TypeError('not a function') + var state = null + var value = null + var deferreds = [] + var self = this + + this.then = function(onFulfilled, onRejected) { + return new Promise(function(resolve, reject) { + handle(new Handler(onFulfilled, onRejected, resolve, reject)) + }) + } + + function handle(deferred) { + if (state === null) { + deferreds.push(deferred) + return + } + asap(function() { + var cb = state ? deferred.onFulfilled : deferred.onRejected + if (cb === null) { + (state ? deferred.resolve : deferred.reject)(value) + return + } + var ret + try { + ret = cb(value) + } + catch (e) { + deferred.reject(e) + return + } + deferred.resolve(ret) + }) + } + + function resolve(newValue) { + try { //Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure + if (newValue === self) throw new TypeError('A promise cannot be resolved with itself.') + if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) { + var then = newValue.then + if (typeof then === 'function') { + doResolve(then.bind(newValue), resolve, reject) + return + } + } + state = true + value = newValue + finale() + } catch (e) { reject(e) } + } + + function reject(newValue) { + state = false + value = newValue + finale() + } + + function finale() { + for (var i = 0, len = deferreds.length; i < len; i++) + handle(deferreds[i]) + deferreds = null + } + + doResolve(fn, resolve, reject) +} + + +function Handler(onFulfilled, onRejected, resolve, reject){ + this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null + this.onRejected = typeof onRejected === 'function' ? onRejected : null + this.resolve = resolve + this.reject = reject +} + +/** + * Take a potentially misbehaving resolver function and make sure + * onFulfilled and onRejected are only called once. + * + * Makes no guarantees about asynchrony. + */ +function doResolve(fn, onFulfilled, onRejected) { + var done = false; + try { + fn(function (value) { + if (done) return + done = true + onFulfilled(value) + }, function (reason) { + if (done) return + done = true + onRejected(reason) + }) + } catch (ex) { + if (done) return + done = true + onRejected(ex) + } +} diff --git a/node_modules/promise/index.js b/node_modules/promise/index.js new file mode 100644 index 00000000..d96b7fce --- /dev/null +++ b/node_modules/promise/index.js @@ -0,0 +1,180 @@ +'use strict'; + +//This file contains then/promise specific extensions to the core promise API + +var Promise = require('./core.js') +var asap = require('asap') + +module.exports = Promise + +/* Static Functions */ + +function ValuePromise(value) { + this.then = function (onFulfilled) { + if (typeof onFulfilled !== 'function') return this + return new Promise(function (resolve, reject) { + asap(function () { + try { + resolve(onFulfilled(value)) + } catch (ex) { + reject(ex); + } + }) + }) + } +} +ValuePromise.prototype = Object.create(Promise.prototype) + +var TRUE = new ValuePromise(true) +var FALSE = new ValuePromise(false) +var NULL = new ValuePromise(null) +var UNDEFINED = new ValuePromise(undefined) +var ZERO = new ValuePromise(0) +var EMPTYSTRING = new ValuePromise('') + +Promise.resolve = function (value) { + if (value instanceof Promise) return value + + if (value === null) return NULL + if (value === undefined) return UNDEFINED + if (value === true) return TRUE + if (value === false) return FALSE + if (value === 0) return ZERO + if (value === '') return EMPTYSTRING + + if (typeof value === 'object' || typeof value === 'function') { + try { + var then = value.then + if (typeof then === 'function') { + return new Promise(then.bind(value)) + } + } catch (ex) { + return new Promise(function (resolve, reject) { + reject(ex) + }) + } + } + + return new ValuePromise(value) +} + +Promise.from = Promise.cast = function (value) { + var err = new Error('Promise.from and Promise.cast are deprecated, use Promise.resolve instead') + err.name = 'Warning' + console.warn(err.stack) + return Promise.resolve(value) +} + +Promise.denodeify = function (fn, argumentCount) { + argumentCount = argumentCount || Infinity + return function () { + var self = this + var args = Array.prototype.slice.call(arguments) + return new Promise(function (resolve, reject) { + while (args.length && args.length > argumentCount) { + args.pop() + } + args.push(function (err, res) { + if (err) reject(err) + else resolve(res) + }) + fn.apply(self, args) + }) + } +} +Promise.nodeify = function (fn) { + return function () { + var args = Array.prototype.slice.call(arguments) + var callback = typeof args[args.length - 1] === 'function' ? args.pop() : null + try { + return fn.apply(this, arguments).nodeify(callback) + } catch (ex) { + if (callback === null || typeof callback == 'undefined') { + return new Promise(function (resolve, reject) { reject(ex) }) + } else { + asap(function () { + callback(ex) + }) + } + } + } +} + +Promise.all = function () { + var calledWithArray = arguments.length === 1 && Array.isArray(arguments[0]) + var args = Array.prototype.slice.call(calledWithArray ? arguments[0] : arguments) + + if (!calledWithArray) { + var err = new Error('Promise.all should be called with a single array, calling it with multiple arguments is deprecated') + err.name = 'Warning' + console.warn(err.stack) + } + + return new Promise(function (resolve, reject) { + if (args.length === 0) return resolve([]) + var remaining = args.length + function res(i, val) { + try { + if (val && (typeof val === 'object' || typeof val === 'function')) { + var then = val.then + if (typeof then === 'function') { + then.call(val, function (val) { res(i, val) }, reject) + return + } + } + args[i] = val + if (--remaining === 0) { + resolve(args); + } + } catch (ex) { + reject(ex) + } + } + for (var i = 0; i < args.length; i++) { + res(i, args[i]) + } + }) +} + +Promise.reject = function (value) { + return new Promise(function (resolve, reject) { + reject(value); + }); +} + +Promise.race = function (values) { + return new Promise(function (resolve, reject) { + values.forEach(function(value){ + Promise.resolve(value).then(resolve, reject); + }) + }); +} + +/* Prototype Methods */ + +Promise.prototype.done = function (onFulfilled, onRejected) { + var self = arguments.length ? this.then.apply(this, arguments) : this + self.then(null, function (err) { + asap(function () { + throw err + }) + }) +} + +Promise.prototype.nodeify = function (callback) { + if (typeof callback != 'function') return this + + this.then(function (value) { + asap(function () { + callback(null, value) + }) + }, function (err) { + asap(function () { + callback(err) + }) + }) +} + +Promise.prototype['catch'] = function (onRejected) { + return this.then(null, onRejected); +} diff --git a/node_modules/promise/package.json b/node_modules/promise/package.json new file mode 100644 index 00000000..fd5453bc --- /dev/null +++ b/node_modules/promise/package.json @@ -0,0 +1,56 @@ +{ + "_from": "promise@^5.0.0", + "_id": "promise@5.0.0", + "_inBundle": false, + "_integrity": "sha1-rEC3hmvteq95arW3m4AyXgR+wO8=", + "_location": "/promise", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "promise@^5.0.0", + "name": "promise", + "escapedName": "promise", + "rawSpec": "^5.0.0", + "saveSpec": null, + "fetchSpec": "^5.0.0" + }, + "_requiredBy": [ + "/event-promise" + ], + "_resolved": "https://registry.npmjs.org/promise/-/promise-5.0.0.tgz", + "_shasum": "ac40b7866bed7aaf796ab5b79b80325e047ec0ef", + "_spec": "promise@^5.0.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\event-promise", + "author": { + "name": "ForbesLindesay" + }, + "bugs": { + "url": "https://github.com/then/promise/issues" + }, + "bundleDependencies": false, + "dependencies": { + "asap": "~1.0.0" + }, + "deprecated": false, + "description": "Bare bones Promises/A+ implementation", + "devDependencies": { + "better-assert": "*", + "mocha": "*", + "promises-aplus-tests": "*" + }, + "homepage": "https://github.com/then/promise#readme", + "license": "MIT", + "main": "index.js", + "name": "promise", + "repository": { + "type": "git", + "url": "git+https://github.com/then/promise.git" + }, + "scripts": { + "test": "mocha -R spec --timeout 200 --slow 99999", + "test-extensions": "mocha test/extensions-tests.js -R spec --timeout 200 --slow 999999", + "test-resolve": "mocha test/resolver-tests.js -R spec --timeout 200 --slow 999999" + }, + "version": "5.0.0" +} diff --git a/node_modules/protodef-validator/.circleci/config.yml b/node_modules/protodef-validator/.circleci/config.yml new file mode 100644 index 00000000..6447df45 --- /dev/null +++ b/node_modules/protodef-validator/.circleci/config.yml @@ -0,0 +1,19 @@ +version: 2 + +jobs: + build: + parallelism: 1 + docker: + - image: circleci/node:10 + steps: + - checkout + - restore_cache: + key: dependency-cache-{{ checksum "package.json" }} + - run: git submodule sync --recursive && git submodule update --recursive --init + - run: npm i + - save_cache: + key: dependency-cache-{{ checksum "package.json" }} + paths: + - ./node_modules + - run: npm test + - run: npm run benchmark diff --git a/node_modules/protodef-validator/.gitmodules b/node_modules/protodef-validator/.gitmodules new file mode 100644 index 00000000..973487df --- /dev/null +++ b/node_modules/protodef-validator/.gitmodules @@ -0,0 +1,3 @@ +[submodule "ProtoDef"] + path = ProtoDef + url = https://github.com/ProtoDef-io/ProtoDef.git diff --git a/node_modules/protodef-validator/.gitpod.yml b/node_modules/protodef-validator/.gitpod.yml new file mode 100644 index 00000000..38fc373b --- /dev/null +++ b/node_modules/protodef-validator/.gitpod.yml @@ -0,0 +1,2 @@ +tasks: +- command: npm install diff --git a/node_modules/protodef-validator/ProtoDef/README.md b/node_modules/protodef-validator/ProtoDef/README.md new file mode 100644 index 00000000..2a10864c --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/README.md @@ -0,0 +1,28 @@ +# ProtoDef + +ProtoDef specification: describe your protocol, and read it with ease. + +## Implementations + +| Implementation | Language | Method | +| --- | --- | --- | +| [node-protodef](https://github.com/ProtoDef-io/node-protodef) | Node.js | interpretation | +| [elixir-protodef](https://github.com/ProtoDef-io/elixir-protodef) | Elixir | compilation | + +## Documentation + +Read the [datatypes](doc/datatypes.md) and [protocol](doc/protocol.md) documentation. + +The [schemas](schemas) directory contain json schema of the json representation of a datatype definition. + +## Projects Using ProtoDef + +* [minecraft-protocol](https://github.com/PrismarineJS/node-minecraft-protocol) defines a protocol.json by minecraft version and use ProtoDef to serialize and parse packets + * the protocol.json files are stored in [minecraft-data](https://github.com/PrismarineJS/minecraft-data/blob/master/data/1.8/protocol.json) + * and they can be visualized automatically in this [doc](http://prismarinejs.github.io/minecraft-data/?d=protocol) +* [prismarine-nbt](https://github.com/PrismarineJS/prismarine-nbt) defined a nbt.json to parse and serialize the NBT format +* [mineflayer](https://github.com/PrismarineJS/mineflayer/blob/master/lib/plugins/command_block.js) uses ProtoDef to parse plugin messages +* [minecraft-protocol-forge](https://github.com/PrismarineJS/node-minecraft-protocol-forge) parses and serialize forge plugin messages +* [node-raknet](https://github.com/mhsjlw/node-raknet) describe the raknet protocol in a protocol.json and uses ProtoDef to read it +* [minecraft-classic-protocol](https://github.com/mhsjlw/minecraft-classic-protocol) defines the classic minecraft protocol with ProtoDef +* [pocket-minecraft-protocol](https://github.com/mhsjlw/pocket-minecraft-protocol) defines the minecraft pocket edition protocol diff --git a/node_modules/protodef-validator/ProtoDef/doc/datatypes.md b/node_modules/protodef-validator/ProtoDef/doc/datatypes.md new file mode 100644 index 00000000..612a3b4c --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/doc/datatypes.md @@ -0,0 +1,292 @@ +# Datatypes + +Protodef has a number of useful default datatypes. + +## Conditional + +### switch + +switch make it possible to choose a datatype depending on the value of an other field. +It is similar to the switch/case syntax. +It takes 3 arguments: + +* compareTo : the value is the other field +* compareToValue : an optional property (it's either compareTo or compareToValue) that allows the comparison to be made with a value instead of an other field +* fields : an object mapping the values to the types +* default : an optional property saying the type taken if the value doesn't fit into the cases + +Example: + +A switch which can encode a byte, a varint, a float or a string depending on "someField". +If the value of someField is different, then the value encoded is of type void. + +```json +[ + "switch", + { + "compareTo": "someField", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string" + }, + "default": "void" + } +] +``` + +Example of value: `4.5` + +### option + +option represents a simple optional type. It's encoded as a boolean indicating whether the value is there or not. +It's similar to the Optional type in java or Maybe in haskell. +It takes only one argument : the type of the value. + +Example: + +An option of value string + +```json +[ + "option", + "string" +] +``` + +Example of value: `"my string"` + +## Numeric + +These datatypes don't take any arguments. They represent numbers. + +| Name | Size in bytes | Example of value | Also called | +| --- | --- | --- | --- | +| i8 | 1 | -125 | byte | +| u8 | 1 | 255 | unsigned byte | +| i16 | 2 | -32000 | short | +| u16 | 2 | 60000 | unsigned short | +| i32 | 4 | -2000000000 | int | +| u32 | 4 | 3000000000 | unsigned int | +| f32 | 4 | 4.5 | float | +| f64 | 8 | 4.5 | double | +| i64 | 8 | 1 | long | +| u64 | 8 | 1 | unsigned long | +| li8 | 1 | -125 | little endian byte | +| lu8 | 1 | 255 | little endian unsigned byte | +| li16 | 2 | -32000 | little endian short | +| lu16 | 2 | 60000 | little endian unsigned short | +| li32 | 4 | -2000000000 | little endian int | +| lu32 | 4 | 3000000000 | little endian unsigned int | +| lf32 | 4 | 4.5 | little endian float | +| lf64 | 8 | 4.5 | little endian double | +| li64 | 8 | 1 | little endian long | +| lu64 | 8 | 1 | little endian unsigned long | + +## Structures + +### array + +array represents a list of values. + +It takes for arguments: + +* type : the type of the element +* countType : the type of the length prefix +* count : optional (either count or countType), a reference to the field counting the elements, or a fixed size (an integer) + +See [Counting](#counting) + +Example: + +An array of int prefixed by a short length. +```json +[ + "array", + { + "countType": "i16", + "type": "i32" + } +] +``` + +Example of value: `[1,2,3,4]` + +### count + +It represents a count field for an array or a buffer. + +Example: + +A count for a field name records, of type short. +```json +[ + "count", + { + "type": "i16", + "countFor": "records" + } +] +``` + +Example of value: `5` + +### container + +It represents a list of named values. It takes for argument these values with their types and names. + +Example: + +A container with fields of type int, int, ushort and ushort. +```json +[ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "bitMap", + "type": "u16" + }, + { + "name": "addBitMap", + "type": "u16" + } + ] +] +``` + +Example of value: `{"x":10,"z":10,"bitMap":10,"addBitMap":10}` + +## Utils + +### varint + +A variable-length number representation. + +Size: between 1 and 5 + +Example of value : `5` + +### bool + +A boolean, encoded in one byte. + +Example of value : `true` + +### pstring + +A length prefixed string. It takes one argument : the type of the length prefix. +It is usually used to define a "string" type that can be used without argument. + +The count can also be defined in different ways, see [Counting](#counting). + +Example: + +A string length prefixed by a varint. +```json +[ + "pstring",{ + "countType":"varint" + } +] +``` + +Example of value: `"my string"` + +### buffer + +buffer represents a Buffer + +It takes for arguments: + +* countType : the type of the length prefix +* count : optional (either count or countType), a reference to the field counting the elements, or a fixed size (an integer) + +See [Counting](#counting) + +Example: + +An buffer prefixed by a varint length. +```json +[ + "buffer", + { + "countType": "varint" + } +] +``` + +Example of value: `new Buffer([0x01,0x02,0x03])` + +### void + +void represents an empty value. It has a size of 0. + +Example of value: `undefined` + +### bitfield + +bitfield represents a list of value with sizes that are not a multiple of 8bits. +It takes for argument a list of values with: +* a size +* a name +* signed +The sum of the sizes must be a multiple of 8. + +Example: + +3 values, x, y and z with sizes in bits : 26, 12, 26. Notice that 26+12+26=64. +```json +["bitfield", [ + { "name": "x", "size": 26, "signed": true }, + { "name": "y", "size": 12, "signed": true }, + { "name": "z", "size": 26, "signed": true } + ]] +``` + +Example of value: `{"x":10,"y":10,"z":10}` + +### cstring + +cstring represents a null terminated string. Similar to strings in C. + +Example of value: "my string" + +### mapper + +mappers maps values. It takes as argument the type of the input, and a mappings object with the values to map. + +Example: + +Maps a byte to a string, 1 to "byte", 2 to "short", 3 to "int", 4 to "long". +```json +[ + "mapper", + { + "type": "i8", + "mappings": { + "1": "byte", + "2": "short", + "3": "int", + "4": "long" + } + } +] +``` + +Example of value: `3` + +# Common datatypes arguments + +## Counting + +* countType : the type of the length prefix +* count : optional (either count or countType), a reference to the field counting the elements, or a fixed size (an integer) diff --git a/node_modules/protodef-validator/ProtoDef/doc/protocol.md b/node_modules/protodef-validator/ProtoDef/doc/protocol.md new file mode 100644 index 00000000..926b5c46 --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/doc/protocol.md @@ -0,0 +1,10 @@ +# Protocol + +ProtoDef defines a protocol json format. It organizes types in namespaces. + +The protocol object is an object with keys `types` and namespace keys. + +* The value of the `types` key is an object of type name to type definition. +* The value of the namespace key is a protocol object. + +See [protocol_schema.json](../schemas/protocol_schema.json) for a json schema definition of this format. diff --git a/node_modules/protodef-validator/ProtoDef/schemas/conditional.json b/node_modules/protodef-validator/ProtoDef/schemas/conditional.json new file mode 100644 index 00000000..78ad12e3 --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/schemas/conditional.json @@ -0,0 +1,43 @@ +{ + "switch":{ + "title": "switch", + "type": "array", + "items":[ + {"enum":["switch"]}, + { + "type":"object", + "properties": { + "compareTo":{"$ref": "definitions#/definitions/contextualizedFieldName"}, + "compareToValue":{"type":"string"}, + "fields":{ + "type":"object", + "patternProperties" : { + "^[-a-zA-Z0-9 _:]+$":{"$ref": "dataType"} + }, + "additionalProperties": false + }, + "default":{"$ref": "dataType"} + }, + "oneOf":[ + { + "required":["compareTo","fields"] + }, + { + "required":["compareToValue","fields"] + } + ], + "additionalProperties": false + } + ], + "additionalItems": false + }, + "option":{ + "title": "option", + "type": "array", + "items":[ + {"enum":["option"]}, + {"$ref": "dataType"} + ], + "additionalItems": false + } +} \ No newline at end of file diff --git a/node_modules/protodef-validator/ProtoDef/schemas/datatype.json b/node_modules/protodef-validator/ProtoDef/schemas/datatype.json new file mode 100644 index 00000000..e6324185 --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/schemas/datatype.json @@ -0,0 +1,42 @@ +{ + "title": "datatype", + "description":"default dataTypes", + "oneOf":[ + {"$ref": "switch"}, + {"$ref": "option"}, + + {"$ref": "i8"}, + {"$ref": "u8"}, + {"$ref": "i16"}, + {"$ref": "u16"}, + {"$ref": "i32"}, + {"$ref": "u32"}, + {"$ref": "f32"}, + {"$ref": "f64"}, + {"$ref": "li8"}, + {"$ref": "lu8"}, + {"$ref": "li16"}, + {"$ref": "lu16"}, + {"$ref": "li32"}, + {"$ref": "lu32"}, + {"$ref": "lf32"}, + {"$ref": "lf64"}, + {"$ref": "i64"}, + {"$ref": "li64"}, + {"$ref": "u64"}, + {"$ref": "lu64"}, + + {"$ref": "array"}, + {"$ref": "count"}, + {"$ref": "container"}, + + {"$ref": "varint"}, + {"$ref": "bool"}, + {"$ref": "pstring"}, + {"$ref": "buffer"}, + {"$ref": "void"}, + {"$ref": "bitfield"}, + {"$ref": "cstring"}, + {"$ref": "mapper"} + ] +} \ No newline at end of file diff --git a/node_modules/protodef-validator/ProtoDef/schemas/definitions.json b/node_modules/protodef-validator/ProtoDef/schemas/definitions.json new file mode 100644 index 00000000..de47ca20 --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/schemas/definitions.json @@ -0,0 +1,24 @@ +{ + "title": "definitions", + "definitions": { + "contextualizedFieldName": { + "type": "string", + "pattern": "^(this\\.)?.+$" + }, + "dataTypeArgsCount": { + "oneOf": [ + { + "$ref": "#/definitions/contextualizedFieldName" + }, + { + "type": "number" + } + ] + }, + "fieldName": { + "type": "string", + "pattern": "^[a-zA-Z0-9_]+$" + } + }, + "type":"object" +} \ No newline at end of file diff --git a/node_modules/protodef-validator/ProtoDef/schemas/numeric.json b/node_modules/protodef-validator/ProtoDef/schemas/numeric.json new file mode 100644 index 00000000..6e6e04d9 --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/schemas/numeric.json @@ -0,0 +1,22 @@ +{ + "i8":{"enum":["i8"]}, + "u8":{"enum":["u8"]}, + "i16":{"enum":["i16"]}, + "u16":{"enum":["u16"]}, + "i32":{"enum":["i32"]}, + "u32":{"enum":["u32"]}, + "f32":{"enum":["f32"]}, + "f64":{"enum":["f64"]}, + "li8":{"enum":["li8"]}, + "lu8":{"enum":["lu8"]}, + "li16":{"enum":["li16"]}, + "lu16":{"enum":["lu16"]}, + "li32":{"enum":["li32"]}, + "lu32":{"enum":["lu32"]}, + "lf32":{"enum":["lf32"]}, + "lf64":{"enum":["lf64"]}, + "i64":{"enum":["i64"]}, + "li64":{"enum":["li64"]}, + "u64":{"enum":["u64"]}, + "lu64":{"enum":["lu64"]} +} \ No newline at end of file diff --git a/node_modules/protodef-validator/ProtoDef/schemas/protocol_schema.json b/node_modules/protodef-validator/ProtoDef/schemas/protocol_schema.json new file mode 100644 index 00000000..e102250a --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/schemas/protocol_schema.json @@ -0,0 +1,27 @@ +{ + "title": "protocol", + "type": "object", + "properties":{ + "types":{ + "type": "object", + "patternProperties": { + "^[0-9a-zA-Z_]+$": { + "oneOf":[ + {"type":"string"}, + { + "type": "array", + "items": [ + {"type":"string"}, + {"oneOf":[{"type": "object"},{"type": "array"}]} + ] + } + ]} + }, + "additionalProperties": false + } + }, + "patternProperties": { + "^(?!types)[a-zA-Z_]+$": {"$ref": "#"} + }, + "additionalProperties": false +} diff --git a/node_modules/protodef-validator/ProtoDef/schemas/structures.json b/node_modules/protodef-validator/ProtoDef/schemas/structures.json new file mode 100644 index 00000000..52002ff9 --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/schemas/structures.json @@ -0,0 +1,95 @@ +{ + "array":{ + "title": "array", + "type":"array", + "items":[ + {"enum":["array"]}, + { + "oneOf":[ + { + "type":"object", + "properties":{ + "type": {"$ref": "dataType"}, + "countType": {"$ref": "dataType"} + }, + "additionalProperties": false, + "required":["type","countType"] + }, + { + "type":"object", + "properties":{ + "type": {"$ref": "dataType"}, + "count": {"$ref": "definitions#/definitions/dataTypeArgsCount"} + }, + "additionalProperties": false, + "required":["type","count"] + } + ] + } + ], + "additionalItems": false + }, + "count":{ + "title": "count", + "type": "array", + "items":[ + {"enum":["count"]}, + { + "type": "object", + "properties": { + "countFor": {"$ref":"definitions#/definitions/contextualizedFieldName"}, + "type": {"$ref": "dataType"} + }, + "required": ["countFor", "type"], + "additionalProperties": false + } + ], + "additionalItems": false + }, + "container":{ + "title": "container", + "type": "array", + "items": [ + { + "enum": [ + "container" + ] + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "anon": { + "type": "boolean" + }, + "name": { + "$ref": "definitions#/definitions/fieldName" + }, + "type": { + "$ref": "dataType" + } + }, + "oneOf": [ + { + "required": [ + "anon" + ] + }, + { + "required": [ + "name" + ] + } + ], + "required": [ + "type" + ], + "additionalProperties": false + }, + "additionalItems": false + } + ], + "additionalItems": false + } +} \ No newline at end of file diff --git a/node_modules/protodef-validator/ProtoDef/schemas/utils.json b/node_modules/protodef-validator/ProtoDef/schemas/utils.json new file mode 100644 index 00000000..f71398ec --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/schemas/utils.json @@ -0,0 +1,114 @@ +{ + "varint":{"enum":["varint"]}, + "bool":{"enum":["bool"]}, + "pstring":{ + "title": "pstring", + "type": "array", + "items":[ + {"enum":["pstring"]}, + { + "oneOf":[ + { + "type":"object", + "properties":{ + "countType": {"$ref": "dataType"} + }, + "additionalProperties": false, + "required":["countType"] + }, + { + "type":"object", + "properties":{ + "count": {"$ref": "definitions#/definitions/dataTypeArgsCount"} + }, + "additionalProperties": false, + "required":["count"] + } + ] + } + ], + "additionalItems": false + }, + "buffer":{ + "title": "buffer", + "type":"array", + "items":[ + {"enum":["buffer"]}, + { + "oneOf":[ + { + "type": "object", + "properties": { + "countType": {"$ref": "dataType"} + }, + "additionalProperties": false, + "required": [ + "countType" + ] + }, + { + "type": "object", + "properties": { + "count": {"$ref": "definitions#/definitions/dataTypeArgsCount"} + }, + "additionalProperties": false, + "required": [ + "count" + ] + } + ] + } + ] + }, + "void":{"enum":["void"]}, + "bitfield":{ + "title": "bitfield", + "type": "array", + "items": [ + { "enum": ["bitfield"] }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": {"$ref": "definitions#/definitions/fieldName"}, + "size": {"type": "number"}, + "signed": {"type": "boolean"} + }, + "required": [ + "name", + "size", + "signed" + ], + "additionalProperties": false + }, + "additionalItems": false + } + ], + "additionalItems": false + }, + "cstring":{"enum":["cstring"]}, + "mapper":{ + "title": "mapper", + "type": "array", + "items":[ + {"enum":["mapper"]}, + { + "type":"object", + "properties": { + "type":{"$ref": "dataType"}, + "mappings":{ + "type":"object", + "patternProperties" : { + "^[-a-zA-Z0-9 _]+$":{"type":"string"} + }, + "additionalProperties": false + } + }, + "required":["type","mappings"], + "additionalProperties": false + } + ], + "additionalItems": false + } +} \ No newline at end of file diff --git a/node_modules/protodef-validator/ProtoDef/test/conditional.json b/node_modules/protodef-validator/ProtoDef/test/conditional.json new file mode 100644 index 00000000..09906c9e --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/test/conditional.json @@ -0,0 +1,64 @@ +[ + { + "type":"switch", + "subtypes":[ + { + "description": "container including a switch going to u8, u16 or u32", + "type": ["container", + [ + { + "name":"action", + "type":"u8" + }, + { + "name":"result", + "type":["switch", + { + "compareTo":"action", + "fields":{ + "0":"u8", + "1":"u16", + "2":"u32" + } + } + ] + } + ] + ], + "values":[ + { + "description":"u8", + "value":{ + "action":0, + "result":3 + }, + "buffer":["0x00","0x03"] + }, + { + "description":"u32", + "value":{ + "action":2, + "result":4294966272 + }, + "buffer":["0x02","0xff","0xff","0xfc","0x00"] + } + ] + } + ] + }, + { + "type":"option", + "subtypes":[ + { + "description":"optional u16", + "type":["option","u16"], + "values":[ + { + "value":61303, + "buffer":["0x01", "0xef","0x77"] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/node_modules/protodef-validator/ProtoDef/test/datatype_tests_schema.json b/node_modules/protodef-validator/ProtoDef/test/datatype_tests_schema.json new file mode 100644 index 00000000..449d0b93 --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/test/datatype_tests_schema.json @@ -0,0 +1,96 @@ +{ + "title": "datatype tests", + "type": "array", + "uniqueItems": true, + "definitions":{ + "datatype_test":{ + "oneOf":[ + {"$ref" : "#/definitions/test_simple_datatype"}, + {"$ref": "#/definitions/test_complex_datatype"} + ] + }, + "test_simple_datatype":{ + "title": "test simple datatype", + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "values": {"$ref" : "#/definitions/test_values"} + }, + "required": [ + "type", + "values" + ], + "additionalProperties": false + }, + "test_complex_datatype":{ + "title": "test simple datatype", + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "subtypes": { + "type":"array", + "items":{ + "title": "subtype test", + "type": "object", + "properties": { + "description":{ + "type":"string" + }, + "type": { + "type": ["object","array"] + }, + "values": {"$ref" : "#/definitions/test_values"} + }, + "required": [ + "description", + "type", + "values" + ], + "additionalProperties": false + } + } + }, + "required": [ + "type", + "subtypes" + ], + "additionalProperties": false + }, + + "test_values":{ + "type":"array", + "items":{ + "title": "test value", + "type": "object", + "properties": { + "description": { + "type":"string" + }, + "value": { + "type":[ "array", "boolean", "integer", "null", "number", "object", "string" ] + }, + "buffer":{ + "type":"array", + "additionalItems":false, + "items":{ + "type":"string", + "pattern": "^0x[0-9a-fA-F]{2}$" + } + } + }, + "required": [ + "value", + "buffer" + ], + "additionalProperties": false + }, + "additionalItems":false + } + }, + "items" : {"$ref" : "#/definitions/datatype_test"}, + "additionalItems":false +} \ No newline at end of file diff --git a/node_modules/protodef-validator/ProtoDef/test/numeric.json b/node_modules/protodef-validator/ProtoDef/test/numeric.json new file mode 100644 index 00000000..7e70b1c8 --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/test/numeric.json @@ -0,0 +1,534 @@ +[ + { + "type": "i8", + "values": [ + { + "description": "positive", + "buffer": [ + "0x3d" + ], + "value": 61 + }, + { + "description": "negative", + "buffer": [ + "0x86" + ], + "value": -122 + } + ] + }, + { + "type": "u8", + "values": [ + { + "description": "positive", + "buffer": [ + "0x3d" + ], + "value": 61 + }, + { + "description": "negative", + "buffer": [ + "0x86" + ], + "value": 134 + } + ] + }, + { + "type": "i16", + "values": [ + { + "description": "positive", + "buffer": [ + "0x30", + "0x87" + ], + "value": 12423 + }, + { + "description": "negative", + "buffer": [ + "0xef", + "0x77" + ], + "value": -4233 + } + ] + }, + { + "type": "u16", + "values": [ + { + "description": "positive", + "buffer": [ + "0x30", + "0x87" + ], + "value": 12423 + }, + { + "description": "negative", + "buffer": [ + "0xef", + "0x77" + ], + "value": 61303 + } + ] + }, + { + "type": "i32", + "values": [ + { + "description": "positive", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0xea" + ], + "value": 234 + }, + { + "description": "negative", + "buffer": [ + "0xff", + "0xff", + "0xfc", + "0x00" + ], + "value": -1024 + } + ] + }, + { + "type": "u32", + "values": [ + { + "description": "positive", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0xea" + ], + "value": 234 + }, + { + "description": "negative", + "buffer": [ + "0xff", + "0xff", + "0xfc", + "0x00" + ], + "value": 4294966272 + } + ] + }, + { + "type": "f32", + "values": [ + { + "description": "positive", + "buffer": [ + "0x47", + "0x05", + "0xc3", + "0x00" + ], + "value": 34243 + }, + { + "description": "negative", + "buffer": [ + "0xc6", + "0x42", + "0x4c", + "0x00" + ], + "value": -12435 + } + ] + }, + { + "type": "f64", + "values": [ + { + "description": "positive", + "buffer": [ + "0x40", + "0xe0", + "0xb8", + "0x60", + "0x00", + "0x00", + "0x00", + "0x00" + ], + "value": 34243 + }, + { + "description": "negative", + "buffer": [ + "0xc0", + "0xc8", + "0x49", + "0x80", + "0x00", + "0x00", + "0x00", + "0x00" + ], + "value": -12435 + } + ] + }, + { + "type": "i64", + "values": [ + { + "description": "small", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0xff" + ], + "value": [ + 0, + 255 + ] + }, + { + "description": "big", + "buffer": [ + "0x81", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00" + ], + "value": [ + -2130706432, + 0 + ] + } + ] + }, + { + "type": "u64", + "values": [ + { + "description": "small", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0xff" + ], + "value": [ + 0, + 255 + ] + }, + { + "description": "big", + "buffer": [ + "0x7f", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00" + ], + "value": [ + 2130706432, + 0 + ] + } + ] + }, + { + "type": "li8", + "values": [ + { + "description": "positive", + "buffer": [ + "0x3d" + ], + "value": 61 + }, + { + "description": "negative", + "buffer": [ + "0x86" + ], + "value": -122 + } + ] + }, + { + "type": "lu8", + "values": [ + { + "description": "positive", + "buffer": [ + "0x3d" + ], + "value": 61 + }, + { + "description": "negative", + "buffer": [ + "0x86" + ], + "value": 134 + } + ] + }, + { + "type": "li16", + "values": [ + { + "description": "positive", + "buffer": [ + "0x87", + "0x30" + ], + "value": 12423 + }, + { + "description": "negative", + "buffer": [ + "0x77", + "0xef" + ], + "value": -4233 + } + ] + }, + { + "type": "lu16", + "values": [ + { + "description": "positive", + "buffer": [ + "0x87", + "0x30" + ], + "value": 12423 + }, + { + "description": "negative", + "buffer": [ + "0x77", + "0xef" + ], + "value": 61303 + } + ] + }, + { + "type": "li32", + "values": [ + { + "description": "positive", + "buffer": [ + "0xea", + "0x00", + "0x00", + "0x00" + ], + "value": 234 + }, + { + "description": "negative", + "buffer": [ + "0x00", + "0xfc", + "0xff", + "0xff" + ], + "value": -1024 + } + ] + }, + { + "type": "lu32", + "values": [ + { + "description": "positive", + "buffer": [ + "0xea", + "0x00", + "0x00", + "0x00" + ], + "value": 234 + }, + { + "description": "negative", + "buffer": [ + "0x00", + "0xfc", + "0xff", + "0xff" + ], + "value": 4294966272 + } + ] + }, + { + "type": "lf32", + "values": [ + { + "description": "positive", + "buffer": [ + "0x00", + "0xc3", + "0x05", + "0x47" + ], + "value": 34243 + }, + { + "description": "negative", + "buffer": [ + "0x00", + "0x4c", + "0x42", + "0xc6" + ], + "value": -12435 + } + ] + }, + { + "type": "lf64", + "values": [ + { + "description": "positive", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0x00", + "0x60", + "0xb8", + "0xe0", + "0x40" + ], + "value": 34243 + }, + { + "description": "negative", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0x00", + "0x80", + "0x49", + "0xc8", + "0xc0" + ], + "value": -12435 + } + ] + }, + { + "type": "li64", + "values": [ + { + "description": "small", + "buffer": [ + "0xff", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00" + ], + "value": [ + 0, + 255 + ] + }, + { + "description": "big", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x81" + ], + "value": [ + -2130706432, + 0 + ] + } + ] + }, + { + "type": "lu64", + "values": [ + { + "description": "small", + "buffer": [ + "0xff", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00" + ], + "value": [ + 0, + 255 + ] + }, + { + "description": "big", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x7f" + ], + "value": [ + 2130706432, + 0 + ] + } + ] + } +] \ No newline at end of file diff --git a/node_modules/protodef-validator/ProtoDef/test/structures.json b/node_modules/protodef-validator/ProtoDef/test/structures.json new file mode 100644 index 00000000..390386ef --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/test/structures.json @@ -0,0 +1,139 @@ +[ + { + "type":"container", + "subtypes":[ + { + "description":"simple container with 2 u8 and one varint", + "type":[ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "values":[ + { + "value":{ + "horizontalPos":56, + "y":25, + "blockId":5 + }, + "buffer":["0x38","0x19","0x05"] + } + ] + }, + { + "description":"set_protocol", + "type":[ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": ["pstring",{ + "countType":"varint" + }] + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "values":[ + { + "value":{ + "protocolVersion":47, + "serverHost":"127.0.0.1", + "serverPort":25565, + "nextState":1 + }, + "buffer":["0x2f","0x09","0x31","0x32","0x37","0x2e","0x30","0x2e","0x30","0x2e","0x31","0x63","0xdd","0x01"] + } + ] + } + ] + }, + { + "type":"count", + "subtypes":[ + { + "description":"a container with a count, a second field and an array using the count", + "type":["container", + [ + { + "name":"number", + "type":["count", + { + "type":"u8", + "countFor":"records" + } + ] + }, + { + "name":"diameter", + "type":"u8" + }, + { + "name":"records", + "type":["array", + { + "count":"number", + "type":"u8" + } + ] + } + ] + ], + "values":[ + { + "value":{ + "number":2, + "diameter":5, + "records":[1,2] + }, + "buffer":["0x02","0x05","0x01","0x02"] + } + ] + } + ] + }, + { + "type":"array", + "subtypes":[ + { + "description": "a simple u16 prefixed array of u8", + "type":[ + "array", + { + "countType": "u16", + "type": "u8" + } + ], + "values":[ + { + "value":[1,2,3,4], + "buffer":["0x00","0x04","0x01","0x02","0x03","0x04"] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/node_modules/protodef-validator/ProtoDef/test/utils.json b/node_modules/protodef-validator/ProtoDef/test/utils.json new file mode 100644 index 00000000..abdcb69b --- /dev/null +++ b/node_modules/protodef-validator/ProtoDef/test/utils.json @@ -0,0 +1,371 @@ +[ + { + "type":"bool", + "values":[ + { + "description":"binary 0 is false", + "buffer":[ + "0x00" + ], + "value": false + }, + { + "description":"1 is true", + "buffer":[ + "0x01" + ], + "value": true + } + ] + }, + { + "type":"varint", + "values":[ + { + "description":"8-bit integer", + "value":1, + "buffer":["0x01"] + }, + { + "description":"8-bit maximum integer", + "value":127, + "buffer":["0x7f"] + }, + { + "description":"16-bit integer", + "value":300, + "buffer":["0xac", "0x02"] + }, + { + "description":"24-bit integer", + "value":100000, + "buffer":["0xa0", "0x8d", "0x06"] + }, + { + "description":"32-bit integer", + "value":16909060, + "buffer":["0x84", "0x86", "0x88", "0x08"] + }, + { + "description":"negative integer", + "value":-1, + "buffer":["0xff", "0xff", "0xff", "0xff", "0x0f"] + }, + { + "description":"maximum varint", + "value":2147483647, + "buffer":["0xff", "0xff", "0xff", "0xff", "0x07"] + }, + { + "description":"minimum varint", + "value":-2147483648, + "buffer":["0x80", "0x80", "0x80", "0x80", "0x08"] + } + ] + }, + { + "type":"buffer", + "subtypes":[ + { + "description":"a fixed size buffer", + "type":["buffer", + { + "count":3 + } + ], + "values":[ + { + "value":["0x05","0x10","0xAE"], + "buffer":["0x05","0x10","0xAE"] + } + ] + }, + { + "description":"an u8 prefixed buffer", + "type":["buffer", + { + "countType":"u8" + } + ], + "values":[ + { + "value":["0x05","0x10","0xAE"], + "buffer":["0x03","0x05","0x10","0xAE"] + } + ] + } + ] + }, + { + "type":"pstring", + "subtypes":[ + { + + "description":"fixed size string", + "type":[ + "pstring",{ + "count":6 + } + ], + "values":[ + { + "description":"simple hello", + "buffer":[ "0x48", "0x65", "0x6C", "0x6C", "0x6F", "0x21"], + "value":"Hello!" + } + ] + }, + { + "description":"i16 prefixed string", + "type":[ + "pstring",{ + "countType":"i16" + } + ], + "values":[ + { + "description":"simple hello", + "buffer":["0x00","0x06", "0x48", "0x65", "0x6C", "0x6C", "0x6F", "0x21"], + "value":"Hello!" + }, + { + "description":"japanese", + "buffer":["0x00","0x10", "0xE3", "0x81", "0x93", "0xE3", "0x82", "0x93", "0xE3", "0x81", + "0xAB", "0xE3", "0x81", "0xA1", "0xE3", "0x81", "0xAF", "0x21"], + "value":"こんにちは!" + } + ] + }, + { + "description":"varint prefixed string", + "type":[ + "pstring",{ + "countType":"varint" + } + ], + "values":[ + { + "description":"simple hello", + "buffer":["0x06", "0x48", "0x65", "0x6C", "0x6C", "0x6F", "0x21"], + "value":"Hello!" + }, + { + "description":"japanese", + "buffer":["0x10", "0xE3", "0x81", "0x93", "0xE3", "0x82", "0x93", "0xE3", "0x81", + "0xAB", "0xE3", "0x81", "0xA1", "0xE3", "0x81", "0xAF", "0x21"], + "value":"こんにちは!" + } + ] + } + ] + }, + { + "type":"cstring", + "values":[ + { + "description":"simple hello", + "buffer":["0x48", "0x65", "0x6C", "0x6C", "0x6F", "0x21","0x00"], + "value":"Hello!" + }, + { + "description":"japanese", + "buffer":["0xE3", "0x81", "0x93", "0xE3", "0x82", "0x93", "0xE3", "0x81", + "0xAB", "0xE3", "0x81", "0xA1", "0xE3", "0x81", "0xAF", "0x21","0x00"], + "value":"こんにちは!" + } + ] + }, + { + "type":"void", + "values":[ + { + "description":"undefined", + "buffer":[], + "value":null + } + ] + }, + { + "type":"bitfield", + "subtypes":[ + { + "description":"an unsigned 8 bit number", + "type":[ + "bitfield",[ + { + "name": "one", + "size": 8, + "signed": false + } + ] + ], + "values":[ + { + "buffer":[ + "0xff" + ], + "value":{ + "one": 255 + } + } + ] + }, + { + "description":"a signed 8 bit number", + "type":[ + "bitfield",[ + { + "name": "one", + "size": 8, + "signed": true + } + ] + ], + "values":[ + { + "buffer":[ + "0xff" + ], + "value":{ + "one": -1 + } + } + ] + }, + { + "description":"multiple signed 8 bit numbers", + "type":[ + "bitfield",[ + { "name": "one", "size": 8, "signed": true }, + { "name": "two", "size": 8, "signed": true }, + { "name": "three", "size": 8, "signed": true } + ] + ], + "values":[ + { + "buffer": [ + "0xff", + "0x80", + "0x12" + ], + "value": { + "one": -1, + "two": -128, + "three": 18 + } + } + ] + }, + { + "description":"multiple unsigned 4 bit numbers", + "type":[ + "bitfield",[ + { "name": "one", "size": 4, "signed": false }, + { "name": "two", "size": 4, "signed": false }, + { "name": "three", "size": 4, "signed": false } + ] + ], + "values":[ + { + "buffer":[ + "0xff", + "0x80" + ], + "value":{ "one": 15, "two": 15, "three": 8 } + } + ] + }, + { + "description":"multiple signed 4 bit numbers", + "type":[ + "bitfield",[ + { "name": "one", "size": 4, "signed": true }, + { "name": "two", "size": 4, "signed": true }, + { "name": "three", "size": 4, "signed": true } + ] + ], + "values":[ + { + "buffer":[ + "0xff", + "0x80" + ], + "value":{ "one": -1, "two": -1, "three": -8 } + } + ] + }, + { + "description":"an unsigned 12 bit number", + "type":[ + "bitfield",[ + { "name": "one", "size": 12, "signed": false } + ] + ], + "values":[ + { + "buffer":[ + "0xff", + "0x80" + ], + "value":{ "one": 4088 } + } + ] + }, + { + "description":"a complex structure", + "type":[ + "bitfield",[ + { "name": "x", "size": 26, "signed": true }, + { "name": "y", "size": 12, "signed": true }, + { "name": "z", "size": 26, "signed": true } + ] + ], + "values":[ + { + "buffer":[ + "0x00", + "0x00", + "0x03", + "0x05", + "0x30", + "0x42", + "0xE0", + "0x65" + ], + "value":{ "x": 12, "y": 332, "z": 4382821 } + } + ] + } + ] + }, + { + "type":"mapper", + "subtypes":[ + { + "description": "a mapper mapping 0 to zero, 1 to one and 2 to two", + "type": ["mapper", + { + "type":"u8", + "mappings":{ + "0":"zero", + "1":"one", + "2":"two" + } + } + ], + "values":[ + { + "description":"zero", + "value":"zero", + "buffer":["0x00"] + }, + { + "description":"two", + "value":"two", + "buffer":["0x02"] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/node_modules/protodef-validator/README.md b/node_modules/protodef-validator/README.md new file mode 100644 index 00000000..046a08c6 --- /dev/null +++ b/node_modules/protodef-validator/README.md @@ -0,0 +1,112 @@ +# ProtoDef-validator +[![NPM version](https://img.shields.io/npm/v/protodef-validator.svg)](http://npmjs.com/package/protodef-validator) +[![Build Status](https://circleci.com/gh/ProtoDef-io/node-protodef-validator/tree/master.svg?style=shield)](https://circleci.com/gh/ProtoDef-io/node-protodef-validator/tree/master) +[![Try it on gitpod](https://img.shields.io/badge/try-on%20gitpod-brightgreen.svg)](https://gitpod.io/#https://github.com/ProtoDef-io/node-protodef-validator) + +Validate [ProtoDef](https://github.com/ProtoDef-io/ProtoDef) protocol definition in node + +## Installing + +``` +npm install protodef-validator +``` + +## Usage + +See [example](example.js) + +## Command Line Interface + +You can install this package globally with `npm install -g protodef-validator` and then run `protodef-validator someProtocol.json` to validate it. + +## API + +### Validator + +Class to make validator instances + +#### Validator.addType(name [,schema]) + +add the type `name` with schema `schema` + +If `schema` isn't specified, use a default schema. + +#### Validator.addTypes(schemas) + +Add `schemas` which is an object with keys the name of the schemas and values the schema definitions. + +#### Validator.validateType(type) + +validates a type definition `type` + +throws an exception if the type isn't correct + +#### Validator.validateProtocol(protocol) + +validates a protocol definition `protocol` + +throws an exception if the protocol isn't correct + +## History + +### 1.2.3 + +* add .json suffix when requiring (for webpack) + +### 1.2.2 + +* fix release + +### 1.2.1 + +* update ajv and protodef + +### 1.2.0 + +* allow : in switch keys + +### 1.1.7 + +* properly define compareTo/compareToValue + +### 1.1.6 + +* fix compareToValue switch property allowance + +### 1.1.5 + +* properly normalize schema names + +### 1.1.4 + +* normalize refs + +### 1.1.3 + +* print errors again + +### 1.1.2 + +* fix release + +### 1.1.1 + +* recreate ajv instance to recompile if types were validated hence compiled + +### 1.1.0 + +* check the datatypes have been defined +* make it possible to add types with a default schema +* better errors + +### 1.0.2 + +* ignore already added types + +### 1.0.1 + +* fix index.js + +### 1.0.0 + +* can validate types and protocols diff --git a/node_modules/protodef-validator/cli.js b/node_modules/protodef-validator/cli.js new file mode 100644 index 00000000..abf27b41 --- /dev/null +++ b/node_modules/protodef-validator/cli.js @@ -0,0 +1,19 @@ +#!/usr/bin/env node + +const Validator=require('./'); +const fs=require('fs'); + +if(process.argv.length <3 || process.argv.length >4) { + console.log("Usage : node echo.js []"); + process.exit(1); +} + +const protocolPath=process.argv[2]; +const customSchemasPath=process.argv[3]; + +const validator = new Validator(); + +if(customSchemasPath) + validator.addTypes(JSON.parse(fs.readFileSync(customSchemasPath))); + +validator.validateProtocol(JSON.parse(fs.readFileSync(protocolPath))); diff --git a/node_modules/protodef-validator/example.js b/node_modules/protodef-validator/example.js new file mode 100644 index 00000000..df0682fa --- /dev/null +++ b/node_modules/protodef-validator/example.js @@ -0,0 +1,8 @@ +const Validator=require('./'); + +const example_protocol=require("./example_protocol.json"); + +const validator = new Validator(); + +validator.validateProtocol(example_protocol); + diff --git a/node_modules/protodef-validator/example_protocol.json b/node_modules/protodef-validator/example_protocol.json new file mode 100644 index 00000000..78fbdfe9 --- /dev/null +++ b/node_modules/protodef-validator/example_protocol.json @@ -0,0 +1,179 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "option": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ] + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x02": "success" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "success": "packet_success" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/protodef-validator/index.js b/node_modules/protodef-validator/index.js new file mode 100644 index 00000000..1cb6a91e --- /dev/null +++ b/node_modules/protodef-validator/index.js @@ -0,0 +1,136 @@ +const Ajv = require('ajv'); +const assert=require("assert"); + +class Validator { + constructor(typesSchemas) { + this.createAjvInstance(typesSchemas); + this.addDefaultTypes(); + } + + createAjvInstance(typesSchemas) { + this.typesSchemas = {}; + this.compiled=false; + this.ajv = new Ajv({verbose:true}); + this.ajv.addSchema(require("./ProtoDef/schemas/definitions.json"),"definitions"); + this.ajv.addSchema(require("./ProtoDef/schemas/protocol_schema.json"),"protocol"); + if(typesSchemas) { + Object.keys(typesSchemas).forEach(s => this.addType(s, typesSchemas[s])); + } + } + + addDefaultTypes() { + this.addTypes(require("./ProtoDef/schemas/numeric.json")); + this.addTypes(require("./ProtoDef/schemas/utils.json")); + this.addTypes(require("./ProtoDef/schemas/structures.json")); + this.addTypes(require("./ProtoDef/schemas/conditional.json")); + } + + addTypes(schemas) { + Object.keys(schemas).forEach((name) => this.addType(name, schemas[name])); + } + + typeToSchemaName(name) { + return name.replace('|','_'); + } + + addType(name,schema) { + const schemaName=this.typeToSchemaName(name); + if(this.typesSchemas[schemaName] != undefined) + return; + + if(!schema) { // default schema + schema={ + "oneOf":[ + {"enum":[name]}, + { + "type": "array", + "items": [ + {"enum":[name]}, + {"oneOf":[{"type": "object"},{"type": "array"}]} + ] + } + ]}; + } + + this.typesSchemas[schemaName]=schema; + + // recreate ajv instance to recompile dataType (and all depending types) when adding a type + if(this.compiled) + this.createAjvInstance(this.typesSchemas); + else { + this.ajv.addSchema(schema, schemaName); + } + + + this.ajv.removeSchema("dataType"); + this.ajv.addSchema({ + "title": "dataType", + "oneOf": [{"enum":["native"]}].concat(Object.keys(this.typesSchemas).map(name => ({"$ref": this.typeToSchemaName(name)}))) + },"dataType"); + } + + validateType(type) { + let valid = this.ajv.validate("dataType",type); + this.compiled=true; + if(!valid) { + console.log(JSON.stringify(this.ajv.errors[0],null,2)); + if(this.ajv.errors[0]['parentSchema']['title']=="dataType") { + this.validateTypeGoingInside(this.ajv.errors[0]['data']); + } + throw new Error("validation error"); + } + } + + validateTypeGoingInside(type) { + if(Array.isArray(type)) { + assert.ok(this.typesSchemas[this.typeToSchemaName(type[0])]!=undefined,type+" is an undefined type"); + + let valid = this.ajv.validate(type[0],type); + this.compiled=true; + if(!valid) { + console.log(JSON.stringify(this.ajv.errors[0],null,2)); + if(this.ajv.errors[0]['parentSchema']['title']=="dataType") { + this.validateTypeGoingInside(this.ajv.errors[0]['data']); + } + throw new Error("validation error"); + } + } + else { + if(type=="native") + return; + assert.ok(this.typesSchemas[this.typeToSchemaName(type)]!=undefined,type+" is an undefined type"); + } + } + + validateProtocol(protocol) { + // 1. validate with protocol schema with basic datatype def + let valid = this.ajv.validate("protocol",protocol); + assert.ok(valid, JSON.stringify(this.ajv.errors,null,2)); + + + // 2. recursively create several validator from current one and validate that + function validateTypes(p,originalValidator,path) { + const v=new Validator(originalValidator.typesSchemas); + Object.keys(p).forEach(k => { + if(k=="types") { + // 2 steps for recursive types + Object.keys(p[k]).forEach(typeName => v.addType(typeName)); + Object.keys(p[k]).forEach(typeName => { + try { + v.validateType(p[k][typeName], path + "." + k + "." + typeName); + } + catch(e) { + throw new Error("Error at "+path + "." + k + "." + typeName); + } + }); + } + else { + validateTypes(p[k],v,path+"."+k); + } + }) + } + validateTypes(protocol,this,"root"); + } +} + +module.exports=Validator; diff --git a/node_modules/protodef-validator/package.json b/node_modules/protodef-validator/package.json new file mode 100644 index 00000000..24e29f8d --- /dev/null +++ b/node_modules/protodef-validator/package.json @@ -0,0 +1,61 @@ +{ + "_from": "protodef-validator@^1.2.2", + "_id": "protodef-validator@1.2.3", + "_inBundle": false, + "_integrity": "sha512-dMcSMYRh8s0z0iQN0PLVlXwJOgN8cgBuM1uWzhMjkLdpKCOASwp+h7wHnTigBTRVhGLywykcb3EKiGSsXX4vvA==", + "_location": "/protodef-validator", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "protodef-validator@^1.2.2", + "name": "protodef-validator", + "escapedName": "protodef-validator", + "rawSpec": "^1.2.2", + "saveSpec": null, + "fetchSpec": "^1.2.2" + }, + "_requiredBy": [ + "/protodef" + ], + "_resolved": "https://registry.npmjs.org/protodef-validator/-/protodef-validator-1.2.3.tgz", + "_shasum": "101a42269b999d115b9fd612a94dd1871fa1254f", + "_spec": "protodef-validator@^1.2.2", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\protodef", + "author": { + "name": "Romain Beaumont", + "email": "romain.rom1@gmail.com", + "url": "" + }, + "bin": { + "protodef-validator": "cli.js" + }, + "bugs": { + "url": "https://github.com/ProtoDef-io/node-protodef-validator/issues" + }, + "bundleDependencies": false, + "dependencies": { + "ajv": "^6.5.4" + }, + "deprecated": false, + "description": "Validate ProtoDef protocol definition in node", + "homepage": "https://github.com/ProtoDef-io/node-protodef-validator#readme", + "keywords": [ + "protodef", + "type", + "serialization", + "schema", + "json" + ], + "license": "MIT", + "main": "index.js", + "name": "protodef-validator", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/ProtoDef-io/node-protodef-validator.git" + }, + "scripts": { + "test": "node example.js" + }, + "version": "1.2.3" +} diff --git a/node_modules/protodef/.circleci/config.yml b/node_modules/protodef/.circleci/config.yml new file mode 100644 index 00000000..6447df45 --- /dev/null +++ b/node_modules/protodef/.circleci/config.yml @@ -0,0 +1,19 @@ +version: 2 + +jobs: + build: + parallelism: 1 + docker: + - image: circleci/node:10 + steps: + - checkout + - restore_cache: + key: dependency-cache-{{ checksum "package.json" }} + - run: git submodule sync --recursive && git submodule update --recursive --init + - run: npm i + - save_cache: + key: dependency-cache-{{ checksum "package.json" }} + paths: + - ./node_modules + - run: npm test + - run: npm run benchmark diff --git a/node_modules/protodef/.gitmodules b/node_modules/protodef/.gitmodules new file mode 100644 index 00000000..973487df --- /dev/null +++ b/node_modules/protodef/.gitmodules @@ -0,0 +1,3 @@ +[submodule "ProtoDef"] + path = ProtoDef + url = https://github.com/ProtoDef-io/ProtoDef.git diff --git a/node_modules/protodef/.gitpod.yml b/node_modules/protodef/.gitpod.yml new file mode 100644 index 00000000..38fc373b --- /dev/null +++ b/node_modules/protodef/.gitpod.yml @@ -0,0 +1,2 @@ +tasks: +- command: npm install diff --git a/node_modules/protodef/LICENSE b/node_modules/protodef/LICENSE new file mode 100644 index 00000000..e158005c --- /dev/null +++ b/node_modules/protodef/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 ProtoDef-io + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/protodef/ProtoDef/README.md b/node_modules/protodef/ProtoDef/README.md new file mode 100644 index 00000000..2a10864c --- /dev/null +++ b/node_modules/protodef/ProtoDef/README.md @@ -0,0 +1,28 @@ +# ProtoDef + +ProtoDef specification: describe your protocol, and read it with ease. + +## Implementations + +| Implementation | Language | Method | +| --- | --- | --- | +| [node-protodef](https://github.com/ProtoDef-io/node-protodef) | Node.js | interpretation | +| [elixir-protodef](https://github.com/ProtoDef-io/elixir-protodef) | Elixir | compilation | + +## Documentation + +Read the [datatypes](doc/datatypes.md) and [protocol](doc/protocol.md) documentation. + +The [schemas](schemas) directory contain json schema of the json representation of a datatype definition. + +## Projects Using ProtoDef + +* [minecraft-protocol](https://github.com/PrismarineJS/node-minecraft-protocol) defines a protocol.json by minecraft version and use ProtoDef to serialize and parse packets + * the protocol.json files are stored in [minecraft-data](https://github.com/PrismarineJS/minecraft-data/blob/master/data/1.8/protocol.json) + * and they can be visualized automatically in this [doc](http://prismarinejs.github.io/minecraft-data/?d=protocol) +* [prismarine-nbt](https://github.com/PrismarineJS/prismarine-nbt) defined a nbt.json to parse and serialize the NBT format +* [mineflayer](https://github.com/PrismarineJS/mineflayer/blob/master/lib/plugins/command_block.js) uses ProtoDef to parse plugin messages +* [minecraft-protocol-forge](https://github.com/PrismarineJS/node-minecraft-protocol-forge) parses and serialize forge plugin messages +* [node-raknet](https://github.com/mhsjlw/node-raknet) describe the raknet protocol in a protocol.json and uses ProtoDef to read it +* [minecraft-classic-protocol](https://github.com/mhsjlw/minecraft-classic-protocol) defines the classic minecraft protocol with ProtoDef +* [pocket-minecraft-protocol](https://github.com/mhsjlw/pocket-minecraft-protocol) defines the minecraft pocket edition protocol diff --git a/node_modules/protodef/ProtoDef/doc/datatypes.md b/node_modules/protodef/ProtoDef/doc/datatypes.md new file mode 100644 index 00000000..e48cb9fc --- /dev/null +++ b/node_modules/protodef/ProtoDef/doc/datatypes.md @@ -0,0 +1,292 @@ +# Datatypes + +Protodef has a number of useful default datatypes. + +## Conditional + +### switch + +switch make it possible to choose a datatype depending on the value of an other field. +It is similar to the switch/case syntax. +It takes 3 arguments: + +* compareTo : the value is the other field +* compareToValue : an optional property (it's either compareTo or compareToValue) that allows the comparison to be made with a value instead of an other field +* fields : an object mapping the values to the types +* default : an optional property saying the type taken if the value doesn't fit into the cases + +Example: + +A switch which can encode a byte, a varint, a float or a string depending on "someField". +If the value of someField is different, then the value encoded is of type void. + +```json +[ + "switch", + { + "compareTo": "someField", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string" + }, + "default": "void" + } +] +``` + +Example of value: `4.5` + +### option + +option represents a simple optional type. It's encoded as a boolean indicating whether the value is there or not. +It's similar to the Optional type in java or Maybe in haskell. +It takes only one argument : the type of the value. + +Example: + +An option of value string + +```json +[ + "option", + "cstring" +] +``` + +Example of value: `"my string"` + +## Numeric + +These datatypes don't take any arguments. They represent numbers. + +| Name | Size in bytes | Example of value | Also called | +| --- | --- | --- | --- | +| i8 | 1 | -125 | byte | +| u8 | 1 | 255 | unsigned byte | +| i16 | 2 | -32000 | short | +| u16 | 2 | 60000 | unsigned short | +| i32 | 4 | -2000000000 | int | +| u32 | 4 | 3000000000 | unsigned int | +| f32 | 4 | 4.5 | float | +| f64 | 8 | 4.5 | double | +| i64 | 8 | 1 | long | +| u64 | 8 | 1 | unsigned long | +| li8 | 1 | -125 | little endian byte | +| lu8 | 1 | 255 | little endian unsigned byte | +| li16 | 2 | -32000 | little endian short | +| lu16 | 2 | 60000 | little endian unsigned short | +| li32 | 4 | -2000000000 | little endian int | +| lu32 | 4 | 3000000000 | little endian unsigned int | +| lf32 | 4 | 4.5 | little endian float | +| lf64 | 8 | 4.5 | little endian double | +| li64 | 8 | 1 | little endian long | +| lu64 | 8 | 1 | little endian unsigned long | + +## Structures + +### array + +array represents a list of values. + +It takes for arguments: + +* type : the type of the element +* countType : the type of the length prefix +* count : optional (either count or countType), a reference to the field counting the elements, or a fixed size (an integer) + +See [Counting](#counting) + +Example: + +An array of int prefixed by a short length. +```json +[ + "array", + { + "countType": "i16", + "type": "i32" + } +] +``` + +Example of value: `[1,2,3,4]` + +### count + +It represents a count field for an array or a buffer. + +Example: + +A count for a field name records, of type short. +```json +[ + "count", + { + "type": "i16", + "countFor": "records" + } +] +``` + +Example of value: `5` + +### container + +It represents a list of named values. It takes for argument these values with their types and names. + +Example: + +A container with fields of type int, int, ushort and ushort. +```json +[ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "bitMap", + "type": "u16" + }, + { + "name": "addBitMap", + "type": "u16" + } + ] +] +``` + +Example of value: `{"x":10,"z":10,"bitMap":10,"addBitMap":10}` + +## Utils + +### varint + +A variable-length number representation. + +Size: between 1 and 5 + +Example of value : `5` + +### bool + +A boolean, encoded in one byte. + +Example of value : `true` + +### pstring + +A length prefixed string. It takes one argument : the type of the length prefix. +It is usually used to define a "string" type that can be used without argument. + +The count can also be defined in different ways, see [Counting](#counting). + +Example: + +A string length prefixed by a varint. +```json +[ + "pstring",{ + "countType":"varint" + } +] +``` + +Example of value: `"my string"` + +### buffer + +buffer represents a Buffer + +It takes for arguments: + +* countType : the type of the length prefix +* count : optional (either count or countType), a reference to the field counting the elements, or a fixed size (an integer) + +See [Counting](#counting) + +Example: + +An buffer prefixed by a varint length. +```json +[ + "buffer", + { + "countType": "varint" + } +] +``` + +Example of value: `new Buffer([0x01,0x02,0x03])` + +### void + +void represents an empty value. It has a size of 0. + +Example of value: `undefined` + +### bitfield + +bitfield represents a list of value with sizes that are not a multiple of 8bits. +It takes for argument a list of values with: +* a size +* a name +* signed +The sum of the sizes must be a multiple of 8. + +Example: + +3 values, x, y and z with sizes in bits : 26, 12, 26. Notice that 26+12+26=64. +```json +["bitfield", [ + { "name": "x", "size": 26, "signed": true }, + { "name": "y", "size": 12, "signed": true }, + { "name": "z", "size": 26, "signed": true } + ]] +``` + +Example of value: `{"x":10,"y":10,"z":10}` + +### cstring + +cstring represents a null terminated string. Similar to strings in C. + +Example of value: "my string" + +### mapper + +mappers maps values. It takes as argument the type of the input, and a mappings object with the values to map. + +Example: + +Maps a byte to a string, 1 to "byte", 2 to "short", 3 to "int", 4 to "long". +```json +[ + "mapper", + { + "type": "i8", + "mappings": { + "1": "byte", + "2": "short", + "3": "int", + "4": "long" + } + } +] +``` + +Example of value: `3` + +# Common datatypes arguments + +## Counting + +* countType : the type of the length prefix +* count : optional (either count or countType), a reference to the field counting the elements, or a fixed size (an integer) diff --git a/node_modules/protodef/ProtoDef/doc/protocol.md b/node_modules/protodef/ProtoDef/doc/protocol.md new file mode 100644 index 00000000..926b5c46 --- /dev/null +++ b/node_modules/protodef/ProtoDef/doc/protocol.md @@ -0,0 +1,10 @@ +# Protocol + +ProtoDef defines a protocol json format. It organizes types in namespaces. + +The protocol object is an object with keys `types` and namespace keys. + +* The value of the `types` key is an object of type name to type definition. +* The value of the namespace key is a protocol object. + +See [protocol_schema.json](../schemas/protocol_schema.json) for a json schema definition of this format. diff --git a/node_modules/protodef/ProtoDef/schemas/conditional.json b/node_modules/protodef/ProtoDef/schemas/conditional.json new file mode 100644 index 00000000..78ad12e3 --- /dev/null +++ b/node_modules/protodef/ProtoDef/schemas/conditional.json @@ -0,0 +1,43 @@ +{ + "switch":{ + "title": "switch", + "type": "array", + "items":[ + {"enum":["switch"]}, + { + "type":"object", + "properties": { + "compareTo":{"$ref": "definitions#/definitions/contextualizedFieldName"}, + "compareToValue":{"type":"string"}, + "fields":{ + "type":"object", + "patternProperties" : { + "^[-a-zA-Z0-9 _:]+$":{"$ref": "dataType"} + }, + "additionalProperties": false + }, + "default":{"$ref": "dataType"} + }, + "oneOf":[ + { + "required":["compareTo","fields"] + }, + { + "required":["compareToValue","fields"] + } + ], + "additionalProperties": false + } + ], + "additionalItems": false + }, + "option":{ + "title": "option", + "type": "array", + "items":[ + {"enum":["option"]}, + {"$ref": "dataType"} + ], + "additionalItems": false + } +} \ No newline at end of file diff --git a/node_modules/protodef/ProtoDef/schemas/datatype.json b/node_modules/protodef/ProtoDef/schemas/datatype.json new file mode 100644 index 00000000..e6324185 --- /dev/null +++ b/node_modules/protodef/ProtoDef/schemas/datatype.json @@ -0,0 +1,42 @@ +{ + "title": "datatype", + "description":"default dataTypes", + "oneOf":[ + {"$ref": "switch"}, + {"$ref": "option"}, + + {"$ref": "i8"}, + {"$ref": "u8"}, + {"$ref": "i16"}, + {"$ref": "u16"}, + {"$ref": "i32"}, + {"$ref": "u32"}, + {"$ref": "f32"}, + {"$ref": "f64"}, + {"$ref": "li8"}, + {"$ref": "lu8"}, + {"$ref": "li16"}, + {"$ref": "lu16"}, + {"$ref": "li32"}, + {"$ref": "lu32"}, + {"$ref": "lf32"}, + {"$ref": "lf64"}, + {"$ref": "i64"}, + {"$ref": "li64"}, + {"$ref": "u64"}, + {"$ref": "lu64"}, + + {"$ref": "array"}, + {"$ref": "count"}, + {"$ref": "container"}, + + {"$ref": "varint"}, + {"$ref": "bool"}, + {"$ref": "pstring"}, + {"$ref": "buffer"}, + {"$ref": "void"}, + {"$ref": "bitfield"}, + {"$ref": "cstring"}, + {"$ref": "mapper"} + ] +} \ No newline at end of file diff --git a/node_modules/protodef/ProtoDef/schemas/definitions.json b/node_modules/protodef/ProtoDef/schemas/definitions.json new file mode 100644 index 00000000..de47ca20 --- /dev/null +++ b/node_modules/protodef/ProtoDef/schemas/definitions.json @@ -0,0 +1,24 @@ +{ + "title": "definitions", + "definitions": { + "contextualizedFieldName": { + "type": "string", + "pattern": "^(this\\.)?.+$" + }, + "dataTypeArgsCount": { + "oneOf": [ + { + "$ref": "#/definitions/contextualizedFieldName" + }, + { + "type": "number" + } + ] + }, + "fieldName": { + "type": "string", + "pattern": "^[a-zA-Z0-9_]+$" + } + }, + "type":"object" +} \ No newline at end of file diff --git a/node_modules/protodef/ProtoDef/schemas/numeric.json b/node_modules/protodef/ProtoDef/schemas/numeric.json new file mode 100644 index 00000000..6e6e04d9 --- /dev/null +++ b/node_modules/protodef/ProtoDef/schemas/numeric.json @@ -0,0 +1,22 @@ +{ + "i8":{"enum":["i8"]}, + "u8":{"enum":["u8"]}, + "i16":{"enum":["i16"]}, + "u16":{"enum":["u16"]}, + "i32":{"enum":["i32"]}, + "u32":{"enum":["u32"]}, + "f32":{"enum":["f32"]}, + "f64":{"enum":["f64"]}, + "li8":{"enum":["li8"]}, + "lu8":{"enum":["lu8"]}, + "li16":{"enum":["li16"]}, + "lu16":{"enum":["lu16"]}, + "li32":{"enum":["li32"]}, + "lu32":{"enum":["lu32"]}, + "lf32":{"enum":["lf32"]}, + "lf64":{"enum":["lf64"]}, + "i64":{"enum":["i64"]}, + "li64":{"enum":["li64"]}, + "u64":{"enum":["u64"]}, + "lu64":{"enum":["lu64"]} +} \ No newline at end of file diff --git a/node_modules/protodef/ProtoDef/schemas/protocol_schema.json b/node_modules/protodef/ProtoDef/schemas/protocol_schema.json new file mode 100644 index 00000000..e102250a --- /dev/null +++ b/node_modules/protodef/ProtoDef/schemas/protocol_schema.json @@ -0,0 +1,27 @@ +{ + "title": "protocol", + "type": "object", + "properties":{ + "types":{ + "type": "object", + "patternProperties": { + "^[0-9a-zA-Z_]+$": { + "oneOf":[ + {"type":"string"}, + { + "type": "array", + "items": [ + {"type":"string"}, + {"oneOf":[{"type": "object"},{"type": "array"}]} + ] + } + ]} + }, + "additionalProperties": false + } + }, + "patternProperties": { + "^(?!types)[a-zA-Z_]+$": {"$ref": "#"} + }, + "additionalProperties": false +} diff --git a/node_modules/protodef/ProtoDef/schemas/structures.json b/node_modules/protodef/ProtoDef/schemas/structures.json new file mode 100644 index 00000000..52002ff9 --- /dev/null +++ b/node_modules/protodef/ProtoDef/schemas/structures.json @@ -0,0 +1,95 @@ +{ + "array":{ + "title": "array", + "type":"array", + "items":[ + {"enum":["array"]}, + { + "oneOf":[ + { + "type":"object", + "properties":{ + "type": {"$ref": "dataType"}, + "countType": {"$ref": "dataType"} + }, + "additionalProperties": false, + "required":["type","countType"] + }, + { + "type":"object", + "properties":{ + "type": {"$ref": "dataType"}, + "count": {"$ref": "definitions#/definitions/dataTypeArgsCount"} + }, + "additionalProperties": false, + "required":["type","count"] + } + ] + } + ], + "additionalItems": false + }, + "count":{ + "title": "count", + "type": "array", + "items":[ + {"enum":["count"]}, + { + "type": "object", + "properties": { + "countFor": {"$ref":"definitions#/definitions/contextualizedFieldName"}, + "type": {"$ref": "dataType"} + }, + "required": ["countFor", "type"], + "additionalProperties": false + } + ], + "additionalItems": false + }, + "container":{ + "title": "container", + "type": "array", + "items": [ + { + "enum": [ + "container" + ] + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "anon": { + "type": "boolean" + }, + "name": { + "$ref": "definitions#/definitions/fieldName" + }, + "type": { + "$ref": "dataType" + } + }, + "oneOf": [ + { + "required": [ + "anon" + ] + }, + { + "required": [ + "name" + ] + } + ], + "required": [ + "type" + ], + "additionalProperties": false + }, + "additionalItems": false + } + ], + "additionalItems": false + } +} \ No newline at end of file diff --git a/node_modules/protodef/ProtoDef/schemas/utils.json b/node_modules/protodef/ProtoDef/schemas/utils.json new file mode 100644 index 00000000..f71398ec --- /dev/null +++ b/node_modules/protodef/ProtoDef/schemas/utils.json @@ -0,0 +1,114 @@ +{ + "varint":{"enum":["varint"]}, + "bool":{"enum":["bool"]}, + "pstring":{ + "title": "pstring", + "type": "array", + "items":[ + {"enum":["pstring"]}, + { + "oneOf":[ + { + "type":"object", + "properties":{ + "countType": {"$ref": "dataType"} + }, + "additionalProperties": false, + "required":["countType"] + }, + { + "type":"object", + "properties":{ + "count": {"$ref": "definitions#/definitions/dataTypeArgsCount"} + }, + "additionalProperties": false, + "required":["count"] + } + ] + } + ], + "additionalItems": false + }, + "buffer":{ + "title": "buffer", + "type":"array", + "items":[ + {"enum":["buffer"]}, + { + "oneOf":[ + { + "type": "object", + "properties": { + "countType": {"$ref": "dataType"} + }, + "additionalProperties": false, + "required": [ + "countType" + ] + }, + { + "type": "object", + "properties": { + "count": {"$ref": "definitions#/definitions/dataTypeArgsCount"} + }, + "additionalProperties": false, + "required": [ + "count" + ] + } + ] + } + ] + }, + "void":{"enum":["void"]}, + "bitfield":{ + "title": "bitfield", + "type": "array", + "items": [ + { "enum": ["bitfield"] }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": {"$ref": "definitions#/definitions/fieldName"}, + "size": {"type": "number"}, + "signed": {"type": "boolean"} + }, + "required": [ + "name", + "size", + "signed" + ], + "additionalProperties": false + }, + "additionalItems": false + } + ], + "additionalItems": false + }, + "cstring":{"enum":["cstring"]}, + "mapper":{ + "title": "mapper", + "type": "array", + "items":[ + {"enum":["mapper"]}, + { + "type":"object", + "properties": { + "type":{"$ref": "dataType"}, + "mappings":{ + "type":"object", + "patternProperties" : { + "^[-a-zA-Z0-9 _]+$":{"type":"string"} + }, + "additionalProperties": false + } + }, + "required":["type","mappings"], + "additionalProperties": false + } + ], + "additionalItems": false + } +} \ No newline at end of file diff --git a/node_modules/protodef/ProtoDef/test/conditional.json b/node_modules/protodef/ProtoDef/test/conditional.json new file mode 100644 index 00000000..bff8dbf2 --- /dev/null +++ b/node_modules/protodef/ProtoDef/test/conditional.json @@ -0,0 +1,68 @@ +[ + { + "type":"switch", + "subtypes":[ + { + "description": "container including a switch going to u8, u16 or u32", + "type": ["container", + [ + { + "name":"action", + "type":"u8" + }, + { + "name":"result", + "type":["switch", + { + "compareTo":"action", + "fields":{ + "0":"u8", + "1":"u16", + "2":"u32" + } + } + ] + } + ] + ], + "values":[ + { + "description":"u8", + "value":{ + "action":0, + "result":3 + }, + "buffer":["0x00","0x03"] + }, + { + "description":"u32", + "value":{ + "action":2, + "result":4294966272 + }, + "buffer":["0x02","0xff","0xff","0xfc","0x00"] + } + ] + } + ] + }, + { + "type":"option", + "subtypes":[ + { + "description":"optional u16", + "type":["option","u16"], + "values":[ + { + "value":61303, + "buffer":["0x01", "0xef","0x77"] + }, + { + "value": null, + "buffer":["0x00"] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/node_modules/protodef/ProtoDef/test/datatype_tests_schema.json b/node_modules/protodef/ProtoDef/test/datatype_tests_schema.json new file mode 100644 index 00000000..449d0b93 --- /dev/null +++ b/node_modules/protodef/ProtoDef/test/datatype_tests_schema.json @@ -0,0 +1,96 @@ +{ + "title": "datatype tests", + "type": "array", + "uniqueItems": true, + "definitions":{ + "datatype_test":{ + "oneOf":[ + {"$ref" : "#/definitions/test_simple_datatype"}, + {"$ref": "#/definitions/test_complex_datatype"} + ] + }, + "test_simple_datatype":{ + "title": "test simple datatype", + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "values": {"$ref" : "#/definitions/test_values"} + }, + "required": [ + "type", + "values" + ], + "additionalProperties": false + }, + "test_complex_datatype":{ + "title": "test simple datatype", + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "subtypes": { + "type":"array", + "items":{ + "title": "subtype test", + "type": "object", + "properties": { + "description":{ + "type":"string" + }, + "type": { + "type": ["object","array"] + }, + "values": {"$ref" : "#/definitions/test_values"} + }, + "required": [ + "description", + "type", + "values" + ], + "additionalProperties": false + } + } + }, + "required": [ + "type", + "subtypes" + ], + "additionalProperties": false + }, + + "test_values":{ + "type":"array", + "items":{ + "title": "test value", + "type": "object", + "properties": { + "description": { + "type":"string" + }, + "value": { + "type":[ "array", "boolean", "integer", "null", "number", "object", "string" ] + }, + "buffer":{ + "type":"array", + "additionalItems":false, + "items":{ + "type":"string", + "pattern": "^0x[0-9a-fA-F]{2}$" + } + } + }, + "required": [ + "value", + "buffer" + ], + "additionalProperties": false + }, + "additionalItems":false + } + }, + "items" : {"$ref" : "#/definitions/datatype_test"}, + "additionalItems":false +} \ No newline at end of file diff --git a/node_modules/protodef/ProtoDef/test/numeric.json b/node_modules/protodef/ProtoDef/test/numeric.json new file mode 100644 index 00000000..7e70b1c8 --- /dev/null +++ b/node_modules/protodef/ProtoDef/test/numeric.json @@ -0,0 +1,534 @@ +[ + { + "type": "i8", + "values": [ + { + "description": "positive", + "buffer": [ + "0x3d" + ], + "value": 61 + }, + { + "description": "negative", + "buffer": [ + "0x86" + ], + "value": -122 + } + ] + }, + { + "type": "u8", + "values": [ + { + "description": "positive", + "buffer": [ + "0x3d" + ], + "value": 61 + }, + { + "description": "negative", + "buffer": [ + "0x86" + ], + "value": 134 + } + ] + }, + { + "type": "i16", + "values": [ + { + "description": "positive", + "buffer": [ + "0x30", + "0x87" + ], + "value": 12423 + }, + { + "description": "negative", + "buffer": [ + "0xef", + "0x77" + ], + "value": -4233 + } + ] + }, + { + "type": "u16", + "values": [ + { + "description": "positive", + "buffer": [ + "0x30", + "0x87" + ], + "value": 12423 + }, + { + "description": "negative", + "buffer": [ + "0xef", + "0x77" + ], + "value": 61303 + } + ] + }, + { + "type": "i32", + "values": [ + { + "description": "positive", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0xea" + ], + "value": 234 + }, + { + "description": "negative", + "buffer": [ + "0xff", + "0xff", + "0xfc", + "0x00" + ], + "value": -1024 + } + ] + }, + { + "type": "u32", + "values": [ + { + "description": "positive", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0xea" + ], + "value": 234 + }, + { + "description": "negative", + "buffer": [ + "0xff", + "0xff", + "0xfc", + "0x00" + ], + "value": 4294966272 + } + ] + }, + { + "type": "f32", + "values": [ + { + "description": "positive", + "buffer": [ + "0x47", + "0x05", + "0xc3", + "0x00" + ], + "value": 34243 + }, + { + "description": "negative", + "buffer": [ + "0xc6", + "0x42", + "0x4c", + "0x00" + ], + "value": -12435 + } + ] + }, + { + "type": "f64", + "values": [ + { + "description": "positive", + "buffer": [ + "0x40", + "0xe0", + "0xb8", + "0x60", + "0x00", + "0x00", + "0x00", + "0x00" + ], + "value": 34243 + }, + { + "description": "negative", + "buffer": [ + "0xc0", + "0xc8", + "0x49", + "0x80", + "0x00", + "0x00", + "0x00", + "0x00" + ], + "value": -12435 + } + ] + }, + { + "type": "i64", + "values": [ + { + "description": "small", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0xff" + ], + "value": [ + 0, + 255 + ] + }, + { + "description": "big", + "buffer": [ + "0x81", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00" + ], + "value": [ + -2130706432, + 0 + ] + } + ] + }, + { + "type": "u64", + "values": [ + { + "description": "small", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0xff" + ], + "value": [ + 0, + 255 + ] + }, + { + "description": "big", + "buffer": [ + "0x7f", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00" + ], + "value": [ + 2130706432, + 0 + ] + } + ] + }, + { + "type": "li8", + "values": [ + { + "description": "positive", + "buffer": [ + "0x3d" + ], + "value": 61 + }, + { + "description": "negative", + "buffer": [ + "0x86" + ], + "value": -122 + } + ] + }, + { + "type": "lu8", + "values": [ + { + "description": "positive", + "buffer": [ + "0x3d" + ], + "value": 61 + }, + { + "description": "negative", + "buffer": [ + "0x86" + ], + "value": 134 + } + ] + }, + { + "type": "li16", + "values": [ + { + "description": "positive", + "buffer": [ + "0x87", + "0x30" + ], + "value": 12423 + }, + { + "description": "negative", + "buffer": [ + "0x77", + "0xef" + ], + "value": -4233 + } + ] + }, + { + "type": "lu16", + "values": [ + { + "description": "positive", + "buffer": [ + "0x87", + "0x30" + ], + "value": 12423 + }, + { + "description": "negative", + "buffer": [ + "0x77", + "0xef" + ], + "value": 61303 + } + ] + }, + { + "type": "li32", + "values": [ + { + "description": "positive", + "buffer": [ + "0xea", + "0x00", + "0x00", + "0x00" + ], + "value": 234 + }, + { + "description": "negative", + "buffer": [ + "0x00", + "0xfc", + "0xff", + "0xff" + ], + "value": -1024 + } + ] + }, + { + "type": "lu32", + "values": [ + { + "description": "positive", + "buffer": [ + "0xea", + "0x00", + "0x00", + "0x00" + ], + "value": 234 + }, + { + "description": "negative", + "buffer": [ + "0x00", + "0xfc", + "0xff", + "0xff" + ], + "value": 4294966272 + } + ] + }, + { + "type": "lf32", + "values": [ + { + "description": "positive", + "buffer": [ + "0x00", + "0xc3", + "0x05", + "0x47" + ], + "value": 34243 + }, + { + "description": "negative", + "buffer": [ + "0x00", + "0x4c", + "0x42", + "0xc6" + ], + "value": -12435 + } + ] + }, + { + "type": "lf64", + "values": [ + { + "description": "positive", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0x00", + "0x60", + "0xb8", + "0xe0", + "0x40" + ], + "value": 34243 + }, + { + "description": "negative", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0x00", + "0x80", + "0x49", + "0xc8", + "0xc0" + ], + "value": -12435 + } + ] + }, + { + "type": "li64", + "values": [ + { + "description": "small", + "buffer": [ + "0xff", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00" + ], + "value": [ + 0, + 255 + ] + }, + { + "description": "big", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x81" + ], + "value": [ + -2130706432, + 0 + ] + } + ] + }, + { + "type": "lu64", + "values": [ + { + "description": "small", + "buffer": [ + "0xff", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00" + ], + "value": [ + 0, + 255 + ] + }, + { + "description": "big", + "buffer": [ + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x00", + "0x7f" + ], + "value": [ + 2130706432, + 0 + ] + } + ] + } +] \ No newline at end of file diff --git a/node_modules/protodef/ProtoDef/test/structures.json b/node_modules/protodef/ProtoDef/test/structures.json new file mode 100644 index 00000000..390386ef --- /dev/null +++ b/node_modules/protodef/ProtoDef/test/structures.json @@ -0,0 +1,139 @@ +[ + { + "type":"container", + "subtypes":[ + { + "description":"simple container with 2 u8 and one varint", + "type":[ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "values":[ + { + "value":{ + "horizontalPos":56, + "y":25, + "blockId":5 + }, + "buffer":["0x38","0x19","0x05"] + } + ] + }, + { + "description":"set_protocol", + "type":[ + "container", + [ + { + "name": "protocolVersion", + "type": "varint" + }, + { + "name": "serverHost", + "type": ["pstring",{ + "countType":"varint" + }] + }, + { + "name": "serverPort", + "type": "u16" + }, + { + "name": "nextState", + "type": "varint" + } + ] + ], + "values":[ + { + "value":{ + "protocolVersion":47, + "serverHost":"127.0.0.1", + "serverPort":25565, + "nextState":1 + }, + "buffer":["0x2f","0x09","0x31","0x32","0x37","0x2e","0x30","0x2e","0x30","0x2e","0x31","0x63","0xdd","0x01"] + } + ] + } + ] + }, + { + "type":"count", + "subtypes":[ + { + "description":"a container with a count, a second field and an array using the count", + "type":["container", + [ + { + "name":"number", + "type":["count", + { + "type":"u8", + "countFor":"records" + } + ] + }, + { + "name":"diameter", + "type":"u8" + }, + { + "name":"records", + "type":["array", + { + "count":"number", + "type":"u8" + } + ] + } + ] + ], + "values":[ + { + "value":{ + "number":2, + "diameter":5, + "records":[1,2] + }, + "buffer":["0x02","0x05","0x01","0x02"] + } + ] + } + ] + }, + { + "type":"array", + "subtypes":[ + { + "description": "a simple u16 prefixed array of u8", + "type":[ + "array", + { + "countType": "u16", + "type": "u8" + } + ], + "values":[ + { + "value":[1,2,3,4], + "buffer":["0x00","0x04","0x01","0x02","0x03","0x04"] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/node_modules/protodef/ProtoDef/test/utils.json b/node_modules/protodef/ProtoDef/test/utils.json new file mode 100644 index 00000000..abdcb69b --- /dev/null +++ b/node_modules/protodef/ProtoDef/test/utils.json @@ -0,0 +1,371 @@ +[ + { + "type":"bool", + "values":[ + { + "description":"binary 0 is false", + "buffer":[ + "0x00" + ], + "value": false + }, + { + "description":"1 is true", + "buffer":[ + "0x01" + ], + "value": true + } + ] + }, + { + "type":"varint", + "values":[ + { + "description":"8-bit integer", + "value":1, + "buffer":["0x01"] + }, + { + "description":"8-bit maximum integer", + "value":127, + "buffer":["0x7f"] + }, + { + "description":"16-bit integer", + "value":300, + "buffer":["0xac", "0x02"] + }, + { + "description":"24-bit integer", + "value":100000, + "buffer":["0xa0", "0x8d", "0x06"] + }, + { + "description":"32-bit integer", + "value":16909060, + "buffer":["0x84", "0x86", "0x88", "0x08"] + }, + { + "description":"negative integer", + "value":-1, + "buffer":["0xff", "0xff", "0xff", "0xff", "0x0f"] + }, + { + "description":"maximum varint", + "value":2147483647, + "buffer":["0xff", "0xff", "0xff", "0xff", "0x07"] + }, + { + "description":"minimum varint", + "value":-2147483648, + "buffer":["0x80", "0x80", "0x80", "0x80", "0x08"] + } + ] + }, + { + "type":"buffer", + "subtypes":[ + { + "description":"a fixed size buffer", + "type":["buffer", + { + "count":3 + } + ], + "values":[ + { + "value":["0x05","0x10","0xAE"], + "buffer":["0x05","0x10","0xAE"] + } + ] + }, + { + "description":"an u8 prefixed buffer", + "type":["buffer", + { + "countType":"u8" + } + ], + "values":[ + { + "value":["0x05","0x10","0xAE"], + "buffer":["0x03","0x05","0x10","0xAE"] + } + ] + } + ] + }, + { + "type":"pstring", + "subtypes":[ + { + + "description":"fixed size string", + "type":[ + "pstring",{ + "count":6 + } + ], + "values":[ + { + "description":"simple hello", + "buffer":[ "0x48", "0x65", "0x6C", "0x6C", "0x6F", "0x21"], + "value":"Hello!" + } + ] + }, + { + "description":"i16 prefixed string", + "type":[ + "pstring",{ + "countType":"i16" + } + ], + "values":[ + { + "description":"simple hello", + "buffer":["0x00","0x06", "0x48", "0x65", "0x6C", "0x6C", "0x6F", "0x21"], + "value":"Hello!" + }, + { + "description":"japanese", + "buffer":["0x00","0x10", "0xE3", "0x81", "0x93", "0xE3", "0x82", "0x93", "0xE3", "0x81", + "0xAB", "0xE3", "0x81", "0xA1", "0xE3", "0x81", "0xAF", "0x21"], + "value":"こんにちは!" + } + ] + }, + { + "description":"varint prefixed string", + "type":[ + "pstring",{ + "countType":"varint" + } + ], + "values":[ + { + "description":"simple hello", + "buffer":["0x06", "0x48", "0x65", "0x6C", "0x6C", "0x6F", "0x21"], + "value":"Hello!" + }, + { + "description":"japanese", + "buffer":["0x10", "0xE3", "0x81", "0x93", "0xE3", "0x82", "0x93", "0xE3", "0x81", + "0xAB", "0xE3", "0x81", "0xA1", "0xE3", "0x81", "0xAF", "0x21"], + "value":"こんにちは!" + } + ] + } + ] + }, + { + "type":"cstring", + "values":[ + { + "description":"simple hello", + "buffer":["0x48", "0x65", "0x6C", "0x6C", "0x6F", "0x21","0x00"], + "value":"Hello!" + }, + { + "description":"japanese", + "buffer":["0xE3", "0x81", "0x93", "0xE3", "0x82", "0x93", "0xE3", "0x81", + "0xAB", "0xE3", "0x81", "0xA1", "0xE3", "0x81", "0xAF", "0x21","0x00"], + "value":"こんにちは!" + } + ] + }, + { + "type":"void", + "values":[ + { + "description":"undefined", + "buffer":[], + "value":null + } + ] + }, + { + "type":"bitfield", + "subtypes":[ + { + "description":"an unsigned 8 bit number", + "type":[ + "bitfield",[ + { + "name": "one", + "size": 8, + "signed": false + } + ] + ], + "values":[ + { + "buffer":[ + "0xff" + ], + "value":{ + "one": 255 + } + } + ] + }, + { + "description":"a signed 8 bit number", + "type":[ + "bitfield",[ + { + "name": "one", + "size": 8, + "signed": true + } + ] + ], + "values":[ + { + "buffer":[ + "0xff" + ], + "value":{ + "one": -1 + } + } + ] + }, + { + "description":"multiple signed 8 bit numbers", + "type":[ + "bitfield",[ + { "name": "one", "size": 8, "signed": true }, + { "name": "two", "size": 8, "signed": true }, + { "name": "three", "size": 8, "signed": true } + ] + ], + "values":[ + { + "buffer": [ + "0xff", + "0x80", + "0x12" + ], + "value": { + "one": -1, + "two": -128, + "three": 18 + } + } + ] + }, + { + "description":"multiple unsigned 4 bit numbers", + "type":[ + "bitfield",[ + { "name": "one", "size": 4, "signed": false }, + { "name": "two", "size": 4, "signed": false }, + { "name": "three", "size": 4, "signed": false } + ] + ], + "values":[ + { + "buffer":[ + "0xff", + "0x80" + ], + "value":{ "one": 15, "two": 15, "three": 8 } + } + ] + }, + { + "description":"multiple signed 4 bit numbers", + "type":[ + "bitfield",[ + { "name": "one", "size": 4, "signed": true }, + { "name": "two", "size": 4, "signed": true }, + { "name": "three", "size": 4, "signed": true } + ] + ], + "values":[ + { + "buffer":[ + "0xff", + "0x80" + ], + "value":{ "one": -1, "two": -1, "three": -8 } + } + ] + }, + { + "description":"an unsigned 12 bit number", + "type":[ + "bitfield",[ + { "name": "one", "size": 12, "signed": false } + ] + ], + "values":[ + { + "buffer":[ + "0xff", + "0x80" + ], + "value":{ "one": 4088 } + } + ] + }, + { + "description":"a complex structure", + "type":[ + "bitfield",[ + { "name": "x", "size": 26, "signed": true }, + { "name": "y", "size": 12, "signed": true }, + { "name": "z", "size": 26, "signed": true } + ] + ], + "values":[ + { + "buffer":[ + "0x00", + "0x00", + "0x03", + "0x05", + "0x30", + "0x42", + "0xE0", + "0x65" + ], + "value":{ "x": 12, "y": 332, "z": 4382821 } + } + ] + } + ] + }, + { + "type":"mapper", + "subtypes":[ + { + "description": "a mapper mapping 0 to zero, 1 to one and 2 to two", + "type": ["mapper", + { + "type":"u8", + "mappings":{ + "0":"zero", + "1":"one", + "2":"two" + } + } + ], + "values":[ + { + "description":"zero", + "value":"zero", + "buffer":["0x00"] + }, + { + "description":"two", + "value":"two", + "buffer":["0x02"] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/node_modules/protodef/README.md b/node_modules/protodef/README.md new file mode 100644 index 00000000..5882b80c --- /dev/null +++ b/node_modules/protodef/README.md @@ -0,0 +1,47 @@ +# ProtoDef +[![NPM version](https://img.shields.io/npm/v/protodef.svg)](http://npmjs.com/package/protodef) +[![Discord](https://img.shields.io/badge/chat-on%20discord-brightgreen.svg)](https://discord.gg/GsEFRM8) +[![Gitter](https://img.shields.io/badge/chat-on%20gitter-brightgreen.svg)](https://gitter.im/PrismarineJS/general) +[![Irc](https://img.shields.io/badge/chat-on%20irc-brightgreen.svg)](https://irc.gitter.im/) +[![Build Status](https://img.shields.io/circleci/project/github/ProtoDef-io/node-protodef/master.svg)](https://circleci.com/gh/ProtoDef-io/node-protodef) +[![Tonic](https://img.shields.io/badge/tonic-try%20it-blue.svg)](https://tonicdev.com/npm/protodef) +[![Try it on gitpod](https://img.shields.io/badge/try-on%20gitpod-brightgreen.svg)](https://gitpod.io/#https://github.com/ProtoDef-io/node-protodef) + +This is a node.js module to simplify defining, reading and writing binary blobs, +whether they be internet protocols or files. + +## Installing + +``` +npm install ProtoDef +``` + + +## Usage + +See [example](example.js) + +## Documentation + +See the language independent [ProtoDef](https://github.com/ProtoDef-io/ProtoDef) specification. + +* [api.md](doc/api.md) documents the exposed functions and classes +* [compiler.md](doc/compiler.md) documents the ProtoDef Compiler +* [datatypes.md](https://github.com/ProtoDef-io/ProtoDef/blob/master/doc/datatypes.md) documents the default datatypes provided by Protodef. +* [newDatatypes.md](doc/newDatatypes.md) explains how to create new datatypes for protodef +* [history.md](doc/history.md) is the releases history + +## Projects Using ProtoDef + +* [minecraft-protocol](https://github.com/PrismarineJS/node-minecraft-protocol) defines a protocol.json by minecraft version and use ProtoDef to serialize and parse packets + * the protocol.json files are stored in [minecraft-data](https://github.com/PrismarineJS/minecraft-data/blob/master/data/pc/1.8/protocol.json) + * and they can be visualized automatically in this [doc](http://prismarinejs.github.io/minecraft-data/?d=protocol) +* [prismarine-nbt](https://github.com/PrismarineJS/prismarine-nbt) defined a nbt.json to parse and serialize the NBT format +* [mineflayer](https://github.com/PrismarineJS/mineflayer/blob/master/lib/plugins/command_block.js) uses ProtoDef to parse plugin messages +* [minecraft-protocol-forge](https://github.com/PrismarineJS/node-minecraft-protocol-forge) parses and serialize forge plugin messages +* [node-raknet](https://github.com/mhsjlw/node-raknet) describe the raknet protocol in a protocol.json and uses ProtoDef to read it +* [minecraft-classic-protocol](https://github.com/mhsjlw/minecraft-classic-protocol) defines the classic minecraft protocol with ProtoDef +* [pocket-minecraft-protocol](https://github.com/mhsjlw/pocket-minecraft-protocol) defines the minecraft pocket edition protocol +* [diablo2-protocol](https://github.com/MephisTools/diablo2-protocol) Diablo 2 network protocol +* [dofus-protocol](https://github.com/AstrubTools/dofus-protocol) Network protocol for dofus : create client and servers for dofus 1.30 + diff --git a/node_modules/protodef/benchmark/benchmark_all_types.js b/node_modules/protodef/benchmark/benchmark_all_types.js new file mode 100644 index 00000000..a73f4d3d --- /dev/null +++ b/node_modules/protodef/benchmark/benchmark_all_types.js @@ -0,0 +1,84 @@ +/* eslint-env mocha */ + +const { testData, proto, compiledProto } = require('../test/dataTypes/prepareTests') +const Benchmark = require('benchmark') + +it('reads', function () { + this.timeout(1000 * 60 * 10) + const readSuite = new Benchmark.Suite() + readSuite.add('read', function () { + testData.forEach(tests => { + tests.data.forEach(test => { + test.subtypes.forEach(subType => { + subType.values.forEach((value) => { + proto.parsePacketBuffer(subType.type, value.buffer) + }) + }) + }) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) +}) + +it('writes', function () { + this.timeout(1000 * 60 * 10) + const writeSuite = new Benchmark.Suite() + writeSuite.add('write', function () { + testData.forEach(tests => { + tests.data.forEach(test => { + test.subtypes.forEach(subType => { + subType.values.forEach((value) => { + proto.createPacketBuffer(subType.type, value.value) + }) + }) + }) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) +}) + +it('reads (compiled)', function () { + this.timeout(1000 * 60 * 10) + const readSuite = new Benchmark.Suite() + readSuite.add('read (compiled)', function () { + testData.forEach(tests => { + tests.data.forEach(test => { + test.subtypes.forEach(subType => { + subType.values.forEach((value) => { + compiledProto.parsePacketBuffer(subType.type, value.buffer) + }) + }) + }) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) +}) + +it('writes (compiled)', function () { + this.timeout(1000 * 60 * 10) + const writeSuite = new Benchmark.Suite() + writeSuite.add('write (compiled)', function () { + testData.forEach(tests => { + tests.data.forEach(test => { + test.subtypes.forEach(subType => { + subType.values.forEach((value) => { + compiledProto.createPacketBuffer(subType.type, value.value) + }) + }) + }) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) +}) diff --git a/node_modules/protodef/benchmark/benchmark_by_kind.js b/node_modules/protodef/benchmark/benchmark_by_kind.js new file mode 100644 index 00000000..3bf4ce63 --- /dev/null +++ b/node_modules/protodef/benchmark/benchmark_by_kind.js @@ -0,0 +1,78 @@ +/* eslint-env mocha */ + +const { testData, proto, compiledProto } = require('../test/dataTypes/prepareTests') +const Benchmark = require('benchmark') + +testData.forEach(tests => { + describe(tests.kind, function () { + this.timeout(1000 * 60 * 10) + + it('reads', function () { + const readSuite = new Benchmark.Suite() + readSuite.add('read', function () { + tests.data.forEach(test => { + test.subtypes.forEach(subType => { + subType.values.forEach((value) => { + proto.parsePacketBuffer(subType.type, value.buffer) + }) + }) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) + + it('writes', function () { + const writeSuite = new Benchmark.Suite() + writeSuite.add('write', function () { + tests.data.forEach(test => { + test.subtypes.forEach(subType => { + subType.values.forEach((value) => { + proto.createPacketBuffer(subType.type, value.value) + }) + }) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) + + it('reads (compiled)', function () { + const readSuite = new Benchmark.Suite() + readSuite.add('read (compiled)', function () { + tests.data.forEach(test => { + test.subtypes.forEach(subType => { + subType.values.forEach((value) => { + compiledProto.parsePacketBuffer(subType.type, value.buffer) + }) + }) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) + + it('writes (compiled)', function () { + const writeSuite = new Benchmark.Suite() + writeSuite.add('write (compiled)', function () { + tests.data.forEach(test => { + test.subtypes.forEach(subType => { + subType.values.forEach((value) => { + compiledProto.createPacketBuffer(subType.type, value.value) + }) + }) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) + }) +}) diff --git a/node_modules/protodef/benchmark/benchmark_by_subtype.js b/node_modules/protodef/benchmark/benchmark_by_subtype.js new file mode 100644 index 00000000..bf531aa4 --- /dev/null +++ b/node_modules/protodef/benchmark/benchmark_by_subtype.js @@ -0,0 +1,76 @@ +/* eslint-env mocha */ + +const { testData, proto, compiledProto } = require('../test/dataTypes/prepareTests') +const Benchmark = require('benchmark') + +function testType (type, values) { + it('reads', function () { + const readSuite = new Benchmark.Suite() + readSuite.add('read', function () { + values.forEach((value) => { + proto.parsePacketBuffer(type, value.buffer) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) + + it('writes', function () { + const writeSuite = new Benchmark.Suite() + writeSuite.add('write', function () { + values.forEach((value) => { + proto.createPacketBuffer(type, value.value) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) + + it('reads (compiled)', function () { + const readSuite = new Benchmark.Suite() + readSuite.add('read (compiled)', function () { + values.forEach((value) => { + compiledProto.parsePacketBuffer(type, value.buffer) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) + + it('writes (compiled)', function () { + const writeSuite = new Benchmark.Suite() + writeSuite.add('write (compiled)', function () { + values.forEach((value) => { + compiledProto.createPacketBuffer(type, value.value) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) +} + +testData.forEach(tests => { + describe(tests.kind, function () { + this.timeout(1000 * 60 * 10) + + tests.data.forEach(test => { + describe(test.type, () => { + test.subtypes.forEach((subtype) => { + if (subtype.description) { + describe(subtype.description, () => { + testType(subtype.type, subtype.values) + }) + } else { testType(subtype.type, subtype.values) } + }) + }) + }) + }) +}) diff --git a/node_modules/protodef/benchmark/benchmark_by_test.js b/node_modules/protodef/benchmark/benchmark_by_test.js new file mode 100644 index 00000000..f13bc21c --- /dev/null +++ b/node_modules/protodef/benchmark/benchmark_by_test.js @@ -0,0 +1,76 @@ +/* eslint-env mocha */ + +const { testData, proto, compiledProto } = require('../test/dataTypes/prepareTests') +const Benchmark = require('benchmark') + +function testValue (type, value, buffer) { + it('writes', function () { + const suite = new Benchmark.Suite() + suite.add('writes', function () { + proto.createPacketBuffer(type, value) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) + it('reads', function () { + const suite = new Benchmark.Suite() + suite.add('read', function () { + proto.parsePacketBuffer(type, buffer) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) + + it('writes (compiled)', function () { + const suite = new Benchmark.Suite() + suite.add('writes (compiled)', function () { + compiledProto.createPacketBuffer(type, value) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) + it('reads (compiled)', function () { + const suite = new Benchmark.Suite() + suite.add('read (compiled)', function () { + compiledProto.parsePacketBuffer(type, buffer) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) +} + +function testType (type, values) { + values.forEach((value) => { + if (value.description) { + describe(value.description, () => { + testValue(type, value.value, value.buffer) + }) + } else { testValue(type, value.value, value.buffer) } + }) +} + +testData.forEach(tests => { + describe(tests.kind, function () { + this.timeout(1000 * 60 * 10) + + tests.data.forEach(test => { + describe(test.type, () => { + test.subtypes.forEach((subtype) => { + if (subtype.description) { + describe(subtype.description, () => { + testType(subtype.type, subtype.values) + }) + } else { testType(subtype.type, subtype.values) } + }) + }) + }) + }) +}) diff --git a/node_modules/protodef/benchmark/benchmark_by_type.js b/node_modules/protodef/benchmark/benchmark_by_type.js new file mode 100644 index 00000000..60d72e96 --- /dev/null +++ b/node_modules/protodef/benchmark/benchmark_by_type.js @@ -0,0 +1,74 @@ +/* eslint-env mocha */ + +const { testData, proto, compiledProto } = require('../test/dataTypes/prepareTests') +const Benchmark = require('benchmark') + +testData.forEach(tests => { + describe(tests.kind, function () { + this.timeout(1000 * 60 * 10) + + tests.data.forEach(test => { + describe(test.type, () => { + it('reads', function () { + const readSuite = new Benchmark.Suite() + readSuite.add('read', function () { + test.subtypes.forEach(subType => { + subType.values.forEach((value) => { + proto.parsePacketBuffer(subType.type, value.buffer) + }) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) + + it('writes', function () { + const writeSuite = new Benchmark.Suite() + writeSuite.add('write', function () { + test.subtypes.forEach(subType => { + subType.values.forEach((value) => { + proto.createPacketBuffer(subType.type, value.value) + }) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) + + it('reads (compiled)', function () { + const readSuite = new Benchmark.Suite() + readSuite.add('read (compiled)', function () { + test.subtypes.forEach(subType => { + subType.values.forEach((value) => { + compiledProto.parsePacketBuffer(subType.type, value.buffer) + }) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) + + it('writes (compiled)', function () { + const writeSuite = new Benchmark.Suite() + writeSuite.add('write (compiled)', function () { + test.subtypes.forEach(subType => { + subType.values.forEach((value) => { + compiledProto.createPacketBuffer(subType.type, value.value) + }) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) + }) + }) + }) + }) +}) diff --git a/node_modules/protodef/benchmark/benchmark_unified.js b/node_modules/protodef/benchmark/benchmark_unified.js new file mode 100644 index 00000000..15aa1d4d --- /dev/null +++ b/node_modules/protodef/benchmark/benchmark_unified.js @@ -0,0 +1,46 @@ +/* eslint-env mocha */ + +const { testData, proto, compiledProto } = require('../test/dataTypes/prepareTests') +const Benchmark = require('benchmark') + +it('read/write', function () { + this.timeout(1000 * 60 * 10) + const suite = new Benchmark.Suite() + suite.add('read/write', function () { + testData.forEach(tests => { + tests.data.forEach(test => { + test.subtypes.forEach(subType => { + subType.values.forEach((value) => { + proto.parsePacketBuffer(subType.type, value.buffer) + proto.createPacketBuffer(subType.type, value.value) + }) + }) + }) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) +}) + +it('read/write (compiled)', function () { + this.timeout(1000 * 60 * 10) + const suite = new Benchmark.Suite() + suite.add('read/write (compiled)', function () { + testData.forEach(tests => { + tests.data.forEach(test => { + test.subtypes.forEach(subType => { + subType.values.forEach((value) => { + compiledProto.parsePacketBuffer(subType.type, value.buffer) + compiledProto.createPacketBuffer(subType.type, value.value) + }) + }) + }) + }) + }) + .on('cycle', function (event) { + console.log(String(event.target)) + }) + .run({ 'async': false }) +}) diff --git a/node_modules/protodef/doc/api.md b/node_modules/protodef/doc/api.md new file mode 100644 index 00000000..d6cc40f9 --- /dev/null +++ b/node_modules/protodef/doc/api.md @@ -0,0 +1,115 @@ +# API + +## ProtoDef(validation=true) + +### ProtoDef.addType(name,functions,validate=true) + +Add the type `name` with the data `functions` which can be either: +* "native" : that type is already implemented by ProtoDef +* a js object defining a type based on other already defined types +* `[read,write,sizeOf[,schema]]` functions +* a validate boolean : to check the validity of the type against its schema or not + +See [newDataTypes.md](newDataTypes.md) for more details. + +### ProtoDef.addTypes(types) + +Add `types` which is an object with keys the name of the types and values the type definitions. + +### ProtoDef.addProtocol(protocol,path) + +Add types in `protocol` recursively. The protocol object is an object with keys `types` and namespace keys. +* The value of the `types` key is an object of type name to type definition. +* The value of the namespace key is a protocol object. + +The `path` is an array of namespace keys which select a path of namespaces to be added to the protodef object. + +See full_protocol.js for an example of usage. + +### ProtoDef.read(buffer, cursor, _fieldInfo, rootNodes) + +Read the packet defined by `_fieldInfo` in `buffer` starting from `cursor` using the context `rootNodes`. + +### ProtoDef.write(value, buffer, offset, _fieldInfo, rootNode) + +Write the packet defined by `_fieldInfo` in `buffer` starting from `offset` with the value `value` and context `rootNode` + +### ProtoDef.sizeOf(value, _fieldInfo, rootNode) + +Size of the packet `value` defined by `_fieldInfo` with context `rootNode` + +### ProtoDef.createPacketBuffer(type,packet) + +Returns a buffer of the `packet` for `type`. + +### ProtoDef.parsePacketBuffer(type,buffer) + +Returns a parsed packet of `buffer` for `type`. + +## Serializer(proto,mainType) + +Create a serializer of `mainType` defined in `proto`. This is a Transform stream. + +### Serializer.createPacketBuffer(packet) + +Returns a buffer of the `packet`. + +## Parser(proto,mainType) + +Create a parser of `mainType` defined in `proto`. This is a Transform stream. + +### Parser.parsePacketBuffer(buffer) + +Returns a parsed packet of `buffer`. + +## types + +An object mapping the default type names to the corresponding `[read,write,sizeOf]` functions. + +## ProtoDefCompiler + +### ProtoDefCompiler.addTypes(types) + +Add `types` which is an object with keys the name of the types and values the type definitions. + +### ProtoDefCompiler.addProtocol(protocol,path) + +Add types in `protocol` recursively. The protocol object is an object with keys `types` and namespace keys. +* The value of the `types` key is an object of type name to type definition. +* The value of the namespace key is a protocol object. + +The `path` is an array of namespace keys which select a path of namespaces to be added to the protodef object. + +### ProtoDefCompiler.compileProtoDefSync(options = { printCode: false }) + +Compile and return a `ProtoDef` object, optionaly print the generated javascript code. + +## utils + +Some functions that can be useful to build new datatypes reader and writer. + +### utils.getField(countField, context) + +Get `countField` given `context`. Example: "../field" will get "field" one level above. + +### utils.getFieldInfo(fieldInfo) + +Takes `fieldInfo` as : +* `"type"` +* `["type",typeArgs]` +* `{ type: "type", typeArgs: typeArgs }` + +Returns `{ type: "type", typeArgs: typeArgs }` + +### utils.addErrorField(e, field) + +Add `field` to error `e` and throw e. + +### utils.tryCatch(tryfn, catchfn) + +A simple tryCatch function, useful for optimization. +returns what tryfn returns + +### utils.tryDoc(tryfn, field) + +Try `tryfn`, it it fails, use addErrorField with `field` diff --git a/node_modules/protodef/doc/compiler.md b/node_modules/protodef/doc/compiler.md new file mode 100644 index 00000000..bb1af166 --- /dev/null +++ b/node_modules/protodef/doc/compiler.md @@ -0,0 +1,207 @@ +# Using the ProtoDef compiler + +The ProtoDef compiler can convert your protocol JSON into javascript code that can read and write buffers directly instead of using the ProtoDef interpreter. Depending on the types, the expected speedups are in the range of x10 - x100. + +## Simple usage + +Let's take a simple ProtoDef definition and convert it to use the ProtoDef compiler: + +ProtoDef: +```javascript +const ProtoDef = require('protodef').ProtoDef + +// Create a ProtoDef instance +const proto = new ProtoDef() +proto.addTypes(require('./protocol.json')) + +// Encode and decode a message +const buffer = proto.createPacketBuffer('mainType', result) +const result = proto.parsePacketBuffer('mainType', buffer) +``` + +ProtoDef Compiler: +```javascript +const { ProtoDefCompiler } = require('protodef').Compiler + +// Create a ProtoDefCompiler instance +const compiler = new ProtoDefCompiler() +compiler.addTypesToCompile(require('./protocol.json')) + +// Compile a ProtoDef instance +const compiledProto = await compiler.compileProtoDef() + +// Use it as if it were a normal ProtoDef +const buffer = compiledProto.createPacketBuffer('mainType', result) +const result = compiledProto.parsePacketBuffer('mainType', buffer) +``` + +## New datatypes + +Like the ProtoDef interpreter, the ProtoDef compiler can be extended with custom datatypes. To register a custom type, use the `addTypes(types)` method of the ProtoDef compiler. The `types` parameter is an object with the following structure: + +```javascript +{ + Read: { + 'type1': ['native', /* implementation */], + 'type2': ['context', /* implementation */], + 'type3': ['parametrizable', /* implementation */], + /* ... */ + }, + + Write: { + 'type1': ['native', /* implementation */], + 'type2': ['context', /* implementation */], + 'type3': ['parametrizable', /* implementation */], + /* ... */ + }, + + SizeOf: { + 'type1': ['native', /* implementation */], + 'type2': ['context', /* implementation */], + 'type3': ['parametrizable', /* implementation */], + /* ... */ + } +} +``` + +The types can be divided into 3 categories: + +### Native Type + +A native type is a type read or written by a function that will be called in its original context. Use this when you need access to external definitions. + +Example: +```javascript +const UUID = require('uuid-1345') + +{ + Read: { + 'UUID': ['native', (buffer, offset) => { + return { + value: UUID.stringify(buffer.slice(offset, 16 + offset)), // A native type can access all captured definitions + size: 16 + } + }] + }, + Write: { + 'UUID': ['native', (value, buffer, offset) => { + const buf = UUID.parse(value) + buf.copy(buffer, offset) + return offset + 16 + }] + }, + SizeOf: { + 'UUID': ['native', 16] // For SizeOf, a native type can be a function or directly an integer + } +} +``` + +The native types implementations are compatible with the native functions of the ProtoDef interpreter, and can reuse them. + +### Context Type + +A context type is a type that will be called in the protocol's context. It can refer to registred native types using `native.{type}()` or context types (provided and generated) using `ctx.{type}()`, but cannot access its original context. + +Example: +```javascript +const originalContextDefinition = require('something') +/* global ctx */ +{ + Read: { + 'compound': ['context', (buffer, offset) => { + // originalContextDefinition.someting() // BAD: originalContextDefinition cannot be accessed in a context type + const results = { + value: {}, + size: 0 + } + while (true) { + const typ = ctx.i8(buffer, offset) // Access to a native type (that was copied in the context) + if (typ.value === 0) { + results.size += typ.size + break + } + + const readResults = ctx.nbt(buffer, offset) // Access to a type that was compiled and placed in the context + offset += readResults.size + results.size += readResults.size + results.value[readResults.value.name] = { + type: readResults.value.type, + value: readResults.value.value + } + } + return results + }] + }, + + Write: { + 'compound': ['context', (value, buffer, offset) => { + for (const key in value) { + offset = ctx.nbt({ + name: key, + type: value[key].type, + value: value[key].value + }, buffer, offset) + } + offset = ctx.i8(0, buffer, offset) + return offset + }] + }, + + SizeOf: { + 'compound': ['context', (value) => { + let size = 1 + for (const key in value) { + size += ctx.nbt({ + name: key, + type: value[key].type, + value: value[key].value + }) + } + return size + }] + } +} +``` + +### Parametrized Type + +A parametrizable type is a function that will be generated at compile time using the provided maker function. + +Example: +```javascript +{ + Read: { + 'option': ['parametrizable', (compiler, type) => { + let code = 'const {value} = ctx.bool(buffer, offset)\n' + code += 'if (value) {\n' + code += ' const { value, size } = ' + compiler.callType(type) + '\n' + code += ' return { value, size: size + 1 }\n' + code += '}\n' + code += 'return { value: undefined, size: 1}' + return compiler.wrapCode(code) + }] + }, + + Write: { + 'option': ['parametrizable', (compiler, type) => { + let code = 'if (value !== null) {\n' + code += ' offset = ctx.bool(1, buffer, offset)\n' + code += ' offset = ' + compiler.callType('value', type) + '\n' + code += '} else {\n' + code += ' offset = ctx.bool(0, buffer, offset)\n' + code += '}\n' + code += 'return offset' + return compiler.wrapCode(code) + }] + }, + + SizeOf: { + 'option': ['parametrizable', (compiler, type) => { + let code = 'if (value !== null) {\n' + code += ' return 1 + ' + compiler.callType('value', type) + '\n' + code += '}' + code += 'return 0' + return compiler.wrapCode(code) + }] + } +``` diff --git a/node_modules/protodef/doc/history.md b/node_modules/protodef/doc/history.md new file mode 100644 index 00000000..c713f76f --- /dev/null +++ b/node_modules/protodef/doc/history.md @@ -0,0 +1,191 @@ +# History + +## 1.8.3 + +* in full packet parser don't error out in case of missing bytes + +## 1.8.2 + +* fixed aliases in compiler for write and size (thanks @Karang) + +## 1.8.1 + +* fixed to aliases in compiler (thanks @Karang) + +## 1.8.0 + +* add option not to log partial packets in full chunk parser + +## 1.7.2 + +* remove closure compiler + +## 1.7.1 + +* fix option in compiler + +## 1.7.0 + +* Add js compiler protodef implementation, that is 10x faster (thanks @Karang for this huge improvement !) + +## 1.6.10 + +* include .json files with the suffix + +## 1.6.9 + +* use standard style + +## 1.6.8 + +* update deps + +## 1.6.7 + +* stringify packet data before displaying it for an error of wrong length for fullpacketserializer + +## 1.6.6 + +* fix release + +## 1.6.5 + +* fix fullpacketparser error emission in case of partial packet + +## 1.6.4 + +* improve fullpacketparser error + +## 1.6.3 + +* fix fullpacketparser error + +## 1.6.2 + +* improve fullpacketparser error + +## 1.6.1 + +* fix FullPacketParser hiding errors + +## 1.6.0 + +* add full packet parser + +## 1.5.1 + +* fix optional validation + +## 1.5.0 + +* validation is now optional (opt-out) + +## 1.4.0 + +* implement aliases + +## 1.3.1 + +* fix countType : now behave as an ordinary type, remove undocumented countTypeArgs + +## 1.3.0 + +* validate types against type schemas using the protodef validator + +## 1.2.3 + +* fix sendCount : write return the offset, not the size, add a test for this + +## 1.2.2 + +* stop swallowing errors in parser and serializer + +## 1.2.1 + +* add li8, lu8 and u64, lu64 for consistency + +## 1.2.0 + +* all datatypes are tested +* fix cstring +* fix PartialReadError in i64 +* remove special count +* use protodef spec +* add little endian numerical types + +## 1.1.2 + +* allow hex values in mappings + +## 1.1.1 + +* update some more dependencies + +## 1.1.0 + +* update to babel6, remove some dependencies + +## 1.0.3 + +* fix slice the buffer in parsePacketBuffer + +## 1.0.2 + +* slice the buffer in parsePacketBuffer + +## 1.0.1 + +* let the parser error out without crashing on errors + +## 1.0.0 + +* change the name of numerical types +* add doc + + +## 0.3.0 + +* add partial packet support + +## 0.2.6 + +* add compareToValue (optional) option to switch + +## 0.2.5 + +* fix small error in switch + +## 0.2.4 + +* get back the example file as one file for simplicity and for tonic + +## 0.2.3 + +* fix a small mistake in mapping error +* improve internal code +* improve example +* integrate with tonicdev + +## 0.2.2 + +* Fix writeOption : the offset wasn't properly updated + +## 0.2.1 + +* Anon fields may now be null/undefined. + +## 0.2.0 + +* add createPacketBuffer and parsePacketBuffer to ProtoDef class +* expose utils functions +* add mapper and pstring datatypes + +## 0.1.0 + +* add the serializer and parser +* expose the default datatypes +* add an example + +## 0.0.1 + +* basic version, mostly contain the ProtoDef class and the datatype diff --git a/node_modules/protodef/doc/newDatatypes.md b/node_modules/protodef/doc/newDatatypes.md new file mode 100644 index 00000000..9cd10ab2 --- /dev/null +++ b/node_modules/protodef/doc/newDatatypes.md @@ -0,0 +1,124 @@ +# New datatypes + +You can create new datatypes for Protodef. + +Three functions need to be created to define a datatype. + +An optional `schema` property can be added to validate whether the type is used properly in new types. +It must be defined as a json schema. See the [ProtoDef](https://github.com/ProtoDef-io/ProtoDef) repo for schema examples of existing types. + +## read + +read takes 4 arguments: + +* buffer : the buffer from which to read the data +* offset : where to start reading the buffer +* typeArgs : (optional) the arguments passed to the type +* context : (optional) an object to get values previously read in the containing type + +It must returns an object with two values: +* value : the read value +* size : the number of bytes read by the buffer + +Example: + +That read function has 2 typeArgs : type and endVal. +It increases the value of a cursor in order to eventually return the size. +The PartialReadError error needs to be thrown if buffer doesn't contain enough bytes. + +```js +function readEntityMetadata(buffer, offset, {type,endVal}) { + let cursor = offset; + const metadata = []; + let item; + while(true) { + if(offset+1>buffer.length) + throw new PartialReadError(); + item = buffer.readUInt8(cursor); + if(item === endVal) { + return { + value: metadata, + size: cursor + 1 - offset + }; + } + const results = this.read(buffer, cursor, type, {}); + metadata.push(results.value); + cursor += results.size; + } +} +``` + +Useful function: this.read which takes 5 arguments: + +* buffer : the buffer from which to read the data +* offset : where to start reading the buffer +* type : the type to read +* typeArgs : (optional) the arguments passed to the type +* context : (optional) an object to get values previously read in the containing type + +Can be used to read already existing datatype. + +## write + +write takes 5 arguments: + +* value : the value to be written +* buffer : the buffer to write in +* offset : the offset at which to write in the buffer +* typeArgs : (optional) the arguments passed to the type +* context : (optional) an object to get values previously read in the containing type + +It must return the offset increased with the number of bytes written. + +Example: + +This write function updates the offset at each this.write called. +```js +function writeEntityMetadata(value, buffer, offset, {type,endVal}) { + const self = this; + value.forEach(function(item) { + offset = self.write(item, buffer, offset, type, {}); + }); + buffer.writeUInt8(endVal, offset); + return offset + 1; +} +``` + +Useful function: this.write which takes 6 arguments: + +* value : the value to be written +* buffer : the buffer to write in +* offset : the offset at which to write in the buffer +* type : the type to write +* typeArgs : (optional) the arguments passed to the type +* context : (optional) an object to get values previously written in the containing type + +## sizeOf + +sizeOf takes 3 arguments: + +* value : the value for which to compute the buffer size +* typeArgs : (optional) the arguments passed to the type +* context : (optional) an object to get values previously read in the containing type + +It must return the size of the buffer needed to write the given value. + +Example: + +This sizeOf function calls this.sizeOf to get the size of each value and return the sum. +```js +function sizeOfEntityMetadata(value, {type}) { + let size = 1; + for(let i = 0; i < value.length; ++i) { + size += this.sizeOf(value[i], type, {}); + } + return size; +} +``` + +Useful function : this.sizeOf which takes 4 arguments: + +* value : the value for which to compute the buffer size +* type : the type to get the size of +* typeArgs : (optional) the arguments passed to the type +* context : (optional) an object to get values previously written in the containing type diff --git a/node_modules/protodef/example.js b/node_modules/protodef/example.js new file mode 100644 index 00000000..e701a439 --- /dev/null +++ b/node_modules/protodef/example.js @@ -0,0 +1,82 @@ +const ProtoDef = require('protodef').ProtoDef +const Serializer = require('protodef').Serializer +const Parser = require('protodef').Parser + +// the protocol can be in a separate json file +const exampleProtocol = { + 'container': 'native', + 'varint': 'native', + 'byte': 'native', + 'bool': 'native', + 'switch': 'native', + 'entity_look': [ + 'container', + [ + { + 'name': 'entityId', + 'type': 'varint' + }, + { + 'name': 'yaw', + 'type': 'i8' + }, + { + 'name': 'pitch', + 'type': 'i8' + }, + { + 'name': 'onGround', + 'type': 'bool' + } + ] + ], + 'packet': [ + 'container', + [ + { + 'name': 'name', + 'type': [ + 'mapper', + { + 'type': 'varint', + 'mappings': { + '22': 'entity_look' + } + } + ] + }, + { + 'name': 'params', + 'type': [ + 'switch', + { + 'compareTo': 'name', + 'fields': { + 'entity_look': 'entity_look' + } + } + ] + } + ] + ] +} + +const proto = new ProtoDef() +proto.addTypes(exampleProtocol) +const parser = new Parser(proto, 'packet') +const serializer = new Serializer(proto, 'packet') + +serializer.write({ + name: 'entity_look', + params: { + 'entityId': 1, + 'yaw': 1, + 'pitch': 1, + 'onGround': true + } +}) +serializer.pipe(parser) + +parser.on('data', function (chunk) { + console.log(JSON.stringify(chunk, null, 2)) +}) diff --git a/node_modules/protodef/examples/compiled.js b/node_modules/protodef/examples/compiled.js new file mode 100644 index 00000000..37e1d6cc --- /dev/null +++ b/node_modules/protodef/examples/compiled.js @@ -0,0 +1,58 @@ +const ProtoDef = require('protodef').ProtoDef +const { performance } = require('perf_hooks') +const { ProtoDefCompiler } = require('protodef').Compiler + +const exampleProtocol = require('./example_protocol.json') +const mainType = 'packet' +const packetData = { + name: 'entity_look', + params: { + 'entityId': 1, + 'yaw': 1, + 'pitch': 1, + 'onGround': true, + 'position': { + x: 42, + y: 255, + z: -1337 + } + } +}; + +(async () => { + const proto = new ProtoDef() + proto.addTypes(exampleProtocol) + + const compiler = new ProtoDefCompiler() + compiler.addTypesToCompile(exampleProtocol) + const compiledProto = await compiler.compileProtoDef() + + const buffer = proto.createPacketBuffer(mainType, packetData) + const result = compiledProto.parsePacketBuffer(mainType, buffer).data + console.log(JSON.stringify(result, null, 2)) + const buffer2 = compiledProto.createPacketBuffer(mainType, packetData) + const result2 = proto.parsePacketBuffer(mainType, buffer2).data + console.log(JSON.stringify(result2, null, 2)) + + const nbTests = 10000000 + console.log('Running ' + nbTests + ' tests') + let start, time, ps + + start = performance.now() + for (let i = 0; i < nbTests; i++) { + let result = compiledProto.parsePacketBuffer(mainType, buffer).data + compiledProto.createPacketBuffer(mainType, result) + } + time = performance.now() - start + ps = nbTests / time + console.log('read / write compiled: ' + time.toFixed(2) + ' ms (' + ps.toFixed(2) + 'k packet/s)') + + start = performance.now() + for (let i = 0; i < nbTests / 10; i++) { // less tests otherwise too long + const result = proto.parsePacketBuffer(mainType, buffer).data + proto.createPacketBuffer(mainType, result) + } + time = performance.now() - start + ps = nbTests / 10 / time + console.log('read / write parser: ' + time.toFixed(2) + ' ms (' + ps.toFixed(2) + 'k packet/s)') +})() diff --git a/node_modules/protodef/examples/error_handling.js b/node_modules/protodef/examples/error_handling.js new file mode 100644 index 00000000..37114fc2 --- /dev/null +++ b/node_modules/protodef/examples/error_handling.js @@ -0,0 +1,33 @@ +const ProtoDef = require('protodef').ProtoDef +const Serializer = require('protodef').Serializer +const Parser = require('protodef').Parser + +const exampleProtocol = require('./example_protocol.json') + +const proto = new ProtoDef() +proto.addTypes(exampleProtocol) +const parser = new Parser(proto, 'packet') +const serializer = new Serializer(proto, 'packet') + +serializer.write({ + name: 'entity_look', + params: { + 'entityId': 1, + 'yaw': 1, + 'pitch': 1, + 'onGround': true + } +}) + +parser.on('error', function (err) { + console.log(err.stack) + console.log(err.buffer) +}) + +parser.write(Buffer.from([0x17, 0x01, 0x01, 0x01, 0x01])) + +serializer.pipe(parser) + +parser.on('data', function (chunk) { + console.log(JSON.stringify(chunk.data, null, 2)) +}) diff --git a/node_modules/protodef/examples/example_protocol.json b/node_modules/protodef/examples/example_protocol.json new file mode 100644 index 00000000..77efba7d --- /dev/null +++ b/node_modules/protodef/examples/example_protocol.json @@ -0,0 +1,66 @@ +{ + "container": "native", + "varint": "native", + "byte": "native", + "bool": "native", + "switch": "native", + "entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + }, + { + "name": "position", + "type": + ["bitfield", [ + { "name": "x", "size": 26, "signed": true }, + { "name": "y", "size": 12, "signed": true }, + { "name": "z", "size": 26, "signed": true } + ]] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "22": "entity_look" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "entity_look": "entity_look" + } + } + ] + } + ] + ] +} \ No newline at end of file diff --git a/node_modules/protodef/examples/full_protocol.js b/node_modules/protodef/examples/full_protocol.js new file mode 100644 index 00000000..6aad290b --- /dev/null +++ b/node_modules/protodef/examples/full_protocol.js @@ -0,0 +1,29 @@ +const ProtoDef = require('protodef').ProtoDef +const Serializer = require('protodef').Serializer +const Parser = require('protodef').Parser + +const exampleProtocol = require('./full_protocol_example.json') + +const proto = new ProtoDef() +proto.addProtocol(exampleProtocol, ['login', 'toClient']) +const parser = new Parser(proto, 'packet') +const serializer = new Serializer(proto, 'packet') + +serializer.write({ + name: 'success', + params: { + 'uuid': 'some uuid', + 'username': 'some name' + } +}) + +parser.on('error', function (err) { + console.log(err.stack) + console.log(err.buffer) +}) + +serializer.pipe(parser) + +parser.on('data', function (chunk) { + console.log(JSON.stringify(chunk.data, null, 2)) +}) diff --git a/node_modules/protodef/examples/full_protocol_example.json b/node_modules/protodef/examples/full_protocol_example.json new file mode 100644 index 00000000..78fbdfe9 --- /dev/null +++ b/node_modules/protodef/examples/full_protocol_example.json @@ -0,0 +1,179 @@ +{ + "types": { + "varint": "native", + "pstring": "native", + "u16": "native", + "u8": "native", + "i64": "native", + "buffer": "native", + "i32": "native", + "i8": "native", + "bool": "native", + "i16": "native", + "f32": "native", + "f64": "native", + "option": "native", + "bitfield": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "string": [ + "pstring", + { + "countType": "varint" + } + ] + }, + "status": { + "toClient": { + "types": { + "packet_server_info": [ + "container", + [ + { + "name": "response", + "type": "string" + } + ] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "server_info", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "server_info": "packet_server_info", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_ping_start": [ + "container", + [] + ], + "packet_ping": [ + "container", + [ + { + "name": "time", + "type": "i64" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "ping_start", + "0x01": "ping" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "ping_start": "packet_ping_start", + "ping": "packet_ping" + } + } + ] + } + ] + ] + } + } + }, + "login": { + "toClient": { + "types": { + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x02": "success" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "success": "packet_success" + } + } + ] + } + ] + ] + } + } + } +} diff --git a/node_modules/protodef/index.js b/node_modules/protodef/index.js new file mode 100644 index 00000000..d12c5e73 --- /dev/null +++ b/node_modules/protodef/index.js @@ -0,0 +1 @@ +module.exports = require('./src/index.js') diff --git a/node_modules/protodef/package.json b/node_modules/protodef/package.json new file mode 100644 index 00000000..e8e9670a --- /dev/null +++ b/node_modules/protodef/package.json @@ -0,0 +1,72 @@ +{ + "_from": "protodef@^1.8.0", + "_id": "protodef@1.8.3", + "_inBundle": false, + "_integrity": "sha512-q78K4/8rAwA8e7MU8+aqzO+DLAUOsjnpUAOHOh8AgzYBH9e8ugjtpkio0WI+gM6d2uwn3cz81xFlEchY8KJZtw==", + "_location": "/protodef", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "protodef@^1.8.0", + "name": "protodef", + "escapedName": "protodef", + "rawSpec": "^1.8.0", + "saveSpec": null, + "fetchSpec": "^1.8.0" + }, + "_requiredBy": [ + "/minecraft-protocol", + "/mineflayer", + "/prismarine-nbt" + ], + "_resolved": "https://registry.npmjs.org/protodef/-/protodef-1.8.3.tgz", + "_shasum": "b991d345283e01c97b7790be2578680c1b267cb8", + "_spec": "protodef@^1.8.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\mineflayer", + "author": { + "name": "roblabla", + "email": "robinlambertz.dev@gmail.com" + }, + "bugs": { + "url": "https://github.com/ProtoDef-io/node-protodef/issues" + }, + "bundleDependencies": false, + "dependencies": { + "lodash.get": "^4.4.2", + "lodash.reduce": "^4.6.0", + "protodef-validator": "^1.2.2", + "readable-stream": "^3.0.3" + }, + "deprecated": false, + "description": "A simple yet powerful way to define binary protocols", + "devDependencies": { + "benchmark": "^2.1.4", + "chai": "^4.1.2", + "jsonschema": "^1.2.4", + "mocha": "^5.2.0", + "require-self": "^0.1.0", + "standard": "^12.0.1" + }, + "engines": { + "node": ">=6" + }, + "homepage": "https://github.com/ProtoDef-io/node-protodef", + "license": "MIT", + "main": "index.js", + "name": "protodef", + "repository": { + "type": "git", + "url": "git+https://github.com/ProtoDef-io/node-protodef.git" + }, + "scripts": { + "benchmark": "mocha benchmark/benchmark_unified.js", + "fix": "standard --fix", + "lint": "standard", + "prepare": "require-self", + "test": "npm run lint && npm run unit-test", + "unit-test": "mocha --recursive --reporter spec" + }, + "tonicExampleFilename": "example.js", + "version": "1.8.3" +} diff --git a/node_modules/protodef/src/compiler.js b/node_modules/protodef/src/compiler.js new file mode 100644 index 00000000..5719b5c1 --- /dev/null +++ b/node_modules/protodef/src/compiler.js @@ -0,0 +1,422 @@ +const numeric = require('./datatypes/numeric') +const utils = require('./datatypes/utils') + +const conditionalDatatypes = require('./datatypes/compiler-conditional') +const structuresDatatypes = require('./datatypes/compiler-structures') +const utilsDatatypes = require('./datatypes/compiler-utils') + +const { tryCatch } = require('./utils') + +class ProtoDefCompiler { + constructor () { + this.readCompiler = new ReadCompiler() + this.writeCompiler = new WriteCompiler() + this.sizeOfCompiler = new SizeOfCompiler() + } + + addTypes (types) { + this.readCompiler.addTypes(types.Read) + this.writeCompiler.addTypes(types.Write) + this.sizeOfCompiler.addTypes(types.SizeOf) + } + + addTypesToCompile (types) { + this.readCompiler.addTypesToCompile(types) + this.writeCompiler.addTypesToCompile(types) + this.sizeOfCompiler.addTypesToCompile(types) + } + + addProtocol (protocolData, path) { + this.readCompiler.addProtocol(protocolData, path) + this.writeCompiler.addProtocol(protocolData, path) + this.sizeOfCompiler.addProtocol(protocolData, path) + } + + compileProtoDefSync (options = { printCode: false }) { + const sizeOfCode = this.sizeOfCompiler.generate() + const writeCode = this.writeCompiler.generate() + const readCode = this.readCompiler.generate() + if (options.printCode) { + console.log('// SizeOf:') + console.log(sizeOfCode) + console.log('// Write:') + console.log(writeCode) + console.log('// Read:') + console.log(readCode) + } + const sizeOfCtx = this.sizeOfCompiler.compile(sizeOfCode) + const writeCtx = this.writeCompiler.compile(writeCode) + const readCtx = this.readCompiler.compile(readCode) + return new CompiledProtodef(sizeOfCtx, writeCtx, readCtx) + } +} + +class CompiledProtodef { + constructor (sizeOfCtx, writeCtx, readCtx) { + this.sizeOfCtx = sizeOfCtx + this.writeCtx = writeCtx + this.readCtx = readCtx + } + + read (buffer, cursor, type) { + const readFn = this.readCtx[type] + if (!readFn) { throw new Error('missing data type: ' + type) } + return readFn(buffer, cursor) + } + + write (value, buffer, cursor, type) { + const writeFn = this.writeCtx[type] + if (!writeFn) { throw new Error('missing data type: ' + type) } + return writeFn(value, buffer, cursor) + } + + sizeOf (value, type) { + const sizeFn = this.sizeOfCtx[type] + if (!sizeFn) { throw new Error('missing data type: ' + type) } + if (typeof sizeFn === 'function') { + return sizeFn(value) + } else { + return sizeFn + } + } + + createPacketBuffer (type, packet) { + const length = tryCatch(() => this.sizeOf(packet, type), + (e) => { + e.message = `SizeOf error for ${e.field} : ${e.message}` + throw e + }) + const buffer = Buffer.allocUnsafe(length) + tryCatch(() => this.write(packet, buffer, 0, type), + (e) => { + e.message = `Write error for ${e.field} : ${e.message}` + throw e + }) + return buffer + } + + parsePacketBuffer (type, buffer) { + const { value, size } = tryCatch(() => this.read(buffer, 0, type), + (e) => { + e.message = `Read error for ${e.field} : ${e.message}` + throw e + }) + return { + data: value, + metadata: { size }, + buffer: buffer.slice(0, size) + } + } +} + +class Compiler { + constructor () { + this.primitiveTypes = {} + this.native = {} + this.context = {} + this.types = {} + this.scopeStack = [] + this.parameterizableTypes = {} + } + + /** + * A native type is a type read or written by a function that will be called in it's + * original context. + * @param {*} type + * @param {*} fn + */ + addNativeType (type, fn) { + this.primitiveTypes[type] = `native.${type}` + this.native[type] = fn + this.types[type] = 'native' + } + + /** + * A context type is a type that will be called in the protocol's context. It can refer to + * registred native types using native.{type}() or context type (provided and generated) + * using ctx.{type}(), but cannot access it's original context. + * @param {*} type + * @param {*} fn + */ + addContextType (type, fn) { + this.primitiveTypes[type] = `ctx.${type}` + this.context[type] = fn.toString() + } + + /** + * A parametrizable type is a function that will be generated at compile time using the + * provided maker function + * @param {*} type + * @param {*} maker + */ + addParametrizableType (type, maker) { + this.parameterizableTypes[type] = maker + } + + addTypes (types) { + for (const [type, [kind, fn]] of Object.entries(types)) { + if (kind === 'native') this.addNativeType(type, fn) + else if (kind === 'context') this.addContextType(type, fn) + else if (kind === 'parametrizable') this.addParametrizableType(type, fn) + } + } + + addTypesToCompile (types) { + for (const [type, json] of Object.entries(types)) { + // Replace native type, otherwise first in wins + if (!this.types[type] || this.types[type] === 'native') this.types[type] = json + } + } + + addProtocol (protocolData, path) { + const self = this + function recursiveAddTypes (protocolData, path) { + if (protocolData === undefined) { return } + if (protocolData.types) { self.addTypesToCompile(protocolData.types) } + recursiveAddTypes(protocolData[path.shift()], path) + } + recursiveAddTypes(protocolData, path.slice(0)) + } + + indent (code, indent = ' ') { + return code.split('\n').map((line) => indent + line).join('\n') + } + + getField (name) { + let path = name.split('/') + let i = this.scopeStack.length - 1 + const reserved = { 'value': true, 'enum': true } + while (path.length) { + let scope = this.scopeStack[i] + let field = path.shift() + if (field === '..') { + i-- + continue + } + // We are at the right level + if (scope[field]) return scope[field] + (path.length ? ('.' + path.join('.')) : '') + if (path.length !== 0) { + throw new Error('Cannot access properties of undefined field') + } + // Count how many collision occured in the scope + let count = 0 + if (reserved[field]) count++ + for (let j = 0; j < i; j++) { + if (this.scopeStack[j][field]) count++ + } + scope[field] = field + (count || '') // If the name is already used, add a number + return scope[field] + } + throw new Error('Unknown field ' + path) + } + + generate () { + this.scopeStack = [{}] + let functions = [] + for (const type in this.context) { + functions[type] = this.context[type] + } + for (const type in this.types) { + if (!functions[type]) { + if (this.types[type] !== 'native') { + functions[type] = this.compileType(this.types[type]) + if (functions[type].startsWith('ctx')) { + functions[type] = 'function () { return ' + functions[type] + '(...arguments) }' + } + if (!isNaN(functions[type])) { functions[type] = this.wrapCode(' return ' + functions[type]) } + } else { + functions[type] = `native.${type}` + } + } + } + return '() => {\n' + this.indent('const ctx = {\n' + this.indent(Object.keys(functions).map((type) => { + return type + ': ' + functions[type] + }).join(',\n')) + '\n}\nreturn ctx') + '\n}' + } + + /** + * Compile the given js code, providing native.{type} to the context, return the compiled types + * @param {*} code + */ + compile (code) { + // Local variable to provide some context to eval() + const native = this.native // eslint-disable-line + const { PartialReadError } = require('./utils') // eslint-disable-line + return eval(code)() // eslint-disable-line + } +} + +class ReadCompiler extends Compiler { + constructor () { + super() + + this.addTypes(conditionalDatatypes.Read) + this.addTypes(structuresDatatypes.Read) + this.addTypes(utilsDatatypes.Read) + + // Add default types + for (const key in numeric) { + this.addNativeType(key, numeric[key][0]) + } + for (const key in utils) { + this.addNativeType(key, utils[key][0]) + } + } + + compileType (type) { + if (type instanceof Array) { + if (this.parameterizableTypes[type[0]]) { return this.parameterizableTypes[type[0]](this, type[1]) } + if (this.types[type[0]] && this.types[type[0]] !== 'native') { + return this.wrapCode('return ' + this.callType(type[0], 'offset', Object.values(type[1]))) + } + throw new Error('Unknown parametrizable type: ' + type[0]) + } else { // Primitive type + if (type === 'native') return 'null' + if (this.types[type]) { return 'ctx.' + type } + return this.primitiveTypes[type] + } + } + + wrapCode (code, args = []) { + if (args.length > 0) return '(buffer, offset, ' + args.join(', ') + ') => {\n' + this.indent(code) + '\n}' + return '(buffer, offset) => {\n' + this.indent(code) + '\n}' + } + + callType (type, offsetExpr = 'offset', args = []) { + if (type instanceof Array) { + if (this.types[type[0]] && this.types[type[0]] !== 'native') { + return this.callType(type[0], offsetExpr, Object.values(type[1])) + } + } + if (type instanceof Array && type[0] === 'container') this.scopeStack.push({}) + const code = this.compileType(type) + if (type instanceof Array && type[0] === 'container') this.scopeStack.pop() + if (args.length > 0) return '(' + code + `)(buffer, ${offsetExpr}, ` + args.map(name => this.getField(name)).join(', ') + ')' + return '(' + code + `)(buffer, ${offsetExpr})` + } +} + +class WriteCompiler extends Compiler { + constructor () { + super() + + this.addTypes(conditionalDatatypes.Write) + this.addTypes(structuresDatatypes.Write) + this.addTypes(utilsDatatypes.Write) + + // Add default types + for (const key in numeric) { + this.addNativeType(key, numeric[key][1]) + } + for (const key in utils) { + this.addNativeType(key, utils[key][1]) + } + } + + compileType (type) { + if (type instanceof Array) { + if (this.parameterizableTypes[type[0]]) { return this.parameterizableTypes[type[0]](this, type[1]) } + if (this.types[type[0]] && this.types[type[0]] !== 'native') { + return this.wrapCode('return ' + this.callType('value', type[0], 'offset', Object.values(type[1]))) + } + throw new Error('Unknown parametrizable type: ' + type[0]) + } else { // Primitive type + if (type === 'native') return 'null' + if (this.types[type]) { return 'ctx.' + type } + return this.primitiveTypes[type] + } + } + + wrapCode (code, args = []) { + if (args.length > 0) return '(value, buffer, offset, ' + args.join(', ') + ') => {\n' + this.indent(code) + '\n}' + return '(value, buffer, offset) => {\n' + this.indent(code) + '\n}' + } + + callType (value, type, offsetExpr = 'offset', args = []) { + if (type instanceof Array) { + if (this.types[type[0]] && this.types[type[0]] !== 'native') { + return this.callType(value, type[0], offsetExpr, Object.values(type[1])) + } + } + if (type instanceof Array && type[0] === 'container') this.scopeStack.push({}) + const code = this.compileType(type) + if (type instanceof Array && type[0] === 'container') this.scopeStack.pop() + if (args.length > 0) return '(' + code + `)(${value}, buffer, ${offsetExpr}, ` + args.map(name => this.getField(name)).join(', ') + ')' + return '(' + code + `)(${value}, buffer, ${offsetExpr})` + } +} + +class SizeOfCompiler extends Compiler { + constructor () { + super() + + this.addTypes(conditionalDatatypes.SizeOf) + this.addTypes(structuresDatatypes.SizeOf) + this.addTypes(utilsDatatypes.SizeOf) + + // Add default types + for (const key in numeric) { + this.addNativeType(key, numeric[key][2]) + } + for (const key in utils) { + this.addNativeType(key, utils[key][2]) + } + } + + /** + * A native type is a type read or written by a function that will be called in it's + * original context. + * @param {*} type + * @param {*} fn + */ + addNativeType (type, fn) { + this.primitiveTypes[type] = `native.${type}` + if (!isNaN(fn)) { + this.native[type] = (value) => { return fn } + } else { + this.native[type] = fn + } + this.types[type] = 'native' + } + + compileType (type) { + if (type instanceof Array) { + if (this.parameterizableTypes[type[0]]) { return this.parameterizableTypes[type[0]](this, type[1]) } + if (this.types[type[0]] && this.types[type[0]] !== 'native') { + return this.wrapCode('return ' + this.callType('value', type[0], Object.values(type[1]))) + } + throw new Error('Unknown parametrizable type: ' + type[0]) + } else { // Primitive type + if (type === 'native') return 'null' + if (!isNaN(this.primitiveTypes[type])) return this.primitiveTypes[type] + if (this.types[type]) { return 'ctx.' + type } + return this.primitiveTypes[type] + } + } + + wrapCode (code, args = []) { + if (args.length > 0) return '(value, ' + args.join(', ') + ') => {\n' + this.indent(code) + '\n}' + return '(value) => {\n' + this.indent(code) + '\n}' + } + + callType (value, type, args = []) { + if (type instanceof Array) { + if (this.types[type[0]] && this.types[type[0]] !== 'native') { + return this.callType(value, type[0], Object.values(type[1])) + } + } + if (type instanceof Array && type[0] === 'container') this.scopeStack.push({}) + const code = this.compileType(type) + if (type instanceof Array && type[0] === 'container') this.scopeStack.pop() + if (!isNaN(code)) return code + if (args.length > 0) return '(' + code + `)(${value}, ` + args.map(name => this.getField(name)).join(', ') + ')' + return '(' + code + `)(${value})` + } +} + +module.exports = { + ReadCompiler, + WriteCompiler, + SizeOfCompiler, + ProtoDefCompiler +} diff --git a/node_modules/protodef/src/datatypes/compiler-conditional.js b/node_modules/protodef/src/datatypes/compiler-conditional.js new file mode 100644 index 00000000..9408cb0e --- /dev/null +++ b/node_modules/protodef/src/datatypes/compiler-conditional.js @@ -0,0 +1,87 @@ +module.exports = { + Read: { + 'switch': ['parametrizable', (compiler, struct) => { + let compare = struct.compareTo ? struct.compareTo : struct.compareToValue + let args = [] + if (compare.startsWith('$')) args.push(compare) + else if (struct.compareTo) { + compare = compiler.getField(compare) + } + let code = `switch (${compare}) {\n` + for (const key in struct.fields) { + let val = key + if (isNaN(val) && val !== 'true' && val !== 'false') val = `"${val}"` + code += compiler.indent(`case ${val}: return ` + compiler.callType(struct.fields[key])) + '\n' + } + code += compiler.indent('default: return ' + compiler.callType(struct.default ? struct.default : 'void')) + '\n' + code += `}` + return compiler.wrapCode(code, args) + }], + 'option': ['parametrizable', (compiler, type) => { + let code = 'const {value} = ctx.bool(buffer, offset)\n' + code += 'if (value) {\n' + code += ' const { value, size } = ' + compiler.callType(type, 'offset + 1') + '\n' + code += ' return { value, size: size + 1 }\n' + code += '}\n' + code += 'return { value: undefined, size: 1}' + return compiler.wrapCode(code) + }] + }, + + Write: { + 'switch': ['parametrizable', (compiler, struct) => { + let compare = struct.compareTo ? struct.compareTo : struct.compareToValue + let args = [] + if (compare.startsWith('$')) args.push(compare) + else if (struct.compareTo) { + compare = compiler.getField(compare) + } + let code = `switch (${compare}) {\n` + for (const key in struct.fields) { + let val = key + if (isNaN(val) && val !== 'true' && val !== 'false') val = `"${val}"` + code += compiler.indent(`case ${val}: return ` + compiler.callType('value', struct.fields[key])) + '\n' + } + code += compiler.indent('default: return ' + compiler.callType('value', struct.default ? struct.default : 'void')) + '\n' + code += `}` + return compiler.wrapCode(code, args) + }], + 'option': ['parametrizable', (compiler, type) => { + let code = 'if (value != null) {\n' + code += ' offset = ctx.bool(1, buffer, offset)\n' + code += ' offset = ' + compiler.callType('value', type) + '\n' + code += '} else {\n' + code += ' offset = ctx.bool(0, buffer, offset)\n' + code += '}\n' + code += 'return offset' + return compiler.wrapCode(code) + }] + }, + + SizeOf: { + 'switch': ['parametrizable', (compiler, struct) => { + let compare = struct.compareTo ? struct.compareTo : struct.compareToValue + let args = [] + if (compare.startsWith('$')) args.push(compare) + else if (struct.compareTo) { + compare = compiler.getField(compare) + } + let code = `switch (${compare}) {\n` + for (const key in struct.fields) { + let val = key + if (isNaN(val) && val !== 'true' && val !== 'false') val = `"${val}"` + code += compiler.indent(`case ${val}: return ` + compiler.callType('value', struct.fields[key])) + '\n' + } + code += compiler.indent('default: return ' + compiler.callType('value', struct.default ? struct.default : 'void')) + '\n' + code += `}` + return compiler.wrapCode(code, args) + }], + 'option': ['parametrizable', (compiler, type) => { + let code = 'if (value != null) {\n' + code += ' return 1 + ' + compiler.callType('value', type) + '\n' + code += '}\n' + code += 'return 1' + return compiler.wrapCode(code) + }] + } +} diff --git a/node_modules/protodef/src/datatypes/compiler-structures.js b/node_modules/protodef/src/datatypes/compiler-structures.js new file mode 100644 index 00000000..75780203 --- /dev/null +++ b/node_modules/protodef/src/datatypes/compiler-structures.js @@ -0,0 +1,233 @@ +module.exports = { + Read: { + 'array': ['parametrizable', (compiler, array) => { + let code = '' + if (array.countType) { + code += 'const { value: count, size: countSize } = ' + compiler.callType(array.countType) + '\n' + } else if (array.count) { + code += 'const count = ' + array.count + '\n' + code += 'const countSize = 0\n' + } else { + throw new Error('Array must contain either count or countType') + } + code += 'const data = []\n' + code += 'let size = countSize\n' + code += 'for (let i = 0; i < count; i++) {\n' + code += ' const elem = ' + compiler.callType(array.type, 'offset + size') + '\n' + code += ' data.push(elem.value)\n' + code += ' size += elem.size\n' + code += '}\n' + code += 'return { value: data, size }' + return compiler.wrapCode(code) + }], + 'count': ['parametrizable', (compiler, type) => { + let code = 'return ' + compiler.callType(type.type) + return compiler.wrapCode(code) + }], + 'container': ['parametrizable', (compiler, values) => { + values = containerInlining(values) + + let code = '' + let offsetExpr = 'offset' + let names = [] + for (const i in values) { + const { type, name, anon } = values[i] + let trueName + let sizeName + if (type instanceof Array && type[0] === 'bitfield' && anon) { + const subnames = [] + for (const { name } of type[1]) { + const trueName = compiler.getField(name) + subnames.push(trueName) + if (name === trueName) names.push(name) + else names.push(`${name}: ${trueName}`) + } + trueName = '{' + subnames.join(', ') + '}' + sizeName = `anon${i}Size` + } else { + trueName = compiler.getField(name) + sizeName = `${trueName}Size` + if (name === trueName) names.push(name) + else names.push(`${name}: ${trueName}`) + } + code += `const { value: ${trueName}, size: ${sizeName} } = ` + compiler.callType(type, offsetExpr) + '\n' + offsetExpr += ` + ${sizeName}` + } + const sizes = offsetExpr.split(' + ') + sizes.shift() + if (sizes.length === 0) sizes.push('0') + code += 'return { value: { ' + names.join(', ') + ' }, size: ' + sizes.join(' + ') + '}' + return compiler.wrapCode(code) + }] + }, + + Write: { + 'array': ['parametrizable', (compiler, array) => { + let code = '' + if (array.countType) { + code += 'offset = ' + compiler.callType('value.length', array.countType) + '\n' + } else if (array.count === null) { + throw new Error('Array must contain either count or countType') + } + code += 'for (let i = 0; i < value.length; i++) {\n' + code += ' offset = ' + compiler.callType('value[i]', array.type) + '\n' + code += '}\n' + code += 'return offset' + return compiler.wrapCode(code) + }], + 'count': ['parametrizable', (compiler, type) => { + let code = 'return ' + compiler.callType('value', type.type) + return compiler.wrapCode(code) + }], + 'container': ['parametrizable', (compiler, values) => { + values = containerInlining(values) + let code = '' + for (const i in values) { + const { type, name, anon } = values[i] + let trueName + if (type instanceof Array && type[0] === 'bitfield' && anon) { + const names = [] + for (const { name } of type[1]) { + const trueName = compiler.getField(name) + code += `const ${trueName} = value.${name}\n` + if (name === trueName) names.push(name) + else names.push(`${name}: ${trueName}`) + } + trueName = '{' + names.join(', ') + '}' + } else { + trueName = compiler.getField(name) + code += `const ${trueName} = value.${name}\n` + } + code += `offset = ` + compiler.callType(trueName, type) + '\n' + } + code += 'return offset' + return compiler.wrapCode(code) + }] + }, + + SizeOf: { + 'array': ['parametrizable', (compiler, array) => { + let code = '' + if (array.countType) { + code += 'let size = ' + compiler.callType('value.length', array.countType) + '\n' + } else if (array.count) { + code += 'let size = 0\n' + } else { + throw new Error('Array must contain either count or countType') + } + if (!isNaN(compiler.callType('value[i]', array.type))) { + code += 'size += value.length * ' + compiler.callType('value[i]', array.type) + '\n' + } else { + code += 'for (let i = 0; i < value.length; i++) {\n' + code += ' size += ' + compiler.callType('value[i]', array.type) + '\n' + code += '}\n' + } + code += 'return size' + return compiler.wrapCode(code) + }], + 'count': ['parametrizable', (compiler, type) => { + let code = 'return ' + compiler.callType('value', type.type) + return compiler.wrapCode(code) + }], + 'container': ['parametrizable', (compiler, values) => { + values = containerInlining(values) + let code = 'let size = 0\n' + for (const i in values) { + const { type, name, anon } = values[i] + let trueName + if (type instanceof Array && type[0] === 'bitfield' && anon) { + const names = [] + for (const { name } of type[1]) { + const trueName = compiler.getField(name) + code += `const ${trueName} = value.${name}\n` + if (name === trueName) names.push(name) + else names.push(`${name}: ${trueName}`) + } + trueName = '{' + names.join(', ') + '}' + } else { + trueName = compiler.getField(name) + code += `const ${trueName} = value.${name}\n` + } + code += `size += ` + compiler.callType(trueName, type) + '\n' + } + code += 'return size' + return compiler.wrapCode(code) + }] + } +} + +function containerInlining (values) { + // Inlining (support only 1 level) + const newValues = [] + for (const i in values) { + const { type, anon } = values[i] + if (anon && !(type instanceof Array && type[0] === 'bitfield')) { + if (type instanceof Array && type[0] === 'container') { + for (const j in type[1]) newValues.push(type[1][j]) + } else if (type instanceof Array && type[0] === 'switch') { + const theSwitch = type[1] + const valueSet = new Set() + // search for containers and build a set of possible values + for (const field in theSwitch.fields) { + if (theSwitch.fields[field] instanceof Array && theSwitch.fields[field][0] === 'container') { + for (const j in theSwitch.fields[field][1]) { + const item = theSwitch.fields[field][1][j] + valueSet.add(item.name) + } + } + } + if (theSwitch.default instanceof Array && theSwitch.default[0] === 'container') { + for (const j in theSwitch.default[1]) { + const item = theSwitch.default[1][j] + valueSet.add(item.name) + } + } + // For each value create a switch + for (const name of valueSet.keys()) { + const fields = {} + let theDefault = theSwitch.default + + if (theDefault instanceof Array && theDefault[0] === 'container') { + for (const j in theDefault[1]) { + const item = theDefault[1][j] + if (item.name === name) { + theDefault = item.type + break + } + } + } + for (const field in theSwitch.fields) { + if (theSwitch.fields[field] instanceof Array && theSwitch.fields[field][0] === 'container') { + for (const j in theSwitch.fields[field][1]) { + const item = theSwitch.fields[field][1][j] + if (item.name === name) { + fields[field] = theSwitch.fields[field][1][j].type + break + } + } + } else { + fields[field] = theSwitch.fields[field] + } + } + if (!theDefault) { + theDefault = 'void' + } + newValues.push({ + name, + type: ['switch', { + compareTo: theSwitch.compareTo, + compareToValue: theSwitch.compareToValue, + default: theDefault, + fields + }] + }) + } + } else { + throw new Error('Cannot inline anonymous type: ' + type) + } + } else { + newValues.push(values[i]) + } + } + return newValues +} diff --git a/node_modules/protodef/src/datatypes/compiler-utils.js b/node_modules/protodef/src/datatypes/compiler-utils.js new file mode 100644 index 00000000..740c6cad --- /dev/null +++ b/node_modules/protodef/src/datatypes/compiler-utils.js @@ -0,0 +1,183 @@ +module.exports = { + Read: { + 'pstring': ['parametrizable', (compiler, string) => { + let code = '' + if (string.countType) { + code += 'const { value: count, size: countSize } = ' + compiler.callType(string.countType) + '\n' + } else if (string.count) { + code += 'const count = ' + string.count + '\n' + code += 'const countSize = 0\n' + } else { + throw new Error('pstring must contain either count or countType') + } + code += 'offset += countSize\n' + code += 'if (offset + count > buffer.length) {\n' + code += ' throw new PartialReadError("Missing characters in string, found size is " + buffer.length + " expected size was " + (offset + count))\n' + code += '}\n' + code += 'return { value: buffer.toString(\'utf8\', offset, offset + count), size: count + countSize }' + return compiler.wrapCode(code) + }], + 'buffer': ['parametrizable', (compiler, buffer) => { + let code = '' + if (buffer.countType) { + code += 'const { value: count, size: countSize } = ' + compiler.callType(buffer.countType) + '\n' + } else if (buffer.count) { + code += 'const count = ' + buffer.count + '\n' + code += 'const countSize = 0\n' + } else { + throw new Error('buffer must contain either count or countType') + } + code += 'offset += countSize\n' + code += 'if (offset + count > buffer.length) {\n' + code += ' throw new PartialReadError()\n' + code += '}\n' + code += 'return { value: buffer.slice(offset, offset + count), size: count + countSize }' + return compiler.wrapCode(code) + }], + 'bitfield': ['parametrizable', (compiler, values) => { + let code = '' + const totalBytes = Math.ceil(values.reduce((acc, { size }) => acc + size, 0) / 8) + code += `if ( offset + ${totalBytes} > buffer.length) { throw new PartialReadError() }\n` + + let names = [] + let totalSize = 8 + code += 'let bits = buffer[offset++]\n' + for (const i in values) { + const { name, size, signed } = values[i] + const trueName = compiler.getField(name) + while (totalSize < size) { + totalSize += 8 + code += `bits = (bits << 8) | buffer[offset++]\n` + } + code += `let ${trueName} = (bits >> ` + (totalSize - size) + ') & 0x' + ((1 << size) - 1).toString(16) + '\n' + if (signed) code += `${trueName} -= (${trueName} & 0x` + (1 << (size - 1)).toString(16) + ') << 1\n' + totalSize -= size + if (name === trueName) names.push(name) + else names.push(`${name}: ${trueName}`) + } + code += 'return { value: { ' + names.join(', ') + ` }, size: ${totalBytes} }` + return compiler.wrapCode(code) + }], + 'mapper': ['parametrizable', (compiler, mapper) => { + let code = 'const { value, size } = ' + compiler.callType(mapper.type) + '\n' + code += 'return { value: ' + JSON.stringify(sanitizeMappings(mapper.mappings)) + '[value], size }' + return compiler.wrapCode(code) + }] + }, + + Write: { + 'pstring': ['parametrizable', (compiler, string) => { + let code = 'const length = Buffer.byteLength(value, \'utf8\')\n' + if (string.countType) { + code += 'offset = ' + compiler.callType('length', string.countType) + '\n' + } else if (string.count === null) { + throw new Error('pstring must contain either count or countType') + } + code += 'buffer.write(value, offset, length, \'utf8\')\n' + code += 'return offset + length' + return compiler.wrapCode(code) + }], + 'buffer': ['parametrizable', (compiler, buffer) => { + let code = '' + if (buffer.countType) { + code += 'offset = ' + compiler.callType('value.length', buffer.countType) + '\n' + } else if (buffer.count === null) { + throw new Error('buffer must contain either count or countType') + } + code += 'value.copy(buffer, offset)\n' + code += 'return offset + value.length' + return compiler.wrapCode(code) + }], + 'bitfield': ['parametrizable', (compiler, values) => { + let toWrite = '' + let bits = 0 + let code = '' + for (const i in values) { + let { name, size } = values[i] + const trueName = compiler.getField(name) + code += `let ${trueName} = value.${name}\n` + while (size > 0) { + const writeBits = Math.min(8 - bits, size) + const mask = ((1 << writeBits) - 1) + if (toWrite !== '') toWrite = `((${toWrite}) << ${writeBits}) | ` + toWrite += `((${trueName} >> ` + (size - writeBits) + ') & 0x' + mask.toString(16) + ')' + size -= writeBits + bits += writeBits + if (bits === 8) { + code += 'buffer[offset++] = ' + toWrite + '\n' + bits = 0 + toWrite = '' + } + } + } + if (bits !== 0) { + code += 'buffer[offset++] = (' + toWrite + ') << ' + (8 - bits) + '\n' + } + code += 'return offset' + return compiler.wrapCode(code) + }], + 'mapper': ['parametrizable', (compiler, mapper) => { + const mappings = JSON.stringify(swapMappings(mapper.mappings)) + const code = 'return ' + compiler.callType(`${mappings}[value]`, mapper.type) + return compiler.wrapCode(code) + }] + }, + + SizeOf: { + 'pstring': ['parametrizable', (compiler, string) => { + let code = 'let size = Buffer.byteLength(value, \'utf8\')\n' + if (string.countType) { + code += 'size += ' + compiler.callType('size', string.countType) + '\n' + } else if (string.count === null) { + throw new Error('pstring must contain either count or countType') + } + code += 'return size' + return compiler.wrapCode(code) + }], + 'buffer': ['parametrizable', (compiler, buffer) => { + let code = 'let size = value.length\n' + if (buffer.countType) { + code += 'size += ' + compiler.callType('size', buffer.countType) + '\n' + } else if (buffer.count === null) { + throw new Error('buffer must contain either count or countType') + } + code += 'return size' + return compiler.wrapCode(code) + }], + 'bitfield': ['parametrizable', (compiler, values) => { + const totalBytes = Math.ceil(values.reduce((acc, { size }) => acc + size, 0) / 8) + return `${totalBytes}` + }], + 'mapper': ['parametrizable', (compiler, mapper) => { + const mappings = JSON.stringify(swapMappings(mapper.mappings)) + const code = 'return ' + compiler.callType(`${mappings}[value]`, mapper.type) + return compiler.wrapCode(code) + }] + } +} + +// Convert hexadecimal keys to decimal +function sanitizeMappings (json) { + const ret = {} + for (let key in json) { + let val = json[key] + key = hex2dec(key) + ret[key] = val + } + return ret +} + +function swapMappings (json) { + const ret = {} + for (let key in json) { + let val = json[key] + key = hex2dec(key) + ret[val] = (isNaN(key)) ? key : parseInt(key, 10) + } + return ret +} + +function hex2dec (num) { + if ((num.match(/^0x[0-9a-f]+$/i))) { return parseInt(num.substring(2), 16) } + return num +} diff --git a/node_modules/protodef/src/datatypes/conditional.js b/node_modules/protodef/src/datatypes/conditional.js new file mode 100644 index 00000000..438f8807 --- /dev/null +++ b/node_modules/protodef/src/datatypes/conditional.js @@ -0,0 +1,56 @@ +const { getField, getFieldInfo, tryDoc, PartialReadError } = require('../utils') + +module.exports = { + 'switch': [readSwitch, writeSwitch, sizeOfSwitch, require('../../ProtoDef/schemas/conditional.json')['switch']], + 'option': [readOption, writeOption, sizeOfOption, require('../../ProtoDef/schemas/conditional.json')['option']] +} + +function readSwitch (buffer, offset, { compareTo, fields, compareToValue, 'default': defVal }, rootNode) { + compareTo = compareToValue !== undefined ? compareToValue : getField(compareTo, rootNode) + if (typeof fields[compareTo] === 'undefined' && typeof defVal === 'undefined') { throw new Error(compareTo + ' has no associated fieldInfo in switch') } + + const caseDefault = typeof fields[compareTo] === 'undefined' + const resultingType = caseDefault ? defVal : fields[compareTo] + const fieldInfo = getFieldInfo(resultingType) + return tryDoc(() => this.read(buffer, offset, fieldInfo, rootNode), caseDefault ? 'default' : compareTo) +} + +function writeSwitch (value, buffer, offset, { compareTo, fields, compareToValue, 'default': defVal }, rootNode) { + compareTo = compareToValue !== undefined ? compareToValue : getField(compareTo, rootNode) + if (typeof fields[compareTo] === 'undefined' && typeof defVal === 'undefined') { throw new Error(compareTo + ' has no associated fieldInfo in switch') } + + const caseDefault = typeof fields[compareTo] === 'undefined' + const fieldInfo = getFieldInfo(caseDefault ? defVal : fields[compareTo]) + return tryDoc(() => this.write(value, buffer, offset, fieldInfo, rootNode), caseDefault ? 'default' : compareTo) +} + +function sizeOfSwitch (value, { compareTo, fields, compareToValue, 'default': defVal }, rootNode) { + compareTo = compareToValue !== undefined ? compareToValue : getField(compareTo, rootNode) + if (typeof fields[compareTo] === 'undefined' && typeof defVal === 'undefined') { throw new Error(compareTo + ' has no associated fieldInfo in switch') } + + const caseDefault = typeof fields[compareTo] === 'undefined' + const fieldInfo = getFieldInfo(caseDefault ? defVal : fields[compareTo]) + return tryDoc(() => this.sizeOf(value, fieldInfo, rootNode), caseDefault ? 'default' : compareTo) +} + +function readOption (buffer, offset, typeArgs, context) { + if (buffer.length < offset + 1) { throw new PartialReadError() } + const val = buffer.readUInt8(offset++) + if (val !== 0) { + const retval = this.read(buffer, offset, typeArgs, context) + retval.size++ + return retval + } else { return { size: 1 } } +} + +function writeOption (value, buffer, offset, typeArgs, context) { + if (value != null) { + buffer.writeUInt8(1, offset++) + offset = this.write(value, buffer, offset, typeArgs, context) + } else { buffer.writeUInt8(0, offset++) } + return offset +} + +function sizeOfOption (value, typeArgs, context) { + return value == null ? 1 : this.sizeOf(value, typeArgs, context) + 1 +} diff --git a/node_modules/protodef/src/datatypes/numeric.js b/node_modules/protodef/src/datatypes/numeric.js new file mode 100644 index 00000000..60c0a727 --- /dev/null +++ b/node_modules/protodef/src/datatypes/numeric.js @@ -0,0 +1,103 @@ +const { PartialReadError } = require('../utils') + +function readI64 (buffer, offset) { + if (offset + 8 > buffer.length) { throw new PartialReadError() } + return { + value: [buffer.readInt32BE(offset), buffer.readInt32BE(offset + 4)], + size: 8 + } +} + +function writeI64 (value, buffer, offset) { + buffer.writeInt32BE(value[0], offset) + buffer.writeInt32BE(value[1], offset + 4) + return offset + 8 +} + +function readLI64 (buffer, offset) { + if (offset + 8 > buffer.length) { throw new PartialReadError() } + return { + value: [buffer.readInt32LE(offset + 4), buffer.readInt32LE(offset)], + size: 8 + } +} + +function writeLI64 (value, buffer, offset) { + buffer.writeInt32LE(value[0], offset + 4) + buffer.writeInt32LE(value[1], offset) + return offset + 8 +} + +function readU64 (buffer, offset) { + if (offset + 8 > buffer.length) { throw new PartialReadError() } + return { + value: [buffer.readUInt32BE(offset), buffer.readUInt32BE(offset + 4)], + size: 8 + } +} + +function writeU64 (value, buffer, offset) { + buffer.writeUInt32BE(value[0], offset) + buffer.writeUInt32BE(value[1], offset + 4) + return offset + 8 +} + +function readLU64 (buffer, offset) { + if (offset + 8 > buffer.length) { throw new PartialReadError() } + return { + value: [buffer.readUInt32LE(offset + 4), buffer.readUInt32LE(offset)], + size: 8 + } +} + +function writeLU64 (value, buffer, offset) { + buffer.writeUInt32LE(value[0], offset + 4) + buffer.writeUInt32LE(value[1], offset) + return offset + 8 +} + +function generateFunctions (bufferReader, bufferWriter, size, schema) { + const reader = (buffer, offset) => { + if (offset + size > buffer.length) { throw new PartialReadError() } + const value = buffer[bufferReader](offset) + return { + value: value, + size: size + } + } + const writer = (value, buffer, offset) => { + buffer[bufferWriter](value, offset) + return offset + size + } + return [reader, writer, size, schema] +} + +const nums = { + 'i8': ['readInt8', 'writeInt8', 1], + 'u8': ['readUInt8', 'writeUInt8', 1], + 'i16': ['readInt16BE', 'writeInt16BE', 2], + 'u16': ['readUInt16BE', 'writeUInt16BE', 2], + 'i32': ['readInt32BE', 'writeInt32BE', 4], + 'u32': ['readUInt32BE', 'writeUInt32BE', 4], + 'f32': ['readFloatBE', 'writeFloatBE', 4], + 'f64': ['readDoubleBE', 'writeDoubleBE', 8], + 'li8': ['readInt8', 'writeInt8', 1], + 'lu8': ['readUInt8', 'writeUInt8', 1], + 'li16': ['readInt16LE', 'writeInt16LE', 2], + 'lu16': ['readUInt16LE', 'writeUInt16LE', 2], + 'li32': ['readInt32LE', 'writeInt32LE', 4], + 'lu32': ['readUInt32LE', 'writeUInt32LE', 4], + 'lf32': ['readFloatLE', 'writeFloatLE', 4], + 'lf64': ['readDoubleLE', 'writeDoubleLE', 8] +} + +const types = Object.keys(nums).reduce((types, num) => { + types[num] = generateFunctions(nums[num][0], nums[num][1], nums[num][2], require('../../ProtoDef/schemas/numeric.json')[num]) + return types +}, {}) +types['i64'] = [readI64, writeI64, 8, require('../../ProtoDef/schemas/numeric.json')['i64']] +types['li64'] = [readLI64, writeLI64, 8, require('../../ProtoDef/schemas/numeric.json')['li64']] +types['u64'] = [readU64, writeU64, 8, require('../../ProtoDef/schemas/numeric.json')['u64']] +types['lu64'] = [readLU64, writeLU64, 8, require('../../ProtoDef/schemas/numeric.json')['lu64']] + +module.exports = types diff --git a/node_modules/protodef/src/datatypes/structures.js b/node_modules/protodef/src/datatypes/structures.js new file mode 100644 index 00000000..7677bf4c --- /dev/null +++ b/node_modules/protodef/src/datatypes/structures.js @@ -0,0 +1,90 @@ +const { getField, getCount, sendCount, calcCount, tryDoc } = require('../utils') + +module.exports = { + 'array': [readArray, writeArray, sizeOfArray, require('../../ProtoDef/schemas/structures.json')['array']], + 'count': [readCount, writeCount, sizeOfCount, require('../../ProtoDef/schemas/structures.json')['count']], + 'container': [readContainer, writeContainer, sizeOfContainer, require('../../ProtoDef/schemas/structures.json')['container']] +} + +function readArray (buffer, offset, typeArgs, rootNode) { + const results = { + value: [], + size: 0 + } + let value + let { count, size } = getCount.call(this, buffer, offset, typeArgs, rootNode) + offset += size + results.size += size + for (let i = 0; i < count; i++) { + ({ size, value } = tryDoc(() => this.read(buffer, offset, typeArgs.type, rootNode), i)) + results.size += size + offset += size + results.value.push(value) + } + return results +} + +function writeArray (value, buffer, offset, typeArgs, rootNode) { + offset = sendCount.call(this, value.length, buffer, offset, typeArgs, rootNode) + return value.reduce((offset, v, index) => tryDoc(() => this.write(v, buffer, offset, typeArgs.type, rootNode), index), offset) +} + +function sizeOfArray (value, typeArgs, rootNode) { + let size = calcCount.call(this, value.length, typeArgs, rootNode) + size = value.reduce((size, v, index) => tryDoc(() => size + this.sizeOf(v, typeArgs.type, rootNode), index), size) + return size +} + +function readContainer (buffer, offset, typeArgs, context) { + const results = { + value: { '..': context }, + size: 0 + } + typeArgs.forEach(({ type, name, anon }) => { + tryDoc(() => { + const readResults = this.read(buffer, offset, type, results.value) + results.size += readResults.size + offset += readResults.size + if (anon) { + if (readResults.value !== undefined) { + Object.keys(readResults.value).forEach(key => { + results.value[key] = readResults.value[key] + }) + } + } else { results.value[name] = readResults.value } + }, name || 'unknown') + }) + delete results.value['..'] + return results +} + +function writeContainer (value, buffer, offset, typeArgs, context) { + value['..'] = context + offset = typeArgs.reduce((offset, { type, name, anon }) => + tryDoc(() => this.write(anon ? value : value[name], buffer, offset, type, value), name || 'unknown'), offset) + delete value['..'] + return offset +} + +function sizeOfContainer (value, typeArgs, context) { + value['..'] = context + const size = typeArgs.reduce((size, { type, name, anon }) => + size + tryDoc(() => this.sizeOf(anon ? value : value[name], type, value), name || 'unknown'), 0) + delete value['..'] + return size +} + +function readCount (buffer, offset, { type }, rootNode) { + return this.read(buffer, offset, type, rootNode) +} + +function writeCount (value, buffer, offset, { countFor, type }, rootNode) { + // Actually gets the required field, and writes its length. Value is unused. + // TODO : a bit hackityhack. + return this.write(getField(countFor, rootNode).length, buffer, offset, type, rootNode) +} + +function sizeOfCount (value, { countFor, type }, rootNode) { + // TODO : should I use value or getField().length ? + return this.sizeOf(getField(countFor, rootNode).length, type, rootNode) +} diff --git a/node_modules/protodef/src/datatypes/utils.js b/node_modules/protodef/src/datatypes/utils.js new file mode 100644 index 00000000..bf539d23 --- /dev/null +++ b/node_modules/protodef/src/datatypes/utils.js @@ -0,0 +1,260 @@ +const assert = require('assert') + +const { getCount, sendCount, calcCount, PartialReadError } = require('../utils') + +module.exports = { + 'varint': [readVarInt, writeVarInt, sizeOfVarInt, require('../../ProtoDef/schemas/utils.json')['varint']], + 'bool': [readBool, writeBool, 1, require('../../ProtoDef/schemas/utils.json')['bool']], + 'pstring': [readPString, writePString, sizeOfPString, require('../../ProtoDef/schemas/utils.json')['pstring']], + 'buffer': [readBuffer, writeBuffer, sizeOfBuffer, require('../../ProtoDef/schemas/utils.json')['buffer']], + 'void': [readVoid, writeVoid, 0, require('../../ProtoDef/schemas/utils.json')['void']], + 'bitfield': [readBitField, writeBitField, sizeOfBitField, require('../../ProtoDef/schemas/utils.json')['bitfield']], + 'cstring': [readCString, writeCString, sizeOfCString, require('../../ProtoDef/schemas/utils.json')['cstring']], + 'mapper': [readMapper, writeMapper, sizeOfMapper, require('../../ProtoDef/schemas/utils.json')['mapper']] +} + +function mapperEquality (a, b) { + return a === b || parseInt(a) === parseInt(b) +} + +function readMapper (buffer, offset, { type, mappings }, rootNode) { + const { size, value } = this.read(buffer, offset, type, rootNode) + let mappedValue = null + const keys = Object.keys(mappings) + for (let i = 0; i < keys.length; i++) { + if (mapperEquality(keys[i], value)) { + mappedValue = mappings[keys[i]] + break + } + } + if (mappedValue == null) throw new Error(value + ' is not in the mappings value') + return { + size: size, + value: mappedValue + } +} + +function writeMapper (value, buffer, offset, { type, mappings }, rootNode) { + const keys = Object.keys(mappings) + let mappedValue = null + for (let i = 0; i < keys.length; i++) { + if (mapperEquality(mappings[keys[i]], value)) { + mappedValue = keys[i] + break + } + } + if (mappedValue == null) throw new Error(value + ' is not in the mappings value') + return this.write(mappedValue, buffer, offset, type, rootNode) +} + +function sizeOfMapper (value, { type, mappings }, rootNode) { + const keys = Object.keys(mappings) + let mappedValue = null + for (let i = 0; i < keys.length; i++) { + if (mapperEquality(mappings[keys[i]], value)) { + mappedValue = keys[i] + break + } + } + if (mappedValue == null) throw new Error(value + ' is not in the mappings value') + return this.sizeOf(mappedValue, type, rootNode) +} + +function readVarInt (buffer, offset) { + let result = 0 + let shift = 0 + let cursor = offset + + while (true) { + if (cursor + 1 > buffer.length) { throw new PartialReadError() } + const b = buffer.readUInt8(cursor) + result |= ((b & 0x7f) << shift) // Add the bits to our number, except MSB + cursor++ + if (!(b & 0x80)) { // If the MSB is not set, we return the number + return { + value: result, + size: cursor - offset + } + } + shift += 7 // we only have 7 bits, MSB being the return-trigger + assert.ok(shift < 64, 'varint is too big') // Make sure our shift don't overflow. + } +} + +function sizeOfVarInt (value) { + let cursor = 0 + while (value & ~0x7F) { + value >>>= 7 + cursor++ + } + return cursor + 1 +} + +function writeVarInt (value, buffer, offset) { + let cursor = 0 + while (value & ~0x7F) { + buffer.writeUInt8((value & 0xFF) | 0x80, offset + cursor) + cursor++ + value >>>= 7 + } + buffer.writeUInt8(value, offset + cursor) + return offset + cursor + 1 +} + +function readPString (buffer, offset, typeArgs, rootNode) { + const { size, count } = getCount.call(this, buffer, offset, typeArgs, rootNode) + const cursor = offset + size + const strEnd = cursor + count + if (strEnd > buffer.length) { + throw new PartialReadError('Missing characters in string, found size is ' + buffer.length + + ' expected size was ' + strEnd) + } + + return { + value: buffer.toString('utf8', cursor, strEnd), + size: strEnd - offset + } +} + +function writePString (value, buffer, offset, typeArgs, rootNode) { + const length = Buffer.byteLength(value, 'utf8') + offset = sendCount.call(this, length, buffer, offset, typeArgs, rootNode) + buffer.write(value, offset, length, 'utf8') + return offset + length +} + +function sizeOfPString (value, typeArgs, rootNode) { + const length = Buffer.byteLength(value, 'utf8') + const size = calcCount.call(this, length, typeArgs, rootNode) + return size + length +} + +function readBool (buffer, offset) { + if (offset + 1 > buffer.length) throw new PartialReadError() + const value = buffer.readInt8(offset) + return { + value: !!value, + size: 1 + } +} + +function writeBool (value, buffer, offset) { + buffer.writeInt8(+value, offset) + return offset + 1 +} + +function readBuffer (buffer, offset, typeArgs, rootNode) { + const { size, count } = getCount.call(this, buffer, offset, typeArgs, rootNode) + offset += size + if (offset + count > buffer.length) throw new PartialReadError() + return { + value: buffer.slice(offset, offset + count), + size: size + count + } +} + +function writeBuffer (value, buffer, offset, typeArgs, rootNode) { + offset = sendCount.call(this, value.length, buffer, offset, typeArgs, rootNode) + value.copy(buffer, offset) + return offset + value.length +} + +function sizeOfBuffer (value, typeArgs, rootNode) { + const size = calcCount.call(this, value.length, typeArgs, rootNode) + return size + value.length +} + +function readVoid () { + return { + value: undefined, + size: 0 + } +} + +function writeVoid (value, buffer, offset) { + return offset +} + +function generateBitMask (n) { + return (1 << n) - 1 +} + +function readBitField (buffer, offset, typeArgs) { + const beginOffset = offset + let curVal = null + let bits = 0 + const results = {} + results.value = typeArgs.reduce((acc, { size, signed, name }) => { + let currentSize = size + let val = 0 + while (currentSize > 0) { + if (bits === 0) { + if (buffer.length < offset + 1) { throw new PartialReadError() } + curVal = buffer[offset++] + bits = 8 + } + const bitsToRead = Math.min(currentSize, bits) + val = (val << bitsToRead) | (curVal & generateBitMask(bits)) >> (bits - bitsToRead) + bits -= bitsToRead + currentSize -= bitsToRead + } + if (signed && val >= 1 << (size - 1)) { val -= 1 << size } + acc[name] = val + return acc + }, {}) + results.size = offset - beginOffset + return results +} +function writeBitField (value, buffer, offset, typeArgs) { + let toWrite = 0 + let bits = 0 + typeArgs.forEach(({ size, signed, name }) => { + const val = value[name] + if ((!signed && val < 0) || (signed && val < -(1 << (size - 1)))) { throw new Error(value + ' < ' + signed ? (-(1 << (size - 1))) : 0) } else if ((!signed && val >= 1 << size) || + (signed && val >= (1 << (size - 1)) - 1)) { throw new Error(value + ' >= ' + signed ? (1 << size) : ((1 << (size - 1)) - 1)) } + while (size > 0) { + const writeBits = Math.min(8 - bits, size) + toWrite = toWrite << writeBits | + ((val >> (size - writeBits)) & generateBitMask(writeBits)) + size -= writeBits + bits += writeBits + if (bits === 8) { + buffer[offset++] = toWrite + bits = 0 + toWrite = 0 + } + } + }) + if (bits !== 0) { buffer[offset++] = toWrite << (8 - bits) } + return offset +} + +function sizeOfBitField (value, typeArgs) { + return Math.ceil(typeArgs.reduce((acc, { size }) => { + return acc + size + }, 0) / 8) +} + +function readCString (buffer, offset) { + let size = 0 + while (offset + size < buffer.length && buffer[offset + size] !== 0x00) { size++ } + if (buffer.length < offset + size + 1) { throw new PartialReadError() } + + return { + value: buffer.toString('utf8', offset, offset + size), + size: size + 1 + } +} + +function writeCString (value, buffer, offset) { + const length = Buffer.byteLength(value, 'utf8') + buffer.write(value, offset, length, 'utf8') + offset += length + buffer.writeInt8(0x00, offset) + return offset + 1 +} + +function sizeOfCString (value) { + const length = Buffer.byteLength(value, 'utf8') + return length + 1 +} diff --git a/node_modules/protodef/src/index.js b/node_modules/protodef/src/index.js new file mode 100644 index 00000000..dd9a32e2 --- /dev/null +++ b/node_modules/protodef/src/index.js @@ -0,0 +1,12 @@ +const ProtoDef = require('./protodef') +const proto = new ProtoDef() + +module.exports = { + ProtoDef: ProtoDef, + Serializer: require('./serializer').Serializer, + Parser: require('./serializer').Parser, + FullPacketParser: require('./serializer').FullPacketParser, + Compiler: require('./compiler'), + types: proto.types, + utils: require('./utils') +} diff --git a/node_modules/protodef/src/protodef.js b/node_modules/protodef/src/protodef.js new file mode 100644 index 00000000..60cbf085 --- /dev/null +++ b/node_modules/protodef/src/protodef.js @@ -0,0 +1,164 @@ +const { getFieldInfo, tryCatch } = require('./utils') +const reduce = require('lodash.reduce') +const get = require('lodash.get') +const Validator = require('protodef-validator') + +function isFieldInfo (type) { + return typeof type === 'string' || + (Array.isArray(type) && typeof type[0] === 'string') || + type.type +} + +function findArgs (acc, v, k) { + if (typeof v === 'string' && v.charAt(0) === '$') { acc.push({ 'path': k, 'val': v.substr(1) }) } else if (Array.isArray(v) || typeof v === 'object') { acc = acc.concat(reduce(v, findArgs, []).map((v) => ({ 'path': k + '.' + v.path, 'val': v.val }))) } + return acc +} + +function setField (path, val, into) { + const c = path.split('.').reverse() + while (c.length > 1) { + into = into[c.pop()] + } + into[c.pop()] = val +} + +function extendType (functions, defaultTypeArgs) { + const json = JSON.stringify(defaultTypeArgs) + const argPos = reduce(defaultTypeArgs, findArgs, []) + function produceArgs (typeArgs) { + const args = JSON.parse(json) + argPos.forEach((v) => { + setField(v.path, typeArgs[v.val], args) + }) + return args + } + return [function read (buffer, offset, typeArgs, context) { + return functions[0].call(this, buffer, offset, produceArgs(typeArgs), context) + }, function write (value, buffer, offset, typeArgs, context) { + return functions[1].call(this, value, buffer, offset, produceArgs(typeArgs), context) + }, function sizeOf (value, typeArgs, context) { + if (typeof functions[2] === 'function') { return functions[2].call(this, value, produceArgs(typeArgs), context) } else { return functions[2] } + }] +} + +class ProtoDef { + constructor (validation = true) { + this.types = {} + this.validator = validation ? new Validator() : null + this.addDefaultTypes() + } + + addDefaultTypes () { + this.addTypes(require('./datatypes/numeric')) + this.addTypes(require('./datatypes/utils')) + this.addTypes(require('./datatypes/structures')) + this.addTypes(require('./datatypes/conditional')) + } + + addProtocol (protocolData, path) { + const self = this + function recursiveAddTypes (protocolData, path) { + if (protocolData === undefined) { return } + if (protocolData.types) { self.addTypes(protocolData.types) } + recursiveAddTypes(get(protocolData, path.shift()), path) + } + + if (this.validator) { this.validator.validateProtocol(protocolData) } + + recursiveAddTypes(protocolData, path) + } + + addType (name, functions, validate = true) { + if (functions === 'native') { + if (this.validator) { this.validator.addType(name) } + return + } + if (isFieldInfo(functions)) { + if (this.validator) { + if (validate) { this.validator.validateType(functions) } + this.validator.addType(name) + } + + let { type, typeArgs } = getFieldInfo(functions) + this.types[name] = typeArgs ? extendType(this.types[type], typeArgs) : this.types[type] + } else { + if (this.validator) { + if (functions[3]) { + this.validator.addType(name, functions[3]) + } else { this.validator.addType(name) } + } + + this.types[name] = functions + } + } + + addTypes (types) { + Object.keys(types).forEach((name) => this.addType(name, types[name], false)) + if (this.validator) { + Object.keys(types).forEach((name) => { + if (isFieldInfo(types[name])) { + this.validator.validateType(types[name]) + } + }) + } + } + + read (buffer, cursor, _fieldInfo, rootNodes) { + let { type, typeArgs } = getFieldInfo(_fieldInfo) + const typeFunctions = this.types[type] + if (!typeFunctions) { throw new Error('missing data type: ' + type) } + return typeFunctions[0].call(this, buffer, cursor, typeArgs, rootNodes) + } + + write (value, buffer, offset, _fieldInfo, rootNode) { + let { type, typeArgs } = getFieldInfo(_fieldInfo) + const typeFunctions = this.types[type] + if (!typeFunctions) { throw new Error('missing data type: ' + type) } + return typeFunctions[1].call(this, value, buffer, offset, typeArgs, rootNode) + } + + sizeOf (value, _fieldInfo, rootNode) { + let { type, typeArgs } = getFieldInfo(_fieldInfo) + const typeFunctions = this.types[type] + if (!typeFunctions) { + throw new Error('missing data type: ' + type) + } + if (typeof typeFunctions[2] === 'function') { + return typeFunctions[2].call(this, value, typeArgs, rootNode) + } else { + return typeFunctions[2] + } + } + + createPacketBuffer (type, packet) { + const length = tryCatch(() => this.sizeOf(packet, type, {}), + (e) => { + e.message = `SizeOf error for ${e.field} : ${e.message}` + throw e + }) + const buffer = Buffer.allocUnsafe(length) + tryCatch(() => this.write(packet, buffer, 0, type, {}), + (e) => { + e.message = `Write error for ${e.field} : ${e.message}` + throw e + }) + return buffer + } + + parsePacketBuffer (type, buffer) { + const { value, size } = tryCatch(() => this.read(buffer, 0, type, {}), + (e) => { + e.message = `Read error for ${e.field} : ${e.message}` + throw e + }) + return { + data: value, + metadata: { + size: size + }, + buffer: buffer.slice(0, size) + } + } +} + +module.exports = ProtoDef diff --git a/node_modules/protodef/src/serializer.js b/node_modules/protodef/src/serializer.js new file mode 100644 index 00000000..20aa6611 --- /dev/null +++ b/node_modules/protodef/src/serializer.js @@ -0,0 +1,98 @@ +const Transform = require('readable-stream').Transform + +class Serializer extends Transform { + constructor (proto, mainType) { + super({ writableObjectMode: true }) + this.proto = proto + this.mainType = mainType + this.queue = Buffer.alloc(0) + } + + createPacketBuffer (packet) { + return this.proto.createPacketBuffer(this.mainType, packet) + } + + _transform (chunk, enc, cb) { + let buf + try { + buf = this.createPacketBuffer(chunk) + } catch (e) { + return cb(e) + } + this.push(buf) + return cb() + } +} + +class Parser extends Transform { + constructor (proto, mainType) { + super({ readableObjectMode: true }) + this.proto = proto + this.mainType = mainType + this.queue = Buffer.alloc(0) + } + + parsePacketBuffer (buffer) { + return this.proto.parsePacketBuffer(this.mainType, buffer) + } + + _transform (chunk, enc, cb) { + this.queue = Buffer.concat([this.queue, chunk]) + while (true) { + let packet + try { + packet = this.parsePacketBuffer(this.queue) + } catch (e) { + if (e.partialReadError) { return cb() } else { + e.buffer = this.queue + this.queue = Buffer.alloc(0) + return cb(e) + } + } + + this.push(packet) + this.queue = this.queue.slice(packet.metadata.size) + } + } +} + +class FullPacketParser extends Transform { + constructor (proto, mainType, noErrorLogging = false) { + super({ readableObjectMode: true }) + this.proto = proto + this.mainType = mainType + this.noErrorLogging = noErrorLogging + } + + parsePacketBuffer (buffer) { + return this.proto.parsePacketBuffer(this.mainType, buffer) + } + + _transform (chunk, enc, cb) { + let packet + try { + packet = this.parsePacketBuffer(chunk) + if (packet.metadata.size !== chunk.length && !this.noErrorLogging) { + console.log('Chunk size is ' + chunk.length + ' but only ' + packet.metadata.size + ' was read ; partial packet : ' + + JSON.stringify(packet.data) + '; buffer :' + chunk.toString('hex')) + } + } catch (e) { + if (e.partialReadError) { + if (!this.noErrorLogging) { + console.log(e.stack) + } + return cb() + } else { + return cb(e) + } + } + this.push(packet) + cb() + } +} + +module.exports = { + Serializer: Serializer, + Parser: Parser, + FullPacketParser: FullPacketParser +} diff --git a/node_modules/protodef/src/utils.js b/node_modules/protodef/src/utils.js new file mode 100644 index 00000000..e9c3e162 --- /dev/null +++ b/node_modules/protodef/src/utils.js @@ -0,0 +1,85 @@ +function getField (countField, context) { + const countFieldArr = countField.split('/') + let i = 0 + if (countFieldArr[i] === '') { + while (context.hasOwnProperty('..')) { context = context['..'] } + i++ + } + for (; i < countFieldArr.length; i++) { context = context[countFieldArr[i]] } + return context +} + +function getFieldInfo (fieldInfo) { + if (typeof fieldInfo === 'string') { return { type: fieldInfo } } else if (Array.isArray(fieldInfo)) { return { type: fieldInfo[0], typeArgs: fieldInfo[1] } } else if (typeof fieldInfo.type === 'string') { return fieldInfo } else { throw new Error('Not a fieldinfo') } +} + +function getCount (buffer, offset, { count, countType }, rootNode) { + let c = 0 + let size = 0 + if (typeof count === 'number') { c = count } else if (typeof count !== 'undefined') { + c = getField(count, rootNode) + } else if (typeof countType !== 'undefined') { + ({ size, value: c } = tryDoc(() => this.read(buffer, offset, getFieldInfo(countType), rootNode), '$count')) + } else { // TODO : broken schema, should probably error out. + c = 0 + } + return { count: c, size } +} + +function sendCount (len, buffer, offset, { count, countType }, rootNode) { + if (typeof count !== 'undefined' && len !== count) { + // TODO: Throw + } else if (typeof countType !== 'undefined') { + offset = this.write(len, buffer, offset, getFieldInfo(countType), rootNode) + } else { + // TODO: Throw + } + return offset +} + +function calcCount (len, { count, countType }, rootNode) { + if (typeof count === 'undefined' && typeof countType !== 'undefined') { return tryDoc(() => this.sizeOf(len, getFieldInfo(countType), rootNode), '$count') } else { return 0 } +} + +function addErrorField (e, field) { + e.field = e.field ? field + '.' + e.field : field + throw e +} + +function tryCatch (tryfn, catchfn) { + try { return tryfn() } catch (e) { catchfn(e) } +} + +function tryDoc (tryfn, field) { + return tryCatch(tryfn, (e) => addErrorField(e, field)) +} + +class ExtendableError extends Error { + constructor (message) { + super(message) + this.name = this.constructor.name + this.message = message + if (Error.captureStackTrace != null) { + Error.captureStackTrace(this, this.constructor.name) + } + } +} + +class PartialReadError extends ExtendableError { + constructor (message) { + super(message) + this.partialReadError = true + } +} + +module.exports = { + getField: getField, + getFieldInfo: getFieldInfo, + addErrorField: addErrorField, + getCount: getCount, + sendCount: sendCount, + calcCount: calcCount, + tryCatch: tryCatch, + tryDoc: tryDoc, + PartialReadError: PartialReadError +} diff --git a/node_modules/protodef/test/dataTypes/datatypes.js b/node_modules/protodef/test/dataTypes/datatypes.js new file mode 100644 index 00000000..de0eb6a2 --- /dev/null +++ b/node_modules/protodef/test/dataTypes/datatypes.js @@ -0,0 +1,86 @@ +/* eslint-env mocha */ + +const expect = require('chai').expect +const Validator = require('jsonschema').Validator +const v = new Validator() +const assert = require('assert') + +const { testData, proto, compiledProto } = require('./prepareTests') + +function testValue (type, value, buffer) { + it('writes', function () { + expect(proto.createPacketBuffer(type, value)).to.deep.equal(buffer) + }) + it('reads', function () { + const actualResult = proto.parsePacketBuffer(type, buffer) + if (value === null) { assert.ok(actualResult.data === undefined) } else { expect(actualResult.data).to.deep.equal(value) } + expect(actualResult.metadata.size).to.deep.equal(buffer.length) + }) + it('writes (compiled)', function () { + expect(compiledProto.createPacketBuffer(type, value)).to.deep.equal(buffer) + }) + it('reads (compiled)', function () { + const actualResult = compiledProto.parsePacketBuffer(type, buffer) + if (value === null) { assert.ok(actualResult.data === undefined) } else { expect(actualResult.data).to.deep.equal(value) } + expect(actualResult.metadata.size).to.deep.equal(buffer.length) + }) +} + +function testType (type, values) { + if (values.length === 0) { + it.skip('Has no tests', () => { + + }) + } + values.forEach((value) => { + if (value.description) { + describe(value.description, () => { + testValue(type, value.value, value.buffer) + }) + } else { testValue(type, value.value, value.buffer) } + }) + if (type !== 'void') { + it('reads 0 bytes and throw a PartialReadError', () => { + try { + proto.parsePacketBuffer(type, Buffer.alloc(0)) + } catch (e) { + if (!e.partialReadError) { throw e } + return + } + throw Error('no PartialReadError thrown') + }) + + it('reads 0 bytes and throw a PartialReadError (compiled)', () => { + try { + compiledProto.parsePacketBuffer(type, Buffer.alloc(0)) + } catch (e) { + if (!e.partialReadError) { throw e } + return + } + throw Error('no PartialReadError thrown') + }) + } +} + +testData.forEach(tests => { + describe(tests.kind, () => { + it('validates the json schema', () => { + const schema = require('../../ProtoDef/test/datatype_tests_schema.json') + v.addSchema(require('../../ProtoDef/schemas/datatype'), 'dataType') + const result = v.validate(tests.originalData, schema) + assert.strictEqual(result.errors.length, 0, require('util').inspect(result.errors, { 'depth': null })) + }) + + tests.data.forEach(test => { + describe(test.type, () => { + test.subtypes.forEach((subtype) => { + if (subtype.description) { + describe(subtype.description, () => { + testType(subtype.type, subtype.values) + }) + } else { testType(test.type, subtype.values) } + }) + }) + }) + }) +}) diff --git a/node_modules/protodef/test/dataTypes/prepareTests.js b/node_modules/protodef/test/dataTypes/prepareTests.js new file mode 100644 index 00000000..093c1109 --- /dev/null +++ b/node_modules/protodef/test/dataTypes/prepareTests.js @@ -0,0 +1,66 @@ +const ProtoDef = require('protodef').ProtoDef +const { ProtoDefCompiler } = require('protodef').Compiler + +const proto = new ProtoDef() +const compiler = new ProtoDefCompiler() + +const testData = [ + { + 'kind': 'conditional', + 'data': require('../../ProtoDef/test/conditional.json') + }, + { + 'kind': 'numeric', + 'data': require('../../ProtoDef/test/numeric.json') + }, + { + 'kind': 'structures', + 'data': require('../../ProtoDef/test/structures.json') + }, + { + 'kind': 'utils', + 'data': require('../../ProtoDef/test/utils.json') + } +] + +function arrayToBuffer (arr) { + return Buffer.from(arr.map(e => parseInt(e))) +} + +function transformValues (type, values) { + return values.map(value => ({ + buffer: arrayToBuffer(value.buffer), + value: type.indexOf('buffer') === 0 ? arrayToBuffer(value.value) : value.value, + description: value.description + })) +} + +testData.forEach(tests => { + tests.originalData = JSON.parse(JSON.stringify(tests.data)) + tests.data.forEach(test => { + const subTypes = [] + if (test.subtypes) { + test.subtypes.forEach((subtype, i) => { + const type = test.type + '_' + i + proto.addType(type, subtype.type) + let types = {} + types[type] = subtype.type + compiler.addTypesToCompile(types) + + subtype.values = transformValues(test.type, subtype.values) + subtype.type = type + subTypes.push(subtype) + }) + } else { + test.values = transformValues(test.type, test.values) + subTypes.push({ type: test.type, values: test.values }) + } + test.subtypes = subTypes + }) +}) + +module.exports = { + testData, + proto, + compiledProto: compiler.compileProtoDefSync() +} diff --git a/node_modules/punycode/LICENSE-MIT.txt b/node_modules/punycode/LICENSE-MIT.txt new file mode 100644 index 00000000..a41e0a7e --- /dev/null +++ b/node_modules/punycode/LICENSE-MIT.txt @@ -0,0 +1,20 @@ +Copyright Mathias Bynens + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/punycode/README.md b/node_modules/punycode/README.md new file mode 100644 index 00000000..ee2f9d63 --- /dev/null +++ b/node_modules/punycode/README.md @@ -0,0 +1,122 @@ +# Punycode.js [![Build status](https://travis-ci.org/bestiejs/punycode.js.svg?branch=master)](https://travis-ci.org/bestiejs/punycode.js) [![Code coverage status](http://img.shields.io/codecov/c/github/bestiejs/punycode.js.svg)](https://codecov.io/gh/bestiejs/punycode.js) [![Dependency status](https://gemnasium.com/bestiejs/punycode.js.svg)](https://gemnasium.com/bestiejs/punycode.js) + +Punycode.js is a robust Punycode converter that fully complies to [RFC 3492](https://tools.ietf.org/html/rfc3492) and [RFC 5891](https://tools.ietf.org/html/rfc5891). + +This JavaScript library is the result of comparing, optimizing and documenting different open-source implementations of the Punycode algorithm: + +* [The C example code from RFC 3492](https://tools.ietf.org/html/rfc3492#appendix-C) +* [`punycode.c` by _Markus W. Scherer_ (IBM)](http://opensource.apple.com/source/ICU/ICU-400.42/icuSources/common/punycode.c) +* [`punycode.c` by _Ben Noordhuis_](https://github.com/bnoordhuis/punycode/blob/master/punycode.c) +* [JavaScript implementation by _some_](http://stackoverflow.com/questions/183485/can-anyone-recommend-a-good-free-javascript-for-punycode-to-unicode-conversion/301287#301287) +* [`punycode.js` by _Ben Noordhuis_](https://github.com/joyent/node/blob/426298c8c1c0d5b5224ac3658c41e7c2a3fe9377/lib/punycode.js) (note: [not fully compliant](https://github.com/joyent/node/issues/2072)) + +This project was [bundled](https://github.com/joyent/node/blob/master/lib/punycode.js) with Node.js from [v0.6.2+](https://github.com/joyent/node/compare/975f1930b1...61e796decc) until [v7](https://github.com/nodejs/node/pull/7941) (soft-deprecated). + +The current version supports recent versions of Node.js only. It provides a CommonJS module and an ES6 module. For the old version that offers the same functionality with broader support, including Rhino, Ringo, Narwhal, and web browsers, see [v1.4.1](https://github.com/bestiejs/punycode.js/releases/tag/v1.4.1). + +## Installation + +Via [npm](https://www.npmjs.com/): + +```bash +npm install punycode --save +``` + +In [Node.js](https://nodejs.org/): + +```js +const punycode = require('punycode'); +``` + +## API + +### `punycode.decode(string)` + +Converts a Punycode string of ASCII symbols to a string of Unicode symbols. + +```js +// decode domain name parts +punycode.decode('maana-pta'); // 'mañana' +punycode.decode('--dqo34k'); // '☃-⌘' +``` + +### `punycode.encode(string)` + +Converts a string of Unicode symbols to a Punycode string of ASCII symbols. + +```js +// encode domain name parts +punycode.encode('mañana'); // 'maana-pta' +punycode.encode('☃-⌘'); // '--dqo34k' +``` + +### `punycode.toUnicode(input)` + +Converts a Punycode string representing a domain name or an email address to Unicode. Only the Punycoded parts of the input will be converted, i.e. it doesn’t matter if you call it on a string that has already been converted to Unicode. + +```js +// decode domain names +punycode.toUnicode('xn--maana-pta.com'); +// → 'mañana.com' +punycode.toUnicode('xn----dqo34k.com'); +// → '☃-⌘.com' + +// decode email addresses +punycode.toUnicode('джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq'); +// → 'джумла@джpумлатест.bрфa' +``` + +### `punycode.toASCII(input)` + +Converts a lowercased Unicode string representing a domain name or an email address to Punycode. Only the non-ASCII parts of the input will be converted, i.e. it doesn’t matter if you call it with a domain that’s already in ASCII. + +```js +// encode domain names +punycode.toASCII('mañana.com'); +// → 'xn--maana-pta.com' +punycode.toASCII('☃-⌘.com'); +// → 'xn----dqo34k.com' + +// encode email addresses +punycode.toASCII('джумла@джpумлатест.bрфa'); +// → 'джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq' +``` + +### `punycode.ucs2` + +#### `punycode.ucs2.decode(string)` + +Creates an array containing the numeric code point values of each Unicode symbol in the string. While [JavaScript uses UCS-2 internally](https://mathiasbynens.be/notes/javascript-encoding), this function will convert a pair of surrogate halves (each of which UCS-2 exposes as separate characters) into a single code point, matching UTF-16. + +```js +punycode.ucs2.decode('abc'); +// → [0x61, 0x62, 0x63] +// surrogate pair for U+1D306 TETRAGRAM FOR CENTRE: +punycode.ucs2.decode('\uD834\uDF06'); +// → [0x1D306] +``` + +#### `punycode.ucs2.encode(codePoints)` + +Creates a string based on an array of numeric code point values. + +```js +punycode.ucs2.encode([0x61, 0x62, 0x63]); +// → 'abc' +punycode.ucs2.encode([0x1D306]); +// → '\uD834\uDF06' +``` + +### `punycode.version` + +A string representing the current Punycode.js version number. + +## Author + +| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") | +|---| +| [Mathias Bynens](https://mathiasbynens.be/) | + +## License + +Punycode.js is available under the [MIT](https://mths.be/mit) license. diff --git a/node_modules/punycode/package.json b/node_modules/punycode/package.json new file mode 100644 index 00000000..bb6c05b6 --- /dev/null +++ b/node_modules/punycode/package.json @@ -0,0 +1,85 @@ +{ + "_from": "punycode@^2.1.0", + "_id": "punycode@2.1.1", + "_inBundle": false, + "_integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "_location": "/punycode", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "punycode@^2.1.0", + "name": "punycode", + "escapedName": "punycode", + "rawSpec": "^2.1.0", + "saveSpec": null, + "fetchSpec": "^2.1.0" + }, + "_requiredBy": [ + "/uri-js" + ], + "_resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "_shasum": "b58b010ac40c22c5657616c8d2c2c02c7bf479ec", + "_spec": "punycode@^2.1.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\uri-js", + "author": { + "name": "Mathias Bynens", + "url": "https://mathiasbynens.be/" + }, + "bugs": { + "url": "https://github.com/bestiejs/punycode.js/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Mathias Bynens", + "url": "https://mathiasbynens.be/" + } + ], + "deprecated": false, + "description": "A robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms.", + "devDependencies": { + "codecov": "^1.0.1", + "istanbul": "^0.4.1", + "mocha": "^2.5.3" + }, + "engines": { + "node": ">=6" + }, + "files": [ + "LICENSE-MIT.txt", + "punycode.js", + "punycode.es6.js" + ], + "homepage": "https://mths.be/punycode", + "jsnext:main": "punycode.es6.js", + "jspm": { + "map": { + "./punycode.js": { + "node": "@node/punycode" + } + } + }, + "keywords": [ + "punycode", + "unicode", + "idn", + "idna", + "dns", + "url", + "domain" + ], + "license": "MIT", + "main": "punycode.js", + "module": "punycode.es6.js", + "name": "punycode", + "repository": { + "type": "git", + "url": "git+https://github.com/bestiejs/punycode.js.git" + }, + "scripts": { + "prepublish": "node scripts/prepublish.js", + "test": "mocha tests" + }, + "version": "2.1.1" +} diff --git a/node_modules/punycode/punycode.es6.js b/node_modules/punycode/punycode.es6.js new file mode 100644 index 00000000..4610bc9e --- /dev/null +++ b/node_modules/punycode/punycode.es6.js @@ -0,0 +1,441 @@ +'use strict'; + +/** Highest positive signed 32-bit float value */ +const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 + +/** Bootstring parameters */ +const base = 36; +const tMin = 1; +const tMax = 26; +const skew = 38; +const damp = 700; +const initialBias = 72; +const initialN = 128; // 0x80 +const delimiter = '-'; // '\x2D' + +/** Regular expressions */ +const regexPunycode = /^xn--/; +const regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars +const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators + +/** Error messages */ +const errors = { + 'overflow': 'Overflow: input needs wider integers to process', + 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', + 'invalid-input': 'Invalid input' +}; + +/** Convenience shortcuts */ +const baseMinusTMin = base - tMin; +const floor = Math.floor; +const stringFromCharCode = String.fromCharCode; + +/*--------------------------------------------------------------------------*/ + +/** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ +function error(type) { + throw new RangeError(errors[type]); +} + +/** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ +function map(array, fn) { + const result = []; + let length = array.length; + while (length--) { + result[length] = fn(array[length]); + } + return result; +} + +/** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ +function mapDomain(string, fn) { + const parts = string.split('@'); + let result = ''; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + '@'; + string = parts[1]; + } + // Avoid `split(regex)` for IE8 compatibility. See #17. + string = string.replace(regexSeparators, '\x2E'); + const labels = string.split('.'); + const encoded = map(labels, fn).join('.'); + return result + encoded; +} + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ +function ucs2decode(string) { + const output = []; + let counter = 0; + const length = string.length; + while (counter < length) { + const value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + const extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; +} + +/** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ +const ucs2encode = array => String.fromCodePoint(...array); + +/** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ +const basicToDigit = function(codePoint) { + if (codePoint - 0x30 < 0x0A) { + return codePoint - 0x16; + } + if (codePoint - 0x41 < 0x1A) { + return codePoint - 0x41; + } + if (codePoint - 0x61 < 0x1A) { + return codePoint - 0x61; + } + return base; +}; + +/** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ +const digitToBasic = function(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ +const adapt = function(delta, numPoints, firstTime) { + let k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ +const decode = function(input) { + // Don't use UCS-2. + const output = []; + const inputLength = input.length; + let i = 0; + let n = initialN; + let bias = initialBias; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + let basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + + for (let j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error('not-basic'); + } + output.push(input.charCodeAt(j)); + } + + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { + + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + let oldi = i; + for (let w = 1, k = base; /* no condition */; k += base) { + + if (index >= inputLength) { + error('invalid-input'); + } + + const digit = basicToDigit(input.charCodeAt(index++)); + + if (digit >= base || digit > floor((maxInt - i) / w)) { + error('overflow'); + } + + i += digit * w; + const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + + if (digit < t) { + break; + } + + const baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error('overflow'); + } + + w *= baseMinusT; + + } + + const out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); + + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error('overflow'); + } + + n += floor(i / out); + i %= out; + + // Insert `n` at position `i` of the output. + output.splice(i++, 0, n); + + } + + return String.fromCodePoint(...output); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ +const encode = function(input) { + const output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + let inputLength = input.length; + + // Initialize the state. + let n = initialN; + let delta = 0; + let bias = initialBias; + + // Handle the basic code points. + for (const currentValue of input) { + if (currentValue < 0x80) { + output.push(stringFromCharCode(currentValue)); + } + } + + let basicLength = output.length; + let handledCPCount = basicLength; + + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + + // All non-basic code points < n have been handled already. Find the next + // larger one: + let m = maxInt; + for (const currentValue of input) { + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow. + const handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error('overflow'); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (const currentValue of input) { + if (currentValue < n && ++delta > maxInt) { + error('overflow'); + } + if (currentValue == n) { + // Represent delta as a generalized variable-length integer. + let q = delta; + for (let k = base; /* no condition */; k += base) { + const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + if (q < t) { + break; + } + const qMinusT = q - t; + const baseMinusT = base - t; + output.push( + stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) + ); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + + ++delta; + ++n; + + } + return output.join(''); +}; + +/** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ +const toUnicode = function(input) { + return mapDomain(input, function(string) { + return regexPunycode.test(string) + ? decode(string.slice(4).toLowerCase()) + : string; + }); +}; + +/** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ +const toASCII = function(input) { + return mapDomain(input, function(string) { + return regexNonASCII.test(string) + ? 'xn--' + encode(string) + : string; + }); +}; + +/*--------------------------------------------------------------------------*/ + +/** Define the public API */ +const punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + 'version': '2.1.0', + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + 'ucs2': { + 'decode': ucs2decode, + 'encode': ucs2encode + }, + 'decode': decode, + 'encode': encode, + 'toASCII': toASCII, + 'toUnicode': toUnicode +}; + +export { ucs2decode, ucs2encode, decode, encode, toASCII, toUnicode }; +export default punycode; diff --git a/node_modules/punycode/punycode.js b/node_modules/punycode/punycode.js new file mode 100644 index 00000000..ea61fd0d --- /dev/null +++ b/node_modules/punycode/punycode.js @@ -0,0 +1,440 @@ +'use strict'; + +/** Highest positive signed 32-bit float value */ +const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 + +/** Bootstring parameters */ +const base = 36; +const tMin = 1; +const tMax = 26; +const skew = 38; +const damp = 700; +const initialBias = 72; +const initialN = 128; // 0x80 +const delimiter = '-'; // '\x2D' + +/** Regular expressions */ +const regexPunycode = /^xn--/; +const regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars +const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators + +/** Error messages */ +const errors = { + 'overflow': 'Overflow: input needs wider integers to process', + 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', + 'invalid-input': 'Invalid input' +}; + +/** Convenience shortcuts */ +const baseMinusTMin = base - tMin; +const floor = Math.floor; +const stringFromCharCode = String.fromCharCode; + +/*--------------------------------------------------------------------------*/ + +/** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ +function error(type) { + throw new RangeError(errors[type]); +} + +/** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ +function map(array, fn) { + const result = []; + let length = array.length; + while (length--) { + result[length] = fn(array[length]); + } + return result; +} + +/** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ +function mapDomain(string, fn) { + const parts = string.split('@'); + let result = ''; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + '@'; + string = parts[1]; + } + // Avoid `split(regex)` for IE8 compatibility. See #17. + string = string.replace(regexSeparators, '\x2E'); + const labels = string.split('.'); + const encoded = map(labels, fn).join('.'); + return result + encoded; +} + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ +function ucs2decode(string) { + const output = []; + let counter = 0; + const length = string.length; + while (counter < length) { + const value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + const extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; +} + +/** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ +const ucs2encode = array => String.fromCodePoint(...array); + +/** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ +const basicToDigit = function(codePoint) { + if (codePoint - 0x30 < 0x0A) { + return codePoint - 0x16; + } + if (codePoint - 0x41 < 0x1A) { + return codePoint - 0x41; + } + if (codePoint - 0x61 < 0x1A) { + return codePoint - 0x61; + } + return base; +}; + +/** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ +const digitToBasic = function(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ +const adapt = function(delta, numPoints, firstTime) { + let k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ +const decode = function(input) { + // Don't use UCS-2. + const output = []; + const inputLength = input.length; + let i = 0; + let n = initialN; + let bias = initialBias; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + let basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + + for (let j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error('not-basic'); + } + output.push(input.charCodeAt(j)); + } + + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { + + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + let oldi = i; + for (let w = 1, k = base; /* no condition */; k += base) { + + if (index >= inputLength) { + error('invalid-input'); + } + + const digit = basicToDigit(input.charCodeAt(index++)); + + if (digit >= base || digit > floor((maxInt - i) / w)) { + error('overflow'); + } + + i += digit * w; + const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + + if (digit < t) { + break; + } + + const baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error('overflow'); + } + + w *= baseMinusT; + + } + + const out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); + + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error('overflow'); + } + + n += floor(i / out); + i %= out; + + // Insert `n` at position `i` of the output. + output.splice(i++, 0, n); + + } + + return String.fromCodePoint(...output); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ +const encode = function(input) { + const output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + let inputLength = input.length; + + // Initialize the state. + let n = initialN; + let delta = 0; + let bias = initialBias; + + // Handle the basic code points. + for (const currentValue of input) { + if (currentValue < 0x80) { + output.push(stringFromCharCode(currentValue)); + } + } + + let basicLength = output.length; + let handledCPCount = basicLength; + + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + + // All non-basic code points < n have been handled already. Find the next + // larger one: + let m = maxInt; + for (const currentValue of input) { + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow. + const handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error('overflow'); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (const currentValue of input) { + if (currentValue < n && ++delta > maxInt) { + error('overflow'); + } + if (currentValue == n) { + // Represent delta as a generalized variable-length integer. + let q = delta; + for (let k = base; /* no condition */; k += base) { + const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + if (q < t) { + break; + } + const qMinusT = q - t; + const baseMinusT = base - t; + output.push( + stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) + ); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + + ++delta; + ++n; + + } + return output.join(''); +}; + +/** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ +const toUnicode = function(input) { + return mapDomain(input, function(string) { + return regexPunycode.test(string) + ? decode(string.slice(4).toLowerCase()) + : string; + }); +}; + +/** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ +const toASCII = function(input) { + return mapDomain(input, function(string) { + return regexNonASCII.test(string) + ? 'xn--' + encode(string) + : string; + }); +}; + +/*--------------------------------------------------------------------------*/ + +/** Define the public API */ +const punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + 'version': '2.1.0', + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + 'ucs2': { + 'decode': ucs2decode, + 'encode': ucs2encode + }, + 'decode': decode, + 'encode': encode, + 'toASCII': toASCII, + 'toUnicode': toUnicode +}; + +module.exports = punycode; diff --git a/node_modules/railroad-diagrams/.gitattributes b/node_modules/railroad-diagrams/.gitattributes new file mode 100644 index 00000000..412eeda7 --- /dev/null +++ b/node_modules/railroad-diagrams/.gitattributes @@ -0,0 +1,22 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp +*.sln merge=union +*.csproj merge=union +*.vbproj merge=union +*.fsproj merge=union +*.dbproj merge=union + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/node_modules/railroad-diagrams/.npmignore b/node_modules/railroad-diagrams/.npmignore new file mode 100644 index 00000000..5ebd21a1 --- /dev/null +++ b/node_modules/railroad-diagrams/.npmignore @@ -0,0 +1,163 @@ +################# +## Eclipse +################# + +*.pydevproject +.project +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath + + +################# +## Visual Studio +################# + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Rr]elease/ +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.vspscc +.builds +*.dotCover + +## TODO: If you have NuGet Package Restore enabled, uncomment this +#packages/ + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf + +# Visual Studio profiler +*.psess +*.vsp + +# ReSharper is a .NET coding add-in +_ReSharper* + +# Installshield output folder +[Ee]xpress + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish + +# Others +[Bb]in +[Oo]bj +sql +TestResults +*.Cache +ClientBin +stylecop.* +~$* +*.dbmdl +Generated_Code #added for RIA/Silverlight projects + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML + + + +############ +## Windows +############ + +# Windows image file caches +Thumbs.db + +# Folder config file +Desktop.ini + + +############# +## Python +############# + +*.py[co] + +# Packages +*.egg +*.egg-info +dist +build +eggs +parts +bin +var +sdist +develop-eggs +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox + +#Translations +*.mo + +#Mr Developer +.mr.developer.cfg + +# Mac crap +.DS_Store diff --git a/node_modules/railroad-diagrams/README.md b/node_modules/railroad-diagrams/README.md new file mode 100644 index 00000000..65f02586 --- /dev/null +++ b/node_modules/railroad-diagrams/README.md @@ -0,0 +1,86 @@ +Railroad-diagram Generator +========================== + +This is a small js library for generating railroad diagrams +(like what [JSON.org](http://json.org) uses) +using SVG. + +Railroad diagrams are a way of visually representing a grammar +in a form that is more readable than using regular expressions or BNF. +I think (though I haven't given it a lot of thought yet) that if it's easy to write a context-free grammar for the language, +the corresponding railroad diagram will be easy as well. + +There are several railroad-diagram generators out there, but none of them had the visual appeal I wanted. +[Here's an example of how they look!](http://www.xanthir.com/etc/railroad-diagrams/example.html) +And [here's an online generator for you to play with and get SVG code from!](http://www.xanthir.com/etc/railroad-diagrams/generator.html) + +The library now exists in a Python port as well! See the information further down. + +Details +------- + +To use the library, just include the js and css files, and then call the Diagram() function. +Its arguments are the components of the diagram (Diagram is a special form of Sequence). +An alternative to Diagram() is ComplexDiagram() which is used to describe a complex type diagram. +Components are either leaves or containers. + +The leaves: +* Terminal(text) or a bare string - represents literal text +* NonTerminal(text) - represents an instruction or another production +* Comment(text) - a comment +* Skip() - an empty line + +The containers: +* Sequence(children) - like simple concatenation in a regex +* Choice(index, children) - like | in a regex. The index argument specifies which child is the "normal" choice and should go in the middle +* Optional(child, skip) - like ? in a regex. A shorthand for `Choice(1, [Skip(), child])`. If the optional `skip` parameter has the value `"skip"`, it instead puts the Skip() in the straight-line path, for when the "normal" behavior is to omit the item. +* OneOrMore(child, repeat) - like + in a regex. The 'repeat' argument is optional, and specifies something that must go between the repetitions. +* ZeroOrMore(child, repeat, skip) - like * in a regex. A shorthand for `Optional(OneOrMore(child, repeat))`. The optional `skip` parameter is identical to Optional(). + +For convenience, each component can be called with or without `new`. +If called without `new`, +the container components become n-ary; +that is, you can say either `new Sequence([A, B])` or just `Sequence(A,B)`. + +After constructing a Diagram, call `.format(...padding)` on it, specifying 0-4 padding values (just like CSS) for some additional "breathing space" around the diagram (the paddings default to 20px). + +The result can either be `.toString()`'d for the markup, or `.toSVG()`'d for an `` element, which can then be immediately inserted to the document. As a convenience, Diagram also has an `.addTo(element)` method, which immediately converts it to SVG and appends it to the referenced element with default paddings. `element` defaults to `document.body`. + +Options +------- + +There are a few options you can tweak, at the bottom of the file. Just tweak either until the diagram looks like what you want. +You can also change the CSS file - feel free to tweak to your heart's content. +Note, though, that if you change the text sizes in the CSS, +you'll have to go adjust the metrics for the leaf nodes as well. + +* VERTICAL_SEPARATION - sets the minimum amount of vertical separation between two items. Note that the stroke width isn't counted when computing the separation; this shouldn't be relevant unless you have a very small separation or very large stroke width. +* ARC_RADIUS - the radius of the arcs used in the branching containers like Choice. This has a relatively large effect on the size of non-trivial diagrams. Both tight and loose values look good, depending on what you're going for. +* DIAGRAM_CLASS - the class set on the root `` element of each diagram, for use in the CSS stylesheet. +* STROKE_ODD_PIXEL_LENGTH - the default stylesheet uses odd pixel lengths for 'stroke'. Due to rasterization artifacts, they look best when the item has been translated half a pixel in both directions. If you change the styling to use a stroke with even pixel lengths, you'll want to set this variable to `false`. +* INTERNAL_ALIGNMENT - when some branches of a container are narrower than others, this determines how they're aligned in the extra space. Defaults to "center", but can be set to "left" or "right". + +Caveats +------- + +At this early stage, the generator is feature-complete and works as intended, but still has several TODOs: + +* The font-sizes are hard-coded right now, and the font handling in general is very dumb - I'm just guessing at some metrics that are probably "good enough" rather than measuring things properly. + +Python Port +----------- + +In addition to the canonical JS version, the library now exists as a Python library as well. + +Using it is basically identical. The config variables are globals in the file, and so may be adjusted either manually or via tweaking from inside your program. + +The main difference from the JS port is how you extract the string from the Diagram. You'll find a `writeSvg(writerFunc)` method on `Diagram`, which takes a callback of one argument and passes it the string form of the diagram. For example, it can be used like `Diagram(...).writeSvg(sys.stdout.write)` to write to stdout. **Note**: the callback will be called multiple times as it builds up the string, not just once with the whole thing. If you need it all at once, consider something like a `StringIO` as an easy way to collect it into a single string. + +License +------- + +This document and all associated files in the github project are licensed under [CC0](http://creativecommons.org/publicdomain/zero/1.0/) ![](http://i.creativecommons.org/p/zero/1.0/80x15.png). +This means you can reuse, remix, or otherwise appropriate this project for your own use **without restriction**. +(The actual legal meaning can be found at the above link.) +Don't ask me for permission to use any part of this project, **just use it**. +I would appreciate attribution, but that is not required by the license. diff --git a/node_modules/railroad-diagrams/css-example.py-js b/node_modules/railroad-diagrams/css-example.py-js new file mode 100644 index 00000000..22bc3728 --- /dev/null +++ b/node_modules/railroad-diagrams/css-example.py-js @@ -0,0 +1,183 @@ +"This is a polyglot Python/JavaScript file."; + +add('comment', Diagram( + '/*', + ZeroOrMore( + NonTerminal('anything but * followed by /')), + '*/')); + +add('newline', Diagram(Choice(0, '\\n', '\\r\\n', '\\r', '\\f'))); + +add('whitespace', Diagram(Choice( + 0, 'space', '\\t', NonTerminal('newline')))); + +add('hex digit', Diagram(NonTerminal('0-9 a-f or A-F'))); + +add('escape', Diagram( + '\\', Choice(0, + NonTerminal('not newline or hex digit'), + Sequence( + OneOrMore(NonTerminal('hex digit'), Comment('1-6 times')), + Optional(NonTerminal('whitespace'), 'skip'))))); + +add('', Diagram(OneOrMore(NonTerminal('whitespace')))); + +add('ws*', Diagram(ZeroOrMore(NonTerminal('')))); + +add('', Diagram( + Choice(0, Skip(), '-'), + Choice(0, NonTerminal('a-z A-Z _ or non-ASCII'), NonTerminal('escape')), + ZeroOrMore(Choice(0, + NonTerminal('a-z A-Z 0-9 _ - or non-ASCII'), NonTerminal('escape'))))); + +add('', Diagram( + NonTerminal(''), '(')); + +add('', Diagram( + '@', NonTerminal(''))); + +add('', Diagram( + '#', OneOrMore(Choice(0, + NonTerminal('a-z A-Z 0-9 _ - or non-ASCII'), + NonTerminal('escape'))))); + +add('', Diagram( + Choice(0, + Sequence( + '"', + ZeroOrMore( + Choice(0, + NonTerminal('not " \\ or newline'), + NonTerminal('escape'), + Sequence('\\', NonTerminal('newline')))), + '"'), + Sequence( + '\'', + ZeroOrMore( + Choice(0, + NonTerminal("not ' \\ or newline"), + NonTerminal('escape'), + Sequence('\\', NonTerminal('newline')))), + '\'')))); + +add('', Diagram( + NonTerminal(''), + '(', + NonTerminal('ws*'), + Optional(Sequence( + Choice(0, NonTerminal('url-unquoted'), NonTerminal('STRING')), + NonTerminal('ws*'))), + ')')); + +add('url-unquoted', Diagram(OneOrMore( + Choice(0, + NonTerminal('not " \' ( ) \\ whitespace or non-printable'), + NonTerminal('escape'))))); + +add('', Diagram( + Choice(1, '+', Skip(), '-'), + Choice(0, + Sequence( + OneOrMore(NonTerminal('digit')), + '.', + OneOrMore(NonTerminal('digit'))), + OneOrMore(NonTerminal('digit')), + Sequence( + '.', + OneOrMore(NonTerminal('digit')))), + Choice(0, + Skip(), + Sequence( + Choice(0, 'e', 'E'), + Choice(1, '+', Skip(), '-'), + OneOrMore(NonTerminal('digit')))))); + +add('', Diagram( + NonTerminal(''), NonTerminal(''))); + +add('', Diagram( + NonTerminal(''), '%')); + +add('', Diagram( + Choice(0, + 'U', + 'u'), + '+', + Choice(0, + Sequence(OneOrMore(NonTerminal('hex digit'), Comment('1-6 times'))), + Sequence( + ZeroOrMore(NonTerminal('hex digit'), Comment('1-5 times')), + OneOrMore('?', Comment('1 to (6 - digits) times'))), + Sequence( + OneOrMore(NonTerminal('hex digit'), Comment('1-6 times')), + '-', + OneOrMore(NonTerminal('hex digit'), Comment('1-6 times')))))); + +add('', Diagram('~=')); + +add('', Diagram('|=')); + +add('', Diagram('^=')); + +add('', Diagram('$=')); + +add('', Diagram('*=')); + +add('', Diagram('||')); + +add('', Diagram('<' + '!--')); + +add('', Diagram('-' + '->')); + + +NonTerminal = NonTerminal; + +add('Stylesheet', Diagram(ZeroOrMore(Choice(3, + NonTerminal(''), NonTerminal(''), NonTerminal(''), + NonTerminal('Qualified rule'), NonTerminal('At-rule'))))); + +add('Rule list', Diagram(ZeroOrMore(Choice(1, + NonTerminal(''), NonTerminal('Qualified rule'), NonTerminal('At-rule'))))); + +add('At-rule', Diagram( + NonTerminal(''), ZeroOrMore(NonTerminal('Component value')), + Choice(0, NonTerminal('{} block'), ';'))); + +add('Qualified rule', Diagram( + ZeroOrMore(NonTerminal('Component value')), + NonTerminal('{} block'))); + +add('Declaration list', Diagram( + NonTerminal('ws*'), + Choice(0, + Sequence( + Optional(NonTerminal('Declaration')), + Optional(Sequence(';', NonTerminal('Declaration list')))), + Sequence( + NonTerminal('At-rule'), + NonTerminal('Declaration list'))))); + +add('Declaration', Diagram( + NonTerminal(''), NonTerminal('ws*'), ':', + ZeroOrMore(NonTerminal('Component value')), Optional(NonTerminal('!important')))); + +add('!important', Diagram( + '!', NonTerminal('ws*'), NonTerminal(''), NonTerminal('ws*'))); + +add('Component value', Diagram(Choice(0, + NonTerminal('Preserved token'), + NonTerminal('{} block'), + NonTerminal('() block'), + NonTerminal('[] block'), + NonTerminal('Function block')))); + + +add('{} block', Diagram('{', ZeroOrMore(NonTerminal('Component value')), '}')); +add('() block', Diagram('(', ZeroOrMore(NonTerminal('Component value')), ')')); +add('[] block', Diagram('[', ZeroOrMore(NonTerminal('Component value')), ']')); + +add('Function block', Diagram( + NonTerminal(''), + ZeroOrMore(NonTerminal('Component value')), + ')')); + diff --git a/node_modules/railroad-diagrams/example.html b/node_modules/railroad-diagrams/example.html new file mode 100644 index 00000000..95b01482 --- /dev/null +++ b/node_modules/railroad-diagrams/example.html @@ -0,0 +1,141 @@ + + + + + +

IDENT

+
+ +
+

FUNCTION

+ +

AT-KEYWORD

+ +

HASH

+ +

STRING

+ +

URL

+ +

NUMBER

+ +

DIMENSION

+ +

PERCENTAGE

+ +

UNICODE-RANGE

+ +

COMMENT

+ +

CDO

+ +

CDC

+ diff --git a/node_modules/railroad-diagrams/generator.html b/node_modules/railroad-diagrams/generator.html new file mode 100644 index 00000000..2e85f092 --- /dev/null +++ b/node_modules/railroad-diagrams/generator.html @@ -0,0 +1,59 @@ + +Railroad Diagram Generator + + + +
+ + + + \ No newline at end of file diff --git a/node_modules/railroad-diagrams/package.json b/node_modules/railroad-diagrams/package.json new file mode 100644 index 00000000..0a711359 --- /dev/null +++ b/node_modules/railroad-diagrams/package.json @@ -0,0 +1,50 @@ +{ + "_from": "railroad-diagrams@^1.0.0", + "_id": "railroad-diagrams@1.0.0", + "_inBundle": false, + "_integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=", + "_location": "/railroad-diagrams", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "railroad-diagrams@^1.0.0", + "name": "railroad-diagrams", + "escapedName": "railroad-diagrams", + "rawSpec": "^1.0.0", + "saveSpec": null, + "fetchSpec": "^1.0.0" + }, + "_requiredBy": [ + "/nearley" + ], + "_resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "_shasum": "eb7e6267548ddedfb899c1b90e57374559cddb7e", + "_spec": "railroad-diagrams@^1.0.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\nearley", + "author": { + "name": "Tab Atkins Jr." + }, + "bugs": { + "url": "https://github.com/tabatkins/railroad-diagrams/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "A small JS+SVG library for drawing railroad syntax diagrams.", + "homepage": "https://github.com/tabatkins/railroad-diagrams", + "keywords": [ + "railroad", + "syntax", + "diagrams", + "grammar", + "svg" + ], + "license": "CC0-1.0", + "main": "railroad-diagrams.js", + "name": "railroad-diagrams", + "repository": { + "type": "git", + "url": "git+https://github.com/tabatkins/railroad-diagrams.git" + }, + "version": "1.0.0" +} diff --git a/node_modules/railroad-diagrams/railroad-diagrams.css b/node_modules/railroad-diagrams/railroad-diagrams.css new file mode 100644 index 00000000..0b200044 --- /dev/null +++ b/node_modules/railroad-diagrams/railroad-diagrams.css @@ -0,0 +1,23 @@ +svg.railroad-diagram { + background-color: hsl(30,20%,95%); +} +svg.railroad-diagram path { + stroke-width: 3; + stroke: black; + fill: rgba(0,0,0,0); +} +svg.railroad-diagram text { + font: bold 14px monospace; + text-anchor: middle; +} +svg.railroad-diagram text.label { + text-anchor: start; +} +svg.railroad-diagram text.comment { + font: italic 12px monospace; +} +svg.railroad-diagram rect { + stroke-width: 3; + stroke: black; + fill: hsl(120,100%,90%); +} diff --git a/node_modules/railroad-diagrams/railroad-diagrams.js b/node_modules/railroad-diagrams/railroad-diagrams.js new file mode 100644 index 00000000..afc45412 --- /dev/null +++ b/node_modules/railroad-diagrams/railroad-diagrams.js @@ -0,0 +1,524 @@ +/* +Railroad Diagrams +by Tab Atkins Jr. (and others) +http://xanthir.com +http://twitter.com/tabatkins +http://github.com/tabatkins/railroad-diagrams + +This document and all associated files in the github project are licensed under CC0: http://creativecommons.org/publicdomain/zero/1.0/ +This means you can reuse, remix, or otherwise appropriate this project for your own use WITHOUT RESTRICTION. +(The actual legal meaning can be found at the above link.) +Don't ask me for permission to use any part of this project, JUST USE IT. +I would appreciate attribution, but that is not required by the license. +*/ + +/* +This file uses a module pattern to avoid leaking names into the global scope. +The only accidental leakage is the name "temp". +The exported names can be found at the bottom of this file; +simply change the names in the array of strings to change what they are called in your application. + +As well, several configuration constants are passed into the module function at the bottom of this file. +At runtime, these constants can be found on the Diagram class. +*/ + +(function(options) { + function subclassOf(baseClass, superClass) { + baseClass.prototype = Object.create(superClass.prototype); + baseClass.prototype.$super = superClass.prototype; + } + + function unnull(/* children */) { + return [].slice.call(arguments).reduce(function(sofar, x) { return sofar !== undefined ? sofar : x; }); + } + + function determineGaps(outer, inner) { + var diff = outer - inner; + switch(Diagram.INTERNAL_ALIGNMENT) { + case 'left': return [0, diff]; break; + case 'right': return [diff, 0]; break; + case 'center': + default: return [diff/2, diff/2]; break; + } + } + + function wrapString(value) { + return ((typeof value) == 'string') ? new Terminal(value) : value; + } + + + function SVG(name, attrs, text) { + attrs = attrs || {}; + text = text || ''; + var el = document.createElementNS("http://www.w3.org/2000/svg",name); + for(var attr in attrs) { + el.setAttribute(attr, attrs[attr]); + } + el.textContent = text; + return el; + } + + function FakeSVG(tagName, attrs, text){ + if(!(this instanceof FakeSVG)) return new FakeSVG(tagName, attrs, text); + if(text) this.children = text; + else this.children = []; + this.tagName = tagName; + this.attrs = unnull(attrs, {}); + return this; + }; + FakeSVG.prototype.format = function(x, y, width) { + // Virtual + }; + FakeSVG.prototype.addTo = function(parent) { + if(parent instanceof FakeSVG) { + parent.children.push(this); + return this; + } else { + var svg = this.toSVG(); + parent.appendChild(svg); + return svg; + } + }; + FakeSVG.prototype.escapeString = function(string) { + // Escape markdown and HTML special characters + return string.replace(/[*_\`\[\]<&]/g, function(charString) { + return '&#' + charString.charCodeAt(0) + ';'; + }); + }; + FakeSVG.prototype.toSVG = function() { + var el = SVG(this.tagName, this.attrs); + if(typeof this.children == 'string') { + el.innerHTML = FakeSVG.prototype.escapeString(this.children); + } else { + this.children.forEach(function(e) { + el.appendChild(e.toSVG()); + }); + } + return el; + }; + FakeSVG.prototype.toString = function() { + var str = '<' + this.tagName; + var group = this.tagName == "g" || this.tagName == "svg"; + for(var attr in this.attrs) { + str += ' ' + attr + '="' + (this.attrs[attr]+'').replace(/&/g, '&').replace(/"/g, '"') + '"'; + } + str += '>'; + if(group) str += "\n"; + if(typeof this.children == 'string') { + str += FakeSVG.prototype.escapeString(this.children); + } else { + this.children.forEach(function(e) { + str += e; + }); + } + str += '\n'; + return str; + } + + function Path(x,y) { + if(!(this instanceof Path)) return new Path(x,y); + FakeSVG.call(this, 'path'); + this.attrs.d = "M"+x+' '+y; + } + subclassOf(Path, FakeSVG); + Path.prototype.m = function(x,y) { + this.attrs.d += 'm'+x+' '+y; + return this; + } + Path.prototype.h = function(val) { + this.attrs.d += 'h'+val; + return this; + } + Path.prototype.right = Path.prototype.h; + Path.prototype.left = function(val) { return this.h(-val); } + Path.prototype.v = function(val) { + this.attrs.d += 'v'+val; + return this; + } + Path.prototype.down = Path.prototype.v; + Path.prototype.up = function(val) { return this.v(-val); } + Path.prototype.arc = function(sweep){ + var x = Diagram.ARC_RADIUS; + var y = Diagram.ARC_RADIUS; + if(sweep[0] == 'e' || sweep[1] == 'w') { + x *= -1; + } + if(sweep[0] == 's' || sweep[1] == 'n') { + y *= -1; + } + if(sweep == 'ne' || sweep == 'es' || sweep == 'sw' || sweep == 'wn') { + var cw = 1; + } else { + var cw = 0; + } + this.attrs.d += "a"+Diagram.ARC_RADIUS+" "+Diagram.ARC_RADIUS+" 0 0 "+cw+' '+x+' '+y; + return this; + } + Path.prototype.format = function() { + // All paths in this library start/end horizontally. + // The extra .5 ensures a minor overlap, so there's no seams in bad rasterizers. + this.attrs.d += 'h.5'; + return this; + } + + function Diagram(items) { + if(!(this instanceof Diagram)) return new Diagram([].slice.call(arguments)); + FakeSVG.call(this, 'svg', {class: Diagram.DIAGRAM_CLASS}); + this.items = items.map(wrapString); + this.items.unshift(new Start); + this.items.push(new End); + this.width = this.items.reduce(function(sofar, el) { return sofar + el.width + (el.needsSpace?20:0)}, 0)+1; + this.up = Math.max.apply(null, this.items.map(function (x) { return x.up; })); + this.down = Math.max.apply(null, this.items.map(function (x) { return x.down; })); + this.formatted = false; + } + subclassOf(Diagram, FakeSVG); + for(var option in options) { + Diagram[option] = options[option]; + } + Diagram.prototype.format = function(paddingt, paddingr, paddingb, paddingl) { + paddingt = unnull(paddingt, 20); + paddingr = unnull(paddingr, paddingt, 20); + paddingb = unnull(paddingb, paddingt, 20); + paddingl = unnull(paddingl, paddingr, 20); + var x = paddingl; + var y = paddingt; + y += this.up; + var g = FakeSVG('g', Diagram.STROKE_ODD_PIXEL_LENGTH ? {transform:'translate(.5 .5)'} : {}); + for(var i = 0; i < this.items.length; i++) { + var item = this.items[i]; + if(item.needsSpace) { + Path(x,y).h(10).addTo(g); + x += 10; + } + item.format(x, y, item.width).addTo(g); + x += item.width; + if(item.needsSpace) { + Path(x,y).h(10).addTo(g); + x += 10; + } + } + this.attrs.width = this.width + paddingl + paddingr; + this.attrs.height = this.up + this.down + paddingt + paddingb; + this.attrs.viewBox = "0 0 " + this.attrs.width + " " + this.attrs.height; + g.addTo(this); + this.formatted = true; + return this; + } + Diagram.prototype.addTo = function(parent) { + var scriptTag = document.getElementsByTagName('script'); + scriptTag = scriptTag[scriptTag.length - 1]; + var parentTag = scriptTag.parentNode; + parent = parent || parentTag; + return this.$super.addTo.call(this, parent); + } + Diagram.prototype.toSVG = function() { + if (!this.formatted) { + this.format(); + } + return this.$super.toSVG.call(this); + } + Diagram.prototype.toString = function() { + if (!this.formatted) { + this.format(); + } + return this.$super.toString.call(this); + } + + function ComplexDiagram() { + var diagram = new Diagram([].slice.call(arguments)); + var items = diagram.items; + items.shift(); + items.pop(); + items.unshift(new Start(false)); + items.push(new End(false)); + diagram.items = items; + return diagram; + } + + function Sequence(items) { + if(!(this instanceof Sequence)) return new Sequence([].slice.call(arguments)); + FakeSVG.call(this, 'g'); + this.items = items.map(wrapString); + this.width = this.items.reduce(function(sofar, el) { return sofar + el.width + (el.needsSpace?20:0)}, 0); + this.up = this.items.reduce(function(sofar,el) { return Math.max(sofar, el.up)}, 0); + this.down = this.items.reduce(function(sofar,el) { return Math.max(sofar, el.down)}, 0); + } + subclassOf(Sequence, FakeSVG); + Sequence.prototype.format = function(x,y,width) { + // Hook up the two sides if this is narrower than its stated width. + var gaps = determineGaps(width, this.width); + Path(x,y).h(gaps[0]).addTo(this); + Path(x+gaps[0]+this.width,y).h(gaps[1]).addTo(this); + x += gaps[0]; + + for(var i = 0; i < this.items.length; i++) { + var item = this.items[i]; + if(item.needsSpace) { + Path(x,y).h(10).addTo(this); + x += 10; + } + item.format(x, y, item.width).addTo(this); + x += item.width; + if(item.needsSpace) { + Path(x,y).h(10).addTo(this); + x += 10; + } + } + return this; + } + + function Choice(normal, items) { + if(!(this instanceof Choice)) return new Choice(normal, [].slice.call(arguments,1)); + FakeSVG.call(this, 'g'); + if( typeof normal !== "number" || normal !== Math.floor(normal) ) { + throw new TypeError("The first argument of Choice() must be an integer."); + } else if(normal < 0 || normal >= items.length) { + throw new RangeError("The first argument of Choice() must be an index for one of the items."); + } else { + this.normal = normal; + } + this.items = items.map(wrapString); + this.width = this.items.reduce(function(sofar, el){return Math.max(sofar, el.width)},0) + Diagram.ARC_RADIUS*4; + this.up = this.down = 0; + for(var i = 0; i < this.items.length; i++) { + var item = this.items[i]; + if(i < normal) { this.up += Math.max(Diagram.ARC_RADIUS,item.up + item.down + Diagram.VERTICAL_SEPARATION); } + if(i == normal) { this.up += Math.max(Diagram.ARC_RADIUS, item.up); this.down += Math.max(Diagram.ARC_RADIUS, item.down); } + if(i > normal) { this.down += Math.max(Diagram.ARC_RADIUS,Diagram.VERTICAL_SEPARATION + item.up + item.down); } + } + } + subclassOf(Choice, FakeSVG); + Choice.prototype.format = function(x,y,width) { + // Hook up the two sides if this is narrower than its stated width. + var gaps = determineGaps(width, this.width); + Path(x,y).h(gaps[0]).addTo(this); + Path(x+gaps[0]+this.width,y).h(gaps[1]).addTo(this); + x += gaps[0]; + + var last = this.items.length -1; + var innerWidth = this.width - Diagram.ARC_RADIUS*4; + + // Do the elements that curve above + for(var i = this.normal - 1; i >= 0; i--) { + var item = this.items[i]; + if( i == this.normal - 1 ) { + var distanceFromY = Math.max(Diagram.ARC_RADIUS*2, this.items[i+1].up + Diagram.VERTICAL_SEPARATION + item.down); + } + Path(x,y).arc('se').up(distanceFromY - Diagram.ARC_RADIUS*2).arc('wn').addTo(this); + item.format(x+Diagram.ARC_RADIUS*2,y - distanceFromY,innerWidth).addTo(this); + Path(x+Diagram.ARC_RADIUS*2+innerWidth, y-distanceFromY).arc('ne').down(distanceFromY - Diagram.ARC_RADIUS*2).arc('ws').addTo(this); + distanceFromY += Math.max(Diagram.ARC_RADIUS, item.up + Diagram.VERTICAL_SEPARATION + (i == 0 ? 0 : this.items[i-1].down)); + } + + // Do the straight-line path. + Path(x,y).right(Diagram.ARC_RADIUS*2).addTo(this); + this.items[this.normal].format(x+Diagram.ARC_RADIUS*2, y, innerWidth).addTo(this); + Path(x+Diagram.ARC_RADIUS*2+innerWidth, y).right(Diagram.ARC_RADIUS*2).addTo(this); + + // Do the elements that curve below + for(var i = this.normal+1; i <= last; i++) { + var item = this.items[i]; + if( i == this.normal + 1 ) { + var distanceFromY = Math.max(Diagram.ARC_RADIUS*2, this.items[i-1].down + Diagram.VERTICAL_SEPARATION + item.up); + } + Path(x,y).arc('ne').down(distanceFromY - Diagram.ARC_RADIUS*2).arc('ws').addTo(this); + item.format(x+Diagram.ARC_RADIUS*2, y+distanceFromY, innerWidth).addTo(this); + Path(x+Diagram.ARC_RADIUS*2+innerWidth, y+distanceFromY).arc('se').up(distanceFromY - Diagram.ARC_RADIUS*2).arc('wn').addTo(this); + distanceFromY += Math.max(Diagram.ARC_RADIUS, item.down + Diagram.VERTICAL_SEPARATION + (i == last ? 0 : this.items[i+1].up)); + } + + return this; + } + + function Optional(item, skip) { + if( skip === undefined ) + return Choice(1, Skip(), item); + else if ( skip === "skip" ) + return Choice(0, Skip(), item); + else + throw "Unknown value for Optional()'s 'skip' argument."; + } + + function OneOrMore(item, rep) { + if(!(this instanceof OneOrMore)) return new OneOrMore(item, rep); + FakeSVG.call(this, 'g'); + rep = rep || (new Skip); + this.item = wrapString(item); + this.rep = wrapString(rep); + this.width = Math.max(this.item.width, this.rep.width) + Diagram.ARC_RADIUS*2; + this.up = this.item.up; + this.down = Math.max(Diagram.ARC_RADIUS*2, this.item.down + Diagram.VERTICAL_SEPARATION + this.rep.up + this.rep.down); + } + subclassOf(OneOrMore, FakeSVG); + OneOrMore.prototype.needsSpace = true; + OneOrMore.prototype.format = function(x,y,width) { + // Hook up the two sides if this is narrower than its stated width. + var gaps = determineGaps(width, this.width); + Path(x,y).h(gaps[0]).addTo(this); + Path(x+gaps[0]+this.width,y).h(gaps[1]).addTo(this); + x += gaps[0]; + + // Draw item + Path(x,y).right(Diagram.ARC_RADIUS).addTo(this); + this.item.format(x+Diagram.ARC_RADIUS,y,this.width-Diagram.ARC_RADIUS*2).addTo(this); + Path(x+this.width-Diagram.ARC_RADIUS,y).right(Diagram.ARC_RADIUS).addTo(this); + + // Draw repeat arc + var distanceFromY = Math.max(Diagram.ARC_RADIUS*2, this.item.down+Diagram.VERTICAL_SEPARATION+this.rep.up); + Path(x+Diagram.ARC_RADIUS,y).arc('nw').down(distanceFromY-Diagram.ARC_RADIUS*2).arc('ws').addTo(this); + this.rep.format(x+Diagram.ARC_RADIUS, y+distanceFromY, this.width - Diagram.ARC_RADIUS*2).addTo(this); + Path(x+this.width-Diagram.ARC_RADIUS, y+distanceFromY).arc('se').up(distanceFromY-Diagram.ARC_RADIUS*2).arc('en').addTo(this); + + return this; + } + + function ZeroOrMore(item, rep, skip) { + return Optional(OneOrMore(item, rep), skip); + } + + function Start(simpleType) { + if(!(this instanceof Start)) return new Start(); + FakeSVG.call(this, 'path'); + this.width = 20; + this.up = 10; + this.down = 10; + this.simpleType = simpleType; + } + subclassOf(Start, FakeSVG); + Start.prototype.format = function(x,y) { + if (this.simpleType === false) { + this.attrs.d = 'M '+x+' '+(y-10)+' v 20 m 0 -10 h 20.5'; + } else { + this.attrs.d = 'M '+x+' '+(y-10)+' v 20 m 10 -20 v 20 m -10 -10 h 20.5'; + } + return this; + } + + function End(simpleType) { + if(!(this instanceof End)) return new End(); + FakeSVG.call(this, 'path'); + this.width = 20; + this.up = 10; + this.down = 10; + this.simpleType = simpleType; + } + subclassOf(End, FakeSVG); + End.prototype.format = function(x,y) { + if (this.simpleType === false) { + this.attrs.d = 'M '+x+' '+y+' h 20 m 0 -10 v 20'; + } else { + this.attrs.d = 'M '+x+' '+y+' h 20 m -10 -10 v 20 m 10 -20 v 20'; + } + return this; + } + + function Terminal(text) { + if(!(this instanceof Terminal)) return new Terminal(text); + FakeSVG.call(this, 'g'); + this.text = text; + this.width = text.length * 8 + 20; /* Assume that each char is .5em, and that the em is 16px */ + this.up = 11; + this.down = 11; + } + subclassOf(Terminal, FakeSVG); + Terminal.prototype.needsSpace = true; + Terminal.prototype.format = function(x, y, width) { + // Hook up the two sides if this is narrower than its stated width. + var gaps = determineGaps(width, this.width); + Path(x,y).h(gaps[0]).addTo(this); + Path(x+gaps[0]+this.width,y).h(gaps[1]).addTo(this); + x += gaps[0]; + + FakeSVG('rect', {x:x, y:y-11, width:this.width, height:this.up+this.down, rx:10, ry:10}).addTo(this); + FakeSVG('text', {x:x+this.width/2, y:y+4}, this.text).addTo(this); + return this; + } + + function NonTerminal(text) { + if(!(this instanceof NonTerminal)) return new NonTerminal(text); + FakeSVG.call(this, 'g'); + this.text = text; + this.width = text.length * 8 + 20; + this.up = 11; + this.down = 11; + } + subclassOf(NonTerminal, FakeSVG); + NonTerminal.prototype.needsSpace = true; + NonTerminal.prototype.format = function(x, y, width) { + // Hook up the two sides if this is narrower than its stated width. + var gaps = determineGaps(width, this.width); + Path(x,y).h(gaps[0]).addTo(this); + Path(x+gaps[0]+this.width,y).h(gaps[1]).addTo(this); + x += gaps[0]; + + FakeSVG('rect', {x:x, y:y-11, width:this.width, height:this.up+this.down}).addTo(this); + FakeSVG('text', {x:x+this.width/2, y:y+4}, this.text).addTo(this); + return this; + } + + function Comment(text) { + if(!(this instanceof Comment)) return new Comment(text); + FakeSVG.call(this, 'g'); + this.text = text; + this.width = text.length * 7 + 10; + this.up = 11; + this.down = 11; + } + subclassOf(Comment, FakeSVG); + Comment.prototype.needsSpace = true; + Comment.prototype.format = function(x, y, width) { + // Hook up the two sides if this is narrower than its stated width. + var gaps = determineGaps(width, this.width); + Path(x,y).h(gaps[0]).addTo(this); + Path(x+gaps[0]+this.width,y).h(gaps[1]).addTo(this); + x += gaps[0]; + + FakeSVG('text', {x:x+this.width/2, y:y+5, class:'comment'}, this.text).addTo(this); + return this; + } + + function Skip() { + if(!(this instanceof Skip)) return new Skip(); + FakeSVG.call(this, 'g'); + this.width = 0; + this.up = 0; + this.down = 0; + } + subclassOf(Skip, FakeSVG); + Skip.prototype.format = function(x, y, width) { + Path(x,y).right(width).addTo(this); + return this; + } + + var root; + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + root = {}; + define([], function() { + return root; + }); + } else if (typeof exports === 'object') { + // CommonJS for node + root = exports; + } else { + // Browser globals (root is window) + root = this; + } + + var temp = [Diagram, ComplexDiagram, Sequence, Choice, Optional, OneOrMore, ZeroOrMore, Terminal, NonTerminal, Comment, Skip]; + /* + These are the names that the internal classes are exported as. + If you would like different names, adjust them here. + */ + ['Diagram', 'ComplexDiagram', 'Sequence', 'Choice', 'Optional', 'OneOrMore', 'ZeroOrMore', 'Terminal', 'NonTerminal', 'Comment', 'Skip'] + .forEach(function(e,i) { root[e] = temp[i]; }); +}).call(this, + { + VERTICAL_SEPARATION: 8, + ARC_RADIUS: 10, + DIAGRAM_CLASS: 'railroad-diagram', + STROKE_ODD_PIXEL_LENGTH: true, + INTERNAL_ALIGNMENT: 'center', + } +); diff --git a/node_modules/railroad-diagrams/railroad_diagrams.py b/node_modules/railroad-diagrams/railroad_diagrams.py new file mode 100644 index 00000000..7d530039 --- /dev/null +++ b/node_modules/railroad-diagrams/railroad_diagrams.py @@ -0,0 +1,427 @@ +# Display constants +VERTICAL_SEPARATION = 8 +ARC_RADIUS = 10 +DIAGRAM_CLASS = 'railroad-diagram' +TRANSLATE_HALF_PIXEL = True +INTERNAL_ALIGNMENT = 'center' +DEBUG=False + +# Assume a monospace font with each char .5em wide, and the em is 16px +CHARACTER_ADVANCE = 8 + +def e(text): + return str(text).replace('&', '&').replace('"', '"').replace('<', '<') + +def determineGaps(outer, inner): + diff = outer - inner + if INTERNAL_ALIGNMENT == 'left': + return 0, diff + elif INTERNAL_ALIGNMENT == 'right': + return diff, 0 + else: + return diff/2, diff/2 + + + +class DiagramItem(object): + def __init__(self, name, attrs=None, text=None): + self.name = name + self.attrs = attrs or {} + self.children = [text] if text else [] + self.needsSpace = False + + def format(self, x, y, width): + raise NotImplementedError # Virtual + + def addTo(self, parent): + parent.children.append(self) + return self + + def writeSvg(self, write): + write('<{0}'.format(self.name)) + for name, value in sorted(self.attrs.items()): + write(' {0}="{1}"'.format(name, e(value))) + write('>\n') + for child in self.children: + if isinstance(child, DiagramItem): + child.writeSvg(write) + else: + write(e(child)) + write(''.format(self.name)) + + +class Path(DiagramItem): + def __init__(self, x, y): + DiagramItem.__init__(self, 'path', {'d': 'M%s %s' % (x, y)}) + + def m(self, x, y): + self.attrs['d'] += 'm{0} {1}'.format(x,y) + return self + + def h(self, val): + self.attrs['d'] += 'h{0}'.format(val) + return self + + right = h + + def left(self, val): + return self.h(-val) + + def v(self, val): + self.attrs['d'] += 'v{0}'.format(val) + return self + + down = v + + def up(self, val): + return self.v(-val) + + def arc(self, sweep): + x = ARC_RADIUS + y = ARC_RADIUS + if sweep[0] == 'e' or sweep[1] == 'w': + x *= -1 + if sweep[0] == 's' or sweep[1] == 'n': + y *= -1 + cw = 1 if sweep == 'ne' or sweep == 'es' or sweep == 'sw' or sweep == 'wn' else 0 + self.attrs['d'] += 'a{0} {0} 0 0 {1} {2} {3}'.format(ARC_RADIUS, cw, x, y) + return self + + + def format(self): + self.attrs['d'] += 'h.5' + return self + + +def wrapString(value): + return value if isinstance(value, DiagramItem) else Terminal(value) + + +class Diagram(DiagramItem): + def __init__(self, *items): + DiagramItem.__init__(self, 'svg', {'class': DIAGRAM_CLASS}) + self.items = [Start()] + [wrapString(item) for item in items] + [End()] + self.width = 1 + sum(item.width + (20 if item.needsSpace else 0) + for item in self.items) + self.up = max(item.up for item in self.items) + self.down = max(item.down for item in self.items) + self.formatted = False + + def format(self, paddingTop=20, paddingRight=None, paddingBottom=None, paddingLeft=None): + if paddingRight is None: + paddingRight = paddingTop + if paddingBottom is None: + paddingBottom = paddingTop + if paddingLeft is None: + paddingLeft = paddingRight + x = paddingLeft + y = paddingTop + self.up + g = DiagramItem('g') + if TRANSLATE_HALF_PIXEL: + g.attrs['transform'] = 'translate(.5 .5)' + for item in self.items: + if item.needsSpace: + Path(x, y).h(10).addTo(g) + x += 10 + item.format(x, y, item.width).addTo(g) + x += item.width + if item.needsSpace: + Path(x, y).h(10).addTo(g) + x += 10 + self.attrs['width'] = self.width + paddingLeft + paddingRight + self.attrs['height'] = self.up + self.down + paddingTop + paddingBottom + self.attrs['viewBox'] = "0 0 {width} {height}".format(**self.attrs) + g.addTo(self) + self.formatted = True + return self + + + def writeSvg(self, write): + if not self.formatted: + self.format() + return DiagramItem.writeSvg(self, write) + + +class Sequence(DiagramItem): + def __init__(self, *items): + DiagramItem.__init__(self, 'g') + self.items = [wrapString(item) for item in items] + self.width = sum(item.width + (20 if item.needsSpace else 0) + for item in self.items) + self.up = max(item.up for item in self.items) + self.down = max(item.down for item in self.items) + if DEBUG: + self.attrs['data-updown'] = "{0} {1}".format(self.up, self.down) + self.attrs['data-type'] = "sequence" + + def format(self, x, y, width): + leftGap, rightGap = determineGaps(width, self.width) + Path(x, y).h(leftGap).addTo(self) + Path(x+leftGap+self.width, y).h(rightGap).addTo(self) + x += leftGap + for item in self.items: + if item.needsSpace: + Path(x, y).h(10).addTo(self) + x += 10 + item.format(x, y, item.width).addTo(self) + x += item.width + if item.needsSpace: + Path(x, y).h(10).addTo(self) + x += 10 + return self + + +class Choice(DiagramItem): + def __init__(self, default, *items): + DiagramItem.__init__(self, 'g') + assert default < len(items) + self.default = default + self.items = [wrapString(item) for item in items] + self.width = ARC_RADIUS * 4 + max(item.width for item in self.items) + self.up = 0 + self.down = 0 + for i, item in enumerate(self.items): + if i < default: + self.up += max(ARC_RADIUS, item.up + item.down + VERTICAL_SEPARATION) + elif i == default: + self.up += max(ARC_RADIUS, item.up) + self.down += max(ARC_RADIUS, item.down) + else: + assert i > default + self.down += max(ARC_RADIUS, VERTICAL_SEPARATION + item.up + item.down) + if DEBUG: + self.attrs['data-updown'] = "{0} {1}".format(self.up, self.down) + self.attrs['data-type'] = "choice" + + def format(self, x, y, width): + leftGap, rightGap = determineGaps(width, self.width) + + # Hook up the two sides if self is narrower than its stated width. + Path(x, y).h(leftGap).addTo(self) + Path(x + leftGap + self.width, y).h(rightGap).addTo(self) + x += leftGap + + last = len(self.items) - 1 + innerWidth = self.width - ARC_RADIUS * 4 + + # Do the elements that curve above + above = self.items[:self.default] + if above: + distanceFromY = max( + ARC_RADIUS * 2, + self.items[self.default].up + + VERTICAL_SEPARATION + + self.items[self.default - 1].down) + for i, item in list(enumerate(above))[::-1]: + Path(x, y).arc('se').up(distanceFromY - ARC_RADIUS * 2).arc('wn').addTo(self) + item.format(x + ARC_RADIUS * 2, y - distanceFromY, innerWidth).addTo(self) + Path(x + ARC_RADIUS * 2 + innerWidth, y - distanceFromY).arc('ne') \ + .down(distanceFromY - ARC_RADIUS*2).arc('ws').addTo(self) + distanceFromY += max( + ARC_RADIUS, + item.up + + VERTICAL_SEPARATION + + (self.items[i - 1].down if i > 0 else 0)) + + # Do the straight-line path. + Path(x, y).right(ARC_RADIUS * 2).addTo(self) + self.items[self.default].format(x + ARC_RADIUS * 2, y, innerWidth).addTo(self) + Path(x + ARC_RADIUS * 2 + innerWidth, y).right(ARC_RADIUS * 2).addTo(self) + + # Do the elements that curve below + below = self.items[self.default + 1:] + for i, item in enumerate(below): + if i == 0: + distanceFromY = max( + ARC_RADIUS * 2, + self.items[self.default].down + + VERTICAL_SEPARATION + + item.up) + Path(x, y).arc('ne').down(distanceFromY - ARC_RADIUS * 2).arc('ws').addTo(self) + item.format(x + ARC_RADIUS * 2, y + distanceFromY, innerWidth).addTo(self) + Path(x + ARC_RADIUS * 2 + innerWidth, y + distanceFromY).arc('se') \ + .up(distanceFromY - ARC_RADIUS * 2).arc('wn').addTo(self) + distanceFromY += max( + ARC_RADIUS, + item.down + + VERTICAL_SEPARATION + + (below[i + 1].up if i+1 < len(below) else 0)) + return self + + +def Optional(item, skip=False): + return Choice(0 if skip else 1, Skip(), item) + + +class OneOrMore(DiagramItem): + def __init__(self, item, repeat=None): + DiagramItem.__init__(self, 'g') + repeat = repeat or Skip() + self.item = wrapString(item) + self.rep = wrapString(repeat) + self.width = max(self.item.width, self.rep.width) + ARC_RADIUS * 2 + self.up = self.item.up + self.down = max( + ARC_RADIUS * 2, + self.item.down + VERTICAL_SEPARATION + self.rep.up + self.rep.down) + self.needsSpace = True + if DEBUG: + self.attrs['data-updown'] = "{0} {1}".format(self.up, self.down) + self.attrs['data-type'] = "oneormore" + + def format(self, x, y, width): + leftGap, rightGap = determineGaps(width, self.width) + + # Hook up the two sides if self is narrower than its stated width. + Path(x, y).h(leftGap).addTo(self) + Path(x + leftGap + self.width, y).h(rightGap).addTo(self) + x += leftGap + + # Draw item + Path(x, y).right(ARC_RADIUS).addTo(self) + self.item.format(x + ARC_RADIUS, y, self.width - ARC_RADIUS * 2).addTo(self) + Path(x + self.width - ARC_RADIUS, y).right(ARC_RADIUS).addTo(self) + + # Draw repeat arc + distanceFromY = max(ARC_RADIUS*2, self.item.down + VERTICAL_SEPARATION + self.rep.up) + Path(x + ARC_RADIUS, y).arc('nw').down(distanceFromY - ARC_RADIUS * 2) \ + .arc('ws').addTo(self) + self.rep.format(x + ARC_RADIUS, y + distanceFromY, self.width - ARC_RADIUS*2).addTo(self) + Path(x + self.width - ARC_RADIUS, y + distanceFromY).arc('se') \ + .up(distanceFromY - ARC_RADIUS * 2).arc('en').addTo(self) + + return self + + +def ZeroOrMore(item, repeat=None): + result = Optional(OneOrMore(item, repeat)) + return result + + +class Start(DiagramItem): + def __init__(self): + DiagramItem.__init__(self, 'path') + self.width = 20 + self.up = 10 + self.down = 10 + if DEBUG: + self.attrs['data-updown'] = "{0} {1}".format(self.up, self.down) + self.attrs['data-type'] = "start" + + def format(self, x, y, _width): + self.attrs['d'] = 'M {0} {1} v 20 m 10 -20 v 20 m -10 -10 h 20.5'.format(x, y - 10) + return self + + +class End(DiagramItem): + def __init__(self): + DiagramItem.__init__(self, 'path') + self.width = 20 + self.up = 10 + self.down = 10 + if DEBUG: + self.attrs['data-updown'] = "{0} {1}".format(self.up, self.down) + self.attrs['data-type'] = "end" + + def format(self, x, y, _width): + self.attrs['d'] = 'M {0} {1} h 20 m -10 -10 v 20 m 10 -20 v 20'.format(x, y) + return self + + +class Terminal(DiagramItem): + def __init__(self, text): + DiagramItem.__init__(self, 'g') + self.text = text + self.width = len(text) * CHARACTER_ADVANCE + 20 + self.up = 11 + self.down = 11 + self.needsSpace = True + if DEBUG: + self.attrs['data-updown'] = "{0} {1}".format(self.up, self.down) + self.attrs['data-type'] = "terminal" + + def format(self, x, y, width): + leftGap, rightGap = determineGaps(width, self.width) + + # Hook up the two sides if self is narrower than its stated width. + Path(x, y).h(leftGap).addTo(self) + Path(x + leftGap + self.width, y).h(rightGap).addTo(self) + + DiagramItem('rect', {'x': x + leftGap, 'y': y - 11, 'width': self.width, + 'height': self.up + self.down, 'rx': 10, 'ry': 10}).addTo(self) + DiagramItem('text', {'x': x + width / 2, 'y': y + 4}, self.text).addTo(self) + return self + + +class NonTerminal(DiagramItem): + def __init__(self, text): + DiagramItem.__init__(self, 'g') + self.text = text + self.width = len(text) * CHARACTER_ADVANCE + 20 + self.up = 11 + self.down = 11 + self.needsSpace = True + if DEBUG: + self.attrs['data-updown'] = "{0} {1}".format(self.up, self.down) + self.attrs['data-type'] = "non-terminal" + + def format(self, x, y, width): + leftGap, rightGap = determineGaps(width, self.width) + + # Hook up the two sides if self is narrower than its stated width. + Path(x, y).h(leftGap).addTo(self) + Path(x + leftGap + self.width, y).h(rightGap).addTo(self) + + DiagramItem('rect', {'x': x + leftGap, 'y': y - 11, 'width': self.width, + 'height': self.up + self.down}).addTo(self) + DiagramItem('text', {'x': x + width / 2, 'y': y + 4}, self.text).addTo(self) + return self + + +class Comment(DiagramItem): + def __init__(self, text): + DiagramItem.__init__(self, 'g') + self.text = text + self.width = len(text) * 7 + 10 + self.up = 11 + self.down = 11 + self.needsSpace = True + if DEBUG: + self.attrs['data-updown'] = "{0} {1}".format(self.up, self.down) + self.attrs['data-type'] = "comment" + + def format(self, x, y, width): + leftGap, rightGap = determineGaps(width, self.width) + + # Hook up the two sides if self is narrower than its stated width. + Path(x, y).h(leftGap).addTo(self) + Path(x + leftGap + self.width, y).h(rightGap).addTo(self) + + DiagramItem('text', {'x': x + width / 2, 'y': y + 5, 'class': 'comment'}, self.text).addTo(self) + return self + + +class Skip(DiagramItem): + def __init__(self): + DiagramItem.__init__(self, 'g') + self.width = 0 + self.up = 0 + self.down = 0 + if DEBUG: + self.attrs['data-updown'] = "{0} {1}".format(self.up, self.down) + self.attrs['data-type'] = "skip" + + def format(self, x, y, width): + Path(x, y).right(width).addTo(self) + return self + + +if __name__ == '__main__': + def add(name, diagram): + sys.stdout.write('

{0}

\n'.format(e(name))) + diagram.writeSvg(sys.stdout.write) + sys.stdout.write('\n') + + import sys + sys.stdout.write("Test") + exec(open('css-example.py-js').read()) diff --git a/node_modules/randexp/LICENSE b/node_modules/randexp/LICENSE new file mode 100644 index 00000000..b351ee8e --- /dev/null +++ b/node_modules/randexp/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2011 by Roly Fentanes + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/randexp/README.md b/node_modules/randexp/README.md new file mode 100644 index 00000000..ac30c627 --- /dev/null +++ b/node_modules/randexp/README.md @@ -0,0 +1,134 @@ +# randexp.js + +randexp will generate a random string that matches a given RegExp Javascript object. + +[![Build Status](https://secure.travis-ci.org/fent/randexp.js.svg)](http://travis-ci.org/fent/randexp.js) +[![Dependency Status](https://david-dm.org/fent/randexp.js.svg)](https://david-dm.org/fent/randexp.js) +[![codecov](https://codecov.io/gh/fent/randexp.js/branch/master/graph/badge.svg)](https://codecov.io/gh/fent/randexp.js) + +# Usage + +```js +var RandExp = require('randexp'); + +// supports grouping and piping +new RandExp(/hello+ (world|to you)/).gen(); +// => hellooooooooooooooooooo world + +// sets and ranges and references +new RandExp(/<([a-z]\w{0,20})>foo<\1>/).gen(); +// => foo + +// wildcard +new RandExp(/random stuff: .+/).gen(); +// => random stuff: l3m;Hf9XYbI [YPaxV>U*4-_F!WXQh9>;rH3i l!8.zoh?[utt1OWFQrE ^~8zEQm]~tK + +// ignore case +new RandExp(/xxx xtreme dragon warrior xxx/i).gen(); +// => xxx xtReME dRAGON warRiOR xXX + +// dynamic regexp shortcut +new RandExp('(sun|mon|tue|wednes|thurs|fri|satur)day', 'i'); +// is the same as +new RandExp(new RegExp('(sun|mon|tue|wednes|thurs|fri|satur)day', 'i')); +``` + +If you're only going to use `gen()` once with a regexp and want slightly shorter syntax for it + +```js +var randexp = require('randexp').randexp; + +randexp(/[1-6]/); // 4 +randexp('great|good( job)?|excellent'); // great +``` + +If you miss the old syntax + +```js +require('randexp').sugar(); + +/yes|no|maybe|i don't know/.gen(); // maybe +``` + +# Motivation + +Regular expressions are used in every language, every programmer is familiar with them. Regex can be used to easily express complex strings. What better way to generate a random string than with a language you can use to express the string you want? + +Thanks to [String-Random](http://search.cpan.org/~steve/String-Random-0.22/lib/String/Random.pm) for giving me the idea to make this in the first place and [randexp](https://github.com/benburkert/randexp) for the sweet `.gen()` syntax. + +# Default Range + +The default generated character range includes printable ASCII. In order to add or remove characters, +a `defaultRange` attribute is exposed. you can `subtract(from, to)` and `add(from, to)` +```js +var randexp = new RandExp(/random stuff: .+/); +randexp.defaultRange.subtract(32, 126); +randexp.defaultRange.add(0, 65535); +randexp.gen(); +// => random stuff: 湐箻ໜ䫴␩⶛㳸長���邓蕲뤀쑡篷皇硬剈궦佔칗븛뀃匫鴔事좍ﯣ⭼ꝏ䭍詳蒂䥂뽭 +``` + +# Custom PRNG + +The default randomness is provided by `Math.random()`. If you need to use a seedable or cryptographic PRNG, you +can override `RandExp.prototype.randInt` or `randexp.randInt` (where `randexp` is an instance of `RandExp`). `randInt(from, to)` accepts an inclusive range and returns a randomly selected +number within that range. + +# Infinite Repetitionals + +Repetitional tokens such as `*`, `+`, and `{3,}` have an infinite max range. In this case, randexp looks at its min and adds 100 to it to get a useable max value. If you want to use another int other than 100 you can change the `max` property in `RandExp.prototype` or the RandExp instance. + +```js +var randexp = new RandExp(/no{1,}/); +randexp.max = 1000000; +``` + +With `RandExp.sugar()` + +```js +var regexp = /(hi)*/; +regexp.max = 1000000; +``` + +# Bad Regular Expressions + +There are some regular expressions which can never match any string. + +* Ones with badly placed positionals such as `/a^/` and `/$c/m`. Randexp will ignore positional tokens. + +* Back references to non-existing groups like `/(a)\1\2/`. Randexp will ignore those references, returning an empty string for them. If the group exists only after the reference is used such as in `/\1 (hey)/`, it will too be ignored. + +* Custom negated character sets with two sets inside that cancel each other out. Example: `/[^\w\W]/`. If you give this to randexp, it will return an empty string for this set since it can't match anything. + + +# Projects based on randexp.js + + +## JSON-Schema Faker + +Use generators to populate JSON Schema samples. See: [jsf on github](https://github.com/json-schema-faker/json-schema-faker/) and [jsf demo page](http://json-schema-faker.js.org/). + + +# Install + +### Node.js + + npm install randexp + +### Browser + +Download the [minified version](https://github.com/fent/randexp.js/releases) from the latest release. + + +# Tests + +Tests are written with [mocha](https://mochajs.org) + +```bash +npm test +``` + + +# License + +MIT diff --git a/node_modules/randexp/lib/randexp.js b/node_modules/randexp/lib/randexp.js new file mode 100644 index 00000000..6dcbd7a1 --- /dev/null +++ b/node_modules/randexp/lib/randexp.js @@ -0,0 +1,245 @@ +var ret = require('ret'); +var DRange = require('discontinuous-range'); +var types = ret.types; + + +/** + * If code is alphabetic, converts to other case. + * If not alphabetic, returns back code. + * + * @param {Number} code + * @return {Number} + */ +function toOtherCase(code) { + return code + (97 <= code && code <= 122 ? -32 : + 65 <= code && code <= 90 ? 32 : 0); +} + + +/** + * Randomly returns a true or false value. + * + * @return {Boolean} + */ +function randBool() { + return !this.randInt(0, 1); +} + + +/** + * Randomly selects and returns a value from the array. + * + * @param {Array.} arr + * @return {Object} + */ +function randSelect(arr) { + if (arr instanceof DRange) { + return arr.index(this.randInt(0, arr.length - 1)); + } + return arr[this.randInt(0, arr.length - 1)]; +} + + +/** + * expands a token to a DiscontinuousRange of characters which has a + * length and an index function (for random selecting) + * + * @param {Object} token + * @return {DiscontinuousRange} + */ +function expand(token) { + if (token.type === ret.types.CHAR) { + return new DRange(token.value); + } else if (token.type === ret.types.RANGE) { + return new DRange(token.from, token.to); + } else { + var drange = new DRange(); + for (var i = 0; i < token.set.length; i++) { + var subrange = expand.call(this, token.set[i]); + drange.add(subrange); + if (this.ignoreCase) { + for (var j = 0; j < subrange.length; j++) { + var code = subrange.index(j); + var otherCaseCode = toOtherCase(code); + if (code !== otherCaseCode) { + drange.add(otherCaseCode); + } + } + } + } + if (token.not) { + return this.defaultRange.clone().subtract(drange); + } else { + return drange; + } + } +} + + +/** + * Checks if some custom properties have been set for this regexp. + * + * @param {RandExp} randexp + * @param {RegExp} regexp + */ +function checkCustom(randexp, regexp) { + if (typeof regexp.max === 'number') { + randexp.max = regexp.max; + } + if (regexp.defaultRange instanceof DRange) { + randexp.defaultRange = regexp.defaultRange; + } + if (typeof regexp.randInt === 'function') { + randexp.randInt = regexp.randInt; + } +} + + +/** + * @constructor + * @param {RegExp|String} regexp + * @param {String} m + */ +var RandExp = module.exports = function(regexp, m) { + this.defaultRange = this.defaultRange.clone(); + if (regexp instanceof RegExp) { + this.ignoreCase = regexp.ignoreCase; + this.multiline = regexp.multiline; + checkCustom(this, regexp); + regexp = regexp.source; + + } else if (typeof regexp === 'string') { + this.ignoreCase = m && m.indexOf('i') !== -1; + this.multiline = m && m.indexOf('m') !== -1; + } else { + throw new Error('Expected a regexp or string'); + } + + this.tokens = ret(regexp); +}; + + +// When a repetitional token has its max set to Infinite, +// randexp won't actually generate a random amount between min and Infinite +// instead it will see Infinite as min + 100. +RandExp.prototype.max = 100; + + +// Generates the random string. +RandExp.prototype.gen = function() { + return gen.call(this, this.tokens, []); +}; + + +// Enables use of randexp with a shorter call. +RandExp.randexp = function(regexp, m) { + var randexp; + if (regexp._randexp === undefined) { + randexp = new RandExp(regexp, m); + regexp._randexp = randexp; + } else { + randexp = regexp._randexp; + } + checkCustom(randexp, regexp); + return randexp.gen(); +}; + + +// This enables sugary /regexp/.gen syntax. +RandExp.sugar = function() { + /* jshint freeze:false */ + RegExp.prototype.gen = function() { + return RandExp.randexp(this); + }; +}; + +// This allows expanding to include additional characters +// for instance: RandExp.defaultRange.add(0, 65535); +RandExp.prototype.defaultRange = new DRange(32, 126); + + +/** + * Randomly generates and returns a number between a and b (inclusive). + * + * @param {Number} a + * @param {Number} b + * @return {Number} + */ +RandExp.prototype.randInt = function(a, b) { + return a + Math.floor(Math.random() * (1 + b - a)); +}; + + +/** + * Generate random string modeled after given tokens. + * + * @param {Object} token + * @param {Array.} groups + * @return {String} + */ +function gen(token, groups) { + var stack, str, n, i, l; + + switch (token.type) { + + + case types.ROOT: + case types.GROUP: + // Ignore lookaheads for now. + if (token.followedBy || token.notFollowedBy) { return ''; } + + // Insert placeholder until group string is generated. + if (token.remember && token.groupNumber === undefined) { + token.groupNumber = groups.push(null) - 1; + } + + stack = token.options ? + randSelect.call(this, token.options) : token.stack; + + str = ''; + for (i = 0, l = stack.length; i < l; i++) { + str += gen.call(this, stack[i], groups); + } + + if (token.remember) { + groups[token.groupNumber] = str; + } + return str; + + + case types.POSITION: + // Do nothing for now. + return ''; + + + case types.SET: + var expandedSet = expand.call(this, token); + if (!expandedSet.length) { return ''; } + return String.fromCharCode(randSelect.call(this, expandedSet)); + + + case types.REPETITION: + // Randomly generate number between min and max. + n = this.randInt(token.min, + token.max === Infinity ? token.min + this.max : token.max); + + str = ''; + for (i = 0; i < n; i++) { + str += gen.call(this, token.value, groups); + } + + return str; + + + case types.REFERENCE: + return groups[token.value - 1] || ''; + + + case types.CHAR: + var code = this.ignoreCase && randBool.call(this) ? + toOtherCase(token.value) : token.value; + return String.fromCharCode(code); + } +} + + diff --git a/node_modules/randexp/package.json b/node_modules/randexp/package.json new file mode 100644 index 00000000..14ea611d --- /dev/null +++ b/node_modules/randexp/package.json @@ -0,0 +1,79 @@ +{ + "_from": "randexp@0.4.6", + "_id": "randexp@0.4.6", + "_inBundle": false, + "_integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", + "_location": "/randexp", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "randexp@0.4.6", + "name": "randexp", + "escapedName": "randexp", + "rawSpec": "0.4.6", + "saveSpec": null, + "fetchSpec": "0.4.6" + }, + "_requiredBy": [ + "/nearley" + ], + "_resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", + "_shasum": "e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3", + "_spec": "randexp@0.4.6", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\nearley", + "author": { + "name": "Roly Fentanes", + "url": "https://github.com/fent" + }, + "bugs": { + "url": "https://github.com/fent/randexp.js/issues" + }, + "bundleDependencies": false, + "dependencies": { + "discontinuous-range": "1.0.0", + "ret": "~0.1.10" + }, + "deprecated": false, + "description": "Create random strings that match a given regular expression.", + "devDependencies": { + "browserify": "^14.0.0", + "gulp": "^3.9.0", + "gulp-header": "^1.7.1", + "gulp-insert": "^0.5.0", + "gulp-uglify": "^3.0.0", + "istanbul": "*", + "mocha": "*", + "vinyl-buffer": "^1.0.0", + "vinyl-source-stream": "^1.1.0" + }, + "directories": { + "lib": "./lib" + }, + "engines": { + "node": ">=0.12" + }, + "files": [ + "lib" + ], + "homepage": "http://fent.github.io/randexp.js/", + "keywords": [ + "regex", + "regexp", + "regular expression", + "random", + "test" + ], + "license": "MIT", + "main": "./lib/randexp.js", + "name": "randexp", + "repository": { + "type": "git", + "url": "git://github.com/fent/randexp.js.git" + }, + "scripts": { + "test": "istanbul cover node_modules/.bin/_mocha -- test/*-test.js", + "version": "gulp build && git add build" + }, + "version": "0.4.6" +} diff --git a/node_modules/readable-stream/CONTRIBUTING.md b/node_modules/readable-stream/CONTRIBUTING.md new file mode 100644 index 00000000..f478d58d --- /dev/null +++ b/node_modules/readable-stream/CONTRIBUTING.md @@ -0,0 +1,38 @@ +# Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +* (a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +* (b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +* (c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +* (d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. + +## Moderation Policy + +The [Node.js Moderation Policy] applies to this WG. + +## Code of Conduct + +The [Node.js Code of Conduct][] applies to this WG. + +[Node.js Code of Conduct]: +https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md +[Node.js Moderation Policy]: +https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/node_modules/readable-stream/GOVERNANCE.md b/node_modules/readable-stream/GOVERNANCE.md new file mode 100644 index 00000000..16ffb93f --- /dev/null +++ b/node_modules/readable-stream/GOVERNANCE.md @@ -0,0 +1,136 @@ +### Streams Working Group + +The Node.js Streams is jointly governed by a Working Group +(WG) +that is responsible for high-level guidance of the project. + +The WG has final authority over this project including: + +* Technical direction +* Project governance and process (including this policy) +* Contribution policy +* GitHub repository hosting +* Conduct guidelines +* Maintaining the list of additional Collaborators + +For the current list of WG members, see the project +[README.md](./README.md#current-project-team-members). + +### Collaborators + +The readable-stream GitHub repository is +maintained by the WG and additional Collaborators who are added by the +WG on an ongoing basis. + +Individuals making significant and valuable contributions are made +Collaborators and given commit-access to the project. These +individuals are identified by the WG and their addition as +Collaborators is discussed during the WG meeting. + +_Note:_ If you make a significant contribution and are not considered +for commit-access log an issue or contact a WG member directly and it +will be brought up in the next WG meeting. + +Modifications of the contents of the readable-stream repository are +made on +a collaborative basis. Anybody with a GitHub account may propose a +modification via pull request and it will be considered by the project +Collaborators. All pull requests must be reviewed and accepted by a +Collaborator with sufficient expertise who is able to take full +responsibility for the change. In the case of pull requests proposed +by an existing Collaborator, an additional Collaborator is required +for sign-off. Consensus should be sought if additional Collaborators +participate and there is disagreement around a particular +modification. See _Consensus Seeking Process_ below for further detail +on the consensus model used for governance. + +Collaborators may opt to elevate significant or controversial +modifications, or modifications that have not found consensus to the +WG for discussion by assigning the ***WG-agenda*** tag to a pull +request or issue. The WG should serve as the final arbiter where +required. + +For the current list of Collaborators, see the project +[README.md](./README.md#members). + +### WG Membership + +WG seats are not time-limited. There is no fixed size of the WG. +However, the expected target is between 6 and 12, to ensure adequate +coverage of important areas of expertise, balanced with the ability to +make decisions efficiently. + +There is no specific set of requirements or qualifications for WG +membership beyond these rules. + +The WG may add additional members to the WG by unanimous consensus. + +A WG member may be removed from the WG by voluntary resignation, or by +unanimous consensus of all other WG members. + +Changes to WG membership should be posted in the agenda, and may be +suggested as any other agenda item (see "WG Meetings" below). + +If an addition or removal is proposed during a meeting, and the full +WG is not in attendance to participate, then the addition or removal +is added to the agenda for the subsequent meeting. This is to ensure +that all members are given the opportunity to participate in all +membership decisions. If a WG member is unable to attend a meeting +where a planned membership decision is being made, then their consent +is assumed. + +No more than 1/3 of the WG members may be affiliated with the same +employer. If removal or resignation of a WG member, or a change of +employment by a WG member, creates a situation where more than 1/3 of +the WG membership shares an employer, then the situation must be +immediately remedied by the resignation or removal of one or more WG +members affiliated with the over-represented employer(s). + +### WG Meetings + +The WG meets occasionally on a Google Hangout On Air. A designated moderator +approved by the WG runs the meeting. Each meeting should be +published to YouTube. + +Items are added to the WG agenda that are considered contentious or +are modifications of governance, contribution policy, WG membership, +or release process. + +The intention of the agenda is not to approve or review all patches; +that should happen continuously on GitHub and be handled by the larger +group of Collaborators. + +Any community member or contributor can ask that something be added to +the next meeting's agenda by logging a GitHub Issue. Any Collaborator, +WG member or the moderator can add the item to the agenda by adding +the ***WG-agenda*** tag to the issue. + +Prior to each WG meeting the moderator will share the Agenda with +members of the WG. WG members can add any items they like to the +agenda at the beginning of each meeting. The moderator and the WG +cannot veto or remove items. + +The WG may invite persons or representatives from certain projects to +participate in a non-voting capacity. + +The moderator is responsible for summarizing the discussion of each +agenda item and sends it as a pull request after the meeting. + +### Consensus Seeking Process + +The WG follows a +[Consensus +Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making) +decision-making model. + +When an agenda item has appeared to reach a consensus the moderator +will ask "Does anyone object?" as a final call for dissent from the +consensus. + +If an agenda item cannot reach a consensus a WG member can call for +either a closing vote or a vote to table the issue to the next +meeting. The call for a vote must be seconded by a majority of the WG +or else the discussion will continue. Simple majority wins. + +Note that changes to WG membership require a majority consensus. See +"WG Membership" above. diff --git a/node_modules/readable-stream/LICENSE b/node_modules/readable-stream/LICENSE new file mode 100644 index 00000000..2873b3b2 --- /dev/null +++ b/node_modules/readable-stream/LICENSE @@ -0,0 +1,47 @@ +Node.js is licensed for use as follows: + +""" +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: + +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" diff --git a/node_modules/readable-stream/README.md b/node_modules/readable-stream/README.md new file mode 100644 index 00000000..6f035ab1 --- /dev/null +++ b/node_modules/readable-stream/README.md @@ -0,0 +1,106 @@ +# readable-stream + +***Node.js core streams for userland*** [![Build Status](https://travis-ci.com/nodejs/readable-stream.svg?branch=master)](https://travis-ci.com/nodejs/readable-stream) + + +[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/) +[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/) + + +[![Sauce Test Status](https://saucelabs.com/browser-matrix/readabe-stream.svg)](https://saucelabs.com/u/readabe-stream) + +```bash +npm install --save readable-stream +``` + +This package is a mirror of the streams implementations in Node.js. + +Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v10.19.0/docs/api/stream.html). + +If you want to guarantee a stable streams base, regardless of what version of +Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html). + +As of version 2.0.0 **readable-stream** uses semantic versioning. + +## Version 3.x.x + +v3.x.x of `readable-stream` is a cut from Node 10. This version supports Node 6, 8, and 10, as well as evergreen browsers, IE 11 and latest Safari. The breaking changes introduced by v3 are composed by the combined breaking changes in [Node v9](https://nodejs.org/en/blog/release/v9.0.0/) and [Node v10](https://nodejs.org/en/blog/release/v10.0.0/), as follows: + +1. Error codes: https://github.com/nodejs/node/pull/13310, + https://github.com/nodejs/node/pull/13291, + https://github.com/nodejs/node/pull/16589, + https://github.com/nodejs/node/pull/15042, + https://github.com/nodejs/node/pull/15665, + https://github.com/nodejs/readable-stream/pull/344 +2. 'readable' have precedence over flowing + https://github.com/nodejs/node/pull/18994 +3. make virtual methods errors consistent + https://github.com/nodejs/node/pull/18813 +4. updated streams error handling + https://github.com/nodejs/node/pull/18438 +5. writable.end should return this. + https://github.com/nodejs/node/pull/18780 +6. readable continues to read when push('') + https://github.com/nodejs/node/pull/18211 +7. add custom inspect to BufferList + https://github.com/nodejs/node/pull/17907 +8. always defer 'readable' with nextTick + https://github.com/nodejs/node/pull/17979 + +## Version 2.x.x +v2.x.x of `readable-stream` is a cut of the stream module from Node 8 (there have been no semver-major changes from Node 4 to 8). This version supports all Node.js versions from 0.8, as well as evergreen browsers and IE 10 & 11. + +### Big Thanks + +Cross-browser Testing Platform and Open Source <3 Provided by [Sauce Labs][sauce] + +# Usage + +You can swap your `require('stream')` with `require('readable-stream')` +without any changes, if you are just using one of the main classes and +functions. + +```js +const { + Readable, + Writable, + Transform, + Duplex, + pipeline, + finished +} = require('readable-stream') +```` + +Note that `require('stream')` will return `Stream`, while +`require('readable-stream')` will return `Readable`. We discourage using +whatever is exported directly, but rather use one of the properties as +shown in the example above. + +# Streams Working Group + +`readable-stream` is maintained by the Streams Working Group, which +oversees the development and maintenance of the Streams API within +Node.js. The responsibilities of the Streams Working Group include: + +* Addressing stream issues on the Node.js issue tracker. +* Authoring and editing stream documentation within the Node.js project. +* Reviewing changes to stream subclasses within the Node.js project. +* Redirecting changes to streams from the Node.js project to this + project. +* Assisting in the implementation of stream providers within Node.js. +* Recommending versions of `readable-stream` to be included in Node.js. +* Messaging about the future of streams to give the community advance + notice of changes. + + +## Team Members + +* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) <calvin.metcalf@gmail.com> + - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242 +* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) <mathiasbuus@gmail.com> +* **Matteo Collina** ([@mcollina](https://github.com/mcollina)) <matteo.collina@gmail.com> + - Release GPG key: 3ABC01543F22DD2239285CDD818674489FBC127E +* **Irina Shestak** ([@lrlna](https://github.com/lrlna)) <shestak.irina@gmail.com> +* **Yoshua Wyuts** ([@yoshuawuyts](https://github.com/yoshuawuyts)) <yoshuawuyts@gmail.com> + +[sauce]: https://saucelabs.com diff --git a/node_modules/readable-stream/errors-browser.js b/node_modules/readable-stream/errors-browser.js new file mode 100644 index 00000000..fb8e73e1 --- /dev/null +++ b/node_modules/readable-stream/errors-browser.js @@ -0,0 +1,127 @@ +'use strict'; + +function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } + +var codes = {}; + +function createErrorType(code, message, Base) { + if (!Base) { + Base = Error; + } + + function getMessage(arg1, arg2, arg3) { + if (typeof message === 'string') { + return message; + } else { + return message(arg1, arg2, arg3); + } + } + + var NodeError = + /*#__PURE__*/ + function (_Base) { + _inheritsLoose(NodeError, _Base); + + function NodeError(arg1, arg2, arg3) { + return _Base.call(this, getMessage(arg1, arg2, arg3)) || this; + } + + return NodeError; + }(Base); + + NodeError.prototype.name = Base.name; + NodeError.prototype.code = code; + codes[code] = NodeError; +} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js + + +function oneOf(expected, thing) { + if (Array.isArray(expected)) { + var len = expected.length; + expected = expected.map(function (i) { + return String(i); + }); + + if (len > 2) { + return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(', '), ", or ") + expected[len - 1]; + } else if (len === 2) { + return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]); + } else { + return "of ".concat(thing, " ").concat(expected[0]); + } + } else { + return "of ".concat(thing, " ").concat(String(expected)); + } +} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith + + +function startsWith(str, search, pos) { + return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; +} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith + + +function endsWith(str, search, this_len) { + if (this_len === undefined || this_len > str.length) { + this_len = str.length; + } + + return str.substring(this_len - search.length, this_len) === search; +} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes + + +function includes(str, search, start) { + if (typeof start !== 'number') { + start = 0; + } + + if (start + search.length > str.length) { + return false; + } else { + return str.indexOf(search, start) !== -1; + } +} + +createErrorType('ERR_INVALID_OPT_VALUE', function (name, value) { + return 'The value "' + value + '" is invalid for option "' + name + '"'; +}, TypeError); +createErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) { + // determiner: 'must be' or 'must not be' + var determiner; + + if (typeof expected === 'string' && startsWith(expected, 'not ')) { + determiner = 'must not be'; + expected = expected.replace(/^not /, ''); + } else { + determiner = 'must be'; + } + + var msg; + + if (endsWith(name, ' argument')) { + // For cases like 'first argument' + msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, 'type')); + } else { + var type = includes(name, '.') ? 'property' : 'argument'; + msg = "The \"".concat(name, "\" ").concat(type, " ").concat(determiner, " ").concat(oneOf(expected, 'type')); + } + + msg += ". Received type ".concat(typeof actual); + return msg; +}, TypeError); +createErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF'); +createErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) { + return 'The ' + name + ' method is not implemented'; +}); +createErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close'); +createErrorType('ERR_STREAM_DESTROYED', function (name) { + return 'Cannot call ' + name + ' after a stream was destroyed'; +}); +createErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times'); +createErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable'); +createErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end'); +createErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError); +createErrorType('ERR_UNKNOWN_ENCODING', function (arg) { + return 'Unknown encoding: ' + arg; +}, TypeError); +createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event'); +module.exports.codes = codes; diff --git a/node_modules/readable-stream/errors.js b/node_modules/readable-stream/errors.js new file mode 100644 index 00000000..8471526d --- /dev/null +++ b/node_modules/readable-stream/errors.js @@ -0,0 +1,116 @@ +'use strict'; + +const codes = {}; + +function createErrorType(code, message, Base) { + if (!Base) { + Base = Error + } + + function getMessage (arg1, arg2, arg3) { + if (typeof message === 'string') { + return message + } else { + return message(arg1, arg2, arg3) + } + } + + class NodeError extends Base { + constructor (arg1, arg2, arg3) { + super(getMessage(arg1, arg2, arg3)); + } + } + + NodeError.prototype.name = Base.name; + NodeError.prototype.code = code; + + codes[code] = NodeError; +} + +// https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js +function oneOf(expected, thing) { + if (Array.isArray(expected)) { + const len = expected.length; + expected = expected.map((i) => String(i)); + if (len > 2) { + return `one of ${thing} ${expected.slice(0, len - 1).join(', ')}, or ` + + expected[len - 1]; + } else if (len === 2) { + return `one of ${thing} ${expected[0]} or ${expected[1]}`; + } else { + return `of ${thing} ${expected[0]}`; + } + } else { + return `of ${thing} ${String(expected)}`; + } +} + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith +function startsWith(str, search, pos) { + return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; +} + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith +function endsWith(str, search, this_len) { + if (this_len === undefined || this_len > str.length) { + this_len = str.length; + } + return str.substring(this_len - search.length, this_len) === search; +} + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes +function includes(str, search, start) { + if (typeof start !== 'number') { + start = 0; + } + + if (start + search.length > str.length) { + return false; + } else { + return str.indexOf(search, start) !== -1; + } +} + +createErrorType('ERR_INVALID_OPT_VALUE', function (name, value) { + return 'The value "' + value + '" is invalid for option "' + name + '"' +}, TypeError); +createErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) { + // determiner: 'must be' or 'must not be' + let determiner; + if (typeof expected === 'string' && startsWith(expected, 'not ')) { + determiner = 'must not be'; + expected = expected.replace(/^not /, ''); + } else { + determiner = 'must be'; + } + + let msg; + if (endsWith(name, ' argument')) { + // For cases like 'first argument' + msg = `The ${name} ${determiner} ${oneOf(expected, 'type')}`; + } else { + const type = includes(name, '.') ? 'property' : 'argument'; + msg = `The "${name}" ${type} ${determiner} ${oneOf(expected, 'type')}`; + } + + msg += `. Received type ${typeof actual}`; + return msg; +}, TypeError); +createErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF'); +createErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) { + return 'The ' + name + ' method is not implemented' +}); +createErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close'); +createErrorType('ERR_STREAM_DESTROYED', function (name) { + return 'Cannot call ' + name + ' after a stream was destroyed'; +}); +createErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times'); +createErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable'); +createErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end'); +createErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError); +createErrorType('ERR_UNKNOWN_ENCODING', function (arg) { + return 'Unknown encoding: ' + arg +}, TypeError); +createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event'); + +module.exports.codes = codes; diff --git a/node_modules/readable-stream/experimentalWarning.js b/node_modules/readable-stream/experimentalWarning.js new file mode 100644 index 00000000..78e84149 --- /dev/null +++ b/node_modules/readable-stream/experimentalWarning.js @@ -0,0 +1,17 @@ +'use strict' + +var experimentalWarnings = new Set(); + +function emitExperimentalWarning(feature) { + if (experimentalWarnings.has(feature)) return; + var msg = feature + ' is an experimental feature. This feature could ' + + 'change at any time'; + experimentalWarnings.add(feature); + process.emitWarning(msg, 'ExperimentalWarning'); +} + +function noop() {} + +module.exports.emitExperimentalWarning = process.emitWarning + ? emitExperimentalWarning + : noop; diff --git a/node_modules/readable-stream/lib/_stream_duplex.js b/node_modules/readable-stream/lib/_stream_duplex.js new file mode 100644 index 00000000..67525192 --- /dev/null +++ b/node_modules/readable-stream/lib/_stream_duplex.js @@ -0,0 +1,139 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. +// a duplex stream is just a stream that is both readable and writable. +// Since JS doesn't have multiple prototypal inheritance, this class +// prototypally inherits from Readable, and then parasitically from +// Writable. +'use strict'; +/**/ + +var objectKeys = Object.keys || function (obj) { + var keys = []; + + for (var key in obj) { + keys.push(key); + } + + return keys; +}; +/**/ + + +module.exports = Duplex; + +var Readable = require('./_stream_readable'); + +var Writable = require('./_stream_writable'); + +require('inherits')(Duplex, Readable); + +{ + // Allow the keys array to be GC'ed. + var keys = objectKeys(Writable.prototype); + + for (var v = 0; v < keys.length; v++) { + var method = keys[v]; + if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; + } +} + +function Duplex(options) { + if (!(this instanceof Duplex)) return new Duplex(options); + Readable.call(this, options); + Writable.call(this, options); + this.allowHalfOpen = true; + + if (options) { + if (options.readable === false) this.readable = false; + if (options.writable === false) this.writable = false; + + if (options.allowHalfOpen === false) { + this.allowHalfOpen = false; + this.once('end', onend); + } + } +} + +Object.defineProperty(Duplex.prototype, 'writableHighWaterMark', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState.highWaterMark; + } +}); +Object.defineProperty(Duplex.prototype, 'writableBuffer', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState && this._writableState.getBuffer(); + } +}); +Object.defineProperty(Duplex.prototype, 'writableLength', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState.length; + } +}); // the no-half-open enforcer + +function onend() { + // If the writable side ended, then we're ok. + if (this._writableState.ended) return; // no more data can be written. + // But allow more writes to happen in this tick. + + process.nextTick(onEndNT, this); +} + +function onEndNT(self) { + self.end(); +} + +Object.defineProperty(Duplex.prototype, 'destroyed', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + if (this._readableState === undefined || this._writableState === undefined) { + return false; + } + + return this._readableState.destroyed && this._writableState.destroyed; + }, + set: function set(value) { + // we ignore the value if the stream + // has not been initialized yet + if (this._readableState === undefined || this._writableState === undefined) { + return; + } // backward compatibility, the user is explicitly + // managing destroyed + + + this._readableState.destroyed = value; + this._writableState.destroyed = value; + } +}); \ No newline at end of file diff --git a/node_modules/readable-stream/lib/_stream_passthrough.js b/node_modules/readable-stream/lib/_stream_passthrough.js new file mode 100644 index 00000000..32e7414c --- /dev/null +++ b/node_modules/readable-stream/lib/_stream_passthrough.js @@ -0,0 +1,39 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. +// a passthrough stream. +// basically just the most minimal sort of Transform stream. +// Every written chunk gets output as-is. +'use strict'; + +module.exports = PassThrough; + +var Transform = require('./_stream_transform'); + +require('inherits')(PassThrough, Transform); + +function PassThrough(options) { + if (!(this instanceof PassThrough)) return new PassThrough(options); + Transform.call(this, options); +} + +PassThrough.prototype._transform = function (chunk, encoding, cb) { + cb(null, chunk); +}; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/_stream_readable.js b/node_modules/readable-stream/lib/_stream_readable.js new file mode 100644 index 00000000..192d4514 --- /dev/null +++ b/node_modules/readable-stream/lib/_stream_readable.js @@ -0,0 +1,1124 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. +'use strict'; + +module.exports = Readable; +/**/ + +var Duplex; +/**/ + +Readable.ReadableState = ReadableState; +/**/ + +var EE = require('events').EventEmitter; + +var EElistenerCount = function EElistenerCount(emitter, type) { + return emitter.listeners(type).length; +}; +/**/ + +/**/ + + +var Stream = require('./internal/streams/stream'); +/**/ + + +var Buffer = require('buffer').Buffer; + +var OurUint8Array = global.Uint8Array || function () {}; + +function _uint8ArrayToBuffer(chunk) { + return Buffer.from(chunk); +} + +function _isUint8Array(obj) { + return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; +} +/**/ + + +var debugUtil = require('util'); + +var debug; + +if (debugUtil && debugUtil.debuglog) { + debug = debugUtil.debuglog('stream'); +} else { + debug = function debug() {}; +} +/**/ + + +var BufferList = require('./internal/streams/buffer_list'); + +var destroyImpl = require('./internal/streams/destroy'); + +var _require = require('./internal/streams/state'), + getHighWaterMark = _require.getHighWaterMark; + +var _require$codes = require('../errors').codes, + ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, + ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF, + ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, + ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance. + + +var StringDecoder; +var createReadableStreamAsyncIterator; +var from; + +require('inherits')(Readable, Stream); + +var errorOrDestroy = destroyImpl.errorOrDestroy; +var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume']; + +function prependListener(emitter, event, fn) { + // Sadly this is not cacheable as some libraries bundle their own + // event emitter implementation with them. + if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any + // userland ones. NEVER DO THIS. This is here only because this code needs + // to continue to work with older versions of Node.js that do not include + // the prependListener() method. The goal is to eventually remove this hack. + + if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]]; +} + +function ReadableState(options, stream, isDuplex) { + Duplex = Duplex || require('./_stream_duplex'); + options = options || {}; // Duplex streams are both readable and writable, but share + // the same options object. + // However, some cases require setting options to different + // values for the readable and the writable sides of the duplex stream. + // These options can be provided separately as readableXXX and writableXXX. + + if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to + // make all the buffer merging and length checks go away + + this.objectMode = !!options.objectMode; + if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer + // Note: 0 is a valid value, means "don't call _read preemptively ever" + + this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the + // linked list can remove elements from the beginning faster than + // array.shift() + + this.buffer = new BufferList(); + this.length = 0; + this.pipes = null; + this.pipesCount = 0; + this.flowing = null; + this.ended = false; + this.endEmitted = false; + this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted + // immediately, or on a later tick. We set this to true at first, because + // any actions that shouldn't happen until "later" should generally also + // not happen before the first read call. + + this.sync = true; // whenever we return null, then we set a flag to say + // that we're awaiting a 'readable' event emission. + + this.needReadable = false; + this.emittedReadable = false; + this.readableListening = false; + this.resumeScheduled = false; + this.paused = true; // Should close be emitted on destroy. Defaults to true. + + this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish') + + this.autoDestroy = !!options.autoDestroy; // has it been destroyed + + this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string + // encoding is 'binary' so we have to make this configurable. + // Everything else in the universe uses 'utf8', though. + + this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s + + this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled + + this.readingMore = false; + this.decoder = null; + this.encoding = null; + + if (options.encoding) { + if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; + this.decoder = new StringDecoder(options.encoding); + this.encoding = options.encoding; + } +} + +function Readable(options) { + Duplex = Duplex || require('./_stream_duplex'); + if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside + // the ReadableState constructor, at least with V8 6.5 + + var isDuplex = this instanceof Duplex; + this._readableState = new ReadableState(options, this, isDuplex); // legacy + + this.readable = true; + + if (options) { + if (typeof options.read === 'function') this._read = options.read; + if (typeof options.destroy === 'function') this._destroy = options.destroy; + } + + Stream.call(this); +} + +Object.defineProperty(Readable.prototype, 'destroyed', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + if (this._readableState === undefined) { + return false; + } + + return this._readableState.destroyed; + }, + set: function set(value) { + // we ignore the value if the stream + // has not been initialized yet + if (!this._readableState) { + return; + } // backward compatibility, the user is explicitly + // managing destroyed + + + this._readableState.destroyed = value; + } +}); +Readable.prototype.destroy = destroyImpl.destroy; +Readable.prototype._undestroy = destroyImpl.undestroy; + +Readable.prototype._destroy = function (err, cb) { + cb(err); +}; // Manually shove something into the read() buffer. +// This returns true if the highWaterMark has not been hit yet, +// similar to how Writable.write() returns true if you should +// write() some more. + + +Readable.prototype.push = function (chunk, encoding) { + var state = this._readableState; + var skipChunkCheck; + + if (!state.objectMode) { + if (typeof chunk === 'string') { + encoding = encoding || state.defaultEncoding; + + if (encoding !== state.encoding) { + chunk = Buffer.from(chunk, encoding); + encoding = ''; + } + + skipChunkCheck = true; + } + } else { + skipChunkCheck = true; + } + + return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); +}; // Unshift should *always* be something directly out of read() + + +Readable.prototype.unshift = function (chunk) { + return readableAddChunk(this, chunk, null, true, false); +}; + +function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { + debug('readableAddChunk', chunk); + var state = stream._readableState; + + if (chunk === null) { + state.reading = false; + onEofChunk(stream, state); + } else { + var er; + if (!skipChunkCheck) er = chunkInvalid(state, chunk); + + if (er) { + errorOrDestroy(stream, er); + } else if (state.objectMode || chunk && chunk.length > 0) { + if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) { + chunk = _uint8ArrayToBuffer(chunk); + } + + if (addToFront) { + if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true); + } else if (state.ended) { + errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF()); + } else if (state.destroyed) { + return false; + } else { + state.reading = false; + + if (state.decoder && !encoding) { + chunk = state.decoder.write(chunk); + if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state); + } else { + addChunk(stream, state, chunk, false); + } + } + } else if (!addToFront) { + state.reading = false; + maybeReadMore(stream, state); + } + } // We can push more data if we are below the highWaterMark. + // Also, if we have no data yet, we can stand some more bytes. + // This is to work around cases where hwm=0, such as the repl. + + + return !state.ended && (state.length < state.highWaterMark || state.length === 0); +} + +function addChunk(stream, state, chunk, addToFront) { + if (state.flowing && state.length === 0 && !state.sync) { + state.awaitDrain = 0; + stream.emit('data', chunk); + } else { + // update the buffer info. + state.length += state.objectMode ? 1 : chunk.length; + if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); + if (state.needReadable) emitReadable(stream); + } + + maybeReadMore(stream, state); +} + +function chunkInvalid(state, chunk) { + var er; + + if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { + er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk); + } + + return er; +} + +Readable.prototype.isPaused = function () { + return this._readableState.flowing === false; +}; // backwards compatibility. + + +Readable.prototype.setEncoding = function (enc) { + if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; + var decoder = new StringDecoder(enc); + this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8 + + this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers: + + var p = this._readableState.buffer.head; + var content = ''; + + while (p !== null) { + content += decoder.write(p.data); + p = p.next; + } + + this._readableState.buffer.clear(); + + if (content !== '') this._readableState.buffer.push(content); + this._readableState.length = content.length; + return this; +}; // Don't raise the hwm > 1GB + + +var MAX_HWM = 0x40000000; + +function computeNewHighWaterMark(n) { + if (n >= MAX_HWM) { + // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE. + n = MAX_HWM; + } else { + // Get the next highest power of 2 to prevent increasing hwm excessively in + // tiny amounts + n--; + n |= n >>> 1; + n |= n >>> 2; + n |= n >>> 4; + n |= n >>> 8; + n |= n >>> 16; + n++; + } + + return n; +} // This function is designed to be inlinable, so please take care when making +// changes to the function body. + + +function howMuchToRead(n, state) { + if (n <= 0 || state.length === 0 && state.ended) return 0; + if (state.objectMode) return 1; + + if (n !== n) { + // Only flow one buffer at a time + if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length; + } // If we're asking for more than the current hwm, then raise the hwm. + + + if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); + if (n <= state.length) return n; // Don't have enough + + if (!state.ended) { + state.needReadable = true; + return 0; + } + + return state.length; +} // you can override either this method, or the async _read(n) below. + + +Readable.prototype.read = function (n) { + debug('read', n); + n = parseInt(n, 10); + var state = this._readableState; + var nOrig = n; + if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we + // already have a bunch of data in the buffer, then just trigger + // the 'readable' event and move on. + + if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) { + debug('read: emitReadable', state.length, state.ended); + if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this); + return null; + } + + n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up. + + if (n === 0 && state.ended) { + if (state.length === 0) endReadable(this); + return null; + } // All the actual chunk generation logic needs to be + // *below* the call to _read. The reason is that in certain + // synthetic stream cases, such as passthrough streams, _read + // may be a completely synchronous operation which may change + // the state of the read buffer, providing enough data when + // before there was *not* enough. + // + // So, the steps are: + // 1. Figure out what the state of things will be after we do + // a read from the buffer. + // + // 2. If that resulting state will trigger a _read, then call _read. + // Note that this may be asynchronous, or synchronous. Yes, it is + // deeply ugly to write APIs this way, but that still doesn't mean + // that the Readable class should behave improperly, as streams are + // designed to be sync/async agnostic. + // Take note if the _read call is sync or async (ie, if the read call + // has returned yet), so that we know whether or not it's safe to emit + // 'readable' etc. + // + // 3. Actually pull the requested chunks out of the buffer and return. + // if we need a readable event, then we need to do some reading. + + + var doRead = state.needReadable; + debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some + + if (state.length === 0 || state.length - n < state.highWaterMark) { + doRead = true; + debug('length less than watermark', doRead); + } // however, if we've ended, then there's no point, and if we're already + // reading, then it's unnecessary. + + + if (state.ended || state.reading) { + doRead = false; + debug('reading or ended', doRead); + } else if (doRead) { + debug('do read'); + state.reading = true; + state.sync = true; // if the length is currently zero, then we *need* a readable event. + + if (state.length === 0) state.needReadable = true; // call internal read method + + this._read(state.highWaterMark); + + state.sync = false; // If _read pushed data synchronously, then `reading` will be false, + // and we need to re-evaluate how much data we can return to the user. + + if (!state.reading) n = howMuchToRead(nOrig, state); + } + + var ret; + if (n > 0) ret = fromList(n, state);else ret = null; + + if (ret === null) { + state.needReadable = state.length <= state.highWaterMark; + n = 0; + } else { + state.length -= n; + state.awaitDrain = 0; + } + + if (state.length === 0) { + // If we have nothing in the buffer, then we want to know + // as soon as we *do* get something into the buffer. + if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick. + + if (nOrig !== n && state.ended) endReadable(this); + } + + if (ret !== null) this.emit('data', ret); + return ret; +}; + +function onEofChunk(stream, state) { + debug('onEofChunk'); + if (state.ended) return; + + if (state.decoder) { + var chunk = state.decoder.end(); + + if (chunk && chunk.length) { + state.buffer.push(chunk); + state.length += state.objectMode ? 1 : chunk.length; + } + } + + state.ended = true; + + if (state.sync) { + // if we are sync, wait until next tick to emit the data. + // Otherwise we risk emitting data in the flow() + // the readable code triggers during a read() call + emitReadable(stream); + } else { + // emit 'readable' now to make sure it gets picked up. + state.needReadable = false; + + if (!state.emittedReadable) { + state.emittedReadable = true; + emitReadable_(stream); + } + } +} // Don't emit readable right away in sync mode, because this can trigger +// another read() call => stack overflow. This way, it might trigger +// a nextTick recursion warning, but that's not so bad. + + +function emitReadable(stream) { + var state = stream._readableState; + debug('emitReadable', state.needReadable, state.emittedReadable); + state.needReadable = false; + + if (!state.emittedReadable) { + debug('emitReadable', state.flowing); + state.emittedReadable = true; + process.nextTick(emitReadable_, stream); + } +} + +function emitReadable_(stream) { + var state = stream._readableState; + debug('emitReadable_', state.destroyed, state.length, state.ended); + + if (!state.destroyed && (state.length || state.ended)) { + stream.emit('readable'); + state.emittedReadable = false; + } // The stream needs another readable event if + // 1. It is not flowing, as the flow mechanism will take + // care of it. + // 2. It is not ended. + // 3. It is below the highWaterMark, so we can schedule + // another readable later. + + + state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark; + flow(stream); +} // at this point, the user has presumably seen the 'readable' event, +// and called read() to consume some data. that may have triggered +// in turn another _read(n) call, in which case reading = true if +// it's in progress. +// However, if we're not ended, or reading, and the length < hwm, +// then go ahead and try to read some more preemptively. + + +function maybeReadMore(stream, state) { + if (!state.readingMore) { + state.readingMore = true; + process.nextTick(maybeReadMore_, stream, state); + } +} + +function maybeReadMore_(stream, state) { + // Attempt to read more data if we should. + // + // The conditions for reading more data are (one of): + // - Not enough data buffered (state.length < state.highWaterMark). The loop + // is responsible for filling the buffer with enough data if such data + // is available. If highWaterMark is 0 and we are not in the flowing mode + // we should _not_ attempt to buffer any extra data. We'll get more data + // when the stream consumer calls read() instead. + // - No data in the buffer, and the stream is in flowing mode. In this mode + // the loop below is responsible for ensuring read() is called. Failing to + // call read here would abort the flow and there's no other mechanism for + // continuing the flow if the stream consumer has just subscribed to the + // 'data' event. + // + // In addition to the above conditions to keep reading data, the following + // conditions prevent the data from being read: + // - The stream has ended (state.ended). + // - There is already a pending 'read' operation (state.reading). This is a + // case where the the stream has called the implementation defined _read() + // method, but they are processing the call asynchronously and have _not_ + // called push() with new data. In this case we skip performing more + // read()s. The execution ends in this method again after the _read() ends + // up calling push() with more data. + while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) { + var len = state.length; + debug('maybeReadMore read 0'); + stream.read(0); + if (len === state.length) // didn't get any data, stop spinning. + break; + } + + state.readingMore = false; +} // abstract method. to be overridden in specific implementation classes. +// call cb(er, data) where data is <= n in length. +// for virtual (non-string, non-buffer) streams, "length" is somewhat +// arbitrary, and perhaps not very meaningful. + + +Readable.prototype._read = function (n) { + errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()')); +}; + +Readable.prototype.pipe = function (dest, pipeOpts) { + var src = this; + var state = this._readableState; + + switch (state.pipesCount) { + case 0: + state.pipes = dest; + break; + + case 1: + state.pipes = [state.pipes, dest]; + break; + + default: + state.pipes.push(dest); + break; + } + + state.pipesCount += 1; + debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); + var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; + var endFn = doEnd ? onend : unpipe; + if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn); + dest.on('unpipe', onunpipe); + + function onunpipe(readable, unpipeInfo) { + debug('onunpipe'); + + if (readable === src) { + if (unpipeInfo && unpipeInfo.hasUnpiped === false) { + unpipeInfo.hasUnpiped = true; + cleanup(); + } + } + } + + function onend() { + debug('onend'); + dest.end(); + } // when the dest drains, it reduces the awaitDrain counter + // on the source. This would be more elegant with a .once() + // handler in flow(), but adding and removing repeatedly is + // too slow. + + + var ondrain = pipeOnDrain(src); + dest.on('drain', ondrain); + var cleanedUp = false; + + function cleanup() { + debug('cleanup'); // cleanup event handlers once the pipe is broken + + dest.removeListener('close', onclose); + dest.removeListener('finish', onfinish); + dest.removeListener('drain', ondrain); + dest.removeListener('error', onerror); + dest.removeListener('unpipe', onunpipe); + src.removeListener('end', onend); + src.removeListener('end', unpipe); + src.removeListener('data', ondata); + cleanedUp = true; // if the reader is waiting for a drain event from this + // specific writer, then it would cause it to never start + // flowing again. + // So, if this is awaiting a drain, then we just call it now. + // If we don't know, then assume that we are waiting for one. + + if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); + } + + src.on('data', ondata); + + function ondata(chunk) { + debug('ondata'); + var ret = dest.write(chunk); + debug('dest.write', ret); + + if (ret === false) { + // If the user unpiped during `dest.write()`, it is possible + // to get stuck in a permanently paused state if that write + // also returned false. + // => Check whether `dest` is still a piping destination. + if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { + debug('false write response, pause', state.awaitDrain); + state.awaitDrain++; + } + + src.pause(); + } + } // if the dest has an error, then stop piping into it. + // however, don't suppress the throwing behavior for this. + + + function onerror(er) { + debug('onerror', er); + unpipe(); + dest.removeListener('error', onerror); + if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er); + } // Make sure our error handler is attached before userland ones. + + + prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once. + + function onclose() { + dest.removeListener('finish', onfinish); + unpipe(); + } + + dest.once('close', onclose); + + function onfinish() { + debug('onfinish'); + dest.removeListener('close', onclose); + unpipe(); + } + + dest.once('finish', onfinish); + + function unpipe() { + debug('unpipe'); + src.unpipe(dest); + } // tell the dest that it's being piped to + + + dest.emit('pipe', src); // start the flow if it hasn't been started already. + + if (!state.flowing) { + debug('pipe resume'); + src.resume(); + } + + return dest; +}; + +function pipeOnDrain(src) { + return function pipeOnDrainFunctionResult() { + var state = src._readableState; + debug('pipeOnDrain', state.awaitDrain); + if (state.awaitDrain) state.awaitDrain--; + + if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) { + state.flowing = true; + flow(src); + } + }; +} + +Readable.prototype.unpipe = function (dest) { + var state = this._readableState; + var unpipeInfo = { + hasUnpiped: false + }; // if we're not piping anywhere, then do nothing. + + if (state.pipesCount === 0) return this; // just one destination. most common case. + + if (state.pipesCount === 1) { + // passed in one, but it's not the right one. + if (dest && dest !== state.pipes) return this; + if (!dest) dest = state.pipes; // got a match. + + state.pipes = null; + state.pipesCount = 0; + state.flowing = false; + if (dest) dest.emit('unpipe', this, unpipeInfo); + return this; + } // slow case. multiple pipe destinations. + + + if (!dest) { + // remove all. + var dests = state.pipes; + var len = state.pipesCount; + state.pipes = null; + state.pipesCount = 0; + state.flowing = false; + + for (var i = 0; i < len; i++) { + dests[i].emit('unpipe', this, { + hasUnpiped: false + }); + } + + return this; + } // try to find the right one. + + + var index = indexOf(state.pipes, dest); + if (index === -1) return this; + state.pipes.splice(index, 1); + state.pipesCount -= 1; + if (state.pipesCount === 1) state.pipes = state.pipes[0]; + dest.emit('unpipe', this, unpipeInfo); + return this; +}; // set up data events if they are asked for +// Ensure readable listeners eventually get something + + +Readable.prototype.on = function (ev, fn) { + var res = Stream.prototype.on.call(this, ev, fn); + var state = this._readableState; + + if (ev === 'data') { + // update readableListening so that resume() may be a no-op + // a few lines down. This is needed to support once('readable'). + state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused + + if (state.flowing !== false) this.resume(); + } else if (ev === 'readable') { + if (!state.endEmitted && !state.readableListening) { + state.readableListening = state.needReadable = true; + state.flowing = false; + state.emittedReadable = false; + debug('on readable', state.length, state.reading); + + if (state.length) { + emitReadable(this); + } else if (!state.reading) { + process.nextTick(nReadingNextTick, this); + } + } + } + + return res; +}; + +Readable.prototype.addListener = Readable.prototype.on; + +Readable.prototype.removeListener = function (ev, fn) { + var res = Stream.prototype.removeListener.call(this, ev, fn); + + if (ev === 'readable') { + // We need to check if there is someone still listening to + // readable and reset the state. However this needs to happen + // after readable has been emitted but before I/O (nextTick) to + // support once('readable', fn) cycles. This means that calling + // resume within the same tick will have no + // effect. + process.nextTick(updateReadableListening, this); + } + + return res; +}; + +Readable.prototype.removeAllListeners = function (ev) { + var res = Stream.prototype.removeAllListeners.apply(this, arguments); + + if (ev === 'readable' || ev === undefined) { + // We need to check if there is someone still listening to + // readable and reset the state. However this needs to happen + // after readable has been emitted but before I/O (nextTick) to + // support once('readable', fn) cycles. This means that calling + // resume within the same tick will have no + // effect. + process.nextTick(updateReadableListening, this); + } + + return res; +}; + +function updateReadableListening(self) { + var state = self._readableState; + state.readableListening = self.listenerCount('readable') > 0; + + if (state.resumeScheduled && !state.paused) { + // flowing needs to be set to true now, otherwise + // the upcoming resume will not flow. + state.flowing = true; // crude way to check if we should resume + } else if (self.listenerCount('data') > 0) { + self.resume(); + } +} + +function nReadingNextTick(self) { + debug('readable nexttick read 0'); + self.read(0); +} // pause() and resume() are remnants of the legacy readable stream API +// If the user uses them, then switch into old mode. + + +Readable.prototype.resume = function () { + var state = this._readableState; + + if (!state.flowing) { + debug('resume'); // we flow only if there is no one listening + // for readable, but we still have to call + // resume() + + state.flowing = !state.readableListening; + resume(this, state); + } + + state.paused = false; + return this; +}; + +function resume(stream, state) { + if (!state.resumeScheduled) { + state.resumeScheduled = true; + process.nextTick(resume_, stream, state); + } +} + +function resume_(stream, state) { + debug('resume', state.reading); + + if (!state.reading) { + stream.read(0); + } + + state.resumeScheduled = false; + stream.emit('resume'); + flow(stream); + if (state.flowing && !state.reading) stream.read(0); +} + +Readable.prototype.pause = function () { + debug('call pause flowing=%j', this._readableState.flowing); + + if (this._readableState.flowing !== false) { + debug('pause'); + this._readableState.flowing = false; + this.emit('pause'); + } + + this._readableState.paused = true; + return this; +}; + +function flow(stream) { + var state = stream._readableState; + debug('flow', state.flowing); + + while (state.flowing && stream.read() !== null) { + ; + } +} // wrap an old-style stream as the async data source. +// This is *not* part of the readable stream interface. +// It is an ugly unfortunate mess of history. + + +Readable.prototype.wrap = function (stream) { + var _this = this; + + var state = this._readableState; + var paused = false; + stream.on('end', function () { + debug('wrapped end'); + + if (state.decoder && !state.ended) { + var chunk = state.decoder.end(); + if (chunk && chunk.length) _this.push(chunk); + } + + _this.push(null); + }); + stream.on('data', function (chunk) { + debug('wrapped data'); + if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode + + if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return; + + var ret = _this.push(chunk); + + if (!ret) { + paused = true; + stream.pause(); + } + }); // proxy all the other methods. + // important when wrapping filters and duplexes. + + for (var i in stream) { + if (this[i] === undefined && typeof stream[i] === 'function') { + this[i] = function methodWrap(method) { + return function methodWrapReturnFunction() { + return stream[method].apply(stream, arguments); + }; + }(i); + } + } // proxy certain important events. + + + for (var n = 0; n < kProxyEvents.length; n++) { + stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n])); + } // when we try to consume some more bytes, simply unpause the + // underlying stream. + + + this._read = function (n) { + debug('wrapped _read', n); + + if (paused) { + paused = false; + stream.resume(); + } + }; + + return this; +}; + +if (typeof Symbol === 'function') { + Readable.prototype[Symbol.asyncIterator] = function () { + if (createReadableStreamAsyncIterator === undefined) { + createReadableStreamAsyncIterator = require('./internal/streams/async_iterator'); + } + + return createReadableStreamAsyncIterator(this); + }; +} + +Object.defineProperty(Readable.prototype, 'readableHighWaterMark', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._readableState.highWaterMark; + } +}); +Object.defineProperty(Readable.prototype, 'readableBuffer', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._readableState && this._readableState.buffer; + } +}); +Object.defineProperty(Readable.prototype, 'readableFlowing', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._readableState.flowing; + }, + set: function set(state) { + if (this._readableState) { + this._readableState.flowing = state; + } + } +}); // exposed for testing purposes only. + +Readable._fromList = fromList; +Object.defineProperty(Readable.prototype, 'readableLength', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._readableState.length; + } +}); // Pluck off n bytes from an array of buffers. +// Length is the combined lengths of all the buffers in the list. +// This function is designed to be inlinable, so please take care when making +// changes to the function body. + +function fromList(n, state) { + // nothing buffered + if (state.length === 0) return null; + var ret; + if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) { + // read it all, truncate the list + if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length); + state.buffer.clear(); + } else { + // read part of list + ret = state.buffer.consume(n, state.decoder); + } + return ret; +} + +function endReadable(stream) { + var state = stream._readableState; + debug('endReadable', state.endEmitted); + + if (!state.endEmitted) { + state.ended = true; + process.nextTick(endReadableNT, state, stream); + } +} + +function endReadableNT(state, stream) { + debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift. + + if (!state.endEmitted && state.length === 0) { + state.endEmitted = true; + stream.readable = false; + stream.emit('end'); + + if (state.autoDestroy) { + // In case of duplex streams we need a way to detect + // if the writable side is ready for autoDestroy as well + var wState = stream._writableState; + + if (!wState || wState.autoDestroy && wState.finished) { + stream.destroy(); + } + } + } +} + +if (typeof Symbol === 'function') { + Readable.from = function (iterable, opts) { + if (from === undefined) { + from = require('./internal/streams/from'); + } + + return from(Readable, iterable, opts); + }; +} + +function indexOf(xs, x) { + for (var i = 0, l = xs.length; i < l; i++) { + if (xs[i] === x) return i; + } + + return -1; +} \ No newline at end of file diff --git a/node_modules/readable-stream/lib/_stream_transform.js b/node_modules/readable-stream/lib/_stream_transform.js new file mode 100644 index 00000000..41a738c4 --- /dev/null +++ b/node_modules/readable-stream/lib/_stream_transform.js @@ -0,0 +1,201 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. +// a transform stream is a readable/writable stream where you do +// something with the data. Sometimes it's called a "filter", +// but that's not a great name for it, since that implies a thing where +// some bits pass through, and others are simply ignored. (That would +// be a valid example of a transform, of course.) +// +// While the output is causally related to the input, it's not a +// necessarily symmetric or synchronous transformation. For example, +// a zlib stream might take multiple plain-text writes(), and then +// emit a single compressed chunk some time in the future. +// +// Here's how this works: +// +// The Transform stream has all the aspects of the readable and writable +// stream classes. When you write(chunk), that calls _write(chunk,cb) +// internally, and returns false if there's a lot of pending writes +// buffered up. When you call read(), that calls _read(n) until +// there's enough pending readable data buffered up. +// +// In a transform stream, the written data is placed in a buffer. When +// _read(n) is called, it transforms the queued up data, calling the +// buffered _write cb's as it consumes chunks. If consuming a single +// written chunk would result in multiple output chunks, then the first +// outputted bit calls the readcb, and subsequent chunks just go into +// the read buffer, and will cause it to emit 'readable' if necessary. +// +// This way, back-pressure is actually determined by the reading side, +// since _read has to be called to start processing a new chunk. However, +// a pathological inflate type of transform can cause excessive buffering +// here. For example, imagine a stream where every byte of input is +// interpreted as an integer from 0-255, and then results in that many +// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in +// 1kb of data being output. In this case, you could write a very small +// amount of input, and end up with a very large amount of output. In +// such a pathological inflating mechanism, there'd be no way to tell +// the system to stop doing the transform. A single 4MB write could +// cause the system to run out of memory. +// +// However, even in such a pathological case, only a single written chunk +// would be consumed, and then the rest would wait (un-transformed) until +// the results of the previous transformed chunk were consumed. +'use strict'; + +module.exports = Transform; + +var _require$codes = require('../errors').codes, + ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, + ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, + ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING, + ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0; + +var Duplex = require('./_stream_duplex'); + +require('inherits')(Transform, Duplex); + +function afterTransform(er, data) { + var ts = this._transformState; + ts.transforming = false; + var cb = ts.writecb; + + if (cb === null) { + return this.emit('error', new ERR_MULTIPLE_CALLBACK()); + } + + ts.writechunk = null; + ts.writecb = null; + if (data != null) // single equals check for both `null` and `undefined` + this.push(data); + cb(er); + var rs = this._readableState; + rs.reading = false; + + if (rs.needReadable || rs.length < rs.highWaterMark) { + this._read(rs.highWaterMark); + } +} + +function Transform(options) { + if (!(this instanceof Transform)) return new Transform(options); + Duplex.call(this, options); + this._transformState = { + afterTransform: afterTransform.bind(this), + needTransform: false, + transforming: false, + writecb: null, + writechunk: null, + writeencoding: null + }; // start out asking for a readable event once data is transformed. + + this._readableState.needReadable = true; // we have implemented the _read method, and done the other things + // that Readable wants before the first _read call, so unset the + // sync guard flag. + + this._readableState.sync = false; + + if (options) { + if (typeof options.transform === 'function') this._transform = options.transform; + if (typeof options.flush === 'function') this._flush = options.flush; + } // When the writable side finishes, then flush out anything remaining. + + + this.on('prefinish', prefinish); +} + +function prefinish() { + var _this = this; + + if (typeof this._flush === 'function' && !this._readableState.destroyed) { + this._flush(function (er, data) { + done(_this, er, data); + }); + } else { + done(this, null, null); + } +} + +Transform.prototype.push = function (chunk, encoding) { + this._transformState.needTransform = false; + return Duplex.prototype.push.call(this, chunk, encoding); +}; // This is the part where you do stuff! +// override this function in implementation classes. +// 'chunk' is an input chunk. +// +// Call `push(newChunk)` to pass along transformed output +// to the readable side. You may call 'push' zero or more times. +// +// Call `cb(err)` when you are done with this chunk. If you pass +// an error, then that'll put the hurt on the whole operation. If you +// never call cb(), then you'll never get another chunk. + + +Transform.prototype._transform = function (chunk, encoding, cb) { + cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()')); +}; + +Transform.prototype._write = function (chunk, encoding, cb) { + var ts = this._transformState; + ts.writecb = cb; + ts.writechunk = chunk; + ts.writeencoding = encoding; + + if (!ts.transforming) { + var rs = this._readableState; + if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); + } +}; // Doesn't matter what the args are here. +// _transform does all the work. +// That we got here means that the readable side wants more data. + + +Transform.prototype._read = function (n) { + var ts = this._transformState; + + if (ts.writechunk !== null && !ts.transforming) { + ts.transforming = true; + + this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); + } else { + // mark that we need a transform, so that any data that comes in + // will get processed, now that we've asked for it. + ts.needTransform = true; + } +}; + +Transform.prototype._destroy = function (err, cb) { + Duplex.prototype._destroy.call(this, err, function (err2) { + cb(err2); + }); +}; + +function done(stream, er, data) { + if (er) return stream.emit('error', er); + if (data != null) // single equals check for both `null` and `undefined` + stream.push(data); // TODO(BridgeAR): Write a test for these two error cases + // if there's nothing in the write buffer, then that means + // that nothing more will ever be provided + + if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0(); + if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING(); + return stream.push(null); +} \ No newline at end of file diff --git a/node_modules/readable-stream/lib/_stream_writable.js b/node_modules/readable-stream/lib/_stream_writable.js new file mode 100644 index 00000000..a2634d7c --- /dev/null +++ b/node_modules/readable-stream/lib/_stream_writable.js @@ -0,0 +1,697 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. +// A bit simpler than readable streams. +// Implement an async ._write(chunk, encoding, cb), and it'll handle all +// the drain event emission and buffering. +'use strict'; + +module.exports = Writable; +/* */ + +function WriteReq(chunk, encoding, cb) { + this.chunk = chunk; + this.encoding = encoding; + this.callback = cb; + this.next = null; +} // It seems a linked list but it is not +// there will be only 2 of these for each stream + + +function CorkedRequest(state) { + var _this = this; + + this.next = null; + this.entry = null; + + this.finish = function () { + onCorkedFinish(_this, state); + }; +} +/* */ + +/**/ + + +var Duplex; +/**/ + +Writable.WritableState = WritableState; +/**/ + +var internalUtil = { + deprecate: require('util-deprecate') +}; +/**/ + +/**/ + +var Stream = require('./internal/streams/stream'); +/**/ + + +var Buffer = require('buffer').Buffer; + +var OurUint8Array = global.Uint8Array || function () {}; + +function _uint8ArrayToBuffer(chunk) { + return Buffer.from(chunk); +} + +function _isUint8Array(obj) { + return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; +} + +var destroyImpl = require('./internal/streams/destroy'); + +var _require = require('./internal/streams/state'), + getHighWaterMark = _require.getHighWaterMark; + +var _require$codes = require('../errors').codes, + ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, + ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, + ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, + ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE, + ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED, + ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES, + ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END, + ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING; + +var errorOrDestroy = destroyImpl.errorOrDestroy; + +require('inherits')(Writable, Stream); + +function nop() {} + +function WritableState(options, stream, isDuplex) { + Duplex = Duplex || require('./_stream_duplex'); + options = options || {}; // Duplex streams are both readable and writable, but share + // the same options object. + // However, some cases require setting options to different + // values for the readable and the writable sides of the duplex stream, + // e.g. options.readableObjectMode vs. options.writableObjectMode, etc. + + if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream + // contains buffers or objects. + + this.objectMode = !!options.objectMode; + if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false + // Note: 0 is a valid value, means that we always return false if + // the entire buffer is not flushed immediately on write() + + this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called + + this.finalCalled = false; // drain event flag. + + this.needDrain = false; // at the start of calling end() + + this.ending = false; // when end() has been called, and returned + + this.ended = false; // when 'finish' is emitted + + this.finished = false; // has it been destroyed + + this.destroyed = false; // should we decode strings into buffers before passing to _write? + // this is here so that some node-core streams can optimize string + // handling at a lower level. + + var noDecode = options.decodeStrings === false; + this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string + // encoding is 'binary' so we have to make this configurable. + // Everything else in the universe uses 'utf8', though. + + this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement + // of how much we're waiting to get pushed to some underlying + // socket or file. + + this.length = 0; // a flag to see when we're in the middle of a write. + + this.writing = false; // when true all writes will be buffered until .uncork() call + + this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately, + // or on a later tick. We set this to true at first, because any + // actions that shouldn't happen until "later" should generally also + // not happen before the first write call. + + this.sync = true; // a flag to know if we're processing previously buffered items, which + // may call the _write() callback in the same tick, so that we don't + // end up in an overlapped onwrite situation. + + this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb) + + this.onwrite = function (er) { + onwrite(stream, er); + }; // the callback that the user supplies to write(chunk,encoding,cb) + + + this.writecb = null; // the amount that is being written when _write is called. + + this.writelen = 0; + this.bufferedRequest = null; + this.lastBufferedRequest = null; // number of pending user-supplied write callbacks + // this must be 0 before 'finish' can be emitted + + this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs + // This is relevant for synchronous Transform streams + + this.prefinished = false; // True if the error was already emitted and should not be thrown again + + this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true. + + this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end') + + this.autoDestroy = !!options.autoDestroy; // count buffered requests + + this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always + // one allocated and free to use, and we maintain at most two + + this.corkedRequestsFree = new CorkedRequest(this); +} + +WritableState.prototype.getBuffer = function getBuffer() { + var current = this.bufferedRequest; + var out = []; + + while (current) { + out.push(current); + current = current.next; + } + + return out; +}; + +(function () { + try { + Object.defineProperty(WritableState.prototype, 'buffer', { + get: internalUtil.deprecate(function writableStateBufferGetter() { + return this.getBuffer(); + }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003') + }); + } catch (_) {} +})(); // Test _writableState for inheritance to account for Duplex streams, +// whose prototype chain only points to Readable. + + +var realHasInstance; + +if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') { + realHasInstance = Function.prototype[Symbol.hasInstance]; + Object.defineProperty(Writable, Symbol.hasInstance, { + value: function value(object) { + if (realHasInstance.call(this, object)) return true; + if (this !== Writable) return false; + return object && object._writableState instanceof WritableState; + } + }); +} else { + realHasInstance = function realHasInstance(object) { + return object instanceof this; + }; +} + +function Writable(options) { + Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too. + // `realHasInstance` is necessary because using plain `instanceof` + // would return false, as no `_writableState` property is attached. + // Trying to use the custom `instanceof` for Writable here will also break the + // Node.js LazyTransform implementation, which has a non-trivial getter for + // `_writableState` that would lead to infinite recursion. + // Checking for a Stream.Duplex instance is faster here instead of inside + // the WritableState constructor, at least with V8 6.5 + + var isDuplex = this instanceof Duplex; + if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options); + this._writableState = new WritableState(options, this, isDuplex); // legacy. + + this.writable = true; + + if (options) { + if (typeof options.write === 'function') this._write = options.write; + if (typeof options.writev === 'function') this._writev = options.writev; + if (typeof options.destroy === 'function') this._destroy = options.destroy; + if (typeof options.final === 'function') this._final = options.final; + } + + Stream.call(this); +} // Otherwise people can pipe Writable streams, which is just wrong. + + +Writable.prototype.pipe = function () { + errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE()); +}; + +function writeAfterEnd(stream, cb) { + var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb + + errorOrDestroy(stream, er); + process.nextTick(cb, er); +} // Checks that a user-supplied chunk is valid, especially for the particular +// mode the stream is in. Currently this means that `null` is never accepted +// and undefined/non-string values are only allowed in object mode. + + +function validChunk(stream, state, chunk, cb) { + var er; + + if (chunk === null) { + er = new ERR_STREAM_NULL_VALUES(); + } else if (typeof chunk !== 'string' && !state.objectMode) { + er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk); + } + + if (er) { + errorOrDestroy(stream, er); + process.nextTick(cb, er); + return false; + } + + return true; +} + +Writable.prototype.write = function (chunk, encoding, cb) { + var state = this._writableState; + var ret = false; + + var isBuf = !state.objectMode && _isUint8Array(chunk); + + if (isBuf && !Buffer.isBuffer(chunk)) { + chunk = _uint8ArrayToBuffer(chunk); + } + + if (typeof encoding === 'function') { + cb = encoding; + encoding = null; + } + + if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; + if (typeof cb !== 'function') cb = nop; + if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) { + state.pendingcb++; + ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); + } + return ret; +}; + +Writable.prototype.cork = function () { + this._writableState.corked++; +}; + +Writable.prototype.uncork = function () { + var state = this._writableState; + + if (state.corked) { + state.corked--; + if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); + } +}; + +Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { + // node::ParseEncoding() requires lower case. + if (typeof encoding === 'string') encoding = encoding.toLowerCase(); + if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding); + this._writableState.defaultEncoding = encoding; + return this; +}; + +Object.defineProperty(Writable.prototype, 'writableBuffer', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState && this._writableState.getBuffer(); + } +}); + +function decodeChunk(state, chunk, encoding) { + if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') { + chunk = Buffer.from(chunk, encoding); + } + + return chunk; +} + +Object.defineProperty(Writable.prototype, 'writableHighWaterMark', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState.highWaterMark; + } +}); // if we're already writing something, then just put this +// in the queue, and wait our turn. Otherwise, call _write +// If we return false, then we need a drain event, so set that flag. + +function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) { + if (!isBuf) { + var newChunk = decodeChunk(state, chunk, encoding); + + if (chunk !== newChunk) { + isBuf = true; + encoding = 'buffer'; + chunk = newChunk; + } + } + + var len = state.objectMode ? 1 : chunk.length; + state.length += len; + var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false. + + if (!ret) state.needDrain = true; + + if (state.writing || state.corked) { + var last = state.lastBufferedRequest; + state.lastBufferedRequest = { + chunk: chunk, + encoding: encoding, + isBuf: isBuf, + callback: cb, + next: null + }; + + if (last) { + last.next = state.lastBufferedRequest; + } else { + state.bufferedRequest = state.lastBufferedRequest; + } + + state.bufferedRequestCount += 1; + } else { + doWrite(stream, state, false, len, chunk, encoding, cb); + } + + return ret; +} + +function doWrite(stream, state, writev, len, chunk, encoding, cb) { + state.writelen = len; + state.writecb = cb; + state.writing = true; + state.sync = true; + if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite); + state.sync = false; +} + +function onwriteError(stream, state, sync, er, cb) { + --state.pendingcb; + + if (sync) { + // defer the callback if we are being called synchronously + // to avoid piling up things on the stack + process.nextTick(cb, er); // this can emit finish, and it will always happen + // after error + + process.nextTick(finishMaybe, stream, state); + stream._writableState.errorEmitted = true; + errorOrDestroy(stream, er); + } else { + // the caller expect this to happen before if + // it is async + cb(er); + stream._writableState.errorEmitted = true; + errorOrDestroy(stream, er); // this can emit finish, but finish must + // always follow error + + finishMaybe(stream, state); + } +} + +function onwriteStateUpdate(state) { + state.writing = false; + state.writecb = null; + state.length -= state.writelen; + state.writelen = 0; +} + +function onwrite(stream, er) { + var state = stream._writableState; + var sync = state.sync; + var cb = state.writecb; + if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK(); + onwriteStateUpdate(state); + if (er) onwriteError(stream, state, sync, er, cb);else { + // Check if we're actually ready to finish, but don't emit yet + var finished = needFinish(state) || stream.destroyed; + + if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { + clearBuffer(stream, state); + } + + if (sync) { + process.nextTick(afterWrite, stream, state, finished, cb); + } else { + afterWrite(stream, state, finished, cb); + } + } +} + +function afterWrite(stream, state, finished, cb) { + if (!finished) onwriteDrain(stream, state); + state.pendingcb--; + cb(); + finishMaybe(stream, state); +} // Must force callback to be called on nextTick, so that we don't +// emit 'drain' before the write() consumer gets the 'false' return +// value, and has a chance to attach a 'drain' listener. + + +function onwriteDrain(stream, state) { + if (state.length === 0 && state.needDrain) { + state.needDrain = false; + stream.emit('drain'); + } +} // if there's something in the buffer waiting, then process it + + +function clearBuffer(stream, state) { + state.bufferProcessing = true; + var entry = state.bufferedRequest; + + if (stream._writev && entry && entry.next) { + // Fast case, write everything using _writev() + var l = state.bufferedRequestCount; + var buffer = new Array(l); + var holder = state.corkedRequestsFree; + holder.entry = entry; + var count = 0; + var allBuffers = true; + + while (entry) { + buffer[count] = entry; + if (!entry.isBuf) allBuffers = false; + entry = entry.next; + count += 1; + } + + buffer.allBuffers = allBuffers; + doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time + // as the hot path ends with doWrite + + state.pendingcb++; + state.lastBufferedRequest = null; + + if (holder.next) { + state.corkedRequestsFree = holder.next; + holder.next = null; + } else { + state.corkedRequestsFree = new CorkedRequest(state); + } + + state.bufferedRequestCount = 0; + } else { + // Slow case, write chunks one-by-one + while (entry) { + var chunk = entry.chunk; + var encoding = entry.encoding; + var cb = entry.callback; + var len = state.objectMode ? 1 : chunk.length; + doWrite(stream, state, false, len, chunk, encoding, cb); + entry = entry.next; + state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then + // it means that we need to wait until it does. + // also, that means that the chunk and cb are currently + // being processed, so move the buffer counter past them. + + if (state.writing) { + break; + } + } + + if (entry === null) state.lastBufferedRequest = null; + } + + state.bufferedRequest = entry; + state.bufferProcessing = false; +} + +Writable.prototype._write = function (chunk, encoding, cb) { + cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()')); +}; + +Writable.prototype._writev = null; + +Writable.prototype.end = function (chunk, encoding, cb) { + var state = this._writableState; + + if (typeof chunk === 'function') { + cb = chunk; + chunk = null; + encoding = null; + } else if (typeof encoding === 'function') { + cb = encoding; + encoding = null; + } + + if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks + + if (state.corked) { + state.corked = 1; + this.uncork(); + } // ignore unnecessary end() calls. + + + if (!state.ending) endWritable(this, state, cb); + return this; +}; + +Object.defineProperty(Writable.prototype, 'writableLength', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState.length; + } +}); + +function needFinish(state) { + return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; +} + +function callFinal(stream, state) { + stream._final(function (err) { + state.pendingcb--; + + if (err) { + errorOrDestroy(stream, err); + } + + state.prefinished = true; + stream.emit('prefinish'); + finishMaybe(stream, state); + }); +} + +function prefinish(stream, state) { + if (!state.prefinished && !state.finalCalled) { + if (typeof stream._final === 'function' && !state.destroyed) { + state.pendingcb++; + state.finalCalled = true; + process.nextTick(callFinal, stream, state); + } else { + state.prefinished = true; + stream.emit('prefinish'); + } + } +} + +function finishMaybe(stream, state) { + var need = needFinish(state); + + if (need) { + prefinish(stream, state); + + if (state.pendingcb === 0) { + state.finished = true; + stream.emit('finish'); + + if (state.autoDestroy) { + // In case of duplex streams we need a way to detect + // if the readable side is ready for autoDestroy as well + var rState = stream._readableState; + + if (!rState || rState.autoDestroy && rState.endEmitted) { + stream.destroy(); + } + } + } + } + + return need; +} + +function endWritable(stream, state, cb) { + state.ending = true; + finishMaybe(stream, state); + + if (cb) { + if (state.finished) process.nextTick(cb);else stream.once('finish', cb); + } + + state.ended = true; + stream.writable = false; +} + +function onCorkedFinish(corkReq, state, err) { + var entry = corkReq.entry; + corkReq.entry = null; + + while (entry) { + var cb = entry.callback; + state.pendingcb--; + cb(err); + entry = entry.next; + } // reuse the free corkReq. + + + state.corkedRequestsFree.next = corkReq; +} + +Object.defineProperty(Writable.prototype, 'destroyed', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + if (this._writableState === undefined) { + return false; + } + + return this._writableState.destroyed; + }, + set: function set(value) { + // we ignore the value if the stream + // has not been initialized yet + if (!this._writableState) { + return; + } // backward compatibility, the user is explicitly + // managing destroyed + + + this._writableState.destroyed = value; + } +}); +Writable.prototype.destroy = destroyImpl.destroy; +Writable.prototype._undestroy = destroyImpl.undestroy; + +Writable.prototype._destroy = function (err, cb) { + cb(err); +}; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/async_iterator.js b/node_modules/readable-stream/lib/internal/streams/async_iterator.js new file mode 100644 index 00000000..9fb615a2 --- /dev/null +++ b/node_modules/readable-stream/lib/internal/streams/async_iterator.js @@ -0,0 +1,207 @@ +'use strict'; + +var _Object$setPrototypeO; + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var finished = require('./end-of-stream'); + +var kLastResolve = Symbol('lastResolve'); +var kLastReject = Symbol('lastReject'); +var kError = Symbol('error'); +var kEnded = Symbol('ended'); +var kLastPromise = Symbol('lastPromise'); +var kHandlePromise = Symbol('handlePromise'); +var kStream = Symbol('stream'); + +function createIterResult(value, done) { + return { + value: value, + done: done + }; +} + +function readAndResolve(iter) { + var resolve = iter[kLastResolve]; + + if (resolve !== null) { + var data = iter[kStream].read(); // we defer if data is null + // we can be expecting either 'end' or + // 'error' + + if (data !== null) { + iter[kLastPromise] = null; + iter[kLastResolve] = null; + iter[kLastReject] = null; + resolve(createIterResult(data, false)); + } + } +} + +function onReadable(iter) { + // we wait for the next tick, because it might + // emit an error with process.nextTick + process.nextTick(readAndResolve, iter); +} + +function wrapForNext(lastPromise, iter) { + return function (resolve, reject) { + lastPromise.then(function () { + if (iter[kEnded]) { + resolve(createIterResult(undefined, true)); + return; + } + + iter[kHandlePromise](resolve, reject); + }, reject); + }; +} + +var AsyncIteratorPrototype = Object.getPrototypeOf(function () {}); +var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = { + get stream() { + return this[kStream]; + }, + + next: function next() { + var _this = this; + + // if we have detected an error in the meanwhile + // reject straight away + var error = this[kError]; + + if (error !== null) { + return Promise.reject(error); + } + + if (this[kEnded]) { + return Promise.resolve(createIterResult(undefined, true)); + } + + if (this[kStream].destroyed) { + // We need to defer via nextTick because if .destroy(err) is + // called, the error will be emitted via nextTick, and + // we cannot guarantee that there is no error lingering around + // waiting to be emitted. + return new Promise(function (resolve, reject) { + process.nextTick(function () { + if (_this[kError]) { + reject(_this[kError]); + } else { + resolve(createIterResult(undefined, true)); + } + }); + }); + } // if we have multiple next() calls + // we will wait for the previous Promise to finish + // this logic is optimized to support for await loops, + // where next() is only called once at a time + + + var lastPromise = this[kLastPromise]; + var promise; + + if (lastPromise) { + promise = new Promise(wrapForNext(lastPromise, this)); + } else { + // fast path needed to support multiple this.push() + // without triggering the next() queue + var data = this[kStream].read(); + + if (data !== null) { + return Promise.resolve(createIterResult(data, false)); + } + + promise = new Promise(this[kHandlePromise]); + } + + this[kLastPromise] = promise; + return promise; + } +}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () { + return this; +}), _defineProperty(_Object$setPrototypeO, "return", function _return() { + var _this2 = this; + + // destroy(err, cb) is a private API + // we can guarantee we have that here, because we control the + // Readable class this is attached to + return new Promise(function (resolve, reject) { + _this2[kStream].destroy(null, function (err) { + if (err) { + reject(err); + return; + } + + resolve(createIterResult(undefined, true)); + }); + }); +}), _Object$setPrototypeO), AsyncIteratorPrototype); + +var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) { + var _Object$create; + + var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, { + value: stream, + writable: true + }), _defineProperty(_Object$create, kLastResolve, { + value: null, + writable: true + }), _defineProperty(_Object$create, kLastReject, { + value: null, + writable: true + }), _defineProperty(_Object$create, kError, { + value: null, + writable: true + }), _defineProperty(_Object$create, kEnded, { + value: stream._readableState.endEmitted, + writable: true + }), _defineProperty(_Object$create, kHandlePromise, { + value: function value(resolve, reject) { + var data = iterator[kStream].read(); + + if (data) { + iterator[kLastPromise] = null; + iterator[kLastResolve] = null; + iterator[kLastReject] = null; + resolve(createIterResult(data, false)); + } else { + iterator[kLastResolve] = resolve; + iterator[kLastReject] = reject; + } + }, + writable: true + }), _Object$create)); + iterator[kLastPromise] = null; + finished(stream, function (err) { + if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') { + var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise + // returned by next() and store the error + + if (reject !== null) { + iterator[kLastPromise] = null; + iterator[kLastResolve] = null; + iterator[kLastReject] = null; + reject(err); + } + + iterator[kError] = err; + return; + } + + var resolve = iterator[kLastResolve]; + + if (resolve !== null) { + iterator[kLastPromise] = null; + iterator[kLastResolve] = null; + iterator[kLastReject] = null; + resolve(createIterResult(undefined, true)); + } + + iterator[kEnded] = true; + }); + stream.on('readable', onReadable.bind(null, iterator)); + return iterator; +}; + +module.exports = createReadableStreamAsyncIterator; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/buffer_list.js b/node_modules/readable-stream/lib/internal/streams/buffer_list.js new file mode 100644 index 00000000..cdea425f --- /dev/null +++ b/node_modules/readable-stream/lib/internal/streams/buffer_list.js @@ -0,0 +1,210 @@ +'use strict'; + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +var _require = require('buffer'), + Buffer = _require.Buffer; + +var _require2 = require('util'), + inspect = _require2.inspect; + +var custom = inspect && inspect.custom || 'inspect'; + +function copyBuffer(src, target, offset) { + Buffer.prototype.copy.call(src, target, offset); +} + +module.exports = +/*#__PURE__*/ +function () { + function BufferList() { + _classCallCheck(this, BufferList); + + this.head = null; + this.tail = null; + this.length = 0; + } + + _createClass(BufferList, [{ + key: "push", + value: function push(v) { + var entry = { + data: v, + next: null + }; + if (this.length > 0) this.tail.next = entry;else this.head = entry; + this.tail = entry; + ++this.length; + } + }, { + key: "unshift", + value: function unshift(v) { + var entry = { + data: v, + next: this.head + }; + if (this.length === 0) this.tail = entry; + this.head = entry; + ++this.length; + } + }, { + key: "shift", + value: function shift() { + if (this.length === 0) return; + var ret = this.head.data; + if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; + --this.length; + return ret; + } + }, { + key: "clear", + value: function clear() { + this.head = this.tail = null; + this.length = 0; + } + }, { + key: "join", + value: function join(s) { + if (this.length === 0) return ''; + var p = this.head; + var ret = '' + p.data; + + while (p = p.next) { + ret += s + p.data; + } + + return ret; + } + }, { + key: "concat", + value: function concat(n) { + if (this.length === 0) return Buffer.alloc(0); + var ret = Buffer.allocUnsafe(n >>> 0); + var p = this.head; + var i = 0; + + while (p) { + copyBuffer(p.data, ret, i); + i += p.data.length; + p = p.next; + } + + return ret; + } // Consumes a specified amount of bytes or characters from the buffered data. + + }, { + key: "consume", + value: function consume(n, hasStrings) { + var ret; + + if (n < this.head.data.length) { + // `slice` is the same for buffers and strings. + ret = this.head.data.slice(0, n); + this.head.data = this.head.data.slice(n); + } else if (n === this.head.data.length) { + // First chunk is a perfect match. + ret = this.shift(); + } else { + // Result spans more than one buffer. + ret = hasStrings ? this._getString(n) : this._getBuffer(n); + } + + return ret; + } + }, { + key: "first", + value: function first() { + return this.head.data; + } // Consumes a specified amount of characters from the buffered data. + + }, { + key: "_getString", + value: function _getString(n) { + var p = this.head; + var c = 1; + var ret = p.data; + n -= ret.length; + + while (p = p.next) { + var str = p.data; + var nb = n > str.length ? str.length : n; + if (nb === str.length) ret += str;else ret += str.slice(0, n); + n -= nb; + + if (n === 0) { + if (nb === str.length) { + ++c; + if (p.next) this.head = p.next;else this.head = this.tail = null; + } else { + this.head = p; + p.data = str.slice(nb); + } + + break; + } + + ++c; + } + + this.length -= c; + return ret; + } // Consumes a specified amount of bytes from the buffered data. + + }, { + key: "_getBuffer", + value: function _getBuffer(n) { + var ret = Buffer.allocUnsafe(n); + var p = this.head; + var c = 1; + p.data.copy(ret); + n -= p.data.length; + + while (p = p.next) { + var buf = p.data; + var nb = n > buf.length ? buf.length : n; + buf.copy(ret, ret.length - n, 0, nb); + n -= nb; + + if (n === 0) { + if (nb === buf.length) { + ++c; + if (p.next) this.head = p.next;else this.head = this.tail = null; + } else { + this.head = p; + p.data = buf.slice(nb); + } + + break; + } + + ++c; + } + + this.length -= c; + return ret; + } // Make sure the linked list only shows the minimal necessary information. + + }, { + key: custom, + value: function value(_, options) { + return inspect(this, _objectSpread({}, options, { + // Only inspect one level. + depth: 0, + // It should not recurse. + customInspect: false + })); + } + }]); + + return BufferList; +}(); \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/destroy.js b/node_modules/readable-stream/lib/internal/streams/destroy.js new file mode 100644 index 00000000..3268a16f --- /dev/null +++ b/node_modules/readable-stream/lib/internal/streams/destroy.js @@ -0,0 +1,105 @@ +'use strict'; // undocumented cb() API, needed for core, not for public API + +function destroy(err, cb) { + var _this = this; + + var readableDestroyed = this._readableState && this._readableState.destroyed; + var writableDestroyed = this._writableState && this._writableState.destroyed; + + if (readableDestroyed || writableDestroyed) { + if (cb) { + cb(err); + } else if (err) { + if (!this._writableState) { + process.nextTick(emitErrorNT, this, err); + } else if (!this._writableState.errorEmitted) { + this._writableState.errorEmitted = true; + process.nextTick(emitErrorNT, this, err); + } + } + + return this; + } // we set destroyed to true before firing error callbacks in order + // to make it re-entrance safe in case destroy() is called within callbacks + + + if (this._readableState) { + this._readableState.destroyed = true; + } // if this is a duplex stream mark the writable part as destroyed as well + + + if (this._writableState) { + this._writableState.destroyed = true; + } + + this._destroy(err || null, function (err) { + if (!cb && err) { + if (!_this._writableState) { + process.nextTick(emitErrorAndCloseNT, _this, err); + } else if (!_this._writableState.errorEmitted) { + _this._writableState.errorEmitted = true; + process.nextTick(emitErrorAndCloseNT, _this, err); + } else { + process.nextTick(emitCloseNT, _this); + } + } else if (cb) { + process.nextTick(emitCloseNT, _this); + cb(err); + } else { + process.nextTick(emitCloseNT, _this); + } + }); + + return this; +} + +function emitErrorAndCloseNT(self, err) { + emitErrorNT(self, err); + emitCloseNT(self); +} + +function emitCloseNT(self) { + if (self._writableState && !self._writableState.emitClose) return; + if (self._readableState && !self._readableState.emitClose) return; + self.emit('close'); +} + +function undestroy() { + if (this._readableState) { + this._readableState.destroyed = false; + this._readableState.reading = false; + this._readableState.ended = false; + this._readableState.endEmitted = false; + } + + if (this._writableState) { + this._writableState.destroyed = false; + this._writableState.ended = false; + this._writableState.ending = false; + this._writableState.finalCalled = false; + this._writableState.prefinished = false; + this._writableState.finished = false; + this._writableState.errorEmitted = false; + } +} + +function emitErrorNT(self, err) { + self.emit('error', err); +} + +function errorOrDestroy(stream, err) { + // We have tests that rely on errors being emitted + // in the same tick, so changing this is semver major. + // For now when you opt-in to autoDestroy we allow + // the error to be emitted nextTick. In a future + // semver major update we should change the default to this. + var rState = stream._readableState; + var wState = stream._writableState; + if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err); +} + +module.exports = { + destroy: destroy, + undestroy: undestroy, + errorOrDestroy: errorOrDestroy +}; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/end-of-stream.js b/node_modules/readable-stream/lib/internal/streams/end-of-stream.js new file mode 100644 index 00000000..831f286d --- /dev/null +++ b/node_modules/readable-stream/lib/internal/streams/end-of-stream.js @@ -0,0 +1,104 @@ +// Ported from https://github.com/mafintosh/end-of-stream with +// permission from the author, Mathias Buus (@mafintosh). +'use strict'; + +var ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE; + +function once(callback) { + var called = false; + return function () { + if (called) return; + called = true; + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + callback.apply(this, args); + }; +} + +function noop() {} + +function isRequest(stream) { + return stream.setHeader && typeof stream.abort === 'function'; +} + +function eos(stream, opts, callback) { + if (typeof opts === 'function') return eos(stream, null, opts); + if (!opts) opts = {}; + callback = once(callback || noop); + var readable = opts.readable || opts.readable !== false && stream.readable; + var writable = opts.writable || opts.writable !== false && stream.writable; + + var onlegacyfinish = function onlegacyfinish() { + if (!stream.writable) onfinish(); + }; + + var writableEnded = stream._writableState && stream._writableState.finished; + + var onfinish = function onfinish() { + writable = false; + writableEnded = true; + if (!readable) callback.call(stream); + }; + + var readableEnded = stream._readableState && stream._readableState.endEmitted; + + var onend = function onend() { + readable = false; + readableEnded = true; + if (!writable) callback.call(stream); + }; + + var onerror = function onerror(err) { + callback.call(stream, err); + }; + + var onclose = function onclose() { + var err; + + if (readable && !readableEnded) { + if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE(); + return callback.call(stream, err); + } + + if (writable && !writableEnded) { + if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE(); + return callback.call(stream, err); + } + }; + + var onrequest = function onrequest() { + stream.req.on('finish', onfinish); + }; + + if (isRequest(stream)) { + stream.on('complete', onfinish); + stream.on('abort', onclose); + if (stream.req) onrequest();else stream.on('request', onrequest); + } else if (writable && !stream._writableState) { + // legacy streams + stream.on('end', onlegacyfinish); + stream.on('close', onlegacyfinish); + } + + stream.on('end', onend); + stream.on('finish', onfinish); + if (opts.error !== false) stream.on('error', onerror); + stream.on('close', onclose); + return function () { + stream.removeListener('complete', onfinish); + stream.removeListener('abort', onclose); + stream.removeListener('request', onrequest); + if (stream.req) stream.req.removeListener('finish', onfinish); + stream.removeListener('end', onlegacyfinish); + stream.removeListener('close', onlegacyfinish); + stream.removeListener('finish', onfinish); + stream.removeListener('end', onend); + stream.removeListener('error', onerror); + stream.removeListener('close', onclose); + }; +} + +module.exports = eos; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/from-browser.js b/node_modules/readable-stream/lib/internal/streams/from-browser.js new file mode 100644 index 00000000..a4ce56f3 --- /dev/null +++ b/node_modules/readable-stream/lib/internal/streams/from-browser.js @@ -0,0 +1,3 @@ +module.exports = function () { + throw new Error('Readable.from is not available in the browser') +}; diff --git a/node_modules/readable-stream/lib/internal/streams/from.js b/node_modules/readable-stream/lib/internal/streams/from.js new file mode 100644 index 00000000..6c412844 --- /dev/null +++ b/node_modules/readable-stream/lib/internal/streams/from.js @@ -0,0 +1,64 @@ +'use strict'; + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ERR_INVALID_ARG_TYPE = require('../../../errors').codes.ERR_INVALID_ARG_TYPE; + +function from(Readable, iterable, opts) { + var iterator; + + if (iterable && typeof iterable.next === 'function') { + iterator = iterable; + } else if (iterable && iterable[Symbol.asyncIterator]) iterator = iterable[Symbol.asyncIterator]();else if (iterable && iterable[Symbol.iterator]) iterator = iterable[Symbol.iterator]();else throw new ERR_INVALID_ARG_TYPE('iterable', ['Iterable'], iterable); + + var readable = new Readable(_objectSpread({ + objectMode: true + }, opts)); // Reading boolean to protect against _read + // being called before last iteration completion. + + var reading = false; + + readable._read = function () { + if (!reading) { + reading = true; + next(); + } + }; + + function next() { + return _next2.apply(this, arguments); + } + + function _next2() { + _next2 = _asyncToGenerator(function* () { + try { + var _ref = yield iterator.next(), + value = _ref.value, + done = _ref.done; + + if (done) { + readable.push(null); + } else if (readable.push((yield value))) { + next(); + } else { + reading = false; + } + } catch (err) { + readable.destroy(err); + } + }); + return _next2.apply(this, arguments); + } + + return readable; +} + +module.exports = from; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/pipeline.js b/node_modules/readable-stream/lib/internal/streams/pipeline.js new file mode 100644 index 00000000..65899098 --- /dev/null +++ b/node_modules/readable-stream/lib/internal/streams/pipeline.js @@ -0,0 +1,97 @@ +// Ported from https://github.com/mafintosh/pump with +// permission from the author, Mathias Buus (@mafintosh). +'use strict'; + +var eos; + +function once(callback) { + var called = false; + return function () { + if (called) return; + called = true; + callback.apply(void 0, arguments); + }; +} + +var _require$codes = require('../../../errors').codes, + ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, + ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED; + +function noop(err) { + // Rethrow the error if it exists to avoid swallowing it + if (err) throw err; +} + +function isRequest(stream) { + return stream.setHeader && typeof stream.abort === 'function'; +} + +function destroyer(stream, reading, writing, callback) { + callback = once(callback); + var closed = false; + stream.on('close', function () { + closed = true; + }); + if (eos === undefined) eos = require('./end-of-stream'); + eos(stream, { + readable: reading, + writable: writing + }, function (err) { + if (err) return callback(err); + closed = true; + callback(); + }); + var destroyed = false; + return function (err) { + if (closed) return; + if (destroyed) return; + destroyed = true; // request.destroy just do .end - .abort is what we want + + if (isRequest(stream)) return stream.abort(); + if (typeof stream.destroy === 'function') return stream.destroy(); + callback(err || new ERR_STREAM_DESTROYED('pipe')); + }; +} + +function call(fn) { + fn(); +} + +function pipe(from, to) { + return from.pipe(to); +} + +function popCallback(streams) { + if (!streams.length) return noop; + if (typeof streams[streams.length - 1] !== 'function') return noop; + return streams.pop(); +} + +function pipeline() { + for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) { + streams[_key] = arguments[_key]; + } + + var callback = popCallback(streams); + if (Array.isArray(streams[0])) streams = streams[0]; + + if (streams.length < 2) { + throw new ERR_MISSING_ARGS('streams'); + } + + var error; + var destroys = streams.map(function (stream, i) { + var reading = i < streams.length - 1; + var writing = i > 0; + return destroyer(stream, reading, writing, function (err) { + if (!error) error = err; + if (err) destroys.forEach(call); + if (reading) return; + destroys.forEach(call); + callback(error); + }); + }); + return streams.reduce(pipe); +} + +module.exports = pipeline; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/state.js b/node_modules/readable-stream/lib/internal/streams/state.js new file mode 100644 index 00000000..19887eb8 --- /dev/null +++ b/node_modules/readable-stream/lib/internal/streams/state.js @@ -0,0 +1,27 @@ +'use strict'; + +var ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE; + +function highWaterMarkFrom(options, isDuplex, duplexKey) { + return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null; +} + +function getHighWaterMark(state, options, duplexKey, isDuplex) { + var hwm = highWaterMarkFrom(options, isDuplex, duplexKey); + + if (hwm != null) { + if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) { + var name = isDuplex ? duplexKey : 'highWaterMark'; + throw new ERR_INVALID_OPT_VALUE(name, hwm); + } + + return Math.floor(hwm); + } // Default value + + + return state.objectMode ? 16 : 16 * 1024; +} + +module.exports = { + getHighWaterMark: getHighWaterMark +}; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/stream-browser.js b/node_modules/readable-stream/lib/internal/streams/stream-browser.js new file mode 100644 index 00000000..9332a3fd --- /dev/null +++ b/node_modules/readable-stream/lib/internal/streams/stream-browser.js @@ -0,0 +1 @@ +module.exports = require('events').EventEmitter; diff --git a/node_modules/readable-stream/lib/internal/streams/stream.js b/node_modules/readable-stream/lib/internal/streams/stream.js new file mode 100644 index 00000000..ce2ad5b6 --- /dev/null +++ b/node_modules/readable-stream/lib/internal/streams/stream.js @@ -0,0 +1 @@ +module.exports = require('stream'); diff --git a/node_modules/readable-stream/package.json b/node_modules/readable-stream/package.json new file mode 100644 index 00000000..34d062c5 --- /dev/null +++ b/node_modules/readable-stream/package.json @@ -0,0 +1,98 @@ +{ + "_from": "readable-stream@^3.0.6", + "_id": "readable-stream@3.6.0", + "_inBundle": false, + "_integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "_location": "/readable-stream", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "readable-stream@^3.0.6", + "name": "readable-stream", + "escapedName": "readable-stream", + "rawSpec": "^3.0.6", + "saveSpec": null, + "fetchSpec": "^3.0.6" + }, + "_requiredBy": [ + "/minecraft-protocol", + "/protodef" + ], + "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "_shasum": "337bbda3adc0706bd3e024426a286d4b4b2c9198", + "_spec": "readable-stream@^3.0.6", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\minecraft-protocol", + "browser": { + "util": false, + "worker_threads": false, + "./errors": "./errors-browser.js", + "./readable.js": "./readable-browser.js", + "./lib/internal/streams/from.js": "./lib/internal/streams/from-browser.js", + "./lib/internal/streams/stream.js": "./lib/internal/streams/stream-browser.js" + }, + "bugs": { + "url": "https://github.com/nodejs/readable-stream/issues" + }, + "bundleDependencies": false, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "deprecated": false, + "description": "Streams3, a user-land copy of the stream library from Node.js", + "devDependencies": { + "@babel/cli": "^7.2.0", + "@babel/core": "^7.2.0", + "@babel/polyfill": "^7.0.0", + "@babel/preset-env": "^7.2.0", + "airtap": "0.0.9", + "assert": "^1.4.0", + "bl": "^2.0.0", + "deep-strict-equal": "^0.2.0", + "events.once": "^2.0.2", + "glob": "^7.1.2", + "gunzip-maybe": "^1.4.1", + "hyperquest": "^2.1.3", + "lolex": "^2.6.0", + "nyc": "^11.0.0", + "pump": "^3.0.0", + "rimraf": "^2.6.2", + "tap": "^12.0.0", + "tape": "^4.9.0", + "tar-fs": "^1.16.2", + "util-promisify": "^2.1.0" + }, + "engines": { + "node": ">= 6" + }, + "homepage": "https://github.com/nodejs/readable-stream#readme", + "keywords": [ + "readable", + "stream", + "pipe" + ], + "license": "MIT", + "main": "readable.js", + "name": "readable-stream", + "nyc": { + "include": [ + "lib/**.js" + ] + }, + "repository": { + "type": "git", + "url": "git://github.com/nodejs/readable-stream.git" + }, + "scripts": { + "ci": "TAP=1 tap --no-esm test/parallel/*.js test/ours/*.js | tee test.tap", + "cover": "nyc npm test", + "report": "nyc report --reporter=lcov", + "test": "tap -J --no-esm test/parallel/*.js test/ours/*.js", + "test-browser-local": "airtap --open --local -- test/browser.js", + "test-browsers": "airtap --sauce-connect --loopback airtap.local -- test/browser.js", + "update-browser-errors": "babel -o errors-browser.js errors.js" + }, + "version": "3.6.0" +} diff --git a/node_modules/readable-stream/readable-browser.js b/node_modules/readable-stream/readable-browser.js new file mode 100644 index 00000000..adbf60de --- /dev/null +++ b/node_modules/readable-stream/readable-browser.js @@ -0,0 +1,9 @@ +exports = module.exports = require('./lib/_stream_readable.js'); +exports.Stream = exports; +exports.Readable = exports; +exports.Writable = require('./lib/_stream_writable.js'); +exports.Duplex = require('./lib/_stream_duplex.js'); +exports.Transform = require('./lib/_stream_transform.js'); +exports.PassThrough = require('./lib/_stream_passthrough.js'); +exports.finished = require('./lib/internal/streams/end-of-stream.js'); +exports.pipeline = require('./lib/internal/streams/pipeline.js'); diff --git a/node_modules/readable-stream/readable.js b/node_modules/readable-stream/readable.js new file mode 100644 index 00000000..9e0ca120 --- /dev/null +++ b/node_modules/readable-stream/readable.js @@ -0,0 +1,16 @@ +var Stream = require('stream'); +if (process.env.READABLE_STREAM === 'disable' && Stream) { + module.exports = Stream.Readable; + Object.assign(module.exports, Stream); + module.exports.Stream = Stream; +} else { + exports = module.exports = require('./lib/_stream_readable.js'); + exports.Stream = Stream || exports; + exports.Readable = exports; + exports.Writable = require('./lib/_stream_writable.js'); + exports.Duplex = require('./lib/_stream_duplex.js'); + exports.Transform = require('./lib/_stream_transform.js'); + exports.PassThrough = require('./lib/_stream_passthrough.js'); + exports.finished = require('./lib/internal/streams/end-of-stream.js'); + exports.pipeline = require('./lib/internal/streams/pipeline.js'); +} diff --git a/node_modules/ret/LICENSE b/node_modules/ret/LICENSE new file mode 100644 index 00000000..b351ee8e --- /dev/null +++ b/node_modules/ret/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2011 by Roly Fentanes + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/ret/README.md b/node_modules/ret/README.md new file mode 100644 index 00000000..28563e16 --- /dev/null +++ b/node_modules/ret/README.md @@ -0,0 +1,183 @@ +# Regular Expression Tokenizer + +Tokenizes strings that represent a regular expressions. + +[![Build Status](https://secure.travis-ci.org/fent/ret.js.svg)](http://travis-ci.org/fent/ret.js) +[![Dependency Status](https://david-dm.org/fent/ret.js.svg)](https://david-dm.org/fent/ret.js) +[![codecov](https://codecov.io/gh/fent/ret.js/branch/master/graph/badge.svg)](https://codecov.io/gh/fent/ret.js) + +# Usage + +```js +var ret = require('ret'); + +var tokens = ret(/foo|bar/.source); +``` + +`tokens` will contain the following object + +```js +{ + "type": ret.types.ROOT + "options": [ + [ { "type": ret.types.CHAR, "value", 102 }, + { "type": ret.types.CHAR, "value", 111 }, + { "type": ret.types.CHAR, "value", 111 } ], + [ { "type": ret.types.CHAR, "value", 98 }, + { "type": ret.types.CHAR, "value", 97 }, + { "type": ret.types.CHAR, "value", 114 } ] + ] +} +``` + +# Token Types + +`ret.types` is a collection of the various token types exported by ret. + +### ROOT + +Only used in the root of the regexp. This is needed due to the posibility of the root containing a pipe `|` character. In that case, the token will have an `options` key that will be an array of arrays of tokens. If not, it will contain a `stack` key that is an array of tokens. + +```js +{ + "type": ret.types.ROOT, + "stack": [token1, token2...], +} +``` + +```js +{ + "type": ret.types.ROOT, + "options" [ + [token1, token2...], + [othertoken1, othertoken2...] + ... + ], +} +``` + +### GROUP + +Groups contain tokens that are inside of a parenthesis. If the group begins with `?` followed by another character, it's a special type of group. A ':' tells the group not to be remembered when `exec` is used. '=' means the previous token matches only if followed by this group, and '!' means the previous token matches only if NOT followed. + +Like root, it can contain an `options` key instead of `stack` if there is a pipe. + +```js +{ + "type": ret.types.GROUP, + "remember" true, + "followedBy": false, + "notFollowedBy": false, + "stack": [token1, token2...], +} +``` + +```js +{ + "type": ret.types.GROUP, + "remember" true, + "followedBy": false, + "notFollowedBy": false, + "options" [ + [token1, token2...], + [othertoken1, othertoken2...] + ... + ], +} +``` + +### POSITION + +`\b`, `\B`, `^`, and `$` specify positions in the regexp. + +```js +{ + "type": ret.types.POSITION, + "value": "^", +} +``` + +### SET + +Contains a key `set` specifying what tokens are allowed and a key `not` specifying if the set should be negated. A set can contain other sets, ranges, and characters. + +```js +{ + "type": ret.types.SET, + "set": [token1, token2...], + "not": false, +} +``` + +### RANGE + +Used in set tokens to specify a character range. `from` and `to` are character codes. + +```js +{ + "type": ret.types.RANGE, + "from": 97, + "to": 122, +} +``` + +### REPETITION + +```js +{ + "type": ret.types.REPETITION, + "min": 0, + "max": Infinity, + "value": token, +} +``` + +### REFERENCE + +References a group token. `value` is 1-9. + +```js +{ + "type": ret.types.REFERENCE, + "value": 1, +} +``` + +### CHAR + +Represents a single character token. `value` is the character code. This might seem a bit cluttering instead of concatenating characters together. But since repetition tokens only repeat the last token and not the last clause like the pipe, it's simpler to do it this way. + +```js +{ + "type": ret.types.CHAR, + "value": 123, +} +``` + +## Errors + +ret.js will throw errors if given a string with an invalid regular expression. All possible errors are + +* Invalid group. When a group with an immediate `?` character is followed by an invalid character. It can only be followed by `!`, `=`, or `:`. Example: `/(?_abc)/` +* Nothing to repeat. Thrown when a repetitional token is used as the first token in the current clause, as in right in the beginning of the regexp or group, or right after a pipe. Example: `/foo|?bar/`, `/{1,3}foo|bar/`, `/foo(+bar)/` +* Unmatched ). A group was not opened, but was closed. Example: `/hello)2u/` +* Unterminated group. A group was not closed. Example: `/(1(23)4/` +* Unterminated character class. A custom character set was not closed. Example: `/[abc/` + + +# Install + + npm install ret + + +# Tests + +Tests are written with [vows](http://vowsjs.org/) + +```bash +npm test +``` + +# License + +MIT diff --git a/node_modules/ret/lib/index.js b/node_modules/ret/lib/index.js new file mode 100644 index 00000000..0e151c39 --- /dev/null +++ b/node_modules/ret/lib/index.js @@ -0,0 +1,282 @@ +var util = require('./util'); +var types = require('./types'); +var sets = require('./sets'); +var positions = require('./positions'); + + +module.exports = function(regexpStr) { + var i = 0, l, c, + start = { type: types.ROOT, stack: []}, + + // Keep track of last clause/group and stack. + lastGroup = start, + last = start.stack, + groupStack = []; + + + var repeatErr = function(i) { + util.error(regexpStr, 'Nothing to repeat at column ' + (i - 1)); + }; + + // Decode a few escaped characters. + var str = util.strToChars(regexpStr); + l = str.length; + + // Iterate through each character in string. + while (i < l) { + c = str[i++]; + + switch (c) { + // Handle escaped characters, inclues a few sets. + case '\\': + c = str[i++]; + + switch (c) { + case 'b': + last.push(positions.wordBoundary()); + break; + + case 'B': + last.push(positions.nonWordBoundary()); + break; + + case 'w': + last.push(sets.words()); + break; + + case 'W': + last.push(sets.notWords()); + break; + + case 'd': + last.push(sets.ints()); + break; + + case 'D': + last.push(sets.notInts()); + break; + + case 's': + last.push(sets.whitespace()); + break; + + case 'S': + last.push(sets.notWhitespace()); + break; + + default: + // Check if c is integer. + // In which case it's a reference. + if (/\d/.test(c)) { + last.push({ type: types.REFERENCE, value: parseInt(c, 10) }); + + // Escaped character. + } else { + last.push({ type: types.CHAR, value: c.charCodeAt(0) }); + } + } + + break; + + + // Positionals. + case '^': + last.push(positions.begin()); + break; + + case '$': + last.push(positions.end()); + break; + + + // Handle custom sets. + case '[': + // Check if this class is 'anti' i.e. [^abc]. + var not; + if (str[i] === '^') { + not = true; + i++; + } else { + not = false; + } + + // Get all the characters in class. + var classTokens = util.tokenizeClass(str.slice(i), regexpStr); + + // Increase index by length of class. + i += classTokens[1]; + last.push({ + type: types.SET, + set: classTokens[0], + not: not, + }); + + break; + + + // Class of any character except \n. + case '.': + last.push(sets.anyChar()); + break; + + + // Push group onto stack. + case '(': + // Create group. + var group = { + type: types.GROUP, + stack: [], + remember: true, + }; + + c = str[i]; + + // If if this is a special kind of group. + if (c === '?') { + c = str[i + 1]; + i += 2; + + // Match if followed by. + if (c === '=') { + group.followedBy = true; + + // Match if not followed by. + } else if (c === '!') { + group.notFollowedBy = true; + + } else if (c !== ':') { + util.error(regexpStr, + 'Invalid group, character \'' + c + + '\' after \'?\' at column ' + (i - 1)); + } + + group.remember = false; + } + + // Insert subgroup into current group stack. + last.push(group); + + // Remember the current group for when the group closes. + groupStack.push(lastGroup); + + // Make this new group the current group. + lastGroup = group; + last = group.stack; + break; + + + // Pop group out of stack. + case ')': + if (groupStack.length === 0) { + util.error(regexpStr, 'Unmatched ) at column ' + (i - 1)); + } + lastGroup = groupStack.pop(); + + // Check if this group has a PIPE. + // To get back the correct last stack. + last = lastGroup.options ? + lastGroup.options[lastGroup.options.length - 1] : lastGroup.stack; + break; + + + // Use pipe character to give more choices. + case '|': + // Create array where options are if this is the first PIPE + // in this clause. + if (!lastGroup.options) { + lastGroup.options = [lastGroup.stack]; + delete lastGroup.stack; + } + + // Create a new stack and add to options for rest of clause. + var stack = []; + lastGroup.options.push(stack); + last = stack; + break; + + + // Repetition. + // For every repetition, remove last element from last stack + // then insert back a RANGE object. + // This design is chosen because there could be more than + // one repetition symbols in a regex i.e. `a?+{2,3}`. + case '{': + var rs = /^(\d+)(,(\d+)?)?\}/.exec(str.slice(i)), min, max; + if (rs !== null) { + if (last.length === 0) { + repeatErr(i); + } + min = parseInt(rs[1], 10); + max = rs[2] ? rs[3] ? parseInt(rs[3], 10) : Infinity : min; + i += rs[0].length; + + last.push({ + type: types.REPETITION, + min: min, + max: max, + value: last.pop(), + }); + } else { + last.push({ + type: types.CHAR, + value: 123, + }); + } + break; + + case '?': + if (last.length === 0) { + repeatErr(i); + } + last.push({ + type: types.REPETITION, + min: 0, + max: 1, + value: last.pop(), + }); + break; + + case '+': + if (last.length === 0) { + repeatErr(i); + } + last.push({ + type: types.REPETITION, + min: 1, + max: Infinity, + value: last.pop(), + }); + break; + + case '*': + if (last.length === 0) { + repeatErr(i); + } + last.push({ + type: types.REPETITION, + min: 0, + max: Infinity, + value: last.pop(), + }); + break; + + + // Default is a character that is not `\[](){}?+*^$`. + default: + last.push({ + type: types.CHAR, + value: c.charCodeAt(0), + }); + } + + } + + // Check if any groups have not been closed. + if (groupStack.length !== 0) { + util.error(regexpStr, 'Unterminated group'); + } + + return start; +}; + +module.exports.types = types; diff --git a/node_modules/ret/lib/positions.js b/node_modules/ret/lib/positions.js new file mode 100644 index 00000000..80677ee5 --- /dev/null +++ b/node_modules/ret/lib/positions.js @@ -0,0 +1,17 @@ +var types = require('./types'); + +exports.wordBoundary = function() { + return { type: types.POSITION, value: 'b' }; +}; + +exports.nonWordBoundary = function() { + return { type: types.POSITION, value: 'B' }; +}; + +exports.begin = function() { + return { type: types.POSITION, value: '^' }; +}; + +exports.end = function() { + return { type: types.POSITION, value: '$' }; +}; diff --git a/node_modules/ret/lib/sets.js b/node_modules/ret/lib/sets.js new file mode 100644 index 00000000..5fb6be5d --- /dev/null +++ b/node_modules/ret/lib/sets.js @@ -0,0 +1,82 @@ +var types = require('./types'); + +var INTS = function() { + return [{ type: types.RANGE , from: 48, to: 57 }]; +}; + +var WORDS = function() { + return [ + { type: types.CHAR, value: 95 }, + { type: types.RANGE, from: 97, to: 122 }, + { type: types.RANGE, from: 65, to: 90 } + ].concat(INTS()); +}; + +var WHITESPACE = function() { + return [ + { type: types.CHAR, value: 9 }, + { type: types.CHAR, value: 10 }, + { type: types.CHAR, value: 11 }, + { type: types.CHAR, value: 12 }, + { type: types.CHAR, value: 13 }, + { type: types.CHAR, value: 32 }, + { type: types.CHAR, value: 160 }, + { type: types.CHAR, value: 5760 }, + { type: types.CHAR, value: 6158 }, + { type: types.CHAR, value: 8192 }, + { type: types.CHAR, value: 8193 }, + { type: types.CHAR, value: 8194 }, + { type: types.CHAR, value: 8195 }, + { type: types.CHAR, value: 8196 }, + { type: types.CHAR, value: 8197 }, + { type: types.CHAR, value: 8198 }, + { type: types.CHAR, value: 8199 }, + { type: types.CHAR, value: 8200 }, + { type: types.CHAR, value: 8201 }, + { type: types.CHAR, value: 8202 }, + { type: types.CHAR, value: 8232 }, + { type: types.CHAR, value: 8233 }, + { type: types.CHAR, value: 8239 }, + { type: types.CHAR, value: 8287 }, + { type: types.CHAR, value: 12288 }, + { type: types.CHAR, value: 65279 } + ]; +}; + +var NOTANYCHAR = function() { + return [ + { type: types.CHAR, value: 10 }, + { type: types.CHAR, value: 13 }, + { type: types.CHAR, value: 8232 }, + { type: types.CHAR, value: 8233 }, + ]; +}; + +// Predefined class objects. +exports.words = function() { + return { type: types.SET, set: WORDS(), not: false }; +}; + +exports.notWords = function() { + return { type: types.SET, set: WORDS(), not: true }; +}; + +exports.ints = function() { + return { type: types.SET, set: INTS(), not: false }; +}; + +exports.notInts = function() { + return { type: types.SET, set: INTS(), not: true }; +}; + +exports.whitespace = function() { + return { type: types.SET, set: WHITESPACE(), not: false }; +}; + +exports.notWhitespace = function() { + return { type: types.SET, set: WHITESPACE(), not: true }; +}; + +exports.anyChar = function() { + return { type: types.SET, set: NOTANYCHAR(), not: true }; +}; diff --git a/node_modules/ret/lib/types.js b/node_modules/ret/lib/types.js new file mode 100644 index 00000000..94841451 --- /dev/null +++ b/node_modules/ret/lib/types.js @@ -0,0 +1,10 @@ +module.exports = { + ROOT : 0, + GROUP : 1, + POSITION : 2, + SET : 3, + RANGE : 4, + REPETITION : 5, + REFERENCE : 6, + CHAR : 7, +}; diff --git a/node_modules/ret/lib/util.js b/node_modules/ret/lib/util.js new file mode 100644 index 00000000..97d8cf51 --- /dev/null +++ b/node_modules/ret/lib/util.js @@ -0,0 +1,111 @@ +var types = require('./types'); +var sets = require('./sets'); + + +// All of these are private and only used by randexp. +// It's assumed that they will always be called with the correct input. + +var CTRL = '@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?'; +var SLSH = { '0': 0, 't': 9, 'n': 10, 'v': 11, 'f': 12, 'r': 13 }; + +/** + * Finds character representations in str and convert all to + * their respective characters + * + * @param {String} str + * @return {String} + */ +exports.strToChars = function(str) { + /* jshint maxlen: false */ + var chars_regex = /(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|(0?[0-7]{2})|c([@A-Z\[\\\]\^?])|([0tnvfr]))/g; + str = str.replace(chars_regex, function(s, b, lbs, a16, b16, c8, dctrl, eslsh) { + if (lbs) { + return s; + } + + var code = b ? 8 : + a16 ? parseInt(a16, 16) : + b16 ? parseInt(b16, 16) : + c8 ? parseInt(c8, 8) : + dctrl ? CTRL.indexOf(dctrl) : + SLSH[eslsh]; + + var c = String.fromCharCode(code); + + // Escape special regex characters. + if (/[\[\]{}\^$.|?*+()]/.test(c)) { + c = '\\' + c; + } + + return c; + }); + + return str; +}; + + +/** + * turns class into tokens + * reads str until it encounters a ] not preceeded by a \ + * + * @param {String} str + * @param {String} regexpStr + * @return {Array., Number>} + */ +exports.tokenizeClass = function(str, regexpStr) { + /* jshint maxlen: false */ + var tokens = []; + var regexp = /\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(?:\\)?([^\]]))|(\])|(?:\\)?(.)/g; + var rs, c; + + + while ((rs = regexp.exec(str)) != null) { + if (rs[1]) { + tokens.push(sets.words()); + + } else if (rs[2]) { + tokens.push(sets.ints()); + + } else if (rs[3]) { + tokens.push(sets.whitespace()); + + } else if (rs[4]) { + tokens.push(sets.notWords()); + + } else if (rs[5]) { + tokens.push(sets.notInts()); + + } else if (rs[6]) { + tokens.push(sets.notWhitespace()); + + } else if (rs[7]) { + tokens.push({ + type: types.RANGE, + from: (rs[8] || rs[9]).charCodeAt(0), + to: rs[10].charCodeAt(0), + }); + + } else if (c = rs[12]) { + tokens.push({ + type: types.CHAR, + value: c.charCodeAt(0), + }); + + } else { + return [tokens, regexp.lastIndex]; + } + } + + exports.error(regexpStr, 'Unterminated character class'); +}; + + +/** + * Shortcut to throw errors. + * + * @param {String} regexp + * @param {String} msg + */ +exports.error = function(regexp, msg) { + throw new SyntaxError('Invalid regular expression: /' + regexp + '/: ' + msg); +}; diff --git a/node_modules/ret/package.json b/node_modules/ret/package.json new file mode 100644 index 00000000..817b56d0 --- /dev/null +++ b/node_modules/ret/package.json @@ -0,0 +1,67 @@ +{ + "_from": "ret@~0.1.10", + "_id": "ret@0.1.15", + "_inBundle": false, + "_integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "_location": "/ret", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "ret@~0.1.10", + "name": "ret", + "escapedName": "ret", + "rawSpec": "~0.1.10", + "saveSpec": null, + "fetchSpec": "~0.1.10" + }, + "_requiredBy": [ + "/randexp" + ], + "_resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "_shasum": "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc", + "_spec": "ret@~0.1.10", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\randexp", + "author": { + "name": "Roly Fentanes", + "url": "https://github.com/fent" + }, + "bugs": { + "url": "https://github.com/fent/ret.js/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Tokenizes a string that represents a regular expression.", + "devDependencies": { + "istanbul": "*", + "vows": "*" + }, + "directories": { + "lib": "./lib" + }, + "engines": { + "node": ">=0.12" + }, + "files": [ + "lib" + ], + "homepage": "https://github.com/fent/ret.js#readme", + "keywords": [ + "regex", + "regexp", + "regular expression", + "parser", + "tokenizer" + ], + "license": "MIT", + "main": "./lib/index.js", + "name": "ret", + "repository": { + "type": "git", + "url": "git://github.com/fent/ret.js.git" + }, + "scripts": { + "test": "istanbul cover vows -- --spec test/*-test.js" + }, + "version": "0.1.15" +} diff --git a/node_modules/safe-buffer/LICENSE b/node_modules/safe-buffer/LICENSE new file mode 100644 index 00000000..0c068cee --- /dev/null +++ b/node_modules/safe-buffer/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/safe-buffer/README.md b/node_modules/safe-buffer/README.md new file mode 100644 index 00000000..e9a81afd --- /dev/null +++ b/node_modules/safe-buffer/README.md @@ -0,0 +1,584 @@ +# safe-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url] + +[travis-image]: https://img.shields.io/travis/feross/safe-buffer/master.svg +[travis-url]: https://travis-ci.org/feross/safe-buffer +[npm-image]: https://img.shields.io/npm/v/safe-buffer.svg +[npm-url]: https://npmjs.org/package/safe-buffer +[downloads-image]: https://img.shields.io/npm/dm/safe-buffer.svg +[downloads-url]: https://npmjs.org/package/safe-buffer +[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg +[standard-url]: https://standardjs.com + +#### Safer Node.js Buffer API + +**Use the new Node.js Buffer APIs (`Buffer.from`, `Buffer.alloc`, +`Buffer.allocUnsafe`, `Buffer.allocUnsafeSlow`) in all versions of Node.js.** + +**Uses the built-in implementation when available.** + +## install + +``` +npm install safe-buffer +``` + +## usage + +The goal of this package is to provide a safe replacement for the node.js `Buffer`. + +It's a drop-in replacement for `Buffer`. You can use it by adding one `require` line to +the top of your node.js modules: + +```js +var Buffer = require('safe-buffer').Buffer + +// Existing buffer code will continue to work without issues: + +new Buffer('hey', 'utf8') +new Buffer([1, 2, 3], 'utf8') +new Buffer(obj) +new Buffer(16) // create an uninitialized buffer (potentially unsafe) + +// But you can use these new explicit APIs to make clear what you want: + +Buffer.from('hey', 'utf8') // convert from many types to a Buffer +Buffer.alloc(16) // create a zero-filled buffer (safe) +Buffer.allocUnsafe(16) // create an uninitialized buffer (potentially unsafe) +``` + +## api + +### Class Method: Buffer.from(array) + + +* `array` {Array} + +Allocates a new `Buffer` using an `array` of octets. + +```js +const buf = Buffer.from([0x62,0x75,0x66,0x66,0x65,0x72]); + // creates a new Buffer containing ASCII bytes + // ['b','u','f','f','e','r'] +``` + +A `TypeError` will be thrown if `array` is not an `Array`. + +### Class Method: Buffer.from(arrayBuffer[, byteOffset[, length]]) + + +* `arrayBuffer` {ArrayBuffer} The `.buffer` property of a `TypedArray` or + a `new ArrayBuffer()` +* `byteOffset` {Number} Default: `0` +* `length` {Number} Default: `arrayBuffer.length - byteOffset` + +When passed a reference to the `.buffer` property of a `TypedArray` instance, +the newly created `Buffer` will share the same allocated memory as the +TypedArray. + +```js +const arr = new Uint16Array(2); +arr[0] = 5000; +arr[1] = 4000; + +const buf = Buffer.from(arr.buffer); // shares the memory with arr; + +console.log(buf); + // Prints: + +// changing the TypedArray changes the Buffer also +arr[1] = 6000; + +console.log(buf); + // Prints: +``` + +The optional `byteOffset` and `length` arguments specify a memory range within +the `arrayBuffer` that will be shared by the `Buffer`. + +```js +const ab = new ArrayBuffer(10); +const buf = Buffer.from(ab, 0, 2); +console.log(buf.length); + // Prints: 2 +``` + +A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer`. + +### Class Method: Buffer.from(buffer) + + +* `buffer` {Buffer} + +Copies the passed `buffer` data onto a new `Buffer` instance. + +```js +const buf1 = Buffer.from('buffer'); +const buf2 = Buffer.from(buf1); + +buf1[0] = 0x61; +console.log(buf1.toString()); + // 'auffer' +console.log(buf2.toString()); + // 'buffer' (copy is not changed) +``` + +A `TypeError` will be thrown if `buffer` is not a `Buffer`. + +### Class Method: Buffer.from(str[, encoding]) + + +* `str` {String} String to encode. +* `encoding` {String} Encoding to use, Default: `'utf8'` + +Creates a new `Buffer` containing the given JavaScript string `str`. If +provided, the `encoding` parameter identifies the character encoding. +If not provided, `encoding` defaults to `'utf8'`. + +```js +const buf1 = Buffer.from('this is a tést'); +console.log(buf1.toString()); + // prints: this is a tést +console.log(buf1.toString('ascii')); + // prints: this is a tC)st + +const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex'); +console.log(buf2.toString()); + // prints: this is a tést +``` + +A `TypeError` will be thrown if `str` is not a string. + +### Class Method: Buffer.alloc(size[, fill[, encoding]]) + + +* `size` {Number} +* `fill` {Value} Default: `undefined` +* `encoding` {String} Default: `utf8` + +Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the +`Buffer` will be *zero-filled*. + +```js +const buf = Buffer.alloc(5); +console.log(buf); + // +``` + +The `size` must be less than or equal to the value of +`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is +`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will +be created if a `size` less than or equal to 0 is specified. + +If `fill` is specified, the allocated `Buffer` will be initialized by calling +`buf.fill(fill)`. See [`buf.fill()`][] for more information. + +```js +const buf = Buffer.alloc(5, 'a'); +console.log(buf); + // +``` + +If both `fill` and `encoding` are specified, the allocated `Buffer` will be +initialized by calling `buf.fill(fill, encoding)`. For example: + +```js +const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64'); +console.log(buf); + // +``` + +Calling `Buffer.alloc(size)` can be significantly slower than the alternative +`Buffer.allocUnsafe(size)` but ensures that the newly created `Buffer` instance +contents will *never contain sensitive data*. + +A `TypeError` will be thrown if `size` is not a number. + +### Class Method: Buffer.allocUnsafe(size) + + +* `size` {Number} + +Allocates a new *non-zero-filled* `Buffer` of `size` bytes. The `size` must +be less than or equal to the value of `require('buffer').kMaxLength` (on 64-bit +architectures, `kMaxLength` is `(2^31)-1`). Otherwise, a [`RangeError`][] is +thrown. A zero-length Buffer will be created if a `size` less than or equal to +0 is specified. + +The underlying memory for `Buffer` instances created in this way is *not +initialized*. The contents of the newly created `Buffer` are unknown and +*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such +`Buffer` instances to zeroes. + +```js +const buf = Buffer.allocUnsafe(5); +console.log(buf); + // + // (octets will be different, every time) +buf.fill(0); +console.log(buf); + // +``` + +A `TypeError` will be thrown if `size` is not a number. + +Note that the `Buffer` module pre-allocates an internal `Buffer` instance of +size `Buffer.poolSize` that is used as a pool for the fast allocation of new +`Buffer` instances created using `Buffer.allocUnsafe(size)` (and the deprecated +`new Buffer(size)` constructor) only when `size` is less than or equal to +`Buffer.poolSize >> 1` (floor of `Buffer.poolSize` divided by two). The default +value of `Buffer.poolSize` is `8192` but can be modified. + +Use of this pre-allocated internal memory pool is a key difference between +calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`. +Specifically, `Buffer.alloc(size, fill)` will *never* use the internal Buffer +pool, while `Buffer.allocUnsafe(size).fill(fill)` *will* use the internal +Buffer pool if `size` is less than or equal to half `Buffer.poolSize`. The +difference is subtle but can be important when an application requires the +additional performance that `Buffer.allocUnsafe(size)` provides. + +### Class Method: Buffer.allocUnsafeSlow(size) + + +* `size` {Number} + +Allocates a new *non-zero-filled* and non-pooled `Buffer` of `size` bytes. The +`size` must be less than or equal to the value of +`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is +`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will +be created if a `size` less than or equal to 0 is specified. + +The underlying memory for `Buffer` instances created in this way is *not +initialized*. The contents of the newly created `Buffer` are unknown and +*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such +`Buffer` instances to zeroes. + +When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances, +allocations under 4KB are, by default, sliced from a single pre-allocated +`Buffer`. This allows applications to avoid the garbage collection overhead of +creating many individually allocated Buffers. This approach improves both +performance and memory usage by eliminating the need to track and cleanup as +many `Persistent` objects. + +However, in the case where a developer may need to retain a small chunk of +memory from a pool for an indeterminate amount of time, it may be appropriate +to create an un-pooled Buffer instance using `Buffer.allocUnsafeSlow()` then +copy out the relevant bits. + +```js +// need to keep around a few small chunks of memory +const store = []; + +socket.on('readable', () => { + const data = socket.read(); + // allocate for retained data + const sb = Buffer.allocUnsafeSlow(10); + // copy the data into the new allocation + data.copy(sb, 0, 0, 10); + store.push(sb); +}); +``` + +Use of `Buffer.allocUnsafeSlow()` should be used only as a last resort *after* +a developer has observed undue memory retention in their applications. + +A `TypeError` will be thrown if `size` is not a number. + +### All the Rest + +The rest of the `Buffer` API is exactly the same as in node.js. +[See the docs](https://nodejs.org/api/buffer.html). + + +## Related links + +- [Node.js issue: Buffer(number) is unsafe](https://github.com/nodejs/node/issues/4660) +- [Node.js Enhancement Proposal: Buffer.from/Buffer.alloc/Buffer.zalloc/Buffer() soft-deprecate](https://github.com/nodejs/node-eps/pull/4) + +## Why is `Buffer` unsafe? + +Today, the node.js `Buffer` constructor is overloaded to handle many different argument +types like `String`, `Array`, `Object`, `TypedArrayView` (`Uint8Array`, etc.), +`ArrayBuffer`, and also `Number`. + +The API is optimized for convenience: you can throw any type at it, and it will try to do +what you want. + +Because the Buffer constructor is so powerful, you often see code like this: + +```js +// Convert UTF-8 strings to hex +function toHex (str) { + return new Buffer(str).toString('hex') +} +``` + +***But what happens if `toHex` is called with a `Number` argument?*** + +### Remote Memory Disclosure + +If an attacker can make your program call the `Buffer` constructor with a `Number` +argument, then they can make it allocate uninitialized memory from the node.js process. +This could potentially disclose TLS private keys, user data, or database passwords. + +When the `Buffer` constructor is passed a `Number` argument, it returns an +**UNINITIALIZED** block of memory of the specified `size`. When you create a `Buffer` like +this, you **MUST** overwrite the contents before returning it to the user. + +From the [node.js docs](https://nodejs.org/api/buffer.html#buffer_new_buffer_size): + +> `new Buffer(size)` +> +> - `size` Number +> +> The underlying memory for `Buffer` instances created in this way is not initialized. +> **The contents of a newly created `Buffer` are unknown and could contain sensitive +> data.** Use `buf.fill(0)` to initialize a Buffer to zeroes. + +(Emphasis our own.) + +Whenever the programmer intended to create an uninitialized `Buffer` you often see code +like this: + +```js +var buf = new Buffer(16) + +// Immediately overwrite the uninitialized buffer with data from another buffer +for (var i = 0; i < buf.length; i++) { + buf[i] = otherBuf[i] +} +``` + + +### Would this ever be a problem in real code? + +Yes. It's surprisingly common to forget to check the type of your variables in a +dynamically-typed language like JavaScript. + +Usually the consequences of assuming the wrong type is that your program crashes with an +uncaught exception. But the failure mode for forgetting to check the type of arguments to +the `Buffer` constructor is more catastrophic. + +Here's an example of a vulnerable service that takes a JSON payload and converts it to +hex: + +```js +// Take a JSON payload {str: "some string"} and convert it to hex +var server = http.createServer(function (req, res) { + var data = '' + req.setEncoding('utf8') + req.on('data', function (chunk) { + data += chunk + }) + req.on('end', function () { + var body = JSON.parse(data) + res.end(new Buffer(body.str).toString('hex')) + }) +}) + +server.listen(8080) +``` + +In this example, an http client just has to send: + +```json +{ + "str": 1000 +} +``` + +and it will get back 1,000 bytes of uninitialized memory from the server. + +This is a very serious bug. It's similar in severity to the +[the Heartbleed bug](http://heartbleed.com/) that allowed disclosure of OpenSSL process +memory by remote attackers. + + +### Which real-world packages were vulnerable? + +#### [`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht) + +[Mathias Buus](https://github.com/mafintosh) and I +([Feross Aboukhadijeh](http://feross.org/)) found this issue in one of our own packages, +[`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht). The bug would allow +anyone on the internet to send a series of messages to a user of `bittorrent-dht` and get +them to reveal 20 bytes at a time of uninitialized memory from the node.js process. + +Here's +[the commit](https://github.com/feross/bittorrent-dht/commit/6c7da04025d5633699800a99ec3fbadf70ad35b8) +that fixed it. We released a new fixed version, created a +[Node Security Project disclosure](https://nodesecurity.io/advisories/68), and deprecated all +vulnerable versions on npm so users will get a warning to upgrade to a newer version. + +#### [`ws`](https://www.npmjs.com/package/ws) + +That got us wondering if there were other vulnerable packages. Sure enough, within a short +period of time, we found the same issue in [`ws`](https://www.npmjs.com/package/ws), the +most popular WebSocket implementation in node.js. + +If certain APIs were called with `Number` parameters instead of `String` or `Buffer` as +expected, then uninitialized server memory would be disclosed to the remote peer. + +These were the vulnerable methods: + +```js +socket.send(number) +socket.ping(number) +socket.pong(number) +``` + +Here's a vulnerable socket server with some echo functionality: + +```js +server.on('connection', function (socket) { + socket.on('message', function (message) { + message = JSON.parse(message) + if (message.type === 'echo') { + socket.send(message.data) // send back the user's message + } + }) +}) +``` + +`socket.send(number)` called on the server, will disclose server memory. + +Here's [the release](https://github.com/websockets/ws/releases/tag/1.0.1) where the issue +was fixed, with a more detailed explanation. Props to +[Arnout Kazemier](https://github.com/3rd-Eden) for the quick fix. Here's the +[Node Security Project disclosure](https://nodesecurity.io/advisories/67). + + +### What's the solution? + +It's important that node.js offers a fast way to get memory otherwise performance-critical +applications would needlessly get a lot slower. + +But we need a better way to *signal our intent* as programmers. **When we want +uninitialized memory, we should request it explicitly.** + +Sensitive functionality should not be packed into a developer-friendly API that loosely +accepts many different types. This type of API encourages the lazy practice of passing +variables in without checking the type very carefully. + +#### A new API: `Buffer.allocUnsafe(number)` + +The functionality of creating buffers with uninitialized memory should be part of another +API. We propose `Buffer.allocUnsafe(number)`. This way, it's not part of an API that +frequently gets user input of all sorts of different types passed into it. + +```js +var buf = Buffer.allocUnsafe(16) // careful, uninitialized memory! + +// Immediately overwrite the uninitialized buffer with data from another buffer +for (var i = 0; i < buf.length; i++) { + buf[i] = otherBuf[i] +} +``` + + +### How do we fix node.js core? + +We sent [a PR to node.js core](https://github.com/nodejs/node/pull/4514) (merged as +`semver-major`) which defends against one case: + +```js +var str = 16 +new Buffer(str, 'utf8') +``` + +In this situation, it's implied that the programmer intended the first argument to be a +string, since they passed an encoding as a second argument. Today, node.js will allocate +uninitialized memory in the case of `new Buffer(number, encoding)`, which is probably not +what the programmer intended. + +But this is only a partial solution, since if the programmer does `new Buffer(variable)` +(without an `encoding` parameter) there's no way to know what they intended. If `variable` +is sometimes a number, then uninitialized memory will sometimes be returned. + +### What's the real long-term fix? + +We could deprecate and remove `new Buffer(number)` and use `Buffer.allocUnsafe(number)` when +we need uninitialized memory. But that would break 1000s of packages. + +~~We believe the best solution is to:~~ + +~~1. Change `new Buffer(number)` to return safe, zeroed-out memory~~ + +~~2. Create a new API for creating uninitialized Buffers. We propose: `Buffer.allocUnsafe(number)`~~ + +#### Update + +We now support adding three new APIs: + +- `Buffer.from(value)` - convert from any type to a buffer +- `Buffer.alloc(size)` - create a zero-filled buffer +- `Buffer.allocUnsafe(size)` - create an uninitialized buffer with given size + +This solves the core problem that affected `ws` and `bittorrent-dht` which is +`Buffer(variable)` getting tricked into taking a number argument. + +This way, existing code continues working and the impact on the npm ecosystem will be +minimal. Over time, npm maintainers can migrate performance-critical code to use +`Buffer.allocUnsafe(number)` instead of `new Buffer(number)`. + + +### Conclusion + +We think there's a serious design issue with the `Buffer` API as it exists today. It +promotes insecure software by putting high-risk functionality into a convenient API +with friendly "developer ergonomics". + +This wasn't merely a theoretical exercise because we found the issue in some of the +most popular npm packages. + +Fortunately, there's an easy fix that can be applied today. Use `safe-buffer` in place of +`buffer`. + +```js +var Buffer = require('safe-buffer').Buffer +``` + +Eventually, we hope that node.js core can switch to this new, safer behavior. We believe +the impact on the ecosystem would be minimal since it's not a breaking change. +Well-maintained, popular packages would be updated to use `Buffer.alloc` quickly, while +older, insecure packages would magically become safe from this attack vector. + + +## links + +- [Node.js PR: buffer: throw if both length and enc are passed](https://github.com/nodejs/node/pull/4514) +- [Node Security Project disclosure for `ws`](https://nodesecurity.io/advisories/67) +- [Node Security Project disclosure for`bittorrent-dht`](https://nodesecurity.io/advisories/68) + + +## credit + +The original issues in `bittorrent-dht` +([disclosure](https://nodesecurity.io/advisories/68)) and +`ws` ([disclosure](https://nodesecurity.io/advisories/67)) were discovered by +[Mathias Buus](https://github.com/mafintosh) and +[Feross Aboukhadijeh](http://feross.org/). + +Thanks to [Adam Baldwin](https://github.com/evilpacket) for helping disclose these issues +and for his work running the [Node Security Project](https://nodesecurity.io/). + +Thanks to [John Hiesey](https://github.com/jhiesey) for proofreading this README and +auditing the code. + + +## license + +MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org) diff --git a/node_modules/safe-buffer/index.d.ts b/node_modules/safe-buffer/index.d.ts new file mode 100644 index 00000000..e9fed809 --- /dev/null +++ b/node_modules/safe-buffer/index.d.ts @@ -0,0 +1,187 @@ +declare module "safe-buffer" { + export class Buffer { + length: number + write(string: string, offset?: number, length?: number, encoding?: string): number; + toString(encoding?: string, start?: number, end?: number): string; + toJSON(): { type: 'Buffer', data: any[] }; + equals(otherBuffer: Buffer): boolean; + compare(otherBuffer: Buffer, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): number; + copy(targetBuffer: Buffer, targetStart?: number, sourceStart?: number, sourceEnd?: number): number; + slice(start?: number, end?: number): Buffer; + writeUIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + writeUIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + writeIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + writeIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + readUIntLE(offset: number, byteLength: number, noAssert?: boolean): number; + readUIntBE(offset: number, byteLength: number, noAssert?: boolean): number; + readIntLE(offset: number, byteLength: number, noAssert?: boolean): number; + readIntBE(offset: number, byteLength: number, noAssert?: boolean): number; + readUInt8(offset: number, noAssert?: boolean): number; + readUInt16LE(offset: number, noAssert?: boolean): number; + readUInt16BE(offset: number, noAssert?: boolean): number; + readUInt32LE(offset: number, noAssert?: boolean): number; + readUInt32BE(offset: number, noAssert?: boolean): number; + readInt8(offset: number, noAssert?: boolean): number; + readInt16LE(offset: number, noAssert?: boolean): number; + readInt16BE(offset: number, noAssert?: boolean): number; + readInt32LE(offset: number, noAssert?: boolean): number; + readInt32BE(offset: number, noAssert?: boolean): number; + readFloatLE(offset: number, noAssert?: boolean): number; + readFloatBE(offset: number, noAssert?: boolean): number; + readDoubleLE(offset: number, noAssert?: boolean): number; + readDoubleBE(offset: number, noAssert?: boolean): number; + swap16(): Buffer; + swap32(): Buffer; + swap64(): Buffer; + writeUInt8(value: number, offset: number, noAssert?: boolean): number; + writeUInt16LE(value: number, offset: number, noAssert?: boolean): number; + writeUInt16BE(value: number, offset: number, noAssert?: boolean): number; + writeUInt32LE(value: number, offset: number, noAssert?: boolean): number; + writeUInt32BE(value: number, offset: number, noAssert?: boolean): number; + writeInt8(value: number, offset: number, noAssert?: boolean): number; + writeInt16LE(value: number, offset: number, noAssert?: boolean): number; + writeInt16BE(value: number, offset: number, noAssert?: boolean): number; + writeInt32LE(value: number, offset: number, noAssert?: boolean): number; + writeInt32BE(value: number, offset: number, noAssert?: boolean): number; + writeFloatLE(value: number, offset: number, noAssert?: boolean): number; + writeFloatBE(value: number, offset: number, noAssert?: boolean): number; + writeDoubleLE(value: number, offset: number, noAssert?: boolean): number; + writeDoubleBE(value: number, offset: number, noAssert?: boolean): number; + fill(value: any, offset?: number, end?: number): this; + indexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number; + lastIndexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number; + includes(value: string | number | Buffer, byteOffset?: number, encoding?: string): boolean; + + /** + * Allocates a new buffer containing the given {str}. + * + * @param str String to store in buffer. + * @param encoding encoding to use, optional. Default is 'utf8' + */ + constructor (str: string, encoding?: string); + /** + * Allocates a new buffer of {size} octets. + * + * @param size count of octets to allocate. + */ + constructor (size: number); + /** + * Allocates a new buffer containing the given {array} of octets. + * + * @param array The octets to store. + */ + constructor (array: Uint8Array); + /** + * Produces a Buffer backed by the same allocated memory as + * the given {ArrayBuffer}. + * + * + * @param arrayBuffer The ArrayBuffer with which to share memory. + */ + constructor (arrayBuffer: ArrayBuffer); + /** + * Allocates a new buffer containing the given {array} of octets. + * + * @param array The octets to store. + */ + constructor (array: any[]); + /** + * Copies the passed {buffer} data onto a new {Buffer} instance. + * + * @param buffer The buffer to copy. + */ + constructor (buffer: Buffer); + prototype: Buffer; + /** + * Allocates a new Buffer using an {array} of octets. + * + * @param array + */ + static from(array: any[]): Buffer; + /** + * When passed a reference to the .buffer property of a TypedArray instance, + * the newly created Buffer will share the same allocated memory as the TypedArray. + * The optional {byteOffset} and {length} arguments specify a memory range + * within the {arrayBuffer} that will be shared by the Buffer. + * + * @param arrayBuffer The .buffer property of a TypedArray or a new ArrayBuffer() + * @param byteOffset + * @param length + */ + static from(arrayBuffer: ArrayBuffer, byteOffset?: number, length?: number): Buffer; + /** + * Copies the passed {buffer} data onto a new Buffer instance. + * + * @param buffer + */ + static from(buffer: Buffer): Buffer; + /** + * Creates a new Buffer containing the given JavaScript string {str}. + * If provided, the {encoding} parameter identifies the character encoding. + * If not provided, {encoding} defaults to 'utf8'. + * + * @param str + */ + static from(str: string, encoding?: string): Buffer; + /** + * Returns true if {obj} is a Buffer + * + * @param obj object to test. + */ + static isBuffer(obj: any): obj is Buffer; + /** + * Returns true if {encoding} is a valid encoding argument. + * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' + * + * @param encoding string to test. + */ + static isEncoding(encoding: string): boolean; + /** + * Gives the actual byte length of a string. encoding defaults to 'utf8'. + * This is not the same as String.prototype.length since that returns the number of characters in a string. + * + * @param string string to test. + * @param encoding encoding used to evaluate (defaults to 'utf8') + */ + static byteLength(string: string, encoding?: string): number; + /** + * Returns a buffer which is the result of concatenating all the buffers in the list together. + * + * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer. + * If the list has exactly one item, then the first item of the list is returned. + * If the list has more than one item, then a new Buffer is created. + * + * @param list An array of Buffer objects to concatenate + * @param totalLength Total length of the buffers when concatenated. + * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly. + */ + static concat(list: Buffer[], totalLength?: number): Buffer; + /** + * The same as buf1.compare(buf2). + */ + static compare(buf1: Buffer, buf2: Buffer): number; + /** + * Allocates a new buffer of {size} octets. + * + * @param size count of octets to allocate. + * @param fill if specified, buffer will be initialized by calling buf.fill(fill). + * If parameter is omitted, buffer will be filled with zeros. + * @param encoding encoding used for call to buf.fill while initalizing + */ + static alloc(size: number, fill?: string | Buffer | number, encoding?: string): Buffer; + /** + * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents + * of the newly created Buffer are unknown and may contain sensitive data. + * + * @param size count of octets to allocate + */ + static allocUnsafe(size: number): Buffer; + /** + * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents + * of the newly created Buffer are unknown and may contain sensitive data. + * + * @param size count of octets to allocate + */ + static allocUnsafeSlow(size: number): Buffer; + } +} \ No newline at end of file diff --git a/node_modules/safe-buffer/index.js b/node_modules/safe-buffer/index.js new file mode 100644 index 00000000..f8d3ec98 --- /dev/null +++ b/node_modules/safe-buffer/index.js @@ -0,0 +1,65 @@ +/*! safe-buffer. MIT License. Feross Aboukhadijeh */ +/* eslint-disable node/no-deprecated-api */ +var buffer = require('buffer') +var Buffer = buffer.Buffer + +// alternative to using Object.keys for old browsers +function copyProps (src, dst) { + for (var key in src) { + dst[key] = src[key] + } +} +if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { + module.exports = buffer +} else { + // Copy properties from require('buffer') + copyProps(buffer, exports) + exports.Buffer = SafeBuffer +} + +function SafeBuffer (arg, encodingOrOffset, length) { + return Buffer(arg, encodingOrOffset, length) +} + +SafeBuffer.prototype = Object.create(Buffer.prototype) + +// Copy static methods from Buffer +copyProps(Buffer, SafeBuffer) + +SafeBuffer.from = function (arg, encodingOrOffset, length) { + if (typeof arg === 'number') { + throw new TypeError('Argument must not be a number') + } + return Buffer(arg, encodingOrOffset, length) +} + +SafeBuffer.alloc = function (size, fill, encoding) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + var buf = Buffer(size) + if (fill !== undefined) { + if (typeof encoding === 'string') { + buf.fill(fill, encoding) + } else { + buf.fill(fill) + } + } else { + buf.fill(0) + } + return buf +} + +SafeBuffer.allocUnsafe = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + return Buffer(size) +} + +SafeBuffer.allocUnsafeSlow = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + return buffer.SlowBuffer(size) +} diff --git a/node_modules/safe-buffer/package.json b/node_modules/safe-buffer/package.json new file mode 100644 index 00000000..c012a173 --- /dev/null +++ b/node_modules/safe-buffer/package.json @@ -0,0 +1,76 @@ +{ + "_from": "safe-buffer@~5.2.0", + "_id": "safe-buffer@5.2.1", + "_inBundle": false, + "_integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "_location": "/safe-buffer", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "safe-buffer@~5.2.0", + "name": "safe-buffer", + "escapedName": "safe-buffer", + "rawSpec": "~5.2.0", + "saveSpec": null, + "fetchSpec": "~5.2.0" + }, + "_requiredBy": [ + "/string_decoder" + ], + "_resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "_shasum": "1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", + "_spec": "safe-buffer@~5.2.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\string_decoder", + "author": { + "name": "Feross Aboukhadijeh", + "email": "feross@feross.org", + "url": "https://feross.org" + }, + "bugs": { + "url": "https://github.com/feross/safe-buffer/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Safer Node.js Buffer API", + "devDependencies": { + "standard": "*", + "tape": "^5.0.0" + }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "homepage": "https://github.com/feross/safe-buffer", + "keywords": [ + "buffer", + "buffer allocate", + "node security", + "safe", + "safe-buffer", + "security", + "uninitialized" + ], + "license": "MIT", + "main": "index.js", + "name": "safe-buffer", + "repository": { + "type": "git", + "url": "git://github.com/feross/safe-buffer.git" + }, + "scripts": { + "test": "standard && tape test/*.js" + }, + "types": "index.d.ts", + "version": "5.2.1" +} diff --git a/node_modules/smart-buffer/.prettierrc.yaml b/node_modules/smart-buffer/.prettierrc.yaml new file mode 100644 index 00000000..9a4f5ed7 --- /dev/null +++ b/node_modules/smart-buffer/.prettierrc.yaml @@ -0,0 +1,5 @@ +parser: typescript +printWidth: 120 +tabWidth: 2 +singleQuote: true +trailingComma: none \ No newline at end of file diff --git a/node_modules/smart-buffer/.travis.yml b/node_modules/smart-buffer/.travis.yml new file mode 100644 index 00000000..eec71cec --- /dev/null +++ b/node_modules/smart-buffer/.travis.yml @@ -0,0 +1,13 @@ +language: node_js +node_js: + - 6 + - 8 + - 10 + - 12 + - stable + +before_script: + - npm install -g typescript + - tsc -p ./ + +script: "npm run coveralls" \ No newline at end of file diff --git a/node_modules/smart-buffer/LICENSE b/node_modules/smart-buffer/LICENSE new file mode 100644 index 00000000..aab5771a --- /dev/null +++ b/node_modules/smart-buffer/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2013-2017 Josh Glazebrook + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/smart-buffer/README.md b/node_modules/smart-buffer/README.md new file mode 100644 index 00000000..4cd328d9 --- /dev/null +++ b/node_modules/smart-buffer/README.md @@ -0,0 +1,632 @@ +smart-buffer [![Build Status](https://travis-ci.org/JoshGlazebrook/smart-buffer.svg?branch=master)](https://travis-ci.org/JoshGlazebrook/smart-buffer) [![Coverage Status](https://coveralls.io/repos/github/JoshGlazebrook/smart-buffer/badge.svg?branch=master)](https://coveralls.io/github/JoshGlazebrook/smart-buffer?branch=master) +============= + +smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more. + +![stats](https://nodei.co/npm/smart-buffer.png?downloads=true&downloadRank=true&stars=true "stats") + +**Key Features**: +* Proxies all of the Buffer write and read functions +* Keeps track of read and write offsets automatically +* Grows the internal Buffer as needed +* Useful string operations. (Null terminating strings) +* Allows for inserting values at specific points in the Buffer +* Built in TypeScript +* Type Definitions Provided +* Browser Support (using Webpack/Browserify) +* Full test coverage + +**Requirements**: +* Node v4.0+ is supported at this time. (Versions prior to 2.0 will work on node 0.10) + + + +## Breaking Changes in v4.0 + +* Old constructor patterns have been completely removed. It's now required to use the SmartBuffer.fromXXX() factory constructors. +* rewind(), skip(), moveTo() have been removed. (see [offsets](#offsets)) +* Internal private properties are now prefixed with underscores (_) +* **All** writeXXX() methods that are given an offset will now **overwrite data** instead of insert. (see [write vs insert](#write-vs-insert)) +* insertXXX() methods have been added for when you want to insert data at a specific offset (this replaces the old behavior of writeXXX() when an offset was provided) + + +## Looking for v3 docs? + +Legacy documentation for version 3 and prior can be found [here](https://github.com/JoshGlazebrook/smart-buffer/blob/master/docs/README_v3.md). + +## Installing: + +`yarn add smart-buffer` + +or + +`npm install smart-buffer` + +Note: The published NPM package includes the built javascript library. +If you cloned this repo and wish to build the library manually use: + +`npm run build` + +## Using smart-buffer + +```javascript +// Javascript +const SmartBuffer = require('smart-buffer').SmartBuffer; + +// Typescript +import { SmartBuffer, SmartBufferOptions} from 'smart-buffer'; +``` + +### Simple Example + +Building a packet that uses the following protocol specification: + +`[PacketType:2][PacketLength:2][Data:XX]` + +To build this packet using the vanilla Buffer class, you would have to count up the length of the data payload beforehand. You would also need to keep track of the current "cursor" position in your Buffer so you write everything in the right places. With smart-buffer you don't have to do either of those things. + +```javascript +function createLoginPacket(username, password, age, country) { + const packet = new SmartBuffer(); + packet.writeUInt16LE(0x0060); // Some packet type + packet.writeStringNT(username); + packet.writeStringNT(password); + packet.writeUInt8(age); + packet.writeStringNT(country); + packet.insertUInt16LE(packet.length - 2, 2); + + return packet.toBuffer(); +} +``` +With the above function, you now can do this: +```javascript +const login = createLoginPacket("Josh", "secret123", 22, "United States"); + +// +``` +Notice that the `[PacketLength:2]` value (1e 00) was inserted at position 2. + +Reading back the packet we created above is just as easy: +```javascript + +const reader = SmartBuffer.fromBuffer(login); + +const logininfo = { + packetType: reader.readUInt16LE(), + packetLength: reader.readUInt16LE(), + username: reader.readStringNT(), + password: reader.readStringNT(), + age: reader.readUInt8(), + country: reader.readStringNT() +}; + +/* +{ + packetType: 96, (0x0060) + packetLength: 30, + username: 'Josh', + password: 'secret123', + age: 22, + country: 'United States' +} +*/ +``` + + +## Write vs Insert +In prior versions of SmartBuffer, .writeXXX(value, offset) calls would insert data when an offset was provided. In version 4, this will now overwrite the data at the offset position. To insert data there are now corresponding .insertXXX(value, offset) methods. + +**SmartBuffer v3**: +```javascript +const buff = SmartBuffer.fromBuffer(new Buffer([1,2,3,4,5,6])); +buff.writeInt8(7, 2); +console.log(buff.toBuffer()) + +// +``` + +**SmartBuffer v4**: +```javascript +const buff = SmartBuffer.fromBuffer(new Buffer([1,2,3,4,5,6])); +buff.writeInt8(7, 2); +console.log(buff.toBuffer()); + +// +``` + +To insert you instead should use: +```javascript +const buff = SmartBuffer.fromBuffer(new Buffer([1,2,3,4,5,6])); +buff.insertInt8(7, 2); +console.log(buff.toBuffer()); + +// +``` + +**Note:** Insert/Writing to a position beyond the currently tracked internal Buffer will zero pad to your offset. + +## Constructing a smart-buffer + +There are a few different ways to construct a SmartBuffer instance. + +```javascript +// Creating SmartBuffer from existing Buffer +const buff = SmartBuffer.fromBuffer(buffer); // Creates instance from buffer. (Uses default utf8 encoding) +const buff = SmartBuffer.fromBuffer(buffer, 'ascii'); // Creates instance from buffer with ascii encoding for strings. + +// Creating SmartBuffer with specified internal Buffer size. (Note: this is not a hard cap, the internal buffer will grow as needed). +const buff = SmartBuffer.fromSize(1024); // Creates instance with internal Buffer size of 1024. +const buff = SmartBuffer.fromSize(1024, 'utf8'); // Creates instance with internal Buffer size of 1024, and utf8 encoding for strings. + +// Creating SmartBuffer with options object. This one specifies size and encoding. +const buff = SmartBuffer.fromOptions({ + size: 1024, + encoding: 'ascii' +}); + +// Creating SmartBuffer with options object. This one specified an existing Buffer. +const buff = SmartBuffer.fromOptions({ + buff: buffer +}); + +// Creating SmartBuffer from a string. +const buff = SmartBuffer.fromBuffer(Buffer.from('some string', 'utf8')); + +// Just want a regular SmartBuffer with all default options? +const buff = new SmartBuffer(); +``` + +# Api Reference: + +**Note:** SmartBuffer is fully documented with Typescript definitions as well as jsdocs so your favorite editor/IDE will have intellisense. + +**Table of Contents** + +1. [Constructing](#constructing) +2. **Numbers** + 1. [Integers](#integers) + 2. [Floating Points](#floating-point-numbers) +3. **Strings** + 1. [Strings](#strings) + 2. [Null Terminated Strings](#null-terminated-strings) +4. [Buffers](#buffers) +5. [Offsets](#offsets) +6. [Other](#other) + + +## Constructing + +### constructor() +### constructor([options]) +- ```options``` *{SmartBufferOptions}* An optional options object to construct a SmartBuffer with. + +Examples: +```javascript +const buff = new SmartBuffer(); +const buff = new SmartBuffer({ + size: 1024, + encoding: 'ascii' +}); +``` + +### Class Method: fromBuffer(buffer[, encoding]) +- ```buffer``` *{Buffer}* The Buffer instance to wrap. +- ```encoding``` *{string}* The string encoding to use. ```Default: 'utf8'``` + +Examples: +```javascript +const someBuffer = Buffer.from('some string'); +const buff = SmartBuffer.fromBuffer(someBuffer); // Defaults to utf8 +const buff = SmartBuffer.fromBuffer(someBuffer, 'ascii'); +``` + +### Class Method: fromSize(size[, encoding]) +- ```size``` *{number}* The size to initialize the internal Buffer. +- ```encoding``` *{string}* The string encoding to use. ```Default: 'utf8'``` + +Examples: +```javascript +const buff = SmartBuffer.fromSize(1024); // Defaults to utf8 +const buff = SmartBuffer.fromSize(1024, 'ascii'); +``` + +### Class Method: fromOptions(options) +- ```options``` *{SmartBufferOptions}* The Buffer instance to wrap. + +```typescript +interface SmartBufferOptions { + encoding?: BufferEncoding; // Defaults to utf8 + size?: number; // Defaults to 4096 + buff?: Buffer; +} +``` + +Examples: +```javascript +const buff = SmartBuffer.fromOptions({ + size: 1024 +}; +const buff = SmartBuffer.fromOptions({ + size: 1024, + encoding: 'utf8' +}); +const buff = SmartBuffer.fromOptions({ + encoding: 'utf8' +}); + +const someBuff = Buffer.from('some string', 'utf8'); +const buff = SmartBuffer.fromOptions({ + buffer: someBuff, + encoding: 'utf8' +}); +``` + +## Integers + +### readInt8([offset]) +- ```offset``` *{number}* Optional position to start reading data from. **Default**: ```Auto managed offset``` +- Returns *{number}* + +Read a Int8 value. + +### buff.readInt16BE([offset]) +### buff.readInt16LE([offset]) +### buff.readUInt16BE([offset]) +### buff.readUInt16LE([offset]) +- ```offset``` *{number}* Optional position to start reading data from. **Default**: ```Auto managed offset``` +- Returns *{number}* + +Read a 16 bit integer value. + +### buff.readInt32BE([offset]) +### buff.readInt32LE([offset]) +### buff.readUInt32BE([offset]) +### buff.readUInt32LE([offset]) +- ```offset``` *{number}* Optional position to start reading data from. **Default**: ```Auto managed offset``` +- Returns *{number}* + +Read a 32 bit integer value. + + +### buff.writeInt8(value[, offset]) +### buff.writeUInt8(value[, offset]) +- ```value``` *{number}* The value to write. +- ```offset``` *{number}* An optional offset to write this value to. **Default:** ```Auto managed offset``` +- Returns *{this}* + +Write a Int8 value. + +### buff.insertInt8(value, offset) +### buff.insertUInt8(value, offset) +- ```value``` *{number}* The value to insert. +- ```offset``` *{number}* The offset to insert this data at. +- Returns *{this}* + +Insert a Int8 value. + + +### buff.writeInt16BE(value[, offset]) +### buff.writeInt16LE(value[, offset]) +### buff.writeUInt16BE(value[, offset]) +### buff.writeUInt16LE(value[, offset]) +- ```value``` *{number}* The value to write. +- ```offset``` *{number}* An optional offset to write this value to. **Default:** ```Auto managed offset``` +- Returns *{this}* + +Write a 16 bit integer value. + +### buff.insertInt16BE(value, offset) +### buff.insertInt16LE(value, offset) +### buff.insertUInt16BE(value, offset) +### buff.insertUInt16LE(value, offset) +- ```value``` *{number}* The value to insert. +- ```offset``` *{number}* The offset to insert this data at. +- Returns *{this}* + +Insert a 16 bit integer value. + + +### buff.writeInt32BE(value[, offset]) +### buff.writeInt32LE(value[, offset]) +### buff.writeUInt32BE(value[, offset]) +### buff.writeUInt32LE(value[, offset]) +- ```value``` *{number}* The value to write. +- ```offset``` *{number}* An optional offset to write this value to. **Default:** ```Auto managed offset``` +- Returns *{this}* + +Write a 32 bit integer value. + +### buff.insertInt32BE(value, offset) +### buff.insertInt32LE(value, offset) +### buff.insertUInt32BE(value, offset) +### buff.nsertUInt32LE(value, offset) +- ```value``` *{number}* The value to insert. +- ```offset``` *{number}* The offset to insert this data at. +- Returns *{this}* + +Insert a 32 bit integer value. + + +## Floating Point Numbers + +### buff.readFloatBE([offset]) +### buff.readFloatLE([offset]) +- ```offset``` *{number}* Optional position to start reading data from. **Default**: ```Auto managed offset``` +- Returns *{number}* + +Read a Float value. + +### buff.eadDoubleBE([offset]) +### buff.readDoubleLE([offset]) +- ```offset``` *{number}* Optional position to start reading data from. **Default**: ```Auto managed offset``` +- Returns *{number}* + +Read a Double value. + + +### buff.writeFloatBE(value[, offset]) +### buff.writeFloatLE(value[, offset]) +- ```value``` *{number}* The value to write. +- ```offset``` *{number}* An optional offset to write this value to. **Default:** ```Auto managed offset``` +- Returns *{this}* + +Write a Float value. + +### buff.insertFloatBE(value, offset) +### buff.insertFloatLE(value, offset) +- ```value``` *{number}* The value to insert. +- ```offset``` *{number}* The offset to insert this data at. +- Returns *{this}* + +Insert a Float value. + + +### buff.writeDoubleBE(value[, offset]) +### buff.writeDoubleLE(value[, offset]) +- ```value``` *{number}* The value to write. +- ```offset``` *{number}* An optional offset to write this value to. **Default:** ```Auto managed offset``` +- Returns *{this}* + +Write a Double value. + +### buff.insertDoubleBE(value, offset) +### buff.insertDoubleLE(value, offset) +- ```value``` *{number}* The value to insert. +- ```offset``` *{number}* The offset to insert this data at. +- Returns *{this}* + +Insert a Double value. + +## Strings + +### buff.readString() +### buff.readString(size[, encoding]) +### buff.readString(encoding) +- ```size``` *{number}* The number of bytes to read. **Default:** ```Reads to the end of the Buffer.``` +- ```encoding``` *{string}* The string encoding to use. **Default:** ```utf8```. + +Read a string value. + +Examples: +```javascript +const buff = SmartBuffer.fromBuffer(Buffer.from('hello there', 'utf8')); +buff.readString(); // 'hello there' +buff.readString(2); // 'he' +buff.readString(2, 'utf8'); // 'he' +buff.readString('utf8'); // 'hello there' +``` + +### buff.writeString(value) +### buff.writeString(value[, offset]) +### buff.writeString(value[, encoding]) +### buff.writeString(value[, offset[, encoding]]) +- ```value``` *{string}* The string value to write. +- ```offset``` *{number}* The offset to write this value to. **Default:** ```Auto managed offset``` +- ```encoding``` *{string}* An optional string encoding to use. **Default:** ```utf8``` + +Write a string value. + +Examples: +```javascript +buff.writeString('hello'); // Auto managed offset +buff.writeString('hello', 2); +buff.writeString('hello', 'utf8') // Auto managed offset +buff.writeString('hello', 2, 'utf8'); +``` + +### buff.insertString(value, offset[, encoding]) +- ```value``` *{string}* The string value to write. +- ```offset``` *{number}* The offset to write this value to. +- ```encoding``` *{string}* An optional string encoding to use. **Default:** ```utf8``` + +Insert a string value. + +Examples: +```javascript +buff.insertString('hello', 2); +buff.insertString('hello', 2, 'utf8'); +``` + +## Null Terminated Strings + +### buff.readStringNT() +### buff.readStringNT(encoding) +- ```encoding``` *{string}* The string encoding to use. **Default:** ```utf8```. + +Read a null terminated string value. (If a null is not found, it will read to the end of the Buffer). + +Examples: +```javascript +const buff = SmartBuffer.fromBuffer(Buffer.from('hello\0 there', 'utf8')); +buff.readStringNT(); // 'hello' + +// If we called this again: +buff.readStringNT(); // ' there' +``` + +### buff.writeStringNT(value) +### buff.writeStringNT(value[, offset]) +### buff.writeStringNT(value[, encoding]) +### buff.writeStringNT(value[, offset[, encoding]]) +- ```value``` *{string}* The string value to write. +- ```offset``` *{number}* The offset to write this value to. **Default:** ```Auto managed offset``` +- ```encoding``` *{string}* An optional string encoding to use. **Default:** ```utf8``` + +Write a null terminated string value. + +Examples: +```javascript +buff.writeStringNT('hello'); // Auto managed offset +buff.writeStringNT('hello', 2); // +buff.writeStringNT('hello', 'utf8') // Auto managed offset +buff.writeStringNT('hello', 2, 'utf8'); +``` + +### buff.insertStringNT(value, offset[, encoding]) +- ```value``` *{string}* The string value to write. +- ```offset``` *{number}* The offset to write this value to. +- ```encoding``` *{string}* An optional string encoding to use. **Default:** ```utf8``` + +Insert a null terminated string value. + +Examples: +```javascript +buff.insertStringNT('hello', 2); +buff.insertStringNT('hello', 2, 'utf8'); +``` + +## Buffers + +### buff.readBuffer([length]) +- ```length``` *{number}* The number of bytes to read into a Buffer. **Default:** ```Reads to the end of the Buffer``` + +Read a Buffer of a specified size. + +### buff.writeBuffer(value[, offset]) +- ```value``` *{Buffer}* The buffer value to write. +- ```offset``` *{number}* An optional offset to write the value to. **Default:** ```Auto managed offset``` + +### buff.insertBuffer(value, offset) +- ```value``` *{Buffer}* The buffer value to write. +- ```offset``` *{number}* The offset to write the value to. + + +### buff.readBufferNT() + +Read a null terminated Buffer. + +### buff.writeBufferNT(value[, offset]) +- ```value``` *{Buffer}* The buffer value to write. +- ```offset``` *{number}* An optional offset to write the value to. **Default:** ```Auto managed offset``` + +Write a null terminated Buffer. + + +### buff.insertBufferNT(value, offset) +- ```value``` *{Buffer}* The buffer value to write. +- ```offset``` *{number}* The offset to write the value to. + +Insert a null terminated Buffer. + + +## Offsets + +### buff.readOffset +### buff.readOffset(offset) +- ```offset``` *{number}* The new read offset value to set. +- Returns: ```The current read offset``` + +Gets or sets the current read offset. + +Examples: +```javascript +const currentOffset = buff.readOffset; // 5 + +buff.readOffset = 10; + +console.log(buff.readOffset) // 10 +``` + +### buff.writeOffset +### buff.writeOffset(offset) +- ```offset``` *{number}* The new write offset value to set. +- Returns: ```The current write offset``` + +Gets or sets the current write offset. + +Examples: +```javascript +const currentOffset = buff.writeOffset; // 5 + +buff.writeOffset = 10; + +console.log(buff.writeOffset) // 10 +``` + +### buff.encoding +### buff.encoding(encoding) +- ```encoding``` *{string}* The new string encoding to set. +- Returns: ```The current string encoding``` + +Gets or sets the current string encoding. + +Examples: +```javascript +const currentEncoding = buff.encoding; // 'utf8' + +buff.encoding = 'ascii'; + +console.log(buff.encoding) // 'ascii' +``` + +## Other + +### buff.clear() + +Clear and resets the SmartBuffer instance. + +### buff.remaining() +- Returns ```Remaining data left to be read``` + +Gets the number of remaining bytes to be read. + + +### buff.internalBuffer +- Returns: *{Buffer}* + +Gets the internally managed Buffer (Includes unmanaged data). + +Examples: +```javascript +const buff = SmartBuffer.fromSize(16); +buff.writeString('hello'); +console.log(buff.InternalBuffer); // +``` + +### buff.toBuffer() +- Returns: *{Buffer}* + +Gets a sliced Buffer instance of the internally managed Buffer. (Only includes managed data) + +Examples: +```javascript +const buff = SmartBuffer.fromSize(16); +buff.writeString('hello'); +console.log(buff.toBuffer()); // +``` + +### buff.toString([encoding]) +- ```encoding``` *{string}* The string encoding to use when converting to a string. **Default:** ```utf8``` +- Returns *{string}* + +Gets a string representation of all data in the SmartBuffer. + +### buff.destroy() + +Destroys the SmartBuffer instance. + + + +## License + +This work is licensed under the [MIT license](http://en.wikipedia.org/wiki/MIT_License). \ No newline at end of file diff --git a/node_modules/smart-buffer/build/smartbuffer.js b/node_modules/smart-buffer/build/smartbuffer.js new file mode 100644 index 00000000..fc7d3aa0 --- /dev/null +++ b/node_modules/smart-buffer/build/smartbuffer.js @@ -0,0 +1,1233 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const utils_1 = require("./utils"); +// The default Buffer size if one is not provided. +const DEFAULT_SMARTBUFFER_SIZE = 4096; +// The default string encoding to use for reading/writing strings. +const DEFAULT_SMARTBUFFER_ENCODING = 'utf8'; +class SmartBuffer { + /** + * Creates a new SmartBuffer instance. + * + * @param options { SmartBufferOptions } The SmartBufferOptions to apply to this instance. + */ + constructor(options) { + this.length = 0; + this._encoding = DEFAULT_SMARTBUFFER_ENCODING; + this._writeOffset = 0; + this._readOffset = 0; + if (SmartBuffer.isSmartBufferOptions(options)) { + // Checks for encoding + if (options.encoding) { + utils_1.checkEncoding(options.encoding); + this._encoding = options.encoding; + } + // Checks for initial size length + if (options.size) { + if (utils_1.isFiniteInteger(options.size) && options.size > 0) { + this._buff = Buffer.allocUnsafe(options.size); + } + else { + throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_SIZE); + } + // Check for initial Buffer + } + else if (options.buff) { + if (options.buff instanceof Buffer) { + this._buff = options.buff; + this.length = options.buff.length; + } + else { + throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_BUFFER); + } + } + else { + this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE); + } + } + else { + // If something was passed but it's not a SmartBufferOptions object + if (typeof options !== 'undefined') { + throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_OBJECT); + } + // Otherwise default to sane options + this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE); + } + } + /** + * Creates a new SmartBuffer instance with the provided internal Buffer size and optional encoding. + * + * @param size { Number } The size of the internal Buffer. + * @param encoding { String } The BufferEncoding to use for strings. + * + * @return { SmartBuffer } + */ + static fromSize(size, encoding) { + return new this({ + size: size, + encoding: encoding + }); + } + /** + * Creates a new SmartBuffer instance with the provided Buffer and optional encoding. + * + * @param buffer { Buffer } The Buffer to use as the internal Buffer value. + * @param encoding { String } The BufferEncoding to use for strings. + * + * @return { SmartBuffer } + */ + static fromBuffer(buff, encoding) { + return new this({ + buff: buff, + encoding: encoding + }); + } + /** + * Creates a new SmartBuffer instance with the provided SmartBufferOptions options. + * + * @param options { SmartBufferOptions } The options to use when creating the SmartBuffer instance. + */ + static fromOptions(options) { + return new this(options); + } + /** + * Type checking function that determines if an object is a SmartBufferOptions object. + */ + static isSmartBufferOptions(options) { + const castOptions = options; + return (castOptions && + (castOptions.encoding !== undefined || castOptions.size !== undefined || castOptions.buff !== undefined)); + } + // Signed integers + /** + * Reads an Int8 value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt8(offset) { + return this._readNumberValue(Buffer.prototype.readInt8, 1, offset); + } + /** + * Reads an Int16BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt16BE(offset) { + return this._readNumberValue(Buffer.prototype.readInt16BE, 2, offset); + } + /** + * Reads an Int16LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt16LE(offset) { + return this._readNumberValue(Buffer.prototype.readInt16LE, 2, offset); + } + /** + * Reads an Int32BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt32BE(offset) { + return this._readNumberValue(Buffer.prototype.readInt32BE, 4, offset); + } + /** + * Reads an Int32LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt32LE(offset) { + return this._readNumberValue(Buffer.prototype.readInt32LE, 4, offset); + } + /** + * Reads a BigInt64BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { BigInt } + */ + readBigInt64BE(offset) { + utils_1.bigIntAndBufferInt64Check('readBigInt64BE'); + return this._readNumberValue(Buffer.prototype.readBigInt64BE, 8, offset); + } + /** + * Reads a BigInt64LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { BigInt } + */ + readBigInt64LE(offset) { + utils_1.bigIntAndBufferInt64Check('readBigInt64LE'); + return this._readNumberValue(Buffer.prototype.readBigInt64LE, 8, offset); + } + /** + * Writes an Int8 value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt8(value, offset) { + this._writeNumberValue(Buffer.prototype.writeInt8, 1, value, offset); + return this; + } + /** + * Inserts an Int8 value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt8(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeInt8, 1, value, offset); + } + /** + * Writes an Int16BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt16BE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset); + } + /** + * Inserts an Int16BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt16BE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset); + } + /** + * Writes an Int16LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt16LE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset); + } + /** + * Inserts an Int16LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt16LE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset); + } + /** + * Writes an Int32BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt32BE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset); + } + /** + * Inserts an Int32BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt32BE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset); + } + /** + * Writes an Int32LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt32LE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset); + } + /** + * Inserts an Int32LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt32LE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset); + } + /** + * Writes a BigInt64BE value to the current write position (or at optional offset). + * + * @param value { BigInt } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeBigInt64BE(value, offset) { + utils_1.bigIntAndBufferInt64Check('writeBigInt64BE'); + return this._writeNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset); + } + /** + * Inserts a BigInt64BE value at the given offset value. + * + * @param value { BigInt } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertBigInt64BE(value, offset) { + utils_1.bigIntAndBufferInt64Check('writeBigInt64BE'); + return this._insertNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset); + } + /** + * Writes a BigInt64LE value to the current write position (or at optional offset). + * + * @param value { BigInt } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeBigInt64LE(value, offset) { + utils_1.bigIntAndBufferInt64Check('writeBigInt64LE'); + return this._writeNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset); + } + /** + * Inserts a Int64LE value at the given offset value. + * + * @param value { BigInt } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertBigInt64LE(value, offset) { + utils_1.bigIntAndBufferInt64Check('writeBigInt64LE'); + return this._insertNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset); + } + // Unsigned Integers + /** + * Reads an UInt8 value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt8(offset) { + return this._readNumberValue(Buffer.prototype.readUInt8, 1, offset); + } + /** + * Reads an UInt16BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt16BE(offset) { + return this._readNumberValue(Buffer.prototype.readUInt16BE, 2, offset); + } + /** + * Reads an UInt16LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt16LE(offset) { + return this._readNumberValue(Buffer.prototype.readUInt16LE, 2, offset); + } + /** + * Reads an UInt32BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt32BE(offset) { + return this._readNumberValue(Buffer.prototype.readUInt32BE, 4, offset); + } + /** + * Reads an UInt32LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt32LE(offset) { + return this._readNumberValue(Buffer.prototype.readUInt32LE, 4, offset); + } + /** + * Reads a BigUInt64BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { BigInt } + */ + readBigUInt64BE(offset) { + utils_1.bigIntAndBufferInt64Check('readBigUInt64BE'); + return this._readNumberValue(Buffer.prototype.readBigUInt64BE, 8, offset); + } + /** + * Reads a BigUInt64LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { BigInt } + */ + readBigUInt64LE(offset) { + utils_1.bigIntAndBufferInt64Check('readBigUInt64LE'); + return this._readNumberValue(Buffer.prototype.readBigUInt64LE, 8, offset); + } + /** + * Writes an UInt8 value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt8(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeUInt8, 1, value, offset); + } + /** + * Inserts an UInt8 value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt8(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeUInt8, 1, value, offset); + } + /** + * Writes an UInt16BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt16BE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset); + } + /** + * Inserts an UInt16BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt16BE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset); + } + /** + * Writes an UInt16LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt16LE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset); + } + /** + * Inserts an UInt16LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt16LE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset); + } + /** + * Writes an UInt32BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt32BE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset); + } + /** + * Inserts an UInt32BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt32BE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset); + } + /** + * Writes an UInt32LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt32LE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset); + } + /** + * Inserts an UInt32LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt32LE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset); + } + /** + * Writes a BigUInt64BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeBigUInt64BE(value, offset) { + utils_1.bigIntAndBufferInt64Check('writeBigUInt64BE'); + return this._writeNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset); + } + /** + * Inserts a BigUInt64BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertBigUInt64BE(value, offset) { + utils_1.bigIntAndBufferInt64Check('writeBigUInt64BE'); + return this._insertNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset); + } + /** + * Writes a BigUInt64LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeBigUInt64LE(value, offset) { + utils_1.bigIntAndBufferInt64Check('writeBigUInt64LE'); + return this._writeNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset); + } + /** + * Inserts a BigUInt64LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertBigUInt64LE(value, offset) { + utils_1.bigIntAndBufferInt64Check('writeBigUInt64LE'); + return this._insertNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset); + } + // Floating Point + /** + * Reads an FloatBE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readFloatBE(offset) { + return this._readNumberValue(Buffer.prototype.readFloatBE, 4, offset); + } + /** + * Reads an FloatLE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readFloatLE(offset) { + return this._readNumberValue(Buffer.prototype.readFloatLE, 4, offset); + } + /** + * Writes a FloatBE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeFloatBE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset); + } + /** + * Inserts a FloatBE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertFloatBE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset); + } + /** + * Writes a FloatLE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeFloatLE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset); + } + /** + * Inserts a FloatLE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertFloatLE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset); + } + // Double Floating Point + /** + * Reads an DoublEBE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readDoubleBE(offset) { + return this._readNumberValue(Buffer.prototype.readDoubleBE, 8, offset); + } + /** + * Reads an DoubleLE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readDoubleLE(offset) { + return this._readNumberValue(Buffer.prototype.readDoubleLE, 8, offset); + } + /** + * Writes a DoubleBE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeDoubleBE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset); + } + /** + * Inserts a DoubleBE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertDoubleBE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset); + } + /** + * Writes a DoubleLE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeDoubleLE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset); + } + /** + * Inserts a DoubleLE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertDoubleLE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset); + } + // Strings + /** + * Reads a String from the current read position. + * + * @param arg1 { Number | String } The number of bytes to read as a String, or the BufferEncoding to use for + * the string (Defaults to instance level encoding). + * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding). + * + * @return { String } + */ + readString(arg1, encoding) { + let lengthVal; + // Length provided + if (typeof arg1 === 'number') { + utils_1.checkLengthValue(arg1); + lengthVal = Math.min(arg1, this.length - this._readOffset); + } + else { + encoding = arg1; + lengthVal = this.length - this._readOffset; + } + // Check encoding + if (typeof encoding !== 'undefined') { + utils_1.checkEncoding(encoding); + } + const value = this._buff.slice(this._readOffset, this._readOffset + lengthVal).toString(encoding || this._encoding); + this._readOffset += lengthVal; + return value; + } + /** + * Inserts a String + * + * @param value { String } The String value to insert. + * @param offset { Number } The offset to insert the string at. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + * + * @return this + */ + insertString(value, offset, encoding) { + utils_1.checkOffsetValue(offset); + return this._handleString(value, true, offset, encoding); + } + /** + * Writes a String + * + * @param value { String } The String value to write. + * @param arg2 { Number | String } The offset to write the string at, or the BufferEncoding to use. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + * + * @return this + */ + writeString(value, arg2, encoding) { + return this._handleString(value, false, arg2, encoding); + } + /** + * Reads a null-terminated String from the current read position. + * + * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding). + * + * @return { String } + */ + readStringNT(encoding) { + if (typeof encoding !== 'undefined') { + utils_1.checkEncoding(encoding); + } + // Set null character position to the end SmartBuffer instance. + let nullPos = this.length; + // Find next null character (if one is not found, default from above is used) + for (let i = this._readOffset; i < this.length; i++) { + if (this._buff[i] === 0x00) { + nullPos = i; + break; + } + } + // Read string value + const value = this._buff.slice(this._readOffset, nullPos); + // Increment internal Buffer read offset + this._readOffset = nullPos + 1; + return value.toString(encoding || this._encoding); + } + /** + * Inserts a null-terminated String. + * + * @param value { String } The String value to write. + * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + * + * @return this + */ + insertStringNT(value, offset, encoding) { + utils_1.checkOffsetValue(offset); + // Write Values + this.insertString(value, offset, encoding); + this.insertUInt8(0x00, offset + value.length); + return this; + } + /** + * Writes a null-terminated String. + * + * @param value { String } The String value to write. + * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + * + * @return this + */ + writeStringNT(value, arg2, encoding) { + // Write Values + this.writeString(value, arg2, encoding); + this.writeUInt8(0x00, typeof arg2 === 'number' ? arg2 + value.length : this.writeOffset); + return this; + } + // Buffers + /** + * Reads a Buffer from the internal read position. + * + * @param length { Number } The length of data to read as a Buffer. + * + * @return { Buffer } + */ + readBuffer(length) { + if (typeof length !== 'undefined') { + utils_1.checkLengthValue(length); + } + const lengthVal = typeof length === 'number' ? length : this.length; + const endPoint = Math.min(this.length, this._readOffset + lengthVal); + // Read buffer value + const value = this._buff.slice(this._readOffset, endPoint); + // Increment internal Buffer read offset + this._readOffset = endPoint; + return value; + } + /** + * Writes a Buffer to the current write position. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + * + * @return this + */ + insertBuffer(value, offset) { + utils_1.checkOffsetValue(offset); + return this._handleBuffer(value, true, offset); + } + /** + * Writes a Buffer to the current write position. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + * + * @return this + */ + writeBuffer(value, offset) { + return this._handleBuffer(value, false, offset); + } + /** + * Reads a null-terminated Buffer from the current read poisiton. + * + * @return { Buffer } + */ + readBufferNT() { + // Set null character position to the end SmartBuffer instance. + let nullPos = this.length; + // Find next null character (if one is not found, default from above is used) + for (let i = this._readOffset; i < this.length; i++) { + if (this._buff[i] === 0x00) { + nullPos = i; + break; + } + } + // Read value + const value = this._buff.slice(this._readOffset, nullPos); + // Increment internal Buffer read offset + this._readOffset = nullPos + 1; + return value; + } + /** + * Inserts a null-terminated Buffer. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + * + * @return this + */ + insertBufferNT(value, offset) { + utils_1.checkOffsetValue(offset); + // Write Values + this.insertBuffer(value, offset); + this.insertUInt8(0x00, offset + value.length); + return this; + } + /** + * Writes a null-terminated Buffer. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + * + * @return this + */ + writeBufferNT(value, offset) { + // Checks for valid numberic value; + if (typeof offset !== 'undefined') { + utils_1.checkOffsetValue(offset); + } + // Write Values + this.writeBuffer(value, offset); + this.writeUInt8(0x00, typeof offset === 'number' ? offset + value.length : this._writeOffset); + return this; + } + /** + * Clears the SmartBuffer instance to its original empty state. + */ + clear() { + this._writeOffset = 0; + this._readOffset = 0; + this.length = 0; + return this; + } + /** + * Gets the remaining data left to be read from the SmartBuffer instance. + * + * @return { Number } + */ + remaining() { + return this.length - this._readOffset; + } + /** + * Gets the current read offset value of the SmartBuffer instance. + * + * @return { Number } + */ + get readOffset() { + return this._readOffset; + } + /** + * Sets the read offset value of the SmartBuffer instance. + * + * @param offset { Number } - The offset value to set. + */ + set readOffset(offset) { + utils_1.checkOffsetValue(offset); + // Check for bounds. + utils_1.checkTargetOffset(offset, this); + this._readOffset = offset; + } + /** + * Gets the current write offset value of the SmartBuffer instance. + * + * @return { Number } + */ + get writeOffset() { + return this._writeOffset; + } + /** + * Sets the write offset value of the SmartBuffer instance. + * + * @param offset { Number } - The offset value to set. + */ + set writeOffset(offset) { + utils_1.checkOffsetValue(offset); + // Check for bounds. + utils_1.checkTargetOffset(offset, this); + this._writeOffset = offset; + } + /** + * Gets the currently set string encoding of the SmartBuffer instance. + * + * @return { BufferEncoding } The string Buffer encoding currently set. + */ + get encoding() { + return this._encoding; + } + /** + * Sets the string encoding of the SmartBuffer instance. + * + * @param encoding { BufferEncoding } The string Buffer encoding to set. + */ + set encoding(encoding) { + utils_1.checkEncoding(encoding); + this._encoding = encoding; + } + /** + * Gets the underlying internal Buffer. (This includes unmanaged data in the Buffer) + * + * @return { Buffer } The Buffer value. + */ + get internalBuffer() { + return this._buff; + } + /** + * Gets the value of the internal managed Buffer (Includes managed data only) + * + * @param { Buffer } + */ + toBuffer() { + return this._buff.slice(0, this.length); + } + /** + * Gets the String value of the internal managed Buffer + * + * @param encoding { String } The BufferEncoding to display the Buffer as (defaults to instance level encoding). + */ + toString(encoding) { + const encodingVal = typeof encoding === 'string' ? encoding : this._encoding; + // Check for invalid encoding. + utils_1.checkEncoding(encodingVal); + return this._buff.toString(encodingVal, 0, this.length); + } + /** + * Destroys the SmartBuffer instance. + */ + destroy() { + this.clear(); + return this; + } + /** + * Handles inserting and writing strings. + * + * @param value { String } The String value to insert. + * @param isInsert { Boolean } True if inserting a string, false if writing. + * @param arg2 { Number | String } The offset to insert the string at, or the BufferEncoding to use. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + */ + _handleString(value, isInsert, arg3, encoding) { + let offsetVal = this._writeOffset; + let encodingVal = this._encoding; + // Check for offset + if (typeof arg3 === 'number') { + offsetVal = arg3; + // Check for encoding + } + else if (typeof arg3 === 'string') { + utils_1.checkEncoding(arg3); + encodingVal = arg3; + } + // Check for encoding (third param) + if (typeof encoding === 'string') { + utils_1.checkEncoding(encoding); + encodingVal = encoding; + } + // Calculate bytelength of string. + const byteLength = Buffer.byteLength(value, encodingVal); + // Ensure there is enough internal Buffer capacity. + if (isInsert) { + this.ensureInsertable(byteLength, offsetVal); + } + else { + this._ensureWriteable(byteLength, offsetVal); + } + // Write value + this._buff.write(value, offsetVal, byteLength, encodingVal); + // Increment internal Buffer write offset; + if (isInsert) { + this._writeOffset += byteLength; + } + else { + // If an offset was given, check to see if we wrote beyond the current writeOffset. + if (typeof arg3 === 'number') { + this._writeOffset = Math.max(this._writeOffset, offsetVal + byteLength); + } + else { + // If no offset was given, we wrote to the end of the SmartBuffer so increment writeOffset. + this._writeOffset += byteLength; + } + } + return this; + } + /** + * Handles writing or insert of a Buffer. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + */ + _handleBuffer(value, isInsert, offset) { + const offsetVal = typeof offset === 'number' ? offset : this._writeOffset; + // Ensure there is enough internal Buffer capacity. + if (isInsert) { + this.ensureInsertable(value.length, offsetVal); + } + else { + this._ensureWriteable(value.length, offsetVal); + } + // Write buffer value + value.copy(this._buff, offsetVal); + // Increment internal Buffer write offset; + if (isInsert) { + this._writeOffset += value.length; + } + else { + // If an offset was given, check to see if we wrote beyond the current writeOffset. + if (typeof offset === 'number') { + this._writeOffset = Math.max(this._writeOffset, offsetVal + value.length); + } + else { + // If no offset was given, we wrote to the end of the SmartBuffer so increment writeOffset. + this._writeOffset += value.length; + } + } + return this; + } + /** + * Ensures that the internal Buffer is large enough to read data. + * + * @param length { Number } The length of the data that needs to be read. + * @param offset { Number } The offset of the data that needs to be read. + */ + ensureReadable(length, offset) { + // Offset value defaults to managed read offset. + let offsetVal = this._readOffset; + // If an offset was provided, use it. + if (typeof offset !== 'undefined') { + // Checks for valid numberic value; + utils_1.checkOffsetValue(offset); + // Overide with custom offset. + offsetVal = offset; + } + // Checks if offset is below zero, or the offset+length offset is beyond the total length of the managed data. + if (offsetVal < 0 || offsetVal + length > this.length) { + throw new Error(utils_1.ERRORS.INVALID_READ_BEYOND_BOUNDS); + } + } + /** + * Ensures that the internal Buffer is large enough to insert data. + * + * @param dataLength { Number } The length of the data that needs to be written. + * @param offset { Number } The offset of the data to be written. + */ + ensureInsertable(dataLength, offset) { + // Checks for valid numberic value; + utils_1.checkOffsetValue(offset); + // Ensure there is enough internal Buffer capacity. + this._ensureCapacity(this.length + dataLength); + // If an offset was provided and its not the very end of the buffer, copy data into appropriate location in regards to the offset. + if (offset < this.length) { + this._buff.copy(this._buff, offset + dataLength, offset, this._buff.length); + } + // Adjust tracked smart buffer length + if (offset + dataLength > this.length) { + this.length = offset + dataLength; + } + else { + this.length += dataLength; + } + } + /** + * Ensures that the internal Buffer is large enough to write data. + * + * @param dataLength { Number } The length of the data that needs to be written. + * @param offset { Number } The offset of the data to be written (defaults to writeOffset). + */ + _ensureWriteable(dataLength, offset) { + const offsetVal = typeof offset === 'number' ? offset : this._writeOffset; + // Ensure enough capacity to write data. + this._ensureCapacity(offsetVal + dataLength); + // Adjust SmartBuffer length (if offset + length is larger than managed length, adjust length) + if (offsetVal + dataLength > this.length) { + this.length = offsetVal + dataLength; + } + } + /** + * Ensures that the internal Buffer is large enough to write at least the given amount of data. + * + * @param minLength { Number } The minimum length of the data needs to be written. + */ + _ensureCapacity(minLength) { + const oldLength = this._buff.length; + if (minLength > oldLength) { + let data = this._buff; + let newLength = (oldLength * 3) / 2 + 1; + if (newLength < minLength) { + newLength = minLength; + } + this._buff = Buffer.allocUnsafe(newLength); + data.copy(this._buff, 0, 0, oldLength); + } + } + /** + * Reads a numeric number value using the provided function. + * + * @typeparam T { number | bigint } The type of the value to be read + * + * @param func { Function(offset: number) => number } The function to read data on the internal Buffer with. + * @param byteSize { Number } The number of bytes read. + * @param offset { Number } The offset to read from (optional). When this is not provided, the managed readOffset is used instead. + * + * @returns { T } the number value + */ + _readNumberValue(func, byteSize, offset) { + this.ensureReadable(byteSize, offset); + // Call Buffer.readXXXX(); + const value = func.call(this._buff, typeof offset === 'number' ? offset : this._readOffset); + // Adjust internal read offset if an optional read offset was not provided. + if (typeof offset === 'undefined') { + this._readOffset += byteSize; + } + return value; + } + /** + * Inserts a numeric number value based on the given offset and value. + * + * @typeparam T { number | bigint } The type of the value to be written + * + * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with. + * @param byteSize { Number } The number of bytes written. + * @param value { T } The number value to write. + * @param offset { Number } the offset to write the number at (REQUIRED). + * + * @returns SmartBuffer this buffer + */ + _insertNumberValue(func, byteSize, value, offset) { + // Check for invalid offset values. + utils_1.checkOffsetValue(offset); + // Ensure there is enough internal Buffer capacity. (raw offset is passed) + this.ensureInsertable(byteSize, offset); + // Call buffer.writeXXXX(); + func.call(this._buff, value, offset); + // Adjusts internally managed write offset. + this._writeOffset += byteSize; + return this; + } + /** + * Writes a numeric number value based on the given offset and value. + * + * @typeparam T { number | bigint } The type of the value to be written + * + * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with. + * @param byteSize { Number } The number of bytes written. + * @param value { T } The number value to write. + * @param offset { Number } the offset to write the number at (REQUIRED). + * + * @returns SmartBuffer this buffer + */ + _writeNumberValue(func, byteSize, value, offset) { + // If an offset was provided, validate it. + if (typeof offset === 'number') { + // Check if we're writing beyond the bounds of the managed data. + if (offset < 0) { + throw new Error(utils_1.ERRORS.INVALID_WRITE_BEYOND_BOUNDS); + } + utils_1.checkOffsetValue(offset); + } + // Default to writeOffset if no offset value was given. + const offsetVal = typeof offset === 'number' ? offset : this._writeOffset; + // Ensure there is enough internal Buffer capacity. (raw offset is passed) + this._ensureWriteable(byteSize, offsetVal); + func.call(this._buff, value, offsetVal); + // If an offset was given, check to see if we wrote beyond the current writeOffset. + if (typeof offset === 'number') { + this._writeOffset = Math.max(this._writeOffset, offsetVal + byteSize); + } + else { + // If no numeric offset was given, we wrote to the end of the SmartBuffer so increment writeOffset. + this._writeOffset += byteSize; + } + return this; + } +} +exports.SmartBuffer = SmartBuffer; +//# sourceMappingURL=smartbuffer.js.map \ No newline at end of file diff --git a/node_modules/smart-buffer/build/smartbuffer.js.map b/node_modules/smart-buffer/build/smartbuffer.js.map new file mode 100644 index 00000000..b4c68c7a --- /dev/null +++ b/node_modules/smart-buffer/build/smartbuffer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"smartbuffer.js","sourceRoot":"","sources":["../src/smartbuffer.ts"],"names":[],"mappings":";;AAAA,mCAGiB;AAcjB,kDAAkD;AAClD,MAAM,wBAAwB,GAAW,IAAI,CAAC;AAE9C,kEAAkE;AAClE,MAAM,4BAA4B,GAAmB,MAAM,CAAC;AAE5D,MAAM,WAAW;IAQf;;;;OAIG;IACH,YAAY,OAA4B;QAZjC,WAAM,GAAW,CAAC,CAAC;QAElB,cAAS,GAAmB,4BAA4B,CAAC;QAEzD,iBAAY,GAAW,CAAC,CAAC;QACzB,gBAAW,GAAW,CAAC,CAAC;QAQ9B,IAAI,WAAW,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE;YAC7C,sBAAsB;YACtB,IAAI,OAAO,CAAC,QAAQ,EAAE;gBACpB,qBAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;aACnC;YAED,iCAAiC;YACjC,IAAI,OAAO,CAAC,IAAI,EAAE;gBAChB,IAAI,uBAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;oBACrD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBAC/C;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,cAAM,CAAC,wBAAwB,CAAC,CAAC;iBAClD;gBACD,2BAA2B;aAC5B;iBAAM,IAAI,OAAO,CAAC,IAAI,EAAE;gBACvB,IAAI,OAAO,CAAC,IAAI,YAAY,MAAM,EAAE;oBAClC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;oBAC1B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;iBACnC;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,cAAM,CAAC,0BAA0B,CAAC,CAAC;iBACpD;aACF;iBAAM;gBACL,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;aAC3D;SACF;aAAM;YACL,mEAAmE;YACnE,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;gBAClC,MAAM,IAAI,KAAK,CAAC,cAAM,CAAC,0BAA0B,CAAC,CAAC;aACpD;YAED,oCAAoC;YACpC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;SAC3D;IACH,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,QAAyB;QAC5D,OAAO,IAAI,IAAI,CAAC;YACd,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,UAAU,CAAC,IAAY,EAAE,QAAyB;QAC9D,OAAO,IAAI,IAAI,CAAC;YACd,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,OAA2B;QACnD,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,OAA2B;QACrD,MAAM,WAAW,GAAuB,OAAO,CAAC;QAEhD,OAAO,CACL,WAAW;YACX,CAAC,WAAW,CAAC,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,CACzG,CAAC;IACJ,CAAC;IAED,kBAAkB;IAElB;;;;;OAKG;IACH,QAAQ,CAAC,MAAe;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,MAAe;QACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,MAAe;QACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,MAAe;QACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,MAAe;QACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,MAAe;QAC5B,iCAAyB,CAAC,gBAAgB,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,MAAe;QAC5B,iCAAyB,CAAC,gBAAgB,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,KAAa,EAAE,MAAe;QACtC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,KAAa,EAAE,MAAc;QACtC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,KAAa,EAAE,MAAe;QACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAa,EAAE,MAAc;QACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,KAAa,EAAE,MAAe;QACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAa,EAAE,MAAc;QACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,KAAa,EAAE,MAAe;QACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAa,EAAE,MAAc;QACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,KAAa,EAAE,MAAe;QACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAa,EAAE,MAAc;QACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,KAAa,EAAE,MAAe;QAC5C,iCAAyB,CAAC,iBAAiB,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACpF,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CAAC,KAAa,EAAE,MAAc;QAC5C,iCAAyB,CAAC,iBAAiB,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,KAAa,EAAE,MAAe;QAC5C,iCAAyB,CAAC,iBAAiB,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACpF,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CAAC,KAAa,EAAE,MAAc;QAC5C,iCAAyB,CAAC,iBAAiB,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;IAED,oBAAoB;IAEpB;;;;;OAKG;IACH,SAAS,CAAC,MAAe;QACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,MAAe;QAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,MAAe;QAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,MAAe;QAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,MAAe;QAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,MAAe;QAC7B,iCAAyB,CAAC,iBAAiB,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,MAAe;QAC7B,iCAAyB,CAAC,iBAAiB,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,KAAa,EAAE,MAAe;QACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,KAAa,EAAE,MAAc;QACvC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAa,EAAE,MAAe;QAC1C,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,KAAa,EAAE,MAAc;QAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAa,EAAE,MAAe;QAC1C,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,KAAa,EAAE,MAAc;QAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAa,EAAE,MAAe;QAC1C,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,KAAa,EAAE,MAAc;QAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAa,EAAE,MAAe;QAC1C,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,KAAa,EAAE,MAAc;QAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CAAC,KAAa,EAAE,MAAe;QAC7C,iCAAyB,CAAC,kBAAkB,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB,CAAC,KAAa,EAAE,MAAc;QAC7C,iCAAyB,CAAC,kBAAkB,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACtF,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CAAC,KAAa,EAAE,MAAe;QAC7C,iCAAyB,CAAC,kBAAkB,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB,CAAC,KAAa,EAAE,MAAc;QAC7C,iCAAyB,CAAC,kBAAkB,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACtF,CAAC;IAED,iBAAiB;IAEjB;;;;;OAKG;IACH,WAAW,CAAC,MAAe;QACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,MAAe;QACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,KAAa,EAAE,MAAe;QACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAa,EAAE,MAAc;QACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,KAAa,EAAE,MAAe;QACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAa,EAAE,MAAc;QACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED,wBAAwB;IAExB;;;;;OAKG;IACH,YAAY,CAAC,MAAe;QAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,MAAe;QAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAa,EAAE,MAAe;QAC1C,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,KAAa,EAAE,MAAc;QAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAa,EAAE,MAAe;QAC1C,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,KAAa,EAAE,MAAc;QAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC;IAED,UAAU;IAEV;;;;;;;;OAQG;IACH,UAAU,CAAC,IAA8B,EAAE,QAAyB;QAClE,IAAI,SAAS,CAAC;QAEd,kBAAkB;QAClB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,wBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;SAC5D;aAAM;YACL,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;SAC5C;QAED,iBAAiB;QACjB,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACnC,qBAAa,CAAC,QAAQ,CAAC,CAAC;SACzB;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAEpH,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAa,EAAE,MAAc,EAAE,QAAyB;QACnE,wBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;OAQG;IACH,WAAW,CAAC,KAAa,EAAE,IAA8B,EAAE,QAAyB;QAClF,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,QAAyB;QACpC,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACnC,qBAAa,CAAC,QAAQ,CAAC,CAAC;SACzB;QAED,+DAA+D;QAC/D,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,6EAA6E;QAC7E,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;gBAC1B,OAAO,GAAG,CAAC,CAAC;gBACZ,MAAM;aACP;SACF;QAED,oBAAoB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE1D,wCAAwC;QACxC,IAAI,CAAC,WAAW,GAAG,OAAO,GAAG,CAAC,CAAC;QAE/B,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,KAAa,EAAE,MAAc,EAAE,QAAyB;QACrE,wBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzB,eAAe;QACf,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,KAAa,EAAE,IAA8B,EAAE,QAAyB;QACpF,eAAe;QACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;IAEV;;;;;;OAMG;IACH,UAAU,CAAC,MAAe;QACxB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,wBAAgB,CAAC,MAAM,CAAC,CAAC;SAC1B;QAED,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;QAErE,oBAAoB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE3D,wCAAwC;QACxC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,KAAa,EAAE,MAAc;QACxC,wBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,KAAa,EAAE,MAAe;QACxC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,+DAA+D;QAC/D,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,6EAA6E;QAC7E,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;gBAC1B,OAAO,GAAG,CAAC,CAAC;gBACZ,MAAM;aACP;SACF;QAED,aAAa;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE1D,wCAAwC;QACxC,IAAI,CAAC,WAAW,GAAG,OAAO,GAAG,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,KAAa,EAAE,MAAc;QAC1C,wBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzB,eAAe;QACf,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAa,EAAE,MAAe;QAC1C,mCAAmC;QACnC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,wBAAgB,CAAC,MAAM,CAAC,CAAC;SAC1B;QAED,eAAe;QACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9F,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,IAAI,UAAU,CAAC,MAAc;QAC3B,wBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzB,oBAAoB;QACpB,yBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,IAAI,WAAW,CAAC,MAAc;QAC5B,wBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzB,oBAAoB;QACpB,yBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ,CAAC,QAAwB;QACnC,qBAAa,CAAC,QAAQ,CAAC,CAAC;QAExB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,QAAyB;QAChC,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAE7E,8BAA8B;QAC9B,qBAAa,CAAC,WAAW,CAAC,CAAC;QAE3B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACK,aAAa,CACnB,KAAa,EACb,QAAiB,EACjB,IAA8B,EAC9B,QAAyB;QAEzB,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,mBAAmB;QACnB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,SAAS,GAAG,IAAI,CAAC;YACjB,qBAAqB;SACtB;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACnC,qBAAa,CAAC,IAAI,CAAC,CAAC;YACpB,WAAW,GAAG,IAAI,CAAC;SACpB;QAED,mCAAmC;QACnC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,qBAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,WAAW,GAAG,QAAQ,CAAC;SACxB;QAED,kCAAkC;QAClC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAEzD,mDAAmD;QACnD,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;SAC9C;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;SAC9C;QAED,cAAc;QACd,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAE5D,0CAA0C;QAC1C,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC;SACjC;aAAM;YACL,mFAAmF;YACnF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC;aACzE;iBAAM;gBACL,2FAA2F;gBAC3F,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC;aACjC;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,KAAa,EAAE,QAAiB,EAAE,MAAe;QACrE,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAE1E,mDAAmD;QACnD,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;SAChD;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;SAChD;QAED,qBAAqB;QACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAElC,0CAA0C;QAC1C,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC;SACnC;aAAM;YACL,mFAAmF;YACnF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;gBAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;aAC3E;iBAAM;gBACL,2FAA2F;gBAC3F,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC;aACnC;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAC,MAAc,EAAE,MAAe;QACpD,gDAAgD;QAChD,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;QAEjC,qCAAqC;QACrC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,mCAAmC;YACnC,wBAAgB,CAAC,MAAM,CAAC,CAAC;YAEzB,8BAA8B;YAC9B,SAAS,GAAG,MAAM,CAAC;SACpB;QAED,8GAA8G;QAC9G,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,cAAM,CAAC,0BAA0B,CAAC,CAAC;SACpD;IACH,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CAAC,UAAkB,EAAE,MAAc;QACzD,mCAAmC;QACnC,wBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzB,mDAAmD;QACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QAE/C,kIAAkI;QAClI,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7E;QAED,qCAAqC;QACrC,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE;YACrC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;SAC3B;IACH,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CAAC,UAAkB,EAAE,MAAe;QAC1D,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAE1E,wCAAwC;QACxC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;QAE7C,8FAA8F;QAC9F,IAAI,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE;YACxC,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;SACtC;IACH,CAAC;IAED;;;;OAIG;IACK,eAAe,CAAC,SAAiB;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAEpC,IAAI,SAAS,GAAG,SAAS,EAAE;YACzB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACtB,IAAI,SAAS,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,SAAS,GAAG,SAAS,EAAE;gBACzB,SAAS,GAAG,SAAS,CAAC;aACvB;YACD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAE3C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;SACxC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,gBAAgB,CAAI,IAA2B,EAAE,QAAgB,EAAE,MAAe;QACxF,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEtC,0BAA0B;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE5F,2EAA2E;QAC3E,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC;SAC9B;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;OAWG;IACK,kBAAkB,CACxB,IAA2C,EAC3C,QAAgB,EAChB,KAAQ,EACR,MAAc;QAEd,mCAAmC;QACnC,wBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzB,0EAA0E;QAC1E,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAExC,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAErC,2CAA2C;QAC3C,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;OAWG;IACK,iBAAiB,CACvB,IAA2C,EAC3C,QAAgB,EAChB,KAAQ,EACR,MAAe;QAEf,0CAA0C;QAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,gEAAgE;YAChE,IAAI,MAAM,GAAG,CAAC,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,cAAM,CAAC,2BAA2B,CAAC,CAAC;aACrD;YAED,wBAAgB,CAAC,MAAM,CAAC,CAAC;SAC1B;QAED,uDAAuD;QACvD,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAE1E,0EAA0E;QAC1E,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAExC,mFAAmF;QACnF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;SACvE;aAAM;YACL,mGAAmG;YACnG,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC;SAC/B;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAE4B,kCAAW"} \ No newline at end of file diff --git a/node_modules/smart-buffer/build/utils.js b/node_modules/smart-buffer/build/utils.js new file mode 100644 index 00000000..6d559812 --- /dev/null +++ b/node_modules/smart-buffer/build/utils.js @@ -0,0 +1,108 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const buffer_1 = require("buffer"); +/** + * Error strings + */ +const ERRORS = { + INVALID_ENCODING: 'Invalid encoding provided. Please specify a valid encoding the internal Node.js Buffer supports.', + INVALID_SMARTBUFFER_SIZE: 'Invalid size provided. Size must be a valid integer greater than zero.', + INVALID_SMARTBUFFER_BUFFER: 'Invalid Buffer provided in SmartBufferOptions.', + INVALID_SMARTBUFFER_OBJECT: 'Invalid SmartBufferOptions object supplied to SmartBuffer constructor or factory methods.', + INVALID_OFFSET: 'An invalid offset value was provided.', + INVALID_OFFSET_NON_NUMBER: 'An invalid offset value was provided. A numeric value is required.', + INVALID_LENGTH: 'An invalid length value was provided.', + INVALID_LENGTH_NON_NUMBER: 'An invalid length value was provived. A numeric value is required.', + INVALID_TARGET_OFFSET: 'Target offset is beyond the bounds of the internal SmartBuffer data.', + INVALID_TARGET_LENGTH: 'Specified length value moves cursor beyong the bounds of the internal SmartBuffer data.', + INVALID_READ_BEYOND_BOUNDS: 'Attempted to read beyond the bounds of the managed data.', + INVALID_WRITE_BEYOND_BOUNDS: 'Attempted to write beyond the bounds of the managed data.' +}; +exports.ERRORS = ERRORS; +/** + * Checks if a given encoding is a valid Buffer encoding. (Throws an exception if check fails) + * + * @param { String } encoding The encoding string to check. + */ +function checkEncoding(encoding) { + if (!buffer_1.Buffer.isEncoding(encoding)) { + throw new Error(ERRORS.INVALID_ENCODING); + } +} +exports.checkEncoding = checkEncoding; +/** + * Checks if a given number is a finite integer. (Throws an exception if check fails) + * + * @param { Number } value The number value to check. + */ +function isFiniteInteger(value) { + return typeof value === 'number' && isFinite(value) && isInteger(value); +} +exports.isFiniteInteger = isFiniteInteger; +/** + * Checks if an offset/length value is valid. (Throws an exception if check fails) + * + * @param value The value to check. + * @param offset True if checking an offset, false if checking a length. + */ +function checkOffsetOrLengthValue(value, offset) { + if (typeof value === 'number') { + // Check for non finite/non integers + if (!isFiniteInteger(value) || value < 0) { + throw new Error(offset ? ERRORS.INVALID_OFFSET : ERRORS.INVALID_LENGTH); + } + } + else { + throw new Error(offset ? ERRORS.INVALID_OFFSET_NON_NUMBER : ERRORS.INVALID_LENGTH_NON_NUMBER); + } +} +/** + * Checks if a length value is valid. (Throws an exception if check fails) + * + * @param { Number } length The value to check. + */ +function checkLengthValue(length) { + checkOffsetOrLengthValue(length, false); +} +exports.checkLengthValue = checkLengthValue; +/** + * Checks if a offset value is valid. (Throws an exception if check fails) + * + * @param { Number } offset The value to check. + */ +function checkOffsetValue(offset) { + checkOffsetOrLengthValue(offset, true); +} +exports.checkOffsetValue = checkOffsetValue; +/** + * Checks if a target offset value is out of bounds. (Throws an exception if check fails) + * + * @param { Number } offset The offset value to check. + * @param { SmartBuffer } buff The SmartBuffer instance to check against. + */ +function checkTargetOffset(offset, buff) { + if (offset < 0 || offset > buff.length) { + throw new Error(ERRORS.INVALID_TARGET_OFFSET); + } +} +exports.checkTargetOffset = checkTargetOffset; +/** + * Determines whether a given number is a integer. + * @param value The number to check. + */ +function isInteger(value) { + return typeof value === 'number' && isFinite(value) && Math.floor(value) === value; +} +/** + * Throws if Node.js version is too low to support bigint + */ +function bigIntAndBufferInt64Check(bufferMethod) { + if (typeof BigInt === 'undefined') { + throw new Error('Platform does not support JS BigInt type.'); + } + if (typeof buffer_1.Buffer.prototype[bufferMethod] === 'undefined') { + throw new Error(`Platform does not support Buffer.prototype.${bufferMethod}.`); + } +} +exports.bigIntAndBufferInt64Check = bigIntAndBufferInt64Check; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/node_modules/smart-buffer/build/utils.js.map b/node_modules/smart-buffer/build/utils.js.map new file mode 100644 index 00000000..fc7388d3 --- /dev/null +++ b/node_modules/smart-buffer/build/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AACA,mCAAgC;AAEhC;;GAEG;AACH,MAAM,MAAM,GAAG;IACb,gBAAgB,EAAE,kGAAkG;IACpH,wBAAwB,EAAE,wEAAwE;IAClG,0BAA0B,EAAE,gDAAgD;IAC5E,0BAA0B,EAAE,2FAA2F;IACvH,cAAc,EAAE,uCAAuC;IACvD,yBAAyB,EAAE,oEAAoE;IAC/F,cAAc,EAAE,uCAAuC;IACvD,yBAAyB,EAAE,oEAAoE;IAC/F,qBAAqB,EAAE,sEAAsE;IAC7F,qBAAqB,EAAE,yFAAyF;IAChH,0BAA0B,EAAE,0DAA0D;IACtF,2BAA2B,EAAE,2DAA2D;CACzF,CAAC;AAuGA,wBAAM;AArGR;;;;GAIG;AACH,SAAS,aAAa,CAAC,QAAwB;IAC7C,IAAI,CAAC,eAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KAC1C;AACH,CAAC;AA4F0B,sCAAa;AA1FxC;;;;GAIG;AACH,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AAmFS,0CAAe;AAjFzB;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,KAAU,EAAE,MAAe;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,oCAAoC;QACpC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;SACzE;KACF;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;KAC/F;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAAW;IACnC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AA0DC,4CAAgB;AAxDlB;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAAW;IACnC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAgDyC,4CAAgB;AA9C1D;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,MAAc,EAAE,IAAiB;IAC1D,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;KAC/C;AACH,CAAC;AAqCmB,8CAAiB;AAnCrC;;;GAGG;AACH,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AACrF,CAAC;AAcD;;GAEG;AACH,SAAS,yBAAyB,CAAC,YAA0B;IAC3D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IAED,IAAI,OAAO,eAAM,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,WAAW,EAAE;QACzD,MAAM,IAAI,KAAK,CAAC,8CAA8C,YAAY,GAAG,CAAC,CAAC;KAChF;AACH,CAAC;AAIsC,8DAAyB"} \ No newline at end of file diff --git a/node_modules/smart-buffer/docs/CHANGELOG.md b/node_modules/smart-buffer/docs/CHANGELOG.md new file mode 100644 index 00000000..1199a4d6 --- /dev/null +++ b/node_modules/smart-buffer/docs/CHANGELOG.md @@ -0,0 +1,70 @@ +# Change Log +## 4.1.0 +> Released 07/24/2019 +* Adds int64 support for node v12+ +* Drops support for node v4 + +## 4.0 +> Released 10/21/2017 +* Major breaking changes arriving in v4. + +### New Features +* Ability to read data from a specific offset. ex: readInt8(5) +* Ability to write over data when an offset is given (see breaking changes) ex: writeInt8(5, 0); +* Ability to set internal read and write offsets. + + + +### Breaking Changes + +* Old constructor patterns have been completely removed. It's now required to use the SmartBuffer.fromXXX() factory constructors. Read more on the v4 docs. +* rewind(), skip(), moveTo() have been removed. +* Internal private properties are now prefixed with underscores (_). +* **All** writeXXX() methods that are given an offset will now **overwrite data** instead of insert +* insertXXX() methods have been added for when you want to insert data at a specific offset (this replaces the old behavior of writeXXX() when an offset was provided) + + +### Other Changes +* Standardizd error messaging +* Standardized offset/length bounds and sanity checking +* General overall cleanup of code. + +## 3.0.3 +> Released 02/19/2017 +* Adds missing type definitions for some internal functions. + +## 3.0.2 +> Released 02/17/2017 + +### Bug Fixes +* Fixes a bug where using readString with a length of zero resulted in reading the remaining data instead of returning an empty string. (Fixed by Seldszar) + +## 3.0.1 +> Released 02/15/2017 + +### Bug Fixes +* Fixes a bug leftover from the TypeScript refactor where .readIntXXX() resulted in .readUIntXXX() being called by mistake. + +## 3.0 +> Released 02/12/2017 + +### Bug Fixes +* readUIntXXXX() methods will now throw an exception if they attempt to read beyond the bounds of the valid buffer data available. + * **Note** This is technically a breaking change, so version is bumped to 3.x. + +## 2.0 +> Relased 01/30/2017 + +### New Features: + +* Entire package re-written in TypeScript (2.1) +* Backwards compatibility is preserved for now +* New factory methods for creating SmartBuffer instances + * SmartBuffer.fromSize() + * SmartBuffer.fromBuffer() + * SmartBuffer.fromOptions() +* New SmartBufferOptions constructor options +* Added additional tests + +### Bug Fixes: +* Fixes a bug where reading null terminated strings may result in an exception. diff --git a/node_modules/smart-buffer/docs/README_v3.md b/node_modules/smart-buffer/docs/README_v3.md new file mode 100644 index 00000000..b7c48b8b --- /dev/null +++ b/node_modules/smart-buffer/docs/README_v3.md @@ -0,0 +1,367 @@ +smart-buffer [![Build Status](https://travis-ci.org/JoshGlazebrook/smart-buffer.svg?branch=master)](https://travis-ci.org/JoshGlazebrook/smart-buffer) [![Coverage Status](https://coveralls.io/repos/github/JoshGlazebrook/smart-buffer/badge.svg?branch=master)](https://coveralls.io/github/JoshGlazebrook/smart-buffer?branch=master) +============= + +smart-buffer is a light Buffer wrapper that takes away the need to keep track of what position to read and write data to and from the underlying Buffer. It also adds null terminating string operations and **grows** as you add more data. + +![stats](https://nodei.co/npm/smart-buffer.png?downloads=true&downloadRank=true&stars=true "stats") + +### What it's useful for: + +I created smart-buffer because I wanted to simplify the process of using Buffer for building and reading network packets to send over a socket. Rather than having to keep track of which position I need to write a UInt16 to after adding a string of variable length, I simply don't have to. + +Key Features: +* Proxies all of the Buffer write and read functions. +* Keeps track of read and write positions for you. +* Grows the internal Buffer as you add data to it. +* Useful string operations. (Null terminating strings) +* Allows for inserting values at specific points in the internal Buffer. +* Built in TypeScript +* Type Definitions Provided + +Requirements: +* Node v4.0+ is supported at this time. (Versions prior to 2.0 will work on node 0.10) + + +#### Note: +smart-buffer can be used for writing to an underlying buffer as well as reading from it. It however does not function correctly if you're mixing both read and write operations with each other. + +## Breaking Changes with 2.0 +The latest version (2.0+) is written in TypeScript, and are compiled to ES6 Javascript. This means the earliest Node.js it supports will be 4.x (in strict mode.) If you're using version 6 and above it will work without any issues. From an API standpoint, 2.0 is backwards compatible. The only difference is SmartBuffer is not exported directly as the root module. + +## Breaking Changes with 3.0 +Starting with 3.0, if any of the readIntXXXX() methods are called and the requested data is larger than the bounds of the internally managed valid buffer data, an exception will now be thrown. + +## Installing: + +`npm install smart-buffer` + +or + +`yarn add smart-buffer` + +Note: The published NPM package includes the built javascript library. +If you cloned this repo and wish to build the library manually use: + +`tsc -p ./` + +## Using smart-buffer + +### Example + +Say you were building a packet that had to conform to the following protocol: + +`[PacketType:2][PacketLength:2][Data:XX]` + +To build this packet using the vanilla Buffer class, you would have to count up the length of the data payload beforehand. You would also need to keep track of the current "cursor" position in your Buffer so you write everything in the right places. With smart-buffer you don't have to do either of those things. + +```javascript +// 1.x (javascript) +var SmartBuffer = require('smart-buffer'); + +// 1.x (typescript) +import SmartBuffer = require('smart-buffer'); + +// 2.x+ (javascript) +const SmartBuffer = require('smart-buffer').SmartBuffer; + +// 2.x+ (typescript) +import { SmartBuffer, SmartBufferOptions} from 'smart-buffer'; + +function createLoginPacket(username, password, age, country) { + let packet = new SmartBuffer(); + packet.writeUInt16LE(0x0060); // Login Packet Type/ID + packet.writeStringNT(username); + packet.writeStringNT(password); + packet.writeUInt8(age); + packet.writeStringNT(country); + packet.writeUInt16LE(packet.length - 2, 2); + + return packet.toBuffer(); +} +``` +With the above function, you now can do this: +```javascript +let login = createLoginPacket("Josh", "secret123", 22, "United States"); + +// +``` +Notice that the `[PacketLength:2]` part of the packet was inserted after we had added everything else, and as shown in the Buffer dump above, is in the correct location along with everything else. + +Reading back the packet we created above is just as easy: +```javascript + +let reader = SmartBuffer.fromBuffer(login); + +let logininfo = { + packetType: reader.readUInt16LE(), + packetLength: reader.readUInt16LE(), + username: reader.readStringNT(), + password: reader.readStringNT(), + age: reader.readUInt8(), + country: reader.readStringNT() +}; + +/* +{ + packetType: 96, (0x0060) + packetLength: 30, + username: 'Josh', + password: 'secret123', + age: 22, + country: 'United States' +}; +*/ +``` + +# Api Reference: + +### Constructing a smart-buffer + +smart-buffer has a few different ways to construct an instance. Starting with version 2.0, the following factory methods are preffered. + +```javascript +let SmartBuffer = require('smart-buffer'); + +// Creating SmartBuffer from existing Buffer +let buff = SmartBuffer.fromBuffer(buffer); // Creates instance from buffer. (Uses default utf8 encoding) +let buff = SmartBuffer.fromBuffer(buffer, 'ascii'); // Creates instance from buffer with ascii encoding for Strings. + +// Creating SmartBuffer with specified internal Buffer size. +let buff = SmartBuffer.fromSize(1024); // Creates instance with internal Buffer size of 1024. +let buff = SmartBuffer.fromSize(1024, 'utf8'); // Creates instance with intenral Buffer size of 1024, and utf8 encoding. + +// Creating SmartBuffer with options object. This one specifies size and encoding. +let buff = SmartBuffer.fromOptions({ + size: 1024, + encoding: 'ascii' +}); + +// Creating SmartBuffer with options object. This one specified an existing Buffer. +let buff = SmartBuffer.fromOptions({ + buff: buffer +}); + +// Just want a regular SmartBuffer with all default options? +let buff = new SmartBuffer(); +``` + +## Backwards Compatibility: + +All constructors used prior to 2.0 still are supported. However it's not recommended to use these. + +```javascript +let writer = new SmartBuffer(); // Defaults to utf8, 4096 length internal Buffer. +let writer = new SmartBuffer(1024); // Defaults to utf8, 1024 length internal Buffer. +let writer = new SmartBuffer('ascii'); // Sets to ascii encoding, 4096 length internal buffer. +let writer = new SmartBuffer(1024, 'ascii'); // Sets to ascii encoding, 1024 length internal buffer. +``` + +## Reading Data + +smart-buffer supports all of the common read functions you will find in the vanilla Buffer class. The only difference is, you do not need to specify which location to start reading from. This is possible because as you read data out of a smart-buffer, it automatically progresses an internal read offset/position to know where to pick up from on the next read. + +## Reading Numeric Values + +When numeric values, you simply need to call the function you want, and the data is returned. + +Supported Operations: +* readInt8 +* readInt16BE +* readInt16LE +* readInt32BE +* readInt32LE +* readBigInt64LE +* readBigInt64BE +* readUInt8 +* readUInt16BE +* readUInt16LE +* readUInt32BE +* readUInt32LE +* readBigUInt64LE +* readBigUInt64BE +* readFloatBE +* readFloatLE +* readDoubleBE +* readDoubleLE + +```javascript +let reader = new SmartBuffer(somebuffer); +let num = reader.readInt8(); +``` + +## Reading String Values + +When reading String values, you can either choose to read a null terminated string, or a string of a specified length. + +### SmartBuffer.readStringNT( [encoding] ) +> `String` **String encoding to use** - Defaults to the encoding set in the constructor. + +returns `String` + +> Note: When readStringNT is called and there is no null character found, smart-buffer will read to the end of the internal Buffer. + +### SmartBuffer.readString( [length] ) +### SmartBuffer.readString( [encoding] ) +### SmartBuffer.readString( [length], [encoding] ) +> `Number` **Length of the string to read** + +> `String` **String encoding to use** - Defaults to the encoding set in the constructor, or utf8. + +returns `String` + +> Note: When readString is called without a specified length, smart-buffer will read to the end of the internal Buffer. + + + +## Reading Buffer Values + +### SmartBuffer.readBuffer( length ) +> `Number` **Length of data to read into a Buffer** + +returns `Buffer` + +> Note: This function uses `slice` to retrieve the Buffer. + + +### SmartBuffer.readBufferNT() + +returns `Buffer` + +> Note: This reads the next sequence of bytes in the buffer until a null (0x00) value is found. (Null terminated buffer) +> Note: This function uses `slice` to retrieve the Buffer. + + +## Writing Data + +smart-buffer supports all of the common write functions you will find in the vanilla Buffer class. The only difference is, you do not need to specify which location to write to in your Buffer by default. You do however have the option of **inserting** a piece of data into your smart-buffer at a given location. + + +## Writing Numeric Values + + +For numeric values, you simply need to call the function you want, and the data is written at the end of the internal Buffer's current write position. You can specify a offset/position to **insert** the given value at, but keep in mind this does not override data at the given position. This feature also does not work properly when inserting a value beyond the current internal length of the smart-buffer (length being the .length property of the smart-buffer instance you're writing to) + +Supported Operations: +* writeInt8 +* writeInt16BE +* writeInt16LE +* writeInt32BE +* writeInt32LE +* writeBigInt64BE +* writeBigInt64LE +* writeUInt8 +* writeUInt16BE +* writeUInt16LE +* writeUInt32BE +* writeUInt32LE +* writeBigUInt64BE +* writeBigUInt64LE +* writeFloatBE +* writeFloatLE +* writeDoubleBE +* writeDoubleLE + +The following signature is the same for all the above functions: + +### SmartBuffer.writeInt8( value, [offset] ) +> `Number` **A valid Int8 number** + +> `Number` **The position to insert this value at** + +returns this + +> Note: All write operations return `this` to allow for chaining. + +## Writing String Values + +When reading String values, you can either choose to write a null terminated string, or a non null terminated string. + +### SmartBuffer.writeStringNT( value, [offset], [encoding] ) +### SmartBuffer.writeStringNT( value, [offset] ) +### SmartBuffer.writeStringNT( value, [encoding] ) +> `String` **String value to write** + +> `Number` **The position to insert this String at** + +> `String` **The String encoding to use.** - Defaults to the encoding set in the constructor, or utf8. + +returns this + +### SmartBuffer.writeString( value, [offset], [encoding] ) +### SmartBuffer.writeString( value, [offset] ) +### SmartBuffer.writeString( value, [encoding] ) +> `String` **String value to write** + +> `Number` **The position to insert this String at** + +> `String` **The String encoding to use** - Defaults to the encoding set in the constructor, or utf8. + +returns this + + +## Writing Buffer Values + +### SmartBuffer.writeBuffer( value, [offset] ) +> `Buffer` **Buffer value to write** + +> `Number` **The position to insert this Buffer's content at** + +returns this + +### SmartBuffer.writeBufferNT( value, [offset] ) +> `Buffer` **Buffer value to write** + +> `Number` **The position to insert this Buffer's content at** + +returns this + + +## Utility Functions + +### SmartBuffer.clear() +Resets the SmartBuffer to its default state where it can be reused for reading or writing. + +### SmartBuffer.remaining() + +returns `Number` The amount of data left to read based on the current read Position. + +### SmartBuffer.skip( value ) +> `Number` **The amount of bytes to skip ahead** + +Skips the read position ahead by the given value. + +returns this + +### SmartBuffer.rewind( value ) +> `Number` **The amount of bytes to reward backwards** + +Rewinds the read position backwards by the given value. + +returns this + +### SmartBuffer.moveTo( position ) +> `Number` **The point to skip the read position to** + +Moves the read position to the given point. +returns this + +### SmartBuffer.toBuffer() + +returns `Buffer` A Buffer containing the contents of the internal Buffer. + +> Note: This uses the slice function. + +### SmartBuffer.toString( [encoding] ) +> `String` **The String encoding to use** - Defaults to the encoding set in the constructor, or utf8. + +returns `String` The internal Buffer in String representation. + +## Properties + +### SmartBuffer.length + +returns `Number` **The length of the data that is being tracked in the internal Buffer** - Does NOT return the absolute length of the internal Buffer being written to. + +## License + +This work is licensed under the [MIT license](http://en.wikipedia.org/wiki/MIT_License). \ No newline at end of file diff --git a/node_modules/smart-buffer/docs/ROADMAP.md b/node_modules/smart-buffer/docs/ROADMAP.md new file mode 100644 index 00000000..e69de29b diff --git a/node_modules/smart-buffer/package.json b/node_modules/smart-buffer/package.json new file mode 100644 index 00000000..da98566e --- /dev/null +++ b/node_modules/smart-buffer/package.json @@ -0,0 +1,104 @@ +{ + "_from": "smart-buffer@^4.1.0", + "_id": "smart-buffer@4.1.0", + "_inBundle": false, + "_integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", + "_location": "/smart-buffer", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "smart-buffer@^4.1.0", + "name": "smart-buffer", + "escapedName": "smart-buffer", + "rawSpec": "^4.1.0", + "saveSpec": null, + "fetchSpec": "^4.1.0" + }, + "_requiredBy": [ + "/prismarine-chunk" + ], + "_resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", + "_shasum": "91605c25d91652f4661ea69ccf45f1b331ca21ba", + "_spec": "smart-buffer@^4.1.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\prismarine-chunk", + "author": { + "name": "Josh Glazebrook" + }, + "bugs": { + "url": "https://github.com/JoshGlazebrook/smart-buffer/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.", + "devDependencies": { + "@types/chai": "4.1.7", + "@types/mocha": "5.2.7", + "@types/node": "^12.0.0", + "chai": "4.2.0", + "coveralls": "3.0.5", + "istanbul": "^0.4.5", + "mocha": "6.2.0", + "mocha-lcov-reporter": "^1.3.0", + "nyc": "14.1.1", + "source-map-support": "0.5.12", + "ts-node": "8.3.0", + "tslint": "5.18.0", + "typescript": "^3.2.1" + }, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + }, + "homepage": "https://github.com/JoshGlazebrook/smart-buffer/", + "keywords": [ + "buffer", + "smart", + "packet", + "serialize", + "network", + "cursor", + "simple" + ], + "license": "MIT", + "main": "build/smartbuffer.js", + "name": "smart-buffer", + "nyc": { + "extension": [ + ".ts", + ".tsx" + ], + "include": [ + "src/*.ts", + "src/**/*.ts" + ], + "exclude": [ + "**.*.d.ts", + "node_modules", + "typings" + ], + "require": [ + "ts-node/register" + ], + "reporter": [ + "json", + "html" + ], + "all": true + }, + "repository": { + "type": "git", + "url": "git+https://github.com/JoshGlazebrook/smart-buffer.git" + }, + "scripts": { + "build": "tsc -p ./", + "coverage": "NODE_ENV=test nyc npm test", + "coveralls": "NODE_ENV=test nyc npm test && nyc report --reporter=text-lcov | coveralls", + "lint": "tslint --type-check --project tsconfig.json 'src/**/*.ts'", + "prepublish": "npm install -g typescript && npm run build", + "test": "NODE_ENV=test mocha --recursive --require ts-node/register test/**/*.ts" + }, + "typings": "typings/smartbuffer.d.ts", + "version": "4.1.0" +} diff --git a/node_modules/smart-buffer/typings/smartbuffer.d.ts b/node_modules/smart-buffer/typings/smartbuffer.d.ts new file mode 100644 index 00000000..d07379b2 --- /dev/null +++ b/node_modules/smart-buffer/typings/smartbuffer.d.ts @@ -0,0 +1,755 @@ +/// +/** + * Object interface for constructing new SmartBuffer instances. + */ +interface SmartBufferOptions { + encoding?: BufferEncoding; + size?: number; + buff?: Buffer; +} +declare class SmartBuffer { + length: number; + private _encoding; + private _buff; + private _writeOffset; + private _readOffset; + /** + * Creates a new SmartBuffer instance. + * + * @param options { SmartBufferOptions } The SmartBufferOptions to apply to this instance. + */ + constructor(options?: SmartBufferOptions); + /** + * Creates a new SmartBuffer instance with the provided internal Buffer size and optional encoding. + * + * @param size { Number } The size of the internal Buffer. + * @param encoding { String } The BufferEncoding to use for strings. + * + * @return { SmartBuffer } + */ + static fromSize(size: number, encoding?: BufferEncoding): SmartBuffer; + /** + * Creates a new SmartBuffer instance with the provided Buffer and optional encoding. + * + * @param buffer { Buffer } The Buffer to use as the internal Buffer value. + * @param encoding { String } The BufferEncoding to use for strings. + * + * @return { SmartBuffer } + */ + static fromBuffer(buff: Buffer, encoding?: BufferEncoding): SmartBuffer; + /** + * Creates a new SmartBuffer instance with the provided SmartBufferOptions options. + * + * @param options { SmartBufferOptions } The options to use when creating the SmartBuffer instance. + */ + static fromOptions(options: SmartBufferOptions): SmartBuffer; + /** + * Type checking function that determines if an object is a SmartBufferOptions object. + */ + static isSmartBufferOptions(options: SmartBufferOptions): options is SmartBufferOptions; + /** + * Reads an Int8 value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt8(offset?: number): number; + /** + * Reads an Int16BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt16BE(offset?: number): number; + /** + * Reads an Int16LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt16LE(offset?: number): number; + /** + * Reads an Int32BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt32BE(offset?: number): number; + /** + * Reads an Int32LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt32LE(offset?: number): number; + /** + * Reads a BigInt64BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { BigInt } + */ + readBigInt64BE(offset?: number): bigint; + /** + * Reads a BigInt64LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { BigInt } + */ + readBigInt64LE(offset?: number): bigint; + /** + * Writes an Int8 value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt8(value: number, offset?: number): SmartBuffer; + /** + * Inserts an Int8 value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt8(value: number, offset: number): SmartBuffer; + /** + * Writes an Int16BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt16BE(value: number, offset?: number): SmartBuffer; + /** + * Inserts an Int16BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt16BE(value: number, offset: number): SmartBuffer; + /** + * Writes an Int16LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt16LE(value: number, offset?: number): SmartBuffer; + /** + * Inserts an Int16LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt16LE(value: number, offset: number): SmartBuffer; + /** + * Writes an Int32BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt32BE(value: number, offset?: number): SmartBuffer; + /** + * Inserts an Int32BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt32BE(value: number, offset: number): SmartBuffer; + /** + * Writes an Int32LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt32LE(value: number, offset?: number): SmartBuffer; + /** + * Inserts an Int32LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt32LE(value: number, offset: number): SmartBuffer; + /** + * Writes a BigInt64BE value to the current write position (or at optional offset). + * + * @param value { BigInt } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeBigInt64BE(value: bigint, offset?: number): SmartBuffer; + /** + * Inserts a BigInt64BE value at the given offset value. + * + * @param value { BigInt } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertBigInt64BE(value: bigint, offset: number): SmartBuffer; + /** + * Writes a BigInt64LE value to the current write position (or at optional offset). + * + * @param value { BigInt } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeBigInt64LE(value: bigint, offset?: number): SmartBuffer; + /** + * Inserts a Int64LE value at the given offset value. + * + * @param value { BigInt } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertBigInt64LE(value: bigint, offset: number): SmartBuffer; + /** + * Reads an UInt8 value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt8(offset?: number): number; + /** + * Reads an UInt16BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt16BE(offset?: number): number; + /** + * Reads an UInt16LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt16LE(offset?: number): number; + /** + * Reads an UInt32BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt32BE(offset?: number): number; + /** + * Reads an UInt32LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt32LE(offset?: number): number; + /** + * Reads a BigUInt64BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { BigInt } + */ + readBigUInt64BE(offset?: number): bigint; + /** + * Reads a BigUInt64LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { BigInt } + */ + readBigUInt64LE(offset?: number): bigint; + /** + * Writes an UInt8 value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt8(value: number, offset?: number): SmartBuffer; + /** + * Inserts an UInt8 value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt8(value: number, offset: number): SmartBuffer; + /** + * Writes an UInt16BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt16BE(value: number, offset?: number): SmartBuffer; + /** + * Inserts an UInt16BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt16BE(value: number, offset: number): SmartBuffer; + /** + * Writes an UInt16LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt16LE(value: number, offset?: number): SmartBuffer; + /** + * Inserts an UInt16LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt16LE(value: number, offset: number): SmartBuffer; + /** + * Writes an UInt32BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt32BE(value: number, offset?: number): SmartBuffer; + /** + * Inserts an UInt32BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt32BE(value: number, offset: number): SmartBuffer; + /** + * Writes an UInt32LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt32LE(value: number, offset?: number): SmartBuffer; + /** + * Inserts an UInt32LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt32LE(value: number, offset: number): SmartBuffer; + /** + * Writes a BigUInt64BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeBigUInt64BE(value: bigint, offset?: number): SmartBuffer; + /** + * Inserts a BigUInt64BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertBigUInt64BE(value: bigint, offset: number): SmartBuffer; + /** + * Writes a BigUInt64LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeBigUInt64LE(value: bigint, offset?: number): SmartBuffer; + /** + * Inserts a BigUInt64LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertBigUInt64LE(value: bigint, offset: number): SmartBuffer; + /** + * Reads an FloatBE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readFloatBE(offset?: number): number; + /** + * Reads an FloatLE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readFloatLE(offset?: number): number; + /** + * Writes a FloatBE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeFloatBE(value: number, offset?: number): SmartBuffer; + /** + * Inserts a FloatBE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertFloatBE(value: number, offset: number): SmartBuffer; + /** + * Writes a FloatLE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeFloatLE(value: number, offset?: number): SmartBuffer; + /** + * Inserts a FloatLE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertFloatLE(value: number, offset: number): SmartBuffer; + /** + * Reads an DoublEBE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readDoubleBE(offset?: number): number; + /** + * Reads an DoubleLE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readDoubleLE(offset?: number): number; + /** + * Writes a DoubleBE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeDoubleBE(value: number, offset?: number): SmartBuffer; + /** + * Inserts a DoubleBE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertDoubleBE(value: number, offset: number): SmartBuffer; + /** + * Writes a DoubleLE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeDoubleLE(value: number, offset?: number): SmartBuffer; + /** + * Inserts a DoubleLE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertDoubleLE(value: number, offset: number): SmartBuffer; + /** + * Reads a String from the current read position. + * + * @param arg1 { Number | String } The number of bytes to read as a String, or the BufferEncoding to use for + * the string (Defaults to instance level encoding). + * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding). + * + * @return { String } + */ + readString(arg1?: number | BufferEncoding, encoding?: BufferEncoding): string; + /** + * Inserts a String + * + * @param value { String } The String value to insert. + * @param offset { Number } The offset to insert the string at. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + * + * @return this + */ + insertString(value: string, offset: number, encoding?: BufferEncoding): SmartBuffer; + /** + * Writes a String + * + * @param value { String } The String value to write. + * @param arg2 { Number | String } The offset to write the string at, or the BufferEncoding to use. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + * + * @return this + */ + writeString(value: string, arg2?: number | BufferEncoding, encoding?: BufferEncoding): SmartBuffer; + /** + * Reads a null-terminated String from the current read position. + * + * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding). + * + * @return { String } + */ + readStringNT(encoding?: BufferEncoding): string; + /** + * Inserts a null-terminated String. + * + * @param value { String } The String value to write. + * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + * + * @return this + */ + insertStringNT(value: string, offset: number, encoding?: BufferEncoding): SmartBuffer; + /** + * Writes a null-terminated String. + * + * @param value { String } The String value to write. + * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + * + * @return this + */ + writeStringNT(value: string, arg2?: number | BufferEncoding, encoding?: BufferEncoding): SmartBuffer; + /** + * Reads a Buffer from the internal read position. + * + * @param length { Number } The length of data to read as a Buffer. + * + * @return { Buffer } + */ + readBuffer(length?: number): Buffer; + /** + * Writes a Buffer to the current write position. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + * + * @return this + */ + insertBuffer(value: Buffer, offset: number): SmartBuffer; + /** + * Writes a Buffer to the current write position. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + * + * @return this + */ + writeBuffer(value: Buffer, offset?: number): SmartBuffer; + /** + * Reads a null-terminated Buffer from the current read poisiton. + * + * @return { Buffer } + */ + readBufferNT(): Buffer; + /** + * Inserts a null-terminated Buffer. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + * + * @return this + */ + insertBufferNT(value: Buffer, offset: number): SmartBuffer; + /** + * Writes a null-terminated Buffer. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + * + * @return this + */ + writeBufferNT(value: Buffer, offset?: number): SmartBuffer; + /** + * Clears the SmartBuffer instance to its original empty state. + */ + clear(): SmartBuffer; + /** + * Gets the remaining data left to be read from the SmartBuffer instance. + * + * @return { Number } + */ + remaining(): number; + /** + * Gets the current read offset value of the SmartBuffer instance. + * + * @return { Number } + */ + /** + * Sets the read offset value of the SmartBuffer instance. + * + * @param offset { Number } - The offset value to set. + */ + readOffset: number; + /** + * Gets the current write offset value of the SmartBuffer instance. + * + * @return { Number } + */ + /** + * Sets the write offset value of the SmartBuffer instance. + * + * @param offset { Number } - The offset value to set. + */ + writeOffset: number; + /** + * Gets the currently set string encoding of the SmartBuffer instance. + * + * @return { BufferEncoding } The string Buffer encoding currently set. + */ + /** + * Sets the string encoding of the SmartBuffer instance. + * + * @param encoding { BufferEncoding } The string Buffer encoding to set. + */ + encoding: BufferEncoding; + /** + * Gets the underlying internal Buffer. (This includes unmanaged data in the Buffer) + * + * @return { Buffer } The Buffer value. + */ + readonly internalBuffer: Buffer; + /** + * Gets the value of the internal managed Buffer (Includes managed data only) + * + * @param { Buffer } + */ + toBuffer(): Buffer; + /** + * Gets the String value of the internal managed Buffer + * + * @param encoding { String } The BufferEncoding to display the Buffer as (defaults to instance level encoding). + */ + toString(encoding?: BufferEncoding): string; + /** + * Destroys the SmartBuffer instance. + */ + destroy(): SmartBuffer; + /** + * Handles inserting and writing strings. + * + * @param value { String } The String value to insert. + * @param isInsert { Boolean } True if inserting a string, false if writing. + * @param arg2 { Number | String } The offset to insert the string at, or the BufferEncoding to use. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + */ + private _handleString; + /** + * Handles writing or insert of a Buffer. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + */ + private _handleBuffer; + /** + * Ensures that the internal Buffer is large enough to read data. + * + * @param length { Number } The length of the data that needs to be read. + * @param offset { Number } The offset of the data that needs to be read. + */ + private ensureReadable; + /** + * Ensures that the internal Buffer is large enough to insert data. + * + * @param dataLength { Number } The length of the data that needs to be written. + * @param offset { Number } The offset of the data to be written. + */ + private ensureInsertable; + /** + * Ensures that the internal Buffer is large enough to write data. + * + * @param dataLength { Number } The length of the data that needs to be written. + * @param offset { Number } The offset of the data to be written (defaults to writeOffset). + */ + private _ensureWriteable; + /** + * Ensures that the internal Buffer is large enough to write at least the given amount of data. + * + * @param minLength { Number } The minimum length of the data needs to be written. + */ + private _ensureCapacity; + /** + * Reads a numeric number value using the provided function. + * + * @typeparam T { number | bigint } The type of the value to be read + * + * @param func { Function(offset: number) => number } The function to read data on the internal Buffer with. + * @param byteSize { Number } The number of bytes read. + * @param offset { Number } The offset to read from (optional). When this is not provided, the managed readOffset is used instead. + * + * @returns { T } the number value + */ + private _readNumberValue; + /** + * Inserts a numeric number value based on the given offset and value. + * + * @typeparam T { number | bigint } The type of the value to be written + * + * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with. + * @param byteSize { Number } The number of bytes written. + * @param value { T } The number value to write. + * @param offset { Number } the offset to write the number at (REQUIRED). + * + * @returns SmartBuffer this buffer + */ + private _insertNumberValue; + /** + * Writes a numeric number value based on the given offset and value. + * + * @typeparam T { number | bigint } The type of the value to be written + * + * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with. + * @param byteSize { Number } The number of bytes written. + * @param value { T } The number value to write. + * @param offset { Number } the offset to write the number at (REQUIRED). + * + * @returns SmartBuffer this buffer + */ + private _writeNumberValue; +} +export { SmartBufferOptions, SmartBuffer }; diff --git a/node_modules/smart-buffer/typings/utils.d.ts b/node_modules/smart-buffer/typings/utils.d.ts new file mode 100644 index 00000000..b32b4d44 --- /dev/null +++ b/node_modules/smart-buffer/typings/utils.d.ts @@ -0,0 +1,66 @@ +/// +import { SmartBuffer } from './smartbuffer'; +import { Buffer } from 'buffer'; +/** + * Error strings + */ +declare const ERRORS: { + INVALID_ENCODING: string; + INVALID_SMARTBUFFER_SIZE: string; + INVALID_SMARTBUFFER_BUFFER: string; + INVALID_SMARTBUFFER_OBJECT: string; + INVALID_OFFSET: string; + INVALID_OFFSET_NON_NUMBER: string; + INVALID_LENGTH: string; + INVALID_LENGTH_NON_NUMBER: string; + INVALID_TARGET_OFFSET: string; + INVALID_TARGET_LENGTH: string; + INVALID_READ_BEYOND_BOUNDS: string; + INVALID_WRITE_BEYOND_BOUNDS: string; +}; +/** + * Checks if a given encoding is a valid Buffer encoding. (Throws an exception if check fails) + * + * @param { String } encoding The encoding string to check. + */ +declare function checkEncoding(encoding: BufferEncoding): void; +/** + * Checks if a given number is a finite integer. (Throws an exception if check fails) + * + * @param { Number } value The number value to check. + */ +declare function isFiniteInteger(value: number): boolean; +/** + * Checks if a length value is valid. (Throws an exception if check fails) + * + * @param { Number } length The value to check. + */ +declare function checkLengthValue(length: any): void; +/** + * Checks if a offset value is valid. (Throws an exception if check fails) + * + * @param { Number } offset The value to check. + */ +declare function checkOffsetValue(offset: any): void; +/** + * Checks if a target offset value is out of bounds. (Throws an exception if check fails) + * + * @param { Number } offset The offset value to check. + * @param { SmartBuffer } buff The SmartBuffer instance to check against. + */ +declare function checkTargetOffset(offset: number, buff: SmartBuffer): void; +interface Buffer { + readBigInt64BE(offset?: number): bigint; + readBigInt64LE(offset?: number): bigint; + readBigUInt64BE(offset?: number): bigint; + readBigUInt64LE(offset?: number): bigint; + writeBigInt64BE(value: bigint, offset?: number): number; + writeBigInt64LE(value: bigint, offset?: number): number; + writeBigUInt64BE(value: bigint, offset?: number): number; + writeBigUInt64LE(value: bigint, offset?: number): number; +} +/** + * Throws if Node.js version is too low to support bigint + */ +declare function bigIntAndBufferInt64Check(bufferMethod: keyof Buffer): void; +export { ERRORS, isFiniteInteger, checkEncoding, checkOffsetValue, checkLengthValue, checkTargetOffset, bigIntAndBufferInt64Check }; diff --git a/node_modules/sprintf-js/CHANGELOG.md b/node_modules/sprintf-js/CHANGELOG.md new file mode 100644 index 00000000..88c33f79 --- /dev/null +++ b/node_modules/sprintf-js/CHANGELOG.md @@ -0,0 +1,17 @@ +## 1.1.2 (NOT YET RELEASED) + +* Update Travis config to test on all LTE Node versions (i.e. 6+) +* Reorganize README; add instructions re polyfills +* Refactor the code +* Upgrade dependencies +* Fix minifying issue with missing semicolons +* Configure .npmignore to reduce package size + + +## 1.1.1 (2017-05-29) + +* This CHANGELOG +* Various optimizations for modern browsers +* Fix %g, %o, %x and %X specifiers +* Use ESLint instead of JSHint +* Add CONTRIBUTORS file diff --git a/node_modules/sprintf-js/CONTRIBUTORS.md b/node_modules/sprintf-js/CONTRIBUTORS.md new file mode 100644 index 00000000..8172f03d --- /dev/null +++ b/node_modules/sprintf-js/CONTRIBUTORS.md @@ -0,0 +1,25 @@ +Alexander Rose [@arose](https://github.com/arose) +Alexandru Mărășteanu [@alexei](https://github.com/alexei) +Andras [@andrasq](https://github.com/andrasq) +Benoit Giannangeli [@giann](https://github.com/giann) +Branden Visser [@mrvisser](https://github.com/mrvisser) +David Baird +daurnimator [@daurnimator](https://github.com/daurnimator) +Doug Beck [@beck](https://github.com/beck) +Dzmitry Litskalau [@litmit](https://github.com/litmit) +Fred Ludlow [@fredludlow](https://github.com/fredludlow) +Hans Pufal +Henry [@alograg](https://github.com/alograg) +Johnny Shields [@johnnyshields](https://github.com/johnnyshields) +Kamal Abdali +Matt Simerson [@msimerson](https://github.com/msimerson) +Maxime Robert [@marob](https://github.com/marob) +MeriemKhelifi [@MeriemKhelifi](https://github.com/MeriemKhelifi) +Michael Schramm [@wodka](https://github.com/wodka) +Nazar Mokrynskyi [@nazar-pc](https://github.com/nazar-pc) +Oliver Salzburg [@oliversalzburg](https://github.com/oliversalzburg) +Pablo [@ppollono](https://github.com/ppollono) +Rabehaja Stevens [@RABEHAJA-STEVENS](https://github.com/RABEHAJA-STEVENS) +Raphael Pigulla [@pigulla](https://github.com/pigulla) +rebeccapeltz [@rebeccapeltz](https://github.com/rebeccapeltz) +Stefan Tingström [@stingstrom](https://github.com/stingstrom) diff --git a/node_modules/sprintf-js/LICENSE b/node_modules/sprintf-js/LICENSE new file mode 100644 index 00000000..83f832a2 --- /dev/null +++ b/node_modules/sprintf-js/LICENSE @@ -0,0 +1,24 @@ +Copyright (c) 2007-present, Alexandru Mărășteanu +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of this software nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/sprintf-js/README.md b/node_modules/sprintf-js/README.md new file mode 100644 index 00000000..cad1e63f --- /dev/null +++ b/node_modules/sprintf-js/README.md @@ -0,0 +1,143 @@ +# sprintf-js + +[![Build Status][travisci-image]][travisci-url] [![NPM Version][npm-image]][npm-url] [![Dependency Status][dependencies-image]][dependencies-url] [![devDependency Status][dev-dependencies-image]][dev-dependencies-url] + +[travisci-image]: https://travis-ci.org/alexei/sprintf.js.svg?branch=master +[travisci-url]: https://travis-ci.org/alexei/sprintf.js + +[npm-image]: https://badge.fury.io/js/sprintf-js.svg +[npm-url]: https://badge.fury.io/js/sprintf-js + +[dependencies-image]: https://david-dm.org/alexei/sprintf.js.svg +[dependencies-url]: https://david-dm.org/alexei/sprintf.js + +[dev-dependencies-image]: https://david-dm.org/alexei/sprintf.js/dev-status.svg +[dev-dependencies-url]: https://david-dm.org/alexei/sprintf.js#info=devDependencies + +**sprintf-js** is a complete open source JavaScript `sprintf` implementation for the **browser** and **Node.js**. + +**Note: as of v1.1.1 you might need some polyfills for older environments. See [Support](#support) section below.** + +## Usage + + var sprintf = require('sprintf-js').sprintf, + vsprintf = require('sprintf-js').vsprintf + + sprintf('%2$s %3$s a %1$s', 'cracker', 'Polly', 'wants') + vsprintf('The first 4 letters of the english alphabet are: %s, %s, %s and %s', ['a', 'b', 'c', 'd']) + +## Installation + +### NPM + + npm install sprintf-js + +### Bower + + bower install sprintf + +## API + +### `sprintf` + +Returns a formatted string: + + string sprintf(string format, mixed arg1?, mixed arg2?, ...) + +### `vsprintf` + +Same as `sprintf` except it takes an array of arguments, rather than a variable number of arguments: + + string vsprintf(string format, array arguments?) + +## Format specification + +The placeholders in the format string are marked by `%` and are followed by one or more of these elements, in this order: + +* An optional number followed by a `$` sign that selects which argument index to use for the value. If not specified, arguments will be placed in the same order as the placeholders in the input string. +* An optional `+` sign that forces to preceed the result with a plus or minus sign on numeric values. By default, only the `-` sign is used on negative numbers. +* An optional padding specifier that says what character to use for padding (if specified). Possible values are `0` or any other character precedeed by a `'` (single quote). The default is to pad with *spaces*. +* An optional `-` sign, that causes `sprintf` to left-align the result of this placeholder. The default is to right-align the result. +* An optional number, that says how many characters the result should have. If the value to be returned is shorter than this number, the result will be padded. When used with the `j` (JSON) type specifier, the padding length specifies the tab size used for indentation. +* An optional precision modifier, consisting of a `.` (dot) followed by a number, that says how many digits should be displayed for floating point numbers. When used with the `g` type specifier, it specifies the number of significant digits. When used on a string, it causes the result to be truncated. +* A type specifier that can be any of: + * `%` — yields a literal `%` character + * `b` — yields an integer as a binary number + * `c` — yields an integer as the character with that ASCII value + * `d` or `i` — yields an integer as a signed decimal number + * `e` — yields a float using scientific notation + * `u` — yields an integer as an unsigned decimal number + * `f` — yields a float as is; see notes on precision above + * `g` — yields a float as is; see notes on precision above + * `o` — yields an integer as an octal number + * `s` — yields a string as is + * `t` — yields `true` or `false` + * `T` — yields the type of the argument1 + * `v` — yields the primitive value of the specified argument + * `x` — yields an integer as a hexadecimal number (lower-case) + * `X` — yields an integer as a hexadecimal number (upper-case) + * `j` — yields a JavaScript object or array as a JSON encoded string + +## Features + +### Argument swapping + +You can also swap the arguments. That is, the order of the placeholders doesn't have to match the order of the arguments. You can do that by simply indicating in the format string which arguments the placeholders refer to: + + sprintf('%2$s %3$s a %1$s', 'cracker', 'Polly', 'wants') + +And, of course, you can repeat the placeholders without having to increase the number of arguments. + +### Named arguments + +Format strings may contain replacement fields rather than positional placeholders. Instead of referring to a certain argument, you can now refer to a certain key within an object. Replacement fields are surrounded by rounded parentheses - `(` and `)` - and begin with a keyword that refers to a key: + + var user = { + name: 'Dolly', + } + sprintf('Hello %(name)s', user) // Hello Dolly + +Keywords in replacement fields can be optionally followed by any number of keywords or indexes: + + var users = [ + {name: 'Dolly'}, + {name: 'Molly'}, + {name: 'Polly'}, + ] + sprintf('Hello %(users[0].name)s, %(users[1].name)s and %(users[2].name)s', {users: users}) // Hello Dolly, Molly and Polly + +Note: mixing positional and named placeholders is not (yet) supported + +### Computed values + +You can pass in a function as a dynamic value and it will be invoked (with no arguments) in order to compute the value on the fly. + + sprintf('Current date and time: %s', function() { return new Date().toString() }) + +### AngularJS + +You can use `sprintf` and `vsprintf` (also aliased as `fmt` and `vfmt` respectively) in your AngularJS projects. See `demo/`. + +## Support + +### Node.js + +`sprintf-js` runs in all active Node versions (4.x+). + +### Browser + +`sprintf-js` should work in all modern browsers. As of v1.1.1, you might need polyfills for the following: + + - `String.prototype.repeat()` (any IE) + - `Array.isArray()` (IE < 9) + - `Object.create()` (IE < 9) + +YMMV + +## License + +**sprintf-js** is licensed under the terms of the 3-clause BSD license. + +## Notes + +1 `sprintf` doesn't use the `typeof` operator. As such, the value `null` is a `null`, an array is an `array` (not an `object`), a date value is a `date` etc. diff --git a/node_modules/sprintf-js/dist/.gitattributes b/node_modules/sprintf-js/dist/.gitattributes new file mode 100644 index 00000000..a837fd38 --- /dev/null +++ b/node_modules/sprintf-js/dist/.gitattributes @@ -0,0 +1,4 @@ +#ignore all generated files from diff +#also skip line ending check +*.js -diff -text +*.map -diff -text diff --git a/node_modules/sprintf-js/dist/angular-sprintf.min.js b/node_modules/sprintf-js/dist/angular-sprintf.min.js new file mode 100644 index 00000000..dedec81b --- /dev/null +++ b/node_modules/sprintf-js/dist/angular-sprintf.min.js @@ -0,0 +1,3 @@ +/*! sprintf-js v1.1.2 | Copyright (c) 2007-present, Alexandru Mărășteanu | BSD-3-Clause */ +!function(){"use strict";angular.module("sprintf",[]).filter("sprintf",function(){return function(){return sprintf.apply(null,arguments)}}).filter("fmt",["$filter",function(t){return t("sprintf")}]).filter("vsprintf",function(){return function(t,n){return vsprintf(t,n)}}).filter("vfmt",["$filter",function(t){return t("vsprintf")}])}(); +//# sourceMappingURL=angular-sprintf.min.js.map diff --git a/node_modules/sprintf-js/dist/angular-sprintf.min.js.map b/node_modules/sprintf-js/dist/angular-sprintf.min.js.map new file mode 100644 index 00000000..d30f1a38 --- /dev/null +++ b/node_modules/sprintf-js/dist/angular-sprintf.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["angular-sprintf.js"],"names":["angular","module","filter","sprintf","apply","arguments","$filter","format","argv","vsprintf"],"mappings":";CAEC,WACG,aAEAA,QACIC,OAAO,UAAW,IAClBC,OAAO,UAAW,WACd,OAAO,WACH,OAAOC,QAAQC,MAAM,KAAMC,cAGnCH,OAAO,MAAO,CAAC,UAAW,SAASI,GAC/B,OAAOA,EAAQ,cAEnBJ,OAAO,WAAY,WACf,OAAO,SAASK,EAAQC,GACpB,OAAOC,SAASF,EAAQC,MAGhCN,OAAO,OAAQ,CAAC,UAAW,SAASI,GAChC,OAAOA,EAAQ,eAnB1B","file":"angular-sprintf.min.js","sourcesContent":["/* global angular, sprintf, vsprintf */\n\n!function() {\n 'use strict'\n\n angular.\n module('sprintf', []).\n filter('sprintf', function() {\n return function() {\n return sprintf.apply(null, arguments)\n }\n }).\n filter('fmt', ['$filter', function($filter) {\n return $filter('sprintf')\n }]).\n filter('vsprintf', function() {\n return function(format, argv) {\n return vsprintf(format, argv)\n }\n }).\n filter('vfmt', ['$filter', function($filter) {\n return $filter('vsprintf')\n }])\n}(); // eslint-disable-line\n"]} \ No newline at end of file diff --git a/node_modules/sprintf-js/dist/sprintf.min.js b/node_modules/sprintf-js/dist/sprintf.min.js new file mode 100644 index 00000000..a3196b88 --- /dev/null +++ b/node_modules/sprintf-js/dist/sprintf.min.js @@ -0,0 +1,3 @@ +/*! sprintf-js v1.1.2 | Copyright (c) 2007-present, Alexandru Mărășteanu | BSD-3-Clause */ +!function(){"use strict";var g={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function y(e){return function(e,t){var r,n,i,s,a,o,p,c,l,u=1,f=e.length,d="";for(n=0;n>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}g.json.test(s.type)?d+=r:(!g.number.test(s.type)||c&&!s.sign?l="":(l=c?"+":"-",r=r.toString().replace(g.sign,"")),o=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",p=s.width-(l+r).length,a=s.width&&0= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n"]} \ No newline at end of file diff --git a/node_modules/sprintf-js/package.json b/node_modules/sprintf-js/package.json new file mode 100644 index 00000000..3ac7d5f7 --- /dev/null +++ b/node_modules/sprintf-js/package.json @@ -0,0 +1,63 @@ +{ + "_from": "sprintf-js@^1.1.2", + "_id": "sprintf-js@1.1.2", + "_inBundle": false, + "_integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "_location": "/sprintf-js", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "sprintf-js@^1.1.2", + "name": "sprintf-js", + "escapedName": "sprintf-js", + "rawSpec": "^1.1.2", + "saveSpec": null, + "fetchSpec": "^1.1.2" + }, + "_requiredBy": [ + "/prismarine-chat" + ], + "_resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "_shasum": "da1765262bf8c0f571749f2ad6c26300207ae673", + "_spec": "sprintf-js@^1.1.2", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\prismarine-chat", + "author": { + "name": "Alexandru Mărășteanu", + "email": "hello@alexei.ro" + }, + "bugs": { + "url": "https://github.com/alexei/sprintf.js/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "JavaScript sprintf implementation", + "devDependencies": { + "benchmark": "^2.1.4", + "eslint": "^5.10.0", + "gulp": "^3.9.1", + "gulp-benchmark": "^1.1.1", + "gulp-eslint": "^5.0.0", + "gulp-header": "^2.0.5", + "gulp-mocha": "^6.0.0", + "gulp-rename": "^1.4.0", + "gulp-sourcemaps": "^2.6.4", + "gulp-uglify": "^3.0.1", + "mocha": "^5.2.0" + }, + "homepage": "https://github.com/alexei/sprintf.js#readme", + "license": "BSD-3-Clause", + "main": "src/sprintf.js", + "name": "sprintf-js", + "repository": { + "type": "git", + "url": "git+https://github.com/alexei/sprintf.js.git" + }, + "scripts": { + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "pretest": "npm run lint", + "test": "mocha test/*.js" + }, + "version": "1.1.2" +} diff --git a/node_modules/sprintf-js/src/angular-sprintf.js b/node_modules/sprintf-js/src/angular-sprintf.js new file mode 100644 index 00000000..dbfdd65a --- /dev/null +++ b/node_modules/sprintf-js/src/angular-sprintf.js @@ -0,0 +1,24 @@ +/* global angular, sprintf, vsprintf */ + +!function() { + 'use strict' + + angular. + module('sprintf', []). + filter('sprintf', function() { + return function() { + return sprintf.apply(null, arguments) + } + }). + filter('fmt', ['$filter', function($filter) { + return $filter('sprintf') + }]). + filter('vsprintf', function() { + return function(format, argv) { + return vsprintf(format, argv) + } + }). + filter('vfmt', ['$filter', function($filter) { + return $filter('vsprintf') + }]) +}(); // eslint-disable-line diff --git a/node_modules/sprintf-js/src/sprintf.js b/node_modules/sprintf-js/src/sprintf.js new file mode 100644 index 00000000..65d63246 --- /dev/null +++ b/node_modules/sprintf-js/src/sprintf.js @@ -0,0 +1,231 @@ +/* global window, exports, define */ + +!function() { + 'use strict' + + var re = { + not_string: /[^s]/, + not_bool: /[^t]/, + not_type: /[^T]/, + not_primitive: /[^v]/, + number: /[diefg]/, + numeric_arg: /[bcdiefguxX]/, + json: /[j]/, + not_json: /[^j]/, + text: /^[^\x25]+/, + modulo: /^\x25{2}/, + placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, + key: /^([a-z_][a-z_\d]*)/i, + key_access: /^\.([a-z_][a-z_\d]*)/i, + index_access: /^\[(\d+)\]/, + sign: /^[+-]/ + } + + function sprintf(key) { + // `arguments` is not an array, but should be fine for this call + return sprintf_format(sprintf_parse(key), arguments) + } + + function vsprintf(fmt, argv) { + return sprintf.apply(null, [fmt].concat(argv || [])) + } + + function sprintf_format(parse_tree, argv) { + var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign + for (i = 0; i < tree_length; i++) { + if (typeof parse_tree[i] === 'string') { + output += parse_tree[i] + } + else if (typeof parse_tree[i] === 'object') { + ph = parse_tree[i] // convenience purposes only + if (ph.keys) { // keyword argument + arg = argv[cursor] + for (k = 0; k < ph.keys.length; k++) { + if (arg == undefined) { + throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1])) + } + arg = arg[ph.keys[k]] + } + } + else if (ph.param_no) { // positional argument (explicit) + arg = argv[ph.param_no] + } + else { // positional argument (implicit) + arg = argv[cursor++] + } + + if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) { + arg = arg() + } + + if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) { + throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg)) + } + + if (re.number.test(ph.type)) { + is_positive = arg >= 0 + } + + switch (ph.type) { + case 'b': + arg = parseInt(arg, 10).toString(2) + break + case 'c': + arg = String.fromCharCode(parseInt(arg, 10)) + break + case 'd': + case 'i': + arg = parseInt(arg, 10) + break + case 'j': + arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0) + break + case 'e': + arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential() + break + case 'f': + arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg) + break + case 'g': + arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg) + break + case 'o': + arg = (parseInt(arg, 10) >>> 0).toString(8) + break + case 's': + arg = String(arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 't': + arg = String(!!arg) + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'T': + arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'u': + arg = parseInt(arg, 10) >>> 0 + break + case 'v': + arg = arg.valueOf() + arg = (ph.precision ? arg.substring(0, ph.precision) : arg) + break + case 'x': + arg = (parseInt(arg, 10) >>> 0).toString(16) + break + case 'X': + arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase() + break + } + if (re.json.test(ph.type)) { + output += arg + } + else { + if (re.number.test(ph.type) && (!is_positive || ph.sign)) { + sign = is_positive ? '+' : '-' + arg = arg.toString().replace(re.sign, '') + } + else { + sign = '' + } + pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' ' + pad_length = ph.width - (sign + arg).length + pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : '' + output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg) + } + } + } + return output + } + + var sprintf_cache = Object.create(null) + + function sprintf_parse(fmt) { + if (sprintf_cache[fmt]) { + return sprintf_cache[fmt] + } + + var _fmt = fmt, match, parse_tree = [], arg_names = 0 + while (_fmt) { + if ((match = re.text.exec(_fmt)) !== null) { + parse_tree.push(match[0]) + } + else if ((match = re.modulo.exec(_fmt)) !== null) { + parse_tree.push('%') + } + else if ((match = re.placeholder.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1 + var field_list = [], replacement_field = match[2], field_match = [] + if ((field_match = re.key.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = re.key_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else if ((field_match = re.index_access.exec(replacement_field)) !== null) { + field_list.push(field_match[1]) + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + } + } + else { + throw new SyntaxError('[sprintf] failed to parse named argument key') + } + match[2] = field_list + } + else { + arg_names |= 2 + } + if (arg_names === 3) { + throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported') + } + + parse_tree.push( + { + placeholder: match[0], + param_no: match[1], + keys: match[2], + sign: match[3], + pad_char: match[4], + align: match[5], + width: match[6], + precision: match[7], + type: match[8] + } + ) + } + else { + throw new SyntaxError('[sprintf] unexpected placeholder') + } + _fmt = _fmt.substring(match[0].length) + } + return sprintf_cache[fmt] = parse_tree + } + + /** + * export to either browser or node.js + */ + /* eslint-disable quote-props */ + if (typeof exports !== 'undefined') { + exports['sprintf'] = sprintf + exports['vsprintf'] = vsprintf + } + if (typeof window !== 'undefined') { + window['sprintf'] = sprintf + window['vsprintf'] = vsprintf + + if (typeof define === 'function' && define['amd']) { + define(function() { + return { + 'sprintf': sprintf, + 'vsprintf': vsprintf + } + }) + } + } + /* eslint-enable quote-props */ +}(); // eslint-disable-line diff --git a/node_modules/string_decoder/LICENSE b/node_modules/string_decoder/LICENSE new file mode 100644 index 00000000..778edb20 --- /dev/null +++ b/node_modules/string_decoder/LICENSE @@ -0,0 +1,48 @@ +Node.js is licensed for use as follows: + +""" +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: + +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + diff --git a/node_modules/string_decoder/README.md b/node_modules/string_decoder/README.md new file mode 100644 index 00000000..5fd58315 --- /dev/null +++ b/node_modules/string_decoder/README.md @@ -0,0 +1,47 @@ +# string_decoder + +***Node-core v8.9.4 string_decoder for userland*** + + +[![NPM](https://nodei.co/npm/string_decoder.png?downloads=true&downloadRank=true)](https://nodei.co/npm/string_decoder/) +[![NPM](https://nodei.co/npm-dl/string_decoder.png?&months=6&height=3)](https://nodei.co/npm/string_decoder/) + + +```bash +npm install --save string_decoder +``` + +***Node-core string_decoder for userland*** + +This package is a mirror of the string_decoder implementation in Node-core. + +Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v8.9.4/docs/api/). + +As of version 1.0.0 **string_decoder** uses semantic versioning. + +## Previous versions + +Previous version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. + +## Update + +The *build/* directory contains a build script that will scrape the source from the [nodejs/node](https://github.com/nodejs/node) repo given a specific Node version. + +## Streams Working Group + +`string_decoder` is maintained by the Streams Working Group, which +oversees the development and maintenance of the Streams API within +Node.js. The responsibilities of the Streams Working Group include: + +* Addressing stream issues on the Node.js issue tracker. +* Authoring and editing stream documentation within the Node.js project. +* Reviewing changes to stream subclasses within the Node.js project. +* Redirecting changes to streams from the Node.js project to this + project. +* Assisting in the implementation of stream providers within Node.js. +* Recommending versions of `readable-stream` to be included in Node.js. +* Messaging about the future of streams to give the community advance + notice of changes. + +See [readable-stream](https://github.com/nodejs/readable-stream) for +more details. diff --git a/node_modules/string_decoder/lib/string_decoder.js b/node_modules/string_decoder/lib/string_decoder.js new file mode 100644 index 00000000..2e89e63f --- /dev/null +++ b/node_modules/string_decoder/lib/string_decoder.js @@ -0,0 +1,296 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +'use strict'; + +/**/ + +var Buffer = require('safe-buffer').Buffer; +/**/ + +var isEncoding = Buffer.isEncoding || function (encoding) { + encoding = '' + encoding; + switch (encoding && encoding.toLowerCase()) { + case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw': + return true; + default: + return false; + } +}; + +function _normalizeEncoding(enc) { + if (!enc) return 'utf8'; + var retried; + while (true) { + switch (enc) { + case 'utf8': + case 'utf-8': + return 'utf8'; + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return 'utf16le'; + case 'latin1': + case 'binary': + return 'latin1'; + case 'base64': + case 'ascii': + case 'hex': + return enc; + default: + if (retried) return; // undefined + enc = ('' + enc).toLowerCase(); + retried = true; + } + } +}; + +// Do not cache `Buffer.isEncoding` when checking encoding names as some +// modules monkey-patch it to support additional encodings +function normalizeEncoding(enc) { + var nenc = _normalizeEncoding(enc); + if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); + return nenc || enc; +} + +// StringDecoder provides an interface for efficiently splitting a series of +// buffers into a series of JS strings without breaking apart multi-byte +// characters. +exports.StringDecoder = StringDecoder; +function StringDecoder(encoding) { + this.encoding = normalizeEncoding(encoding); + var nb; + switch (this.encoding) { + case 'utf16le': + this.text = utf16Text; + this.end = utf16End; + nb = 4; + break; + case 'utf8': + this.fillLast = utf8FillLast; + nb = 4; + break; + case 'base64': + this.text = base64Text; + this.end = base64End; + nb = 3; + break; + default: + this.write = simpleWrite; + this.end = simpleEnd; + return; + } + this.lastNeed = 0; + this.lastTotal = 0; + this.lastChar = Buffer.allocUnsafe(nb); +} + +StringDecoder.prototype.write = function (buf) { + if (buf.length === 0) return ''; + var r; + var i; + if (this.lastNeed) { + r = this.fillLast(buf); + if (r === undefined) return ''; + i = this.lastNeed; + this.lastNeed = 0; + } else { + i = 0; + } + if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); + return r || ''; +}; + +StringDecoder.prototype.end = utf8End; + +// Returns only complete characters in a Buffer +StringDecoder.prototype.text = utf8Text; + +// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer +StringDecoder.prototype.fillLast = function (buf) { + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); + this.lastNeed -= buf.length; +}; + +// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a +// continuation byte. If an invalid byte is detected, -2 is returned. +function utf8CheckByte(byte) { + if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4; + return byte >> 6 === 0x02 ? -1 : -2; +} + +// Checks at most 3 bytes at the end of a Buffer in order to detect an +// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) +// needed to complete the UTF-8 character (if applicable) are returned. +function utf8CheckIncomplete(self, buf, i) { + var j = buf.length - 1; + if (j < i) return 0; + var nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self.lastNeed = nb - 1; + return nb; + } + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self.lastNeed = nb - 2; + return nb; + } + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) { + if (nb === 2) nb = 0;else self.lastNeed = nb - 3; + } + return nb; + } + return 0; +} + +// Validates as many continuation bytes for a multi-byte UTF-8 character as +// needed or are available. If we see a non-continuation byte where we expect +// one, we "replace" the validated continuation bytes we've seen so far with +// a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding +// behavior. The continuation byte check is included three times in the case +// where all of the continuation bytes for a character exist in the same buffer. +// It is also done this way as a slight performance increase instead of using a +// loop. +function utf8CheckExtraBytes(self, buf, p) { + if ((buf[0] & 0xC0) !== 0x80) { + self.lastNeed = 0; + return '\ufffd'; + } + if (self.lastNeed > 1 && buf.length > 1) { + if ((buf[1] & 0xC0) !== 0x80) { + self.lastNeed = 1; + return '\ufffd'; + } + if (self.lastNeed > 2 && buf.length > 2) { + if ((buf[2] & 0xC0) !== 0x80) { + self.lastNeed = 2; + return '\ufffd'; + } + } + } +} + +// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. +function utf8FillLast(buf) { + var p = this.lastTotal - this.lastNeed; + var r = utf8CheckExtraBytes(this, buf, p); + if (r !== undefined) return r; + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, p, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, p, 0, buf.length); + this.lastNeed -= buf.length; +} + +// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a +// partial character, the character's bytes are buffered until the required +// number of bytes are available. +function utf8Text(buf, i) { + var total = utf8CheckIncomplete(this, buf, i); + if (!this.lastNeed) return buf.toString('utf8', i); + this.lastTotal = total; + var end = buf.length - (total - this.lastNeed); + buf.copy(this.lastChar, 0, end); + return buf.toString('utf8', i, end); +} + +// For UTF-8, a replacement character is added when ending on a partial +// character. +function utf8End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) return r + '\ufffd'; + return r; +} + +// UTF-16LE typically needs two bytes per character, but even if we have an even +// number of bytes available, we need to check if we end on a leading/high +// surrogate. In that case, we need to wait for the next two bytes in order to +// decode the last character properly. +function utf16Text(buf, i) { + if ((buf.length - i) % 2 === 0) { + var r = buf.toString('utf16le', i); + if (r) { + var c = r.charCodeAt(r.length - 1); + if (c >= 0xD800 && c <= 0xDBFF) { + this.lastNeed = 2; + this.lastTotal = 4; + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + return r.slice(0, -1); + } + } + return r; + } + this.lastNeed = 1; + this.lastTotal = 2; + this.lastChar[0] = buf[buf.length - 1]; + return buf.toString('utf16le', i, buf.length - 1); +} + +// For UTF-16LE we do not explicitly append special replacement characters if we +// end on a partial character, we simply let v8 handle that. +function utf16End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) { + var end = this.lastTotal - this.lastNeed; + return r + this.lastChar.toString('utf16le', 0, end); + } + return r; +} + +function base64Text(buf, i) { + var n = (buf.length - i) % 3; + if (n === 0) return buf.toString('base64', i); + this.lastNeed = 3 - n; + this.lastTotal = 3; + if (n === 1) { + this.lastChar[0] = buf[buf.length - 1]; + } else { + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + } + return buf.toString('base64', i, buf.length - n); +} + +function base64End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); + return r; +} + +// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) +function simpleWrite(buf) { + return buf.toString(this.encoding); +} + +function simpleEnd(buf) { + return buf && buf.length ? this.write(buf) : ''; +} \ No newline at end of file diff --git a/node_modules/string_decoder/package.json b/node_modules/string_decoder/package.json new file mode 100644 index 00000000..b90ea67c --- /dev/null +++ b/node_modules/string_decoder/package.json @@ -0,0 +1,62 @@ +{ + "_from": "string_decoder@^1.1.1", + "_id": "string_decoder@1.3.0", + "_inBundle": false, + "_integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "_location": "/string_decoder", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "string_decoder@^1.1.1", + "name": "string_decoder", + "escapedName": "string_decoder", + "rawSpec": "^1.1.1", + "saveSpec": null, + "fetchSpec": "^1.1.1" + }, + "_requiredBy": [ + "/readable-stream" + ], + "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "_shasum": "42f114594a46cf1a8e30b0a84f56c78c3edac21e", + "_spec": "string_decoder@^1.1.1", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\readable-stream", + "bugs": { + "url": "https://github.com/nodejs/string_decoder/issues" + }, + "bundleDependencies": false, + "dependencies": { + "safe-buffer": "~5.2.0" + }, + "deprecated": false, + "description": "The string_decoder module from Node core", + "devDependencies": { + "babel-polyfill": "^6.23.0", + "core-util-is": "^1.0.2", + "inherits": "^2.0.3", + "tap": "~0.4.8" + }, + "files": [ + "lib" + ], + "homepage": "https://github.com/nodejs/string_decoder", + "keywords": [ + "string", + "decoder", + "browser", + "browserify" + ], + "license": "MIT", + "main": "lib/string_decoder.js", + "name": "string_decoder", + "repository": { + "type": "git", + "url": "git://github.com/nodejs/string_decoder.git" + }, + "scripts": { + "ci": "tap test/parallel/*.js test/ours/*.js --tap | tee test.tap && node test/verify-dependencies.js", + "test": "tap test/parallel/*.js && node test/verify-dependencies" + }, + "version": "1.3.0" +} diff --git a/node_modules/typed-emitter/LICENSE b/node_modules/typed-emitter/LICENSE new file mode 100644 index 00000000..09e2093f --- /dev/null +++ b/node_modules/typed-emitter/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2018 Andy Wermke + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/typed-emitter/README.md b/node_modules/typed-emitter/README.md new file mode 100644 index 00000000..4768f12a --- /dev/null +++ b/node_modules/typed-emitter/README.md @@ -0,0 +1,78 @@ +# Typed-Emitter + +[![NPM Version](https://img.shields.io/npm/v/typed-emitter.svg)](https://www.npmjs.com/package/typed-emitter) + +Strictly typed event emitter interface for **TypeScript 3**. + +Code size: Zero bytes - Just the typings, no implementation. Use the default event emitter of the `events` module in node.js or bring your favorite implementation when writing code for the browser. + + +## Installation + +```sh +$ npm install --save-dev typed-emitter + +# Using yarn: +$ yarn add --dev typed-emitter +``` + + +## Usage + +```ts +import EventEmitter from "events" +import TypedEmitter from "typed-emitter" + +// Define your emitter's types like that: +// Key: Event name; Value: Listener function signature +interface MessageEvents { + error: (error: Error) => void, + message: (body: string, from: string) => void +} + +const messageEmitter = new EventEmitter() as TypedEmitter + +// Good 👍 +messageEmitter.emit("message", "Hi there!", "no-reply@test.com") + +// TypeScript will catch those mistakes ✋ +messageEmitter.emit("mail", "Hi there!", "no-reply@test.com") +messageEmitter.emit("message", "Hi there!", true) + +// Good 👍 +messageEmitter.on("error", (error: Error) => { /* ... */ }) + +// TypeScript will catch those mistakes ✋ +messageEmitter.on("error", (error: string) => { /* ... */ }) +messageEmitter.on("failure", (error: Error) => { /* ... */ }) +``` + +## Extending an emitter + +You might find yourself in a situation where you need to extend an event emitter, but also want to strictly type its events. Here is how to. + +```ts +class MyEventEmitter extends (EventEmitter as new () => TypedEmitter) { + // ... +} +``` + +As a generic class: + +```ts +class MyEventEmitter extends (EventEmitter as { new(): TypedEmitter }) { + // ... +} +``` + +## Why another package? + +The interface that comes with `@types/node` is not type-safe at all. It does not even offer a way of specifying the events that the emitter will emit... + +The `eventemitter3` package is a popular event emitter implementation that comes with TypeScript types out of the box. Unfortunately there is no way to declare the event arguments that the listeners have to expect. + +There were a few other examples of type-safe event emitter interfaces out there as well. They were either not published to npm, had an inconsistent interface or other limitations. + +## License + +MIT diff --git a/node_modules/typed-emitter/index.d.ts b/node_modules/typed-emitter/index.d.ts new file mode 100644 index 00000000..6b0f0b4a --- /dev/null +++ b/node_modules/typed-emitter/index.d.ts @@ -0,0 +1,44 @@ +export type Arguments = [T] extends [(...args: infer U) => any] + ? U + : [T] extends [void] ? [] : [T] + +/** + * Type-safe event emitter. + * + * Use it like this: + * + * interface MyEvents { + * error: (error: Error) => void + * message: (from: string, content: string) => void + * } + * + * const myEmitter = new EventEmitter() as TypedEmitter + * + * myEmitter.on("message", (from, content) => { + * // ... + * }) + * + * myEmitter.emit("error", "x") // <- Will catch this type error + */ +interface TypedEventEmitter { + addListener (event: E, listener: Events[E]): this + on (event: E, listener: Events[E]): this + once (event: E, listener: Events[E]): this + prependListener (event: E, listener: Events[E]): this + prependOnceListener (event: E, listener: Events[E]): this + + off(event: E, listener: Events[E]): this + removeAllListeners (event?: E): this + removeListener (event: E, listener: Events[E]): this + + emit (event: E, ...args: Arguments): boolean + eventNames (): (keyof Events | string | symbol)[] + rawListeners (event: E): Function[] + listeners (event: E): Function[] + listenerCount (event: E): number + + getMaxListeners (): number + setMaxListeners (maxListeners: number): this +} + +export default TypedEventEmitter diff --git a/node_modules/typed-emitter/package.json b/node_modules/typed-emitter/package.json new file mode 100644 index 00000000..3a6bdede --- /dev/null +++ b/node_modules/typed-emitter/package.json @@ -0,0 +1,50 @@ +{ + "_from": "typed-emitter@^1.2.0", + "_id": "typed-emitter@1.3.1", + "_inBundle": false, + "_integrity": "sha512-2h7utWyXgd2R2u2IuL8B4yu1gqMxbgUj2VS/MGVbFhEVQNJKXoQQoS5CBMh+eW31zFeSmDfEQ3qQf4xy5SlPVQ==", + "_location": "/typed-emitter", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "typed-emitter@^1.2.0", + "name": "typed-emitter", + "escapedName": "typed-emitter", + "rawSpec": "^1.2.0", + "saveSpec": null, + "fetchSpec": "^1.2.0" + }, + "_requiredBy": [ + "/mineflayer" + ], + "_resolved": "https://registry.npmjs.org/typed-emitter/-/typed-emitter-1.3.1.tgz", + "_shasum": "c98d71551a99d5f08ba9085ee44b8fc9b2357502", + "_spec": "typed-emitter@^1.2.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\mineflayer", + "author": { + "name": "Andy Wermke", + "url": "https://github.com/andywer" + }, + "bugs": { + "url": "https://github.com/andywer/typed-emitter/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Strictly typed event emitter interface for TypeScript 3.", + "homepage": "https://github.com/andywer/typed-emitter#readme", + "keywords": [ + "event", + "emitter", + "typescript", + "interface" + ], + "license": "MIT", + "main": "./index.d.ts", + "name": "typed-emitter", + "repository": { + "type": "git", + "url": "git+https://github.com/andywer/typed-emitter.git" + }, + "version": "1.3.1" +} diff --git a/node_modules/uint4/.npmignore b/node_modules/uint4/.npmignore new file mode 100644 index 00000000..c2658d7d --- /dev/null +++ b/node_modules/uint4/.npmignore @@ -0,0 +1 @@ +node_modules/ diff --git a/node_modules/uint4/README.md b/node_modules/uint4/README.md new file mode 100644 index 00000000..1d0228f1 --- /dev/null +++ b/node_modules/uint4/README.md @@ -0,0 +1,67 @@ +UInt4 +=== + +Read and write half-bytes to buffers + +Usage +=== + +**Basic usage** + +ES5 +```js +var readUInt4 = require('uint4').read; +var writeUint4 = require('uint4').write; + +var buffer = new Buffer(4); + +writeUInt4(buffer, 3, 0.0); +writeUInt4(buffer, 7, 0.5); + +readUInt4(buffer, 0.0); // 3 +readUint4(buffer, 0.5); // 7 +``` + +ES6 +```js +var {readUInt4, writeUint4} = require('uint4'); + +var buffer = new Buffer(4); + +writeUInt4(buffer, 5, 0.0); +writeUInt4(buffer, 4, 0.5); + +readUInt4(buffer, 0.0); // 5 +readUint4(buffer, 0.5); // 4 +``` + +**BE and LE APIs** + +ES6 + +```js +var { readUInt4LE, writeUInt4BE, readUInt4BE, writeUInt4BE } = require('uint4'); + +var buffer = new Buffer(4); + +// BE + +buffer.fill(0); +writeUInt4BE(buffer, 4, 0); + +buffer; // +readUInt4BE(buffer, 0); // 4 + +// LE + +buffer.fill(0); +writeUInt4LE(buffer, 4, 0); + +buffer; // +readUInt4LE(buffer, 0); // 4 +``` + +License +=== + +MIT diff --git a/node_modules/uint4/index.js b/node_modules/uint4/index.js new file mode 100644 index 00000000..aade156e --- /dev/null +++ b/node_modules/uint4/index.js @@ -0,0 +1,44 @@ +var readUInt4BE = function(buffer, cursor) { + if(cursor % 1) + return buffer.readUInt8(Math.floor(cursor)) & 15; + else + return buffer.readUInt8(cursor) >> 4; +}; + +var writeUInt4BE = function(buffer, value, cursor) { + if(value >= 16) + throw(new Error('value is out of bounds')); + + var byteLoc = Math.floor(cursor); + if(cursor % 1) // Second half byte + buffer.writeUInt8((readUInt4BE(buffer, byteLoc) << 4 | value), byteLoc); + else // First half byte + buffer.writeUInt8((value << 4 | readUInt4BE(buffer, cursor)), byteLoc); +}; + +var readUInt4LE = function(buffer, cursor) { + if(cursor % 1) + return buffer.readUInt8(Math.floor(cursor)) >> 4; + else + return buffer.readUInt8(cursor) & 15; +}; + +var writeUInt4LE = function(buffer, value, cursor) { + if(value >= 16) + throw(new Error('value is out of bounds')); + + var byteLoc = Math.floor(cursor); + if(cursor % 1) + buffer.writeUInt8((value << 4 | readUInt4LE(buffer, Math.floor(cursor))), byteLoc); + else + buffer.writeUInt8((readUInt4LE(buffer, byteLoc) << 4 | value), byteLoc); +}; + +module.exports.read = readUInt4BE; +module.exports.readUInt4 = readUInt4BE; +module.exports.write = writeUInt4BE; +module.exports.writeUInt4 = writeUInt4BE; +module.exports.readUInt4BE = readUInt4BE; +module.exports.writeUInt4BE = writeUInt4BE; +module.exports.readUInt4LE = readUInt4LE; +module.exports.writeUInt4LE = writeUInt4LE; diff --git a/node_modules/uint4/package.json b/node_modules/uint4/package.json new file mode 100644 index 00000000..eae846e3 --- /dev/null +++ b/node_modules/uint4/package.json @@ -0,0 +1,60 @@ +{ + "_from": "uint4@^0.1.2", + "_id": "uint4@0.1.2", + "_inBundle": false, + "_integrity": "sha1-UMWuBLhdKBKPLfPMDsxNQavC9oE=", + "_location": "/uint4", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "uint4@^0.1.2", + "name": "uint4", + "escapedName": "uint4", + "rawSpec": "^0.1.2", + "saveSpec": null, + "fetchSpec": "^0.1.2" + }, + "_requiredBy": [ + "/prismarine-chunk" + ], + "_resolved": "https://registry.npmjs.org/uint4/-/uint4-0.1.2.tgz", + "_shasum": "50c5ae04b85d28128f2df3cc0ecc4d41abc2f681", + "_spec": "uint4@^0.1.2", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\prismarine-chunk", + "author": { + "name": "Will Franzen", + "email": "wtfranzen@gmail.com", + "url": "http://will.xyz/" + }, + "bugs": { + "url": "https://github.com/wtfaremyinitials/uint4/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Read and write half-bytes to buffers", + "devDependencies": { + "mocha": "^2.2.1" + }, + "homepage": "https://github.com/wtfaremyinitials/uint4", + "keywords": [ + "buffer", + "buf", + "int", + "half", + "byte", + "uint", + "uint4" + ], + "license": "MIT", + "main": "index.js", + "name": "uint4", + "repository": { + "type": "git", + "url": "git+https://github.com/wtfaremyinitials/uint4.git" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "version": "0.1.2" +} diff --git a/node_modules/uint4/test/test.js b/node_modules/uint4/test/test.js new file mode 100644 index 00000000..c513a6d3 --- /dev/null +++ b/node_modules/uint4/test/test.js @@ -0,0 +1,109 @@ +var assert = require('assert'); + +describe('uint4', function() { + + var uint4 = require('../index.js'); + + describe('#readUInt4BE(buffer, cursor)', function() { + + it('should read half a byte', function() { + var buf = new Buffer(4); + buf[0] = 0x35; + buf[1] = 0x01; + buf[2] = 0x10; + buf[3] = 0xff; + + assert.equal(0x03, uint4.readUInt4BE(buf, 0.0)); + assert.equal(0x05, uint4.readUInt4BE(buf, 0.5)); + assert.equal(0x00, uint4.readUInt4BE(buf, 1.0)); + assert.equal(0x01, uint4.readUInt4BE(buf, 1.5)); + assert.equal(0x01, uint4.readUInt4BE(buf, 2.0)); + assert.equal(0x00, uint4.readUInt4BE(buf, 2.5)); + assert.equal(0x0f, uint4.readUInt4BE(buf, 3.0)); + assert.equal(0x0f, uint4.readUInt4BE(buf, 3.5)); + }); + + }); + + describe('#writeUInt4BE(buffer, value, cursor)', function() { + + it('should write half a byte', function() { + var buf = new Buffer(4); + + uint4.writeUInt4BE(buf, 0x03, 0.0); + uint4.writeUInt4BE(buf, 0x05, 0.5); + uint4.writeUInt4BE(buf, 0x00, 1.0); + uint4.writeUInt4BE(buf, 0x01, 1.5); + uint4.writeUInt4BE(buf, 0x01, 2.0); + uint4.writeUInt4BE(buf, 0x00, 2.5); + uint4.writeUInt4BE(buf, 0x0f, 3.0); + uint4.writeUInt4BE(buf, 0x0f, 3.5); + + assert.equal(0x35, buf[0]); + assert.equal(0x01, buf[1]); + assert.equal(0x10, buf[2]); + assert.equal(0xff, buf[3]); + }); + + it('should throw when given values >= 16', function() { + var buf = new Buffer(4); + + assert.throws(function() { + writeUInt4(buf, 20, 0); + }); + }); + + }); + + describe('#readUInt4LE(buffer, cursor)', function() { + + it('should read half a byte', function() { + var buf = new Buffer(4); + buf[0] = 0x53; + buf[1] = 0x10; + buf[2] = 0x01; + buf[3] = 0xff; + + assert.equal(0x03, uint4.readUInt4LE(buf, 0.0)); + assert.equal(0x05, uint4.readUInt4LE(buf, 0.5)); + assert.equal(0x00, uint4.readUInt4LE(buf, 1.0)); + assert.equal(0x01, uint4.readUInt4LE(buf, 1.5)); + assert.equal(0x01, uint4.readUInt4LE(buf, 2.0)); + assert.equal(0x00, uint4.readUInt4LE(buf, 2.5)); + assert.equal(0x0f, uint4.readUInt4LE(buf, 3.0)); + assert.equal(0x0f, uint4.readUInt4LE(buf, 3.5)); + }); + + }); + + describe('#writeUInt4LE(buffer, value, cursor)', function() { + + it('should write half a byte', function() { + var buf = new Buffer(4); + + uint4.writeUInt4LE(buf, 0x03, 0.0); + uint4.writeUInt4LE(buf, 0x05, 0.5); + uint4.writeUInt4LE(buf, 0x00, 1.0); + uint4.writeUInt4LE(buf, 0x01, 1.5); + uint4.writeUInt4LE(buf, 0x01, 2.0); + uint4.writeUInt4LE(buf, 0x00, 2.5); + uint4.writeUInt4LE(buf, 0x0f, 3.0); + uint4.writeUInt4LE(buf, 0x0f, 3.5); + + assert.equal(0x53, buf[0]); + assert.equal(0x10, buf[1]); + assert.equal(0x01, buf[2]); + assert.equal(0xff, buf[3]); + }); + + it('should throw when given values >= 16', function() { + var buf = new Buffer(4); + + assert.throws(function() { + writeUInt4LE(buf, 20, 0); + }); + }); + + }); + +}); diff --git a/node_modules/uri-js/LICENSE b/node_modules/uri-js/LICENSE new file mode 100644 index 00000000..9338bde8 --- /dev/null +++ b/node_modules/uri-js/LICENSE @@ -0,0 +1,11 @@ +Copyright 2011 Gary Court. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY GARY COURT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Gary Court. diff --git a/node_modules/uri-js/README.md b/node_modules/uri-js/README.md new file mode 100644 index 00000000..3dbe4054 --- /dev/null +++ b/node_modules/uri-js/README.md @@ -0,0 +1,201 @@ +# URI.js + +URI.js is an [RFC 3986](http://www.ietf.org/rfc/rfc3986.txt) compliant, scheme extendable URI parsing/validating/resolving library for all JavaScript environments (browsers, Node.js, etc). +It is also compliant with the IRI ([RFC 3987](http://www.ietf.org/rfc/rfc3987.txt)), IDNA ([RFC 5890](http://www.ietf.org/rfc/rfc5890.txt)), IPv6 Address ([RFC 5952](http://www.ietf.org/rfc/rfc5952.txt)), IPv6 Zone Identifier ([RFC 6874](http://www.ietf.org/rfc/rfc6874.txt)) specifications. + +URI.js has an extensive test suite, and works in all (Node.js, web) environments. It weighs in at 6.4kb (gzipped, 17kb deflated). + +## API + +### Parsing + + URI.parse("uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body"); + //returns: + //{ + // scheme : "uri", + // userinfo : "user:pass", + // host : "example.com", + // port : 123, + // path : "/one/two.three", + // query : "q1=a1&q2=a2", + // fragment : "body" + //} + +### Serializing + + URI.serialize({scheme : "http", host : "example.com", fragment : "footer"}) === "http://example.com/#footer" + +### Resolving + + URI.resolve("uri://a/b/c/d?q", "../../g") === "uri://a/g" + +### Normalizing + + URI.normalize("HTTP://ABC.com:80/%7Esmith/home.html") === "http://abc.com/~smith/home.html" + +### Comparison + + URI.equal("example://a/b/c/%7Bfoo%7D", "eXAMPLE://a/./b/../b/%63/%7bfoo%7d") === true + +### IP Support + + //IPv4 normalization + URI.normalize("//192.068.001.000") === "//192.68.1.0" + + //IPv6 normalization + URI.normalize("//[2001:0:0DB8::0:0001]") === "//[2001:0:db8::1]" + + //IPv6 zone identifier support + URI.parse("//[2001:db8::7%25en1]"); + //returns: + //{ + // host : "2001:db8::7%en1" + //} + +### IRI Support + + //convert IRI to URI + URI.serialize(URI.parse("http://examplé.org/rosé")) === "http://xn--exampl-gva.org/ros%C3%A9" + //convert URI to IRI + URI.serialize(URI.parse("http://xn--exampl-gva.org/ros%C3%A9"), {iri:true}) === "http://examplé.org/rosé" + +### Options + +All of the above functions can accept an additional options argument that is an object that can contain one or more of the following properties: + +* `scheme` (string) + + Indicates the scheme that the URI should be treated as, overriding the URI's normal scheme parsing behavior. + +* `reference` (string) + + If set to `"suffix"`, it indicates that the URI is in the suffix format, and the validator will use the option's `scheme` property to determine the URI's scheme. + +* `tolerant` (boolean, false) + + If set to `true`, the parser will relax URI resolving rules. + +* `absolutePath` (boolean, false) + + If set to `true`, the serializer will not resolve a relative `path` component. + +* `iri` (boolean, false) + + If set to `true`, the serializer will unescape non-ASCII characters as per [RFC 3987](http://www.ietf.org/rfc/rfc3987.txt). + +* `unicodeSupport` (boolean, false) + + If set to `true`, the parser will unescape non-ASCII characters in the parsed output as per [RFC 3987](http://www.ietf.org/rfc/rfc3987.txt). + +* `domainHost` (boolean, false) + + If set to `true`, the library will treat the `host` component as a domain name, and convert IDNs (International Domain Names) as per [RFC 5891](http://www.ietf.org/rfc/rfc5891.txt). + +## Scheme Extendable + +URI.js supports inserting custom [scheme](http://en.wikipedia.org/wiki/URI_scheme) dependent processing rules. Currently, URI.js has built in support for the following schemes: + +* http \[[RFC 2616](http://www.ietf.org/rfc/rfc2616.txt)\] +* https \[[RFC 2818](http://www.ietf.org/rfc/rfc2818.txt)\] +* mailto \[[RFC 6068](http://www.ietf.org/rfc/rfc6068.txt)\] +* urn \[[RFC 2141](http://www.ietf.org/rfc/rfc2141.txt)\] +* urn:uuid \[[RFC 4122](http://www.ietf.org/rfc/rfc4122.txt)\] + +### HTTP/HTTPS Support + + URI.equal("HTTP://ABC.COM:80", "http://abc.com/") === true + URI.equal("https://abc.com", "HTTPS://ABC.COM:443/") === true + +### WS/WSS Support + + URI.parse("wss://example.com/foo?bar=baz"); + //returns: + //{ + // scheme : "wss", + // host: "example.com", + // resourceName: "/foo?bar=baz", + // secure: true, + //} + + URI.equal("WS://ABC.COM:80/chat#one", "ws://abc.com/chat") === true + +### Mailto Support + + URI.parse("mailto:alpha@example.com,bravo@example.com?subject=SUBSCRIBE&body=Sign%20me%20up!"); + //returns: + //{ + // scheme : "mailto", + // to : ["alpha@example.com", "bravo@example.com"], + // subject : "SUBSCRIBE", + // body : "Sign me up!" + //} + + URI.serialize({ + scheme : "mailto", + to : ["alpha@example.com"], + subject : "REMOVE", + body : "Please remove me", + headers : { + cc : "charlie@example.com" + } + }) === "mailto:alpha@example.com?cc=charlie@example.com&subject=REMOVE&body=Please%20remove%20me" + +### URN Support + + URI.parse("urn:example:foo"); + //returns: + //{ + // scheme : "urn", + // nid : "example", + // nss : "foo", + //} + +#### URN UUID Support + + URI.parse("urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6"); + //returns: + //{ + // scheme : "urn", + // nid : "example", + // uuid : "f81d4fae-7dec-11d0-a765-00a0c91e6bf6", + //} + +## Usage + +To load in a browser, use the following tag: + + + +To load in a CommonJS/Module environment, first install with npm/yarn by running on the command line: + + npm install uri-js + # OR + yarn add uri-js + +Then, in your code, load it using: + + const URI = require("uri-js"); + +If you are writing your code in ES6+ (ESNEXT) or TypeScript, you would load it using: + + import * as URI from "uri-js"; + +Or you can load just what you need using named exports: + + import { parse, serialize, resolve, resolveComponents, normalize, equal, removeDotSegments, pctEncChar, pctDecChars, escapeComponent, unescapeComponent } from "uri-js"; + +## Breaking changes + +### Breaking changes from 3.x + +URN parsing has been completely changed to better align with the specification. Scheme is now always `urn`, but has two new properties: `nid` which contains the Namspace Identifier, and `nss` which contains the Namespace Specific String. The `nss` property will be removed by higher order scheme handlers, such as the UUID URN scheme handler. + +The UUID of a URN can now be found in the `uuid` property. + +### Breaking changes from 2.x + +URI validation has been removed as it was slow, exposed a vulnerabilty, and was generally not useful. + +### Breaking changes from 1.x + +The `errors` array on parsed components is now an `error` string. diff --git a/node_modules/uri-js/dist/es5/uri.all.d.ts b/node_modules/uri-js/dist/es5/uri.all.d.ts new file mode 100644 index 00000000..da51e235 --- /dev/null +++ b/node_modules/uri-js/dist/es5/uri.all.d.ts @@ -0,0 +1,59 @@ +export interface URIComponents { + scheme?: string; + userinfo?: string; + host?: string; + port?: number | string; + path?: string; + query?: string; + fragment?: string; + reference?: string; + error?: string; +} +export interface URIOptions { + scheme?: string; + reference?: string; + tolerant?: boolean; + absolutePath?: boolean; + iri?: boolean; + unicodeSupport?: boolean; + domainHost?: boolean; +} +export interface URISchemeHandler { + scheme: string; + parse(components: ParentComponents, options: Options): Components; + serialize(components: Components, options: Options): ParentComponents; + unicodeSupport?: boolean; + domainHost?: boolean; + absolutePath?: boolean; +} +export interface URIRegExps { + NOT_SCHEME: RegExp; + NOT_USERINFO: RegExp; + NOT_HOST: RegExp; + NOT_PATH: RegExp; + NOT_PATH_NOSCHEME: RegExp; + NOT_QUERY: RegExp; + NOT_FRAGMENT: RegExp; + ESCAPE: RegExp; + UNRESERVED: RegExp; + OTHER_CHARS: RegExp; + PCT_ENCODED: RegExp; + IPV4ADDRESS: RegExp; + IPV6ADDRESS: RegExp; +} +export declare const SCHEMES: { + [scheme: string]: URISchemeHandler; +}; +export declare function pctEncChar(chr: string): string; +export declare function pctDecChars(str: string): string; +export declare function parse(uriString: string, options?: URIOptions): URIComponents; +export declare function removeDotSegments(input: string): string; +export declare function serialize(components: URIComponents, options?: URIOptions): string; +export declare function resolveComponents(base: URIComponents, relative: URIComponents, options?: URIOptions, skipNormalization?: boolean): URIComponents; +export declare function resolve(baseURI: string, relativeURI: string, options?: URIOptions): string; +export declare function normalize(uri: string, options?: URIOptions): string; +export declare function normalize(uri: URIComponents, options?: URIOptions): URIComponents; +export declare function equal(uriA: string, uriB: string, options?: URIOptions): boolean; +export declare function equal(uriA: URIComponents, uriB: URIComponents, options?: URIOptions): boolean; +export declare function escapeComponent(str: string, options?: URIOptions): string; +export declare function unescapeComponent(str: string, options?: URIOptions): string; diff --git a/node_modules/uri-js/dist/es5/uri.all.js b/node_modules/uri-js/dist/es5/uri.all.js new file mode 100644 index 00000000..47f42f8a --- /dev/null +++ b/node_modules/uri-js/dist/es5/uri.all.js @@ -0,0 +1,1443 @@ +/** @license URI.js v4.4.0 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.URI = global.URI || {}))); +}(this, (function (exports) { 'use strict'; + +function merge() { + for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) { + sets[_key] = arguments[_key]; + } + + if (sets.length > 1) { + sets[0] = sets[0].slice(0, -1); + var xl = sets.length - 1; + for (var x = 1; x < xl; ++x) { + sets[x] = sets[x].slice(1, -1); + } + sets[xl] = sets[xl].slice(1); + return sets.join(''); + } else { + return sets[0]; + } +} +function subexp(str) { + return "(?:" + str + ")"; +} +function typeOf(o) { + return o === undefined ? "undefined" : o === null ? "null" : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase(); +} +function toUpperCase(str) { + return str.toUpperCase(); +} +function toArray(obj) { + return obj !== undefined && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : []; +} +function assign(target, source) { + var obj = target; + if (source) { + for (var key in source) { + obj[key] = source[key]; + } + } + return obj; +} + +function buildExps(isIRI) { + var ALPHA$$ = "[A-Za-z]", + CR$ = "[\\x0D]", + DIGIT$$ = "[0-9]", + DQUOTE$$ = "[\\x22]", + HEXDIG$$ = merge(DIGIT$$, "[A-Fa-f]"), + //case-insensitive + LF$$ = "[\\x0A]", + SP$$ = "[\\x20]", + PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)), + //expanded + GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", + SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", + RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), + UCSCHAR$$ = isIRI ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", + //subset, excludes bidi control characters + IPRIVATE$$ = isIRI ? "[\\uE000-\\uF8FF]" : "[]", + //subset + UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), + SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), + USERINFO$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]")) + "*"), + DEC_OCTET$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("[1-9]" + DIGIT$$) + "|" + DIGIT$$), + DEC_OCTET_RELAXED$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("0?[1-9]" + DIGIT$$) + "|0?0?" + DIGIT$$), + //relaxed parsing rules + IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$), + H16$ = subexp(HEXDIG$$ + "{1,4}"), + LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), + IPV6ADDRESS1$ = subexp(subexp(H16$ + "\\:") + "{6}" + LS32$), + // 6( h16 ":" ) ls32 + IPV6ADDRESS2$ = subexp("\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), + // "::" 5( h16 ":" ) ls32 + IPV6ADDRESS3$ = subexp(subexp(H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), + //[ h16 ] "::" 4( h16 ":" ) ls32 + IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$), + //[ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 + IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$), + //[ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 + IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), + //[ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 + IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), + //[ *4( h16 ":" ) h16 ] "::" ls32 + IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$), + //[ *5( h16 ":" ) h16 ] "::" h16 + IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:"), + //[ *6( h16 ":" ) h16 ] "::" + IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join("|")), + ZONEID$ = subexp(subexp(UNRESERVED$$ + "|" + PCT_ENCODED$) + "+"), + //RFC 6874 + IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), + //RFC 6874 + IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + ZONEID$), + //RFC 6874, with relaxed parsing rules + IPVFUTURE$ = subexp("[vV]" + HEXDIG$$ + "+\\." + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]") + "+"), + IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), + //RFC 6874 + REG_NAME$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$)) + "*"), + HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")" + "|" + REG_NAME$), + PORT$ = subexp(DIGIT$$ + "*"), + AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), + PCHAR$ = subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@]")), + SEGMENT$ = subexp(PCHAR$ + "*"), + SEGMENT_NZ$ = subexp(PCHAR$ + "+"), + SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\@]")) + "+"), + PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), + PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), + //simplified + PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), + //simplified + PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), + //simplified + PATH_EMPTY$ = "(?!" + PCHAR$ + ")", + PATH$ = subexp(PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), + QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), + FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), + HIER_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), + URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), + RELATIVE_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$), + RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), + URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), + ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), + GENERIC_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + RELATIVE_REF$ = "^(){0}" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + ABSOLUTE_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?$", + SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + AUTHORITY_REF$ = "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$"; + return { + NOT_SCHEME: new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"), + NOT_USERINFO: new RegExp(merge("[^\\%\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_HOST: new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH: new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH_NOSCHEME: new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_QUERY: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"), + NOT_FRAGMENT: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"), + ESCAPE: new RegExp(merge("[^]", UNRESERVED$$, SUB_DELIMS$$), "g"), + UNRESERVED: new RegExp(UNRESERVED$$, "g"), + OTHER_CHARS: new RegExp(merge("[^\\%]", UNRESERVED$$, RESERVED$$), "g"), + PCT_ENCODED: new RegExp(PCT_ENCODED$, "g"), + IPV4ADDRESS: new RegExp("^(" + IPV4ADDRESS$ + ")$"), + IPV6ADDRESS: new RegExp("^\\[?(" + IPV6ADDRESS$ + ")" + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + "(" + ZONEID$ + ")") + "?\\]?$") //RFC 6874, with relaxed parsing rules + }; +} +var URI_PROTOCOL = buildExps(false); + +var IRI_PROTOCOL = buildExps(true); + +var slicedToArray = function () { + function sliceIterator(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"]) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; + } + + return function (arr, i) { + if (Array.isArray(arr)) { + return arr; + } else if (Symbol.iterator in Object(arr)) { + return sliceIterator(arr, i); + } else { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); + } + }; +}(); + + + + + + + + + + + + + +var toConsumableArray = function (arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; + + return arr2; + } else { + return Array.from(arr); + } +}; + +/** Highest positive signed 32-bit float value */ + +var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 + +/** Bootstring parameters */ +var base = 36; +var tMin = 1; +var tMax = 26; +var skew = 38; +var damp = 700; +var initialBias = 72; +var initialN = 128; // 0x80 +var delimiter = '-'; // '\x2D' + +/** Regular expressions */ +var regexPunycode = /^xn--/; +var regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars +var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators + +/** Error messages */ +var errors = { + 'overflow': 'Overflow: input needs wider integers to process', + 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', + 'invalid-input': 'Invalid input' +}; + +/** Convenience shortcuts */ +var baseMinusTMin = base - tMin; +var floor = Math.floor; +var stringFromCharCode = String.fromCharCode; + +/*--------------------------------------------------------------------------*/ + +/** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ +function error$1(type) { + throw new RangeError(errors[type]); +} + +/** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ +function map(array, fn) { + var result = []; + var length = array.length; + while (length--) { + result[length] = fn(array[length]); + } + return result; +} + +/** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ +function mapDomain(string, fn) { + var parts = string.split('@'); + var result = ''; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + '@'; + string = parts[1]; + } + // Avoid `split(regex)` for IE8 compatibility. See #17. + string = string.replace(regexSeparators, '\x2E'); + var labels = string.split('.'); + var encoded = map(labels, fn).join('.'); + return result + encoded; +} + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ +function ucs2decode(string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { + // Low surrogate. + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; +} + +/** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ +var ucs2encode = function ucs2encode(array) { + return String.fromCodePoint.apply(String, toConsumableArray(array)); +}; + +/** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ +var basicToDigit = function basicToDigit(codePoint) { + if (codePoint - 0x30 < 0x0A) { + return codePoint - 0x16; + } + if (codePoint - 0x41 < 0x1A) { + return codePoint - 0x41; + } + if (codePoint - 0x61 < 0x1A) { + return codePoint - 0x61; + } + return base; +}; + +/** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ +var digitToBasic = function digitToBasic(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ +var adapt = function adapt(delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ +var decode = function decode(input) { + // Don't use UCS-2. + var output = []; + var inputLength = input.length; + var i = 0; + var n = initialN; + var bias = initialBias; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + var basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + + for (var j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error$1('not-basic'); + } + output.push(input.charCodeAt(j)); + } + + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (var index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{ + + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + var oldi = i; + for (var w = 1, k = base;; /* no condition */k += base) { + + if (index >= inputLength) { + error$1('invalid-input'); + } + + var digit = basicToDigit(input.charCodeAt(index++)); + + if (digit >= base || digit > floor((maxInt - i) / w)) { + error$1('overflow'); + } + + i += digit * w; + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + + if (digit < t) { + break; + } + + var baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error$1('overflow'); + } + + w *= baseMinusT; + } + + var out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); + + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error$1('overflow'); + } + + n += floor(i / out); + i %= out; + + // Insert `n` at position `i` of the output. + output.splice(i++, 0, n); + } + + return String.fromCodePoint.apply(String, output); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ +var encode = function encode(input) { + var output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + var inputLength = input.length; + + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; + + // Handle the basic code points. + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _currentValue2 = _step.value; + + if (_currentValue2 < 0x80) { + output.push(stringFromCharCode(_currentValue2)); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + var basicLength = output.length; + var handledCPCount = basicLength; + + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + + // All non-basic code points < n have been handled already. Find the next + // larger one: + var m = maxInt; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var currentValue = _step2.value; + + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow. + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error$1('overflow'); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var _currentValue = _step3.value; + + if (_currentValue < n && ++delta > maxInt) { + error$1('overflow'); + } + if (_currentValue == n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + for (var k = base;; /* no condition */k += base) { + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) { + break; + } + var qMinusT = q - t; + var baseMinusT = base - t; + output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + ++delta; + ++n; + } + return output.join(''); +}; + +/** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ +var toUnicode = function toUnicode(input) { + return mapDomain(input, function (string) { + return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; + }); +}; + +/** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ +var toASCII = function toASCII(input) { + return mapDomain(input, function (string) { + return regexNonASCII.test(string) ? 'xn--' + encode(string) : string; + }); +}; + +/*--------------------------------------------------------------------------*/ + +/** Define the public API */ +var punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + 'version': '2.1.0', + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + 'ucs2': { + 'decode': ucs2decode, + 'encode': ucs2encode + }, + 'decode': decode, + 'encode': encode, + 'toASCII': toASCII, + 'toUnicode': toUnicode +}; + +/** + * URI.js + * + * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript. + * @author Gary Court + * @see http://github.com/garycourt/uri-js + */ +/** + * Copyright 2011 Gary Court. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of Gary Court. + */ +var SCHEMES = {}; +function pctEncChar(chr) { + var c = chr.charCodeAt(0); + var e = void 0; + if (c < 16) e = "%0" + c.toString(16).toUpperCase();else if (c < 128) e = "%" + c.toString(16).toUpperCase();else if (c < 2048) e = "%" + (c >> 6 | 192).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase();else e = "%" + (c >> 12 | 224).toString(16).toUpperCase() + "%" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase(); + return e; +} +function pctDecChars(str) { + var newStr = ""; + var i = 0; + var il = str.length; + while (i < il) { + var c = parseInt(str.substr(i + 1, 2), 16); + if (c < 128) { + newStr += String.fromCharCode(c); + i += 3; + } else if (c >= 194 && c < 224) { + if (il - i >= 6) { + var c2 = parseInt(str.substr(i + 4, 2), 16); + newStr += String.fromCharCode((c & 31) << 6 | c2 & 63); + } else { + newStr += str.substr(i, 6); + } + i += 6; + } else if (c >= 224) { + if (il - i >= 9) { + var _c = parseInt(str.substr(i + 4, 2), 16); + var c3 = parseInt(str.substr(i + 7, 2), 16); + newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63); + } else { + newStr += str.substr(i, 9); + } + i += 9; + } else { + newStr += str.substr(i, 3); + i += 3; + } + } + return newStr; +} +function _normalizeComponentEncoding(components, protocol) { + function decodeUnreserved(str) { + var decStr = pctDecChars(str); + return !decStr.match(protocol.UNRESERVED) ? str : decStr; + } + if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, ""); + if (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + return components; +} + +function _stripLeadingZeros(str) { + return str.replace(/^0*(.*)/, "$1") || "0"; +} +function _normalizeIPv4(host, protocol) { + var matches = host.match(protocol.IPV4ADDRESS) || []; + + var _matches = slicedToArray(matches, 2), + address = _matches[1]; + + if (address) { + return address.split(".").map(_stripLeadingZeros).join("."); + } else { + return host; + } +} +function _normalizeIPv6(host, protocol) { + var matches = host.match(protocol.IPV6ADDRESS) || []; + + var _matches2 = slicedToArray(matches, 3), + address = _matches2[1], + zone = _matches2[2]; + + if (address) { + var _address$toLowerCase$ = address.toLowerCase().split('::').reverse(), + _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2), + last = _address$toLowerCase$2[0], + first = _address$toLowerCase$2[1]; + + var firstFields = first ? first.split(":").map(_stripLeadingZeros) : []; + var lastFields = last.split(":").map(_stripLeadingZeros); + var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]); + var fieldCount = isLastFieldIPv4Address ? 7 : 8; + var lastFieldsStart = lastFields.length - fieldCount; + var fields = Array(fieldCount); + for (var x = 0; x < fieldCount; ++x) { + fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || ''; + } + if (isLastFieldIPv4Address) { + fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol); + } + var allZeroFields = fields.reduce(function (acc, field, index) { + if (!field || field === "0") { + var lastLongest = acc[acc.length - 1]; + if (lastLongest && lastLongest.index + lastLongest.length === index) { + lastLongest.length++; + } else { + acc.push({ index: index, length: 1 }); + } + } + return acc; + }, []); + var longestZeroFields = allZeroFields.sort(function (a, b) { + return b.length - a.length; + })[0]; + var newHost = void 0; + if (longestZeroFields && longestZeroFields.length > 1) { + var newFirst = fields.slice(0, longestZeroFields.index); + var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length); + newHost = newFirst.join(":") + "::" + newLast.join(":"); + } else { + newHost = fields.join(":"); + } + if (zone) { + newHost += "%" + zone; + } + return newHost; + } else { + return host; + } +} +var URI_PARSE = /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i; +var NO_MATCH_IS_UNDEFINED = "".match(/(){0}/)[1] === undefined; +function parse(uriString) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var components = {}; + var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; + if (options.reference === "suffix") uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString; + var matches = uriString.match(URI_PARSE); + if (matches) { + if (NO_MATCH_IS_UNDEFINED) { + //store each component + components.scheme = matches[1]; + components.userinfo = matches[3]; + components.host = matches[4]; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = matches[7]; + components.fragment = matches[8]; + //fix port number + if (isNaN(components.port)) { + components.port = matches[5]; + } + } else { + //IE FIX for improper RegExp matching + //store each component + components.scheme = matches[1] || undefined; + components.userinfo = uriString.indexOf("@") !== -1 ? matches[3] : undefined; + components.host = uriString.indexOf("//") !== -1 ? matches[4] : undefined; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = uriString.indexOf("?") !== -1 ? matches[7] : undefined; + components.fragment = uriString.indexOf("#") !== -1 ? matches[8] : undefined; + //fix port number + if (isNaN(components.port)) { + components.port = uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : undefined; + } + } + if (components.host) { + //normalize IP hosts + components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol); + } + //determine reference type + if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) { + components.reference = "same-document"; + } else if (components.scheme === undefined) { + components.reference = "relative"; + } else if (components.fragment === undefined) { + components.reference = "absolute"; + } else { + components.reference = "uri"; + } + //check for reference errors + if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) { + components.error = components.error || "URI is not a " + options.reference + " reference."; + } + //find scheme handler + var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //check if scheme can't handle IRIs + if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) { + //if host component is a domain name + if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) { + //convert Unicode IDN -> ASCII IDN + try { + components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()); + } catch (e) { + components.error = components.error || "Host's domain name can not be converted to ASCII via punycode: " + e; + } + } + //convert IRI -> URI + _normalizeComponentEncoding(components, URI_PROTOCOL); + } else { + //normalize encodings + _normalizeComponentEncoding(components, protocol); + } + //perform scheme specific parsing + if (schemeHandler && schemeHandler.parse) { + schemeHandler.parse(components, options); + } + } else { + components.error = components.error || "URI can not be parsed."; + } + return components; +} + +function _recomposeAuthority(components, options) { + var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; + var uriTokens = []; + if (components.userinfo !== undefined) { + uriTokens.push(components.userinfo); + uriTokens.push("@"); + } + if (components.host !== undefined) { + //normalize IP hosts, add brackets and escape zone separator for IPv6 + uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function (_, $1, $2) { + return "[" + $1 + ($2 ? "%25" + $2 : "") + "]"; + })); + } + if (typeof components.port === "number" || typeof components.port === "string") { + uriTokens.push(":"); + uriTokens.push(String(components.port)); + } + return uriTokens.length ? uriTokens.join("") : undefined; +} + +var RDS1 = /^\.\.?\//; +var RDS2 = /^\/\.(\/|$)/; +var RDS3 = /^\/\.\.(\/|$)/; +var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/; +function removeDotSegments(input) { + var output = []; + while (input.length) { + if (input.match(RDS1)) { + input = input.replace(RDS1, ""); + } else if (input.match(RDS2)) { + input = input.replace(RDS2, "/"); + } else if (input.match(RDS3)) { + input = input.replace(RDS3, "/"); + output.pop(); + } else if (input === "." || input === "..") { + input = ""; + } else { + var im = input.match(RDS5); + if (im) { + var s = im[0]; + input = input.slice(s.length); + output.push(s); + } else { + throw new Error("Unexpected dot segment condition"); + } + } + } + return output.join(""); +} + +function serialize(components) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL; + var uriTokens = []; + //find scheme handler + var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //perform scheme specific serialization + if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options); + if (components.host) { + //if host component is an IPv6 address + if (protocol.IPV6ADDRESS.test(components.host)) {} + //TODO: normalize IPv6 address as per RFC 5952 + + //if host component is a domain name + else if (options.domainHost || schemeHandler && schemeHandler.domainHost) { + //convert IDN via punycode + try { + components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host); + } catch (e) { + components.error = components.error || "Host's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + } + } + //normalize encoding + _normalizeComponentEncoding(components, protocol); + if (options.reference !== "suffix" && components.scheme) { + uriTokens.push(components.scheme); + uriTokens.push(":"); + } + var authority = _recomposeAuthority(components, options); + if (authority !== undefined) { + if (options.reference !== "suffix") { + uriTokens.push("//"); + } + uriTokens.push(authority); + if (components.path && components.path.charAt(0) !== "/") { + uriTokens.push("/"); + } + } + if (components.path !== undefined) { + var s = components.path; + if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) { + s = removeDotSegments(s); + } + if (authority === undefined) { + s = s.replace(/^\/\//, "/%2F"); //don't allow the path to start with "//" + } + uriTokens.push(s); + } + if (components.query !== undefined) { + uriTokens.push("?"); + uriTokens.push(components.query); + } + if (components.fragment !== undefined) { + uriTokens.push("#"); + uriTokens.push(components.fragment); + } + return uriTokens.join(""); //merge tokens into a string +} + +function resolveComponents(base, relative) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var skipNormalization = arguments[3]; + + var target = {}; + if (!skipNormalization) { + base = parse(serialize(base, options), options); //normalize base components + relative = parse(serialize(relative, options), options); //normalize relative components + } + options = options || {}; + if (!options.tolerant && relative.scheme) { + target.scheme = relative.scheme; + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) { + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (!relative.path) { + target.path = base.path; + if (relative.query !== undefined) { + target.query = relative.query; + } else { + target.query = base.query; + } + } else { + if (relative.path.charAt(0) === "/") { + target.path = removeDotSegments(relative.path); + } else { + if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) { + target.path = "/" + relative.path; + } else if (!base.path) { + target.path = relative.path; + } else { + target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path; + } + target.path = removeDotSegments(target.path); + } + target.query = relative.query; + } + //target.authority = base.authority; + target.userinfo = base.userinfo; + target.host = base.host; + target.port = base.port; + } + target.scheme = base.scheme; + } + target.fragment = relative.fragment; + return target; +} + +function resolve(baseURI, relativeURI, options) { + var schemelessOptions = assign({ scheme: 'null' }, options); + return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions); +} + +function normalize(uri, options) { + if (typeof uri === "string") { + uri = serialize(parse(uri, options), options); + } else if (typeOf(uri) === "object") { + uri = parse(serialize(uri, options), options); + } + return uri; +} + +function equal(uriA, uriB, options) { + if (typeof uriA === "string") { + uriA = serialize(parse(uriA, options), options); + } else if (typeOf(uriA) === "object") { + uriA = serialize(uriA, options); + } + if (typeof uriB === "string") { + uriB = serialize(parse(uriB, options), options); + } else if (typeOf(uriB) === "object") { + uriB = serialize(uriB, options); + } + return uriA === uriB; +} + +function escapeComponent(str, options) { + return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar); +} + +function unescapeComponent(str, options) { + return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars); +} + +var handler = { + scheme: "http", + domainHost: true, + parse: function parse(components, options) { + //report missing host + if (!components.host) { + components.error = components.error || "HTTP URIs must have a host."; + } + return components; + }, + serialize: function serialize(components, options) { + var secure = String(components.scheme).toLowerCase() === "https"; + //normalize the default port + if (components.port === (secure ? 443 : 80) || components.port === "") { + components.port = undefined; + } + //normalize the empty path + if (!components.path) { + components.path = "/"; + } + //NOTE: We do not parse query strings for HTTP URIs + //as WWW Form Url Encoded query strings are part of the HTML4+ spec, + //and not the HTTP spec. + return components; + } +}; + +var handler$1 = { + scheme: "https", + domainHost: handler.domainHost, + parse: handler.parse, + serialize: handler.serialize +}; + +function isSecure(wsComponents) { + return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss"; +} +//RFC 6455 +var handler$2 = { + scheme: "ws", + domainHost: true, + parse: function parse(components, options) { + var wsComponents = components; + //indicate if the secure flag is set + wsComponents.secure = isSecure(wsComponents); + //construct resouce name + wsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : ''); + wsComponents.path = undefined; + wsComponents.query = undefined; + return wsComponents; + }, + serialize: function serialize(wsComponents, options) { + //normalize the default port + if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") { + wsComponents.port = undefined; + } + //ensure scheme matches secure flag + if (typeof wsComponents.secure === 'boolean') { + wsComponents.scheme = wsComponents.secure ? 'wss' : 'ws'; + wsComponents.secure = undefined; + } + //reconstruct path from resource name + if (wsComponents.resourceName) { + var _wsComponents$resourc = wsComponents.resourceName.split('?'), + _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2), + path = _wsComponents$resourc2[0], + query = _wsComponents$resourc2[1]; + + wsComponents.path = path && path !== '/' ? path : undefined; + wsComponents.query = query; + wsComponents.resourceName = undefined; + } + //forbid fragment component + wsComponents.fragment = undefined; + return wsComponents; + } +}; + +var handler$3 = { + scheme: "wss", + domainHost: handler$2.domainHost, + parse: handler$2.parse, + serialize: handler$2.serialize +}; + +var O = {}; +var isIRI = true; +//RFC 3986 +var UNRESERVED$$ = "[A-Za-z0-9\\-\\.\\_\\~" + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + "]"; +var HEXDIG$$ = "[0-9A-Fa-f]"; //case-insensitive +var PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)); //expanded +//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; = +//const ATEXT$$ = "[A-Za-z0-9\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QTEXT$$ = "[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]"; //(%d1-8 / %d11-12 / %d14-31 / %d127) +//const QTEXT$$ = merge("[\\x21\\x23-\\x5B\\x5D-\\x7E]", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext +//const VCHAR$$ = "[\\x21-\\x7E]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QP$ = subexp("\\\\" + merge("[\\x00\\x0D\\x0A]", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext +//const FWS$ = subexp(subexp(WSP$$ + "*" + "\\x0D\\x0A") + "?" + WSP$$ + "+"); +//const QUOTED_PAIR$ = subexp(subexp("\\\\" + subexp(VCHAR$$ + "|" + WSP$$)) + "|" + OBS_QP$); +//const QUOTED_STRING$ = subexp('\\"' + subexp(FWS$ + "?" + QCONTENT$) + "*" + FWS$ + "?" + '\\"'); +var ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]"; +var QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]"; +var VCHAR$$ = merge(QTEXT$$, "[\\\"\\\\]"); +var SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"; +var UNRESERVED = new RegExp(UNRESERVED$$, "g"); +var PCT_ENCODED = new RegExp(PCT_ENCODED$, "g"); +var NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g"); +var NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g"); +var NOT_HFVALUE = NOT_HFNAME; +function decodeUnreserved(str) { + var decStr = pctDecChars(str); + return !decStr.match(UNRESERVED) ? str : decStr; +} +var handler$4 = { + scheme: "mailto", + parse: function parse$$1(components, options) { + var mailtoComponents = components; + var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(",") : []; + mailtoComponents.path = undefined; + if (mailtoComponents.query) { + var unknownHeaders = false; + var headers = {}; + var hfields = mailtoComponents.query.split("&"); + for (var x = 0, xl = hfields.length; x < xl; ++x) { + var hfield = hfields[x].split("="); + switch (hfield[0]) { + case "to": + var toAddrs = hfield[1].split(","); + for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) { + to.push(toAddrs[_x]); + } + break; + case "subject": + mailtoComponents.subject = unescapeComponent(hfield[1], options); + break; + case "body": + mailtoComponents.body = unescapeComponent(hfield[1], options); + break; + default: + unknownHeaders = true; + headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options); + break; + } + } + if (unknownHeaders) mailtoComponents.headers = headers; + } + mailtoComponents.query = undefined; + for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) { + var addr = to[_x2].split("@"); + addr[0] = unescapeComponent(addr[0]); + if (!options.unicodeSupport) { + //convert Unicode IDN -> ASCII IDN + try { + addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase()); + } catch (e) { + mailtoComponents.error = mailtoComponents.error || "Email address's domain name can not be converted to ASCII via punycode: " + e; + } + } else { + addr[1] = unescapeComponent(addr[1], options).toLowerCase(); + } + to[_x2] = addr.join("@"); + } + return mailtoComponents; + }, + serialize: function serialize$$1(mailtoComponents, options) { + var components = mailtoComponents; + var to = toArray(mailtoComponents.to); + if (to) { + for (var x = 0, xl = to.length; x < xl; ++x) { + var toAddr = String(to[x]); + var atIdx = toAddr.lastIndexOf("@"); + var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar); + var domain = toAddr.slice(atIdx + 1); + //convert IDN via punycode + try { + domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain); + } catch (e) { + components.error = components.error || "Email address's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + to[x] = localPart + "@" + domain; + } + components.path = to.join(","); + } + var headers = mailtoComponents.headers = mailtoComponents.headers || {}; + if (mailtoComponents.subject) headers["subject"] = mailtoComponents.subject; + if (mailtoComponents.body) headers["body"] = mailtoComponents.body; + var fields = []; + for (var name in headers) { + if (headers[name] !== O[name]) { + fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + "=" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)); + } + } + if (fields.length) { + components.query = fields.join("&"); + } + return components; + } +}; + +var URN_PARSE = /^([^\:]+)\:(.*)/; +//RFC 2141 +var handler$5 = { + scheme: "urn", + parse: function parse$$1(components, options) { + var matches = components.path && components.path.match(URN_PARSE); + var urnComponents = components; + if (matches) { + var scheme = options.scheme || urnComponents.scheme || "urn"; + var nid = matches[1].toLowerCase(); + var nss = matches[2]; + var urnScheme = scheme + ":" + (options.nid || nid); + var schemeHandler = SCHEMES[urnScheme]; + urnComponents.nid = nid; + urnComponents.nss = nss; + urnComponents.path = undefined; + if (schemeHandler) { + urnComponents = schemeHandler.parse(urnComponents, options); + } + } else { + urnComponents.error = urnComponents.error || "URN can not be parsed."; + } + return urnComponents; + }, + serialize: function serialize$$1(urnComponents, options) { + var scheme = options.scheme || urnComponents.scheme || "urn"; + var nid = urnComponents.nid; + var urnScheme = scheme + ":" + (options.nid || nid); + var schemeHandler = SCHEMES[urnScheme]; + if (schemeHandler) { + urnComponents = schemeHandler.serialize(urnComponents, options); + } + var uriComponents = urnComponents; + var nss = urnComponents.nss; + uriComponents.path = (nid || options.nid) + ":" + nss; + return uriComponents; + } +}; + +var UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/; +//RFC 4122 +var handler$6 = { + scheme: "urn:uuid", + parse: function parse(urnComponents, options) { + var uuidComponents = urnComponents; + uuidComponents.uuid = uuidComponents.nss; + uuidComponents.nss = undefined; + if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) { + uuidComponents.error = uuidComponents.error || "UUID is not valid."; + } + return uuidComponents; + }, + serialize: function serialize(uuidComponents, options) { + var urnComponents = uuidComponents; + //normalize UUID + urnComponents.nss = (uuidComponents.uuid || "").toLowerCase(); + return urnComponents; + } +}; + +SCHEMES[handler.scheme] = handler; +SCHEMES[handler$1.scheme] = handler$1; +SCHEMES[handler$2.scheme] = handler$2; +SCHEMES[handler$3.scheme] = handler$3; +SCHEMES[handler$4.scheme] = handler$4; +SCHEMES[handler$5.scheme] = handler$5; +SCHEMES[handler$6.scheme] = handler$6; + +exports.SCHEMES = SCHEMES; +exports.pctEncChar = pctEncChar; +exports.pctDecChars = pctDecChars; +exports.parse = parse; +exports.removeDotSegments = removeDotSegments; +exports.serialize = serialize; +exports.resolveComponents = resolveComponents; +exports.resolve = resolve; +exports.normalize = normalize; +exports.equal = equal; +exports.escapeComponent = escapeComponent; +exports.unescapeComponent = unescapeComponent; + +Object.defineProperty(exports, '__esModule', { value: true }); + +}))); +//# sourceMappingURL=uri.all.js.map diff --git a/node_modules/uri-js/dist/es5/uri.all.js.map b/node_modules/uri-js/dist/es5/uri.all.js.map new file mode 100644 index 00000000..5b30c4e2 --- /dev/null +++ b/node_modules/uri-js/dist/es5/uri.all.js.map @@ -0,0 +1 @@ +{"version":3,"file":"uri.all.js","sources":["../../src/index.ts","../../src/schemes/urn-uuid.ts","../../src/schemes/urn.ts","../../src/schemes/mailto.ts","../../src/schemes/wss.ts","../../src/schemes/ws.ts","../../src/schemes/https.ts","../../src/schemes/http.ts","../../src/uri.ts","../../node_modules/punycode/punycode.es6.js","../../src/regexps-iri.ts","../../src/regexps-uri.ts","../../src/util.ts"],"sourcesContent":["import { SCHEMES } from \"./uri\";\n\nimport http from \"./schemes/http\";\nSCHEMES[http.scheme] = http;\n\nimport https from \"./schemes/https\";\nSCHEMES[https.scheme] = https;\n\nimport ws from \"./schemes/ws\";\nSCHEMES[ws.scheme] = ws;\n\nimport wss from \"./schemes/wss\";\nSCHEMES[wss.scheme] = wss;\n\nimport mailto from \"./schemes/mailto\";\nSCHEMES[mailto.scheme] = mailto;\n\nimport urn from \"./schemes/urn\";\nSCHEMES[urn.scheme] = urn;\n\nimport uuid from \"./schemes/urn-uuid\";\nSCHEMES[uuid.scheme] = uuid;\n\nexport * from \"./uri\";\n","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { URNComponents } from \"./urn\";\nimport { SCHEMES } from \"../uri\";\n\nexport interface UUIDComponents extends URNComponents {\n\tuuid?: string;\n}\n\nconst UUID = /^[0-9A-Fa-f]{8}(?:\\-[0-9A-Fa-f]{4}){3}\\-[0-9A-Fa-f]{12}$/;\nconst UUID_PARSE = /^[0-9A-Fa-f\\-]{36}/;\n\n//RFC 4122\nconst handler:URISchemeHandler = {\n\tscheme : \"urn:uuid\",\n\n\tparse : function (urnComponents:URNComponents, options:URIOptions):UUIDComponents {\n\t\tconst uuidComponents = urnComponents as UUIDComponents;\n\t\tuuidComponents.uuid = uuidComponents.nss;\n\t\tuuidComponents.nss = undefined;\n\n\t\tif (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) {\n\t\t\tuuidComponents.error = uuidComponents.error || \"UUID is not valid.\";\n\t\t}\n\n\t\treturn uuidComponents;\n\t},\n\n\tserialize : function (uuidComponents:UUIDComponents, options:URIOptions):URNComponents {\n\t\tconst urnComponents = uuidComponents as URNComponents;\n\t\t//normalize UUID\n\t\turnComponents.nss = (uuidComponents.uuid || \"\").toLowerCase();\n\t\treturn urnComponents;\n\t},\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { pctEncChar, SCHEMES } from \"../uri\";\n\nexport interface URNComponents extends URIComponents {\n\tnid?:string;\n\tnss?:string;\n}\n\nexport interface URNOptions extends URIOptions {\n\tnid?:string;\n}\n\nconst NID$ = \"(?:[0-9A-Za-z][0-9A-Za-z\\\\-]{1,31})\";\nconst PCT_ENCODED$ = \"(?:\\\\%[0-9A-Fa-f]{2})\";\nconst TRANS$$ = \"[0-9A-Za-z\\\\(\\\\)\\\\+\\\\,\\\\-\\\\.\\\\:\\\\=\\\\@\\\\;\\\\$\\\\_\\\\!\\\\*\\\\'\\\\/\\\\?\\\\#]\";\nconst NSS$ = \"(?:(?:\" + PCT_ENCODED$ + \"|\" + TRANS$$ + \")+)\";\nconst URN_SCHEME = new RegExp(\"^urn\\\\:(\" + NID$ + \")$\");\nconst URN_PATH = new RegExp(\"^(\" + NID$ + \")\\\\:(\" + NSS$ + \")$\");\nconst URN_PARSE = /^([^\\:]+)\\:(.*)/;\nconst URN_EXCLUDED = /[\\x00-\\x20\\\\\\\"\\&\\<\\>\\[\\]\\^\\`\\{\\|\\}\\~\\x7F-\\xFF]/g;\n\n//RFC 2141\nconst handler:URISchemeHandler = {\n\tscheme : \"urn\",\n\n\tparse : function (components:URIComponents, options:URNOptions):URNComponents {\n\t\tconst matches = components.path && components.path.match(URN_PARSE);\n\t\tlet urnComponents = components as URNComponents;\n\n\t\tif (matches) {\n\t\t\tconst scheme = options.scheme || urnComponents.scheme || \"urn\";\n\t\t\tconst nid = matches[1].toLowerCase();\n\t\t\tconst nss = matches[2];\n\t\t\tconst urnScheme = `${scheme}:${options.nid || nid}`;\n\t\t\tconst schemeHandler = SCHEMES[urnScheme];\n\n\t\t\turnComponents.nid = nid;\n\t\t\turnComponents.nss = nss;\n\t\t\turnComponents.path = undefined;\n\n\t\t\tif (schemeHandler) {\n\t\t\t\turnComponents = schemeHandler.parse(urnComponents, options) as URNComponents;\n\t\t\t}\n\t\t} else {\n\t\t\turnComponents.error = urnComponents.error || \"URN can not be parsed.\";\n\t\t}\n\n\t\treturn urnComponents;\n\t},\n\n\tserialize : function (urnComponents:URNComponents, options:URNOptions):URIComponents {\n\t\tconst scheme = options.scheme || urnComponents.scheme || \"urn\";\n\t\tconst nid = urnComponents.nid;\n\t\tconst urnScheme = `${scheme}:${options.nid || nid}`;\n\t\tconst schemeHandler = SCHEMES[urnScheme];\n\n\t\tif (schemeHandler) {\n\t\t\turnComponents = schemeHandler.serialize(urnComponents, options) as URNComponents;\n\t\t}\n\n\t\tconst uriComponents = urnComponents as URIComponents;\n\t\tconst nss = urnComponents.nss;\n\t\turiComponents.path = `${nid || options.nid}:${nss}`;\n\n\t\treturn uriComponents;\n\t},\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { pctEncChar, pctDecChars, unescapeComponent } from \"../uri\";\nimport punycode from \"punycode\";\nimport { merge, subexp, toUpperCase, toArray } from \"../util\";\n\nexport interface MailtoHeaders {\n\t[hfname:string]:string\n}\n\nexport interface MailtoComponents extends URIComponents {\n\tto:Array,\n\theaders?:MailtoHeaders,\n\tsubject?:string,\n\tbody?:string\n}\n\nconst O:MailtoHeaders = {};\nconst isIRI = true;\n\n//RFC 3986\nconst UNRESERVED$$ = \"[A-Za-z0-9\\\\-\\\\.\\\\_\\\\~\" + (isIRI ? \"\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF\" : \"\") + \"]\";\nconst HEXDIG$$ = \"[0-9A-Fa-f]\"; //case-insensitive\nconst PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)); //expanded\n\n//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; =\n//const ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\#\\\\$\\\\%\\\\&\\\\'\\\\*\\\\+\\\\-\\\\/\\\\=\\\\?\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QTEXT$$ = \"[\\\\x01-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7F]\"; //(%d1-8 / %d11-12 / %d14-31 / %d127)\n//const QTEXT$$ = merge(\"[\\\\x21\\\\x23-\\\\x5B\\\\x5D-\\\\x7E]\", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext\n//const VCHAR$$ = \"[\\\\x21-\\\\x7E]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QP$ = subexp(\"\\\\\\\\\" + merge(\"[\\\\x00\\\\x0D\\\\x0A]\", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext\n//const FWS$ = subexp(subexp(WSP$$ + \"*\" + \"\\\\x0D\\\\x0A\") + \"?\" + WSP$$ + \"+\");\n//const QUOTED_PAIR$ = subexp(subexp(\"\\\\\\\\\" + subexp(VCHAR$$ + \"|\" + WSP$$)) + \"|\" + OBS_QP$);\n//const QUOTED_STRING$ = subexp('\\\\\"' + subexp(FWS$ + \"?\" + QCONTENT$) + \"*\" + FWS$ + \"?\" + '\\\\\"');\nconst ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\$\\\\%\\\\'\\\\*\\\\+\\\\-\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\nconst QTEXT$$ = \"[\\\\!\\\\$\\\\%\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\.0-9\\\\<\\\\>A-Z\\\\x5E-\\\\x7E]\";\nconst VCHAR$$ = merge(QTEXT$$, \"[\\\\\\\"\\\\\\\\]\");\nconst DOT_ATOM_TEXT$ = subexp(ATEXT$$ + \"+\" + subexp(\"\\\\.\" + ATEXT$$ + \"+\") + \"*\");\nconst QUOTED_PAIR$ = subexp(\"\\\\\\\\\" + VCHAR$$);\nconst QCONTENT$ = subexp(QTEXT$$ + \"|\" + QUOTED_PAIR$);\nconst QUOTED_STRING$ = subexp('\\\\\"' + QCONTENT$ + \"*\" + '\\\\\"');\n\n//RFC 6068\nconst DTEXT_NO_OBS$$ = \"[\\\\x21-\\\\x5A\\\\x5E-\\\\x7E]\"; //%d33-90 / %d94-126\nconst SOME_DELIMS$$ = \"[\\\\!\\\\$\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\:\\\\@]\";\nconst QCHAR$ = subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$ + \"|\" + SOME_DELIMS$$);\nconst DOMAIN$ = subexp(DOT_ATOM_TEXT$ + \"|\" + \"\\\\[\" + DTEXT_NO_OBS$$ + \"*\" + \"\\\\]\");\nconst LOCAL_PART$ = subexp(DOT_ATOM_TEXT$ + \"|\" + QUOTED_STRING$);\nconst ADDR_SPEC$ = subexp(LOCAL_PART$ + \"\\\\@\" + DOMAIN$);\nconst TO$ = subexp(ADDR_SPEC$ + subexp(\"\\\\,\" + ADDR_SPEC$) + \"*\");\nconst HFNAME$ = subexp(QCHAR$ + \"*\");\nconst HFVALUE$ = HFNAME$;\nconst HFIELD$ = subexp(HFNAME$ + \"\\\\=\" + HFVALUE$);\nconst HFIELDS2$ = subexp(HFIELD$ + subexp(\"\\\\&\" + HFIELD$) + \"*\");\nconst HFIELDS$ = subexp(\"\\\\?\" + HFIELDS2$);\nconst MAILTO_URI = new RegExp(\"^mailto\\\\:\" + TO$ + \"?\" + HFIELDS$ + \"?$\");\n\nconst UNRESERVED = new RegExp(UNRESERVED$$, \"g\");\nconst PCT_ENCODED = new RegExp(PCT_ENCODED$, \"g\");\nconst NOT_LOCAL_PART = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", '[\\\\\"]', VCHAR$$), \"g\");\nconst NOT_DOMAIN = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", \"[\\\\[]\", DTEXT_NO_OBS$$, \"[\\\\]]\"), \"g\");\nconst NOT_HFNAME = new RegExp(merge(\"[^]\", UNRESERVED$$, SOME_DELIMS$$), \"g\");\nconst NOT_HFVALUE = NOT_HFNAME;\nconst TO = new RegExp(\"^\" + TO$ + \"$\");\nconst HFIELDS = new RegExp(\"^\" + HFIELDS2$ + \"$\");\n\nfunction decodeUnreserved(str:string):string {\n\tconst decStr = pctDecChars(str);\n\treturn (!decStr.match(UNRESERVED) ? str : decStr);\n}\n\nconst handler:URISchemeHandler = {\n\tscheme : \"mailto\",\n\n\tparse : function (components:URIComponents, options:URIOptions):MailtoComponents {\n\t\tconst mailtoComponents = components as MailtoComponents;\n\t\tconst to = mailtoComponents.to = (mailtoComponents.path ? mailtoComponents.path.split(\",\") : []);\n\t\tmailtoComponents.path = undefined;\n\n\t\tif (mailtoComponents.query) {\n\t\t\tlet unknownHeaders = false\n\t\t\tconst headers:MailtoHeaders = {};\n\t\t\tconst hfields = mailtoComponents.query.split(\"&\");\n\n\t\t\tfor (let x = 0, xl = hfields.length; x < xl; ++x) {\n\t\t\t\tconst hfield = hfields[x].split(\"=\");\n\n\t\t\t\tswitch (hfield[0]) {\n\t\t\t\t\tcase \"to\":\n\t\t\t\t\t\tconst toAddrs = hfield[1].split(\",\");\n\t\t\t\t\t\tfor (let x = 0, xl = toAddrs.length; x < xl; ++x) {\n\t\t\t\t\t\t\tto.push(toAddrs[x]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"subject\":\n\t\t\t\t\t\tmailtoComponents.subject = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"body\":\n\t\t\t\t\t\tmailtoComponents.body = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tunknownHeaders = true;\n\t\t\t\t\t\theaders[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (unknownHeaders) mailtoComponents.headers = headers;\n\t\t}\n\n\t\tmailtoComponents.query = undefined;\n\n\t\tfor (let x = 0, xl = to.length; x < xl; ++x) {\n\t\t\tconst addr = to[x].split(\"@\");\n\n\t\t\taddr[0] = unescapeComponent(addr[0]);\n\n\t\t\tif (!options.unicodeSupport) {\n\t\t\t\t//convert Unicode IDN -> ASCII IDN\n\t\t\t\ttry {\n\t\t\t\t\taddr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase());\n\t\t\t\t} catch (e) {\n\t\t\t\t\tmailtoComponents.error = mailtoComponents.error || \"Email address's domain name can not be converted to ASCII via punycode: \" + e;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\taddr[1] = unescapeComponent(addr[1], options).toLowerCase();\n\t\t\t}\n\n\t\t\tto[x] = addr.join(\"@\");\n\t\t}\n\n\t\treturn mailtoComponents;\n\t},\n\n\tserialize : function (mailtoComponents:MailtoComponents, options:URIOptions):URIComponents {\n\t\tconst components = mailtoComponents as URIComponents;\n\t\tconst to = toArray(mailtoComponents.to);\n\t\tif (to) {\n\t\t\tfor (let x = 0, xl = to.length; x < xl; ++x) {\n\t\t\t\tconst toAddr = String(to[x]);\n\t\t\t\tconst atIdx = toAddr.lastIndexOf(\"@\");\n\t\t\t\tconst localPart = (toAddr.slice(0, atIdx)).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar);\n\t\t\t\tlet domain = toAddr.slice(atIdx + 1);\n\n\t\t\t\t//convert IDN via punycode\n\t\t\t\ttry {\n\t\t\t\t\tdomain = (!options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain));\n\t\t\t\t} catch (e) {\n\t\t\t\t\tcomponents.error = components.error || \"Email address's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n\t\t\t\t}\n\n\t\t\t\tto[x] = localPart + \"@\" + domain;\n\t\t\t}\n\n\t\t\tcomponents.path = to.join(\",\");\n\t\t}\n\n\t\tconst headers = mailtoComponents.headers = mailtoComponents.headers || {};\n\n\t\tif (mailtoComponents.subject) headers[\"subject\"] = mailtoComponents.subject;\n\t\tif (mailtoComponents.body) headers[\"body\"] = mailtoComponents.body;\n\n\t\tconst fields = [];\n\t\tfor (const name in headers) {\n\t\t\tif (headers[name] !== O[name]) {\n\t\t\t\tfields.push(\n\t\t\t\t\tname.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) +\n\t\t\t\t\t\"=\" +\n\t\t\t\t\theaders[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (fields.length) {\n\t\t\tcomponents.query = fields.join(\"&\");\n\t\t}\n\n\t\treturn components;\n\t}\n}\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport ws from \"./ws\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"wss\",\n\tdomainHost : ws.domainHost,\n\tparse : ws.parse,\n\tserialize : ws.serialize\n}\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\n\nexport interface WSComponents extends URIComponents {\n\tresourceName?: string;\n\tsecure?: boolean;\n}\n\nfunction isSecure(wsComponents:WSComponents):boolean {\n\treturn typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === \"wss\";\n}\n\n//RFC 6455\nconst handler:URISchemeHandler = {\n\tscheme : \"ws\",\n\n\tdomainHost : true,\n\n\tparse : function (components:URIComponents, options:URIOptions):WSComponents {\n\t\tconst wsComponents = components as WSComponents;\n\n\t\t//indicate if the secure flag is set\n\t\twsComponents.secure = isSecure(wsComponents);\n\n\t\t//construct resouce name\n\t\twsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : '');\n\t\twsComponents.path = undefined;\n\t\twsComponents.query = undefined;\n\n\t\treturn wsComponents;\n\t},\n\n\tserialize : function (wsComponents:WSComponents, options:URIOptions):URIComponents {\n\t\t//normalize the default port\n\t\tif (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === \"\") {\n\t\t\twsComponents.port = undefined;\n\t\t}\n\n\t\t//ensure scheme matches secure flag\n\t\tif (typeof wsComponents.secure === 'boolean') {\n\t\t\twsComponents.scheme = (wsComponents.secure ? 'wss' : 'ws');\n\t\t\twsComponents.secure = undefined;\n\t\t}\n\n\t\t//reconstruct path from resource name\n\t\tif (wsComponents.resourceName) {\n\t\t\tconst [path, query] = wsComponents.resourceName.split('?');\n\t\t\twsComponents.path = (path && path !== '/' ? path : undefined);\n\t\t\twsComponents.query = query;\n\t\t\twsComponents.resourceName = undefined;\n\t\t}\n\n\t\t//forbid fragment component\n\t\twsComponents.fragment = undefined;\n\n\t\treturn wsComponents;\n\t}\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport http from \"./http\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"https\",\n\tdomainHost : http.domainHost,\n\tparse : http.parse,\n\tserialize : http.serialize\n}\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"http\",\n\n\tdomainHost : true,\n\n\tparse : function (components:URIComponents, options:URIOptions):URIComponents {\n\t\t//report missing host\n\t\tif (!components.host) {\n\t\t\tcomponents.error = components.error || \"HTTP URIs must have a host.\";\n\t\t}\n\n\t\treturn components;\n\t},\n\n\tserialize : function (components:URIComponents, options:URIOptions):URIComponents {\n\t\tconst secure = String(components.scheme).toLowerCase() === \"https\";\n\n\t\t//normalize the default port\n\t\tif (components.port === (secure ? 443 : 80) || components.port === \"\") {\n\t\t\tcomponents.port = undefined;\n\t\t}\n\t\t\n\t\t//normalize the empty path\n\t\tif (!components.path) {\n\t\t\tcomponents.path = \"/\";\n\t\t}\n\n\t\t//NOTE: We do not parse query strings for HTTP URIs\n\t\t//as WWW Form Url Encoded query strings are part of the HTML4+ spec,\n\t\t//and not the HTTP spec.\n\n\t\treturn components;\n\t}\n};\n\nexport default handler;","/**\n * URI.js\n *\n * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript.\n * @author Gary Court\n * @see http://github.com/garycourt/uri-js\n */\n\n/**\n * Copyright 2011 Gary Court. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are\n * permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this list of\n * conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list\n * of conditions and the following disclaimer in the documentation and/or other materials\n * provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\n * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * The views and conclusions contained in the software and documentation are those of the\n * authors and should not be interpreted as representing official policies, either expressed\n * or implied, of Gary Court.\n */\n\nimport URI_PROTOCOL from \"./regexps-uri\";\nimport IRI_PROTOCOL from \"./regexps-iri\";\nimport punycode from \"punycode\";\nimport { toUpperCase, typeOf, assign } from \"./util\";\n\nexport interface URIComponents {\n\tscheme?:string;\n\tuserinfo?:string;\n\thost?:string;\n\tport?:number|string;\n\tpath?:string;\n\tquery?:string;\n\tfragment?:string;\n\treference?:string;\n\terror?:string;\n}\n\nexport interface URIOptions {\n\tscheme?:string;\n\treference?:string;\n\ttolerant?:boolean;\n\tabsolutePath?:boolean;\n\tiri?:boolean;\n\tunicodeSupport?:boolean;\n\tdomainHost?:boolean;\n}\n\nexport interface URISchemeHandler {\n\tscheme:string;\n\tparse(components:ParentComponents, options:Options):Components;\n\tserialize(components:Components, options:Options):ParentComponents;\n\tunicodeSupport?:boolean;\n\tdomainHost?:boolean;\n\tabsolutePath?:boolean;\n}\n\nexport interface URIRegExps {\n\tNOT_SCHEME : RegExp,\n\tNOT_USERINFO : RegExp,\n\tNOT_HOST : RegExp,\n\tNOT_PATH : RegExp,\n\tNOT_PATH_NOSCHEME : RegExp,\n\tNOT_QUERY : RegExp,\n\tNOT_FRAGMENT : RegExp,\n\tESCAPE : RegExp,\n\tUNRESERVED : RegExp,\n\tOTHER_CHARS : RegExp,\n\tPCT_ENCODED : RegExp,\n\tIPV4ADDRESS : RegExp,\n\tIPV6ADDRESS : RegExp,\n}\n\nexport const SCHEMES:{[scheme:string]:URISchemeHandler} = {};\n\nexport function pctEncChar(chr:string):string {\n\tconst c = chr.charCodeAt(0);\n\tlet e:string;\n\n\tif (c < 16) e = \"%0\" + c.toString(16).toUpperCase();\n\telse if (c < 128) e = \"%\" + c.toString(16).toUpperCase();\n\telse if (c < 2048) e = \"%\" + ((c >> 6) | 192).toString(16).toUpperCase() + \"%\" + ((c & 63) | 128).toString(16).toUpperCase();\n\telse e = \"%\" + ((c >> 12) | 224).toString(16).toUpperCase() + \"%\" + (((c >> 6) & 63) | 128).toString(16).toUpperCase() + \"%\" + ((c & 63) | 128).toString(16).toUpperCase();\n\n\treturn e;\n}\n\nexport function pctDecChars(str:string):string {\n\tlet newStr = \"\";\n\tlet i = 0;\n\tconst il = str.length;\n\n\twhile (i < il) {\n\t\tconst c = parseInt(str.substr(i + 1, 2), 16);\n\n\t\tif (c < 128) {\n\t\t\tnewStr += String.fromCharCode(c);\n\t\t\ti += 3;\n\t\t}\n\t\telse if (c >= 194 && c < 224) {\n\t\t\tif ((il - i) >= 6) {\n\t\t\t\tconst c2 = parseInt(str.substr(i + 4, 2), 16);\n\t\t\t\tnewStr += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\n\t\t\t} else {\n\t\t\t\tnewStr += str.substr(i, 6);\n\t\t\t}\n\t\t\ti += 6;\n\t\t}\n\t\telse if (c >= 224) {\n\t\t\tif ((il - i) >= 9) {\n\t\t\t\tconst c2 = parseInt(str.substr(i + 4, 2), 16);\n\t\t\t\tconst c3 = parseInt(str.substr(i + 7, 2), 16);\n\t\t\t\tnewStr += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\n\t\t\t} else {\n\t\t\t\tnewStr += str.substr(i, 9);\n\t\t\t}\n\t\t\ti += 9;\n\t\t}\n\t\telse {\n\t\t\tnewStr += str.substr(i, 3);\n\t\t\ti += 3;\n\t\t}\n\t}\n\n\treturn newStr;\n}\n\nfunction _normalizeComponentEncoding(components:URIComponents, protocol:URIRegExps) {\n\tfunction decodeUnreserved(str:string):string {\n\t\tconst decStr = pctDecChars(str);\n\t\treturn (!decStr.match(protocol.UNRESERVED) ? str : decStr);\n\t}\n\n\tif (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, \"\");\n\tif (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace((components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME), pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\n\treturn components;\n};\n\nfunction _stripLeadingZeros(str:string):string {\n\treturn str.replace(/^0*(.*)/, \"$1\") || \"0\";\n}\n\nfunction _normalizeIPv4(host:string, protocol:URIRegExps):string {\n\tconst matches = host.match(protocol.IPV4ADDRESS) || [];\n\tconst [, address] = matches;\n\t\n\tif (address) {\n\t\treturn address.split(\".\").map(_stripLeadingZeros).join(\".\");\n\t} else {\n\t\treturn host;\n\t}\n}\n\nfunction _normalizeIPv6(host:string, protocol:URIRegExps):string {\n\tconst matches = host.match(protocol.IPV6ADDRESS) || [];\n\tconst [, address, zone] = matches;\n\n\tif (address) {\n\t\tconst [last, first] = address.toLowerCase().split('::').reverse();\n\t\tconst firstFields = first ? first.split(\":\").map(_stripLeadingZeros) : [];\n\t\tconst lastFields = last.split(\":\").map(_stripLeadingZeros);\n\t\tconst isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]);\n\t\tconst fieldCount = isLastFieldIPv4Address ? 7 : 8;\n\t\tconst lastFieldsStart = lastFields.length - fieldCount;\n\t\tconst fields = Array(fieldCount);\n\n\t\tfor (let x = 0; x < fieldCount; ++x) {\n\t\t\tfields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || '';\n\t\t}\n\n\t\tif (isLastFieldIPv4Address) {\n\t\t\tfields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol);\n\t\t}\n\n\t\tconst allZeroFields = fields.reduce>((acc, field, index) => {\n\t\t\tif (!field || field === \"0\") {\n\t\t\t\tconst lastLongest = acc[acc.length - 1];\n\t\t\t\tif (lastLongest && lastLongest.index + lastLongest.length === index) {\n\t\t\t\t\tlastLongest.length++;\n\t\t\t\t} else {\n\t\t\t\t\tacc.push({ index, length : 1 });\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, []);\n\n\t\tconst longestZeroFields = allZeroFields.sort((a, b) => b.length - a.length)[0];\n\n\t\tlet newHost:string;\n\t\tif (longestZeroFields && longestZeroFields.length > 1) {\n\t\t\tconst newFirst = fields.slice(0, longestZeroFields.index) ;\n\t\t\tconst newLast = fields.slice(longestZeroFields.index + longestZeroFields.length);\n\t\t\tnewHost = newFirst.join(\":\") + \"::\" + newLast.join(\":\");\n\t\t} else {\n\t\t\tnewHost = fields.join(\":\");\n\t\t}\n\n\t\tif (zone) {\n\t\t\tnewHost += \"%\" + zone;\n\t\t}\n\n\t\treturn newHost;\n\t} else {\n\t\treturn host;\n\t}\n}\n\nconst URI_PARSE = /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:([^\\/?#@]*)@)?(\\[[^\\/?#\\]]+\\]|[^\\/?#:]*)(?:\\:(\\d*))?))?([^?#]*)(?:\\?([^#]*))?(?:#((?:.|\\n|\\r)*))?/i;\nconst NO_MATCH_IS_UNDEFINED = ((\"\").match(/(){0}/))[1] === undefined;\n\nexport function parse(uriString:string, options:URIOptions = {}):URIComponents {\n\tconst components:URIComponents = {};\n\tconst protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL);\n\n\tif (options.reference === \"suffix\") uriString = (options.scheme ? options.scheme + \":\" : \"\") + \"//\" + uriString;\n\n\tconst matches = uriString.match(URI_PARSE);\n\n\tif (matches) {\n\t\tif (NO_MATCH_IS_UNDEFINED) {\n\t\t\t//store each component\n\t\t\tcomponents.scheme = matches[1];\n\t\t\tcomponents.userinfo = matches[3];\n\t\t\tcomponents.host = matches[4];\n\t\t\tcomponents.port = parseInt(matches[5], 10);\n\t\t\tcomponents.path = matches[6] || \"\";\n\t\t\tcomponents.query = matches[7];\n\t\t\tcomponents.fragment = matches[8];\n\n\t\t\t//fix port number\n\t\t\tif (isNaN(components.port)) {\n\t\t\t\tcomponents.port = matches[5];\n\t\t\t}\n\t\t} else { //IE FIX for improper RegExp matching\n\t\t\t//store each component\n\t\t\tcomponents.scheme = matches[1] || undefined;\n\t\t\tcomponents.userinfo = (uriString.indexOf(\"@\") !== -1 ? matches[3] : undefined);\n\t\t\tcomponents.host = (uriString.indexOf(\"//\") !== -1 ? matches[4] : undefined);\n\t\t\tcomponents.port = parseInt(matches[5], 10);\n\t\t\tcomponents.path = matches[6] || \"\";\n\t\t\tcomponents.query = (uriString.indexOf(\"?\") !== -1 ? matches[7] : undefined);\n\t\t\tcomponents.fragment = (uriString.indexOf(\"#\") !== -1 ? matches[8] : undefined);\n\n\t\t\t//fix port number\n\t\t\tif (isNaN(components.port)) {\n\t\t\t\tcomponents.port = (uriString.match(/\\/\\/(?:.|\\n)*\\:(?:\\/|\\?|\\#|$)/) ? matches[4] : undefined);\n\t\t\t}\n\t\t}\n\n\t\tif (components.host) {\n\t\t\t//normalize IP hosts\n\t\t\tcomponents.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol);\n\t\t}\n\n\t\t//determine reference type\n\t\tif (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) {\n\t\t\tcomponents.reference = \"same-document\";\n\t\t} else if (components.scheme === undefined) {\n\t\t\tcomponents.reference = \"relative\";\n\t\t} else if (components.fragment === undefined) {\n\t\t\tcomponents.reference = \"absolute\";\n\t\t} else {\n\t\t\tcomponents.reference = \"uri\";\n\t\t}\n\n\t\t//check for reference errors\n\t\tif (options.reference && options.reference !== \"suffix\" && options.reference !== components.reference) {\n\t\t\tcomponents.error = components.error || \"URI is not a \" + options.reference + \" reference.\";\n\t\t}\n\n\t\t//find scheme handler\n\t\tconst schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n\n\t\t//check if scheme can't handle IRIs\n\t\tif (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n\t\t\t//if host component is a domain name\n\t\t\tif (components.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost))) {\n\t\t\t\t//convert Unicode IDN -> ASCII IDN\n\t\t\t\ttry {\n\t\t\t\t\tcomponents.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase());\n\t\t\t\t} catch (e) {\n\t\t\t\t\tcomponents.error = components.error || \"Host's domain name can not be converted to ASCII via punycode: \" + e;\n\t\t\t\t}\n\t\t\t}\n\t\t\t//convert IRI -> URI\n\t\t\t_normalizeComponentEncoding(components, URI_PROTOCOL);\n\t\t} else {\n\t\t\t//normalize encodings\n\t\t\t_normalizeComponentEncoding(components, protocol);\n\t\t}\n\n\t\t//perform scheme specific parsing\n\t\tif (schemeHandler && schemeHandler.parse) {\n\t\t\tschemeHandler.parse(components, options);\n\t\t}\n\t} else {\n\t\tcomponents.error = components.error || \"URI can not be parsed.\";\n\t}\n\n\treturn components;\n};\n\nfunction _recomposeAuthority(components:URIComponents, options:URIOptions):string|undefined {\n\tconst protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL);\n\tconst uriTokens:Array = [];\n\n\tif (components.userinfo !== undefined) {\n\t\turiTokens.push(components.userinfo);\n\t\turiTokens.push(\"@\");\n\t}\n\n\tif (components.host !== undefined) {\n\t\t//normalize IP hosts, add brackets and escape zone separator for IPv6\n\t\turiTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, (_, $1, $2) => \"[\" + $1 + ($2 ? \"%25\" + $2 : \"\") + \"]\"));\n\t}\n\n\tif (typeof components.port === \"number\" || typeof components.port === \"string\") {\n\t\turiTokens.push(\":\");\n\t\turiTokens.push(String(components.port));\n\t}\n\n\treturn uriTokens.length ? uriTokens.join(\"\") : undefined;\n};\n\nconst RDS1 = /^\\.\\.?\\//;\nconst RDS2 = /^\\/\\.(\\/|$)/;\nconst RDS3 = /^\\/\\.\\.(\\/|$)/;\nconst RDS4 = /^\\.\\.?$/;\nconst RDS5 = /^\\/?(?:.|\\n)*?(?=\\/|$)/;\n\nexport function removeDotSegments(input:string):string {\n\tconst output:Array = [];\n\n\twhile (input.length) {\n\t\tif (input.match(RDS1)) {\n\t\t\tinput = input.replace(RDS1, \"\");\n\t\t} else if (input.match(RDS2)) {\n\t\t\tinput = input.replace(RDS2, \"/\");\n\t\t} else if (input.match(RDS3)) {\n\t\t\tinput = input.replace(RDS3, \"/\");\n\t\t\toutput.pop();\n\t\t} else if (input === \".\" || input === \"..\") {\n\t\t\tinput = \"\";\n\t\t} else {\n\t\t\tconst im = input.match(RDS5);\n\t\t\tif (im) {\n\t\t\t\tconst s = im[0];\n\t\t\t\tinput = input.slice(s.length);\n\t\t\t\toutput.push(s);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unexpected dot segment condition\");\n\t\t\t}\n\t\t}\n\t}\n\n\treturn output.join(\"\");\n};\n\nexport function serialize(components:URIComponents, options:URIOptions = {}):string {\n\tconst protocol = (options.iri ? IRI_PROTOCOL : URI_PROTOCOL);\n\tconst uriTokens:Array = [];\n\n\t//find scheme handler\n\tconst schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n\n\t//perform scheme specific serialization\n\tif (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);\n\n\tif (components.host) {\n\t\t//if host component is an IPv6 address\n\t\tif (protocol.IPV6ADDRESS.test(components.host)) {\n\t\t\t//TODO: normalize IPv6 address as per RFC 5952\n\t\t}\n\n\t\t//if host component is a domain name\n\t\telse if (options.domainHost || (schemeHandler && schemeHandler.domainHost)) {\n\t\t\t//convert IDN via punycode\n\t\t\ttry {\n\t\t\t\tcomponents.host = (!options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host));\n\t\t\t} catch (e) {\n\t\t\t\tcomponents.error = components.error || \"Host's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n\t\t\t}\n\t\t}\n\t}\n\n\t//normalize encoding\n\t_normalizeComponentEncoding(components, protocol);\n\n\tif (options.reference !== \"suffix\" && components.scheme) {\n\t\turiTokens.push(components.scheme);\n\t\turiTokens.push(\":\");\n\t}\n\n\tconst authority = _recomposeAuthority(components, options);\n\tif (authority !== undefined) {\n\t\tif (options.reference !== \"suffix\") {\n\t\t\turiTokens.push(\"//\");\n\t\t}\n\n\t\turiTokens.push(authority);\n\n\t\tif (components.path && components.path.charAt(0) !== \"/\") {\n\t\t\turiTokens.push(\"/\");\n\t\t}\n\t}\n\n\tif (components.path !== undefined) {\n\t\tlet s = components.path;\n\n\t\tif (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n\t\t\ts = removeDotSegments(s);\n\t\t}\n\n\t\tif (authority === undefined) {\n\t\t\ts = s.replace(/^\\/\\//, \"/%2F\"); //don't allow the path to start with \"//\"\n\t\t}\n\n\t\turiTokens.push(s);\n\t}\n\n\tif (components.query !== undefined) {\n\t\turiTokens.push(\"?\");\n\t\turiTokens.push(components.query);\n\t}\n\n\tif (components.fragment !== undefined) {\n\t\turiTokens.push(\"#\");\n\t\turiTokens.push(components.fragment);\n\t}\n\n\treturn uriTokens.join(\"\"); //merge tokens into a string\n};\n\nexport function resolveComponents(base:URIComponents, relative:URIComponents, options:URIOptions = {}, skipNormalization?:boolean):URIComponents {\n\tconst target:URIComponents = {};\n\n\tif (!skipNormalization) {\n\t\tbase = parse(serialize(base, options), options); //normalize base components\n\t\trelative = parse(serialize(relative, options), options); //normalize relative components\n\t}\n\toptions = options || {};\n\n\tif (!options.tolerant && relative.scheme) {\n\t\ttarget.scheme = relative.scheme;\n\t\t//target.authority = relative.authority;\n\t\ttarget.userinfo = relative.userinfo;\n\t\ttarget.host = relative.host;\n\t\ttarget.port = relative.port;\n\t\ttarget.path = removeDotSegments(relative.path || \"\");\n\t\ttarget.query = relative.query;\n\t} else {\n\t\tif (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n\t\t\t//target.authority = relative.authority;\n\t\t\ttarget.userinfo = relative.userinfo;\n\t\t\ttarget.host = relative.host;\n\t\t\ttarget.port = relative.port;\n\t\t\ttarget.path = removeDotSegments(relative.path || \"\");\n\t\t\ttarget.query = relative.query;\n\t\t} else {\n\t\t\tif (!relative.path) {\n\t\t\t\ttarget.path = base.path;\n\t\t\t\tif (relative.query !== undefined) {\n\t\t\t\t\ttarget.query = relative.query;\n\t\t\t\t} else {\n\t\t\t\t\ttarget.query = base.query;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (relative.path.charAt(0) === \"/\") {\n\t\t\t\t\ttarget.path = removeDotSegments(relative.path);\n\t\t\t\t} else {\n\t\t\t\t\tif ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n\t\t\t\t\t\ttarget.path = \"/\" + relative.path;\n\t\t\t\t\t} else if (!base.path) {\n\t\t\t\t\t\ttarget.path = relative.path;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttarget.path = base.path.slice(0, base.path.lastIndexOf(\"/\") + 1) + relative.path;\n\t\t\t\t\t}\n\t\t\t\t\ttarget.path = removeDotSegments(target.path);\n\t\t\t\t}\n\t\t\t\ttarget.query = relative.query;\n\t\t\t}\n\t\t\t//target.authority = base.authority;\n\t\t\ttarget.userinfo = base.userinfo;\n\t\t\ttarget.host = base.host;\n\t\t\ttarget.port = base.port;\n\t\t}\n\t\ttarget.scheme = base.scheme;\n\t}\n\n\ttarget.fragment = relative.fragment;\n\n\treturn target;\n};\n\nexport function resolve(baseURI:string, relativeURI:string, options?:URIOptions):string {\n\tconst schemelessOptions = assign({ scheme : 'null' }, options);\n\treturn serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions);\n};\n\nexport function normalize(uri:string, options?:URIOptions):string;\nexport function normalize(uri:URIComponents, options?:URIOptions):URIComponents;\nexport function normalize(uri:any, options?:URIOptions):any {\n\tif (typeof uri === \"string\") {\n\t\turi = serialize(parse(uri, options), options);\n\t} else if (typeOf(uri) === \"object\") {\n\t\turi = parse(serialize(uri, options), options);\n\t}\n\n\treturn uri;\n};\n\nexport function equal(uriA:string, uriB:string, options?: URIOptions):boolean;\nexport function equal(uriA:URIComponents, uriB:URIComponents, options?:URIOptions):boolean;\nexport function equal(uriA:any, uriB:any, options?:URIOptions):boolean {\n\tif (typeof uriA === \"string\") {\n\t\turiA = serialize(parse(uriA, options), options);\n\t} else if (typeOf(uriA) === \"object\") {\n\t\turiA = serialize(uriA, options);\n\t}\n\n\tif (typeof uriB === \"string\") {\n\t\turiB = serialize(parse(uriB, options), options);\n\t} else if (typeOf(uriB) === \"object\") {\n\t\turiB = serialize(uriB, options);\n\t}\n\n\treturn uriA === uriB;\n};\n\nexport function escapeComponent(str:string, options?:URIOptions):string {\n\treturn str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE), pctEncChar);\n};\n\nexport function unescapeComponent(str:string, options?:URIOptions):string {\n\treturn str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED), pctDecChars);\n};\n","'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tconst parts = string.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tconst labels = string.split('.');\n\tconst encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (let j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tlet oldi = i;\n\t\tfor (let w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tlet inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tlet basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue == n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (let k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.1.0',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see \n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nexport default punycode;\n","import { URIRegExps } from \"./uri\";\nimport { buildExps } from \"./regexps-uri\";\n\nexport default buildExps(true);\n","import { URIRegExps } from \"./uri\";\nimport { merge, subexp } from \"./util\";\n\nexport function buildExps(isIRI:boolean):URIRegExps {\n\tconst\n\t\tALPHA$$ = \"[A-Za-z]\",\n\t\tCR$ = \"[\\\\x0D]\",\n\t\tDIGIT$$ = \"[0-9]\",\n\t\tDQUOTE$$ = \"[\\\\x22]\",\n\t\tHEXDIG$$ = merge(DIGIT$$, \"[A-Fa-f]\"), //case-insensitive\n\t\tLF$$ = \"[\\\\x0A]\",\n\t\tSP$$ = \"[\\\\x20]\",\n\t\tPCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)), //expanded\n\t\tGEN_DELIMS$$ = \"[\\\\:\\\\/\\\\?\\\\#\\\\[\\\\]\\\\@]\",\n\t\tSUB_DELIMS$$ = \"[\\\\!\\\\$\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\=]\",\n\t\tRESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$),\n\t\tUCSCHAR$$ = isIRI ? \"[\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]\" : \"[]\", //subset, excludes bidi control characters\n\t\tIPRIVATE$$ = isIRI ? \"[\\\\uE000-\\\\uF8FF]\" : \"[]\", //subset\n\t\tUNRESERVED$$ = merge(ALPHA$$, DIGIT$$, \"[\\\\-\\\\.\\\\_\\\\~]\", UCSCHAR$$),\n\t\tSCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\") + \"*\"),\n\t\tUSERINFO$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\")) + \"*\"),\n\t\tDEC_OCTET$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"[1-9]\" + DIGIT$$) + \"|\" + DIGIT$$),\n\t\tDEC_OCTET_RELAXED$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"0?[1-9]\" + DIGIT$$) + \"|0?0?\" + DIGIT$$), //relaxed parsing rules\n\t\tIPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$),\n\t\tH16$ = subexp(HEXDIG$$ + \"{1,4}\"),\n\t\tLS32$ = subexp(subexp(H16$ + \"\\\\:\" + H16$) + \"|\" + IPV4ADDRESS$),\n\t\tIPV6ADDRESS1$ = subexp( subexp(H16$ + \"\\\\:\") + \"{6}\" + LS32$), // 6( h16 \":\" ) ls32\n\t\tIPV6ADDRESS2$ = subexp( \"\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{5}\" + LS32$), // \"::\" 5( h16 \":\" ) ls32\n\t\tIPV6ADDRESS3$ = subexp(subexp( H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{4}\" + LS32$), //[ h16 ] \"::\" 4( h16 \":\" ) ls32\n\t\tIPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,1}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{3}\" + LS32$), //[ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\n\t\tIPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,2}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{2}\" + LS32$), //[ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\n\t\tIPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,3}\" + H16$) + \"?\\\\:\\\\:\" + H16$ + \"\\\\:\" + LS32$), //[ *3( h16 \":\" ) h16 ] \"::\" h16 \":\" ls32\n\t\tIPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,4}\" + H16$) + \"?\\\\:\\\\:\" + LS32$), //[ *4( h16 \":\" ) h16 ] \"::\" ls32\n\t\tIPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,5}\" + H16$) + \"?\\\\:\\\\:\" + H16$ ), //[ *5( h16 \":\" ) h16 ] \"::\" h16\n\t\tIPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,6}\" + H16$) + \"?\\\\:\\\\:\" ), //[ *6( h16 \":\" ) h16 ] \"::\"\n\t\tIPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join(\"|\")),\n\t\tZONEID$ = subexp(subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$) + \"+\"), //RFC 6874\n\t\tIPV6ADDRZ$ = subexp(IPV6ADDRESS$ + \"\\\\%25\" + ZONEID$), //RFC 6874\n\t\tIPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + ZONEID$), //RFC 6874, with relaxed parsing rules\n\t\tIPVFUTURE$ = subexp(\"[vV]\" + HEXDIG$$ + \"+\\\\.\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\") + \"+\"),\n\t\tIP_LITERAL$ = subexp(\"\\\\[\" + subexp(IPV6ADDRZ_RELAXED$ + \"|\" + IPV6ADDRESS$ + \"|\" + IPVFUTURE$) + \"\\\\]\"), //RFC 6874\n\t\tREG_NAME$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$)) + \"*\"),\n\t\tHOST$ = subexp(IP_LITERAL$ + \"|\" + IPV4ADDRESS$ + \"(?!\" + REG_NAME$ + \")\" + \"|\" + REG_NAME$),\n\t\tPORT$ = subexp(DIGIT$$ + \"*\"),\n\t\tAUTHORITY$ = subexp(subexp(USERINFO$ + \"@\") + \"?\" + HOST$ + subexp(\"\\\\:\" + PORT$) + \"?\"),\n\t\tPCHAR$ = subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@]\")),\n\t\tSEGMENT$ = subexp(PCHAR$ + \"*\"),\n\t\tSEGMENT_NZ$ = subexp(PCHAR$ + \"+\"),\n\t\tSEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\@]\")) + \"+\"),\n\t\tPATH_ABEMPTY$ = subexp(subexp(\"\\\\/\" + SEGMENT$) + \"*\"),\n\t\tPATH_ABSOLUTE$ = subexp(\"\\\\/\" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + \"?\"), //simplified\n\t\tPATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), //simplified\n\t\tPATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), //simplified\n\t\tPATH_EMPTY$ = \"(?!\" + PCHAR$ + \")\",\n\t\tPATH$ = subexp(PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n\t\tQUERY$ = subexp(subexp(PCHAR$ + \"|\" + merge(\"[\\\\/\\\\?]\", IPRIVATE$$)) + \"*\"),\n\t\tFRAGMENT$ = subexp(subexp(PCHAR$ + \"|[\\\\/\\\\?]\") + \"*\"),\n\t\tHIER_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n\t\tURI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n\t\tRELATIVE_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$),\n\t\tRELATIVE$ = subexp(RELATIVE_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n\t\tURI_REFERENCE$ = subexp(URI$ + \"|\" + RELATIVE$),\n\t\tABSOLUTE_URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\"),\n\n\t\tGENERIC_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tRELATIVE_REF$ = \"^(){0}\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tABSOLUTE_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?$\",\n\t\tSAMEDOC_REF$ = \"^\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tAUTHORITY_REF$ = \"^\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?$\"\n\t;\n\n\treturn {\n\t\tNOT_SCHEME : new RegExp(merge(\"[^]\", ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\"), \"g\"),\n\t\tNOT_USERINFO : new RegExp(merge(\"[^\\\\%\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_HOST : new RegExp(merge(\"[^\\\\%\\\\[\\\\]\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_PATH : new RegExp(merge(\"[^\\\\%\\\\/\\\\:\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_PATH_NOSCHEME : new RegExp(merge(\"[^\\\\%\\\\/\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_QUERY : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\", IPRIVATE$$), \"g\"),\n\t\tNOT_FRAGMENT : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\"), \"g\"),\n\t\tESCAPE : new RegExp(merge(\"[^]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tUNRESERVED : new RegExp(UNRESERVED$$, \"g\"),\n\t\tOTHER_CHARS : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, RESERVED$$), \"g\"),\n\t\tPCT_ENCODED : new RegExp(PCT_ENCODED$, \"g\"),\n\t\tIPV4ADDRESS : new RegExp(\"^(\" + IPV4ADDRESS$ + \")$\"),\n\t\tIPV6ADDRESS : new RegExp(\"^\\\\[?(\" + IPV6ADDRESS$ + \")\" + subexp(subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + \"(\" + ZONEID$ + \")\") + \"?\\\\]?$\") //RFC 6874, with relaxed parsing rules\n\t};\n}\n\nexport default buildExps(false);\n","export function merge(...sets:Array):string {\n\tif (sets.length > 1) {\n\t\tsets[0] = sets[0].slice(0, -1);\n\t\tconst xl = sets.length - 1;\n\t\tfor (let x = 1; x < xl; ++x) {\n\t\t\tsets[x] = sets[x].slice(1, -1);\n\t\t}\n\t\tsets[xl] = sets[xl].slice(1);\n\t\treturn sets.join('');\n\t} else {\n\t\treturn sets[0];\n\t}\n}\n\nexport function subexp(str:string):string {\n\treturn \"(?:\" + str + \")\";\n}\n\nexport function typeOf(o:any):string {\n\treturn o === undefined ? \"undefined\" : (o === null ? \"null\" : Object.prototype.toString.call(o).split(\" \").pop().split(\"]\").shift().toLowerCase());\n}\n\nexport function toUpperCase(str:string):string {\n\treturn str.toUpperCase();\n}\n\nexport function toArray(obj:any):Array {\n\treturn obj !== undefined && obj !== null ? (obj instanceof Array ? obj : (typeof obj.length !== \"number\" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj))) : [];\n}\n\n\nexport function assign(target: object, source: any): any {\n\tconst obj = target as any;\n\tif (source) {\n\t\tfor (const key in source) {\n\t\t\tobj[key] = source[key];\n\t\t}\n\t}\n\treturn obj;\n}"],"names":["SCHEMES","uuid","scheme","urn","mailto","wss","ws","https","http","urnComponents","nss","uuidComponents","toLowerCase","options","error","tolerant","match","UUID","undefined","handler","uriComponents","path","nid","schemeHandler","serialize","urnScheme","parse","matches","components","URN_PARSE","query","fields","join","length","push","name","replace","PCT_ENCODED","decodeUnreserved","toUpperCase","NOT_HFNAME","pctEncChar","headers","NOT_HFVALUE","O","mailtoComponents","body","subject","to","x","localPart","domain","iri","e","punycode","toASCII","unescapeComponent","toUnicode","toAddr","slice","atIdx","NOT_LOCAL_PART","lastIndexOf","String","xl","toArray","addr","unicodeSupport","split","unknownHeaders","hfield","toAddrs","hfields","decStr","UNRESERVED","str","pctDecChars","RegExp","merge","UNRESERVED$$","SOME_DELIMS$$","ATEXT$$","VCHAR$$","PCT_ENCODED$","QTEXT$$","subexp","HEXDIG$$","isIRI","domainHost","wsComponents","fragment","resourceName","secure","port","isSecure","host","toString","URI_PROTOCOL","IRI_PROTOCOL","ESCAPE","escapeComponent","uriA","uriB","typeOf","equal","uri","normalize","resolveComponents","baseURI","schemelessOptions","relativeURI","assign","resolve","target","relative","base","userinfo","removeDotSegments","charAt","skipNormalization","uriTokens","s","authority","absolutePath","reference","_recomposeAuthority","protocol","IPV6ADDRESS","test","output","Error","input","im","RDS5","pop","RDS3","RDS2","RDS1","$1","$2","_normalizeIPv6","_normalizeIPv4","_","uriString","isNaN","indexOf","parseInt","NO_MATCH_IS_UNDEFINED","URI_PARSE","newHost","zone","newFirst","newLast","longestZeroFields","index","b","a","allZeroFields","sort","acc","lastLongest","field","reduce","fieldCount","isLastFieldIPv4Address","firstFields","lastFields","lastFieldsStart","Array","IPV4ADDRESS","last","map","_stripLeadingZeros","first","address","reverse","NOT_FRAGMENT","NOT_QUERY","NOT_PATH","NOT_PATH_NOSCHEME","NOT_HOST","NOT_USERINFO","NOT_SCHEME","_normalizeComponentEncoding","newStr","substr","i","fromCharCode","c","c2","c3","il","chr","charCodeAt","encode","decode","ucs2encode","ucs2decode","regexNonASCII","string","mapDomain","regexPunycode","n","delta","handledCPCount","adapt","handledCPCountPlusOne","basicLength","stringFromCharCode","digitToBasic","q","floor","qMinusT","baseMinusT","t","k","bias","tMin","tMax","currentValue","maxInt","m","inputLength","delimiter","initialBias","initialN","fromCodePoint","splice","out","oldi","w","digit","basicToDigit","basic","j","baseMinusTMin","skew","numPoints","firstTime","damp","flag","codePoint","array","value","extra","counter","result","encoded","labels","fn","regexSeparators","parts","RangeError","errors","type","Math","buildExps","IPV6ADDRESS$","ZONEID$","IPV4ADDRESS$","RESERVED$$","SUB_DELIMS$$","IPRIVATE$$","ALPHA$$","DIGIT$$","AUTHORITY_REF$","USERINFO$","HOST$","PORT$","SAMEDOC_REF$","FRAGMENT$","ABSOLUTE_REF$","SCHEME$","PATH_ABEMPTY$","PATH_ABSOLUTE$","PATH_ROOTLESS$","PATH_EMPTY$","QUERY$","RELATIVE_REF$","PATH_NOSCHEME$","GENERIC_REF$","ABSOLUTE_URI$","HIER_PART$","URI_REFERENCE$","URI$","RELATIVE$","RELATIVE_PART$","AUTHORITY$","PCHAR$","PATH$","SEGMENT_NZ$","SEGMENT_NZ_NC$","SEGMENT$","IP_LITERAL$","REG_NAME$","IPV6ADDRZ_RELAXED$","IPVFUTURE$","IPV6ADDRESS1$","IPV6ADDRESS2$","IPV6ADDRESS3$","IPV6ADDRESS4$","IPV6ADDRESS5$","IPV6ADDRESS6$","IPV6ADDRESS7$","IPV6ADDRESS8$","IPV6ADDRESS9$","H16$","LS32$","DEC_OCTET_RELAXED$","DEC_OCTET$","UCSCHAR$$","GEN_DELIMS$$","SP$$","DQUOTE$$","CR$","obj","key","source","setInterval","call","prototype","o","Object","shift","sets"],"mappings":";;;;;;;AYAA,SAAA8E,KAAA,GAAA;sCAAyBsP,IAAzB;YAAA;;;QACKA,KAAKnS,MAAL,GAAc,CAAlB,EAAqB;aACf,CAAL,IAAUmS,KAAK,CAAL,EAAQzQ,KAAR,CAAc,CAAd,EAAiB,CAAC,CAAlB,CAAV;YACMK,KAAKoQ,KAAKnS,MAAL,GAAc,CAAzB;aACK,IAAIgB,IAAI,CAAb,EAAgBA,IAAIe,EAApB,EAAwB,EAAEf,CAA1B,EAA6B;iBACvBA,CAAL,IAAUmR,KAAKnR,CAAL,EAAQU,KAAR,CAAc,CAAd,EAAiB,CAAC,CAAlB,CAAV;;aAEIK,EAAL,IAAWoQ,KAAKpQ,EAAL,EAASL,KAAT,CAAe,CAAf,CAAX;eACOyQ,KAAKpS,IAAL,CAAU,EAAV,CAAP;KAPD,MAQO;eACCoS,KAAK,CAAL,CAAP;;;AAIF,AAAA,SAAA/O,MAAA,CAAuBV,GAAvB,EAAA;WACQ,QAAQA,GAAR,GAAc,GAArB;;AAGD,AAAA,SAAA4B,MAAA,CAAuB0N,CAAvB,EAAA;WACQA,MAAM/S,SAAN,GAAkB,WAAlB,GAAiC+S,MAAM,IAAN,GAAa,MAAb,GAAsBC,OAAOF,SAAP,CAAiBhO,QAAjB,CAA0B+N,IAA1B,CAA+BE,CAA/B,EAAkC7P,KAAlC,CAAwC,GAAxC,EAA6CkE,GAA7C,GAAmDlE,KAAnD,CAAyD,GAAzD,EAA8D+P,KAA9D,GAAsEvT,WAAtE,EAA9D;;AAGD,AAAA,SAAA2B,WAAA,CAA4BoC,GAA5B,EAAA;WACQA,IAAIpC,WAAJ,EAAP;;AAGD,AAAA,SAAA0B,OAAA,CAAwB0P,GAAxB,EAAA;WACQA,QAAQzS,SAAR,IAAqByS,QAAQ,IAA7B,GAAqCA,eAAenJ,KAAf,GAAuBmJ,GAAvB,GAA8B,OAAOA,IAAI1R,MAAX,KAAsB,QAAtB,IAAkC0R,IAAIvP,KAAtC,IAA+CuP,IAAIG,WAAnD,IAAkEH,IAAII,IAAtE,GAA6E,CAACJ,GAAD,CAA7E,GAAqFnJ,MAAMwJ,SAAN,CAAgBrQ,KAAhB,CAAsBoQ,IAAtB,CAA2BJ,GAA3B,CAAxJ,GAA4L,EAAnM;;AAID,AAAA,SAAA5M,MAAA,CAAuBE,MAAvB,EAAuC4M,MAAvC,EAAA;QACOF,MAAM1M,MAAZ;QACI4M,MAAJ,EAAY;aACN,IAAMD,GAAX,IAAkBC,MAAlB,EAA0B;gBACrBD,GAAJ,IAAWC,OAAOD,GAAP,CAAX;;;WAGKD,GAAP;;;ADnCD,SAAA3D,SAAA,CAA0BzK,KAA1B,EAAA;QAEEgL,UAAU,UADX;QAECmD,MAAM,SAFP;QAGClD,UAAU,OAHX;QAICiD,WAAW,SAJZ;QAKCnO,WAAWR,MAAM0L,OAAN,EAAe,UAAf,CALZ;;WAMQ,SANR;QAOCgD,OAAO,SAPR;QAQCrO,eAAeE,OAAOA,OAAO,YAAYC,QAAZ,GAAuB,GAAvB,GAA6BA,QAA7B,GAAwCA,QAAxC,GAAmD,GAAnD,GAAyDA,QAAzD,GAAoEA,QAA3E,IAAuF,GAAvF,GAA6FD,OAAO,gBAAgBC,QAAhB,GAA2B,GAA3B,GAAiCA,QAAjC,GAA4CA,QAAnD,CAA7F,GAA4J,GAA5J,GAAkKD,OAAO,MAAMC,QAAN,GAAiBA,QAAxB,CAAzK,CARhB;;mBASgB,yBAThB;QAUC+K,eAAe,qCAVhB;QAWCD,aAAatL,MAAMyO,YAAN,EAAoBlD,YAApB,CAXd;QAYCiD,YAAY/N,QAAQ,6EAAR,GAAwF,IAZrG;;iBAacA,QAAQ,mBAAR,GAA8B,IAb5C;;mBAcgBT,MAAMyL,OAAN,EAAeC,OAAf,EAAwB,gBAAxB,EAA0C8C,SAA1C,CAdhB;QAeCtC,UAAU3L,OAAOkL,UAAUzL,MAAMyL,OAAN,EAAeC,OAAf,EAAwB,aAAxB,CAAV,GAAmD,GAA1D,CAfX;QAgBCE,YAAYrL,OAAOA,OAAOF,eAAe,GAAf,GAAqBL,MAAMC,YAAN,EAAoBsL,YAApB,EAAkC,OAAlC,CAA5B,IAA0E,GAAjF,CAhBb;QAiBCgD,aAAahO,OAAOA,OAAO,SAAP,IAAoB,GAApB,GAA0BA,OAAO,WAAWmL,OAAlB,CAA1B,GAAuD,GAAvD,GAA6DnL,OAAO,MAAMmL,OAAN,GAAgBA,OAAvB,CAA7D,GAA+F,GAA/F,GAAqGnL,OAAO,UAAUmL,OAAjB,CAArG,GAAiI,GAAjI,GAAuIA,OAA9I,CAjBd;QAkBC4C,qBAAqB/N,OAAOA,OAAO,SAAP,IAAoB,GAApB,GAA0BA,OAAO,WAAWmL,OAAlB,CAA1B,GAAuD,GAAvD,GAA6DnL,OAAO,MAAMmL,OAAN,GAAgBA,OAAvB,CAA7D,GAA+F,GAA/F,GAAqGnL,OAAO,YAAYmL,OAAnB,CAArG,GAAmI,OAAnI,GAA6IA,OAApJ,CAlBtB;;mBAmBgBnL,OAAO+N,qBAAqB,KAArB,GAA6BA,kBAA7B,GAAkD,KAAlD,GAA0DA,kBAA1D,GAA+E,KAA/E,GAAuFA,kBAA9F,CAnBhB;QAoBCF,OAAO7N,OAAOC,WAAW,OAAlB,CApBR;QAqBC6N,QAAQ9N,OAAOA,OAAO6N,OAAO,KAAP,GAAeA,IAAtB,IAA8B,GAA9B,GAAoC/C,YAA3C,CArBT;QAsBCsC,gBAAgBpN,OAAmEA,OAAO6N,OAAO,KAAd,IAAuB,KAAvB,GAA+BC,KAAlG,CAtBjB;;oBAuBiB9N,OAAwD,WAAWA,OAAO6N,OAAO,KAAd,CAAX,GAAkC,KAAlC,GAA0CC,KAAlG,CAvBjB;;oBAwBiB9N,OAAOA,OAAwC6N,IAAxC,IAAgD,SAAhD,GAA4D7N,OAAO6N,OAAO,KAAd,CAA5D,GAAmF,KAAnF,GAA2FC,KAAlG,CAxBjB;;oBAyBiB9N,OAAOA,OAAOA,OAAO6N,OAAO,KAAd,IAAuB,OAAvB,GAAiCA,IAAxC,IAAgD,SAAhD,GAA4D7N,OAAO6N,OAAO,KAAd,CAA5D,GAAmF,KAAnF,GAA2FC,KAAlG,CAzBjB;;oBA0BiB9N,OAAOA,OAAOA,OAAO6N,OAAO,KAAd,IAAuB,OAAvB,GAAiCA,IAAxC,IAAgD,SAAhD,GAA4D7N,OAAO6N,OAAO,KAAd,CAA5D,GAAmF,KAAnF,GAA2FC,KAAlG,CA1BjB;;oBA2BiB9N,OAAOA,OAAOA,OAAO6N,OAAO,KAAd,IAAuB,OAAvB,GAAiCA,IAAxC,IAAgD,SAAhD,GAAmEA,IAAnE,GAA0E,KAA1E,GAA2FC,KAAlG,CA3BjB;;oBA4BiB9N,OAAOA,OAAOA,OAAO6N,OAAO,KAAd,IAAuB,OAAvB,GAAiCA,IAAxC,IAAgD,SAAhD,GAA2FC,KAAlG,CA5BjB;;oBA6BiB9N,OAAOA,OAAOA,OAAO6N,OAAO,KAAd,IAAuB,OAAvB,GAAiCA,IAAxC,IAAgD,SAAhD,GAA2FA,IAAlG,CA7BjB;;oBA8BiB7N,OAAOA,OAAOA,OAAO6N,OAAO,KAAd,IAAuB,OAAvB,GAAiCA,IAAxC,IAAgD,SAAvD,CA9BjB;;mBA+BgB7N,OAAO,CAACoN,aAAD,EAAgBC,aAAhB,EAA+BC,aAA/B,EAA8CC,aAA9C,EAA6DC,aAA7D,EAA4EC,aAA5E,EAA2FC,aAA3F,EAA0GC,aAA1G,EAAyHC,aAAzH,EAAwIjR,IAAxI,CAA6I,GAA7I,CAAP,CA/BhB;QAgCCkO,UAAU7K,OAAOA,OAAON,eAAe,GAAf,GAAqBI,YAA5B,IAA4C,GAAnD,CAhCX;;iBAiCcE,OAAO4K,eAAe,OAAf,GAAyBC,OAAhC,CAjCd;;yBAkCsB7K,OAAO4K,eAAe5K,OAAO,iBAAiBC,QAAjB,GAA4B,MAAnC,CAAf,GAA4D4K,OAAnE,CAlCtB;;iBAmCc7K,OAAO,SAASC,QAAT,GAAoB,MAApB,GAA6BR,MAAMC,YAAN,EAAoBsL,YAApB,EAAkC,OAAlC,CAA7B,GAA0E,GAAjF,CAnCd;QAoCCgC,cAAchN,OAAO,QAAQA,OAAOkN,qBAAqB,GAArB,GAA2BtC,YAA3B,GAA0C,GAA1C,GAAgDuC,UAAvD,CAAR,GAA6E,KAApF,CApCf;;gBAqCanN,OAAOA,OAAOF,eAAe,GAAf,GAAqBL,MAAMC,YAAN,EAAoBsL,YAApB,CAA5B,IAAiE,GAAxE,CArCb;QAsCCM,QAAQtL,OAAOgN,cAAc,GAAd,GAAoBlC,YAApB,GAAmC,KAAnC,GAA2CmC,SAA3C,GAAuD,GAAvD,GAA6D,GAA7D,GAAmEA,SAA1E,CAtCT;QAuCC1B,QAAQvL,OAAOmL,UAAU,GAAjB,CAvCT;QAwCCuB,aAAa1M,OAAOA,OAAOqL,YAAY,GAAnB,IAA0B,GAA1B,GAAgCC,KAAhC,GAAwCtL,OAAO,QAAQuL,KAAf,CAAxC,GAAgE,GAAvE,CAxCd;QAyCCoB,SAAS3M,OAAOF,eAAe,GAAf,GAAqBL,MAAMC,YAAN,EAAoBsL,YAApB,EAAkC,UAAlC,CAA5B,CAzCV;QA0CC+B,WAAW/M,OAAO2M,SAAS,GAAhB,CA1CZ;QA2CCE,cAAc7M,OAAO2M,SAAS,GAAhB,CA3Cf;QA4CCG,iBAAiB9M,OAAOA,OAAOF,eAAe,GAAf,GAAqBL,MAAMC,YAAN,EAAoBsL,YAApB,EAAkC,OAAlC,CAA5B,IAA0E,GAAjF,CA5ClB;QA6CCY,gBAAgB5L,OAAOA,OAAO,QAAQ+M,QAAf,IAA2B,GAAlC,CA7CjB;QA8CClB,iBAAiB7L,OAAO,QAAQA,OAAO6M,cAAcjB,aAArB,CAAR,GAA8C,GAArD,CA9ClB;;qBA+CkB5L,OAAO8M,iBAAiBlB,aAAxB,CA/ClB;;qBAgDkB5L,OAAO6M,cAAcjB,aAArB,CAhDlB;;kBAiDe,QAAQe,MAAR,GAAiB,GAjDhC;QAkDCC,QAAQ5M,OAAO4L,gBAAgB,GAAhB,GAAsBC,cAAtB,GAAuC,GAAvC,GAA6CK,cAA7C,GAA8D,GAA9D,GAAoEJ,cAApE,GAAqF,GAArF,GAA2FC,WAAlG,CAlDT;QAmDCC,SAAShM,OAAOA,OAAO2M,SAAS,GAAT,GAAelN,MAAM,UAAN,EAAkBwL,UAAlB,CAAtB,IAAuD,GAA9D,CAnDV;QAoDCQ,YAAYzL,OAAOA,OAAO2M,SAAS,WAAhB,IAA+B,GAAtC,CApDb;QAqDCN,aAAarM,OAAOA,OAAO,WAAW0M,UAAX,GAAwBd,aAA/B,IAAgD,GAAhD,GAAsDC,cAAtD,GAAuE,GAAvE,GAA6EC,cAA7E,GAA8F,GAA9F,GAAoGC,WAA3G,CArDd;QAsDCQ,OAAOvM,OAAO2L,UAAU,KAAV,GAAkBU,UAAlB,GAA+BrM,OAAO,QAAQgM,MAAf,CAA/B,GAAwD,GAAxD,GAA8DhM,OAAO,QAAQyL,SAAf,CAA9D,GAA0F,GAAjG,CAtDR;QAuDCgB,iBAAiBzM,OAAOA,OAAO,WAAW0M,UAAX,GAAwBd,aAA/B,IAAgD,GAAhD,GAAsDC,cAAtD,GAAuE,GAAvE,GAA6EK,cAA7E,GAA8F,GAA9F,GAAoGH,WAA3G,CAvDlB;QAwDCS,YAAYxM,OAAOyM,iBAAiBzM,OAAO,QAAQgM,MAAf,CAAjB,GAA0C,GAA1C,GAAgDhM,OAAO,QAAQyL,SAAf,CAAhD,GAA4E,GAAnF,CAxDb;QAyDCa,iBAAiBtM,OAAOuM,OAAO,GAAP,GAAaC,SAApB,CAzDlB;QA0DCJ,gBAAgBpM,OAAO2L,UAAU,KAAV,GAAkBU,UAAlB,GAA+BrM,OAAO,QAAQgM,MAAf,CAA/B,GAAwD,GAA/D,CA1DjB;QA4DCG,eAAe,OAAOR,OAAP,GAAiB,MAAjB,GAA0B3L,OAAOA,OAAO,YAAYA,OAAO,MAAMqL,SAAN,GAAkB,IAAzB,CAAZ,GAA6C,IAA7C,GAAoDC,KAApD,GAA4D,GAA5D,GAAkEtL,OAAO,SAASuL,KAAT,GAAiB,GAAxB,CAAlE,GAAiG,IAAxG,IAAgH,IAAhH,GAAuHK,aAAvH,GAAuI,GAAvI,GAA6IC,cAA7I,GAA8J,GAA9J,GAAoKC,cAApK,GAAqL,GAArL,GAA2LC,WAA3L,GAAyM,GAAhN,CAA1B,GAAiP/L,OAAO,SAASgM,MAAT,GAAkB,GAAzB,CAAjP,GAAiR,GAAjR,GAAuRhM,OAAO,SAASyL,SAAT,GAAqB,GAA5B,CAAvR,GAA0T,IA5D1U;QA6DCQ,gBAAgB,WAAWjM,OAAOA,OAAO,YAAYA,OAAO,MAAMqL,SAAN,GAAkB,IAAzB,CAAZ,GAA6C,IAA7C,GAAoDC,KAApD,GAA4D,GAA5D,GAAkEtL,OAAO,SAASuL,KAAT,GAAiB,GAAxB,CAAlE,GAAiG,IAAxG,IAAgH,IAAhH,GAAuHK,aAAvH,GAAuI,GAAvI,GAA6IC,cAA7I,GAA8J,GAA9J,GAAoKK,cAApK,GAAqL,GAArL,GAA2LH,WAA3L,GAAyM,GAAhN,CAAX,GAAkO/L,OAAO,SAASgM,MAAT,GAAkB,GAAzB,CAAlO,GAAkQ,GAAlQ,GAAwQhM,OAAO,SAASyL,SAAT,GAAqB,GAA5B,CAAxQ,GAA2S,IA7D5T;QA8DCC,gBAAgB,OAAOC,OAAP,GAAiB,MAAjB,GAA0B3L,OAAOA,OAAO,YAAYA,OAAO,MAAMqL,SAAN,GAAkB,IAAzB,CAAZ,GAA6C,IAA7C,GAAoDC,KAApD,GAA4D,GAA5D,GAAkEtL,OAAO,SAASuL,KAAT,GAAiB,GAAxB,CAAlE,GAAiG,IAAxG,IAAgH,IAAhH,GAAuHK,aAAvH,GAAuI,GAAvI,GAA6IC,cAA7I,GAA8J,GAA9J,GAAoKC,cAApK,GAAqL,GAArL,GAA2LC,WAA3L,GAAyM,GAAhN,CAA1B,GAAiP/L,OAAO,SAASgM,MAAT,GAAkB,GAAzB,CAAjP,GAAiR,IA9DlS;QA+DCR,eAAe,MAAMxL,OAAO,SAASyL,SAAT,GAAqB,GAA5B,CAAN,GAAyC,IA/DzD;QAgECL,iBAAiB,MAAMpL,OAAO,MAAMqL,SAAN,GAAkB,IAAzB,CAAN,GAAuC,IAAvC,GAA8CC,KAA9C,GAAsD,GAAtD,GAA4DtL,OAAO,SAASuL,KAAT,GAAiB,GAAxB,CAA5D,GAA2F,IAhE7G;WAmEO;oBACO,IAAI/L,MAAJ,CAAWC,MAAM,KAAN,EAAayL,OAAb,EAAsBC,OAAtB,EAA+B,aAA/B,CAAX,EAA0D,GAA1D,CADP;sBAES,IAAI3L,MAAJ,CAAWC,MAAM,WAAN,EAAmBC,YAAnB,EAAiCsL,YAAjC,CAAX,EAA2D,GAA3D,CAFT;kBAGK,IAAIxL,MAAJ,CAAWC,MAAM,iBAAN,EAAyBC,YAAzB,EAAuCsL,YAAvC,CAAX,EAAiE,GAAjE,CAHL;kBAIK,IAAIxL,MAAJ,CAAWC,MAAM,iBAAN,EAAyBC,YAAzB,EAAuCsL,YAAvC,CAAX,EAAiE,GAAjE,CAJL;2BAKc,IAAIxL,MAAJ,CAAWC,MAAM,cAAN,EAAsBC,YAAtB,EAAoCsL,YAApC,CAAX,EAA8D,GAA9D,CALd;mBAMM,IAAIxL,MAAJ,CAAWC,MAAM,QAAN,EAAgBC,YAAhB,EAA8BsL,YAA9B,EAA4C,gBAA5C,EAA8DC,UAA9D,CAAX,EAAsF,GAAtF,CANN;sBAOS,IAAIzL,MAAJ,CAAWC,MAAM,QAAN,EAAgBC,YAAhB,EAA8BsL,YAA9B,EAA4C,gBAA5C,CAAX,EAA0E,GAA1E,CAPT;gBAQG,IAAIxL,MAAJ,CAAWC,MAAM,KAAN,EAAaC,YAAb,EAA2BsL,YAA3B,CAAX,EAAqD,GAArD,CARH;oBASO,IAAIxL,MAAJ,CAAWE,YAAX,EAAyB,GAAzB,CATP;qBAUQ,IAAIF,MAAJ,CAAWC,MAAM,QAAN,EAAgBC,YAAhB,EAA8BqL,UAA9B,CAAX,EAAsD,GAAtD,CAVR;qBAWQ,IAAIvL,MAAJ,CAAWM,YAAX,EAAyB,GAAzB,CAXR;qBAYQ,IAAIN,MAAJ,CAAW,OAAOsL,YAAP,GAAsB,IAAjC,CAZR;qBAaQ,IAAItL,MAAJ,CAAW,WAAWoL,YAAX,GAA0B,GAA1B,GAAgC5K,OAAOA,OAAO,iBAAiBC,QAAjB,GAA4B,MAAnC,IAA6C,GAA7C,GAAmD4K,OAAnD,GAA6D,GAApE,CAAhC,GAA2G,QAAtH,CAbR;KAAP;;AAiBD,mBAAeF,UAAU,KAAV,CAAf;;ADrFA,mBAAeA,UAAU,IAAV,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ADDA;;AACA,IAAMpC,SAAS,UAAf;;;AAGA,IAAMzG,OAAO,EAAb;AACA,IAAMsG,OAAO,CAAb;AACA,IAAMC,OAAO,EAAb;AACA,IAAMkB,OAAO,EAAb;AACA,IAAMG,OAAO,GAAb;AACA,IAAMf,cAAc,EAApB;AACA,IAAMC,WAAW,GAAjB;AACA,IAAMF,YAAY,GAAlB;;;AAGA,IAAMtB,gBAAgB,OAAtB;AACA,IAAMH,gBAAgB,YAAtB;AACA,IAAMoD,kBAAkB,2BAAxB;;;AAGA,IAAMG,SAAS;aACF,iDADE;cAED,gDAFC;kBAGG;CAHlB;;;AAOA,IAAMlB,gBAAgBxH,OAAOsG,IAA7B;AACA,IAAMN,QAAQ4C,KAAK5C,KAAnB;AACA,IAAMH,qBAAqBjJ,OAAO4H,YAAlC;;;;;;;;;;AAUA,SAAS7K,OAAT,CAAegP,IAAf,EAAqB;OACd,IAAIF,UAAJ,CAAeC,OAAOC,IAAP,CAAf,CAAN;;;;;;;;;;;AAWD,SAASnF,GAAT,CAAauE,KAAb,EAAoBO,EAApB,EAAwB;KACjBH,SAAS,EAAf;KACIrN,SAASiN,MAAMjN,MAAnB;QACOA,QAAP,EAAiB;SACTA,MAAP,IAAiBwN,GAAGP,MAAMjN,MAAN,CAAH,CAAjB;;QAEMqN,MAAP;;;;;;;;;;;;;AAaD,SAAS9C,SAAT,CAAmBD,MAAnB,EAA2BkD,EAA3B,EAA+B;KACxBE,QAAQpD,OAAOnI,KAAP,CAAa,GAAb,CAAd;KACIkL,SAAS,EAAb;KACIK,MAAM1N,MAAN,GAAe,CAAnB,EAAsB;;;WAGZ0N,MAAM,CAAN,IAAW,GAApB;WACSA,MAAM,CAAN,CAAT;;;UAGQpD,OAAOnK,OAAP,CAAesN,eAAf,EAAgC,MAAhC,CAAT;KACMF,SAASjD,OAAOnI,KAAP,CAAa,GAAb,CAAf;KACMmL,UAAU5E,IAAI6E,MAAJ,EAAYC,EAAZ,EAAgBzN,IAAhB,CAAqB,GAArB,CAAhB;QACOsN,SAASC,OAAhB;;;;;;;;;;;;;;;;AAgBD,SAASlD,UAAT,CAAoBE,MAApB,EAA4B;KACrBtE,SAAS,EAAf;KACIoH,UAAU,CAAd;KACMpN,SAASsK,OAAOtK,MAAtB;QACOoN,UAAUpN,MAAjB,EAAyB;MAClBkN,QAAQ5C,OAAON,UAAP,CAAkBoD,SAAlB,CAAd;MACIF,SAAS,MAAT,IAAmBA,SAAS,MAA5B,IAAsCE,UAAUpN,MAApD,EAA4D;;OAErDmN,QAAQ7C,OAAON,UAAP,CAAkBoD,SAAlB,CAAd;OACI,CAACD,QAAQ,MAAT,KAAoB,MAAxB,EAAgC;;WACxBlN,IAAP,CAAY,CAAC,CAACiN,QAAQ,KAAT,KAAmB,EAApB,KAA2BC,QAAQ,KAAnC,IAA4C,OAAxD;IADD,MAEO;;;WAGClN,IAAP,CAAYiN,KAAZ;;;GARF,MAWO;UACCjN,IAAP,CAAYiN,KAAZ;;;QAGKlH,MAAP;;;;;;;;;;;AAWD,IAAMmE,aAAa,SAAbA,UAAa;QAASrI,OAAOmK,aAAP,iCAAwBgB,KAAxB,EAAT;CAAnB;;;;;;;;;;;AAWA,IAAMV,eAAe,SAAfA,YAAe,CAASS,SAAT,EAAoB;KACpCA,YAAY,IAAZ,GAAmB,IAAvB,EAA6B;SACrBA,YAAY,IAAnB;;KAEGA,YAAY,IAAZ,GAAmB,IAAvB,EAA6B;SACrBA,YAAY,IAAnB;;KAEGA,YAAY,IAAZ,GAAmB,IAAvB,EAA6B;SACrBA,YAAY,IAAnB;;QAEM9H,IAAP;CAVD;;;;;;;;;;;;;AAwBA,IAAM8F,eAAe,SAAfA,YAAe,CAASsB,KAAT,EAAgBS,IAAhB,EAAsB;;;QAGnCT,QAAQ,EAAR,GAAa,MAAMA,QAAQ,EAAd,CAAb,IAAkC,CAACS,QAAQ,CAAT,KAAe,CAAjD,CAAP;CAHD;;;;;;;AAWA,IAAMnC,QAAQ,SAARA,KAAQ,CAASF,KAAT,EAAgBkC,SAAhB,EAA2BC,SAA3B,EAAsC;KAC/CvB,IAAI,CAAR;SACQuB,YAAY3B,MAAMR,QAAQoC,IAAd,CAAZ,GAAkCpC,SAAS,CAAnD;UACSQ,MAAMR,QAAQkC,SAAd,CAAT;+BAC8BlC,QAAQgC,gBAAgBjB,IAAhB,IAAwB,CAA9D,EAAiEH,KAAKpG,IAAtE,EAA4E;UACnEgG,MAAMR,QAAQgC,aAAd,CAAR;;QAEMxB,MAAMI,IAAI,CAACoB,gBAAgB,CAAjB,IAAsBhC,KAAtB,IAA+BA,QAAQiC,IAAvC,CAAV,CAAP;CAPD;;;;;;;;;AAiBA,IAAMzC,SAAS,SAATA,MAAS,CAAShE,KAAT,EAAgB;;KAExBF,SAAS,EAAf;KACM6F,cAAc3F,MAAMlG,MAA1B;KACIyJ,IAAI,CAAR;KACIgB,IAAIuB,QAAR;KACIT,OAAOQ,WAAX;;;;;;KAMIS,QAAQtG,MAAMrE,WAAN,CAAkBiK,SAAlB,CAAZ;KACIU,QAAQ,CAAZ,EAAe;UACN,CAAR;;;MAGI,IAAIC,IAAI,CAAb,EAAgBA,IAAID,KAApB,EAA2B,EAAEC,CAA7B,EAAgC;;MAE3BvG,MAAM8D,UAAN,CAAiByC,CAAjB,KAAuB,IAA3B,EAAiC;WAC1B,WAAN;;SAEMxM,IAAP,CAAYiG,MAAM8D,UAAN,CAAiByC,CAAjB,CAAZ;;;;;;MAMI,IAAIhF,QAAQ+E,QAAQ,CAAR,GAAYA,QAAQ,CAApB,GAAwB,CAAzC,EAA4C/E,QAAQoE,WAApD,4BAA4F;;;;;;;MAOvFO,OAAO3C,CAAX;OACK,IAAI4C,IAAI,CAAR,EAAWf,IAAIpG,IAApB,qBAA8CoG,KAAKpG,IAAnD,EAAyD;;OAEpDuC,SAASoE,WAAb,EAA0B;YACnB,eAAN;;;OAGKS,QAAQC,aAAarG,MAAM8D,UAAN,CAAiBvC,OAAjB,CAAb,CAAd;;OAEI6E,SAASpH,IAAT,IAAiBoH,QAAQpB,MAAM,CAACS,SAASlC,CAAV,IAAe4C,CAArB,CAA7B,EAAsD;YAC/C,UAAN;;;QAGIC,QAAQD,CAAb;OACMhB,IAAIC,KAAKC,IAAL,GAAYC,IAAZ,GAAoBF,KAAKC,OAAOE,IAAZ,GAAmBA,IAAnB,GAA0BH,IAAIC,IAA5D;;OAEIe,QAAQjB,CAAZ,EAAe;;;;OAITD,aAAalG,OAAOmG,CAA1B;OACIgB,IAAInB,MAAMS,SAASP,UAAf,CAAR,EAAoC;YAC7B,UAAN;;;QAGIA,UAAL;;;MAIKe,MAAMnG,OAAOhG,MAAP,GAAgB,CAA5B;SACO4K,MAAMnB,IAAI2C,IAAV,EAAgBD,GAAhB,EAAqBC,QAAQ,CAA7B,CAAP;;;;MAIIlB,MAAMzB,IAAI0C,GAAV,IAAiBR,SAASlB,CAA9B,EAAiC;WAC1B,UAAN;;;OAGIS,MAAMzB,IAAI0C,GAAV,CAAL;OACKA,GAAL;;;SAGOD,MAAP,CAAczC,GAAd,EAAmB,CAAnB,EAAsBgB,CAAtB;;;QAIM3I,OAAOmK,aAAP,eAAwBjG,MAAxB,CAAP;CAjFD;;;;;;;;;AA2FA,IAAMiE,SAAS,SAATA,MAAS,CAAS/D,KAAT,EAAgB;KACxBF,SAAS,EAAf;;;SAGQoE,WAAWlE,KAAX,CAAR;;;KAGI2F,cAAc3F,MAAMlG,MAAxB;;;KAGIyK,IAAIuB,QAAR;KACItB,QAAQ,CAAZ;KACIa,OAAOQ,WAAX;;;;;;;;uBAG2B7F,KAA3B,8HAAkC;OAAvBwF,cAAuB;;OAC7BA,iBAAe,IAAnB,EAAyB;WACjBzL,IAAP,CAAY8K,mBAAmBW,cAAnB,CAAZ;;;;;;;;;;;;;;;;;;KAIEZ,cAAc9E,OAAOhG,MAAzB;KACI2K,iBAAiBG,WAArB;;;;;;KAMIA,WAAJ,EAAiB;SACT7K,IAAP,CAAY6L,SAAZ;;;;QAIMnB,iBAAiBkB,WAAxB,EAAqC;;;;MAIhCD,IAAID,MAAR;;;;;;yBAC2BzF,KAA3B,mIAAkC;QAAvBwF,YAAuB;;QAC7BA,gBAAgBjB,CAAhB,IAAqBiB,eAAeE,CAAxC,EAA2C;SACtCF,YAAJ;;;;;;;;;;;;;;;;;;;;;MAMIb,wBAAwBF,iBAAiB,CAA/C;MACIiB,IAAInB,CAAJ,GAAQS,MAAM,CAACS,SAASjB,KAAV,IAAmBG,qBAAzB,CAAZ,EAA6D;WACtD,UAAN;;;WAGQ,CAACe,IAAInB,CAAL,IAAUI,qBAAnB;MACIe,CAAJ;;;;;;;yBAE2B1F,KAA3B,mIAAkC;QAAvBwF,aAAuB;;QAC7BA,gBAAejB,CAAf,IAAoB,EAAEC,KAAF,GAAUiB,MAAlC,EAA0C;aACnC,UAAN;;QAEGD,iBAAgBjB,CAApB,EAAuB;;SAElBQ,IAAIP,KAAR;UACK,IAAIY,IAAIpG,IAAb,qBAAuCoG,KAAKpG,IAA5C,EAAkD;UAC3CmG,IAAIC,KAAKC,IAAL,GAAYC,IAAZ,GAAoBF,KAAKC,OAAOE,IAAZ,GAAmBA,IAAnB,GAA0BH,IAAIC,IAA5D;UACIN,IAAII,CAAR,EAAW;;;UAGLF,UAAUF,IAAII,CAApB;UACMD,aAAalG,OAAOmG,CAA1B;aACOpL,IAAP,CACC8K,mBAAmBC,aAAaK,IAAIF,UAAUC,UAA3B,EAAuC,CAAvC,CAAnB,CADD;UAGIF,MAAMC,UAAUC,UAAhB,CAAJ;;;YAGMnL,IAAP,CAAY8K,mBAAmBC,aAAaC,CAAb,EAAgB,CAAhB,CAAnB,CAAZ;YACOL,MAAMF,KAAN,EAAaG,qBAAb,EAAoCF,kBAAkBG,WAAtD,CAAP;aACQ,CAAR;OACEH,cAAF;;;;;;;;;;;;;;;;;;IAIAD,KAAF;IACED,CAAF;;QAGMzE,OAAOjG,IAAP,CAAY,EAAZ,CAAP;CArFD;;;;;;;;;;;;;AAmGA,IAAMyB,YAAY,SAAZA,SAAY,CAAS0E,KAAT,EAAgB;QAC1BqE,UAAUrE,KAAV,EAAiB,UAASoE,MAAT,EAAiB;SACjCE,cAAczE,IAAd,CAAmBuE,MAAnB,IACJJ,OAAOI,OAAO5I,KAAP,CAAa,CAAb,EAAgB/C,WAAhB,EAAP,CADI,GAEJ2L,MAFH;EADM,CAAP;CADD;;;;;;;;;;;;;AAmBA,IAAMhJ,UAAU,SAAVA,OAAU,CAAS4E,KAAT,EAAgB;QACxBqE,UAAUrE,KAAV,EAAiB,UAASoE,MAAT,EAAiB;SACjCD,cAActE,IAAd,CAAmBuE,MAAnB,IACJ,SAASL,OAAOK,MAAP,CADL,GAEJA,MAFH;EADM,CAAP;CADD;;;;;AAWA,IAAMjJ,WAAW;;;;;;YAML,OANK;;;;;;;;SAcR;YACG+I,UADH;YAEGD;EAhBK;WAkBND,MAlBM;WAmBND,MAnBM;YAoBL3I,OApBK;cAqBHE;CArBd,CAwBA;;ADvbA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,AACA,AACA,AACA,AAiDA,AAAO,IAAMzD,UAA6C,EAAnD;AAEP,AAAA,SAAAyC,UAAA,CAA2BuJ,GAA3B,EAAA;QACOJ,IAAII,IAAIC,UAAJ,CAAe,CAAf,CAAV;QACI5I,UAAJ;QAEIuI,IAAI,EAAR,EAAYvI,IAAI,OAAOuI,EAAE5F,QAAF,CAAW,EAAX,EAAezD,WAAf,EAAX,CAAZ,KACK,IAAIqJ,IAAI,GAAR,EAAavI,IAAI,MAAMuI,EAAE5F,QAAF,CAAW,EAAX,EAAezD,WAAf,EAAV,CAAb,KACA,IAAIqJ,IAAI,IAAR,EAAcvI,IAAI,MAAM,CAAEuI,KAAK,CAAN,GAAW,GAAZ,EAAiB5F,QAAjB,CAA0B,EAA1B,EAA8BzD,WAA9B,EAAN,GAAoD,GAApD,GAA0D,CAAEqJ,IAAI,EAAL,GAAW,GAAZ,EAAiB5F,QAAjB,CAA0B,EAA1B,EAA8BzD,WAA9B,EAA9D,CAAd,KACAc,IAAI,MAAM,CAAEuI,KAAK,EAAN,GAAY,GAAb,EAAkB5F,QAAlB,CAA2B,EAA3B,EAA+BzD,WAA/B,EAAN,GAAqD,GAArD,GAA2D,CAAGqJ,KAAK,CAAN,GAAW,EAAZ,GAAkB,GAAnB,EAAwB5F,QAAxB,CAAiC,EAAjC,EAAqCzD,WAArC,EAA3D,GAAgH,GAAhH,GAAsH,CAAEqJ,IAAI,EAAL,GAAW,GAAZ,EAAiB5F,QAAjB,CAA0B,EAA1B,EAA8BzD,WAA9B,EAA1H;WAEEc,CAAP;;AAGD,AAAA,SAAAuB,WAAA,CAA4BD,GAA5B,EAAA;QACK6G,SAAS,EAAb;QACIE,IAAI,CAAR;QACMK,KAAKpH,IAAI1C,MAAf;WAEOyJ,IAAIK,EAAX,EAAe;YACRH,IAAI1C,SAASvE,IAAI8G,MAAJ,CAAWC,IAAI,CAAf,EAAkB,CAAlB,CAAT,EAA+B,EAA/B,CAAV;YAEIE,IAAI,GAAR,EAAa;sBACF7H,OAAO4H,YAAP,CAAoBC,CAApB,CAAV;iBACK,CAAL;SAFD,MAIK,IAAIA,KAAK,GAAL,IAAYA,IAAI,GAApB,EAAyB;gBACxBG,KAAKL,CAAN,IAAY,CAAhB,EAAmB;oBACZG,KAAK3C,SAASvE,IAAI8G,MAAJ,CAAWC,IAAI,CAAf,EAAkB,CAAlB,CAAT,EAA+B,EAA/B,CAAX;0BACU3H,OAAO4H,YAAP,CAAqB,CAACC,IAAI,EAAL,KAAY,CAAb,GAAmBC,KAAK,EAA5C,CAAV;aAFD,MAGO;0BACIlH,IAAI8G,MAAJ,CAAWC,CAAX,EAAc,CAAd,CAAV;;iBAEI,CAAL;SAPI,MASA,IAAIE,KAAK,GAAT,EAAc;gBACbG,KAAKL,CAAN,IAAY,CAAhB,EAAmB;oBACZG,KAAK3C,SAASvE,IAAI8G,MAAJ,CAAWC,IAAI,CAAf,EAAkB,CAAlB,CAAT,EAA+B,EAA/B,CAAX;oBACMI,KAAK5C,SAASvE,IAAI8G,MAAJ,CAAWC,IAAI,CAAf,EAAkB,CAAlB,CAAT,EAA+B,EAA/B,CAAX;0BACU3H,OAAO4H,YAAP,CAAqB,CAACC,IAAI,EAAL,KAAY,EAAb,GAAoB,CAACC,KAAK,EAAN,KAAa,CAAjC,GAAuCC,KAAK,EAAhE,CAAV;aAHD,MAIO;0BACInH,IAAI8G,MAAJ,CAAWC,CAAX,EAAc,CAAd,CAAV;;iBAEI,CAAL;SARI,MAUA;sBACM/G,IAAI8G,MAAJ,CAAWC,CAAX,EAAc,CAAd,CAAV;iBACK,CAAL;;;WAIKF,MAAP;;AAGD,SAAAD,2BAAA,CAAqC3J,UAArC,EAA+DkG,QAA/D,EAAA;aACAxF,gBAAC,CAA0BqC,GAA1B,EAAD;YACQF,SAASG,YAAYD,GAAZ,CAAf;eACQ,CAACF,OAAOzD,KAAP,CAAa8G,SAASpD,UAAtB,CAAD,GAAqCC,GAArC,GAA2CF,MAAnD;;QAGG7C,WAAW1B,MAAf,EAAuB0B,WAAW1B,MAAX,GAAoB6D,OAAOnC,WAAW1B,MAAlB,EAA0BkC,OAA1B,CAAkC0F,SAASzF,WAA3C,EAAwDC,gBAAxD,EAA0E1B,WAA1E,GAAwFwB,OAAxF,CAAgG0F,SAASwD,UAAzG,EAAqH,EAArH,CAApB;QACnB1J,WAAWwF,QAAX,KAAwBlG,SAA5B,EAAuCU,WAAWwF,QAAX,GAAsBrD,OAAOnC,WAAWwF,QAAlB,EAA4BhF,OAA5B,CAAoC0F,SAASzF,WAA7C,EAA0DC,gBAA1D,EAA4EF,OAA5E,CAAoF0F,SAASuD,YAA7F,EAA2G5I,UAA3G,EAAuHL,OAAvH,CAA+H0F,SAASzF,WAAxI,EAAqJE,WAArJ,CAAtB;QACnCX,WAAWmE,IAAX,KAAoB7E,SAAxB,EAAmCU,WAAWmE,IAAX,GAAkBhC,OAAOnC,WAAWmE,IAAlB,EAAwB3D,OAAxB,CAAgC0F,SAASzF,WAAzC,EAAsDC,gBAAtD,EAAwE1B,WAAxE,GAAsFwB,OAAtF,CAA8F0F,SAASsD,QAAvG,EAAiH3I,UAAjH,EAA6HL,OAA7H,CAAqI0F,SAASzF,WAA9I,EAA2JE,WAA3J,CAAlB;QAC/BX,WAAWP,IAAX,KAAoBH,SAAxB,EAAmCU,WAAWP,IAAX,GAAkB0C,OAAOnC,WAAWP,IAAlB,EAAwBe,OAAxB,CAAgC0F,SAASzF,WAAzC,EAAsDC,gBAAtD,EAAwEF,OAAxE,CAAiFR,WAAW1B,MAAX,GAAoB4H,SAASoD,QAA7B,GAAwCpD,SAASqD,iBAAlI,EAAsJ1I,UAAtJ,EAAkKL,OAAlK,CAA0K0F,SAASzF,WAAnL,EAAgME,WAAhM,CAAlB;QAC/BX,WAAWE,KAAX,KAAqBZ,SAAzB,EAAoCU,WAAWE,KAAX,GAAmBiC,OAAOnC,WAAWE,KAAlB,EAAyBM,OAAzB,CAAiC0F,SAASzF,WAA1C,EAAuDC,gBAAvD,EAAyEF,OAAzE,CAAiF0F,SAASmD,SAA1F,EAAqGxI,UAArG,EAAiHL,OAAjH,CAAyH0F,SAASzF,WAAlI,EAA+IE,WAA/I,CAAnB;QAChCX,WAAW8D,QAAX,KAAwBxE,SAA5B,EAAuCU,WAAW8D,QAAX,GAAsB3B,OAAOnC,WAAW8D,QAAlB,EAA4BtD,OAA5B,CAAoC0F,SAASzF,WAA7C,EAA0DC,gBAA1D,EAA4EF,OAA5E,CAAoF0F,SAASkD,YAA7F,EAA2GvI,UAA3G,EAAuHL,OAAvH,CAA+H0F,SAASzF,WAAxI,EAAqJE,WAArJ,CAAtB;WAEhCX,UAAP;;AACA;AAED,SAAAgJ,kBAAA,CAA4BjG,GAA5B,EAAA;WACQA,IAAIvC,OAAJ,CAAY,SAAZ,EAAuB,IAAvB,KAAgC,GAAvC;;AAGD,SAAAyG,cAAA,CAAwB9C,IAAxB,EAAqC+B,QAArC,EAAA;QACOnG,UAAUoE,KAAK/E,KAAL,CAAW8G,SAAS2C,WAApB,KAAoC,EAApD;;iCACoB9I,OAFrB;QAEUmJ,OAFV;;QAIKA,OAAJ,EAAa;eACLA,QAAQ1G,KAAR,CAAc,GAAd,EAAmBuG,GAAnB,CAAuBC,kBAAvB,EAA2C5I,IAA3C,CAAgD,GAAhD,CAAP;KADD,MAEO;eACC+D,IAAP;;;AAIF,SAAA6C,cAAA,CAAwB7C,IAAxB,EAAqC+B,QAArC,EAAA;QACOnG,UAAUoE,KAAK/E,KAAL,CAAW8G,SAASC,WAApB,KAAoC,EAApD;;kCAC0BpG,OAF3B;QAEUmJ,OAFV;QAEmBxB,IAFnB;;QAIKwB,OAAJ,EAAa;oCACUA,QAAQlK,WAAR,GAAsBwD,KAAtB,CAA4B,IAA5B,EAAkC2G,OAAlC,EADV;;YACLL,IADK;YACCG,KADD;;YAENR,cAAcQ,QAAQA,MAAMzG,KAAN,CAAY,GAAZ,EAAiBuG,GAAjB,CAAqBC,kBAArB,CAAR,GAAmD,EAAvE;YACMN,aAAaI,KAAKtG,KAAL,CAAW,GAAX,EAAgBuG,GAAhB,CAAoBC,kBAApB,CAAnB;YACMR,yBAAyBtC,SAAS2C,WAAT,CAAqBzC,IAArB,CAA0BsC,WAAWA,WAAWrI,MAAX,GAAoB,CAA/B,CAA1B,CAA/B;YACMkI,aAAaC,yBAAyB,CAAzB,GAA6B,CAAhD;YACMG,kBAAkBD,WAAWrI,MAAX,GAAoBkI,UAA5C;YACMpI,SAASyI,MAAcL,UAAd,CAAf;aAEK,IAAIlH,IAAI,CAAb,EAAgBA,IAAIkH,UAApB,EAAgC,EAAElH,CAAlC,EAAqC;mBAC7BA,CAAP,IAAYoH,YAAYpH,CAAZ,KAAkBqH,WAAWC,kBAAkBtH,CAA7B,CAAlB,IAAqD,EAAjE;;YAGGmH,sBAAJ,EAA4B;mBACpBD,aAAa,CAApB,IAAyBtB,eAAe9G,OAAOoI,aAAa,CAApB,CAAf,EAAuCrC,QAAvC,CAAzB;;YAGK+B,gBAAgB9H,OAAOmI,MAAP,CAAmD,UAACH,GAAD,EAAME,KAAN,EAAaP,KAAb,EAA3E;gBACO,CAACO,KAAD,IAAUA,UAAU,GAAxB,EAA6B;oBACtBD,cAAcD,IAAIA,IAAI9H,MAAJ,GAAa,CAAjB,CAApB;oBACI+H,eAAeA,YAAYN,KAAZ,GAAoBM,YAAY/H,MAAhC,KAA2CyH,KAA9D,EAAqE;gCACxDzH,MAAZ;iBADD,MAEO;wBACFC,IAAJ,CAAS,EAAEwH,YAAF,EAASzH,QAAS,CAAlB,EAAT;;;mBAGK8H,GAAP;SATqB,EAUnB,EAVmB,CAAtB;YAYMN,oBAAoBI,cAAcC,IAAd,CAAmB,UAACF,CAAD,EAAID,CAAJ;mBAAUA,EAAE1H,MAAF,GAAW2H,EAAE3H,MAAvB;SAAnB,EAAkD,CAAlD,CAA1B;YAEIoH,gBAAJ;YACII,qBAAqBA,kBAAkBxH,MAAlB,GAA2B,CAApD,EAAuD;gBAChDsH,WAAWxH,OAAO4B,KAAP,CAAa,CAAb,EAAgB8F,kBAAkBC,KAAlC,CAAjB;gBACMF,UAAUzH,OAAO4B,KAAP,CAAa8F,kBAAkBC,KAAlB,GAA0BD,kBAAkBxH,MAAzD,CAAhB;sBACUsH,SAASvH,IAAT,CAAc,GAAd,IAAqB,IAArB,GAA4BwH,QAAQxH,IAAR,CAAa,GAAb,CAAtC;SAHD,MAIO;sBACID,OAAOC,IAAP,CAAY,GAAZ,CAAV;;YAGGsH,IAAJ,EAAU;uBACE,MAAMA,IAAjB;;eAGMD,OAAP;KA5CD,MA6CO;eACCtD,IAAP;;;AAIF,IAAMqD,YAAY,iIAAlB;AACA,IAAMD,wBAA4C,EAAD,CAAKnI,KAAL,CAAW,OAAX,EAAqB,CAArB,MAA4BE,SAA7E;AAEA,AAAA,SAAAQ,KAAA,CAAsBqH,SAAtB,EAAA;QAAwClI,OAAxC,uEAA6D,EAA7D;;QACOe,aAA2B,EAAjC;QACMkG,WAAYjH,QAAQuC,GAAR,KAAgB,KAAhB,GAAwB8C,YAAxB,GAAuCD,YAAzD;QAEIpF,QAAQ+G,SAAR,KAAsB,QAA1B,EAAoCmB,YAAY,CAAClI,QAAQX,MAAR,GAAiBW,QAAQX,MAAR,GAAiB,GAAlC,GAAwC,EAAzC,IAA+C,IAA/C,GAAsD6I,SAAlE;QAE9BpH,UAAUoH,UAAU/H,KAAV,CAAgBoI,SAAhB,CAAhB;QAEIzH,OAAJ,EAAa;YACRwH,qBAAJ,EAA2B;;uBAEfjJ,MAAX,GAAoByB,QAAQ,CAAR,CAApB;uBACWyF,QAAX,GAAsBzF,QAAQ,CAAR,CAAtB;uBACWoE,IAAX,GAAkBpE,QAAQ,CAAR,CAAlB;uBACWkE,IAAX,GAAkBqD,SAASvH,QAAQ,CAAR,CAAT,EAAqB,EAArB,CAAlB;uBACWN,IAAX,GAAkBM,QAAQ,CAAR,KAAc,EAAhC;uBACWG,KAAX,GAAmBH,QAAQ,CAAR,CAAnB;uBACW+D,QAAX,GAAsB/D,QAAQ,CAAR,CAAtB;;gBAGIqH,MAAMpH,WAAWiE,IAAjB,CAAJ,EAA4B;2BAChBA,IAAX,GAAkBlE,QAAQ,CAAR,CAAlB;;SAZF,MAcO;;;uBAEKzB,MAAX,GAAoByB,QAAQ,CAAR,KAAcT,SAAlC;uBACWkG,QAAX,GAAuB2B,UAAUE,OAAV,CAAkB,GAAlB,MAA2B,CAAC,CAA5B,GAAgCtH,QAAQ,CAAR,CAAhC,GAA6CT,SAApE;uBACW6E,IAAX,GAAmBgD,UAAUE,OAAV,CAAkB,IAAlB,MAA4B,CAAC,CAA7B,GAAiCtH,QAAQ,CAAR,CAAjC,GAA8CT,SAAjE;uBACW2E,IAAX,GAAkBqD,SAASvH,QAAQ,CAAR,CAAT,EAAqB,EAArB,CAAlB;uBACWN,IAAX,GAAkBM,QAAQ,CAAR,KAAc,EAAhC;uBACWG,KAAX,GAAoBiH,UAAUE,OAAV,CAAkB,GAAlB,MAA2B,CAAC,CAA5B,GAAgCtH,QAAQ,CAAR,CAAhC,GAA6CT,SAAjE;uBACWwE,QAAX,GAAuBqD,UAAUE,OAAV,CAAkB,GAAlB,MAA2B,CAAC,CAA5B,GAAgCtH,QAAQ,CAAR,CAAhC,GAA6CT,SAApE;;gBAGI8H,MAAMpH,WAAWiE,IAAjB,CAAJ,EAA4B;2BAChBA,IAAX,GAAmBkD,UAAU/H,KAAV,CAAgB,+BAAhB,IAAmDW,QAAQ,CAAR,CAAnD,GAAgET,SAAnF;;;YAIEU,WAAWmE,IAAf,EAAqB;;uBAETA,IAAX,GAAkB6C,eAAeC,eAAejH,WAAWmE,IAA1B,EAAgC+B,QAAhC,CAAf,EAA0DA,QAA1D,CAAlB;;;YAIGlG,WAAW1B,MAAX,KAAsBgB,SAAtB,IAAmCU,WAAWwF,QAAX,KAAwBlG,SAA3D,IAAwEU,WAAWmE,IAAX,KAAoB7E,SAA5F,IAAyGU,WAAWiE,IAAX,KAAoB3E,SAA7H,IAA0I,CAACU,WAAWP,IAAtJ,IAA8JO,WAAWE,KAAX,KAAqBZ,SAAvL,EAAkM;uBACtL0G,SAAX,GAAuB,eAAvB;SADD,MAEO,IAAIhG,WAAW1B,MAAX,KAAsBgB,SAA1B,EAAqC;uBAChC0G,SAAX,GAAuB,UAAvB;SADM,MAEA,IAAIhG,WAAW8D,QAAX,KAAwBxE,SAA5B,EAAuC;uBAClC0G,SAAX,GAAuB,UAAvB;SADM,MAEA;uBACKA,SAAX,GAAuB,KAAvB;;;YAIG/G,QAAQ+G,SAAR,IAAqB/G,QAAQ+G,SAAR,KAAsB,QAA3C,IAAuD/G,QAAQ+G,SAAR,KAAsBhG,WAAWgG,SAA5F,EAAuG;uBAC3F9G,KAAX,GAAmBc,WAAWd,KAAX,IAAoB,kBAAkBD,QAAQ+G,SAA1B,GAAsC,aAA7E;;;YAIKrG,gBAAgBvB,QAAQ,CAACa,QAAQX,MAAR,IAAkB0B,WAAW1B,MAA7B,IAAuC,EAAxC,EAA4CU,WAA5C,EAAR,CAAtB;;YAGI,CAACC,QAAQsD,cAAT,KAA4B,CAAC5C,aAAD,IAAkB,CAACA,cAAc4C,cAA7D,CAAJ,EAAkF;;gBAE7EvC,WAAWmE,IAAX,KAAoBlF,QAAQ2E,UAAR,IAAuBjE,iBAAiBA,cAAciE,UAA1E,CAAJ,EAA4F;;oBAEvF;+BACQO,IAAX,GAAkBzC,SAASC,OAAT,CAAiB3B,WAAWmE,IAAX,CAAgB3D,OAAhB,CAAwB0F,SAASzF,WAAjC,EAA8CuC,WAA9C,EAA2DhE,WAA3D,EAAjB,CAAlB;iBADD,CAEE,OAAOyC,CAAP,EAAU;+BACAvC,KAAX,GAAmBc,WAAWd,KAAX,IAAoB,oEAAoEuC,CAA3G;;;;wCAI0BzB,UAA5B,EAAwCqE,YAAxC;SAXD,MAYO;;wCAEsBrE,UAA5B,EAAwCkG,QAAxC;;;YAIGvG,iBAAiBA,cAAcG,KAAnC,EAA0C;0BAC3BA,KAAd,CAAoBE,UAApB,EAAgCf,OAAhC;;KA3EF,MA6EO;mBACKC,KAAX,GAAmBc,WAAWd,KAAX,IAAoB,wBAAvC;;WAGMc,UAAP;;AACA;AAED,SAAAiG,mBAAA,CAA6BjG,UAA7B,EAAuDf,OAAvD,EAAA;QACOiH,WAAYjH,QAAQuC,GAAR,KAAgB,KAAhB,GAAwB8C,YAAxB,GAAuCD,YAAzD;QACMuB,YAA0B,EAAhC;QAEI5F,WAAWwF,QAAX,KAAwBlG,SAA5B,EAAuC;kBAC5BgB,IAAV,CAAeN,WAAWwF,QAA1B;kBACUlF,IAAV,CAAe,GAAf;;QAGGN,WAAWmE,IAAX,KAAoB7E,SAAxB,EAAmC;;kBAExBgB,IAAV,CAAe0G,eAAeC,eAAe9E,OAAOnC,WAAWmE,IAAlB,CAAf,EAAwC+B,QAAxC,CAAf,EAAkEA,QAAlE,EAA4E1F,OAA5E,CAAoF0F,SAASC,WAA7F,EAA0G,UAACe,CAAD,EAAIJ,EAAJ,EAAQC,EAAR;mBAAe,MAAMD,EAAN,IAAYC,KAAK,QAAQA,EAAb,GAAkB,EAA9B,IAAoC,GAAnD;SAA1G,CAAf;;QAGG,OAAO/G,WAAWiE,IAAlB,KAA2B,QAA3B,IAAuC,OAAOjE,WAAWiE,IAAlB,KAA2B,QAAtE,EAAgF;kBACrE3D,IAAV,CAAe,GAAf;kBACUA,IAAV,CAAe6B,OAAOnC,WAAWiE,IAAlB,CAAf;;WAGM2B,UAAUvF,MAAV,GAAmBuF,UAAUxF,IAAV,CAAe,EAAf,CAAnB,GAAwCd,SAA/C;;AACA;AAED,IAAMuH,OAAO,UAAb;AACA,IAAMD,OAAO,aAAb;AACA,IAAMD,OAAO,eAAb;AACA,AACA,IAAMF,OAAO,wBAAb;AAEA,AAAA,SAAAhB,iBAAA,CAAkCc,KAAlC,EAAA;QACOF,SAAuB,EAA7B;WAEOE,MAAMlG,MAAb,EAAqB;YAChBkG,MAAMnH,KAAN,CAAYyH,IAAZ,CAAJ,EAAuB;oBACdN,MAAM/F,OAAN,CAAcqG,IAAd,EAAoB,EAApB,CAAR;SADD,MAEO,IAAIN,MAAMnH,KAAN,CAAYwH,IAAZ,CAAJ,EAAuB;oBACrBL,MAAM/F,OAAN,CAAcoG,IAAd,EAAoB,GAApB,CAAR;SADM,MAEA,IAAIL,MAAMnH,KAAN,CAAYuH,IAAZ,CAAJ,EAAuB;oBACrBJ,MAAM/F,OAAN,CAAcmG,IAAd,EAAoB,GAApB,CAAR;mBACOD,GAAP;SAFM,MAGA,IAAIH,UAAU,GAAV,IAAiBA,UAAU,IAA/B,EAAqC;oBACnC,EAAR;SADM,MAEA;gBACAC,KAAKD,MAAMnH,KAAN,CAAYqH,IAAZ,CAAX;gBACID,EAAJ,EAAQ;oBACDX,IAAIW,GAAG,CAAH,CAAV;wBACQD,MAAMxE,KAAN,CAAY8D,EAAExF,MAAd,CAAR;uBACOC,IAAP,CAAYuF,CAAZ;aAHD,MAIO;sBACA,IAAIS,KAAJ,CAAU,kCAAV,CAAN;;;;WAKID,OAAOjG,IAAP,CAAY,EAAZ,CAAP;;AACA;AAED,AAAA,SAAAR,SAAA,CAA0BI,UAA1B,EAAA;QAAoDf,OAApD,uEAAyE,EAAzE;;QACOiH,WAAYjH,QAAQuC,GAAR,GAAc8C,YAAd,GAA6BD,YAA/C;QACMuB,YAA0B,EAAhC;;QAGMjG,gBAAgBvB,QAAQ,CAACa,QAAQX,MAAR,IAAkB0B,WAAW1B,MAA7B,IAAuC,EAAxC,EAA4CU,WAA5C,EAAR,CAAtB;;QAGIW,iBAAiBA,cAAcC,SAAnC,EAA8CD,cAAcC,SAAd,CAAwBI,UAAxB,EAAoCf,OAApC;QAE1Ce,WAAWmE,IAAf,EAAqB;;YAEhB+B,SAASC,WAAT,CAAqBC,IAArB,CAA0BpG,WAAWmE,IAArC,CAAJ,EAAgD;;;;aAK3C,IAAIlF,QAAQ2E,UAAR,IAAuBjE,iBAAiBA,cAAciE,UAA1D,EAAuE;;oBAEvE;+BACQO,IAAX,GAAmB,CAAClF,QAAQuC,GAAT,GAAeE,SAASC,OAAT,CAAiB3B,WAAWmE,IAAX,CAAgB3D,OAAhB,CAAwB0F,SAASzF,WAAjC,EAA8CuC,WAA9C,EAA2DhE,WAA3D,EAAjB,CAAf,GAA4G0C,SAASG,SAAT,CAAmB7B,WAAWmE,IAA9B,CAA/H;iBADD,CAEE,OAAO1C,CAAP,EAAU;+BACAvC,KAAX,GAAmBc,WAAWd,KAAX,IAAoB,iDAAiD,CAACD,QAAQuC,GAAT,GAAe,OAAf,GAAyB,SAA1E,IAAuF,iBAAvF,GAA2GC,CAAlJ;;;;;gCAMyBzB,UAA5B,EAAwCkG,QAAxC;QAEIjH,QAAQ+G,SAAR,KAAsB,QAAtB,IAAkChG,WAAW1B,MAAjD,EAAyD;kBAC9CgC,IAAV,CAAeN,WAAW1B,MAA1B;kBACUgC,IAAV,CAAe,GAAf;;QAGKwF,YAAYG,oBAAoBjG,UAApB,EAAgCf,OAAhC,CAAlB;QACI6G,cAAcxG,SAAlB,EAA6B;YACxBL,QAAQ+G,SAAR,KAAsB,QAA1B,EAAoC;sBACzB1F,IAAV,CAAe,IAAf;;kBAGSA,IAAV,CAAewF,SAAf;YAEI9F,WAAWP,IAAX,IAAmBO,WAAWP,IAAX,CAAgBiG,MAAhB,CAAuB,CAAvB,MAA8B,GAArD,EAA0D;sBAC/CpF,IAAV,CAAe,GAAf;;;QAIEN,WAAWP,IAAX,KAAoBH,SAAxB,EAAmC;YAC9BuG,IAAI7F,WAAWP,IAAnB;YAEI,CAACR,QAAQ8G,YAAT,KAA0B,CAACpG,aAAD,IAAkB,CAACA,cAAcoG,YAA3D,CAAJ,EAA8E;gBACzEN,kBAAkBI,CAAlB,CAAJ;;YAGGC,cAAcxG,SAAlB,EAA6B;gBACxBuG,EAAErF,OAAF,CAAU,OAAV,EAAmB,MAAnB,CAAJ,CAD4B;;kBAInBF,IAAV,CAAeuF,CAAf;;QAGG7F,WAAWE,KAAX,KAAqBZ,SAAzB,EAAoC;kBACzBgB,IAAV,CAAe,GAAf;kBACUA,IAAV,CAAeN,WAAWE,KAA1B;;QAGGF,WAAW8D,QAAX,KAAwBxE,SAA5B,EAAuC;kBAC5BgB,IAAV,CAAe,GAAf;kBACUA,IAAV,CAAeN,WAAW8D,QAA1B;;WAGM8B,UAAUxF,IAAV,CAAe,EAAf,CAAP,CAxED;;AAyEC;AAED,AAAA,SAAA2E,iBAAA,CAAkCQ,IAAlC,EAAsDD,QAAtD,EAAA;QAA8ErG,OAA9E,uEAAmG,EAAnG;QAAuG0G,iBAAvG;;QACON,SAAuB,EAA7B;QAEI,CAACM,iBAAL,EAAwB;eAChB7F,MAAMF,UAAU2F,IAAV,EAAgBtG,OAAhB,CAAN,EAAgCA,OAAhC,CAAP,CADuB;mBAEZa,MAAMF,UAAU0F,QAAV,EAAoBrG,OAApB,CAAN,EAAoCA,OAApC,CAAX,CAFuB;;cAIdA,WAAW,EAArB;QAEI,CAACA,QAAQE,QAAT,IAAqBmG,SAAShH,MAAlC,EAA0C;eAClCA,MAAP,GAAgBgH,SAAShH,MAAzB;;eAEOkH,QAAP,GAAkBF,SAASE,QAA3B;eACOrB,IAAP,GAAcmB,SAASnB,IAAvB;eACOF,IAAP,GAAcqB,SAASrB,IAAvB;eACOxE,IAAP,GAAcgG,kBAAkBH,SAAS7F,IAAT,IAAiB,EAAnC,CAAd;eACOS,KAAP,GAAeoF,SAASpF,KAAxB;KAPD,MAQO;YACFoF,SAASE,QAAT,KAAsBlG,SAAtB,IAAmCgG,SAASnB,IAAT,KAAkB7E,SAArD,IAAkEgG,SAASrB,IAAT,KAAkB3E,SAAxF,EAAmG;;mBAE3FkG,QAAP,GAAkBF,SAASE,QAA3B;mBACOrB,IAAP,GAAcmB,SAASnB,IAAvB;mBACOF,IAAP,GAAcqB,SAASrB,IAAvB;mBACOxE,IAAP,GAAcgG,kBAAkBH,SAAS7F,IAAT,IAAiB,EAAnC,CAAd;mBACOS,KAAP,GAAeoF,SAASpF,KAAxB;SAND,MAOO;gBACF,CAACoF,SAAS7F,IAAd,EAAoB;uBACZA,IAAP,GAAc8F,KAAK9F,IAAnB;oBACI6F,SAASpF,KAAT,KAAmBZ,SAAvB,EAAkC;2BAC1BY,KAAP,GAAeoF,SAASpF,KAAxB;iBADD,MAEO;2BACCA,KAAP,GAAeqF,KAAKrF,KAApB;;aALF,MAOO;oBACFoF,SAAS7F,IAAT,CAAciG,MAAd,CAAqB,CAArB,MAA4B,GAAhC,EAAqC;2BAC7BjG,IAAP,GAAcgG,kBAAkBH,SAAS7F,IAA3B,CAAd;iBADD,MAEO;wBACF,CAAC8F,KAAKC,QAAL,KAAkBlG,SAAlB,IAA+BiG,KAAKpB,IAAL,KAAc7E,SAA7C,IAA0DiG,KAAKtB,IAAL,KAAc3E,SAAzE,KAAuF,CAACiG,KAAK9F,IAAjG,EAAuG;+BAC/FA,IAAP,GAAc,MAAM6F,SAAS7F,IAA7B;qBADD,MAEO,IAAI,CAAC8F,KAAK9F,IAAV,EAAgB;+BACfA,IAAP,GAAc6F,SAAS7F,IAAvB;qBADM,MAEA;+BACCA,IAAP,GAAc8F,KAAK9F,IAAL,CAAUsC,KAAV,CAAgB,CAAhB,EAAmBwD,KAAK9F,IAAL,CAAUyC,WAAV,CAAsB,GAAtB,IAA6B,CAAhD,IAAqDoD,SAAS7F,IAA5E;;2BAEMA,IAAP,GAAcgG,kBAAkBJ,OAAO5F,IAAzB,CAAd;;uBAEMS,KAAP,GAAeoF,SAASpF,KAAxB;;;mBAGMsF,QAAP,GAAkBD,KAAKC,QAAvB;mBACOrB,IAAP,GAAcoB,KAAKpB,IAAnB;mBACOF,IAAP,GAAcsB,KAAKtB,IAAnB;;eAEM3F,MAAP,GAAgBiH,KAAKjH,MAArB;;WAGMwF,QAAP,GAAkBwB,SAASxB,QAA3B;WAEOuB,MAAP;;AACA;AAED,AAAA,SAAAD,OAAA,CAAwBJ,OAAxB,EAAwCE,WAAxC,EAA4DjG,OAA5D,EAAA;QACOgG,oBAAoBE,OAAO,EAAE7G,QAAS,MAAX,EAAP,EAA4BW,OAA5B,CAA1B;WACOW,UAAUmF,kBAAkBjF,MAAMkF,OAAN,EAAeC,iBAAf,CAAlB,EAAqDnF,MAAMoF,WAAN,EAAmBD,iBAAnB,CAArD,EAA4FA,iBAA5F,EAA+G,IAA/G,CAAV,EAAgIA,iBAAhI,CAAP;;AACA;AAID,AAAA,SAAAH,SAAA,CAA0BD,GAA1B,EAAmC5F,OAAnC,EAAA;QACK,OAAO4F,GAAP,KAAe,QAAnB,EAA6B;cACtBjF,UAAUE,MAAM+E,GAAN,EAAW5F,OAAX,CAAV,EAA+BA,OAA/B,CAAN;KADD,MAEO,IAAI0F,OAAOE,GAAP,MAAgB,QAApB,EAA8B;cAC9B/E,MAAMF,UAAyBiF,GAAzB,EAA8B5F,OAA9B,CAAN,EAA8CA,OAA9C,CAAN;;WAGM4F,GAAP;;AACA;AAID,AAAA,SAAAD,KAAA,CAAsBH,IAAtB,EAAgCC,IAAhC,EAA0CzF,OAA1C,EAAA;QACK,OAAOwF,IAAP,KAAgB,QAApB,EAA8B;eACtB7E,UAAUE,MAAM2E,IAAN,EAAYxF,OAAZ,CAAV,EAAgCA,OAAhC,CAAP;KADD,MAEO,IAAI0F,OAAOF,IAAP,MAAiB,QAArB,EAA+B;eAC9B7E,UAAyB6E,IAAzB,EAA+BxF,OAA/B,CAAP;;QAGG,OAAOyF,IAAP,KAAgB,QAApB,EAA8B;eACtB9E,UAAUE,MAAM4E,IAAN,EAAYzF,OAAZ,CAAV,EAAgCA,OAAhC,CAAP;KADD,MAEO,IAAI0F,OAAOD,IAAP,MAAiB,QAArB,EAA+B;eAC9B9E,UAAyB8E,IAAzB,EAA+BzF,OAA/B,CAAP;;WAGMwF,SAASC,IAAhB;;AACA;AAED,AAAA,SAAAF,eAAA,CAAgCzB,GAAhC,EAA4C9D,OAA5C,EAAA;WACQ8D,OAAOA,IAAIqB,QAAJ,GAAe5D,OAAf,CAAwB,CAACvB,OAAD,IAAY,CAACA,QAAQuC,GAArB,GAA2B6C,aAAaE,MAAxC,GAAiDD,aAAaC,MAAtF,EAA+F1D,UAA/F,CAAd;;AACA;AAED,AAAA,SAAAe,iBAAA,CAAkCmB,GAAlC,EAA8C9D,OAA9C,EAAA;WACQ8D,OAAOA,IAAIqB,QAAJ,GAAe5D,OAAf,CAAwB,CAACvB,OAAD,IAAY,CAACA,QAAQuC,GAArB,GAA2B6C,aAAa5D,WAAxC,GAAsD6D,aAAa7D,WAA3F,EAAyGuC,WAAzG,CAAd;CACA;;ADziBD,IAAMzD,UAA2B;YACvB,MADuB;gBAGnB,IAHmB;WAKxB,eAAUS,UAAV,EAAoCf,OAApC,EAAT;;YAEM,CAACe,WAAWmE,IAAhB,EAAsB;uBACVjF,KAAX,GAAmBc,WAAWd,KAAX,IAAoB,6BAAvC;;eAGMc,UAAP;KAX+B;eAcpB,mBAAUA,UAAV,EAAoCf,OAApC,EAAb;YACQ+E,SAAS7B,OAAOnC,WAAW1B,MAAlB,EAA0BU,WAA1B,OAA4C,OAA3D;;YAGIgB,WAAWiE,IAAX,MAAqBD,SAAS,GAAT,GAAe,EAApC,KAA2ChE,WAAWiE,IAAX,KAAoB,EAAnE,EAAuE;uBAC3DA,IAAX,GAAkB3E,SAAlB;;;YAIG,CAACU,WAAWP,IAAhB,EAAsB;uBACVA,IAAX,GAAkB,GAAlB;;;;;eAOMO,UAAP;;CA/BF,CAmCA;;ADlCA,IAAMT,YAA2B;YACvB,OADuB;gBAEnBX,QAAKgF,UAFc;WAGxBhF,QAAKkB,KAHmB;eAIpBlB,QAAKgB;CAJlB,CAOA;;ADHA,SAAAsE,QAAA,CAAkBL,YAAlB,EAAA;WACQ,OAAOA,aAAaG,MAApB,KAA+B,SAA/B,GAA2CH,aAAaG,MAAxD,GAAiE7B,OAAO0B,aAAavF,MAApB,EAA4BU,WAA5B,OAA8C,KAAtH;;;AAID,IAAMO,YAA2B;YACvB,IADuB;gBAGnB,IAHmB;WAKxB,eAAUS,UAAV,EAAoCf,OAApC,EAAT;YACQ4E,eAAe7D,UAArB;;qBAGagE,MAAb,GAAsBE,SAASL,YAAT,CAAtB;;qBAGaE,YAAb,GAA4B,CAACF,aAAapE,IAAb,IAAqB,GAAtB,KAA8BoE,aAAa3D,KAAb,GAAqB,MAAM2D,aAAa3D,KAAxC,GAAgD,EAA9E,CAA5B;qBACaT,IAAb,GAAoBH,SAApB;qBACaY,KAAb,GAAqBZ,SAArB;eAEOuE,YAAP;KAhB+B;eAmBpB,mBAAUA,YAAV,EAAqC5E,OAArC,EAAb;;YAEM4E,aAAaI,IAAb,MAAuBC,SAASL,YAAT,IAAyB,GAAzB,GAA+B,EAAtD,KAA6DA,aAAaI,IAAb,KAAsB,EAAvF,EAA2F;yBAC7EA,IAAb,GAAoB3E,SAApB;;;YAIG,OAAOuE,aAAaG,MAApB,KAA+B,SAAnC,EAA8C;yBAChC1F,MAAb,GAAuBuF,aAAaG,MAAb,GAAsB,KAAtB,GAA8B,IAArD;yBACaA,MAAb,GAAsB1E,SAAtB;;;YAIGuE,aAAaE,YAAjB,EAA+B;wCACRF,aAAaE,YAAb,CAA0BvB,KAA1B,CAAgC,GAAhC,CADQ;;gBACvB/C,IADuB;gBACjBS,KADiB;;yBAEjBT,IAAb,GAAqBA,QAAQA,SAAS,GAAjB,GAAuBA,IAAvB,GAA8BH,SAAnD;yBACaY,KAAb,GAAqBA,KAArB;yBACa6D,YAAb,GAA4BzE,SAA5B;;;qBAIYwE,QAAb,GAAwBxE,SAAxB;eAEOuE,YAAP;;CA1CF,CA8CA;;ADvDA,IAAMtE,YAA2B;YACvB,KADuB;gBAEnBb,UAAGkF,UAFgB;WAGxBlF,UAAGoB,KAHqB;eAIpBpB,UAAGkB;CAJhB,CAOA;;ADMA,IAAMoB,IAAkB,EAAxB;AACA,IAAM2C,QAAQ,IAAd;;AAGA,IAAMR,eAAe,4BAA4BQ,QAAQ,2EAAR,GAAsF,EAAlH,IAAwH,GAA7I;AACA,IAAMD,WAAW,aAAjB;AACA,IAAMH,eAAeE,OAAOA,OAAO,YAAYC,QAAZ,GAAuB,GAAvB,GAA6BA,QAA7B,GAAwCA,QAAxC,GAAmD,GAAnD,GAAyDA,QAAzD,GAAoEA,QAA3E,IAAuF,GAAvF,GAA6FD,OAAO,gBAAgBC,QAAhB,GAA2B,GAA3B,GAAiCA,QAAjC,GAA4CA,QAAnD,CAA7F,GAA4J,GAA5J,GAAkKD,OAAO,MAAMC,QAAN,GAAiBA,QAAxB,CAAzK,CAArB;;;;;;;;;;;;AAaA,IAAML,UAAU,uDAAhB;AACA,IAAMG,UAAU,4DAAhB;AACA,IAAMF,UAAUJ,MAAMM,OAAN,EAAe,YAAf,CAAhB;AACA,AACA,AACA,AACA,AAEA,AAEA,IAAMJ,gBAAgB,qCAAtB;AACA,AACA,AACA,AACA,AACA,AACA,AACA,AACA,AACA,AACA,AACA,AAEA,IAAMN,aAAa,IAAIG,MAAJ,CAAWE,YAAX,EAAyB,GAAzB,CAAnB;AACA,IAAM1C,cAAc,IAAIwC,MAAJ,CAAWM,YAAX,EAAyB,GAAzB,CAApB;AACA,IAAMtB,iBAAiB,IAAIgB,MAAJ,CAAWC,MAAM,KAAN,EAAaG,OAAb,EAAsB,OAAtB,EAA+B,OAA/B,EAAwCC,OAAxC,CAAX,EAA6D,GAA7D,CAAvB;AACA,AACA,IAAM1C,aAAa,IAAIqC,MAAJ,CAAWC,MAAM,KAAN,EAAaC,YAAb,EAA2BC,aAA3B,CAAX,EAAsD,GAAtD,CAAnB;AACA,IAAMrC,cAAcH,UAApB;AACA,AACA,AAEA,SAAAF,gBAAA,CAA0BqC,GAA1B,EAAA;QACOF,SAASG,YAAYD,GAAZ,CAAf;WACQ,CAACF,OAAOzD,KAAP,CAAa0D,UAAb,CAAD,GAA4BC,GAA5B,GAAkCF,MAA1C;;AAGD,IAAMtD,YAA8C;YAC1C,QAD0C;WAG3C,kBAAUS,UAAV,EAAoCf,OAApC,EAAT;YACQgC,mBAAmBjB,UAAzB;YACMoB,KAAKH,iBAAiBG,EAAjB,GAAuBH,iBAAiBxB,IAAjB,GAAwBwB,iBAAiBxB,IAAjB,CAAsB+C,KAAtB,CAA4B,GAA5B,CAAxB,GAA2D,EAA7F;yBACiB/C,IAAjB,GAAwBH,SAAxB;YAEI2B,iBAAiBf,KAArB,EAA4B;gBACvBuC,iBAAiB,KAArB;gBACM3B,UAAwB,EAA9B;gBACM8B,UAAU3B,iBAAiBf,KAAjB,CAAuBsC,KAAvB,CAA6B,GAA7B,CAAhB;iBAEK,IAAInB,IAAI,CAAR,EAAWe,KAAKQ,QAAQvC,MAA7B,EAAqCgB,IAAIe,EAAzC,EAA6C,EAAEf,CAA/C,EAAkD;oBAC3CqB,SAASE,QAAQvB,CAAR,EAAWmB,KAAX,CAAiB,GAAjB,CAAf;wBAEQE,OAAO,CAAP,CAAR;yBACM,IAAL;4BACOC,UAAUD,OAAO,CAAP,EAAUF,KAAV,CAAgB,GAAhB,CAAhB;6BACK,IAAInB,KAAI,CAAR,EAAWe,MAAKO,QAAQtC,MAA7B,EAAqCgB,KAAIe,GAAzC,EAA6C,EAAEf,EAA/C,EAAkD;+BAC9Cf,IAAH,CAAQqC,QAAQtB,EAAR,CAAR;;;yBAGG,SAAL;yCACkBF,OAAjB,GAA2BS,kBAAkBc,OAAO,CAAP,CAAlB,EAA6BzD,OAA7B,CAA3B;;yBAEI,MAAL;yCACkBiC,IAAjB,GAAwBU,kBAAkBc,OAAO,CAAP,CAAlB,EAA6BzD,OAA7B,CAAxB;;;yCAGiB,IAAjB;gCACQ2C,kBAAkBc,OAAO,CAAP,CAAlB,EAA6BzD,OAA7B,CAAR,IAAiD2C,kBAAkBc,OAAO,CAAP,CAAlB,EAA6BzD,OAA7B,CAAjD;;;;gBAKCwD,cAAJ,EAAoBxB,iBAAiBH,OAAjB,GAA2BA,OAA3B;;yBAGJZ,KAAjB,GAAyBZ,SAAzB;aAEK,IAAI+B,MAAI,CAAR,EAAWe,OAAKhB,GAAGf,MAAxB,EAAgCgB,MAAIe,IAApC,EAAwC,EAAEf,GAA1C,EAA6C;gBACtCiB,OAAOlB,GAAGC,GAAH,EAAMmB,KAAN,CAAY,GAAZ,CAAb;iBAEK,CAAL,IAAUZ,kBAAkBU,KAAK,CAAL,CAAlB,CAAV;gBAEI,CAACrD,QAAQsD,cAAb,EAA6B;;oBAExB;yBACE,CAAL,IAAUb,SAASC,OAAT,CAAiBC,kBAAkBU,KAAK,CAAL,CAAlB,EAA2BrD,OAA3B,EAAoCD,WAApC,EAAjB,CAAV;iBADD,CAEE,OAAOyC,CAAP,EAAU;qCACMvC,KAAjB,GAAyB+B,iBAAiB/B,KAAjB,IAA0B,6EAA6EuC,CAAhI;;aALF,MAOO;qBACD,CAAL,IAAUG,kBAAkBU,KAAK,CAAL,CAAlB,EAA2BrD,OAA3B,EAAoCD,WAApC,EAAV;;eAGEqC,GAAH,IAAQiB,KAAKlC,IAAL,CAAU,GAAV,CAAR;;eAGMa,gBAAP;KA5DkD;eA+DvC,sBAAUA,gBAAV,EAA6ChC,OAA7C,EAAb;YACQe,aAAaiB,gBAAnB;YACMG,KAAKiB,QAAQpB,iBAAiBG,EAAzB,CAAX;YACIA,EAAJ,EAAQ;iBACF,IAAIC,IAAI,CAAR,EAAWe,KAAKhB,GAAGf,MAAxB,EAAgCgB,IAAIe,EAApC,EAAwC,EAAEf,CAA1C,EAA6C;oBACtCS,SAASK,OAAOf,GAAGC,CAAH,CAAP,CAAf;oBACMW,QAAQF,OAAOI,WAAP,CAAmB,GAAnB,CAAd;oBACMZ,YAAaQ,OAAOC,KAAP,CAAa,CAAb,EAAgBC,KAAhB,CAAD,CAAyBxB,OAAzB,CAAiCC,WAAjC,EAA8CC,gBAA9C,EAAgEF,OAAhE,CAAwEC,WAAxE,EAAqFE,WAArF,EAAkGH,OAAlG,CAA0GyB,cAA1G,EAA0HpB,UAA1H,CAAlB;oBACIU,SAASO,OAAOC,KAAP,CAAaC,QAAQ,CAArB,CAAb;;oBAGI;6BACO,CAAC/C,QAAQuC,GAAT,GAAeE,SAASC,OAAT,CAAiBC,kBAAkBL,MAAlB,EAA0BtC,OAA1B,EAAmCD,WAAnC,EAAjB,CAAf,GAAoF0C,SAASG,SAAT,CAAmBN,MAAnB,CAA9F;iBADD,CAEE,OAAOE,CAAP,EAAU;+BACAvC,KAAX,GAAmBc,WAAWd,KAAX,IAAoB,0DAA0D,CAACD,QAAQuC,GAAT,GAAe,OAAf,GAAyB,SAAnF,IAAgG,iBAAhG,GAAoHC,CAA3J;;mBAGEJ,CAAH,IAAQC,YAAY,GAAZ,GAAkBC,MAA1B;;uBAGU9B,IAAX,GAAkB2B,GAAGhB,IAAH,CAAQ,GAAR,CAAlB;;YAGKU,UAAUG,iBAAiBH,OAAjB,GAA2BG,iBAAiBH,OAAjB,IAA4B,EAAvE;YAEIG,iBAAiBE,OAArB,EAA8BL,QAAQ,SAAR,IAAqBG,iBAAiBE,OAAtC;YAC1BF,iBAAiBC,IAArB,EAA2BJ,QAAQ,MAAR,IAAkBG,iBAAiBC,IAAnC;YAErBf,SAAS,EAAf;aACK,IAAMI,IAAX,IAAmBO,OAAnB,EAA4B;gBACvBA,QAAQP,IAAR,MAAkBS,EAAET,IAAF,CAAtB,EAA+B;uBACvBD,IAAP,CACCC,KAAKC,OAAL,CAAaC,WAAb,EAA0BC,gBAA1B,EAA4CF,OAA5C,CAAoDC,WAApD,EAAiEE,WAAjE,EAA8EH,OAA9E,CAAsFI,UAAtF,EAAkGC,UAAlG,IACA,GADA,GAEAC,QAAQP,IAAR,EAAcC,OAAd,CAAsBC,WAAtB,EAAmCC,gBAAnC,EAAqDF,OAArD,CAA6DC,WAA7D,EAA0EE,WAA1E,EAAuFH,OAAvF,CAA+FO,WAA/F,EAA4GF,UAA5G,CAHD;;;YAOEV,OAAOE,MAAX,EAAmB;uBACPH,KAAX,GAAmBC,OAAOC,IAAP,CAAY,GAAZ,CAAnB;;eAGMJ,UAAP;;CAzGF,CA6GA;;ADnKA,IAAMC,YAAY,iBAAlB;AACA,AAEA;AACA,IAAMV,YAAqD;YACjD,KADiD;WAGlD,kBAAUS,UAAV,EAAoCf,OAApC,EAAT;YACQc,UAAUC,WAAWP,IAAX,IAAmBO,WAAWP,IAAX,CAAgBL,KAAhB,CAAsBa,SAAtB,CAAnC;YACIpB,gBAAgBmB,UAApB;YAEID,OAAJ,EAAa;gBACNzB,SAASW,QAAQX,MAAR,IAAkBO,cAAcP,MAAhC,IAA0C,KAAzD;gBACMoB,MAAMK,QAAQ,CAAR,EAAWf,WAAX,EAAZ;gBACMF,MAAMiB,QAAQ,CAAR,CAAZ;gBACMF,YAAevB,MAAf,UAAyBW,QAAQS,GAAR,IAAeA,GAAxC,CAAN;gBACMC,gBAAgBvB,QAAQyB,SAAR,CAAtB;0BAEcH,GAAd,GAAoBA,GAApB;0BACcZ,GAAd,GAAoBA,GAApB;0BACcW,IAAd,GAAqBH,SAArB;gBAEIK,aAAJ,EAAmB;gCACFA,cAAcG,KAAd,CAAoBjB,aAApB,EAAmCI,OAAnC,CAAhB;;SAZF,MAcO;0BACQC,KAAd,GAAsBL,cAAcK,KAAd,IAAuB,wBAA7C;;eAGML,aAAP;KAzByD;eA4B9C,sBAAUA,aAAV,EAAuCI,OAAvC,EAAb;YACQX,SAASW,QAAQX,MAAR,IAAkBO,cAAcP,MAAhC,IAA0C,KAAzD;YACMoB,MAAMb,cAAca,GAA1B;YACMG,YAAevB,MAAf,UAAyBW,QAAQS,GAAR,IAAeA,GAAxC,CAAN;YACMC,gBAAgBvB,QAAQyB,SAAR,CAAtB;YAEIF,aAAJ,EAAmB;4BACFA,cAAcC,SAAd,CAAwBf,aAAxB,EAAuCI,OAAvC,CAAhB;;YAGKO,gBAAgBX,aAAtB;YACMC,MAAMD,cAAcC,GAA1B;sBACcW,IAAd,IAAwBC,OAAOT,QAAQS,GAAvC,UAA8CZ,GAA9C;eAEOU,aAAP;;CA1CF,CA8CA;;AD5DA,IAAMH,OAAO,0DAAb;AACA,AAEA;AACA,IAAME,YAAsE;YAClE,UADkE;WAGnE,eAAUV,aAAV,EAAuCI,OAAvC,EAAT;YACQF,iBAAiBF,aAAvB;uBACeR,IAAf,GAAsBU,eAAeD,GAArC;uBACeA,GAAf,GAAqBQ,SAArB;YAEI,CAACL,QAAQE,QAAT,KAAsB,CAACJ,eAAeV,IAAhB,IAAwB,CAACU,eAAeV,IAAf,CAAoBe,KAApB,CAA0BC,IAA1B,CAA/C,CAAJ,EAAqF;2BACrEH,KAAf,GAAuBH,eAAeG,KAAf,IAAwB,oBAA/C;;eAGMH,cAAP;KAZ0E;eAe/D,mBAAUA,cAAV,EAAyCE,OAAzC,EAAb;YACQJ,gBAAgBE,cAAtB;;sBAEcD,GAAd,GAAoB,CAACC,eAAeV,IAAf,IAAuB,EAAxB,EAA4BW,WAA5B,EAApB;eACOH,aAAP;;CAnBF,CAuBA;;ADhCAT,QAAQQ,QAAKN,MAAb,IAAuBM,OAAvB;AAEA,AACAR,QAAQO,UAAML,MAAd,IAAwBK,SAAxB;AAEA,AACAP,QAAQM,UAAGJ,MAAX,IAAqBI,SAArB;AAEA,AACAN,QAAQK,UAAIH,MAAZ,IAAsBG,SAAtB;AAEA,AACAL,QAAQI,UAAOF,MAAf,IAAyBE,SAAzB;AAEA,AACAJ,QAAQG,UAAID,MAAZ,IAAsBC,SAAtB;AAEA,AACAH,QAAQC,UAAKC,MAAb,IAAuBD,SAAvB,CAEA;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/node_modules/uri-js/dist/es5/uri.all.min.d.ts b/node_modules/uri-js/dist/es5/uri.all.min.d.ts new file mode 100644 index 00000000..da51e235 --- /dev/null +++ b/node_modules/uri-js/dist/es5/uri.all.min.d.ts @@ -0,0 +1,59 @@ +export interface URIComponents { + scheme?: string; + userinfo?: string; + host?: string; + port?: number | string; + path?: string; + query?: string; + fragment?: string; + reference?: string; + error?: string; +} +export interface URIOptions { + scheme?: string; + reference?: string; + tolerant?: boolean; + absolutePath?: boolean; + iri?: boolean; + unicodeSupport?: boolean; + domainHost?: boolean; +} +export interface URISchemeHandler { + scheme: string; + parse(components: ParentComponents, options: Options): Components; + serialize(components: Components, options: Options): ParentComponents; + unicodeSupport?: boolean; + domainHost?: boolean; + absolutePath?: boolean; +} +export interface URIRegExps { + NOT_SCHEME: RegExp; + NOT_USERINFO: RegExp; + NOT_HOST: RegExp; + NOT_PATH: RegExp; + NOT_PATH_NOSCHEME: RegExp; + NOT_QUERY: RegExp; + NOT_FRAGMENT: RegExp; + ESCAPE: RegExp; + UNRESERVED: RegExp; + OTHER_CHARS: RegExp; + PCT_ENCODED: RegExp; + IPV4ADDRESS: RegExp; + IPV6ADDRESS: RegExp; +} +export declare const SCHEMES: { + [scheme: string]: URISchemeHandler; +}; +export declare function pctEncChar(chr: string): string; +export declare function pctDecChars(str: string): string; +export declare function parse(uriString: string, options?: URIOptions): URIComponents; +export declare function removeDotSegments(input: string): string; +export declare function serialize(components: URIComponents, options?: URIOptions): string; +export declare function resolveComponents(base: URIComponents, relative: URIComponents, options?: URIOptions, skipNormalization?: boolean): URIComponents; +export declare function resolve(baseURI: string, relativeURI: string, options?: URIOptions): string; +export declare function normalize(uri: string, options?: URIOptions): string; +export declare function normalize(uri: URIComponents, options?: URIOptions): URIComponents; +export declare function equal(uriA: string, uriB: string, options?: URIOptions): boolean; +export declare function equal(uriA: URIComponents, uriB: URIComponents, options?: URIOptions): boolean; +export declare function escapeComponent(str: string, options?: URIOptions): string; +export declare function unescapeComponent(str: string, options?: URIOptions): string; diff --git a/node_modules/uri-js/dist/es5/uri.all.min.js b/node_modules/uri-js/dist/es5/uri.all.min.js new file mode 100644 index 00000000..09edffb7 --- /dev/null +++ b/node_modules/uri-js/dist/es5/uri.all.min.js @@ -0,0 +1,3 @@ +/** @license URI.js v4.4.0 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */ +!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r(e.URI=e.URI||{})}(this,function(e){"use strict";function r(){for(var e=arguments.length,r=Array(e),n=0;n1){r[0]=r[0].slice(0,-1);for(var t=r.length-1,o=1;o1&&(t=n[0]+"@",e=n[1]),e=e.replace(j,"."),t+f(e.split("."),r).join(".")}function p(e){for(var r=[],n=0,t=e.length;n=55296&&o<=56319&&n>6|192).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase():"%"+(r>>12|224).toString(16).toUpperCase()+"%"+(r>>6&63|128).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase()}function d(e){for(var r="",n=0,t=e.length;n=194&&o<224){if(t-n>=6){var a=parseInt(e.substr(n+4,2),16);r+=String.fromCharCode((31&o)<<6|63&a)}else r+=e.substr(n,6);n+=6}else if(o>=224){if(t-n>=9){var i=parseInt(e.substr(n+4,2),16),u=parseInt(e.substr(n+7,2),16);r+=String.fromCharCode((15&o)<<12|(63&i)<<6|63&u)}else r+=e.substr(n,9);n+=9}else r+=e.substr(n,3),n+=3}return r}function l(e,r){function n(e){var n=d(e);return n.match(r.UNRESERVED)?n:e}return e.scheme&&(e.scheme=String(e.scheme).replace(r.PCT_ENCODED,n).toLowerCase().replace(r.NOT_SCHEME,"")),e.userinfo!==undefined&&(e.userinfo=String(e.userinfo).replace(r.PCT_ENCODED,n).replace(r.NOT_USERINFO,h).replace(r.PCT_ENCODED,o)),e.host!==undefined&&(e.host=String(e.host).replace(r.PCT_ENCODED,n).toLowerCase().replace(r.NOT_HOST,h).replace(r.PCT_ENCODED,o)),e.path!==undefined&&(e.path=String(e.path).replace(r.PCT_ENCODED,n).replace(e.scheme?r.NOT_PATH:r.NOT_PATH_NOSCHEME,h).replace(r.PCT_ENCODED,o)),e.query!==undefined&&(e.query=String(e.query).replace(r.PCT_ENCODED,n).replace(r.NOT_QUERY,h).replace(r.PCT_ENCODED,o)),e.fragment!==undefined&&(e.fragment=String(e.fragment).replace(r.PCT_ENCODED,n).replace(r.NOT_FRAGMENT,h).replace(r.PCT_ENCODED,o)),e}function m(e){return e.replace(/^0*(.*)/,"$1")||"0"}function g(e,r){var n=e.match(r.IPV4ADDRESS)||[],t=T(n,2),o=t[1];return o?o.split(".").map(m).join("."):e}function v(e,r){var n=e.match(r.IPV6ADDRESS)||[],t=T(n,3),o=t[1],a=t[2];if(o){for(var i=o.toLowerCase().split("::").reverse(),u=T(i,2),s=u[0],f=u[1],c=f?f.split(":").map(m):[],p=s.split(":").map(m),h=r.IPV4ADDRESS.test(p[p.length-1]),d=h?7:8,l=p.length-d,v=Array(d),E=0;E1){var A=v.slice(0,y.index),D=v.slice(y.index+y.length);S=A.join(":")+"::"+D.join(":")}else S=v.join(":");return a&&(S+="%"+a),S}return e}function E(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},n={},t=!1!==r.iri?R:F;"suffix"===r.reference&&(e=(r.scheme?r.scheme+":":"")+"//"+e);var o=e.match(K);if(o){W?(n.scheme=o[1],n.userinfo=o[3],n.host=o[4],n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=o[7],n.fragment=o[8],isNaN(n.port)&&(n.port=o[5])):(n.scheme=o[1]||undefined,n.userinfo=-1!==e.indexOf("@")?o[3]:undefined,n.host=-1!==e.indexOf("//")?o[4]:undefined,n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=-1!==e.indexOf("?")?o[7]:undefined,n.fragment=-1!==e.indexOf("#")?o[8]:undefined,isNaN(n.port)&&(n.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?o[4]:undefined)),n.host&&(n.host=v(g(n.host,t),t)),n.scheme!==undefined||n.userinfo!==undefined||n.host!==undefined||n.port!==undefined||n.path||n.query!==undefined?n.scheme===undefined?n.reference="relative":n.fragment===undefined?n.reference="absolute":n.reference="uri":n.reference="same-document",r.reference&&"suffix"!==r.reference&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");var a=J[(r.scheme||n.scheme||"").toLowerCase()];if(r.unicodeSupport||a&&a.unicodeSupport)l(n,t);else{if(n.host&&(r.domainHost||a&&a.domainHost))try{n.host=B.toASCII(n.host.replace(t.PCT_ENCODED,d).toLowerCase())}catch(i){n.error=n.error||"Host's domain name can not be converted to ASCII via punycode: "+i}l(n,F)}a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}function C(e,r){var n=!1!==r.iri?R:F,t=[];return e.userinfo!==undefined&&(t.push(e.userinfo),t.push("@")),e.host!==undefined&&t.push(v(g(String(e.host),n),n).replace(n.IPV6ADDRESS,function(e,r,n){return"["+r+(n?"%25"+n:"")+"]"})),"number"!=typeof e.port&&"string"!=typeof e.port||(t.push(":"),t.push(String(e.port))),t.length?t.join(""):undefined}function y(e){for(var r=[];e.length;)if(e.match(X))e=e.replace(X,"");else if(e.match(ee))e=e.replace(ee,"/");else if(e.match(re))e=e.replace(re,"/"),r.pop();else if("."===e||".."===e)e="";else{var n=e.match(ne);if(!n)throw new Error("Unexpected dot segment condition");var t=n[0];e=e.slice(t.length),r.push(t)}return r.join("")}function S(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},n=r.iri?R:F,t=[],o=J[(r.scheme||e.scheme||"").toLowerCase()];if(o&&o.serialize&&o.serialize(e,r),e.host)if(n.IPV6ADDRESS.test(e.host));else if(r.domainHost||o&&o.domainHost)try{e.host=r.iri?B.toUnicode(e.host):B.toASCII(e.host.replace(n.PCT_ENCODED,d).toLowerCase())}catch(u){e.error=e.error||"Host's domain name can not be converted to "+(r.iri?"Unicode":"ASCII")+" via punycode: "+u}l(e,n),"suffix"!==r.reference&&e.scheme&&(t.push(e.scheme),t.push(":"));var a=C(e,r);if(a!==undefined&&("suffix"!==r.reference&&t.push("//"),t.push(a),e.path&&"/"!==e.path.charAt(0)&&t.push("/")),e.path!==undefined){var i=e.path;r.absolutePath||o&&o.absolutePath||(i=y(i)),a===undefined&&(i=i.replace(/^\/\//,"/%2F")),t.push(i)}return e.query!==undefined&&(t.push("?"),t.push(e.query)),e.fragment!==undefined&&(t.push("#"),t.push(e.fragment)),t.join("")}function A(e,r){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{},t=arguments[3],o={};return t||(e=E(S(e,n),n),r=E(S(r,n),n)),n=n||{},!n.tolerant&&r.scheme?(o.scheme=r.scheme,o.userinfo=r.userinfo,o.host=r.host,o.port=r.port,o.path=y(r.path||""),o.query=r.query):(r.userinfo!==undefined||r.host!==undefined||r.port!==undefined?(o.userinfo=r.userinfo,o.host=r.host,o.port=r.port,o.path=y(r.path||""),o.query=r.query):(r.path?("/"===r.path.charAt(0)?o.path=y(r.path):(e.userinfo===undefined&&e.host===undefined&&e.port===undefined||e.path?e.path?o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+r.path:o.path=r.path:o.path="/"+r.path,o.path=y(o.path)),o.query=r.query):(o.path=e.path,r.query!==undefined?o.query=r.query:o.query=e.query),o.userinfo=e.userinfo,o.host=e.host,o.port=e.port),o.scheme=e.scheme),o.fragment=r.fragment,o}function D(e,r,n){var t=i({scheme:"null"},n);return S(A(E(e,t),E(r,t),t,!0),t)}function w(e,r){return"string"==typeof e?e=S(E(e,r),r):"object"===t(e)&&(e=E(S(e,r),r)),e}function b(e,r,n){return"string"==typeof e?e=S(E(e,n),n):"object"===t(e)&&(e=S(e,n)),"string"==typeof r?r=S(E(r,n),n):"object"===t(r)&&(r=S(r,n)),e===r}function x(e,r){return e&&e.toString().replace(r&&r.iri?R.ESCAPE:F.ESCAPE,h)}function O(e,r){return e&&e.toString().replace(r&&r.iri?R.PCT_ENCODED:F.PCT_ENCODED,d)}function N(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}function I(e){var r=d(e);return r.match(he)?r:e}var F=u(!1),R=u(!0),T=function(){function e(e,r){var n=[],t=!0,o=!1,a=undefined;try{for(var i,u=e[Symbol.iterator]();!(t=(i=u.next()).done)&&(n.push(i.value),!r||n.length!==r);t=!0);}catch(s){o=!0,a=s}finally{try{!t&&u["return"]&&u["return"]()}finally{if(o)throw a}}return n}return function(r,n){if(Array.isArray(r))return r;if(Symbol.iterator in Object(r))return e(r,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_=function(e){if(Array.isArray(e)){for(var r=0,n=Array(e.length);r= 0x80 (not a basic code point)","invalid-input":"Invalid input"},z=Math.floor,L=String.fromCharCode,$=function(e){return String.fromCodePoint.apply(String,_(e))},M=function(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:36},V=function(e,r){return e+22+75*(e<26)-((0!=r)<<5)},k=function(e,r,n){var t=0;for(e=n?z(e/700):e>>1,e+=z(e/r);e>455;t+=36)e=z(e/35);return z(t+36*e/(e+38))},Z=function(e){var r=[],n=e.length,t=0,o=128,a=72,i=e.lastIndexOf("-");i<0&&(i=0);for(var u=0;u=128&&s("not-basic"),r.push(e.charCodeAt(u));for(var f=i>0?i+1:0;f=n&&s("invalid-input");var d=M(e.charCodeAt(f++));(d>=36||d>z((P-t)/p))&&s("overflow"),t+=d*p;var l=h<=a?1:h>=a+26?26:h-a;if(dz(P/m)&&s("overflow"),p*=m}var g=r.length+1;a=k(t-c,g,0==c),z(t/g)>P-o&&s("overflow"),o+=z(t/g),t%=g,r.splice(t++,0,o)}return String.fromCodePoint.apply(String,r)},G=function(e){var r=[];e=p(e);var n=e.length,t=128,o=0,a=72,i=!0,u=!1,f=undefined;try{for(var c,h=e[Symbol.iterator]();!(i=(c=h.next()).done);i=!0){var d=c.value;d<128&&r.push(L(d))}}catch(U){u=!0,f=U}finally{try{!i&&h["return"]&&h["return"]()}finally{if(u)throw f}}var l=r.length,m=l;for(l&&r.push("-");m=t&&Az((P-o)/D)&&s("overflow"),o+=(g-t)*D,t=g;var w=!0,b=!1,x=undefined;try{for(var O,N=e[Symbol.iterator]();!(w=(O=N.next()).done);w=!0){var I=O.value;if(IP&&s("overflow"),I==t){for(var F=o,R=36;;R+=36){var T=R<=a?1:R>=a+26?26:R-a;if(FA-Z\\x5E-\\x7E]",'[\\"\\\\]'),he=new RegExp(se,"g"),de=new RegExp(ce,"g"),le=new RegExp(r("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',pe),"g"),me=new RegExp(r("[^]",se,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),ge=me,ve={scheme:"mailto",parse:function(e,r){var n=e,t=n.to=n.path?n.path.split(","):[];if(n.path=undefined,n.query){for(var o=!1,a={},i=n.query.split("&"),u=0,s=i.length;u):string {\n\tif (sets.length > 1) {\n\t\tsets[0] = sets[0].slice(0, -1);\n\t\tconst xl = sets.length - 1;\n\t\tfor (let x = 1; x < xl; ++x) {\n\t\t\tsets[x] = sets[x].slice(1, -1);\n\t\t}\n\t\tsets[xl] = sets[xl].slice(1);\n\t\treturn sets.join('');\n\t} else {\n\t\treturn sets[0];\n\t}\n}\n\nexport function subexp(str:string):string {\n\treturn \"(?:\" + str + \")\";\n}\n\nexport function typeOf(o:any):string {\n\treturn o === undefined ? \"undefined\" : (o === null ? \"null\" : Object.prototype.toString.call(o).split(\" \").pop().split(\"]\").shift().toLowerCase());\n}\n\nexport function toUpperCase(str:string):string {\n\treturn str.toUpperCase();\n}\n\nexport function toArray(obj:any):Array {\n\treturn obj !== undefined && obj !== null ? (obj instanceof Array ? obj : (typeof obj.length !== \"number\" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj))) : [];\n}\n\n\nexport function assign(target: object, source: any): any {\n\tconst obj = target as any;\n\tif (source) {\n\t\tfor (const key in source) {\n\t\t\tobj[key] = source[key];\n\t\t}\n\t}\n\treturn obj;\n}","import { URIRegExps } from \"./uri\";\nimport { merge, subexp } from \"./util\";\n\nexport function buildExps(isIRI:boolean):URIRegExps {\n\tconst\n\t\tALPHA$$ = \"[A-Za-z]\",\n\t\tCR$ = \"[\\\\x0D]\",\n\t\tDIGIT$$ = \"[0-9]\",\n\t\tDQUOTE$$ = \"[\\\\x22]\",\n\t\tHEXDIG$$ = merge(DIGIT$$, \"[A-Fa-f]\"), //case-insensitive\n\t\tLF$$ = \"[\\\\x0A]\",\n\t\tSP$$ = \"[\\\\x20]\",\n\t\tPCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)), //expanded\n\t\tGEN_DELIMS$$ = \"[\\\\:\\\\/\\\\?\\\\#\\\\[\\\\]\\\\@]\",\n\t\tSUB_DELIMS$$ = \"[\\\\!\\\\$\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\=]\",\n\t\tRESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$),\n\t\tUCSCHAR$$ = isIRI ? \"[\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]\" : \"[]\", //subset, excludes bidi control characters\n\t\tIPRIVATE$$ = isIRI ? \"[\\\\uE000-\\\\uF8FF]\" : \"[]\", //subset\n\t\tUNRESERVED$$ = merge(ALPHA$$, DIGIT$$, \"[\\\\-\\\\.\\\\_\\\\~]\", UCSCHAR$$),\n\t\tSCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\") + \"*\"),\n\t\tUSERINFO$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\")) + \"*\"),\n\t\tDEC_OCTET$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"[1-9]\" + DIGIT$$) + \"|\" + DIGIT$$),\n\t\tDEC_OCTET_RELAXED$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"0?[1-9]\" + DIGIT$$) + \"|0?0?\" + DIGIT$$), //relaxed parsing rules\n\t\tIPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$),\n\t\tH16$ = subexp(HEXDIG$$ + \"{1,4}\"),\n\t\tLS32$ = subexp(subexp(H16$ + \"\\\\:\" + H16$) + \"|\" + IPV4ADDRESS$),\n\t\tIPV6ADDRESS1$ = subexp( subexp(H16$ + \"\\\\:\") + \"{6}\" + LS32$), // 6( h16 \":\" ) ls32\n\t\tIPV6ADDRESS2$ = subexp( \"\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{5}\" + LS32$), // \"::\" 5( h16 \":\" ) ls32\n\t\tIPV6ADDRESS3$ = subexp(subexp( H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{4}\" + LS32$), //[ h16 ] \"::\" 4( h16 \":\" ) ls32\n\t\tIPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,1}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{3}\" + LS32$), //[ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\n\t\tIPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,2}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{2}\" + LS32$), //[ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\n\t\tIPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,3}\" + H16$) + \"?\\\\:\\\\:\" + H16$ + \"\\\\:\" + LS32$), //[ *3( h16 \":\" ) h16 ] \"::\" h16 \":\" ls32\n\t\tIPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,4}\" + H16$) + \"?\\\\:\\\\:\" + LS32$), //[ *4( h16 \":\" ) h16 ] \"::\" ls32\n\t\tIPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,5}\" + H16$) + \"?\\\\:\\\\:\" + H16$ ), //[ *5( h16 \":\" ) h16 ] \"::\" h16\n\t\tIPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,6}\" + H16$) + \"?\\\\:\\\\:\" ), //[ *6( h16 \":\" ) h16 ] \"::\"\n\t\tIPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join(\"|\")),\n\t\tZONEID$ = subexp(subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$) + \"+\"), //RFC 6874\n\t\tIPV6ADDRZ$ = subexp(IPV6ADDRESS$ + \"\\\\%25\" + ZONEID$), //RFC 6874\n\t\tIPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + ZONEID$), //RFC 6874, with relaxed parsing rules\n\t\tIPVFUTURE$ = subexp(\"[vV]\" + HEXDIG$$ + \"+\\\\.\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\") + \"+\"),\n\t\tIP_LITERAL$ = subexp(\"\\\\[\" + subexp(IPV6ADDRZ_RELAXED$ + \"|\" + IPV6ADDRESS$ + \"|\" + IPVFUTURE$) + \"\\\\]\"), //RFC 6874\n\t\tREG_NAME$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$)) + \"*\"),\n\t\tHOST$ = subexp(IP_LITERAL$ + \"|\" + IPV4ADDRESS$ + \"(?!\" + REG_NAME$ + \")\" + \"|\" + REG_NAME$),\n\t\tPORT$ = subexp(DIGIT$$ + \"*\"),\n\t\tAUTHORITY$ = subexp(subexp(USERINFO$ + \"@\") + \"?\" + HOST$ + subexp(\"\\\\:\" + PORT$) + \"?\"),\n\t\tPCHAR$ = subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@]\")),\n\t\tSEGMENT$ = subexp(PCHAR$ + \"*\"),\n\t\tSEGMENT_NZ$ = subexp(PCHAR$ + \"+\"),\n\t\tSEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\@]\")) + \"+\"),\n\t\tPATH_ABEMPTY$ = subexp(subexp(\"\\\\/\" + SEGMENT$) + \"*\"),\n\t\tPATH_ABSOLUTE$ = subexp(\"\\\\/\" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + \"?\"), //simplified\n\t\tPATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), //simplified\n\t\tPATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), //simplified\n\t\tPATH_EMPTY$ = \"(?!\" + PCHAR$ + \")\",\n\t\tPATH$ = subexp(PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n\t\tQUERY$ = subexp(subexp(PCHAR$ + \"|\" + merge(\"[\\\\/\\\\?]\", IPRIVATE$$)) + \"*\"),\n\t\tFRAGMENT$ = subexp(subexp(PCHAR$ + \"|[\\\\/\\\\?]\") + \"*\"),\n\t\tHIER_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n\t\tURI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n\t\tRELATIVE_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$),\n\t\tRELATIVE$ = subexp(RELATIVE_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n\t\tURI_REFERENCE$ = subexp(URI$ + \"|\" + RELATIVE$),\n\t\tABSOLUTE_URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\"),\n\n\t\tGENERIC_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tRELATIVE_REF$ = \"^(){0}\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tABSOLUTE_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?$\",\n\t\tSAMEDOC_REF$ = \"^\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tAUTHORITY_REF$ = \"^\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?$\"\n\t;\n\n\treturn {\n\t\tNOT_SCHEME : new RegExp(merge(\"[^]\", ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\"), \"g\"),\n\t\tNOT_USERINFO : new RegExp(merge(\"[^\\\\%\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_HOST : new RegExp(merge(\"[^\\\\%\\\\[\\\\]\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_PATH : new RegExp(merge(\"[^\\\\%\\\\/\\\\:\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_PATH_NOSCHEME : new RegExp(merge(\"[^\\\\%\\\\/\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_QUERY : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\", IPRIVATE$$), \"g\"),\n\t\tNOT_FRAGMENT : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\"), \"g\"),\n\t\tESCAPE : new RegExp(merge(\"[^]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tUNRESERVED : new RegExp(UNRESERVED$$, \"g\"),\n\t\tOTHER_CHARS : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, RESERVED$$), \"g\"),\n\t\tPCT_ENCODED : new RegExp(PCT_ENCODED$, \"g\"),\n\t\tIPV4ADDRESS : new RegExp(\"^(\" + IPV4ADDRESS$ + \")$\"),\n\t\tIPV6ADDRESS : new RegExp(\"^\\\\[?(\" + IPV6ADDRESS$ + \")\" + subexp(subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + \"(\" + ZONEID$ + \")\") + \"?\\\\]?$\") //RFC 6874, with relaxed parsing rules\n\t};\n}\n\nexport default buildExps(false);\n","'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tconst parts = string.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tconst labels = string.split('.');\n\tconst encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (let j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tlet oldi = i;\n\t\tfor (let w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tlet inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tlet basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue == n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (let k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.1.0',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see \n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nexport default punycode;\n","/**\n * URI.js\n *\n * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript.\n * @author Gary Court\n * @see http://github.com/garycourt/uri-js\n */\n\n/**\n * Copyright 2011 Gary Court. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are\n * permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this list of\n * conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list\n * of conditions and the following disclaimer in the documentation and/or other materials\n * provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\n * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * The views and conclusions contained in the software and documentation are those of the\n * authors and should not be interpreted as representing official policies, either expressed\n * or implied, of Gary Court.\n */\n\nimport URI_PROTOCOL from \"./regexps-uri\";\nimport IRI_PROTOCOL from \"./regexps-iri\";\nimport punycode from \"punycode\";\nimport { toUpperCase, typeOf, assign } from \"./util\";\n\nexport interface URIComponents {\n\tscheme?:string;\n\tuserinfo?:string;\n\thost?:string;\n\tport?:number|string;\n\tpath?:string;\n\tquery?:string;\n\tfragment?:string;\n\treference?:string;\n\terror?:string;\n}\n\nexport interface URIOptions {\n\tscheme?:string;\n\treference?:string;\n\ttolerant?:boolean;\n\tabsolutePath?:boolean;\n\tiri?:boolean;\n\tunicodeSupport?:boolean;\n\tdomainHost?:boolean;\n}\n\nexport interface URISchemeHandler {\n\tscheme:string;\n\tparse(components:ParentComponents, options:Options):Components;\n\tserialize(components:Components, options:Options):ParentComponents;\n\tunicodeSupport?:boolean;\n\tdomainHost?:boolean;\n\tabsolutePath?:boolean;\n}\n\nexport interface URIRegExps {\n\tNOT_SCHEME : RegExp,\n\tNOT_USERINFO : RegExp,\n\tNOT_HOST : RegExp,\n\tNOT_PATH : RegExp,\n\tNOT_PATH_NOSCHEME : RegExp,\n\tNOT_QUERY : RegExp,\n\tNOT_FRAGMENT : RegExp,\n\tESCAPE : RegExp,\n\tUNRESERVED : RegExp,\n\tOTHER_CHARS : RegExp,\n\tPCT_ENCODED : RegExp,\n\tIPV4ADDRESS : RegExp,\n\tIPV6ADDRESS : RegExp,\n}\n\nexport const SCHEMES:{[scheme:string]:URISchemeHandler} = {};\n\nexport function pctEncChar(chr:string):string {\n\tconst c = chr.charCodeAt(0);\n\tlet e:string;\n\n\tif (c < 16) e = \"%0\" + c.toString(16).toUpperCase();\n\telse if (c < 128) e = \"%\" + c.toString(16).toUpperCase();\n\telse if (c < 2048) e = \"%\" + ((c >> 6) | 192).toString(16).toUpperCase() + \"%\" + ((c & 63) | 128).toString(16).toUpperCase();\n\telse e = \"%\" + ((c >> 12) | 224).toString(16).toUpperCase() + \"%\" + (((c >> 6) & 63) | 128).toString(16).toUpperCase() + \"%\" + ((c & 63) | 128).toString(16).toUpperCase();\n\n\treturn e;\n}\n\nexport function pctDecChars(str:string):string {\n\tlet newStr = \"\";\n\tlet i = 0;\n\tconst il = str.length;\n\n\twhile (i < il) {\n\t\tconst c = parseInt(str.substr(i + 1, 2), 16);\n\n\t\tif (c < 128) {\n\t\t\tnewStr += String.fromCharCode(c);\n\t\t\ti += 3;\n\t\t}\n\t\telse if (c >= 194 && c < 224) {\n\t\t\tif ((il - i) >= 6) {\n\t\t\t\tconst c2 = parseInt(str.substr(i + 4, 2), 16);\n\t\t\t\tnewStr += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\n\t\t\t} else {\n\t\t\t\tnewStr += str.substr(i, 6);\n\t\t\t}\n\t\t\ti += 6;\n\t\t}\n\t\telse if (c >= 224) {\n\t\t\tif ((il - i) >= 9) {\n\t\t\t\tconst c2 = parseInt(str.substr(i + 4, 2), 16);\n\t\t\t\tconst c3 = parseInt(str.substr(i + 7, 2), 16);\n\t\t\t\tnewStr += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\n\t\t\t} else {\n\t\t\t\tnewStr += str.substr(i, 9);\n\t\t\t}\n\t\t\ti += 9;\n\t\t}\n\t\telse {\n\t\t\tnewStr += str.substr(i, 3);\n\t\t\ti += 3;\n\t\t}\n\t}\n\n\treturn newStr;\n}\n\nfunction _normalizeComponentEncoding(components:URIComponents, protocol:URIRegExps) {\n\tfunction decodeUnreserved(str:string):string {\n\t\tconst decStr = pctDecChars(str);\n\t\treturn (!decStr.match(protocol.UNRESERVED) ? str : decStr);\n\t}\n\n\tif (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, \"\");\n\tif (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace((components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME), pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\n\treturn components;\n};\n\nfunction _stripLeadingZeros(str:string):string {\n\treturn str.replace(/^0*(.*)/, \"$1\") || \"0\";\n}\n\nfunction _normalizeIPv4(host:string, protocol:URIRegExps):string {\n\tconst matches = host.match(protocol.IPV4ADDRESS) || [];\n\tconst [, address] = matches;\n\t\n\tif (address) {\n\t\treturn address.split(\".\").map(_stripLeadingZeros).join(\".\");\n\t} else {\n\t\treturn host;\n\t}\n}\n\nfunction _normalizeIPv6(host:string, protocol:URIRegExps):string {\n\tconst matches = host.match(protocol.IPV6ADDRESS) || [];\n\tconst [, address, zone] = matches;\n\n\tif (address) {\n\t\tconst [last, first] = address.toLowerCase().split('::').reverse();\n\t\tconst firstFields = first ? first.split(\":\").map(_stripLeadingZeros) : [];\n\t\tconst lastFields = last.split(\":\").map(_stripLeadingZeros);\n\t\tconst isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]);\n\t\tconst fieldCount = isLastFieldIPv4Address ? 7 : 8;\n\t\tconst lastFieldsStart = lastFields.length - fieldCount;\n\t\tconst fields = Array(fieldCount);\n\n\t\tfor (let x = 0; x < fieldCount; ++x) {\n\t\t\tfields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || '';\n\t\t}\n\n\t\tif (isLastFieldIPv4Address) {\n\t\t\tfields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol);\n\t\t}\n\n\t\tconst allZeroFields = fields.reduce>((acc, field, index) => {\n\t\t\tif (!field || field === \"0\") {\n\t\t\t\tconst lastLongest = acc[acc.length - 1];\n\t\t\t\tif (lastLongest && lastLongest.index + lastLongest.length === index) {\n\t\t\t\t\tlastLongest.length++;\n\t\t\t\t} else {\n\t\t\t\t\tacc.push({ index, length : 1 });\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, []);\n\n\t\tconst longestZeroFields = allZeroFields.sort((a, b) => b.length - a.length)[0];\n\n\t\tlet newHost:string;\n\t\tif (longestZeroFields && longestZeroFields.length > 1) {\n\t\t\tconst newFirst = fields.slice(0, longestZeroFields.index) ;\n\t\t\tconst newLast = fields.slice(longestZeroFields.index + longestZeroFields.length);\n\t\t\tnewHost = newFirst.join(\":\") + \"::\" + newLast.join(\":\");\n\t\t} else {\n\t\t\tnewHost = fields.join(\":\");\n\t\t}\n\n\t\tif (zone) {\n\t\t\tnewHost += \"%\" + zone;\n\t\t}\n\n\t\treturn newHost;\n\t} else {\n\t\treturn host;\n\t}\n}\n\nconst URI_PARSE = /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:([^\\/?#@]*)@)?(\\[[^\\/?#\\]]+\\]|[^\\/?#:]*)(?:\\:(\\d*))?))?([^?#]*)(?:\\?([^#]*))?(?:#((?:.|\\n|\\r)*))?/i;\nconst NO_MATCH_IS_UNDEFINED = ((\"\").match(/(){0}/))[1] === undefined;\n\nexport function parse(uriString:string, options:URIOptions = {}):URIComponents {\n\tconst components:URIComponents = {};\n\tconst protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL);\n\n\tif (options.reference === \"suffix\") uriString = (options.scheme ? options.scheme + \":\" : \"\") + \"//\" + uriString;\n\n\tconst matches = uriString.match(URI_PARSE);\n\n\tif (matches) {\n\t\tif (NO_MATCH_IS_UNDEFINED) {\n\t\t\t//store each component\n\t\t\tcomponents.scheme = matches[1];\n\t\t\tcomponents.userinfo = matches[3];\n\t\t\tcomponents.host = matches[4];\n\t\t\tcomponents.port = parseInt(matches[5], 10);\n\t\t\tcomponents.path = matches[6] || \"\";\n\t\t\tcomponents.query = matches[7];\n\t\t\tcomponents.fragment = matches[8];\n\n\t\t\t//fix port number\n\t\t\tif (isNaN(components.port)) {\n\t\t\t\tcomponents.port = matches[5];\n\t\t\t}\n\t\t} else { //IE FIX for improper RegExp matching\n\t\t\t//store each component\n\t\t\tcomponents.scheme = matches[1] || undefined;\n\t\t\tcomponents.userinfo = (uriString.indexOf(\"@\") !== -1 ? matches[3] : undefined);\n\t\t\tcomponents.host = (uriString.indexOf(\"//\") !== -1 ? matches[4] : undefined);\n\t\t\tcomponents.port = parseInt(matches[5], 10);\n\t\t\tcomponents.path = matches[6] || \"\";\n\t\t\tcomponents.query = (uriString.indexOf(\"?\") !== -1 ? matches[7] : undefined);\n\t\t\tcomponents.fragment = (uriString.indexOf(\"#\") !== -1 ? matches[8] : undefined);\n\n\t\t\t//fix port number\n\t\t\tif (isNaN(components.port)) {\n\t\t\t\tcomponents.port = (uriString.match(/\\/\\/(?:.|\\n)*\\:(?:\\/|\\?|\\#|$)/) ? matches[4] : undefined);\n\t\t\t}\n\t\t}\n\n\t\tif (components.host) {\n\t\t\t//normalize IP hosts\n\t\t\tcomponents.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol);\n\t\t}\n\n\t\t//determine reference type\n\t\tif (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) {\n\t\t\tcomponents.reference = \"same-document\";\n\t\t} else if (components.scheme === undefined) {\n\t\t\tcomponents.reference = \"relative\";\n\t\t} else if (components.fragment === undefined) {\n\t\t\tcomponents.reference = \"absolute\";\n\t\t} else {\n\t\t\tcomponents.reference = \"uri\";\n\t\t}\n\n\t\t//check for reference errors\n\t\tif (options.reference && options.reference !== \"suffix\" && options.reference !== components.reference) {\n\t\t\tcomponents.error = components.error || \"URI is not a \" + options.reference + \" reference.\";\n\t\t}\n\n\t\t//find scheme handler\n\t\tconst schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n\n\t\t//check if scheme can't handle IRIs\n\t\tif (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n\t\t\t//if host component is a domain name\n\t\t\tif (components.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost))) {\n\t\t\t\t//convert Unicode IDN -> ASCII IDN\n\t\t\t\ttry {\n\t\t\t\t\tcomponents.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase());\n\t\t\t\t} catch (e) {\n\t\t\t\t\tcomponents.error = components.error || \"Host's domain name can not be converted to ASCII via punycode: \" + e;\n\t\t\t\t}\n\t\t\t}\n\t\t\t//convert IRI -> URI\n\t\t\t_normalizeComponentEncoding(components, URI_PROTOCOL);\n\t\t} else {\n\t\t\t//normalize encodings\n\t\t\t_normalizeComponentEncoding(components, protocol);\n\t\t}\n\n\t\t//perform scheme specific parsing\n\t\tif (schemeHandler && schemeHandler.parse) {\n\t\t\tschemeHandler.parse(components, options);\n\t\t}\n\t} else {\n\t\tcomponents.error = components.error || \"URI can not be parsed.\";\n\t}\n\n\treturn components;\n};\n\nfunction _recomposeAuthority(components:URIComponents, options:URIOptions):string|undefined {\n\tconst protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL);\n\tconst uriTokens:Array = [];\n\n\tif (components.userinfo !== undefined) {\n\t\turiTokens.push(components.userinfo);\n\t\turiTokens.push(\"@\");\n\t}\n\n\tif (components.host !== undefined) {\n\t\t//normalize IP hosts, add brackets and escape zone separator for IPv6\n\t\turiTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, (_, $1, $2) => \"[\" + $1 + ($2 ? \"%25\" + $2 : \"\") + \"]\"));\n\t}\n\n\tif (typeof components.port === \"number\" || typeof components.port === \"string\") {\n\t\turiTokens.push(\":\");\n\t\turiTokens.push(String(components.port));\n\t}\n\n\treturn uriTokens.length ? uriTokens.join(\"\") : undefined;\n};\n\nconst RDS1 = /^\\.\\.?\\//;\nconst RDS2 = /^\\/\\.(\\/|$)/;\nconst RDS3 = /^\\/\\.\\.(\\/|$)/;\nconst RDS4 = /^\\.\\.?$/;\nconst RDS5 = /^\\/?(?:.|\\n)*?(?=\\/|$)/;\n\nexport function removeDotSegments(input:string):string {\n\tconst output:Array = [];\n\n\twhile (input.length) {\n\t\tif (input.match(RDS1)) {\n\t\t\tinput = input.replace(RDS1, \"\");\n\t\t} else if (input.match(RDS2)) {\n\t\t\tinput = input.replace(RDS2, \"/\");\n\t\t} else if (input.match(RDS3)) {\n\t\t\tinput = input.replace(RDS3, \"/\");\n\t\t\toutput.pop();\n\t\t} else if (input === \".\" || input === \"..\") {\n\t\t\tinput = \"\";\n\t\t} else {\n\t\t\tconst im = input.match(RDS5);\n\t\t\tif (im) {\n\t\t\t\tconst s = im[0];\n\t\t\t\tinput = input.slice(s.length);\n\t\t\t\toutput.push(s);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unexpected dot segment condition\");\n\t\t\t}\n\t\t}\n\t}\n\n\treturn output.join(\"\");\n};\n\nexport function serialize(components:URIComponents, options:URIOptions = {}):string {\n\tconst protocol = (options.iri ? IRI_PROTOCOL : URI_PROTOCOL);\n\tconst uriTokens:Array = [];\n\n\t//find scheme handler\n\tconst schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n\n\t//perform scheme specific serialization\n\tif (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);\n\n\tif (components.host) {\n\t\t//if host component is an IPv6 address\n\t\tif (protocol.IPV6ADDRESS.test(components.host)) {\n\t\t\t//TODO: normalize IPv6 address as per RFC 5952\n\t\t}\n\n\t\t//if host component is a domain name\n\t\telse if (options.domainHost || (schemeHandler && schemeHandler.domainHost)) {\n\t\t\t//convert IDN via punycode\n\t\t\ttry {\n\t\t\t\tcomponents.host = (!options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host));\n\t\t\t} catch (e) {\n\t\t\t\tcomponents.error = components.error || \"Host's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n\t\t\t}\n\t\t}\n\t}\n\n\t//normalize encoding\n\t_normalizeComponentEncoding(components, protocol);\n\n\tif (options.reference !== \"suffix\" && components.scheme) {\n\t\turiTokens.push(components.scheme);\n\t\turiTokens.push(\":\");\n\t}\n\n\tconst authority = _recomposeAuthority(components, options);\n\tif (authority !== undefined) {\n\t\tif (options.reference !== \"suffix\") {\n\t\t\turiTokens.push(\"//\");\n\t\t}\n\n\t\turiTokens.push(authority);\n\n\t\tif (components.path && components.path.charAt(0) !== \"/\") {\n\t\t\turiTokens.push(\"/\");\n\t\t}\n\t}\n\n\tif (components.path !== undefined) {\n\t\tlet s = components.path;\n\n\t\tif (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n\t\t\ts = removeDotSegments(s);\n\t\t}\n\n\t\tif (authority === undefined) {\n\t\t\ts = s.replace(/^\\/\\//, \"/%2F\"); //don't allow the path to start with \"//\"\n\t\t}\n\n\t\turiTokens.push(s);\n\t}\n\n\tif (components.query !== undefined) {\n\t\turiTokens.push(\"?\");\n\t\turiTokens.push(components.query);\n\t}\n\n\tif (components.fragment !== undefined) {\n\t\turiTokens.push(\"#\");\n\t\turiTokens.push(components.fragment);\n\t}\n\n\treturn uriTokens.join(\"\"); //merge tokens into a string\n};\n\nexport function resolveComponents(base:URIComponents, relative:URIComponents, options:URIOptions = {}, skipNormalization?:boolean):URIComponents {\n\tconst target:URIComponents = {};\n\n\tif (!skipNormalization) {\n\t\tbase = parse(serialize(base, options), options); //normalize base components\n\t\trelative = parse(serialize(relative, options), options); //normalize relative components\n\t}\n\toptions = options || {};\n\n\tif (!options.tolerant && relative.scheme) {\n\t\ttarget.scheme = relative.scheme;\n\t\t//target.authority = relative.authority;\n\t\ttarget.userinfo = relative.userinfo;\n\t\ttarget.host = relative.host;\n\t\ttarget.port = relative.port;\n\t\ttarget.path = removeDotSegments(relative.path || \"\");\n\t\ttarget.query = relative.query;\n\t} else {\n\t\tif (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n\t\t\t//target.authority = relative.authority;\n\t\t\ttarget.userinfo = relative.userinfo;\n\t\t\ttarget.host = relative.host;\n\t\t\ttarget.port = relative.port;\n\t\t\ttarget.path = removeDotSegments(relative.path || \"\");\n\t\t\ttarget.query = relative.query;\n\t\t} else {\n\t\t\tif (!relative.path) {\n\t\t\t\ttarget.path = base.path;\n\t\t\t\tif (relative.query !== undefined) {\n\t\t\t\t\ttarget.query = relative.query;\n\t\t\t\t} else {\n\t\t\t\t\ttarget.query = base.query;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (relative.path.charAt(0) === \"/\") {\n\t\t\t\t\ttarget.path = removeDotSegments(relative.path);\n\t\t\t\t} else {\n\t\t\t\t\tif ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n\t\t\t\t\t\ttarget.path = \"/\" + relative.path;\n\t\t\t\t\t} else if (!base.path) {\n\t\t\t\t\t\ttarget.path = relative.path;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttarget.path = base.path.slice(0, base.path.lastIndexOf(\"/\") + 1) + relative.path;\n\t\t\t\t\t}\n\t\t\t\t\ttarget.path = removeDotSegments(target.path);\n\t\t\t\t}\n\t\t\t\ttarget.query = relative.query;\n\t\t\t}\n\t\t\t//target.authority = base.authority;\n\t\t\ttarget.userinfo = base.userinfo;\n\t\t\ttarget.host = base.host;\n\t\t\ttarget.port = base.port;\n\t\t}\n\t\ttarget.scheme = base.scheme;\n\t}\n\n\ttarget.fragment = relative.fragment;\n\n\treturn target;\n};\n\nexport function resolve(baseURI:string, relativeURI:string, options?:URIOptions):string {\n\tconst schemelessOptions = assign({ scheme : 'null' }, options);\n\treturn serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions);\n};\n\nexport function normalize(uri:string, options?:URIOptions):string;\nexport function normalize(uri:URIComponents, options?:URIOptions):URIComponents;\nexport function normalize(uri:any, options?:URIOptions):any {\n\tif (typeof uri === \"string\") {\n\t\turi = serialize(parse(uri, options), options);\n\t} else if (typeOf(uri) === \"object\") {\n\t\turi = parse(serialize(uri, options), options);\n\t}\n\n\treturn uri;\n};\n\nexport function equal(uriA:string, uriB:string, options?: URIOptions):boolean;\nexport function equal(uriA:URIComponents, uriB:URIComponents, options?:URIOptions):boolean;\nexport function equal(uriA:any, uriB:any, options?:URIOptions):boolean {\n\tif (typeof uriA === \"string\") {\n\t\turiA = serialize(parse(uriA, options), options);\n\t} else if (typeOf(uriA) === \"object\") {\n\t\turiA = serialize(uriA, options);\n\t}\n\n\tif (typeof uriB === \"string\") {\n\t\turiB = serialize(parse(uriB, options), options);\n\t} else if (typeOf(uriB) === \"object\") {\n\t\turiB = serialize(uriB, options);\n\t}\n\n\treturn uriA === uriB;\n};\n\nexport function escapeComponent(str:string, options?:URIOptions):string {\n\treturn str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE), pctEncChar);\n};\n\nexport function unescapeComponent(str:string, options?:URIOptions):string {\n\treturn str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED), pctDecChars);\n};\n","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\n\nexport interface WSComponents extends URIComponents {\n\tresourceName?: string;\n\tsecure?: boolean;\n}\n\nfunction isSecure(wsComponents:WSComponents):boolean {\n\treturn typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === \"wss\";\n}\n\n//RFC 6455\nconst handler:URISchemeHandler = {\n\tscheme : \"ws\",\n\n\tdomainHost : true,\n\n\tparse : function (components:URIComponents, options:URIOptions):WSComponents {\n\t\tconst wsComponents = components as WSComponents;\n\n\t\t//indicate if the secure flag is set\n\t\twsComponents.secure = isSecure(wsComponents);\n\n\t\t//construct resouce name\n\t\twsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : '');\n\t\twsComponents.path = undefined;\n\t\twsComponents.query = undefined;\n\n\t\treturn wsComponents;\n\t},\n\n\tserialize : function (wsComponents:WSComponents, options:URIOptions):URIComponents {\n\t\t//normalize the default port\n\t\tif (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === \"\") {\n\t\t\twsComponents.port = undefined;\n\t\t}\n\n\t\t//ensure scheme matches secure flag\n\t\tif (typeof wsComponents.secure === 'boolean') {\n\t\t\twsComponents.scheme = (wsComponents.secure ? 'wss' : 'ws');\n\t\t\twsComponents.secure = undefined;\n\t\t}\n\n\t\t//reconstruct path from resource name\n\t\tif (wsComponents.resourceName) {\n\t\t\tconst [path, query] = wsComponents.resourceName.split('?');\n\t\t\twsComponents.path = (path && path !== '/' ? path : undefined);\n\t\t\twsComponents.query = query;\n\t\t\twsComponents.resourceName = undefined;\n\t\t}\n\n\t\t//forbid fragment component\n\t\twsComponents.fragment = undefined;\n\n\t\treturn wsComponents;\n\t}\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { pctEncChar, pctDecChars, unescapeComponent } from \"../uri\";\nimport punycode from \"punycode\";\nimport { merge, subexp, toUpperCase, toArray } from \"../util\";\n\nexport interface MailtoHeaders {\n\t[hfname:string]:string\n}\n\nexport interface MailtoComponents extends URIComponents {\n\tto:Array,\n\theaders?:MailtoHeaders,\n\tsubject?:string,\n\tbody?:string\n}\n\nconst O:MailtoHeaders = {};\nconst isIRI = true;\n\n//RFC 3986\nconst UNRESERVED$$ = \"[A-Za-z0-9\\\\-\\\\.\\\\_\\\\~\" + (isIRI ? \"\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF\" : \"\") + \"]\";\nconst HEXDIG$$ = \"[0-9A-Fa-f]\"; //case-insensitive\nconst PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)); //expanded\n\n//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; =\n//const ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\#\\\\$\\\\%\\\\&\\\\'\\\\*\\\\+\\\\-\\\\/\\\\=\\\\?\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QTEXT$$ = \"[\\\\x01-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7F]\"; //(%d1-8 / %d11-12 / %d14-31 / %d127)\n//const QTEXT$$ = merge(\"[\\\\x21\\\\x23-\\\\x5B\\\\x5D-\\\\x7E]\", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext\n//const VCHAR$$ = \"[\\\\x21-\\\\x7E]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QP$ = subexp(\"\\\\\\\\\" + merge(\"[\\\\x00\\\\x0D\\\\x0A]\", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext\n//const FWS$ = subexp(subexp(WSP$$ + \"*\" + \"\\\\x0D\\\\x0A\") + \"?\" + WSP$$ + \"+\");\n//const QUOTED_PAIR$ = subexp(subexp(\"\\\\\\\\\" + subexp(VCHAR$$ + \"|\" + WSP$$)) + \"|\" + OBS_QP$);\n//const QUOTED_STRING$ = subexp('\\\\\"' + subexp(FWS$ + \"?\" + QCONTENT$) + \"*\" + FWS$ + \"?\" + '\\\\\"');\nconst ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\$\\\\%\\\\'\\\\*\\\\+\\\\-\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\nconst QTEXT$$ = \"[\\\\!\\\\$\\\\%\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\.0-9\\\\<\\\\>A-Z\\\\x5E-\\\\x7E]\";\nconst VCHAR$$ = merge(QTEXT$$, \"[\\\\\\\"\\\\\\\\]\");\nconst DOT_ATOM_TEXT$ = subexp(ATEXT$$ + \"+\" + subexp(\"\\\\.\" + ATEXT$$ + \"+\") + \"*\");\nconst QUOTED_PAIR$ = subexp(\"\\\\\\\\\" + VCHAR$$);\nconst QCONTENT$ = subexp(QTEXT$$ + \"|\" + QUOTED_PAIR$);\nconst QUOTED_STRING$ = subexp('\\\\\"' + QCONTENT$ + \"*\" + '\\\\\"');\n\n//RFC 6068\nconst DTEXT_NO_OBS$$ = \"[\\\\x21-\\\\x5A\\\\x5E-\\\\x7E]\"; //%d33-90 / %d94-126\nconst SOME_DELIMS$$ = \"[\\\\!\\\\$\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\:\\\\@]\";\nconst QCHAR$ = subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$ + \"|\" + SOME_DELIMS$$);\nconst DOMAIN$ = subexp(DOT_ATOM_TEXT$ + \"|\" + \"\\\\[\" + DTEXT_NO_OBS$$ + \"*\" + \"\\\\]\");\nconst LOCAL_PART$ = subexp(DOT_ATOM_TEXT$ + \"|\" + QUOTED_STRING$);\nconst ADDR_SPEC$ = subexp(LOCAL_PART$ + \"\\\\@\" + DOMAIN$);\nconst TO$ = subexp(ADDR_SPEC$ + subexp(\"\\\\,\" + ADDR_SPEC$) + \"*\");\nconst HFNAME$ = subexp(QCHAR$ + \"*\");\nconst HFVALUE$ = HFNAME$;\nconst HFIELD$ = subexp(HFNAME$ + \"\\\\=\" + HFVALUE$);\nconst HFIELDS2$ = subexp(HFIELD$ + subexp(\"\\\\&\" + HFIELD$) + \"*\");\nconst HFIELDS$ = subexp(\"\\\\?\" + HFIELDS2$);\nconst MAILTO_URI = new RegExp(\"^mailto\\\\:\" + TO$ + \"?\" + HFIELDS$ + \"?$\");\n\nconst UNRESERVED = new RegExp(UNRESERVED$$, \"g\");\nconst PCT_ENCODED = new RegExp(PCT_ENCODED$, \"g\");\nconst NOT_LOCAL_PART = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", '[\\\\\"]', VCHAR$$), \"g\");\nconst NOT_DOMAIN = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", \"[\\\\[]\", DTEXT_NO_OBS$$, \"[\\\\]]\"), \"g\");\nconst NOT_HFNAME = new RegExp(merge(\"[^]\", UNRESERVED$$, SOME_DELIMS$$), \"g\");\nconst NOT_HFVALUE = NOT_HFNAME;\nconst TO = new RegExp(\"^\" + TO$ + \"$\");\nconst HFIELDS = new RegExp(\"^\" + HFIELDS2$ + \"$\");\n\nfunction decodeUnreserved(str:string):string {\n\tconst decStr = pctDecChars(str);\n\treturn (!decStr.match(UNRESERVED) ? str : decStr);\n}\n\nconst handler:URISchemeHandler = {\n\tscheme : \"mailto\",\n\n\tparse : function (components:URIComponents, options:URIOptions):MailtoComponents {\n\t\tconst mailtoComponents = components as MailtoComponents;\n\t\tconst to = mailtoComponents.to = (mailtoComponents.path ? mailtoComponents.path.split(\",\") : []);\n\t\tmailtoComponents.path = undefined;\n\n\t\tif (mailtoComponents.query) {\n\t\t\tlet unknownHeaders = false\n\t\t\tconst headers:MailtoHeaders = {};\n\t\t\tconst hfields = mailtoComponents.query.split(\"&\");\n\n\t\t\tfor (let x = 0, xl = hfields.length; x < xl; ++x) {\n\t\t\t\tconst hfield = hfields[x].split(\"=\");\n\n\t\t\t\tswitch (hfield[0]) {\n\t\t\t\t\tcase \"to\":\n\t\t\t\t\t\tconst toAddrs = hfield[1].split(\",\");\n\t\t\t\t\t\tfor (let x = 0, xl = toAddrs.length; x < xl; ++x) {\n\t\t\t\t\t\t\tto.push(toAddrs[x]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"subject\":\n\t\t\t\t\t\tmailtoComponents.subject = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"body\":\n\t\t\t\t\t\tmailtoComponents.body = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tunknownHeaders = true;\n\t\t\t\t\t\theaders[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (unknownHeaders) mailtoComponents.headers = headers;\n\t\t}\n\n\t\tmailtoComponents.query = undefined;\n\n\t\tfor (let x = 0, xl = to.length; x < xl; ++x) {\n\t\t\tconst addr = to[x].split(\"@\");\n\n\t\t\taddr[0] = unescapeComponent(addr[0]);\n\n\t\t\tif (!options.unicodeSupport) {\n\t\t\t\t//convert Unicode IDN -> ASCII IDN\n\t\t\t\ttry {\n\t\t\t\t\taddr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase());\n\t\t\t\t} catch (e) {\n\t\t\t\t\tmailtoComponents.error = mailtoComponents.error || \"Email address's domain name can not be converted to ASCII via punycode: \" + e;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\taddr[1] = unescapeComponent(addr[1], options).toLowerCase();\n\t\t\t}\n\n\t\t\tto[x] = addr.join(\"@\");\n\t\t}\n\n\t\treturn mailtoComponents;\n\t},\n\n\tserialize : function (mailtoComponents:MailtoComponents, options:URIOptions):URIComponents {\n\t\tconst components = mailtoComponents as URIComponents;\n\t\tconst to = toArray(mailtoComponents.to);\n\t\tif (to) {\n\t\t\tfor (let x = 0, xl = to.length; x < xl; ++x) {\n\t\t\t\tconst toAddr = String(to[x]);\n\t\t\t\tconst atIdx = toAddr.lastIndexOf(\"@\");\n\t\t\t\tconst localPart = (toAddr.slice(0, atIdx)).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar);\n\t\t\t\tlet domain = toAddr.slice(atIdx + 1);\n\n\t\t\t\t//convert IDN via punycode\n\t\t\t\ttry {\n\t\t\t\t\tdomain = (!options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain));\n\t\t\t\t} catch (e) {\n\t\t\t\t\tcomponents.error = components.error || \"Email address's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n\t\t\t\t}\n\n\t\t\t\tto[x] = localPart + \"@\" + domain;\n\t\t\t}\n\n\t\t\tcomponents.path = to.join(\",\");\n\t\t}\n\n\t\tconst headers = mailtoComponents.headers = mailtoComponents.headers || {};\n\n\t\tif (mailtoComponents.subject) headers[\"subject\"] = mailtoComponents.subject;\n\t\tif (mailtoComponents.body) headers[\"body\"] = mailtoComponents.body;\n\n\t\tconst fields = [];\n\t\tfor (const name in headers) {\n\t\t\tif (headers[name] !== O[name]) {\n\t\t\t\tfields.push(\n\t\t\t\t\tname.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) +\n\t\t\t\t\t\"=\" +\n\t\t\t\t\theaders[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (fields.length) {\n\t\t\tcomponents.query = fields.join(\"&\");\n\t\t}\n\n\t\treturn components;\n\t}\n}\n\nexport default handler;","import { URIRegExps } from \"./uri\";\nimport { buildExps } from \"./regexps-uri\";\n\nexport default buildExps(true);\n","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"http\",\n\n\tdomainHost : true,\n\n\tparse : function (components:URIComponents, options:URIOptions):URIComponents {\n\t\t//report missing host\n\t\tif (!components.host) {\n\t\t\tcomponents.error = components.error || \"HTTP URIs must have a host.\";\n\t\t}\n\n\t\treturn components;\n\t},\n\n\tserialize : function (components:URIComponents, options:URIOptions):URIComponents {\n\t\tconst secure = String(components.scheme).toLowerCase() === \"https\";\n\n\t\t//normalize the default port\n\t\tif (components.port === (secure ? 443 : 80) || components.port === \"\") {\n\t\t\tcomponents.port = undefined;\n\t\t}\n\t\t\n\t\t//normalize the empty path\n\t\tif (!components.path) {\n\t\t\tcomponents.path = \"/\";\n\t\t}\n\n\t\t//NOTE: We do not parse query strings for HTTP URIs\n\t\t//as WWW Form Url Encoded query strings are part of the HTML4+ spec,\n\t\t//and not the HTTP spec.\n\n\t\treturn components;\n\t}\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport http from \"./http\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"https\",\n\tdomainHost : http.domainHost,\n\tparse : http.parse,\n\tserialize : http.serialize\n}\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport ws from \"./ws\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"wss\",\n\tdomainHost : ws.domainHost,\n\tparse : ws.parse,\n\tserialize : ws.serialize\n}\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { pctEncChar, SCHEMES } from \"../uri\";\n\nexport interface URNComponents extends URIComponents {\n\tnid?:string;\n\tnss?:string;\n}\n\nexport interface URNOptions extends URIOptions {\n\tnid?:string;\n}\n\nconst NID$ = \"(?:[0-9A-Za-z][0-9A-Za-z\\\\-]{1,31})\";\nconst PCT_ENCODED$ = \"(?:\\\\%[0-9A-Fa-f]{2})\";\nconst TRANS$$ = \"[0-9A-Za-z\\\\(\\\\)\\\\+\\\\,\\\\-\\\\.\\\\:\\\\=\\\\@\\\\;\\\\$\\\\_\\\\!\\\\*\\\\'\\\\/\\\\?\\\\#]\";\nconst NSS$ = \"(?:(?:\" + PCT_ENCODED$ + \"|\" + TRANS$$ + \")+)\";\nconst URN_SCHEME = new RegExp(\"^urn\\\\:(\" + NID$ + \")$\");\nconst URN_PATH = new RegExp(\"^(\" + NID$ + \")\\\\:(\" + NSS$ + \")$\");\nconst URN_PARSE = /^([^\\:]+)\\:(.*)/;\nconst URN_EXCLUDED = /[\\x00-\\x20\\\\\\\"\\&\\<\\>\\[\\]\\^\\`\\{\\|\\}\\~\\x7F-\\xFF]/g;\n\n//RFC 2141\nconst handler:URISchemeHandler = {\n\tscheme : \"urn\",\n\n\tparse : function (components:URIComponents, options:URNOptions):URNComponents {\n\t\tconst matches = components.path && components.path.match(URN_PARSE);\n\t\tlet urnComponents = components as URNComponents;\n\n\t\tif (matches) {\n\t\t\tconst scheme = options.scheme || urnComponents.scheme || \"urn\";\n\t\t\tconst nid = matches[1].toLowerCase();\n\t\t\tconst nss = matches[2];\n\t\t\tconst urnScheme = `${scheme}:${options.nid || nid}`;\n\t\t\tconst schemeHandler = SCHEMES[urnScheme];\n\n\t\t\turnComponents.nid = nid;\n\t\t\turnComponents.nss = nss;\n\t\t\turnComponents.path = undefined;\n\n\t\t\tif (schemeHandler) {\n\t\t\t\turnComponents = schemeHandler.parse(urnComponents, options) as URNComponents;\n\t\t\t}\n\t\t} else {\n\t\t\turnComponents.error = urnComponents.error || \"URN can not be parsed.\";\n\t\t}\n\n\t\treturn urnComponents;\n\t},\n\n\tserialize : function (urnComponents:URNComponents, options:URNOptions):URIComponents {\n\t\tconst scheme = options.scheme || urnComponents.scheme || \"urn\";\n\t\tconst nid = urnComponents.nid;\n\t\tconst urnScheme = `${scheme}:${options.nid || nid}`;\n\t\tconst schemeHandler = SCHEMES[urnScheme];\n\n\t\tif (schemeHandler) {\n\t\t\turnComponents = schemeHandler.serialize(urnComponents, options) as URNComponents;\n\t\t}\n\n\t\tconst uriComponents = urnComponents as URIComponents;\n\t\tconst nss = urnComponents.nss;\n\t\turiComponents.path = `${nid || options.nid}:${nss}`;\n\n\t\treturn uriComponents;\n\t},\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { URNComponents } from \"./urn\";\nimport { SCHEMES } from \"../uri\";\n\nexport interface UUIDComponents extends URNComponents {\n\tuuid?: string;\n}\n\nconst UUID = /^[0-9A-Fa-f]{8}(?:\\-[0-9A-Fa-f]{4}){3}\\-[0-9A-Fa-f]{12}$/;\nconst UUID_PARSE = /^[0-9A-Fa-f\\-]{36}/;\n\n//RFC 4122\nconst handler:URISchemeHandler = {\n\tscheme : \"urn:uuid\",\n\n\tparse : function (urnComponents:URNComponents, options:URIOptions):UUIDComponents {\n\t\tconst uuidComponents = urnComponents as UUIDComponents;\n\t\tuuidComponents.uuid = uuidComponents.nss;\n\t\tuuidComponents.nss = undefined;\n\n\t\tif (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) {\n\t\t\tuuidComponents.error = uuidComponents.error || \"UUID is not valid.\";\n\t\t}\n\n\t\treturn uuidComponents;\n\t},\n\n\tserialize : function (uuidComponents:UUIDComponents, options:URIOptions):URNComponents {\n\t\tconst urnComponents = uuidComponents as URNComponents;\n\t\t//normalize UUID\n\t\turnComponents.nss = (uuidComponents.uuid || \"\").toLowerCase();\n\t\treturn urnComponents;\n\t},\n};\n\nexport default handler;","import { SCHEMES } from \"./uri\";\n\nimport http from \"./schemes/http\";\nSCHEMES[http.scheme] = http;\n\nimport https from \"./schemes/https\";\nSCHEMES[https.scheme] = https;\n\nimport ws from \"./schemes/ws\";\nSCHEMES[ws.scheme] = ws;\n\nimport wss from \"./schemes/wss\";\nSCHEMES[wss.scheme] = wss;\n\nimport mailto from \"./schemes/mailto\";\nSCHEMES[mailto.scheme] = mailto;\n\nimport urn from \"./schemes/urn\";\nSCHEMES[urn.scheme] = urn;\n\nimport uuid from \"./schemes/urn-uuid\";\nSCHEMES[uuid.scheme] = uuid;\n\nexport * from \"./uri\";\n"]} \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/index.d.ts b/node_modules/uri-js/dist/esnext/index.d.ts new file mode 100644 index 00000000..f6be7603 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/index.d.ts @@ -0,0 +1 @@ +export * from "./uri"; diff --git a/node_modules/uri-js/dist/esnext/index.js b/node_modules/uri-js/dist/esnext/index.js new file mode 100644 index 00000000..e3531b5b --- /dev/null +++ b/node_modules/uri-js/dist/esnext/index.js @@ -0,0 +1,17 @@ +import { SCHEMES } from "./uri"; +import http from "./schemes/http"; +SCHEMES[http.scheme] = http; +import https from "./schemes/https"; +SCHEMES[https.scheme] = https; +import ws from "./schemes/ws"; +SCHEMES[ws.scheme] = ws; +import wss from "./schemes/wss"; +SCHEMES[wss.scheme] = wss; +import mailto from "./schemes/mailto"; +SCHEMES[mailto.scheme] = mailto; +import urn from "./schemes/urn"; +SCHEMES[urn.scheme] = urn; +import uuid from "./schemes/urn-uuid"; +SCHEMES[uuid.scheme] = uuid; +export * from "./uri"; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/index.js.map b/node_modules/uri-js/dist/esnext/index.js.map new file mode 100644 index 00000000..0971f6eb --- /dev/null +++ b/node_modules/uri-js/dist/esnext/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAE5B,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;AAE9B,OAAO,EAAE,MAAM,cAAc,CAAC;AAC9B,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AAExB,OAAO,GAAG,MAAM,eAAe,CAAC;AAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;AAE1B,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAEhC,OAAO,GAAG,MAAM,eAAe,CAAC;AAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;AAE1B,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAE5B,cAAc,OAAO,CAAC"} \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/regexps-iri.d.ts b/node_modules/uri-js/dist/esnext/regexps-iri.d.ts new file mode 100644 index 00000000..c91cdacb --- /dev/null +++ b/node_modules/uri-js/dist/esnext/regexps-iri.d.ts @@ -0,0 +1,3 @@ +import { URIRegExps } from "./uri"; +declare const _default: URIRegExps; +export default _default; diff --git a/node_modules/uri-js/dist/esnext/regexps-iri.js b/node_modules/uri-js/dist/esnext/regexps-iri.js new file mode 100644 index 00000000..34e7de98 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/regexps-iri.js @@ -0,0 +1,3 @@ +import { buildExps } from "./regexps-uri"; +export default buildExps(true); +//# sourceMappingURL=regexps-iri.js.map \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/regexps-iri.js.map b/node_modules/uri-js/dist/esnext/regexps-iri.js.map new file mode 100644 index 00000000..2269c580 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/regexps-iri.js.map @@ -0,0 +1 @@ +{"version":3,"file":"regexps-iri.js","sourceRoot":"","sources":["../../src/regexps-iri.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,eAAe,SAAS,CAAC,IAAI,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/regexps-uri.d.ts b/node_modules/uri-js/dist/esnext/regexps-uri.d.ts new file mode 100644 index 00000000..6096bda5 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/regexps-uri.d.ts @@ -0,0 +1,4 @@ +import { URIRegExps } from "./uri"; +export declare function buildExps(isIRI: boolean): URIRegExps; +declare const _default: URIRegExps; +export default _default; diff --git a/node_modules/uri-js/dist/esnext/regexps-uri.js b/node_modules/uri-js/dist/esnext/regexps-uri.js new file mode 100644 index 00000000..1cc659f1 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/regexps-uri.js @@ -0,0 +1,42 @@ +import { merge, subexp } from "./util"; +export function buildExps(isIRI) { + const ALPHA$$ = "[A-Za-z]", CR$ = "[\\x0D]", DIGIT$$ = "[0-9]", DQUOTE$$ = "[\\x22]", HEXDIG$$ = merge(DIGIT$$, "[A-Fa-f]"), //case-insensitive + LF$$ = "[\\x0A]", SP$$ = "[\\x20]", PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)), //expanded + GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), UCSCHAR$$ = isIRI ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", //subset, excludes bidi control characters + IPRIVATE$$ = isIRI ? "[\\uE000-\\uF8FF]" : "[]", //subset + UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), USERINFO$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]")) + "*"), DEC_OCTET$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("[1-9]" + DIGIT$$) + "|" + DIGIT$$), DEC_OCTET_RELAXED$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("0?[1-9]" + DIGIT$$) + "|0?0?" + DIGIT$$), //relaxed parsing rules + IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$), H16$ = subexp(HEXDIG$$ + "{1,4}"), LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), IPV6ADDRESS1$ = subexp(subexp(H16$ + "\\:") + "{6}" + LS32$), // 6( h16 ":" ) ls32 + IPV6ADDRESS2$ = subexp("\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), // "::" 5( h16 ":" ) ls32 + IPV6ADDRESS3$ = subexp(subexp(H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), //[ h16 ] "::" 4( h16 ":" ) ls32 + IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$), //[ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 + IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$), //[ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 + IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), //[ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 + IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), //[ *4( h16 ":" ) h16 ] "::" ls32 + IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$), //[ *5( h16 ":" ) h16 ] "::" h16 + IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:"), //[ *6( h16 ":" ) h16 ] "::" + IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join("|")), ZONEID$ = subexp(subexp(UNRESERVED$$ + "|" + PCT_ENCODED$) + "+"), //RFC 6874 + IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), //RFC 6874 + IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + ZONEID$), //RFC 6874, with relaxed parsing rules + IPVFUTURE$ = subexp("[vV]" + HEXDIG$$ + "+\\." + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]") + "+"), IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), //RFC 6874 + REG_NAME$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$)) + "*"), HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")" + "|" + REG_NAME$), PORT$ = subexp(DIGIT$$ + "*"), AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), PCHAR$ = subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@]")), SEGMENT$ = subexp(PCHAR$ + "*"), SEGMENT_NZ$ = subexp(PCHAR$ + "+"), SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\@]")) + "+"), PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), //simplified + PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), //simplified + PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), //simplified + PATH_EMPTY$ = "(?!" + PCHAR$ + ")", PATH$ = subexp(PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), HIER_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), RELATIVE_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$), RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), GENERIC_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", RELATIVE_REF$ = "^(){0}" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", ABSOLUTE_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?$", SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", AUTHORITY_REF$ = "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$"; + return { + NOT_SCHEME: new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"), + NOT_USERINFO: new RegExp(merge("[^\\%\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_HOST: new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH: new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH_NOSCHEME: new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_QUERY: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"), + NOT_FRAGMENT: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"), + ESCAPE: new RegExp(merge("[^]", UNRESERVED$$, SUB_DELIMS$$), "g"), + UNRESERVED: new RegExp(UNRESERVED$$, "g"), + OTHER_CHARS: new RegExp(merge("[^\\%]", UNRESERVED$$, RESERVED$$), "g"), + PCT_ENCODED: new RegExp(PCT_ENCODED$, "g"), + IPV4ADDRESS: new RegExp("^(" + IPV4ADDRESS$ + ")$"), + IPV6ADDRESS: new RegExp("^\\[?(" + IPV6ADDRESS$ + ")" + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + "(" + ZONEID$ + ")") + "?\\]?$") //RFC 6874, with relaxed parsing rules + }; +} +export default buildExps(false); +//# sourceMappingURL=regexps-uri.js.map \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/regexps-uri.js.map b/node_modules/uri-js/dist/esnext/regexps-uri.js.map new file mode 100644 index 00000000..cb028b80 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/regexps-uri.js.map @@ -0,0 +1 @@ +{"version":3,"file":"regexps-uri.js","sourceRoot":"","sources":["../../src/regexps-uri.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,oBAAoB,KAAa;IACtC,MACC,OAAO,GAAG,UAAU,EACpB,GAAG,GAAG,SAAS,EACf,OAAO,GAAG,OAAO,EACjB,QAAQ,GAAG,SAAS,EACpB,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,EAAG,kBAAkB;IAC1D,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,SAAS,EAChB,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,QAAQ,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,aAAa,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,QAAQ,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAG,UAAU;IACvO,YAAY,GAAG,yBAAyB,EACxC,YAAY,GAAG,qCAAqC,EACpD,UAAU,GAAG,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,EAC9C,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,6EAA6E,CAAC,CAAC,CAAC,IAAI,EAAG,0CAA0C;IACrJ,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAG,QAAQ;IAC1D,YAAY,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,CAAC,EACnE,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,GAAG,GAAG,CAAC,EACxE,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,GAAG,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,EACjG,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,EACnK,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC,EAAG,uBAAuB;IAC3M,YAAY,GAAG,MAAM,CAAC,kBAAkB,GAAG,KAAK,GAAG,kBAAkB,GAAG,KAAK,GAAG,kBAAkB,GAAG,KAAK,GAAG,kBAAkB,CAAC,EAChI,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,EACjC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,YAAY,CAAC,EAChE,aAAa,GAAG,MAAM,CAA6D,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,EAAE,8CAA8C;IACxK,aAAa,GAAG,MAAM,CAAkD,QAAQ,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,EAAE,8CAA8C;IACxK,aAAa,GAAG,MAAM,CAAC,MAAM,CAAkC,IAAI,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,EAAE,8CAA8C;IACxK,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,EAAE,8CAA8C;IACxK,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,EAAE,8CAA8C;IACxK,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,GAAU,IAAI,GAAG,KAAK,GAAY,KAAK,CAAC,EAAE,8CAA8C;IACxK,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,GAAkC,KAAK,CAAC,EAAE,8CAA8C;IACxK,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,GAAkC,IAAI,CAAE,EAAE,6CAA6C;IACvK,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,CAAwC,EAAE,4BAA4B;IACtJ,YAAY,GAAG,MAAM,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACxK,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,EAAG,UAAU;IAC9E,UAAU,GAAG,MAAM,CAAC,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC,EAAG,UAAU;IAClE,kBAAkB,GAAG,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,EAAG,sCAAsC;IACzI,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,EAClG,WAAW,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,kBAAkB,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,KAAK,CAAC,EAAG,UAAU;IACrH,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,GAAG,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC,EACxF,KAAK,GAAG,MAAM,CAAC,WAAW,GAAG,GAAG,GAAG,YAAY,GAAG,KAAK,GAAG,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,EAC5F,KAAK,GAAG,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,EAC7B,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,EACxF,MAAM,GAAG,MAAM,CAAC,YAAY,GAAG,GAAG,GAAG,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,EACnF,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAC/B,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAClC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,GAAG,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,EACtG,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,EACtD,cAAc,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC,EAAG,YAAY;IACzF,cAAc,GAAG,MAAM,CAAC,cAAc,GAAG,aAAa,CAAC,EAAG,YAAY;IACtE,cAAc,GAAG,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC,EAAG,YAAY;IACnE,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,EAClC,KAAK,GAAG,MAAM,CAAC,aAAa,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,WAAW,CAAC,EACtH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,EAC3E,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,EACtD,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,WAAW,CAAC,EACpI,IAAI,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,EAC5G,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,WAAW,CAAC,EACxI,SAAS,GAAG,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,EACnG,cAAc,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,SAAS,CAAC,EAC/C,aAAa,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,EAEnF,YAAY,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,aAAa,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,GAAG,IAAI,EAC7U,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,aAAa,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,GAAG,IAAI,EAC/T,aAAa,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,aAAa,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,EACrS,YAAY,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,GAAG,IAAI,EAC5D,cAAc,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,CAChH;IAED,OAAO;QACN,UAAU,EAAG,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC;QAC3E,YAAY,EAAG,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC;QAC9E,QAAQ,EAAG,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC;QAChF,QAAQ,EAAG,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC;QAChF,iBAAiB,EAAG,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC;QACtF,SAAS,EAAG,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC;QACtG,YAAY,EAAG,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAAE,GAAG,CAAC;QAC7F,MAAM,EAAG,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC;QAClE,UAAU,EAAG,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC;QAC1C,WAAW,EAAG,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC;QACxE,WAAW,EAAG,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC;QAC3C,WAAW,EAAG,IAAI,MAAM,CAAC,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC;QACpD,WAAW,EAAG,IAAI,MAAM,CAAC,QAAQ,GAAG,YAAY,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAE,sCAAsC;KACrL,CAAC;AACH,CAAC;AAED,eAAe,SAAS,CAAC,KAAK,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/schemes/http.d.ts b/node_modules/uri-js/dist/esnext/schemes/http.d.ts new file mode 100644 index 00000000..fe5b2f35 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/http.d.ts @@ -0,0 +1,3 @@ +import { URISchemeHandler } from "../uri"; +declare const handler: URISchemeHandler; +export default handler; diff --git a/node_modules/uri-js/dist/esnext/schemes/http.js b/node_modules/uri-js/dist/esnext/schemes/http.js new file mode 100644 index 00000000..6abf0fe6 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/http.js @@ -0,0 +1,28 @@ +const handler = { + scheme: "http", + domainHost: true, + parse: function (components, options) { + //report missing host + if (!components.host) { + components.error = components.error || "HTTP URIs must have a host."; + } + return components; + }, + serialize: function (components, options) { + const secure = String(components.scheme).toLowerCase() === "https"; + //normalize the default port + if (components.port === (secure ? 443 : 80) || components.port === "") { + components.port = undefined; + } + //normalize the empty path + if (!components.path) { + components.path = "/"; + } + //NOTE: We do not parse query strings for HTTP URIs + //as WWW Form Url Encoded query strings are part of the HTML4+ spec, + //and not the HTTP spec. + return components; + } +}; +export default handler; +//# sourceMappingURL=http.js.map \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/schemes/http.js.map b/node_modules/uri-js/dist/esnext/schemes/http.js.map new file mode 100644 index 00000000..82118970 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/http.js.map @@ -0,0 +1 @@ +{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/schemes/http.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,GAAoB;IAChC,MAAM,EAAG,MAAM;IAEf,UAAU,EAAG,IAAI;IAEjB,KAAK,EAAG,UAAU,UAAwB,EAAE,OAAkB;QAC7D,qBAAqB;QACrB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;YACrB,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,6BAA6B,CAAC;SACrE;QAED,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,SAAS,EAAG,UAAU,UAAwB,EAAE,OAAkB;QACjE,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC;QAEnE,4BAA4B;QAC5B,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,KAAK,EAAE,EAAE;YACtE,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC;SAC5B;QAED,0BAA0B;QAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;YACrB,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;SACtB;QAED,mDAAmD;QACnD,oEAAoE;QACpE,wBAAwB;QAExB,OAAO,UAAU,CAAC;IACnB,CAAC;CACD,CAAC;AAEF,eAAe,OAAO,CAAC"} \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/schemes/https.d.ts b/node_modules/uri-js/dist/esnext/schemes/https.d.ts new file mode 100644 index 00000000..fe5b2f35 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/https.d.ts @@ -0,0 +1,3 @@ +import { URISchemeHandler } from "../uri"; +declare const handler: URISchemeHandler; +export default handler; diff --git a/node_modules/uri-js/dist/esnext/schemes/https.js b/node_modules/uri-js/dist/esnext/schemes/https.js new file mode 100644 index 00000000..ec4b6e76 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/https.js @@ -0,0 +1,9 @@ +import http from "./http"; +const handler = { + scheme: "https", + domainHost: http.domainHost, + parse: http.parse, + serialize: http.serialize +}; +export default handler; +//# sourceMappingURL=https.js.map \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/schemes/https.js.map b/node_modules/uri-js/dist/esnext/schemes/https.js.map new file mode 100644 index 00000000..385b8efe --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/https.js.map @@ -0,0 +1 @@ +{"version":3,"file":"https.js","sourceRoot":"","sources":["../../../src/schemes/https.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,OAAO,GAAoB;IAChC,MAAM,EAAG,OAAO;IAChB,UAAU,EAAG,IAAI,CAAC,UAAU;IAC5B,KAAK,EAAG,IAAI,CAAC,KAAK;IAClB,SAAS,EAAG,IAAI,CAAC,SAAS;CAC1B,CAAA;AAED,eAAe,OAAO,CAAC"} \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts b/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts new file mode 100644 index 00000000..e2aefc2a --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts @@ -0,0 +1,12 @@ +import { URISchemeHandler, URIComponents } from "../uri"; +export interface MailtoHeaders { + [hfname: string]: string; +} +export interface MailtoComponents extends URIComponents { + to: Array; + headers?: MailtoHeaders; + subject?: string; + body?: string; +} +declare const handler: URISchemeHandler; +export default handler; diff --git a/node_modules/uri-js/dist/esnext/schemes/mailto.js b/node_modules/uri-js/dist/esnext/schemes/mailto.js new file mode 100644 index 00000000..2553713c --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/mailto.js @@ -0,0 +1,148 @@ +import { pctEncChar, pctDecChars, unescapeComponent } from "../uri"; +import punycode from "punycode"; +import { merge, subexp, toUpperCase, toArray } from "../util"; +const O = {}; +const isIRI = true; +//RFC 3986 +const UNRESERVED$$ = "[A-Za-z0-9\\-\\.\\_\\~" + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + "]"; +const HEXDIG$$ = "[0-9A-Fa-f]"; //case-insensitive +const PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)); //expanded +//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; = +//const ATEXT$$ = "[A-Za-z0-9\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QTEXT$$ = "[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]"; //(%d1-8 / %d11-12 / %d14-31 / %d127) +//const QTEXT$$ = merge("[\\x21\\x23-\\x5B\\x5D-\\x7E]", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext +//const VCHAR$$ = "[\\x21-\\x7E]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QP$ = subexp("\\\\" + merge("[\\x00\\x0D\\x0A]", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext +//const FWS$ = subexp(subexp(WSP$$ + "*" + "\\x0D\\x0A") + "?" + WSP$$ + "+"); +//const QUOTED_PAIR$ = subexp(subexp("\\\\" + subexp(VCHAR$$ + "|" + WSP$$)) + "|" + OBS_QP$); +//const QUOTED_STRING$ = subexp('\\"' + subexp(FWS$ + "?" + QCONTENT$) + "*" + FWS$ + "?" + '\\"'); +const ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]"; +const QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]"; +const VCHAR$$ = merge(QTEXT$$, "[\\\"\\\\]"); +const DOT_ATOM_TEXT$ = subexp(ATEXT$$ + "+" + subexp("\\." + ATEXT$$ + "+") + "*"); +const QUOTED_PAIR$ = subexp("\\\\" + VCHAR$$); +const QCONTENT$ = subexp(QTEXT$$ + "|" + QUOTED_PAIR$); +const QUOTED_STRING$ = subexp('\\"' + QCONTENT$ + "*" + '\\"'); +//RFC 6068 +const DTEXT_NO_OBS$$ = "[\\x21-\\x5A\\x5E-\\x7E]"; //%d33-90 / %d94-126 +const SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"; +const QCHAR$ = subexp(UNRESERVED$$ + "|" + PCT_ENCODED$ + "|" + SOME_DELIMS$$); +const DOMAIN$ = subexp(DOT_ATOM_TEXT$ + "|" + "\\[" + DTEXT_NO_OBS$$ + "*" + "\\]"); +const LOCAL_PART$ = subexp(DOT_ATOM_TEXT$ + "|" + QUOTED_STRING$); +const ADDR_SPEC$ = subexp(LOCAL_PART$ + "\\@" + DOMAIN$); +const TO$ = subexp(ADDR_SPEC$ + subexp("\\," + ADDR_SPEC$) + "*"); +const HFNAME$ = subexp(QCHAR$ + "*"); +const HFVALUE$ = HFNAME$; +const HFIELD$ = subexp(HFNAME$ + "\\=" + HFVALUE$); +const HFIELDS2$ = subexp(HFIELD$ + subexp("\\&" + HFIELD$) + "*"); +const HFIELDS$ = subexp("\\?" + HFIELDS2$); +const MAILTO_URI = new RegExp("^mailto\\:" + TO$ + "?" + HFIELDS$ + "?$"); +const UNRESERVED = new RegExp(UNRESERVED$$, "g"); +const PCT_ENCODED = new RegExp(PCT_ENCODED$, "g"); +const NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g"); +const NOT_DOMAIN = new RegExp(merge("[^]", ATEXT$$, "[\\.]", "[\\[]", DTEXT_NO_OBS$$, "[\\]]"), "g"); +const NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g"); +const NOT_HFVALUE = NOT_HFNAME; +const TO = new RegExp("^" + TO$ + "$"); +const HFIELDS = new RegExp("^" + HFIELDS2$ + "$"); +function decodeUnreserved(str) { + const decStr = pctDecChars(str); + return (!decStr.match(UNRESERVED) ? str : decStr); +} +const handler = { + scheme: "mailto", + parse: function (components, options) { + const mailtoComponents = components; + const to = mailtoComponents.to = (mailtoComponents.path ? mailtoComponents.path.split(",") : []); + mailtoComponents.path = undefined; + if (mailtoComponents.query) { + let unknownHeaders = false; + const headers = {}; + const hfields = mailtoComponents.query.split("&"); + for (let x = 0, xl = hfields.length; x < xl; ++x) { + const hfield = hfields[x].split("="); + switch (hfield[0]) { + case "to": + const toAddrs = hfield[1].split(","); + for (let x = 0, xl = toAddrs.length; x < xl; ++x) { + to.push(toAddrs[x]); + } + break; + case "subject": + mailtoComponents.subject = unescapeComponent(hfield[1], options); + break; + case "body": + mailtoComponents.body = unescapeComponent(hfield[1], options); + break; + default: + unknownHeaders = true; + headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options); + break; + } + } + if (unknownHeaders) + mailtoComponents.headers = headers; + } + mailtoComponents.query = undefined; + for (let x = 0, xl = to.length; x < xl; ++x) { + const addr = to[x].split("@"); + addr[0] = unescapeComponent(addr[0]); + if (!options.unicodeSupport) { + //convert Unicode IDN -> ASCII IDN + try { + addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase()); + } + catch (e) { + mailtoComponents.error = mailtoComponents.error || "Email address's domain name can not be converted to ASCII via punycode: " + e; + } + } + else { + addr[1] = unescapeComponent(addr[1], options).toLowerCase(); + } + to[x] = addr.join("@"); + } + return mailtoComponents; + }, + serialize: function (mailtoComponents, options) { + const components = mailtoComponents; + const to = toArray(mailtoComponents.to); + if (to) { + for (let x = 0, xl = to.length; x < xl; ++x) { + const toAddr = String(to[x]); + const atIdx = toAddr.lastIndexOf("@"); + const localPart = (toAddr.slice(0, atIdx)).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar); + let domain = toAddr.slice(atIdx + 1); + //convert IDN via punycode + try { + domain = (!options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain)); + } + catch (e) { + components.error = components.error || "Email address's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + to[x] = localPart + "@" + domain; + } + components.path = to.join(","); + } + const headers = mailtoComponents.headers = mailtoComponents.headers || {}; + if (mailtoComponents.subject) + headers["subject"] = mailtoComponents.subject; + if (mailtoComponents.body) + headers["body"] = mailtoComponents.body; + const fields = []; + for (const name in headers) { + if (headers[name] !== O[name]) { + fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + + "=" + + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)); + } + } + if (fields.length) { + components.query = fields.join("&"); + } + return components; + } +}; +export default handler; +//# sourceMappingURL=mailto.js.map \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/schemes/mailto.js.map b/node_modules/uri-js/dist/esnext/schemes/mailto.js.map new file mode 100644 index 00000000..82dba9a1 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/mailto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mailto.js","sourceRoot":"","sources":["../../../src/schemes/mailto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAa9D,MAAM,CAAC,GAAiB,EAAE,CAAC;AAC3B,MAAM,KAAK,GAAG,IAAI,CAAC;AAEnB,UAAU;AACV,MAAM,YAAY,GAAG,wBAAwB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,2EAA2E,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AACjJ,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAE,kBAAkB;AACnD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,QAAQ,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,aAAa,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,QAAQ,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAE,UAAU;AAE7O,qEAAqE;AACrE,yFAAyF;AACzF,+BAA+B;AAC/B,uGAAuG;AACvG,+GAA+G;AAC/G,kCAAkC;AAClC,+BAA+B;AAC/B,wGAAwG;AACxG,8EAA8E;AAC9E,8FAA8F;AAC9F,mGAAmG;AACnG,MAAM,OAAO,GAAG,uDAAuD,CAAC;AACxE,MAAM,OAAO,GAAG,4DAA4D,CAAC;AAC7E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC7C,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AACnF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;AAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,GAAG,GAAG,GAAG,YAAY,CAAC,CAAC;AACvD,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;AAE/D,UAAU;AACV,MAAM,cAAc,GAAG,0BAA0B,CAAC,CAAE,oBAAoB;AACxE,MAAM,aAAa,GAAG,qCAAqC,CAAC;AAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG,GAAG,aAAa,CAAC,CAAC;AAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,GAAG,GAAG,GAAG,KAAK,GAAG,cAAc,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;AACpF,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC;AAClE,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC;AACzD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;AAClE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;AACrC,MAAM,QAAQ,GAAG,OAAO,CAAC;AACzB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AACnD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,YAAY,GAAG,GAAG,GAAG,GAAG,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;AAE1E,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AACjD,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAClD,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;AACzF,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;AACrG,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9E,MAAM,WAAW,GAAG,UAAU,CAAC;AAC/B,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AACvC,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC;AAElD,0BAA0B,GAAU;IACnC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,OAAO,GAAuC;IACnD,MAAM,EAAG,QAAQ;IAEjB,KAAK,EAAG,UAAU,UAAwB,EAAE,OAAkB;QAC7D,MAAM,gBAAgB,GAAG,UAA8B,CAAC;QACxD,MAAM,EAAE,GAAG,gBAAgB,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjG,gBAAgB,CAAC,IAAI,GAAG,SAAS,CAAC;QAElC,IAAI,gBAAgB,CAAC,KAAK,EAAE;YAC3B,IAAI,cAAc,GAAG,KAAK,CAAA;YAC1B,MAAM,OAAO,GAAiB,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;gBACjD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAErC,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;oBAClB,KAAK,IAAI;wBACR,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;4BACjD,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;yBACpB;wBACD,MAAM;oBACP,KAAK,SAAS;wBACb,gBAAgB,CAAC,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBACjE,MAAM;oBACP,KAAK,MAAM;wBACV,gBAAgB,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBAC9D,MAAM;oBACP;wBACC,cAAc,GAAG,IAAI,CAAC;wBACtB,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBACvF,MAAM;iBACP;aACD;YAED,IAAI,cAAc;gBAAE,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAC;SACvD;QAED,gBAAgB,CAAC,KAAK,GAAG,SAAS,CAAC;QAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;YAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE9B,IAAI,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAErC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;gBAC5B,kCAAkC;gBAClC,IAAI;oBACH,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;iBAC9E;gBAAC,OAAO,CAAC,EAAE;oBACX,gBAAgB,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,IAAI,0EAA0E,GAAG,CAAC,CAAC;iBAClI;aACD;iBAAM;gBACN,IAAI,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;aAC5D;YAED,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACvB;QAED,OAAO,gBAAgB,CAAC;IACzB,CAAC;IAED,SAAS,EAAG,UAAU,gBAAiC,EAAE,OAAkB;QAC1E,MAAM,UAAU,GAAG,gBAAiC,CAAC;QACrD,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,EAAE,EAAE;YACP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;gBAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gBACxJ,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAErC,0BAA0B;gBAC1B,IAAI;oBACH,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC1H;gBAAC,OAAO,CAAC,EAAE;oBACX,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,sDAAsD,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,iBAAiB,GAAG,CAAC,CAAC;iBAC7J;gBAED,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,GAAG,GAAG,MAAM,CAAC;aACjC;YAED,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/B;QAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC;QAE1E,IAAI,gBAAgB,CAAC,OAAO;YAAE,OAAO,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAC5E,IAAI,gBAAgB,CAAC,IAAI;YAAE,OAAO,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC;QAEnE,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;YAC3B,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE;gBAC9B,MAAM,CAAC,IAAI,CACV,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC;oBAC7G,GAAG;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CACvH,CAAC;aACF;SACD;QACD,IAAI,MAAM,CAAC,MAAM,EAAE;YAClB,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACpC;QAED,OAAO,UAAU,CAAC;IACnB,CAAC;CACD,CAAA;AAED,eAAe,OAAO,CAAC"} \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts b/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts new file mode 100644 index 00000000..e75f2e79 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts @@ -0,0 +1,7 @@ +import { URISchemeHandler, URIOptions } from "../uri"; +import { URNComponents } from "./urn"; +export interface UUIDComponents extends URNComponents { + uuid?: string; +} +declare const handler: URISchemeHandler; +export default handler; diff --git a/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js b/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js new file mode 100644 index 00000000..d1fce495 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js @@ -0,0 +1,23 @@ +const UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/; +const UUID_PARSE = /^[0-9A-Fa-f\-]{36}/; +//RFC 4122 +const handler = { + scheme: "urn:uuid", + parse: function (urnComponents, options) { + const uuidComponents = urnComponents; + uuidComponents.uuid = uuidComponents.nss; + uuidComponents.nss = undefined; + if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) { + uuidComponents.error = uuidComponents.error || "UUID is not valid."; + } + return uuidComponents; + }, + serialize: function (uuidComponents, options) { + const urnComponents = uuidComponents; + //normalize UUID + urnComponents.nss = (uuidComponents.uuid || "").toLowerCase(); + return urnComponents; + }, +}; +export default handler; +//# sourceMappingURL=urn-uuid.js.map \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map b/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map new file mode 100644 index 00000000..3b7a8b3a --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map @@ -0,0 +1 @@ +{"version":3,"file":"urn-uuid.js","sourceRoot":"","sources":["../../../src/schemes/urn-uuid.ts"],"names":[],"mappings":"AAQA,MAAM,IAAI,GAAG,0DAA0D,CAAC;AACxE,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAExC,UAAU;AACV,MAAM,OAAO,GAA+D;IAC3E,MAAM,EAAG,UAAU;IAEnB,KAAK,EAAG,UAAU,aAA2B,EAAE,OAAkB;QAChE,MAAM,cAAc,GAAG,aAA+B,CAAC;QACvD,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC;QACzC,cAAc,CAAC,GAAG,GAAG,SAAS,CAAC;QAE/B,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;YACpF,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,IAAI,oBAAoB,CAAC;SACpE;QAED,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,SAAS,EAAG,UAAU,cAA6B,EAAE,OAAkB;QACtE,MAAM,aAAa,GAAG,cAA+B,CAAC;QACtD,gBAAgB;QAChB,aAAa,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9D,OAAO,aAAa,CAAC;IACtB,CAAC;CACD,CAAC;AAEF,eAAe,OAAO,CAAC"} \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/schemes/urn.d.ts b/node_modules/uri-js/dist/esnext/schemes/urn.d.ts new file mode 100644 index 00000000..7e0c2fba --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/urn.d.ts @@ -0,0 +1,10 @@ +import { URISchemeHandler, URIComponents, URIOptions } from "../uri"; +export interface URNComponents extends URIComponents { + nid?: string; + nss?: string; +} +export interface URNOptions extends URIOptions { + nid?: string; +} +declare const handler: URISchemeHandler; +export default handler; diff --git a/node_modules/uri-js/dist/esnext/schemes/urn.js b/node_modules/uri-js/dist/esnext/schemes/urn.js new file mode 100644 index 00000000..5d3f10aa --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/urn.js @@ -0,0 +1,49 @@ +import { SCHEMES } from "../uri"; +const NID$ = "(?:[0-9A-Za-z][0-9A-Za-z\\-]{1,31})"; +const PCT_ENCODED$ = "(?:\\%[0-9A-Fa-f]{2})"; +const TRANS$$ = "[0-9A-Za-z\\(\\)\\+\\,\\-\\.\\:\\=\\@\\;\\$\\_\\!\\*\\'\\/\\?\\#]"; +const NSS$ = "(?:(?:" + PCT_ENCODED$ + "|" + TRANS$$ + ")+)"; +const URN_SCHEME = new RegExp("^urn\\:(" + NID$ + ")$"); +const URN_PATH = new RegExp("^(" + NID$ + ")\\:(" + NSS$ + ")$"); +const URN_PARSE = /^([^\:]+)\:(.*)/; +const URN_EXCLUDED = /[\x00-\x20\\\"\&\<\>\[\]\^\`\{\|\}\~\x7F-\xFF]/g; +//RFC 2141 +const handler = { + scheme: "urn", + parse: function (components, options) { + const matches = components.path && components.path.match(URN_PARSE); + let urnComponents = components; + if (matches) { + const scheme = options.scheme || urnComponents.scheme || "urn"; + const nid = matches[1].toLowerCase(); + const nss = matches[2]; + const urnScheme = `${scheme}:${options.nid || nid}`; + const schemeHandler = SCHEMES[urnScheme]; + urnComponents.nid = nid; + urnComponents.nss = nss; + urnComponents.path = undefined; + if (schemeHandler) { + urnComponents = schemeHandler.parse(urnComponents, options); + } + } + else { + urnComponents.error = urnComponents.error || "URN can not be parsed."; + } + return urnComponents; + }, + serialize: function (urnComponents, options) { + const scheme = options.scheme || urnComponents.scheme || "urn"; + const nid = urnComponents.nid; + const urnScheme = `${scheme}:${options.nid || nid}`; + const schemeHandler = SCHEMES[urnScheme]; + if (schemeHandler) { + urnComponents = schemeHandler.serialize(urnComponents, options); + } + const uriComponents = urnComponents; + const nss = urnComponents.nss; + uriComponents.path = `${nid || options.nid}:${nss}`; + return uriComponents; + }, +}; +export default handler; +//# sourceMappingURL=urn.js.map \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/schemes/urn.js.map b/node_modules/uri-js/dist/esnext/schemes/urn.js.map new file mode 100644 index 00000000..ea43b0be --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/urn.js.map @@ -0,0 +1 @@ +{"version":3,"file":"urn.js","sourceRoot":"","sources":["../../../src/schemes/urn.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,OAAO,EAAE,MAAM,QAAQ,CAAC;AAW7C,MAAM,IAAI,GAAG,qCAAqC,CAAC;AACnD,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAC7C,MAAM,OAAO,GAAG,mEAAmE,CAAC;AACpF,MAAM,IAAI,GAAG,QAAQ,GAAG,YAAY,GAAG,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC;AAC7D,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AACxD,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AACjE,MAAM,SAAS,GAAG,iBAAiB,CAAC;AACpC,MAAM,YAAY,GAAG,iDAAiD,CAAC;AAEvE,UAAU;AACV,MAAM,OAAO,GAA8C;IAC1D,MAAM,EAAG,KAAK;IAEd,KAAK,EAAG,UAAU,UAAwB,EAAE,OAAkB;QAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,aAAa,GAAG,UAA2B,CAAC;QAEhD,IAAI,OAAO,EAAE;YACZ,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,IAAI,KAAK,CAAC;YAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;YACpD,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAEzC,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC;YACxB,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC;YACxB,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC;YAE/B,IAAI,aAAa,EAAE;gBAClB,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAkB,CAAC;aAC7E;SACD;aAAM;YACN,aAAa,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,IAAI,wBAAwB,CAAC;SACtE;QAED,OAAO,aAAa,CAAC;IACtB,CAAC;IAED,SAAS,EAAG,UAAU,aAA2B,EAAE,OAAkB;QACpE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,IAAI,KAAK,CAAC;QAC/D,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAC9B,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAEzC,IAAI,aAAa,EAAE;YAClB,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAkB,CAAC;SACjF;QAED,MAAM,aAAa,GAAG,aAA8B,CAAC;QACrD,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAC9B,aAAa,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QAEpD,OAAO,aAAa,CAAC;IACtB,CAAC;CACD,CAAC;AAEF,eAAe,OAAO,CAAC"} \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/schemes/ws.d.ts b/node_modules/uri-js/dist/esnext/schemes/ws.d.ts new file mode 100644 index 00000000..47f4835b --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/ws.d.ts @@ -0,0 +1,7 @@ +import { URISchemeHandler, URIComponents } from "../uri"; +export interface WSComponents extends URIComponents { + resourceName?: string; + secure?: boolean; +} +declare const handler: URISchemeHandler; +export default handler; diff --git a/node_modules/uri-js/dist/esnext/schemes/ws.js b/node_modules/uri-js/dist/esnext/schemes/ws.js new file mode 100644 index 00000000..9277f035 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/ws.js @@ -0,0 +1,41 @@ +function isSecure(wsComponents) { + return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss"; +} +//RFC 6455 +const handler = { + scheme: "ws", + domainHost: true, + parse: function (components, options) { + const wsComponents = components; + //indicate if the secure flag is set + wsComponents.secure = isSecure(wsComponents); + //construct resouce name + wsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : ''); + wsComponents.path = undefined; + wsComponents.query = undefined; + return wsComponents; + }, + serialize: function (wsComponents, options) { + //normalize the default port + if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") { + wsComponents.port = undefined; + } + //ensure scheme matches secure flag + if (typeof wsComponents.secure === 'boolean') { + wsComponents.scheme = (wsComponents.secure ? 'wss' : 'ws'); + wsComponents.secure = undefined; + } + //reconstruct path from resource name + if (wsComponents.resourceName) { + const [path, query] = wsComponents.resourceName.split('?'); + wsComponents.path = (path && path !== '/' ? path : undefined); + wsComponents.query = query; + wsComponents.resourceName = undefined; + } + //forbid fragment component + wsComponents.fragment = undefined; + return wsComponents; + } +}; +export default handler; +//# sourceMappingURL=ws.js.map \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/schemes/ws.js.map b/node_modules/uri-js/dist/esnext/schemes/ws.js.map new file mode 100644 index 00000000..186818cc --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/ws.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ws.js","sourceRoot":"","sources":["../../../src/schemes/ws.ts"],"names":[],"mappings":"AAOA,kBAAkB,YAAyB;IAC1C,OAAO,OAAO,YAAY,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;AAC7H,CAAC;AAED,UAAU;AACV,MAAM,OAAO,GAAoB;IAChC,MAAM,EAAG,IAAI;IAEb,UAAU,EAAG,IAAI;IAEjB,KAAK,EAAG,UAAU,UAAwB,EAAE,OAAkB;QAC7D,MAAM,YAAY,GAAG,UAA0B,CAAC;QAEhD,oCAAoC;QACpC,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE7C,wBAAwB;QACxB,YAAY,CAAC,YAAY,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9G,YAAY,CAAC,IAAI,GAAG,SAAS,CAAC;QAC9B,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC;QAE/B,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,SAAS,EAAG,UAAU,YAAyB,EAAE,OAAkB;QAClE,4BAA4B;QAC5B,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,IAAI,KAAK,EAAE,EAAE;YAC1F,YAAY,CAAC,IAAI,GAAG,SAAS,CAAC;SAC9B;QAED,mCAAmC;QACnC,IAAI,OAAO,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7C,YAAY,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3D,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC;SAChC;QAED,qCAAqC;QACrC,IAAI,YAAY,CAAC,YAAY,EAAE;YAC9B,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3D,YAAY,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9D,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;YAC3B,YAAY,CAAC,YAAY,GAAG,SAAS,CAAC;SACtC;QAED,2BAA2B;QAC3B,YAAY,CAAC,QAAQ,GAAG,SAAS,CAAC;QAElC,OAAO,YAAY,CAAC;IACrB,CAAC;CACD,CAAC;AAEF,eAAe,OAAO,CAAC"} \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/schemes/wss.d.ts b/node_modules/uri-js/dist/esnext/schemes/wss.d.ts new file mode 100644 index 00000000..fe5b2f35 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/wss.d.ts @@ -0,0 +1,3 @@ +import { URISchemeHandler } from "../uri"; +declare const handler: URISchemeHandler; +export default handler; diff --git a/node_modules/uri-js/dist/esnext/schemes/wss.js b/node_modules/uri-js/dist/esnext/schemes/wss.js new file mode 100644 index 00000000..d1e22ccd --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/wss.js @@ -0,0 +1,9 @@ +import ws from "./ws"; +const handler = { + scheme: "wss", + domainHost: ws.domainHost, + parse: ws.parse, + serialize: ws.serialize +}; +export default handler; +//# sourceMappingURL=wss.js.map \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/schemes/wss.js.map b/node_modules/uri-js/dist/esnext/schemes/wss.js.map new file mode 100644 index 00000000..e19006d9 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/schemes/wss.js.map @@ -0,0 +1 @@ +{"version":3,"file":"wss.js","sourceRoot":"","sources":["../../../src/schemes/wss.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,MAAM,CAAC;AAEtB,MAAM,OAAO,GAAoB;IAChC,MAAM,EAAG,KAAK;IACd,UAAU,EAAG,EAAE,CAAC,UAAU;IAC1B,KAAK,EAAG,EAAE,CAAC,KAAK;IAChB,SAAS,EAAG,EAAE,CAAC,SAAS;CACxB,CAAA;AAED,eAAe,OAAO,CAAC"} \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/uri.d.ts b/node_modules/uri-js/dist/esnext/uri.d.ts new file mode 100644 index 00000000..da51e235 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/uri.d.ts @@ -0,0 +1,59 @@ +export interface URIComponents { + scheme?: string; + userinfo?: string; + host?: string; + port?: number | string; + path?: string; + query?: string; + fragment?: string; + reference?: string; + error?: string; +} +export interface URIOptions { + scheme?: string; + reference?: string; + tolerant?: boolean; + absolutePath?: boolean; + iri?: boolean; + unicodeSupport?: boolean; + domainHost?: boolean; +} +export interface URISchemeHandler { + scheme: string; + parse(components: ParentComponents, options: Options): Components; + serialize(components: Components, options: Options): ParentComponents; + unicodeSupport?: boolean; + domainHost?: boolean; + absolutePath?: boolean; +} +export interface URIRegExps { + NOT_SCHEME: RegExp; + NOT_USERINFO: RegExp; + NOT_HOST: RegExp; + NOT_PATH: RegExp; + NOT_PATH_NOSCHEME: RegExp; + NOT_QUERY: RegExp; + NOT_FRAGMENT: RegExp; + ESCAPE: RegExp; + UNRESERVED: RegExp; + OTHER_CHARS: RegExp; + PCT_ENCODED: RegExp; + IPV4ADDRESS: RegExp; + IPV6ADDRESS: RegExp; +} +export declare const SCHEMES: { + [scheme: string]: URISchemeHandler; +}; +export declare function pctEncChar(chr: string): string; +export declare function pctDecChars(str: string): string; +export declare function parse(uriString: string, options?: URIOptions): URIComponents; +export declare function removeDotSegments(input: string): string; +export declare function serialize(components: URIComponents, options?: URIOptions): string; +export declare function resolveComponents(base: URIComponents, relative: URIComponents, options?: URIOptions, skipNormalization?: boolean): URIComponents; +export declare function resolve(baseURI: string, relativeURI: string, options?: URIOptions): string; +export declare function normalize(uri: string, options?: URIOptions): string; +export declare function normalize(uri: URIComponents, options?: URIOptions): URIComponents; +export declare function equal(uriA: string, uriB: string, options?: URIOptions): boolean; +export declare function equal(uriA: URIComponents, uriB: URIComponents, options?: URIOptions): boolean; +export declare function escapeComponent(str: string, options?: URIOptions): string; +export declare function unescapeComponent(str: string, options?: URIOptions): string; diff --git a/node_modules/uri-js/dist/esnext/uri.js b/node_modules/uri-js/dist/esnext/uri.js new file mode 100644 index 00000000..659ce265 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/uri.js @@ -0,0 +1,480 @@ +/** + * URI.js + * + * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript. + * @author Gary Court + * @see http://github.com/garycourt/uri-js + */ +/** + * Copyright 2011 Gary Court. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of Gary Court. + */ +import URI_PROTOCOL from "./regexps-uri"; +import IRI_PROTOCOL from "./regexps-iri"; +import punycode from "punycode"; +import { toUpperCase, typeOf, assign } from "./util"; +export const SCHEMES = {}; +export function pctEncChar(chr) { + const c = chr.charCodeAt(0); + let e; + if (c < 16) + e = "%0" + c.toString(16).toUpperCase(); + else if (c < 128) + e = "%" + c.toString(16).toUpperCase(); + else if (c < 2048) + e = "%" + ((c >> 6) | 192).toString(16).toUpperCase() + "%" + ((c & 63) | 128).toString(16).toUpperCase(); + else + e = "%" + ((c >> 12) | 224).toString(16).toUpperCase() + "%" + (((c >> 6) & 63) | 128).toString(16).toUpperCase() + "%" + ((c & 63) | 128).toString(16).toUpperCase(); + return e; +} +export function pctDecChars(str) { + let newStr = ""; + let i = 0; + const il = str.length; + while (i < il) { + const c = parseInt(str.substr(i + 1, 2), 16); + if (c < 128) { + newStr += String.fromCharCode(c); + i += 3; + } + else if (c >= 194 && c < 224) { + if ((il - i) >= 6) { + const c2 = parseInt(str.substr(i + 4, 2), 16); + newStr += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); + } + else { + newStr += str.substr(i, 6); + } + i += 6; + } + else if (c >= 224) { + if ((il - i) >= 9) { + const c2 = parseInt(str.substr(i + 4, 2), 16); + const c3 = parseInt(str.substr(i + 7, 2), 16); + newStr += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); + } + else { + newStr += str.substr(i, 9); + } + i += 9; + } + else { + newStr += str.substr(i, 3); + i += 3; + } + } + return newStr; +} +function _normalizeComponentEncoding(components, protocol) { + function decodeUnreserved(str) { + const decStr = pctDecChars(str); + return (!decStr.match(protocol.UNRESERVED) ? str : decStr); + } + if (components.scheme) + components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, ""); + if (components.userinfo !== undefined) + components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.host !== undefined) + components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.path !== undefined) + components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace((components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME), pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.query !== undefined) + components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.fragment !== undefined) + components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + return components; +} +; +function _stripLeadingZeros(str) { + return str.replace(/^0*(.*)/, "$1") || "0"; +} +function _normalizeIPv4(host, protocol) { + const matches = host.match(protocol.IPV4ADDRESS) || []; + const [, address] = matches; + if (address) { + return address.split(".").map(_stripLeadingZeros).join("."); + } + else { + return host; + } +} +function _normalizeIPv6(host, protocol) { + const matches = host.match(protocol.IPV6ADDRESS) || []; + const [, address, zone] = matches; + if (address) { + const [last, first] = address.toLowerCase().split('::').reverse(); + const firstFields = first ? first.split(":").map(_stripLeadingZeros) : []; + const lastFields = last.split(":").map(_stripLeadingZeros); + const isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]); + const fieldCount = isLastFieldIPv4Address ? 7 : 8; + const lastFieldsStart = lastFields.length - fieldCount; + const fields = Array(fieldCount); + for (let x = 0; x < fieldCount; ++x) { + fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || ''; + } + if (isLastFieldIPv4Address) { + fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol); + } + const allZeroFields = fields.reduce((acc, field, index) => { + if (!field || field === "0") { + const lastLongest = acc[acc.length - 1]; + if (lastLongest && lastLongest.index + lastLongest.length === index) { + lastLongest.length++; + } + else { + acc.push({ index, length: 1 }); + } + } + return acc; + }, []); + const longestZeroFields = allZeroFields.sort((a, b) => b.length - a.length)[0]; + let newHost; + if (longestZeroFields && longestZeroFields.length > 1) { + const newFirst = fields.slice(0, longestZeroFields.index); + const newLast = fields.slice(longestZeroFields.index + longestZeroFields.length); + newHost = newFirst.join(":") + "::" + newLast.join(":"); + } + else { + newHost = fields.join(":"); + } + if (zone) { + newHost += "%" + zone; + } + return newHost; + } + else { + return host; + } +} +const URI_PARSE = /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i; +const NO_MATCH_IS_UNDEFINED = ("").match(/(){0}/)[1] === undefined; +export function parse(uriString, options = {}) { + const components = {}; + const protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL); + if (options.reference === "suffix") + uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString; + const matches = uriString.match(URI_PARSE); + if (matches) { + if (NO_MATCH_IS_UNDEFINED) { + //store each component + components.scheme = matches[1]; + components.userinfo = matches[3]; + components.host = matches[4]; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = matches[7]; + components.fragment = matches[8]; + //fix port number + if (isNaN(components.port)) { + components.port = matches[5]; + } + } + else { //IE FIX for improper RegExp matching + //store each component + components.scheme = matches[1] || undefined; + components.userinfo = (uriString.indexOf("@") !== -1 ? matches[3] : undefined); + components.host = (uriString.indexOf("//") !== -1 ? matches[4] : undefined); + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = (uriString.indexOf("?") !== -1 ? matches[7] : undefined); + components.fragment = (uriString.indexOf("#") !== -1 ? matches[8] : undefined); + //fix port number + if (isNaN(components.port)) { + components.port = (uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : undefined); + } + } + if (components.host) { + //normalize IP hosts + components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol); + } + //determine reference type + if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) { + components.reference = "same-document"; + } + else if (components.scheme === undefined) { + components.reference = "relative"; + } + else if (components.fragment === undefined) { + components.reference = "absolute"; + } + else { + components.reference = "uri"; + } + //check for reference errors + if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) { + components.error = components.error || "URI is not a " + options.reference + " reference."; + } + //find scheme handler + const schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //check if scheme can't handle IRIs + if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) { + //if host component is a domain name + if (components.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost))) { + //convert Unicode IDN -> ASCII IDN + try { + components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()); + } + catch (e) { + components.error = components.error || "Host's domain name can not be converted to ASCII via punycode: " + e; + } + } + //convert IRI -> URI + _normalizeComponentEncoding(components, URI_PROTOCOL); + } + else { + //normalize encodings + _normalizeComponentEncoding(components, protocol); + } + //perform scheme specific parsing + if (schemeHandler && schemeHandler.parse) { + schemeHandler.parse(components, options); + } + } + else { + components.error = components.error || "URI can not be parsed."; + } + return components; +} +; +function _recomposeAuthority(components, options) { + const protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL); + const uriTokens = []; + if (components.userinfo !== undefined) { + uriTokens.push(components.userinfo); + uriTokens.push("@"); + } + if (components.host !== undefined) { + //normalize IP hosts, add brackets and escape zone separator for IPv6 + uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, (_, $1, $2) => "[" + $1 + ($2 ? "%25" + $2 : "") + "]")); + } + if (typeof components.port === "number" || typeof components.port === "string") { + uriTokens.push(":"); + uriTokens.push(String(components.port)); + } + return uriTokens.length ? uriTokens.join("") : undefined; +} +; +const RDS1 = /^\.\.?\//; +const RDS2 = /^\/\.(\/|$)/; +const RDS3 = /^\/\.\.(\/|$)/; +const RDS4 = /^\.\.?$/; +const RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/; +export function removeDotSegments(input) { + const output = []; + while (input.length) { + if (input.match(RDS1)) { + input = input.replace(RDS1, ""); + } + else if (input.match(RDS2)) { + input = input.replace(RDS2, "/"); + } + else if (input.match(RDS3)) { + input = input.replace(RDS3, "/"); + output.pop(); + } + else if (input === "." || input === "..") { + input = ""; + } + else { + const im = input.match(RDS5); + if (im) { + const s = im[0]; + input = input.slice(s.length); + output.push(s); + } + else { + throw new Error("Unexpected dot segment condition"); + } + } + } + return output.join(""); +} +; +export function serialize(components, options = {}) { + const protocol = (options.iri ? IRI_PROTOCOL : URI_PROTOCOL); + const uriTokens = []; + //find scheme handler + const schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //perform scheme specific serialization + if (schemeHandler && schemeHandler.serialize) + schemeHandler.serialize(components, options); + if (components.host) { + //if host component is an IPv6 address + if (protocol.IPV6ADDRESS.test(components.host)) { + //TODO: normalize IPv6 address as per RFC 5952 + } + //if host component is a domain name + else if (options.domainHost || (schemeHandler && schemeHandler.domainHost)) { + //convert IDN via punycode + try { + components.host = (!options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host)); + } + catch (e) { + components.error = components.error || "Host's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + } + } + //normalize encoding + _normalizeComponentEncoding(components, protocol); + if (options.reference !== "suffix" && components.scheme) { + uriTokens.push(components.scheme); + uriTokens.push(":"); + } + const authority = _recomposeAuthority(components, options); + if (authority !== undefined) { + if (options.reference !== "suffix") { + uriTokens.push("//"); + } + uriTokens.push(authority); + if (components.path && components.path.charAt(0) !== "/") { + uriTokens.push("/"); + } + } + if (components.path !== undefined) { + let s = components.path; + if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) { + s = removeDotSegments(s); + } + if (authority === undefined) { + s = s.replace(/^\/\//, "/%2F"); //don't allow the path to start with "//" + } + uriTokens.push(s); + } + if (components.query !== undefined) { + uriTokens.push("?"); + uriTokens.push(components.query); + } + if (components.fragment !== undefined) { + uriTokens.push("#"); + uriTokens.push(components.fragment); + } + return uriTokens.join(""); //merge tokens into a string +} +; +export function resolveComponents(base, relative, options = {}, skipNormalization) { + const target = {}; + if (!skipNormalization) { + base = parse(serialize(base, options), options); //normalize base components + relative = parse(serialize(relative, options), options); //normalize relative components + } + options = options || {}; + if (!options.tolerant && relative.scheme) { + target.scheme = relative.scheme; + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } + else { + if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) { + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } + else { + if (!relative.path) { + target.path = base.path; + if (relative.query !== undefined) { + target.query = relative.query; + } + else { + target.query = base.query; + } + } + else { + if (relative.path.charAt(0) === "/") { + target.path = removeDotSegments(relative.path); + } + else { + if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) { + target.path = "/" + relative.path; + } + else if (!base.path) { + target.path = relative.path; + } + else { + target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path; + } + target.path = removeDotSegments(target.path); + } + target.query = relative.query; + } + //target.authority = base.authority; + target.userinfo = base.userinfo; + target.host = base.host; + target.port = base.port; + } + target.scheme = base.scheme; + } + target.fragment = relative.fragment; + return target; +} +; +export function resolve(baseURI, relativeURI, options) { + const schemelessOptions = assign({ scheme: 'null' }, options); + return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions); +} +; +export function normalize(uri, options) { + if (typeof uri === "string") { + uri = serialize(parse(uri, options), options); + } + else if (typeOf(uri) === "object") { + uri = parse(serialize(uri, options), options); + } + return uri; +} +; +export function equal(uriA, uriB, options) { + if (typeof uriA === "string") { + uriA = serialize(parse(uriA, options), options); + } + else if (typeOf(uriA) === "object") { + uriA = serialize(uriA, options); + } + if (typeof uriB === "string") { + uriB = serialize(parse(uriB, options), options); + } + else if (typeOf(uriB) === "object") { + uriB = serialize(uriB, options); + } + return uriA === uriB; +} +; +export function escapeComponent(str, options) { + return str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE), pctEncChar); +} +; +export function unescapeComponent(str, options) { + return str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED), pctDecChars); +} +; +//# sourceMappingURL=uri.js.map \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/uri.js.map b/node_modules/uri-js/dist/esnext/uri.js.map new file mode 100644 index 00000000..2e72ab18 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/uri.js.map @@ -0,0 +1 @@ +{"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/uri.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAiDrD,MAAM,CAAC,MAAM,OAAO,GAAsC,EAAE,CAAC;AAE7D,MAAM,qBAAqB,GAAU;IACpC,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAQ,CAAC;IAEb,IAAI,CAAC,GAAG,EAAE;QAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;SAC/C,IAAI,CAAC,GAAG,GAAG;QAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;SACpD,IAAI,CAAC,GAAG,IAAI;QAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;;QACxH,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE3K,OAAO,CAAC,CAAC;AACV,CAAC;AAED,MAAM,sBAAsB,GAAU;IACrC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAEtB,OAAO,CAAC,GAAG,EAAE,EAAE;QACd,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE7C,IAAI,CAAC,GAAG,GAAG,EAAE;YACZ,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC,IAAI,CAAC,CAAC;SACP;aACI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;YAC7B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE;gBAClB,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;aAC3D;iBAAM;gBACN,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3B;YACD,CAAC,IAAI,CAAC,CAAC;SACP;aACI,IAAI,CAAC,IAAI,GAAG,EAAE;YAClB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE;gBAClB,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9C,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;aAC/E;iBAAM;gBACN,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3B;YACD,CAAC,IAAI,CAAC,CAAC;SACP;aACI;YACJ,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3B,CAAC,IAAI,CAAC,CAAC;SACP;KACD;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,qCAAqC,UAAwB,EAAE,QAAmB;IACjF,0BAA0B,GAAU;QACnC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,UAAU,CAAC,MAAM;QAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACpK,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS;QAAE,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC/N,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS;QAAE,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC7N,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS;QAAE,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAClQ,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS;QAAE,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACnN,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS;QAAE,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAE/N,OAAO,UAAU,CAAC;AACnB,CAAC;AAAA,CAAC;AAEF,4BAA4B,GAAU;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC;AAC5C,CAAC;AAED,wBAAwB,IAAW,EAAE,QAAmB;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IAE5B,IAAI,OAAO,EAAE;QACZ,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC5D;SAAM;QACN,OAAO,IAAI,CAAC;KACZ;AACF,CAAC;AAED,wBAAwB,IAAW,EAAE,QAAmB;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACvD,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC;IAElC,IAAI,OAAO,EAAE;QACZ,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAClE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC3D,MAAM,sBAAsB,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5F,MAAM,UAAU,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;QACvD,MAAM,MAAM,GAAG,KAAK,CAAS,UAAU,CAAC,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE;YACpC,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;SACpE;QAED,IAAI,sBAAsB,EAAE;YAC3B,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC1E;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAsC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9F,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,EAAE;gBAC5B,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACxC,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,KAAK,KAAK,EAAE;oBACpE,WAAW,CAAC,MAAM,EAAE,CAAC;iBACrB;qBAAM;oBACN,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAG,CAAC,EAAE,CAAC,CAAC;iBAChC;aACD;YACD,OAAO,GAAG,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/E,IAAI,OAAc,CAAC;QACnB,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAE;YAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACjF,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxD;aAAM;YACN,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC3B;QAED,IAAI,IAAI,EAAE;YACT,OAAO,IAAI,GAAG,GAAG,IAAI,CAAC;SACtB;QAED,OAAO,OAAO,CAAC;KACf;SAAM;QACN,OAAO,IAAI,CAAC;KACZ;AACF,CAAC;AAED,MAAM,SAAS,GAAG,iIAAiI,CAAC;AACpJ,MAAM,qBAAqB,GAAsB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;AAEvF,MAAM,gBAAgB,SAAgB,EAAE,UAAqB,EAAE;IAC9D,MAAM,UAAU,GAAiB,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAEvE,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ;QAAE,SAAS,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAEhH,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE3C,IAAI,OAAO,EAAE;QACZ,IAAI,qBAAqB,EAAE;YAC1B,sBAAsB;YACtB,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACjC,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9B,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEjC,iBAAiB;YACjB,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBAC3B,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;aAC7B;SACD;aAAM,EAAG,qCAAqC;YAC9C,sBAAsB;YACtB,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;YAC5C,UAAU,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC/E,UAAU,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC5E,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,UAAU,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC5E,UAAU,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAE/E,iBAAiB;YACjB,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBAC3B,UAAU,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;aAC9F;SACD;QAED,IAAI,UAAU,CAAC,IAAI,EAAE;YACpB,oBAAoB;YACpB,UAAU,CAAC,IAAI,GAAG,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SACtF;QAED,0BAA0B;QAC1B,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE;YACjM,UAAU,CAAC,SAAS,GAAG,eAAe,CAAC;SACvC;aAAM,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE;YAC3C,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC;SAClC;aAAM,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC7C,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC;SAClC;aAAM;YACN,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC;SAC7B;QAED,4BAA4B;QAC5B,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS,EAAE;YACtG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,eAAe,GAAG,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC;SAC3F;QAED,qBAAqB;QACrB,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAEzF,mCAAmC;QACnC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE;YACjF,oCAAoC;YACpC,IAAI,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC,EAAE;gBAC3F,kCAAkC;gBAClC,IAAI;oBACH,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;iBAC7G;gBAAC,OAAO,CAAC,EAAE;oBACX,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,iEAAiE,GAAG,CAAC,CAAC;iBAC7G;aACD;YACD,oBAAoB;YACpB,2BAA2B,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;SACtD;aAAM;YACN,qBAAqB;YACrB,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;SAClD;QAED,iCAAiC;QACjC,IAAI,aAAa,IAAI,aAAa,CAAC,KAAK,EAAE;YACzC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SACzC;KACD;SAAM;QACN,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,wBAAwB,CAAC;KAChE;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAAA,CAAC;AAEF,6BAA6B,UAAwB,EAAE,OAAkB;IACxE,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,SAAS,GAAiB,EAAE,CAAC;IAEnC,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE;QACtC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACpB;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE;QAClC,qEAAqE;QACrE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;KAClL;IAED,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC/E,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;KACxC;IAED,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC;AAAA,CAAC;AAEF,MAAM,IAAI,GAAG,UAAU,CAAC;AACxB,MAAM,IAAI,GAAG,aAAa,CAAC;AAC3B,MAAM,IAAI,GAAG,eAAe,CAAC;AAC7B,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,MAAM,IAAI,GAAG,wBAAwB,CAAC;AAEtC,MAAM,4BAA4B,KAAY;IAC7C,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,OAAO,KAAK,CAAC,MAAM,EAAE;QACpB,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACtB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SAChC;aAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC7B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SACjC;aAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC7B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACjC,MAAM,CAAC,GAAG,EAAE,CAAC;SACb;aAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE;YAC3C,KAAK,GAAG,EAAE,CAAC;SACX;aAAM;YACN,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,EAAE,EAAE;gBACP,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACf;iBAAM;gBACN,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACpD;SACD;KACD;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAAA,CAAC;AAEF,MAAM,oBAAoB,UAAwB,EAAE,UAAqB,EAAE;IAC1E,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAiB,EAAE,CAAC;IAEnC,qBAAqB;IACrB,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAEzF,uCAAuC;IACvC,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS;QAAE,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAE3F,IAAI,UAAU,CAAC,IAAI,EAAE;QACpB,sCAAsC;QACtC,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC/C,8CAA8C;SAC9C;QAED,oCAAoC;aAC/B,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE;YAC3E,0BAA0B;YAC1B,IAAI;gBACH,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;aACpK;YAAC,OAAO,CAAC,EAAE;gBACX,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,6CAA6C,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,iBAAiB,GAAG,CAAC,CAAC;aACpJ;SACD;KACD;IAED,oBAAoB;IACpB,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAElD,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE;QACxD,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACpB;IAED,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3D,IAAI,SAAS,KAAK,SAAS,EAAE;QAC5B,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YACnC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrB;QAED,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE1B,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACzD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACpB;KACD;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE;QAClC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;QAExB,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE;YAC7E,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;SACzB;QAED,IAAI,SAAS,KAAK,SAAS,EAAE;YAC5B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAE,yCAAyC;SAC1E;QAED,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAClB;IAED,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE;QACnC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACjC;IAED,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE;QACtC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;KACpC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAE,4BAA4B;AACzD,CAAC;AAAA,CAAC;AAEF,MAAM,4BAA4B,IAAkB,EAAE,QAAsB,EAAE,UAAqB,EAAE,EAAE,iBAA0B;IAChI,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,IAAI,CAAC,iBAAiB,EAAE;QACvB,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAE,2BAA2B;QAC7E,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAE,+BAA+B;KACzF;IACD,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAExB,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;QACzC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAChC,wCAAwC;QACxC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACpC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC5B,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC5B,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;KAC9B;SAAM;QACN,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE;YAClG,wCAAwC;YACxC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACpC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC5B,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC5B,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;SAC9B;aAAM;YACN,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACnB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACxB,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE;oBACjC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;iBAC9B;qBAAM;oBACN,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;iBAC1B;aACD;iBAAM;gBACN,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;oBACpC,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBAC/C;qBAAM;oBACN,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;wBACtG,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;qBAClC;yBAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;wBACtB,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;qBAC5B;yBAAM;wBACN,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;qBACjF;oBACD,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBAC7C;gBACD,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;aAC9B;YACD,oCAAoC;YACpC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACxB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SACxB;QACD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;KAC5B;IAED,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAEpC,OAAO,MAAM,CAAC;AACf,CAAC;AAAA,CAAC;AAEF,MAAM,kBAAkB,OAAc,EAAE,WAAkB,EAAE,OAAmB;IAC9E,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,MAAM,EAAG,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAC3J,CAAC;AAAA,CAAC;AAIF,MAAM,oBAAoB,GAAO,EAAE,OAAmB;IACrD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC5B,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;KAC9C;SAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;QACpC,GAAG,GAAG,KAAK,CAAC,SAAS,CAAgB,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;KAC7D;IAED,OAAO,GAAG,CAAC;AACZ,CAAC;AAAA,CAAC;AAIF,MAAM,gBAAgB,IAAQ,EAAE,IAAQ,EAAE,OAAmB;IAC5D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC7B,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;KAChD;SAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;QACrC,IAAI,GAAG,SAAS,CAAgB,IAAI,EAAE,OAAO,CAAC,CAAC;KAC/C;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC7B,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;KAChD;SAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;QACrC,IAAI,GAAG,SAAS,CAAgB,IAAI,EAAE,OAAO,CAAC,CAAC;KAC/C;IAED,OAAO,IAAI,KAAK,IAAI,CAAC;AACtB,CAAC;AAAA,CAAC;AAEF,MAAM,0BAA0B,GAAU,EAAE,OAAmB;IAC9D,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;AAC1H,CAAC;AAAA,CAAC;AAEF,MAAM,4BAA4B,GAAU,EAAE,OAAmB;IAChE,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;AACrI,CAAC;AAAA,CAAC"} \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/util.d.ts b/node_modules/uri-js/dist/esnext/util.d.ts new file mode 100644 index 00000000..7c128575 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/util.d.ts @@ -0,0 +1,6 @@ +export declare function merge(...sets: Array): string; +export declare function subexp(str: string): string; +export declare function typeOf(o: any): string; +export declare function toUpperCase(str: string): string; +export declare function toArray(obj: any): Array; +export declare function assign(target: object, source: any): any; diff --git a/node_modules/uri-js/dist/esnext/util.js b/node_modules/uri-js/dist/esnext/util.js new file mode 100644 index 00000000..072711ef --- /dev/null +++ b/node_modules/uri-js/dist/esnext/util.js @@ -0,0 +1,36 @@ +export function merge(...sets) { + if (sets.length > 1) { + sets[0] = sets[0].slice(0, -1); + const xl = sets.length - 1; + for (let x = 1; x < xl; ++x) { + sets[x] = sets[x].slice(1, -1); + } + sets[xl] = sets[xl].slice(1); + return sets.join(''); + } + else { + return sets[0]; + } +} +export function subexp(str) { + return "(?:" + str + ")"; +} +export function typeOf(o) { + return o === undefined ? "undefined" : (o === null ? "null" : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase()); +} +export function toUpperCase(str) { + return str.toUpperCase(); +} +export function toArray(obj) { + return obj !== undefined && obj !== null ? (obj instanceof Array ? obj : (typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj))) : []; +} +export function assign(target, source) { + const obj = target; + if (source) { + for (const key in source) { + obj[key] = source[key]; + } + } + return obj; +} +//# sourceMappingURL=util.js.map \ No newline at end of file diff --git a/node_modules/uri-js/dist/esnext/util.js.map b/node_modules/uri-js/dist/esnext/util.js.map new file mode 100644 index 00000000..05d9df02 --- /dev/null +++ b/node_modules/uri-js/dist/esnext/util.js.map @@ -0,0 +1 @@ +{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,IAAkB;IAC1C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;YAC5B,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC/B;QACD,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACrB;SAAM;QACN,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;KACf;AACF,CAAC;AAED,MAAM,iBAAiB,GAAU;IAChC,OAAO,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;AAC1B,CAAC;AAED,MAAM,iBAAiB,CAAK;IAC3B,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACpJ,CAAC;AAED,MAAM,sBAAsB,GAAU;IACrC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,kBAAkB,GAAO;IAC9B,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACvM,CAAC;AAGD,MAAM,iBAAiB,MAAc,EAAE,MAAW;IACjD,MAAM,GAAG,GAAG,MAAa,CAAC;IAC1B,IAAI,MAAM,EAAE;QACX,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACzB,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;SACvB;KACD;IACD,OAAO,GAAG,CAAC;AACZ,CAAC"} \ No newline at end of file diff --git a/node_modules/uri-js/package.json b/node_modules/uri-js/package.json new file mode 100644 index 00000000..b5e6da3a --- /dev/null +++ b/node_modules/uri-js/package.json @@ -0,0 +1,105 @@ +{ + "_from": "uri-js@^4.2.2", + "_id": "uri-js@4.4.0", + "_inBundle": false, + "_integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "_location": "/uri-js", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "uri-js@^4.2.2", + "name": "uri-js", + "escapedName": "uri-js", + "rawSpec": "^4.2.2", + "saveSpec": null, + "fetchSpec": "^4.2.2" + }, + "_requiredBy": [ + "/ajv" + ], + "_resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "_shasum": "aa714261de793e8a82347a7bcc9ce74e86f28602", + "_spec": "uri-js@^4.2.2", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\ajv", + "author": { + "name": "Gary Court", + "email": "gary.court@gmail.com" + }, + "bugs": { + "url": "https://github.com/garycourt/uri-js/issues" + }, + "bundleDependencies": false, + "dependencies": { + "punycode": "^2.1.0" + }, + "deprecated": false, + "description": "An RFC 3986/3987 compliant, scheme extendable URI/IRI parsing/validating/resolving library for JavaScript.", + "devDependencies": { + "babel-cli": "^6.26.0", + "babel-plugin-external-helpers": "^6.22.0", + "babel-preset-latest": "^6.24.1", + "mocha": "^3.2.0", + "mocha-qunit-ui": "^0.1.3", + "rollup": "^0.41.6", + "rollup-plugin-babel": "^2.7.1", + "rollup-plugin-node-resolve": "^2.0.0", + "sorcery": "^0.10.0", + "typescript": "^2.8.1", + "uglify-js": "^2.8.14" + }, + "directories": { + "test": "tests" + }, + "files": [ + "dist", + "package.json", + "yarn.lock", + "README.md", + "CHANGELOG", + "LICENSE" + ], + "homepage": "https://github.com/garycourt/uri-js", + "keywords": [ + "URI", + "IRI", + "IDN", + "URN", + "UUID", + "HTTP", + "HTTPS", + "WS", + "WSS", + "MAILTO", + "RFC3986", + "RFC3987", + "RFC5891", + "RFC2616", + "RFC2818", + "RFC2141", + "RFC4122", + "RFC4291", + "RFC5952", + "RFC6068", + "RFC6455", + "RFC6874" + ], + "license": "BSD-2-Clause", + "main": "dist/es5/uri.all.js", + "name": "uri-js", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/garycourt/uri-js.git" + }, + "scripts": { + "build": "npm run build:esnext && npm run build:es5 && npm run build:es5:min", + "build:es5": "rollup -c && cp dist/esnext/uri.d.ts dist/es5/uri.all.d.ts && npm run build:es5:fix-sourcemap", + "build:es5:fix-sourcemap": "sorcery -i dist/es5/uri.all.js", + "build:es5:min": "uglifyjs dist/es5/uri.all.js --support-ie8 --output dist/es5/uri.all.min.js --in-source-map dist/es5/uri.all.js.map --source-map uri.all.min.js.map --comments --compress --mangle --pure-funcs merge subexp && mv uri.all.min.js.map dist/es5/ && cp dist/es5/uri.all.d.ts dist/es5/uri.all.min.d.ts", + "build:esnext": "tsc", + "clean": "rm -rf dist", + "test": "mocha -u mocha-qunit-ui dist/es5/uri.all.js tests/tests.js" + }, + "types": "dist/es5/uri.all.d.ts", + "version": "4.4.0" +} diff --git a/node_modules/uri-js/yarn.lock b/node_modules/uri-js/yarn.lock new file mode 100644 index 00000000..19613ae7 --- /dev/null +++ b/node_modules/uri-js/yarn.lock @@ -0,0 +1,1923 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +ajv@^4.9.1: + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +anymatch@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + dependencies: + micromatch "^2.1.5" + normalize-path "^2.0.0" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + +are-we-there-yet@~1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + +babel-cli@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" + dependencies: + babel-core "^6.26.0" + babel-polyfill "^6.26.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + commander "^2.11.0" + convert-source-map "^1.5.0" + fs-readdir-recursive "^1.0.0" + glob "^7.1.2" + lodash "^4.17.4" + output-file-sync "^1.1.2" + path-is-absolute "^1.0.1" + slash "^1.0.0" + source-map "^0.5.6" + v8flags "^2.1.1" + optionalDependencies: + chokidar "^1.6.1" + +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@6, babel-core@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.0" + debug "^2.6.8" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.7" + slash "^1.0.0" + source-map "^0.5.6" + +babel-generator@^6.26.0: + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-external-helpers@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz#2285f48b02bd5dede85175caf8c62e86adccefa1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + +babel-plugin-transform-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.24.1, babel-plugin-transform-es2015-classes@^6.9.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-regenerator@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-polyfill@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" + dependencies: + babel-runtime "^6.26.0" + core-js "^2.5.0" + regenerator-runtime "^0.10.5" + +babel-preset-es2015@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.24.1" + babel-plugin-transform-es2015-classes "^6.24.1" + babel-plugin-transform-es2015-computed-properties "^6.24.1" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.24.1" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.24.1" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-plugin-transform-es2015-modules-systemjs "^6.24.1" + babel-plugin-transform-es2015-modules-umd "^6.24.1" + babel-plugin-transform-es2015-object-super "^6.24.1" + babel-plugin-transform-es2015-parameters "^6.24.1" + babel-plugin-transform-es2015-shorthand-properties "^6.24.1" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.24.1" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.24.1" + babel-plugin-transform-regenerator "^6.24.1" + +babel-preset-es2016@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2016/-/babel-preset-es2016-6.24.1.tgz#f900bf93e2ebc0d276df9b8ab59724ebfd959f8b" + dependencies: + babel-plugin-transform-exponentiation-operator "^6.24.1" + +babel-preset-es2017@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2017/-/babel-preset-es2017-6.24.1.tgz#597beadfb9f7f208bcfd8a12e9b2b29b8b2f14d1" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.24.1" + +babel-preset-latest@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-latest/-/babel-preset-latest-6.24.1.tgz#677de069154a7485c2d25c577c02f624b85b85e8" + dependencies: + babel-preset-es2015 "^6.24.1" + babel-preset-es2016 "^6.24.1" + babel-preset-es2017 "^6.24.1" + +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +bcrypt-pbkdf@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + dependencies: + tweetnacl "^0.14.3" + +binary-extensions@^1.0.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +browser-resolve@^1.11.0: + version "1.11.2" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" + dependencies: + resolve "1.1.7" + +browser-stdout@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" + +buffer-crc32@^0.2.5: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + +builtin-modules@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chokidar@^1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" + dependencies: + delayed-stream "~1.0.0" + +commander@2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +commander@^2.11.0: + version "2.15.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +convert-source-map@^1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" + +core-js@^2.4.0, core-js@^2.5.0: + version "2.5.4" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.4.tgz#f2c8bf181f2a80b92f360121429ce63a2f0aeae0" + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +debug@2.6.8: + version "2.6.8" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" + dependencies: + ms "2.0.0" + +debug@^2.2.0, debug@^2.6.8: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +decamelize@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +deep-extend@~0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + +diff@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +es6-promise@^3.1.2: + version "3.3.1" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +estree-walker@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +extend@~3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +for-in@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +fs-readdir-recursive@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.39" + +fstream-ignore@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob@7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.1.3: + version "7.1.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + +graceful-fs@^4.1.2: + version "4.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + +graceful-fs@^4.1.3, graceful-fs@^4.1.4: + version "4.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +growl@1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" + +har-schema@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + +har-validator@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + dependencies: + ajv "^4.9.1" + har-schema "^1.0.5" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +hawk@3.1.3, hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +he@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + +ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + +invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + dependencies: + loose-envify "^1.0.0" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +js-tokens@^3.0.0, js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json3@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +lodash._baseassign@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" + dependencies: + lodash._basecopy "^3.0.0" + lodash.keys "^3.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._basecreate@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash.create@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" + dependencies: + lodash._baseassign "^3.0.0" + lodash._basecreate "^3.0.0" + lodash._isiterateecall "^3.0.0" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash@^4.17.4: + version "4.17.19" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + +micromatch@^2.1.5: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + +mime-types@^2.1.12, mime-types@~2.1.7: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + dependencies: + mime-db "~1.33.0" + +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mocha-qunit-ui@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/mocha-qunit-ui/-/mocha-qunit-ui-0.1.3.tgz#e3e1ff1dac33222b10cef681efd7f82664141ea9" + +mocha@^3.2.0: + version "3.5.3" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.5.3.tgz#1e0480fe36d2da5858d1eb6acc38418b26eaa20d" + dependencies: + browser-stdout "1.3.0" + commander "2.9.0" + debug "2.6.8" + diff "3.2.0" + escape-string-regexp "1.0.5" + glob "7.1.1" + growl "1.9.2" + he "1.1.1" + json3 "3.3.2" + lodash.create "3.1.1" + mkdirp "0.5.1" + supports-color "3.1.2" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +nan@^2.3.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" + +node-pre-gyp@^0.6.39: + version "0.6.39" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" + dependencies: + detect-libc "^1.0.2" + hawk "3.1.3" + mkdirp "^0.5.1" + nopt "^4.0.1" + npmlog "^4.0.2" + rc "^1.1.7" + request "2.81.0" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^2.2.1" + tar-pack "^3.4.0" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-path@^2.0.0, normalize-path@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +once@^1.3.0, once@^1.3.3: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +output-file-sync@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" + dependencies: + graceful-fs "^4.1.4" + mkdirp "^0.5.1" + object-assign "^4.1.0" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-parse@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + +performance-now@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +private@^0.1.6, private@^0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +punycode@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + +qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + +randomatic@^1.1.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +rc@^1.1.7: + version "1.2.6" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.6.tgz#eb18989c6d4f4f162c399f79ddd29f3835568092" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.0.3" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +regenerate@^1.2.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" + +regenerator-runtime@^0.10.5: + version "0.10.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + dependencies: + is-equal-shallow "^0.1.3" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +request@2.81.0: + version "2.81.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~4.2.1" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + performance-now "^0.2.0" + qs "~6.4.0" + safe-buffer "^5.0.1" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "^0.6.0" + uuid "^3.0.0" + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +resolve@^1.1.6: + version "1.6.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.6.0.tgz#0fbd21278b27b4004481c395349e7aba60a9ff5c" + dependencies: + path-parse "^1.0.5" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@2: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + dependencies: + glob "^7.1.3" + +rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.6.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + dependencies: + glob "^7.1.3" + +rollup-plugin-babel@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-2.7.1.tgz#16528197b0f938a1536f44683c7a93d573182f57" + dependencies: + babel-core "6" + babel-plugin-transform-es2015-classes "^6.9.0" + object-assign "^4.1.0" + rollup-pluginutils "^1.5.0" + +rollup-plugin-node-resolve@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-2.1.1.tgz#cbb783b0d15b02794d58915350b2f0d902b8ddc8" + dependencies: + browser-resolve "^1.11.0" + builtin-modules "^1.1.0" + resolve "^1.1.6" + +rollup-pluginutils@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408" + dependencies: + estree-walker "^0.2.1" + minimatch "^3.0.2" + +rollup@^0.41.6: + version "0.41.6" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.41.6.tgz#e0d05497877a398c104d816d2733a718a7a94e2a" + dependencies: + source-map-support "^0.4.0" + +safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + +sander@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/sander/-/sander-0.5.1.tgz#741e245e231f07cafb6fdf0f133adfa216a502ad" + dependencies: + es6-promise "^3.1.2" + graceful-fs "^4.1.3" + mkdirp "^0.5.1" + rimraf "^2.5.2" + +semver@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + +set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +sorcery@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/sorcery/-/sorcery-0.10.0.tgz#8ae90ad7d7cb05fc59f1ab0c637845d5c15a52b7" + dependencies: + buffer-crc32 "^0.2.5" + minimist "^1.2.0" + sander "^0.5.0" + sourcemap-codec "^1.3.0" + +source-map-support@^0.4.0, source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + dependencies: + source-map "^0.5.6" + +source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +sourcemap-codec@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.1.tgz#c8fd92d91889e902a07aee392bdd2c5863958ba2" + +sshpk@^1.7.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string_decoder@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" + dependencies: + safe-buffer "~5.1.0" + +stringstream@~0.0.4: + version "0.0.6" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +supports-color@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" + dependencies: + has-flag "^1.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +tar-pack@^3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" + dependencies: + debug "^2.2.0" + fstream "^1.0.10" + fstream-ignore "^1.0.5" + once "^1.3.3" + readable-stream "^2.1.4" + rimraf "^2.5.1" + tar "^2.2.1" + uid-number "^0.0.6" + +tar@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" + dependencies: + block-stream "*" + fstream "^1.0.12" + inherits "2" + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + +tough-cookie@~2.3.0: + version "2.3.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" + dependencies: + punycode "^1.4.1" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +typescript@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.8.1.tgz#6160e4f8f195d5ba81d4876f9c0cc1fbc0820624" + +uglify-js@^2.8.14: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +uid-number@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +uuid@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" + +v8flags@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" + dependencies: + user-home "^1.1.1" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +wide-align@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" + dependencies: + string-width "^1.0.2" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" diff --git a/node_modules/user-settings-dir/.npmignore b/node_modules/user-settings-dir/.npmignore new file mode 100644 index 00000000..123ae94d --- /dev/null +++ b/node_modules/user-settings-dir/.npmignore @@ -0,0 +1,27 @@ +# Logs +logs +*.log + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directory +# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git +node_modules diff --git a/node_modules/user-settings-dir/LICENSE b/node_modules/user-settings-dir/LICENSE new file mode 100644 index 00000000..4a5552d2 --- /dev/null +++ b/node_modules/user-settings-dir/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) +Copyright (c) 2015 Maximiliano Korp + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/user-settings-dir/README.md b/node_modules/user-settings-dir/README.md new file mode 100644 index 00000000..4d0376fd --- /dev/null +++ b/node_modules/user-settings-dir/README.md @@ -0,0 +1,16 @@ +## user-settings-dir + +user-settings-dir is a small library to find the directory to persist application settings for a user. Many node-ish applications store settings properly on *nixy OSes using a dotfile (or dotdirectory) in the user's home folder. On Windows however, they tend to store files incorrectly, in the user's home directory, rather than in appdata. The officially sanctioned place in windows is in %APPDATA%, + +On Vista and newer, by default they evaluate like this: + - `%USERPROFILE%` (wrong): `C:\Users\{UserName}\` + - `%APPDATA%` (right): `C:\Users\{UserName}\AppData\Roaming` + +On XP: + - `%USERPROFILE%` (wrong): `C:\Documents and Settings\{UserName}\` + - `%APPDATA%` (right): `C:\Documents and Settings\{UserName}\Application Data\` + +In addition to being formally correct (and necessary if you ever want to get something Microsoft certified), this is just cleaner. I'm a neat-freak, and I like to keep my directories clean. Much as you hide settings in dotfiles in *nixy systems, those settings are meant to be hidden in AppData on windows systems. I'm hoping that making this module available might help prod at least a few people in the right direction, when making cross platform node applications. + +### notes +This module was based off of https://github.com/sindresorhus/user-home so thank him, really. diff --git a/node_modules/user-settings-dir/index.js b/node_modules/user-settings-dir/index.js new file mode 100644 index 00000000..7348ab4c --- /dev/null +++ b/node_modules/user-settings-dir/index.js @@ -0,0 +1,40 @@ +'use strict'; +var env = process.env; +var home = env.HOME; +var user = env.LOGNAME || env.USER || env.LNAME || env.USERNAME; +var path = require('path'); + +module.exports = function getUserSettingsDir(subDir) { + var baseDir = null; + + switch (process.platform) { + case 'win32': + baseDir = env.APPDATA; + break; + case 'darwin': + if (home) { + baseDir = home; + } + else if (user) { + baseDir = '/home/' + user; + } + case 'linux': + if (home) { + baseDir = home; + } + else if (user) { + baseDir = process.getuid() === 0 ? '/root' : '/home/' + user; + } + default: + if (home) { + baseDir = home; + } + break; + } + + if (baseDir && subDir) { + return path.join(baseDir, subDir); + } + + return baseDir; +} diff --git a/node_modules/user-settings-dir/package.json b/node_modules/user-settings-dir/package.json new file mode 100644 index 00000000..26a2f5eb --- /dev/null +++ b/node_modules/user-settings-dir/package.json @@ -0,0 +1,43 @@ +{ + "_from": "user-settings-dir@0.0.3", + "_id": "user-settings-dir@0.0.3", + "_inBundle": false, + "_integrity": "sha1-mgLCvhLNbTQldHc5v4soTIHvqXc=", + "_location": "/user-settings-dir", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "user-settings-dir@0.0.3", + "name": "user-settings-dir", + "escapedName": "user-settings-dir", + "rawSpec": "0.0.3", + "saveSpec": null, + "fetchSpec": "0.0.3" + }, + "_requiredBy": [ + "/minecraft-folder-path" + ], + "_resolved": "https://registry.npmjs.org/user-settings-dir/-/user-settings-dir-0.0.3.tgz", + "_shasum": "9a02c2be12cd6d3425747739bf8b284c81efa977", + "_spec": "user-settings-dir@0.0.3", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\minecraft-folder-path", + "author": { + "name": "Maximiliano Korp" + }, + "bugs": { + "url": "https://github.com/maxkorp/user-settings-dir/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Gets the directory to use for application settings for a user on different operating systems", + "homepage": "https://github.com/maxkorp/user-settings-dir", + "license": "MIT", + "main": "index.js", + "name": "user-settings-dir", + "repository": { + "type": "git", + "url": "git+https://github.com/maxkorp/user-settings-dir.git" + }, + "version": "0.0.3" +} diff --git a/node_modules/util-deprecate/History.md b/node_modules/util-deprecate/History.md new file mode 100644 index 00000000..acc86753 --- /dev/null +++ b/node_modules/util-deprecate/History.md @@ -0,0 +1,16 @@ + +1.0.2 / 2015-10-07 +================== + + * use try/catch when checking `localStorage` (#3, @kumavis) + +1.0.1 / 2014-11-25 +================== + + * browser: use `console.warn()` for deprecation calls + * browser: more jsdocs + +1.0.0 / 2014-04-30 +================== + + * initial commit diff --git a/node_modules/util-deprecate/LICENSE b/node_modules/util-deprecate/LICENSE new file mode 100644 index 00000000..6a60e8c2 --- /dev/null +++ b/node_modules/util-deprecate/LICENSE @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2014 Nathan Rajlich + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/util-deprecate/README.md b/node_modules/util-deprecate/README.md new file mode 100644 index 00000000..75622fa7 --- /dev/null +++ b/node_modules/util-deprecate/README.md @@ -0,0 +1,53 @@ +util-deprecate +============== +### The Node.js `util.deprecate()` function with browser support + +In Node.js, this module simply re-exports the `util.deprecate()` function. + +In the web browser (i.e. via browserify), a browser-specific implementation +of the `util.deprecate()` function is used. + + +## API + +A `deprecate()` function is the only thing exposed by this module. + +``` javascript +// setup: +exports.foo = deprecate(foo, 'foo() is deprecated, use bar() instead'); + + +// users see: +foo(); +// foo() is deprecated, use bar() instead +foo(); +foo(); +``` + + +## License + +(The MIT License) + +Copyright (c) 2014 Nathan Rajlich + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/util-deprecate/browser.js b/node_modules/util-deprecate/browser.js new file mode 100644 index 00000000..549ae2f0 --- /dev/null +++ b/node_modules/util-deprecate/browser.js @@ -0,0 +1,67 @@ + +/** + * Module exports. + */ + +module.exports = deprecate; + +/** + * Mark that a method should not be used. + * Returns a modified function which warns once by default. + * + * If `localStorage.noDeprecation = true` is set, then it is a no-op. + * + * If `localStorage.throwDeprecation = true` is set, then deprecated functions + * will throw an Error when invoked. + * + * If `localStorage.traceDeprecation = true` is set, then deprecated functions + * will invoke `console.trace()` instead of `console.error()`. + * + * @param {Function} fn - the function to deprecate + * @param {String} msg - the string to print to the console when `fn` is invoked + * @returns {Function} a new "deprecated" version of `fn` + * @api public + */ + +function deprecate (fn, msg) { + if (config('noDeprecation')) { + return fn; + } + + var warned = false; + function deprecated() { + if (!warned) { + if (config('throwDeprecation')) { + throw new Error(msg); + } else if (config('traceDeprecation')) { + console.trace(msg); + } else { + console.warn(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + + return deprecated; +} + +/** + * Checks `localStorage` for boolean values for the given `name`. + * + * @param {String} name + * @returns {Boolean} + * @api private + */ + +function config (name) { + // accessing global.localStorage can trigger a DOMException in sandboxed iframes + try { + if (!global.localStorage) return false; + } catch (_) { + return false; + } + var val = global.localStorage[name]; + if (null == val) return false; + return String(val).toLowerCase() === 'true'; +} diff --git a/node_modules/util-deprecate/node.js b/node_modules/util-deprecate/node.js new file mode 100644 index 00000000..5e6fcff5 --- /dev/null +++ b/node_modules/util-deprecate/node.js @@ -0,0 +1,6 @@ + +/** + * For Node.js, simply re-export the core `util.deprecate` function. + */ + +module.exports = require('util').deprecate; diff --git a/node_modules/util-deprecate/package.json b/node_modules/util-deprecate/package.json new file mode 100644 index 00000000..4d998e7e --- /dev/null +++ b/node_modules/util-deprecate/package.json @@ -0,0 +1,56 @@ +{ + "_from": "util-deprecate@^1.0.1", + "_id": "util-deprecate@1.0.2", + "_inBundle": false, + "_integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "_location": "/util-deprecate", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "util-deprecate@^1.0.1", + "name": "util-deprecate", + "escapedName": "util-deprecate", + "rawSpec": "^1.0.1", + "saveSpec": null, + "fetchSpec": "^1.0.1" + }, + "_requiredBy": [ + "/readable-stream" + ], + "_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "_shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf", + "_spec": "util-deprecate@^1.0.1", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\readable-stream", + "author": { + "name": "Nathan Rajlich", + "email": "nathan@tootallnate.net", + "url": "http://n8.io/" + }, + "browser": "browser.js", + "bugs": { + "url": "https://github.com/TooTallNate/util-deprecate/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "The Node.js `util.deprecate()` function with browser support", + "homepage": "https://github.com/TooTallNate/util-deprecate", + "keywords": [ + "util", + "deprecate", + "browserify", + "browser", + "node" + ], + "license": "MIT", + "main": "node.js", + "name": "util-deprecate", + "repository": { + "type": "git", + "url": "git://github.com/TooTallNate/util-deprecate.git" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "version": "1.0.2" +} diff --git a/node_modules/uuid-1345/.github/workflows/npm-publish.yml b/node_modules/uuid-1345/.github/workflows/npm-publish.yml new file mode 100644 index 00000000..861e3723 --- /dev/null +++ b/node_modules/uuid-1345/.github/workflows/npm-publish.yml @@ -0,0 +1,47 @@ +# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created +# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages + +name: Node.js Package + +on: + release: + types: [created] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: 12 + - run: npm ci + - run: npm test + + publish-npm: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: 12 + registry-url: https://registry.npmjs.org/ + - run: npm ci + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{secrets.npm_token}} + + publish-gpr: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: 12 + registry-url: https://npm.pkg.github.com/ + - run: npm ci + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/node_modules/uuid-1345/.travis.yml b/node_modules/uuid-1345/.travis.yml new file mode 100644 index 00000000..17060313 --- /dev/null +++ b/node_modules/uuid-1345/.travis.yml @@ -0,0 +1,18 @@ +language: node_js +os: + - linux + - osx + - windows +node_js: + - stable + - lts/* + - 10 + - 8 +install: + - npm install +script: + - npm test +jobs: + exclude: + - os: windows + node_js: stable diff --git a/node_modules/uuid-1345/LICENSE b/node_modules/uuid-1345/LICENSE new file mode 100644 index 00000000..ffee7506 --- /dev/null +++ b/node_modules/uuid-1345/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Julian Fleischer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/uuid-1345/README.md b/node_modules/uuid-1345/README.md new file mode 100644 index 00000000..50969d88 --- /dev/null +++ b/node_modules/uuid-1345/README.md @@ -0,0 +1,195 @@ +uuid-1345 +========== + +[![Build Status](https://travis-ci.org/scravy/uuid-1345.svg?branch=master)](https://travis-ci.org/scravy/uuid-1345) + +Generate `v1`, `v3`, `v4`, and `v5` UUIDs, strictly conforming +to [RFC 4122](http://tools.ietf.org/html/rfc4122). + + npm install --save uuid-1345 + +Features: + ++ Actually uses your MAC address for `v1` UUIDs ++ Synchronous + Asynchronous API ++ Returns `string` or `Buffer`, as you wish ++ Works in NodeJS + io.js (see build status above) ++ Allows you to inspect uuids (check the `check` function) ++ It's really fast (see [here](https://travis-ci.org/scravy/uuid-1345/jobs/56819874#L312), + [here](https://travis-ci.org/scravy/uuid-1345/jobs/56819875#L312), + and [here](https://travis-ci.org/scravy/uuid-1345/jobs/56819876#L312)) + +Un-Features: + + ++ Does not work in the browser due to the use of NodeJS's `crypto` module. + +Examples +-------- + +```JavaScript +var UUID = require('uuid-1345'); + +UUID.v1(function (err, result) { + console.log("Generated a time-based UUID:\n\t%s\n", result); +}); + +UUID.v4(function (err, result) { + console.log("Generated a random UUID:\n\t%s\n", result); +}); + +UUID.v3({ + namespace: UUID.namespace.url, + name: "https://github.com/scravy/uuid-1345" +}, function (err, result) { + console.log("Generated a name-based UUID using MD5:\n\t%s\n", result); +}); + +UUID.v5({ + namespace: UUID.namespace.url, + name: "https://github.com/scravy/uuid-1345" +}, function (err, result) { + console.log("Generated a name-based UUID using SHA1:\n\t%s\n", result); +}); + +``` + +might result in: + + Generated a time-based UUID: + 9e3a0460-d72d-11e4-a631-c8e0eb141dab + + Generated a random UUID: + 366a77ba-d506-4a03-a730-318b8e6be8c5 + + Generated a name-based UUID using MD5: + 2c1d43b8-e6d7-376e-af7f-d4bde997cc3f + + Generated a name-based UUID using SHA1: + 39888f87-fb62-5988-a425-b2ea63f5b81e + + +### object-oriented `UUID` interface + +```JavaScript +var uuid = new UUID('39888f87-fb62-5988-a425-b2ea63f5b81e'); +console.log( uuid.version ); +console.log( uuid.variant ); +console.log( uuid.toString() ); +console.log( uuid.toBuffer() ); +``` + +```JavaScript +5 +rfc4122 +39888f87-fb62-5988-a425-b2ea63f5b81e + +``` + +API +--- + +```JavaScript +UUID.vX([options], [callback]); +``` + +where `vX` is one of `v1`, `v3`, `v4`, or `v5`. + +`callback` is always optional, you can use the API asynchronously and synchronously. + +`options` that are recognized by every generator are: + +**`encoding: 'ascii' | 'binary' | 'object'`** + +By default the generated UUIDs are ASCII strings. + +You can change this to a `Buffer` object by specifying `binary`. + +Or to a `UUID` object by specifying `object`. + +--- + +### `UUID.v1([options], [callback])` + +Generates a time based UUID. Note that you can not generate more than +10000 UUIDs per second. Should this (highly unlikely) scenario happen, +the uuid generator will automatically postpone your request until new UUIDs +are available. + +#### Options: + +**`mac: false | string | Buffer`** + +By default this generator will try to use your mac address (the mac address +of your primary network interface). It does so using +[node-macaddress](https://www.npmjs.com/package/node-macaddress). If it can +not obtain your MAC address it will generate a random value according to +[RFC 4122 § 4.5](http://tools.ietf.org/html/rfc4122#section-4.5) and keep that +as node id during the lifetime of your process. + +The latter behaviour can be enforced by specifying `{ mac: false }`. + +It is also possible to provide a custom MAC address: `{ mac: 'ac:00:00:ac:ff:ff' }`. + +The MAC address can also be specified as a `Buffer` of 6 bytes. + +**`clockSeq: integer`** + +The `clockSeq` is initialized with an arbitrary number. +You can specify a custom value for `clockSeq`. + +--- + +### `UUID.v4([options], [callback])` + +Generates a random version 4 UUID. + +This generator is backed by Node's `crypto.randomBytes` which is +moderately slow (slower than `Math.random`) but has a higher +quality (the generated UUIDs are less pseudo-random ;-). + +--- + +### `UUID.v4fast()` + +Generated a pseudo-random version 4 UUID. Does not take any options. +Does not offer an asynchronous interface. + +This generator is backed by `Math.random()`. It's really fast, +but the generated UUIDs are only pseudo-random. + +--- + +### `UUID.v3(options, [cb])` / `UUID.v5(options, [cb])` + +#### Options + +Generates a name-based UUID based on a namespace-UUID and an arbitrary name. +Both `name` and `namespace` are required options. + +**`namespace: uuid as (string | Buffer)`** + +This must be a valid UUID. A few pre-defined namespaces are available in `UUID.namespace`: + +```JavaScript +// from rfc4122#appendix-C +UUID.namespace = { + dns: "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + url: "6ba7b811-9dad-11d1-80b4-00c04fd430c8", + oid: "6ba7b812-9dad-11d1-80b4-00c04fd430c8", + x500: "6ba7b814-9dad-11d1-80b4-00c04fd430c8" +}; +``` + +**`name: string | Buffer`** + +This can be an arbitrary value (including the empty string). + +More API +-------- + +```JavaScript +UUID.check(uuid) → { version: number, variant: string } +UUID.parse(uuid as string) → uuid as Buffer +UUID.stringify(uuid as Buffer) → uuid as string +``` diff --git a/node_modules/uuid-1345/example-project/index.js b/node_modules/uuid-1345/example-project/index.js new file mode 100644 index 00000000..0c4e7457 --- /dev/null +++ b/node_modules/uuid-1345/example-project/index.js @@ -0,0 +1,17 @@ +const uuid = require('uuid-1345'); + +const opt = { + namespace: uuid.namespace.url, + name: 'https://github.com/scravy/uuid-1345' +}; + +console.log(uuid.v1()); +console.log(uuid.v3(opt)); +console.log(uuid.v4()); +console.log(uuid.v5(opt)); + +uuid.v1(console.log); +uuid.v3(opt, console.log); +uuid.v4(console.log); +uuid.v5(opt, console.log); + diff --git a/node_modules/uuid-1345/example-project/package.json b/node_modules/uuid-1345/example-project/package.json new file mode 100644 index 00000000..c9366f70 --- /dev/null +++ b/node_modules/uuid-1345/example-project/package.json @@ -0,0 +1,14 @@ +{ + "name": "uuid-example", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "uuid-1345": "^0.99.7" + } +} diff --git a/node_modules/uuid-1345/examples/example1.js b/node_modules/uuid-1345/examples/example1.js new file mode 100644 index 00000000..a47cd046 --- /dev/null +++ b/node_modules/uuid-1345/examples/example1.js @@ -0,0 +1,26 @@ +var UUID = require('../index'); + +console.log("Generated a fast v4 UUID:\n\t%s\n", UUID.v4fast()); + +UUID.v4(function (err, result) { + console.log("Generated a random UUID:\n\t%s\n", result); +}); + +UUID.v3({ + namespace: UUID.namespace.url, + name: "https://github.com/scravy/uuid-1345" +}, function (err, result) { + console.log("Generated a name-based UUID using MD5:\n\t%s\n", result); +}); + +UUID.v5({ + namespace: UUID.namespace.url, + name: "https://github.com/scravy/uuid-1345" +}, function (err, result) { + console.log("Generated a name-based UUID using SHA1:\n\t%s\n", result); +}); + +UUID.v1(function (err, result) { + console.log("Generated a time-based UUID:\n\t%s\n", result); +}); + diff --git a/node_modules/uuid-1345/examples/example2.js b/node_modules/uuid-1345/examples/example2.js new file mode 100644 index 00000000..79902d87 --- /dev/null +++ b/node_modules/uuid-1345/examples/example2.js @@ -0,0 +1,65 @@ +var UUID = require('../index'); + +setTimeout(function () { + + UUID.v1({}, function (err, id) { + + if (err) { + throw err; + } + console.log(id); + console.log(JSON.stringify(UUID.check(id), null, 2)); + + console.log(UUID.stringify(UUID.parse(id))); + }); + + UUID.v1({}, function (err, id) { + + if (err) { + throw err; + } + console.log(id); + console.log(JSON.stringify(UUID.check(id), null, 2)); + + console.log(UUID.stringify(UUID.parse(id))); + }); + + UUID.v4(function (err, id) { + + console.log(id); + console.log(JSON.stringify(UUID.check(id), null, 2)); + + console.log(UUID.stringify(UUID.parse(id))); + }); + + UUID.v3({ + namespace: UUID.namespace.url, + name: "http://github.com" + }, function (err, id) { + + if (err) { + throw err; + } + + console.log(id); + console.log(JSON.stringify(UUID.check(id), null, 2)); + + console.log(UUID.stringify(UUID.parse(id))); + }); + + UUID.v5({ + namespace: UUID.namespace.url, + name: "http://github.com" + }, function (err, id) { + + if (err) { + throw err; + } + + console.log(id); + console.log(JSON.stringify(UUID.check(id), null, 2)); + + console.log(UUID.stringify(UUID.parse(id))); + }); + +}, 10); diff --git a/node_modules/uuid-1345/examples/example3.js b/node_modules/uuid-1345/examples/example3.js new file mode 100644 index 00000000..b6acc6ed --- /dev/null +++ b/node_modules/uuid-1345/examples/example3.js @@ -0,0 +1,8 @@ +var UUID = require('../index'); + +var uuid = new UUID('39888f87-fb62-5988-a425-b2ea63f5b81e'); +console.log( uuid.version ); +console.log( uuid.variant ); +console.log( uuid.toString() ); +console.log( uuid.toBuffer() ); + diff --git a/node_modules/uuid-1345/gulpfile.js b/node_modules/uuid-1345/gulpfile.js new file mode 100644 index 00000000..667eeef3 --- /dev/null +++ b/node_modules/uuid-1345/gulpfile.js @@ -0,0 +1,22 @@ +/* vim: set et sw=2 ts=2: */ +/* jshint node: true */ +"use strict"; + +const { series, src, dest } = require('gulp'); +const jshint = require('gulp-jshint'); +const mocha = require('gulp-mocha'); + +function hint() { + return src(['index.js', 'test/*.js']) + .pipe(jshint()) + .pipe(jshint.reporter('default')) + .pipe(jshint.reporter('fail')); +} + +function test(cb) { + return src('test/*.js') + .pipe(mocha()); +} + +exports.test = series(hint, test); +exports.default = exports.test; diff --git a/node_modules/uuid-1345/index.js b/node_modules/uuid-1345/index.js new file mode 100644 index 00000000..b421bcb9 --- /dev/null +++ b/node_modules/uuid-1345/index.js @@ -0,0 +1,489 @@ +var crypto = require("crypto"); + +// error codes +var invalidNamespace = + "options.namespace must be a string or a Buffer " + + "containing a valid UUID, or a UUID object"; + +var invalidName = + "options.name must be either a string or a Buffer"; + +var invalidMacAddress = + "invalid options.mac - must either not be set, the value `false`, " + + "a Buffer of length 6, or a MAC address as a string"; + +var moreThan10000 = + "can not generate more than 10000 UUIDs per second"; + +// Node ID according to rfc4122#section-4.5 +var randomHost = crypto.randomBytes(16); +randomHost[0] = randomHost[0] | 0x01; + +// randomize clockSeq initially, as per rfc4122#section-4.1.5 +var seed = crypto.randomBytes(2); +var clockSeq = (seed[0] | (seed[1] << 8)) & 0x3fff; + +// clock values +var lastMTime = 0; +var lastNTime = 0; + +// lookup table hex to byte +var hex2byte = {}; + +// lookup table byte to hex +var byte2hex = []; + +// populate lookup tables +for (var i = 0; i < 256; i++) { + var hex = (i + 0x100).toString(16).substr(1); + hex2byte[hex] = i; + byte2hex[i] = hex; +} + +var newBufferFromSize; +var newBufferFromBuffer; +if (Buffer.allocUnsafe) { + // both `Buffer.allocUnsafe` and `Buffer.from` are added in + // Node.js v5.10.0 + /* istanbul ignore next */ + newBufferFromSize = function newBufferFromSize(size) { + return Buffer.allocUnsafe(size); + }; + /* istanbul ignore next */ + newBufferFromBuffer = function newBufferFromBuffer(buf) { + return Buffer.from(buf); + }; +} else { + /* istanbul ignore next */ + newBufferFromSize = function(size) { + return new Buffer(size); + }; + /* istanbul ignore next */ + newBufferFromBuffer = function(buf) { + return new Buffer(buf); + }; +} + +function parseMacAddress(address) { + var buffer = newBufferFromSize(6); + buffer[0] = hex2byte[address[0] + address[1]]; + buffer[1] = hex2byte[address[3] + address[4]]; + buffer[2] = hex2byte[address[6] + address[7]]; + buffer[3] = hex2byte[address[9] + address[10]]; + buffer[4] = hex2byte[address[12] + address[13]]; + buffer[5] = hex2byte[address[15] + address[16]]; + return buffer; +} + +// MAC address for v1 uuids +var macAddress = randomHost; +var macAddressLoaded = false; + +function loadMacAddress() { + require("macaddress").one(function (err, result) { + if (!err) { + macAddress = parseMacAddress(result); + } + macAddressLoaded = true; + }); +} + +// UUID class +var UUID = function (uuid) { + + var check = UUID.check(uuid); + if (!check) { + throw "not a UUID"; + } + + this.version = check.version; + this.variant = check.variant; + + this[check.format] = uuid; +}; + +UUID.prototype.toString = function () { + if (!this.ascii) { + this.ascii = UUID.stringify(this.binary); + } + return this.ascii; +}; + +UUID.prototype.toBuffer = function () { + if (!this.binary) { + this.binary = UUID.parse(this.ascii); + } + return newBufferFromBuffer(this.binary); +}; + +UUID.prototype.inspect = function () { + return "UUID v" + this.version + " " + this.toString(); +}; + +function error(message, callback) { + if (callback) { + callback(message, null); + } else { + throw new Error(message); + } +} + +// read stringified uuid into a Buffer +function parse(string) { + + var buffer = newBufferFromSize(16); + var j = 0; + for (var i = 0; i < 16; i++) { + buffer[i] = hex2byte[string[j++] + string[j++]]; + if (i === 3 || i === 5 || i === 7 || i === 9) { + j += 1; + } + } + + return buffer; +} + +// according to rfc4122#section-4.1.1 +function getVariant(bits) { + switch (bits) { + case 0: case 1: case 3: + return "ncs"; + case 4: case 5: + return "rfc4122"; + case 6: + return "microsoft"; + default: + return "future"; + } +} + +function check(uuid, offset) { + + if (typeof uuid === "string") { + uuid = uuid.toLowerCase(); + + if (!/^[a-f0-9]{8}(\-[a-f0-9]{4}){3}\-([a-f0-9]{12})$/.test(uuid)) { + return false; + } + + if (uuid === "00000000-0000-0000-0000-000000000000") { + return { version: undefined, variant: "nil", format: "ascii" }; + } + + return { + version: (hex2byte[uuid[14] + uuid[15]] & 0xf0) >> 4, + variant: getVariant((hex2byte[uuid[19] + uuid[20]] & 0xe0) >> 5), + format: "ascii" + }; + } + + if (uuid instanceof Buffer) { + offset = offset || 0; + + if (uuid.length < offset + 16) { + return false; + } + + for (var i = 0; i < 16; i++) { + if (uuid[offset + i] !== 0) { + break; + } + } + if (i === 16) { + return { version: undefined, variant: "nil", format: "binary" }; + } + + return { + version: (uuid[offset + 6] & 0xf0) >> 4, + variant: getVariant((uuid[offset + 8] & 0xe0) >> 5), + format: "binary" + }; + } +} + +// v1 +function uuidTimeBased(nodeId, options, callback) { + + var mTime = Date.now(); + var nTime = lastNTime + 1; + var delta = (mTime - lastMTime) + (nTime - lastNTime) / 10000; + + if (delta < 0) { + clockSeq = (clockSeq + 1) & 0x3fff; + nTime = 0; + } else if (mTime > lastMTime) { + nTime = 0; + } else if (nTime >= 10000) { + return moreThan10000; + } + + lastMTime = mTime; + lastNTime = nTime; + + // unix timestamp to gregorian epoch as per rfc4122#section-4.5 + mTime += 12219292800000; + + var buffer = newBufferFromSize(16); + var myClockSeq = options.clockSeq === undefined ? + clockSeq : (options.clockSeq & 0x3fff); + var timeLow = ((mTime & 0xfffffff) * 10000 + nTime) % 0x100000000; + var timeHigh = (mTime / 0x100000000 * 10000) & 0xfffffff; + + buffer[0] = timeLow >>> 24 & 0xff; + buffer[1] = timeLow >>> 16 & 0xff; + buffer[2] = timeLow >>> 8 & 0xff; + buffer[3] = timeLow & 0xff; + + buffer[4] = timeHigh >>> 8 & 0xff; + buffer[5] = timeHigh & 0xff; + + buffer[6] = (timeHigh >>> 24 & 0x0f) | 0x10; + buffer[7] = (timeHigh >>> 16 & 0x3f) | 0x80; + + buffer[8] = myClockSeq >>> 8; + buffer[9] = myClockSeq & 0xff; + + var result; + switch (options.encoding && options.encoding[0]) { + case "b": + case "B": + buffer[10] = nodeId[0]; + buffer[11] = nodeId[1]; + buffer[12] = nodeId[2]; + buffer[13] = nodeId[3]; + buffer[14] = nodeId[4]; + buffer[15] = nodeId[5]; + result = buffer; + break; + case "o": + case "U": + buffer[10] = nodeId[0]; + buffer[11] = nodeId[1]; + buffer[12] = nodeId[2]; + buffer[13] = nodeId[3]; + buffer[14] = nodeId[4]; + buffer[15] = nodeId[5]; + result = new UUID(buffer); + break; + default: + result = byte2hex[buffer[0]] + byte2hex[buffer[1]] + + byte2hex[buffer[2]] + byte2hex[buffer[3]] + "-" + + byte2hex[buffer[4]] + byte2hex[buffer[5]] + "-" + + byte2hex[buffer[6]] + byte2hex[buffer[7]] + "-" + + byte2hex[buffer[8]] + byte2hex[buffer[9]] + "-" + + byte2hex[nodeId[0]] + byte2hex[nodeId[1]] + + byte2hex[nodeId[2]] + byte2hex[nodeId[3]] + + byte2hex[nodeId[4]] + byte2hex[nodeId[5]]; + break; + } + if (callback) { + setImmediate(function () { + callback(null, result); + }); + } + return result; +} + +// v3 + v5 +function uuidNamed(hashFunc, version, arg1, arg2) { + + var options = arg1 || {}; + var callback = typeof arg1 === "function" ? arg1 : arg2; + + var namespace = options.namespace; + var name = options.name; + + var hash = crypto.createHash(hashFunc); + + if (typeof namespace === "string") { + if (!check(namespace)) { + return error(invalidNamespace, callback); + } + namespace = parse(namespace); + } else if (namespace instanceof UUID) { + namespace = namespace.toBuffer(); + } else if (!(namespace instanceof Buffer) || namespace.length !== 16) { + return error(invalidNamespace, callback); + } + + var nameIsNotAString = typeof name !== "string"; + if (nameIsNotAString && !(name instanceof Buffer)) { + return error(invalidName, callback); + } + + hash.update(namespace); + hash.update(options.name, nameIsNotAString ? "binary" : "utf8"); + + var buffer = hash.digest(); + + var result; + switch (options.encoding && options.encoding[0]) { + case "b": + case "B": + buffer[6] = (buffer[6] & 0x0f) | version; + buffer[8] = (buffer[8] & 0x3f) | 0x80; + result = buffer; + break; + case "o": + case "U": + buffer[6] = (buffer[6] & 0x0f) | version; + buffer[8] = (buffer[8] & 0x3f) | 0x80; + result = new UUID(buffer); + break; + default: + result = byte2hex[buffer[0]] + byte2hex[buffer[1]] + + byte2hex[buffer[2]] + byte2hex[buffer[3]] + "-" + + byte2hex[buffer[4]] + byte2hex[buffer[5]] + "-" + + byte2hex[(buffer[6] & 0x0f) | version] + + byte2hex[buffer[7]] + "-" + + byte2hex[(buffer[8] & 0x3f) | 0x80] + + byte2hex[buffer[9]] + "-" + + byte2hex[buffer[10]] + byte2hex[buffer[11]] + + byte2hex[buffer[12]] + byte2hex[buffer[13]] + + byte2hex[buffer[14]] + byte2hex[buffer[15]]; + break; + } + if (callback) { + setImmediate(function () { + callback(null, result); + }); + } else { + return result; + } +} + +// v4 +function uuidRandom(arg1, arg2) { + + var options = arg1 || {}; + var callback = typeof arg1 === "function" ? arg1 : arg2; + + var buffer = crypto.randomBytes(16); + + buffer[6] = (buffer[6] & 0x0f) | 0x40; + buffer[8] = (buffer[8] & 0x3f) | 0x80; + + var result; + switch (options.encoding && options.encoding[0]) { + case "b": + case "B": + result = buffer; + break; + case "o": + case "U": + result = new UUID(buffer); + break; + default: + result = byte2hex[buffer[0]] + byte2hex[buffer[1]] + + byte2hex[buffer[2]] + byte2hex[buffer[3]] + "-" + + byte2hex[buffer[4]] + byte2hex[buffer[5]] + "-" + + byte2hex[(buffer[6] & 0x0f) | 0x40] + + byte2hex[buffer[7]] + "-" + + byte2hex[(buffer[8] & 0x3f) | 0x80] + + byte2hex[buffer[9]] + "-" + + byte2hex[buffer[10]] + byte2hex[buffer[11]] + + byte2hex[buffer[12]] + byte2hex[buffer[13]] + + byte2hex[buffer[14]] + byte2hex[buffer[15]]; + break; + } + if (callback) { + setImmediate(function () { + callback(null, result); + }); + } else { + return result; + } +} + +// v4 fast +function uuidRandomFast() { + + var r1 = Math.random() * 0x100000000; + var r2 = Math.random() * 0x100000000; + var r3 = Math.random() * 0x100000000; + var r4 = Math.random() * 0x100000000; + + return byte2hex[ r1 & 0xff] + + byte2hex[ r1 >>> 8 & 0xff] + + byte2hex[ r1 >>> 16 & 0xff] + + byte2hex[ r1 >>> 24 & 0xff] + "-" + + byte2hex[ r2 & 0xff] + + byte2hex[ r2 >>> 8 & 0xff] + "-" + + byte2hex[(r2 >>> 16 & 0x0f) | 0x40] + + byte2hex[ r2 >>> 24 & 0xff] + "-" + + byte2hex[(r3 & 0x3f) | 0x80] + + byte2hex[ r3 >>> 8 & 0xff] + "-" + + byte2hex[ r3 >>> 16 & 0xff] + + byte2hex[ r3 >>> 24 & 0xff] + + byte2hex[ r4 & 0xff] + + byte2hex[ r4 >>> 8 & 0xff] + + byte2hex[ r4 >>> 16 & 0xff] + + byte2hex[ r4 >>> 24 & 0xff]; +} + +function stringify(buffer) { + return byte2hex[buffer[0]] + byte2hex[buffer[1]] + + byte2hex[buffer[2]] + byte2hex[buffer[3]] + "-" + + byte2hex[buffer[4]] + byte2hex[buffer[5]] + "-" + + byte2hex[buffer[6]] + byte2hex[buffer[7]] + "-" + + byte2hex[buffer[8]] + byte2hex[buffer[9]] + "-" + + byte2hex[buffer[10]] + byte2hex[buffer[11]] + + byte2hex[buffer[12]] + byte2hex[buffer[13]] + + byte2hex[buffer[14]] + byte2hex[buffer[15]]; +} + +UUID.stringify = stringify; + +UUID.parse = parse; + +UUID.check = check; + +// according to rfc4122#section-4.1.7 +UUID.nil = new UUID("00000000-0000-0000-0000-000000000000"); + +// from rfc4122#appendix-C +UUID.namespace = { + dns: new UUID("6ba7b810-9dad-11d1-80b4-00c04fd430c8"), + url: new UUID("6ba7b811-9dad-11d1-80b4-00c04fd430c8"), + oid: new UUID("6ba7b812-9dad-11d1-80b4-00c04fd430c8"), + x500: new UUID("6ba7b814-9dad-11d1-80b4-00c04fd430c8") +}; + +UUID.v1 = function v1(arg1, arg2) { + + var options = arg1 || {}; + var callback = typeof arg1 === "function" ? arg1 : arg2; + + var nodeId = options.mac; + + if (nodeId === undefined) { + if(!macAddressLoaded) { + loadMacAddress(); + } + if (!macAddressLoaded && callback) { + setImmediate(function () { + UUID.v1(options, callback); + }); + return; + } + return uuidTimeBased(macAddress, options, callback); + } + if (nodeId === false) { + return uuidTimeBased(randomHost, options, callback); + } + return uuidTimeBased(parseMacAddress(nodeId), options, callback); +}; + +UUID.v4 = uuidRandom; + +UUID.v4fast = uuidRandomFast; + +UUID.v3 = function (options, callback) { + return uuidNamed("md5", 0x30, options, callback); +}; + +UUID.v5 = function (options, callback) { + return uuidNamed("sha1", 0x50, options, callback); +}; + +module.exports = UUID; diff --git a/node_modules/uuid-1345/package.json b/node_modules/uuid-1345/package.json new file mode 100644 index 00000000..6c7d4cfe --- /dev/null +++ b/node_modules/uuid-1345/package.json @@ -0,0 +1,65 @@ +{ + "_from": "uuid-1345@^1.0.1", + "_id": "uuid-1345@1.0.2", + "_inBundle": false, + "_integrity": "sha512-bA5zYZui+3nwAc0s3VdGQGBfbVsJLVX7Np7ch2aqcEWFi5lsAEcmO3+lx3djM1npgpZI8KY2FITZ2uYTnYUYyw==", + "_location": "/uuid-1345", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "uuid-1345@^1.0.1", + "name": "uuid-1345", + "escapedName": "uuid-1345", + "rawSpec": "^1.0.1", + "saveSpec": null, + "fetchSpec": "^1.0.1" + }, + "_requiredBy": [ + "/minecraft-protocol" + ], + "_resolved": "https://registry.npmjs.org/uuid-1345/-/uuid-1345-1.0.2.tgz", + "_shasum": "1c43d074507c40494278d5236199bffac81e19b8", + "_spec": "uuid-1345@^1.0.1", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\minecraft-protocol", + "author": { + "name": "Julian Fleischer" + }, + "bugs": { + "url": "https://github.com/scravy/uuid-1345/issues" + }, + "bundleDependencies": false, + "dependencies": { + "macaddress": "^0.5.1" + }, + "deprecated": false, + "description": "Generate UUIDs of versions 1, 3, 4, and 5.", + "devDependencies": { + "gulp": "^4.0.2", + "gulp-jshint": "^2.1.0", + "gulp-mocha": "^7.0.2", + "jshint": "^2.11.0", + "node-gyp": "^6.1.0" + }, + "homepage": "https://github.com/scravy/uuid-1345", + "keywords": [ + "uuid", + "guid", + "rfc4122", + "uuid-v1", + "uuid-v3", + "uuid-v4", + "uuid-v5" + ], + "license": "MIT", + "main": "index.js", + "name": "uuid-1345", + "repository": { + "type": "git", + "url": "git+https://github.com/scravy/uuid-1345.git" + }, + "scripts": { + "test": "gulp test" + }, + "version": "1.0.2" +} diff --git a/node_modules/uuid-1345/test/UUID.js b/node_modules/uuid-1345/test/UUID.js new file mode 100644 index 00000000..966430f3 --- /dev/null +++ b/node_modules/uuid-1345/test/UUID.js @@ -0,0 +1,70 @@ +var assert = require('assert'); +var UUID = require("../index"); + +var sample = '730433f1-7c3e-3939-a0c4-9c066e699799'; + +describe('UUID class', function () { + + it('correctly reports version and variant', function () { + var uuid = new UUID(sample); + + assert.equal(uuid.version, 3); + assert.equal(uuid.variant, 'rfc4122'); + }); + + it('instanceof works', function () { + var uuid = new UUID(sample); + + assert(uuid instanceof UUID); + }); + + it('throws on illegal string', function () { + assert.throws(function () { + new UUID("oisjgor"); + }); + }); + + it('throws on illegal buffer', function () { + assert.throws(function () { + new UUID(new Buffer(10)); + }); + }); + + it('correctly identifies binary nil UUID', function () { + var nil = new Buffer(16); + for (var i = 0; i < 16; i++) { + nil[i] = 0; + } + assert.equal(new UUID(nil).variant, 'nil'); + }); +}); + +describe('UUID.prototype.toString()', function () { + + it('reports correct UUID for ascii UUID', function () { + var uuid = new UUID(sample); + + assert.equal(uuid.toString(), sample); + }); + + it('reports correct UUID for binary UUID', function () { + var uuid = new UUID(UUID.parse(sample)); + + assert.equal(uuid.toString(), sample); + }); +}); + +describe('UUID.prototype.toBuffer()', function () { + + it('reports correct UUID for ascii UUID', function () { + var uuid = new UUID(sample); + + assert.equal(UUID.stringify(uuid.toBuffer()), sample); + }); + + it('reports correct UUID for binary UUID', function () { + var uuid = new UUID(UUID.parse(sample)); + + assert.equal(UUID.stringify(uuid.toBuffer()), sample); + }); +}); diff --git a/node_modules/uuid-1345/test/util.js b/node_modules/uuid-1345/test/util.js new file mode 100644 index 00000000..e5a138fb --- /dev/null +++ b/node_modules/uuid-1345/test/util.js @@ -0,0 +1,60 @@ +var assert = require('assert'); +var UUID = require("../index"); + +describe("Utilities", function () { + + it("stringify . parse == id", function (done) { + UUID.v4(function (err, result) { + var one = result; + var two = UUID.stringify(UUID.parse(result)); + assert.equal(one, two); + done(); + }); + }); + +}); + +describe("UUID.check", function () { + + it("identifies v1 UUID correctly", function (done) { + assert.equal(UUID.check('923462b0-d736-11e4-89e3-77046a5cefa6').version, 1); + done(); + }); + + it("identifies v3 UUID correctly", function (done) { + assert.equal(UUID.check('730433f1-7c3e-3939-a0c4-9c066e699799').version, 3); + done(); + }); + + it("identifies v4 UUID correctly", function (done) { + assert.equal(UUID.check('135BA59F-D09C-4439-938E-07E1D62CA999').version, 4); + done(); + }); + + it("identifies v5 UUID correctly", function (done) { + assert.equal(UUID.check('f297a1ff-0099-5cd3-9a84-7ca20ceeeded').version, 5); + done(); + }); + + it("identifies rfc4122 variant correctly", function (done) { + assert.equal(UUID.check('f297a1ff-0099-5cd3-9a84-7ca20ceeeded').variant, 'rfc4122'); + done(); + }); + + it("identifies microsoft variant correctly", function (done) { + assert.equal(UUID.check('f297a1ff-0099-5cd3-dddd-7ca20ceeeded').variant, 'microsoft'); + done(); + }); + + it("identifies ncs variant correctly", function (done) { + assert.equal(UUID.check('f297a1ff-0099-5cd3-0000-7ca20ceeeded').variant, 'ncs'); + done(); + }); + + it("identifies future variant correctly", function (done) { + assert.equal(UUID.check('ffffffff-ffff-ffff-ffff-ffffffffffff').variant, 'future'); + done(); + }); + +}); + diff --git a/node_modules/uuid-1345/test/v1.js b/node_modules/uuid-1345/test/v1.js new file mode 100644 index 00000000..47f910a7 --- /dev/null +++ b/node_modules/uuid-1345/test/v1.js @@ -0,0 +1,66 @@ +var assert = require('assert'); +var macaddress = require('macaddress'); +var UUID = require("../index"); + +describe("UUID.v1", function () { + + it("generates a v1 UUID (async)", function (done) { + UUID.v1(function (err, result) { + assert.equal(UUID.check(result).version, 1); + done(); + }); + }); + + it("generates a v1 UUID (sync)", function () { + assert.equal(UUID.check(UUID.v1()).version, 1); + }); + + it("generates a v1 UUID (buffer, async)", function (done) { + UUID.v1({ encoding: 'binary' }, function (err, result) { + assert.equal(UUID.check(result).version, 1); + done(); + }); + }); + + it("generates a v1 UUID (buffer, sync)", function () { + assert.equal(UUID.check(UUID.v1({ encoding: 'binary' })).version, 1); + }); + + it("generates a v1 UUID (object, async)", function (done) { + UUID.v1({ encoding: 'object' }, function (err, result) { + assert.equal(result.version, 1); + done(); + }); + }); + + it("generates a v1 UUID (object, sync)", function () { + assert.equal(UUID.v1({ encoding: 'object' }).version, 1); + }); + + it("uses the MAC address", function (done) { + macaddress.one(function (err, addr) { + assert.equal(addr.replace(/:/g, ""), UUID.v1().substring(24)); + done(); + }); + }); + + it("uses the specified MAC address", function (done) { + UUID.v1({ mac: 'ab:cd:ef:00:47:11' }, function (err, result) { + assert.equal('abcdef004711', result.substring(24)); + done(); + }); + }); + + it("uses the randomized node when { mac: false }", function (done) { + macaddress.one(function (err, addr) { + assert(addr.replace(/:/g, "") != UUID.v1({ mac: false }).substring(24)); + done(); + }); + }); + + it("shows UUID in .inspect() (for nodes console.log)", function () { + var uuid = UUID.v1({ encoding: 'object' }); + assert(uuid.inspect().indexOf(uuid.toString()) >= 0); + }); + +}); diff --git a/node_modules/uuid-1345/test/v3.js b/node_modules/uuid-1345/test/v3.js new file mode 100644 index 00000000..bc9dbe13 --- /dev/null +++ b/node_modules/uuid-1345/test/v3.js @@ -0,0 +1,31 @@ +var assert = require('assert'); +var UUID = require("../index"); + +describe("UUID.v3", function () { + + it("generates a v3 UUID (async)", function (done) { + UUID.v3({ + name: "something", + namespace: UUID.v4() + }, function (err, result) { + assert.equal(UUID.check(result).version, 3); + done(); + }); + }); + + it("generates a v3 UUID (sync)", function () { + assert.equal(UUID.check(UUID.v3({ name: "something", namespace: UUID.v4() })).version, 3); + }); + + it("generates the correct uuid for `http://github.com`", function (done) { + UUID.v3({ + namespace: UUID.namespace.url, + name: 'http://github.com' + }, function (err, result) { + assert.equal(result, '730433f1-7c3e-3939-a0c4-9c066e699799'); + done(); + }); + }); + +}); + diff --git a/node_modules/uuid-1345/test/v4.js b/node_modules/uuid-1345/test/v4.js new file mode 100644 index 00000000..7cc616b8 --- /dev/null +++ b/node_modules/uuid-1345/test/v4.js @@ -0,0 +1,56 @@ +var assert = require('assert'); +var UUID = require("../index"); + +describe("UUID.v4", function () { + + it("generates a v4 UUID (async)", function (done) { + UUID.v4(function (err, result) { + assert.equal(UUID.check(result).version, 4); + assert.equal(UUID.check(result).variant, 'rfc4122'); + done(); + }); + }); + + it("generates a v4 UUID (sync)", function () { + var uuid = UUID.v4(); + assert.equal(UUID.check(uuid).version, 4); + assert.equal(UUID.check(uuid).variant, 'rfc4122'); + + }); + + it("generates a v4 UUID (buffer, async)", function (done) { + UUID.v4({ encoding: 'binary' }, function (err, result) { + assert.equal(UUID.check(result).version, 4); + assert.equal(UUID.check(result).variant, 'rfc4122'); + done(); + }); + }); + + it("generates a v4 UUID (buffer, sync)", function () { + var uuid = UUID.v4({ encoding: 'binary' }); + assert.equal(UUID.check(uuid).version, 4); + assert.equal(UUID.check(uuid).variant, 'rfc4122'); + + }); + + it("generates a v4 UUID (object, async)", function (done) { + UUID.v4({ encoding: 'object' }, function (err, result) { + assert.equal(result.version, 4); + assert.equal(result.variant, 'rfc4122'); + done(); + }); + }); + + it("generates a v4 UUID (object, sync)", function () { + var uuid = UUID.v4({ encoding: 'object' }); + assert.equal(uuid.version, 4); + assert.equal(uuid.variant, 'rfc4122'); + + }); + + it("generates a v4 UUID (fast)", function () { + var uuid = UUID.v4fast(); + assert.equal(UUID.check(uuid).version, 4); + assert.equal(UUID.check(uuid).variant, 'rfc4122'); + }); +}); diff --git a/node_modules/uuid-1345/test/v5.js b/node_modules/uuid-1345/test/v5.js new file mode 100644 index 00000000..ac7625d4 --- /dev/null +++ b/node_modules/uuid-1345/test/v5.js @@ -0,0 +1,69 @@ +var assert = require('assert'); +var UUID = require("../index"); + +describe("UUID.v5", function () { + + it("generates a v5 UUID (async)", function (done) { + UUID.v5({ + name: "something", + namespace: UUID.v4() + }, function (err, result) { + assert.equal(UUID.check(result).version, 5); + done(); + }); + }); + + it("generates a v5 UUID (sync)", function () { + assert.equal(UUID.check(UUID.v5({ name: "something", namespace: UUID.v4() })).version, 5); + }); + + it("generates a v5 UUID (async, object)", function (done) { + UUID.v5({ + name: "something", + namespace: UUID.v4(), + encoding: 'object' + }, function (err, result) { + assert.equal(result.version, 5); + done(); + }); + }); + + it("generates a v5 UUID (sync, object)", function () { + assert.equal(UUID.v5({ + name: "something", + namespace: UUID.v1(), + encoding: 'object' + }).version, 5); + }); + + it("generates a v5 UUID (async, buffer)", function (done) { + UUID.v5({ + name: "something", + namespace: UUID.v4(), + encoding: 'binary' + }, function (err, result) { + assert.equal(new UUID(result).version, 5); + done(); + }); + }); + + it("generates a v5 UUID (sync, buffer)", function () { + assert.equal(new UUID(UUID.v5({ + name: "something", + namespace: UUID.v1(), + encoding: 'binary' + })).version, 5); + }); + + it("generates the correct uuid for `http://github.com`", function (done) { + UUID.v5({ + namespace: UUID.namespace.url, + name: 'http://github.com' + }, function (err, result) { + assert.equal(result, 'f297a1ff-0099-5cd3-9a84-7ca20ceeeded'); + done(); + }); + }); + +}); + diff --git a/node_modules/uuid/CHANGELOG.md b/node_modules/uuid/CHANGELOG.md new file mode 100644 index 00000000..7519d19d --- /dev/null +++ b/node_modules/uuid/CHANGELOG.md @@ -0,0 +1,229 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +### [8.3.2](https://github.com/uuidjs/uuid/compare/v8.3.1...v8.3.2) (2020-12-08) + +### Bug Fixes + +- lazy load getRandomValues ([#537](https://github.com/uuidjs/uuid/issues/537)) ([16c8f6d](https://github.com/uuidjs/uuid/commit/16c8f6df2f6b09b4d6235602d6a591188320a82e)), closes [#536](https://github.com/uuidjs/uuid/issues/536) + +### [8.3.1](https://github.com/uuidjs/uuid/compare/v8.3.0...v8.3.1) (2020-10-04) + +### Bug Fixes + +- support expo>=39.0.0 ([#515](https://github.com/uuidjs/uuid/issues/515)) ([c65a0f3](https://github.com/uuidjs/uuid/commit/c65a0f3fa73b901959d638d1e3591dfacdbed867)), closes [#375](https://github.com/uuidjs/uuid/issues/375) + +## [8.3.0](https://github.com/uuidjs/uuid/compare/v8.2.0...v8.3.0) (2020-07-27) + +### Features + +- add parse/stringify/validate/version/NIL APIs ([#479](https://github.com/uuidjs/uuid/issues/479)) ([0e6c10b](https://github.com/uuidjs/uuid/commit/0e6c10ba1bf9517796ff23c052fc0468eedfd5f4)), closes [#475](https://github.com/uuidjs/uuid/issues/475) [#478](https://github.com/uuidjs/uuid/issues/478) [#480](https://github.com/uuidjs/uuid/issues/480) [#481](https://github.com/uuidjs/uuid/issues/481) [#180](https://github.com/uuidjs/uuid/issues/180) + +## [8.2.0](https://github.com/uuidjs/uuid/compare/v8.1.0...v8.2.0) (2020-06-23) + +### Features + +- improve performance of v1 string representation ([#453](https://github.com/uuidjs/uuid/issues/453)) ([0ee0b67](https://github.com/uuidjs/uuid/commit/0ee0b67c37846529c66089880414d29f3ae132d5)) +- remove deprecated v4 string parameter ([#454](https://github.com/uuidjs/uuid/issues/454)) ([88ce3ca](https://github.com/uuidjs/uuid/commit/88ce3ca0ba046f60856de62c7ce03f7ba98ba46c)), closes [#437](https://github.com/uuidjs/uuid/issues/437) +- support jspm ([#473](https://github.com/uuidjs/uuid/issues/473)) ([e9f2587](https://github.com/uuidjs/uuid/commit/e9f2587a92575cac31bc1d4ae944e17c09756659)) + +### Bug Fixes + +- prepare package exports for webpack 5 ([#468](https://github.com/uuidjs/uuid/issues/468)) ([8d6e6a5](https://github.com/uuidjs/uuid/commit/8d6e6a5f8965ca9575eb4d92e99a43435f4a58a8)) + +## [8.1.0](https://github.com/uuidjs/uuid/compare/v8.0.0...v8.1.0) (2020-05-20) + +### Features + +- improve v4 performance by reusing random number array ([#435](https://github.com/uuidjs/uuid/issues/435)) ([bf4af0d](https://github.com/uuidjs/uuid/commit/bf4af0d711b4d2ed03d1f74fd12ad0baa87dc79d)) +- optimize V8 performance of bytesToUuid ([#434](https://github.com/uuidjs/uuid/issues/434)) ([e156415](https://github.com/uuidjs/uuid/commit/e156415448ec1af2351fa0b6660cfb22581971f2)) + +### Bug Fixes + +- export package.json required by react-native and bundlers ([#449](https://github.com/uuidjs/uuid/issues/449)) ([be1c8fe](https://github.com/uuidjs/uuid/commit/be1c8fe9a3206c358e0059b52fafd7213aa48a52)), closes [ai/nanoevents#44](https://github.com/ai/nanoevents/issues/44#issuecomment-602010343) [#444](https://github.com/uuidjs/uuid/issues/444) + +## [8.0.0](https://github.com/uuidjs/uuid/compare/v7.0.3...v8.0.0) (2020-04-29) + +### ⚠ BREAKING CHANGES + +- For native ECMAScript Module (ESM) usage in Node.js only named exports are exposed, there is no more default export. + + ```diff + -import uuid from 'uuid'; + -console.log(uuid.v4()); // -> 'cd6c3b08-0adc-4f4b-a6ef-36087a1c9869' + +import { v4 as uuidv4 } from 'uuid'; + +uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d' + ``` + +- Deep requiring specific algorithms of this library like `require('uuid/v4')`, which has been deprecated in `uuid@7`, is no longer supported. + + Instead use the named exports that this module exports. + + For ECMAScript Modules (ESM): + + ```diff + -import uuidv4 from 'uuid/v4'; + +import { v4 as uuidv4 } from 'uuid'; + uuidv4(); + ``` + + For CommonJS: + + ```diff + -const uuidv4 = require('uuid/v4'); + +const { v4: uuidv4 } = require('uuid'); + uuidv4(); + ``` + +### Features + +- native Node.js ES Modules (wrapper approach) ([#423](https://github.com/uuidjs/uuid/issues/423)) ([2d9f590](https://github.com/uuidjs/uuid/commit/2d9f590ad9701d692625c07ed62f0a0f91227991)), closes [#245](https://github.com/uuidjs/uuid/issues/245) [#419](https://github.com/uuidjs/uuid/issues/419) [#342](https://github.com/uuidjs/uuid/issues/342) +- remove deep requires ([#426](https://github.com/uuidjs/uuid/issues/426)) ([daf72b8](https://github.com/uuidjs/uuid/commit/daf72b84ceb20272a81bb5fbddb05dd95922cbba)) + +### Bug Fixes + +- add CommonJS syntax example to README quickstart section ([#417](https://github.com/uuidjs/uuid/issues/417)) ([e0ec840](https://github.com/uuidjs/uuid/commit/e0ec8402c7ad44b7ef0453036c612f5db513fda0)) + +### [7.0.3](https://github.com/uuidjs/uuid/compare/v7.0.2...v7.0.3) (2020-03-31) + +### Bug Fixes + +- make deep require deprecation warning work in browsers ([#409](https://github.com/uuidjs/uuid/issues/409)) ([4b71107](https://github.com/uuidjs/uuid/commit/4b71107d8c0d2ef56861ede6403fc9dc35a1e6bf)), closes [#408](https://github.com/uuidjs/uuid/issues/408) + +### [7.0.2](https://github.com/uuidjs/uuid/compare/v7.0.1...v7.0.2) (2020-03-04) + +### Bug Fixes + +- make access to msCrypto consistent ([#393](https://github.com/uuidjs/uuid/issues/393)) ([8bf2a20](https://github.com/uuidjs/uuid/commit/8bf2a20f3565df743da7215eebdbada9d2df118c)) +- simplify link in deprecation warning ([#391](https://github.com/uuidjs/uuid/issues/391)) ([bb2c8e4](https://github.com/uuidjs/uuid/commit/bb2c8e4e9f4c5f9c1eaaf3ea59710c633cd90cb7)) +- update links to match content in readme ([#386](https://github.com/uuidjs/uuid/issues/386)) ([44f2f86](https://github.com/uuidjs/uuid/commit/44f2f86e9d2bbf14ee5f0f00f72a3db1292666d4)) + +### [7.0.1](https://github.com/uuidjs/uuid/compare/v7.0.0...v7.0.1) (2020-02-25) + +### Bug Fixes + +- clean up esm builds for node and browser ([#383](https://github.com/uuidjs/uuid/issues/383)) ([59e6a49](https://github.com/uuidjs/uuid/commit/59e6a49e7ce7b3e8fb0f3ee52b9daae72af467dc)) +- provide browser versions independent from module system ([#380](https://github.com/uuidjs/uuid/issues/380)) ([4344a22](https://github.com/uuidjs/uuid/commit/4344a22e7aed33be8627eeaaf05360f256a21753)), closes [#378](https://github.com/uuidjs/uuid/issues/378) + +## [7.0.0](https://github.com/uuidjs/uuid/compare/v3.4.0...v7.0.0) (2020-02-24) + +### ⚠ BREAKING CHANGES + +- The default export, which used to be the v4() method but which was already discouraged in v3.x of this library, has been removed. +- Explicitly note that deep imports of the different uuid version functions are deprecated and no longer encouraged and that ECMAScript module named imports should be used instead. Emit a deprecation warning for people who deep-require the different algorithm variants. +- Remove builtin support for insecure random number generators in the browser. Users who want that will have to supply their own random number generator function. +- Remove support for generating v3 and v5 UUIDs in Node.js<4.x +- Convert code base to ECMAScript Modules (ESM) and release CommonJS build for node and ESM build for browser bundlers. + +### Features + +- add UMD build to npm package ([#357](https://github.com/uuidjs/uuid/issues/357)) ([4e75adf](https://github.com/uuidjs/uuid/commit/4e75adf435196f28e3fbbe0185d654b5ded7ca2c)), closes [#345](https://github.com/uuidjs/uuid/issues/345) +- add various es module and CommonJS examples ([b238510](https://github.com/uuidjs/uuid/commit/b238510bf352463521f74bab175a3af9b7a42555)) +- ensure that docs are up-to-date in CI ([ee5e77d](https://github.com/uuidjs/uuid/commit/ee5e77db547474f5a8f23d6c857a6d399209986b)) +- hybrid CommonJS & ECMAScript modules build ([a3f078f](https://github.com/uuidjs/uuid/commit/a3f078faa0baff69ab41aed08e041f8f9c8993d0)) +- remove insecure fallback random number generator ([3a5842b](https://github.com/uuidjs/uuid/commit/3a5842b141a6e5de0ae338f391661e6b84b167c9)), closes [#173](https://github.com/uuidjs/uuid/issues/173) +- remove support for pre Node.js v4 Buffer API ([#356](https://github.com/uuidjs/uuid/issues/356)) ([b59b5c5](https://github.com/uuidjs/uuid/commit/b59b5c5ecad271c5453f1a156f011671f6d35627)) +- rename repository to github:uuidjs/uuid ([#351](https://github.com/uuidjs/uuid/issues/351)) ([c37a518](https://github.com/uuidjs/uuid/commit/c37a518e367ac4b6d0aa62dba1bc6ce9e85020f7)), closes [#338](https://github.com/uuidjs/uuid/issues/338) + +### Bug Fixes + +- add deep-require proxies for local testing and adjust tests ([#365](https://github.com/uuidjs/uuid/issues/365)) ([7fedc79](https://github.com/uuidjs/uuid/commit/7fedc79ac8fda4bfd1c566c7f05ef4ac13b2db48)) +- add note about removal of default export ([#372](https://github.com/uuidjs/uuid/issues/372)) ([12749b7](https://github.com/uuidjs/uuid/commit/12749b700eb49db8a9759fd306d8be05dbfbd58c)), closes [#370](https://github.com/uuidjs/uuid/issues/370) +- deprecated deep requiring of the different algorithm versions ([#361](https://github.com/uuidjs/uuid/issues/361)) ([c0bdf15](https://github.com/uuidjs/uuid/commit/c0bdf15e417639b1aeb0b247b2fb11f7a0a26b23)) + +## [3.4.0](https://github.com/uuidjs/uuid/compare/v3.3.3...v3.4.0) (2020-01-16) + +### Features + +- rename repository to github:uuidjs/uuid ([#351](https://github.com/uuidjs/uuid/issues/351)) ([e2d7314](https://github.com/uuidjs/uuid/commit/e2d7314)), closes [#338](https://github.com/uuidjs/uuid/issues/338) + +## [3.3.3](https://github.com/uuidjs/uuid/compare/v3.3.2...v3.3.3) (2019-08-19) + +### Bug Fixes + +- no longer run ci tests on node v4 +- upgrade dependencies + +## [3.3.2](https://github.com/uuidjs/uuid/compare/v3.3.1...v3.3.2) (2018-06-28) + +### Bug Fixes + +- typo ([305d877](https://github.com/uuidjs/uuid/commit/305d877)) + +## [3.3.1](https://github.com/uuidjs/uuid/compare/v3.3.0...v3.3.1) (2018-06-28) + +### Bug Fixes + +- fix [#284](https://github.com/uuidjs/uuid/issues/284) by setting function name in try-catch ([f2a60f2](https://github.com/uuidjs/uuid/commit/f2a60f2)) + +# [3.3.0](https://github.com/uuidjs/uuid/compare/v3.2.1...v3.3.0) (2018-06-22) + +### Bug Fixes + +- assignment to readonly property to allow running in strict mode ([#270](https://github.com/uuidjs/uuid/issues/270)) ([d062fdc](https://github.com/uuidjs/uuid/commit/d062fdc)) +- fix [#229](https://github.com/uuidjs/uuid/issues/229) ([c9684d4](https://github.com/uuidjs/uuid/commit/c9684d4)) +- Get correct version of IE11 crypto ([#274](https://github.com/uuidjs/uuid/issues/274)) ([153d331](https://github.com/uuidjs/uuid/commit/153d331)) +- mem issue when generating uuid ([#267](https://github.com/uuidjs/uuid/issues/267)) ([c47702c](https://github.com/uuidjs/uuid/commit/c47702c)) + +### Features + +- enforce Conventional Commit style commit messages ([#282](https://github.com/uuidjs/uuid/issues/282)) ([cc9a182](https://github.com/uuidjs/uuid/commit/cc9a182)) + +## [3.2.1](https://github.com/uuidjs/uuid/compare/v3.2.0...v3.2.1) (2018-01-16) + +### Bug Fixes + +- use msCrypto if available. Fixes [#241](https://github.com/uuidjs/uuid/issues/241) ([#247](https://github.com/uuidjs/uuid/issues/247)) ([1fef18b](https://github.com/uuidjs/uuid/commit/1fef18b)) + +# [3.2.0](https://github.com/uuidjs/uuid/compare/v3.1.0...v3.2.0) (2018-01-16) + +### Bug Fixes + +- remove mistakenly added typescript dependency, rollback version (standard-version will auto-increment) ([09fa824](https://github.com/uuidjs/uuid/commit/09fa824)) +- use msCrypto if available. Fixes [#241](https://github.com/uuidjs/uuid/issues/241) ([#247](https://github.com/uuidjs/uuid/issues/247)) ([1fef18b](https://github.com/uuidjs/uuid/commit/1fef18b)) + +### Features + +- Add v3 Support ([#217](https://github.com/uuidjs/uuid/issues/217)) ([d94f726](https://github.com/uuidjs/uuid/commit/d94f726)) + +# [3.1.0](https://github.com/uuidjs/uuid/compare/v3.1.0...v3.0.1) (2017-06-17) + +### Bug Fixes + +- (fix) Add .npmignore file to exclude test/ and other non-essential files from packing. (#183) +- Fix typo (#178) +- Simple typo fix (#165) + +### Features + +- v5 support in CLI (#197) +- V5 support (#188) + +# 3.0.1 (2016-11-28) + +- split uuid versions into separate files + +# 3.0.0 (2016-11-17) + +- remove .parse and .unparse + +# 2.0.0 + +- Removed uuid.BufferClass + +# 1.4.0 + +- Improved module context detection +- Removed public RNG functions + +# 1.3.2 + +- Improve tests and handling of v1() options (Issue #24) +- Expose RNG option to allow for perf testing with different generators + +# 1.3.0 + +- Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)! +- Support for node.js crypto API +- De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code diff --git a/node_modules/uuid/CONTRIBUTING.md b/node_modules/uuid/CONTRIBUTING.md new file mode 100644 index 00000000..4a4503d0 --- /dev/null +++ b/node_modules/uuid/CONTRIBUTING.md @@ -0,0 +1,18 @@ +# Contributing + +Please feel free to file GitHub Issues or propose Pull Requests. We're always happy to discuss improvements to this library! + +## Testing + +```shell +npm test +``` + +## Releasing + +Releases are supposed to be done from master, version bumping is automated through [`standard-version`](https://github.com/conventional-changelog/standard-version): + +```shell +npm run release -- --dry-run # verify output manually +npm run release # follow the instructions from the output of this command +``` diff --git a/node_modules/uuid/LICENSE.md b/node_modules/uuid/LICENSE.md new file mode 100644 index 00000000..39341683 --- /dev/null +++ b/node_modules/uuid/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright (c) 2010-2020 Robert Kieffer and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/uuid/README.md b/node_modules/uuid/README.md new file mode 100644 index 00000000..ed27e576 --- /dev/null +++ b/node_modules/uuid/README.md @@ -0,0 +1,505 @@ + + +# uuid [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser) + +For the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs + +- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs +- **Cross-platform** - Support for ... + - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds) + - Node 8, 10, 12, 14 + - Chrome, Safari, Firefox, Edge, IE 11 browsers + - Webpack and rollup.js module bundlers + - [React Native / Expo](#react-native--expo) +- **Secure** - Cryptographically-strong random values +- **Small** - Zero-dependency, small footprint, plays nice with "tree shaking" packagers +- **CLI** - Includes the [`uuid` command line](#command-line) utility + +**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details. + +## Quickstart + +To create a random UUID... + +**1. Install** + +```shell +npm install uuid +``` + +**2. Create a UUID** (ES6 module syntax) + +```javascript +import { v4 as uuidv4 } from 'uuid'; +uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d' +``` + +... or using CommonJS syntax: + +```javascript +const { v4: uuidv4 } = require('uuid'); +uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed' +``` + +For timestamp UUIDs, namespace UUIDs, and other options read on ... + +## API Summary + +| | | | +| --- | --- | --- | +| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` | +| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` | +| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` | +| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | | +| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | | +| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | | +| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | | +| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` | +| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` | + +## API + +### uuid.NIL + +The nil UUID string (all zeros). + +Example: + +```javascript +import { NIL as NIL_UUID } from 'uuid'; + +NIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000' +``` + +### uuid.parse(str) + +Convert UUID string to array of bytes + +| | | +| --------- | ---------------------------------------- | +| `str` | A valid UUID `String` | +| _returns_ | `Uint8Array[16]` | +| _throws_ | `TypeError` if `str` is not a valid UUID | + +Note: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below. + +Example: + +```javascript +import { parse as uuidParse } from 'uuid'; + +// Parse a UUID +const bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); + +// Convert to hex strings to show byte order (for documentation purposes) +[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ + // [ + // '6e', 'c0', 'bd', '7f', + // '11', 'c0', '43', 'da', + // '97', '5e', '2a', '8a', + // 'd9', 'eb', 'ae', '0b' + // ] +``` + +### uuid.stringify(arr[, offset]) + +Convert array of bytes to UUID string + +| | | +| -------------- | ---------------------------------------------------------------------------- | +| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. | +| [`offset` = 0] | `Number` Starting index in the Array | +| _returns_ | `String` | +| _throws_ | `TypeError` if a valid UUID string cannot be generated | + +Note: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below. + +Example: + +```javascript +import { stringify as uuidStringify } from 'uuid'; + +const uuidBytes = [ + 0x6e, + 0xc0, + 0xbd, + 0x7f, + 0x11, + 0xc0, + 0x43, + 0xda, + 0x97, + 0x5e, + 0x2a, + 0x8a, + 0xd9, + 0xeb, + 0xae, + 0x0b, +]; + +uuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b' +``` + +### uuid.v1([options[, buffer[, offset]]]) + +Create an RFC version 1 (timestamp) UUID + +| | | +| --- | --- | +| [`options`] | `Object` with one or more of the following properties: | +| [`options.node` ] | RFC "node" field as an `Array[6]` of byte values (per 4.1.6) | +| [`options.clockseq`] | RFC "clock sequence" as a `Number` between 0 - 0x3fff | +| [`options.msecs`] | RFC "timestamp" field (`Number` of milliseconds, unix epoch) | +| [`options.nsecs`] | RFC "timestamp" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) | +| [`options.random`] | `Array` of 16 random bytes (0-255) | +| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) | +| [`buffer`] | `Array \| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` | +| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` | +| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` | +| _throws_ | `Error` if more than 10M UUIDs/sec are requested | + +Note: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process. + +Note: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields. + +Example: + +```javascript +import { v1 as uuidv1 } from 'uuid'; + +uuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d' +``` + +Example using `options`: + +```javascript +import { v1 as uuidv1 } from 'uuid'; + +const v1options = { + node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab], + clockseq: 0x1234, + msecs: new Date('2011-11-01').getTime(), + nsecs: 5678, +}; +uuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab' +``` + +### uuid.v3(name, namespace[, buffer[, offset]]) + +Create an RFC version 3 (namespace w/ MD5) UUID + +API is identical to `v5()`, but uses "v3" instead. + +⚠️ Note: Per the RFC, "_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_." + +### uuid.v4([options[, buffer[, offset]]]) + +Create an RFC version 4 (random) UUID + +| | | +| --- | --- | +| [`options`] | `Object` with one or more of the following properties: | +| [`options.random`] | `Array` of 16 random bytes (0-255) | +| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) | +| [`buffer`] | `Array \| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` | +| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` | +| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` | + +Example: + +```javascript +import { v4 as uuidv4 } from 'uuid'; + +uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed' +``` + +Example using predefined `random` values: + +```javascript +import { v4 as uuidv4 } from 'uuid'; + +const v4options = { + random: [ + 0x10, + 0x91, + 0x56, + 0xbe, + 0xc4, + 0xfb, + 0xc1, + 0xea, + 0x71, + 0xb4, + 0xef, + 0xe1, + 0x67, + 0x1c, + 0x58, + 0x36, + ], +}; +uuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836' +``` + +### uuid.v5(name, namespace[, buffer[, offset]]) + +Create an RFC version 5 (namespace w/ SHA-1) UUID + +| | | +| --- | --- | +| `name` | `String \| Array` | +| `namespace` | `String \| Array[16]` Namespace UUID | +| [`buffer`] | `Array \| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` | +| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` | +| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` | + +Note: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`. + +Example with custom namespace: + +```javascript +import { v5 as uuidv5 } from 'uuid'; + +// Define a custom namespace. Readers, create your own using something like +// https://www.uuidgenerator.net/ +const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341'; + +uuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681' +``` + +Example with RFC `URL` namespace: + +```javascript +import { v5 as uuidv5 } from 'uuid'; + +uuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1' +``` + +### uuid.validate(str) + +Test a string to see if it is a valid UUID + +| | | +| --------- | --------------------------------------------------- | +| `str` | `String` to validate | +| _returns_ | `true` if string is a valid UUID, `false` otherwise | + +Example: + +```javascript +import { validate as uuidValidate } from 'uuid'; + +uuidValidate('not a UUID'); // ⇨ false +uuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true +``` + +Using `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds. + +```javascript +import { version as uuidVersion } from 'uuid'; +import { validate as uuidValidate } from 'uuid'; + +function uuidValidateV4(uuid) { + return uuidValidate(uuid) && uuidVersion(uuid) === 4; +} + +const v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210'; +const v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836'; + +uuidValidateV4(v4Uuid); // ⇨ true +uuidValidateV4(v1Uuid); // ⇨ false +``` + +### uuid.version(str) + +Detect RFC version of a UUID + +| | | +| --------- | ---------------------------------------- | +| `str` | A valid UUID `String` | +| _returns_ | `Number` The RFC version of the UUID | +| _throws_ | `TypeError` if `str` is not a valid UUID | + +Example: + +```javascript +import { version as uuidVersion } from 'uuid'; + +uuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1 +uuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4 +``` + +## Command Line + +UUIDs can be generated from the command line using `uuid`. + +```shell +$ uuid +ddeb27fb-d9a0-4624-be4d-4615062daed4 +``` + +The default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details: + +```shell +$ uuid --help + +Usage: + uuid + uuid v1 + uuid v3 + uuid v4 + uuid v5 + uuid --help + +Note: may be "URL" or "DNS" to use the corresponding UUIDs +defined by RFC4122 +``` + +## ECMAScript Modules + +This library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments). + +```javascript +import { v4 as uuidv4 } from 'uuid'; +uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed' +``` + +To run the examples you must first create a dist build of this library in the module root: + +```shell +npm run build +``` + +## CDN Builds + +### ECMAScript Modules + +To load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/): + +```html + +``` + +### UMD + +To load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs: + +**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**: + +```html + +``` + +**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**: + +```html + +``` + +**Using [cdnjs](https://cdnjs.com/libraries/uuid)**: + +```html + +``` + +These CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method: + +```html + +``` + +Methods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively. + +## "getRandomValues() not supported" + +This error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill: + +### React Native / Expo + +1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme) +1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point: + +```javascript +import 'react-native-get-random-values'; +import { v4 as uuidv4 } from 'uuid'; +``` + +Note: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`. + +### Web Workers / Service Workers (Edge <= 18) + +[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please). + +## Upgrading From `uuid@7.x` + +### Only Named Exports Supported When Using with Node.js ESM + +`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports. + +Instead of doing: + +```javascript +import uuid from 'uuid'; +uuid.v4(); +``` + +you will now have to use the named exports: + +```javascript +import { v4 as uuidv4 } from 'uuid'; +uuidv4(); +``` + +### Deep Requires No Longer Supported + +Deep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported. + +## Upgrading From `uuid@3.x` + +"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_" + +In order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped. + +### Deep Requires Now Deprecated + +`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds: + +```javascript +const uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED! +uuidv4(); +``` + +As of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do "tree-shaking" to remove dead code. Instead, use the `import` syntax: + +```javascript +import { v4 as uuidv4 } from 'uuid'; +uuidv4(); +``` + +... or for CommonJS: + +```javascript +const { v4: uuidv4 } = require('uuid'); +uuidv4(); +``` + +### Default Export Removed + +`uuid@3.x` was exporting the Version 4 UUID method as a default export: + +```javascript +const uuid = require('uuid'); // <== REMOVED! +``` + +This usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`. + +---- +Markdown generated from [README_js.md](README_js.md) by [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](https://github.com/broofa/runmd) \ No newline at end of file diff --git a/node_modules/uuid/dist/bin/uuid b/node_modules/uuid/dist/bin/uuid new file mode 100644 index 00000000..f38d2ee1 --- /dev/null +++ b/node_modules/uuid/dist/bin/uuid @@ -0,0 +1,2 @@ +#!/usr/bin/env node +require('../uuid-bin'); diff --git a/node_modules/uuid/dist/esm-browser/index.js b/node_modules/uuid/dist/esm-browser/index.js new file mode 100644 index 00000000..1db6f6d2 --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/index.js @@ -0,0 +1,9 @@ +export { default as v1 } from './v1.js'; +export { default as v3 } from './v3.js'; +export { default as v4 } from './v4.js'; +export { default as v5 } from './v5.js'; +export { default as NIL } from './nil.js'; +export { default as version } from './version.js'; +export { default as validate } from './validate.js'; +export { default as stringify } from './stringify.js'; +export { default as parse } from './parse.js'; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/md5.js b/node_modules/uuid/dist/esm-browser/md5.js new file mode 100644 index 00000000..8b5d46a7 --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/md5.js @@ -0,0 +1,215 @@ +/* + * Browser-compatible JavaScript MD5 + * + * Modification of JavaScript MD5 + * https://github.com/blueimp/JavaScript-MD5 + * + * Copyright 2011, Sebastian Tschan + * https://blueimp.net + * + * Licensed under the MIT license: + * https://opensource.org/licenses/MIT + * + * Based on + * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message + * Digest Algorithm, as defined in RFC 1321. + * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for more info. + */ +function md5(bytes) { + if (typeof bytes === 'string') { + var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape + + bytes = new Uint8Array(msg.length); + + for (var i = 0; i < msg.length; ++i) { + bytes[i] = msg.charCodeAt(i); + } + } + + return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8)); +} +/* + * Convert an array of little-endian words to an array of bytes + */ + + +function md5ToHexEncodedArray(input) { + var output = []; + var length32 = input.length * 32; + var hexTab = '0123456789abcdef'; + + for (var i = 0; i < length32; i += 8) { + var x = input[i >> 5] >>> i % 32 & 0xff; + var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16); + output.push(hex); + } + + return output; +} +/** + * Calculate output length with padding and bit length + */ + + +function getOutputLength(inputLength8) { + return (inputLength8 + 64 >>> 9 << 4) + 14 + 1; +} +/* + * Calculate the MD5 of an array of little-endian words, and a bit length. + */ + + +function wordsToMd5(x, len) { + /* append padding */ + x[len >> 5] |= 0x80 << len % 32; + x[getOutputLength(len) - 1] = len; + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + + for (var i = 0; i < x.length; i += 16) { + var olda = a; + var oldb = b; + var oldc = c; + var oldd = d; + a = md5ff(a, b, c, d, x[i], 7, -680876936); + d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); + c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); + b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); + a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); + d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); + c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); + b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); + a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); + d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); + c = md5ff(c, d, a, b, x[i + 10], 17, -42063); + b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); + a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); + d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); + c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); + b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); + a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); + d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); + c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); + b = md5gg(b, c, d, a, x[i], 20, -373897302); + a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); + d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); + c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); + b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); + a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); + d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); + c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); + b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); + a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); + d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); + c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); + b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); + a = md5hh(a, b, c, d, x[i + 5], 4, -378558); + d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); + c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); + b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); + a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); + d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); + c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); + b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); + a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); + d = md5hh(d, a, b, c, x[i], 11, -358537222); + c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); + b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); + a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); + d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); + c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); + b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); + a = md5ii(a, b, c, d, x[i], 6, -198630844); + d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); + c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); + b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); + a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); + d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); + c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); + b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); + a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); + d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); + c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); + b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); + a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); + d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); + c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); + b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); + a = safeAdd(a, olda); + b = safeAdd(b, oldb); + c = safeAdd(c, oldc); + d = safeAdd(d, oldd); + } + + return [a, b, c, d]; +} +/* + * Convert an array bytes to an array of little-endian words + * Characters >255 have their high-byte silently ignored. + */ + + +function bytesToWords(input) { + if (input.length === 0) { + return []; + } + + var length8 = input.length * 8; + var output = new Uint32Array(getOutputLength(length8)); + + for (var i = 0; i < length8; i += 8) { + output[i >> 5] |= (input[i / 8] & 0xff) << i % 32; + } + + return output; +} +/* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ + + +function safeAdd(x, y) { + var lsw = (x & 0xffff) + (y & 0xffff); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return msw << 16 | lsw & 0xffff; +} +/* + * Bitwise rotate a 32-bit number to the left. + */ + + +function bitRotateLeft(num, cnt) { + return num << cnt | num >>> 32 - cnt; +} +/* + * These functions implement the four basic operations the algorithm uses. + */ + + +function md5cmn(q, a, b, x, s, t) { + return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); +} + +function md5ff(a, b, c, d, x, s, t) { + return md5cmn(b & c | ~b & d, a, b, x, s, t); +} + +function md5gg(a, b, c, d, x, s, t) { + return md5cmn(b & d | c & ~d, a, b, x, s, t); +} + +function md5hh(a, b, c, d, x, s, t) { + return md5cmn(b ^ c ^ d, a, b, x, s, t); +} + +function md5ii(a, b, c, d, x, s, t) { + return md5cmn(c ^ (b | ~d), a, b, x, s, t); +} + +export default md5; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/nil.js b/node_modules/uuid/dist/esm-browser/nil.js new file mode 100644 index 00000000..b36324c2 --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/nil.js @@ -0,0 +1 @@ +export default '00000000-0000-0000-0000-000000000000'; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/parse.js b/node_modules/uuid/dist/esm-browser/parse.js new file mode 100644 index 00000000..7c5b1d5a --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/parse.js @@ -0,0 +1,35 @@ +import validate from './validate.js'; + +function parse(uuid) { + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + var v; + var arr = new Uint8Array(16); // Parse ########-....-....-....-............ + + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ + + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} + +export default parse; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/regex.js b/node_modules/uuid/dist/esm-browser/regex.js new file mode 100644 index 00000000..3da8673a --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/regex.js @@ -0,0 +1 @@ +export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/rng.js b/node_modules/uuid/dist/esm-browser/rng.js new file mode 100644 index 00000000..8abbf2ea --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/rng.js @@ -0,0 +1,19 @@ +// Unique ID creation requires a high quality random # generator. In the browser we therefore +// require the crypto API and do not support built-in fallback to lower quality random number +// generators (like Math.random()). +var getRandomValues; +var rnds8 = new Uint8Array(16); +export default function rng() { + // lazy load so that environments that need to polyfill have a chance to do so + if (!getRandomValues) { + // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also, + // find the complete implementation of crypto (msCrypto) on IE11. + getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto); + + if (!getRandomValues) { + throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); + } + } + + return getRandomValues(rnds8); +} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/sha1.js b/node_modules/uuid/dist/esm-browser/sha1.js new file mode 100644 index 00000000..940548ba --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/sha1.js @@ -0,0 +1,96 @@ +// Adapted from Chris Veness' SHA1 code at +// http://www.movable-type.co.uk/scripts/sha1.html +function f(s, x, y, z) { + switch (s) { + case 0: + return x & y ^ ~x & z; + + case 1: + return x ^ y ^ z; + + case 2: + return x & y ^ x & z ^ y & z; + + case 3: + return x ^ y ^ z; + } +} + +function ROTL(x, n) { + return x << n | x >>> 32 - n; +} + +function sha1(bytes) { + var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; + var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; + + if (typeof bytes === 'string') { + var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape + + bytes = []; + + for (var i = 0; i < msg.length; ++i) { + bytes.push(msg.charCodeAt(i)); + } + } else if (!Array.isArray(bytes)) { + // Convert Array-like to Array + bytes = Array.prototype.slice.call(bytes); + } + + bytes.push(0x80); + var l = bytes.length / 4 + 2; + var N = Math.ceil(l / 16); + var M = new Array(N); + + for (var _i = 0; _i < N; ++_i) { + var arr = new Uint32Array(16); + + for (var j = 0; j < 16; ++j) { + arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3]; + } + + M[_i] = arr; + } + + M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32); + M[N - 1][14] = Math.floor(M[N - 1][14]); + M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff; + + for (var _i2 = 0; _i2 < N; ++_i2) { + var W = new Uint32Array(80); + + for (var t = 0; t < 16; ++t) { + W[t] = M[_i2][t]; + } + + for (var _t = 16; _t < 80; ++_t) { + W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1); + } + + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + var e = H[4]; + + for (var _t2 = 0; _t2 < 80; ++_t2) { + var s = Math.floor(_t2 / 20); + var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0; + e = d; + d = c; + c = ROTL(b, 30) >>> 0; + b = a; + a = T; + } + + H[0] = H[0] + a >>> 0; + H[1] = H[1] + b >>> 0; + H[2] = H[2] + c >>> 0; + H[3] = H[3] + d >>> 0; + H[4] = H[4] + e >>> 0; + } + + return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff]; +} + +export default sha1; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/stringify.js b/node_modules/uuid/dist/esm-browser/stringify.js new file mode 100644 index 00000000..31021115 --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/stringify.js @@ -0,0 +1,30 @@ +import validate from './validate.js'; +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ + +var byteToHex = []; + +for (var i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr) { + var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!validate(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +export default stringify; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v1.js b/node_modules/uuid/dist/esm-browser/v1.js new file mode 100644 index 00000000..1a22591e --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/v1.js @@ -0,0 +1,95 @@ +import rng from './rng.js'; +import stringify from './stringify.js'; // **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html + +var _nodeId; + +var _clockseq; // Previous uuid creation time + + +var _lastMSecs = 0; +var _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details + +function v1(options, buf, offset) { + var i = buf && offset || 0; + var b = buf || new Array(16); + options = options || {}; + var node = options.node || _nodeId; + var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + + if (node == null || clockseq == null) { + var seedBytes = options.random || (options.rng || rng)(); + + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + + + var msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + + var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) + + var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression + + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + + + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested + + + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + + msecs += 12219292800000; // `time_low` + + var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` + + var tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` + + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` + + b[i++] = clockseq & 0xff; // `node` + + for (var n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + + return buf || stringify(b); +} + +export default v1; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v3.js b/node_modules/uuid/dist/esm-browser/v3.js new file mode 100644 index 00000000..c9ab9a4c --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/v3.js @@ -0,0 +1,4 @@ +import v35 from './v35.js'; +import md5 from './md5.js'; +var v3 = v35('v3', 0x30, md5); +export default v3; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v35.js b/node_modules/uuid/dist/esm-browser/v35.js new file mode 100644 index 00000000..31dd8a1c --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/v35.js @@ -0,0 +1,64 @@ +import stringify from './stringify.js'; +import parse from './parse.js'; + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + + var bytes = []; + + for (var i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + + return bytes; +} + +export var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +export var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +export default function (name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } + + if (typeof namespace === 'string') { + namespace = parse(namespace); + } + + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` + + + var bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (var i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; + } + + return stringify(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v4.js b/node_modules/uuid/dist/esm-browser/v4.js new file mode 100644 index 00000000..404810a4 --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/v4.js @@ -0,0 +1,24 @@ +import rng from './rng.js'; +import stringify from './stringify.js'; + +function v4(options, buf, offset) { + options = options || {}; + var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (var i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; + } + + return stringify(rnds); +} + +export default v4; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v5.js b/node_modules/uuid/dist/esm-browser/v5.js new file mode 100644 index 00000000..c08d96ba --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/v5.js @@ -0,0 +1,4 @@ +import v35 from './v35.js'; +import sha1 from './sha1.js'; +var v5 = v35('v5', 0x50, sha1); +export default v5; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/validate.js b/node_modules/uuid/dist/esm-browser/validate.js new file mode 100644 index 00000000..f1cdc7af --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/validate.js @@ -0,0 +1,7 @@ +import REGEX from './regex.js'; + +function validate(uuid) { + return typeof uuid === 'string' && REGEX.test(uuid); +} + +export default validate; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/version.js b/node_modules/uuid/dist/esm-browser/version.js new file mode 100644 index 00000000..77530e9c --- /dev/null +++ b/node_modules/uuid/dist/esm-browser/version.js @@ -0,0 +1,11 @@ +import validate from './validate.js'; + +function version(uuid) { + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + return parseInt(uuid.substr(14, 1), 16); +} + +export default version; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/index.js b/node_modules/uuid/dist/esm-node/index.js new file mode 100644 index 00000000..1db6f6d2 --- /dev/null +++ b/node_modules/uuid/dist/esm-node/index.js @@ -0,0 +1,9 @@ +export { default as v1 } from './v1.js'; +export { default as v3 } from './v3.js'; +export { default as v4 } from './v4.js'; +export { default as v5 } from './v5.js'; +export { default as NIL } from './nil.js'; +export { default as version } from './version.js'; +export { default as validate } from './validate.js'; +export { default as stringify } from './stringify.js'; +export { default as parse } from './parse.js'; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/md5.js b/node_modules/uuid/dist/esm-node/md5.js new file mode 100644 index 00000000..4d68b040 --- /dev/null +++ b/node_modules/uuid/dist/esm-node/md5.js @@ -0,0 +1,13 @@ +import crypto from 'crypto'; + +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return crypto.createHash('md5').update(bytes).digest(); +} + +export default md5; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/nil.js b/node_modules/uuid/dist/esm-node/nil.js new file mode 100644 index 00000000..b36324c2 --- /dev/null +++ b/node_modules/uuid/dist/esm-node/nil.js @@ -0,0 +1 @@ +export default '00000000-0000-0000-0000-000000000000'; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/parse.js b/node_modules/uuid/dist/esm-node/parse.js new file mode 100644 index 00000000..6421c5d5 --- /dev/null +++ b/node_modules/uuid/dist/esm-node/parse.js @@ -0,0 +1,35 @@ +import validate from './validate.js'; + +function parse(uuid) { + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + let v; + const arr = new Uint8Array(16); // Parse ########-....-....-....-............ + + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ + + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} + +export default parse; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/regex.js b/node_modules/uuid/dist/esm-node/regex.js new file mode 100644 index 00000000..3da8673a --- /dev/null +++ b/node_modules/uuid/dist/esm-node/regex.js @@ -0,0 +1 @@ +export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/rng.js b/node_modules/uuid/dist/esm-node/rng.js new file mode 100644 index 00000000..80062449 --- /dev/null +++ b/node_modules/uuid/dist/esm-node/rng.js @@ -0,0 +1,12 @@ +import crypto from 'crypto'; +const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate + +let poolPtr = rnds8Pool.length; +export default function rng() { + if (poolPtr > rnds8Pool.length - 16) { + crypto.randomFillSync(rnds8Pool); + poolPtr = 0; + } + + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/sha1.js b/node_modules/uuid/dist/esm-node/sha1.js new file mode 100644 index 00000000..e23850b4 --- /dev/null +++ b/node_modules/uuid/dist/esm-node/sha1.js @@ -0,0 +1,13 @@ +import crypto from 'crypto'; + +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return crypto.createHash('sha1').update(bytes).digest(); +} + +export default sha1; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/stringify.js b/node_modules/uuid/dist/esm-node/stringify.js new file mode 100644 index 00000000..f9bca120 --- /dev/null +++ b/node_modules/uuid/dist/esm-node/stringify.js @@ -0,0 +1,29 @@ +import validate from './validate.js'; +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ + +const byteToHex = []; + +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr, offset = 0) { + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!validate(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +export default stringify; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v1.js b/node_modules/uuid/dist/esm-node/v1.js new file mode 100644 index 00000000..ebf81acb --- /dev/null +++ b/node_modules/uuid/dist/esm-node/v1.js @@ -0,0 +1,95 @@ +import rng from './rng.js'; +import stringify from './stringify.js'; // **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html + +let _nodeId; + +let _clockseq; // Previous uuid creation time + + +let _lastMSecs = 0; +let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details + +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || rng)(); + + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + + + let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + + let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) + + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression + + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + + + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested + + + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + + msecs += 12219292800000; // `time_low` + + const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` + + const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` + + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` + + b[i++] = clockseq & 0xff; // `node` + + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + + return buf || stringify(b); +} + +export default v1; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v3.js b/node_modules/uuid/dist/esm-node/v3.js new file mode 100644 index 00000000..09063b86 --- /dev/null +++ b/node_modules/uuid/dist/esm-node/v3.js @@ -0,0 +1,4 @@ +import v35 from './v35.js'; +import md5 from './md5.js'; +const v3 = v35('v3', 0x30, md5); +export default v3; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v35.js b/node_modules/uuid/dist/esm-node/v35.js new file mode 100644 index 00000000..22f6a196 --- /dev/null +++ b/node_modules/uuid/dist/esm-node/v35.js @@ -0,0 +1,64 @@ +import stringify from './stringify.js'; +import parse from './parse.js'; + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + + const bytes = []; + + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + + return bytes; +} + +export const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +export const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +export default function (name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } + + if (typeof namespace === 'string') { + namespace = parse(namespace); + } + + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` + + + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; + } + + return stringify(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v4.js b/node_modules/uuid/dist/esm-node/v4.js new file mode 100644 index 00000000..efad926f --- /dev/null +++ b/node_modules/uuid/dist/esm-node/v4.js @@ -0,0 +1,24 @@ +import rng from './rng.js'; +import stringify from './stringify.js'; + +function v4(options, buf, offset) { + options = options || {}; + const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; + } + + return stringify(rnds); +} + +export default v4; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v5.js b/node_modules/uuid/dist/esm-node/v5.js new file mode 100644 index 00000000..e87fe317 --- /dev/null +++ b/node_modules/uuid/dist/esm-node/v5.js @@ -0,0 +1,4 @@ +import v35 from './v35.js'; +import sha1 from './sha1.js'; +const v5 = v35('v5', 0x50, sha1); +export default v5; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/validate.js b/node_modules/uuid/dist/esm-node/validate.js new file mode 100644 index 00000000..f1cdc7af --- /dev/null +++ b/node_modules/uuid/dist/esm-node/validate.js @@ -0,0 +1,7 @@ +import REGEX from './regex.js'; + +function validate(uuid) { + return typeof uuid === 'string' && REGEX.test(uuid); +} + +export default validate; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/version.js b/node_modules/uuid/dist/esm-node/version.js new file mode 100644 index 00000000..77530e9c --- /dev/null +++ b/node_modules/uuid/dist/esm-node/version.js @@ -0,0 +1,11 @@ +import validate from './validate.js'; + +function version(uuid) { + if (!validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + return parseInt(uuid.substr(14, 1), 16); +} + +export default version; \ No newline at end of file diff --git a/node_modules/uuid/dist/index.js b/node_modules/uuid/dist/index.js new file mode 100644 index 00000000..bf13b103 --- /dev/null +++ b/node_modules/uuid/dist/index.js @@ -0,0 +1,79 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "v1", { + enumerable: true, + get: function () { + return _v.default; + } +}); +Object.defineProperty(exports, "v3", { + enumerable: true, + get: function () { + return _v2.default; + } +}); +Object.defineProperty(exports, "v4", { + enumerable: true, + get: function () { + return _v3.default; + } +}); +Object.defineProperty(exports, "v5", { + enumerable: true, + get: function () { + return _v4.default; + } +}); +Object.defineProperty(exports, "NIL", { + enumerable: true, + get: function () { + return _nil.default; + } +}); +Object.defineProperty(exports, "version", { + enumerable: true, + get: function () { + return _version.default; + } +}); +Object.defineProperty(exports, "validate", { + enumerable: true, + get: function () { + return _validate.default; + } +}); +Object.defineProperty(exports, "stringify", { + enumerable: true, + get: function () { + return _stringify.default; + } +}); +Object.defineProperty(exports, "parse", { + enumerable: true, + get: function () { + return _parse.default; + } +}); + +var _v = _interopRequireDefault(require("./v1.js")); + +var _v2 = _interopRequireDefault(require("./v3.js")); + +var _v3 = _interopRequireDefault(require("./v4.js")); + +var _v4 = _interopRequireDefault(require("./v5.js")); + +var _nil = _interopRequireDefault(require("./nil.js")); + +var _version = _interopRequireDefault(require("./version.js")); + +var _validate = _interopRequireDefault(require("./validate.js")); + +var _stringify = _interopRequireDefault(require("./stringify.js")); + +var _parse = _interopRequireDefault(require("./parse.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } \ No newline at end of file diff --git a/node_modules/uuid/dist/md5-browser.js b/node_modules/uuid/dist/md5-browser.js new file mode 100644 index 00000000..7a4582ac --- /dev/null +++ b/node_modules/uuid/dist/md5-browser.js @@ -0,0 +1,223 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +/* + * Browser-compatible JavaScript MD5 + * + * Modification of JavaScript MD5 + * https://github.com/blueimp/JavaScript-MD5 + * + * Copyright 2011, Sebastian Tschan + * https://blueimp.net + * + * Licensed under the MIT license: + * https://opensource.org/licenses/MIT + * + * Based on + * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message + * Digest Algorithm, as defined in RFC 1321. + * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for more info. + */ +function md5(bytes) { + if (typeof bytes === 'string') { + const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape + + bytes = new Uint8Array(msg.length); + + for (let i = 0; i < msg.length; ++i) { + bytes[i] = msg.charCodeAt(i); + } + } + + return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8)); +} +/* + * Convert an array of little-endian words to an array of bytes + */ + + +function md5ToHexEncodedArray(input) { + const output = []; + const length32 = input.length * 32; + const hexTab = '0123456789abcdef'; + + for (let i = 0; i < length32; i += 8) { + const x = input[i >> 5] >>> i % 32 & 0xff; + const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16); + output.push(hex); + } + + return output; +} +/** + * Calculate output length with padding and bit length + */ + + +function getOutputLength(inputLength8) { + return (inputLength8 + 64 >>> 9 << 4) + 14 + 1; +} +/* + * Calculate the MD5 of an array of little-endian words, and a bit length. + */ + + +function wordsToMd5(x, len) { + /* append padding */ + x[len >> 5] |= 0x80 << len % 32; + x[getOutputLength(len) - 1] = len; + let a = 1732584193; + let b = -271733879; + let c = -1732584194; + let d = 271733878; + + for (let i = 0; i < x.length; i += 16) { + const olda = a; + const oldb = b; + const oldc = c; + const oldd = d; + a = md5ff(a, b, c, d, x[i], 7, -680876936); + d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); + c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); + b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); + a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); + d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); + c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); + b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); + a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); + d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); + c = md5ff(c, d, a, b, x[i + 10], 17, -42063); + b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); + a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); + d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); + c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); + b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); + a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); + d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); + c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); + b = md5gg(b, c, d, a, x[i], 20, -373897302); + a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); + d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); + c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); + b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); + a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); + d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); + c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); + b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); + a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); + d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); + c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); + b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); + a = md5hh(a, b, c, d, x[i + 5], 4, -378558); + d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); + c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); + b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); + a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); + d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); + c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); + b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); + a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); + d = md5hh(d, a, b, c, x[i], 11, -358537222); + c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); + b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); + a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); + d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); + c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); + b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); + a = md5ii(a, b, c, d, x[i], 6, -198630844); + d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); + c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); + b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); + a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); + d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); + c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); + b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); + a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); + d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); + c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); + b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); + a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); + d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); + c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); + b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); + a = safeAdd(a, olda); + b = safeAdd(b, oldb); + c = safeAdd(c, oldc); + d = safeAdd(d, oldd); + } + + return [a, b, c, d]; +} +/* + * Convert an array bytes to an array of little-endian words + * Characters >255 have their high-byte silently ignored. + */ + + +function bytesToWords(input) { + if (input.length === 0) { + return []; + } + + const length8 = input.length * 8; + const output = new Uint32Array(getOutputLength(length8)); + + for (let i = 0; i < length8; i += 8) { + output[i >> 5] |= (input[i / 8] & 0xff) << i % 32; + } + + return output; +} +/* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ + + +function safeAdd(x, y) { + const lsw = (x & 0xffff) + (y & 0xffff); + const msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return msw << 16 | lsw & 0xffff; +} +/* + * Bitwise rotate a 32-bit number to the left. + */ + + +function bitRotateLeft(num, cnt) { + return num << cnt | num >>> 32 - cnt; +} +/* + * These functions implement the four basic operations the algorithm uses. + */ + + +function md5cmn(q, a, b, x, s, t) { + return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); +} + +function md5ff(a, b, c, d, x, s, t) { + return md5cmn(b & c | ~b & d, a, b, x, s, t); +} + +function md5gg(a, b, c, d, x, s, t) { + return md5cmn(b & d | c & ~d, a, b, x, s, t); +} + +function md5hh(a, b, c, d, x, s, t) { + return md5cmn(b ^ c ^ d, a, b, x, s, t); +} + +function md5ii(a, b, c, d, x, s, t) { + return md5cmn(c ^ (b | ~d), a, b, x, s, t); +} + +var _default = md5; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/md5.js b/node_modules/uuid/dist/md5.js new file mode 100644 index 00000000..824d4816 --- /dev/null +++ b/node_modules/uuid/dist/md5.js @@ -0,0 +1,23 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _crypto = _interopRequireDefault(require("crypto")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return _crypto.default.createHash('md5').update(bytes).digest(); +} + +var _default = md5; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/nil.js b/node_modules/uuid/dist/nil.js new file mode 100644 index 00000000..7ade577b --- /dev/null +++ b/node_modules/uuid/dist/nil.js @@ -0,0 +1,8 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = '00000000-0000-0000-0000-000000000000'; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/parse.js b/node_modules/uuid/dist/parse.js new file mode 100644 index 00000000..4c69fc39 --- /dev/null +++ b/node_modules/uuid/dist/parse.js @@ -0,0 +1,45 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _validate = _interopRequireDefault(require("./validate.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function parse(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError('Invalid UUID'); + } + + let v; + const arr = new Uint8Array(16); // Parse ########-....-....-....-............ + + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ + + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} + +var _default = parse; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/regex.js b/node_modules/uuid/dist/regex.js new file mode 100644 index 00000000..1ef91d64 --- /dev/null +++ b/node_modules/uuid/dist/regex.js @@ -0,0 +1,8 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/rng-browser.js b/node_modules/uuid/dist/rng-browser.js new file mode 100644 index 00000000..91faeae6 --- /dev/null +++ b/node_modules/uuid/dist/rng-browser.js @@ -0,0 +1,26 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = rng; +// Unique ID creation requires a high quality random # generator. In the browser we therefore +// require the crypto API and do not support built-in fallback to lower quality random number +// generators (like Math.random()). +let getRandomValues; +const rnds8 = new Uint8Array(16); + +function rng() { + // lazy load so that environments that need to polyfill have a chance to do so + if (!getRandomValues) { + // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also, + // find the complete implementation of crypto (msCrypto) on IE11. + getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto); + + if (!getRandomValues) { + throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); + } + } + + return getRandomValues(rnds8); +} \ No newline at end of file diff --git a/node_modules/uuid/dist/rng.js b/node_modules/uuid/dist/rng.js new file mode 100644 index 00000000..3507f937 --- /dev/null +++ b/node_modules/uuid/dist/rng.js @@ -0,0 +1,24 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = rng; + +var _crypto = _interopRequireDefault(require("crypto")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate + +let poolPtr = rnds8Pool.length; + +function rng() { + if (poolPtr > rnds8Pool.length - 16) { + _crypto.default.randomFillSync(rnds8Pool); + + poolPtr = 0; + } + + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} \ No newline at end of file diff --git a/node_modules/uuid/dist/sha1-browser.js b/node_modules/uuid/dist/sha1-browser.js new file mode 100644 index 00000000..24cbcedc --- /dev/null +++ b/node_modules/uuid/dist/sha1-browser.js @@ -0,0 +1,104 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +// Adapted from Chris Veness' SHA1 code at +// http://www.movable-type.co.uk/scripts/sha1.html +function f(s, x, y, z) { + switch (s) { + case 0: + return x & y ^ ~x & z; + + case 1: + return x ^ y ^ z; + + case 2: + return x & y ^ x & z ^ y & z; + + case 3: + return x ^ y ^ z; + } +} + +function ROTL(x, n) { + return x << n | x >>> 32 - n; +} + +function sha1(bytes) { + const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; + const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; + + if (typeof bytes === 'string') { + const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape + + bytes = []; + + for (let i = 0; i < msg.length; ++i) { + bytes.push(msg.charCodeAt(i)); + } + } else if (!Array.isArray(bytes)) { + // Convert Array-like to Array + bytes = Array.prototype.slice.call(bytes); + } + + bytes.push(0x80); + const l = bytes.length / 4 + 2; + const N = Math.ceil(l / 16); + const M = new Array(N); + + for (let i = 0; i < N; ++i) { + const arr = new Uint32Array(16); + + for (let j = 0; j < 16; ++j) { + arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3]; + } + + M[i] = arr; + } + + M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32); + M[N - 1][14] = Math.floor(M[N - 1][14]); + M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff; + + for (let i = 0; i < N; ++i) { + const W = new Uint32Array(80); + + for (let t = 0; t < 16; ++t) { + W[t] = M[i][t]; + } + + for (let t = 16; t < 80; ++t) { + W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1); + } + + let a = H[0]; + let b = H[1]; + let c = H[2]; + let d = H[3]; + let e = H[4]; + + for (let t = 0; t < 80; ++t) { + const s = Math.floor(t / 20); + const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0; + e = d; + d = c; + c = ROTL(b, 30) >>> 0; + b = a; + a = T; + } + + H[0] = H[0] + a >>> 0; + H[1] = H[1] + b >>> 0; + H[2] = H[2] + c >>> 0; + H[3] = H[3] + d >>> 0; + H[4] = H[4] + e >>> 0; + } + + return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff]; +} + +var _default = sha1; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/sha1.js b/node_modules/uuid/dist/sha1.js new file mode 100644 index 00000000..03bdd63c --- /dev/null +++ b/node_modules/uuid/dist/sha1.js @@ -0,0 +1,23 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _crypto = _interopRequireDefault(require("crypto")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return _crypto.default.createHash('sha1').update(bytes).digest(); +} + +var _default = sha1; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/stringify.js b/node_modules/uuid/dist/stringify.js new file mode 100644 index 00000000..b8e75194 --- /dev/null +++ b/node_modules/uuid/dist/stringify.js @@ -0,0 +1,39 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _validate = _interopRequireDefault(require("./validate.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ +const byteToHex = []; + +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr, offset = 0) { + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!(0, _validate.default)(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +var _default = stringify; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuid.min.js b/node_modules/uuid/dist/umd/uuid.min.js new file mode 100644 index 00000000..639ca2f2 --- /dev/null +++ b/node_modules/uuid/dist/umd/uuid.min.js @@ -0,0 +1 @@ +!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).uuid={})}(this,(function(r){"use strict";var e,n=new Uint8Array(16);function t(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(n)}var o=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function a(r){return"string"==typeof r&&o.test(r)}for(var i,u,f=[],s=0;s<256;++s)f.push((s+256).toString(16).substr(1));function c(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(f[r[e+0]]+f[r[e+1]]+f[r[e+2]]+f[r[e+3]]+"-"+f[r[e+4]]+f[r[e+5]]+"-"+f[r[e+6]]+f[r[e+7]]+"-"+f[r[e+8]]+f[r[e+9]]+"-"+f[r[e+10]]+f[r[e+11]]+f[r[e+12]]+f[r[e+13]]+f[r[e+14]]+f[r[e+15]]).toLowerCase();if(!a(n))throw TypeError("Stringified UUID is invalid");return n}var l=0,d=0;function v(r){if(!a(r))throw TypeError("Invalid UUID");var e,n=new Uint8Array(16);return n[0]=(e=parseInt(r.slice(0,8),16))>>>24,n[1]=e>>>16&255,n[2]=e>>>8&255,n[3]=255&e,n[4]=(e=parseInt(r.slice(9,13),16))>>>8,n[5]=255&e,n[6]=(e=parseInt(r.slice(14,18),16))>>>8,n[7]=255&e,n[8]=(e=parseInt(r.slice(19,23),16))>>>8,n[9]=255&e,n[10]=(e=parseInt(r.slice(24,36),16))/1099511627776&255,n[11]=e/4294967296&255,n[12]=e>>>24&255,n[13]=e>>>16&255,n[14]=e>>>8&255,n[15]=255&e,n}function p(r,e,n){function t(r,t,o,a){if("string"==typeof r&&(r=function(r){r=unescape(encodeURIComponent(r));for(var e=[],n=0;n>>9<<4)+1}function y(r,e){var n=(65535&r)+(65535&e);return(r>>16)+(e>>16)+(n>>16)<<16|65535&n}function g(r,e,n,t,o,a){return y((i=y(y(e,r),y(t,a)))<<(u=o)|i>>>32-u,n);var i,u}function m(r,e,n,t,o,a,i){return g(e&n|~e&t,r,e,o,a,i)}function w(r,e,n,t,o,a,i){return g(e&t|n&~t,r,e,o,a,i)}function b(r,e,n,t,o,a,i){return g(e^n^t,r,e,o,a,i)}function A(r,e,n,t,o,a,i){return g(n^(e|~t),r,e,o,a,i)}var U=p("v3",48,(function(r){if("string"==typeof r){var e=unescape(encodeURIComponent(r));r=new Uint8Array(e.length);for(var n=0;n>5]>>>o%32&255,i=parseInt(t.charAt(a>>>4&15)+t.charAt(15&a),16);e.push(i)}return e}(function(r,e){r[e>>5]|=128<>5]|=(255&r[t/8])<>>32-e}var R=p("v5",80,(function(r){var e=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof r){var t=unescape(encodeURIComponent(r));r=[];for(var o=0;o>>0;w=m,m=g,g=C(y,30)>>>0,y=h,h=U}n[0]=n[0]+h>>>0,n[1]=n[1]+y>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+m>>>0,n[4]=n[4]+w>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}));r.NIL="00000000-0000-0000-0000-000000000000",r.parse=v,r.stringify=c,r.v1=function(r,e,n){var o=e&&n||0,a=e||new Array(16),f=(r=r||{}).node||i,s=void 0!==r.clockseq?r.clockseq:u;if(null==f||null==s){var v=r.random||(r.rng||t)();null==f&&(f=i=[1|v[0],v[1],v[2],v[3],v[4],v[5]]),null==s&&(s=u=16383&(v[6]<<8|v[7]))}var p=void 0!==r.msecs?r.msecs:Date.now(),h=void 0!==r.nsecs?r.nsecs:d+1,y=p-l+(h-d)/1e4;if(y<0&&void 0===r.clockseq&&(s=s+1&16383),(y<0||p>l)&&void 0===r.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");l=p,d=h,u=s;var g=(1e4*(268435455&(p+=122192928e5))+h)%4294967296;a[o++]=g>>>24&255,a[o++]=g>>>16&255,a[o++]=g>>>8&255,a[o++]=255&g;var m=p/4294967296*1e4&268435455;a[o++]=m>>>8&255,a[o++]=255&m,a[o++]=m>>>24&15|16,a[o++]=m>>>16&255,a[o++]=s>>>8|128,a[o++]=255&s;for(var w=0;w<6;++w)a[o+w]=f[w];return e||c(a)},r.v3=U,r.v4=function(r,e,n){var o=(r=r||{}).random||(r.rng||t)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,e){n=n||0;for(var a=0;a<16;++a)e[n+a]=o[a];return e}return c(o)},r.v5=R,r.validate=a,r.version=function(r){if(!a(r))throw TypeError("Invalid UUID");return parseInt(r.substr(14,1),16)},Object.defineProperty(r,"__esModule",{value:!0})})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidNIL.min.js b/node_modules/uuid/dist/umd/uuidNIL.min.js new file mode 100644 index 00000000..30b28a7e --- /dev/null +++ b/node_modules/uuid/dist/umd/uuidNIL.min.js @@ -0,0 +1 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidNIL=n()}(this,(function(){"use strict";return"00000000-0000-0000-0000-000000000000"})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidParse.min.js b/node_modules/uuid/dist/umd/uuidParse.min.js new file mode 100644 index 00000000..d48ea6af --- /dev/null +++ b/node_modules/uuid/dist/umd/uuidParse.min.js @@ -0,0 +1 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidParse=n()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return function(n){if(!function(n){return"string"==typeof n&&e.test(n)}(n))throw TypeError("Invalid UUID");var t,i=new Uint8Array(16);return i[0]=(t=parseInt(n.slice(0,8),16))>>>24,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i[4]=(t=parseInt(n.slice(9,13),16))>>>8,i[5]=255&t,i[6]=(t=parseInt(n.slice(14,18),16))>>>8,i[7]=255&t,i[8]=(t=parseInt(n.slice(19,23),16))>>>8,i[9]=255&t,i[10]=(t=parseInt(n.slice(24,36),16))/1099511627776&255,i[11]=t/4294967296&255,i[12]=t>>>24&255,i[13]=t>>>16&255,i[14]=t>>>8&255,i[15]=255&t,i}})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidStringify.min.js b/node_modules/uuid/dist/umd/uuidStringify.min.js new file mode 100644 index 00000000..fd39adc3 --- /dev/null +++ b/node_modules/uuid/dist/umd/uuidStringify.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidStringify=t()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function t(t){return"string"==typeof t&&e.test(t)}for(var i=[],n=0;n<256;++n)i.push((n+256).toString(16).substr(1));return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,f=(i[e[n+0]]+i[e[n+1]]+i[e[n+2]]+i[e[n+3]]+"-"+i[e[n+4]]+i[e[n+5]]+"-"+i[e[n+6]]+i[e[n+7]]+"-"+i[e[n+8]]+i[e[n+9]]+"-"+i[e[n+10]]+i[e[n+11]]+i[e[n+12]]+i[e[n+13]]+i[e[n+14]]+i[e[n+15]]).toLowerCase();if(!t(f))throw TypeError("Stringified UUID is invalid");return f}})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidValidate.min.js b/node_modules/uuid/dist/umd/uuidValidate.min.js new file mode 100644 index 00000000..378e5b90 --- /dev/null +++ b/node_modules/uuid/dist/umd/uuidValidate.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidValidate=t()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return function(t){return"string"==typeof t&&e.test(t)}})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidVersion.min.js b/node_modules/uuid/dist/umd/uuidVersion.min.js new file mode 100644 index 00000000..274bb090 --- /dev/null +++ b/node_modules/uuid/dist/umd/uuidVersion.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidVersion=t()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return function(t){if(!function(t){return"string"==typeof t&&e.test(t)}(t))throw TypeError("Invalid UUID");return parseInt(t.substr(14,1),16)}})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidv1.min.js b/node_modules/uuid/dist/umd/uuidv1.min.js new file mode 100644 index 00000000..2622889a --- /dev/null +++ b/node_modules/uuid/dist/umd/uuidv1.min.js @@ -0,0 +1 @@ +!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidv1=o()}(this,(function(){"use strict";var e,o=new Uint8Array(16);function t(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(o)}var n=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function r(e){return"string"==typeof e&&n.test(e)}for(var i,u,s=[],a=0;a<256;++a)s.push((a+256).toString(16).substr(1));var d=0,f=0;return function(e,o,n){var a=o&&n||0,c=o||new Array(16),l=(e=e||{}).node||i,p=void 0!==e.clockseq?e.clockseq:u;if(null==l||null==p){var v=e.random||(e.rng||t)();null==l&&(l=i=[1|v[0],v[1],v[2],v[3],v[4],v[5]]),null==p&&(p=u=16383&(v[6]<<8|v[7]))}var y=void 0!==e.msecs?e.msecs:Date.now(),m=void 0!==e.nsecs?e.nsecs:f+1,g=y-d+(m-f)/1e4;if(g<0&&void 0===e.clockseq&&(p=p+1&16383),(g<0||y>d)&&void 0===e.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");d=y,f=m,u=p;var h=(1e4*(268435455&(y+=122192928e5))+m)%4294967296;c[a++]=h>>>24&255,c[a++]=h>>>16&255,c[a++]=h>>>8&255,c[a++]=255&h;var w=y/4294967296*1e4&268435455;c[a++]=w>>>8&255,c[a++]=255&w,c[a++]=w>>>24&15|16,c[a++]=w>>>16&255,c[a++]=p>>>8|128,c[a++]=255&p;for(var b=0;b<6;++b)c[a+b]=l[b];return o||function(e){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(s[e[o+0]]+s[e[o+1]]+s[e[o+2]]+s[e[o+3]]+"-"+s[e[o+4]]+s[e[o+5]]+"-"+s[e[o+6]]+s[e[o+7]]+"-"+s[e[o+8]]+s[e[o+9]]+"-"+s[e[o+10]]+s[e[o+11]]+s[e[o+12]]+s[e[o+13]]+s[e[o+14]]+s[e[o+15]]).toLowerCase();if(!r(t))throw TypeError("Stringified UUID is invalid");return t}(c)}})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidv3.min.js b/node_modules/uuid/dist/umd/uuidv3.min.js new file mode 100644 index 00000000..8d37b62d --- /dev/null +++ b/node_modules/uuid/dist/umd/uuidv3.min.js @@ -0,0 +1 @@ +!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(n="undefined"!=typeof globalThis?globalThis:n||self).uuidv3=r()}(this,(function(){"use strict";var n=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function r(r){return"string"==typeof r&&n.test(r)}for(var e=[],t=0;t<256;++t)e.push((t+256).toString(16).substr(1));function i(n){return 14+(n+64>>>9<<4)+1}function o(n,r){var e=(65535&n)+(65535&r);return(n>>16)+(r>>16)+(e>>16)<<16|65535&e}function a(n,r,e,t,i,a){return o((f=o(o(r,n),o(t,a)))<<(u=i)|f>>>32-u,e);var f,u}function f(n,r,e,t,i,o,f){return a(r&e|~r&t,n,r,i,o,f)}function u(n,r,e,t,i,o,f){return a(r&t|e&~t,n,r,i,o,f)}function c(n,r,e,t,i,o,f){return a(r^e^t,n,r,i,o,f)}function s(n,r,e,t,i,o,f){return a(e^(r|~t),n,r,i,o,f)}return function(n,t,i){function o(n,o,a,f){if("string"==typeof n&&(n=function(n){n=unescape(encodeURIComponent(n));for(var r=[],e=0;e>>24,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[4]=(e=parseInt(n.slice(9,13),16))>>>8,t[5]=255&e,t[6]=(e=parseInt(n.slice(14,18),16))>>>8,t[7]=255&e,t[8]=(e=parseInt(n.slice(19,23),16))>>>8,t[9]=255&e,t[10]=(e=parseInt(n.slice(24,36),16))/1099511627776&255,t[11]=e/4294967296&255,t[12]=e>>>24&255,t[13]=e>>>16&255,t[14]=e>>>8&255,t[15]=255&e,t}(o)),16!==o.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var u=new Uint8Array(16+n.length);if(u.set(o),u.set(n,o.length),(u=i(u))[6]=15&u[6]|t,u[8]=63&u[8]|128,a){f=f||0;for(var c=0;c<16;++c)a[f+c]=u[c];return a}return function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=(e[n[t+0]]+e[n[t+1]]+e[n[t+2]]+e[n[t+3]]+"-"+e[n[t+4]]+e[n[t+5]]+"-"+e[n[t+6]]+e[n[t+7]]+"-"+e[n[t+8]]+e[n[t+9]]+"-"+e[n[t+10]]+e[n[t+11]]+e[n[t+12]]+e[n[t+13]]+e[n[t+14]]+e[n[t+15]]).toLowerCase();if(!r(i))throw TypeError("Stringified UUID is invalid");return i}(u)}try{o.name=n}catch(n){}return o.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",o.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",o}("v3",48,(function(n){if("string"==typeof n){var r=unescape(encodeURIComponent(n));n=new Uint8Array(r.length);for(var e=0;e>5]>>>i%32&255,a=parseInt(t.charAt(o>>>4&15)+t.charAt(15&o),16);r.push(a)}return r}(function(n,r){n[r>>5]|=128<>5]|=(255&n[t/8])<1&&void 0!==arguments[1]?arguments[1]:0,o=(i[t[e+0]]+i[t[e+1]]+i[t[e+2]]+i[t[e+3]]+"-"+i[t[e+4]]+i[t[e+5]]+"-"+i[t[e+6]]+i[t[e+7]]+"-"+i[t[e+8]]+i[t[e+9]]+"-"+i[t[e+10]]+i[t[e+11]]+i[t[e+12]]+i[t[e+13]]+i[t[e+14]]+i[t[e+15]]).toLowerCase();if(!r(o))throw TypeError("Stringified UUID is invalid");return o}(u)}})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidv5.min.js b/node_modules/uuid/dist/umd/uuidv5.min.js new file mode 100644 index 00000000..ba6fc63d --- /dev/null +++ b/node_modules/uuid/dist/umd/uuidv5.min.js @@ -0,0 +1 @@ +!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(r="undefined"!=typeof globalThis?globalThis:r||self).uuidv5=e()}(this,(function(){"use strict";var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function e(e){return"string"==typeof e&&r.test(e)}for(var t=[],n=0;n<256;++n)t.push((n+256).toString(16).substr(1));function a(r,e,t,n){switch(r){case 0:return e&t^~e&n;case 1:return e^t^n;case 2:return e&t^e&n^t&n;case 3:return e^t^n}}function o(r,e){return r<>>32-e}return function(r,n,a){function o(r,o,i,f){if("string"==typeof r&&(r=function(r){r=unescape(encodeURIComponent(r));for(var e=[],t=0;t>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(r.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(r.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(r.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(r.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n}(o)),16!==o.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var s=new Uint8Array(16+r.length);if(s.set(o),s.set(r,o.length),(s=a(s))[6]=15&s[6]|n,s[8]=63&s[8]|128,i){f=f||0;for(var u=0;u<16;++u)i[f+u]=s[u];return i}return function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=(t[r[n+0]]+t[r[n+1]]+t[r[n+2]]+t[r[n+3]]+"-"+t[r[n+4]]+t[r[n+5]]+"-"+t[r[n+6]]+t[r[n+7]]+"-"+t[r[n+8]]+t[r[n+9]]+"-"+t[r[n+10]]+t[r[n+11]]+t[r[n+12]]+t[r[n+13]]+t[r[n+14]]+t[r[n+15]]).toLowerCase();if(!e(a))throw TypeError("Stringified UUID is invalid");return a}(s)}try{o.name=r}catch(r){}return o.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",o.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",o}("v5",80,(function(r){var e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof r){var n=unescape(encodeURIComponent(r));r=[];for(var i=0;i>>0;A=U,U=w,w=o(b,30)>>>0,b=g,g=C}t[0]=t[0]+g>>>0,t[1]=t[1]+b>>>0,t[2]=t[2]+w>>>0,t[3]=t[3]+U>>>0,t[4]=t[4]+A>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,255&t[0],t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,255&t[1],t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,255&t[2],t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,255&t[3],t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,255&t[4]]}))})); \ No newline at end of file diff --git a/node_modules/uuid/dist/uuid-bin.js b/node_modules/uuid/dist/uuid-bin.js new file mode 100644 index 00000000..50a7a9f1 --- /dev/null +++ b/node_modules/uuid/dist/uuid-bin.js @@ -0,0 +1,85 @@ +"use strict"; + +var _assert = _interopRequireDefault(require("assert")); + +var _v = _interopRequireDefault(require("./v1.js")); + +var _v2 = _interopRequireDefault(require("./v3.js")); + +var _v3 = _interopRequireDefault(require("./v4.js")); + +var _v4 = _interopRequireDefault(require("./v5.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function usage() { + console.log('Usage:'); + console.log(' uuid'); + console.log(' uuid v1'); + console.log(' uuid v3 '); + console.log(' uuid v4'); + console.log(' uuid v5 '); + console.log(' uuid --help'); + console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC4122'); +} + +const args = process.argv.slice(2); + +if (args.indexOf('--help') >= 0) { + usage(); + process.exit(0); +} + +const version = args.shift() || 'v4'; + +switch (version) { + case 'v1': + console.log((0, _v.default)()); + break; + + case 'v3': + { + const name = args.shift(); + let namespace = args.shift(); + (0, _assert.default)(name != null, 'v3 name not specified'); + (0, _assert.default)(namespace != null, 'v3 namespace not specified'); + + if (namespace === 'URL') { + namespace = _v2.default.URL; + } + + if (namespace === 'DNS') { + namespace = _v2.default.DNS; + } + + console.log((0, _v2.default)(name, namespace)); + break; + } + + case 'v4': + console.log((0, _v3.default)()); + break; + + case 'v5': + { + const name = args.shift(); + let namespace = args.shift(); + (0, _assert.default)(name != null, 'v5 name not specified'); + (0, _assert.default)(namespace != null, 'v5 namespace not specified'); + + if (namespace === 'URL') { + namespace = _v4.default.URL; + } + + if (namespace === 'DNS') { + namespace = _v4.default.DNS; + } + + console.log((0, _v4.default)(name, namespace)); + break; + } + + default: + usage(); + process.exit(1); +} \ No newline at end of file diff --git a/node_modules/uuid/dist/v1.js b/node_modules/uuid/dist/v1.js new file mode 100644 index 00000000..abb9b3d1 --- /dev/null +++ b/node_modules/uuid/dist/v1.js @@ -0,0 +1,107 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _rng = _interopRequireDefault(require("./rng.js")); + +var _stringify = _interopRequireDefault(require("./stringify.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html +let _nodeId; + +let _clockseq; // Previous uuid creation time + + +let _lastMSecs = 0; +let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details + +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || _rng.default)(); + + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + + + let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + + let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) + + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression + + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + + + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested + + + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + + msecs += 12219292800000; // `time_low` + + const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` + + const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` + + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` + + b[i++] = clockseq & 0xff; // `node` + + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + + return buf || (0, _stringify.default)(b); +} + +var _default = v1; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/v3.js b/node_modules/uuid/dist/v3.js new file mode 100644 index 00000000..6b47ff51 --- /dev/null +++ b/node_modules/uuid/dist/v3.js @@ -0,0 +1,16 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _v = _interopRequireDefault(require("./v35.js")); + +var _md = _interopRequireDefault(require("./md5.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const v3 = (0, _v.default)('v3', 0x30, _md.default); +var _default = v3; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/v35.js b/node_modules/uuid/dist/v35.js new file mode 100644 index 00000000..f784c633 --- /dev/null +++ b/node_modules/uuid/dist/v35.js @@ -0,0 +1,78 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; +exports.URL = exports.DNS = void 0; + +var _stringify = _interopRequireDefault(require("./stringify.js")); + +var _parse = _interopRequireDefault(require("./parse.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + + const bytes = []; + + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + + return bytes; +} + +const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +exports.DNS = DNS; +const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +exports.URL = URL; + +function _default(name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } + + if (typeof namespace === 'string') { + namespace = (0, _parse.default)(namespace); + } + + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` + + + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; + } + + return (0, _stringify.default)(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} \ No newline at end of file diff --git a/node_modules/uuid/dist/v4.js b/node_modules/uuid/dist/v4.js new file mode 100644 index 00000000..838ce0b2 --- /dev/null +++ b/node_modules/uuid/dist/v4.js @@ -0,0 +1,37 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _rng = _interopRequireDefault(require("./rng.js")); + +var _stringify = _interopRequireDefault(require("./stringify.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function v4(options, buf, offset) { + options = options || {}; + + const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; + } + + return (0, _stringify.default)(rnds); +} + +var _default = v4; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/v5.js b/node_modules/uuid/dist/v5.js new file mode 100644 index 00000000..99d615e0 --- /dev/null +++ b/node_modules/uuid/dist/v5.js @@ -0,0 +1,16 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _v = _interopRequireDefault(require("./v35.js")); + +var _sha = _interopRequireDefault(require("./sha1.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const v5 = (0, _v.default)('v5', 0x50, _sha.default); +var _default = v5; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/validate.js b/node_modules/uuid/dist/validate.js new file mode 100644 index 00000000..fd052157 --- /dev/null +++ b/node_modules/uuid/dist/validate.js @@ -0,0 +1,17 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _regex = _interopRequireDefault(require("./regex.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function validate(uuid) { + return typeof uuid === 'string' && _regex.default.test(uuid); +} + +var _default = validate; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/version.js b/node_modules/uuid/dist/version.js new file mode 100644 index 00000000..b72949cd --- /dev/null +++ b/node_modules/uuid/dist/version.js @@ -0,0 +1,21 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _validate = _interopRequireDefault(require("./validate.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function version(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError('Invalid UUID'); + } + + return parseInt(uuid.substr(14, 1), 16); +} + +var _default = version; +exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/package.json b/node_modules/uuid/package.json new file mode 100644 index 00000000..5505884c --- /dev/null +++ b/node_modules/uuid/package.json @@ -0,0 +1,164 @@ +{ + "_from": "uuid@^8.2.0", + "_id": "uuid@8.3.2", + "_inBundle": false, + "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "_location": "/uuid", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "uuid@^8.2.0", + "name": "uuid", + "escapedName": "uuid", + "rawSpec": "^8.2.0", + "saveSpec": null, + "fetchSpec": "^8.2.0" + }, + "_requiredBy": [ + "/yggdrasil" + ], + "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2", + "_spec": "uuid@^8.2.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\yggdrasil", + "bin": { + "uuid": "dist/bin/uuid" + }, + "browser": { + "./dist/md5.js": "./dist/md5-browser.js", + "./dist/rng.js": "./dist/rng-browser.js", + "./dist/sha1.js": "./dist/sha1-browser.js", + "./dist/esm-node/index.js": "./dist/esm-browser/index.js" + }, + "bugs": { + "url": "https://github.com/uuidjs/uuid/issues" + }, + "bundleDependencies": false, + "commitlint": { + "extends": [ + "@commitlint/config-conventional" + ] + }, + "deprecated": false, + "description": "RFC4122 (v1, v4, and v5) UUIDs", + "devDependencies": { + "@babel/cli": "7.11.6", + "@babel/core": "7.11.6", + "@babel/preset-env": "7.11.5", + "@commitlint/cli": "11.0.0", + "@commitlint/config-conventional": "11.0.0", + "@rollup/plugin-node-resolve": "9.0.0", + "babel-eslint": "10.1.0", + "bundlewatch": "0.3.1", + "eslint": "7.10.0", + "eslint-config-prettier": "6.12.0", + "eslint-config-standard": "14.1.1", + "eslint-plugin-import": "2.22.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-prettier": "3.1.4", + "eslint-plugin-promise": "4.2.1", + "eslint-plugin-standard": "4.0.1", + "husky": "4.3.0", + "jest": "25.5.4", + "lint-staged": "10.4.0", + "npm-run-all": "4.1.5", + "optional-dev-dependency": "2.0.1", + "prettier": "2.1.2", + "random-seed": "0.3.0", + "rollup": "2.28.2", + "rollup-plugin-terser": "7.0.2", + "runmd": "1.3.2", + "standard-version": "9.0.0" + }, + "exports": { + ".": { + "node": { + "module": "./dist/esm-node/index.js", + "require": "./dist/index.js", + "import": "./wrapper.mjs" + }, + "default": "./dist/esm-browser/index.js" + }, + "./package.json": "./package.json" + }, + "files": [ + "CHANGELOG.md", + "CONTRIBUTING.md", + "LICENSE.md", + "README.md", + "dist", + "wrapper.mjs" + ], + "homepage": "https://github.com/uuidjs/uuid#readme", + "husky": { + "hooks": { + "commit-msg": "commitlint -E HUSKY_GIT_PARAMS", + "pre-commit": "lint-staged" + } + }, + "keywords": [ + "uuid", + "guid", + "rfc4122" + ], + "license": "MIT", + "lint-staged": { + "*.{js,jsx,json,md}": [ + "prettier --write" + ], + "*.{js,jsx}": [ + "eslint --fix" + ] + }, + "main": "./dist/index.js", + "module": "./dist/esm-node/index.js", + "name": "uuid", + "optionalDevDependencies": { + "@wdio/browserstack-service": "6.4.0", + "@wdio/cli": "6.4.0", + "@wdio/jasmine-framework": "6.4.0", + "@wdio/local-runner": "6.4.0", + "@wdio/spec-reporter": "6.4.0", + "@wdio/static-server-service": "6.4.0", + "@wdio/sync": "6.4.0" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/uuidjs/uuid.git" + }, + "scripts": { + "build": "./scripts/build.sh", + "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json", + "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )", + "docs:diff": "npm run docs && git diff --quiet README.md", + "eslint:check": "eslint src/ test/ examples/ *.js", + "eslint:fix": "eslint --fix src/ test/ examples/ *.js", + "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build", + "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build", + "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test", + "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test", + "lint": "npm run eslint:check && npm run prettier:check", + "md": "runmd --watch --output=README.md README_js.md", + "prepack": "npm run build", + "pretest": "[ -n $CI ] || npm run build", + "pretest:benchmark": "npm run build", + "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**", + "pretest:node": "npm run build", + "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'", + "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'", + "release": "standard-version --no-verify", + "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/", + "test:benchmark": "cd examples/benchmark && npm install && npm test", + "test:browser": "wdio run ./wdio.conf.js", + "test:node": "npm-run-all --parallel examples:node:**", + "test:pack": "./scripts/testpack.sh" + }, + "sideEffects": false, + "standard-version": { + "scripts": { + "postchangelog": "prettier --write CHANGELOG.md" + } + }, + "version": "8.3.2" +} diff --git a/node_modules/uuid/wrapper.mjs b/node_modules/uuid/wrapper.mjs new file mode 100644 index 00000000..c31e9cef --- /dev/null +++ b/node_modules/uuid/wrapper.mjs @@ -0,0 +1,10 @@ +import uuid from './dist/index.js'; +export const v1 = uuid.v1; +export const v3 = uuid.v3; +export const v4 = uuid.v4; +export const v5 = uuid.v5; +export const NIL = uuid.NIL; +export const version = uuid.version; +export const validate = uuid.validate; +export const stringify = uuid.stringify; +export const parse = uuid.parse; diff --git a/node_modules/vec3/.github/workflows/ci.yml b/node_modules/vec3/.github/workflows/ci.yml new file mode 100644 index 00000000..15f725e5 --- /dev/null +++ b/node_modules/vec3/.github/workflows/ci.yml @@ -0,0 +1,25 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: npm install + - run: npm test \ No newline at end of file diff --git a/node_modules/vec3/.github/workflows/publish.yml b/node_modules/vec3/.github/workflows/publish.yml new file mode 100644 index 00000000..9d178bfb --- /dev/null +++ b/node_modules/vec3/.github/workflows/publish.yml @@ -0,0 +1,25 @@ +name: npm-publish +on: + push: + branches: + - master # Change this to your default branch +jobs: + npm-publish: + name: npm-publish + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@master + - name: Set up Node.js + uses: actions/setup-node@master + with: + node-version: 10.0.0 + - name: Publish if version has been updated + uses: pascalgn/npm-publish-action@4f4bf159e299f65d21cd1cbd96fc5d53228036df + with: # All of theses inputs are optional + tag_name: "%s" + tag_message: "%s" + commit_pattern: "^Release (\\S+)" + env: # More info about the environment variables in the README + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this as is, it's automatically generated + NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} # You need to set this in your repo settings \ No newline at end of file diff --git a/node_modules/vec3/.jshintrc b/node_modules/vec3/.jshintrc new file mode 100644 index 00000000..7cb9418b --- /dev/null +++ b/node_modules/vec3/.jshintrc @@ -0,0 +1,73 @@ +{ + // Settings + "passfail" : false, // Stop on first error. + "maxerr" : 100, // Maximum errors before stopping. + + + // Predefined globals whom JSHint will ignore. + "browser" : false, // Standard browser globals e.g. `window`, `document`. + "predef" : [ // extra globals + "describe", + "beforeEach", + "afterEach", + "it" + ], + + "node" : true, + "rhino" : false, + "couch" : false, + "wsh" : false, // Windows Scripting Host. + + "jquery" : false, + "prototypejs" : false, + "mootools" : false, + "dojo" : false, + + + + // Development. + "debug" : true, // Allow debugger statements e.g. browser breakpoints. + "devel" : true, // Allow development statements e.g. `console.log();`. + + + // EcmaScript 5. + "es5" : true, // Allow EcmaScript 5 syntax. + "strict" : false, // Require `use strict` pragma in every file. + "globalstrict" : true, // Allow global "use strict" (also enables 'strict'). + + + // The Good Parts. + "asi" : true, // Tolerate Automatic Semicolon Insertion (no semicolons). + "laxbreak" : false, // Tolerate unsafe line breaks e.g. `return [\n] x` without semicolons. + "laxcomma" : true, + "bitwise" : false, // Prohibit bitwise operators (&, |, ^, etc.). + "boss" : true, // Tolerate assignments inside if, for & while. Usually conditions & loops are for comparison, not assignments. + "curly" : false, // Require {} for every new block or scope. + "eqeqeq" : true, // Require triple equals i.e. `===`. + "eqnull" : true, // Tolerate use of `== null`. + "evil" : false, // Tolerate use of `eval`. + "expr" : false, // Tolerate `ExpressionStatement` as Programs. + "forin" : false, // Prohibt `for in` loops without `hasOwnProperty`. + "immed" : true, // Require immediate invocations to be wrapped in parens e.g. `( function(){}() );` + "latedef" : false, // Prohibit variable use before definition. + "loopfunc" : false, // Allow functions to be defined within loops. + "noarg" : true, // Prohibit use of `arguments.caller` and `arguments.callee`. + "regexp" : false, // Prohibit `.` and `[^...]` in regular expressions. + "regexdash" : false, // Tolerate unescaped last dash i.e. `[-...]`. + "scripturl" : false, // Tolerate script-targeted URLs. + "shadow" : false, // Allows re-define variables later in code e.g. `var x=1; x=2;`. + "supernew" : false, // Tolerate `new function () { ... };` and `new Object;`. + "undef" : true, // Require all non-global variables be declared before they are used. + + + // Persone styling prefrences. + "newcap" : true, // Require capitalization of all constructor functions e.g. `new F()`. + "noempty" : true, // Prohibit use of empty blocks. + "nonew" : true, // Prohibit use of constructors for side-effects. + "nomen" : false, // Prohibit use of initial or trailing underbars in names. + "onevar" : false, // Allow only one `var` statement per function. + "plusplus" : false, // Prohibit use of `++` & `--`. + "sub" : false, // Tolerate all forms of subscript notation besides dot notation e.g. `dict['key']` instead of `dict.key`. + "trailing" : true, // Prohibit trailing whitespaces. + "white" : false // Check against strict whitespace and indentation rules. +} diff --git a/node_modules/vec3/HISTORY.md b/node_modules/vec3/HISTORY.md new file mode 100644 index 00000000..d824b1f2 --- /dev/null +++ b/node_modules/vec3/HISTORY.md @@ -0,0 +1,19 @@ +## 0.1.7 +* fix standard not being a dev dependency + +## 0.1.6 + +* add distance squared (thanks @TheDudeFromCI) +* fix typings (thanks @iczero) + +## 0.1.5 + +* normalize() : like unit() but do not create a new vector (in-place) +* dot(other) : return the dot product of the vector with other +* cross(other) : return the cross product of the vector with other + + +## 0.1.4 + +* add typescript declarations +* add more methods diff --git a/node_modules/vec3/README.md b/node_modules/vec3/README.md new file mode 100644 index 00000000..61ffe902 --- /dev/null +++ b/node_modules/vec3/README.md @@ -0,0 +1,83 @@ +# vec3 +[![NPM version](https://img.shields.io/npm/v/vec3.svg)](http://npmjs.com/package/vec3) +[![Build Status](https://github.com/PrismarineJS/node-vec3/workflows/CI/badge.svg)](https://github.com/PrismarineJS/node-vec3/actions?query=workflow%3A%22CI%22) + +3D vector math with robust unit tests. + +## Usage + +```js +var v = require('vec3'); + +var v1 = v(1, 2, 3); +console.log(v1); // prints "(1, 2, 3)" +var v2 = v1.offset(0, 0, 1); +console.log(v2); // prints "(1, 2, 4)" +``` + +Or: + +```js +var Vec3 = require('vec3').Vec3; + +var v1 = new Vec3(1, 2, 3); +// etc... +``` + +More available functions are listed below in Test Coverage. + +## Test Coverage + +``` +v() + ✓ no args + ✓ x, y, z + ✓ array + ✓ object + ✓ string coords + ✓ deserialize + ✓ invalid deserialize + + vec3 + ✓ floored + ✓ floor + ✓ offset + ✓ translate + ✓ plus + ✓ minus + ✓ scaled + ✓ abs + ✓ distanceTo + ✓ equals + ✓ toString + ✓ clone + ✓ add + ✓ subtract + ✓ set + ✓ modulus + ✓ volume + ✓ min + ✓ max + ✓ update + ✓ norm + ✓ dot + ✓ cross + ✓ unit + ✓ normalize + ✓ scale + ✓ xyDistanceTo + ✓ xzDistanceTo + ✓ yzDistanceTo + ✓ innerProduct + ✓ manhattanDistanceTo + ✓ toArray + + + 39 passing +``` + +More functions welcome in the form of pull requests. + +## History + +See [History](History.md) diff --git a/node_modules/vec3/index.d.ts b/node_modules/vec3/index.d.ts new file mode 100644 index 00000000..71144bbf --- /dev/null +++ b/node_modules/vec3/index.d.ts @@ -0,0 +1,79 @@ +export class Vec3 { + constructor(x: number, y: number, z: number); + + x: number; + y: number; + z: number; + + set(x: number, y: number, z: number): this; + + update(other: Vec3): this; + + floored(): Vec3; + + floor(): this; + + offset(dx: number, dy: number, dz: number): Vec3; + + translate(dx: number, dy: number, dz: number): this; + + add(other: Vec3): this; + + subtract(other: Vec3): this; + + plus(other: Vec3): Vec3; + + minus(other: Vec3): Vec3; + + scaled(scalar: number): Vec3; + + abs(): Vec3; + + volume(): number; + + modulus(other: Vec3): Vec3; + + distanceTo(other: Vec3): number; + + distanceSquared(other: Vec3): number; + + equals(other: Vec3): boolean; + + toString(): string; + + clone(): Vec3; + + min(other: Vec3): Vec3; + + max(other: Vec3): Vec3; + + dot(other: Vec3): number; + + cross(other: Vec3): Vec3; + + norm(): number; + + unit(): Vec3; + + normalize(): Vec3; + + scale(scalar: number): this; + + xyDistanceTo(other: Vec3): number; + + xzDistanceTo(other: Vec3): number; + + yzDistanceTo(other: Vec3): number; + + innerProduct(other: Vec3): number; + + manhattanDistanceTo(other: Vec3): number; + + toArray(): Array; +} + +export default function v( + x: null | Array | {x: number | string, y: number | string, z: number | string} | string, + y?: number | string, + z?: number | string +): Vec3; diff --git a/node_modules/vec3/index.js b/node_modules/vec3/index.js new file mode 100644 index 00000000..02de771e --- /dev/null +++ b/node_modules/vec3/index.js @@ -0,0 +1,218 @@ +const re = /\((-?[.\d]+), (-?[.\d]+), (-?[.\d]+)\)/ + +class Vec3 { + constructor (x, y, z) { + this.x = x + this.y = y + this.z = z + } + + set (x, y, z) { + this.x = x + this.y = y + this.z = z + return this + } + + update (other) { + this.x = other.x + this.y = other.y + this.z = other.z + return this + } + + floored () { + return new Vec3(Math.floor(this.x), Math.floor(this.y), Math.floor(this.z)) + } + + floor () { + this.x = Math.floor(this.x) + this.y = Math.floor(this.y) + this.z = Math.floor(this.z) + return this + } + + offset (dx, dy, dz) { + return new Vec3(this.x + dx, this.y + dy, this.z + dz) + } + + translate (dx, dy, dz) { + this.x += dx + this.y += dy + this.z += dz + return this + } + + add (other) { + this.x += other.x + this.y += other.y + this.z += other.z + return this + } + + subtract (other) { + this.x -= other.x + this.y -= other.y + this.z -= other.z + return this + } + + plus (other) { + return this.offset(other.x, other.y, other.z) + } + + minus (other) { + return this.offset(-other.x, -other.y, -other.z) + } + + scaled (scalar) { + return new Vec3(this.x * scalar, this.y * scalar, this.z * scalar) + } + + abs () { + return new Vec3(Math.abs(this.x), Math.abs(this.y), Math.abs(this.z)) + } + + volume () { + return this.x * this.y * this.z + } + + modulus (other) { + return new Vec3( + euclideanMod(this.x, other.x), + euclideanMod(this.y, other.y), + euclideanMod(this.z, other.z)) + } + + distanceTo (other) { + var dx = other.x - this.x + var dy = other.y - this.y + var dz = other.z - this.z + return Math.sqrt(dx * dx + dy * dy + dz * dz) + } + + distanceSquared (other) { + var dx = other.x - this.x + var dy = other.y - this.y + var dz = other.z - this.z + return dx * dx + dy * dy + dz * dz + } + + equals (other) { + return this.x === other.x && this.y === other.y && this.z === other.z + } + + toString () { + return '(' + this.x + ', ' + this.y + ', ' + this.z + ')' + } + + clone () { + return this.offset(0, 0, 0) + } + + min (other) { + return new Vec3(Math.min(this.x, other.x), Math.min(this.y, other.y), Math.min(this.z, other.z)) + } + + max (other) { + return new Vec3(Math.max(this.x, other.x), Math.max(this.y, other.y), Math.max(this.z, other.z)) + } + + norm () { + return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z) + } + + dot (other) { + return this.x * other.x + this.y * other.y + this.z * other.z + } + + cross (other) { + return new Vec3(this.y * other.z - this.z * other.y, this.z * other.x - this.x * other.z, this.x * other.y - this.y * other.x) + } + + unit () { + const norm = this.norm() + if (norm === 0) { + return this.clone() + } else { + return this.scaled(1 / norm) + } + } + + normalize () { + const norm = this.norm() + if (norm !== 0) { + this.x /= norm + this.y /= norm + this.z /= norm + } + return this + } + + scale (scalar) { + this.x *= scalar + this.y *= scalar + this.z *= scalar + return this + } + + xyDistanceTo (other) { + var dx = other.x - this.x + var dy = other.y - this.y + return Math.sqrt(dx * dx + dy * dy) + } + + xzDistanceTo (other) { + var dx = other.x - this.x + var dz = other.z - this.z + return Math.sqrt(dx * dx + dz * dz) + } + + yzDistanceTo (other) { + var dy = other.y - this.y + var dz = other.z - this.z + return Math.sqrt(dy * dy + dz * dz) + } + + innerProduct (other) { + return this.x * other.x + this.y * other.y + this.z * other.z + } + + manhattanDistanceTo (other) { + return Math.abs(other.x - this.x) + Math.abs(other.y - this.y) + Math.abs(other.z - this.z) + } + + toArray () { + return [this.x, this.y, this.z] + } +} + +function v (x, y, z) { + if (x == null) { + return new Vec3(0, 0, 0) + } else if (Array.isArray(x)) { + return new Vec3(parseFloat(x[0], 10), parseFloat(x[1], 10), parseFloat(x[2], 10)) + } else if (typeof x === 'object') { + return new Vec3(parseFloat(x.x, 10), parseFloat(x.y, 10), parseFloat(x.z, 10)) + } else if (typeof x === 'string' && y == null) { + var match = x.match(re) + if (match) { + return new Vec3( + parseFloat(match[1], 10), + parseFloat(match[2], 10), + parseFloat(match[3], 10)) + } else { + throw new Error('vec3: cannot parse: ' + x) + } + } else { + return new Vec3(parseFloat(x, 10), parseFloat(y, 10), parseFloat(z, 10)) + } +} + +function euclideanMod (numerator, denominator) { + var result = numerator % denominator + return result < 0 ? result + denominator : result +} + +module.exports = v +v.Vec3 = Vec3 diff --git a/node_modules/vec3/package.json b/node_modules/vec3/package.json new file mode 100644 index 00000000..db9823b2 --- /dev/null +++ b/node_modules/vec3/package.json @@ -0,0 +1,54 @@ +{ + "_from": "vec3@^0.1.6", + "_id": "vec3@0.1.7", + "_inBundle": false, + "_integrity": "sha512-EZSeXBL+L3go2wWwtQQse4fEcNGIQjT14qvi4LYVj1ifZt/J5XZ1QZqkDuOVVH07YwTEIFbsAv3pzwUpF7x9Wg==", + "_location": "/vec3", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "vec3@^0.1.6", + "name": "vec3", + "escapedName": "vec3", + "rawSpec": "^0.1.6", + "saveSpec": null, + "fetchSpec": "^0.1.6" + }, + "_requiredBy": [ + "/mineflayer", + "/prismarine-chunk", + "/prismarine-entity", + "/prismarine-physics", + "/prismarine-world" + ], + "_resolved": "https://registry.npmjs.org/vec3/-/vec3-0.1.7.tgz", + "_shasum": "e203a7bcc2d074c328721421beed48b30c81e41b", + "_spec": "vec3@^0.1.6", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\mineflayer", + "author": { + "name": "Andrew Kelley" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "3d vector math with good unit tests", + "devDependencies": { + "mocha": "^7.2.0", + "standard": "^14.3.4" + }, + "keywords": [ + "point" + ], + "license": "BSD", + "main": "index.js", + "name": "vec3", + "scripts": { + "fix": "standard --fix", + "lint": "standard", + "pretest": "npm run lint", + "test": "mocha --reporter spec" + }, + "types": "index.d.ts", + "version": "0.1.7" +} diff --git a/node_modules/vec3/test/test.js b/node_modules/vec3/test/test.js new file mode 100644 index 00000000..ea8faef9 --- /dev/null +++ b/node_modules/vec3/test/test.js @@ -0,0 +1,339 @@ +/* eslint-env mocha */ + +var v = require('../') +var Vec3 = v.Vec3 +var assert = require('assert') + +describe('v()', function () { + it('no args', function () { + var v1 = v() + assert.strictEqual(v1.x, 0) + assert.strictEqual(v1.y, 0) + assert.strictEqual(v1.z, 0) + }) + it('x, y, z', function () { + var v1 = v(-1, 5, 10.10) + assert.strictEqual(v1.x, -1) + assert.strictEqual(v1.y, 5) + assert.strictEqual(v1.z, 10.10) + }) + it('array', function () { + var v1 = v([4, 5, 6]) + assert.strictEqual(v1.x, 4) + assert.strictEqual(v1.y, 5) + assert.strictEqual(v1.z, 6) + }) + it('object', function () { + var v1 = v({ x: 9, y: 8, z: 7 }) + assert.strictEqual(v1.x, 9) + assert.strictEqual(v1.y, 8) + assert.strictEqual(v1.z, 7) + }) + it('string coords', function () { + var v1 = v('1', '1.5', '-30.2') + assert.strictEqual(v1.x, 1) + assert.strictEqual(v1.y, 1.5) + assert.strictEqual(v1.z, -30.2) + }) + it('deserialize', function () { + var v1 = v(v(1, -3.5, 0).toString()) + assert.strictEqual(v1.x, 1) + assert.strictEqual(v1.y, -3.5) + assert.strictEqual(v1.z, 0) + var v2 = v(v(-111, 222, 9876543210.123456789).toString()) + assert.strictEqual(v2.x, -111) + assert.strictEqual(v2.y, 222) + assert.strictEqual(v2.z, 9876543210.123456789) + }) + it('invalid deserialize', function () { + assert.throws(function () { + return v('lol hax') + }, /cannot parse/) + }) +}) +describe('vec3', function () { + it('floored', function () { + var v1 = new Vec3(1.1, -1.5, 1.9) + var v2 = v1.floored() + v1.x = 10 + assert.strictEqual(v2.x, 1) + assert.strictEqual(v2.y, -2) + assert.strictEqual(v2.z, 1) + }) + it('floor', function () { + var v1 = new Vec3(1.1, -1.5, 1.9) + var v2 = v1.floor() + assert.strictEqual(v2, v1) + assert.strictEqual(v1.x, 1) + assert.strictEqual(v1.y, -2) + assert.strictEqual(v1.z, 1) + }) + it('offset', function () { + var v1 = new Vec3(1, 2, 3) + var v2 = v1.offset(10, -10, 20) + v1.x = -100 + assert.strictEqual(v2.x, 11) + assert.strictEqual(v2.y, -8) + assert.strictEqual(v2.z, 23) + }) + it('translate', function () { + var v1 = new Vec3(1, 2, 3) + v1.translate(10, -10, 20) + assert.strictEqual(v1.x, 11) + assert.strictEqual(v1.y, -8) + assert.strictEqual(v1.z, 23) + }) + it('plus', function () { + var v1 = new Vec3(1, 2, 3) + var v2 = new Vec3(-1, 0, 1) + var v3 = v1.plus(v2) + assert.strictEqual(v1.x, 1) + assert.strictEqual(v1.y, 2) + assert.strictEqual(v1.z, 3) + assert.strictEqual(v2.x, -1) + assert.strictEqual(v2.y, 0) + assert.strictEqual(v2.z, 1) + assert.strictEqual(v3.x, 0) + assert.strictEqual(v3.y, 2) + assert.strictEqual(v3.z, 4) + }) + it('minus', function () { + var v1 = new Vec3(1, 2, 3) + var v2 = new Vec3(-1, 0, 1) + var v3 = v1.minus(v2) + assert.strictEqual(v1.x, 1) + assert.strictEqual(v1.y, 2) + assert.strictEqual(v1.z, 3) + assert.strictEqual(v2.x, -1) + assert.strictEqual(v2.y, 0) + assert.strictEqual(v2.z, 1) + assert.strictEqual(v3.x, 2) + assert.strictEqual(v3.y, 2) + assert.strictEqual(v3.z, 2) + }) + it('scaled', function () { + var v1 = new Vec3(1, 2, 3) + var v2 = v1.scaled(2) + assert.strictEqual(v1.x, 1) + assert.strictEqual(v1.y, 2) + assert.strictEqual(v1.z, 3) + assert.strictEqual(v2.x, 2) + assert.strictEqual(v2.y, 4) + assert.strictEqual(v2.z, 6) + }) + it('abs', function () { + var v1 = new Vec3(1.1, -1.5, 1.9) + var v2 = v1.abs() + v1.x = 10 + assert.strictEqual(v2.x, 1.1) + assert.strictEqual(v2.y, 1.5) + assert.strictEqual(v2.z, 1.9) + }) + it('distanceTo', function () { + var v1 = new Vec3(1, 1, 1) + var v2 = new Vec3(2, 2, 2) + var dist1 = v1.distanceTo(v2) + var dist2 = v2.distanceTo(v1) + var expected = 1.7320508075688772 + assert.strictEqual(dist1, dist2) + assert.strictEqual(Math.round(dist1 * 100000), Math.round(expected * 100000)) + }) + it('distanceSquared', function () { + var v1 = new Vec3(1, 1, 1) + var v2 = new Vec3(2, 2, 2) + var dist1 = v1.distanceSquared(v2) + var dist2 = v2.distanceSquared(v1) + var expected = 3 + assert.strictEqual(dist1, dist2) + assert.strictEqual(Math.round(dist1 * 100000), Math.round(expected * 100000)) + }) + it('equals', function () { + var v1 = new Vec3(1, 2, 3) + var v2 = v1.scaled(0.23424) + var v3 = v1.scaled(0.23424) + assert.ok(v2.equals(v3)) + }) + it('toString', function () { + var v1 = new Vec3(1, -1, 3.14) + assert.strictEqual(v1.toString(), '(1, -1, 3.14)') + }) + it('clone', function () { + var v1 = new Vec3(1, 2, 3) + var v2 = v1.clone() + v2.x = 10 + assert.strictEqual(v1.x, 1) + assert.strictEqual(v1.y, 2) + assert.strictEqual(v1.z, 3) + assert.strictEqual(v2.x, 10) + assert.strictEqual(v2.y, 2) + assert.strictEqual(v2.z, 3) + }) + it('add', function () { + var v1 = new Vec3(1, 2, 3) + var v2 = new Vec3(-1, -2, -3) + var v3 = v1.add(v2) + assert.strictEqual(v3, v1) + assert.strictEqual(v1.x, 0) + assert.strictEqual(v1.y, 0) + assert.strictEqual(v1.z, 0) + }) + it('subtract', function () { + var v1 = new Vec3(1, 2, 3) + var v2 = new Vec3(-1, -2, -3) + var v3 = v1.subtract(v2) + assert.strictEqual(v3, v1) + assert.strictEqual(v1.x, 2) + assert.strictEqual(v1.y, 4) + assert.strictEqual(v1.z, 6) + }) + it('set', function () { + var v1 = new Vec3(12, 32, 46) + var v2 = v1.set(0, 10, 100) + assert.strictEqual(v1, v2) + assert.strictEqual(v1.x, 0) + assert.strictEqual(v1.y, 10) + assert.strictEqual(v1.z, 100) + }) + it('modulus', function () { + var v1 = new Vec3(12, 32, -1) + var v2 = new Vec3(14, 32, 16) + var v3 = v1.modulus(v2) + assert.strictEqual(v1.x, 12) + assert.strictEqual(v1.y, 32) + assert.strictEqual(v1.z, -1) + assert.strictEqual(v2.x, 14) + assert.strictEqual(v2.y, 32) + assert.strictEqual(v2.z, 16) + assert.strictEqual(v3.x, 12) + assert.strictEqual(v3.y, 0) + assert.strictEqual(v3.z, 15) + }) + it('volume', function () { + var v1 = new Vec3(3, 4, 5) + assert.strictEqual(v1.volume(), 60) + }) + it('min', function () { + var v1 = new Vec3(-1, 0, 1) + var v2 = new Vec3(10, -10, 1.1) + var v3 = v1.min(v2) + assert.strictEqual(v3.x, -1) + assert.strictEqual(v3.y, -10) + assert.strictEqual(v3.z, 1) + }) + it('max', function () { + var v1 = new Vec3(-1, 0, 1) + var v2 = new Vec3(10, -10, 1.1) + var v3 = v1.max(v2) + assert.strictEqual(v3.x, 10) + assert.strictEqual(v3.y, 0) + assert.strictEqual(v3.z, 1.1) + }) + it('update', function () { + var v1 = new Vec3(-1, 0, 1) + var v2 = new Vec3(10, -10, 1.1) + var v3 = v1.update(v2) + assert.strictEqual(v3, v1) + assert.strictEqual(v1.x, 10) + assert.strictEqual(v1.y, -10) + assert.strictEqual(v1.z, 1.1) + assert.strictEqual(v2.x, 10) + assert.strictEqual(v2.y, -10) + assert.strictEqual(v2.z, 1.1) + }) + it('norm', function () { + var v1 = new Vec3(-10, 0, 10) + assert.strictEqual(Math.round(v1.norm() * 100000), Math.round(14.142135623730950 * 100000)) + }) + it('dot', function () { + var v1 = new Vec3(-1, -1, -1) + var v2 = new Vec3(1, 1, 1) + assert.strictEqual(v1.dot(v2), -3) + }) + it('cross', function () { + var v1 = new Vec3(1, 0, 0) + var v2 = new Vec3(0, 1, 0) + var v3 = new Vec3(0, 0, 1) + assert.ok(v1.cross(v2).equals(v3)) + }) + it('unit', function () { + var v1 = new Vec3(10, -10, 1.1) + var v2 = v1.unit() + assert.strictEqual(Math.round(v2.x * 100000), Math.round(0.7049774402016568 * 100000)) + assert.strictEqual(Math.round(v2.y * 100000), Math.round(-0.704977440201656 * 100000)) + assert.strictEqual(Math.round(v2.z * 100000), Math.round(0.07754751842218225 * 100000)) + var v3 = new Vec3(0, 0, 0) + var v4 = v3.unit() + assert.strictEqual(v4.x, 0) + assert.strictEqual(v4.y, 0) + assert.strictEqual(v4.z, 0) + }) + it('normalize', function () { + var v1 = new Vec3(10, -10, 1.1) + var v2 = v1.normalize() + assert.strictEqual(Math.round(v2.x * 100000), Math.round(0.7049774402016568 * 100000)) + assert.strictEqual(Math.round(v2.y * 100000), Math.round(-0.704977440201656 * 100000)) + assert.strictEqual(Math.round(v2.z * 100000), Math.round(0.07754751842218225 * 100000)) + var v3 = new Vec3(0, 0, 0) + var v4 = v3.normalize() + assert.strictEqual(v4.x, 0) + assert.strictEqual(v4.y, 0) + assert.strictEqual(v4.z, 0) + }) + it('scale', function () { + var v1 = new Vec3(10, -10, 1.1) + var v2 = v1.scale(1.5) + assert.strictEqual(v2.x, 15) + assert.strictEqual(v2.y, -15) + assert.strictEqual(Math.round(v2.z * 100000), Math.round(1.65 * 100000)) + }) + it('xyDistanceTo', function () { + var v1 = new Vec3(1, 1, 1) + var v2 = new Vec3(2, 2, 2) + var dist1 = v1.xyDistanceTo(v2) + var dist2 = v2.xyDistanceTo(v1) + var expected = 1.4142135623730950 + assert.strictEqual(dist1, dist2) + assert.strictEqual(Math.round(dist1 * 100000), Math.round(expected * 100000)) + }) + it('xzDistanceTo', function () { + var v1 = new Vec3(1, 1, 1) + var v2 = new Vec3(2, 2, 2) + var dist1 = v1.xzDistanceTo(v2) + var dist2 = v2.xzDistanceTo(v1) + var expected = 1.4142135623730950 + assert.strictEqual(dist1, dist2) + assert.strictEqual(Math.round(dist1 * 100000), Math.round(expected * 100000)) + }) + it('yzDistanceTo', function () { + var v1 = new Vec3(1, 1, 1) + var v2 = new Vec3(2, 2, 2) + var dist1 = v1.yzDistanceTo(v2) + var dist2 = v2.yzDistanceTo(v1) + var expected = 1.4142135623730950 + assert.strictEqual(dist1, dist2) + assert.strictEqual(Math.round(dist1 * 100000), Math.round(expected * 100000)) + }) + it('innerProduct', function () { + var v1 = new Vec3(-1, 0, 1) + var v2 = new Vec3(0, 1, 0) + var ip1 = v1.innerProduct(v2) + var ip2 = v2.innerProduct(v1) + assert.strictEqual(ip1, ip2) + assert.strictEqual(ip1, 0) + }) + it('manhattanDistanceTo', function () { + var v1 = new Vec3(-1, 0, 1) + var v2 = new Vec3(10, -10, 1.1) + var dist1 = v1.manhattanDistanceTo(v2) + var dist2 = v2.manhattanDistanceTo(v1) + assert.strictEqual(dist1, dist2) + assert.strictEqual(dist1, 21.1) + }) + it('toArray', function () { + var v1 = new Vec3(1, -1, 3.14) + var array = v1.toArray() + assert.strictEqual(v1.x, array[0]) + assert.strictEqual(v1.y, array[1]) + assert.strictEqual(v1.z, array[2]) + }) +}) diff --git a/node_modules/yggdrasil/.editorconfig b/node_modules/yggdrasil/.editorconfig new file mode 100644 index 00000000..a84f7a10 --- /dev/null +++ b/node_modules/yggdrasil/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +charset = utf-8 +end_of_line = lf +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/node_modules/yggdrasil/.github/workflows/ci.yml b/node_modules/yggdrasil/.github/workflows/ci.yml new file mode 100644 index 00000000..9e497aa1 --- /dev/null +++ b/node_modules/yggdrasil/.github/workflows/ci.yml @@ -0,0 +1,25 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: npm install + - run: npm test diff --git a/node_modules/yggdrasil/.github/workflows/publish.yml b/node_modules/yggdrasil/.github/workflows/publish.yml new file mode 100644 index 00000000..7e90156f --- /dev/null +++ b/node_modules/yggdrasil/.github/workflows/publish.yml @@ -0,0 +1,25 @@ +name: npm-publish +on: + push: + branches: + - master # Change this to your default branch +jobs: + npm-publish: + name: npm-publish + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@master + - name: Set up Node.js + uses: actions/setup-node@master + with: + node-version: 10.0.0 + - name: Publish if version has been updated + uses: pascalgn/npm-publish-action@4f4bf159e299f65d21cd1cbd96fc5d53228036df + with: # All of theses inputs are optional + tag_name: "%s" + tag_message: "%s" + commit_pattern: "^Release (\\S+)" + env: # More info about the environment variables in the README + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this as is, it's automatically generated + NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} # You need to set this in your repo settings diff --git a/node_modules/yggdrasil/.gitpod.yml b/node_modules/yggdrasil/.gitpod.yml new file mode 100644 index 00000000..2b06da22 --- /dev/null +++ b/node_modules/yggdrasil/.gitpod.yml @@ -0,0 +1,2 @@ +tasks: + - init: npm install diff --git a/node_modules/yggdrasil/HISTORY.md b/node_modules/yggdrasil/HISTORY.md new file mode 100644 index 00000000..57a85bbb --- /dev/null +++ b/node_modules/yggdrasil/HISTORY.md @@ -0,0 +1,12 @@ +## History + +## 1.4.0 +* Add ability to request user from token refresh (thanks @ph0t0shop) + +## 1.3.0 +- improve code (@IdanHo) +- add proxy support (@IdanHo) + +## 1.2.0 +- Fix phin error handler @rom1504 +- Handle CloudFlare errors @wvffle diff --git a/node_modules/yggdrasil/LICENSE b/node_modules/yggdrasil/LICENSE new file mode 100644 index 00000000..deedfd81 --- /dev/null +++ b/node_modules/yggdrasil/LICENSE @@ -0,0 +1,24 @@ +The MIT License (MIT) + +Copyright (c) 2014-2017 Zach Mertes +Copyright (c) 2015-2020 zekesonxx/node-yggdrasil contributers: +roblaba, jonathanperret, insanity54, yariplus, comp500 +Copyright (c) 2020 PrismarineJS contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/yggdrasil/README.md b/node_modules/yggdrasil/README.md new file mode 100644 index 00000000..557e9dca --- /dev/null +++ b/node_modules/yggdrasil/README.md @@ -0,0 +1,84 @@ +# yggdrasil +[![NPM version](https://img.shields.io/npm/v/yggdrasil.svg)](http://npmjs.com/package/yggdrasil) +[![Build Status](https://github.com/PrismarineJS/node-yggdrasil/workflows/CI/badge.svg)](https://github.com/PrismarineJS/node-yggdrasil/actions?query=workflow%3A%22CI%22) +[![Discord](https://img.shields.io/badge/chat-on%20discord-brightgreen.svg)](https://discord.gg/GsEFRM8) +[![Gitter](https://img.shields.io/badge/chat-on%20gitter-brightgreen.svg)](https://gitter.im/PrismarineJS/general) +[![Irc](https://img.shields.io/badge/chat-on%20irc-brightgreen.svg)](https://irc.gitter.im/) + +[![Try it on gitpod](https://img.shields.io/badge/try-on%20gitpod-brightgreen.svg)](https://gitpod.io/#https://github.com/PrismarineJS/node-yggdrasil) + +A Node.js client for doing requests to yggdrasil, the Mojang authentication system, used for Minecraft and Scrolls. + +# Usage + $ npm install yggdrasil + +## Client +```js +//init +const ygg = require('yggdrasil')({ + //Optional settings object + host: 'https://authserver.mojang.com' //Optional custom host. No trailing slash. +}); + +//Authenticate a user +ygg.auth({ + token: '', //Optional. Client token. + agent: '', //Agent name. Defaults to 'Minecraft' + version: 1, //Agent version. Defaults to 1 + user: '', //Username + pass: '', //Password + requestUser: false //Optional. Request the user object to be included in response +}, function(err, data){}); + +//Refresh an accessToken +ygg.refresh(oldtoken, clienttoken, true, function(err, newtoken, response body){}); +// Note that requestUser is an optional parameter. If set to true, it requests the user object from Mojang's authentication servers as well. + +//Validate an accessToken +ygg.validate(token, function(err){}); + +//Invalidate all accessTokens +ygg.signout(username, password, function(err)); +``` + +## Server +```js +const yggserver = require('yggdrasil').server({ + //Optional settings object + host: 'https://authserver.mojang.com' //Optional custom host. No trailing slash. +}); + +//Join a server (clientside) +yggserver.join(token, profile, serverid, sharedsecret, serverkey, function(err, response body){}); + +//Join a server (serverside) +yggserver.hasJoined(username, serverid, sharedsecret, serverkey, function(err, client info){}); +``` +## Proxy Support +```js +const ProxyAgent = require('proxy-agent'); + +const ygg = require('yggdrasil')({ + //Any type of HTTP Agent + agent: new ProxyAgent('https://example.com:8080') +}); +``` + +## With ES6 Named Exports +```js +/** + * Import Client or Server from 'yggdrasil/es6'. + * Note that the library is stateless when imported this way vs the CommonJS way. + */ +import { Client as ygg, Server as yggServ } from 'yggdrasil/es6' + +// Use it like you normally would. + +ygg.validate(token, function(err){}) + +yggServ.join(token, profile, serverid, sharedsecret, serverkey, function(err, response body){}); +``` + +# Further Reading +* [Authentication protocol documentation](http://wiki.vg/Authentication) +* [node-minecraft-protocol](https://github.com/PrismarineJS/node-minecraft-protocol), a Minecraft client and server in Node.js diff --git a/node_modules/yggdrasil/es6.js b/node_modules/yggdrasil/es6.js new file mode 100644 index 00000000..2066d7b5 --- /dev/null +++ b/node_modules/yggdrasil/es6.js @@ -0,0 +1,6 @@ +'use strict' + +const Client = require('./lib/Client') +const Server = require('./lib/Server') + +module.exports = { Client, Server } diff --git a/node_modules/yggdrasil/lib/Client.js b/node_modules/yggdrasil/lib/Client.js new file mode 100644 index 00000000..75f092ad --- /dev/null +++ b/node_modules/yggdrasil/lib/Client.js @@ -0,0 +1,95 @@ +'use strict' + +const uuid = require('uuid') +const utils = require('./utils') + +const Client = {} + +const defaultHost = 'https://authserver.mojang.com' + +/** + * Attempts to authenticate a user. + * @param {Object} options Config object + * @param {Function} cb Callback + */ +Client.auth = function (options, cb) { + const host = this.host || defaultHost + + if (options.token === null) { + delete options.token + } else { + options.token = options.token || uuid.v4() + } + + options.agent = options.agent || 'Minecraft' + utils.call(host, 'authenticate', { + agent: { + name: options.agent, + version: options.agent === 'Minecraft' ? 1 : options.version + }, + username: options.user, + password: options.pass, + clientToken: options.token, + requestUser: options.requestUser === true + }, this.agent, function (err, data) { + cb(err, data) + }) +} + +/** + * Refreshes a accessToken. + * @param {String} access Old Access Token + * @param {String} client Client Token + * @param {String=false} requestUser Whether to request the user object + * @param {Function} cb (err, new token, full response body) + */ +Client.refresh = function (access, client, requestUser, cb) { + if (typeof requestUser === 'function') { + cb = requestUser + requestUser = false + } + const host = this.host || defaultHost + utils.call(host, 'refresh', { + accessToken: access, + clientToken: client, + requestUser: !!requestUser + }, this.agent, function (err, data) { + if (data && data.clientToken !== client) { + cb(new Error('clientToken assertion failed')) + } else { + cb(err, data ? data.accessToken : null, data) + } + }) +} + +/** + * Validates an access token + * @param {String} token Token to validate + * @param {Function} cb (error) + */ +Client.validate = function (token, cb) { + const host = this.host || defaultHost + utils.call(host, 'validate', { + accessToken: token + }, this.agent, function (err, data) { + cb(err) + }) +} + +/** + * Invalidates all access tokens. + * @param {String} user User's user + * @param {String} pass User's pass + * @param {Function} cb (error) + */ +Client.signout = function (user, pass, cb) { + const host = this.host || defaultHost + utils.call(host, 'signout', { + username: user, + password: pass + }, this.agent, function (err, data) { + cb(err) + }) +} + +module.exports = Client diff --git a/node_modules/yggdrasil/lib/Server.js b/node_modules/yggdrasil/lib/Server.js new file mode 100644 index 00000000..545e577d --- /dev/null +++ b/node_modules/yggdrasil/lib/Server.js @@ -0,0 +1,64 @@ +'use strict' + +const crypto = require('crypto') +const utils = require('./utils') + +const Server = {} + +const defaultHost = 'https://sessionserver.mojang.com' + +/** + * Client's Mojang handshake call + * See http://wiki.vg/Protocol_Encryption#Client + * @param {String} token Client's accessToken + * @param {String} profile Client's selectedProfile + * @param {String} serverid ASCII encoding of the server ID + * @param {String} sharedsecret Server's secret string + * @param {String} serverkey Server's encoded public key + * @param {Function} cb (is okay, data returned by server) + * @async + */ +Server.join = function (token, profile, serverid, sharedsecret, serverkey, cb) { + const host = this.host || defaultHost + utils.call(host, 'session/minecraft/join', { + accessToken: token, + selectedProfile: profile, + serverId: utils.mcHexDigest(crypto.createHash('sha1').update(serverid).update(sharedsecret).update(serverkey).digest()) + }, this.agent, function (err, data) { + cb(err, data) + }) +} + +/** + * Server's Mojang handshake call + * @param {String} username Client's username, case-sensitive + * @param {String} serverid ASCII encoding of the server ID + * @param {String} sharedsecret Server's secret string + * @param {String} serverkey Server's encoded public key + * @param {Function} cb (is okay, client info) + * @async + */ +Server.hasJoined = function (username, serverid, sharedsecret, serverkey, cb) { + const host = this.host || defaultHost + const hash = utils.mcHexDigest(crypto.createHash('sha1').update(serverid).update(sharedsecret).update(serverkey).digest()) + utils.phin({ + url: `${host}/session/minecraft/hasJoined?username=${username}&serverId=${hash}`, + core: { + agent: this.agent + } + }, function (err, resp) { + let body + try { + body = JSON.parse(resp.body.toString()) + } catch (caughtErr) { + err = caughtErr + } + if (err || (body && 'id' in body)) { + cb(err, body) + } else { + cb(new Error('Failed to verify username!')) + } + }) +} + +module.exports = Server diff --git a/node_modules/yggdrasil/lib/index.js b/node_modules/yggdrasil/lib/index.js new file mode 100644 index 00000000..9fab7f94 --- /dev/null +++ b/node_modules/yggdrasil/lib/index.js @@ -0,0 +1,18 @@ +'use strict' + +/** + * Shim the library to make the API 100% backwards compatible with the old version. + */ + +const Client = require('./Client') +const Server = require('./Server') + +const Yggdrasil = function (options) { + return Object.assign({}, Client, options) +} + +Yggdrasil.server = function (options) { + return Object.assign({}, Server, options) +} + +module.exports = Yggdrasil diff --git a/node_modules/yggdrasil/lib/utils.js b/node_modules/yggdrasil/lib/utils.js new file mode 100644 index 00000000..36463514 --- /dev/null +++ b/node_modules/yggdrasil/lib/utils.js @@ -0,0 +1,101 @@ +const version = require('../package.json').version +const phin = require('phin').unpromisified + +const headers = { + 'User-Agent': 'node-yggdrasil/' + version, + 'Content-Type': 'application/json' +} + +const utils = {} + +utils.phin = phin + +/** + * Generic POST request + */ +utils.call = function (host, path, data, agent, cb) { + phin({ + method: 'POST', + url: `${host}/${path}`, + data, + headers, + core: { + agent + } + }, function (err, resp) { + if (err) { + cb(err) + return + } + + if (resp.body.length === 0) { + cb(null, '') + return + } + let body + try { + body = JSON.parse(resp.body) + } catch (caughtErr) { + if (caughtErr instanceof SyntaxError) { + // Probably a cloudflare error page + const body = resp.body.toString() + + if (resp.statusCode === 403) { + if (/Request blocked\./.test(body)) { + err = new Error('Request blocked by CloudFlare') + } + if (/cf-error-code">1009/.test(body)) { + err = new Error('Your IP is banned by CloudFlare') + } + } else { + err = new Error('Response is not JSON. Status code: ' + resp.statusCode) + err.code = resp.statusCode + } + } else { + err = caughtErr + } + } + + if (body && body.error) { + cb(new Error(body.errorMessage)) + } else { + cb(err, body) + } + }) +} + +/** + * Java's annoying hashing method. + * All credit to andrewrk + * https://gist.github.com/andrewrk/4425843 + */ +function performTwosCompliment (buffer) { + let carry = true + let i, newByte, value + for (i = buffer.length - 1; i >= 0; --i) { + value = buffer.readUInt8(i) + newByte = ~value & 0xff + if (carry) { + carry = newByte === 0xff + buffer.writeUInt8(carry ? 0 : (newByte + 1), i) + } else { + buffer.writeUInt8(newByte, i) + } + } +} + +/** + * Java's stupid hashing method + * @param {Buffer|String} hash The hash data to stupidify + * @param {String} encoding Optional, passed to Buffer() if hash is a string + * @return {String} Stupidified hash + */ +utils.mcHexDigest = function mcHexDigest (hash, encoding) { + if (!(hash instanceof Buffer)) { hash = Buffer.from(hash, encoding) } + // check for negative hashes + const negative = hash.readInt8(0) < 0 + if (negative) performTwosCompliment(hash) + return (negative ? '-' : '') + hash.toString('hex').replace(/^0+/g, '') +} + +module.exports = utils diff --git a/node_modules/yggdrasil/package.json b/node_modules/yggdrasil/package.json new file mode 100644 index 00000000..0089a044 --- /dev/null +++ b/node_modules/yggdrasil/package.json @@ -0,0 +1,64 @@ +{ + "_from": "yggdrasil@^1.4.0", + "_id": "yggdrasil@1.4.0", + "_inBundle": false, + "_integrity": "sha512-pN4OFtvJ4WnbvGe6dSsOUx8C6I19Tzv2hVCcoIjekFOuL9zWc7C993z3STmCI6NuWVAgtQsLv+ciNVOWHIL/pA==", + "_location": "/yggdrasil", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "yggdrasil@^1.4.0", + "name": "yggdrasil", + "escapedName": "yggdrasil", + "rawSpec": "^1.4.0", + "saveSpec": null, + "fetchSpec": "^1.4.0" + }, + "_requiredBy": [ + "/minecraft-protocol" + ], + "_resolved": "https://registry.npmjs.org/yggdrasil/-/yggdrasil-1.4.0.tgz", + "_shasum": "343525da10e4d8f45f78f4d4c76fc17ceb18dd1f", + "_spec": "yggdrasil@^1.4.0", + "_where": "C:\\Users\\mannu\\Downloads\\Projects\\afkbot\\node_modules\\minecraft-protocol", + "author": { + "name": "Zeke Sonxx", + "email": "zeke@zekesonxx.com" + }, + "bugs": { + "url": "https://github.com/PrismarineJS/node-yggdrasil/issues" + }, + "bundleDependencies": false, + "dependencies": { + "phin": "^3.4.1", + "uuid": "^8.2.0" + }, + "deprecated": false, + "description": "Mojang authentication (Yggdrasil) client", + "devDependencies": { + "mocha": "^7.0.1", + "nock": "^13.0.2", + "standard": "^16.0.1" + }, + "homepage": "https://github.com/PrismarineJS/node-yggdrasil#readme", + "keywords": [ + "minecraft", + "yggdrasil", + "authentication" + ], + "license": "MIT", + "main": "./lib/index", + "name": "yggdrasil", + "repository": { + "type": "git", + "url": "git+https://github.com/PrismarineJS/node-yggdrasil.git" + }, + "scripts": { + "fix": "standard --fix", + "lint": "standard", + "pretest": "npm run lint", + "test": "mocha -R spec" + }, + "version": "1.4.0" +} diff --git a/node_modules/yggdrasil/test/index.js b/node_modules/yggdrasil/test/index.js new file mode 100644 index 00000000..43a070f5 --- /dev/null +++ b/node_modules/yggdrasil/test/index.js @@ -0,0 +1,272 @@ +/* eslint-env mocha */ +'use strict' + +const crypto = require('crypto') +const assert = require('assert') +const nock = require('nock') + +const utils = require('../lib/utils') + +describe('utils', function () { + describe('call', function () { + const google = 'https://google.com' + const uscope = nock(google) + + it('should work when given valid data', function (done) { + const bsdata = { + cake: true, + username: 'someone' + } + + uscope.post('/test', {}).reply(200, bsdata) + utils.call(google, 'test', {}, undefined, function (err, data) { + assert.ifError(err) + assert.deepStrictEqual(data, bsdata) + done() + }) + }) + + it('should error on an error', function (done) { + uscope.post('/test2', {}).reply(200, { + error: 'ThisBeAError', + errorMessage: 'Yep, you failed.' + }) + utils.call(google, 'test2', {}, undefined, function (err, data) { + assert.strictEqual(data, undefined) + assert.ok(err instanceof Error) + assert.strictEqual(err.message, 'Yep, you failed.') + done() + }) + }) + + afterEach(function () { + uscope.done() + }) + }) + + // mcHexDigest(sha1('catcatcat')) => -af59e5b1d5d92e5c2c2776ed0e65e90be181f2a + describe('mcHexDigest', function () { + it('should work against test data', function () { + // circa http://wiki.vg/Protocol_Encryption#Client + const testdata = { + Notch: '4ed1f46bbe04bc756bcb17c0c7ce3e4632f06a48', + jeb_: '-7c9d5b0044c130109a5d7b5fb5c317c02b4e28c1', + simon: '88e16a1019277b15d58faf0541e11910eb756f6', + dummy697: '-aa2358520428804697026992cf6035d7f096a00' // triggers 2's complement bug + } + + Object.keys(testdata).forEach(function (name) { + const hash = crypto.createHash('sha1').update(name).digest() + assert.strictEqual(utils.mcHexDigest(hash), testdata[name]) + }) + }) + + it('should handle negative hashes ending with a zero byte without crashing', function () { + assert.strictEqual(utils.mcHexDigest(Buffer.from([-1, 0])), '-100') + }) + }) +}) + +const cscope = nock('https://authserver.mojang.com') +const ygg = require('../lib/index')({}) + +describe('Yggdrasil', function () { + describe('auth', function () { + it('should work correctly', function (done) { + cscope.post('/authenticate', { + agent: { + version: 1, + name: 'Minecraft' + }, + username: 'cake', + password: 'hunter2', + clientToken: 'bacon', + requestUser: false + }).reply(200, { + worked: true + }) + ygg.auth({ + user: 'cake', + pass: 'hunter2', + token: 'bacon' + }, function (err, data) { // eslint-disable-line handle-callback-err + if (err) { + done(err) + return + } + assert.deepStrictEqual(data, { + worked: true + }) + done() + }) + }) + it('should work correctly with requestUser true', function (done) { + cscope.post('/authenticate', { + agent: { + version: 1, + name: 'Minecraft' + }, + username: 'cake', + password: 'hunter2', + clientToken: 'bacon', + requestUser: true + }).reply(200, { + worked: true + }) + ygg.auth({ + user: 'cake', + pass: 'hunter2', + token: 'bacon', + requestUser: true + }, function (err, data) { // eslint-disable-line handle-callback-err + if (err) { + done(err) + return + } + assert.deepStrictEqual(data, { + worked: true + }) + done() + }) + }) + }) + describe('refresh', function () { + it('should work correctly', function (done) { + cscope.post('/refresh', { + accessToken: 'bacon', + clientToken: 'not bacon', + requestUser: false + }).reply(200, { + accessToken: 'different bacon', + clientToken: 'not bacon' + }) + ygg.refresh('bacon', 'not bacon', function (err, token) { + assert.ifError(err) + assert.strictEqual(token, 'different bacon') + done() + }) + }) + it('should work correctly with requestUser true', function (done) { + cscope.post('/refresh', { + accessToken: 'bacon', + clientToken: 'not bacon', + requestUser: true + }).reply(200, { + accessToken: 'different bacon', + clientToken: 'not bacon', + user: { + id: '4ed1f46bbe04bc756bcb17c0c7ce3e4632f06a48', + properties: [] + } + }) + ygg.refresh('bacon', 'not bacon', true, function (err, token, data) { + assert.ifError(err) + assert.strictEqual(token, 'different bacon') + assert.ok(data.user) + assert.ok(data.user.properties) + assert.strictEqual(data.user.id, '4ed1f46bbe04bc756bcb17c0c7ce3e4632f06a48') + done() + }) + }) + it('should error on invalid clientToken', function (done) { + cscope.post('/refresh', { + accessToken: 'bacon', + clientToken: 'not bacon', + requestUser: false + }).reply(200, { + accessToken: 'different bacon', + clientToken: 'bacon' + }) + ygg.refresh('bacon', 'not bacon', function (err, token) { + assert.notStrictEqual(err, null) + assert.ok(err instanceof Error) + assert.strictEqual(err.message, 'clientToken assertion failed') + done() + }) + }) + }) + describe('validate', function () { + it('should return undefined on valid response', function (done) { + cscope.post('/validate', { + accessToken: 'a magical key' + }).reply(200) + ygg.validate('a magical key', function (err) { + assert.ifError(err) + done() + }) + }) + it('should return Error on error', function (done) { + cscope.post('/validate', { + accessToken: 'a magical key' + }).reply(403, { + error: 'UserEggError', + errorMessage: 'User is an egg' + }) + ygg.validate('a magical key', function (err) { + assert.ok(err instanceof Error) + assert.strictEqual(err.message, 'User is an egg') + done() + }) + }) + }) + afterEach(function () { + cscope.done() + }) +}) + +const sscope = nock('https://sessionserver.mojang.com') +const yggserver = require('../lib/index').server({}) + +describe('Yggdrasil.server', function () { + describe('join', function () { + it('should work correctly', function (done) { + sscope.post('/session/minecraft/join', { + accessToken: 'anAccessToken', + selectedProfile: 'aSelectedProfile', + serverId: '-af59e5b1d5d92e5c2c2776ed0e65e90be181f2a' + }).reply(200, { + worked: true + }) + + yggserver.join('anAccessToken', 'aSelectedProfile', 'cat', 'cat', 'cat', function (err, data) { // eslint-disable-line handle-callback-err + if (err) { + done(err) + return + } + assert.deepStrictEqual(data, { + worked: true + }) + done() + }) + }) + }) + + describe('hasJoined', function () { + it('should work correctly', function (done) { + sscope.get('/session/minecraft/hasJoined?username=ausername&serverId=-af59e5b1d5d92e5c2c2776ed0e65e90be181f2a').reply(200, { + id: 'cat', + worked: true + }) + + yggserver.hasJoined('ausername', 'cat', 'cat', 'cat', function (err, data) { + if (err) return done(err) + assert.deepStrictEqual(data, { + id: 'cat', + worked: true + }) + done() + }) + }) + it('should fail on a 200 empty response', function (done) { + sscope.get('/session/minecraft/hasJoined?username=ausername&serverId=-af59e5b1d5d92e5c2c2776ed0e65e90be181f2a').reply(200) + + yggserver.hasJoined('ausername', 'cat', 'cat', 'cat', function (err, data) { + assert.ok(err instanceof Error) + done() + }) + }) + }) + afterEach(function () { + sscope.done() + }) +}) diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..79d6dcda --- /dev/null +++ b/package-lock.json @@ -0,0 +1,522 @@ +{ + "name": "afkbot", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@xboxreplay/errors": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@xboxreplay/errors/-/errors-0.1.0.tgz", + "integrity": "sha512-Tgz1d/OIPDWPeyOvuL5+aai5VCcqObhPnlI3skQuf80GVF3k1I0lPCnGC+8Cm5PV9aLBT5m8qPcJoIUQ2U4y9g==" + }, + "@xboxreplay/xboxlive-auth": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@xboxreplay/xboxlive-auth/-/xboxlive-auth-3.3.0.tgz", + "integrity": "sha512-4bKgw35kq8NGxt2lGmBVXTdieTs1E+JGWrf/shMWpdLIhZ0okRTJ/bpBo/Foa9YZXka+8wWb0pQu92MWKacCFA==", + "requires": { + "@xboxreplay/errors": "^0.1.0", + "axios": "^0.19.2" + } + }, + "aes-js": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", + "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==" + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "asap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz", + "integrity": "sha1-sqRdpf36ILBJb8N2jMJ8EvqRan0=" + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "requires": { + "follow-redirects": "1.5.10" + } + }, + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=" + }, + "centra": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/centra/-/centra-2.4.2.tgz", + "integrity": "sha512-f1RaP0V1HqVNEXfLfjNBthB2yy3KnSGnPCnOPCFLUk9e/Z4rNJ8nBaJNnghflnp88mi1IT8mfmW+HlMS1/H+bg==" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "config": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/config/-/config-3.3.3.tgz", + "integrity": "sha512-T3RmZQEAji5KYqUQpziWtyGJFli6Khz7h0rpxDwYNjSkr5ynyTWwO7WpfjHzTXclNCDfSWQRcwMb+NwxJesCKw==", + "requires": { + "json5": "^2.1.1" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=" + }, + "endian-toggle": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/endian-toggle/-/endian-toggle-0.0.0.tgz", + "integrity": "sha1-5cx1eLEDLW7gHq/Nc3ZdsNtNwKY=" + }, + "event-promise": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/event-promise/-/event-promise-0.0.1.tgz", + "integrity": "sha1-7lmd9hNyaxLPhXTncU20gjx9uHc=", + "requires": { + "promise": "^5.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "requires": { + "minimist": "^1.2.5" + } + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.reduce": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + }, + "macaddress": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.5.1.tgz", + "integrity": "sha512-et8b+V48uHaOB2fyNhPWwlm2PenfcfkGmHUwuVT3lxFEhfwaKwq5VmM4Cw4MYDwMrujvF0ktA2sSJidCjZBSzg==" + }, + "minecraft-data": { + "version": "2.70.2", + "resolved": "https://registry.npmjs.org/minecraft-data/-/minecraft-data-2.70.2.tgz", + "integrity": "sha512-BM7I0/pbe4dyl9lgshGf/KtIhq6aHoED+7ByRb68dJgK988UHSmwAde4k3UCX3RMKM3dr+Tprs91wAxC2YuGwQ==" + }, + "minecraft-folder-path": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/minecraft-folder-path/-/minecraft-folder-path-1.1.0.tgz", + "integrity": "sha512-Qee3g4DjXIPdioUtXPXrsrIBb2CqC+dS9LD9yoWVhHEJo+c0xbzndHE0k9KWVJDo+sK3Kb106V0Xvsov9vqQMw==", + "requires": { + "user-settings-dir": "0.0.3" + } + }, + "minecraft-protocol": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/minecraft-protocol/-/minecraft-protocol-1.21.0.tgz", + "integrity": "sha512-Pb3IjJH3P2CBvHJMUVyHMtIAbkCMAlDWW2/yB12d9s4dQmXLyLiW2K87bOkjnRaoZBl9MrwrJfWcXvavGyZ/Fw==", + "requires": { + "@xboxreplay/xboxlive-auth": "^3.3.0", + "aes-js": "^3.1.2", + "buffer-equal": "^1.0.0", + "debug": "^4.1.0", + "endian-toggle": "^0.0.0", + "lodash.get": "^4.1.2", + "lodash.merge": "^4.3.0", + "minecraft-data": "^2.70.0", + "minecraft-folder-path": "^1.1.0", + "node-fetch": "^2.6.1", + "node-rsa": "^0.4.2", + "prismarine-nbt": "^1.3.0", + "protodef": "^1.8.0", + "readable-stream": "^3.0.6", + "uuid-1345": "^1.0.1", + "yggdrasil": "^1.4.0" + } + }, + "mineflayer": { + "version": "2.37.1", + "resolved": "https://registry.npmjs.org/mineflayer/-/mineflayer-2.37.1.tgz", + "integrity": "sha512-ngPwqHxvVljWxhpeW9E4BpGJ4uKmaSEyRoM9l0mvzR6RjyAvbajesVAw47T2f2FTpY61/iwbkrDQhPzUDEUnQw==", + "requires": { + "minecraft-data": "^2.70.0", + "minecraft-protocol": "^1.17.0", + "prismarine-biome": "^1.1.0", + "prismarine-block": "^1.6.0", + "prismarine-chat": "^1.0.0", + "prismarine-chunk": "^1.20.3", + "prismarine-entity": "^1.0.0", + "prismarine-item": "^1.5.0", + "prismarine-physics": "^1.0.4", + "prismarine-recipe": "^1.1.0", + "prismarine-windows": "^1.5.0", + "prismarine-world": "^3.1.0", + "protodef": "^1.8.0", + "typed-emitter": "^1.2.0", + "vec3": "^0.1.6" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mojangson": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/mojangson/-/mojangson-1.1.1.tgz", + "integrity": "sha512-CVZDJdiiLOibTBfzpDz1m7QfWlna9yOwaVTz+wHARtlc/nb9QFLvP8OWAqaPQ14ETa4pDRGhWVN9O8pjsPjEcg==", + "requires": { + "nearley": "^2.19.5" + } + }, + "moo": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz", + "integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "nearley": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz", + "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==", + "requires": { + "commander": "^2.19.0", + "moo": "^0.5.0", + "railroad-diagrams": "^1.0.0", + "randexp": "0.4.6" + } + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, + "node-rsa": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/node-rsa/-/node-rsa-0.4.2.tgz", + "integrity": "sha1-1jkXKewWqDDtWjgEKzFX0tXXJTA=", + "requires": { + "asn1": "0.2.3" + } + }, + "phin": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/phin/-/phin-3.5.1.tgz", + "integrity": "sha512-jgFO28IaiWAl0xk+zmqVx7neKVokWKU8YTQC5QlB45SZnEE53LH2saqJIcyIV557VX3Gk+TdR4rwWTc3P83DSA==", + "requires": { + "centra": "^2.4.2" + } + }, + "prismarine-biome": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/prismarine-biome/-/prismarine-biome-1.1.1.tgz", + "integrity": "sha512-JkX1CcIDR538j5Qj3pbLCTB2LsGukNOudWbk4niQ93a3fItLVJkPnY9H3/uxpVz2PIQxhmaAXVRaYWj6M9C2Bw==" + }, + "prismarine-block": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/prismarine-block/-/prismarine-block-1.7.2.tgz", + "integrity": "sha512-4ZBlGvIwC1k2Ig8hxVSX11wjLKhBq6u4fg9Y4IfbYKCtUnUiSVZzVTY0N3wNfWARcj8fofqH0UjQt4REjydqlA==", + "requires": { + "prismarine-biome": "^1.1.0" + } + }, + "prismarine-chat": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/prismarine-chat/-/prismarine-chat-1.0.3.tgz", + "integrity": "sha512-jNrM5tUBMSCPw/9AXxwq21nZUROWrm1uH/PKyUC/RRrbzuNP3RPPn/4gcFnyQKSUOe4HgSzvJEWlnrCIhSN/FA==", + "requires": { + "minecraft-data": "^2.62.1", + "mojangson": "^1.0.0", + "sprintf-js": "^1.1.2" + } + }, + "prismarine-chunk": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/prismarine-chunk/-/prismarine-chunk-1.20.3.tgz", + "integrity": "sha512-Rb1DyxrRo/D87qJjJh1cDoy3d7Qp+q1O8vLR5Jb7uNMekb370SlXI0Ka9lBZDZoNUQiNWAgJBip+zc0mSFr1lQ==", + "requires": { + "minecraft-data": "^2.61.0", + "prismarine-block": "^1.2.0", + "smart-buffer": "^4.1.0", + "uint4": "^0.1.2", + "vec3": "^0.1.3" + } + }, + "prismarine-entity": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/prismarine-entity/-/prismarine-entity-1.1.0.tgz", + "integrity": "sha512-PHa3zrCTcGWeGXBFmUWSOo9MwwkapriXpBeC8xIxt76ZTT8wz8QJ3jjN9fsmFAzKK/lMHV3hxIlvCOa4JF2w9g==", + "requires": { + "vec3": "^0.1.4" + } + }, + "prismarine-item": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/prismarine-item/-/prismarine-item-1.5.0.tgz", + "integrity": "sha512-O0Rpxn0kqHhkJAVJJK7SvkVyoNkBU7tRh7FrGJipg23B6j1cw8GtkSY10keupI2p0AcygA9TrlHBwomVLl7uYw==" + }, + "prismarine-nbt": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/prismarine-nbt/-/prismarine-nbt-1.3.0.tgz", + "integrity": "sha512-QDXP3uaoZGFo0WsTq6yTxL/s+Syt/7wKhD5Jlq+2Ilfx0b8r8h6SlrashUnhgin7S2JKDytvQRRJu0aZfCHhTQ==", + "requires": { + "protodef": "^1.7.0" + } + }, + "prismarine-physics": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/prismarine-physics/-/prismarine-physics-1.0.8.tgz", + "integrity": "sha512-3G0SsojMhA0IUEmU4RJ7ZsfUwsTp0eBmM/ql9Hfu+/SXRdOBtn6vn11lkxzj+gLkX0tnjOAz9UxIFgpV1EQSbA==", + "requires": { + "prismarine-nbt": "^1.3.0", + "vec3": "^0.1.6" + } + }, + "prismarine-recipe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/prismarine-recipe/-/prismarine-recipe-1.1.0.tgz", + "integrity": "sha512-eFmriEWoe6S6OSVbOJnsXpaBuzeIzjaGymDUTCtrOu80734NWKI7outdLI6R2ztJ+f2PFIkFmpkazAdScStGNA==" + }, + "prismarine-windows": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/prismarine-windows/-/prismarine-windows-1.6.0.tgz", + "integrity": "sha512-026LG1yR76Xb62kM+W83IWT7Wy2yKplllbXNFBF2m0Lr4k4YpYKnpLb8tRft8MLOLRbYAt/KnxE/YKvRZul7kw==", + "requires": { + "prismarine-item": "^1.4.0" + } + }, + "prismarine-world": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prismarine-world/-/prismarine-world-3.1.1.tgz", + "integrity": "sha512-7e890NjOD/D1sWn4BxEljo5WqZfuskR8Q/kttAlq0pW7vmkHTVDxAcKRPwngvBLYyfEe8cczI39sj25laBrGog==", + "requires": { + "event-promise": "0.0.1", + "vec3": "~0.1.3" + } + }, + "promise": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-5.0.0.tgz", + "integrity": "sha1-rEC3hmvteq95arW3m4AyXgR+wO8=", + "requires": { + "asap": "~1.0.0" + } + }, + "protodef": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/protodef/-/protodef-1.8.3.tgz", + "integrity": "sha512-q78K4/8rAwA8e7MU8+aqzO+DLAUOsjnpUAOHOh8AgzYBH9e8ugjtpkio0WI+gM6d2uwn3cz81xFlEchY8KJZtw==", + "requires": { + "lodash.get": "^4.4.2", + "lodash.reduce": "^4.6.0", + "protodef-validator": "^1.2.2", + "readable-stream": "^3.0.3" + } + }, + "protodef-validator": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/protodef-validator/-/protodef-validator-1.2.3.tgz", + "integrity": "sha512-dMcSMYRh8s0z0iQN0PLVlXwJOgN8cgBuM1uWzhMjkLdpKCOASwp+h7wHnTigBTRVhGLywykcb3EKiGSsXX4vvA==", + "requires": { + "ajv": "^6.5.4" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "railroad-diagrams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=" + }, + "randexp": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", + "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", + "requires": { + "discontinuous-range": "1.0.0", + "ret": "~0.1.10" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "smart-buffer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" + }, + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "typed-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/typed-emitter/-/typed-emitter-1.3.1.tgz", + "integrity": "sha512-2h7utWyXgd2R2u2IuL8B4yu1gqMxbgUj2VS/MGVbFhEVQNJKXoQQoS5CBMh+eW31zFeSmDfEQ3qQf4xy5SlPVQ==" + }, + "uint4": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/uint4/-/uint4-0.1.2.tgz", + "integrity": "sha1-UMWuBLhdKBKPLfPMDsxNQavC9oE=" + }, + "uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "requires": { + "punycode": "^2.1.0" + } + }, + "user-settings-dir": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/user-settings-dir/-/user-settings-dir-0.0.3.tgz", + "integrity": "sha1-mgLCvhLNbTQldHc5v4soTIHvqXc=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "uuid-1345": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uuid-1345/-/uuid-1345-1.0.2.tgz", + "integrity": "sha512-bA5zYZui+3nwAc0s3VdGQGBfbVsJLVX7Np7ch2aqcEWFi5lsAEcmO3+lx3djM1npgpZI8KY2FITZ2uYTnYUYyw==", + "requires": { + "macaddress": "^0.5.1" + } + }, + "vec3": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/vec3/-/vec3-0.1.7.tgz", + "integrity": "sha512-EZSeXBL+L3go2wWwtQQse4fEcNGIQjT14qvi4LYVj1ifZt/J5XZ1QZqkDuOVVH07YwTEIFbsAv3pzwUpF7x9Wg==" + }, + "yggdrasil": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/yggdrasil/-/yggdrasil-1.4.0.tgz", + "integrity": "sha512-pN4OFtvJ4WnbvGe6dSsOUx8C6I19Tzv2hVCcoIjekFOuL9zWc7C993z3STmCI6NuWVAgtQsLv+ciNVOWHIL/pA==", + "requires": { + "phin": "^3.4.1", + "uuid": "^8.2.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..ec005ff2 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "afkbot", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "node index.js" + }, + "author": "Beastifi3d", + "license": "ISC", + "dependencies": { + "config": "^3.3.3", + "fs": "0.0.1-security", + "mineflayer": "^2.37.1" + } +} diff --git a/wakemydyno.txt b/wakemydyno.txt new file mode 100644 index 00000000..4972e94a --- /dev/null +++ b/wakemydyno.txt @@ -0,0 +1 @@ +For wakemydyno.com